aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/admin.pngbin8449 -> 2852 bytes
-rw-r--r--app/bookmarks.apd2
-rw-r--r--app/bugreport.apd1
-rw-r--r--app/bugreport.pngbin5394 -> 4478 bytes
-rw-r--r--app/chat.apd2
-rw-r--r--app/chat.pngbin2194 -> 2544 bytes
-rw-r--r--app/connections.apd2
-rw-r--r--app/directory.pngbin12024 -> 4895 bytes
-rw-r--r--app/events.pngbin11242 -> 4118 bytes
-rw-r--r--app/features.pngbin7152 -> 8542 bytes
-rw-r--r--app/help.pngbin6889 -> 6697 bytes
-rw-r--r--app/home.pngbin5172 -> 6347 bytes
-rw-r--r--app/invite.pngbin5166 -> 6227 bytes
-rw-r--r--app/lang.pngbin7556 -> 6559 bytes
-rw-r--r--app/mail.pngbin6623 -> 4875 bytes
-rw-r--r--app/manage.pngbin9585 -> 7355 bytes
-rw-r--r--app/mood.pngbin5137 -> 6384 bytes
-rw-r--r--app/photos.pngbin13693 -> 4080 bytes
-rw-r--r--app/poke.pngbin14377 -> 2610 bytes
-rw-r--r--app/post.pngbin2850 -> 4394 bytes
-rw-r--r--app/pphoto.pngbin10229 -> 5498 bytes
-rw-r--r--app/probe.apd2
-rw-r--r--app/probe.pngbin10625 -> 7584 bytes
-rw-r--r--app/profile.apd4
-rw-r--r--app/profile.pngbin0 -> 3550 bytes
-rw-r--r--app/randprof.pngbin50762 -> 5268 bytes
-rw-r--r--app/search.pngbin8544 -> 8354 bytes
-rw-r--r--app/settings.pngbin7626 -> 7958 bytes
-rw-r--r--app/storage.pngbin5191 -> 3194 bytes
-rw-r--r--app/suggest.apd2
-rw-r--r--app/suggest.pngbin2164 -> 7225 bytes
-rw-r--r--app/webpages.apd2
-rw-r--r--app/webpages.pngbin8678 -> 9092 bytes
-rw-r--r--assets/home.html83
-rwxr-xr-xboot.php633
-rw-r--r--doc/AdvancedSearch.md1
-rw-r--r--doc/Comanche.md2
-rw-r--r--doc/Creating-Templates.md4
-rw-r--r--doc/DerivedTheme1.md3
-rw-r--r--doc/Developers.md2
-rw-r--r--doc/Features.md1
-rw-r--r--doc/Hooks.md1
-rw-r--r--doc/Plugins.md1
-rw-r--r--doc/Remove-Account.md1
-rw-r--r--doc/Schema-development.md2
-rw-r--r--doc/Tags-and-Mentions.md4
-rw-r--r--doc/Translations.md2
-rw-r--r--doc/Webpages.md4
-rw-r--r--doc/Widgets.md21
-rw-r--r--doc/Zot---A-High-Level-Overview.md4
-rw-r--r--doc/accounts_profiles_channels_basics.bb2
-rw-r--r--doc/api_posting.bb6
-rw-r--r--doc/bbcode.html8
-rw-r--r--doc/channels.bb2
-rw-r--r--doc/checking_account_quota_usage.bb9
-rw-r--r--doc/connecting_to_channels.md1
-rw-r--r--doc/de/channels.bb2
-rw-r--r--doc/de/main.bb7
-rw-r--r--doc/de/registration.bb2
-rw-r--r--doc/debian_install.bb4
-rw-r--r--doc/dev-function-overview.md1
-rw-r--r--doc/developers.bb3
-rw-r--r--doc/diaspora_compat.md10
-rw-r--r--doc/doco.bb33
-rw-r--r--doc/external-resource-links.bb7
-rw-r--r--doc/faq_admins.bb22
-rw-r--r--doc/features.bb151
-rw-r--r--doc/hidden_configs.bb48
-rw-r--r--doc/history.md49
-rw-r--r--doc/html/Contact_8php.html22
-rw-r--r--doc/html/Contact_8php.js1
-rw-r--r--doc/html/Importer_8php.html129
-rw-r--r--doc/html/README_8md.html2
-rw-r--r--doc/html/admin_8php.html26
-rw-r--r--doc/html/annotated.html45
-rw-r--r--doc/html/annotated.js1
-rw-r--r--doc/html/apw_2php_2style_8php.html14
-rw-r--r--doc/html/auth_8php.html45
-rw-r--r--doc/html/auth_8php.js1
-rw-r--r--doc/html/bbcode_8php.html38
-rw-r--r--doc/html/bbcode_8php.js2
-rw-r--r--doc/html/blocks_8php.html18
-rw-r--r--doc/html/blocks_8php.js3
-rw-r--r--doc/html/boot_8php.html657
-rw-r--r--doc/html/boot_8php.js22
-rw-r--r--doc/html/channel_8php.html1
-rw-r--r--doc/html/classApp-members.html89
-rw-r--r--doc/html/classApp.html163
-rw-r--r--doc/html/classApp.js7
-rw-r--r--doc/html/classItem-members.html70
-rw-r--r--doc/html/classItem.html116
-rw-r--r--doc/html/classItem.js4
-rw-r--r--doc/html/classRedMatrix_1_1Import_1_1Import-members.html132
-rw-r--r--doc/html/classRedMatrix_1_1Import_1_1Import.html447
-rw-r--r--doc/html/classRedMatrix_1_1Import_1_1Import.js18
-rw-r--r--doc/html/classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html4
-rw-r--r--doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser-members.html7
-rw-r--r--doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser.html42
-rw-r--r--doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser.js1
-rw-r--r--doc/html/classRedMatrix_1_1RedDAV_1_1RedDirectory.html4
-rw-r--r--doc/html/classRedmatrix_1_1Import_1_1Import-members.html132
-rw-r--r--doc/html/classRedmatrix_1_1Import_1_1Import.html447
-rw-r--r--doc/html/classRedmatrix_1_1Import_1_1Import.js18
-rw-r--r--doc/html/classdba__driver-members.html20
-rw-r--r--doc/html/classdba__driver.html289
-rw-r--r--doc/html/classdba__driver.js14
-rw-r--r--doc/html/classdba__driver.pngbin591 -> 823 bytes
-rw-r--r--doc/html/classdba__mysql-members.html20
-rw-r--r--doc/html/classdba__mysql.html49
-rw-r--r--doc/html/classdba__mysql.js1
-rw-r--r--doc/html/classdba__mysqli-members.html20
-rw-r--r--doc/html/classdba__mysqli.html49
-rw-r--r--doc/html/classdba__mysqli.js1
-rw-r--r--doc/html/classdba__postgres-members.html142
-rw-r--r--doc/html/classdba__postgres.html477
-rw-r--r--doc/html/classdba__postgres.js17
-rw-r--r--doc/html/classdba__postgres.pngbin0 -> 460 bytes
-rw-r--r--doc/html/classes.html18
-rw-r--r--doc/html/classphoto__driver.html2
-rw-r--r--doc/html/classphoto__gd.html4
-rw-r--r--doc/html/classphoto__imagick.html4
-rw-r--r--doc/html/cloud_8php.html12
-rw-r--r--doc/html/conversation_8php.html12
-rw-r--r--doc/html/crypto_8php.html6
-rw-r--r--doc/html/datetime_8php.html81
-rw-r--r--doc/html/datetime_8php.js3
-rw-r--r--doc/html/dba__driver_8php.html277
-rw-r--r--doc/html/dba__driver_8php.js11
-rw-r--r--doc/html/dba__postgres_8php.html120
-rw-r--r--doc/html/dir_21bc5169ff11430004758be31dcfc6c4.html3
-rw-r--r--doc/html/dir_21bc5169ff11430004758be31dcfc6c4.js3
-rw-r--r--doc/html/dir_23ec12649285f9fabf3a6b7380226c28.html2
-rw-r--r--doc/html/dir_23ec12649285f9fabf3a6b7380226c28.js1
-rw-r--r--doc/html/dir_7edbbd0f8c514efef79942dcdc21f738.html114
-rw-r--r--doc/html/dir_7edbbd0f8c514efef79942dcdc21f738.js7
-rw-r--r--doc/html/dir_8543001e5d25368a6edede3e63efb554.html2
-rw-r--r--doc/html/dir_8543001e5d25368a6edede3e63efb554.js1
-rw-r--r--doc/html/dir__fns_8php.html2
-rw-r--r--doc/html/dir_d41ce877eb409a4791b288730010abe2.html6
-rw-r--r--doc/html/dir_d41ce877eb409a4791b288730010abe2.js2
-rw-r--r--doc/html/dir_d44c64559bbebec7f509842c48db8b23.html9
-rw-r--r--doc/html/dir_d44c64559bbebec7f509842c48db8b23.js3
-rw-r--r--doc/html/dirsearch_8php.html42
-rw-r--r--doc/html/dirsearch_8php.js1
-rw-r--r--doc/html/docblox__errorchecker_8php.html2
-rw-r--r--doc/html/editblock_8php.html18
-rw-r--r--doc/html/editblock_8php.js3
-rw-r--r--doc/html/editlayout_8php.html18
-rw-r--r--doc/html/editlayout_8php.js3
-rw-r--r--doc/html/editwebpage_8php.html18
-rw-r--r--doc/html/editwebpage_8php.js3
-rw-r--r--doc/html/event_8php.html60
-rw-r--r--doc/html/event_8php.js3
-rw-r--r--doc/html/extract_8php.html6
-rw-r--r--doc/html/fbrowser_8php.html2
-rw-r--r--doc/html/features_8php.html4
-rw-r--r--doc/html/files.html449
-rw-r--r--doc/html/fixd_8php.html181
-rw-r--r--doc/html/fixd_8php.js7
-rw-r--r--doc/html/full_8php.html4
-rw-r--r--doc/html/functions.html36
-rw-r--r--doc/html/functions_0x63.html22
-rw-r--r--doc/html/functions_0x65.html10
-rw-r--r--doc/html/functions_0x67.html48
-rw-r--r--doc/html/functions_0x69.html8
-rw-r--r--doc/html/functions_0x6e.html4
-rw-r--r--doc/html/functions_0x6f.html4
-rw-r--r--doc/html/functions_0x71.html7
-rw-r--r--doc/html/functions_0x72.html11
-rw-r--r--doc/html/functions_0x73.html14
-rw-r--r--doc/html/functions_0x75.html11
-rw-r--r--doc/html/functions_func_0x63.html22
-rw-r--r--doc/html/functions_func_0x65.html10
-rw-r--r--doc/html/functions_func_0x67.html48
-rw-r--r--doc/html/functions_func_0x6f.html4
-rw-r--r--doc/html/functions_func_0x71.html7
-rw-r--r--doc/html/functions_func_0x72.html11
-rw-r--r--doc/html/functions_func_0x73.html14
-rw-r--r--doc/html/functions_func_0x75.html7
-rw-r--r--doc/html/functions_vars.html63
-rw-r--r--doc/html/globals.html28
-rw-r--r--doc/html/globals_0x62.html25
-rw-r--r--doc/html/globals_0x63.html6
-rw-r--r--doc/html/globals_0x64.html41
-rw-r--r--doc/html/globals_0x65.html13
-rw-r--r--doc/html/globals_0x66.html9
-rw-r--r--doc/html/globals_0x67.html18
-rw-r--r--doc/html/globals_0x68.html4
-rw-r--r--doc/html/globals_0x69.html10
-rw-r--r--doc/html/globals_0x6c.html14
-rw-r--r--doc/html/globals_0x6e.html6
-rw-r--r--doc/html/globals_0x70.html65
-rw-r--r--doc/html/globals_0x72.html51
-rw-r--r--doc/html/globals_0x73.html3
-rw-r--r--doc/html/globals_0x74.html9
-rw-r--r--doc/html/globals_0x75.html6
-rw-r--r--doc/html/globals_0x76.html33
-rw-r--r--doc/html/globals_0x77.html15
-rw-r--r--doc/html/globals_0x78.html5
-rw-r--r--doc/html/globals_0x7a.html13
-rw-r--r--doc/html/globals_func_0x62.html25
-rw-r--r--doc/html/globals_func_0x63.html6
-rw-r--r--doc/html/globals_func_0x64.html35
-rw-r--r--doc/html/globals_func_0x65.html9
-rw-r--r--doc/html/globals_func_0x66.html9
-rw-r--r--doc/html/globals_func_0x67.html18
-rw-r--r--doc/html/globals_func_0x68.html4
-rw-r--r--doc/html/globals_func_0x69.html3
-rw-r--r--doc/html/globals_func_0x6c.html14
-rw-r--r--doc/html/globals_func_0x70.html50
-rw-r--r--doc/html/globals_func_0x72.html30
-rw-r--r--doc/html/globals_func_0x73.html3
-rw-r--r--doc/html/globals_func_0x74.html11
-rw-r--r--doc/html/globals_func_0x75.html6
-rw-r--r--doc/html/globals_func_0x77.html15
-rw-r--r--doc/html/globals_func_0x78.html2
-rw-r--r--doc/html/globals_func_0x7a.html13
-rw-r--r--doc/html/globals_vars.html29
-rw-r--r--doc/html/globals_vars.js1
-rw-r--r--doc/html/globals_vars_0x61.html1
-rw-r--r--doc/html/globals_vars_0x63.html1
-rw-r--r--doc/html/globals_vars_0x64.html7
-rw-r--r--doc/html/globals_vars_0x65.html1
-rw-r--r--doc/html/globals_vars_0x66.html1
-rw-r--r--doc/html/globals_vars_0x67.html1
-rw-r--r--doc/html/globals_vars_0x68.html1
-rw-r--r--doc/html/globals_vars_0x69.html1
-rw-r--r--doc/html/globals_vars_0x6a.html1
-rw-r--r--doc/html/globals_vars_0x6b.html1
-rw-r--r--doc/html/globals_vars_0x6c.html1
-rw-r--r--doc/html/globals_vars_0x6d.html1
-rw-r--r--doc/html/globals_vars_0x6e.html7
-rw-r--r--doc/html/globals_vars_0x70.html16
-rw-r--r--doc/html/globals_vars_0x72.html22
-rw-r--r--doc/html/globals_vars_0x73.html1
-rw-r--r--doc/html/globals_vars_0x74.html1
-rw-r--r--doc/html/globals_vars_0x75.html1
-rw-r--r--doc/html/globals_vars_0x76.html179
-rw-r--r--doc/html/globals_vars_0x77.html1
-rw-r--r--doc/html/globals_vars_0x78.html4
-rw-r--r--doc/html/globals_vars_0x7a.html1
-rw-r--r--doc/html/hierarchy.html76
-rw-r--r--doc/html/hierarchy.js4
-rw-r--r--doc/html/home_8php.html26
-rw-r--r--doc/html/home_8php.js2
-rw-r--r--doc/html/html2bbcode_8php.html2
-rw-r--r--doc/html/html2plain_8php.html2
-rw-r--r--doc/html/hubloc_8php.html2
-rw-r--r--doc/html/identity_8php.html38
-rw-r--r--doc/html/identity_8php.js1
-rw-r--r--doc/html/include_2config_8php.html14
-rw-r--r--doc/html/include_2group_8php.html6
-rw-r--r--doc/html/include_2network_8php.html6
-rw-r--r--doc/html/include_2photos_8php.html4
-rw-r--r--doc/html/item_8php.html66
-rw-r--r--doc/html/item_8php.js1
-rw-r--r--doc/html/items_8php.html54
-rw-r--r--doc/html/items_8php.js4
-rw-r--r--doc/html/language_8php.html16
-rw-r--r--doc/html/layouts_8php.html18
-rw-r--r--doc/html/layouts_8php.js3
-rw-r--r--doc/html/locs_8php.html48
-rw-r--r--doc/html/locs_8php.js1
-rw-r--r--doc/html/mod_2network_8php.html1
-rw-r--r--doc/html/namespaceRedMatrix.html9
-rw-r--r--doc/html/namespaceRedMatrix.js1
-rw-r--r--doc/html/namespaceRedMatrix_1_1Import.html120
-rw-r--r--doc/html/namespaceRedMatrix_1_1Import.js4
-rw-r--r--doc/html/namespaceRedmatrix_1_1Import.html120
-rw-r--r--doc/html/namespaceRedmatrix_1_1Import.js4
-rw-r--r--doc/html/namespaces.html9
-rw-r--r--doc/html/navtree.js18
-rw-r--r--doc/html/navtreeindex0.js354
-rw-r--r--doc/html/navtreeindex1.js434
-rw-r--r--doc/html/navtreeindex2.js402
-rw-r--r--doc/html/navtreeindex3.js264
-rw-r--r--doc/html/navtreeindex4.js326
-rw-r--r--doc/html/navtreeindex5.js484
-rw-r--r--doc/html/navtreeindex6.js476
-rw-r--r--doc/html/navtreeindex7.js476
-rw-r--r--doc/html/navtreeindex8.js500
-rw-r--r--doc/html/navtreeindex9.js225
-rw-r--r--doc/html/notifier_8php.html1
-rw-r--r--doc/html/permissions_8php.html82
-rw-r--r--doc/html/permissions_8php.js2
-rw-r--r--doc/html/php2po_8php.html6
-rw-r--r--doc/html/php_2default_8php.html4
-rw-r--r--doc/html/php_2theme__init_8php.html2
-rw-r--r--doc/html/ping_8php.html2
-rw-r--r--doc/html/plugin_8php.html8
-rw-r--r--doc/html/po2php_8php.html20
-rw-r--r--doc/html/po2php_8php.js3
-rw-r--r--doc/html/redable_8php.html4
-rw-r--r--doc/html/redbasic_2php_2theme_8php.html2
-rw-r--r--doc/html/reddav_8php.html10
-rw-r--r--doc/html/refimport_8php.html381
-rw-r--r--doc/html/refimport_8php.js16
-rw-r--r--doc/html/search/all_24.js22
-rw-r--r--doc/html/search/all_62.js9
-rw-r--r--doc/html/search/all_63.js16
-rw-r--r--doc/html/search/all_64.js22
-rw-r--r--doc/html/search/all_65.js7
-rw-r--r--doc/html/search/all_66.js6
-rw-r--r--doc/html/search/all_67.js18
-rw-r--r--doc/html/search/all_68.js4
-rw-r--r--doc/html/search/all_69.js4
-rw-r--r--doc/html/search/all_6c.js6
-rw-r--r--doc/html/search/all_6e.js4
-rw-r--r--doc/html/search/all_6f.js1
-rw-r--r--doc/html/search/all_70.js26
-rw-r--r--doc/html/search/all_71.js3
-rw-r--r--doc/html/search/all_72.js23
-rw-r--r--doc/html/search/all_73.js8
-rw-r--r--doc/html/search/all_74.js14
-rw-r--r--doc/html/search/all_75.js6
-rw-r--r--doc/html/search/all_76.js11
-rw-r--r--doc/html/search/all_77.js7
-rw-r--r--doc/html/search/all_78.js3
-rw-r--r--doc/html/search/all_7a.js7
-rw-r--r--doc/html/search/classes_64.js3
-rw-r--r--doc/html/search/classes_69.js1
-rw-r--r--doc/html/search/files_63.js5
-rw-r--r--doc/html/search/files_64.js4
-rw-r--r--doc/html/search/files_66.js3
-rw-r--r--doc/html/search/files_69.js1
-rw-r--r--doc/html/search/files_70.js1
-rw-r--r--doc/html/search/files_72.js4
-rw-r--r--doc/html/search/files_74.js13
-rw-r--r--doc/html/search/files_75.js1
-rw-r--r--doc/html/search/functions_62.js9
-rw-r--r--doc/html/search/functions_63.js11
-rw-r--r--doc/html/search/functions_64.js13
-rw-r--r--doc/html/search/functions_65.js7
-rw-r--r--doc/html/search/functions_66.js3
-rw-r--r--doc/html/search/functions_67.js18
-rw-r--r--doc/html/search/functions_68.js4
-rw-r--r--doc/html/search/functions_69.js1
-rw-r--r--doc/html/search/functions_6c.js6
-rw-r--r--doc/html/search/functions_6f.js1
-rw-r--r--doc/html/search/functions_70.js18
-rw-r--r--doc/html/search/functions_71.js3
-rw-r--r--doc/html/search/functions_72.js11
-rw-r--r--doc/html/search/functions_73.js4
-rw-r--r--doc/html/search/functions_74.js7
-rw-r--r--doc/html/search/functions_75.js6
-rw-r--r--doc/html/search/functions_77.js7
-rw-r--r--doc/html/search/functions_78.js2
-rw-r--r--doc/html/search/functions_7a.js7
-rw-r--r--doc/html/search/namespaces_72.js1
-rw-r--r--doc/html/search/search.js2
-rw-r--r--doc/html/search/variables_24.js22
-rw-r--r--doc/html/search/variables_64.js2
-rw-r--r--doc/html/search/variables_69.js1
-rw-r--r--doc/html/search/variables_6e.js4
-rw-r--r--doc/html/search/variables_70.js7
-rw-r--r--doc/html/search/variables_72.js7
-rw-r--r--doc/html/search/variables_75.js3
-rw-r--r--doc/html/search/variables_76.html26
-rw-r--r--doc/html/search/variables_76.js14
-rw-r--r--doc/html/search/variables_78.js1
-rw-r--r--doc/html/security_8php.html59
-rw-r--r--doc/html/setup_8php.html2
-rw-r--r--doc/html/socgraph_8php.html2
-rw-r--r--doc/html/taxonomy_8php.html112
-rw-r--r--doc/html/taxonomy_8php.js4
-rw-r--r--doc/html/text_8php.html196
-rw-r--r--doc/html/text_8php.js4
-rw-r--r--doc/html/theme_2mytheme_2php_2default_8php.html4
-rw-r--r--doc/html/todo.html18
-rw-r--r--doc/html/typo_8php.html2
-rw-r--r--doc/html/typohelper_8php.html2
-rw-r--r--doc/html/uexport_8php.html18
-rw-r--r--doc/html/uexport_8php.js1
-rw-r--r--doc/html/update__home_8php.html137
-rw-r--r--doc/html/update__home_8php.js4
-rw-r--r--doc/html/webpages_8php.html18
-rw-r--r--doc/html/webpages_8php.js3
-rw-r--r--doc/html/widgets_8php.html62
-rw-r--r--doc/html/widgets_8php.js3
-rw-r--r--doc/html/zot_8php.html63
-rw-r--r--doc/html/zot_8php.js5
-rw-r--r--doc/intro_for_developers.bb2
-rw-r--r--doc/main.bb7
-rw-r--r--doc/roadmap.bb49
-rw-r--r--doc/roles.md4
-rw-r--r--doc/sql_conventions.bb87
-rw-r--r--doc/to_do_code.bb1
-rw-r--r--doc/to_do_doco.md2
-rw-r--r--doc/zot.md2
-rw-r--r--doc/zot_structures.md3
-rw-r--r--include/Contact.php124
-rw-r--r--include/Import/Importer.php82
-rw-r--r--include/Import/refimport.php280
-rw-r--r--include/ItemObject.php82
-rw-r--r--include/RedDAV/RedBasicAuth.php7
-rw-r--r--include/RedDAV/RedBrowser.php89
-rw-r--r--include/RedDAV/RedDirectory.php16
-rw-r--r--include/RedDAV/RedFile.php10
-rw-r--r--include/account.php31
-rw-r--r--include/acl_selectors.php2
-rw-r--r--include/activities.php6
-rw-r--r--include/api.php52
-rw-r--r--include/apps.php117
-rw-r--r--include/attach.php29
-rw-r--r--include/auth.php26
-rw-r--r--include/bb2diaspora.php30
-rw-r--r--include/bbcode.php46
-rw-r--r--include/cache.php2
-rw-r--r--include/chat.php13
-rw-r--r--include/cli_startup.php4
-rw-r--r--include/config.php16
-rw-r--r--include/contact_widgets.php3
-rw-r--r--include/conversation.php101
-rw-r--r--include/datetime.php111
-rwxr-xr-xinclude/dba/dba_driver.php300
-rwxr-xr-xinclude/dba/dba_mysql.php4
-rwxr-xr-xinclude/dba/dba_mysqli.php6
-rw-r--r--include/dba/dba_postgres.php116
-rw-r--r--include/deliver.php36
-rwxr-xr-xinclude/diaspora.php32
-rw-r--r--include/dir_fns.php42
-rw-r--r--include/directory.php4
-rw-r--r--include/enotify.php21
-rw-r--r--include/event.php56
-rw-r--r--include/expire.php10
-rw-r--r--include/externals.php11
-rw-r--r--include/features.php5
-rw-r--r--include/fixd.php33
-rw-r--r--include/follow.php15
-rw-r--r--include/group.php11
-rw-r--r--include/hubloc.php10
-rw-r--r--include/identity.php63
-rwxr-xr-xinclude/items.php144
-rw-r--r--include/language.php30
-rw-r--r--include/menu.php6
-rw-r--r--include/message.php8
-rw-r--r--include/nav.php57
-rw-r--r--include/network.php38
-rw-r--r--include/notifier.php90
-rw-r--r--include/onedirsync.php26
-rw-r--r--include/onepoll.php36
-rw-r--r--include/permissions.php306
-rw-r--r--include/photo/photo_driver.php14
-rw-r--r--include/photos.php11
-rwxr-xr-xinclude/plugin.php8
-rw-r--r--include/poller.php96
-rw-r--r--include/queue.php24
-rw-r--r--include/queue_fn.php4
-rw-r--r--include/reddav.php22
-rw-r--r--include/security.php150
-rw-r--r--include/session.php11
-rw-r--r--include/socgraph.php57
-rw-r--r--include/statistics_fns.php20
-rw-r--r--include/taxonomy.php44
-rw-r--r--include/text.php782
-rw-r--r--include/widgets.php295
-rw-r--r--include/zot.php337
-rwxr-xr-xindex.php9
-rw-r--r--install/database-w-defaults-v1131.diff1914
-rw-r--r--install/database.sql1228
-rw-r--r--install/migrate-mypg.php357
-rw-r--r--install/migrate_mypg_fixseq.sql55
-rw-r--r--install/schema_mysql.sql1591
-rw-r--r--install/schema_postgres.sql1190
-rw-r--r--install/update.php22
-rw-r--r--library/HTMLPurifier.autoload.php8
-rw-r--r--library/HTMLPurifier.composer.php4
-rw-r--r--library/HTMLPurifier.func.php8
-rw-r--r--library/HTMLPurifier.includes.php21
-rw-r--r--library/HTMLPurifier.kses.php4
-rw-r--r--library/HTMLPurifier.php137
-rw-r--r--library/HTMLPurifier.safe-includes.php19
-rw-r--r--library/HTMLPurifier/Arborize.php71
-rw-r--r--library/HTMLPurifier/AttrCollections.php53
-rw-r--r--library/HTMLPurifier/AttrDef.php53
-rw-r--r--library/HTMLPurifier/AttrDef/CSS.php39
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/AlphaValue.php27
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Background.php60
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php54
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Border.php21
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Color.php67
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Composite.php22
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php28
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Filter.php49
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Font.php89
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/FontFamily.php185
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Ident.php32
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php28
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Length.php60
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/ListStyle.php78
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Multiple.php31
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Number.php45
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/Percentage.php36
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/TextDecoration.php20
-rw-r--r--library/HTMLPurifier/AttrDef/CSS/URI.php38
-rw-r--r--library/HTMLPurifier/AttrDef/Clone.php44
-rw-r--r--library/HTMLPurifier/AttrDef/Enum.php28
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/Bool.php35
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/Class.php22
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/Color.php45
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/FrameTarget.php25
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/ID.php71
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/Length.php41
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/LinkTypes.php43
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/MultiLength.php51
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/Nmtokens.php40
-rw-r--r--library/HTMLPurifier/AttrDef/HTML/Pixels.php60
-rw-r--r--library/HTMLPurifier/AttrDef/Integer.php56
-rw-r--r--library/HTMLPurifier/AttrDef/Lang.php39
-rw-r--r--library/HTMLPurifier/AttrDef/Switch.php27
-rw-r--r--library/HTMLPurifier/AttrDef/Text.php10
-rw-r--r--library/HTMLPurifier/AttrDef/URI.php72
-rw-r--r--library/HTMLPurifier/AttrDef/URI/Email.php5
-rw-r--r--library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php14
-rw-r--r--library/HTMLPurifier/AttrDef/URI/Host.php104
-rw-r--r--library/HTMLPurifier/AttrDef/URI/IPv4.php28
-rw-r--r--library/HTMLPurifier/AttrDef/URI/IPv6.php106
-rw-r--r--library/HTMLPurifier/AttrTransform.php28
-rw-r--r--library/HTMLPurifier/AttrTransform/Background.php21
-rw-r--r--library/HTMLPurifier/AttrTransform/BdoDir.php14
-rw-r--r--library/HTMLPurifier/AttrTransform/BgColor.php21
-rw-r--r--library/HTMLPurifier/AttrTransform/BoolToCSS.php33
-rw-r--r--library/HTMLPurifier/AttrTransform/Border.php18
-rw-r--r--library/HTMLPurifier/AttrTransform/EnumToCSS.php46
-rw-r--r--library/HTMLPurifier/AttrTransform/ImgRequired.php19
-rw-r--r--library/HTMLPurifier/AttrTransform/ImgSpace.php39
-rw-r--r--library/HTMLPurifier/AttrTransform/Input.php34
-rw-r--r--library/HTMLPurifier/AttrTransform/Lang.php15
-rw-r--r--library/HTMLPurifier/AttrTransform/Length.php28
-rw-r--r--library/HTMLPurifier/AttrTransform/Name.php22
-rw-r--r--library/HTMLPurifier/AttrTransform/NameSync.php28
-rw-r--r--library/HTMLPurifier/AttrTransform/Nofollow.php52
-rw-r--r--library/HTMLPurifier/AttrTransform/SafeEmbed.php12
-rw-r--r--library/HTMLPurifier/AttrTransform/SafeObject.php16
-rw-r--r--library/HTMLPurifier/AttrTransform/SafeParam.php29
-rw-r--r--library/HTMLPurifier/AttrTransform/ScriptRequired.php9
-rw-r--r--library/HTMLPurifier/AttrTransform/TargetBlank.php45
-rw-r--r--library/HTMLPurifier/AttrTransform/Textarea.php19
-rw-r--r--library/HTMLPurifier/AttrTypes.php45
-rw-r--r--library/HTMLPurifier/AttrValidator.php66
-rw-r--r--library/HTMLPurifier/Bootstrap.php90
-rw-r--r--library/HTMLPurifier/CSSDefinition.php452
-rw-r--r--library/HTMLPurifier/ChildDef.php26
-rw-r--r--library/HTMLPurifier/ChildDef/Chameleon.php33
-rw-r--r--library/HTMLPurifier/ChildDef/Custom.php56
-rw-r--r--library/HTMLPurifier/ChildDef/Empty.php22
-rw-r--r--library/HTMLPurifier/ChildDef/List.php86
-rw-r--r--library/HTMLPurifier/ChildDef/Optional.php31
-rw-r--r--library/HTMLPurifier/ChildDef/Required.php103
-rw-r--r--library/HTMLPurifier/ChildDef/StrictBlockquote.php96
-rw-r--r--library/HTMLPurifier/ChildDef/Table.php302
-rw-r--r--library/HTMLPurifier/Config.php681
-rw-r--r--library/HTMLPurifier/ConfigSchema.php78
-rw-r--r--library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php8
-rw-r--r--library/HTMLPurifier/ConfigSchema/Builder/Xml.php94
-rw-r--r--library/HTMLPurifier/ConfigSchema/Interchange.php11
-rw-r--r--library/HTMLPurifier/ConfigSchema/Interchange/Directive.php28
-rw-r--r--library/HTMLPurifier/ConfigSchema/Interchange/Id.php33
-rw-r--r--library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php90
-rw-r--r--library/HTMLPurifier/ConfigSchema/Validator.php90
-rw-r--r--library/HTMLPurifier/ConfigSchema/ValidatorAtom.php108
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema.serbin13244 -> 15000 bytes
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt12
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt13
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt9
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt11
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt16
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt3
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt14
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt9
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt6
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt11
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt11
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt5
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt11
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt10
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt15
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt17
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt11
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt7
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt13
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt10
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt8
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt1
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt15
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt4
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt7
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt2
-rw-r--r--library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt22
-rw-r--r--library/HTMLPurifier/ContentSets.php55
-rw-r--r--library/HTMLPurifier/Context.php61
-rw-r--r--library/HTMLPurifier/Definition.php26
-rw-r--r--library/HTMLPurifier/DefinitionCache.php57
-rw-r--r--library/HTMLPurifier/DefinitionCache/Decorator.php76
-rw-r--r--library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php61
-rw-r--r--library/HTMLPurifier/DefinitionCache/Decorator/Memory.php65
-rw-r--r--library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in59
-rw-r--r--library/HTMLPurifier/DefinitionCache/Null.php53
-rw-r--r--library/HTMLPurifier/DefinitionCache/Serializer.php235
-rwxr-xr-x[-rw-r--r--]library/HTMLPurifier/DefinitionCache/Serializer/README0
-rw-r--r--library/HTMLPurifier/DefinitionCacheFactory.php47
-rw-r--r--library/HTMLPurifier/Doctype.php17
-rw-r--r--library/HTMLPurifier/DoctypeRegistry.php87
-rw-r--r--library/HTMLPurifier/ElementDef.php85
-rw-r--r--library/HTMLPurifier/Encoder.php301
-rw-r--r--library/HTMLPurifier/EntityLookup.php16
-rw-r--r--library/HTMLPurifier/EntityLookup/entities.ser2
-rw-r--r--library/HTMLPurifier/EntityParser.php53
-rw-r--r--library/HTMLPurifier/ErrorCollector.php87
-rw-r--r--library/HTMLPurifier/ErrorStruct.php20
-rw-r--r--library/HTMLPurifier/Filter.php18
-rw-r--r--library/HTMLPurifier/Filter/ExtractStyleBlocks.php257
-rw-r--r--library/HTMLPurifier/Filter/YouTube.php56
-rw-r--r--library/HTMLPurifier/Generator.php164
-rw-r--r--library/HTMLPurifier/HTMLDefinition.php211
-rw-r--r--library/HTMLPurifier/HTMLModule.php122
-rw-r--r--library/HTMLPurifier/HTMLModule/Bdo.php21
-rw-r--r--library/HTMLPurifier/HTMLModule/CommonAttributes.php7
-rw-r--r--library/HTMLPurifier/HTMLModule/Edit.php25
-rw-r--r--library/HTMLPurifier/HTMLModule/Forms.php216
-rw-r--r--library/HTMLPurifier/HTMLModule/Hypertext.php15
-rw-r--r--library/HTMLPurifier/HTMLModule/Iframe.php51
-rw-r--r--library/HTMLPurifier/HTMLModule/Image.php17
-rw-r--r--library/HTMLPurifier/HTMLModule/Legacy.php89
-rw-r--r--library/HTMLPurifier/HTMLModule/List.php28
-rw-r--r--library/HTMLPurifier/HTMLModule/Name.php13
-rw-r--r--library/HTMLPurifier/HTMLModule/Nofollow.php25
-rw-r--r--library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php6
-rw-r--r--library/HTMLPurifier/HTMLModule/Object.php31
-rw-r--r--library/HTMLPurifier/HTMLModule/Presentation.php26
-rw-r--r--library/HTMLPurifier/HTMLModule/Proprietary.php19
-rw-r--r--library/HTMLPurifier/HTMLModule/Ruby.php17
-rw-r--r--library/HTMLPurifier/HTMLModule/SafeEmbed.php20
-rw-r--r--library/HTMLPurifier/HTMLModule/SafeObject.php33
-rw-r--r--library/HTMLPurifier/HTMLModule/SafeScripting.php40
-rw-r--r--library/HTMLPurifier/HTMLModule/Scripting.php31
-rw-r--r--library/HTMLPurifier/HTMLModule/StyleAttribute.php15
-rw-r--r--library/HTMLPurifier/HTMLModule/Tables.php29
-rw-r--r--library/HTMLPurifier/HTMLModule/Target.php11
-rw-r--r--library/HTMLPurifier/HTMLModule/TargetBlank.php24
-rw-r--r--library/HTMLPurifier/HTMLModule/Text.php56
-rw-r--r--library/HTMLPurifier/HTMLModule/Tidy.php85
-rw-r--r--library/HTMLPurifier/HTMLModule/Tidy/Name.php15
-rw-r--r--library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php14
-rw-r--r--library/HTMLPurifier/HTMLModule/Tidy/Strict.php28
-rw-r--r--library/HTMLPurifier/HTMLModule/Tidy/Transitional.php7
-rw-r--r--library/HTMLPurifier/HTMLModule/Tidy/XHTML.php15
-rw-r--r--library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php146
-rw-r--r--library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php6
-rw-r--r--library/HTMLPurifier/HTMLModuleManager.php166
-rw-r--r--library/HTMLPurifier/IDAccumulator.php24
-rw-r--r--library/HTMLPurifier/Injector.php198
-rw-r--r--library/HTMLPurifier/Injector/AutoParagraph.php99
-rw-r--r--library/HTMLPurifier/Injector/DisplayLinkURI.php22
-rw-r--r--library/HTMLPurifier/Injector/Linkify.php27
-rw-r--r--library/HTMLPurifier/Injector/PurifierLinkify.php46
-rw-r--r--library/HTMLPurifier/Injector/RemoveEmpty.php82
-rw-r--r--library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php36
-rw-r--r--library/HTMLPurifier/Injector/SafeObject.php53
-rw-r--r--library/HTMLPurifier/Language.php97
-rw-r--r--library/HTMLPurifier/Language/classes/en-x-test.php3
-rw-r--r--library/HTMLPurifier/Language/messages/en.php90
-rw-r--r--library/HTMLPurifier/LanguageFactory.php81
-rw-r--r--library/HTMLPurifier/Length.php91
-rw-r--r--library/HTMLPurifier/Lexer.php191
-rw-r--r--library/HTMLPurifier/Lexer/DOMLex.php161
-rw-r--r--library/HTMLPurifier/Lexer/DirectLex.php217
-rw-r--r--library/HTMLPurifier/Lexer/PEARSax3.php139
-rw-r--r--library/HTMLPurifier/Lexer/PH5P.php4324
-rw-r--r--library/HTMLPurifier/Node.php49
-rw-r--r--library/HTMLPurifier/Node/Comment.php36
-rw-r--r--library/HTMLPurifier/Node/Element.php59
-rw-r--r--library/HTMLPurifier/Node/Text.php54
-rw-r--r--library/HTMLPurifier/PercentEncoder.php37
-rw-r--r--library/HTMLPurifier/Printer.php134
-rw-r--r--library/HTMLPurifier/Printer/CSSDefinition.php12
-rw-r--r--library/HTMLPurifier/Printer/ConfigForm.php257
-rw-r--r--library/HTMLPurifier/Printer/HTMLDefinition.php214
-rw-r--r--library/HTMLPurifier/PropertyList.php68
-rw-r--r--library/HTMLPurifier/PropertyListIterator.php22
-rw-r--r--library/HTMLPurifier/Queue.php56
-rw-r--r--library/HTMLPurifier/Strategy.php8
-rw-r--r--library/HTMLPurifier/Strategy/Composite.php13
-rw-r--r--library/HTMLPurifier/Strategy/Core.php5
-rw-r--r--library/HTMLPurifier/Strategy/FixNesting.php349
-rw-r--r--library/HTMLPurifier/Strategy/MakeWellFormed.php379
-rw-r--r--library/HTMLPurifier/Strategy/RemoveForeignElements.php94
-rw-r--r--library/HTMLPurifier/Strategy/ValidateAttributes.php22
-rw-r--r--library/HTMLPurifier/StringHash.php16
-rw-r--r--library/HTMLPurifier/StringHashParser.php52
-rw-r--r--library/HTMLPurifier/TagTransform.php15
-rw-r--r--library/HTMLPurifier/TagTransform/Font.php42
-rw-r--r--library/HTMLPurifier/TagTransform/Simple.php21
-rw-r--r--library/HTMLPurifier/Token.php81
-rw-r--r--library/HTMLPurifier/Token/Comment.php24
-rw-r--r--library/HTMLPurifier/Token/Empty.php6
-rw-r--r--library/HTMLPurifier/Token/End.php9
-rw-r--r--library/HTMLPurifier/Token/Start.php1
-rw-r--r--library/HTMLPurifier/Token/Tag.php22
-rw-r--r--library/HTMLPurifier/Token/Text.php34
-rw-r--r--library/HTMLPurifier/TokenFactory.php80
-rw-r--r--library/HTMLPurifier/URI.php257
-rw-r--r--library/HTMLPurifier/URIDefinition.php39
-rw-r--r--library/HTMLPurifier/URIFilter.php45
-rw-r--r--library/HTMLPurifier/URIFilter/DisableExternal.php45
-rw-r--r--library/HTMLPurifier/URIFilter/DisableExternalResources.php17
-rw-r--r--library/HTMLPurifier/URIFilter/DisableResources.php22
-rw-r--r--library/HTMLPurifier/URIFilter/HostBlacklist.php31
-rw-r--r--library/HTMLPurifier/URIFilter/MakeAbsolute.php74
-rw-r--r--library/HTMLPurifier/URIFilter/Munge.php91
-rw-r--r--library/HTMLPurifier/URIFilter/SafeIframe.php68
-rw-r--r--library/HTMLPurifier/URIParser.php9
-rw-r--r--library/HTMLPurifier/URIScheme.php88
-rw-r--r--library/HTMLPurifier/URIScheme/data.php58
-rw-r--r--library/HTMLPurifier/URIScheme/file.php44
-rw-r--r--library/HTMLPurifier/URIScheme/ftp.php29
-rw-r--r--library/HTMLPurifier/URIScheme/http.php26
-rw-r--r--library/HTMLPurifier/URIScheme/https.php12
-rw-r--r--library/HTMLPurifier/URIScheme/mailto.php23
-rw-r--r--library/HTMLPurifier/URIScheme/news.php29
-rw-r--r--library/HTMLPurifier/URIScheme/nntp.php24
-rw-r--r--library/HTMLPurifier/URISchemeRegistry.php41
-rw-r--r--library/HTMLPurifier/UnitConverter.php117
-rw-r--r--library/HTMLPurifier/VarParser.php152
-rw-r--r--library/HTMLPurifier/VarParser/Flexible.php88
-rw-r--r--library/HTMLPurifier/VarParser/Native.php18
-rw-r--r--library/HTMLPurifier/Zipper.php157
-rw-r--r--library/Smarty/README4
-rw-r--r--library/Smarty/SMARTY_3.1_NOTES.txt2
-rw-r--r--library/Smarty/change_log.txt357
-rw-r--r--library/Smarty/demo/index.php25
-rw-r--r--library/Smarty/demo/plugins/cacheresource.apc.php28
-rw-r--r--library/Smarty/demo/plugins/cacheresource.memcache.php36
-rw-r--r--library/Smarty/demo/plugins/cacheresource.mysql.php96
-rw-r--r--library/Smarty/demo/plugins/resource.extendsall.php32
-rw-r--r--library/Smarty/demo/plugins/resource.mysql.php35
-rw-r--r--library/Smarty/demo/plugins/resource.mysqls.php28
-rw-r--r--library/Smarty/demo/templates/header.tpl2
-rw-r--r--library/Smarty/demo/templates/index.tpl91
-rw-r--r--library/Smarty/libs/Smarty.class.php513
-rw-r--r--library/Smarty/libs/SmartyBC.class.php927
-rw-r--r--library/Smarty/libs/debug.tpl256
-rw-r--r--library/Smarty/libs/plugins/block.textformat.php21
-rw-r--r--library/Smarty/libs/plugins/function.counter.php38
-rw-r--r--library/Smarty/libs/plugins/function.cycle.php47
-rw-r--r--library/Smarty/libs/plugins/function.fetch.php117
-rw-r--r--library/Smarty/libs/plugins/function.html_checkboxes.php91
-rw-r--r--library/Smarty/libs/plugins/function.html_image.php68
-rw-r--r--library/Smarty/libs/plugins/function.html_options.php84
-rw-r--r--library/Smarty/libs/plugins/function.html_radios.php87
-rw-r--r--library/Smarty/libs/plugins/function.html_select_date.php157
-rw-r--r--library/Smarty/libs/plugins/function.html_select_time.php72
-rw-r--r--library/Smarty/libs/plugins/function.html_table.php45
-rw-r--r--library/Smarty/libs/plugins/function.mailto.php45
-rw-r--r--library/Smarty/libs/plugins/function.math.php54
-rw-r--r--library/Smarty/libs/plugins/modifier.capitalize.php59
-rw-r--r--library/Smarty/libs/plugins/modifier.date_format.php36
-rw-r--r--library/Smarty/libs/plugins/modifier.debug_print_var.php61
-rw-r--r--library/Smarty/libs/plugins/modifier.escape.php40
-rw-r--r--library/Smarty/libs/plugins/modifier.regex_replace.php30
-rw-r--r--library/Smarty/libs/plugins/modifier.replace.php23
-rw-r--r--library/Smarty/libs/plugins/modifier.spacify.php18
-rw-r--r--library/Smarty/libs/plugins/modifier.truncate.php33
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.cat.php59
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.count_characters.php65
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.count_paragraphs.php55
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.count_sentences.php55
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.count_words.php63
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.default.php70
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.escape.php251
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.from_charset.php67
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.indent.php65
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.lower.php62
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.noprint.php46
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.string_format.php51
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.strip.php66
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.strip_tags.php62
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.to_charset.php67
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.unescape.php101
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.upper.php59
-rw-r--r--library/Smarty/libs/plugins/modifiercompiler.wordwrap.php93
-rw-r--r--library/Smarty/libs/plugins/outputfilter.trimwhitespace.php34
-rw-r--r--library/Smarty/libs/plugins/shared.escape_special_chars.php26
-rw-r--r--library/Smarty/libs/plugins/shared.literal_compiler_param.php8
-rw-r--r--library/Smarty/libs/plugins/shared.make_timestamp.php15
-rw-r--r--library/Smarty/libs/plugins/shared.mb_str_replace.php20
-rw-r--r--library/Smarty/libs/plugins/shared.mb_unicode.php22
-rw-r--r--library/Smarty/libs/plugins/shared.mb_wordwrap.php60
-rw-r--r--library/Smarty/libs/plugins/variablefilter.htmlspecialchars.php10
-rw-r--r--library/Smarty/libs/sysplugins/smarty_cacheresource.php337
-rw-r--r--library/Smarty/libs/sysplugins/smarty_cacheresource_custom.php159
-rw-r--r--library/Smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php228
-rw-r--r--library/Smarty/libs/sysplugins/smarty_config_source.php37
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_cacheresource_file.php91
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_append.php21
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_assign.php30
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_block.php433
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_break.php152
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_call.php25
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php32
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_config_load.php31
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_continue.php153
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_debug.php20
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_eval.php26
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_extends.php155
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_for.php70
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_foreach.php76
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_function.php65
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_if.php185
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_include.php246
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_include_php.php29
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_insert.php26
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php22
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php37
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php38
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php26
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php279
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php30
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php59
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php99
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php224
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php160
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php39
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php22
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_section.php81
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php142
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compile_while.php43
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_compilebase.php48
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_config.php75
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_config_file_compiler.php51
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_configfilelexer.php454
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_configfileparser.php875
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_data.php173
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_debug.php78
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_filter_handler.php27
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_function_call_handler.php107
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_get_include_path.php94
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php104
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_parsetree.php756
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_resource_eval.php190
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_resource_extends.php141
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_resource_file.php33
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_resource_php.php51
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_resource_registered.php45
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_resource_stream.php39
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_resource_string.php55
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php43
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_template.php200
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_templatebase.php297
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php1484
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_templatelexer.php1572
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_templateparser.php6678
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_utility.php407
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_write_file.php32
-rw-r--r--library/Smarty/libs/sysplugins/smarty_resource.php304
-rw-r--r--library/Smarty/libs/sysplugins/smarty_resource_custom.php39
-rw-r--r--library/Smarty/libs/sysplugins/smarty_resource_recompiled.php19
-rw-r--r--library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php23
-rw-r--r--library/Smarty/libs/sysplugins/smarty_security.php147
-rwxr-xr-xlibrary/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css238
-rwxr-xr-xlibrary/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css5
-rw-r--r--library/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js1
-rw-r--r--library/bootstrap-datetimepicker/js/moment.min.js6
-rw-r--r--library/bootstrap-tagsinput/LICENSE20
-rw-r--r--library/bootstrap-tagsinput/README1
-rw-r--r--library/bootstrap-tagsinput/README.md879
-rw-r--r--library/bootstrap-tagsinput/bootstrap-tagsinput.css46
-rw-r--r--library/bootstrap-tagsinput/bootstrap-tagsinput.js643
-rw-r--r--library/bootstrap/css/bootstrap-theme.css116
-rw-r--r--library/bootstrap/css/bootstrap-theme.min.css4
-rw-r--r--library/bootstrap/css/bootstrap.css535
-rw-r--r--library/bootstrap/css/bootstrap.min.css4
-rw-r--r--library/bootstrap/fonts/glyphicons-halflings-regular.svg2
-rw-r--r--library/bootstrap/js/bootbox.js894
-rw-r--r--library/bootstrap/js/bootbox.min.js4
-rw-r--r--library/bootstrap/js/bootstrap.js566
-rw-r--r--library/bootstrap/js/bootstrap.min.js5
-rw-r--r--library/cacert.pem721
-rw-r--r--library/certs/README.md1
-rw-r--r--library/certs/cacert.pem3894
-rw-r--r--library/certs/comodo.pem92
-rw-r--r--library/colorbox/README.md330
-rw-r--r--library/colorbox/bower.json42
-rw-r--r--library/colorbox/colorbox.css52
-rw-r--r--library/colorbox/colorbox.jquery.json30
-rw-r--r--library/colorbox/component.json8
-rw-r--r--library/colorbox/content/daisy.jpgbin0 -> 101126 bytes
-rw-r--r--library/colorbox/content/daisy@2x.jpgbin0 -> 335898 bytes
-rw-r--r--library/colorbox/content/homer.jpgbin8917 -> 8584 bytes
-rw-r--r--library/colorbox/content/marylou.jpgbin55125 -> 52286 bytes
-rw-r--r--library/colorbox/content/ohoopee1.jpgbin74827 -> 71685 bytes
-rw-r--r--library/colorbox/content/ohoopee2.jpgbin117411 -> 111141 bytes
-rw-r--r--library/colorbox/content/ohoopee3.jpgbin71514 -> 69240 bytes
-rw-r--r--library/colorbox/example1/colorbox.css52
-rw-r--r--library/colorbox/example1/images/border.pngbin112 -> 76 bytes
-rw-r--r--library/colorbox/example1/images/controls.pngbin2893 -> 1261 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderBottomCenter.pngbin111 -> 0 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderBottomLeft.pngbin215 -> 0 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderBottomRight.pngbin217 -> 0 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderMiddleLeft.pngbin108 -> 0 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderMiddleRight.pngbin108 -> 0 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderTopCenter.pngbin111 -> 0 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderTopLeft.pngbin216 -> 0 bytes
-rw-r--r--library/colorbox/example1/images/ie6/borderTopRight.pngbin214 -> 0 bytes
-rw-r--r--library/colorbox/example1/images/loading.gifbin9427 -> 8685 bytes
-rw-r--r--library/colorbox/example1/images/loading_background.pngbin157 -> 131 bytes
-rw-r--r--library/colorbox/example1/images/overlay.pngbin182 -> 115 bytes
-rw-r--r--library/colorbox/example1/index.html22
-rw-r--r--library/colorbox/example2/colorbox.css25
-rw-r--r--library/colorbox/example2/images/controls.pngbin570 -> 503 bytes
-rw-r--r--library/colorbox/example2/images/loading.gifbin9427 -> 6244 bytes
-rw-r--r--library/colorbox/example2/index.html22
-rw-r--r--library/colorbox/example3/colorbox.css29
-rw-r--r--library/colorbox/example3/images/loading.gifbin9427 -> 6244 bytes
-rw-r--r--library/colorbox/example3/index.html22
-rw-r--r--library/colorbox/example4/colorbox.css50
-rw-r--r--library/colorbox/example4/images/border1.pngbin1057 -> 629 bytes
-rw-r--r--library/colorbox/example4/images/border2.pngbin170 -> 112 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderBottomCenter.pngbin153 -> 0 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderBottomLeft.pngbin473 -> 0 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderBottomRight.pngbin470 -> 0 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderMiddleLeft.pngbin148 -> 0 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderMiddleRight.pngbin139 -> 0 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderTopCenter.pngbin153 -> 0 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderTopLeft.pngbin359 -> 0 bytes
-rw-r--r--library/colorbox/example4/images/ie6/borderTopRight.pngbin465 -> 0 bytes
-rw-r--r--library/colorbox/example4/images/loading.gifbin9427 -> 6244 bytes
-rw-r--r--library/colorbox/example4/index.html22
-rw-r--r--library/colorbox/example5/colorbox.css22
-rw-r--r--library/colorbox/example5/images/border.pngbin163 -> 139 bytes
-rw-r--r--library/colorbox/example5/images/controls.pngbin2033 -> 2027 bytes
-rw-r--r--library/colorbox/example5/images/loading.gifbin9427 -> 8685 bytes
-rw-r--r--library/colorbox/example5/images/loading_background.pngbin166 -> 131 bytes
-rw-r--r--library/colorbox/example5/index.html22
-rw-r--r--library/colorbox/i18n/jquery.colorbox-ar.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-bg.js16
-rw-r--r--library/colorbox/i18n/jquery.colorbox-bn.js16
-rw-r--r--library/colorbox/i18n/jquery.colorbox-ca.js13
-rw-r--r--library/colorbox/i18n/jquery.colorbox-cs.js6
-rw-r--r--library/colorbox/i18n/jquery.colorbox-da.js6
-rw-r--r--library/colorbox/i18n/jquery.colorbox-de.js6
-rw-r--r--library/colorbox/i18n/jquery.colorbox-es.js2
-rw-r--r--library/colorbox/i18n/jquery.colorbox-et.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-fa.js18
-rw-r--r--library/colorbox/i18n/jquery.colorbox-fi.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-fr.js17
-rw-r--r--library/colorbox/i18n/jquery.colorbox-gl.js13
-rw-r--r--library/colorbox/i18n/jquery.colorbox-gr.js16
-rw-r--r--library/colorbox/i18n/jquery.colorbox-he.js16
-rw-r--r--library/colorbox/i18n/jquery.colorbox-hr.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-hu.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-id.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-it.js6
-rw-r--r--library/colorbox/i18n/jquery.colorbox-ja.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-kr.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-lt.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-lv.js16
-rw-r--r--library/colorbox/i18n/jquery.colorbox-my.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-nl.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-no.js16
-rw-r--r--library/colorbox/i18n/jquery.colorbox-pl.js16
-rw-r--r--library/colorbox/i18n/jquery.colorbox-pt-BR.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-ro.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-ru.js12
-rw-r--r--library/colorbox/i18n/jquery.colorbox-si.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-sk.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-sr.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-sv.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-tr.js19
-rw-r--r--library/colorbox/i18n/jquery.colorbox-uk.js16
-rw-r--r--library/colorbox/i18n/jquery.colorbox-zh-CN.js15
-rw-r--r--library/colorbox/i18n/jquery.colorbox-zh-TW.js15
-rw-r--r--library/colorbox/images/border.pngbin163 -> 0 bytes
-rw-r--r--library/colorbox/images/controls.pngbin2033 -> 0 bytes
-rw-r--r--library/colorbox/images/loading.gifbin9427 -> 0 bytes
-rw-r--r--library/colorbox/images/loading_background.pngbin166 -> 0 bytes
-rw-r--r--library/colorbox/jquery.colorbox-min.js7
-rw-r--r--library/colorbox/jquery.colorbox.js931
-rw-r--r--library/colorpicker/css/colorpicker.css161
-rw-r--r--library/colorpicker/css/layout.css218
-rw-r--r--library/colorpicker/images/blank.gifbin49 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_background.pngbin1897 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_hex.pngbin532 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_hsb_b.pngbin970 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_hsb_h.pngbin1012 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_hsb_s.pngbin1171 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_indic.gifbin86 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_overlay.pngbin10355 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_rgb_b.pngbin970 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_rgb_g.pngbin1069 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_rgb_r.pngbin1066 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_select.gifbin78 -> 0 bytes
-rw-r--r--library/colorpicker/images/colorpicker_submit.pngbin984 -> 0 bytes
-rw-r--r--library/colorpicker/images/custom_background.pngbin1916 -> 0 bytes
-rw-r--r--library/colorpicker/images/custom_hex.pngbin562 -> 0 bytes
-rw-r--r--library/colorpicker/images/custom_hsb_b.pngbin1097 -> 0 bytes
-rw-r--r--library/colorpicker/images/custom_hsb_h.pngbin970 -> 0 bytes
-rw-r--r--library/colorpicker/images/custom_hsb_s.pngbin1168 -> 0 bytes
-rw-r--r--library/colorpicker/images/custom_indic.gifbin86 -> 0 bytes
-rw-r--r--library/colorpicker/images/custom_rgb_b.pngbin1008 -> 0 bytes
-rw-r--r--library/colorpicker/images/custom_rgb_g.pngbin1069 -> 0 bytes
-rw-r--r--library/colorpicker/images/custom_rgb_r.pngbin1018 -> 0 bytes
-rw-r--r--library/colorpicker/images/custom_submit.pngbin997 -> 0 bytes
-rw-r--r--library/colorpicker/images/select.pngbin506 -> 0 bytes
-rw-r--r--library/colorpicker/images/select2.pngbin518 -> 0 bytes
-rw-r--r--library/colorpicker/images/slider.pngbin315 -> 0 bytes
-rw-r--r--library/colorpicker/index.html184
-rw-r--r--library/colorpicker/js/colorpicker.js484
-rw-r--r--library/colorpicker/js/eye.js34
-rw-r--r--library/colorpicker/js/layout.js67
-rw-r--r--library/colorpicker/js/utils.js252
-rw-r--r--library/datetimepicker/.gitignore1
-rw-r--r--library/datetimepicker/MIT-LICENSE.txt19
-rw-r--r--library/datetimepicker/README.md20
-rw-r--r--library/datetimepicker/jquery.datetimepicker.css418
-rw-r--r--library/datetimepicker/jquery.datetimepicker.js1661
-rw-r--r--library/fancybox/blank.gifbin43 -> 0 bytes
-rw-r--r--library/fancybox/fancy_close.pngbin1517 -> 0 bytes
-rw-r--r--library/fancybox/fancy_loading.pngbin10195 -> 0 bytes
-rw-r--r--library/fancybox/fancy_nav_left.pngbin1446 -> 0 bytes
-rw-r--r--library/fancybox/fancy_nav_right.pngbin1454 -> 0 bytes
-rw-r--r--library/fancybox/fancy_shadow_e.pngbin107 -> 0 bytes
-rw-r--r--library/fancybox/fancy_shadow_n.pngbin106 -> 0 bytes
-rw-r--r--library/fancybox/fancy_shadow_ne.pngbin347 -> 0 bytes
-rw-r--r--library/fancybox/fancy_shadow_nw.pngbin324 -> 0 bytes
-rw-r--r--library/fancybox/fancy_shadow_s.pngbin111 -> 0 bytes
-rw-r--r--library/fancybox/fancy_shadow_se.pngbin352 -> 0 bytes
-rw-r--r--library/fancybox/fancy_shadow_sw.pngbin340 -> 0 bytes
-rw-r--r--library/fancybox/fancy_shadow_w.pngbin103 -> 0 bytes
-rw-r--r--library/fancybox/fancy_title_left.pngbin503 -> 0 bytes
-rw-r--r--library/fancybox/fancy_title_main.pngbin96 -> 0 bytes
-rw-r--r--library/fancybox/fancy_title_over.pngbin70 -> 0 bytes
-rw-r--r--library/fancybox/fancy_title_right.pngbin506 -> 0 bytes
-rw-r--r--library/fancybox/fancybox-x.pngbin203 -> 0 bytes
-rw-r--r--library/fancybox/fancybox-y.pngbin176 -> 0 bytes
-rw-r--r--library/fancybox/fancybox.pngbin15287 -> 0 bytes
-rw-r--r--library/fancybox/jquery.easing-1.3.pack.js72
-rw-r--r--library/fancybox/jquery.fancybox-1.3.4.css359
-rw-r--r--library/fancybox/jquery.fancybox-1.3.4.js1157
-rw-r--r--library/fancybox/jquery.fancybox-1.3.4.pack.js46
-rw-r--r--library/fancybox/jquery.mousewheel-3.0.4.pack.js14
-rw-r--r--library/ical.php379
-rw-r--r--library/intl/.gitignore1
-rw-r--r--library/intl/.travis.yml14
-rw-r--r--library/intl/LICENSE21
-rw-r--r--library/intl/README.md163
-rw-r--r--library/intl/phpunit.xml23
-rw-r--r--library/intl/resources/country/af.json761
-rw-r--r--library/intl/resources/country/agq.json761
-rw-r--r--library/intl/resources/country/ak.json761
-rw-r--r--library/intl/resources/country/am.json761
-rw-r--r--library/intl/resources/country/ar.json761
-rw-r--r--library/intl/resources/country/asa.json761
-rw-r--r--library/intl/resources/country/ast.json761
-rw-r--r--library/intl/resources/country/az.json761
-rw-r--r--library/intl/resources/country/bas.json761
-rw-r--r--library/intl/resources/country/base.json1511
-rw-r--r--library/intl/resources/country/be.json761
-rw-r--r--library/intl/resources/country/bez.json761
-rw-r--r--library/intl/resources/country/bg.json761
-rw-r--r--library/intl/resources/country/bm.json761
-rw-r--r--library/intl/resources/country/bn-IN.json761
-rw-r--r--library/intl/resources/country/bn.json761
-rw-r--r--library/intl/resources/country/bo.json761
-rw-r--r--library/intl/resources/country/br.json761
-rw-r--r--library/intl/resources/country/brx.json761
-rw-r--r--library/intl/resources/country/bs-Cyrl.json761
-rw-r--r--library/intl/resources/country/bs.json761
-rw-r--r--library/intl/resources/country/ca.json761
-rw-r--r--library/intl/resources/country/cgg.json761
-rw-r--r--library/intl/resources/country/chr.json761
-rw-r--r--library/intl/resources/country/cs.json761
-rw-r--r--library/intl/resources/country/cy.json761
-rw-r--r--library/intl/resources/country/da.json761
-rw-r--r--library/intl/resources/country/dav.json761
-rw-r--r--library/intl/resources/country/de-CH.json761
-rw-r--r--library/intl/resources/country/de.json761
-rw-r--r--library/intl/resources/country/dje.json761
-rw-r--r--library/intl/resources/country/dsb.json761
-rw-r--r--library/intl/resources/country/dyo.json761
-rw-r--r--library/intl/resources/country/dz.json761
-rw-r--r--library/intl/resources/country/ebu.json761
-rw-r--r--library/intl/resources/country/ee.json761
-rw-r--r--library/intl/resources/country/el.json761
-rw-r--r--library/intl/resources/country/en-AU.json761
-rw-r--r--library/intl/resources/country/en-BE.json761
-rw-r--r--library/intl/resources/country/en-DG.json761
-rw-r--r--library/intl/resources/country/en-FK.json761
-rw-r--r--library/intl/resources/country/en-GB.json761
-rw-r--r--library/intl/resources/country/en-GG.json761
-rw-r--r--library/intl/resources/country/en-GI.json761
-rw-r--r--library/intl/resources/country/en-HK.json761
-rw-r--r--library/intl/resources/country/en-IE.json761
-rw-r--r--library/intl/resources/country/en-IM.json761
-rw-r--r--library/intl/resources/country/en-IN.json761
-rw-r--r--library/intl/resources/country/en-IO.json761
-rw-r--r--library/intl/resources/country/en-JE.json761
-rw-r--r--library/intl/resources/country/en-MO.json761
-rw-r--r--library/intl/resources/country/en-MT.json761
-rw-r--r--library/intl/resources/country/en-NZ.json761
-rw-r--r--library/intl/resources/country/en-PK.json761
-rw-r--r--library/intl/resources/country/en-SG.json761
-rw-r--r--library/intl/resources/country/en-SH.json761
-rw-r--r--library/intl/resources/country/en-VG.json761
-rw-r--r--library/intl/resources/country/en.json761
-rw-r--r--library/intl/resources/country/eo.json761
-rw-r--r--library/intl/resources/country/es-AR.json761
-rw-r--r--library/intl/resources/country/es-BO.json761
-rw-r--r--library/intl/resources/country/es-CL.json761
-rw-r--r--library/intl/resources/country/es-CO.json761
-rw-r--r--library/intl/resources/country/es-CR.json761
-rw-r--r--library/intl/resources/country/es-CU.json761
-rw-r--r--library/intl/resources/country/es-DO.json761
-rw-r--r--library/intl/resources/country/es-EC.json761
-rw-r--r--library/intl/resources/country/es-GT.json761
-rw-r--r--library/intl/resources/country/es-HN.json761
-rw-r--r--library/intl/resources/country/es-MX.json761
-rw-r--r--library/intl/resources/country/es-NI.json761
-rw-r--r--library/intl/resources/country/es-PA.json761
-rw-r--r--library/intl/resources/country/es-PE.json761
-rw-r--r--library/intl/resources/country/es-PR.json761
-rw-r--r--library/intl/resources/country/es-PY.json761
-rw-r--r--library/intl/resources/country/es-SV.json761
-rw-r--r--library/intl/resources/country/es-US.json761
-rw-r--r--library/intl/resources/country/es-UY.json761
-rw-r--r--library/intl/resources/country/es-VE.json761
-rw-r--r--library/intl/resources/country/es.json761
-rw-r--r--library/intl/resources/country/et.json761
-rw-r--r--library/intl/resources/country/eu.json761
-rw-r--r--library/intl/resources/country/ewo.json761
-rw-r--r--library/intl/resources/country/fa-AF.json761
-rw-r--r--library/intl/resources/country/fa.json761
-rw-r--r--library/intl/resources/country/ff.json761
-rw-r--r--library/intl/resources/country/fi.json761
-rw-r--r--library/intl/resources/country/fil.json761
-rw-r--r--library/intl/resources/country/fo.json761
-rw-r--r--library/intl/resources/country/fr-CA.json761
-rw-r--r--library/intl/resources/country/fr-CH.json761
-rw-r--r--library/intl/resources/country/fr.json761
-rw-r--r--library/intl/resources/country/fur.json761
-rw-r--r--library/intl/resources/country/fy.json761
-rw-r--r--library/intl/resources/country/ga.json761
-rw-r--r--library/intl/resources/country/gd.json761
-rw-r--r--library/intl/resources/country/gl.json761
-rw-r--r--library/intl/resources/country/gsw.json761
-rw-r--r--library/intl/resources/country/gu.json761
-rw-r--r--library/intl/resources/country/guz.json761
-rw-r--r--library/intl/resources/country/ha.json761
-rw-r--r--library/intl/resources/country/he.json761
-rw-r--r--library/intl/resources/country/hi.json761
-rw-r--r--library/intl/resources/country/hr.json761
-rw-r--r--library/intl/resources/country/hsb.json761
-rw-r--r--library/intl/resources/country/hu.json761
-rw-r--r--library/intl/resources/country/hy.json761
-rw-r--r--library/intl/resources/country/id.json761
-rw-r--r--library/intl/resources/country/is.json761
-rw-r--r--library/intl/resources/country/it.json761
-rw-r--r--library/intl/resources/country/ja.json761
-rw-r--r--library/intl/resources/country/jgo.json761
-rw-r--r--library/intl/resources/country/jmc.json761
-rw-r--r--library/intl/resources/country/ka.json761
-rw-r--r--library/intl/resources/country/kab.json761
-rw-r--r--library/intl/resources/country/kam.json761
-rw-r--r--library/intl/resources/country/kde.json761
-rw-r--r--library/intl/resources/country/kea.json761
-rw-r--r--library/intl/resources/country/khq.json761
-rw-r--r--library/intl/resources/country/ki.json761
-rw-r--r--library/intl/resources/country/kk.json761
-rw-r--r--library/intl/resources/country/kl.json761
-rw-r--r--library/intl/resources/country/kln.json761
-rw-r--r--library/intl/resources/country/km.json761
-rw-r--r--library/intl/resources/country/kn.json761
-rw-r--r--library/intl/resources/country/ko.json761
-rw-r--r--library/intl/resources/country/ks.json761
-rw-r--r--library/intl/resources/country/ksb.json761
-rw-r--r--library/intl/resources/country/ksf.json761
-rw-r--r--library/intl/resources/country/ksh.json761
-rw-r--r--library/intl/resources/country/ky.json761
-rw-r--r--library/intl/resources/country/lag.json761
-rw-r--r--library/intl/resources/country/lb.json761
-rw-r--r--library/intl/resources/country/lg.json761
-rw-r--r--library/intl/resources/country/ln.json761
-rw-r--r--library/intl/resources/country/lo.json761
-rw-r--r--library/intl/resources/country/lt.json761
-rw-r--r--library/intl/resources/country/lu.json761
-rw-r--r--library/intl/resources/country/luo.json761
-rw-r--r--library/intl/resources/country/luy.json761
-rw-r--r--library/intl/resources/country/lv.json761
-rw-r--r--library/intl/resources/country/mas.json761
-rw-r--r--library/intl/resources/country/mer.json761
-rw-r--r--library/intl/resources/country/mfe.json761
-rw-r--r--library/intl/resources/country/mg.json761
-rw-r--r--library/intl/resources/country/mgh.json761
-rw-r--r--library/intl/resources/country/mk.json761
-rw-r--r--library/intl/resources/country/ml.json761
-rw-r--r--library/intl/resources/country/mn.json761
-rw-r--r--library/intl/resources/country/mr.json761
-rw-r--r--library/intl/resources/country/ms.json761
-rw-r--r--library/intl/resources/country/mt.json761
-rw-r--r--library/intl/resources/country/mua.json761
-rw-r--r--library/intl/resources/country/my.json761
-rw-r--r--library/intl/resources/country/naq.json761
-rw-r--r--library/intl/resources/country/nb.json761
-rw-r--r--library/intl/resources/country/nd.json761
-rw-r--r--library/intl/resources/country/ne.json761
-rw-r--r--library/intl/resources/country/nl-BE.json761
-rw-r--r--library/intl/resources/country/nl.json761
-rw-r--r--library/intl/resources/country/nmg.json761
-rw-r--r--library/intl/resources/country/nn.json761
-rw-r--r--library/intl/resources/country/nus.json761
-rw-r--r--library/intl/resources/country/nyn.json761
-rw-r--r--library/intl/resources/country/or.json761
-rw-r--r--library/intl/resources/country/pa.json761
-rw-r--r--library/intl/resources/country/pl.json761
-rw-r--r--library/intl/resources/country/ps.json761
-rw-r--r--library/intl/resources/country/pt-AO.json761
-rw-r--r--library/intl/resources/country/pt-CV.json761
-rw-r--r--library/intl/resources/country/pt-GW.json761
-rw-r--r--library/intl/resources/country/pt-MO.json761
-rw-r--r--library/intl/resources/country/pt-MZ.json761
-rw-r--r--library/intl/resources/country/pt-PT.json761
-rw-r--r--library/intl/resources/country/pt-ST.json761
-rw-r--r--library/intl/resources/country/pt-TL.json761
-rw-r--r--library/intl/resources/country/pt.json761
-rw-r--r--library/intl/resources/country/rm.json761
-rw-r--r--library/intl/resources/country/rn.json761
-rw-r--r--library/intl/resources/country/ro.json761
-rw-r--r--library/intl/resources/country/rof.json761
-rw-r--r--library/intl/resources/country/ru.json761
-rw-r--r--library/intl/resources/country/rwk.json761
-rw-r--r--library/intl/resources/country/saq.json761
-rw-r--r--library/intl/resources/country/sbp.json761
-rw-r--r--library/intl/resources/country/se-FI.json761
-rw-r--r--library/intl/resources/country/se.json761
-rw-r--r--library/intl/resources/country/seh.json761
-rw-r--r--library/intl/resources/country/ses.json761
-rw-r--r--library/intl/resources/country/sg.json761
-rw-r--r--library/intl/resources/country/shi-Latn.json761
-rw-r--r--library/intl/resources/country/shi.json761
-rw-r--r--library/intl/resources/country/si.json761
-rw-r--r--library/intl/resources/country/sk.json761
-rw-r--r--library/intl/resources/country/sl.json761
-rw-r--r--library/intl/resources/country/sn.json761
-rw-r--r--library/intl/resources/country/so.json761
-rw-r--r--library/intl/resources/country/sq.json761
-rw-r--r--library/intl/resources/country/sr-Latn.json761
-rw-r--r--library/intl/resources/country/sr.json761
-rw-r--r--library/intl/resources/country/sv-FI.json761
-rw-r--r--library/intl/resources/country/sv.json761
-rw-r--r--library/intl/resources/country/sw.json761
-rw-r--r--library/intl/resources/country/swc.json761
-rw-r--r--library/intl/resources/country/ta.json761
-rw-r--r--library/intl/resources/country/te.json761
-rw-r--r--library/intl/resources/country/teo.json761
-rw-r--r--library/intl/resources/country/th.json761
-rw-r--r--library/intl/resources/country/ti.json761
-rw-r--r--library/intl/resources/country/to.json761
-rw-r--r--library/intl/resources/country/tr.json761
-rw-r--r--library/intl/resources/country/twq.json761
-rw-r--r--library/intl/resources/country/tzm.json761
-rw-r--r--library/intl/resources/country/ug.json761
-rw-r--r--library/intl/resources/country/uk.json761
-rw-r--r--library/intl/resources/country/ur-IN.json761
-rw-r--r--library/intl/resources/country/ur.json761
-rw-r--r--library/intl/resources/country/uz-Cyrl.json761
-rw-r--r--library/intl/resources/country/uz.json761
-rw-r--r--library/intl/resources/country/vai-Latn.json761
-rw-r--r--library/intl/resources/country/vai.json761
-rw-r--r--library/intl/resources/country/vi.json761
-rw-r--r--library/intl/resources/country/vun.json761
-rw-r--r--library/intl/resources/country/wae.json761
-rw-r--r--library/intl/resources/country/xog.json761
-rw-r--r--library/intl/resources/country/yav.json761
-rw-r--r--library/intl/resources/country/yo-BJ.json761
-rw-r--r--library/intl/resources/country/yo.json761
-rw-r--r--library/intl/resources/country/zgh.json761
-rw-r--r--library/intl/resources/country/zh-Hans-HK.json761
-rw-r--r--library/intl/resources/country/zh-Hans-MO.json761
-rw-r--r--library/intl/resources/country/zh-Hans-SG.json761
-rw-r--r--library/intl/resources/country/zh-Hant-HK.json761
-rw-r--r--library/intl/resources/country/zh-Hant-MO.json761
-rw-r--r--library/intl/resources/country/zh-Hant.json761
-rw-r--r--library/intl/resources/country/zh.json761
-rw-r--r--library/intl/resources/country/zu.json761
-rw-r--r--library/intl/resources/currency/af.json634
-rw-r--r--library/intl/resources/currency/agq.json634
-rw-r--r--library/intl/resources/currency/ak.json634
-rw-r--r--library/intl/resources/currency/am.json634
-rw-r--r--library/intl/resources/currency/ar.json634
-rw-r--r--library/intl/resources/currency/asa.json634
-rw-r--r--library/intl/resources/currency/ast.json634
-rw-r--r--library/intl/resources/currency/az.json634
-rw-r--r--library/intl/resources/currency/bas.json634
-rw-r--r--library/intl/resources/currency/base.json683
-rw-r--r--library/intl/resources/currency/be.json634
-rw-r--r--library/intl/resources/currency/bez.json634
-rw-r--r--library/intl/resources/currency/bg.json634
-rw-r--r--library/intl/resources/currency/bm.json634
-rw-r--r--library/intl/resources/currency/bn.json634
-rw-r--r--library/intl/resources/currency/bo.json634
-rw-r--r--library/intl/resources/currency/br.json634
-rw-r--r--library/intl/resources/currency/brx.json634
-rw-r--r--library/intl/resources/currency/bs-Cyrl.json634
-rw-r--r--library/intl/resources/currency/bs.json634
-rw-r--r--library/intl/resources/currency/ca.json634
-rw-r--r--library/intl/resources/currency/cgg.json634
-rw-r--r--library/intl/resources/currency/chr.json634
-rw-r--r--library/intl/resources/currency/cs.json634
-rw-r--r--library/intl/resources/currency/cy.json634
-rw-r--r--library/intl/resources/currency/da.json634
-rw-r--r--library/intl/resources/currency/dav.json634
-rw-r--r--library/intl/resources/currency/de-CH.json634
-rw-r--r--library/intl/resources/currency/de.json634
-rw-r--r--library/intl/resources/currency/dje.json634
-rw-r--r--library/intl/resources/currency/dsb.json634
-rw-r--r--library/intl/resources/currency/dyo.json634
-rw-r--r--library/intl/resources/currency/dz.json634
-rw-r--r--library/intl/resources/currency/ebu.json634
-rw-r--r--library/intl/resources/currency/ee.json634
-rw-r--r--library/intl/resources/currency/el.json634
-rw-r--r--library/intl/resources/currency/en-AU.json634
-rw-r--r--library/intl/resources/currency/en-BE.json634
-rw-r--r--library/intl/resources/currency/en-DG.json634
-rw-r--r--library/intl/resources/currency/en-FK.json634
-rw-r--r--library/intl/resources/currency/en-GB.json634
-rw-r--r--library/intl/resources/currency/en-GG.json634
-rw-r--r--library/intl/resources/currency/en-GI.json634
-rw-r--r--library/intl/resources/currency/en-HK.json634
-rw-r--r--library/intl/resources/currency/en-IE.json634
-rw-r--r--library/intl/resources/currency/en-IM.json634
-rw-r--r--library/intl/resources/currency/en-IN.json634
-rw-r--r--library/intl/resources/currency/en-IO.json634
-rw-r--r--library/intl/resources/currency/en-JE.json634
-rw-r--r--library/intl/resources/currency/en-MO.json634
-rw-r--r--library/intl/resources/currency/en-MT.json634
-rw-r--r--library/intl/resources/currency/en-NZ.json634
-rw-r--r--library/intl/resources/currency/en-PK.json634
-rw-r--r--library/intl/resources/currency/en-SG.json634
-rw-r--r--library/intl/resources/currency/en-SH.json634
-rw-r--r--library/intl/resources/currency/en-VG.json634
-rw-r--r--library/intl/resources/currency/en.json634
-rw-r--r--library/intl/resources/currency/eo.json634
-rw-r--r--library/intl/resources/currency/es-AR.json634
-rw-r--r--library/intl/resources/currency/es-BO.json634
-rw-r--r--library/intl/resources/currency/es-CL.json634
-rw-r--r--library/intl/resources/currency/es-CO.json634
-rw-r--r--library/intl/resources/currency/es-CR.json634
-rw-r--r--library/intl/resources/currency/es-CU.json634
-rw-r--r--library/intl/resources/currency/es-DO.json634
-rw-r--r--library/intl/resources/currency/es-EC.json634
-rw-r--r--library/intl/resources/currency/es-GT.json634
-rw-r--r--library/intl/resources/currency/es-HN.json634
-rw-r--r--library/intl/resources/currency/es-MX.json634
-rw-r--r--library/intl/resources/currency/es-NI.json634
-rw-r--r--library/intl/resources/currency/es-PA.json634
-rw-r--r--library/intl/resources/currency/es-PE.json634
-rw-r--r--library/intl/resources/currency/es-PR.json634
-rw-r--r--library/intl/resources/currency/es-PY.json634
-rw-r--r--library/intl/resources/currency/es-SV.json634
-rw-r--r--library/intl/resources/currency/es-US.json634
-rw-r--r--library/intl/resources/currency/es-UY.json634
-rw-r--r--library/intl/resources/currency/es-VE.json634
-rw-r--r--library/intl/resources/currency/es.json634
-rw-r--r--library/intl/resources/currency/et.json634
-rw-r--r--library/intl/resources/currency/eu.json634
-rw-r--r--library/intl/resources/currency/ewo.json634
-rw-r--r--library/intl/resources/currency/fa-AF.json634
-rw-r--r--library/intl/resources/currency/fa.json634
-rw-r--r--library/intl/resources/currency/ff.json634
-rw-r--r--library/intl/resources/currency/fi.json634
-rw-r--r--library/intl/resources/currency/fil.json634
-rw-r--r--library/intl/resources/currency/fo.json634
-rw-r--r--library/intl/resources/currency/fr-CA.json634
-rw-r--r--library/intl/resources/currency/fr.json634
-rw-r--r--library/intl/resources/currency/fur.json634
-rw-r--r--library/intl/resources/currency/fy.json634
-rw-r--r--library/intl/resources/currency/ga.json634
-rw-r--r--library/intl/resources/currency/gd.json634
-rw-r--r--library/intl/resources/currency/gl.json634
-rw-r--r--library/intl/resources/currency/gsw.json634
-rw-r--r--library/intl/resources/currency/gu.json634
-rw-r--r--library/intl/resources/currency/guz.json634
-rw-r--r--library/intl/resources/currency/ha.json634
-rw-r--r--library/intl/resources/currency/he.json634
-rw-r--r--library/intl/resources/currency/hi.json634
-rw-r--r--library/intl/resources/currency/hr.json634
-rw-r--r--library/intl/resources/currency/hsb.json634
-rw-r--r--library/intl/resources/currency/hu.json634
-rw-r--r--library/intl/resources/currency/hy.json634
-rw-r--r--library/intl/resources/currency/id.json634
-rw-r--r--library/intl/resources/currency/is.json634
-rw-r--r--library/intl/resources/currency/it.json634
-rw-r--r--library/intl/resources/currency/ja.json634
-rw-r--r--library/intl/resources/currency/jgo.json634
-rw-r--r--library/intl/resources/currency/jmc.json634
-rw-r--r--library/intl/resources/currency/ka.json634
-rw-r--r--library/intl/resources/currency/kab.json634
-rw-r--r--library/intl/resources/currency/kam.json634
-rw-r--r--library/intl/resources/currency/kde.json634
-rw-r--r--library/intl/resources/currency/kea.json634
-rw-r--r--library/intl/resources/currency/khq.json634
-rw-r--r--library/intl/resources/currency/ki.json634
-rw-r--r--library/intl/resources/currency/kk.json634
-rw-r--r--library/intl/resources/currency/kl.json634
-rw-r--r--library/intl/resources/currency/kln.json634
-rw-r--r--library/intl/resources/currency/km.json634
-rw-r--r--library/intl/resources/currency/kn.json634
-rw-r--r--library/intl/resources/currency/ko.json634
-rw-r--r--library/intl/resources/currency/ks.json634
-rw-r--r--library/intl/resources/currency/ksb.json634
-rw-r--r--library/intl/resources/currency/ksf.json634
-rw-r--r--library/intl/resources/currency/ksh.json634
-rw-r--r--library/intl/resources/currency/ky.json634
-rw-r--r--library/intl/resources/currency/lag.json634
-rw-r--r--library/intl/resources/currency/lb.json634
-rw-r--r--library/intl/resources/currency/lg.json634
-rw-r--r--library/intl/resources/currency/ln.json634
-rw-r--r--library/intl/resources/currency/lo.json634
-rw-r--r--library/intl/resources/currency/lt.json634
-rw-r--r--library/intl/resources/currency/lu.json634
-rw-r--r--library/intl/resources/currency/luo.json634
-rw-r--r--library/intl/resources/currency/luy.json634
-rw-r--r--library/intl/resources/currency/lv.json634
-rw-r--r--library/intl/resources/currency/mas.json634
-rw-r--r--library/intl/resources/currency/mer.json634
-rw-r--r--library/intl/resources/currency/mfe.json634
-rw-r--r--library/intl/resources/currency/mg.json634
-rw-r--r--library/intl/resources/currency/mgh.json634
-rw-r--r--library/intl/resources/currency/mk.json634
-rw-r--r--library/intl/resources/currency/ml.json634
-rw-r--r--library/intl/resources/currency/mn.json634
-rw-r--r--library/intl/resources/currency/mr.json634
-rw-r--r--library/intl/resources/currency/ms.json634
-rw-r--r--library/intl/resources/currency/mt.json634
-rw-r--r--library/intl/resources/currency/mua.json634
-rw-r--r--library/intl/resources/currency/my.json634
-rw-r--r--library/intl/resources/currency/naq.json634
-rw-r--r--library/intl/resources/currency/nb.json634
-rw-r--r--library/intl/resources/currency/nd.json634
-rw-r--r--library/intl/resources/currency/ne-IN.json634
-rw-r--r--library/intl/resources/currency/ne.json634
-rw-r--r--library/intl/resources/currency/nl.json634
-rw-r--r--library/intl/resources/currency/nmg.json634
-rw-r--r--library/intl/resources/currency/nn.json634
-rw-r--r--library/intl/resources/currency/nus.json634
-rw-r--r--library/intl/resources/currency/nyn.json634
-rw-r--r--library/intl/resources/currency/or.json634
-rw-r--r--library/intl/resources/currency/pa.json634
-rw-r--r--library/intl/resources/currency/pl.json634
-rw-r--r--library/intl/resources/currency/ps.json634
-rw-r--r--library/intl/resources/currency/pt-AO.json634
-rw-r--r--library/intl/resources/currency/pt-CV.json634
-rw-r--r--library/intl/resources/currency/pt-GW.json634
-rw-r--r--library/intl/resources/currency/pt-MO.json634
-rw-r--r--library/intl/resources/currency/pt-MZ.json634
-rw-r--r--library/intl/resources/currency/pt-PT.json634
-rw-r--r--library/intl/resources/currency/pt-ST.json634
-rw-r--r--library/intl/resources/currency/pt-TL.json634
-rw-r--r--library/intl/resources/currency/pt.json634
-rw-r--r--library/intl/resources/currency/rm.json634
-rw-r--r--library/intl/resources/currency/rn.json634
-rw-r--r--library/intl/resources/currency/ro.json634
-rw-r--r--library/intl/resources/currency/rof.json634
-rw-r--r--library/intl/resources/currency/ru.json634
-rw-r--r--library/intl/resources/currency/rwk.json634
-rw-r--r--library/intl/resources/currency/saq.json634
-rw-r--r--library/intl/resources/currency/sbp.json634
-rw-r--r--library/intl/resources/currency/se.json634
-rw-r--r--library/intl/resources/currency/seh.json634
-rw-r--r--library/intl/resources/currency/ses.json634
-rw-r--r--library/intl/resources/currency/sg.json634
-rw-r--r--library/intl/resources/currency/shi-Latn.json634
-rw-r--r--library/intl/resources/currency/shi.json634
-rw-r--r--library/intl/resources/currency/si.json634
-rw-r--r--library/intl/resources/currency/sk.json634
-rw-r--r--library/intl/resources/currency/sl.json634
-rw-r--r--library/intl/resources/currency/sn.json634
-rw-r--r--library/intl/resources/currency/so.json634
-rw-r--r--library/intl/resources/currency/sq.json634
-rw-r--r--library/intl/resources/currency/sr-Cyrl-BA.json634
-rw-r--r--library/intl/resources/currency/sr-Latn-BA.json634
-rw-r--r--library/intl/resources/currency/sr-Latn.json634
-rw-r--r--library/intl/resources/currency/sr.json634
-rw-r--r--library/intl/resources/currency/sv.json634
-rw-r--r--library/intl/resources/currency/sw.json634
-rw-r--r--library/intl/resources/currency/swc.json634
-rw-r--r--library/intl/resources/currency/ta-MY.json634
-rw-r--r--library/intl/resources/currency/ta-SG.json634
-rw-r--r--library/intl/resources/currency/ta.json634
-rw-r--r--library/intl/resources/currency/te.json634
-rw-r--r--library/intl/resources/currency/teo.json634
-rw-r--r--library/intl/resources/currency/th.json634
-rw-r--r--library/intl/resources/currency/ti.json634
-rw-r--r--library/intl/resources/currency/to.json634
-rw-r--r--library/intl/resources/currency/tr.json634
-rw-r--r--library/intl/resources/currency/twq.json634
-rw-r--r--library/intl/resources/currency/tzm.json634
-rw-r--r--library/intl/resources/currency/ug.json634
-rw-r--r--library/intl/resources/currency/uk.json634
-rw-r--r--library/intl/resources/currency/ur-IN.json634
-rw-r--r--library/intl/resources/currency/ur.json634
-rw-r--r--library/intl/resources/currency/uz-Cyrl.json634
-rw-r--r--library/intl/resources/currency/uz.json634
-rw-r--r--library/intl/resources/currency/vai-Latn.json634
-rw-r--r--library/intl/resources/currency/vai.json634
-rw-r--r--library/intl/resources/currency/vi.json634
-rw-r--r--library/intl/resources/currency/vun.json634
-rw-r--r--library/intl/resources/currency/wae.json634
-rw-r--r--library/intl/resources/currency/xog.json634
-rw-r--r--library/intl/resources/currency/yav.json634
-rw-r--r--library/intl/resources/currency/yo-BJ.json634
-rw-r--r--library/intl/resources/currency/yo.json634
-rw-r--r--library/intl/resources/currency/zgh.json634
-rw-r--r--library/intl/resources/currency/zh-Hans-HK.json634
-rw-r--r--library/intl/resources/currency/zh-Hans-MO.json634
-rw-r--r--library/intl/resources/currency/zh-Hans-SG.json634
-rw-r--r--library/intl/resources/currency/zh-Hant-HK.json634
-rw-r--r--library/intl/resources/currency/zh-Hant-MO.json634
-rw-r--r--library/intl/resources/currency/zh-Hant.json634
-rw-r--r--library/intl/resources/currency/zh.json634
-rw-r--r--library/intl/resources/currency/zu.json634
-rw-r--r--library/intl/resources/language/af.json738
-rw-r--r--library/intl/resources/language/agq.json738
-rw-r--r--library/intl/resources/language/ak.json738
-rw-r--r--library/intl/resources/language/am.json738
-rw-r--r--library/intl/resources/language/ar-AE.json738
-rw-r--r--library/intl/resources/language/ar-EG.json738
-rw-r--r--library/intl/resources/language/ar.json738
-rw-r--r--library/intl/resources/language/asa.json738
-rw-r--r--library/intl/resources/language/ast.json738
-rw-r--r--library/intl/resources/language/az.json738
-rw-r--r--library/intl/resources/language/bas.json738
-rw-r--r--library/intl/resources/language/be.json738
-rw-r--r--library/intl/resources/language/bez.json738
-rw-r--r--library/intl/resources/language/bg.json738
-rw-r--r--library/intl/resources/language/bm.json738
-rw-r--r--library/intl/resources/language/bn-IN.json738
-rw-r--r--library/intl/resources/language/bn.json738
-rw-r--r--library/intl/resources/language/bo.json738
-rw-r--r--library/intl/resources/language/br.json738
-rw-r--r--library/intl/resources/language/brx.json738
-rw-r--r--library/intl/resources/language/bs-Cyrl.json738
-rw-r--r--library/intl/resources/language/bs.json738
-rw-r--r--library/intl/resources/language/ca.json738
-rw-r--r--library/intl/resources/language/cgg.json738
-rw-r--r--library/intl/resources/language/chr.json738
-rw-r--r--library/intl/resources/language/cs.json738
-rw-r--r--library/intl/resources/language/cy.json738
-rw-r--r--library/intl/resources/language/da.json738
-rw-r--r--library/intl/resources/language/dav.json738
-rw-r--r--library/intl/resources/language/de-CH.json738
-rw-r--r--library/intl/resources/language/de.json738
-rw-r--r--library/intl/resources/language/dje.json738
-rw-r--r--library/intl/resources/language/dsb.json738
-rw-r--r--library/intl/resources/language/dyo.json738
-rw-r--r--library/intl/resources/language/dz.json738
-rw-r--r--library/intl/resources/language/ebu.json738
-rw-r--r--library/intl/resources/language/ee.json738
-rw-r--r--library/intl/resources/language/el.json738
-rw-r--r--library/intl/resources/language/en-AU.json738
-rw-r--r--library/intl/resources/language/en.json738
-rw-r--r--library/intl/resources/language/eo.json738
-rw-r--r--library/intl/resources/language/es-AR.json738
-rw-r--r--library/intl/resources/language/es-BO.json738
-rw-r--r--library/intl/resources/language/es-CL.json738
-rw-r--r--library/intl/resources/language/es-CO.json738
-rw-r--r--library/intl/resources/language/es-CR.json738
-rw-r--r--library/intl/resources/language/es-CU.json738
-rw-r--r--library/intl/resources/language/es-DO.json738
-rw-r--r--library/intl/resources/language/es-EC.json738
-rw-r--r--library/intl/resources/language/es-GT.json738
-rw-r--r--library/intl/resources/language/es-HN.json738
-rw-r--r--library/intl/resources/language/es-MX.json738
-rw-r--r--library/intl/resources/language/es-NI.json738
-rw-r--r--library/intl/resources/language/es-PA.json738
-rw-r--r--library/intl/resources/language/es-PE.json738
-rw-r--r--library/intl/resources/language/es-PR.json738
-rw-r--r--library/intl/resources/language/es-PY.json738
-rw-r--r--library/intl/resources/language/es-SV.json738
-rw-r--r--library/intl/resources/language/es-US.json738
-rw-r--r--library/intl/resources/language/es-UY.json738
-rw-r--r--library/intl/resources/language/es-VE.json738
-rw-r--r--library/intl/resources/language/es.json738
-rw-r--r--library/intl/resources/language/et.json738
-rw-r--r--library/intl/resources/language/eu.json738
-rw-r--r--library/intl/resources/language/ewo.json738
-rw-r--r--library/intl/resources/language/fa-AF.json738
-rw-r--r--library/intl/resources/language/fa.json738
-rw-r--r--library/intl/resources/language/ff.json738
-rw-r--r--library/intl/resources/language/fi.json738
-rw-r--r--library/intl/resources/language/fil.json738
-rw-r--r--library/intl/resources/language/fo.json738
-rw-r--r--library/intl/resources/language/fr-CA.json738
-rw-r--r--library/intl/resources/language/fr.json738
-rw-r--r--library/intl/resources/language/fur.json738
-rw-r--r--library/intl/resources/language/fy.json738
-rw-r--r--library/intl/resources/language/ga.json738
-rw-r--r--library/intl/resources/language/gd.json738
-rw-r--r--library/intl/resources/language/gl.json738
-rw-r--r--library/intl/resources/language/gsw.json738
-rw-r--r--library/intl/resources/language/gu.json738
-rw-r--r--library/intl/resources/language/guz.json738
-rw-r--r--library/intl/resources/language/ha.json738
-rw-r--r--library/intl/resources/language/he.json738
-rw-r--r--library/intl/resources/language/hi.json738
-rw-r--r--library/intl/resources/language/hr.json738
-rw-r--r--library/intl/resources/language/hsb.json738
-rw-r--r--library/intl/resources/language/hu.json738
-rw-r--r--library/intl/resources/language/hy.json738
-rw-r--r--library/intl/resources/language/id.json738
-rw-r--r--library/intl/resources/language/is.json738
-rw-r--r--library/intl/resources/language/it.json738
-rw-r--r--library/intl/resources/language/ja.json738
-rw-r--r--library/intl/resources/language/jgo.json738
-rw-r--r--library/intl/resources/language/jmc.json738
-rw-r--r--library/intl/resources/language/ka.json738
-rw-r--r--library/intl/resources/language/kab.json738
-rw-r--r--library/intl/resources/language/kam.json738
-rw-r--r--library/intl/resources/language/kde.json738
-rw-r--r--library/intl/resources/language/kea.json738
-rw-r--r--library/intl/resources/language/khq.json738
-rw-r--r--library/intl/resources/language/ki.json738
-rw-r--r--library/intl/resources/language/kk.json738
-rw-r--r--library/intl/resources/language/kl.json738
-rw-r--r--library/intl/resources/language/kln.json738
-rw-r--r--library/intl/resources/language/km.json738
-rw-r--r--library/intl/resources/language/kn.json738
-rw-r--r--library/intl/resources/language/ko.json738
-rw-r--r--library/intl/resources/language/ks.json738
-rw-r--r--library/intl/resources/language/ksb.json738
-rw-r--r--library/intl/resources/language/ksf.json738
-rw-r--r--library/intl/resources/language/ksh.json738
-rw-r--r--library/intl/resources/language/ky.json738
-rw-r--r--library/intl/resources/language/lag.json738
-rw-r--r--library/intl/resources/language/lb.json738
-rw-r--r--library/intl/resources/language/lg.json738
-rw-r--r--library/intl/resources/language/ln.json738
-rw-r--r--library/intl/resources/language/lo.json738
-rw-r--r--library/intl/resources/language/lt.json738
-rw-r--r--library/intl/resources/language/lu.json738
-rw-r--r--library/intl/resources/language/luo.json738
-rw-r--r--library/intl/resources/language/luy.json738
-rw-r--r--library/intl/resources/language/lv.json738
-rw-r--r--library/intl/resources/language/mas.json738
-rw-r--r--library/intl/resources/language/mer.json738
-rw-r--r--library/intl/resources/language/mfe.json738
-rw-r--r--library/intl/resources/language/mg.json738
-rw-r--r--library/intl/resources/language/mgh.json738
-rw-r--r--library/intl/resources/language/mk.json738
-rw-r--r--library/intl/resources/language/ml.json738
-rw-r--r--library/intl/resources/language/mn.json738
-rw-r--r--library/intl/resources/language/mr.json738
-rw-r--r--library/intl/resources/language/ms.json738
-rw-r--r--library/intl/resources/language/mt.json738
-rw-r--r--library/intl/resources/language/mua.json738
-rw-r--r--library/intl/resources/language/my.json738
-rw-r--r--library/intl/resources/language/naq.json738
-rw-r--r--library/intl/resources/language/nb.json738
-rw-r--r--library/intl/resources/language/nd.json738
-rw-r--r--library/intl/resources/language/ne-IN.json738
-rw-r--r--library/intl/resources/language/ne.json738
-rw-r--r--library/intl/resources/language/nl.json738
-rw-r--r--library/intl/resources/language/nmg.json738
-rw-r--r--library/intl/resources/language/nn.json738
-rw-r--r--library/intl/resources/language/nus.json738
-rw-r--r--library/intl/resources/language/nyn.json738
-rw-r--r--library/intl/resources/language/or.json738
-rw-r--r--library/intl/resources/language/pa.json738
-rw-r--r--library/intl/resources/language/pl.json738
-rw-r--r--library/intl/resources/language/ps.json738
-rw-r--r--library/intl/resources/language/pt-AO.json738
-rw-r--r--library/intl/resources/language/pt-CV.json738
-rw-r--r--library/intl/resources/language/pt-GW.json738
-rw-r--r--library/intl/resources/language/pt-MO.json738
-rw-r--r--library/intl/resources/language/pt-MZ.json738
-rw-r--r--library/intl/resources/language/pt-PT.json738
-rw-r--r--library/intl/resources/language/pt-ST.json738
-rw-r--r--library/intl/resources/language/pt-TL.json738
-rw-r--r--library/intl/resources/language/pt.json738
-rw-r--r--library/intl/resources/language/rm.json738
-rw-r--r--library/intl/resources/language/rn.json738
-rw-r--r--library/intl/resources/language/ro.json738
-rw-r--r--library/intl/resources/language/rof.json738
-rw-r--r--library/intl/resources/language/ru.json738
-rw-r--r--library/intl/resources/language/rwk.json738
-rw-r--r--library/intl/resources/language/saq.json738
-rw-r--r--library/intl/resources/language/sbp.json738
-rw-r--r--library/intl/resources/language/se-FI.json738
-rw-r--r--library/intl/resources/language/se.json738
-rw-r--r--library/intl/resources/language/seh.json738
-rw-r--r--library/intl/resources/language/ses.json738
-rw-r--r--library/intl/resources/language/sg.json738
-rw-r--r--library/intl/resources/language/shi-Latn.json738
-rw-r--r--library/intl/resources/language/shi.json738
-rw-r--r--library/intl/resources/language/si.json738
-rw-r--r--library/intl/resources/language/sk.json738
-rw-r--r--library/intl/resources/language/sl.json738
-rw-r--r--library/intl/resources/language/sn.json738
-rw-r--r--library/intl/resources/language/so.json738
-rw-r--r--library/intl/resources/language/sq.json738
-rw-r--r--library/intl/resources/language/sr-Latn.json738
-rw-r--r--library/intl/resources/language/sr.json738
-rw-r--r--library/intl/resources/language/sv-FI.json738
-rw-r--r--library/intl/resources/language/sv.json738
-rw-r--r--library/intl/resources/language/sw.json738
-rw-r--r--library/intl/resources/language/swc.json738
-rw-r--r--library/intl/resources/language/ta.json738
-rw-r--r--library/intl/resources/language/te.json738
-rw-r--r--library/intl/resources/language/teo.json738
-rw-r--r--library/intl/resources/language/th.json738
-rw-r--r--library/intl/resources/language/ti.json738
-rw-r--r--library/intl/resources/language/to.json738
-rw-r--r--library/intl/resources/language/tr.json738
-rw-r--r--library/intl/resources/language/twq.json738
-rw-r--r--library/intl/resources/language/tzm.json738
-rw-r--r--library/intl/resources/language/ug.json738
-rw-r--r--library/intl/resources/language/uk.json738
-rw-r--r--library/intl/resources/language/ur-IN.json738
-rw-r--r--library/intl/resources/language/ur.json738
-rw-r--r--library/intl/resources/language/uz-Cyrl.json738
-rw-r--r--library/intl/resources/language/uz.json738
-rw-r--r--library/intl/resources/language/vai-Latn.json738
-rw-r--r--library/intl/resources/language/vai.json738
-rw-r--r--library/intl/resources/language/vi.json738
-rw-r--r--library/intl/resources/language/vun.json738
-rw-r--r--library/intl/resources/language/wae.json738
-rw-r--r--library/intl/resources/language/xog.json738
-rw-r--r--library/intl/resources/language/yav.json738
-rw-r--r--library/intl/resources/language/yo-BJ.json738
-rw-r--r--library/intl/resources/language/yo.json738
-rw-r--r--library/intl/resources/language/zgh.json738
-rw-r--r--library/intl/resources/language/zh-Hans-HK.json738
-rw-r--r--library/intl/resources/language/zh-Hans-MO.json738
-rw-r--r--library/intl/resources/language/zh-Hans-SG.json738
-rw-r--r--library/intl/resources/language/zh-Hant-HK.json738
-rw-r--r--library/intl/resources/language/zh-Hant-MO.json738
-rw-r--r--library/intl/resources/language/zh-Hant.json738
-rw-r--r--library/intl/resources/language/zh.json738
-rw-r--r--library/intl/resources/language/zu.json738
-rw-r--r--library/intl/resources/number_format/aa.json7
-rw-r--r--library/intl/resources/number_format/af-NA.json9
-rw-r--r--library/intl/resources/number_format/af.json9
-rw-r--r--library/intl/resources/number_format/agq.json9
-rw-r--r--library/intl/resources/number_format/ak.json7
-rw-r--r--library/intl/resources/number_format/am.json7
-rw-r--r--library/intl/resources/number_format/ar-DZ.json11
-rw-r--r--library/intl/resources/number_format/ar-EH.json9
-rw-r--r--library/intl/resources/number_format/ar-LY.json11
-rw-r--r--library/intl/resources/number_format/ar-MA.json11
-rw-r--r--library/intl/resources/number_format/ar-TN.json11
-rw-r--r--library/intl/resources/number_format/ar.json12
-rw-r--r--library/intl/resources/number_format/as.json7
-rw-r--r--library/intl/resources/number_format/asa.json7
-rw-r--r--library/intl/resources/number_format/ast.json9
-rw-r--r--library/intl/resources/number_format/az.json9
-rw-r--r--library/intl/resources/number_format/bas.json9
-rw-r--r--library/intl/resources/number_format/be.json9
-rw-r--r--library/intl/resources/number_format/bem.json7
-rw-r--r--library/intl/resources/number_format/bez.json7
-rw-r--r--library/intl/resources/number_format/bg.json9
-rw-r--r--library/intl/resources/number_format/bm.json7
-rw-r--r--library/intl/resources/number_format/bn.json7
-rw-r--r--library/intl/resources/number_format/bo.json7
-rw-r--r--library/intl/resources/number_format/br.json9
-rw-r--r--library/intl/resources/number_format/brx.json7
-rw-r--r--library/intl/resources/number_format/bs.json9
-rw-r--r--library/intl/resources/number_format/ca.json9
-rw-r--r--library/intl/resources/number_format/cgg.json7
-rw-r--r--library/intl/resources/number_format/chr.json7
-rw-r--r--library/intl/resources/number_format/cs.json9
-rw-r--r--library/intl/resources/number_format/cy.json7
-rw-r--r--library/intl/resources/number_format/da.json9
-rw-r--r--library/intl/resources/number_format/dav.json7
-rw-r--r--library/intl/resources/number_format/de-AT.json9
-rw-r--r--library/intl/resources/number_format/de-CH.json8
-rw-r--r--library/intl/resources/number_format/de-LI.json8
-rw-r--r--library/intl/resources/number_format/de.json9
-rw-r--r--library/intl/resources/number_format/dje.json8
-rw-r--r--library/intl/resources/number_format/dsb.json9
-rw-r--r--library/intl/resources/number_format/dua.json9
-rw-r--r--library/intl/resources/number_format/dyo.json9
-rw-r--r--library/intl/resources/number_format/dz.json7
-rw-r--r--library/intl/resources/number_format/ebu.json7
-rw-r--r--library/intl/resources/number_format/ee.json7
-rw-r--r--library/intl/resources/number_format/el-CY.json9
-rw-r--r--library/intl/resources/number_format/el.json9
-rw-r--r--library/intl/resources/number_format/en-BE.json9
-rw-r--r--library/intl/resources/number_format/en-IN.json7
-rw-r--r--library/intl/resources/number_format/en-PK.json7
-rw-r--r--library/intl/resources/number_format/en-ZA.json9
-rw-r--r--library/intl/resources/number_format/en.json7
-rw-r--r--library/intl/resources/number_format/eo.json10
-rw-r--r--library/intl/resources/number_format/es-AR.json9
-rw-r--r--library/intl/resources/number_format/es-BO.json9
-rw-r--r--library/intl/resources/number_format/es-CL.json9
-rw-r--r--library/intl/resources/number_format/es-CO.json9
-rw-r--r--library/intl/resources/number_format/es-CR.json9
-rw-r--r--library/intl/resources/number_format/es-CU.json7
-rw-r--r--library/intl/resources/number_format/es-DO.json7
-rw-r--r--library/intl/resources/number_format/es-EC.json9
-rw-r--r--library/intl/resources/number_format/es-GQ.json9
-rw-r--r--library/intl/resources/number_format/es-GT.json7
-rw-r--r--library/intl/resources/number_format/es-HN.json7
-rw-r--r--library/intl/resources/number_format/es-MX.json7
-rw-r--r--library/intl/resources/number_format/es-NI.json7
-rw-r--r--library/intl/resources/number_format/es-PA.json7
-rw-r--r--library/intl/resources/number_format/es-PE.json7
-rw-r--r--library/intl/resources/number_format/es-PR.json7
-rw-r--r--library/intl/resources/number_format/es-PY.json9
-rw-r--r--library/intl/resources/number_format/es-SV.json7
-rw-r--r--library/intl/resources/number_format/es-US.json7
-rw-r--r--library/intl/resources/number_format/es-UY.json9
-rw-r--r--library/intl/resources/number_format/es-VE.json9
-rw-r--r--library/intl/resources/number_format/es.json9
-rw-r--r--library/intl/resources/number_format/et.json9
-rw-r--r--library/intl/resources/number_format/eu.json9
-rw-r--r--library/intl/resources/number_format/ewo.json9
-rw-r--r--library/intl/resources/number_format/fa.json12
-rw-r--r--library/intl/resources/number_format/ff.json9
-rw-r--r--library/intl/resources/number_format/fi.json10
-rw-r--r--library/intl/resources/number_format/fil.json7
-rw-r--r--library/intl/resources/number_format/fo.json10
-rw-r--r--library/intl/resources/number_format/fr-BE.json9
-rw-r--r--library/intl/resources/number_format/fr-CH.json8
-rw-r--r--library/intl/resources/number_format/fr-LU.json9
-rw-r--r--library/intl/resources/number_format/fr.json9
-rw-r--r--library/intl/resources/number_format/fur.json9
-rw-r--r--library/intl/resources/number_format/fy.json9
-rw-r--r--library/intl/resources/number_format/ga.json7
-rw-r--r--library/intl/resources/number_format/gd.json7
-rw-r--r--library/intl/resources/number_format/gl.json9
-rw-r--r--library/intl/resources/number_format/gsw.json9
-rw-r--r--library/intl/resources/number_format/gu.json7
-rw-r--r--library/intl/resources/number_format/guz.json7
-rw-r--r--library/intl/resources/number_format/gv.json7
-rw-r--r--library/intl/resources/number_format/ha.json7
-rw-r--r--library/intl/resources/number_format/haw.json7
-rw-r--r--library/intl/resources/number_format/he.json9
-rw-r--r--library/intl/resources/number_format/hi.json7
-rw-r--r--library/intl/resources/number_format/hr.json9
-rw-r--r--library/intl/resources/number_format/hsb.json9
-rw-r--r--library/intl/resources/number_format/hu.json9
-rw-r--r--library/intl/resources/number_format/hy.json9
-rw-r--r--library/intl/resources/number_format/id.json9
-rw-r--r--library/intl/resources/number_format/ig.json7
-rw-r--r--library/intl/resources/number_format/ii.json7
-rw-r--r--library/intl/resources/number_format/is.json9
-rw-r--r--library/intl/resources/number_format/it-CH.json8
-rw-r--r--library/intl/resources/number_format/it.json9
-rw-r--r--library/intl/resources/number_format/ja.json7
-rw-r--r--library/intl/resources/number_format/jgo.json9
-rw-r--r--library/intl/resources/number_format/jmc.json7
-rw-r--r--library/intl/resources/number_format/ka.json9
-rw-r--r--library/intl/resources/number_format/kab.json9
-rw-r--r--library/intl/resources/number_format/kam.json7
-rw-r--r--library/intl/resources/number_format/kde.json7
-rw-r--r--library/intl/resources/number_format/kea.json9
-rw-r--r--library/intl/resources/number_format/khq.json8
-rw-r--r--library/intl/resources/number_format/ki.json7
-rw-r--r--library/intl/resources/number_format/kk.json9
-rw-r--r--library/intl/resources/number_format/kkj.json9
-rw-r--r--library/intl/resources/number_format/kl.json10
-rw-r--r--library/intl/resources/number_format/kln.json7
-rw-r--r--library/intl/resources/number_format/km.json9
-rw-r--r--library/intl/resources/number_format/kn.json7
-rw-r--r--library/intl/resources/number_format/ko.json7
-rw-r--r--library/intl/resources/number_format/kok.json7
-rw-r--r--library/intl/resources/number_format/ks.json12
-rw-r--r--library/intl/resources/number_format/ksb.json7
-rw-r--r--library/intl/resources/number_format/ksf.json9
-rw-r--r--library/intl/resources/number_format/ksh.json10
-rw-r--r--library/intl/resources/number_format/kw.json7
-rw-r--r--library/intl/resources/number_format/ky.json9
-rw-r--r--library/intl/resources/number_format/lag.json7
-rw-r--r--library/intl/resources/number_format/lb.json9
-rw-r--r--library/intl/resources/number_format/lg.json7
-rw-r--r--library/intl/resources/number_format/lkt.json7
-rw-r--r--library/intl/resources/number_format/ln.json9
-rw-r--r--library/intl/resources/number_format/lo.json9
-rw-r--r--library/intl/resources/number_format/lt.json10
-rw-r--r--library/intl/resources/number_format/lu.json9
-rw-r--r--library/intl/resources/number_format/luo.json7
-rw-r--r--library/intl/resources/number_format/luy.json7
-rw-r--r--library/intl/resources/number_format/lv.json9
-rw-r--r--library/intl/resources/number_format/mas.json7
-rw-r--r--library/intl/resources/number_format/mer.json7
-rw-r--r--library/intl/resources/number_format/mfe.json8
-rw-r--r--library/intl/resources/number_format/mg.json7
-rw-r--r--library/intl/resources/number_format/mgh.json9
-rw-r--r--library/intl/resources/number_format/mgo.json7
-rw-r--r--library/intl/resources/number_format/mk.json9
-rw-r--r--library/intl/resources/number_format/ml.json7
-rw-r--r--library/intl/resources/number_format/mn.json7
-rw-r--r--library/intl/resources/number_format/mr.json7
-rw-r--r--library/intl/resources/number_format/ms-Latn-BN.json9
-rw-r--r--library/intl/resources/number_format/ms.json7
-rw-r--r--library/intl/resources/number_format/mt.json7
-rw-r--r--library/intl/resources/number_format/mua.json9
-rw-r--r--library/intl/resources/number_format/my.json7
-rw-r--r--library/intl/resources/number_format/naq.json7
-rw-r--r--library/intl/resources/number_format/nb.json10
-rw-r--r--library/intl/resources/number_format/nd.json7
-rw-r--r--library/intl/resources/number_format/ne.json7
-rw-r--r--library/intl/resources/number_format/nl-BE.json9
-rw-r--r--library/intl/resources/number_format/nl.json9
-rw-r--r--library/intl/resources/number_format/nmg.json9
-rw-r--r--library/intl/resources/number_format/nn.json10
-rw-r--r--library/intl/resources/number_format/nnh.json9
-rw-r--r--library/intl/resources/number_format/nr.json9
-rw-r--r--library/intl/resources/number_format/nso.json8
-rw-r--r--library/intl/resources/number_format/nus.json7
-rw-r--r--library/intl/resources/number_format/nyn.json7
-rw-r--r--library/intl/resources/number_format/om.json7
-rw-r--r--library/intl/resources/number_format/or.json7
-rw-r--r--library/intl/resources/number_format/os.json9
-rw-r--r--library/intl/resources/number_format/pa-Arab.json12
-rw-r--r--library/intl/resources/number_format/pa.json7
-rw-r--r--library/intl/resources/number_format/pl.json9
-rw-r--r--library/intl/resources/number_format/ps.json12
-rw-r--r--library/intl/resources/number_format/pt-AO.json9
-rw-r--r--library/intl/resources/number_format/pt-CV.json9
-rw-r--r--library/intl/resources/number_format/pt-GW.json9
-rw-r--r--library/intl/resources/number_format/pt-MO.json9
-rw-r--r--library/intl/resources/number_format/pt-MZ.json9
-rw-r--r--library/intl/resources/number_format/pt-PT.json9
-rw-r--r--library/intl/resources/number_format/pt-ST.json9
-rw-r--r--library/intl/resources/number_format/pt-TL.json9
-rw-r--r--library/intl/resources/number_format/pt.json9
-rw-r--r--library/intl/resources/number_format/qu-BO.json9
-rw-r--r--library/intl/resources/number_format/qu.json7
-rw-r--r--library/intl/resources/number_format/rm.json9
-rw-r--r--library/intl/resources/number_format/rn.json9
-rw-r--r--library/intl/resources/number_format/ro.json9
-rw-r--r--library/intl/resources/number_format/rof.json7
-rw-r--r--library/intl/resources/number_format/ru.json9
-rw-r--r--library/intl/resources/number_format/rw.json9
-rw-r--r--library/intl/resources/number_format/rwk.json7
-rw-r--r--library/intl/resources/number_format/sah.json7
-rw-r--r--library/intl/resources/number_format/saq.json7
-rw-r--r--library/intl/resources/number_format/sbp.json7
-rw-r--r--library/intl/resources/number_format/se.json10
-rw-r--r--library/intl/resources/number_format/seh.json9
-rw-r--r--library/intl/resources/number_format/ses.json8
-rw-r--r--library/intl/resources/number_format/sg.json9
-rw-r--r--library/intl/resources/number_format/shi.json9
-rw-r--r--library/intl/resources/number_format/si.json7
-rw-r--r--library/intl/resources/number_format/sk.json9
-rw-r--r--library/intl/resources/number_format/sl.json9
-rw-r--r--library/intl/resources/number_format/smn.json7
-rw-r--r--library/intl/resources/number_format/sn.json7
-rw-r--r--library/intl/resources/number_format/so.json7
-rw-r--r--library/intl/resources/number_format/sq.json9
-rw-r--r--library/intl/resources/number_format/sr.json9
-rw-r--r--library/intl/resources/number_format/ss.json9
-rw-r--r--library/intl/resources/number_format/ssy.json7
-rw-r--r--library/intl/resources/number_format/sv.json10
-rw-r--r--library/intl/resources/number_format/sw.json7
-rw-r--r--library/intl/resources/number_format/swc.json9
-rw-r--r--library/intl/resources/number_format/ta-MY.json7
-rw-r--r--library/intl/resources/number_format/ta-SG.json7
-rw-r--r--library/intl/resources/number_format/ta.json7
-rw-r--r--library/intl/resources/number_format/te.json7
-rw-r--r--library/intl/resources/number_format/teo.json7
-rw-r--r--library/intl/resources/number_format/th.json7
-rw-r--r--library/intl/resources/number_format/ti.json7
-rw-r--r--library/intl/resources/number_format/tn.json8
-rw-r--r--library/intl/resources/number_format/to.json7
-rw-r--r--library/intl/resources/number_format/tr.json9
-rw-r--r--library/intl/resources/number_format/ts.json9
-rw-r--r--library/intl/resources/number_format/twq.json8
-rw-r--r--library/intl/resources/number_format/tzm.json9
-rw-r--r--library/intl/resources/number_format/ug.json7
-rw-r--r--library/intl/resources/number_format/uk.json9
-rw-r--r--library/intl/resources/number_format/ur-IN.json9
-rw-r--r--library/intl/resources/number_format/ur.json9
-rw-r--r--library/intl/resources/number_format/uz-Arab.json12
-rw-r--r--library/intl/resources/number_format/uz.json9
-rw-r--r--library/intl/resources/number_format/vai.json7
-rw-r--r--library/intl/resources/number_format/ve.json9
-rw-r--r--library/intl/resources/number_format/vi.json9
-rw-r--r--library/intl/resources/number_format/vo.json7
-rw-r--r--library/intl/resources/number_format/vun.json7
-rw-r--r--library/intl/resources/number_format/wae.json9
-rw-r--r--library/intl/resources/number_format/xog.json7
-rw-r--r--library/intl/resources/number_format/yav.json9
-rw-r--r--library/intl/resources/number_format/yi.json7
-rw-r--r--library/intl/resources/number_format/yo.json7
-rw-r--r--library/intl/resources/number_format/zgh.json9
-rw-r--r--library/intl/resources/number_format/zh-Hans-HK.json7
-rw-r--r--library/intl/resources/number_format/zh-Hans-MO.json7
-rw-r--r--library/intl/resources/number_format/zh-Hans-SG.json7
-rw-r--r--library/intl/resources/number_format/zh-Hant.json7
-rw-r--r--library/intl/resources/number_format/zh.json7
-rw-r--r--library/intl/resources/number_format/zu.json7
-rw-r--r--library/intl/scripts/country/generate.php162
-rw-r--r--library/intl/scripts/currency/generate.php153
-rw-r--r--library/intl/scripts/language/generate.php129
-rw-r--r--library/intl/scripts/number_format/generate.php107
-rw-r--r--library/intl/src/Country/Country.php168
-rw-r--r--library/intl/src/Country/CountryInterface.php99
-rw-r--r--library/intl/src/Country/CountryRepository.php124
-rw-r--r--library/intl/src/Country/CountryRepositoryInterface.php31
-rw-r--r--library/intl/src/Currency/Currency.php168
-rw-r--r--library/intl/src/Currency/CurrencyInterface.php82
-rw-r--r--library/intl/src/Currency/CurrencyRepository.php122
-rw-r--r--library/intl/src/Currency/CurrencyRepositoryInterface.php31
-rw-r--r--library/intl/src/Exception/ExceptionInterface.php7
-rw-r--r--library/intl/src/Exception/InvalidArgumentException.php11
-rw-r--r--library/intl/src/Exception/UnknownCountryException.php11
-rw-r--r--library/intl/src/Exception/UnknownCurrencyException.php11
-rw-r--r--library/intl/src/Exception/UnknownLanguageException.php11
-rw-r--r--library/intl/src/Exception/UnknownLocaleException.php10
-rw-r--r--library/intl/src/Formatter/NumberFormatter.php406
-rw-r--r--library/intl/src/Formatter/NumberFormatterInterface.php134
-rw-r--r--library/intl/src/Language/Language.php91
-rw-r--r--library/intl/src/Language/LanguageInterface.php37
-rw-r--r--library/intl/src/Language/LanguageRepository.php96
-rw-r--r--library/intl/src/Language/LanguageRepositoryInterface.php31
-rw-r--r--library/intl/src/LocaleResolverTrait.php89
-rw-r--r--library/intl/src/NumberFormat/NumberFormat.php269
-rw-r--r--library/intl/src/NumberFormat/NumberFormatInterface.php185
-rw-r--r--library/intl/src/NumberFormat/NumberFormatRepository.php87
-rw-r--r--library/intl/src/NumberFormat/NumberFormatRepositoryInterface.php19
-rw-r--r--library/intl/tests/Country/CountryRepositoryTest.php114
-rw-r--r--library/intl/tests/Country/CountryTest.php83
-rw-r--r--library/intl/tests/Currency/CurrencyRepositoryTest.php113
-rw-r--r--library/intl/tests/Currency/CurrencyTest.php83
-rw-r--r--library/intl/tests/DummyRepository.php23
-rw-r--r--library/intl/tests/Formatter/NumberFormatterTest.php378
-rw-r--r--library/intl/tests/Language/LanguageRepositoryTest.php92
-rw-r--r--library/intl/tests/Language/LanguageTest.php53
-rw-r--r--library/intl/tests/LocaleResolverTest.php51
-rw-r--r--library/intl/tests/NumberFormat/NumberFormatRepositoryTest.php69
-rw-r--r--library/intl/tests/NumberFormat/NumberFormatTest.php131
-rw-r--r--library/intl/vendor/autoload.php7
-rw-r--r--library/intl/vendor/composer/ClassLoader.php387
-rw-r--r--library/intl/vendor/composer/autoload_classmap.php9
-rw-r--r--library/intl/vendor/composer/autoload_namespaces.php9
-rw-r--r--library/intl/vendor/composer/autoload_psr4.php10
-rw-r--r--library/intl/vendor/composer/autoload_real.php50
-rw-r--r--library/jRange/.gitignore2
-rw-r--r--library/jRange/LICENSE21
-rw-r--r--library/jRange/README.md5
-rw-r--r--library/jRange/demo/index.html245
-rw-r--r--library/jRange/demo/main.css289
-rw-r--r--library/jRange/demo/main.less296
-rw-r--r--library/jRange/demo/normalize.css425
-rw-r--r--library/jRange/demo/prism/prism.css193
-rw-r--r--library/jRange/demo/prism/prism.js8
-rw-r--r--library/jRange/jquery.range-min.js1
-rw-r--r--library/jRange/jquery.range.css168
-rw-r--r--library/jRange/jquery.range.js297
-rw-r--r--library/jRange/jquery.range.less192
-rw-r--r--library/jgrowl/README2
-rw-r--r--library/jgrowl/jquery.jgrowl.css137
-rw-r--r--library/jgrowl/jquery.jgrowl_minimized.js13
-rw-r--r--library/jquery-textcomplete/LICENSE21
-rw-r--r--library/jquery-textcomplete/jquery.textcomplete.js1088
-rw-r--r--library/jquery.AreYouSure/.gitignore166
-rw-r--r--library/jquery.AreYouSure/Gruntfile.js26
-rw-r--r--library/jquery.AreYouSure/README.md297
-rw-r--r--library/jquery.AreYouSure/are-you-sure.jquery.json39
-rw-r--r--library/jquery.AreYouSure/ays-beforeunload-shim.js31
-rw-r--r--library/jquery.AreYouSure/bower.json30
-rw-r--r--library/jquery.AreYouSure/demo/are-you-sure-demo.html576
-rw-r--r--library/jquery.AreYouSure/jquery.are-you-sure.js192
-rw-r--r--library/jquery.AreYouSure/package.json45
-rw-r--r--library/jquery.AreYouSure/spec/javascripts/fixtures/input-text.html4
-rw-r--r--library/jquery.AreYouSure/spec/javascripts/jquery.are-you-sure_spec.js28
-rw-r--r--library/jquery.divgrow/divGrow-1.3.1.zipbin2124 -> 0 bytes
-rw-r--r--library/jquery.divgrow/howto46
-rw-r--r--library/jquery.divgrow/jquery.divgrow-1.3.1.js89
-rw-r--r--library/jquery.divgrow/jquery.divgrow-1.3.1.min.js1
-rw-r--r--library/jslider/.gitignore2
-rw-r--r--library/jslider/MIT-LICENSE.txt20
-rw-r--r--library/jslider/Makefile15
-rw-r--r--library/jslider/README.md9
-rw-r--r--library/jslider/bin/jquery.slider.min.css1
-rw-r--r--library/jslider/bin/jquery.slider.min.js1
-rw-r--r--library/jslider/css/jslider.blue.css4
-rw-r--r--library/jslider/css/jslider.css39
-rw-r--r--library/jslider/css/jslider.plastic.css3
-rw-r--r--library/jslider/css/jslider.round.css5
-rw-r--r--library/jslider/css/jslider.round.plastic.css5
-rw-r--r--library/jslider/img/jslider.blue.pngbin1001 -> 0 bytes
-rw-r--r--library/jslider/img/jslider.plastic.pngbin1237 -> 0 bytes
-rw-r--r--library/jslider/img/jslider.pngbin832 -> 0 bytes
-rw-r--r--library/jslider/img/jslider.round.plastic.pngbin1770 -> 0 bytes
-rw-r--r--library/jslider/img/jslider.round.pngbin1871 -> 0 bytes
-rw-r--r--library/jslider/index.html152
-rw-r--r--library/jslider/js/draggable-0.1.js196
-rw-r--r--library/jslider/js/jquery-1.7.1.js9266
-rw-r--r--library/jslider/js/jquery.dependClass-0.1.js56
-rw-r--r--library/jslider/js/jquery.numberformatter-1.2.3.js510
-rw-r--r--library/jslider/js/jquery.slider.js700
-rw-r--r--library/jslider/js/jshashtable-2.1_src.js370
-rw-r--r--library/jslider/js/tmpl.js35
-rw-r--r--library/jslider/src/skin.psdbin143059 -> 0 bytes
-rw-r--r--library/jslider/tests/show_hide.html53
-rw-r--r--library/jslider/tests/zero_value.html64
-rw-r--r--library/jslider/tools/yuicompressor-2.4.7.jarbin891148 -> 0 bytes
-rw-r--r--library/readmore.js/README.md171
-rw-r--r--library/readmore.js/readmore.js320
-rw-r--r--mod/acl.php169
-rw-r--r--mod/admin.php90
-rw-r--r--mod/apps.php1
-rw-r--r--mod/blocks.php160
-rw-r--r--mod/channel.php61
-rw-r--r--mod/chatsvc.php4
-rw-r--r--mod/connect.php3
-rw-r--r--mod/connections.php18
-rw-r--r--mod/connedit.php54
-rw-r--r--mod/contactgroup.php2
-rw-r--r--mod/delegate.php2
-rw-r--r--mod/directory.php127
-rw-r--r--mod/dirprofile.php184
-rw-r--r--mod/dirsearch.php84
-rw-r--r--mod/display.php18
-rw-r--r--mod/editblock.php199
-rw-r--r--mod/editlayout.php218
-rw-r--r--mod/editpost.php6
-rw-r--r--mod/editwebpage.php111
-rwxr-xr-xmod/events.php29
-rw-r--r--mod/feed.php3
-rw-r--r--mod/filer.php2
-rw-r--r--mod/filerm.php2
-rw-r--r--mod/filestorage.php15
-rw-r--r--mod/fsuggest.php2
-rw-r--r--mod/group.php6
-rw-r--r--mod/help.php2
-rw-r--r--mod/home.php198
-rw-r--r--mod/import.php36
-rw-r--r--mod/item.php320
-rw-r--r--mod/layouts.php119
-rwxr-xr-xmod/like.php20
-rw-r--r--mod/locs.php76
-rw-r--r--mod/lostpass.php4
-rw-r--r--mod/mail.php10
-rw-r--r--mod/manage.php30
-rw-r--r--mod/menu.php72
-rw-r--r--mod/mitem.php118
-rw-r--r--mod/network.php286
-rw-r--r--mod/new_channel.php5
-rw-r--r--mod/notifications.php6
-rw-r--r--mod/openid.php2
-rw-r--r--mod/p.php2
-rw-r--r--mod/parse_url.php9
-rw-r--r--mod/photo.php22
-rw-r--r--mod/photos.php245
-rw-r--r--mod/ping.php233
-rw-r--r--mod/poco.php20
-rw-r--r--mod/post.php47
-rw-r--r--mod/profile_photo.php12
-rw-r--r--mod/profiles.php71
-rw-r--r--mod/profperm.php4
-rw-r--r--mod/receive.php2
-rw-r--r--mod/register.php10
-rw-r--r--mod/search.php37
-rw-r--r--mod/settings.php152
-rwxr-xr-xmod/setup.php34
-rw-r--r--mod/siteinfo.php12
-rw-r--r--mod/smilies.php14
-rw-r--r--mod/sources.php4
-rw-r--r--mod/sslify.php2
-rw-r--r--mod/starred.php2
-rwxr-xr-xmod/subthread.php2
-rw-r--r--mod/thing.php6
-rw-r--r--mod/uexport.php39
-rw-r--r--mod/update_home.php38
-rw-r--r--mod/viewconnections.php8
-rw-r--r--mod/wall_upload.php5
-rw-r--r--mod/webpages.php149
-rw-r--r--mod/xchan.php19
-rw-r--r--mod/zfinger.php20
-rw-r--r--mod/zotfeed.php4
-rw-r--r--util/messages.po7420
-rw-r--r--util/po2php.php18
l---------vendor/bin/sabredav1
l---------vendor/bin/vobjectvalidate.php1
-rw-r--r--version.inc2
-rw-r--r--view/css/bootstrap-red.css29
-rw-r--r--view/css/conversation.css8
-rw-r--r--view/css/default.css4
-rw-r--r--view/css/mod_cloud.css43
-rw-r--r--view/css/mod_connect.css4
-rw-r--r--view/css/mod_connedit.css18
-rw-r--r--view/css/mod_directory.css36
-rw-r--r--view/css/mod_group.css2
-rw-r--r--view/css/mod_locs.css3
-rw-r--r--view/css/mod_manage.css30
-rw-r--r--view/css/mod_menu.css3
-rw-r--r--view/css/mod_new_channel.css4
-rw-r--r--view/css/mod_photos.css99
-rw-r--r--view/css/mod_profile.css16
-rw-r--r--view/css/mod_settings.css8
-rw-r--r--view/css/mod_thing.css5
-rw-r--r--view/css/widgets.css40
-rw-r--r--view/de/messages.po11040
-rw-r--r--view/de/strings.php2678
-rw-r--r--view/en/htconfig.tpl3
-rw-r--r--view/fr/lostpass_eml.tpl16
-rw-r--r--view/fr/messages.po104
-rw-r--r--view/fr/passchanged_eml.tpl8
-rw-r--r--view/fr/register_open_eml.tpl15
-rw-r--r--view/fr/register_verify_eml.tpl8
-rw-r--r--view/fr/register_verify_member.tpl8
-rw-r--r--view/fr/strings.php112
-rw-r--r--view/fr/update_fail_eml.tpl8
-rw-r--r--view/it/messages.po8484
-rw-r--r--view/it/strings.php1948
-rw-r--r--view/js/acl.js22
-rw-r--r--view/js/autocomplete.js217
-rw-r--r--view/js/jquery-compat.js71
-rw-r--r--view/js/main.js72
-rw-r--r--view/js/mod_admin.js3
-rw-r--r--view/js/mod_connedit.js2
-rw-r--r--view/js/mod_directory.js3
-rw-r--r--view/js/mod_filestorage.js1
-rw-r--r--view/js/mod_new_channel.js2
-rw-r--r--view/js/mod_photos.js10
-rw-r--r--view/js/mod_profiles.js3
-rw-r--r--view/js/mod_settings.js5
-rw-r--r--view/nb-no/messages.po8668
-rw-r--r--view/nb-no/strings.php1828
-rw-r--r--view/nl/messages.po8884
-rw-r--r--view/nl/strings.php2022
-rw-r--r--view/php/theme_init.php15
-rw-r--r--view/sv/lostpass_eml.tpl10
-rw-r--r--view/sv/messages.po10756
-rw-r--r--view/sv/passchanged_eml.tpl7
-rw-r--r--view/sv/register_open_eml.tpl12
-rw-r--r--view/sv/register_verify_eml.tpl5
-rw-r--r--view/sv/register_verify_member.tpl24
-rw-r--r--view/sv/strings.php2540
-rw-r--r--view/sv/update_fail_eml.tpl16
-rw-r--r--view/theme/redbasic/css/blockmode.css15
-rw-r--r--view/theme/redbasic/css/style.css374
-rw-r--r--view/theme/redbasic/php/style.php7
-rw-r--r--view/theme/redbasic/php/theme_init.php5
-rw-r--r--view/theme/redbasic/schema/dark.php2
-rw-r--r--view/theme/redbasic/schema/simple_black_on_white.php2
-rw-r--r--view/theme/redbasic/schema/simple_green_on_black.php2
-rw-r--r--view/theme/redbasic/schema/simple_white_on_black.php2
-rw-r--r--view/theme/redbasic/tpl/theme_settings.tpl2
-rwxr-xr-xview/tpl/abook_edit.tpl44
-rwxr-xr-xview/tpl/acl_selector.tpl8
-rwxr-xr-xview/tpl/admin_aside.tpl1
-rwxr-xr-xview/tpl/admin_site.tpl9
-rwxr-xr-xview/tpl/album_edit.tpl33
-rw-r--r--view/tpl/app.tpl2
-rwxr-xr-xview/tpl/apps.tpl11
-rwxr-xr-xview/tpl/atom_feed_dfrn.tpl29
-rw-r--r--view/tpl/attach_edit.tpl72
-rw-r--r--view/tpl/blocklist.tpl6
-rwxr-xr-xview/tpl/build_query.tpl2
-rwxr-xr-xview/tpl/channel.tpl6
-rwxr-xr-xview/tpl/channels.tpl8
-rw-r--r--view/tpl/chatroom_new.tpl4
-rw-r--r--view/tpl/cloud_actionspanel.tpl44
-rw-r--r--view/tpl/cloud_directory.tpl84
-rw-r--r--view/tpl/cloud_header.tpl13
-rwxr-xr-xview/tpl/comment_item.tpl62
-rwxr-xr-xview/tpl/contact_slider.tpl2
-rwxr-xr-xview/tpl/conv_item.tpl2
-rwxr-xr-xview/tpl/conv_list.tpl179
-rwxr-xr-xview/tpl/crepair.tpl45
-rw-r--r--view/tpl/design_tools.tpl2
-rw-r--r--view/tpl/diaspora_profile.tpl16
-rw-r--r--view/tpl/dir_sort_links.tpl10
-rwxr-xr-xview/tpl/direntry.tpl30
-rwxr-xr-xview/tpl/direntry_large.tpl43
-rwxr-xr-xview/tpl/edpage_head.tpl1
-rwxr-xr-xview/tpl/event_head.tpl8
-rwxr-xr-xview/tpl/events-js.tpl12
-rwxr-xr-xview/tpl/field_acheckbox.tpl2
-rwxr-xr-xview/tpl/field_checkbox.tpl5
-rw-r--r--view/tpl/field_colorinput.tpl2
-rwxr-xr-xview/tpl/field_combobox.tpl2
-rwxr-xr-xview/tpl/field_custom.tpl2
-rwxr-xr-xview/tpl/field_input.tpl2
-rwxr-xr-xview/tpl/field_intcheckbox.tpl5
-rwxr-xr-xview/tpl/field_password.tpl2
-rwxr-xr-xview/tpl/field_radio.tpl2
-rwxr-xr-xview/tpl/field_richtext.tpl2
-rwxr-xr-xview/tpl/field_select.tpl2
-rw-r--r--view/tpl/field_select_disabled.tpl2
-rw-r--r--view/tpl/field_select_grouped.tpl12
-rwxr-xr-xview/tpl/field_select_raw.tpl2
-rwxr-xr-xview/tpl/field_textarea.tpl2
-rwxr-xr-xview/tpl/field_themeselect.tpl2
-rwxr-xr-xview/tpl/field_yesno.tpl2
-rwxr-xr-xview/tpl/head.tpl2
-rwxr-xr-xview/tpl/hide_comments.tpl4
-rwxr-xr-xview/tpl/install_db.tpl2
-rwxr-xr-xview/tpl/install_settings.tpl3
-rwxr-xr-xview/tpl/intros.tpl17
-rwxr-xr-xview/tpl/intros_header.tpl1
-rwxr-xr-xview/tpl/jot-header.tpl7
-rwxr-xr-xview/tpl/jot.tpl87
-rwxr-xr-xview/tpl/jot_geotag.tpl2
-rw-r--r--view/tpl/layoutlist.tpl8
-rw-r--r--view/tpl/list_things.tpl13
-rw-r--r--view/tpl/locmanage.tpl26
-rwxr-xr-xview/tpl/main_slider.tpl4
-rw-r--r--view/tpl/menulist.tpl2
-rw-r--r--view/tpl/mitemedit.tpl2
-rwxr-xr-xview/tpl/msg-header.tpl28
-rwxr-xr-xview/tpl/nav.tpl40
-rwxr-xr-xview/tpl/netfriend.tpl14
-rwxr-xr-xview/tpl/new_channel.tpl4
-rwxr-xr-xview/tpl/nogroup-template.tpl12
-rwxr-xr-xview/tpl/notifications_comments_item.tpl3
-rwxr-xr-xview/tpl/notifications_dislikes_item.tpl3
-rwxr-xr-xview/tpl/notifications_friends_item.tpl3
-rwxr-xr-xview/tpl/notifications_likes_item.tpl3
-rwxr-xr-xview/tpl/notifications_posts_item.tpl3
-rwxr-xr-xview/tpl/peoplefind.tpl29
-rwxr-xr-xview/tpl/photo_album.tpl20
-rwxr-xr-xview/tpl/photo_albums.tpl8
-rwxr-xr-xview/tpl/photo_view.tpl267
-rwxr-xr-xview/tpl/photos_recent.tpl3
-rwxr-xr-xview/tpl/photos_upload.tpl103
-rwxr-xr-xview/tpl/posted_date_widget.tpl28
-rwxr-xr-xview/tpl/profile_advanced.tpl460
-rw-r--r--view/tpl/profile_hide_friends.tpl20
-rwxr-xr-xview/tpl/profile_vcard.tpl2
-rwxr-xr-xview/tpl/prv_message.tpl14
-rw-r--r--view/tpl/safesearch.tpl4
-rw-r--r--view/tpl/saved_searches.tpl2
-rwxr-xr-xview/tpl/saved_searches_aside.tpl14
-rwxr-xr-xview/tpl/search_item.tpl2
-rw-r--r--view/tpl/searchbox.tpl2
-rw-r--r--view/tpl/select_timezone.tpl11
-rwxr-xr-xview/tpl/settings.tpl34
-rwxr-xr-xview/tpl/settings_display.tpl4
-rwxr-xr-xview/tpl/settings_features.tpl2
-rwxr-xr-xview/tpl/siteinfo.tpl5
-rw-r--r--view/tpl/smarty3/README4
-rw-r--r--view/tpl/suggest_widget.tpl4
-rwxr-xr-xview/tpl/suggestions.tpl20
-rw-r--r--view/tpl/uexport.tpl9
2341 files changed, 600451 insertions, 74680 deletions
diff --git a/app/admin.png b/app/admin.png
index f1954e52a..cde922e8e 100644
--- a/app/admin.png
+++ b/app/admin.png
Binary files differ
diff --git a/app/bookmarks.apd b/app/bookmarks.apd
index f126a35c5..6c3d718a8 100644
--- a/app/bookmarks.apd
+++ b/app/bookmarks.apd
@@ -1,4 +1,4 @@
url: $baseurl/bookmarks
requires: local_user
-name: Bookmarks
+name: View bookmarks
photo: $baseurl/app/bookmarks.png
diff --git a/app/bugreport.apd b/app/bugreport.apd
index 412ef62b8..42c31f016 100644
--- a/app/bugreport.apd
+++ b/app/bugreport.apd
@@ -1,4 +1,3 @@
url: https://github.com/friendica/red/issues
-requires: local_user
name: Bug Report
photo: $baseurl/app/bugreport.png
diff --git a/app/bugreport.png b/app/bugreport.png
index 64b6b7e9f..4b59da185 100644
--- a/app/bugreport.png
+++ b/app/bugreport.png
Binary files differ
diff --git a/app/chat.apd b/app/chat.apd
index 2eba8edba..249608f57 100644
--- a/app/chat.apd
+++ b/app/chat.apd
@@ -1,4 +1,4 @@
url: $baseurl/chat/$nick
requires: local_user
-name: Chat
+name: My chatrooms
photo: $baseurl/app/chat.png
diff --git a/app/chat.png b/app/chat.png
index aa03c75dd..9d3fdebd7 100644
--- a/app/chat.png
+++ b/app/chat.png
Binary files differ
diff --git a/app/connections.apd b/app/connections.apd
index 80f9b4570..146e553e5 100644
--- a/app/connections.apd
+++ b/app/connections.apd
@@ -1,4 +1,4 @@
url: $baseurl/connections
requires: local_user
-name: Address Book
+name: Connections
photo: $baseurl/app/connections.png
diff --git a/app/directory.png b/app/directory.png
index 2df872d94..659f69051 100644
--- a/app/directory.png
+++ b/app/directory.png
Binary files differ
diff --git a/app/events.png b/app/events.png
index 411ee51f9..a5670fd1e 100644
--- a/app/events.png
+++ b/app/events.png
Binary files differ
diff --git a/app/features.png b/app/features.png
index cdccd19f7..5faf14bc3 100644
--- a/app/features.png
+++ b/app/features.png
Binary files differ
diff --git a/app/help.png b/app/help.png
index e1348231c..6b9b1ccb6 100644
--- a/app/help.png
+++ b/app/help.png
Binary files differ
diff --git a/app/home.png b/app/home.png
index 3f1b864fc..4b45f2a7a 100644
--- a/app/home.png
+++ b/app/home.png
Binary files differ
diff --git a/app/invite.png b/app/invite.png
index 1cd9ce254..dbc2cbbfa 100644
--- a/app/invite.png
+++ b/app/invite.png
Binary files differ
diff --git a/app/lang.png b/app/lang.png
index 4c0b9aad1..89a61c26a 100644
--- a/app/lang.png
+++ b/app/lang.png
Binary files differ
diff --git a/app/mail.png b/app/mail.png
index 74fbdb03e..bbd9f8449 100644
--- a/app/mail.png
+++ b/app/mail.png
Binary files differ
diff --git a/app/manage.png b/app/manage.png
index 4c4d13162..38a4dcbae 100644
--- a/app/manage.png
+++ b/app/manage.png
Binary files differ
diff --git a/app/mood.png b/app/mood.png
index 7df642b96..2a5c1aca6 100644
--- a/app/mood.png
+++ b/app/mood.png
Binary files differ
diff --git a/app/photos.png b/app/photos.png
index b4b2c519e..59b038288 100644
--- a/app/photos.png
+++ b/app/photos.png
Binary files differ
diff --git a/app/poke.png b/app/poke.png
index 1d264dd1b..9655d54ff 100644
--- a/app/poke.png
+++ b/app/poke.png
Binary files differ
diff --git a/app/post.png b/app/post.png
index 11d48e271..4a4355581 100644
--- a/app/post.png
+++ b/app/post.png
Binary files differ
diff --git a/app/pphoto.png b/app/pphoto.png
index eda371e8b..041ff1e0c 100644
--- a/app/pphoto.png
+++ b/app/pphoto.png
Binary files differ
diff --git a/app/probe.apd b/app/probe.apd
index c96399391..e2d2428a0 100644
--- a/app/probe.apd
+++ b/app/probe.apd
@@ -1,4 +1,4 @@
url: $baseurl/probe
requires: local_user
-name: Probe
+name: Remote diagnostics
photo: $baseurl/app/probe.png
diff --git a/app/probe.png b/app/probe.png
index 71a954bf8..21bd85cd9 100644
--- a/app/probe.png
+++ b/app/probe.png
Binary files differ
diff --git a/app/profile.apd b/app/profile.apd
index ce52f960b..d2bdf23a7 100644
--- a/app/profile.apd
+++ b/app/profile.apd
@@ -1,4 +1,4 @@
url: $baseurl/profile/$nick
requires: local_user
-name: Profile
-
+name: View profile
+photo: $baseurl/app/profile.png
diff --git a/app/profile.png b/app/profile.png
new file mode 100644
index 000000000..e6e137c82
--- /dev/null
+++ b/app/profile.png
Binary files differ
diff --git a/app/randprof.png b/app/randprof.png
index 3280ef8ee..7bb438dcd 100644
--- a/app/randprof.png
+++ b/app/randprof.png
Binary files differ
diff --git a/app/search.png b/app/search.png
index e483280ec..505d93c3f 100644
--- a/app/search.png
+++ b/app/search.png
Binary files differ
diff --git a/app/settings.png b/app/settings.png
index ff5d8e5d2..2ba11a79a 100644
--- a/app/settings.png
+++ b/app/settings.png
Binary files differ
diff --git a/app/storage.png b/app/storage.png
index c1f2df801..ad8b89f6a 100644
--- a/app/storage.png
+++ b/app/storage.png
Binary files differ
diff --git a/app/suggest.apd b/app/suggest.apd
index ff82a73d3..f4ca79410 100644
--- a/app/suggest.apd
+++ b/app/suggest.apd
@@ -1,4 +1,4 @@
url: $baseurl/suggest
requires: local_user
-name: Suggest
+name: Suggest channels
photo: $baseurl/app/suggest.png
diff --git a/app/suggest.png b/app/suggest.png
index 6868da30f..ca9180528 100644
--- a/app/suggest.png
+++ b/app/suggest.png
Binary files differ
diff --git a/app/webpages.apd b/app/webpages.apd
index 4241dbb8e..7c7528d6b 100644
--- a/app/webpages.apd
+++ b/app/webpages.apd
@@ -1,4 +1,4 @@
url: $baseurl/webpages/$nick
-requires: local_user
+requires: local_user, webpages
name: Webpages
photo: $baseurl/app/webpages.png
diff --git a/app/webpages.png b/app/webpages.png
index 460117bae..72a091831 100644
--- a/app/webpages.png
+++ b/app/webpages.png
Binary files differ
diff --git a/assets/home.html b/assets/home.html
index a0d048682..2c3aa6e69 100644
--- a/assets/home.html
+++ b/assets/home.html
@@ -139,7 +139,8 @@ $(document).ready(function() {
var known = {
en: true, // ENGLISH
fr: true, // FRENCH
- nl: true // NETHERLANDS
+ nl: true, // NETHERLANDS
+ sv: true // SWEDISH
// ADD YOUR LANGUAGE HERE.
};
// Figure out the language, default to English because that's
@@ -196,6 +197,55 @@ $(document).ready(function() {
"Code Source Ouvert",
"Gratuit",
null);
+ else if (lang == "sv") // SWEDISH TRANSLATIONS
+ terms = new Array("Sekretess skalad för Internet",
+ "Socialt nätverkande",
+ "Single Sign-On",
+ "Fotoalbum",
+ "Decentraliserat",
+ "Molnlagring",
+ "Ditt eget innehåll",
+ "Blogg",
+ "End-to-end-kryptering",
+ "Chattrum",
+ "Delbara tilläggsprogram",
+ "Kontrollera behörighet mellan webbplatser",
+ "Ångra privata meddelanden",
+ "Skapa webbsidor",
+ "Innehållshantering",
+ "Tidsbegränsade meddelanden",
+ "Spel och verktyg",
+ "Inte styrt av företag",
+ "Forum",
+ "Gilla + Ogilla",
+ "Dela allt som är digitalt",
+ "Kommunikation",
+ "Identitsmedvetet innehåll",
+ "Pseudonymer",
+ "Multipla identiteter",
+ "Reklamfritt",
+ "Rich Text-inlägg/-kommentarer",
+ "Händelsekalender",
+ "Bokmärken",
+ "Gemensam taggning",
+ "Speglad katalog",
+ "Nomadisk identitet",
+ "Avknoppade kanaler",
+ "Anpassad kryptering",
+ "Multipla profiler",
+ "Sekretessgrupper",
+ "Fildelning",
+ "MIT-licens",
+ "Självständighet",
+ "Samhörighetsfiltrering",
+ "Vänförslag",
+ "Fjärrinloggning",
+ "Teman",
+ "Tillägg",
+ "Externt API",
+ "Tredjepartsappar",
+ "Öppen källkod",
+ null);
// Find all <div>s with a class of "wrapper" and lang attribute equal
// to `lang` and make them visibile.
@@ -239,7 +289,7 @@ function update_element() {
<div lang="en" class="wrapper">
<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-One of the traditional problems with independent publishing on the internet has always been the fact that independent publishers often operate as isolated islands within their own website, and spend most of their resources attracting visitors. The rise of corporate providers and social networking services alleviated many of these problems; however centralisation has led to a situation where your content where is no longer under your direct control. It is shared fully with corporate advertisers and governments, but ironically you are now often asked to pay money to ensure that your friends can see it. What if you could have advantages of scale and connections that centralisation typically offers whilst maintaining independent control over your own web presence?
+One of the traditional problems with independent publishing on the internet has always been the fact that independent publishers often operate as isolated islands within their own website, and spend most of their resources attracting visitors. The rise of corporate providers and social networking services alleviated many of these problems; however centralisation has led to a situation where your content is no longer under your direct control. It is shared fully with corporate advertisers and governments, but ironically you are now often asked to pay money to ensure that your friends can see it. What if you could have advantages of scale and connections that centralisation typically offers whilst maintaining independent control over your own web presence?
</div>
<br />
<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
@@ -297,7 +347,7 @@ Een van de traditionele problemen met onafhankelijke internetpublicaties is dat
</div>
<br />
<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-De RedMatrix is een supernetwerk bestaande uit een enorme hoeveelheid kleinere onafhankelijke en autonome websites, die aan elkaar gekoppeld een coöperatief publicatie en sociaal platform vormen. Het bestaat uit een opensource webapplicatie die een compleet <strong>gedecentraliseerd</strong> multi-user publicatie-, communicatie- en social media-systeem biedt, een “hub†geheten. Elke hub verzorgt de communicatie (privéberichten, chatten, bloggen, forums en een sociaal netwerk) en het mediabeheer (foto's, agenda, webpagina's en apps) voor zijn leden; alles in een functie-rijke omgeving. Deze hubs maken automatisch contact met elkaar en de rest van de matrix. Het individu blijft altijd directe controle houden over zijn/haar privacy en eigendom; en aan elk item in de gehele matrix kan aan wie dan ook toegang verleend of geweigerd worden.
+De RedMatrix is een supernetwerk bestaande uit een enorme hoeveelheid kleinere onafhankelijke en autonome websites, die aan elkaar gekoppeld een co&ouml;peratief publicatie en sociaal platform vormen. Het bestaat uit een opensource webapplicatie die een compleet <strong>gedecentraliseerd</strong> multi-user publicatie-, communicatie- en social media-systeem biedt, een “hub†geheten. Elke hub verzorgt de communicatie (privéberichten, chatten, bloggen, forums en een sociaal netwerk) en het mediabeheer (foto's, agenda, webpagina's en apps) voor zijn leden; alles in een functie-rijke omgeving. Deze hubs maken automatisch contact met elkaar en de rest van de matrix. Het individu blijft altijd directe controle houden over zijn/haar privacy en eigendom; en aan elk item in de gehele matrix kan aan wie dan ook toegang verleend of geweigerd worden.
</div>
<br />
<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
@@ -315,6 +365,33 @@ De RedMatrix is ideaal voor groepen mensen van welke omvang dan ook, van kleine
</div>
<div style="margin-top: 15px; margin-bottom: 15px;"><a href="pubsites">Andere openbare hubs</a> | <a href="https://redmatrix.me">Projectwebsite</a> | <a href="https://github.com/friendica/red">Broncode</a> | <a href="https://zothub.com/channel/one">Ontwikkelaars</a></div>
</div>
+
+<!-- SWEDISH FRONTPAGE TRANSLATION STARTS HERE -->
+
+<div lang="sv" class="wrapper" style="display: none;">
+<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
+Ett av de vanliga problemen med oberoende publicering p&aring; n&auml;tet har alltid varit det faktum att oberoende f&ouml;rfattare ofta &auml;r isolerade fr&aring;n varandra p&aring; sin egen webbplats och l&auml;gger det mesta av energin p&aring; att locka och attrahera bes&ouml;kare. Uppkomsten av vinstdrivande tj&auml;nster och s&aring; kallade sociala n&auml;tverk erbj&ouml;d en l&ouml;sning till m&aring;nga av dessa problem. Centraliseringen som p&aring;g&aring;tt har dock lett till att ditt inneh&aring;ll inte l&auml;ngre &auml;r under din direkta kontroll. Det &auml;r delat fullt ut med vinstdrivande annons&ouml;rer och myndigheter, men ironiskt nog uppmanas du ofta att betala pengar f&ouml;r att s&auml;kerst&auml;lla att dina v&auml;nner kan se ditt inneh&aring;ll. F&ouml;rest&auml;ll dig en situation d&auml;r du har f&ouml;rdelarna av den skalbarhet, kontakt och spridning som centraliseringen typiskt erbjuder, samtidigt som du inte ger avkall p&aring; kontroll &ouml;ver din egen n&auml;rvaro p&aring; Internet.
+</div>
+<br />
+<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
+RedMatrix &auml;r ett n&auml;tverk sammansatt av ett stort antal mindre, oberoende och sj&auml;lvst&auml;ndiga webbplatser, sammankopplade till en samverkande publicerings- och kommunikationsplattform. Mjukvaran best&aring;r av en webbapplikation sl&auml;ppt som &ouml;ppen k&auml;llkod, som tillhandah&aring;ller ett <strong>decentraliserat</strong> fleranv&auml;ndarsystem f&ouml;r kommunikation, publicering och delning, och n&auml;r den k&ouml;rs utg&ouml;r en nod i n&auml;tverket. Varje nod erbjuder s&aring;v&auml;l kommunikationsverktyg (privata meddelanden, chatt, blogg, forum och traditionellt socialt n&auml;tverkande) som filhantering (foton, kalenderh&auml;ndelser, filer, webbsidor, delbara till&auml;ggsprogram) f&ouml;r alla medlemmar; alltihop i en sammanknuten plattform. Dessa noder tar automatiskt kontakt med varandra och resten av n&auml;tverket. Sekretess och inneh&aring;llsstyrning &auml;r alltid under din direkta personliga kontroll, och beh&ouml;righet till inl&auml;gg eller filer kan ges eller nekas vem som helst i n&auml;tverket.
+</div>
+<br />
+<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
+Det som g&ouml;r RedMatrix unikt &auml;r vad vi kallar "magisk fj&auml;rrinloggning" - som &auml;r baserad p&aring; v&aring;rt banbrytande arbete med en decentraliserad identitetshantering. Ingen annan plattform vi k&auml;nner till erbjuder i dagsl&auml;get n&aring;got liknande. Inom n&auml;tverket &auml;r gr&auml;nserna mellan de olika noderna utsuddade eller till synes icke-existerande. En identitet i n&auml;tverket kan vara &ouml;verg&aring;ende och potentiellt nomadisk. "Vem du &auml;r" har inget att g&ouml;ra med "vilken dator du ansluter till inom n&auml;tverket" och webbsidornas inneh&aring;ll kan skapas s&aring; att det anpassar sig utifr&aring;n vem som tittar p&aring; det. Du har m&ouml;jlighet att "klona" din identitet till andra noder, vilket l&aring;ter dig forts&auml;tta att kommunicera med dina v&auml;nner utan avbrott om din prim&auml;ra nod skulle bli otillg&auml;nglig (tillf&auml;lligt eller permanent).
+</div>
+<br />
+<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
+RedMatrix passar f&ouml;r grupper av vilken storlek som helst - alltifr&aring;n privatpersoner och familjer till n&auml;tforum, f&ouml;retagswebbplatser och organisationer. Det kan anv&auml;ndas av alla som har inneh&aring;ll de &ouml;nskar dela med sig av och samtidigt ha full kontroll &ouml;ver vem de delar det med.
+</div>
+<br />
+<div style="margin-bottom: 15px; color: #808080; font-size: 1.8em;"><strong>RedMatrix - "N&auml;tverket"</strong></div>
+<div style="font-size: 1.4em;">
+<a href="register" style="color: white; padding:10px; background-color: #c60032; border-radius: 10px;">Registrera dig nu!</a>
+<a href="donate" style="color: white; padding:10px; background-color: #c60032; border-radius: 10px;">Ge ett bidrag / Sponsra</a>
+</div>
+<div style="margin-top: 15px; margin-bottom: 15px;"><a href="pubsites">Offentliga noder</a> | <a href="https://redmatrix.me">Projektets hemsida</a> | <a href="https://github.com/friendica/red">Kod</a> | <a href="https://zothub.com/channel/one">Utvecklare</a></div>
+</div>
<!-- INSERT NEW TRANSLATIONS HERE -->
<!-- DO NOT REMOVE THE 2 LINES BELOW -->
diff --git a/boot.php b/boot.php
index abbf48636..54e5676e2 100755
--- a/boot.php
+++ b/boot.php
@@ -1,6 +1,8 @@
<?php
-/** @file */
-
+/** @file boot.php
+ *
+ * This file defines some global constants and includes the central App class.
+ */
/**
* Red Matrix.
@@ -25,7 +27,6 @@
* documented.
*/
-
require_once('include/config.php');
require_once('include/network.php');
require_once('include/plugin.php');
@@ -48,14 +49,23 @@ define ( 'RED_PLATFORM', 'redmatrix' );
define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R');
define ( 'ZOT_REVISION', 1 );
-define ( 'DB_UPDATE_VERSION', 1130 );
+define ( 'DB_UPDATE_VERSION', 1131 );
-define ( 'EOL', '<br />' . "\r\n" );
+/**
+ * Constant with a HTML line break.
+ *
+ * Contains a HTML line break (br) element and a real carriage return with line
+ * feed for the source.
+ * This can be used in HTML and JavaScript where needed a line break.
+ *
+ * @var string
+ */
+define ( 'EOL', '<br>' . "\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
-define ( 'NULL_DATE', '0000-00-00 00:00:00' );
+//define ( 'NULL_DATE', '0000-00-00 00:00:00' );
define ( 'TEMPLATE_BUILD_PATH', 'store/[data]/smarty3' );
-define ( 'DIRECTORY_MODE_NORMAL', 0x0000); // This is technically DIRECTORY_MODE_TERTIARY, but it's the default, hence 0x0000
+define ( 'DIRECTORY_MODE_NORMAL', 0x0000); // This is technically DIRECTORY_MODE_TERTIARY, but it's the default, hence 0x0000
define ( 'DIRECTORY_MODE_PRIMARY', 0x0001);
define ( 'DIRECTORY_MODE_SECONDARY', 0x0002);
define ( 'DIRECTORY_MODE_STANDALONE', 0x0100);
@@ -72,9 +82,9 @@ $DIRECTORY_FALLBACK_SERVERS = array(
'https://zothub.com',
'https://zotid.net',
'https://redmatrix.nl',
- 'https://whogotzot.com',
'https://red.zottel.red',
- 'https://red.pixelbits.de'
+ 'https://red.pixelbits.de',
+ 'https://whogotzot.com'
);
@@ -196,7 +206,6 @@ define ( 'UPDATE_SUCCESS', 0);
define ( 'UPDATE_FAILED', 1);
-
define ( 'CLIENT_MODE_NORMAL', 0x0000);
define ( 'CLIENT_MODE_LOAD', 0x0001);
define ( 'CLIENT_MODE_UPDATE', 0x0002);
@@ -230,6 +239,9 @@ define ( 'PHOTO_NORMAL', 0x0000 );
define ( 'PHOTO_PROFILE', 0x0001 );
define ( 'PHOTO_XCHAN', 0x0002 );
define ( 'PHOTO_THING', 0x0004 );
+define ( 'PHOTO_ADULT', 0x0008 );
+
+define ( 'PHOTO_FLAG_OS', 0x4000 );
/**
* Menu types
@@ -262,13 +274,11 @@ define ( 'NETWORK_PHANTOM', 'unkn'); // Place holder
* Permissions
*/
-
define ( 'PERMS_R_STREAM', 0x00001);
define ( 'PERMS_R_PROFILE', 0x00002);
define ( 'PERMS_R_PHOTOS', 0x00004);
define ( 'PERMS_R_ABOOK', 0x00008);
-
define ( 'PERMS_W_STREAM', 0x00010);
define ( 'PERMS_W_WALL', 0x00020);
define ( 'PERMS_W_TAGWALL', 0x00040);
@@ -320,7 +330,6 @@ define ( 'ATTACH_FLAG_DIR', 0x0001);
define ( 'ATTACH_FLAG_OS', 0x0002);
-
define ( 'MENU_ITEM_ZID', 0x0001);
define ( 'MENU_ITEM_NEWWIN', 0x0002);
define ( 'MENU_ITEM_CHATROOM', 0x0004);
@@ -335,13 +344,11 @@ define ( 'POLL_MULTIPLE_CHOICE', 0x0004);
define ( 'POLL_OVERWRITE', 0x8000); // If you vote twice remove the prior entry
-
define ( 'UPDATE_FLAGS_UPDATED', 0x0001);
define ( 'UPDATE_FLAGS_FORCED', 0x0002);
define ( 'UPDATE_FLAGS_DELETED', 0x1000);
-
define ( 'DROPITEM_NORMAL', 0);
define ( 'DROPITEM_PHASE1', 1);
define ( 'DROPITEM_PHASE2', 2);
@@ -377,6 +384,22 @@ define ( 'NOTIFY_POKE', 0x0200 );
define ( 'NOTIFY_SYSTEM', 0x8000 );
+/**
+ * visual notification options
+ */
+
+define ( 'VNOTIFY_NETWORK', 0x0001 );
+define ( 'VNOTIFY_CHANNEL', 0x0002 );
+define ( 'VNOTIFY_MAIL', 0x0004 );
+define ( 'VNOTIFY_EVENT', 0x0008 );
+define ( 'VNOTIFY_EVENTTODAY', 0x0010 );
+define ( 'VNOTIFY_BIRTHDAY', 0x0020 );
+define ( 'VNOTIFY_SYSTEM', 0x0040 );
+define ( 'VNOTIFY_INFO', 0x0080 );
+define ( 'VNOTIFY_ALERT', 0x0100 );
+define ( 'VNOTIFY_INTRO', 0x0200 );
+define ( 'VNOTIFY_REGISTER', 0x0400 );
+
// We need a flag to designate that a site is a
// global directory mirror, but probably doesn't
@@ -397,6 +420,7 @@ define ( 'XCHAN_FLAGS_ORPHAN', 0x0002);
define ( 'XCHAN_FLAGS_CENSORED', 0x0004);
define ( 'XCHAN_FLAGS_SELFCENSORED', 0x0008);
define ( 'XCHAN_FLAGS_SYSTEM', 0x0010);
+define ( 'XCHAN_FLAGS_PUBFORUM', 0x0020);
define ( 'XCHAN_FLAGS_DELETED', 0x1000);
/*
* Traficlights for Administration of HubLoc
@@ -430,7 +454,6 @@ define ( 'TERM_OBJ_OBJECT', 5 );
define ( 'TERM_OBJ_THING', 6 );
define ( 'TERM_OBJ_APP', 7 );
-
/**
* various namespaces we may need to parse
*/
@@ -495,7 +518,6 @@ define ( 'GRAVITY_PARENT', 0);
define ( 'GRAVITY_LIKE', 3);
define ( 'GRAVITY_COMMENT', 6);
-
/**
* Account Flags
*/
@@ -556,6 +578,9 @@ define ( 'ITEM_RETAINED', 0x4000); // We looked at this item once to dec
define ( 'ITEM_RSS', 0x8000); // Item comes from a feed. Use this to decide whether to link the title
// Don't make us evaluate this same item again.
+define ( 'DBTYPE_MYSQL', 0 );
+define ( 'DBTYPE_POSTGRES', 1 );
+
/**
*
* Reverse the effect of magic_quotes_gpc if it is enabled.
@@ -571,7 +596,6 @@ function startup() {
@set_time_limit(0);
if(function_exists ('ini_set')) {
-
// This has to be quite large to deal with embedded private photos
@ini_set('pcre.backtrack_limit', 500000);
@@ -597,14 +621,13 @@ function startup() {
}
unset($process);
}
-
}
/**
- *
* class: App
*
- * Our main application structure for the life of this page
+ * @brief Our main application structure for the life of this page.
+ *
* Primarily deals with the URL that got us here
* and tries to make some sense of it, and
* stores our page contents and config storage
@@ -612,8 +635,6 @@ function startup() {
* before we spit the page out.
*
*/
-
-
class App {
public $install = false; // true if we are installing the software
@@ -625,10 +646,9 @@ class App {
public $poi = null; // "person of interest", generally a referenced connection
public $layout = array(); // Comanche parsed template
-
private $perms = null; // observer permissions
private $widgets = array(); // widgets for this page
- private $widgetlist = null; // widget ordering and inclusion directives
+ //private $widgetlist = null; // widget ordering and inclusion directives
public $groups;
public $language;
@@ -654,30 +674,34 @@ class App {
public $timezone;
public $interactive = true;
public $plugins;
- private $apps = array();
+ private $apps = array();
public $identities;
public $css_sources = array();
public $js_sources = array();
public $theme_info = array();
+ public $is_sys = false;
+ public $nav_sel;
- public $nav_sel;
-
- public $category;
+ public $category;
// Allow themes to control internal parameters
// by changing App values in theme.php
- public $sourcename = '';
- public $videowidth = 425;
- public $videoheight = 350;
- public $force_max_items = 0;
- public $theme_thread_allow = true;
-
- // An array for all theme-controllable parameters
- // Mostly unimplemented yet. Only options 'template_engine' and
- // beyond are used.
+ public $sourcename = '';
+ public $videowidth = 425;
+ public $videoheight = 350;
+ public $force_max_items = 0;
+ public $theme_thread_allow = true;
- private $theme = array(
+ /**
+ * @brief An array for all theme-controllable parameters
+ *
+ * Mostly unimplemented yet. Only options 'template_engine' and
+ * beyond are used.
+ *
+ * @var array
+ */
+ private $theme = array(
'sourcename' => '',
'videowidth' => 425,
'videoheight' => 350,
@@ -687,9 +711,17 @@ class App {
'template_engine' => 'smarty3',
);
- // array of registered template engines ('name'=>'class name')
+ /**
+ * array of registered template engines ('name'=>'class name')
+ *
+ * @var array
+ */
public $template_engines = array();
- // array of instanced template engines ('name'=>'instance')
+ /**
+ * array of instanced template engines ('name'=>'instance')
+ *
+ * @var array
+ */
public $template_engine_instance = array();
private $ldelim = array(
@@ -705,18 +737,11 @@ class App {
private $hostname;
private $baseurl;
private $path;
- private $db;
-
- private $curl_code;
- private $curl_headers;
-
- private $cached_profile_image;
- private $cached_profile_picdate;
-
-
+ /**
+ * App constructor.
+ */
function __construct() {
-
// we'll reset this after we read our config file
date_default_timezone_set('UTC');
@@ -735,7 +760,6 @@ class App {
. 'library/langdet' . PATH_SEPARATOR
. '.' );
-
$this->scheme = 'http';
if(x($_SERVER,'HTTPS') && $_SERVER['HTTPS'])
$this->scheme = 'https';
@@ -759,8 +783,8 @@ class App {
set_include_path("include/$this->hostname" . PATH_SEPARATOR . get_include_path());
- if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=") {
- $this->query_string = substr($_SERVER['QUERY_STRING'],2);
+ if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'], 0, 2) === "q=") {
+ $this->query_string = substr($_SERVER['QUERY_STRING'], 2);
// removing trailing / - maybe a nginx problem
if (substr($this->query_string, 0, 1) == "/")
$this->query_string = substr($this->query_string, 1);
@@ -770,9 +794,8 @@ class App {
// unix style "homedir"
- if(substr($this->cmd,0,1) === '~')
- $this->cmd = 'channel/' . substr($this->cmd,1);
-
+ if(substr($this->cmd, 0, 1) === '~')
+ $this->cmd = 'channel/' . substr($this->cmd, 1);
/**
@@ -802,7 +825,6 @@ class App {
$this->module = 'home';
}
-
/**
* See if there is any page number information, and initialise
* pagination
@@ -839,26 +861,24 @@ class App {
}
function get_baseurl($ssl = false) {
-
-
if(is_array($this->config)
&& array_key_exists('system',$this->config)
&& is_array($this->config['system'])
&& array_key_exists('baseurl',$this->config['system'])
&& strlen($this->config['system']['baseurl'])) {
$url = $this->config['system']['baseurl'];
+
return $url;
}
-
$scheme = $this->scheme;
$this->baseurl = $scheme . "://" . $this->hostname . ((isset($this->path) && strlen($this->path)) ? '/' . $this->path : '' );
+
return $this->baseurl;
}
function set_baseurl($url) {
-
if(is_array($this->config)
&& array_key_exists('system',$this->config)
&& is_array($this->config['system'])
@@ -880,7 +900,6 @@ class App {
if(x($parsed,'path'))
$this->path = trim($parsed['path'],'\\/');
}
-
}
function get_hostname() {
@@ -892,7 +911,7 @@ class App {
}
function set_path($p) {
- $this->path = trim(trim($p),'/');
+ $this->path = trim(trim($p), '/');
}
function get_path() {
@@ -915,7 +934,6 @@ class App {
return $this->channel;
}
-
function set_observer($xchan) {
$this->observer = $xchan;
}
@@ -955,9 +973,10 @@ class App {
function get_widgets($location = '') {
if($location && count($this->widgets)) {
$ret = array();
- foreach($widgets as $w)
- if($w['location'] == $location)
+ foreach($this->widgets as $w) {
+ if ($w['location'] == $location)
$ret[] = $w;
+ }
$arr = array('location' => $location, 'widgets' => $ret);
call_hooks('get_widgets', $arr);
return $arr['widgets'];
@@ -1005,11 +1024,11 @@ class App {
'$head_js' => head_get_js(),
'$js_strings' => js_strings(),
'$zid' => get_my_address(),
+ '$channel_id' => $this->profile['uid'],
)) . $this->page['htmlhead'];
// always put main.js at the end
$this->page['htmlhead'] .= head_get_main_js();
-
}
/**
@@ -1019,11 +1038,11 @@ class App {
* @param string $name
*/
function register_template_engine($class, $name = '') {
- if ($name===""){
+ if ($name === ""){
$v = get_class_vars( $class );
- if(x($v,"name")) $name = $v['name'];
+ if(x($v, "name")) $name = $v['name'];
}
- if ($name===""){
+ if ($name === ""){
echo "template engine <tt>$class</tt> cannot be registered without a name.\n";
killme();
}
@@ -1034,11 +1053,12 @@ class App {
* return template engine instance. If $name is not defined,
* return engine defined by theme, or default
*
- * @param strin $name Template engine name
+ * @param string $name Template engine name
+ *
* @return object Template Engine instance
*/
function template_engine($name = ''){
- if ($name!=="") {
+ if ($name !== "") {
$template_engine = $name;
} else {
$template_engine = 'smarty3';
@@ -1061,6 +1081,11 @@ class App {
echo "template engine <tt>$template_engine</tt> is not registered!\n"; killme();
}
+ /**
+ * @brief Returns the active template engine.
+ *
+ * @return string
+ */
function get_template_engine() {
return $this->theme['template_engine'];
}
@@ -1079,6 +1104,7 @@ class App {
break;
}*/
}
+
function get_template_ldelim($engine = 'smarty3') {
return $this->ldelim[$engine];
}
@@ -1089,7 +1115,6 @@ class App {
function head_set_icon($icon) {
$this->data['pageicon'] = $icon;
-
}
function head_get_icon() {
@@ -1099,33 +1124,43 @@ class App {
return $icon;
}
-}
-
+} // End App class
-// retrieve the App structure
-// useful in functions which require it but don't get it passed to them
+/**
+ * @brief Retrieve the App structure.
+ *
+ * Useful in functions which require it but don't get it passed to them
+ *
+ * @return App
+ */
function get_app() {
global $a;
return $a;
}
-
-// Multi-purpose function to check variable state.
-// Usage: x($var) or $x($array,'key')
-// returns false if variable/key is not set
-// if variable is set, returns 1 if has 'non-zero' value, otherwise returns 0.
-// e.g. x('') or x(0) returns 0;
-
-
-function x($s,$k = NULL) {
- if($k != NULL) {
- if((is_array($s)) && (array_key_exists($k,$s))) {
+/**
+ * @brief Multi-purpose function to check variable state.
+ *
+ * Usage: x($var) or $x($array, 'key')
+ *
+ * returns false if variable/key is not set
+ * if variable is set, returns 1 if has 'non-zero' value, otherwise returns 0.
+ * e.g. x('') or x(0) returns 0;
+ *
+ * @param string|array $s variable to check
+ * @param string $k key inside the array to check
+ *
+ * @return bool|int
+ */
+function x($s, $k = null) {
+ if($k != null) {
+ if((is_array($s)) && (array_key_exists($k, $s))) {
if($s[$k])
return (int) 1;
return (int) 0;
- }
+ }
return false;
}
else {
@@ -1142,7 +1177,6 @@ function x($s,$k = NULL) {
// called from db initialisation if db is dead.
-
function system_unavailable() {
include('include/system_unavailable.php');
system_down();
@@ -1152,6 +1186,7 @@ function system_unavailable() {
function clean_urls() {
global $a;
+
// if($a->config['system']['clean_urls'])
return true;
// return false;
@@ -1159,32 +1194,51 @@ function clean_urls() {
function z_path() {
global $a;
+
$base = $a->get_baseurl();
if(! clean_urls())
$base .= '/?q=';
+
return $base;
}
+/**
+ * @brief Returns the baseurl.
+ *
+ * @see App::get_baseurl()
+ *
+ * @return string
+ */
function z_root() {
global $a;
return $a->get_baseurl();
}
+/**
+ * @brief Return absolut URL for given $path.
+ *
+ * @param string $path
+ *
+ * @return string
+ */
function absurl($path) {
- if(strpos($path,'/') === 0)
+ if(strpos($path, '/') === 0)
return z_path() . $path;
+
return $path;
}
-function os_mkdir($path,$mode = 0777,$recursive = false) {
+function os_mkdir($path, $mode = 0777, $recursive = false) {
$oldumask = @umask(0);
@mkdir($path, $mode, $recursive);
@umask($oldumask);
}
-
-
-
+/**
+ * @brief Function to check if request was an AJAX (xmlhttprequest) request.
+ *
+ * @return boolean
+ */
function is_ajax() {
return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
}
@@ -1194,7 +1248,6 @@ function is_ajax() {
// base url for use in cmdline programs which don't have
// $_SERVER variables, and synchronising the state of installed plugins.
-
function check_config(&$a) {
$build = get_config('system','db_version');
@@ -1204,21 +1257,22 @@ function check_config(&$a) {
$saved = get_config('system','urlverify');
if(! $saved)
set_config('system','urlverify',bin2hex(z_root()));
+
if(($saved) && ($saved != bin2hex(z_root()))) {
// our URL changed. Do something.
$oldurl = hex2bin($saved);
logger('Baseurl changed!');
- $oldhost = substr($oldurl,strpos($oldurl,'//')+2);
- $host = substr(z_root(),strpos(z_root(),'//')+2);
+ $oldhost = substr($oldurl, strpos($oldurl, '//') + 2);
+ $host = substr(z_root(), strpos(z_root(), '//') + 2);
$is_ip_addr = ((preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/",$host)) ? true : false);
$was_ip_addr = ((preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/",$oldhost)) ? true : false);
// only change the url to an ip address if it was already an ip and not a dns name
if((! $is_ip_addr) || ($is_ip_addr && $was_ip_addr)) {
fix_system_urls($oldurl,z_root());
- set_config('system','urlverify',bin2hex(z_root()));
+ set_config('system', 'urlverify', bin2hex(z_root()));
}
else
logger('Attempt to change baseurl from a DNS name to an IP address was refused.');
@@ -1233,8 +1287,8 @@ function check_config(&$a) {
// so we just need to keep this around a couple of weeks until the hubs that
// already exist have one
$syschan_exists = get_sys_channel();
- if (! $syschan_exists)
- create_sys_channel();
+ if (! $syschan_exists)
+ create_sys_channel();
if($build != DB_UPDATE_VERSION) {
$stored = intval($build);
@@ -1305,7 +1359,6 @@ function check_config(&$a) {
}
else
set_config('database','update_r' . $x, 'success');
-
}
}
set_config('system','db_version', DB_UPDATE_VERSION);
@@ -1333,11 +1386,11 @@ function check_config(&$a) {
else
$installed = array();
- $plugins = get_config('system','addon');
+ $plugins = get_config('system', 'addon');
$plugins_arr = array();
if($plugins)
- $plugins_arr = explode(',',str_replace(' ', '',$plugins));
+ $plugins_arr = explode(',', str_replace(' ', '', $plugins));
$a->plugins = $plugins_arr;
@@ -1345,7 +1398,7 @@ function check_config(&$a) {
if(count($installed)) {
foreach($installed as $i) {
- if(! in_array($i['name'],$plugins_arr)) {
+ if(! in_array($i['name'], $plugins_arr)) {
unload_plugin($i['name']);
}
else {
@@ -1356,20 +1409,17 @@ function check_config(&$a) {
if(count($plugins_arr)) {
foreach($plugins_arr as $p) {
- if(! in_array($p,$installed_arr)) {
+ if(! in_array($p, $installed_arr)) {
load_plugin($p);
}
}
}
-
load_hooks();
- return;
}
-
-function fix_system_urls($oldurl,$newurl) {
+function fix_system_urls($oldurl, $newurl) {
require_once('include/crypto.php');
@@ -1417,7 +1467,7 @@ function fix_system_urls($oldurl,$newurl) {
$replace_xchan_url = ((strpos($rr['xchan_url'],$oldurl) !== false) ? true : false);
- $x = q("update xchan set xchan_addr = '%s', xchan_url = '%s', xchan_connurl = '%s', xchan_follow = '%s', xchan_connpage = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_date = '%s' where xchan_hash = '%s' limit 1",
+ $x = q("update xchan set xchan_addr = '%s', xchan_url = '%s', xchan_connurl = '%s', xchan_follow = '%s', xchan_connpage = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_date = '%s' where xchan_hash = '%s'",
dbesc($channel_address . '@' . $rhs),
dbesc(($replace_xchan_url) ? str_replace($oldurl,$newurl,$rr['xchan_url']) : $rr['xchan_url']),
dbesc(str_replace($oldurl,$newurl,$rr['xchan_connurl'])),
@@ -1430,7 +1480,7 @@ function fix_system_urls($oldurl,$newurl) {
dbesc($rr['xchan_hash'])
);
- $y = q("update hubloc set hubloc_addr = '%s', hubloc_url = '%s', hubloc_url_sig = '%s', hubloc_host = '%s', hubloc_callback = '%s' where hubloc_hash = '%s' and hubloc_url = '%s' limit 1",
+ $y = q("update hubloc set hubloc_addr = '%s', hubloc_url = '%s', hubloc_url_sig = '%s', hubloc_host = '%s', hubloc_callback = '%s' where hubloc_hash = '%s' and hubloc_url = '%s'",
dbesc($channel_address . '@' . $rhs),
dbesc($newurl),
dbesc(base64url_encode(rsa_sign($newurl,$c[0]['channel_prvkey']))),
@@ -1452,18 +1502,15 @@ function fix_system_urls($oldurl,$newurl) {
}
-
-
// wrapper for adding a login box. If $register == true provide a registration
// link. This will most always depend on the value of $a->config['system']['register_policy'].
// returns the complete html for inserting into the page
-
function login($register = false, $form_id = 'main-login', $hiddens=false) {
$a = get_app();
- $o = "";
+ $o = '';
$reg = false;
- $reglink = get_config('system','register_link');
+ $reglink = get_config('system', 'register_link');
if(! strlen($reglink))
$reglink = 'register';
@@ -1479,18 +1526,18 @@ function login($register = false, $form_id = 'main-login', $hiddens=false) {
$tpl = get_markup_template("logout.tpl");
}
else {
- $a->page['htmlhead'] .= replace_macros(get_markup_template("login_head.tpl"),array(
- '$baseurl' => $a->get_baseurl(true)
- ));
+// There's no such thing as login_head.tpl, has never been in Red, removed from Friendica 1 Jun 2013...
+
+// $a->page['htmlhead'] .= replace_macros(get_markup_template("login_head.tpl"), array(
+// '$baseurl' => $a->get_baseurl(true)
+// ));
$tpl = get_markup_template("login.tpl");
if(strlen($a->query_string))
- $_SESSION['login_return_url'] = $a->query_string;
+ $_SESSION['login_return_url'] = $a->query_string;
}
-
$o .= replace_macros($tpl,array(
-
'$dest_url' => $dest_url,
'$logout' => t('Logout'),
'$login' => t('Login'),
@@ -1499,102 +1546,119 @@ function login($register = false, $form_id = 'main-login', $hiddens=false) {
'$lpassword' => array('password', t('Password'), '', ''),
'$remember' => array('remember', t('Remember me'), '', ''),
'$hiddens' => $hiddens,
-
'$register' => $reg,
-
'$lostpass' => t('Forgot your password?'),
'$lostlink' => t('Password Reset'),
));
- call_hooks('login_hook',$o);
+ call_hooks('login_hook', $o);
return $o;
}
-// Used to end the current process, after saving session state.
-
-
+/**
+ * @brief Used to end the current process, after saving session state.
+ */
function killme() {
session_write_close();
exit;
}
-
-// redirect to another URL and terminate this process.
-
-
+/**
+ * @brief Redirect to another URL and terminate this process.
+ */
function goaway($s) {
header("Location: $s");
killme();
}
-
+/**
+ * @brief Returns the entity id of locally logged in account or false.
+ *
+ * Returns numeric account_id if authenticated or 0. It is possible to be
+ * authenticated and not connected to a channel.
+ *
+ * @return int|bool account_id or false
+ */
function get_account_id() {
if(get_app()->account)
return intval(get_app()->account['account_id']);
+
return false;
}
-
-// Returns the entity id of locally logged in user or false.
-
-
+/**
+ * @brief Returns the entity id (channel_id) of locally logged in user or false.
+ *
+ * Returns authenticated numeric channel_id if authenticated and connected to
+ * a channel or 0. Sometimes referred to as $uid in the code.
+ *
+ * @return int|bool channel_id or false
+ */
function local_user() {
- if((x($_SESSION,'authenticated')) && (x($_SESSION,'uid')))
+ if((x($_SESSION, 'authenticated')) && (x($_SESSION, 'uid')))
return intval($_SESSION['uid']);
+
return false;
}
-
-// Returns contact id of authenticated site visitor or false
-
-
+/**
+ * @brief Returns contact id (visitor_id) of authenticated site visitor or false.
+ *
+ * @return int|bool visitor_id or false
+ */
function remote_user() {
- if((x($_SESSION,'authenticated')) && (x($_SESSION,'visitor_id')))
+ if((x($_SESSION, 'authenticated')) && (x($_SESSION, 'visitor_id')))
return $_SESSION['visitor_id'];
+
return false;
}
-
-// contents of $s are displayed prominently on the page the next time
-// a page is loaded. Usually used for errors or alerts.
-
-
+/**
+ * Contents of $s are displayed prominently on the page the next time
+ * a page is loaded. Usually used for errors or alerts.
+ *
+ * @param string $s Text to display
+ */
function notice($s) {
$a = get_app();
- if(! x($_SESSION,'sysmsg')) $_SESSION['sysmsg'] = array();
+ if(! x($_SESSION, 'sysmsg')) $_SESSION['sysmsg'] = array();
+
if($a->interactive) {
// shameless plug, permission is denied and they have no identity.
// There's a fairly good chance that they've not got zot.
- if((stristr($s,t('permission denied'))) && (! get_observer_hash())) {
- $s .= '<br /><a href="http://getzot.com">' . t('Got Zot?') . '</a>';
+ if((stristr($s, t('permission denied'))) && (! get_observer_hash())) {
+ $s .= '<br><a href="http://getzot.com">' . t('Got Zot?') . '</a>';
}
$_SESSION['sysmsg'][] = $s;
}
}
-
+/**
+ * Contents of $s are displayed prominently on the page the next time a page is
+ * loaded. Usually used for information.
+ * For error and alerts use notice().
+ *
+ * @param string $s Text to display
+ */
function info($s) {
$a = get_app();
- if(! x($_SESSION,'sysmsg_info')) $_SESSION['sysmsg_info'] = array();
+ if(! x($_SESSION, 'sysmsg_info')) $_SESSION['sysmsg_info'] = array();
if($a->interactive)
$_SESSION['sysmsg_info'][] = $s;
}
-
-
-// wrapper around config to limit the text length of an incoming message
-
-
+/**
+ * @brief Wrapper around config to limit the text length of an incoming message
+ *
+ * @return int
+ */
function get_max_import_size() {
- return(intval(get_config('system','max_import_size')));
+ return(intval(get_config('system', 'max_import_size')));
}
-
-
-
/**
*
* Wrap calls to proc_close(proc_open()) and call hook
@@ -1608,8 +1672,6 @@ function get_max_import_size() {
*
* $cmd and string args are surrounded with ""
*/
-
-
function proc_run($cmd){
$a = get_app();
@@ -1642,24 +1704,28 @@ function proc_run($cmd){
if(count($args) && $args[0] === 'php')
$args[0] = ((x($a->config,'system')) && (x($a->config['system'],'php_path')) && (strlen($a->config['system']['php_path'])) ? $a->config['system']['php_path'] : 'php');
- for($x = 0; $x < count($args); $x ++)
+
+ for($x = 0; $x < count($args); $x++)
$args[$x] = escapeshellarg($args[$x]);
$cmdline = implode($args," ");
-
if(is_windows()) {
$cwd = getcwd();
$cmd = "cmd /c start \"title\" /D \"$cwd\" /b $cmdline";
proc_close(proc_open($cmd, array(), $foo));
}
else
- proc_close(proc_open($cmdline." &",array(),$foo));
+ proc_close(proc_open($cmdline ." &", array(), $foo));
}
-
+/**
+ * @brief Checks if we are running on M$ Windows.
+ *
+ * @return bool true if we run on M$ Windows
+ */
function is_windows() {
- return ((strtoupper(substr(PHP_OS,0,3)) === 'WIN') ? true : false);
+ return ((strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? true : false);
}
@@ -1691,7 +1757,6 @@ function current_theme(){
$page_theme = null;
}
-
$is_mobile = $a->is_mobile || $a->is_tablet;
$standard_system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : '');
@@ -1706,7 +1771,7 @@ function current_theme(){
$system_theme = ((isset($a->config['system']['mobile_theme'])) ? $a->config['system']['mobile_theme'] : '');
$theme_name = ((isset($_SESSION) && x($_SESSION,'mobile_theme')) ? $_SESSION['mobile_theme'] : $system_theme);
- if($theme_name === '' || $theme_name === '---' ) {
+ if($theme_name === '' || $theme_name === '---' ) {
// user has selected to have the mobile theme be the same as the normal one
$system_theme = $standard_system_theme;
$theme_name = $standard_theme_name;
@@ -1714,21 +1779,20 @@ function current_theme(){
}
}
else {
- $system_theme = $standard_system_theme;
- $theme_name = $standard_theme_name;
+ $system_theme = $standard_system_theme;
+ $theme_name = $standard_theme_name;
if($page_theme)
$theme_name = $page_theme;
}
-
if($theme_name &&
(file_exists('view/theme/' . $theme_name . '/css/style.css') ||
file_exists('view/theme/' . $theme_name . '/php/style.php')))
return($theme_name);
foreach($app_base_themes as $t) {
- if(file_exists('view/theme/' . $t . '/css/style.css')||
+ if(file_exists('view/theme/' . $t . '/css/style.css') ||
file_exists('view/theme/' . $t . '/php/style.php'))
return($t);
}
@@ -1741,43 +1805,65 @@ function current_theme(){
/**
- * Return full URL to theme which is currently in effect.
+ * @brief Return full URL to theme which is currently in effect.
+ *
* Provide a sane default if nothing is chosen or the specified theme does not exist.
+ *
+ * @param bool $installing default false
+ *
+ * @return string
*/
-
function current_theme_url($installing = false) {
global $a;
+
$t = current_theme();
+
$opts = '';
$opts = (($a->profile_uid) ? '?f=&puid=' . $a->profile_uid : '');
$opts .= ((x($a->layout,'schema')) ? '&schema=' . $a->layout['schema'] : '');
if(file_exists('view/theme/' . $t . '/php/style.php'))
return('view/theme/' . $t . '/php/style.pcss' . $opts);
+
return('view/theme/' . $t . '/css/style.css');
}
+/**
+ * @brief Check if current user has admin role.
+ *
+ * Check if the current user has ACCOUNT_ROLE_ADMIN.
+ *
+ * @return bool true if user is an admin
+ */
function is_site_admin() {
$a = get_app();
+
if((intval($_SESSION['authenticated']))
&& (is_array($a->account))
&& ($a->account['account_roles'] & ACCOUNT_ROLE_ADMIN))
return true;
+
return false;
}
+/**
+ * @brief Check if current user has developer role.
+ *
+ * Check if the current user has ACCOUNT_ROLE_DEVELOPER.
+ *
+ * @return bool true if user is a developer
+ */
function is_developer() {
$a = get_app();
if((intval($_SESSION['authenticated']))
&& (is_array($a->account))
&& ($a->account['account_roles'] & ACCOUNT_ROLE_DEVELOPER))
return true;
+
return false;
}
-
function load_contact_links($uid) {
-
$a = get_app();
$ret = array();
@@ -1787,9 +1873,8 @@ function load_contact_links($uid) {
// logger('load_contact_links');
- $r = q("SELECT abook_id, abook_flags, abook_my_perms, abook_their_perms, xchan_hash, xchan_photo_m, xchan_name, xchan_url from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d) ",
- intval($uid),
- intval(ABOOK_FLAG_SELF)
+ $r = q("SELECT abook_id, abook_flags, abook_my_perms, abook_their_perms, xchan_hash, xchan_photo_m, xchan_name, xchan_url from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d ",
+ intval($uid)
);
if($r) {
foreach($r as $rr){
@@ -1798,30 +1883,31 @@ function load_contact_links($uid) {
}
else
$ret['empty'] = true;
+
$a->contacts = $ret;
- return;
}
/**
- * returns querystring as string from a mapped array
+ * @brief Returns querystring as string from a mapped array.
+ *
+ * @param array $params mapped array with query parameters
+ * @param string $name of parameter, default null
*
- * @param params Array
* @return string
*/
-
-function build_querystring($params, $name=null) {
- $ret = "";
- foreach($params as $key=>$val) {
+function build_querystring($params, $name = null) {
+ $ret = '';
+ foreach($params as $key => $val) {
if(is_array($val)) {
- if($name==null) {
+ if($name === null) {
$ret .= build_querystring($val, $key);
} else {
- $ret .= build_querystring($val, $name."[$key]");
+ $ret .= build_querystring($val, $name . "[$key]");
}
} else {
$val = urlencode($val);
- if($name!=null) {
+ if($name != null) {
$ret .= $name . "[$key]" . "=$val&";
} else {
$ret .= "$key=$val&";
@@ -1841,6 +1927,7 @@ function argc() {
function argv($x) {
if(array_key_exists($x,get_app()->argv))
return get_app()->argv[$x];
+
return '';
}
@@ -1848,19 +1935,25 @@ function dba_timer() {
return microtime(true);
}
+/**
+ * @brief Returns xchan_hash from the observer.
+ *
+ * @return string Empty if no observer, otherwise xchan_hash from observer
+ */
function get_observer_hash() {
$observer = get_app()->get_observer();
if(is_array($observer))
return $observer['xchan_hash'];
+
return '';
}
/**
-* Returns the complete URL of the current page, e.g.: http(s)://something.com/network
-*
-* Taken from http://webcheatsheet.com/php/get_current_page_url.php
-*/
+ * Returns the complete URL of the current page, e.g.: http(s)://something.com/network
+ *
+ * Taken from http://webcheatsheet.com/php/get_current_page_url.php
+ */
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
@@ -1873,13 +1966,32 @@ function curPageURL() {
return $pageURL;
}
-function get_custom_nav(&$a,$navname) {
+/**
+ * @brief Returns a custom navigation by name???
+ *
+ * If no $navname provided load default page['nav']
+ *
+ * @todo not fully implemented yet
+ *
+ * @param App $a global application object
+ * @param string $navname
+ *
+ * @return mixed
+ */
+function get_custom_nav(&$a, $navname) {
if(! $navname)
return $a->page['nav'];
// load custom nav menu by name here
-
}
+/**
+ * @brief Loads a page definition file for a module.
+ *
+ * If there is no parsed Comanche template already load a module's pdl file
+ * and parse it with Comanche.
+ *
+ * @param App &$a global application object
+ */
function load_pdl(&$a) {
require_once('include/comanche.php');
@@ -1887,44 +1999,43 @@ function load_pdl(&$a) {
$n = 'mod_' . $a->module . '.pdl' ;
$u = comanche_get_channel_id();
if($u)
- $s = get_pconfig($u,'system',$n);
+ $s = get_pconfig($u, 'system', $n);
+
if((! $s) && (($p = theme_include($n)) != ''))
$s = @file_get_contents($p);
+
if($s)
- comanche_parser($a,$s);
+ comanche_parser($a, $s);
}
-
}
-
-
+/**
+ * @brief build the page.
+ *
+ * Build the page - now that we have all the components
+ *
+ * @param App &$a global application object
+ */
function construct_page(&$a) {
-
- /**
- * Build the page - now that we have all the components
- */
-
-
$comanche = ((count($a->layout)) ? true : false);
require_once(theme_include('theme_init.php'));
$installing = false;
- if($a->module == 'setup')
+ if($a->module == 'setup') {
$installing = true;
- else {
+ } else {
nav($a);
}
if($comanche) {
if($a->layout['nav']) {
- $a->page['nav'] = get_custom_nav($a->layout['nav']);
+ $a->page['nav'] = get_custom_nav($a, $a->layout['nav']);
}
}
-
if(($p = theme_include(current_theme() . '.js')) != '')
head_add_js($p);
@@ -1933,10 +2044,10 @@ function construct_page(&$a) {
require_once('include/js_strings.php');
- if(x($a->page,'template_style'))
+ if(x($a->page, 'template_style'))
head_add_css($a->page['template_style'] . '.css');
else
- head_add_css(((x($a->page,'template')) ? $a->page['template'] : 'default' ) . '.css');
+ head_add_css(((x($a->page, 'template')) ? $a->page['template'] : 'default' ) . '.css');
head_add_css('mod_' . $a->module . '.css');
head_add_css(current_theme_url($installing));
@@ -1946,11 +2057,12 @@ function construct_page(&$a) {
$a->build_pagehead();
$arr = $a->get_widgets();
- ksort($arr,SORT_NUMERIC);
+ ksort($arr, SORT_NUMERIC);
if(count($arr)) {
foreach($arr as $x) {
- if(! array_key_exists($x['location'],$a->page))
+ if(! array_key_exists($x['location'], $a->page))
$a->page[$x['location']] = '';
+
$a->page[$x['location']] .= $x['html'];
}
}
@@ -1966,27 +2078,25 @@ function construct_page(&$a) {
if($comanche) {
$arr = array('module' => $a->module, 'layout' => $a->layout);
- call_hooks('construct_page',$arr);
+ call_hooks('construct_page', $arr);
$a->layout = $arr['layout'];
foreach($a->layout as $k => $v) {
- if((strpos($k,'region_') === 0) && strlen($v)) {
- if(strpos($v,'$region_') !== false) {
- $v = preg_replace_callback('/\$region_([a-zA-Z0-9]+)/ism','comanche_replace_region',$v);
+ if((strpos($k, 'region_') === 0) && strlen($v)) {
+ if(strpos($v, '$region_') !== false) {
+ $v = preg_replace_callback('/\$region_([a-zA-Z0-9]+)/ism', 'comanche_replace_region', $v);
}
// And a couple of convenience macros
- if(strpos($v,'$nav') !== false) {
- $v = str_replace('$nav',$a->page['nav'],$v);
+ if(strpos($v, '$nav') !== false) {
+ $v = str_replace('$nav', $a->page['nav'], $v);
}
- if(strpos($v,'$content') !== false) {
-
- $v = str_replace('$content',$a->page['content'],$v);
+ if(strpos($v, '$content') !== false) {
+ $v = str_replace('$content', $a->page['content'], $v);
}
- $a->page[substr($k,7)] = $v;
-
+ $a->page[substr($k, 7)] = $v;
}
}
}
@@ -2013,37 +2123,80 @@ function construct_page(&$a) {
header("Content-type: text/html; charset=utf-8");
require_once(theme_include(
- ((x($a->page,'template'))
- ? $a->page['template']
- : 'default' )
- . '.php' )
+ ((x($a->page, 'template')) ? $a->page['template'] : 'default' ) . '.php' )
);
-
- return;
}
-
+/**
+ * @brief Returns RedMatrix's root directory.
+ *
+ * @return string
+ */
function appdirpath() {
return dirname(__FILE__);
}
-
+/**
+ * @brief Set a pageicon.
+ *
+ * @param string $icon
+ */
function head_set_icon($icon) {
global $a;
+
$a->data['pageicon'] = $icon;
// logger('head_set_icon: ' . $icon);
}
+/**
+ * @brief Get the pageicon.
+ *
+ * @return string absolut path to pageicon
+ */
function head_get_icon() {
global $a;
+
$icon = $a->data['pageicon'];
- if(! strpos($icon,'://'))
+ if(! strpos($icon, '://'))
$icon = z_root() . $icon;
+
return $icon;
}
+/**
+ * @brief Return the Realm of the directory.
+ *
+ * @return string
+ */
function get_directory_realm() {
- if($x = get_config('system','directory_realm'))
+ if($x = get_config('system', 'directory_realm'))
return $x;
+
return DIRECTORY_REALM;
}
+
+
+/**
+ * @brief return relative date of last completed poller execution
+ */
+
+function get_poller_runtime() {
+ $t = get_config('system','lastpoll');
+ return relative_date($t);
+}
+
+function z_get_upload_dir() {
+ $upload_dir = get_config('system','uploaddir');
+ if(! $upload_dir)
+ $upload_dir = ini_get('upload_tmp_dir');
+ if(! $upload_dir)
+ $upload_dir = sys_get_temp_dir();
+ return $upload_dir;
+}
+
+function z_get_temp_dir() {
+ $temp_dir = get_config('system','tempdir');
+ if(! $temp_dir)
+ $temp_dir = sys_get_temp_dir();
+ return $upload_dir;
+}
diff --git a/doc/AdvancedSearch.md b/doc/AdvancedSearch.md
index df4a87482..a67c1fc1f 100644
--- a/doc/AdvancedSearch.md
+++ b/doc/AdvancedSearch.md
@@ -50,5 +50,4 @@ Example:
name="charlie brown" and country=canada and not gender=female
-
#include doc/macros/main_footer.bb;
diff --git a/doc/Comanche.md b/doc/Comanche.md
index 7374e8406..56bf68457 100644
--- a/doc/Comanche.md
+++ b/doc/Comanche.md
@@ -166,4 +166,4 @@ Please note that pasting this example into a layout page is not likely to do any
[/region]
-
+#include doc/macros/main_footer.bb;
diff --git a/doc/Creating-Templates.md b/doc/Creating-Templates.md
index 35003cb1a..6de627f39 100644
--- a/doc/Creating-Templates.md
+++ b/doc/Creating-Templates.md
@@ -88,4 +88,6 @@ and this would place a profile widget into the "foo" region you created.
Use the CSS file to position the region on the page where desired and optionally control its size.
-[To be continued] \ No newline at end of file
+[To be continued]
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/DerivedTheme1.md b/doc/DerivedTheme1.md
index d20a958f2..d4a7ee148 100644
--- a/doc/DerivedTheme1.md
+++ b/doc/DerivedTheme1.md
@@ -74,5 +74,4 @@ Now create the actual CSS file for your theme. Put it in view/theme/mytheme/css
You've just successfully created a derived theme. This needs to be enabled in the admin "themes" panel, and then anybody on the site can use it by selecting it in Settings->Display Settings as their default theme.
-
- \ No newline at end of file
+#include doc/macros/main_footer.bb;
diff --git a/doc/Developers.md b/doc/Developers.md
index baadd1a2e..8252fa91d 100644
--- a/doc/Developers.md
+++ b/doc/Developers.md
@@ -52,4 +52,4 @@ In the interests of consistency we adopt the following code styling. We may acce
* Generally speaking, opening braces go on the same line as the thing which opens the brace. They are the last character on the line. Closing braces are on a line by themselves.
-
+#include doc/macros/main_footer.bb;
diff --git a/doc/Features.md b/doc/Features.md
index 184652742..78c77c9bd 100644
--- a/doc/Features.md
+++ b/doc/Features.md
@@ -105,3 +105,4 @@ Ability to mark special posts with a star indicator
Provide a personal tag cloud on your channel page
+#include doc/macros/main_footer.bb;
diff --git a/doc/Hooks.md b/doc/Hooks.md
index d7998a8e7..90edff623 100644
--- a/doc/Hooks.md
+++ b/doc/Hooks.md
@@ -134,4 +134,3 @@ Hooks - Complete List
* $a->module . '_pre_' . $selname
#include doc/macros/main_footer.bb;
-
diff --git a/doc/Plugins.md b/doc/Plugins.md
index 0db7c9ebc..b657f5ceb 100644
--- a/doc/Plugins.md
+++ b/doc/Plugins.md
@@ -258,3 +258,4 @@ The Red Matrix has _install and _uninstall functions but these are used differen
Changing these will often allow your plugin to function, but please double check all your permission and identity code because the concepts behind it are completely different in the Red Matrix. Many structured data names (especially DB schema columns) are also quite different.
+#include doc/macros/main_footer.bb;
diff --git a/doc/Remove-Account.md b/doc/Remove-Account.md
index bc1301b16..322b95578 100644
--- a/doc/Remove-Account.md
+++ b/doc/Remove-Account.md
@@ -21,3 +21,4 @@ If you have identity clones on other sites this only removes the channel instanc
on this site.
+#include doc/macros/main_footer.bb;
diff --git a/doc/Schema-development.md b/doc/Schema-development.md
index 481792fcc..e800479f6 100644
--- a/doc/Schema-development.md
+++ b/doc/Schema-development.md
@@ -74,3 +74,5 @@ theme are as follows:
* reply_photo
* sloppy_photos
Determins whether photos are "sloppy" or aligned. Set or unset (1 or '')
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/Tags-and-Mentions.md b/doc/Tags-and-Mentions.md
index cdee73167..84442dd7a 100644
--- a/doc/Tags-and-Mentions.md
+++ b/doc/Tags-and-Mentions.md
@@ -21,4 +21,6 @@ You may also tag public collections. When you create or edit a collection, there
Topical tags are indicated by preceding the tag name with the # character. This will create a link in the post to a generalised site search for the term provided. For example, #cars will provide a search link for all posts mentioning 'cars' on your site. Topical tags are generally a minimum of three characters in length. Shorter search terms are not likely to yield any search results, although this depends on the database configuration. The same rules apply as with names that spaces within tags are represented by the underscore character. It is therefore not possible to create a tag whose target contains an underscore.
-Topical tags are also not linked if they are purely numeric, e.g. #1. If you wish to use a numerica hashtag, please add some descriptive text such as #2012-elections. \ No newline at end of file
+Topical tags are also not linked if they are purely numeric, e.g. #1. If you wish to use a numerica hashtag, please add some descriptive text such as #2012-elections.
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/Translations.md b/doc/Translations.md
index 724286052..7435a28bf 100644
--- a/doc/Translations.md
+++ b/doc/Translations.md
@@ -89,3 +89,5 @@ Links
------
[1]: http://www.transifex.com/projects/p/red-matrix/
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/Webpages.md b/doc/Webpages.md
index e9943fda8..dafd3661d 100644
--- a/doc/Webpages.md
+++ b/doc/Webpages.md
@@ -11,4 +11,6 @@ The "page link title" box allows a user to specify the "pagelinktitle" of this U
Beneath the page creation box, a list of existing pages will appear with an "edit" link. Clicking this will take you to an editor, similar to that of the post editor, where you can make changes to your webpages.
-If you are the admin of a site, you can specify a channel whose webpages we will use at key points around the site. Presently, the only place this is implemented is the home page. If you specify the channel "admin" and then the channel called "admin" creates a webpage called "home", we will display it's content on your websites home page. We expect this functionality to be extended to other areas in future. \ No newline at end of file
+If you are the admin of a site, you can specify a channel whose webpages we will use at key points around the site. Presently, the only place this is implemented is the home page. If you specify the channel "admin" and then the channel called "admin" creates a webpage called "home", we will display it's content on your websites home page. We expect this functionality to be extended to other areas in future.
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/Widgets.md b/doc/Widgets.md
index 48006adcd..d45f719d9 100644
--- a/doc/Widgets.md
+++ b/doc/Widgets.md
@@ -39,6 +39,12 @@ Some/many of these widgets have restrictions which may restrict the type of page
* categories - categories filter (channel page)
* tagcloud_wall - tagcloud for channel page only
+ * args: 'limit' - number of tags to return (default 50)
+<br />&nbsp;<br />
+
+* catcloud_wall - tagcloud for channel page categories
+ * args: 'limit' - number of categories to return (default 50)
+<br />&nbsp;<br />
* affinity - affinity slider for network page - must be logged in
@@ -79,3 +85,18 @@ Some/many of these widgets have restrictions which may restrict the type of page
* style - CSS style string
<br />&nbsp;<br />
+* photo_rand - display a random photo from one of your photo albums. Photo permissions are honoured
+ * args:
+ * album - album name (very strongly recommended if you have lots of photos)
+ * scale - typically 0 (original size), 1 (640px), or 2 (320px)
+ * style - CSS style string
+ * channel_id - if not your own
+<br />&nbsp;<br />
+
+* random_block - display a random block element from your webpage design tools collection. Permissions are honoured.
+ * args:
+ * contains - only return blocks which include the contains string in the block name
+ * channel_id - if not your own
+<br />&nbsp;<br />
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/Zot---A-High-Level-Overview.md b/doc/Zot---A-High-Level-Overview.md
index 07f353552..990ea037b 100644
--- a/doc/Zot---A-High-Level-Overview.md
+++ b/doc/Zot---A-High-Level-Overview.md
@@ -104,4 +104,6 @@ Good enough. Podunk.edu checks out the story and indeed, it is example.com, and
-And that's the package (the original message). Example.com converts this into a form suitable for viewing by Nickordo and notifies Nickordo that there's a new message. Podunk.edu **might** discover that there are other packages waiting for example.com. If this happens it may also send any and all other waiting packages at this time. Each has the original tracking number attached. \ No newline at end of file
+And that's the package (the original message). Example.com converts this into a form suitable for viewing by Nickordo and notifies Nickordo that there's a new message. Podunk.edu **might** discover that there are other packages waiting for example.com. If this happens it may also send any and all other waiting packages at this time. Each has the original tracking number attached.
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/accounts_profiles_channels_basics.bb b/doc/accounts_profiles_channels_basics.bb
index c064e99f1..f8abd3c3b 100644
--- a/doc/accounts_profiles_channels_basics.bb
+++ b/doc/accounts_profiles_channels_basics.bb
@@ -7,7 +7,7 @@ You have [i]one[/i] account. This consists of your email account and your passwo
[i]Think of your account as the way you authenticate at one Red Matrix site. It lets you do things, such as creating profiles and channels with which you can connect to other people.[/i]
[b]Profile[/b]
-You have surely registered with some other internet services, such as forums or online communities. For all of them you provided some information about yourself, such as date of birth, country, age and the likes. If you like you can see your profile here: [baseurl]/profile/[observer.webname] and edit it by clicking on the pencil icon next to your avatar image.
+You have surely registered with some other internet services, such as forums or online communities. For all of them you provided some information about yourself, such as date of birth, country, age and the likes. [observer=1]If you like you can see your profile here: [baseurl]/profile/[observer.webname] and edit it by clicking on the pencil icon next to your avatar image. [/observer]
Unlike other services Red Matrix offers you the advantage of creating [i]many more profiles[/i]. That way you are able to distinguish between profiles targeted specially at everyone (your public profile), your work mates, your family and your partner.
[i]Think of your profile as the basic information about yourself you tell other people.[/i]
diff --git a/doc/api_posting.bb b/doc/api_posting.bb
index eeb7127fd..fa9558268 100644
--- a/doc/api_posting.bb
+++ b/doc/api_posting.bb
@@ -2,7 +2,7 @@
The API allows you to post to the red# by HTTP POST request. Below you see an example using the command line tool cURL:
-[code]curl -ssl -u [color=blue]$E-Mail[/color]:[color=blue]$Password[/color] -d "[color=blue]$Parameters[/color]" [url][observer.baseurl]/api/statuses/update
+[code]curl -ssl -u [color=blue]$E-Mail[/color]:[color=blue]$Password[/color] -d "[color=blue]$Parameters[/color]" [url][observer=1][observer.baseurl][/observer][observer=0]example.com[/observer]/api/statuses/update
[/url][/code]
[table][tr][td]$E-Mail:[/td][td]The E-Mail Adress you use to login[/td][/tr]
[tr][td]$Password:[/td][td]The Password you use to login[/td][/tr]
@@ -18,6 +18,6 @@ The API allows you to post to the red# by HTTP POST request. Below you see an ex
[/ul]
-Instead of calling [observer.baseurl]/api/statuses/update which returns a json (you could also add .json on the end to clarify) output, you can use [observer.baseurl]/api/statuses/update.xml to get an xml formatted return.
+Instead of calling [observer=1][observer.baseurl][/observer][observer=0]example.com[/observer]/api/statuses/update which returns a json (you could also add .json on the end to clarify) output, you can use [observer.baseurl]/api/statuses/update.xml to get an xml formatted return.
-Instead of Basic HTTP Authentification you could also use oAuth. \ No newline at end of file
+Instead of Basic HTTP Authentification you could also use oAuth.
diff --git a/doc/bbcode.html b/doc/bbcode.html
index 0f070eaa2..fac768879 100644
--- a/doc/bbcode.html
+++ b/doc/bbcode.html
@@ -66,6 +66,14 @@
<li>[rpost=title]Text to post[/rpost] The observer will be returned to their home hub to enter a post with the specified title and body. Both are optional <br />
<li>[qr]text to post[/qr] - create a QR code.<br />
<br />
+</ul>
+
+<p>These require a suitable map plugin/addon such as openstreetmap or else the result will be blank</p>
+<ul>
+<li>[map] Generate an inline map using the current browser coordinates of the poster, if browser location is enabled<br />
+<li>[map=latitude,longitude] Generate a map using global coordinates.<br />
+<li>[map]Place Name[/map] Generate a map for a given named location. The first matching location is returned. For instance "Sydney" will usually return Sydney, Australia and not Sydney, Nova Scotia, Canada unless the more precise location is specified. It is highly recommended to use the post preview utility to ensure you have the correct location before submitting the post.<br />
+</ul>
#include doc/macros/main_footer.bb;
</div>
diff --git a/doc/channels.bb b/doc/channels.bb
index 82b70630c..ff0446541 100644
--- a/doc/channels.bb
+++ b/doc/channels.bb
@@ -20,7 +20,7 @@ You will be asked to provide a channel name, and a short nick name. For a channe
Once you have created your channel, you will be taken to the settings page, where you can configure your channel, and set your default permissions.
-Once you have done this, your channel is ready to use. At [observer.url] you will find your channel &quot;stream&quot;. This is where your recent activity will appear, in reverse chronological order. If you post in the box marked &quot;share&quot;, the entry will appear at the top of your stream. You will also find links to all the other communication areas for this channel here. The &quot;About&quot; tab contains your &quot;profile&quot;, the photos page contain photo albums, and the events page contains events share by both yourself and your contacts.
+Once you have done this, your channel is ready to use. At [observer=1][observer.url][/observer][observer=0]example.com/channel/username[/observer] you will find your channel &quot;stream&quot;. This is where your recent activity will appear, in reverse chronological order. If you post in the box marked &quot;share&quot;, the entry will appear at the top of your stream. You will also find links to all the other communication areas for this channel here. The &quot;About&quot; tab contains your &quot;profile&quot;, the photos page contain photo albums, and the events page contains events share by both yourself and your contacts.
The &quot;Matrix&quot; page contains all recent posts from across the matrix, again in reverse chronologial order. The exact posts that appear here depend largely on your permissions. At their most permissive, you will receive posts from complete strangers. At the other end of the scale, you may see posts from only your friends - or if you're feeling really anti-social, only your own posts.
diff --git a/doc/checking_account_quota_usage.bb b/doc/checking_account_quota_usage.bb
index 60d84005e..ca7e070ad 100644
--- a/doc/checking_account_quota_usage.bb
+++ b/doc/checking_account_quota_usage.bb
@@ -6,12 +6,15 @@ Here's how you can quickly check how much of your assigned quota you're currentl
[b]Check file storage quota levels[/b]
Visit the following URL in your browser:
-[observer.baseurl]/filestorage/[observer.webname]
+[observer=1][observer.baseurl]/filestorage/[observer.webname][/observer]
+[observer=0]example.com/filestorage/username[/observer]
[b]Check uploaded photos storage quota levels[/b]
-[observer.baseurl]/photos/[observer.webname]
+[observer=1][observer.baseurl]/photos/[observer.webname][/observer]
+[observer=0]example.com/photos/username[/observer]
Example:
-[observer.baseurl]/filestorage/[observer.webname]
+[observer=1][observer.baseurl]/filestorage/[observer.webname][/observer]
+[observer=0]example.com/filestorage/username[/observer]
#include doc/macros/main_footer.bb;
diff --git a/doc/connecting_to_channels.md b/doc/connecting_to_channels.md
index 8a7b0bdde..1e0d4d3fc 100644
--- a/doc/connecting_to_channels.md
+++ b/doc/connecting_to_channels.md
@@ -31,3 +31,4 @@ Here's their meaning:
Some channels are designated "Premium Channels" and **may** require some action on your part before a connection can be established. The Connect button will for these channels will take you to a page which lists in detail what terms the channel owner has set. If the terms are accepted, the connection will then proceed normally. In some cases, such as with celebrities and world-reknowned publishers, this **may** involve payment. If you do not agree to the terms, the connection will not proceed, or it may proceed but with reduced permissions allowed on your interactions with that channel.
+#include doc/macros/main_footer.bb;
diff --git a/doc/de/channels.bb b/doc/de/channels.bb
index 41ea68404..19146cf9b 100644
--- a/doc/de/channels.bb
+++ b/doc/de/channels.bb
@@ -17,7 +17,7 @@ Du wirst nach einem Kanalnamen und einem kurzen Spitznamen gefragt. Für einen K
Nachdem Du Deinen Kanal erstellt hast, wirst Du zu den Einstellungen weitergeleitet. Hier kannst Du Deinen Kanal einrichten und die Standard-Berechtigungen setzen.
-Nachdem Du auch das getan hast, kannst Du Deinen Kanal verwenden. Unter der Addresse https://example.com/channel/spitzname ( [observer.url] ) findest Du Deinen Kanal. Hier werden Deine letzten Aktivitäten gezeigt, die neuesten oben. Wenn Du etwas in die Textbox schreibst, in der „Teilen“ steht, wird der neue Eintrag ganz oben in Deinem Kanal auftauchen. Du findest hier auch Links zu den anderen Kommunikationsbereichen Deines Kanals. Der „Über“-Reiter enthält Dein Profil, der „Fotos“-Reiter Deine Fotoalben, und der Veranstaltungskalender enthält Termine und Veranstaltungen, die Du und Deine Kontakte geteilt haben.
+Nachdem Du auch das getan hast, kannst Du Deinen Kanal verwenden. Unter der Addresse https://example.com/channel/spitzname [observer=1]( [observer.url] )[/observer] findest Du Deinen Kanal. Hier werden Deine letzten Aktivitäten gezeigt, die neuesten oben. Wenn Du etwas in die Textbox schreibst, in der „Teilen“ steht, wird der neue Eintrag ganz oben in Deinem Kanal auftauchen. Du findest hier auch Links zu den anderen Kommunikationsbereichen Deines Kanals. Der „Über“-Reiter enthält Dein Profil, der „Fotos“-Reiter Deine Fotoalben, und der Veranstaltungskalender enthält Termine und Veranstaltungen, die Du und Deine Kontakte geteilt haben.
Die „Matrix“-Seite enthält alle neuen Beiträge aus der gesamten Red Matrix, wieder die neuesten oben. Was genau zu sehen ist ist abhängig von den Zugriffsrechten. Falls die Zugriffsrechte Deines Kanals so eingestellt sind, dass jeder Beiträge in Deinen Stream stellen kann, wirst du auch Beiträge von Dir völlig unbekannten Personen hier sehen. Am anderen Ende der Skala kannst Du die Berechtigungen aber auch so einstellen, dass du nur die Beiträge deiner Freunde oder gar nur Deine eigenen siehst.
diff --git a/doc/de/main.bb b/doc/de/main.bb
index a3582e17c..f16016124 100644
--- a/doc/de/main.bb
+++ b/doc/de/main.bb
@@ -7,10 +7,10 @@ Die Red-Matrix ist eine dezentrale Kommunikations- und Publishing-Plattform. Sie
[zrl=[baseurl]/help/features]Features der Red-Matrix[/zrl]
Die Red-Matrix funktioniert schon heute als ein globales verteiltes Netzwerk und beweist täglich ihre Vielseitigkeit und Skalierbarkeit auf kleinen Privatservern wie auch auf riesigen Sites.
-Kommunikationsplattformen für Familien (auf Wunsch auch ohne Verbindung zum restlichen Red-Netzwerk), verteilte Online-Communities, Support-Foren, Homepages. Oder auch professionelle Inhalte-Anbieter mit kommerziellen Premium-Kanälen und eingeschränktem Zugriff – was immer Du willst, die Red-Matrix unterstützt Dich in Deinem kreativen Schaffen.
+Kommunikationsplattformen für Familien, verteilte Online-Communities, Support-Foren, Blogs und Homepages. Oder auch professionelle Inhalte-Anbieter mit kommerziellen Premium-Kanälen und eingeschränktem Zugriff – was immer Du willst, die Red-Matrix unterstützt Dich in Deinem kreativen Schaffen.
[zrl=[baseurl]/help/what_is_zot]Got Zot? Hast Du schon Zot? Wenn nicht wird es Zeit.[/zrl]
-Zot ist das großartige neue Kommunikationsprotokoll, das extra für die Red-Matrix entwickelt wurde. Als Teilnehmer bist Du dank „Nomadischer Identität“ nicht länger an einen Hoster gebunden. Ziehe einfach auf einen anderen Server um und behalte dabei alle Deine Kontakte, oder klone Deinen Kanal und lasse ihn auf mehreren Servern gleichzeitig laufen – sollte einer davon plötzlich geschlossen werden, ist das kein Problem für Dich. Und bist Du erst Teil der Red-Matrix, musst Du Dich nie wieder mehrfach anmelden, selbst wenn Du Seiten auf einem andere Red-Server betrachtest. Zot ist, was die Red-Matrix besonders macht.
+Zot ist das großartige neue Kommunikationsprotokoll, das extra für die Red-Matrix entwickelt wurde. Als Mitglied bist Du dank „Nomadischer Identität“ nicht länger an einen einzigen Server oder Anbieter gebunden. Ziehe einfach auf einen anderen Server um und behalte dabei alle Deine Kontakte, oder klone Deinen Kanal und lasse ihn auf mehreren Servern gleichzeitig laufen – sollte einer davon plötzlich geschlossen werden, ist das kein Problem für Dich. Und bist Du erst Teil der Red-Matrix, musst Du Dich nie wieder mehrfach anmelden, selbst wenn Du Seiten auf einem andere Red-Server betrachtest. Zot ist, was die Red-Matrix besonders macht.
[size=large][b]Erste Schritte[/b][/size]
[zrl=[baseurl]/help/Privacy]Datenschutz[/zrl]
@@ -18,6 +18,7 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die Red-Mat
[zrl=[baseurl]/help/accounts_profiles_channels_basics]Du in der Red-Matrix: Konten, Profile und Kanäle kurz erklärt[/zrl]
[zrl=[baseurl]/help/profiles]Profile[/zrl]
[zrl=[baseurl]/help/channels]Kanäle[/zrl]
+[zrl=[baseurl]/help/roles]Zugriffsrechte-Kategorien und Kanaltypen[/zrl]
[zrl=[baseurl]/help/first-post]Dein erster Beitrag[/zrl]
[zrl=[baseurl]/help/connecting_to_channels]Sich mit anderen Kanälen verbinden[/zrl]
[zrl=[baseurl]/help/permissions]Zugriffsrechte und Verschlüsselung: Du hast alles unter Kontrolle[/zrl]
@@ -44,6 +45,7 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die Red-Mat
[zrl=[baseurl]/help/faq_admins]FAQ für Admins[/zrl]
[size=large][b]Technische Dokumentation[/b][/size]
+[zrl=[baseurl]/help/history]Die Geschichte der RedMatrix[/zrl]
[zrl=[baseurl]/help/Zot---A-High-Level-Overview]Zot – ein grober Überblick[/zrl]
[zrl=[baseurl]/help/zot]Eine Einführung ins Zot-Protokoll[/zrl]
[zrl=[baseurl]/help/zot_structures]Zot-Strukturen[/zrl]
@@ -62,6 +64,7 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die Red-Mat
[zrl=[baseurl]/doc/html/]Code-Referenz (mit doxygen generiert - setzt Cookies)[/zrl]
[zrl=[baseurl]/help/to_do_doco]To-Do-Liste für das Projekt Red-Dokumentation[/zrl]
[zrl=[baseurl]/help/to_do_code]To-Do-Liste für Entwickler[/zrl]
+[zrl=[baseurl]/help/roadmap]Roadmap für Version 3[/zrl]
[zrl=[baseurl]/help/git_for_non_developers]Git für Nicht-Entwickler[/zrl]
[size=large][b]Häufig gestellte Fragen für Entwickler[/b][/size]
diff --git a/doc/de/registration.bb b/doc/de/registration.bb
index fa331e561..c7aaac55e 100644
--- a/doc/de/registration.bb
+++ b/doc/de/registration.bb
@@ -12,7 +12,7 @@ Gib ein Passwort Deiner Wahl ein und wiederhole es in der zweiten Box, um sicher
[b]Nutzungsbedingungen[/b]
-Klicke auf den Link, um die Nutzungsbedingungen dieses Servers zu lesen. Wenn Du sie gelesen hast, setze den Haken im Registrierungsformular, um sie zu akzeptieren.
+Klicke auf den Link, um die [zrl=[baseurl]/help/TermsOfService]Nutzungsbedingungen[/zrl] dieses Servers zu lesen. Wenn Du sie gelesen hast, setze den Haken im Registrierungsformular, um sie zu akzeptieren.
[b]Registrieren[/b]
diff --git a/doc/debian_install.bb b/doc/debian_install.bb
index 866ee8e9f..e8f4a7bd3 100644
--- a/doc/debian_install.bb
+++ b/doc/debian_install.bb
@@ -7,7 +7,7 @@ which can be [url=http://gitweb.whogotzot.com/debian-install-script]downloaded h
Some programs such as Apache &amp; Samba are removed by this script.
-Note, this script will use Nginx as the webserver, and dropbear for ssh. It will also install PHP and MySQL from the DotDeb repository. The DotDeb is not an official Debian repository, though it is maintained by Debian developers.
+Note, this script will use Nginx as the webserver. It will also install PHP and MySQL from the DotDeb repository. The DotDeb is not an official Debian repository, though it is maintained by Debian developers.
The file setup-debian.sh has to be on your server.
@@ -17,7 +17,7 @@ For the initial setup git may not be installed on your server, to install git:
If wget is installed try
-[code]wget "http://gitweb.whogotzot.com/debian-install-script/snapshot/91e76332668509585d52d4fa3f5b81a728c67fa6.tar.gz" -O debian-setup.sh[/code]
+[code]wget http://git.beardyunixer.com/debian-install-script/blob/HEAD:/debian-setup.sh[/code]
To install wget:
[code]apt-get install wget[/code]
diff --git a/doc/dev-function-overview.md b/doc/dev-function-overview.md
index ecf9186ca..5e382201f 100644
--- a/doc/dev-function-overview.md
+++ b/doc/dev-function-overview.md
@@ -49,4 +49,3 @@ Shorthand test to see if variable $var is set and is not empty. Tests vary by ty
If variable is set, returns 1 if has 'non-zero' value, otherwise returns 0. -- e.g. x('') or x(0) returns 0;
#include doc/macros/main_footer.bb;
-
diff --git a/doc/developers.bb b/doc/developers.bb
index 18e39c4ea..5365fd77a 100644
--- a/doc/developers.bb
+++ b/doc/developers.bb
@@ -64,4 +64,7 @@ In the interests of consistency we adopt the following code styling. We may acce
[li] Generally speaking, opening braces go on the same line as the thing which opens the brace. They are the last character on the line. Closing braces are on a line by themselves. [/li]
+[b]See Also[/b]
+[zrl=[baseurl]/help/sql_conventions]SQL Conventions[/zrl]
+
#include doc/macros/main_footer.bb;
diff --git a/doc/diaspora_compat.md b/doc/diaspora_compat.md
index 3be53c839..3829a9c64 100644
--- a/doc/diaspora_compat.md
+++ b/doc/diaspora_compat.md
@@ -54,12 +54,4 @@ Diaspora members will not appear in the directory.
There are differences in oembed compatibility between the networks. Some embedded resources will turn into a link on one side or the other.
-
-
-
-
-
-
-
-
- \ No newline at end of file
+#include doc/macros/main_footer.bb;
diff --git a/doc/doco.bb b/doc/doco.bb
new file mode 100644
index 000000000..7ca64cfea
--- /dev/null
+++ b/doc/doco.bb
@@ -0,0 +1,33 @@
+[b]Creating Documentation[/b]
+
+To contribute documentation, simply put some words in a cunning order, and make their existence known to a developer. You can do this literally anywhere as long as a developer can see it. Once made aware, somebody will check it in for you. You should try to avoid proprietary formats, or locations that require authentication with methods other than Zot in order to make it easy for a developer to access, but even this is not a strict requirement.
+
+If you wish to contribute directly, that's fine too. To contribute directly, documentation should be in one of the following formats:
+
+[li]Markdown[/li]
+[li]BBCode[/li]
+[li]HTML[/li]
+[li]Plain Text[/li]
+
+Other formats are also allowed, but support for the format must be added to mod/help.php first.
+
+If editing a plain text file, please keep column width to 80. This is because plain text is used in instances where we may not have a working installation - the installation documentation, for example - and it should be easy to read these from a CLI text editor.
+
+The advantage of Markdown is that it is human readable.
+
+The advantage of BBCode is that it is identity aware.
+
+Therefore, if using BBCode, try to make the most of it:
+[li]Use ZRL links where appropriate to ensure a link to another site retains authentication and keeps identity based documentation working[/li]
+[li]Use baseurl or observer.baseurl tags where appropriate instead of example.com for authenticated viewers.[/li]
+[li]Support non-authenticated users with observer=0 tags. We presently do not do this due to historical oversights. This needs adding everywhere[/li]
+
+[b]Translations[/b]
+
+To translate documentation, or provided documentation in languages other than English:
+[li]Create a directory in doc/ with your two letter country code if it doesn't already exist (eg, doc/de/ for German or doc/fr/ for French)[/li]
+[li]Create a document with the same filename as the English version, but with content in your own language. This allows us to fallback to the English if the translation for a particular page is not provided[/li]
+
+To create documentation that has no equivalent file in English, you can create a new file with a name of your choosing - but you'll also need to provide a localised version of the index page (main.bb in English) to make it accessible from the menu.
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/external-resource-links.bb b/doc/external-resource-links.bb
index 29eabce74..ca1d6f55e 100644
--- a/doc/external-resource-links.bb
+++ b/doc/external-resource-links.bb
@@ -4,20 +4,19 @@
[b]Third-Party Themes[/b]
[*][url=https://github.com/omigeot/redstrap3]Redstrap[/url]
-[*][url=https://github.com/23n/Pluto]Pluto[/url]
[*][url=https://bitbucket.org/tobiasd/red-clean]Clean[/url]
[*][url=https://github.com/tonybaldwin/redmatrixthemes/]nubasic[/url]
[b]Third-Party Addons[/b]
-[*][url=http://beardyunixer.com:1234/?p=red-addons.git;a=tree]Webpage/Publishing orientated addons and modules[/url]
+[*][url=http://gitweb.whogotzot.com/red-addons-extra/tree]Additional RedMatrix addons[/url]
[*][url=https://abcentric.net/git/abcjsplugin.git]ABCjs integration - display scores in posts (WIP)[/url]
-
+[*][url=http://gitweb.whogotzot.com/extra_dir_fns/tree]Extra directory functions[/url]
[b]Related Projects[/b]
[*][url=https://addons.mozilla.org/en-US/firefox/addon/redshare/]Redshare for Firefox[/url]
[*][url=https://github.com/cvogeley/red-for-android]Red for Android[/url]
[*][url=https://github.com/zzottel/feed2red]feed2red.pl (posts Atom/RSS feeds to channel)[/url]
-
+[*][url=http://gitweb.whogotzot.com/red-stable/tree]Red Stable - up-to-date-but-not-bleeding-edge RedMatrix distribution[/url]
[b]Utilities[/b]
[*][url=http://gitweb.whogotzot.com/debian-install-script]Debian Install Script[/url]
diff --git a/doc/faq_admins.bb b/doc/faq_admins.bb
index e4541035b..953563230 100644
--- a/doc/faq_admins.bb
+++ b/doc/faq_admins.bb
@@ -35,15 +35,33 @@ Don't listen on port 443 if you cannot use it. It is strongly recommended to so
valid SSL certificate rather than disabling port 443.
[*]
+[b]How do I update a non-Git install?[/b]
+1) Backup .htconfig.php
+2) Backup everything in store/
+3) Backup any custom changes in mod/site/ and view/site
+3) Delete your existing installation
+4) Upload the new version.
+5) Upload the new version of themes and addons.
+6) Restore everything backed up earlier.
+
+[*]
[b]What do I need to do when moving my hub to a different server[/b]
1) Git clone on the new server. Repeat the process for any custom themes, and addons.
-2) Copy .htconfig.php
+2) Rsync .htconfig.php
3) Rsync everything in store/
-4) Rsync everything in custom/ (this will only exist if you have custom modules)
+4) Rsync everything in mod/site/ and view/site (these will only exist if you have custom modules)
5) Dump and restore DB.
[*]
+[b]How do I reinstall an existing hub on the same server?[/b]
+
+1) [code]git reset --hard HEAD[/code] will reset all files to their upstream defaults. This will not reset any local files that do not also exist upstream. Eg, if you have local changes to mod/channel.php, this will reset them - but will not reset any changes in mod/site/channel.php
+2) If you absolutely must reinstall - for example, if you need to upgrade operating system - follow the steps for moving to a different server, but instead of using rsync, backup and restore some other way.
+
+Do not reinstall a hub with a fresh database and fresh .htconfig.php unless as a very last resort. Creating a temporary account and ask for help via a support channel for non-trivial reinstalls is preferable to reinstalling fresh.
+
+[*]
[b]How do I set the default homepage for logged out viewers?[/b]
Use the custom_home addon available in the main addons repository.
diff --git a/doc/features.bb b/doc/features.bb
index fc977fcc1..5e42532f2 100644
--- a/doc/features.bb
+++ b/doc/features.bb
@@ -1,17 +1,17 @@
[b]Features[/b]
-[b][color= grey][size=24]Red Matrix Features[/size][/color][/b]
+[b][size=24]Red Matrix Features[/size][/b]
The Red Matrix is a general-purpose communication network, with several unique features. It is designed to be used by the widest range of users on the web, from non-technical bloggers, to expert PHP programmers and seasoned systems administrators.
-This page lists some of the core features of Red that are bundled with the official. As with any free and open source software, there may be many other extensions, additions, plugins, themes and configurations that are limited only by the needs and imagination of Red's users.
+This page lists some of the core features of Red that are bundled with the official release. As with most free and open source software, there may be many other extensions, additions, plugins, themes and configurations that are limited only by the needs and imagination of Red's users.
-[b][color= grey][size=20]Built for Privacy and Freedom[/size][/color][/b]
+[b][size=20]Built for Privacy and Freedom[/size][/b]
One of the design goals of Red is to enable easy communication on the web, while preserving privacy, if so desired by users. To achieve this goal, Red includes a number of features allowing arbitrary levels of privacy:
-[b][color= grey]Affinity Slider[/color][/b]
+[b]Affinity Slider[/b]
When adding contacts in the Red Matrix, users have the option of assigning affinity levels to the new member in their contact list. For example, when adding someone who happens to be a person who's blog you follow, you could assign their channel an affinity level of &quot;Acquaintances&quot;.
@@ -23,89 +23,174 @@ At this point, Red's [i]Affinity Slider[/i] tool, which usually appears at the t
The Affinity Slider allows instantaneous filtering of large amounts of content, grouped by levels of closeness.
-[b][color= grey]Access Control Lists[/color][/b]
+[b]Access Control Lists[/b]
-When sharing content with someone in their contact list, users have the option of restricting who sees the content. By clicking on the padlock underneath the sharing box, one could choose desired recipients of the post, by clicking on their names.
+When sharing content with someone in their contact list, users have the option of restricting who sees the content. By clicking on the padlock underneath the sharing box, one may choose desired recipients of the post, by clicking on their names.
Once sent, the message will be viewable only by the sender and the selected recipients. In other words, the message will not appear on any public walls.
+Access Control Lists may be applied to content and posts, photos, events, webpages, chatrooms and files.
-[b][color=grey]Private Message Encryption and Privacy Concerns[/color][/b]
+[b]Single Sign-on[/b]
-In the Red Matrix, public messages are not encrypted prior to leaving the originating server, they are also stored in the database in clear text.
+Access Control Lists work for all channels in the matrix due to our unique single sign-on technology. Most internal links provide an identity token which can be verified on other Redmatrix sites and used to control access to private resources. You login once to your home hub. After that, authentication to all Redmatrix resources is "magic".
-Messages marked [b][color=white]private[/color][/b], however, are encrypted with AES-CBC 256-bit symmetric cipher, which is then protected (encrypted in turn) by public key cryptography, based on 4096-bit RSA keys, associated with the channel that is sending the message.
-Each Red channel has it's own unique set of private and associated public RSA 4096-bit keys, generated when the channels is first created.
+[b]WebDAV enabled File Storage[/b]
-[b][color= grey]TLS/SSL[/color][/b]
+Files may be uploaded to your personal storage area using your operating system utilities (drag and drop in most cases). You may protect these files with Access Control Lists to any combination of Redmatrix members (including some third party network members) or make them public.
+
+[b]Photo Albums[/b]
+
+Store photos in albums. These may be protected by Access Control Lists.
+
+[b]Events Calendar[/b]
+
+Create and manage events, which may also be protected with Access Control Lists. Events can be exported to other software using the industry standard vcalendar/iCal format and shared in posts with others. Birthday events are automatically added from your friends and converted to your correct timezone so that you will know precisely when the birthday occurs - no matter where you are located in the world in relation to the birthday person.
+
+[b]Chatrooms[/b]
+
+You may create any number of personal chatrooms and allow access via Access Control Lists. These are typically more secure than XMPP, IRC, and other Instant Messaging transports, though we also allow using these other services via plugins.
+
+[b]Webpage Building[/b]
+
+Redmatrix has many "Content Management" creation tools for building webpages, including layout editing, menus, blocks, widgets, and page/content regions. All of these may be access controlled so that the resulting pages are private to their intended audience.
+
+[b]Apps[/b]
+
+Apps may be built and distributed by members. These are different from traditional "vendor lockin" apps because they are controlled completely by the author - who can provide access control on the destination app pages and charge accordingly for this access. Most apps in Redmatrix are free and can be created easily by those with no programming skills.
+
+[b]Layout[/b]
+
+Page layout is based on a description language called Comanche. Redmatrix is itself written in Comanche layouts which you can change. This allows a level of customisation you won't typically find in so-called "multi-user environments".
+
+[b]Bookmarks[/b]
+
+Share and save/manage bookmarks from links provided in conversations.
+
+
+[b]Private Message Encryption and Privacy Concerns[/b]
+
+Messages marked [b]private[/b] are encrypted with AES-CBC 256-bit symmetric cipher, which is then protected (encrypted in turn) by public key cryptography, based on 4096-bit RSA keys, associated with the channel that is sending the message.
+
+These private messages are also stored in an encrypted form on remote systems.
+
+Each Red channel has it's own unique set of private and associated public RSA 4096-bit keys, generated when the channels is first created.
+
+Additionally, messages may be created utilising "end-to-end encryption" which cannot be read by Redmatrix operators or ISPs or anybody who does not know the passcode.
+
+Public messages are generally not encrypted in transit or in storage.
+
+Private messages may be retracted (unsent) although there is no guarantee the recipient hasn't read it yet.
+
+Posts and messages may be created with an expiration date, at which time they will be deleted/removed on the recipient's site.
+
+
+[b]Service Federation[/b]
+
+In addition to addon "cross-post connectors" to a variety of alternate networks, there is native support for importation of content from RSS/Atom feeds and using this to create special channels. Also, an experimental but working implementation of the Diaspora protocol allows communication with people on the Friendica and Diaspora decentralised social networks. This is currently marked experimental because these networks do not have the same level of privacy and encryption features and abilities as Redmatrix and may present privacy risks.
+
+There is also experimental support for OpenID authentication which may be used in Access Control Lists. This is a work in progress.
+
+Channels may have permissions to become "derivative channels" where two or more existing channels combine to create a new topical channel.
+
+[b]Collections[/b]
+
+"Collections" is our implementation of privacy groups, which is similar to Google "Circles" and Diaspora "Aspects". This allows you to filter your incoming stream by collections or groups, and automatically set the outbound Access Control List to only those in the Collection when you post. You may over-ride this at any time.
+
+
+[b]Directory Services[/b]
+
+We provide easy access to a directory of members and provide decentralised tools capable of providing friend "suggestions". The directories are normal Redmatrix sites which have chosen to accept the directory server role. This requires more resources than most typical sites so is not the default. Directories are synchronised and mirrored so that they all contain up-to-date information on the entire network (subject to normal propagation delays).
+
+
+[b]TLS/SSL[/b]
For Red hubs that use TLS/SSL, client to server communications are encrypted via TLS/SSL. Given recent disclosures in the media regarding widespread, global surveillance and encryption circumvention by the NSA and GCHQ, it is reasonable to assume that HTTPS-protected communications may be compromised in various ways.
-[b][color= grey]Channel Settings[/color][/b]
+[b]Channel Settings[/b]
-In Red, each channel allows fine-grained permissions to be set for various aspects of communication. For example, under the &quot;Security and Privacy Settings&quot; heading, each aspect on the left side of the page, has six (6) possible viewing/access options, that can be selected by clicking on the dropdown menu.
+When a channel is created, a role is chosen which applies a number of pre-configured security and privacy settings. These are chosen for best practives to maintain privacy at the requested levels.
+
+If you choose a "custom" privacy role, each channel allows fine-grained permissions to be set for various aspects of communication. For example, under the &quot;Security and Privacy Settings&quot; heading, each aspect on the left side of the page, has six (6) possible viewing/access options, that can be selected by clicking on the dropdown menu. There are also a number of other privacy settings you may edit.
[img]https://friendicared.net/photo/0f5be8da282858edd645b0a1a6626491.png[/img]
-The six options are:
+The options are:
- Nobody except yourself.
- Only those you specifically allow.
- Anybody in your address book.
- Anybody on this website.
- Anybody in this network.
+ - Anybody authenticated.
- Anybody on the Internet.
-[b][color= grey]Account Cloning[/color][/b]
+[b]Public and Private Forums[/b]
+
+Forums are typically channels which may be open to participation from multiple authors. There are currently two mechanisms to post to forums: 1) "wall-to-wall" posts and 2) via forum @mention tags. Forums can be created by anybody and used for any purpose. The directory contains an option to search for public forums. Private forums can only be posted to and often only seen by members.
+
-Accounts in the Red Matrix are called to as [i]nomadic identities[/]. Nomadic, because a user's identity (see What is Zot? for the full explanation) is stuck to the hub where the identity was originally created. For example, when you created your Facebook, or Gmail account, it is tied to those services. They cannot function without Facebook.com or Gmail.com.
+[b]Account Cloning[/b]
-By contrast, say you've created a Red identity called [b][color=white]tina@redhub.com[/color][/b]. You can clone it to another Red hub by choosing the same, or a different name: [b][color=white]liveForever@SomeRedMatrixHub.info[/color][/b]
+Accounts in the Red Matrix are referred to as [i]nomadic identities[/i], because a user's identity is not bound to the hub where the identity was originally created (see What is Zot? for the full explanation). For example, when you create a Facebook or Gmail account, it is tied to those services. They cannot function without Facebook.com or Gmail.com.
+
+By contrast, say you've created a Red identity called [b]tina@redhub.com[/b]. You can clone it to another Red hub by choosing the same, or a different name: [b]liveForever@SomeRedMatrixHub.info[/b]
Both channels are now synchronized, which means all your contacts and preferences will be duplicated on your clone. It doesn't matter whether you send a post from your original hub, or the new hub. Posts will be mirrored on both accounts.
This is a rather revolutionary feature, if we consider some scenarios:
- - What happens if the hub where an identity is based, suddenly goes offline? Without cloning, a user will not be able to communicate until that hub comes back online. With cloning, you just log into your cloned account, and life goes on happily ever after.
+ - What happens if the hub where an identity is based suddenly goes offline? Without cloning, a user will not be able to communicate until that hub comes back online. With cloning, you just log into your cloned account, and life goes on happily ever after.
- The administrator of your hub can no longer afford to pay for his free and public Red Matrix hub. He announces that the hub will be shutting down in two weeks. This gives you ample time to clone your identity(ies) and preserve your Red relationships, friends and content.
- - What if your identity is subject to government censorship? Your hub provider is compelled to delete your account, along with any identities and associated data. With cloning, the Red Matrix offers [b][color=white]censorship resistance [/color][/b]. You can have hundreds of clones, if you wanted to, all named different, and existing on many different hubs, strewn around the internet.
+ - What if your identity is subject to government censorship? Your hub provider is compelled to delete your account, along with any identities and associated data. With cloning, the Red Matrix offers [b]censorship resistance[/b]. You can have hundreds of clones, if you wanted to, all named different, and existing on many different hubs, strewn around the internet.
Red offers interesting new possibilities for privacy. You can read more at the &lt;&lt;Private Communications Best Practices&gt;&gt; page.
Some caveats apply. For a full explanation of identity cloning, read the &lt;HOW TO CLONE MY IDENTITY&gt;.
+[b]Multiple Profiles[/b]
+
+Any number of profiles may be created containing different information and these may be made visible to certain of your connections/friends. A "default" profile can be seen by anybody and may contain limited information, with more information available to select groups or people.
-[b][color= grey]Account Backup[/color][/b]
+[b]Account Backup[/b]
Red offers a simple, one-click account backup, where you can download a complete backup of your profile(s).
Backups can then be used to clone or restore a profile.
-[b][color= grey]Account Deletion[/color][/b]
+[b]Account Deletion[/b]
-Accounts can be immediately deleted by clicking on a link. That's it. All associated content is immediately deleted from the matrix (this includes posts and any other content produced by the deleted profile).
+Accounts can be immediately deleted by clicking on a link. That's it. All associated content is then deleted from the matrix (this includes posts and any other content produced by the deleted profile). Depending on the number of connections you have, the process of deleting remote content could take some time but it is scheduled to happen as quickly as is practical.
-[b][color=grey][size=20]Content Creation[/size][/color][/b]
+[b][size=20]Content Creation[/size][/b]
-[b][color=white]Writing Posts[/color][/b]
+[b]Writing Posts[/b]
-Red supports a number of different ways of adding content, from a graphical text editor, to various types of markup and pure HTML.
+Red supports a number of different ways of adding rich-text content. The default is a custom variant of BBcode, tailored for use in Redmatrix. You may also enable the use of Markdown if you find that easier to work with. A visual editor may also be used. The traditional visual editor for Redmatrix had some serious issues and has since been removed. We are currently looking for a replacement.
-Red bundles the TinyMCE rich text editor, which can be turned on under &quot;Settings.&quot;
-For user who prefer not to use TinyMCE, content can be entered by typing BBCode markup.
-Furthermore, when creating &quot;Websites&quot; or using &quot;Comanche&quot; and its PCL[FINISH], content can be entered in HTML, Markdown and plain text.
+When creating &quot;Websites&quot;, content may be entered in HTML, Markdown, BBcode, and/or plain text.
-[b][color=white]Deletion of content[/color][/b]
-Any content created in the Red Matrix remains under the control of the user (or channel) that originally created. At any time, a user can delete a message, or a range of messages. The deletion process ensures that the content is deleted, regardless of whether it was posted on a channel's primary (home) hub, or on another hub, where the channel was remotely authenticated via Zot.
+[b]Deletion of content[/b]
+Any content created in the Red Matrix remains under the control of the member (or channel) that originally created it. At any time, a member can delete a message, or a range of messages. The deletion process ensures that the content is deleted, regardless of whether it was posted on a channel's primary (home) hub, or on another hub, where the channel was remotely authenticated via Zot.
-[b][color=white]Media[/color][/b]
+[b]Media[/b]
Similar to any other modern blogging system, social network, or a micro-blogging service, Red supports the uploading of files, embedding of videos, linking web pages.
-[b][color=white]Previewing[/color][/b]
-Post can be previewed prior to sending.
+[b]Previewing/Editing[/b]
+Post can be previewed prior to sending and edited after sending.
+
+[b]Extending Redmatrix[/b]
+
+Redmatrix can be extended in a number of ways, through site customisation, personal customisation, option setting, themes, and addons/plugins.
+
+[b]API[/b]
+
+An API is available for use by third-party services. This is based originally on the early Twitter API (for which hundreds of third-party tools exist). It is currently being extended to provide access to facilities and abilities which are specific to Redmatrix. Access may be provided by login/password or OAuth and client registration of OAuth applications is provided.
+
+
#include doc/macros/main_footer.bb;
diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb
index 7b7a688c4..435042520 100644
--- a/doc/hidden_configs.bb
+++ b/doc/hidden_configs.bb
@@ -18,14 +18,15 @@ This document assumes you're an administrator.
will break in some quite imaginative ways when viewing channels with
theme dependent Comanche.
[b]system > paranoia[/b]
- Sets the security level of IP checking
+ Sets the security level of IP checking. If the IP address of a logged-in session changes
+ apply this level to determine if the account should be logged out as a security breach.
Options are:
0 - no IP checking
1 - check 3 octets
2 - check 2 octets
3 - check for any difference at all
- [b]system > protect_tag_hijacking[/b]
- Prevent foreign networks hijacking system tags for your posts.
+ [b]system > prevent_tag_hijacking[/b]
+ Prevent foreign networks hijacking hashtags in your posts and directing them at its own resources.
[b]system > blocked[/b]
An array of xchans blocked by this channel. Technically, this is a
hidden config and does belong here, however, addons (notably
@@ -39,7 +40,7 @@ This document assumes you're an administrator.
Set the number of connections to display in the connections profile
widget.
[b]system > taganyone[/b]
- Requires the config of the same name to be enabled. Allow the tagging
+ Requires the config of the same name to be enabled. Allow the @mention tagging
of anyone, whether you are connected or not. This doesn't scale.
[b]system > startpage[/b]
Another of those technically hidden configs made available by addons.
@@ -55,13 +56,13 @@ This document assumes you're an administrator.
[b]Site config[/b]
[b]system > taganyone[/b]
- Allow the tagging of anyone whether you are connected or not.
+ Allow the @mention tagging of anyone whether you are connected or not.
[b]system > directorytags[/b]
- Set the number of tags displayed on the directory page.
+ Set the number of keyword tags displayed on the directory page.
[b]system > startpage[/b]
Set the default page to be taken to after a login for all channels at
this website. Can be overwritten by user settings.
- [b]system > proejcthome[/b]
+ [b]system > projecthome[/b]
Set the project homepage as the homepage of your hub.
[b]system > workflowchannelnext[/b]
The page to direct users to immediately after creating a channel.
@@ -100,6 +101,37 @@ This document assumes you're an administrator.
the main logs as well.
[b]system > hide_in_statistics[/b]
Tell the red statistics servers to completely hide this hub in hub lists.
-
+ [b]system > reserved_channels[/b]
+ Don't allow members to register channels with this comma separated
+ list of names (no spaces)
+ [b]system > auto_follow[/b]
+ Make the first channel of an account auto-follow channels listed here - comma separated list of webbies (member@hub addresses).
+ [b]system > admin_email[/b]
+ Specifies the administrators email for this site. This is initially set during install.
+ [b]system > cron_hour[/b]
+ Specify an hour in which to run cron_daily. By default with no config, this will run at midnight UTC.
+ [b]system > minimum_feedcheck_minutes[/b]
+ The minimum interval between polling RSS feeds. If this is lower than the cron interval, feeds will be polled with each cronjob
+ [b]system > blacklisted_sites[/b]
+ An array of specific hubs to block from this hub completely.
+ [b]system > ignore_imagick[/b]
+ Ignore imagick and use GD, even if imagick is installed on the server. Prevents some issues with PNG files in older versions of imagick.
+ [b]system > no_age_restriction[/b]
+ Do not restric registration to people over the age of 13
+ [b]system > override_poll_lockfile[/b]
+ Ignore the lock file in the poller process to allow more than one process to run at a time.
+ [b]system > projecthome[/b]
+ Display the project page on your home page for logged out viewers.
+ [b]system > sellpage[/b]
+ A URL shown in the public sites list to sell your hub - display service classes, etc.
+ [b]randprofile > check[/b]
+ When requesting a random profile, check that it actually exists first
+ [b]randprofile > retry[/b]
+ Number of times to retry getting a random profile
+ [b]system > photo_cache_time[/b]
+ How long to cache photos, in seconds. Default is 86400 (1 day).
+ Longer time increases performance, but it also means it takes longer for changed permissions to apply.
+
+
#include doc/macros/main_footer.bb;
diff --git a/doc/history.md b/doc/history.md
new file mode 100644
index 000000000..12091d205
--- /dev/null
+++ b/doc/history.md
@@ -0,0 +1,49 @@
+RedMatrix History
+=================
+
+RedMatrix is a collaborative effort by the RedMatrix community and based on work introduced in Friendica by the Friendica community. The core design, the project mission, and software base itself were created/written primarily by Mike Macgirvin and represent the culmination of over a decade of software design using variations of this platform and an evolving vision of the role of communication software in our lives. Many others have contributed to this work, both conceptually and in terms of actual code (way too many to list individually).
+
+##Mike Macgirvin -- Biography
+
+Mike Macgirvin is an American software engineer now living in Australia. He spent his early adult years designing and repairing semiconductor fabrication equipment for a number of companies as a self-described "machine wizard". In 1985 he became a research engineer at Stanford University for the Gravity Probe-B space mission and soon became a Unix systems administrator writing communication software and utilities; and becoming an expert in emerging internet technologies such as the now ubiquitous "World Wide Web". He authored an email "client" called "ML" which pioneered some advanced concepts in encryption, the ability to filter message streams into different "views", and multi-protocol support; and was an active proponent of and participant in the open source software *movement*. In 1996 he went to Netscape Communications to become tech lead on their Messaging Server and integrate this with Collabra (groupware) into a comprehensive communications server package. He stayed on after Netscape was acquired by America Online and was tech manager of the Groups@AOL project until 2001.
+
+During a layoff round, Mike was let go from America Online in August 2001 and purchased a music store in Mountain View, California later to be known as "Sonica Music Company". Opening a retail store for non-essential goods at the beginning of a prolonged economic downturn was in retrospect probably not the wisest career move. Sonica eventually folded; in late 2006. Mike returned to working on software and systems support full-time and was employed briefly at Symantec before moving to Australia in early 2007. He currently lives on a farm "out in the middle of nowhere" and is employed as a Computer Systems Officer at the University of Wollongong.
+
+
+##RedMatrix - The Early Years
+
+The software which went into creating RedMatrix has been through three distinct historical phases. It began in 2003 when Mike Macgirvin was looking for a content management system to power the website for his music store and found the available solutions to be lacking in various respects. The project was born as the "PurpleHaze weblog" under the nom de plume "Nerdware Communications". It was a multi-user PHP/MySQL CMS which provided blogs, forums, photo albums, events and more. Initially it provided the basis for a social community and shopping for customers of the store, but was also linked to Mike's personal weblog running on another domain. The distinguishing characteristic of this software was the ability for so-called "normal users" to re-assemble the components and choose different content feeds - and in essence create their own personal "multi-user CMS" as a view. Their custom view was able to communicate with anybody else that used the system, but could be partitioned so that adult sites and motorcycle enthusiast sites would not be visible to each other and not clash (or in this case Mike's personal website and the music store website). This software was developed primarily from 2003 until 2008.
+
+In 2006 this software was used as the prototype for Symantec's "safeweb" reputation and community site. It was developed and enhanced until about 2008. A rewrite took place in 2008 named "Reflection" but work stagnated as the community dwindled. The need for content management systems and communications software dropped dramatically during this time as humans flocked to the new social aggregrators - Facebook and Twitter.
+
+
+##Mistpark/Friendica
+
+In early 2010, Mike left Facebook, concerned at the company's increasing hold and control of personal information. In his words "Companies die. We watched it happen in the dot-com years. When they do, their databases are sold to the highest bidder.". Mike used some remnants of the old CMS project to create a decentralised social communications platform. This was launched in July 2010 as "Mistpark". The name was chosen as a tribute to his new home in the Southern Highlands of Australia. The key innovation in this project was the ability to authenticate remotely and invisibly to other decentralised instances of the software so to allow remote viewing of private photos and provide "wall-to-wall" posting across website instances. The lack of simple remote identity *provenance* was a serious limitation of other decentralised communication protocols.
+
+In late 2010, the name was changed to "Friendika". The name Friendika had some symbolic issues, since the suffix was common with "swastika" and "Amerika", both having negative connotations, however the dot-com domain was available. Friendica was in fact the first choice but the 'friendica.com' domain name was already registered. It became available a year later and the project was renamed to Friendica in late 2011.
+
+Soon after version 1 was released in July 2010 - providing basic social communications, the software also took on a new role - cross-service federation; which was first introduced in August and September 2010. Federation allowed the software to "behave as" a StatusNet site and friends and messages could communicate to the other service from their own platforms. It was also hoped to provide federation with Diaspora - a project with similar scope being developed in secret in New York and first released in November of that year. Over the course of the next year, the federation ability was extended to provide integrated communications from RSS feeds, to and from email, StatusNet, Facebook, Twitter, and the emerging Diaspora project. The software provided a single "view" of your entire social space no matter what provider you or your friends used. StatusNet and Diaspora were supported natively so that one account could access any of these services. Facebook and Twitter used "API federation" which required the person to have an account on those services with which to link.
+
+By July 2012, Twitter and Facebook had both changed their terms of service and essentially outlawed "API federation" in the way Friendica was using it. Diaspora announced they were changing their protocol and would not maintain compatibility nor provide any warning when compatibility would break (or documentation on the proposed changes). The creator of StatusNet was also leaving his project to create something new (pump.io). As the software's primary purpose by this time was "federation of different social services into one interface", this created a bit of a crisis. The federated social web was crumbling. Also of concern was that independent and decentralised social websites shut down frequently, requiring all their members to start over again on another site. Often the effort involved to do this seemed daunting - and many people ran back to the relative safety of the large corporate providers - Facebook, Twitter, and now Google+.
+
+Mike realised he did not want to be held hostage to the decisions that other projects and companies and independent websites make. Friendica could operate on its own without attaching to these other networks, but its vision and implementation of a federated social world depended on federation with others for its project identity - so this created an identity crisis.
+
+Mike had been working on this project for some time and there were a number of things which needed re-writing, including the base communication protocol which Friendica used (DFRN or the "Distributed Friends and Relations Network" protocol). These ideas were starting to emerge as a different method of communication he called "zot". Zot began as a way to create a common language for federated websites, but there was no interest in this ability and as mentioned, the federated web was crumbling. The first version was soon scrapped and zot was re-designed and re-ignited as a streamlined communication protocol which was location-independent; e.g. not tied to any website. This would allow people to carry on unaffected if their website operator shut down temporarily or permanently. They wouldn't have to make friends all over again, and permissions of everything on the system wouldn't have to be changed to allow bob@site1 to see something that was private to him, even though he was now bob@site2. This was a serious problem with decentralisation. People moved and their online identities were lost and had to be re-created from scratch and existing relationships destroyed and had to be created all over again.
+
+
+##RedMatrix
+
+In July 2012, Mike left the Friendica project and began development of "zot" and a new base project called "red" in his somewhat elusive *spare time*. Red is Spanish for "network". It wasn't really a "social network" and especially not a "federated social network". It was just Red (technically "la red"), or "the network". Work began by removing all the "federation" components and going back to basics - communication and remote authentication. It was a major re-write and took roughly six months before even basic communication was re-established. It was also no longer compatible with Friendica - which had been given to the "Friendica community" and by this time (December 2012) was developing separately on its own track.
+
+It became clear during this time that the single most compelling feature of the project wasn't the social network at all, but the authentication layer and decentralised access control mechanisms. Combined with zot's location independence it created a new model for software which had never existed previously - decentralised identity-aware web publishing and single sign-on to any compatible provider across the web. These weren't *evolutionary*, they were **revolutionary**. One of the biggest flaws of the modern web is the reliance on different passwords for every service you use, or reliance on a single provider if you were to tie them to - say your Facebook login. Facebook can remove your account at any time. Gone. If you rely on their authentication for all your websites, your entire online identity - now gone. This is also what was missing from Friendica - a compelling software feature which could stand on its own, without requiring a social network and especially without requiring a federated social network with all the mentioned external dependencies.
+
+An early visitor to the project noted that he had some difficulty finding the project on Google because of the choice of name - "red". Yes, this was a poor decision in retrospect. We were buried on page 23,712 of the search results. The concept that was emerging around this identity-aware publishing was that of "a matrix of inter-connected thought streams", since we didn't have a concept of "people" and "friends". All were just connected "channels" with different ways to connect. So "Red Matrix" was chosen to give it a searchable name. It had nothing to do with the Matrix film and red and blue pills, though that is frequently cited (erronously); and in fact isn't a bad analogy.
+
+The concept of identity-aware content was alien to anything that existed previously on the web, so to make it useful we had to provide the ability to use it for content. It needed content publishing tools. This brought back concepts from the old "Content Management System" on which the software was originally based. To get it up and running quickly we created a markup language for webpages called "Comanche" which let you describe a page in high-level terms based on bbcode tags. We also added WebDAV so you could put decentralised access control on files and drag/drop from your operating system. So now you could have private photos, webpages, files, events, conversations, chatrooms - and they are visible to those you choose - no matter what site they use. All they need is zot. And your viewers could move to another site or just pop up at a different site any time they want and we don't care. And it **also** had a built-in social network; with lots of additional privacy and encryption features which were added even before the Snowden revelations gave them added urgency.
+
+Over time a few federation components re-emerged. The ability to view RSS feeds was important to many people. Diaspora never really managed to re-write their protocol, so that was re-implemented and allowed RedMatrix to connect with Diaspora and Friendica again (Friendica still had their Diaspora protocol intact, so this was the most common language now remaining on the free web - despite its faults). Diaspora communications aren't able to make use of the advanced identity features, but they work for basic communications.
+
+That brings us up to the present. Where will RedMatrix go from here? I don't know. That's up to you.
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/html/Contact_8php.html b/doc/html/Contact_8php.html
index 9377c0de9..c65ecda8f 100644
--- a/doc/html/Contact_8php.html
+++ b/doc/html/Contact_8php.html
@@ -132,6 +132,8 @@ Functions</h2></td></tr>
<tr class="separator:a2fc191067dd571a79603c66b04b1ca15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5101d7eca5d6f387e5555f03fe249e33"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove</a> ($account_id, $local=true, $unset_session=true)</td></tr>
<tr class="separator:a5101d7eca5d6f387e5555f03fe249e33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5895b75a3b2abdddf1cb351a8c6b58b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#ab5895b75a3b2abdddf1cb351a8c6b58b">rrmdir</a> ($path)</td></tr>
+<tr class="separator:ab5895b75a3b2abdddf1cb351a8c6b58b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e8af0f0525161da74583c04b8b03097"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove</a> ($channel_id, $local=true, $unset_session=true)</td></tr>
<tr class="separator:a4e8af0f0525161da74583c04b8b03097"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08845ce8c5b997d5edac38ae7118b5c8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans</a> ()</td></tr>
@@ -246,7 +248,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman_remove_everything_from_network()</a>, and <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, and <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>.</p>
</div>
</div>
@@ -455,6 +457,24 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="ab5895b75a3b2abdddf1cb351a8c6b58b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">rrmdir </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$path</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a2fc191067dd571a79603c66b04b1ca15"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/Contact_8php.js b/doc/html/Contact_8php.js
index 6315338ec..556236836 100644
--- a/doc/html/Contact_8php.js
+++ b/doc/html/Contact_8php.js
@@ -13,6 +13,7 @@ var Contact_8php =
[ "random_profile", "Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713", null ],
[ "rconnect_url", "Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91", null ],
[ "remove_all_xchan_resources", "Contact_8php.html#acc12cda999c88c4d6185cca967c15125", null ],
+ [ "rrmdir", "Contact_8php.html#ab5895b75a3b2abdddf1cb351a8c6b58b", null ],
[ "user_remove", "Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15", null ],
[ "vcard_from_xchan", "Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960", null ]
]; \ No newline at end of file
diff --git a/doc/html/Importer_8php.html b/doc/html/Importer_8php.html
new file mode 100644
index 000000000..1983b152a
--- /dev/null
+++ b/doc/html/Importer_8php.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: include/Import/Importer.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('Importer_8php.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> &#124;
+<a href="#namespaces">Namespaces</a> </div>
+ <div class="headertitle">
+<div class="title">Importer.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:namespaceRedMatrix_1_1Import"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceRedMatrix_1_1Import.html">RedMatrix\Import</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:namespaceRedMatrix"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceRedMatrix.html">RedMatrix</a></td></tr>
+<tr class="memdesc:namespaceRedMatrix"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class <a class="el" href="namespaceRedMatrix_1_1Import.html">Import</a>. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/README_8md.html b/doc/html/README_8md.html
index ec5f607aa..0b5de21e2 100644
--- a/doc/html/README_8md.html
+++ b/doc/html/README_8md.html
@@ -28,7 +28,7 @@
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
- <td id="projectlogo"><img alt="Logo" src="rhash-64.png"/></td>
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">The Red Matrix
</div>
diff --git a/doc/html/admin_8php.html b/doc/html/admin_8php.html
index 0fa364ace..95e86c354 100644
--- a/doc/html/admin_8php.html
+++ b/doc/html/admin_8php.html
@@ -171,7 +171,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -196,7 +196,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -222,7 +222,7 @@ Functions</h2></td></tr>
<p>Channels admin page</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -300,7 +300,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -326,7 +326,7 @@ Functions</h2></td></tr>
<p>Logs admin page</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -351,7 +351,7 @@ Functions</h2></td></tr>
<p>Plugins admin page</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -414,7 +414,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -440,7 +440,7 @@ Functions</h2></td></tr>
<p>Admin Site Page </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -465,7 +465,7 @@ Functions</h2></td></tr>
<p>Admin Summary Page </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -491,7 +491,7 @@ Functions</h2></td></tr>
<p>Themes admin page</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -518,7 +518,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -544,7 +544,7 @@ Functions</h2></td></tr>
<p>Users admin page</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
@@ -569,7 +569,7 @@ Functions</h2></td></tr>
<p>Red admin </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
diff --git a/doc/html/annotated.html b/doc/html/annotated.html
index 3ec0d40ad..6e1ed1edf 100644
--- a/doc/html/annotated.html
+++ b/doc/html/annotated.html
@@ -114,34 +114,37 @@ $(document).ready(function(){initNavTree('annotated.html','');});
<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceacl__selectors.html" target="_self">acl_selectors</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceFriendica.html" target="_self">Friendica</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacefriendica-to-smarty-tpl.html" target="_self">friendica-to-smarty-tpl</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img id="arr_3_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceRedMatrix.html" target="_self">RedMatrix</a></td><td class="desc"></td></tr>
-<tr id="row_3_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceRedMatrix_1_1RedDAV.html" target="_self">RedDAV</a></td><td class="desc"></td></tr>
-<tr id="row_3_0_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html" target="_self">RedBasicAuth</a></td><td class="desc">Authentication backend class for <a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedDAV</a></td></tr>
-<tr id="row_3_0_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html" target="_self">RedBrowser</a></td><td class="desc">Provides a DAV frontend for the webbrowser</td></tr>
-<tr id="row_3_0_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
-<tr id="row_3_0_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html" target="_self">RedFile</a></td><td class="desc">This class represents a file in DAV</td></tr>
+<tr id="row_3_"><td class="entry"><img id="arr_3_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceRedMatrix.html" target="_self">RedMatrix</a></td><td class="desc">Class <a class="el" href="namespaceRedMatrix_1_1Import.html">Import</a></td></tr>
+<tr id="row_3_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceRedMatrix_1_1Import.html" target="_self">Import</a></td><td class="desc"></td></tr>
+<tr id="row_3_0_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1Import_1_1Import.html" target="_self">Import</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceRedMatrix_1_1RedDAV.html" target="_self">RedDAV</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html" target="_self">RedBasicAuth</a></td><td class="desc">Authentication backend class for <a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedDAV</a></td></tr>
+<tr id="row_3_1_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html" target="_self">RedBrowser</a></td><td class="desc">Provides a DAV frontend for the webbrowser</td></tr>
+<tr id="row_3_1_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
+<tr id="row_3_1_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html" target="_self">RedFile</a></td><td class="desc">This class represents a file in DAV</td></tr>
<tr id="row_4_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceupdatetpl.html" target="_self">updatetpl</a></td><td class="desc"></td></tr>
<tr id="row_5_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceutil.html" target="_self">util</a></td><td class="desc"></td></tr>
-<tr id="row_6_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classApp.html" target="_self">App</a></td><td class="desc"></td></tr>
+<tr id="row_6_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classApp.html" target="_self">App</a></td><td class="desc">Our main application structure for the life of this page</td></tr>
<tr id="row_7_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classBaseObject.html" target="_self">BaseObject</a></td><td class="desc"></td></tr>
<tr id="row_8_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classCache.html" target="_self">Cache</a></td><td class="desc"></td></tr>
<tr id="row_9_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classConversation.html" target="_self">Conversation</a></td><td class="desc"></td></tr>
-<tr id="row_10_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__driver.html" target="_self">dba_driver</a></td><td class="desc"></td></tr>
+<tr id="row_10_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__driver.html" target="_self">dba_driver</a></td><td class="desc">Abstract database driver class</td></tr>
<tr id="row_11_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__mysql.html" target="_self">dba_mysql</a></td><td class="desc"></td></tr>
<tr id="row_12_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__mysqli.html" target="_self">dba_mysqli</a></td><td class="desc"></td></tr>
-<tr id="row_13_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classenotify.html" target="_self">enotify</a></td><td class="desc"></td></tr>
-<tr id="row_14_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFKOAuth1.html" target="_self">FKOAuth1</a></td><td class="desc"></td></tr>
-<tr id="row_15_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFKOAuthDataStore.html" target="_self">FKOAuthDataStore</a></td><td class="desc"></td></tr>
-<tr id="row_16_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmarty.html" target="_self">FriendicaSmarty</a></td><td class="desc"></td></tr>
-<tr id="row_17_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmartyEngine.html" target="_self">FriendicaSmartyEngine</a></td><td class="desc"></td></tr>
-<tr id="row_18_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classItem.html" target="_self">Item</a></td><td class="desc"></td></tr>
-<tr id="row_19_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="interfaceITemplateEngine.html" target="_self">ITemplateEngine</a></td><td class="desc"></td></tr>
-<tr id="row_20_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__driver.html" target="_self">photo_driver</a></td><td class="desc"></td></tr>
-<tr id="row_21_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__gd.html" target="_self">photo_gd</a></td><td class="desc"></td></tr>
-<tr id="row_22_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__imagick.html" target="_self">photo_imagick</a></td><td class="desc"></td></tr>
-<tr id="row_23_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classProtoDriver.html" target="_self">ProtoDriver</a></td><td class="desc"></td></tr>
-<tr id="row_24_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classTemplate.html" target="_self">Template</a></td><td class="desc"></td></tr>
-<tr id="row_25_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classZotDriver.html" target="_self">ZotDriver</a></td><td class="desc"></td></tr>
+<tr id="row_13_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__postgres.html" target="_self">dba_postgres</a></td><td class="desc"></td></tr>
+<tr id="row_14_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classenotify.html" target="_self">enotify</a></td><td class="desc"></td></tr>
+<tr id="row_15_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFKOAuth1.html" target="_self">FKOAuth1</a></td><td class="desc"></td></tr>
+<tr id="row_16_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFKOAuthDataStore.html" target="_self">FKOAuthDataStore</a></td><td class="desc"></td></tr>
+<tr id="row_17_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmarty.html" target="_self">FriendicaSmarty</a></td><td class="desc"></td></tr>
+<tr id="row_18_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmartyEngine.html" target="_self">FriendicaSmartyEngine</a></td><td class="desc"></td></tr>
+<tr id="row_19_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classItem.html" target="_self">Item</a></td><td class="desc"></td></tr>
+<tr id="row_20_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="interfaceITemplateEngine.html" target="_self">ITemplateEngine</a></td><td class="desc"></td></tr>
+<tr id="row_21_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__driver.html" target="_self">photo_driver</a></td><td class="desc"></td></tr>
+<tr id="row_22_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__gd.html" target="_self">photo_gd</a></td><td class="desc"></td></tr>
+<tr id="row_23_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__imagick.html" target="_self">photo_imagick</a></td><td class="desc"></td></tr>
+<tr id="row_24_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classProtoDriver.html" target="_self">ProtoDriver</a></td><td class="desc"></td></tr>
+<tr id="row_25_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classTemplate.html" target="_self">Template</a></td><td class="desc"></td></tr>
+<tr id="row_26_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classZotDriver.html" target="_self">ZotDriver</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
diff --git a/doc/html/annotated.js b/doc/html/annotated.js
index 5ab4ca9b5..3e28eeacf 100644
--- a/doc/html/annotated.js
+++ b/doc/html/annotated.js
@@ -13,6 +13,7 @@ var annotated =
[ "dba_driver", "classdba__driver.html", "classdba__driver" ],
[ "dba_mysql", "classdba__mysql.html", "classdba__mysql" ],
[ "dba_mysqli", "classdba__mysqli.html", "classdba__mysqli" ],
+ [ "dba_postgres", "classdba__postgres.html", "classdba__postgres" ],
[ "enotify", "classenotify.html", null ],
[ "FKOAuth1", "classFKOAuth1.html", "classFKOAuth1" ],
[ "FKOAuthDataStore", "classFKOAuthDataStore.html", "classFKOAuthDataStore" ],
diff --git a/doc/html/apw_2php_2style_8php.html b/doc/html/apw_2php_2style_8php.html
index e66359be6..b8dba6f3c 100644
--- a/doc/html/apw_2php_2style_8php.html
+++ b/doc/html/apw_2php_2style_8php.html
@@ -118,9 +118,9 @@ Variables</h2></td></tr>
<tr class="separator:a2f71e817b8fac88ce7f0ec5c0fb88b8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3a16c5f0dd7a74cf9acf6a49fff73a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apw_2php_2style_8php.html#af3a16c5f0dd7a74cf9acf6a49fff73a7">$x</a> = <a class="el" href="functions_8php.html#adefe514c95680928b3aae250cbc3c663">splitFilename</a>($font)</td></tr>
<tr class="separator:af3a16c5f0dd7a74cf9acf6a49fff73a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab9e0f70d44ab67f4334f9883631777fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apw_2php_2style_8php.html#ab9e0f70d44ab67f4334f9883631777fc">$fname</a> = $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>[0]</td></tr>
+<tr class="memitem:ab9e0f70d44ab67f4334f9883631777fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apw_2php_2style_8php.html#ab9e0f70d44ab67f4334f9883631777fc">$fname</a> = $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>[0]</td></tr>
<tr class="separator:ab9e0f70d44ab67f4334f9883631777fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a404171b8f918c116e45a6421c92f0cc9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apw_2php_2style_8php.html#a404171b8f918c116e45a6421c92f0cc9">$fext</a> = $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>[1]</td></tr>
+<tr class="memitem:a404171b8f918c116e45a6421c92f0cc9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="apw_2php_2style_8php.html#a404171b8f918c116e45a6421c92f0cc9">$fext</a> = $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>[1]</td></tr>
<tr class="separator:a404171b8f918c116e45a6421c92f0cc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa58104ba36588bbf082cecbb3910e2ea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a>(file_exists('view/theme/apw/font/'.$fname. <br class="typebreak"/>
'i.'.$fext)) <a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a>(file_exists('view/theme/apw/font/'.$fname. <br class="typebreak"/>
@@ -143,7 +143,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">$fext = $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>[1]</td>
+ <td class="memname">$fext = $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>[1]</td>
</tr>
</table>
</div><div class="memdoc">
@@ -155,7 +155,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">$fname = $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>[0]</td>
+ <td class="memname">$fname = $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>[0]</td>
</tr>
</table>
</div><div class="memdoc">
@@ -246,7 +246,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">all_friends()</a>, <a class="el" href="include_2apps_8php.html#a6b472df85ed875e7ae75642cece5206f">app_destroy()</a>, <a class="el" href="include_2apps_8php.html#a72756e1601489eb77971eeda011446d0">app_install()</a>, <a class="el" href="include_2apps_8php.html#a1adcd1aff4d36ad0277daca9f3d2bbe2">app_installed()</a>, <a class="el" href="include_2apps_8php.html#a01cabfb33b2d0d843cf3bf4e3d3f0ab0">app_list()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="include_2chat_8php.html#aedcb532a0627b8644001a2fadab4e87a">chatroom_list()</a>, <a class="el" href="include_2chat_8php.html#a26abdccc2a278a59899896dbbfc6f049">chatroom_list_count()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">common_friends_zcid()</a>, <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">count_all_friends()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">count_common_friends_zcid()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="diaspora_8php.html#aa8e551a53fcce34be3942d0c3e20d1f4">diaspora_get_contact_by_handle()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6">get_words()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="items_8php.html#a02ca33c31ed535d24894f8a9a91ce9df">item_add_cid()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a5ed782ff5b9cf050bec931e06de12c00">item_remove_cid()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="items_8php.html#aa2d3caa2f27720762b5c729e07df40fb">list_post_dates()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b">load_pconfig()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu_del_item()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">Conversation\set_profile_owner()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="items_8php.html#a9b449eeae50003414b8b30ca927af434">update_feed_item()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">all_friends()</a>, <a class="el" href="include_2apps_8php.html#a6b472df85ed875e7ae75642cece5206f">app_destroy()</a>, <a class="el" href="include_2apps_8php.html#a72756e1601489eb77971eeda011446d0">app_install()</a>, <a class="el" href="include_2apps_8php.html#a1adcd1aff4d36ad0277daca9f3d2bbe2">app_installed()</a>, <a class="el" href="include_2apps_8php.html#a01cabfb33b2d0d843cf3bf4e3d3f0ab0">app_list()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4">catblock()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="include_2chat_8php.html#aedcb532a0627b8644001a2fadab4e87a">chatroom_list()</a>, <a class="el" href="include_2chat_8php.html#a26abdccc2a278a59899896dbbfc6f049">chatroom_list_count()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">common_friends_zcid()</a>, <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">count_all_friends()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">count_common_friends_zcid()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="diaspora_8php.html#aa8e551a53fcce34be3942d0c3e20d1f4">diaspora_get_contact_by_handle()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#a293f416ce9050220b183e08ff5890216">get_channel_default_perms()</a>, <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6">get_words()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="items_8php.html#a02ca33c31ed535d24894f8a9a91ce9df">item_add_cid()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a5ed782ff5b9cf050bec931e06de12c00">item_remove_cid()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00">list_post_dates()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b">load_pconfig()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu_del_item()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="classConversation.html#a8898bddc1e8990e81dab9a13a532cc93">Conversation\set_profile_owner()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="items_8php.html#a9b449eeae50003414b8b30ca927af434">update_feed_item()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287">wtagblock()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
@@ -255,12 +255,12 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">$<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a> = <a class="el" href="functions_8php.html#adefe514c95680928b3aae250cbc3c663">splitFilename</a>($font)</td>
+ <td class="memname">$<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a> = <a class="el" href="functions_8php.html#adefe514c95680928b3aae250cbc3c663">splitFilename</a>($font)</td>
</tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">Template\_replcb_for()</a>, <a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">Template\_replcb_if()</a>, <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="include_2api_8php.html#ae46f964e5a9c80b96dc78df61c09ed3a">api_group_members()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2apps_8php.html#ad5f6f1443725386cc7af5ed34a5fe185">app_decode()</a>, <a class="el" href="include_2apps_8php.html#a72756e1601489eb77971eeda011446d0">app_install()</a>, <a class="el" href="include_2apps_8php.html#a01cabfb33b2d0d843cf3bf4e3d3f0ab0">app_list()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv()</a>, <a class="el" href="items_8php.html#abf7a1b73eb352d79acd36309b0dababd">array_sanitise()</a>, <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca">autoname()</a>, <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a964b13fde1a5da6f76b51ca5519234dc">RedMatrix\RedDAV\RedDirectory\childExists()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">photo_gd\cropImage()</a>, <a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">photo_imagick\cropImage()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="bb2diaspora_8php.html#a4a27604f0745f1efda672966aaca9a3b">diaspora_mention_callback()</a>, <a class="el" href="taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332">dir_tagadelic()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="include_2network_8php.html#a469b9bd700269cd07d954f1a16c5899b">email_header_encode()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="text_8php.html#ace3c98538c63e09b70a363210b414112">find_xchan_in_array()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="classphoto__gd.html#a44cedef376044018702d9355ddc813ce">photo_gd\flip()</a>, <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7">get_diaspora_reshare_xml()</a>, <a class="el" href="boot_8php.html#a329400dcb29897cdaae3020109272285">get_directory_realm()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="text_8php.html#a76d1b3435c067978d7b484c45f56472b">get_mentions()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="identity_8php.html#a224710dfb7465b706c91134247c20afa">get_profile_fields_advanced()</a>, <a class="el" href="identity_8php.html#a4ff59df0f0a668a06a8411f87496aa21">get_profile_fields_basic()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="include_2apps_8php.html#ae64f72eb4f126e03b4eb65ed1702a3ca">get_system_apps()</a>, <a class="el" href="taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1">get_terms_oftype()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7">RedMatrix\RedDAV\RedDirectory\getChild()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db443ed3c84938b4352fe515bf8d68">RedMatrix\RedDAV\RedDirectory\getQuotaInfo()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">ids_to_querystr()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc">import_author_diaspora()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a5ed782ff5b9cf050bec931e06de12c00">item_remove_cid()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a0271381208acfa2d4cff36da281e3e23">json_decode_plus()</a>, <a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">json_return_and_die()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">legal_webbie()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="identity_8php.html#a2e6a1cc35887937823ec7fbb90472afe">notifications_off()</a>, <a class="el" href="identity_8php.html#a5650319c799de09d1b6d1076b6f839a4">notifications_on()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="crypto_8php.html#a798368843cdd9bb08386b48e53e29e8c">pemtome()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3">print_template()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="crypto_8php.html#a2a3fae7caca27f86d158eeaf69b6f287">pubrsatome()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898">red_item_new()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="identity_8php.html#a47d6f53216f23a3484061793bef29854">remote_online_status()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="bb2diaspora_8php.html#ab61b4f8c065e97b151411858bb2f209a">share_unshield()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="spam_8php.html#a05861201147b9a538d006f0269255cf9">string_splitter()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4">theme_status()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="admin_8php.html#af81f081851791cd15e49e8ff6722dc27">toggle_theme()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>, <a class="el" href="account_8php.html#a754d7f53b3abc557b753c057dc4e021d">upgrade_bool_message()</a>, <a class="el" href="account_8php.html#a901657dd078e070516cf97285e0bada7">upgrade_message()</a>, <a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">valid_email()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="text_8php.html#a905c3895feb6f276df23f07f16f9bb52">xchan_query()</a>, <a class="el" href="text_8php.html#aaed4413ed8918838b517e3b2fafaea0d">xmlify()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot_encode_locations()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">Template\_replcb_for()</a>, <a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">Template\_replcb_if()</a>, <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="include_2api_8php.html#ae46f964e5a9c80b96dc78df61c09ed3a">api_group_members()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2apps_8php.html#ad5f6f1443725386cc7af5ed34a5fe185">app_decode()</a>, <a class="el" href="include_2apps_8php.html#a72756e1601489eb77971eeda011446d0">app_install()</a>, <a class="el" href="include_2apps_8php.html#a01cabfb33b2d0d843cf3bf4e3d3f0ab0">app_list()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv()</a>, <a class="el" href="items_8php.html#abf7a1b73eb352d79acd36309b0dababd">array_sanitise()</a>, <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca">autoname()</a>, <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a964b13fde1a5da6f76b51ca5519234dc">RedMatrix\RedDAV\RedDirectory\childExists()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">photo_gd\cropImage()</a>, <a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">photo_imagick\cropImage()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="bb2diaspora_8php.html#a4a27604f0745f1efda672966aaca9a3b">diaspora_mention_callback()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332">dir_tagadelic()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="include_2network_8php.html#a469b9bd700269cd07d954f1a16c5899b">email_header_encode()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="classdba__postgres.html#a7108eaaae7cc2fb236212041afc9ac0f">dba_postgres\escape()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="text_8php.html#ace3c98538c63e09b70a363210b414112">find_xchan_in_array()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="classphoto__gd.html#a44cedef376044018702d9355ddc813ce">photo_gd\flip()</a>, <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7">get_diaspora_reshare_xml()</a>, <a class="el" href="boot_8php.html#a329400dcb29897cdaae3020109272285">get_directory_realm()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="text_8php.html#a76d1b3435c067978d7b484c45f56472b">get_mentions()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="identity_8php.html#a224710dfb7465b706c91134247c20afa">get_profile_fields_advanced()</a>, <a class="el" href="identity_8php.html#a4ff59df0f0a668a06a8411f87496aa21">get_profile_fields_basic()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="include_2apps_8php.html#ae64f72eb4f126e03b4eb65ed1702a3ca">get_system_apps()</a>, <a class="el" href="taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1">get_terms_oftype()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7">RedMatrix\RedDAV\RedDirectory\getChild()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db443ed3c84938b4352fe515bf8d68">RedMatrix\RedDAV\RedDirectory\getQuotaInfo()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">ids_to_querystr()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc">import_author_diaspora()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a5ed782ff5b9cf050bec931e06de12c00">item_remove_cid()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a0271381208acfa2d4cff36da281e3e23">json_decode_plus()</a>, <a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">json_return_and_die()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">legal_webbie()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="identity_8php.html#a2e6a1cc35887937823ec7fbb90472afe">notifications_off()</a>, <a class="el" href="identity_8php.html#a5650319c799de09d1b6d1076b6f839a4">notifications_on()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="crypto_8php.html#a798368843cdd9bb08386b48e53e29e8c">pemtome()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3">print_template()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="crypto_8php.html#a2a3fae7caca27f86d158eeaf69b6f287">pubrsatome()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a">dba_postgres\q()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898">red_item_new()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="refimport_8php.html#aa98de7d112e3a5b4b6956f108d04a41d">reflect_find_user()</a>, <a class="el" href="refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5">reflect_photo_callback()</a>, <a class="el" href="identity_8php.html#a47d6f53216f23a3484061793bef29854">remote_online_status()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="bb2diaspora_8php.html#ab61b4f8c065e97b151411858bb2f209a">share_unshield()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="spam_8php.html#a05861201147b9a538d006f0269255cf9">string_splitter()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4">theme_status()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="admin_8php.html#af81f081851791cd15e49e8ff6722dc27">toggle_theme()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>, <a class="el" href="account_8php.html#a754d7f53b3abc557b753c057dc4e021d">upgrade_bool_message()</a>, <a class="el" href="account_8php.html#a901657dd078e070516cf97285e0bada7">upgrade_message()</a>, <a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">valid_email()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="text_8php.html#a905c3895feb6f276df23f07f16f9bb52">xchan_query()</a>, <a class="el" href="text_8php.html#aaed4413ed8918838b517e3b2fafaea0d">xmlify()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet()</a>, <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot_encode_locations()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
diff --git a/doc/html/auth_8php.html b/doc/html/auth_8php.html
index 6df3cfea4..9145b5ef3 100644
--- a/doc/html/auth_8php.html
+++ b/doc/html/auth_8php.html
@@ -122,15 +122,18 @@ Functions</h2></td></tr>
<tr class="memitem:a07bae0e623e2daa9ee2cd5a8aa294dee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password</a> ($email, $pass)</td></tr>
<tr class="memdesc:a07bae0e623e2daa9ee2cd5a8aa294dee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verify login credentials. <a href="#a07bae0e623e2daa9ee2cd5a8aa294dee">More...</a><br/></td></tr>
<tr class="separator:a07bae0e623e2daa9ee2cd5a8aa294dee"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a69fa663e6baf65f80d1b114ad72615f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a>((<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_POST, 'auth-params'))&amp;&amp;$_POST['auth-params']=== <br class="typebreak"/>
+<tr class="memitem:ae3ecb5f34f202c7f9a61c5d589f6c6e1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="auth_8php.html#ae3ecb5f34f202c7f9a61c5d589f6c6e1">log_failed_login</a> ($errormsg)</td></tr>
+<tr class="memdesc:ae3ecb5f34f202c7f9a61c5d589f6c6e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log failed logins to a separate auth log. <a href="#ae3ecb5f34f202c7f9a61c5d589f6c6e1">More...</a><br/></td></tr>
+<tr class="separator:ae3ecb5f34f202c7f9a61c5d589f6c6e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69fa663e6baf65f80d1b114ad72615f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a>((<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($_POST, 'auth-params'))&amp;&amp;$_POST['auth-params']=== <br class="typebreak"/>
'<a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login</a>')&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="auth_8php.html#a69fa663e6baf65f80d1b114ad72615f2">match_openid</a> ($authid)</td></tr>
<tr class="memdesc:a69fa663e6baf65f80d1b114ad72615f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the channel_id for a given openid_identity. <a href="#a69fa663e6baf65f80d1b114ad72615f2">More...</a><br/></td></tr>
<tr class="separator:a69fa663e6baf65f80d1b114ad72615f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
-<tr class="memitem:a6f60fb54f60cd36c2430d6615a7b4f3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a>((isset($_SESSION))&amp;&amp;(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SESSION, <br class="typebreak"/>
-'authenticated'))&amp;&amp;((!(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_POST, <br class="typebreak"/>
+<tr class="memitem:a6f60fb54f60cd36c2430d6615a7b4f3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a>((isset($_SESSION))&amp;&amp;(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($_SESSION, <br class="typebreak"/>
+'authenticated'))&amp;&amp;((!(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($_POST, <br class="typebreak"/>
'auth-params')))||($_POST['auth-params']!== <br class="typebreak"/>
'<a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login</a>')))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="auth_8php.html#a6f60fb54f60cd36c2430d6615a7b4f3f">else</a></td></tr>
<tr class="separator:a6f60fb54f60cd36c2430d6615a7b4f3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -164,6 +167,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>Verify login credentials. </p>
+<p>If system <em>authlog</em> is set a log entry will be added for failed login attempts.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">string</td><td class="paramname">$email</td><td>The email address to verify. </td></tr>
@@ -172,18 +176,45 @@ Variables</h2></td></tr>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array|null Returns account record on success, null on failure. </dd></dl>
-<p>A plugin indicates successful login by setting 'authenticated' to non-zero value and returning a user record Plugins should never set 'authenticated' except to indicate success - as hooks may be chained and later plugins should not interfere with an earlier one that succeeded.</p>
<p>Referenced by <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, and <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>.</p>
</div>
</div>
+<a class="anchor" id="ae3ecb5f34f202c7f9a61c5d589f6c6e1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">log_failed_login </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$errormsg</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Log failed logins to a separate auth log. </p>
+<p>Can be used to reduce overhead for server side intrusion prevention, like parse the authlog file with something like fail2ban, OSSEC, etc.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$errormsg</td><td>Error message to display for failed login. </td></tr>
+ </table>
+ </dd>
+</dl>
+<p>A plugin indicates successful login by setting 'authenticated' to non-zero value and returning a user record Plugins should never set 'authenticated' except to indicate success - as hooks may be chained and later plugins should not interfere with an earlier one that succeeded.</p>
+
+<p>Referenced by <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, and <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a69fa663e6baf65f80d1b114ad72615f2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> ((<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_POST, 'auth-params'))&amp;&amp;$_POST['auth-params']=== '<a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login</a>') match_openid </td>
+ <td class="memname"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> ((<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($_POST, 'auth-params'))&amp;&amp;$_POST['auth-params']=== '<a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login</a>') match_openid </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>$authid</em></td><td>)</td>
@@ -233,7 +264,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> ((isset($_SESSION))&amp;&amp;(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SESSION, 'authenticated'))&amp;&amp;((!(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_POST, 'auth-params')))||($_POST['auth-params']!== '<a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login</a>'))) else</td>
+ <td class="memname"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> ((isset($_SESSION))&amp;&amp;(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($_SESSION, 'authenticated'))&amp;&amp;((!(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($_POST, 'auth-params')))||($_POST['auth-params']!== '<a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login</a>'))) else</td>
</tr>
</table>
</div><div class="memdoc">
@@ -245,7 +276,7 @@ Variables</h2></td></tr>
<div class="line"></div>
<div class="line"> </div>
<div class="line"></div>
-<div class="line"> <span class="keywordflow">if</span>((<a class="code" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_POST, <span class="stringliteral">&#39;password&#39;</span>)) &amp;&amp; strlen($_POST[<span class="stringliteral">&#39;password&#39;</span>]))</div>
+<div class="line"> <span class="keywordflow">if</span>((<a class="code" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c" title="Multi-purpose function to check variable state.">x</a>($_POST, <span class="stringliteral">&#39;password&#39;</span>)) &amp;&amp; strlen($_POST[<span class="stringliteral">&#39;password&#39;</span>]))</div>
<div class="line"> $encrypted = hash(<span class="stringliteral">&#39;whirlpool&#39;</span>, trim($_POST[<span class="stringliteral">&#39;password&#39;</span>]))</div>
</div><!-- fragment --><p>Inline - not a function look for auth parameters or re-validate an existing session also handles logout </p>
diff --git a/doc/html/auth_8php.js b/doc/html/auth_8php.js
index 0727b8234..b4ab0b9b1 100644
--- a/doc/html/auth_8php.js
+++ b/doc/html/auth_8php.js
@@ -1,6 +1,7 @@
var auth_8php =
[
[ "account_verify_password", "auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee", null ],
+ [ "log_failed_login", "auth_8php.html#ae3ecb5f34f202c7f9a61c5d589f6c6e1", null ],
[ "match_openid", "auth_8php.html#a69fa663e6baf65f80d1b114ad72615f2", null ],
[ "nuke_session", "auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a", null ],
[ "else", "auth_8php.html#a6f60fb54f60cd36c2430d6615a7b4f3f", null ]
diff --git a/doc/html/bbcode_8php.html b/doc/html/bbcode_8php.html
index 5176cfc49..4eaf2b009 100644
--- a/doc/html/bbcode_8php.html
+++ b/doc/html/bbcode_8php.html
@@ -141,6 +141,10 @@ Functions</h2></td></tr>
<tr class="separator:a2be26414a367118143cc89e2d58e7377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5165a5221a52cf1bc1d7812ebd2069c7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7">rpost_callback</a> ($match)</td></tr>
<tr class="separator:a5165a5221a52cf1bc1d7812ebd2069c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02d5f2434e7bb5cf683e52a9b4787f24"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a02d5f2434e7bb5cf683e52a9b4787f24">bb_map_coords</a> ($match)</td></tr>
+<tr class="separator:a02d5f2434e7bb5cf683e52a9b4787f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7cb403fd1c36d7376c2f3932a1ceb54d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a7cb403fd1c36d7376c2f3932a1ceb54d">bb_map_location</a> ($match)</td></tr>
+<tr class="separator:a7cb403fd1c36d7376c2f3932a1ceb54d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a989cbf308a32468d171d83e9c51d1e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a3a989cbf308a32468d171d83e9c51d1e">bb_sanitize_style</a> ($input)</td></tr>
<tr class="separator:a3a989cbf308a32468d171d83e9c51d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a009f61aaf78771737ed0765c8463911b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a> ($Text, $preserve_nl=false, $<a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">tryoembed</a>=true)</td></tr>
@@ -163,6 +167,38 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a02d5f2434e7bb5cf683e52a9b4787f24"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bb_map_coords </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$match</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7cb403fd1c36d7376c2f3932a1ceb54d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">bb_map_location </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$match</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="abb02f1044ff1c635d12af690d0f2cfa2"></a>
<div class="memitem">
<div class="memproto">
@@ -337,7 +373,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">construct_activity_object()</a>, <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">construct_activity_target()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, and <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">construct_activity_object()</a>, <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">construct_activity_target()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="event_8php.html#a05073cd4ab837bd4a0149e8ed23ce688">format_ical_text()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="help_8php.html#a06b2a51aaabed99e53a9b639047c4ce4">preg_callback_help_include()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, and <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/bbcode_8php.js b/doc/html/bbcode_8php.js
index f8a7871fd..ad5bce44c 100644
--- a/doc/html/bbcode_8php.js
+++ b/doc/html/bbcode_8php.js
@@ -1,6 +1,8 @@
var bbcode_8php =
[
[ "bb_location", "bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd", null ],
+ [ "bb_map_coords", "bbcode_8php.html#a02d5f2434e7bb5cf683e52a9b4787f24", null ],
+ [ "bb_map_location", "bbcode_8php.html#a7cb403fd1c36d7376c2f3932a1ceb54d", null ],
[ "bb_parse_app", "bbcode_8php.html#abb02f1044ff1c635d12af690d0f2cfa2", null ],
[ "bb_parse_crypt", "bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f", null ],
[ "bb_parse_element", "bbcode_8php.html#aa73fb62e7be1fa5fce4ad5f3d4487fc9", null ],
diff --git a/doc/html/blocks_8php.html b/doc/html/blocks_8php.html
index 8993de9ed..d6ab862e3 100644
--- a/doc/html/blocks_8php.html
+++ b/doc/html/blocks_8php.html
@@ -112,6 +112,8 @@ $(document).ready(function(){initNavTree('blocks_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
+<tr class="memitem:aebe88302181883d2b17d6e98a1aaebe9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9">blocks_init</a> (&amp;$a)</td></tr>
+<tr class="separator:aebe88302181883d2b17d6e98a1aaebe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2531a8fd51db3cecb2eb20c002c66e12"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content</a> (&amp;$a)</td></tr>
<tr class="separator:a2531a8fd51db3cecb2eb20c002c66e12"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -132,6 +134,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="aebe88302181883d2b17d6e98a1aaebe9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">blocks_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/blocks_8php.js b/doc/html/blocks_8php.js
index b2123aa00..c10da1ce2 100644
--- a/doc/html/blocks_8php.js
+++ b/doc/html/blocks_8php.js
@@ -1,4 +1,5 @@
var blocks_8php =
[
- [ "blocks_content", "blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12", null ]
+ [ "blocks_content", "blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12", null ],
+ [ "blocks_init", "blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9", null ]
]; \ No newline at end of file
diff --git a/doc/html/boot_8php.html b/doc/html/boot_8php.html
index 04a9ad0f6..96d0dc31f 100644
--- a/doc/html/boot_8php.html
+++ b/doc/html/boot_8php.html
@@ -115,6 +115,7 @@ $(document).ready(function(){initNavTree('boot_8php.html','');});
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html">App</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Our main application structure for the life of this page. <a href="classApp.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
@@ -122,9 +123,11 @@ Functions</h2></td></tr>
<tr class="memitem:aca47505b8732177f52bb2d647eb2741c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aca47505b8732177f52bb2d647eb2741c">startup</a> ()</td></tr>
<tr class="separator:aca47505b8732177f52bb2d647eb2741c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e6db7e365f2b041a828b93786f694bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0e6db7e365f2b041a828b93786f694bc">get_app</a> ()</td></tr>
+<tr class="memdesc:a0e6db7e365f2b041a828b93786f694bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the <a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a> structure. <a href="#a0e6db7e365f2b041a828b93786f694bc">More...</a><br/></td></tr>
<tr class="separator:a0e6db7e365f2b041a828b93786f694bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a01353c9abebc3544ea080ac161729632"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a> ($s, $k=NULL)</td></tr>
-<tr class="separator:a01353c9abebc3544ea080ac161729632"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae97836b0547953be182a2334c9c91d3c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a> ($s, $k=null)</td></tr>
+<tr class="memdesc:ae97836b0547953be182a2334c9c91d3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-purpose function to check variable state. <a href="#ae97836b0547953be182a2334c9c91d3c">More...</a><br/></td></tr>
+<tr class="separator:ae97836b0547953be182a2334c9c91d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac608a34f3bc180e7724192e0fd31f9b0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0">system_unavailable</a> ()</td></tr>
<tr class="separator:ac608a34f3bc180e7724192e0fd31f9b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab79b8b4555cae20d03f8200666d89d63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab79b8b4555cae20d03f8200666d89d63">clean_urls</a> ()</td></tr>
@@ -132,12 +135,15 @@ Functions</h2></td></tr>
<tr class="memitem:aba208673515cbb8a55e5fa4a1da99fda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda">z_path</a> ()</td></tr>
<tr class="separator:aba208673515cbb8a55e5fa4a1da99fda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add517a0958ac684792c62142a3877f81"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#add517a0958ac684792c62142a3877f81">z_root</a> ()</td></tr>
+<tr class="memdesc:add517a0958ac684792c62142a3877f81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the baseurl. <a href="#add517a0958ac684792c62142a3877f81">More...</a><br/></td></tr>
<tr class="separator:add517a0958ac684792c62142a3877f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a081307d681d7d04f17b9ced2076e7c85"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a081307d681d7d04f17b9ced2076e7c85">absurl</a> ($path)</td></tr>
+<tr class="memdesc:a081307d681d7d04f17b9ced2076e7c85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return absolut URL for given $path. <a href="#a081307d681d7d04f17b9ced2076e7c85">More...</a><br/></td></tr>
<tr class="separator:a081307d681d7d04f17b9ced2076e7c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fbebdf7a1c0ea8f904dbd9d78c2c06c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5fbebdf7a1c0ea8f904dbd9d78c2c06c">os_mkdir</a> ($path, $mode=0777, $recursive=false)</td></tr>
<tr class="separator:a5fbebdf7a1c0ea8f904dbd9d78c2c06c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac17fc8a416ea79e9d5cb4dc9a8ff8c5c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c">is_ajax</a> ()</td></tr>
+<tr class="memdesc:ac17fc8a416ea79e9d5cb4dc9a8ff8c5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to check if request was an AJAX (xmlhttprequest) request. <a href="#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c">More...</a><br/></td></tr>
<tr class="separator:ac17fc8a416ea79e9d5cb4dc9a8ff8c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c02d88e66852a01bd5a1feecb7c3ce3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config</a> (&amp;$a)</td></tr>
<tr class="separator:a4c02d88e66852a01bd5a1feecb7c3ce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -146,61 +152,87 @@ Functions</h2></td></tr>
<tr class="memitem:aefecf8599036df7f1b95d6820e0e2fa4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login</a> ($register=false, $form_id= 'main-login', $hiddens=false)</td></tr>
<tr class="separator:aefecf8599036df7f1b95d6820e0e2fa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea7fc57a4d8e9dcb42f2601b0b9b761c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c">killme</a> ()</td></tr>
+<tr class="memdesc:aea7fc57a4d8e9dcb42f2601b0b9b761c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to end the current process, after saving session state. <a href="#aea7fc57a4d8e9dcb42f2601b0b9b761c">More...</a><br/></td></tr>
<tr class="separator:aea7fc57a4d8e9dcb42f2601b0b9b761c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ab6181607a090bcdbaa13b15b85aba1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1">goaway</a> ($s)</td></tr>
+<tr class="memdesc:a5ab6181607a090bcdbaa13b15b85aba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Redirect to another URL and terminate this process. <a href="#a5ab6181607a090bcdbaa13b15b85aba1">More...</a><br/></td></tr>
<tr class="separator:a5ab6181607a090bcdbaa13b15b85aba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe88b920aa285982edb817a0dd44eb37"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#afe88b920aa285982edb817a0dd44eb37">get_account_id</a> ()</td></tr>
+<tr class="memdesc:afe88b920aa285982edb817a0dd44eb37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the entity id of locally logged in account or false. <a href="#afe88b920aa285982edb817a0dd44eb37">More...</a><br/></td></tr>
<tr class="separator:afe88b920aa285982edb817a0dd44eb37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4c9dc2c8a82e8f52b7404c1655eab44"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user</a> ()</td></tr>
+<tr class="memdesc:ad4c9dc2c8a82e8f52b7404c1655eab44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the entity id (channel_id) of locally logged in user or false. <a href="#ad4c9dc2c8a82e8f52b7404c1655eab44">More...</a><br/></td></tr>
<tr class="separator:ad4c9dc2c8a82e8f52b7404c1655eab44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5542c5c2806ab8bca04bad53d47b5209"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209">remote_user</a> ()</td></tr>
+<tr class="memdesc:a5542c5c2806ab8bca04bad53d47b5209"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns contact id (visitor_id) of authenticated site visitor or false. <a href="#a5542c5c2806ab8bca04bad53d47b5209">More...</a><br/></td></tr>
<tr class="separator:a5542c5c2806ab8bca04bad53d47b5209"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9255af5ae9c887520091ea04763c1a88"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice</a> ($s)</td></tr>
<tr class="separator:a9255af5ae9c887520091ea04763c1a88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfb2fc7be5a4226c0a8e24131da9d498"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info</a> ($s)</td></tr>
<tr class="separator:adfb2fc7be5a4226c0a8e24131da9d498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97769915c9f14adc4f8ab1ea2cecfd90"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90">get_max_import_size</a> ()</td></tr>
+<tr class="memdesc:a97769915c9f14adc4f8ab1ea2cecfd90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around config to limit the text length of an incoming message. <a href="#a97769915c9f14adc4f8ab1ea2cecfd90">More...</a><br/></td></tr>
<tr class="separator:a97769915c9f14adc4f8ab1ea2cecfd90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab346a2ece14993861f3e4206befa94f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run</a> ($cmd)</td></tr>
<tr class="separator:ab346a2ece14993861f3e4206befa94f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5e74f899f6e98d8e91b14ba1c08bc08"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac5e74f899f6e98d8e91b14ba1c08bc08">is_windows</a> ()</td></tr>
+<tr class="memdesc:ac5e74f899f6e98d8e91b14ba1c08bc08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if we are running on M$ Windows. <a href="#ac5e74f899f6e98d8e91b14ba1c08bc08">More...</a><br/></td></tr>
<tr class="separator:ac5e74f899f6e98d8e91b14ba1c08bc08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad206598b909e8eb67eb0e0bb5ef69c13"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme</a> ()</td></tr>
<tr class="separator:ad206598b909e8eb67eb0e0bb5ef69c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a926cad0b3d8b9d9ee5da1898fc063ba3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url</a> ($installing=false)</td></tr>
+<tr class="memdesc:a926cad0b3d8b9d9ee5da1898fc063ba3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return full URL to theme which is currently in effect. <a href="#a926cad0b3d8b9d9ee5da1898fc063ba3">More...</a><br/></td></tr>
<tr class="separator:a926cad0b3d8b9d9ee5da1898fc063ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1e828bbbcba170265eb2668d8daf42e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin</a> ()</td></tr>
+<tr class="memdesc:aa1e828bbbcba170265eb2668d8daf42e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if current user has admin role. <a href="#aa1e828bbbcba170265eb2668d8daf42e">More...</a><br/></td></tr>
<tr class="separator:aa1e828bbbcba170265eb2668d8daf42e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6252d8eca67c689d9035ec6da544cf46"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6252d8eca67c689d9035ec6da544cf46">is_developer</a> ()</td></tr>
+<tr class="memdesc:a6252d8eca67c689d9035ec6da544cf46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if current user has developer role. <a href="#a6252d8eca67c689d9035ec6da544cf46">More...</a><br/></td></tr>
<tr class="separator:a6252d8eca67c689d9035ec6da544cf46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a719c7f3972d5f9268f37a41c76cd4ef6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links</a> ($uid)</td></tr>
<tr class="separator:a719c7f3972d5f9268f37a41c76cd4ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cbab4ee728e9a8b4ce952bae643044e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e">build_querystring</a> ($params, $name=null)</td></tr>
+<tr class="memdesc:a9cbab4ee728e9a8b4ce952bae643044e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns querystring as string from a mapped array. <a href="#a9cbab4ee728e9a8b4ce952bae643044e">More...</a><br/></td></tr>
<tr class="separator:a9cbab4ee728e9a8b4ce952bae643044e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc0a90a1a77f5b668aa7e4b57d1776a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a> ()</td></tr>
<tr class="separator:abc0a90a1a77f5b668aa7e4b57d1776a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a768f00b7d66be0daf7ef4eea2e862006"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:a768f00b7d66be0daf7ef4eea2e862006"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:a768f00b7d66be0daf7ef4eea2e862006"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e0930933fb2c0bf8211cc7ab4e1c3b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4">dba_timer</a> ()</td></tr>
<tr class="separator:a3e0930933fb2c0bf8211cc7ab4e1c3b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a623e49c79943f3e7bdb770d021683cf7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a623e49c79943f3e7bdb770d021683cf7">get_observer_hash</a> ()</td></tr>
+<tr class="memdesc:a623e49c79943f3e7bdb770d021683cf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns xchan_hash from the observer. <a href="#a623e49c79943f3e7bdb770d021683cf7">More...</a><br/></td></tr>
<tr class="separator:a623e49c79943f3e7bdb770d021683cf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4221641e5c21db69fa52c426b9017f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa4221641e5c21db69fa52c426b9017f5">curPageURL</a> ()</td></tr>
<tr class="separator:aa4221641e5c21db69fa52c426b9017f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a899d24fd074594ceebbf72e1feff335f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a899d24fd074594ceebbf72e1feff335f">get_custom_nav</a> (&amp;$a, $navname)</td></tr>
+<tr class="memdesc:a899d24fd074594ceebbf72e1feff335f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a custom navigation by name??? <a href="#a899d24fd074594ceebbf72e1feff335f">More...</a><br/></td></tr>
<tr class="separator:a899d24fd074594ceebbf72e1feff335f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50a6707a28c7d05d3f49eaabc7994501"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a50a6707a28c7d05d3f49eaabc7994501">load_pdl</a> (&amp;$a)</td></tr>
+<tr class="memdesc:a50a6707a28c7d05d3f49eaabc7994501"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads a page definition file for a module. <a href="#a50a6707a28c7d05d3f49eaabc7994501">More...</a><br/></td></tr>
<tr class="separator:a50a6707a28c7d05d3f49eaabc7994501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc4e0c910af066148b810e5fde55fff1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page</a> (&amp;$a)</td></tr>
+<tr class="memdesc:acc4e0c910af066148b810e5fde55fff1"><td class="mdescLeft">&#160;</td><td class="mdescRight">build the page. <a href="#acc4e0c910af066148b810e5fde55fff1">More...</a><br/></td></tr>
<tr class="separator:acc4e0c910af066148b810e5fde55fff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75a90b0eadd0df510f7e63210733634d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a75a90b0eadd0df510f7e63210733634d">appdirpath</a> ()</td></tr>
+<tr class="memdesc:a75a90b0eadd0df510f7e63210733634d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>'s root directory. <a href="#a75a90b0eadd0df510f7e63210733634d">More...</a><br/></td></tr>
<tr class="separator:a75a90b0eadd0df510f7e63210733634d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e4701c9742c3ef88f02ac450a042a84"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84">head_set_icon</a> ($icon)</td></tr>
+<tr class="memdesc:a0e4701c9742c3ef88f02ac450a042a84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a pageicon. <a href="#a0e4701c9742c3ef88f02ac450a042a84">More...</a><br/></td></tr>
<tr class="separator:a0e4701c9742c3ef88f02ac450a042a84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24a7a70afedd5d85fe0eadc85afa9f77"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">head_get_icon</a> ()</td></tr>
+<tr class="memdesc:a24a7a70afedd5d85fe0eadc85afa9f77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pageicon. <a href="#a24a7a70afedd5d85fe0eadc85afa9f77">More...</a><br/></td></tr>
<tr class="separator:a24a7a70afedd5d85fe0eadc85afa9f77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a329400dcb29897cdaae3020109272285"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a329400dcb29897cdaae3020109272285">get_directory_realm</a> ()</td></tr>
+<tr class="memdesc:a329400dcb29897cdaae3020109272285"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the Realm of the directory. <a href="#a329400dcb29897cdaae3020109272285">More...</a><br/></td></tr>
<tr class="separator:a329400dcb29897cdaae3020109272285"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa561f801e962b67a5c4d0548ea95fd17"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa561f801e962b67a5c4d0548ea95fd17">get_poller_runtime</a> ()</td></tr>
+<tr class="memdesc:aa561f801e962b67a5c4d0548ea95fd17"><td class="mdescLeft">&#160;</td><td class="mdescRight">return relative date of last completed poller execution <a href="#aa561f801e962b67a5c4d0548ea95fd17">More...</a><br/></td></tr>
+<tr class="separator:aa561f801e962b67a5c4d0548ea95fd17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a476c499e15caf75972fed134a8f23b2e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a476c499e15caf75972fed134a8f23b2e">z_get_upload_dir</a> ()</td></tr>
+<tr class="separator:a476c499e15caf75972fed134a8f23b2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59717d02602a4babf2a54da8b33d93a5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a59717d02602a4babf2a54da8b33d93a5">z_get_temp_dir</a> ()</td></tr>
+<tr class="separator:a59717d02602a4babf2a54da8b33d93a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
@@ -210,14 +242,12 @@ Variables</h2></td></tr>
<tr class="separator:a21cc29e0025943e7c28ff58cb4856ac3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36b31575f992a10b5927b76efba9362e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a36b31575f992a10b5927b76efba9362e">ZOT_REVISION</a> 1</td></tr>
<tr class="separator:a36b31575f992a10b5927b76efba9362e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac59a18a4838710d6c2de37aed6b21f03"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03">DB_UPDATE_VERSION</a> 1130</td></tr>
+<tr class="memitem:ac59a18a4838710d6c2de37aed6b21f03"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03">DB_UPDATE_VERSION</a> 1131</td></tr>
<tr class="separator:ac59a18a4838710d6c2de37aed6b21f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0603d6ece8c5d37b4b7db697db053a4b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b">EOL</a> '&lt;br /&gt;' . &quot;\r\n&quot;</td></tr>
+<tr class="memitem:a0603d6ece8c5d37b4b7db697db053a4b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b">EOL</a> '&lt;br&gt;' . &quot;\r\n&quot;</td></tr>
<tr class="separator:a0603d6ece8c5d37b4b7db697db053a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad34c1547020a305915bcc39707744690"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad34c1547020a305915bcc39707744690">ATOM_TIME</a> 'Y-m-d\TH:i:s\Z'</td></tr>
<tr class="separator:ad34c1547020a305915bcc39707744690"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6cd1b4081630b2bf7be38836cd9f410c"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a6cd1b4081630b2bf7be38836cd9f410c">NULL_DATE</a> '0000-00-00 00:00:00'</td></tr>
-<tr class="separator:a6cd1b4081630b2bf7be38836cd9f410c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1200c1f968ff3d52ef878de5fc5c30c1"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1200c1f968ff3d52ef878de5fc5c30c1">TEMPLATE_BUILD_PATH</a> 'store/[data]/smarty3'</td></tr>
<tr class="separator:a1200c1f968ff3d52ef878de5fc5c30c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7d65a7e7417825a4db62906bb600729"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab7d65a7e7417825a4db62906bb600729">DIRECTORY_MODE_NORMAL</a> 0x0000</td></tr>
@@ -324,6 +354,10 @@ Variables</h2></td></tr>
<tr class="separator:ac43182e0d8bae7576a30b603774974f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78849a1bf8ce8d9804b4cbb502e8f383"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383">PHOTO_THING</a> 0x0004</td></tr>
<tr class="separator:a78849a1bf8ce8d9804b4cbb502e8f383"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a921c55b9fa59a327a5f0e07fa1ccb2e0"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a921c55b9fa59a327a5f0e07fa1ccb2e0">PHOTO_ADULT</a> 0x0008</td></tr>
+<tr class="separator:a921c55b9fa59a327a5f0e07fa1ccb2e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab49a5d43ce1150c5af8c750ccb14e15f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab49a5d43ce1150c5af8c750ccb14e15f">PHOTO_FLAG_OS</a> 0x4000</td></tr>
+<tr class="separator:ab49a5d43ce1150c5af8c750ccb14e15f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a718a801b0be6cbaef5e519516da12721"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a718a801b0be6cbaef5e519516da12721">MENU_SYSTEM</a> 0x0001</td></tr>
<tr class="separator:a718a801b0be6cbaef5e519516da12721"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a458e19af801bc4b0d1f1ce1a6d9e857e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e">MENU_BOOKMARK</a> 0x0002</td></tr>
@@ -488,6 +522,28 @@ Variables</h2></td></tr>
<tr class="separator:aca08bc4f1554ba877500f6abcc99e1e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14d44d4a00223dc3db4ea962325db192"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a14d44d4a00223dc3db4ea962325db192">NOTIFY_SYSTEM</a> 0x8000</td></tr>
<tr class="separator:a14d44d4a00223dc3db4ea962325db192"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a997614f25e58f8313641e1eb0109fd10"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a997614f25e58f8313641e1eb0109fd10">VNOTIFY_NETWORK</a> 0x0001</td></tr>
+<tr class="separator:a997614f25e58f8313641e1eb0109fd10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b511bd93202c43405adbe3b5bcebbfe"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7b511bd93202c43405adbe3b5bcebbfe">VNOTIFY_CHANNEL</a> 0x0002</td></tr>
+<tr class="separator:a7b511bd93202c43405adbe3b5bcebbfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0afeb43da443d6ff3526ede5ecdcc3b3"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0afeb43da443d6ff3526ede5ecdcc3b3">VNOTIFY_MAIL</a> 0x0004</td></tr>
+<tr class="separator:a0afeb43da443d6ff3526ede5ecdcc3b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad94aca4c260b8a892397786201dc4664"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ad94aca4c260b8a892397786201dc4664">VNOTIFY_EVENT</a> 0x0008</td></tr>
+<tr class="separator:ad94aca4c260b8a892397786201dc4664"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76480b213af379c0c6c7fa4e39019ca9"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a76480b213af379c0c6c7fa4e39019ca9">VNOTIFY_EVENTTODAY</a> 0x0010</td></tr>
+<tr class="separator:a76480b213af379c0c6c7fa4e39019ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac89396b9144391acd08d6d0f9b332220"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac89396b9144391acd08d6d0f9b332220">VNOTIFY_BIRTHDAY</a> 0x0020</td></tr>
+<tr class="separator:ac89396b9144391acd08d6d0f9b332220"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e5627b5ca4b7464feb0f08663b19ea1"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a7e5627b5ca4b7464feb0f08663b19ea1">VNOTIFY_SYSTEM</a> 0x0040</td></tr>
+<tr class="separator:a7e5627b5ca4b7464feb0f08663b19ea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a37281c30bd92cecb499878d6778c570f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a37281c30bd92cecb499878d6778c570f">VNOTIFY_INFO</a> 0x0080</td></tr>
+<tr class="separator:a37281c30bd92cecb499878d6778c570f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f8a2938ddd9ee2867e6f8ce77b61b2f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9f8a2938ddd9ee2867e6f8ce77b61b2f">VNOTIFY_ALERT</a> 0x0100</td></tr>
+<tr class="separator:a9f8a2938ddd9ee2867e6f8ce77b61b2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1997c4b7d0253e036bc0fb6b20e4af71"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a1997c4b7d0253e036bc0fb6b20e4af71">VNOTIFY_INTRO</a> 0x0200</td></tr>
+<tr class="separator:a1997c4b7d0253e036bc0fb6b20e4af71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae09767b94688657978ff9366ec63684b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ae09767b94688657978ff9366ec63684b">VNOTIFY_REGISTER</a> 0x0400</td></tr>
+<tr class="separator:ae09767b94688657978ff9366ec63684b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ad9cc5d4354be741fa1de12b96e9955"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955">HUBLOC_FLAGS_PRIMARY</a> 0x0001</td></tr>
<tr class="separator:a3ad9cc5d4354be741fa1de12b96e9955"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab54b24cc302e1a42a67a49d788b6b764"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764">HUBLOC_FLAGS_UNVERIFIED</a> 0x0002</td></tr>
@@ -508,6 +564,8 @@ Variables</h2></td></tr>
<tr class="separator:a5a681a672e007cdc22b43345d71f07c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afef254290febac854c85fc698d9483a6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#afef254290febac854c85fc698d9483a6">XCHAN_FLAGS_SYSTEM</a> 0x0010</td></tr>
<tr class="separator:afef254290febac854c85fc698d9483a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0209e605028a5bb492683951ab30d49d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a0209e605028a5bb492683951ab30d49d">XCHAN_FLAGS_PUBFORUM</a> 0x0020</td></tr>
+<tr class="separator:a0209e605028a5bb492683951ab30d49d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ea1290e00c6d40684892047f2c778a9"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a9ea1290e00c6d40684892047f2c778a9">XCHAN_FLAGS_DELETED</a> 0x1000</td></tr>
<tr class="separator:a9ea1290e00c6d40684892047f2c778a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa589421267f0c2f0d643f727792cce35"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#aa589421267f0c2f0d643f727792cce35">HUBLOC_NOTUSED</a> 0x0000</td></tr>
@@ -720,8 +778,14 @@ Variables</h2></td></tr>
<tr class="separator:a11cfe7d99b4dac0454d0de8873989f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4d1c93dabcace711ffb4931204c336b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#ac4d1c93dabcace711ffb4931204c336b">ITEM_RSS</a> 0x8000</td></tr>
<tr class="separator:ac4d1c93dabcace711ffb4931204c336b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8c9a11c47394244cbe18cd75b9726d5f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a8c9a11c47394244cbe18cd75b9726d5f">DBTYPE_MYSQL</a> 0</td></tr>
+<tr class="separator:a8c9a11c47394244cbe18cd75b9726d5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a37ddabc112db443b4c67fbc0f708817e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="boot_8php.html#a37ddabc112db443b4c67fbc0f708817e">DBTYPE_POSTGRES</a> 1</td></tr>
+<tr class="separator:a37ddabc112db443b4c67fbc0f708817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<h2 class="groupheader">Function Documentation</h2>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This file defines some global constants and includes the central <a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a> class. </p>
+</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a081307d681d7d04f17b9ced2076e7c85"></a>
<div class="memitem">
<div class="memproto">
@@ -736,6 +800,15 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Return absolut URL for given $path. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$path</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
</div>
</div>
<a class="anchor" id="a75a90b0eadd0df510f7e63210733634d"></a>
@@ -751,6 +824,9 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Returns <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>'s root directory. </p>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
<p>Referenced by <a class="el" href="include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7">get_capath()</a>.</p>
</div>
@@ -768,7 +844,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="online_8php.html#a80e107c84eb722b0ca11d0413b96f9f7">online_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="regver_8php.html#ad2c5f644fd1b099abd7c715b7df6f50f">regver_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9">blocks_init()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e">editblock_init()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7">editlayout_init()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f">editwebpage_init()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa">layouts_init()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="online_8php.html#a80e107c84eb722b0ca11d0413b96f9f7">online_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="regver_8php.html#ad2c5f644fd1b099abd7c715b7df6f50f">regver_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__home_8php.html#a668340089acd150b830134476a647d05">update_home_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7">webpages_init()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -786,7 +862,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="block_8php.html#a9b61c96044ed2a068f18c10370a78d5c">block_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="online_8php.html#a80e107c84eb722b0ca11d0413b96f9f7">online_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="regver_8php.html#ad2c5f644fd1b099abd7c715b7df6f50f">regver_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view_init()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f">widget_collections()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="block_8php.html#a9b61c96044ed2a068f18c10370a78d5c">block_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9">blocks_init()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e">editblock_init()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7">editlayout_init()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f">editwebpage_init()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa">layouts_init()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="online_8php.html#a80e107c84eb722b0ca11d0413b96f9f7">online_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="regver_8php.html#ad2c5f644fd1b099abd7c715b7df6f50f">regver_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__home_8php.html#a668340089acd150b830134476a647d05">update_home_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view_init()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7">webpages_init()</a>, <a class="el" href="widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f">widget_collections()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -813,10 +889,12 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<p>returns querystring as string from a mapped array</p>
+
+<p>Returns querystring as string from a mapped array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">params</td><td>Array </td></tr>
+ <tr><td class="paramtype">array</td><td class="paramname">$params</td><td>mapped array with query parameters </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$name</td><td>of parameter, default null</td></tr>
</table>
</dd>
</dl>
@@ -872,7 +950,15 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+
+<p>build the page. </p>
<p>Build the page - now that we have all the components</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">&amp;$a</td><td>global application object </td></tr>
+ </table>
+ </dd>
+</dl>
<p>Referenced by <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>.</p>
@@ -927,7 +1013,16 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<p>Return full URL to theme which is currently in effect. Provide a sane default if nothing is chosen or the specified theme does not exist. </p>
+
+<p>Return full URL to theme which is currently in effect. </p>
+<p>Provide a sane default if nothing is chosen or the specified theme does not exist.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">bool</td><td class="paramname">$installing</td><td>default false</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
<p>Referenced by <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>.</p>
@@ -946,7 +1041,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template\replace_macros()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template\replace_macros()</a>.</p>
</div>
</div>
@@ -991,6 +1086,10 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Returns the entity id of locally logged in account or false. </p>
+<p>Returns numeric account_id if authenticated or 0. It is possible to be authenticated and not connected to a channel.</p>
+<dl class="section return"><dt>Returns</dt><dd>int|bool account_id or false </dd></dl>
+
<p>Referenced by <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
@@ -1008,7 +1107,11 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc()</a>, <a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">blogtheme_imgurl()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">can_comment_on_post()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run()</a>, <a class="el" href="comanche_8php.html#aed39ecad69234f3ddf61f0dedb49a58e">comanche_get_channel_id()</a>, <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche_replace_region()</a>, <a class="el" href="comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f">comanche_widget()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a900abf51398b2ef26cd2cd31c52f1b0f">diaspora_profile()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200">diaspora_unshare()</a>, <a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">dir_tagblock()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="boot_8php.html#afe88b920aa285982edb817a0dd44eb37">get_account_id()</a>, <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">get_best_language()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">get_form_security_token()</a>, <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine\get_intltext_template()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="boot_8php.html#a623e49c79943f3e7bdb770d021683cf7">get_observer_hash()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="settings_8php.html#a39abc76ff5459c57e3b957664f273f18">get_theme_config_file()</a>, <a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">get_theme_screenshot()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a">head_add_css()</a>, <a class="el" href="plugin_8php.html#a516591850f4fd49fd1425cfa54089db8">head_add_js()</a>, <a class="el" href="plugin_8php.html#af92789f559b89a380e49d303218aeeca">head_get_css()</a>, <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">head_get_js()</a>, <a class="el" href="plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf">head_remove_css()</a>, <a class="el" href="plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4">head_remove_js()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b">insert_hook()</a>, <a class="el" href="boot_8php.html#a6252d8eca67c689d9035ec6da544cf46">is_developer()</a>, <a class="el" href="identity_8php.html#a4e996e44b50330098a04b467367a559f">is_public_profile()</a>, <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="items_8php.html#a8675e62674de6fb7c42e4a408c7116cc">map_scope()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav_set_selected()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql()</a>, <a class="el" href="comanche_8php.html#a3d11417d2d846dbe72638a556529ff8f">register_page_template()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7">rpost_callback()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">theme_include()</a>, <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">tryzrlvideo()</a>, <a class="el" href="language_8php.html#a686bcafa6b0d5c86d37b38a1db5b6997">tt()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f">widget_collections()</a>, <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013">widget_menu_preview()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="widgets_8php.html#abe03366fd22fd27d683518fa0765da50">widget_vcard()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, and <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>.</p>
+<p>Retrieve the <a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a> structure. </p>
+<p>Useful in functions which require it but don't get it passed to them</p>
+<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc()</a>, <a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">can_comment_on_post()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run()</a>, <a class="el" href="comanche_8php.html#aed39ecad69234f3ddf61f0dedb49a58e">comanche_get_channel_id()</a>, <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche_replace_region()</a>, <a class="el" href="comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f">comanche_widget()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a900abf51398b2ef26cd2cd31c52f1b0f">diaspora_profile()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200">diaspora_unshare()</a>, <a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">dir_tagblock()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="boot_8php.html#afe88b920aa285982edb817a0dd44eb37">get_account_id()</a>, <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">get_best_language()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">get_form_security_token()</a>, <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine\get_intltext_template()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="boot_8php.html#a623e49c79943f3e7bdb770d021683cf7">get_observer_hash()</a>, <a class="el" href="settings_8php.html#a39abc76ff5459c57e3b957664f273f18">get_theme_config_file()</a>, <a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">get_theme_screenshot()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a">head_add_css()</a>, <a class="el" href="plugin_8php.html#a516591850f4fd49fd1425cfa54089db8">head_add_js()</a>, <a class="el" href="plugin_8php.html#af92789f559b89a380e49d303218aeeca">head_get_css()</a>, <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">head_get_js()</a>, <a class="el" href="plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf">head_remove_css()</a>, <a class="el" href="plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4">head_remove_js()</a>, <a class="el" href="event_8php.html#ab8cc2825013e724dc26229026711cf93">ical_wrapper()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b">insert_hook()</a>, <a class="el" href="boot_8php.html#a6252d8eca67c689d9035ec6da544cf46">is_developer()</a>, <a class="el" href="identity_8php.html#a4e996e44b50330098a04b467367a559f">is_public_profile()</a>, <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a4446c7f8996a280f7e08b7bfe6c6c8bc">list_smilies()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="items_8php.html#a8675e62674de6fb7c42e4a408c7116cc">map_scope()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav_set_selected()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="comanche_8php.html#a3d11417d2d846dbe72638a556529ff8f">register_page_template()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7">rpost_callback()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">theme_include()</a>, <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">tryzrlvideo()</a>, <a class="el" href="language_8php.html#a686bcafa6b0d5c86d37b38a1db5b6997">tt()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5">widget_catcloud_wall()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f">widget_collections()</a>, <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013">widget_menu_preview()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380">widget_photo_rand()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widget_random_block()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="widgets_8php.html#abe03366fd22fd27d683518fa0765da50">widget_vcard()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, and <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>.</p>
</div>
</div>
@@ -1036,6 +1139,18 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Returns a custom navigation by name??? </p>
+<p>If no $navname provided load default page['nav']</p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>not fully implemented yet</dd></dl>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td>global application object </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$navname</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>mixed </dd></dl>
+
<p>Referenced by <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>.</p>
</div>
@@ -1053,6 +1168,9 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Return the Realm of the directory. </p>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
<p>Referenced by <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
@@ -1070,6 +1188,9 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Wrapper around config to limit the text length of an incoming message. </p>
+<dl class="section return"><dt>Returns</dt><dd>int </dd></dl>
+
<p>Referenced by <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, and <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size()</a>.</p>
</div>
@@ -1087,7 +1208,29 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="comanche_8php.html#ad5a44e42231759aba1dda49e0490501e">comanche_menu()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poll_8php.html#a26be9d4f230cb68f5be326198cfc6c77">poll_post()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">RedMatrix\RedDAV\RedBrowser\set_writeable()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, and <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>.</p>
+<p>Returns xchan_hash from the observer. </p>
+<dl class="section return"><dt>Returns</dt><dd>string Empty if no observer, otherwise xchan_hash from observer </dd></dl>
+
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="comanche_8php.html#ad5a44e42231759aba1dda49e0490501e">comanche_menu()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poll_8php.html#a26be9d4f230cb68f5be326198cfc6c77">poll_post()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">RedMatrix\RedDAV\RedBrowser\set_writeable()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5">widget_catcloud_wall()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, and <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa561f801e962b67a5c4d0548ea95fd17"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_poller_runtime </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>return relative date of last completed poller execution </p>
+
+<p>Referenced by <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>.</p>
</div>
</div>
@@ -1105,7 +1248,9 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a278289bc6d45f6f2a272a7ab6a1d1057">admin_page_profs_post()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, and <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
+<p>Redirect to another URL and terminate this process. </p>
+
+<p>Referenced by <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a278289bc6d45f6f2a272a7ab6a1d1057">admin_page_profs_post()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, and <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
</div>
</div>
@@ -1122,6 +1267,9 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Get the pageicon. </p>
+<dl class="section return"><dt>Returns</dt><dd>string absolut path to pageicon </dd></dl>
+
</div>
</div>
<a class="anchor" id="a0e4701c9742c3ef88f02ac450a042a84"></a>
@@ -1138,6 +1286,14 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Set a pageicon. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$icon</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+
<p>Referenced by <a class="el" href="block_8php.html#a9b61c96044ed2a068f18c10370a78d5c">block_init()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, and <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
</div>
@@ -1155,8 +1311,15 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+<p>Contents of $s are displayed prominently on the page the next time a page is loaded. Usually used for information. For error and alerts use <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$s</td><td>Text to display </td></tr>
+ </table>
+ </dd>
+</dl>
-<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, and <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>.</p>
</div>
</div>
@@ -1173,6 +1336,9 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Function to check if request was an AJAX (xmlhttprequest) request. </p>
+<dl class="section return"><dt>Returns</dt><dd>boolean </dd></dl>
+
<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>.</p>
</div>
@@ -1190,6 +1356,10 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Check if current user has developer role. </p>
+<p>Check if the current user has ACCOUNT_ROLE_DEVELOPER.</p>
+<dl class="section return"><dt>Returns</dt><dd>bool true if user is a developer </dd></dl>
+
<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, and <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>.</p>
</div>
@@ -1207,7 +1377,11 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+<p>Check if current user has admin role. </p>
+<p>Check if the current user has ACCOUNT_ROLE_ADMIN.</p>
+<dl class="section return"><dt>Returns</dt><dd>bool true if user is an admin </dd></dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9">blocks_init()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e">editblock_init()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7">editlayout_init()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f">editwebpage_init()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa">layouts_init()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7">webpages_init()</a>.</p>
</div>
</div>
@@ -1224,6 +1398,9 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Checks if we are running on M$ Windows. </p>
+<dl class="section return"><dt>Returns</dt><dd>bool true if we run on M$ Windows </dd></dl>
+
<p>Referenced by <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, and <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>.</p>
</div>
@@ -1241,7 +1418,9 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74">api_friendica_version()</a>, <a class="el" href="include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0">api_oauth_access_token()</a>, <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api_oauth_request_token()</a>, <a class="el" href="include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d">api_statusnet_version()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1">goaway()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">http_status_exit()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">json_return_and_die()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6">php_init()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="pretheme_8php.html#af5660943ee99db5fd75182316522eafe">pretheme_init()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">App\register_template_engine()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="regver_8php.html#ad2c5f644fd1b099abd7c715b7df6f50f">regver_content()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0">system_unavailable()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">App\template_engine()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
+<p>Used to end the current process, after saving session state. </p>
+
+<p>Referenced by <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74">api_friendica_version()</a>, <a class="el" href="include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0">api_oauth_access_token()</a>, <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api_oauth_request_token()</a>, <a class="el" href="include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d">api_statusnet_version()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1">goaway()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">http_status_exit()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">json_return_and_die()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014">oembed_init()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6">php_init()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="pretheme_8php.html#af5660943ee99db5fd75182316522eafe">pretheme_init()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">App\register_template_engine()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="regver_8php.html#ad2c5f644fd1b099abd7c715b7df6f50f">regver_content()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0">system_unavailable()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">App\template_engine()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__home_8php.html#a668340089acd150b830134476a647d05">update_home_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e">view_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
</div>
</div>
@@ -1277,6 +1456,15 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Loads a page definition file for a module. </p>
+<p>If there is no parsed Comanche template already load a module's pdl file and parse it with Comanche.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">&amp;$a</td><td>global application object </td></tr>
+ </table>
+ </dd>
+</dl>
+
<p>Referenced by <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>.</p>
</div>
@@ -1294,7 +1482,11 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09">Conversation\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="comanche_8php.html#aed39ecad69234f3ddf61f0dedb49a58e">comanche_get_channel_id()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="identity_8php.html#a4e996e44b50330098a04b467367a559f">is_public_profile()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#aced5cb177f630b30799c5eab873ee75c">widget_appselect()</a>, <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
+<p>Returns the entity id (channel_id) of locally logged in user or false. </p>
+<p>Returns authenticated numeric channel_id if authenticated and connected to a channel or 0. Sometimes referred to as $uid in the code.</p>
+<dl class="section return"><dt>Returns</dt><dd>int|bool channel_id or false </dd></dl>
+
+<p>Referenced by <a class="el" href="classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09">Conversation\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="comanche_8php.html#aed39ecad69234f3ddf61f0dedb49a58e">comanche_get_channel_id()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow_content()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="identity_8php.html#a4e996e44b50330098a04b467367a559f">is_public_profile()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#aced5cb177f630b30799c5eab873ee75c">widget_appselect()</a>, <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
</div>
</div>
@@ -1328,7 +1520,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd">post_to_red_displayAdminContent()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, and <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592">follow_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, and <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>.</p>
</div>
</div>
@@ -1345,8 +1537,15 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+<p>Contents of $s are displayed prominently on the page the next time a page is loaded. Usually used for errors or alerts.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$s</td><td>Text to display </td></tr>
+ </table>
+ </dd>
+</dl>
-<p>Referenced by <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>.</p>
+<p>Referenced by <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>.</p>
</div>
</div>
@@ -1402,7 +1601,7 @@ Variables</h2></td></tr>
<p>e.g.: proc_run("ls","-la","/tmp");</p>
<p>$cmd and string args are surrounded with "" </p>
-<p>Referenced by <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
</div>
</div>
@@ -1419,7 +1618,10 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Returns contact id (visitor_id) of authenticated site visitor or false. </p>
+<dl class="section return"><dt>Returns</dt><dd>int|bool visitor_id or false </dd></dl>
+
+<p>Referenced by <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55">drop_items()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -1456,7 +1658,7 @@ Variables</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a01353c9abebc3544ea080ac161729632"></a>
+<a class="anchor" id="ae97836b0547953be182a2334c9c91d3c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -1470,7 +1672,7 @@ Variables</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$k</em> = <code>NULL</code>&#160;</td>
+ <td class="paramname"><em>$k</em> = <code>null</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -1480,7 +1682,49 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89">account_service_class_fetch()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">bbtoevent()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#aa723c0571e314a1853a24c5854b4f54f">encode_rel_links()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e">get_browser_language()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2">get_my_address()</a>, <a class="el" href="identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec">get_my_url()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898">red_item_new()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">App\register_template_engine()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209">remote_user()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3">script_path()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">App\set_baseurl()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="language_8php.html#ac6ae482ee54fa2764d5c2e77305aeb96">t()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">App\template_engine()</a>, <a class="el" href="language_8php.html#a686bcafa6b0d5c86d37b38a1db5b6997">tt()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3">webfinger_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Multi-purpose function to check variable state. </p>
+<p>Usage: x($var) or $x($array, 'key')</p>
+<p>returns false if variable/key is not set if variable is set, returns 1 if has 'non-zero' value, otherwise returns 0. e.g. x('') or x(0) returns 0;</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string&#160;|&#160;array</td><td class="paramname">$s</td><td>variable to check </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$k</td><td>key inside the array to check</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool|int </dd></dl>
+
+<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89">account_service_class_fetch()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">bbtoevent()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#aa723c0571e314a1853a24c5854b4f54f">encode_rel_links()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e">get_browser_language()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2">get_my_address()</a>, <a class="el" href="identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec">get_my_url()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="datetime_8php.html#afbb34604d0f6e7d2103da4f42e2487b1">get_timezones()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898">red_item_new()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">App\register_template_engine()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209">remote_user()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3">script_path()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">App\set_baseurl()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a267555abd17290e659b4bf44b885e4e0">setup_init()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="language_8php.html#ac6ae482ee54fa2764d5c2e77305aeb96">t()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">App\template_engine()</a>, <a class="el" href="language_8php.html#a686bcafa6b0d5c86d37b38a1db5b6997">tt()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3">webfinger_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a59717d02602a4babf2a54da8b33d93a5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">z_get_temp_dir </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a476c499e15caf75972fed134a8f23b2e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">z_get_upload_dir </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
</div>
</div>
@@ -1514,7 +1758,11 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a278289bc6d45f6f2a272a7ab6a1d1057">admin_page_profs_post()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="text_8php.html#a85e3a4851c16674834010d8419a5d7ca">chanlink_cid()</a>, <a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">chanlink_hash()</a>, <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">chanlink_url()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">find_upstream_directory()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="include_2attach_8php.html#a1d72ef7cb940f6868e3e2a841cadfe8f">get_parent_cloudpath()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#acaa792c08d24e9dc2919759e92ba037d">RedMatrix\RedDAV\RedBrowser\getAssetUrl()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">App\head_get_icon()</a>, <a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">head_get_icon()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6">magiclink_url()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3">script_path()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9">sslify()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a08035db02ff6a23260146b4c64153422">widget_dirtags()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot_new_uid()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
+<p>Returns the baseurl. </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classApp.html#a604d659d6977a99de42a160343e5289a">App::get_baseurl()</a></dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a278289bc6d45f6f2a272a7ab6a1d1057">admin_page_profs_post()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="text_8php.html#a85e3a4851c16674834010d8419a5d7ca">chanlink_cid()</a>, <a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">chanlink_hash()</a>, <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">chanlink_url()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">find_upstream_directory()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="include_2attach_8php.html#a1d72ef7cb940f6868e3e2a841cadfe8f">get_parent_cloudpath()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#acaa792c08d24e9dc2919759e92ba037d">RedMatrix\RedDAV\RedBrowser\getAssetUrl()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">App\head_get_icon()</a>, <a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">head_get_icon()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6">magiclink_url()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="refimport_8php.html#a53434bc19e6264db89e18d92ddc09860">reflect_article_callback()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5">reflect_photo_callback()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3">script_path()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9">sslify()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79">toggle_safesearch_init()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a08035db02ff6a23260146b4c64153422">widget_dirtags()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="xref_8php.html#a9bee399213b8de8226b0d60834307473">xref_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot_new_uid()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
</div>
</div>
@@ -1532,9 +1780,9 @@ Variables</h2></td></tr>
<div class="line"> <span class="stringliteral">&#39;https://zothub.com&#39;</span>, </div>
<div class="line"> <span class="stringliteral">&#39;https://zotid.net&#39;</span>, </div>
<div class="line"> <span class="stringliteral">&#39;https://redmatrix.nl&#39;</span>, </div>
-<div class="line"> <span class="stringliteral">&#39;https://whogotzot.com&#39;</span>, </div>
<div class="line"> <span class="stringliteral">&#39;https://red.zottel.red&#39;</span>,</div>
-<div class="line"> <span class="stringliteral">&#39;https://red.pixelbits.de&#39;</span></div>
+<div class="line"> <span class="stringliteral">&#39;https://red.pixelbits.de&#39;</span>,</div>
+<div class="line"> <span class="stringliteral">&#39;https://whogotzot.com&#39;</span></div>
<div class="line">)</div>
</div><!-- fragment -->
<p>Referenced by <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">find_upstream_directory()</a>.</p>
@@ -1565,7 +1813,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>.</p>
+<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>.</p>
</div>
</div>
@@ -1607,7 +1855,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+<p>Referenced by <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>.</p>
</div>
</div>
@@ -1635,7 +1883,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">abook_connections()</a>, <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">abook_self()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="items_8php.html#a772f0ae77ad77c8ab68ed918a3870946">collect_recipients()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">abook_connections()</a>, <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">abook_self()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="items_8php.html#a772f0ae77ad77c8ab68ed918a3870946">collect_recipients()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#a293f416ce9050220b183e08ff5890216">get_channel_default_perms()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
</div>
</div>
@@ -1860,7 +2108,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, and <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">visible_activity()</a>.</p>
+<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">visible_activity()</a>.</p>
</div>
</div>
@@ -1927,7 +2175,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>activity stream defines </p>
-<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, and <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">visible_activity()</a>.</p>
+<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">visible_activity()</a>.</p>
</div>
</div>
@@ -2127,7 +2375,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8">construct_verb()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">item_post_type()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, and <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8">construct_verb()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">item_post_type()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, and <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>.</p>
</div>
</div>
@@ -2325,7 +2573,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const DB_UPDATE_VERSION 1130</td>
+ <td class="memname">const DB_UPDATE_VERSION 1131</td>
</tr>
</table>
</div><div class="memdoc">
@@ -2334,6 +2582,32 @@ Variables</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a8c9a11c47394244cbe18cd75b9726d5f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const DBTYPE_MYSQL 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a37ddabc112db443b4c67fbc0f708817e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const DBTYPE_POSTGRES 1</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="dba__driver_8php.html#a5df8499634c47b30191f34069d7b98c0">dba_factory()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, and <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="aa8a2b61e70900139d1ca28e46f1da49d"></a>
<div class="memitem">
<div class="memproto">
@@ -2385,7 +2659,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -2413,7 +2687,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -2455,7 +2729,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, and <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, and <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>.</p>
</div>
</div>
@@ -2478,12 +2752,12 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">const EOL '&lt;br /&gt;' . &quot;\r\n&quot;</td>
+ <td class="memname">const EOL '&lt;br&gt;' . &quot;\r\n&quot;</td>
</tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">check_form_security_std_err_msg()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">check_smarty3()</a>, <a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">check_store()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>.</p>
+<p>Referenced by <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">check_form_security_std_err_msg()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">check_smarty3()</a>, <a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">check_store()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, and <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>.</p>
</div>
</div>
@@ -2536,7 +2810,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot_encode_locations()</a>, and <a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs()</a>.</p>
+<p>Referenced by <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot_encode_locations()</a>, <a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs()</a>, and <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>.</p>
</div>
</div>
@@ -2564,7 +2838,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a905c3895feb6f276df23f07f16f9bb52">xchan_query()</a>, <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot_encode_locations()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a905c3895feb6f276df23f07f16f9bb52">xchan_query()</a>, <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot_encode_locations()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
</div>
</div>
@@ -2604,7 +2878,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, and <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>.</p>
+<p>Referenced by <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, and <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>.</p>
</div>
</div>
@@ -2682,7 +2956,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, and <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>.</p>
+<p>Referenced by <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, and <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widget_random_block()</a>.</p>
</div>
</div>
@@ -2710,7 +2984,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="items_8php.html#a5f690fc2484abec07840b4f9dd525bd9">encode_item_flags()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, and <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="items_8php.html#a5f690fc2484abec07840b4f9dd525bd9">encode_item_flags()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, and <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>.</p>
</div>
</div>
@@ -2724,7 +2998,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, and <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>.</p>
+<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, and <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>.</p>
</div>
</div>
@@ -2808,7 +3082,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>, and <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>.</p>
+<p>Referenced by <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>, and <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>.</p>
</div>
</div>
@@ -2823,7 +3097,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p><a class="el" href="classItem.html">Item</a> Flags </p>
-<p>Referenced by <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+<p>Referenced by <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
</div>
</div>
@@ -2931,7 +3205,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="items_8php.html#a5f690fc2484abec07840b4f9dd525bd9">encode_item_flags()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="items_8php.html#a5f690fc2484abec07840b4f9dd525bd9">encode_item_flags()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>.</p>
</div>
</div>
@@ -2959,7 +3233,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="classItem.html#ae0c48b2fed5558642549cabd547fc4f3">Item\count_unseen_descendants()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
</div>
</div>
@@ -3028,7 +3302,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="statistics__fns_8php.html#a9dd516dda693f17f5ce48a94876f7efa">update_local_posts_stat()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="statistics__fns_8php.html#a9dd516dda693f17f5ce48a94876f7efa">update_local_posts_stat()</a>, <a class="el" href="widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5">widget_catcloud_wall()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
@@ -3042,7 +3316,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, and <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>.</p>
+<p>Referenced by <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, and <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>.</p>
</div>
</div>
@@ -3114,7 +3388,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="diaspora_8php.html#a849754ec369e1a60fadae5c14584ca36">diaspora_decode()</a>, <a class="el" href="diaspora_8php.html#a6f0a67b6b17503c125af32763be931b7">diaspora_dispatch()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dir_parse_query()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b">find_diaspora_person_by_handle()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7">RedMatrix\RedDAV\RedDirectory\getChild()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#af90a1a74cfd643a5c56b9a17ea250d59">RedMatrix\RedDAV\RedDirectory\log()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abf6fe89b0a8239ed93c3b07e1fbce75b">RedMatrix\RedDAV\RedBasicAuth\log()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2network_8php.html#a872bbe72d23826c64c9e0f822180a3ec">old_webfinger()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="items_8php.html#a9b449eeae50003414b8b30ca927af434">update_feed_item()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083">bb2diaspora_itemwallwall()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="diaspora_8php.html#a849754ec369e1a60fadae5c14584ca36">diaspora_decode()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dir_parse_query()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b">find_diaspora_person_by_handle()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7">RedMatrix\RedDAV\RedDirectory\getChild()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#af90a1a74cfd643a5c56b9a17ea250d59">RedMatrix\RedDAV\RedDirectory\log()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abf6fe89b0a8239ed93c3b07e1fbce75b">RedMatrix\RedDAV\RedBasicAuth\log()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2network_8php.html#a872bbe72d23826c64c9e0f822180a3ec">old_webfinger()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="items_8php.html#a9b449eeae50003414b8b30ca927af434">update_feed_item()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
@@ -3128,7 +3402,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083">bb2diaspora_itemwallwall()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory\createDirectory()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ab7ab7ba81fab28eb02382cfdfd80ecfe">RedMatrix\RedDAV\RedFile\delete()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff">diaspora_handle_from_contact()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0">fetch_lrdd_template()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8">RedMatrix\RedDAV\RedFile\get()</a>, <a class="el" href="diaspora_8php.html#a9bf7ef4094e0e14f6e2b7fe76ab7ad2e">get_diaspora_key()</a>, <a class="el" href="diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7">get_diaspora_reshare_xml()</a>, <a class="el" href="language_8php.html#a43e6ddba9df019c9ac3ab4c94c444ae7">get_language_name()</a>, <a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">Conversation\get_template_data()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">Item\remove_child()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify\send()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">unload_plugin()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083">bb2diaspora_itemwallwall()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory\createDirectory()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ab7ab7ba81fab28eb02382cfdfd80ecfe">RedMatrix\RedDAV\RedFile\delete()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff">diaspora_handle_from_contact()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0">fetch_lrdd_template()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8">RedMatrix\RedDAV\RedFile\get()</a>, <a class="el" href="diaspora_8php.html#a9bf7ef4094e0e14f6e2b7fe76ab7ad2e">get_diaspora_key()</a>, <a class="el" href="diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7">get_diaspora_reshare_xml()</a>, <a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">Conversation\get_template_data()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">Item\remove_child()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify\send()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">unload_plugin()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -3892,20 +4166,6 @@ Variables</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a6cd1b4081630b2bf7be38836cd9f410c"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const NULL_DATE '0000-00-00 00:00:00'</td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="items_8php.html#abeb7886cde44d9a83dbaf2bc4ab18723">comments_are_now_closed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
-
-</div>
-</div>
<a class="anchor" id="ace83842dbeb84f7ed9ac59a9f57a7c32"></a>
<div class="memitem">
<div class="memproto">
@@ -3916,7 +4176,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -4051,7 +4311,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>, <a class="el" href="identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51">get_sys_channel()</a>, <a class="el" href="identity_8php.html#aa4bd4abfcba883f43919e89ec6419025">is_sys_channel()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>, <a class="el" href="identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51">get_sys_channel()</a>, <a class="el" href="identity_8php.html#aa4bd4abfcba883f43919e89ec6419025">is_sys_channel()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -4107,7 +4367,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="items_8php.html#a8675e62674de6fb7c42e4a408c7116cc">map_scope()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
+<p>Referenced by <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#a8675e62674de6fb7c42e4a408c7116cc">map_scope()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
</div>
</div>
@@ -4149,7 +4409,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="identity_8php.html#a4e996e44b50330098a04b467367a559f">is_public_profile()</a>, <a class="el" href="items_8php.html#a8675e62674de6fb7c42e4a408c7116cc">map_scope()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="identity_8php.html#a4e996e44b50330098a04b467367a559f">is_public_profile()</a>, <a class="el" href="items_8php.html#a8675e62674de6fb7c42e4a408c7116cc">map_scope()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
@@ -4163,7 +4423,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
</div>
</div>
@@ -4177,7 +4437,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
</div>
</div>
@@ -4191,7 +4451,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
</div>
</div>
@@ -4205,7 +4465,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
</div>
</div>
@@ -4219,7 +4479,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
</div>
</div>
@@ -4234,7 +4494,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>Permissions </p>
-<p>Referenced by <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
</div>
</div>
@@ -4276,7 +4536,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
</div>
</div>
@@ -4290,7 +4550,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">can_comment_on_post()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">can_comment_on_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
</div>
</div>
@@ -4304,7 +4564,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
</div>
</div>
@@ -4318,7 +4578,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
+<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
</div>
</div>
@@ -4360,7 +4620,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>.</p>
+<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
</div>
</div>
@@ -4374,7 +4634,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, and <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>.</p>
</div>
</div>
@@ -4388,7 +4648,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, and <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>.</p>
+<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -4402,7 +4662,33 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, and <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a921c55b9fa59a327a5f0e07fa1ccb2e0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PHOTO_ADULT 0x0008</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, and <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab49a5d43ce1150c5af8c750ccb14e15f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const PHOTO_FLAG_OS 0x4000</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
</div>
</div>
@@ -4417,7 +4703,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>Photo types </p>
-<p>Referenced by <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>.</p>
+<p>Referenced by <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, and <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>.</p>
</div>
</div>
@@ -4431,7 +4717,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, and <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>.</p>
+<p>Referenced by <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, and <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>.</p>
</div>
</div>
@@ -4545,7 +4831,7 @@ Variables</h2></td></tr>
<p>This allows any individual website to participate in a matrix of linked sites and people and media sharing which is far greater than the reach of an individual site.</p>
<p>If you are reading the source code and come across a function or code block which is not documented, but you have a good idea what it does, please add some descriptive comments and push it to the main project. Even if your description isn't perfect, it gives us a base which we can build on and correct - so that eventually everything is fully documented. </p>
-<p>Referenced by <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="event_8php.html#ab8cc2825013e724dc26229026711cf93">ical_wrapper()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -4588,7 +4874,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>registration policies </p>
-<p>Referenced by <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -4682,7 +4968,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, and <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, and <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>.</p>
</div>
</div>
@@ -4696,7 +4982,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>.</p>
+<p>Referenced by <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, and <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>.</p>
</div>
</div>
@@ -4724,7 +5010,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59">format_hashtags()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">item_getfeedtags()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59">format_hashtags()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">item_getfeedtags()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
</div>
</div>
@@ -4738,7 +5024,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="text_8php.html#ad8c6e13d6accf057136c5f30a23a5f08">format_mentions()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="text_8php.html#a76d1b3435c067978d7b484c45f56472b">get_mentions()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">item_getfeedtags()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>.</p>
+<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="text_8php.html#ad8c6e13d6accf057136c5f30a23a5f08">format_mentions()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="text_8php.html#a76d1b3435c067978d7b484c45f56472b">get_mentions()</a>, <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7">item_getfeedtags()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>.</p>
</div>
</div>
@@ -4800,7 +5086,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, and <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>.</p>
</div>
</div>
@@ -4883,7 +5169,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>Tag/term types </p>
-<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, and <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>.</p>
+<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">decode_tags()</a>, <a class="el" href="items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a">encode_item_terms()</a>, and <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>.</p>
</div>
</div>
@@ -4958,6 +5244,161 @@ Variables</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a9f8a2938ddd9ee2867e6f8ce77b61b2f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_ALERT 0x0100</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac89396b9144391acd08d6d0f9b332220"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_BIRTHDAY 0x0020</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7b511bd93202c43405adbe3b5bcebbfe"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_CHANNEL 0x0002</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad94aca4c260b8a892397786201dc4664"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_EVENT 0x0008</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a76480b213af379c0c6c7fa4e39019ca9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_EVENTTODAY 0x0010</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a37281c30bd92cecb499878d6778c570f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_INFO 0x0080</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1997c4b7d0253e036bc0fb6b20e4af71"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_INTRO 0x0200</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0afeb43da443d6ff3526ede5ecdcc3b3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_MAIL 0x0004</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a997614f25e58f8313641e1eb0109fd10"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_NETWORK 0x0001</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>visual notification options </p>
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae09767b94688657978ff9366ec63684b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_REGISTER 0x0400</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7e5627b5ca4b7464feb0f08663b19ea1"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const VNOTIFY_SYSTEM 0x0040</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="accd6f36cc9f40225cbd720e4d12a7c6e"></a>
<div class="memitem">
<div class="memproto">
@@ -5028,6 +5469,20 @@ Variables</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a0209e605028a5bb492683951ab30d49d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const XCHAN_FLAGS_PUBFORUM 0x0020</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, and <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a5a681a672e007cdc22b43345d71f07c6"></a>
<div class="memitem">
<div class="memproto">
@@ -5038,7 +5493,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, and <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>.</p>
+<p>Referenced by <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, and <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>.</p>
</div>
</div>
@@ -5079,7 +5534,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, and <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, and <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet()</a>.</p>
</div>
</div>
diff --git a/doc/html/boot_8php.js b/doc/html/boot_8php.js
index 742aa4d99..af99f9851 100644
--- a/doc/html/boot_8php.js
+++ b/doc/html/boot_8php.js
@@ -20,6 +20,7 @@ var boot_8php =
[ "get_directory_realm", "boot_8php.html#a329400dcb29897cdaae3020109272285", null ],
[ "get_max_import_size", "boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90", null ],
[ "get_observer_hash", "boot_8php.html#a623e49c79943f3e7bdb770d021683cf7", null ],
+ [ "get_poller_runtime", "boot_8php.html#aa561f801e962b67a5c4d0548ea95fd17", null ],
[ "goaway", "boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1", null ],
[ "head_get_icon", "boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77", null ],
[ "head_set_icon", "boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84", null ],
@@ -39,7 +40,9 @@ var boot_8php =
[ "remote_user", "boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209", null ],
[ "startup", "boot_8php.html#aca47505b8732177f52bb2d647eb2741c", null ],
[ "system_unavailable", "boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0", null ],
- [ "x", "boot_8php.html#a01353c9abebc3544ea080ac161729632", null ],
+ [ "x", "boot_8php.html#ae97836b0547953be182a2334c9c91d3c", null ],
+ [ "z_get_temp_dir", "boot_8php.html#a59717d02602a4babf2a54da8b33d93a5", null ],
+ [ "z_get_upload_dir", "boot_8php.html#a476c499e15caf75972fed134a8f23b2e", null ],
[ "z_path", "boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda", null ],
[ "z_root", "boot_8php.html#add517a0958ac684792c62142a3877f81", null ],
[ "$DIRECTORY_FALLBACK_SERVERS", "boot_8php.html#a107d53f96acf5319905a34b1870db09a", null ],
@@ -101,6 +104,8 @@ var boot_8php =
[ "CONTACT_IS_FRIEND", "boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f", null ],
[ "CONTACT_IS_SHARING", "boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9", null ],
[ "DB_UPDATE_VERSION", "boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03", null ],
+ [ "DBTYPE_MYSQL", "boot_8php.html#a8c9a11c47394244cbe18cd75b9726d5f", null ],
+ [ "DBTYPE_POSTGRES", "boot_8php.html#a37ddabc112db443b4c67fbc0f708817e", null ],
[ "DEFAULT_DB_ENGINE", "boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d", null ],
[ "DIRECTORY_FALLBACK_MASTER", "boot_8php.html#abedd940e664017c61b48c6efa31d0cb8", null ],
[ "DIRECTORY_MODE_NORMAL", "boot_8php.html#ab7d65a7e7417825a4db62906bb600729", null ],
@@ -214,7 +219,6 @@ var boot_8php =
[ "NOTIFY_TAGSELF", "boot_8php.html#ab724491497ab2618b23a01d5da60aec0", null ],
[ "NOTIFY_TAGSHARE", "boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461", null ],
[ "NOTIFY_WALL", "boot_8php.html#a505410c7edc5f5bb5fa227b98359793e", null ],
- [ "NULL_DATE", "boot_8php.html#a6cd1b4081630b2bf7be38836cd9f410c", null ],
[ "PAGE_ADULT", "boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32", null ],
[ "PAGE_APPLICATION", "boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed", null ],
[ "PAGE_AUTOCONNECT", "boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9", null ],
@@ -251,6 +255,8 @@ var boot_8php =
[ "PERMS_W_STREAM", "boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55", null ],
[ "PERMS_W_TAGWALL", "boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777", null ],
[ "PERMS_W_WALL", "boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2", null ],
+ [ "PHOTO_ADULT", "boot_8php.html#a921c55b9fa59a327a5f0e07fa1ccb2e0", null ],
+ [ "PHOTO_FLAG_OS", "boot_8php.html#ab49a5d43ce1150c5af8c750ccb14e15f", null ],
[ "PHOTO_NORMAL", "boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4", null ],
[ "PHOTO_PROFILE", "boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0", null ],
[ "PHOTO_THING", "boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383", null ],
@@ -291,11 +297,23 @@ var boot_8php =
[ "UPDATE_FLAGS_FORCED", "boot_8php.html#ab9dca53455cd157d3c6ba2bdecdbd22d", null ],
[ "UPDATE_FLAGS_UPDATED", "boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0", null ],
[ "UPDATE_SUCCESS", "boot_8php.html#ac86615ddc0763a00f5311c90e991730c", null ],
+ [ "VNOTIFY_ALERT", "boot_8php.html#a9f8a2938ddd9ee2867e6f8ce77b61b2f", null ],
+ [ "VNOTIFY_BIRTHDAY", "boot_8php.html#ac89396b9144391acd08d6d0f9b332220", null ],
+ [ "VNOTIFY_CHANNEL", "boot_8php.html#a7b511bd93202c43405adbe3b5bcebbfe", null ],
+ [ "VNOTIFY_EVENT", "boot_8php.html#ad94aca4c260b8a892397786201dc4664", null ],
+ [ "VNOTIFY_EVENTTODAY", "boot_8php.html#a76480b213af379c0c6c7fa4e39019ca9", null ],
+ [ "VNOTIFY_INFO", "boot_8php.html#a37281c30bd92cecb499878d6778c570f", null ],
+ [ "VNOTIFY_INTRO", "boot_8php.html#a1997c4b7d0253e036bc0fb6b20e4af71", null ],
+ [ "VNOTIFY_MAIL", "boot_8php.html#a0afeb43da443d6ff3526ede5ecdcc3b3", null ],
+ [ "VNOTIFY_NETWORK", "boot_8php.html#a997614f25e58f8313641e1eb0109fd10", null ],
+ [ "VNOTIFY_REGISTER", "boot_8php.html#ae09767b94688657978ff9366ec63684b", null ],
+ [ "VNOTIFY_SYSTEM", "boot_8php.html#a7e5627b5ca4b7464feb0f08663b19ea1", null ],
[ "XCHAN_FLAGS_CENSORED", "boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e", null ],
[ "XCHAN_FLAGS_DELETED", "boot_8php.html#a9ea1290e00c6d40684892047f2c778a9", null ],
[ "XCHAN_FLAGS_HIDDEN", "boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2", null ],
[ "XCHAN_FLAGS_NORMAL", "boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6", null ],
[ "XCHAN_FLAGS_ORPHAN", "boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f", null ],
+ [ "XCHAN_FLAGS_PUBFORUM", "boot_8php.html#a0209e605028a5bb492683951ab30d49d", null ],
[ "XCHAN_FLAGS_SELFCENSORED", "boot_8php.html#a5a681a672e007cdc22b43345d71f07c6", null ],
[ "XCHAN_FLAGS_SYSTEM", "boot_8php.html#afef254290febac854c85fc698d9483a6", null ],
[ "ZCURL_TIMEOUT", "boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af", null ],
diff --git a/doc/html/channel_8php.html b/doc/html/channel_8php.html
index 61550f610..b9c52f43a 100644
--- a/doc/html/channel_8php.html
+++ b/doc/html/channel_8php.html
@@ -148,6 +148,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups</p>
+<p>in "list mode", only mark the parent item and any like activities as "seen". We won't distinguish between comment likes and post likes. The important thing is that the number of unseen comments will be accurate. The SQL to separate the comment likes could also get somewhat hairy.</p>
<p>Referenced by <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>.</p>
diff --git a/doc/html/classApp-members.html b/doc/html/classApp-members.html
index 6e2218d84..199120188 100644
--- a/doc/html/classApp-members.html
+++ b/doc/html/classApp-members.html
@@ -117,8 +117,6 @@ $(document).ready(function(){initNavTree('classApp.html','');});
<tr class="even"><td class="entry"><a class="el" href="classApp.html#af58db526040829b1c8bd95561b329262">$argc</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classApp.html#ab3da757abe5cb45bf88f07cc51a73b58">$argv</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApp.html#ad5175536561021548ae8188e24c7b80c">$baseurl</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#abe0e4fa91097f7a6588e1213a834121c">$cached_profile_image</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e">$cached_profile_picdate</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classApp.html#a5cfc098c061b7d765add58fd2ca97445">$category</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a050b0696118da47e8b30859ad1a2c149">$channel</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0">$cid</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
@@ -128,18 +126,16 @@ $(document).ready(function(){initNavTree('classApp.html','');});
<tr><td class="entry"><a class="el" href="classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2">$contacts</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApp.html#ac1d80a14492acc932715d54567d8a589">$content</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classApp.html#a6f55d087e1ff4710132c1b0863faa2ee">$css_sources</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a256360c9184fed6d7556e0bc0a835d7f">$curl_code</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#af5007c42a693afd9c4899c243b2e1363">$curl_headers</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a0ce85be198e46570366cb3344f3c55b8">$data</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a330410a288f3393d53772f5e98f857ea">$db</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#ac1a8b2cd40609b231a560201a08852ba">$error</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#ae3f47830543d0d902f66913def8db66b">$force_max_items</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#ac6e6b1c7d6df408580ff79977fcfa656">$groups</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a3694aa1907aa103a2adbc71f926f0fa0">$hooks</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3">$hostname</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a7954862f44f606b0ff83d4c74d15e792">$identities</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a576ecb1c5b4a283221e6f2f0ec248251">$install</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a4c7cfc62d39508086cf300dc2e39c4df">$interactive</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#ac1a8b2cd40609b231a560201a08852ba">$error</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#ae3f47830543d0d902f66913def8db66b">$force_max_items</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#ac6e6b1c7d6df408580ff79977fcfa656">$groups</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a3694aa1907aa103a2adbc71f926f0fa0">$hooks</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3">$hostname</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a7954862f44f606b0ff83d4c74d15e792">$identities</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a576ecb1c5b4a283221e6f2f0ec248251">$install</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a4c7cfc62d39508086cf300dc2e39c4df">$interactive</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a1f60d19d47021629faac7a0a6d917e94">$is_sys</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d">$js_sources</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f">$language</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a58ac598544892ff7c32890291b72635e">$layout</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
@@ -170,40 +166,39 @@ $(document).ready(function(){initNavTree('classApp.html','');});
<tr><td class="entry"><a class="el" href="classApp.html#a91fd3c8b89016113b05f3be24805ccff">$user</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classApp.html#a56b1a432c96aef8b1971f779c9d93c8c">$videoheight</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8">$videowidth</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a4833bee2eae4ad1691a04fa19e11a766">$widgetlist</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#aa5a87c46ab3fee21362c466bf78042ef">$widgets</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">__construct</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">build_pagehead</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a08bc87aff64f39fbc084e9d6545cee4d">get_account</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad">get_apps</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a604d659d6977a99de42a160343e5289a">get_baseurl</a>($ssl=false)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a084e03c77686d8c13390fef3f7428a2b">get_channel</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a4659785d13e4bac0bed50dbb1b0d4299">get_groups</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a622eace13f8fc9f4b5672a68e2bc4396">get_hostname</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">get_observer</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be">get_path</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#adb5a4bb657881e553978ff390babd01f">get_perms</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#acb27e607fe4c82603444676e25c36b70">get_template_engine</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a">get_template_ldelim</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#aab23c59172310fd30f2d60dc039d3eea">get_template_rdelim</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">get_widgets</a>($location= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">head_get_icon</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a8863703a0305eaa45eb970dbd2046291">head_set_icon</a>($icon)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">register_template_engine</a>($class, $name= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#aeb1fe1c8ad9aa639909bd183ce578536">set_account</a>($acct)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">set_apps</a>($arr)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">set_baseurl</a>($url)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a89e9feb2bfb5253883a9720beaffe876">set_channel</a>($channel)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a3d84af5e42082098672531cd1a618853">set_groups</a>($g)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a344d2b7dc2f276648d521aee4da1731c">set_hostname</a>($h)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a4776d9322edea17fae56afa5d01a323e">set_observer</a>($xchan)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a4bdd7bfed62f50515fce652127bf481b">set_pager_itemspage</a>($n)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a560189f048d3db2f526841963cc43e97">set_pager_total</a>($n)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#adb060d5c7f35a521ec7ec0effbe08097">set_path</a>($p)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a557d7b779d8259027f4724ebf7b248dc">set_perms</a>($perms)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7">set_template_engine</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">set_widget</a>($title, $html, $location= 'aside')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">template_engine</a>($name= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#aa5a87c46ab3fee21362c466bf78042ef">$widgets</a></td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">__construct</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">build_pagehead</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a08bc87aff64f39fbc084e9d6545cee4d">get_account</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad">get_apps</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a604d659d6977a99de42a160343e5289a">get_baseurl</a>($ssl=false)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a084e03c77686d8c13390fef3f7428a2b">get_channel</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a4659785d13e4bac0bed50dbb1b0d4299">get_groups</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a622eace13f8fc9f4b5672a68e2bc4396">get_hostname</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">get_observer</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be">get_path</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#adb5a4bb657881e553978ff390babd01f">get_perms</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#acb27e607fe4c82603444676e25c36b70">get_template_engine</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a">get_template_ldelim</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#aab23c59172310fd30f2d60dc039d3eea">get_template_rdelim</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">get_widgets</a>($location= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166">head_get_icon</a>()</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a8863703a0305eaa45eb970dbd2046291">head_set_icon</a>($icon)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#abf46a653d8499e7c253cc1be894a6d83">register_template_engine</a>($class, $name= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#aeb1fe1c8ad9aa639909bd183ce578536">set_account</a>($acct)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">set_apps</a>($arr)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a78788f6e9d8b713b138f81e457c5cd08">set_baseurl</a>($url)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a89e9feb2bfb5253883a9720beaffe876">set_channel</a>($channel)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a3d84af5e42082098672531cd1a618853">set_groups</a>($g)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a344d2b7dc2f276648d521aee4da1731c">set_hostname</a>($h)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a4776d9322edea17fae56afa5d01a323e">set_observer</a>($xchan)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a4bdd7bfed62f50515fce652127bf481b">set_pager_itemspage</a>($n)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a560189f048d3db2f526841963cc43e97">set_pager_total</a>($n)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#adb060d5c7f35a521ec7ec0effbe08097">set_path</a>($p)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a557d7b779d8259027f4724ebf7b248dc">set_perms</a>($perms)</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7">set_template_engine</a>($engine= 'smarty3')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classApp.html#a123b903dfe5d3488cc68db3471d36fd2">set_widget</a>($title, $html, $location= 'aside')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">template_engine</a>($name= '')</td><td class="entry"><a class="el" href="classApp.html">App</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classApp.html b/doc/html/classApp.html
index bd8e6bbf0..e3d0760b2 100644
--- a/doc/html/classApp.html
+++ b/doc/html/classApp.html
@@ -114,6 +114,9 @@ $(document).ready(function(){initNavTree('classApp.html','');});
<div class="title">App Class Reference</div> </div>
</div><!--header-->
<div class="contents">
+
+<p>Our main application structure for the life of this page.
+ <a href="classApp.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@@ -170,6 +173,7 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:a94a1ed2dc493c58612d17035b74ae736"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a94a1ed2dc493c58612d17035b74ae736">template_engine</a> ($name= '')</td></tr>
<tr class="separator:a94a1ed2dc493c58612d17035b74ae736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb27e607fe4c82603444676e25c36b70"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#acb27e607fe4c82603444676e25c36b70">get_template_engine</a> ()</td></tr>
+<tr class="memdesc:acb27e607fe4c82603444676e25c36b70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the active template engine. <a href="#acb27e607fe4c82603444676e25c36b70">More...</a><br/></td></tr>
<tr class="separator:acb27e607fe4c82603444676e25c36b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20d1890cc16b22ba79eeb0cbf2f719f7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7">set_template_engine</a> ($engine= 'smarty3')</td></tr>
<tr class="separator:a20d1890cc16b22ba79eeb0cbf2f719f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -254,6 +258,8 @@ Public Attributes</h2></td></tr>
<tr class="separator:a11e24b3ed9b33ffee7dd41d110b4366d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeca29fd4f7192ca07369b3c598c36e67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#aeca29fd4f7192ca07369b3c598c36e67">$theme_info</a> = array()</td></tr>
<tr class="separator:aeca29fd4f7192ca07369b3c598c36e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f60d19d47021629faac7a0a6d917e94"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a1f60d19d47021629faac7a0a6d917e94">$is_sys</a> = false</td></tr>
+<tr class="separator:a1f60d19d47021629faac7a0a6d917e94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33a8e90b60ec4438f6fbf299d0f6839c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c">$nav_sel</a></td></tr>
<tr class="separator:a33a8e90b60ec4438f6fbf299d0f6839c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cfc098c061b7d765add58fd2ca97445"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a5cfc098c061b7d765add58fd2ca97445">$category</a></td></tr>
@@ -279,8 +285,6 @@ Private Attributes</h2></td></tr>
<tr class="separator:ab47de68fa39806d1fb0976407e188b77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5a87c46ab3fee21362c466bf78042ef"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#aa5a87c46ab3fee21362c466bf78042ef">$widgets</a> = array()</td></tr>
<tr class="separator:aa5a87c46ab3fee21362c466bf78042ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4833bee2eae4ad1691a04fa19e11a766"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a4833bee2eae4ad1691a04fa19e11a766">$widgetlist</a> = null</td></tr>
-<tr class="separator:a4833bee2eae4ad1691a04fa19e11a766"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a230e975296cf164da2fee35ef720964f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a230e975296cf164da2fee35ef720964f">$apps</a> = array()</td></tr>
<tr class="separator:a230e975296cf164da2fee35ef720964f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a764cc6cd7578132c21d2b4545de9301c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a764cc6cd7578132c21d2b4545de9301c">$theme</a></td></tr>
@@ -297,20 +301,11 @@ Private Attributes</h2></td></tr>
<tr class="separator:ad5175536561021548ae8188e24c7b80c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acad5896b7a79ae31433ad8f89606c728"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#acad5896b7a79ae31433ad8f89606c728">$path</a></td></tr>
<tr class="separator:acad5896b7a79ae31433ad8f89606c728"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a330410a288f3393d53772f5e98f857ea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a330410a288f3393d53772f5e98f857ea">$db</a></td></tr>
-<tr class="separator:a330410a288f3393d53772f5e98f857ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a256360c9184fed6d7556e0bc0a835d7f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#a256360c9184fed6d7556e0bc0a835d7f">$curl_code</a></td></tr>
-<tr class="separator:a256360c9184fed6d7556e0bc0a835d7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5007c42a693afd9c4899c243b2e1363"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#af5007c42a693afd9c4899c243b2e1363">$curl_headers</a></td></tr>
-<tr class="separator:af5007c42a693afd9c4899c243b2e1363"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abe0e4fa91097f7a6588e1213a834121c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#abe0e4fa91097f7a6588e1213a834121c">$cached_profile_image</a></td></tr>
-<tr class="separator:abe0e4fa91097f7a6588e1213a834121c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aab4a685d15a363bb1d7edbbc20bfb94e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e">$cached_profile_picdate</a></td></tr>
-<tr class="separator:aab4a685d15a363bb1d7edbbc20bfb94e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>class: <a class="el" href="classApp.html">App</a></p>
-<p>Our main application structure for the life of this page Primarily deals with the URL that got us here and tries to make some sense of it, and stores our page contents and config storage and anything else that might need to be passed around before we spit the page out. </p>
+<div class="textblock"><p>Our main application structure for the life of this page. </p>
+<p>class: <a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></p>
+<p>Primarily deals with the URL that got us here and tries to make some sense of it, and stores our page contents and config storage and anything else that might need to be passed around before we spit the page out. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af6d39f63fb7116bbeb04e51696f99474"></a>
<div class="memitem">
@@ -324,6 +319,7 @@ Private Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+<p><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a> constructor. </p>
<p>Figure out if we are running at the top of a domain or in a sub-directory and adjust accordingly</p>
<p>Break the URL path into C style argc/argv style arguments for our modules. Given "http://example.com/module/arg1/arg2", $this-&gt;argc will be 3 (integer) and $this-&gt;argv will contain: [0] =&gt; 'module' [1] =&gt; 'arg1' [2] =&gt; 'arg2'</p>
<p>There will always be one argument. If provided a naked domain URL, $this-&gt;argv[0] is set to "home".</p>
@@ -500,6 +496,9 @@ Private Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Returns the active template engine. </p>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
</div>
</div>
<a class="anchor" id="a2eb832a8577dee7d40b93abdf6d1d35a"></a>
@@ -861,7 +860,7 @@ Private Attributes</h2></td></tr>
<p>return template engine instance. If $name is not defined, return engine defined by theme, or default</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype">strin</td><td class="paramname">$name</td><td><a class="el" href="classTemplate.html">Template</a> engine name </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$name</td><td><a class="el" href="classTemplate.html">Template</a> engine name</td></tr>
</table>
</dd>
</dl>
@@ -952,46 +951,6 @@ Private Attributes</h2></td></tr>
</div>
</div>
-<a class="anchor" id="abe0e4fa91097f7a6588e1213a834121c"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">App::$cached_profile_image</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="aab4a685d15a363bb1d7edbbc20bfb94e"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">App::$cached_profile_picdate</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="a5cfc098c061b7d765add58fd2ca97445"></a>
<div class="memitem">
<div class="memproto">
@@ -1102,46 +1061,6 @@ Private Attributes</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a256360c9184fed6d7556e0bc0a835d7f"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">App::$curl_code</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a class="anchor" id="af5007c42a693afd9c4899c243b2e1363"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">App::$curl_headers</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="a0ce85be198e46570366cb3344f3c55b8"></a>
<div class="memitem">
<div class="memproto">
@@ -1154,26 +1073,6 @@ Private Attributes</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a330410a288f3393d53772f5e98f857ea"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">App::$db</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="ac1a8b2cd40609b231a560201a08852ba"></a>
<div class="memitem">
<div class="memproto">
@@ -1282,6 +1181,18 @@ Private Attributes</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a1f60d19d47021629faac7a0a6d917e94"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">App::$is_sys = false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a11e24b3ed9b33ffee7dd41d110b4366d"></a>
<div class="memitem">
<div class="memproto">
@@ -1715,26 +1626,6 @@ Private Attributes</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a4833bee2eae4ad1691a04fa19e11a766"></a>
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
- <table class="memname">
- <tr>
- <td class="memname">App::$widgetlist = null</td>
- </tr>
- </table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
<a class="anchor" id="aa5a87c46ab3fee21362c466bf78042ef"></a>
<div class="memitem">
<div class="memproto">
@@ -1753,8 +1644,6 @@ Private Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">get_widgets()</a>.</p>
-
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
diff --git a/doc/html/classApp.js b/doc/html/classApp.js
index c7c8e3b05..248861737 100644
--- a/doc/html/classApp.js
+++ b/doc/html/classApp.js
@@ -37,8 +37,6 @@ var classApp =
[ "$argc", "classApp.html#af58db526040829b1c8bd95561b329262", null ],
[ "$argv", "classApp.html#ab3da757abe5cb45bf88f07cc51a73b58", null ],
[ "$baseurl", "classApp.html#ad5175536561021548ae8188e24c7b80c", null ],
- [ "$cached_profile_image", "classApp.html#abe0e4fa91097f7a6588e1213a834121c", null ],
- [ "$cached_profile_picdate", "classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e", null ],
[ "$category", "classApp.html#a5cfc098c061b7d765add58fd2ca97445", null ],
[ "$channel", "classApp.html#a050b0696118da47e8b30859ad1a2c149", null ],
[ "$cid", "classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0", null ],
@@ -48,10 +46,7 @@ var classApp =
[ "$contacts", "classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2", null ],
[ "$content", "classApp.html#ac1d80a14492acc932715d54567d8a589", null ],
[ "$css_sources", "classApp.html#a6f55d087e1ff4710132c1b0863faa2ee", null ],
- [ "$curl_code", "classApp.html#a256360c9184fed6d7556e0bc0a835d7f", null ],
- [ "$curl_headers", "classApp.html#af5007c42a693afd9c4899c243b2e1363", null ],
[ "$data", "classApp.html#a0ce85be198e46570366cb3344f3c55b8", null ],
- [ "$db", "classApp.html#a330410a288f3393d53772f5e98f857ea", null ],
[ "$error", "classApp.html#ac1a8b2cd40609b231a560201a08852ba", null ],
[ "$force_max_items", "classApp.html#ae3f47830543d0d902f66913def8db66b", null ],
[ "$groups", "classApp.html#ac6e6b1c7d6df408580ff79977fcfa656", null ],
@@ -60,6 +55,7 @@ var classApp =
[ "$identities", "classApp.html#a7954862f44f606b0ff83d4c74d15e792", null ],
[ "$install", "classApp.html#a576ecb1c5b4a283221e6f2f0ec248251", null ],
[ "$interactive", "classApp.html#a4c7cfc62d39508086cf300dc2e39c4df", null ],
+ [ "$is_sys", "classApp.html#a1f60d19d47021629faac7a0a6d917e94", null ],
[ "$js_sources", "classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d", null ],
[ "$language", "classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f", null ],
[ "$layout", "classApp.html#a58ac598544892ff7c32890291b72635e", null ],
@@ -90,6 +86,5 @@ var classApp =
[ "$user", "classApp.html#a91fd3c8b89016113b05f3be24805ccff", null ],
[ "$videoheight", "classApp.html#a56b1a432c96aef8b1971f779c9d93c8c", null ],
[ "$videowidth", "classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8", null ],
- [ "$widgetlist", "classApp.html#a4833bee2eae4ad1691a04fa19e11a766", null ],
[ "$widgets", "classApp.html#aa5a87c46ab3fee21362c466bf78042ef", null ]
]; \ No newline at end of file
diff --git a/doc/html/classItem-members.html b/doc/html/classItem-members.html
index 3da704b93..1a4f80c9a 100644
--- a/doc/html/classItem-members.html
+++ b/doc/html/classItem-members.html
@@ -118,20 +118,22 @@ $(document).ready(function(){initNavTree('classItem.html','');});
<tr><td class="entry"><a class="el" href="classItem.html#aa2c221231ad0fc3720ccc1f00f0c6304">$commentable</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classItem.html#a007424e3e3171dcfb4312a02161da6cd">$conversation</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classItem.html#aec24e233f9098f902b1e57e60dcb2019">$data</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#a9594df6014b0b6f45364ea7a34510130">$owner_name</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a078f95b4134ce3a1df344cf8d386f986">$owner_photo</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#afa54851df82962c7c42dea3cc9f5c92c">$owner_url</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a1a1e42877e6ac7af50286142ceb483d2">$parent</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#a5b561415861f5b89b0733aacfe0428d1">$redirect_url</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a7f7bc059de377319282cb4ef4a828480">$template</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2">$threaded</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a5cfa6cf964f433a917a81cab079ff9d8">$toplevel</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8">$visiting</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189">$wall_to_wall</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">__construct</a>($data)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">add_child</a>($item)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">check_wall_to_wall</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a88a99e2d1245925867f249f543358e72">$display_mode</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a9594df6014b0b6f45364ea7a34510130">$owner_name</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a078f95b4134ce3a1df344cf8d386f986">$owner_photo</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#afa54851df82962c7c42dea3cc9f5c92c">$owner_url</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a1a1e42877e6ac7af50286142ceb483d2">$parent</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a5b561415861f5b89b0733aacfe0428d1">$redirect_url</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a7f7bc059de377319282cb4ef4a828480">$template</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2">$threaded</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a5cfa6cf964f433a917a81cab079ff9d8">$toplevel</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8">$visiting</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189">$wall_to_wall</a></td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">__construct</a>($data)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">add_child</a>($item)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">check_wall_to_wall</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#ae0c48b2fed5558642549cabd547fc4f3">count_unseen_descendants</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">get_app</a>()</td><td class="entry"><a class="el" href="classBaseObject.html">BaseObject</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classItem.html#a632185dd25c5caf277067c76230a4320">get_child</a>($id)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">get_children</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
@@ -140,26 +142,28 @@ $(document).ready(function(){initNavTree('classItem.html','');});
<tr><td class="entry"><a class="el" href="classItem.html#a0c301aaed2b7d682728d18db3a22afa3">get_conversation</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classItem.html#ad3638f93065693c1f69eb349feb1b7aa">get_data</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c">get_data_value</a>($name)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#ac0f27e58532612f6e7a54c8a621b9b92">get_id</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a67892aa23d19f4431bb2e5f43c74000e">get_owner_name</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#aa541bc4290e51bfd688d6921bebabc73">get_owner_photo</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a9f2d219da712390f59012fc32a342074">get_owner_url</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#a4b92e3a9d6212c553aa2661489bd95d8">get_parent</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a428f448f89a8629055ea3294eb942aea">get_redirect_url</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">get_template</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data</a>($alike, $dlike, $thread_level=1)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967">is_commentable</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a5b2fafdca55aefeaa08993a5a60529f0">is_threaded</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#aa49e40f961dff66da32c5ae110e32993">is_toplevel</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a97c7feeea7f26a73176cb19faa455e12">is_visiting</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#aabf87ded59c25b5fe2b2296678e70509">is_wall_to_wall</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">remove_child</a>($item)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#aa452b5bcd8dea12119b09212c615cb41">remove_parent</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classBaseObject.html#a0a9acda12d751692834cf6999f889223">set_app</a>($app)</td><td class="entry"><a class="el" href="classBaseObject.html">BaseObject</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classItem.html#aa1bd19fc8b5577078530265a7bf64123">set_commentable</a>($val)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">set_conversation</a>($conv)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a23d4057883f8ed888c0c2ff12d8aa5d0">get_display_mode</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#ac0f27e58532612f6e7a54c8a621b9b92">get_id</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a67892aa23d19f4431bb2e5f43c74000e">get_owner_name</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#aa541bc4290e51bfd688d6921bebabc73">get_owner_photo</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a9f2d219da712390f59012fc32a342074">get_owner_url</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#a4b92e3a9d6212c553aa2661489bd95d8">get_parent</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a428f448f89a8629055ea3294eb942aea">get_redirect_url</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">get_template</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data</a>($alike, $dlike, $thread_level=1)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967">is_commentable</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a5b2fafdca55aefeaa08993a5a60529f0">is_threaded</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#aa49e40f961dff66da32c5ae110e32993">is_toplevel</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a97c7feeea7f26a73176cb19faa455e12">is_visiting</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#aabf87ded59c25b5fe2b2296678e70509">is_wall_to_wall</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">remove_child</a>($item)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#aa452b5bcd8dea12119b09212c615cb41">remove_parent</a>()</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classBaseObject.html#a0a9acda12d751692834cf6999f889223">set_app</a>($app)</td><td class="entry"><a class="el" href="classBaseObject.html">BaseObject</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#aa1bd19fc8b5577078530265a7bf64123">set_commentable</a>($val)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">set_conversation</a>($conv)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#ac09a4728d37b7783714243f7f8167214">set_display_mode</a>($mode)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7">set_parent</a>($item)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr><td class="entry"><a class="el" href="classItem.html#af1b73df9b7c4b927e26b7e243b491f42">set_template</a>($t)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classItem.html#af1b73df9b7c4b927e26b7e243b491f42">set_template</a>($t)</td><td class="entry"><a class="el" href="classItem.html">Item</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classItem.html b/doc/html/classItem.html
index 131cf6d82..413293348 100644
--- a/doc/html/classItem.html
+++ b/doc/html/classItem.html
@@ -134,6 +134,10 @@ Public Member Functions</h2></td></tr>
<tr class="separator:ad5dcbe0b94cb2d5719bc5b6bd8ad60c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0f27e58532612f6e7a54c8a621b9b92"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#ac0f27e58532612f6e7a54c8a621b9b92">get_id</a> ()</td></tr>
<tr class="separator:ac0f27e58532612f6e7a54c8a621b9b92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a23d4057883f8ed888c0c2ff12d8aa5d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a23d4057883f8ed888c0c2ff12d8aa5d0">get_display_mode</a> ()</td></tr>
+<tr class="separator:a23d4057883f8ed888c0c2ff12d8aa5d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac09a4728d37b7783714243f7f8167214"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#ac09a4728d37b7783714243f7f8167214">set_display_mode</a> ($mode)</td></tr>
+<tr class="separator:ac09a4728d37b7783714243f7f8167214"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b2fafdca55aefeaa08993a5a60529f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a5b2fafdca55aefeaa08993a5a60529f0">is_threaded</a> ()</td></tr>
<tr class="separator:a5b2fafdca55aefeaa08993a5a60529f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1bd19fc8b5577078530265a7bf64123"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aa1bd19fc8b5577078530265a7bf64123">set_commentable</a> ($val)</td></tr>
@@ -156,6 +160,10 @@ Public Member Functions</h2></td></tr>
<tr class="separator:ad3638f93065693c1f69eb349feb1b7aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6f1c96cc82a0dfb7e881fc70309ea3c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c">get_data_value</a> ($name)</td></tr>
<tr class="separator:ac6f1c96cc82a0dfb7e881fc70309ea3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba23a0a9d89e316d2b343cc46d695d91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">get_template</a> ()</td></tr>
+<tr class="separator:aba23a0a9d89e316d2b343cc46d695d91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1b73df9b7c4b927e26b7e243b491f42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#af1b73df9b7c4b927e26b7e243b491f42">set_template</a> ($<a class="el" href="language_8php.html#ac6ae482ee54fa2764d5c2e77305aeb96">t</a>)</td></tr>
+<tr class="separator:af1b73df9b7c4b927e26b7e243b491f42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classBaseObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classBaseObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classBaseObject.html">BaseObject</a></td></tr>
<tr class="memitem:ac43f10e69ce80c78e4870636250fc8a2 inherit pub_methods_classBaseObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">get_app</a> ()</td></tr>
<tr class="separator:ac43f10e69ce80c78e4870636250fc8a2 inherit pub_methods_classBaseObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -178,14 +186,12 @@ Protected Member Functions</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
-<tr class="memitem:aba23a0a9d89e316d2b343cc46d695d91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">get_template</a> ()</td></tr>
-<tr class="separator:aba23a0a9d89e316d2b343cc46d695d91"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af1b73df9b7c4b927e26b7e243b491f42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#af1b73df9b7c4b927e26b7e243b491f42">set_template</a> ($<a class="el" href="language_8php.html#ac6ae482ee54fa2764d5c2e77305aeb96">t</a>)</td></tr>
-<tr class="separator:af1b73df9b7c4b927e26b7e243b491f42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa49e40f961dff66da32c5ae110e32993"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aa49e40f961dff66da32c5ae110e32993">is_toplevel</a> ()</td></tr>
<tr class="separator:aa49e40f961dff66da32c5ae110e32993"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca1e66988ed00cd627b2a359b72cd0ae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants</a> ()</td></tr>
<tr class="separator:aca1e66988ed00cd627b2a359b72cd0ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0c48b2fed5558642549cabd547fc4f3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#ae0c48b2fed5558642549cabd547fc4f3">count_unseen_descendants</a> ()</td></tr>
+<tr class="separator:ae0c48b2fed5558642549cabd547fc4f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a904421c7a427411bb2ab473bca872f63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a904421c7a427411bb2ab473bca872f63">get_comment_box_template</a> ()</td></tr>
<tr class="separator:a904421c7a427411bb2ab473bca872f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ee7667c2ec6cd7657328e27848c0bdf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">get_comment_box</a> ($indent)</td></tr>
@@ -235,6 +241,8 @@ Private Attributes</h2></td></tr>
<tr class="separator:a4a123ae98987c1e30ecb15c4edf5a3b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc32426c0f465391be8a99ad810c7b8e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#acc32426c0f465391be8a99ad810c7b8e">$channel</a> = null</td></tr>
<tr class="separator:acc32426c0f465391be8a99ad810c7b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88a99e2d1245925867f249f543358e72"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classItem.html#a88a99e2d1245925867f249f543358e72">$display_mode</a> = 'normal'</td></tr>
+<tr class="separator:a88a99e2d1245925867f249f543358e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
@@ -333,6 +341,31 @@ Additional Inherited Members</h2></td></tr>
</div>
</div>
+<a class="anchor" id="ae0c48b2fed5558642549cabd547fc4f3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::count_unseen_descendants </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a632185dd25c5caf277067c76230a4320"></a>
<div class="memitem">
<div class="memproto">
@@ -366,7 +399,7 @@ Additional Inherited Members</h2></td></tr>
</div><div class="memdoc">
<p>Get all our children </p>
-<p>Referenced by <a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants()</a>, <a class="el" href="classItem.html#a632185dd25c5caf277067c76230a4320">get_child()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">remove_child()</a>, <a class="el" href="classItem.html#aa1bd19fc8b5577078530265a7bf64123">set_commentable()</a>, and <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">set_conversation()</a>.</p>
+<p>Referenced by <a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants()</a>, <a class="el" href="classItem.html#ae0c48b2fed5558642549cabd547fc4f3">count_unseen_descendants()</a>, <a class="el" href="classItem.html#a632185dd25c5caf277067c76230a4320">get_child()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">remove_child()</a>, <a class="el" href="classItem.html#aa1bd19fc8b5577078530265a7bf64123">set_commentable()</a>, and <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">set_conversation()</a>.</p>
</div>
</div>
@@ -481,6 +514,23 @@ Additional Inherited Members</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a23d4057883f8ed888c0c2ff12d8aa5d0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::get_display_mode </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="ac0f27e58532612f6e7a54c8a621b9b92"></a>
<div class="memitem">
<div class="memproto">
@@ -625,9 +675,6 @@ Additional Inherited Members</h2></td></tr>
<a class="anchor" id="aba23a0a9d89e316d2b343cc46d695d91"></a>
<div class="memitem">
<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Item::get_template </td>
@@ -636,11 +683,6 @@ Additional Inherited Members</h2></td></tr>
<td></td>
</tr>
</table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
-</table>
</div><div class="memdoc">
<p>Get template </p>
@@ -864,6 +906,22 @@ Additional Inherited Members</h2></td></tr>
</div>
</div>
+<a class="anchor" id="ac09a4728d37b7783714243f7f8167214"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::set_display_mode </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$mode</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a9890ff72662d5bba301d1f2dd8aec9d7"></a>
<div class="memitem">
<div class="memproto">
@@ -892,9 +950,6 @@ Additional Inherited Members</h2></td></tr>
<a class="anchor" id="af1b73df9b7c4b927e26b7e243b491f42"></a>
<div class="memitem">
<div class="memproto">
-<table class="mlabels">
- <tr>
- <td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">Item::set_template </td>
@@ -904,11 +959,6 @@ Additional Inherited Members</h2></td></tr>
<td></td>
</tr>
</table>
- </td>
- <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">private</span></span> </td>
- </tr>
-</table>
</div><div class="memdoc">
</div>
@@ -952,7 +1002,7 @@ Additional Inherited Members</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants()</a>, <a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">get_children()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
+<p>Referenced by <a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">count_descendants()</a>, <a class="el" href="classItem.html#ae0c48b2fed5558642549cabd547fc4f3">count_unseen_descendants()</a>, <a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">get_children()</a>, and <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">get_template_data()</a>.</p>
</div>
</div>
@@ -1036,6 +1086,28 @@ Additional Inherited Members</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a88a99e2d1245925867f249f543358e72"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Item::$display_mode = 'normal'</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classItem.html#a23d4057883f8ed888c0c2ff12d8aa5d0">get_display_mode()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a9594df6014b0b6f45364ea7a34510130"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/classItem.js b/doc/html/classItem.js
index afdf7677d..7c2ed1e04 100644
--- a/doc/html/classItem.js
+++ b/doc/html/classItem.js
@@ -4,6 +4,7 @@ var classItem =
[ "add_child", "classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51", null ],
[ "check_wall_to_wall", "classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8", null ],
[ "count_descendants", "classItem.html#aca1e66988ed00cd627b2a359b72cd0ae", null ],
+ [ "count_unseen_descendants", "classItem.html#ae0c48b2fed5558642549cabd547fc4f3", null ],
[ "get_child", "classItem.html#a632185dd25c5caf277067c76230a4320", null ],
[ "get_children", "classItem.html#aa0ee775ec94abccec6c798428835d001", null ],
[ "get_comment_box", "classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf", null ],
@@ -11,6 +12,7 @@ var classItem =
[ "get_conversation", "classItem.html#a0c301aaed2b7d682728d18db3a22afa3", null ],
[ "get_data", "classItem.html#ad3638f93065693c1f69eb349feb1b7aa", null ],
[ "get_data_value", "classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c", null ],
+ [ "get_display_mode", "classItem.html#a23d4057883f8ed888c0c2ff12d8aa5d0", null ],
[ "get_id", "classItem.html#ac0f27e58532612f6e7a54c8a621b9b92", null ],
[ "get_owner_name", "classItem.html#a67892aa23d19f4431bb2e5f43c74000e", null ],
[ "get_owner_photo", "classItem.html#aa541bc4290e51bfd688d6921bebabc73", null ],
@@ -28,6 +30,7 @@ var classItem =
[ "remove_parent", "classItem.html#aa452b5bcd8dea12119b09212c615cb41", null ],
[ "set_commentable", "classItem.html#aa1bd19fc8b5577078530265a7bf64123", null ],
[ "set_conversation", "classItem.html#aa8b1bbc4236890694635295e46d7fd72", null ],
+ [ "set_display_mode", "classItem.html#ac09a4728d37b7783714243f7f8167214", null ],
[ "set_parent", "classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7", null ],
[ "set_template", "classItem.html#af1b73df9b7c4b927e26b7e243b491f42", null ],
[ "$channel", "classItem.html#acc32426c0f465391be8a99ad810c7b8e", null ],
@@ -36,6 +39,7 @@ var classItem =
[ "$commentable", "classItem.html#aa2c221231ad0fc3720ccc1f00f0c6304", null ],
[ "$conversation", "classItem.html#a007424e3e3171dcfb4312a02161da6cd", null ],
[ "$data", "classItem.html#aec24e233f9098f902b1e57e60dcb2019", null ],
+ [ "$display_mode", "classItem.html#a88a99e2d1245925867f249f543358e72", null ],
[ "$owner_name", "classItem.html#a9594df6014b0b6f45364ea7a34510130", null ],
[ "$owner_photo", "classItem.html#a078f95b4134ce3a1df344cf8d386f986", null ],
[ "$owner_url", "classItem.html#afa54851df82962c7c42dea3cc9f5c92c", null ],
diff --git a/doc/html/classRedMatrix_1_1Import_1_1Import-members.html b/doc/html/classRedMatrix_1_1Import_1_1Import-members.html
new file mode 100644
index 000000000..2be66a2ea
--- /dev/null
+++ b/doc/html/classRedMatrix_1_1Import_1_1Import-members.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classRedMatrix_1_1Import_1_1Import.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">RedMatrix\Import\Import Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f">$credentials</a></td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc">$itemlist</a></td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c">$items</a></td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6">$src_items</a></td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a">convert_child</a>($child)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218">convert_item</a>($item_ident)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6">convert_taxonomy</a>($item_ident)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8">get_children</a>($item_ident)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">get_credentials</a>()</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2">get_item</a>($item_ident)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059">get_item_ident</a>($item)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">get_itemlist</a>()</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c">get_taxonomy</a>($item_ident)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">run</a>()</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc">store</a>($item, $update=false)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classRedMatrix_1_1Import_1_1Import.html b/doc/html/classRedMatrix_1_1Import_1_1Import.html
new file mode 100644
index 000000000..2119780c3
--- /dev/null
+++ b/doc/html/classRedMatrix_1_1Import_1_1Import.html
@@ -0,0 +1,447 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: RedMatrix\Import\Import Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classRedMatrix_1_1Import_1_1Import.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#pri-attribs">Private Attributes</a> &#124;
+<a href="classRedMatrix_1_1Import_1_1Import-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">RedMatrix\Import\Import Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a24134929d9a8a682da2036a0bf326367"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">get_credentials</a> ()</td></tr>
+<tr class="separator:a24134929d9a8a682da2036a0bf326367"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a855cd5a79b95d269ae8737fae774e3bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">get_itemlist</a> ()</td></tr>
+<tr class="separator:a855cd5a79b95d269ae8737fae774e3bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a772c28edf36aaf8e66007a95004c4059"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059">get_item_ident</a> ($item)</td></tr>
+<tr class="separator:a772c28edf36aaf8e66007a95004c4059"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27987a41cb703a796f1821baeb4774a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2">get_item</a> ($item_ident)</td></tr>
+<tr class="separator:a27987a41cb703a796f1821baeb4774a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3c6472bea1a44025bc2e152604eb20c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c">get_taxonomy</a> ($item_ident)</td></tr>
+<tr class="separator:ae3c6472bea1a44025bc2e152604eb20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57561904b0f127e0d9a3e2c33688daf8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8">get_children</a> ($item_ident)</td></tr>
+<tr class="separator:a57561904b0f127e0d9a3e2c33688daf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a107703a43a1b0ceb2af7ae470cb3f218"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218">convert_item</a> ($item_ident)</td></tr>
+<tr class="separator:a107703a43a1b0ceb2af7ae470cb3f218"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addf6e53dacd971eaab49be4b17a767d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6">convert_taxonomy</a> ($item_ident)</td></tr>
+<tr class="separator:addf6e53dacd971eaab49be4b17a767d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5434325afb2c633c52540127d717800a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a">convert_child</a> ($child)</td></tr>
+<tr class="separator:a5434325afb2c633c52540127d717800a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33ed595de044c0ec1cd84cca719e31dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc">store</a> ($item, $update=false)</td></tr>
+<tr class="separator:a33ed595de044c0ec1cd84cca719e31dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d138a9a7d4f79b81d3446ca216a602c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">run</a> ()</td></tr>
+<tr class="separator:a8d138a9a7d4f79b81d3446ca216a602c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ad0d2bdc3b388220479063915b4f5c2fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc">$itemlist</a> = null</td></tr>
+<tr class="separator:ad0d2bdc3b388220479063915b4f5c2fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c2eeba8d0cba3e7c12a2c45ba0fbc6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6">$src_items</a> = null</td></tr>
+<tr class="separator:a88c2eeba8d0cba3e7c12a2c45ba0fbc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a05dac405ccc5b617b7b7b3c8ed783c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c">$items</a> = null</td></tr>
+<tr class="separator:a0a05dac405ccc5b617b7b7b3c8ed783c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a864aac9fadb4846f5d9f840e8e0f440f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f">$credentials</a> = null</td></tr>
+<tr class="separator:a864aac9fadb4846f5d9f840e8e0f440f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a5434325afb2c633c52540127d717800a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::convert_child </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$child</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a107703a43a1b0ceb2af7ae470cb3f218"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::convert_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="addf6e53dacd971eaab49be4b17a767d6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::convert_taxonomy </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a57561904b0f127e0d9a3e2c33688daf8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_children </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a24134929d9a8a682da2036a0bf326367"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_credentials </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27987a41cb703a796f1821baeb4774a2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a772c28edf36aaf8e66007a95004c4059"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_item_ident </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a855cd5a79b95d269ae8737fae774e3bc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_itemlist </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae3c6472bea1a44025bc2e152604eb20c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_taxonomy </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8d138a9a7d4f79b81d3446ca216a602c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::run </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a33ed595de044c0ec1cd84cca719e31dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::store </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a864aac9fadb4846f5d9f840e8e0f440f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::$credentials = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">RedMatrix\Import\Import\get_credentials()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad0d2bdc3b388220479063915b4f5c2fc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::$itemlist = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">RedMatrix\Import\Import\get_itemlist()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0a05dac405ccc5b617b7b7b3c8ed783c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::$items = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a88c2eeba8d0cba3e7c12a2c45ba0fbc6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::$src_items = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/Import/<a class="el" href="Importer_8php.html">Importer.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classRedMatrix_1_1Import_1_1Import.js b/doc/html/classRedMatrix_1_1Import_1_1Import.js
new file mode 100644
index 000000000..03e429289
--- /dev/null
+++ b/doc/html/classRedMatrix_1_1Import_1_1Import.js
@@ -0,0 +1,18 @@
+var classRedMatrix_1_1Import_1_1Import =
+[
+ [ "convert_child", "classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a", null ],
+ [ "convert_item", "classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218", null ],
+ [ "convert_taxonomy", "classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6", null ],
+ [ "get_children", "classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8", null ],
+ [ "get_credentials", "classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367", null ],
+ [ "get_item", "classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2", null ],
+ [ "get_item_ident", "classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059", null ],
+ [ "get_itemlist", "classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc", null ],
+ [ "get_taxonomy", "classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c", null ],
+ [ "run", "classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c", null ],
+ [ "store", "classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc", null ],
+ [ "$credentials", "classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f", null ],
+ [ "$itemlist", "classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc", null ],
+ [ "$items", "classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c", null ],
+ [ "$src_items", "classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html b/doc/html/classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html
index 9cd342a8d..732ee436e 100644
--- a/doc/html/classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html
+++ b/doc/html/classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html
@@ -143,7 +143,7 @@ Public Member Functions</h2></td></tr>
<tr class="memdesc:adc72f36f0b2b17b20ea4df900afcd697"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set browser plugin for SabreDAV. <a href="#adc72f36f0b2b17b20ea4df900afcd697">More...</a><br/></td></tr>
<tr class="separator:adc72f36f0b2b17b20ea4df900afcd697"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf6fe89b0a8239ed93c3b07e1fbce75b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abf6fe89b0a8239ed93c3b07e1fbce75b">log</a> ()</td></tr>
-<tr class="memdesc:abf6fe89b0a8239ed93c3b07e1fbce75b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints out all <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html" title="Authentication backend class for RedDAV.">RedBasicAuth</a> variables to <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>. <a href="#abf6fe89b0a8239ed93c3b07e1fbce75b">More...</a><br/></td></tr>
+<tr class="memdesc:abf6fe89b0a8239ed93c3b07e1fbce75b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints out all <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html" title="Authentication backend class for RedDAV.">RedBasicAuth</a> variables to <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63" title="Logging function for RedMatrix.">logger()</a>. <a href="#abf6fe89b0a8239ed93c3b07e1fbce75b">More...</a><br/></td></tr>
<tr class="separator:abf6fe89b0a8239ed93c3b07e1fbce75b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
@@ -232,7 +232,7 @@ Protected Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Prints out all <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html" title="Authentication backend class for RedDAV.">RedBasicAuth</a> variables to <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>. </p>
+<p>Prints out all <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html" title="Authentication backend class for RedDAV.">RedBasicAuth</a> variables to <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63" title="Logging function for RedMatrix.">logger()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
</div>
diff --git a/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser-members.html b/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser-members.html
index 34718ac8d..489d61569 100644
--- a/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser-members.html
+++ b/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser-members.html
@@ -118,9 +118,10 @@ $(document).ready(function(){initNavTree('classRedMatrix_1_1RedDAV_1_1RedBrowser
<tr><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a0733e38e254474d9a456825e72f1ddfd">findAttachIdByHash</a>($attachHash)</td><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedMatrix\RedDAV\RedBrowser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">generateDirectoryIndex</a>($path)</td><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedMatrix\RedDAV\RedBrowser</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#acaa792c08d24e9dc2919759e92ba037d">getAssetUrl</a>($assetName)</td><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedMatrix\RedDAV\RedBrowser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf">htmlActionsPanel</a>(DAV\INode $node, &amp;$output)</td><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedMatrix\RedDAV\RedBrowser</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">set_writeable</a>()</td><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedMatrix\RedDAV\RedBrowser</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd">userReadableSize</a>($size)</td><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedMatrix\RedDAV\RedBrowser</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a810af4506cb3247e0ea7b0c4accbbc7a">getIconFromType</a>($type)</td><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedMatrix\RedDAV\RedBrowser</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf">htmlActionsPanel</a>(DAV\INode $node, &amp;$output)</td><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedMatrix\RedDAV\RedBrowser</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">set_writeable</a>()</td><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedMatrix\RedDAV\RedBrowser</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd">userReadableSize</a>($size)</td><td class="entry"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedMatrix\RedDAV\RedBrowser</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser.html b/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser.html
index bebe6019d..95f63702d 100644
--- a/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser.html
+++ b/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser.html
@@ -147,6 +147,9 @@ Public Member Functions</h2></td></tr>
Protected Member Functions</h2></td></tr>
<tr class="memitem:acaa792c08d24e9dc2919759e92ba037d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#acaa792c08d24e9dc2919759e92ba037d">getAssetUrl</a> ($assetName)</td></tr>
<tr class="separator:acaa792c08d24e9dc2919759e92ba037d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a810af4506cb3247e0ea7b0c4accbbc7a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a810af4506cb3247e0ea7b0c4accbbc7a">getIconFromType</a> ($type)</td></tr>
+<tr class="memdesc:a810af4506cb3247e0ea7b0c4accbbc7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns icon name for use with e.g. font-awesome based on mime-type <a href="#a810af4506cb3247e0ea7b0c4accbbc7a">More...</a><br/></td></tr>
+<tr class="separator:a810af4506cb3247e0ea7b0c4accbbc7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4bc0516533c62733f38043a37267d78"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad4bc0516533c62733f38043a37267d78">findAttachHash</a> ($owner, $parentHash, $attachName)</td></tr>
<tr class="memdesc:ad4bc0516533c62733f38043a37267d78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the hash of an attachment. <a href="#ad4bc0516533c62733f38043a37267d78">More...</a><br/></td></tr>
<tr class="separator:ad4bc0516533c62733f38043a37267d78"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -180,7 +183,7 @@ Private Attributes</h2></td></tr>
<p>Constructor for <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html" title="Provides a DAV frontend for the webbrowser.">RedBrowser</a> class. </p>
<p>$enablePost will be activated through <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">set_writeable()</a> in a later stage. At the moment the write_storage permission is only valid for the whole folder. No file specific permissions yet. </p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>disable enablePost by default and only activate if permissions grant edit rights.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>disable enablePost by default and only activate if permissions grant edit rights.</dd></dl>
<p>Disable assets with $enableAssets = false. Should get some thumbnail views anyway.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -340,6 +343,41 @@ Private Attributes</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a810af4506cb3247e0ea7b0c4accbbc7a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\RedDAV\RedBrowser::getIconFromType </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>returns icon name for use with e.g. font-awesome based on mime-type </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$type</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a3bd98af2d1cdfd8f26deb914596176cf"></a>
<div class="memitem">
<div class="memproto">
@@ -389,7 +427,7 @@ Private Attributes</h2></td></tr>
</div><div class="memdoc">
<p>The DAV browser is instantiated after the auth module and directory classes but before we know the current directory and who the owner and observer are. So we add a pointer to the browser into the auth module and vice versa. Then when we've figured out what directory is actually being accessed, we call the following function to decide whether or not to show web elements which include writeable objects.</p>
<p>It only disable/enable the visible parts. Not the POST handler which handels the actual requests when uploading files or creating folders.</p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Maybe this whole way of doing this can be solved with some $server-&gt;subscribeEvent(). </dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Maybe this whole way of doing this can be solved with some $server-&gt;subscribeEvent(). </dd></dl>
</div>
</div>
diff --git a/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser.js b/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser.js
index 88eb33d70..79397d288 100644
--- a/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser.js
+++ b/doc/html/classRedMatrix_1_1RedDAV_1_1RedBrowser.js
@@ -5,6 +5,7 @@ var classRedMatrix_1_1RedDAV_1_1RedBrowser =
[ "findAttachIdByHash", "classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a0733e38e254474d9a456825e72f1ddfd", null ],
[ "generateDirectoryIndex", "classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09", null ],
[ "getAssetUrl", "classRedMatrix_1_1RedDAV_1_1RedBrowser.html#acaa792c08d24e9dc2919759e92ba037d", null ],
+ [ "getIconFromType", "classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a810af4506cb3247e0ea7b0c4accbbc7a", null ],
[ "htmlActionsPanel", "classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf", null ],
[ "set_writeable", "classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19", null ],
[ "userReadableSize", "classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd", null ],
diff --git a/doc/html/classRedMatrix_1_1RedDAV_1_1RedDirectory.html b/doc/html/classRedMatrix_1_1RedDAV_1_1RedDirectory.html
index 5f07edc7d..ba9db5894 100644
--- a/doc/html/classRedMatrix_1_1RedDAV_1_1RedDirectory.html
+++ b/doc/html/classRedMatrix_1_1RedDAV_1_1RedDirectory.html
@@ -383,7 +383,7 @@ Private Attributes</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>add description of what this function does.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>add description of what this function does.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">\Sabre\DAV\Exception\NotFound</td><td></td></tr>
@@ -492,7 +492,7 @@ Private Attributes</h2></td></tr>
</div><div class="memdoc">
<p>Renames the directory. </p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>handle duplicate directory name</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>handle duplicate directory name</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">\Sabre\DAV\Exception\Forbidden</td><td></td></tr>
diff --git a/doc/html/classRedmatrix_1_1Import_1_1Import-members.html b/doc/html/classRedmatrix_1_1Import_1_1Import-members.html
new file mode 100644
index 000000000..2be66a2ea
--- /dev/null
+++ b/doc/html/classRedmatrix_1_1Import_1_1Import-members.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classRedMatrix_1_1Import_1_1Import.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">RedMatrix\Import\Import Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f">$credentials</a></td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc">$itemlist</a></td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c">$items</a></td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6">$src_items</a></td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a">convert_child</a>($child)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218">convert_item</a>($item_ident)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6">convert_taxonomy</a>($item_ident)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8">get_children</a>($item_ident)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">get_credentials</a>()</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2">get_item</a>($item_ident)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059">get_item_ident</a>($item)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">get_itemlist</a>()</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c">get_taxonomy</a>($item_ident)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">run</a>()</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc">store</a>($item, $update=false)</td><td class="entry"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">RedMatrix\Import\Import</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classRedmatrix_1_1Import_1_1Import.html b/doc/html/classRedmatrix_1_1Import_1_1Import.html
new file mode 100644
index 000000000..2119780c3
--- /dev/null
+++ b/doc/html/classRedmatrix_1_1Import_1_1Import.html
@@ -0,0 +1,447 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: RedMatrix\Import\Import Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classRedMatrix_1_1Import_1_1Import.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#pri-attribs">Private Attributes</a> &#124;
+<a href="classRedMatrix_1_1Import_1_1Import-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">RedMatrix\Import\Import Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a24134929d9a8a682da2036a0bf326367"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">get_credentials</a> ()</td></tr>
+<tr class="separator:a24134929d9a8a682da2036a0bf326367"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a855cd5a79b95d269ae8737fae774e3bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">get_itemlist</a> ()</td></tr>
+<tr class="separator:a855cd5a79b95d269ae8737fae774e3bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a772c28edf36aaf8e66007a95004c4059"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059">get_item_ident</a> ($item)</td></tr>
+<tr class="separator:a772c28edf36aaf8e66007a95004c4059"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27987a41cb703a796f1821baeb4774a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2">get_item</a> ($item_ident)</td></tr>
+<tr class="separator:a27987a41cb703a796f1821baeb4774a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3c6472bea1a44025bc2e152604eb20c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c">get_taxonomy</a> ($item_ident)</td></tr>
+<tr class="separator:ae3c6472bea1a44025bc2e152604eb20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57561904b0f127e0d9a3e2c33688daf8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8">get_children</a> ($item_ident)</td></tr>
+<tr class="separator:a57561904b0f127e0d9a3e2c33688daf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a107703a43a1b0ceb2af7ae470cb3f218"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218">convert_item</a> ($item_ident)</td></tr>
+<tr class="separator:a107703a43a1b0ceb2af7ae470cb3f218"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addf6e53dacd971eaab49be4b17a767d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6">convert_taxonomy</a> ($item_ident)</td></tr>
+<tr class="separator:addf6e53dacd971eaab49be4b17a767d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5434325afb2c633c52540127d717800a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a">convert_child</a> ($child)</td></tr>
+<tr class="separator:a5434325afb2c633c52540127d717800a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33ed595de044c0ec1cd84cca719e31dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc">store</a> ($item, $update=false)</td></tr>
+<tr class="separator:a33ed595de044c0ec1cd84cca719e31dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d138a9a7d4f79b81d3446ca216a602c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">run</a> ()</td></tr>
+<tr class="separator:a8d138a9a7d4f79b81d3446ca216a602c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ad0d2bdc3b388220479063915b4f5c2fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc">$itemlist</a> = null</td></tr>
+<tr class="separator:ad0d2bdc3b388220479063915b4f5c2fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c2eeba8d0cba3e7c12a2c45ba0fbc6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6">$src_items</a> = null</td></tr>
+<tr class="separator:a88c2eeba8d0cba3e7c12a2c45ba0fbc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a05dac405ccc5b617b7b7b3c8ed783c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c">$items</a> = null</td></tr>
+<tr class="separator:a0a05dac405ccc5b617b7b7b3c8ed783c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a864aac9fadb4846f5d9f840e8e0f440f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f">$credentials</a> = null</td></tr>
+<tr class="separator:a864aac9fadb4846f5d9f840e8e0f440f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a5434325afb2c633c52540127d717800a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::convert_child </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$child</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a107703a43a1b0ceb2af7ae470cb3f218"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::convert_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="addf6e53dacd971eaab49be4b17a767d6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::convert_taxonomy </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a57561904b0f127e0d9a3e2c33688daf8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_children </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a24134929d9a8a682da2036a0bf326367"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_credentials </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27987a41cb703a796f1821baeb4774a2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a772c28edf36aaf8e66007a95004c4059"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_item_ident </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a855cd5a79b95d269ae8737fae774e3bc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_itemlist </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae3c6472bea1a44025bc2e152604eb20c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::get_taxonomy </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8d138a9a7d4f79b81d3446ca216a602c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::run </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a33ed595de044c0ec1cd84cca719e31dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::store </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a864aac9fadb4846f5d9f840e8e0f440f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::$credentials = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">RedMatrix\Import\Import\get_credentials()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad0d2bdc3b388220479063915b4f5c2fc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::$itemlist = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">RedMatrix\Import\Import\get_itemlist()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0a05dac405ccc5b617b7b7b3c8ed783c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::$items = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a88c2eeba8d0cba3e7c12a2c45ba0fbc6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">RedMatrix\Import\Import::$src_items = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/Import/<a class="el" href="Importer_8php.html">Importer.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classRedmatrix_1_1Import_1_1Import.js b/doc/html/classRedmatrix_1_1Import_1_1Import.js
new file mode 100644
index 000000000..03e429289
--- /dev/null
+++ b/doc/html/classRedmatrix_1_1Import_1_1Import.js
@@ -0,0 +1,18 @@
+var classRedMatrix_1_1Import_1_1Import =
+[
+ [ "convert_child", "classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a", null ],
+ [ "convert_item", "classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218", null ],
+ [ "convert_taxonomy", "classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6", null ],
+ [ "get_children", "classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8", null ],
+ [ "get_credentials", "classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367", null ],
+ [ "get_item", "classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2", null ],
+ [ "get_item_ident", "classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059", null ],
+ [ "get_itemlist", "classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc", null ],
+ [ "get_taxonomy", "classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c", null ],
+ [ "run", "classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c", null ],
+ [ "store", "classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc", null ],
+ [ "$credentials", "classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f", null ],
+ [ "$itemlist", "classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc", null ],
+ [ "$items", "classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c", null ],
+ [ "$src_items", "classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classdba__driver-members.html b/doc/html/classdba__driver-members.html
index cf4075c93..40c9f7ed0 100644
--- a/doc/html/classdba__driver-members.html
+++ b/doc/html/classdba__driver-members.html
@@ -119,11 +119,23 @@ $(document).ready(function(){initNavTree('classdba__driver.html','');});
<tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a>($server, $port, $user, $pass, $db, $install=false)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">close</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">connect</a>($server, $port, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">escape</a>($str)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>($server, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4">concat</a>($fld, $sep)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">connect</a>($server, $port, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">escape</a>($str)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd">escapebin</a>($str)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48">get_install_script</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a65a5c7b355ab5529a43049e160006426">get_null_date</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14">getdriver</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>($server, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a98d8523dcedda316085b4d4f856b6583">INSTALL_SCRIPT</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#afce39394c010ea589d99a21579b2c31e">NULL_DATE</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092">optimize_table</a>($table)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">q</a>($sql)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9">quote_interval</a>($txt)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155">unescapebin</a>($str)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8">UTC_NOW</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#ad700712879719bee23752b8f424d97d0">utcnow</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classdba__driver.html b/doc/html/classdba__driver.html
index e70d8bf1f..4c917a0dd 100644
--- a/doc/html/classdba__driver.html
+++ b/doc/html/classdba__driver.html
@@ -114,38 +114,72 @@ $(document).ready(function(){initNavTree('classdba__driver.html','');});
<div class="title">dba_driver Class Reference</div> </div>
</div><!--header-->
<div class="contents">
+
+<p>abstract database driver class.
+ <a href="classdba__driver.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for dba_driver:</div>
<div class="dyncontent">
<div class="center">
<img src="classdba__driver.png" usemap="#dba_driver_map" alt=""/>
<map id="dba_driver_map" name="dba_driver_map">
-<area href="classdba__mysql.html" alt="dba_mysql" shape="rect" coords="0,56,74,80"/>
-<area href="classdba__mysqli.html" alt="dba_mysqli" shape="rect" coords="84,56,158,80"/>
+<area href="classdba__mysql.html" alt="dba_mysql" shape="rect" coords="0,56,88,80"/>
+<area href="classdba__mysqli.html" alt="dba_mysqli" shape="rect" coords="98,56,186,80"/>
+<area href="classdba__postgres.html" alt="dba_postgres" shape="rect" coords="196,56,284,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae533e62a240a793f17aef5ab4ef10edc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">connect</a> ($server, $port, $user, $pass, $db)</td></tr>
+<tr class="memdesc:ae533e62a240a793f17aef5ab4ef10edc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the database. <a href="#ae533e62a240a793f17aef5ab4ef10edc">More...</a><br/></td></tr>
<tr class="separator:ae533e62a240a793f17aef5ab4ef10edc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a558e738b88ae893cc5d79ffa3793d555"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">q</a> ($sql)</td></tr>
+<tr class="memdesc:a558e738b88ae893cc5d79ffa3793d555"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a DB query with the SQL statement $sql. <a href="#a558e738b88ae893cc5d79ffa3793d555">More...</a><br/></td></tr>
<tr class="separator:a558e738b88ae893cc5d79ffa3793d555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc95ffa103a3290581b537670cde5311"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">escape</a> ($str)</td></tr>
+<tr class="memdesc:afc95ffa103a3290581b537670cde5311"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape a string before being passed to a DB query. <a href="#afc95ffa103a3290581b537670cde5311">More...</a><br/></td></tr>
<tr class="separator:afc95ffa103a3290581b537670cde5311"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5afa54172f3c837df61643f8f5b2c975"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">close</a> ()</td></tr>
+<tr class="memdesc:a5afa54172f3c837df61643f8f5b2c975"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the database connection. <a href="#a5afa54172f3c837df61643f8f5b2c975">More...</a><br/></td></tr>
<tr class="separator:a5afa54172f3c837df61643f8f5b2c975"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02165fc4bee63d040ebd963a4fa82a14"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14">getdriver</a> ()</td></tr>
+<tr class="memdesc:a02165fc4bee63d040ebd963a4fa82a14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return text name for db driver. <a href="#a02165fc4bee63d040ebd963a4fa82a14">More...</a><br/></td></tr>
+<tr class="separator:a02165fc4bee63d040ebd963a4fa82a14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3541d13ccb7a3eddfc03e253c746186"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a> ($server, $port, $user, $pass, $db, $<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>=false)</td></tr>
<tr class="separator:af3541d13ccb7a3eddfc03e253c746186"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65a5c7b355ab5529a43049e160006426"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a65a5c7b355ab5529a43049e160006426">get_null_date</a> ()</td></tr>
+<tr class="separator:a65a5c7b355ab5529a43049e160006426"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d6a79d39d7eaee5aea4e952c4529d48"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48">get_install_script</a> ()</td></tr>
+<tr class="separator:a8d6a79d39d7eaee5aea4e952c4529d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad700712879719bee23752b8f424d97d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ad700712879719bee23752b8f424d97d0">utcnow</a> ()</td></tr>
+<tr class="separator:ad700712879719bee23752b8f424d97d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ccb27243e62a8ca30dd8e1b8cc67746"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a> ($server, $user, $pass, $db)</td></tr>
<tr class="separator:a4ccb27243e62a8ca30dd8e1b8cc67746"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcc1f8955120fec0708bce39202d0422"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a> ($dbg)</td></tr>
+<tr class="memdesc:adcc1f8955120fec0708bce39202d0422"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the database driver's debugging state. <a href="#adcc1f8955120fec0708bce39202d0422">More...</a><br/></td></tr>
<tr class="separator:adcc1f8955120fec0708bce39202d0422"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a8bc9dc839a6320a0e07d8047a6b721"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a> ()</td></tr>
<tr class="separator:a1a8bc9dc839a6320a0e07d8047a6b721"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9127e9c55fcc93bcfbb323b9b99b9d9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9">quote_interval</a> ($txt)</td></tr>
+<tr class="separator:ac9127e9c55fcc93bcfbb323b9b99b9d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77e59dcbeab30ca6000131d2e9ad4092"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092">optimize_table</a> ($table)</td></tr>
+<tr class="separator:a77e59dcbeab30ca6000131d2e9ad4092"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9982f38a02f008b127a0f3ccc1e99f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4">concat</a> ($fld, $sep)</td></tr>
+<tr class="separator:ab9982f38a02f008b127a0f3ccc1e99f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7dbe8318587ff1694825042bf58f4fbd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd">escapebin</a> ($str)</td></tr>
+<tr class="separator:a7dbe8318587ff1694825042bf58f4fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab43184239e1d6eb00a98319f4a3df155"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155">unescapebin</a> ($str)</td></tr>
+<tr class="separator:ab43184239e1d6eb00a98319f4a3df155"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
+<tr class="memitem:a98d8523dcedda316085b4d4f856b6583"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a98d8523dcedda316085b4d4f856b6583">INSTALL_SCRIPT</a> ='<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>/schema_mysql.sql'</td></tr>
+<tr class="separator:a98d8523dcedda316085b4d4f856b6583"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afce39394c010ea589d99a21579b2c31e"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afce39394c010ea589d99a21579b2c31e">NULL_DATE</a> = '0000-00-00 00:00:00'</td></tr>
+<tr class="separator:afce39394c010ea589d99a21579b2c31e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3325d982d4ee5d1114fd7e02a4356e8"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8">UTC_NOW</a> = 'UTC_TIMESTAMP()'</td></tr>
+<tr class="separator:aa3325d982d4ee5d1114fd7e02a4356e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a205f6535e399700b6fca2492f96f2229"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a> = false</td></tr>
<tr class="separator:a205f6535e399700b6fca2492f96f2229"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84675d28c7bd9b7290dd37e66dbd216c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a> = false</td></tr>
@@ -158,7 +192,10 @@ Protected Attributes</h2></td></tr>
<tr class="memitem:a3033b5f1c2716b52202faeaae2592fe6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">$db</a></td></tr>
<tr class="separator:a3033b5f1c2716b52202faeaae2592fe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>abstract database driver class. </p>
+<p>This class gets extended by the real database driver classes, e.g. <a class="el" href="classdba__mysql.html">dba_mysql</a>, <a class="el" href="classdba__mysqli.html">dba_mysqli</a>. </p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af3541d13ccb7a3eddfc03e253c746186"></a>
<div class="memitem">
<div class="memproto">
@@ -246,10 +283,39 @@ Protected Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Close the database connection. </p>
+<p>This abstract function needs to be implemented in the real driver. </p>
+
<p>Referenced by <a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct()</a>.</p>
</div>
</div>
+<a class="anchor" id="ab9982f38a02f008b127a0f3ccc1e99f4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::concat </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$fld</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sep</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="ae533e62a240a793f17aef5ab4ef10edc"></a>
<div class="memitem">
<div class="memproto">
@@ -300,6 +366,20 @@ Protected Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Connect to the database. </p>
+<p>This abstract function needs to be implemented in the real driver.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$server</td><td>DB server name </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$port</td><td>DB port </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$user</td><td>DB username </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$pass</td><td>DB password </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$db</td><td>database name </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool </dd></dl>
+
<p>Referenced by <a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct()</a>.</p>
</div>
@@ -318,6 +398,14 @@ Protected Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Sets the database driver's debugging state. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">int</td><td class="paramname">$dbg</td><td>0 to disable debugging </td></tr>
+ </table>
+ </dd>
+</dl>
+
</div>
</div>
<a class="anchor" id="afc95ffa103a3290581b537670cde5311"></a>
@@ -342,6 +430,87 @@ Protected Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Escape a string before being passed to a DB query. </p>
+<p>This abstract function needs to be implemented in the real driver.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$str</td><td>The string to escape. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a7dbe8318587ff1694825042bf58f4fbd"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::escapebin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8d6a79d39d7eaee5aea4e952c4529d48"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::get_install_script </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a65a5c7b355ab5529a43049e160006426"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::get_null_date </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a02165fc4bee63d040ebd963a4fa82a14"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::getdriver </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">abstract</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return text name for db driver. </p>
+<p>This abstract function needs to be implemented in the real driver. </p>
+
</div>
</div>
<a class="anchor" id="a4ccb27243e62a8ca30dd8e1b8cc67746"></a>
@@ -384,6 +553,22 @@ Protected Attributes</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a77e59dcbeab30ca6000131d2e9ad4092"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::optimize_table </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$table</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a558e738b88ae893cc5d79ffa3793d555"></a>
<div class="memitem">
<div class="memproto">
@@ -406,6 +591,64 @@ Protected Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Perform a DB query with the SQL statement $sql. </p>
+<p>This abstract function needs to be implemented in the real driver.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$sql</td><td>The SQL query to execute </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092">optimize_table()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac9127e9c55fcc93bcfbb323b9b99b9d9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::quote_interval </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$txt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab43184239e1d6eb00a98319f4a3df155"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::unescapebin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ad700712879719bee23752b8f424d97d0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_driver::utcnow </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
@@ -419,6 +662,8 @@ Protected Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Referenced by <a class="el" href="classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e">dba_postgres\connect()</a>.</p>
+
</div>
</div>
<a class="anchor" id="a3033b5f1c2716b52202faeaae2592fe6"></a>
@@ -439,7 +684,7 @@ Protected Attributes</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct()</a>, <a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">dba_mysqli\connect()</a>, and <a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">dba_mysql\connect()</a>.</p>
+<p>Referenced by <a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct()</a>, <a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">dba_mysqli\connect()</a>, <a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">dba_mysql\connect()</a>, and <a class="el" href="classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e">dba_postgres\connect()</a>.</p>
</div>
</div>
@@ -475,6 +720,42 @@ Protected Attributes</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a98d8523dcedda316085b4d4f856b6583"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const dba_driver::INSTALL_SCRIPT ='<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>/schema_mysql.sql'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="afce39394c010ea589d99a21579b2c31e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const dba_driver::NULL_DATE = '0000-00-00 00:00:00'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa3325d982d4ee5d1114fd7e02a4356e8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const dba_driver::UTC_NOW = 'UTC_TIMESTAMP()'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/dba/<a class="el" href="dba__driver_8php.html">dba_driver.php</a></li>
</ul>
diff --git a/doc/html/classdba__driver.js b/doc/html/classdba__driver.js
index 14c656ca8..ea24b64f9 100644
--- a/doc/html/classdba__driver.js
+++ b/doc/html/classdba__driver.js
@@ -3,13 +3,25 @@ var classdba__driver =
[ "__construct", "classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186", null ],
[ "__destruct", "classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721", null ],
[ "close", "classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975", null ],
+ [ "concat", "classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4", null ],
[ "connect", "classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc", null ],
[ "dbg", "classdba__driver.html#adcc1f8955120fec0708bce39202d0422", null ],
[ "escape", "classdba__driver.html#afc95ffa103a3290581b537670cde5311", null ],
+ [ "escapebin", "classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd", null ],
+ [ "get_install_script", "classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48", null ],
+ [ "get_null_date", "classdba__driver.html#a65a5c7b355ab5529a43049e160006426", null ],
+ [ "getdriver", "classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14", null ],
[ "install", "classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746", null ],
+ [ "optimize_table", "classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092", null ],
[ "q", "classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555", null ],
+ [ "quote_interval", "classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9", null ],
+ [ "unescapebin", "classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155", null ],
+ [ "utcnow", "classdba__driver.html#ad700712879719bee23752b8f424d97d0", null ],
[ "$connected", "classdba__driver.html#a205f6535e399700b6fca2492f96f2229", null ],
[ "$db", "classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6", null ],
[ "$debug", "classdba__driver.html#af48e2afeded5285766bf92e22123ed03", null ],
- [ "$error", "classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c", null ]
+ [ "$error", "classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c", null ],
+ [ "INSTALL_SCRIPT", "classdba__driver.html#a98d8523dcedda316085b4d4f856b6583", null ],
+ [ "NULL_DATE", "classdba__driver.html#afce39394c010ea589d99a21579b2c31e", null ],
+ [ "UTC_NOW", "classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8", null ]
]; \ No newline at end of file
diff --git a/doc/html/classdba__driver.png b/doc/html/classdba__driver.png
index 7c5b7cf41..b9cc8c832 100644
--- a/doc/html/classdba__driver.png
+++ b/doc/html/classdba__driver.png
Binary files differ
diff --git a/doc/html/classdba__mysql-members.html b/doc/html/classdba__mysql-members.html
index 15a22064f..a74cfc456 100644
--- a/doc/html/classdba__mysql-members.html
+++ b/doc/html/classdba__mysql-members.html
@@ -119,11 +119,23 @@ $(document).ready(function(){initNavTree('classdba__mysql.html','');});
<tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a>($server, $port, $user, $pass, $db, $install=false)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e">close</a>()</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">connect</a>($server, $port, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">escape</a>($str)</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>($server, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4">concat</a>($fld, $sep)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">connect</a>($server, $port, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">escape</a>($str)</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd">escapebin</a>($str)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48">get_install_script</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a65a5c7b355ab5529a43049e160006426">get_null_date</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__mysql.html#a31011edd67b6b394355bf04cedb498d0">getdriver</a>()</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>($server, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a98d8523dcedda316085b4d4f856b6583">INSTALL_SCRIPT</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#afce39394c010ea589d99a21579b2c31e">NULL_DATE</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092">optimize_table</a>($table)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">q</a>($sql)</td><td class="entry"><a class="el" href="classdba__mysql.html">dba_mysql</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9">quote_interval</a>($txt)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155">unescapebin</a>($str)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8">UTC_NOW</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#ad700712879719bee23752b8f424d97d0">utcnow</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classdba__mysql.html b/doc/html/classdba__mysql.html
index df61678d5..c0bd780a2 100644
--- a/doc/html/classdba__mysql.html
+++ b/doc/html/classdba__mysql.html
@@ -118,7 +118,7 @@ Inheritance diagram for dba_mysql:</div>
<div class="center">
<img src="classdba__mysql.png" usemap="#dba_mysql_map" alt=""/>
<map id="dba_mysql_map" name="dba_mysql_map">
-<area href="classdba__driver.html" alt="dba_driver" shape="rect" coords="0,0,74,24"/>
+<area href="classdba__driver.html" title="abstract database driver class." alt="dba_driver" shape="rect" coords="0,0,74,24"/>
</map>
</div></div>
<table class="memberdecls">
@@ -132,27 +132,59 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a99a7691ea6cb1300031fb6549379066e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a850586714ef897bd25f643c89b4ef76e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e">close</a> ()</td></tr>
<tr class="separator:a850586714ef897bd25f643c89b4ef76e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31011edd67b6b394355bf04cedb498d0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysql.html#a31011edd67b6b394355bf04cedb498d0">getdriver</a> ()</td></tr>
+<tr class="separator:a31011edd67b6b394355bf04cedb498d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
<tr class="memitem:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">connect</a> ($server, $port, $user, $pass, $db)</td></tr>
+<tr class="memdesc:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the database. <a href="#ae533e62a240a793f17aef5ab4ef10edc">More...</a><br/></td></tr>
<tr class="separator:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">q</a> ($sql)</td></tr>
+<tr class="memdesc:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a DB query with the SQL statement $sql. <a href="#a558e738b88ae893cc5d79ffa3793d555">More...</a><br/></td></tr>
<tr class="separator:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">escape</a> ($str)</td></tr>
+<tr class="memdesc:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape a string before being passed to a DB query. <a href="#afc95ffa103a3290581b537670cde5311">More...</a><br/></td></tr>
<tr class="separator:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">close</a> ()</td></tr>
+<tr class="memdesc:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the database connection. <a href="#a5afa54172f3c837df61643f8f5b2c975">More...</a><br/></td></tr>
<tr class="separator:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02165fc4bee63d040ebd963a4fa82a14 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14">getdriver</a> ()</td></tr>
+<tr class="memdesc:a02165fc4bee63d040ebd963a4fa82a14 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return text name for db driver. <a href="#a02165fc4bee63d040ebd963a4fa82a14">More...</a><br/></td></tr>
+<tr class="separator:a02165fc4bee63d040ebd963a4fa82a14 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3541d13ccb7a3eddfc03e253c746186 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a> ($server, $port, $user, $pass, $db, $<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>=false)</td></tr>
<tr class="separator:af3541d13ccb7a3eddfc03e253c746186 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65a5c7b355ab5529a43049e160006426 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a65a5c7b355ab5529a43049e160006426">get_null_date</a> ()</td></tr>
+<tr class="separator:a65a5c7b355ab5529a43049e160006426 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d6a79d39d7eaee5aea4e952c4529d48 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48">get_install_script</a> ()</td></tr>
+<tr class="separator:a8d6a79d39d7eaee5aea4e952c4529d48 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad700712879719bee23752b8f424d97d0 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ad700712879719bee23752b8f424d97d0">utcnow</a> ()</td></tr>
+<tr class="separator:ad700712879719bee23752b8f424d97d0 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ccb27243e62a8ca30dd8e1b8cc67746 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a> ($server, $user, $pass, $db)</td></tr>
<tr class="separator:a4ccb27243e62a8ca30dd8e1b8cc67746 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a> ($dbg)</td></tr>
+<tr class="memdesc:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the database driver's debugging state. <a href="#adcc1f8955120fec0708bce39202d0422">More...</a><br/></td></tr>
<tr class="separator:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a8bc9dc839a6320a0e07d8047a6b721 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a> ()</td></tr>
<tr class="separator:a1a8bc9dc839a6320a0e07d8047a6b721 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9127e9c55fcc93bcfbb323b9b99b9d9 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9">quote_interval</a> ($txt)</td></tr>
+<tr class="separator:ac9127e9c55fcc93bcfbb323b9b99b9d9 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77e59dcbeab30ca6000131d2e9ad4092 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092">optimize_table</a> ($table)</td></tr>
+<tr class="separator:a77e59dcbeab30ca6000131d2e9ad4092 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9982f38a02f008b127a0f3ccc1e99f4 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4">concat</a> ($fld, $sep)</td></tr>
+<tr class="separator:ab9982f38a02f008b127a0f3ccc1e99f4 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7dbe8318587ff1694825042bf58f4fbd inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd">escapebin</a> ($str)</td></tr>
+<tr class="separator:a7dbe8318587ff1694825042bf58f4fbd inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab43184239e1d6eb00a98319f4a3df155 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155">unescapebin</a> ($str)</td></tr>
+<tr class="separator:ab43184239e1d6eb00a98319f4a3df155 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_attribs_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:a98d8523dcedda316085b4d4f856b6583 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a98d8523dcedda316085b4d4f856b6583">INSTALL_SCRIPT</a> ='<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>/schema_mysql.sql'</td></tr>
+<tr class="separator:a98d8523dcedda316085b4d4f856b6583 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afce39394c010ea589d99a21579b2c31e inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afce39394c010ea589d99a21579b2c31e">NULL_DATE</a> = '0000-00-00 00:00:00'</td></tr>
+<tr class="separator:afce39394c010ea589d99a21579b2c31e inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3325d982d4ee5d1114fd7e02a4356e8 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8">UTC_NOW</a> = 'UTC_TIMESTAMP()'</td></tr>
+<tr class="separator:aa3325d982d4ee5d1114fd7e02a4356e8 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a205f6535e399700b6fca2492f96f2229 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a> = false</td></tr>
<tr class="separator:a205f6535e399700b6fca2492f96f2229 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84675d28c7bd9b7290dd37e66dbd216c inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a> = false</td></tr>
@@ -239,6 +271,21 @@ Additional Inherited Members</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a31011edd67b6b394355bf04cedb498d0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_mysql::getdriver </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="ac3fd60c278f400907322dac578754a99"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/classdba__mysql.js b/doc/html/classdba__mysql.js
index 9e5452f55..ec4c52eaf 100644
--- a/doc/html/classdba__mysql.js
+++ b/doc/html/classdba__mysql.js
@@ -3,5 +3,6 @@ var classdba__mysql =
[ "close", "classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e", null ],
[ "connect", "classdba__mysql.html#a1887338627ce0e28786839363014bd0b", null ],
[ "escape", "classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e", null ],
+ [ "getdriver", "classdba__mysql.html#a31011edd67b6b394355bf04cedb498d0", null ],
[ "q", "classdba__mysql.html#ac3fd60c278f400907322dac578754a99", null ]
]; \ No newline at end of file
diff --git a/doc/html/classdba__mysqli-members.html b/doc/html/classdba__mysqli-members.html
index cdfcb2dc4..0c43b330e 100644
--- a/doc/html/classdba__mysqli-members.html
+++ b/doc/html/classdba__mysqli-members.html
@@ -119,11 +119,23 @@ $(document).ready(function(){initNavTree('classdba__mysqli.html','');});
<tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a>($server, $port, $user, $pass, $db, $install=false)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55">close</a>()</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">connect</a>($server, $port, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
- <tr><td class="entry"><a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">escape</a>($str)</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>($server, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4">concat</a>($fld, $sep)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">connect</a>($server, $port, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">escape</a>($str)</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd">escapebin</a>($str)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48">get_install_script</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a65a5c7b355ab5529a43049e160006426">get_null_date</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__mysqli.html#a6eb6c578c6928908321e5e6da866e1db">getdriver</a>()</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>($server, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a98d8523dcedda316085b4d4f856b6583">INSTALL_SCRIPT</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#afce39394c010ea589d99a21579b2c31e">NULL_DATE</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092">optimize_table</a>($table)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">q</a>($sql)</td><td class="entry"><a class="el" href="classdba__mysqli.html">dba_mysqli</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9">quote_interval</a>($txt)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155">unescapebin</a>($str)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8">UTC_NOW</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#ad700712879719bee23752b8f424d97d0">utcnow</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/classdba__mysqli.html b/doc/html/classdba__mysqli.html
index 985a7216b..df0c38b6a 100644
--- a/doc/html/classdba__mysqli.html
+++ b/doc/html/classdba__mysqli.html
@@ -118,7 +118,7 @@ Inheritance diagram for dba_mysqli:</div>
<div class="center">
<img src="classdba__mysqli.png" usemap="#dba_mysqli_map" alt=""/>
<map id="dba_mysqli_map" name="dba_mysqli_map">
-<area href="classdba__driver.html" alt="dba_driver" shape="rect" coords="0,0,74,24"/>
+<area href="classdba__driver.html" title="abstract database driver class." alt="dba_driver" shape="rect" coords="0,0,74,24"/>
</map>
</div></div>
<table class="memberdecls">
@@ -132,27 +132,59 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a27d6a748af7f80028801306e7ea33f64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb38f2c851187ad632ecfab30fdfab55"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55">close</a> ()</td></tr>
<tr class="separator:acb38f2c851187ad632ecfab30fdfab55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6eb6c578c6928908321e5e6da866e1db"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__mysqli.html#a6eb6c578c6928908321e5e6da866e1db">getdriver</a> ()</td></tr>
+<tr class="separator:a6eb6c578c6928908321e5e6da866e1db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
<tr class="memitem:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">connect</a> ($server, $port, $user, $pass, $db)</td></tr>
+<tr class="memdesc:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the database. <a href="#ae533e62a240a793f17aef5ab4ef10edc">More...</a><br/></td></tr>
<tr class="separator:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">q</a> ($sql)</td></tr>
+<tr class="memdesc:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a DB query with the SQL statement $sql. <a href="#a558e738b88ae893cc5d79ffa3793d555">More...</a><br/></td></tr>
<tr class="separator:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">escape</a> ($str)</td></tr>
+<tr class="memdesc:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape a string before being passed to a DB query. <a href="#afc95ffa103a3290581b537670cde5311">More...</a><br/></td></tr>
<tr class="separator:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">close</a> ()</td></tr>
+<tr class="memdesc:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the database connection. <a href="#a5afa54172f3c837df61643f8f5b2c975">More...</a><br/></td></tr>
<tr class="separator:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02165fc4bee63d040ebd963a4fa82a14 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14">getdriver</a> ()</td></tr>
+<tr class="memdesc:a02165fc4bee63d040ebd963a4fa82a14 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return text name for db driver. <a href="#a02165fc4bee63d040ebd963a4fa82a14">More...</a><br/></td></tr>
+<tr class="separator:a02165fc4bee63d040ebd963a4fa82a14 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3541d13ccb7a3eddfc03e253c746186 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a> ($server, $port, $user, $pass, $db, $<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>=false)</td></tr>
<tr class="separator:af3541d13ccb7a3eddfc03e253c746186 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65a5c7b355ab5529a43049e160006426 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a65a5c7b355ab5529a43049e160006426">get_null_date</a> ()</td></tr>
+<tr class="separator:a65a5c7b355ab5529a43049e160006426 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d6a79d39d7eaee5aea4e952c4529d48 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48">get_install_script</a> ()</td></tr>
+<tr class="separator:a8d6a79d39d7eaee5aea4e952c4529d48 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad700712879719bee23752b8f424d97d0 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ad700712879719bee23752b8f424d97d0">utcnow</a> ()</td></tr>
+<tr class="separator:ad700712879719bee23752b8f424d97d0 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ccb27243e62a8ca30dd8e1b8cc67746 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a> ($server, $user, $pass, $db)</td></tr>
<tr class="separator:a4ccb27243e62a8ca30dd8e1b8cc67746 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a> ($dbg)</td></tr>
+<tr class="memdesc:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the database driver's debugging state. <a href="#adcc1f8955120fec0708bce39202d0422">More...</a><br/></td></tr>
<tr class="separator:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a8bc9dc839a6320a0e07d8047a6b721 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a> ()</td></tr>
<tr class="separator:a1a8bc9dc839a6320a0e07d8047a6b721 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9127e9c55fcc93bcfbb323b9b99b9d9 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9">quote_interval</a> ($txt)</td></tr>
+<tr class="separator:ac9127e9c55fcc93bcfbb323b9b99b9d9 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77e59dcbeab30ca6000131d2e9ad4092 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092">optimize_table</a> ($table)</td></tr>
+<tr class="separator:a77e59dcbeab30ca6000131d2e9ad4092 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9982f38a02f008b127a0f3ccc1e99f4 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4">concat</a> ($fld, $sep)</td></tr>
+<tr class="separator:ab9982f38a02f008b127a0f3ccc1e99f4 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7dbe8318587ff1694825042bf58f4fbd inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd">escapebin</a> ($str)</td></tr>
+<tr class="separator:a7dbe8318587ff1694825042bf58f4fbd inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab43184239e1d6eb00a98319f4a3df155 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155">unescapebin</a> ($str)</td></tr>
+<tr class="separator:ab43184239e1d6eb00a98319f4a3df155 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_attribs_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:a98d8523dcedda316085b4d4f856b6583 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a98d8523dcedda316085b4d4f856b6583">INSTALL_SCRIPT</a> ='<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>/schema_mysql.sql'</td></tr>
+<tr class="separator:a98d8523dcedda316085b4d4f856b6583 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afce39394c010ea589d99a21579b2c31e inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afce39394c010ea589d99a21579b2c31e">NULL_DATE</a> = '0000-00-00 00:00:00'</td></tr>
+<tr class="separator:afce39394c010ea589d99a21579b2c31e inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3325d982d4ee5d1114fd7e02a4356e8 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8">UTC_NOW</a> = 'UTC_TIMESTAMP()'</td></tr>
+<tr class="separator:aa3325d982d4ee5d1114fd7e02a4356e8 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a205f6535e399700b6fca2492f96f2229 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a> = false</td></tr>
<tr class="separator:a205f6535e399700b6fca2492f96f2229 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84675d28c7bd9b7290dd37e66dbd216c inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a> = false</td></tr>
@@ -239,6 +271,21 @@ Additional Inherited Members</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a6eb6c578c6928908321e5e6da866e1db"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_mysqli::getdriver </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a611c4de8d6d7512dffb83a38bb6701ec"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/classdba__mysqli.js b/doc/html/classdba__mysqli.js
index a5f54698e..ab2d66be7 100644
--- a/doc/html/classdba__mysqli.js
+++ b/doc/html/classdba__mysqli.js
@@ -3,5 +3,6 @@ var classdba__mysqli =
[ "close", "classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55", null ],
[ "connect", "classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1", null ],
[ "escape", "classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64", null ],
+ [ "getdriver", "classdba__mysqli.html#a6eb6c578c6928908321e5e6da866e1db", null ],
[ "q", "classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec", null ]
]; \ No newline at end of file
diff --git a/doc/html/classdba__postgres-members.html b/doc/html/classdba__postgres-members.html
new file mode 100644
index 000000000..2796566d5
--- /dev/null
+++ b/doc/html/classdba__postgres-members.html
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classdba__postgres.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">dba_postgres Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classdba__postgres.html">dba_postgres</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">$db</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">$debug</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a></td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a>($server, $port, $user, $pass, $db, $install=false)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__postgres.html#a731d8648b41b8a126f6b99bdd5414058">close</a>()</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__postgres.html#a7ea3f24ad260c1e21588f8b5af595caa">concat</a>($fld, $sep)</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e">connect</a>($server, $port, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a>($dbg)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__postgres.html#a7108eaaae7cc2fb236212041afc9ac0f">escape</a>($str)</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__postgres.html#ab2e44e9f41d05e585afd873d18e8c127">escape_identifier</a>($str)</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__postgres.html#a8d2c6d8c92fe6f074452876483dd17fc">escapebin</a>($str)</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48">get_install_script</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a65a5c7b355ab5529a43049e160006426">get_null_date</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__postgres.html#ae0f834413e57cf0735ae7b64b2f71e68">getdriver</a>()</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>($server, $user, $pass, $db)</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__postgres.html#a7267f91c3f87f600b30d7560de62dfd7">INSTALL_SCRIPT</a></td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__postgres.html#aeb404a85974d6c5df30c21650888000b">NULL_DATE</a></td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__postgres.html#a3de1ac375e98886dfc38fd0066e88f90">optimize_table</a>($table)</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a">q</a>($sql)</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__postgres.html#a56f926f218155c88807e0e06f6817a72">quote_interval</a>($txt)</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__postgres.html#a677f850211975c9ab89602c67e2dcad9">unescapebin</a>($str)</td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classdba__postgres.html#ace80a204e34b20b9907650399cce02a3">UTC_NOW</a></td><td class="entry"><a class="el" href="classdba__postgres.html">dba_postgres</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classdba__driver.html#ad700712879719bee23752b8f424d97d0">utcnow</a>()</td><td class="entry"><a class="el" href="classdba__driver.html">dba_driver</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classdba__postgres.html b/doc/html/classdba__postgres.html
new file mode 100644
index 000000000..c88750564
--- /dev/null
+++ b/doc/html/classdba__postgres.html
@@ -0,0 +1,477 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: dba_postgres Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classdba__postgres.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="classdba__postgres-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">dba_postgres Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for dba_postgres:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="classdba__postgres.png" usemap="#dba_postgres_map" alt=""/>
+ <map id="dba_postgres_map" name="dba_postgres_map">
+<area href="classdba__driver.html" title="abstract database driver class." alt="dba_driver" shape="rect" coords="0,0,88,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab36244320f5b71dba92d9318ccf3f34e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e">connect</a> ($server, $port, $user, $pass, $db)</td></tr>
+<tr class="separator:ab36244320f5b71dba92d9318ccf3f34e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a70352880231fba0b859f82cd5b290a9a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a">q</a> ($sql)</td></tr>
+<tr class="separator:a70352880231fba0b859f82cd5b290a9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7108eaaae7cc2fb236212041afc9ac0f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#a7108eaaae7cc2fb236212041afc9ac0f">escape</a> ($str)</td></tr>
+<tr class="separator:a7108eaaae7cc2fb236212041afc9ac0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d2c6d8c92fe6f074452876483dd17fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#a8d2c6d8c92fe6f074452876483dd17fc">escapebin</a> ($str)</td></tr>
+<tr class="separator:a8d2c6d8c92fe6f074452876483dd17fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a677f850211975c9ab89602c67e2dcad9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#a677f850211975c9ab89602c67e2dcad9">unescapebin</a> ($str)</td></tr>
+<tr class="separator:a677f850211975c9ab89602c67e2dcad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a731d8648b41b8a126f6b99bdd5414058"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#a731d8648b41b8a126f6b99bdd5414058">close</a> ()</td></tr>
+<tr class="separator:a731d8648b41b8a126f6b99bdd5414058"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56f926f218155c88807e0e06f6817a72"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#a56f926f218155c88807e0e06f6817a72">quote_interval</a> ($txt)</td></tr>
+<tr class="separator:a56f926f218155c88807e0e06f6817a72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2e44e9f41d05e585afd873d18e8c127"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#ab2e44e9f41d05e585afd873d18e8c127">escape_identifier</a> ($str)</td></tr>
+<tr class="separator:ab2e44e9f41d05e585afd873d18e8c127"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3de1ac375e98886dfc38fd0066e88f90"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#a3de1ac375e98886dfc38fd0066e88f90">optimize_table</a> ($table)</td></tr>
+<tr class="separator:a3de1ac375e98886dfc38fd0066e88f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ea3f24ad260c1e21588f8b5af595caa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#a7ea3f24ad260c1e21588f8b5af595caa">concat</a> ($fld, $sep)</td></tr>
+<tr class="separator:a7ea3f24ad260c1e21588f8b5af595caa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0f834413e57cf0735ae7b64b2f71e68"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#ae0f834413e57cf0735ae7b64b2f71e68">getdriver</a> ()</td></tr>
+<tr class="separator:ae0f834413e57cf0735ae7b64b2f71e68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_methods_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">connect</a> ($server, $port, $user, $pass, $db)</td></tr>
+<tr class="memdesc:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the database. <a href="#ae533e62a240a793f17aef5ab4ef10edc">More...</a><br/></td></tr>
+<tr class="separator:ae533e62a240a793f17aef5ab4ef10edc inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">q</a> ($sql)</td></tr>
+<tr class="memdesc:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a DB query with the SQL statement $sql. <a href="#a558e738b88ae893cc5d79ffa3793d555">More...</a><br/></td></tr>
+<tr class="separator:a558e738b88ae893cc5d79ffa3793d555 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">escape</a> ($str)</td></tr>
+<tr class="memdesc:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape a string before being passed to a DB query. <a href="#afc95ffa103a3290581b537670cde5311">More...</a><br/></td></tr>
+<tr class="separator:afc95ffa103a3290581b537670cde5311 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">close</a> ()</td></tr>
+<tr class="memdesc:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the database connection. <a href="#a5afa54172f3c837df61643f8f5b2c975">More...</a><br/></td></tr>
+<tr class="separator:a5afa54172f3c837df61643f8f5b2c975 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02165fc4bee63d040ebd963a4fa82a14 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14">getdriver</a> ()</td></tr>
+<tr class="memdesc:a02165fc4bee63d040ebd963a4fa82a14 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return text name for db driver. <a href="#a02165fc4bee63d040ebd963a4fa82a14">More...</a><br/></td></tr>
+<tr class="separator:a02165fc4bee63d040ebd963a4fa82a14 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3541d13ccb7a3eddfc03e253c746186 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186">__construct</a> ($server, $port, $user, $pass, $db, $<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>=false)</td></tr>
+<tr class="separator:af3541d13ccb7a3eddfc03e253c746186 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65a5c7b355ab5529a43049e160006426 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a65a5c7b355ab5529a43049e160006426">get_null_date</a> ()</td></tr>
+<tr class="separator:a65a5c7b355ab5529a43049e160006426 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d6a79d39d7eaee5aea4e952c4529d48 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48">get_install_script</a> ()</td></tr>
+<tr class="separator:a8d6a79d39d7eaee5aea4e952c4529d48 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad700712879719bee23752b8f424d97d0 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ad700712879719bee23752b8f424d97d0">utcnow</a> ()</td></tr>
+<tr class="separator:ad700712879719bee23752b8f424d97d0 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ccb27243e62a8ca30dd8e1b8cc67746 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a> ($server, $user, $pass, $db)</td></tr>
+<tr class="separator:a4ccb27243e62a8ca30dd8e1b8cc67746 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#adcc1f8955120fec0708bce39202d0422">dbg</a> ($dbg)</td></tr>
+<tr class="memdesc:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the database driver's debugging state. <a href="#adcc1f8955120fec0708bce39202d0422">More...</a><br/></td></tr>
+<tr class="separator:adcc1f8955120fec0708bce39202d0422 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a8bc9dc839a6320a0e07d8047a6b721 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721">__destruct</a> ()</td></tr>
+<tr class="separator:a1a8bc9dc839a6320a0e07d8047a6b721 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9127e9c55fcc93bcfbb323b9b99b9d9 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9">quote_interval</a> ($txt)</td></tr>
+<tr class="separator:ac9127e9c55fcc93bcfbb323b9b99b9d9 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77e59dcbeab30ca6000131d2e9ad4092 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092">optimize_table</a> ($table)</td></tr>
+<tr class="separator:a77e59dcbeab30ca6000131d2e9ad4092 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9982f38a02f008b127a0f3ccc1e99f4 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4">concat</a> ($fld, $sep)</td></tr>
+<tr class="separator:ab9982f38a02f008b127a0f3ccc1e99f4 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7dbe8318587ff1694825042bf58f4fbd inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd">escapebin</a> ($str)</td></tr>
+<tr class="separator:a7dbe8318587ff1694825042bf58f4fbd inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab43184239e1d6eb00a98319f4a3df155 inherit pub_methods_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155">unescapebin</a> ($str)</td></tr>
+<tr class="separator:ab43184239e1d6eb00a98319f4a3df155 inherit pub_methods_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a7267f91c3f87f600b30d7560de62dfd7"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#a7267f91c3f87f600b30d7560de62dfd7">INSTALL_SCRIPT</a> ='<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>/schema_postgres.sql'</td></tr>
+<tr class="separator:a7267f91c3f87f600b30d7560de62dfd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb404a85974d6c5df30c21650888000b"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#aeb404a85974d6c5df30c21650888000b">NULL_DATE</a> = '0001-01-01 00:00:00'</td></tr>
+<tr class="separator:aeb404a85974d6c5df30c21650888000b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace80a204e34b20b9907650399cce02a3"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html#ace80a204e34b20b9907650399cce02a3">UTC_NOW</a> = &quot;now() at time zone 'UTC'&quot;</td></tr>
+<tr class="separator:ace80a204e34b20b9907650399cce02a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="inherit_header pub_attribs_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:a98d8523dcedda316085b4d4f856b6583 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a98d8523dcedda316085b4d4f856b6583">INSTALL_SCRIPT</a> ='<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>/schema_mysql.sql'</td></tr>
+<tr class="separator:a98d8523dcedda316085b4d4f856b6583 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afce39394c010ea589d99a21579b2c31e inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#afce39394c010ea589d99a21579b2c31e">NULL_DATE</a> = '0000-00-00 00:00:00'</td></tr>
+<tr class="separator:afce39394c010ea589d99a21579b2c31e inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3325d982d4ee5d1114fd7e02a4356e8 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8">UTC_NOW</a> = 'UTC_TIMESTAMP()'</td></tr>
+<tr class="separator:aa3325d982d4ee5d1114fd7e02a4356e8 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a205f6535e399700b6fca2492f96f2229 inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a205f6535e399700b6fca2492f96f2229">$connected</a> = false</td></tr>
+<tr class="separator:a205f6535e399700b6fca2492f96f2229 inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84675d28c7bd9b7290dd37e66dbd216c inherit pub_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c">$error</a> = false</td></tr>
+<tr class="separator:a84675d28c7bd9b7290dd37e66dbd216c inherit pub_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_classdba__driver"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classdba__driver')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memitem:af48e2afeded5285766bf92e22123ed03 inherit pro_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">$debug</a> = 0</td></tr>
+<tr class="separator:af48e2afeded5285766bf92e22123ed03 inherit pro_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3033b5f1c2716b52202faeaae2592fe6 inherit pro_attribs_classdba__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">$db</a></td></tr>
+<tr class="separator:a3033b5f1c2716b52202faeaae2592fe6 inherit pro_attribs_classdba__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a731d8648b41b8a126f6b99bdd5414058"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::close </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7ea3f24ad260c1e21588f8b5af595caa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::concat </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$fld</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sep</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab36244320f5b71dba92d9318ccf3f34e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::connect </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$server</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$port</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$pass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$db</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7108eaaae7cc2fb236212041afc9ac0f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::escape </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ab2e44e9f41d05e585afd873d18e8c127"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::escape_identifier </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a8d2c6d8c92fe6f074452876483dd17fc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::escapebin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ae0f834413e57cf0735ae7b64b2f71e68"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::getdriver </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3de1ac375e98886dfc38fd0066e88f90"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::optimize_table </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$table</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a70352880231fba0b859f82cd5b290a9a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::q </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sql</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e">connect()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a56f926f218155c88807e0e06f6817a72"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::quote_interval </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$txt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a677f850211975c9ab89602c67e2dcad9"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dba_postgres::unescapebin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a7267f91c3f87f600b30d7560de62dfd7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const dba_postgres::INSTALL_SCRIPT ='<a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">install</a>/schema_postgres.sql'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aeb404a85974d6c5df30c21650888000b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const dba_postgres::NULL_DATE = '0001-01-01 00:00:00'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ace80a204e34b20b9907650399cce02a3"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const dba_postgres::UTC_NOW = &quot;now() at time zone 'UTC'&quot;</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/dba/<a class="el" href="dba__postgres_8php.html">dba_postgres.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/classdba__postgres.js b/doc/html/classdba__postgres.js
new file mode 100644
index 000000000..64f18d9d9
--- /dev/null
+++ b/doc/html/classdba__postgres.js
@@ -0,0 +1,17 @@
+var classdba__postgres =
+[
+ [ "close", "classdba__postgres.html#a731d8648b41b8a126f6b99bdd5414058", null ],
+ [ "concat", "classdba__postgres.html#a7ea3f24ad260c1e21588f8b5af595caa", null ],
+ [ "connect", "classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e", null ],
+ [ "escape", "classdba__postgres.html#a7108eaaae7cc2fb236212041afc9ac0f", null ],
+ [ "escape_identifier", "classdba__postgres.html#ab2e44e9f41d05e585afd873d18e8c127", null ],
+ [ "escapebin", "classdba__postgres.html#a8d2c6d8c92fe6f074452876483dd17fc", null ],
+ [ "getdriver", "classdba__postgres.html#ae0f834413e57cf0735ae7b64b2f71e68", null ],
+ [ "optimize_table", "classdba__postgres.html#a3de1ac375e98886dfc38fd0066e88f90", null ],
+ [ "q", "classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a", null ],
+ [ "quote_interval", "classdba__postgres.html#a56f926f218155c88807e0e06f6817a72", null ],
+ [ "unescapebin", "classdba__postgres.html#a677f850211975c9ab89602c67e2dcad9", null ],
+ [ "INSTALL_SCRIPT", "classdba__postgres.html#a7267f91c3f87f600b30d7560de62dfd7", null ],
+ [ "NULL_DATE", "classdba__postgres.html#aeb404a85974d6c5df30c21650888000b", null ],
+ [ "UTC_NOW", "classdba__postgres.html#ace80a204e34b20b9907650399cce02a3", null ]
+]; \ No newline at end of file
diff --git a/doc/html/classdba__postgres.png b/doc/html/classdba__postgres.png
new file mode 100644
index 000000000..b57f604c4
--- /dev/null
+++ b/doc/html/classdba__postgres.png
Binary files differ
diff --git a/doc/html/classes.html b/doc/html/classes.html
index 97e7852d8..62aa19187 100644
--- a/doc/html/classes.html
+++ b/doc/html/classes.html
@@ -122,18 +122,18 @@ $(document).ready(function(){initNavTree('classes.html','');});
</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;R&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classdba__mysqli.html">dba_mysqli</a>&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="classBaseObject.html">BaseObject</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classItem.html">Item</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html">RedBasicAuth</a> (<a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedMatrix\RedDAV</a>)&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="classBaseObject.html">BaseObject</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classdba__postgres.html">dba_postgres</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">Import</a> (<a class="el" href="namespaceRedMatrix_1_1Import.html">RedMatrix\Import</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html">RedBasicAuth</a> (<a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedMatrix\RedDAV</a>)&#160;&#160;&#160;</td><td></td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="interfaceITemplateEngine.html">ITemplateEngine</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedBrowser</a> (<a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedMatrix\RedDAV</a>)&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="classenotify.html">enotify</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
-</td><td valign="top"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html">RedDirectory</a> (<a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedMatrix\RedDAV</a>)&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="classCache.html">Cache</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;E&#160;&#160;</div></td></tr></table>
+</td><td valign="top"><a class="el" href="classItem.html">Item</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html">RedBrowser</a> (<a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedMatrix\RedDAV</a>)&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="interfaceITemplateEngine.html">ITemplateEngine</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html">RedDirectory</a> (<a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedMatrix\RedDAV</a>)&#160;&#160;&#160;</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="classCache.html">Cache</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classenotify.html">enotify</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html">RedFile</a> (<a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedMatrix\RedDAV</a>)&#160;&#160;&#160;</td><td></td></tr>
-<tr><td valign="top"><a class="el" href="classConversation.html">Conversation</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classphoto__driver.html">photo_driver</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
+<tr><td valign="top"><a class="el" href="classConversation.html">Conversation</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
-<tr><td></td><td valign="top"><a class="el" href="classFKOAuth1.html">FKOAuth1</a>&#160;&#160;&#160;</td><td></td><td></td></tr>
-<tr><td></td><td></td><td></td><td valign="top"><a class="el" href="classTemplate.html">Template</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td></td><td valign="top"><a class="el" href="classphoto__driver.html">photo_driver</a>&#160;&#160;&#160;</td><td></td></tr>
+<tr><td></td><td valign="top"><a class="el" href="classFKOAuth1.html">FKOAuth1</a>&#160;&#160;&#160;</td><td></td><td valign="top"><a class="el" href="classTemplate.html">Template</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_Z">Z</a></div>
diff --git a/doc/html/classphoto__driver.html b/doc/html/classphoto__driver.html
index 8a8ed59ff..f6c922574 100644
--- a/doc/html/classphoto__driver.html
+++ b/doc/html/classphoto__driver.html
@@ -142,7 +142,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a2f2b6337cf9aa0688d10b422123f0eec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b2a99021fc63ed6465d703ddddcb832"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832">flip</a> ($horiz=true, $vert=false)</td></tr>
<tr class="separator:a2b2a99021fc63ed6465d703ddddcb832"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e6e61f1e356a90bc978f4404a77137e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="memitem:a2e6e61f1e356a90bc978f4404a77137e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">cropImage</a> ($max, $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>, $y, $w, $h)</td></tr>
<tr class="separator:a2e6e61f1e356a90bc978f4404a77137e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc9f73ad90923772d52b9fcc4eb117dd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd">imageString</a> ()</td></tr>
<tr class="separator:abc9f73ad90923772d52b9fcc4eb117dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
diff --git a/doc/html/classphoto__gd.html b/doc/html/classphoto__gd.html
index f6d76b31c..53d819bfb 100644
--- a/doc/html/classphoto__gd.html
+++ b/doc/html/classphoto__gd.html
@@ -140,7 +140,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a77f87730b11093b76980c541159df37d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44cedef376044018702d9355ddc813ce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a44cedef376044018702d9355ddc813ce">flip</a> ($horiz=true, $vert=false)</td></tr>
<tr class="separator:a44cedef376044018702d9355ddc813ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab2232d775c8bacf66773a03308105f0c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="memitem:ab2232d775c8bacf66773a03308105f0c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">cropImage</a> ($max, $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>, $y, $w, $h)</td></tr>
<tr class="separator:ab2232d775c8bacf66773a03308105f0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0795fc029be382557ae3f6e285f40e00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">imageString</a> ()</td></tr>
<tr class="separator:a0795fc029be382557ae3f6e285f40e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -161,7 +161,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a2f2b6337cf9aa0688d10b422123f0eec inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b2a99021fc63ed6465d703ddddcb832 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832">flip</a> ($horiz=true, $vert=false)</td></tr>
<tr class="separator:a2b2a99021fc63ed6465d703ddddcb832 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e6e61f1e356a90bc978f4404a77137e inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="memitem:a2e6e61f1e356a90bc978f4404a77137e inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">cropImage</a> ($max, $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>, $y, $w, $h)</td></tr>
<tr class="separator:a2e6e61f1e356a90bc978f4404a77137e inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc9f73ad90923772d52b9fcc4eb117dd inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd">imageString</a> ()</td></tr>
<tr class="separator:abc9f73ad90923772d52b9fcc4eb117dd inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
diff --git a/doc/html/classphoto__imagick.html b/doc/html/classphoto__imagick.html
index 8b6f1c630..bc6554cd0 100644
--- a/doc/html/classphoto__imagick.html
+++ b/doc/html/classphoto__imagick.html
@@ -142,7 +142,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a9df5738a4a18e76dd304c440e96f045f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff6bcdbab18593a3fc5a480db8509393"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393">flip</a> ($horiz=true, $vert=false)</td></tr>
<tr class="separator:aff6bcdbab18593a3fc5a480db8509393"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2f33a03a89497a2b2768e29736d4a8a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="memitem:a2f33a03a89497a2b2768e29736d4a8a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">cropImage</a> ($max, $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>, $y, $w, $h)</td></tr>
<tr class="separator:a2f33a03a89497a2b2768e29736d4a8a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70adbef31128c0ac8cbc5dcf34cdb019"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019">imageString</a> ()</td></tr>
<tr class="separator:a70adbef31128c0ac8cbc5dcf34cdb019"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -163,7 +163,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a2f2b6337cf9aa0688d10b422123f0eec inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b2a99021fc63ed6465d703ddddcb832 inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832">flip</a> ($horiz=true, $vert=false)</td></tr>
<tr class="separator:a2b2a99021fc63ed6465d703ddddcb832 inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2e6e61f1e356a90bc978f4404a77137e inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">cropImage</a> ($max, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $y, $w, $h)</td></tr>
+<tr class="memitem:a2e6e61f1e356a90bc978f4404a77137e inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">cropImage</a> ($max, $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>, $y, $w, $h)</td></tr>
<tr class="separator:a2e6e61f1e356a90bc978f4404a77137e inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc9f73ad90923772d52b9fcc4eb117dd inherit pub_methods_classphoto__driver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd">imageString</a> ()</td></tr>
<tr class="separator:abc9f73ad90923772d52b9fcc4eb117dd inherit pub_methods_classphoto__driver"><td class="memSeparator" colspan="2">&#160;</td></tr>
diff --git a/doc/html/cloud_8php.html b/doc/html/cloud_8php.html
index 22722d5da..c8a127ea6 100644
--- a/doc/html/cloud_8php.html
+++ b/doc/html/cloud_8php.html
@@ -110,19 +110,19 @@ $(document).ready(function(){initNavTree('cloud_8php.html','');});
</div><!--header-->
<div class="contents">
-<p>Initialize <a class="el" href="namespaceRedMatrix.html">RedMatrix</a>'s cloud (SabreDAV).
+<p>Initialize <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>'s cloud (SabreDAV).
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:ad2e96e917852f27dedfc263d37e13756"><td class="memItemLeft" align="right" valign="top"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a>(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SERVER, <br class="typebreak"/>
-'REDIRECT_REMOTE_USER')) <a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a>(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SERVER, <br class="typebreak"/>
+<tr class="memitem:ad2e96e917852f27dedfc263d37e13756"><td class="memItemLeft" align="right" valign="top"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a>(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($_SERVER, <br class="typebreak"/>
+'REDIRECT_REMOTE_USER')) <a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a>(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($_SERVER, <br class="typebreak"/>
'HTTP_AUTHORIZATION'))&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init</a> (&amp;$a)</td></tr>
<tr class="memdesc:ad2e96e917852f27dedfc263d37e13756"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fires up the SabreDAV server. <a href="#ad2e96e917852f27dedfc263d37e13756">More...</a><br/></td></tr>
<tr class="separator:ad2e96e917852f27dedfc263d37e13756"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Initialize <a class="el" href="namespaceRedMatrix.html">RedMatrix</a>'s cloud (SabreDAV). </p>
+<div class="textblock"><p>Initialize <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>'s cloud (SabreDAV). </p>
<p>Module for accessing the DAV storage area. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ad2e96e917852f27dedfc263d37e13756"></a>
@@ -130,7 +130,7 @@ Functions</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SERVER, 'REDIRECT_REMOTE_USER')) <a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($_SERVER, 'HTTP_AUTHORIZATION')) cloud_init </td>
+ <td class="memname"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($_SERVER, 'REDIRECT_REMOTE_USER')) <a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($_SERVER, 'HTTP_AUTHORIZATION')) cloud_init </td>
<td>(</td>
<td class="paramtype">&amp;&#160;</td>
<td class="paramname"><em>$a</em></td><td>)</td>
@@ -142,7 +142,7 @@ Functions</h2></td></tr>
<p>Fires up the SabreDAV server. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">&amp;$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">&amp;$a</td><td></td></tr>
</table>
</dd>
</dl>
diff --git a/doc/html/conversation_8php.html b/doc/html/conversation_8php.html
index 06f71ecfe..350d2463d 100644
--- a/doc/html/conversation_8php.html
+++ b/doc/html/conversation_8php.html
@@ -133,7 +133,7 @@ Functions</h2></td></tr>
<tr class="separator:afe5b2f38d8b803edb0d7ec5fa2868db0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d8e30cc94f9a175054c021305d3aca3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like</a> ($cnt, $arr, $type, $id)</td></tr>
<tr class="separator:a3d8e30cc94f9a175054c021305d3aca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2a7d541854bba755eb8ada59af7dcb1a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a">status_editor</a> ($a, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>, $popup=false)</td></tr>
+<tr class="memitem:a2a7d541854bba755eb8ada59af7dcb1a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a">status_editor</a> ($a, $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>, $popup=false)</td></tr>
<tr class="separator:a2a7d541854bba755eb8ada59af7dcb1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f6ef0dfa554bacf620e84c18d386e67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a7f6ef0dfa554bacf620e84c18d386e67">get_item_children</a> ($arr, $parent)</td></tr>
<tr class="separator:a7f6ef0dfa554bacf620e84c18d386e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -149,7 +149,7 @@ Functions</h2></td></tr>
<tr class="separator:a9cc2a679606da9e535a06433f9f553a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f909b8885259b79c6ac8da93afd8f11"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a9f909b8885259b79c6ac8da93afd8f11">sort_thr_commented</a> ($a, $b)</td></tr>
<tr class="separator:a9f909b8885259b79c6ac8da93afd8f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae59703b07ce2ddf627b4172ff26058b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6">find_thread_parent_index</a> ($arr, $<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:ae59703b07ce2ddf627b4172ff26058b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#ae59703b07ce2ddf627b4172ff26058b6">find_thread_parent_index</a> ($arr, $<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:ae59703b07ce2ddf627b4172ff26058b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0891aaa4492cba2b51eda12fe01957f3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3">format_location</a> ($item)</td></tr>
<tr class="separator:a0891aaa4492cba2b51eda12fe01957f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -231,7 +231,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
@@ -288,7 +288,7 @@ Functions</h2></td></tr>
<li>conversation view The $mode parameter decides between the various renderings and also figures out how to determine page owner and other contextual items that are based on unique features of the calling module. </li>
</ul>
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classItem.html#aa452b5bcd8dea12119b09212c615cb41">Item\remove_parent()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, and <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">Item\set_conversation()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classItem.html#aa452b5bcd8dea12119b09212c615cb41">Item\remove_parent()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, and <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">Item\set_conversation()</a>.</p>
</div>
</div>
@@ -587,7 +587,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, and <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>.</p>
+<p>Referenced by <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, and <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>.</p>
</div>
</div>
@@ -783,7 +783,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">Item\__construct()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="conversation_8php.html#ab2383dff4f823e580399ff469d90ab19">count_descendants()</a>, and <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
+<p>Referenced by <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">Item\__construct()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="conversation_8php.html#ab2383dff4f823e580399ff469d90ab19">count_descendants()</a>, <a class="el" href="classItem.html#ae0c48b2fed5558642549cabd547fc4f3">Item\count_unseen_descendants()</a>, and <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>.</p>
</div>
</div>
diff --git a/doc/html/crypto_8php.html b/doc/html/crypto_8php.html
index e5ed0d591..c860813bb 100644
--- a/doc/html/crypto_8php.html
+++ b/doc/html/crypto_8php.html
@@ -316,7 +316,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, and <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>.</p>
+<p>Referenced by <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet()</a>, and <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>.</p>
</div>
</div>
@@ -344,7 +344,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
</div>
</div>
@@ -738,7 +738,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, and <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet()</a>, and <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>.</p>
</div>
</div>
diff --git a/doc/html/datetime_8php.html b/doc/html/datetime_8php.html
index 1f6eb1430..26ce4f177 100644
--- a/doc/html/datetime_8php.html
+++ b/doc/html/datetime_8php.html
@@ -114,10 +114,8 @@ $(document).ready(function(){initNavTree('datetime_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:aa51b5a7ea4f931b23acbdfcea46e9865"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">timezone_cmp</a> ($a, $b)</td></tr>
<tr class="separator:aa51b5a7ea4f931b23acbdfcea46e9865"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a633dadba426fa2f60b25fabdb19ebc1f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">select_timezone</a> ($current= 'America/Los_Angeles')</td></tr>
-<tr class="separator:a633dadba426fa2f60b25fabdb19ebc1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a03900dcf0f9e3c58793a031673a70326"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">field_timezone</a> ($name='timezone', $label='', $current= 'America/Los_Angeles', $help)</td></tr>
-<tr class="separator:a03900dcf0f9e3c58793a031673a70326"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afbb34604d0f6e7d2103da4f42e2487b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#afbb34604d0f6e7d2103da4f42e2487b1">get_timezones</a> ()</td></tr>
+<tr class="separator:afbb34604d0f6e7d2103da4f42e2487b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6301e74b0f9267d52f8d432b5beb226"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime_convert</a> ($from= 'UTC', $to= 'UTC', $s= 'now', $fmt=&quot;Y-m-d H:i:s&quot;)</td></tr>
<tr class="separator:ad6301e74b0f9267d52f8d432b5beb226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f2897db32e745fe2f3e70a6b46578f8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob</a> ($dob)</td></tr>
@@ -174,7 +172,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
@@ -271,8 +269,6 @@ Functions</h2></td></tr>
</dd>
</dl>
-<p>Referenced by <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob()</a>.</p>
-
</div>
</div>
<a class="anchor" id="ad6301e74b0f9267d52f8d432b5beb226"></a>
@@ -311,7 +307,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df">age()</a>, <a class="el" href="include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5">api_account_rate_limit_status()</a>, <a class="el" href="include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25">api_date()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="items_8php.html#abeb7886cde44d9a83dbaf2bc4ab18723">comments_are_now_closed()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a900abf51398b2ef26cd2cd31c52f1b0f">diaspora_profile()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">ev_compare()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="datetime_8php.html#aba971b67f17fecf050813f1eba72367f">get_first_dim()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ac47016aa0e3f6f1a1c4570bd6fd8cf25">RedMatrix\RedDAV\RedFile\getLastModified()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5">RedMatrix\RedDAV\RedDirectory\getLastModified()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="items_8php.html#aa2d3caa2f27720762b5c729e07df40fb">list_post_dates()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="datetime_8php.html#ab55e545b72ec8c097e052ea7d373491f">z_birthday()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df">age()</a>, <a class="el" href="include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5">api_account_rate_limit_status()</a>, <a class="el" href="include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25">api_date()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="items_8php.html#abeb7886cde44d9a83dbaf2bc4ab18723">comments_are_now_closed()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a900abf51398b2ef26cd2cd31c52f1b0f">diaspora_profile()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">ev_compare()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="event_8php.html#a3ff7f1824540a38f4a3991a59a9542d4">format_event_ical()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="datetime_8php.html#aba971b67f17fecf050813f1eba72367f">get_first_dim()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ac47016aa0e3f6f1a1c4570bd6fd8cf25">RedMatrix\RedDAV\RedFile\getLastModified()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5">RedMatrix\RedDAV\RedDirectory\getLastModified()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00">list_post_dates()</a>, <a class="el" href="auth_8php.html#ae3ecb5f34f202c7f9a61c5d589f6c6e1">log_failed_login()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a">dba_postgres\q()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="datetime_8php.html#ab55e545b72ec8c097e052ea7d373491f">z_birthday()</a>, <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -418,33 +414,21 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a03900dcf0f9e3c58793a031673a70326"></a>
+<a class="anchor" id="a7df24d72ea05922d3127363e2295174c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">field_timezone </td>
+ <td class="memname">get_dim </td>
<td>(</td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$name</em> = <code>'timezone'</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>$label</em> = <code>''</code>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>$current</em> = <code>'America/Los_Angeles'</code>, </td>
+ <td class="paramname"><em>$y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$help</em>&#160;</td>
+ <td class="paramname"><em>$m</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -454,16 +438,16 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>.</p>
+<p>Referenced by <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00">list_post_dates()</a>, and <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>.</p>
</div>
</div>
-<a class="anchor" id="a7df24d72ea05922d3127363e2295174c"></a>
+<a class="anchor" id="aba971b67f17fecf050813f1eba72367f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">get_dim </td>
+ <td class="memname">get_first_dim </td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>$y</em>, </td>
@@ -482,35 +466,24 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="items_8php.html#aa2d3caa2f27720762b5c729e07df40fb">list_post_dates()</a>, and <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>.</p>
+<p>Referenced by <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>.</p>
</div>
</div>
-<a class="anchor" id="aba971b67f17fecf050813f1eba72367f"></a>
+<a class="anchor" id="afbb34604d0f6e7d2103da4f42e2487b1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">get_first_dim </td>
+ <td class="memname">get_timezones </td>
<td>(</td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>$y</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
+ <td class="paramname"></td><td>)</td>
<td></td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>$m</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>.</p>
+<p>Referenced by <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>.</p>
</div>
</div>
@@ -538,25 +511,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a633dadba426fa2f60b25fabdb19ebc1f"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">select_timezone </td>
- <td>(</td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>$current</em> = <code>'America/Los_Angeles'</code></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-
-<p>Referenced by <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">field_timezone()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="boot_8php.html#aa561f801e962b67a5c4d0548ea95fd17">get_poller_runtime()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, and <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>.</p>
</div>
</div>
@@ -595,7 +550,7 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<p>returns a date selector </p>
+<p>returns a time selector </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">$format</td><td>format string, e.g. 'ymd' or 'mdy'. Not currently supported </td></tr>
diff --git a/doc/html/datetime_8php.js b/doc/html/datetime_8php.js
index 7fdf58cfd..bca9ee938 100644
--- a/doc/html/datetime_8php.js
+++ b/doc/html/datetime_8php.js
@@ -6,11 +6,10 @@ var datetime_8php =
[ "datetime_convert", "datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226", null ],
[ "datetimesel", "datetime_8php.html#a72218e5ee21876484934bacbb6bd9ba3", null ],
[ "dob", "datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8", null ],
- [ "field_timezone", "datetime_8php.html#a03900dcf0f9e3c58793a031673a70326", null ],
[ "get_dim", "datetime_8php.html#a7df24d72ea05922d3127363e2295174c", null ],
[ "get_first_dim", "datetime_8php.html#aba971b67f17fecf050813f1eba72367f", null ],
+ [ "get_timezones", "datetime_8php.html#afbb34604d0f6e7d2103da4f42e2487b1", null ],
[ "relative_date", "datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82", null ],
- [ "select_timezone", "datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f", null ],
[ "timesel", "datetime_8php.html#a3f239f94e23335d860b148958d87a093", null ],
[ "timezone_cmp", "datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865", null ],
[ "update_birthdays", "datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826", null ],
diff --git a/doc/html/dba__driver_8php.html b/doc/html/dba__driver_8php.html
index 35a50094e..dcfa2ffac 100644
--- a/doc/html/dba__driver_8php.html
+++ b/doc/html/dba__driver_8php.html
@@ -110,33 +110,162 @@ $(document).ready(function(){initNavTree('dba__driver_8php.html','');});
<div class="title">dba_driver.php File Reference</div> </div>
</div><!--header-->
<div class="contents">
+
+<p>some database related functions and abstract driver class.
+<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__driver.html">dba_driver</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">abstract database driver class. <a href="classdba__driver.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:ac10e60f6e5b95bcf67bd82cb88f37947"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947">dba_factory</a> ($server, $port, $user, $pass, $db, $install=false)</td></tr>
-<tr class="separator:ac10e60f6e5b95bcf67bd82cb88f37947"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5df8499634c47b30191f34069d7b98c0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a5df8499634c47b30191f34069d7b98c0">dba_factory</a> ($server, $port, $user, $pass, $db, $dbtype, $install=false)</td></tr>
+<tr class="memdesc:a5df8499634c47b30191f34069d7b98c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the database driver object. <a href="#a5df8499634c47b30191f34069d7b98c0">More...</a><br/></td></tr>
+<tr class="separator:a5df8499634c47b30191f34069d7b98c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55bf30d8176967e682656b5be4ad9249"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable</a> ($s)</td></tr>
<tr class="separator:a55bf30d8176967e682656b5be4ad9249"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6607893d8f60ade9122bcfbd1a53ffb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb">dbg</a> ($state)</td></tr>
+<tr class="memdesc:aa6607893d8f60ade9122bcfbd1a53ffb"><td class="mdescLeft">&#160;</td><td class="mdescRight">set database driver debugging state. <a href="#aa6607893d8f60ade9122bcfbd1a53ffb">More...</a><br/></td></tr>
<tr class="separator:aa6607893d8f60ade9122bcfbd1a53ffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab222aa1dbf9ea93b320f82028739127e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e">dbesc</a> ($str)</td></tr>
+<tr class="memdesc:ab222aa1dbf9ea93b320f82028739127e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Escape strings being passed to DB queries. <a href="#ab222aa1dbf9ea93b320f82028739127e">More...</a><br/></td></tr>
<tr class="separator:ab222aa1dbf9ea93b320f82028739127e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a38996670c2936b5769270c49c57593"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a2a38996670c2936b5769270c49c57593">dbescbin</a> ($str)</td></tr>
+<tr class="separator:a2a38996670c2936b5769270c49c57593"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaaa1a7eff9c1b65b3b8c464ae37640e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#afaaa1a7eff9c1b65b3b8c464ae37640e">dbunescbin</a> ($str)</td></tr>
+<tr class="separator:afaaa1a7eff9c1b65b3b8c464ae37640e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c8a72ec73f39b17a167c90737693f78"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a2c8a72ec73f39b17a167c90737693f78">dbescdate</a> ($date)</td></tr>
+<tr class="separator:a2c8a72ec73f39b17a167c90737693f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acec84a8fb75d78daf657cbe5df74e25a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#acec84a8fb75d78daf657cbe5df74e25a">db_quoteinterval</a> ($txt)</td></tr>
+<tr class="separator:acec84a8fb75d78daf657cbe5df74e25a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa051799567690a124a3b865bf902f58a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#aa051799567690a124a3b865bf902f58a">dbesc_identifier</a> ($str)</td></tr>
+<tr class="separator:aa051799567690a124a3b865bf902f58a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30e9a643be804e905f5614a3279d2645"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a30e9a643be804e905f5614a3279d2645">db_utcnow</a> ()</td></tr>
+<tr class="separator:a30e9a643be804e905f5614a3279d2645"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75098bf1d59ea57f7ebae657a369137e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a75098bf1d59ea57f7ebae657a369137e">db_optimizetable</a> ($table)</td></tr>
+<tr class="separator:a75098bf1d59ea57f7ebae657a369137e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c1b98a710ead27382c958ad3216c4ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a7c1b98a710ead27382c958ad3216c4ee">db_concat</a> ($fld, $sep)</td></tr>
+<tr class="separator:a7c1b98a710ead27382c958ad3216c4ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c09a731d3b4fef41fed0e83db01be1f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f">q</a> ($sql)</td></tr>
+<tr class="memdesc:a2c09a731d3b4fef41fed0e83db01be1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute a SQL query with printf style args. <a href="#a2c09a731d3b4fef41fed0e83db01be1f">More...</a><br/></td></tr>
<tr class="separator:a2c09a731d3b4fef41fed0e83db01be1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa377074e70981e8c4e82ca0accd068ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee">dbq</a> ($sql)</td></tr>
+<tr class="memdesc:aa377074e70981e8c4e82ca0accd068ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raw DB query, no arguments. <a href="#aa377074e70981e8c4e82ca0accd068ee">More...</a><br/></td></tr>
<tr class="separator:aa377074e70981e8c4e82ca0accd068ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af531546fac5f0836a8557a4f6dfee930"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930">dbesc_array_cb</a> (&amp;$item, $key)</td></tr>
<tr class="separator:af531546fac5f0836a8557a4f6dfee930"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65b83462bd26968106aebd43f16540e4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4">dbesc_array</a> (&amp;$arr)</td></tr>
<tr class="separator:a65b83462bd26968106aebd43f16540e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2994daa03b1c23229a27e39bcab75e67"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html#a2994daa03b1c23229a27e39bcab75e67">db_getfunc</a> ($f)</td></tr>
+<tr class="separator:a2994daa03b1c23229a27e39bcab75e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="ac10e60f6e5b95bcf67bd82cb88f37947"></a>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>some database related functions and abstract driver class. </p>
+<p>This file contains the abstract database driver class <a class="el" href="classdba__driver.html" title="abstract database driver class.">dba_driver</a> and some functions for working with databases. </p>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a7c1b98a710ead27382c958ad3216c4ee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">db_concat </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$fld</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$sep</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, and <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2994daa03b1c23229a27e39bcab75e67"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">db_getfunc </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$f</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, and <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widget_random_block()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a75098bf1d59ea57f7ebae657a369137e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">db_optimizetable </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$table</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acec84a8fb75d78daf657cbe5df74e25a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">db_quoteinterval </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$txt</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, and <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a30e9a643be804e905f5614a3279d2645"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">db_utcnow </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, and <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5df8499634c47b30191f34069d7b98c0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -174,6 +303,12 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$dbtype</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
<td class="paramname"><em>$install</em> = <code>false</code>&#160;</td>
</tr>
<tr>
@@ -184,6 +319,22 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Returns the database driver object. </p>
+<p>If available it will use PHP's mysqli otherwise mysql driver.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$server</td><td>DB server name </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$port</td><td>DB port </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$user</td><td>DB username </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$pass</td><td>DB password </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$db</td><td>database name </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$dbtype</td><td>0 for mysql, 1 for postgres </td></tr>
+ <tr><td class="paramtype">bool</td><td class="paramname">$install</td><td>Defaults to false </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>null|dba_driver A database driver object (dba_mysql|dba_mysqli) or null if no driver found. </dd></dl>
+
<p>Referenced by <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, and <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>.</p>
</div>
@@ -202,7 +353,17 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a81565acf729e629e588d823308448e3c">add_source_route()</a>, <a class="el" href="admin_8php.html#a278289bc6d45f6f2a272a7ab6a1d1057">admin_page_profs_post()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="include_2apps_8php.html#a6b472df85ed875e7ae75642cece5206f">app_destroy()</a>, <a class="el" href="include_2apps_8php.html#a1adcd1aff4d36ad0277daca9f3d2bbe2">app_installed()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083">bb2diaspora_itemwallwall()</a>, <a class="el" href="bb2diaspora_8php.html#a5258d2f1addeb0a2a6b54c4f9e7d0f34">bb2dmention_callback()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="include_2chat_8php.html#a1ee1360f7d2549c7549ae07cb5190f0f">chatroom_leave()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930">dbesc_array_cb()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#ab99505944728d46585b8312989de533d">diaspora_dispatch_public()</a>, <a class="el" href="diaspora_8php.html#aa8e551a53fcce34be3942d0c3e20d1f4">diaspora_get_contact_by_handle()</a>, <a class="el" href="diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff">diaspora_handle_from_contact()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="bb2diaspora_8php.html#a4a27604f0745f1efda672966aaca9a3b">diaspora_mention_callback()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#a938c7ee808d38725c0988fa6006805b9">diaspora_retraction()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="dirsearch_8php.html#a52bcac49b0e35cc8c6b70066143c2ee2">dir_query_build()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b">find_diaspora_person_by_handle()</a>, <a class="el" href="include_2attach_8php.html#a4dbfd7e1cef52aa9ef52f4b88929fa86">find_filename_by_hash()</a>, <a class="el" href="include_2attach_8php.html#a052f14487ff2ce72f62a09fac8d7e997">find_folder_hash_by_attach_hash()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad4bc0516533c62733f38043a37267d78">RedMatrix\RedDAV\RedBrowser\findAttachHash()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a0733e38e254474d9a456825e72f1ddfd">RedMatrix\RedDAV\RedBrowser\findAttachIdByHash()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache\get()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8">RedMatrix\RedDAV\RedFile\get()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ac73b3e13778c564c877554517a7f51ba">get_channel_by_nick()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5">RedMatrix\RedDAV\RedDirectory\getLastModified()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc">import_author_diaspora()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="hubloc_8php.html#aebd244b4616ded022cbbee5e82926951">is_matrix_url()</a>, <a class="el" href="items_8php.html#a02ca33c31ed535d24894f8a9a91ce9df">item_add_cid()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a5ed782ff5b9cf050bec931e06de12c00">item_remove_cid()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52">load_xconfig()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore\lookup_nonce()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="auth_8php.html#a69fa663e6baf65f80d1b114ad72615f2">match_openid()</a>, <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">member_of()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a32701c4245e78ba9106eef52c08bf33d">menu_list()</a>, <a class="el" href="include_2menu_8php.html#a251bf7e15d21627fd92614198e41c485">menu_list_count()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">oauth_get_client()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos_album_exists()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos_album_rename()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="plugin_8php.html#a855c4fdb38c0fc2714d537752a4347f9">plugin_is_installed()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poll_8php.html#a26be9d4f230cb68f5be326198cfc6c77">poll_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">private_messages_drop()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">ref_session_destroy()</a>, <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>, <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">register_hook()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="identity_8php.html#a47d6f53216f23a3484061793bef29854">remote_online_status()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">unregister_hook()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a905c3895feb6f276df23f07f16f9bb52">xchan_query()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Escape strings being passed to DB queries. </p>
+<p>Always escape strings being used in DB queries. This function returns the escaped string. Integer DB parameters should all be proven integers by wrapping with intval().</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$str</td><td>A string to pass to a DB query </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Return an escaped string of the value to pass to a DB query. </dd></dl>
+
+<p>Referenced by <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a81565acf729e629e588d823308448e3c">add_source_route()</a>, <a class="el" href="admin_8php.html#a278289bc6d45f6f2a272a7ab6a1d1057">admin_page_profs_post()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="include_2apps_8php.html#a6b472df85ed875e7ae75642cece5206f">app_destroy()</a>, <a class="el" href="include_2apps_8php.html#a1adcd1aff4d36ad0277daca9f3d2bbe2">app_installed()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083">bb2diaspora_itemwallwall()</a>, <a class="el" href="bb2diaspora_8php.html#a5258d2f1addeb0a2a6b54c4f9e7d0f34">bb2dmention_callback()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="include_2chat_8php.html#a1ee1360f7d2549c7549ae07cb5190f0f">chatroom_leave()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#ab99505944728d46585b8312989de533d">diaspora_dispatch_public()</a>, <a class="el" href="diaspora_8php.html#aa8e551a53fcce34be3942d0c3e20d1f4">diaspora_get_contact_by_handle()</a>, <a class="el" href="diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff">diaspora_handle_from_contact()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="bb2diaspora_8php.html#a4a27604f0745f1efda672966aaca9a3b">diaspora_mention_callback()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#a938c7ee808d38725c0988fa6006805b9">diaspora_retraction()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="dirsearch_8php.html#ab6d5fefa98da249a994b910434a669c2">dir_flag_build()</a>, <a class="el" href="dirsearch_8php.html#a52bcac49b0e35cc8c6b70066143c2ee2">dir_query_build()</a>, <a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory_init()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b">find_diaspora_person_by_handle()</a>, <a class="el" href="include_2attach_8php.html#a4dbfd7e1cef52aa9ef52f4b88929fa86">find_filename_by_hash()</a>, <a class="el" href="include_2attach_8php.html#a052f14487ff2ce72f62a09fac8d7e997">find_folder_hash_by_attach_hash()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad4bc0516533c62733f38043a37267d78">RedMatrix\RedDAV\RedBrowser\findAttachHash()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a0733e38e254474d9a456825e72f1ddfd">RedMatrix\RedDAV\RedBrowser\findAttachIdByHash()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache\get()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8">RedMatrix\RedDAV\RedFile\get()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ac73b3e13778c564c877554517a7f51ba">get_channel_by_nick()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5">RedMatrix\RedDAV\RedDirectory\getLastModified()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc">import_author_diaspora()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="hubloc_8php.html#aebd244b4616ded022cbbee5e82926951">is_matrix_url()</a>, <a class="el" href="items_8php.html#a02ca33c31ed535d24894f8a9a91ce9df">item_add_cid()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a5ed782ff5b9cf050bec931e06de12c00">item_remove_cid()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52">load_xconfig()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore\lookup_nonce()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="auth_8php.html#a69fa663e6baf65f80d1b114ad72615f2">match_openid()</a>, <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">member_of()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a32701c4245e78ba9106eef52c08bf33d">menu_list()</a>, <a class="el" href="include_2menu_8php.html#a251bf7e15d21627fd92614198e41c485">menu_list_count()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">oauth_get_client()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos_album_exists()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos_album_rename()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="plugin_8php.html#a855c4fdb38c0fc2714d537752a4347f9">plugin_is_installed()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poll_8php.html#a26be9d4f230cb68f5be326198cfc6c77">poll_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">private_messages_drop()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">ref_session_destroy()</a>, <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="refimport_8php.html#a6c3e0475fde9fe72ff2492a5e3e5259c">reflect_get_channel()</a>, <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">register_hook()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="identity_8php.html#a47d6f53216f23a3484061793bef29854">remote_online_status()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">unregister_hook()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widget_random_block()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a905c3895feb6f276df23f07f16f9bb52">xchan_query()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -250,6 +411,58 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="aa051799567690a124a3b865bf902f58a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dbesc_identifier </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a2a38996670c2936b5769270c49c57593"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dbescbin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, and <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2c8a72ec73f39b17a167c90737693f78"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dbescdate </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$date</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, and <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="aa6607893d8f60ade9122bcfbd1a53ffb"></a>
<div class="memitem">
<div class="memproto">
@@ -264,6 +477,16 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>set database driver debugging state. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">int</td><td class="paramname">$state</td><td>0 to disable debugging </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>.</p>
+
</div>
</div>
<a class="anchor" id="aa377074e70981e8c4e82ca0accd068ee"></a>
@@ -279,12 +502,38 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<p>Raw db query, no arguments </p>
+
+<p>Raw DB query, no arguments. </p>
+<p>This function executes a raw DB query without any arguments.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$sql</td><td>The SQL query to execute </td></tr>
+ </table>
+ </dd>
+</dl>
<p>Referenced by <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, and <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>.</p>
</div>
</div>
+<a class="anchor" id="afaaa1a7eff9c1b65b3b8c464ae37640e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dbunescbin </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, and <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a55bf30d8176967e682656b5be4ad9249"></a>
<div class="memitem">
<div class="memproto">
@@ -299,7 +548,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, and <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>.</p>
+<p>Referenced by <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, and <a class="el" href="classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a">dba_postgres\q()</a>.</p>
</div>
</div>
@@ -316,9 +565,19 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<p>This will happen occasionally trying to store the session data after abnormal program termination</p>
-<p>Referenced by <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">abook_connections()</a>, <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">abook_self()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89">account_service_class_fetch()</a>, <a class="el" href="account_8php.html#a43e3042b2723d76915a030bac3c668b6">account_total()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a81565acf729e629e588d823308448e3c">add_source_route()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a278289bc6d45f6f2a272a7ab6a1d1057">admin_page_profs_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">all_friends()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#ad5fe62d6c25c86999f627b2e6cfde536">api_group()</a>, <a class="el" href="include_2api_8php.html#ae46f964e5a9c80b96dc78df61c09ed3a">api_group_members()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="include_2apps_8php.html#a6b472df85ed875e7ae75642cece5206f">app_destroy()</a>, <a class="el" href="include_2apps_8php.html#a1adcd1aff4d36ad0277daca9f3d2bbe2">app_installed()</a>, <a class="el" href="include_2apps_8php.html#a01cabfb33b2d0d843cf3bf4e3d3f0ab0">app_list()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083">bb2diaspora_itemwallwall()</a>, <a class="el" href="bb2diaspora_8php.html#a5258d2f1addeb0a2a6b54c4f9e7d0f34">bb2dmention_callback()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman_remove_everything_from_network()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="identity_8php.html#a77d2237f1846964634b1c99089c27c7d">channel_total()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="include_2chat_8php.html#a1ee1360f7d2549c7549ae07cb5190f0f">chatroom_leave()</a>, <a class="el" href="include_2chat_8php.html#aedcb532a0627b8644001a2fadab4e87a">chatroom_list()</a>, <a class="el" href="include_2chat_8php.html#a26abdccc2a278a59899896dbbfc6f049">chatroom_list_count()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="items_8php.html#a772f0ae77ad77c8ab68ed918a3870946">collect_recipients()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">common_friends_zcid()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75">contact_profile_assign()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">count_all_friends()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">count_common_friends_zcid()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory\createDirectory()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#ab99505944728d46585b8312989de533d">diaspora_dispatch_public()</a>, <a class="el" href="diaspora_8php.html#aa8e551a53fcce34be3942d0c3e20d1f4">diaspora_get_contact_by_handle()</a>, <a class="el" href="diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff">diaspora_handle_from_contact()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="bb2diaspora_8php.html#a4a27604f0745f1efda672966aaca9a3b">diaspora_mention_callback()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#a938c7ee808d38725c0988fa6006805b9">diaspora_retraction()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dir_parse_query()</a>, <a class="el" href="taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332">dir_tagadelic()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b">find_diaspora_person_by_handle()</a>, <a class="el" href="include_2attach_8php.html#a4dbfd7e1cef52aa9ef52f4b88929fa86">find_filename_by_hash()</a>, <a class="el" href="include_2attach_8php.html#a052f14487ff2ce72f62a09fac8d7e997">find_folder_hash_by_attach_hash()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad4bc0516533c62733f38043a37267d78">RedMatrix\RedDAV\RedBrowser\findAttachHash()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a0733e38e254474d9a456825e72f1ddfd">RedMatrix\RedDAV\RedBrowser\findAttachIdByHash()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache\get()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8">RedMatrix\RedDAV\RedFile\get()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ac73b3e13778c564c877554517a7f51ba">get_channel_by_nick()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51">get_sys_channel()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6">get_words()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5">RedMatrix\RedDAV\RedDirectory\getLastModified()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db443ed3c84938b4352fe515bf8d68">RedMatrix\RedDAV\RedDirectory\getQuotaInfo()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc">import_author_diaspora()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="hubloc_8php.html#aebd244b4616ded022cbbee5e82926951">is_matrix_url()</a>, <a class="el" href="identity_8php.html#aa4bd4abfcba883f43919e89ec6419025">is_sys_channel()</a>, <a class="el" href="items_8php.html#a02ca33c31ed535d24894f8a9a91ce9df">item_add_cid()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a5ed782ff5b9cf050bec931e06de12c00">item_remove_cid()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b">load_pconfig()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">load_translation_table()</a>, <a class="el" href="include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52">load_xconfig()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore\lookup_nonce()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="auth_8php.html#a69fa663e6baf65f80d1b114ad72615f2">match_openid()</a>, <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">member_of()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu_del_item()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7">menu_fetch_id()</a>, <a class="el" href="include_2menu_8php.html#a32701c4245e78ba9106eef52c08bf33d">menu_list()</a>, <a class="el" href="include_2menu_8php.html#a251bf7e15d21627fd92614198e41c485">menu_list_count()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="identity_8php.html#a2e6a1cc35887937823ec7fbb90472afe">notifications_off()</a>, <a class="el" href="identity_8php.html#a5650319c799de09d1b6d1076b6f839a4">notifications_on()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">oauth_get_client()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos_album_exists()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos_album_rename()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="plugin_8php.html#a855c4fdb38c0fc2714d537752a4347f9">plugin_is_installed()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="poll_8php.html#a26be9d4f230cb68f5be326198cfc6c77">poll_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">private_messages_drop()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">ref_session_destroy()</a>, <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">register_hook()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="identity_8php.html#a47d6f53216f23a3484061793bef29854">remote_online_status()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="items_8php.html#af6237605c60d69abdd959ddbbee3420c">retain_item()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="identity_8php.html#a78151baf4407a8482d2681a91a9c486b">set_default_login_identity()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">unregister_hook()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="statistics__fns_8php.html#a05858927cce81fd367aedf85a94ed90c">update_channels_total_stat()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="statistics__fns_8php.html#a9dd516dda693f17f5ce48a94876f7efa">update_local_posts_stat()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote_init()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea">xchan_fetch()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a905c3895feb6f276df23f07f16f9bb52">xchan_query()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Execute a SQL query with printf style args. </p>
+<p>printf style arguments s and d are replaced with variable arguments, which should each be appropriately <a class="el" href="dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e" title="Escape strings being passed to DB queries.">dbesc()</a> or intval(). SELECT queries return an array of results or false if SQL or DB error. Other queries return true if the command was successful or false if it wasn't.</p>
+<p>Example: $r = q("SELECT * FROM &lt;tt&gt;%s&lt;/tt&gt; WHERE &lt;tt&gt;uid&lt;/tt&gt; = %d", 'user', 1);</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$sql</td><td>The SQL query to execute </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool|array </dd></dl>
+
+<p>Referenced by <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">abook_connections()</a>, <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">abook_self()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89">account_service_class_fetch()</a>, <a class="el" href="account_8php.html#a43e3042b2723d76915a030bac3c668b6">account_total()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a81565acf729e629e588d823308448e3c">add_source_route()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a278289bc6d45f6f2a272a7ab6a1d1057">admin_page_profs_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">all_friends()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#ad5fe62d6c25c86999f627b2e6cfde536">api_group()</a>, <a class="el" href="include_2api_8php.html#ae46f964e5a9c80b96dc78df61c09ed3a">api_group_members()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="include_2apps_8php.html#a6b472df85ed875e7ae75642cece5206f">app_destroy()</a>, <a class="el" href="include_2apps_8php.html#a1adcd1aff4d36ad0277daca9f3d2bbe2">app_installed()</a>, <a class="el" href="include_2apps_8php.html#a01cabfb33b2d0d843cf3bf4e3d3f0ab0">app_list()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083">bb2diaspora_itemwallwall()</a>, <a class="el" href="bb2diaspora_8php.html#a5258d2f1addeb0a2a6b54c4f9e7d0f34">bb2dmention_callback()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4">catblock()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="identity_8php.html#a77d2237f1846964634b1c99089c27c7d">channel_total()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="include_2chat_8php.html#a1ee1360f7d2549c7549ae07cb5190f0f">chatroom_leave()</a>, <a class="el" href="include_2chat_8php.html#aedcb532a0627b8644001a2fadab4e87a">chatroom_list()</a>, <a class="el" href="include_2chat_8php.html#a26abdccc2a278a59899896dbbfc6f049">chatroom_list_count()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classCache.html#ab14d0f4bdf7116a94d545c574b38f568">Cache\clear()</a>, <a class="el" href="items_8php.html#a772f0ae77ad77c8ab68ed918a3870946">collect_recipients()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">common_friends_zcid()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75">contact_profile_assign()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">count_all_friends()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">count_common_friends_zcid()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory\createDirectory()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#ab99505944728d46585b8312989de533d">diaspora_dispatch_public()</a>, <a class="el" href="diaspora_8php.html#aa8e551a53fcce34be3942d0c3e20d1f4">diaspora_get_contact_by_handle()</a>, <a class="el" href="diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff">diaspora_handle_from_contact()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="bb2diaspora_8php.html#a4a27604f0745f1efda672966aaca9a3b">diaspora_mention_callback()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#a938c7ee808d38725c0988fa6006805b9">diaspora_retraction()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dir_parse_query()</a>, <a class="el" href="taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332">dir_tagadelic()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory_init()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b">find_diaspora_person_by_handle()</a>, <a class="el" href="include_2attach_8php.html#a4dbfd7e1cef52aa9ef52f4b88929fa86">find_filename_by_hash()</a>, <a class="el" href="include_2attach_8php.html#a052f14487ff2ce72f62a09fac8d7e997">find_folder_hash_by_attach_hash()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad4bc0516533c62733f38043a37267d78">RedMatrix\RedDAV\RedBrowser\findAttachHash()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a0733e38e254474d9a456825e72f1ddfd">RedMatrix\RedDAV\RedBrowser\findAttachIdByHash()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache\get()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8">RedMatrix\RedDAV\RedFile\get()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ac73b3e13778c564c877554517a7f51ba">get_channel_by_nick()</a>, <a class="el" href="identity_8php.html#a293f416ce9050220b183e08ff5890216">get_channel_default_perms()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74">get_config_from_storage()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51">get_sys_channel()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6">get_words()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5">RedMatrix\RedDAV\RedDirectory\getLastModified()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db443ed3c84938b4352fe515bf8d68">RedMatrix\RedDAV\RedDirectory\getQuotaInfo()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc">import_author_diaspora()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="hubloc_8php.html#aebd244b4616ded022cbbee5e82926951">is_matrix_url()</a>, <a class="el" href="identity_8php.html#aa4bd4abfcba883f43919e89ec6419025">is_sys_channel()</a>, <a class="el" href="items_8php.html#a02ca33c31ed535d24894f8a9a91ce9df">item_add_cid()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a5ed782ff5b9cf050bec931e06de12c00">item_remove_cid()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b">load_pconfig()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">load_translation_table()</a>, <a class="el" href="include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52">load_xconfig()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore\lookup_nonce()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="auth_8php.html#a69fa663e6baf65f80d1b114ad72615f2">match_openid()</a>, <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">member_of()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu_del_item()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7">menu_fetch_id()</a>, <a class="el" href="include_2menu_8php.html#a32701c4245e78ba9106eef52c08bf33d">menu_list()</a>, <a class="el" href="include_2menu_8php.html#a251bf7e15d21627fd92614198e41c485">menu_list_count()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="session_8php.html#a4c0ead624f95483e386bc80abf570a8f">new_cookie()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="identity_8php.html#a2e6a1cc35887937823ec7fbb90472afe">notifications_off()</a>, <a class="el" href="identity_8php.html#a5650319c799de09d1b6d1076b6f839a4">notifications_on()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">oauth_get_client()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos_album_exists()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab">photos_album_rename()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="plugin_8php.html#a855c4fdb38c0fc2714d537752a4347f9">plugin_is_installed()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="poll_8php.html#a26be9d4f230cb68f5be326198cfc6c77">poll_post()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">private_messages_drop()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052">ref_session_destroy()</a>, <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="refimport_8php.html#a6c3e0475fde9fe72ff2492a5e3e5259c">reflect_get_channel()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">register_hook()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="identity_8php.html#a47d6f53216f23a3484061793bef29854">remote_online_status()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="items_8php.html#af6237605c60d69abdd959ddbbee3420c">retain_item()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="identity_8php.html#a78151baf4407a8482d2681a91a9c486b">set_default_login_identity()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c">suggest_init()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">unregister_hook()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="statistics__fns_8php.html#a05858927cce81fd367aedf85a94ed90c">update_channels_total_stat()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="statistics__fns_8php.html#a9dd516dda693f17f5ce48a94876f7efa">update_local_posts_stat()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote_init()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widget_random_block()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287">wtagblock()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea">xchan_fetch()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a905c3895feb6f276df23f07f16f9bb52">xchan_query()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
diff --git a/doc/html/dba__driver_8php.js b/doc/html/dba__driver_8php.js
index 425133552..cfe110f61 100644
--- a/doc/html/dba__driver_8php.js
+++ b/doc/html/dba__driver_8php.js
@@ -1,12 +1,21 @@
var dba__driver_8php =
[
[ "dba_driver", "classdba__driver.html", "classdba__driver" ],
- [ "dba_factory", "dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947", null ],
+ [ "db_concat", "dba__driver_8php.html#a7c1b98a710ead27382c958ad3216c4ee", null ],
+ [ "db_getfunc", "dba__driver_8php.html#a2994daa03b1c23229a27e39bcab75e67", null ],
+ [ "db_optimizetable", "dba__driver_8php.html#a75098bf1d59ea57f7ebae657a369137e", null ],
+ [ "db_quoteinterval", "dba__driver_8php.html#acec84a8fb75d78daf657cbe5df74e25a", null ],
+ [ "db_utcnow", "dba__driver_8php.html#a30e9a643be804e905f5614a3279d2645", null ],
+ [ "dba_factory", "dba__driver_8php.html#a5df8499634c47b30191f34069d7b98c0", null ],
[ "dbesc", "dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e", null ],
[ "dbesc_array", "dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4", null ],
[ "dbesc_array_cb", "dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930", null ],
+ [ "dbesc_identifier", "dba__driver_8php.html#aa051799567690a124a3b865bf902f58a", null ],
+ [ "dbescbin", "dba__driver_8php.html#a2a38996670c2936b5769270c49c57593", null ],
+ [ "dbescdate", "dba__driver_8php.html#a2c8a72ec73f39b17a167c90737693f78", null ],
[ "dbg", "dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb", null ],
[ "dbq", "dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee", null ],
+ [ "dbunescbin", "dba__driver_8php.html#afaaa1a7eff9c1b65b3b8c464ae37640e", null ],
[ "printable", "dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249", null ],
[ "q", "dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f", null ]
]; \ No newline at end of file
diff --git a/doc/html/dba__postgres_8php.html b/doc/html/dba__postgres_8php.html
new file mode 100644
index 000000000..de5f03278
--- /dev/null
+++ b/doc/html/dba__postgres_8php.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: include/dba/dba_postgres.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dba__postgres_8php.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">dba_postgres.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdba__postgres.html">dba_postgres</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.html b/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.html
index 51284f865..ac82b3a1d 100644
--- a/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.html
+++ b/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.html
@@ -105,11 +105,14 @@ $(document).ready(function(){initNavTree('dir_21bc5169ff11430004758be31dcfc6c4.h
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:dba__driver_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__driver_8php.html">dba_driver.php</a></td></tr>
+<tr class="memdesc:dba__driver_8php"><td class="mdescLeft">&#160;</td><td class="mdescRight">some database related functions and abstract driver class. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dba__mysql_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__mysql_8php.html">dba_mysql.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dba__mysqli_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__mysqli_8php.html">dba_mysqli.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dba__postgres_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dba__postgres_8php.html">dba_postgres.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.js b/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.js
index 7b0143847..1c1549310 100644
--- a/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.js
+++ b/doc/html/dir_21bc5169ff11430004758be31dcfc6c4.js
@@ -6,5 +6,8 @@ var dir_21bc5169ff11430004758be31dcfc6c4 =
] ],
[ "dba_mysqli.php", "dba__mysqli_8php.html", [
[ "dba_mysqli", "classdba__mysqli.html", "classdba__mysqli" ]
+ ] ],
+ [ "dba_postgres.php", "dba__postgres_8php.html", [
+ [ "dba_postgres", "classdba__postgres.html", "classdba__postgres" ]
] ]
]; \ No newline at end of file
diff --git a/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.html b/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.html
index 44036cc73..a67f14997 100644
--- a/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.html
+++ b/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.html
@@ -106,8 +106,6 @@ $(document).ready(function(){initNavTree('dir_23ec12649285f9fabf3a6b7380226c28.h
Directories</h2></td></tr>
<tr class="memitem:dir_0eaa4a0adae8ba4811e133c6e594aeee"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_0eaa4a0adae8ba4811e133c6e594aeee.html">fpostit</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:dir_720432dea4a717197ae070dbc42b8f20"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_720432dea4a717197ae070dbc42b8f20.html">wp</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
diff --git a/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.js b/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.js
index e59a2a7c4..1ea37ec69 100644
--- a/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.js
+++ b/doc/html/dir_23ec12649285f9fabf3a6b7380226c28.js
@@ -1,7 +1,6 @@
var dir_23ec12649285f9fabf3a6b7380226c28 =
[
[ "fpostit", "dir_0eaa4a0adae8ba4811e133c6e594aeee.html", "dir_0eaa4a0adae8ba4811e133c6e594aeee" ],
- [ "wp", "dir_720432dea4a717197ae070dbc42b8f20.html", "dir_720432dea4a717197ae070dbc42b8f20" ],
[ "db_update.php", "db__update_8php.html", null ],
[ "docblox_errorchecker.php", "docblox__errorchecker_8php.html", "docblox__errorchecker_8php" ],
[ "extract.php", "extract_8php.html", "extract_8php" ],
diff --git a/doc/html/dir_7edbbd0f8c514efef79942dcdc21f738.html b/doc/html/dir_7edbbd0f8c514efef79942dcdc21f738.html
new file mode 100644
index 000000000..d477e48a8
--- /dev/null
+++ b/doc/html/dir_7edbbd0f8c514efef79942dcdc21f738.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: include/Import Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_7edbbd0f8c514efef79942dcdc21f738.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Import Directory Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:Importer_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Importer_8php.html">Importer.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:refimport_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html">refimport.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/dir_7edbbd0f8c514efef79942dcdc21f738.js b/doc/html/dir_7edbbd0f8c514efef79942dcdc21f738.js
new file mode 100644
index 000000000..70fef9c82
--- /dev/null
+++ b/doc/html/dir_7edbbd0f8c514efef79942dcdc21f738.js
@@ -0,0 +1,7 @@
+var dir_7edbbd0f8c514efef79942dcdc21f738 =
+[
+ [ "Importer.php", "Importer_8php.html", [
+ [ "Import", "classRedMatrix_1_1Import_1_1Import.html", "classRedMatrix_1_1Import_1_1Import" ]
+ ] ],
+ [ "refimport.php", "refimport_8php.html", "refimport_8php" ]
+]; \ No newline at end of file
diff --git a/doc/html/dir_8543001e5d25368a6edede3e63efb554.html b/doc/html/dir_8543001e5d25368a6edede3e63efb554.html
index 3b9d184f6..da6696cd0 100644
--- a/doc/html/dir_8543001e5d25368a6edede3e63efb554.html
+++ b/doc/html/dir_8543001e5d25368a6edede3e63efb554.html
@@ -106,8 +106,6 @@ $(document).ready(function(){initNavTree('dir_8543001e5d25368a6edede3e63efb554.h
Directories</h2></td></tr>
<tr class="memitem:dir_d520c5cf583201d9437764f209363c22"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_d520c5cf583201d9437764f209363c22.html">apw</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:dir_922c77e958c99a98db92d38a3a349bf2"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_922c77e958c99a98db92d38a3a349bf2.html">blogga</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dir_6e52a2a2cd27c08b7df5e5cdb216bd77"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_6e52a2a2cd27c08b7df5e5cdb216bd77.html">hivenet</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dir_8e58ba5e98ac07e59ee15ca7486c9950"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_8e58ba5e98ac07e59ee15ca7486c9950.html">mytheme</a></td></tr>
diff --git a/doc/html/dir_8543001e5d25368a6edede3e63efb554.js b/doc/html/dir_8543001e5d25368a6edede3e63efb554.js
index 63c07db40..8851cf93a 100644
--- a/doc/html/dir_8543001e5d25368a6edede3e63efb554.js
+++ b/doc/html/dir_8543001e5d25368a6edede3e63efb554.js
@@ -1,7 +1,6 @@
var dir_8543001e5d25368a6edede3e63efb554 =
[
[ "apw", "dir_d520c5cf583201d9437764f209363c22.html", "dir_d520c5cf583201d9437764f209363c22" ],
- [ "blogga", "dir_922c77e958c99a98db92d38a3a349bf2.html", "dir_922c77e958c99a98db92d38a3a349bf2" ],
[ "hivenet", "dir_6e52a2a2cd27c08b7df5e5cdb216bd77.html", "dir_6e52a2a2cd27c08b7df5e5cdb216bd77" ],
[ "mytheme", "dir_8e58ba5e98ac07e59ee15ca7486c9950.html", "dir_8e58ba5e98ac07e59ee15ca7486c9950" ],
[ "redbasic", "dir_55dbaf9b7b53c4fc605c9011743a7353.html", "dir_55dbaf9b7b53c4fc605c9011743a7353" ],
diff --git a/doc/html/dir__fns_8php.html b/doc/html/dir__fns_8php.html
index b0da4b911..5e83185aa 100644
--- a/doc/html/dir__fns_8php.html
+++ b/doc/html/dir__fns_8php.html
@@ -195,7 +195,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<p>No directory has yet been set. For most sites, pick one at random from our list of directory servers. However, if we're a directory server ourself, point at the local instance We will then set this value so this should only ever happen once. Ideally there will be an admin setting to change to a different directory server if you don't like our choice or if circumstances change.</p>
-<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, and <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, and <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>.</p>
</div>
</div>
diff --git a/doc/html/dir_d41ce877eb409a4791b288730010abe2.html b/doc/html/dir_d41ce877eb409a4791b288730010abe2.html
index dfbb42fb9..eebd1d1dc 100644
--- a/doc/html/dir_d41ce877eb409a4791b288730010abe2.html
+++ b/doc/html/dir_d41ce877eb409a4791b288730010abe2.html
@@ -135,7 +135,7 @@ Files</h2></td></tr>
<tr class="memitem:chatsvc_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="chatsvc_8php.html">chatsvc.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:cloud_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cloud_8php.html">cloud.php</a></td></tr>
-<tr class="memdesc:cloud_8php"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize <a class="el" href="namespaceRedMatrix.html">RedMatrix</a>'s cloud (SabreDAV). <br/></td></tr>
+<tr class="memdesc:cloud_8php"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>'s cloud (SabreDAV). <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:common_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="common_8php.html">common.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -151,8 +151,6 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:mod_2directory_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mod_2directory_8php.html">directory.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:dirprofile_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirprofile_8php.html">dirprofile.php</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dirsearch_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirsearch_8php.html">dirsearch.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:display_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="display_8php.html">display.php</a></td></tr>
@@ -359,6 +357,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:update__display_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__display_8php.html">update_display.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:update__home_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__home_8php.html">update_home.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:update__network_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__network_8php.html">update_network.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:update__search_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__search_8php.html">update_search.php</a></td></tr>
diff --git a/doc/html/dir_d41ce877eb409a4791b288730010abe2.js b/doc/html/dir_d41ce877eb409a4791b288730010abe2.js
index 6364aede9..df75ab37a 100644
--- a/doc/html/dir_d41ce877eb409a4791b288730010abe2.js
+++ b/doc/html/dir_d41ce877eb409a4791b288730010abe2.js
@@ -23,7 +23,6 @@ var dir_d41ce877eb409a4791b288730010abe2 =
[ "contactgroup.php", "contactgroup_8php.html", "contactgroup_8php" ],
[ "delegate.php", "delegate_8php.html", "delegate_8php" ],
[ "directory.php", "mod_2directory_8php.html", "mod_2directory_8php" ],
- [ "dirprofile.php", "dirprofile_8php.html", "dirprofile_8php" ],
[ "dirsearch.php", "dirsearch_8php.html", "dirsearch_8php" ],
[ "display.php", "display_8php.html", "display_8php" ],
[ "editblock.php", "editblock_8php.html", "editblock_8php" ],
@@ -127,6 +126,7 @@ var dir_d41ce877eb409a4791b288730010abe2 =
[ "uexport.php", "uexport_8php.html", "uexport_8php" ],
[ "update_channel.php", "update__channel_8php.html", "update__channel_8php" ],
[ "update_display.php", "update__display_8php.html", "update__display_8php" ],
+ [ "update_home.php", "update__home_8php.html", "update__home_8php" ],
[ "update_network.php", "update__network_8php.html", "update__network_8php" ],
[ "update_search.php", "update__search_8php.html", "update__search_8php" ],
[ "view.php", "view_8php.html", "view_8php" ],
diff --git a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html
index 2376fcc5b..538c6c7a9 100644
--- a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html
+++ b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -106,6 +106,8 @@ $(document).ready(function(){initNavTree('dir_d44c64559bbebec7f509842c48db8b23.h
Directories</h2></td></tr>
<tr class="memitem:dir_21bc5169ff11430004758be31dcfc6c4"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_21bc5169ff11430004758be31dcfc6c4.html">dba</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_7edbbd0f8c514efef79942dcdc21f738"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_7edbbd0f8c514efef79942dcdc21f738.html">Import</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dir_aae29906d7bfc07d076125f669c8352e"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_aae29906d7bfc07d076125f669c8352e.html">photo</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:dir_e7f045be8bb383d8447c6a6b84145083"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_e7f045be8bb383d8447c6a6b84145083.html">RedDAV</a></td></tr>
@@ -139,8 +141,6 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:cache_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cache_8php.html">cache.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:chanman_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="chanman_8php.html">chanman.php</a></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:include_2chat_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2chat_8php.html">chat.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:cli__startup_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cli__startup_8php.html">cli_startup.php</a></td></tr>
@@ -188,6 +188,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:features_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="features_8php.html">features.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:fixd_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fixd_8php.html">fixd.php</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:include_2follow_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2follow_8php.html">follow.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gprobe_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="gprobe_8php.html">gprobe.php</a></td></tr>
@@ -253,7 +255,7 @@ Files</h2></td></tr>
<tr class="memitem:queue__fn_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="queue__fn_8php.html">queue_fn.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:reddav_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="reddav_8php.html">reddav.php</a></td></tr>
-<tr class="memdesc:reddav_8php"><td class="mdescLeft">&#160;</td><td class="mdescRight">some DAV related functions for <a class="el" href="namespaceRedMatrix.html">RedMatrix</a>. <br/></td></tr>
+<tr class="memdesc:reddav_8php"><td class="mdescLeft">&#160;</td><td class="mdescRight">some DAV related functions for <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:security_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html">security.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -276,6 +278,7 @@ Files</h2></td></tr>
<tr class="memitem:text_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html">text.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:widgets_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html">widgets.php</a></td></tr>
+<tr class="memdesc:widgets_8php"><td class="mdescLeft">&#160;</td><td class="mdescRight">This file contains the widgets. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:zot_8php"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html">zot.php</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
diff --git a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js
index f142dff64..30877f15e 100644
--- a/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js
+++ b/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js
@@ -1,6 +1,7 @@
var dir_d44c64559bbebec7f509842c48db8b23 =
[
[ "dba", "dir_21bc5169ff11430004758be31dcfc6c4.html", "dir_21bc5169ff11430004758be31dcfc6c4" ],
+ [ "Import", "dir_7edbbd0f8c514efef79942dcdc21f738.html", "dir_7edbbd0f8c514efef79942dcdc21f738" ],
[ "photo", "dir_aae29906d7bfc07d076125f669c8352e.html", "dir_aae29906d7bfc07d076125f669c8352e" ],
[ "RedDAV", "dir_e7f045be8bb383d8447c6a6b84145083.html", "dir_e7f045be8bb383d8447c6a6b84145083" ],
[ "account.php", "account_8php.html", "account_8php" ],
@@ -19,7 +20,6 @@ var dir_d44c64559bbebec7f509842c48db8b23 =
[ "cache.php", "cache_8php.html", [
[ "Cache", "classCache.html", null ]
] ],
- [ "chanman.php", "chanman_8php.html", "chanman_8php" ],
[ "chat.php", "include_2chat_8php.html", "include_2chat_8php" ],
[ "cli_startup.php", "cli__startup_8php.html", "cli__startup_8php" ],
[ "cli_suggest.php", "cli__suggest_8php.html", "cli__suggest_8php" ],
@@ -45,6 +45,7 @@ var dir_d44c64559bbebec7f509842c48db8b23 =
[ "expire.php", "expire_8php.html", "expire_8php" ],
[ "externals.php", "externals_8php.html", "externals_8php" ],
[ "features.php", "features_8php.html", "features_8php" ],
+ [ "fixd.php", "fixd_8php.html", "fixd_8php" ],
[ "follow.php", "include_2follow_8php.html", "include_2follow_8php" ],
[ "gprobe.php", "gprobe_8php.html", "gprobe_8php" ],
[ "group.php", "include_2group_8php.html", "include_2group_8php" ],
diff --git a/doc/html/dirsearch_8php.html b/doc/html/dirsearch_8php.html
index 8727aa805..8ea9faed9 100644
--- a/doc/html/dirsearch_8php.html
+++ b/doc/html/dirsearch_8php.html
@@ -118,12 +118,54 @@ Functions</h2></td></tr>
<tr class="separator:aa1fb04e1de4f25b63349ac78f94ceb4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52bcac49b0e35cc8c6b70066143c2ee2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirsearch_8php.html#a52bcac49b0e35cc8c6b70066143c2ee2">dir_query_build</a> ($joiner, $field, $s)</td></tr>
<tr class="separator:a52bcac49b0e35cc8c6b70066143c2ee2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab6d5fefa98da249a994b910434a669c2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirsearch_8php.html#ab6d5fefa98da249a994b910434a669c2">dir_flag_build</a> ($joiner, $field, $bit, $s)</td></tr>
+<tr class="separator:ab6d5fefa98da249a994b910434a669c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d4cd9890d5ed23c3efc58e2a778a305"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dir_parse_query</a> ($s)</td></tr>
<tr class="separator:a7d4cd9890d5ed23c3efc58e2a778a305"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a985d410a170549429857af6ff2673149"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites</a> ()</td></tr>
<tr class="separator:a985d410a170549429857af6ff2673149"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ab6d5fefa98da249a994b910434a669c2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dir_flag_build </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$joiner</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$field</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$bit</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a7d4cd9890d5ed23c3efc58e2a778a305"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/dirsearch_8php.js b/doc/html/dirsearch_8php.js
index 325a941b9..635a97231 100644
--- a/doc/html/dirsearch_8php.js
+++ b/doc/html/dirsearch_8php.js
@@ -1,5 +1,6 @@
var dirsearch_8php =
[
+ [ "dir_flag_build", "dirsearch_8php.html#ab6d5fefa98da249a994b910434a669c2", null ],
[ "dir_parse_query", "dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305", null ],
[ "dir_query_build", "dirsearch_8php.html#a52bcac49b0e35cc8c6b70066143c2ee2", null ],
[ "dirsearch_content", "dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c", null ],
diff --git a/doc/html/docblox__errorchecker_8php.html b/doc/html/docblox__errorchecker_8php.html
index 1774283f6..f1ec0802f 100644
--- a/doc/html/docblox__errorchecker_8php.html
+++ b/doc/html/docblox__errorchecker_8php.html
@@ -253,7 +253,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">aes_unencapsulate()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">get_bb_tag_pos()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="text_8php.html#a1557112a774ec00fa06ed6b6f6495506">is_a_date_arg()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images()</a>, <a class="el" href="text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8">jindent()</a>, <a class="el" href="setup_8php.html#a2b375ddc555140236fc500135de99371">load_database_rem()</a>, <a class="el" href="html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7">node2bbcodesub()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
+<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">aes_unencapsulate()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">get_bb_tag_pos()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="text_8php.html#a1557112a774ec00fa06ed6b6f6495506">is_a_date_arg()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="conversation_8php.html#adda79b75bf1ccf6ce9503aa310953533">item_redir_and_replace_images()</a>, <a class="el" href="text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8">jindent()</a>, <a class="el" href="setup_8php.html#a2b375ddc555140236fc500135de99371">load_database_rem()</a>, <a class="el" href="html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7">node2bbcodesub()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f">smilies_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, and <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>.</p>
</div>
</div>
diff --git a/doc/html/editblock_8php.html b/doc/html/editblock_8php.html
index f33d0956e..019938416 100644
--- a/doc/html/editblock_8php.html
+++ b/doc/html/editblock_8php.html
@@ -112,6 +112,8 @@ $(document).ready(function(){initNavTree('editblock_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
+<tr class="memitem:ab7806bb42ae5e93f0330d7bd179d4b3e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e">editblock_init</a> (&amp;$a)</td></tr>
+<tr class="separator:ab7806bb42ae5e93f0330d7bd179d4b3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbe8f55de06967bc8d79d620509a49e6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content</a> (&amp;$a)</td></tr>
<tr class="separator:abbe8f55de06967bc8d79d620509a49e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -132,6 +134,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="ab7806bb42ae5e93f0330d7bd179d4b3e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">editblock_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/editblock_8php.js b/doc/html/editblock_8php.js
index dae23cf05..7acf62547 100644
--- a/doc/html/editblock_8php.js
+++ b/doc/html/editblock_8php.js
@@ -1,4 +1,5 @@
var editblock_8php =
[
- [ "editblock_content", "editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6", null ]
+ [ "editblock_content", "editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6", null ],
+ [ "editblock_init", "editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e", null ]
]; \ No newline at end of file
diff --git a/doc/html/editlayout_8php.html b/doc/html/editlayout_8php.html
index e59994c3e..ec62348c1 100644
--- a/doc/html/editlayout_8php.html
+++ b/doc/html/editlayout_8php.html
@@ -112,6 +112,8 @@ $(document).ready(function(){initNavTree('editlayout_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
+<tr class="memitem:a97c1e93d9e75ad8cd2c2f9a7f77341a7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7">editlayout_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a97c1e93d9e75ad8cd2c2f9a7f77341a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa877e4157a26b099de904164181dd386"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content</a> (&amp;$a)</td></tr>
<tr class="separator:aa877e4157a26b099de904164181dd386"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -132,6 +134,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a97c1e93d9e75ad8cd2c2f9a7f77341a7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">editlayout_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/editlayout_8php.js b/doc/html/editlayout_8php.js
index a41acddd1..0720ddc09 100644
--- a/doc/html/editlayout_8php.js
+++ b/doc/html/editlayout_8php.js
@@ -1,4 +1,5 @@
var editlayout_8php =
[
- [ "editlayout_content", "editlayout_8php.html#aa877e4157a26b099de904164181dd386", null ]
+ [ "editlayout_content", "editlayout_8php.html#aa877e4157a26b099de904164181dd386", null ],
+ [ "editlayout_init", "editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7", null ]
]; \ No newline at end of file
diff --git a/doc/html/editwebpage_8php.html b/doc/html/editwebpage_8php.html
index e8f689b67..8672a9779 100644
--- a/doc/html/editwebpage_8php.html
+++ b/doc/html/editwebpage_8php.html
@@ -112,6 +112,8 @@ $(document).ready(function(){initNavTree('editwebpage_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
+<tr class="memitem:a94109f9c796fbe92508bf9574e35d19f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f">editwebpage_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a94109f9c796fbe92508bf9574e35d19f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a375e945255fad79a71036528f7480650"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content</a> (&amp;$a)</td></tr>
<tr class="separator:a375e945255fad79a71036528f7480650"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -132,6 +134,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a94109f9c796fbe92508bf9574e35d19f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">editwebpage_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/editwebpage_8php.js b/doc/html/editwebpage_8php.js
index c9e825bb8..ccce7d0cd 100644
--- a/doc/html/editwebpage_8php.js
+++ b/doc/html/editwebpage_8php.js
@@ -1,4 +1,5 @@
var editwebpage_8php =
[
- [ "editwebpage_content", "editwebpage_8php.html#a375e945255fad79a71036528f7480650", null ]
+ [ "editwebpage_content", "editwebpage_8php.html#a375e945255fad79a71036528f7480650", null ],
+ [ "editwebpage_init", "editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f", null ]
]; \ No newline at end of file
diff --git a/doc/html/event_8php.html b/doc/html/event_8php.html
index a6368ee29..827491d8c 100644
--- a/doc/html/event_8php.html
+++ b/doc/html/event_8php.html
@@ -114,6 +114,12 @@ $(document).ready(function(){initNavTree('event_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a2ac9f1b08de03250ecd794f705781d17"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html</a> ($ev)</td></tr>
<tr class="separator:a2ac9f1b08de03250ecd794f705781d17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8cc2825013e724dc26229026711cf93"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#ab8cc2825013e724dc26229026711cf93">ical_wrapper</a> ($ev)</td></tr>
+<tr class="separator:ab8cc2825013e724dc26229026711cf93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ff7f1824540a38f4a3991a59a9542d4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#a3ff7f1824540a38f4a3991a59a9542d4">format_event_ical</a> ($ev)</td></tr>
+<tr class="separator:a3ff7f1824540a38f4a3991a59a9542d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05073cd4ab837bd4a0149e8ed23ce688"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#a05073cd4ab837bd4a0149e8ed23ce688">format_ical_text</a> ($s)</td></tr>
+<tr class="separator:a05073cd4ab837bd4a0149e8ed23ce688"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb74206cf42d694307c3d7abb7af9869"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#abb74206cf42d694307c3d7abb7af9869">format_event_bbcode</a> ($ev)</td></tr>
<tr class="separator:abb74206cf42d694307c3d7abb7af9869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a184d6b9690e5b6dee35a0aa9edd47279"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279">bbtovcal</a> ($s)</td></tr>
@@ -302,6 +308,60 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a3ff7f1824540a38f4a3991a59a9542d4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_event_ical </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$ev</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="event_8php.html#ab8cc2825013e724dc26229026711cf93">ical_wrapper()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a05073cd4ab837bd4a0149e8ed23ce688"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">format_ical_text </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$s</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="event_8php.html#a3ff7f1824540a38f4a3991a59a9542d4">format_event_ical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab8cc2825013e724dc26229026711cf93"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ical_wrapper </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$ev</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a018ea4484910a873a7c1eaa126de9b1a"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/event_8php.js b/doc/html/event_8php.js
index b748ecc51..f95c17696 100644
--- a/doc/html/event_8php.js
+++ b/doc/html/event_8php.js
@@ -8,5 +8,8 @@ var event_8php =
[ "event_store_item", "event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92", null ],
[ "format_event_bbcode", "event_8php.html#abb74206cf42d694307c3d7abb7af9869", null ],
[ "format_event_html", "event_8php.html#a2ac9f1b08de03250ecd794f705781d17", null ],
+ [ "format_event_ical", "event_8php.html#a3ff7f1824540a38f4a3991a59a9542d4", null ],
+ [ "format_ical_text", "event_8php.html#a05073cd4ab837bd4a0149e8ed23ce688", null ],
+ [ "ical_wrapper", "event_8php.html#ab8cc2825013e724dc26229026711cf93", null ],
[ "sort_by_date", "event_8php.html#a018ea4484910a873a7c1eaa126de9b1a", null ]
]; \ No newline at end of file
diff --git a/doc/html/extract_8php.html b/doc/html/extract_8php.html
index 7f383a243..422f1cf38 100644
--- a/doc/html/extract_8php.html
+++ b/doc/html/extract_8php.html
@@ -132,7 +132,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89">account_service_class_fetch()</a>, <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="items_8php.html#abf7a1b73eb352d79acd36309b0dababd">array_sanitise()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">check_account_password()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4">dbesc_array()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="text_8php.html#ace3c98538c63e09b70a363210b414112">find_xchan_in_array()</a>, <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1">get_terms_oftype()</a>, <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">App\get_widgets()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">ids_to_querystr()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="items_8php.html#a09d425596b9f8663472cf7474ad36d96">item_getfeedattach()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="comanche_8php.html#a3d11417d2d846dbe72638a556529ff8f">register_page_template()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">App\set_apps()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="event_8php.html#a018ea4484910a873a7c1eaa126de9b1a">sort_by_date()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="include_2apps_8php.html#a48289d5cc44b7638191738106ac5d030">translate_system_apps()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a9d60539db68042e63c0015abd69a6f7a">widget_clock()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20">widget_photo()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea">xchan_fetch()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a905c3895feb6f276df23f07f16f9bb52">xchan_query()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+<p>Referenced by <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89">account_service_class_fetch()</a>, <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="items_8php.html#abf7a1b73eb352d79acd36309b0dababd">array_sanitise()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">check_account_password()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="text_8php.html#ace3c98538c63e09b70a363210b414112">find_xchan_in_array()</a>, <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="text_8php.html#ae0333c304ec5b4b72e66bb2933fa7357">generate_map()</a>, <a class="el" href="text_8php.html#af5eb4a9c1599764f80c5bc71e0125d4b">generate_named_map()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1">get_terms_oftype()</a>, <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">App\get_widgets()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">ids_to_querystr()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="items_8php.html#a09d425596b9f8663472cf7474ad36d96">item_getfeedattach()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="comanche_8php.html#a3d11417d2d846dbe72638a556529ff8f">register_page_template()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classApp.html#abea5a4f77dcd53c928dc4eed86616637">App\set_apps()</a>, <a class="el" href="event_8php.html#a018ea4484910a873a7c1eaa126de9b1a">sort_by_date()</a>, <a class="el" href="text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13">stringify_array_elms()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="include_2apps_8php.html#a48289d5cc44b7638191738106ac5d030">translate_system_apps()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5">widget_catcloud_wall()</a>, <a class="el" href="widgets_8php.html#a9d60539db68042e63c0015abd69a6f7a">widget_clock()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20">widget_photo()</a>, <a class="el" href="widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380">widget_photo_rand()</a>, <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widget_random_block()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea">xchan_fetch()</a>, <a class="el" href="text_8php.html#a543447c5ed766535221e2d9636b379ee">xchan_mail_query()</a>, <a class="el" href="text_8php.html#a905c3895feb6f276df23f07f16f9bb52">xchan_query()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
@@ -146,7 +146,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="include_2apps_8php.html#ae64f72eb4f126e03b4eb65ed1702a3ca">get_system_apps()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, and <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="include_2apps_8php.html#ae64f72eb4f126e03b4eb65ed1702a3ca">get_system_apps()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, and <a class="el" href="Contact_8php.html#ab5895b75a3b2abdddf1cb351a8c6b58b">rrmdir()</a>.</p>
</div>
</div>
@@ -160,7 +160,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4">Template\_build_nodes()</a>, <a class="el" href="classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee">Template\_replcb_node()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="include_2apps_8php.html#ad5f6f1443725386cc7af5ed34a5fe185">app_decode()</a>, <a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">attribute_contains()</a>, <a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">base64url_decode()</a>, <a class="el" href="text_8php.html#a070384ec000fd65043fce11d5392d241">base64url_encode()</a>, <a class="el" href="bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba">bb_tag_preg_replace()</a>, <a class="el" href="text_8php.html#a3d2793d66db3345fd290b71e2eadf98e">bb_translate_video()</a>, <a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">bbtoevent()</a>, <a class="el" href="event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279">bbtovcal()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">chanlink_hash()</a>, <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">chanlink_url()</a>, <a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser()</a>, <a class="el" href="comanche_8php.html#a5718daeda40bf835345fe061e8808cdf">comanche_region()</a>, <a class="el" href="comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a">comanche_webpage()</a>, <a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime_convert()</a>, <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">day_translate()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="bb2diaspora_8php.html#ac9061ee10fcfcdac69566b649614e625">diaspora2bb()</a>, <a class="el" href="diaspora_8php.html#a858f70153c384f8778082cf7843a19da">diaspora_is_blacklisted()</a>, <a class="el" href="bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4">diaspora_ol()</a>, <a class="el" href="bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc">diaspora_ul()</a>, <a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dir_parse_query()</a>, <a class="el" href="dirsearch_8php.html#a52bcac49b0e35cc8c6b70066143c2ee2">dir_query_build()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">expand_acl()</a>, <a class="el" href="text_8php.html#a3ba47b4dd1248e7e51095572e7b814dc">extra_query_args()</a>, <a class="el" href="taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6">file_tag_decode()</a>, <a class="el" href="taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37">file_tag_encode()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28">fix_mce_lf()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59">format_hashtags()</a>, <a class="el" href="text_8php.html#ad8c6e13d6accf057136c5f30a23a5f08">format_mentions()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">get_bb_tag_pos()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="language_8php.html#a43e6ddba9df019c9ac3ab4c94c444ae7">get_language_name()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623">get_tags()</a>, <a class="el" href="text_8php.html#a138a3a611fa7f4f3630674145fc826bf">html2bb_video()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="text_8php.html#a1557112a774ec00fa06ed6b6f6495506">is_a_date_arg()</a>, <a class="el" href="identity_8php.html#ae2b140df652a55ca11bb6a99005fce35">is_foreigner()</a>, <a class="el" href="identity_8php.html#a9637c557e13d9671f3eeb124ab98212a">is_member()</a>, <a class="el" href="text_8php.html#a0271381208acfa2d4cff36da281e3e23">json_decode_plus()</a>, <a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">legal_webbie()</a>, <a class="el" href="text_8php.html#a11255c8c4e5245b6c24f97684826aa54">linkify()</a>, <a class="el" href="boot_8php.html#a50a6707a28c7d05d3f49eaabc7994501">load_pdl()</a>, <a class="el" href="text_8php.html#a1e510c53624933ce9b7d6715784894db">magic_link()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="text_8php.html#adba17ec946f4285285dc100f7860bf51">normalise_openid()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0">oembed_replacecb()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3">print_template()</a>, <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="text_8php.html#a4e7698aca48982512594b274543c3b9b">protect_sprintf()</a>, <a class="el" href="text_8php.html#a4841df5beabdd1bdd1ed56781a915d61">purify_html()</a>, <a class="el" href="text_8php.html#afc998d2796a6b2a08e96f7cc061e7221">qp()</a>, <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">random_string()</a>, <a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">Template\replace()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">FriendicaSmartyEngine\replace_macros()</a>, <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template\replace_macros()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9">sslify()</a>, <a class="el" href="spam_8php.html#a05861201147b9a538d006f0269255cf9">string_splitter()</a>, <a class="el" href="text_8php.html#a2f2585385530cb935a6325c809d84a4d">strip_zids()</a>, <a class="el" href="bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93">stripdcode_br_cb()</a>, <a class="el" href="language_8php.html#ac6ae482ee54fa2764d5c2e77305aeb96">t()</a>, <a class="el" href="template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5">template_escape()</a>, <a class="el" href="template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e">template_unescape()</a>, <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7">unamp()</a>, <a class="el" href="text_8php.html#a740ad03e00459039a2c0992246c4e727">undo_post_tagging()</a>, <a class="el" href="text_8php.html#a1360fed7f918d859daaca1c9f384f9af">unxmlify()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="classTemplate.html#abbc484016ddf5d818f55b823cae6feb0">Template\var_replace()</a>, <a class="el" href="include_2network_8php.html#a3e6c751a51de33ad3563f0938296e78a">webfinger_rfc7033()</a>, <a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>.</p>
+<p>Referenced by <a class="el" href="classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4">Template\_build_nodes()</a>, <a class="el" href="classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee">Template\_replcb_node()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="include_2apps_8php.html#ad5f6f1443725386cc7af5ed34a5fe185">app_decode()</a>, <a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">attribute_contains()</a>, <a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">base64url_decode()</a>, <a class="el" href="text_8php.html#a070384ec000fd65043fce11d5392d241">base64url_encode()</a>, <a class="el" href="bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba">bb_tag_preg_replace()</a>, <a class="el" href="text_8php.html#a3d2793d66db3345fd290b71e2eadf98e">bb_translate_video()</a>, <a class="el" href="event_8php.html#a180cccd63c2a2f00ff432b03113531f3">bbtoevent()</a>, <a class="el" href="event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279">bbtovcal()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0">chanlink_hash()</a>, <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">chanlink_url()</a>, <a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser()</a>, <a class="el" href="comanche_8php.html#a5718daeda40bf835345fe061e8808cdf">comanche_region()</a>, <a class="el" href="comanche_8php.html#ae9fe1ce574db3dd0931eada80234f82a">comanche_webpage()</a>, <a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime_convert()</a>, <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">day_translate()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="bb2diaspora_8php.html#ac9061ee10fcfcdac69566b649614e625">diaspora2bb()</a>, <a class="el" href="diaspora_8php.html#a858f70153c384f8778082cf7843a19da">diaspora_is_blacklisted()</a>, <a class="el" href="bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4">diaspora_ol()</a>, <a class="el" href="bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc">diaspora_ul()</a>, <a class="el" href="dirsearch_8php.html#ab6d5fefa98da249a994b910434a669c2">dir_flag_build()</a>, <a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dir_parse_query()</a>, <a class="el" href="dirsearch_8php.html#a52bcac49b0e35cc8c6b70066143c2ee2">dir_query_build()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">expand_acl()</a>, <a class="el" href="text_8php.html#a3ba47b4dd1248e7e51095572e7b814dc">extra_query_args()</a>, <a class="el" href="taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6">file_tag_decode()</a>, <a class="el" href="taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37">file_tag_encode()</a>, <a class="el" href="taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1">file_tag_file_query()</a>, <a class="el" href="text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28">fix_mce_lf()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59">format_hashtags()</a>, <a class="el" href="event_8php.html#a05073cd4ab837bd4a0149e8ed23ce688">format_ical_text()</a>, <a class="el" href="text_8php.html#ad8c6e13d6accf057136c5f30a23a5f08">format_mentions()</a>, <a class="el" href="taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1">format_term_for_display()</a>, <a class="el" href="bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2">get_bb_tag_pos()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="language_8php.html#a43e6ddba9df019c9ac3ab4c94c444ae7">get_language_name()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623">get_tags()</a>, <a class="el" href="text_8php.html#a138a3a611fa7f4f3630674145fc826bf">html2bb_video()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="text_8php.html#a1557112a774ec00fa06ed6b6f6495506">is_a_date_arg()</a>, <a class="el" href="identity_8php.html#ae2b140df652a55ca11bb6a99005fce35">is_foreigner()</a>, <a class="el" href="identity_8php.html#a9637c557e13d9671f3eeb124ab98212a">is_member()</a>, <a class="el" href="text_8php.html#a0271381208acfa2d4cff36da281e3e23">json_decode_plus()</a>, <a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">legal_webbie()</a>, <a class="el" href="text_8php.html#a11255c8c4e5245b6c24f97684826aa54">linkify()</a>, <a class="el" href="boot_8php.html#a50a6707a28c7d05d3f49eaabc7994501">load_pdl()</a>, <a class="el" href="text_8php.html#a1e510c53624933ce9b7d6715784894db">magic_link()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="text_8php.html#adba17ec946f4285285dc100f7860bf51">normalise_openid()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0">oembed_replacecb()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3">print_template()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="text_8php.html#a4e7698aca48982512594b274543c3b9b">protect_sprintf()</a>, <a class="el" href="text_8php.html#a4841df5beabdd1bdd1ed56781a915d61">purify_html()</a>, <a class="el" href="text_8php.html#afc998d2796a6b2a08e96f7cc061e7221">qp()</a>, <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">random_string()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">Template\replace()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">FriendicaSmartyEngine\replace_macros()</a>, <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template\replace_macros()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9">sslify()</a>, <a class="el" href="spam_8php.html#a05861201147b9a538d006f0269255cf9">string_splitter()</a>, <a class="el" href="text_8php.html#a2f2585385530cb935a6325c809d84a4d">strip_zids()</a>, <a class="el" href="bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93">stripdcode_br_cb()</a>, <a class="el" href="language_8php.html#ac6ae482ee54fa2764d5c2e77305aeb96">t()</a>, <a class="el" href="template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5">template_escape()</a>, <a class="el" href="template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e">template_unescape()</a>, <a class="el" href="taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c">term_query()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7">unamp()</a>, <a class="el" href="text_8php.html#a740ad03e00459039a2c0992246c4e727">undo_post_tagging()</a>, <a class="el" href="text_8php.html#a1360fed7f918d859daaca1c9f384f9af">unxmlify()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="classTemplate.html#abbc484016ddf5d818f55b823cae6feb0">Template\var_replace()</a>, <a class="el" href="include_2network_8php.html#a3e6c751a51de33ad3563f0938296e78a">webfinger_rfc7033()</a>, <a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>.</p>
</div>
</div>
diff --git a/doc/html/fbrowser_8php.html b/doc/html/fbrowser_8php.html
index 0ccc72963..a94a434cf 100644
--- a/doc/html/fbrowser_8php.html
+++ b/doc/html/fbrowser_8php.html
@@ -137,7 +137,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
</table>
</dd>
</dl>
diff --git a/doc/html/features_8php.html b/doc/html/features_8php.html
index a360fa2b9..7ec917b62 100644
--- a/doc/html/features_8php.html
+++ b/doc/html/features_8php.html
@@ -142,7 +142,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, and <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>.</p>
+<p>Referenced by <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, and <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>.</p>
</div>
</div>
@@ -159,6 +159,8 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Referenced by <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
+
</div>
</div>
</div><!-- contents -->
diff --git a/doc/html/files.html b/doc/html/files.html
index 640a7234a..c711be295 100644
--- a/doc/html/files.html
+++ b/doc/html/files.html
@@ -108,34 +108,37 @@ $(document).ready(function(){initNavTree('files.html','');});
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
-<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span><span onclick="javascript:toggleLevel(6);">6</span><span onclick="javascript:toggleLevel(7);">7</span>]</div><table class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_')"/><img id="img_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('0_')"/><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_')"/><img id="img_0_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('0_0_')"/><a class="el" href="dir_21bc5169ff11430004758be31dcfc6c4.html" target="_self">dba</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dba__driver_8php.html" target="_self">dba_driver.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dba__driver_8php.html" target="_self">dba_driver.php</a></td><td class="desc">Some database related functions and abstract driver class</td></tr>
<tr id="row_0_0_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dba__mysql_8php.html" target="_self">dba_mysql.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_0_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dba__mysqli_8php.html" target="_self">dba_mysqli.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_1_')"/><img id="img_0_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('0_1_')"/><a class="el" href="dir_aae29906d7bfc07d076125f669c8352e.html" target="_self">photo</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="photo__driver_8php.html" target="_self">photo_driver.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="photo__gd_8php.html" target="_self">photo_gd.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="photo__imagick_8php.html" target="_self">photo_imagick.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_2_')"/><img id="img_0_2_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('0_2_')"/><a class="el" href="dir_e7f045be8bb383d8447c6a6b84145083.html" target="_self">RedDAV</a></td><td class="desc"></td></tr>
-<tr id="row_0_2_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="RedBasicAuth_8php.html" target="_self">RedBasicAuth.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_2_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="RedBrowser_8php.html" target="_self">RedBrowser.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_2_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="RedDirectory_8php.html" target="_self">RedDirectory.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_2_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="RedFile_8php.html" target="_self">RedFile.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="account_8php.html" target="_self">account.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="acl__selectors_8php.html" target="_self">acl_selectors.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="activities_8php.html" target="_self">activities.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2api_8php.html" target="_self">api.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2apps_8php.html" target="_self">apps.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2attach_8php.html" target="_self">attach.php</a></td><td class="desc">File/attach API with the potential for revision control</td></tr>
-<tr id="row_0_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="auth_8php.html" target="_self">auth.php</a></td><td class="desc">Functions and inline functionality for authentication</td></tr>
-<tr id="row_0_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="BaseObject_8php.html" target="_self">BaseObject.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_11_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="bb2diaspora_8php.html" target="_self">bb2diaspora.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_12_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="bbcode_8php.html" target="_self">bbcode.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_13_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2bookmarks_8php.html" target="_self">bookmarks.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_14_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="cache_8php.html" target="_self">cache.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_15_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="chanman_8php.html" target="_self">chanman.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dba__mysqli_8php.html" target="_self">dba_mysqli.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dba__postgres_8php.html" target="_self">dba_postgres.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_1_')"/><img id="img_0_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('0_1_')"/><a class="el" href="dir_7edbbd0f8c514efef79942dcdc21f738.html" target="_self">Import</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="Importer_8php.html" target="_self">Importer.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="refimport_8php.html" target="_self">refimport.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_2_')"/><img id="img_0_2_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('0_2_')"/><a class="el" href="dir_aae29906d7bfc07d076125f669c8352e.html" target="_self">photo</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="photo__driver_8php.html" target="_self">photo_driver.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="photo__gd_8php.html" target="_self">photo_gd.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_2_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="photo__imagick_8php.html" target="_self">photo_imagick.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_3_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_3_')"/><img id="img_0_3_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('0_3_')"/><a class="el" href="dir_e7f045be8bb383d8447c6a6b84145083.html" target="_self">RedDAV</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="RedBasicAuth_8php.html" target="_self">RedBasicAuth.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="RedBrowser_8php.html" target="_self">RedBrowser.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="RedDirectory_8php.html" target="_self">RedDirectory.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_3_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="RedFile_8php.html" target="_self">RedFile.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="account_8php.html" target="_self">account.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="acl__selectors_8php.html" target="_self">acl_selectors.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="activities_8php.html" target="_self">activities.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2api_8php.html" target="_self">api.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2apps_8php.html" target="_self">apps.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2attach_8php.html" target="_self">attach.php</a></td><td class="desc">File/attach API with the potential for revision control</td></tr>
+<tr id="row_0_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="auth_8php.html" target="_self">auth.php</a></td><td class="desc">Functions and inline functionality for authentication</td></tr>
+<tr id="row_0_11_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="BaseObject_8php.html" target="_self">BaseObject.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_12_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="bb2diaspora_8php.html" target="_self">bb2diaspora.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_13_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="bbcode_8php.html" target="_self">bbcode.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_14_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2bookmarks_8php.html" target="_self">bookmarks.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_15_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="cache_8php.html" target="_self">cache.php</a></td><td class="desc"></td></tr>
<tr id="row_0_16_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2chat_8php.html" target="_self">chat.php</a></td><td class="desc"></td></tr>
<tr id="row_0_17_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="cli__startup_8php.html" target="_self">cli_startup.php</a></td><td class="desc"></td></tr>
<tr id="row_0_18_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="cli__suggest_8php.html" target="_self">cli_suggest.php</a></td><td class="desc"></td></tr>
@@ -159,50 +162,51 @@ $(document).ready(function(){initNavTree('files.html','');});
<tr id="row_0_36_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="expire_8php.html" target="_self">expire.php</a></td><td class="desc"></td></tr>
<tr id="row_0_37_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="externals_8php.html" target="_self">externals.php</a></td><td class="desc"></td></tr>
<tr id="row_0_38_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="features_8php.html" target="_self">features.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_39_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2follow_8php.html" target="_self">follow.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_40_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="gprobe_8php.html" target="_self">gprobe.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_41_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2group_8php.html" target="_self">group.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_42_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="html2bbcode_8php.html" target="_self">html2bbcode.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_43_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="html2plain_8php.html" target="_self">html2plain.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_44_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hubloc_8php.html" target="_self">hubloc.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_45_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="identity_8php.html" target="_self">identity.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_46_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="ItemObject_8php.html" target="_self">ItemObject.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_47_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="ITemplateEngine_8php.html" target="_self">ITemplateEngine.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_48_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="items_8php.html" target="_self">items.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_49_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="language_8php.html" target="_self">language.php</a></td><td class="desc">Translation support</td></tr>
-<tr id="row_0_50_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2menu_8php.html" target="_self">menu.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_51_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2message_8php.html" target="_self">message.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_52_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="nav_8php.html" target="_self">nav.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_53_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2network_8php.html" target="_self">network.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_54_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="notifier_8php.html" target="_self">notifier.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_55_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2notify_8php.html" target="_self">notify.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_56_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="oauth_8php.html" target="_self">oauth.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_57_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2oembed_8php.html" target="_self">oembed.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_58_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="onedirsync_8php.html" target="_self">onedirsync.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_59_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="onepoll_8php.html" target="_self">onepoll.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_60_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="page__widgets_8php.html" target="_self">page_widgets.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_61_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="permissions_8php.html" target="_self">permissions.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_62_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2photos_8php.html" target="_self">photos.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_63_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="plugin_8php.html" target="_self">plugin.php</a></td><td class="desc">Some functions to handle addons and themes</td></tr>
-<tr id="row_0_64_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="poller_8php.html" target="_self">poller.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_65_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2probe_8php.html" target="_self">probe.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_66_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profile__selectors_8php.html" target="_self">profile_selectors.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_67_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="ProtoDriver_8php.html" target="_self">ProtoDriver.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_68_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="queue_8php.html" target="_self">queue.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_69_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="queue__fn_8php.html" target="_self">queue_fn.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_70_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="reddav_8php.html" target="_self">reddav.php</a></td><td class="desc">Some DAV related functions for <a class="el" href="namespaceRedMatrix.html">RedMatrix</a></td></tr>
-<tr id="row_0_71_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="security_8php.html" target="_self">security.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_72_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="session_8php.html" target="_self">session.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_73_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="smarty_8php.html" target="_self">smarty.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_74_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="socgraph_8php.html" target="_self">socgraph.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_75_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="spam_8php.html" target="_self">spam.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_76_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="statistics__fns_8php.html" target="_self">statistics_fns.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_77_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="system__unavailable_8php.html" target="_self">system_unavailable.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_78_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="taxonomy_8php.html" target="_self">taxonomy.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_79_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="template__processor_8php.html" target="_self">template_processor.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_80_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="text_8php.html" target="_self">text.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_81_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="widgets_8php.html" target="_self">widgets.php</a></td><td class="desc"></td></tr>
-<tr id="row_0_82_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="zot_8php.html" target="_self">zot.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_39_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fixd_8php.html" target="_self">fixd.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_40_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2follow_8php.html" target="_self">follow.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_41_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="gprobe_8php.html" target="_self">gprobe.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_42_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2group_8php.html" target="_self">group.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_43_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="html2bbcode_8php.html" target="_self">html2bbcode.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_44_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="html2plain_8php.html" target="_self">html2plain.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_45_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hubloc_8php.html" target="_self">hubloc.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_46_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="identity_8php.html" target="_self">identity.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_47_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="ItemObject_8php.html" target="_self">ItemObject.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_48_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="ITemplateEngine_8php.html" target="_self">ITemplateEngine.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_49_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="items_8php.html" target="_self">items.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_50_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="language_8php.html" target="_self">language.php</a></td><td class="desc">Translation support</td></tr>
+<tr id="row_0_51_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2menu_8php.html" target="_self">menu.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_52_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2message_8php.html" target="_self">message.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_53_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="nav_8php.html" target="_self">nav.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_54_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2network_8php.html" target="_self">network.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_55_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="notifier_8php.html" target="_self">notifier.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_56_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2notify_8php.html" target="_self">notify.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_57_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="oauth_8php.html" target="_self">oauth.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_58_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2oembed_8php.html" target="_self">oembed.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_59_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="onedirsync_8php.html" target="_self">onedirsync.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_60_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="onepoll_8php.html" target="_self">onepoll.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_61_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="page__widgets_8php.html" target="_self">page_widgets.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_62_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="permissions_8php.html" target="_self">permissions.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_63_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2photos_8php.html" target="_self">photos.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_64_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="plugin_8php.html" target="_self">plugin.php</a></td><td class="desc">Some functions to handle addons and themes</td></tr>
+<tr id="row_0_65_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="poller_8php.html" target="_self">poller.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_66_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="include_2probe_8php.html" target="_self">probe.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_67_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profile__selectors_8php.html" target="_self">profile_selectors.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_68_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="ProtoDriver_8php.html" target="_self">ProtoDriver.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_69_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="queue_8php.html" target="_self">queue.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_70_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="queue__fn_8php.html" target="_self">queue_fn.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_71_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="reddav_8php.html" target="_self">reddav.php</a></td><td class="desc">Some DAV related functions for <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a></td></tr>
+<tr id="row_0_72_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="security_8php.html" target="_self">security.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_73_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="session_8php.html" target="_self">session.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_74_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="smarty_8php.html" target="_self">smarty.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_75_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="socgraph_8php.html" target="_self">socgraph.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_76_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="spam_8php.html" target="_self">spam.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_77_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="statistics__fns_8php.html" target="_self">statistics_fns.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_78_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="system__unavailable_8php.html" target="_self">system_unavailable.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_79_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="taxonomy_8php.html" target="_self">taxonomy.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_80_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="template__processor_8php.html" target="_self">template_processor.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_81_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="text_8php.html" target="_self">text.php</a></td><td class="desc"></td></tr>
+<tr id="row_0_82_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="widgets_8php.html" target="_self">widgets.php</a></td><td class="desc">This file contains the widgets</td></tr>
+<tr id="row_0_83_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="zot_8php.html" target="_self">zot.php</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><img id="arr_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_')"/><img id="img_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('1_')"/><a class="el" href="dir_d41ce877eb409a4791b288730010abe2.html" target="_self">mod</a></td><td class="desc"></td></tr>
<tr id="row_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="__well__known_8php.html" target="_self">_well_known.php</a></td><td class="desc"></td></tr>
<tr id="row_1_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="achievements_8php.html" target="_self">achievements.php</a></td><td class="desc"></td></tr>
@@ -219,7 +223,7 @@ $(document).ready(function(){initNavTree('files.html','');});
<tr id="row_1_12_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="chanview_8php.html" target="_self">chanview.php</a></td><td class="desc"></td></tr>
<tr id="row_1_13_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2chat_8php.html" target="_self">chat.php</a></td><td class="desc"></td></tr>
<tr id="row_1_14_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="chatsvc_8php.html" target="_self">chatsvc.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_15_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="cloud_8php.html" target="_self">cloud.php</a></td><td class="desc">Initialize <a class="el" href="namespaceRedMatrix.html">RedMatrix</a>'s cloud (SabreDAV)</td></tr>
+<tr id="row_1_15_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="cloud_8php.html" target="_self">cloud.php</a></td><td class="desc">Initialize <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>'s cloud (SabreDAV)</td></tr>
<tr id="row_1_16_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="common_8php.html" target="_self">common.php</a></td><td class="desc"></td></tr>
<tr id="row_1_17_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="connect_8php.html" target="_self">connect.php</a></td><td class="desc"></td></tr>
<tr id="row_1_18_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="connections_8php.html" target="_self">connections.php</a></td><td class="desc"></td></tr>
@@ -227,110 +231,110 @@ $(document).ready(function(){initNavTree('files.html','');});
<tr id="row_1_20_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="contactgroup_8php.html" target="_self">contactgroup.php</a></td><td class="desc"></td></tr>
<tr id="row_1_21_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="delegate_8php.html" target="_self">delegate.php</a></td><td class="desc"></td></tr>
<tr id="row_1_22_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2directory_8php.html" target="_self">directory.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_23_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dirprofile_8php.html" target="_self">dirprofile.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_24_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dirsearch_8php.html" target="_self">dirsearch.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_25_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="display_8php.html" target="_self">display.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_26_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editblock_8php.html" target="_self">editblock.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_27_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editlayout_8php.html" target="_self">editlayout.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_28_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editpost_8php.html" target="_self">editpost.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_29_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editwebpage_8php.html" target="_self">editwebpage.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_30_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="events_8php.html" target="_self">events.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_31_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fbrowser_8php.html" target="_self">fbrowser.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_32_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="feed_8php.html" target="_self">feed.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_33_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filer_8php.html" target="_self">filer.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_34_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filerm_8php.html" target="_self">filerm.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_35_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filestorage_8php.html" target="_self">filestorage.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_36_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2follow_8php.html" target="_self">follow.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_37_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fsuggest_8php.html" target="_self">fsuggest.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_38_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2group_8php.html" target="_self">group.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_39_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hcard_8php.html" target="_self">hcard.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_40_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="help_8php.html" target="_self">help.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_41_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="home_8php.html" target="_self">home.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_42_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hostxrd_8php.html" target="_self">hostxrd.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_43_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="impel_8php.html" target="_self">impel.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_44_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="import_8php.html" target="_self">import.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_45_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="importelm_8php.html" target="_self">importelm.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_46_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="invite_8php.html" target="_self">invite.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_47_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="item_8php.html" target="_self">item.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_48_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lang_8php.html" target="_self">lang.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_49_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="layouts_8php.html" target="_self">layouts.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_50_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="like_8php.html" target="_self">like.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_51_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lockview_8php.html" target="_self">lockview.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_52_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="locs_8php.html" target="_self">locs.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_53_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="login_8php.html" target="_self">login.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_54_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lostpass_8php.html" target="_self">lostpass.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_55_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="magic_8php.html" target="_self">magic.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_56_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mail_8php.html" target="_self">mail.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_57_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="manage_8php.html" target="_self">manage.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_58_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="match_8php.html" target="_self">match.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_59_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2menu_8php.html" target="_self">menu.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_60_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2message_8php.html" target="_self">message.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_61_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mitem_8php.html" target="_self">mitem.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_62_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mood_8php.html" target="_self">mood.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_63_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="msearch_8php.html" target="_self">msearch.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_64_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="netgrowth_8php.html" target="_self">netgrowth.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_65_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2network_8php.html" target="_self">network.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_66_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="new__channel_8php.html" target="_self">new_channel.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_67_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="notes_8php.html" target="_self">notes.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_68_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="notifications_8php.html" target="_self">notifications.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_69_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2notify_8php.html" target="_self">notify.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_70_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2oembed_8php.html" target="_self">oembed.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_71_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="oexchange_8php.html" target="_self">oexchange.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_72_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="online_8php.html" target="_self">online.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_73_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="openid_8php.html" target="_self">openid.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_74_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="opensearch_8php.html" target="_self">opensearch.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_75_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="p_8php.html" target="_self">p.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_76_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="page_8php.html" target="_self">page.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_77_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="parse__url_8php.html" target="_self">parse_url.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_78_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="pdledit_8php.html" target="_self">pdledit.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_79_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="photo_8php.html" target="_self">photo.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_80_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2photos_8php.html" target="_self">photos.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_81_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="php_8php.html" target="_self">php.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_82_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="ping_8php.html" target="_self">ping.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_83_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="poco_8php.html" target="_self">poco.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_84_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="poke_8php.html" target="_self">poke.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_85_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="poll_8php.html" target="_self">poll.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_86_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="post_8php.html" target="_self">post.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_87_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="pretheme_8php.html" target="_self">pretheme.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_88_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2probe_8php.html" target="_self">probe.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_89_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profile_8php.html" target="_self">profile.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_90_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profile__photo_8php.html" target="_self">profile_photo.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_91_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profiles_8php.html" target="_self">profiles.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_92_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profperm_8php.html" target="_self">profperm.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_93_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="pubsites_8php.html" target="_self">pubsites.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_94_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="randprof_8php.html" target="_self">randprof.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_95_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rbmark_8php.html" target="_self">rbmark.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_96_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="receive_8php.html" target="_self">receive.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_97_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="register_8php.html" target="_self">register.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_98_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="regmod_8php.html" target="_self">regmod.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_99_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="regver_8php.html" target="_self">regver.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_100_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="removeaccount_8php.html" target="_self">removeaccount.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_101_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="removeme_8php.html" target="_self">removeme.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_102_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rmagic_8php.html" target="_self">rmagic.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_103_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rpost_8php.html" target="_self">rpost.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_104_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rsd__xml_8php.html" target="_self">rsd_xml.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_105_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="search_8php.html" target="_self">search.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_106_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="search__ac_8php.html" target="_self">search_ac.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_107_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="service__limits_8php.html" target="_self">service_limits.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_108_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="settings_8php.html" target="_self">settings.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_109_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="setup_8php.html" target="_self">setup.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_110_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="share_8php.html" target="_self">share.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_111_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="siteinfo_8php.html" target="_self">siteinfo.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_112_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sitelist_8php.html" target="_self">sitelist.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_113_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="smilies_8php.html" target="_self">smilies.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_114_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sources_8php.html" target="_self">sources.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_115_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sslify_8php.html" target="_self">sslify.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_116_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="starred_8php.html" target="_self">starred.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_117_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="subthread_8php.html" target="_self">subthread.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_118_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="suggest_8php.html" target="_self">suggest.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_119_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="tagger_8php.html" target="_self">tagger.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_120_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="tagrm_8php.html" target="_self">tagrm.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_121_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="thing_8php.html" target="_self">thing.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_122_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="toggle__mobile_8php.html" target="_self">toggle_mobile.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_123_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="toggle__safesearch_8php.html" target="_self">toggle_safesearch.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_124_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="uexport_8php.html" target="_self">uexport.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_125_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__channel_8php.html" target="_self">update_channel.php</a></td><td class="desc"></td></tr>
-<tr id="row_1_126_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__display_8php.html" target="_self">update_display.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_23_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dirsearch_8php.html" target="_self">dirsearch.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_24_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="display_8php.html" target="_self">display.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_25_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editblock_8php.html" target="_self">editblock.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_26_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editlayout_8php.html" target="_self">editlayout.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_27_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editpost_8php.html" target="_self">editpost.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_28_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="editwebpage_8php.html" target="_self">editwebpage.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_29_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="events_8php.html" target="_self">events.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_30_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fbrowser_8php.html" target="_self">fbrowser.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_31_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="feed_8php.html" target="_self">feed.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_32_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filer_8php.html" target="_self">filer.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_33_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filerm_8php.html" target="_self">filerm.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_34_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="filestorage_8php.html" target="_self">filestorage.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_35_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2follow_8php.html" target="_self">follow.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_36_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fsuggest_8php.html" target="_self">fsuggest.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_37_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2group_8php.html" target="_self">group.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_38_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hcard_8php.html" target="_self">hcard.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_39_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="help_8php.html" target="_self">help.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_40_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="home_8php.html" target="_self">home.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_41_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hostxrd_8php.html" target="_self">hostxrd.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_42_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="impel_8php.html" target="_self">impel.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_43_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="import_8php.html" target="_self">import.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_44_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="importelm_8php.html" target="_self">importelm.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_45_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="invite_8php.html" target="_self">invite.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_46_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="item_8php.html" target="_self">item.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_47_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lang_8php.html" target="_self">lang.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_48_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="layouts_8php.html" target="_self">layouts.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_49_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="like_8php.html" target="_self">like.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_50_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lockview_8php.html" target="_self">lockview.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_51_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="locs_8php.html" target="_self">locs.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_52_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="login_8php.html" target="_self">login.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_53_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="lostpass_8php.html" target="_self">lostpass.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_54_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="magic_8php.html" target="_self">magic.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_55_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mail_8php.html" target="_self">mail.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_56_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="manage_8php.html" target="_self">manage.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_57_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="match_8php.html" target="_self">match.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_58_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2menu_8php.html" target="_self">menu.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_59_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2message_8php.html" target="_self">message.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_60_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mitem_8php.html" target="_self">mitem.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_61_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mood_8php.html" target="_self">mood.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_62_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="msearch_8php.html" target="_self">msearch.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_63_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="netgrowth_8php.html" target="_self">netgrowth.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_64_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2network_8php.html" target="_self">network.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_65_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="new__channel_8php.html" target="_self">new_channel.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_66_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="notes_8php.html" target="_self">notes.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_67_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="notifications_8php.html" target="_self">notifications.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_68_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2notify_8php.html" target="_self">notify.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_69_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2oembed_8php.html" target="_self">oembed.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_70_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="oexchange_8php.html" target="_self">oexchange.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_71_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="online_8php.html" target="_self">online.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_72_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="openid_8php.html" target="_self">openid.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_73_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="opensearch_8php.html" target="_self">opensearch.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_74_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="p_8php.html" target="_self">p.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_75_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="page_8php.html" target="_self">page.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_76_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="parse__url_8php.html" target="_self">parse_url.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_77_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="pdledit_8php.html" target="_self">pdledit.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_78_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="photo_8php.html" target="_self">photo.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_79_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2photos_8php.html" target="_self">photos.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_80_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="php_8php.html" target="_self">php.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_81_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="ping_8php.html" target="_self">ping.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_82_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="poco_8php.html" target="_self">poco.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_83_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="poke_8php.html" target="_self">poke.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_84_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="poll_8php.html" target="_self">poll.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_85_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="post_8php.html" target="_self">post.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_86_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="pretheme_8php.html" target="_self">pretheme.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_87_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mod_2probe_8php.html" target="_self">probe.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_88_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profile_8php.html" target="_self">profile.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_89_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profile__photo_8php.html" target="_self">profile_photo.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_90_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profiles_8php.html" target="_self">profiles.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_91_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="profperm_8php.html" target="_self">profperm.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_92_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="pubsites_8php.html" target="_self">pubsites.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_93_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="randprof_8php.html" target="_self">randprof.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_94_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rbmark_8php.html" target="_self">rbmark.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_95_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="receive_8php.html" target="_self">receive.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_96_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="register_8php.html" target="_self">register.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_97_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="regmod_8php.html" target="_self">regmod.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_98_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="regver_8php.html" target="_self">regver.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_99_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="removeaccount_8php.html" target="_self">removeaccount.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_100_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="removeme_8php.html" target="_self">removeme.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_101_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rmagic_8php.html" target="_self">rmagic.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_102_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rpost_8php.html" target="_self">rpost.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_103_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="rsd__xml_8php.html" target="_self">rsd_xml.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_104_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="search_8php.html" target="_self">search.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_105_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="search__ac_8php.html" target="_self">search_ac.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_106_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="service__limits_8php.html" target="_self">service_limits.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_107_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="settings_8php.html" target="_self">settings.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_108_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="setup_8php.html" target="_self">setup.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_109_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="share_8php.html" target="_self">share.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_110_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="siteinfo_8php.html" target="_self">siteinfo.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_111_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sitelist_8php.html" target="_self">sitelist.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_112_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="smilies_8php.html" target="_self">smilies.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_113_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sources_8php.html" target="_self">sources.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_114_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="sslify_8php.html" target="_self">sslify.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_115_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="starred_8php.html" target="_self">starred.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_116_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="subthread_8php.html" target="_self">subthread.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_117_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="suggest_8php.html" target="_self">suggest.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_118_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="tagger_8php.html" target="_self">tagger.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_119_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="tagrm_8php.html" target="_self">tagrm.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_120_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="thing_8php.html" target="_self">thing.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_121_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="toggle__mobile_8php.html" target="_self">toggle_mobile.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_122_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="toggle__safesearch_8php.html" target="_self">toggle_safesearch.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_123_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="uexport_8php.html" target="_self">uexport.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_124_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__channel_8php.html" target="_self">update_channel.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_125_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__display_8php.html" target="_self">update_display.php</a></td><td class="desc"></td></tr>
+<tr id="row_1_126_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__home_8php.html" target="_self">update_home.php</a></td><td class="desc"></td></tr>
<tr id="row_1_127_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__network_8php.html" target="_self">update_network.php</a></td><td class="desc"></td></tr>
<tr id="row_1_128_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="update__search_8php.html" target="_self">update_search.php</a></td><td class="desc"></td></tr>
<tr id="row_1_129_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="view_8php.html" target="_self">view.php</a></td><td class="desc"></td></tr>
@@ -351,19 +355,16 @@ $(document).ready(function(){initNavTree('files.html','');});
<tr id="row_2_" class="even"><td class="entry"><img id="arr_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('2_')"/><img id="img_2_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('2_')"/><a class="el" href="dir_23ec12649285f9fabf3a6b7380226c28.html" target="_self">util</a></td><td class="desc"></td></tr>
<tr id="row_2_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_2_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('2_0_')"/><img id="img_2_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('2_0_')"/><a class="el" href="dir_0eaa4a0adae8ba4811e133c6e594aeee.html" target="_self">fpostit</a></td><td class="desc"></td></tr>
<tr id="row_2_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="fpostit_8php.html" target="_self">fpostit.php</a></td><td class="desc"></td></tr>
-<tr id="row_2_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_2_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('2_1_')"/><img id="img_2_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('2_1_')"/><a class="el" href="dir_720432dea4a717197ae070dbc42b8f20.html" target="_self">wp</a></td><td class="desc"></td></tr>
-<tr id="row_2_1_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_2_1_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('2_1_0_')"/><img id="img_2_1_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('2_1_0_')"/><a class="el" href="dir_25f74a9991dbbca1b52a94e358ca73c1.html" target="_self">post_to_red</a></td><td class="desc"></td></tr>
-<tr id="row_2_1_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="post__to__red_8php.html" target="_self">post_to_red.php</a></td><td class="desc"></td></tr>
-<tr id="row_2_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="db__update_8php.html" target="_self">db_update.php</a></td><td class="desc"></td></tr>
-<tr id="row_2_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="docblox__errorchecker_8php.html" target="_self">docblox_errorchecker.php</a></td><td class="desc"></td></tr>
-<tr id="row_2_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="extract_8php.html" target="_self">extract.php</a></td><td class="desc"></td></tr>
-<tr id="row_2_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="friendica-to-smarty-tpl_8py.html" target="_self">friendica-to-smarty-tpl.py</a></td><td class="desc"></td></tr>
-<tr id="row_2_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="php2po_8php.html" target="_self">php2po.php</a></td><td class="desc"></td></tr>
-<tr id="row_2_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="po2php_8php.html" target="_self">po2php.php</a></td><td class="desc"></td></tr>
-<tr id="row_2_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="tpldebug_8php.html" target="_self">tpldebug.php</a></td><td class="desc"></td></tr>
-<tr id="row_2_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="typo_8php.html" target="_self">typo.php</a></td><td class="desc"></td></tr>
-<tr id="row_2_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="typohelper_8php.html" target="_self">typohelper.php</a></td><td class="desc"></td></tr>
-<tr id="row_2_11_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="updatetpl_8py.html" target="_self">updatetpl.py</a></td><td class="desc"></td></tr>
+<tr id="row_2_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="db__update_8php.html" target="_self">db_update.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="docblox__errorchecker_8php.html" target="_self">docblox_errorchecker.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="extract_8php.html" target="_self">extract.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="friendica-to-smarty-tpl_8py.html" target="_self">friendica-to-smarty-tpl.py</a></td><td class="desc"></td></tr>
+<tr id="row_2_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="php2po_8php.html" target="_self">php2po.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="po2php_8php.html" target="_self">po2php.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="tpldebug_8php.html" target="_self">tpldebug.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="typo_8php.html" target="_self">typo.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="typohelper_8php.html" target="_self">typohelper.php</a></td><td class="desc"></td></tr>
+<tr id="row_2_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="updatetpl_8py.html" target="_self">updatetpl.py</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><img id="arr_3_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_')"/><img id="img_3_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_')"/><a class="el" href="dir_b2f003339c516cc00c8cadcafbe82f13.html" target="_self">view</a></td><td class="desc"></td></tr>
<tr id="row_3_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_0_')"/><img id="img_3_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_0_')"/><a class="el" href="dir_817f6d302394b98e59575acdb59998bc.html" target="_self">php</a></td><td class="desc"></td></tr>
<tr id="row_3_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="choklet_8php.html" target="_self">choklet.php</a></td><td class="desc"></td></tr>
@@ -396,49 +397,37 @@ $(document).ready(function(){initNavTree('files.html','');});
<tr id="row_3_1_0_2_8_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="pine_8php.html" target="_self">pine.php</a></td><td class="desc"></td></tr>
<tr id="row_3_1_0_2_9_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="redbasic_8php.html" target="_self">redbasic.php</a></td><td class="desc"></td></tr>
<tr id="row_3_1_0_2_10_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="widedarkness_8php.html" target="_self">widedarkness.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_1_')"/><img id="img_3_1_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_1_')"/><a class="el" href="dir_922c77e958c99a98db92d38a3a349bf2.html" target="_self">blogga</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_1_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_1_0_')"/><img id="img_3_1_1_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_1_0_')"/><a class="el" href="dir_c02447ad39a5307c81c64e880ec9e8d3.html" target="_self">php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="view_2theme_2blogga_2php_2config_8php.html" target="_self">config.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="theme_2blogga_2php_2default_8php.html" target="_self">default.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_0_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="blogga_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_0_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="theme_2blogga_2php_2theme__init_8php.html" target="_self">theme_init.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_1_1_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_1_1_')"/><img id="img_3_1_1_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_1_1_')"/><a class="el" href="dir_92d6b429199666aa3765c8a934db5e14.html" target="_self">view</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_1_1_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_1_1_0_')"/><img id="img_3_1_1_1_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_1_1_0_')"/><a class="el" href="dir_6cee3bb9ace89cc4e2f065aa2ca7bc5b.html" target="_self">theme</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_1_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_1_1_0_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_1_1_0_0_')"/><img id="img_3_1_1_1_0_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_1_1_0_0_')"/><a class="el" href="dir_a8a0005c2b8590c535262d232c22afab.html" target="_self">blog</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_1_0_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="view_2theme_2blogga_2view_2theme_2blog_2config_8php.html" target="_self">config.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_1_0_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="theme_2blogga_2view_2theme_2blog_2default_8php.html" target="_self">default.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_1_1_0_0_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_2_')"/><img id="img_3_1_2_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_2_')"/><a class="el" href="dir_6e52a2a2cd27c08b7df5e5cdb216bd77.html" target="_self">hivenet</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_2_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_2_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_2_0_')"/><img id="img_3_1_2_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_2_0_')"/><a class="el" href="dir_9ef82eb3846cd201470898c3b6ef38cf.html" target="_self">php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_2_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hivenet_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_2_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hivenet_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_3_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_3_')"/><img id="img_3_1_3_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_3_')"/><a class="el" href="dir_8e58ba5e98ac07e59ee15ca7486c9950.html" target="_self">mytheme</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_3_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_3_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_3_0_')"/><img id="img_3_1_3_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_3_0_')"/><a class="el" href="dir_887fdc94312ba7b057b6bfe7fdd27ea5.html" target="_self">php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_3_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="theme_2mytheme_2php_2default_8php.html" target="_self">default.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_3_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mytheme_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_3_0_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mytheme_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_4_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_4_')"/><img id="img_3_1_4_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_4_')"/><a class="el" href="dir_55dbaf9b7b53c4fc605c9011743a7353.html" target="_self">redbasic</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_4_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_4_0_')"/><img id="img_3_1_4_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_4_0_')"/><a class="el" href="dir_032dd9e2cfe278a2cfa5eb9547448eb9.html" target="_self">php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="view_2theme_2redbasic_2php_2config_8php.html" target="_self">config.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="redbasic_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_0_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="redbasic_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_0_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="theme_2redbasic_2php_2theme__init_8php.html" target="_self">theme_init.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_4_1_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_4_1_')"/><img id="img_3_1_4_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_4_1_')"/><a class="el" href="dir_3d9c9d0c5e9556dd3eba1e072fa6eaeb.html" target="_self">schema</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="boxy_8php.html" target="_self">boxy.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_1_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="BS-Default_8php.html" target="_self">BS-Default.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_1_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dark_8php.html" target="_self">dark.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_1_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="notred_8php.html" target="_self">notred.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_1_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="simple__black__on__white_8php.html" target="_self">simple_black_on_white.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_1_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="simple__green__on__black_8php.html" target="_self">simple_green_on_black.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_4_1_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="simple__white__on__black_8php.html" target="_self">simple_white_on_black.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_5_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_5_')"/><img id="img_3_1_5_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_5_')"/><a class="el" href="dir_4acb285a1960a920438b718da0958cf4.html" target="_self">stumble</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_5_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_5_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_5_0_')"/><img id="img_3_1_5_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_5_0_')"/><a class="el" href="dir_65522070e0a83623cefc01ebe26a83e3.html" target="_self">php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_5_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="stumble_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_5_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="stumble_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_6_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_6_')"/><img id="img_3_1_6_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_6_')"/><a class="el" href="dir_0262a6a8df56a167e3761b6e5a54bb1c.html" target="_self">suckerberg</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_6_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_6_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_6_0_')"/><img id="img_3_1_6_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_6_0_')"/><a class="el" href="dir_ac4f5165c8d71ebb1a1a0a168a48f3f7.html" target="_self">php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_6_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="suckerberg_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
-<tr id="row_3_1_6_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="suckerberg_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_1_')"/><img id="img_3_1_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_1_')"/><a class="el" href="dir_6e52a2a2cd27c08b7df5e5cdb216bd77.html" target="_self">hivenet</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_1_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_1_0_')"/><img id="img_3_1_1_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_1_0_')"/><a class="el" href="dir_9ef82eb3846cd201470898c3b6ef38cf.html" target="_self">php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_1_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hivenet_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_1_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="hivenet_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_2_')"/><img id="img_3_1_2_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_2_')"/><a class="el" href="dir_8e58ba5e98ac07e59ee15ca7486c9950.html" target="_self">mytheme</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_2_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_2_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_2_0_')"/><img id="img_3_1_2_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_2_0_')"/><a class="el" href="dir_887fdc94312ba7b057b6bfe7fdd27ea5.html" target="_self">php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_2_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="theme_2mytheme_2php_2default_8php.html" target="_self">default.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_2_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mytheme_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_2_0_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="mytheme_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_3_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_3_')"/><img id="img_3_1_3_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_3_')"/><a class="el" href="dir_55dbaf9b7b53c4fc605c9011743a7353.html" target="_self">redbasic</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_3_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_3_0_')"/><img id="img_3_1_3_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_3_0_')"/><a class="el" href="dir_032dd9e2cfe278a2cfa5eb9547448eb9.html" target="_self">php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="view_2theme_2redbasic_2php_2config_8php.html" target="_self">config.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="redbasic_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_0_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="redbasic_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_0_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="theme_2redbasic_2php_2theme__init_8php.html" target="_self">theme_init.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_3_1_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_3_1_')"/><img id="img_3_1_3_1_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_3_1_')"/><a class="el" href="dir_3d9c9d0c5e9556dd3eba1e072fa6eaeb.html" target="_self">schema</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="boxy_8php.html" target="_self">boxy.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_1_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="BS-Default_8php.html" target="_self">BS-Default.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_1_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="dark_8php.html" target="_self">dark.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_1_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="notred_8php.html" target="_self">notred.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_1_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="simple__black__on__white_8php.html" target="_self">simple_black_on_white.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_1_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="simple__green__on__black_8php.html" target="_self">simple_green_on_black.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_3_1_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="simple__white__on__black_8php.html" target="_self">simple_white_on_black.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_4_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_1_4_')"/><img id="img_3_1_4_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_4_')"/><a class="el" href="dir_4acb285a1960a920438b718da0958cf4.html" target="_self">stumble</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_4_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_3_1_4_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_4_0_')"/><img id="img_3_1_4_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_4_0_')"/><a class="el" href="dir_65522070e0a83623cefc01ebe26a83e3.html" target="_self">php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_4_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="stumble_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_4_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="stumble_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_5_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_5_')"/><img id="img_3_1_5_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_5_')"/><a class="el" href="dir_0262a6a8df56a167e3761b6e5a54bb1c.html" target="_self">suckerberg</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_5_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_3_1_5_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('3_1_5_0_')"/><img id="img_3_1_5_0_" src="ftv2folderclosed.png" alt="+" width="24" height="22" onclick="toggleFolder('3_1_5_0_')"/><a class="el" href="dir_ac4f5165c8d71ebb1a1a0a168a48f3f7.html" target="_self">php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_5_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="suckerberg_2php_2style_8php.html" target="_self">style.php</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_5_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="suckerberg_2php_2theme_8php.html" target="_self">theme.php</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="boot_8php.html" target="_self">boot.php</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
diff --git a/doc/html/fixd_8php.html b/doc/html/fixd_8php.html
new file mode 100644
index 000000000..7386d674a
--- /dev/null
+++ b/doc/html/fixd_8php.html
@@ -0,0 +1,181 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: include/fixd.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('fixd_8php.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">fixd.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a2da3681c9cce2efe7de29aa578ff4219"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fixd_8php.html#a2da3681c9cce2efe7de29aa578ff4219">$rand</a> = <a class="el" href="dba__driver_8php.html#a2994daa03b1c23229a27e39bcab75e67">db_getfunc</a>('RAND')</td></tr>
+<tr class="separator:a2da3681c9cce2efe7de29aa578ff4219"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8abe176bc41afd728f32ba8c506cbd98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fixd_8php.html#a8abe176bc41afd728f32ba8c506cbd98">$r</a> = <a class="el" href="dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f">q</a>(&quot;select xchan_addr, hubloc_url from xchan left join hubloc on hubloc_hash = xchan_hash where xchan_network like '%%diaspora%%' order by $rand&quot;)</td></tr>
+<tr class="separator:a8abe176bc41afd728f32ba8c506cbd98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a241b818f48030b628685b2e5119c5624"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fixd_8php.html#a241b818f48030b628685b2e5119c5624">$total</a> = 0</td></tr>
+<tr class="separator:a241b818f48030b628685b2e5119c5624"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9d4f8a2ab4d92b3ccfd7cba0458098eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">foreach</a>($r as $rr) print $total&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fixd_8php.html#a9d4f8a2ab4d92b3ccfd7cba0458098eb">n</a></td></tr>
+<tr class="separator:a9d4f8a2ab4d92b3ccfd7cba0458098eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a8abe176bc41afd728f32ba8c506cbd98"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$r = <a class="el" href="dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f">q</a>(&quot;select xchan_addr, hubloc_url from xchan left join hubloc on hubloc_hash = xchan_hash where xchan_network like '%%diaspora%%' order by $rand&quot;)</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e">abook_connections()</a>, <a class="el" href="Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5">abook_self()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89">account_service_class_fetch()</a>, <a class="el" href="account_8php.html#a43e3042b2723d76915a030bac3c668b6">account_total()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="items_8php.html#a81565acf729e629e588d823308448e3c">add_source_route()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#a278289bc6d45f6f2a272a7ab6a1d1057">admin_page_profs_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586">all_friends()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8">api_ff_ids()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#ad5fe62d6c25c86999f627b2e6cfde536">api_group()</a>, <a class="el" href="include_2api_8php.html#ae46f964e5a9c80b96dc78df61c09ed3a">api_group_members()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0">api_oauth_access_token()</a>, <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api_oauth_request_token()</a>, <a class="el" href="include_2api_8php.html#a4fe872332ff0bd8d5eae2f0c6819cb60">api_red_xchan()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2apps_8php.html#a6b472df85ed875e7ae75642cece5206f">app_destroy()</a>, <a class="el" href="include_2apps_8php.html#a1adcd1aff4d36ad0277daca9f3d2bbe2">app_installed()</a>, <a class="el" href="include_2apps_8php.html#a01cabfb33b2d0d843cf3bf4e3d3f0ab0">app_list()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221">attach_change_permissions()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd">attach_delete()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca">autoname()</a>, <a class="el" href="bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083">bb2diaspora_itemwallwall()</a>, <a class="el" href="bb2diaspora_8php.html#a5258d2f1addeb0a2a6b54c4f9e7d0f34">bb2dmention_callback()</a>, <a class="el" href="text_8php.html#a3d2793d66db3345fd290b71e2eadf98e">bb_translate_video()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4">catblock()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="identity_8php.html#a77d2237f1846964634b1c99089c27c7d">channel_total()</a>, <a class="el" href="Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258">channelx_by_hash()</a>, <a class="el" href="Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc">channelx_by_n()</a>, <a class="el" href="Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e">channelx_by_nick()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="include_2chat_8php.html#a1ee1360f7d2549c7549ae07cb5190f0f">chatroom_leave()</a>, <a class="el" href="include_2chat_8php.html#aedcb532a0627b8644001a2fadab4e87a">chatroom_list()</a>, <a class="el" href="include_2chat_8php.html#a26abdccc2a278a59899896dbbfc6f049">chatroom_list_count()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="items_8php.html#a772f0ae77ad77c8ab68ed918a3870946">collect_recipients()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9">common_friends_zcid()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee">construct_activity_object()</a>, <a class="el" href="items_8php.html#aa579bc4445d60098b1410961ca8e96b7">construct_activity_target()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="contact__selectors_8php.html#a2c743d2eb526eb758d943a1490162d75">contact_profile_assign()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="socgraph_8php.html#af29d056beec10b4e38e5209c92452894">count_all_friends()</a>, <a class="el" href="socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84">count_common_friends()</a>, <a class="el" href="socgraph_8php.html#af175807406d94407a5e11742a3287746">count_common_friends_zcid()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory\createDirectory()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb">delete_item_lowlevel()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#ab99505944728d46585b8312989de533d">diaspora_dispatch_public()</a>, <a class="el" href="diaspora_8php.html#aa8e551a53fcce34be3942d0c3e20d1f4">diaspora_get_contact_by_handle()</a>, <a class="el" href="diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff">diaspora_handle_from_contact()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="bb2diaspora_8php.html#a4a27604f0745f1efda672966aaca9a3b">diaspora_mention_callback()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#a938c7ee808d38725c0988fa6006805b9">diaspora_retraction()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332">dir_tagadelic()</a>, <a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">dir_tagblock()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b">find_diaspora_person_by_handle()</a>, <a class="el" href="include_2attach_8php.html#a4dbfd7e1cef52aa9ef52f4b88929fa86">find_filename_by_hash()</a>, <a class="el" href="include_2attach_8php.html#a052f14487ff2ce72f62a09fac8d7e997">find_folder_hash_by_attach_hash()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad4bc0516533c62733f38043a37267d78">RedMatrix\RedDAV\RedBrowser\findAttachHash()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a0733e38e254474d9a456825e72f1ddfd">RedMatrix\RedDAV\RedBrowser\findAttachIdByHash()</a>, <a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="classCache.html#a70392b109331897bf9fdd7f1960e21de">Cache\get()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8">RedMatrix\RedDAV\RedFile\get()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ac73b3e13778c564c877554517a7f51ba">get_channel_by_nick()</a>, <a class="el" href="identity_8php.html#a293f416ce9050220b183e08ff5890216">get_channel_default_perms()</a>, <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">get_cloudpath()</a>, <a class="el" href="diaspora_8php.html#a9bf7ef4094e0e14f6e2b7fe76ab7ad2e">get_diaspora_key()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35">get_plugin_info()</a>, <a class="el" href="identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51">get_sys_channel()</a>, <a class="el" href="plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405">get_theme_info()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6">get_words()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5">RedMatrix\RedDAV\RedDirectory\getLastModified()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb">group_byname()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09">group_get_members()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245">group_rec_byhash()</a>, <a class="el" href="include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5">group_rmv()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f">groups_containing()</a>, <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc">import_author_diaspora()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a">import_directory_keywords()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="hubloc_8php.html#aebd244b4616ded022cbbee5e82926951">is_matrix_url()</a>, <a class="el" href="identity_8php.html#aa4bd4abfcba883f43919e89ec6419025">is_sys_channel()</a>, <a class="el" href="items_8php.html#a02ca33c31ed535d24894f8a9a91ce9df">item_add_cid()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a09d425596b9f8663472cf7474ad36d96">item_getfeedattach()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a5ed782ff5b9cf050bec931e06de12c00">item_remove_cid()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">list_public_sites()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b">load_pconfig()</a>, <a class="el" href="include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52">load_xconfig()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599">FKOAuthDataStore\lookup_nonce()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="auth_8php.html#a69fa663e6baf65f80d1b114ad72615f2">match_openid()</a>, <a class="el" href="include_2group_8php.html#a048f6892bfd28852de1b76470df411de">member_of()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a">menu_del_item()</a>, <a class="el" href="include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8">menu_delete()</a>, <a class="el" href="include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804">menu_delete_id()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="include_2menu_8php.html#a68ebbf492470c930f652013656f9071d">menu_fetch()</a>, <a class="el" href="include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7">menu_fetch_id()</a>, <a class="el" href="include_2menu_8php.html#a32701c4245e78ba9106eef52c08bf33d">menu_list()</a>, <a class="el" href="include_2menu_8php.html#a251bf7e15d21627fd92614198e41c485">menu_list_count()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="identity_8php.html#a2e6a1cc35887937823ec7fbb90472afe">notifications_off()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117">oauth_get_client()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="crypto_8php.html#a798368843cdd9bb08386b48e53e29e8c">pemtome()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35">photos_album_exists()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="plugin_8php.html#a855c4fdb38c0fc2714d537752a4347f9">plugin_is_installed()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1">private_messages_drop()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="crypto_8php.html#a2a3fae7caca27f86d158eeaf69b6f287">pubrsatome()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a">dba_postgres\q()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91">rconnect_url()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e">ref_session_read()</a>, <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">ref_session_write()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="plugin_8php.html#a425472c5f3afc137268b2ad45652b209">register_hook()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="identity_8php.html#a47d6f53216f23a3484061793bef29854">remote_online_status()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">FriendicaSmartyEngine\replace_macros()</a>, <a class="el" href="items_8php.html#af6237605c60d69abdd959ddbbee3420c">retain_item()</a>, <a class="el" href="rmagic_8php.html#a95455edd43f1bff39446a57388cdde16">rmagic_init()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac">photo_driver\save()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="items_8php.html#aab9e0c58247427126de0699c729c3b6c">send_status_notifications()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="classCache.html#ae622b82adc1c2fb1f3e2cc4fd9688fce">Cache\set()</a>, <a class="el" href="identity_8php.html#a78151baf4407a8482d2681a91a9c486b">set_default_login_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a2926fe923baade564f2663632fa8c633">RedMatrix\RedDAV\RedBasicAuth\setAuthenticated()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1">sitelist_init()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="starred_8php.html#a63024fb418c678e49fd535e3752d349a">starred_init()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver\store()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd">store_item_tag()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329">suggestion_query()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a">tagadelic()</a>, <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="plugin_8php.html#a56f71fe5adf9586ce950523d8180443e">unregister_hook()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="statistics__fns_8php.html#a05858927cce81fd367aedf85a94ed90c">update_channels_total_stat()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote_init()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widget_random_block()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287">wtagblock()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea">xchan_fetch()</a>, <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2da3681c9cce2efe7de29aa578ff4219"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$rand = <a class="el" href="dba__driver_8php.html#a2994daa03b1c23229a27e39bcab75e67">db_getfunc</a>('RAND')</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918">common_friends()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a241b818f48030b628685b2e5119c5624"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">$total = 0</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="conversation_8php.html#ab2383dff4f823e580399ff469d90ab19">count_descendants()</a>, <a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">Item\count_descendants()</a>, <a class="el" href="classItem.html#ae0c48b2fed5558642549cabd547fc4f3">Item\count_unseen_descendants()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, and <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9d4f8a2ab4d92b3ccfd7cba0458098eb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5">foreach</a> ($r as $rr) print $total n</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/fixd_8php.js b/doc/html/fixd_8php.js
new file mode 100644
index 000000000..2486b89d6
--- /dev/null
+++ b/doc/html/fixd_8php.js
@@ -0,0 +1,7 @@
+var fixd_8php =
+[
+ [ "$r", "fixd_8php.html#a8abe176bc41afd728f32ba8c506cbd98", null ],
+ [ "$rand", "fixd_8php.html#a2da3681c9cce2efe7de29aa578ff4219", null ],
+ [ "$total", "fixd_8php.html#a241b818f48030b628685b2e5119c5624", null ],
+ [ "n", "fixd_8php.html#a9d4f8a2ab4d92b3ccfd7cba0458098eb", null ]
+]; \ No newline at end of file
diff --git a/doc/html/full_8php.html b/doc/html/full_8php.html
index 1d4f388a1..711ab2fec 100644
--- a/doc/html/full_8php.html
+++ b/doc/html/full_8php.html
@@ -112,7 +112,7 @@ $(document).ready(function(){initNavTree('full_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
-<tr class="memitem:a3987f5547ceb7e36a210a66a06241a5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="full_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
+<tr class="memitem:a3987f5547ceb7e36a210a66a06241a5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="full_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
<tr class="separator:a3987f5547ceb7e36a210a66a06241a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Variable Documentation</h2>
@@ -121,7 +121,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
+ <td class="memname">if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
</tr>
</table>
</div><div class="memdoc">
diff --git a/doc/html/functions.html b/doc/html/functions.html
index 8434afa68..be0509f05 100644
--- a/doc/html/functions.html
+++ b/doc/html/functions.html
@@ -166,12 +166,6 @@ $(document).ready(function(){initNavTree('functions.html','');});
<li>$browser
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a167ae032bd2ad8e6caa2e1e1a6f1b5d3">RedMatrix\RedDAV\RedBasicAuth</a>
</li>
-<li>$cached_profile_image
-: <a class="el" href="classApp.html#abe0e4fa91097f7a6588e1213a834121c">App</a>
-</li>
-<li>$cached_profile_picdate
-: <a class="el" href="classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e">App</a>
-</li>
<li>$category
: <a class="el" href="classApp.html#a5cfc098c061b7d765add58fd2ca97445">App</a>
</li>
@@ -225,15 +219,12 @@ $(document).ready(function(){initNavTree('functions.html','');});
<li>$conversation
: <a class="el" href="classItem.html#a007424e3e3171dcfb4312a02161da6cd">Item</a>
</li>
+<li>$credentials
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f">RedMatrix\Import\Import</a>
+</li>
<li>$css_sources
: <a class="el" href="classApp.html#a6f55d087e1ff4710132c1b0863faa2ee">App</a>
</li>
-<li>$curl_code
-: <a class="el" href="classApp.html#a256360c9184fed6d7556e0bc0a835d7f">App</a>
-</li>
-<li>$curl_headers
-: <a class="el" href="classApp.html#af5007c42a693afd9c4899c243b2e1363">App</a>
-</li>
<li>$d
: <a class="el" href="classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38">Template</a>
</li>
@@ -243,13 +234,15 @@ $(document).ready(function(){initNavTree('functions.html','');});
, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a235700e2dfbe21dc41613d36e30e8acc">RedMatrix\RedDAV\RedFile</a>
</li>
<li>$db
-: <a class="el" href="classApp.html#a330410a288f3393d53772f5e98f857ea">App</a>
-, <a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">dba_driver</a>
+: <a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">dba_driver</a>
</li>
<li>$debug
: <a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">dba_driver</a>
, <a class="el" href="classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a">Template</a>
</li>
+<li>$display_mode
+: <a class="el" href="classItem.html#a88a99e2d1245925867f249f543358e72">Item</a>
+</li>
<li>$done
: <a class="el" href="classTemplate.html#abda4c8d049f70553338eae7c905e9d5c">Template</a>
</li>
@@ -293,6 +286,15 @@ $(document).ready(function(){initNavTree('functions.html','');});
<li>$interactive
: <a class="el" href="classApp.html#a4c7cfc62d39508086cf300dc2e39c4df">App</a>
</li>
+<li>$is_sys
+: <a class="el" href="classApp.html#a1f60d19d47021629faac7a0a6d917e94">App</a>
+</li>
+<li>$itemlist
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc">RedMatrix\Import\Import</a>
+</li>
+<li>$items
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c">RedMatrix\Import\Import</a>
+</li>
<li>$js_sources
: <a class="el" href="classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d">App</a>
</li>
@@ -417,6 +419,9 @@ $(document).ready(function(){initNavTree('functions.html','');});
<li>$sourcename
: <a class="el" href="classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11">App</a>
</li>
+<li>$src_items
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6">RedMatrix\Import\Import</a>
+</li>
<li>$stack
: <a class="el" href="classTemplate.html#a6f0efc256688c36110180b501067ff11">Template</a>
</li>
@@ -478,9 +483,6 @@ $(document).ready(function(){initNavTree('functions.html','');});
<li>$wall_to_wall
: <a class="el" href="classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189">Item</a>
</li>
-<li>$widgetlist
-: <a class="el" href="classApp.html#a4833bee2eae4ad1691a04fa19e11a766">App</a>
-</li>
<li>$widgets
: <a class="el" href="classApp.html#aa5a87c46ab3fee21362c466bf78042ef">App</a>
</li>
diff --git a/doc/html/functions_0x63.html b/doc/html/functions_0x63.html
index 2ee7151e5..7070c95ef 100644
--- a/doc/html/functions_0x63.html
+++ b/doc/html/functions_0x63.html
@@ -155,6 +155,7 @@ $(document).ready(function(){initNavTree('functions_0x63.html','');});
</li>
<li>close()
: <a class="el" href="classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55">dba_mysqli</a>
+, <a class="el" href="classdba__postgres.html#a731d8648b41b8a126f6b99bdd5414058">dba_postgres</a>
, <a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">dba_driver</a>
, <a class="el" href="classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e">dba_mysql</a>
</li>
@@ -166,14 +167,31 @@ $(document).ready(function(){initNavTree('functions_0x63.html','');});
: <a class="el" href="classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b">ProtoDriver</a>
, <a class="el" href="classZotDriver.html#a2e15ff09772f0608203dad1c98299394">ZotDriver</a>
</li>
+<li>concat()
+: <a class="el" href="classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#a7ea3f24ad260c1e21588f8b5af595caa">dba_postgres</a>
+</li>
<li>connect()
: <a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">dba_driver</a>
-, <a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">dba_mysqli</a>
, <a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">dba_mysql</a>
+, <a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">dba_mysqli</a>
+, <a class="el" href="classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e">dba_postgres</a>
+</li>
+<li>convert_child()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a">RedMatrix\Import\Import</a>
+</li>
+<li>convert_item()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218">RedMatrix\Import\Import</a>
+</li>
+<li>convert_taxonomy()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6">RedMatrix\Import\Import</a>
</li>
<li>count_descendants()
: <a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">Item</a>
</li>
+<li>count_unseen_descendants()
+: <a class="el" href="classItem.html#ae0c48b2fed5558642549cabd547fc4f3">Item</a>
+</li>
<li>createDirectory()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory</a>
</li>
@@ -182,8 +200,8 @@ $(document).ready(function(){initNavTree('functions_0x63.html','');});
</li>
<li>cropImage()
: <a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">photo_driver</a>
-, <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">photo_gd</a>
, <a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">photo_imagick</a>
+, <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">photo_gd</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/doc/html/functions_0x65.html b/doc/html/functions_0x65.html
index f9b5ba9bd..efb086291 100644
--- a/doc/html/functions_0x65.html
+++ b/doc/html/functions_0x65.html
@@ -142,8 +142,16 @@ $(document).ready(function(){initNavTree('functions_0x65.html','');});
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>escape()
: <a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">dba_driver</a>
-, <a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">dba_mysqli</a>
, <a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">dba_mysql</a>
+, <a class="el" href="classdba__postgres.html#a7108eaaae7cc2fb236212041afc9ac0f">dba_postgres</a>
+, <a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">dba_mysqli</a>
+</li>
+<li>escape_identifier()
+: <a class="el" href="classdba__postgres.html#ab2e44e9f41d05e585afd873d18e8c127">dba_postgres</a>
+</li>
+<li>escapebin()
+: <a class="el" href="classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#a8d2c6d8c92fe6f074452876483dd17fc">dba_postgres</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/doc/html/functions_0x67.html b/doc/html/functions_0x67.html
index 1d0e5e511..c100ff9b0 100644
--- a/doc/html/functions_0x67.html
+++ b/doc/html/functions_0x67.html
@@ -169,7 +169,8 @@ $(document).ready(function(){initNavTree('functions_0x67.html','');});
: <a class="el" href="classItem.html#a632185dd25c5caf277067c76230a4320">Item</a>
</li>
<li>get_children()
-: <a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">Item</a>
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8">RedMatrix\Import\Import</a>
+, <a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">Item</a>
</li>
<li>get_cipher()
: <a class="el" href="classConversation.html#a4aab60bb39fa6761b6cacdc8d9da2901">Conversation</a>
@@ -183,12 +184,18 @@ $(document).ready(function(){initNavTree('functions_0x67.html','');});
<li>get_conversation()
: <a class="el" href="classItem.html#a0c301aaed2b7d682728d18db3a22afa3">Item</a>
</li>
+<li>get_credentials()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">RedMatrix\Import\Import</a>
+</li>
<li>get_data()
: <a class="el" href="classItem.html#ad3638f93065693c1f69eb349feb1b7aa">Item</a>
</li>
<li>get_data_value()
: <a class="el" href="classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c">Item</a>
</li>
+<li>get_display_mode()
+: <a class="el" href="classItem.html#a23d4057883f8ed888c0c2ff12d8aa5d0">Item</a>
+</li>
<li>get_FormatsMap()
: <a class="el" href="classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4">photo_imagick</a>
</li>
@@ -201,17 +208,32 @@ $(document).ready(function(){initNavTree('functions_0x67.html','');});
<li>get_id()
: <a class="el" href="classItem.html#ac0f27e58532612f6e7a54c8a621b9b92">Item</a>
</li>
+<li>get_install_script()
+: <a class="el" href="classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48">dba_driver</a>
+</li>
<li>get_intltext_template()
: <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine</a>
</li>
+<li>get_item()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2">RedMatrix\Import\Import</a>
+</li>
+<li>get_item_ident()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059">RedMatrix\Import\Import</a>
+</li>
+<li>get_itemlist()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">RedMatrix\Import\Import</a>
+</li>
<li>get_markup_template()
-: <a class="el" href="interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442">ITemplateEngine</a>
+: <a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">Template</a>
+, <a class="el" href="interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442">ITemplateEngine</a>
, <a class="el" href="classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88">FriendicaSmartyEngine</a>
-, <a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">Template</a>
</li>
<li>get_mode()
: <a class="el" href="classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd">Conversation</a>
</li>
+<li>get_null_date()
+: <a class="el" href="classdba__driver.html#a65a5c7b355ab5529a43049e160006426">dba_driver</a>
+</li>
<li>get_observer()
: <a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">App</a>
, <a class="el" href="classConversation.html#ae3d4190142e12b57051f11f2911f77a0">Conversation</a>
@@ -240,6 +262,9 @@ $(document).ready(function(){initNavTree('functions_0x67.html','');});
<li>get_redirect_url()
: <a class="el" href="classItem.html#a428f448f89a8629055ea3294eb942aea">Item</a>
</li>
+<li>get_taxonomy()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c">RedMatrix\Import\Import</a>
+</li>
<li>get_template()
: <a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">Item</a>
</li>
@@ -280,6 +305,12 @@ $(document).ready(function(){initNavTree('functions_0x67.html','');});
<li>getDir()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory</a>
</li>
+<li>getdriver()
+: <a class="el" href="classdba__postgres.html#ae0f834413e57cf0735ae7b64b2f71e68">dba_postgres</a>
+, <a class="el" href="classdba__mysql.html#a31011edd67b6b394355bf04cedb498d0">dba_mysql</a>
+, <a class="el" href="classdba__mysqli.html#a6eb6c578c6928908321e5e6da866e1db">dba_mysqli</a>
+, <a class="el" href="classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14">dba_driver</a>
+</li>
<li>getETag()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a9f14682acf3ccb70df5af5dd0687c689">RedMatrix\RedDAV\RedFile</a>
</li>
@@ -289,18 +320,21 @@ $(document).ready(function(){initNavTree('functions_0x67.html','');});
<li>getHeight()
: <a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">photo_driver</a>
</li>
+<li>getIconFromType()
+: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a810af4506cb3247e0ea7b0c4accbbc7a">RedMatrix\RedDAV\RedBrowser</a>
+</li>
<li>getImage()
-: <a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">photo_gd</a>
+: <a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">photo_gd</a>
, <a class="el" href="classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc">photo_imagick</a>
-, <a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">photo_driver</a>
</li>
<li>getLastModified()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ac47016aa0e3f6f1a1c4570bd6fd8cf25">RedMatrix\RedDAV\RedFile</a>
, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5">RedMatrix\RedDAV\RedDirectory</a>
</li>
<li>getName()
-: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a55f7172814a0749b5342f152ab3fa0df">RedMatrix\RedDAV\RedDirectory</a>
-, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ac945aa782d6c035d339e59974266ec4d">RedMatrix\RedDAV\RedFile</a>
+: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ac945aa782d6c035d339e59974266ec4d">RedMatrix\RedDAV\RedFile</a>
+, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a55f7172814a0749b5342f152ab3fa0df">RedMatrix\RedDAV\RedDirectory</a>
</li>
<li>getQuotaInfo()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db443ed3c84938b4352fe515bf8d68">RedMatrix\RedDAV\RedDirectory</a>
diff --git a/doc/html/functions_0x69.html b/doc/html/functions_0x69.html
index 5c919b259..3d44a81a4 100644
--- a/doc/html/functions_0x69.html
+++ b/doc/html/functions_0x69.html
@@ -148,9 +148,13 @@ $(document).ready(function(){initNavTree('functions_0x69.html','');});
<li>install()
: <a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">dba_driver</a>
</li>
+<li>INSTALL_SCRIPT
+: <a class="el" href="classdba__driver.html#a98d8523dcedda316085b4d4f856b6583">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#a7267f91c3f87f600b30d7560de62dfd7">dba_postgres</a>
+</li>
<li>is_commentable()
-: <a class="el" href="classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3">Conversation</a>
-, <a class="el" href="classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967">Item</a>
+: <a class="el" href="classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967">Item</a>
+, <a class="el" href="classConversation.html#a8b47c92b69459d461ea3cc9aae9597a3">Conversation</a>
</li>
<li>is_preview()
: <a class="el" href="classConversation.html#adf25ce023b69a166c63c6e84e02c136a">Conversation</a>
diff --git a/doc/html/functions_0x6e.html b/doc/html/functions_0x6e.html
index 72fb064ff..5fde22d13 100644
--- a/doc/html/functions_0x6e.html
+++ b/doc/html/functions_0x6e.html
@@ -146,6 +146,10 @@ $(document).ready(function(){initNavTree('functions_0x6e.html','');});
<li>new_request_token()
: <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore</a>
</li>
+<li>NULL_DATE
+: <a class="el" href="classdba__driver.html#afce39394c010ea589d99a21579b2c31e">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#aeb404a85974d6c5df30c21650888000b">dba_postgres</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/functions_0x6f.html b/doc/html/functions_0x6f.html
index cff96e18b..0d3b556fc 100644
--- a/doc/html/functions_0x6f.html
+++ b/doc/html/functions_0x6f.html
@@ -140,6 +140,10 @@ $(document).ready(function(){initNavTree('functions_0x6f.html','');});
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>optimize_table()
+: <a class="el" href="classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#a3de1ac375e98886dfc38fd0066e88f90">dba_postgres</a>
+</li>
<li>orient()
: <a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">photo_driver</a>
</li>
diff --git a/doc/html/functions_0x71.html b/doc/html/functions_0x71.html
index 0fc0b0367..3419cc601 100644
--- a/doc/html/functions_0x71.html
+++ b/doc/html/functions_0x71.html
@@ -142,8 +142,13 @@ $(document).ready(function(){initNavTree('functions_0x71.html','');});
<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
<li>q()
: <a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">dba_driver</a>
-, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli</a>
, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql</a>
+, <a class="el" href="classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a">dba_postgres</a>
+, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli</a>
+</li>
+<li>quote_interval()
+: <a class="el" href="classdba__postgres.html#a56f926f218155c88807e0e06f6817a72">dba_postgres</a>
+, <a class="el" href="classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9">dba_driver</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/doc/html/functions_0x72.html b/doc/html/functions_0x72.html
index 3080f08d4..d840367ff 100644
--- a/doc/html/functions_0x72.html
+++ b/doc/html/functions_0x72.html
@@ -153,14 +153,17 @@ $(document).ready(function(){initNavTree('functions_0x72.html','');});
: <a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">Template</a>
</li>
<li>replace_macros()
-: <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template</a>
-, <a class="el" href="interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243">ITemplateEngine</a>
+: <a class="el" href="interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243">ITemplateEngine</a>
+, <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template</a>
, <a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">FriendicaSmartyEngine</a>
</li>
<li>rotate()
-: <a class="el" href="classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f">photo_imagick</a>
+: <a class="el" href="classphoto__gd.html#a77f87730b11093b76980c541159df37d">photo_gd</a>
, <a class="el" href="classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec">photo_driver</a>
-, <a class="el" href="classphoto__gd.html#a77f87730b11093b76980c541159df37d">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f">photo_imagick</a>
+</li>
+<li>run()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/doc/html/functions_0x73.html b/doc/html/functions_0x73.html
index fd9e35758..49d226ca8 100644
--- a/doc/html/functions_0x73.html
+++ b/doc/html/functions_0x73.html
@@ -182,6 +182,9 @@ $(document).ready(function(){initNavTree('functions_0x73.html','');});
<li>set_conversation()
: <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">Item</a>
</li>
+<li>set_display_mode()
+: <a class="el" href="classItem.html#ac09a4728d37b7783714243f7f8167214">Item</a>
+</li>
<li>set_groups()
: <a class="el" href="classApp.html#a3d84af5e42082098672531cd1a618853">App</a>
</li>
@@ -239,18 +242,19 @@ $(document).ready(function(){initNavTree('functions_0x73.html','');});
, <a class="el" href="classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e">photo_gd</a>
</li>
<li>setName()
-: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile</a>
-, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory</a>
+: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory</a>
+, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile</a>
</li>
<li>setTimezone()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#af6d239fefed05859327ee8db626703f9">RedMatrix\RedDAV\RedBasicAuth</a>
</li>
<li>store()
-: <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver</a>
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc">RedMatrix\Import\Import</a>
+, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver</a>
</li>
<li>supportedTypes()
-: <a class="el" href="classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7">photo_imagick</a>
-, <a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">photo_gd</a>
+: <a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7">photo_imagick</a>
, <a class="el" href="classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da">photo_driver</a>
</li>
</ul>
diff --git a/doc/html/functions_0x75.html b/doc/html/functions_0x75.html
index f85b7b8f1..69f595432 100644
--- a/doc/html/functions_0x75.html
+++ b/doc/html/functions_0x75.html
@@ -140,9 +140,20 @@ $(document).ready(function(){initNavTree('functions_0x75.html','');});
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>unescapebin()
+: <a class="el" href="classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#a677f850211975c9ab89602c67e2dcad9">dba_postgres</a>
+</li>
<li>userReadableSize()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd">RedMatrix\RedDAV\RedBrowser</a>
</li>
+<li>UTC_NOW
+: <a class="el" href="classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#ace80a204e34b20b9907650399cce02a3">dba_postgres</a>
+</li>
+<li>utcnow()
+: <a class="el" href="classdba__driver.html#ad700712879719bee23752b8f424d97d0">dba_driver</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/functions_func_0x63.html b/doc/html/functions_func_0x63.html
index 3038b7c9f..4c98531a6 100644
--- a/doc/html/functions_func_0x63.html
+++ b/doc/html/functions_func_0x63.html
@@ -154,6 +154,7 @@ $(document).ready(function(){initNavTree('functions_func_0x63.html','');});
</li>
<li>close()
: <a class="el" href="classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55">dba_mysqli</a>
+, <a class="el" href="classdba__postgres.html#a731d8648b41b8a126f6b99bdd5414058">dba_postgres</a>
, <a class="el" href="classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975">dba_driver</a>
, <a class="el" href="classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e">dba_mysql</a>
</li>
@@ -165,14 +166,31 @@ $(document).ready(function(){initNavTree('functions_func_0x63.html','');});
: <a class="el" href="classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b">ProtoDriver</a>
, <a class="el" href="classZotDriver.html#a2e15ff09772f0608203dad1c98299394">ZotDriver</a>
</li>
+<li>concat()
+: <a class="el" href="classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#a7ea3f24ad260c1e21588f8b5af595caa">dba_postgres</a>
+</li>
<li>connect()
: <a class="el" href="classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc">dba_driver</a>
-, <a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">dba_mysqli</a>
, <a class="el" href="classdba__mysql.html#a1887338627ce0e28786839363014bd0b">dba_mysql</a>
+, <a class="el" href="classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1">dba_mysqli</a>
+, <a class="el" href="classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e">dba_postgres</a>
+</li>
+<li>convert_child()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a">RedMatrix\Import\Import</a>
+</li>
+<li>convert_item()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218">RedMatrix\Import\Import</a>
+</li>
+<li>convert_taxonomy()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6">RedMatrix\Import\Import</a>
</li>
<li>count_descendants()
: <a class="el" href="classItem.html#aca1e66988ed00cd627b2a359b72cd0ae">Item</a>
</li>
+<li>count_unseen_descendants()
+: <a class="el" href="classItem.html#ae0c48b2fed5558642549cabd547fc4f3">Item</a>
+</li>
<li>createDirectory()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory</a>
</li>
@@ -181,8 +199,8 @@ $(document).ready(function(){initNavTree('functions_func_0x63.html','');});
</li>
<li>cropImage()
: <a class="el" href="classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e">photo_driver</a>
-, <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">photo_gd</a>
, <a class="el" href="classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4">photo_imagick</a>
+, <a class="el" href="classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c">photo_gd</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/doc/html/functions_func_0x65.html b/doc/html/functions_func_0x65.html
index 2add8b68a..8fa81466f 100644
--- a/doc/html/functions_func_0x65.html
+++ b/doc/html/functions_func_0x65.html
@@ -141,8 +141,16 @@ $(document).ready(function(){initNavTree('functions_func_0x65.html','');});
<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
<li>escape()
: <a class="el" href="classdba__driver.html#afc95ffa103a3290581b537670cde5311">dba_driver</a>
-, <a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">dba_mysqli</a>
, <a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">dba_mysql</a>
+, <a class="el" href="classdba__postgres.html#a7108eaaae7cc2fb236212041afc9ac0f">dba_postgres</a>
+, <a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">dba_mysqli</a>
+</li>
+<li>escape_identifier()
+: <a class="el" href="classdba__postgres.html#ab2e44e9f41d05e585afd873d18e8c127">dba_postgres</a>
+</li>
+<li>escapebin()
+: <a class="el" href="classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#a8d2c6d8c92fe6f074452876483dd17fc">dba_postgres</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/doc/html/functions_func_0x67.html b/doc/html/functions_func_0x67.html
index 62ea2d3ae..206c53287 100644
--- a/doc/html/functions_func_0x67.html
+++ b/doc/html/functions_func_0x67.html
@@ -168,7 +168,8 @@ $(document).ready(function(){initNavTree('functions_func_0x67.html','');});
: <a class="el" href="classItem.html#a632185dd25c5caf277067c76230a4320">Item</a>
</li>
<li>get_children()
-: <a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">Item</a>
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8">RedMatrix\Import\Import</a>
+, <a class="el" href="classItem.html#aa0ee775ec94abccec6c798428835d001">Item</a>
</li>
<li>get_cipher()
: <a class="el" href="classConversation.html#a4aab60bb39fa6761b6cacdc8d9da2901">Conversation</a>
@@ -182,12 +183,18 @@ $(document).ready(function(){initNavTree('functions_func_0x67.html','');});
<li>get_conversation()
: <a class="el" href="classItem.html#a0c301aaed2b7d682728d18db3a22afa3">Item</a>
</li>
+<li>get_credentials()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">RedMatrix\Import\Import</a>
+</li>
<li>get_data()
: <a class="el" href="classItem.html#ad3638f93065693c1f69eb349feb1b7aa">Item</a>
</li>
<li>get_data_value()
: <a class="el" href="classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c">Item</a>
</li>
+<li>get_display_mode()
+: <a class="el" href="classItem.html#a23d4057883f8ed888c0c2ff12d8aa5d0">Item</a>
+</li>
<li>get_FormatsMap()
: <a class="el" href="classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4">photo_imagick</a>
</li>
@@ -200,17 +207,32 @@ $(document).ready(function(){initNavTree('functions_func_0x67.html','');});
<li>get_id()
: <a class="el" href="classItem.html#ac0f27e58532612f6e7a54c8a621b9b92">Item</a>
</li>
+<li>get_install_script()
+: <a class="el" href="classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48">dba_driver</a>
+</li>
<li>get_intltext_template()
: <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine</a>
</li>
+<li>get_item()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2">RedMatrix\Import\Import</a>
+</li>
+<li>get_item_ident()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059">RedMatrix\Import\Import</a>
+</li>
+<li>get_itemlist()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">RedMatrix\Import\Import</a>
+</li>
<li>get_markup_template()
-: <a class="el" href="interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442">ITemplateEngine</a>
+: <a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">Template</a>
+, <a class="el" href="interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442">ITemplateEngine</a>
, <a class="el" href="classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88">FriendicaSmartyEngine</a>
-, <a class="el" href="classTemplate.html#afd97b4b1e7754a550e67c0ea79159059">Template</a>
</li>
<li>get_mode()
: <a class="el" href="classConversation.html#a87a0d704d5f2b1a008cc2e9ce06a1bcd">Conversation</a>
</li>
+<li>get_null_date()
+: <a class="el" href="classdba__driver.html#a65a5c7b355ab5529a43049e160006426">dba_driver</a>
+</li>
<li>get_observer()
: <a class="el" href="classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2">App</a>
, <a class="el" href="classConversation.html#ae3d4190142e12b57051f11f2911f77a0">Conversation</a>
@@ -239,6 +261,9 @@ $(document).ready(function(){initNavTree('functions_func_0x67.html','');});
<li>get_redirect_url()
: <a class="el" href="classItem.html#a428f448f89a8629055ea3294eb942aea">Item</a>
</li>
+<li>get_taxonomy()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c">RedMatrix\Import\Import</a>
+</li>
<li>get_template()
: <a class="el" href="classItem.html#aba23a0a9d89e316d2b343cc46d695d91">Item</a>
</li>
@@ -279,6 +304,12 @@ $(document).ready(function(){initNavTree('functions_func_0x67.html','');});
<li>getDir()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory</a>
</li>
+<li>getdriver()
+: <a class="el" href="classdba__postgres.html#ae0f834413e57cf0735ae7b64b2f71e68">dba_postgres</a>
+, <a class="el" href="classdba__mysql.html#a31011edd67b6b394355bf04cedb498d0">dba_mysql</a>
+, <a class="el" href="classdba__mysqli.html#a6eb6c578c6928908321e5e6da866e1db">dba_mysqli</a>
+, <a class="el" href="classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14">dba_driver</a>
+</li>
<li>getETag()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a9f14682acf3ccb70df5af5dd0687c689">RedMatrix\RedDAV\RedFile</a>
</li>
@@ -288,18 +319,21 @@ $(document).ready(function(){initNavTree('functions_func_0x67.html','');});
<li>getHeight()
: <a class="el" href="classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468">photo_driver</a>
</li>
+<li>getIconFromType()
+: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a810af4506cb3247e0ea7b0c4accbbc7a">RedMatrix\RedDAV\RedBrowser</a>
+</li>
<li>getImage()
-: <a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">photo_gd</a>
+: <a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">photo_driver</a>
+, <a class="el" href="classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484">photo_gd</a>
, <a class="el" href="classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc">photo_imagick</a>
-, <a class="el" href="classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5">photo_driver</a>
</li>
<li>getLastModified()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ac47016aa0e3f6f1a1c4570bd6fd8cf25">RedMatrix\RedDAV\RedFile</a>
, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5">RedMatrix\RedDAV\RedDirectory</a>
</li>
<li>getName()
-: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a55f7172814a0749b5342f152ab3fa0df">RedMatrix\RedDAV\RedDirectory</a>
-, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ac945aa782d6c035d339e59974266ec4d">RedMatrix\RedDAV\RedFile</a>
+: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ac945aa782d6c035d339e59974266ec4d">RedMatrix\RedDAV\RedFile</a>
+, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a55f7172814a0749b5342f152ab3fa0df">RedMatrix\RedDAV\RedDirectory</a>
</li>
<li>getQuotaInfo()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db443ed3c84938b4352fe515bf8d68">RedMatrix\RedDAV\RedDirectory</a>
diff --git a/doc/html/functions_func_0x6f.html b/doc/html/functions_func_0x6f.html
index c955abd89..382222e6f 100644
--- a/doc/html/functions_func_0x6f.html
+++ b/doc/html/functions_func_0x6f.html
@@ -139,6 +139,10 @@ $(document).ready(function(){initNavTree('functions_func_0x6f.html','');});
&#160;
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>optimize_table()
+: <a class="el" href="classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#a3de1ac375e98886dfc38fd0066e88f90">dba_postgres</a>
+</li>
<li>orient()
: <a class="el" href="classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d">photo_driver</a>
</li>
diff --git a/doc/html/functions_func_0x71.html b/doc/html/functions_func_0x71.html
index df5b7d285..186454586 100644
--- a/doc/html/functions_func_0x71.html
+++ b/doc/html/functions_func_0x71.html
@@ -141,8 +141,13 @@ $(document).ready(function(){initNavTree('functions_func_0x71.html','');});
<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
<li>q()
: <a class="el" href="classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555">dba_driver</a>
-, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli</a>
, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql</a>
+, <a class="el" href="classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a">dba_postgres</a>
+, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli</a>
+</li>
+<li>quote_interval()
+: <a class="el" href="classdba__postgres.html#a56f926f218155c88807e0e06f6817a72">dba_postgres</a>
+, <a class="el" href="classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9">dba_driver</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/doc/html/functions_func_0x72.html b/doc/html/functions_func_0x72.html
index f01b1c583..8fc461d7d 100644
--- a/doc/html/functions_func_0x72.html
+++ b/doc/html/functions_func_0x72.html
@@ -152,14 +152,17 @@ $(document).ready(function(){initNavTree('functions_func_0x72.html','');});
: <a class="el" href="classTemplate.html#a285b5b2007dbbf733476273df3fed4ef">Template</a>
</li>
<li>replace_macros()
-: <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template</a>
-, <a class="el" href="interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243">ITemplateEngine</a>
+: <a class="el" href="interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243">ITemplateEngine</a>
+, <a class="el" href="classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b">Template</a>
, <a class="el" href="classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2">FriendicaSmartyEngine</a>
</li>
<li>rotate()
-: <a class="el" href="classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f">photo_imagick</a>
+: <a class="el" href="classphoto__gd.html#a77f87730b11093b76980c541159df37d">photo_gd</a>
, <a class="el" href="classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec">photo_driver</a>
-, <a class="el" href="classphoto__gd.html#a77f87730b11093b76980c541159df37d">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f">photo_imagick</a>
+</li>
+<li>run()
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">RedMatrix\Import\Import</a>
</li>
</ul>
</div><!-- contents -->
diff --git a/doc/html/functions_func_0x73.html b/doc/html/functions_func_0x73.html
index 34697fee9..9a5cd3d9f 100644
--- a/doc/html/functions_func_0x73.html
+++ b/doc/html/functions_func_0x73.html
@@ -181,6 +181,9 @@ $(document).ready(function(){initNavTree('functions_func_0x73.html','');});
<li>set_conversation()
: <a class="el" href="classItem.html#aa8b1bbc4236890694635295e46d7fd72">Item</a>
</li>
+<li>set_display_mode()
+: <a class="el" href="classItem.html#ac09a4728d37b7783714243f7f8167214">Item</a>
+</li>
<li>set_groups()
: <a class="el" href="classApp.html#a3d84af5e42082098672531cd1a618853">App</a>
</li>
@@ -238,18 +241,19 @@ $(document).ready(function(){initNavTree('functions_func_0x73.html','');});
, <a class="el" href="classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e">photo_gd</a>
</li>
<li>setName()
-: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile</a>
-, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory</a>
+: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory</a>
+, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile</a>
</li>
<li>setTimezone()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#af6d239fefed05859327ee8db626703f9">RedMatrix\RedDAV\RedBasicAuth</a>
</li>
<li>store()
-: <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver</a>
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc">RedMatrix\Import\Import</a>
+, <a class="el" href="classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b">photo_driver</a>
</li>
<li>supportedTypes()
-: <a class="el" href="classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7">photo_imagick</a>
-, <a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">photo_gd</a>
+: <a class="el" href="classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd">photo_gd</a>
+, <a class="el" href="classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7">photo_imagick</a>
, <a class="el" href="classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da">photo_driver</a>
</li>
</ul>
diff --git a/doc/html/functions_func_0x75.html b/doc/html/functions_func_0x75.html
index 00d4ae0f4..7996cb15c 100644
--- a/doc/html/functions_func_0x75.html
+++ b/doc/html/functions_func_0x75.html
@@ -139,9 +139,16 @@ $(document).ready(function(){initNavTree('functions_func_0x75.html','');});
&#160;
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>unescapebin()
+: <a class="el" href="classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#a677f850211975c9ab89602c67e2dcad9">dba_postgres</a>
+</li>
<li>userReadableSize()
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd">RedMatrix\RedDAV\RedBrowser</a>
</li>
+<li>utcnow()
+: <a class="el" href="classdba__driver.html#ad700712879719bee23752b8f424d97d0">dba_driver</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html
index 3942c0783..a01410c3e 100644
--- a/doc/html/functions_vars.html
+++ b/doc/html/functions_vars.html
@@ -85,6 +85,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_0x24"><span>$</span></a></li>
+ <li><a href="#index_i"><span>i</span></a></li>
+ <li><a href="#index_n"><span>n</span></a></li>
+ <li><a href="#index_u"><span>u</span></a></li>
</ul>
</div>
</div><!-- top -->
@@ -146,12 +149,6 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>$browser
: <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a167ae032bd2ad8e6caa2e1e1a6f1b5d3">RedMatrix\RedDAV\RedBasicAuth</a>
</li>
-<li>$cached_profile_image
-: <a class="el" href="classApp.html#abe0e4fa91097f7a6588e1213a834121c">App</a>
-</li>
-<li>$cached_profile_picdate
-: <a class="el" href="classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e">App</a>
-</li>
<li>$category
: <a class="el" href="classApp.html#a5cfc098c061b7d765add58fd2ca97445">App</a>
</li>
@@ -205,15 +202,12 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>$conversation
: <a class="el" href="classItem.html#a007424e3e3171dcfb4312a02161da6cd">Item</a>
</li>
+<li>$credentials
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f">RedMatrix\Import\Import</a>
+</li>
<li>$css_sources
: <a class="el" href="classApp.html#a6f55d087e1ff4710132c1b0863faa2ee">App</a>
</li>
-<li>$curl_code
-: <a class="el" href="classApp.html#a256360c9184fed6d7556e0bc0a835d7f">App</a>
-</li>
-<li>$curl_headers
-: <a class="el" href="classApp.html#af5007c42a693afd9c4899c243b2e1363">App</a>
-</li>
<li>$d
: <a class="el" href="classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38">Template</a>
</li>
@@ -223,13 +217,15 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a235700e2dfbe21dc41613d36e30e8acc">RedMatrix\RedDAV\RedFile</a>
</li>
<li>$db
-: <a class="el" href="classApp.html#a330410a288f3393d53772f5e98f857ea">App</a>
-, <a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">dba_driver</a>
+: <a class="el" href="classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6">dba_driver</a>
</li>
<li>$debug
: <a class="el" href="classdba__driver.html#af48e2afeded5285766bf92e22123ed03">dba_driver</a>
, <a class="el" href="classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a">Template</a>
</li>
+<li>$display_mode
+: <a class="el" href="classItem.html#a88a99e2d1245925867f249f543358e72">Item</a>
+</li>
<li>$done
: <a class="el" href="classTemplate.html#abda4c8d049f70553338eae7c905e9d5c">Template</a>
</li>
@@ -273,6 +269,15 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>$interactive
: <a class="el" href="classApp.html#a4c7cfc62d39508086cf300dc2e39c4df">App</a>
</li>
+<li>$is_sys
+: <a class="el" href="classApp.html#a1f60d19d47021629faac7a0a6d917e94">App</a>
+</li>
+<li>$itemlist
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc">RedMatrix\Import\Import</a>
+</li>
+<li>$items
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c">RedMatrix\Import\Import</a>
+</li>
<li>$js_sources
: <a class="el" href="classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d">App</a>
</li>
@@ -397,6 +402,9 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>$sourcename
: <a class="el" href="classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11">App</a>
</li>
+<li>$src_items
+: <a class="el" href="classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6">RedMatrix\Import\Import</a>
+</li>
<li>$stack
: <a class="el" href="classTemplate.html#a6f0efc256688c36110180b501067ff11">Template</a>
</li>
@@ -458,9 +466,6 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
<li>$wall_to_wall
: <a class="el" href="classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189">Item</a>
</li>
-<li>$widgetlist
-: <a class="el" href="classApp.html#a4833bee2eae4ad1691a04fa19e11a766">App</a>
-</li>
<li>$widgets
: <a class="el" href="classApp.html#aa5a87c46ab3fee21362c466bf78042ef">App</a>
</li>
@@ -471,6 +476,30 @@ $(document).ready(function(){initNavTree('functions_vars.html','');});
: <a class="el" href="classConversation.html#ae81221251307e315f566a11f921ce0a9">Conversation</a>
</li>
</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>INSTALL_SCRIPT
+: <a class="el" href="classdba__driver.html#a98d8523dcedda316085b4d4f856b6583">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#a7267f91c3f87f600b30d7560de62dfd7">dba_postgres</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>NULL_DATE
+: <a class="el" href="classdba__driver.html#afce39394c010ea589d99a21579b2c31e">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#aeb404a85974d6c5df30c21650888000b">dba_postgres</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>UTC_NOW
+: <a class="el" href="classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8">dba_driver</a>
+, <a class="el" href="classdba__postgres.html#ace80a204e34b20b9907650399cce02a3">dba_postgres</a>
+</li>
+</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/globals.html b/doc/html/globals.html
index d96b84b06..b0a91ce95 100644
--- a/doc/html/globals.html
+++ b/doc/html/globals.html
@@ -156,9 +156,6 @@ $(document).ready(function(){initNavTree('globals.html','');});
<li>$aside
: <a class="el" href="minimalisticdarkness_8php.html#a6e5d97615c6faef5dbffe04b8024ceaf">minimalisticdarkness.php</a>
</li>
-<li>$bodyclass
-: <a class="el" href="theme_2blogga_2php_2default_8php.html#a720581ae288aa09511670563e4205a4a">default.php</a>
-</li>
<li>$called_api
: <a class="el" href="include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d">api.php</a>
</li>
@@ -184,9 +181,9 @@ $(document).ready(function(){initNavTree('globals.html','');});
: <a class="el" href="docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b">docblox_errorchecker.php</a>
</li>
<li>$files
-: <a class="el" href="extract_8php.html#a9590b15215a21e9b42eb546aeef79704">extract.php</a>
+: <a class="el" href="typo_8php.html#a9590b15215a21e9b42eb546aeef79704">typo.php</a>
+, <a class="el" href="extract_8php.html#a9590b15215a21e9b42eb546aeef79704">extract.php</a>
, <a class="el" href="tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149">tpldebug.php</a>
-, <a class="el" href="typo_8php.html#a9590b15215a21e9b42eb546aeef79704">typo.php</a>
</li>
<li>$fname
: <a class="el" href="apw_2php_2style_8php.html#ab9e0f70d44ab67f4334f9883631777fc">style.php</a>
@@ -194,12 +191,6 @@ $(document).ready(function(){initNavTree('globals.html','');});
<li>$gc_probability
: <a class="el" href="session_8php.html#a96b09cc763572f45280786a7b33feb7e">session.php</a>
</li>
-<li>$headimg
-: <a class="el" href="theme_2blogga_2php_2default_8php.html#ac7062908d1eb80c0735270f7997c4527">default.php</a>
-</li>
-<li>$headimghome
-: <a class="el" href="theme_2blogga_2php_2default_8php.html#a1230ab83d4ec9785d8f3a966f33dc5f3">default.php</a>
-</li>
<li>$i
: <a class="el" href="docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f">docblox_errorchecker.php</a>
</li>
@@ -245,15 +236,15 @@ $(document).ready(function(){initNavTree('globals.html','');});
<li>$phpfile
: <a class="el" href="php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4">php2po.php</a>
</li>
-<li>$plugin
-: <a class="el" href="post__to__red_8php.html#ada8a7130088351710bb02ed622d6bf65">post_to_red.php</a>
-</li>
-<li>$plugin_dir
-: <a class="el" href="post__to__red_8php.html#a99811555b30bde504a863e44015f2f19">post_to_red.php</a>
-</li>
<li>$pofile
: <a class="el" href="php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1">php2po.php</a>
</li>
+<li>$r
+: <a class="el" href="fixd_8php.html#a8abe176bc41afd728f32ba8c506cbd98">fixd.php</a>
+</li>
+<li>$rand
+: <a class="el" href="fixd_8php.html#a2da3681c9cce2efe7de29aa578ff4219">fixd.php</a>
+</li>
<li>$res
: <a class="el" href="docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5">docblox_errorchecker.php</a>
</li>
@@ -284,6 +275,9 @@ $(document).ready(function(){initNavTree('globals.html','');});
<li>$strongmacro
: <a class="el" href="apw_2php_2style_8php.html#aa58104ba36588bbf082cecbb3910e2ea">style.php</a>
</li>
+<li>$total
+: <a class="el" href="fixd_8php.html#a241b818f48030b628685b2e5119c5624">fixd.php</a>
+</li>
<li>$uid
: <a class="el" href="apw_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a">style.php</a>
</li>
diff --git a/doc/html/globals_0x62.html b/doc/html/globals_0x62.html
index 64384e429..a5ffe38ed 100644
--- a/doc/html/globals_0x62.html
+++ b/doc/html/globals_0x62.html
@@ -165,6 +165,12 @@ $(document).ready(function(){initNavTree('globals_0x62.html','');});
<li>bb_location()
: <a class="el" href="bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd">bbcode.php</a>
</li>
+<li>bb_map_coords()
+: <a class="el" href="bbcode_8php.html#a02d5f2434e7bb5cf683e52a9b4787f24">bbcode.php</a>
+</li>
+<li>bb_map_location()
+: <a class="el" href="bbcode_8php.html#a7cb403fd1c36d7376c2f3932a1ceb54d">bbcode.php</a>
+</li>
<li>bb_parse_app()
: <a class="el" href="bbcode_8php.html#abb02f1044ff1c635d12af690d0f2cfa2">bbcode.php</a>
</li>
@@ -222,23 +228,8 @@ $(document).ready(function(){initNavTree('globals_0x62.html','');});
<li>blocks_content()
: <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks.php</a>
</li>
-<li>blog_init()
-: <a class="el" href="blogga_2php_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b">theme.php</a>
-</li>
-<li>blog_install()
-: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae">theme.php</a>
-</li>
-<li>blog_uninstall()
-: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c">theme.php</a>
-</li>
-<li>blogtheme_display_item()
-: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5">theme.php</a>
-</li>
-<li>blogtheme_form()
-: <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">config.php</a>
-</li>
-<li>blogtheme_imgurl()
-: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">theme.php</a>
+<li>blocks_init()
+: <a class="el" href="blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9">blocks.php</a>
</li>
<li>bookmark_add()
: <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmarks.php</a>
diff --git a/doc/html/globals_0x63.html b/doc/html/globals_0x63.html
index 310dbf5c7..16df1649d 100644
--- a/doc/html/globals_0x63.html
+++ b/doc/html/globals_0x63.html
@@ -153,6 +153,9 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
<li>can_comment_on_post()
: <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">items.php</a>
</li>
+<li>catblock()
+: <a class="el" href="taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4">taxonomy.php</a>
+</li>
<li>categories_widget()
: <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">contact_widgets.php</a>
</li>
@@ -168,9 +171,6 @@ $(document).ready(function(){initNavTree('globals_0x63.html','');});
<li>chanlink_url()
: <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">text.php</a>
</li>
-<li>chanman_remove_everything_from_network()
-: <a class="el" href="chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman.php</a>
-</li>
<li>channel_content()
: <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel.php</a>
</li>
diff --git a/doc/html/globals_0x64.html b/doc/html/globals_0x64.html
index 52b9313da..77a5ed11d 100644
--- a/doc/html/globals_0x64.html
+++ b/doc/html/globals_0x64.html
@@ -156,11 +156,26 @@ $(document).ready(function(){initNavTree('globals_0x64.html','');});
<li>day_translate()
: <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">text.php</a>
</li>
+<li>db_concat()
+: <a class="el" href="dba__driver_8php.html#a7c1b98a710ead27382c958ad3216c4ee">dba_driver.php</a>
+</li>
+<li>db_getfunc()
+: <a class="el" href="dba__driver_8php.html#a2994daa03b1c23229a27e39bcab75e67">dba_driver.php</a>
+</li>
+<li>db_optimizetable()
+: <a class="el" href="dba__driver_8php.html#a75098bf1d59ea57f7ebae657a369137e">dba_driver.php</a>
+</li>
+<li>db_quoteinterval()
+: <a class="el" href="dba__driver_8php.html#acec84a8fb75d78daf657cbe5df74e25a">dba_driver.php</a>
+</li>
<li>DB_UPDATE_VERSION
: <a class="el" href="boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03">boot.php</a>
</li>
+<li>db_utcnow()
+: <a class="el" href="dba__driver_8php.html#a30e9a643be804e905f5614a3279d2645">dba_driver.php</a>
+</li>
<li>dba_factory()
-: <a class="el" href="dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947">dba_driver.php</a>
+: <a class="el" href="dba__driver_8php.html#a5df8499634c47b30191f34069d7b98c0">dba_driver.php</a>
</li>
<li>dba_timer()
: <a class="el" href="boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4">boot.php</a>
@@ -174,12 +189,30 @@ $(document).ready(function(){initNavTree('globals_0x64.html','');});
<li>dbesc_array_cb()
: <a class="el" href="dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930">dba_driver.php</a>
</li>
+<li>dbesc_identifier()
+: <a class="el" href="dba__driver_8php.html#aa051799567690a124a3b865bf902f58a">dba_driver.php</a>
+</li>
+<li>dbescbin()
+: <a class="el" href="dba__driver_8php.html#a2a38996670c2936b5769270c49c57593">dba_driver.php</a>
+</li>
+<li>dbescdate()
+: <a class="el" href="dba__driver_8php.html#a2c8a72ec73f39b17a167c90737693f78">dba_driver.php</a>
+</li>
<li>dbg()
: <a class="el" href="dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb">dba_driver.php</a>
</li>
<li>dbq()
: <a class="el" href="dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee">dba_driver.php</a>
</li>
+<li>DBTYPE_MYSQL
+: <a class="el" href="boot_8php.html#a8c9a11c47394244cbe18cd75b9726d5f">boot.php</a>
+</li>
+<li>DBTYPE_POSTGRES
+: <a class="el" href="boot_8php.html#a37ddabc112db443b4c67fbc0f708817e">boot.php</a>
+</li>
+<li>dbunescbin()
+: <a class="el" href="dba__driver_8php.html#afaaa1a7eff9c1b65b3b8c464ae37640e">dba_driver.php</a>
+</li>
<li>decode_tags()
: <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">items.php</a>
</li>
@@ -327,6 +360,9 @@ $(document).ready(function(){initNavTree('globals_0x64.html','');});
<li>diaspora_unshare()
: <a class="el" href="diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200">diaspora.php</a>
</li>
+<li>dir_flag_build()
+: <a class="el" href="dirsearch_8php.html#ab6d5fefa98da249a994b910434a669c2">dirsearch.php</a>
+</li>
<li>dir_parse_query()
: <a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dirsearch.php</a>
</li>
@@ -372,9 +408,6 @@ $(document).ready(function(){initNavTree('globals_0x64.html','');});
<li>directory_run()
: <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory.php</a>
</li>
-<li>dirprofile_init()
-: <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile.php</a>
-</li>
<li>dirsearch_content()
: <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch.php</a>
</li>
diff --git a/doc/html/globals_0x65.html b/doc/html/globals_0x65.html
index ddd15a2ec..15f68dbbc 100644
--- a/doc/html/globals_0x65.html
+++ b/doc/html/globals_0x65.html
@@ -147,20 +147,29 @@ $(document).ready(function(){initNavTree('globals_0x65.html','');});
<li>editblock_content()
: <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock.php</a>
</li>
+<li>editblock_init()
+: <a class="el" href="editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e">editblock.php</a>
+</li>
<li>editlayout_content()
: <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout.php</a>
</li>
+<li>editlayout_init()
+: <a class="el" href="editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7">editlayout.php</a>
+</li>
<li>editpost_content()
: <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost.php</a>
</li>
<li>editwebpage_content()
: <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage.php</a>
</li>
+<li>editwebpage_init()
+: <a class="el" href="editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f">editwebpage.php</a>
+</li>
<li>else
-: <a class="el" href="redbasic_2php_2style_8php.html#ab3afb90d611eca90819f597a2c0bb459">style.php</a>
-, <a class="el" href="auth_8php.html#a6f60fb54f60cd36c2430d6615a7b4f3f">auth.php</a>
+: <a class="el" href="auth_8php.html#a6f60fb54f60cd36c2430d6615a7b4f3f">auth.php</a>
, <a class="el" href="fpostit_8php.html#a501b5ca82f287509fc691c88524064c1">fpostit.php</a>
, <a class="el" href="tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c">tpldebug.php</a>
+, <a class="el" href="redbasic_2php_2style_8php.html#ab3afb90d611eca90819f597a2c0bb459">style.php</a>
</li>
<li>email_header_encode()
: <a class="el" href="include_2network_8php.html#a469b9bd700269cd07d954f1a16c5899b">network.php</a>
diff --git a/doc/html/globals_0x66.html b/doc/html/globals_0x66.html
index 628fca243..8557076c6 100644
--- a/doc/html/globals_0x66.html
+++ b/doc/html/globals_0x66.html
@@ -168,9 +168,6 @@ $(document).ready(function(){initNavTree('globals_0x66.html','');});
<li>fetch_xrd_links()
: <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">network.php</a>
</li>
-<li>field_timezone()
-: <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">datetime.php</a>
-</li>
<li>file_tag_decode()
: <a class="el" href="taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6">taxonomy.php</a>
</li>
@@ -267,12 +264,18 @@ $(document).ready(function(){initNavTree('globals_0x66.html','');});
<li>format_event_html()
: <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">event.php</a>
</li>
+<li>format_event_ical()
+: <a class="el" href="event_8php.html#a3ff7f1824540a38f4a3991a59a9542d4">event.php</a>
+</li>
<li>format_filer()
: <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">text.php</a>
</li>
<li>format_hashtags()
: <a class="el" href="text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59">text.php</a>
</li>
+<li>format_ical_text()
+: <a class="el" href="event_8php.html#a05073cd4ab837bd4a0149e8ed23ce688">event.php</a>
+</li>
<li>format_js_if_exists()
: <a class="el" href="plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f">plugin.php</a>
</li>
diff --git a/doc/html/globals_0x67.html b/doc/html/globals_0x67.html
index 97c4bc683..6f5a7ac19 100644
--- a/doc/html/globals_0x67.html
+++ b/doc/html/globals_0x67.html
@@ -150,6 +150,12 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
<li>gender_selector_min()
: <a class="el" href="profile__selectors_8php.html#a8bfa1ca2d1598a3d65f1f9bb803ca816">profile_selectors.php</a>
</li>
+<li>generate_map()
+: <a class="el" href="text_8php.html#ae0333c304ec5b4b72e66bb2933fa7357">text.php</a>
+</li>
+<li>generate_named_map()
+: <a class="el" href="text_8php.html#af5eb4a9c1599764f80c5bc71e0125d4b">text.php</a>
+</li>
<li>get_account_id()
: <a class="el" href="boot_8php.html#afe88b920aa285982edb817a0dd44eb37">boot.php</a>
</li>
@@ -183,6 +189,9 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
<li>get_channel_by_nick()
: <a class="el" href="identity_8php.html#ac73b3e13778c564c877554517a7f51ba">identity.php</a>
</li>
+<li>get_channel_default_perms()
+: <a class="el" href="identity_8php.html#a293f416ce9050220b183e08ff5890216">identity.php</a>
+</li>
<li>get_cloudpath()
: <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">attach.php</a>
</li>
@@ -288,6 +297,9 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
<li>get_poke_verbs()
: <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">text.php</a>
</li>
+<li>get_poller_runtime()
+: <a class="el" href="boot_8php.html#aa561f801e962b67a5c4d0548ea95fd17">boot.php</a>
+</li>
<li>get_profile_elements()
: <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">items.php</a>
</li>
@@ -306,6 +318,9 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
<li>get_role_perms()
: <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">permissions.php</a>
</li>
+<li>get_roles()
+: <a class="el" href="permissions_8php.html#a6b239a0d494b92a89ce7bf9c7e588991">permissions.php</a>
+</li>
<li>get_rpost_path()
: <a class="el" href="zot_8php.html#a8e22dbc6f884be3644a892a876cbd972">zot.php</a>
</li>
@@ -336,6 +351,9 @@ $(document).ready(function(){initNavTree('globals_0x67.html','');});
<li>get_things()
: <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">taxonomy.php</a>
</li>
+<li>get_timezones()
+: <a class="el" href="datetime_8php.html#afbb34604d0f6e7d2103da4f42e2487b1">datetime.php</a>
+</li>
<li>get_words()
: <a class="el" href="spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6">spam.php</a>
</li>
diff --git a/doc/html/globals_0x68.html b/doc/html/globals_0x68.html
index 8a464ae94..eda1d5c74 100644
--- a/doc/html/globals_0x68.html
+++ b/doc/html/globals_0x68.html
@@ -148,7 +148,7 @@ $(document).ready(function(){initNavTree('globals_0x68.html','');});
: <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">items.php</a>
</li>
<li>handle_tag()
-: <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">item.php</a>
+: <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">text.php</a>
</li>
<li>has_permissions()
: <a class="el" href="items_8php.html#a77051724d1784074ff187e73a4db93fe">items.php</a>
@@ -193,7 +193,7 @@ $(document).ready(function(){initNavTree('globals_0x68.html','');});
: <a class="el" href="hivenet_2php_2theme_8php.html#a3a8b539b112ae63936025236dbaf0a29">theme.php</a>
</li>
<li>home_content()
-: <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home.php</a>
+: <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home.php</a>
</li>
<li>home_init()
: <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home.php</a>
diff --git a/doc/html/globals_0x69.html b/doc/html/globals_0x69.html
index 0ea6ac4fb..46871c62e 100644
--- a/doc/html/globals_0x69.html
+++ b/doc/html/globals_0x69.html
@@ -144,6 +144,9 @@ $(document).ready(function(){initNavTree('globals_0x69.html','');});
<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>ical_wrapper()
+: <a class="el" href="event_8php.html#ab8cc2825013e724dc26229026711cf93">event.php</a>
+</li>
<li>identity_basic_export()
: <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity.php</a>
</li>
@@ -157,11 +160,12 @@ $(document).ready(function(){initNavTree('globals_0x69.html','');});
: <a class="el" href="text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a">text.php</a>
</li>
<li>if
-: <a class="el" href="redable_8php.html#a3987f5547ceb7e36a210a66a06241a5a">redable.php</a>
+: <a class="el" href="full_8php.html#a3987f5547ceb7e36a210a66a06241a5a">full.php</a>
+, <a class="el" href="redable_8php.html#a3987f5547ceb7e36a210a66a06241a5a">redable.php</a>
, <a class="el" href="apw_2php_2style_8php.html#a2f71e817b8fac88ce7f0ec5c0fb88b8d">style.php</a>
-, <a class="el" href="php2po_8php.html#a45b05625748f412ec97afcd61cf7980b">php2po.php</a>
, <a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">default.php</a>
-, <a class="el" href="full_8php.html#a3987f5547ceb7e36a210a66a06241a5a">full.php</a>
+, <a class="el" href="php2po_8php.html#a45b05625748f412ec97afcd61cf7980b">php2po.php</a>
+, <a class="el" href="php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">default.php</a>
</li>
<li>impel_init()
: <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel.php</a>
diff --git a/doc/html/globals_0x6c.html b/doc/html/globals_0x6c.html
index 5b3016536..7aac6e427 100644
--- a/doc/html/globals_0x6c.html
+++ b/doc/html/globals_0x6c.html
@@ -162,6 +162,9 @@ $(document).ready(function(){initNavTree('globals_0x6c.html','');});
<li>layouts_content()
: <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts.php</a>
</li>
+<li>layouts_init()
+: <a class="el" href="layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa">layouts.php</a>
+</li>
<li>legal_webbie()
: <a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">text.php</a>
</li>
@@ -181,11 +184,14 @@ $(document).ready(function(){initNavTree('globals_0x6c.html','');});
: <a class="el" href="text_8php.html#a11255c8c4e5245b6c24f97684826aa54">text.php</a>
</li>
<li>list_post_dates()
-: <a class="el" href="items_8php.html#aa2d3caa2f27720762b5c729e07df40fb">items.php</a>
+: <a class="el" href="items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00">items.php</a>
</li>
<li>list_public_sites()
: <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">dirsearch.php</a>
</li>
+<li>list_smilies()
+: <a class="el" href="text_8php.html#a4446c7f8996a280f7e08b7bfe6c6c8bc">text.php</a>
+</li>
<li>load_config()
: <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">config.php</a>
</li>
@@ -228,9 +234,15 @@ $(document).ready(function(){initNavTree('globals_0x6c.html','');});
<li>lockview_content()
: <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview.php</a>
</li>
+<li>locs_content()
+: <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs.php</a>
+</li>
<li>locs_post()
: <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs.php</a>
</li>
+<li>log_failed_login()
+: <a class="el" href="auth_8php.html#ae3ecb5f34f202c7f9a61c5d589f6c6e1">auth.php</a>
+</li>
<li>logger()
: <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">text.php</a>
</li>
diff --git a/doc/html/globals_0x6e.html b/doc/html/globals_0x6e.html
index 9e373f1d8..0da5b30b7 100644
--- a/doc/html/globals_0x6e.html
+++ b/doc/html/globals_0x6e.html
@@ -145,7 +145,8 @@ $(document).ready(function(){initNavTree('globals_0x6e.html','');});
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
<li>n
-: <a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">php2po.php</a>
+: <a class="el" href="fixd_8php.html#a9d4f8a2ab4d92b3ccfd7cba0458098eb">fixd.php</a>
+, <a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">php2po.php</a>
</li>
<li>namesList()
: <a class="el" href="docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b">docblox_errorchecker.php</a>
@@ -363,9 +364,6 @@ $(document).ready(function(){initNavTree('globals_0x6e.html','');});
<li>nuke_session()
: <a class="el" href="auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a">auth.php</a>
</li>
-<li>NULL_DATE
-: <a class="el" href="boot_8php.html#a6cd1b4081630b2bf7be38836cd9f410c">boot.php</a>
-</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/globals_0x70.html b/doc/html/globals_0x70.html
index 2546552fc..2f99e443d 100644
--- a/doc/html/globals_0x70.html
+++ b/doc/html/globals_0x70.html
@@ -309,9 +309,15 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
<li>PERMS_W_WALL
: <a class="el" href="boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2">boot.php</a>
</li>
+<li>PHOTO_ADULT
+: <a class="el" href="boot_8php.html#a921c55b9fa59a327a5f0e07fa1ccb2e0">boot.php</a>
+</li>
<li>photo_factory()
: <a class="el" href="photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035">photo_driver.php</a>
</li>
+<li>PHOTO_FLAG_OS
+: <a class="el" href="boot_8php.html#ab49a5d43ce1150c5af8c750ccb14e15f">boot.php</a>
+</li>
<li>photo_init()
: <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo.php</a>
</li>
@@ -450,63 +456,6 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
<li>post_post()
: <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post.php</a>
</li>
-<li>post_to_red_acct_name
-: <a class="el" href="post__to__red_8php.html#a588cea66afe0b32f27f2713d44940119">post_to_red.php</a>
-</li>
-<li>post_to_red_admin()
-: <a class="el" href="post__to__red_8php.html#aeec4125719184e7b097b3b9fba3101b5">post_to_red.php</a>
-</li>
-<li>post_to_red_deactivate()
-: <a class="el" href="post__to__red_8php.html#a49fd35f7b1cdddfe6e26ddfcf8d3c4ec">post_to_red.php</a>
-</li>
-<li>post_to_red_delete_comment()
-: <a class="el" href="post__to__red_8php.html#a5cc2a89a6d33cdb8e2ca557a69bef42d">post_to_red.php</a>
-</li>
-<li>post_to_red_delete_post()
-: <a class="el" href="post__to__red_8php.html#a4674bb5ce2baa32c559607460c39a2c5">post_to_red.php</a>
-</li>
-<li>post_to_red_display_admin_page()
-: <a class="el" href="post__to__red_8php.html#a8ec8f8809e3c5d1b2c9598c8185d63aa">post_to_red.php</a>
-</li>
-<li>post_to_red_displayAdminContent()
-: <a class="el" href="post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd">post_to_red.php</a>
-</li>
-<li>post_to_red_get_acct_name()
-: <a class="el" href="post__to__red_8php.html#ae6f3a2c0561cbeacda5be565b06de8a7">post_to_red.php</a>
-</li>
-<li>post_to_red_get_avatar()
-: <a class="el" href="post__to__red_8php.html#ae0b881461afbdba93d9329068ea52136">post_to_red.php</a>
-</li>
-<li>post_to_red_get_channel_name()
-: <a class="el" href="post__to__red_8php.html#aacba7a0646fc00ae6ac4f5dc383fccab">post_to_red.php</a>
-</li>
-<li>post_to_red_get_password()
-: <a class="el" href="post__to__red_8php.html#a4d90ac085c14f53ff4d8ab4c23477ea6">post_to_red.php</a>
-</li>
-<li>post_to_red_get_seed_location()
-: <a class="el" href="post__to__red_8php.html#a96d0ccecb96600ef1bfd50ab3f77315f">post_to_red.php</a>
-</li>
-<li>post_to_red_path
-: <a class="el" href="post__to__red_8php.html#a6210f39392a5f0fa0255cc7d3760493a">post_to_red.php</a>
-</li>
-<li>post_to_red_post()
-: <a class="el" href="post__to__red_8php.html#af5fd50e2c42ede85f8a9e8d9ee3cf540">post_to_red.php</a>
-</li>
-<li>post_to_red_post_checkbox()
-: <a class="el" href="post__to__red_8php.html#a0f139dea77a94c98f26007963eea639c">post_to_red.php</a>
-</li>
-<li>post_to_red_post_field_data()
-: <a class="el" href="post__to__red_8php.html#a7e68a8d9c83cb28d032aad3ea85ce0a6">post_to_red.php</a>
-</li>
-<li>post_to_red_post_meta_content()
-: <a class="el" href="post__to__red_8php.html#aa97aeda12ef080665f16311a4e1eb901">post_to_red.php</a>
-</li>
-<li>post_to_red_settings_link()
-: <a class="el" href="post__to__red_8php.html#a906be8f72cf1aa2e199c0683ea6a4017">post_to_red.php</a>
-</li>
-<li>post_to_red_version
-: <a class="el" href="post__to__red_8php.html#af3e7ebd361d4ed7cb6d43209970cd94a">post_to_red.php</a>
-</li>
<li>posted_dates()
: <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">items.php</a>
</li>
@@ -580,7 +529,7 @@ $(document).ready(function(){initNavTree('globals_0x70.html','');});
: <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">zot.php</a>
</li>
<li>process_delivery()
-: <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">zot.php</a>
+: <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">zot.php</a>
</li>
<li>process_location_delivery()
: <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">zot.php</a>
diff --git a/doc/html/globals_0x72.html b/doc/html/globals_0x72.html
index fb860ab29..26138e9bd 100644
--- a/doc/html/globals_0x72.html
+++ b/doc/html/globals_0x72.html
@@ -174,9 +174,6 @@ $(document).ready(function(){initNavTree('globals_0x72.html','');});
<li>receive_post()
: <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive.php</a>
</li>
-<li>red_comment()
-: <a class="el" href="post__to__red_8php.html#a085c250d4ceff5e4f10052f3d2039823">post_to_red.php</a>
-</li>
<li>red_escape_codeblock()
: <a class="el" href="items_8php.html#a49905ea75adfe8a2d110be344d18d6a6">items.php</a>
</li>
@@ -195,9 +192,6 @@ $(document).ready(function(){initNavTree('globals_0x72.html','');});
<li>RED_VERSION
: <a class="el" href="boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3">boot.php</a>
</li>
-<li>red_xmlrpc_methods()
-: <a class="el" href="post__to__red_8php.html#a3a2af6ad845239f26e86fccabf8639e1">post_to_red.php</a>
-</li>
<li>red_zrl_callback()
: <a class="el" href="items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b">items.php</a>
</li>
@@ -219,6 +213,9 @@ $(document).ready(function(){initNavTree('globals_0x72.html','');});
<li>RedFileData()
: <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">reddav.php</a>
</li>
+<li>REDMATRIX_IMPORTCHANNEL
+: <a class="el" href="refimport_8php.html#a54003135d7c8994a76e831fb6faa2fe6">refimport.php</a>
+</li>
<li>reduce()
: <a class="el" href="docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f">docblox_errorchecker.php</a>
</li>
@@ -240,6 +237,42 @@ $(document).ready(function(){initNavTree('globals_0x72.html','');});
<li>ref_session_write()
: <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">session.php</a>
</li>
+<li>refimport_content()
+: <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport.php</a>
+</li>
+<li>reflect_article_callback()
+: <a class="el" href="refimport_8php.html#a53434bc19e6264db89e18d92ddc09860">refimport.php</a>
+</li>
+<li>REFLECT_BASEURL
+: <a class="el" href="refimport_8php.html#ac43699d8ae86175e049aa4e87853caac">refimport.php</a>
+</li>
+<li>REFLECT_BLOGNAME
+: <a class="el" href="refimport_8php.html#a8459983ebf013ed5737f7ed317bfae1f">refimport.php</a>
+</li>
+<li>reflect_comment_store()
+: <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">refimport.php</a>
+</li>
+<li>REFLECT_EXPORTUSERNAME
+: <a class="el" href="refimport_8php.html#ad297afe0730c9119dd94d3cf0521b025">refimport.php</a>
+</li>
+<li>reflect_find_user()
+: <a class="el" href="refimport_8php.html#aa98de7d112e3a5b4b6956f108d04a41d">refimport.php</a>
+</li>
+<li>reflect_get_channel()
+: <a class="el" href="refimport_8php.html#a6c3e0475fde9fe72ff2492a5e3e5259c">refimport.php</a>
+</li>
+<li>REFLECT_MAXPERRUN
+: <a class="el" href="refimport_8php.html#a9c1f681f1f303400a9818696a9f96d6f">refimport.php</a>
+</li>
+<li>REFLECT_OVERWRITE
+: <a class="el" href="refimport_8php.html#aeec793cefa260f788b7d005adcb35796">refimport.php</a>
+</li>
+<li>reflect_photo_callback()
+: <a class="el" href="refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5">refimport.php</a>
+</li>
+<li>REFLECT_USERFILE
+: <a class="el" href="refimport_8php.html#a684a44d2401abf75f441591bcb41d10d">refimport.php</a>
+</li>
<li>REGISTER_APPROVE
: <a class="el" href="boot_8php.html#a7176c0f9f1c98421b97735d892cf6252">boot.php</a>
</li>
@@ -336,15 +369,15 @@ $(document).ready(function(){initNavTree('globals_0x72.html','');});
<li>rmagic_post()
: <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic.php</a>
</li>
-<li>role_selector()
-: <a class="el" href="permissions_8php.html#a50e8099ea8a4d7ed68b2a0a7ea9aa724">permissions.php</a>
-</li>
<li>rpost_callback()
: <a class="el" href="bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7">bbcode.php</a>
</li>
<li>rpost_content()
: <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost.php</a>
</li>
+<li>rrmdir()
+: <a class="el" href="Contact_8php.html#ab5895b75a3b2abdddf1cb351a8c6b58b">Contact.php</a>
+</li>
<li>rsa_sign()
: <a class="el" href="crypto_8php.html#a920e5f222d0020f47556033d8b2b6552">crypto.php</a>
</li>
diff --git a/doc/html/globals_0x73.html b/doc/html/globals_0x73.html
index 03522e36b..dadbc4e5d 100644
--- a/doc/html/globals_0x73.html
+++ b/doc/html/globals_0x73.html
@@ -177,9 +177,6 @@ $(document).ready(function(){initNavTree('globals_0x73.html','');});
<li>searchbox()
: <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">text.php</a>
</li>
-<li>select_timezone()
-: <a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">datetime.php</a>
-</li>
<li>send_message()
: <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">message.php</a>
</li>
diff --git a/doc/html/globals_0x74.html b/doc/html/globals_0x74.html
index 48ce7c771..791885bd4 100644
--- a/doc/html/globals_0x74.html
+++ b/doc/html/globals_0x74.html
@@ -237,12 +237,6 @@ $(document).ready(function(){initNavTree('globals_0x74.html','');});
<li>tgroup_check()
: <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">items.php</a>
</li>
-<li>theme_admin()
-: <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a09cd81013505f83aea0771243a1e4e53">config.php</a>
-</li>
-<li>theme_admin_post()
-: <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b">config.php</a>
-</li>
<li>theme_attachments()
: <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">text.php</a>
</li>
@@ -288,6 +282,9 @@ $(document).ready(function(){initNavTree('globals_0x74.html','');});
<li>translate_system_apps()
: <a class="el" href="include_2apps_8php.html#a48289d5cc44b7638191738106ac5d030">apps.php</a>
</li>
+<li>trim_message()
+: <a class="el" href="po2php_8php.html#a4f3dc9b019d0cd1dc171c54c991ef334">po2php.php</a>
+</li>
<li>tryoembed()
: <a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">bbcode.php</a>
</li>
diff --git a/doc/html/globals_0x75.html b/doc/html/globals_0x75.html
index 06edcdfdf..95ad7b526 100644
--- a/doc/html/globals_0x75.html
+++ b/doc/html/globals_0x75.html
@@ -144,6 +144,9 @@ $(document).ready(function(){initNavTree('globals_0x75.html','');});
<div class="textblock">Here is a list of all file members with links to the files they belong to:</div>
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>uexport_content()
+: <a class="el" href="uexport_8php.html#ae6f79d60916c01675c8cf663cb5fec84">uexport.php</a>
+</li>
<li>uexport_init()
: <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport.php</a>
</li>
@@ -207,6 +210,9 @@ $(document).ready(function(){initNavTree('globals_0x75.html','');});
<li>UPDATE_FLAGS_UPDATED
: <a class="el" href="boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0">boot.php</a>
</li>
+<li>update_home_content()
+: <a class="el" href="update__home_8php.html#a668340089acd150b830134476a647d05">update_home.php</a>
+</li>
<li>update_imported_item()
: <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">zot.php</a>
</li>
diff --git a/doc/html/globals_0x76.html b/doc/html/globals_0x76.html
index 749f67860..a37a10692 100644
--- a/doc/html/globals_0x76.html
+++ b/doc/html/globals_0x76.html
@@ -177,6 +177,39 @@ $(document).ready(function(){initNavTree('globals_0x76.html','');});
<li>visible_activity()
: <a class="el" href="conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3">conversation.php</a>
</li>
+<li>VNOTIFY_ALERT
+: <a class="el" href="boot_8php.html#a9f8a2938ddd9ee2867e6f8ce77b61b2f">boot.php</a>
+</li>
+<li>VNOTIFY_BIRTHDAY
+: <a class="el" href="boot_8php.html#ac89396b9144391acd08d6d0f9b332220">boot.php</a>
+</li>
+<li>VNOTIFY_CHANNEL
+: <a class="el" href="boot_8php.html#a7b511bd93202c43405adbe3b5bcebbfe">boot.php</a>
+</li>
+<li>VNOTIFY_EVENT
+: <a class="el" href="boot_8php.html#ad94aca4c260b8a892397786201dc4664">boot.php</a>
+</li>
+<li>VNOTIFY_EVENTTODAY
+: <a class="el" href="boot_8php.html#a76480b213af379c0c6c7fa4e39019ca9">boot.php</a>
+</li>
+<li>VNOTIFY_INFO
+: <a class="el" href="boot_8php.html#a37281c30bd92cecb499878d6778c570f">boot.php</a>
+</li>
+<li>VNOTIFY_INTRO
+: <a class="el" href="boot_8php.html#a1997c4b7d0253e036bc0fb6b20e4af71">boot.php</a>
+</li>
+<li>VNOTIFY_MAIL
+: <a class="el" href="boot_8php.html#a0afeb43da443d6ff3526ede5ecdcc3b3">boot.php</a>
+</li>
+<li>VNOTIFY_NETWORK
+: <a class="el" href="boot_8php.html#a997614f25e58f8313641e1eb0109fd10">boot.php</a>
+</li>
+<li>VNOTIFY_REGISTER
+: <a class="el" href="boot_8php.html#ae09767b94688657978ff9366ec63684b">boot.php</a>
+</li>
+<li>VNOTIFY_SYSTEM
+: <a class="el" href="boot_8php.html#a7e5627b5ca4b7464feb0f08663b19ea1">boot.php</a>
+</li>
<li>vote_content()
: <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote.php</a>
</li>
diff --git a/doc/html/globals_0x77.html b/doc/html/globals_0x77.html
index 027bdc27f..4eed5dc3a 100644
--- a/doc/html/globals_0x77.html
+++ b/doc/html/globals_0x77.html
@@ -159,6 +159,9 @@ $(document).ready(function(){initNavTree('globals_0x77.html','');});
<li>webpages_content()
: <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages.php</a>
</li>
+<li>webpages_init()
+: <a class="el" href="webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7">webpages.php</a>
+</li>
<li>wfinger_init()
: <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger.php</a>
</li>
@@ -180,6 +183,9 @@ $(document).ready(function(){initNavTree('globals_0x77.html','');});
<li>widget_bookmarkedchats()
: <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widgets.php</a>
</li>
+<li>widget_catcloud_wall()
+: <a class="el" href="widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5">widgets.php</a>
+</li>
<li>widget_categories()
: <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widgets.php</a>
</li>
@@ -234,9 +240,15 @@ $(document).ready(function(){initNavTree('globals_0x77.html','');});
<li>widget_photo_albums()
: <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widgets.php</a>
</li>
+<li>widget_photo_rand()
+: <a class="el" href="widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380">widgets.php</a>
+</li>
<li>widget_profile()
: <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widgets.php</a>
</li>
+<li>widget_random_block()
+: <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widgets.php</a>
+</li>
<li>widget_savedsearch()
: <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widgets.php</a>
</li>
@@ -261,6 +273,9 @@ $(document).ready(function(){initNavTree('globals_0x77.html','');});
<li>writepages_widget()
: <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">page_widgets.php</a>
</li>
+<li>wtagblock()
+: <a class="el" href="taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287">taxonomy.php</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/globals_0x78.html b/doc/html/globals_0x78.html
index dc2845bd9..e3a2f782c 100644
--- a/doc/html/globals_0x78.html
+++ b/doc/html/globals_0x78.html
@@ -145,7 +145,7 @@ $(document).ready(function(){initNavTree('globals_0x78.html','');});
<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
<li>x()
-: <a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">boot.php</a>
+: <a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">boot.php</a>
</li>
<li>xchan_content()
: <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan.php</a>
@@ -168,6 +168,9 @@ $(document).ready(function(){initNavTree('globals_0x78.html','');});
<li>XCHAN_FLAGS_ORPHAN
: <a class="el" href="boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f">boot.php</a>
</li>
+<li>XCHAN_FLAGS_PUBFORUM
+: <a class="el" href="boot_8php.html#a0209e605028a5bb492683951ab30d49d">boot.php</a>
+</li>
<li>XCHAN_FLAGS_SELFCENSORED
: <a class="el" href="boot_8php.html#a5a681a672e007cdc22b43345d71f07c6">boot.php</a>
</li>
diff --git a/doc/html/globals_0x7a.html b/doc/html/globals_0x7a.html
index f69270ec7..7fcd3ebdf 100644
--- a/doc/html/globals_0x7a.html
+++ b/doc/html/globals_0x7a.html
@@ -150,6 +150,12 @@ $(document).ready(function(){initNavTree('globals_0x7a.html','');});
<li>z_fetch_url()
: <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">network.php</a>
</li>
+<li>z_get_temp_dir()
+: <a class="el" href="boot_8php.html#a59717d02602a4babf2a54da8b33d93a5">boot.php</a>
+</li>
+<li>z_get_upload_dir()
+: <a class="el" href="boot_8php.html#a476c499e15caf75972fed134a8f23b2e">boot.php</a>
+</li>
<li>z_input_filter()
: <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">text.php</a>
</li>
@@ -193,13 +199,13 @@ $(document).ready(function(){initNavTree('globals_0x7a.html','');});
: <a class="el" href="text_8php.html#a29988052f3944111def3b6aaf2c7a8f6">text.php</a>
</li>
<li>zot_build_packet()
-: <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot.php</a>
+: <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot.php</a>
</li>
<li>zot_encode_locations()
: <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot.php</a>
</li>
<li>zot_feed()
-: <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">items.php</a>
+: <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">items.php</a>
</li>
<li>zot_fetch()
: <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot.php</a>
@@ -219,6 +225,9 @@ $(document).ready(function(){initNavTree('globals_0x7a.html','');});
<li>zot_new_uid()
: <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot.php</a>
</li>
+<li>zot_process_message_request()
+: <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot.php</a>
+</li>
<li>zot_process_response()
: <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot.php</a>
</li>
diff --git a/doc/html/globals_func_0x62.html b/doc/html/globals_func_0x62.html
index 099922e7d..c9af0a0ff 100644
--- a/doc/html/globals_func_0x62.html
+++ b/doc/html/globals_func_0x62.html
@@ -164,6 +164,12 @@ $(document).ready(function(){initNavTree('globals_func_0x62.html','');});
<li>bb_location()
: <a class="el" href="bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd">bbcode.php</a>
</li>
+<li>bb_map_coords()
+: <a class="el" href="bbcode_8php.html#a02d5f2434e7bb5cf683e52a9b4787f24">bbcode.php</a>
+</li>
+<li>bb_map_location()
+: <a class="el" href="bbcode_8php.html#a7cb403fd1c36d7376c2f3932a1ceb54d">bbcode.php</a>
+</li>
<li>bb_parse_app()
: <a class="el" href="bbcode_8php.html#abb02f1044ff1c635d12af690d0f2cfa2">bbcode.php</a>
</li>
@@ -221,23 +227,8 @@ $(document).ready(function(){initNavTree('globals_func_0x62.html','');});
<li>blocks_content()
: <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks.php</a>
</li>
-<li>blog_init()
-: <a class="el" href="blogga_2php_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b">theme.php</a>
-</li>
-<li>blog_install()
-: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae">theme.php</a>
-</li>
-<li>blog_uninstall()
-: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c">theme.php</a>
-</li>
-<li>blogtheme_display_item()
-: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5">theme.php</a>
-</li>
-<li>blogtheme_form()
-: <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">config.php</a>
-</li>
-<li>blogtheme_imgurl()
-: <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">theme.php</a>
+<li>blocks_init()
+: <a class="el" href="blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9">blocks.php</a>
</li>
<li>bookmark_add()
: <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmarks.php</a>
diff --git a/doc/html/globals_func_0x63.html b/doc/html/globals_func_0x63.html
index 5be537a9d..62db2f3e8 100644
--- a/doc/html/globals_func_0x63.html
+++ b/doc/html/globals_func_0x63.html
@@ -152,6 +152,9 @@ $(document).ready(function(){initNavTree('globals_func_0x63.html','');});
<li>can_comment_on_post()
: <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">items.php</a>
</li>
+<li>catblock()
+: <a class="el" href="taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4">taxonomy.php</a>
+</li>
<li>categories_widget()
: <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">contact_widgets.php</a>
</li>
@@ -167,9 +170,6 @@ $(document).ready(function(){initNavTree('globals_func_0x63.html','');});
<li>chanlink_url()
: <a class="el" href="text_8php.html#a2e8d6c402603be3a1256a16605e09c2a">text.php</a>
</li>
-<li>chanman_remove_everything_from_network()
-: <a class="el" href="chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman.php</a>
-</li>
<li>channel_content()
: <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel.php</a>
</li>
diff --git a/doc/html/globals_func_0x64.html b/doc/html/globals_func_0x64.html
index c788e8a9f..430403744 100644
--- a/doc/html/globals_func_0x64.html
+++ b/doc/html/globals_func_0x64.html
@@ -155,8 +155,23 @@ $(document).ready(function(){initNavTree('globals_func_0x64.html','');});
<li>day_translate()
: <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">text.php</a>
</li>
+<li>db_concat()
+: <a class="el" href="dba__driver_8php.html#a7c1b98a710ead27382c958ad3216c4ee">dba_driver.php</a>
+</li>
+<li>db_getfunc()
+: <a class="el" href="dba__driver_8php.html#a2994daa03b1c23229a27e39bcab75e67">dba_driver.php</a>
+</li>
+<li>db_optimizetable()
+: <a class="el" href="dba__driver_8php.html#a75098bf1d59ea57f7ebae657a369137e">dba_driver.php</a>
+</li>
+<li>db_quoteinterval()
+: <a class="el" href="dba__driver_8php.html#acec84a8fb75d78daf657cbe5df74e25a">dba_driver.php</a>
+</li>
+<li>db_utcnow()
+: <a class="el" href="dba__driver_8php.html#a30e9a643be804e905f5614a3279d2645">dba_driver.php</a>
+</li>
<li>dba_factory()
-: <a class="el" href="dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947">dba_driver.php</a>
+: <a class="el" href="dba__driver_8php.html#a5df8499634c47b30191f34069d7b98c0">dba_driver.php</a>
</li>
<li>dba_timer()
: <a class="el" href="boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4">boot.php</a>
@@ -170,12 +185,24 @@ $(document).ready(function(){initNavTree('globals_func_0x64.html','');});
<li>dbesc_array_cb()
: <a class="el" href="dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930">dba_driver.php</a>
</li>
+<li>dbesc_identifier()
+: <a class="el" href="dba__driver_8php.html#aa051799567690a124a3b865bf902f58a">dba_driver.php</a>
+</li>
+<li>dbescbin()
+: <a class="el" href="dba__driver_8php.html#a2a38996670c2936b5769270c49c57593">dba_driver.php</a>
+</li>
+<li>dbescdate()
+: <a class="el" href="dba__driver_8php.html#a2c8a72ec73f39b17a167c90737693f78">dba_driver.php</a>
+</li>
<li>dbg()
: <a class="el" href="dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb">dba_driver.php</a>
</li>
<li>dbq()
: <a class="el" href="dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee">dba_driver.php</a>
</li>
+<li>dbunescbin()
+: <a class="el" href="dba__driver_8php.html#afaaa1a7eff9c1b65b3b8c464ae37640e">dba_driver.php</a>
+</li>
<li>decode_tags()
: <a class="el" href="items_8php.html#a56b2a4abcadfac71175cd50555528cc3">items.php</a>
</li>
@@ -320,6 +347,9 @@ $(document).ready(function(){initNavTree('globals_func_0x64.html','');});
<li>diaspora_unshare()
: <a class="el" href="diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200">diaspora.php</a>
</li>
+<li>dir_flag_build()
+: <a class="el" href="dirsearch_8php.html#ab6d5fefa98da249a994b910434a669c2">dirsearch.php</a>
+</li>
<li>dir_parse_query()
: <a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dirsearch.php</a>
</li>
@@ -347,9 +377,6 @@ $(document).ready(function(){initNavTree('globals_func_0x64.html','');});
<li>directory_run()
: <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory.php</a>
</li>
-<li>dirprofile_init()
-: <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile.php</a>
-</li>
<li>dirsearch_content()
: <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch.php</a>
</li>
diff --git a/doc/html/globals_func_0x65.html b/doc/html/globals_func_0x65.html
index d52e7eb3c..fc927e91c 100644
--- a/doc/html/globals_func_0x65.html
+++ b/doc/html/globals_func_0x65.html
@@ -146,15 +146,24 @@ $(document).ready(function(){initNavTree('globals_func_0x65.html','');});
<li>editblock_content()
: <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock.php</a>
</li>
+<li>editblock_init()
+: <a class="el" href="editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e">editblock.php</a>
+</li>
<li>editlayout_content()
: <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout.php</a>
</li>
+<li>editlayout_init()
+: <a class="el" href="editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7">editlayout.php</a>
+</li>
<li>editpost_content()
: <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost.php</a>
</li>
<li>editwebpage_content()
: <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage.php</a>
</li>
+<li>editwebpage_init()
+: <a class="el" href="editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f">editwebpage.php</a>
+</li>
<li>email_header_encode()
: <a class="el" href="include_2network_8php.html#a469b9bd700269cd07d954f1a16c5899b">network.php</a>
</li>
diff --git a/doc/html/globals_func_0x66.html b/doc/html/globals_func_0x66.html
index 21ab8c7e4..66d299ca1 100644
--- a/doc/html/globals_func_0x66.html
+++ b/doc/html/globals_func_0x66.html
@@ -167,9 +167,6 @@ $(document).ready(function(){initNavTree('globals_func_0x66.html','');});
<li>fetch_xrd_links()
: <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">network.php</a>
</li>
-<li>field_timezone()
-: <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">datetime.php</a>
-</li>
<li>file_tag_decode()
: <a class="el" href="taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6">taxonomy.php</a>
</li>
@@ -263,12 +260,18 @@ $(document).ready(function(){initNavTree('globals_func_0x66.html','');});
<li>format_event_html()
: <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">event.php</a>
</li>
+<li>format_event_ical()
+: <a class="el" href="event_8php.html#a3ff7f1824540a38f4a3991a59a9542d4">event.php</a>
+</li>
<li>format_filer()
: <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">text.php</a>
</li>
<li>format_hashtags()
: <a class="el" href="text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59">text.php</a>
</li>
+<li>format_ical_text()
+: <a class="el" href="event_8php.html#a05073cd4ab837bd4a0149e8ed23ce688">event.php</a>
+</li>
<li>format_js_if_exists()
: <a class="el" href="plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f">plugin.php</a>
</li>
diff --git a/doc/html/globals_func_0x67.html b/doc/html/globals_func_0x67.html
index 26fb9961f..3ba270db9 100644
--- a/doc/html/globals_func_0x67.html
+++ b/doc/html/globals_func_0x67.html
@@ -149,6 +149,12 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
<li>gender_selector_min()
: <a class="el" href="profile__selectors_8php.html#a8bfa1ca2d1598a3d65f1f9bb803ca816">profile_selectors.php</a>
</li>
+<li>generate_map()
+: <a class="el" href="text_8php.html#ae0333c304ec5b4b72e66bb2933fa7357">text.php</a>
+</li>
+<li>generate_named_map()
+: <a class="el" href="text_8php.html#af5eb4a9c1599764f80c5bc71e0125d4b">text.php</a>
+</li>
<li>get_account_id()
: <a class="el" href="boot_8php.html#afe88b920aa285982edb817a0dd44eb37">boot.php</a>
</li>
@@ -182,6 +188,9 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
<li>get_channel_by_nick()
: <a class="el" href="identity_8php.html#ac73b3e13778c564c877554517a7f51ba">identity.php</a>
</li>
+<li>get_channel_default_perms()
+: <a class="el" href="identity_8php.html#a293f416ce9050220b183e08ff5890216">identity.php</a>
+</li>
<li>get_cloudpath()
: <a class="el" href="include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce">attach.php</a>
</li>
@@ -287,6 +296,9 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
<li>get_poke_verbs()
: <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">text.php</a>
</li>
+<li>get_poller_runtime()
+: <a class="el" href="boot_8php.html#aa561f801e962b67a5c4d0548ea95fd17">boot.php</a>
+</li>
<li>get_profile_elements()
: <a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">items.php</a>
</li>
@@ -305,6 +317,9 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
<li>get_role_perms()
: <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">permissions.php</a>
</li>
+<li>get_roles()
+: <a class="el" href="permissions_8php.html#a6b239a0d494b92a89ce7bf9c7e588991">permissions.php</a>
+</li>
<li>get_rpost_path()
: <a class="el" href="zot_8php.html#a8e22dbc6f884be3644a892a876cbd972">zot.php</a>
</li>
@@ -335,6 +350,9 @@ $(document).ready(function(){initNavTree('globals_func_0x67.html','');});
<li>get_things()
: <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">taxonomy.php</a>
</li>
+<li>get_timezones()
+: <a class="el" href="datetime_8php.html#afbb34604d0f6e7d2103da4f42e2487b1">datetime.php</a>
+</li>
<li>get_words()
: <a class="el" href="spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6">spam.php</a>
</li>
diff --git a/doc/html/globals_func_0x68.html b/doc/html/globals_func_0x68.html
index 7739ffc9b..c97ea8315 100644
--- a/doc/html/globals_func_0x68.html
+++ b/doc/html/globals_func_0x68.html
@@ -147,7 +147,7 @@ $(document).ready(function(){initNavTree('globals_func_0x68.html','');});
: <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">items.php</a>
</li>
<li>handle_tag()
-: <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">item.php</a>
+: <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">text.php</a>
</li>
<li>has_permissions()
: <a class="el" href="items_8php.html#a77051724d1784074ff187e73a4db93fe">items.php</a>
@@ -192,7 +192,7 @@ $(document).ready(function(){initNavTree('globals_func_0x68.html','');});
: <a class="el" href="hivenet_2php_2theme_8php.html#a3a8b539b112ae63936025236dbaf0a29">theme.php</a>
</li>
<li>home_content()
-: <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home.php</a>
+: <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home.php</a>
</li>
<li>home_init()
: <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home.php</a>
diff --git a/doc/html/globals_func_0x69.html b/doc/html/globals_func_0x69.html
index cc873513b..7a4c62227 100644
--- a/doc/html/globals_func_0x69.html
+++ b/doc/html/globals_func_0x69.html
@@ -143,6 +143,9 @@ $(document).ready(function(){initNavTree('globals_func_0x69.html','');});
&#160;
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>ical_wrapper()
+: <a class="el" href="event_8php.html#ab8cc2825013e724dc26229026711cf93">event.php</a>
+</li>
<li>identity_basic_export()
: <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity.php</a>
</li>
diff --git a/doc/html/globals_func_0x6c.html b/doc/html/globals_func_0x6c.html
index c0e581e73..f465f0bce 100644
--- a/doc/html/globals_func_0x6c.html
+++ b/doc/html/globals_func_0x6c.html
@@ -155,6 +155,9 @@ $(document).ready(function(){initNavTree('globals_func_0x6c.html','');});
<li>layouts_content()
: <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts.php</a>
</li>
+<li>layouts_init()
+: <a class="el" href="layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa">layouts.php</a>
+</li>
<li>legal_webbie()
: <a class="el" href="text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728">text.php</a>
</li>
@@ -174,11 +177,14 @@ $(document).ready(function(){initNavTree('globals_func_0x6c.html','');});
: <a class="el" href="text_8php.html#a11255c8c4e5245b6c24f97684826aa54">text.php</a>
</li>
<li>list_post_dates()
-: <a class="el" href="items_8php.html#aa2d3caa2f27720762b5c729e07df40fb">items.php</a>
+: <a class="el" href="items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00">items.php</a>
</li>
<li>list_public_sites()
: <a class="el" href="dirsearch_8php.html#a985d410a170549429857af6ff2673149">dirsearch.php</a>
</li>
+<li>list_smilies()
+: <a class="el" href="text_8php.html#a4446c7f8996a280f7e08b7bfe6c6c8bc">text.php</a>
+</li>
<li>load_config()
: <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">config.php</a>
</li>
@@ -221,9 +227,15 @@ $(document).ready(function(){initNavTree('globals_func_0x6c.html','');});
<li>lockview_content()
: <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview.php</a>
</li>
+<li>locs_content()
+: <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs.php</a>
+</li>
<li>locs_post()
: <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs.php</a>
</li>
+<li>log_failed_login()
+: <a class="el" href="auth_8php.html#ae3ecb5f34f202c7f9a61c5d589f6c6e1">auth.php</a>
+</li>
<li>logger()
: <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">text.php</a>
</li>
diff --git a/doc/html/globals_func_0x70.html b/doc/html/globals_func_0x70.html
index a31dcb0d0..fe1a5488a 100644
--- a/doc/html/globals_func_0x70.html
+++ b/doc/html/globals_func_0x70.html
@@ -311,54 +311,6 @@ $(document).ready(function(){initNavTree('globals_func_0x70.html','');});
<li>post_post()
: <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post.php</a>
</li>
-<li>post_to_red_admin()
-: <a class="el" href="post__to__red_8php.html#aeec4125719184e7b097b3b9fba3101b5">post_to_red.php</a>
-</li>
-<li>post_to_red_deactivate()
-: <a class="el" href="post__to__red_8php.html#a49fd35f7b1cdddfe6e26ddfcf8d3c4ec">post_to_red.php</a>
-</li>
-<li>post_to_red_delete_comment()
-: <a class="el" href="post__to__red_8php.html#a5cc2a89a6d33cdb8e2ca557a69bef42d">post_to_red.php</a>
-</li>
-<li>post_to_red_delete_post()
-: <a class="el" href="post__to__red_8php.html#a4674bb5ce2baa32c559607460c39a2c5">post_to_red.php</a>
-</li>
-<li>post_to_red_display_admin_page()
-: <a class="el" href="post__to__red_8php.html#a8ec8f8809e3c5d1b2c9598c8185d63aa">post_to_red.php</a>
-</li>
-<li>post_to_red_displayAdminContent()
-: <a class="el" href="post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd">post_to_red.php</a>
-</li>
-<li>post_to_red_get_acct_name()
-: <a class="el" href="post__to__red_8php.html#ae6f3a2c0561cbeacda5be565b06de8a7">post_to_red.php</a>
-</li>
-<li>post_to_red_get_avatar()
-: <a class="el" href="post__to__red_8php.html#ae0b881461afbdba93d9329068ea52136">post_to_red.php</a>
-</li>
-<li>post_to_red_get_channel_name()
-: <a class="el" href="post__to__red_8php.html#aacba7a0646fc00ae6ac4f5dc383fccab">post_to_red.php</a>
-</li>
-<li>post_to_red_get_password()
-: <a class="el" href="post__to__red_8php.html#a4d90ac085c14f53ff4d8ab4c23477ea6">post_to_red.php</a>
-</li>
-<li>post_to_red_get_seed_location()
-: <a class="el" href="post__to__red_8php.html#a96d0ccecb96600ef1bfd50ab3f77315f">post_to_red.php</a>
-</li>
-<li>post_to_red_post()
-: <a class="el" href="post__to__red_8php.html#af5fd50e2c42ede85f8a9e8d9ee3cf540">post_to_red.php</a>
-</li>
-<li>post_to_red_post_checkbox()
-: <a class="el" href="post__to__red_8php.html#a0f139dea77a94c98f26007963eea639c">post_to_red.php</a>
-</li>
-<li>post_to_red_post_field_data()
-: <a class="el" href="post__to__red_8php.html#a7e68a8d9c83cb28d032aad3ea85ce0a6">post_to_red.php</a>
-</li>
-<li>post_to_red_post_meta_content()
-: <a class="el" href="post__to__red_8php.html#aa97aeda12ef080665f16311a4e1eb901">post_to_red.php</a>
-</li>
-<li>post_to_red_settings_link()
-: <a class="el" href="post__to__red_8php.html#a906be8f72cf1aa2e199c0683ea6a4017">post_to_red.php</a>
-</li>
<li>posted_dates()
: <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">items.php</a>
</li>
@@ -432,7 +384,7 @@ $(document).ready(function(){initNavTree('globals_func_0x70.html','');});
: <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">zot.php</a>
</li>
<li>process_delivery()
-: <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">zot.php</a>
+: <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">zot.php</a>
</li>
<li>process_location_delivery()
: <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">zot.php</a>
diff --git a/doc/html/globals_func_0x72.html b/doc/html/globals_func_0x72.html
index bd2e05805..59369194b 100644
--- a/doc/html/globals_func_0x72.html
+++ b/doc/html/globals_func_0x72.html
@@ -167,9 +167,6 @@ $(document).ready(function(){initNavTree('globals_func_0x72.html','');});
<li>receive_post()
: <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive.php</a>
</li>
-<li>red_comment()
-: <a class="el" href="post__to__red_8php.html#a085c250d4ceff5e4f10052f3d2039823">post_to_red.php</a>
-</li>
<li>red_escape_codeblock()
: <a class="el" href="items_8php.html#a49905ea75adfe8a2d110be344d18d6a6">items.php</a>
</li>
@@ -182,9 +179,6 @@ $(document).ready(function(){initNavTree('globals_func_0x72.html','');});
<li>red_unescape_codeblock()
: <a class="el" href="items_8php.html#ad4ee16e3ff1eaf60428c61f82ba25e6a">items.php</a>
</li>
-<li>red_xmlrpc_methods()
-: <a class="el" href="post__to__red_8php.html#a3a2af6ad845239f26e86fccabf8639e1">post_to_red.php</a>
-</li>
<li>red_zrl_callback()
: <a class="el" href="items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b">items.php</a>
</li>
@@ -227,6 +221,24 @@ $(document).ready(function(){initNavTree('globals_func_0x72.html','');});
<li>ref_session_write()
: <a class="el" href="session_8php.html#ac4461c1984543d3553e73dba2771568f">session.php</a>
</li>
+<li>refimport_content()
+: <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport.php</a>
+</li>
+<li>reflect_article_callback()
+: <a class="el" href="refimport_8php.html#a53434bc19e6264db89e18d92ddc09860">refimport.php</a>
+</li>
+<li>reflect_comment_store()
+: <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">refimport.php</a>
+</li>
+<li>reflect_find_user()
+: <a class="el" href="refimport_8php.html#aa98de7d112e3a5b4b6956f108d04a41d">refimport.php</a>
+</li>
+<li>reflect_get_channel()
+: <a class="el" href="refimport_8php.html#a6c3e0475fde9fe72ff2492a5e3e5259c">refimport.php</a>
+</li>
+<li>reflect_photo_callback()
+: <a class="el" href="refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5">refimport.php</a>
+</li>
<li>register_content()
: <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register.php</a>
</li>
@@ -311,15 +323,15 @@ $(document).ready(function(){initNavTree('globals_func_0x72.html','');});
<li>rmagic_post()
: <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic.php</a>
</li>
-<li>role_selector()
-: <a class="el" href="permissions_8php.html#a50e8099ea8a4d7ed68b2a0a7ea9aa724">permissions.php</a>
-</li>
<li>rpost_callback()
: <a class="el" href="bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7">bbcode.php</a>
</li>
<li>rpost_content()
: <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost.php</a>
</li>
+<li>rrmdir()
+: <a class="el" href="Contact_8php.html#ab5895b75a3b2abdddf1cb351a8c6b58b">Contact.php</a>
+</li>
<li>rsa_sign()
: <a class="el" href="crypto_8php.html#a920e5f222d0020f47556033d8b2b6552">crypto.php</a>
</li>
diff --git a/doc/html/globals_func_0x73.html b/doc/html/globals_func_0x73.html
index dd80318c2..2cd598b41 100644
--- a/doc/html/globals_func_0x73.html
+++ b/doc/html/globals_func_0x73.html
@@ -176,9 +176,6 @@ $(document).ready(function(){initNavTree('globals_func_0x73.html','');});
<li>searchbox()
: <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">text.php</a>
</li>
-<li>select_timezone()
-: <a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">datetime.php</a>
-</li>
<li>send_message()
: <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">message.php</a>
</li>
diff --git a/doc/html/globals_func_0x74.html b/doc/html/globals_func_0x74.html
index b7027bb20..6c8d64872 100644
--- a/doc/html/globals_func_0x74.html
+++ b/doc/html/globals_func_0x74.html
@@ -185,12 +185,6 @@ $(document).ready(function(){initNavTree('globals_func_0x74.html','');});
<li>tgroup_check()
: <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">items.php</a>
</li>
-<li>theme_admin()
-: <a class="el" href="view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a09cd81013505f83aea0771243a1e4e53">config.php</a>
-</li>
-<li>theme_admin_post()
-: <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b">config.php</a>
-</li>
<li>theme_attachments()
: <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">text.php</a>
</li>
@@ -201,7 +195,7 @@ $(document).ready(function(){initNavTree('globals_func_0x74.html','');});
: <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">plugin.php</a>
</li>
<li>theme_post()
-: <a class="el" href="view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">config.php</a>
+: <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">config.php</a>
</li>
<li>theme_status()
: <a class="el" href="admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4">admin.php</a>
@@ -236,6 +230,9 @@ $(document).ready(function(){initNavTree('globals_func_0x74.html','');});
<li>translate_system_apps()
: <a class="el" href="include_2apps_8php.html#a48289d5cc44b7638191738106ac5d030">apps.php</a>
</li>
+<li>trim_message()
+: <a class="el" href="po2php_8php.html#a4f3dc9b019d0cd1dc171c54c991ef334">po2php.php</a>
+</li>
<li>tryoembed()
: <a class="el" href="bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7">bbcode.php</a>
</li>
diff --git a/doc/html/globals_func_0x75.html b/doc/html/globals_func_0x75.html
index 050f0004d..23cce5cc1 100644
--- a/doc/html/globals_func_0x75.html
+++ b/doc/html/globals_func_0x75.html
@@ -143,6 +143,9 @@ $(document).ready(function(){initNavTree('globals_func_0x75.html','');});
&#160;
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
+<li>uexport_content()
+: <a class="el" href="uexport_8php.html#ae6f79d60916c01675c8cf663cb5fec84">uexport.php</a>
+</li>
<li>uexport_init()
: <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport.php</a>
</li>
@@ -194,6 +197,9 @@ $(document).ready(function(){initNavTree('globals_func_0x75.html','');});
<li>update_feed_item()
: <a class="el" href="items_8php.html#a9b449eeae50003414b8b30ca927af434">items.php</a>
</li>
+<li>update_home_content()
+: <a class="el" href="update__home_8php.html#a668340089acd150b830134476a647d05">update_home.php</a>
+</li>
<li>update_imported_item()
: <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">zot.php</a>
</li>
diff --git a/doc/html/globals_func_0x77.html b/doc/html/globals_func_0x77.html
index 83d145707..399f6a6fc 100644
--- a/doc/html/globals_func_0x77.html
+++ b/doc/html/globals_func_0x77.html
@@ -158,6 +158,9 @@ $(document).ready(function(){initNavTree('globals_func_0x77.html','');});
<li>webpages_content()
: <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages.php</a>
</li>
+<li>webpages_init()
+: <a class="el" href="webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7">webpages.php</a>
+</li>
<li>wfinger_init()
: <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger.php</a>
</li>
@@ -176,6 +179,9 @@ $(document).ready(function(){initNavTree('globals_func_0x77.html','');});
<li>widget_bookmarkedchats()
: <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widgets.php</a>
</li>
+<li>widget_catcloud_wall()
+: <a class="el" href="widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5">widgets.php</a>
+</li>
<li>widget_categories()
: <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widgets.php</a>
</li>
@@ -230,9 +236,15 @@ $(document).ready(function(){initNavTree('globals_func_0x77.html','');});
<li>widget_photo_albums()
: <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widgets.php</a>
</li>
+<li>widget_photo_rand()
+: <a class="el" href="widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380">widgets.php</a>
+</li>
<li>widget_profile()
: <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widgets.php</a>
</li>
+<li>widget_random_block()
+: <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widgets.php</a>
+</li>
<li>widget_savedsearch()
: <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widgets.php</a>
</li>
@@ -257,6 +269,9 @@ $(document).ready(function(){initNavTree('globals_func_0x77.html','');});
<li>writepages_widget()
: <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">page_widgets.php</a>
</li>
+<li>wtagblock()
+: <a class="el" href="taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287">taxonomy.php</a>
+</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/globals_func_0x78.html b/doc/html/globals_func_0x78.html
index d20431ab2..133418043 100644
--- a/doc/html/globals_func_0x78.html
+++ b/doc/html/globals_func_0x78.html
@@ -144,7 +144,7 @@ $(document).ready(function(){initNavTree('globals_func_0x78.html','');});
<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
<li>x()
-: <a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">boot.php</a>
+: <a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">boot.php</a>
</li>
<li>xchan_content()
: <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan.php</a>
diff --git a/doc/html/globals_func_0x7a.html b/doc/html/globals_func_0x7a.html
index d55be5649..edcfe475d 100644
--- a/doc/html/globals_func_0x7a.html
+++ b/doc/html/globals_func_0x7a.html
@@ -149,6 +149,12 @@ $(document).ready(function(){initNavTree('globals_func_0x7a.html','');});
<li>z_fetch_url()
: <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">network.php</a>
</li>
+<li>z_get_temp_dir()
+: <a class="el" href="boot_8php.html#a59717d02602a4babf2a54da8b33d93a5">boot.php</a>
+</li>
+<li>z_get_upload_dir()
+: <a class="el" href="boot_8php.html#a476c499e15caf75972fed134a8f23b2e">boot.php</a>
+</li>
<li>z_input_filter()
: <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">text.php</a>
</li>
@@ -189,13 +195,13 @@ $(document).ready(function(){initNavTree('globals_func_0x7a.html','');});
: <a class="el" href="text_8php.html#a29988052f3944111def3b6aaf2c7a8f6">text.php</a>
</li>
<li>zot_build_packet()
-: <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot.php</a>
+: <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot.php</a>
</li>
<li>zot_encode_locations()
: <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot.php</a>
</li>
<li>zot_feed()
-: <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">items.php</a>
+: <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">items.php</a>
</li>
<li>zot_fetch()
: <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot.php</a>
@@ -215,6 +221,9 @@ $(document).ready(function(){initNavTree('globals_func_0x7a.html','');});
<li>zot_new_uid()
: <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot.php</a>
</li>
+<li>zot_process_message_request()
+: <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot.php</a>
+</li>
<li>zot_process_response()
: <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot.php</a>
</li>
diff --git a/doc/html/globals_vars.html b/doc/html/globals_vars.html
index db57ee822..ee5b3dd4e 100644
--- a/doc/html/globals_vars.html
+++ b/doc/html/globals_vars.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
@@ -151,9 +152,6 @@ $(document).ready(function(){initNavTree('globals_vars.html','');});
<li>$aside
: <a class="el" href="minimalisticdarkness_8php.html#a6e5d97615c6faef5dbffe04b8024ceaf">minimalisticdarkness.php</a>
</li>
-<li>$bodyclass
-: <a class="el" href="theme_2blogga_2php_2default_8php.html#a720581ae288aa09511670563e4205a4a">default.php</a>
-</li>
<li>$called_api
: <a class="el" href="include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d">api.php</a>
</li>
@@ -179,9 +177,9 @@ $(document).ready(function(){initNavTree('globals_vars.html','');});
: <a class="el" href="docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b">docblox_errorchecker.php</a>
</li>
<li>$files
-: <a class="el" href="extract_8php.html#a9590b15215a21e9b42eb546aeef79704">extract.php</a>
+: <a class="el" href="typo_8php.html#a9590b15215a21e9b42eb546aeef79704">typo.php</a>
+, <a class="el" href="extract_8php.html#a9590b15215a21e9b42eb546aeef79704">extract.php</a>
, <a class="el" href="tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149">tpldebug.php</a>
-, <a class="el" href="typo_8php.html#a9590b15215a21e9b42eb546aeef79704">typo.php</a>
</li>
<li>$fname
: <a class="el" href="apw_2php_2style_8php.html#ab9e0f70d44ab67f4334f9883631777fc">style.php</a>
@@ -189,12 +187,6 @@ $(document).ready(function(){initNavTree('globals_vars.html','');});
<li>$gc_probability
: <a class="el" href="session_8php.html#a96b09cc763572f45280786a7b33feb7e">session.php</a>
</li>
-<li>$headimg
-: <a class="el" href="theme_2blogga_2php_2default_8php.html#ac7062908d1eb80c0735270f7997c4527">default.php</a>
-</li>
-<li>$headimghome
-: <a class="el" href="theme_2blogga_2php_2default_8php.html#a1230ab83d4ec9785d8f3a966f33dc5f3">default.php</a>
-</li>
<li>$i
: <a class="el" href="docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f">docblox_errorchecker.php</a>
</li>
@@ -240,15 +232,15 @@ $(document).ready(function(){initNavTree('globals_vars.html','');});
<li>$phpfile
: <a class="el" href="php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4">php2po.php</a>
</li>
-<li>$plugin
-: <a class="el" href="post__to__red_8php.html#ada8a7130088351710bb02ed622d6bf65">post_to_red.php</a>
-</li>
-<li>$plugin_dir
-: <a class="el" href="post__to__red_8php.html#a99811555b30bde504a863e44015f2f19">post_to_red.php</a>
-</li>
<li>$pofile
: <a class="el" href="php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1">php2po.php</a>
</li>
+<li>$r
+: <a class="el" href="fixd_8php.html#a8abe176bc41afd728f32ba8c506cbd98">fixd.php</a>
+</li>
+<li>$rand
+: <a class="el" href="fixd_8php.html#a2da3681c9cce2efe7de29aa578ff4219">fixd.php</a>
+</li>
<li>$res
: <a class="el" href="docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5">docblox_errorchecker.php</a>
</li>
@@ -279,6 +271,9 @@ $(document).ready(function(){initNavTree('globals_vars.html','');});
<li>$strongmacro
: <a class="el" href="apw_2php_2style_8php.html#aa58104ba36588bbf082cecbb3910e2ea">style.php</a>
</li>
+<li>$total
+: <a class="el" href="fixd_8php.html#a241b818f48030b628685b2e5119c5624">fixd.php</a>
+</li>
<li>$uid
: <a class="el" href="apw_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a">style.php</a>
</li>
diff --git a/doc/html/globals_vars.js b/doc/html/globals_vars.js
index f614b41fa..280040c50 100644
--- a/doc/html/globals_vars.js
+++ b/doc/html/globals_vars.js
@@ -19,6 +19,7 @@ var globals_vars =
[ "s", "globals_vars_0x73.html", null ],
[ "t", "globals_vars_0x74.html", null ],
[ "u", "globals_vars_0x75.html", null ],
+ [ "v", "globals_vars_0x76.html", null ],
[ "w", "globals_vars_0x77.html", null ],
[ "x", "globals_vars_0x78.html", null ],
[ "z", "globals_vars_0x7a.html", null ]
diff --git a/doc/html/globals_vars_0x61.html b/doc/html/globals_vars_0x61.html
index bfb98856f..67bdaf4ce 100644
--- a/doc/html/globals_vars_0x61.html
+++ b/doc/html/globals_vars_0x61.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x63.html b/doc/html/globals_vars_0x63.html
index 6899381a8..c0c2ec3e8 100644
--- a/doc/html/globals_vars_0x63.html
+++ b/doc/html/globals_vars_0x63.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x64.html b/doc/html/globals_vars_0x64.html
index cb5747ff2..eeee1c304 100644
--- a/doc/html/globals_vars_0x64.html
+++ b/doc/html/globals_vars_0x64.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
@@ -142,6 +143,12 @@ $(document).ready(function(){initNavTree('globals_vars_0x64.html','');});
<li>DB_UPDATE_VERSION
: <a class="el" href="boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03">boot.php</a>
</li>
+<li>DBTYPE_MYSQL
+: <a class="el" href="boot_8php.html#a8c9a11c47394244cbe18cd75b9726d5f">boot.php</a>
+</li>
+<li>DBTYPE_POSTGRES
+: <a class="el" href="boot_8php.html#a37ddabc112db443b4c67fbc0f708817e">boot.php</a>
+</li>
<li>DEFAULT_DB_ENGINE
: <a class="el" href="boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d">boot.php</a>
</li>
diff --git a/doc/html/globals_vars_0x65.html b/doc/html/globals_vars_0x65.html
index 5bd78d6cc..586510f97 100644
--- a/doc/html/globals_vars_0x65.html
+++ b/doc/html/globals_vars_0x65.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x66.html b/doc/html/globals_vars_0x66.html
index ac01ed206..79f67b3d5 100644
--- a/doc/html/globals_vars_0x66.html
+++ b/doc/html/globals_vars_0x66.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x67.html b/doc/html/globals_vars_0x67.html
index 350a44913..6d33c7a1b 100644
--- a/doc/html/globals_vars_0x67.html
+++ b/doc/html/globals_vars_0x67.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x68.html b/doc/html/globals_vars_0x68.html
index 856ab6ec1..fba7c5730 100644
--- a/doc/html/globals_vars_0x68.html
+++ b/doc/html/globals_vars_0x68.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x69.html b/doc/html/globals_vars_0x69.html
index 483ecbf16..a2e21c212 100644
--- a/doc/html/globals_vars_0x69.html
+++ b/doc/html/globals_vars_0x69.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x6a.html b/doc/html/globals_vars_0x6a.html
index b2d1d4353..b2df893eb 100644
--- a/doc/html/globals_vars_0x6a.html
+++ b/doc/html/globals_vars_0x6a.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x6b.html b/doc/html/globals_vars_0x6b.html
index 8ebbfc2e3..6ef61e098 100644
--- a/doc/html/globals_vars_0x6b.html
+++ b/doc/html/globals_vars_0x6b.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x6c.html b/doc/html/globals_vars_0x6c.html
index f771e49cb..2532cd99d 100644
--- a/doc/html/globals_vars_0x6c.html
+++ b/doc/html/globals_vars_0x6c.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x6d.html b/doc/html/globals_vars_0x6d.html
index b6da098d2..e95cfac46 100644
--- a/doc/html/globals_vars_0x6d.html
+++ b/doc/html/globals_vars_0x6d.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x6e.html b/doc/html/globals_vars_0x6e.html
index a0a986538..42504fe64 100644
--- a/doc/html/globals_vars_0x6e.html
+++ b/doc/html/globals_vars_0x6e.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
@@ -140,7 +141,8 @@ $(document).ready(function(){initNavTree('globals_vars_0x6e.html','');});
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
<li>n
-: <a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">php2po.php</a>
+: <a class="el" href="fixd_8php.html#a9d4f8a2ab4d92b3ccfd7cba0458098eb">fixd.php</a>
+, <a class="el" href="php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b">php2po.php</a>
</li>
<li>NAMESPACE_ACTIVITY
: <a class="el" href="boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2">boot.php</a>
@@ -262,9 +264,6 @@ $(document).ready(function(){initNavTree('globals_vars_0x6e.html','');});
<li>NOTIFY_WALL
: <a class="el" href="boot_8php.html#a505410c7edc5f5bb5fa227b98359793e">boot.php</a>
</li>
-<li>NULL_DATE
-: <a class="el" href="boot_8php.html#a6cd1b4081630b2bf7be38836cd9f410c">boot.php</a>
-</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/globals_vars_0x70.html b/doc/html/globals_vars_0x70.html
index ceedc1719..549605d29 100644
--- a/doc/html/globals_vars_0x70.html
+++ b/doc/html/globals_vars_0x70.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
@@ -250,6 +251,12 @@ $(document).ready(function(){initNavTree('globals_vars_0x70.html','');});
<li>PERMS_W_WALL
: <a class="el" href="boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2">boot.php</a>
</li>
+<li>PHOTO_ADULT
+: <a class="el" href="boot_8php.html#a921c55b9fa59a327a5f0e07fa1ccb2e0">boot.php</a>
+</li>
+<li>PHOTO_FLAG_OS
+: <a class="el" href="boot_8php.html#ab49a5d43ce1150c5af8c750ccb14e15f">boot.php</a>
+</li>
<li>PHOTO_NORMAL
: <a class="el" href="boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4">boot.php</a>
</li>
@@ -277,15 +284,6 @@ $(document).ready(function(){initNavTree('globals_vars_0x70.html','');});
<li>POLL_TENSCALE
: <a class="el" href="boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc">boot.php</a>
</li>
-<li>post_to_red_acct_name
-: <a class="el" href="post__to__red_8php.html#a588cea66afe0b32f27f2713d44940119">post_to_red.php</a>
-</li>
-<li>post_to_red_path
-: <a class="el" href="post__to__red_8php.html#a6210f39392a5f0fa0255cc7d3760493a">post_to_red.php</a>
-</li>
-<li>post_to_red_version
-: <a class="el" href="post__to__red_8php.html#af3e7ebd361d4ed7cb6d43209970cd94a">post_to_red.php</a>
-</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/globals_vars_0x72.html b/doc/html/globals_vars_0x72.html
index 12c800d3f..20a6af1a9 100644
--- a/doc/html/globals_vars_0x72.html
+++ b/doc/html/globals_vars_0x72.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
@@ -151,6 +152,27 @@ $(document).ready(function(){initNavTree('globals_vars_0x72.html','');});
<li>RED_VERSION
: <a class="el" href="boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3">boot.php</a>
</li>
+<li>REDMATRIX_IMPORTCHANNEL
+: <a class="el" href="refimport_8php.html#a54003135d7c8994a76e831fb6faa2fe6">refimport.php</a>
+</li>
+<li>REFLECT_BASEURL
+: <a class="el" href="refimport_8php.html#ac43699d8ae86175e049aa4e87853caac">refimport.php</a>
+</li>
+<li>REFLECT_BLOGNAME
+: <a class="el" href="refimport_8php.html#a8459983ebf013ed5737f7ed317bfae1f">refimport.php</a>
+</li>
+<li>REFLECT_EXPORTUSERNAME
+: <a class="el" href="refimport_8php.html#ad297afe0730c9119dd94d3cf0521b025">refimport.php</a>
+</li>
+<li>REFLECT_MAXPERRUN
+: <a class="el" href="refimport_8php.html#a9c1f681f1f303400a9818696a9f96d6f">refimport.php</a>
+</li>
+<li>REFLECT_OVERWRITE
+: <a class="el" href="refimport_8php.html#aeec793cefa260f788b7d005adcb35796">refimport.php</a>
+</li>
+<li>REFLECT_USERFILE
+: <a class="el" href="refimport_8php.html#a684a44d2401abf75f441591bcb41d10d">refimport.php</a>
+</li>
<li>REGISTER_APPROVE
: <a class="el" href="boot_8php.html#a7176c0f9f1c98421b97735d892cf6252">boot.php</a>
</li>
diff --git a/doc/html/globals_vars_0x73.html b/doc/html/globals_vars_0x73.html
index 578fb9bd7..34e04bb36 100644
--- a/doc/html/globals_vars_0x73.html
+++ b/doc/html/globals_vars_0x73.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li class="current"><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x74.html b/doc/html/globals_vars_0x74.html
index 815c04462..193d418d0 100644
--- a/doc/html/globals_vars_0x74.html
+++ b/doc/html/globals_vars_0x74.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li class="current"><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x75.html b/doc/html/globals_vars_0x75.html
index 86d992d41..58204f28b 100644
--- a/doc/html/globals_vars_0x75.html
+++ b/doc/html/globals_vars_0x75.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li class="current"><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x76.html b/doc/html/globals_vars_0x76.html
new file mode 100644
index 000000000..a3452e61d
--- /dev/null
+++ b/doc/html/globals_vars_0x76.html
@@ -0,0 +1,179 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: File Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow3" class="tabs2">
+ <ul class="tablist">
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
+ </ul>
+ </div>
+ <div id="navrow4" class="tabs3">
+ <ul class="tablist">
+ <li><a href="globals_vars.html#index_0x24"><span>$</span></a></li>
+ <li><a href="globals_vars_0x61.html#index_a"><span>a</span></a></li>
+ <li><a href="globals_vars_0x63.html#index_c"><span>c</span></a></li>
+ <li><a href="globals_vars_0x64.html#index_d"><span>d</span></a></li>
+ <li><a href="globals_vars_0x65.html#index_e"><span>e</span></a></li>
+ <li><a href="globals_vars_0x66.html#index_f"><span>f</span></a></li>
+ <li><a href="globals_vars_0x67.html#index_g"><span>g</span></a></li>
+ <li><a href="globals_vars_0x68.html#index_h"><span>h</span></a></li>
+ <li><a href="globals_vars_0x69.html#index_i"><span>i</span></a></li>
+ <li><a href="globals_vars_0x6a.html#index_j"><span>j</span></a></li>
+ <li><a href="globals_vars_0x6b.html#index_k"><span>k</span></a></li>
+ <li><a href="globals_vars_0x6c.html#index_l"><span>l</span></a></li>
+ <li><a href="globals_vars_0x6d.html#index_m"><span>m</span></a></li>
+ <li><a href="globals_vars_0x6e.html#index_n"><span>n</span></a></li>
+ <li><a href="globals_vars_0x70.html#index_p"><span>p</span></a></li>
+ <li><a href="globals_vars_0x72.html#index_r"><span>r</span></a></li>
+ <li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
+ <li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
+ <li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li class="current"><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
+ <li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
+ <li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
+ <li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('globals_vars_0x76.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="contents">
+&#160;
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>VNOTIFY_ALERT
+: <a class="el" href="boot_8php.html#a9f8a2938ddd9ee2867e6f8ce77b61b2f">boot.php</a>
+</li>
+<li>VNOTIFY_BIRTHDAY
+: <a class="el" href="boot_8php.html#ac89396b9144391acd08d6d0f9b332220">boot.php</a>
+</li>
+<li>VNOTIFY_CHANNEL
+: <a class="el" href="boot_8php.html#a7b511bd93202c43405adbe3b5bcebbfe">boot.php</a>
+</li>
+<li>VNOTIFY_EVENT
+: <a class="el" href="boot_8php.html#ad94aca4c260b8a892397786201dc4664">boot.php</a>
+</li>
+<li>VNOTIFY_EVENTTODAY
+: <a class="el" href="boot_8php.html#a76480b213af379c0c6c7fa4e39019ca9">boot.php</a>
+</li>
+<li>VNOTIFY_INFO
+: <a class="el" href="boot_8php.html#a37281c30bd92cecb499878d6778c570f">boot.php</a>
+</li>
+<li>VNOTIFY_INTRO
+: <a class="el" href="boot_8php.html#a1997c4b7d0253e036bc0fb6b20e4af71">boot.php</a>
+</li>
+<li>VNOTIFY_MAIL
+: <a class="el" href="boot_8php.html#a0afeb43da443d6ff3526ede5ecdcc3b3">boot.php</a>
+</li>
+<li>VNOTIFY_NETWORK
+: <a class="el" href="boot_8php.html#a997614f25e58f8313641e1eb0109fd10">boot.php</a>
+</li>
+<li>VNOTIFY_REGISTER
+: <a class="el" href="boot_8php.html#ae09767b94688657978ff9366ec63684b">boot.php</a>
+</li>
+<li>VNOTIFY_SYSTEM
+: <a class="el" href="boot_8php.html#a7e5627b5ca4b7464feb0f08663b19ea1">boot.php</a>
+</li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/globals_vars_0x77.html b/doc/html/globals_vars_0x77.html
index c9cdeb78a..042ef4a64 100644
--- a/doc/html/globals_vars_0x77.html
+++ b/doc/html/globals_vars_0x77.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li class="current"><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/globals_vars_0x78.html b/doc/html/globals_vars_0x78.html
index 4278aa8f4..41525e813 100644
--- a/doc/html/globals_vars_0x78.html
+++ b/doc/html/globals_vars_0x78.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li class="current"><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
@@ -154,6 +155,9 @@ $(document).ready(function(){initNavTree('globals_vars_0x78.html','');});
<li>XCHAN_FLAGS_ORPHAN
: <a class="el" href="boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f">boot.php</a>
</li>
+<li>XCHAN_FLAGS_PUBFORUM
+: <a class="el" href="boot_8php.html#a0209e605028a5bb492683951ab30d49d">boot.php</a>
+</li>
<li>XCHAN_FLAGS_SELFCENSORED
: <a class="el" href="boot_8php.html#a5a681a672e007cdc22b43345d71f07c6">boot.php</a>
</li>
diff --git a/doc/html/globals_vars_0x7a.html b/doc/html/globals_vars_0x7a.html
index 1d8482c2c..2f0197c73 100644
--- a/doc/html/globals_vars_0x7a.html
+++ b/doc/html/globals_vars_0x7a.html
@@ -101,6 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals_vars_0x73.html#index_s"><span>s</span></a></li>
<li><a href="globals_vars_0x74.html#index_t"><span>t</span></a></li>
<li><a href="globals_vars_0x75.html#index_u"><span>u</span></a></li>
+ <li><a href="globals_vars_0x76.html#index_v"><span>v</span></a></li>
<li><a href="globals_vars_0x77.html#index_w"><span>w</span></a></li>
<li><a href="globals_vars_0x78.html#index_x"><span>x</span></a></li>
<li class="current"><a href="globals_vars_0x7a.html#index_z"><span>z</span></a></li>
diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html
index baf1a9507..d86962f9f 100644
--- a/doc/html/hierarchy.html
+++ b/doc/html/hierarchy.html
@@ -113,48 +113,50 @@ $(document).ready(function(){initNavTree('hierarchy.html','');});
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>AbstractBasic</b></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html" target="_self">RedMatrix\RedDAV\RedBasicAuth</a></td><td class="desc">Authentication backend class for <a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedDAV</a></td></tr>
-<tr id="row_1_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classApp.html" target="_self">App</a></td><td class="desc"></td></tr>
+<tr id="row_1_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classApp.html" target="_self">App</a></td><td class="desc">Our main application structure for the life of this page</td></tr>
<tr id="row_2_"><td class="entry"><img id="arr_2_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('2_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classBaseObject.html" target="_self">BaseObject</a></td><td class="desc"></td></tr>
<tr id="row_2_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classConversation.html" target="_self">Conversation</a></td><td class="desc"></td></tr>
<tr id="row_2_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classItem.html" target="_self">Item</a></td><td class="desc"></td></tr>
<tr id="row_3_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classCache.html" target="_self">Cache</a></td><td class="desc"></td></tr>
-<tr id="row_4_"><td class="entry"><img id="arr_4_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('4_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__driver.html" target="_self">dba_driver</a></td><td class="desc"></td></tr>
+<tr id="row_4_"><td class="entry"><img id="arr_4_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('4_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__driver.html" target="_self">dba_driver</a></td><td class="desc">Abstract database driver class</td></tr>
<tr id="row_4_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__mysql.html" target="_self">dba_mysql</a></td><td class="desc"></td></tr>
-<tr id="row_4_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__mysqli.html" target="_self">dba_mysqli</a></td><td class="desc"></td></tr>
-<tr id="row_5_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classenotify.html" target="_self">enotify</a></td><td class="desc"></td></tr>
-<tr id="row_6_"><td class="entry"><img id="arr_6_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('6_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>ICollection</b></td><td class="desc"></td></tr>
-<tr id="row_6_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
-<tr id="row_7_"><td class="entry"><img id="arr_7_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('7_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>IFile</b></td><td class="desc"></td></tr>
-<tr id="row_7_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html" target="_self">RedMatrix\RedDAV\RedFile</a></td><td class="desc">This class represents a file in DAV</td></tr>
-<tr id="row_8_"><td class="entry"><img id="arr_8_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('8_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>IQuota</b></td><td class="desc"></td></tr>
-<tr id="row_8_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
-<tr id="row_9_"><td class="entry"><img id="arr_9_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="interfaceITemplateEngine.html" target="_self">ITemplateEngine</a></td><td class="desc"></td></tr>
-<tr id="row_9_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmartyEngine.html" target="_self">FriendicaSmartyEngine</a></td><td class="desc"></td></tr>
-<tr id="row_9_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classTemplate.html" target="_self">Template</a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><img id="arr_10_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('10_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Node</b></td><td class="desc"></td></tr>
-<tr id="row_10_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
-<tr id="row_10_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html" target="_self">RedMatrix\RedDAV\RedFile</a></td><td class="desc">This class represents a file in DAV</td></tr>
-<tr id="row_11_"><td class="entry"><img id="arr_11_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('11_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>OAuthDataStore</b></td><td class="desc"></td></tr>
-<tr id="row_11_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFKOAuthDataStore.html" target="_self">FKOAuthDataStore</a></td><td class="desc"></td></tr>
-<tr id="row_12_"><td class="entry"><img id="arr_12_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('12_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>OAuthServer</b></td><td class="desc"></td></tr>
-<tr id="row_12_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFKOAuth1.html" target="_self">FKOAuth1</a></td><td class="desc"></td></tr>
-<tr id="row_13_"><td class="entry"><img id="arr_13_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('13_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__driver.html" target="_self">photo_driver</a></td><td class="desc"></td></tr>
-<tr id="row_13_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__gd.html" target="_self">photo_gd</a></td><td class="desc"></td></tr>
-<tr id="row_13_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__imagick.html" target="_self">photo_imagick</a></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><img id="arr_14_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('14_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Plugin</b></td><td class="desc"></td></tr>
-<tr id="row_14_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html" target="_self">RedMatrix\RedDAV\RedBrowser</a></td><td class="desc">Provides a DAV frontend for the webbrowser</td></tr>
-<tr id="row_15_" class="even"><td class="entry"><img id="arr_15_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('15_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classProtoDriver.html" target="_self">ProtoDriver</a></td><td class="desc"></td></tr>
-<tr id="row_15_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classZotDriver.html" target="_self">ZotDriver</a></td><td class="desc"></td></tr>
-<tr id="row_16_" class="even"><td class="entry"><img id="arr_16_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('16_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Sabre</b></td><td class="desc"></td></tr>
-<tr id="row_16_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html" target="_self">RedMatrix\RedDAV\RedBasicAuth</a></td><td class="desc">Authentication backend class for <a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedDAV</a></td></tr>
-<tr id="row_16_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html" target="_self">RedMatrix\RedDAV\RedBrowser</a></td><td class="desc">Provides a DAV frontend for the webbrowser</td></tr>
-<tr id="row_16_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
-<tr id="row_16_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
-<tr id="row_16_4_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
-<tr id="row_16_5_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html" target="_self">RedMatrix\RedDAV\RedFile</a></td><td class="desc">This class represents a file in DAV</td></tr>
-<tr id="row_16_6_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html" target="_self">RedMatrix\RedDAV\RedFile</a></td><td class="desc">This class represents a file in DAV</td></tr>
-<tr id="row_17_" class="even"><td class="entry"><img id="arr_17_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('17_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Smarty</b></td><td class="desc"></td></tr>
-<tr id="row_17_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmarty.html" target="_self">FriendicaSmarty</a></td><td class="desc"></td></tr>
+<tr id="row_4_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__mysqli.html" target="_self">dba_mysqli</a></td><td class="desc"></td></tr>
+<tr id="row_4_2_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classdba__postgres.html" target="_self">dba_postgres</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classenotify.html" target="_self">enotify</a></td><td class="desc"></td></tr>
+<tr id="row_6_" class="even"><td class="entry"><img id="arr_6_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('6_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>ICollection</b></td><td class="desc"></td></tr>
+<tr id="row_6_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
+<tr id="row_7_" class="even"><td class="entry"><img id="arr_7_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('7_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>IFile</b></td><td class="desc"></td></tr>
+<tr id="row_7_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html" target="_self">RedMatrix\RedDAV\RedFile</a></td><td class="desc">This class represents a file in DAV</td></tr>
+<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1Import_1_1Import.html" target="_self">RedMatrix\Import\Import</a></td><td class="desc"></td></tr>
+<tr id="row_9_"><td class="entry"><img id="arr_9_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>IQuota</b></td><td class="desc"></td></tr>
+<tr id="row_9_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
+<tr id="row_10_"><td class="entry"><img id="arr_10_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('10_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="interfaceITemplateEngine.html" target="_self">ITemplateEngine</a></td><td class="desc"></td></tr>
+<tr id="row_10_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmartyEngine.html" target="_self">FriendicaSmartyEngine</a></td><td class="desc"></td></tr>
+<tr id="row_10_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classTemplate.html" target="_self">Template</a></td><td class="desc"></td></tr>
+<tr id="row_11_" class="even"><td class="entry"><img id="arr_11_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('11_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Node</b></td><td class="desc"></td></tr>
+<tr id="row_11_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
+<tr id="row_11_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html" target="_self">RedMatrix\RedDAV\RedFile</a></td><td class="desc">This class represents a file in DAV</td></tr>
+<tr id="row_12_"><td class="entry"><img id="arr_12_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('12_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>OAuthDataStore</b></td><td class="desc"></td></tr>
+<tr id="row_12_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFKOAuthDataStore.html" target="_self">FKOAuthDataStore</a></td><td class="desc"></td></tr>
+<tr id="row_13_"><td class="entry"><img id="arr_13_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('13_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>OAuthServer</b></td><td class="desc"></td></tr>
+<tr id="row_13_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFKOAuth1.html" target="_self">FKOAuth1</a></td><td class="desc"></td></tr>
+<tr id="row_14_"><td class="entry"><img id="arr_14_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('14_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__driver.html" target="_self">photo_driver</a></td><td class="desc"></td></tr>
+<tr id="row_14_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__gd.html" target="_self">photo_gd</a></td><td class="desc"></td></tr>
+<tr id="row_14_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classphoto__imagick.html" target="_self">photo_imagick</a></td><td class="desc"></td></tr>
+<tr id="row_15_" class="even"><td class="entry"><img id="arr_15_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('15_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Plugin</b></td><td class="desc"></td></tr>
+<tr id="row_15_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html" target="_self">RedMatrix\RedDAV\RedBrowser</a></td><td class="desc">Provides a DAV frontend for the webbrowser</td></tr>
+<tr id="row_16_" class="even"><td class="entry"><img id="arr_16_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('16_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classProtoDriver.html" target="_self">ProtoDriver</a></td><td class="desc"></td></tr>
+<tr id="row_16_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classZotDriver.html" target="_self">ZotDriver</a></td><td class="desc"></td></tr>
+<tr id="row_17_" class="even"><td class="entry"><img id="arr_17_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('17_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Sabre</b></td><td class="desc"></td></tr>
+<tr id="row_17_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html" target="_self">RedMatrix\RedDAV\RedBasicAuth</a></td><td class="desc">Authentication backend class for <a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedDAV</a></td></tr>
+<tr id="row_17_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html" target="_self">RedMatrix\RedDAV\RedBrowser</a></td><td class="desc">Provides a DAV frontend for the webbrowser</td></tr>
+<tr id="row_17_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
+<tr id="row_17_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
+<tr id="row_17_4_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" target="_self">RedMatrix\RedDAV\RedDirectory</a></td><td class="desc"><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html" title="RedDirectory class.">RedDirectory</a> class</td></tr>
+<tr id="row_17_5_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html" target="_self">RedMatrix\RedDAV\RedFile</a></td><td class="desc">This class represents a file in DAV</td></tr>
+<tr id="row_17_6_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html" target="_self">RedMatrix\RedDAV\RedFile</a></td><td class="desc">This class represents a file in DAV</td></tr>
+<tr id="row_18_" class="even"><td class="entry"><img id="arr_18_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('18_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Smarty</b></td><td class="desc"></td></tr>
+<tr id="row_18_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classFriendicaSmarty.html" target="_self">FriendicaSmarty</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
diff --git a/doc/html/hierarchy.js b/doc/html/hierarchy.js
index 006d8f3b6..83fcb9ea8 100644
--- a/doc/html/hierarchy.js
+++ b/doc/html/hierarchy.js
@@ -11,7 +11,8 @@ var hierarchy =
[ "Cache", "classCache.html", null ],
[ "dba_driver", "classdba__driver.html", [
[ "dba_mysql", "classdba__mysql.html", null ],
- [ "dba_mysqli", "classdba__mysqli.html", null ]
+ [ "dba_mysqli", "classdba__mysqli.html", null ],
+ [ "dba_postgres", "classdba__postgres.html", null ]
] ],
[ "enotify", "classenotify.html", null ],
[ "ICollection", null, [
@@ -20,6 +21,7 @@ var hierarchy =
[ "IFile", null, [
[ "RedMatrix\\RedDAV\\RedFile", "classRedMatrix_1_1RedDAV_1_1RedFile.html", null ]
] ],
+ [ "RedMatrix\\Import\\Import", "classRedMatrix_1_1Import_1_1Import.html", null ],
[ "IQuota", null, [
[ "RedMatrix\\RedDAV\\RedDirectory", "classRedMatrix_1_1RedDAV_1_1RedDirectory.html", null ]
] ],
diff --git a/doc/html/home_8php.html b/doc/html/home_8php.html
index ec629b7c2..6e5b05937 100644
--- a/doc/html/home_8php.html
+++ b/doc/html/home_8php.html
@@ -114,11 +114,11 @@ $(document).ready(function(){initNavTree('home_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:ac4642c38b6f23a8d065dd4a75c620bde"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init</a> (&amp;$a)</td></tr>
<tr class="separator:ac4642c38b6f23a8d065dd4a75c620bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa1cf697851a646755baf537f75334c46"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content</a> (&amp;$a)</td></tr>
-<tr class="separator:aa1cf697851a646755baf537f75334c46"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e3dbf78f4ed74ab2577de221190b33f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content</a> (&amp;$a, $update=0, $load=false)</td></tr>
+<tr class="separator:a6e3dbf78f4ed74ab2577de221190b33f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
-<a class="anchor" id="aa1cf697851a646755baf537f75334c46"></a>
+<a class="anchor" id="a6e3dbf78f4ed74ab2577de221190b33f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -126,12 +126,30 @@ Functions</h2></td></tr>
<td class="memname">home_content </td>
<td>(</td>
<td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$a</em></td><td>)</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$load</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
+<p>Referenced by <a class="el" href="update__home_8php.html#a668340089acd150b830134476a647d05">update_home_content()</a>.</p>
+
</div>
</div>
<a class="anchor" id="ac4642c38b6f23a8d065dd4a75c620bde"></a>
diff --git a/doc/html/home_8php.js b/doc/html/home_8php.js
index e4f6d5dc9..3aacc0b85 100644
--- a/doc/html/home_8php.js
+++ b/doc/html/home_8php.js
@@ -1,5 +1,5 @@
var home_8php =
[
- [ "home_content", "home_8php.html#aa1cf697851a646755baf537f75334c46", null ],
+ [ "home_content", "home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f", null ],
[ "home_init", "home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde", null ]
]; \ No newline at end of file
diff --git a/doc/html/html2bbcode_8php.html b/doc/html/html2bbcode_8php.html
index b04e5d27a..e1496199b 100644
--- a/doc/html/html2bbcode_8php.html
+++ b/doc/html/html2bbcode_8php.html
@@ -164,7 +164,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="bb2diaspora_8php.html#ac9061ee10fcfcdac69566b649614e625">diaspora2bb()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, and <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="bb2diaspora_8php.html#ac9061ee10fcfcdac69566b649614e625">diaspora2bb()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, and <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/html2plain_8php.html b/doc/html/html2plain_8php.html
index bf8dd4f1e..a050e25f8 100644
--- a/doc/html/html2plain_8php.html
+++ b/doc/html/html2plain_8php.html
@@ -204,7 +204,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, and <a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">email_send()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">email_send()</a>, and <a class="el" href="event_8php.html#a05073cd4ab837bd4a0149e8ed23ce688">format_ical_text()</a>.</p>
</div>
</div>
diff --git a/doc/html/hubloc_8php.html b/doc/html/hubloc_8php.html
index cd60f6b6a..66ef98c09 100644
--- a/doc/html/hubloc_8php.html
+++ b/doc/html/hubloc_8php.html
@@ -228,7 +228,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a4fe872332ff0bd8d5eae2f0c6819cb60">api_red_xchan()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a4fe872332ff0bd8d5eae2f0c6819cb60">api_red_xchan()</a>, and <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>.</p>
</div>
</div>
diff --git a/doc/html/identity_8php.html b/doc/html/identity_8php.html
index 184cb2c1f..be318d8eb 100644
--- a/doc/html/identity_8php.html
+++ b/doc/html/identity_8php.html
@@ -176,6 +176,8 @@ Functions</h2></td></tr>
<tr class="separator:a2e6a1cc35887937823ec7fbb90472afe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5650319c799de09d1b6d1076b6f839a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#a5650319c799de09d1b6d1076b6f839a4">notifications_on</a> ($channel_id, $value)</td></tr>
<tr class="separator:a5650319c799de09d1b6d1076b6f839a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a293f416ce9050220b183e08ff5890216"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="identity_8php.html#a293f416ce9050220b183e08ff5890216">get_channel_default_perms</a> ($uid)</td></tr>
+<tr class="separator:a293f416ce9050220b183e08ff5890216"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="aa870d2c1f558cfd52bef05bc124e8fa4"></a>
@@ -288,7 +290,25 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, and <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>.</p>
+<p>Referenced by <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, and <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a293f416ce9050220b183e08ff5890216"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_channel_default_perms </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, and <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>.</p>
</div>
</div>
@@ -314,7 +334,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
-<p>Referenced by <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, and <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>.</p>
+<p>Referenced by <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, and <a class="el" href="hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b">xchan_store()</a>.</p>
</div>
</div>
@@ -434,7 +454,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9">blocks_init()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="items_8php.html#a772f0ae77ad77c8ab68ed918a3870946">collect_recipients()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e">editblock_init()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7">editlayout_init()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f">editwebpage_init()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa">layouts_init()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7">webpages_init()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -612,7 +632,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
@@ -728,9 +748,9 @@ Functions</h2></td></tr>
<p>: profile_load(&amp;$a, $nickname, $profile) Generate </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">$a</td><td></td></tr>
<tr><td class="paramtype">string</td><td class="paramname">$nickname</td><td></td></tr>
- <tr><td class="paramtype">string</td><td class="paramname">$profile</td><td>Summary: Loads a profile into the <a class="el" href="classApp.html">App</a> structure. The function requires a writeable copy of the main <a class="el" href="classApp.html">App</a> structure, and the nickname of a valid channel.</td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$profile</td><td>Summary: Loads a profile into the <a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a> structure. The function requires a writeable copy of the main <a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a> structure, and the nickname of a valid channel.</td></tr>
</table>
</dd>
</dl>
@@ -739,7 +759,7 @@ Functions</h2></td></tr>
<p>The channel default theme is also selected for use, unless over-riden elsewhere. </p>
<p>load/reload current theme info</p>
-<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="block_8php.html#a9b61c96044ed2a068f18c10370a78d5c">block_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, and <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>.</p>
+<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="block_8php.html#a9b61c96044ed2a068f18c10370a78d5c">block_init()</a>, <a class="el" href="blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9">blocks_init()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e">editblock_init()</a>, <a class="el" href="editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7">editlayout_init()</a>, <a class="el" href="editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f">editwebpage_init()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa">layouts_init()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, and <a class="el" href="webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7">webpages_init()</a>.</p>
</div>
</div>
@@ -795,8 +815,6 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>.</p>
-
</div>
</div>
<a class="anchor" id="a78151baf4407a8482d2681a91a9c486b"></a>
@@ -904,7 +922,7 @@ Functions</h2></td></tr>
<dl class="section return"><dt>Returns</dt><dd>string</dd></dl>
<p>'zid' string url - url to accept zid string zid - urlencoded zid string result - the return string we calculated, change it if you want to return something else </p>
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59">format_hashtags()</a>, <a class="el" href="text_8php.html#ad8c6e13d6accf057136c5f30a23a5f08">format_mentions()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322">tryzrlaudio()</a>, <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">tryzrlvideo()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20">widget_photo()</a>, and <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59">format_hashtags()</a>, <a class="el" href="text_8php.html#ad8c6e13d6accf057136c5f30a23a5f08">format_mentions()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322">tryzrlaudio()</a>, <a class="el" href="bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8">tryzrlvideo()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20">widget_photo()</a>, <a class="el" href="widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380">widget_photo_rand()</a>, and <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>.</p>
</div>
</div>
diff --git a/doc/html/identity_8php.js b/doc/html/identity_8php.js
index ead11cd4c..92b4f2c38 100644
--- a/doc/html/identity_8php.js
+++ b/doc/html/identity_8php.js
@@ -6,6 +6,7 @@ var identity_8php =
[ "create_sys_channel", "identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05", null ],
[ "get_birthdays", "identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51", null ],
[ "get_channel_by_nick", "identity_8php.html#ac73b3e13778c564c877554517a7f51ba", null ],
+ [ "get_channel_default_perms", "identity_8php.html#a293f416ce9050220b183e08ff5890216", null ],
[ "get_default_profile_photo", "identity_8php.html#ab1485a26b032956e1496fc08c58b83ed", null ],
[ "get_events", "identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312", null ],
[ "get_my_address", "identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2", null ],
diff --git a/doc/html/include_2config_8php.html b/doc/html/include_2config_8php.html
index 496ab8186..a965b5ee5 100644
--- a/doc/html/include_2config_8php.html
+++ b/doc/html/include_2config_8php.html
@@ -159,10 +159,10 @@ Functions</h2></td></tr>
<div class="textblock"><p>Arbitrary configuration storage. </p>
<p>Note: Please do not store booleans - convert to 0/1 integer values The get_?config() functions return boolean false for keys that are unset, and this could lead to subtle bugs.</p>
<p>Arrays get stored as serialize strings.</p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>There are a few places in the code (such as the admin panel) where boolean configurations need to be fixed as of 10/08/2011.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>There are a few places in the code (such as the admin panel) where boolean configurations need to be fixed as of 10/08/2011.</dd></dl>
<ul>
<li><b>config</b> is used for hub specific configurations. It overrides the configurations from .htconfig file. The storage is of size TEXT.</li>
-<li><b>pconfig</b> is used for channel specific configurations and takes a <em>channel_id</em> as identifier. It stores for example which features are enabled per channel. The storage is of size MEDIUMTEXT. <div class="fragment"><div class="line">$var = <a class="code" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad" title="Get a particular channel&#39;s config variable given the category name ($family) and a key...">get_pconfig</a>(<a class="code" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44">local_user</a>(), <span class="stringliteral">&#39;category&#39;</span>, <span class="stringliteral">&#39;key&#39;</span>);</div>
+<li><b>pconfig</b> is used for channel specific configurations and takes a <em>channel_id</em> as identifier. It stores for example which features are enabled per channel. The storage is of size MEDIUMTEXT. <div class="fragment"><div class="line">$var = <a class="code" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad" title="Get a particular channel&#39;s config variable given the category name ($family) and a key...">get_pconfig</a>(<a class="code" href="boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44" title="Returns the entity id (channel_id) of locally logged in user or false.">local_user</a>(), <span class="stringliteral">&#39;category&#39;</span>, <span class="stringliteral">&#39;key&#39;</span>);</div>
</div><!-- fragment --></li>
<li><b>xconfig</b> is the same as pconfig, except that it uses <em>xchan</em> as an identifier. This is for example for people who do not have a local account. The storage is of size MEDIUMTEXT. <div class="fragment"><div class="line"> $observer = <a class="code" href="typo_8php.html#acebf83966ef6d7e5645a6b62ba368f9f">$a</a>-&gt;get_observer_hash();</div>
<div class="line"><span class="keywordflow">if</span> ($observer) {</div>
@@ -256,7 +256,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>mixed </dd></dl>
-<p>Referenced by <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>.</p>
+<p>Referenced by <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
</div>
</div>
@@ -340,7 +340,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>mixed Return value or false on error or if not set </dd></dl>
-<p>Referenced by <a class="el" href="account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89">account_service_class_fetch()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">allowed_email()</a>, <a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">allowed_url()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a6f0a67b6b17503c125af32763be931b7">diaspora_dispatch()</a>, <a class="el" href="diaspora_8php.html#ab99505944728d46585b8312989de533d">diaspora_dispatch_public()</a>, <a class="el" href="diaspora_8php.html#a858f70153c384f8778082cf7843a19da">diaspora_is_blacklisted()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">find_upstream_directory()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ab1485a26b032956e1496fc08c58b83ed">get_default_profile_photo()</a>, <a class="el" href="boot_8php.html#a329400dcb29897cdaae3020109272285">get_directory_realm()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90">get_max_import_size()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="identity_8php.html#a224710dfb7465b706c91134247c20afa">get_profile_fields_advanced()</a>, <a class="el" href="identity_8php.html#a4ff59df0f0a668a06a8411f87496aa21">get_profile_fields_basic()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7">RedMatrix\RedDAV\RedDirectory\getChild()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a9b9a0b5bfa4de1f78e6cafaa534b6f6a">RedMatrix\RedDAV\RedDirectory\getChildren()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">photo_gd\imageString()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="identity_8php.html#a4e996e44b50330098a04b467367a559f">is_public_profile()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">photo_imagick\load()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">new_keypair()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed_bbcode2html()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035">photo_factory()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a09cd81013505f83aea0771243a1e4e53">theme_admin()</a>, <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#a4fc13e528367f510fcb6d8bbfc559040">upgrade_link()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">valid_email()</a>, <a class="el" href="include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02">validate_email()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89">account_service_class_fetch()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">allowed_email()</a>, <a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">allowed_url()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f">check_account_admin()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a6f0a67b6b17503c125af32763be931b7">diaspora_dispatch()</a>, <a class="el" href="diaspora_8php.html#ab99505944728d46585b8312989de533d">diaspora_dispatch_public()</a>, <a class="el" href="diaspora_8php.html#a858f70153c384f8778082cf7843a19da">diaspora_is_blacklisted()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">find_upstream_directory()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ab1485a26b032956e1496fc08c58b83ed">get_default_profile_photo()</a>, <a class="el" href="boot_8php.html#a329400dcb29897cdaae3020109272285">get_directory_realm()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements()</a>, <a class="el" href="boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90">get_max_import_size()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="boot_8php.html#aa561f801e962b67a5c4d0548ea95fd17">get_poller_runtime()</a>, <a class="el" href="identity_8php.html#a224710dfb7465b706c91134247c20afa">get_profile_fields_advanced()</a>, <a class="el" href="identity_8php.html#a4ff59df0f0a668a06a8411f87496aa21">get_profile_fields_basic()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7">RedMatrix\RedDAV\RedDirectory\getChild()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a9b9a0b5bfa4de1f78e6cafaa534b6f6a">RedMatrix\RedDAV\RedDirectory\getChildren()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="event_8php.html#ab8cc2825013e724dc26229026711cf93">ical_wrapper()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00">photo_gd\imageString()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="identity_8php.html#a4e996e44b50330098a04b467367a559f">is_public_profile()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8">photo_imagick\load()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="auth_8php.html#ae3ecb5f34f202c7f9a61c5d589f6c6e1">log_failed_login()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8">mark_orphan_hubsxchans()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">new_keypair()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed_bbcode2html()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035">photo_factory()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="session_8php.html#ac95373f4966862a028033dd2f94d4da1">ref_session_gc()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="Contact_8php.html#acc12cda999c88c4d6185cca967c15125">remove_all_xchan_resources()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="text_8php.html#a8264348059abd1d4d5bb521323d3b19a">unobscure()</a>, <a class="el" href="zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd">update_modtime()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#a4fc13e528367f510fcb6d8bbfc559040">upgrade_link()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">valid_email()</a>, <a class="el" href="include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02">validate_email()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="boot_8php.html#a59717d02602a4babf2a54da8b33d93a5">z_get_temp_dir()</a>, <a class="el" href="boot_8php.html#a476c499e15caf75972fed134a8f23b2e">z_get_upload_dir()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -433,7 +433,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>mixed Stored value or false if it does not exist </dd></dl>
-<p>Referenced by <a class="el" href="classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09">Conversation\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">fix_attached_file_permissions()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="boot_8php.html#a50a6707a28c7d05d3f49eaabc7994501">load_pdl()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, and <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>.</p>
+<p>Referenced by <a class="el" href="classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09">Conversation\__construct()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6">contact_remove()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">fix_attached_file_permissions()</a>, <a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#a332df795f684788002f5a6424abacfd7">get_online_status()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3">get_theme_uid()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="boot_8php.html#a50a6707a28c7d05d3f49eaabc7994501">load_pdl()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
</div>
</div>
@@ -610,7 +610,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>mixed Return the set value, or false if the database update failed </dd></dl>
-<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>, <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">find_upstream_directory()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b">theme_admin_post()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="statistics__fns_8php.html#a05858927cce81fd367aedf85a94ed90c">update_channels_total_stat()</a>, <a class="el" href="statistics__fns_8php.html#a9dd516dda693f17f5ce48a94876f7efa">update_local_posts_stat()</a>, and <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16">check_upstream_directory()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05">create_sys_channel()</a>, <a class="el" href="dir__fns_8php.html#a8c15aa69da12f2d3476b9e93b82b337d">find_upstream_directory()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6">update_channels_active_halfyear_stat()</a>, <a class="el" href="statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe">update_channels_active_monthly_stat()</a>, <a class="el" href="statistics__fns_8php.html#a05858927cce81fd367aedf85a94ed90c">update_channels_total_stat()</a>, <a class="el" href="statistics__fns_8php.html#a9dd516dda693f17f5ce48a94876f7efa">update_local_posts_stat()</a>, and <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>.</p>
</div>
</div>
@@ -663,7 +663,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>mixed Stored $value or false </dd></dl>
-<p>Referenced by <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, and <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post()</a>.</p>
+<p>Referenced by <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, and <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6">theme_post()</a>.</p>
</div>
</div>
diff --git a/doc/html/include_2group_8php.html b/doc/html/include_2group_8php.html
index 86f931911..2f442e6c2 100644
--- a/doc/html/include_2group_8php.html
+++ b/doc/html/include_2group_8php.html
@@ -186,7 +186,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, and <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
</div>
</div>
@@ -226,7 +226,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, and <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>.</p>
+<p>Referenced by <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="contactgroup_8php.html#a18c7391b1b25debaf98c9dba639caab3">contactgroup_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, and <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>.</p>
</div>
</div>
@@ -254,7 +254,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, and <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>.</p>
+<p>Referenced by <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b">group_add_member()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a540e3ef36f47d47532646be4241f6518">group_rmv_member()</a>, and <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>.</p>
</div>
</div>
diff --git a/doc/html/include_2network_8php.html b/doc/html/include_2network_8php.html
index 9537e68a6..f30cd1311 100644
--- a/doc/html/include_2network_8php.html
+++ b/doc/html/include_2network_8php.html
@@ -120,7 +120,7 @@ Functions</h2></td></tr>
<tr class="separator:a9129fd55e7fc175b4ea9a195cccc16bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a984708e60d531b31b2d1f88b5f408f7b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a984708e60d531b31b2d1f88b5f408f7b">z_post_url_json</a> ($url, $params, $redirects=0, $opts=array())</td></tr>
<tr class="separator:a984708e60d531b31b2d1f88b5f408f7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4c5d50079e089168d9248427018fffd4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">json_return_and_die</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:a4c5d50079e089168d9248427018fffd4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a4c5d50079e089168d9248427018fffd4">json_return_and_die</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:a4c5d50079e089168d9248427018fffd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e9da2aafb806c98ecdc318604e60dc6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status</a> ($st, $message= '')</td></tr>
<tr class="separator:a9e9da2aafb806c98ecdc318604e60dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -463,7 +463,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums()</a>, <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api_channel_stream()</a>, <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api_export_basic()</a>, <a class="el" href="include_2api_8php.html#ad5fe62d6c25c86999f627b2e6cfde536">api_group()</a>, <a class="el" href="include_2api_8php.html#ae46f964e5a9c80b96dc78df61c09ed3a">api_group_members()</a>, <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>, <a class="el" href="include_2api_8php.html#a4fe872332ff0bd8d5eae2f0c6819cb60">api_red_xchan()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="online_8php.html#a80e107c84eb722b0ca11d0413b96f9f7">online_init()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898">red_item_new()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums()</a>, <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api_channel_stream()</a>, <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api_export_basic()</a>, <a class="el" href="include_2api_8php.html#ad5fe62d6c25c86999f627b2e6cfde536">api_group()</a>, <a class="el" href="include_2api_8php.html#ae46f964e5a9c80b96dc78df61c09ed3a">api_group_members()</a>, <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>, <a class="el" href="include_2api_8php.html#a4fe872332ff0bd8d5eae2f0c6819cb60">api_red_xchan()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164">new_channel_init()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="online_8php.html#a80e107c84eb722b0ca11d0413b96f9f7">online_init()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898">red_item_new()</a>, <a class="el" href="register_8php.html#ae20c0cd40f738d6295de58b9202c83d5">register_init()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f">smilies_content()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -747,7 +747,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array 'return_code' =&gt; HTTP return code or 0 if timeout or failure 'success' =&gt; boolean true (if HTTP 2xx result) or false 'header' =&gt; HTTP headers 'body' =&gt; fetched content </dd></dl>
-<p>Referenced by <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7">get_diaspora_reshare_xml()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="parse__url_8php.html#a25635549f2c22955d72465f4d2e58993">parseurl_getsiteinfo()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="identity_8php.html#a47d6f53216f23a3484061793bef29854">remote_online_status()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="include_2network_8php.html#a3e6c751a51de33ad3563f0938296e78a">webfinger_rfc7033()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+<p>Referenced by <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7">get_diaspora_reshare_xml()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f">navbar_complete()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="parse__url_8php.html#a25635549f2c22955d72465f4d2e58993">parseurl_getsiteinfo()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5">reflect_photo_callback()</a>, <a class="el" href="identity_8php.html#a47d6f53216f23a3484061793bef29854">remote_online_status()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="include_2network_8php.html#a3e6c751a51de33ad3563f0938296e78a">webfinger_rfc7033()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
diff --git a/doc/html/include_2photos_8php.html b/doc/html/include_2photos_8php.html
index 2e9d67da2..81047d3e7 100644
--- a/doc/html/include_2photos_8php.html
+++ b/doc/html/include_2photos_8php.html
@@ -162,7 +162,7 @@ Functions</h2></td></tr>
<p>Determine the album to use</p>
<p>We create a wall item for every photo, but we don't want to overwhelm the data stream with a hundred newly uploaded photos. So we will make the first photo uploaded to this album in the last several hours visible by default, the rest will become visible over time when and if they acquire comments, likes, dislikes, and/or tags</p>
-<p>Referenced by <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5">reflect_photo_callback()</a>, and <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>.</p>
</div>
</div>
@@ -394,7 +394,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>, and <a class="el" href="widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380">widget_photo_rand()</a>.</p>
</div>
</div>
diff --git a/doc/html/item_8php.html b/doc/html/item_8php.html
index ebaf4de28..4109e4e21 100644
--- a/doc/html/item_8php.html
+++ b/doc/html/item_8php.html
@@ -116,8 +116,6 @@ Functions</h2></td></tr>
<tr class="separator:a693cd09805755ab85bbb5ecae69a48c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a764bbb2e9a885a86fb23d0b5e4a09221"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content</a> (&amp;$a)</td></tr>
<tr class="separator:a764bbb2e9a885a86fb23d0b5e4a09221"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa22feef4de326e1d7078dedd892e615c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag</a> ($a, &amp;$body, &amp;$access_tag, &amp;$str_tags, $profile_uid, $tag)</td></tr>
-<tr class="separator:aa22feef4de326e1d7078dedd892e615c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b63a9d0cd02096e17dcf11f4afa7c10"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10">fix_attached_photo_permissions</a> ($uid, $xchan_hash, $body, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny)</td></tr>
<tr class="separator:a7b63a9d0cd02096e17dcf11f4afa7c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3daae7944f737bd30412a0d042207c0f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">fix_attached_file_permissions</a> ($channel, $observer_hash, $body, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny)</td></tr>
@@ -242,70 +240,6 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="aa22feef4de326e1d7078dedd892e615c"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">handle_tag </td>
- <td>(</td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>$a</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$body</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$access_tag</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">&amp;&#160;</td>
- <td class="paramname"><em>$str_tags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>$profile_uid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>$tag</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>This function removes the tag $tag from the text $body and replaces it with the appropiate link.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramtype">unknown_type</td><td class="paramname">$body</td><td>the text to replace the tag in </td></tr>
- <tr><td class="paramtype">unknown_type</td><td class="paramname">$access_tag</td><td>- used to return tag ACL exclusions e.g. @!foo </td></tr>
- <tr><td class="paramtype">unknown_type</td><td class="paramname">$str_tags</td><td>string to add the tag to </td></tr>
- <tr><td class="paramtype">unknown_type</td><td class="paramname">$profile_uid</td><td></td></tr>
- <tr><td class="paramtype">unknown_type</td><td class="paramname">$tag</td><td>the tag to replace</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>boolean true if replaced, false if not replaced </dd></dl>
-
-<p>Referenced by <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
-
-</div>
-</div>
<a class="anchor" id="a5b1b36cb301a94b38150074f0d424e74"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/item_8php.js b/doc/html/item_8php.js
index 6fe342a64..4cf9b1b0b 100644
--- a/doc/html/item_8php.js
+++ b/doc/html/item_8php.js
@@ -2,7 +2,6 @@ var item_8php =
[
[ "fix_attached_file_permissions", "item_8php.html#a3daae7944f737bd30412a0d042207c0f", null ],
[ "fix_attached_photo_permissions", "item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10", null ],
- [ "handle_tag", "item_8php.html#aa22feef4de326e1d7078dedd892e615c", null ],
[ "item_check_service_class", "item_8php.html#a5b1b36cb301a94b38150074f0d424e74", null ],
[ "item_content", "item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221", null ],
[ "item_post", "item_8php.html#a693cd09805755ab85bbb5ecae69a48c3", null ]
diff --git a/doc/html/items_8php.html b/doc/html/items_8php.html
index ffba36cd4..9cd5f6dea 100644
--- a/doc/html/items_8php.html
+++ b/doc/html/items_8php.html
@@ -148,15 +148,15 @@ Functions</h2></td></tr>
<tr class="separator:af94c281016c6c912d06e064113336c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa371905f0a211b307cb3f7188c6cba04"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#aa371905f0a211b307cb3f7188c6cba04">title_is_body</a> ($title, $body)</td></tr>
<tr class="separator:aa371905f0a211b307cb3f7188c6cba04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a536d0313b6ffe33b9d2490c4e25c5361"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:a536d0313b6ffe33b9d2490c4e25c5361"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:a536d0313b6ffe33b9d2490c4e25c5361"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae73794179b62d39bb597ff670ab1c1e5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:ae73794179b62d39bb597ff670ab1c1e5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:ae73794179b62d39bb597ff670ab1c1e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2c3f97b2109c05df86d97449b3c78ebc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc">import_author_diaspora</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:a2c3f97b2109c05df86d97449b3c78ebc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc">import_author_diaspora</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:a2c3f97b2109c05df86d97449b3c78ebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6bee35961f2e32905f20367a9309d627"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:a6bee35961f2e32905f20367a9309d627"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:a6bee35961f2e32905f20367a9309d627"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a37f79991f36811cf847446ff60e8e11f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:a37f79991f36811cf847446ff60e8e11f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:a37f79991f36811cf847446ff60e8e11f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56b0f5d2cb36eb8f4bfca84813884f86"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item</a> ($item, $mirror=false)</td></tr>
<tr class="separator:a56b0f5d2cb36eb8f4bfca84813884f86"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -180,9 +180,9 @@ Functions</h2></td></tr>
<tr class="separator:a5f690fc2484abec07840b4f9dd525bd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d840c74ed23d1b6c7daee05cf89dda7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7">encode_mail</a> ($item)</td></tr>
<tr class="separator:a2d840c74ed23d1b6c7daee05cf89dda7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a94ddb1d6c8fa21dd7433677e85168037"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:a94ddb1d6c8fa21dd7433677e85168037"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a94ddb1d6c8fa21dd7433677e85168037">get_mail_elements</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:a94ddb1d6c8fa21dd7433677e85168037"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a251343637ff40a50cca93452cd530c26"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:a251343637ff40a50cca93452cd530c26"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a251343637ff40a50cca93452cd530c26">get_profile_elements</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:a251343637ff40a50cca93452cd530c26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e5be7bf1f8257dec0b2647e60a3f3f1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements</a> ($feed, $item, &amp;$author)</td></tr>
<tr class="separator:a5e5be7bf1f8257dec0b2647e60a3f3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -242,14 +242,14 @@ Functions</h2></td></tr>
<tr class="separator:aac8c9eb4338e2a996c43914392c6cfdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cf98bb619f07dd18f602683a55a5f59"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a0cf98bb619f07dd18f602683a55a5f59">first_post_date</a> ($uid, $wall=false)</td></tr>
<tr class="separator:a0cf98bb619f07dd18f602683a55a5f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa2d3caa2f27720762b5c729e07df40fb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#aa2d3caa2f27720762b5c729e07df40fb">list_post_dates</a> ($uid, $wall)</td></tr>
-<tr class="separator:aa2d3caa2f27720762b5c729e07df40fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab33fa9756aaa5f39a6104d57a62baf00"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00">list_post_dates</a> ($uid, $wall, $mindate)</td></tr>
+<tr class="separator:ab33fa9756aaa5f39a6104d57a62baf00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2abb4644ff1f20fefbc80326fe01cf0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates</a> ($uid, $wall)</td></tr>
<tr class="separator:ad2abb4644ff1f20fefbc80326fe01cf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf980098b6de9c3993bc3ff26a8dd6f9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags</a> ($items, $link=false)</td></tr>
<tr class="separator:adf980098b6de9c3993bc3ff26a8dd6f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a004e89d86b0f29b2c4da20108ecc4091"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed</a> ($uid, $observer_xchan, $mindate)</td></tr>
-<tr class="separator:a004e89d86b0f29b2c4da20108ecc4091"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cf89557f32d5dfbe8bd90448dc1aa92"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed</a> ($uid, $observer_xchan, $arr)</td></tr>
+<tr class="separator:a1cf89557f32d5dfbe8bd90448dc1aa92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a756738301f2ed96be50232500677d58a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch</a> ($arr, $channel=null, $observer_hash=null, $client_mode=<a class="el" href="boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731">CLIENT_MODE_NORMAL</a>, $module= 'network')</td></tr>
<tr class="separator:a756738301f2ed96be50232500677d58a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2baa9e05f1e8aa3dd61c85803ae39bd6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id</a> ($channel, $post_id, $webpage, $pagetitle, $namespace, $remote_id, $mid)</td></tr>
@@ -311,7 +311,7 @@ Functions</h2></td></tr>
</dl>
<p>$item['route'] contains a comma-separated list of xchans that sent the current message, somewhat analogous to the * Received: header line in email. We can use this to perform loop detection and to avoid sending a particular item to any "upstream" sender (they already have a copy because they sent it to us). </p>
-<p>Referenced by <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>.</p>
</div>
</div>
@@ -467,7 +467,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>can_comment_on_post($observer_xchan,$item);</p>
-<p>This function examines the comment_policy attached to an item and decides if the current observer has sufficient privileges to comment. This will normally be called on a remote site where <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a> will not be suitable because the post owner does not have a local channel_id. Generally we should look at the item - in particular the author['book_flags'] and see if ABOOK_FLAG_SELF is set. If it is, you should be able to use perm_is_allowed( ... 'post_comments'), and if it isn't you need to call <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">can_comment_on_post()</a> We also check the comments_closed date/time on the item if this is set. </p>
+<p>This function examines the comment_policy attached to an item and decides if the current observer has sufficient privileges to comment. This will normally be called on a remote site where <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835" title="Checks if given permission is allowed for given observer on a channel.">perm_is_allowed()</a> will not be suitable because the post owner does not have a local channel_id. Generally we should look at the item - in particular the author['book_flags'] and see if ABOOK_FLAG_SELF is set. If it is, you should be able to use perm_is_allowed( ... 'post_comments'), and if it isn't you need to call <a class="el" href="items_8php.html#a1e75047cf175aaee8dd16aa761913ff9">can_comment_on_post()</a> We also check the comments_closed date/time on the item if this is set. </p>
<p>Referenced by <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, and <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>.</p>
@@ -803,7 +803,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
@@ -939,7 +939,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc">item_expire()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
@@ -997,7 +997,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#aa2d3caa2f27720762b5c729e07df40fb">list_post_dates()</a>, and <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00">list_post_dates()</a>, and <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>.</p>
</div>
</div>
@@ -1492,7 +1492,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, and <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>.</p>
+<p>Referenced by <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, and <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>.</p>
</div>
</div>
@@ -1520,7 +1520,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, and <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>.</p>
+<p>Referenced by <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, and <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>.</p>
</div>
</div>
@@ -1588,7 +1588,7 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="aa2d3caa2f27720762b5c729e07df40fb"></a>
+<a class="anchor" id="ab33fa9756aaa5f39a6104d57a62baf00"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -1602,7 +1602,13 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$wall</em>&#160;</td>
+ <td class="paramname"><em>$wall</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$mindate</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -2008,7 +2014,7 @@ Functions</h2></td></tr>
<p>tgroup_check($uid,$item)</p>
<p>This function is called pre-deliver to see if a post matches the criteria to be tag delivered. We don't actually do anything except check that it matches the criteria. This is so that the channel with tag_delivery enabled can receive the post even if they turn off permissions for the sender to send their stream. <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a> can't be called until the post is actually stored. By then it would be too late to reject it. </p>
-<p>Referenced by <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>.</p>
</div>
</div>
@@ -2144,7 +2150,7 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a004e89d86b0f29b2c4da20108ecc4091"></a>
+<a class="anchor" id="a1cf89557f32d5dfbe8bd90448dc1aa92"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -2164,7 +2170,7 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$mindate</em>&#160;</td>
+ <td class="paramname"><em>$arr</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -2174,7 +2180,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
diff --git a/doc/html/items_8php.js b/doc/html/items_8php.js
index c0568d1f7..f3ac4dfd0 100644
--- a/doc/html/items_8php.js
+++ b/doc/html/items_8php.js
@@ -51,7 +51,7 @@ var items_8php =
[ "item_store_update", "items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484", null ],
[ "items_fetch", "items_8php.html#a756738301f2ed96be50232500677d58a", null ],
[ "limit_body_size", "items_8php.html#af94c281016c6c912d06e064113336c5c", null ],
- [ "list_post_dates", "items_8php.html#aa2d3caa2f27720762b5c729e07df40fb", null ],
+ [ "list_post_dates", "items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00", null ],
[ "mail_store", "items_8php.html#a77da7ce9a117601d49ac4a67c71b514f", null ],
[ "map_scope", "items_8php.html#a8675e62674de6fb7c42e4a408c7116cc", null ],
[ "post_activity_item", "items_8php.html#a410f9c743877c125ca06312373346903", null ],
@@ -72,5 +72,5 @@ var items_8php =
[ "translate_scope", "items_8php.html#aabfaa193b83154c2a81e91284e5d5e59", null ],
[ "update_feed_item", "items_8php.html#a9b449eeae50003414b8b30ca927af434", null ],
[ "update_remote_id", "items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6", null ],
- [ "zot_feed", "items_8php.html#a004e89d86b0f29b2c4da20108ecc4091", null ]
+ [ "zot_feed", "items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92", null ]
]; \ No newline at end of file
diff --git a/doc/html/language_8php.html b/doc/html/language_8php.html
index 073080f20..939a2b1d0 100644
--- a/doc/html/language_8php.html
+++ b/doc/html/language_8php.html
@@ -138,7 +138,6 @@ Functions</h2></td></tr>
<tr class="memdesc:a632da17c7ac0d2dc1a00a4706870194b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes a string and tries to identify the language. <a href="#a632da17c7ac0d2dc1a00a4706870194b">More...</a><br/></td></tr>
<tr class="separator:a632da17c7ac0d2dc1a00a4706870194b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43e6ddba9df019c9ac3ab4c94c444ae7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="language_8php.html#a43e6ddba9df019c9ac3ab4c94c444ae7">get_language_name</a> ($s, $l=null)</td></tr>
-<tr class="memdesc:a43e6ddba9df019c9ac3ab4c94c444ae7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the display name of a given language code. <a href="#a43e6ddba9df019c9ac3ab4c94c444ae7">More...</a><br/></td></tr>
<tr class="separator:a43e6ddba9df019c9ac3ab4c94c444ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
@@ -244,18 +243,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Returns the display name of a given language code. </p>
-<p>By default we use the localized language name. You can switch the result to any language with the optional 2nd parameter $l.</p>
-<p>$s and $l can be in any format that PHP's Locale understands. We will mostly use the 2-letter ISO 639-1 (en, de, fr) format.</p>
-<p>If nothing could be looked up it returns $s.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">$s</td><td>Language code to look up </td></tr>
- <tr><td class="paramname">$l</td><td>(optional) In which language to return the name </td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>string with the language name, or $s if unrecognized </dd></dl>
+<p>Referenced by <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>.</p>
</div>
</div>
@@ -372,7 +360,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>translated string if exists, otherwise return $s </dd></dl>
-<p>Referenced by <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">check_form_security_std_err_msg()</a>, <a class="el" href="setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e">check_funcs()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f">check_htconfig()</a>, <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">check_smarty3()</a>, <a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">check_store()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_poll_interval()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">day_translate()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">dir_tagblock()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">gender_selector()</a>, <a class="el" href="profile__selectors_8php.html#a8bfa1ca2d1598a3d65f1f9bb803ca816">gender_selector_min()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf">RedMatrix\RedDAV\RedBrowser\htmlActionsPanel()</a>, <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">dba_driver\install()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">item_post_type()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">manual_config()</a>, <a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">marital_selector()</a>, <a class="el" href="profile__selectors_8php.html#adc79715bd2e102b4583fb530749ec534">marital_selector_min()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed_bbcode2html()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="acl__selectors_8php.html#ad25bba63a51a2b0b5b463efae50df528">populate_acl()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="permissions_8php.html#a50e8099ea8a4d7ed68b2a0a7ea9aa724">role_selector()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f">select_timezone()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">sexpref_selector()</a>, <a class="el" href="profile__selectors_8php.html#ab0eae5c0ceba77364469f0f580f0d074">sexpref_selector_min()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">timezone_cmp()</a>, <a class="el" href="items_8php.html#aabfaa193b83154c2a81e91284e5d5e59">translate_scope()</a>, <a class="el" href="include_2apps_8php.html#a48289d5cc44b7638191738106ac5d030">translate_system_apps()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="account_8php.html#a754d7f53b3abc557b753c057dc4e021d">upgrade_bool_message()</a>, <a class="el" href="account_8php.html#a4fc13e528367f510fcb6d8bbfc559040">upgrade_link()</a>, <a class="el" href="account_8php.html#a901657dd078e070516cf97285e0bada7">upgrade_message()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#aced5cb177f630b30799c5eab873ee75c">widget_appselect()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
+<p>Referenced by <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1">attach_init()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4">catblock()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91">chatroom_enter()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a20f8b9851f23ee8894b8925584ef6821">check_form_security_std_err_msg()</a>, <a class="el" href="setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e">check_funcs()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f">check_htconfig()</a>, <a class="el" href="setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76">check_keys()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="setup_8php.html#afd8b0b3ade1507c45325caf377bf459d">check_smarty3()</a>, <a class="el" href="setup_8php.html#ab4b71369a25021d59247c917e98d8246">check_store()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_poll_interval()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">day_translate()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">dir_tagblock()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8">dob()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3">format_like()</a>, <a class="el" href="include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3">format_notification()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">gender_selector()</a>, <a class="el" href="profile__selectors_8php.html#a8bfa1ca2d1598a3d65f1f9bb803ca816">gender_selector_min()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="permissions_8php.html#a6b239a0d494b92a89ce7bf9c7e588991">get_roles()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="datetime_8php.html#afbb34604d0f6e7d2103da4f42e2487b1">get_timezones()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a810af4506cb3247e0ea7b0c4accbbc7a">RedMatrix\RedDAV\RedBrowser\getIconFromType()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf">RedMatrix\RedDAV\RedBrowser\htmlActionsPanel()</a>, <a class="el" href="identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633">identity_check_service_class()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746">dba_driver\install()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="item_8php.html#a5b1b36cb301a94b38150074f0d424e74">item_check_service_class()</a>, <a class="el" href="item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221">item_content()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e">item_post_type()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="text_8php.html#a3999a0b3e22e440f280ee791ce34d384">layout_select()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44">lockview_content()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">manual_config()</a>, <a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">marital_selector()</a>, <a class="el" href="profile__selectors_8php.html#adc79715bd2e102b4583fb530749ec534">marital_selector_min()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a1633412120f52bdce5f43e0a127d9293">mimetype_select()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2">oembed_bbcode2html()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="acl__selectors_8php.html#ad25bba63a51a2b0b5b463efae50df528">populate_acl()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023">profperm_content()</a>, <a class="el" href="pubsites_8php.html#af614e279aab54065345bda6b03eafdf0">pubsites_content()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">sexpref_selector()</a>, <a class="el" href="profile__selectors_8php.html#ab0eae5c0ceba77364469f0f580f0d074">sexpref_selector_min()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">timezone_cmp()</a>, <a class="el" href="items_8php.html#aabfaa193b83154c2a81e91284e5d5e59">translate_scope()</a>, <a class="el" href="include_2apps_8php.html#a48289d5cc44b7638191738106ac5d030">translate_system_apps()</a>, <a class="el" href="uexport_8php.html#ae6f79d60916c01675c8cf663cb5fec84">uexport_content()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__home_8php.html#a668340089acd150b830134476a647d05">update_home_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="account_8php.html#a754d7f53b3abc557b753c057dc4e021d">upgrade_bool_message()</a>, <a class="el" href="account_8php.html#a4fc13e528367f510fcb6d8bbfc559040">upgrade_link()</a>, <a class="el" href="account_8php.html#a901657dd078e070516cf97285e0bada7">upgrade_message()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="account_8php.html#ac1653efba62493b9d87513e1b6c04c83">user_deny()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#aced5cb177f630b30799c5eab873ee75c">widget_appselect()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20">widget_photo()</a>, <a class="el" href="widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380">widget_photo_rand()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, <a class="el" href="taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287">wtagblock()</a>, <a class="el" href="xchan_8php.html#a9853348bf1a35c644460221ba75edc2d">xchan_content()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, and <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>.</p>
</div>
</div>
diff --git a/doc/html/layouts_8php.html b/doc/html/layouts_8php.html
index 01db274f4..7287e9147 100644
--- a/doc/html/layouts_8php.html
+++ b/doc/html/layouts_8php.html
@@ -112,6 +112,8 @@ $(document).ready(function(){initNavTree('layouts_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
+<tr class="memitem:a39c8e9f72641c684c8b689bd91a642fa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa">layouts_init</a> (&amp;$a)</td></tr>
+<tr class="separator:a39c8e9f72641c684c8b689bd91a642fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e0193759ad9eef76d3df2db24237b50"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content</a> (&amp;$a)</td></tr>
<tr class="separator:a6e0193759ad9eef76d3df2db24237b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -132,6 +134,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a39c8e9f72641c684c8b689bd91a642fa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">layouts_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/layouts_8php.js b/doc/html/layouts_8php.js
index ee929d2fc..5c56bc6c3 100644
--- a/doc/html/layouts_8php.js
+++ b/doc/html/layouts_8php.js
@@ -1,4 +1,5 @@
var layouts_8php =
[
- [ "layouts_content", "layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50", null ]
+ [ "layouts_content", "layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50", null ],
+ [ "layouts_init", "layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa", null ]
]; \ No newline at end of file
diff --git a/doc/html/locs_8php.html b/doc/html/locs_8php.html
index 86cc0d2a8..229d5978f 100644
--- a/doc/html/locs_8php.html
+++ b/doc/html/locs_8php.html
@@ -114,8 +114,26 @@ $(document).ready(function(){initNavTree('locs_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a6b43654592919ac863d67a1f787a69b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post</a> (&amp;$a)</td></tr>
<tr class="separator:a6b43654592919ac863d67a1f787a69b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6c900f53970c0d0e738d2fe06d27ca44"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a6c900f53970c0d0e738d2fe06d27ca44"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a6c900f53970c0d0e738d2fe06d27ca44"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">locs_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a6b43654592919ac863d67a1f787a69b9"></a>
<div class="memitem">
<div class="memproto">
@@ -129,36 +147,6 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<p>Placeholder file at present. This is going to involve a bit of work.</p>
-<p>This file will deal with the deletion of channels and management of hublocs.</p>
-<p>We need to provide the following functionality:</p>
-<ul>
-<li>Delete my account and all channels from the entire network</li>
-</ul>
-<ul>
-<li>Delete my account and all channels from this server</li>
-</ul>
-<ul>
-<li>Delete a channel from the entire network</li>
-</ul>
-<ul>
-<li>Delete a channel from this server</li>
-</ul>
-<ul>
-<li>List all hub locations for this channel</li>
-</ul>
-<ul>
-<li>Remove this/some hub location from this channel</li>
-</ul>
-<ul>
-<li>promote this/some hub location to primary</li>
-</ul>
-<ul>
-<li>Remove hub location 'xyz' from this channel, (this should possibly only be allowed if that hub has been down for a period of time)</li>
-</ul>
-<ul>
-<li>Some of these actions should probably require email verification </li>
-</ul>
</div>
</div>
diff --git a/doc/html/locs_8php.js b/doc/html/locs_8php.js
index 475fc5dd6..6444a590f 100644
--- a/doc/html/locs_8php.js
+++ b/doc/html/locs_8php.js
@@ -1,4 +1,5 @@
var locs_8php =
[
+ [ "locs_content", "locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44", null ],
[ "locs_post", "locs_8php.html#a6b43654592919ac863d67a1f787a69b9", null ]
]; \ No newline at end of file
diff --git a/doc/html/mod_2network_8php.html b/doc/html/mod_2network_8php.html
index 16de4ad96..bfbd5bd2c 100644
--- a/doc/html/mod_2network_8php.html
+++ b/doc/html/mod_2network_8php.html
@@ -147,6 +147,7 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+<p>in "list mode", only mark the parent item and any like activities as "seen". We won't distinguish between comment likes and post likes. The important thing is that the number of unseen comments will be accurate. The SQL to separate the comment likes could also get somewhat hairy.</p>
<p>Referenced by <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>.</p>
diff --git a/doc/html/namespaceRedMatrix.html b/doc/html/namespaceRedMatrix.html
index b28ba8dc6..873af1168 100644
--- a/doc/html/namespaceRedMatrix.html
+++ b/doc/html/namespaceRedMatrix.html
@@ -109,12 +109,19 @@ $(document).ready(function(){initNavTree('namespaceRedMatrix.html','');});
<div class="title">RedMatrix Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
+
+<p>Class <a class="el" href="namespaceRedMatrix_1_1Import.html">Import</a>.
+<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
+<tr class="memitem:namespaceRedMatrix_1_1Import"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceRedMatrix_1_1Import.html">Import</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespaceRedMatrix_1_1RedDAV"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceRedMatrix_1_1RedDAV.html">RedDAV</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-</div><!-- contents -->
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Class <a class="el" href="namespaceRedMatrix_1_1Import.html">Import</a>. </p>
+</div></div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/namespaceRedMatrix.js b/doc/html/namespaceRedMatrix.js
index 930158787..f08741c6c 100644
--- a/doc/html/namespaceRedMatrix.js
+++ b/doc/html/namespaceRedMatrix.js
@@ -1,4 +1,5 @@
var namespaceRedMatrix =
[
+ [ "Import", "namespaceRedMatrix_1_1Import.html", "namespaceRedMatrix_1_1Import" ],
[ "RedDAV", "namespaceRedMatrix_1_1RedDAV.html", "namespaceRedMatrix_1_1RedDAV" ]
]; \ No newline at end of file
diff --git a/doc/html/namespaceRedMatrix_1_1Import.html b/doc/html/namespaceRedMatrix_1_1Import.html
new file mode 100644
index 000000000..a0ab85227
--- /dev/null
+++ b/doc/html/namespaceRedMatrix_1_1Import.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: RedMatrix\Import Namespace Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('namespaceRedMatrix_1_1Import.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">RedMatrix\Import Namespace Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">Import</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/namespaceRedMatrix_1_1Import.js b/doc/html/namespaceRedMatrix_1_1Import.js
new file mode 100644
index 000000000..c26a05140
--- /dev/null
+++ b/doc/html/namespaceRedMatrix_1_1Import.js
@@ -0,0 +1,4 @@
+var namespaceRedMatrix_1_1Import =
+[
+ [ "Import", "classRedMatrix_1_1Import_1_1Import.html", "classRedMatrix_1_1Import_1_1Import" ]
+]; \ No newline at end of file
diff --git a/doc/html/namespaceRedmatrix_1_1Import.html b/doc/html/namespaceRedmatrix_1_1Import.html
new file mode 100644
index 000000000..a0ab85227
--- /dev/null
+++ b/doc/html/namespaceRedmatrix_1_1Import.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: RedMatrix\Import Namespace Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
+ <li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('namespaceRedMatrix_1_1Import.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Classes</a> </div>
+ <div class="headertitle">
+<div class="title">RedMatrix\Import Namespace Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRedMatrix_1_1Import_1_1Import.html">Import</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/namespaceRedmatrix_1_1Import.js b/doc/html/namespaceRedmatrix_1_1Import.js
new file mode 100644
index 000000000..c26a05140
--- /dev/null
+++ b/doc/html/namespaceRedmatrix_1_1Import.js
@@ -0,0 +1,4 @@
+var namespaceRedMatrix_1_1Import =
+[
+ [ "Import", "classRedMatrix_1_1Import_1_1Import.html", "classRedMatrix_1_1Import_1_1Import" ]
+]; \ No newline at end of file
diff --git a/doc/html/namespaces.html b/doc/html/namespaces.html
index ad02e6270..dc5efaebd 100644
--- a/doc/html/namespaces.html
+++ b/doc/html/namespaces.html
@@ -112,10 +112,11 @@ $(document).ready(function(){initNavTree('namespaces.html','');});
<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceacl__selectors.html" target="_self">acl_selectors</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceFriendica.html" target="_self">Friendica</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacefriendica-to-smarty-tpl.html" target="_self">friendica-to-smarty-tpl</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><img id="arr_3_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceRedMatrix.html" target="_self">RedMatrix</a></td><td class="desc"></td></tr>
-<tr id="row_3_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceRedMatrix_1_1RedDAV.html" target="_self">RedDAV</a></td><td class="desc"></td></tr>
-<tr id="row_4_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceupdatetpl.html" target="_self">updatetpl</a></td><td class="desc"></td></tr>
-<tr id="row_5_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceutil.html" target="_self">util</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><img id="arr_3_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('3_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceRedMatrix.html" target="_self">RedMatrix</a></td><td class="desc">Class <a class="el" href="namespaceRedMatrix_1_1Import.html">Import</a></td></tr>
+<tr id="row_3_0_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceRedMatrix_1_1Import.html" target="_self">Import</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceRedMatrix_1_1RedDAV.html" target="_self">RedDAV</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceupdatetpl.html" target="_self">updatetpl</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespaceutil.html" target="_self">util</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
diff --git a/doc/html/navtree.js b/doc/html/navtree.js
index b13e549ed..2e466d088 100644
--- a/doc/html/navtree.js
+++ b/doc/html/navtree.js
@@ -37,15 +37,15 @@ var NAVTREE =
var NAVTREEINDEX =
[
"BS-Default_8php.html",
-"boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209",
-"classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be",
-"classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6",
-"dir_0262a6a8df56a167e3761b6e5a54bb1c.html",
-"globals_vars_0x72.html",
-"include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6",
-"nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a",
-"session_8php.html#a62e4a6cb26b4bb1b8ddd8277b26090eb",
-"updatetpl_8py.html#ac9d11279fed403a329a719298feafc4f"
+"boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa",
+"classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c",
+"classTemplate.html#a285b5b2007dbbf733476273df3fed4ef",
+"datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df",
+"functions_vars.html",
+"include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639",
+"mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518",
+"redbasic_2php_2style_8php.html#ab3afb90d611eca90819f597a2c0bb459",
+"text_8php.html#aaed4413ed8918838b517e3b2fafaea0d"
];
var SYNCONMSG = 'click to disable panel synchronisation';
diff --git a/doc/html/navtreeindex0.js b/doc/html/navtreeindex0.js
index 30ad06206..271d739f4 100644
--- a/doc/html/navtreeindex0.js
+++ b/doc/html/navtreeindex0.js
@@ -1,65 +1,67 @@
var NAVTREEINDEX0 =
{
-"BS-Default_8php.html":[6,0,3,1,4,1,1],
-"BaseObject_8php.html":[6,0,0,10],
+"BS-Default_8php.html":[6,0,3,1,3,1,1],
+"BaseObject_8php.html":[6,0,0,11],
"Contact_8php.html":[6,0,0,21],
"Contact_8php.html#a024919623a830e8703ac4f23496dd66c":[6,0,0,21,2],
"Contact_8php.html#a08845ce8c5b997d5edac38ae7118b5c8":[6,0,0,21,9],
"Contact_8php.html#a28e062c884331dbb5dfa713228c25ad6":[6,0,0,21,8],
"Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91":[6,0,0,21,11],
-"Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15":[6,0,0,21,13],
+"Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15":[6,0,0,21,14],
"Contact_8php.html#a3a0844dac1e86d523de5d2f432cfeebc":[6,0,0,21,6],
"Contact_8php.html#a483cda56f9e37c3a4a8773dcdfeb0258":[6,0,0,21,5],
"Contact_8php.html#a4e8af0f0525161da74583c04b8b03097":[6,0,0,21,4],
"Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33":[6,0,0,21,3],
-"Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960":[6,0,0,21,14],
+"Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960":[6,0,0,21,15],
"Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713":[6,0,0,21,10],
"Contact_8php.html#a87e699f74a1102b25e8aa0432d86a91e":[6,0,0,21,7],
+"Contact_8php.html#ab5895b75a3b2abdddf1cb351a8c6b58b":[6,0,0,21,13],
"Contact_8php.html#acc12cda999c88c4d6185cca967c15125":[6,0,0,21,12],
"Contact_8php.html#ad5b02c2a962ee55b1b7ca6c159d6e4c5":[6,0,0,21,1],
"Contact_8php.html#ae8803c330352cbf1e828eb7490edf47e":[6,0,0,21,0],
"ConversationObject_8php.html":[6,0,0,25],
-"ITemplateEngine_8php.html":[6,0,0,47],
-"ItemObject_8php.html":[6,0,0,46],
-"ProtoDriver_8php.html":[6,0,0,67],
-"RedBasicAuth_8php.html":[6,0,0,2,0],
-"RedBrowser_8php.html":[6,0,0,2,1],
-"RedDirectory_8php.html":[6,0,0,2,2],
-"RedFile_8php.html":[6,0,0,2,3],
+"ITemplateEngine_8php.html":[6,0,0,48],
+"Importer_8php.html":[6,0,0,1,0],
+"ItemObject_8php.html":[6,0,0,47],
+"ProtoDriver_8php.html":[6,0,0,68],
+"RedBasicAuth_8php.html":[6,0,0,3,0],
+"RedBrowser_8php.html":[6,0,0,3,1],
+"RedDirectory_8php.html":[6,0,0,3,2],
+"RedFile_8php.html":[6,0,0,3,3],
"__well__known_8php.html":[6,0,1,0],
"__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0":[6,0,1,0,0],
-"account_8php.html":[6,0,0,3],
-"account_8php.html#a014de2d5d5c9785de5bf547a485822fa":[6,0,0,3,8],
-"account_8php.html#a030cec6793b909c439c0336ba39b1571":[6,0,0,3,10],
-"account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9":[6,0,0,3,7],
-"account_8php.html#a141fe579c351c78209d425473f978eb5":[6,0,0,3,6],
-"account_8php.html#a144b4891022567668375b58ea61cfff0":[6,0,0,3,5],
-"account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89":[6,0,0,3,0],
-"account_8php.html#a43e3042b2723d76915a030bac3c668b6":[6,0,0,3,1],
-"account_8php.html#a4fc13e528367f510fcb6d8bbfc559040":[6,0,0,3,13],
-"account_8php.html#a754d7f53b3abc557b753c057dc4e021d":[6,0,0,3,12],
-"account_8php.html#a901657dd078e070516cf97285e0bada7":[6,0,0,3,14],
-"account_8php.html#a905b54e10704b283ac64680a8abc0971":[6,0,0,3,11],
-"account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f":[6,0,0,3,2],
-"account_8php.html#aa9c29c497c17d8f9344dce8631ad8761":[6,0,0,3,9],
-"account_8php.html#aaff7720423417a4333697894ffd9ddeb":[6,0,0,3,4],
-"account_8php.html#ac1653efba62493b9d87513e1b6c04c83":[6,0,0,3,17],
-"account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1":[6,0,0,3,15],
-"account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5":[6,0,0,3,18],
-"account_8php.html#ad07be417ac7eda939768804106ddea3d":[6,0,0,3,16],
-"account_8php.html#ae052bd5558847bd38e89c213561a9771":[6,0,0,3,3],
+"account_8php.html":[6,0,0,4],
+"account_8php.html#a014de2d5d5c9785de5bf547a485822fa":[6,0,0,4,8],
+"account_8php.html#a030cec6793b909c439c0336ba39b1571":[6,0,0,4,10],
+"account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9":[6,0,0,4,7],
+"account_8php.html#a141fe579c351c78209d425473f978eb5":[6,0,0,4,6],
+"account_8php.html#a144b4891022567668375b58ea61cfff0":[6,0,0,4,5],
+"account_8php.html#a4328c40ee4b3d68630cf1ebb7b9d4d89":[6,0,0,4,0],
+"account_8php.html#a43e3042b2723d76915a030bac3c668b6":[6,0,0,4,1],
+"account_8php.html#a4fc13e528367f510fcb6d8bbfc559040":[6,0,0,4,13],
+"account_8php.html#a754d7f53b3abc557b753c057dc4e021d":[6,0,0,4,12],
+"account_8php.html#a901657dd078e070516cf97285e0bada7":[6,0,0,4,14],
+"account_8php.html#a905b54e10704b283ac64680a8abc0971":[6,0,0,4,11],
+"account_8php.html#a917d74aad0baf3e0c4b51cf1051e654f":[6,0,0,4,2],
+"account_8php.html#aa9c29c497c17d8f9344dce8631ad8761":[6,0,0,4,9],
+"account_8php.html#aaff7720423417a4333697894ffd9ddeb":[6,0,0,4,4],
+"account_8php.html#ac1653efba62493b9d87513e1b6c04c83":[6,0,0,4,17],
+"account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1":[6,0,0,4,15],
+"account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5":[6,0,0,4,18],
+"account_8php.html#ad07be417ac7eda939768804106ddea3d":[6,0,0,4,16],
+"account_8php.html#ae052bd5558847bd38e89c213561a9771":[6,0,0,4,3],
"achievements_8php.html":[6,0,1,1],
"achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e":[6,0,1,1,0],
"acl_8php.html":[6,0,1,2],
"acl_8php.html#a57dceff370d4a0e7ae673d50fbfda61f":[6,0,1,2,1],
"acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a":[6,0,1,2,0],
-"acl__selectors_8php.html":[6,0,0,4],
-"acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91":[6,0,0,4,0],
-"acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0":[6,0,0,4,2],
-"acl__selectors_8php.html#ad25bba63a51a2b0b5b463efae50df528":[6,0,0,4,3],
-"acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e":[6,0,0,4,1],
-"activities_8php.html":[6,0,0,5],
-"activities_8php.html#a80134e807719b3c54aba971958d2e132":[6,0,0,5,0],
+"acl__selectors_8php.html":[6,0,0,5],
+"acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91":[6,0,0,5,0],
+"acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0":[6,0,0,5,2],
+"acl__selectors_8php.html#ad25bba63a51a2b0b5b463efae50df528":[6,0,0,5,3],
+"acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e":[6,0,0,5,1],
+"activities_8php.html":[6,0,0,6],
+"activities_8php.html#a80134e807719b3c54aba971958d2e132":[6,0,0,6,0],
"admin_8php.html":[6,0,1,3],
"admin_8php.html#a1d1362698af14d209aa3a0fb655551dd":[6,0,1,3,6],
"admin_8php.html#a233b7c8c31776b7020532003c6e44e1c":[6,0,1,3,7],
@@ -100,154 +102,152 @@ var NAVTREEINDEX0 =
"apw_2php_2style_8php.html#af3a16c5f0dd7a74cf9acf6a49fff73a7":[6,0,3,1,0,1,2,9],
"apw_2php_2theme_8php.html":[6,0,3,1,0,1,3],
"apw_2php_2theme_8php.html#a42167c539043a39a6b83c252d05f1e89":[6,0,3,1,0,1,3,0],
-"auth_8php.html":[6,0,0,9],
-"auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee":[6,0,0,9,0],
-"auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a":[6,0,0,9,2],
-"auth_8php.html#a69fa663e6baf65f80d1b114ad72615f2":[6,0,0,9,1],
-"auth_8php.html#a6f60fb54f60cd36c2430d6615a7b4f3f":[6,0,0,9,3],
-"bb2diaspora_8php.html":[6,0,0,11],
-"bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93":[6,0,0,11,13],
-"bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863":[6,0,0,11,9],
-"bb2diaspora_8php.html#a4a27604f0745f1efda672966aaca9a3b":[6,0,0,11,6],
-"bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2":[6,0,0,11,10],
-"bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c":[6,0,0,11,0],
-"bb2diaspora_8php.html#a5258d2f1addeb0a2a6b54c4f9e7d0f34":[6,0,0,11,3],
-"bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747":[6,0,0,11,14],
-"bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4":[6,0,0,11,7],
-"bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083":[6,0,0,11,2],
-"bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519":[6,0,0,11,1],
-"bb2diaspora_8php.html#ab61b4f8c065e97b151411858bb2f209a":[6,0,0,11,12],
-"bb2diaspora_8php.html#ac9061ee10fcfcdac69566b649614e625":[6,0,0,11,5],
-"bb2diaspora_8php.html#ad033be99e87a2aaa05e569c68f30792d":[6,0,0,11,11],
-"bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba":[6,0,0,11,4],
-"bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc":[6,0,0,11,8],
-"bbcode_8php.html":[6,0,0,12],
-"bbcode_8php.html#a009f61aaf78771737ed0765c8463911b":[6,0,0,12,10],
-"bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d":[6,0,0,12,9],
-"bbcode_8php.html#a1c69e021d5e0aef97d6966bf3169c86a":[6,0,0,12,6],
-"bbcode_8php.html#a2be26414a367118143cc89e2d58e7377":[6,0,0,12,7],
-"bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd":[6,0,0,12,0],
-"bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322":[6,0,0,12,14],
-"bbcode_8php.html#a3a989cbf308a32468d171d83e9c51d1e":[6,0,0,12,5],
-"bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7":[6,0,0,12,12],
-"bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7":[6,0,0,12,13],
-"bbcode_8php.html#a7cc811ff1939a508cfb54f39c1d584d7":[6,0,0,12,11],
-"bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f":[6,0,0,12,2],
-"bbcode_8php.html#a8911e027907820df3db03b4f76724b50":[6,0,0,12,8],
-"bbcode_8php.html#a98d0eecc620c19561639f06cfbe8e74c":[6,0,0,12,4],
-"bbcode_8php.html#aa73fb62e7be1fa5fce4ad5f3d4487fc9":[6,0,0,12,3],
-"bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8":[6,0,0,12,15],
-"bbcode_8php.html#abb02f1044ff1c635d12af690d0f2cfa2":[6,0,0,12,1],
+"auth_8php.html":[6,0,0,10],
+"auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee":[6,0,0,10,0],
+"auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a":[6,0,0,10,3],
+"auth_8php.html#a69fa663e6baf65f80d1b114ad72615f2":[6,0,0,10,2],
+"auth_8php.html#a6f60fb54f60cd36c2430d6615a7b4f3f":[6,0,0,10,4],
+"auth_8php.html#ae3ecb5f34f202c7f9a61c5d589f6c6e1":[6,0,0,10,1],
+"bb2diaspora_8php.html":[6,0,0,12],
+"bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93":[6,0,0,12,13],
+"bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863":[6,0,0,12,9],
+"bb2diaspora_8php.html#a4a27604f0745f1efda672966aaca9a3b":[6,0,0,12,6],
+"bb2diaspora_8php.html#a4c2f8f11b29a06809d9b07782215b1b2":[6,0,0,12,10],
+"bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c":[6,0,0,12,0],
+"bb2diaspora_8php.html#a5258d2f1addeb0a2a6b54c4f9e7d0f34":[6,0,0,12,3],
+"bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747":[6,0,0,12,14],
+"bb2diaspora_8php.html#a8b96bd45884fa1c40b942939354197d4":[6,0,0,12,7],
+"bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083":[6,0,0,12,2],
+"bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519":[6,0,0,12,1],
+"bb2diaspora_8php.html#ab61b4f8c065e97b151411858bb2f209a":[6,0,0,12,12],
+"bb2diaspora_8php.html#ac9061ee10fcfcdac69566b649614e625":[6,0,0,12,5],
+"bb2diaspora_8php.html#ad033be99e87a2aaa05e569c68f30792d":[6,0,0,12,11],
+"bb2diaspora_8php.html#ad0abe1a7ee50aa0736a233df0a422eba":[6,0,0,12,4],
+"bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc":[6,0,0,12,8],
+"bbcode_8php.html":[6,0,0,13],
+"bbcode_8php.html#a009f61aaf78771737ed0765c8463911b":[6,0,0,13,12],
+"bbcode_8php.html#a02d5f2434e7bb5cf683e52a9b4787f24":[6,0,0,13,1],
+"bbcode_8php.html#a064dcfd9767df6f53be1a0e11ceeb15d":[6,0,0,13,11],
+"bbcode_8php.html#a1c69e021d5e0aef97d6966bf3169c86a":[6,0,0,13,8],
+"bbcode_8php.html#a2be26414a367118143cc89e2d58e7377":[6,0,0,13,9],
+"bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd":[6,0,0,13,0],
+"bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322":[6,0,0,13,16],
+"bbcode_8php.html#a3a989cbf308a32468d171d83e9c51d1e":[6,0,0,13,7],
+"bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7":[6,0,0,13,14],
+"bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7":[6,0,0,13,15],
+"bbcode_8php.html#a7cb403fd1c36d7376c2f3932a1ceb54d":[6,0,0,13,2],
+"bbcode_8php.html#a7cc811ff1939a508cfb54f39c1d584d7":[6,0,0,13,13],
+"bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f":[6,0,0,13,4],
+"bbcode_8php.html#a8911e027907820df3db03b4f76724b50":[6,0,0,13,10],
+"bbcode_8php.html#a98d0eecc620c19561639f06cfbe8e74c":[6,0,0,13,6],
+"bbcode_8php.html#aa73fb62e7be1fa5fce4ad5f3d4487fc9":[6,0,0,13,5],
+"bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8":[6,0,0,13,17],
+"bbcode_8php.html#abb02f1044ff1c635d12af690d0f2cfa2":[6,0,0,13,3],
"block_8php.html":[6,0,1,8],
"block_8php.html#a8a82a470acdfbc7a8e749509caeeea45":[6,0,1,8,0],
"block_8php.html#a9b61c96044ed2a068f18c10370a78d5c":[6,0,1,8,1],
"blocks_8php.html":[6,0,1,9],
"blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12":[6,0,1,9,0],
-"blogga_2php_2theme_8php.html":[6,0,3,1,1,0,2],
-"blogga_2php_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b":[6,0,3,1,1,0,2,0],
-"blogga_2view_2theme_2blog_2theme_8php.html":[6,0,3,1,1,1,0,0,2],
-"blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5":[6,0,3,1,1,1,0,0,2,3],
-"blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c":[6,0,3,1,1,1,0,0,2,2],
-"blogga_2view_2theme_2blog_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b":[6,0,3,1,1,1,0,0,2,0],
-"blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae":[6,0,3,1,1,1,0,0,2,1],
-"blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec":[6,0,3,1,1,1,0,0,2,4],
+"blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9":[6,0,1,9,1],
"boot_8php.html":[6,0,4],
-"boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0":[6,0,4,146],
-"boot_8php.html#a01353c9abebc3544ea080ac161729632":[6,0,4,39],
-"boot_8php.html#a022cea669f9f13ef7c6268b63884c57f":[6,0,4,160],
-"boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc":[6,0,4,265],
-"boot_8php.html#a028380b2902a86ba32198f6d3b5d10bb":[6,0,4,138],
-"boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8":[6,0,4,58],
-"boot_8php.html#a03d19251c245587de7ed959300b87bdf":[6,0,4,179],
-"boot_8php.html#a0450389f24c632906fbc24347700a543":[6,0,4,49],
-"boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b":[6,0,4,111],
+"boot_8php.html#a009e6a0637cb65804ea8094ecc4450b0":[6,0,4,151],
+"boot_8php.html#a0209e605028a5bb492683951ab30d49d":[6,0,4,313],
+"boot_8php.html#a022cea669f9f13ef7c6268b63884c57f":[6,0,4,165],
+"boot_8php.html#a02566ac9d891369a1d3ebb81a15722fc":[6,0,4,271],
+"boot_8php.html#a028380b2902a86ba32198f6d3b5d10bb":[6,0,4,143],
+"boot_8php.html#a032bbd6d0321e99e9117332c9ed2b1b8":[6,0,4,61],
+"boot_8php.html#a03d19251c245587de7ed959300b87bdf":[6,0,4,184],
+"boot_8php.html#a0450389f24c632906fbc24347700a543":[6,0,4,52],
+"boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b":[6,0,4,116],
"boot_8php.html#a081307d681d7d04f17b9ced2076e7c85":[6,0,4,1],
-"boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3":[6,0,4,222],
-"boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562":[6,0,4,73],
-"boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a":[6,0,4,183],
-"boot_8php.html#a0c59dde058efebbc66520d136cbd1631":[6,0,4,285],
-"boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe":[6,0,4,281],
-"boot_8php.html#a0d877df1e20bae765e1708be50f6b503":[6,0,4,284],
-"boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84":[6,0,4,22],
-"boot_8php.html#a0e57f846e6d47a308feced0f7274f178":[6,0,4,65],
+"boot_8php.html#a09532c3f750ae8c4527e63b2b790cbf3":[6,0,4,226],
+"boot_8php.html#a0a98dd0110dc6c8e24cefc8ae74d5562":[6,0,4,76],
+"boot_8php.html#a0afeb43da443d6ff3526ede5ecdcc3b3":[6,0,4,304],
+"boot_8php.html#a0b73e2548d6f9beb9c93211f488e336a":[6,0,4,188],
+"boot_8php.html#a0c59dde058efebbc66520d136cbd1631":[6,0,4,291],
+"boot_8php.html#a0cc8dc76bd10ac0ec81bac08a46f82fe":[6,0,4,287],
+"boot_8php.html#a0d877df1e20bae765e1708be50f6b503":[6,0,4,290],
+"boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84":[6,0,4,23],
+"boot_8php.html#a0e57f846e6d47a308feced0f7274f178":[6,0,4,68],
"boot_8php.html#a0e6db7e365f2b041a828b93786f694bc":[6,0,4,15],
-"boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8":[6,0,4,83],
-"boot_8php.html#a107d53f96acf5319905a34b1870db09a":[6,0,4,42],
-"boot_8php.html#a115faf8797718c3165498abbd6895843":[6,0,4,270],
-"boot_8php.html#a11cfe7d99b4dac0454d0de8873989f81":[6,0,4,140],
-"boot_8php.html#a1200c1f968ff3d52ef878de5fc5c30c1":[6,0,4,269],
-"boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5":[6,0,4,87],
-"boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd":[6,0,4,84],
-"boot_8php.html#a14d44d4a00223dc3db4ea962325db192":[6,0,4,210],
-"boot_8php.html#a176664e78dcb9132e16be69418223eb2":[6,0,4,68],
-"boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805":[6,0,4,159],
-"boot_8php.html#a17cf72338b040891781a4bcbdd9a8595":[6,0,4,155],
-"boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd":[6,0,4,182],
-"boot_8php.html#a18a400fa45e5632811b33041d8c048bf":[6,0,4,149],
-"boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2":[6,0,4,293],
-"boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc":[6,0,4,259],
-"boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f":[6,0,4,295],
-"boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86":[6,0,4,186],
-"boot_8php.html#a1da180f961f49a11573cac4ff6c62c05":[6,0,4,82],
-"boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc":[6,0,4,237],
-"boot_8php.html#a1f5906598e90b5ea2b4245f682be4348":[6,0,4,113],
-"boot_8php.html#a1fbb93cf030f07391f22cc2948744869":[6,0,4,166],
-"boot_8php.html#a205d013103997adfa72953d2f20c01e1":[6,0,4,231],
-"boot_8php.html#a20f0eed431d25870b624b8937a07a59f":[6,0,4,203],
-"boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3":[6,0,4,261],
-"boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5":[6,0,4,43],
-"boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77":[6,0,4,21],
-"boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8":[6,0,4,106],
-"boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f":[6,0,4,98],
-"boot_8php.html#a2750985ec445617d7e82ae3098c91e3f":[6,0,4,273],
-"boot_8php.html#a285732e7889fa7f333cbe431111e1029":[6,0,4,206],
-"boot_8php.html#a29528a2544373cc19a378f350040c6a1":[6,0,4,89],
-"boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221":[6,0,4,139],
-"boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62":[6,0,4,235],
-"boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3":[6,0,4,114],
-"boot_8php.html#a2b525996e4426bdddbcec277778bde08":[6,0,4,257],
-"boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0":[6,0,4,202],
-"boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d":[6,0,4,135],
-"boot_8php.html#a2e90096fede6acce16abf0da8cb2febe":[6,0,4,74],
-"boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab":[6,0,4,79],
+"boot_8php.html#a0fb63e51c2a9814941842ae8f2f4dff8":[6,0,4,86],
+"boot_8php.html#a107d53f96acf5319905a34b1870db09a":[6,0,4,45],
+"boot_8php.html#a115faf8797718c3165498abbd6895843":[6,0,4,276],
+"boot_8php.html#a11cfe7d99b4dac0454d0de8873989f81":[6,0,4,145],
+"boot_8php.html#a1200c1f968ff3d52ef878de5fc5c30c1":[6,0,4,275],
+"boot_8php.html#a12c781cefc20167231e2e3fd5866b1b5":[6,0,4,90],
+"boot_8php.html#a14ba8f9e162f2559831ee3bf98e0c3bd":[6,0,4,87],
+"boot_8php.html#a14d44d4a00223dc3db4ea962325db192":[6,0,4,215],
+"boot_8php.html#a176664e78dcb9132e16be69418223eb2":[6,0,4,71],
+"boot_8php.html#a17b4ea23d9ecf628d9c8f53b7abcb805":[6,0,4,164],
+"boot_8php.html#a17cf72338b040891781a4bcbdd9a8595":[6,0,4,160],
+"boot_8php.html#a181c111f4b6c14d091dfd3bf0d0a22cd":[6,0,4,187],
+"boot_8php.html#a18a400fa45e5632811b33041d8c048bf":[6,0,4,154],
+"boot_8php.html#a1997c4b7d0253e036bc0fb6b20e4af71":[6,0,4,303],
+"boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2":[6,0,4,310],
+"boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc":[6,0,4,265],
+"boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f":[6,0,4,312],
+"boot_8php.html#a1d6e7f4c08bb68e4a424326a811bdd86":[6,0,4,191],
+"boot_8php.html#a1da180f961f49a11573cac4ff6c62c05":[6,0,4,85],
+"boot_8php.html#a1db4f0009c9cb4e107eab0f914a3c8dc":[6,0,4,241],
+"boot_8php.html#a1f5906598e90b5ea2b4245f682be4348":[6,0,4,118],
+"boot_8php.html#a1fbb93cf030f07391f22cc2948744869":[6,0,4,171],
+"boot_8php.html#a205d013103997adfa72953d2f20c01e1":[6,0,4,235],
+"boot_8php.html#a20f0eed431d25870b624b8937a07a59f":[6,0,4,208],
+"boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3":[6,0,4,267],
+"boot_8php.html#a222395aa223cfbff6166fab0b4e2e1d5":[6,0,4,46],
+"boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77":[6,0,4,22],
+"boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8":[6,0,4,111],
+"boot_8php.html#a27299ecfb9e9a99826f17a1c14c6995f":[6,0,4,101],
+"boot_8php.html#a2750985ec445617d7e82ae3098c91e3f":[6,0,4,279],
+"boot_8php.html#a285732e7889fa7f333cbe431111e1029":[6,0,4,211],
+"boot_8php.html#a29528a2544373cc19a378f350040c6a1":[6,0,4,92],
+"boot_8php.html#a2958a2bd5422b85329d7c36c06dbc221":[6,0,4,144],
+"boot_8php.html#a29e921c0c72412cc738e44cca6ca1f62":[6,0,4,239],
+"boot_8php.html#a2af173e4e9836ee7c90757b4793a2be3":[6,0,4,119],
+"boot_8php.html#a2b525996e4426bdddbcec277778bde08":[6,0,4,263],
+"boot_8php.html#a2c65e925994566a63e6c03c381f1b4a0":[6,0,4,207],
+"boot_8php.html#a2c8906f1af94a3559a5b4661067bb79d":[6,0,4,140],
+"boot_8php.html#a2e90096fede6acce16abf0da8cb2febe":[6,0,4,77],
+"boot_8php.html#a2f8f25b13480c37a5f22511f53da8bab":[6,0,4,82],
"boot_8php.html#a329400dcb29897cdaae3020109272285":[6,0,4,17],
-"boot_8php.html#a32df13fec0e43281da5979e1f5579aa8":[6,0,4,242],
-"boot_8php.html#a3475ff6c2e575f946ea0ee377e944173":[6,0,4,153],
-"boot_8php.html#a34c756469ebed32e2fc987bcde62d382":[6,0,4,46],
-"boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49":[6,0,4,128],
-"boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd":[6,0,4,168],
-"boot_8php.html#a36003bebe4ce860c6652bcc3e09b2214":[6,0,4,218],
-"boot_8php.html#a36b31575f992a10b5927b76efba9362e":[6,0,4,299],
-"boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa":[6,0,4,191],
-"boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955":[6,0,4,117],
-"boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456":[6,0,4,122],
-"boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af":[6,0,4,298],
-"boot_8php.html#a3d48dffd9dc73a187263c3002cdf00c0":[6,0,4,188],
-"boot_8php.html#a3d6d4fc5fafcc9156811669158541caf":[6,0,4,233],
+"boot_8php.html#a32df13fec0e43281da5979e1f5579aa8":[6,0,4,246],
+"boot_8php.html#a3475ff6c2e575f946ea0ee377e944173":[6,0,4,158],
+"boot_8php.html#a34c756469ebed32e2fc987bcde62d382":[6,0,4,49],
+"boot_8php.html#a3515ea6bf77495de89b93e9ccd881c49":[6,0,4,133],
+"boot_8php.html#a35625dacd2158b9f1f1a8e77f9f081fd":[6,0,4,173],
+"boot_8php.html#a36003bebe4ce860c6652bcc3e09b2214":[6,0,4,222],
+"boot_8php.html#a36b31575f992a10b5927b76efba9362e":[6,0,4,317],
+"boot_8php.html#a37281c30bd92cecb499878d6778c570f":[6,0,4,302],
+"boot_8php.html#a37ddabc112db443b4c67fbc0f708817e":[6,0,4,105],
+"boot_8php.html#a38f6c7fe33b5434a24b4314567753dfa":[6,0,4,196],
+"boot_8php.html#a3ad9cc5d4354be741fa1de12b96e9955":[6,0,4,122],
+"boot_8php.html#a3b56bfc6a0dd159070e316ddac3b7456":[6,0,4,127],
+"boot_8php.html#a3cd42a70c6b3999590e4fd7a1a9096af":[6,0,4,316],
+"boot_8php.html#a3d48dffd9dc73a187263c3002cdf00c0":[6,0,4,193],
+"boot_8php.html#a3d6d4fc5fafcc9156811669158541caf":[6,0,4,237],
"boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4":[6,0,4,12],
-"boot_8php.html#a3e2ea123d29a72012db1241f96280b0e":[6,0,4,66],
-"boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77":[6,0,4,96],
-"boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a":[6,0,4,56],
-"boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb":[6,0,4,142],
-"boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b":[6,0,4,226],
-"boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e":[6,0,4,201],
-"boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731":[6,0,4,95],
-"boot_8php.html#a444ce608ce34efb82ee11852f36e825f":[6,0,4,176],
-"boot_8php.html#a44ae1542a805ffd7f826fb511db07374":[6,0,4,163],
-"boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f":[6,0,4,77],
-"boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e":[6,0,4,169],
-"boot_8php.html#a45b12aefab9675baffc7a07a09486db8":[6,0,4,282],
-"boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47":[6,0,4,189],
-"boot_8php.html#a4a12ce5de39789b0361e308d89925a20":[6,0,4,112],
-"boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4":[6,0,4,251],
-"boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e":[6,0,4,187],
+"boot_8php.html#a3e2ea123d29a72012db1241f96280b0e":[6,0,4,69],
+"boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77":[6,0,4,99],
+"boot_8php.html#a400519fa181591cd6fdbb8f25fbcba0a":[6,0,4,59],
+"boot_8php.html#a40d885b2cfd736aab4234ae641ca4dfb":[6,0,4,147],
+"boot_8php.html#a423505ab8dbd8e39d04ae3fe1374102b":[6,0,4,230],
+"boot_8php.html#a43296b1b4398aacbf92a4b2d56bab91e":[6,0,4,206],
+"boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731":[6,0,4,98],
+"boot_8php.html#a444ce608ce34efb82ee11852f36e825f":[6,0,4,181],
+"boot_8php.html#a44ae1542a805ffd7f826fb511db07374":[6,0,4,168],
+"boot_8php.html#a44d069c8a1cfcc6d2007c506a17ff28f":[6,0,4,80],
+"boot_8php.html#a458e19af801bc4b0d1f1ce1a6d9e857e":[6,0,4,174],
+"boot_8php.html#a45b12aefab9675baffc7a07a09486db8":[6,0,4,288],
+"boot_8php.html#a476c499e15caf75972fed134a8f23b2e":[6,0,4,42],
+"boot_8php.html#a49f2a70b3b43aa904223a8d19e986a47":[6,0,4,194],
+"boot_8php.html#a4a12ce5de39789b0361e308d89925a20":[6,0,4,117],
+"boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4":[6,0,4,257],
+"boot_8php.html#a4bfe22e163657690dfb6d5b1d04cb47e":[6,0,4,192],
"boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3":[6,0,4,6],
-"boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6":[6,0,4,224],
-"boot_8php.html#a4f507a5996dbb3da148add0339a40d5a":[6,0,4,62],
-"boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115":[6,0,4,247],
-"boot_8php.html#a505410c7edc5f5bb5fa227b98359793e":[6,0,4,213],
-"boot_8php.html#a50a6707a28c7d05d3f49eaabc7994501":[6,0,4,30],
-"boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa":[6,0,4,167],
-"boot_8php.html#a52b599cd13e152ebc80d7e4413683195":[6,0,4,44],
-"boot_8php.html#a53e4bdb6f225da55115acb9277f75e53":[6,0,4,88]
+"boot_8php.html#a4edce16cb7f21cdafa1e85bf63d713e6":[6,0,4,228],
+"boot_8php.html#a4f507a5996dbb3da148add0339a40d5a":[6,0,4,65],
+"boot_8php.html#a4fefd7486d3b888a05cfd3dc9575f115":[6,0,4,251],
+"boot_8php.html#a505410c7edc5f5bb5fa227b98359793e":[6,0,4,218],
+"boot_8php.html#a50a6707a28c7d05d3f49eaabc7994501":[6,0,4,31]
};
diff --git a/doc/html/navtreeindex1.js b/doc/html/navtreeindex1.js
index 6950ffef0..710cca29d 100644
--- a/doc/html/navtreeindex1.js
+++ b/doc/html/navtreeindex1.js
@@ -1,210 +1,224 @@
var NAVTREEINDEX1 =
{
-"boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209":[6,0,4,36],
-"boot_8php.html#a56fd673eaa7014150297ce1162502db5":[6,0,4,205],
-"boot_8php.html#a57eee7352714c004d36c26dda74af73e":[6,0,4,246],
-"boot_8php.html#a5a681a672e007cdc22b43345d71f07c6":[6,0,4,296],
-"boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1":[6,0,4,20],
-"boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434":[6,0,4,67],
-"boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa":[6,0,4,195],
-"boot_8php.html#a5b8484922918946d041e5e0515dbe718":[6,0,4,219],
-"boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4":[6,0,4,85],
-"boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2":[6,0,4,174],
-"boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640":[6,0,4,220],
-"boot_8php.html#a5fbebdf7a1c0ea8f904dbd9d78c2c06c":[6,0,4,34],
+"boot_8php.html#a525ca93ff35d3535d1a2b8ba57876afa":[6,0,4,172],
+"boot_8php.html#a52b599cd13e152ebc80d7e4413683195":[6,0,4,47],
+"boot_8php.html#a53e4bdb6f225da55115acb9277f75e53":[6,0,4,91],
+"boot_8php.html#a5542c5c2806ab8bca04bad53d47b5209":[6,0,4,37],
+"boot_8php.html#a56fd673eaa7014150297ce1162502db5":[6,0,4,210],
+"boot_8php.html#a57eee7352714c004d36c26dda74af73e":[6,0,4,250],
+"boot_8php.html#a59717d02602a4babf2a54da8b33d93a5":[6,0,4,41],
+"boot_8php.html#a5a681a672e007cdc22b43345d71f07c6":[6,0,4,314],
+"boot_8php.html#a5ab6181607a090bcdbaa13b15b85aba1":[6,0,4,21],
+"boot_8php.html#a5ae728ac966ea1d3525a19e7fec59434":[6,0,4,70],
+"boot_8php.html#a5b043b7fdcfd4e8c9c3747574afc6caa":[6,0,4,200],
+"boot_8php.html#a5b8484922918946d041e5e0515dbe718":[6,0,4,223],
+"boot_8php.html#a5c3747e0f505f0d5271dc4c54e3feaf4":[6,0,4,88],
+"boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2":[6,0,4,179],
+"boot_8php.html#a5e322a2a2d0f51924c0b2e874988e640":[6,0,4,224],
+"boot_8php.html#a5fbebdf7a1c0ea8f904dbd9d78c2c06c":[6,0,4,35],
"boot_8php.html#a623e49c79943f3e7bdb770d021683cf7":[6,0,4,19],
-"boot_8php.html#a6252d8eca67c689d9035ec6da544cf46":[6,0,4,25],
-"boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5":[6,0,4,81],
-"boot_8php.html#a639f079bf28f7bbb2769fee651d76dd8":[6,0,4,110],
-"boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd":[6,0,4,278],
-"boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16":[6,0,4,180],
-"boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322":[6,0,4,151],
-"boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11":[6,0,4,154],
-"boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155":[6,0,4,48],
-"boot_8php.html#a6969947145a139ec374ce098224d8e81":[6,0,4,157],
-"boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1":[6,0,4,263],
-"boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2":[6,0,4,250],
-"boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf":[6,0,4,244],
-"boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd":[6,0,4,107],
-"boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9":[6,0,4,99],
-"boot_8php.html#a6cd1b4081630b2bf7be38836cd9f410c":[6,0,4,214],
-"boot_8php.html#a6df1102664f64b274810db85197c2755":[6,0,4,230],
-"boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d":[6,0,4,137],
-"boot_8php.html#a6ee7a72d558d1851bbb9e3cdde377932":[6,0,4,225],
-"boot_8php.html#a7037bcbca223395c06bc67f65024de7a":[6,0,4,108],
-"boot_8php.html#a7176c0f9f1c98421b97735d892cf6252":[6,0,4,262],
-"boot_8php.html#a718a801b0be6cbaef5e519516da12721":[6,0,4,173],
-"boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6":[6,0,4,29],
-"boot_8php.html#a7236b2cdcf59f02a42302e893a99013b":[6,0,4,196],
-"boot_8php.html#a749144d8dd9c1366596a0213c277d050":[6,0,4,144],
-"boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab":[6,0,4,78],
+"boot_8php.html#a6252d8eca67c689d9035ec6da544cf46":[6,0,4,26],
+"boot_8php.html#a62c832a95e38b1fa23e6cef39521b7d5":[6,0,4,84],
+"boot_8php.html#a639f079bf28f7bbb2769fee651d76dd8":[6,0,4,115],
+"boot_8php.html#a64617d4655804de2a3c86501ab4fdbfd":[6,0,4,284],
+"boot_8php.html#a6626f383c3d2d459f731ab8b4f237d16":[6,0,4,185],
+"boot_8php.html#a6788e99021ec8ffb0fa94d651f22a322":[6,0,4,156],
+"boot_8php.html#a68d1d5bc9c7ccb663dc671b48c66df11":[6,0,4,159],
+"boot_8php.html#a68eebe493e6f729ffd1aeda7a4b11155":[6,0,4,51],
+"boot_8php.html#a6969947145a139ec374ce098224d8e81":[6,0,4,162],
+"boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1":[6,0,4,269],
+"boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2":[6,0,4,254],
+"boot_8php.html#a6b31dd451bc6c37fe7c9c766ff385aaf":[6,0,4,248],
+"boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd":[6,0,4,112],
+"boot_8php.html#a6c5e9e293c8242dcb9bc2c3ea2fee2c9":[6,0,4,102],
+"boot_8php.html#a6df1102664f64b274810db85197c2755":[6,0,4,234],
+"boot_8php.html#a6e57d913634d033b4d5ad72d99fd3e9d":[6,0,4,142],
+"boot_8php.html#a6ee7a72d558d1851bbb9e3cdde377932":[6,0,4,229],
+"boot_8php.html#a7037bcbca223395c06bc67f65024de7a":[6,0,4,113],
+"boot_8php.html#a7176c0f9f1c98421b97735d892cf6252":[6,0,4,268],
+"boot_8php.html#a718a801b0be6cbaef5e519516da12721":[6,0,4,178],
+"boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6":[6,0,4,30],
+"boot_8php.html#a7236b2cdcf59f02a42302e893a99013b":[6,0,4,201],
+"boot_8php.html#a749144d8dd9c1366596a0213c277d050":[6,0,4,149],
+"boot_8php.html#a74bf27f7564c9a37975e7b37d973dcab":[6,0,4,81],
"boot_8php.html#a75a90b0eadd0df510f7e63210733634d":[6,0,4,2],
-"boot_8php.html#a75fc600186b13c3b25e661afefb5eac8":[6,0,4,286],
+"boot_8php.html#a75fc600186b13c3b25e661afefb5eac8":[6,0,4,292],
+"boot_8php.html#a76480b213af379c0c6c7fa4e39019ca9":[6,0,4,301],
"boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006":[6,0,4,4],
-"boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966":[6,0,4,80],
-"boot_8php.html#a781916f83fcc8ff1035649afa45f0292":[6,0,4,93],
-"boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383":[6,0,4,253],
-"boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c":[6,0,4,123],
-"boot_8php.html#a7aa57438db03834aaa0b468bdce773a6":[6,0,4,71],
-"boot_8php.html#a7af107fab8d62b9a73801713b774ed30":[6,0,4,143],
-"boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133":[6,0,4,175],
-"boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3":[6,0,4,75],
-"boot_8php.html#a7c286add8961fd2d79216314cd4aadd8":[6,0,4,115],
-"boot_8php.html#a7c2eb822d50e1554bf5c32861f36342b":[6,0,4,63],
-"boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028":[6,0,4,177],
-"boot_8php.html#a7eeb83e15968f7a6cc5937d493815773":[6,0,4,50],
-"boot_8php.html#a7f3474fec541e261fc8dff47313c4017":[6,0,4,53],
-"boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866":[6,0,4,90],
-"boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf":[6,0,4,126],
-"boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed":[6,0,4,216],
-"boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8":[6,0,4,57],
-"boot_8php.html#a845891f82bf6edd7fa2d578b66703112":[6,0,4,120],
-"boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688":[6,0,4,61],
-"boot_8php.html#a852d4036a3bed66af1534d014c4ecde2":[6,0,4,228],
-"boot_8php.html#a8663f32171568489dbb2a01dd00371f8":[6,0,4,133],
-"boot_8php.html#a87b0f279f8413c7e4d805c5d85f20d34":[6,0,4,125],
-"boot_8php.html#a882b666adfe21f035a0f8c02806066d6":[6,0,4,277],
-"boot_8php.html#a8892374789fd261eb32a7969d934a14a":[6,0,4,276],
-"boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701":[6,0,4,194],
+"boot_8php.html#a774f0f792ebfec1e774c5a17bb9d5966":[6,0,4,83],
+"boot_8php.html#a781916f83fcc8ff1035649afa45f0292":[6,0,4,96],
+"boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383":[6,0,4,259],
+"boot_8php.html#a7a8ba64d089cc0412c59a2eefc6d655c":[6,0,4,128],
+"boot_8php.html#a7aa57438db03834aaa0b468bdce773a6":[6,0,4,74],
+"boot_8php.html#a7af107fab8d62b9a73801713b774ed30":[6,0,4,148],
+"boot_8php.html#a7b511bd93202c43405adbe3b5bcebbfe":[6,0,4,299],
+"boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133":[6,0,4,180],
+"boot_8php.html#a7bff2278e68a71e524afd1c7c951e1e3":[6,0,4,78],
+"boot_8php.html#a7c286add8961fd2d79216314cd4aadd8":[6,0,4,120],
+"boot_8php.html#a7c2eb822d50e1554bf5c32861f36342b":[6,0,4,66],
+"boot_8php.html#a7e5627b5ca4b7464feb0f08663b19ea1":[6,0,4,307],
+"boot_8php.html#a7ed4581ab66ebcde97f6b3730856b028":[6,0,4,182],
+"boot_8php.html#a7eeb83e15968f7a6cc5937d493815773":[6,0,4,53],
+"boot_8php.html#a7f3474fec541e261fc8dff47313c4017":[6,0,4,56],
+"boot_8php.html#a7f4264232dbb6c3b41f2617deecb1866":[6,0,4,93],
+"boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf":[6,0,4,131],
+"boot_8php.html#a8231d115060d41a9c2a677f2c86f10ed":[6,0,4,220],
+"boot_8php.html#a84057c5bfa1bca5fba8497fe005ee4d8":[6,0,4,60],
+"boot_8php.html#a845891f82bf6edd7fa2d578b66703112":[6,0,4,125],
+"boot_8php.html#a84f48897059bbd4a8738d7ee4cec6688":[6,0,4,64],
+"boot_8php.html#a852d4036a3bed66af1534d014c4ecde2":[6,0,4,232],
+"boot_8php.html#a8663f32171568489dbb2a01dd00371f8":[6,0,4,138],
+"boot_8php.html#a87b0f279f8413c7e4d805c5d85f20d34":[6,0,4,130],
+"boot_8php.html#a882b666adfe21f035a0f8c02806066d6":[6,0,4,283],
+"boot_8php.html#a8892374789fd261eb32a7969d934a14a":[6,0,4,282],
+"boot_8php.html#a8905fde0a5b7882bdc083b20d9b34701":[6,0,4,199],
"boot_8php.html#a899d24fd074594ceebbf72e1feff335f":[6,0,4,16],
-"boot_8php.html#a8a60cc38bb567765fd926fef70205f16":[6,0,4,104],
-"boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55":[6,0,4,248],
-"boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7":[6,0,4,136],
-"boot_8php.html#a8da836617174eed9fc2ac8054125354b":[6,0,4,130],
-"boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce":[6,0,4,255],
-"boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6":[6,0,4,294],
-"boot_8php.html#a9255af5ae9c887520091ea04763c1a88":[6,0,4,33],
+"boot_8php.html#a8a60cc38bb567765fd926fef70205f16":[6,0,4,109],
+"boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55":[6,0,4,252],
+"boot_8php.html#a8c9a11c47394244cbe18cd75b9726d5f":[6,0,4,104],
+"boot_8php.html#a8c9dce0ef27b35397e29298eb966f7f7":[6,0,4,141],
+"boot_8php.html#a8da836617174eed9fc2ac8054125354b":[6,0,4,135],
+"boot_8php.html#a8df201788c9dd0ca91384e3a14c08bce":[6,0,4,261],
+"boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6":[6,0,4,311],
+"boot_8php.html#a921c55b9fa59a327a5f0e07fa1ccb2e0":[6,0,4,255],
+"boot_8php.html#a9255af5ae9c887520091ea04763c1a88":[6,0,4,34],
"boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3":[6,0,4,11],
-"boot_8php.html#a93823d15ae07548a4c49de88d325cd26":[6,0,4,158],
-"boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08":[6,0,4,134],
-"boot_8php.html#a949116d9a295b214293006c060ca4848":[6,0,4,132],
-"boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0":[6,0,4,289],
-"boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4":[6,0,4,260],
+"boot_8php.html#a93823d15ae07548a4c49de88d325cd26":[6,0,4,163],
+"boot_8php.html#a939de9a99278f4fd7dcd0ee67f243f08":[6,0,4,139],
+"boot_8php.html#a949116d9a295b214293006c060ca4848":[6,0,4,137],
+"boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0":[6,0,4,295],
+"boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4":[6,0,4,266],
"boot_8php.html#a97769915c9f14adc4f8ab1ea2cecfd90":[6,0,4,18],
-"boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b":[6,0,4,208],
-"boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777":[6,0,4,249],
-"boot_8php.html#a9c80420e5a063a4a87ce4831f086134d":[6,0,4,52],
+"boot_8php.html#a981d46380f9f23c308bac1f9cb00dc5b":[6,0,4,213],
+"boot_8php.html#a997614f25e58f8313641e1eb0109fd10":[6,0,4,305],
+"boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777":[6,0,4,253],
+"boot_8php.html#a9c80420e5a063a4a87ce4831f086134d":[6,0,4,55],
"boot_8php.html#a9cbab4ee728e9a8b4ce952bae643044e":[6,0,4,5],
-"boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964":[6,0,4,240],
-"boot_8php.html#a9d01ef178b72b145016cca1393415bc4":[6,0,4,209],
-"boot_8php.html#a9ea1290e00c6d40684892047f2c778a9":[6,0,4,292],
-"boot_8php.html#a9eeb8989272d5ff804a616898bb13659":[6,0,4,279],
-"boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f":[6,0,4,239],
-"boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42":[6,0,4,197],
-"boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e":[6,0,4,26],
-"boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9":[6,0,4,217],
-"boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6":[6,0,4,47],
-"boot_8php.html#aa3679df31c8dad1b71816b0322d5baff":[6,0,4,165],
+"boot_8php.html#a9cc986b4f9dd6558cbb2e25aadbfd964":[6,0,4,244],
+"boot_8php.html#a9d01ef178b72b145016cca1393415bc4":[6,0,4,214],
+"boot_8php.html#a9ea1290e00c6d40684892047f2c778a9":[6,0,4,309],
+"boot_8php.html#a9eeb8989272d5ff804a616898bb13659":[6,0,4,285],
+"boot_8php.html#a9f8a2938ddd9ee2867e6f8ce77b61b2f":[6,0,4,297],
+"boot_8php.html#a9ff652e5cb83cd11cbb0350844e7b28f":[6,0,4,243],
+"boot_8php.html#aa17a4f9c63f5cbc5c06f1066b6aebc42":[6,0,4,202],
+"boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e":[6,0,4,27],
+"boot_8php.html#aa275653b9c87abc7391bb8040c1c2de9":[6,0,4,221],
+"boot_8php.html#aa3425e2de85b08f7041656d3a8502cb6":[6,0,4,50],
+"boot_8php.html#aa3679df31c8dad1b71816b0322d5baff":[6,0,4,170],
"boot_8php.html#aa4221641e5c21db69fa52c426b9017f5":[6,0,4,9],
-"boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2":[6,0,4,162],
-"boot_8php.html#aa589421267f0c2f0d643f727792cce35":[6,0,4,119],
-"boot_8php.html#aa74438cf71e48e37bf7b440b94243985":[6,0,4,92],
-"boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d":[6,0,4,101],
-"boot_8php.html#aa9244fc9cc221980c07a20cc534111be":[6,0,4,245],
-"boot_8php.html#aad33b494084f729b6ee3b0bc457718a1":[6,0,4,148],
-"boot_8php.html#aae6c941bde5fd6fce07e51dba7326ead":[6,0,4,227],
-"boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14":[6,0,4,72],
-"boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f":[6,0,4,200],
-"boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f":[6,0,4,124],
-"boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6":[6,0,4,229],
-"boot_8php.html#ab346a2ece14993861f3e4206befa94f0":[6,0,4,35],
-"boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8":[6,0,4,223],
-"boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0":[6,0,4,252],
-"boot_8php.html#ab4bddb41a0cf407178ec5278b950c393":[6,0,4,193],
-"boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e":[6,0,4,234],
-"boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764":[6,0,4,118],
-"boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf":[6,0,4,150],
-"boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78":[6,0,4,59],
-"boot_8php.html#ab724491497ab2618b23a01d5da60aec0":[6,0,4,211],
+"boot_8php.html#aa544a6c078130d0967a1f4ed8ce0a2d2":[6,0,4,167],
+"boot_8php.html#aa561f801e962b67a5c4d0548ea95fd17":[6,0,4,20],
+"boot_8php.html#aa589421267f0c2f0d643f727792cce35":[6,0,4,124],
+"boot_8php.html#aa74438cf71e48e37bf7b440b94243985":[6,0,4,95],
+"boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d":[6,0,4,106],
+"boot_8php.html#aa9244fc9cc221980c07a20cc534111be":[6,0,4,249],
+"boot_8php.html#aad33b494084f729b6ee3b0bc457718a1":[6,0,4,153],
+"boot_8php.html#aae6c941bde5fd6fce07e51dba7326ead":[6,0,4,231],
+"boot_8php.html#aaf9b76832ee5f85e56466af162ba8a14":[6,0,4,75],
+"boot_8php.html#ab21fb0f3e6b962419955c6fc7f26734f":[6,0,4,205],
+"boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f":[6,0,4,129],
+"boot_8php.html#ab2d0e8a9b81ee548ef2ce8e4560da2f6":[6,0,4,233],
+"boot_8php.html#ab346a2ece14993861f3e4206befa94f0":[6,0,4,36],
+"boot_8php.html#ab3920c2f3cd64802c0b7ff625c3b2ea8":[6,0,4,227],
+"boot_8php.html#ab49a5d43ce1150c5af8c750ccb14e15f":[6,0,4,256],
+"boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0":[6,0,4,258],
+"boot_8php.html#ab4bddb41a0cf407178ec5278b950c393":[6,0,4,198],
+"boot_8php.html#ab51965fabe54dc031e9a0ce1142ee83e":[6,0,4,238],
+"boot_8php.html#ab54b24cc302e1a42a67a49d788b6b764":[6,0,4,123],
+"boot_8php.html#ab55b16ae7fc19fafe5afaedd49163bbf":[6,0,4,155],
+"boot_8php.html#ab5ddbe69d3d03acd06e1fb281488cb78":[6,0,4,62],
+"boot_8php.html#ab724491497ab2618b23a01d5da60aec0":[6,0,4,216],
"boot_8php.html#ab79b8b4555cae20d03f8200666d89d63":[6,0,4,7],
-"boot_8php.html#ab7d65a7e7417825a4db62906bb600729":[6,0,4,103],
-"boot_8php.html#ab9dca53455cd157d3c6ba2bdecdbd22d":[6,0,4,288],
-"boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda":[6,0,4,40],
-"boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86":[6,0,4,256],
+"boot_8php.html#ab7d65a7e7417825a4db62906bb600729":[6,0,4,108],
+"boot_8php.html#ab9dca53455cd157d3c6ba2bdecdbd22d":[6,0,4,294],
+"boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda":[6,0,4,43],
+"boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86":[6,0,4,262],
"boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7":[6,0,4,3],
-"boot_8php.html#abd7bb40da9cc073297e49736b338ca07":[6,0,4,283],
-"boot_8php.html#abdcdfc873ace4e0902177bad934de0c0":[6,0,4,70],
-"boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1":[6,0,4,121],
-"boot_8php.html#abedd940e664017c61b48c6efa31d0cb8":[6,0,4,102],
-"boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450":[6,0,4,131],
-"boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c":[6,0,4,24],
-"boot_8php.html#ac195fc9003298923ea81f144388e24b1":[6,0,4,178],
-"boot_8php.html#ac43182e0d8bae7576a30b603774974f8":[6,0,4,254],
-"boot_8php.html#ac4d1c93dabcace711ffb4931204c336b":[6,0,4,141],
-"boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03":[6,0,4,100],
-"boot_8php.html#ac5e74f899f6e98d8e91b14ba1c08bc08":[6,0,4,27],
-"boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0":[6,0,4,38],
-"boot_8php.html#ac8400313df2c831653f9036f71ebd86d":[6,0,4,60],
-"boot_8php.html#ac86615ddc0763a00f5311c90e991730c":[6,0,4,290],
-"boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20":[6,0,4,127],
-"boot_8php.html#ac99fc4d040764eac1736bec6973556fe":[6,0,4,129],
-"boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8":[6,0,4,207],
-"boot_8php.html#aca47505b8732177f52bb2d647eb2741c":[6,0,4,37],
+"boot_8php.html#abd7bb40da9cc073297e49736b338ca07":[6,0,4,289],
+"boot_8php.html#abdcdfc873ace4e0902177bad934de0c0":[6,0,4,73],
+"boot_8php.html#abeb4d86e17cefa8584f1244e2183b0e1":[6,0,4,126],
+"boot_8php.html#abedd940e664017c61b48c6efa31d0cb8":[6,0,4,107],
+"boot_8php.html#ac01230c7655e0705b2e99c9bc03c4450":[6,0,4,136],
+"boot_8php.html#ac17fc8a416ea79e9d5cb4dc9a8ff8c5c":[6,0,4,25],
+"boot_8php.html#ac195fc9003298923ea81f144388e24b1":[6,0,4,183],
+"boot_8php.html#ac43182e0d8bae7576a30b603774974f8":[6,0,4,260],
+"boot_8php.html#ac4d1c93dabcace711ffb4931204c336b":[6,0,4,146],
+"boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03":[6,0,4,103],
+"boot_8php.html#ac5e74f899f6e98d8e91b14ba1c08bc08":[6,0,4,28],
+"boot_8php.html#ac608a34f3bc180e7724192e0fd31f9b0":[6,0,4,39],
+"boot_8php.html#ac8400313df2c831653f9036f71ebd86d":[6,0,4,63],
+"boot_8php.html#ac86615ddc0763a00f5311c90e991730c":[6,0,4,296],
+"boot_8php.html#ac890557fedc5b5a3b1d996249b1e1a20":[6,0,4,132],
+"boot_8php.html#ac89396b9144391acd08d6d0f9b332220":[6,0,4,298],
+"boot_8php.html#ac99fc4d040764eac1736bec6973556fe":[6,0,4,134],
+"boot_8php.html#aca08bc4f1554ba877500f6abcc99e1e8":[6,0,4,212],
+"boot_8php.html#aca47505b8732177f52bb2d647eb2741c":[6,0,4,38],
"boot_8php.html#aca5e42678e178c6b9034610d66666fd7":[6,0,4,13],
"boot_8php.html#acc4e0c910af066148b810e5fde55fff1":[6,0,4,8],
-"boot_8php.html#acca19aae62e1a6951a856b945de20d67":[6,0,4,181],
-"boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e":[6,0,4,291],
-"boot_8php.html#acd877c405b06b348b37b6f7e62a211e9":[6,0,4,241],
-"boot_8php.html#ace6d70ac290397ddd40e561fd0831858":[6,0,4,275],
-"boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32":[6,0,4,215],
-"boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3":[6,0,4,69],
-"boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8":[6,0,4,161],
-"boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5":[6,0,4,171],
+"boot_8php.html#acca19aae62e1a6951a856b945de20d67":[6,0,4,186],
+"boot_8php.html#accd6f36cc9f40225cbd720e4d12a7c6e":[6,0,4,308],
+"boot_8php.html#acd877c405b06b348b37b6f7e62a211e9":[6,0,4,245],
+"boot_8php.html#ace6d70ac290397ddd40e561fd0831858":[6,0,4,281],
+"boot_8php.html#ace83842dbeb84f7ed9ac59a9f57a7c32":[6,0,4,219],
+"boot_8php.html#aced60c7285192e80b7c4757e45a7f1e3":[6,0,4,72],
+"boot_8php.html#ad0876e837cf3fad8a26417e315f6e2c8":[6,0,4,166],
+"boot_8php.html#ad11f30a6590d3d77f0c5e1e3909af8f5":[6,0,4,176],
"boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13":[6,0,4,10],
-"boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f":[6,0,4,76],
-"boot_8php.html#ad34c1547020a305915bcc39707744690":[6,0,4,91],
-"boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44":[6,0,4,31],
-"boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137":[6,0,4,236],
-"boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63":[6,0,4,264],
-"boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5":[6,0,4,258],
-"boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29":[6,0,4,97],
-"boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272":[6,0,4,145],
-"boot_8php.html#adca48aee78465ae3064ca4432c0d87b5":[6,0,4,267],
-"boot_8php.html#add517a0958ac684792c62142a3877f81":[6,0,4,41],
-"boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498":[6,0,4,23],
-"boot_8php.html#ae0d9527117cd87dcba11986047ae336e":[6,0,4,45],
-"boot_8php.html#ae0da3ca0f54d75d22c71e007331f8d06":[6,0,4,109],
-"boot_8php.html#ae37444eaa42705185080ccf3e670cbc2":[6,0,4,274],
-"boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e":[6,0,4,190],
-"boot_8php.html#ae4861de36017fe399c1839f778bad9f5":[6,0,4,164],
-"boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95":[6,0,4,198],
-"boot_8php.html#aea392cb26ed617f3a8cde648385b5df0":[6,0,4,287],
-"boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c":[6,0,4,28],
-"boot_8php.html#aead84fa27d7516b855220fe004964a45":[6,0,4,280],
-"boot_8php.html#aeb1039302affcbe7e8872c01c08c88f8":[6,0,4,54],
-"boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4":[6,0,4,238],
-"boot_8php.html#aecaa1b6945b317ba8f1daf4af2aed8e6":[6,0,4,268],
-"boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53":[6,0,4,172],
-"boot_8php.html#aedfb9501ed408278667995524e0d15cf":[6,0,4,105],
-"boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67":[6,0,4,184],
-"boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d":[6,0,4,199],
-"boot_8php.html#aefba06f1c0842036329033e7567ecf6d":[6,0,4,147],
-"boot_8php.html#aefe573c3c7b0d37fbff264bbae79d673":[6,0,4,116],
-"boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4":[6,0,4,32],
-"boot_8php.html#af33d1b2e98a1e21af672005525d46dfe":[6,0,4,271],
-"boot_8php.html#af3905ea8f8568d0236db13fca40514e3":[6,0,4,192],
-"boot_8php.html#af3a4271630aabd8be592213f925d6a36":[6,0,4,64],
-"boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9":[6,0,4,55],
-"boot_8php.html#af3ff14985bffbd951a6ea356b7ec3007":[6,0,4,243],
-"boot_8php.html#af489d0c3166551b93e63a79ff2c9be35":[6,0,4,152],
-"boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461":[6,0,4,212],
-"boot_8php.html#af6b3de425e5849c73370a484c44607a3":[6,0,4,170],
-"boot_8php.html#af6f6f6f40139f12fc09ec47373b30919":[6,0,4,94],
-"boot_8php.html#af86c651547aa8f9e549ee40a09455549":[6,0,4,266],
-"boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d":[6,0,4,204],
-"boot_8php.html#afaf93b7026f784b113b4f8921745891e":[6,0,4,185],
-"boot_8php.html#afb97615e985a013799839b68b99018d7":[6,0,4,272],
-"boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4":[6,0,4,51],
-"boot_8php.html#afbb21ecccac9819aa65397e816868a5f":[6,0,4,221],
-"boot_8php.html#afe084c30a1810c10442edb4fbcbc0086":[6,0,4,86],
-"boot_8php.html#afe63ae69ba55299f813766e54df06ede":[6,0,4,156],
+"boot_8php.html#ad302cb26b838898d475f57f61b0fcc9f":[6,0,4,79],
+"boot_8php.html#ad34c1547020a305915bcc39707744690":[6,0,4,94],
+"boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44":[6,0,4,32],
+"boot_8php.html#ad789aef3cb95fc1eb36be7c4283d0137":[6,0,4,240],
+"boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63":[6,0,4,270],
+"boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5":[6,0,4,264],
+"boot_8php.html#ad94aca4c260b8a892397786201dc4664":[6,0,4,300],
+"boot_8php.html#ada72d88ae39a7e3b45baea201cb49a29":[6,0,4,100],
+"boot_8php.html#adaeb4f590c56326b2dca3b19f31b6272":[6,0,4,150],
+"boot_8php.html#adca48aee78465ae3064ca4432c0d87b5":[6,0,4,273],
+"boot_8php.html#add517a0958ac684792c62142a3877f81":[6,0,4,44],
+"boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498":[6,0,4,24],
+"boot_8php.html#ae09767b94688657978ff9366ec63684b":[6,0,4,306],
+"boot_8php.html#ae0d9527117cd87dcba11986047ae336e":[6,0,4,48],
+"boot_8php.html#ae0da3ca0f54d75d22c71e007331f8d06":[6,0,4,114],
+"boot_8php.html#ae37444eaa42705185080ccf3e670cbc2":[6,0,4,280],
+"boot_8php.html#ae3cef7b63e25e7bafea3fcf6b99fad0e":[6,0,4,195],
+"boot_8php.html#ae4861de36017fe399c1839f778bad9f5":[6,0,4,169],
+"boot_8php.html#ae94f7c7c0909629a75aed1c41f10bc95":[6,0,4,203],
+"boot_8php.html#ae97836b0547953be182a2334c9c91d3c":[6,0,4,40],
+"boot_8php.html#aea392cb26ed617f3a8cde648385b5df0":[6,0,4,293],
+"boot_8php.html#aea7fc57a4d8e9dcb42f2601b0b9b761c":[6,0,4,29],
+"boot_8php.html#aead84fa27d7516b855220fe004964a45":[6,0,4,286],
+"boot_8php.html#aeb1039302affcbe7e8872c01c08c88f8":[6,0,4,57],
+"boot_8php.html#aec36f8fcd4cb14a52934590b3d6666b4":[6,0,4,242],
+"boot_8php.html#aecaa1b6945b317ba8f1daf4af2aed8e6":[6,0,4,274],
+"boot_8php.html#aed0dfb35f7dd00dc9e4f868ea7f7ff53":[6,0,4,177],
+"boot_8php.html#aedfb9501ed408278667995524e0d15cf":[6,0,4,110],
+"boot_8php.html#aee324eca9de4e0fedf01ab5f92e27c67":[6,0,4,189],
+"boot_8php.html#aef4b6c558c68c88c10f13c5a00c20e3d":[6,0,4,204],
+"boot_8php.html#aefba06f1c0842036329033e7567ecf6d":[6,0,4,152],
+"boot_8php.html#aefe573c3c7b0d37fbff264bbae79d673":[6,0,4,121],
+"boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4":[6,0,4,33],
+"boot_8php.html#af33d1b2e98a1e21af672005525d46dfe":[6,0,4,277],
+"boot_8php.html#af3905ea8f8568d0236db13fca40514e3":[6,0,4,197],
+"boot_8php.html#af3a4271630aabd8be592213f925d6a36":[6,0,4,67],
+"boot_8php.html#af3bdfc20979c16f15bb9c60446a480f9":[6,0,4,58],
+"boot_8php.html#af3ff14985bffbd951a6ea356b7ec3007":[6,0,4,247],
+"boot_8php.html#af489d0c3166551b93e63a79ff2c9be35":[6,0,4,157],
+"boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461":[6,0,4,217],
+"boot_8php.html#af6b3de425e5849c73370a484c44607a3":[6,0,4,175],
+"boot_8php.html#af6f6f6f40139f12fc09ec47373b30919":[6,0,4,97],
+"boot_8php.html#af86c651547aa8f9e549ee40a09455549":[6,0,4,272],
+"boot_8php.html#af8c0cb0744c9a6b5d6d3baafb1f1e71d":[6,0,4,209],
+"boot_8php.html#afaf93b7026f784b113b4f8921745891e":[6,0,4,190],
+"boot_8php.html#afb97615e985a013799839b68b99018d7":[6,0,4,278],
+"boot_8php.html#afbb1fe1b2c8c730ec8e08da93b6512c4":[6,0,4,54],
+"boot_8php.html#afbb21ecccac9819aa65397e816868a5f":[6,0,4,225],
+"boot_8php.html#afe084c30a1810c10442edb4fbcbc0086":[6,0,4,89],
+"boot_8php.html#afe63ae69ba55299f813766e54df06ede":[6,0,4,161],
"boot_8php.html#afe88b920aa285982edb817a0dd44eb37":[6,0,4,14],
-"boot_8php.html#afef254290febac854c85fc698d9483a6":[6,0,4,297],
-"boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7":[6,0,4,232],
-"boxy_8php.html":[6,0,3,1,4,1,0],
-"cache_8php.html":[6,0,0,14],
-"chanman_8php.html":[6,0,0,15],
-"chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b":[6,0,0,15,0],
+"boot_8php.html#afef254290febac854c85fc698d9483a6":[6,0,4,315],
+"boot_8php.html#aff210e8403dd72368522b17fb6e5d4e7":[6,0,4,236],
+"boxy_8php.html":[6,0,3,1,3,1,0],
+"cache_8php.html":[6,0,0,15],
"channel_8php.html":[6,0,1,11],
"channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1":[6,0,1,11,0],
"channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc":[6,0,1,11,1],
@@ -216,38 +230,24 @@ var NAVTREEINDEX1 =
"chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03":[6,0,1,14,2],
"choklet_8php.html":[6,0,3,0,0],
"classApp.html":[5,0,6],
-"classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3":[5,0,6,56],
-"classApp.html#a050b0696118da47e8b30859ad1a2c149":[5,0,6,40],
+"classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3":[5,0,6,51],
+"classApp.html#a050b0696118da47e8b30859ad1a2c149":[5,0,6,38],
"classApp.html#a084e03c77686d8c13390fef3f7428a2b":[5,0,6,5],
"classApp.html#a08bc87aff64f39fbc084e9d6545cee4d":[5,0,6,2],
-"classApp.html#a08c24d6a6fc52fcc784b0f765f13b820":[5,0,6,75],
+"classApp.html#a08c24d6a6fc52fcc784b0f765f13b820":[5,0,6,71],
"classApp.html#a08f0537964d98958d218066364cff785":[5,0,6,1],
-"classApp.html#a0ce85be198e46570366cb3344f3c55b8":[5,0,6,50],
-"classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d":[5,0,6,60],
+"classApp.html#a0ce85be198e46570366cb3344f3c55b8":[5,0,6,46],
+"classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d":[5,0,6,56],
"classApp.html#a123b903dfe5d3488cc68db3471d36fd2":[5,0,6,30],
-"classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11":[5,0,6,79],
+"classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11":[5,0,6,75],
"classApp.html#a14bd4b1c29f3aff371fe5d4cb11aeea3":[5,0,6,32],
-"classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a":[5,0,6,73],
-"classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f":[5,0,6,61],
+"classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a":[5,0,6,69],
+"classApp.html#a1a297e70b3667b83f4460aa7ed9f5d6f":[5,0,6,57],
"classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2":[5,0,6,8],
+"classApp.html#a1f60d19d47021629faac7a0a6d917e94":[5,0,6,55],
"classApp.html#a20d1890cc16b22ba79eeb0cbf2f719f7":[5,0,6,29],
"classApp.html#a230e975296cf164da2fee35ef720964f":[5,0,6,33],
-"classApp.html#a244b2d53b21be269aad2269d23192f95":[5,0,6,77],
-"classApp.html#a256360c9184fed6d7556e0bc0a835d7f":[5,0,6,48],
-"classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f":[5,0,6,76],
-"classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a":[5,0,6,12],
-"classApp.html#a330410a288f3393d53772f5e98f857ea":[5,0,6,51],
-"classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c":[5,0,6,66],
-"classApp.html#a344d2b7dc2f276648d521aee4da1731c":[5,0,6,23],
-"classApp.html#a3694aa1907aa103a2adbc71f926f0fa0":[5,0,6,55],
-"classApp.html#a3d84af5e42082098672531cd1a618853":[5,0,6,22],
-"classApp.html#a4659785d13e4bac0bed50dbb1b0d4299":[5,0,6,6],
-"classApp.html#a4776d9322edea17fae56afa5d01a323e":[5,0,6,24],
-"classApp.html#a4833bee2eae4ad1691a04fa19e11a766":[5,0,6,90],
-"classApp.html#a487332f8de40414ca1a54a4265570b70":[5,0,6,85],
-"classApp.html#a495ec082c2719314e536070ca1ce073d":[5,0,6,42],
-"classApp.html#a4b67935096f66d1f14b657399a8461ac":[5,0,6,68],
-"classApp.html#a4bdd7bfed62f50515fce652127bf481b":[5,0,6,25],
-"classApp.html#a4c7cfc62d39508086cf300dc2e39c4df":[5,0,6,59],
-"classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f":[5,0,6,67]
+"classApp.html#a244b2d53b21be269aad2269d23192f95":[5,0,6,73],
+"classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f":[5,0,6,72],
+"classApp.html#a2eb832a8577dee7d40b93abdf6d1d35a":[5,0,6,12]
};
diff --git a/doc/html/navtreeindex2.js b/doc/html/navtreeindex2.js
index 6e0f047f2..8b10dff80 100644
--- a/doc/html/navtreeindex2.js
+++ b/doc/html/navtreeindex2.js
@@ -1,61 +1,70 @@
var NAVTREEINDEX2 =
{
+"classApp.html#a33a8e90b60ec4438f6fbf299d0f6839c":[5,0,6,62],
+"classApp.html#a344d2b7dc2f276648d521aee4da1731c":[5,0,6,23],
+"classApp.html#a3694aa1907aa103a2adbc71f926f0fa0":[5,0,6,50],
+"classApp.html#a3d84af5e42082098672531cd1a618853":[5,0,6,22],
+"classApp.html#a4659785d13e4bac0bed50dbb1b0d4299":[5,0,6,6],
+"classApp.html#a4776d9322edea17fae56afa5d01a323e":[5,0,6,24],
+"classApp.html#a487332f8de40414ca1a54a4265570b70":[5,0,6,81],
+"classApp.html#a495ec082c2719314e536070ca1ce073d":[5,0,6,40],
+"classApp.html#a4b67935096f66d1f14b657399a8461ac":[5,0,6,64],
+"classApp.html#a4bdd7bfed62f50515fce652127bf481b":[5,0,6,25],
+"classApp.html#a4c7cfc62d39508086cf300dc2e39c4df":[5,0,6,54],
+"classApp.html#a4ffe529fb14389f7fedf5fdc5f722e7f":[5,0,6,63],
"classApp.html#a5293a8543ba338dcf38cd4ff3bc5d4be":[5,0,6,9],
"classApp.html#a557d7b779d8259027f4724ebf7b248dc":[5,0,6,28],
"classApp.html#a560189f048d3db2f526841963cc43e97":[5,0,6,26],
-"classApp.html#a56b1a432c96aef8b1971f779c9d93c8c":[5,0,6,88],
-"classApp.html#a576ecb1c5b4a283221e6f2f0ec248251":[5,0,6,58],
-"classApp.html#a57d041fcc003d08c127dfa99a02bc192":[5,0,6,74],
-"classApp.html#a58ac598544892ff7c32890291b72635e":[5,0,6,62],
-"classApp.html#a59dd4b665c70e7dbd80682c014ff7145":[5,0,6,63],
+"classApp.html#a56b1a432c96aef8b1971f779c9d93c8c":[5,0,6,84],
+"classApp.html#a576ecb1c5b4a283221e6f2f0ec248251":[5,0,6,53],
+"classApp.html#a57d041fcc003d08c127dfa99a02bc192":[5,0,6,70],
+"classApp.html#a58ac598544892ff7c32890291b72635e":[5,0,6,58],
+"classApp.html#a59dd4b665c70e7dbd80682c014ff7145":[5,0,6,59],
"classApp.html#a5c63eabdc7fdd8b6e3348980ec16a3ad":[5,0,6,3],
-"classApp.html#a5cfc098c061b7d765add58fd2ca97445":[5,0,6,39],
-"classApp.html#a5f64620473a9727a48ebe9cf6f335a98":[5,0,6,80],
+"classApp.html#a5cfc098c061b7d765add58fd2ca97445":[5,0,6,37],
+"classApp.html#a5f64620473a9727a48ebe9cf6f335a98":[5,0,6,76],
"classApp.html#a604d659d6977a99de42a160343e5289a":[5,0,6,4],
-"classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2":[5,0,6,45],
+"classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2":[5,0,6,43],
"classApp.html#a622eace13f8fc9f4b5672a68e2bc4396":[5,0,6,7],
-"classApp.html#a6844aedad10e201b8c3d80cfc9e876d3":[5,0,6,81],
-"classApp.html#a6859a4848a5c0049b4134cc4b34228b6":[5,0,6,82],
-"classApp.html#a6bcb19cdc4907077da72864686d5a780":[5,0,6,69],
-"classApp.html#a6e4f0fbfa3cf6c11baebe22a03db6165":[5,0,6,65],
-"classApp.html#a6f55d087e1ff4710132c1b0863faa2ee":[5,0,6,47],
-"classApp.html#a764cc6cd7578132c21d2b4545de9301c":[5,0,6,83],
+"classApp.html#a6844aedad10e201b8c3d80cfc9e876d3":[5,0,6,77],
+"classApp.html#a6859a4848a5c0049b4134cc4b34228b6":[5,0,6,78],
+"classApp.html#a6bcb19cdc4907077da72864686d5a780":[5,0,6,65],
+"classApp.html#a6e4f0fbfa3cf6c11baebe22a03db6165":[5,0,6,61],
+"classApp.html#a6f55d087e1ff4710132c1b0863faa2ee":[5,0,6,45],
+"classApp.html#a764cc6cd7578132c21d2b4545de9301c":[5,0,6,79],
"classApp.html#a78788f6e9d8b713b138f81e457c5cd08":[5,0,6,20],
-"classApp.html#a7954862f44f606b0ff83d4c74d15e792":[5,0,6,57],
+"classApp.html#a7954862f44f606b0ff83d4c74d15e792":[5,0,6,52],
"classApp.html#a871898becd0697d778f36d9336253ae8":[5,0,6,14],
"classApp.html#a8863703a0305eaa45eb970dbd2046291":[5,0,6,16],
"classApp.html#a89e9feb2bfb5253883a9720beaffe876":[5,0,6,21],
-"classApp.html#a91fd3c8b89016113b05f3be24805ccff":[5,0,6,87],
+"classApp.html#a91fd3c8b89016113b05f3be24805ccff":[5,0,6,83],
"classApp.html#a94a1ed2dc493c58612d17035b74ae736":[5,0,6,31],
-"classApp.html#a98ef4cfd36693a3457c879b76bc6d694":[5,0,6,44],
-"classApp.html#a9bf62f8e39585c0aa48fcffc3bf3484d":[5,0,6,64],
-"classApp.html#aa5a87c46ab3fee21362c466bf78042ef":[5,0,6,91],
+"classApp.html#a98ef4cfd36693a3457c879b76bc6d694":[5,0,6,42],
+"classApp.html#a9bf62f8e39585c0aa48fcffc3bf3484d":[5,0,6,60],
+"classApp.html#aa5a87c46ab3fee21362c466bf78042ef":[5,0,6,86],
"classApp.html#aab23c59172310fd30f2d60dc039d3eea":[5,0,6,13],
-"classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e":[5,0,6,38],
-"classApp.html#ab35b01a366a2ea95725e97af278f87ab":[5,0,6,86],
+"classApp.html#ab35b01a366a2ea95725e97af278f87ab":[5,0,6,82],
"classApp.html#ab3da757abe5cb45bf88f07cc51a73b58":[5,0,6,35],
-"classApp.html#ab47de68fa39806d1fb0976407e188b77":[5,0,6,71],
-"classApp.html#abe0e4fa91097f7a6588e1213a834121c":[5,0,6,37],
+"classApp.html#ab47de68fa39806d1fb0976407e188b77":[5,0,6,67],
"classApp.html#abea5a4f77dcd53c928dc4eed86616637":[5,0,6,19],
"classApp.html#abf46a653d8499e7c253cc1be894a6d83":[5,0,6,17],
-"classApp.html#ac1a8b2cd40609b231a560201a08852ba":[5,0,6,52],
-"classApp.html#ac1d80a14492acc932715d54567d8a589":[5,0,6,46],
-"classApp.html#ac6e6b1c7d6df408580ff79977fcfa656":[5,0,6,54],
-"classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88":[5,0,6,43],
-"classApp.html#acad5896b7a79ae31433ad8f89606c728":[5,0,6,70],
+"classApp.html#ac1a8b2cd40609b231a560201a08852ba":[5,0,6,47],
+"classApp.html#ac1d80a14492acc932715d54567d8a589":[5,0,6,44],
+"classApp.html#ac6e6b1c7d6df408580ff79977fcfa656":[5,0,6,49],
+"classApp.html#ac73dc90e4764497e2f1b7e6612c8fb88":[5,0,6,41],
+"classApp.html#acad5896b7a79ae31433ad8f89606c728":[5,0,6,66],
"classApp.html#acb27e607fe4c82603444676e25c36b70":[5,0,6,11],
-"classApp.html#ad082d63acc078e5bf23825a03bdd6a76":[5,0,6,78],
-"classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0":[5,0,6,41],
+"classApp.html#ad082d63acc078e5bf23825a03bdd6a76":[5,0,6,74],
+"classApp.html#ad1c8eb91a6fd470b94f34b7fdad3a2d0":[5,0,6,39],
"classApp.html#ad5175536561021548ae8188e24c7b80c":[5,0,6,36],
"classApp.html#adb060d5c7f35a521ec7ec0effbe08097":[5,0,6,27],
"classApp.html#adb5a4bb657881e553978ff390babd01f":[5,0,6,10],
-"classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8":[5,0,6,89],
-"classApp.html#ae3f47830543d0d902f66913def8db66b":[5,0,6,53],
-"classApp.html#ae9f96338f32187d308b67b980eea0008":[5,0,6,72],
+"classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8":[5,0,6,85],
+"classApp.html#ae3f47830543d0d902f66913def8db66b":[5,0,6,48],
+"classApp.html#ae9f96338f32187d308b67b980eea0008":[5,0,6,68],
"classApp.html#aeb1fe1c8ad9aa639909bd183ce578536":[5,0,6,18],
-"classApp.html#aeca29fd4f7192ca07369b3c598c36e67":[5,0,6,84],
+"classApp.html#aeca29fd4f7192ca07369b3c598c36e67":[5,0,6,80],
"classApp.html#af17df107f2216ddf5ad2a7e0f2ba2166":[5,0,6,15],
-"classApp.html#af5007c42a693afd9c4899c243b2e1363":[5,0,6,49],
"classApp.html#af58db526040829b1c8bd95561b329262":[5,0,6,34],
"classApp.html#af6d39f63fb7116bbeb04e51696f99474":[5,0,6,0],
"classBaseObject.html":[5,0,7],
@@ -84,170 +93,161 @@ var NAVTREEINDEX2 =
"classConversation.html#af84ea6ccd72214c9bb4c504461cc8b09":[5,0,9,0],
"classConversation.html#afb03d1648dbfafe62caa1e30f32f2b1a":[5,0,9,15],
"classConversation.html#afd4965d22a6e4bfea2f35e931b3273c6":[5,0,9,14],
-"classFKOAuth1.html":[5,0,14],
-"classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f":[5,0,14,1],
-"classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6":[5,0,14,0],
-"classFKOAuthDataStore.html":[5,0,15],
-"classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1":[5,0,15,1],
-"classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050":[5,0,15,5],
-"classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934":[5,0,15,4],
-"classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599":[5,0,15,2],
-"classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab":[5,0,15,3],
-"classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819":[5,0,15,0],
-"classFriendicaSmarty.html":[5,0,16],
-"classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690":[5,0,16,2],
-"classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9":[5,0,16,1],
-"classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6":[5,0,16,0],
-"classFriendicaSmartyEngine.html":[5,0,17],
-"classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118":[5,0,17,1],
-"classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88":[5,0,17,2],
-"classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6":[5,0,17,0],
-"classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2":[5,0,17,3],
-"classItem.html":[5,0,18],
-"classItem.html#a007424e3e3171dcfb4312a02161da6cd":[5,0,18,34],
-"classItem.html#a078f95b4134ce3a1df344cf8d386f986":[5,0,18,37],
-"classItem.html#a0c301aaed2b7d682728d18db3a22afa3":[5,0,18,8],
-"classItem.html#a1a1e42877e6ac7af50286142ceb483d2":[5,0,18,39],
-"classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2":[5,0,18,42],
-"classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2":[5,0,18,0],
-"classItem.html#a2ce70ef63f9f4d86a09c351678806925":[5,0,18,24],
-"classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf":[5,0,18,6],
-"classItem.html#a428f448f89a8629055ea3294eb942aea":[5,0,18,16],
-"classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8":[5,0,18,44],
-"classItem.html#a4b92e3a9d6212c553aa2661489bd95d8":[5,0,18,15],
-"classItem.html#a5b2fafdca55aefeaa08993a5a60529f0":[5,0,18,20],
-"classItem.html#a5b561415861f5b89b0733aacfe0428d1":[5,0,18,40],
-"classItem.html#a5cfa6cf964f433a917a81cab079ff9d8":[5,0,18,43],
-"classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189":[5,0,18,45],
-"classItem.html#a632185dd25c5caf277067c76230a4320":[5,0,18,4],
-"classItem.html#a67892aa23d19f4431bb2e5f43c74000e":[5,0,18,12],
-"classItem.html#a7f7bc059de377319282cb4ef4a828480":[5,0,18,41],
-"classItem.html#a80dcd0fb7673776c0967839d429c2a0f":[5,0,18,31],
-"classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51":[5,0,18,1],
-"classItem.html#a904421c7a427411bb2ab473bca872f63":[5,0,18,7],
-"classItem.html#a90743c8348b13213275c223bb9333aa0":[5,0,18,32],
-"classItem.html#a9594df6014b0b6f45364ea7a34510130":[5,0,18,36],
-"classItem.html#a97c7feeea7f26a73176cb19faa455e12":[5,0,18,22],
-"classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7":[5,0,18,28],
-"classItem.html#a9f2d219da712390f59012fc32a342074":[5,0,18,14],
-"classItem.html#aa0ee775ec94abccec6c798428835d001":[5,0,18,5],
-"classItem.html#aa1bd19fc8b5577078530265a7bf64123":[5,0,18,26],
-"classItem.html#aa2c221231ad0fc3720ccc1f00f0c6304":[5,0,18,33],
-"classItem.html#aa452b5bcd8dea12119b09212c615cb41":[5,0,18,25],
-"classItem.html#aa49e40f961dff66da32c5ae110e32993":[5,0,18,21],
-"classItem.html#aa541bc4290e51bfd688d6921bebabc73":[5,0,18,13],
-"classItem.html#aa8b1bbc4236890694635295e46d7fd72":[5,0,18,27],
-"classItem.html#aabf87ded59c25b5fe2b2296678e70509":[5,0,18,23],
-"classItem.html#aba23a0a9d89e316d2b343cc46d695d91":[5,0,18,17],
-"classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8":[5,0,18,2],
-"classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967":[5,0,18,19],
-"classItem.html#ac0f27e58532612f6e7a54c8a621b9b92":[5,0,18,11],
-"classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c":[5,0,18,10],
-"classItem.html#aca1e66988ed00cd627b2a359b72cd0ae":[5,0,18,3],
-"classItem.html#acc32426c0f465391be8a99ad810c7b8e":[5,0,18,30],
-"classItem.html#ad3638f93065693c1f69eb349feb1b7aa":[5,0,18,9],
-"classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8":[5,0,18,18],
-"classItem.html#aec24e233f9098f902b1e57e60dcb2019":[5,0,18,35],
-"classItem.html#af1b73df9b7c4b927e26b7e243b491f42":[5,0,18,29],
-"classItem.html#afa54851df82962c7c42dea3cc9f5c92c":[5,0,18,38],
-"classProtoDriver.html":[5,0,23],
-"classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a":[5,0,23,0],
-"classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d":[5,0,23,2],
-"classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67":[5,0,23,1],
-"classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337":[5,0,23,6],
-"classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b":[5,0,23,4],
-"classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181":[5,0,23,5],
-"classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b":[5,0,23,3],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html":[5,0,3,0,0],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a112ad78a863dc0e598b5f02c596798c0":[5,0,3,0,0,9],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a167ae032bd2ad8e6caa2e1e1a6f1b5d3":[5,0,3,0,0,8],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a1a23c349cc4699a8474505972684ea9c":[5,0,3,0,0,13],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a2926fe923baade564f2663632fa8c633":[5,0,3,0,0,3],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a605aa09565a097316b80f0d17d6b5823":[5,0,3,0,0,12],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6333c8ce58998bd11bf8102afe3b0748":[5,0,3,0,0,1],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624":[5,0,3,0,0,7],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a76fdb7fd5dd7376155abb5a58cd6fd69":[5,0,3,0,0,11],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a849c99cf0a7ad065d630c8a30106ad5e":[5,0,3,0,0,15],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#aa0b2a5fa9186d7dc0e637f1ecb379c42":[5,0,3,0,0,0],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#aad0ef0cc05c407de84dbfbf2050bbbbe":[5,0,3,0,0,14],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#aadce020fb595c7943829d7f995d3f998":[5,0,3,0,0,5],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abe1defedb90ac8e3b6487e124e625521":[5,0,3,0,0,10],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abf6fe89b0a8239ed93c3b07e1fbce75b":[5,0,3,0,0,2],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#adc72f36f0b2b17b20ea4df900afcd697":[5,0,3,0,0,4],
-"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#af6d239fefed05859327ee8db626703f9":[5,0,3,0,0,6],
-"classRedMatrix_1_1RedDAV_1_1RedBrowser.html":[5,0,3,0,1],
-"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a0733e38e254474d9a456825e72f1ddfd":[5,0,3,0,1,2],
-"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd":[5,0,3,0,1,7],
-"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf":[5,0,3,0,1,5],
-"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a8161f2a0be205412e263c947b5ec46c5":[5,0,3,0,1,0],
-"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19":[5,0,3,0,1,6],
-"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#acaa792c08d24e9dc2919759e92ba037d":[5,0,3,0,1,4],
-"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad19179bf4ac7f18fafa7e2e3df800142":[5,0,3,0,1,8],
-"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad4bc0516533c62733f38043a37267d78":[5,0,3,0,1,1],
-"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09":[5,0,3,0,1,3],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html":[5,0,3,0,2],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956":[5,0,3,0,2,11],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a17ea47e34cb76b6e79f36ebed790d76a":[5,0,3,0,2,15],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7":[5,0,3,0,2,4],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a2fc4e6b9be2108bbaa1ca1a03fd6d44e":[5,0,3,0,2,14],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a438066fb1565fbcffa22c12d5ce23695":[5,0,3,0,2,17],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a4bba2e56bc8ec3e05f05eae46f56f36d":[5,0,3,0,2,16],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a55f7172814a0749b5342f152ab3fa0df":[5,0,3,0,2,8],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe":[5,0,3,0,2,3],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db443ed3c84938b4352fe515bf8d68":[5,0,3,0,2,9],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5":[5,0,3,0,2,7],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a76b58fe5223e565c97f1b9af93031a99":[5,0,3,0,2,0],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d":[5,0,3,0,2,6],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a964b13fde1a5da6f76b51ca5519234dc":[5,0,3,0,2,1],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a9b9a0b5bfa4de1f78e6cafaa534b6f6a":[5,0,3,0,2,5],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aab6907e7fb7f9f7227f9cd42bdc84eb9":[5,0,3,0,2,12],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62":[5,0,3,0,2,2],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#adf8735b3118cdf2f42416edaf42b82e9":[5,0,3,0,2,13],
-"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#af90a1a74cfd643a5c56b9a17ea250d59":[5,0,3,0,2,10],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html":[5,0,3,0,3],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d":[5,0,3,0,3,9],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#a05798eac84c578152ff21758261c6ac6":[5,0,3,0,3,0],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#a07e1b19e7aaf3dcce822e9be8823a87d":[5,0,3,0,3,7],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#a21b6e9d420c352f25610a33f57858215":[5,0,3,0,3,10],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#a235700e2dfbe21dc41613d36e30e8acc":[5,0,3,0,3,11],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0":[5,0,3,0,3,8],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8":[5,0,3,0,3,2],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#a9f14682acf3ccb70df5af5dd0687c689":[5,0,3,0,3,4],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#ab722dcb8c4598426c81fa2b2e4fad5f2":[5,0,3,0,3,12],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#ab7ab7ba81fab28eb02382cfdfd80ecfe":[5,0,3,0,3,1],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#ac47016aa0e3f6f1a1c4570bd6fd8cf25":[5,0,3,0,3,5],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#ac945aa782d6c035d339e59974266ec4d":[5,0,3,0,3,6],
-"classRedMatrix_1_1RedDAV_1_1RedFile.html#af5c88b75d0c1f590af03755534cb167e":[5,0,3,0,3,3],
-"classTemplate.html":[5,0,24],
-"classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b":[5,0,24,13],
-"classTemplate.html#a285b5b2007dbbf733476273df3fed4ef":[5,0,24,12],
-"classTemplate.html#a317d535946dc065c35dd5cd38380e6c6":[5,0,24,22],
-"classTemplate.html#a35d599c9b53a02e2fe2232e5b7ed5da7":[5,0,24,2],
-"classTemplate.html#a37c15f6d1ade500943629f27a62808b7":[5,0,24,3],
-"classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e":[5,0,24,6],
-"classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10":[5,0,24,21],
-"classTemplate.html#a6f0efc256688c36110180b501067ff11":[5,0,24,23],
-"classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38":[5,0,24,15],
-"classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677":[5,0,24,9],
-"classTemplate.html#a8f4d17e49f42b876a97364c13fb572d1":[5,0,24,19],
-"classTemplate.html#aa6a087e0b7b887dd1c98c9e0ecbd3b29":[5,0,24,4],
-"classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee":[5,0,24,10],
-"classTemplate.html#aac9a4638f11271e1b1dcc9f247242718":[5,0,24,20],
-"classTemplate.html#aae9c4d761ea1298e745e8052d7910194":[5,0,24,1],
-"classTemplate.html#abbc484016ddf5d818f55b823cae6feb0":[5,0,24,14],
-"classTemplate.html#abda4c8d049f70553338eae7c905e9d5c":[5,0,24,17],
-"classTemplate.html#abf71098c80fd1f218a59452b3408309e":[5,0,24,7],
-"classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4":[5,0,24,0],
-"classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8":[5,0,24,18],
-"classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228":[5,0,24,8],
-"classTemplate.html#ae791766c3d055f7f1ba5a5e60d647934":[5,0,24,5],
-"classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a":[5,0,24,16],
-"classTemplate.html#afd97b4b1e7754a550e67c0ea79159059":[5,0,24,11],
-"classZotDriver.html":[5,0,25],
-"classZotDriver.html#a2e15ff09772f0608203dad1c98299394":[5,0,25,3],
-"classZotDriver.html#a3cfdf443da4e5326e205855d7c0054f2":[5,0,25,0],
-"classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514":[5,0,25,6],
-"classZotDriver.html#a6776935156accb0f170e2e24577133db":[5,0,25,1],
-"classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f":[5,0,25,4],
-"classZotDriver.html#af65febb26031eb7f39871b9e2a539797":[5,0,25,2]
+"classFKOAuth1.html":[5,0,15],
+"classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f":[5,0,15,1],
+"classFKOAuth1.html#a2f1276872329a6f0b704ccda1a4b9fa6":[5,0,15,0],
+"classFKOAuthDataStore.html":[5,0,16],
+"classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1":[5,0,16,1],
+"classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050":[5,0,16,5],
+"classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934":[5,0,16,4],
+"classFKOAuthDataStore.html#a4edfe2e77ecd2e16ff6b5eb516ed3599":[5,0,16,2],
+"classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab":[5,0,16,3],
+"classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819":[5,0,16,0],
+"classFriendicaSmarty.html":[5,0,17],
+"classFriendicaSmarty.html#a33fabbd4d6eef869df496adf357ae690":[5,0,17,2],
+"classFriendicaSmarty.html#a6a4d4281d6fa9be1d37a97b188ffe8c9":[5,0,17,1],
+"classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6":[5,0,17,0],
+"classFriendicaSmartyEngine.html":[5,0,18],
+"classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118":[5,0,18,1],
+"classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88":[5,0,18,2],
+"classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6":[5,0,18,0],
+"classFriendicaSmartyEngine.html#ad62f1181d2f02b54b46731ad2bd46db2":[5,0,18,3],
+"classItem.html":[5,0,19],
+"classItem.html#a007424e3e3171dcfb4312a02161da6cd":[5,0,19,37],
+"classItem.html#a078f95b4134ce3a1df344cf8d386f986":[5,0,19,41],
+"classItem.html#a0c301aaed2b7d682728d18db3a22afa3":[5,0,19,9],
+"classItem.html#a1a1e42877e6ac7af50286142ceb483d2":[5,0,19,43],
+"classItem.html#a1cb6aa8abdf7ea7daca647e40c8ea3a2":[5,0,19,46],
+"classItem.html#a23d4057883f8ed888c0c2ff12d8aa5d0":[5,0,19,12],
+"classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2":[5,0,19,0],
+"classItem.html#a2ce70ef63f9f4d86a09c351678806925":[5,0,19,26],
+"classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf":[5,0,19,7],
+"classItem.html#a428f448f89a8629055ea3294eb942aea":[5,0,19,18],
+"classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8":[5,0,19,48],
+"classItem.html#a4b92e3a9d6212c553aa2661489bd95d8":[5,0,19,17],
+"classItem.html#a5b2fafdca55aefeaa08993a5a60529f0":[5,0,19,22],
+"classItem.html#a5b561415861f5b89b0733aacfe0428d1":[5,0,19,44],
+"classItem.html#a5cfa6cf964f433a917a81cab079ff9d8":[5,0,19,47],
+"classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189":[5,0,19,49],
+"classItem.html#a632185dd25c5caf277067c76230a4320":[5,0,19,5],
+"classItem.html#a67892aa23d19f4431bb2e5f43c74000e":[5,0,19,14],
+"classItem.html#a7f7bc059de377319282cb4ef4a828480":[5,0,19,45],
+"classItem.html#a80dcd0fb7673776c0967839d429c2a0f":[5,0,19,34],
+"classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51":[5,0,19,1],
+"classItem.html#a88a99e2d1245925867f249f543358e72":[5,0,19,39],
+"classItem.html#a904421c7a427411bb2ab473bca872f63":[5,0,19,8],
+"classItem.html#a90743c8348b13213275c223bb9333aa0":[5,0,19,35],
+"classItem.html#a9594df6014b0b6f45364ea7a34510130":[5,0,19,40],
+"classItem.html#a97c7feeea7f26a73176cb19faa455e12":[5,0,19,24],
+"classItem.html#a9890ff72662d5bba301d1f2dd8aec9d7":[5,0,19,31],
+"classItem.html#a9f2d219da712390f59012fc32a342074":[5,0,19,16],
+"classItem.html#aa0ee775ec94abccec6c798428835d001":[5,0,19,6],
+"classItem.html#aa1bd19fc8b5577078530265a7bf64123":[5,0,19,28],
+"classItem.html#aa2c221231ad0fc3720ccc1f00f0c6304":[5,0,19,36],
+"classItem.html#aa452b5bcd8dea12119b09212c615cb41":[5,0,19,27],
+"classItem.html#aa49e40f961dff66da32c5ae110e32993":[5,0,19,23],
+"classItem.html#aa541bc4290e51bfd688d6921bebabc73":[5,0,19,15],
+"classItem.html#aa8b1bbc4236890694635295e46d7fd72":[5,0,19,29],
+"classItem.html#aabf87ded59c25b5fe2b2296678e70509":[5,0,19,25],
+"classItem.html#aba23a0a9d89e316d2b343cc46d695d91":[5,0,19,19],
+"classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8":[5,0,19,2],
+"classItem.html#ac04525a8be24c12b0a2ae4ca1ba4b967":[5,0,19,21],
+"classItem.html#ac09a4728d37b7783714243f7f8167214":[5,0,19,30],
+"classItem.html#ac0f27e58532612f6e7a54c8a621b9b92":[5,0,19,13],
+"classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c":[5,0,19,11],
+"classItem.html#aca1e66988ed00cd627b2a359b72cd0ae":[5,0,19,3],
+"classItem.html#acc32426c0f465391be8a99ad810c7b8e":[5,0,19,33],
+"classItem.html#ad3638f93065693c1f69eb349feb1b7aa":[5,0,19,10],
+"classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8":[5,0,19,20],
+"classItem.html#ae0c48b2fed5558642549cabd547fc4f3":[5,0,19,4],
+"classItem.html#aec24e233f9098f902b1e57e60dcb2019":[5,0,19,38],
+"classItem.html#af1b73df9b7c4b927e26b7e243b491f42":[5,0,19,32],
+"classItem.html#afa54851df82962c7c42dea3cc9f5c92c":[5,0,19,42],
+"classProtoDriver.html":[5,0,24],
+"classProtoDriver.html#a1593f3abae050edbd9304f4f8bc4894a":[5,0,24,0],
+"classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d":[5,0,24,2],
+"classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67":[5,0,24,1],
+"classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337":[5,0,24,6],
+"classProtoDriver.html#a85e9063f6d0c304410cd246f7900ea1b":[5,0,24,4],
+"classProtoDriver.html#ae5b44739f84c10d00a9b65adf3785181":[5,0,24,5],
+"classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b":[5,0,24,3],
+"classRedMatrix_1_1Import_1_1Import.html":[5,0,3,0,0],
+"classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c":[5,0,3,0,0,13],
+"classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218":[5,0,3,0,0,1],
+"classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367":[5,0,3,0,0,4],
+"classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2":[5,0,3,0,0,5],
+"classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc":[5,0,3,0,0,10],
+"classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a":[5,0,3,0,0,0],
+"classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8":[5,0,3,0,0,3],
+"classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059":[5,0,3,0,0,6],
+"classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc":[5,0,3,0,0,7],
+"classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f":[5,0,3,0,0,11],
+"classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6":[5,0,3,0,0,14],
+"classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c":[5,0,3,0,0,9],
+"classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc":[5,0,3,0,0,12],
+"classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6":[5,0,3,0,0,2],
+"classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c":[5,0,3,0,0,8],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html":[5,0,3,1,0],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a112ad78a863dc0e598b5f02c596798c0":[5,0,3,1,0,9],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a167ae032bd2ad8e6caa2e1e1a6f1b5d3":[5,0,3,1,0,8],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a1a23c349cc4699a8474505972684ea9c":[5,0,3,1,0,13],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a2926fe923baade564f2663632fa8c633":[5,0,3,1,0,3],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a605aa09565a097316b80f0d17d6b5823":[5,0,3,1,0,12],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6333c8ce58998bd11bf8102afe3b0748":[5,0,3,1,0,1],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624":[5,0,3,1,0,7],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a76fdb7fd5dd7376155abb5a58cd6fd69":[5,0,3,1,0,11],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a849c99cf0a7ad065d630c8a30106ad5e":[5,0,3,1,0,15],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#aa0b2a5fa9186d7dc0e637f1ecb379c42":[5,0,3,1,0,0],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#aad0ef0cc05c407de84dbfbf2050bbbbe":[5,0,3,1,0,14],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#aadce020fb595c7943829d7f995d3f998":[5,0,3,1,0,5],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abe1defedb90ac8e3b6487e124e625521":[5,0,3,1,0,10],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abf6fe89b0a8239ed93c3b07e1fbce75b":[5,0,3,1,0,2],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#adc72f36f0b2b17b20ea4df900afcd697":[5,0,3,1,0,4],
+"classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#af6d239fefed05859327ee8db626703f9":[5,0,3,1,0,6],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html":[5,0,3,1,1],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a0733e38e254474d9a456825e72f1ddfd":[5,0,3,1,1,2],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd":[5,0,3,1,1,8],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf":[5,0,3,1,1,6],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a810af4506cb3247e0ea7b0c4accbbc7a":[5,0,3,1,1,5],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a8161f2a0be205412e263c947b5ec46c5":[5,0,3,1,1,0],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19":[5,0,3,1,1,7],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#acaa792c08d24e9dc2919759e92ba037d":[5,0,3,1,1,4],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad19179bf4ac7f18fafa7e2e3df800142":[5,0,3,1,1,9],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad4bc0516533c62733f38043a37267d78":[5,0,3,1,1,1],
+"classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09":[5,0,3,1,1,3],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html":[5,0,3,1,2],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956":[5,0,3,1,2,11],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a17ea47e34cb76b6e79f36ebed790d76a":[5,0,3,1,2,15],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7":[5,0,3,1,2,4],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a2fc4e6b9be2108bbaa1ca1a03fd6d44e":[5,0,3,1,2,14],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a438066fb1565fbcffa22c12d5ce23695":[5,0,3,1,2,17],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a4bba2e56bc8ec3e05f05eae46f56f36d":[5,0,3,1,2,16],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a55f7172814a0749b5342f152ab3fa0df":[5,0,3,1,2,8],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe":[5,0,3,1,2,3],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db443ed3c84938b4352fe515bf8d68":[5,0,3,1,2,9],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5":[5,0,3,1,2,7],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a76b58fe5223e565c97f1b9af93031a99":[5,0,3,1,2,0],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d":[5,0,3,1,2,6],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a964b13fde1a5da6f76b51ca5519234dc":[5,0,3,1,2,1],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a9b9a0b5bfa4de1f78e6cafaa534b6f6a":[5,0,3,1,2,5],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aab6907e7fb7f9f7227f9cd42bdc84eb9":[5,0,3,1,2,12],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62":[5,0,3,1,2,2],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#adf8735b3118cdf2f42416edaf42b82e9":[5,0,3,1,2,13],
+"classRedMatrix_1_1RedDAV_1_1RedDirectory.html#af90a1a74cfd643a5c56b9a17ea250d59":[5,0,3,1,2,10],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html":[5,0,3,1,3],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d":[5,0,3,1,3,9],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#a05798eac84c578152ff21758261c6ac6":[5,0,3,1,3,0],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#a07e1b19e7aaf3dcce822e9be8823a87d":[5,0,3,1,3,7],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#a21b6e9d420c352f25610a33f57858215":[5,0,3,1,3,10],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#a235700e2dfbe21dc41613d36e30e8acc":[5,0,3,1,3,11],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0":[5,0,3,1,3,8],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8":[5,0,3,1,3,2],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#a9f14682acf3ccb70df5af5dd0687c689":[5,0,3,1,3,4],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#ab722dcb8c4598426c81fa2b2e4fad5f2":[5,0,3,1,3,12],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#ab7ab7ba81fab28eb02382cfdfd80ecfe":[5,0,3,1,3,1],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#ac47016aa0e3f6f1a1c4570bd6fd8cf25":[5,0,3,1,3,5],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#ac945aa782d6c035d339e59974266ec4d":[5,0,3,1,3,6],
+"classRedMatrix_1_1RedDAV_1_1RedFile.html#af5c88b75d0c1f590af03755534cb167e":[5,0,3,1,3,3],
+"classTemplate.html":[5,0,25],
+"classTemplate.html#a07737733f6949bdedea1e3d301b2ab7b":[5,0,25,13]
};
diff --git a/doc/html/navtreeindex3.js b/doc/html/navtreeindex3.js
index cb37ba352..85e702600 100644
--- a/doc/html/navtreeindex3.js
+++ b/doc/html/navtreeindex3.js
@@ -1,85 +1,144 @@
var NAVTREEINDEX3 =
{
-"classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6":[5,0,25,5],
+"classTemplate.html#a285b5b2007dbbf733476273df3fed4ef":[5,0,25,12],
+"classTemplate.html#a317d535946dc065c35dd5cd38380e6c6":[5,0,25,22],
+"classTemplate.html#a35d599c9b53a02e2fe2232e5b7ed5da7":[5,0,25,2],
+"classTemplate.html#a37c15f6d1ade500943629f27a62808b7":[5,0,25,3],
+"classTemplate.html#a4b933954086d9e01a1804b0b1c6ee93e":[5,0,25,6],
+"classTemplate.html#a4e86b566c3f728e95ce5db1b33665c10":[5,0,25,21],
+"classTemplate.html#a6f0efc256688c36110180b501067ff11":[5,0,25,23],
+"classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38":[5,0,25,15],
+"classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677":[5,0,25,9],
+"classTemplate.html#a8f4d17e49f42b876a97364c13fb572d1":[5,0,25,19],
+"classTemplate.html#aa6a087e0b7b887dd1c98c9e0ecbd3b29":[5,0,25,4],
+"classTemplate.html#aa6f9bd7a8f7512efcf90e8d376fe05ee":[5,0,25,10],
+"classTemplate.html#aac9a4638f11271e1b1dcc9f247242718":[5,0,25,20],
+"classTemplate.html#aae9c4d761ea1298e745e8052d7910194":[5,0,25,1],
+"classTemplate.html#abbc484016ddf5d818f55b823cae6feb0":[5,0,25,14],
+"classTemplate.html#abda4c8d049f70553338eae7c905e9d5c":[5,0,25,17],
+"classTemplate.html#abf71098c80fd1f218a59452b3408309e":[5,0,25,7],
+"classTemplate.html#ac41c96e1f407b1a910029e5f4b7de8e4":[5,0,25,0],
+"classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8":[5,0,25,18],
+"classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228":[5,0,25,8],
+"classTemplate.html#ae791766c3d055f7f1ba5a5e60d647934":[5,0,25,5],
+"classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a":[5,0,25,16],
+"classTemplate.html#afd97b4b1e7754a550e67c0ea79159059":[5,0,25,11],
+"classZotDriver.html":[5,0,26],
+"classZotDriver.html#a2e15ff09772f0608203dad1c98299394":[5,0,26,3],
+"classZotDriver.html#a3cfdf443da4e5326e205855d7c0054f2":[5,0,26,0],
+"classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514":[5,0,26,6],
+"classZotDriver.html#a6776935156accb0f170e2e24577133db":[5,0,26,1],
+"classZotDriver.html#a876e3e0e4cad83c0b58c8696b344be6f":[5,0,26,4],
+"classZotDriver.html#af65febb26031eb7f39871b9e2a539797":[5,0,26,2],
+"classZotDriver.html#afaaf9941169fc966e43e25b25e6daea6":[5,0,26,5],
"classdba__driver.html":[5,0,10],
+"classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14":[5,0,10,10],
"classdba__driver.html#a1a8bc9dc839a6320a0e07d8047a6b721":[5,0,10,1],
-"classdba__driver.html#a205f6535e399700b6fca2492f96f2229":[5,0,10,8],
-"classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6":[5,0,10,9],
-"classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746":[5,0,10,6],
-"classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555":[5,0,10,7],
+"classdba__driver.html#a205f6535e399700b6fca2492f96f2229":[5,0,10,17],
+"classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6":[5,0,10,18],
+"classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746":[5,0,10,11],
+"classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555":[5,0,10,13],
"classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975":[5,0,10,2],
-"classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c":[5,0,10,11],
-"classdba__driver.html#adcc1f8955120fec0708bce39202d0422":[5,0,10,4],
-"classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc":[5,0,10,3],
+"classdba__driver.html#a65a5c7b355ab5529a43049e160006426":[5,0,10,9],
+"classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092":[5,0,10,12],
+"classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd":[5,0,10,7],
+"classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c":[5,0,10,20],
+"classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48":[5,0,10,8],
+"classdba__driver.html#a98d8523dcedda316085b4d4f856b6583":[5,0,10,21],
+"classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8":[5,0,10,23],
+"classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155":[5,0,10,15],
+"classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4":[5,0,10,3],
+"classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9":[5,0,10,14],
+"classdba__driver.html#ad700712879719bee23752b8f424d97d0":[5,0,10,16],
+"classdba__driver.html#adcc1f8955120fec0708bce39202d0422":[5,0,10,5],
+"classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc":[5,0,10,4],
"classdba__driver.html#af3541d13ccb7a3eddfc03e253c746186":[5,0,10,0],
-"classdba__driver.html#af48e2afeded5285766bf92e22123ed03":[5,0,10,10],
-"classdba__driver.html#afc95ffa103a3290581b537670cde5311":[5,0,10,5],
+"classdba__driver.html#af48e2afeded5285766bf92e22123ed03":[5,0,10,19],
+"classdba__driver.html#afc95ffa103a3290581b537670cde5311":[5,0,10,6],
+"classdba__driver.html#afce39394c010ea589d99a21579b2c31e":[5,0,10,22],
"classdba__mysql.html":[5,0,11],
"classdba__mysql.html#a1887338627ce0e28786839363014bd0b":[5,0,11,1],
+"classdba__mysql.html#a31011edd67b6b394355bf04cedb498d0":[5,0,11,3],
"classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e":[5,0,11,0],
"classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e":[5,0,11,2],
-"classdba__mysql.html#ac3fd60c278f400907322dac578754a99":[5,0,11,3],
+"classdba__mysql.html#ac3fd60c278f400907322dac578754a99":[5,0,11,4],
"classdba__mysqli.html":[5,0,12],
"classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64":[5,0,12,2],
-"classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec":[5,0,12,3],
+"classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec":[5,0,12,4],
+"classdba__mysqli.html#a6eb6c578c6928908321e5e6da866e1db":[5,0,12,3],
"classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55":[5,0,12,0],
"classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1":[5,0,12,1],
-"classenotify.html":[5,0,13],
+"classdba__postgres.html":[5,0,13],
+"classdba__postgres.html#a3de1ac375e98886dfc38fd0066e88f90":[5,0,13,7],
+"classdba__postgres.html#a56f926f218155c88807e0e06f6817a72":[5,0,13,9],
+"classdba__postgres.html#a677f850211975c9ab89602c67e2dcad9":[5,0,13,10],
+"classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a":[5,0,13,8],
+"classdba__postgres.html#a7108eaaae7cc2fb236212041afc9ac0f":[5,0,13,3],
+"classdba__postgres.html#a7267f91c3f87f600b30d7560de62dfd7":[5,0,13,11],
+"classdba__postgres.html#a731d8648b41b8a126f6b99bdd5414058":[5,0,13,0],
+"classdba__postgres.html#a7ea3f24ad260c1e21588f8b5af595caa":[5,0,13,1],
+"classdba__postgres.html#a8d2c6d8c92fe6f074452876483dd17fc":[5,0,13,5],
+"classdba__postgres.html#ab2e44e9f41d05e585afd873d18e8c127":[5,0,13,4],
+"classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e":[5,0,13,2],
+"classdba__postgres.html#ace80a204e34b20b9907650399cce02a3":[5,0,13,13],
+"classdba__postgres.html#ae0f834413e57cf0735ae7b64b2f71e68":[5,0,13,6],
+"classdba__postgres.html#aeb404a85974d6c5df30c21650888000b":[5,0,13,12],
+"classenotify.html":[5,0,14],
"classes.html":[5,1],
-"classphoto__driver.html":[5,0,20],
-"classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03":[5,0,20,27],
-"classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9":[5,0,20,28],
-"classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712":[5,0,20,13],
-"classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce":[5,0,20,20],
-"classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3":[5,0,20,17],
-"classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832":[5,0,20,5],
-"classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e":[5,0,20,2],
-"classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec":[5,0,20,15],
-"classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1":[5,0,20,29],
-"classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03":[5,0,20,26],
-"classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d":[5,0,20,14],
-"classphoto__driver.html#a56634842b071b96502716e9843ea5361":[5,0,20,19],
-"classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac":[5,0,20,16],
-"classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b":[5,0,20,22],
-"classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3":[5,0,20,9],
-"classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da":[5,0,20,23],
-"classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55":[5,0,20,25],
-"classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab":[5,0,20,12],
-"classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba":[5,0,20,6],
-"classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5":[5,0,20,8],
-"classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd":[5,0,20,11],
-"classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae":[5,0,20,0],
-"classphoto__driver.html#acc30486acee9e89e32701f44a1738117":[5,0,20,10],
-"classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f":[5,0,20,4],
-"classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813":[5,0,20,3],
-"classphoto__driver.html#ae4501abdc9651359f81d036b63625686":[5,0,20,1],
-"classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143":[5,0,20,21],
-"classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80":[5,0,20,24],
-"classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0":[5,0,20,18],
-"classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468":[5,0,20,7],
-"classphoto__gd.html":[5,0,21],
-"classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00":[5,0,21,5],
-"classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd":[5,0,21,9],
-"classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e":[5,0,21,8],
-"classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754":[5,0,21,2],
-"classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9":[5,0,21,6],
-"classphoto__gd.html#a44cedef376044018702d9355ddc813ce":[5,0,21,3],
-"classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1":[5,0,21,1],
-"classphoto__gd.html#a77f87730b11093b76980c541159df37d":[5,0,21,7],
-"classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484":[5,0,21,4],
-"classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c":[5,0,21,0],
-"classphoto__imagick.html":[5,0,22],
-"classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7":[5,0,22,10],
-"classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8":[5,0,22,7],
-"classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4":[5,0,22,0],
-"classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66":[5,0,22,2],
-"classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019":[5,0,22,6],
-"classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f":[5,0,22,8],
-"classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc":[5,0,22,5],
-"classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4":[5,0,22,4],
-"classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb":[5,0,22,9],
-"classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207":[5,0,22,1],
-"classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393":[5,0,22,3],
+"classphoto__driver.html":[5,0,21],
+"classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03":[5,0,21,27],
+"classphoto__driver.html#a01d28d43b404d6f6de219dc9c5069dc9":[5,0,21,28],
+"classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712":[5,0,21,13],
+"classphoto__driver.html#a1a63c4ae17e892a115ab9cf6efb960ce":[5,0,21,20],
+"classphoto__driver.html#a22ecb8c696de65a5a10bd185be9d90c3":[5,0,21,17],
+"classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832":[5,0,21,5],
+"classphoto__driver.html#a2e6e61f1e356a90bc978f4404a77137e":[5,0,21,2],
+"classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec":[5,0,21,15],
+"classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1":[5,0,21,29],
+"classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03":[5,0,21,26],
+"classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d":[5,0,21,14],
+"classphoto__driver.html#a56634842b071b96502716e9843ea5361":[5,0,21,19],
+"classphoto__driver.html#a5864fae7d8389372955a8e78cec527ac":[5,0,21,16],
+"classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b":[5,0,21,22],
+"classphoto__driver.html#a6c6c16dbc4f517ce799f9143ed61f0e3":[5,0,21,9],
+"classphoto__driver.html#a6eee8e36eaf9339f4faf80ddd43162da":[5,0,21,23],
+"classphoto__driver.html#a7c78b5a01afe61ba3895ac07f4869b55":[5,0,21,25],
+"classphoto__driver.html#a97289aef3be43d9435ca3717ef10b8ab":[5,0,21,12],
+"classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba":[5,0,21,6],
+"classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5":[5,0,21,8],
+"classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd":[5,0,21,11],
+"classphoto__driver.html#ac6e85f8e507cab4e755ed7acdec401ae":[5,0,21,0],
+"classphoto__driver.html#acc30486acee9e89e32701f44a1738117":[5,0,21,10],
+"classphoto__driver.html#ae18716018afcf362c7c24586b53e9e2f":[5,0,21,4],
+"classphoto__driver.html#ae1a9edaf846983780dc65ea77d99e813":[5,0,21,3],
+"classphoto__driver.html#ae4501abdc9651359f81d036b63625686":[5,0,21,1],
+"classphoto__driver.html#ae663867d2c4eaa2fae50d60670920143":[5,0,21,21],
+"classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80":[5,0,21,24],
+"classphoto__driver.html#af0f7ec48a31ae9b557b6e3f8bd5b4af0":[5,0,21,18],
+"classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468":[5,0,21,7],
+"classphoto__gd.html":[5,0,22],
+"classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00":[5,0,22,5],
+"classphoto__gd.html#a16f3dd7d3559f715aa2fe3f7880836dd":[5,0,22,9],
+"classphoto__gd.html#a1c75304bd15f3b9986f0b315fb59271e":[5,0,22,8],
+"classphoto__gd.html#a2f2e5900e6d8b1667892ac631b1d4754":[5,0,22,2],
+"classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9":[5,0,22,6],
+"classphoto__gd.html#a44cedef376044018702d9355ddc813ce":[5,0,22,3],
+"classphoto__gd.html#a724703ecf71b1f1d04a80e86c76db6b1":[5,0,22,1],
+"classphoto__gd.html#a77f87730b11093b76980c541159df37d":[5,0,22,7],
+"classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484":[5,0,22,4],
+"classphoto__gd.html#ab2232d775c8bacf66773a03308105f0c":[5,0,22,0],
+"classphoto__imagick.html":[5,0,23],
+"classphoto__imagick.html#a27596faca6108d9d563674d1b654a0b7":[5,0,23,10],
+"classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8":[5,0,23,7],
+"classphoto__imagick.html#a2f33a03a89497a2b2768e29736d4a8a4":[5,0,23,0],
+"classphoto__imagick.html#a3047c68bb4de7f66c2893fe451db2b66":[5,0,23,2],
+"classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019":[5,0,23,6],
+"classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f":[5,0,23,8],
+"classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc":[5,0,23,5],
+"classphoto__imagick.html#aef020d929f66f4370e33fc158c8eebd4":[5,0,23,4],
+"classphoto__imagick.html#af92901d252c1e6ab5b54eebedbed23bb":[5,0,23,9],
+"classphoto__imagick.html#afd49d64751ee3a298eac0c0ce0ba0207":[5,0,23,1],
+"classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393":[5,0,23,3],
"cli__startup_8php.html":[6,0,0,17],
"cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b":[6,0,0,17,0],
"cli__suggest_8php.html":[6,0,0,18],
@@ -177,77 +236,18 @@ var NAVTREEINDEX3 =
"crypto_8php.html#ad5e51fd44cff93cfaa07a37e24a5edec":[6,0,0,27,15],
"crypto_8php.html#ae5af17db1cb5d7c91d486e1264079839":[6,0,0,27,7],
"crypto_8php.html#af8bbdeaf4abed7b40365d301e6013c85":[6,0,0,27,8],
-"dark_8php.html":[6,0,3,1,4,1,2],
+"dark_8php.html":[6,0,3,1,3,1,2],
"darkness_8php.html":[6,0,3,1,0,2,0],
"darknessleftaside_8php.html":[6,0,3,1,0,2,1],
"darknessrightaside_8php.html":[6,0,3,1,0,2,2],
"datetime_8php.html":[6,0,0,28],
-"datetime_8php.html#a03900dcf0f9e3c58793a031673a70326":[6,0,0,28,6],
-"datetime_8php.html#a3f239f94e23335d860b148958d87a093":[6,0,0,28,11],
+"datetime_8php.html#a3f239f94e23335d860b148958d87a093":[6,0,0,28,10],
"datetime_8php.html#a3f2897db32e745fe2f3e70a6b46578f8":[6,0,0,28,5],
-"datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f":[6,0,0,28,10],
"datetime_8php.html#a72218e5ee21876484934bacbb6bd9ba3":[6,0,0,28,4],
"datetime_8php.html#a77bb385ae8a9e7ca663309c102c0d766":[6,0,0,28,2],
-"datetime_8php.html#a7df24d72ea05922d3127363e2295174c":[6,0,0,28,7],
+"datetime_8php.html#a7df24d72ea05922d3127363e2295174c":[6,0,0,28,6],
"datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82":[6,0,0,28,9],
-"datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865":[6,0,0,28,12],
-"datetime_8php.html#ab55e545b72ec8c097e052ea7d373491f":[6,0,0,28,14],
-"datetime_8php.html#aba971b67f17fecf050813f1eba72367f":[6,0,0,28,8],
-"datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df":[6,0,0,28,0],
-"datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226":[6,0,0,28,3],
-"datetime_8php.html#aea356409ba69f9de412298c998595dd2":[6,0,0,28,1],
-"datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826":[6,0,0,28,13],
-"db__update_8php.html":[6,0,2,2],
-"dba__driver_8php.html":[6,0,0,0,0],
-"dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f":[6,0,0,0,0,8],
-"dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249":[6,0,0,0,0,7],
-"dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4":[6,0,0,0,0,3],
-"dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee":[6,0,0,0,0,6],
-"dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb":[6,0,0,0,0,5],
-"dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e":[6,0,0,0,0,2],
-"dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947":[6,0,0,0,0,1],
-"dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930":[6,0,0,0,0,4],
-"dba__mysql_8php.html":[6,0,0,0,1],
-"dba__mysqli_8php.html":[6,0,0,0,2],
-"delegate_8php.html":[6,0,1,21],
-"delegate_8php.html#a943eea8996ef348eb845c498f9f354dd":[6,0,1,21,0],
-"deliver_8php.html":[6,0,0,29],
-"deliver_8php.html#a397afcb9afecf0c1816b0951189dd346":[6,0,0,29,0],
-"diaspora_8php.html":[6,0,0,30],
-"diaspora_8php.html#a006731620a5242d410358b32678e48e3":[6,0,0,30,0],
-"diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d":[6,0,0,30,24],
-"diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829":[6,0,0,30,1],
-"diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605":[6,0,0,30,15],
-"diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a":[6,0,0,30,25],
-"diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31":[6,0,0,30,14],
-"diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007":[6,0,0,30,19],
-"diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668":[6,0,0,30,26],
-"diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b":[6,0,0,30,12],
-"diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa":[6,0,0,30,17],
-"diaspora_8php.html#a5d57518545baa31cf8a85a937a267681":[6,0,0,30,10],
-"diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff":[6,0,0,30,7],
-"diaspora_8php.html#a69f250b078a46e405647428ec3399a16":[6,0,0,30,27],
-"diaspora_8php.html#a6f0a67b6b17503c125af32763be931b7":[6,0,0,30,4],
-"diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2":[6,0,0,30,13],
-"diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46":[6,0,0,30,11],
-"diaspora_8php.html#a849754ec369e1a60fadae5c14584ca36":[6,0,0,30,3],
-"diaspora_8php.html#a858f70153c384f8778082cf7843a19da":[6,0,0,30,8],
-"diaspora_8php.html#a900abf51398b2ef26cd2cd31c52f1b0f":[6,0,0,30,16],
-"diaspora_8php.html#a938c7ee808d38725c0988fa6006805b9":[6,0,0,30,20],
-"diaspora_8php.html#a9bf7ef4094e0e14f6e2b7fe76ab7ad2e":[6,0,0,30,32],
-"diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055":[6,0,0,30,28],
-"diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56":[6,0,0,30,29],
-"diaspora_8php.html#aa8e551a53fcce34be3942d0c3e20d1f4":[6,0,0,30,6],
-"diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b":[6,0,0,30,31],
-"diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200":[6,0,0,30,30],
-"diaspora_8php.html#ab99505944728d46585b8312989de533d":[6,0,0,30,5],
-"diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598":[6,0,0,30,18],
-"diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7":[6,0,0,30,33],
-"diaspora_8php.html#ad9985cc4214bdfc14878785c838c8690":[6,0,0,30,9],
-"diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f":[6,0,0,30,2],
-"diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b":[6,0,0,30,22],
-"diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c":[6,0,0,30,23],
-"diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc":[6,0,0,30,21],
-"dimport_8php.html":[6,0,0,31],
-"dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1":[6,0,0,31,0]
+"datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865":[6,0,0,28,11],
+"datetime_8php.html#ab55e545b72ec8c097e052ea7d373491f":[6,0,0,28,13],
+"datetime_8php.html#aba971b67f17fecf050813f1eba72367f":[6,0,0,28,7]
};
diff --git a/doc/html/navtreeindex4.js b/doc/html/navtreeindex4.js
index 15d1aed09..81b6fd67c 100644
--- a/doc/html/navtreeindex4.js
+++ b/doc/html/navtreeindex4.js
@@ -1,26 +1,90 @@
var NAVTREEINDEX4 =
{
-"dir_0262a6a8df56a167e3761b6e5a54bb1c.html":[6,0,3,1,6],
-"dir_032dd9e2cfe278a2cfa5eb9547448eb9.html":[6,0,3,1,4,0],
+"datetime_8php.html#abc1652f96799cec6fce8797ba2ebc2df":[6,0,0,28,0],
+"datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226":[6,0,0,28,3],
+"datetime_8php.html#aea356409ba69f9de412298c998595dd2":[6,0,0,28,1],
+"datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826":[6,0,0,28,12],
+"datetime_8php.html#afbb34604d0f6e7d2103da4f42e2487b1":[6,0,0,28,8],
+"db__update_8php.html":[6,0,2,1],
+"dba__driver_8php.html":[6,0,0,0,0],
+"dba__driver_8php.html#a2994daa03b1c23229a27e39bcab75e67":[6,0,0,0,0,2],
+"dba__driver_8php.html#a2a38996670c2936b5769270c49c57593":[6,0,0,0,0,11],
+"dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f":[6,0,0,0,0,17],
+"dba__driver_8php.html#a2c8a72ec73f39b17a167c90737693f78":[6,0,0,0,0,12],
+"dba__driver_8php.html#a30e9a643be804e905f5614a3279d2645":[6,0,0,0,0,5],
+"dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249":[6,0,0,0,0,16],
+"dba__driver_8php.html#a5df8499634c47b30191f34069d7b98c0":[6,0,0,0,0,6],
+"dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4":[6,0,0,0,0,8],
+"dba__driver_8php.html#a75098bf1d59ea57f7ebae657a369137e":[6,0,0,0,0,3],
+"dba__driver_8php.html#a7c1b98a710ead27382c958ad3216c4ee":[6,0,0,0,0,1],
+"dba__driver_8php.html#aa051799567690a124a3b865bf902f58a":[6,0,0,0,0,10],
+"dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee":[6,0,0,0,0,14],
+"dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb":[6,0,0,0,0,13],
+"dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e":[6,0,0,0,0,7],
+"dba__driver_8php.html#acec84a8fb75d78daf657cbe5df74e25a":[6,0,0,0,0,4],
+"dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930":[6,0,0,0,0,9],
+"dba__driver_8php.html#afaaa1a7eff9c1b65b3b8c464ae37640e":[6,0,0,0,0,15],
+"dba__mysql_8php.html":[6,0,0,0,1],
+"dba__mysqli_8php.html":[6,0,0,0,2],
+"dba__postgres_8php.html":[6,0,0,0,3],
+"delegate_8php.html":[6,0,1,21],
+"delegate_8php.html#a943eea8996ef348eb845c498f9f354dd":[6,0,1,21,0],
+"deliver_8php.html":[6,0,0,29],
+"deliver_8php.html#a397afcb9afecf0c1816b0951189dd346":[6,0,0,29,0],
+"diaspora_8php.html":[6,0,0,30],
+"diaspora_8php.html#a006731620a5242d410358b32678e48e3":[6,0,0,30,0],
+"diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d":[6,0,0,30,24],
+"diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829":[6,0,0,30,1],
+"diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605":[6,0,0,30,15],
+"diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a":[6,0,0,30,25],
+"diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31":[6,0,0,30,14],
+"diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007":[6,0,0,30,19],
+"diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668":[6,0,0,30,26],
+"diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b":[6,0,0,30,12],
+"diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa":[6,0,0,30,17],
+"diaspora_8php.html#a5d57518545baa31cf8a85a937a267681":[6,0,0,30,10],
+"diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff":[6,0,0,30,7],
+"diaspora_8php.html#a69f250b078a46e405647428ec3399a16":[6,0,0,30,27],
+"diaspora_8php.html#a6f0a67b6b17503c125af32763be931b7":[6,0,0,30,4],
+"diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2":[6,0,0,30,13],
+"diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46":[6,0,0,30,11],
+"diaspora_8php.html#a849754ec369e1a60fadae5c14584ca36":[6,0,0,30,3],
+"diaspora_8php.html#a858f70153c384f8778082cf7843a19da":[6,0,0,30,8],
+"diaspora_8php.html#a900abf51398b2ef26cd2cd31c52f1b0f":[6,0,0,30,16],
+"diaspora_8php.html#a938c7ee808d38725c0988fa6006805b9":[6,0,0,30,20],
+"diaspora_8php.html#a9bf7ef4094e0e14f6e2b7fe76ab7ad2e":[6,0,0,30,32],
+"diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055":[6,0,0,30,28],
+"diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56":[6,0,0,30,29],
+"diaspora_8php.html#aa8e551a53fcce34be3942d0c3e20d1f4":[6,0,0,30,6],
+"diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b":[6,0,0,30,31],
+"diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200":[6,0,0,30,30],
+"diaspora_8php.html#ab99505944728d46585b8312989de533d":[6,0,0,30,5],
+"diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598":[6,0,0,30,18],
+"diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7":[6,0,0,30,33],
+"diaspora_8php.html#ad9985cc4214bdfc14878785c838c8690":[6,0,0,30,9],
+"diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f":[6,0,0,30,2],
+"diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b":[6,0,0,30,22],
+"diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c":[6,0,0,30,23],
+"diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc":[6,0,0,30,21],
+"dimport_8php.html":[6,0,0,31],
+"dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1":[6,0,0,31,0],
+"dir_0262a6a8df56a167e3761b6e5a54bb1c.html":[6,0,3,1,5],
+"dir_032dd9e2cfe278a2cfa5eb9547448eb9.html":[6,0,3,1,3,0],
"dir_05f4fba29266e8fd7869afcd6cefb5cb.html":[6,0,3,1,0,2],
"dir_0eaa4a0adae8ba4811e133c6e594aeee.html":[6,0,2,0],
"dir_21bc5169ff11430004758be31dcfc6c4.html":[6,0,0,0],
"dir_23ec12649285f9fabf3a6b7380226c28.html":[6,0,2],
-"dir_25f74a9991dbbca1b52a94e358ca73c1.html":[6,0,2,1,0],
-"dir_3d9c9d0c5e9556dd3eba1e072fa6eaeb.html":[6,0,3,1,4,1],
-"dir_4acb285a1960a920438b718da0958cf4.html":[6,0,3,1,5],
-"dir_55dbaf9b7b53c4fc605c9011743a7353.html":[6,0,3,1,4],
-"dir_65522070e0a83623cefc01ebe26a83e3.html":[6,0,3,1,5,0],
-"dir_6cee3bb9ace89cc4e2f065aa2ca7bc5b.html":[6,0,3,1,1,1,0],
-"dir_6e52a2a2cd27c08b7df5e5cdb216bd77.html":[6,0,3,1,2],
-"dir_720432dea4a717197ae070dbc42b8f20.html":[6,0,2,1],
+"dir_3d9c9d0c5e9556dd3eba1e072fa6eaeb.html":[6,0,3,1,3,1],
+"dir_4acb285a1960a920438b718da0958cf4.html":[6,0,3,1,4],
+"dir_55dbaf9b7b53c4fc605c9011743a7353.html":[6,0,3,1,3],
+"dir_65522070e0a83623cefc01ebe26a83e3.html":[6,0,3,1,4,0],
+"dir_6e52a2a2cd27c08b7df5e5cdb216bd77.html":[6,0,3,1,1],
+"dir_7edbbd0f8c514efef79942dcdc21f738.html":[6,0,0,1],
"dir_817f6d302394b98e59575acdb59998bc.html":[6,0,3,0],
"dir_8543001e5d25368a6edede3e63efb554.html":[6,0,3,1],
-"dir_887fdc94312ba7b057b6bfe7fdd27ea5.html":[6,0,3,1,3,0],
-"dir_8e58ba5e98ac07e59ee15ca7486c9950.html":[6,0,3,1,3],
-"dir_922c77e958c99a98db92d38a3a349bf2.html":[6,0,3,1,1],
-"dir_92d6b429199666aa3765c8a934db5e14.html":[6,0,3,1,1,1],
-"dir_9ef82eb3846cd201470898c3b6ef38cf.html":[6,0,3,1,2,0],
+"dir_887fdc94312ba7b057b6bfe7fdd27ea5.html":[6,0,3,1,2,0],
+"dir_8e58ba5e98ac07e59ee15ca7486c9950.html":[6,0,3,1,2],
+"dir_9ef82eb3846cd201470898c3b6ef38cf.html":[6,0,3,1,1,0],
"dir__fns_8php.html":[6,0,0,32],
"dir__fns_8php.html#a2f7d74bb2aea8bcd2537aee5c6708a16":[6,0,0,32,0],
"dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13":[6,0,0,32,6],
@@ -29,108 +93,116 @@ var NAVTREEINDEX4 =
"dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e":[6,0,0,32,4],
"dir__fns_8php.html#acf621621e929d49441da30aad76a58cf":[6,0,0,32,1],
"dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774":[6,0,0,32,2],
-"dir_a8a0005c2b8590c535262d232c22afab.html":[6,0,3,1,1,1,0,0],
-"dir_aae29906d7bfc07d076125f669c8352e.html":[6,0,0,1],
-"dir_ac4f5165c8d71ebb1a1a0a168a48f3f7.html":[6,0,3,1,6,0],
+"dir_aae29906d7bfc07d076125f669c8352e.html":[6,0,0,2],
+"dir_ac4f5165c8d71ebb1a1a0a168a48f3f7.html":[6,0,3,1,5,0],
"dir_b2f003339c516cc00c8cadcafbe82f13.html":[6,0,3],
-"dir_c02447ad39a5307c81c64e880ec9e8d3.html":[6,0,3,1,1,0],
"dir_cb8a8f75dcdd0b3fbfcc82e9eda410c5.html":[6,0,3,1,0,1],
"dir_d41ce877eb409a4791b288730010abe2.html":[6,0,1],
"dir_d44c64559bbebec7f509842c48db8b23.html":[6,0,0],
"dir_d520c5cf583201d9437764f209363c22.html":[6,0,3,1,0],
-"dir_e7f045be8bb383d8447c6a6b84145083.html":[6,0,0,2],
+"dir_e7f045be8bb383d8447c6a6b84145083.html":[6,0,0,3],
"dir_f19da925ee886ec38f19b0e8c19779bc.html":[6,0,3,1,0,0],
-"dirprofile_8php.html":[6,0,1,23],
-"dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052":[6,0,1,23,0],
-"dirsearch_8php.html":[6,0,1,24],
-"dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752":[6,0,1,24,3],
-"dirsearch_8php.html#a52bcac49b0e35cc8c6b70066143c2ee2":[6,0,1,24,1],
-"dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305":[6,0,1,24,0],
-"dirsearch_8php.html#a985d410a170549429857af6ff2673149":[6,0,1,24,4],
-"dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c":[6,0,1,24,2],
-"display_8php.html":[6,0,1,25],
-"display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0":[6,0,1,25,0],
-"docblox__errorchecker_8php.html":[6,0,2,3],
-"docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62":[6,0,2,3,3],
-"docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec":[6,0,2,3,2],
-"docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b":[6,0,2,3,0],
-"docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5":[6,0,2,3,8],
-"docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b":[6,0,2,3,5],
-"docblox__errorchecker_8php.html#a721c6ff80a6d3e4ad4ffa52a04c60085":[6,0,2,3,9],
-"docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f":[6,0,2,3,6],
-"docblox__errorchecker_8php.html#a852004caba0a34390297a079f4aaac73":[6,0,2,3,7],
-"docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6":[6,0,2,3,4],
-"docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f":[6,0,2,3,1],
-"docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d":[6,0,2,3,10],
-"editblock_8php.html":[6,0,1,26],
-"editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6":[6,0,1,26,0],
-"editlayout_8php.html":[6,0,1,27],
-"editlayout_8php.html#aa877e4157a26b099de904164181dd386":[6,0,1,27,0],
-"editpost_8php.html":[6,0,1,28],
-"editpost_8php.html#a34011690864d122680c802e9e748ccfb":[6,0,1,28,0],
-"editwebpage_8php.html":[6,0,1,29],
-"editwebpage_8php.html#a375e945255fad79a71036528f7480650":[6,0,1,29,0],
+"dirsearch_8php.html":[6,0,1,23],
+"dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752":[6,0,1,23,4],
+"dirsearch_8php.html#a52bcac49b0e35cc8c6b70066143c2ee2":[6,0,1,23,2],
+"dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305":[6,0,1,23,1],
+"dirsearch_8php.html#a985d410a170549429857af6ff2673149":[6,0,1,23,5],
+"dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c":[6,0,1,23,3],
+"dirsearch_8php.html#ab6d5fefa98da249a994b910434a669c2":[6,0,1,23,0],
+"display_8php.html":[6,0,1,24],
+"display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0":[6,0,1,24,0],
+"docblox__errorchecker_8php.html":[6,0,2,2],
+"docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62":[6,0,2,2,3],
+"docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec":[6,0,2,2,2],
+"docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b":[6,0,2,2,0],
+"docblox__errorchecker_8php.html#a49a8a4009b02e49717caa88b128affc5":[6,0,2,2,8],
+"docblox__errorchecker_8php.html#a648a570b0f9f6e0e51b7267647c4b09b":[6,0,2,2,5],
+"docblox__errorchecker_8php.html#a721c6ff80a6d3e4ad4ffa52a04c60085":[6,0,2,2,9],
+"docblox__errorchecker_8php.html#a83018d9153d17d91fbcf3bc10158d34f":[6,0,2,2,6],
+"docblox__errorchecker_8php.html#a852004caba0a34390297a079f4aaac73":[6,0,2,2,7],
+"docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6":[6,0,2,2,4],
+"docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f":[6,0,2,2,1],
+"docblox__errorchecker_8php.html#af4ca738a05beffe9c8c23e1f7aea3c2d":[6,0,2,2,10],
+"editblock_8php.html":[6,0,1,25],
+"editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e":[6,0,1,25,1],
+"editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6":[6,0,1,25,0],
+"editlayout_8php.html":[6,0,1,26],
+"editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7":[6,0,1,26,1],
+"editlayout_8php.html#aa877e4157a26b099de904164181dd386":[6,0,1,26,0],
+"editpost_8php.html":[6,0,1,27],
+"editpost_8php.html#a34011690864d122680c802e9e748ccfb":[6,0,1,27,0],
+"editwebpage_8php.html":[6,0,1,28],
+"editwebpage_8php.html#a375e945255fad79a71036528f7480650":[6,0,1,28,0],
+"editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f":[6,0,1,28,1],
"enotify_8php.html":[6,0,0,34],
"enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc":[6,0,0,34,1],
"event_8php.html":[6,0,0,35],
-"event_8php.html#a018ea4484910a873a7c1eaa126de9b1a":[6,0,0,35,8],
+"event_8php.html#a018ea4484910a873a7c1eaa126de9b1a":[6,0,0,35,11],
+"event_8php.html#a05073cd4ab837bd4a0149e8ed23ce688":[6,0,0,35,9],
"event_8php.html#a180cccd63c2a2f00ff432b03113531f3":[6,0,0,35,0],
"event_8php.html#a184d6b9690e5b6dee35a0aa9edd47279":[6,0,0,35,1],
"event_8php.html#a2ac9f1b08de03250ecd794f705781d17":[6,0,0,35,7],
"event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850":[6,0,0,35,2],
+"event_8php.html#a3ff7f1824540a38f4a3991a59a9542d4":[6,0,0,35,8],
"event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92":[6,0,0,35,5],
+"event_8php.html#ab8cc2825013e724dc26229026711cf93":[6,0,0,35,10],
"event_8php.html#abb74206cf42d694307c3d7abb7af9869":[6,0,0,35,6],
"event_8php.html#ac9f206819186b65952ac1869f0da8c6e":[6,0,0,35,3],
"event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c":[6,0,0,35,4],
-"events_8php.html":[6,0,1,30],
-"events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec":[6,0,1,30,0],
-"events_8php.html#ab3e8a8f901175f8e40a8089eea45c075":[6,0,1,30,1],
+"events_8php.html":[6,0,1,29],
+"events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec":[6,0,1,29,0],
+"events_8php.html#ab3e8a8f901175f8e40a8089eea45c075":[6,0,1,29,1],
"expire_8php.html":[6,0,0,36],
"expire_8php.html#a444e45c9b67727b27db4c779fd51a298":[6,0,0,36,0],
"externals_8php.html":[6,0,0,37],
"externals_8php.html#a4df44079e6f915286088b7a0d44db926":[6,0,0,37,0],
-"extract_8php.html":[6,0,2,4],
-"extract_8php.html#a0cbe524ffc9a496114fd7ba9f423ef44":[6,0,2,4,3],
-"extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634":[6,0,2,4,2],
-"extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb":[6,0,2,4,0],
-"extract_8php.html#a9590b15215a21e9b42eb546aeef79704":[6,0,2,4,1],
-"fbrowser_8php.html":[6,0,1,31],
-"fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4":[6,0,1,31,0],
+"extract_8php.html":[6,0,2,3],
+"extract_8php.html#a0cbe524ffc9a496114fd7ba9f423ef44":[6,0,2,3,3],
+"extract_8php.html#a50b05cf2e02ef0b67fcad97106dd7634":[6,0,2,3,2],
+"extract_8php.html#a63bb4c41bc532baacf6a4976cfaa0feb":[6,0,2,3,0],
+"extract_8php.html#a9590b15215a21e9b42eb546aeef79704":[6,0,2,3,1],
+"fbrowser_8php.html":[6,0,1,30],
+"fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4":[6,0,1,30,0],
"features_8php.html":[6,0,0,38],
"features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0":[6,0,0,38,0],
"features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c":[6,0,0,38,1],
-"feed_8php.html":[6,0,1,32],
-"feed_8php.html#af86137700b56f33d1d5f25c8dec22c04":[6,0,1,32,0],
-"filer_8php.html":[6,0,1,33],
-"filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274":[6,0,1,33,0],
-"filerm_8php.html":[6,0,1,34],
-"filerm_8php.html#ae2eb28d2054fa2c37e38689882172208":[6,0,1,34,0],
+"feed_8php.html":[6,0,1,31],
+"feed_8php.html#af86137700b56f33d1d5f25c8dec22c04":[6,0,1,31,0],
+"filer_8php.html":[6,0,1,32],
+"filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274":[6,0,1,32,0],
+"filerm_8php.html":[6,0,1,33],
+"filerm_8php.html#ae2eb28d2054fa2c37e38689882172208":[6,0,1,33,0],
"files.html":[6,0],
-"filestorage_8php.html":[6,0,1,35],
-"filestorage_8php.html#a61bb1be78472555df4ce619f51014040":[6,0,1,35,0],
-"filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd":[6,0,1,35,1],
+"filestorage_8php.html":[6,0,1,34],
+"filestorage_8php.html#a61bb1be78472555df4ce619f51014040":[6,0,1,34,0],
+"filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd":[6,0,1,34,1],
+"fixd_8php.html":[6,0,0,39],
+"fixd_8php.html#a241b818f48030b628685b2e5119c5624":[6,0,0,39,2],
+"fixd_8php.html#a2da3681c9cce2efe7de29aa578ff4219":[6,0,0,39,1],
+"fixd_8php.html#a8abe176bc41afd728f32ba8c506cbd98":[6,0,0,39,0],
+"fixd_8php.html#a9d4f8a2ab4d92b3ccfd7cba0458098eb":[6,0,0,39,3],
"fpostit_8php.html":[6,0,2,0,0],
"fpostit_8php.html#a3f3ae3ae61578b5671673914fd894443":[6,0,2,0,0,0],
"fpostit_8php.html#a501b5ca82f287509fc691c88524064c1":[6,0,2,0,0,1],
-"friendica-to-smarty-tpl_8py.html":[6,0,2,5],
-"friendica-to-smarty-tpl_8py.html#a005c1b7a69cac31fad72a941974ba7bb":[6,0,2,5,11],
-"friendica-to-smarty-tpl_8py.html#a0b4cf73d1a8d201a28d269eeb62a5d5c":[6,0,2,5,8],
-"friendica-to-smarty-tpl_8py.html#a3719dd46e286a57d315e6adae1845854":[6,0,2,5,1],
-"friendica-to-smarty-tpl_8py.html#a38503e37fe68ac27c88cce91a9ac9efa":[6,0,2,5,0],
-"friendica-to-smarty-tpl_8py.html#a5dfc21ab8282dda8e3a7dff43cd0e283":[6,0,2,5,13],
-"friendica-to-smarty-tpl_8py.html#a5f9bf7a67d955c0d6be70a82097611c5":[6,0,2,5,6],
-"friendica-to-smarty-tpl_8py.html#a68d15934660cd1f4301ce251b1646f09":[6,0,2,5,12],
-"friendica-to-smarty-tpl_8py.html#a8540514fb7c4aa18ad2dffa2a975036b":[6,0,2,5,14],
-"friendica-to-smarty-tpl_8py.html#a87182a9bab47640428bd0b2b9946bef9":[6,0,2,5,10],
-"friendica-to-smarty-tpl_8py.html#a89388ea9b2826e8218ed480e917d8105":[6,0,2,5,2],
-"friendica-to-smarty-tpl_8py.html#a965e1d6d6293654a56e029a7e454dec7":[6,0,2,5,5],
-"friendica-to-smarty-tpl_8py.html#ad9ef87ccb2c9960501f5e02424a22d80":[6,0,2,5,9],
-"friendica-to-smarty-tpl_8py.html#ae74419b16516956c66f7db714a93a6ac":[6,0,2,5,7],
-"friendica-to-smarty-tpl_8py.html#aecf730e0884bb4ddc6c0deb1ef85f8eb":[6,0,2,5,4],
-"friendica-to-smarty-tpl_8py.html#af6b2c793958aae2aadc294577431f749":[6,0,2,5,3],
-"fsuggest_8php.html":[6,0,1,37],
-"fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d":[6,0,1,37,1],
-"fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998":[6,0,1,37,0],
+"friendica-to-smarty-tpl_8py.html":[6,0,2,4],
+"friendica-to-smarty-tpl_8py.html#a005c1b7a69cac31fad72a941974ba7bb":[6,0,2,4,11],
+"friendica-to-smarty-tpl_8py.html#a0b4cf73d1a8d201a28d269eeb62a5d5c":[6,0,2,4,8],
+"friendica-to-smarty-tpl_8py.html#a3719dd46e286a57d315e6adae1845854":[6,0,2,4,1],
+"friendica-to-smarty-tpl_8py.html#a38503e37fe68ac27c88cce91a9ac9efa":[6,0,2,4,0],
+"friendica-to-smarty-tpl_8py.html#a5dfc21ab8282dda8e3a7dff43cd0e283":[6,0,2,4,13],
+"friendica-to-smarty-tpl_8py.html#a5f9bf7a67d955c0d6be70a82097611c5":[6,0,2,4,6],
+"friendica-to-smarty-tpl_8py.html#a68d15934660cd1f4301ce251b1646f09":[6,0,2,4,12],
+"friendica-to-smarty-tpl_8py.html#a8540514fb7c4aa18ad2dffa2a975036b":[6,0,2,4,14],
+"friendica-to-smarty-tpl_8py.html#a87182a9bab47640428bd0b2b9946bef9":[6,0,2,4,10],
+"friendica-to-smarty-tpl_8py.html#a89388ea9b2826e8218ed480e917d8105":[6,0,2,4,2],
+"friendica-to-smarty-tpl_8py.html#a965e1d6d6293654a56e029a7e454dec7":[6,0,2,4,5],
+"friendica-to-smarty-tpl_8py.html#ad9ef87ccb2c9960501f5e02424a22d80":[6,0,2,4,9],
+"friendica-to-smarty-tpl_8py.html#ae74419b16516956c66f7db714a93a6ac":[6,0,2,4,7],
+"friendica-to-smarty-tpl_8py.html#aecf730e0884bb4ddc6c0deb1ef85f8eb":[6,0,2,4,4],
+"friendica-to-smarty-tpl_8py.html#af6b2c793958aae2aadc294577431f749":[6,0,2,4,3],
+"fsuggest_8php.html":[6,0,1,36],
+"fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d":[6,0,1,36,1],
+"fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998":[6,0,1,36,0],
"full_8php.html":[6,0,3,0,2],
"full_8php.html#a3987f5547ceb7e36a210a66a06241a5a":[6,0,3,0,2,0],
"functions.html":[5,3,0],
@@ -157,8 +229,8 @@ var NAVTREEINDEX4 =
"functions_0x76.html":[5,3,0,20],
"functions_8php.html":[6,0,3,1,0,1,1],
"functions_8php.html#adefe514c95680928b3aae250cbc3c663":[6,0,3,1,0,1,1,0],
-"functions_func.html":[5,3,1],
"functions_func.html":[5,3,1,0],
+"functions_func.html":[5,3,1],
"functions_func_0x61.html":[5,3,1,1],
"functions_func_0x62.html":[5,3,1,2],
"functions_func_0x63.html":[5,3,1,3],
@@ -177,77 +249,5 @@ var NAVTREEINDEX4 =
"functions_func_0x73.html":[5,3,1,16],
"functions_func_0x74.html":[5,3,1,17],
"functions_func_0x75.html":[5,3,1,18],
-"functions_func_0x76.html":[5,3,1,19],
-"functions_vars.html":[5,3,2],
-"globals.html":[6,1,0],
-"globals.html":[6,1,0,0],
-"globals_0x5f.html":[6,1,0,1],
-"globals_0x61.html":[6,1,0,2],
-"globals_0x62.html":[6,1,0,3],
-"globals_0x63.html":[6,1,0,4],
-"globals_0x64.html":[6,1,0,5],
-"globals_0x65.html":[6,1,0,6],
-"globals_0x66.html":[6,1,0,7],
-"globals_0x67.html":[6,1,0,8],
-"globals_0x68.html":[6,1,0,9],
-"globals_0x69.html":[6,1,0,10],
-"globals_0x6a.html":[6,1,0,11],
-"globals_0x6b.html":[6,1,0,12],
-"globals_0x6c.html":[6,1,0,13],
-"globals_0x6d.html":[6,1,0,14],
-"globals_0x6e.html":[6,1,0,15],
-"globals_0x6f.html":[6,1,0,16],
-"globals_0x70.html":[6,1,0,17],
-"globals_0x71.html":[6,1,0,18],
-"globals_0x72.html":[6,1,0,19],
-"globals_0x73.html":[6,1,0,20],
-"globals_0x74.html":[6,1,0,21],
-"globals_0x75.html":[6,1,0,22],
-"globals_0x76.html":[6,1,0,23],
-"globals_0x77.html":[6,1,0,24],
-"globals_0x78.html":[6,1,0,25],
-"globals_0x7a.html":[6,1,0,26],
-"globals_func.html":[6,1,1],
-"globals_func.html":[6,1,1,0],
-"globals_func_0x61.html":[6,1,1,1],
-"globals_func_0x62.html":[6,1,1,2],
-"globals_func_0x63.html":[6,1,1,3],
-"globals_func_0x64.html":[6,1,1,4],
-"globals_func_0x65.html":[6,1,1,5],
-"globals_func_0x66.html":[6,1,1,6],
-"globals_func_0x67.html":[6,1,1,7],
-"globals_func_0x68.html":[6,1,1,8],
-"globals_func_0x69.html":[6,1,1,9],
-"globals_func_0x6a.html":[6,1,1,10],
-"globals_func_0x6b.html":[6,1,1,11],
-"globals_func_0x6c.html":[6,1,1,12],
-"globals_func_0x6d.html":[6,1,1,13],
-"globals_func_0x6e.html":[6,1,1,14],
-"globals_func_0x6f.html":[6,1,1,15],
-"globals_func_0x70.html":[6,1,1,16],
-"globals_func_0x71.html":[6,1,1,17],
-"globals_func_0x72.html":[6,1,1,18],
-"globals_func_0x73.html":[6,1,1,19],
-"globals_func_0x74.html":[6,1,1,20],
-"globals_func_0x75.html":[6,1,1,21],
-"globals_func_0x76.html":[6,1,1,22],
-"globals_func_0x77.html":[6,1,1,23],
-"globals_func_0x78.html":[6,1,1,24],
-"globals_func_0x7a.html":[6,1,1,25],
-"globals_vars.html":[6,1,2],
-"globals_vars.html":[6,1,2,0],
-"globals_vars_0x61.html":[6,1,2,1],
-"globals_vars_0x63.html":[6,1,2,2],
-"globals_vars_0x64.html":[6,1,2,3],
-"globals_vars_0x65.html":[6,1,2,4],
-"globals_vars_0x66.html":[6,1,2,5],
-"globals_vars_0x67.html":[6,1,2,6],
-"globals_vars_0x68.html":[6,1,2,7],
-"globals_vars_0x69.html":[6,1,2,8],
-"globals_vars_0x6a.html":[6,1,2,9],
-"globals_vars_0x6b.html":[6,1,2,10],
-"globals_vars_0x6c.html":[6,1,2,11],
-"globals_vars_0x6d.html":[6,1,2,12],
-"globals_vars_0x6e.html":[6,1,2,13],
-"globals_vars_0x70.html":[6,1,2,14]
+"functions_func_0x76.html":[5,3,1,19]
};
diff --git a/doc/html/navtreeindex5.js b/doc/html/navtreeindex5.js
index cea8ef638..e77a39247 100644
--- a/doc/html/navtreeindex5.js
+++ b/doc/html/navtreeindex5.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX5 =
{
+"functions_vars.html":[5,3,2],
+"globals.html":[6,1,0],
+"globals.html":[6,1,0,0],
+"globals_0x5f.html":[6,1,0,1],
+"globals_0x61.html":[6,1,0,2],
+"globals_0x62.html":[6,1,0,3],
+"globals_0x63.html":[6,1,0,4],
+"globals_0x64.html":[6,1,0,5],
+"globals_0x65.html":[6,1,0,6],
+"globals_0x66.html":[6,1,0,7],
+"globals_0x67.html":[6,1,0,8],
+"globals_0x68.html":[6,1,0,9],
+"globals_0x69.html":[6,1,0,10],
+"globals_0x6a.html":[6,1,0,11],
+"globals_0x6b.html":[6,1,0,12],
+"globals_0x6c.html":[6,1,0,13],
+"globals_0x6d.html":[6,1,0,14],
+"globals_0x6e.html":[6,1,0,15],
+"globals_0x6f.html":[6,1,0,16],
+"globals_0x70.html":[6,1,0,17],
+"globals_0x71.html":[6,1,0,18],
+"globals_0x72.html":[6,1,0,19],
+"globals_0x73.html":[6,1,0,20],
+"globals_0x74.html":[6,1,0,21],
+"globals_0x75.html":[6,1,0,22],
+"globals_0x76.html":[6,1,0,23],
+"globals_0x77.html":[6,1,0,24],
+"globals_0x78.html":[6,1,0,25],
+"globals_0x7a.html":[6,1,0,26],
+"globals_func.html":[6,1,1],
+"globals_func.html":[6,1,1,0],
+"globals_func_0x61.html":[6,1,1,1],
+"globals_func_0x62.html":[6,1,1,2],
+"globals_func_0x63.html":[6,1,1,3],
+"globals_func_0x64.html":[6,1,1,4],
+"globals_func_0x65.html":[6,1,1,5],
+"globals_func_0x66.html":[6,1,1,6],
+"globals_func_0x67.html":[6,1,1,7],
+"globals_func_0x68.html":[6,1,1,8],
+"globals_func_0x69.html":[6,1,1,9],
+"globals_func_0x6a.html":[6,1,1,10],
+"globals_func_0x6b.html":[6,1,1,11],
+"globals_func_0x6c.html":[6,1,1,12],
+"globals_func_0x6d.html":[6,1,1,13],
+"globals_func_0x6e.html":[6,1,1,14],
+"globals_func_0x6f.html":[6,1,1,15],
+"globals_func_0x70.html":[6,1,1,16],
+"globals_func_0x71.html":[6,1,1,17],
+"globals_func_0x72.html":[6,1,1,18],
+"globals_func_0x73.html":[6,1,1,19],
+"globals_func_0x74.html":[6,1,1,20],
+"globals_func_0x75.html":[6,1,1,21],
+"globals_func_0x76.html":[6,1,1,22],
+"globals_func_0x77.html":[6,1,1,23],
+"globals_func_0x78.html":[6,1,1,24],
+"globals_func_0x7a.html":[6,1,1,25],
+"globals_vars.html":[6,1,2],
+"globals_vars.html":[6,1,2,0],
+"globals_vars_0x61.html":[6,1,2,1],
+"globals_vars_0x63.html":[6,1,2,2],
+"globals_vars_0x64.html":[6,1,2,3],
+"globals_vars_0x65.html":[6,1,2,4],
+"globals_vars_0x66.html":[6,1,2,5],
+"globals_vars_0x67.html":[6,1,2,6],
+"globals_vars_0x68.html":[6,1,2,7],
+"globals_vars_0x69.html":[6,1,2,8],
+"globals_vars_0x6a.html":[6,1,2,9],
+"globals_vars_0x6b.html":[6,1,2,10],
+"globals_vars_0x6c.html":[6,1,2,11],
+"globals_vars_0x6d.html":[6,1,2,12],
+"globals_vars_0x6e.html":[6,1,2,13],
+"globals_vars_0x70.html":[6,1,2,14],
"globals_vars_0x72.html":[6,1,2,15],
"globals_vars_0x73.html":[6,1,2,16],
"globals_vars_0x74.html":[6,1,2,17],
"globals_vars_0x75.html":[6,1,2,18],
-"globals_vars_0x77.html":[6,1,2,19],
-"globals_vars_0x78.html":[6,1,2,20],
-"globals_vars_0x7a.html":[6,1,2,21],
-"gprobe_8php.html":[6,0,0,40],
-"gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1":[6,0,0,40,0],
+"globals_vars_0x76.html":[6,1,2,19],
+"globals_vars_0x77.html":[6,1,2,20],
+"globals_vars_0x78.html":[6,1,2,21],
+"globals_vars_0x7a.html":[6,1,2,22],
+"gprobe_8php.html":[6,0,0,41],
+"gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1":[6,0,0,41,0],
"greenthumbnails_8php.html":[6,0,3,1,0,2,3],
-"hcard_8php.html":[6,0,1,39],
-"hcard_8php.html#a3663012f1549849af88aba2bb87388e3":[6,0,1,39,0],
-"hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d":[6,0,1,39,1],
-"help_8php.html":[6,0,1,40],
-"help_8php.html#a06b2a51aaabed99e53a9b639047c4ce4":[6,0,1,40,1],
-"help_8php.html#af055e15f600ffa6fbca9386fdf715224":[6,0,1,40,0],
+"hcard_8php.html":[6,0,1,38],
+"hcard_8php.html#a3663012f1549849af88aba2bb87388e3":[6,0,1,38,0],
+"hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d":[6,0,1,38,1],
+"help_8php.html":[6,0,1,39],
+"help_8php.html#a06b2a51aaabed99e53a9b639047c4ce4":[6,0,1,39,1],
+"help_8php.html#af055e15f600ffa6fbca9386fdf715224":[6,0,1,39,0],
"hierarchy.html":[5,2],
-"hivenet_2php_2style_8php.html":[6,0,3,1,2,0,0],
-"hivenet_2php_2theme_8php.html":[6,0,3,1,2,0,1],
-"hivenet_2php_2theme_8php.html#a3a8b539b112ae63936025236dbaf0a29":[6,0,3,1,2,0,1,0],
-"home_8php.html":[6,0,1,41],
-"home_8php.html#aa1cf697851a646755baf537f75334c46":[6,0,1,41,0],
-"home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde":[6,0,1,41,1],
-"hostxrd_8php.html":[6,0,1,42],
-"hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92":[6,0,1,42,0],
-"html2bbcode_8php.html":[6,0,0,42],
-"html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7":[6,0,0,42,3],
-"html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837":[6,0,0,42,1],
-"html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2":[6,0,0,42,0],
-"html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8":[6,0,0,42,2],
-"html2plain_8php.html":[6,0,0,43],
-"html2plain_8php.html#a3214912e3d00cf0a948072daccf16740":[6,0,0,43,0],
-"html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0":[6,0,0,43,3],
-"html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04":[6,0,0,43,2],
-"html2plain_8php.html#ae1c203d0f089d5678d73a6c64a395201":[6,0,0,43,1],
-"hubloc_8php.html":[6,0,0,44],
-"hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea":[6,0,0,44,3],
-"hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b":[6,0,0,44,5],
-"hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002":[6,0,0,44,2],
-"hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d":[6,0,0,44,0],
-"hubloc_8php.html#aebd244b4616ded022cbbee5e82926951":[6,0,0,44,1],
-"hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea":[6,0,0,44,4],
-"identity_8php.html":[6,0,0,45],
-"identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05":[6,0,0,45,3],
-"identity_8php.html#a224710dfb7465b706c91134247c20afa":[6,0,0,45,11],
-"identity_8php.html#a2ab5172eabd375869060c9ad68323f5c":[6,0,0,45,17],
-"identity_8php.html#a2e6a1cc35887937823ec7fbb90472afe":[6,0,0,45,22],
-"identity_8php.html#a332df795f684788002f5a6424abacfd7":[6,0,0,45,10],
-"identity_8php.html#a345f4c943d84de502ec6e72d2c813945":[6,0,0,45,2],
-"identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc":[6,0,0,45,26],
-"identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68":[6,0,0,45,25],
-"identity_8php.html#a47d6f53216f23a3484061793bef29854":[6,0,0,45,27],
-"identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2":[6,0,0,45,8],
-"identity_8php.html#a4e996e44b50330098a04b467367a559f":[6,0,0,45,20],
-"identity_8php.html#a4ff59df0f0a668a06a8411f87496aa21":[6,0,0,45,12],
-"identity_8php.html#a5650319c799de09d1b6d1076b6f839a4":[6,0,0,45,23],
-"identity_8php.html#a5b815330f3d177ab383af37a6c12e532":[6,0,0,45,30],
-"identity_8php.html#a680fbafc2db023c5b1309e0180e81315":[6,0,0,45,31],
-"identity_8php.html#a77d2237f1846964634b1c99089c27c7d":[6,0,0,45,1],
-"identity_8php.html#a78151baf4407a8482d2681a91a9c486b":[6,0,0,45,28],
-"identity_8php.html#a9637c557e13d9671f3eeb124ab98212a":[6,0,0,45,19],
-"identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec":[6,0,0,45,9],
-"identity_8php.html#aa4bd4abfcba883f43919e89ec6419025":[6,0,0,45,21],
-"identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4":[6,0,0,45,0],
-"identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3":[6,0,0,45,14],
-"identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51":[6,0,0,45,13],
-"identity_8php.html#ab1485a26b032956e1496fc08c58b83ed":[6,0,0,45,6],
-"identity_8php.html#ac73b3e13778c564c877554517a7f51ba":[6,0,0,45,5],
-"identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633":[6,0,0,45,16],
-"identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51":[6,0,0,45,4],
-"identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620":[6,0,0,45,24],
-"identity_8php.html#ae2b140df652a55ca11bb6a99005fce35":[6,0,0,45,18],
-"identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312":[6,0,0,45,7],
-"identity_8php.html#af2802bc13a00a17b867bba7978ba8f58":[6,0,0,45,29],
-"identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249":[6,0,0,45,15],
-"impel_8php.html":[6,0,1,43],
-"impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b":[6,0,1,43,0],
-"import_8php.html":[6,0,1,44],
-"import_8php.html#af17fef0410518f7eac205d0ea416eaa2":[6,0,1,44,1],
-"import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184":[6,0,1,44,0],
-"importelm_8php.html":[6,0,1,45],
-"importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f":[6,0,1,45,0],
-"include_2api_8php.html":[6,0,0,6],
-"include_2api_8php.html#a0991f72554f821255397d615e76f3203":[6,0,0,6,12],
-"include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5":[6,0,0,6,5],
-"include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879":[6,0,0,6,18],
-"include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f":[6,0,0,6,15],
-"include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b":[6,0,0,6,0],
-"include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283":[6,0,0,6,47],
-"include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8":[6,0,0,6,16],
-"include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e":[6,0,0,6,53],
-"include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95":[6,0,0,6,41],
-"include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea":[6,0,0,6,19],
-"include_2api_8php.html#a4fe872332ff0bd8d5eae2f0c6819cb60":[6,0,0,6,32],
-"include_2api_8php.html#a528d8070ee74ea800102936ce73cf366":[6,0,0,6,40],
-"include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74":[6,0,0,6,21],
-"include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d":[6,0,0,6,13],
-"include_2api_8php.html#a5990101034e7abf6404feba3cd273629":[6,0,0,6,4],
-"include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08":[6,0,0,6,48],
-"include_2api_8php.html#a645397787618b5c548a31e8686e8cca4":[6,0,0,6,35],
-"include_2api_8php.html#a6951c690d87775eb37e569c66011988e":[6,0,0,6,38],
-"include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f":[6,0,0,6,34],
-"include_2api_8php.html#a72bfecac1970bc29b853073e816388ff":[6,0,0,6,6],
-"include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5":[6,0,0,6,9],
-"include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad":[6,0,0,6,2],
-"include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d":[6,0,0,6,49],
-"include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e":[6,0,0,6,42],
-"include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3":[6,0,0,6,10],
-"include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705":[6,0,0,6,8],
-"include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410":[6,0,0,6,37],
-"include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3":[6,0,0,6,30],
-"include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa":[6,0,0,6,23],
-"include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1":[6,0,0,6,27],
-"include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d":[6,0,0,6,55],
-"include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f":[6,0,0,6,31],
-"include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18":[6,0,0,6,3],
-"include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898":[6,0,0,6,52],
-"include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b":[6,0,0,6,17],
-"include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76":[6,0,0,6,51],
-"include_2api_8php.html#ac2c2b18c426d697d11a830bca146be8a":[6,0,0,6,33],
-"include_2api_8php.html#ac5a64cc81d70ff3cf866093ea9721d23":[6,0,0,6,26],
-"include_2api_8php.html#acafd2899309a005fcb725289173dc7fe":[6,0,0,6,22],
-"include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22":[6,0,0,6,43],
-"include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2":[6,0,0,6,11],
-"include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4":[6,0,0,6,36],
-"include_2api_8php.html#ad4d1634df6b35126552324683caaffa2":[6,0,0,6,46],
-"include_2api_8php.html#ad5fe62d6c25c86999f627b2e6cfde536":[6,0,0,6,24],
-"include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e":[6,0,0,6,39],
-"include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53":[6,0,0,6,14],
-"include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8":[6,0,0,6,44],
-"include_2api_8php.html#ae46f964e5a9c80b96dc78df61c09ed3a":[6,0,0,6,25],
-"include_2api_8php.html#ae82608c317421f27446465aa6724733d":[6,0,0,6,20],
-"include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5":[6,0,0,6,1],
-"include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25":[6,0,0,6,7],
-"include_2api_8php.html#aeb2e7ad00ea666b4b6dfcf82008194f8":[6,0,0,6,54],
-"include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63":[6,0,0,6,45],
-"include_2api_8php.html#afb99daa6b731bf497b81f2128084852c":[6,0,0,6,50],
-"include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73":[6,0,0,6,28],
-"include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0":[6,0,0,6,29],
-"include_2apps_8php.html":[6,0,0,7],
-"include_2apps_8php.html#a01cabfb33b2d0d843cf3bf4e3d3f0ab0":[6,0,0,7,5],
-"include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9":[6,0,0,7,8],
-"include_2apps_8php.html#a1adcd1aff4d36ad0277daca9f3d2bbe2":[6,0,0,7,4],
-"include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66":[6,0,0,7,7],
-"include_2apps_8php.html#a1cb5c016510e39bcdc1d1c096d51c5c7":[6,0,0,7,2],
-"include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83":[6,0,0,7,12],
-"include_2apps_8php.html#a48289d5cc44b7638191738106ac5d030":[6,0,0,7,13],
-"include_2apps_8php.html#a6b472df85ed875e7ae75642cece5206f":[6,0,0,7,1],
-"include_2apps_8php.html#a72756e1601489eb77971eeda011446d0":[6,0,0,7,3],
-"include_2apps_8php.html#ab93a3310b7de99ee90f673518eccb658":[6,0,0,7,6],
-"include_2apps_8php.html#ad5f6f1443725386cc7af5ed34a5fe185":[6,0,0,7,0],
-"include_2apps_8php.html#ad6ba3f254003f69f8f3f94ca5bda0680":[6,0,0,7,11],
-"include_2apps_8php.html#ae64f72eb4f126e03b4eb65ed1702a3ca":[6,0,0,7,10],
-"include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46":[6,0,0,7,9],
-"include_2attach_8php.html":[6,0,0,8],
-"include_2attach_8php.html#a052f14487ff2ce72f62a09fac8d7e997":[6,0,0,8,9],
-"include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36":[6,0,0,8,0],
-"include_2attach_8php.html#a1d72ef7cb940f6868e3e2a841cadfe8f":[6,0,0,8,11],
-"include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d":[6,0,0,8,5],
-"include_2attach_8php.html#a4dbfd7e1cef52aa9ef52f4b88929fa86":[6,0,0,8,8],
-"include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221":[6,0,0,8,2],
-"include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34":[6,0,0,8,12],
-"include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce":[6,0,0,8,10],
-"include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a":[6,0,0,8,13],
-"include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd":[6,0,0,8,4],
-"include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f":[6,0,0,8,7],
-"include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3":[6,0,0,8,3],
-"include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc":[6,0,0,8,6],
-"include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932":[6,0,0,8,1],
-"include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909":[6,0,0,8,14],
-"include_2bookmarks_8php.html":[6,0,0,13],
-"include_2bookmarks_8php.html#a743763b0ce83af0bbc8a2f7ac16033aa":[6,0,0,13,1],
-"include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323":[6,0,0,13,0],
+"hivenet_2php_2style_8php.html":[6,0,3,1,1,0,0],
+"hivenet_2php_2theme_8php.html":[6,0,3,1,1,0,1],
+"hivenet_2php_2theme_8php.html#a3a8b539b112ae63936025236dbaf0a29":[6,0,3,1,1,0,1,0],
+"home_8php.html":[6,0,1,40],
+"home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f":[6,0,1,40,0],
+"home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde":[6,0,1,40,1],
+"hostxrd_8php.html":[6,0,1,41],
+"hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92":[6,0,1,41,0],
+"html2bbcode_8php.html":[6,0,0,43],
+"html2bbcode_8php.html#a39c662b19d318990fee2ba795a55d7a7":[6,0,0,43,3],
+"html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837":[6,0,0,43,1],
+"html2bbcode_8php.html#a71a07f135d196ec5943b13f7b2e6a9b2":[6,0,0,43,0],
+"html2bbcode_8php.html#ad174afe0ccbd8c475e48f8a6ee2f27d8":[6,0,0,43,2],
+"html2plain_8php.html":[6,0,0,44],
+"html2plain_8php.html#a3214912e3d00cf0a948072daccf16740":[6,0,0,44,0],
+"html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0":[6,0,0,44,3],
+"html2plain_8php.html#ab3e121fa9f3feb16f9f942e705bc6c04":[6,0,0,44,2],
+"html2plain_8php.html#ae1c203d0f089d5678d73a6c64a395201":[6,0,0,44,1],
+"hubloc_8php.html":[6,0,0,45],
+"hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea":[6,0,0,45,3],
+"hubloc_8php.html#acb708dd197aae72a4858cf5ff4e3195b":[6,0,0,45,5],
+"hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002":[6,0,0,45,2],
+"hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d":[6,0,0,45,0],
+"hubloc_8php.html#aebd244b4616ded022cbbee5e82926951":[6,0,0,45,1],
+"hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea":[6,0,0,45,4],
+"identity_8php.html":[6,0,0,46],
+"identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05":[6,0,0,46,3],
+"identity_8php.html#a224710dfb7465b706c91134247c20afa":[6,0,0,46,12],
+"identity_8php.html#a293f416ce9050220b183e08ff5890216":[6,0,0,46,6],
+"identity_8php.html#a2ab5172eabd375869060c9ad68323f5c":[6,0,0,46,18],
+"identity_8php.html#a2e6a1cc35887937823ec7fbb90472afe":[6,0,0,46,23],
+"identity_8php.html#a332df795f684788002f5a6424abacfd7":[6,0,0,46,11],
+"identity_8php.html#a345f4c943d84de502ec6e72d2c813945":[6,0,0,46,2],
+"identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc":[6,0,0,46,27],
+"identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68":[6,0,0,46,26],
+"identity_8php.html#a47d6f53216f23a3484061793bef29854":[6,0,0,46,28],
+"identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2":[6,0,0,46,9],
+"identity_8php.html#a4e996e44b50330098a04b467367a559f":[6,0,0,46,21],
+"identity_8php.html#a4ff59df0f0a668a06a8411f87496aa21":[6,0,0,46,13],
+"identity_8php.html#a5650319c799de09d1b6d1076b6f839a4":[6,0,0,46,24],
+"identity_8php.html#a5b815330f3d177ab383af37a6c12e532":[6,0,0,46,31],
+"identity_8php.html#a680fbafc2db023c5b1309e0180e81315":[6,0,0,46,32],
+"identity_8php.html#a77d2237f1846964634b1c99089c27c7d":[6,0,0,46,1],
+"identity_8php.html#a78151baf4407a8482d2681a91a9c486b":[6,0,0,46,29],
+"identity_8php.html#a9637c557e13d9671f3eeb124ab98212a":[6,0,0,46,20],
+"identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec":[6,0,0,46,10],
+"identity_8php.html#aa4bd4abfcba883f43919e89ec6419025":[6,0,0,46,22],
+"identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4":[6,0,0,46,0],
+"identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3":[6,0,0,46,15],
+"identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51":[6,0,0,46,14],
+"identity_8php.html#ab1485a26b032956e1496fc08c58b83ed":[6,0,0,46,7],
+"identity_8php.html#ac73b3e13778c564c877554517a7f51ba":[6,0,0,46,5],
+"identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633":[6,0,0,46,17],
+"identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51":[6,0,0,46,4],
+"identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620":[6,0,0,46,25],
+"identity_8php.html#ae2b140df652a55ca11bb6a99005fce35":[6,0,0,46,19],
+"identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312":[6,0,0,46,8],
+"identity_8php.html#af2802bc13a00a17b867bba7978ba8f58":[6,0,0,46,30],
+"identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249":[6,0,0,46,16],
+"impel_8php.html":[6,0,1,42],
+"impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b":[6,0,1,42,0],
+"import_8php.html":[6,0,1,43],
+"import_8php.html#af17fef0410518f7eac205d0ea416eaa2":[6,0,1,43,1],
+"import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184":[6,0,1,43,0],
+"importelm_8php.html":[6,0,1,44],
+"importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f":[6,0,1,44,0],
+"include_2api_8php.html":[6,0,0,7],
+"include_2api_8php.html#a0991f72554f821255397d615e76f3203":[6,0,0,7,12],
+"include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5":[6,0,0,7,5],
+"include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879":[6,0,0,7,18],
+"include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f":[6,0,0,7,15],
+"include_2api_8php.html#a2e94eab9d6c164bfef7a1b2ab87b339b":[6,0,0,7,0],
+"include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283":[6,0,0,7,47],
+"include_2api_8php.html#a36344c80b8e9755da2f2dd3a0e28cce8":[6,0,0,7,16],
+"include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e":[6,0,0,7,53],
+"include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95":[6,0,0,7,41],
+"include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea":[6,0,0,7,19],
+"include_2api_8php.html#a4fe872332ff0bd8d5eae2f0c6819cb60":[6,0,0,7,32],
+"include_2api_8php.html#a528d8070ee74ea800102936ce73cf366":[6,0,0,7,40],
+"include_2api_8php.html#a53b0680b682ae6078f2e1ed18cfb3f74":[6,0,0,7,21],
+"include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d":[6,0,0,7,13],
+"include_2api_8php.html#a5990101034e7abf6404feba3cd273629":[6,0,0,7,4],
+"include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08":[6,0,0,7,48],
+"include_2api_8php.html#a645397787618b5c548a31e8686e8cca4":[6,0,0,7,35],
+"include_2api_8php.html#a6951c690d87775eb37e569c66011988e":[6,0,0,7,38],
+"include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f":[6,0,0,7,34],
+"include_2api_8php.html#a72bfecac1970bc29b853073e816388ff":[6,0,0,7,6],
+"include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5":[6,0,0,7,9],
+"include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad":[6,0,0,7,2],
+"include_2api_8php.html#a8969e8d9c683f12ba17dcd4b059e020d":[6,0,0,7,49],
+"include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e":[6,0,0,7,42],
+"include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3":[6,0,0,7,10],
+"include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705":[6,0,0,7,8],
+"include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410":[6,0,0,7,37],
+"include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3":[6,0,0,7,30],
+"include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa":[6,0,0,7,23],
+"include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1":[6,0,0,7,27],
+"include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d":[6,0,0,7,55],
+"include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f":[6,0,0,7,31],
+"include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18":[6,0,0,7,3],
+"include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898":[6,0,0,7,52],
+"include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b":[6,0,0,7,17],
+"include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76":[6,0,0,7,51],
+"include_2api_8php.html#ac2c2b18c426d697d11a830bca146be8a":[6,0,0,7,33],
+"include_2api_8php.html#ac5a64cc81d70ff3cf866093ea9721d23":[6,0,0,7,26],
+"include_2api_8php.html#acafd2899309a005fcb725289173dc7fe":[6,0,0,7,22],
+"include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22":[6,0,0,7,43],
+"include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2":[6,0,0,7,11],
+"include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4":[6,0,0,7,36],
+"include_2api_8php.html#ad4d1634df6b35126552324683caaffa2":[6,0,0,7,46],
+"include_2api_8php.html#ad5fe62d6c25c86999f627b2e6cfde536":[6,0,0,7,24],
+"include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e":[6,0,0,7,39],
+"include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53":[6,0,0,7,14],
+"include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8":[6,0,0,7,44],
+"include_2api_8php.html#ae46f964e5a9c80b96dc78df61c09ed3a":[6,0,0,7,25],
+"include_2api_8php.html#ae82608c317421f27446465aa6724733d":[6,0,0,7,20],
+"include_2api_8php.html#ae8f5863e18d69421005c71441c9d99a5":[6,0,0,7,1],
+"include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25":[6,0,0,7,7],
+"include_2api_8php.html#aeb2e7ad00ea666b4b6dfcf82008194f8":[6,0,0,7,54],
+"include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63":[6,0,0,7,45],
+"include_2api_8php.html#afb99daa6b731bf497b81f2128084852c":[6,0,0,7,50],
+"include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73":[6,0,0,7,28],
+"include_2api_8php.html#aff322705cc6084b329003fc8eab0aad0":[6,0,0,7,29],
+"include_2apps_8php.html":[6,0,0,8],
+"include_2apps_8php.html#a01cabfb33b2d0d843cf3bf4e3d3f0ab0":[6,0,0,8,5],
+"include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9":[6,0,0,8,8],
+"include_2apps_8php.html#a1adcd1aff4d36ad0277daca9f3d2bbe2":[6,0,0,8,4],
+"include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66":[6,0,0,8,7],
+"include_2apps_8php.html#a1cb5c016510e39bcdc1d1c096d51c5c7":[6,0,0,8,2],
+"include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83":[6,0,0,8,12],
+"include_2apps_8php.html#a48289d5cc44b7638191738106ac5d030":[6,0,0,8,13],
+"include_2apps_8php.html#a6b472df85ed875e7ae75642cece5206f":[6,0,0,8,1],
+"include_2apps_8php.html#a72756e1601489eb77971eeda011446d0":[6,0,0,8,3],
+"include_2apps_8php.html#ab93a3310b7de99ee90f673518eccb658":[6,0,0,8,6],
+"include_2apps_8php.html#ad5f6f1443725386cc7af5ed34a5fe185":[6,0,0,8,0],
+"include_2apps_8php.html#ad6ba3f254003f69f8f3f94ca5bda0680":[6,0,0,8,11],
+"include_2apps_8php.html#ae64f72eb4f126e03b4eb65ed1702a3ca":[6,0,0,8,10],
+"include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46":[6,0,0,8,9],
+"include_2attach_8php.html":[6,0,0,9],
+"include_2attach_8php.html#a052f14487ff2ce72f62a09fac8d7e997":[6,0,0,9,9],
+"include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36":[6,0,0,9,0],
+"include_2attach_8php.html#a1d72ef7cb940f6868e3e2a841cadfe8f":[6,0,0,9,11],
+"include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d":[6,0,0,9,5],
+"include_2attach_8php.html#a4dbfd7e1cef52aa9ef52f4b88929fa86":[6,0,0,9,8],
+"include_2attach_8php.html#a5c0875eafb8c0f8a0620ff7a875a2221":[6,0,0,9,2],
+"include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34":[6,0,0,9,12],
+"include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce":[6,0,0,9,10],
+"include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a":[6,0,0,9,13],
+"include_2attach_8php.html#a70bd666e080c2af5a91f5d14c297b8cd":[6,0,0,9,4],
+"include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f":[6,0,0,9,7],
+"include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3":[6,0,0,9,3],
+"include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc":[6,0,0,9,6],
+"include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932":[6,0,0,9,1],
+"include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909":[6,0,0,9,14],
+"include_2bookmarks_8php.html":[6,0,0,14],
+"include_2bookmarks_8php.html#a743763b0ce83af0bbc8a2f7ac16033aa":[6,0,0,14,1],
+"include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323":[6,0,0,14,0],
"include_2chat_8php.html":[6,0,0,16],
"include_2chat_8php.html#a1ee1360f7d2549c7549ae07cb5190f0f":[6,0,0,16,4],
-"include_2chat_8php.html#a26abdccc2a278a59899896dbbfc6f049":[6,0,0,16,6],
-"include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639":[6,0,0,16,2],
-"include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91":[6,0,0,16,3],
-"include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422":[6,0,0,16,1],
-"include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3":[6,0,0,16,0],
-"include_2chat_8php.html#aedcb532a0627b8644001a2fadab4e87a":[6,0,0,16,5],
-"include_2config_8php.html":[6,0,0,20],
-"include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1":[6,0,0,20,7],
-"include_2config_8php.html#a549910227348003efc3c05c9105c42da":[6,0,0,20,0],
-"include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b":[6,0,0,20,8],
-"include_2config_8php.html#a61591371cb18764138655d67dc817ab2":[6,0,0,20,11],
-"include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941":[6,0,0,20,1],
-"include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72":[6,0,0,20,2],
-"include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e":[6,0,0,20,6],
-"include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad":[6,0,0,20,5],
-"include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a":[6,0,0,20,10],
-"include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52":[6,0,0,20,9],
-"include_2config_8php.html#af02c96e6b37335774b548914ede1d22e":[6,0,0,20,3],
-"include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74":[6,0,0,20,4],
-"include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e":[6,0,0,20,12],
-"include_2directory_8php.html":[6,0,0,33],
-"include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0":[6,0,0,33,0],
-"include_2follow_8php.html":[6,0,0,39],
-"include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7":[6,0,0,39,0],
-"include_2group_8php.html":[6,0,0,41],
-"include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b":[6,0,0,41,2],
-"include_2group_8php.html#a048f6892bfd28852de1b76470df411de":[6,0,0,41,10],
-"include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce":[6,0,0,41,1],
-"include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345":[6,0,0,41,0],
-"include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5":[6,0,0,41,6],
-"include_2group_8php.html#a540e3ef36f47d47532646be4241f6518":[6,0,0,41,7],
-"include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09":[6,0,0,41,4],
-"include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9":[6,0,0,41,8],
-"include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245":[6,0,0,41,5],
-"include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32":[6,0,0,41,11],
-"include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb":[6,0,0,41,3],
-"include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f":[6,0,0,41,9],
-"include_2menu_8php.html":[6,0,0,50],
-"include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a":[6,0,0,50,11],
-"include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98":[6,0,0,50,1],
-"include_2menu_8php.html#a251bf7e15d21627fd92614198e41c485":[6,0,0,50,10],
-"include_2menu_8php.html#a32701c4245e78ba9106eef52c08bf33d":[6,0,0,50,9],
-"include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8":[6,0,0,50,3],
-"include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7":[6,0,0,50,8],
-"include_2menu_8php.html#a68ebbf492470c930f652013656f9071d":[6,0,0,50,7],
-"include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571":[6,0,0,50,5],
-"include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a":[6,0,0,50,2],
-"include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa":[6,0,0,50,6],
-"include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804":[6,0,0,50,4],
-"include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8":[6,0,0,50,0],
-"include_2message_8php.html":[6,0,0,51],
-"include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091":[6,0,0,51,2],
-"include_2message_8php.html#a5f8de9847e203329e317ac38dc646898":[6,0,0,51,1],
-"include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e":[6,0,0,51,3],
-"include_2message_8php.html#a751ffd6635022b2190f56154ee745752":[6,0,0,51,4],
-"include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1":[6,0,0,51,0],
-"include_2network_8php.html":[6,0,0,53],
-"include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0":[6,0,0,53,7],
-"include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6":[6,0,0,53,14],
-"include_2network_8php.html#a316f318167a039c89719afbd129a8f3c":[6,0,0,53,16],
-"include_2network_8php.html#a3e6c751a51de33ad3563f0938296e78a":[6,0,0,53,20],
-"include_2network_8php.html#a469b9bd700269cd07d954f1a16c5899b":[6,0,0,53,6],
-"include_2network_8php.html#a4c5d50079e089168d9248427018fffd4":[6,0,0,53,12],
-"include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2":[6,0,0,53,11],
-"include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48":[6,0,0,53,4],
-"include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2":[6,0,0,53,19],
-"include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe":[6,0,0,53,5],
-"include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7":[6,0,0,53,10],
-"include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d":[6,0,0,53,9],
-"include_2network_8php.html#a872bbe72d23826c64c9e0f822180a3ec":[6,0,0,53,13],
-"include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02":[6,0,0,53,18],
-"include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0":[6,0,0,53,8],
-"include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc":[6,0,0,53,24],
-"include_2network_8php.html#a984708e60d531b31b2d1f88b5f408f7b":[6,0,0,53,25],
-"include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff":[6,0,0,53,21]
+"include_2chat_8php.html#a26abdccc2a278a59899896dbbfc6f049":[6,0,0,16,6]
};
diff --git a/doc/html/navtreeindex6.js b/doc/html/navtreeindex6.js
index e3c3f1ab3..7a3768ebd 100644
--- a/doc/html/navtreeindex6.js
+++ b/doc/html/navtreeindex6.js
@@ -1,166 +1,241 @@
var NAVTREEINDEX6 =
{
-"include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6":[6,0,0,53,22],
-"include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37":[6,0,0,53,23],
-"include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7":[6,0,0,53,2],
-"include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694":[6,0,0,53,0],
-"include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070":[6,0,0,53,17],
-"include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246":[6,0,0,53,3],
-"include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f":[6,0,0,53,15],
-"include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7":[6,0,0,53,1],
-"include_2notify_8php.html":[6,0,0,55],
-"include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3":[6,0,0,55,0],
-"include_2oembed_8php.html":[6,0,0,57],
-"include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172":[6,0,0,57,5],
-"include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0":[6,0,0,57,7],
-"include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487":[6,0,0,57,1],
-"include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3":[6,0,0,57,4],
-"include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2":[6,0,0,57,3],
-"include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a":[6,0,0,57,6],
-"include_2oembed_8php.html#ab953a6e7c11bc6498ce01ed73e2ba319":[6,0,0,57,0],
-"include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2":[6,0,0,57,2],
-"include_2photos_8php.html":[6,0,0,62],
-"include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109":[6,0,0,62,0],
-"include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe":[6,0,0,62,2],
-"include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35":[6,0,0,62,1],
-"include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51":[6,0,0,62,7],
-"include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab":[6,0,0,62,3],
-"include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274":[6,0,0,62,6],
-"include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9":[6,0,0,62,5],
-"include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979":[6,0,0,62,4],
-"include_2probe_8php.html":[6,0,0,65],
-"include_2probe_8php.html#a12ea7a0def2f0e07242b5c9ac684e01a":[6,0,0,65,3],
-"include_2probe_8php.html#a2b4ac769508f7cfc17fee130279b9cb7":[6,0,0,65,4],
-"include_2probe_8php.html#a2daa857942aceca01f956016dbbd139c":[6,0,0,65,1],
-"include_2probe_8php.html#a3c02c7a23e8335a79c3c0f5331d11a85":[6,0,0,65,8],
-"include_2probe_8php.html#a471851151d8cd7fbb79703e9522eeea8":[6,0,0,65,0],
-"include_2probe_8php.html#a950a200372393f706851103cd3fffcba":[6,0,0,65,6],
-"include_2probe_8php.html#a9b5eca1e01e52b3e65d64db0c92181e0":[6,0,0,65,2],
-"include_2probe_8php.html#aa748dc73a6686c13826b1ee9d16c800d":[6,0,0,65,7],
-"include_2probe_8php.html#ab19a52326b27607a0fb8191cc75ba481":[6,0,0,65,5],
+"include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639":[6,0,0,16,2],
+"include_2chat_8php.html#a2c95b545e46bfee64faa05ecf0afea91":[6,0,0,16,3],
+"include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422":[6,0,0,16,1],
+"include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3":[6,0,0,16,0],
+"include_2chat_8php.html#aedcb532a0627b8644001a2fadab4e87a":[6,0,0,16,5],
+"include_2config_8php.html":[6,0,0,20],
+"include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1":[6,0,0,20,7],
+"include_2config_8php.html#a549910227348003efc3c05c9105c42da":[6,0,0,20,0],
+"include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b":[6,0,0,20,8],
+"include_2config_8php.html#a61591371cb18764138655d67dc817ab2":[6,0,0,20,11],
+"include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941":[6,0,0,20,1],
+"include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72":[6,0,0,20,2],
+"include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e":[6,0,0,20,6],
+"include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad":[6,0,0,20,5],
+"include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a":[6,0,0,20,10],
+"include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52":[6,0,0,20,9],
+"include_2config_8php.html#af02c96e6b37335774b548914ede1d22e":[6,0,0,20,3],
+"include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74":[6,0,0,20,4],
+"include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e":[6,0,0,20,12],
+"include_2directory_8php.html":[6,0,0,33],
+"include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0":[6,0,0,33,0],
+"include_2follow_8php.html":[6,0,0,40],
+"include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7":[6,0,0,40,0],
+"include_2group_8php.html":[6,0,0,42],
+"include_2group_8php.html#a0122ef312df2c5546b1a46b3e6c7b31b":[6,0,0,42,2],
+"include_2group_8php.html#a048f6892bfd28852de1b76470df411de":[6,0,0,42,10],
+"include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce":[6,0,0,42,1],
+"include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345":[6,0,0,42,0],
+"include_2group_8php.html#a4118f498bbd1530c1d0136d016d197a5":[6,0,0,42,6],
+"include_2group_8php.html#a540e3ef36f47d47532646be4241f6518":[6,0,0,42,7],
+"include_2group_8php.html#a5bd191d9692e6c34d48c0ede10810f09":[6,0,0,42,4],
+"include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9":[6,0,0,42,8],
+"include_2group_8php.html#a90e157b3e1b99c981809cb5a2abd3245":[6,0,0,42,5],
+"include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32":[6,0,0,42,11],
+"include_2group_8php.html#abd66a5ea34a07a3422dc2dde6c7b3ecb":[6,0,0,42,3],
+"include_2group_8php.html#afb802ae2ce73aae4bc36d157f7b6a92f":[6,0,0,42,9],
+"include_2menu_8php.html":[6,0,0,51],
+"include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a":[6,0,0,51,11],
+"include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98":[6,0,0,51,1],
+"include_2menu_8php.html#a251bf7e15d21627fd92614198e41c485":[6,0,0,51,10],
+"include_2menu_8php.html#a32701c4245e78ba9106eef52c08bf33d":[6,0,0,51,9],
+"include_2menu_8php.html#a3884bda4d85d84ec99447db9403a68d8":[6,0,0,51,3],
+"include_2menu_8php.html#a47447c01ba8ea04cd74af1d4c5b68fc7":[6,0,0,51,8],
+"include_2menu_8php.html#a68ebbf492470c930f652013656f9071d":[6,0,0,51,7],
+"include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571":[6,0,0,51,5],
+"include_2menu_8php.html#a9aa8e0052dd47c1a93f53a983bd4620a":[6,0,0,51,2],
+"include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa":[6,0,0,51,6],
+"include_2menu_8php.html#ad87f51ce85172bcc3f931aa0cd96a804":[6,0,0,51,4],
+"include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8":[6,0,0,51,0],
+"include_2message_8php.html":[6,0,0,52],
+"include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091":[6,0,0,52,2],
+"include_2message_8php.html#a5f8de9847e203329e317ac38dc646898":[6,0,0,52,1],
+"include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e":[6,0,0,52,3],
+"include_2message_8php.html#a751ffd6635022b2190f56154ee745752":[6,0,0,52,4],
+"include_2message_8php.html#aed272d77c06a309e2836ac79e75613f1":[6,0,0,52,0],
+"include_2network_8php.html":[6,0,0,54],
+"include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0":[6,0,0,54,7],
+"include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6":[6,0,0,54,14],
+"include_2network_8php.html#a316f318167a039c89719afbd129a8f3c":[6,0,0,54,16],
+"include_2network_8php.html#a3e6c751a51de33ad3563f0938296e78a":[6,0,0,54,20],
+"include_2network_8php.html#a469b9bd700269cd07d954f1a16c5899b":[6,0,0,54,6],
+"include_2network_8php.html#a4c5d50079e089168d9248427018fffd4":[6,0,0,54,12],
+"include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2":[6,0,0,54,11],
+"include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48":[6,0,0,54,4],
+"include_2network_8php.html#a5caa264fab6d2b2344e6bd5b298b08f2":[6,0,0,54,19],
+"include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe":[6,0,0,54,5],
+"include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7":[6,0,0,54,10],
+"include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d":[6,0,0,54,9],
+"include_2network_8php.html#a872bbe72d23826c64c9e0f822180a3ec":[6,0,0,54,13],
+"include_2network_8php.html#a897e7112d86eb95526cbd0bff9375f02":[6,0,0,54,18],
+"include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0":[6,0,0,54,8],
+"include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc":[6,0,0,54,24],
+"include_2network_8php.html#a984708e60d531b31b2d1f88b5f408f7b":[6,0,0,54,25],
+"include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff":[6,0,0,54,21],
+"include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6":[6,0,0,54,22],
+"include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37":[6,0,0,54,23],
+"include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7":[6,0,0,54,2],
+"include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694":[6,0,0,54,0],
+"include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070":[6,0,0,54,17],
+"include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246":[6,0,0,54,3],
+"include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f":[6,0,0,54,15],
+"include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7":[6,0,0,54,1],
+"include_2notify_8php.html":[6,0,0,56],
+"include_2notify_8php.html#a0e61728e487df50c72e6434f911a57d3":[6,0,0,56,0],
+"include_2oembed_8php.html":[6,0,0,58],
+"include_2oembed_8php.html#a000a62b97113cf95b0e9e00412168172":[6,0,0,58,5],
+"include_2oembed_8php.html#a00c4c80deffd9daf8dc97b58d4c64ed0":[6,0,0,58,7],
+"include_2oembed_8php.html#a03fa3b7832c98a3d0b4630afeb73d487":[6,0,0,58,1],
+"include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3":[6,0,0,58,4],
+"include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2":[6,0,0,58,3],
+"include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a":[6,0,0,58,6],
+"include_2oembed_8php.html#ab953a6e7c11bc6498ce01ed73e2ba319":[6,0,0,58,0],
+"include_2oembed_8php.html#aba89ae64b355efcb4f706553d3edb6a2":[6,0,0,58,2],
+"include_2photos_8php.html":[6,0,0,63],
+"include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109":[6,0,0,63,0],
+"include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe":[6,0,0,63,2],
+"include_2photos_8php.html#a8e8b7be99e24c2497bc2cb3339280c35":[6,0,0,63,1],
+"include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51":[6,0,0,63,7],
+"include_2photos_8php.html#ab0365f25b22ccea5f085fe7c49e1f4ab":[6,0,0,63,3],
+"include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274":[6,0,0,63,6],
+"include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9":[6,0,0,63,5],
+"include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979":[6,0,0,63,4],
+"include_2probe_8php.html":[6,0,0,66],
+"include_2probe_8php.html#a12ea7a0def2f0e07242b5c9ac684e01a":[6,0,0,66,3],
+"include_2probe_8php.html#a2b4ac769508f7cfc17fee130279b9cb7":[6,0,0,66,4],
+"include_2probe_8php.html#a2daa857942aceca01f956016dbbd139c":[6,0,0,66,1],
+"include_2probe_8php.html#a3c02c7a23e8335a79c3c0f5331d11a85":[6,0,0,66,8],
+"include_2probe_8php.html#a471851151d8cd7fbb79703e9522eeea8":[6,0,0,66,0],
+"include_2probe_8php.html#a950a200372393f706851103cd3fffcba":[6,0,0,66,6],
+"include_2probe_8php.html#a9b5eca1e01e52b3e65d64db0c92181e0":[6,0,0,66,2],
+"include_2probe_8php.html#aa748dc73a6686c13826b1ee9d16c800d":[6,0,0,66,7],
+"include_2probe_8php.html#ab19a52326b27607a0fb8191cc75ba481":[6,0,0,66,5],
"index.html":[],
-"interfaceITemplateEngine.html":[5,0,19],
-"interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243":[5,0,19,1],
-"interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442":[5,0,19,0],
-"invite_8php.html":[6,0,1,46],
-"invite_8php.html#a244385b28cfd021d308715f01158bfd9":[6,0,1,46,0],
-"invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5":[6,0,1,46,1],
-"item_8php.html":[6,0,1,47],
-"item_8php.html#a3daae7944f737bd30412a0d042207c0f":[6,0,1,47,0],
-"item_8php.html#a5b1b36cb301a94b38150074f0d424e74":[6,0,1,47,3],
-"item_8php.html#a693cd09805755ab85bbb5ecae69a48c3":[6,0,1,47,5],
-"item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221":[6,0,1,47,4],
-"item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10":[6,0,1,47,1],
-"item_8php.html#aa22feef4de326e1d7078dedd892e615c":[6,0,1,47,2],
-"items_8php.html":[6,0,0,48],
-"items_8php.html#a004e89d86b0f29b2c4da20108ecc4091":[6,0,0,48,72],
-"items_8php.html#a016dd86c827d08db89061ea81d15c6cb":[6,0,0,48,3],
-"items_8php.html#a02ca33c31ed535d24894f8a9a91ce9df":[6,0,0,48,42],
-"items_8php.html#a04a35b610acfe54434df08adec39c0c7":[6,0,0,48,30],
-"items_8php.html#a0790a4550b829e85504af548623002ca":[6,0,0,48,9],
-"items_8php.html#a079e099e15d88d47aeb6ca6d60da7107":[6,0,0,48,35],
-"items_8php.html#a09d425596b9f8663472cf7474ad36d96":[6,0,0,48,44],
-"items_8php.html#a0cf98bb619f07dd18f602683a55a5f59":[6,0,0,48,27],
-"items_8php.html#a1e75047cf175aaee8dd16aa761913ff9":[6,0,0,48,5],
-"items_8php.html#a251343637ff40a50cca93452cd530c26":[6,0,0,48,34],
-"items_8php.html#a25221826fa4621f523c68483e3b6af26":[6,0,0,48,64],
-"items_8php.html#a2541e6861a56d145c9281877cc501615":[6,0,0,48,47],
-"items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6":[6,0,0,48,4],
-"items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6":[6,0,0,48,71],
-"items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc":[6,0,0,48,38],
-"items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7":[6,0,0,48,22],
-"items_8php.html#a36e656667193c83aa2cc03a024fc131b":[6,0,0,48,0],
-"items_8php.html#a37f79991f36811cf847446ff60e8e11f":[6,0,0,48,40],
-"items_8php.html#a410f9c743877c125ca06312373346903":[6,0,0,48,54],
-"items_8php.html#a49905ea75adfe8a2d110be344d18d6a6":[6,0,0,48,56],
-"items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b":[6,0,0,48,59],
-"items_8php.html#a52c24114b73c0bdb605a03cd29712223":[6,0,0,48,36],
-"items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361":[6,0,0,48,32],
-"items_8php.html#a555762e1022a4b8e3c3abd32e7812408":[6,0,0,48,16],
-"items_8php.html#a566c601726697e044e75284af7fb6f17":[6,0,0,48,21],
-"items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86":[6,0,0,48,18],
-"items_8php.html#a56b2a4abcadfac71175cd50555528cc3":[6,0,0,48,14],
-"items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1":[6,0,0,48,29],
-"items_8php.html#a5ed782ff5b9cf050bec931e06de12c00":[6,0,0,48,46],
-"items_8php.html#a5f690fc2484abec07840b4f9dd525bd9":[6,0,0,48,19],
-"items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7":[6,0,0,48,45],
-"items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55":[6,0,0,48,17],
-"items_8php.html#a6bee35961f2e32905f20367a9309d627":[6,0,0,48,39],
-"items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc":[6,0,0,48,43],
-"items_8php.html#a756738301f2ed96be50232500677d58a":[6,0,0,48,49],
-"items_8php.html#a77051724d1784074ff187e73a4db93fe":[6,0,0,48,37],
-"items_8php.html#a772f0ae77ad77c8ab68ed918a3870946":[6,0,0,48,7],
-"items_8php.html#a77da7ce9a117601d49ac4a67c71b514f":[6,0,0,48,52],
-"items_8php.html#a78a60e39f6991bd3324a24dcbf9dac5a":[6,0,0,48,60],
-"items_8php.html#a81565acf729e629e588d823308448e3c":[6,0,0,48,1],
-"items_8php.html#a83a349062945d585edb4b3c5d763ab6e":[6,0,0,48,57],
-"items_8php.html#a8675e62674de6fb7c42e4a408c7116cc":[6,0,0,48,53],
-"items_8php.html#a87ac9e359591721a824ecd23bbb56296":[6,0,0,48,6],
-"items_8php.html#a88c6cf7649ac836fbbed82a7a0315110":[6,0,0,48,67],
-"items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a":[6,0,0,48,26],
-"items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8":[6,0,0,48,12],
-"items_8php.html#a94ddb1d6c8fa21dd7433677e85168037":[6,0,0,48,33],
-"items_8php.html#a9b449eeae50003414b8b30ca927af434":[6,0,0,48,70],
-"items_8php.html#aa2d3caa2f27720762b5c729e07df40fb":[6,0,0,48,51],
-"items_8php.html#aa371905f0a211b307cb3f7188c6cba04":[6,0,0,48,68],
-"items_8php.html#aa579bc4445d60098b1410961ca8e96b7":[6,0,0,48,11],
-"items_8php.html#aa723c0571e314a1853a24c5854b4f54f":[6,0,0,48,23],
-"items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee":[6,0,0,48,10],
-"items_8php.html#aab9c6bae4c40799867596bdaae9829fd":[6,0,0,48,31],
-"items_8php.html#aab9e0c58247427126de0699c729c3b6c":[6,0,0,48,62],
-"items_8php.html#aabfaa193b83154c2a81e91284e5d5e59":[6,0,0,48,69],
-"items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb":[6,0,0,48,15],
-"items_8php.html#ab1bce4261bcf75ad62753b498a144d17":[6,0,0,48,65],
-"items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87":[6,0,0,48,28],
-"items_8php.html#abeb7886cde44d9a83dbaf2bc4ab18723":[6,0,0,48,8],
-"items_8php.html#abf7a1b73eb352d79acd36309b0dababd":[6,0,0,48,2],
-"items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a":[6,0,0,48,20],
-"items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484":[6,0,0,48,48],
-"items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0":[6,0,0,48,55],
-"items_8php.html#ad34827ed330898456783fb14c7b46154":[6,0,0,48,66],
-"items_8php.html#ad4ee16e3ff1eaf60428c61f82ba25e6a":[6,0,0,48,58],
-"items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6":[6,0,0,48,13],
-"items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2":[6,0,0,48,63],
-"items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9":[6,0,0,48,25],
-"items_8php.html#ae73794179b62d39bb597ff670ab1c1e5":[6,0,0,48,41],
-"items_8php.html#af6237605c60d69abdd959ddbbee3420c":[6,0,0,48,61],
-"items_8php.html#af94c281016c6c912d06e064113336c5c":[6,0,0,48,50],
-"items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67":[6,0,0,48,24],
-"lang_8php.html":[6,0,1,48],
-"lang_8php.html#a4c5c1140f51a638f224275cd618c2f37":[6,0,1,48,0],
-"language_8php.html":[6,0,0,49],
-"language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0":[6,0,0,49,7],
-"language_8php.html#a43e6ddba9df019c9ac3ab4c94c444ae7":[6,0,0,49,3],
-"language_8php.html#a632da17c7ac0d2dc1a00a4706870194b":[6,0,0,49,0],
-"language_8php.html#a686bcafa6b0d5c86d37b38a1db5b6997":[6,0,0,49,9],
-"language_8php.html#a78bd204955ec4cc3a9ac651285a1689d":[6,0,0,49,5],
-"language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05":[6,0,0,49,4],
-"language_8php.html#a980dee1d8715a98ab02e36b59facf8ed":[6,0,0,49,1],
-"language_8php.html#ac6ae482ee54fa2764d5c2e77305aeb96":[6,0,0,49,8],
-"language_8php.html#ac9142ef1d01a235c760deb0f16643f5a":[6,0,0,49,6],
-"language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e":[6,0,0,49,2],
-"layouts_8php.html":[6,0,1,49],
-"layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50":[6,0,1,49,0],
-"like_8php.html":[6,0,1,50],
-"like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538":[6,0,1,50,0],
-"lockview_8php.html":[6,0,1,51],
-"lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44":[6,0,1,51,0],
-"locs_8php.html":[6,0,1,52],
-"locs_8php.html#a6b43654592919ac863d67a1f787a69b9":[6,0,1,52,0],
-"login_8php.html":[6,0,1,53],
-"login_8php.html#a1d69ca88eb9005a7026e128b9a645904":[6,0,1,53,0],
-"lostpass_8php.html":[6,0,1,54],
-"lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3":[6,0,1,54,0],
-"lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc":[6,0,1,54,1],
-"magic_8php.html":[6,0,1,55],
-"magic_8php.html#acea2cc792849ca2d71d4b689f66518bf":[6,0,1,55,0],
-"mail_8php.html":[6,0,1,56],
-"mail_8php.html#a3c7c485fc69f92371e8b20936040eca1":[6,0,1,56,0],
-"mail_8php.html#acfc2cc0bf4e0b178207758384977f25a":[6,0,1,56,1],
-"manage_8php.html":[6,0,1,57],
-"manage_8php.html#a2bca247b5296827638959138367db4f5":[6,0,1,57,0],
-"match_8php.html":[6,0,1,58],
-"match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d":[6,0,1,58,0],
+"interfaceITemplateEngine.html":[5,0,20],
+"interfaceITemplateEngine.html#aaa7381c8becc3d1c1790b53988a0f243":[5,0,20,1],
+"interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442":[5,0,20,0],
+"invite_8php.html":[6,0,1,45],
+"invite_8php.html#a244385b28cfd021d308715f01158bfd9":[6,0,1,45,0],
+"invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5":[6,0,1,45,1],
+"item_8php.html":[6,0,1,46],
+"item_8php.html#a3daae7944f737bd30412a0d042207c0f":[6,0,1,46,0],
+"item_8php.html#a5b1b36cb301a94b38150074f0d424e74":[6,0,1,46,2],
+"item_8php.html#a693cd09805755ab85bbb5ecae69a48c3":[6,0,1,46,4],
+"item_8php.html#a764bbb2e9a885a86fb23d0b5e4a09221":[6,0,1,46,3],
+"item_8php.html#a7b63a9d0cd02096e17dcf11f4afa7c10":[6,0,1,46,1],
+"items_8php.html":[6,0,0,49],
+"items_8php.html#a016dd86c827d08db89061ea81d15c6cb":[6,0,0,49,3],
+"items_8php.html#a02ca33c31ed535d24894f8a9a91ce9df":[6,0,0,49,42],
+"items_8php.html#a04a35b610acfe54434df08adec39c0c7":[6,0,0,49,30],
+"items_8php.html#a0790a4550b829e85504af548623002ca":[6,0,0,49,9],
+"items_8php.html#a079e099e15d88d47aeb6ca6d60da7107":[6,0,0,49,35],
+"items_8php.html#a09d425596b9f8663472cf7474ad36d96":[6,0,0,49,44],
+"items_8php.html#a0cf98bb619f07dd18f602683a55a5f59":[6,0,0,49,27],
+"items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92":[6,0,0,49,72],
+"items_8php.html#a1e75047cf175aaee8dd16aa761913ff9":[6,0,0,49,5],
+"items_8php.html#a251343637ff40a50cca93452cd530c26":[6,0,0,49,34],
+"items_8php.html#a25221826fa4621f523c68483e3b6af26":[6,0,0,49,64],
+"items_8php.html#a2541e6861a56d145c9281877cc501615":[6,0,0,49,47],
+"items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6":[6,0,0,49,4],
+"items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6":[6,0,0,49,71],
+"items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc":[6,0,0,49,38],
+"items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7":[6,0,0,49,22],
+"items_8php.html#a36e656667193c83aa2cc03a024fc131b":[6,0,0,49,0],
+"items_8php.html#a37f79991f36811cf847446ff60e8e11f":[6,0,0,49,40],
+"items_8php.html#a410f9c743877c125ca06312373346903":[6,0,0,49,54],
+"items_8php.html#a49905ea75adfe8a2d110be344d18d6a6":[6,0,0,49,56],
+"items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b":[6,0,0,49,59],
+"items_8php.html#a52c24114b73c0bdb605a03cd29712223":[6,0,0,49,36],
+"items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361":[6,0,0,49,32],
+"items_8php.html#a555762e1022a4b8e3c3abd32e7812408":[6,0,0,49,16],
+"items_8php.html#a566c601726697e044e75284af7fb6f17":[6,0,0,49,21],
+"items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86":[6,0,0,49,18],
+"items_8php.html#a56b2a4abcadfac71175cd50555528cc3":[6,0,0,49,14],
+"items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1":[6,0,0,49,29],
+"items_8php.html#a5ed782ff5b9cf050bec931e06de12c00":[6,0,0,49,46],
+"items_8php.html#a5f690fc2484abec07840b4f9dd525bd9":[6,0,0,49,19],
+"items_8php.html#a649dc3e53ed794d0ead4b5d037f8d8d7":[6,0,0,49,45],
+"items_8php.html#a668ece2c37f05cc3abe538eb0dabfe55":[6,0,0,49,17],
+"items_8php.html#a6bee35961f2e32905f20367a9309d627":[6,0,0,49,39],
+"items_8php.html#a6f7e1334af5d684a987fa6a3eb37f4cc":[6,0,0,49,43],
+"items_8php.html#a756738301f2ed96be50232500677d58a":[6,0,0,49,49],
+"items_8php.html#a77051724d1784074ff187e73a4db93fe":[6,0,0,49,37],
+"items_8php.html#a772f0ae77ad77c8ab68ed918a3870946":[6,0,0,49,7],
+"items_8php.html#a77da7ce9a117601d49ac4a67c71b514f":[6,0,0,49,52],
+"items_8php.html#a78a60e39f6991bd3324a24dcbf9dac5a":[6,0,0,49,60],
+"items_8php.html#a81565acf729e629e588d823308448e3c":[6,0,0,49,1],
+"items_8php.html#a83a349062945d585edb4b3c5d763ab6e":[6,0,0,49,57],
+"items_8php.html#a8675e62674de6fb7c42e4a408c7116cc":[6,0,0,49,53],
+"items_8php.html#a87ac9e359591721a824ecd23bbb56296":[6,0,0,49,6],
+"items_8php.html#a88c6cf7649ac836fbbed82a7a0315110":[6,0,0,49,67],
+"items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a":[6,0,0,49,26],
+"items_8php.html#a8f3c85c584ccd2b98c3ca440e45b40f8":[6,0,0,49,12],
+"items_8php.html#a94ddb1d6c8fa21dd7433677e85168037":[6,0,0,49,33],
+"items_8php.html#a9b449eeae50003414b8b30ca927af434":[6,0,0,49,70],
+"items_8php.html#aa371905f0a211b307cb3f7188c6cba04":[6,0,0,49,68],
+"items_8php.html#aa579bc4445d60098b1410961ca8e96b7":[6,0,0,49,11],
+"items_8php.html#aa723c0571e314a1853a24c5854b4f54f":[6,0,0,49,23],
+"items_8php.html#aa9e99613d38a97b39c8cf5449699c2ee":[6,0,0,49,10],
+"items_8php.html#aab9c6bae4c40799867596bdaae9829fd":[6,0,0,49,31],
+"items_8php.html#aab9e0c58247427126de0699c729c3b6c":[6,0,0,49,62],
+"items_8php.html#aabfaa193b83154c2a81e91284e5d5e59":[6,0,0,49,69],
+"items_8php.html#aac8c9eb4338e2a996c43914392c6cfdb":[6,0,0,49,15],
+"items_8php.html#ab1bce4261bcf75ad62753b498a144d17":[6,0,0,49,65],
+"items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00":[6,0,0,49,51],
+"items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87":[6,0,0,49,28],
+"items_8php.html#abeb7886cde44d9a83dbaf2bc4ab18723":[6,0,0,49,8],
+"items_8php.html#abf7a1b73eb352d79acd36309b0dababd":[6,0,0,49,2],
+"items_8php.html#ac6673627d289ee4f547de0fe3b7acd0a":[6,0,0,49,20],
+"items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484":[6,0,0,49,48],
+"items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0":[6,0,0,49,55],
+"items_8php.html#ad34827ed330898456783fb14c7b46154":[6,0,0,49,66],
+"items_8php.html#ad4ee16e3ff1eaf60428c61f82ba25e6a":[6,0,0,49,58],
+"items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6":[6,0,0,49,13],
+"items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2":[6,0,0,49,63],
+"items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9":[6,0,0,49,25],
+"items_8php.html#ae73794179b62d39bb597ff670ab1c1e5":[6,0,0,49,41],
+"items_8php.html#af6237605c60d69abdd959ddbbee3420c":[6,0,0,49,61],
+"items_8php.html#af94c281016c6c912d06e064113336c5c":[6,0,0,49,50],
+"items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67":[6,0,0,49,24],
+"lang_8php.html":[6,0,1,47],
+"lang_8php.html#a4c5c1140f51a638f224275cd618c2f37":[6,0,1,47,0],
+"language_8php.html":[6,0,0,50],
+"language_8php.html#a151e5b4689aef86a12642cbb7a00bfe0":[6,0,0,50,7],
+"language_8php.html#a43e6ddba9df019c9ac3ab4c94c444ae7":[6,0,0,50,3],
+"language_8php.html#a632da17c7ac0d2dc1a00a4706870194b":[6,0,0,50,0],
+"language_8php.html#a686bcafa6b0d5c86d37b38a1db5b6997":[6,0,0,50,9],
+"language_8php.html#a78bd204955ec4cc3a9ac651285a1689d":[6,0,0,50,5],
+"language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05":[6,0,0,50,4],
+"language_8php.html#a980dee1d8715a98ab02e36b59facf8ed":[6,0,0,50,1],
+"language_8php.html#ac6ae482ee54fa2764d5c2e77305aeb96":[6,0,0,50,8],
+"language_8php.html#ac9142ef1d01a235c760deb0f16643f5a":[6,0,0,50,6],
+"language_8php.html#ace67d6cad57da08d030ad9dc9b8c836e":[6,0,0,50,2],
+"layouts_8php.html":[6,0,1,48],
+"layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa":[6,0,1,48,1],
+"layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50":[6,0,1,48,0],
+"like_8php.html":[6,0,1,49],
+"like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538":[6,0,1,49,0],
+"lockview_8php.html":[6,0,1,50],
+"lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44":[6,0,1,50,0],
+"locs_8php.html":[6,0,1,51],
+"locs_8php.html#a6b43654592919ac863d67a1f787a69b9":[6,0,1,51,1],
+"locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44":[6,0,1,51,0],
+"login_8php.html":[6,0,1,52],
+"login_8php.html#a1d69ca88eb9005a7026e128b9a645904":[6,0,1,52,0],
+"lostpass_8php.html":[6,0,1,53],
+"lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3":[6,0,1,53,0],
+"lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc":[6,0,1,53,1],
+"magic_8php.html":[6,0,1,54],
+"magic_8php.html#acea2cc792849ca2d71d4b689f66518bf":[6,0,1,54,0],
+"mail_8php.html":[6,0,1,55],
+"mail_8php.html#a3c7c485fc69f92371e8b20936040eca1":[6,0,1,55,0],
+"mail_8php.html#acfc2cc0bf4e0b178207758384977f25a":[6,0,1,55,1],
+"manage_8php.html":[6,0,1,56],
+"manage_8php.html#a2bca247b5296827638959138367db4f5":[6,0,1,56,0],
+"match_8php.html":[6,0,1,57],
+"match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d":[6,0,1,57,0],
"md_README.html":[2],
"md_config.html":[0],
"md_fresh.html":[1],
@@ -172,82 +247,7 @@ var NAVTREEINDEX6 =
"minimalisticdarkness_8php.html#a6e5d97615c6faef5dbffe04b8024ceaf":[6,0,3,1,0,2,4,0],
"minimalisticdarkness_8php.html#a70bb13be8f23ec47839da81e0796f1cb":[6,0,3,1,0,2,4,2],
"minimalisticdarkness_8php.html#a7e6c3d4efde4e9a2de32308081372c6b":[6,0,3,1,0,2,4,1],
-"mitem_8php.html":[6,0,1,61],
-"mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1":[6,0,1,61,2],
-"mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e":[6,0,1,61,0],
-"mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518":[6,0,1,61,1],
-"mod_2api_8php.html":[6,0,1,4],
-"mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117":[6,0,1,4,2],
-"mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d":[6,0,1,4,0],
-"mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2":[6,0,1,4,1],
-"mod_2apps_8php.html":[6,0,1,6],
-"mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c":[6,0,1,6,0],
-"mod_2attach_8php.html":[6,0,1,7],
-"mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1":[6,0,1,7,0],
-"mod_2bookmarks_8php.html":[6,0,1,10],
-"mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3":[6,0,1,10,1],
-"mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a":[6,0,1,10,0],
-"mod_2chat_8php.html":[6,0,1,13],
-"mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f":[6,0,1,13,0],
-"mod_2chat_8php.html#a999d594745597c656c9760253ae297ad":[6,0,1,13,2],
-"mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e":[6,0,1,13,1],
-"mod_2directory_8php.html":[6,0,1,22],
-"mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf":[6,0,1,22,1],
-"mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44":[6,0,1,22,0],
-"mod_2follow_8php.html":[6,0,1,36],
-"mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a":[6,0,1,36,1],
-"mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592":[6,0,1,36,0],
-"mod_2group_8php.html":[6,0,1,38],
-"mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83":[6,0,1,38,0],
-"mod_2group_8php.html#aed1f009b1221348021bb34761160ef35":[6,0,1,38,1],
-"mod_2menu_8php.html":[6,0,1,59],
-"mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf":[6,0,1,59,0],
-"mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393":[6,0,1,59,1],
-"mod_2message_8php.html":[6,0,1,60],
-"mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f":[6,0,1,60,0],
-"mod_2network_8php.html":[6,0,1,65],
-"mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec":[6,0,1,65,1],
-"mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4":[6,0,1,65,0],
-"mod_2notify_8php.html":[6,0,1,69],
-"mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae":[6,0,1,69,1],
-"mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3":[6,0,1,69,0],
-"mod_2oembed_8php.html":[6,0,1,70],
-"mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014":[6,0,1,70,0],
-"mod_2photos_8php.html":[6,0,1,80],
-"mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080":[6,0,1,80,2],
-"mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812":[6,0,1,80,0],
-"mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014":[6,0,1,80,1],
-"mod_2probe_8php.html":[6,0,1,88],
-"mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99":[6,0,1,88,0],
-"mod__chanview_8php.html":[6,0,3,1,0,0,0],
-"mod__import_8php.html":[6,0,3,0,4],
-"mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb":[6,0,3,0,4,0],
-"mood_8php.html":[6,0,1,62],
-"mood_8php.html#a721b9b6703b3234a005641c92d409b8f":[6,0,1,62,0],
-"mood_8php.html#a7ae136dd7476865b4828136175db5022":[6,0,1,62,1],
-"msearch_8php.html":[6,0,1,63],
-"msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8":[6,0,1,63,0],
-"mytheme_2php_2style_8php.html":[6,0,3,1,3,0,1],
-"mytheme_2php_2theme_8php.html":[6,0,3,1,3,0,2],
-"mytheme_2php_2theme_8php.html#a6ce5df8ece6acc09c1fddaccbeb244e8":[6,0,3,1,3,0,2,0],
-"namespaceFriendica.html":[5,0,1],
-"namespaceFriendica.html":[4,0,1],
-"namespaceRedMatrix.html":[5,0,3],
-"namespaceRedMatrix.html":[4,0,3],
-"namespaceRedMatrix_1_1RedDAV.html":[4,0,3,0],
-"namespaceRedMatrix_1_1RedDAV.html":[5,0,3,0],
-"namespaceacl__selectors.html":[5,0,0],
-"namespaceacl__selectors.html":[4,0,0],
-"namespacefriendica-to-smarty-tpl.html":[4,0,2],
-"namespacefriendica-to-smarty-tpl.html":[5,0,2],
-"namespacemembers.html":[4,1,0],
-"namespacemembers_func.html":[4,1,1],
-"namespacemembers_vars.html":[4,1,2],
-"namespaces.html":[4,0],
-"namespaceupdatetpl.html":[5,0,4],
-"namespaceupdatetpl.html":[4,0,4],
-"namespaceutil.html":[4,0,5],
-"namespaceutil.html":[5,0,5],
-"nav_8php.html":[6,0,0,52],
-"nav_8php.html#a43be0df73b90647ea70947ce004e231e":[6,0,0,52,0]
+"mitem_8php.html":[6,0,1,60],
+"mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1":[6,0,1,60,2],
+"mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e":[6,0,1,60,0]
};
diff --git a/doc/html/navtreeindex7.js b/doc/html/navtreeindex7.js
index 0ffba9f84..40bdd34ca 100644
--- a/doc/html/navtreeindex7.js
+++ b/doc/html/navtreeindex7.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX7 =
{
-"nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a":[6,0,0,52,1],
-"netgrowth_8php.html":[6,0,1,64],
-"netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919":[6,0,1,64,0],
-"new__channel_8php.html":[6,0,1,66],
-"new__channel_8php.html#a180b0646957db8290482f02454ad7f23":[6,0,1,66,2],
-"new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164":[6,0,1,66,1],
-"new__channel_8php.html#ae585191610f79da129492482ce8e2fee":[6,0,1,66,0],
+"mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518":[6,0,1,60,1],
+"mod_2api_8php.html":[6,0,1,4],
+"mod_2api_8php.html#a02ae0f60e240dc806b860edb7d582117":[6,0,1,4,2],
+"mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d":[6,0,1,4,0],
+"mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2":[6,0,1,4,1],
+"mod_2apps_8php.html":[6,0,1,6],
+"mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c":[6,0,1,6,0],
+"mod_2attach_8php.html":[6,0,1,7],
+"mod_2attach_8php.html#aa88eb5ad87aa1036a30e70339cc6c1b1":[6,0,1,7,0],
+"mod_2bookmarks_8php.html":[6,0,1,10],
+"mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3":[6,0,1,10,1],
+"mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a":[6,0,1,10,0],
+"mod_2chat_8php.html":[6,0,1,13],
+"mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f":[6,0,1,13,0],
+"mod_2chat_8php.html#a999d594745597c656c9760253ae297ad":[6,0,1,13,2],
+"mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e":[6,0,1,13,1],
+"mod_2directory_8php.html":[6,0,1,22],
+"mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf":[6,0,1,22,1],
+"mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44":[6,0,1,22,0],
+"mod_2follow_8php.html":[6,0,1,35],
+"mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a":[6,0,1,35,1],
+"mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592":[6,0,1,35,0],
+"mod_2group_8php.html":[6,0,1,37],
+"mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83":[6,0,1,37,0],
+"mod_2group_8php.html#aed1f009b1221348021bb34761160ef35":[6,0,1,37,1],
+"mod_2menu_8php.html":[6,0,1,58],
+"mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf":[6,0,1,58,0],
+"mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393":[6,0,1,58,1],
+"mod_2message_8php.html":[6,0,1,59],
+"mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f":[6,0,1,59,0],
+"mod_2network_8php.html":[6,0,1,64],
+"mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec":[6,0,1,64,1],
+"mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4":[6,0,1,64,0],
+"mod_2notify_8php.html":[6,0,1,68],
+"mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae":[6,0,1,68,1],
+"mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3":[6,0,1,68,0],
+"mod_2oembed_8php.html":[6,0,1,69],
+"mod_2oembed_8php.html#a9145025aaf057fb5d3f9f7011e5e1014":[6,0,1,69,0],
+"mod_2photos_8php.html":[6,0,1,79],
+"mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080":[6,0,1,79,2],
+"mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812":[6,0,1,79,0],
+"mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014":[6,0,1,79,1],
+"mod_2probe_8php.html":[6,0,1,87],
+"mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99":[6,0,1,87,0],
+"mod__chanview_8php.html":[6,0,3,1,0,0,0],
+"mod__import_8php.html":[6,0,3,0,4],
+"mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb":[6,0,3,0,4,0],
+"mood_8php.html":[6,0,1,61],
+"mood_8php.html#a721b9b6703b3234a005641c92d409b8f":[6,0,1,61,0],
+"mood_8php.html#a7ae136dd7476865b4828136175db5022":[6,0,1,61,1],
+"msearch_8php.html":[6,0,1,62],
+"msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8":[6,0,1,62,0],
+"mytheme_2php_2style_8php.html":[6,0,3,1,2,0,1],
+"mytheme_2php_2theme_8php.html":[6,0,3,1,2,0,2],
+"mytheme_2php_2theme_8php.html#a6ce5df8ece6acc09c1fddaccbeb244e8":[6,0,3,1,2,0,2,0],
+"namespaceFriendica.html":[5,0,1],
+"namespaceFriendica.html":[4,0,1],
+"namespaceRedMatrix.html":[4,0,3],
+"namespaceRedMatrix.html":[5,0,3],
+"namespaceRedMatrix_1_1Import.html":[5,0,3,0],
+"namespaceRedMatrix_1_1Import.html":[4,0,3,0],
+"namespaceRedMatrix_1_1RedDAV.html":[5,0,3,1],
+"namespaceRedMatrix_1_1RedDAV.html":[4,0,3,1],
+"namespaceacl__selectors.html":[4,0,0],
+"namespaceacl__selectors.html":[5,0,0],
+"namespacefriendica-to-smarty-tpl.html":[4,0,2],
+"namespacefriendica-to-smarty-tpl.html":[5,0,2],
+"namespacemembers.html":[4,1,0],
+"namespacemembers_func.html":[4,1,1],
+"namespacemembers_vars.html":[4,1,2],
+"namespaces.html":[4,0],
+"namespaceupdatetpl.html":[5,0,4],
+"namespaceupdatetpl.html":[4,0,4],
+"namespaceutil.html":[5,0,5],
+"namespaceutil.html":[4,0,5],
+"nav_8php.html":[6,0,0,53],
+"nav_8php.html#a43be0df73b90647ea70947ce004e231e":[6,0,0,53,0],
+"nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a":[6,0,0,53,1],
+"netgrowth_8php.html":[6,0,1,63],
+"netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919":[6,0,1,63,0],
+"new__channel_8php.html":[6,0,1,65],
+"new__channel_8php.html#a180b0646957db8290482f02454ad7f23":[6,0,1,65,2],
+"new__channel_8php.html#a1ad7f99e4366a32942c6b954aba3a164":[6,0,1,65,1],
+"new__channel_8php.html#ae585191610f79da129492482ce8e2fee":[6,0,1,65,0],
"none_8php.html":[6,0,3,0,5],
-"notes_8php.html":[6,0,1,67],
-"notes_8php.html#a4dbd7b1f906440746af48b484d66535a":[6,0,1,67,0],
-"notifications_8php.html":[6,0,1,68],
-"notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33":[6,0,1,68,1],
-"notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62":[6,0,1,68,0],
-"notifier_8php.html":[6,0,0,54],
-"notifier_8php.html#a568c502f626cff95e344c0748938b85d":[6,0,0,54,0],
-"notred_8php.html":[6,0,3,1,4,1,3],
-"oauth_8php.html":[6,0,0,56],
-"oauth_8php.html#a7a32a5990f113ac9465b03b29175cf16":[6,0,0,56,3],
-"oauth_8php.html#ad343cab37aa860d2d14dc86b7f5ca0c6":[6,0,0,56,2],
-"oexchange_8php.html":[6,0,1,71],
-"oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26":[6,0,1,71,0],
-"oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59":[6,0,1,71,1],
+"notes_8php.html":[6,0,1,66],
+"notes_8php.html#a4dbd7b1f906440746af48b484d66535a":[6,0,1,66,0],
+"notifications_8php.html":[6,0,1,67],
+"notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33":[6,0,1,67,1],
+"notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62":[6,0,1,67,0],
+"notifier_8php.html":[6,0,0,55],
+"notifier_8php.html#a568c502f626cff95e344c0748938b85d":[6,0,0,55,0],
+"notred_8php.html":[6,0,3,1,3,1,3],
+"oauth_8php.html":[6,0,0,57],
+"oauth_8php.html#a7a32a5990f113ac9465b03b29175cf16":[6,0,0,57,3],
+"oauth_8php.html#ad343cab37aa860d2d14dc86b7f5ca0c6":[6,0,0,57,2],
+"oexchange_8php.html":[6,0,1,70],
+"oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26":[6,0,1,70,0],
+"oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59":[6,0,1,70,1],
"olddefault_8php.html":[6,0,3,1,0,2,5],
-"onedirsync_8php.html":[6,0,0,58],
-"onedirsync_8php.html#a411aedd47c57476099647961e6a86691":[6,0,0,58,0],
-"onepoll_8php.html":[6,0,0,59],
-"onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d":[6,0,0,59,0],
-"online_8php.html":[6,0,1,72],
-"online_8php.html#a80e107c84eb722b0ca11d0413b96f9f7":[6,0,1,72,0],
-"openid_8php.html":[6,0,1,73],
-"openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43":[6,0,1,73,0],
-"opensearch_8php.html":[6,0,1,74],
-"opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9":[6,0,1,74,0],
-"p_8php.html":[6,0,1,75],
-"p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e":[6,0,1,75,0],
-"page_8php.html":[6,0,1,76],
-"page_8php.html#a4d89800c0366a239191b1692c09635cf":[6,0,1,76,1],
-"page_8php.html#a91a5f649f68406149108bded1dc90b22":[6,0,1,76,0],
-"page__widgets_8php.html":[6,0,0,60],
-"page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f":[6,0,0,60,1],
-"page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2":[6,0,0,60,0],
+"onedirsync_8php.html":[6,0,0,59],
+"onedirsync_8php.html#a411aedd47c57476099647961e6a86691":[6,0,0,59,0],
+"onepoll_8php.html":[6,0,0,60],
+"onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d":[6,0,0,60,0],
+"online_8php.html":[6,0,1,71],
+"online_8php.html#a80e107c84eb722b0ca11d0413b96f9f7":[6,0,1,71,0],
+"openid_8php.html":[6,0,1,72],
+"openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43":[6,0,1,72,0],
+"opensearch_8php.html":[6,0,1,73],
+"opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9":[6,0,1,73,0],
+"p_8php.html":[6,0,1,74],
+"p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e":[6,0,1,74,0],
+"page_8php.html":[6,0,1,75],
+"page_8php.html#a4d89800c0366a239191b1692c09635cf":[6,0,1,75,1],
+"page_8php.html#a91a5f649f68406149108bded1dc90b22":[6,0,1,75,0],
+"page__widgets_8php.html":[6,0,0,61],
+"page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f":[6,0,0,61,1],
+"page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2":[6,0,0,61,0],
"pages.html":[],
-"parse__url_8php.html":[6,0,1,77],
-"parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b":[6,0,1,77,2],
-"parse__url_8php.html#a25635549f2c22955d72465f4d2e58993":[6,0,1,77,3],
-"parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a":[6,0,1,77,1],
-"parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868":[6,0,1,77,0],
+"parse__url_8php.html":[6,0,1,76],
+"parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b":[6,0,1,76,2],
+"parse__url_8php.html#a25635549f2c22955d72465f4d2e58993":[6,0,1,76,3],
+"parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a":[6,0,1,76,1],
+"parse__url_8php.html#aa7dd8f961bea042d62726ed909e4a868":[6,0,1,76,0],
"passion_8php.html":[6,0,3,1,0,2,6],
"passionwide_8php.html":[6,0,3,1,0,2,7],
-"pdledit_8php.html":[6,0,1,78],
-"pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619":[6,0,1,78,0],
-"pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7":[6,0,1,78,1],
-"permissions_8php.html":[6,0,0,61],
-"permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972":[6,0,0,61,2],
-"permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7":[6,0,0,61,0],
-"permissions_8php.html#a50e8099ea8a4d7ed68b2a0a7ea9aa724":[6,0,0,61,5],
-"permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835":[6,0,0,61,4],
-"permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe":[6,0,0,61,3],
-"permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d":[6,0,0,61,6],
-"permissions_8php.html#aeca9b280f3dc3358c89976d81d690008":[6,0,0,61,1],
-"photo_8php.html":[6,0,1,79],
-"photo_8php.html#a582779d24882b0d31ee909a91d70a448":[6,0,1,79,0],
-"photo__driver_8php.html":[6,0,0,1,0],
-"photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a":[6,0,0,1,0,2],
-"photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa":[6,0,0,1,0,1],
-"photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035":[6,0,0,1,0,4],
-"photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887":[6,0,0,1,0,3],
-"photo__gd_8php.html":[6,0,0,1,1],
-"photo__imagick_8php.html":[6,0,0,1,2],
-"php2po_8php.html":[6,0,2,6],
-"php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b":[6,0,2,6,7],
-"php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1":[6,0,2,6,5],
-"php2po_8php.html#a45b05625748f412ec97afcd61cf7980b":[6,0,2,6,6],
-"php2po_8php.html#a48cb304902320d173a4eaa41543327b9":[6,0,2,6,3],
-"php2po_8php.html#a61f8ddeb5557d46ebc546cc355bda214":[6,0,2,6,0],
-"php2po_8php.html#a6b0b8ebd9ce811d1325ef2c129443bc0":[6,0,2,6,1],
-"php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4":[6,0,2,6,4],
-"php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178":[6,0,2,6,2],
+"pdledit_8php.html":[6,0,1,77],
+"pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619":[6,0,1,77,0],
+"pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7":[6,0,1,77,1],
+"permissions_8php.html":[6,0,0,62],
+"permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972":[6,0,0,62,2],
+"permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7":[6,0,0,62,0],
+"permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835":[6,0,0,62,5],
+"permissions_8php.html#a6b239a0d494b92a89ce7bf9c7e588991":[6,0,0,62,4],
+"permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe":[6,0,0,62,3],
+"permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d":[6,0,0,62,6],
+"permissions_8php.html#aeca9b280f3dc3358c89976d81d690008":[6,0,0,62,1],
+"photo_8php.html":[6,0,1,78],
+"photo_8php.html#a582779d24882b0d31ee909a91d70a448":[6,0,1,78,0],
+"photo__driver_8php.html":[6,0,0,2,0],
+"photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a":[6,0,0,2,0,2],
+"photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa":[6,0,0,2,0,1],
+"photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035":[6,0,0,2,0,4],
+"photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887":[6,0,0,2,0,3],
+"photo__gd_8php.html":[6,0,0,2,1],
+"photo__imagick_8php.html":[6,0,0,2,2],
+"php2po_8php.html":[6,0,2,5],
+"php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b":[6,0,2,5,7],
+"php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1":[6,0,2,5,5],
+"php2po_8php.html#a45b05625748f412ec97afcd61cf7980b":[6,0,2,5,6],
+"php2po_8php.html#a48cb304902320d173a4eaa41543327b9":[6,0,2,5,3],
+"php2po_8php.html#a61f8ddeb5557d46ebc546cc355bda214":[6,0,2,5,0],
+"php2po_8php.html#a6b0b8ebd9ce811d1325ef2c129443bc0":[6,0,2,5,1],
+"php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4":[6,0,2,5,4],
+"php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178":[6,0,2,5,2],
"php_2default_8php.html":[6,0,3,0,1],
"php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a":[6,0,3,0,1,0],
"php_2theme__init_8php.html":[6,0,3,0,7],
"php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864":[6,0,3,0,7,0],
-"php_8php.html":[6,0,1,81],
-"php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6":[6,0,1,81,0],
+"php_8php.html":[6,0,1,80],
+"php_8php.html#adb7164dfed9a4ecbe2e168e1e78f12f6":[6,0,1,80,0],
"pine_8php.html":[6,0,3,1,0,2,8],
-"ping_8php.html":[6,0,1,82],
-"ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1":[6,0,1,82,0],
-"plugin_8php.html":[6,0,0,63],
-"plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76":[6,0,0,63,24],
-"plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3":[6,0,0,63,22],
-"plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a":[6,0,0,63,8],
-"plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813":[6,0,0,63,17],
-"plugin_8php.html#a425472c5f3afc137268b2ad45652b209":[6,0,0,63,20],
-"plugin_8php.html#a48047edfbef770125a5508dcc2f9282f":[6,0,0,63,7],
-"plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5":[6,0,0,63,16],
-"plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4":[6,0,0,63,14],
-"plugin_8php.html#a516591850f4fd49fd1425cfa54089db8":[6,0,0,63,9],
-"plugin_8php.html#a56f71fe5adf9586ce950523d8180443e":[6,0,0,63,26],
-"plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1":[6,0,0,63,11],
-"plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2":[6,0,0,63,23],
-"plugin_8php.html#a67ca417634de2d0beffffc54aeb951ff":[6,0,0,63,12],
-"plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4":[6,0,0,63,4],
-"plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c":[6,0,0,63,0],
-"plugin_8php.html#a855c4fdb38c0fc2714d537752a4347f9":[6,0,0,63,19],
-"plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6":[6,0,0,63,1],
-"plugin_8php.html#a90538627db68605aeb6db17a8ead6523":[6,0,0,63,25],
-"plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf":[6,0,0,63,13],
-"plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d":[6,0,0,63,18],
-"plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295":[6,0,0,63,3],
-"plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405":[6,0,0,63,6],
-"plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f":[6,0,0,63,2],
-"plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b":[6,0,0,63,15],
-"plugin_8php.html#af92789f559b89a380e49d303218aeeca":[6,0,0,63,10],
-"plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025":[6,0,0,63,21],
-"plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35":[6,0,0,63,5],
-"po2php_8php.html":[6,0,2,7],
-"po2php_8php.html#a3b75e36f913198299e99559b175cd8b4":[6,0,2,7,0],
-"poco_8php.html":[6,0,1,83],
-"poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498":[6,0,1,83,0],
-"poke_8php.html":[6,0,1,84],
-"poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b":[6,0,1,84,1],
-"poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993":[6,0,1,84,0],
-"poll_8php.html":[6,0,1,85],
-"poll_8php.html#a26be9d4f230cb68f5be326198cfc6c77":[6,0,1,85,2],
-"poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263":[6,0,1,85,0],
-"poll_8php.html#ab9ecd5b71af090a5da9c93f34f7ec930":[6,0,1,85,1],
-"poller_8php.html":[6,0,0,64],
-"poller_8php.html#a5f12df3a4738124b6c039971e87e76da":[6,0,0,64,0],
-"post_8php.html":[6,0,1,86],
-"post_8php.html#af4b48181ce773ef0cdfc972441445c34":[6,0,1,86,0],
-"post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75":[6,0,1,86,1],
-"post__to__red_8php.html":[6,0,2,1,0,0],
-"post__to__red_8php.html#a085c250d4ceff5e4f10052f3d2039823":[6,0,2,1,0,0,16],
-"post__to__red_8php.html#a0f139dea77a94c98f26007963eea639c":[6,0,2,1,0,0,12],
-"post__to__red_8php.html#a3a2af6ad845239f26e86fccabf8639e1":[6,0,2,1,0,0,17],
-"post__to__red_8php.html#a4674bb5ce2baa32c559607460c39a2c5":[6,0,2,1,0,0,3],
-"post__to__red_8php.html#a49fd35f7b1cdddfe6e26ddfcf8d3c4ec":[6,0,2,1,0,0,1],
-"post__to__red_8php.html#a4d90ac085c14f53ff4d8ab4c23477ea6":[6,0,2,1,0,0,9],
-"post__to__red_8php.html#a588cea66afe0b32f27f2713d44940119":[6,0,2,1,0,0,20],
-"post__to__red_8php.html#a5cc2a89a6d33cdb8e2ca557a69bef42d":[6,0,2,1,0,0,2],
-"post__to__red_8php.html#a6210f39392a5f0fa0255cc7d3760493a":[6,0,2,1,0,0,21],
-"post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd":[6,0,2,1,0,0,5],
-"post__to__red_8php.html#a7e68a8d9c83cb28d032aad3ea85ce0a6":[6,0,2,1,0,0,13],
-"post__to__red_8php.html#a8ec8f8809e3c5d1b2c9598c8185d63aa":[6,0,2,1,0,0,4],
-"post__to__red_8php.html#a906be8f72cf1aa2e199c0683ea6a4017":[6,0,2,1,0,0,15],
-"post__to__red_8php.html#a96d0ccecb96600ef1bfd50ab3f77315f":[6,0,2,1,0,0,10],
-"post__to__red_8php.html#a99811555b30bde504a863e44015f2f19":[6,0,2,1,0,0,19],
-"post__to__red_8php.html#aa97aeda12ef080665f16311a4e1eb901":[6,0,2,1,0,0,14],
-"post__to__red_8php.html#aacba7a0646fc00ae6ac4f5dc383fccab":[6,0,2,1,0,0,8],
-"post__to__red_8php.html#ada8a7130088351710bb02ed622d6bf65":[6,0,2,1,0,0,18],
-"post__to__red_8php.html#ae0b881461afbdba93d9329068ea52136":[6,0,2,1,0,0,7],
-"post__to__red_8php.html#ae6f3a2c0561cbeacda5be565b06de8a7":[6,0,2,1,0,0,6],
-"post__to__red_8php.html#aeec4125719184e7b097b3b9fba3101b5":[6,0,2,1,0,0,0],
-"post__to__red_8php.html#af3e7ebd361d4ed7cb6d43209970cd94a":[6,0,2,1,0,0,22],
-"post__to__red_8php.html#af5fd50e2c42ede85f8a9e8d9ee3cf540":[6,0,2,1,0,0,11],
-"pretheme_8php.html":[6,0,1,87],
-"pretheme_8php.html#af5660943ee99db5fd75182316522eafe":[6,0,1,87,0],
-"profile_8php.html":[6,0,1,89],
-"profile_8php.html#a3775cf6eef6587e5143133356a7b76c0":[6,0,1,89,0],
-"profile_8php.html#ab5d0246be0552e2182a585c1206d22a5":[6,0,1,89,1],
-"profile__photo_8php.html":[6,0,1,90],
-"profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02":[6,0,1,90,0],
-"profile__photo_8php.html#a4b80234074bd603221aa5364f330e479":[6,0,1,90,1],
-"profile__photo_8php.html#a561103564199da56e58061a4196eb102":[6,0,1,90,2],
-"profile__selectors_8php.html":[6,0,0,66],
-"profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7":[6,0,0,66,4],
-"profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798":[6,0,0,66,2],
-"profile__selectors_8php.html#a8bfa1ca2d1598a3d65f1f9bb803ca816":[6,0,0,66,1],
-"profile__selectors_8php.html#ab0eae5c0ceba77364469f0f580f0d074":[6,0,0,66,5],
-"profile__selectors_8php.html#adc79715bd2e102b4583fb530749ec534":[6,0,0,66,3],
-"profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355":[6,0,0,66,0],
-"profiles_8php.html":[6,0,1,91],
-"profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e":[6,0,1,91,1],
-"profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00":[6,0,1,91,0],
-"profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04":[6,0,1,91,2],
-"profperm_8php.html":[6,0,1,92],
-"profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6":[6,0,1,92,1],
-"profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023":[6,0,1,92,0],
-"pubsites_8php.html":[6,0,1,93],
-"pubsites_8php.html#af614e279aab54065345bda6b03eafdf0":[6,0,1,93,0],
-"queue_8php.html":[6,0,0,68],
-"queue_8php.html#af8c93de86d866c3200174c8450a0f341":[6,0,0,68,0],
-"queue__fn_8php.html":[6,0,0,69],
-"queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1":[6,0,0,69,1],
-"queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24":[6,0,0,69,0],
-"randprof_8php.html":[6,0,1,94],
-"randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090":[6,0,1,94,0],
-"rbmark_8php.html":[6,0,1,95],
-"rbmark_8php.html#a43fec4960b50926251574762cc491f76":[6,0,1,95,0],
-"rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c":[6,0,1,95,1],
-"receive_8php.html":[6,0,1,96],
-"receive_8php.html#a03d8fa26e77844020ba5602deca7d494":[6,0,1,96,0],
+"ping_8php.html":[6,0,1,81],
+"ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1":[6,0,1,81,0],
+"plugin_8php.html":[6,0,0,64],
+"plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76":[6,0,0,64,24],
+"plugin_8php.html#a0e8c2ea50bfdbc39e17ccccaea21ddc3":[6,0,0,64,22],
+"plugin_8php.html#a23c4fccf1eb5fcd63b24783ba1f05f7a":[6,0,0,64,8],
+"plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813":[6,0,0,64,17],
+"plugin_8php.html#a425472c5f3afc137268b2ad45652b209":[6,0,0,64,20],
+"plugin_8php.html#a48047edfbef770125a5508dcc2f9282f":[6,0,0,64,7],
+"plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5":[6,0,0,64,16],
+"plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4":[6,0,0,64,14],
+"plugin_8php.html#a516591850f4fd49fd1425cfa54089db8":[6,0,0,64,9],
+"plugin_8php.html#a56f71fe5adf9586ce950523d8180443e":[6,0,0,64,26],
+"plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1":[6,0,0,64,11],
+"plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2":[6,0,0,64,23],
+"plugin_8php.html#a67ca417634de2d0beffffc54aeb951ff":[6,0,0,64,12],
+"plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4":[6,0,0,64,4],
+"plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c":[6,0,0,64,0],
+"plugin_8php.html#a855c4fdb38c0fc2714d537752a4347f9":[6,0,0,64,19],
+"plugin_8php.html#a9039e15aae27676af7777dcbee5a11d6":[6,0,0,64,1],
+"plugin_8php.html#a90538627db68605aeb6db17a8ead6523":[6,0,0,64,25],
+"plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf":[6,0,0,64,13],
+"plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d":[6,0,0,64,18],
+"plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295":[6,0,0,64,3],
+"plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405":[6,0,0,64,6],
+"plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f":[6,0,0,64,2],
+"plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b":[6,0,0,64,15],
+"plugin_8php.html#af92789f559b89a380e49d303218aeeca":[6,0,0,64,10],
+"plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025":[6,0,0,64,21],
+"plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35":[6,0,0,64,5],
+"po2php_8php.html":[6,0,2,6],
+"po2php_8php.html#a3b75e36f913198299e99559b175cd8b4":[6,0,2,6,0],
+"po2php_8php.html#a4f3dc9b019d0cd1dc171c54c991ef334":[6,0,2,6,1],
+"poco_8php.html":[6,0,1,82],
+"poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498":[6,0,1,82,0],
+"poke_8php.html":[6,0,1,83],
+"poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b":[6,0,1,83,1],
+"poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993":[6,0,1,83,0],
+"poll_8php.html":[6,0,1,84],
+"poll_8php.html#a26be9d4f230cb68f5be326198cfc6c77":[6,0,1,84,2],
+"poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263":[6,0,1,84,0],
+"poll_8php.html#ab9ecd5b71af090a5da9c93f34f7ec930":[6,0,1,84,1],
+"poller_8php.html":[6,0,0,65],
+"poller_8php.html#a5f12df3a4738124b6c039971e87e76da":[6,0,0,65,0],
+"post_8php.html":[6,0,1,85],
+"post_8php.html#af4b48181ce773ef0cdfc972441445c34":[6,0,1,85,0],
+"post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75":[6,0,1,85,1],
+"pretheme_8php.html":[6,0,1,86],
+"pretheme_8php.html#af5660943ee99db5fd75182316522eafe":[6,0,1,86,0],
+"profile_8php.html":[6,0,1,88],
+"profile_8php.html#a3775cf6eef6587e5143133356a7b76c0":[6,0,1,88,0],
+"profile_8php.html#ab5d0246be0552e2182a585c1206d22a5":[6,0,1,88,1],
+"profile__photo_8php.html":[6,0,1,89],
+"profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02":[6,0,1,89,0],
+"profile__photo_8php.html#a4b80234074bd603221aa5364f330e479":[6,0,1,89,1],
+"profile__photo_8php.html#a561103564199da56e58061a4196eb102":[6,0,1,89,2],
+"profile__selectors_8php.html":[6,0,0,67],
+"profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7":[6,0,0,67,4],
+"profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798":[6,0,0,67,2],
+"profile__selectors_8php.html#a8bfa1ca2d1598a3d65f1f9bb803ca816":[6,0,0,67,1],
+"profile__selectors_8php.html#ab0eae5c0ceba77364469f0f580f0d074":[6,0,0,67,5],
+"profile__selectors_8php.html#adc79715bd2e102b4583fb530749ec534":[6,0,0,67,3],
+"profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355":[6,0,0,67,0],
+"profiles_8php.html":[6,0,1,90],
+"profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e":[6,0,1,90,1],
+"profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00":[6,0,1,90,0],
+"profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04":[6,0,1,90,2],
+"profperm_8php.html":[6,0,1,91],
+"profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6":[6,0,1,91,1],
+"profperm_8php.html#aef015787de2373d9fb3fe3f814fb5023":[6,0,1,91,0],
+"pubsites_8php.html":[6,0,1,92],
+"pubsites_8php.html#af614e279aab54065345bda6b03eafdf0":[6,0,1,92,0],
+"queue_8php.html":[6,0,0,69],
+"queue_8php.html#af8c93de86d866c3200174c8450a0f341":[6,0,0,69,0],
+"queue__fn_8php.html":[6,0,0,70],
+"queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1":[6,0,0,70,1],
+"queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24":[6,0,0,70,0],
+"randprof_8php.html":[6,0,1,93],
+"randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090":[6,0,1,93,0],
+"rbmark_8php.html":[6,0,1,94],
+"rbmark_8php.html#a43fec4960b50926251574762cc491f76":[6,0,1,94,0],
+"rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c":[6,0,1,94,1],
+"receive_8php.html":[6,0,1,95],
+"receive_8php.html#a03d8fa26e77844020ba5602deca7d494":[6,0,1,95,0],
"redable_8php.html":[6,0,3,0,6],
"redable_8php.html#a3987f5547ceb7e36a210a66a06241a5a":[6,0,3,0,6,0],
-"redbasic_2php_2style_8php.html":[6,0,3,1,4,0,1],
-"redbasic_2php_2style_8php.html#a01c151bf47f7da2b979aaa4cb868da4c":[6,0,3,1,4,0,1,0],
-"redbasic_2php_2style_8php.html#ab3afb90d611eca90819f597a2c0bb459":[6,0,3,1,4,0,1,1],
-"redbasic_2php_2theme_8php.html":[6,0,3,1,4,0,2],
-"redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b":[6,0,3,1,4,0,2,0],
-"redbasic_8php.html":[6,0,3,1,0,2,9],
-"reddav_8php.html":[6,0,0,70],
-"reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266":[6,0,0,70,1],
-"reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088":[6,0,0,70,2],
-"reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66":[6,0,0,70,0],
-"register_8php.html":[6,0,1,97],
-"register_8php.html#a0e91f57f111407ea8d3223a05022bb2a":[6,0,1,97,0],
-"register_8php.html#a51731dcc1917c58a790eb1c0f6132271":[6,0,1,97,2],
-"register_8php.html#ae20c0cd40f738d6295de58b9202c83d5":[6,0,1,97,1],
-"regmod_8php.html":[6,0,1,98],
-"regmod_8php.html#a7953df4e32e63946565e90cdd5d50409":[6,0,1,98,0],
-"regver_8php.html":[6,0,1,99],
-"regver_8php.html#ad2c5f644fd1b099abd7c715b7df6f50f":[6,0,1,99,0],
-"removeaccount_8php.html":[6,0,1,100],
-"removeaccount_8php.html#a26a3325292e932c59793430ab737126a":[6,0,1,100,1],
-"removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695":[6,0,1,100,0],
-"removeme_8php.html":[6,0,1,101],
-"removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c":[6,0,1,101,0],
-"removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88":[6,0,1,101,1],
-"rmagic_8php.html":[6,0,1,102],
-"rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef":[6,0,1,102,0],
-"rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f":[6,0,1,102,2],
-"rmagic_8php.html#a95455edd43f1bff39446a57388cdde16":[6,0,1,102,1],
-"rpost_8php.html":[6,0,1,103],
-"rpost_8php.html#a8190354d789000806d9879aea276728f":[6,0,1,103,0],
-"rsd__xml_8php.html":[6,0,1,104],
-"rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82":[6,0,1,104,0],
-"search_8php.html":[6,0,1,105],
-"search_8php.html#ab2568591359edde5b483a6cd9a24b2cc":[6,0,1,105,0],
-"search_8php.html#acf19fd30f07f495781ca0d7a0a08b435":[6,0,1,105,1],
-"search__ac_8php.html":[6,0,1,106],
-"search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138":[6,0,1,106,0],
-"security_8php.html":[6,0,0,71],
-"security_8php.html#a20f8b9851f23ee8894b8925584ef6821":[6,0,0,71,2],
-"security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c":[6,0,0,71,11],
-"security_8php.html#a444ac867dfa8c37cf0a7a226412bee28":[6,0,0,71,4],
-"security_8php.html#a6126c77a1267e046ac59cf864613f011":[6,0,0,71,10],
-"security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433":[6,0,0,71,5],
-"security_8php.html#a8d23d2597aae380a3341872fe9513380":[6,0,0,71,1],
-"security_8php.html#a9355488460ab11d6058656ff919e5cf9":[6,0,0,71,7],
-"security_8php.html#a9c6180e82150a5a9af91a1255d096b5c":[6,0,0,71,3],
-"security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01":[6,0,0,71,9],
-"security_8php.html#acd06ef411116115c2f0a92633700db8a":[6,0,0,71,6],
-"security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733":[6,0,0,71,0],
-"security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f":[6,0,0,71,8],
-"service__limits_8php.html":[6,0,1,107],
-"service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a":[6,0,1,107,0],
-"session_8php.html":[6,0,0,72],
-"session_8php.html#a26fa1042356d555023cbf15ddd4f8507":[6,0,0,72,4],
-"session_8php.html#a4c0ead624f95483e386bc80abf570a8f":[6,0,0,72,0],
-"session_8php.html#a5e1c616e02b863d5450317d101366bb7":[6,0,0,72,1]
+"redbasic_2php_2style_8php.html":[6,0,3,1,3,0,1],
+"redbasic_2php_2style_8php.html#a01c151bf47f7da2b979aaa4cb868da4c":[6,0,3,1,3,0,1,0]
};
diff --git a/doc/html/navtreeindex8.js b/doc/html/navtreeindex8.js
index 00b662dfe..9053dfa06 100644
--- a/doc/html/navtreeindex8.js
+++ b/doc/html/navtreeindex8.js
@@ -1,253 +1,253 @@
var NAVTREEINDEX8 =
{
-"session_8php.html#a62e4a6cb26b4bb1b8ddd8277b26090eb":[6,0,0,72,8],
-"session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e":[6,0,0,72,5],
-"session_8php.html#a96b09cc763572f45280786a7b33feb7e":[6,0,0,72,7],
-"session_8php.html#ac4461c1984543d3553e73dba2771568f":[6,0,0,72,6],
-"session_8php.html#ac95373f4966862a028033dd2f94d4da1":[6,0,0,72,3],
-"session_8php.html#af0100a2642a5268594bbd5742a03d885":[6,0,0,72,9],
-"session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052":[6,0,0,72,2],
-"settings_8php.html":[6,0,1,108],
-"settings_8php.html#a39abc76ff5459c57e3b957664f273f18":[6,0,1,108,0],
-"settings_8php.html#a3a4cde287482fced008583f54ba2a722":[6,0,1,108,1],
-"settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586":[6,0,1,108,2],
-"setup_8php.html":[6,0,1,109],
-"setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4":[6,0,1,109,2],
-"setup_8php.html#a13cf286774149a0a7bd8adb8179cec75":[6,0,1,109,14],
-"setup_8php.html#a14d208682a88632290c895d20da6e7d6":[6,0,1,109,5],
-"setup_8php.html#a267555abd17290e659b4bf44b885e4e0":[6,0,1,109,13],
-"setup_8php.html#a2b375ddc555140236fc500135de99371":[6,0,1,109,10],
-"setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f":[6,0,1,109,3],
-"setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e":[6,0,1,109,1],
-"setup_8php.html#a8652788e8589778c5f81634a9d5b9429":[6,0,1,109,8],
-"setup_8php.html#a88247384a96e14516f474d7af6a465c1":[6,0,1,109,12],
-"setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76":[6,0,1,109,4],
-"setup_8php.html#ab4b71369a25021d59247c917e98d8246":[6,0,1,109,7],
-"setup_8php.html#abe405d227ba7232971964a706d4f3bce":[6,0,1,109,11],
-"setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a":[6,0,1,109,9],
-"setup_8php.html#addb24714bc2542aa4f4215e98fe48432":[6,0,1,109,16],
-"setup_8php.html#ae8e4d9279a61de74d5f39962cb7b6ca1":[6,0,1,109,0],
-"setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58":[6,0,1,109,15],
-"setup_8php.html#afd8b0b3ade1507c45325caf377bf459d":[6,0,1,109,6],
-"share_8php.html":[6,0,1,110],
-"share_8php.html#afeb26046bdd02567ecd29ab5f188b249":[6,0,1,110,0],
-"simple__black__on__white_8php.html":[6,0,3,1,4,1,4],
-"simple__green__on__black_8php.html":[6,0,3,1,4,1,5],
-"simple__white__on__black_8php.html":[6,0,3,1,4,1,6],
-"siteinfo_8php.html":[6,0,1,111],
-"siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0":[6,0,1,111,1],
-"siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656":[6,0,1,111,0],
-"sitelist_8php.html":[6,0,1,112],
-"sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1":[6,0,1,112,0],
-"smarty_8php.html":[6,0,0,73],
-"smilies_8php.html":[6,0,1,113],
-"smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f":[6,0,1,113,0],
-"socgraph_8php.html":[6,0,0,74],
-"socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586":[6,0,0,74,0],
-"socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6":[6,0,0,74,6],
-"socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329":[6,0,0,74,7],
-"socgraph_8php.html#a790690bb1a1d02483fe31632a160144d":[6,0,0,74,8],
-"socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918":[6,0,0,74,1],
-"socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84":[6,0,0,74,4],
-"socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9":[6,0,0,74,2],
-"socgraph_8php.html#af175807406d94407a5e11742a3287746":[6,0,0,74,5],
-"socgraph_8php.html#af29d056beec10b4e38e5209c92452894":[6,0,0,74,3],
-"sources_8php.html":[6,0,1,114],
-"sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7":[6,0,1,114,0],
-"sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e":[6,0,1,114,1],
-"spam_8php.html":[6,0,0,75],
-"spam_8php.html#a05861201147b9a538d006f0269255cf9":[6,0,0,75,1],
-"spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6":[6,0,0,75,0],
-"sslify_8php.html":[6,0,1,115],
-"sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316":[6,0,1,115,0],
-"starred_8php.html":[6,0,1,116],
-"starred_8php.html#a63024fb418c678e49fd535e3752d349a":[6,0,1,116,0],
-"statistics__fns_8php.html":[6,0,0,76],
-"statistics__fns_8php.html#a05858927cce81fd367aedf85a94ed90c":[6,0,0,76,2],
-"statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6":[6,0,0,76,0],
-"statistics__fns_8php.html#a9dd516dda693f17f5ce48a94876f7efa":[6,0,0,76,3],
-"statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe":[6,0,0,76,1],
-"stumble_2php_2style_8php.html":[6,0,3,1,5,0,0],
-"stumble_2php_2theme_8php.html":[6,0,3,1,5,0,1],
-"stumble_2php_2theme_8php.html#a71db9eff6289e0ee47771c37c01d6753":[6,0,3,1,5,0,1,0],
-"subthread_8php.html":[6,0,1,117],
-"subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3":[6,0,1,117,0],
-"suckerberg_2php_2style_8php.html":[6,0,3,1,6,0,0],
-"suckerberg_2php_2theme_8php.html":[6,0,3,1,6,0,1],
-"suckerberg_2php_2theme_8php.html#a4104fce7d5fb71d15ed811978b628fc8":[6,0,3,1,6,0,1,0],
-"suggest_8php.html":[6,0,1,118],
-"suggest_8php.html#a58748a8235d4523f8333847f3e42dd91":[6,0,1,118,0],
-"suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c":[6,0,1,118,1],
-"system__unavailable_8php.html":[6,0,0,77],
-"system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa":[6,0,0,77,0],
-"tagger_8php.html":[6,0,1,119],
-"tagger_8php.html#a0e4a3eb177d1684553c547503d67161c":[6,0,1,119,0],
-"tagrm_8php.html":[6,0,1,120],
-"tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78":[6,0,1,120,1],
-"tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a":[6,0,1,120,0],
-"taxonomy_8php.html":[6,0,0,78],
-"taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce":[6,0,0,78,9],
-"taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332":[6,0,0,78,0],
-"taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6":[6,0,0,78,2],
-"taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1":[6,0,0,78,6],
-"taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1":[6,0,0,78,4],
-"taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37":[6,0,0,78,3],
-"taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd":[6,0,0,78,10],
-"taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1":[6,0,0,78,1],
-"taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de":[6,0,0,78,7],
-"taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c":[6,0,0,78,14],
-"taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43":[6,0,0,78,13],
-"taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a":[6,0,0,78,11],
-"taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2":[6,0,0,78,12],
-"taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1":[6,0,0,78,5],
-"taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7":[6,0,0,78,8],
-"template__processor_8php.html":[6,0,0,79],
-"template__processor_8php.html#a797745996c7839a93b2ab1af456631ab":[6,0,0,79,3],
-"template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5":[6,0,0,79,1],
-"template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e":[6,0,0,79,2],
-"text_8php.html":[6,0,0,80],
-"text_8php.html#a0271381208acfa2d4cff36da281e3e23":[6,0,0,80,41],
-"text_8php.html#a030fa5ecc64168af0c4f44897a9bce63":[6,0,0,80,47],
-"text_8php.html#a070384ec000fd65043fce11d5392d241":[6,0,0,80,6],
-"text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c":[6,0,0,80,16],
-"text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3":[6,0,0,80,11],
-"text_8php.html#a10dde167249ed5abf190a7a0986878ea":[6,0,0,80,72],
-"text_8php.html#a11255c8c4e5245b6c24f97684826aa54":[6,0,0,80,46],
-"text_8php.html#a13286f8a95d2de6b102966ecc270c8d6":[6,0,0,80,5],
-"text_8php.html#a1360fed7f918d859daaca1c9f384f9af":[6,0,0,80,83],
-"text_8php.html#a138a3a611fa7f4f3630674145fc826bf":[6,0,0,80,34],
-"text_8php.html#a1557112a774ec00fa06ed6b6f6495506":[6,0,0,80,37],
-"text_8php.html#a1633412120f52bdce5f43e0a127d9293":[6,0,0,80,51],
-"text_8php.html#a1af49756c8c71902a66c7e329c462beb":[6,0,0,80,54],
-"text_8php.html#a1e510c53624933ce9b7d6715784894db":[6,0,0,80,48],
-"text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6":[6,0,0,80,49],
-"text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728":[6,0,0,80,44],
-"text_8php.html#a273156a6f5cddc6652ad656821cd5805":[6,0,0,80,73],
-"text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca":[6,0,0,80,4],
-"text_8php.html#a29988052f3944111def3b6aaf2c7a8f6":[6,0,0,80,91],
-"text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7":[6,0,0,80,80],
-"text_8php.html#a2a902f5fdba8646333e997898ac45ea3":[6,0,0,80,50],
-"text_8php.html#a2e8d6c402603be3a1256a16605e09c2a":[6,0,0,80,10],
-"text_8php.html#a2f2585385530cb935a6325c809d84a4d":[6,0,0,80,77],
-"text_8php.html#a2ffd79c60cc87cec24ef76447b905187":[6,0,0,80,93],
-"text_8php.html#a3054189cff173977f4216c9a3dd29e1b":[6,0,0,80,24],
-"text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f":[6,0,0,80,88],
-"text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9":[6,0,0,80,75],
-"text_8php.html#a3972701c5c83624ec4e2d06242f614e7":[6,0,0,80,32],
-"text_8php.html#a3999a0b3e22e440f280ee791ce34d384":[6,0,0,80,43],
-"text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59":[6,0,0,80,26],
-"text_8php.html#a3ba47b4dd1248e7e51095572e7b814dc":[6,0,0,80,19],
-"text_8php.html#a3d225b253bb9e0f2498c11647d927b0b":[6,0,0,80,74],
-"text_8php.html#a3d2793d66db3345fd290b71e2eadf98e":[6,0,0,80,7],
-"text_8php.html#a405afe814a23f3bd94d826101aa168ab":[6,0,0,80,89],
-"text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a":[6,0,0,80,35],
-"text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623":[6,0,0,80,33],
-"text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285":[6,0,0,80,45],
-"text_8php.html#a4841df5beabdd1bdd1ed56781a915d61":[6,0,0,80,63],
-"text_8php.html#a4bbb7d00c05cd20b4e043424f322388f":[6,0,0,80,52],
-"text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91":[6,0,0,80,25],
-"text_8php.html#a4e7698aca48982512594b274543c3b9b":[6,0,0,80,62],
-"text_8php.html#a543447c5ed766535221e2d9636b379ee":[6,0,0,80,85],
-"text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0":[6,0,0,80,9],
-"text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63":[6,0,0,80,14],
-"text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb":[6,0,0,80,84],
-"text_8php.html#a71f6952243d3fe1c5a8154f78027e29c":[6,0,0,80,42],
-"text_8php.html#a736db13a966b8abaf8c9198faa35911a":[6,0,0,80,29],
-"text_8php.html#a740ad03e00459039a2c0992246c4e727":[6,0,0,80,81],
-"text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85":[6,0,0,80,1],
-"text_8php.html#a75c326298519ed14ebe762194c8a3f2a":[6,0,0,80,36],
-"text_8php.html#a76d1b3435c067978d7b484c45f56472b":[6,0,0,80,28],
-"text_8php.html#a8264348059abd1d4d5bb521323d3b19a":[6,0,0,80,82],
-"text_8php.html#a85e3a4851c16674834010d8419a5d7ca":[6,0,0,80,8],
-"text_8php.html#a876e94892867019935b348b573299352":[6,0,0,80,70],
-"text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13":[6,0,0,80,76],
-"text_8php.html#a87a3cefc603302c78982f1d8e1245265":[6,0,0,80,15],
-"text_8php.html#a89929fa6f70a8ba54d5273fcf622b665":[6,0,0,80,21],
-"text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6":[6,0,0,80,61],
-"text_8php.html#a8d8c4a11e53461caca21181ebd72daca":[6,0,0,80,20],
-"text_8php.html#a905c3895feb6f276df23f07f16f9bb52":[6,0,0,80,86],
-"text_8php.html#a95fd2f8f23a1948414a03ebc963bac57":[6,0,0,80,3],
-"text_8php.html#a98fd99dee3da8cf4c148dc04efe782ee":[6,0,0,80,56],
-"text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09":[6,0,0,80,67],
-"text_8php.html#a9d6a5ee1290de7a8b483fe78585daade":[6,0,0,80,65],
-"text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c":[6,0,0,80,69],
-"text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66":[6,0,0,80,31],
-"text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64":[6,0,0,80,17],
-"text_8php.html#aa5528f41533927e1bd2da3618a74a6d7":[6,0,0,80,57],
-"text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e":[6,0,0,80,38],
-"text_8php.html#aac0969ae09853205992ba06ab9f9f61a":[6,0,0,80,30],
-"text_8php.html#aad557c054cf2ed915633701018fc7e3f":[6,0,0,80,92],
-"text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447":[6,0,0,80,71],
-"text_8php.html#aaed4413ed8918838b517e3b2fafaea0d":[6,0,0,80,87],
-"text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4":[6,0,0,80,90],
-"text_8php.html#ac19d2b33a58372a357a43d51eed19162":[6,0,0,80,58],
-"text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e":[6,0,0,80,39],
-"text_8php.html#ac2ff88e800f74b22e9cc091c10809c54":[6,0,0,80,78],
-"text_8php.html#ace3c98538c63e09b70a363210b414112":[6,0,0,80,22],
-"text_8php.html#acedb584f65114a33f389efb796172a91":[6,0,0,80,2],
-"text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784":[6,0,0,80,13],
-"text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2":[6,0,0,80,66],
-"text_8php.html#ad8c6e13d6accf057136c5f30a23a5f08":[6,0,0,80,27],
-"text_8php.html#adba17ec946f4285285dc100f7860bf51":[6,0,0,80,53],
-"text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8":[6,0,0,80,40],
-"text_8php.html#ae2126da85966da0e79c6bcbac63b0bda":[6,0,0,80,68],
-"text_8php.html#ae4282a39492caa23ccbc2ce98e54f110":[6,0,0,80,18],
-"text_8php.html#ae4df74296fbe55051ed3c035e55205e5":[6,0,0,80,59],
-"text_8php.html#af8a3e3a66a7b862d4510f145d2e13186":[6,0,0,80,0],
-"text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53":[6,0,0,80,79],
-"text_8php.html#afc998d2796a6b2a08e96f7cc061e7221":[6,0,0,80,64],
-"text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28":[6,0,0,80,23],
-"text_8php.html#afe18627c4983ee5f7c940a0992818cd5":[6,0,0,80,12],
-"text_8php.html#afe54312607d92f7ce9593f5760831f80":[6,0,0,80,60],
-"text_8php.html#afe9f178d264d44a94dc1292aaf0fd585":[6,0,0,80,55],
-"theme_2apw_2php_2theme__init_8php.html":[6,0,3,1,0,1,4],
-"theme_2apw_2php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864":[6,0,3,1,0,1,4,0],
-"theme_2blogga_2php_2default_8php.html":[6,0,3,1,1,0,1],
-"theme_2blogga_2php_2default_8php.html#a1230ab83d4ec9785d8f3a966f33dc5f3":[6,0,3,1,1,0,1,2],
-"theme_2blogga_2php_2default_8php.html#a720581ae288aa09511670563e4205a4a":[6,0,3,1,1,0,1,0],
-"theme_2blogga_2php_2default_8php.html#ac7062908d1eb80c0735270f7997c4527":[6,0,3,1,1,0,1,1],
-"theme_2blogga_2php_2theme__init_8php.html":[6,0,3,1,1,0,3],
-"theme_2blogga_2view_2theme_2blog_2default_8php.html":[6,0,3,1,1,1,0,0,1],
-"theme_2blogga_2view_2theme_2blog_2default_8php.html#a1230ab83d4ec9785d8f3a966f33dc5f3":[6,0,3,1,1,1,0,0,1,2],
-"theme_2blogga_2view_2theme_2blog_2default_8php.html#a52d9dd070ed541729088395c22502539":[6,0,3,1,1,1,0,0,1,1],
-"theme_2blogga_2view_2theme_2blog_2default_8php.html#a720581ae288aa09511670563e4205a4a":[6,0,3,1,1,1,0,0,1,0],
-"theme_2mytheme_2php_2default_8php.html":[6,0,3,1,3,0,0],
-"theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a":[6,0,3,1,3,0,0,0],
-"theme_2redbasic_2php_2theme__init_8php.html":[6,0,3,1,4,0,3],
-"thing_8php.html":[6,0,1,121],
-"thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b":[6,0,1,121,0],
-"thing_8php.html#a8be23b1d475ec3d9291999221c674c80":[6,0,1,121,1],
-"todo.html":[3],
-"toggle__mobile_8php.html":[6,0,1,122],
-"toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254":[6,0,1,122,0],
-"toggle__safesearch_8php.html":[6,0,1,123],
-"toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79":[6,0,1,123,0],
-"tpldebug_8php.html":[6,0,2,8],
-"tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3":[6,0,2,8,0],
-"tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149":[6,0,2,8,1],
-"tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c":[6,0,2,8,2],
-"typo_8php.html":[6,0,2,9],
-"typo_8php.html#a1b709c1d79631ebc8320b41bda028b54":[6,0,2,9,1],
-"typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5":[6,0,2,9,4],
-"typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd":[6,0,2,9,3],
-"typo_8php.html#a9590b15215a21e9b42eb546aeef79704":[6,0,2,9,2],
-"typo_8php.html#acebf83966ef6d7e5645a6b62ba368f9f":[6,0,2,9,0],
-"typohelper_8php.html":[6,0,2,10],
-"typohelper_8php.html#a7542d95618011800c61773127fa625cf":[6,0,2,10,0],
-"typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805":[6,0,2,10,1],
-"uexport_8php.html":[6,0,1,124],
-"uexport_8php.html#a118920137dedebe0581623a2e57e7b0d":[6,0,1,124,0],
-"update__channel_8php.html":[6,0,1,125],
-"update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba":[6,0,1,125,0],
-"update__display_8php.html":[6,0,1,126],
-"update__display_8php.html#aa36ac524059e209d5d75a03c16206246":[6,0,1,126,0],
-"update__network_8php.html":[6,0,1,127],
-"update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41":[6,0,1,127,0],
-"update__search_8php.html":[6,0,1,128],
-"update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52":[6,0,1,128,0],
-"updatetpl_8py.html":[6,0,2,11],
-"updatetpl_8py.html#a52a85ffa6b6d63d840b185a133478c12":[6,0,2,11,5],
-"updatetpl_8py.html#a79c20eb62d568c999b56eb08530355d3":[6,0,2,11,2],
-"updatetpl_8py.html#a988d937ed5d5c2b592b763036af5cf94":[6,0,2,11,1],
-"updatetpl_8py.html#ab42dd79af65ee82201fd6f04715f62f6":[6,0,2,11,3]
+"redbasic_2php_2style_8php.html#ab3afb90d611eca90819f597a2c0bb459":[6,0,3,1,3,0,1,1],
+"redbasic_2php_2theme_8php.html":[6,0,3,1,3,0,2],
+"redbasic_2php_2theme_8php.html#af6eb813e9fc7e2d76ac1b82bc5c0ed9b":[6,0,3,1,3,0,2,0],
+"redbasic_8php.html":[6,0,3,1,0,2,9],
+"reddav_8php.html":[6,0,0,71],
+"reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266":[6,0,0,71,1],
+"reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088":[6,0,0,71,2],
+"reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66":[6,0,0,71,0],
+"refimport_8php.html":[6,0,0,1,1],
+"refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c":[6,0,0,1,1,2],
+"refimport_8php.html#a53434bc19e6264db89e18d92ddc09860":[6,0,0,1,1,1],
+"refimport_8php.html#a54003135d7c8994a76e831fb6faa2fe6":[6,0,0,1,1,6],
+"refimport_8php.html#a684a44d2401abf75f441591bcb41d10d":[6,0,0,1,1,12],
+"refimport_8php.html#a6c3e0475fde9fe72ff2492a5e3e5259c":[6,0,0,1,1,4],
+"refimport_8php.html#a8459983ebf013ed5737f7ed317bfae1f":[6,0,0,1,1,8],
+"refimport_8php.html#a9c1f681f1f303400a9818696a9f96d6f":[6,0,0,1,1,10],
+"refimport_8php.html#aa98de7d112e3a5b4b6956f108d04a41d":[6,0,0,1,1,3],
+"refimport_8php.html#ac43699d8ae86175e049aa4e87853caac":[6,0,0,1,1,7],
+"refimport_8php.html#ad297afe0730c9119dd94d3cf0521b025":[6,0,0,1,1,9],
+"refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29":[6,0,0,1,1,0],
+"refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5":[6,0,0,1,1,5],
+"refimport_8php.html#aeec793cefa260f788b7d005adcb35796":[6,0,0,1,1,11],
+"register_8php.html":[6,0,1,96],
+"register_8php.html#a0e91f57f111407ea8d3223a05022bb2a":[6,0,1,96,0],
+"register_8php.html#a51731dcc1917c58a790eb1c0f6132271":[6,0,1,96,2],
+"register_8php.html#ae20c0cd40f738d6295de58b9202c83d5":[6,0,1,96,1],
+"regmod_8php.html":[6,0,1,97],
+"regmod_8php.html#a7953df4e32e63946565e90cdd5d50409":[6,0,1,97,0],
+"regver_8php.html":[6,0,1,98],
+"regver_8php.html#ad2c5f644fd1b099abd7c715b7df6f50f":[6,0,1,98,0],
+"removeaccount_8php.html":[6,0,1,99],
+"removeaccount_8php.html#a26a3325292e932c59793430ab737126a":[6,0,1,99,1],
+"removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695":[6,0,1,99,0],
+"removeme_8php.html":[6,0,1,100],
+"removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c":[6,0,1,100,0],
+"removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88":[6,0,1,100,1],
+"rmagic_8php.html":[6,0,1,101],
+"rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef":[6,0,1,101,0],
+"rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f":[6,0,1,101,2],
+"rmagic_8php.html#a95455edd43f1bff39446a57388cdde16":[6,0,1,101,1],
+"rpost_8php.html":[6,0,1,102],
+"rpost_8php.html#a8190354d789000806d9879aea276728f":[6,0,1,102,0],
+"rsd__xml_8php.html":[6,0,1,103],
+"rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82":[6,0,1,103,0],
+"search_8php.html":[6,0,1,104],
+"search_8php.html#ab2568591359edde5b483a6cd9a24b2cc":[6,0,1,104,0],
+"search_8php.html#acf19fd30f07f495781ca0d7a0a08b435":[6,0,1,104,1],
+"search__ac_8php.html":[6,0,1,105],
+"search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138":[6,0,1,105,0],
+"security_8php.html":[6,0,0,72],
+"security_8php.html#a20f8b9851f23ee8894b8925584ef6821":[6,0,0,72,2],
+"security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c":[6,0,0,72,11],
+"security_8php.html#a444ac867dfa8c37cf0a7a226412bee28":[6,0,0,72,4],
+"security_8php.html#a6126c77a1267e046ac59cf864613f011":[6,0,0,72,10],
+"security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433":[6,0,0,72,5],
+"security_8php.html#a8d23d2597aae380a3341872fe9513380":[6,0,0,72,1],
+"security_8php.html#a9355488460ab11d6058656ff919e5cf9":[6,0,0,72,7],
+"security_8php.html#a9c6180e82150a5a9af91a1255d096b5c":[6,0,0,72,3],
+"security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01":[6,0,0,72,9],
+"security_8php.html#acd06ef411116115c2f0a92633700db8a":[6,0,0,72,6],
+"security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733":[6,0,0,72,0],
+"security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f":[6,0,0,72,8],
+"service__limits_8php.html":[6,0,1,106],
+"service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a":[6,0,1,106,0],
+"session_8php.html":[6,0,0,73],
+"session_8php.html#a26fa1042356d555023cbf15ddd4f8507":[6,0,0,73,4],
+"session_8php.html#a4c0ead624f95483e386bc80abf570a8f":[6,0,0,73,0],
+"session_8php.html#a5e1c616e02b863d5450317d101366bb7":[6,0,0,73,1],
+"session_8php.html#a62e4a6cb26b4bb1b8ddd8277b26090eb":[6,0,0,73,8],
+"session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e":[6,0,0,73,5],
+"session_8php.html#a96b09cc763572f45280786a7b33feb7e":[6,0,0,73,7],
+"session_8php.html#ac4461c1984543d3553e73dba2771568f":[6,0,0,73,6],
+"session_8php.html#ac95373f4966862a028033dd2f94d4da1":[6,0,0,73,3],
+"session_8php.html#af0100a2642a5268594bbd5742a03d885":[6,0,0,73,9],
+"session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052":[6,0,0,73,2],
+"settings_8php.html":[6,0,1,107],
+"settings_8php.html#a39abc76ff5459c57e3b957664f273f18":[6,0,1,107,0],
+"settings_8php.html#a3a4cde287482fced008583f54ba2a722":[6,0,1,107,1],
+"settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586":[6,0,1,107,2],
+"setup_8php.html":[6,0,1,108],
+"setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4":[6,0,1,108,2],
+"setup_8php.html#a13cf286774149a0a7bd8adb8179cec75":[6,0,1,108,14],
+"setup_8php.html#a14d208682a88632290c895d20da6e7d6":[6,0,1,108,5],
+"setup_8php.html#a267555abd17290e659b4bf44b885e4e0":[6,0,1,108,13],
+"setup_8php.html#a2b375ddc555140236fc500135de99371":[6,0,1,108,10],
+"setup_8php.html#a5ad92c0857d1dadd6b60a9a557159c9f":[6,0,1,108,3],
+"setup_8php.html#a69a450e06dd3771fb51d3e4b0266a35e":[6,0,1,108,1],
+"setup_8php.html#a8652788e8589778c5f81634a9d5b9429":[6,0,1,108,8],
+"setup_8php.html#a88247384a96e14516f474d7af6a465c1":[6,0,1,108,12],
+"setup_8php.html#aa3bbb111780da70ba35cc23a306f2c76":[6,0,1,108,4],
+"setup_8php.html#ab4b71369a25021d59247c917e98d8246":[6,0,1,108,7],
+"setup_8php.html#abe405d227ba7232971964a706d4f3bce":[6,0,1,108,11],
+"setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a":[6,0,1,108,9],
+"setup_8php.html#addb24714bc2542aa4f4215e98fe48432":[6,0,1,108,16],
+"setup_8php.html#ae8e4d9279a61de74d5f39962cb7b6ca1":[6,0,1,108,0],
+"setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58":[6,0,1,108,15],
+"setup_8php.html#afd8b0b3ade1507c45325caf377bf459d":[6,0,1,108,6],
+"share_8php.html":[6,0,1,109],
+"share_8php.html#afeb26046bdd02567ecd29ab5f188b249":[6,0,1,109,0],
+"simple__black__on__white_8php.html":[6,0,3,1,3,1,4],
+"simple__green__on__black_8php.html":[6,0,3,1,3,1,5],
+"simple__white__on__black_8php.html":[6,0,3,1,3,1,6],
+"siteinfo_8php.html":[6,0,1,110],
+"siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0":[6,0,1,110,1],
+"siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656":[6,0,1,110,0],
+"sitelist_8php.html":[6,0,1,111],
+"sitelist_8php.html#a665a59bf60f780b40f32c909f4a473b1":[6,0,1,111,0],
+"smarty_8php.html":[6,0,0,74],
+"smilies_8php.html":[6,0,1,112],
+"smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f":[6,0,1,112,0],
+"socgraph_8php.html":[6,0,0,75],
+"socgraph_8php.html#a16ac51c505d72987ed8d6d6aed0e8586":[6,0,0,75,0],
+"socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6":[6,0,0,75,6],
+"socgraph_8php.html#a76e6fca3d2bc842dcd9e710bb87c8329":[6,0,0,75,7],
+"socgraph_8php.html#a790690bb1a1d02483fe31632a160144d":[6,0,0,75,8],
+"socgraph_8php.html#a7d34cd58025bcd9e575282f44db75918":[6,0,0,75,1],
+"socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84":[6,0,0,75,4],
+"socgraph_8php.html#ac343a846241d36cdf046b08f3396cfe9":[6,0,0,75,2],
+"socgraph_8php.html#af175807406d94407a5e11742a3287746":[6,0,0,75,5],
+"socgraph_8php.html#af29d056beec10b4e38e5209c92452894":[6,0,0,75,3],
+"sources_8php.html":[6,0,1,113],
+"sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7":[6,0,1,113,0],
+"sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e":[6,0,1,113,1],
+"spam_8php.html":[6,0,0,76],
+"spam_8php.html#a05861201147b9a538d006f0269255cf9":[6,0,0,76,1],
+"spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6":[6,0,0,76,0],
+"sslify_8php.html":[6,0,1,114],
+"sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316":[6,0,1,114,0],
+"starred_8php.html":[6,0,1,115],
+"starred_8php.html#a63024fb418c678e49fd535e3752d349a":[6,0,1,115,0],
+"statistics__fns_8php.html":[6,0,0,77],
+"statistics__fns_8php.html#a05858927cce81fd367aedf85a94ed90c":[6,0,0,77,2],
+"statistics__fns_8php.html#a82726229a961d3bd3d543005c61dd8e6":[6,0,0,77,0],
+"statistics__fns_8php.html#a9dd516dda693f17f5ce48a94876f7efa":[6,0,0,77,3],
+"statistics__fns_8php.html#ad2b7b595c039c4c2eb0d6cd57a393dfe":[6,0,0,77,1],
+"stumble_2php_2style_8php.html":[6,0,3,1,4,0,0],
+"stumble_2php_2theme_8php.html":[6,0,3,1,4,0,1],
+"stumble_2php_2theme_8php.html#a71db9eff6289e0ee47771c37c01d6753":[6,0,3,1,4,0,1,0],
+"subthread_8php.html":[6,0,1,116],
+"subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3":[6,0,1,116,0],
+"suckerberg_2php_2style_8php.html":[6,0,3,1,5,0,0],
+"suckerberg_2php_2theme_8php.html":[6,0,3,1,5,0,1],
+"suckerberg_2php_2theme_8php.html#a4104fce7d5fb71d15ed811978b628fc8":[6,0,3,1,5,0,1,0],
+"suggest_8php.html":[6,0,1,117],
+"suggest_8php.html#a58748a8235d4523f8333847f3e42dd91":[6,0,1,117,0],
+"suggest_8php.html#a696acf1dd8070e479adcc80c63c6718c":[6,0,1,117,1],
+"system__unavailable_8php.html":[6,0,0,78],
+"system__unavailable_8php.html#a73751a6bcc17ad3ca503496e2fb020fa":[6,0,0,78,0],
+"tagger_8php.html":[6,0,1,118],
+"tagger_8php.html#a0e4a3eb177d1684553c547503d67161c":[6,0,1,118,0],
+"tagrm_8php.html":[6,0,1,119],
+"tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78":[6,0,1,119,1],
+"tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a":[6,0,1,119,0],
+"taxonomy_8php.html":[6,0,0,79],
+"taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce":[6,0,0,79,10],
+"taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332":[6,0,0,79,1],
+"taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6":[6,0,0,79,3],
+"taxonomy_8php.html#a0fb8cf0ac7bcbc8b27d856fe9bf69cd1":[6,0,0,79,7],
+"taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1":[6,0,0,79,5],
+"taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37":[6,0,0,79,4],
+"taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd":[6,0,0,79,11],
+"taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1":[6,0,0,79,2],
+"taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de":[6,0,0,79,8],
+"taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c":[6,0,0,79,15],
+"taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287":[6,0,0,79,16],
+"taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4":[6,0,0,79,0],
+"taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43":[6,0,0,79,14],
+"taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a":[6,0,0,79,12],
+"taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2":[6,0,0,79,13],
+"taxonomy_8php.html#adfead45e3b8a3dfb2b4a4b9281d0dbe1":[6,0,0,79,6],
+"taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7":[6,0,0,79,9],
+"template__processor_8php.html":[6,0,0,80],
+"template__processor_8php.html#a797745996c7839a93b2ab1af456631ab":[6,0,0,80,3],
+"template__processor_8php.html#ab2bcd8738f20f293636a6ae8e1099db5":[6,0,0,80,1],
+"template__processor_8php.html#ac635bb19a5f6eadd6b0cddefdd537c1e":[6,0,0,80,2],
+"text_8php.html":[6,0,0,81],
+"text_8php.html#a0271381208acfa2d4cff36da281e3e23":[6,0,0,81,44],
+"text_8php.html#a030fa5ecc64168af0c4f44897a9bce63":[6,0,0,81,51],
+"text_8php.html#a070384ec000fd65043fce11d5392d241":[6,0,0,81,6],
+"text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c":[6,0,0,81,16],
+"text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3":[6,0,0,81,11],
+"text_8php.html#a10dde167249ed5abf190a7a0986878ea":[6,0,0,81,76],
+"text_8php.html#a11255c8c4e5245b6c24f97684826aa54":[6,0,0,81,49],
+"text_8php.html#a13286f8a95d2de6b102966ecc270c8d6":[6,0,0,81,5],
+"text_8php.html#a1360fed7f918d859daaca1c9f384f9af":[6,0,0,81,87],
+"text_8php.html#a138a3a611fa7f4f3630674145fc826bf":[6,0,0,81,37],
+"text_8php.html#a1557112a774ec00fa06ed6b6f6495506":[6,0,0,81,40],
+"text_8php.html#a1633412120f52bdce5f43e0a127d9293":[6,0,0,81,55],
+"text_8php.html#a1af49756c8c71902a66c7e329c462beb":[6,0,0,81,58],
+"text_8php.html#a1e510c53624933ce9b7d6715784894db":[6,0,0,81,52],
+"text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6":[6,0,0,81,53],
+"text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728":[6,0,0,81,47],
+"text_8php.html#a273156a6f5cddc6652ad656821cd5805":[6,0,0,81,77],
+"text_8php.html#a27cd2c1b3bcb49a0cfb7249e851725ca":[6,0,0,81,4],
+"text_8php.html#a29988052f3944111def3b6aaf2c7a8f6":[6,0,0,81,95],
+"text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7":[6,0,0,81,84],
+"text_8php.html#a2a902f5fdba8646333e997898ac45ea3":[6,0,0,81,54],
+"text_8php.html#a2e8d6c402603be3a1256a16605e09c2a":[6,0,0,81,10],
+"text_8php.html#a2f2585385530cb935a6325c809d84a4d":[6,0,0,81,81],
+"text_8php.html#a2ffd79c60cc87cec24ef76447b905187":[6,0,0,81,97],
+"text_8php.html#a3054189cff173977f4216c9a3dd29e1b":[6,0,0,81,24],
+"text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f":[6,0,0,81,92],
+"text_8php.html#a33bdb5d4bfff2ede7caf61a98ac0a2e9":[6,0,0,81,79],
+"text_8php.html#a3972701c5c83624ec4e2d06242f614e7":[6,0,0,81,34],
+"text_8php.html#a3999a0b3e22e440f280ee791ce34d384":[6,0,0,81,46],
+"text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59":[6,0,0,81,26],
+"text_8php.html#a3ba47b4dd1248e7e51095572e7b814dc":[6,0,0,81,19],
+"text_8php.html#a3d225b253bb9e0f2498c11647d927b0b":[6,0,0,81,78],
+"text_8php.html#a3d2793d66db3345fd290b71e2eadf98e":[6,0,0,81,7],
+"text_8php.html#a405afe814a23f3bd94d826101aa168ab":[6,0,0,81,93],
+"text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a":[6,0,0,81,38],
+"text_8php.html#a4446c7f8996a280f7e08b7bfe6c6c8bc":[6,0,0,81,50],
+"text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623":[6,0,0,81,35],
+"text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285":[6,0,0,81,48],
+"text_8php.html#a4841df5beabdd1bdd1ed56781a915d61":[6,0,0,81,67],
+"text_8php.html#a4bbb7d00c05cd20b4e043424f322388f":[6,0,0,81,56],
+"text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91":[6,0,0,81,25],
+"text_8php.html#a4e7698aca48982512594b274543c3b9b":[6,0,0,81,66],
+"text_8php.html#a543447c5ed766535221e2d9636b379ee":[6,0,0,81,89],
+"text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0":[6,0,0,81,9],
+"text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63":[6,0,0,81,14],
+"text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb":[6,0,0,81,88],
+"text_8php.html#a71f6952243d3fe1c5a8154f78027e29c":[6,0,0,81,45],
+"text_8php.html#a736db13a966b8abaf8c9198faa35911a":[6,0,0,81,31],
+"text_8php.html#a740ad03e00459039a2c0992246c4e727":[6,0,0,81,85],
+"text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85":[6,0,0,81,1],
+"text_8php.html#a75c326298519ed14ebe762194c8a3f2a":[6,0,0,81,39],
+"text_8php.html#a76d1b3435c067978d7b484c45f56472b":[6,0,0,81,30],
+"text_8php.html#a8264348059abd1d4d5bb521323d3b19a":[6,0,0,81,86],
+"text_8php.html#a85e3a4851c16674834010d8419a5d7ca":[6,0,0,81,8],
+"text_8php.html#a876e94892867019935b348b573299352":[6,0,0,81,74],
+"text_8php.html#a8796f6a9ca592ecdce7b3afc3462aa13":[6,0,0,81,80],
+"text_8php.html#a87a3cefc603302c78982f1d8e1245265":[6,0,0,81,15],
+"text_8php.html#a89929fa6f70a8ba54d5273fcf622b665":[6,0,0,81,21],
+"text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6":[6,0,0,81,65],
+"text_8php.html#a8d8c4a11e53461caca21181ebd72daca":[6,0,0,81,20],
+"text_8php.html#a905c3895feb6f276df23f07f16f9bb52":[6,0,0,81,90],
+"text_8php.html#a95fd2f8f23a1948414a03ebc963bac57":[6,0,0,81,3],
+"text_8php.html#a98fd99dee3da8cf4c148dc04efe782ee":[6,0,0,81,60],
+"text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09":[6,0,0,81,71],
+"text_8php.html#a9d6a5ee1290de7a8b483fe78585daade":[6,0,0,81,69],
+"text_8php.html#a9fbeae13c9abd6e27cb4d8d1817f969c":[6,0,0,81,73],
+"text_8php.html#aa22feef4de326e1d7078dedd892e615c":[6,0,0,81,36],
+"text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66":[6,0,0,81,33],
+"text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64":[6,0,0,81,17],
+"text_8php.html#aa5528f41533927e1bd2da3618a74a6d7":[6,0,0,81,61],
+"text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e":[6,0,0,81,41],
+"text_8php.html#aac0969ae09853205992ba06ab9f9f61a":[6,0,0,81,32],
+"text_8php.html#aad557c054cf2ed915633701018fc7e3f":[6,0,0,81,96],
+"text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447":[6,0,0,81,75]
};
diff --git a/doc/html/navtreeindex9.js b/doc/html/navtreeindex9.js
index 26a4d9e31..3ab2b8996 100644
--- a/doc/html/navtreeindex9.js
+++ b/doc/html/navtreeindex9.js
@@ -1,27 +1,83 @@
var NAVTREEINDEX9 =
{
-"updatetpl_8py.html#ac9d11279fed403a329a719298feafc4f":[6,0,2,11,0],
-"updatetpl_8py.html#ae694f5e1f25f8a92a945eb90c432dfe6":[6,0,2,11,4],
+"text_8php.html#aaed4413ed8918838b517e3b2fafaea0d":[6,0,0,81,91],
+"text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4":[6,0,0,81,94],
+"text_8php.html#ac19d2b33a58372a357a43d51eed19162":[6,0,0,81,62],
+"text_8php.html#ac1dbf2e37e8069bea2c0f557fdbf203e":[6,0,0,81,42],
+"text_8php.html#ac2ff88e800f74b22e9cc091c10809c54":[6,0,0,81,82],
+"text_8php.html#ace3c98538c63e09b70a363210b414112":[6,0,0,81,22],
+"text_8php.html#acedb584f65114a33f389efb796172a91":[6,0,0,81,2],
+"text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784":[6,0,0,81,13],
+"text_8php.html#ad855a32bee22c3f3b9734e3a334b96f2":[6,0,0,81,70],
+"text_8php.html#ad8c6e13d6accf057136c5f30a23a5f08":[6,0,0,81,27],
+"text_8php.html#adba17ec946f4285285dc100f7860bf51":[6,0,0,81,57],
+"text_8php.html#ae0333c304ec5b4b72e66bb2933fa7357":[6,0,0,81,28],
+"text_8php.html#ae17b39d5e321debd3ad16dcbbde842b8":[6,0,0,81,43],
+"text_8php.html#ae2126da85966da0e79c6bcbac63b0bda":[6,0,0,81,72],
+"text_8php.html#ae4282a39492caa23ccbc2ce98e54f110":[6,0,0,81,18],
+"text_8php.html#ae4df74296fbe55051ed3c035e55205e5":[6,0,0,81,63],
+"text_8php.html#af5eb4a9c1599764f80c5bc71e0125d4b":[6,0,0,81,29],
+"text_8php.html#af8a3e3a66a7b862d4510f145d2e13186":[6,0,0,81,0],
+"text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53":[6,0,0,81,83],
+"text_8php.html#afc998d2796a6b2a08e96f7cc061e7221":[6,0,0,81,68],
+"text_8php.html#afdc69fe3f6c09e35e46304dcea63ae28":[6,0,0,81,23],
+"text_8php.html#afe18627c4983ee5f7c940a0992818cd5":[6,0,0,81,12],
+"text_8php.html#afe54312607d92f7ce9593f5760831f80":[6,0,0,81,64],
+"text_8php.html#afe9f178d264d44a94dc1292aaf0fd585":[6,0,0,81,59],
+"theme_2apw_2php_2theme__init_8php.html":[6,0,3,1,0,1,4],
+"theme_2apw_2php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864":[6,0,3,1,0,1,4,0],
+"theme_2mytheme_2php_2default_8php.html":[6,0,3,1,2,0,0],
+"theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a":[6,0,3,1,2,0,0,0],
+"theme_2redbasic_2php_2theme__init_8php.html":[6,0,3,1,3,0,3],
+"thing_8php.html":[6,0,1,120],
+"thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b":[6,0,1,120,0],
+"thing_8php.html#a8be23b1d475ec3d9291999221c674c80":[6,0,1,120,1],
+"todo.html":[3],
+"toggle__mobile_8php.html":[6,0,1,121],
+"toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254":[6,0,1,121,0],
+"toggle__safesearch_8php.html":[6,0,1,122],
+"toggle__safesearch_8php.html#a23d5cfb2727a266e44993ffbf5595a79":[6,0,1,122,0],
+"tpldebug_8php.html":[6,0,2,7],
+"tpldebug_8php.html#a44778457a6c02554812fbfad19d32ba3":[6,0,2,7,0],
+"tpldebug_8php.html#a5358407d65f2ca826f96356a6642d149":[6,0,2,7,1],
+"tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c":[6,0,2,7,2],
+"typo_8php.html":[6,0,2,8],
+"typo_8php.html#a1b709c1d79631ebc8320b41bda028b54":[6,0,2,8,1],
+"typo_8php.html#a329c9c12217d2c8660c47bbc7c8df4c5":[6,0,2,8,4],
+"typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd":[6,0,2,8,3],
+"typo_8php.html#a9590b15215a21e9b42eb546aeef79704":[6,0,2,8,2],
+"typo_8php.html#acebf83966ef6d7e5645a6b62ba368f9f":[6,0,2,8,0],
+"typohelper_8php.html":[6,0,2,9],
+"typohelper_8php.html#a7542d95618011800c61773127fa625cf":[6,0,2,9,0],
+"typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805":[6,0,2,9,1],
+"uexport_8php.html":[6,0,1,123],
+"uexport_8php.html#a118920137dedebe0581623a2e57e7b0d":[6,0,1,123,1],
+"uexport_8php.html#ae6f79d60916c01675c8cf663cb5fec84":[6,0,1,123,0],
+"update__channel_8php.html":[6,0,1,124],
+"update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba":[6,0,1,124,0],
+"update__display_8php.html":[6,0,1,125],
+"update__display_8php.html#aa36ac524059e209d5d75a03c16206246":[6,0,1,125,0],
+"update__home_8php.html":[6,0,1,126],
+"update__home_8php.html#a668340089acd150b830134476a647d05":[6,0,1,126,0],
+"update__network_8php.html":[6,0,1,127],
+"update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41":[6,0,1,127,0],
+"update__search_8php.html":[6,0,1,128],
+"update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52":[6,0,1,128,0],
+"updatetpl_8py.html":[6,0,2,10],
+"updatetpl_8py.html#a52a85ffa6b6d63d840b185a133478c12":[6,0,2,10,5],
+"updatetpl_8py.html#a79c20eb62d568c999b56eb08530355d3":[6,0,2,10,2],
+"updatetpl_8py.html#a988d937ed5d5c2b592b763036af5cf94":[6,0,2,10,1],
+"updatetpl_8py.html#ab42dd79af65ee82201fd6f04715f62f6":[6,0,2,10,3],
+"updatetpl_8py.html#ac9d11279fed403a329a719298feafc4f":[6,0,2,10,0],
+"updatetpl_8py.html#ae694f5e1f25f8a92a945eb90c432dfe6":[6,0,2,10,4],
"view_2theme_2apw_2php_2config_8php.html":[6,0,3,1,0,1,0],
"view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d":[6,0,3,1,0,1,0,1],
"view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6":[6,0,3,1,0,1,0,2],
"view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0":[6,0,3,1,0,1,0,0],
-"view_2theme_2blogga_2php_2config_8php.html":[6,0,3,1,1,0,0],
-"view_2theme_2blogga_2php_2config_8php.html#a09cd81013505f83aea0771243a1e4e53":[6,0,3,1,1,0,0,1],
-"view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27":[6,0,3,1,1,0,0,0],
-"view_2theme_2blogga_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d":[6,0,3,1,1,0,0,3],
-"view_2theme_2blogga_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6":[6,0,3,1,1,0,0,4],
-"view_2theme_2blogga_2php_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b":[6,0,3,1,1,0,0,2],
-"view_2theme_2blogga_2view_2theme_2blog_2config_8php.html":[6,0,3,1,1,1,0,0,0],
-"view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a09cd81013505f83aea0771243a1e4e53":[6,0,3,1,1,1,0,0,0,1],
-"view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27":[6,0,3,1,1,1,0,0,0,0],
-"view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d":[6,0,3,1,1,1,0,0,0,3],
-"view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6":[6,0,3,1,1,1,0,0,0,4],
-"view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b":[6,0,3,1,1,1,0,0,0,2],
-"view_2theme_2redbasic_2php_2config_8php.html":[6,0,3,1,4,0,0],
-"view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793":[6,0,3,1,4,0,0,0],
-"view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d":[6,0,3,1,4,0,0,1],
-"view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6":[6,0,3,1,4,0,0,2],
+"view_2theme_2redbasic_2php_2config_8php.html":[6,0,3,1,3,0,0],
+"view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793":[6,0,3,1,3,0,0,0],
+"view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d":[6,0,3,1,3,0,0,1],
+"view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6":[6,0,3,1,3,0,0,2],
"view_8php.html":[6,0,1,129],
"view_8php.html#ac168f6c61a91ba2063f13b441c0ae96e":[6,0,1,129,0],
"viewconnections_8php.html":[6,0,1,130],
@@ -41,40 +97,44 @@ var NAVTREEINDEX9 =
"webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3":[6,0,1,135,0],
"webpages_8php.html":[6,0,1,136],
"webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d":[6,0,1,136,0],
+"webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7":[6,0,1,136,1],
"wfinger_8php.html":[6,0,1,137],
"wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3":[6,0,1,137,0],
"widedarkness_8php.html":[6,0,3,1,0,2,10],
-"widgets_8php.html":[6,0,0,81],
-"widgets_8php.html#a08035db02ff6a23260146b4c64153422":[6,0,0,81,11],
-"widgets_8php.html#a0d404276fedc59f5038cf5c085028326":[6,0,0,81,26],
-"widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3":[6,0,0,81,3],
-"widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b":[6,0,0,81,8],
-"widgets_8php.html#a268b01ce1ab8fe2cb346cb769b9d1091":[6,0,0,81,9],
-"widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5":[6,0,0,81,16],
-"widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013":[6,0,0,81,18],
-"widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256":[6,0,0,81,19],
-"widgets_8php.html#a47c72aac42058ea086c9ef8651c259da":[6,0,0,81,5],
-"widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8":[6,0,0,81,25],
-"widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0":[6,0,0,81,12],
-"widgets_8php.html#a6dbc227aac750774284ee39c45f0a200":[6,0,0,81,27],
-"widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e":[6,0,0,81,21],
-"widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165":[6,0,0,81,15],
-"widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65":[6,0,0,81,2],
-"widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8":[6,0,0,81,23],
-"widgets_8php.html#a95c06bc9be133e89768746302d2ac395":[6,0,0,81,10],
-"widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20":[6,0,0,81,20],
-"widgets_8php.html#a9d60539db68042e63c0015abd69a6f7a":[6,0,0,81,6],
-"widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f":[6,0,0,81,7],
-"widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01":[6,0,0,81,24],
-"widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923":[6,0,0,81,22],
-"widgets_8php.html#abe03366fd22fd27d683518fa0765da50":[6,0,0,81,29],
-"widgets_8php.html#aced5cb177f630b30799c5eab873ee75c":[6,0,0,81,1],
-"widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd":[6,0,0,81,14],
-"widgets_8php.html#add9b24d3304e529a7975e96122315554":[6,0,0,81,0],
-"widgets_8php.html#ade630b19fb4c622b7b2f6f8ef89eefa2":[6,0,0,81,13],
-"widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653":[6,0,0,81,28],
-"widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b":[6,0,0,81,4],
-"widgets_8php.html#afa2e55a78f95667a6da082efac7fec74":[6,0,0,81,17],
+"widgets_8php.html":[6,0,0,82],
+"widgets_8php.html#a08035db02ff6a23260146b4c64153422":[6,0,0,82,12],
+"widgets_8php.html#a0d404276fedc59f5038cf5c085028326":[6,0,0,82,29],
+"widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3":[6,0,0,82,3],
+"widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b":[6,0,0,82,9],
+"widgets_8php.html#a268b01ce1ab8fe2cb346cb769b9d1091":[6,0,0,82,10],
+"widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5":[6,0,0,82,17],
+"widgets_8php.html#a3bdfb81bf9a8ddf219924fa7eaf22013":[6,0,0,82,19],
+"widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256":[6,0,0,82,20],
+"widgets_8php.html#a47c72aac42058ea086c9ef8651c259da":[6,0,0,82,6],
+"widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8":[6,0,0,82,28],
+"widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0":[6,0,0,82,13],
+"widgets_8php.html#a6dbc227aac750774284ee39c45f0a200":[6,0,0,82,30],
+"widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e":[6,0,0,82,22],
+"widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165":[6,0,0,82,16],
+"widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65":[6,0,0,82,2],
+"widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e":[6,0,0,82,25],
+"widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8":[6,0,0,82,26],
+"widgets_8php.html#a95c06bc9be133e89768746302d2ac395":[6,0,0,82,11],
+"widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20":[6,0,0,82,21],
+"widgets_8php.html#a9d60539db68042e63c0015abd69a6f7a":[6,0,0,82,7],
+"widgets_8php.html#aa189a07241246d97efbee29f1c6a6f7f":[6,0,0,82,8],
+"widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01":[6,0,0,82,27],
+"widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923":[6,0,0,82,24],
+"widgets_8php.html#abe03366fd22fd27d683518fa0765da50":[6,0,0,82,32],
+"widgets_8php.html#aced5cb177f630b30799c5eab873ee75c":[6,0,0,82,1],
+"widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd":[6,0,0,82,15],
+"widgets_8php.html#add9b24d3304e529a7975e96122315554":[6,0,0,82,0],
+"widgets_8php.html#ade630b19fb4c622b7b2f6f8ef89eefa2":[6,0,0,82,14],
+"widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653":[6,0,0,82,31],
+"widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b":[6,0,0,82,5],
+"widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380":[6,0,0,82,23],
+"widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5":[6,0,0,82,4],
+"widgets_8php.html#afa2e55a78f95667a6da082efac7fec74":[6,0,0,82,18],
"xchan_8php.html":[6,0,1,138],
"xchan_8php.html#a9853348bf1a35c644460221ba75edc2d":[6,0,1,138,0],
"xrd_8php.html":[6,0,1,139],
@@ -83,39 +143,40 @@ var NAVTREEINDEX9 =
"xref_8php.html#a9bee399213b8de8226b0d60834307473":[6,0,1,140,0],
"zfinger_8php.html":[6,0,1,141],
"zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0":[6,0,1,141,0],
-"zot_8php.html":[6,0,0,82],
-"zot_8php.html#a083aec6c900d244e1bfc1406f9461465":[6,0,0,82,15],
-"zot_8php.html#a0fc2211c5309d9f925ecc4115e3fdb75":[6,0,0,82,9],
-"zot_8php.html#a20750dd2c36961013fd382fb34e1366c":[6,0,0,82,6],
-"zot_8php.html#a2657e141d62d5f67ad3c87651b585299":[6,0,0,82,7],
-"zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df":[6,0,0,82,18],
-"zot_8php.html#a3862b3161b2c8557dc1a95020179bd81":[6,0,0,82,20],
-"zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a":[6,0,0,82,5],
-"zot_8php.html#a4d9e6ca295e443b740d9960c304b3474":[6,0,0,82,11],
-"zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315":[6,0,0,82,8],
-"zot_8php.html#a55056e863a7860bc0cf922e78fcce073":[6,0,0,82,25],
-"zot_8php.html#a5bcdfef419b16075a0eca990956223dc":[6,0,0,82,30],
-"zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea":[6,0,0,82,22],
-"zot_8php.html#a703f528ade8382cf374e4119bd6f7859":[6,0,0,82,0],
-"zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c":[6,0,0,82,29],
-"zot_8php.html#a8e22dbc6f884be3644a892a876cbd972":[6,0,0,82,3],
-"zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988":[6,0,0,82,12],
-"zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03":[6,0,0,82,28],
-"zot_8php.html#a95528377d7303131958c9f0b7158fdce":[6,0,0,82,23],
-"zot_8php.html#a9a57b40669351c9791126b925cb7ef3b":[6,0,0,82,14],
-"zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc":[6,0,0,82,13],
-"zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5":[6,0,0,82,1],
-"zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10":[6,0,0,82,16],
-"zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254":[6,0,0,82,17],
-"zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7":[6,0,0,82,27],
-"zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd":[6,0,0,82,19],
-"zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142":[6,0,0,82,31],
-"zot_8php.html#ac301c67864917c35922257950ae0f95c":[6,0,0,82,10],
-"zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d":[6,0,0,82,4],
-"zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72":[6,0,0,82,2],
-"zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca":[6,0,0,82,21],
-"zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7":[6,0,0,82,24],
-"zot_8php.html#aeea071f17e306fe3d0c488551906bfab":[6,0,0,82,26],
+"zot_8php.html":[6,0,0,83],
+"zot_8php.html#a083aec6c900d244e1bfc1406f9461465":[6,0,0,83,15],
+"zot_8php.html#a084c581d534e7e3b759488b46602288f":[6,0,0,83,20],
+"zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d":[6,0,0,83,11],
+"zot_8php.html#a0fc2211c5309d9f925ecc4115e3fdb75":[6,0,0,83,9],
+"zot_8php.html#a20750dd2c36961013fd382fb34e1366c":[6,0,0,83,6],
+"zot_8php.html#a2657e141d62d5f67ad3c87651b585299":[6,0,0,83,7],
+"zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df":[6,0,0,83,18],
+"zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac":[6,0,0,83,28],
+"zot_8php.html#a3bf11286c2619b4ca28e49d5b5ab374a":[6,0,0,83,5],
+"zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315":[6,0,0,83,8],
+"zot_8php.html#a55056e863a7860bc0cf922e78fcce073":[6,0,0,83,25],
+"zot_8php.html#a5bcdfef419b16075a0eca990956223dc":[6,0,0,83,31],
+"zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea":[6,0,0,83,22],
+"zot_8php.html#a703f528ade8382cf374e4119bd6f7859":[6,0,0,83,0],
+"zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c":[6,0,0,83,30],
+"zot_8php.html#a8e22dbc6f884be3644a892a876cbd972":[6,0,0,83,3],
+"zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988":[6,0,0,83,12],
+"zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03":[6,0,0,83,29],
+"zot_8php.html#a95528377d7303131958c9f0b7158fdce":[6,0,0,83,23],
+"zot_8php.html#a9a57b40669351c9791126b925cb7ef3b":[6,0,0,83,14],
+"zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc":[6,0,0,83,13],
+"zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5":[6,0,0,83,1],
+"zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10":[6,0,0,83,16],
+"zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254":[6,0,0,83,17],
+"zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7":[6,0,0,83,27],
+"zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd":[6,0,0,83,19],
+"zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142":[6,0,0,83,32],
+"zot_8php.html#ac301c67864917c35922257950ae0f95c":[6,0,0,83,10],
+"zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d":[6,0,0,83,4],
+"zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72":[6,0,0,83,2],
+"zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca":[6,0,0,83,21],
+"zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7":[6,0,0,83,24],
+"zot_8php.html#aeea071f17e306fe3d0c488551906bfab":[6,0,0,83,26],
"zotfeed_8php.html":[6,0,1,142],
"zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac":[6,0,1,142,0],
"zping_8php.html":[6,0,1,143],
diff --git a/doc/html/notifier_8php.html b/doc/html/notifier_8php.html
index 9cccb089c..0dba5aef4 100644
--- a/doc/html/notifier_8php.html
+++ b/doc/html/notifier_8php.html
@@ -139,6 +139,7 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+<p>Reduce the hubs to those that are unique. For zot hubs, we need to verify uniqueness by the sitekey, since it may have been a re-install which has not yet been detected and pruned. For other networks which don't have or require sitekeys, we'll have to use the URL</p>
</div>
</div>
diff --git a/doc/html/permissions_8php.html b/doc/html/permissions_8php.html
index d7cdd11e6..28a402c70 100644
--- a/doc/html/permissions_8php.html
+++ b/doc/html/permissions_8php.html
@@ -113,19 +113,23 @@ $(document).ready(function(){initNavTree('permissions_8php.html','');});
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a040fd3d3b8517658b1668ae0cd093972"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms</a> ()</td></tr>
+<tr class="memdesc:a040fd3d3b8517658b1668ae0cd093972"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an array with all available permissions. <a href="#a040fd3d3b8517658b1668ae0cd093972">More...</a><br/></td></tr>
<tr class="separator:a040fd3d3b8517658b1668ae0cd093972"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeca9b280f3dc3358c89976d81d690008"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms</a> ($uid, $observer_xchan, $internal_use=true)</td></tr>
<tr class="separator:aeca9b280f3dc3358c89976d81d690008"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67ada9ed51e77885b6b0f6a28cee1835"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed</a> ($uid, $observer_xchan, $permission)</td></tr>
+<tr class="memdesc:a67ada9ed51e77885b6b0f6a28cee1835"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if given permission is allowed for given observer on a channel. <a href="#a67ada9ed51e77885b6b0f6a28cee1835">More...</a><br/></td></tr>
<tr class="separator:a67ada9ed51e77885b6b0f6a28cee1835"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions</a> ($uid, $arr, $perm)</td></tr>
<tr class="separator:a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8b7b102c653649d7a71b5a1c044d90d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms</a> ()</td></tr>
+<tr class="memdesc:aa8b7b102c653649d7a71b5a1c044d90d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets site wide default permissions. <a href="#aa8b7b102c653649d7a71b5a1c044d90d">More...</a><br/></td></tr>
<tr class="separator:aa8b7b102c653649d7a71b5a1c044d90d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b5f5120566a3699a98efc5ccb0c59fe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms</a> ($role)</td></tr>
<tr class="separator:a9b5f5120566a3699a98efc5ccb0c59fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a50e8099ea8a4d7ed68b2a0a7ea9aa724"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#a50e8099ea8a4d7ed68b2a0a7ea9aa724">role_selector</a> ($current)</td></tr>
-<tr class="separator:a50e8099ea8a4d7ed68b2a0a7ea9aa724"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b239a0d494b92a89ce7bf9c7e588991"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="permissions_8php.html#a6b239a0d494b92a89ce7bf9c7e588991">get_roles</a> ()</td></tr>
+<tr class="memdesc:a6b239a0d494b92a89ce7bf9c7e588991"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list or roles, grouped by type. <a href="#a6b239a0d494b92a89ce7bf9c7e588991">More...</a><br/></td></tr>
+<tr class="separator:a6b239a0d494b92a89ce7bf9c7e588991"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7"></a>
@@ -194,12 +198,13 @@ Functions</h2></td></tr>
<p>get_all_perms($uid,$observer_xchan)</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramname">$uid</td><td>: The channel_id associated with the resource owner </td></tr>
- <tr><td class="paramname">$observer_xchan,:</td><td>The xchan_hash representing the observer</td></tr>
+ <tr><td class="paramtype">int</td><td class="paramname">$uid</td><td>The channel_id associated with the resource owner </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$observer_xchan</td><td>The xchan_hash representing the observer </td></tr>
+ <tr><td class="paramtype">bool</td><td class="paramname">$internal_use</td><td>(default true)</td></tr>
</table>
</dd>
</dl>
-<dl class="section return"><dt>Returns</dt><dd>: array of all permissions, key is permission name, value is true or false </dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>array of all permissions, key is permission name, value is true or false </dd></dl>
<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
@@ -218,7 +223,11 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
+<p>Return an array with all available permissions. </p>
+<p>These are channel specific permissions. The list of available permissions can get manipulated by the <em>hook</em> <b>global_permissions</b>.</p>
+<dl class="section return"><dt>Returns</dt><dd>array associative array containing all permissions </dd></dl>
+
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d">site_default_perms()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
</div>
</div>
@@ -243,7 +252,33 @@ Functions</h2></td></tr>
</dd>
</dl>
-<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>, and <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>.</p>
+<p>Referenced by <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6b239a0d494b92a89ce7bf9c7e588991"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">get_roles </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Returns a list or roles, grouped by type. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$current</td><td>The current role </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string Returns an array of roles, grouped by type </dd></dl>
+
+<p>Referenced by <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>.</p>
</div>
</div>
@@ -277,25 +312,19 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory\createDirectory()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ab7ab7ba81fab28eb02382cfdfd80ecfe">RedMatrix\RedDAV\RedFile\delete()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7">RedMatrix\RedDAV\RedDirectory\getChild()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a9b9a0b5bfa4de1f78e6cafaa534b6f6a">RedMatrix\RedDAV\RedDirectory\getChildren()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">RedMatrix\RedDAV\RedBrowser\set_writeable()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
-
-</div>
-</div>
-<a class="anchor" id="a50e8099ea8a4d7ed68b2a0a7ea9aa724"></a>
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">role_selector </td>
- <td>(</td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>$current</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
+<p>Checks if given permission is allowed for given observer on a channel. </p>
+<p>Checks if the given observer with the hash $observer_xchan has permission $permission on channel_id $uid. $permission is one defined in <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972" title="Return an array with all available permissions.">get_perms()</a>;</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">int</td><td class="paramname">$uid</td><td>The channel_id associated with the resource owner </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$observer_xchan</td><td>The xchan_hash representing the observer </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$permission</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool true if permission is allowed for observer on channel </dd></dl>
-<p>Referenced by <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>.</p>
+<p>Referenced by <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2attach_8php.html#a0d07c5b83d3d54e186f752e571847b36">attach_by_hash()</a>, <a class="el" href="include_2attach_8php.html#ad991208ce939387e2f93a3bce7d09932">attach_by_hash_nodata()</a>, <a class="el" href="include_2attach_8php.html#a887d2d44a3ef18dcb6624e7fb58dc8e3">attach_count_files()</a>, <a class="el" href="include_2attach_8php.html#a3634af95f11a023dd8e882c3c7a3600d">attach_list_files()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="permissions_8php.html#a0f5bd9f7f4c8fb7ba4b2c1ed048b4dc7">check_list_permissions()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory\createDirectory()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ab7ab7ba81fab28eb02382cfdfd80ecfe">RedMatrix\RedDAV\RedFile\delete()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7">RedMatrix\RedDAV\RedDirectory\getChild()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a9b9a0b5bfa4de1f78e6cafaa534b6f6a">RedMatrix\RedDAV\RedDirectory\getChildren()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">RedMatrix\RedDAV\RedBrowser\set_writeable()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="datetime_8php.html#af1cd77c97c901d9239cb7a61f97f9826">update_birthdays()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5">widget_catcloud_wall()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="include_2attach_8php.html#aeb07968990e66a88c95483ca09a7f909">z_readdir()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
@@ -312,6 +341,9 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Sets site wide default permissions. </p>
+<dl class="section return"><dt>Returns</dt><dd>array </dd></dl>
+
<p>Referenced by <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>.</p>
</div>
diff --git a/doc/html/permissions_8php.js b/doc/html/permissions_8php.js
index 22580253a..824057ac6 100644
--- a/doc/html/permissions_8php.js
+++ b/doc/html/permissions_8php.js
@@ -4,7 +4,7 @@ var permissions_8php =
[ "get_all_perms", "permissions_8php.html#aeca9b280f3dc3358c89976d81d690008", null ],
[ "get_perms", "permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972", null ],
[ "get_role_perms", "permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe", null ],
+ [ "get_roles", "permissions_8php.html#a6b239a0d494b92a89ce7bf9c7e588991", null ],
[ "perm_is_allowed", "permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835", null ],
- [ "role_selector", "permissions_8php.html#a50e8099ea8a4d7ed68b2a0a7ea9aa724", null ],
[ "site_default_perms", "permissions_8php.html#aa8b7b102c653649d7a71b5a1c044d90d", null ]
]; \ No newline at end of file
diff --git a/doc/html/php2po_8php.html b/doc/html/php2po_8php.html
index 898a5544b..861554886 100644
--- a/doc/html/php2po_8php.html
+++ b/doc/html/php2po_8php.html
@@ -168,7 +168,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">Template\_get_var()</a>, <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">Template\_replcb_for()</a>, <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">aes_unencapsulate()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="bbcode_8php.html#a3a989cbf308a32468d171d83e9c51d1e">bb_sanitize_style()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_poll_interval()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="text_8php.html#a3ba47b4dd1248e7e51095572e7b814dc">extra_query_args()</a>, <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35">get_plugin_info()</a>, <a class="el" href="plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405">get_theme_info()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b">load_pconfig()</a>, <a class="el" href="include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52">load_xconfig()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7">obj_verb_selector()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e">requestdata()</a>, <a class="el" href="permissions_8php.html#a50e8099ea8a4d7ed68b2a0a7ea9aa724">role_selector()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="boot_8php.html#aca47505b8732177f52bb2d647eb2741c">startup()</a>, <a class="el" href="language_8php.html#a686bcafa6b0d5c86d37b38a1db5b6997">tt()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd">RedMatrix\RedDAV\RedBrowser\userReadableSize()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x()</a>, <a class="el" href="hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea">xchan_fetch()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="classApp.html#af6d39f63fb7116bbeb04e51696f99474">App\__construct()</a>, <a class="el" href="classTemplate.html#aae9c4d761ea1298e745e8052d7910194">Template\_get_var()</a>, <a class="el" href="classTemplate.html#abf71098c80fd1f218a59452b3408309e">Template\_replcb_for()</a>, <a class="el" href="items_8php.html#a36e656667193c83aa2cc03a024fc131b">activity_sanitise()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="crypto_8php.html#aca7c3a574bfb6c6ef1f2403a56823914">aes_unencapsulate()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="bbcode_8php.html#a3a989cbf308a32468d171d83e9c51d1e">bb_sanitize_style()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="contact__selectors_8php.html#a9839e8fdaac7ffb37bf1420493f5c28f">contact_poll_interval()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c">dirsearch_content()</a>, <a class="el" href="text_8php.html#a3ba47b4dd1248e7e51095572e7b814dc">extra_query_args()</a>, <a class="el" href="dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1">foofoo()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35">get_plugin_info()</a>, <a class="el" href="plugin_8php.html#ad48de9c0fb7f19413a2aa49250d00405">get_theme_info()</a>, <a class="el" href="taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de">get_things()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b">load_pconfig()</a>, <a class="el" href="include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52">load_xconfig()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="netgrowth_8php.html#a9b87bfc25a7cb11bc7f8e1fdd0310919">netgrowth_content()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="taxonomy_8php.html#af387463d42ffdf7d2ab3d5b22e40a0c7">obj_verb_selector()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="include_2message_8php.html#a5f8de9847e203329e317ac38dc646898">private_messages_fetch_conversation()</a>, <a class="el" href="include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091">private_messages_fetch_message()</a>, <a class="el" href="include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e">private_messages_list()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="include_2api_8php.html#a43c47de8565cc00c3369cb35c19cc75e">requestdata()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sslify_8php.html#a75b11e54a3d1fc83e7d4c0e8b4dab316">sslify_init()</a>, <a class="el" href="boot_8php.html#aca47505b8732177f52bb2d647eb2741c">startup()</a>, <a class="el" href="language_8php.html#a686bcafa6b0d5c86d37b38a1db5b6997">tt()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd">RedMatrix\RedDAV\RedBrowser\userReadableSize()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x()</a>, <a class="el" href="hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea">xchan_fetch()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
</div>
</div>
@@ -182,7 +182,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34">pipe_streams()</a>, and <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2attach_8php.html#a5d484de2d19a93071571d6499a50ae34">pipe_streams()</a>, and <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>.</p>
</div>
</div>
@@ -224,7 +224,7 @@ Variables</h2></td></tr>
<b>Initial value:</b><div class="fragment"><div class="line">{</div>
<div class="line"> <a class="code" href="fpostit_8php.html#a3f3ae3ae61578b5671673914fd894443">showForm</a>(null, $content)</div>
</div><!-- fragment -->
-<p>Referenced by <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, and <a class="el" href="post__to__red_8php.html#a085c250d4ceff5e4f10052f3d2039823">red_comment()</a>.</p>
+<p>Referenced by <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>.</p>
</div>
</div>
diff --git a/doc/html/php_2default_8php.html b/doc/html/php_2default_8php.html
index 19e67f2d6..35a9b50f1 100644
--- a/doc/html/php_2default_8php.html
+++ b/doc/html/php_2default_8php.html
@@ -112,7 +112,7 @@ $(document).ready(function(){initNavTree('php_2default_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
-<tr class="memitem:a3987f5547ceb7e36a210a66a06241a5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
+<tr class="memitem:a3987f5547ceb7e36a210a66a06241a5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
<tr class="separator:a3987f5547ceb7e36a210a66a06241a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Variable Documentation</h2>
@@ -121,7 +121,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
+ <td class="memname">if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
</tr>
</table>
</div><div class="memdoc">
diff --git a/doc/html/php_2theme__init_8php.html b/doc/html/php_2theme__init_8php.html
index c045b7ef5..f6be48d0a 100644
--- a/doc/html/php_2theme__init_8php.html
+++ b/doc/html/php_2theme__init_8php.html
@@ -127,7 +127,7 @@ Variables</h2></td></tr>
</div><div class="memdoc">
<p>Those who require this feature will know what to do with it. Those who don't, won't. Eventually this functionality needs to be provided by a module such that permissions can be enforced. At the moment it's more of a proof of concept; but sufficient for our immediate needs. </p>
-<p>Referenced by <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">fix_attached_file_permissions()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="identity_8php.html#a4e996e44b50330098a04b467367a559f">is_public_profile()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post__to__red_8php.html#a5cc2a89a6d33cdb8e2ca557a69bef42d">post_to_red_delete_comment()</a>, <a class="el" href="post__to__red_8php.html#a4674bb5ce2baa32c559607460c39a2c5">post_to_red_delete_post()</a>, <a class="el" href="post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd">post_to_red_displayAdminContent()</a>, <a class="el" href="post__to__red_8php.html#af5fd50e2c42ede85f8a9e8d9ee3cf540">post_to_red_post()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot_encode_locations()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="include_2chat_8php.html#acdc80dba4eb796c7472b21129b435422">chatroom_create()</a>, <a class="el" href="include_2chat_8php.html#a2ba3af6884ecdce95de69262fe599639">chatroom_destroy()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#ac9f206819186b65952ac1869f0da8c6e">event_addtocal()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="item_8php.html#a3daae7944f737bd30412a0d042207c0f">fix_attached_file_permissions()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="items_8php.html#a079e099e15d88d47aeb6ca6d60da7107">get_public_feed()</a>, <a class="el" href="items_8php.html#a52c24114b73c0bdb605a03cd29712223">handle_feed()</a>, <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f">importelm_post()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="identity_8php.html#a4e996e44b50330098a04b467367a559f">is_public_profile()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2apps_8php.html#a32fe4ed9666228fd4b67dc487cc57a83">parse_app_description()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#aedccaf18282b26899d9549c29bd9d1b9">photos_albums_list()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="include_2photos_8php.html#aa27b9e435dcc34e1009f56dc02c7ca51">photos_list_photos()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5">reflect_photo_callback()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="items_8php.html#a2baa9e05f1e8aa3dd61c85803ae39bd6">update_remote_id()</a>, <a class="el" href="wall__attach_8php.html#a7385e970e93228d082f0fd7254f6e653">wall_attach_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet()</a>, <a class="el" href="zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca">zot_encode_locations()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, and <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>.</p>
</div>
</div>
diff --git a/doc/html/ping_8php.html b/doc/html/ping_8php.html
index eb295fb35..0fd7a5794 100644
--- a/doc/html/ping_8php.html
+++ b/doc/html/ping_8php.html
@@ -135,7 +135,7 @@ Functions</h2></td></tr>
<p>This function does several tasks. Whenever called it checks for new messages, introductions, notifications, etc. and returns a json with the results.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
- <tr><td class="paramtype"><a class="el" href="classApp.html">App</a></td><td class="paramname">&amp;$a</td><td></td></tr>
+ <tr><td class="paramtype"><a class="el" href="classApp.html" title="Our main application structure for the life of this page.">App</a></td><td class="paramname">&amp;$a</td><td></td></tr>
</table>
</dd>
</dl>
diff --git a/doc/html/plugin_8php.html b/doc/html/plugin_8php.html
index c71c22f19..eb1dbb904 100644
--- a/doc/html/plugin_8php.html
+++ b/doc/html/plugin_8php.html
@@ -206,7 +206,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="items_8php.html#a016dd86c827d08db89061ea81d15c6cb">atom_author()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">check_account_password()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">gender_selector()</a>, <a class="el" href="profile__selectors_8php.html#a8bfa1ca2d1598a3d65f1f9bb803ca816">gender_selector_min()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">App\get_widgets()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837">html2bbcode()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">marital_selector()</a>, <a class="el" href="profile__selectors_8php.html#adc79715bd2e102b4583fb530749ec534">marital_selector_min()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="acl__selectors_8php.html#ad25bba63a51a2b0b5b463efae50df528">populate_acl()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="include_2probe_8php.html#aa748dc73a6686c13826b1ee9d16c800d">probe_well_known()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">sexpref_selector()</a>, <a class="el" href="profile__selectors_8php.html#ab0eae5c0ceba77364469f0f580f0d074">sexpref_selector_min()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, and <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
+<p>Referenced by <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="items_8php.html#a016dd86c827d08db89061ea81d15c6cb">atom_author()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bb2diaspora_8php.html#a4f10e0876b27373c762bc1abbe745f5c">bb2diaspora()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="include_2chat_8php.html#acea6b176eb7aff44d9ba3ae24ce511d3">chat_message()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="account_8php.html#ae052bd5558847bd38e89c213561a9771">check_account_email()</a>, <a class="el" href="account_8php.html#aaff7720423417a4333697894ffd9ddeb">check_account_invite()</a>, <a class="el" href="account_8php.html#a144b4891022567668375b58ea61cfff0">check_account_password()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="features_8php.html#a52b5bdfb61b256713efecf7a7b20b0c0">feature_enabled()</a>, <a class="el" href="profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355">gender_selector()</a>, <a class="el" href="profile__selectors_8php.html#a8bfa1ca2d1598a3d65f1f9bb803ca816">gender_selector_min()</a>, <a class="el" href="text_8php.html#ae0333c304ec5b4b72e66bb2933fa7357">generate_map()</a>, <a class="el" href="text_8php.html#af5eb4a9c1599764f80c5bc71e0125d4b">generate_named_map()</a>, <a class="el" href="permissions_8php.html#aeca9b280f3dc3358c89976d81d690008">get_all_perms()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c">get_features()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs()</a>, <a class="el" href="permissions_8php.html#a040fd3d3b8517658b1668ae0cd093972">get_perms()</a>, <a class="el" href="text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66">get_poke_verbs()</a>, <a class="el" href="permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe">get_role_perms()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="classApp.html#a871898becd0697d778f36d9336253ae8">App\get_widgets()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="html2bbcode_8php.html#a5ad726995ac4070213abdb3bd09f4837">html2bbcode()</a>, <a class="el" href="items_8php.html#ae73794179b62d39bb597ff670ab1c1e5">import_author_xchan()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="text_8php.html#a4446c7f8996a280f7e08b7bfe6c6c8bc">list_smilies()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="profile__selectors_8php.html#a7473dd095987e1cdcc79d4f0bb5e6798">marital_selector()</a>, <a class="el" href="profile__selectors_8php.html#adc79715bd2e102b4583fb530749ec534">marital_selector_min()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="contact__selectors_8php.html#ad472e4716426dd1a9dd77b62962454be">network_to_name()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="permissions_8php.html#a67ada9ed51e77885b6b0f6a28cee1835">perm_is_allowed()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="acl__selectors_8php.html#ad25bba63a51a2b0b5b463efae50df528">populate_acl()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="include_2probe_8php.html#aa748dc73a6686c13826b1ee9d16c800d">probe_well_known()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="profile__selectors_8php.html#a3b50b3ea4ea4bdbebebfffc5d1b157c7">sexpref_selector()</a>, <a class="el" href="profile__selectors_8php.html#ab0eae5c0ceba77364469f0f580f0d074">sexpref_selector_min()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="identity_8php.html#af2802bc13a00a17b867bba7978ba8f58">validate_channelname()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a5b815330f3d177ab383af37a6c12e532">zid()</a>, and <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>.</p>
</div>
</div>
@@ -298,7 +298,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200">diaspora_unshare()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">field_timezone()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf">RedMatrix\RedDAV\RedBrowser\htmlActionsPanel()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="acl__selectors_8php.html#ad25bba63a51a2b0b5b463efae50df528">populate_acl()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#aced5cb177f630b30799c5eab873ee75c">widget_appselect()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
+<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200">diaspora_unshare()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf">RedMatrix\RedDAV\RedBrowser\htmlActionsPanel()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="acl__selectors_8php.html#ad25bba63a51a2b0b5b463efae50df528">populate_acl()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="uexport_8php.html#ae6f79d60916c01675c8cf663cb5fec84">uexport_content()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#aced5cb177f630b30799c5eab873ee75c">widget_appselect()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
</div>
</div>
@@ -716,8 +716,6 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>mixed|bool </dd></dl>
-<p>Referenced by <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae">blog_install()</a>.</p>
-
</div>
</div>
<a class="anchor" id="af9ac19004dca49adae1ac7a0d9f3b025"></a>
@@ -877,8 +875,6 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>mixed </dd></dl>
-<p>Referenced by <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c">blog_uninstall()</a>.</p>
-
</div>
</div>
</div><!-- contents -->
diff --git a/doc/html/po2php_8php.html b/doc/html/po2php_8php.html
index 439411fd6..a1b50a4a1 100644
--- a/doc/html/po2php_8php.html
+++ b/doc/html/po2php_8php.html
@@ -114,6 +114,8 @@ $(document).ready(function(){initNavTree('po2php_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a3b75e36f913198299e99559b175cd8b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run</a> ($<a class="el" href="boot_8php.html#a768f00b7d66be0daf7ef4eea2e862006">argv</a>, $<a class="el" href="boot_8php.html#abc0a90a1a77f5b668aa7e4b57d1776a7">argc</a>)</td></tr>
<tr class="separator:a3b75e36f913198299e99559b175cd8b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4f3dc9b019d0cd1dc171c54c991ef334"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="po2php_8php.html#a4f3dc9b019d0cd1dc171c54c991ef334">trim_message</a> ($str)</td></tr>
+<tr class="separator:a4f3dc9b019d0cd1dc171c54c991ef334"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a3b75e36f913198299e99559b175cd8b4"></a>
@@ -142,6 +144,24 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a4f3dc9b019d0cd1dc171c54c991ef334"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">trim_message </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="po2php_8php.html#a3b75e36f913198299e99559b175cd8b4">po2php_run()</a>.</p>
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/po2php_8php.js b/doc/html/po2php_8php.js
index e8f3c4f39..9536e15bf 100644
--- a/doc/html/po2php_8php.js
+++ b/doc/html/po2php_8php.js
@@ -1,4 +1,5 @@
var po2php_8php =
[
- [ "po2php_run", "po2php_8php.html#a3b75e36f913198299e99559b175cd8b4", null ]
+ [ "po2php_run", "po2php_8php.html#a3b75e36f913198299e99559b175cd8b4", null ],
+ [ "trim_message", "po2php_8php.html#a4f3dc9b019d0cd1dc171c54c991ef334", null ]
]; \ No newline at end of file
diff --git a/doc/html/redable_8php.html b/doc/html/redable_8php.html
index 11a11e977..549b7af78 100644
--- a/doc/html/redable_8php.html
+++ b/doc/html/redable_8php.html
@@ -112,7 +112,7 @@ $(document).ready(function(){initNavTree('redable_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
-<tr class="memitem:a3987f5547ceb7e36a210a66a06241a5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redable_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
+<tr class="memitem:a3987f5547ceb7e36a210a66a06241a5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="redable_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
<tr class="separator:a3987f5547ceb7e36a210a66a06241a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Variable Documentation</h2>
@@ -121,7 +121,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
+ <td class="memname">if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
</tr>
</table>
</div><div class="memdoc">
diff --git a/doc/html/redbasic_2php_2theme_8php.html b/doc/html/redbasic_2php_2theme_8php.html
index 6451f9e74..905d26738 100644
--- a/doc/html/redbasic_2php_2theme_8php.html
+++ b/doc/html/redbasic_2php_2theme_8php.html
@@ -131,7 +131,7 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<ul>
<li>Name: Redbasic</li>
-<li>Description: <a class="el" href="namespaceRedMatrix.html">RedMatrix</a> standard theme</li>
+<li>Description: <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a> standard theme</li>
<li>Version: 1.0</li>
<li>Author: Fabrixxm</li>
<li>Maintainer: Mike Macgirvin</li>
diff --git a/doc/html/reddav_8php.html b/doc/html/reddav_8php.html
index ac5e204bb..d27cb2190 100644
--- a/doc/html/reddav_8php.html
+++ b/doc/html/reddav_8php.html
@@ -110,7 +110,7 @@ $(document).ready(function(){initNavTree('reddav_8php.html','');});
</div><!--header-->
<div class="contents">
-<p>some DAV related functions for <a class="el" href="namespaceRedMatrix.html">RedMatrix</a>.
+<p>some DAV related functions for <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
@@ -126,10 +126,10 @@ Functions</h2></td></tr>
<tr class="separator:a9f531641dfb4e43cd88ac1a9ae7e2088"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>some DAV related functions for <a class="el" href="namespaceRedMatrix.html">RedMatrix</a>. </p>
+<div class="textblock"><p>some DAV related functions for <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>. </p>
<p>This file contains some functions which did not fit into one of the RedDAV classes.</p>
<p>The extended SabreDAV classes you will find in the RedDAV namespace under includes/RedDAV/. The original SabreDAV classes you can find under vendor/sabre/dav/. We need to use SabreDAV 1.8.x for PHP5.3 compatibility. SabreDAV &gt;= 2.0 requires PHP &gt;= 5.4.</p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>split up the classes into own files.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000008">Todo:</a></b></dt><dd>split up the classes into own files.</dd></dl>
<p><a class="el" href=""><a href="http://opensource.org/licenses/mit-license.php">http://opensource.org/licenses/mit-license.php</a> The MIT License (MIT) </a></p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ae92ea0df1993f6a7bcd1b6efa6c1fb66"></a>
@@ -148,7 +148,7 @@ Functions</h2></td></tr>
<p>Returns an array with viewable channels. </p>
<p>Get a list of RedDirectory objects with all the channels where the visitor has <b>view_storage</b> perms.</p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000008">Todo:</a></b></dt><dd>Is there any reason why this is not inside RedDirectory class? function name looks like a class name, should we rename it?</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>Is there any reason why this is not inside RedDirectory class? function name looks like a class name, should we rename it?</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">RedBasicAuth</td><td class="paramname">&amp;$auth</td><td></td></tr>
@@ -187,7 +187,7 @@ Functions</h2></td></tr>
<p>TODO what exactly does this function? </p>
<p>Array with all RedDirectory and RedFile DAV items for the given path.</p>
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>Is there any reason why this is not inside RedDirectory class? Seems only to be used there and we could simplify it a bit there. function name looks like a class name, should we rename it?</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000010">Todo:</a></b></dt><dd>Is there any reason why this is not inside RedDirectory class? Seems only to be used there and we could simplify it a bit there. function name looks like a class name, should we rename it?</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">string</td><td class="paramname">$file</td><td>path to a directory </td></tr>
diff --git a/doc/html/refimport_8php.html b/doc/html/refimport_8php.html
new file mode 100644
index 000000000..26dc98a08
--- /dev/null
+++ b/doc/html/refimport_8php.html
@@ -0,0 +1,381 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: include/Import/refimport.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('refimport_8php.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">refimport.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a6c3e0475fde9fe72ff2492a5e3e5259c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#a6c3e0475fde9fe72ff2492a5e3e5259c">reflect_get_channel</a> ()</td></tr>
+<tr class="separator:a6c3e0475fde9fe72ff2492a5e3e5259c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad97ebb5feda0230a4834e0b3637a0d29"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content</a> (&amp;$a)</td></tr>
+<tr class="separator:ad97ebb5feda0230a4834e0b3637a0d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a53434bc19e6264db89e18d92ddc09860"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#a53434bc19e6264db89e18d92ddc09860">reflect_article_callback</a> ($matches)</td></tr>
+<tr class="separator:a53434bc19e6264db89e18d92ddc09860"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9c56f779d1e0ac7bcb2a460129e7ae5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5">reflect_photo_callback</a> ($matches)</td></tr>
+<tr class="separator:ae9c56f779d1e0ac7bcb2a460129e7ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa98de7d112e3a5b4b6956f108d04a41d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#aa98de7d112e3a5b4b6956f108d04a41d">reflect_find_user</a> ($users, $name)</td></tr>
+<tr class="separator:aa98de7d112e3a5b4b6956f108d04a41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01a29630fa5e1ce6cd5e1fd75280747c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store</a> ($channel, $post, $comment, $user)</td></tr>
+<tr class="separator:a01a29630fa5e1ce6cd5e1fd75280747c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a54003135d7c8994a76e831fb6faa2fe6"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#a54003135d7c8994a76e831fb6faa2fe6">REDMATRIX_IMPORTCHANNEL</a> 'mike'</td></tr>
+<tr class="separator:a54003135d7c8994a76e831fb6faa2fe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad297afe0730c9119dd94d3cf0521b025"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#ad297afe0730c9119dd94d3cf0521b025">REFLECT_EXPORTUSERNAME</a> 'mike'</td></tr>
+<tr class="separator:ad297afe0730c9119dd94d3cf0521b025"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8459983ebf013ed5737f7ed317bfae1f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#a8459983ebf013ed5737f7ed317bfae1f">REFLECT_BLOGNAME</a> 'Diary and Other Rantings'</td></tr>
+<tr class="separator:a8459983ebf013ed5737f7ed317bfae1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac43699d8ae86175e049aa4e87853caac"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#ac43699d8ae86175e049aa4e87853caac">REFLECT_BASEURL</a> 'http://example.com/'</td></tr>
+<tr class="separator:ac43699d8ae86175e049aa4e87853caac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a684a44d2401abf75f441591bcb41d10d"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#a684a44d2401abf75f441591bcb41d10d">REFLECT_USERFILE</a> 'user.json'</td></tr>
+<tr class="separator:a684a44d2401abf75f441591bcb41d10d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeec793cefa260f788b7d005adcb35796"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#aeec793cefa260f788b7d005adcb35796">REFLECT_OVERWRITE</a> false</td></tr>
+<tr class="separator:aeec793cefa260f788b7d005adcb35796"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c1f681f1f303400a9818696a9f96d6f"><td class="memItemLeft" align="right" valign="top">const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="refimport_8php.html#a9c1f681f1f303400a9818696a9f96d6f">REFLECT_MAXPERRUN</a> 30</td></tr>
+<tr class="separator:a9c1f681f1f303400a9818696a9f96d6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ad97ebb5feda0230a4834e0b3637a0d29"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">refimport_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a53434bc19e6264db89e18d92ddc09860"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">reflect_article_callback </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$matches</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a01a29630fa5e1ce6cd5e1fd75280747c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">reflect_comment_store </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$channel</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$post</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$comment</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$user</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa98de7d112e3a5b4b6956f108d04a41d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">reflect_find_user </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$users</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$name</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6c3e0475fde9fe72ff2492a5e3e5259c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">reflect_get_channel </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, and <a class="el" href="refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5">reflect_photo_callback()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae9c56f779d1e0ac7bcb2a460129e7ae5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">reflect_photo_callback </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$matches</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a54003135d7c8994a76e831fb6faa2fe6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REDMATRIX_IMPORTCHANNEL 'mike'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="refimport_8php.html#a6c3e0475fde9fe72ff2492a5e3e5259c">reflect_get_channel()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac43699d8ae86175e049aa4e87853caac"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REFLECT_BASEURL 'http://example.com/'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, and <a class="el" href="refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5">reflect_photo_callback()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8459983ebf013ed5737f7ed317bfae1f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REFLECT_BLOGNAME 'Diary and Other Rantings'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad297afe0730c9119dd94d3cf0521b025"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REFLECT_EXPORTUSERNAME 'mike'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a9c1f681f1f303400a9818696a9f96d6f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REFLECT_MAXPERRUN 30</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aeec793cefa260f788b7d005adcb35796"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REFLECT_OVERWRITE false</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>, and <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a684a44d2401abf75f441591bcb41d10d"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const REFLECT_USERFILE 'user.json'</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29">refimport_content()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/refimport_8php.js b/doc/html/refimport_8php.js
new file mode 100644
index 000000000..f0b97cbee
--- /dev/null
+++ b/doc/html/refimport_8php.js
@@ -0,0 +1,16 @@
+var refimport_8php =
+[
+ [ "refimport_content", "refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29", null ],
+ [ "reflect_article_callback", "refimport_8php.html#a53434bc19e6264db89e18d92ddc09860", null ],
+ [ "reflect_comment_store", "refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c", null ],
+ [ "reflect_find_user", "refimport_8php.html#aa98de7d112e3a5b4b6956f108d04a41d", null ],
+ [ "reflect_get_channel", "refimport_8php.html#a6c3e0475fde9fe72ff2492a5e3e5259c", null ],
+ [ "reflect_photo_callback", "refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5", null ],
+ [ "REDMATRIX_IMPORTCHANNEL", "refimport_8php.html#a54003135d7c8994a76e831fb6faa2fe6", null ],
+ [ "REFLECT_BASEURL", "refimport_8php.html#ac43699d8ae86175e049aa4e87853caac", null ],
+ [ "REFLECT_BLOGNAME", "refimport_8php.html#a8459983ebf013ed5737f7ed317bfae1f", null ],
+ [ "REFLECT_EXPORTUSERNAME", "refimport_8php.html#ad297afe0730c9119dd94d3cf0521b025", null ],
+ [ "REFLECT_MAXPERRUN", "refimport_8php.html#a9c1f681f1f303400a9818696a9f96d6f", null ],
+ [ "REFLECT_OVERWRITE", "refimport_8php.html#aeec793cefa260f788b7d005adcb35796", null ],
+ [ "REFLECT_USERFILE", "refimport_8php.html#a684a44d2401abf75f441591bcb41d10d", null ]
+]; \ No newline at end of file
diff --git a/doc/html/search/all_24.js b/doc/html/search/all_24.js
index d4ea06349..9ad473a4f 100644
--- a/doc/html/search/all_24.js
+++ b/doc/html/search/all_24.js
@@ -11,10 +11,7 @@ var searchData=
['_24aside',['$aside',['../minimalisticdarkness_8php.html#a6e5d97615c6faef5dbffe04b8024ceaf',1,'minimalisticdarkness.php']]],
['_24auth',['$auth',['../classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad19179bf4ac7f18fafa7e2e3df800142',1,'RedMatrix\RedDAV\RedBrowser\$auth()'],['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aab6907e7fb7f9f7227f9cd42bdc84eb9',1,'RedMatrix\RedDAV\RedDirectory\$auth()'],['../classRedMatrix_1_1RedDAV_1_1RedFile.html#a21b6e9d420c352f25610a33f57858215',1,'RedMatrix\RedDAV\RedFile\$auth()']]],
['_24baseurl',['$baseurl',['../classApp.html#ad5175536561021548ae8188e24c7b80c',1,'App']]],
- ['_24bodyclass',['$bodyclass',['../theme_2blogga_2php_2default_8php.html#a720581ae288aa09511670563e4205a4a',1,'$bodyclass():&#160;default.php'],['../theme_2blogga_2view_2theme_2blog_2default_8php.html#a720581ae288aa09511670563e4205a4a',1,'$bodyclass():&#160;default.php']]],
['_24browser',['$browser',['../classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a167ae032bd2ad8e6caa2e1e1a6f1b5d3',1,'RedMatrix::RedDAV::RedBasicAuth']]],
- ['_24cached_5fprofile_5fimage',['$cached_profile_image',['../classApp.html#abe0e4fa91097f7a6588e1213a834121c',1,'App']]],
- ['_24cached_5fprofile_5fpicdate',['$cached_profile_picdate',['../classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e',1,'App']]],
['_24called_5fapi',['$called_api',['../include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d',1,'api.php']]],
['_24category',['$category',['../classApp.html#a5cfc098c061b7d765add58fd2ca97445',1,'App']]],
['_24channel',['$channel',['../classApp.html#a050b0696118da47e8b30859ad1a2c149',1,'App\$channel()'],['../classItem.html#acc32426c0f465391be8a99ad810c7b8e',1,'Item\$channel()'],['../php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864',1,'$channel():&#160;theme_init.php'],['../theme_2apw_2php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864',1,'$channel():&#160;theme_init.php']]],
@@ -33,17 +30,17 @@ var searchData=
['_24contacts',['$contacts',['../classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2',1,'App']]],
['_24content',['$content',['../classApp.html#ac1d80a14492acc932715d54567d8a589',1,'App']]],
['_24conversation',['$conversation',['../classItem.html#a007424e3e3171dcfb4312a02161da6cd',1,'Item']]],
+ ['_24credentials',['$credentials',['../classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f',1,'RedMatrix::Import::Import']]],
['_24css_5fsources',['$css_sources',['../classApp.html#a6f55d087e1ff4710132c1b0863faa2ee',1,'App']]],
- ['_24curl_5fcode',['$curl_code',['../classApp.html#a256360c9184fed6d7556e0bc0a835d7f',1,'App']]],
- ['_24curl_5fheaders',['$curl_headers',['../classApp.html#af5007c42a693afd9c4899c243b2e1363',1,'App']]],
['_24d',['$d',['../classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38',1,'Template']]],
['_24data',['$data',['../classApp.html#a0ce85be198e46570366cb3344f3c55b8',1,'App\$data()'],['../classItem.html#aec24e233f9098f902b1e57e60dcb2019',1,'Item\$data()'],['../classRedMatrix_1_1RedDAV_1_1RedFile.html#a235700e2dfbe21dc41613d36e30e8acc',1,'RedMatrix\RedDAV\RedFile\$data()']]],
- ['_24db',['$db',['../classApp.html#a330410a288f3393d53772f5e98f857ea',1,'App\$db()'],['../classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6',1,'dba_driver\$db()']]],
+ ['_24db',['$db',['../classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6',1,'dba_driver']]],
['_24debug',['$debug',['../classdba__driver.html#af48e2afeded5285766bf92e22123ed03',1,'dba_driver\$debug()'],['../classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a',1,'Template\$debug()']]],
['_24dir',['$dir',['../docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62',1,'docblox_errorchecker.php']]],
['_24directory_5ffallback_5fservers',['$DIRECTORY_FALLBACK_SERVERS',['../boot_8php.html#a107d53f96acf5319905a34b1870db09a',1,'boot.php']]],
['_24dirs',['$dirs',['../typo_8php.html#a1b709c1d79631ebc8320b41bda028b54',1,'typo.php']]],
['_24dirstack',['$dirstack',['../docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6',1,'docblox_errorchecker.php']]],
+ ['_24display_5fmode',['$display_mode',['../classItem.html#a88a99e2d1245925867f249f543358e72',1,'Item']]],
['_24done',['$done',['../classTemplate.html#abda4c8d049f70553338eae7c905e9d5c',1,'Template']]],
['_24error',['$error',['../classApp.html#ac1a8b2cd40609b231a560201a08852ba',1,'App\$error()'],['../classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c',1,'dba_driver\$error()']]],
['_24ext_5fpath',['$ext_path',['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#adf8735b3118cdf2f42416edaf42b82e9',1,'RedMatrix::RedDAV::RedDirectory']]],
@@ -56,8 +53,6 @@ var searchData=
['_24force_5fmax_5fitems',['$force_max_items',['../classApp.html#ae3f47830543d0d902f66913def8db66b',1,'App']]],
['_24gc_5fprobability',['$gc_probability',['../session_8php.html#a96b09cc763572f45280786a7b33feb7e',1,'session.php']]],
['_24groups',['$groups',['../classApp.html#ac6e6b1c7d6df408580ff79977fcfa656',1,'App']]],
- ['_24headimg',['$headimg',['../theme_2blogga_2php_2default_8php.html#ac7062908d1eb80c0735270f7997c4527',1,'$headimg():&#160;default.php'],['../theme_2blogga_2view_2theme_2blog_2default_8php.html#a52d9dd070ed541729088395c22502539',1,'$headimg():&#160;default.php']]],
- ['_24headimghome',['$headimghome',['../theme_2blogga_2php_2default_8php.html#a1230ab83d4ec9785d8f3a966f33dc5f3',1,'$headimghome():&#160;default.php'],['../theme_2blogga_2view_2theme_2blog_2default_8php.html#a1230ab83d4ec9785d8f3a966f33dc5f3',1,'$headimghome():&#160;default.php']]],
['_24height',['$height',['../classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80',1,'photo_driver']]],
['_24hooks',['$hooks',['../classApp.html#a3694aa1907aa103a2adbc71f926f0fa0',1,'App']]],
['_24hostname',['$hostname',['../classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3',1,'App']]],
@@ -70,7 +65,10 @@ var searchData=
['_24install',['$install',['../classApp.html#a576ecb1c5b4a283221e6f2f0ec248251',1,'App']]],
['_24install_5fwizard_5fpass',['$install_wizard_pass',['../setup_8php.html#addb24714bc2542aa4f4215e98fe48432',1,'setup.php']]],
['_24interactive',['$interactive',['../classApp.html#a4c7cfc62d39508086cf300dc2e39c4df',1,'App']]],
+ ['_24is_5fsys',['$is_sys',['../classApp.html#a1f60d19d47021629faac7a0a6d917e94',1,'App']]],
['_24itemfloat',['$itemfloat',['../minimalisticdarkness_8php.html#a7e6c3d4efde4e9a2de32308081372c6b',1,'minimalisticdarkness.php']]],
+ ['_24itemlist',['$itemlist',['../classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc',1,'RedMatrix::Import::Import']]],
+ ['_24items',['$items',['../classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c',1,'RedMatrix::Import::Import']]],
['_24js_5fsources',['$js_sources',['../classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d',1,'App']]],
['_24k',['$k',['../php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178',1,'php2po.php']]],
['_24lang',['$lang',['../classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8',1,'Template']]],
@@ -103,8 +101,6 @@ var searchData=
['_24perms',['$perms',['../classApp.html#ab47de68fa39806d1fb0976407e188b77',1,'App']]],
['_24phpath',['$phpath',['../typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd',1,'typo.php']]],
['_24phpfile',['$phpfile',['../php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4',1,'php2po.php']]],
- ['_24plugin',['$plugin',['../post__to__red_8php.html#ada8a7130088351710bb02ed622d6bf65',1,'post_to_red.php']]],
- ['_24plugin_5fdir',['$plugin_dir',['../post__to__red_8php.html#a99811555b30bde504a863e44015f2f19',1,'post_to_red.php']]],
['_24plugins',['$plugins',['../classApp.html#ae9f96338f32187d308b67b980eea0008',1,'App']]],
['_24pofile',['$pofile',['../php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1',1,'php2po.php']]],
['_24poi',['$poi',['../classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a',1,'App']]],
@@ -114,7 +110,8 @@ var searchData=
['_24profile_5fowner',['$profile_owner',['../classConversation.html#a2f12724ef0244e9049fe1bb9641b516d',1,'Conversation']]],
['_24profile_5fuid',['$profile_uid',['../classApp.html#a08c24d6a6fc52fcc784b0f765f13b820',1,'App']]],
['_24query_5fstring',['$query_string',['../classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f',1,'App']]],
- ['_24r',['$r',['../classTemplate.html#aac9a4638f11271e1b1dcc9f247242718',1,'Template']]],
+ ['_24r',['$r',['../classTemplate.html#aac9a4638f11271e1b1dcc9f247242718',1,'Template\$r()'],['../fixd_8php.html#a8abe176bc41afd728f32ba8c506cbd98',1,'$r():&#160;fixd.php']]],
+ ['_24rand',['$rand',['../fixd_8php.html#a2da3681c9cce2efe7de29aa578ff4219',1,'fixd.php']]],
['_24rdelim',['$rdelim',['../classApp.html#a244b2d53b21be269aad2269d23192f95',1,'App']]],
['_24red_5fpath',['$red_path',['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a4bba2e56bc8ec3e05f05eae46f56f36d',1,'RedMatrix::RedDAV::RedDirectory']]],
['_24redirect_5furl',['$redirect_url',['../classItem.html#a5b561415861f5b89b0733aacfe0428d1',1,'Item']]],
@@ -131,6 +128,7 @@ var searchData=
['_24session_5fexpire',['$session_expire',['../session_8php.html#af0100a2642a5268594bbd5742a03d885',1,'session.php']]],
['_24showlock',['$showlock',['../apw_2php_2style_8php.html#ad401ea1d1ba236f86863b4574f01e425',1,'style.php']]],
['_24sourcename',['$sourcename',['../classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11',1,'App']]],
+ ['_24src_5fitems',['$src_items',['../classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6',1,'RedMatrix::Import::Import']]],
['_24stack',['$stack',['../classTemplate.html#a6f0efc256688c36110180b501067ff11',1,'Template']]],
['_24str',['$str',['../typohelper_8php.html#a7542d95618011800c61773127fa625cf',1,'typohelper.php']]],
['_24strings',['$strings',['../classApp.html#a5f64620473a9727a48ebe9cf6f335a98',1,'App']]],
@@ -145,6 +143,7 @@ var searchData=
['_24threads',['$threads',['../classConversation.html#a41f4a549e6a99f98935c4742addd22c8',1,'Conversation']]],
['_24timezone',['$timezone',['../classApp.html#ab35b01a366a2ea95725e97af278f87ab',1,'App\$timezone()'],['../classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a849c99cf0a7ad065d630c8a30106ad5e',1,'RedMatrix\RedDAV\RedBasicAuth\$timezone()']]],
['_24toplevel',['$toplevel',['../classItem.html#a5cfa6cf964f433a917a81cab079ff9d8',1,'Item']]],
+ ['_24total',['$total',['../fixd_8php.html#a241b818f48030b628685b2e5119c5624',1,'fixd.php']]],
['_24type',['$type',['../classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03',1,'photo_driver']]],
['_24types',['$types',['../classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03',1,'photo_driver']]],
['_24uid',['$uid',['../apw_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a',1,'style.php']]],
@@ -154,7 +153,6 @@ var searchData=
['_24videowidth',['$videowidth',['../classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8',1,'App']]],
['_24visiting',['$visiting',['../classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8',1,'Item']]],
['_24wall_5fto_5fwall',['$wall_to_wall',['../classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189',1,'Item']]],
- ['_24widgetlist',['$widgetlist',['../classApp.html#a4833bee2eae4ad1691a04fa19e11a766',1,'App']]],
['_24widgets',['$widgets',['../classApp.html#aa5a87c46ab3fee21362c466bf78042ef',1,'App']]],
['_24width',['$width',['../classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1',1,'photo_driver\$width()'],['../minimalisticdarkness_8php.html#a5795120b4b324bc4ca83f1e6fdce7d57',1,'$width():&#160;minimalisticdarkness.php']]],
['_24writable',['$writable',['../classConversation.html#ae81221251307e315f566a11f921ce0a9',1,'Conversation']]],
diff --git a/doc/html/search/all_62.js b/doc/html/search/all_62.js
index a310a24fc..c4d2bcad1 100644
--- a/doc/html/search/all_62.js
+++ b/doc/html/search/all_62.js
@@ -10,6 +10,8 @@ var searchData=
['bb2diaspora_5fitemwallwall',['bb2diaspora_itemwallwall',['../bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083',1,'bb2diaspora.php']]],
['bb2dmention_5fcallback',['bb2dmention_callback',['../bb2diaspora_8php.html#a5258d2f1addeb0a2a6b54c4f9e7d0f34',1,'bb2diaspora.php']]],
['bb_5flocation',['bb_location',['../bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd',1,'bbcode.php']]],
+ ['bb_5fmap_5fcoords',['bb_map_coords',['../bbcode_8php.html#a02d5f2434e7bb5cf683e52a9b4787f24',1,'bbcode.php']]],
+ ['bb_5fmap_5flocation',['bb_map_location',['../bbcode_8php.html#a7cb403fd1c36d7376c2f3932a1ceb54d',1,'bbcode.php']]],
['bb_5fparse_5fapp',['bb_parse_app',['../bbcode_8php.html#abb02f1044ff1c635d12af690d0f2cfa2',1,'bbcode.php']]],
['bb_5fparse_5fcrypt',['bb_parse_crypt',['../bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f',1,'bbcode.php']]],
['bb_5fparse_5felement',['bb_parse_element',['../bbcode_8php.html#aa73fb62e7be1fa5fce4ad5f3d4487fc9',1,'bbcode.php']]],
@@ -32,12 +34,7 @@ var searchData=
['block_5finit',['block_init',['../block_8php.html#a9b61c96044ed2a068f18c10370a78d5c',1,'block.php']]],
['blocks_2ephp',['blocks.php',['../blocks_8php.html',1,'']]],
['blocks_5fcontent',['blocks_content',['../blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12',1,'blocks.php']]],
- ['blog_5finit',['blog_init',['../blogga_2php_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b',1,'blog_init(&amp;$a):&#160;theme.php'],['../blogga_2view_2theme_2blog_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b',1,'blog_init(&amp;$a):&#160;theme.php']]],
- ['blog_5finstall',['blog_install',['../blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae',1,'theme.php']]],
- ['blog_5funinstall',['blog_uninstall',['../blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c',1,'theme.php']]],
- ['blogtheme_5fdisplay_5fitem',['blogtheme_display_item',['../blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5',1,'theme.php']]],
- ['blogtheme_5fform',['blogtheme_form',['../view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27',1,'blogtheme_form(&amp;$a, $headimg, $headimghome):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27',1,'blogtheme_form(&amp;$a, $headimg, $headimghome):&#160;config.php']]],
- ['blogtheme_5fimgurl',['blogtheme_imgurl',['../blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec',1,'theme.php']]],
+ ['blocks_5finit',['blocks_init',['../blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9',1,'blocks.php']]],
['bookmark_5fadd',['bookmark_add',['../include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323',1,'bookmarks.php']]],
['bookmarks_2ephp',['bookmarks.php',['../include_2bookmarks_8php.html',1,'']]],
['bookmarks_2ephp',['bookmarks.php',['../mod_2bookmarks_8php.html',1,'']]],
diff --git a/doc/html/search/all_63.js b/doc/html/search/all_63.js
index d70828864..02105a0a3 100644
--- a/doc/html/search/all_63.js
+++ b/doc/html/search/all_63.js
@@ -5,14 +5,13 @@ var searchData=
['cal',['cal',['../datetime_8php.html#aea356409ba69f9de412298c998595dd2',1,'datetime.php']]],
['call_5fhooks',['call_hooks',['../plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c',1,'plugin.php']]],
['can_5fcomment_5fon_5fpost',['can_comment_on_post',['../items_8php.html#a1e75047cf175aaee8dd16aa761913ff9',1,'items.php']]],
+ ['catblock',['catblock',['../taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4',1,'taxonomy.php']]],
['categories_5fwidget',['categories_widget',['../contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353',1,'contact_widgets.php']]],
['change_5fchannel',['change_channel',['../security_8php.html#a8d23d2597aae380a3341872fe9513380',1,'security.php']]],
['change_5fpermissions',['change_permissions',['../classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67',1,'ProtoDriver\change_permissions()'],['../classZotDriver.html#a6776935156accb0f170e2e24577133db',1,'ZotDriver\change_permissions()']]],
['chanlink_5fcid',['chanlink_cid',['../text_8php.html#a85e3a4851c16674834010d8419a5d7ca',1,'text.php']]],
['chanlink_5fhash',['chanlink_hash',['../text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0',1,'text.php']]],
['chanlink_5furl',['chanlink_url',['../text_8php.html#a2e8d6c402603be3a1256a16605e09c2a',1,'text.php']]],
- ['chanman_2ephp',['chanman.php',['../chanman_8php.html',1,'']]],
- ['chanman_5fremove_5feverything_5ffrom_5fnetwork',['chanman_remove_everything_from_network',['../chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b',1,'chanman.php']]],
['channel_2ephp',['channel.php',['../channel_8php.html',1,'']]],
['channel_5fcontent',['channel_content',['../channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1',1,'channel.php']]],
['channel_5finit',['channel_init',['../channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc',1,'channel.php']]],
@@ -73,7 +72,7 @@ var searchData=
['client_5fmode_5fload',['CLIENT_MODE_LOAD',['../boot_8php.html#af6f6f6f40139f12fc09ec47373b30919',1,'boot.php']]],
['client_5fmode_5fnormal',['CLIENT_MODE_NORMAL',['../boot_8php.html#a43c6c7d84d880e9500bd4f8f8ecc5731',1,'boot.php']]],
['client_5fmode_5fupdate',['CLIENT_MODE_UPDATE',['../boot_8php.html#a3f40aa5bafff8c4eebdc62e5121daf77',1,'boot.php']]],
- ['close',['close',['../classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975',1,'dba_driver\close()'],['../classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e',1,'dba_mysql\close()'],['../classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55',1,'dba_mysqli\close()']]],
+ ['close',['close',['../classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975',1,'dba_driver\close()'],['../classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e',1,'dba_mysql\close()'],['../classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55',1,'dba_mysqli\close()'],['../classdba__postgres.html#a731d8648b41b8a126f6b99bdd5414058',1,'dba_postgres\close()']]],
['cloud_2ephp',['cloud.php',['../cloud_8php.html',1,'']]],
['cloud_5finit',['cloud_init',['../cloud_8php.html#ad2e96e917852f27dedfc263d37e13756',1,'cloud.php']]],
['collect',['collect',['../classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d',1,'ProtoDriver\collect()'],['../classZotDriver.html#af65febb26031eb7f39871b9e2a539797',1,'ZotDriver\collect()']]],
@@ -98,13 +97,12 @@ var searchData=
['common_5finit',['common_init',['../common_8php.html#aca62f113655809f41f49042ce9b123c2',1,'common.php']]],
['compare_5fpermissions',['compare_permissions',['../items_8php.html#a0790a4550b829e85504af548623002ca',1,'items.php']]],
['completeurl',['completeurl',['../parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a',1,'parse_url.php']]],
+ ['concat',['concat',['../classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4',1,'dba_driver\concat()'],['../classdba__postgres.html#a7ea3f24ad260c1e21588f8b5af595caa',1,'dba_postgres\concat()']]],
['config_2emd',['config.md',['../config_8md.html',1,'']]],
- ['config_2ephp',['config.php',['../include_2config_8php.html',1,'']]],
['config_2ephp',['config.php',['../view_2theme_2apw_2php_2config_8php.html',1,'']]],
- ['config_2ephp',['config.php',['../view_2theme_2blogga_2php_2config_8php.html',1,'']]],
- ['config_2ephp',['config.php',['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html',1,'']]],
['config_2ephp',['config.php',['../view_2theme_2redbasic_2php_2config_8php.html',1,'']]],
- ['connect',['connect',['../classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc',1,'dba_driver\connect()'],['../classdba__mysql.html#a1887338627ce0e28786839363014bd0b',1,'dba_mysql\connect()'],['../classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1',1,'dba_mysqli\connect()']]],
+ ['config_2ephp',['config.php',['../include_2config_8php.html',1,'']]],
+ ['connect',['connect',['../classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc',1,'dba_driver\connect()'],['../classdba__mysql.html#a1887338627ce0e28786839363014bd0b',1,'dba_mysql\connect()'],['../classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1',1,'dba_mysqli\connect()'],['../classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e',1,'dba_postgres\connect()']]],
['connect_2ephp',['connect.php',['../connect_8php.html',1,'']]],
['connect_5fcontent',['connect_content',['../connect_8php.html#a489f0a66c660de6ec4d6917b27674f07',1,'connect.php']]],
['connect_5finit',['connect_init',['../connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36',1,'connect.php']]],
@@ -142,11 +140,15 @@ var searchData=
['conversation_2ephp',['conversation.php',['../conversation_8php.html',1,'']]],
['conversationobject_2ephp',['ConversationObject.php',['../ConversationObject_8php.html',1,'']]],
['convert',['convert',['../namespacefriendica-to-smarty-tpl.html#a38503e37fe68ac27c88cce91a9ac9efa',1,'friendica-to-smarty-tpl']]],
+ ['convert_5fchild',['convert_child',['../classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a',1,'RedMatrix::Import::Import']]],
+ ['convert_5fitem',['convert_item',['../classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218',1,'RedMatrix::Import::Import']]],
+ ['convert_5ftaxonomy',['convert_taxonomy',['../classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6',1,'RedMatrix::Import::Import']]],
['convert_5fxml_5felement_5fto_5farray',['convert_xml_element_to_array',['../include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246',1,'network.php']]],
['count_5fall_5ffriends',['count_all_friends',['../socgraph_8php.html#af29d056beec10b4e38e5209c92452894',1,'socgraph.php']]],
['count_5fcommon_5ffriends',['count_common_friends',['../socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84',1,'socgraph.php']]],
['count_5fcommon_5ffriends_5fzcid',['count_common_friends_zcid',['../socgraph_8php.html#af175807406d94407a5e11742a3287746',1,'socgraph.php']]],
['count_5fdescendants',['count_descendants',['../classItem.html#aca1e66988ed00cd627b2a359b72cd0ae',1,'Item\count_descendants()'],['../conversation_8php.html#ab2383dff4f823e580399ff469d90ab19',1,'count_descendants():&#160;conversation.php']]],
+ ['count_5funseen_5fdescendants',['count_unseen_descendants',['../classItem.html#ae0c48b2fed5558642549cabd547fc4f3',1,'Item']]],
['create_5faccount',['create_account',['../account_8php.html#a141fe579c351c78209d425473f978eb5',1,'account.php']]],
['create_5fidentity',['create_identity',['../identity_8php.html#a345f4c943d84de502ec6e72d2c813945',1,'identity.php']]],
['create_5fsys_5fchannel',['create_sys_channel',['../identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05',1,'identity.php']]],
diff --git a/doc/html/search/all_64.js b/doc/html/search/all_64.js
index 5805f8a1c..b69aa1e2f 100644
--- a/doc/html/search/all_64.js
+++ b/doc/html/search/all_64.js
@@ -9,25 +9,36 @@ var searchData=
['datetime_5fconvert',['datetime_convert',['../datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226',1,'datetime.php']]],
['datetimesel',['datetimesel',['../datetime_8php.html#a72218e5ee21876484934bacbb6bd9ba3',1,'datetime.php']]],
['day_5ftranslate',['day_translate',['../text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63',1,'text.php']]],
+ ['db_5fconcat',['db_concat',['../dba__driver_8php.html#a7c1b98a710ead27382c958ad3216c4ee',1,'dba_driver.php']]],
+ ['db_5fgetfunc',['db_getfunc',['../dba__driver_8php.html#a2994daa03b1c23229a27e39bcab75e67',1,'dba_driver.php']]],
+ ['db_5foptimizetable',['db_optimizetable',['../dba__driver_8php.html#a75098bf1d59ea57f7ebae657a369137e',1,'dba_driver.php']]],
+ ['db_5fquoteinterval',['db_quoteinterval',['../dba__driver_8php.html#acec84a8fb75d78daf657cbe5df74e25a',1,'dba_driver.php']]],
['db_5fupdate_2ephp',['db_update.php',['../db__update_8php.html',1,'']]],
['db_5fupdate_5fversion',['DB_UPDATE_VERSION',['../boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03',1,'boot.php']]],
+ ['db_5futcnow',['db_utcnow',['../dba__driver_8php.html#a30e9a643be804e905f5614a3279d2645',1,'dba_driver.php']]],
['dba_5fdriver',['dba_driver',['../classdba__driver.html',1,'']]],
['dba_5fdriver_2ephp',['dba_driver.php',['../dba__driver_8php.html',1,'']]],
- ['dba_5ffactory',['dba_factory',['../dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947',1,'dba_driver.php']]],
+ ['dba_5ffactory',['dba_factory',['../dba__driver_8php.html#a5df8499634c47b30191f34069d7b98c0',1,'dba_driver.php']]],
['dba_5fmysql',['dba_mysql',['../classdba__mysql.html',1,'']]],
['dba_5fmysql_2ephp',['dba_mysql.php',['../dba__mysql_8php.html',1,'']]],
['dba_5fmysqli',['dba_mysqli',['../classdba__mysqli.html',1,'']]],
['dba_5fmysqli_2ephp',['dba_mysqli.php',['../dba__mysqli_8php.html',1,'']]],
+ ['dba_5fpostgres',['dba_postgres',['../classdba__postgres.html',1,'']]],
+ ['dba_5fpostgres_2ephp',['dba_postgres.php',['../dba__postgres_8php.html',1,'']]],
['dba_5ftimer',['dba_timer',['../boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4',1,'boot.php']]],
['dbesc',['dbesc',['../dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e',1,'dba_driver.php']]],
['dbesc_5farray',['dbesc_array',['../dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4',1,'dba_driver.php']]],
['dbesc_5farray_5fcb',['dbesc_array_cb',['../dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930',1,'dba_driver.php']]],
+ ['dbesc_5fidentifier',['dbesc_identifier',['../dba__driver_8php.html#aa051799567690a124a3b865bf902f58a',1,'dba_driver.php']]],
+ ['dbescbin',['dbescbin',['../dba__driver_8php.html#a2a38996670c2936b5769270c49c57593',1,'dba_driver.php']]],
+ ['dbescdate',['dbescdate',['../dba__driver_8php.html#a2c8a72ec73f39b17a167c90737693f78',1,'dba_driver.php']]],
['dbg',['dbg',['../classdba__driver.html#adcc1f8955120fec0708bce39202d0422',1,'dba_driver\dbg()'],['../dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb',1,'dbg():&#160;dba_driver.php']]],
['dbq',['dbq',['../dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee',1,'dba_driver.php']]],
+ ['dbtype_5fmysql',['DBTYPE_MYSQL',['../boot_8php.html#a8c9a11c47394244cbe18cd75b9726d5f',1,'boot.php']]],
+ ['dbtype_5fpostgres',['DBTYPE_POSTGRES',['../boot_8php.html#a37ddabc112db443b4c67fbc0f708817e',1,'boot.php']]],
+ ['dbunescbin',['dbunescbin',['../dba__driver_8php.html#afaaa1a7eff9c1b65b3b8c464ae37640e',1,'dba_driver.php']]],
['decode_5ftags',['decode_tags',['../items_8php.html#a56b2a4abcadfac71175cd50555528cc3',1,'items.php']]],
['default_2ephp',['default.php',['../php_2default_8php.html',1,'']]],
- ['default_2ephp',['default.php',['../theme_2blogga_2php_2default_8php.html',1,'']]],
- ['default_2ephp',['default.php',['../theme_2blogga_2view_2theme_2blog_2default_8php.html',1,'']]],
['default_2ephp',['default.php',['../theme_2mytheme_2php_2default_8php.html',1,'']]],
['default_5fdb_5fengine',['DEFAULT_DB_ENGINE',['../boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d',1,'boot.php']]],
['del_5fconfig',['del_config',['../include_2config_8php.html#a549910227348003efc3c05c9105c42da',1,'config.php']]],
@@ -85,6 +96,7 @@ var searchData=
['diaspora_5ful',['diaspora_ul',['../bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc',1,'bb2diaspora.php']]],
['diaspora_5funshare',['diaspora_unshare',['../diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200',1,'diaspora.php']]],
['dimport_2ephp',['dimport.php',['../dimport_8php.html',1,'']]],
+ ['dir_5fflag_5fbuild',['dir_flag_build',['../dirsearch_8php.html#ab6d5fefa98da249a994b910434a669c2',1,'dirsearch.php']]],
['dir_5ffns_2ephp',['dir_fns.php',['../dir__fns_8php.html',1,'']]],
['dir_5fparse_5fquery',['dir_parse_query',['../dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305',1,'dirsearch.php']]],
['dir_5fquery_5fbuild',['dir_query_build',['../dirsearch_8php.html#a52bcac49b0e35cc8c6b70066143c2ee2',1,'dirsearch.php']]],
@@ -92,8 +104,8 @@ var searchData=
['dir_5fsort_5flinks',['dir_sort_links',['../dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774',1,'dir_fns.php']]],
['dir_5ftagadelic',['dir_tagadelic',['../taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332',1,'taxonomy.php']]],
['dir_5ftagblock',['dir_tagblock',['../taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1',1,'taxonomy.php']]],
- ['directory_2ephp',['directory.php',['../mod_2directory_8php.html',1,'']]],
['directory_2ephp',['directory.php',['../include_2directory_8php.html',1,'']]],
+ ['directory_2ephp',['directory.php',['../mod_2directory_8php.html',1,'']]],
['directory_5fcontent',['directory_content',['../mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44',1,'directory.php']]],
['directory_5ffallback_5fmaster',['DIRECTORY_FALLBACK_MASTER',['../boot_8php.html#abedd940e664017c61b48c6efa31d0cb8',1,'boot.php']]],
['directory_5finit',['directory_init',['../mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf',1,'directory.php']]],
@@ -103,8 +115,6 @@ var searchData=
['directory_5fmode_5fstandalone',['DIRECTORY_MODE_STANDALONE',['../boot_8php.html#a25476eec71fceda237f7dc1d78b0adb8',1,'boot.php']]],
['directory_5frealm',['DIRECTORY_REALM',['../boot_8php.html#a6b9909db6a7ec80ec6fdd40ba74014dd',1,'boot.php']]],
['directory_5frun',['directory_run',['../include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0',1,'directory.php']]],
- ['dirprofile_2ephp',['dirprofile.php',['../dirprofile_8php.html',1,'']]],
- ['dirprofile_5finit',['dirprofile_init',['../dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052',1,'dirprofile.php']]],
['dirsearch_2ephp',['dirsearch.php',['../dirsearch_8php.html',1,'']]],
['dirsearch_5fcontent',['dirsearch_content',['../dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c',1,'dirsearch.php']]],
['dirsearch_5finit',['dirsearch_init',['../dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752',1,'dirsearch.php']]],
diff --git a/doc/html/search/all_65.js b/doc/html/search/all_65.js
index c8412e9e0..7efea7c31 100644
--- a/doc/html/search/all_65.js
+++ b/doc/html/search/all_65.js
@@ -2,12 +2,15 @@ var searchData=
[
['editblock_2ephp',['editblock.php',['../editblock_8php.html',1,'']]],
['editblock_5fcontent',['editblock_content',['../editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6',1,'editblock.php']]],
+ ['editblock_5finit',['editblock_init',['../editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e',1,'editblock.php']]],
['editlayout_2ephp',['editlayout.php',['../editlayout_8php.html',1,'']]],
['editlayout_5fcontent',['editlayout_content',['../editlayout_8php.html#aa877e4157a26b099de904164181dd386',1,'editlayout.php']]],
+ ['editlayout_5finit',['editlayout_init',['../editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7',1,'editlayout.php']]],
['editpost_2ephp',['editpost.php',['../editpost_8php.html',1,'']]],
['editpost_5fcontent',['editpost_content',['../editpost_8php.html#a34011690864d122680c802e9e748ccfb',1,'editpost.php']]],
['editwebpage_2ephp',['editwebpage.php',['../editwebpage_8php.html',1,'']]],
['editwebpage_5fcontent',['editwebpage_content',['../editwebpage_8php.html#a375e945255fad79a71036528f7480650',1,'editwebpage.php']]],
+ ['editwebpage_5finit',['editwebpage_init',['../editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f',1,'editwebpage.php']]],
['else',['else',['../auth_8php.html#a6f60fb54f60cd36c2430d6615a7b4f3f',1,'else():&#160;auth.php'],['../fpostit_8php.html#a501b5ca82f287509fc691c88524064c1',1,'else():&#160;fpostit.php'],['../tpldebug_8php.html#afbc7aadb3f7ff1edf0aaaa326a42179c',1,'else():&#160;tpldebug.php'],['../redbasic_2php_2style_8php.html#ab3afb90d611eca90819f597a2c0bb459',1,'else():&#160;style.php']]],
['email_5fheader_5fencode',['email_header_encode',['../include_2network_8php.html#a469b9bd700269cd07d954f1a16c5899b',1,'network.php']]],
['email_5fsend',['email_send',['../include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0',1,'network.php']]],
@@ -22,8 +25,10 @@ var searchData=
['enumerate_5fpermissions',['enumerate_permissions',['../items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67',1,'items.php']]],
['eol',['EOL',['../boot_8php.html#a0603d6ece8c5d37b4b7db697db053a4b',1,'boot.php']]],
['eot',['EOT',['../typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805',1,'typohelper.php']]],
- ['escape',['escape',['../classdba__driver.html#afc95ffa103a3290581b537670cde5311',1,'dba_driver\escape()'],['../classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e',1,'dba_mysql\escape()'],['../classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64',1,'dba_mysqli\escape()']]],
+ ['escape',['escape',['../classdba__driver.html#afc95ffa103a3290581b537670cde5311',1,'dba_driver\escape()'],['../classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e',1,'dba_mysql\escape()'],['../classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64',1,'dba_mysqli\escape()'],['../classdba__postgres.html#a7108eaaae7cc2fb236212041afc9ac0f',1,'dba_postgres\escape()']]],
+ ['escape_5fidentifier',['escape_identifier',['../classdba__postgres.html#ab2e44e9f41d05e585afd873d18e8c127',1,'dba_postgres']]],
['escape_5ftags',['escape_tags',['../text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64',1,'text.php']]],
+ ['escapebin',['escapebin',['../classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd',1,'dba_driver\escapebin()'],['../classdba__postgres.html#a8d2c6d8c92fe6f074452876483dd17fc',1,'dba_postgres\escapebin()']]],
['ev_5fcompare',['ev_compare',['../event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850',1,'event.php']]],
['event_2ephp',['event.php',['../event_8php.html',1,'']]],
['event_5faddtocal',['event_addtocal',['../event_8php.html#ac9f206819186b65952ac1869f0da8c6e',1,'event.php']]],
diff --git a/doc/html/search/all_66.js b/doc/html/search/all_66.js
index cba5b9135..7e2378199 100644
--- a/doc/html/search/all_66.js
+++ b/doc/html/search/all_66.js
@@ -12,7 +12,6 @@ var searchData=
['fetch_5flrdd_5ftemplate',['fetch_lrdd_template',['../include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0',1,'network.php']]],
['fetch_5fpost_5ftags',['fetch_post_tags',['../items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9',1,'items.php']]],
['fetch_5fxrd_5flinks',['fetch_xrd_links',['../include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d',1,'network.php']]],
- ['field_5ftimezone',['field_timezone',['../datetime_8php.html#a03900dcf0f9e3c58793a031673a70326',1,'datetime.php']]],
['file_5ftag_5fdecode',['file_tag_decode',['../taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6',1,'taxonomy.php']]],
['file_5ftag_5fencode',['file_tag_encode',['../taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37',1,'taxonomy.php']]],
['file_5ftag_5ffile_5fquery',['file_tag_file_query',['../taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1',1,'taxonomy.php']]],
@@ -44,12 +43,13 @@ var searchData=
['fix_5fprivate_5fphotos',['fix_private_photos',['../items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87',1,'items.php']]],
['fix_5fsystem_5furls',['fix_system_urls',['../boot_8php.html#aca5e42678e178c6b9034610d66666fd7',1,'boot.php']]],
['fixacl',['fixacl',['../acl__selectors_8php.html#ad6664fb8330308e23f2645cd6624727e',1,'acl_selectors.php']]],
+ ['fixd_2ephp',['fixd.php',['../fixd_8php.html',1,'']]],
['fkoauth1',['FKOAuth1',['../classFKOAuth1.html',1,'']]],
['fkoauthdatastore',['FKOAuthDataStore',['../classFKOAuthDataStore.html',1,'']]],
['flip',['flip',['../classphoto__driver.html#a2b2a99021fc63ed6465d703ddddcb832',1,'photo_driver\flip()'],['../classphoto__gd.html#a44cedef376044018702d9355ddc813ce',1,'photo_gd\flip()'],['../classphoto__imagick.html#aff6bcdbab18593a3fc5a480db8509393',1,'photo_imagick\flip()']]],
['fnull',['fnull',['../namespaceupdatetpl.html#a79c20eb62d568c999b56eb08530355d3',1,'updatetpl']]],
- ['follow_2ephp',['follow.php',['../include_2follow_8php.html',1,'']]],
['follow_2ephp',['follow.php',['../mod_2follow_8php.html',1,'']]],
+ ['follow_2ephp',['follow.php',['../include_2follow_8php.html',1,'']]],
['follow_5fcontent',['follow_content',['../mod_2follow_8php.html#a4c540ea4e9f5c581c1a53516ac585592',1,'follow.php']]],
['follow_5finit',['follow_init',['../mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a',1,'follow.php']]],
['foofoo',['foofoo',['../dimport_8php.html#a581f040717941ce3e1868b0b5dceefd1',1,'dimport.php']]],
@@ -59,8 +59,10 @@ var searchData=
['format_5fevent_5fbbcode',['format_event_bbcode',['../event_8php.html#abb74206cf42d694307c3d7abb7af9869',1,'event.php']]],
['format_5fevent_5fdiaspora',['format_event_diaspora',['../bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863',1,'bb2diaspora.php']]],
['format_5fevent_5fhtml',['format_event_html',['../event_8php.html#a2ac9f1b08de03250ecd794f705781d17',1,'event.php']]],
+ ['format_5fevent_5fical',['format_event_ical',['../event_8php.html#a3ff7f1824540a38f4a3991a59a9542d4',1,'event.php']]],
['format_5ffiler',['format_filer',['../text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91',1,'text.php']]],
['format_5fhashtags',['format_hashtags',['../text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59',1,'text.php']]],
+ ['format_5fical_5ftext',['format_ical_text',['../event_8php.html#a05073cd4ab837bd4a0149e8ed23ce688',1,'event.php']]],
['format_5fjs_5fif_5fexists',['format_js_if_exists',['../plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f',1,'plugin.php']]],
['format_5flike',['format_like',['../conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3',1,'conversation.php']]],
['format_5flocation',['format_location',['../conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3',1,'conversation.php']]],
diff --git a/doc/html/search/all_67.js b/doc/html/search/all_67.js
index db91dd09e..0cae305da 100644
--- a/doc/html/search/all_67.js
+++ b/doc/html/search/all_67.js
@@ -3,6 +3,8 @@ var searchData=
['gen_5ftoken',['gen_token',['../classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819',1,'FKOAuthDataStore']]],
['gender_5fselector',['gender_selector',['../profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355',1,'profile_selectors.php']]],
['gender_5fselector_5fmin',['gender_selector_min',['../profile__selectors_8php.html#a8bfa1ca2d1598a3d65f1f9bb803ca816',1,'profile_selectors.php']]],
+ ['generate_5fmap',['generate_map',['../text_8php.html#ae0333c304ec5b4b72e66bb2933fa7357',1,'text.php']]],
+ ['generate_5fnamed_5fmap',['generate_named_map',['../text_8php.html#af5eb4a9c1599764f80c5bc71e0125d4b',1,'text.php']]],
['generatedirectoryindex',['generateDirectoryIndex',['../classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09',1,'RedMatrix::RedDAV::RedBrowser']]],
['get',['get',['../classCache.html#a70392b109331897bf9fdd7f1960e21de',1,'Cache\get()'],['../classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8',1,'RedMatrix\RedDAV\RedFile\get()']]],
['get_5faccount',['get_account',['../classApp.html#a08bc87aff64f39fbc084e9d6545cee4d',1,'App']]],
@@ -20,8 +22,9 @@ var searchData=
['get_5fcapath',['get_capath',['../include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7',1,'network.php']]],
['get_5fchannel',['get_channel',['../classApp.html#a084e03c77686d8c13390fef3f7428a2b',1,'App']]],
['get_5fchannel_5fby_5fnick',['get_channel_by_nick',['../identity_8php.html#ac73b3e13778c564c877554517a7f51ba',1,'identity.php']]],
+ ['get_5fchannel_5fdefault_5fperms',['get_channel_default_perms',['../identity_8php.html#a293f416ce9050220b183e08ff5890216',1,'identity.php']]],
['get_5fchild',['get_child',['../classItem.html#a632185dd25c5caf277067c76230a4320',1,'Item']]],
- ['get_5fchildren',['get_children',['../classItem.html#aa0ee775ec94abccec6c798428835d001',1,'Item']]],
+ ['get_5fchildren',['get_children',['../classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8',1,'RedMatrix\Import\Import\get_children()'],['../classItem.html#aa0ee775ec94abccec6c798428835d001',1,'Item\get_children()']]],
['get_5fcipher',['get_cipher',['../classConversation.html#a4aab60bb39fa6761b6cacdc8d9da2901',1,'Conversation']]],
['get_5fcloudpath',['get_cloudpath',['../include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce',1,'attach.php']]],
['get_5fcomment_5fbox',['get_comment_box',['../classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf',1,'Item']]],
@@ -29,6 +32,7 @@ var searchData=
['get_5fconfig',['get_config',['../include_2config_8php.html#af02c96e6b37335774b548914ede1d22e',1,'config.php']]],
['get_5fconfig_5ffrom_5fstorage',['get_config_from_storage',['../include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74',1,'config.php']]],
['get_5fconversation',['get_conversation',['../classItem.html#a0c301aaed2b7d682728d18db3a22afa3',1,'Item']]],
+ ['get_5fcredentials',['get_credentials',['../classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367',1,'RedMatrix::Import::Import']]],
['get_5fcustom_5fnav',['get_custom_nav',['../boot_8php.html#a899d24fd074594ceebbf72e1feff335f',1,'boot.php']]],
['get_5fdata',['get_data',['../classItem.html#ad3638f93065693c1f69eb349feb1b7aa',1,'Item']]],
['get_5fdata_5fvalue',['get_data_value',['../classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c',1,'Item']]],
@@ -38,6 +42,7 @@ var searchData=
['get_5fdiaspora_5freshare_5fxml',['get_diaspora_reshare_xml',['../diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7',1,'diaspora.php']]],
['get_5fdim',['get_dim',['../datetime_8php.html#a7df24d72ea05922d3127363e2295174c',1,'datetime.php']]],
['get_5fdirectory_5frealm',['get_directory_realm',['../boot_8php.html#a329400dcb29897cdaae3020109272285',1,'boot.php']]],
+ ['get_5fdisplay_5fmode',['get_display_mode',['../classItem.html#a23d4057883f8ed888c0c2ff12d8aa5d0',1,'Item']]],
['get_5fevents',['get_events',['../identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312',1,'identity.php']]],
['get_5ffeatures',['get_features',['../features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c',1,'features.php']]],
['get_5ffeed_5ffor',['get_feed_for',['../items_8php.html#a04a35b610acfe54434df08adec39c0c7',1,'items.php']]],
@@ -47,10 +52,14 @@ var searchData=
['get_5fgroups',['get_groups',['../classApp.html#a4659785d13e4bac0bed50dbb1b0d4299',1,'App']]],
['get_5fhostname',['get_hostname',['../classApp.html#a622eace13f8fc9f4b5672a68e2bc4396',1,'App']]],
['get_5fid',['get_id',['../classItem.html#ac0f27e58532612f6e7a54c8a621b9b92',1,'Item']]],
+ ['get_5finstall_5fscript',['get_install_script',['../classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48',1,'dba_driver']]],
['get_5fintltext_5ftemplate',['get_intltext_template',['../classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118',1,'FriendicaSmartyEngine\get_intltext_template()'],['../plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295',1,'get_intltext_template():&#160;plugin.php']]],
+ ['get_5fitem',['get_item',['../classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2',1,'RedMatrix::Import::Import']]],
['get_5fitem_5fchildren',['get_item_children',['../conversation_8php.html#a7f6ef0dfa554bacf620e84c18d386e67',1,'conversation.php']]],
['get_5fitem_5fcontact',['get_item_contact',['../items_8php.html#aab9c6bae4c40799867596bdaae9829fd',1,'items.php']]],
['get_5fitem_5felements',['get_item_elements',['../items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361',1,'items.php']]],
+ ['get_5fitem_5fident',['get_item_ident',['../classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059',1,'RedMatrix::Import::Import']]],
+ ['get_5fitemlist',['get_itemlist',['../classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc',1,'RedMatrix::Import::Import']]],
['get_5flanguage_5fname',['get_language_name',['../language_8php.html#a43e6ddba9df019c9ac3ab4c94c444ae7',1,'language.php']]],
['get_5fmail_5felements',['get_mail_elements',['../items_8php.html#a94ddb1d6c8fa21dd7433677e85168037',1,'items.php']]],
['get_5fmarkup_5ftemplate',['get_markup_template',['../interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442',1,'ITemplateEngine\get_markup_template()'],['../classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88',1,'FriendicaSmartyEngine\get_markup_template()'],['../classTemplate.html#afd97b4b1e7754a550e67c0ea79159059',1,'Template\get_markup_template()'],['../plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4',1,'get_markup_template():&#160;plugin.php']]],
@@ -60,6 +69,7 @@ var searchData=
['get_5fmood_5fverbs',['get_mood_verbs',['../text_8php.html#a736db13a966b8abaf8c9198faa35911a',1,'text.php']]],
['get_5fmy_5faddress',['get_my_address',['../identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2',1,'identity.php']]],
['get_5fmy_5furl',['get_my_url',['../identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec',1,'identity.php']]],
+ ['get_5fnull_5fdate',['get_null_date',['../classdba__driver.html#a65a5c7b355ab5529a43049e160006426',1,'dba_driver']]],
['get_5fobserver',['get_observer',['../classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2',1,'App\get_observer()'],['../classConversation.html#ae3d4190142e12b57051f11f2911f77a0',1,'Conversation\get_observer()']]],
['get_5fobserver_5fhash',['get_observer_hash',['../boot_8php.html#a623e49c79943f3e7bdb770d021683cf7',1,'boot.php']]],
['get_5fonline_5fstatus',['get_online_status',['../identity_8php.html#a332df795f684788002f5a6424abacfd7',1,'identity.php']]],
@@ -74,6 +84,7 @@ var searchData=
['get_5fplink',['get_plink',['../text_8php.html#aac0969ae09853205992ba06ab9f9f61a',1,'text.php']]],
['get_5fplugin_5finfo',['get_plugin_info',['../plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35',1,'plugin.php']]],
['get_5fpoke_5fverbs',['get_poke_verbs',['../text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66',1,'text.php']]],
+ ['get_5fpoller_5fruntime',['get_poller_runtime',['../boot_8php.html#aa561f801e962b67a5c4d0548ea95fd17',1,'boot.php']]],
['get_5fprofile_5felements',['get_profile_elements',['../items_8php.html#a251343637ff40a50cca93452cd530c26',1,'items.php']]],
['get_5fprofile_5ffields_5fadvanced',['get_profile_fields_advanced',['../identity_8php.html#a224710dfb7465b706c91134247c20afa',1,'identity.php']]],
['get_5fprofile_5ffields_5fbasic',['get_profile_fields_basic',['../identity_8php.html#a4ff59df0f0a668a06a8411f87496aa21',1,'identity.php']]],
@@ -82,10 +93,12 @@ var searchData=
['get_5fredirect_5furl',['get_redirect_url',['../classItem.html#a428f448f89a8629055ea3294eb942aea',1,'Item']]],
['get_5frel_5flink',['get_rel_link',['../text_8php.html#a3972701c5c83624ec4e2d06242f614e7',1,'text.php']]],
['get_5frole_5fperms',['get_role_perms',['../permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe',1,'permissions.php']]],
+ ['get_5froles',['get_roles',['../permissions_8php.html#a6b239a0d494b92a89ce7bf9c7e588991',1,'permissions.php']]],
['get_5frpost_5fpath',['get_rpost_path',['../zot_8php.html#a8e22dbc6f884be3644a892a876cbd972',1,'zot.php']]],
['get_5fsys_5fchannel',['get_sys_channel',['../identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51',1,'identity.php']]],
['get_5fsystem_5fapps',['get_system_apps',['../include_2apps_8php.html#ae64f72eb4f126e03b4eb65ed1702a3ca',1,'apps.php']]],
['get_5ftags',['get_tags',['../text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623',1,'text.php']]],
+ ['get_5ftaxonomy',['get_taxonomy',['../classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c',1,'RedMatrix::Import::Import']]],
['get_5ftemplate',['get_template',['../classItem.html#aba23a0a9d89e316d2b343cc46d695d91',1,'Item']]],
['get_5ftemplate_5fdata',['get_template_data',['../classConversation.html#a2a96b7a6573ae53db861624659e831cb',1,'Conversation\get_template_data()'],['../classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8',1,'Item\get_template_data()']]],
['get_5ftemplate_5fengine',['get_template_engine',['../classApp.html#acb27e607fe4c82603444676e25c36b70',1,'App']]],
@@ -98,6 +111,7 @@ var searchData=
['get_5ftheme_5fuid',['get_theme_uid',['../identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3',1,'identity.php']]],
['get_5fthings',['get_things',['../taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de',1,'taxonomy.php']]],
['get_5fthread',['get_thread',['../classConversation.html#a4cff75d8c46b517e7133e4d0da6fc1c8',1,'Conversation']]],
+ ['get_5ftimezones',['get_timezones',['../datetime_8php.html#afbb34604d0f6e7d2103da4f42e2487b1',1,'datetime.php']]],
['get_5fwidgets',['get_widgets',['../classApp.html#a871898becd0697d778f36d9336253ae8',1,'App']]],
['get_5fwords',['get_words',['../spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6',1,'spam.php']]],
['get_5fxconfig',['get_xconfig',['../include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e',1,'config.php']]],
@@ -107,9 +121,11 @@ var searchData=
['getcontenttype',['getContentType',['../classRedMatrix_1_1RedDAV_1_1RedFile.html#af5c88b75d0c1f590af03755534cb167e',1,'RedMatrix::RedDAV::RedFile']]],
['getcurrentuser',['getCurrentUser',['../classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#aa0b2a5fa9186d7dc0e637f1ecb379c42',1,'RedMatrix::RedDAV::RedBasicAuth']]],
['getdir',['getDir',['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d',1,'RedMatrix::RedDAV::RedDirectory']]],
+ ['getdriver',['getdriver',['../classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14',1,'dba_driver\getdriver()'],['../classdba__mysql.html#a31011edd67b6b394355bf04cedb498d0',1,'dba_mysql\getdriver()'],['../classdba__mysqli.html#a6eb6c578c6928908321e5e6da866e1db',1,'dba_mysqli\getdriver()'],['../classdba__postgres.html#ae0f834413e57cf0735ae7b64b2f71e68',1,'dba_postgres\getdriver()']]],
['getetag',['getETag',['../classRedMatrix_1_1RedDAV_1_1RedFile.html#a9f14682acf3ccb70df5af5dd0687c689',1,'RedMatrix::RedDAV::RedFile']]],
['getext',['getExt',['../classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba',1,'photo_driver']]],
['getheight',['getHeight',['../classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468',1,'photo_driver']]],
+ ['geticonfromtype',['getIconFromType',['../classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a810af4506cb3247e0ea7b0c4accbbc7a',1,'RedMatrix::RedDAV::RedBrowser']]],
['getimage',['getImage',['../classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5',1,'photo_driver\getImage()'],['../classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484',1,'photo_gd\getImage()'],['../classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc',1,'photo_imagick\getImage()']]],
['getlastmodified',['getLastModified',['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5',1,'RedMatrix\RedDAV\RedDirectory\getLastModified()'],['../classRedMatrix_1_1RedDAV_1_1RedFile.html#ac47016aa0e3f6f1a1c4570bd6fd8cf25',1,'RedMatrix\RedDAV\RedFile\getLastModified()']]],
['getname',['getName',['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a55f7172814a0749b5342f152ab3fa0df',1,'RedMatrix\RedDAV\RedDirectory\getName()'],['../classRedMatrix_1_1RedDAV_1_1RedFile.html#ac945aa782d6c035d339e59974266ec4d',1,'RedMatrix\RedDAV\RedFile\getName()']]],
diff --git a/doc/html/search/all_68.js b/doc/html/search/all_68.js
index 216dd68d1..184f04666 100644
--- a/doc/html/search/all_68.js
+++ b/doc/html/search/all_68.js
@@ -1,7 +1,7 @@
var searchData=
[
['handle_5ffeed',['handle_feed',['../items_8php.html#a52c24114b73c0bdb605a03cd29712223',1,'items.php']]],
- ['handle_5ftag',['handle_tag',['../item_8php.html#aa22feef4de326e1d7078dedd892e615c',1,'item.php']]],
+ ['handle_5ftag',['handle_tag',['../text_8php.html#aa22feef4de326e1d7078dedd892e615c',1,'text.php']]],
['has_5fpermissions',['has_permissions',['../items_8php.html#a77051724d1784074ff187e73a4db93fe',1,'items.php']]],
['hcard_2ephp',['hcard.php',['../hcard_8php.html',1,'']]],
['hcard_5fcontent',['hcard_content',['../hcard_8php.html#a3663012f1549849af88aba2bb87388e3',1,'hcard.php']]],
@@ -20,7 +20,7 @@ var searchData=
['help_5fcontent',['help_content',['../help_8php.html#af055e15f600ffa6fbca9386fdf715224',1,'help.php']]],
['hivenet_5finit',['hivenet_init',['../hivenet_2php_2theme_8php.html#a3a8b539b112ae63936025236dbaf0a29',1,'theme.php']]],
['home_2ephp',['home.php',['../home_8php.html',1,'']]],
- ['home_5fcontent',['home_content',['../home_8php.html#aa1cf697851a646755baf537f75334c46',1,'home.php']]],
+ ['home_5fcontent',['home_content',['../home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f',1,'home.php']]],
['home_5finit',['home_init',['../home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde',1,'home.php']]],
['hostxrd_2ephp',['hostxrd.php',['../hostxrd_8php.html',1,'']]],
['hostxrd_5finit',['hostxrd_init',['../hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92',1,'hostxrd.php']]],
diff --git a/doc/html/search/all_69.js b/doc/html/search/all_69.js
index 26597f86b..887925d63 100644
--- a/doc/html/search/all_69.js
+++ b/doc/html/search/all_69.js
@@ -1,5 +1,6 @@
var searchData=
[
+ ['ical_5fwrapper',['ical_wrapper',['../event_8php.html#ab8cc2825013e724dc26229026711cf93',1,'event.php']]],
['identity_2ephp',['identity.php',['../identity_8php.html',1,'']]],
['identity_5fbasic_5fexport',['identity_basic_export',['../identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249',1,'identity.php']]],
['identity_5fcheck_5fservice_5fclass',['identity_check_service_class',['../identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633',1,'identity.php']]],
@@ -9,6 +10,7 @@ var searchData=
['imagestring',['imageString',['../classphoto__driver.html#abc9f73ad90923772d52b9fcc4eb117dd',1,'photo_driver\imageString()'],['../classphoto__gd.html#a0795fc029be382557ae3f6e285f40e00',1,'photo_gd\imageString()'],['../classphoto__imagick.html#a70adbef31128c0ac8cbc5dcf34cdb019',1,'photo_imagick\imageString()']]],
['impel_2ephp',['impel.php',['../impel_8php.html',1,'']]],
['impel_5finit',['impel_init',['../impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b',1,'impel.php']]],
+ ['import',['Import',['../classRedMatrix_1_1Import_1_1Import.html',1,'RedMatrix::Import']]],
['import_2ephp',['import.php',['../import_8php.html',1,'']]],
['import_5fauthor_5fdiaspora',['import_author_diaspora',['../items_8php.html#a2c3f97b2109c05df86d97449b3c78ebc',1,'items.php']]],
['import_5fauthor_5frss',['import_author_rss',['../items_8php.html#a6bee35961f2e32905f20367a9309d627',1,'items.php']]],
@@ -25,11 +27,13 @@ var searchData=
['import_5fxchan',['import_xchan',['../zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315',1,'zot.php']]],
['importelm_2ephp',['importelm.php',['../importelm_8php.html',1,'']]],
['importelm_5fpost',['importelm_post',['../importelm_8php.html#a1a4f71e6d76ace6add5e9659845f5e5f',1,'importelm.php']]],
+ ['importer_2ephp',['Importer.php',['../Importer_8php.html',1,'']]],
['in_5farrayi',['in_arrayi',['../text_8php.html#a75c326298519ed14ebe762194c8a3f2a',1,'text.php']]],
['info',['info',['../boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498',1,'boot.php']]],
['insert_5fhook',['insert_hook',['../plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b',1,'plugin.php']]],
['install',['install',['../classdba__driver.html#a4ccb27243e62a8ca30dd8e1b8cc67746',1,'dba_driver']]],
['install_5fplugin',['install_plugin',['../plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5',1,'plugin.php']]],
+ ['install_5fscript',['INSTALL_SCRIPT',['../classdba__driver.html#a98d8523dcedda316085b4d4f856b6583',1,'dba_driver\INSTALL_SCRIPT()'],['../classdba__postgres.html#a7267f91c3f87f600b30d7560de62dfd7',1,'dba_postgres\INSTALL_SCRIPT()']]],
['invite_2ephp',['invite.php',['../invite_8php.html',1,'']]],
['invite_5fcontent',['invite_content',['../invite_8php.html#a244385b28cfd021d308715f01158bfd9',1,'invite.php']]],
['invite_5fpost',['invite_post',['../invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5',1,'invite.php']]],
diff --git a/doc/html/search/all_6c.js b/doc/html/search/all_6c.js
index 765d4c768..2f79bf4e6 100644
--- a/doc/html/search/all_6c.js
+++ b/doc/html/search/all_6c.js
@@ -9,6 +9,7 @@ var searchData=
['layout_5fselect',['layout_select',['../text_8php.html#a3999a0b3e22e440f280ee791ce34d384',1,'text.php']]],
['layouts_2ephp',['layouts.php',['../layouts_8php.html',1,'']]],
['layouts_5fcontent',['layouts_content',['../layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50',1,'layouts.php']]],
+ ['layouts_5finit',['layouts_init',['../layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa',1,'layouts.php']]],
['ldelim',['ldelim',['../namespacefriendica-to-smarty-tpl.html#a0b4cf73d1a8d201a28d269eeb62a5d5c',1,'friendica-to-smarty-tpl']]],
['legal_5fwebbie',['legal_webbie',['../text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728',1,'text.php']]],
['like_2ephp',['like.php',['../like_8php.html',1,'']]],
@@ -17,8 +18,9 @@ var searchData=
['limit_5fbody_5fsize',['limit_body_size',['../items_8php.html#af94c281016c6c912d06e064113336c5c',1,'items.php']]],
['link_5fcompare',['link_compare',['../text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285',1,'text.php']]],
['linkify',['linkify',['../text_8php.html#a11255c8c4e5245b6c24f97684826aa54',1,'text.php']]],
- ['list_5fpost_5fdates',['list_post_dates',['../items_8php.html#aa2d3caa2f27720762b5c729e07df40fb',1,'items.php']]],
+ ['list_5fpost_5fdates',['list_post_dates',['../items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00',1,'items.php']]],
['list_5fpublic_5fsites',['list_public_sites',['../dirsearch_8php.html#a985d410a170549429857af6ff2673149',1,'dirsearch.php']]],
+ ['list_5fsmilies',['list_smilies',['../text_8php.html#a4446c7f8996a280f7e08b7bfe6c6c8bc',1,'text.php']]],
['load',['load',['../classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712',1,'photo_driver\load()'],['../classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9',1,'photo_gd\load()'],['../classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8',1,'photo_imagick\load()']]],
['load_5fconfig',['load_config',['../include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1',1,'config.php']]],
['load_5fcontact_5flinks',['load_contact_links',['../boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6',1,'boot.php']]],
@@ -36,8 +38,10 @@ var searchData=
['lockview_2ephp',['lockview.php',['../lockview_8php.html',1,'']]],
['lockview_5fcontent',['lockview_content',['../lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44',1,'lockview.php']]],
['locs_2ephp',['locs.php',['../locs_8php.html',1,'']]],
+ ['locs_5fcontent',['locs_content',['../locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44',1,'locs.php']]],
['locs_5fpost',['locs_post',['../locs_8php.html#a6b43654592919ac863d67a1f787a69b9',1,'locs.php']]],
['log',['log',['../classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abf6fe89b0a8239ed93c3b07e1fbce75b',1,'RedMatrix\RedDAV\RedBasicAuth\log()'],['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#af90a1a74cfd643a5c56b9a17ea250d59',1,'RedMatrix\RedDAV\RedDirectory\log()']]],
+ ['log_5ffailed_5flogin',['log_failed_login',['../auth_8php.html#ae3ecb5f34f202c7f9a61c5d589f6c6e1',1,'auth.php']]],
['logger',['logger',['../text_8php.html#a030fa5ecc64168af0c4f44897a9bce63',1,'text.php']]],
['logger_5fall',['LOGGER_ALL',['../boot_8php.html#afe63ae69ba55299f813766e54df06ede',1,'boot.php']]],
['logger_5fdata',['LOGGER_DATA',['../boot_8php.html#a6969947145a139ec374ce098224d8e81',1,'boot.php']]],
diff --git a/doc/html/search/all_6e.js b/doc/html/search/all_6e.js
index 1cd1e0dd5..033269fb9 100644
--- a/doc/html/search/all_6e.js
+++ b/doc/html/search/all_6e.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['n',['n',['../php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b',1,'php2po.php']]],
+ ['n',['n',['../fixd_8php.html#a9d4f8a2ab4d92b3ccfd7cba0458098eb',1,'n():&#160;fixd.php'],['../php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b',1,'n():&#160;php2po.php']]],
['names',['names',['../namespaceupdatetpl.html#ab42dd79af65ee82201fd6f04715f62f6',1,'updatetpl']]],
['nameslist',['namesList',['../docblox__errorchecker_8php.html#a2b767cfc461fdd5061fffc9e4a806d5b',1,'docblox_errorchecker.php']]],
['namespace_5factivity',['NAMESPACE_ACTIVITY',['../boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2',1,'boot.php']]],
@@ -89,5 +89,5 @@ var searchData=
['notify_5fwall',['NOTIFY_WALL',['../boot_8php.html#a505410c7edc5f5bb5fa227b98359793e',1,'boot.php']]],
['notred_2ephp',['notred.php',['../notred_8php.html',1,'']]],
['nuke_5fsession',['nuke_session',['../auth_8php.html#a2add3a1129ffa4d5515442a9d52a9b1a',1,'auth.php']]],
- ['null_5fdate',['NULL_DATE',['../boot_8php.html#a6cd1b4081630b2bf7be38836cd9f410c',1,'boot.php']]]
+ ['null_5fdate',['NULL_DATE',['../classdba__driver.html#afce39394c010ea589d99a21579b2c31e',1,'dba_driver\NULL_DATE()'],['../classdba__postgres.html#aeb404a85974d6c5df30c21650888000b',1,'dba_postgres\NULL_DATE()']]]
];
diff --git a/doc/html/search/all_6f.js b/doc/html/search/all_6f.js
index 65f262de1..dfad733d0 100644
--- a/doc/html/search/all_6f.js
+++ b/doc/html/search/all_6f.js
@@ -30,6 +30,7 @@ var searchData=
['openid_5fcontent',['openid_content',['../openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43',1,'openid.php']]],
['opensearch_2ephp',['opensearch.php',['../opensearch_8php.html',1,'']]],
['opensearch_5finit',['opensearch_init',['../opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9',1,'opensearch.php']]],
+ ['optimize_5ftable',['optimize_table',['../classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092',1,'dba_driver\optimize_table()'],['../classdba__postgres.html#a3de1ac375e98886dfc38fd0066e88f90',1,'dba_postgres\optimize_table()']]],
['orient',['orient',['../classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d',1,'photo_driver']]],
['os_5fmkdir',['os_mkdir',['../boot_8php.html#a5fbebdf7a1c0ea8f904dbd9d78c2c06c',1,'boot.php']]],
['outf',['outf',['../namespacefriendica-to-smarty-tpl.html#a87182a9bab47640428bd0b2b9946bef9',1,'friendica-to-smarty-tpl']]],
diff --git a/doc/html/search/all_70.js b/doc/html/search/all_70.js
index 94227af82..931668885 100644
--- a/doc/html/search/all_70.js
+++ b/doc/html/search/all_70.js
@@ -66,9 +66,11 @@ var searchData=
['perms_5fw_5ftagwall',['PERMS_W_TAGWALL',['../boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777',1,'boot.php']]],
['perms_5fw_5fwall',['PERMS_W_WALL',['../boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2',1,'boot.php']]],
['photo_2ephp',['photo.php',['../photo_8php.html',1,'']]],
+ ['photo_5fadult',['PHOTO_ADULT',['../boot_8php.html#a921c55b9fa59a327a5f0e07fa1ccb2e0',1,'boot.php']]],
['photo_5fdriver',['photo_driver',['../classphoto__driver.html',1,'']]],
['photo_5fdriver_2ephp',['photo_driver.php',['../photo__driver_8php.html',1,'']]],
['photo_5ffactory',['photo_factory',['../photo__driver_8php.html#a32e2817faa25d7f11f60a8abff565035',1,'photo_driver.php']]],
+ ['photo_5fflag_5fos',['PHOTO_FLAG_OS',['../boot_8php.html#ab49a5d43ce1150c5af8c750ccb14e15f',1,'boot.php']]],
['photo_5fgd',['photo_gd',['../classphoto__gd.html',1,'']]],
['photo_5fgd_2ephp',['photo_gd.php',['../photo__gd_8php.html',1,'']]],
['photo_5fimagick',['photo_imagick',['../classphoto__imagick.html',1,'']]],
@@ -133,26 +135,6 @@ var searchData=
['post_5factivity_5fitem',['post_activity_item',['../items_8php.html#a410f9c743877c125ca06312373346903',1,'items.php']]],
['post_5finit',['post_init',['../post_8php.html#af4b48181ce773ef0cdfc972441445c34',1,'post.php']]],
['post_5fpost',['post_post',['../post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75',1,'post.php']]],
- ['post_5fto_5fred_2ephp',['post_to_red.php',['../post__to__red_8php.html',1,'']]],
- ['post_5fto_5fred_5facct_5fname',['post_to_red_acct_name',['../post__to__red_8php.html#a588cea66afe0b32f27f2713d44940119',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fadmin',['post_to_red_admin',['../post__to__red_8php.html#aeec4125719184e7b097b3b9fba3101b5',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fdeactivate',['post_to_red_deactivate',['../post__to__red_8php.html#a49fd35f7b1cdddfe6e26ddfcf8d3c4ec',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fdelete_5fcomment',['post_to_red_delete_comment',['../post__to__red_8php.html#a5cc2a89a6d33cdb8e2ca557a69bef42d',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fdelete_5fpost',['post_to_red_delete_post',['../post__to__red_8php.html#a4674bb5ce2baa32c559607460c39a2c5',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fdisplay_5fadmin_5fpage',['post_to_red_display_admin_page',['../post__to__red_8php.html#a8ec8f8809e3c5d1b2c9598c8185d63aa',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fdisplayadmincontent',['post_to_red_displayAdminContent',['../post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fget_5facct_5fname',['post_to_red_get_acct_name',['../post__to__red_8php.html#ae6f3a2c0561cbeacda5be565b06de8a7',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fget_5favatar',['post_to_red_get_avatar',['../post__to__red_8php.html#ae0b881461afbdba93d9329068ea52136',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fget_5fchannel_5fname',['post_to_red_get_channel_name',['../post__to__red_8php.html#aacba7a0646fc00ae6ac4f5dc383fccab',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fget_5fpassword',['post_to_red_get_password',['../post__to__red_8php.html#a4d90ac085c14f53ff4d8ab4c23477ea6',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fget_5fseed_5flocation',['post_to_red_get_seed_location',['../post__to__red_8php.html#a96d0ccecb96600ef1bfd50ab3f77315f',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fpath',['post_to_red_path',['../post__to__red_8php.html#a6210f39392a5f0fa0255cc7d3760493a',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fpost',['post_to_red_post',['../post__to__red_8php.html#af5fd50e2c42ede85f8a9e8d9ee3cf540',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fpost_5fcheckbox',['post_to_red_post_checkbox',['../post__to__red_8php.html#a0f139dea77a94c98f26007963eea639c',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fpost_5ffield_5fdata',['post_to_red_post_field_data',['../post__to__red_8php.html#a7e68a8d9c83cb28d032aad3ea85ce0a6',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fpost_5fmeta_5fcontent',['post_to_red_post_meta_content',['../post__to__red_8php.html#aa97aeda12ef080665f16311a4e1eb901',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fsettings_5flink',['post_to_red_settings_link',['../post__to__red_8php.html#a906be8f72cf1aa2e199c0683ea6a4017',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fversion',['post_to_red_version',['../post__to__red_8php.html#af3e7ebd361d4ed7cb6d43209970cd94a',1,'post_to_red.php']]],
['posted_5fdates',['posted_dates',['../items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0',1,'items.php']]],
['preg_5fcallback_5fhelp_5finclude',['preg_callback_help_include',['../help_8php.html#a06b2a51aaabed99e53a9b639047c4ce4',1,'help.php']]],
['preg_5fheart',['preg_heart',['../text_8php.html#ac19d2b33a58372a357a43d51eed19162',1,'text.php']]],
@@ -167,8 +149,8 @@ var searchData=
['private_5fmessages_5ffetch_5fconversation',['private_messages_fetch_conversation',['../include_2message_8php.html#a5f8de9847e203329e317ac38dc646898',1,'message.php']]],
['private_5fmessages_5ffetch_5fmessage',['private_messages_fetch_message',['../include_2message_8php.html#a254a756031e4d5e94f85e2939bdb5091',1,'message.php']]],
['private_5fmessages_5flist',['private_messages_list',['../include_2message_8php.html#a652973ce47a262f2d238c2fd6233d97e',1,'message.php']]],
- ['probe_2ephp',['probe.php',['../mod_2probe_8php.html',1,'']]],
['probe_2ephp',['probe.php',['../include_2probe_8php.html',1,'']]],
+ ['probe_2ephp',['probe.php',['../mod_2probe_8php.html',1,'']]],
['probe_5factivity_5fstream',['probe_activity_stream',['../include_2probe_8php.html#a2daa857942aceca01f956016dbbd139c',1,'probe.php']]],
['probe_5fcontent',['probe_content',['../mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99',1,'probe.php']]],
['probe_5fdfrn',['probe_dfrn',['../include_2probe_8php.html#a9b5eca1e01e52b3e65d64db0c92181e0',1,'probe.php']]],
@@ -180,7 +162,7 @@ var searchData=
['probe_5fzot',['probe_zot',['../include_2probe_8php.html#a3c02c7a23e8335a79c3c0f5331d11a85',1,'probe.php']]],
['proc_5frun',['proc_run',['../boot_8php.html#ab346a2ece14993861f3e4206befa94f0',1,'boot.php']]],
['process_5fchannel_5fsync_5fdelivery',['process_channel_sync_delivery',['../zot_8php.html#ac301c67864917c35922257950ae0f95c',1,'zot.php']]],
- ['process_5fdelivery',['process_delivery',['../zot_8php.html#a4d9e6ca295e443b740d9960c304b3474',1,'zot.php']]],
+ ['process_5fdelivery',['process_delivery',['../zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d',1,'zot.php']]],
['process_5flocation_5fdelivery',['process_location_delivery',['../zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988',1,'zot.php']]],
['process_5fmail_5fdelivery',['process_mail_delivery',['../zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc',1,'zot.php']]],
['process_5fprofile_5fdelivery',['process_profile_delivery',['../zot_8php.html#a9a57b40669351c9791126b925cb7ef3b',1,'zot.php']]],
diff --git a/doc/html/search/all_71.js b/doc/html/search/all_71.js
index c1c1f6ba7..be0700f6d 100644
--- a/doc/html/search/all_71.js
+++ b/doc/html/search/all_71.js
@@ -1,9 +1,10 @@
var searchData=
[
- ['q',['q',['../classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555',1,'dba_driver\q()'],['../classdba__mysql.html#ac3fd60c278f400907322dac578754a99',1,'dba_mysql\q()'],['../classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec',1,'dba_mysqli\q()'],['../dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f',1,'q():&#160;dba_driver.php']]],
+ ['q',['q',['../classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555',1,'dba_driver\q()'],['../classdba__mysql.html#ac3fd60c278f400907322dac578754a99',1,'dba_mysql\q()'],['../classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec',1,'dba_mysqli\q()'],['../classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a',1,'dba_postgres\q()'],['../dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f',1,'q():&#160;dba_driver.php']]],
['qp',['qp',['../text_8php.html#afc998d2796a6b2a08e96f7cc061e7221',1,'text.php']]],
['queue_2ephp',['queue.php',['../queue_8php.html',1,'']]],
['queue_5ffn_2ephp',['queue_fn.php',['../queue__fn_8php.html',1,'']]],
['queue_5frun',['queue_run',['../queue_8php.html#af8c93de86d866c3200174c8450a0f341',1,'queue.php']]],
+ ['quote_5finterval',['quote_interval',['../classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9',1,'dba_driver\quote_interval()'],['../classdba__postgres.html#a56f926f218155c88807e0e06f6817a72',1,'dba_postgres\quote_interval()']]],
['quotelevel',['quotelevel',['../html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0',1,'html2plain.php']]]
];
diff --git a/doc/html/search/all_72.js b/doc/html/search/all_72.js
index 696b63543..04e2802f8 100644
--- a/doc/html/search/all_72.js
+++ b/doc/html/search/all_72.js
@@ -1,5 +1,6 @@
var searchData=
[
+ ['import',['Import',['../namespaceRedMatrix_1_1Import.html',1,'RedMatrix']]],
['random_5fprofile',['random_profile',['../Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713',1,'Contact.php']]],
['random_5fstring',['random_string',['../text_8php.html#a9d6a5ee1290de7a8b483fe78585daade',1,'text.php']]],
['random_5fstring_5fhex',['RANDOM_STRING_HEX',['../text_8php.html#aad557c054cf2ed915633701018fc7e3f',1,'text.php']]],
@@ -11,19 +12,16 @@ var searchData=
['rbmark_5fpost',['rbmark_post',['../rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c',1,'rbmark.php']]],
['rconnect_5furl',['rconnect_url',['../Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91',1,'Contact.php']]],
['rdelim',['rdelim',['../namespacefriendica-to-smarty-tpl.html#a8540514fb7c4aa18ad2dffa2a975036b',1,'friendica-to-smarty-tpl']]],
- ['readme_2emd',['README.md',['../apw_2README_8md.html',1,'']]],
- ['readme_2emd',['README.md',['../blogga_2php_2README_8md.html',1,'']]],
+ ['readme_2emd',['README.md',['../README_8md.html',1,'']]],
['rebuild_5ftheme_5ftable',['rebuild_theme_table',['../admin_8php.html#ae46311a3fefc21abc838a26e91789de6',1,'admin.php']]],
['receive_2ephp',['receive.php',['../receive_8php.html',1,'']]],
['receive_5fpost',['receive_post',['../receive_8php.html#a03d8fa26e77844020ba5602deca7d494',1,'receive.php']]],
- ['red_5fcomment',['red_comment',['../post__to__red_8php.html#a085c250d4ceff5e4f10052f3d2039823',1,'post_to_red.php']]],
['red_5fescape_5fcodeblock',['red_escape_codeblock',['../items_8php.html#a49905ea75adfe8a2d110be344d18d6a6',1,'items.php']]],
['red_5fescape_5fzrl_5fcallback',['red_escape_zrl_callback',['../items_8php.html#a83a349062945d585edb4b3c5d763ab6e',1,'items.php']]],
['red_5fitem_5fnew',['red_item_new',['../include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898',1,'api.php']]],
['red_5fplatform',['RED_PLATFORM',['../boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4',1,'boot.php']]],
['red_5funescape_5fcodeblock',['red_unescape_codeblock',['../items_8php.html#ad4ee16e3ff1eaf60428c61f82ba25e6a',1,'items.php']]],
['red_5fversion',['RED_VERSION',['../boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3',1,'boot.php']]],
- ['red_5fxmlrpc_5fmethods',['red_xmlrpc_methods',['../post__to__red_8php.html#a3a2af6ad845239f26e86fccabf8639e1',1,'post_to_red.php']]],
['red_5fzrl_5fcallback',['red_zrl_callback',['../items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b',1,'items.php']]],
['red_5fzrlify_5fimg_5fcallback',['red_zrlify_img_callback',['../items_8php.html#a78a60e39f6991bd3324a24dcbf9dac5a',1,'items.php']]],
['redable_2ephp',['redable.php',['../redable_8php.html',1,'']]],
@@ -44,6 +42,7 @@ var searchData=
['redfile_2ephp',['RedFile.php',['../RedFile_8php.html',1,'']]],
['redfiledata',['RedFileData',['../reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088',1,'reddav.php']]],
['redmatrix',['RedMatrix',['../namespaceRedMatrix.html',1,'']]],
+ ['redmatrix_5fimportchannel',['REDMATRIX_IMPORTCHANNEL',['../refimport_8php.html#a54003135d7c8994a76e831fb6faa2fe6',1,'refimport.php']]],
['reduce',['reduce',['../docblox__errorchecker_8php.html#ae9562cf60aa693114603d27b55d2185f',1,'docblox_errorchecker.php']]],
['ref_5fsession_5fclose',['ref_session_close',['../session_8php.html#a5e1c616e02b863d5450317d101366bb7',1,'session.php']]],
['ref_5fsession_5fdestroy',['ref_session_destroy',['../session_8php.html#af230b86bfff7db66c3bdd7e0bbc24052',1,'session.php']]],
@@ -51,6 +50,19 @@ var searchData=
['ref_5fsession_5fopen',['ref_session_open',['../session_8php.html#a26fa1042356d555023cbf15ddd4f8507',1,'session.php']]],
['ref_5fsession_5fread',['ref_session_read',['../session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e',1,'session.php']]],
['ref_5fsession_5fwrite',['ref_session_write',['../session_8php.html#ac4461c1984543d3553e73dba2771568f',1,'session.php']]],
+ ['refimport_2ephp',['refimport.php',['../refimport_8php.html',1,'']]],
+ ['refimport_5fcontent',['refimport_content',['../refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29',1,'refimport.php']]],
+ ['reflect_5farticle_5fcallback',['reflect_article_callback',['../refimport_8php.html#a53434bc19e6264db89e18d92ddc09860',1,'refimport.php']]],
+ ['reflect_5fbaseurl',['REFLECT_BASEURL',['../refimport_8php.html#ac43699d8ae86175e049aa4e87853caac',1,'refimport.php']]],
+ ['reflect_5fblogname',['REFLECT_BLOGNAME',['../refimport_8php.html#a8459983ebf013ed5737f7ed317bfae1f',1,'refimport.php']]],
+ ['reflect_5fcomment_5fstore',['reflect_comment_store',['../refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c',1,'refimport.php']]],
+ ['reflect_5fexportusername',['REFLECT_EXPORTUSERNAME',['../refimport_8php.html#ad297afe0730c9119dd94d3cf0521b025',1,'refimport.php']]],
+ ['reflect_5ffind_5fuser',['reflect_find_user',['../refimport_8php.html#aa98de7d112e3a5b4b6956f108d04a41d',1,'refimport.php']]],
+ ['reflect_5fget_5fchannel',['reflect_get_channel',['../refimport_8php.html#a6c3e0475fde9fe72ff2492a5e3e5259c',1,'refimport.php']]],
+ ['reflect_5fmaxperrun',['REFLECT_MAXPERRUN',['../refimport_8php.html#a9c1f681f1f303400a9818696a9f96d6f',1,'refimport.php']]],
+ ['reflect_5foverwrite',['REFLECT_OVERWRITE',['../refimport_8php.html#aeec793cefa260f788b7d005adcb35796',1,'refimport.php']]],
+ ['reflect_5fphoto_5fcallback',['reflect_photo_callback',['../refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5',1,'refimport.php']]],
+ ['reflect_5fuserfile',['REFLECT_USERFILE',['../refimport_8php.html#a684a44d2401abf75f441591bcb41d10d',1,'refimport.php']]],
['register_2ephp',['register.php',['../register_8php.html',1,'']]],
['register_5fapprove',['REGISTER_APPROVE',['../boot_8php.html#a7176c0f9f1c98421b97735d892cf6252',1,'boot.php']]],
['register_5fclosed',['REGISTER_CLOSED',['../boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1',1,'boot.php']]],
@@ -93,15 +105,16 @@ var searchData=
['rmagic_5fcontent',['rmagic_content',['../rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef',1,'rmagic.php']]],
['rmagic_5finit',['rmagic_init',['../rmagic_8php.html#a95455edd43f1bff39446a57388cdde16',1,'rmagic.php']]],
['rmagic_5fpost',['rmagic_post',['../rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f',1,'rmagic.php']]],
- ['role_5fselector',['role_selector',['../permissions_8php.html#a50e8099ea8a4d7ed68b2a0a7ea9aa724',1,'permissions.php']]],
['rotate',['rotate',['../classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec',1,'photo_driver\rotate()'],['../classphoto__gd.html#a77f87730b11093b76980c541159df37d',1,'photo_gd\rotate()'],['../classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f',1,'photo_imagick\rotate()']]],
['rpost_2ephp',['rpost.php',['../rpost_8php.html',1,'']]],
['rpost_5fcallback',['rpost_callback',['../bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7',1,'bbcode.php']]],
['rpost_5fcontent',['rpost_content',['../rpost_8php.html#a8190354d789000806d9879aea276728f',1,'rpost.php']]],
+ ['rrmdir',['rrmdir',['../Contact_8php.html#ab5895b75a3b2abdddf1cb351a8c6b58b',1,'Contact.php']]],
['rsa_5fsign',['rsa_sign',['../crypto_8php.html#a920e5f222d0020f47556033d8b2b6552',1,'crypto.php']]],
['rsa_5fverify',['rsa_verify',['../crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96',1,'crypto.php']]],
['rsatopem',['rsatopem',['../crypto_8php.html#a7f7e650aaeaa3832580a73eb00966b26',1,'crypto.php']]],
['rsd_5fxml_2ephp',['rsd_xml.php',['../rsd__xml_8php.html',1,'']]],
['rsd_5fxml_5fcontent',['rsd_xml_content',['../rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82',1,'rsd_xml.php']]],
+ ['run',['run',['../classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c',1,'RedMatrix::Import::Import']]],
['runs',['runs',['../docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec',1,'docblox_errorchecker.php']]]
];
diff --git a/doc/html/search/all_73.js b/doc/html/search/all_73.js
index eb2f2fe85..1cfc3bc23 100644
--- a/doc/html/search/all_73.js
+++ b/doc/html/search/all_73.js
@@ -19,7 +19,6 @@ var searchData=
['search_5finit',['search_init',['../search_8php.html#acf19fd30f07f495781ca0d7a0a08b435',1,'search.php']]],
['searchbox',['searchbox',['../text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447',1,'text.php']]],
['security_2ephp',['security.php',['../security_8php.html',1,'']]],
- ['select_5ftimezone',['select_timezone',['../datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f',1,'datetime.php']]],
['send',['send',['../classenotify.html#afbc088860f534c6c05788b48cfc262c6',1,'enotify']]],
['send_5fmessage',['send_message',['../include_2message_8php.html#a751ffd6635022b2190f56154ee745752',1,'message.php']]],
['send_5freg_5fapproval_5femail',['send_reg_approval_email',['../account_8php.html#a014de2d5d5c9785de5bf547a485822fa',1,'account.php']]],
@@ -40,6 +39,7 @@ var searchData=
['set_5fconfig',['set_config',['../include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a',1,'config.php']]],
['set_5fconversation',['set_conversation',['../classItem.html#aa8b1bbc4236890694635295e46d7fd72',1,'Item']]],
['set_5fdefault_5flogin_5fidentity',['set_default_login_identity',['../identity_8php.html#a78151baf4407a8482d2681a91a9c486b',1,'identity.php']]],
+ ['set_5fdisplay_5fmode',['set_display_mode',['../classItem.html#ac09a4728d37b7783714243f7f8167214',1,'Item']]],
['set_5fgroups',['set_groups',['../classApp.html#a3d84af5e42082098672531cd1a618853',1,'App']]],
['set_5fhostname',['set_hostname',['../classApp.html#a344d2b7dc2f276648d521aee4da1731c',1,'App']]],
['set_5fmode',['set_mode',['../classConversation.html#a66f121ca4026246f86a732e5faa0682c',1,'Conversation']]],
@@ -115,7 +115,7 @@ var searchData=
['statistics_5ffns_2ephp',['statistics_fns.php',['../statistics__fns_8php.html',1,'']]],
['status_5feditor',['status_editor',['../conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a',1,'conversation.php']]],
['storage_5fdefault_5fpermissions',['STORAGE_DEFAULT_PERMISSIONS',['../boot_8php.html#aecaa1b6945b317ba8f1daf4af2aed8e6',1,'boot.php']]],
- ['store',['store',['../classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b',1,'photo_driver']]],
+ ['store',['store',['../classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc',1,'RedMatrix\Import\Import\store()'],['../classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b',1,'photo_driver\store()']]],
['store_5fdiaspora_5fcomment_5fsig',['store_diaspora_comment_sig',['../items_8php.html#a25221826fa4621f523c68483e3b6af26',1,'items.php']]],
['store_5fitem_5ftag',['store_item_tag',['../taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd',1,'taxonomy.php']]],
['stream_5fperms_5fapi_5fuids',['stream_perms_api_uids',['../security_8php.html#a6126c77a1267e046ac59cf864613f011',1,'security.php']]],
@@ -126,12 +126,12 @@ var searchData=
['strip_5fzids',['strip_zids',['../text_8php.html#a2f2585385530cb935a6325c809d84a4d',1,'text.php']]],
['stripdcode_5fbr_5fcb',['stripdcode_br_cb',['../bb2diaspora_8php.html#a180b0e3a7d702998be19e3c3b44b0e93',1,'bb2diaspora.php']]],
['stumble_5finit',['stumble_init',['../stumble_2php_2theme_8php.html#a71db9eff6289e0ee47771c37c01d6753',1,'theme.php']]],
+ ['style_2ephp',['style.php',['../mytheme_2php_2style_8php.html',1,'']]],
['style_2ephp',['style.php',['../stumble_2php_2style_8php.html',1,'']]],
+ ['style_2ephp',['style.php',['../apw_2php_2style_8php.html',1,'']]],
['style_2ephp',['style.php',['../hivenet_2php_2style_8php.html',1,'']]],
['style_2ephp',['style.php',['../redbasic_2php_2style_8php.html',1,'']]],
- ['style_2ephp',['style.php',['../mytheme_2php_2style_8php.html',1,'']]],
['style_2ephp',['style.php',['../suckerberg_2php_2style_8php.html',1,'']]],
- ['style_2ephp',['style.php',['../apw_2php_2style_8php.html',1,'']]],
['subthread_2ephp',['subthread.php',['../subthread_8php.html',1,'']]],
['subthread_5fcontent',['subthread_content',['../subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3',1,'subthread.php']]],
['suckerberg_5finit',['suckerberg_init',['../suckerberg_2php_2theme_8php.html#a4104fce7d5fb71d15ed811978b628fc8',1,'theme.php']]],
diff --git a/doc/html/search/all_74.js b/doc/html/search/all_74.js
index a3dd387f4..fb3605bce 100644
--- a/doc/html/search/all_74.js
+++ b/doc/html/search/all_74.js
@@ -39,23 +39,18 @@ var searchData=
['text_2ephp',['text.php',['../text_8php.html',1,'']]],
['tgroup_5fcheck',['tgroup_check',['../items_8php.html#a88c6cf7649ac836fbbed82a7a0315110',1,'items.php']]],
['theme_2ephp',['theme.php',['../apw_2php_2theme_8php.html',1,'']]],
- ['theme_2ephp',['theme.php',['../blogga_2php_2theme_8php.html',1,'']]],
- ['theme_2ephp',['theme.php',['../blogga_2view_2theme_2blog_2theme_8php.html',1,'']]],
['theme_2ephp',['theme.php',['../hivenet_2php_2theme_8php.html',1,'']]],
['theme_2ephp',['theme.php',['../mytheme_2php_2theme_8php.html',1,'']]],
['theme_2ephp',['theme.php',['../redbasic_2php_2theme_8php.html',1,'']]],
['theme_2ephp',['theme.php',['../stumble_2php_2theme_8php.html',1,'']]],
['theme_2ephp',['theme.php',['../suckerberg_2php_2theme_8php.html',1,'']]],
- ['theme_5fadmin',['theme_admin',['../view_2theme_2blogga_2php_2config_8php.html#a09cd81013505f83aea0771243a1e4e53',1,'theme_admin(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a09cd81013505f83aea0771243a1e4e53',1,'theme_admin(&amp;$a):&#160;config.php']]],
- ['theme_5fadmin_5fpost',['theme_admin_post',['../view_2theme_2blogga_2php_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b',1,'theme_admin_post(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b',1,'theme_admin_post(&amp;$a):&#160;config.php']]],
['theme_5fattachments',['theme_attachments',['../text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53',1,'text.php']]],
- ['theme_5fcontent',['theme_content',['../view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php'],['../view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php']]],
+ ['theme_5fcontent',['theme_content',['../view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php'],['../view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php']]],
['theme_5finclude',['theme_include',['../plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2',1,'plugin.php']]],
- ['theme_5finit_2ephp',['theme_init.php',['../theme_2redbasic_2php_2theme__init_8php.html',1,'']]],
- ['theme_5finit_2ephp',['theme_init.php',['../theme_2blogga_2php_2theme__init_8php.html',1,'']]],
- ['theme_5finit_2ephp',['theme_init.php',['../theme_2apw_2php_2theme__init_8php.html',1,'']]],
['theme_5finit_2ephp',['theme_init.php',['../php_2theme__init_8php.html',1,'']]],
- ['theme_5fpost',['theme_post',['../view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php'],['../view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php']]],
+ ['theme_5finit_2ephp',['theme_init.php',['../theme_2apw_2php_2theme__init_8php.html',1,'']]],
+ ['theme_5finit_2ephp',['theme_init.php',['../theme_2redbasic_2php_2theme__init_8php.html',1,'']]],
+ ['theme_5fpost',['theme_post',['../view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php'],['../view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php']]],
['theme_5fstatus',['theme_status',['../admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4',1,'admin.php']]],
['thing_2ephp',['thing.php',['../thing_8php.html',1,'']]],
['thing_5fcontent',['thing_content',['../thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b',1,'thing.php']]],
@@ -73,6 +68,7 @@ var searchData=
['tplpaths',['tplpaths',['../namespaceupdatetpl.html#a52a85ffa6b6d63d840b185a133478c12',1,'updatetpl']]],
['translate_5fscope',['translate_scope',['../items_8php.html#aabfaa193b83154c2a81e91284e5d5e59',1,'items.php']]],
['translate_5fsystem_5fapps',['translate_system_apps',['../include_2apps_8php.html#a48289d5cc44b7638191738106ac5d030',1,'apps.php']]],
+ ['trim_5fmessage',['trim_message',['../po2php_8php.html#a4f3dc9b019d0cd1dc171c54c991ef334',1,'po2php.php']]],
['tryoembed',['tryoembed',['../bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7',1,'bbcode.php']]],
['tryzrlaudio',['tryzrlaudio',['../bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322',1,'bbcode.php']]],
['tryzrlvideo',['tryzrlvideo',['../bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8',1,'bbcode.php']]],
diff --git a/doc/html/search/all_75.js b/doc/html/search/all_75.js
index 8ed7368d2..3162bb574 100644
--- a/doc/html/search/all_75.js
+++ b/doc/html/search/all_75.js
@@ -1,10 +1,12 @@
var searchData=
[
['uexport_2ephp',['uexport.php',['../uexport_8php.html',1,'']]],
+ ['uexport_5fcontent',['uexport_content',['../uexport_8php.html#ae6f79d60916c01675c8cf663cb5fec84',1,'uexport.php']]],
['uexport_5finit',['uexport_init',['../uexport_8php.html#a118920137dedebe0581623a2e57e7b0d',1,'uexport.php']]],
['unamp',['unamp',['../text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7',1,'text.php']]],
['undo_5fpost_5ftagging',['undo_post_tagging',['../text_8php.html#a740ad03e00459039a2c0992246c4e727',1,'text.php']]],
['unescape_5funderscores_5fin_5flinks',['unescape_underscores_in_links',['../bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747',1,'bb2diaspora.php']]],
+ ['unescapebin',['unescapebin',['../classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155',1,'dba_driver\unescapebin()'],['../classdba__postgres.html#a677f850211975c9ab89602c67e2dcad9',1,'dba_postgres\unescapebin()']]],
['uninstall_5fplugin',['uninstall_plugin',['../plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76',1,'plugin.php']]],
['unload_5fplugin',['unload_plugin',['../plugin_8php.html#a90538627db68605aeb6db17a8ead6523',1,'plugin.php']]],
['unobscure',['unobscure',['../text_8php.html#a8264348059abd1d4d5bb521323d3b19a',1,'text.php']]],
@@ -24,6 +26,8 @@ var searchData=
['update_5fflags_5fdeleted',['UPDATE_FLAGS_DELETED',['../boot_8php.html#aea392cb26ed617f3a8cde648385b5df0',1,'boot.php']]],
['update_5fflags_5fforced',['UPDATE_FLAGS_FORCED',['../boot_8php.html#ab9dca53455cd157d3c6ba2bdecdbd22d',1,'boot.php']]],
['update_5fflags_5fupdated',['UPDATE_FLAGS_UPDATED',['../boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0',1,'boot.php']]],
+ ['update_5fhome_2ephp',['update_home.php',['../update__home_8php.html',1,'']]],
+ ['update_5fhome_5fcontent',['update_home_content',['../update__home_8php.html#a668340089acd150b830134476a647d05',1,'update_home.php']]],
['update_5fimported_5fitem',['update_imported_item',['../zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df',1,'zot.php']]],
['update_5flocal_5fposts_5fstat',['update_local_posts_stat',['../statistics__fns_8php.html#a9dd516dda693f17f5ce48a94876f7efa',1,'statistics_fns.php']]],
['update_5fmodtime',['update_modtime',['../zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd',1,'zot.php']]],
@@ -45,5 +49,7 @@ var searchData=
['user_5fdeny',['user_deny',['../account_8php.html#ac1653efba62493b9d87513e1b6c04c83',1,'account.php']]],
['user_5fremove',['user_remove',['../Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15',1,'Contact.php']]],
['userreadablesize',['userReadableSize',['../classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd',1,'RedMatrix::RedDAV::RedBrowser']]],
+ ['utc_5fnow',['UTC_NOW',['../classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8',1,'dba_driver\UTC_NOW()'],['../classdba__postgres.html#ace80a204e34b20b9907650399cce02a3',1,'dba_postgres\UTC_NOW()']]],
+ ['utcnow',['utcnow',['../classdba__driver.html#ad700712879719bee23752b8f424d97d0',1,'dba_driver']]],
['util',['util',['../namespaceutil.html',1,'']]]
];
diff --git a/doc/html/search/all_76.js b/doc/html/search/all_76.js
index 37f7c54b7..ec35b57e4 100644
--- a/doc/html/search/all_76.js
+++ b/doc/html/search/all_76.js
@@ -16,6 +16,17 @@ var searchData=
['viewsrc_2ephp',['viewsrc.php',['../viewsrc_8php.html',1,'']]],
['viewsrc_5fcontent',['viewsrc_content',['../viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4',1,'viewsrc.php']]],
['visible_5factivity',['visible_activity',['../conversation_8php.html#a7eeaaf44506815576f3bd80053ef52c3',1,'conversation.php']]],
+ ['vnotify_5falert',['VNOTIFY_ALERT',['../boot_8php.html#a9f8a2938ddd9ee2867e6f8ce77b61b2f',1,'boot.php']]],
+ ['vnotify_5fbirthday',['VNOTIFY_BIRTHDAY',['../boot_8php.html#ac89396b9144391acd08d6d0f9b332220',1,'boot.php']]],
+ ['vnotify_5fchannel',['VNOTIFY_CHANNEL',['../boot_8php.html#a7b511bd93202c43405adbe3b5bcebbfe',1,'boot.php']]],
+ ['vnotify_5fevent',['VNOTIFY_EVENT',['../boot_8php.html#ad94aca4c260b8a892397786201dc4664',1,'boot.php']]],
+ ['vnotify_5feventtoday',['VNOTIFY_EVENTTODAY',['../boot_8php.html#a76480b213af379c0c6c7fa4e39019ca9',1,'boot.php']]],
+ ['vnotify_5finfo',['VNOTIFY_INFO',['../boot_8php.html#a37281c30bd92cecb499878d6778c570f',1,'boot.php']]],
+ ['vnotify_5fintro',['VNOTIFY_INTRO',['../boot_8php.html#a1997c4b7d0253e036bc0fb6b20e4af71',1,'boot.php']]],
+ ['vnotify_5fmail',['VNOTIFY_MAIL',['../boot_8php.html#a0afeb43da443d6ff3526ede5ecdcc3b3',1,'boot.php']]],
+ ['vnotify_5fnetwork',['VNOTIFY_NETWORK',['../boot_8php.html#a997614f25e58f8313641e1eb0109fd10',1,'boot.php']]],
+ ['vnotify_5fregister',['VNOTIFY_REGISTER',['../boot_8php.html#ae09767b94688657978ff9366ec63684b',1,'boot.php']]],
+ ['vnotify_5fsystem',['VNOTIFY_SYSTEM',['../boot_8php.html#a7e5627b5ca4b7464feb0f08663b19ea1',1,'boot.php']]],
['vote_2ephp',['vote.php',['../vote_8php.html',1,'']]],
['vote_5fcontent',['vote_content',['../vote_8php.html#a6aa67489bf458ca5e3206e46dac68596',1,'vote.php']]],
['vote_5finit',['vote_init',['../vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2',1,'vote.php']]],
diff --git a/doc/html/search/all_77.js b/doc/html/search/all_77.js
index b3a5a4947..6ecd9d302 100644
--- a/doc/html/search/all_77.js
+++ b/doc/html/search/all_77.js
@@ -9,6 +9,7 @@ var searchData=
['webfinger_5frfc7033',['webfinger_rfc7033',['../include_2network_8php.html#a3e6c751a51de33ad3563f0938296e78a',1,'network.php']]],
['webpages_2ephp',['webpages.php',['../webpages_8php.html',1,'']]],
['webpages_5fcontent',['webpages_content',['../webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d',1,'webpages.php']]],
+ ['webpages_5finit',['webpages_init',['../webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7',1,'webpages.php']]],
['wfinger_2ephp',['wfinger.php',['../wfinger_8php.html',1,'']]],
['wfinger_5finit',['wfinger_init',['../wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3',1,'wfinger.php']]],
['what_5fnext',['what_next',['../setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58',1,'setup.php']]],
@@ -18,6 +19,7 @@ var searchData=
['widget_5fappselect',['widget_appselect',['../widgets_8php.html#aced5cb177f630b30799c5eab873ee75c',1,'widgets.php']]],
['widget_5farchive',['widget_archive',['../widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65',1,'widgets.php']]],
['widget_5fbookmarkedchats',['widget_bookmarkedchats',['../widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3',1,'widgets.php']]],
+ ['widget_5fcatcloud_5fwall',['widget_catcloud_wall',['../widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5',1,'widgets.php']]],
['widget_5fcategories',['widget_categories',['../widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b',1,'widgets.php']]],
['widget_5fchatroom_5flist',['widget_chatroom_list',['../widgets_8php.html#a47c72aac42058ea086c9ef8651c259da',1,'widgets.php']]],
['widget_5fclock',['widget_clock',['../widgets_8php.html#a9d60539db68042e63c0015abd69a6f7a',1,'widgets.php']]],
@@ -36,7 +38,9 @@ var searchData=
['widget_5fnotes',['widget_notes',['../widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256',1,'widgets.php']]],
['widget_5fphoto',['widget_photo',['../widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20',1,'widgets.php']]],
['widget_5fphoto_5falbums',['widget_photo_albums',['../widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e',1,'widgets.php']]],
+ ['widget_5fphoto_5frand',['widget_photo_rand',['../widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380',1,'widgets.php']]],
['widget_5fprofile',['widget_profile',['../widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923',1,'widgets.php']]],
+ ['widget_5frandom_5fblock',['widget_random_block',['../widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e',1,'widgets.php']]],
['widget_5fsavedsearch',['widget_savedsearch',['../widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8',1,'widgets.php']]],
['widget_5fsettings_5fmenu',['widget_settings_menu',['../widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01',1,'widgets.php']]],
['widget_5fsuggestedchats',['widget_suggestedchats',['../widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8',1,'widgets.php']]],
@@ -45,5 +49,6 @@ var searchData=
['widget_5ftagcloud_5fwall',['widget_tagcloud_wall',['../widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653',1,'widgets.php']]],
['widget_5fvcard',['widget_vcard',['../widgets_8php.html#abe03366fd22fd27d683518fa0765da50',1,'widgets.php']]],
['widgets_2ephp',['widgets.php',['../widgets_8php.html',1,'']]],
- ['writepages_5fwidget',['writepages_widget',['../page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f',1,'page_widgets.php']]]
+ ['writepages_5fwidget',['writepages_widget',['../page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f',1,'page_widgets.php']]],
+ ['wtagblock',['wtagblock',['../taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287',1,'taxonomy.php']]]
];
diff --git a/doc/html/search/all_78.js b/doc/html/search/all_78.js
index 12730655a..11483478c 100644
--- a/doc/html/search/all_78.js
+++ b/doc/html/search/all_78.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['x',['x',['../boot_8php.html#a01353c9abebc3544ea080ac161729632',1,'boot.php']]],
+ ['x',['x',['../boot_8php.html#ae97836b0547953be182a2334c9c91d3c',1,'boot.php']]],
['xchan_2ephp',['xchan.php',['../xchan_8php.html',1,'']]],
['xchan_5fcontent',['xchan_content',['../xchan_8php.html#a9853348bf1a35c644460221ba75edc2d',1,'xchan.php']]],
['xchan_5ffetch',['xchan_fetch',['../hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea',1,'hubloc.php']]],
@@ -9,6 +9,7 @@ var searchData=
['xchan_5fflags_5fhidden',['XCHAN_FLAGS_HIDDEN',['../boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2',1,'boot.php']]],
['xchan_5fflags_5fnormal',['XCHAN_FLAGS_NORMAL',['../boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6',1,'boot.php']]],
['xchan_5fflags_5forphan',['XCHAN_FLAGS_ORPHAN',['../boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f',1,'boot.php']]],
+ ['xchan_5fflags_5fpubforum',['XCHAN_FLAGS_PUBFORUM',['../boot_8php.html#a0209e605028a5bb492683951ab30d49d',1,'boot.php']]],
['xchan_5fflags_5fselfcensored',['XCHAN_FLAGS_SELFCENSORED',['../boot_8php.html#a5a681a672e007cdc22b43345d71f07c6',1,'boot.php']]],
['xchan_5fflags_5fsystem',['XCHAN_FLAGS_SYSTEM',['../boot_8php.html#afef254290febac854c85fc698d9483a6',1,'boot.php']]],
['xchan_5fmail_5fquery',['xchan_mail_query',['../text_8php.html#a543447c5ed766535221e2d9636b379ee',1,'text.php']]],
diff --git a/doc/html/search/all_7a.js b/doc/html/search/all_7a.js
index aa2d970a3..abbf3009d 100644
--- a/doc/html/search/all_7a.js
+++ b/doc/html/search/all_7a.js
@@ -2,6 +2,8 @@ var searchData=
[
['z_5fbirthday',['z_birthday',['../datetime_8php.html#ab55e545b72ec8c097e052ea7d373491f',1,'datetime.php']]],
['z_5ffetch_5furl',['z_fetch_url',['../include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37',1,'network.php']]],
+ ['z_5fget_5ftemp_5fdir',['z_get_temp_dir',['../boot_8php.html#a59717d02602a4babf2a54da8b33d93a5',1,'boot.php']]],
+ ['z_5fget_5fupload_5fdir',['z_get_upload_dir',['../boot_8php.html#a476c499e15caf75972fed134a8f23b2e',1,'boot.php']]],
['z_5finput_5ffilter',['z_input_filter',['../text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f',1,'text.php']]],
['z_5fmime_5fcontent_5ftype',['z_mime_content_type',['../include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a',1,'attach.php']]],
['z_5fpath',['z_path',['../boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda',1,'boot.php']]],
@@ -18,15 +20,16 @@ var searchData=
['zidify_5fimg_5fcallback',['zidify_img_callback',['../text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4',1,'text.php']]],
['zidify_5flinks',['zidify_links',['../text_8php.html#a29988052f3944111def3b6aaf2c7a8f6',1,'text.php']]],
['zot_2ephp',['zot.php',['../zot_8php.html',1,'']]],
- ['zot_5fbuild_5fpacket',['zot_build_packet',['../zot_8php.html#a3862b3161b2c8557dc1a95020179bd81',1,'zot.php']]],
+ ['zot_5fbuild_5fpacket',['zot_build_packet',['../zot_8php.html#a084c581d534e7e3b759488b46602288f',1,'zot.php']]],
['zot_5fencode_5flocations',['zot_encode_locations',['../zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca',1,'zot.php']]],
- ['zot_5ffeed',['zot_feed',['../items_8php.html#a004e89d86b0f29b2c4da20108ecc4091',1,'items.php']]],
+ ['zot_5ffeed',['zot_feed',['../items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92',1,'items.php']]],
['zot_5ffetch',['zot_fetch',['../zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea',1,'zot.php']]],
['zot_5ffinger',['zot_finger',['../zot_8php.html#a95528377d7303131958c9f0b7158fdce',1,'zot.php']]],
['zot_5fget_5fhublocs',['zot_get_hublocs',['../zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7',1,'zot.php']]],
['zot_5fgethub',['zot_gethub',['../zot_8php.html#a55056e863a7860bc0cf922e78fcce073',1,'zot.php']]],
['zot_5fimport',['zot_import',['../zot_8php.html#aeea071f17e306fe3d0c488551906bfab',1,'zot.php']]],
['zot_5fnew_5fuid',['zot_new_uid',['../zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7',1,'zot.php']]],
+ ['zot_5fprocess_5fmessage_5frequest',['zot_process_message_request',['../zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac',1,'zot.php']]],
['zot_5fprocess_5fresponse',['zot_process_response',['../zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03',1,'zot.php']]],
['zot_5frefresh',['zot_refresh',['../zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c',1,'zot.php']]],
['zot_5fregister_5fhub',['zot_register_hub',['../zot_8php.html#a5bcdfef419b16075a0eca990956223dc',1,'zot.php']]],
diff --git a/doc/html/search/classes_64.js b/doc/html/search/classes_64.js
index c52174855..439607209 100644
--- a/doc/html/search/classes_64.js
+++ b/doc/html/search/classes_64.js
@@ -2,5 +2,6 @@ var searchData=
[
['dba_5fdriver',['dba_driver',['../classdba__driver.html',1,'']]],
['dba_5fmysql',['dba_mysql',['../classdba__mysql.html',1,'']]],
- ['dba_5fmysqli',['dba_mysqli',['../classdba__mysqli.html',1,'']]]
+ ['dba_5fmysqli',['dba_mysqli',['../classdba__mysqli.html',1,'']]],
+ ['dba_5fpostgres',['dba_postgres',['../classdba__postgres.html',1,'']]]
];
diff --git a/doc/html/search/classes_69.js b/doc/html/search/classes_69.js
index b0394186f..a9767d06a 100644
--- a/doc/html/search/classes_69.js
+++ b/doc/html/search/classes_69.js
@@ -1,5 +1,6 @@
var searchData=
[
+ ['import',['Import',['../classRedMatrix_1_1Import_1_1Import.html',1,'RedMatrix::Import']]],
['item',['Item',['../classItem.html',1,'']]],
['itemplateengine',['ITemplateEngine',['../interfaceITemplateEngine.html',1,'']]]
];
diff --git a/doc/html/search/files_63.js b/doc/html/search/files_63.js
index 8a197f3c3..f15bd328a 100644
--- a/doc/html/search/files_63.js
+++ b/doc/html/search/files_63.js
@@ -1,7 +1,6 @@
var searchData=
[
['cache_2ephp',['cache.php',['../cache_8php.html',1,'']]],
- ['chanman_2ephp',['chanman.php',['../chanman_8php.html',1,'']]],
['channel_2ephp',['channel.php',['../channel_8php.html',1,'']]],
['chanview_2ephp',['chanview.php',['../chanview_8php.html',1,'']]],
['chat_2ephp',['chat.php',['../mod_2chat_8php.html',1,'']]],
@@ -14,11 +13,9 @@ var searchData=
['comanche_2ephp',['comanche.php',['../comanche_8php.html',1,'']]],
['common_2ephp',['common.php',['../common_8php.html',1,'']]],
['config_2emd',['config.md',['../config_8md.html',1,'']]],
- ['config_2ephp',['config.php',['../view_2theme_2blogga_2php_2config_8php.html',1,'']]],
- ['config_2ephp',['config.php',['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html',1,'']]],
- ['config_2ephp',['config.php',['../view_2theme_2redbasic_2php_2config_8php.html',1,'']]],
['config_2ephp',['config.php',['../include_2config_8php.html',1,'']]],
['config_2ephp',['config.php',['../view_2theme_2apw_2php_2config_8php.html',1,'']]],
+ ['config_2ephp',['config.php',['../view_2theme_2redbasic_2php_2config_8php.html',1,'']]],
['connect_2ephp',['connect.php',['../connect_8php.html',1,'']]],
['connections_2ephp',['connections.php',['../connections_8php.html',1,'']]],
['connedit_2ephp',['connedit.php',['../connedit_8php.html',1,'']]],
diff --git a/doc/html/search/files_64.js b/doc/html/search/files_64.js
index 9f149a278..7655469bc 100644
--- a/doc/html/search/files_64.js
+++ b/doc/html/search/files_64.js
@@ -9,9 +9,8 @@ var searchData=
['dba_5fdriver_2ephp',['dba_driver.php',['../dba__driver_8php.html',1,'']]],
['dba_5fmysql_2ephp',['dba_mysql.php',['../dba__mysql_8php.html',1,'']]],
['dba_5fmysqli_2ephp',['dba_mysqli.php',['../dba__mysqli_8php.html',1,'']]],
- ['default_2ephp',['default.php',['../theme_2blogga_2view_2theme_2blog_2default_8php.html',1,'']]],
+ ['dba_5fpostgres_2ephp',['dba_postgres.php',['../dba__postgres_8php.html',1,'']]],
['default_2ephp',['default.php',['../php_2default_8php.html',1,'']]],
- ['default_2ephp',['default.php',['../theme_2blogga_2php_2default_8php.html',1,'']]],
['default_2ephp',['default.php',['../theme_2mytheme_2php_2default_8php.html',1,'']]],
['delegate_2ephp',['delegate.php',['../delegate_8php.html',1,'']]],
['deliver_2ephp',['deliver.php',['../deliver_8php.html',1,'']]],
@@ -20,7 +19,6 @@ var searchData=
['dir_5ffns_2ephp',['dir_fns.php',['../dir__fns_8php.html',1,'']]],
['directory_2ephp',['directory.php',['../mod_2directory_8php.html',1,'']]],
['directory_2ephp',['directory.php',['../include_2directory_8php.html',1,'']]],
- ['dirprofile_2ephp',['dirprofile.php',['../dirprofile_8php.html',1,'']]],
['dirsearch_2ephp',['dirsearch.php',['../dirsearch_8php.html',1,'']]],
['display_2ephp',['display.php',['../display_8php.html',1,'']]],
['docblox_5ferrorchecker_2ephp',['docblox_errorchecker.php',['../docblox__errorchecker_8php.html',1,'']]]
diff --git a/doc/html/search/files_66.js b/doc/html/search/files_66.js
index 41bca4490..6d83aa37c 100644
--- a/doc/html/search/files_66.js
+++ b/doc/html/search/files_66.js
@@ -6,8 +6,9 @@ var searchData=
['filer_2ephp',['filer.php',['../filer_8php.html',1,'']]],
['filerm_2ephp',['filerm.php',['../filerm_8php.html',1,'']]],
['filestorage_2ephp',['filestorage.php',['../filestorage_8php.html',1,'']]],
- ['follow_2ephp',['follow.php',['../include_2follow_8php.html',1,'']]],
+ ['fixd_2ephp',['fixd.php',['../fixd_8php.html',1,'']]],
['follow_2ephp',['follow.php',['../mod_2follow_8php.html',1,'']]],
+ ['follow_2ephp',['follow.php',['../include_2follow_8php.html',1,'']]],
['fpostit_2ephp',['fpostit.php',['../fpostit_8php.html',1,'']]],
['fresh_2emd',['fresh.md',['../fresh_8md.html',1,'']]],
['friendica_2dto_2dsmarty_2dtpl_2epy',['friendica-to-smarty-tpl.py',['../friendica-to-smarty-tpl_8py.html',1,'']]],
diff --git a/doc/html/search/files_69.js b/doc/html/search/files_69.js
index 0b733cca3..8345e5929 100644
--- a/doc/html/search/files_69.js
+++ b/doc/html/search/files_69.js
@@ -4,6 +4,7 @@ var searchData=
['impel_2ephp',['impel.php',['../impel_8php.html',1,'']]],
['import_2ephp',['import.php',['../import_8php.html',1,'']]],
['importelm_2ephp',['importelm.php',['../importelm_8php.html',1,'']]],
+ ['importer_2ephp',['Importer.php',['../Importer_8php.html',1,'']]],
['invite_2ephp',['invite.php',['../invite_8php.html',1,'']]],
['item_2ephp',['item.php',['../item_8php.html',1,'']]],
['itemobject_2ephp',['ItemObject.php',['../ItemObject_8php.html',1,'']]],
diff --git a/doc/html/search/files_70.js b/doc/html/search/files_70.js
index 89927c4a5..9892d5e4d 100644
--- a/doc/html/search/files_70.js
+++ b/doc/html/search/files_70.js
@@ -25,7 +25,6 @@ var searchData=
['poll_2ephp',['poll.php',['../poll_8php.html',1,'']]],
['poller_2ephp',['poller.php',['../poller_8php.html',1,'']]],
['post_2ephp',['post.php',['../post_8php.html',1,'']]],
- ['post_5fto_5fred_2ephp',['post_to_red.php',['../post__to__red_8php.html',1,'']]],
['pretheme_2ephp',['pretheme.php',['../pretheme_8php.html',1,'']]],
['probe_2ephp',['probe.php',['../include_2probe_8php.html',1,'']]],
['probe_2ephp',['probe.php',['../mod_2probe_8php.html',1,'']]],
diff --git a/doc/html/search/files_72.js b/doc/html/search/files_72.js
index 0bab1f0eb..c61471237 100644
--- a/doc/html/search/files_72.js
+++ b/doc/html/search/files_72.js
@@ -2,8 +2,7 @@ var searchData=
[
['randprof_2ephp',['randprof.php',['../randprof_8php.html',1,'']]],
['rbmark_2ephp',['rbmark.php',['../rbmark_8php.html',1,'']]],
- ['readme_2emd',['README.md',['../apw_2README_8md.html',1,'']]],
- ['readme_2emd',['README.md',['../blogga_2php_2README_8md.html',1,'']]],
+ ['readme_2emd',['README.md',['../README_8md.html',1,'']]],
['receive_2ephp',['receive.php',['../receive_8php.html',1,'']]],
['redable_2ephp',['redable.php',['../redable_8php.html',1,'']]],
['redbasic_2ephp',['redbasic.php',['../redbasic_8php.html',1,'']]],
@@ -12,6 +11,7 @@ var searchData=
['reddav_2ephp',['reddav.php',['../reddav_8php.html',1,'']]],
['reddirectory_2ephp',['RedDirectory.php',['../RedDirectory_8php.html',1,'']]],
['redfile_2ephp',['RedFile.php',['../RedFile_8php.html',1,'']]],
+ ['refimport_2ephp',['refimport.php',['../refimport_8php.html',1,'']]],
['register_2ephp',['register.php',['../register_8php.html',1,'']]],
['regmod_2ephp',['regmod.php',['../regmod_8php.html',1,'']]],
['regver_2ephp',['regver.php',['../regver_8php.html',1,'']]],
diff --git a/doc/html/search/files_74.js b/doc/html/search/files_74.js
index ecd4ad809..12f380367 100644
--- a/doc/html/search/files_74.js
+++ b/doc/html/search/files_74.js
@@ -5,18 +5,15 @@ var searchData=
['taxonomy_2ephp',['taxonomy.php',['../taxonomy_8php.html',1,'']]],
['template_5fprocessor_2ephp',['template_processor.php',['../template__processor_8php.html',1,'']]],
['text_2ephp',['text.php',['../text_8php.html',1,'']]],
+ ['theme_2ephp',['theme.php',['../stumble_2php_2theme_8php.html',1,'']]],
['theme_2ephp',['theme.php',['../hivenet_2php_2theme_8php.html',1,'']]],
+ ['theme_2ephp',['theme.php',['../mytheme_2php_2theme_8php.html',1,'']]],
['theme_2ephp',['theme.php',['../redbasic_2php_2theme_8php.html',1,'']]],
- ['theme_2ephp',['theme.php',['../apw_2php_2theme_8php.html',1,'']]],
- ['theme_2ephp',['theme.php',['../blogga_2php_2theme_8php.html',1,'']]],
- ['theme_2ephp',['theme.php',['../blogga_2view_2theme_2blog_2theme_8php.html',1,'']]],
['theme_2ephp',['theme.php',['../suckerberg_2php_2theme_8php.html',1,'']]],
- ['theme_2ephp',['theme.php',['../mytheme_2php_2theme_8php.html',1,'']]],
- ['theme_2ephp',['theme.php',['../stumble_2php_2theme_8php.html',1,'']]],
- ['theme_5finit_2ephp',['theme_init.php',['../theme_2redbasic_2php_2theme__init_8php.html',1,'']]],
- ['theme_5finit_2ephp',['theme_init.php',['../php_2theme__init_8php.html',1,'']]],
+ ['theme_2ephp',['theme.php',['../apw_2php_2theme_8php.html',1,'']]],
['theme_5finit_2ephp',['theme_init.php',['../theme_2apw_2php_2theme__init_8php.html',1,'']]],
- ['theme_5finit_2ephp',['theme_init.php',['../theme_2blogga_2php_2theme__init_8php.html',1,'']]],
+ ['theme_5finit_2ephp',['theme_init.php',['../php_2theme__init_8php.html',1,'']]],
+ ['theme_5finit_2ephp',['theme_init.php',['../theme_2redbasic_2php_2theme__init_8php.html',1,'']]],
['thing_2ephp',['thing.php',['../thing_8php.html',1,'']]],
['toggle_5fmobile_2ephp',['toggle_mobile.php',['../toggle__mobile_8php.html',1,'']]],
['toggle_5fsafesearch_2ephp',['toggle_safesearch.php',['../toggle__safesearch_8php.html',1,'']]],
diff --git a/doc/html/search/files_75.js b/doc/html/search/files_75.js
index 33a82596e..440a0e7f0 100644
--- a/doc/html/search/files_75.js
+++ b/doc/html/search/files_75.js
@@ -3,6 +3,7 @@ var searchData=
['uexport_2ephp',['uexport.php',['../uexport_8php.html',1,'']]],
['update_5fchannel_2ephp',['update_channel.php',['../update__channel_8php.html',1,'']]],
['update_5fdisplay_2ephp',['update_display.php',['../update__display_8php.html',1,'']]],
+ ['update_5fhome_2ephp',['update_home.php',['../update__home_8php.html',1,'']]],
['update_5fnetwork_2ephp',['update_network.php',['../update__network_8php.html',1,'']]],
['update_5fsearch_2ephp',['update_search.php',['../update__search_8php.html',1,'']]],
['updatetpl_2epy',['updatetpl.py',['../updatetpl_8py.html',1,'']]]
diff --git a/doc/html/search/functions_62.js b/doc/html/search/functions_62.js
index 34fc83be3..47ba65793 100644
--- a/doc/html/search/functions_62.js
+++ b/doc/html/search/functions_62.js
@@ -7,6 +7,8 @@ var searchData=
['bb2diaspora_5fitemwallwall',['bb2diaspora_itemwallwall',['../bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083',1,'bb2diaspora.php']]],
['bb2dmention_5fcallback',['bb2dmention_callback',['../bb2diaspora_8php.html#a5258d2f1addeb0a2a6b54c4f9e7d0f34',1,'bb2diaspora.php']]],
['bb_5flocation',['bb_location',['../bbcode_8php.html#a3435c82a6c7693557800cdeb6848d0bd',1,'bbcode.php']]],
+ ['bb_5fmap_5fcoords',['bb_map_coords',['../bbcode_8php.html#a02d5f2434e7bb5cf683e52a9b4787f24',1,'bbcode.php']]],
+ ['bb_5fmap_5flocation',['bb_map_location',['../bbcode_8php.html#a7cb403fd1c36d7376c2f3932a1ceb54d',1,'bbcode.php']]],
['bb_5fparse_5fapp',['bb_parse_app',['../bbcode_8php.html#abb02f1044ff1c635d12af690d0f2cfa2',1,'bbcode.php']]],
['bb_5fparse_5fcrypt',['bb_parse_crypt',['../bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f',1,'bbcode.php']]],
['bb_5fparse_5felement',['bb_parse_element',['../bbcode_8php.html#aa73fb62e7be1fa5fce4ad5f3d4487fc9',1,'bbcode.php']]],
@@ -26,12 +28,7 @@ var searchData=
['block_5fcontent',['block_content',['../block_8php.html#a8a82a470acdfbc7a8e749509caeeea45',1,'block.php']]],
['block_5finit',['block_init',['../block_8php.html#a9b61c96044ed2a068f18c10370a78d5c',1,'block.php']]],
['blocks_5fcontent',['blocks_content',['../blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12',1,'blocks.php']]],
- ['blog_5finit',['blog_init',['../blogga_2php_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b',1,'blog_init(&amp;$a):&#160;theme.php'],['../blogga_2view_2theme_2blog_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b',1,'blog_init(&amp;$a):&#160;theme.php']]],
- ['blog_5finstall',['blog_install',['../blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae',1,'theme.php']]],
- ['blog_5funinstall',['blog_uninstall',['../blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c',1,'theme.php']]],
- ['blogtheme_5fdisplay_5fitem',['blogtheme_display_item',['../blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5',1,'theme.php']]],
- ['blogtheme_5fform',['blogtheme_form',['../view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27',1,'blogtheme_form(&amp;$a, $headimg, $headimghome):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27',1,'blogtheme_form(&amp;$a, $headimg, $headimghome):&#160;config.php']]],
- ['blogtheme_5fimgurl',['blogtheme_imgurl',['../blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec',1,'theme.php']]],
+ ['blocks_5finit',['blocks_init',['../blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9',1,'blocks.php']]],
['bookmark_5fadd',['bookmark_add',['../include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323',1,'bookmarks.php']]],
['bookmarks_5fcontent',['bookmarks_content',['../mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a',1,'bookmarks.php']]],
['bookmarks_5finit',['bookmarks_init',['../mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3',1,'bookmarks.php']]],
diff --git a/doc/html/search/functions_63.js b/doc/html/search/functions_63.js
index efc89de6b..45e867c89 100644
--- a/doc/html/search/functions_63.js
+++ b/doc/html/search/functions_63.js
@@ -3,13 +3,13 @@ var searchData=
['cal',['cal',['../datetime_8php.html#aea356409ba69f9de412298c998595dd2',1,'datetime.php']]],
['call_5fhooks',['call_hooks',['../plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c',1,'plugin.php']]],
['can_5fcomment_5fon_5fpost',['can_comment_on_post',['../items_8php.html#a1e75047cf175aaee8dd16aa761913ff9',1,'items.php']]],
+ ['catblock',['catblock',['../taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4',1,'taxonomy.php']]],
['categories_5fwidget',['categories_widget',['../contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353',1,'contact_widgets.php']]],
['change_5fchannel',['change_channel',['../security_8php.html#a8d23d2597aae380a3341872fe9513380',1,'security.php']]],
['change_5fpermissions',['change_permissions',['../classProtoDriver.html#a34b97ca5ef2165f2e16eb2fe59ff6c67',1,'ProtoDriver\change_permissions()'],['../classZotDriver.html#a6776935156accb0f170e2e24577133db',1,'ZotDriver\change_permissions()']]],
['chanlink_5fcid',['chanlink_cid',['../text_8php.html#a85e3a4851c16674834010d8419a5d7ca',1,'text.php']]],
['chanlink_5fhash',['chanlink_hash',['../text_8php.html#a55ab893be57feda59c2a7ba1e58ff2d0',1,'text.php']]],
['chanlink_5furl',['chanlink_url',['../text_8php.html#a2e8d6c402603be3a1256a16605e09c2a',1,'text.php']]],
- ['chanman_5fremove_5feverything_5ffrom_5fnetwork',['chanman_remove_everything_from_network',['../chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b',1,'chanman.php']]],
['channel_5fcontent',['channel_content',['../channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1',1,'channel.php']]],
['channel_5finit',['channel_init',['../channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc',1,'channel.php']]],
['channel_5fremove',['channel_remove',['../Contact_8php.html#a4e8af0f0525161da74583c04b8b03097',1,'Contact.php']]],
@@ -59,7 +59,7 @@ var searchData=
['cleardiv',['cleardiv',['../text_8php.html#afe18627c4983ee5f7c940a0992818cd5',1,'text.php']]],
['cli_5fstartup',['cli_startup',['../cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b',1,'cli_startup.php']]],
['cli_5fsuggest_5frun',['cli_suggest_run',['../cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2',1,'cli_suggest.php']]],
- ['close',['close',['../classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975',1,'dba_driver\close()'],['../classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e',1,'dba_mysql\close()'],['../classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55',1,'dba_mysqli\close()']]],
+ ['close',['close',['../classdba__driver.html#a5afa54172f3c837df61643f8f5b2c975',1,'dba_driver\close()'],['../classdba__mysql.html#a850586714ef897bd25f643c89b4ef76e',1,'dba_mysql\close()'],['../classdba__mysqli.html#acb38f2c851187ad632ecfab30fdfab55',1,'dba_mysqli\close()'],['../classdba__postgres.html#a731d8648b41b8a126f6b99bdd5414058',1,'dba_postgres\close()']]],
['cloud_5finit',['cloud_init',['../cloud_8php.html#ad2e96e917852f27dedfc263d37e13756',1,'cloud.php']]],
['collect',['collect',['../classProtoDriver.html#a2ba1758f0f9e3564580b6ff85292804d',1,'ProtoDriver\collect()'],['../classZotDriver.html#af65febb26031eb7f39871b9e2a539797',1,'ZotDriver\collect()']]],
['collect_5fprivate',['collect_private',['../classProtoDriver.html#af66171aa7dab9b62cee915cb4f1abe1b',1,'ProtoDriver\collect_private()'],['../classZotDriver.html#a2e15ff09772f0608203dad1c98299394',1,'ZotDriver\collect_private()']]],
@@ -81,7 +81,8 @@ var searchData=
['common_5finit',['common_init',['../common_8php.html#aca62f113655809f41f49042ce9b123c2',1,'common.php']]],
['compare_5fpermissions',['compare_permissions',['../items_8php.html#a0790a4550b829e85504af548623002ca',1,'items.php']]],
['completeurl',['completeurl',['../parse__url_8php.html#a496f4e3836154f6f32b8e805a7160d3a',1,'parse_url.php']]],
- ['connect',['connect',['../classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc',1,'dba_driver\connect()'],['../classdba__mysql.html#a1887338627ce0e28786839363014bd0b',1,'dba_mysql\connect()'],['../classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1',1,'dba_mysqli\connect()']]],
+ ['concat',['concat',['../classdba__driver.html#ab9982f38a02f008b127a0f3ccc1e99f4',1,'dba_driver\concat()'],['../classdba__postgres.html#a7ea3f24ad260c1e21588f8b5af595caa',1,'dba_postgres\concat()']]],
+ ['connect',['connect',['../classdba__driver.html#ae533e62a240a793f17aef5ab4ef10edc',1,'dba_driver\connect()'],['../classdba__mysql.html#a1887338627ce0e28786839363014bd0b',1,'dba_mysql\connect()'],['../classdba__mysqli.html#add062bd93961e5f0194d94820e9a51b1',1,'dba_mysqli\connect()'],['../classdba__postgres.html#ab36244320f5b71dba92d9318ccf3f34e',1,'dba_postgres\connect()']]],
['connect_5fcontent',['connect_content',['../connect_8php.html#a489f0a66c660de6ec4d6917b27674f07',1,'connect.php']]],
['connect_5finit',['connect_init',['../connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36',1,'connect.php']]],
['connect_5fpost',['connect_post',['../connect_8php.html#a417ec27afe33f21a929667a665e32ee2',1,'connect.php']]],
@@ -107,11 +108,15 @@ var searchData=
['conv_5fsort',['conv_sort',['../conversation_8php.html#abed85a41f1160598de880b84021c9cf7',1,'conversation.php']]],
['conversation',['conversation',['../conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81',1,'conversation.php']]],
['convert',['convert',['../namespacefriendica-to-smarty-tpl.html#a38503e37fe68ac27c88cce91a9ac9efa',1,'friendica-to-smarty-tpl']]],
+ ['convert_5fchild',['convert_child',['../classRedMatrix_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a',1,'RedMatrix::Import::Import']]],
+ ['convert_5fitem',['convert_item',['../classRedMatrix_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218',1,'RedMatrix::Import::Import']]],
+ ['convert_5ftaxonomy',['convert_taxonomy',['../classRedMatrix_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6',1,'RedMatrix::Import::Import']]],
['convert_5fxml_5felement_5fto_5farray',['convert_xml_element_to_array',['../include_2network_8php.html#ad4056d3ce69988f5c1a997a79f503246',1,'network.php']]],
['count_5fall_5ffriends',['count_all_friends',['../socgraph_8php.html#af29d056beec10b4e38e5209c92452894',1,'socgraph.php']]],
['count_5fcommon_5ffriends',['count_common_friends',['../socgraph_8php.html#a887d576f21fd708132a06d0f72f90f84',1,'socgraph.php']]],
['count_5fcommon_5ffriends_5fzcid',['count_common_friends_zcid',['../socgraph_8php.html#af175807406d94407a5e11742a3287746',1,'socgraph.php']]],
['count_5fdescendants',['count_descendants',['../classItem.html#aca1e66988ed00cd627b2a359b72cd0ae',1,'Item\count_descendants()'],['../conversation_8php.html#ab2383dff4f823e580399ff469d90ab19',1,'count_descendants():&#160;conversation.php']]],
+ ['count_5funseen_5fdescendants',['count_unseen_descendants',['../classItem.html#ae0c48b2fed5558642549cabd547fc4f3',1,'Item']]],
['create_5faccount',['create_account',['../account_8php.html#a141fe579c351c78209d425473f978eb5',1,'account.php']]],
['create_5fidentity',['create_identity',['../identity_8php.html#a345f4c943d84de502ec6e72d2c813945',1,'identity.php']]],
['create_5fsys_5fchannel',['create_sys_channel',['../identity_8php.html#a1cf83ac2b645de12868edaa3a5718f05',1,'identity.php']]],
diff --git a/doc/html/search/functions_64.js b/doc/html/search/functions_64.js
index 1c6e9fc31..ba2666498 100644
--- a/doc/html/search/functions_64.js
+++ b/doc/html/search/functions_64.js
@@ -4,13 +4,22 @@ var searchData=
['datetime_5fconvert',['datetime_convert',['../datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226',1,'datetime.php']]],
['datetimesel',['datetimesel',['../datetime_8php.html#a72218e5ee21876484934bacbb6bd9ba3',1,'datetime.php']]],
['day_5ftranslate',['day_translate',['../text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63',1,'text.php']]],
- ['dba_5ffactory',['dba_factory',['../dba__driver_8php.html#ac10e60f6e5b95bcf67bd82cb88f37947',1,'dba_driver.php']]],
+ ['db_5fconcat',['db_concat',['../dba__driver_8php.html#a7c1b98a710ead27382c958ad3216c4ee',1,'dba_driver.php']]],
+ ['db_5fgetfunc',['db_getfunc',['../dba__driver_8php.html#a2994daa03b1c23229a27e39bcab75e67',1,'dba_driver.php']]],
+ ['db_5foptimizetable',['db_optimizetable',['../dba__driver_8php.html#a75098bf1d59ea57f7ebae657a369137e',1,'dba_driver.php']]],
+ ['db_5fquoteinterval',['db_quoteinterval',['../dba__driver_8php.html#acec84a8fb75d78daf657cbe5df74e25a',1,'dba_driver.php']]],
+ ['db_5futcnow',['db_utcnow',['../dba__driver_8php.html#a30e9a643be804e905f5614a3279d2645',1,'dba_driver.php']]],
+ ['dba_5ffactory',['dba_factory',['../dba__driver_8php.html#a5df8499634c47b30191f34069d7b98c0',1,'dba_driver.php']]],
['dba_5ftimer',['dba_timer',['../boot_8php.html#a3e0930933fb2c0bf8211cc7ab4e1c3b4',1,'boot.php']]],
['dbesc',['dbesc',['../dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e',1,'dba_driver.php']]],
['dbesc_5farray',['dbesc_array',['../dba__driver_8php.html#a65b83462bd26968106aebd43f16540e4',1,'dba_driver.php']]],
['dbesc_5farray_5fcb',['dbesc_array_cb',['../dba__driver_8php.html#af531546fac5f0836a8557a4f6dfee930',1,'dba_driver.php']]],
+ ['dbesc_5fidentifier',['dbesc_identifier',['../dba__driver_8php.html#aa051799567690a124a3b865bf902f58a',1,'dba_driver.php']]],
+ ['dbescbin',['dbescbin',['../dba__driver_8php.html#a2a38996670c2936b5769270c49c57593',1,'dba_driver.php']]],
+ ['dbescdate',['dbescdate',['../dba__driver_8php.html#a2c8a72ec73f39b17a167c90737693f78',1,'dba_driver.php']]],
['dbg',['dbg',['../classdba__driver.html#adcc1f8955120fec0708bce39202d0422',1,'dba_driver\dbg()'],['../dba__driver_8php.html#aa6607893d8f60ade9122bcfbd1a53ffb',1,'dbg():&#160;dba_driver.php']]],
['dbq',['dbq',['../dba__driver_8php.html#aa377074e70981e8c4e82ca0accd068ee',1,'dba_driver.php']]],
+ ['dbunescbin',['dbunescbin',['../dba__driver_8php.html#afaaa1a7eff9c1b65b3b8c464ae37640e',1,'dba_driver.php']]],
['decode_5ftags',['decode_tags',['../items_8php.html#a56b2a4abcadfac71175cd50555528cc3',1,'items.php']]],
['del_5fconfig',['del_config',['../include_2config_8php.html#a549910227348003efc3c05c9105c42da',1,'config.php']]],
['del_5fpconfig',['del_pconfig',['../include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941',1,'config.php']]],
@@ -63,6 +72,7 @@ var searchData=
['diaspora_5ftransmit',['diaspora_transmit',['../diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56',1,'diaspora.php']]],
['diaspora_5ful',['diaspora_ul',['../bb2diaspora_8php.html#adc92ccda5f85ed27e64fcc17712c89cc',1,'bb2diaspora.php']]],
['diaspora_5funshare',['diaspora_unshare',['../diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200',1,'diaspora.php']]],
+ ['dir_5fflag_5fbuild',['dir_flag_build',['../dirsearch_8php.html#ab6d5fefa98da249a994b910434a669c2',1,'dirsearch.php']]],
['dir_5fparse_5fquery',['dir_parse_query',['../dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305',1,'dirsearch.php']]],
['dir_5fquery_5fbuild',['dir_query_build',['../dirsearch_8php.html#a52bcac49b0e35cc8c6b70066143c2ee2',1,'dirsearch.php']]],
['dir_5fsafe_5fmode',['dir_safe_mode',['../dir__fns_8php.html#acf621621e929d49441da30aad76a58cf',1,'dir_fns.php']]],
@@ -72,7 +82,6 @@ var searchData=
['directory_5fcontent',['directory_content',['../mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44',1,'directory.php']]],
['directory_5finit',['directory_init',['../mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf',1,'directory.php']]],
['directory_5frun',['directory_run',['../include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0',1,'directory.php']]],
- ['dirprofile_5finit',['dirprofile_init',['../dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052',1,'dirprofile.php']]],
['dirsearch_5fcontent',['dirsearch_content',['../dirsearch_8php.html#aa1fb04e1de4f25b63349ac78f94ceb4c',1,'dirsearch.php']]],
['dirsearch_5finit',['dirsearch_init',['../dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752',1,'dirsearch.php']]],
['discover',['discover',['../classProtoDriver.html#a64a3868cffe27d601d55f69a2ecc4337',1,'ProtoDriver\discover()'],['../classZotDriver.html#a40d328ff9f6b0a238afe286dddee1514',1,'ZotDriver\discover()']]],
diff --git a/doc/html/search/functions_65.js b/doc/html/search/functions_65.js
index fdeeb2099..e912fd337 100644
--- a/doc/html/search/functions_65.js
+++ b/doc/html/search/functions_65.js
@@ -1,9 +1,12 @@
var searchData=
[
['editblock_5fcontent',['editblock_content',['../editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6',1,'editblock.php']]],
+ ['editblock_5finit',['editblock_init',['../editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e',1,'editblock.php']]],
['editlayout_5fcontent',['editlayout_content',['../editlayout_8php.html#aa877e4157a26b099de904164181dd386',1,'editlayout.php']]],
+ ['editlayout_5finit',['editlayout_init',['../editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7',1,'editlayout.php']]],
['editpost_5fcontent',['editpost_content',['../editpost_8php.html#a34011690864d122680c802e9e748ccfb',1,'editpost.php']]],
['editwebpage_5fcontent',['editwebpage_content',['../editwebpage_8php.html#a375e945255fad79a71036528f7480650',1,'editwebpage.php']]],
+ ['editwebpage_5finit',['editwebpage_init',['../editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f',1,'editwebpage.php']]],
['email_5fheader_5fencode',['email_header_encode',['../include_2network_8php.html#a469b9bd700269cd07d954f1a16c5899b',1,'network.php']]],
['email_5fsend',['email_send',['../include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0',1,'network.php']]],
['encode_5fitem',['encode_item',['../items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86',1,'items.php']]],
@@ -13,8 +16,10 @@ var searchData=
['encode_5fmail',['encode_mail',['../items_8php.html#a2d840c74ed23d1b6c7daee05cf89dda7',1,'items.php']]],
['encode_5frel_5flinks',['encode_rel_links',['../items_8php.html#aa723c0571e314a1853a24c5854b4f54f',1,'items.php']]],
['enumerate_5fpermissions',['enumerate_permissions',['../items_8php.html#afbcf26dfcf8a83fff952aa858c1b7b67',1,'items.php']]],
- ['escape',['escape',['../classdba__driver.html#afc95ffa103a3290581b537670cde5311',1,'dba_driver\escape()'],['../classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e',1,'dba_mysql\escape()'],['../classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64',1,'dba_mysqli\escape()']]],
+ ['escape',['escape',['../classdba__driver.html#afc95ffa103a3290581b537670cde5311',1,'dba_driver\escape()'],['../classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e',1,'dba_mysql\escape()'],['../classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64',1,'dba_mysqli\escape()'],['../classdba__postgres.html#a7108eaaae7cc2fb236212041afc9ac0f',1,'dba_postgres\escape()']]],
+ ['escape_5fidentifier',['escape_identifier',['../classdba__postgres.html#ab2e44e9f41d05e585afd873d18e8c127',1,'dba_postgres']]],
['escape_5ftags',['escape_tags',['../text_8php.html#aa5148a0dfea2a1ca64c3d52f10aa2d64',1,'text.php']]],
+ ['escapebin',['escapebin',['../classdba__driver.html#a7dbe8318587ff1694825042bf58f4fbd',1,'dba_driver\escapebin()'],['../classdba__postgres.html#a8d2c6d8c92fe6f074452876483dd17fc',1,'dba_postgres\escapebin()']]],
['ev_5fcompare',['ev_compare',['../event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850',1,'event.php']]],
['event_5faddtocal',['event_addtocal',['../event_8php.html#ac9f206819186b65952ac1869f0da8c6e',1,'event.php']]],
['event_5fstore_5fevent',['event_store_event',['../event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c',1,'event.php']]],
diff --git a/doc/html/search/functions_66.js b/doc/html/search/functions_66.js
index 03ba9058a..7f97017bd 100644
--- a/doc/html/search/functions_66.js
+++ b/doc/html/search/functions_66.js
@@ -8,7 +8,6 @@ var searchData=
['fetch_5flrdd_5ftemplate',['fetch_lrdd_template',['../include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0',1,'network.php']]],
['fetch_5fpost_5ftags',['fetch_post_tags',['../items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9',1,'items.php']]],
['fetch_5fxrd_5flinks',['fetch_xrd_links',['../include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d',1,'network.php']]],
- ['field_5ftimezone',['field_timezone',['../datetime_8php.html#a03900dcf0f9e3c58793a031673a70326',1,'datetime.php']]],
['file_5ftag_5fdecode',['file_tag_decode',['../taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6',1,'taxonomy.php']]],
['file_5ftag_5fencode',['file_tag_encode',['../taxonomy_8php.html#a3299482ac20e9d79453048dd52881d37',1,'taxonomy.php']]],
['file_5ftag_5ffile_5fquery',['file_tag_file_query',['../taxonomy_8php.html#a163b5131f388080b0fc82398d3a32fe1',1,'taxonomy.php']]],
@@ -44,8 +43,10 @@ var searchData=
['format_5fevent_5fbbcode',['format_event_bbcode',['../event_8php.html#abb74206cf42d694307c3d7abb7af9869',1,'event.php']]],
['format_5fevent_5fdiaspora',['format_event_diaspora',['../bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863',1,'bb2diaspora.php']]],
['format_5fevent_5fhtml',['format_event_html',['../event_8php.html#a2ac9f1b08de03250ecd794f705781d17',1,'event.php']]],
+ ['format_5fevent_5fical',['format_event_ical',['../event_8php.html#a3ff7f1824540a38f4a3991a59a9542d4',1,'event.php']]],
['format_5ffiler',['format_filer',['../text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91',1,'text.php']]],
['format_5fhashtags',['format_hashtags',['../text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59',1,'text.php']]],
+ ['format_5fical_5ftext',['format_ical_text',['../event_8php.html#a05073cd4ab837bd4a0149e8ed23ce688',1,'event.php']]],
['format_5fjs_5fif_5fexists',['format_js_if_exists',['../plugin_8php.html#ad9ff8ba554576383c5911a4bce068c1f',1,'plugin.php']]],
['format_5flike',['format_like',['../conversation_8php.html#a3d8e30cc94f9a175054c021305d3aca3',1,'conversation.php']]],
['format_5flocation',['format_location',['../conversation_8php.html#a0891aaa4492cba2b51eda12fe01957f3',1,'conversation.php']]],
diff --git a/doc/html/search/functions_67.js b/doc/html/search/functions_67.js
index f33095628..1f2afb3f3 100644
--- a/doc/html/search/functions_67.js
+++ b/doc/html/search/functions_67.js
@@ -3,6 +3,8 @@ var searchData=
['gen_5ftoken',['gen_token',['../classFKOAuthDataStore.html#aa1a268be88ad3979bb4cc35bbb4dc819',1,'FKOAuthDataStore']]],
['gender_5fselector',['gender_selector',['../profile__selectors_8php.html#ae2b2c087e6530c61c0b256fd26d52355',1,'profile_selectors.php']]],
['gender_5fselector_5fmin',['gender_selector_min',['../profile__selectors_8php.html#a8bfa1ca2d1598a3d65f1f9bb803ca816',1,'profile_selectors.php']]],
+ ['generate_5fmap',['generate_map',['../text_8php.html#ae0333c304ec5b4b72e66bb2933fa7357',1,'text.php']]],
+ ['generate_5fnamed_5fmap',['generate_named_map',['../text_8php.html#af5eb4a9c1599764f80c5bc71e0125d4b',1,'text.php']]],
['generatedirectoryindex',['generateDirectoryIndex',['../classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09',1,'RedMatrix::RedDAV::RedBrowser']]],
['get',['get',['../classCache.html#a70392b109331897bf9fdd7f1960e21de',1,'Cache\get()'],['../classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8',1,'RedMatrix\RedDAV\RedFile\get()']]],
['get_5faccount',['get_account',['../classApp.html#a08bc87aff64f39fbc084e9d6545cee4d',1,'App']]],
@@ -20,8 +22,9 @@ var searchData=
['get_5fcapath',['get_capath',['../include_2network_8php.html#a78e89557b2fbd344ad790846d761b0c7',1,'network.php']]],
['get_5fchannel',['get_channel',['../classApp.html#a084e03c77686d8c13390fef3f7428a2b',1,'App']]],
['get_5fchannel_5fby_5fnick',['get_channel_by_nick',['../identity_8php.html#ac73b3e13778c564c877554517a7f51ba',1,'identity.php']]],
+ ['get_5fchannel_5fdefault_5fperms',['get_channel_default_perms',['../identity_8php.html#a293f416ce9050220b183e08ff5890216',1,'identity.php']]],
['get_5fchild',['get_child',['../classItem.html#a632185dd25c5caf277067c76230a4320',1,'Item']]],
- ['get_5fchildren',['get_children',['../classItem.html#aa0ee775ec94abccec6c798428835d001',1,'Item']]],
+ ['get_5fchildren',['get_children',['../classRedMatrix_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8',1,'RedMatrix\Import\Import\get_children()'],['../classItem.html#aa0ee775ec94abccec6c798428835d001',1,'Item\get_children()']]],
['get_5fcipher',['get_cipher',['../classConversation.html#a4aab60bb39fa6761b6cacdc8d9da2901',1,'Conversation']]],
['get_5fcloudpath',['get_cloudpath',['../include_2attach_8php.html#a6aa00ea010ea030110faefb75eafc1ce',1,'attach.php']]],
['get_5fcomment_5fbox',['get_comment_box',['../classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf',1,'Item']]],
@@ -29,6 +32,7 @@ var searchData=
['get_5fconfig',['get_config',['../include_2config_8php.html#af02c96e6b37335774b548914ede1d22e',1,'config.php']]],
['get_5fconfig_5ffrom_5fstorage',['get_config_from_storage',['../include_2config_8php.html#af08b7adb63adfb2eda7c466fba0cce74',1,'config.php']]],
['get_5fconversation',['get_conversation',['../classItem.html#a0c301aaed2b7d682728d18db3a22afa3',1,'Item']]],
+ ['get_5fcredentials',['get_credentials',['../classRedMatrix_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367',1,'RedMatrix::Import::Import']]],
['get_5fcustom_5fnav',['get_custom_nav',['../boot_8php.html#a899d24fd074594ceebbf72e1feff335f',1,'boot.php']]],
['get_5fdata',['get_data',['../classItem.html#ad3638f93065693c1f69eb349feb1b7aa',1,'Item']]],
['get_5fdata_5fvalue',['get_data_value',['../classItem.html#ac6f1c96cc82a0dfb7e881fc70309ea3c',1,'Item']]],
@@ -38,6 +42,7 @@ var searchData=
['get_5fdiaspora_5freshare_5fxml',['get_diaspora_reshare_xml',['../diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7',1,'diaspora.php']]],
['get_5fdim',['get_dim',['../datetime_8php.html#a7df24d72ea05922d3127363e2295174c',1,'datetime.php']]],
['get_5fdirectory_5frealm',['get_directory_realm',['../boot_8php.html#a329400dcb29897cdaae3020109272285',1,'boot.php']]],
+ ['get_5fdisplay_5fmode',['get_display_mode',['../classItem.html#a23d4057883f8ed888c0c2ff12d8aa5d0',1,'Item']]],
['get_5fevents',['get_events',['../identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312',1,'identity.php']]],
['get_5ffeatures',['get_features',['../features_8php.html#ae73c5b03b01c7284ed7e7e0e774e975c',1,'features.php']]],
['get_5ffeed_5ffor',['get_feed_for',['../items_8php.html#a04a35b610acfe54434df08adec39c0c7',1,'items.php']]],
@@ -47,10 +52,14 @@ var searchData=
['get_5fgroups',['get_groups',['../classApp.html#a4659785d13e4bac0bed50dbb1b0d4299',1,'App']]],
['get_5fhostname',['get_hostname',['../classApp.html#a622eace13f8fc9f4b5672a68e2bc4396',1,'App']]],
['get_5fid',['get_id',['../classItem.html#ac0f27e58532612f6e7a54c8a621b9b92',1,'Item']]],
+ ['get_5finstall_5fscript',['get_install_script',['../classdba__driver.html#a8d6a79d39d7eaee5aea4e952c4529d48',1,'dba_driver']]],
['get_5fintltext_5ftemplate',['get_intltext_template',['../classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118',1,'FriendicaSmartyEngine\get_intltext_template()'],['../plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295',1,'get_intltext_template():&#160;plugin.php']]],
+ ['get_5fitem',['get_item',['../classRedMatrix_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2',1,'RedMatrix::Import::Import']]],
['get_5fitem_5fchildren',['get_item_children',['../conversation_8php.html#a7f6ef0dfa554bacf620e84c18d386e67',1,'conversation.php']]],
['get_5fitem_5fcontact',['get_item_contact',['../items_8php.html#aab9c6bae4c40799867596bdaae9829fd',1,'items.php']]],
['get_5fitem_5felements',['get_item_elements',['../items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361',1,'items.php']]],
+ ['get_5fitem_5fident',['get_item_ident',['../classRedMatrix_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059',1,'RedMatrix::Import::Import']]],
+ ['get_5fitemlist',['get_itemlist',['../classRedMatrix_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc',1,'RedMatrix::Import::Import']]],
['get_5flanguage_5fname',['get_language_name',['../language_8php.html#a43e6ddba9df019c9ac3ab4c94c444ae7',1,'language.php']]],
['get_5fmail_5felements',['get_mail_elements',['../items_8php.html#a94ddb1d6c8fa21dd7433677e85168037',1,'items.php']]],
['get_5fmarkup_5ftemplate',['get_markup_template',['../interfaceITemplateEngine.html#aaf2698adbf46c073c24b162fe1b1c442',1,'ITemplateEngine\get_markup_template()'],['../classFriendicaSmartyEngine.html#aab5994077fc3a64222e41b28e2bd8d88',1,'FriendicaSmartyEngine\get_markup_template()'],['../classTemplate.html#afd97b4b1e7754a550e67c0ea79159059',1,'Template\get_markup_template()'],['../plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4',1,'get_markup_template():&#160;plugin.php']]],
@@ -60,6 +69,7 @@ var searchData=
['get_5fmood_5fverbs',['get_mood_verbs',['../text_8php.html#a736db13a966b8abaf8c9198faa35911a',1,'text.php']]],
['get_5fmy_5faddress',['get_my_address',['../identity_8php.html#a490972c02fdb638c52ec0e012a30bfd2',1,'identity.php']]],
['get_5fmy_5furl',['get_my_url',['../identity_8php.html#aa46321e1cd6a3b8dfde8bf9510112fec',1,'identity.php']]],
+ ['get_5fnull_5fdate',['get_null_date',['../classdba__driver.html#a65a5c7b355ab5529a43049e160006426',1,'dba_driver']]],
['get_5fobserver',['get_observer',['../classApp.html#a1ad3bb1b68439b3b7cbe630918e618d2',1,'App\get_observer()'],['../classConversation.html#ae3d4190142e12b57051f11f2911f77a0',1,'Conversation\get_observer()']]],
['get_5fobserver_5fhash',['get_observer_hash',['../boot_8php.html#a623e49c79943f3e7bdb770d021683cf7',1,'boot.php']]],
['get_5fonline_5fstatus',['get_online_status',['../identity_8php.html#a332df795f684788002f5a6424abacfd7',1,'identity.php']]],
@@ -74,6 +84,7 @@ var searchData=
['get_5fplink',['get_plink',['../text_8php.html#aac0969ae09853205992ba06ab9f9f61a',1,'text.php']]],
['get_5fplugin_5finfo',['get_plugin_info',['../plugin_8php.html#aff0178bd8d0b34a94d5efddc883edd35',1,'plugin.php']]],
['get_5fpoke_5fverbs',['get_poke_verbs',['../text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66',1,'text.php']]],
+ ['get_5fpoller_5fruntime',['get_poller_runtime',['../boot_8php.html#aa561f801e962b67a5c4d0548ea95fd17',1,'boot.php']]],
['get_5fprofile_5felements',['get_profile_elements',['../items_8php.html#a251343637ff40a50cca93452cd530c26',1,'items.php']]],
['get_5fprofile_5ffields_5fadvanced',['get_profile_fields_advanced',['../identity_8php.html#a224710dfb7465b706c91134247c20afa',1,'identity.php']]],
['get_5fprofile_5ffields_5fbasic',['get_profile_fields_basic',['../identity_8php.html#a4ff59df0f0a668a06a8411f87496aa21',1,'identity.php']]],
@@ -82,10 +93,12 @@ var searchData=
['get_5fredirect_5furl',['get_redirect_url',['../classItem.html#a428f448f89a8629055ea3294eb942aea',1,'Item']]],
['get_5frel_5flink',['get_rel_link',['../text_8php.html#a3972701c5c83624ec4e2d06242f614e7',1,'text.php']]],
['get_5frole_5fperms',['get_role_perms',['../permissions_8php.html#a9b5f5120566a3699a98efc5ccb0c59fe',1,'permissions.php']]],
+ ['get_5froles',['get_roles',['../permissions_8php.html#a6b239a0d494b92a89ce7bf9c7e588991',1,'permissions.php']]],
['get_5frpost_5fpath',['get_rpost_path',['../zot_8php.html#a8e22dbc6f884be3644a892a876cbd972',1,'zot.php']]],
['get_5fsys_5fchannel',['get_sys_channel',['../identity_8php.html#aaff86ee3b5984821e7a256c2da5f1a51',1,'identity.php']]],
['get_5fsystem_5fapps',['get_system_apps',['../include_2apps_8php.html#ae64f72eb4f126e03b4eb65ed1702a3ca',1,'apps.php']]],
['get_5ftags',['get_tags',['../text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623',1,'text.php']]],
+ ['get_5ftaxonomy',['get_taxonomy',['../classRedMatrix_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c',1,'RedMatrix::Import::Import']]],
['get_5ftemplate',['get_template',['../classItem.html#aba23a0a9d89e316d2b343cc46d695d91',1,'Item']]],
['get_5ftemplate_5fdata',['get_template_data',['../classConversation.html#a2a96b7a6573ae53db861624659e831cb',1,'Conversation\get_template_data()'],['../classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8',1,'Item\get_template_data()']]],
['get_5ftemplate_5fengine',['get_template_engine',['../classApp.html#acb27e607fe4c82603444676e25c36b70',1,'App']]],
@@ -98,6 +111,7 @@ var searchData=
['get_5ftheme_5fuid',['get_theme_uid',['../identity_8php.html#aaeb666872995e3ab8da8f7bc5f3b2bd3',1,'identity.php']]],
['get_5fthings',['get_things',['../taxonomy_8php.html#a7747fa859ac56fbffd4f9782d85505de',1,'taxonomy.php']]],
['get_5fthread',['get_thread',['../classConversation.html#a4cff75d8c46b517e7133e4d0da6fc1c8',1,'Conversation']]],
+ ['get_5ftimezones',['get_timezones',['../datetime_8php.html#afbb34604d0f6e7d2103da4f42e2487b1',1,'datetime.php']]],
['get_5fwidgets',['get_widgets',['../classApp.html#a871898becd0697d778f36d9336253ae8',1,'App']]],
['get_5fwords',['get_words',['../spam_8php.html#ab8fd81a82c9622cbebb8ceab6b310ca6',1,'spam.php']]],
['get_5fxconfig',['get_xconfig',['../include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e',1,'config.php']]],
@@ -107,9 +121,11 @@ var searchData=
['getcontenttype',['getContentType',['../classRedMatrix_1_1RedDAV_1_1RedFile.html#af5c88b75d0c1f590af03755534cb167e',1,'RedMatrix::RedDAV::RedFile']]],
['getcurrentuser',['getCurrentUser',['../classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#aa0b2a5fa9186d7dc0e637f1ecb379c42',1,'RedMatrix::RedDAV::RedBasicAuth']]],
['getdir',['getDir',['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d',1,'RedMatrix::RedDAV::RedDirectory']]],
+ ['getdriver',['getdriver',['../classdba__driver.html#a02165fc4bee63d040ebd963a4fa82a14',1,'dba_driver\getdriver()'],['../classdba__mysql.html#a31011edd67b6b394355bf04cedb498d0',1,'dba_mysql\getdriver()'],['../classdba__mysqli.html#a6eb6c578c6928908321e5e6da866e1db',1,'dba_mysqli\getdriver()'],['../classdba__postgres.html#ae0f834413e57cf0735ae7b64b2f71e68',1,'dba_postgres\getdriver()']]],
['getetag',['getETag',['../classRedMatrix_1_1RedDAV_1_1RedFile.html#a9f14682acf3ccb70df5af5dd0687c689',1,'RedMatrix::RedDAV::RedFile']]],
['getext',['getExt',['../classphoto__driver.html#aa2efb5b2a6af3fd67e3f1c2b9852a5ba',1,'photo_driver']]],
['getheight',['getHeight',['../classphoto__driver.html#af769e9abb144e57002c59aa2aa8f3468',1,'photo_driver']]],
+ ['geticonfromtype',['getIconFromType',['../classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a810af4506cb3247e0ea7b0c4accbbc7a',1,'RedMatrix::RedDAV::RedBrowser']]],
['getimage',['getImage',['../classphoto__driver.html#ab98da263bd7341fc132c4fb6fc76e8d5',1,'photo_driver\getImage()'],['../classphoto__gd.html#a86757ba021fd80d1a5cf8c2f766a8484',1,'photo_gd\getImage()'],['../classphoto__imagick.html#ad07288e0eb3922cb08cc9d33a163decc',1,'photo_imagick\getImage()']]],
['getlastmodified',['getLastModified',['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a69db5f641f8f5dc999e55cee1832ecd5',1,'RedMatrix\RedDAV\RedDirectory\getLastModified()'],['../classRedMatrix_1_1RedDAV_1_1RedFile.html#ac47016aa0e3f6f1a1c4570bd6fd8cf25',1,'RedMatrix\RedDAV\RedFile\getLastModified()']]],
['getname',['getName',['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a55f7172814a0749b5342f152ab3fa0df',1,'RedMatrix\RedDAV\RedDirectory\getName()'],['../classRedMatrix_1_1RedDAV_1_1RedFile.html#ac945aa782d6c035d339e59974266ec4d',1,'RedMatrix\RedDAV\RedFile\getName()']]],
diff --git a/doc/html/search/functions_68.js b/doc/html/search/functions_68.js
index 481991cb0..4d5d89d71 100644
--- a/doc/html/search/functions_68.js
+++ b/doc/html/search/functions_68.js
@@ -1,7 +1,7 @@
var searchData=
[
['handle_5ffeed',['handle_feed',['../items_8php.html#a52c24114b73c0bdb605a03cd29712223',1,'items.php']]],
- ['handle_5ftag',['handle_tag',['../item_8php.html#aa22feef4de326e1d7078dedd892e615c',1,'item.php']]],
+ ['handle_5ftag',['handle_tag',['../text_8php.html#aa22feef4de326e1d7078dedd892e615c',1,'text.php']]],
['has_5fpermissions',['has_permissions',['../items_8php.html#a77051724d1784074ff187e73a4db93fe',1,'items.php']]],
['hcard_5fcontent',['hcard_content',['../hcard_8php.html#a3663012f1549849af88aba2bb87388e3',1,'hcard.php']]],
['hcard_5finit',['hcard_init',['../hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d',1,'hcard.php']]],
@@ -17,7 +17,7 @@ var searchData=
['help',['help',['../namespacefriendica-to-smarty-tpl.html#af6b2c793958aae2aadc294577431f749',1,'friendica-to-smarty-tpl.help()'],['../namespaceupdatetpl.html#ac9d11279fed403a329a719298feafc4f',1,'updatetpl.help()']]],
['help_5fcontent',['help_content',['../help_8php.html#af055e15f600ffa6fbca9386fdf715224',1,'help.php']]],
['hivenet_5finit',['hivenet_init',['../hivenet_2php_2theme_8php.html#a3a8b539b112ae63936025236dbaf0a29',1,'theme.php']]],
- ['home_5fcontent',['home_content',['../home_8php.html#aa1cf697851a646755baf537f75334c46',1,'home.php']]],
+ ['home_5fcontent',['home_content',['../home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f',1,'home.php']]],
['home_5finit',['home_init',['../home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde',1,'home.php']]],
['hostxrd_5finit',['hostxrd_init',['../hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92',1,'hostxrd.php']]],
['html2bb_5fvideo',['html2bb_video',['../text_8php.html#a138a3a611fa7f4f3630674145fc826bf',1,'text.php']]],
diff --git a/doc/html/search/functions_69.js b/doc/html/search/functions_69.js
index cc9cbd640..b7d49b52c 100644
--- a/doc/html/search/functions_69.js
+++ b/doc/html/search/functions_69.js
@@ -1,5 +1,6 @@
var searchData=
[
+ ['ical_5fwrapper',['ical_wrapper',['../event_8php.html#ab8cc2825013e724dc26229026711cf93',1,'event.php']]],
['identity_5fbasic_5fexport',['identity_basic_export',['../identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249',1,'identity.php']]],
['identity_5fcheck_5fservice_5fclass',['identity_check_service_class',['../identity_8php.html#ac9fcd5c4c371998790b5c55c3d0f4633',1,'identity.php']]],
['identity_5fselector',['identity_selector',['../identity_8php.html#a2ab5172eabd375869060c9ad68323f5c',1,'identity.php']]],
diff --git a/doc/html/search/functions_6c.js b/doc/html/search/functions_6c.js
index 171acad1d..80f4a7843 100644
--- a/doc/html/search/functions_6c.js
+++ b/doc/html/search/functions_6c.js
@@ -4,14 +4,16 @@ var searchData=
['lang_5fselector',['lang_selector',['../text_8php.html#a71f6952243d3fe1c5a8154f78027e29c',1,'text.php']]],
['layout_5fselect',['layout_select',['../text_8php.html#a3999a0b3e22e440f280ee791ce34d384',1,'text.php']]],
['layouts_5fcontent',['layouts_content',['../layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50',1,'layouts.php']]],
+ ['layouts_5finit',['layouts_init',['../layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa',1,'layouts.php']]],
['legal_5fwebbie',['legal_webbie',['../text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728',1,'text.php']]],
['like_5fcontent',['like_content',['../like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538',1,'like.php']]],
['like_5fpuller',['like_puller',['../conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0',1,'conversation.php']]],
['limit_5fbody_5fsize',['limit_body_size',['../items_8php.html#af94c281016c6c912d06e064113336c5c',1,'items.php']]],
['link_5fcompare',['link_compare',['../text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285',1,'text.php']]],
['linkify',['linkify',['../text_8php.html#a11255c8c4e5245b6c24f97684826aa54',1,'text.php']]],
- ['list_5fpost_5fdates',['list_post_dates',['../items_8php.html#aa2d3caa2f27720762b5c729e07df40fb',1,'items.php']]],
+ ['list_5fpost_5fdates',['list_post_dates',['../items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00',1,'items.php']]],
['list_5fpublic_5fsites',['list_public_sites',['../dirsearch_8php.html#a985d410a170549429857af6ff2673149',1,'dirsearch.php']]],
+ ['list_5fsmilies',['list_smilies',['../text_8php.html#a4446c7f8996a280f7e08b7bfe6c6c8bc',1,'text.php']]],
['load',['load',['../classphoto__driver.html#a19e1af2b6af4c63aa6230abe69f83712',1,'photo_driver\load()'],['../classphoto__gd.html#a33092b889875b68bfb1c97ff123012d9',1,'photo_gd\load()'],['../classphoto__imagick.html#a2c9168f110ccd6c264095d766615dfa8',1,'photo_imagick\load()']]],
['load_5fconfig',['load_config',['../include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1',1,'config.php']]],
['load_5fcontact_5flinks',['load_contact_links',['../boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6',1,'boot.php']]],
@@ -27,8 +29,10 @@ var searchData=
['local_5fuser',['local_user',['../boot_8php.html#ad4c9dc2c8a82e8f52b7404c1655eab44',1,'boot.php']]],
['localize_5fitem',['localize_item',['../conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c',1,'conversation.php']]],
['lockview_5fcontent',['lockview_content',['../lockview_8php.html#a851e26ab9a1008df5c5ebebea31e9b44',1,'lockview.php']]],
+ ['locs_5fcontent',['locs_content',['../locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44',1,'locs.php']]],
['locs_5fpost',['locs_post',['../locs_8php.html#a6b43654592919ac863d67a1f787a69b9',1,'locs.php']]],
['log',['log',['../classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abf6fe89b0a8239ed93c3b07e1fbce75b',1,'RedMatrix\RedDAV\RedBasicAuth\log()'],['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#af90a1a74cfd643a5c56b9a17ea250d59',1,'RedMatrix\RedDAV\RedDirectory\log()']]],
+ ['log_5ffailed_5flogin',['log_failed_login',['../auth_8php.html#ae3ecb5f34f202c7f9a61c5d589f6c6e1',1,'auth.php']]],
['logger',['logger',['../text_8php.html#a030fa5ecc64168af0c4f44897a9bce63',1,'text.php']]],
['login',['login',['../boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4',1,'boot.php']]],
['login_5fcontent',['login_content',['../login_8php.html#a1d69ca88eb9005a7026e128b9a645904',1,'login.php']]],
diff --git a/doc/html/search/functions_6f.js b/doc/html/search/functions_6f.js
index 4d843de13..6e1766c1d 100644
--- a/doc/html/search/functions_6f.js
+++ b/doc/html/search/functions_6f.js
@@ -20,6 +20,7 @@ var searchData=
['online_5finit',['online_init',['../online_8php.html#a80e107c84eb722b0ca11d0413b96f9f7',1,'online.php']]],
['openid_5fcontent',['openid_content',['../openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43',1,'openid.php']]],
['opensearch_5finit',['opensearch_init',['../opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9',1,'opensearch.php']]],
+ ['optimize_5ftable',['optimize_table',['../classdba__driver.html#a77e59dcbeab30ca6000131d2e9ad4092',1,'dba_driver\optimize_table()'],['../classdba__postgres.html#a3de1ac375e98886dfc38fd0066e88f90',1,'dba_postgres\optimize_table()']]],
['orient',['orient',['../classphoto__driver.html#a4de5bac8daea8f291a33c80788019d0d',1,'photo_driver']]],
['os_5fmkdir',['os_mkdir',['../boot_8php.html#a5fbebdf7a1c0ea8f904dbd9d78c2c06c',1,'boot.php']]]
];
diff --git a/doc/html/search/functions_70.js b/doc/html/search/functions_70.js
index 1d14502bf..dc785aa57 100644
--- a/doc/html/search/functions_70.js
+++ b/doc/html/search/functions_70.js
@@ -57,22 +57,6 @@ var searchData=
['post_5factivity_5fitem',['post_activity_item',['../items_8php.html#a410f9c743877c125ca06312373346903',1,'items.php']]],
['post_5finit',['post_init',['../post_8php.html#af4b48181ce773ef0cdfc972441445c34',1,'post.php']]],
['post_5fpost',['post_post',['../post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75',1,'post.php']]],
- ['post_5fto_5fred_5fadmin',['post_to_red_admin',['../post__to__red_8php.html#aeec4125719184e7b097b3b9fba3101b5',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fdeactivate',['post_to_red_deactivate',['../post__to__red_8php.html#a49fd35f7b1cdddfe6e26ddfcf8d3c4ec',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fdelete_5fcomment',['post_to_red_delete_comment',['../post__to__red_8php.html#a5cc2a89a6d33cdb8e2ca557a69bef42d',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fdelete_5fpost',['post_to_red_delete_post',['../post__to__red_8php.html#a4674bb5ce2baa32c559607460c39a2c5',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fdisplay_5fadmin_5fpage',['post_to_red_display_admin_page',['../post__to__red_8php.html#a8ec8f8809e3c5d1b2c9598c8185d63aa',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fdisplayadmincontent',['post_to_red_displayAdminContent',['../post__to__red_8php.html#a75db5d87226a0287a0ac0fa315f2bcfd',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fget_5facct_5fname',['post_to_red_get_acct_name',['../post__to__red_8php.html#ae6f3a2c0561cbeacda5be565b06de8a7',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fget_5favatar',['post_to_red_get_avatar',['../post__to__red_8php.html#ae0b881461afbdba93d9329068ea52136',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fget_5fchannel_5fname',['post_to_red_get_channel_name',['../post__to__red_8php.html#aacba7a0646fc00ae6ac4f5dc383fccab',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fget_5fpassword',['post_to_red_get_password',['../post__to__red_8php.html#a4d90ac085c14f53ff4d8ab4c23477ea6',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fget_5fseed_5flocation',['post_to_red_get_seed_location',['../post__to__red_8php.html#a96d0ccecb96600ef1bfd50ab3f77315f',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fpost',['post_to_red_post',['../post__to__red_8php.html#af5fd50e2c42ede85f8a9e8d9ee3cf540',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fpost_5fcheckbox',['post_to_red_post_checkbox',['../post__to__red_8php.html#a0f139dea77a94c98f26007963eea639c',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fpost_5ffield_5fdata',['post_to_red_post_field_data',['../post__to__red_8php.html#a7e68a8d9c83cb28d032aad3ea85ce0a6',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fpost_5fmeta_5fcontent',['post_to_red_post_meta_content',['../post__to__red_8php.html#aa97aeda12ef080665f16311a4e1eb901',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fsettings_5flink',['post_to_red_settings_link',['../post__to__red_8php.html#a906be8f72cf1aa2e199c0683ea6a4017',1,'post_to_red.php']]],
['posted_5fdates',['posted_dates',['../items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0',1,'items.php']]],
['preg_5fcallback_5fhelp_5finclude',['preg_callback_help_include',['../help_8php.html#a06b2a51aaabed99e53a9b639047c4ce4',1,'help.php']]],
['preg_5fheart',['preg_heart',['../text_8php.html#ac19d2b33a58372a357a43d51eed19162',1,'text.php']]],
@@ -97,7 +81,7 @@ var searchData=
['probe_5fzot',['probe_zot',['../include_2probe_8php.html#a3c02c7a23e8335a79c3c0f5331d11a85',1,'probe.php']]],
['proc_5frun',['proc_run',['../boot_8php.html#ab346a2ece14993861f3e4206befa94f0',1,'boot.php']]],
['process_5fchannel_5fsync_5fdelivery',['process_channel_sync_delivery',['../zot_8php.html#ac301c67864917c35922257950ae0f95c',1,'zot.php']]],
- ['process_5fdelivery',['process_delivery',['../zot_8php.html#a4d9e6ca295e443b740d9960c304b3474',1,'zot.php']]],
+ ['process_5fdelivery',['process_delivery',['../zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d',1,'zot.php']]],
['process_5flocation_5fdelivery',['process_location_delivery',['../zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988',1,'zot.php']]],
['process_5fmail_5fdelivery',['process_mail_delivery',['../zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc',1,'zot.php']]],
['process_5fprofile_5fdelivery',['process_profile_delivery',['../zot_8php.html#a9a57b40669351c9791126b925cb7ef3b',1,'zot.php']]],
diff --git a/doc/html/search/functions_71.js b/doc/html/search/functions_71.js
index 11b357b31..ce23278cf 100644
--- a/doc/html/search/functions_71.js
+++ b/doc/html/search/functions_71.js
@@ -1,7 +1,8 @@
var searchData=
[
- ['q',['q',['../classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555',1,'dba_driver\q()'],['../classdba__mysql.html#ac3fd60c278f400907322dac578754a99',1,'dba_mysql\q()'],['../classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec',1,'dba_mysqli\q()'],['../dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f',1,'q():&#160;dba_driver.php']]],
+ ['q',['q',['../classdba__driver.html#a558e738b88ae893cc5d79ffa3793d555',1,'dba_driver\q()'],['../classdba__mysql.html#ac3fd60c278f400907322dac578754a99',1,'dba_mysql\q()'],['../classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec',1,'dba_mysqli\q()'],['../classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a',1,'dba_postgres\q()'],['../dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f',1,'q():&#160;dba_driver.php']]],
['qp',['qp',['../text_8php.html#afc998d2796a6b2a08e96f7cc061e7221',1,'text.php']]],
['queue_5frun',['queue_run',['../queue_8php.html#af8c93de86d866c3200174c8450a0f341',1,'queue.php']]],
+ ['quote_5finterval',['quote_interval',['../classdba__driver.html#ac9127e9c55fcc93bcfbb323b9b99b9d9',1,'dba_driver\quote_interval()'],['../classdba__postgres.html#a56f926f218155c88807e0e06f6817a72',1,'dba_postgres\quote_interval()']]],
['quotelevel',['quotelevel',['../html2plain_8php.html#a56d29b254333d29abb9d96a9a903a4b0',1,'html2plain.php']]]
];
diff --git a/doc/html/search/functions_72.js b/doc/html/search/functions_72.js
index 732627bac..41d4f1f93 100644
--- a/doc/html/search/functions_72.js
+++ b/doc/html/search/functions_72.js
@@ -8,12 +8,10 @@ var searchData=
['rconnect_5furl',['rconnect_url',['../Contact_8php.html#a2f4f495d53f2a334ab75292af79d3c91',1,'Contact.php']]],
['rebuild_5ftheme_5ftable',['rebuild_theme_table',['../admin_8php.html#ae46311a3fefc21abc838a26e91789de6',1,'admin.php']]],
['receive_5fpost',['receive_post',['../receive_8php.html#a03d8fa26e77844020ba5602deca7d494',1,'receive.php']]],
- ['red_5fcomment',['red_comment',['../post__to__red_8php.html#a085c250d4ceff5e4f10052f3d2039823',1,'post_to_red.php']]],
['red_5fescape_5fcodeblock',['red_escape_codeblock',['../items_8php.html#a49905ea75adfe8a2d110be344d18d6a6',1,'items.php']]],
['red_5fescape_5fzrl_5fcallback',['red_escape_zrl_callback',['../items_8php.html#a83a349062945d585edb4b3c5d763ab6e',1,'items.php']]],
['red_5fitem_5fnew',['red_item_new',['../include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898',1,'api.php']]],
['red_5funescape_5fcodeblock',['red_unescape_codeblock',['../items_8php.html#ad4ee16e3ff1eaf60428c61f82ba25e6a',1,'items.php']]],
- ['red_5fxmlrpc_5fmethods',['red_xmlrpc_methods',['../post__to__red_8php.html#a3a2af6ad845239f26e86fccabf8639e1',1,'post_to_red.php']]],
['red_5fzrl_5fcallback',['red_zrl_callback',['../items_8php.html#a4e6d7639431e0dd8e9f4dba8e1ac408b',1,'items.php']]],
['red_5fzrlify_5fimg_5fcallback',['red_zrlify_img_callback',['../items_8php.html#a78a60e39f6991bd3324a24dcbf9dac5a',1,'items.php']]],
['redbasic_5fform',['redbasic_form',['../view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793',1,'config.php']]],
@@ -28,6 +26,12 @@ var searchData=
['ref_5fsession_5fopen',['ref_session_open',['../session_8php.html#a26fa1042356d555023cbf15ddd4f8507',1,'session.php']]],
['ref_5fsession_5fread',['ref_session_read',['../session_8php.html#a7f0f50576360d9ba52d29364e0b83a8e',1,'session.php']]],
['ref_5fsession_5fwrite',['ref_session_write',['../session_8php.html#ac4461c1984543d3553e73dba2771568f',1,'session.php']]],
+ ['refimport_5fcontent',['refimport_content',['../refimport_8php.html#ad97ebb5feda0230a4834e0b3637a0d29',1,'refimport.php']]],
+ ['reflect_5farticle_5fcallback',['reflect_article_callback',['../refimport_8php.html#a53434bc19e6264db89e18d92ddc09860',1,'refimport.php']]],
+ ['reflect_5fcomment_5fstore',['reflect_comment_store',['../refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c',1,'refimport.php']]],
+ ['reflect_5ffind_5fuser',['reflect_find_user',['../refimport_8php.html#aa98de7d112e3a5b4b6956f108d04a41d',1,'refimport.php']]],
+ ['reflect_5fget_5fchannel',['reflect_get_channel',['../refimport_8php.html#a6c3e0475fde9fe72ff2492a5e3e5259c',1,'refimport.php']]],
+ ['reflect_5fphoto_5fcallback',['reflect_photo_callback',['../refimport_8php.html#ae9c56f779d1e0ac7bcb2a460129e7ae5',1,'refimport.php']]],
['register_5fcontent',['register_content',['../register_8php.html#a0e91f57f111407ea8d3223a05022bb2a',1,'register.php']]],
['register_5fhook',['register_hook',['../plugin_8php.html#a425472c5f3afc137268b2ad45652b209',1,'plugin.php']]],
['register_5finit',['register_init',['../register_8php.html#ae20c0cd40f738d6295de58b9202c83d5',1,'register.php']]],
@@ -60,13 +64,14 @@ var searchData=
['rmagic_5fcontent',['rmagic_content',['../rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef',1,'rmagic.php']]],
['rmagic_5finit',['rmagic_init',['../rmagic_8php.html#a95455edd43f1bff39446a57388cdde16',1,'rmagic.php']]],
['rmagic_5fpost',['rmagic_post',['../rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f',1,'rmagic.php']]],
- ['role_5fselector',['role_selector',['../permissions_8php.html#a50e8099ea8a4d7ed68b2a0a7ea9aa724',1,'permissions.php']]],
['rotate',['rotate',['../classphoto__driver.html#a2f2b6337cf9aa0688d10b422123f0eec',1,'photo_driver\rotate()'],['../classphoto__gd.html#a77f87730b11093b76980c541159df37d',1,'photo_gd\rotate()'],['../classphoto__imagick.html#a9df5738a4a18e76dd304c440e96f045f',1,'photo_imagick\rotate()']]],
['rpost_5fcallback',['rpost_callback',['../bbcode_8php.html#a5165a5221a52cf1bc1d7812ebd2069c7',1,'bbcode.php']]],
['rpost_5fcontent',['rpost_content',['../rpost_8php.html#a8190354d789000806d9879aea276728f',1,'rpost.php']]],
+ ['rrmdir',['rrmdir',['../Contact_8php.html#ab5895b75a3b2abdddf1cb351a8c6b58b',1,'Contact.php']]],
['rsa_5fsign',['rsa_sign',['../crypto_8php.html#a920e5f222d0020f47556033d8b2b6552',1,'crypto.php']]],
['rsa_5fverify',['rsa_verify',['../crypto_8php.html#ab4f21d8f6b8ece0915e7c8bb73379f96',1,'crypto.php']]],
['rsatopem',['rsatopem',['../crypto_8php.html#a7f7e650aaeaa3832580a73eb00966b26',1,'crypto.php']]],
['rsd_5fxml_5fcontent',['rsd_xml_content',['../rsd__xml_8php.html#a740cd02fa15e5a53f8547fac73f0ab82',1,'rsd_xml.php']]],
+ ['run',['run',['../classRedMatrix_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c',1,'RedMatrix::Import::Import']]],
['runs',['runs',['../docblox__errorchecker_8php.html#a21b4bbe5aae2d85db33affc7126a67ec',1,'docblox_errorchecker.php']]]
];
diff --git a/doc/html/search/functions_73.js b/doc/html/search/functions_73.js
index 1d53a42aa..fca2627b7 100644
--- a/doc/html/search/functions_73.js
+++ b/doc/html/search/functions_73.js
@@ -16,7 +16,6 @@ var searchData=
['search_5fcontent',['search_content',['../search_8php.html#ab2568591359edde5b483a6cd9a24b2cc',1,'search.php']]],
['search_5finit',['search_init',['../search_8php.html#acf19fd30f07f495781ca0d7a0a08b435',1,'search.php']]],
['searchbox',['searchbox',['../text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447',1,'text.php']]],
- ['select_5ftimezone',['select_timezone',['../datetime_8php.html#a633dadba426fa2f60b25fabdb19ebc1f',1,'datetime.php']]],
['send',['send',['../classenotify.html#afbc088860f534c6c05788b48cfc262c6',1,'enotify']]],
['send_5fmessage',['send_message',['../include_2message_8php.html#a751ffd6635022b2190f56154ee745752',1,'message.php']]],
['send_5freg_5fapproval_5femail',['send_reg_approval_email',['../account_8php.html#a014de2d5d5c9785de5bf547a485822fa',1,'account.php']]],
@@ -35,6 +34,7 @@ var searchData=
['set_5fconfig',['set_config',['../include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a',1,'config.php']]],
['set_5fconversation',['set_conversation',['../classItem.html#aa8b1bbc4236890694635295e46d7fd72',1,'Item']]],
['set_5fdefault_5flogin_5fidentity',['set_default_login_identity',['../identity_8php.html#a78151baf4407a8482d2681a91a9c486b',1,'identity.php']]],
+ ['set_5fdisplay_5fmode',['set_display_mode',['../classItem.html#ac09a4728d37b7783714243f7f8167214',1,'Item']]],
['set_5fgroups',['set_groups',['../classApp.html#a3d84af5e42082098672531cd1a618853',1,'App']]],
['set_5fhostname',['set_hostname',['../classApp.html#a344d2b7dc2f276648d521aee4da1731c',1,'App']]],
['set_5fmode',['set_mode',['../classConversation.html#a66f121ca4026246f86a732e5faa0682c',1,'Conversation']]],
@@ -90,7 +90,7 @@ var searchData=
['start_5fdelivery_5fchain',['start_delivery_chain',['../items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2',1,'items.php']]],
['startup',['startup',['../boot_8php.html#aca47505b8732177f52bb2d647eb2741c',1,'boot.php']]],
['status_5feditor',['status_editor',['../conversation_8php.html#a2a7d541854bba755eb8ada59af7dcb1a',1,'conversation.php']]],
- ['store',['store',['../classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b',1,'photo_driver']]],
+ ['store',['store',['../classRedMatrix_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc',1,'RedMatrix\Import\Import\store()'],['../classphoto__driver.html#a642a8d0c4ad5f887c99c6af77cee287b',1,'photo_driver\store()']]],
['store_5fdiaspora_5fcomment_5fsig',['store_diaspora_comment_sig',['../items_8php.html#a25221826fa4621f523c68483e3b6af26',1,'items.php']]],
['store_5fitem_5ftag',['store_item_tag',['../taxonomy_8php.html#a4ba1339b2a7054971178ce194e4440fd',1,'taxonomy.php']]],
['stream_5fperms_5fapi_5fuids',['stream_perms_api_uids',['../security_8php.html#a6126c77a1267e046ac59cf864613f011',1,'security.php']]],
diff --git a/doc/html/search/functions_74.js b/doc/html/search/functions_74.js
index 412bc29e2..d20c9760d 100644
--- a/doc/html/search/functions_74.js
+++ b/doc/html/search/functions_74.js
@@ -15,12 +15,10 @@ var searchData=
['term_5fquery',['term_query',['../taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c',1,'taxonomy.php']]],
['termtype',['termtype',['../items_8php.html#ad34827ed330898456783fb14c7b46154',1,'items.php']]],
['tgroup_5fcheck',['tgroup_check',['../items_8php.html#a88c6cf7649ac836fbbed82a7a0315110',1,'items.php']]],
- ['theme_5fadmin',['theme_admin',['../view_2theme_2blogga_2php_2config_8php.html#a09cd81013505f83aea0771243a1e4e53',1,'theme_admin(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#a09cd81013505f83aea0771243a1e4e53',1,'theme_admin(&amp;$a):&#160;config.php']]],
- ['theme_5fadmin_5fpost',['theme_admin_post',['../view_2theme_2blogga_2php_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b',1,'theme_admin_post(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#aef2da5582b7cb6b5f63e5ca5d69fd30b',1,'theme_admin_post(&amp;$a):&#160;config.php']]],
['theme_5fattachments',['theme_attachments',['../text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53',1,'text.php']]],
- ['theme_5fcontent',['theme_content',['../view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php'],['../view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php']]],
+ ['theme_5fcontent',['theme_content',['../view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php'],['../view_2theme_2redbasic_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d',1,'theme_content(&amp;$a):&#160;config.php']]],
['theme_5finclude',['theme_include',['../plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2',1,'plugin.php']]],
- ['theme_5fpost',['theme_post',['../view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php'],['../view_2theme_2blogga_2view_2theme_2blog_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php'],['../view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php']]],
+ ['theme_5fpost',['theme_post',['../view_2theme_2apw_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php'],['../view_2theme_2redbasic_2php_2config_8php.html#ad29461920cf03b9ce1428e21eb1f4ba6',1,'theme_post(&amp;$a):&#160;config.php']]],
['theme_5fstatus',['theme_status',['../admin_8php.html#ad4f74f33944a98b56d2c8c7601f124a4',1,'admin.php']]],
['thing_5fcontent',['thing_content',['../thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b',1,'thing.php']]],
['thing_5finit',['thing_init',['../thing_8php.html#a8be23b1d475ec3d9291999221c674c80',1,'thing.php']]],
@@ -32,6 +30,7 @@ var searchData=
['toggle_5ftheme',['toggle_theme',['../admin_8php.html#af81f081851791cd15e49e8ff6722dc27',1,'admin.php']]],
['translate_5fscope',['translate_scope',['../items_8php.html#aabfaa193b83154c2a81e91284e5d5e59',1,'items.php']]],
['translate_5fsystem_5fapps',['translate_system_apps',['../include_2apps_8php.html#a48289d5cc44b7638191738106ac5d030',1,'apps.php']]],
+ ['trim_5fmessage',['trim_message',['../po2php_8php.html#a4f3dc9b019d0cd1dc171c54c991ef334',1,'po2php.php']]],
['tryoembed',['tryoembed',['../bbcode_8php.html#a55b0cb6973f1ec731de0e726bcc0efa7',1,'bbcode.php']]],
['tryzrlaudio',['tryzrlaudio',['../bbcode_8php.html#a39de4de32a9456d1ca914d0dc52bd322',1,'bbcode.php']]],
['tryzrlvideo',['tryzrlvideo',['../bbcode_8php.html#aa92f119341f4c69dcef2768a013079b8',1,'bbcode.php']]],
diff --git a/doc/html/search/functions_75.js b/doc/html/search/functions_75.js
index ed15e2e95..e05062fb2 100644
--- a/doc/html/search/functions_75.js
+++ b/doc/html/search/functions_75.js
@@ -1,9 +1,11 @@
var searchData=
[
+ ['uexport_5fcontent',['uexport_content',['../uexport_8php.html#ae6f79d60916c01675c8cf663cb5fec84',1,'uexport.php']]],
['uexport_5finit',['uexport_init',['../uexport_8php.html#a118920137dedebe0581623a2e57e7b0d',1,'uexport.php']]],
['unamp',['unamp',['../text_8php.html#a29d6b804e368d3ef359ee295e96ed4c7',1,'text.php']]],
['undo_5fpost_5ftagging',['undo_post_tagging',['../text_8php.html#a740ad03e00459039a2c0992246c4e727',1,'text.php']]],
['unescape_5funderscores_5fin_5flinks',['unescape_underscores_in_links',['../bb2diaspora_8php.html#a599428bceb6f6d82a6a78cb66811f747',1,'bb2diaspora.php']]],
+ ['unescapebin',['unescapebin',['../classdba__driver.html#ab43184239e1d6eb00a98319f4a3df155',1,'dba_driver\unescapebin()'],['../classdba__postgres.html#a677f850211975c9ab89602c67e2dcad9',1,'dba_postgres\unescapebin()']]],
['uninstall_5fplugin',['uninstall_plugin',['../plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76',1,'plugin.php']]],
['unload_5fplugin',['unload_plugin',['../plugin_8php.html#a90538627db68605aeb6db17a8ead6523',1,'plugin.php']]],
['unobscure',['unobscure',['../text_8php.html#a8264348059abd1d4d5bb521323d3b19a',1,'text.php']]],
@@ -17,6 +19,7 @@ var searchData=
['update_5fdirectory_5fentry',['update_directory_entry',['../dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13',1,'dir_fns.php']]],
['update_5fdisplay_5fcontent',['update_display_content',['../update__display_8php.html#aa36ac524059e209d5d75a03c16206246',1,'update_display.php']]],
['update_5ffeed_5fitem',['update_feed_item',['../items_8php.html#a9b449eeae50003414b8b30ca927af434',1,'items.php']]],
+ ['update_5fhome_5fcontent',['update_home_content',['../update__home_8php.html#a668340089acd150b830134476a647d05',1,'update_home.php']]],
['update_5fimported_5fitem',['update_imported_item',['../zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df',1,'zot.php']]],
['update_5flocal_5fposts_5fstat',['update_local_posts_stat',['../statistics__fns_8php.html#a9dd516dda693f17f5ce48a94876f7efa',1,'statistics_fns.php']]],
['update_5fmodtime',['update_modtime',['../zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd',1,'zot.php']]],
@@ -32,5 +35,6 @@ var searchData=
['user_5fapprove',['user_approve',['../account_8php.html#ad07be417ac7eda939768804106ddea3d',1,'account.php']]],
['user_5fdeny',['user_deny',['../account_8php.html#ac1653efba62493b9d87513e1b6c04c83',1,'account.php']]],
['user_5fremove',['user_remove',['../Contact_8php.html#a2fc191067dd571a79603c66b04b1ca15',1,'Contact.php']]],
- ['userreadablesize',['userReadableSize',['../classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd',1,'RedMatrix::RedDAV::RedBrowser']]]
+ ['userreadablesize',['userReadableSize',['../classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a242ce69a2fe5a5fdf9c2b8d3954accfd',1,'RedMatrix::RedDAV::RedBrowser']]],
+ ['utcnow',['utcnow',['../classdba__driver.html#ad700712879719bee23752b8f424d97d0',1,'dba_driver']]]
];
diff --git a/doc/html/search/functions_77.js b/doc/html/search/functions_77.js
index 8cfb46c63..ff626b35a 100644
--- a/doc/html/search/functions_77.js
+++ b/doc/html/search/functions_77.js
@@ -5,12 +5,14 @@ var searchData=
['webfinger_5fcontent',['webfinger_content',['../webfinger_8php.html#a17dd28db6d390194bf9ecb809739d1d3',1,'webfinger.php']]],
['webfinger_5frfc7033',['webfinger_rfc7033',['../include_2network_8php.html#a3e6c751a51de33ad3563f0938296e78a',1,'network.php']]],
['webpages_5fcontent',['webpages_content',['../webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d',1,'webpages.php']]],
+ ['webpages_5finit',['webpages_init',['../webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7',1,'webpages.php']]],
['wfinger_5finit',['wfinger_init',['../wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3',1,'wfinger.php']]],
['what_5fnext',['what_next',['../setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58',1,'setup.php']]],
['widget_5faffinity',['widget_affinity',['../widgets_8php.html#add9b24d3304e529a7975e96122315554',1,'widgets.php']]],
['widget_5fappselect',['widget_appselect',['../widgets_8php.html#aced5cb177f630b30799c5eab873ee75c',1,'widgets.php']]],
['widget_5farchive',['widget_archive',['../widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65',1,'widgets.php']]],
['widget_5fbookmarkedchats',['widget_bookmarkedchats',['../widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3',1,'widgets.php']]],
+ ['widget_5fcatcloud_5fwall',['widget_catcloud_wall',['../widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5',1,'widgets.php']]],
['widget_5fcategories',['widget_categories',['../widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b',1,'widgets.php']]],
['widget_5fchatroom_5flist',['widget_chatroom_list',['../widgets_8php.html#a47c72aac42058ea086c9ef8651c259da',1,'widgets.php']]],
['widget_5fclock',['widget_clock',['../widgets_8php.html#a9d60539db68042e63c0015abd69a6f7a',1,'widgets.php']]],
@@ -29,7 +31,9 @@ var searchData=
['widget_5fnotes',['widget_notes',['../widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256',1,'widgets.php']]],
['widget_5fphoto',['widget_photo',['../widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20',1,'widgets.php']]],
['widget_5fphoto_5falbums',['widget_photo_albums',['../widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e',1,'widgets.php']]],
+ ['widget_5fphoto_5frand',['widget_photo_rand',['../widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380',1,'widgets.php']]],
['widget_5fprofile',['widget_profile',['../widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923',1,'widgets.php']]],
+ ['widget_5frandom_5fblock',['widget_random_block',['../widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e',1,'widgets.php']]],
['widget_5fsavedsearch',['widget_savedsearch',['../widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8',1,'widgets.php']]],
['widget_5fsettings_5fmenu',['widget_settings_menu',['../widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01',1,'widgets.php']]],
['widget_5fsuggestedchats',['widget_suggestedchats',['../widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8',1,'widgets.php']]],
@@ -37,5 +41,6 @@ var searchData=
['widget_5ftagcloud',['widget_tagcloud',['../widgets_8php.html#a6dbc227aac750774284ee39c45f0a200',1,'widgets.php']]],
['widget_5ftagcloud_5fwall',['widget_tagcloud_wall',['../widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653',1,'widgets.php']]],
['widget_5fvcard',['widget_vcard',['../widgets_8php.html#abe03366fd22fd27d683518fa0765da50',1,'widgets.php']]],
- ['writepages_5fwidget',['writepages_widget',['../page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f',1,'page_widgets.php']]]
+ ['writepages_5fwidget',['writepages_widget',['../page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f',1,'page_widgets.php']]],
+ ['wtagblock',['wtagblock',['../taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287',1,'taxonomy.php']]]
];
diff --git a/doc/html/search/functions_78.js b/doc/html/search/functions_78.js
index 78d52f21a..80f9b5f99 100644
--- a/doc/html/search/functions_78.js
+++ b/doc/html/search/functions_78.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['x',['x',['../boot_8php.html#a01353c9abebc3544ea080ac161729632',1,'boot.php']]],
+ ['x',['x',['../boot_8php.html#ae97836b0547953be182a2334c9c91d3c',1,'boot.php']]],
['xchan_5fcontent',['xchan_content',['../xchan_8php.html#a9853348bf1a35c644460221ba75edc2d',1,'xchan.php']]],
['xchan_5ffetch',['xchan_fetch',['../hubloc_8php.html#af1b476c936f96a93282b1d058e3d05ea',1,'hubloc.php']]],
['xchan_5fmail_5fquery',['xchan_mail_query',['../text_8php.html#a543447c5ed766535221e2d9636b379ee',1,'text.php']]],
diff --git a/doc/html/search/functions_7a.js b/doc/html/search/functions_7a.js
index 8378a6a00..9ea50e71d 100644
--- a/doc/html/search/functions_7a.js
+++ b/doc/html/search/functions_7a.js
@@ -2,6 +2,8 @@ var searchData=
[
['z_5fbirthday',['z_birthday',['../datetime_8php.html#ab55e545b72ec8c097e052ea7d373491f',1,'datetime.php']]],
['z_5ffetch_5furl',['z_fetch_url',['../include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37',1,'network.php']]],
+ ['z_5fget_5ftemp_5fdir',['z_get_temp_dir',['../boot_8php.html#a59717d02602a4babf2a54da8b33d93a5',1,'boot.php']]],
+ ['z_5fget_5fupload_5fdir',['z_get_upload_dir',['../boot_8php.html#a476c499e15caf75972fed134a8f23b2e',1,'boot.php']]],
['z_5finput_5ffilter',['z_input_filter',['../text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f',1,'text.php']]],
['z_5fmime_5fcontent_5ftype',['z_mime_content_type',['../include_2attach_8php.html#a6fdd92775f31c07d2863e16e0026018a',1,'attach.php']]],
['z_5fpath',['z_path',['../boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda',1,'boot.php']]],
@@ -15,15 +17,16 @@ var searchData=
['zidify_5fcallback',['zidify_callback',['../text_8php.html#a405afe814a23f3bd94d826101aa168ab',1,'text.php']]],
['zidify_5fimg_5fcallback',['zidify_img_callback',['../text_8php.html#ab4a4c3d4700bc219bb84f33b499314f4',1,'text.php']]],
['zidify_5flinks',['zidify_links',['../text_8php.html#a29988052f3944111def3b6aaf2c7a8f6',1,'text.php']]],
- ['zot_5fbuild_5fpacket',['zot_build_packet',['../zot_8php.html#a3862b3161b2c8557dc1a95020179bd81',1,'zot.php']]],
+ ['zot_5fbuild_5fpacket',['zot_build_packet',['../zot_8php.html#a084c581d534e7e3b759488b46602288f',1,'zot.php']]],
['zot_5fencode_5flocations',['zot_encode_locations',['../zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca',1,'zot.php']]],
- ['zot_5ffeed',['zot_feed',['../items_8php.html#a004e89d86b0f29b2c4da20108ecc4091',1,'items.php']]],
+ ['zot_5ffeed',['zot_feed',['../items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92',1,'items.php']]],
['zot_5ffetch',['zot_fetch',['../zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea',1,'zot.php']]],
['zot_5ffinger',['zot_finger',['../zot_8php.html#a95528377d7303131958c9f0b7158fdce',1,'zot.php']]],
['zot_5fget_5fhublocs',['zot_get_hublocs',['../zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7',1,'zot.php']]],
['zot_5fgethub',['zot_gethub',['../zot_8php.html#a55056e863a7860bc0cf922e78fcce073',1,'zot.php']]],
['zot_5fimport',['zot_import',['../zot_8php.html#aeea071f17e306fe3d0c488551906bfab',1,'zot.php']]],
['zot_5fnew_5fuid',['zot_new_uid',['../zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7',1,'zot.php']]],
+ ['zot_5fprocess_5fmessage_5frequest',['zot_process_message_request',['../zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac',1,'zot.php']]],
['zot_5fprocess_5fresponse',['zot_process_response',['../zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03',1,'zot.php']]],
['zot_5frefresh',['zot_refresh',['../zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c',1,'zot.php']]],
['zot_5fregister_5fhub',['zot_register_hub',['../zot_8php.html#a5bcdfef419b16075a0eca990956223dc',1,'zot.php']]],
diff --git a/doc/html/search/namespaces_72.js b/doc/html/search/namespaces_72.js
index eb7254128..56f831e1c 100644
--- a/doc/html/search/namespaces_72.js
+++ b/doc/html/search/namespaces_72.js
@@ -1,5 +1,6 @@
var searchData=
[
+ ['import',['Import',['../namespaceRedMatrix_1_1Import.html',1,'RedMatrix']]],
['reddav',['RedDAV',['../namespaceRedMatrix_1_1RedDAV.html',1,'RedMatrix']]],
['redmatrix',['RedMatrix',['../namespaceRedMatrix.html',1,'']]]
];
diff --git a/doc/html/search/search.js b/doc/html/search/search.js
index fe24f105b..4477a1d6c 100644
--- a/doc/html/search/search.js
+++ b/doc/html/search/search.js
@@ -12,7 +12,7 @@ var indexSectionsWithContent =
2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010111111111001111111111111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010111111111111111111111111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
- 5: "0000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000101111111111111101111011010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 5: "0000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000101111111111111101111111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
6: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101001000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
};
diff --git a/doc/html/search/variables_24.js b/doc/html/search/variables_24.js
index d4ea06349..9ad473a4f 100644
--- a/doc/html/search/variables_24.js
+++ b/doc/html/search/variables_24.js
@@ -11,10 +11,7 @@ var searchData=
['_24aside',['$aside',['../minimalisticdarkness_8php.html#a6e5d97615c6faef5dbffe04b8024ceaf',1,'minimalisticdarkness.php']]],
['_24auth',['$auth',['../classRedMatrix_1_1RedDAV_1_1RedBrowser.html#ad19179bf4ac7f18fafa7e2e3df800142',1,'RedMatrix\RedDAV\RedBrowser\$auth()'],['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aab6907e7fb7f9f7227f9cd42bdc84eb9',1,'RedMatrix\RedDAV\RedDirectory\$auth()'],['../classRedMatrix_1_1RedDAV_1_1RedFile.html#a21b6e9d420c352f25610a33f57858215',1,'RedMatrix\RedDAV\RedFile\$auth()']]],
['_24baseurl',['$baseurl',['../classApp.html#ad5175536561021548ae8188e24c7b80c',1,'App']]],
- ['_24bodyclass',['$bodyclass',['../theme_2blogga_2php_2default_8php.html#a720581ae288aa09511670563e4205a4a',1,'$bodyclass():&#160;default.php'],['../theme_2blogga_2view_2theme_2blog_2default_8php.html#a720581ae288aa09511670563e4205a4a',1,'$bodyclass():&#160;default.php']]],
['_24browser',['$browser',['../classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a167ae032bd2ad8e6caa2e1e1a6f1b5d3',1,'RedMatrix::RedDAV::RedBasicAuth']]],
- ['_24cached_5fprofile_5fimage',['$cached_profile_image',['../classApp.html#abe0e4fa91097f7a6588e1213a834121c',1,'App']]],
- ['_24cached_5fprofile_5fpicdate',['$cached_profile_picdate',['../classApp.html#aab4a685d15a363bb1d7edbbc20bfb94e',1,'App']]],
['_24called_5fapi',['$called_api',['../include_2api_8php.html#aa62b15a6bbb280e86b98132eb214013d',1,'api.php']]],
['_24category',['$category',['../classApp.html#a5cfc098c061b7d765add58fd2ca97445',1,'App']]],
['_24channel',['$channel',['../classApp.html#a050b0696118da47e8b30859ad1a2c149',1,'App\$channel()'],['../classItem.html#acc32426c0f465391be8a99ad810c7b8e',1,'Item\$channel()'],['../php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864',1,'$channel():&#160;theme_init.php'],['../theme_2apw_2php_2theme__init_8php.html#a54f32c086fe209c99769a4c4047dd864',1,'$channel():&#160;theme_init.php']]],
@@ -33,17 +30,17 @@ var searchData=
['_24contacts',['$contacts',['../classApp.html#a61ca6e3af82071ea25ff2fd5dbcddae2',1,'App']]],
['_24content',['$content',['../classApp.html#ac1d80a14492acc932715d54567d8a589',1,'App']]],
['_24conversation',['$conversation',['../classItem.html#a007424e3e3171dcfb4312a02161da6cd',1,'Item']]],
+ ['_24credentials',['$credentials',['../classRedMatrix_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f',1,'RedMatrix::Import::Import']]],
['_24css_5fsources',['$css_sources',['../classApp.html#a6f55d087e1ff4710132c1b0863faa2ee',1,'App']]],
- ['_24curl_5fcode',['$curl_code',['../classApp.html#a256360c9184fed6d7556e0bc0a835d7f',1,'App']]],
- ['_24curl_5fheaders',['$curl_headers',['../classApp.html#af5007c42a693afd9c4899c243b2e1363',1,'App']]],
['_24d',['$d',['../classTemplate.html#a8469ab2988b6be2681516dc4b4e07d38',1,'Template']]],
['_24data',['$data',['../classApp.html#a0ce85be198e46570366cb3344f3c55b8',1,'App\$data()'],['../classItem.html#aec24e233f9098f902b1e57e60dcb2019',1,'Item\$data()'],['../classRedMatrix_1_1RedDAV_1_1RedFile.html#a235700e2dfbe21dc41613d36e30e8acc',1,'RedMatrix\RedDAV\RedFile\$data()']]],
- ['_24db',['$db',['../classApp.html#a330410a288f3393d53772f5e98f857ea',1,'App\$db()'],['../classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6',1,'dba_driver\$db()']]],
+ ['_24db',['$db',['../classdba__driver.html#a3033b5f1c2716b52202faeaae2592fe6',1,'dba_driver']]],
['_24debug',['$debug',['../classdba__driver.html#af48e2afeded5285766bf92e22123ed03',1,'dba_driver\$debug()'],['../classTemplate.html#afc4afb6f89bebcd5480022312a56cb4a',1,'Template\$debug()']]],
['_24dir',['$dir',['../docblox__errorchecker_8php.html#a1659f0a629d408e0f849dbe4ee061e62',1,'docblox_errorchecker.php']]],
['_24directory_5ffallback_5fservers',['$DIRECTORY_FALLBACK_SERVERS',['../boot_8php.html#a107d53f96acf5319905a34b1870db09a',1,'boot.php']]],
['_24dirs',['$dirs',['../typo_8php.html#a1b709c1d79631ebc8320b41bda028b54',1,'typo.php']]],
['_24dirstack',['$dirstack',['../docblox__errorchecker_8php.html#ab66bc0493d25f39bf8b4dcbb429f04e6',1,'docblox_errorchecker.php']]],
+ ['_24display_5fmode',['$display_mode',['../classItem.html#a88a99e2d1245925867f249f543358e72',1,'Item']]],
['_24done',['$done',['../classTemplate.html#abda4c8d049f70553338eae7c905e9d5c',1,'Template']]],
['_24error',['$error',['../classApp.html#ac1a8b2cd40609b231a560201a08852ba',1,'App\$error()'],['../classdba__driver.html#a84675d28c7bd9b7290dd37e66dbd216c',1,'dba_driver\$error()']]],
['_24ext_5fpath',['$ext_path',['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#adf8735b3118cdf2f42416edaf42b82e9',1,'RedMatrix::RedDAV::RedDirectory']]],
@@ -56,8 +53,6 @@ var searchData=
['_24force_5fmax_5fitems',['$force_max_items',['../classApp.html#ae3f47830543d0d902f66913def8db66b',1,'App']]],
['_24gc_5fprobability',['$gc_probability',['../session_8php.html#a96b09cc763572f45280786a7b33feb7e',1,'session.php']]],
['_24groups',['$groups',['../classApp.html#ac6e6b1c7d6df408580ff79977fcfa656',1,'App']]],
- ['_24headimg',['$headimg',['../theme_2blogga_2php_2default_8php.html#ac7062908d1eb80c0735270f7997c4527',1,'$headimg():&#160;default.php'],['../theme_2blogga_2view_2theme_2blog_2default_8php.html#a52d9dd070ed541729088395c22502539',1,'$headimg():&#160;default.php']]],
- ['_24headimghome',['$headimghome',['../theme_2blogga_2php_2default_8php.html#a1230ab83d4ec9785d8f3a966f33dc5f3',1,'$headimghome():&#160;default.php'],['../theme_2blogga_2view_2theme_2blog_2default_8php.html#a1230ab83d4ec9785d8f3a966f33dc5f3',1,'$headimghome():&#160;default.php']]],
['_24height',['$height',['../classphoto__driver.html#aea560be5dfba09117d36c12bacbf3b80',1,'photo_driver']]],
['_24hooks',['$hooks',['../classApp.html#a3694aa1907aa103a2adbc71f926f0fa0',1,'App']]],
['_24hostname',['$hostname',['../classApp.html#a037049cba88dfc6ff94f4b5b779e3fd3',1,'App']]],
@@ -70,7 +65,10 @@ var searchData=
['_24install',['$install',['../classApp.html#a576ecb1c5b4a283221e6f2f0ec248251',1,'App']]],
['_24install_5fwizard_5fpass',['$install_wizard_pass',['../setup_8php.html#addb24714bc2542aa4f4215e98fe48432',1,'setup.php']]],
['_24interactive',['$interactive',['../classApp.html#a4c7cfc62d39508086cf300dc2e39c4df',1,'App']]],
+ ['_24is_5fsys',['$is_sys',['../classApp.html#a1f60d19d47021629faac7a0a6d917e94',1,'App']]],
['_24itemfloat',['$itemfloat',['../minimalisticdarkness_8php.html#a7e6c3d4efde4e9a2de32308081372c6b',1,'minimalisticdarkness.php']]],
+ ['_24itemlist',['$itemlist',['../classRedMatrix_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc',1,'RedMatrix::Import::Import']]],
+ ['_24items',['$items',['../classRedMatrix_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c',1,'RedMatrix::Import::Import']]],
['_24js_5fsources',['$js_sources',['../classApp.html#a11e24b3ed9b33ffee7dd41d110b4366d',1,'App']]],
['_24k',['$k',['../php2po_8php.html#ad6726cfaa85d4b8299d2b0f034cbf178',1,'php2po.php']]],
['_24lang',['$lang',['../classTemplate.html#ace26b8a4252fbc1c385d2b5e1e93e5c8',1,'Template']]],
@@ -103,8 +101,6 @@ var searchData=
['_24perms',['$perms',['../classApp.html#ab47de68fa39806d1fb0976407e188b77',1,'App']]],
['_24phpath',['$phpath',['../typo_8php.html#a3ecd17ac846be1b35f3662f5c12ab6bd',1,'typo.php']]],
['_24phpfile',['$phpfile',['../php2po_8php.html#abbb0e5fd8fbc1f13a9bf68f86eb3d2a4',1,'php2po.php']]],
- ['_24plugin',['$plugin',['../post__to__red_8php.html#ada8a7130088351710bb02ed622d6bf65',1,'post_to_red.php']]],
- ['_24plugin_5fdir',['$plugin_dir',['../post__to__red_8php.html#a99811555b30bde504a863e44015f2f19',1,'post_to_red.php']]],
['_24plugins',['$plugins',['../classApp.html#ae9f96338f32187d308b67b980eea0008',1,'App']]],
['_24pofile',['$pofile',['../php2po_8php.html#a401d84ce156e49e8168bd0c4781e1be1',1,'php2po.php']]],
['_24poi',['$poi',['../classApp.html#a1936f2afce0dc0d1bbed15ae1f2ee81a',1,'App']]],
@@ -114,7 +110,8 @@ var searchData=
['_24profile_5fowner',['$profile_owner',['../classConversation.html#a2f12724ef0244e9049fe1bb9641b516d',1,'Conversation']]],
['_24profile_5fuid',['$profile_uid',['../classApp.html#a08c24d6a6fc52fcc784b0f765f13b820',1,'App']]],
['_24query_5fstring',['$query_string',['../classApp.html#a2e82da4aecfc2017a8d1d332ca501f9f',1,'App']]],
- ['_24r',['$r',['../classTemplate.html#aac9a4638f11271e1b1dcc9f247242718',1,'Template']]],
+ ['_24r',['$r',['../classTemplate.html#aac9a4638f11271e1b1dcc9f247242718',1,'Template\$r()'],['../fixd_8php.html#a8abe176bc41afd728f32ba8c506cbd98',1,'$r():&#160;fixd.php']]],
+ ['_24rand',['$rand',['../fixd_8php.html#a2da3681c9cce2efe7de29aa578ff4219',1,'fixd.php']]],
['_24rdelim',['$rdelim',['../classApp.html#a244b2d53b21be269aad2269d23192f95',1,'App']]],
['_24red_5fpath',['$red_path',['../classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a4bba2e56bc8ec3e05f05eae46f56f36d',1,'RedMatrix::RedDAV::RedDirectory']]],
['_24redirect_5furl',['$redirect_url',['../classItem.html#a5b561415861f5b89b0733aacfe0428d1',1,'Item']]],
@@ -131,6 +128,7 @@ var searchData=
['_24session_5fexpire',['$session_expire',['../session_8php.html#af0100a2642a5268594bbd5742a03d885',1,'session.php']]],
['_24showlock',['$showlock',['../apw_2php_2style_8php.html#ad401ea1d1ba236f86863b4574f01e425',1,'style.php']]],
['_24sourcename',['$sourcename',['../classApp.html#a13710907ef62554a0b4dd8a5eaa2eb11',1,'App']]],
+ ['_24src_5fitems',['$src_items',['../classRedMatrix_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6',1,'RedMatrix::Import::Import']]],
['_24stack',['$stack',['../classTemplate.html#a6f0efc256688c36110180b501067ff11',1,'Template']]],
['_24str',['$str',['../typohelper_8php.html#a7542d95618011800c61773127fa625cf',1,'typohelper.php']]],
['_24strings',['$strings',['../classApp.html#a5f64620473a9727a48ebe9cf6f335a98',1,'App']]],
@@ -145,6 +143,7 @@ var searchData=
['_24threads',['$threads',['../classConversation.html#a41f4a549e6a99f98935c4742addd22c8',1,'Conversation']]],
['_24timezone',['$timezone',['../classApp.html#ab35b01a366a2ea95725e97af278f87ab',1,'App\$timezone()'],['../classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a849c99cf0a7ad065d630c8a30106ad5e',1,'RedMatrix\RedDAV\RedBasicAuth\$timezone()']]],
['_24toplevel',['$toplevel',['../classItem.html#a5cfa6cf964f433a917a81cab079ff9d8',1,'Item']]],
+ ['_24total',['$total',['../fixd_8php.html#a241b818f48030b628685b2e5119c5624',1,'fixd.php']]],
['_24type',['$type',['../classphoto__driver.html#a4920ed7cbb1ac735ac84153067537f03',1,'photo_driver']]],
['_24types',['$types',['../classphoto__driver.html#a00cb166c00b7502dbc456c94330e5b03',1,'photo_driver']]],
['_24uid',['$uid',['../apw_2php_2style_8php.html#a109bbd7f4add27541707b191b73ef84a',1,'style.php']]],
@@ -154,7 +153,6 @@ var searchData=
['_24videowidth',['$videowidth',['../classApp.html#adf2aaf95b062736a6fd5fc70fadf80e8',1,'App']]],
['_24visiting',['$visiting',['../classItem.html#a4a123ae98987c1e30ecb15c4edf5a3b8',1,'Item']]],
['_24wall_5fto_5fwall',['$wall_to_wall',['../classItem.html#a5d29ddecc073151a65a8e2ea2f6e4189',1,'Item']]],
- ['_24widgetlist',['$widgetlist',['../classApp.html#a4833bee2eae4ad1691a04fa19e11a766',1,'App']]],
['_24widgets',['$widgets',['../classApp.html#aa5a87c46ab3fee21362c466bf78042ef',1,'App']]],
['_24width',['$width',['../classphoto__driver.html#a3e4215890f4a4894bf3799a7d2e0c0b1',1,'photo_driver\$width()'],['../minimalisticdarkness_8php.html#a5795120b4b324bc4ca83f1e6fdce7d57',1,'$width():&#160;minimalisticdarkness.php']]],
['_24writable',['$writable',['../classConversation.html#ae81221251307e315f566a11f921ce0a9',1,'Conversation']]],
diff --git a/doc/html/search/variables_64.js b/doc/html/search/variables_64.js
index ea1a85e2a..172029abf 100644
--- a/doc/html/search/variables_64.js
+++ b/doc/html/search/variables_64.js
@@ -1,6 +1,8 @@
var searchData=
[
['db_5fupdate_5fversion',['DB_UPDATE_VERSION',['../boot_8php.html#ac59a18a4838710d6c2de37aed6b21f03',1,'boot.php']]],
+ ['dbtype_5fmysql',['DBTYPE_MYSQL',['../boot_8php.html#a8c9a11c47394244cbe18cd75b9726d5f',1,'boot.php']]],
+ ['dbtype_5fpostgres',['DBTYPE_POSTGRES',['../boot_8php.html#a37ddabc112db443b4c67fbc0f708817e',1,'boot.php']]],
['default_5fdb_5fengine',['DEFAULT_DB_ENGINE',['../boot_8php.html#aa8a2b61e70900139d1ca28e46f1da49d',1,'boot.php']]],
['directory_5ffallback_5fmaster',['DIRECTORY_FALLBACK_MASTER',['../boot_8php.html#abedd940e664017c61b48c6efa31d0cb8',1,'boot.php']]],
['directory_5fmode_5fnormal',['DIRECTORY_MODE_NORMAL',['../boot_8php.html#ab7d65a7e7417825a4db62906bb600729',1,'boot.php']]],
diff --git a/doc/html/search/variables_69.js b/doc/html/search/variables_69.js
index 5b64986c8..fb77c49eb 100644
--- a/doc/html/search/variables_69.js
+++ b/doc/html/search/variables_69.js
@@ -1,6 +1,7 @@
var searchData=
[
['if',['if',['../php2po_8php.html#a45b05625748f412ec97afcd61cf7980b',1,'if():&#160;php2po.php'],['../php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a',1,'if():&#160;default.php'],['../full_8php.html#a3987f5547ceb7e36a210a66a06241a5a',1,'if():&#160;full.php'],['../redable_8php.html#a3987f5547ceb7e36a210a66a06241a5a',1,'if():&#160;redable.php'],['../apw_2php_2style_8php.html#a2f71e817b8fac88ce7f0ec5c0fb88b8d',1,'if():&#160;style.php'],['../theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a',1,'if():&#160;default.php']]],
+ ['install_5fscript',['INSTALL_SCRIPT',['../classdba__driver.html#a98d8523dcedda316085b4d4f856b6583',1,'dba_driver\INSTALL_SCRIPT()'],['../classdba__postgres.html#a7267f91c3f87f600b30d7560de62dfd7',1,'dba_postgres\INSTALL_SCRIPT()']]],
['item_5fblocked',['ITEM_BLOCKED',['../boot_8php.html#ab28dc518fa90b6f617dd8c564eb4f35f',1,'boot.php']]],
['item_5fbug',['ITEM_BUG',['../boot_8php.html#a87b0f279f8413c7e4d805c5d85f20d34',1,'boot.php']]],
['item_5fbuildblock',['ITEM_BUILDBLOCK',['../boot_8php.html#a7fc4b291a7cdaa48b38e27344ea183cf',1,'boot.php']]],
diff --git a/doc/html/search/variables_6e.js b/doc/html/search/variables_6e.js
index 303b5c11f..55b3c17f6 100644
--- a/doc/html/search/variables_6e.js
+++ b/doc/html/search/variables_6e.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['n',['n',['../php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b',1,'php2po.php']]],
+ ['n',['n',['../fixd_8php.html#a9d4f8a2ab4d92b3ccfd7cba0458098eb',1,'n():&#160;fixd.php'],['../php2po_8php.html#a1594a11499d06cc8a789ee7ca0c7a12b',1,'n():&#160;php2po.php']]],
['names',['names',['../namespaceupdatetpl.html#ab42dd79af65ee82201fd6f04715f62f6',1,'updatetpl']]],
['namespace_5factivity',['NAMESPACE_ACTIVITY',['../boot_8php.html#a5df5359090d1f8e898c36d7cf8878ad2',1,'boot.php']]],
['namespace_5factivity_5fschema',['NAMESPACE_ACTIVITY_SCHEMA',['../boot_8php.html#a7b8f8ad9dbe82711257d23891ef6b133',1,'boot.php']]],
@@ -43,5 +43,5 @@ var searchData=
['notify_5ftagself',['NOTIFY_TAGSELF',['../boot_8php.html#ab724491497ab2618b23a01d5da60aec0',1,'boot.php']]],
['notify_5ftagshare',['NOTIFY_TAGSHARE',['../boot_8php.html#af6937db5f581d006bf4a5c3d9c7e0461',1,'boot.php']]],
['notify_5fwall',['NOTIFY_WALL',['../boot_8php.html#a505410c7edc5f5bb5fa227b98359793e',1,'boot.php']]],
- ['null_5fdate',['NULL_DATE',['../boot_8php.html#a6cd1b4081630b2bf7be38836cd9f410c',1,'boot.php']]]
+ ['null_5fdate',['NULL_DATE',['../classdba__driver.html#afce39394c010ea589d99a21579b2c31e',1,'dba_driver\NULL_DATE()'],['../classdba__postgres.html#aeb404a85974d6c5df30c21650888000b',1,'dba_postgres\NULL_DATE()']]]
];
diff --git a/doc/html/search/variables_70.js b/doc/html/search/variables_70.js
index 818649a0b..976a2c161 100644
--- a/doc/html/search/variables_70.js
+++ b/doc/html/search/variables_70.js
@@ -38,6 +38,8 @@ var searchData=
['perms_5fw_5fstream',['PERMS_W_STREAM',['../boot_8php.html#a8bb0395933b5e886f086f6a2fb0bfa55',1,'boot.php']]],
['perms_5fw_5ftagwall',['PERMS_W_TAGWALL',['../boot_8php.html#a99a4a17cb644e7e6826ea07ecaf09777',1,'boot.php']]],
['perms_5fw_5fwall',['PERMS_W_WALL',['../boot_8php.html#a6b14a31a8aa9f3452a13383f413bffa2',1,'boot.php']]],
+ ['photo_5fadult',['PHOTO_ADULT',['../boot_8php.html#a921c55b9fa59a327a5f0e07fa1ccb2e0',1,'boot.php']]],
+ ['photo_5fflag_5fos',['PHOTO_FLAG_OS',['../boot_8php.html#ab49a5d43ce1150c5af8c750ccb14e15f',1,'boot.php']]],
['photo_5fnormal',['PHOTO_NORMAL',['../boot_8php.html#a4a49b29838ef2c45ab3556b52baec6a4',1,'boot.php']]],
['photo_5fprofile',['PHOTO_PROFILE',['../boot_8php.html#ab4bc9c50ecc927b92d519e36562b0df0',1,'boot.php']]],
['photo_5fthing',['PHOTO_THING',['../boot_8php.html#a78849a1bf8ce8d9804b4cbb502e8f383',1,'boot.php']]],
@@ -47,8 +49,5 @@ var searchData=
['poll_5fmultiple_5fchoice',['POLL_MULTIPLE_CHOICE',['../boot_8php.html#abbf5ac24eb8aeedb862f618ee0d21e86',1,'boot.php']]],
['poll_5foverwrite',['POLL_OVERWRITE',['../boot_8php.html#a2b525996e4426bdddbcec277778bde08',1,'boot.php']]],
['poll_5fsimple_5frating',['POLL_SIMPLE_RATING',['../boot_8php.html#ad88a70ec62e08d590123d3697dfe64d5',1,'boot.php']]],
- ['poll_5ftenscale',['POLL_TENSCALE',['../boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc',1,'boot.php']]],
- ['post_5fto_5fred_5facct_5fname',['post_to_red_acct_name',['../post__to__red_8php.html#a588cea66afe0b32f27f2713d44940119',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fpath',['post_to_red_path',['../post__to__red_8php.html#a6210f39392a5f0fa0255cc7d3760493a',1,'post_to_red.php']]],
- ['post_5fto_5fred_5fversion',['post_to_red_version',['../post__to__red_8php.html#af3e7ebd361d4ed7cb6d43209970cd94a',1,'post_to_red.php']]]
+ ['poll_5ftenscale',['POLL_TENSCALE',['../boot_8php.html#a1ba00027b718db732f30fc0e2c3e0abc',1,'boot.php']]]
];
diff --git a/doc/html/search/variables_72.js b/doc/html/search/variables_72.js
index be2927ed5..885c50398 100644
--- a/doc/html/search/variables_72.js
+++ b/doc/html/search/variables_72.js
@@ -5,6 +5,13 @@ var searchData=
['rdelim',['rdelim',['../namespacefriendica-to-smarty-tpl.html#a8540514fb7c4aa18ad2dffa2a975036b',1,'friendica-to-smarty-tpl']]],
['red_5fplatform',['RED_PLATFORM',['../boot_8php.html#a96ad56755a21e1361dbd7bf93c9e7ff4',1,'boot.php']]],
['red_5fversion',['RED_VERSION',['../boot_8php.html#a21cc29e0025943e7c28ff58cb4856ac3',1,'boot.php']]],
+ ['redmatrix_5fimportchannel',['REDMATRIX_IMPORTCHANNEL',['../refimport_8php.html#a54003135d7c8994a76e831fb6faa2fe6',1,'refimport.php']]],
+ ['reflect_5fbaseurl',['REFLECT_BASEURL',['../refimport_8php.html#ac43699d8ae86175e049aa4e87853caac',1,'refimport.php']]],
+ ['reflect_5fblogname',['REFLECT_BLOGNAME',['../refimport_8php.html#a8459983ebf013ed5737f7ed317bfae1f',1,'refimport.php']]],
+ ['reflect_5fexportusername',['REFLECT_EXPORTUSERNAME',['../refimport_8php.html#ad297afe0730c9119dd94d3cf0521b025',1,'refimport.php']]],
+ ['reflect_5fmaxperrun',['REFLECT_MAXPERRUN',['../refimport_8php.html#a9c1f681f1f303400a9818696a9f96d6f',1,'refimport.php']]],
+ ['reflect_5foverwrite',['REFLECT_OVERWRITE',['../refimport_8php.html#aeec793cefa260f788b7d005adcb35796',1,'refimport.php']]],
+ ['reflect_5fuserfile',['REFLECT_USERFILE',['../refimport_8php.html#a684a44d2401abf75f441591bcb41d10d',1,'refimport.php']]],
['register_5fapprove',['REGISTER_APPROVE',['../boot_8php.html#a7176c0f9f1c98421b97735d892cf6252',1,'boot.php']]],
['register_5fclosed',['REGISTER_CLOSED',['../boot_8php.html#a69aac276ed82e010dc382b16ab4d59e1',1,'boot.php']]],
['register_5fopen',['REGISTER_OPEN',['../boot_8php.html#ad8887b49bbb02dd30b4eb9f6c7773c63',1,'boot.php']]],
diff --git a/doc/html/search/variables_75.js b/doc/html/search/variables_75.js
index 3ba76224d..0cf257ad6 100644
--- a/doc/html/search/variables_75.js
+++ b/doc/html/search/variables_75.js
@@ -4,5 +4,6 @@ var searchData=
['update_5fflags_5fdeleted',['UPDATE_FLAGS_DELETED',['../boot_8php.html#aea392cb26ed617f3a8cde648385b5df0',1,'boot.php']]],
['update_5fflags_5fforced',['UPDATE_FLAGS_FORCED',['../boot_8php.html#ab9dca53455cd157d3c6ba2bdecdbd22d',1,'boot.php']]],
['update_5fflags_5fupdated',['UPDATE_FLAGS_UPDATED',['../boot_8php.html#a9690d73434125ce594a1f5e7c2a4f7c0',1,'boot.php']]],
- ['update_5fsuccess',['UPDATE_SUCCESS',['../boot_8php.html#ac86615ddc0763a00f5311c90e991730c',1,'boot.php']]]
+ ['update_5fsuccess',['UPDATE_SUCCESS',['../boot_8php.html#ac86615ddc0763a00f5311c90e991730c',1,'boot.php']]],
+ ['utc_5fnow',['UTC_NOW',['../classdba__driver.html#aa3325d982d4ee5d1114fd7e02a4356e8',1,'dba_driver\UTC_NOW()'],['../classdba__postgres.html#ace80a204e34b20b9907650399cce02a3',1,'dba_postgres\UTC_NOW()']]]
];
diff --git a/doc/html/search/variables_76.html b/doc/html/search/variables_76.html
new file mode 100644
index 000000000..8af237461
--- /dev/null
+++ b/doc/html/search/variables_76.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html><head><title></title>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta name="generator" content="Doxygen 1.8.3.1">
+<link rel="stylesheet" type="text/css" href="search.css"/>
+<script type="text/javascript" src="variables_76.js"></script>
+<script type="text/javascript" src="search.js"></script>
+</head>
+<body class="SRPage">
+<div id="SRIndex">
+<div class="SRStatus" id="Loading">Loading...</div>
+<div id="SRResults"></div>
+<script type="text/javascript"><!--
+createResults();
+--></script>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+<script type="text/javascript"><!--
+document.getElementById("Loading").style.display="none";
+document.getElementById("NoMatches").style.display="none";
+var searchResults = new SearchResults("searchResults");
+searchResults.Search();
+--></script>
+</div>
+</body>
+</html>
diff --git a/doc/html/search/variables_76.js b/doc/html/search/variables_76.js
new file mode 100644
index 000000000..f046273ce
--- /dev/null
+++ b/doc/html/search/variables_76.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['vnotify_5falert',['VNOTIFY_ALERT',['../boot_8php.html#a9f8a2938ddd9ee2867e6f8ce77b61b2f',1,'boot.php']]],
+ ['vnotify_5fbirthday',['VNOTIFY_BIRTHDAY',['../boot_8php.html#ac89396b9144391acd08d6d0f9b332220',1,'boot.php']]],
+ ['vnotify_5fchannel',['VNOTIFY_CHANNEL',['../boot_8php.html#a7b511bd93202c43405adbe3b5bcebbfe',1,'boot.php']]],
+ ['vnotify_5fevent',['VNOTIFY_EVENT',['../boot_8php.html#ad94aca4c260b8a892397786201dc4664',1,'boot.php']]],
+ ['vnotify_5feventtoday',['VNOTIFY_EVENTTODAY',['../boot_8php.html#a76480b213af379c0c6c7fa4e39019ca9',1,'boot.php']]],
+ ['vnotify_5finfo',['VNOTIFY_INFO',['../boot_8php.html#a37281c30bd92cecb499878d6778c570f',1,'boot.php']]],
+ ['vnotify_5fintro',['VNOTIFY_INTRO',['../boot_8php.html#a1997c4b7d0253e036bc0fb6b20e4af71',1,'boot.php']]],
+ ['vnotify_5fmail',['VNOTIFY_MAIL',['../boot_8php.html#a0afeb43da443d6ff3526ede5ecdcc3b3',1,'boot.php']]],
+ ['vnotify_5fnetwork',['VNOTIFY_NETWORK',['../boot_8php.html#a997614f25e58f8313641e1eb0109fd10',1,'boot.php']]],
+ ['vnotify_5fregister',['VNOTIFY_REGISTER',['../boot_8php.html#ae09767b94688657978ff9366ec63684b',1,'boot.php']]],
+ ['vnotify_5fsystem',['VNOTIFY_SYSTEM',['../boot_8php.html#a7e5627b5ca4b7464feb0f08663b19ea1',1,'boot.php']]]
+];
diff --git a/doc/html/search/variables_78.js b/doc/html/search/variables_78.js
index 75be51da5..312bf2391 100644
--- a/doc/html/search/variables_78.js
+++ b/doc/html/search/variables_78.js
@@ -5,6 +5,7 @@ var searchData=
['xchan_5fflags_5fhidden',['XCHAN_FLAGS_HIDDEN',['../boot_8php.html#a1af3ed96de14aa0d7891b39cc75b60f2',1,'boot.php']]],
['xchan_5fflags_5fnormal',['XCHAN_FLAGS_NORMAL',['../boot_8php.html#a8fdcc4ffb365a3267bd02ce8a8d466d6',1,'boot.php']]],
['xchan_5fflags_5forphan',['XCHAN_FLAGS_ORPHAN',['../boot_8php.html#a1c923b99bf77e4203ae94e5684b6ad0f',1,'boot.php']]],
+ ['xchan_5fflags_5fpubforum',['XCHAN_FLAGS_PUBFORUM',['../boot_8php.html#a0209e605028a5bb492683951ab30d49d',1,'boot.php']]],
['xchan_5fflags_5fselfcensored',['XCHAN_FLAGS_SELFCENSORED',['../boot_8php.html#a5a681a672e007cdc22b43345d71f07c6',1,'boot.php']]],
['xchan_5fflags_5fsystem',['XCHAN_FLAGS_SYSTEM',['../boot_8php.html#afef254290febac854c85fc698d9483a6',1,'boot.php']]]
];
diff --git a/doc/html/security_8php.html b/doc/html/security_8php.html
index 26227d9bd..a8efeb979 100644
--- a/doc/html/security_8php.html
+++ b/doc/html/security_8php.html
@@ -115,10 +115,13 @@ Functions</h2></td></tr>
<tr class="memitem:adc7bf51e3b8d67bd80e9348f9ab03733"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success</a> ($user_record, $login_initial=false, $interactive=false, $return=false, $update_lastlog=false)</td></tr>
<tr class="separator:adc7bf51e3b8d67bd80e9348f9ab03733"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d23d2597aae380a3341872fe9513380"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a8d23d2597aae380a3341872fe9513380">change_channel</a> ($change_channel)</td></tr>
+<tr class="memdesc:a8d23d2597aae380a3341872fe9513380"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change to another channel with current logged-in account. <a href="#a8d23d2597aae380a3341872fe9513380">More...</a><br/></td></tr>
<tr class="separator:a8d23d2597aae380a3341872fe9513380"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa683bc025a1d2fe9065e2f6cd71a22f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#afa683bc025a1d2fe9065e2f6cd71a22f">permissions_sql</a> ($owner_id, $remote_verified=false, $groups=null)</td></tr>
+<tr class="memdesc:afa683bc025a1d2fe9065e2f6cd71a22f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an addiontal SQL where statement to check permissions. <a href="#afa683bc025a1d2fe9065e2f6cd71a22f">More...</a><br/></td></tr>
<tr class="separator:afa683bc025a1d2fe9065e2f6cd71a22f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9355488460ab11d6058656ff919e5cf9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a9355488460ab11d6058656ff919e5cf9">item_permissions_sql</a> ($owner_id, $remote_verified=false, $groups=null)</td></tr>
+<tr class="memdesc:a9355488460ab11d6058656ff919e5cf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an addiontal SQL where statement to check permissions for an item. <a href="#a9355488460ab11d6058656ff919e5cf9">More...</a><br/></td></tr>
<tr class="separator:a9355488460ab11d6058656ff919e5cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3bdd30dc60d9ee72370b866aa4a2d01"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#ab3bdd30dc60d9ee72370b866aa4a2d01">public_permissions_sql</a> ($observer_hash)</td></tr>
<tr class="separator:ab3bdd30dc60d9ee72370b866aa4a2d01"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -137,7 +140,9 @@ Functions</h2></td></tr>
<tr class="memitem:a3ef2be6a7e4928e39d50059d6feb457c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans</a> ($perms=NULL)</td></tr>
<tr class="separator:a3ef2be6a7e4928e39d50059d6feb457c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<h2 class="groupheader">Function Documentation</h2>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Some security related functions. </p>
+</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="adc7bf51e3b8d67bd80e9348f9ab03733"></a>
<div class="memitem">
<div class="memproto">
@@ -179,6 +184,16 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">int</td><td class="paramname">$user_record</td><td>The account_id </td></tr>
+ <tr><td class="paramtype">bool</td><td class="paramname">$login_initial</td><td>default false </td></tr>
+ <tr><td class="paramtype">bool</td><td class="paramname">$interactive</td><td>default false </td></tr>
+ <tr><td class="paramtype">bool</td><td class="paramname">$return</td><td></td></tr>
+ <tr><td class="paramtype">bool</td><td class="paramname">$update_lastlog</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
<p>Referenced by <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, and <a class="el" href="register_8php.html#a51731dcc1917c58a790eb1c0f6132271">register_post()</a>.</p>
@@ -198,6 +213,15 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Change to another channel with current logged-in account. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">int</td><td class="paramname">$change_channel</td><td>The channel_id of the channel you want to change to</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>bool|array false or channel record of the new channel </dd></dl>
+
<p>Referenced by <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#afb99daa6b731bf497b81f2128084852c">api_user()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="new__channel_8php.html#a180b0646957db8290482f02454ad7f23">new_channel_post()</a>, and <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>.</p>
</div>
@@ -356,12 +380,23 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+
+<p>Creates an addiontal SQL where statement to check permissions for an item. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">int</td><td class="paramname">$owner_id</td><td></td></tr>
+ <tr><td class="paramtype">bool</td><td class="paramname">$remote_verified</td><td>default false, not used at all </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$groups</td><td>this param is not used at all</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string additional SQL where statement </dd></dl>
<p>Construct permissions</p>
<p>default permissions - anonymous user</p>
<p>Profile owner - everything is visible</p>
<p>Authenticated visitor. Unless pre-verified, check that the contact belongs to this $owner_id and load the groups the visitor belongs to. If pre-verified, the caller is expected to have already done this and passed the groups into this function.</p>
-<p>Referenced by <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="comanche_8php.html#af7150df735e5ff9d467994cd6f769c6e">pdl_selector()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widget_random_block()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
@@ -394,6 +429,17 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+
+<p>Creates an addiontal SQL where statement to check permissions. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">int</td><td class="paramname">$owner_id</td><td></td></tr>
+ <tr><td class="paramtype">bool</td><td class="paramname">$remote_verified</td><td>default false, not used at all </td></tr>
+ <tr><td class="paramtype">string</td><td class="paramname">$groups</td><td>this param is not used at all</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string additional SQL where statement </dd></dl>
<p>Construct permissions</p>
<p>default permissions - anonymous user</p>
<p>Profile owner - everything is visible</p>
@@ -416,6 +462,13 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$observer_hash</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>string additional SQL where statement </dd></dl>
<p>Referenced by <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, and <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>.</p>
@@ -435,7 +488,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
diff --git a/doc/html/setup_8php.html b/doc/html/setup_8php.html
index 3537830f1..8c57c8058 100644
--- a/doc/html/setup_8php.html
+++ b/doc/html/setup_8php.html
@@ -348,8 +348,6 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>.</p>
-
</div>
</div>
<a class="anchor" id="ad2e0375a9ab87ebe6e78124ee125054a"></a>
diff --git a/doc/html/socgraph_8php.html b/doc/html/socgraph_8php.html
index 47a2222ca..2a9aa7209 100644
--- a/doc/html/socgraph_8php.html
+++ b/doc/html/socgraph_8php.html
@@ -404,7 +404,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, and <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, and <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>.</p>
</div>
</div>
diff --git a/doc/html/taxonomy_8php.html b/doc/html/taxonomy_8php.html
index 552ef36bc..2336f9d83 100644
--- a/doc/html/taxonomy_8php.html
+++ b/doc/html/taxonomy_8php.html
@@ -134,6 +134,10 @@ Functions</h2></td></tr>
<tr class="separator:a088371f4bc19155b2291508f5cd63332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac21d1dff16d569e7d110167aea4e63c2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock</a> ($link, $uid, $count=0, $authors= '', $flags=0, $restrict=0, $type=<a class="el" href="boot_8php.html#a2750985ec445617d7e82ae3098c91e3f">TERM_HASHTAG</a>)</td></tr>
<tr class="separator:ac21d1dff16d569e7d110167aea4e63c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83f0a60f9e0c07d8451dc5be95b17287"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287">wtagblock</a> ($uid, $count=0, $authors= '', $flags=0, $restrict=0, $type=<a class="el" href="boot_8php.html#a2750985ec445617d7e82ae3098c91e3f">TERM_HASHTAG</a>)</td></tr>
+<tr class="separator:a83f0a60f9e0c07d8451dc5be95b17287"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8f8a1ff85daef046298e93c83e7a1b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4">catblock</a> ($uid, $count=0, $authors= '', $flags=0, $restrict=0, $type=<a class="el" href="boot_8php.html#af33d1b2e98a1e21af672005525d46dfe">TERM_CATEGORY</a>)</td></tr>
+<tr class="separator:aa8f8a1ff85daef046298e93c83e7a1b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a599ee71dd3194c8127b00dabec77abc1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1">dir_tagblock</a> ($link, $r)</td></tr>
<tr class="separator:a599ee71dd3194c8127b00dabec77abc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03f55ee46c5f496e42f3d29db8d09cce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="taxonomy_8php.html#a03f55ee46c5f496e42f3d29db8d09cce">obj_verbs</a> ()</td></tr>
@@ -144,6 +148,58 @@ Functions</h2></td></tr>
<tr class="separator:a7747fa859ac56fbffd4f9782d85505de"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="aa8f8a1ff85daef046298e93c83e7a1b4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">catblock </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$count</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$authors</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$flags</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$restrict</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em> = <code><a class="el" href="boot_8php.html#af33d1b2e98a1e21af672005525d46dfe">TERM_CATEGORY</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5">widget_catcloud_wall()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a088371f4bc19155b2291508f5cd63332"></a>
<div class="memitem">
<div class="memproto">
@@ -464,7 +520,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, and <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>.</p>
+<p>Referenced by <a class="el" href="taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4">catblock()</a>, <a class="el" href="taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2">tagblock()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, and <a class="el" href="taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287">wtagblock()</a>.</p>
</div>
</div>
@@ -522,8 +578,6 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>.</p>
-
</div>
</div>
<a class="anchor" id="aaeded36bcc983b35d9205fe5b6c18c43"></a>
@@ -586,6 +640,58 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a83f0a60f9e0c07d8451dc5be95b17287"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">wtagblock </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$uid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$count</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$authors</em> = <code>''</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$flags</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$restrict</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$type</em> = <code><a class="el" href="boot_8php.html#a2750985ec445617d7e82ae3098c91e3f">TERM_HASHTAG</a></code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>.</p>
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/taxonomy_8php.js b/doc/html/taxonomy_8php.js
index 24b5fb426..bb390422e 100644
--- a/doc/html/taxonomy_8php.js
+++ b/doc/html/taxonomy_8php.js
@@ -1,5 +1,6 @@
var taxonomy_8php =
[
+ [ "catblock", "taxonomy_8php.html#aa8f8a1ff85daef046298e93c83e7a1b4", null ],
[ "dir_tagadelic", "taxonomy_8php.html#a088371f4bc19155b2291508f5cd63332", null ],
[ "dir_tagblock", "taxonomy_8php.html#a599ee71dd3194c8127b00dabec77abc1", null ],
[ "file_tag_decode", "taxonomy_8php.html#a08df5164926d2b31b8e9fcfe919de2b6", null ],
@@ -14,5 +15,6 @@ var taxonomy_8php =
[ "tagadelic", "taxonomy_8php.html#aaf90ba8b839d6459065f39a4f1109b8a", null ],
[ "tagblock", "taxonomy_8php.html#ac21d1dff16d569e7d110167aea4e63c2", null ],
[ "tags_sort", "taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43", null ],
- [ "term_query", "taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c", null ]
+ [ "term_query", "taxonomy_8php.html#a7a913d19c77610da689be48fbbf6734c", null ],
+ [ "wtagblock", "taxonomy_8php.html#a83f0a60f9e0c07d8451dc5be95b17287", null ]
]; \ No newline at end of file
diff --git a/doc/html/text_8php.html b/doc/html/text_8php.html
index e916c7ac1..993f2201e 100644
--- a/doc/html/text_8php.html
+++ b/doc/html/text_8php.html
@@ -142,14 +142,18 @@ Functions</h2></td></tr>
<tr class="memitem:a98fd99dee3da8cf4c148dc04efe782ee"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a98fd99dee3da8cf4c148dc04efe782ee">perms2str</a> ($p)</td></tr>
<tr class="separator:a98fd99dee3da8cf4c148dc04efe782ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6b0aa8afbeab50d1a3058ad21acb74e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id</a> ()</td></tr>
+<tr class="memdesc:aa6b0aa8afbeab50d1a3058ad21acb74e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a guaranteed unique (for this domain) item ID for ATOM. <a href="#aa6b0aa8afbeab50d1a3058ad21acb74e">More...</a><br/></td></tr>
<tr class="separator:aa6b0aa8afbeab50d1a3058ad21acb74e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5528f41533927e1bd2da3618a74a6d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aa5528f41533927e1bd2da3618a74a6d7">photo_new_resource</a> ()</td></tr>
+<tr class="memdesc:aa5528f41533927e1bd2da3618a74a6d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a guaranteed unique photo ID. <a href="#aa5528f41533927e1bd2da3618a74a6d7">More...</a><br/></td></tr>
<tr class="separator:aa5528f41533927e1bd2da3618a74a6d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95fd2f8f23a1948414a03ebc963bac57"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">attribute_contains</a> ($attr, $s)</td></tr>
<tr class="separator:a95fd2f8f23a1948414a03ebc963bac57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a030fa5ecc64168af0c4f44897a9bce63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger</a> ($msg, $level=0)</td></tr>
+<tr class="memdesc:a030fa5ecc64168af0c4f44897a9bce63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logging function for <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>. <a href="#a030fa5ecc64168af0c4f44897a9bce63">More...</a><br/></td></tr>
<tr class="separator:a030fa5ecc64168af0c4f44897a9bce63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a1f7c0e97f9ecbebf3e5834582b014c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger</a> ($msg, $level=0)</td></tr>
+<tr class="memdesc:a0a1f7c0e97f9ecbebf3e5834582b014c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a special logging facility for developers. <a href="#a0a1f7c0e97f9ecbebf3e5834582b014c">More...</a><br/></td></tr>
<tr class="separator:a0a1f7c0e97f9ecbebf3e5834582b014c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b0a799341b1fc4cba2c3ede3e3fc9b6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a8b0a799341b1fc4cba2c3ede3e3fc9b6">profiler</a> ($t1, $t2, $label)</td></tr>
<tr class="separator:a8b0a799341b1fc4cba2c3ede3e3fc9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -181,7 +185,7 @@ Functions</h2></td></tr>
<tr class="separator:a876e94892867019935b348b573299352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae91e4d2a2c6f7a9daccd2c186ae3447"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox</a> ($s, $id='<a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search</a>-box', $url='/<a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search</a>', $save=false)</td></tr>
<tr class="separator:aae91e4d2a2c6f7a9daccd2c186ae3447"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6a3d80a6c6fb234fd0bac44203b828eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">valid_email</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:a6a3d80a6c6fb234fd0bac44203b828eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a6a3d80a6c6fb234fd0bac44203b828eb">valid_email</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:a6a3d80a6c6fb234fd0bac44203b828eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11255c8c4e5245b6c24f97684826aa54"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a11255c8c4e5245b6c24f97684826aa54">linkify</a> ($s)</td></tr>
<tr class="separator:a11255c8c4e5245b6c24f97684826aa54"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -191,13 +195,15 @@ Functions</h2></td></tr>
<tr class="separator:aa46f941155c2ac1155f2f17ffb0adb66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a736db13a966b8abaf8c9198faa35911a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a736db13a966b8abaf8c9198faa35911a">get_mood_verbs</a> ()</td></tr>
<tr class="separator:a736db13a966b8abaf8c9198faa35911a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4446c7f8996a280f7e08b7bfe6c6c8bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a4446c7f8996a280f7e08b7bfe6c6c8bc">list_smilies</a> ()</td></tr>
+<tr class="separator:a4446c7f8996a280f7e08b7bfe6c6c8bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d225b253bb9e0f2498c11647d927b0b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies</a> ($s, $sample=false)</td></tr>
<tr class="separator:a3d225b253bb9e0f2498c11647d927b0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10dde167249ed5abf190a7a0986878ea"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a10dde167249ed5abf190a7a0986878ea">smile_shield</a> ($m)</td></tr>
<tr class="separator:a10dde167249ed5abf190a7a0986878ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a273156a6f5cddc6652ad656821cd5805"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a273156a6f5cddc6652ad656821cd5805">smile_unshield</a> ($m)</td></tr>
<tr class="separator:a273156a6f5cddc6652ad656821cd5805"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac19d2b33a58372a357a43d51eed19162"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:ac19d2b33a58372a357a43d51eed19162"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:ac19d2b33a58372a357a43d51eed19162"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63fb21c0bed2fc72eef2c1471ac42b63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a63fb21c0bed2fc72eef2c1471ac42b63">day_translate</a> ($s)</td></tr>
<tr class="separator:a63fb21c0bed2fc72eef2c1471ac42b63"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -217,6 +223,10 @@ Functions</h2></td></tr>
<tr class="separator:ad8c6e13d6accf057136c5f30a23a5f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e4d42b0a805148d9f9a92bcac89bf91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer</a> (&amp;$item)</td></tr>
<tr class="separator:a4e4d42b0a805148d9f9a92bcac89bf91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae0333c304ec5b4b72e66bb2933fa7357"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ae0333c304ec5b4b72e66bb2933fa7357">generate_map</a> ($coord)</td></tr>
+<tr class="separator:ae0333c304ec5b4b72e66bb2933fa7357"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5eb4a9c1599764f80c5bc71e0125d4b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#af5eb4a9c1599764f80c5bc71e0125d4b">generate_named_map</a> ($location)</td></tr>
+<tr class="separator:af5eb4a9c1599764f80c5bc71e0125d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4df74296fbe55051ed3c035e55205e5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body</a> (&amp;$item, $attach=false)</td></tr>
<tr class="separator:ae4df74296fbe55051ed3c035e55205e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe54312607d92f7ce9593f5760831f80"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#afe54312607d92f7ce9593f5760831f80">prepare_text</a> ($text, $content_type= 'text/<a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode</a>')</td></tr>
@@ -297,6 +307,8 @@ Functions</h2></td></tr>
<tr class="separator:adba17ec946f4285285dc100f7860bf51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ba47b4dd1248e7e51095572e7b814dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#a3ba47b4dd1248e7e51095572e7b814dc">extra_query_args</a> ()</td></tr>
<tr class="separator:a3ba47b4dd1248e7e51095572e7b814dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa22feef4de326e1d7078dedd892e615c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag</a> ($a, &amp;$body, &amp;$access_tag, &amp;$str_tags, $profile_uid, $tag)</td></tr>
+<tr class="separator:aa22feef4de326e1d7078dedd892e615c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
@@ -370,7 +382,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, and <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, and <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>.</p>
</div>
</div>
@@ -489,7 +501,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#a849754ec369e1a60fadae5c14584ca36">diaspora_decode()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="zot_8php.html#a0fc2211c5309d9f925ecc4115e3fdb75">make_xchan_hash()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">random_string()</a>, <a class="el" href="crypto_8php.html#a9191447cc46f0b4eaba3273e313994d5">salmon_key()</a>, <a class="el" href="bb2diaspora_8php.html#ad033be99e87a2aaa05e569c68f30792d">share_shield()</a>, <a class="el" href="text_8php.html#a10dde167249ed5abf190a7a0986878ea">smile_shield()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, and <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot_new_uid()</a>.</p>
+<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="diaspora_8php.html#a849754ec369e1a60fadae5c14584ca36">diaspora_decode()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="zot_8php.html#a0fc2211c5309d9f925ecc4115e3fdb75">make_xchan_hash()</a>, <a class="el" href="include_2oembed_8php.html#a9e57f3e36a0a0a47e6db79544b701d9a">oembed_iframe()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="text_8php.html#a9d6a5ee1290de7a8b483fe78585daade">random_string()</a>, <a class="el" href="crypto_8php.html#a9191447cc46f0b4eaba3273e313994d5">salmon_key()</a>, <a class="el" href="bb2diaspora_8php.html#ad033be99e87a2aaa05e569c68f30792d">share_shield()</a>, <a class="el" href="text_8php.html#a10dde167249ed5abf190a7a0986878ea">smile_shield()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, and <a class="el" href="zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7">zot_new_uid()</a>.</p>
</div>
</div>
@@ -561,7 +573,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">Item\check_wall_to_wall()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, and <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>.</p>
+<p>Referenced by <a class="el" href="classItem.html#abcdb0ea9bcd1576bc99bba9b8f700bb8">Item\check_wall_to_wall()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="items_8php.html#adf980098b6de9c3993bc3ff26a8dd6f9">fetch_post_tags()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="conversation_8php.html#afe5b2f38d8b803edb0d7ec5fa2868db0">like_puller()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, and <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>.</p>
</div>
</div>
@@ -595,6 +607,8 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
+<p>@ Return a div to clear floats.</p>
+<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
<p>Referenced by <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, and <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>.</p>
@@ -631,7 +645,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#aa2d3caa2f27720762b5c729e07df40fb">list_post_dates()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="event_8php.html#a2ac9f1b08de03250ecd794f705781d17">format_event_html()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00">list_post_dates()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, and <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>.</p>
</div>
</div>
@@ -676,6 +690,17 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>This is a special logging facility for developers. </p>
+<p>It allows one to target specific things to trace/debug and is identical to <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63" title="Logging function for RedMatrix.">logger()</a> with the exception of the log filename. This allows one to isolate specific calls while allowing <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63" title="Logging function for RedMatrix.">logger()</a> to paint a bigger picture of overall activity and capture more detail.</p>
+<p>If you find <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c" title="This is a special logging facility for developers.">dlogger()</a> calls in checked in code, you are free to remove them - so as to provide a noise-free development environment which responds to events you are targetting personally.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$msg</td><td>Message to log </td></tr>
+ <tr><td class="paramtype">int</td><td class="paramname">$level</td><td>A log level. </td></tr>
+ </table>
+ </dd>
+</dl>
+
</div>
</div>
<a class="anchor" id="aa5148a0dfea2a1ca64c3d52f10aa2d64"></a>
@@ -700,7 +725,7 @@ Variables</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string </dd></dl>
-<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="dba__driver_8php.html#a55bf30d8176967e682656b5be4ad9249">printable()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, and <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2apps_8php.html#aeab6a62d2f3dfaa86ed043a006305f46">app_update()</a>, <a class="el" href="appman_8php.html#a2979acbe47ffaecfa19b9eabfbfbde39">appman_post()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#add35fae5e9695031b3d46e30ac409eb8">menu_add_item()</a>, <a class="el" href="include_2menu_8php.html#a08a800821721781a8dfffbe31481ff98">menu_create()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2menu_8php.html#acb66f80ca895a6ccd562b3d9ae7b41aa">menu_edit_item()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="pdledit_8php.html#a81da3c955d0e3db55d148a31483104c7">pdledit_post()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, and <a class="el" href="text_8php.html#a324c58f37f6acdf9cd1922aa76077d9f">z_input_filter()</a>.</p>
</div>
</div>
@@ -899,6 +924,42 @@ Variables</h2></td></tr>
</div>
</div>
+<a class="anchor" id="ae0333c304ec5b4b72e66bb2933fa7357"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">generate_map </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$coord</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="bbcode_8php.html#a02d5f2434e7bb5cf683e52a9b4787f24">bb_map_coords()</a>, and <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af5eb4a9c1599764f80c5bc71e0125d4b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">generate_named_map </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$location</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="bbcode_8php.html#a7cb403fd1c36d7376c2f3932a1ceb54d">bb_map_location()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a76d1b3435c067978d7b484c45f56472b"></a>
<div class="memitem">
<div class="memproto">
@@ -1029,7 +1090,71 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa22feef4de326e1d7078dedd892e615c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">handle_tag </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$a</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$body</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$access_tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$str_tags</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$profile_uid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$tag</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This function removes the tag $tag from the text $body and replaces it with the appropiate link.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">unknown_type</td><td class="paramname">$body</td><td>the text to replace the tag in </td></tr>
+ <tr><td class="paramtype">unknown_type</td><td class="paramname">$access_tag</td><td>- used to return tag ACL exclusions e.g. @!foo </td></tr>
+ <tr><td class="paramtype">unknown_type</td><td class="paramname">$str_tags</td><td>string to add the tag to </td></tr>
+ <tr><td class="paramtype">unknown_type</td><td class="paramname">$profile_uid</td><td></td></tr>
+ <tr><td class="paramtype">unknown_type</td><td class="paramname">$tag</td><td>the tag to replace</td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>boolean true if replaced, false if not replaced </dd></dl>
+
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, and <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>.</p>
</div>
</div>
@@ -1075,7 +1200,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
@@ -1103,7 +1228,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, and <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>.</p>
+<p>Referenced by <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, and <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>.</p>
</div>
</div>
@@ -1138,6 +1263,10 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Generate a guaranteed unique (for this domain) item ID for ATOM. </p>
+<p>Safe from birthday paradox.</p>
+<dl class="section return"><dt>Returns</dt><dd>string a unique id </dd></dl>
+
<p>Referenced by <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="include_2photos_8php.html#ad648c0c5544fe9263409b6f6e57c6274">photos_create_item()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, and <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>.</p>
</div>
@@ -1311,7 +1440,24 @@ Variables</h2></td></tr>
<p>Function: linkify</p>
<p>Replace naked text hyperlink with HTML formatted hyperlink </p>
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, and <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, and <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4446c7f8996a280f7e08b7bfe6c6c8bc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">list_smilies </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, and <a class="el" href="smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f">smilies_content()</a>.</p>
</div>
</div>
@@ -1339,7 +1485,19 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api_channel_stream()</a>, <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api_export_basic()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api_oauth_request_token()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">base64url_decode()</a>, <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083">bb2diaspora_itemwallwall()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#aae58cc837fe56473d9f3370abfe533ae">blog_install()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a3e77dbe111f330c64a1ff6c741cd515c">blog_uninstall()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="chanman_8php.html#a21ba9a5c961e866ff27aee3ee67bf99b">chanman_remove_everything_from_network()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory\createDirectory()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime_convert()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ab7ab7ba81fab28eb02382cfdfd80ecfe">RedMatrix\RedDAV\RedFile\delete()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a849754ec369e1a60fadae5c14584ca36">diaspora_decode()</a>, <a class="el" href="diaspora_8php.html#a6f0a67b6b17503c125af32763be931b7">diaspora_dispatch()</a>, <a class="el" href="diaspora_8php.html#ab99505944728d46585b8312989de533d">diaspora_dispatch_public()</a>, <a class="el" href="diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff">diaspora_handle_from_contact()</a>, <a class="el" href="diaspora_8php.html#a858f70153c384f8778082cf7843a19da">diaspora_is_blacklisted()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#a900abf51398b2ef26cd2cd31c52f1b0f">diaspora_profile()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dir_parse_query()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">email_send()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0">fetch_lrdd_template()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b">find_diaspora_person_by_handle()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8">RedMatrix\RedDAV\RedFile\get()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="diaspora_8php.html#a9bf7ef4094e0e14f6e2b7fe76ab7ad2e">get_diaspora_key()</a>, <a class="el" href="diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7">get_diaspora_reshare_xml()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="language_8php.html#a43e6ddba9df019c9ac3ab4c94c444ae7">get_language_name()</a>, <a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">Conversation\get_template_data()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7">RedMatrix\RedDAV\RedDirectory\getChild()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">http_status_exit()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#af90a1a74cfd643a5c56b9a17ea250d59">RedMatrix\RedDAV\RedDirectory\log()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abf6fe89b0a8239ed93c3b07e1fbce75b">RedMatrix\RedDAV\RedBasicAuth\log()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">new_keypair()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2network_8php.html#a872bbe72d23826c64c9e0f822180a3ec">old_webfinger()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="dba__driver_8php.html#a2c09a731d3b4fef41fed0e83db01be1f">q()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898">red_item_new()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">Item\remove_child()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify\send()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">unload_plugin()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="items_8php.html#a9b449eeae50003414b8b30ca927af434">update_feed_item()</a>, <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet()</a>, <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
+<p>Logging function for <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>. </p>
+<p>Logging output is configured through <a class="el" href="namespaceRedMatrix.html" title="Class Import.">RedMatrix</a>'s system config. The log file is set in system logfile, log level in system loglevel and to enable logging set system debugging.</p>
+<p>Available constants for log level are LOGGER_NORMAL, LOGGER_TRACE, LOGGER_DEBUG, LOGGER_DATA and LOGGER_ALL.</p>
+<p>Since PHP5.4 we get the file, function and line automatically where the logger was caleld, so no need to add it to the message anymore.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramtype">string</td><td class="paramname">$msg</td><td>Message to log </td></tr>
+ <tr><td class="paramtype">int</td><td class="paramname">$level</td><td>A log level. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="Contact_8php.html#a5101d7eca5d6f387e5555f03fe249e33">account_remove()</a>, <a class="el" href="auth_8php.html#a07bae0e623e2daa9ee2cd5a8aa294dee">account_verify_password()</a>, <a class="el" href="classItem.html#a80dcd9d0f548c3ad550abe7e6981fb51">Item\add_child()</a>, <a class="el" href="classConversation.html#a8335cdd43f1836e3c255638e61a09e16">Conversation\add_thread()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="include_2api_8php.html#a72bfecac1970bc29b853073e816388ff">api_channel_stream()</a>, <a class="el" href="include_2api_8php.html#adfc035ee6303c1d8ba5336a4ead2bd53">api_export_basic()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#aa1bddb580510e70cc1a7b7381667f1a3">api_oauth_request_token()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="text_8php.html#a13286f8a95d2de6b102966ecc270c8d6">base64url_decode()</a>, <a class="el" href="bb2diaspora_8php.html#ab27761069ea1275f0fc4c543099c5519">bb2diaspora_itembody()</a>, <a class="el" href="bb2diaspora_8php.html#aab32042f8bd63552d3fadeeae9eab083">bb2diaspora_itemwallwall()</a>, <a class="el" href="include_2bookmarks_8php.html#aef1cb2968c41c759f2d106e1088ca323">bookmark_add()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="items_8php.html#adc26e08aa61f5666da04ab5d2a9d68a6">consume_feed()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#aca0e8d574ea66a0e210f571700663c62">RedMatrix\RedDAV\RedDirectory\createDirectory()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="cronhooks_8php.html#a4c4c1bbec4ecc9a0efa00dd6afd2c0ca">cronhooks_run()</a>, <a class="el" href="datetime_8php.html#ad6301e74b0f9267d52f8d432b5beb226">datetime_convert()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#ab7ab7ba81fab28eb02382cfdfd80ecfe">RedMatrix\RedDAV\RedFile\delete()</a>, <a class="el" href="zot_8php.html#adfeb9400ae6b726beec89f8f1e8fde72">delete_imported_item()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="language_8php.html#a632da17c7ac0d2dc1a00a4706870194b">detect_language()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a849754ec369e1a60fadae5c14584ca36">diaspora_decode()</a>, <a class="el" href="diaspora_8php.html#a6f0a67b6b17503c125af32763be931b7">diaspora_dispatch()</a>, <a class="el" href="diaspora_8php.html#ab99505944728d46585b8312989de533d">diaspora_dispatch_public()</a>, <a class="el" href="diaspora_8php.html#a5ed66b910d7b0284f9b3ee04e72306ff">diaspora_handle_from_contact()</a>, <a class="el" href="diaspora_8php.html#a858f70153c384f8778082cf7843a19da">diaspora_is_blacklisted()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a131abd521b218d6ae6f7d2917d8b2605">diaspora_process_outbound()</a>, <a class="el" href="diaspora_8php.html#a900abf51398b2ef26cd2cd31c52f1b0f">diaspora_profile()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#aa34d2748bb97e9e193cacd572f335055">diaspora_signed_retraction()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="dirsearch_8php.html#a7d4cd9890d5ed23c3efc58e2a778a305">dir_parse_query()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="include_2network_8php.html#a5176176ddc1906d91f186df6fbd87b48">discover_by_url()</a>, <a class="el" href="include_2network_8php.html#a63e62946e194928eb17c5a9f2bbef0fe">discover_by_webbie()</a>, <a class="el" href="account_8php.html#a0d183a3cb4c67a0f5e906811df7a1fc9">downgrade_accounts()</a>, <a class="el" href="include_2network_8php.html#a1ff07d9fad93b713b93da0ab77aab7f0">email_send()</a>, <a class="el" href="items_8php.html#a56b0f5d2cb36eb8f4bfca84813884f86">encode_item()</a>, <a class="el" href="expire_8php.html#a444e45c9b67727b27db4c779fd51a298">expire_run()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="feed_8php.html#af86137700b56f33d1d5f25c8dec22c04">feed_init()</a>, <a class="el" href="include_2network_8php.html#a8d5a3afb51cc932032b5dcc159efaae0">fetch_lrdd_template()</a>, <a class="el" href="include_2network_8php.html#a850ed5307c6a18076f4b80addc99602d">fetch_xrd_links()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="diaspora_8php.html#aade0c165fcdded71352c7a67bf6ce37b">find_diaspora_person_by_handle()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="boot_8php.html#aca5e42678e178c6b9034610d66666fd7">fix_system_urls()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a7241beecd01f5bb4e74659863dd85bd8">RedMatrix\RedDAV\RedFile\get()</a>, <a class="el" href="items_8php.html#a5e5be7bf1f8257dec0b2647e60a3f3f1">get_atom_elements()</a>, <a class="el" href="diaspora_8php.html#a9bf7ef4094e0e14f6e2b7fe76ab7ad2e">get_diaspora_key()</a>, <a class="el" href="diaspora_8php.html#ac9e41e46626dc608204bf4b5e16e62d7">get_diaspora_reshare_xml()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="classConversation.html#a2a96b7a6573ae53db861624659e831cb">Conversation\get_template_data()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a1a37850bdd1f188abd6160559698d5d7">RedMatrix\RedDAV\RedDirectory\getChild()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix\RedDAV\RedDirectory\getDir()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="include_2network_8php.html#a4cfb2c05a1c295317283d762440ce0b2">http_status_exit()</a>, <a class="el" href="hubloc_8php.html#ad86214b3a74084bd7b54e8d6c919ce4d">hubloc_change_primary()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="items_8php.html#a6bee35961f2e32905f20367a9309d627">import_author_rss()</a>, <a class="el" href="items_8php.html#a37f79991f36811cf847446ff60e8e11f">import_author_unknown()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="zot_8php.html#a2657e141d62d5f67ad3c87651b585299">import_site()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="plugin_8php.html#a482131013272a1d5d5c1b1469c6c55d5">install_plugin()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="items_8php.html#af94c281016c6c912d06e064113336c5c">limit_body_size()</a>, <a class="el" href="plugin_8php.html#a9ca9632b7309a65b05c03a3e2f473a3d">load_plugin()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="conversation_8php.html#a9bd7f9fb6678736c581bcba3b17f471c">localize_item()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#af90a1a74cfd643a5c56b9a17ea250d59">RedMatrix\RedDAV\RedDirectory\log()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#abf6fe89b0a8239ed93c3b07e1fbce75b">RedMatrix\RedDAV\RedBasicAuth\log()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="classFKOAuthDataStore.html#a1148d47b546350bf440bdd92792c5df1">FKOAuthDataStore\lookup_consumer()</a>, <a class="el" href="classFKOAuthDataStore.html#a96f76387c3a93b0abe27a98013804bab">FKOAuthDataStore\lookup_token()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="include_2menu_8php.html#a6a33c6a3db2a7510b16cc656edaec571">menu_edit()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="classFKOAuthDataStore.html#a434882f03e3cdb171ed89e09e337e934">FKOAuthDataStore\new_access_token()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="crypto_8php.html#aae0ab70d6a199b29555b1ac3cf250d6a">new_keypair()</a>, <a class="el" href="classFKOAuthDataStore.html#a431b44d70e3da6a8256ab38f710e3050">FKOAuthDataStore\new_request_token()</a>, <a class="el" href="notes_8php.html#a4dbd7b1f906440746af48b484d66535a">notes_init()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="include_2network_8php.html#a872bbe72d23826c64c9e0f822180a3ec">old_webfinger()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="parse__url_8php.html#a05a9e8944380ba3cf6bbf5893dd4b74b">parse_url_content()</a>, <a class="el" href="include_2network_8php.html#a27a951b59d8d622c0b3e7b0673ba74c6">parse_xml_string()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="items_8php.html#a410f9c743877c125ca06312373346903">post_activity_item()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zot_8php.html#ac301c67864917c35922257950ae0f95c">process_channel_sync_delivery()</a>, <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc">process_mail_delivery()</a>, <a class="el" href="zot_8php.html#a9a57b40669351c9791126b925cb7ef3b">process_profile_delivery()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a561103564199da56e58061a4196eb102">profile_photo_set_profile_perms()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="hubloc_8php.html#ad3d0dcfcfcb347744f7617fe6f5de002">prune_hub_reinstalls()</a>, <a class="el" href="zot_8php.html#a083aec6c900d244e1bfc1406f9461465">public_recips()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a709ec1288d21ddf1353524435ab916f0">RedMatrix\RedDAV\RedFile\put()</a>, <a class="el" href="classdba__mysql.html#ac3fd60c278f400907322dac578754a99">dba_mysql\q()</a>, <a class="el" href="classdba__mysqli.html#a611c4de8d6d7512dffb83a38bb6701ec">dba_mysqli\q()</a>, <a class="el" href="classdba__postgres.html#a70352880231fba0b859f82cd5b290a9a">dba_postgres\q()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="Contact_8php.html#a7e3f5bef8ea1d2bf8434c9be36a2b713">random_profile()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="receive_8php.html#a03d8fa26e77844020ba5602deca7d494">receive_post()</a>, <a class="el" href="include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898">red_item_new()</a>, <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList()</a>, <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData()</a>, <a class="el" href="reddav_8php.html#a9f531641dfb4e43cd88ac1a9ae7e2088">RedFileData()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="plugin_8php.html#af9ac19004dca49adae1ac7a0d9f3b025">reload_plugins()</a>, <a class="el" href="classItem.html#a2ce70ef63f9f4d86a09c351678806925">Item\remove_child()</a>, <a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag()</a>, <a class="el" href="hubloc_8php.html#a84c79b7be352f62d12fe4fa2c80fc6ea">remove_obsolete_hublocs()</a>, <a class="el" href="queue__fn_8php.html#a8fe71e981399bbf5d000a6ca42f57b24">remove_queue_item()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="classenotify.html#afbc088860f534c6c05788b48cfc262c6">enotify\send()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedFile.html#a0350cb4e0327e1f9922869a48ee04f1d">RedMatrix\RedDAV\RedFile\setName()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix\RedDAV\RedDirectory\setName()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="items_8php.html#adf2b8137dc4ad9ec958de2842f16f3c2">start_delivery_chain()</a>, <a class="el" href="items_8php.html#a25221826fa4621f523c68483e3b6af26">store_diaspora_comment_sig()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="dir__fns_8php.html#aa666e7df6ca8c332f4081c9b66b4bdf6">sync_directories()</a>, <a class="el" href="zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254">sync_locations()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="plugin_8php.html#a093a9cb98f51e3643634bd8bc6ed6e76">uninstall_plugin()</a>, <a class="el" href="plugin_8php.html#a90538627db68605aeb6db17a8ead6523">unload_plugin()</a>, <a class="el" href="dir__fns_8php.html#a44062d4b471d1e83f92f6c184585aa13">update_directory_entry()</a>, <a class="el" href="items_8php.html#a9b449eeae50003414b8b30ca927af434">update_feed_item()</a>, <a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item()</a>, <a class="el" href="queue__fn_8php.html#a4c2876181f75a4a61e85b7f00dfdbba1">update_queue_time()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBasicAuth.html#a6ece02655b780469e59e204c5979a624">RedMatrix\RedDAV\RedBasicAuth\validateUserPass()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="include_2network_8php.html#a99353baabbc3e0584b85eb79ee802cff">xml2array()</a>, <a class="el" href="include_2network_8php.html#a9e9da2aafb806c98ecdc318604e60dc6">xml_status()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="include_2network_8php.html#a9129fd55e7fc175b4ea9a195cccc16bc">z_post_url()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet()</a>, <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>, <a class="el" href="zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea">zot_fetch()</a>, <a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger()</a>, <a class="el" href="zot_8php.html#a55056e863a7860bc0cf922e78fcce073">zot_gethub()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, <a class="el" href="zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03">zot_process_response()</a>, <a class="el" href="zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c">zot_refresh()</a>, <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>, and <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>.</p>
</div>
</div>
@@ -1575,6 +1733,10 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
+<p>Generate a guaranteed unique photo ID. </p>
+<p>Safe from birthday paradox.</p>
+<dl class="section return"><dt>Returns</dt><dd>string a uniqe hash </dd></dl>
+
<p>Referenced by <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, and <a class="el" href="include_2photos_8php.html#a6c40ef58aefef705a5adc84a40e97109">photo_upload()</a>.</p>
</div>
@@ -1647,7 +1809,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, and <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>.</p>
+<p>Referenced by <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#ae82608c317421f27446465aa6724733d">api_format_messages()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="items_8php.html#a87ac9e359591721a824ecd23bbb56296">check_item_source()</a>, <a class="el" href="comanche_8php.html#a5a7ab801717d38e91ac910b933973887">comanche_block()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, and <a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widget_random_block()</a>.</p>
</div>
</div>
@@ -1681,8 +1843,6 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>.</p>
-
</div>
</div>
<a class="anchor" id="a4e7698aca48982512594b274543c3b9b"></a>
@@ -1761,7 +1921,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, and <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>.</p>
+<p>Referenced by <a class="el" href="crypto_8php.html#a2148d7aac7b30c720f7ebda7e9790286">aes_encapsulate()</a>, <a class="el" href="include_2apps_8php.html#a15626f24069c18816f7cdaf4735f58f9">app_store()</a>, <a class="el" href="include_2attach_8php.html#ab6830b3ab74a5d284876141ac80f6cbc">attach_mkdir()</a>, <a class="el" href="include_2attach_8php.html#a84a8a64c4805e1525b42d4add464833f">attach_store()</a>, <a class="el" href="bbcode_8php.html#a851f5aafefe52474201b83f9fd65931f">bb_parse_crypt()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="account_8php.html#a141fe579c351c78209d425473f978eb5">create_account()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a58e750256cdc2f0f79fbe8d5463ffefe">RedMatrix\RedDAV\RedDirectory\createFile()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="event_8php.html#af5ac41e7ea3f7131088fe6333fd2846c">event_store_event()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="include_2group_8php.html#a06ec565d2b64e79044e7c1bf91a2a4ce">group_add()</a>, <a class="el" href="zot_8php.html#a20750dd2c36961013fd382fb34e1366c">import_directory_profile()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="text_8php.html#aa6b0aa8afbeab50d1a3058ad21acb74e">item_message_id()</a>, <a class="el" href="items_8php.html#a2541e6861a56d145c9281877cc501615">item_store()</a>, <a class="el" href="dir__fns_8php.html#acd37b17dce3bdec6d5a6344a20598c1e">local_dir_update()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="items_8php.html#a77da7ce9a117601d49ac4a67c71b514f">mail_store()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988">process_location_delivery()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="refimport_8php.html#a01a29630fa5e1ce6cd5e1fd75280747c">reflect_comment_store()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, and <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>.</p>
</div>
</div>
@@ -1826,7 +1986,7 @@ Variables</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string substituted string </dd></dl>
-<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200">diaspora_unshare()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="dirprofile_8php.html#a3e1d30d3d93863ff5615f2df4ac7f052">dirprofile_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="datetime_8php.html#a03900dcf0f9e3c58793a031673a70326">field_timezone()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf">RedMatrix\RedDAV\RedBrowser\htmlActionsPanel()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="acl__selectors_8php.html#ad25bba63a51a2b0b5b463efae50df528">populate_acl()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#aced5cb177f630b30799c5eab873ee75c">widget_appselect()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
+<p>Referenced by <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#a3deba594ca1e11694eac1de0b724ef0a">admin_page_profs()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2apps_8php.html#a1b2e737f477a2e0d9d11ef14adc5aa66">app_render()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="mod_2apps_8php.html#a546016cb960d0b110ee8e489dfa6c27c">apps_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="classApp.html#a08f0537964d98958d218066364cff785">App\build_pagehead()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="text_8php.html#a87a3cefc603302c78982f1d8e1245265">design_tools()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200">diaspora_unshare()</a>, <a class="el" href="dir__fns_8php.html#acf621621e929d49441da30aad76a58cf">dir_safe_mode()</a>, <a class="el" href="dir__fns_8php.html#ae56881d69bb6f8e828c9e35454386774">dir_sort_links()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="text_8php.html#a3054189cff173977f4216c9a3dd29e1b">format_categories()</a>, <a class="el" href="text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91">format_filer()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#af764d5f14df751f9ec86c34fab300c09">RedMatrix\RedDAV\RedBrowser\generateDirectoryIndex()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="items_8php.html#a04a35b610acfe54434df08adec39c0c7">get_feed_for()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="include_2group_8php.html#a6a69bd7be032fa8ce4e49c43a42cc6e9">group_side()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a3bd98af2d1cdfd8f26deb914596176cf">RedMatrix\RedDAV\RedBrowser\htmlActionsPanel()</a>, <a class="el" href="identity_8php.html#a2ab5172eabd375869060c9ad68323f5c">identity_selector()</a>, <a class="el" href="import_8php.html#afdf25ed70096d5dbf4f6d0ca79fea184">import_content()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="include_2menu_8php.html#a03a5deed3908543581c074ce333e9d6a">menu_render()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="text_8php.html#a2a902f5fdba8646333e997898ac45ea3">micropro()</a>, <a class="el" href="include_2group_8php.html#ab0e422a0f31c0c64fd9084ca03d85f32">mini_group_select()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mood_8php.html#a721b9b6703b3234a005641c92d409b8f">mood_content()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="new__channel_8php.html#ae585191610f79da129492482ce8e2fee">new_channel_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page__widgets_8php.html#a39d547771c5f12a17c097436c82f0fa2">pagelist_widget()</a>, <a class="el" href="pdledit_8php.html#a59cb550f6b7a4e7d8196fbc9de601619">pdledit_content()</a>, <a class="el" href="include_2photos_8php.html#af24c6aeed28ecc31ec39e7d9a1804979">photos_album_widget()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="poke_8php.html#ac9190563a8da9c07a16f9dcd71cf6993">poke_content()</a>, <a class="el" href="poll_8php.html#a3314c26bd2ac0ed831cebf3315cd3263">poll_content()</a>, <a class="el" href="acl__selectors_8php.html#ad25bba63a51a2b0b5b463efae50df528">populate_acl()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="rmagic_8php.html#a3e28db1e5cfa7e5c2617f90222c1caef">rmagic_content()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="text_8php.html#aae91e4d2a2c6f7a9daccd2c186ae3447">searchbox()</a>, <a class="el" href="account_8php.html#a014de2d5d5c9785de5bf547a485822fa">send_reg_approval_email()</a>, <a class="el" href="account_8php.html#aa9c29c497c17d8f9344dce8631ad8761">send_verification_email()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="sources_8php.html#ac442ccef080ab95772d8929fcafcb4b7">sources_content()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="text_8php.html#af9c9ac3f74c82dc60acfa404d0e9dc53">theme_attachments()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="uexport_8php.html#ae6f79d60916c01675c8cf663cb5fec84">uexport_content()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="account_8php.html#acd6b8d2124ba5ea4f4794d2c58ae8bf5">verify_email_address()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity()</a>, <a class="el" href="widgets_8php.html#aced5cb177f630b30799c5eab873ee75c">widget_appselect()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3">widget_bookmarkedchats()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256">widget_notes()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8">widget_suggestedchats()</a>, <a class="el" href="widgets_8php.html#a0d404276fedc59f5038cf5c085028326">widget_suggestions()</a>, <a class="el" href="page__widgets_8php.html#a1a1e729da27f252cab6678288a17958f">writepages_widget()</a>, and <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>.</p>
</div>
</div>
@@ -2262,7 +2422,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, and <a class="el" href="items_8php.html#a004e89d86b0f29b2c4da20108ecc4091">zot_feed()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="identity_8php.html#afaedbc8e2d2a70ec8b006162baac5249">identity_basic_export()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, and <a class="el" href="items_8php.html#a1cf89557f32d5dfbe8bd90448dc1aa92">zot_feed()</a>.</p>
</div>
</div>
diff --git a/doc/html/text_8php.js b/doc/html/text_8php.js
index e4fa31a50..e6fccb430 100644
--- a/doc/html/text_8php.js
+++ b/doc/html/text_8php.js
@@ -28,12 +28,15 @@ var text_8php =
[ "format_filer", "text_8php.html#a4e4d42b0a805148d9f9a92bcac89bf91", null ],
[ "format_hashtags", "text_8php.html#a3a0c432a484c17d7720b8ba2d6bfdd59", null ],
[ "format_mentions", "text_8php.html#ad8c6e13d6accf057136c5f30a23a5f08", null ],
+ [ "generate_map", "text_8php.html#ae0333c304ec5b4b72e66bb2933fa7357", null ],
+ [ "generate_named_map", "text_8php.html#af5eb4a9c1599764f80c5bc71e0125d4b", null ],
[ "get_mentions", "text_8php.html#a76d1b3435c067978d7b484c45f56472b", null ],
[ "get_mood_verbs", "text_8php.html#a736db13a966b8abaf8c9198faa35911a", null ],
[ "get_plink", "text_8php.html#aac0969ae09853205992ba06ab9f9f61a", null ],
[ "get_poke_verbs", "text_8php.html#aa46f941155c2ac1155f2f17ffb0adb66", null ],
[ "get_rel_link", "text_8php.html#a3972701c5c83624ec4e2d06242f614e7", null ],
[ "get_tags", "text_8php.html#a4659fbc4e54ddc700c3aa66b9092c623", null ],
+ [ "handle_tag", "text_8php.html#aa22feef4de326e1d7078dedd892e615c", null ],
[ "html2bb_video", "text_8php.html#a138a3a611fa7f4f3630674145fc826bf", null ],
[ "ids_to_querystr", "text_8php.html#a436a8de00c942364c2d0fcfc7e1f4b5a", null ],
[ "in_arrayi", "text_8php.html#a75c326298519ed14ebe762194c8a3f2a", null ],
@@ -47,6 +50,7 @@ var text_8php =
[ "legal_webbie", "text_8php.html#a2690ad67bb6fb97ef69de3e8d23f2728", null ],
[ "link_compare", "text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285", null ],
[ "linkify", "text_8php.html#a11255c8c4e5245b6c24f97684826aa54", null ],
+ [ "list_smilies", "text_8php.html#a4446c7f8996a280f7e08b7bfe6c6c8bc", null ],
[ "logger", "text_8php.html#a030fa5ecc64168af0c4f44897a9bce63", null ],
[ "magic_link", "text_8php.html#a1e510c53624933ce9b7d6715784894db", null ],
[ "magiclink_url", "text_8php.html#a24d441d30df4b8e6bf6780bf62a5e2c6", null ],
diff --git a/doc/html/theme_2mytheme_2php_2default_8php.html b/doc/html/theme_2mytheme_2php_2default_8php.html
index e3ebc868e..ea01d8615 100644
--- a/doc/html/theme_2mytheme_2php_2default_8php.html
+++ b/doc/html/theme_2mytheme_2php_2default_8php.html
@@ -112,7 +112,7 @@ $(document).ready(function(){initNavTree('theme_2mytheme_2php_2default_8php.html
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
-<tr class="memitem:a3987f5547ceb7e36a210a66a06241a5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
+<tr class="memitem:a3987f5547ceb7e36a210a66a06241a5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="theme_2mytheme_2php_2default_8php.html#a3987f5547ceb7e36a210a66a06241a5a">if</a> (<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td></tr>
<tr class="separator:a3987f5547ceb7e36a210a66a06241a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Variable Documentation</h2>
@@ -121,7 +121,7 @@ Variables</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
+ <td class="memname">if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>,'htmlhead')) echo $<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a>['htmlhead']?&gt;&lt;/head &gt;&lt; body &gt;&lt; header &gt;&lt;?php if(<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>($<a class="el" href="mod__import_8php.html#a8db1899eeeb44dabd0904065b63627bb">page</a></td>
</tr>
</table>
</div><div class="memdoc">
diff --git a/doc/html/todo.html b/doc/html/todo.html
index 375fff1d9..f09357862 100644
--- a/doc/html/todo.html
+++ b/doc/html/todo.html
@@ -102,21 +102,23 @@ $(document).ready(function(){initNavTree('todo.html','');});
</div><!--header-->
<div class="contents">
<div class="textblock"><dl class="reflist">
-<dt><a class="anchor" id="_todo000001"></a>File <a class="el" href="include_2config_8php.html">config.php</a> </dt>
+<dt><a class="anchor" id="_todo000002"></a>File <a class="el" href="include_2config_8php.html">config.php</a> </dt>
<dd>There are a few places in the code (such as the admin panel) where boolean configurations need to be fixed as of 10/08/2011. </dd>
-<dt><a class="anchor" id="_todo000008"></a>Member <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList</a> (&amp;$auth)</dt>
+<dt><a class="anchor" id="_todo000001"></a>Member <a class="el" href="boot_8php.html#a899d24fd074594ceebbf72e1feff335f">get_custom_nav</a> (&amp;$a, $navname)</dt>
+<dd>not fully implemented yet </dd>
+<dt><a class="anchor" id="_todo000009"></a>Member <a class="el" href="reddav_8php.html#ae92ea0df1993f6a7bcd1b6efa6c1fb66">RedChannelList</a> (&amp;$auth)</dt>
<dd>Is there any reason why this is not inside RedDirectory class? function name looks like a class name, should we rename it? </dd>
-<dt><a class="anchor" id="_todo000009"></a>Member <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData</a> ($file, &amp;$auth)</dt>
+<dt><a class="anchor" id="_todo000010"></a>Member <a class="el" href="reddav_8php.html#a5df0d09893f2e65dc5cf6bbab6cfb266">RedCollectionData</a> ($file, &amp;$auth)</dt>
<dd>Is there any reason why this is not inside RedDirectory class? Seems only to be used there and we could simplify it a bit there. function name looks like a class name, should we rename it? </dd>
-<dt><a class="anchor" id="_todo000007"></a>File <a class="el" href="reddav_8php.html">reddav.php</a> </dt>
+<dt><a class="anchor" id="_todo000008"></a>File <a class="el" href="reddav_8php.html">reddav.php</a> </dt>
<dd>split up the classes into own files. </dd>
-<dt><a class="anchor" id="_todo000002"></a>Member <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a8161f2a0be205412e263c947b5ec46c5">RedMatrix::__construct</a> (&amp;$auth)</dt>
+<dt><a class="anchor" id="_todo000003"></a>Member <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#a8161f2a0be205412e263c947b5ec46c5">RedMatrix::__construct</a> (&amp;$auth)</dt>
<dd>disable enablePost by default and only activate if permissions grant edit rights. </dd>
-<dt><a class="anchor" id="_todo000003"></a>Member <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">RedMatrix::set_writeable</a> ()</dt>
+<dt><a class="anchor" id="_todo000004"></a>Member <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedBrowser.html#aa1607857cb59738c4dce2fe8e73d8f19">RedMatrix::set_writeable</a> ()</dt>
<dd>Maybe this whole way of doing this can be solved with some $server-&gt;subscribeEvent(). </dd>
-<dt><a class="anchor" id="_todo000006"></a>Member <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix::getDir</a> ()</dt>
+<dt><a class="anchor" id="_todo000007"></a>Member <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a825dc5f3e0f83f50736c16daa6a4809d">RedMatrix::getDir</a> ()</dt>
<dd>add description of what this function does. </dd>
-<dt><a class="anchor" id="_todo000005"></a>Member <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix::setName</a> ($name)</dt>
+<dt><a class="anchor" id="_todo000006"></a>Member <a class="el" href="classRedMatrix_1_1RedDAV_1_1RedDirectory.html#a14ac61d31a031d139956763db4e03956">RedMatrix::setName</a> ($name)</dt>
<dd>handle duplicate directory name</dd>
</dl>
</div></div><!-- contents -->
diff --git a/doc/html/typo_8php.html b/doc/html/typo_8php.html
index deafea102..fd5fe7b0b 100644
--- a/doc/html/typo_8php.html
+++ b/doc/html/typo_8php.html
@@ -134,7 +134,7 @@ Variables</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">Item\__construct()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">Template\_replcb_if()</a>, <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">Template\_replcb_inc()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">allowed_email()</a>, <a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">allowed_url()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad">api_account_verify_credentials()</a>, <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705">api_direct_messages_all()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3">api_direct_messages_conversation()</a>, <a class="el" href="include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2">api_direct_messages_inbox()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d">api_direct_messages_sentbox()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b">api_followers_ids()</a>, <a class="el" href="include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879">api_format_as()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#acafd2899309a005fcb725289173dc7fe">api_friends_ids()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1">api_item_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a6951c690d87775eb37e569c66011988e">api_statuses_followers()</a>, <a class="el" href="include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e">api_statuses_friends()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="include_2apps_8php.html#ab93a3310b7de99ee90f673518eccb658">app_name_compare()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">attribute_contains()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bbcode_8php.html#a3a989cbf308a32468d171d83e9c51d1e">bb_sanitize_style()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="block_8php.html#a9b61c96044ed2a068f18c10370a78d5c">block_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="blogga_2php_2theme_8php.html#aa55c1cb1f05087b5002ecb633b550b1b">blog_init()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#a028ae8e9f2824670dfa76a6651d817e5">blogtheme_display_item()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a8a311a402d3e746ce53fadc38e4b2d27">blogtheme_form()</a>, <a class="el" href="blogga_2view_2theme_2blog_2theme_8php.html#af634a3f721c5e238530d0636d33230ec">blogtheme_imgurl()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="boot_8php.html#ab79b8b4555cae20d03f8200666d89d63">clean_urls()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser()</a>, <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche_replace_region()</a>, <a class="el" href="comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f">comanche_widget()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#a15af118efee9c948b6f8294e54a73bb2">connections_clone()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5">connedit_clone()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a900abf51398b2ef26cd2cd31c52f1b0f">diaspora_profile()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200">diaspora_unshare()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory_init()</a>, <a class="el" href="dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752">dirsearch_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">ev_compare()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">expand_acl()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">BaseObject\get_app()</a>, <a class="el" href="boot_8php.html#a0e6db7e365f2b041a828b93786f694bc">get_app()</a>, <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">get_best_language()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config()</a>, <a class="el" href="boot_8php.html#a899d24fd074594ceebbf72e1feff335f">get_custom_nav()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">get_form_security_token()</a>, <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine\get_intltext_template()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig()</a>, <a class="el" href="text_8php.html#aac0969ae09853205992ba06ab9f9f61a">get_plink()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">get_theme_screenshot()</a>, <a class="el" href="include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e">get_xconfig()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="item_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">head_get_icon()</a>, <a class="el" href="plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf">head_remove_css()</a>, <a class="el" href="plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4">head_remove_js()</a>, <a class="el" href="boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84">head_set_icon()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="hivenet_2php_2theme_8php.html#a3a8b539b112ae63936025236dbaf0a29">hivenet_init()</a>, <a class="el" href="home_8php.html#aa1cf697851a646755baf537f75334c46">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b">insert_hook()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="boot_8php.html#a6252d8eca67c689d9035ec6da544cf46">is_developer()</a>, <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285">link_compare()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b">load_pconfig()</a>, <a class="el" href="boot_8php.html#a50a6707a28c7d05d3f49eaabc7994501">load_pdl()</a>, <a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">load_translation_table()</a>, <a class="el" href="include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52">load_xconfig()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">manual_config()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="mytheme_2php_2theme_8php.html#a6ce5df8ece6acc09c1fddaccbeb244e8">mytheme_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav_set_selected()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="language_8php.html#a78bd204955ec4cc3a9ac651285a1689d">pop_lang()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="text_8php.html#ae4df74296fbe55051ed3c035e55205e5">prepare_body()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="language_8php.html#ac9142ef1d01a235c760deb0f16643f5a">push_lang()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898">red_item_new()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="regver_8php.html#ad2c5f644fd1b099abd7c715b7df6f50f">regver_content()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="stumble_2php_2theme_8php.html#a71db9eff6289e0ee47771c37c01d6753">stumble_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suckerberg_2php_2theme_8php.html#a4104fce7d5fb71d15ed811978b628fc8">suckerberg_init()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="language_8php.html#ac6ae482ee54fa2764d5c2e77305aeb96">t()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="text_8php.html#ac2ff88e800f74b22e9cc091c10809c54">tag_sort_length()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43">tags_sort()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="view_2theme_2blogga_2php_2config_8php.html#a09cd81013505f83aea0771243a1e4e53">theme_admin()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">theme_include()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">timezone_cmp()</a>, <a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile_init()</a>, <a class="el" href="language_8php.html#a686bcafa6b0d5c86d37b38a1db5b6997">tt()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote_init()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda">z_path()</a>, <a class="el" href="boot_8php.html#add517a0958ac684792c62142a3877f81">z_root()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
+<p>Referenced by <a class="el" href="classFriendicaSmarty.html#af12091b920b95eeef1218cbc48066ca6">FriendicaSmarty\__construct()</a>, <a class="el" href="classItem.html#a248f45871ecfe82a08d1d4c0769b2eb2">Item\__construct()</a>, <a class="el" href="classFriendicaSmartyEngine.html#ab7c305bd8c386c2944e4dc9136cea5b6">FriendicaSmartyEngine\__construct()</a>, <a class="el" href="classTemplate.html#ae0836e7d5bd5afceb04f50fd635f1228">Template\_replcb_if()</a>, <a class="el" href="classTemplate.html#a86e8fd27955ef10cadfd86f3fca70677">Template\_replcb_inc()</a>, <a class="el" href="__well__known_8php.html#a6ebfa937a2024f0b5dab53f0ac90fed0">_well_known_init()</a>, <a class="el" href="Contact_8php.html#a024919623a830e8703ac4f23496dd66c">abook_toggle_flag()</a>, <a class="el" href="achievements_8php.html#a35ae04ada0e227d19671f289a32fb30e">achievements_content()</a>, <a class="el" href="acl_8php.html#ac6776dba871806ecdb5d1659bc2eb07a">acl_init()</a>, <a class="el" href="admin_8php.html#afef415e4011607fbb665610441595015">admin_content()</a>, <a class="el" href="admin_8php.html#ad6f87a764fd35f522c7b4c351d7878ec">admin_page_channels()</a>, <a class="el" href="admin_8php.html#a42e628f367c168add8013352ac74d33f">admin_page_channels_post()</a>, <a class="el" href="admin_8php.html#aaa6addf2dbc3f3fcf99244a56b41eade">admin_page_dbsync()</a>, <a class="el" href="admin_8php.html#a6943543f3138f6ee182cb701f415d1cc">admin_page_hubloc()</a>, <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="admin_8php.html#a1d1362698af14d209aa3a0fb655551dd">admin_page_logs()</a>, <a class="el" href="admin_8php.html#a233b7c8c31776b7020532003c6e44e1c">admin_page_logs_post()</a>, <a class="el" href="admin_8php.html#a54128076986ba80c4a103de3fc3e19a8">admin_page_plugins()</a>, <a class="el" href="admin_8php.html#ac0f3bd12431c056aad77bac9d09fa30e">admin_page_site()</a>, <a class="el" href="admin_8php.html#add865f4ae806ecbf716f423fc3e50e4f">admin_page_site_post()</a>, <a class="el" href="admin_8php.html#ac6e95b920b5abd030cc522964987087a">admin_page_summary()</a>, <a class="el" href="admin_8php.html#af124619fdc278fe2bf14c45ddaa260fb">admin_page_themes()</a>, <a class="el" href="admin_8php.html#a62f10f90c47686c9c3c37c4c03a108d2">admin_page_users()</a>, <a class="el" href="admin_8php.html#a5a696706a3869800e65fb365214241b7">admin_page_users_post()</a>, <a class="el" href="admin_8php.html#acf51f5837a7427832144c2bf7308ada3">admin_post()</a>, <a class="el" href="identity_8php.html#aa870d2c1f558cfd52bef05bc124e8fa4">advanced_profile()</a>, <a class="el" href="include_2network_8php.html#aba38458a2ff2d92d3536488dbb119694">allowed_email()</a>, <a class="el" href="include_2network_8php.html#aee35d9ad6b3f872bfb39ba3598936aa7">allowed_url()</a>, <a class="el" href="text_8php.html#a75c243e06341ec16bd5a44b9b1cacd85">alt_pager()</a>, <a class="el" href="include_2api_8php.html#a864191bb876a515ed71b17e260ef35ad">api_account_verify_credentials()</a>, <a class="el" href="include_2api_8php.html#aa9dc5350b26d6c7727d6c4b641ecba18">api_albums()</a>, <a class="el" href="include_2api_8php.html#a5990101034e7abf6404feba3cd273629">api_apply_template()</a>, <a class="el" href="include_2api_8php.html#a176c448d79c211ad41c2bbe3124658f5">api_call()</a>, <a class="el" href="mod_2api_8php.html#a33315b5bbf5418f6850b2038107b526d">api_content()</a>, <a class="el" href="include_2api_8php.html#a970b02c06dea8b229aa3d5fff9cf4705">api_direct_messages_all()</a>, <a class="el" href="include_2api_8php.html#a7759ccddc8dff012ad168e511ffe5af5">api_direct_messages_box()</a>, <a class="el" href="include_2api_8php.html#a9160288b7ac220635942d8dc209b78c3">api_direct_messages_conversation()</a>, <a class="el" href="include_2api_8php.html#ad2b0192f3006918bea895de8074bf8d2">api_direct_messages_inbox()</a>, <a class="el" href="include_2api_8php.html#a0991f72554f821255397d615e76f3203">api_direct_messages_new()</a>, <a class="el" href="include_2api_8php.html#a58cf4c02ef435996f5c3bc4283d3968d">api_direct_messages_sentbox()</a>, <a class="el" href="include_2api_8php.html#a2c71b1226ef1283b5370bd1c200fee5f">api_favorites()</a>, <a class="el" href="include_2api_8php.html#ab1ecb58954f722444bfe03233345cb1b">api_followers_ids()</a>, <a class="el" href="include_2api_8php.html#a18cab7c6391df5c421753463f5d2a879">api_format_as()</a>, <a class="el" href="include_2api_8php.html#a4c6fb9fb5203aa60f4b3afd4521db8ea">api_format_items()</a>, <a class="el" href="include_2api_8php.html#acafd2899309a005fcb725289173dc7fe">api_friends_ids()</a>, <a class="el" href="include_2api_8php.html#aa40bae797bcd9ccacffdce5a3b5a1afa">api_get_user()</a>, <a class="el" href="include_2api_8php.html#aa49741342ad8ba285737eea1209a37e1">api_item_get_user()</a>, <a class="el" href="include_2api_8php.html#afe534f826e4282b72d66e8cadca7bb73">api_login()</a>, <a class="el" href="include_2api_8php.html#aa6fc3bc8c0fad1d081db0dcc456dd77f">api_photos()</a>, <a class="el" href="mod_2api_8php.html#a6fe77f05c07cb51048df0d557b4b9bd2">api_post()</a>, <a class="el" href="include_2api_8php.html#a6a04b48168ba1d9dd2de3081a630611f">api_rss_extra()</a>, <a class="el" href="include_2api_8php.html#a645397787618b5c548a31e8686e8cca4">api_status_show()</a>, <a class="el" href="include_2api_8php.html#ad4c29f43418f6110f85a6b3998239ab4">api_statuses_destroy()</a>, <a class="el" href="include_2api_8php.html#aa0d6b29fff0344a8e67f3507a6d01410">api_statuses_f()</a>, <a class="el" href="include_2api_8php.html#a6951c690d87775eb37e569c66011988e">api_statuses_followers()</a>, <a class="el" href="include_2api_8php.html#ade742525b2e41c82b090799ef3c51d5e">api_statuses_friends()</a>, <a class="el" href="include_2api_8php.html#a528d8070ee74ea800102936ce73cf366">api_statuses_home_timeline()</a>, <a class="el" href="include_2api_8php.html#a450d8732b7b608f7ac929aee61572b95">api_statuses_mediap()</a>, <a class="el" href="include_2api_8php.html#a8b25a186bd0893f51aa72a62f655735e">api_statuses_mentions()</a>, <a class="el" href="include_2api_8php.html#ad24ce1bf20867add4c9211a8eaf93f22">api_statuses_public_timeline()</a>, <a class="el" href="include_2api_8php.html#ae0fa388479cace9c5a7a45b571ab42f8">api_statuses_repeat()</a>, <a class="el" href="include_2api_8php.html#af6f1d89cdb0a0621025efbec1597bc63">api_statuses_show()</a>, <a class="el" href="include_2api_8php.html#ad4d1634df6b35126552324683caaffa2">api_statuses_update()</a>, <a class="el" href="include_2api_8php.html#a32f0dda848d0c11c727fe1c3e741c283">api_statuses_user_timeline()</a>, <a class="el" href="include_2api_8php.html#a623793229a7256dd31bcfd5ab90eef08">api_statusnet_config()</a>, <a class="el" href="include_2api_8php.html#abe8e929e93f7ab134b1cb1fb30f19a76">api_users_show()</a>, <a class="el" href="include_2apps_8php.html#ab93a3310b7de99ee90f673518eccb658">app_name_compare()</a>, <a class="el" href="appman_8php.html#af48805ac2f6f123f2681a8ae1c6f123f">appman_content()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#ad59fc09da66b66267f9753c8b2dd68d0">apw_form()</a>, <a class="el" href="items_8php.html#a275108c050f7eb18bcbb5018e6b81cf6">atom_entry()</a>, <a class="el" href="text_8php.html#a95fd2f8f23a1948414a03ebc963bac57">attribute_contains()</a>, <a class="el" href="security_8php.html#adc7bf51e3b8d67bd80e9348f9ab03733">authenticate_success()</a>, <a class="el" href="include_2network_8php.html#ab07ce9d75eae559865ed90aad2154bd7">avatar_img()</a>, <a class="el" href="bbcode_8php.html#a3a989cbf308a32468d171d83e9c51d1e">bb_sanitize_style()</a>, <a class="el" href="bbcode_8php.html#a009f61aaf78771737ed0765c8463911b">bbcode()</a>, <a class="el" href="conversation_8php.html#ad470fc7766f0db66d138fa1916c7a8b7">best_link_url()</a>, <a class="el" href="block_8php.html#a8a82a470acdfbc7a8e749509caeeea45">block_content()</a>, <a class="el" href="block_8php.html#a9b61c96044ed2a068f18c10370a78d5c">block_init()</a>, <a class="el" href="blocks_8php.html#a2531a8fd51db3cecb2eb20c002c66e12">blocks_content()</a>, <a class="el" href="blocks_8php.html#aebe88302181883d2b17d6e98a1aaebe9">blocks_init()</a>, <a class="el" href="mod_2bookmarks_8php.html#a774364b1c8404529581083631703527a">bookmarks_content()</a>, <a class="el" href="mod_2bookmarks_8php.html#a6b7942f3d27e40f0f47c88704127b9b3">bookmarks_init()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="datetime_8php.html#aea356409ba69f9de412298c998595dd2">cal()</a>, <a class="el" href="plugin_8php.html#a7f05de16c0a32602853b09b99dd85e7c">call_hooks()</a>, <a class="el" href="contact__widgets_8php.html#a165eb021e61c4dcab2a552f28628d353">categories_widget()</a>, <a class="el" href="channel_8php.html#a9c6a6179e0e626398ebecc6151905ef1">channel_content()</a>, <a class="el" href="channel_8php.html#ac7c8c7845741baadf87fae6bc279f3dc">channel_init()</a>, <a class="el" href="Contact_8php.html#a4e8af0f0525161da74583c04b8b03097">channel_remove()</a>, <a class="el" href="chanview_8php.html#a4192c6da888c8c1165851acf9ad4cb8b">chanview_content()</a>, <a class="el" href="mod_2chat_8php.html#a8b0b8bee6fef6477e8c64c5e951b1b4f">chat_content()</a>, <a class="el" href="mod_2chat_8php.html#aa9ae4782e9baef0b7314ab9527c2707e">chat_init()</a>, <a class="el" href="mod_2chat_8php.html#a999d594745597c656c9760253ae297ad">chat_post()</a>, <a class="el" href="chatsvc_8php.html#a7032784215e1f6747cf385a6598770f9">chatsvc_content()</a>, <a class="el" href="chatsvc_8php.html#a28d248b056fa47452e28ed01130e9116">chatsvc_init()</a>, <a class="el" href="chatsvc_8php.html#a7c9a9b9c24a2b02eed8efd6b09632d03">chatsvc_post()</a>, <a class="el" href="boot_8php.html#a4c02d88e66852a01bd5a1feecb7c3ce3">check_config()</a>, <a class="el" href="security_8php.html#a9c6180e82150a5a9af91a1255d096b5c">check_form_security_token()</a>, <a class="el" href="security_8php.html#a444ac867dfa8c37cf0a7a226412bee28">check_form_security_token_ForbiddenOnErr()</a>, <a class="el" href="security_8php.html#a77ba0d1889a39cf32434c5ce96fe1433">check_form_security_token_redirectOnErr()</a>, <a class="el" href="setup_8php.html#a0c3f3b671381f6dccd924b8ecdfc56c4">check_htaccess()</a>, <a class="el" href="boot_8php.html#ab79b8b4555cae20d03f8200666d89d63">clean_urls()</a>, <a class="el" href="cli__startup_8php.html#adfdde63686e33ccd4851fa5edc4fc70b">cli_startup()</a>, <a class="el" href="cli__suggest_8php.html#a8f3a60fc96f4bec7d3837c4efc7725f2">cli_suggest_run()</a>, <a class="el" href="cloud_8php.html#ad2e96e917852f27dedfc263d37e13756">cloud_init()</a>, <a class="el" href="comanche_8php.html#a1a208fdb40dd83d6298caec4290ee922">comanche_parser()</a>, <a class="el" href="comanche_8php.html#a028f004d5b8c23d6367816d899e17cfe">comanche_replace_region()</a>, <a class="el" href="comanche_8php.html#a6b0191c1a63db1696a2eb139d90d9e7f">comanche_widget()</a>, <a class="el" href="common_8php.html#ab63408f39abef7a6915186e8dabc5a96">common_content()</a>, <a class="el" href="contact__widgets_8php.html#a552f8544528cec0c995cea7287ea9d65">common_friends_visitor_widget()</a>, <a class="el" href="common_8php.html#aca62f113655809f41f49042ce9b123c2">common_init()</a>, <a class="el" href="connect_8php.html#a489f0a66c660de6ec4d6917b27674f07">connect_content()</a>, <a class="el" href="connect_8php.html#ad46a38f32fd7a3d324b1fa26373efa36">connect_init()</a>, <a class="el" href="connect_8php.html#a417ec27afe33f21a929667a665e32ee2">connect_post()</a>, <a class="el" href="connections_8php.html#a15af118efee9c948b6f8294e54a73bb2">connections_clone()</a>, <a class="el" href="connections_8php.html#aec2e457420fce3e3bf6a9f48e36df25c">connections_content()</a>, <a class="el" href="connections_8php.html#a1f23623f802af7bd35e95b0e94e5d558">connections_init()</a>, <a class="el" href="connections_8php.html#a1224058db8e3fb56463eb312f98e561d">connections_post()</a>, <a class="el" href="connedit_8php.html#a707ea7e63cf9674025b1d6b081ae74f5">connedit_clone()</a>, <a class="el" href="connedit_8php.html#a795acb3d9d841f55c255d7611681ab67">connedit_content()</a>, <a class="el" href="connedit_8php.html#a4da871e075597a09a8b374b9171dd92e">connedit_init()</a>, <a class="el" href="connedit_8php.html#a234c48426b652bf4d37053f2af329ac5">connedit_post()</a>, <a class="el" href="boot_8php.html#acc4e0c910af066148b810e5fde55fff1">construct_page()</a>, <a class="el" href="text_8php.html#ad6432621d0fafcbcf3d3b9b49bef7784">contact_block()</a>, <a class="el" href="acl__selectors_8php.html#a9476997d2968a5794f3723878ed89c91">contact_select()</a>, <a class="el" href="conversation_8php.html#affea1afb3f32ca41e966c8ddb4204d81">conversation()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="boot_8php.html#ad206598b909e8eb67eb0e0bb5ef69c13">current_theme()</a>, <a class="el" href="boot_8php.html#a926cad0b3d8b9d9ee5da1898fc063ba3">current_theme_url()</a>, <a class="el" href="include_2config_8php.html#a549910227348003efc3c05c9105c42da">del_config()</a>, <a class="el" href="include_2config_8php.html#a7ad2081c5f812ac4387fd76f3762d941">del_pconfig()</a>, <a class="el" href="include_2config_8php.html#a9c171def547deee16738dc58fdeb4b72">del_xconfig()</a>, <a class="el" href="delegate_8php.html#a943eea8996ef348eb845c498f9f354dd">delegate_content()</a>, <a class="el" href="deliver_8php.html#a397afcb9afecf0c1816b0951189dd346">deliver_run()</a>, <a class="el" href="diaspora_8php.html#a006731620a5242d410358b32678e48e3">diaspora_asphoto()</a>, <a class="el" href="diaspora_8php.html#a0fb2abe304aae19efc040a5e6b917829">diaspora_comment()</a>, <a class="el" href="diaspora_8php.html#adef30b6fac948baedcc7194d5d155b5f">diaspora_conversation()</a>, <a class="el" href="diaspora_8php.html#a5d57518545baa31cf8a85a937a267681">diaspora_like()</a>, <a class="el" href="diaspora_8php.html#a7cff2f8f11044c1b3a360f20e1bbee46">diaspora_message()</a>, <a class="el" href="diaspora_8php.html#a4901762cba5cd8dcdc57bdf285eefb1b">diaspora_msg_build()</a>, <a class="el" href="diaspora_8php.html#a71fe9bb66626b4197ae018a230778bb2">diaspora_photo()</a>, <a class="el" href="diaspora_8php.html#a20b968d64ef26afe5cb0cc75a7570a31">diaspora_post()</a>, <a class="el" href="diaspora_8php.html#a900abf51398b2ef26cd2cd31c52f1b0f">diaspora_profile()</a>, <a class="el" href="diaspora_8php.html#a586d5a3ba92d35cee14f879f290072aa">diaspora_pubmsg_build()</a>, <a class="el" href="diaspora_8php.html#ac1ab782a34552a7c6b4dc961754ed598">diaspora_request()</a>, <a class="el" href="diaspora_8php.html#a2bf43f6b5890897f425ef4325d34b007">diaspora_reshare()</a>, <a class="el" href="diaspora_8php.html#af4698b165766f83d89ec1ea964bc92cc">diaspora_send_followup()</a>, <a class="el" href="diaspora_8php.html#ae6f52efd81fe515cd9912bc8293abf5b">diaspora_send_images()</a>, <a class="el" href="diaspora_8php.html#aeb2bb78f620dbf51d9335e6eb7444f2c">diaspora_send_mail()</a>, <a class="el" href="diaspora_8php.html#a0b3628a5e53332c3d3196b689fe2b94d">diaspora_send_relay()</a>, <a class="el" href="diaspora_8php.html#a1704748aa2384c73e43f10e71defd31a">diaspora_send_retraction()</a>, <a class="el" href="diaspora_8php.html#a33ae0c4606a7df4d801c05507d87f668">diaspora_send_status()</a>, <a class="el" href="diaspora_8php.html#a69f250b078a46e405647428ec3399a16">diaspora_share()</a>, <a class="el" href="diaspora_8php.html#aa704d6aa2ac77be345c0f501168e6e56">diaspora_transmit()</a>, <a class="el" href="diaspora_8php.html#ab736d6f32b5de31c97cb579fc730e200">diaspora_unshare()</a>, <a class="el" href="mod_2directory_8php.html#aac79396570d759da2efac24fcedf5b44">directory_content()</a>, <a class="el" href="mod_2directory_8php.html#a5ee59c213508b6b9787612a8219cb5bf">directory_init()</a>, <a class="el" href="dirsearch_8php.html#a3e51964ae3f5ff147403407b65324752">dirsearch_init()</a>, <a class="el" href="display_8php.html#a37137c98d47bf3306f4c2bb9f5b60de0">display_content()</a>, <a class="el" href="text_8php.html#a0a1f7c0e97f9ecbebf3e5834582b014c">dlogger()</a>, <a class="el" href="items_8php.html#a555762e1022a4b8e3c3abd32e7812408">drop_item()</a>, <a class="el" href="editblock_8php.html#abbe8f55de06967bc8d79d620509a49e6">editblock_content()</a>, <a class="el" href="editblock_8php.html#ab7806bb42ae5e93f0330d7bd179d4b3e">editblock_init()</a>, <a class="el" href="editlayout_8php.html#aa877e4157a26b099de904164181dd386">editlayout_content()</a>, <a class="el" href="editlayout_8php.html#a97c1e93d9e75ad8cd2c2f9a7f77341a7">editlayout_init()</a>, <a class="el" href="editpost_8php.html#a34011690864d122680c802e9e748ccfb">editpost_content()</a>, <a class="el" href="editwebpage_8php.html#a375e945255fad79a71036528f7480650">editwebpage_content()</a>, <a class="el" href="editwebpage_8php.html#a94109f9c796fbe92508bf9574e35d19f">editwebpage_init()</a>, <a class="el" href="event_8php.html#a32ba1b9ddf7a744a9a1512b052e5f850">ev_compare()</a>, <a class="el" href="event_8php.html#a7378e839ac3de9d55579eb3ec48eaf92">event_store_item()</a>, <a class="el" href="events_8php.html#a1d293fb217ae6bc9e3858c4b32e363ec">events_content()</a>, <a class="el" href="events_8php.html#ab3e8a8f901175f8e40a8089eea45c075">events_post()</a>, <a class="el" href="text_8php.html#ae4282a39492caa23ccbc2ce98e54f110">expand_acl()</a>, <a class="el" href="include_2group_8php.html#a22a81875259c7d3d64d4848afea6b345">expand_groups()</a>, <a class="el" href="externals_8php.html#a4df44079e6f915286088b7a0d44db926">externals_run()</a>, <a class="el" href="fbrowser_8php.html#aee476addcf7a3e0fe9454f7dfd5a56c4">fbrowser_content()</a>, <a class="el" href="contact__widgets_8php.html#a1eda66319d170f60a8d07c7ece95533b">fileas_widget()</a>, <a class="el" href="filer_8php.html#a5fd5d7e61b2f9c43cb5f110c89dc4274">filer_content()</a>, <a class="el" href="filerm_8php.html#ae2eb28d2054fa2c37e38689882172208">filerm_content()</a>, <a class="el" href="filestorage_8php.html#a61bb1be78472555df4ce619f51014040">filestorage_content()</a>, <a class="el" href="filestorage_8php.html#ad3b64e3ece9831f9d3a9f00c0ae983cd">filestorage_post()</a>, <a class="el" href="contact__widgets_8php.html#a57e73ebcfd62bb5d8c7a7b9e663726d6">findpeople_widget()</a>, <a class="el" href="items_8php.html#aba98fcbbcd7044a7e9ea34edabc14c87">fix_private_photos()</a>, <a class="el" href="mod_2follow_8php.html#a171f5b19f50d7738adc3b2e96ec6018a">follow_init()</a>, <a class="el" href="bb2diaspora_8php.html#a29a2ad41f5826f3975fa9a49934ff863">format_event_diaspora()</a>, <a class="el" href="fsuggest_8php.html#aa6c49ed4b50a387f1845f36844dd7998">fsuggest_content()</a>, <a class="el" href="fsuggest_8php.html#a61ecfe10ce937ed526614f8fd3de3c7d">fsuggest_post()</a>, <a class="el" href="classBaseObject.html#ac43f10e69ce80c78e4870636250fc8a2">BaseObject\get_app()</a>, <a class="el" href="boot_8php.html#a0e6db7e365f2b041a828b93786f694bc">get_app()</a>, <a class="el" href="language_8php.html#a980dee1d8715a98ab02e36b59facf8ed">get_best_language()</a>, <a class="el" href="identity_8php.html#ad2c97627a313d53df1a1c7b4215ddb51">get_birthdays()</a>, <a class="el" href="classItem.html#a3ee7667c2ec6cd7657328e27848c0bdf">Item\get_comment_box()</a>, <a class="el" href="include_2config_8php.html#af02c96e6b37335774b548914ede1d22e">get_config()</a>, <a class="el" href="boot_8php.html#a899d24fd074594ceebbf72e1feff335f">get_custom_nav()</a>, <a class="el" href="identity_8php.html#ae381db3d43f8e7c1da8b15d14ecf5312">get_events()</a>, <a class="el" href="security_8php.html#acd06ef411116115c2f0a92633700db8a">get_form_security_token()</a>, <a class="el" href="classFriendicaSmartyEngine.html#a35ec0ee828c36640ea25296bcb84a118">FriendicaSmartyEngine\get_intltext_template()</a>, <a class="el" href="plugin_8php.html#acb63c27d07f6d7dffe95f98a6cef1295">get_intltext_template()</a>, <a class="el" href="plugin_8php.html#a75f7dfed291fd7add7fc85b5c022a1f4">get_markup_template()</a>, <a class="el" href="include_2config_8php.html#ad58a4913937179adb13201c2ee3261ad">get_pconfig()</a>, <a class="el" href="classItem.html#ad5dcbe0b94cb2d5719bc5b6bd8ad60c8">Item\get_template_data()</a>, <a class="el" href="plugin_8php.html#a48047edfbef770125a5508dcc2f9282f">get_theme_screenshot()</a>, <a class="el" href="include_2config_8php.html#aa3dc1d3de2d091ac702e675acd3a085e">get_xconfig()</a>, <a class="el" href="gprobe_8php.html#adf72cb0a70b5b9d99fdec1cc60e18ed1">gprobe_run()</a>, <a class="el" href="mod_2group_8php.html#a07a64f6c65b0080d8190b3d9728a7a83">group_content()</a>, <a class="el" href="mod_2group_8php.html#aed1f009b1221348021bb34761160ef35">group_post()</a>, <a class="el" href="acl__selectors_8php.html#aa1e3bc344ca2b29f97eb9860216d21a0">group_select()</a>, <a class="el" href="photo__driver_8php.html#a243cee492ce443afb6a7d77d54b6c4aa">guess_image_type()</a>, <a class="el" href="text_8php.html#aa22feef4de326e1d7078dedd892e615c">handle_tag()</a>, <a class="el" href="hcard_8php.html#ac34f26b0e6a37eef44fa49bea135136d">hcard_init()</a>, <a class="el" href="boot_8php.html#a24a7a70afedd5d85fe0eadc85afa9f77">head_get_icon()</a>, <a class="el" href="plugin_8php.html#a9ab6caae31935f6cf781ce7872db7cdf">head_remove_css()</a>, <a class="el" href="plugin_8php.html#a4a0ae7b881e7c8af99a69e3b03f898b4">head_remove_js()</a>, <a class="el" href="boot_8php.html#a0e4701c9742c3ef88f02ac450a042a84">head_set_icon()</a>, <a class="el" href="help_8php.html#af055e15f600ffa6fbca9386fdf715224">help_content()</a>, <a class="el" href="hivenet_2php_2theme_8php.html#a3a8b539b112ae63936025236dbaf0a29">hivenet_init()</a>, <a class="el" href="home_8php.html#a6e3dbf78f4ed74ab2577de221190b33f">home_content()</a>, <a class="el" href="home_8php.html#ac4642c38b6f23a8d065dd4a75c620bde">home_init()</a>, <a class="el" href="hostxrd_8php.html#aa37ffc8e7900bc76c4828bd25916db92">hostxrd_init()</a>, <a class="el" href="impel_8php.html#ab7db6fca43b42ea4332cb3e841b3cf7b">impel_init()</a>, <a class="el" href="photo__driver_8php.html#a1d0bc7161dec0d177b7d3bbe4421af9a">import_channel_photo()</a>, <a class="el" href="import_8php.html#af17fef0410518f7eac205d0ea416eaa2">import_post()</a>, <a class="el" href="photo__driver_8php.html#a78f5a10c568d2a9bbbb129dc96548887">import_profile_photo()</a>, <a class="el" href="boot_8php.html#adfb2fc7be5a4226c0a8e24131da9d498">info()</a>, <a class="el" href="plugin_8php.html#aeaebe63dcf6fa2794f363ba2bc0b2c6b">insert_hook()</a>, <a class="el" href="invite_8php.html#a244385b28cfd021d308715f01158bfd9">invite_content()</a>, <a class="el" href="invite_8php.html#aeb0881c0f93c8e8552e5ed756ce6e5a5">invite_post()</a>, <a class="el" href="boot_8php.html#a6252d8eca67c689d9035ec6da544cf46">is_developer()</a>, <a class="el" href="boot_8php.html#aa1e828bbbcba170265eb2668d8daf42e">is_site_admin()</a>, <a class="el" href="conversation_8php.html#aacbb12d372d5e9c3ab0735b4aea48fb3">item_photo_menu()</a>, <a class="el" href="item_8php.html#a693cd09805755ab85bbb5ecae69a48c3">item_post()</a>, <a class="el" href="items_8php.html#a756738301f2ed96be50232500677d58a">items_fetch()</a>, <a class="el" href="text_8php.html#a71f6952243d3fe1c5a8154f78027e29c">lang_selector()</a>, <a class="el" href="layouts_8php.html#a6e0193759ad9eef76d3df2db24237b50">layouts_content()</a>, <a class="el" href="layouts_8php.html#a39c8e9f72641c684c8b689bd91a642fa">layouts_init()</a>, <a class="el" href="like_8php.html#a9d7dd268f21c21e9d29dd2aca2dd9538">like_content()</a>, <a class="el" href="text_8php.html#a47c1e4a5f3f53027daacd8a9db24f285">link_compare()</a>, <a class="el" href="text_8php.html#a4446c7f8996a280f7e08b7bfe6c6c8bc">list_smilies()</a>, <a class="el" href="include_2config_8php.html#a27559f388c9b9af81c94e48d6889d1d1">load_config()</a>, <a class="el" href="boot_8php.html#a719c7f3972d5f9268f37a41c76cd4ef6">load_contact_links()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="plugin_8php.html#a326365e48ef94f0b9a0a771b8d75e813">load_hooks()</a>, <a class="el" href="include_2config_8php.html#a559791dda7fef8a4b2394c83e835787b">load_pconfig()</a>, <a class="el" href="boot_8php.html#a50a6707a28c7d05d3f49eaabc7994501">load_pdl()</a>, <a class="el" href="language_8php.html#a7e9904c730bb24ddcb0ff50fc96f6b05">load_translation_table()</a>, <a class="el" href="include_2config_8php.html#aee4b619839cf4b64220f34edf5c67b52">load_xconfig()</a>, <a class="el" href="locs_8php.html#a6c900f53970c0d0e738d2fe06d27ca44">locs_content()</a>, <a class="el" href="locs_8php.html#a6b43654592919ac863d67a1f787a69b9">locs_post()</a>, <a class="el" href="text_8php.html#a030fa5ecc64168af0c4f44897a9bce63">logger()</a>, <a class="el" href="boot_8php.html#aefecf8599036df7f1b95d6820e0e2fa4">login()</a>, <a class="el" href="login_8php.html#a1d69ca88eb9005a7026e128b9a645904">login_content()</a>, <a class="el" href="classFKOAuth1.html#a2b1dac2ed31fc6ef84668afdda8b263f">FKOAuth1\loginUser()</a>, <a class="el" href="lostpass_8php.html#a0314d94e48c789b1b3a201d740c9eab3">lostpass_content()</a>, <a class="el" href="lostpass_8php.html#a8ed35ba71a4404eaf4903da61d0321cc">lostpass_post()</a>, <a class="el" href="magic_8php.html#acea2cc792849ca2d71d4b689f66518bf">magic_init()</a>, <a class="el" href="mail_8php.html#a3c7c485fc69f92371e8b20936040eca1">mail_content()</a>, <a class="el" href="mail_8php.html#acfc2cc0bf4e0b178207758384977f25a">mail_post()</a>, <a class="el" href="manage_8php.html#a2bca247b5296827638959138367db4f5">manage_content()</a>, <a class="el" href="setup_8php.html#abe405d227ba7232971964a706d4f3bce">manual_config()</a>, <a class="el" href="match_8php.html#a1dd853e959b9e70c1911bb2fb5f5130d">match_content()</a>, <a class="el" href="mod_2menu_8php.html#a6fed23af14d71a78a4153c8363a685cf">menu_content()</a>, <a class="el" href="mod_2menu_8php.html#aaa491ef173868fe002aece4632bcf393">menu_post()</a>, <a class="el" href="mod_2message_8php.html#ac72dfed3ce08fcb331d66b37edc6e15f">message_content()</a>, <a class="el" href="mitem_8php.html#a7a31b702ecad18eeb6a38b243ff0037e">mitem_content()</a>, <a class="el" href="mitem_8php.html#a9627cd857cafdf04e4fc0ae48c8e8518">mitem_init()</a>, <a class="el" href="mitem_8php.html#a6ee694cca4b551a20d7c7a94b5243ec1">mitem_post()</a>, <a class="el" href="mood_8php.html#a7ae136dd7476865b4828136175db5022">mood_init()</a>, <a class="el" href="msearch_8php.html#ac80d2a6c0a92e79eec7efbbccd74d9a8">msearch_post()</a>, <a class="el" href="mytheme_2php_2theme_8php.html#a6ce5df8ece6acc09c1fddaccbeb244e8">mytheme_init()</a>, <a class="el" href="nav_8php.html#a43be0df73b90647ea70947ce004e231e">nav()</a>, <a class="el" href="nav_8php.html#ac3c920ce3ea5b0d9e0678ee37155f06a">nav_set_selected()</a>, <a class="el" href="mod_2network_8php.html#a43f2f29b90c5e29072c561934bc8f8b4">network_content()</a>, <a class="el" href="mod_2network_8php.html#a180fce90ad11d7e0e45be094da7149ec">network_init()</a>, <a class="el" href="include_2follow_8php.html#ae387d4ae097c23d69f3247e7f08140c7">new_contact()</a>, <a class="el" href="boot_8php.html#a9255af5ae9c887520091ea04763c1a88">notice()</a>, <a class="el" href="enotify_8php.html#a3e9a9355b243777c488d2a9883908dfc">notification()</a>, <a class="el" href="notifications_8php.html#aadd0b5525bd8c283a5d8a37982bbfe62">notifications_content()</a>, <a class="el" href="notifications_8php.html#a5baffec7b2e625c9f9cefbc097550d33">notifications_post()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="mod_2notify_8php.html#acdf3851688ebd6d6a575eb84ef9febe3">notify_content()</a>, <a class="el" href="mod_2notify_8php.html#a94f9a6a9d4b5fd704baafff0c34f41ae">notify_init()</a>, <a class="el" href="include_2oembed_8php.html#a98549b9af8140eda3eceaeedcaabc2c2">oembed_fetch_url()</a>, <a class="el" href="include_2oembed_8php.html#a26bb4c1e330d2f94ea7b6ce2fe970cf3">oembed_format_object()</a>, <a class="el" href="oexchange_8php.html#a2d8b785cd7d041a4e6274f5af370cf26">oexchange_content()</a>, <a class="el" href="oexchange_8php.html#ac8e2e469ddc3db984b0c1b44558aca59">oexchange_init()</a>, <a class="el" href="onedirsync_8php.html#a411aedd47c57476099647961e6a86691">onedirsync_run()</a>, <a class="el" href="onepoll_8php.html#a72753b2fdec79b37c7f432035c91fb6d">onepoll_run()</a>, <a class="el" href="openid_8php.html#a9a13827dbcf61ae4e45f0b6b33a88f43">openid_content()</a>, <a class="el" href="opensearch_8php.html#ad13034877a496565ac7d99e9fc6f55e9">opensearch_init()</a>, <a class="el" href="p_8php.html#af9d5530ca0b3dc9409cf591c39e2480e">p_init()</a>, <a class="el" href="page_8php.html#a91a5f649f68406149108bded1dc90b22">page_content()</a>, <a class="el" href="page_8php.html#a4d89800c0366a239191b1692c09635cf">page_init()</a>, <a class="el" href="text_8php.html#afe9f178d264d44a94dc1292aaf0fd585">paginate()</a>, <a class="el" href="photo_8php.html#a582779d24882b0d31ee909a91d70a448">photo_init()</a>, <a class="el" href="mod_2photos_8php.html#aa87382611a66ec5effdb2d78f13f5812">photos_content()</a>, <a class="el" href="mod_2photos_8php.html#ab950295cd77626f5fe65331a87693014">photos_init()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="ping_8php.html#a77217b1b190b4c5d8770867b45f0c0a1">ping_init()</a>, <a class="el" href="poco_8php.html#a53def16f75e3d41f1d2bb7cfa4905498">poco_init()</a>, <a class="el" href="socgraph_8php.html#a5ef8bef37161df53718a21e93d02fbd6">poco_load()</a>, <a class="el" href="poke_8php.html#a9725aab97b3983e6a98bd81c4efe7d3b">poke_init()</a>, <a class="el" href="poller_8php.html#a5f12df3a4738124b6c039971e87e76da">poller_run()</a>, <a class="el" href="language_8php.html#a78bd204955ec4cc3a9ac651285a1689d">pop_lang()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="text_8php.html#ac19d2b33a58372a357a43d51eed19162">preg_heart()</a>, <a class="el" href="mod_2probe_8php.html#a1f1db3fa6038e451e737964c94bf5e99">probe_content()</a>, <a class="el" href="boot_8php.html#ab346a2ece14993861f3e4206befa94f0">proc_run()</a>, <a class="el" href="activities_8php.html#a80134e807719b3c54aba971958d2e132">profile_activity()</a>, <a class="el" href="profile_8php.html#a3775cf6eef6587e5143133356a7b76c0">profile_content()</a>, <a class="el" href="identity_8php.html#ad4a2c8caca8f6ae93633ebeca0ed6620">profile_create_sidebar()</a>, <a class="el" href="profile_8php.html#ab5d0246be0552e2182a585c1206d22a5">profile_init()</a>, <a class="el" href="identity_8php.html#a4751b522ea913d0e7ed43e03d22e9e68">profile_load()</a>, <a class="el" href="profile__photo_8php.html#a140631c56438fbfacb61a1eb43067d02">profile_photo_init()</a>, <a class="el" href="profile__photo_8php.html#a4b80234074bd603221aa5364f330e479">profile_photo_post()</a>, <a class="el" href="identity_8php.html#a432259b2cf5b6f59be53e71db9f2c7dc">profile_sidebar()</a>, <a class="el" href="profiles_8php.html#a46975783b8b8d70402d51487eb1f0b00">profiles_content()</a>, <a class="el" href="profiles_8php.html#a36f71405ad536228f8bb84a551b23f7e">profiles_init()</a>, <a class="el" href="profiles_8php.html#ab0362c81b1d3b0b12a772b9fac446e04">profiles_post()</a>, <a class="el" href="profperm_8php.html#a17fb64ec05edee1dc94d95438807d6c6">profperm_init()</a>, <a class="el" href="language_8php.html#ac9142ef1d01a235c760deb0f16643f5a">push_lang()</a>, <a class="el" href="queue_8php.html#af8c93de86d866c3200174c8450a0f341">queue_run()</a>, <a class="el" href="randprof_8php.html#abf5dba3c608b9304cbf68327cd31b090">randprof_init()</a>, <a class="el" href="rbmark_8php.html#a43fec4960b50926251574762cc491f76">rbmark_content()</a>, <a class="el" href="rbmark_8php.html#ac5a66aa8599fa5dc702bae396d8d1f8c">rbmark_post()</a>, <a class="el" href="include_2api_8php.html#aafa82b65a9f879a1a1197cfe8aaf3898">red_item_new()</a>, <a class="el" href="view_2theme_2redbasic_2php_2config_8php.html#a8574a41fa9735ee391ba57ab24b93793">redbasic_form()</a>, <a class="el" href="register_8php.html#a0e91f57f111407ea8d3223a05022bb2a">register_content()</a>, <a class="el" href="regmod_8php.html#a7953df4e32e63946565e90cdd5d50409">regmod_content()</a>, <a class="el" href="regver_8php.html#ad2c5f644fd1b099abd7c715b7df6f50f">regver_content()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="removeaccount_8php.html#a516e7380b9e5796054aa8245f3509695">removeaccount_content()</a>, <a class="el" href="removeaccount_8php.html#a26a3325292e932c59793430ab737126a">removeaccount_post()</a>, <a class="el" href="removeme_8php.html#a065a589caa2aa84c60f7073a28f0ad9c">removeme_content()</a>, <a class="el" href="removeme_8php.html#a7be08738beca44bb98a79e01cdb2ee88">removeme_post()</a>, <a class="el" href="text_8php.html#a9c6ce4e12a4ac883c5e3f36fed6e1e09">replace_macros()</a>, <a class="el" href="rmagic_8php.html#a869de069d081b3c4e98b957d06bbf08f">rmagic_post()</a>, <a class="el" href="rpost_8php.html#a8190354d789000806d9879aea276728f">rpost_content()</a>, <a class="el" href="include_2network_8php.html#ae8d9c41a11000fb8667039fc71b4f73f">scale_external_images()</a>, <a class="el" href="include_2network_8php.html#a316f318167a039c89719afbd129a8f3c">scrape_feed()</a>, <a class="el" href="include_2network_8php.html#acb0bd7f5fe38ff1eaebeae3284525070">scrape_vcard()</a>, <a class="el" href="text_8php.html#a876e94892867019935b348b573299352">search()</a>, <a class="el" href="search__ac_8php.html#a14f90c83a3f2be095e9e2992a8d66138">search_ac_init()</a>, <a class="el" href="search_8php.html#ab2568591359edde5b483a6cd9a24b2cc">search_content()</a>, <a class="el" href="search_8php.html#acf19fd30f07f495781ca0d7a0a08b435">search_init()</a>, <a class="el" href="include_2message_8php.html#a751ffd6635022b2190f56154ee745752">send_message()</a>, <a class="el" href="account_8php.html#a030cec6793b909c439c0336ba39b1571">service_class_allows()</a>, <a class="el" href="account_8php.html#a905b54e10704b283ac64680a8abc0971">service_class_fetch()</a>, <a class="el" href="service__limits_8php.html#a653424aac63c5cd05ba70c3c77bf7f8a">service_limits_content()</a>, <a class="el" href="include_2config_8php.html#ad6da879e4fb5b37d1e161d4e9be5c32a">set_config()</a>, <a class="el" href="classConversation.html#a66f121ca4026246f86a732e5faa0682c">Conversation\set_mode()</a>, <a class="el" href="include_2config_8php.html#a61591371cb18764138655d67dc817ab2">set_pconfig()</a>, <a class="el" href="include_2config_8php.html#afe117b70f1bba2f6348d9300b601f86e">set_xconfig()</a>, <a class="el" href="settings_8php.html#a3a4cde287482fced008583f54ba2a722">settings_init()</a>, <a class="el" href="settings_8php.html#aa7ee94d88ac088edb04ccf3a26de3586">settings_post()</a>, <a class="el" href="setup_8php.html#a88247384a96e14516f474d7af6a465c1">setup_content()</a>, <a class="el" href="setup_8php.html#a13cf286774149a0a7bd8adb8179cec75">setup_post()</a>, <a class="el" href="share_8php.html#afeb26046bdd02567ecd29ab5f188b249">share_init()</a>, <a class="el" href="siteinfo_8php.html#a70c09bfb6dd1c86a125a35f62ed53656">siteinfo_content()</a>, <a class="el" href="siteinfo_8php.html#a3efbd0bd6564af19ec0a9ce0294e59d0">siteinfo_init()</a>, <a class="el" href="text_8php.html#a3d225b253bb9e0f2498c11647d927b0b">smilies()</a>, <a class="el" href="smilies_8php.html#ab43b1e9f33a700a830aff14c7b3a617f">smilies_content()</a>, <a class="el" href="sources_8php.html#ac73298ff162ce7b2de8dcaf3d3305b1e">sources_post()</a>, <a class="el" href="stumble_2php_2theme_8php.html#a71db9eff6289e0ee47771c37c01d6753">stumble_init()</a>, <a class="el" href="subthread_8php.html#a50368f3d825b77996030528e7fbfa3d3">subthread_content()</a>, <a class="el" href="suckerberg_2php_2theme_8php.html#a4104fce7d5fb71d15ed811978b628fc8">suckerberg_init()</a>, <a class="el" href="suggest_8php.html#a58748a8235d4523f8333847f3e42dd91">suggest_content()</a>, <a class="el" href="language_8php.html#ac6ae482ee54fa2764d5c2e77305aeb96">t()</a>, <a class="el" href="items_8php.html#ab1bce4261bcf75ad62753b498a144d17">tag_deliver()</a>, <a class="el" href="text_8php.html#ac2ff88e800f74b22e9cc091c10809c54">tag_sort_length()</a>, <a class="el" href="tagger_8php.html#a0e4a3eb177d1684553c547503d67161c">tagger_content()</a>, <a class="el" href="tagrm_8php.html#adfd4ea5b4d7fc6d9c9e042af5cd7d49a">tagrm_content()</a>, <a class="el" href="tagrm_8php.html#a1702f40aa53a2fa93deade1f609abe78">tagrm_post()</a>, <a class="el" href="taxonomy_8php.html#aaeded36bcc983b35d9205fe5b6c18c43">tags_sort()</a>, <a class="el" href="items_8php.html#a88c6cf7649ac836fbbed82a7a0315110">tgroup_check()</a>, <a class="el" href="view_2theme_2apw_2php_2config_8php.html#aa7d5739b72efef9822535b2b32d5364d">theme_content()</a>, <a class="el" href="plugin_8php.html#a65fedcffbe03562ef844cabee37d34e2">theme_include()</a>, <a class="el" href="thing_8php.html#a24a35f1e64029a67fdbea94a776ae04b">thing_content()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="datetime_8php.html#aa51b5a7ea4f931b23acbdfcea46e9865">timezone_cmp()</a>, <a class="el" href="toggle__mobile_8php.html#aca53ade8971802b45c31e722b22c6254">toggle_mobile_init()</a>, <a class="el" href="language_8php.html#a686bcafa6b0d5c86d37b38a1db5b6997">tt()</a>, <a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init()</a>, <a class="el" href="update__channel_8php.html#aca52a9da500f0db2f0a8666af5bc06ba">update_channel_content()</a>, <a class="el" href="update__display_8php.html#aa36ac524059e209d5d75a03c16206246">update_display_content()</a>, <a class="el" href="update__home_8php.html#a668340089acd150b830134476a647d05">update_home_content()</a>, <a class="el" href="update__network_8php.html#a8abf5b9f65af6a27ee2f9d7207ed1b41">update_network_content()</a>, <a class="el" href="update__search_8php.html#ace4c3a23fa7d6922399e27c297a6ba52">update_search_content()</a>, <a class="el" href="socgraph_8php.html#a790690bb1a1d02483fe31632a160144d">update_suggestions()</a>, <a class="el" href="account_8php.html#ac5c570a2d46446bad4dd2501e9c5a4b1">user_allow()</a>, <a class="el" href="account_8php.html#ad07be417ac7eda939768804106ddea3d">user_approve()</a>, <a class="el" href="Contact_8php.html#a6348a532c9d26cd1c9afbc9aa6aa8960">vcard_from_xchan()</a>, <a class="el" href="viewconnections_8php.html#ab6c4d983e97b3a8a879567ff76507776">viewconnections_content()</a>, <a class="el" href="viewconnections_8php.html#a00163d50b17568f7b0e48b1ca9ab7330">viewconnections_init()</a>, <a class="el" href="viewsrc_8php.html#a6eff3d0c1d7d14b335c4edb785cd60a4">viewsrc_content()</a>, <a class="el" href="vote_8php.html#a6aa67489bf458ca5e3206e46dac68596">vote_content()</a>, <a class="el" href="vote_8php.html#ae0c6610f40afbbc1f4fe6494c51fbab2">vote_init()</a>, <a class="el" href="vote_8php.html#a57a9516ee1b923b224e66dcc47377fb2">vote_post()</a>, <a class="el" href="wall__upload_8php.html#a7cbe204244cf9e0380ee932263a74d8f">wall_upload_post()</a>, <a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content()</a>, <a class="el" href="webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7">webpages_init()</a>, <a class="el" href="wfinger_8php.html#ae21e50c8d0a5f3c9be9f43a4e519acd3">wfinger_init()</a>, <a class="el" href="setup_8php.html#aea1ebdda58ec938f4e7b31aa5c5f6b58">what_next()</a>, <a class="el" href="widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65">widget_archive()</a>, <a class="el" href="widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5">widget_catcloud_wall()</a>, <a class="el" href="widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b">widget_categories()</a>, <a class="el" href="widgets_8php.html#a47c72aac42058ea086c9ef8651c259da">widget_chatroom_list()</a>, <a class="el" href="widgets_8php.html#a145ff35319cfa47a9cc07f9425bd674b">widget_design_tools()</a>, <a class="el" href="widgets_8php.html#a5ab3b64496e02cab56429978ad55f1c0">widget_filer()</a>, <a class="el" href="widgets_8php.html#ad1bf7aa69e8d100d95faba17c7bc91cd">widget_follow()</a>, <a class="el" href="widgets_8php.html#a70442dfa079312d9d5e5ee01be51a165">widget_fullprofile()</a>, <a class="el" href="widgets_8php.html#a313a8d10ab81c71357c12e67e4d7efd5">widget_item()</a>, <a class="el" href="widgets_8php.html#afa2e55a78f95667a6da082efac7fec74">widget_mailmenu()</a>, <a class="el" href="widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e">widget_photo_albums()</a>, <a class="el" href="widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923">widget_profile()</a>, <a class="el" href="widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8">widget_savedsearch()</a>, <a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu()</a>, <a class="el" href="widgets_8php.html#a6dbc227aac750774284ee39c45f0a200">widget_tagcloud()</a>, <a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall()</a>, <a class="el" href="xrd_8php.html#aee3cf087968e4a0ff3a87de16eb23270">xrd_init()</a>, <a class="el" href="include_2network_8php.html#aafd06c0a75402aefb06cfb9f9740fa37">z_fetch_url()</a>, <a class="el" href="boot_8php.html#aba208673515cbb8a55e5fa4a1da99fda">z_path()</a>, <a class="el" href="boot_8php.html#add517a0958ac684792c62142a3877f81">z_root()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="identity_8php.html#a680fbafc2db023c5b1309e0180e81315">zid_init()</a>, <a class="el" href="zotfeed_8php.html#a24dfc23d366e7f840cf2847d0c1c8eac">zotfeed_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
</div>
</div>
diff --git a/doc/html/typohelper_8php.html b/doc/html/typohelper_8php.html
index 6ebcfa512..c1cf8bdc9 100644
--- a/doc/html/typohelper_8php.html
+++ b/doc/html/typohelper_8php.html
@@ -130,7 +130,7 @@ Variables</h2></td></tr>
<b>Initial value:</b><div class="fragment"><div class="line">= &lt;&lt;&lt; <a class="code" href="typohelper_8php.html#ab6fd357fb5b2a3ba8aab9e8b98c6a805">EOT</a></div>
<div class="line"> error_reporting(E_ERROR | E_WARNING | E_PARSE )</div>
</div><!-- fragment -->
-<p>Referenced by <a class="el" href="include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25">api_date()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="dba__driver_8php.html#ab222aa1dbf9ea93b320f82028739127e">dbesc()</a>, <a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">dba_mysql\escape()</a>, <a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">dba_mysqli\escape()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="plugin_8php.html#af92789f559b89a380e49d303218aeeca">head_get_css()</a>, <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">head_get_js()</a>, <a class="el" href="plugin_8php.html#a67ca417634de2d0beffffc54aeb951ff">head_get_main_js()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#aa2d3caa2f27720762b5c729e07df40fb">list_post_dates()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, and <a class="el" href="text_8php.html#aaed4413ed8918838b517e3b2fafaea0d">xmlify()</a>.</p>
+<p>Referenced by <a class="el" href="include_2api_8php.html#aea2dda92a155f2843a0ca188d8dfdf25">api_date()</a>, <a class="el" href="setup_8php.html#a14d208682a88632290c895d20da6e7d6">check_php()</a>, <a class="el" href="text_8php.html#a0c65597bb4aed3a039eb795ff540e5e3">check_webbie()</a>, <a class="el" href="classdba__mysql.html#a99a7691ea6cb1300031fb6549379066e">dba_mysql\escape()</a>, <a class="el" href="classdba__mysqli.html#a27d6a748af7f80028801306e7ea33f64">dba_mysqli\escape()</a>, <a class="el" href="classdba__postgres.html#a7108eaaae7cc2fb236212041afc9ac0f">dba_postgres\escape()</a>, <a class="el" href="classdba__postgres.html#ab2e44e9f41d05e585afd873d18e8c127">dba_postgres\escape_identifier()</a>, <a class="el" href="classdba__postgres.html#a8d2c6d8c92fe6f074452876483dd17fc">dba_postgres\escapebin()</a>, <a class="el" href="items_8php.html#a8cda98925a4c5c2f6dade70d9586d79a">filter_insecure()</a>, <a class="el" href="plugin_8php.html#af92789f559b89a380e49d303218aeeca">head_get_css()</a>, <a class="el" href="plugin_8php.html#a65ab52cb1a7030d5190e247211bef2a1">head_get_js()</a>, <a class="el" href="plugin_8php.html#a67ca417634de2d0beffffc54aeb951ff">head_get_main_js()</a>, <a class="el" href="items_8php.html#acf0bf7c9d21ac84f32effb754f7ad484">item_store_update()</a>, <a class="el" href="items_8php.html#ab33fa9756aaa5f39a6104d57a62baf00">list_post_dates()</a>, <a class="el" href="setup_8php.html#ad2e0375a9ab87ebe6e78124ee125054a">load_database()</a>, <a class="el" href="include_2photos_8php.html#a7e7abc69872180697c5471dc69349afe">photos_album_get_db_idstr()</a>, <a class="el" href="mod_2photos_8php.html#a062bed4d04d14fee8a53f4c9be673080">photos_post()</a>, <a class="el" href="items_8php.html#ad2abb4644ff1f20fefbc80326fe01cf0">posted_dates()</a>, <a class="el" href="datetime_8php.html#a8ae8dc95ace7ac27fa5a1ecf42b78c82">relative_date()</a>, <a class="el" href="security_8php.html#a6126c77a1267e046ac59cf864613f011">stream_perms_api_uids()</a>, <a class="el" href="security_8php.html#a3ef2be6a7e4928e39d50059d6feb457c">stream_perms_xchans()</a>, <a class="el" href="thing_8php.html#a8be23b1d475ec3d9291999221c674c80">thing_init()</a>, <a class="el" href="po2php_8php.html#a4f3dc9b019d0cd1dc171c54c991ef334">trim_message()</a>, <a class="el" href="classdba__postgres.html#a677f850211975c9ab89602c67e2dcad9">dba_postgres\unescapebin()</a>, and <a class="el" href="text_8php.html#aaed4413ed8918838b517e3b2fafaea0d">xmlify()</a>.</p>
</div>
</div>
diff --git a/doc/html/uexport_8php.html b/doc/html/uexport_8php.html
index ac904249a..dc0265b2e 100644
--- a/doc/html/uexport_8php.html
+++ b/doc/html/uexport_8php.html
@@ -114,8 +114,26 @@ $(document).ready(function(){initNavTree('uexport_8php.html','');});
Functions</h2></td></tr>
<tr class="memitem:a118920137dedebe0581623a2e57e7b0d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uexport_8php.html#a118920137dedebe0581623a2e57e7b0d">uexport_init</a> (&amp;$a)</td></tr>
<tr class="separator:a118920137dedebe0581623a2e57e7b0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6f79d60916c01675c8cf663cb5fec84"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uexport_8php.html#ae6f79d60916c01675c8cf663cb5fec84">uexport_content</a> (&amp;$a)</td></tr>
+<tr class="separator:ae6f79d60916c01675c8cf663cb5fec84"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ae6f79d60916c01675c8cf663cb5fec84"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">uexport_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a118920137dedebe0581623a2e57e7b0d"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/uexport_8php.js b/doc/html/uexport_8php.js
index 05a236df8..ec8404f5c 100644
--- a/doc/html/uexport_8php.js
+++ b/doc/html/uexport_8php.js
@@ -1,4 +1,5 @@
var uexport_8php =
[
+ [ "uexport_content", "uexport_8php.html#ae6f79d60916c01675c8cf663cb5fec84", null ],
[ "uexport_init", "uexport_8php.html#a118920137dedebe0581623a2e57e7b0d", null ]
]; \ No newline at end of file
diff --git a/doc/html/update__home_8php.html b/doc/html/update__home_8php.html
new file mode 100644
index 000000000..ce5a5581e
--- /dev/null
+++ b/doc/html/update__home_8php.html
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Red Matrix: mod/update_home.php File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Red Matrix
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('update__home_8php.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">update_home.php File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a668340089acd150b830134476a647d05"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="update__home_8php.html#a668340089acd150b830134476a647d05">update_home_content</a> (&amp;$a)</td></tr>
+<tr class="separator:a668340089acd150b830134476a647d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a668340089acd150b830134476a647d05"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">update_home_content </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+
diff --git a/doc/html/update__home_8php.js b/doc/html/update__home_8php.js
new file mode 100644
index 000000000..eda951a37
--- /dev/null
+++ b/doc/html/update__home_8php.js
@@ -0,0 +1,4 @@
+var update__home_8php =
+[
+ [ "update_home_content", "update__home_8php.html#a668340089acd150b830134476a647d05", null ]
+]; \ No newline at end of file
diff --git a/doc/html/webpages_8php.html b/doc/html/webpages_8php.html
index 303ce4718..f82e10ed4 100644
--- a/doc/html/webpages_8php.html
+++ b/doc/html/webpages_8php.html
@@ -112,6 +112,8 @@ $(document).ready(function(){initNavTree('webpages_8php.html','');});
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
+<tr class="memitem:af9ad0b65eba79acead3fa32b43d888b7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7">webpages_init</a> (&amp;$a)</td></tr>
+<tr class="separator:af9ad0b65eba79acead3fa32b43d888b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3b7397d4abc153e3d2147740ee1a41d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d">webpages_content</a> (&amp;$a)</td></tr>
<tr class="separator:af3b7397d4abc153e3d2147740ee1a41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -132,6 +134,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="af9ad0b65eba79acead3fa32b43d888b7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">webpages_init </td>
+ <td>(</td>
+ <td class="paramtype">&amp;&#160;</td>
+ <td class="paramname"><em>$a</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
</div><!-- contents -->
</div><!-- doc-content -->
diff --git a/doc/html/webpages_8php.js b/doc/html/webpages_8php.js
index 8e145305c..961f9a5e8 100644
--- a/doc/html/webpages_8php.js
+++ b/doc/html/webpages_8php.js
@@ -1,4 +1,5 @@
var webpages_8php =
[
- [ "webpages_content", "webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d", null ]
+ [ "webpages_content", "webpages_8php.html#af3b7397d4abc153e3d2147740ee1a41d", null ],
+ [ "webpages_init", "webpages_8php.html#af9ad0b65eba79acead3fa32b43d888b7", null ]
]; \ No newline at end of file
diff --git a/doc/html/widgets_8php.html b/doc/html/widgets_8php.html
index 0d3e55b22..03fd52903 100644
--- a/doc/html/widgets_8php.html
+++ b/doc/html/widgets_8php.html
@@ -109,6 +109,9 @@ $(document).ready(function(){initNavTree('widgets_8php.html','');});
<div class="title">widgets.php File Reference</div> </div>
</div><!--header-->
<div class="contents">
+
+<p>This file contains the widgets.
+<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
@@ -138,6 +141,8 @@ Functions</h2></td></tr>
<tr class="separator:af37fdad3b2e861d860a4a8c4d8a76c0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4ced69d83dbdd9e6b51660d9eba8653"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#ae4ced69d83dbdd9e6b51660d9eba8653">widget_tagcloud_wall</a> ($arr)</td></tr>
<tr class="separator:ae4ced69d83dbdd9e6b51660d9eba8653"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af919de8e7e2ba8192a65fadc72a2c8b5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5">widget_catcloud_wall</a> ($arr)</td></tr>
+<tr class="separator:af919de8e7e2ba8192a65fadc72a2c8b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add9b24d3304e529a7975e96122315554"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#add9b24d3304e529a7975e96122315554">widget_affinity</a> ($arr)</td></tr>
<tr class="separator:add9b24d3304e529a7975e96122315554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa73bcf1702eaadd9dcd253502f55e01"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01">widget_settings_menu</a> ($arr)</td></tr>
@@ -172,8 +177,14 @@ Functions</h2></td></tr>
<tr class="separator:a9d60539db68042e63c0015abd69a6f7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a999ba893cac7600d3d3b4e7e14cf8c20"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20">widget_photo</a> ($arr)</td></tr>
<tr class="separator:a999ba893cac7600d3d3b4e7e14cf8c20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af8eb466ef91d9e96e13335ead5eba380"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380">widget_photo_rand</a> ($arr)</td></tr>
+<tr class="separator:af8eb466ef91d9e96e13335ead5eba380"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a829c5a5c7448129266fc1df3ae1a3c2e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e">widget_random_block</a> ($arr)</td></tr>
+<tr class="separator:a829c5a5c7448129266fc1df3ae1a3c2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
-<h2 class="groupheader">Function Documentation</h2>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This file contains the widgets. </p>
+</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="add9b24d3304e529a7975e96122315554"></a>
<div class="memitem">
<div class="memproto">
@@ -238,6 +249,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="af919de8e7e2ba8192a65fadc72a2c8b5"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_catcloud_wall </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="af37fdad3b2e861d860a4a8c4d8a76c0b"></a>
<div class="memitem">
<div class="memproto">
@@ -333,7 +360,6 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
-<p>The following directory widgets are only useful on the directory page </p>
</div>
</div>
@@ -536,6 +562,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="af8eb466ef91d9e96e13335ead5eba380"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_photo_rand </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="abd2e508a2a0b911c4a838e3cb7599923"></a>
<div class="memitem">
<div class="memproto">
@@ -554,6 +596,22 @@ Functions</h2></td></tr>
</div>
</div>
+<a class="anchor" id="a829c5a5c7448129266fc1df3ae1a3c2e"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">widget_random_block </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$arr</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
<a class="anchor" id="a94203eb9bcd63cbdecbbcb15163598d8"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/widgets_8php.js b/doc/html/widgets_8php.js
index 69c9d267d..f78b49912 100644
--- a/doc/html/widgets_8php.js
+++ b/doc/html/widgets_8php.js
@@ -4,6 +4,7 @@ var widgets_8php =
[ "widget_appselect", "widgets_8php.html#aced5cb177f630b30799c5eab873ee75c", null ],
[ "widget_archive", "widgets_8php.html#a7b1e357b5a2027718470b77ec921fc65", null ],
[ "widget_bookmarkedchats", "widgets_8php.html#a0e2f5179ed1a73b282dfda7270fcabb3", null ],
+ [ "widget_catcloud_wall", "widgets_8php.html#af919de8e7e2ba8192a65fadc72a2c8b5", null ],
[ "widget_categories", "widgets_8php.html#af37fdad3b2e861d860a4a8c4d8a76c0b", null ],
[ "widget_chatroom_list", "widgets_8php.html#a47c72aac42058ea086c9ef8651c259da", null ],
[ "widget_clock", "widgets_8php.html#a9d60539db68042e63c0015abd69a6f7a", null ],
@@ -22,7 +23,9 @@ var widgets_8php =
[ "widget_notes", "widgets_8php.html#a45ea061dabe9a8372e4ca3b9e5714256", null ],
[ "widget_photo", "widgets_8php.html#a999ba893cac7600d3d3b4e7e14cf8c20", null ],
[ "widget_photo_albums", "widgets_8php.html#a702e2fc0adc9b615999eca18b7311b5e", null ],
+ [ "widget_photo_rand", "widgets_8php.html#af8eb466ef91d9e96e13335ead5eba380", null ],
[ "widget_profile", "widgets_8php.html#abd2e508a2a0b911c4a838e3cb7599923", null ],
+ [ "widget_random_block", "widgets_8php.html#a829c5a5c7448129266fc1df3ae1a3c2e", null ],
[ "widget_savedsearch", "widgets_8php.html#a94203eb9bcd63cbdecbbcb15163598d8", null ],
[ "widget_settings_menu", "widgets_8php.html#aaa73bcf1702eaadd9dcd253502f55e01", null ],
[ "widget_suggestedchats", "widgets_8php.html#a50b1410238100c8a94c06b0aa63ee3b8", null ],
diff --git a/doc/html/zot_8php.html b/doc/html/zot_8php.html
index 7ed79000c..9d79e4f17 100644
--- a/doc/html/zot_8php.html
+++ b/doc/html/zot_8php.html
@@ -118,8 +118,8 @@ Functions</h2></td></tr>
<tr class="separator:a0fc2211c5309d9f925ecc4115e3fdb75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7cec2b417b5858fd4a41070f843d1d7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ae7cec2b417b5858fd4a41070f843d1d7">zot_get_hublocs</a> ($hash)</td></tr>
<tr class="separator:ae7cec2b417b5858fd4a41070f843d1d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3862b3161b2c8557dc1a95020179bd81"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a3862b3161b2c8557dc1a95020179bd81">zot_build_packet</a> ($channel, $type= 'notify', $recipients=null, $remote_key=null, $secret=null)</td></tr>
-<tr class="separator:a3862b3161b2c8557dc1a95020179bd81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a084c581d534e7e3b759488b46602288f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a084c581d534e7e3b759488b46602288f">zot_build_packet</a> ($channel, $type= 'notify', $recipients=null, $remote_key=null, $secret=null, $extra=null)</td></tr>
+<tr class="separator:a084c581d534e7e3b759488b46602288f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3e9b99ddb11353f37f265a05bb42142"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ab3e9b99ddb11353f37f265a05bb42142">zot_zot</a> ($url, $data)</td></tr>
<tr class="separator:ab3e9b99ddb11353f37f265a05bb42142"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95528377d7303131958c9f0b7158fdce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a95528377d7303131958c9f0b7158fdce">zot_finger</a> ($webbie, $channel, $autofallback=true)</td></tr>
@@ -142,8 +142,8 @@ Functions</h2></td></tr>
<tr class="separator:a083aec6c900d244e1bfc1406f9461465"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a703f528ade8382cf374e4119bd6f7859"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips</a> ($msg)</td></tr>
<tr class="separator:a703f528ade8382cf374e4119bd6f7859"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4d9e6ca295e443b740d9960c304b3474"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery</a> ($sender, $arr, $deliveries, $relay, $public=false)</td></tr>
-<tr class="separator:a4d9e6ca295e443b740d9960c304b3474"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e3006e7a456b2175a9badc96bc5176d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery</a> ($sender, $arr, $deliveries, $relay, $public=false, $request=false)</td></tr>
+<tr class="separator:a0e3006e7a456b2175a9badc96bc5176d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad25a3fe0e1566121d6fb8222979bc10"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#aad25a3fe0e1566121d6fb8222979bc10">remove_community_tag</a> ($sender, $arr, $uid)</td></tr>
<tr class="separator:aad25a3fe0e1566121d6fb8222979bc10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31aad56acf8ff8f2353e6ff8595544df"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df">update_imported_item</a> ($sender, $item, $uid)</td></tr>
@@ -174,8 +174,10 @@ Functions</h2></td></tr>
<tr class="separator:ac301c67864917c35922257950ae0f95c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e22dbc6f884be3644a892a876cbd972"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a8e22dbc6f884be3644a892a876cbd972">get_rpost_path</a> ($observer)</td></tr>
<tr class="separator:a8e22dbc6f884be3644a892a876cbd972"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad149f1e98c0c5b88ff9147e6ee3f330d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot</a> ($<a class="el" href="boot_8php.html#a01353c9abebc3544ea080ac161729632">x</a>)</td></tr>
+<tr class="memitem:ad149f1e98c0c5b88ff9147e6ee3f330d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot</a> ($<a class="el" href="boot_8php.html#ae97836b0547953be182a2334c9c91d3c">x</a>)</td></tr>
<tr class="separator:ad149f1e98c0c5b88ff9147e6ee3f330d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3920afe14fc1d82020161b4b86bcd9ac"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request</a> ($data)</td></tr>
+<tr class="separator:a3920afe14fc1d82020161b4b86bcd9ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a703f528ade8382cf374e4119bd6f7859"></a>
@@ -261,7 +263,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>.</p>
</div>
</div>
@@ -473,7 +475,7 @@ Functions</h2></td></tr>
<p>function make_xchan_hash($guid,$guid_sig)</p>
<p>Generates a portable hash identifier for the channel identified by $guid and signed with $guid_sig This ID is portable across the network but MUST be calculated locally by verifying the signature and can not be trusted as an identity. </p>
-<p>Referenced by <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#a703f528ade8382cf374e4119bd6f7859">allowed_public_recips()</a>, <a class="el" href="identity_8php.html#a345f4c943d84de502ec6e72d2c813945">create_identity()</a>, <a class="el" href="items_8php.html#a536d0313b6ffe33b9d2490c4e25c5361">get_item_elements()</a>, <a class="el" href="zot_8php.html#ad149f1e98c0c5b88ff9147e6ee3f330d">import_author_zot()</a>, <a class="el" href="zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315">import_xchan()</a>, <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>, <a class="el" href="zfinger_8php.html#a8139b83a22ef98869adc10aa224027a0">zfinger_init()</a>, <a class="el" href="zot_8php.html#aeea071f17e306fe3d0c488551906bfab">zot_import()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, and <a class="el" href="zot_8php.html#a5bcdfef419b16075a0eca990956223dc">zot_register_hub()</a>.</p>
</div>
</div>
@@ -511,7 +513,7 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a4d9e6ca295e443b740d9960c304b3474"></a>
+<a class="anchor" id="a0e3006e7a456b2175a9badc96bc5176d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -543,7 +545,13 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$public</em> = <code>false</code>&#160;</td>
+ <td class="paramname"><em>$public</em> = <code>false</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$request</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -707,7 +715,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>.</p>
</div>
</div>
@@ -775,7 +783,7 @@ Functions</h2></td></tr>
</table>
</div><div class="memdoc">
-<p>Referenced by <a class="el" href="zot_8php.html#a4d9e6ca295e443b740d9960c304b3474">process_delivery()</a>.</p>
+<p>Referenced by <a class="el" href="zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d">process_delivery()</a>.</p>
</div>
</div>
@@ -819,7 +827,7 @@ Functions</h2></td></tr>
</div>
</div>
-<a class="anchor" id="a3862b3161b2c8557dc1a95020179bd81"></a>
+<a class="anchor" id="a084c581d534e7e3b759488b46602288f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@@ -851,7 +859,13 @@ Functions</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
- <td class="paramname"><em>$secret</em> = <code>null</code>&#160;</td>
+ <td class="paramname"><em>$secret</em> = <code>null</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$extra</em> = <code>null</code>&#160;</td>
</tr>
<tr>
<td></td>
@@ -873,7 +887,7 @@ Functions</h2></td></tr>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string json encoded zot packet </dd></dl>
-<p>Referenced by <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
+<p>Referenced by <a class="el" href="admin_8php.html#a60ba9783ad14545814919970bc3fb725">admin_page_hubloc_post()</a>, <a class="el" href="zot_8php.html#aa97b33b619dd7132a9274f852af6ceb5">build_sync_packet()</a>, <a class="el" href="include_2directory_8php.html#aa75d3b0697ca1456aaabdb37a74aa0f0">directory_run()</a>, <a class="el" href="notifier_8php.html#a568c502f626cff95e344c0748938b85d">notifier_run()</a>, <a class="el" href="post_8php.html#af4b48181ce773ef0cdfc972441445c34">post_init()</a>, <a class="el" href="zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac">zot_process_message_request()</a>, and <a class="el" href="zping_8php.html#a4d3a6b0b8b04ed6469015823e615ee75">zping_content()</a>.</p>
</div>
</div>
@@ -1091,6 +1105,27 @@ which will be processed and delivered before this function ultimately returns.
</div>
</div>
+<a class="anchor" id="a3920afe14fc1d82020161b4b86bcd9ac"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">zot_process_message_request </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$data</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>zot_process_message_request($data) If a site receives a comment to a post but finds they have no parent to attach it with, they may send a 'request' packet containing the message_id of the missing parent. This is the handler for that packet. We will create a message_list array of the entire conversation starting with the missing parent and invoke delivery to the sender of the packet.</p>
+<p><a class="el" href="deliver_8php.html">include/deliver.php</a> (for local delivery) and <a class="el" href="post_8php.html">mod/post.php</a> (for web delivery) detect the existence of this 'message_list' at the destination and split it into individual messages which are processed/delivered in order.</p>
+<p>Called from <a class="el" href="post_8php.html">mod/post.php</a> </p>
+
+<p>Referenced by <a class="el" href="post_8php.html#af59e6a1dc22d19d9257b01cd7ccedb75">post_post()</a>.</p>
+
+</div>
+</div>
<a class="anchor" id="a928f5643ca66ae9635d85aeb2be62e03"></a>
<div class="memitem">
<div class="memproto">
diff --git a/doc/html/zot_8php.js b/doc/html/zot_8php.js
index 2b888daf0..521de64be 100644
--- a/doc/html/zot_8php.js
+++ b/doc/html/zot_8php.js
@@ -11,7 +11,7 @@ var zot_8php =
[ "import_xchan", "zot_8php.html#a528e97ca5d69c3b7f35c5d954afde315", null ],
[ "make_xchan_hash", "zot_8php.html#a0fc2211c5309d9f925ecc4115e3fdb75", null ],
[ "process_channel_sync_delivery", "zot_8php.html#ac301c67864917c35922257950ae0f95c", null ],
- [ "process_delivery", "zot_8php.html#a4d9e6ca295e443b740d9960c304b3474", null ],
+ [ "process_delivery", "zot_8php.html#a0e3006e7a456b2175a9badc96bc5176d", null ],
[ "process_location_delivery", "zot_8php.html#a8eeefdb0dad4c436bea9d1c06c0a7988", null ],
[ "process_mail_delivery", "zot_8php.html#aa6ae96db8cbbdbb10e6876d206bbf7cc", null ],
[ "process_profile_delivery", "zot_8php.html#a9a57b40669351c9791126b925cb7ef3b", null ],
@@ -20,7 +20,7 @@ var zot_8php =
[ "sync_locations", "zot_8php.html#ab15c04e7e5f44edf45ec50dd7d183254", null ],
[ "update_imported_item", "zot_8php.html#a31aad56acf8ff8f2353e6ff8595544df", null ],
[ "update_modtime", "zot_8php.html#ab319d1d9fff9c7775d9daef42d1f33dd", null ],
- [ "zot_build_packet", "zot_8php.html#a3862b3161b2c8557dc1a95020179bd81", null ],
+ [ "zot_build_packet", "zot_8php.html#a084c581d534e7e3b759488b46602288f", null ],
[ "zot_encode_locations", "zot_8php.html#ae26ce9f1ad74139193fb6319beac5fca", null ],
[ "zot_fetch", "zot_8php.html#a61cdc1ec843663c423ed2d8160ae5aea", null ],
[ "zot_finger", "zot_8php.html#a95528377d7303131958c9f0b7158fdce", null ],
@@ -28,6 +28,7 @@ var zot_8php =
[ "zot_gethub", "zot_8php.html#a55056e863a7860bc0cf922e78fcce073", null ],
[ "zot_import", "zot_8php.html#aeea071f17e306fe3d0c488551906bfab", null ],
[ "zot_new_uid", "zot_8php.html#ab22d67660702056bf3f4696dcebf5ce7", null ],
+ [ "zot_process_message_request", "zot_8php.html#a3920afe14fc1d82020161b4b86bcd9ac", null ],
[ "zot_process_response", "zot_8php.html#a928f5643ca66ae9635d85aeb2be62e03", null ],
[ "zot_refresh", "zot_8php.html#a7ac30ff51274bf0b6d3eade37972145c", null ],
[ "zot_register_hub", "zot_8php.html#a5bcdfef419b16075a0eca990956223dc", null ],
diff --git a/doc/intro_for_developers.bb b/doc/intro_for_developers.bb
index 50aedd0e2..b8a4e4eb5 100644
--- a/doc/intro_for_developers.bb
+++ b/doc/intro_for_developers.bb
@@ -20,6 +20,8 @@
[mod] Controller modules based on URL pathname (e.g. #^[url=http://sitename/foo]http://sitename/foo[/url] loads mod/foo.php)
+[mod/site/] site-specific mod overrides, excluded from git
+
[util] translation tools, main English string database and other miscellaneous utilities
[version.inc] contains current version (auto-updated via cron for the master repository and distributed via git)
diff --git a/doc/main.bb b/doc/main.bb
index 1ea844168..224e3f6b8 100644
--- a/doc/main.bb
+++ b/doc/main.bb
@@ -45,6 +45,7 @@ Zot is the great new communicaton protocol invented especially for the RedMatrix
[zrl=[baseurl]/help/faq_admins]FAQ For Admins[/zrl]
[size=large][b]Technical Documentation[/b][/size]
+[zrl=[baseurl]/help/history]RedMatrix history[/zrl]
[zrl=[baseurl]/help/Zot---A-High-Level-Overview]A high level overview of Zot[/zrl]
[zrl=[baseurl]/help/zot]An introduction to Zot[/zrl]
[zrl=[baseurl]/help/zot_structures]Zot Stuctures[/zrl]
@@ -52,6 +53,7 @@ Zot is the great new communicaton protocol invented especially for the RedMatrix
[zrl=[baseurl]/help/Creating-Templates]Creating Comanche Templates[/zrl]
[zrl=[baseurl]/help/Widgets]Core Widgets[/zrl]
[zrl=[baseurl]/help/plugins]Plugins[/zrl]
+[zrl=[baseurl]/help/doco]Contributing Documentation[/zrl]
[zrl=[baseurl]/help/DerivedTheme1]Creating Derivative Themes[/zrl]
[zrl=[baseurl]/help/schema_development]Schemas[/zrl]
[zrl=[baseurl]/help/Translations]Translations[/zrl]
@@ -63,6 +65,7 @@ Zot is the great new communicaton protocol invented especially for the RedMatrix
[zrl=[baseurl]/doc/html/]Code Reference (doxygen generated - sets cookies)[/zrl]
[zrl=[baseurl]/help/to_do_doco]To-Do list for the Red Documentation Project[/zrl]
[zrl=[baseurl]/help/to_do_code]To-Do list for Developers[/zrl]
+[zrl=[baseurl]/help/roadmap]Version 3 roadmap[/zrl]
[zrl=[baseurl]/help/git_for_non_developers]Git for Non-Developers[/zrl]
[zrl=[baseurl]/help/dev_beginner]Sep-for-step manual for beginning developers[/zrl]
@@ -76,7 +79,7 @@ Zot is the great new communicaton protocol invented especially for the RedMatrix
[url=https://zothub.com/channel/one]Development Channel[/url]
[url=[baseurl]/help/credits]RedMatrix Credits[/url]
-
+
[size=large][b]About This RedMatrix Hub[/b][/size]
-[zrl=[baseurl]/help/TermsOfService]Terms of Service For This Hub[/zrl]
+[zrl=[baseurl]/help/TermsOfService]Terms of Service For This Hub[/zrl]
[zrl=[baseurl]/siteinfo]Hub Information (/siteinfo)[/zrl]
diff --git a/doc/roadmap.bb b/doc/roadmap.bb
new file mode 100644
index 000000000..9ac51adf2
--- /dev/null
+++ b/doc/roadmap.bb
@@ -0,0 +1,49 @@
+
+
+Roadmap for Redmatrix V3
+
+
+Subscriptions and business models
+ Build enough into core(/addons) to generate income (or at least try and cover costs) out of the box
+
+Merge all uploads into common DAV interface
+ Separate photo albums from photos and turn them into file directories.
+ Upload everything direct to /store
+ If photo, generate thumbnails and image resources
+ Provide default upload folders with %y (and other?) macros for both photos and other file resources
+ Allow "media" (anything that we can generate a thumbnail for) in the Photos section (and show thumbnails in the Files section where possible)
+ Resolve the "every photo has an item" confusion, perhaps every file should also - but only if we can explain it and separate them conceptually.
+
+Migration tools
+ Friendica importer
+ Diaspora importer
+
+Poco reputation
+ Make it happen
+
+Webpage design UI improvements
+ If practical, separate "conversation" sub-themes from overall themes so one can choose different conversation and content layouts within a base theme.
+ Make webpage building easy, with point-n-click selectors to build PDLs
+ bring back WYSIWYG, which ideally requires a JS abstraction layer so we can use any editor and change it based on mimetype
+
+Social Networking Federation
+ Friendica native mode?
+ Pump.io?
+ Others?
+
+Lists
+ Create a list object to contain arbitrary things for system use
+ Create a list object to contain arbitrary things for personal use
+
+Events
+ Recurring events and participation (RSVP)
+
+Zot
+ Provide a way to sync web resources. This could be built on DAV except for preserving resource naming (guids) instead of filenames.
+
+API extensions
+ More, more, more.
+
+DNS abstraction for V3
+ Allow a channel to live in an arbitrary "DNS" namespace, for instance "mike@core.redmatrix". Use our directories and zot to find the actual DNS location via redirection. This could potentially allow hubs to be hidden behind tor or alt-roots and accessible only via the matrix.
+ \ No newline at end of file
diff --git a/doc/roles.md b/doc/roles.md
index 0d906b5b5..5d8d07113 100644
--- a/doc/roles.md
+++ b/doc/roles.md
@@ -63,6 +63,4 @@ A public forum which allows members to post files/photos/webpages.
Set all the privacy and permissions manually to suit your specific needs.
-
-
-
+#include doc/macros/main_footer.bb;
diff --git a/doc/sql_conventions.bb b/doc/sql_conventions.bb
new file mode 100644
index 000000000..88539ae19
--- /dev/null
+++ b/doc/sql_conventions.bb
@@ -0,0 +1,87 @@
+[h1]SQL Conventions[/h1]
+[b]Intro[/b]
+The following common SQL conventions appear throughout the code in many places. We use a simple DBA (DataBase Abstraction layer) to handle differences between databases. Please be sure to use only standards-compliant SQL.
+
+[b]Rule One[/b]
+Worth Repeating: Don't use non-standard SQL. This goes for addons as well. If you do use non-standard SQL, and the dba funcs are insufficient, do a if()/switch() or similar for all currently supported databases. Currently nothing red# does requires non-standard SQL.
+
+[b]Using a format string[/b]
+[li]Uses sprintf()
+To be written
+[code]// Example
+$r = q("SELECT * FROM profile WHERE uid = %d",
+ local_user()
+);
+[/code][/li]
+
+[b]Checking bit flags in a where clause[/b]
+[li]You must explicitly convert integers to booleans. The easiest way to do this is to compare to 0.
+[code]// Example
+$r = q("SELECT abook_id, abook_flags, abook_my_perms, abook_their_perms, xchan_hash, xchan_photo_m, xchan_name, xchan_url from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d)>0 ",
+ intval($uid),
+ intval(ABOOK_FLAG_SELF)
+);
+[/code]
+[/li]
+[li]Turning off a flag
+[code]$y = q("update xchan set xchan_flags = (xchan_flags & ~%d) where (xchan_flags & %d)>0 and xchan_hash = '%s'",
+ intval(XCHAN_FLAGS_ORPHAN),
+ intval(XCHAN_FLAGS_ORPHAN),
+ dbesc($rr['hubloc_hash'])
+);[/code]
+[/li]
+[li]Turning on a flag
+[code]$y = q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s'",
+ intval(XCHAN_FLAGS_ORPHAN),
+ dbesc($rr['hubloc_hash'])
+);[/code]
+[/li]
+
+[b]Using relative times (INTERVALs)[/b]
+[li]Sometimes you want to compare something, like less than x days old.
+[code]// Example
+$r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
+ WHERE abook_dob > %s + interval %s and abook_dob < %s + interval %s",
+ db_utcnow(), db_quoteinterval('7 day'),
+ db_utcnow(), db_quoteinterval('14 day')
+);[/code]
+[/li]
+[b]Paged results[/b]
+[li]To be written
+[code]// Example
+$r = q("SELECT * FROM mail WHERE uid=%d AND $sql_extra ORDER BY created DESC LIMIT %d OFFSET %d",
+ intval(api_user()),
+ intval($count), intval($start)
+);[/code][/li]
+
+[b]NULL dates[/b]
+[li]To be written
+[code]Example[/code][/li]
+
+[b]Storing binary data[/b]
+[li]To be written
+[code]// Example
+$x = q("update photo set data = '%s', height = %d, width = %d where resource_id = '%s' and uid = %d and scale = 0",
+ dbescbin($ph->imageString()),
+ intval($height),
+ intval($width),
+ dbesc($resource_id),
+ intval($page_owner_uid)
+);[/code][/li]
+
+[b]Current timestamp[/b]
+[li][code]// Example
+$randfunc = db_getfunc('rand');
+$r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where hubloc_connected > %s - interval %s order by $randfunc limit 1",
+ db_utcnow(), db_quoteinterval('30 day')
+);[/code][/li]
+
+[b]SQL Function and Operator Abstraction[/b]
+[li]Sometimes the same function or operator has a different name/symbol in each database. You use db_getfunc('funcname') to look them up. The string is [i]not[/i] case-sensitive; do [i]not[/i] include parens.
+[code]// Example
+$randfunc = db_getfunc('rand');
+$r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where hubloc_connected > %s - interval %s order by $randfunc limit 1",
+ db_utcnow(), db_quoteinterval('30 day')
+);[/code][/li]
+
+#include doc/macros/main_footer.bb; \ No newline at end of file
diff --git a/doc/to_do_code.bb b/doc/to_do_code.bb
index 1ca1efecd..0dd0b8e24 100644
--- a/doc/to_do_code.bb
+++ b/doc/to_do_code.bb
@@ -4,6 +4,7 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Documentation - see Red Documentation Project To-Do List[/li]
[li]Include TOS link in registration/verification email[/li]
+[li]Create bug tracker module[/li]
[li]Finish the anti-spam bayesian engine[/li]
[li]implement an email permission denied bounce message from the sys channel[/li]
[li]finish Wordpress connector - import wordpress comments back to redmatrix[/li]
diff --git a/doc/to_do_doco.md b/doc/to_do_doco.md
index 6e4f17724..018b9efa2 100644
--- a/doc/to_do_doco.md
+++ b/doc/to_do_doco.md
@@ -27,3 +27,5 @@ For translating documentation, create a directory in */doc* named by the languag
* Administration Guide (post-install)
* Administration Guide (pre-install)
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/zot.md b/doc/zot.md
index f514fb3f8..54af44161 100644
--- a/doc/zot.md
+++ b/doc/zot.md
@@ -397,4 +397,4 @@ auth_check messages MUST be encrypted with AES256CBC. This message is sent to th
'confirm' in this case is the base64url encoded RSA signature of the concatenation of 'secret' with the base64url encoded whirlpool hash of the source guid and guid_sig; signed with the source channel private key. This prevents a man-in-the-middle from inserting a rogue success packet. Upon receipt and successful verification of this packet, the destination site will redirect to the original destination URL and indicate a successful remote login.
-Return to the [url=[baseurl]/help/main]Main documentation page[/url]
+#include doc/macros/main_footer.bb;
diff --git a/doc/zot_structures.md b/doc/zot_structures.md
index 44fc63c41..e8a65ff1f 100644
--- a/doc/zot_structures.md
+++ b/doc/zot_structures.md
@@ -59,5 +59,4 @@ secret is a 64-char string which is randomly generated by the sending site.
secret_sig is the RSA signature of the secret, signed with the sender's private key.
-
-
+#include doc/macros/main_footer.bb;
diff --git a/include/Contact.php b/include/Contact.php
index 20e5e1a1e..233798181 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -22,7 +22,7 @@ function rconnect_url($channel_id,$xchan) {
if(($r) && ($r[0]['xchan_follow']))
return $r[0]['xchan_follow'];
- $r = q("select hubloc_url from hubloc where hubloc_hash = '%s' and ( hubloc_flags & %d ) limit 1",
+ $r = q("select hubloc_url from hubloc where hubloc_hash = '%s' and ( hubloc_flags & %d )>0 limit 1",
dbesc($xchan),
intval(HUBLOC_FLAGS_PRIMARY)
);
@@ -35,7 +35,7 @@ function rconnect_url($channel_id,$xchan) {
function abook_connections($channel_id, $sql_conditions = '') {
$r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d
- and not ( abook_flags & %d ) $sql_conditions",
+ and not ( abook_flags & %d )>0 $sql_conditions",
intval($channel_id),
intval(ABOOK_FLAG_SELF)
);
@@ -44,7 +44,7 @@ function abook_connections($channel_id, $sql_conditions = '') {
function abook_self($channel_id) {
$r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d
- and ( abook_flags & %d ) limit 1",
+ and ( abook_flags & %d )>0 limit 1",
intval($channel_id),
intval(ABOOK_FLAG_SELF)
);
@@ -52,7 +52,7 @@ function abook_self($channel_id) {
}
function channelx_by_nick($nick) {
- $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_address = '%s' and not ( channel_pageflags & %d ) LIMIT 1",
+ $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_address = '%s' and not ( channel_pageflags & %d )>0 LIMIT 1",
dbesc($nick),
intval(PAGE_REMOVED)
);
@@ -60,7 +60,7 @@ function channelx_by_nick($nick) {
}
function channelx_by_hash($hash) {
- $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_hash = '%s' and not ( channel_pageflags & %d ) LIMIT 1",
+ $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_hash = '%s' and not ( channel_pageflags & %d )>0 LIMIT 1",
dbesc($hash),
intval(PAGE_REMOVED)
);
@@ -68,7 +68,7 @@ function channelx_by_hash($hash) {
}
function channelx_by_n($id) {
- $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_id = %d and not ( channel_pageflags & %d ) LIMIT 1",
+ $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_id = %d and not ( channel_pageflags & %d )>0 LIMIT 1",
dbesc($id),
intval(PAGE_REMOVED)
);
@@ -128,17 +128,19 @@ function vcard_from_xchan($xchan, $observer = null, $mode = '') {
function abook_toggle_flag($abook,$flag) {
- $r = q("UPDATE abook set abook_flags = (abook_flags ^ %d) where abook_id = %d and abook_channel = %d limit 1",
- intval($flag),
- intval($abook['abook_id']),
- intval($abook['abook_channel'])
+ $r = q("UPDATE abook set abook_flags = (abook_flags %s %d) where abook_id = %d and abook_channel = %d",
+ db_getfunc('^'),
+ intval($flag),
+ intval($abook['abook_id']),
+ intval($abook['abook_channel'])
);
+
// if unsetting the archive bit, update the timestamps so we'll try to connect for an additional 30 days.
if(($flag === ABOOK_FLAG_ARCHIVED) && ($abook['abook_flags'] & ABOOK_FLAG_ARCHIVED)) {
$r = q("update abook set abook_connected = '%s', abook_updated = '%s'
- where abook_id = %d and abook_channel = %d limit 1",
+ where abook_id = %d and abook_channel = %d",
dbesc(datetime_convert()),
dbesc(datetime_convert()),
intval($abook['abook_id']),
@@ -173,7 +175,7 @@ function account_remove($account_id,$local = true,$unset_session=true) {
// Don't let anybody nuke the only admin account.
- $r = q("select account_id from account where (account_roles & %d)",
+ $r = q("select account_id from account where (account_roles & %d)>0",
intval(ACCOUNT_ROLE_ADMIN)
);
@@ -201,10 +203,11 @@ function account_remove($account_id,$local = true,$unset_session=true) {
}
}
- $r = q("delete from account where account_id = %d limit 1",
+ $r = q("delete from account where account_id = %d",
intval($account_id)
);
+
if ($unset_session) {
unset($_SESSION['authenticated']);
unset($_SESSION['uid']);
@@ -214,6 +217,28 @@ function account_remove($account_id,$local = true,$unset_session=true) {
return $r;
}
+// recursively delete a directory
+function rrmdir($path)
+{
+ if (is_dir($path) === true)
+ {
+ $files = array_diff(scandir($path), array('.', '..'));
+
+ foreach ($files as $file)
+ {
+ rrmdir(realpath($path) . '/' . $file);
+ }
+
+ return rmdir($path);
+ }
+
+ else if (is_file($path) === true)
+ {
+ return unlink($path);
+ }
+
+ return false;
+}
function channel_remove($channel_id, $local = true, $unset_session=true) {
@@ -239,7 +264,7 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
channel_r_photos = 0, channel_r_abook = 0, channel_w_stream = 0, channel_w_wall = 0, channel_w_tagwall = 0,
channel_w_comment = 0, channel_w_mail = 0, channel_w_photos = 0, channel_w_chat = 0, channel_a_delegate = 0,
channel_r_storage = 0, channel_w_storage = 0, channel_r_pages = 0, channel_w_pages = 0, channel_a_republish = 0
- where channel_id = %d limit 1",
+ where channel_id = %d",
dbesc(datetime_convert()),
intval(PAGE_REMOVED),
intval($channel_id)
@@ -275,12 +300,12 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
q("DELETE FROM `spam` WHERE `uid` = %d", intval($channel_id));
- q("delete from abook where abook_xchan = '%s' and (abook_flags & %d) limit 1",
+ q("delete from abook where abook_xchan = '%s' and (abook_flags & %d)>0",
dbesc($channel['channel_hash']),
dbesc(ABOOK_FLAG_SELF)
);
- $r = q("update channel set channel_deleted = '%s', channel_pageflags = (channel_pageflags | %d) where channel_id = %d limit 1",
+ $r = q("update channel set channel_deleted = '%s', channel_pageflags = (channel_pageflags | %d) where channel_id = %d",
dbesc(datetime_convert()),
intval(PAGE_REMOVED),
intval($channel_id)
@@ -296,7 +321,7 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
$hublocs = 0;
- $r = q("select hubloc_id from hubloc where hubloc_hash = '%s' and not (hubloc_flags & %d)",
+ $r = q("select hubloc_id from hubloc where hubloc_hash = '%s' and not (hubloc_flags & %d)>0",
dbesc($channel['channel_hash']),
intval(HUBLOC_FLAGS_DELETED)
);
@@ -309,6 +334,19 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
dbesc($channel['channel_hash'])
);
}
+
+ //remove from file system
+ $r = q("select channel_address from channel where channel_id = %d limit 1",
+ intval($channel_id)
+ );
+ if($r)
+ $channel_address = $r[0]['channel_address'] ;
+ if ($channel_address !== '') {
+ $f = 'store/' . $channel_address.'/';
+ logger ('delete '. $f);
+ if(is_dir($f))
+ @rrmdir($f);
+ }
proc_run('php','include/directory.php',$channel_id);
@@ -335,10 +373,11 @@ function mark_orphan_hubsxchans() {
if($dirmode == DIRECTORY_MODE_NORMAL)
return;
- $r = q("update hubloc set hubloc_status = (hubloc_status | %d) where not (hubloc_status & %d)
- and hubloc_network = 'zot' and hubloc_connected < utc_timestamp() - interval 36 day",
+ $r = q("update hubloc set hubloc_status = (hubloc_status | %d) where not (hubloc_status & %d)>0
+ and hubloc_network = 'zot' and hubloc_connected < %s - interval %s",
+ intval(HUBLOC_OFFLINE),
intval(HUBLOC_OFFLINE),
- intval(HUBLOC_OFFLINE)
+ db_utcnow(), db_quoteinterval('36 day')
);
// $realm = get_directory_realm();
@@ -354,7 +393,7 @@ function mark_orphan_hubsxchans() {
// }
- $r = q("select hubloc_id, hubloc_hash from hubloc where (hubloc_status & %d) and not (hubloc_flags & %d)",
+ $r = q("select hubloc_id, hubloc_hash from hubloc where (hubloc_status & %d)>0 and not (hubloc_flags & %d)>0",
intval(HUBLOC_OFFLINE),
intval(HUBLOC_FLAGS_ORPHANCHECK)
);
@@ -364,7 +403,7 @@ function mark_orphan_hubsxchans() {
// see if any other hublocs are still alive for this channel
- $x = q("select * from hubloc where hubloc_hash = '%s' and not (hubloc_status & %d)",
+ $x = q("select * from hubloc where hubloc_hash = '%s' and not (hubloc_status & %d)>0",
dbesc($rr['hubloc_hash']),
intval(HUBLOC_OFFLINE)
);
@@ -372,7 +411,7 @@ function mark_orphan_hubsxchans() {
// yes - if the xchan was marked as an orphan, undo it
- $y = q("update xchan set xchan_flags = (xchan_flags ^ %d) where (xchan_flags & %d) and xchan_hash = '%s' limit 1",
+ $y = q("update xchan set xchan_flags = (xchan_flags & ~%d) where (xchan_flags & %d)>0 and xchan_hash = '%s'",
intval(XCHAN_FLAGS_ORPHAN),
intval(XCHAN_FLAGS_ORPHAN),
dbesc($rr['hubloc_hash'])
@@ -383,7 +422,7 @@ function mark_orphan_hubsxchans() {
// nope - mark the xchan as an orphan
- $y = q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s' limit 1",
+ $y = q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s'",
intval(XCHAN_FLAGS_ORPHAN),
dbesc($rr['hubloc_hash'])
);
@@ -391,7 +430,7 @@ function mark_orphan_hubsxchans() {
// mark that we've checked this entry so we don't need to do it again
- $y = q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_id = %d limit 1",
+ $y = q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_id = %d",
intval(HUBLOC_FLAGS_ORPHANCHECK),
dbesc($rr['hubloc_id'])
);
@@ -449,7 +488,7 @@ function remove_all_xchan_resources($xchan, $channel_id = 0) {
if($dirmode === false || $dirmode == DIRECTORY_MODE_NORMAL) {
- $r = q("delete from xchan where xchan_hash = '%s' limit 1",
+ $r = q("delete from xchan where xchan_hash = '%s'",
dbesc($xchan)
);
$r = q("delete from hubloc where hubloc_hash = '%s'",
@@ -482,7 +521,7 @@ function contact_remove($channel_id, $abook_id) {
$archive = get_pconfig($channel_id, 'system','archive_removed_contacts');
if($archive) {
- q("update abook set abook_flags = ( abook_flags | %d ) where abook_id = %d and abook_channel = %d limit 1",
+ q("update abook set abook_flags = ( abook_flags | %d ) where abook_id = %d and abook_channel = %d",
intval(ABOOK_FLAG_ARCHIVED),
intval($abook_id),
intval($channel_id)
@@ -514,7 +553,7 @@ function contact_remove($channel_id, $abook_id) {
}
}
- q("delete from abook where abook_id = %d and abook_channel = %d limit 1",
+ q("delete from abook where abook_id = %d and abook_channel = %d",
intval($abook['abook_id']),
intval($channel_id)
);
@@ -541,10 +580,31 @@ function contact_remove($channel_id, $abook_id) {
function random_profile() {
- $r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where hubloc_connected > UTC_TIMESTAMP() - interval 30 day order by rand() limit 1");
- if($r)
- return $r[0]['xchan_url'];
+ $randfunc = db_getfunc('rand');
+
+ $checkrandom = get_config('randprofile','check'); // False by default
+ $retryrandom = intval(get_config('randprofile','retry'));
+ if($retryrandom === false) $retryrandom = 5;
+
+ for($i = 0; $i < $retryrandom; $i++) {
+ $r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where hubloc_connected > %s - interval %s order by $randfunc limit 1",
+ db_utcnow(), db_quoteinterval('30 day')
+ );
+
+ if(!$r) return ''; // Couldn't get a random channel
+
+ if($checkrandom) {
+ $x = z_fetch_url($r[0]['xchan_url']);
+ if($x['success'])
+ return $r[0]['xchan_url'];
+ else
+ logger('Random channel turned out to be bad.');
+ }
+ else {
+ return $r[0]['xchan_url'];
+ }
+
+ }
return '';
}
-
diff --git a/include/Import/Importer.php b/include/Import/Importer.php
new file mode 100644
index 000000000..5e684cd8e
--- /dev/null
+++ b/include/Import/Importer.php
@@ -0,0 +1,82 @@
+<?php /** @file */
+
+namespace RedMatrix\Import;
+
+/**
+ * @brief Class Import
+ *
+ * @package RedMatrix\Import
+ */
+class Import {
+
+ private $credentials = null;
+
+ protected $itemlist = null;
+ protected $src_items = null;
+ protected $items = null;
+
+ function get_credentials() {
+ return $this->credentials;
+ }
+
+ function get_itemlist() {
+ return $this->itemlist;
+ }
+
+ function get_item_ident($item) {
+
+ }
+
+ function get_item($item_ident) {
+
+ }
+
+ function get_taxonomy($item_ident) {
+
+ }
+
+ function get_children($item_ident) {
+
+ }
+
+ function convert_item($item_ident) {
+
+ }
+
+ function convert_taxonomy($item_ident) {
+
+ }
+
+ function convert_child($child) {
+
+ }
+
+ function store($item, $update = false) {
+
+ }
+
+ function run() {
+ $this->credentials = $this->get_credentials();
+ $this->itemlist = $this->get_itemlist();
+ if($this->itemlist) {
+ $this->src_items = array();
+ $this->items = array();
+ $cnt = 0;
+ foreach($this->itemlist as $item) {
+ $ident = $item->get_item_ident($item);
+ $this->src_items[$ident]['item'] = $this->get_item($ident);
+ $this->src_items[$ident]['taxonomy'] = $this->get_taxonomy($ident);
+ $this->src_items[$ident]['children'] = $this->get_children($ident);
+ $this->items[$cnt]['item'] = $this->convert_item($ident);
+ $this->items[$cnt]['item']['term'] = $this->convert_taxonomy($ident);
+ if($this->src_items[$ident]['children']) {
+ $this->items[$cnt]['children'] = array();
+ foreach($this->src_items[$ident]['children'] as $child) {
+ $this[$cnt]['children'][] = $this->convert_child($child);
+ }
+ }
+ $cnt ++;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/include/Import/refimport.php b/include/Import/refimport.php
new file mode 100644
index 000000000..181b2b398
--- /dev/null
+++ b/include/Import/refimport.php
@@ -0,0 +1,280 @@
+<?php
+
+require_once('include/html2bbcode.php');
+require_once('include/hubloc.php');
+
+// Sample module for importing conversation data from Reflection CMS. Some preparation was used to
+// dump relevant posts, categories and comments into individual JSON files, and also JSON dump of
+// the user table to search for avatars. Importation was also batched in sets of 20 posts per page
+// visit so as to survive shared hosting process limits. This provides some clues as how to handle
+// WordPress imports, which use a somewhat similar DB structure. The batching and individual files
+// might not be needed in VPS environments. As such this could be considered an extreme test case, but
+// the importation was successful in all regards using this code. The module URL was visited repeatedly
+// with a browser until all the posts had been imported.
+
+
+define('REDMATRIX_IMPORTCHANNEL','mike');
+define('REFLECT_EXPORTUSERNAME','mike');
+define('REFLECT_BLOGNAME','Diary and Other Rantings');
+define('REFLECT_BASEURL','http://example.com/');
+define('REFLECT_USERFILE','user.json');
+
+// set to true if you need to process everything again
+define('REFLECT_OVERWRITE',false);
+
+// we'll only process a small number of posts at a time on a shared host.
+
+define('REFLECT_MAXPERRUN',30);
+
+function reflect_get_channel() {
+
+ // this will be the channel_address or nickname of the red channel
+
+ $c = q("select * from channel left join xchan on channel_hash = xchan_hash
+ where channel_address = '%s' limit 1",
+ dbesc(REDMATRIX_IMPORTCHANNEL)
+ );
+ return $c[0];
+}
+
+
+function refimport_content(&$a) {
+
+ $channel = reflect_get_channel();
+
+ // load the user file. We need that to find the commenter's avatars
+
+ $u = file_get_contents(REFLECT_USERFILE);
+ if($u) {
+ $users = json_decode($u,true);
+ }
+
+ $ignored = 0;
+ $processed = 0;
+
+ $files = glob('article/*');
+ if(! $files)
+ return;
+
+ foreach($files as $f) {
+ $s = file_get_contents($f);
+ $j = json_decode($s,true);
+
+ if(! $j)
+ continue;
+
+ $arr = array();
+
+ // see if this article was already processed
+ $r = q("select * from item where mid = '%s' and uid = %d limit 1",
+ dbesc($j['guid']),
+ intval($channel['channel_id'])
+ );
+ if($r) {
+ if(REFLECT_OVERWRITE)
+ $arr['id'] = $r[0]['id'];
+ else {
+ $ignored ++;
+ rename($f,str_replace('article','done',$f));
+ continue;
+ }
+ }
+
+ $arr['uid'] = $channel['channel_account_id'];
+ $arr['aid'] = $channel['channel_id'];
+ $arr['mid'] = $arr['parent_mid'] = $j['guid'];
+ $arr['created'] = $j['created'];
+ $arr['edited'] = $j['edited'];
+ $arr['author_xchan'] = $channel['channel_hash'];
+ $arr['owner_xchan'] = $channel['channel_hash'];
+ $arr['app'] = REFLECT_BLOGNAME;
+ $arr['item_flags'] = ITEM_ORIGIN|ITEM_WALL|ITEM_THREAD_TOP;
+ $arr['verb'] = ACTIVITY_POST;
+
+ // this is an assumption
+ $arr['comment_policy'] = 'contacts';
+
+
+ // import content. In this case the content is XHTML.
+
+ $arr['title'] = html2bbcode($j['title']);
+ $arr['title'] = htmlspecialchars($arr['title'],ENT_COMPAT,'UTF-8',false);
+
+
+ $arr['body'] = html2bbcode($j['body']);
+ $arr['body'] = htmlspecialchars($arr['body'],ENT_COMPAT,'UTF-8',false);
+
+
+ // convert relative urls to other posts on that service to absolute url on our service.
+ $arr['body'] = preg_replace_callback("/\[url\=\/+article\/(.*?)\](.*?)\[url\]/",'reflect_article_callback',$arr['body']);
+
+ // also import any photos
+ $arr['body'] = preg_replace_callback("/\[img(.*?)\](.*?)\[\/img\]/",'reflect_photo_callback',$arr['body']);
+
+
+ // add categories
+
+ if($j['taxonomy'] && is_array($j['taxonomy']) && count($j['taxonomy'])) {
+ $arr['term'] = array();
+ foreach($j['taxonomy'] as $tax) {
+ $arr['term'][] = array(
+ 'uid' => $channel['channel_id'],
+ 'type' => TERM_CATEGORY,
+ 'otype' => TERM_OBJ_POST,
+ 'term' => trim($tax['name']),
+ 'url' => $channel['xchan_url'] . '?f=&cat=' . urlencode(trim($tax['name']))
+ );
+ }
+ }
+
+ // store the item
+
+ if($arr['id'])
+ item_store_update($arr);
+ else
+ item_store($arr);
+
+ // if there are any comments, process them
+ // $comment['registered'] is somebody with an account on the system. Others are mostly anonymous
+
+ if($j['comments']) {
+ foreach($j['comments'] as $comment) {
+ $user = (($comment['registered']) ? reflect_find_user($users,$comment['author']) : null);
+ reflect_comment_store($channel,$arr,$comment,$user);
+ }
+ }
+ $processed ++;
+
+ if(REFLECT_MAXPERRUN && $processed > REFLECT_MAXPERRUN)
+ break;
+ }
+ return 'processed: ' . $processed . EOL . 'completed: ' . $ignored . EOL;
+
+}
+
+function reflect_article_callback($matches) {
+ return '[zrl=' . z_root() . '/display/'. $matches[1] . ']' . $matches[2] . '[/zrl]';
+}
+
+function reflect_photo_callback($matches) {
+
+ if(strpos($matches[2],'http') !== false)
+ return $matches[0];
+
+ $prefix = REFLECT_BASEURL;
+ $x = z_fetch_url($prefix.$matches[2],true);
+
+ $hash = basename($matches[2]);
+
+ if($x['success']) {
+ $channel = reflect_get_channel();
+ require_once('include/photos.php');
+ $p = photo_upload($channel,$channel,
+ array('data' => $x['body'],
+ 'resource_id' => str_replace('-','',$hash),
+ 'filename' => $hash . '.jpg',
+ 'type' => 'image/jpeg',
+ 'not_visible' => true
+ )
+ );
+
+ if($p['success'])
+ $newlink = $p['resource_id'] . '-0.jpg';
+
+
+ // import photo and locate the link for it.
+ return '[zmg]' . z_root() . '/photo/' . $newlink . '[/zmg]';
+
+ }
+ // no replacement. Leave it alone.
+ return $matches[0];
+}
+
+function reflect_find_user($users,$name) {
+ if($users) {
+ foreach($users as $x) {
+ if($x['name'] === $name) {
+ return $x;
+ }
+ }
+ }
+
+ return false;
+
+}
+
+function reflect_comment_store($channel,$post,$comment,$user) {
+
+ // if the commenter was the channel owner, use their redmatrix xchan
+
+ if($comment['author'] === REFLECT_EXPORTUSERNAME && $comment['registered'])
+ $hash = $channel['xchan_hash'];
+ else {
+ // we need a unique hash for the commenter. We don't know how many may have supplied
+ // http://yahoo.com as their URL, so we'll use their avatar guid if they have one.
+ // anonymous folks may get more than one xchan_hash if they commented more than once.
+
+ $hash = (($comment['registered'] && $user) ? $user['avatar'] : '');
+ if(! $hash)
+ $hash = random_string() . '.unknown';
+
+ // create an xchan for them which will also import their profile photo
+ // they will have a network type 'unknown'.
+
+ $x = array(
+ 'hash' => $hash,
+ 'guid' => $hash,
+ 'url' => (($comment['url']) ? $comment['url'] : z_root()),
+ 'photo' => (($user) ? REFLECT_BASEURL . $user['avatar'] : z_root() . '/' . get_default_profile_photo()),
+ 'name' => $comment['author']
+ );
+ xchan_store($x);
+
+ }
+
+ $arr = array();
+
+ $r = q("select * from item where mid = '%s' and uid = %d limit 1",
+ dbesc($comment['guid']),
+ intval($channel['channel_id'])
+ );
+ if($r) {
+ if(REFLECT_OVERWRITE)
+ $arr['id'] = $r[0]['id'];
+ else
+ return;
+ }
+
+ // this is a lot like storing the post except for subtle differences, like parent_mid, flags, author_xchan,
+ // and we don't have a comment edited field so use creation date
+
+ $arr['uid'] = $channel['channel_account_id'];
+ $arr['aid'] = $channel['channel_id'];
+ $arr['mid'] = $comment['guid'];
+ $arr['parent_mid'] = $post['mid'];
+ $arr['created'] = $comment['created'];
+ $arr['edited'] = $comment['created'];
+ $arr['author_xchan'] = $hash;
+ $arr['owner_xchan'] = $channel['channel_hash'];
+ $arr['item_flags'] = ITEM_ORIGIN|ITEM_WALL;
+ $arr['verb'] = ACTIVITY_POST;
+ $arr['comment_policy'] = 'contacts';
+
+
+ $arr['title'] = html2bbcode($comment['title']);
+ $arr['title'] = htmlspecialchars($arr['title'],ENT_COMPAT,'UTF-8',false);
+
+
+ $arr['body'] = html2bbcode($comment['body']);
+ $arr['body'] = htmlspecialchars($arr['body'],ENT_COMPAT,'UTF-8',false);
+ $arr['body'] = preg_replace_callback("/\[url\=\/+article\/(.*?)\](.*?)\[url\]/",'reflect_article_callback',$arr['body']);
+ $arr['body'] = preg_replace_callback("/\[img(.*?)\](.*?)\[\/img\]/",'reflect_photo_callback',$arr['body']);
+
+ // logger('comment: ' . print_r($arr,true));
+
+ if($arr['id'])
+ item_store_update($arr);
+ else
+ item_store($arr);
+
+}
diff --git a/include/ItemObject.php b/include/ItemObject.php
index 90c036def..ec8116297 100644
--- a/include/ItemObject.php
+++ b/include/ItemObject.php
@@ -28,6 +28,7 @@ class Item extends BaseObject {
private $threaded = false;
private $visiting = false;
private $channel = null;
+ private $display_mode = 'normal';
public function __construct($data) {
@@ -64,8 +65,6 @@ class Item extends BaseObject {
public function get_template_data($alike, $dlike, $thread_level=1) {
- $t1 = dba_timer();
-
$result = array();
$a = $this->get_app();
@@ -80,6 +79,7 @@ class Item extends BaseObject {
$indent = '';
$osparkle = '';
$total_children = $this->count_descendants();
+ $unseen_comments = (($item['real_uid']) ? 0 : $this->count_unseen_descendants());
$conv = $this->get_conversation();
$observer = $conv->get_observer();
@@ -88,7 +88,7 @@ class Item extends BaseObject {
|| strlen($item['deny_cid']) || strlen($item['deny_gid']))))
? t('Private Message')
: false);
- $shareable = ((($conv->get_profile_owner() == local_user()) && ($item['item_private'] != 1)) ? true : false);
+ $shareable = ((($conv->get_profile_owner() == local_user() && local_user()) && ($item['item_private'] != 1)) ? true : false);
// allow an exemption for sharing stuff from your private feeds
if($item['author']['xchan_network'] === 'rss')
@@ -228,15 +228,22 @@ class Item extends BaseObject {
if(strcmp(datetime_convert('UTC','UTC',$item['created']),datetime_convert('UTC','UTC','now - 12 hours')) > 0)
$indent .= ' shiny';
- $t2 = dba_timer();
localize_item($item);
-
- $t3 = dba_timer();
-
$body = prepare_body($item,true);
- $t4 = dba_timer();
+ // $viewthread (below) is only valid in list mode. If this is a channel page, build the thread viewing link
+ // since we can't depend on llink or plink pointing to the right local location.
+
+ $owner_address = substr($item['owner']['xchan_addr'],0,strpos($item['owner']['xchan_addr'],'@'));
+ $viewthread = $item['llink'];
+ if($conv->get_mode() === 'channel')
+ $viewthread = z_root() . '/channel/' . $owner_address . '?f=&mid=' . $item['mid'];
+
+ $comment_count_txt = sprintf( tt('%d comment','%d comments',$total_children),$total_children );
+ $list_unseen_txt = (($unseen_comments) ? sprintf('%d unseen',$unseen_comments) : '');
+
+ $children = $this->get_children();
$tmp_item = array(
'template' => $this->get_template(),
@@ -248,6 +255,8 @@ class Item extends BaseObject {
'id' => $this->get_id(),
'linktitle' => sprintf( t('View %s\'s profile - %s'), $profile_name, $item['author']['xchan_addr']),
'olinktitle' => sprintf( t('View %s\'s profile - %s'), $this->get_owner_name(), $item['owner']['xchan_addr']),
+ 'llink' => $item['llink'],
+ 'viewthread' => $viewthread,
'to' => t('to'),
'via' => t('via'),
'wall' => t('Wall-to-Wall'),
@@ -283,15 +292,21 @@ class Item extends BaseObject {
'share' => $share,
'rawmid' => $item['mid'],
'plink' => get_plink($item),
- 'edpost' => ((feature_enabled($conv->get_profile_owner(),'edit_posts')) ? $edpost : ''),
+ 'edpost' => $edpost, // ((feature_enabled($conv->get_profile_owner(),'edit_posts')) ? $edpost : ''),
'star' => ((feature_enabled($conv->get_profile_owner(),'star_posts')) ? $star : ''),
'tagger' => ((feature_enabled($conv->get_profile_owner(),'commtag')) ? $tagger : ''),
'filer' => ((feature_enabled($conv->get_profile_owner(),'filing')) ? $filer : ''),
- 'bookmark' => (($conv->get_profile_owner() == local_user() && $has_bookmarks) ? t('Save Bookmarks') : ''),
+ 'bookmark' => (($conv->get_profile_owner() == local_user() && local_user() && $has_bookmarks) ? t('Save Bookmarks') : ''),
'addtocal' => (($has_event) ? t('Add to Calendar') : ''),
'drop' => $drop,
'multidrop' => ((feature_enabled($conv->get_profile_owner(),'multi_delete')) ? $multidrop : ''),
// end toolbar buttons
+
+ 'unseen_comments' => $unseen_comments,
+ 'comment_count' => $total_children,
+ 'comment_count_txt' => $comment_count_txt,
+ 'list_unseen_txt' => $list_unseen_txt,
+ 'markseen' => t('Mark all seen'),
'like_count' => $like_count,
'like_list' => $like_list,
'like_list_part' => $like_list_part,
@@ -311,24 +326,22 @@ class Item extends BaseObject {
'thread_level' => $thread_level
);
- $t5 = dba_timer();
-
$arr = array('item' => $item, 'output' => $tmp_item);
call_hooks('display_item', $arr);
$result = $arr['output'];
$result['children'] = array();
- $children = $this->get_children();
$nb_children = count($children);
- if($nb_children > 0) {
+
+ if(($this->get_display_mode() === 'normal') && ($nb_children > 0)) {
foreach($children as $child) {
$result['children'][] = $child->get_template_data($alike, $dlike, $thread_level + 1);
}
// Collapse
if(($nb_children > 2) || ($thread_level > 1)) {
$result['children'][0]['comment_firstcollapsed'] = true;
- $result['children'][0]['num_comments'] = sprintf( tt('%d comment','%d comments',$total_children),$total_children );
+ $result['children'][0]['num_comments'] = $comment_count_txt;
$result['children'][0]['hide_text'] = t('[+] show all');
if($thread_level > 1) {
$result['children'][$nb_children - 1]['comment_lastcollapsed'] = true;
@@ -350,14 +363,6 @@ class Item extends BaseObject {
$result['flatten'] = true;
$result['threaded'] = false;
}
- $t6 = dba_timer();
-
-// profiler($t1,$t2,'t2');
-// profiler($t2,$t3,'t3');
-// profiler($t3,$t4,'t4');
-// profiler($t4,$t5,'t5');
-// profiler($t5,$t6,'t6');
-// profiler($t1,$t6,'item total');
return $result;
}
@@ -366,6 +371,14 @@ class Item extends BaseObject {
return $this->get_data_value('id');
}
+ public function get_display_mode() {
+ return $this->display_mode;
+ }
+
+ public function set_display_mode($mode) {
+ $this->display_mode = $mode;
+ }
+
public function is_threaded() {
return $this->threaded;
}
@@ -517,12 +530,12 @@ class Item extends BaseObject {
/**
* Get template
*/
- private function get_template() {
+ public function get_template() {
return $this->template;
}
- private function set_template($t) {
+ public function set_template($t) {
$this->template = $t;
}
@@ -547,6 +560,23 @@ class Item extends BaseObject {
return $total;
}
+ private function count_unseen_descendants() {
+ $children = $this->get_children();
+ $total = count($children);
+ if($total > 0) {
+ $total = 0;
+ foreach($children as $child) {
+ if((! visible_activity($child->data)) || array_key_exists('author_blocked',$child->data)) {
+ continue;
+ }
+ if($child->data['item_flags'] & ITEM_UNSEEN)
+ $total ++;
+ }
+ }
+ return $total;
+ }
+
+
/**
* Get the template for the comment box
*/
@@ -605,7 +635,7 @@ class Item extends BaseObject {
'$edimg' => t('Image'),
'$edurl' => t('Link'),
'$edvideo' => t('Video'),
- '$preview' => ((feature_enabled($conv->get_profile_owner(),'preview')) ? t('Preview') : ''),
+ '$preview' => t('Preview'), // ((feature_enabled($conv->get_profile_owner(),'preview')) ? t('Preview') : ''),
'$indent' => $indent,
'$feature_encrypt' => ((feature_enabled($conv->get_profile_owner(),'content_encrypt')) ? true : false),
'$encrypt' => t('Encrypt text'),
diff --git a/include/RedDAV/RedBasicAuth.php b/include/RedDAV/RedBasicAuth.php
index 2f86d4f82..19dd9a5f0 100644
--- a/include/RedDAV/RedBasicAuth.php
+++ b/include/RedDAV/RedBasicAuth.php
@@ -118,8 +118,11 @@ class RedBasicAuth extends DAV\Auth\Backend\AbstractBasic {
}
}
}
- logger('password failed for ' . $username);
- // @TODO add security logger
+
+ $error = 'password failed for ' . $username;
+ logger($error);
+ log_failed_login($error);
+
return false;
}
diff --git a/include/RedDAV/RedBrowser.php b/include/RedDAV/RedBrowser.php
index 21ea76aed..709f6339b 100644
--- a/include/RedDAV/RedBrowser.php
+++ b/include/RedDAV/RedBrowser.php
@@ -173,6 +173,7 @@ class RedBrowser extends DAV\Browser\Plugin {
$type = $this->escapeHTML($type);
$icon = '';
+
if ($this->enableAssets) {
$node = $this->server->tree->getNodeForPath(($path ? $path . '/' : '') . $name);
foreach (array_reverse($this->iconMap) as $class=>$iconName) {
@@ -182,10 +183,10 @@ class RedBrowser extends DAV\Browser\Plugin {
}
}
}
-
- $parentHash = "";
+
+ $parentHash = '';
$owner = $this->auth->owner_id;
- $splitPath = split("/", $fullPath);
+ $splitPath = split('/', $fullPath);
if (count($splitPath) > 3) {
for ($i = 3; $i < count($splitPath); $i++) {
$attachName = urldecode($splitPath[$i]);
@@ -209,6 +210,7 @@ class RedBrowser extends DAV\Browser\Plugin {
$ft['size'] = $size;
$ft['sizeFormatted'] = $this->userReadableSize($size);
$ft['lastmodified'] = (($lastmodified) ? datetime_convert('UTC', date_default_timezone_get(), $lastmodified) : '');
+ $ft['iconFromType'] = $this->getIconFromType($type);
$f[] = $ft;
}
@@ -233,15 +235,26 @@ class RedBrowser extends DAV\Browser\Plugin {
}
// prepare quota for template
+ $quota = array();
$quota['used'] = $used;
$quota['limit'] = $limit;
$quota['desc'] = $quotaDesc;
- $html .= replace_macros(get_markup_template('cloud_directory.tpl'), array(
+ $output = '';
+ if ($this->enablePost) {
+ $this->server->broadcastEvent('onHTMLActionsPanel', array($parent, &$output));
+ }
+
+ $html .= replace_macros(get_markup_template('cloud_header.tpl'), array(
'$header' => t('Files') . ": " . $this->escapeHTML($path) . "/",
+ '$quota' => $quota,
+ '$total' => t('Total'),
+ '$actionspanel' => $output
+ ));
+
+ $html .= replace_macros(get_markup_template('cloud_directory.tpl'), array(
'$parentpath' => $parentpath,
'$entries' => $f,
- '$quota' => $quota,
'$name' => t('Name'),
'$type' => t('Type'),
'$size' => t('Size'),
@@ -249,15 +262,9 @@ class RedBrowser extends DAV\Browser\Plugin {
'$parent' => t('parent'),
'$edit' => t('Edit'),
'$delete' => t('Delete'),
- '$total' => t('Total')
+ '$nick' => $this->auth->getCurrentUser()
));
- $output = '';
- if ($this->enablePost) {
- $this->server->broadcastEvent('onHTMLActionsPanel', array($parent, &$output));
- }
- $html .= $output;
-
get_app()->page['content'] = $html;
load_pdl(get_app());
construct_page(get_app());
@@ -321,6 +328,62 @@ class RedBrowser extends DAV\Browser\Plugin {
}
/**
+ * @brief returns icon name for use with e.g. font-awesome based on mime-type
+ *
+ * @param string $type
+ * @return string
+ */
+ protected function getIconFromType($type) {
+ $iconMap = array(
+ //Folder
+ t('Collection') => 'icon-folder-close',
+
+ //Common file
+ 'application/octet-stream' => 'icon-file-alt',
+
+ //Text
+ 'text/plain' => 'icon-file-text-alt',
+ 'application/msword' => 'icon-file-text-alt',
+ 'application/pdf' => 'icon-file-text-alt',
+ 'application/vnd.oasis.opendocument.text' => 'icon-file-text-alt',
+ 'application/epub+zip' => 'icon-book',
+
+ //Spreadsheet
+ 'application/vnd.oasis.opendocument.spreadsheet' => 'icon-table',
+ 'application/vnd.ms-excel' => 'icon-table',
+
+ //Image
+ 'image/jpeg' => 'icon-picture',
+ 'image/png' => 'icon-picture',
+ 'image/gif' => 'icon-picture',
+ 'image/svg+xml' => 'icon-picture',
+
+ //Archive
+ 'application/zip' => 'icon-archive',
+ 'application/x-rar-compressed' => 'icon-archive',
+
+ //Audio
+ 'audio/mpeg' => 'icon-music',
+ 'audio/wav' => 'icon-music',
+ 'application/ogg' => 'icon-music',
+
+ //Video
+ 'video/quicktime' => 'icon-film',
+
+
+ );
+
+ $iconFromType = 'icon-file-alt';
+
+ if (array_key_exists($type, $iconMap))
+ {
+ $iconFromType = $iconMap[$type];
+ }
+
+ return $iconFromType;
+ }
+
+ /**
* @brief Return the hash of an attachment.
*
* Given the owner, the parent folder and and attach name get the attachment
@@ -370,4 +433,4 @@ class RedBrowser extends DAV\Browser\Plugin {
}
return $id;
}
-} \ No newline at end of file
+}
diff --git a/include/RedDAV/RedDirectory.php b/include/RedDAV/RedDirectory.php
index a46b77f5f..85af0d57f 100644
--- a/include/RedDAV/RedDirectory.php
+++ b/include/RedDAV/RedDirectory.php
@@ -159,7 +159,7 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
list($parent_path, ) = DAV\URLUtil::splitPath($this->red_path);
$new_path = $parent_path . '/' . $name;
- $r = q("UPDATE attach SET filename = '%s' WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $r = q("UPDATE attach SET filename = '%s' WHERE hash = '%s' AND uid = %d",
dbesc($name),
dbesc($this->folder_hash),
intval($this->auth->owner_id)
@@ -197,7 +197,7 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$mimetype = z_mime_content_type($name);
- $c = q("SELECT * FROM channel WHERE channel_id = %d AND NOT (channel_pageflags & %d) LIMIT 1",
+ $c = q("SELECT * FROM channel WHERE channel_id = %d AND NOT (channel_pageflags & %d)>0 LIMIT 1",
intval($this->auth->owner_id),
intval(PAGE_REMOVED)
);
@@ -246,7 +246,7 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$edited = datetime_convert();
// updates entry with filesize and timestamp
- $d = q("UPDATE attach SET filesize = '%s', edited = '%s' WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $d = q("UPDATE attach SET filesize = '%s', edited = '%s' WHERE hash = '%s' AND uid = %d",
dbesc($size),
dbesc($edited),
dbesc($hash),
@@ -254,7 +254,7 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
);
// update the folder's lastmodified timestamp
- $e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d",
dbesc($edited),
dbesc($this->folder_hash),
intval($c[0]['channel_id'])
@@ -293,7 +293,7 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
throw new DAV\Exception\Forbidden('Permission denied.');
}
- $r = q("SELECT * FROM channel WHERE channel_id = %d AND NOT (channel_pageflags & %d) LIMIT 1",
+ $r = q("SELECT * FROM channel WHERE channel_id = %d AND NOT (channel_pageflags & %d)>0 LIMIT 1",
intval($this->auth->owner_id),
intval(PAGE_REMOVED)
);
@@ -362,7 +362,7 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$channel_name = $path_arr[0];
- $r = q("SELECT channel_id FROM channel WHERE channel_address = '%s' AND NOT ( channel_pageflags & %d ) LIMIT 1",
+ $r = q("SELECT channel_id FROM channel WHERE channel_address = '%s' AND NOT ( channel_pageflags & %d )>0 LIMIT 1",
dbesc($channel_name),
intval(PAGE_REMOVED)
);
@@ -380,7 +380,7 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$os_path = '';
for ($x = 1; $x < count($path_arr); $x++) {
- $r = q("select id, hash, filename, flags from attach where folder = '%s' and filename = '%s' and uid = %d and (flags & %d)",
+ $r = q("select id, hash, filename, flags from attach where folder = '%s' and filename = '%s' and uid = %d and (flags & %d)>0",
dbesc($folder),
dbesc($path_arr[$x]),
intval($channel_id),
@@ -440,7 +440,7 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$free = disk_free_space('store');
if ($this->auth->owner_id) {
- $c = q("select * from channel where channel_id = %d and not (channel_pageflags & %d) limit 1",
+ $c = q("select * from channel where channel_id = %d and not (channel_pageflags & %d)>0 limit 1",
intval($this->auth->owner_id),
intval(PAGE_REMOVED)
);
diff --git a/include/RedDAV/RedFile.php b/include/RedDAV/RedFile.php
index f96790631..3a5230dc1 100644
--- a/include/RedDAV/RedFile.php
+++ b/include/RedDAV/RedFile.php
@@ -79,7 +79,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
$newName = str_replace('/', '%2F', $newName);
- $r = q("UPDATE attach SET filename = '%s' WHERE hash = '%s' AND id = %d LIMIT 1",
+ $r = q("UPDATE attach SET filename = '%s' WHERE hash = '%s' AND id = %d",
dbesc($this->data['filename']),
intval($this->data['id'])
);
@@ -96,7 +96,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
$size = 0;
// @todo only 3 values are needed
- $c = q("SELECT * FROM channel WHERE channel_id = %d AND NOT (channel_pageflags & %d) LIMIT 1",
+ $c = q("SELECT * FROM channel WHERE channel_id = %d AND NOT (channel_pageflags & %d)>0 LIMIT 1",
intval($this->auth->owner_id),
intval(PAGE_REMOVED)
);
@@ -113,7 +113,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
$size = @filesize($f);
logger('filename: ' . $f . ' size: ' . $size, LOGGER_DEBUG);
} else {
- $r = q("UPDATE attach SET data = '%s' WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $r = q("UPDATE attach SET data = '%s' WHERE hash = '%s' AND uid = %d",
dbesc(stream_get_contents($data)),
dbesc($this->data['hash']),
intval($this->data['uid'])
@@ -131,7 +131,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
// returns now()
$edited = datetime_convert();
- $d = q("UPDATE attach SET filesize = '%s', edited = '%s' WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $d = q("UPDATE attach SET filesize = '%s', edited = '%s' WHERE hash = '%s' AND uid = %d",
dbesc($size),
dbesc($edited),
dbesc($this->data['hash']),
@@ -139,7 +139,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
);
// update the folder's lastmodified timestamp
- $e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d",
dbesc($edited),
dbesc($r[0]['folder']),
intval($c[0]['channel_id'])
diff --git a/include/account.php b/include/account.php
index df484e608..8df44acba 100644
--- a/include/account.php
+++ b/include/account.php
@@ -202,7 +202,7 @@ function create_account($arr) {
// Set the parent record to the current record_id if no parent was provided
if(! $parent) {
- $r = q("update account set account_parent = %d where account_id = %d limit 1",
+ $r = q("update account set account_parent = %d where account_id = %d",
intval($result['account']['account_id']),
intval($result['account']['account_id'])
);
@@ -367,16 +367,16 @@ function user_allow($hash) {
if(! $account)
return $ret;
- $r = q("DELETE FROM register WHERE hash = '%s' LIMIT 1",
+ $r = q("DELETE FROM register WHERE hash = '%s'",
dbesc($register[0]['hash'])
);
- $r = q("update account set account_flags = (account_flags ^ %d) where (account_flags & %d) and account_id = %d limit 1",
+ $r = q("update account set account_flags = (account_flags & ~%d) where (account_flags & %d)>0 and account_id = %d",
intval(ACCOUNT_BLOCKED),
intval(ACCOUNT_BLOCKED),
intval($register[0]['uid'])
);
- $r = q("update account set account_flags = (account_flags ^ %d) where (account_flags & %d) and account_id = %d limit 1",
+ $r = q("update account set account_flags = (account_flags & ~%d) where (account_flags & %d)>0 and account_id = %d",
intval(ACCOUNT_PENDING),
intval(ACCOUNT_PENDING),
intval($register[0]['uid'])
@@ -430,11 +430,11 @@ function user_deny($hash) {
if(! $account)
return false;
- $r = q("DELETE FROM account WHERE account_id = %d LIMIT 1",
+ $r = q("DELETE FROM account WHERE account_id = %d",
intval($register[0]['uid'])
);
- $r = q("DELETE FROM `register` WHERE id = %d LIMIT 1",
+ $r = q("DELETE FROM `register` WHERE id = %d",
dbesc($register[0]['id'])
);
notice( sprintf(t('Registration revoked for %s'), $account[0]['account_email']) . EOL);
@@ -463,21 +463,21 @@ function user_approve($hash) {
if(! $account)
return $ret;
- $r = q("DELETE FROM register WHERE hash = '%s' and password = 'verify' LIMIT 1",
+ $r = q("DELETE FROM register WHERE hash = '%s' and password = 'verify'",
dbesc($register[0]['hash'])
);
- $r = q("update account set account_flags = (account_flags ^ %d) where (account_flags & %d) and account_id = %d limit 1",
+ $r = q("update account set account_flags = (account_flags & ~%d) where (account_flags & %d)>0 and account_id = %d",
intval(ACCOUNT_BLOCKED),
intval(ACCOUNT_BLOCKED),
intval($register[0]['uid'])
);
- $r = q("update account set account_flags = (account_flags ^ %d) where (account_flags & %d) and account_id = %d limit 1",
+ $r = q("update account set account_flags = (account_flags & ~%d) where (account_flags & %d)>0 and account_id = %d",
intval(ACCOUNT_PENDING),
intval(ACCOUNT_PENDING),
intval($register[0]['uid'])
);
- $r = q("update account set account_flags = (account_flags ^ %d) where (account_flags & %d) and account_id = %d limit 1",
+ $r = q("update account set account_flags = (account_flags & ~%d) where (account_flags & %d)>0 and account_id = %d",
intval(ACCOUNT_UNVERIFIED),
intval(ACCOUNT_UNVERIFIED),
intval($register[0]['uid'])
@@ -510,11 +510,12 @@ function user_approve($hash) {
function downgrade_accounts() {
- $r = q("select * from account where not ( account_flags & %d )
+ $r = q("select * from account where not ( account_flags & %d )>0
and account_expires != '%s'
- and account_expires < UTC_TIMESTAMP() ",
+ and account_expires < %s ",
intval(ACCOUNT_EXPIRED),
- dbesc(NULL_DATE)
+ dbesc(NULL_DATE),
+ db_getfunc('UTC_TIMESTAMP')
);
if(! $r)
@@ -527,7 +528,7 @@ function downgrade_accounts() {
if(($basic) && ($rr['account_service_class']) && ($rr['account_service_class'] != $basic)) {
$x = q("UPDATE account set account_service_class = '%s', account_expires = '%s'
- where account_id = %d limit 1",
+ where account_id = %d",
dbesc($basic),
dbesc(NULL_DATE),
intval($rr['account_id'])
@@ -537,7 +538,7 @@ function downgrade_accounts() {
logger('downgrade_accounts: Account id ' . $rr['account_id'] . ' downgraded.');
}
else {
- $x = q("UPDATE account SET account_flags = (account_flags | %d) where account_id = %d limit 1",
+ $x = q("UPDATE account SET account_flags = (account_flags | %d) where account_id = %d",
intval(ACCOUNT_EXPIRED),
intval($rr['account_id'])
);
diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index 5adafff2c..243e7a549 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -171,7 +171,7 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" $tabindex >\r\n";
$r = q("SELECT abook_id, xchan_name, xchan_url, xchan_photo_s from abook left join xchan on abook_xchan = xchan_hash
- where abook_flags = 0 or not ( abook_flags & %d ) and abook_channel = %d
+ where abook_flags = 0 or not ( abook_flags & %d )>0 and abook_channel = %d
$sql_extra
ORDER BY xchan_name ASC ",
intval(ABOOK_FLAG_SELF),
diff --git a/include/activities.php b/include/activities.php
index d978ebcd6..d770ccb23 100644
--- a/include/activities.php
+++ b/include/activities.php
@@ -48,7 +48,11 @@ function profile_activity($changed, $value) {
if($t == 1 && strlen($value)) {
// if it's a url, the HTML quotes will mess it up, so link it and don't try and zidify it because we don't know what it points to.
- $value = linkify($value);
+ $value = preg_replace_callback("/([^\]\='".'"'."]|^|\#\^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]+)/ism", 'red_zrl_callback', $value);
+ // take out the bookmark indicator
+ if(substr($value,0,2) === '#^')
+ $value = str_replace('#^','',$value);
+
$message = sprintf( t('%1$s changed %2$s to &ldquo;%3$s&rdquo;'), $A, $changes, $value);
$message .= "\n\n" . sprintf( t('Visit %1$s\'s %2$s'), $A, $prof);
}
diff --git a/include/api.php b/include/api.php
index 9fe2ef47d..51de412cf 100644
--- a/include/api.php
+++ b/include/api.php
@@ -309,7 +309,7 @@ require_once('include/items.php');
return False;
} else {
$user = local_user();
- $extra_query = " AND abook_channel = %d AND (abook_flags & " . ABOOK_FLAG_SELF . " ) ";
+ $extra_query = " AND abook_channel = %d AND (abook_flags & " . ABOOK_FLAG_SELF . " )>0 ";
}
}
@@ -336,7 +336,7 @@ require_once('include/items.php');
// count public wall messages
$r = q("SELECT COUNT(`id`) as `count` FROM `item`
WHERE `uid` = %d
- AND ( item_flags & %d ) and item_restrict = 0
+ AND ( item_flags & %d )>0 and item_restrict = 0
AND `allow_cid`='' AND `allow_gid`='' AND `deny_cid`='' AND `deny_gid`=''",
intval($usr[0]['channel_id']),
intval(ITEM_WALL)
@@ -363,7 +363,7 @@ require_once('include/items.php');
$countfollowers = $r[0]['count'];
}
- $r = q("SELECT count(`id`) as `count` FROM item where ( item_flags & %d ) and uid = %d and item_restrict = 0",
+ $r = q("SELECT count(`id`) as `count` FROM item where ( item_flags & %d )>0 and uid = %d and item_restrict = 0",
intval($uinfo[0]['channel_id']),
intval(ITEM_STARRED)
);
@@ -1004,8 +1004,8 @@ require_once('include/items.php');
// at the network timeline just mark everything seen.
if (api_user() == $user_info['uid']) {
- $r = q("UPDATE `item` SET item_flags = ( item_flags ^ %d )
- WHERE item_flags & %d and uid = %d",
+ $r = q("UPDATE `item` SET item_flags = ( item_flags & ~%d )
+ WHERE (item_flags & %d)>0 and uid = %d",
intval(ITEM_UNSEEN),
intval(ITEM_UNSEEN),
intval($user_info['uid'])
@@ -1062,10 +1062,10 @@ require_once('include/items.php');
and uid in ( " . stream_perms_api_uids() . " )
$sql_extra
AND id > %d group by mid
- order by received desc LIMIT %d, %d ",
+ order by received desc LIMIT %d OFFSET %d ",
intval($since_id),
- intval($start),
- intval($count)
+ intval($count),
+ intval($start)
);
xchan_query($r,true);
@@ -1706,9 +1706,9 @@ require_once('include/items.php');
// For Red, the closest thing we can do to figure out if you're friends is if both of you are sending each other your streams.
// This won't work if either of you send your stream to everybody on the network
if($qtype == 'friends')
- $sql_extra = sprintf(" AND ( abook_their_perms & %d ) and ( abook_my_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
+ $sql_extra = sprintf(" AND ( abook_their_perms & %d )>0 and ( abook_my_perms & %d )>0 ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
if($qtype == 'followers')
- $sql_extra = sprintf(" AND ( abook_my_perms & %d ) and not ( abook_their_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
+ $sql_extra = sprintf(" AND ( abook_my_perms & %d )>0 and not ( abook_their_perms & %d )>0 ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
$r = q("SELECT abook_id FROM abook where abook_flags = 0 and abook_channel = %d $sql_extra",
intval(api_user())
@@ -1822,9 +1822,9 @@ require_once('include/items.php');
// This won't work if either of you send your stream to everybody on the network
if($qtype == 'friends')
- $sql_extra = sprintf(" AND ( abook_their_perms & %d ) and ( abook_my_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
+ $sql_extra = sprintf(" AND ( abook_their_perms & %d )>0 and ( abook_my_perms & %d )>0 ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
if($qtype == 'followers')
- $sql_extra = sprintf(" AND ( abook_my_perms & %d ) and not ( abook_their_perms & %d ) ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
+ $sql_extra = sprintf(" AND ( abook_my_perms & %d )>0 and not ( abook_their_perms & %d )>0 ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
$r = q("SELECT abook_id FROM abook where abook_flags = 0 and abook_channel = %d $sql_extra",
intval(api_user())
@@ -1868,11 +1868,14 @@ require_once('include/items.php');
require_once("include/message.php");
- $r = q("SELECT `id` FROM `contact` WHERE `uid`=%d AND `nick`='%s'",
+ // in a decentralised world the screen name is ambiguous
+
+ $r = q("SELECT `abook_id` FROM `abook` left join xchan on abook_xchan = xchan_hash WHERE `abook_channel`=%d and xchan_addr like '%s'",
intval(api_user()),
- dbesc($_POST['screen_name']));
+ dbesc($_POST['screen_name'] . '@%')
+ );
- $recipient = api_get_user($a, $r[0]['id']);
+ $recipient = api_get_user($a, $r[0]['abook_id']);
$replyto = '';
$sub = '';
if (x($_REQUEST,'replyto')) {
@@ -1925,10 +1928,11 @@ require_once('include/items.php');
if ($page<0) $page=0;
$start = $page*$count;
-
- $profile_url = $a->get_baseurl() . '/channel/' . $a->user['nickname'];
+ $channel = $a->get_channel();
+
+ $profile_url = $a->get_baseurl() . '/channel/' . $channel['channel_address'];
if ($box=="sentbox") {
- $sql_extra = "`from-url`='".dbesc( $profile_url )."'";
+ $sql_extra = "`from_xchan`='".dbesc( $channel['channel_hash'] )."'";
}
elseif ($box=="conversation") {
$sql_extra = "`parent_mid`='".dbesc( $_GET["uri"] ) ."'";
@@ -1937,12 +1941,12 @@ require_once('include/items.php');
$sql_extra = "true";
}
elseif ($box=="inbox") {
- $sql_extra = "`from-url`!='".dbesc( $profile_url )."'";
+ $sql_extra = "`from_xchan`!='".dbesc( $channel['channel_hash'] )."'";
}
- $r = q("SELECT * FROM `mail` WHERE uid=%d AND $sql_extra ORDER BY created DESC LIMIT %d,%d",
+ $r = q("SELECT * FROM `mail` WHERE channel_id = %d AND $sql_extra ORDER BY created DESC LIMIT %d OFFSET %d",
intval(api_user()),
- intval($start), intval($count)
+ intval($count), intval($start)
);
$ret = Array();
@@ -1950,10 +1954,12 @@ require_once('include/items.php');
foreach($r as $item) {
if ($box == "inbox" || $item['from-url'] != $profile_url){
$recipient = $user_info;
- $sender = api_get_user($a,$item['contact-id']);
+ // fixme to lookup recipient
+ $sender = api_get_user($a);
}
elseif ($box == "sentbox" || $item['from-url'] != $profile_url){
- $recipient = api_get_user($a,$item['contact-id']);
+ // fixme to lookup recipient
+ $recipient = api_get_user($a);
$sender = $user_info;
}
diff --git a/include/apps.php b/include/apps.php
index cd0c2984e..e08e6a6f5 100644
--- a/include/apps.php
+++ b/include/apps.php
@@ -83,35 +83,37 @@ function parse_app_description($f) {
$ret['target'] = str_replace(array('\'','"'),array('&#39;','&dquot;'),$ret['target']);
if(array_key_exists('requires',$ret)) {
- $require = trim(strtolower($ret['requires']));
- switch($require) {
- case 'nologin':
- if(local_user())
- unset($ret);
- break;
- case 'admin':
- if(! is_site_admin())
- unset($ret);
- break;
- case 'local_user':
- if(! local_user())
- unset($ret);
- break;
- case 'public_profile':
- if(! is_public_profile())
- unset($ret);
- break;
- case 'observer':
- if(! $observer)
- unset($ret);
- break;
- default:
- if(! local_user() && feature_enabled(local_user(),$require))
- unset($ret);
- break;
+ $requires = explode(',',$ret['requires']);
+ foreach($requires as $require) {
+ $require = trim(strtolower($require));
+ switch($require) {
+ case 'nologin':
+ if(local_user())
+ unset($ret);
+ break;
+ case 'admin':
+ if(! is_site_admin())
+ unset($ret);
+ break;
+ case 'local_user':
+ if(! local_user())
+ unset($ret);
+ break;
+ case 'public_profile':
+ if(! is_public_profile())
+ unset($ret);
+ break;
+ case 'observer':
+ if(! $observer)
+ unset($ret);
+ break;
+ default:
+ if(! (local_user() && feature_enabled(local_user(),$require)))
+ unset($ret);
+ break;
+ }
}
-// logger('require: ' . print_r($ret,true));
}
if($ret) {
translate_system_apps($ret);
@@ -189,34 +191,37 @@ function app_render($papp,$mode = 'view') {
$papp['desc'] = str_replace(array('\'','"'),array('&#39;','&dquot;'),$papp['desc']);
if($k === 'requires') {
- $require = trim(strtolower($v));
- switch($require) {
- case 'nologin':
- if(local_user())
- return '';
- break;
- case 'admin':
- if(! is_site_admin())
- return '';
- break;
- case 'local_user':
- if(! local_user())
- return '';
- break;
- case 'public_profile':
- if(! is_public_profile())
- return '';
- break;
- case 'observer':
- $observer = get_app()->get_observer();
- if(! $observer)
- return '';
- break;
- default:
- if(! local_user() && feature_enabled(local_user(),$require))
- return '';
- break;
+ $requires = explode(',',$v);
+ foreach($requires as $require) {
+ $require = trim(strtolower($require));
+ switch($require) {
+ case 'nologin':
+ if(local_user())
+ return '';
+ break;
+ case 'admin':
+ if(! is_site_admin())
+ return '';
+ break;
+ case 'local_user':
+ if(! local_user())
+ return '';
+ break;
+ case 'public_profile':
+ if(! is_public_profile())
+ return '';
+ break;
+ case 'observer':
+ $observer = get_app()->get_observer();
+ if(! $observer)
+ return '';
+ break;
+ default:
+ if(! (local_user() && feature_enabled(local_user(),$require)))
+ return '';
+ break;
+ }
}
}
@@ -267,7 +272,7 @@ function app_install($uid,$app) {
function app_destroy($uid,$app) {
if($uid && $app['guid']) {
- $r = q("delete from app where app_id = '%s' and app_channel = %d limit 1",
+ $r = q("delete from app where app_id = '%s' and app_channel = %d",
dbesc($app['guid']),
intval($uid)
);
@@ -388,7 +393,7 @@ function app_update($arr) {
$darray['app_page'] = ((x($arr,'page')) ? escape_tags($arr['page']) : '');
$darray['app_requires'] = ((x($arr,'requires')) ? escape_tags($arr['requires']) : '');
- $r = q("update app set app_sig = '%s', app_author = '%s', app_name = '%s', app_desc = '%s', app_url = '%s', app_photo = '%s', app_version = '%s', app_addr = '%s', app_price = '%s', app_page = '%s', app_requires = '%s' where app_id = '%s' and app_channel = %d limit 1",
+ $r = q("update app set app_sig = '%s', app_author = '%s', app_name = '%s', app_desc = '%s', app_url = '%s', app_photo = '%s', app_version = '%s', app_addr = '%s', app_price = '%s', app_page = '%s', app_requires = '%s' where app_id = '%s' and app_channel = %d",
dbesc($darray['app_sig']),
dbesc($darray['app_author']),
dbesc($darray['app_name']),
diff --git a/include/attach.php b/include/attach.php
index 6bce617cd..a76dd4b28 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -400,11 +400,11 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
$created = datetime_convert();
if($options === 'replace') {
- $r = q("update attach set filename = '%s', filetype = '%s', filesize = %d, data = '%s', edited = '%s' where id = %d and uid = %d limit 1",
+ $r = q("update attach set filename = '%s', filetype = '%s', filesize = %d, data = '%s', edited = '%s' where id = %d and uid = %d",
dbesc($filename),
dbesc($mimetype),
intval($filesize),
- dbesc(@file_get_contents($src)),
+ dbescbin(@file_get_contents($src)),
dbesc($created),
intval($existing_id),
intval($channel_id)
@@ -421,7 +421,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
dbesc($mimetype),
intval($filesize),
intval($x[0]['revision'] + 1),
- dbesc(@file_get_contents($src)),
+ dbescbin(@file_get_contents($src)),
dbesc($created),
dbesc($created),
dbesc($x[0]['allow_cid']),
@@ -432,7 +432,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
}
elseif($options === 'update') {
$r = q("update attach set filename = '%s', filetype = '%s', edited = '%s',
- allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where id = %d and uid = %d limit 1",
+ allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where id = %d and uid = %d",
dbesc((array_key_exists('filename',$arr)) ? $arr['filename'] : $x[0]['filename']),
dbesc((array_key_exists('filetype',$arr)) ? $arr['filetype'] : $x[0]['filetype']),
dbesc($created),
@@ -455,7 +455,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
dbesc($mimetype),
intval($filesize),
intval(0),
- dbesc(@file_get_contents($src)),
+ dbescbin(@file_get_contents($src)),
dbesc($created),
dbesc($created),
dbesc(($arr && array_key_exists('allow_cid',$arr)) ? $arr['allow_cid'] : '<' . $channel['channel_hash'] . '>'),
@@ -517,7 +517,7 @@ function z_readdir($channel_id, $observer_hash, $pathname, $parent_hash = '') {
if(count($paths) > 1) {
$curpath = array_shift($paths);
- $r = q("select hash, id from attach where uid = %d and filename = '%s' and (flags & %d ) " . permissions_sql($channel_id) . " limit 1",
+ $r = q("select hash, id from attach where uid = %d and filename = '%s' and (flags & %d )>0 " . permissions_sql($channel_id) . " limit 1",
intval($channel_id),
dbesc($curpath),
intval(ATTACH_FLAG_DIR)
@@ -533,7 +533,7 @@ function z_readdir($channel_id, $observer_hash, $pathname, $parent_hash = '') {
else
$paths = array($pathname);
- $r = q("select id, aid, uid, hash, creator, filename, filetype, filesize, revision, folder, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where id = %d and folder = '%s' and filename = '%s' and (flags & %d ) " . permissions_sql($channel_id),
+ $r = q("select id, aid, uid, hash, creator, filename, filetype, filesize, revision, folder, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where id = %d and folder = '%s' and filename = '%s' and (flags & %d )>0 " . permissions_sql($channel_id),
intval($channel_id),
dbesc($parent_hash),
dbesc($paths[0]),
@@ -567,6 +567,7 @@ function z_readdir($channel_id, $observer_hash, $pathname, $parent_hash = '') {
* $arr['deny_cid']
* $arr['deny_gid']
*/
+
function attach_mkdir($channel, $observer_hash, $arr = null) {
$ret = array('success' => false);
@@ -617,7 +618,7 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
$sql_options = permissions_sql($channel['channel_id']);
do {
- $r = q("select filename, hash, flags, folder from attach where uid = %d and hash = '%s' and ( flags & %d )
+ $r = q("select filename, hash, flags, folder from attach where uid = %d and hash = '%s' and ( flags & %d )>0
$sql_options limit 1",
intval($channel['channel_id']),
dbesc($lfile),
@@ -669,7 +670,7 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
$ret['data'] = $arr;
// update the parent folder's lastmodified timestamp
- $e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d",
dbesc($created),
dbesc($arr['folder']),
intval($channel_id)
@@ -716,13 +717,13 @@ function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gi
);
if($r) {
foreach($r as $rr) {
- attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse);
+ attach_change_permissions($channel_id, $rr['hash'], $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse);
}
}
}
}
- $x = q("update attach set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where hash = '%s' and uid = %d limit 1",
+ $x = q("update attach set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where hash = '%s' and uid = %d",
dbesc($allow_cid),
dbesc($allow_gid),
dbesc($deny_cid),
@@ -790,13 +791,13 @@ function attach_delete($channel_id, $resource) {
}
// delete from database
- $z = q("DELETE FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $z = q("DELETE FROM attach WHERE hash = '%s' AND uid = %d",
dbesc($resource),
intval($channel_id)
);
// update the parent folder's lastmodified timestamp
- $e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d",
dbesc(datetime_convert()),
dbesc($r[0]['folder']),
intval($channel_id)
@@ -831,7 +832,7 @@ function get_cloudpath($arr) {
$lfile = $arr['folder'];
do {
- $r = q("select filename, hash, flags, folder from attach where uid = %d and hash = '%s' and ( flags & %d )
+ $r = q("select filename, hash, flags, folder from attach where uid = %d and hash = '%s' and ( flags & %d )>0
limit 1",
intval($arr['uid']),
dbesc($lfile),
diff --git a/include/auth.php b/include/auth.php
index 8f68fc562..c4bbaf546 100644
--- a/include/auth.php
+++ b/include/auth.php
@@ -41,6 +41,9 @@ function nuke_session() {
/**
* @brief Verify login credentials.
*
+ * If system <i>authlog</i> is set a log entry will be added for failed login
+ * attempts.
+ *
* @param string $email
* The email address to verify.
* @param string $pass
@@ -88,14 +91,25 @@ function account_verify_password($email, $pass) {
if($record['account_flags'] & ACCOUNT_PENDING)
logger('Account is pending. account_flags = ' . $record['account_flags']);
- // Also log failed logins to a separate auth log to reduce overhead for server side intrusion prevention
- $authlog = get_config('system', 'authlog');
- if ($authlog)
- @file_put_contents($authlog, datetime_convert() . ':' . session_id() . ' ' . $error . "\n", FILE_APPEND);
+ log_failed_login($error);
return null;
}
+/**
+ * @brief Log failed logins to a separate auth log.
+ *
+ * Can be used to reduce overhead for server side intrusion prevention, like
+ * parse the authlog file with something like fail2ban, OSSEC, etc.
+ *
+ * @param string $errormsg
+ * Error message to display for failed login.
+ */
+function log_failed_login($errormsg) {
+ $authlog = get_config('system', 'authlog');
+ if ($authlog)
+ @file_put_contents($authlog, datetime_convert() . ':' . session_id() . ' ' . $errormsg . PHP_EOL, FILE_APPEND);
+}
/**
* Inline - not a function
@@ -123,7 +137,7 @@ if((isset($_SESSION)) && (x($_SESSION, 'authenticated')) &&
// if our authenticated guest is allowed to take control of the admin channel, make it so.
$admins = get_config('system', 'remote_admin');
if($admins && is_array($admins) && in_array($_SESSION['visitor_id'], $admins)) {
- $x = q("select * from account where account_email = '%s' and account_email != '' and ( account_flags & %d ) limit 1",
+ $x = q("select * from account where account_email = '%s' and account_email != '' and ( account_flags & %d )>0 limit 1",
dbesc(get_config('system', 'admin_email')),
intval(ACCOUNT_ROLE_ADMIN)
);
@@ -269,7 +283,7 @@ else {
@file_put_contents($authlog, datetime_convert() . ':' . session_id() . ' ' . $error . "\n", FILE_APPEND);
notice( t('Login failed.') . EOL );
- goaway(z_root());
+ goaway(z_root() . '/login');
}
// If the user specified to remember the authentication, then change the cookie
diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php
index 8a178d1ac..5c93ac3aa 100644
--- a/include/bb2diaspora.php
+++ b/include/bb2diaspora.php
@@ -116,22 +116,11 @@ function diaspora_mention_callback($matches) {
function diaspora2bb($s,$use_zrl = false) {
+ $s = str_replace("&#xD;","\r",$s);
$s = str_replace("&#xD;\n&gt;","",$s);
$s = html_entity_decode($s,ENT_COMPAT,'UTF-8');
- // Too many new lines. So deactivated the following line
- // $s = str_replace("\r","\n",$s);
- // Simply remove cr.
- $s = str_replace("\r","",$s);
-
- // <br/> is invalid. Replace it with the valid expression
- $s = str_replace("<br/>","<br />",$s);
- $s = str_replace("\n","<br />",$s);
-
-
-// $s = preg_replace('/\@\{(.+?)\; (.+?)\@(.+?)\}/','@[url=https://$3/u/$2]$1[/url]',$s);
-
// first try plustags
$s = preg_replace_callback('/\@\{(.+?)\; (.+?)\@(.+?)\}\+/','diaspora_mention_callback',$s);
@@ -143,16 +132,13 @@ function diaspora2bb($s,$use_zrl = false) {
// This seems to work
$s = preg_replace('/\#([^\s\#])/','&#35;$1',$s);
- $s = preg_replace_callback('/\[share(.*?)\]/ism','share_shield',$s);
-
$s = Markdown($s);
+ $s = str_replace("\r","",$s);
+
$s = str_replace('&#35;','#',$s);
-// we seem to have double linebreaks
-// $s = str_replace("\n",'<br />',$s);
$s = html2bbcode($s);
-// $s = str_replace('&#42;','*',$s);
// protect the recycle symbol from turning into a tag, but without unescaping angles and naked ampersands
$s = str_replace('&#x2672;',html_entity_decode('&#x2672;',ENT_QUOTES,'UTF-8'),$s);
@@ -175,10 +161,6 @@ function diaspora2bb($s,$use_zrl = false) {
// remove duplicate adjacent code tags
$s = preg_replace("/(\[code\])+(.*?)(\[\/code\])+/ism","[code]$2[/code]", $s);
-
- $s = preg_replace_callback('/\[share(.*?)\]/ism','share_unshield',$s);
-
-
// Don't show link to full picture (until it is fixed)
$s = scale_external_images($s, false);
@@ -277,7 +259,7 @@ function bb2diaspora_itemwallwall(&$item) {
}
if(($item['mid'] == $item['parent_mid']) && ($item['author_xchan'] != $item['owner_xchan']) && (is_array($item['author']))) {
- logger('bb2diaspora_itemwallwall: author: ' . print_r($item['author'],true), LOGGER_DEBUG);
+ logger('bb2diaspora_itemwallwall: author: ' . print_r($item['author'],true), LOGGER_DATA);
}
if(($item['mid'] == $item['parent_mid']) && ($item['author_xchan'] != $item['owner_xchan']) && (is_array($item['author'])) && $item['author']['xchan_url'] && $item['author']['xchan_name'] && $item['author']['xchan_photo_m']) {
@@ -388,7 +370,7 @@ function bb2diaspora_itembody($item,$force_update = false) {
}
}
- logger('bb2diaspora_itembody : ' . $body);
+// logger('bb2diaspora_itembody : ' . $body, LOGGER_DATA);
return html_entity_decode($body);
@@ -462,7 +444,7 @@ function format_event_diaspora($ev) {
$bd_format = t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8 AM
- $o = 'Friendica event notification:' . "\n";
+ $o = t('Redmatrix event notification:') . "\n";
$o .= '**' . (($ev['summary']) ? bb2diaspora($ev['summary']) : bb2diaspora($ev['desc'])) . '**' . "\n";
diff --git a/include/bbcode.php b/include/bbcode.php
index 6b7217f91..030a1fb49 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -22,7 +22,7 @@ function tryzrlaudio($match) {
$zrl = is_matrix_url($link);
if($zrl)
$link = zid($link);
- return '<audio src="' . $link . '" controls="controls" ><a href="' . $link . '">' . $link . '</a></audio>';
+ return '<audio src="' . str_replace(' ','%20',$link) . '" controls="controls" ><a href="' . str_replace(' ','%20',$link) . '">' . $link . '</a></audio>';
}
function tryzrlvideo($match) {
@@ -30,7 +30,7 @@ function tryzrlvideo($match) {
$zrl = is_matrix_url($link);
if($zrl)
$link = zid($link);
- return '<video controls="controls" src="' . $link . '" style="width:100%; max-width:' . get_app()->videowidth . 'px"><a href="' . $link . '">' . $link . '</a></video>';
+ return '<video controls="controls" src="' . str_replace(' ','%20',$link) . '" style="width:100%; max-width:' . get_app()->videowidth . 'px"><a href="' . str_replace(' ','%20',$link) . '">' . $link . '</a></video>';
}
@@ -278,6 +278,17 @@ function rpost_callback($match) {
}
}
+function bb_map_coords($match) {
+ // the extra space in the following line is intentional
+ return str_replace($match[0],'<div class="map" >' . generate_map(str_replace('/',' ',$match[1])) . '</div>', $match[0]);
+}
+
+function bb_map_location($match) {
+ // the extra space in the following line is intentional
+ return str_replace($match[0],'<div class="map" >' . generate_named_map($match[1]) . '</div>', $match[0]);
+}
+
+
function bb_sanitize_style($input) {
//whitelist property limits (0 = no limitation)
$w = array( // color properties
@@ -357,11 +368,6 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_spacefy',$Text);
}
-// Not yet implemented - thinking this should display a map or perhaps be a map directive
-// if (strpos($Text,'[location]') !== false) {
-// $Text = preg_replace_callback("/\[location\](.*?)\[\/location\]/ism", 'bb_location',$Text);
-// }
-
// If we find any event code, turn it into an event.
@@ -431,14 +437,16 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// replace [observer.baseurl]
if ($observer) {
+ $s1 = '<span class="bb_observer" title="' . t('Different viewers will see this text differently') . '">';
+ $s2 = '</span>';
$obsBaseURL = $observer['xchan_connurl'];
$obsBaseURL = preg_replace("/\/poco\/.*$/", '', $obsBaseURL);
$Text = str_replace('[observer.baseurl]', $obsBaseURL, $Text);
$Text = str_replace('[observer.url]',$observer['xchan_url'], $Text);
- $Text = str_replace('[observer.name]',$observer['xchan_name'], $Text);
- $Text = str_replace('[observer.address]',$observer['xchan_addr'], $Text);
- $Text = str_replace('[observer.webname]',substr($observer['xchan_addr'],0,strpos($observer['xchan_addr'],'@')), $Text);
- $Text = str_replace('[observer.photo]','[zmg]'.$observer['xchan_photo_l'].'[/zmg]', $Text);
+ $Text = str_replace('[observer.name]',$s1 . $observer['xchan_name'] . $s2, $Text);
+ $Text = str_replace('[observer.address]',$s1 . $observer['xchan_addr'] . $s2, $Text);
+ $Text = str_replace('[observer.webname]',$s1 . substr($observer['xchan_addr'],0,strpos($observer['xchan_addr'],'@')) . $s2, $Text);
+ $Text = str_replace('[observer.photo]',$s1 . '[zmg]'.$observer['xchan_photo_l'].'[/zmg]' . $s2, $Text);
} else {
$Text = str_replace('[observer.baseurl]', '', $Text);
$Text = str_replace('[observer.url]','', $Text);
@@ -490,6 +498,22 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
$Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1">$1</a>', $Text);
$Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.*?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text);
}
+
+ // leave open the posibility of [map=something]
+ // this is replaced in prepare_body() which has knowledge of the item location
+
+ if (strpos($Text,'[/map]') !== false) {
+ $Text = preg_replace_callback("/\[map\](.*?)\[\/map\]/ism",'bb_map_location',$Text);
+ }
+
+ if (strpos($Text,'[map=') !== false) {
+ $Text = preg_replace_callback("/\[map=(.*?)\]/ism",'bb_map_coords',$Text);
+ }
+
+ if (strpos($Text,'[map]') !== false) {
+ $Text = preg_replace("/\[map\]/", '<div class="map"></div>', $Text);
+ }
+
// Check for bold text
if (strpos($Text,'[b]') !== false) {
$Text = preg_replace("(\[b\](.*?)\[\/b\])ism",'<strong>$1</strong>',$Text);
diff --git a/include/cache.php b/include/cache.php
index a70650b5e..4a3f453e1 100644
--- a/include/cache.php
+++ b/include/cache.php
@@ -21,7 +21,7 @@
dbesc($key)
);
if($r) {
- q("UPDATE cache SET v = '%s', updated = '%s' WHERE k = '%s' limit 1",
+ q("UPDATE cache SET v = '%s', updated = '%s' WHERE k = '%s'",
dbesc($value),
dbesc(datetime_convert()),
dbesc($key));
diff --git a/include/chat.php b/include/chat.php
index 5c3d0c9d9..533c03dde 100644
--- a/include/chat.php
+++ b/include/chat.php
@@ -77,7 +77,7 @@ function chatroom_destroy($channel,$arr) {
return $ret;
}
- q("delete from chatroom where cr_id = %d limit 1",
+ q("delete from chatroom where cr_id = %d",
intval($r[0]['cr_id'])
);
if($r[0]['cr_id']) {
@@ -129,8 +129,11 @@ function chatroom_enter($observer_xchan,$room_id,$status,$client) {
}
if(intval($x[0]['cr_expire'])) {
- $sql = "delete from chat where created < UTC_TIMESTAMP() - INTERVAL " . intval($x[0]['cr_expire']) . " MINUTE and chat_room = " . intval($x[0]['cr_id']);
- $r = q($sql);
+ $r = q("delete from chat where created < %s - INTERVAL %s and chat_room = %d",
+ db_utcnow(),
+ db_quoteinterval( intval($x[0]['cr_expire']) . ' MINUTE' ),
+ intval($x[0]['cr_id'])
+ );
}
$r = q("select * from chatpresence where cp_xchan = '%s' and cp_room = %d limit 1",
@@ -138,7 +141,7 @@ function chatroom_enter($observer_xchan,$room_id,$status,$client) {
intval($room_id)
);
if($r) {
- q("update chatpresence set cp_last = '%s' where cp_id = %d and cp_client = '%s' limit 1",
+ q("update chatpresence set cp_last = '%s' where cp_id = %d and cp_client = '%s'",
dbesc(datetime_convert()),
intval($r[0]['cp_id']),
dbesc($client)
@@ -169,7 +172,7 @@ function chatroom_leave($observer_xchan,$room_id,$client) {
dbesc($client)
);
if($r) {
- q("delete from chatpresence where cp_id = %d limit 1",
+ q("delete from chatpresence where cp_id = %d",
intval($r[0]['cp_id'])
);
}
diff --git a/include/cli_startup.php b/include/cli_startup.php
index f90a75cd1..027d62953 100644
--- a/include/cli_startup.php
+++ b/include/cli_startup.php
@@ -19,8 +19,8 @@ function cli_startup() {
date_default_timezone_set($a->timezone);
require_once('include/dba/dba_driver.php');
- $db = dba_factory($db_host, $db_port, $db_user, $db_pass, $db_data);
- unset($db_host, $db_port, $db_user, $db_pass, $db_data);
+ $db = dba_factory($db_host, $db_port, $db_user, $db_pass, $db_data, $db_type);
+ unset($db_host, $db_port, $db_user, $db_pass, $db_data, $db_type);
};
require_once('include/session.php');
diff --git a/include/config.php b/include/config.php
index 3292059d1..87b91e51a 100644
--- a/include/config.php
+++ b/include/config.php
@@ -154,7 +154,7 @@ function set_config($family, $key, $value) {
return $ret;
}
- $ret = q("UPDATE config SET v = '%s' WHERE cat = '%s' AND k = '%s' LIMIT 1",
+ $ret = q("UPDATE config SET v = '%s' WHERE cat = '%s' AND k = '%s'",
dbesc($dbvalue),
dbesc($family),
dbesc($key)
@@ -185,7 +185,7 @@ function del_config($family, $key) {
if(array_key_exists($family, $a->config) && array_key_exists($key, $a->config[$family]))
unset($a->config[$family][$key]);
- $ret = q("DELETE FROM config WHERE cat = '%s' AND k = '%s' LIMIT 1",
+ $ret = q("DELETE FROM config WHERE cat = '%s' AND k = '%s'",
dbesc($family),
dbesc($key)
);
@@ -212,7 +212,7 @@ function load_pconfig($uid) {
if(! array_key_exists($uid, $a->config))
$a->config[$uid] = array();
- $r = q("SELECT * FROM `pconfig` WHERE `uid` = %d",
+ $r = q("SELECT * FROM pconfig WHERE uid = %d",
intval($uid)
);
@@ -318,7 +318,7 @@ function set_pconfig($uid, $family, $key, $value) {
return $ret;
}
- $ret = q("UPDATE pconfig SET v = '%s' WHERE uid = %d and cat = '%s' AND k = '%s' LIMIT 1",
+ $ret = q("UPDATE pconfig SET v = '%s' WHERE uid = %d and cat = '%s' AND k = '%s'",
dbesc($dbvalue),
intval($uid),
dbesc($family),
@@ -362,7 +362,7 @@ function del_pconfig($uid, $family, $key) {
if(x($a->config[$uid][$family], $key))
unset($a->config[$uid][$family][$key]);
- $ret = q("DELETE FROM pconfig WHERE uid = %d AND cat = '%s' AND k = '%s' LIMIT 1",
+ $ret = q("DELETE FROM pconfig WHERE uid = %d AND cat = '%s' AND k = '%s'",
intval($uid),
dbesc($family),
dbesc($key)
@@ -390,7 +390,7 @@ function load_xconfig($xchan) {
if(! array_key_exists($xchan, $a->config))
$a->config[$xchan] = array();
- $r = q("SELECT * FROM `xconfig` WHERE `xchan` = '%s'",
+ $r = q("SELECT * FROM xconfig WHERE xchan = '%s'",
dbesc($xchan)
);
@@ -483,7 +483,7 @@ function set_xconfig($xchan, $family, $key, $value) {
return $ret;
}
- $ret = q("UPDATE xconfig SET v = '%s' WHERE xchan = '%s' and cat = '%s' AND k = '%s' LIMIT 1",
+ $ret = q("UPDATE xconfig SET v = '%s' WHERE xchan = '%s' and cat = '%s' AND k = '%s'",
dbesc($dbvalue),
dbesc($xchan),
dbesc($family),
@@ -517,7 +517,7 @@ function del_xconfig($xchan, $family, $key) {
if(x($a->config[$xchan][$family], $key))
unset($a->config[$xchan][$family][$key]);
- $ret = q("DELETE FROM `xconfig` WHERE `xchan` = '%s' AND `cat` = '%s' AND `k` = '%s' LIMIT 1",
+ $ret = q("DELETE FROM xconfig WHERE xchan = '%s' AND cat = '%s' AND k = '%s'",
dbesc($xchan),
dbesc($family),
dbesc($key)
diff --git a/include/contact_widgets.php b/include/contact_widgets.php
index 28a9fcfd3..ee9394e95 100644
--- a/include/contact_widgets.php
+++ b/include/contact_widgets.php
@@ -29,8 +29,7 @@ function findpeople_widget() {
'$random' => t('Random Profile'),
'$inv' => t('Invite Friends'),
'$advanced_search' => $advanced_search,
- '$advanced_hint' => t('Exammple: name=fred and country=iceland'),
- '$find_advanced' => t('Advanced Find'),
+ '$advanced_hint' => "\r\n" . t('Advanced example: name=fred and country=iceland'),
'$loggedin' => local_user()
));
diff --git a/include/conversation.php b/include/conversation.php
index 48fe8af60..a2fb3d162 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -419,8 +419,6 @@ function visible_activity($item) {
function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $prepared_item = '') {
- $tstart = dba_timer();
- $t0 = $t1 = $t2 = $t3 = $t4 = $t5 = $t6 = null;
$content_html = '';
$o = '';
@@ -433,13 +431,18 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
$arr_blocked = null;
- if(local_user()) {
+ if(local_user())
$str_blocked = get_pconfig(local_user(),'system','blocked');
- if($str_blocked) {
+ if(! local_user() && ($mode == 'network')) {
+ $sys = get_sys_channel();
+ $id = $sys['channel_id'];
+ $str_blocked = get_pconfig($id,'system','blocked');
+ }
+
+ if($str_blocked) {
$arr_blocked = explode(',',$str_blocked);
for($x = 0; $x < count($arr_blocked); $x ++)
- $arr_blocked[$x] = trim($arr_blocked[$x]);
- }
+ $arr_blocked[$x] = trim($arr_blocked[$x]);
}
@@ -452,8 +455,6 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
if($mode === 'network') {
- $t1 = dba_timer();
-
$profile_owner = local_user();
$page_writeable = true;
@@ -665,7 +666,6 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
$body = prepare_body($item,true);
- //$tmp_item = replace_macros($tpl,array(
$tmp_item = array(
'template' => $tpl,
'toplevel' => 'toplevel_item',
@@ -790,29 +790,21 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
$item['pagedrop'] = $page_dropping;
if($item['id'] == $item['parent']) {
-// $tx1 = dba_timer();
+
$item_object = new Item($item);
$conv->add_thread($item_object);
- if($page_mode === 'list')
+ if($page_mode === 'list') {
$item_object->set_template('conv_list.tpl');
-
-// $tx2 = dba_timer();
-// if($mode === 'network')
-// profiler($tx1,$tx2,'add thread ' . $item['id']);
+ $item_object->set_display_mode('list');
+ }
}
}
- $t2 = dba_timer();
+
$threads = $conv->get_template_data($alike, $dlike);
if(!$threads) {
logger('[ERROR] conversation : Failed to get template data.', LOGGER_DEBUG);
$threads = array();
}
- $t3 = dba_timer();
- if($mode === 'network') {
- profiler($t1,$t2,'Conversation prepare');
- profiler($t2,$t3,'Conversation get_template');
- }
-
}
}
@@ -848,14 +840,6 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
'$dropping' => ($page_dropping?t('Delete Selected Items'):False),
));
- if($mode === 'network') {
- $t4 = dba_timer();
- profiler($t3,$t4,'conversation template');
- }
-
- if($page_mode === 'preview')
- logger('preview: ' . $o);
-
return $o;
}
@@ -905,15 +889,18 @@ function item_photo_menu($item){
$vsrc_link = "";
$follow_url = "";
- if(local_user()) {
+
+ $local_user = local_user();
+
+ if($local_user) {
$ssl_state = true;
if(! count($a->contacts))
- load_contact_links(local_user());
+ load_contact_links($local_user);
$channel = $a->get_channel();
$channel_hash = (($channel) ? $channel['channel_hash'] : '');
}
- if((local_user()) && local_user() == $item['uid']) {
+ if(($local_user) && $local_user == $item['uid']) {
$vsrc_link = 'javascript:viewsrc(' . $item['id'] . '); return false;';
if($item['parent'] == $item['id'] && $channel && ($channel_hash != $item['author_xchan'])) {
$sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;';
@@ -921,17 +908,19 @@ function item_photo_menu($item){
}
$profile_link = chanlink_hash($item['author_xchan']);
- $pm_url = $a->get_baseurl($ssl_state) . '/mail/new/?f=&hash=' . $item['author_xchan'];
+ if($item['uid'] > 0)
+ $pm_url = $a->get_baseurl($ssl_state) . '/mail/new/?f=&hash=' . $item['author_xchan'];
if($a->contacts && array_key_exists($item['author_xchan'],$a->contacts))
$contact = $a->contacts[$item['author_xchan']];
else
- if(local_user() && $item['author']['xchan_addr'])
+ if($local_user && $item['author']['xchan_addr'])
$follow_url = z_root() . '/follow/?f=&url=' . $item['author']['xchan_addr'];
if($contact) {
$poke_link = $a->get_baseurl($ssl_state) . '/poke/?f=&c=' . $contact['abook_id'];
- $contact_url = $a->get_baseurl($ssl_state) . '/connedit/' . $contact['abook_id'];
+ if (!($contact['abook_flags'] & ABOOK_FLAG_SELF))
+ $contact_url = $a->get_baseurl($ssl_state) . '/connedit/' . $contact['abook_id'];
$posts_link = $a->get_baseurl($ssl_state) . '/network/?cid=' . $contact['abook_id'];
$clean_url = normalise_link($item['author-link']);
@@ -1110,8 +1099,8 @@ function status_editor($a,$x,$popup=false) {
$jotplugins = '';
$jotnets = '';
-
- $preview = ((feature_enabled($x['profile_uid'],'preview')) ? t('Preview') : '');
+ $preview = t('Preview');
+// $preview = ((feature_enabled($x['profile_uid'],'preview')) ? t('Preview') : '');
if(x($x,'nopreview'))
$preview = '';
@@ -1143,13 +1132,13 @@ function status_editor($a,$x,$popup=false) {
'$shortaudio' => t('audio link'),
'$setloc' => t('Set your location'),
'$shortsetloc' => t('set location'),
- '$noloc' => t('Clear browser location'),
+ '$noloc' => ((get_pconfig($x['profile_uid'],'system','use_browser_location')) ? t('Clear browser location') : ''),
'$shortnoloc' => t('clear location'),
'$title' => ((x($x,'title')) ? htmlspecialchars($x['title'], ENT_COMPAT,'UTF-8') : ''),
- '$placeholdertitle' => t('Set title'),
+ '$placeholdertitle' => t('Title (optional)'),
'$catsenabled' => ((feature_enabled($x['profile_uid'],'categories') && (! $webpage)) ? 'categories' : ''),
'$category' => "",
- '$placeholdercategory' => t('Categories (comma-separated list)'),
+ '$placeholdercategory' => t('Categories (optional, comma-separated list)'),
'$wait' => t('Please wait'),
'$permset' => t('Permission settings'),
'$shortpermset' => t('permissions'),
@@ -1493,8 +1482,12 @@ function network_tabs() {
function profile_tabs($a, $is_owner=False, $nickname=Null){
- //echo "<pre>"; var_dump($a->user); killme();
-
+
+ // Don't provide any profile tabs if we're running as the sys channel
+
+ if($a->is_sys)
+ return;
+
$channel = $a->get_channel();
if (is_null($nickname))
@@ -1551,16 +1544,18 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
);
}
- require_once('include/chat.php');
- $has_chats = chatroom_list_count($uid);
- if ($has_chats) {
- $tabs[] = array(
- 'label' => t('Chatrooms'),
- 'url' => $a->get_baseurl() . '/chat/' . $nickname,
- 'sel' => ((argv(0) == 'chat') ? 'active' : '' ),
- 'title' => t('Chatrooms'),
- 'id' => 'chat-tab',
- );
+ if($p['chat']) {
+ require_once('include/chat.php');
+ $has_chats = chatroom_list_count($uid);
+ if ($has_chats) {
+ $tabs[] = array(
+ 'label' => t('Chatrooms'),
+ 'url' => $a->get_baseurl() . '/chat/' . $nickname,
+ 'sel' => ((argv(0) == 'chat') ? 'active' : '' ),
+ 'title' => t('Chatrooms'),
+ 'id' => 'chat-tab',
+ );
+ }
}
require_once('include/menu.php');
diff --git a/include/datetime.php b/include/datetime.php
index fe0f29c7a..346d03bd4 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -14,25 +14,17 @@ function timezone_cmp($a, $b) {
return ( t($a) < t($b)) ? -1 : 1;
}
-// emit a timezone selector grouped (primarily) by continent
-
-function select_timezone($current = 'America/Los_Angeles') {
-
+// Return timezones grouped (primarily) by continent
+function get_timezones( ){
$timezone_identifiers = DateTimeZone::listIdentifiers();
-
- $o ='<select id="timezone_select" name="timezone">';
usort($timezone_identifiers, 'timezone_cmp');
$continent = '';
+ $continents = array();
foreach($timezone_identifiers as $value) {
$ex = explode("/", $value);
if(count($ex) > 1) {
- if($ex[0] != $continent) {
- if($continent != '')
- $o .= '</optgroup>';
- $continent = $ex[0];
- $o .= '<optgroup label="' . t($continent) . '">';
- }
+ $continent = t($ex[0]);
if(count($ex) > 2)
$city = substr($value,strpos($value,'/')+1);
else
@@ -40,35 +32,14 @@ function select_timezone($current = 'America/Los_Angeles') {
}
else {
$city = $ex[0];
- if($continent != t('Miscellaneous')) {
- $o .= '</optgroup>';
- $continent = t('Miscellaneous');
- $o .= '<optgroup label="' . t($continent) . '">';
- }
+ $continent = t('Miscellaneous');
}
$city = str_replace('_', ' ', t($city));
- $selected = (($value == $current) ? " selected=\"selected\" " : "");
- $o .= "<option value=\"$value\" $selected >$city</option>";
- }
- $o .= '</optgroup></select>';
- return $o;
-}
-
-// return a select using 'field_select_raw' template, with timezones
-// groupped (primarily) by continent
-// arguments follow convetion as other field_* template array:
-// 'name', 'label', $value, 'help'
-function field_timezone($name='timezone', $label='', $current = 'America/Los_Angeles', $help){
- $options = select_timezone($current);
- $options = str_replace('<select id="timezone_select" name="timezone">','', $options);
- $options = str_replace('</select>','', $options);
-
- $tpl = get_markup_template('field_select_raw.tpl');
- return replace_macros($tpl, array(
- '$field' => array($name, $label, $current, $help, $options),
- ));
-
+ if(!x($continents,$ex[0])) $continents[$ex[0]] = array();
+ $continents[$continent][$value] = $city;
+ }
+ return $continents;
}
// General purpose date parse/convert function.
@@ -134,7 +105,17 @@ function dob($dob) {
if(! $f)
$f = 'ymd';
- $o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),mktime(0,0,0,$month,$day,$year),'dob');
+ if($dob === '0000-00-00')
+ $value = '';
+ else
+ $value = (($year) ? datetime_convert('UTC','UTC',$dob,'Y-m-d') : datetime_convert('UTC','UTC',$dob,'m-d'));
+
+ $o = '<input type="text" name="dob" value="' . $value . '" placeholder="' . t('YYYY-MM-DD or MM-DD') . '" />';
+
+// if ($dob && $dob != '0000-00-00')
+// $o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),mktime(0,0,0,$month,$day,$year),'dob');
+// else
+// $o = datesel($f,mktime(0,0,0,0,0,1900),mktime(),false,'dob');
return $o;
}
@@ -153,12 +134,12 @@ function dob($dob) {
* @param $id
* id and name of datetimepicker (defaults to "datetimepicker")
*/
-function datesel($format, $min, $max, $default,$id = 'datepicker') {
- return datetimesel($format,$min,$max,$default,$id,true,false);
+function datesel($format, $min, $max, $default, $id = 'datepicker') {
+ return datetimesel($format,$min,$max,$default,$id,true,false, '','');
}
/**
- * returns a date selector
+ * returns a time selector
* @param $format
* format string, e.g. 'ymd' or 'mdy'. Not currently supported
* @param $h
@@ -168,8 +149,8 @@ function datesel($format, $min, $max, $default,$id = 'datepicker') {
* @param $id
* id and name of datetimepicker (defaults to "timepicker")
*/
-function timesel($format,$h,$m,$id='timepicker') {
- return datetimesel($format,mktime(),mktime(),mktime($h,$m),$id,false,true);
+function timesel($format, $h, $m, $id='timepicker') {
+ return datetimesel($format,new DateTime(),new DateTime(),new DateTime("$h:$m"),$id,false,true);
}
/**
@@ -194,31 +175,42 @@ function timesel($format,$h,$m,$id='timepicker') {
* set maximum date from picker with id $maxfrom (none by default)
*/
function datetimesel($format, $min, $max, $default, $id = 'datetimepicker', $pickdate = true, $picktime = true, $minfrom = '', $maxfrom = '') {
+ // Once browser support is better this could probably be replaced with native HTML5 date picker
$o = '';
$dateformat = '';
- if($pickdate) $dateformat .= 'YYYY-MM-DD';
+
+ if($pickdate) $dateformat .= 'Y-m-d';
if($pickdate && $picktime) $dateformat .= ' ';
- if($picktime) $dateformat .= 'HH:mm';
+ if($picktime) $dateformat .= 'H:i';
- $mindate = $min ? "new Date($min*1000)" : '';
- $maxdate = $max ? "new Date($max*1000)" : '';
+ $minjs = $min ? ",minDate: new Date({$min->getTimestamp()}*1000), yearStart: " . $min->format('Y') : '';
+ $maxjs = $max ? ",maxDate: new Date({$max->getTimestamp()}*1000), yearEnd: " . $max->format('Y') : '';
- $defaultDate = $default ? ", defaultDate: new Date($default*1000)" : '';
+ $input_text = $default ? 'value="' . date($dateformat, $default->getTimestamp()) . '"' : '';
+ $defaultdatejs = $default ? ",defaultDate: new Date({$default->getTimestamp()}*1000)" : '';
$pickers = '';
- if(!$pickdate) $pickers .= 'pickDate: false,';
- if(!$picktime) $pickers .= 'pickTime: false,';
+ if(!$pickdate) $pickers .= ',datepicker: false';
+ if(!$picktime) $pickers .= ',timepicker: false';
$extra_js = '';
if($minfrom != '')
- $extra_js .= "\$('#$minfrom').on('dp.change',function (e) { \$('#$id').data('DateTimePicker').setMinDate(e.date); });";
+ $extra_js .= "\$('#$minfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#$id').data('xdsoft_datetimepicker').setOptions({minDate: currentDateTime})}})";
if($maxfrom != '')
- $extra_js .= "\$('#$maxfrom').on('dp.change',function (e) { \$('#$id').data('DateTimePicker').setMaxDate(e.date); });";
-
- $o .= "<div class='date' id='$id'><input type='text' placeholder='$dateformat' name='$id'/></div>";
- $o .= "<script type='text/javascript'>\$(function () {\$('#$id').datetimepicker({sideBySide: true, $pickers minDate: $mindate, maxDate: $maxdate, format: '$dateformat', useCurrent: false $defaultDate}); $extra_js});</script>";
+ $extra_js .= "\$('#$maxfrom').data('xdsoft_datetimepicker').setOptions({onChangeDateTime: function (currentDateTime) { \$('#$id').data('xdsoft_datetimepicker').setOptions({maxDate: currentDateTime})}})";
+
+ $readable_format = $dateformat;
+ $readable_format = str_replace('Y','yyyy',$readable_format);
+ $readable_format = str_replace('m','mm',$readable_format);
+ $readable_format = str_replace('d','dd',$readable_format);
+ $readable_format = str_replace('H','HH',$readable_format);
+ $readable_format = str_replace('i','MM',$readable_format);
+
+ $o .= "<div class='date'><input type='text' placeholder='$readable_format' name='$id' id='$id' $input_text />";
+ $o .= '</div>';
+ $o .= "<script type='text/javascript'>\$(function () {var picker = \$('#$id').datetimepicker({step:5,format:'$dateformat' $minjs $maxjs $pickers $defaultdatejs}); $extra_js})</script>";
return $o;
}
@@ -450,7 +442,10 @@ function update_birthdays() {
require_once('include/permissions.php');
$r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_dob > utc_timestamp() + interval 7 day and abook_dob < utc_timestamp() + interval 14 day");
+ WHERE abook_dob > %s + interval %s and abook_dob < %s + interval %s",
+ db_utcnow(), db_quoteinterval('7 day'),
+ db_utcnow(), db_quoteinterval('14 day')
+ );
if($r) {
foreach($r as $rr) {
@@ -472,7 +467,7 @@ function update_birthdays() {
$z = event_store_event($ev);
if($z) {
$item_id = event_store_item($ev,$z);
- q("update abook set abook_dob = '%s' where abook_id = %d limit 1",
+ q("update abook set abook_dob = '%s' where abook_id = %d",
dbesc(intval($rr['abook_dob']) + 1 . substr($rr['abook_dob'],4)),
intval($rr['abook_id'])
);
diff --git a/include/dba/dba_driver.php b/include/dba/dba_driver.php
index 3e19b7aa4..4a0f5e37b 100755
--- a/include/dba/dba_driver.php
+++ b/include/dba/dba_driver.php
@@ -1,42 +1,134 @@
-<?php /** @file */
+<?php
+/**
+ * @file dba_driver.php
+ * @brief some database related functions and abstract driver class.
+ *
+ * This file contains the abstract database driver class dba_driver and some
+ * functions for working with databases.
+ */
-function dba_factory($server, $port,$user,$pass,$db,$install = false) {
+/**
+ * @brief Returns the database driver object.
+ *
+ * If available it will use PHP's mysqli otherwise mysql driver.
+ *
+ * @param string $server DB server name
+ * @param string $port DB port
+ * @param string $user DB username
+ * @param string $pass DB password
+ * @param string $db database name
+ * @param string $dbtype 0 for mysql, 1 for postgres
+ * @param bool $install Defaults to false
+ * @return null|dba_driver A database driver object (dba_mysql|dba_mysqli) or null if no driver found.
+ */
+function dba_factory($server, $port,$user,$pass,$db,$dbtype,$install = false) {
$dba = null;
- if(class_exists('mysqli')) {
- if (is_null($port)) $port = ini_get("mysqli.default_port");
- require_once('include/dba/dba_mysqli.php');
- $dba = new dba_mysqli($server, $port,$user,$pass,$db,$install);
- }
- else {
- if (is_null($port)) $port = "3306";
- require_once('include/dba/dba_mysql.php');
- $dba = new dba_mysql($server, $port,$user,$pass,$db,$install);
+
+ $dbtype = intval($dbtype);
+
+ if($dbtype == DBTYPE_POSTGRES) {
+ require_once('include/dba/dba_postgres.php');
+ if(is_null($port)) $port = 5432;
+ $dba = new dba_postgres($server, $port, $user, $pass, $db, $install);
+ } else {
+ if(class_exists('mysqli')) {
+ if (is_null($port)) $port = ini_get("mysqli.default_port");
+ require_once('include/dba/dba_mysqli.php');
+ $dba = new dba_mysqli($server, $port,$user,$pass,$db,$install);
+ } else {
+ if (is_null($port)) $port = "3306";
+ require_once('include/dba/dba_mysql.php');
+ $dba = new dba_mysql($server, $port,$user,$pass,$db,$install);
+ }
}
+ define('NULL_DATE', $dba->get_null_date());
+ define('ACTIVE_DBTYPE', $dbtype);
return $dba;
}
-
+/**
+ * @brief abstract database driver class.
+ *
+ * This class gets extended by the real database driver classes, e.g. dba_mysql,
+ * dba_mysqli.
+ */
abstract class dba_driver {
-
+ // legacy behavior
+ const INSTALL_SCRIPT='install/schema_mysql.sql';
+ const NULL_DATE = '0000-00-00 00:00:00';
+ const UTC_NOW = 'UTC_TIMESTAMP()';
+
protected $debug = 0;
protected $db;
public $connected = false;
public $error = false;
- abstract function connect($server, $port, $user,$pass,$db);
+ /**
+ * @brief Connect to the database.
+ *
+ * This abstract function needs to be implemented in the real driver.
+ *
+ * @param string $server DB server name
+ * @param string $port DB port
+ * @param string $user DB username
+ * @param string $pass DB password
+ * @param string $db database name
+ * @return bool
+ */
+ abstract function connect($server, $port, $user, $pass, $db);
+
+ /**
+ * @brief Perform a DB query with the SQL statement $sql.
+ *
+ * This abstract function needs to be implemented in the real driver.
+ *
+ * @param string $sql The SQL query to execute
+ */
abstract function q($sql);
+
+ /**
+ * @brief Escape a string before being passed to a DB query.
+ *
+ * This abstract function needs to be implemented in the real driver.
+ *
+ * @param string $str The string to escape.
+ */
abstract function escape($str);
+
+ /**
+ * @brief Close the database connection.
+ *
+ * This abstract function needs to be implemented in the real driver.
+ */
abstract function close();
+ /**
+ * @brief Return text name for db driver
+ *
+ * This abstract function needs to be implemented in the real driver.
+ */
+ abstract function getdriver();
+
function __construct($server, $port, $user,$pass,$db,$install = false) {
- if(($install) && (! $this->install($server, $port, $user,$pass,$db))) {
+ if(($install) && (! $this->install($server, $port, $user, $pass, $db))) {
return;
}
- $this->connect($server, $port, $user,$pass,$db);
+ $this->connect($server, $port, $user, $pass, $db);
}
+ function get_null_date() {
+ return static::NULL_DATE;
+ }
+
+ function get_install_script() {
+ return static::INSTALL_SCRIPT;
+ }
+
+ function utcnow() {
+ return static::UTC_NOW;
+ }
function install($server,$user,$pass,$db) {
if (!(strlen($server) && strlen($user))){
@@ -56,7 +148,11 @@ abstract class dba_driver {
return true;
}
-
+ /**
+ * @brief Sets the database driver's debugging state.
+ *
+ * @param int $dbg 0 to disable debugging
+ */
function dbg($dbg) {
$this->debug = $dbg;
}
@@ -67,9 +163,30 @@ abstract class dba_driver {
}
}
-}
+ function quote_interval($txt) {
+ return $txt;
+ }
+
+ function optimize_table($table) {
+ q('OPTIMIZE TABLE '.$table);
+ }
+
+ function concat($fld, $sep) {
+ return 'GROUP_CONCAT(DISTINCT '.$fld.' SEPARATOR \''.$sep.'\')';
+ }
+
+ function escapebin($str) {
+ return $this->escape($str);
+ }
+
+ function unescapebin($str) {
+ return $str;
+ }
+} // end abstract dba_driver class
+
+// Procedural functions
function printable($s) {
$s = preg_replace("~([\x01-\x08\x0E-\x0F\x10-\x1F\x7F-\xFF])~",".", $s);
@@ -79,24 +196,79 @@ function printable($s) {
return $s;
}
-// Procedural functions
-
+/**
+ * @brief set database driver debugging state.
+ *
+ * @param int $state 0 to disable debugging
+ */
function dbg($state) {
global $db;
+
if($db)
- $db->dbg($state);
+ $db->dbg($state);
}
-
+/**
+ * @brief Escape strings being passed to DB queries.
+ *
+ * Always escape strings being used in DB queries. This function returns the
+ * escaped string. Integer DB parameters should all be proven integers by
+ * wrapping with intval().
+ *
+ * @param string $str A string to pass to a DB query
+ * @return Return an escaped string of the value to pass to a DB query.
+ */
function dbesc($str) {
global $db;
+
if($db && $db->connected)
return($db->escape($str));
else
- return(str_replace("'","\\'",$str));
+ return(str_replace("'", "\\'", $str));
+}
+function dbescbin($str) {
+ global $db;
+ return $db->escapebin($str);
+}
+
+function dbunescbin($str) {
+ global $db;
+ return $db->unescapebin($str);
+}
+
+function dbescdate($date) {
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES && $date == '0000-00-00 00:00:00') {
+ $date = NULL_DATE;
+ } else if(ACTIVE_DBTYPE != DBTYPE_POSTGRES && $date == '0001-01-01 00:00:00') {
+ $date = NULL_DATE;
+ }
+ return $date;
+}
+
+function db_quoteinterval($txt) {
+ global $db;
+ return $db->quote_interval($txt);
+}
+
+function dbesc_identifier($str) {
+ global $db;
+ return $db->escape_identifier($txt);
+}
+
+function db_utcnow() {
+ global $db;
+ return $db->utcnow();
}
+function db_optimizetable($table) {
+ global $db;
+ $db->optimize_table($table);
+}
+function db_concat($fld, $sep) {
+ global $db;
+ return $db->concat($fld, $sep);
+}
// Function: q($sql,$args);
// Description: execute SQL query with printf style args.
@@ -104,68 +276,114 @@ function dbesc($str) {
// 'user', 1);
+/**
+ * @brief Execute a SQL query with printf style args.
+ *
+ * printf style arguments %s and %d are replaced with variable arguments, which
+ * should each be appropriately dbesc() or intval().
+ * SELECT queries return an array of results or false if SQL or DB error. Other
+ * queries return true if the command was successful or false if it wasn't.
+ *
+ * Example:
+ * $r = q("SELECT * FROM `%s` WHERE `uid` = %d",
+ * 'user', 1);
+ *
+ * @param string $sql The SQL query to execute
+ * @return bool|array
+ */
function q($sql) {
-
global $db;
+
$args = func_get_args();
unset($args[0]);
if($db && $db->connected) {
- $stmt = vsprintf($sql,$args);
+ $stmt = vsprintf($sql, $args);
if($stmt === false) {
- if(version_compare(PHP_VERSION,'5.4.0') >= 0)
- logger('dba: vsprintf error: ' . print_r(debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT,1),true));
+ if(version_compare(PHP_VERSION, '5.4.0') >= 0)
+ logger('dba: vsprintf error: ' .
+ print_r(debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT, 1), true));
else
- logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true));
+ logger('dba: vsprintf error: ' . print_r(debug_backtrace(), true));
}
return $db->q($stmt);
}
- /**
- *
+ /*
* This will happen occasionally trying to store the
* session data after abnormal program termination
- *
*/
logger('dba: no database: ' . print_r($args,true));
- return false;
+ return false;
}
/**
+ * @brief Raw DB query, no arguments.
*
- * Raw db query, no arguments
+ * This function executes a raw DB query without any arguments.
*
+ * @param string $sql The SQL query to execute
*/
-
-
function dbq($sql) {
-
global $db;
+
if($db && $db->connected)
$ret = $db->q($sql);
else
$ret = false;
+
return $ret;
}
-// Caller is responsible for ensuring that any integer arguments to
+
+// Caller is responsible for ensuring that any integer arguments to
// dbesc_array are actually integers and not malformed strings containing
// SQL injection vectors. All integer array elements should be specifically
// cast to int to avoid trouble.
-
-
function dbesc_array_cb(&$item, $key) {
- if(is_string($item))
+ if(is_string($item)) {
+ if($item == '0000-00-00 00:00:00' && ACTIVE_DBTYPE == DBTYPE_POSTGRES)
+ $item = '0001-01-01 00:00:00';
+ else if($item == '0001-01-01 00:00:00' && ACTIVE_DBTYPE == DBTYPE_MYSQL)
+ $item = '0000-00-00 00:00:00';
$item = dbesc($item);
+ }
}
-
function dbesc_array(&$arr) {
if(is_array($arr) && count($arr)) {
array_walk($arr,'dbesc_array_cb');
}
}
+
+function db_getfunc($f) {
+ $lookup = array(
+ 'rand'=>array(
+ DBTYPE_MYSQL=>'RAND()',
+ DBTYPE_POSTGRES=>'RANDOM()'
+ ),
+ 'utc_timestamp'=>array(
+ DBTYPE_MYSQL=>'UTC_TIMESTAMP()',
+ DBTYPE_POSTGRES=>"now() at time zone 'UTC'"
+ ),
+ 'regexp'=>array(
+ DBTYPE_MYSQL=>'REGEXP',
+ DBTYPE_POSTGRES=>'~'
+ ),
+ '^'=>array(
+ DBTYPE_MYSQL=>'^',
+ DBTYPE_POSTGRES=>'#'
+ )
+ );
+ $f = strtolower($f);
+ if(isset($lookup[$f]) && isset($lookup[$f][ACTIVE_DBTYPE]))
+ return $lookup[$f][ACTIVE_DBTYPE];
+
+ logger('Unable to abstract DB function "'. $f . '" for dbtype ' . ACTIVE_DBTYPE, LOGGER_DEBUG);
+ return $f;
+}
+
diff --git a/include/dba/dba_mysql.php b/include/dba/dba_mysql.php
index f5a2a47ba..3cadad6dc 100755
--- a/include/dba/dba_mysql.php
+++ b/include/dba/dba_mysql.php
@@ -59,5 +59,9 @@ class dba_mysql extends dba_driver {
mysql_close($this->db);
$this->connected = false;
}
+
+ function getdriver() {
+ return 'mysql';
+ }
}
diff --git a/include/dba/dba_mysqli.php b/include/dba/dba_mysqli.php
index 19907705b..74a999974 100755
--- a/include/dba/dba_mysqli.php
+++ b/include/dba/dba_mysqli.php
@@ -40,7 +40,7 @@ class dba_mysqli extends dba_driver {
if(($result === true) || ($result === false)) {
if($this->debug) {
- logger('dba_mysqli: DEBUG: returns ' . (($result) ? 'true' : 'false'));
+ logger('dba_mysqli: DEBUG: ' . printable($sql) . ' returns ' . (($result) ? 'true' : 'false'));
}
return $result;
}
@@ -72,5 +72,9 @@ class dba_mysqli extends dba_driver {
$this->db->close();
$this->connected = false;
}
+
+ function getdriver() {
+ return 'mysqli';
+ }
} \ No newline at end of file
diff --git a/include/dba/dba_postgres.php b/include/dba/dba_postgres.php
new file mode 100644
index 000000000..ba4366d13
--- /dev/null
+++ b/include/dba/dba_postgres.php
@@ -0,0 +1,116 @@
+<?php
+
+require_once('include/dba/dba_driver.php');
+
+
+class dba_postgres extends dba_driver {
+ const INSTALL_SCRIPT='install/schema_postgres.sql';
+ const NULL_DATE = '0001-01-01 00:00:00';
+ const UTC_NOW = "now() at time zone 'UTC'";
+
+ function connect($server,$port,$user,$pass,$db) {
+ if(!$port) $port = 5432;
+ $connstr = 'host=' . $server . ' port='.$port . ' user=' . $user . ' password=' . $pass . ' dbname='. $db;
+ $this->db = pg_connect($connstr);
+ if($this->db !== false) {
+ $this->connected = true;
+ } else {
+ $this->connected = false;
+ }
+ $this->q("SET standard_conforming_strings = 'off'; SET backslash_quote = 'on';"); // emulate mysql string escaping to prevent massive code-clobber
+ return $this->connected;
+ }
+
+ function q($sql) {
+ if((! $this->db) || (! $this->connected))
+ return false;
+
+ if(!strpos($sql, ';'))
+ $sql .= ';';
+
+ if(strpos($sql, '`')) // this is a hack. quoted identifiers should be replaced everywhere in the code with dbesc_identifier(), remove this once it is
+ $sql = str_replace('`', '"', $sql);
+
+ $this->error = '';
+ $result = @pg_query($this->db, $sql);
+ if(file_exists('db-allqueries.out')) {
+ $bt = debug_backtrace();
+ $trace = array();
+ foreach($bt as $frame) {
+ if(!empty($frame['file']) && @strstr($frame['file'], $_SERVER['DOCUMENT_ROOT']))
+ $frame['file'] = substr($frame['file'], strlen($_SERVER['DOCUMENT_ROOT'])+1);
+
+ $trace[] = $frame['file'] . ':' . $frame['function'] . '():' . $frame['line'] ;
+ }
+ $compact = join(', ', $trace);
+ file_put_contents('db-allqueries.out', datetime_convert() . ": " . $sql . ' is_resource: '.var_export(is_resource($result), true).', backtrace: '.$compact."\n\n", FILE_APPEND);
+ }
+
+ if($result === false)
+ $this->error = pg_last_error($this->db);
+
+ if($result === false || $this->error) {
+ //logger('dba_postgres: ' . printable($sql) . ' returned false.' . "\n" . $this->error);
+ if(file_exists('dbfail.out'))
+ file_put_contents('dbfail.out', datetime_convert() . "\n" . printable($sql) . ' returned false' . "\n" . $this->error . "\n", FILE_APPEND);
+ }
+
+ if(($result === true) || ($result === false))
+ return $result;
+
+ if(pg_result_status($result) == PGSQL_COMMAND_OK)
+ return true;
+
+ $r = array();
+ if(pg_num_rows($result)) {
+ while($x = pg_fetch_array($result, null, PGSQL_ASSOC))
+ $r[] = $x;
+ pg_free_result($result);
+ if($this->debug)
+ logger('dba_postgres: ' . printable(print_r($r,true)));
+ }
+ return $r;
+ }
+
+ function escape($str) {
+ if($this->db && $this->connected) {
+ $x = @pg_escape_string($this->db, $str);
+ return $x;
+ }
+ }
+
+ function escapebin($str) {
+ return pg_escape_bytea($str);
+ }
+
+ function unescapebin($str) {
+ return pg_unescape_bytea($str);
+ }
+
+ function close() {
+ if($this->db)
+ pg_close($this->db);
+ $this->connected = false;
+ }
+
+ function quote_interval($txt) {
+ return "'$txt'";
+ }
+
+ function escape_identifier($str) {
+ return pg_escape_identifier($this->db, $str);
+ }
+
+ function optimize_table($table) {
+ // perhaps do some equivalent thing here, vacuum, etc? I think this is the DBA's domain anyway. Applications should not need to muss with this.
+ // for now do nothing without a compelling reason. function overrides default legacy mysql.
+ }
+
+ function concat($fld, $sep) {
+ return 'string_agg(' . $fld . ',\'' . $sep . '\')';
+ }
+
+ function getdriver() {
+ return 'pgsql';
+ }
+} \ No newline at end of file
diff --git a/include/deliver.php b/include/deliver.php
index f4fae6061..47d8562df 100644
--- a/include/deliver.php
+++ b/include/deliver.php
@@ -24,13 +24,13 @@ function deliver_run($argv, $argc) {
$result = z_post_url($r[0]['outq_posturl'],$r[0]['outq_msg']);
if($result['success'] && $result['return_code'] < 300) {
logger('deliver: queue post success to ' . $r[0]['outq_posturl'], LOGGER_DEBUG);
- $y = q("delete from outq where outq_hash = '%s' limit 1",
+ $y = q("delete from outq where outq_hash = '%s'",
dbesc($argv[$x])
);
}
else {
logger('deliver: queue post returned ' . $result['return_code'] . ' from ' . $r[0]['outq_posturl'],LOGGER_DEBUG);
- $y = q("update outq set outq_updated = '%s' where outq_hash = '%s' limit 1",
+ $y = q("update outq set outq_updated = '%s' where outq_hash = '%s'",
dbesc(datetime_convert()),
dbesc($argv[$x])
);
@@ -38,16 +38,34 @@ function deliver_run($argv, $argc) {
continue;
}
- if($r[0]['outq_posturl'] === z_root() . '/post') {
+ $notify = json_decode($r[0]['outq_notify'],true);
+
+ // Check if this is a conversation request packet. It won't have outq_msg
+ // but will be an encrypted packet - so will need to be handed off to
+ // web delivery rather than processed inline.
+
+ $sendtoweb = false;
+ if(array_key_exists('iv',$notify) && (! $r[0]['outq_msg']))
+ $sendtoweb = true;
+
+ if(($r[0]['outq_posturl'] === z_root() . '/post') && (! $sendtoweb)) {
logger('deliver: local delivery', LOGGER_DEBUG);
// local delivery
// we should probably batch these and save a few delivery processes
- // If there is no outq_msg, this is a refresh_all message which does not require local handling
- if($r[0]['outq_msg']) {
- $msg = array('body' => json_encode(array('pickup' => array(array('notify' => json_decode($r[0]['outq_notify'],true),'message' => json_decode($r[0]['outq_msg'],true))))));
- zot_import($msg,z_root());
- $r = q("delete from outq where outq_hash = '%s' limit 1",
+ if($r[0]['outq_msg']) {
+ $m = json_decode($r[0]['outq_msg'],true);
+ if(array_key_exists('message_list',$m)) {
+ foreach($m['message_list'] as $mm) {
+ $msg = array('body' => json_encode(array('pickup' => array(array('notify' => $notify,'message' => $mm)))));
+ zot_import($msg,z_root());
+ }
+ }
+ else {
+ $msg = array('body' => json_encode(array('pickup' => array(array('notify' => $notify,'message' => $m)))));
+ zot_import($msg,z_root());
+ }
+ $r = q("delete from outq where outq_hash = '%s'",
dbesc($argv[$x])
);
}
@@ -59,7 +77,7 @@ function deliver_run($argv, $argc) {
zot_process_response($r[0]['outq_posturl'],$result, $r[0]);
}
else {
- $y = q("update outq set outq_updated = '%s' where outq_hash = '%s' limit 1",
+ $y = q("update outq set outq_updated = '%s' where outq_hash = '%s'",
dbesc(datetime_convert()),
dbesc($argv[$x])
);
diff --git a/include/diaspora.php b/include/diaspora.php
index c6d4b7423..e494aac0f 100755
--- a/include/diaspora.php
+++ b/include/diaspora.php
@@ -58,7 +58,7 @@ function diaspora_dispatch($importer,$msg,$attempt=1) {
$xmlbase = $parsed_xml->post;
- logger('diaspora_dispatch: ' . print_r($xmlbase,true), LOGGER_DATA);
+// logger('diaspora_dispatch: ' . print_r($xmlbase,true), LOGGER_DATA);
if($xmlbase->request) {
@@ -657,7 +657,7 @@ function diaspora_request($importer,$xml) {
$newperms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK|PERMS_W_STREAM|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT|PERMS_R_STORAGE|PERMS_R_PAGES;
- $r = q("update abook set abook_their_perms = %d where abook_id = %d and abook_channel = %d limit 1",
+ $r = q("update abook set abook_their_perms = %d where abook_id = %d and abook_channel = %d",
intval($newperms),
intval($contact['abook_id']),
intval($importer['channel_id'])
@@ -673,16 +673,15 @@ function diaspora_request($importer,$xml) {
return;
}
- $default_perms = 0;
- // look for default permissions to apply in return - e.g. auto-friend
- $z = q("select * from abook where abook_channel = %d and (abook_flags & %d) limit 1",
- intval($importer['channel_id']),
- intval(ABOOK_FLAG_SELF)
- );
-
- if($z)
- $default_perms = intval($z[0]['abook_my_perms']);
-
+ $role = get_pconfig($channel['channel_id'],'system','permissions_role');
+ if($role) {
+ $x = get_role_perms($role);
+ if($x['perms_auto'])
+ $default_perms = $x['perms_accept'];
+ }
+ if(! $default_perms)
+ $default_perms = intval(get_pconfig($channel['channel_id'],'system','autoperms'));
+
$their_perms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK|PERMS_W_STREAM|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT|PERMS_R_STORAGE|PERMS_R_PAGES;
$r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_my_perms, abook_their_perms, abook_closeness, abook_rating, abook_created, abook_updated, abook_connected, abook_dob, abook_flags) values ( %d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', %d )",
@@ -1396,7 +1395,12 @@ function diaspora_comment($importer,$xml,$msg) {
$datarray['body'] = $body;
- $datarray['app'] = 'Diaspora';
+ if(strstr($person['xchan_network'],'friendica'))
+ $app = 'Friendica';
+ else
+ $app = 'Diaspora';
+
+ $datarray['app'] = $app;
if(! $parent_author_signature) {
$key = get_config('system','pubkey');
@@ -1789,7 +1793,7 @@ function diaspora_like($importer,$xml,$msg) {
$contact = diaspora_get_contact_by_handle($importer['channel_id'],$msg['author']);
if(! $contact) {
- logger('diaspora_like: cannot find contact: ' . $msg['author']);
+ logger('diaspora_like: cannot find contact: ' . $msg['author'] . ' for channel ' . $importer['channel_name']);
return;
}
diff --git a/include/dir_fns.php b/include/dir_fns.php
index f58e7c307..af6f78c01 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -38,7 +38,7 @@ function check_upstream_directory() {
*/
$directory = get_config('system','directory_server');
if ($directory) {
- $r = q("select * from site where site_url = '%s' and (site_flags & %d) ",
+ $r = q("select * from site where site_url = '%s' and (site_flags & %d) > 0 ",
dbesc($directory),
intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY|DIRECTORY_MODE_STANDALONE)
);
@@ -51,12 +51,32 @@ function check_upstream_directory() {
}
function dir_sort_links() {
+ // Build urls without order and pubforums so it's easy to tack on the changed value
+ // Probably there's an easier way to do this
+
+ $current_order = (($_REQUEST['order']) ? $_REQUEST['order'] : 'normal');
+ $url = 'directory?';
+ $tmp = $_REQUEST;
+ unset($tmp['order']);
+ $sorturl = $url . http_build_query($tmp);
+ $tmp = $_REQUEST;
+
+ unset($tmp['pubforums']);
+ $forumsurl = $url . http_build_query($tmp);
$o = replace_macros(get_markup_template('dir_sort_links.tpl'), array(
- '$header' => t('Sort Options'),
+ '$header' => t('Directory Options'),
'$normal' => t('Alphabetic'),
'$reverse' => t('Reverse Alphabetic'),
- '$date' => t('Newest to Oldest')
+ '$date' => t('Newest to Oldest'),
+ '$reversedate' => t('Oldest to Newest'),
+ '$pubforums' => t('Public Forums Only'),
+ '$pubforumsonly' => x($_REQUEST,'pubforums') ? $_REQUEST['pubforums'] : '',
+ '$sort' => t('Sort'),
+ '$selected_sort' => $current_order,
+ '$sorturl' => $sorturl,
+ '$forumsurl' => $forumsurl,
+
));
return $o;
}
@@ -86,14 +106,14 @@ function sync_directories($dirmode) {
$realm = get_directory_realm();
if($realm == DIRECTORY_REALM) {
- $r = q("select * from site where (site_flags & %d) and site_url != '%s' and ( site_realm = '%s' or site_realm = '') ",
+ $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and ( site_realm = '%s' or site_realm = '') ",
intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
dbesc(z_root()),
dbesc($realm)
);
}
else {
- $r = q("select * from site where (site_flags & %d) and site_url != '%s' and site_realm like '%s' ",
+ $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s' and site_realm like '%s' ",
intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
dbesc(z_root()),
dbesc(protect_sprintf('%' . $realm . '%'))
@@ -120,7 +140,7 @@ function sync_directories($dirmode) {
dbesc($r[0]['site_realm'])
);
- $r = q("select * from site where (site_flags & %d) and site_url != '%s'",
+ $r = q("select * from site where (site_flags & %d) > 0 and site_url != '%s'",
intval(DIRECTORY_MODE_PRIMARY|DIRECTORY_MODE_SECONDARY),
dbesc(z_root())
);
@@ -146,7 +166,7 @@ function sync_directories($dirmode) {
if((! $j['transactions']) || (! is_array($j['transactions'])))
continue;
- q("update site set site_sync = '%s' where site_url = '%s' limit 1",
+ q("update site set site_sync = '%s' where site_url = '%s'",
dbesc(datetime_convert()),
dbesc($rr['site_url'])
);
@@ -212,7 +232,7 @@ function update_directory_entry($ud) {
function local_dir_update($uid,$force) {
- logger('local_dir_update', LOGGER_DEBUG);
+ logger('local_dir_update: uid: ' . $uid, LOGGER_DEBUG);
$p = q("select channel.channel_hash, channel_address, channel_timezone, profile.* from profile left join channel on channel_id = uid where uid = %d and is_default = 1",
intval($uid)
@@ -267,7 +287,7 @@ function local_dir_update($uid,$force) {
if($new_flags != $r[0]['xchan_flags']) {
- $r = q("update xchan set xchan_flags = %d where xchan_hash = '%s' limit 1",
+ $r = q("update xchan set xchan_flags = %d where xchan_hash = '%s'",
intval($new_flags),
dbesc($p[0]['channel_hash'])
);
@@ -281,10 +301,10 @@ function local_dir_update($uid,$force) {
}
else {
// they may have made it private
- $r = q("delete from xprof where xprof_hash = '%s' limit 1",
+ $r = q("delete from xprof where xprof_hash = '%s'",
dbesc($hash)
);
- $r = q("delete from xtag where xtag_hash = '%s' limit 1",
+ $r = q("delete from xtag where xtag_hash = '%s'",
dbesc($hash)
);
}
diff --git a/include/directory.php b/include/directory.php
index 60070f7ec..a7324a99a 100644
--- a/include/directory.php
+++ b/include/directory.php
@@ -42,7 +42,7 @@ function directory_run($argv, $argc){
local_dir_update($argv[1],$force);
- q("update channel set channel_dirdate = '%s' where channel_id = %d limit 1",
+ q("update channel set channel_dirdate = '%s' where channel_id = %d",
dbesc(datetime_convert()),
intval($channel['channel_id'])
);
@@ -85,7 +85,7 @@ function directory_run($argv, $argc){
);
}
else {
- q("update channel set channel_dirdate = '%s' where channel_id = %d limit 1",
+ q("update channel set channel_dirdate = '%s' where channel_id = %d",
dbesc(datetime_convert()),
intval($channel['channel_id'])
);
diff --git a/include/enotify.php b/include/enotify.php
index 2503f9ab0..3fef3ba0a 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -18,7 +18,7 @@ function notification($params) {
}
if($params['to_xchan']) {
$y = q("select channel.*, account.* from channel left join account on channel_account_id = account_id
- where channel_hash = '%s' and not (channel_pageflags & %d) limit 1",
+ where channel_hash = '%s' and not (channel_pageflags & %d)>0 limit 1",
dbesc($params['to_xchan']),
intval(PAGE_REMOVED)
);
@@ -357,9 +357,21 @@ function notification($params) {
// create notification entry in DB
+ $seen = 0;
+
+ // Mark some notifications as seen right away
+ // Note! The notification have to be created, because they are used to send emails
+ // So easiest solution to hide them from Notices is to mark them as seen right away.
+ // Another option would be to not add them to the DB, and change how emails are handled (probably would be better that way)
+ $always_show_in_notices = get_pconfig($recip['channel_id'],'system','always_show_in_notices');
+ if(!$always_show_in_notices) {
+ if(($params['type'] == NOTIFY_WALL) || ($params['type'] == NOTIFY_MAIL) || ($params['type'] == NOTIFY_INTRO)) {
+ $seen = 1;
+ }
+ }
- $r = q("insert into notify (hash,name,url,photo,date,aid,uid,link,parent,type,verb,otype)
- values('%s','%s','%s','%s','%s',%d,%d,'%s','%s',%d,'%s','%s')",
+ $r = q("insert into notify (hash,name,url,photo,date,aid,uid,link,parent,seen,type,verb,otype)
+ values('%s','%s','%s','%s','%s',%d,%d,'%s','%s',%d,%d,'%s','%s')",
dbesc($datarray['hash']),
dbesc($datarray['name']),
dbesc($datarray['url']),
@@ -369,6 +381,7 @@ function notification($params) {
intval($datarray['uid']),
dbesc($datarray['link']),
dbesc($datarray['parent']),
+ intval($seen),
intval($datarray['type']),
dbesc($datarray['verb']),
dbesc($datarray['otype'])
@@ -394,7 +407,7 @@ function notification($params) {
if(($a->language === 'en' || (! $a->language)) && strpos($msg,', '))
$msg = substr($msg,strpos($msg,', ')+1);
- $r = q("update notify set msg = '%s' where id = %d and uid = %d limit 1",
+ $r = q("update notify set msg = '%s' where id = %d and uid = %d",
dbesc($msg),
intval($notify_id),
intval($datarray['uid'])
diff --git a/include/event.php b/include/event.php
index 03ecaa0a7..1ed541d99 100644
--- a/include/event.php
+++ b/include/event.php
@@ -45,6 +45,56 @@ function format_event_html($ev) {
return $o;
}
+
+
+function ical_wrapper($ev) {
+
+ if(! ((is_array($ev)) && count($ev)))
+ return '';
+
+ $o .= "BEGIN:VCALENDAR";
+ $o .= "\nVERSION:2.0";
+ $o .= "\nMETHOD:PUBLISH";
+ $o .= "\nPRODID:-//" . get_config('system','sitename') . "//" . RED_PLATFORM . "//" . strtoupper(get_app()->language). "\n";
+ if(array_key_exists('start',$ev))
+ $o .= format_event_ical($ev);
+ else {
+ foreach($ev as $e) {
+ $o .= format_event_ical($e);
+ }
+ }
+ $o .= "\nEND:VCALENDAR\n";
+
+ return $o;
+}
+
+function format_event_ical($ev) {
+
+ $o = '';
+
+ $o .= "\nBEGIN:VEVENT";
+ if($ev['start'])
+ $o .= "\nDTSTART:" . datetime_convert('UTC','UTC', $ev['start'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
+ if($ev['finish'] && ! $ev['nofinish'])
+ $o .= "\nDTEND:" . datetime_convert('UTC','UTC', $ev['finish'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
+ if($ev['summary'])
+ $o .= "\nSUMMARY:" . format_ical_text($ev['summary']);
+ if($ev['location'])
+ $o .= "\nLOCATION:" . format_ical_text($ev['location']);
+ if($ev['description'])
+ $o .= "\nDESCRIPTION:" . format_ical_text($ev['description']);
+ $o .= "\nEND:VEVENT\n";
+ return $o;
+}
+
+function format_ical_text($s) {
+
+ require_once('include/bbcode.php');
+ require_once('include/html2plain.php');
+ return(wordwrap(html2plain(bbcode($s)),72,"\n ",true));
+}
+
+
function format_event_bbcode($ev) {
$o = '';
@@ -183,7 +233,7 @@ function event_store_event($arr) {
`allow_gid` = '%s',
`deny_cid` = '%s',
`deny_gid` = '%s'
- WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ WHERE `id` = %d AND `uid` = %d",
dbesc($arr['edited']),
dbesc($arr['start']),
@@ -284,7 +334,7 @@ function event_addtocal($item_id, $uid) {
$event = event_store_event($ev);
if($event) {
- $r = q("update item set resource_id = '%s', resource_type = 'event' where id = %d and uid = %d limit 1",
+ $r = q("update item set resource_id = '%s', resource_type = 'event' where id = %d and uid = %d",
dbesc($event['event_hash']),
intval($item['id']),
intval($channel['channel_id'])
@@ -359,7 +409,7 @@ function event_store_item($arr,$event) {
$private = (($arr['allow_cid'] || $arr['allow_gid'] || $arr['deny_cid'] || $arr['deny_gid']) ? 1 : 0);
- q("UPDATE item SET title = '%s', body = '%s', object = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', edited = '%s', item_flags = %d, item_private = %d WHERE id = %d AND uid = %d LIMIT 1",
+ q("UPDATE item SET title = '%s', body = '%s', object = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', edited = '%s', item_flags = %d, item_private = %d WHERE id = %d AND uid = %d",
dbesc($arr['summary']),
dbesc($prefix . format_event_bbcode($arr)),
dbesc($object),
diff --git a/include/expire.php b/include/expire.php
index 442914a39..a229bd4ac 100644
--- a/include/expire.php
+++ b/include/expire.php
@@ -7,9 +7,10 @@ function expire_run($argv, $argc){
cli_startup();
- $r = q("select id from item where (item_restrict & %d) and not (item_restrict & %d) and changed < UTC_TIMESTAMP() - INTERVAL 10 DAY",
+ $r = q("select id from item where (item_restrict & %d)>0 and not (item_restrict & %d)>0 and changed < %s - INTERVAL %s",
intval(ITEM_DELETED),
- intval(ITEM_PENDING_REMOVE)
+ intval(ITEM_PENDING_REMOVE),
+ db_utcnow(), db_quoteinterval('10 DAY')
);
if($r) {
foreach($r as $rr) {
@@ -19,8 +20,9 @@ function expire_run($argv, $argc){
// physically remove anything that has been deleted for more than two months
- $r = q("delete from item where ( item_restrict & %d ) and changed < UTC_TIMESTAMP() - INTERVAL 36 DAY",
- intval(ITEM_PENDING_REMOVE)
+ $r = q("delete from item where ( item_restrict & %d )>0 and changed < %s - INTERVAL %s",
+ intval(ITEM_PENDING_REMOVE),
+ db_utcnow(), db_quoteinterval('36 DAY')
);
// make this optional as it could have a performance impact on large sites
diff --git a/include/externals.php b/include/externals.php
index 280daf4a4..b0f853dc6 100644
--- a/include/externals.php
+++ b/include/externals.php
@@ -14,6 +14,8 @@ function externals_run($argv, $argc){
$total = 0;
$attempts = 0;
+ logger('externals: startup', LOGGER_DEBUG);
+
// pull in some public posts
@@ -25,7 +27,8 @@ function externals_run($argv, $argc){
$url = $arr['url'];
}
else {
- $r = q("select site_url, site_pull from site where site_url != '%s' and site_flags != %d order by rand() limit 1",
+ $randfunc = db_getfunc('RAND');
+ $r = q("select site_url, site_pull from site where site_url != '%s' and site_flags != %d order by $randfunc limit 1",
dbesc(z_root()),
intval(DIRECTORY_MODE_STANDALONE)
);
@@ -76,7 +79,7 @@ function externals_run($argv, $argc){
$x = z_fetch_url($feedurl);
if(($x) && ($x['success'])) {
- q("update site set site_pull = '%s' where site_url = '%s' limit 1",
+ q("update site set site_pull = '%s' where site_url = '%s'",
dbesc(datetime_convert()),
dbesc($url)
);
@@ -99,12 +102,12 @@ $z = null;
$flag_bits = ITEM_WALL|ITEM_ORIGIN|ITEM_UPLINK;
// preserve the source
- $r = q("update item set source_xchan = owner_xchan where id = %d limit 1",
+ $r = q("update item set source_xchan = owner_xchan where id = %d",
intval($z[0]['id'])
);
$r = q("update item set item_flags = ( item_flags | %d ), owner_xchan = '%s'
- where id = %d limit 1",
+ where id = %d",
intval($flag_bits),
dbesc($sys['xchan_hash']),
intval($z[0]['id'])
diff --git a/include/features.php b/include/features.php
index 7530158ec..7009b1d6b 100644
--- a/include/features.php
+++ b/include/features.php
@@ -45,9 +45,10 @@ function get_features() {
t('Post Composition Features'),
// array('richtext', t('Richtext Editor'), t('Enable richtext editor')),
array('markdown', t('Use Markdown'), t('Allow use of "Markdown" to format posts')),
- array('preview', t('Post Preview'), t('Allow previewing posts and comments before publishing them')),
+// array('preview', t('Post Preview'), t('Allow previewing posts and comments before publishing them')),
array('channel_sources', t('Channel Sources'), t('Automatically import channel content from other channels or feeds')),
array('content_encrypt', t('Even More Encryption'), t('Allow optional encryption of content end-to-end with a shared secret key')),
+ array('adult_photo_flagging', t('Flag Adult Photos'), t('Provide photo edit option to hide adult photos from default album view')),
),
// Network Tools
@@ -66,7 +67,7 @@ function get_features() {
'tools' => array(
t('Post/Comment Tools'),
// array('multi_delete', t('Multiple Deletion'), t('Select and delete multiple posts/comments at once')),
- array('edit_posts', t('Edit Sent Posts'), t('Edit and correct posts and comments after sending')),
+// array('edit_posts', t('Edit Sent Posts'), t('Edit and correct posts and comments after sending')),
array('commtag', t('Tagging'), t('Ability to tag existing posts')),
array('categories', t('Post Categories'), t('Add categories to your posts')),
array('filing', t('Saved Folders'), t('Ability to file posts under folders')),
diff --git a/include/fixd.php b/include/fixd.php
new file mode 100644
index 000000000..bce5eb348
--- /dev/null
+++ b/include/fixd.php
@@ -0,0 +1,33 @@
+<?php
+
+ require_once('include/cli_startup.php');
+
+ cli_startup();
+
+ $rand = db_getfunc('RAND');
+ $r = q("select xchan_addr, hubloc_url from xchan left join hubloc on hubloc_hash = xchan_hash where xchan_network like '%%diaspora%%' order by $rand");
+
+ if(! $r)
+ killme();
+
+ require_once('include/network.php');
+ $total = 0;
+ foreach ($r as $rr) {
+ if($rr['hubloc_url']) {
+ continue;
+ }
+ $total ++;
+ }
+
+ print $total . "\n";
+
+ foreach ($r as $rr) {
+ if($rr['hubloc_url']) {
+ continue;
+ }
+
+ $webbie = $rr['xchan_addr'];
+ print $webbie . ' ';
+
+ discover_by_webbie($webbie);
+ }
diff --git a/include/follow.php b/include/follow.php
index 14385d90d..1abd0e3b9 100644
--- a/include/follow.php
+++ b/include/follow.php
@@ -37,7 +37,7 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
// check service class limits
- $r = q("select count(*) as total from abook where abook_channel = %d and not (abook_flags & %d) ",
+ $r = q("select count(*) as total from abook where abook_channel = %d and not (abook_flags & %d)>0 ",
intval($uid),
intval(ABOOK_FLAG_SELF)
);
@@ -64,9 +64,9 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
$j = json_decode($ret['body'],true);
}
- if($is_red && $j) {
+ $my_perms = get_channel_default_perms($uid);
- $my_perms = PERMS_W_STREAM|PERMS_W_MAIL;
+ if($is_red && $j) {
$role = get_pconfig($uid,'system','permissions_role');
if($role) {
@@ -137,7 +137,6 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
}
}
- $my_perms = 0;
$their_perms = 0;
$xchan_hash = '';
@@ -164,7 +163,6 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
if($r) {
$xchan_hash = $r[0]['xchan_hash'];
$their_perms = 0;
- $my_perms = PERMS_W_STREAM|PERMS_W_MAIL;
$role = get_pconfig($uid,'system','permissions_role');
if($role) {
$x = get_role_perms($role);
@@ -205,8 +203,9 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
return $result;
}
- $r = q("select count(*) as total from abook where abook_account = %d and ( abook_flags & ABOOK_FLAG_FEED )",
- intval($aid)
+ $r = q("select count(*) as total from abook where abook_account = %d and ( abook_flags & %d )>0",
+ intval($aid),
+ intval(ABOOK_FLAG_FEED)
);
if($r)
$total_feeds = $r[0]['total'];
@@ -227,7 +226,7 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
intval($uid)
);
if($r) {
- $x = q("update abook set abook_their_perms = %d where abook_id = %d limit 1",
+ $x = q("update abook set abook_their_perms = %d where abook_id = %d",
intval($their_perms),
intval($r[0]['abook_id'])
);
diff --git a/include/group.php b/include/group.php
index d4f08108f..28cf5d80d 100644
--- a/include/group.php
+++ b/include/group.php
@@ -18,10 +18,11 @@ function group_add($uid,$name,$public = 0) {
intval($r)
);
if(count($z) && $z[0]['deleted']) {
- $r = q("UPDATE `groups` SET `deleted` = 0 WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
+ /*$r = q("UPDATE `groups` SET `deleted` = 0 WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
intval($uid),
dbesc($name)
- );
+ );*/
+ q('UPDATE groups SET deleted = 0 WHERE id = %d', intval($z[0]['id']));
notice( t('A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name.') . EOL);
}
return true;
@@ -107,7 +108,7 @@ function group_rmv($uid,$name) {
);
// remove group
- $r = q("UPDATE `groups` SET `deleted` = 1 WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
+ $r = q("UPDATE `groups` SET `deleted` = 1 WHERE `uid` = %d AND `name` = '%s'",
intval($uid),
dbesc($name)
);
@@ -152,7 +153,7 @@ function group_rmv_member($uid,$name,$member) {
return false;
if(! ( $uid && $gid && $member))
return false;
- $r = q("DELETE FROM `group_member` WHERE `uid` = %d AND `gid` = %d AND xchan = '%s' LIMIT 1 ",
+ $r = q("DELETE FROM `group_member` WHERE `uid` = %d AND `gid` = %d AND xchan = '%s' ",
intval($uid),
intval($gid),
dbesc($member)
@@ -199,7 +200,7 @@ function group_get_members($gid) {
if(intval($gid)) {
$r = q("SELECT * FROM `group_member`
LEFT JOIN abook ON abook_xchan = `group_member`.`xchan` left join xchan on xchan_hash = abook_xchan
- WHERE `gid` = %d AND abook_channel = %d and `group_member`.`uid` = %d and not ( xchan_flags & %d ) and not ( abook_flags & %d ) and not ( abook_flags & %d ) ORDER BY xchan_name ASC ",
+ WHERE `gid` = %d AND abook_channel = %d and `group_member`.`uid` = %d and not ( xchan_flags & %d )>0 and not ( abook_flags & %d )>0 and not ( abook_flags & %d )>0 ORDER BY xchan_name ASC ",
intval($gid),
intval(local_user()),
intval(local_user()),
diff --git a/include/hubloc.php b/include/hubloc.php
index 0a1b51331..b5a3d47c5 100644
--- a/include/hubloc.php
+++ b/include/hubloc.php
@@ -33,7 +33,7 @@ function prune_hub_reinstalls() {
// allow some slop period, say 3 days - just in case this is a glitch or transient occurrence
// Then remove any hublocs pointing to the oldest entry.
- if($d1 < $d2) {
+ if(($d1 < $d2) && ($x[0]['hubloc_sitekey'])) {
logger('prune_hub_reinstalls: removing dead hublocs at ' . $rr['site_url']);
$y = q("delete from hubloc where hubloc_sitekey = '%s'",
dbesc($x[0]['hubloc_sitekey'])
@@ -96,7 +96,7 @@ function remove_obsolete_hublocs() {
? intval(get_config('system','delivery_interval')) : 2 );
foreach($r as $rr) {
- q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_id = %d limit 1",
+ q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_id = %d",
intval(HUBLOC_FLAGS_DELETED),
intval($rr['hubloc_id'])
);
@@ -134,7 +134,7 @@ function hubloc_change_primary($hubloc) {
dbesc($hubloc['hubloc_hash'])
);
if(($r) && (! $r[0]['channel_primary'])) {
- q("update channel set channel_primary = 1 where channel_id = %d limit 1",
+ q("update channel set channel_primary = 1 where channel_id = %d",
intval($r[0]['channel_id'])
);
}
@@ -156,7 +156,7 @@ function hubloc_change_primary($hubloc) {
$url = $hubloc['hubloc_url'];
$lwebbie = substr($hubloc['hubloc_addr'],0,strpos($hubloc['hubloc_addr'],'@'));
- $r = q("update xchan set xchan_addr = '%s', xchan_url = '%s', xchan_follow = '%s', xchan_connurl = '%s' where xchan_hash = '%s' limit 1",
+ $r = q("update xchan set xchan_addr = '%s', xchan_url = '%s', xchan_follow = '%s', xchan_connurl = '%s' where xchan_hash = '%s'",
dbesc($hubloc['hubloc_addr']),
dbesc($url . '/channel/' . $lwebbie),
dbesc($url . '/follow?f=&url=%s'),
@@ -214,7 +214,7 @@ function xchan_store($arr) {
return $r;
$photos = import_profile_photo($arr['photo'],$arr['hash']);
- $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s' limit 1",
+ $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'",
dbesc(datetime_convert()),
dbesc($photos[0]),
dbesc($photos[1]),
diff --git a/include/identity.php b/include/identity.php
index 9a574ea65..17238ea99 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -22,7 +22,7 @@ require_once('include/crypto.php');
function identity_check_service_class($account_id) {
$ret = array('success' => false, $message => '');
- $r = q("select count(channel_id) as total from channel where channel_account_id = %d and not ( channel_pageflags & %d ) ",
+ $r = q("select count(channel_id) as total from channel where channel_account_id = %d and not ( channel_pageflags & %d )>0 ",
intval($account_id),
intval(PAGE_REMOVED)
);
@@ -104,7 +104,7 @@ function create_sys_channel() {
}
function get_sys_channel() {
- $r = q("select * from channel left join xchan on channel_hash = xchan_hash where (channel_pageflags & %d) limit 1",
+ $r = q("select * from channel left join xchan on channel_hash = xchan_hash where (channel_pageflags & %d)>0 limit 1",
intval(PAGE_SYSTEM)
);
if($r)
@@ -132,7 +132,7 @@ function is_sys_channel($channel_id) {
*/
function channel_total() {
- $r = q("select channel_id from channel where not ( channel_pageflags & %d )",
+ $r = q("select channel_id from channel where not ( channel_pageflags & %d )>0",
intval(PAGE_REMOVED)
);
@@ -348,10 +348,13 @@ function create_identity($arr) {
dbesc($a->get_baseurl() . "/photo/profile/m/{$newuid}")
);
- $myperms = 0;
if($role_permissions) {
$myperms = ((array_key_exists('perms_auto',$role_permissions) && $role_permissions['perms_auto']) ? intval($role_permissions['perms_accept']) : 0);
}
+ else
+ $myperms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ |PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
+ |PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
$r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_closeness, abook_created, abook_updated, abook_flags, abook_my_perms )
values ( %d, %d, '%s', %d, '%s', '%s', %d, %d ) ",
@@ -373,6 +376,8 @@ function create_identity($arr) {
set_pconfig($newuid,'system','permissions_role',$arr['permissions_role']);
if(array_key_exists('online',$role_permissions))
set_pconfig($newuid,'system','hide_presence',1-intval($role_permissions['online']));
+ if(array_key_exists('perms_auto',$role_permissions))
+ set_pconfig($newuid,'system','autoperms',(($role_permissions['perms_auto']) ? $role_permissions['perms_accept'] : 0));
}
// Create a group with yourself as a member. This allows somebody to use it
@@ -390,7 +395,7 @@ function create_identity($arr) {
dbesc( t('Friends') )
);
if($r) {
- q("update channel set channel_default_group = '%s', channel_allow_gid = '%s' where channel_id = %d limit 1",
+ q("update channel set channel_default_group = '%s', channel_allow_gid = '%s' where channel_id = %d",
dbesc($r[0]['hash']),
dbesc('<' . $r[0]['hash'] . '>'),
intval($newuid)
@@ -446,7 +451,7 @@ function set_default_login_identity($account_id,$channel_id,$force = true) {
);
if($r) {
if((intval($r[0]['account_default_channel']) == 0) || ($force)) {
- $r = q("update account set account_default_channel = %d where account_id = %d limit 1",
+ $r = q("update account set account_default_channel = %d where account_id = %d",
intval($channel_id),
intval($account_id)
);
@@ -584,7 +589,7 @@ function identity_basic_export($channel_id, $items = false) {
// warning: this may run into memory limits on smaller systems
- $r = q("select * from item where (item_flags & %d) and not (item_restrict & %d) and uid = %d",
+ $r = q("select * from item where (item_flags & %d)>0 and not (item_restrict & %d)>0 and uid = %d",
intval(ITEM_WALL),
intval(ITEM_DELETED),
intval($channel_id)
@@ -673,7 +678,7 @@ function profile_load(&$a, $nickname, $profile = '') {
if(! $p) {
$p = q("SELECT profile.uid AS profile_uid, profile.*, channel.* FROM profile
LEFT JOIN channel ON profile.uid = channel.channel_id
- WHERE channel.channel_address = '%s' and not ( channel_pageflags & %d )
+ WHERE channel.channel_address = '%s' and not ( channel_pageflags & %d )>0
AND profile.is_default = 1 LIMIT 1",
dbesc($nickname),
intval(PAGE_REMOVED)
@@ -851,7 +856,8 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
);
- if(feature_enabled(local_user(),'multi_profiles')) {
+ $multi_profiles = feature_enabled(local_user(), 'multi_profiles');
+ if($multi_profiles) {
$profile['edit'] = array($a->get_baseurl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles'));
$profile['menu']['cr_new'] = t('Create New Profile');
}
@@ -864,6 +870,8 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
if($r) {
foreach($r as $rr) {
+ if(!($multi_profiles || $rr['is_default']))
+ continue;
$profile['menu']['entries'][] = array(
'photo' => $rr['thumb'],
'id' => $rr['id'],
@@ -885,6 +893,8 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
|| (x($profile,'country_name') == 1))
$location = t('Location:');
+ $profile['homepage'] = linkify($profile['homepage']);
+
$gender = ((x($profile,'gender') == 1) ? t('Gender:') : False);
$marital = ((x($profile,'marital') == 1) ? t('Status:') : False);
$homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False);
@@ -1106,7 +1116,7 @@ logger('online: ' . $profile['online']);
function advanced_profile(&$a) {
-
+ require_once('include/text.php');
if(! perm_is_allowed($a->profile['profile_uid'],get_observer_hash(),'view_profile'))
return '';
@@ -1198,7 +1208,18 @@ function advanced_profile(&$a) {
if($txt = prepare_text($a->profile['contact'])) $profile['contact'] = array( t('Contact information and Social Networks:'), $txt);
- if($txt = prepare_text($a->profile['channels'])) $profile['channels'] = array( t('My other channels:'), $txt);
+ // Support tags in the other channels field (probably want to restrict it to channels only?)
+ $txt = $a->profile['channels'];
+ $matches = get_tags($txt);
+ $access_tag = '';
+ $str_tags = '';
+ foreach($matches as $m) {
+ $success = handle_tag($a, $txt, $access_tag, $str_tags, $a->profile_uid, $m); // Use uid of the profile maker
+ }
+
+ if($txt = prepare_text($txt)) {
+ $profile['channels'] = array( t('My other channels:'), $txt);
+ }
if($txt = prepare_text($a->profile['music'])) $profile['music'] = array( t('Musical interests:'), $txt);
@@ -1466,7 +1487,7 @@ function get_channel_by_nick($nick) {
function identity_selector() {
if(local_user()) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel.channel_account_id = %d and not ( channel_pageflags & %d ) order by channel_name ",
+ $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel.channel_account_id = %d and (channel_pageflags & %d) = 0 order by channel_name ",
intval(get_account_id()),
intval(PAGE_REMOVED)
);
@@ -1546,7 +1567,7 @@ function notifications_off($channel_id) {
$r = q("select channel_notifyflags from channel where channel_id = %d limit 1",
intval($channel_id)
);
- $x = q("update channel set channel_notifyflags = 0 where channel_id = %d limit 1",
+ $x = q("update channel set channel_notifyflags = 0 where channel_id = %d",
intval($channel_id)
);
@@ -1556,9 +1577,21 @@ function notifications_off($channel_id) {
function notifications_on($channel_id,$value) {
- $x = q("update channel set channel_notifyflags = %d where channel_id = %d limit 1",
+ $x = q("update channel set channel_notifyflags = %d where channel_id = %d",
intval($value),
intval($channel_id)
);
return $x;
-} \ No newline at end of file
+}
+
+
+function get_channel_default_perms($uid) {
+
+ $r = q("select abook_my_perms from abook where abook_channel = %d and (abook_flags & %d) > 0 limit 1",
+ intval($uid),
+ intval(ABOOK_FLAG_SELF)
+ );
+ if($r)
+ return $r[0]['abook_my_perms'];
+ return 0;
+}
diff --git a/include/items.php b/include/items.php
index 41c211953..c488e1953 100755
--- a/include/items.php
+++ b/include/items.php
@@ -30,7 +30,7 @@ function collect_recipients($item,&$private_envelope) {
// as that would allow the denied person to see the post by logging out.
if((! $item['allow_cid']) && (! $item['allow_gid'])) {
- $r = q("select * from abook where abook_channel = %d and not (abook_flags & %d) ",
+ $r = q("select * from abook where abook_channel = %d and not (abook_flags & %d)>0 ",
intval($item['uid']),
intval(ABOOK_FLAG_SELF|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED)
);
@@ -66,9 +66,11 @@ function collect_recipients($item,&$private_envelope) {
// by the directives in $item['public_policy'].
$private_envelope = false;
+ require_once('include/identity.php');
+ $sys = get_sys_channel();
if(array_key_exists('public_policy',$item) && $item['public_policy'] !== 'self') {
- $r = q("select abook_xchan, xchan_network from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d) ",
+ $r = q("select abook_xchan, xchan_network from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d)>0 ",
intval($item['uid']),
intval(ABOOK_FLAG_SELF|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED)
);
@@ -95,6 +97,9 @@ function collect_recipients($item,&$private_envelope) {
}
}
}
+// we probably want to check that discovery channel delivery is allowed before uncommenting this.
+// if($policy === 'pub')
+// $recipients[] = $sys['xchan_hash'];
}
}
@@ -258,7 +263,7 @@ function add_source_route($iid,$hash) {
);
if($r) {
$new_route = (($r[0]['route']) ? $r[0]['route'] . ',' : '') . $hash;
- q("update item set route = '%s' where id = %d limit 1",
+ q("update item set route = '%s' where id = %d",
(dbesc($new_route)),
intval($iid)
);
@@ -969,7 +974,7 @@ function import_author_rss($x) {
$photos = import_profile_photo($x['photo']['src'],$x['url']);
if($photos) {
- $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_url = '%s' and xchan_network = 'rss' limit 1",
+ $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_url = '%s' and xchan_network = 'rss'",
dbesc(datetime_convert('UTC','UTC',$arr['photo_updated'])),
dbesc($photos[0]),
dbesc($photos[1]),
@@ -1014,7 +1019,7 @@ function import_author_unknown($x) {
$photos = import_profile_photo($x['photo']['src'],$x['url']);
if($photos) {
- $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_url = '%s' and xchan_network = 'unknown' limit 1",
+ $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_url = '%s' and xchan_network = 'unknown'",
dbesc(datetime_convert('UTC','UTC',$arr['photo_updated'])),
dbesc($photos[0]),
dbesc($photos[1]),
@@ -1089,7 +1094,8 @@ function encode_item($item,$mirror = false) {
$x['message_parent'] = $item['thr_parent'];
$x['created'] = $item['created'];
$x['edited'] = $item['edited'];
- $x['expires'] = $item['expires'];
+ // always send 0's over the wire
+ $x['expires'] = (($item['expires'] == '0001-01-01 00:00:00') ? '0000-00-00 00:00:00' : $item['expires']);
$x['commented'] = $item['commented'];
$x['mimetype'] = $item['mimetype'];
$x['title'] = $item['title'];
@@ -2213,7 +2219,7 @@ function item_store($arr,$allow_exec = false) {
$r = q("UPDATE item SET parent = %d, allow_cid = '%s', allow_gid = '%s',
deny_cid = '%s', deny_gid = '%s', public_policy = '%s', item_private = %d, comments_closed = '%s'
- WHERE id = %d LIMIT 1",
+ WHERE id = %d",
intval($parent_id),
dbesc($allow_cid),
dbesc($allow_gid),
@@ -2258,13 +2264,13 @@ function item_store($arr,$allow_exec = false) {
// update the commented timestamp on the parent
- $z = q("select max(created) as commented from item where parent_mid = '%s' and uid = %d and not ( item_restrict & %d ) ",
+ $z = q("select max(created) as commented from item where parent_mid = '%s' and uid = %d and not ( item_restrict & %d )>0 ",
dbesc($arr['parent_mid']),
intval($arr['uid']),
intval(ITEM_DELAYED_PUBLISH)
);
- q("UPDATE item set commented = '%s', changed = '%s' WHERE id = %d LIMIT 1",
+ q("UPDATE item set commented = '%s', changed = '%s' WHERE id = %d",
dbesc(($z) ? $z[0]['commented'] : (datetime_convert())),
dbesc(datetime_convert()),
intval($parent_id)
@@ -2476,7 +2482,7 @@ function item_store_update($arr,$allow_exec = false) {
$str .= " `" . $k . "` = '" . $v . "' ";
}
- $r = dbq("update `item` set " . $str . " where id = " . $orig_post_id . " limit 1");
+ $r = dbq("update `item` set " . $str . " where id = " . $orig_post_id );
if($r)
logger('item_store_update: updated item ' . $orig_post_id, LOGGER_DEBUG);
@@ -2553,7 +2559,7 @@ function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id,
$key = get_config('system','pubkey');
$y = crypto_encapsulate(json_encode($x),$key);
- $r = q("update item set diaspora_meta = '%s' where id = %d limit 1",
+ $r = q("update item set diaspora_meta = '%s' where id = %d",
dbesc(json_encode($y)),
intval($post_id)
);
@@ -2749,7 +2755,7 @@ function tag_deliver($uid,$item_id) {
$taglink = get_rel_link($j_obj['link'],'alternate');
store_item_tag($u[0]['channel_id'],$p[0]['id'],TERM_OBJ_POST,TERM_HASHTAG,$j_obj['title'],$j_obj['id']);
- $x = q("update item set edited = '%s', received = '%s', changed = '%s' where mid = '%s' and uid = %d limit 1",
+ $x = q("update item set edited = '%s', received = '%s', changed = '%s' where mid = '%s' and uid = %d",
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
@@ -2815,7 +2821,7 @@ function tag_deliver($uid,$item_id) {
if($mention) {
logger('tag_deliver: mention found for ' . $u[0]['channel_name']);
- $r = q("update item set item_flags = ( item_flags | %d ) where id = %d limit 1",
+ $r = q("update item set item_flags = ( item_flags | %d ) where id = %d",
intval(ITEM_MENTIONSME),
intval($item_id)
);
@@ -2930,7 +2936,7 @@ function tgroup_check($uid,$item) {
// or is a followup and we have already accepted the top level post as an uplink
if($item['mid'] != $item['parent_mid']) {
- $r = q("select id from item where mid = '%s' and uid = %d and ( item_flags & %d ) limit 1",
+ $r = q("select id from item where mid = '%s' and uid = %d and ( item_flags & %d )>0 limit 1",
dbesc($item['parent_mid']),
intval($uid),
intval(ITEM_UPLINK)
@@ -2974,7 +2980,15 @@ function tgroup_check($uid,$item) {
// At this point we've determined that the person receiving this post was mentioned in it.
// Now let's check if this mention was inside a reshare so we don't spam a forum
- $body = preg_replace('/\[share(.*?)\[\/share\]/','',$item['body']);
+
+ $body = $item['body'];
+
+ if(array_key_exists('item_flags',$item) && ($item['item_flags'] & ITEM_OBSCURED) && $body) {
+ $key = get_config('system','prvkey');
+ $body = crypto_unencapsulate(json_decode($body,true),$key);
+ }
+
+ $body = preg_replace('/\[share(.*?)\[\/share\]/','',$body);
$pattern = '/@\!?\[zrl\=' . preg_quote($term['url'],'/') . '\]' . preg_quote($term['term'] . '+','/') . '\[\/zrl\]/';
@@ -3020,14 +3034,14 @@ function start_delivery_chain($channel,$item,$item_id,$parent) {
// when we created the delivery fork
if($parent) {
- $r = q("update item set source_xchan = '%s' where id = %d limit 1",
+ $r = q("update item set source_xchan = '%s' where id = %d",
dbesc($parent['source_xchan']),
intval($item_id)
);
}
else {
$flag_bits = $flag_bits | ITEM_UPLINK;
- $r = q("update item set source_xchan = owner_xchan where id = %d limit 1",
+ $r = q("update item set source_xchan = owner_xchan where id = %d",
intval($item_id)
);
}
@@ -3057,7 +3071,7 @@ function start_delivery_chain($channel,$item,$item_id,$parent) {
}
$r = q("update item set item_flags = %d, owner_xchan = '%s', allow_cid = '%s', allow_gid = '%s',
- deny_cid = '%s', deny_gid = '%s', item_private = %d, public_policy = '%s', comment_policy = '%s', title = '%s', body = '%s' where id = %d limit 1",
+ deny_cid = '%s', deny_gid = '%s', item_private = %d, public_policy = '%s', comment_policy = '%s', title = '%s', body = '%s' where id = %d",
intval($flag_bits),
dbesc($channel['channel_hash']),
dbesc($channel['channel_allow_cid']),
@@ -3097,7 +3111,7 @@ function start_delivery_chain($channel,$item,$item_id,$parent) {
function check_item_source($uid,$item) {
- $r = q("select * from source where src_channel_id = %d and ( src_xchan = '%s' || src_xchan = '*' ) limit 1",
+ $r = q("select * from source where src_channel_id = %d and ( src_xchan = '%s' or src_xchan = '*' ) limit 1",
intval($uid),
dbesc(($item['source_xchan']) ? $item['source_xchan'] : $item['owner_xchan'])
);
@@ -3837,17 +3851,17 @@ function item_expire($uid,$days) {
$expire_network_only = 1;
- $sql_extra = ((intval($expire_network_only)) ? " AND not (item_flags & " . intval(ITEM_WALL) . ") " : "");
+ $sql_extra = ((intval($expire_network_only)) ? " AND not (item_flags & " . intval(ITEM_WALL) . ")>0 " : "");
$r = q("SELECT * FROM `item`
WHERE `uid` = %d
- AND `created` < UTC_TIMESTAMP() - INTERVAL %d DAY
+ AND `created` < %s - INTERVAL %s
AND `id` = `parent`
$sql_extra
- AND NOT ( item_flags & %d )
+ AND NOT ( item_flags & %d )>0
AND (item_restrict = 0 ) ",
intval($uid),
- intval($days),
+ db_utcnow(), db_quoteinterval(intval($days).' DAY'),
intval(ITEM_RETAINED)
);
@@ -3885,7 +3899,7 @@ function item_expire($uid,$days) {
}
function retain_item($id) {
- $r = q("update item set item_flags = (item_flags | %d ) where id = %d limit 1",
+ $r = q("update item set item_flags = (item_flags | %d ) where id = %d",
intval(ITEM_RETAINED),
intval($id)
);
@@ -3961,7 +3975,7 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL) {
// set the deleted flag immediately on this item just in case the
// hook calls a remote process which loops. We'll delete it properly in a second.
- $r = q("UPDATE item SET item_restrict = ( item_restrict | %d ) WHERE id = %d LIMIT 1",
+ $r = q("UPDATE item SET item_restrict = ( item_restrict | %d ) WHERE id = %d",
intval(ITEM_DELETED),
intval($item['id'])
);
@@ -4018,7 +4032,7 @@ function delete_item_lowlevel($item,$stage = DROPITEM_NORMAL) {
switch($stage) {
case DROPITEM_PHASE2:
$r = q("UPDATE item SET item_restrict = ( item_restrict | %d ), body = '', title = '',
- changed = '%s', edited = '%s' WHERE id = %d LIMIT 1",
+ changed = '%s', edited = '%s' WHERE id = %d",
intval(ITEM_PENDING_REMOVE),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
@@ -4028,7 +4042,7 @@ function delete_item_lowlevel($item,$stage = DROPITEM_NORMAL) {
case DROPITEM_PHASE1:
$r = q("UPDATE item SET item_restrict = ( item_restrict | %d ),
- changed = '%s', edited = '%s' WHERE id = %d LIMIT 1",
+ changed = '%s', edited = '%s' WHERE id = %d",
intval(ITEM_DELETED),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
@@ -4039,7 +4053,7 @@ function delete_item_lowlevel($item,$stage = DROPITEM_NORMAL) {
case DROPITEM_NORMAL:
default:
$r = q("UPDATE item SET item_restrict = ( item_restrict | %d ), body = '', title = '',
- changed = '%s', edited = '%s' WHERE id = %d LIMIT 1",
+ changed = '%s', edited = '%s' WHERE id = %d",
intval(ITEM_DELETED),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
@@ -4051,7 +4065,7 @@ function delete_item_lowlevel($item,$stage = DROPITEM_NORMAL) {
// immediately remove any undesired profile likes.
- q("delete from likes where iid = %d and channel_id = %d limit 1",
+ q("delete from likes where iid = %d and channel_id = %d",
intval($item['id']),
intval($item['uid'])
);
@@ -4062,7 +4076,7 @@ function delete_item_lowlevel($item,$stage = DROPITEM_NORMAL) {
if(strlen($item['resource_id'])) {
if($item['resource_type'] === 'event') {
- q("delete from event where event_hash = '%s' and uid = %d limit 1",
+ q("delete from event where event_hash = '%s' and uid = %d",
dbesc($item['resource_id']),
intval($item['uid'])
);
@@ -4082,12 +4096,12 @@ function delete_item_lowlevel($item,$stage = DROPITEM_NORMAL) {
if($stage == DROPITEM_PHASE1)
return true;
- $r = q("delete from term where otype = %d and oid = %d limit 1",
+ $r = q("delete from term where otype = %d and oid = %d",
intval(TERM_OBJ_POST),
intval($item['id'])
);
- q("delete from item_id where iid = %d and uid = %d limit 1",
+ q("delete from item_id where iid = %d and uid = %d",
intval($item['id']),
intval($item['uid'])
);
@@ -4106,7 +4120,7 @@ function delete_item_lowlevel($item,$stage = DROPITEM_NORMAL) {
function first_post_date($uid,$wall = false) {
- $wall_sql = (($wall) ? sprintf(" and item_flags & %d ", ITEM_WALL) : "" );
+ $wall_sql = (($wall) ? sprintf(" and (item_flags & %d)>0 ", ITEM_WALL) : "" );
$r = q("select id, created from item
where item_restrict = %d and uid = %d and id = parent $wall_sql
@@ -4128,10 +4142,13 @@ function first_post_date($uid,$wall = false) {
* current flat list of all representative dates.
*/
-function list_post_dates($uid,$wall) {
+function list_post_dates($uid,$wall,$mindate) {
$dnow = datetime_convert('',date_default_timezone_get(),'now','Y-m-d');
- $dthen = first_post_date($uid,$wall);
+ if($mindate)
+ $dthen = datetime_convert('',date_default_timezone_get(),$mindate);
+ else
+ $dthen = first_post_date($uid,$wall);
if(! $dthen)
return array();
@@ -4249,17 +4266,29 @@ function fetch_post_tags($items,$link = false) {
-function zot_feed($uid,$observer_xchan,$mindate) {
+function zot_feed($uid,$observer_xchan,$arr) {
$result = array();
- $mindate = datetime_convert('UTC','UTC',$mindate);
+ $mindate = null;
+ $message_id = null;
+
+ if(array_key_exists('mindate',$arr)) {
+ $mindate = datetime_convert('UTC','UTC',$arr['mindate']);
+ }
+
+ if(array_key_exists('message_id',$arr)) {
+ $message_id = $arr['message_id'];
+ }
+
+
if(! $mindate)
$mindate = NULL_DATE;
-
$mindate = dbesc($mindate);
- logger('zot_feed: ' . $uid);
+ logger('zot_feed: requested for uid ' . $uid . ' from observer ' . $observer_xchan, LOGGER_DEBUG);
+ if($message_id)
+ logger('message_id: ' . $message_id,LOGGER_DEBUG);
if(! perm_is_allowed($uid,$observer_xchan,'view_stream')) {
logger('zot_feed: permission denied.');
@@ -4278,23 +4307,28 @@ function zot_feed($uid,$observer_xchan,$mindate) {
else
$limit = " limit 0, 50 ";
+ if($message_id) {
+ $sql_extra .= " and mid = '" . dbesc($message_id) . "' ";
+ $limit = '';
+ }
+
$items = array();
if(is_sys_channel($uid)) {
require_once('include/security.php');
- $r = q("SELECT distinct parent from item
+ $r = q("SELECT distinct parent, created from item
WHERE uid != %d
and uid in (" . stream_perms_api_uids(PERMS_PUBLIC) . ") AND item_restrict = 0
- AND (item_flags & %d)
+ AND (item_flags & %d)>0
and item_private = 0 $sql_extra ORDER BY created ASC $limit",
intval($uid),
intval(ITEM_WALL)
);
}
else {
- $r = q("SELECT distinct parent from item
+ $r = q("SELECT distinct parent, created from item
WHERE uid = %d AND item_restrict = 0
- AND (item_flags & %d)
+ AND (item_flags & %d)>0
$sql_extra ORDER BY created ASC $limit",
intval($uid),
intval(ITEM_WALL)
@@ -4357,12 +4391,12 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
if($arr['star'])
- $sql_options .= " and (item_flags & " . intval(ITEM_STARRED) . ") ";
+ $sql_options .= " and (item_flags & " . intval(ITEM_STARRED) . ")>0 ";
if($arr['wall'])
- $sql_options .= " and (item_flags & " . intval(ITEM_WALL) . ") ";
+ $sql_options .= " and (item_flags & " . intval(ITEM_WALL) . ")>0 ";
- $sql_extra = " AND item.parent IN ( SELECT parent FROM item WHERE (item_flags & " . intval(ITEM_THREAD_TOP) . ") $sql_options ) ";
+ $sql_extra = " AND item.parent IN ( SELECT parent FROM item WHERE (item_flags & " . intval(ITEM_THREAD_TOP) . ")>0 $sql_options ) ";
if($arr['since_id'])
$sql_extra .= " and item.id > " . $since_id . " ";
@@ -4400,7 +4434,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
elseif($arr['cid'] && $uid) {
- $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") limit 1",
+ $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ")>0 limit 1",
intval($arr['cid']),
intval(local_user())
);
@@ -4440,7 +4474,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
if($arr['conv'] && $channel) {
- $sql_extra .= sprintf(" AND parent IN (SELECT distinct parent from item where ( author_xchan like '%s' or ( item_flags & %d ))) ",
+ $sql_extra .= sprintf(" AND parent IN (SELECT distinct parent from item where ( author_xchan like '%s' or ( item_flags & %d )>0)) ",
dbesc(protect_sprintf($uidhash)),
intval(ITEM_MENTIONSME)
);
@@ -4456,11 +4490,11 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
else {
$itemspage = (($channel) ? get_pconfig($uid,'system','itemspage') : 20);
$a->set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
- $pager_sql = sprintf(" LIMIT %d, %d ",intval(get_app()->pager['start']), intval(get_app()->pager['itemspage']));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(get_app()->pager['itemspage']), intval(get_app()->pager['start']));
}
if(isset($arr['start']) && isset($arr['records']))
- $pager_sql = sprintf(" LIMIT %d, %d ",intval($arr['start']), intval($arr['records']));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval($arr['records']), intval($arr['start']));
if(array_key_exists('cmin',$arr) || array_key_exists('cmax',$arr)) {
if(($arr['cmin'] != 0) || ($arr['cmax'] != 99)) {
@@ -4482,7 +4516,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
}
- $simple_update = (($client_mode & CLIENT_MODE_UPDATE) ? " and ( item.item_flags & " . intval(ITEM_UNSEEN) . " ) " : '');
+ $simple_update = (($client_mode & CLIENT_MODE_UPDATE) ? " and ( item.item_flags & " . intval(ITEM_UNSEEN) . " )>0 " : '');
if($client_mode & CLIENT_MODE_LOAD)
$simple_update = '';
@@ -4526,7 +4560,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
// Fetch a page full of parent items for this page
- $r = q("SELECT distinct item.id AS item_id FROM item
+ $r = q("SELECT distinct item.id AS item_id, item.$ordering FROM item
left join abook on item.author_xchan = abook.abook_xchan
WHERE $item_uids $item_restrict
AND item.parent = item.id
@@ -4624,7 +4658,7 @@ function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remo
dbesc($page_type)
);
if($r) {
- q("update item_id set sid = '%s' where id = %d limit 1",
+ q("update item_id set sid = '%s' where id = %d",
dbesc(($pagetitle) ? $pagetitle : substr($mid,0,16)),
intval($r[0]['id'])
);
@@ -4655,7 +4689,7 @@ function item_add_cid($xchan_hash,$mid,$uid) {
dbesc('<' . $xchan_hash . '>')
);
if(! $r) {
- $r = q("update item set allow_cid = concat(allow_cid,'%s') where mid = '%s' and uid = %d limit 1",
+ $r = q("update item set allow_cid = concat(allow_cid,'%s') where mid = '%s' and uid = %d",
dbesc('<' . $xchan_hash . '>'),
dbesc($mid),
intval($uid)
@@ -4670,7 +4704,7 @@ function item_remove_cid($xchan_hash,$mid,$uid) {
dbesc('<' . $xchan_hash . '>')
);
if($r) {
- $x = q("update item set allow_cid = '%s' where mid = '%s' and uid = %d limit 1",
+ $x = q("update item set allow_cid = '%s' where mid = '%s' and uid = %d",
dbesc(str_replace('<' . $xchan_hash . '>','',$r[0]['allow_cid'])),
dbesc($mid),
intval($uid)
diff --git a/include/language.php b/include/language.php
index 9db57dceb..f5ee3471e 100644
--- a/include/language.php
+++ b/include/language.php
@@ -250,8 +250,7 @@ function detect_language($s) {
* By default we use the localized language name. You can switch the result
* to any language with the optional 2nd parameter $l.
*
- * $s and $l can be in any format that PHP's Locale understands. We will mostly
- * use the 2-letter ISO 639-1 (en, de, fr) format.
+ * $s and $l should be in 2-letter ISO 639-1 format
*
* If nothing could be looked up it returns $s.
*
@@ -259,11 +258,30 @@ function detect_language($s) {
* @param $l (optional) In which language to return the name
* @return string with the language name, or $s if unrecognized
*/
+require_once(__DIR__ . '/../library/intl/vendor/autoload.php');
+use CommerceGuys\Intl\Language\LanguageRepository;
function get_language_name($s, $l = null) {
- if($l === null)
- $l = $s;
+ // get() expects the second part to be in upper case
+ if(strpos($s,'-') !== false) $s = substr($s,0,2) . strtoupper(substr($s,2));
+ if($l !== null && strpos($l,'-') !== false) $l = substr($l,0,2) . strtoupper(substr($l,2));
- logger('get_language_name: for ' . $s . ' in ' . $l . ' returns: ' . Locale::getDisplayLanguage($s, $l), LOGGER_DEBUG);
- return Locale::getDisplayLanguage($s, $l);
+ $languageRepository = new LanguageRepository;
+
+ // Sometimes intl doesn't like the second part at all ...
+ try {
+ $language = $languageRepository->get($s, $l);
+ }
+ catch(CommerceGuys\Intl\Exception\UnknownLanguageException $e) {
+ $s = substr($s,0,2);
+ if($l !== null) $l = substr($s,0,2);
+ try {
+ $language = $languageRepository->get($s, $l);
+ }
+ catch(CommerceGuys\Intl\Exception\UnknownLanguageException $e) {
+ return $s; // Give up
+ }
+ }
+
+ return $language->getName();
}
diff --git a/include/menu.php b/include/menu.php
index 8997d2e39..9dc236605 100644
--- a/include/menu.php
+++ b/include/menu.php
@@ -176,7 +176,7 @@ function menu_edit($arr) {
}
return q("update menu set menu_name = '%s', menu_desc = '%s', menu_flags = %d
- where menu_id = %d and menu_channel_id = %d limit 1",
+ where menu_id = %d and menu_channel_id = %d",
dbesc($menu_name),
dbesc($menu_desc),
intval($menu_flags),
@@ -303,7 +303,7 @@ function menu_edit_item($menu_id, $uid, $arr) {
}
- $r = q("update menu_item set mitem_link = '%s', mitem_desc = '%s', mitem_flags = %d, allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', mitem_order = %d where mitem_channel_id = %d and mitem_menu_id = %d and mitem_id = %d limit 1",
+ $r = q("update menu_item set mitem_link = '%s', mitem_desc = '%s', mitem_flags = %d, allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', mitem_order = %d where mitem_channel_id = %d and mitem_menu_id = %d and mitem_id = %d",
dbesc($mitem_link),
dbesc($mitem_desc),
intval($mitem_flags),
@@ -323,7 +323,7 @@ function menu_edit_item($menu_id, $uid, $arr) {
function menu_del_item($menu_id,$uid,$item_id) {
- $r = q("delete from menu_item where mitem_menu_id = %d and mitem_channel_id = %d and mitem_id = %d limit 1",
+ $r = q("delete from menu_item where mitem_menu_id = %d and mitem_channel_id = %d and mitem_id = %d",
intval($menu_id),
intval($uid),
intval($item_id)
diff --git a/include/message.php b/include/message.php
index b063530d6..49278f273 100644
--- a/include/message.php
+++ b/include/message.php
@@ -243,7 +243,7 @@ function private_messages_list($uid, $mailbox = '', $start = 0, $numitems = 0) {
$limit = '';
if($numitems)
- $limit = " LIMIT " . intval($start) . ", " . intval($numitems);
+ $limit = " LIMIT " . intval($numitems) . " OFFSET " . intval($start);
if($mailbox !== '') {
$x = q("select channel_hash from channel where channel_id = %d limit 1",
@@ -332,7 +332,7 @@ function private_messages_fetch_message($channel_id, $messageitem_id, $updatesee
}
if($updateseen) {
- $r = q("UPDATE `mail` SET mail_flags = (mail_flags ^ %d) where not (mail_flags & %d) and id = %d AND channel_id = %d",
+ $r = q("UPDATE `mail` SET mail_flags = (mail_flags | %d) where not (mail_flags & %d)>0 and id = %d AND channel_id = %d",
intval(MAIL_SEEN),
intval(MAIL_SEEN),
dbesc($messageitem_id),
@@ -363,7 +363,7 @@ function private_messages_drop($channel_id, $messageitem_id, $drop_conversation
}
}
else {
- $r = q("DELETE FROM mail WHERE id = %d AND channel_id = %d LIMIT 1",
+ $r = q("DELETE FROM mail WHERE id = %d AND channel_id = %d",
intval($messageitem_id),
intval($channel_id)
);
@@ -421,7 +421,7 @@ function private_messages_fetch_conversation($channel_id, $messageitem_id, $upda
if($updateseen) {
- $r = q("UPDATE `mail` SET mail_flags = (mail_flags ^ %d) where not (mail_flags & %d) and parent_mid = '%s' AND channel_id = %d",
+ $r = q("UPDATE `mail` SET mail_flags = (mail_flags | %d) where not (mail_flags & %d)>0 and parent_mid = '%s' AND channel_id = %d",
intval(MAIL_SEEN),
intval(MAIL_SEEN),
dbesc($r[0]['parent_mid']),
diff --git a/include/nav.php b/include/nav.php
index f1f89db20..a9bff4b29 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -38,7 +38,7 @@ EOT;
intval($channel['channel_id'])
);
- $chans = q("select channel_name, channel_id from channel where channel_account_id = %d and not ( channel_pageflags & %d ) order by channel_name ",
+ $chans = q("select channel_name, channel_id from channel where channel_account_id = %d and not ( channel_pageflags & %d )>0 order by channel_name ",
intval(get_account_id()),
intval(PAGE_REMOVED)
);
@@ -92,40 +92,40 @@ EOT;
if($chans && count($chans) > 1 && feature_enabled(local_user(),'nav_channel_select'))
$nav['channels'] = $chans;
- $nav['logout'] = Array('logout',t('Logout'), "", t('End this session'));
+ $nav['logout'] = Array('logout',t('Logout'), "", t('End this session'),'logout_nav_btn');
// user menu
- $nav['usermenu'][] = Array('channel/' . $channel['channel_address'], t('Home'), "", t('Your posts and conversations'));
- $nav['usermenu'][] = Array('profile/' . $channel['channel_address'], t('View Profile'), "", t('Your profile page'));
+ $nav['usermenu'][] = Array('channel/' . $channel['channel_address'], t('Home'), "", t('Your posts and conversations'),'channel_nav_btn');
+ $nav['usermenu'][] = Array('profile/' . $channel['channel_address'], t('View Profile'), "", t('Your profile page'),'profile_nav_btn');
if(feature_enabled(local_user(),'multi_profiles'))
- $nav['usermenu'][] = Array('profiles', t('Edit Profiles'),"", t('Manage/Edit profiles'));
+ $nav['usermenu'][] = Array('profiles', t('Edit Profiles'),"", t('Manage/Edit profiles'),'profiles_nav_btn');
else
- $nav['usermenu'][] = Array('profiles/' . $prof[0]['id'], t('Edit Profile'),"", t('Edit your profile'));
+ $nav['usermenu'][] = Array('profiles/' . $prof[0]['id'], t('Edit Profile'),"", t('Edit your profile'),'profiles_nav_btn');
- $nav['usermenu'][] = Array('photos/' . $channel['channel_address'], t('Photos'), "", t('Your photos'));
- $nav['usermenu'][] = Array('cloud/' . $channel['channel_address'],t('Files'),"",t('Your files'));
+ $nav['usermenu'][] = Array('photos/' . $channel['channel_address'], t('Photos'), "", t('Your photos'),'photos_nav_btn');
+ $nav['usermenu'][] = Array('cloud/' . $channel['channel_address'],t('Files'),"",t('Your files'),'cloud_nav_btn');
require_once('include/chat.php');
$has_chats = chatroom_list_count(local_user());
if($has_chats) {
- $nav['usermenu'][] = Array('chat/' . $channel['channel_address'],t('Chat'),"",t('Your chatrooms'));
+ $nav['usermenu'][] = Array('chat/' . $channel['channel_address'],t('Chat'),"",t('Your chatrooms'),'chat_nav_btn');
}
require_once('include/menu.php');
$has_bookmarks = menu_list_count(local_user(),'',MENU_BOOKMARK) + menu_list_count(local_user(),'',MENU_SYSTEM|MENU_BOOKMARK);
if($has_bookmarks) {
- $nav['usermenu'][] = Array('bookmarks', t('Bookmarks'), "", t('Your bookmarks'));
+ $nav['usermenu'][] = Array('bookmarks', t('Bookmarks'), "", t('Your bookmarks'),'bookmarks_nav_btn');
}
if(feature_enabled($channel['channel_id'],'webpages'))
- $nav['usermenu'][] = Array('webpages/' . $channel['channel_address'],t('Webpages'),"",t('Your webpages'));
+ $nav['usermenu'][] = Array('webpages/' . $channel['channel_address'],t('Webpages'),"",t('Your webpages'),'webpages_nav_btn');
}
else {
if(! get_account_id()) {
- $nav['loginmenu'][] = Array('login',t('Login'),'',t('Sign in'));
+ $nav['loginmenu'][] = Array('login',t('Login'),'',t('Sign in'),'login_nav_btn');
}
else
- $nav['alogout'] = Array('logout',t('Logout'), "", t('End this session'));
+ $nav['alogout'] = Array('logout',t('Logout'), "", t('End this session'),'logout_nav_btn');
}
@@ -142,7 +142,7 @@ EOT;
sprintf( t('%s - click to logout'), $observer['xchan_addr']));
}
else {
- $nav['loginmenu'][] = Array('rmagic',t('Remote authentication'),'',t('Click to authenticate to your home hub'));
+ $nav['loginmenu'][] = Array('rmagic',t('Remote authentication'),'',t('Click to authenticate to your home hub'),'rmagic_nav_btn');
}
/**
@@ -156,24 +156,24 @@ EOT;
}
if(($a->module != 'home') && (! (local_user())))
- $nav['home'] = array($homelink, t('Home'), "", t('Home Page'));
+ $nav['home'] = array($homelink, t('Home'), "", t('Home Page'),'home_nav_btn');
if(($a->config['system']['register_policy'] == REGISTER_OPEN) && (! local_user()) && (! remote_user()))
- $nav['register'] = array('register',t('Register'), "", t('Create an account'));
+ $nav['register'] = array('register',t('Register'), "", t('Create an account'),'register_nav_btn');
$help_url = z_root() . '/help?f=&cmd=' . $a->cmd;
if(! get_config('system','hide_help'))
- $nav['help'] = array($help_url, t('Help'), "", t('Help and documentation'));
+ $nav['help'] = array($help_url, t('Help'), "", t('Help and documentation'),'help_nav_btn');
- $nav['apps'] = array('apps', t('Apps'), "", t('Applications, utilities, links, games'));
+ $nav['apps'] = array('apps', t('Apps'), "", t('Applications, utilities, links, games'),'apps_nav_btn');
$nav['search'] = array('search', t('Search'), "", t('Search site content'));
- $nav['directory'] = array('directory', t('Directory'), "", t('Channel Locator'));
+ $nav['directory'] = array('directory', t('Directory'), "", t('Channel Directory'),'directory_nav_btn');
/**
@@ -187,21 +187,21 @@ EOT;
$network_options = get_pconfig(local_user(),'system','network_page_default');
$nav['network'] = array('network' . (($network_options) ? '?f=&' . $network_options : ''),
- t('Matrix'), "", t('Your matrix'));
+ t('Matrix'), "", t('Your matrix'),'network_nav_btn');
$nav['network']['mark'] = array('', t('Mark all matrix notifications seen'), '','');
- $nav['home'] = array('channel/' . $channel['channel_address'], t('Channel Home'), "", t('Channel home'));
+ $nav['home'] = array('channel/' . $channel['channel_address'], t('Channel Home'), "", t('Channel home'),'home_nav_btn');
$nav['home']['mark'] = array('', t('Mark all channel notifications seen'), '','');
- $nav['intros'] = array('connections/ifpending', t('Connections'), "", t('Connections'));
+ $nav['intros'] = array('connections/ifpending', t('Connections'), "", t('Connections'),'connections_nav_btn');
- $nav['notifications'] = array('notifications/system', t('Notices'), "", t('Notifications'));
+ $nav['notifications'] = array('notifications/system', t('Notices'), "", t('Notifications'),'notifications_nav_btn');
$nav['notifications']['all']=array('notifications/system', t('See all notifications'), "", "");
$nav['notifications']['mark'] = array('', t('Mark all system notifications seen'), '','');
- $nav['messages'] = array('message', t('Mail'), "", t('Private mail'));
+ $nav['messages'] = array('message', t('Mail'), "", t('Private mail'),'mail_nav_btn');
$nav['messages']['all']=array('message', t('See all private messages'), "", "");
$nav['messages']['mark'] = array('', t('Mark all private messages seen'), '','');
$nav['messages']['inbox'] = array('message', t('Inbox'), "", t('Inbox'));
@@ -209,13 +209,13 @@ EOT;
$nav['messages']['new'] = array('mail/new', t('New Message'), "", t('New Message'));
- $nav['all_events'] = array('events', t('Events'), "", t('Event Calendar'));
+ $nav['all_events'] = array('events', t('Events'), "", t('Event Calendar'),'events_nav_btn');
$nav['all_events']['all']=array('events', t('See all events'), "", "");
$nav['all_events']['mark'] = array('', t('Mark all events seen'), '','');
- $nav['manage'] = array('manage', t('Channel Manager'), "", t('Manage Your Channels'));
+ $nav['manage'] = array('manage', t('Channel Manager'), "", t('Manage Your Channels'),'manage_nav_btn');
- $nav['settings'] = array('settings', t('Settings'),"", t('Account/Channel Settings'));
+ $nav['settings'] = array('settings', t('Settings'),"", t('Account/Channel Settings'),'settings_nav_btn');
}
@@ -223,7 +223,7 @@ EOT;
* Admin page
*/
if (is_site_admin()){
- $nav['admin'] = array('admin/', t('Admin'), "", t('Site Setup and Configuration'));
+ $nav['admin'] = array('admin/', t('Admin'), "", t('Site Setup and Configuration'),'admin_nav_btn');
}
@@ -259,6 +259,7 @@ $powered_by = '';
'$localuser' => local_user(),
'$sel' => $a->nav_sel,
'$powered_by' => $powered_by,
+ '$help' => t('@name, #tag, content'),
'$pleasewait' => t('Please wait...')
));
diff --git a/include/network.php b/include/network.php
index 25ed615c6..98c411cd8 100644
--- a/include/network.php
+++ b/include/network.php
@@ -991,7 +991,7 @@ function discover_by_url($url,$arr = null) {
);
$photos = import_profile_photo($photo,$guid);
- $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s' limit 1",
+ $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'",
dbesc(datetime_convert()),
dbesc($photos[0]),
dbesc($photos[1]),
@@ -1092,25 +1092,27 @@ function discover_by_webbie($webbie) {
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($webbie)
);
- if($r)
- return true;
-
- $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_pubkey, xchan_addr, xchan_url, xchan_name, xchan_network, xchan_instance_url, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
- dbesc($addr),
- dbesc($guid),
- dbesc($pubkey),
- dbesc($addr),
- dbesc($profile),
- dbesc($vcard['fn']),
- dbesc($network),
- dbesc(z_root()),
- dbesc(datetime_convert())
- );
+ if(! $r) {
+
+ $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_pubkey, xchan_addr, xchan_url, xchan_name, xchan_network, xchan_instance_url, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
+ dbesc($addr),
+ dbesc($guid),
+ dbesc($pubkey),
+ dbesc($addr),
+ dbesc($profile),
+ dbesc($vcard['fn']),
+ dbesc($network),
+ dbesc(z_root()),
+ dbescdate(datetime_convert())
+ );
+ }
$r = q("select * from hubloc where hubloc_hash = '%s' limit 1",
dbesc($webbie)
);
+
if(! $r) {
+
$r = q("insert into hubloc ( hubloc_guid, hubloc_hash, hubloc_addr, hubloc_network, hubloc_url, hubloc_host, hubloc_callback, hubloc_updated, hubloc_flags ) values ('%s','%s','%s','%s','%s','%s','%s','%s', %d)",
dbesc($guid),
dbesc($addr),
@@ -1119,13 +1121,13 @@ function discover_by_webbie($webbie) {
dbesc(trim($diaspora_base,'/')),
dbesc($hostname),
dbesc($notify),
- dbesc(datetime_convert()),
+ dbescdate(datetime_convert()),
intval(HUBLOC_FLAGS_PRIMARY)
);
}
$photos = import_profile_photo($vcard['photo'],$addr);
- $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s' limit 1",
- dbesc(datetime_convert('UTC','UTC',$arr['photo_updated'])),
+ $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'",
+ dbescdate(datetime_convert('UTC','UTC',$arr['photo_updated'])),
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
diff --git a/include/notifier.php b/include/notifier.php
index 79a6886ad..e1eb0c554 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -58,6 +58,7 @@ require_once('include/html2plain.php');
* expire channel_id
* relay item_id (item was relayed to owner, we will deliver it as owner)
* location channel_id
+ * request channel_id xchan_hash message_id
*
*/
@@ -98,7 +99,7 @@ function notifier_run($argv, $argc){
// Get the recipient
$r = q("select abook.*, hubloc.* from abook
left join hubloc on hubloc_hash = abook_xchan
- where abook_id = %d and not ( abook_flags & %d ) limit 1",
+ where abook_id = %d and not ( abook_flags & %d )>0 limit 1",
intval($item_id),
intval(ABOOK_FLAG_SELF)
);
@@ -142,6 +143,7 @@ function notifier_run($argv, $argc){
$expire = false;
+ $request = false;
$mail = false;
$fsuggest = false;
$top_level = false;
@@ -175,6 +177,22 @@ function notifier_run($argv, $argc){
$channel = $s[0];
}
+ elseif($cmd === 'request') {
+ $channel_id = $item_id;
+ $xchan = $argv[3];
+ $request_message_id = $argv[4];
+
+ $s = q("select * from channel where channel_id = %d limit 1",
+ intval($channel_id)
+ );
+ if($s)
+ $channel = $s[0];
+
+ $private = true;
+ $recipients[] = $xchan;
+ $packet_type = 'request';
+ $normal_mode = false;
+ }
elseif($cmd === 'expire') {
// FIXME
@@ -187,11 +205,12 @@ function notifier_run($argv, $argc){
$normal_mode = false;
$expire = true;
- $items = q("SELECT * FROM item WHERE uid = %d AND ( item_flags & %d )
- AND ( item_restrict & %d ) AND `changed` > UTC_TIMESTAMP() - INTERVAL 10 MINUTE",
+ $items = q("SELECT * FROM item WHERE uid = %d AND ( item_flags & %d )>0
+ AND ( item_restrict & %d )>0 AND `changed` > %s - INTERVAL %s",
intval($item_id),
intval(ITEM_WALL),
- intval(ITEM_DELETED)
+ intval(ITEM_DELETED),
+ db_utcnow(), db_quoteinterval('10 MINUTE')
);
$uid = $item_id;
$item_id = 0;
@@ -474,34 +493,51 @@ function notifier_run($argv, $argc){
$r = q("select hubloc_guid, hubloc_url, hubloc_sitekey, hubloc_network, hubloc_flags, hubloc_callback, hubloc_host from hubloc
- where hubloc_hash in (" . implode(',',$recipients) . ") group by hubloc_sitekey order by hubloc_connected desc limit 1");
+ where hubloc_hash in (" . implode(',',$recipients) . ") order by hubloc_connected desc limit 1");
}
else {
-
$r = q("select hubloc_guid, hubloc_url, hubloc_sitekey, hubloc_network, hubloc_flags, hubloc_callback, hubloc_host from hubloc
- where hubloc_hash in (" . implode(',',$recipients) . ") and not (hubloc_flags & %d) and not (hubloc_status & %d) group by hubloc_sitekey",
+ where hubloc_hash in (" . implode(',',$recipients) . ") and not (hubloc_flags & %d) > 0 and not (hubloc_status & %d) > 0",
intval(HUBLOC_FLAGS_DELETED),
intval(HUBLOC_OFFLINE)
- );
-
- }
+ );
+ }
if(! $r) {
logger('notifier: no hubs');
return;
}
+
$hubs = $r;
- $hublist = array();
- $keys = array();
+
+ /**
+ * Reduce the hubs to those that are unique. For zot hubs, we need to verify uniqueness by the sitekey, since it may have been
+ * a re-install which has not yet been detected and pruned.
+ * For other networks which don't have or require sitekeys, we'll have to use the URL
+ */
+
+
+ $hublist = array(); // this provides an easily printable list for the logs
+ $dhubs = array(); // delivery hubs where we store our resulting unique array
+ $keys = array(); // array of keys to check uniquness for zot hubs
+ $urls = array(); // array of urls to check uniqueness of hubs from other networks
+
foreach($hubs as $hub) {
- // don't try to deliver to deleted hublocs - and inexplicably SQL "distinct" and "group by"
- // both return records with duplicate keys in rare circumstances
-// FIXME this is probably redundant now.
- if((! ($hub['hubloc_flags'] & HUBLOC_FLAGS_DELETED)) && (! in_array($hub['hubloc_sitekey'],$keys))) {
- $hublist[] = $hub['hubloc_host'];
- $keys[] = $hub['hubloc_sitekey'];
+ if($hub['hubloc_network'] == 'zot') {
+ if(! in_array($hub['hubloc_sitekey'],$keys)) {
+ $hublist[] = $hub['hubloc_host'];
+ $dhubs[] = $hub;
+ $keys[] = $hub['hubloc_sitekey'];
+ }
+ }
+ else {
+ if(! in_array($hub['hubloc_url'],$urls)) {
+ $hublist[] = $hub['hubloc_host'];
+ $dhubs[] = $hub;
+ $urls[] = $hub['hubloc_url'];
+ }
}
}
@@ -517,7 +553,7 @@ function notifier_run($argv, $argc){
$deliver = array();
- foreach($hubs as $hub) {
+ foreach($dhubs as $hub) {
if(defined('DIASPORA_RELIABILITY_EMULATION')) {
$cointoss = mt_rand(0,2);
@@ -550,6 +586,7 @@ function notifier_run($argv, $argc){
'mail' => $mail,
'location' => $location,
'fsuggest' => $fsuggest,
+ 'request' => $request,
'normal_mode' => $normal_mode,
'packet_type' => $packet_type,
'walltowall' => $walltowall
@@ -579,6 +616,21 @@ function notifier_run($argv, $argc){
dbesc('')
);
}
+ elseif($packet_type === 'request') {
+ $n = zot_build_packet($channel,'request',$env_recips,$hub['hubloc_sitekey'],$hash,array('message_id' => $request_message_id));
+ q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async, outq_created, outq_updated, outq_notify, outq_msg ) values ( '%s', %d, %d, '%s', '%s', %d, '%s', '%s', '%s', '%s' )",
+ dbesc($hash),
+ intval($channel['channel_account_id']),
+ intval($channel['channel_id']),
+ dbesc('zot'),
+ dbesc($hub['hubloc_callback']),
+ intval(1),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc($n),
+ dbesc('')
+ );
+ }
else {
$n = zot_build_packet($channel,'notify',$env_recips,(($private) ? $hub['hubloc_sitekey'] : null),$hash);
q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async, outq_created, outq_updated, outq_notify, outq_msg ) values ( '%s', %d, %d, '%s', '%s', %d, '%s', '%s', '%s', '%s' )",
diff --git a/include/onedirsync.php b/include/onedirsync.php
index 8ae1df5e5..a1450e183 100644
--- a/include/onedirsync.php
+++ b/include/onedirsync.php
@@ -35,13 +35,13 @@ function onedirsync_run($argv, $argc){
// (where we received this update from) ?
// If we have, we don't need to do anything except mark any older entries updated
- $x = q("select * from updates where ud_addr = '%s' and ud_date > '%s' and ( ud_flags & %d ) order by ud_date desc limit 1",
+ $x = q("select * from updates where ud_addr = '%s' and ud_date > '%s' and ( ud_flags & %d )>0 order by ud_date desc limit 1",
dbesc($r[0]['ud_addr']),
dbesc($r[0]['ud_date']),
intval(UPDATE_FLAGS_UPDATED)
);
if($x) {
- $y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not ( ud_flags & %d ) and ud_date < '%s' ",
+ $y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date < '%s' ",
intval(UPDATE_FLAGS_UPDATED),
dbesc($r[0]['ud_addr']),
intval(UPDATE_FLAGS_UPDATED),
@@ -50,6 +50,28 @@ function onedirsync_run($argv, $argc){
return;
}
+ // ignore doing an update if this ud_addr refers to a known dead hubloc
+
+ $h = q("select * from hubloc where hubloc_addr = '%s' limit 1",
+ dbesc($r[0]['ud_addr'])
+ );
+ if(($h) && ($h[0]['hubloc_status'] & HUBLOC_OFFLINE)) {
+ $y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date < '%s' ",
+ intval(UPDATE_FLAGS_UPDATED),
+ dbesc($r[0]['ud_addr']),
+ intval(UPDATE_FLAGS_UPDATED),
+ dbesc($x[0]['ud_date'])
+ );
+
+ return;
+ }
+
+ // we might have to pull this out some day, but for now update_directory_entry()
+ // runs zot_finger() and is kind of zot specific
+
+ if($h && $h[0]['hubloc_network'] !== 'zot')
+ return;
+
update_directory_entry($r[0]);
return;
diff --git a/include/onepoll.php b/include/onepoll.php
index 98d52db93..095edd095 100644
--- a/include/onepoll.php
+++ b/include/onepoll.php
@@ -15,12 +15,6 @@ function onepoll_run($argv, $argc){
logger('onepoll: start');
- $manual_id = 0;
- $generation = 0;
-
- $force = false;
- $restart = false;
-
if(($argc > 1) && (intval($argv[1])))
$contact_id = intval($argv[1]);
@@ -28,14 +22,14 @@ function onepoll_run($argv, $argc){
logger('onepoll: no contact');
return;
}
-
+
$d = datetime_convert();
$contacts = q("SELECT abook.*, xchan.*, account.*
FROM abook LEFT JOIN account on abook_account = account_id left join xchan on xchan_hash = abook_xchan
where abook_id = %d
- AND (( abook_flags & %d ) OR ( abook_flags = %d ))
- AND NOT ( abook_flags & %d )
+ AND (( abook_flags & %d )>0 OR ( abook_flags = %d ))
+ AND NOT ( abook_flags & %d )>0
AND (( account_flags = %d ) OR ( account_flags = %d )) limit 1",
intval($contact_id),
intval(ABOOK_FLAG_HIDDEN|ABOOK_FLAG_PENDING|ABOOK_FLAG_UNCONNECTED|ABOOK_FLAG_FEED),
@@ -75,7 +69,7 @@ function onepoll_run($argv, $argc){
if($contact['xchan_network'] === 'rss') {
logger('onepoll: processing feed ' . $contact['xchan_name'], LOGGER_DEBUG);
handle_feed($importer['channel_id'],$contact_id,$contact['xchan_hash']);
- q("update abook set abook_connected = '%s' where abook_id = %d limit 1",
+ q("update abook set abook_connected = '%s' where abook_id = %d",
dbesc(datetime_convert()),
intval($contact['abook_id'])
);
@@ -90,18 +84,19 @@ function onepoll_run($argv, $argc){
$x = zot_refresh($contact,$importer);
$responded = false;
- $updated = datetime_convert();
+ $updated = datetime_convert();
+ $connected = datetime_convert();
if(! $x) {
// mark for death by not updating abook_connected, this is caught in include/poller.php
- q("update abook set abook_updated = '%s' where abook_id = %d limit 1",
+ q("update abook set abook_updated = '%s' where abook_id = %d",
dbesc($updated),
intval($contact['abook_id'])
);
}
else {
- q("update abook set abook_updated = '%s', abook_connected = '%s' where abook_id = %d limit 1",
- dbesc($updated),
+ q("update abook set abook_updated = '%s', abook_connected = '%s' where abook_id = %d",
dbesc($updated),
+ dbesc($connected),
intval($contact['abook_id'])
);
$responded = true;
@@ -120,7 +115,9 @@ function onepoll_run($argv, $argc){
if($fetch_feed) {
$feedurl = str_replace('/poco/','/zotfeed/',$contact['xchan_connurl']);
- $x = z_fetch_url($feedurl . '?f=&mindate=' . urlencode($last_update));
+ $feedurl .= '?f=&mindate=' . urlencode($last_update);
+
+ $x = z_fetch_url($feedurl);
logger('feed_update: ' . print_r($x,true), LOGGER_DATA);
@@ -143,13 +140,14 @@ function onepoll_run($argv, $argc){
}
}
- // fetch some items
- // set last updated timestamp
+
+ // update the poco details for this connection
if($contact['xchan_connurl']) {
$r = q("SELECT xlink_id from xlink
- where xlink_xchan = '%s' and xlink_updated > UTC_TIMESTAMP() - INTERVAL 1 DAY limit 1",
- intval($contact['xchan_hash'])
+ where xlink_xchan = '%s' and xlink_updated > %s - INTERVAL %s limit 1",
+ intval($contact['xchan_hash']),
+ db_utcnow(), db_quoteinterval('1 DAY')
);
if(! $r) {
poco_load($contact['xchan_hash'],$contact['xchan_connurl']);
diff --git a/include/permissions.php b/include/permissions.php
index 186ba32d8..ccbde1a7c 100644
--- a/include/permissions.php
+++ b/include/permissions.php
@@ -1,6 +1,19 @@
-<?php /** @file */
-
+<?php
+/**
+ * @file incldue/permissions.php
+ *
+ * This file conntains functions to check and work with permissions.
+ */
+/**
+ * @brief Return an array with all available permissions.
+ *
+ * These are channel specific permissions.
+ * The list of available permissions can get manipulated by the <i>hook</i>
+ * <b>global_permissions</b>.
+ *
+ * @return array associative array containing all permissions
+ */
function get_perms() {
// thinking about making element[2] a bitmask instead of boolean so that we can provide a list of applicable selections
@@ -14,8 +27,8 @@ function get_perms() {
'view_profile' => array('channel_r_profile', intval(PERMS_R_PROFILE), true, t('Can view my default channel profile'), ''),
'view_photos' => array('channel_r_photos', intval(PERMS_R_PHOTOS), true, t('Can view my photo albums'), ''),
'view_contacts' => array('channel_r_abook', intval(PERMS_R_ABOOK), true, t('Can view my connections'), ''),
- 'view_storage' => array('channel_r_storage', intval(PERMS_R_STORAGE), true, t('Can view my file storage'), ''),
- 'view_pages' => array('channel_r_pages', intval(PERMS_R_PAGES), true, t('Can view my webpages'), ''),
+ 'view_storage' => array('channel_r_storage', intval(PERMS_R_STORAGE), true, t('Can view my file storage'), ''),
+ 'view_pages' => array('channel_r_pages', intval(PERMS_R_PAGES), true, t('Can view my webpages'), ''),
// Write permissions
'send_stream' => array('channel_w_stream', intval(PERMS_W_STREAM), false, t('Can send me their channel stream and posts'), ''),
@@ -23,19 +36,20 @@ function get_perms() {
'post_comments' => array('channel_w_comment', intval(PERMS_W_COMMENT), false, t('Can comment on or like my posts'), ''),
'post_mail' => array('channel_w_mail', intval(PERMS_W_MAIL), false, t('Can send me private mail messages'), ''),
'post_photos' => array('channel_w_photos', intval(PERMS_W_PHOTOS), false, t('Can post photos to my photo albums'), ''),
- 'post_like' => array('channel_w_like', intval(PERMS_W_LIKE), false, t('Can like/dislike stuff'), t('Profiles and things other than posts/comments')),
+ 'post_like' => array('channel_w_like', intval(PERMS_W_LIKE), false, t('Can like/dislike stuff'), t('Profiles and things other than posts/comments')),
'tag_deliver' => array('channel_w_tagwall', intval(PERMS_W_TAGWALL), false, t('Can forward to all my channel contacts via post @mentions'), t('Advanced - useful for creating group forum channels')),
'chat' => array('channel_w_chat', intval(PERMS_W_CHAT), false, t('Can chat with me (when available)'), t('')),
- 'write_storage' => array('channel_w_storage', intval(PERMS_W_STORAGE), false, t('Can write to my file storage'), ''),
- 'write_pages' => array('channel_w_pages', intval(PERMS_W_PAGES), false, t('Can edit my webpages'), ''),
+ 'write_storage' => array('channel_w_storage', intval(PERMS_W_STORAGE), false, t('Can write to my file storage'), ''),
+ 'write_pages' => array('channel_w_pages', intval(PERMS_W_PAGES), false, t('Can edit my webpages'), ''),
- 'republish' => array('channel_a_republish', intval(PERMS_A_REPUBLISH), false, t('Can source my public posts in derived channels'), t('Somewhat advanced - very useful in open communities')),
+ 'republish' => array('channel_a_republish', intval(PERMS_A_REPUBLISH), false, t('Can source my public posts in derived channels'), t('Somewhat advanced - very useful in open communities')),
- 'delegate' => array('channel_a_delegate', intval(PERMS_A_DELEGATE), false, t('Can administer my channel resources'), t('Extremely advanced. Leave this alone unless you know what you are doing')),
+ 'delegate' => array('channel_a_delegate', intval(PERMS_A_DELEGATE), false, t('Can administer my channel resources'), t('Extremely advanced. Leave this alone unless you know what you are doing')),
);
$ret = array('global_permissions' => $global_perms);
- call_hooks('global_permissions',$ret);
+ call_hooks('global_permissions', $ret);
+
return $ret['global_permissions'];
}
@@ -43,13 +57,13 @@ function get_perms() {
/**
* get_all_perms($uid,$observer_xchan)
*
- * @param $uid : The channel_id associated with the resource owner
- * @param $observer_xchan: The xchan_hash representing the observer
+ * @param int $uid The channel_id associated with the resource owner
+ * @param string $observer_xchan The xchan_hash representing the observer
+ * @param bool $internal_use (default true)
*
- * @returns: array of all permissions, key is permission name, value is true or false
+ * @returns array of all permissions, key is permission name, value is true or false
*/
-
-function get_all_perms($uid,$observer_xchan,$internal_use = true) {
+function get_all_perms($uid, $observer_xchan, $internal_use = true) {
$global_perms = get_perms();
@@ -85,7 +99,6 @@ function get_all_perms($uid,$observer_xchan,$internal_use = true) {
continue;
}
-
// Next we're going to check for blocked or ignored contacts.
// These take priority over all other settings.
@@ -94,10 +107,10 @@ function get_all_perms($uid,$observer_xchan,$internal_use = true) {
$ret[$perm_name] = true;
continue;
}
-
+
if(! $abook_checked) {
$x = q("select abook_my_perms, abook_flags, xchan_network from abook left join xchan on abook_xchan = xchan_hash
- where abook_channel = %d and abook_xchan = '%s' and not ( abook_flags & %d ) limit 1",
+ where abook_channel = %d and abook_xchan = '%s' and not ( abook_flags & %d )>0 limit 1",
intval($uid),
dbesc($observer_xchan),
intval(ABOOK_FLAG_SELF)
@@ -105,7 +118,7 @@ function get_all_perms($uid,$observer_xchan,$internal_use = true) {
if(! $x) {
// not in address book, see if they've got an xchan
$y = q("select xchan_network from xchan where xchan_hash = '%s' limit 1",
- dbesc($observer_xchan)
+ dbesc($observer_xchan)
);
}
@@ -113,7 +126,7 @@ function get_all_perms($uid,$observer_xchan,$internal_use = true) {
}
// If they're blocked - they can't read or write
-
+
if(($x) && ($x[0]['abook_flags'] & ABOOK_FLAG_BLOCKED)) {
$ret[$perm_name] = false;
continue;
@@ -130,7 +143,7 @@ function get_all_perms($uid,$observer_xchan,$internal_use = true) {
// system is blocked to anybody who is not authenticated
- if((! $observer_xchan) && intval(get_config('system','block_public'))) {
+ if((! $observer_xchan) && intval(get_config('system', 'block_public'))) {
$ret[$perm_name] = false;
continue;
}
@@ -177,14 +190,14 @@ function get_all_perms($uid,$observer_xchan,$internal_use = true) {
$onsite_checked = true;
}
-
+
if($c)
$ret[$perm_name] = true;
else
$ret[$perm_name] = false;
continue;
- }
+ }
// From here on we require that the observer be a connection and
// handle whether we're allowing any, approved or specific ones
@@ -226,7 +239,6 @@ function get_all_perms($uid,$observer_xchan,$internal_use = true) {
$ret[$perm_name] = false;
continue;
-
}
$arr = array(
@@ -235,11 +247,23 @@ function get_all_perms($uid,$observer_xchan,$internal_use = true) {
'permissions' => $ret);
call_hooks('get_all_perms',$arr);
+
return $arr['permissions'];
}
-
-function perm_is_allowed($uid,$observer_xchan,$permission) {
+/**
+ * @brief Checks if given permission is allowed for given observer on a channel.
+ *
+ * Checks if the given observer with the hash $observer_xchan has permission
+ * $permission on channel_id $uid.
+ * $permission is one defined in get_perms();
+ *
+ * @param int $uid The channel_id associated with the resource owner
+ * @param string $observer_xchan The xchan_hash representing the observer
+ * @param string $permission
+ * @return bool true if permission is allowed for observer on channel
+ */
+function perm_is_allowed($uid, $observer_xchan, $permission) {
$arr = array(
'channel_id' => $uid,
@@ -247,7 +271,7 @@ function perm_is_allowed($uid,$observer_xchan,$permission) {
'permission' => $permission,
'result' => false);
- call_hooks('perm_is_allowed',$arr);
+ call_hooks('perm_is_allowed', $arr);
if($arr['result'])
return true;
@@ -257,7 +281,7 @@ function perm_is_allowed($uid,$observer_xchan,$permission) {
$channel_perm = $global_perms[$permission][0];
- $r = q("select %s, channel_hash from channel where channel_id = %d limit 1",
+ $r = q("select %s, channel_pageflags, channel_hash from channel where channel_id = %d limit 1",
dbesc($channel_perm),
intval($uid)
);
@@ -269,7 +293,7 @@ function perm_is_allowed($uid,$observer_xchan,$permission) {
return true;
$x = q("select abook_my_perms, abook_flags, xchan_network from abook left join xchan on abook_xchan = xchan_hash
- where abook_channel = %d and abook_xchan = '%s' and not ( abook_flags & %d ) limit 1",
+ where abook_channel = %d and abook_xchan = '%s' and not ( abook_flags & %d )>0 limit 1",
intval($uid),
dbesc($observer_xchan),
intval(ABOOK_FLAG_SELF)
@@ -279,21 +303,21 @@ function perm_is_allowed($uid,$observer_xchan,$permission) {
if(($x) && ($x[0]['abook_flags'] & ABOOK_FLAG_BLOCKED))
return false;
-
+
if(($x) && (! $global_perms[$permission][2]) && ($x[0]['abook_flags'] & ABOOK_FLAG_IGNORED))
return false;
if(! $x) {
// not in address book, see if they've got an xchan
$y = q("select xchan_network from xchan where xchan_hash = '%s' limit 1",
- dbesc($observer_xchan)
+ dbesc($observer_xchan)
);
}
}
// system is blocked to anybody who is not authenticated
- if((! $observer_xchan) && intval(get_config('system','block_public')))
+ if((! $observer_xchan) && intval(get_config('system', 'block_public')))
return false;
// Check if this $uid is actually the $observer_xchan
@@ -301,7 +325,6 @@ function perm_is_allowed($uid,$observer_xchan,$permission) {
if($r[0]['channel_hash'] === $observer_xchan)
return true;
-
if($r[0][$channel_perm] & PERMS_PUBLIC)
return true;
@@ -326,6 +349,7 @@ function perm_is_allowed($uid,$observer_xchan,$permission) {
);
if($c)
return true;
+
return false;
}
@@ -361,25 +385,32 @@ function perm_is_allowed($uid,$observer_xchan,$permission) {
// No permissions allowed.
- return false;
+ return false;
}
// Check a simple array of observers against a permissions
// return a simple array of those with permission
-function check_list_permissions($uid,$arr,$perm) {
+function check_list_permissions($uid, $arr, $perm) {
$result = array();
if($arr)
foreach($arr as $x)
- if(perm_is_allowed($uid,$x,$perm))
+ if(perm_is_allowed($uid, $x, $perm))
$result[] = $x;
+
return($result);
}
-
+/**
+ * @brief Sets site wide default permissions.
+ *
+ * @return array
+ */
function site_default_perms() {
+ $ret = array();
+
$typical = array(
'view_stream' => PERMS_PUBLIC,
'view_profile' => PERMS_PUBLIC,
@@ -401,14 +432,14 @@ function site_default_perms() {
);
$global_perms = get_perms();
- $ret = array();
foreach($global_perms as $perm => $v) {
- $x = get_config('default_perms',$perm);
+ $x = get_config('default_perms', $perm);
if($x === false)
$x = $typical[$perm];
$ret[$perm] = $x;
}
+
return $ret;
}
@@ -449,15 +480,15 @@ function get_role_perms($role) {
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
+ $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
- $ret['channel_w_stream'] = PERMS_CONTACTS;
- $ret['channel_w_wall'] = PERMS_CONTACTS;
+ $ret['channel_w_stream'] = PERMS_SPECIFIC;
+ $ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
- $ret['channel_w_comment'] = PERMS_CONTACTS;
- $ret['channel_w_mail'] = PERMS_CONTACTS;
+ $ret['channel_w_comment'] = PERMS_SPECIFIC;
+ $ret['channel_w_mail'] = PERMS_SPECIFIC;
$ret['channel_w_photos'] = 0;
- $ret['channel_w_chat'] = PERMS_CONTACTS;
+ $ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = 0;
$ret['channel_r_storage'] = PERMS_PUBLIC;
$ret['channel_w_storage'] = 0;
@@ -465,9 +496,8 @@ function get_role_perms($role) {
$ret['channel_w_pages'] = 0;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
$ret['channel_w_like'] = PERMS_NETWORK;
-
- break;
+ break;
case 'social_restricted':
$ret['perms_auto'] = false;
@@ -482,25 +512,24 @@ function get_role_perms($role) {
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
+ $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
- $ret['channel_w_stream'] = PERMS_CONTACTS;
- $ret['channel_w_wall'] = PERMS_CONTACTS;
+ $ret['channel_w_stream'] = PERMS_SPECIFIC;
+ $ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
- $ret['channel_w_comment'] = PERMS_CONTACTS;
- $ret['channel_w_mail'] = PERMS_CONTACTS;
+ $ret['channel_w_comment'] = PERMS_SPECIFIC;
+ $ret['channel_w_mail'] = PERMS_SPECIFIC;
$ret['channel_w_photos'] = 0;
- $ret['channel_w_chat'] = PERMS_CONTACTS;
+ $ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = 0;
$ret['channel_r_storage'] = PERMS_PUBLIC;
$ret['channel_w_storage'] = 0;
$ret['channel_r_pages'] = PERMS_PUBLIC;
$ret['channel_w_pages'] = 0;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
- $ret['channel_w_like'] = PERMS_CONTACTS;
-
- break;
+ $ret['channel_w_like'] = PERMS_SPECIFIC;
+ break;
case 'social_private':
$ret['perms_auto'] = false;
@@ -515,12 +544,12 @@ function get_role_perms($role) {
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
- $ret['channel_r_abook'] = PERMS_CONTACTS;
- $ret['channel_w_stream'] = PERMS_CONTACTS;
- $ret['channel_w_wall'] = PERMS_CONTACTS;
+ $ret['channel_r_photos'] = PERMS_PUBLIC;
+ $ret['channel_r_abook'] = PERMS_SPECIFIC;
+ $ret['channel_w_stream'] = PERMS_SPECIFIC;
+ $ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
- $ret['channel_w_comment'] = PERMS_CONTACTS;
+ $ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
$ret['channel_w_photos'] = 0;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
@@ -530,8 +559,8 @@ function get_role_perms($role) {
$ret['channel_r_pages'] = PERMS_PUBLIC;
$ret['channel_w_pages'] = 0;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
- $ret['channel_w_like'] = PERMS_CONTACTS;
-
+ $ret['channel_w_like'] = PERMS_SPECIFIC;
+
break;
case 'forum':
@@ -547,15 +576,15 @@ function get_role_perms($role) {
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE|PERMS_W_TAGWALL;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
+ $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
- $ret['channel_w_stream'] = PERMS_CONTACTS;
- $ret['channel_w_wall'] = PERMS_CONTACTS;
- $ret['channel_w_tagwall'] = PERMS_CONTACTS;
- $ret['channel_w_comment'] = PERMS_CONTACTS;
- $ret['channel_w_mail'] = PERMS_CONTACTS;
+ $ret['channel_w_stream'] = 0;
+ $ret['channel_w_wall'] = PERMS_SPECIFIC;
+ $ret['channel_w_tagwall'] = PERMS_SPECIFIC;
+ $ret['channel_w_comment'] = PERMS_SPECIFIC;
+ $ret['channel_w_mail'] = PERMS_SPECIFIC;
$ret['channel_w_photos'] = 0;
- $ret['channel_w_chat'] = PERMS_CONTACTS;
+ $ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = 0;
$ret['channel_r_storage'] = PERMS_PUBLIC;
$ret['channel_w_storage'] = 0;
@@ -563,7 +592,7 @@ function get_role_perms($role) {
$ret['channel_w_pages'] = 0;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
$ret['channel_w_like'] = PERMS_NETWORK;
-
+
break;
case 'forum_restricted':
@@ -579,25 +608,24 @@ function get_role_perms($role) {
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE|PERMS_W_TAGWALL;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
+ $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
- $ret['channel_w_stream'] = PERMS_CONTACTS;
- $ret['channel_w_wall'] = PERMS_CONTACTS;
+ $ret['channel_w_stream'] = 0;
+ $ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
- $ret['channel_w_comment'] = PERMS_CONTACTS;
- $ret['channel_w_mail'] = PERMS_CONTACTS;
+ $ret['channel_w_comment'] = PERMS_SPECIFIC;
+ $ret['channel_w_mail'] = PERMS_SPECIFIC;
$ret['channel_w_photos'] = 0;
- $ret['channel_w_chat'] = PERMS_CONTACTS;
+ $ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = 0;
$ret['channel_r_storage'] = PERMS_PUBLIC;
$ret['channel_w_storage'] = 0;
$ret['channel_r_pages'] = PERMS_PUBLIC;
$ret['channel_w_pages'] = 0;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
- $ret['channel_w_like'] = PERMS_CONTACTS;
-
- break;
+ $ret['channel_w_like'] = PERMS_SPECIFIC;
+ break;
case 'forum_private':
$ret['perms_auto'] = false;
@@ -611,24 +639,24 @@ function get_role_perms($role) {
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
- $ret['channel_r_profile'] = PERMS_CONTACTS;
- $ret['channel_r_photos'] = PERMS_CONTACTS;
- $ret['channel_r_abook'] = PERMS_CONTACTS;
- $ret['channel_w_stream'] = PERMS_CONTACTS;
- $ret['channel_w_wall'] = PERMS_CONTACTS;
+ $ret['channel_r_profile'] = PERMS_SPECIFIC;
+ $ret['channel_r_photos'] = PERMS_SPECIFIC;
+ $ret['channel_r_abook'] = PERMS_SPECIFIC;
+ $ret['channel_w_stream'] = 0;
+ $ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = 0;
- $ret['channel_w_comment'] = PERMS_CONTACTS;
+ $ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
$ret['channel_w_photos'] = 0;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = 0;
- $ret['channel_r_storage'] = PERMS_CONTACTS;
+ $ret['channel_r_storage'] = PERMS_SPECIFIC;
$ret['channel_w_storage'] = 0;
- $ret['channel_r_pages'] = PERMS_CONTACTS;
+ $ret['channel_r_pages'] = PERMS_SPECIFIC;
$ret['channel_w_pages'] = 0;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
- $ret['channel_w_like'] = PERMS_CONTACTS;
-
+ $ret['channel_w_like'] = PERMS_SPECIFIC;
+
break;
case 'feed':
@@ -644,15 +672,15 @@ function get_role_perms($role) {
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
+ $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
- $ret['channel_w_stream'] = PERMS_CONTACTS;
- $ret['channel_w_wall'] = PERMS_CONTACTS;
+ $ret['channel_w_stream'] = PERMS_SPECIFIC;
+ $ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
- $ret['channel_w_comment'] = PERMS_CONTACTS;
- $ret['channel_w_mail'] = PERMS_CONTACTS;
+ $ret['channel_w_comment'] = PERMS_SPECIFIC;
+ $ret['channel_w_mail'] = PERMS_SPECIFIC;
$ret['channel_w_photos'] = 0;
- $ret['channel_w_chat'] = PERMS_CONTACTS;
+ $ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = 0;
$ret['channel_r_storage'] = PERMS_PUBLIC;
$ret['channel_w_storage'] = 0;
@@ -660,11 +688,10 @@ function get_role_perms($role) {
$ret['channel_w_pages'] = 0;
$ret['channel_a_republish'] = PERMS_NETWORK;
$ret['channel_w_like'] = PERMS_NETWORK;
-
+
break;
case 'feed_restricted':
-
$ret['perms_auto'] = false;
$ret['default_collection'] = true;
$ret['directory_publish'] = false;
@@ -677,15 +704,15 @@ function get_role_perms($role) {
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
+ $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
- $ret['channel_w_stream'] = PERMS_CONTACTS;
- $ret['channel_w_wall'] = PERMS_CONTACTS;
+ $ret['channel_w_stream'] = PERMS_SPECIFIC;
+ $ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
- $ret['channel_w_comment'] = PERMS_CONTACTS;
- $ret['channel_w_mail'] = PERMS_CONTACTS;
+ $ret['channel_w_comment'] = PERMS_SPECIFIC;
+ $ret['channel_w_mail'] = PERMS_SPECIFIC;
$ret['channel_w_photos'] = 0;
- $ret['channel_w_chat'] = PERMS_CONTACTS;
+ $ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = 0;
$ret['channel_r_storage'] = PERMS_PUBLIC;
$ret['channel_w_storage'] = 0;
@@ -693,7 +720,7 @@ function get_role_perms($role) {
$ret['channel_w_pages'] = 0;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
$ret['channel_w_like'] = PERMS_NETWORK;
-
+
break;
case 'soapbox':
@@ -707,7 +734,7 @@ function get_role_perms($role) {
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
+ $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
$ret['channel_w_stream'] = 0;
$ret['channel_w_wall'] = 0;
@@ -723,7 +750,7 @@ function get_role_perms($role) {
$ret['channel_w_pages'] = 0;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
$ret['channel_w_like'] = PERMS_NETWORK;
-
+
break;
case 'repository':
@@ -741,28 +768,25 @@ function get_role_perms($role) {
$ret['channel_r_profile'] = PERMS_PUBLIC;
$ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
- $ret['channel_w_stream'] = PERMS_CONTACTS;
- $ret['channel_w_wall'] = PERMS_CONTACTS;
- $ret['channel_w_tagwall'] = PERMS_CONTACTS;
- $ret['channel_w_comment'] = PERMS_CONTACTS;
- $ret['channel_w_mail'] = PERMS_CONTACTS;
- $ret['channel_w_photos'] = PERMS_CONTACTS;
- $ret['channel_w_chat'] = PERMS_CONTACTS;
+ $ret['channel_w_stream'] = PERMS_SPECIFIC;
+ $ret['channel_w_wall'] = PERMS_SPECIFIC;
+ $ret['channel_w_tagwall'] = PERMS_SPECIFIC;
+ $ret['channel_w_comment'] = PERMS_SPECIFIC;
+ $ret['channel_w_mail'] = PERMS_SPECIFIC;
+ $ret['channel_w_photos'] = PERMS_SPECIFIC;
+ $ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = 0;
$ret['channel_r_storage'] = PERMS_PUBLIC;
- $ret['channel_w_storage'] = PERMS_CONTACTS;
+ $ret['channel_w_storage'] = PERMS_SPECIFIC;
$ret['channel_r_pages'] = PERMS_PUBLIC;
- $ret['channel_w_pages'] = PERMS_CONTACTS;
+ $ret['channel_w_pages'] = PERMS_SPECIFIC;
$ret['channel_a_republish'] = PERMS_SPECIFIC;
$ret['channel_w_like'] = PERMS_NETWORK;
-
- break;
-
+ break;
default:
break;
-
}
$x = get_config('system','role_perms');
@@ -775,33 +799,19 @@ function get_role_perms($role) {
return $ret;
}
-
-function role_selector($current) {
-
- if(! $current)
- $current = 'custom';
-
+/**
+ * @brief Returns a list or roles, grouped by type
+ *
+ * @param string $current The current role
+ * @return string Returns an array of roles, grouped by type
+ */
+function get_roles() {
$roles = array(
- 'social' => array( t('Social Networking'),
- array('social' => t('Mostly Public'), 'social_restricted' => t('Restricted'), 'social_private' => t('Private'))),
- 'forum' => array( t('Community Forum'),
- array('forum' => t('Mostly Public'), 'forum_restricted' => t('Restricted'), 'forum_private' => t('Private'))),
- 'feed' => array( t('Feed Republish'),
- array('feed' => t('Mostly Public'), 'feed_restricted' => t('Restricted'))),
- 'special' => array( t('Special Purpose'),
- array('soapbox' => t('Celebrity/Soapbox'), 'repository' => t('Group Repository'))),
- 'other' => array( t('Other'),
- array('custom' => t('Custom/Expert Mode'))));
- $o = '<select name="permissions_role" id="privacy-role-select">';
- foreach($roles as $k => $v) {
- $o .= '<optgroup label="'. htmlspecialchars($v[0]) . '" >';
- foreach($v[1] as $kk => $vv) {
- $selected = (($kk === $current) ? ' selected="selected" ' : '');
- $o .= '<option value="' . $kk . '" ' . $selected . '>' . htmlspecialchars($vv) . '</option>';
- }
- $o .= '</optgroup>';
- }
- $o .= '</select>';
- return $o;
-}
+ t('Social Networking') => array('social' => t('Mostly Public'), 'social_restricted' => t('Restricted'), 'social_private' => t('Private')),
+ t('Community Forum') => array('forum' => t('Mostly Public'), 'forum_restricted' => t('Restricted'), 'forum_private' => t('Private')),
+ t('Feed Republish') => array('feed' => t('Mostly Public'), 'feed_restricted' => t('Restricted')),
+ t('Special Purpose') => array('soapbox' => t('Celebrity/Soapbox'), 'repository' => t('Group Repository')),
+ t('Other') => array('custom' => t('Custom/Expert Mode')));
+ return $roles;
+}
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php
index 508d82957..e63125671 100644
--- a/include/photo/photo_driver.php
+++ b/include/photo/photo_driver.php
@@ -341,7 +341,7 @@ abstract class photo_driver {
`allow_gid` = '%s',
`deny_cid` = '%s',
`deny_gid` = '%s'
- where id = %d limit 1",
+ where id = %d",
intval($p['aid']),
intval($p['uid']),
@@ -354,7 +354,7 @@ abstract class photo_driver {
dbesc($p['album']),
intval($this->getHeight()),
intval($this->getWidth()),
- dbesc($this->imageString()),
+ dbescbin($this->imageString()),
intval(strlen($this->imageString())),
intval($p['scale']),
intval($p['profile']),
@@ -383,7 +383,7 @@ abstract class photo_driver {
dbesc($p['album']),
intval($this->getHeight()),
intval($this->getWidth()),
- dbesc($this->imageString()),
+ dbescbin($this->imageString()),
intval(strlen($this->imageString())),
intval($p['scale']),
intval($p['profile']),
@@ -428,7 +428,7 @@ abstract class photo_driver {
`allow_gid` = '%s',
`deny_cid` = '%s',
`deny_gid` = '%s'
- where id = %d limit 1",
+ where id = %d",
intval($aid),
intval($uid),
@@ -441,7 +441,7 @@ abstract class photo_driver {
dbesc($album),
intval($this->getHeight()),
intval($this->getWidth()),
- dbesc($this->imageString()),
+ dbescbin($this->imageString()),
intval(strlen($this->imageString())),
intval($scale),
intval($profile),
@@ -467,7 +467,7 @@ abstract class photo_driver {
dbesc($album),
intval($this->getHeight()),
intval($this->getWidth()),
- dbesc($this->imageString()),
+ dbescbin($this->imageString()),
intval(strlen($this->imageString())),
intval($scale),
intval($profile),
@@ -562,7 +562,7 @@ function import_profile_photo($photo,$xchan,$thing = false) {
if($thing)
$hash = photo_new_resource();
else {
- $r = q("select resource_id from photo where xchan = '%s' and (photo_flags & %d ) and scale = 4 limit 1",
+ $r = q("select resource_id from photo where xchan = '%s' and (photo_flags & %d )>0 and scale = 4 limit 1",
dbesc($xchan),
intval(PHOTO_XCHAN)
);
diff --git a/include/photos.php b/include/photos.php
index badbbd791..2393153c6 100644
--- a/include/photos.php
+++ b/include/photos.php
@@ -44,9 +44,10 @@ function photo_upload($channel, $observer, $args) {
*
*/
- $r = q("SELECT * FROM photo WHERE album = '%s' AND uid = %d AND created > UTC_TIMESTAMP() - INTERVAL 3 HOUR ",
+ $r = q("SELECT * FROM photo WHERE album = '%s' AND uid = %d AND created > %s - INTERVAL %s ",
dbesc($album),
- intval($channel_id)
+ intval($channel_id),
+ db_utcnow(), db_quoteinterval('3 HOUR')
);
if((! $r) || ($album == t('Profile Photos')))
$visible = 1;
@@ -178,7 +179,7 @@ function photo_upload($channel, $observer, $args) {
if($args['title'])
$p['title'] = $args['title'];
if($args['description'])
- $p['desciprion'] = $args['description'];
+ $p['description'] = $args['description'];
$r1 = $ph->save($p);
@@ -291,7 +292,7 @@ function photos_albums_list($channel,$observer) {
$sql_extra = permissions_sql($channel_id);
- $albums = q("SELECT count( distinct resource_id ) as total, album from photo where uid = %d and ( photo_flags = %d or photo_flags = %d ) $sql_extra group by album order by created desc",
+ $albums = q("SELECT count( distinct resource_id ) as total, album from photo where uid = %d and ( photo_flags = %d or photo_flags = %d ) $sql_extra group by album order by max(created) desc",
intval($channel_id),
intval(PHOTO_NORMAL),
intval(PHOTO_PROFILE)
@@ -431,7 +432,7 @@ function photos_create_item($channel, $creator_hash, $photo, $visible = false) {
// Create item container
$item_flags = ITEM_WALL|ITEM_ORIGIN|ITEM_THREAD_TOP;
- $item_restrict = (($visible) ? ITEM_HIDDEN : ITEM_VISIBLE);
+ $item_restrict = (($visible) ? ITEM_VISIBLE : ITEM_HIDDEN);
$title = '';
$mid = item_message_id();
diff --git a/include/plugin.php b/include/plugin.php
index 4f9ab71da..08decc8e3 100755
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -102,7 +102,7 @@ function load_plugin($plugin) {
// This way the system won't fall over dead during the update.
if(file_exists('addon/' . $plugin . '/.hidden')) {
- q("update addon set hidden = 1 where name = '%s' limit 1",
+ q("update addon set hidden = 1 where name = '%s'",
dbesc($plugin)
);
}
@@ -158,7 +158,7 @@ function reload_plugins() {
$func = $pl . '_load';
$func();
}
- q("UPDATE `addon` SET `timestamp` = %d WHERE `id` = %d LIMIT 1",
+ q("UPDATE `addon` SET `timestamp` = %d WHERE `id` = %d",
intval($t),
intval($i['id'])
);
@@ -208,7 +208,7 @@ function register_hook($hook, $file, $function, $priority = 0) {
* @return mixed
*/
function unregister_hook($hook, $file, $function) {
- $r = q("DELETE FROM hook WHERE hook = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
+ $r = q("DELETE FROM hook WHERE hook = '%s' AND `file` = '%s' AND `function` = '%s'",
dbesc($hook),
dbesc($file),
dbesc($function)
@@ -472,6 +472,8 @@ function script_path() {
$scheme = 'https';
elseif(x($_SERVER,'SERVER_PORT') && (intval($_SERVER['SERVER_PORT']) == 443))
$scheme = 'https';
+ elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on')
+ $scheme = 'https';
else
$scheme = 'http';
diff --git a/include/poller.php b/include/poller.php
index f11618d37..bd3f81a2e 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -27,10 +27,11 @@ function poller_run($argv, $argc){
// Check for a lockfile. If it exists, but is over an hour old, it's stale. Ignore it.
$lockfile = 'store/[data]/poller';
- if ((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600))) {
- logger("poller: Already running");
+ if((file_exists($lockfile)) && (filemtime($lockfile) > (time() - 3600))
+ && (! get_config('system','override_poll_lockfile'))) {
+ logger("poller: Already running");
return;
- }
+ }
// Create a lockfile. Needs two vars, but $x doesn't need to contain anything.
file_put_contents($lockfile, $x);
@@ -44,15 +45,17 @@ function poller_run($argv, $argc){
// expire any expired mail
- q("delete from mail where expires != '%s' and expires < UTC_TIMESTAMP() ",
- dbesc(NULL_DATE)
+ q("delete from mail where expires != '%s' and expires < %s ",
+ dbesc(NULL_DATE),
+ db_utcnow()
);
// expire any expired items
- $r = q("select id from item where expires != '%s' and expires < UTC_TIMESTAMP()
- and not ( item_restrict & %d ) ",
+ $r = q("select id from item where expires != '%s' and expires < %s
+ and ( item_restrict & %d ) = 0 ",
dbesc(NULL_DATE),
+ db_utcnow(),
intval(ITEM_DELETED)
);
if($r) {
@@ -66,7 +69,10 @@ function poller_run($argv, $argc){
// channels and sites that quietly vanished and prevent the directory from accumulating stale
// or dead entries.
- $r = q("select channel_id from channel where channel_dirdate < UTC_TIMESTAMP() - INTERVAL 30 DAY");
+ $r = q("select channel_id from channel where channel_dirdate < %s - INTERVAL %s",
+ db_utcnow(),
+ db_quoteinterval('30 DAY')
+ );
if($r) {
foreach($r as $rr) {
proc_run('php','include/directory.php',$rr['channel_id'],'force');
@@ -78,12 +84,13 @@ function poller_run($argv, $argc){
// publish any applicable items that were set to be published in the future
// (time travel posts)
- $r = q("select id from item where ( item_restrict & %d ) and created <= UTC_TIMESTAMP() ",
- intval(ITEM_DELAYED_PUBLISH)
+ $r = q("select id from item where ( item_restrict & %d ) > 0 and created <= %s ",
+ intval(ITEM_DELAYED_PUBLISH),
+ db_utcnow()
);
if($r) {
foreach($r as $rr) {
- $x = q("update item set item_restrict = ( item_restrict ^ %d ) where id = %d limit 1",
+ $x = q("update item set item_restrict = ( item_restrict & ~%d ) where id = %d",
intval(ITEM_DELAYED_PUBLISH),
intval($rr['id'])
);
@@ -123,8 +130,8 @@ function poller_run($argv, $argc){
if(($d2 != $d1) && ($h1 == $h2)) {
- require_once('include/dir_fns.php');
- check_upstream_directory();
+ require_once('include/dir_fns.php');
+ check_upstream_directory();
call_hooks('cron_daily',datetime_convert());
@@ -167,7 +174,9 @@ function poller_run($argv, $argc){
// expire any read notifications over a month old
- q("delete from notify where seen = 1 and date < UTC_TIMESTAMP() - INTERVAL 30 DAY");
+ q("delete from notify where seen = 1 and date < %s - INTERVAL %s",
+ db_utcnow(), db_quoteinterval('30 DAY')
+ );
// expire any expired accounts
downgrade_accounts();
@@ -199,13 +208,16 @@ function poller_run($argv, $argc){
// This should be rare
$r = q("select xchan_photo_l, xchan_hash from xchan where xchan_photo_l != '' and xchan_photo_m = ''
- and xchan_photo_date < UTC_TIMESTAMP() - INTERVAL 1 DAY");
+ and xchan_photo_date < %s - INTERVAL %s",
+ db_utcnow(),
+ db_quoteinterval('1 DAY')
+ );
if($r) {
require_once('include/photo/photo_driver.php');
foreach($r as $rr) {
$photos = import_profile_photo($rr['xchan_photo_l'],$rr['xchan_hash']);
$x = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
- where xchan_hash = '%s' limit 1",
+ where xchan_hash = '%s'",
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
@@ -244,13 +256,13 @@ function poller_run($argv, $argc){
}
- $sql_extra = (($manual_id) ? " AND abook_id = $manual_id " : "");
+ $sql_extra = (($manual_id) ? " AND abook_id = " . intval($manual_id) . " " : "");
reload_plugins();
$d = datetime_convert();
- //TODO check to see if there are any cronhooks before wasting a process
+ // TODO check to see if there are any cronhooks before wasting a process
if(! $restart)
proc_run('php','include/cronhooks.php');
@@ -258,16 +270,17 @@ function poller_run($argv, $argc){
// Only poll from those with suitable relationships
$abandon_sql = (($abandon_days)
- ? sprintf(" AND account_lastlog > UTC_TIMESTAMP() - INTERVAL %d DAY ", intval($abandon_days))
+ ? sprintf(" AND account_lastlog > %s - INTERVAL %s ", db_utcnow(), db_quoteinterval(intval($abandon_days).' DAY'))
: ''
);
-
- $contacts = q("SELECT abook_id, abook_flags, abook_updated, abook_connected, abook_closeness, abook_xchan, abook_channel
- FROM abook LEFT JOIN account on abook_account = account_id where 1
+ $randfunc = db_getfunc('RAND');
+
+ $contacts = q("SELECT abook_id, abook_flags, abook_updated, abook_connected, abook_closeness, abook_xchan, abook_channel, xchan_network
+ FROM abook LEFT JOIN xchan on abook_xchan = xchan_hash LEFT JOIN account on abook_account = account_id
$sql_extra
- AND (( abook_flags & %d ) OR ( abook_flags = %d ))
- AND (( account_flags = %d ) OR ( account_flags = %d )) $abandon_sql ORDER BY RAND()",
+ AND (( abook_flags & %d ) > 0 OR ( abook_flags = %d ))
+ AND (( account_flags = %d ) OR ( account_flags = %d )) $abandon_sql ORDER BY $randfunc",
intval(ABOOK_FLAG_HIDDEN|ABOOK_FLAG_PENDING|ABOOK_FLAG_UNCONNECTED|ABOOK_FLAG_FEED),
intval(0),
intval(ACCOUNT_OK),
@@ -279,6 +292,9 @@ function poller_run($argv, $argc){
foreach($contacts as $contact) {
+ if($contact['abook_flags'] & ABOOK_FLAG_SELF)
+ continue;
+
$update = false;
$t = $contact['abook_updated'];
@@ -300,15 +316,19 @@ function poller_run($argv, $argc){
}
+ if($contact['xchan_network'] !== 'zot')
+ continue;
+
if($c == $t) {
if(datetime_convert('UTC','UTC', 'now') > datetime_convert('UTC','UTC', $t . " + 1 day"))
$update = true;
}
else {
+
// if we've never connected with them, start the mark for death countdown from now
if($c == NULL_DATE) {
- $r = q("update abook set abook_connected = '%s' where abook_id = %d limit 1",
+ $r = q("update abook set abook_connected = '%s' where abook_id = %d",
dbesc(datetime_convert()),
intval($contact['abook_id'])
);
@@ -319,17 +339,12 @@ function poller_run($argv, $argc){
// He's dead, Jim
if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 30 day")) > 0) {
- $n = q("select xchan_network from xchan where xchan_hash = '%s' limit 1",
- dbesc($contact['abook_xchan'])
+ $r = q("update abook set abook_flags = (abook_flags | %d) where abook_id = %d",
+ intval(ABOOK_FLAG_ARCHIVED),
+ intval($contact['abook_id'])
);
- if($n && $n[0]['xchan_network'] == 'zot') {
- $r = q("update abook set abook_flags = (abook_flags | %d) where abook_id = %d limit 1",
- intval(ABOOK_FLAG_ARCHIVED),
- intval($contact['abook_id'])
- );
- $update = false;
- continue;
- }
+ $update = false;
+ continue;
}
if($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) {
@@ -351,9 +366,11 @@ function poller_run($argv, $argc){
$update = true;
}
-
}
+ if($contact['abook_flags'] & (ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED|ABOOK_FLAG_IGNORED))
+ continue;
+
if((! $update) && (! $force))
continue;
@@ -365,9 +382,10 @@ function poller_run($argv, $argc){
}
if($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) {
- $r = q("select distinct ud_addr, updates.* from updates where not ( ud_flags & %d ) and ud_addr != '' and ( ud_last = '%s' OR ud_last > UTC_TIMESTAMP() - INTERVAL 7 DAY ) group by ud_addr ",
+ $r = q("select distinct ud_addr, updates.* from updates where ( ud_flags & %d ) = 0 and ud_addr != '' and ( ud_last = '%s' OR ud_last > %s - INTERVAL %s ) group by ud_addr ",
intval(UPDATE_FLAGS_UPDATED),
- dbesc(NULL_DATE)
+ dbesc(NULL_DATE),
+ db_utcnow(), db_quoteinterval('7 DAY')
);
if($r) {
foreach($r as $rr) {
@@ -385,6 +403,8 @@ function poller_run($argv, $argc){
}
}
+ set_config('system','lastpoll',datetime_convert());
+
//All done - clear the lockfile
@unlink($lockfile);
diff --git a/include/queue.php b/include/queue.php
index 222ebada4..b6a540ef9 100644
--- a/include/queue.php
+++ b/include/queue.php
@@ -22,7 +22,9 @@ function queue_run($argv, $argc){
logger('queue: start');
- $r = q("DELETE FROM outq WHERE outq_created < UTC_TIMESTAMP() - INTERVAL 3 DAY");
+ $r = q("DELETE FROM outq WHERE outq_created < %s - INTERVAL %s",
+ db_utcnow(), db_quoteinterval('3 DAY')
+ );
if($queue_id) {
$r = q("SELECT * FROM outq WHERE outq_hash = '%s' LIMIT 1",
@@ -37,8 +39,18 @@ function queue_run($argv, $argc){
// so that we don't start off a thousand deliveries for a couple of dead hubs.
// The zot driver will deliver everything destined for a single hub once contact is made (*if* contact is made).
// Other drivers will have to do something different here and may need their own query.
-
- $r = q("SELECT * FROM outq WHERE outq_delivered = 0 and (( outq_created > UTC_TIMESTAMP() - INTERVAL 12 HOUR and outq_updated < UTC_TIMESTAMP() - INTERVAL 15 MINUTE ) OR ( outq_updated < UTC_TIMESTAMP() - INTERVAL 1 HOUR )) group by outq_posturl");
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $prefix = 'DISTINCT ON (outq_posturl)';
+ $suffix = 'ORDER BY outq_posturl';
+ } else {
+ $prefix = '';
+ $suffix = 'GROUP BY outq_posturl';
+ }
+ $r = q("SELECT $prefix * FROM outq WHERE outq_delivered = 0 and (( outq_created > %s - INTERVAL %s and outq_updated < %s - INTERVAL %s ) OR ( outq_updated < %s - INTERVAL %s )) $suffix",
+ db_utcnow(), db_quoteinterval('12 HOUR'),
+ db_utcnow(), db_quoteinterval('15 MINUTE'),
+ db_utcnow(), db_quoteinterval('1 HOUR')
+ );
}
if(! $r)
return;
@@ -51,13 +63,13 @@ function queue_run($argv, $argc){
$result = z_post_url($rr['outq_posturl'],$rr['outq_msg']);
if($result['success'] && $result['return_code'] < 300) {
logger('queue: queue post success to ' . $rr['outq_posturl'], LOGGER_DEBUG);
- $y = q("delete from outq where outq_hash = '%s' limit 1",
+ $y = q("delete from outq where outq_hash = '%s'",
dbesc($rr['ouq_hash'])
);
}
else {
logger('queue: queue post returned ' . $result['return_code'] . ' from ' . $rr['outq_posturl'],LOGGER_DEBUG);
- $y = q("update outq set outq_updated = '%s' where outq_hash = '%s' limit 1",
+ $y = q("update outq set outq_updated = '%s' where outq_hash = '%s'",
dbesc(datetime_convert()),
dbesc($rr['outq_hash'])
);
@@ -70,7 +82,7 @@ function queue_run($argv, $argc){
}
else {
$deadguys[] = $rr['outq_posturl'];
- $y = q("update outq set outq_updated = '%s' where outq_hash = '%s' limit 1",
+ $y = q("update outq set outq_updated = '%s' where outq_hash = '%s'",
dbesc(datetime_convert()),
dbesc($rr['outq_hash'])
);
diff --git a/include/queue_fn.php b/include/queue_fn.php
index 512edb531..22580bc48 100644
--- a/include/queue_fn.php
+++ b/include/queue_fn.php
@@ -2,7 +2,7 @@
function update_queue_time($id) {
logger('queue: requeue item ' . $id);
- q("UPDATE outq SET outq_updated = '%s' WHERE outq_hash = '%s' LIMIT 1",
+ q("UPDATE outq SET outq_updated = '%s' WHERE outq_hash = '%s'",
dbesc(datetime_convert()),
dbesc($id)
);
@@ -10,7 +10,7 @@ function update_queue_time($id) {
function remove_queue_item($id) {
logger('queue: remove queue item ' . $id);
- q("DELETE FROM outq WHERE hash = '%s' LIMIT 1",
+ q("DELETE FROM outq WHERE hash = '%s'",
dbesc($id)
);
}
diff --git a/include/reddav.php b/include/reddav.php
index c16e08e27..750ca1b24 100644
--- a/include/reddav.php
+++ b/include/reddav.php
@@ -42,7 +42,7 @@ require_once('include/RedDAV/RedBasicAuth.php');
function RedChannelList(&$auth) {
$ret = array();
- $r = q("SELECT channel_id, channel_address FROM channel WHERE NOT (channel_pageflags & %d) AND NOT (channel_pageflags & %d)",
+ $r = q("SELECT channel_id, channel_address FROM channel WHERE NOT (channel_pageflags & %d)>0 AND NOT (channel_pageflags & %d)>0",
intval(PAGE_REMOVED),
intval(PAGE_HIDDEN)
);
@@ -115,7 +115,7 @@ function RedCollectionData($file, &$auth) {
$permission_error = false;
for ($x = 1; $x < count($path_arr); $x++) {
- $r = q("SELECT id, hash, filename, flags FROM attach WHERE folder = '%s' AND filename = '%s' AND uid = %d AND (flags & %d) $perms LIMIT 1",
+ $r = q("SELECT id, hash, filename, flags FROM attach WHERE folder = '%s' AND filename = '%s' AND uid = %d AND (flags & %d)>0 $perms LIMIT 1",
dbesc($folder),
dbesc($path_arr[$x]),
intval($channel_id),
@@ -124,7 +124,7 @@ function RedCollectionData($file, &$auth) {
if (! $r) {
// path wasn't found. Try without permissions to see if it was the result of permissions.
$errors = true;
- $r = q("select id, hash, filename, flags from attach where folder = '%s' and filename = '%s' and uid = %d and (flags & %d) limit 1",
+ $r = q("select id, hash, filename, flags from attach where folder = '%s' and filename = '%s' and uid = %d and (flags & %d)>0 limit 1",
dbesc($folder),
basename($path_arr[$x]),
intval($channel_id),
@@ -155,8 +155,14 @@ function RedCollectionData($file, &$auth) {
logger("Path mismatch: $path !== /$file");
return NULL;
}
-
- $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, created, edited from attach where folder = '%s' and uid = %d $perms group by filename",
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $prefix = 'DISTINCT ON (filename)';
+ $suffix = 'ORDER BY filename';
+ } else {
+ $prefix = '';
+ $suffix = 'GROUP BY filename';
+ }
+ $r = q("select $prefix id, uid, hash, filename, filetype, filesize, revision, folder, flags, created, edited from attach where folder = '%s' and uid = %d $perms $suffix",
dbesc($folder),
intval($channel_id)
);
@@ -231,7 +237,7 @@ function RedFileData($file, &$auth, $test = false) {
$errors = false;
for ($x = 1; $x < count($path_arr); $x++) {
- $r = q("select id, hash, filename, flags from attach where folder = '%s' and filename = '%s' and uid = %d and (flags & %d) $perms",
+ $r = q("select id, hash, filename, flags from attach where folder = '%s' and filename = '%s' and uid = %d and (flags & %d)>0 $perms",
dbesc($folder),
dbesc($path_arr[$x]),
intval($channel_id),
@@ -244,7 +250,7 @@ function RedFileData($file, &$auth, $test = false) {
}
if (! $r) {
$r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, created, edited from attach
- where folder = '%s' and filename = '%s' and uid = %d $perms group by filename limit 1",
+ where folder = '%s' and filename = '%s' and uid = %d $perms order by filename limit 1",
dbesc($folder),
dbesc(basename($file)),
intval($channel_id)
@@ -253,7 +259,7 @@ function RedFileData($file, &$auth, $test = false) {
if (! $r) {
$errors = true;
$r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, created, edited from attach
- where folder = '%s' and filename = '%s' and uid = %d group by filename limit 1",
+ where folder = '%s' and filename = '%s' and uid = %d order by filename limit 1",
dbesc($folder),
dbesc(basename($file)),
intval($channel_id)
diff --git a/include/security.php b/include/security.php
index e83cc7061..07b6a96aa 100644
--- a/include/security.php
+++ b/include/security.php
@@ -1,18 +1,30 @@
-<?php /** @file */
-
-function authenticate_success($user_record, $login_initial = false, $interactive = false,$return = false,$update_lastlog = false) {
+<?php
+/**
+ * @file include/security.php
+ *
+ * Some security related functions.
+ */
+
+/**
+ * @param int $user_record The account_id
+ * @param bool $login_initial default false
+ * @param bool $interactive default false
+ * @param bool $return
+ * @param bool $update_lastlog
+ */
+function authenticate_success($user_record, $login_initial = false, $interactive = false, $return = false, $update_lastlog = false) {
$a = get_app();
$_SESSION['addr'] = $_SERVER['REMOTE_ADDR'];
- if(x($user_record,'account_id')) {
+ if(x($user_record, 'account_id')) {
$a->account = $user_record;
$_SESSION['account_id'] = $user_record['account_id'];
$_SESSION['authenticated'] = 1;
if($login_initial || $update_lastlog) {
- q("update account set account_lastlog = '%s' where account_id = %d limit 1",
+ q("update account set account_lastlog = '%s' where account_id = %d",
dbesc(datetime_convert()),
intval($_SESSION['account_id'])
);
@@ -39,7 +51,7 @@ function authenticate_success($user_record, $login_initial = false, $interactive
// might want to log success here
}
- if($return || x($_SESSION,'workflow')) {
+ if($return || x($_SESSION, 'workflow')) {
unset($_SESSION['workflow']);
return;
}
@@ -59,7 +71,7 @@ function authenticate_success($user_record, $login_initial = false, $interactive
/* This account has never created a channel. Send them to new_channel by default */
if($a->module === 'login') {
- $r = q("select count(channel_id) as total from channel where channel_account_id = %d and not ( channel_pageflags & %d)",
+ $r = q("select count(channel_id) as total from channel where channel_account_id = %d and not ( channel_pageflags & %d)>0",
intval($a->account['account_id']),
intval(PAGE_REMOVED)
);
@@ -70,30 +82,36 @@ function authenticate_success($user_record, $login_initial = false, $interactive
/* else just return */
}
-
+/**
+ * @brief Change to another channel with current logged-in account.
+ *
+ * @param int $change_channel The channel_id of the channel you want to change to
+ *
+ * @return bool|array false or channel record of the new channel
+ */
function change_channel($change_channel) {
$ret = false;
if($change_channel) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and channel_account_id = %d and not ( channel_pageflags & %d) limit 1",
+ $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and channel_account_id = %d and not ( channel_pageflags & %d)>0 limit 1",
intval($change_channel),
intval(get_account_id()),
intval(PAGE_REMOVED)
);
// It's not there. Is this an administrator, and is this the sys channel?
- if (is_developer()) {
- if (! $r) {
- if (is_site_admin()) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and ( channel_pageflags & %d) and not (channel_pageflags & %d ) limit 1",
- intval($change_channel),
- intval(PAGE_SYSTEM),
- intval(PAGE_REMOVED)
- );
+ if (is_developer()) {
+ if (! $r) {
+ if (is_site_admin()) {
+ $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and ( channel_pageflags & %d) and not (channel_pageflags & %d )>0 limit 1",
+ intval($change_channel),
+ intval(PAGE_SYSTEM),
+ intval(PAGE_REMOVED)
+ );
+ }
}
}
- }
if($r) {
$hash = $r[0]['channel_hash'];
@@ -109,23 +127,28 @@ function change_channel($change_channel) {
);
if($x) {
$_SESSION['my_url'] = $x[0]['xchan_url'];
- $_SESSION['my_address'] = $r[0]['channel_address'] . '@' . substr(get_app()->get_baseurl(),strpos(get_app()->get_baseurl(),'://')+3);
+ $_SESSION['my_address'] = $r[0]['channel_address'] . '@' . substr(get_app()->get_baseurl(), strpos(get_app()->get_baseurl(), '://') + 3);
get_app()->set_observer($x[0]);
- get_app()->set_perms(get_all_perms(local_user(),$hash));
+ get_app()->set_perms(get_all_perms(local_user(), $hash));
}
if(! is_dir('store/' . $r[0]['channel_address']))
@os_mkdir('store/' . $r[0]['channel_address'], STORAGE_DEFAULT_PERMISSIONS,true);
-
}
return $ret;
-
}
-
-
-function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
+/**
+ * @brief Creates an addiontal SQL where statement to check permissions.
+ *
+ * @param int $owner_id
+ * @param bool $remote_verified default false, not used at all
+ * @param string $groups this param is not used at all
+ *
+ * @return string additional SQL where statement
+ */
+function permissions_sql($owner_id, $remote_verified = false, $groups = null) {
if(defined('STATUSNET_PRIVACY_COMPATIBILITY'))
return '';
@@ -142,8 +165,7 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
$sql = " AND allow_cid = ''
AND allow_gid = ''
AND deny_cid = ''
- AND deny_gid = ''
-
+ AND deny_gid = ''
";
/**
@@ -162,7 +184,6 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
* done this and passed the groups into this function.
*/
-
else {
$observer = get_observer_hash();
if($observer) {
@@ -174,9 +195,10 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
foreach($groups as $g)
$gs .= '|<' . $g . '>';
}
+ $regexop = db_getfunc('REGEXP');
$sql = sprintf(
- " AND ( NOT (deny_cid like '%s' OR deny_gid REGEXP '%s')
- AND ( allow_cid like '%s' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
+ " AND ( NOT (deny_cid like '%s' OR deny_gid $regexop '%s')
+ AND ( allow_cid like '%s' OR allow_gid $regexop '%s' OR ( allow_cid = '' AND allow_gid = '') )
)
",
dbesc(protect_sprintf( '%<' . $observer . '>%')),
@@ -190,7 +212,16 @@ function permissions_sql($owner_id,$remote_verified = false,$groups = null) {
return $sql;
}
-function item_permissions_sql($owner_id,$remote_verified = false,$groups = null) {
+/**
+ * @brief Creates an addiontal SQL where statement to check permissions for an item.
+ *
+ * @param int $owner_id
+ * @param bool $remote_verified default false, not used at all
+ * @param string $groups this param is not used at all
+ *
+ * @return string additional SQL where statement
+ */
+function item_permissions_sql($owner_id, $remote_verified = false, $groups = null) {
if(defined('STATUSNET_PRIVACY_COMPATIBILITY'))
return '';
@@ -204,8 +235,7 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
* default permissions - anonymous user
*/
- $sql = " AND not item_private ";
-
+ $sql = " AND item_private=0 ";
/**
* Profile owner - everything is visible
@@ -223,7 +253,6 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
* done this and passed the groups into this function.
*/
-
else {
$observer = get_observer_hash();
@@ -235,10 +264,11 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
if(is_array($groups) && count($groups)) {
foreach($groups as $g)
$gs .= '|<' . $g . '>';
- }
+ }
+ $regexop = db_getfunc('REGEXP');
$sql = sprintf(
- " AND ( NOT (deny_cid like '%s' OR deny_gid REGEXP '%s')
- AND ( allow_cid like '%s' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
+ " AND ( NOT (deny_cid like '%s' OR deny_gid $regexop '%s')
+ AND ( allow_cid like '%s' OR allow_gid $regexop '%s' OR ( allow_cid = '' AND allow_gid = '') )
)
",
dbesc(protect_sprintf( '%<' . $observer . '>%')),
@@ -248,12 +278,18 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null)
);
}
}
+
return $sql;
}
+/**
+ * @param string $observer_hash
+ *
+ * @return string additional SQL where statement
+ */
function public_permissions_sql($observer_hash) {
- $observer = get_app()->get_observer();
+ //$observer = get_app()->get_observer();
$groups = init_groups_visitor($observer_hash);
$gs = '<<>>'; // should be impossible to match
@@ -261,12 +297,13 @@ function public_permissions_sql($observer_hash) {
if(is_array($groups) && count($groups)) {
foreach($groups as $g)
$gs .= '|<' . $g . '>';
- }
+ }
$sql = '';
if($observer_hash) {
+ $regexop = db_getfunc('REGEXP');
$sql = sprintf(
- " OR (( NOT (deny_cid like '%s' OR deny_gid REGEXP '%s')
- AND ( allow_cid like '%s' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
+ " OR (( NOT (deny_cid like '%s' OR deny_gid $regexop '%s')
+ AND ( allow_cid like '%s' OR allow_gid $regexop '%s' OR ( allow_cid = '' AND allow_gid = '') )
))
",
dbesc(protect_sprintf( '%<' . $observer_hash . '>%')),
@@ -338,11 +375,11 @@ function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'f
}
}
+
// Returns an array of group id's this contact is a member of.
// This array will only contain group id's related to the uid of this
// DFRN contact. They are *not* neccessarily unique across the entire site.
-
if(! function_exists('init_groups_visitor')) {
function init_groups_visitor($contact_id) {
$groups = array();
@@ -358,8 +395,6 @@ function init_groups_visitor($contact_id) {
-
-
// This is used to determine which uid have posts which are visible to the logged in user (from the API) for the
// public_timeline, and we can use this in a community page by making
// $perms = (PERMS_NETWORK|PERMS_PUBLIC) unless logged in.
@@ -375,23 +410,26 @@ function stream_perms_api_uids($perms = NULL ) {
$ret = array();
if(local_user())
$ret[] = local_user();
- $r = q("select channel_id from channel where channel_r_stream > 0 and (channel_r_stream & %d) and not (channel_pageflags & %d)",
+ $r = q("select channel_id from channel where channel_r_stream > 0 and (channel_r_stream & %d)>0 and not (channel_pageflags & %d)>0",
intval($perms),
- intval(PAGE_CENSORED|PAGE_SYSTEM|PAGE_REMOVED)
+ intval(PAGE_ADULT|PAGE_CENSORED|PAGE_SYSTEM|PAGE_REMOVED)
);
- if($r)
+ if($r) {
foreach($r as $rr)
- if(! in_array($rr['channel_id'],$ret))
+ if(! in_array($rr['channel_id'], $ret))
$ret[] = $rr['channel_id'];
+ }
$str = '';
- if($ret)
+ if($ret) {
foreach($ret as $rr) {
if($str)
$str .= ',';
$str .= intval($rr);
}
+ }
logger('stream_perms_api_uids: ' . $str, LOGGER_DEBUG);
+
return $str;
}
@@ -402,23 +440,25 @@ function stream_perms_xchans($perms = NULL ) {
if(local_user())
$ret[] = get_observer_hash();
- $r = q("select channel_hash from channel where channel_r_stream > 0 and (channel_r_stream & %d) and not (channel_pageflags & %d)",
+ $r = q("select channel_hash from channel where channel_r_stream > 0 and (channel_r_stream & %d)>0 and not (channel_pageflags & %d)>0",
intval($perms),
- intval(PAGE_CENSORED|PAGE_SYETEM|PAGE_REMOVED)
+ intval(PAGE_ADULT|PAGE_CENSORED|PAGE_SYSTEM|PAGE_REMOVED)
);
- if($r)
+ if($r) {
foreach($r as $rr)
- if(! in_array($rr['channel_hash'],$ret))
+ if(! in_array($rr['channel_hash'], $ret))
$ret[] = $rr['channel_hash'];
+ }
$str = '';
- if($ret)
+ if($ret) {
foreach($ret as $rr) {
if($str)
$str .= ',';
$str .= "'" . dbesc($rr) . "'";
}
+ }
logger('stream_perms_xchans: ' . $str, LOGGER_DEBUG);
+
return $str;
}
-
diff --git a/include/session.php b/include/session.php
index b531688e2..ed4dfdd16 100644
--- a/include/session.php
+++ b/include/session.php
@@ -60,11 +60,11 @@ function ref_session_write ($id,$data) {
if($session_exists)
$r = q("UPDATE `session`
SET `data` = '%s', `expire` = '%s'
- WHERE `sid` = '%s' LIMIT 1",
+ WHERE `sid` = '%s'",
dbesc($data), dbesc($expire), dbesc($id));
else
- $r = q("INSERT INTO `session`
- SET `sid` = '%s', `expire` = '%s', `data` = '%s'",
+ $r = q("INSERT INTO `session` (sid, expire, data) values ('%s', '%s', '%s')",
+ //SET `sid` = '%s', `expire` = '%s', `data` = '%s'",
dbesc($id), dbesc($default_expire), dbesc($data));
return true;
@@ -84,8 +84,9 @@ function ref_session_destroy ($id) {
function ref_session_gc($expire) {
q("DELETE FROM session WHERE expire < %d", dbesc(time()));
- q("OPTIMIZE TABLE session");
- return true;
+ if (! get_config('system','innodb'))
+ db_optimizetable('session');
+ return true;
}
$gc_probability = 50;
diff --git a/include/socgraph.php b/include/socgraph.php
index 504a6b2c0..740886b1c 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -77,7 +77,7 @@ function poco_load($xchan = '',$url = null) {
dbesc($xchan)
);
if($r) {
- q("update xchat set xchat_edited = '%s' where xchat_id = %d limit 1",
+ q("update xchat set xchat_edited = '%s' where xchat_id = %d",
dbesc(datetime_convert()),
intval($r[0]['xchat_id'])
);
@@ -93,7 +93,8 @@ function poco_load($xchan = '',$url = null) {
}
}
}
- q("delete from xchat where xchat_edited < UTC_TIMESTAMP() - INTERVAL 7 DAY and xchat_xchan = '%s' ",
+ q("delete from xchat where xchat_edited < %s - INTERVAL %s and xchat_xchan = '%s' ",
+ db_utcnow(), db_quoteinterval('7 DAY'),
dbesc($xchan)
);
}
@@ -195,7 +196,7 @@ function poco_load($xchan = '',$url = null) {
);
}
else {
- q("update xlink set xlink_updated = '%s', xlink_rating = %d where xlink_id = %d limit 1",
+ q("update xlink set xlink_updated = '%s', xlink_rating = %d where xlink_id = %d",
dbesc(datetime_convert()),
intval($rating),
intval($r[0]['xlink_id'])
@@ -204,8 +205,9 @@ function poco_load($xchan = '',$url = null) {
}
logger("poco_load: loaded $total entries",LOGGER_DEBUG);
- q("delete from xlink where xlink_xchan = '%s' and xlink_updated < UTC_TIMESTAMP() - INTERVAL 2 DAY",
- dbesc($xchan)
+ q("delete from xlink where xlink_xchan = '%s' and xlink_updated < %s - INTERVAL %s",
+ dbesc($xchan),
+ db_utcnow(), db_quoteinterval('2 DAY')
);
}
@@ -227,18 +229,19 @@ function count_common_friends($uid,$xchan) {
function common_friends($uid,$xchan,$start = 0,$limit=100000000,$shuffle = false) {
+ $rand = db_getfunc('rand');
if($shuffle)
- $sql_extra = " order by rand() ";
+ $sql_extra = " order by $rand ";
else
$sql_extra = " order by xchan_name asc ";
$r = q("SELECT * from xchan left join xlink on xlink_link = xchan_hash where xlink_xchan = '%s' and xlink_link in
- (select abook_xchan from abook where abook_xchan != '%s' and abook_channel = %d and abook_flags = 0 ) $sql_extra limit %d, %d",
+ (select abook_xchan from abook where abook_xchan != '%s' and abook_channel = %d and abook_flags = 0 ) $sql_extra limit %d offset %d",
dbesc($xchan),
dbesc($xchan),
intval($uid),
- intval($start),
- intval($limit)
+ intval($limit),
+ intval($start)
);
return $r;
@@ -273,11 +276,11 @@ function common_friends_zcid($uid,$zcid,$start = 0, $limit = 9999,$shuffle = fal
FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id`
where `glink`.`zcid` = %d
and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 )
- $sql_extra limit %d, %d",
+ $sql_extra limit %d offset %d",
intval($zcid),
intval($uid),
- intval($start),
- intval($limit)
+ intval($limit),
+ intval($start)
);
return $r;
@@ -306,11 +309,11 @@ function all_friends($uid,$cid,$start = 0, $limit = 80) {
$r = q("SELECT `gcontact`.*
FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id`
where `glink`.`cid` = %d and `glink`.`uid` = %d
- order by `gcontact`.`name` asc LIMIT %d, %d ",
+ order by `gcontact`.`name` asc LIMIT %d OFFSET %d ",
intval($cid),
intval($uid),
- intval($start),
- intval($limit)
+ intval($limit),
+ intval($start)
);
return $r;
@@ -329,16 +332,16 @@ function suggestion_query($uid, $myxchan, $start = 0, $limit = 80) {
and not xlink_link in ( select abook_xchan from abook where abook_channel = %d )
and not xlink_link in ( select xchan from xign where uid = %d )
and xlink_xchan != ''
- and not ( xchan_flags & %d )
- and not ( xchan_flags & %d )
- group by xchan_hash order by total desc limit %d, %d ",
+ and not ( xchan_flags & %d )>0
+ and not ( xchan_flags & %d )>0
+ group by xchan_hash order by total desc limit %d offset %d ",
intval($uid),
intval($uid),
intval($uid),
intval(XCHAN_FLAGS_HIDDEN),
intval(XCHAN_FLAGS_DELETED),
- intval($start),
- intval($limit)
+ intval($limit),
+ intval($start)
);
if($r && count($r) >= ($limit -1))
@@ -349,15 +352,15 @@ function suggestion_query($uid, $myxchan, $start = 0, $limit = 80) {
where xlink_xchan = ''
and not xlink_link in ( select abook_xchan from abook where abook_channel = %d )
and not xlink_link in ( select xchan from xign where uid = %d )
- and not ( xchan_flags & %d )
- and not ( xchan_flags & %d )
- group by xchan_hash order by total desc limit %d, %d ",
+ and not ( xchan_flags & %d )>0
+ and not ( xchan_flags & %d )>0
+ group by xchan_hash order by total desc limit %d offset %d ",
intval($uid),
intval($uid),
intval(XCHAN_FLAGS_HIDDEN),
intval(XCHAN_FLAGS_DELETED),
- intval($start),
- intval($limit)
+ intval($limit),
+ intval($start)
);
if(is_array($r) && is_array($r2))
@@ -394,7 +397,9 @@ function update_suggestions() {
// the targets may have changed their preferences and don't want to be suggested - and they
// may have simply gone away.
- $r = q("delete from xlink where xlink_xchan = '' and xlink_updated < UTC_TIMESTAMP() - INTERVAL 7 DAY");
+ $r = q("delete from xlink where xlink_xchan = '' and xlink_updated < %s - INTERVAL %s",
+ db_utcnow(), db_quoteinterval('7 DAY')
+ );
$j = json_decode($ret['body'],true);
diff --git a/include/statistics_fns.php b/include/statistics_fns.php
index 4f72e6615..288925a2c 100644
--- a/include/statistics_fns.php
+++ b/include/statistics_fns.php
@@ -13,7 +13,9 @@ function update_channels_total_stat() {
function update_channels_active_halfyear_stat() {
$r = q("select channel_id from channel left join account on account_id = channel_account_id
- where account_flags = 0 and account_lastlog > UTC_TIMESTAMP - INTERVAL 6 MONTH");
+ where account_flags = 0 and account_lastlog > %s - INTERVAL %s",
+ db_utcnow(), db_quoteinterval('6 MONTH')
+ );
if($r) {
$s = '';
foreach($r as $rr) {
@@ -21,8 +23,9 @@ function update_channels_active_halfyear_stat() {
$s .= ',';
$s .= intval($rr['channel_id']);
}
- $x = q("select uid from item where uid in ( $s ) and (item_flags & %d) and created > UTC_TIMESTAMP - INTERVAL 6 MONTH group by uid",
- intval(ITEM_WALL)
+ $x = q("select uid from item where uid in ( $s ) and (item_flags & %d)>0 and created > %s - INTERVAL %s group by uid",
+ intval(ITEM_WALL),
+ db_utcnow(), db_quoteinterval('6 MONTH')
);
if($x) {
$channels_active_halfyear_stat = count($x);
@@ -37,7 +40,9 @@ function update_channels_active_halfyear_stat() {
function update_channels_active_monthly_stat() {
$r = q("select channel_id from channel left join account on account_id = channel_account_id
- where account_flags = 0 and account_lastlog > UTC_TIMESTAMP - INTERVAL 1 MONTH");
+ where account_flags = 0 and account_lastlog > %s - INTERVAL %s",
+ db_utcnow(), db_quoteinterval('1 MONTH')
+ );
if($r) {
$s = '';
foreach($r as $rr) {
@@ -45,8 +50,9 @@ function update_channels_active_monthly_stat() {
$s .= ',';
$s .= intval($rr['channel_id']);
}
- $x = q("select uid from item where uid in ( $s ) and ( item_flags & %d ) and created > UTC_TIMESTAMP - INTERVAL 1 MONTH group by uid",
- intval(ITEM_WALL)
+ $x = q("select uid from item where uid in ( $s ) and ( item_flags & %d )>0 and created > %s - INTERVAL %s group by uid",
+ intval(ITEM_WALL),
+ db_utcnow(), db_quoteinterval('1 MONTH')
);
if($x) {
$channels_active_monthly_stat = count($x);
@@ -60,7 +66,7 @@ function update_channels_active_monthly_stat() {
}
function update_local_posts_stat() {
- $posts = q("SELECT COUNT(*) AS local_posts FROM `item` WHERE (item_flags & %d) ",
+ $posts = q("SELECT COUNT(*) AS local_posts FROM `item` WHERE (item_flags & %d)>0 ",
intval(ITEM_WALL) );
if (is_array($posts)) {
$local_posts_stat = intval($posts[0]["local_posts"]);
diff --git a/include/taxonomy.php b/include/taxonomy.php
index 35605da22..be80008df 100644
--- a/include/taxonomy.php
+++ b/include/taxonomy.php
@@ -209,13 +209,55 @@ function tagblock($link,$uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$
if($r) {
$o = '<div class="tagblock widget"><h3>' . t('Tags') . '</h3><div class="tags" align="center">';
foreach($r as $rr) {
- $o .= '<a href="'.$link .'/' . '?f=&tag=' . urlencode($rr[0]).'" class="tag'.$rr[2].'">'.$rr[0].'</a> ' . "\r\n";
+ $o .= '<span class="tag'.$rr[2].'">#</span><a href="'.$link .'/' . '?f=&tag=' . urlencode($rr[0]).'" class="tag'.$rr[2].'">'.$rr[0].'</a> ' . "\r\n";
}
$o .= '</div></div>';
}
return $o;
}
+function wtagblock($uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$type = TERM_HASHTAG) {
+ $o = '';
+ $tab = 0;
+ $r = tagadelic($uid,$count,$authors,$flags,$restrict,$type);
+
+ if($r) {
+ $c = q("select channel_address from channel where channel_id = %d limit 1",
+ intval($uid)
+ );
+
+ $o = '<div class="tagblock widget"><h3>' . t('Tags') . '</h3><div class="tags" align="center">';
+ foreach($r as $rr) {
+ $o .= '<span class="tag' . $rr[2] . '">#</span><a href="channel/' . $c[0]['channel_address'] . '?f=&tag=' . urlencode($rr[0]).'" class="tag'.$rr[2].'">'.$rr[0].'</a> ' . "\r\n";
+ }
+ $o .= '</div></div>';
+ }
+ return $o;
+}
+
+
+function catblock($uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$type = TERM_CATEGORY) {
+ $o = '';
+ $tab = 0;
+
+ $r = tagadelic($uid,$count,$authors,$flags,$restrict,$type);
+
+ if($r) {
+ $c = q("select channel_address from channel where channel_id = %d limit 1",
+ intval($uid)
+ );
+
+ $o = '<div class="tagblock widget"><h3>' . t('Categories') . '</h3><div class="tags" align="center">';
+ foreach($r as $rr) {
+ $o .= '<a href="channel/' . $c[0]['channel_address']. '?f=&cat=' . urlencode($rr[0]).'" class="tag'.$rr[2].'">'.$rr[0].'</a> ' . "\r\n";
+ }
+ $o .= '</div></div>';
+ }
+ return $o;
+}
+
+
+
function dir_tagblock($link,$r) {
$o = '';
$tab = 0;
diff --git a/include/text.php b/include/text.php
index fca23ca22..ca9c51bc3 100644
--- a/include/text.php
+++ b/include/text.php
@@ -181,34 +181,34 @@ function autoname($len) {
'kh', 'kl','kr','mn','pl','pr','rh','tr','qu','wh');
$start = mt_rand(0,2);
- if($start == 0)
- $table = $vowels;
- else
- $table = $cons;
+ if($start == 0)
+ $table = $vowels;
+ else
+ $table = $cons;
$word = '';
for ($x = 0; $x < $len; $x ++) {
- $r = mt_rand(0,count($table) - 1);
- $word .= $table[$r];
-
- if($table == $vowels)
- $table = array_merge($cons,$midcons);
- else
- $table = $vowels;
+ $r = mt_rand(0,count($table) - 1);
+ $word .= $table[$r];
+
+ if($table == $vowels)
+ $table = array_merge($cons,$midcons);
+ else
+ $table = $vowels;
}
$word = substr($word,0,$len);
foreach($noend as $noe) {
- if((strlen($word) > 2) && (substr($word,-2) == $noe)) {
- $word = substr($word,0,-1);
- break;
- }
+ if((strlen($word) > 2) && (substr($word,-2) == $noe)) {
+ $word = substr($word,0,-1);
+ break;
+ }
}
if(substr($word,-1) == 'q')
- $word = substr($word,0,-1);
+ $word = substr($word,0,-1);
return $word;
}
@@ -224,11 +224,11 @@ function autoname($len) {
*/
function xmlify($str) {
$buffer = '';
-
+
$len = mb_strlen($str);
for($x = 0; $x < $len; $x ++) {
$char = mb_substr($str,$x,1);
-
+
switch( $char ) {
case "\r" :
@@ -267,7 +267,7 @@ function xmlify($str) {
function unxmlify($s) {
$ret = str_replace('&amp;','&', $s);
$ret = str_replace(array('&lt;','&gt;','&quot;','&apos;'),array('<','>','"',"'"),$ret);
- return $ret;
+ return $ret;
}
// convenience wrapper, reverse the operation "bin2hex"
@@ -314,8 +314,7 @@ function paginate(&$a) {
$pagenum = $a->pager['page'];
$url = $a->get_baseurl() . '/' . $stripped;
-
- if($a->pager['total'] > $a->pager['itemspage']) {
+ if($a->pager['total'] > $a->pager['itemspage']) {
$o .= '<div class="pager">';
if($a->pager['page'] != 1)
$o .= '<span class="pager_prev">'."<a href=\"$url".'&page='.($a->pager['page'] - 1).'">' . t('prev') . '</a></span> ';
@@ -331,7 +330,7 @@ function paginate(&$a) {
$numstart = (($pagenum > 7) ? ($pagenum - 7) : 1);
$numstop = (($pagenum > ($numpages - 7)) ? $numpages : ($numstart + 14));
}
-
+
for($i = $numstart; $i <= $numstop; $i++){
if($i == $a->pager['page'])
$o .= '<span class="pager_current">'.(($i < 10) ? '&nbsp;'.$i : $i);
@@ -405,7 +404,7 @@ function expand_acl($s) {
}
}
return $ret;
-}
+}
// Used to wrap ACL elements in angle brackets for storage
@@ -420,7 +419,6 @@ function sanitise_acl(&$item) {
// Convert an ACL array to a storable string
-
function perms2str($p) {
$ret = '';
@@ -436,16 +434,17 @@ function perms2str($p) {
return $ret;
}
-// generate a guaranteed unique (for this domain) item ID for ATOM
-// safe from birthday paradox
-
-
+/**
+ * @brief Generate a guaranteed unique (for this domain) item ID for ATOM.
+ *
+ * Safe from birthday paradox.
+ *
+ * @return string a unique id
+ */
function item_message_id() {
-
do {
$dups = false;
$hash = random_string();
-
$mid = $hash . '@' . get_app()->get_hostname();
$r = q("SELECT id FROM item WHERE mid = '%s' LIMIT 1",
@@ -453,31 +452,33 @@ function item_message_id() {
if(count($r))
$dups = true;
} while($dups == true);
+
return $mid;
}
-// Generate a guaranteed unique photo ID.
-// safe from birthday paradox
-
-
+/**
+ * @brief Generate a guaranteed unique photo ID.
+ *
+ * Safe from birthday paradox.
+ *
+ * @return string a uniqe hash
+ */
function photo_new_resource() {
-
do {
$found = false;
- $resource = hash('md5',uniqid(mt_rand(),true));
+ $resource = hash('md5', uniqid(mt_rand(), true));
+
$r = q("SELECT id FROM photo WHERE resource_id = '%s' LIMIT 1",
- dbesc($resource)
- );
+ dbesc($resource));
if(count($r))
$found = true;
- } while($found == true);
+ } while($found === true);
+
return $resource;
}
-
-
// for html,xml parsing - let's say you've got
// an attribute foobar="class1 class2 class3"
// and you want to find out if it contains 'class3'.
@@ -487,52 +488,76 @@ function photo_new_resource() {
// pass the attribute string as $attr and the attribute you
// are looking for as $s - returns true if found, otherwise false
-function attribute_contains($attr,$s) {
+function attribute_contains($attr, $s) {
$a = explode(' ', $attr);
- if(count($a) && in_array($s,$a))
+ if(count($a) && in_array($s, $a))
return true;
+
return false;
}
-
-function logger($msg,$level = 0) {
+/**
+ * @brief Logging function for RedMatrix.
+ *
+ * Logging output is configured through RedMatrix's system config. The log file
+ * is set in system logfile, log level in system loglevel and to enable logging
+ * set system debugging.
+ *
+ * Available constants for log level are LOGGER_NORMAL, LOGGER_TRACE, LOGGER_DEBUG,
+ * LOGGER_DATA and LOGGER_ALL.
+ *
+ * Since PHP5.4 we get the file, function and line automatically where the logger
+ * was caleld, so no need to add it to the message anymore.
+ *
+ * @param string $msg Message to log
+ * @param int $level A log level.
+ */
+function logger($msg, $level = 0) {
// turn off logger in install mode
global $a;
global $db;
- if(($a->module == 'install') || (! ($db && $db->connected))) return;
+ if(($a->module == 'install') || (! ($db && $db->connected)))
+ return;
- $debugging = get_config('system','debugging');
- $loglevel = intval(get_config('system','loglevel'));
- $logfile = get_config('system','logfile');
+ $debugging = get_config('system', 'debugging');
+ $loglevel = intval(get_config('system', 'loglevel'));
+ $logfile = get_config('system', 'logfile');
if((! $debugging) || (! $logfile) || ($level > $loglevel))
return;
$where = '';
- if(version_compare(PHP_VERSION,'5.4.0') >= 0) {
- $stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS,2);
+ if(version_compare(PHP_VERSION, '5.4.0') >= 0) {
+ $stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
$where = basename($stack[0]['file']) . ':' . $stack[0]['line'] . ':' . $stack[1]['function'] . ': ';
}
- @file_put_contents($logfile, datetime_convert() . ':' . session_id() . ' ' . $where . $msg . "\n", FILE_APPEND);
- return;
+ @file_put_contents($logfile, datetime_convert() . ':' . session_id() . ' ' . $where . $msg . PHP_EOL, FILE_APPEND);
}
-
-// This is a special logging facility for developers. It allows one to target specific things to trace/debug
-// and is identical to logger() with the exception of the log filename. This allows one to isolate specific
-// calls while allowing logger() to paint a bigger picture of overall activity and capture more detail.
-// If you find dlogger() calls in checked in code, you are free to remove them - so as to provide a noise-free
-// development environment which responds to events you are targetting personally.
-
-
-function dlogger($msg,$level = 0) {
+/**
+ * @brief This is a special logging facility for developers.
+ *
+ * It allows one to target specific things to trace/debug and is identical to
+ * logger() with the exception of the log filename. This allows one to isolate
+ * specific calls while allowing logger() to paint a bigger picture of overall
+ * activity and capture more detail.
+ *
+ * If you find dlogger() calls in checked in code, you are free to remove them -
+ * so as to provide a noise-free development environment which responds to events
+ * you are targetting personally.
+ *
+ * @param string $msg Message to log
+ * @param int $level A log level.
+ */
+function dlogger($msg, $level = 0) {
// turn off logger in install mode
global $a;
global $db;
- if(($a->module == 'install') || (! ($db && $db->connected))) return;
+ if(($a->module == 'install') || (! ($db && $db->connected)))
+ return;
$debugging = get_config('system','debugging');
$loglevel = intval(get_config('system','loglevel'));
@@ -540,19 +565,23 @@ function dlogger($msg,$level = 0) {
if((! $debugging) || (! $logfile) || ($level > $loglevel))
return;
-
- @file_put_contents($logfile, datetime_convert() . ':' . session_id() . ' ' . $msg . "\n", FILE_APPEND);
- return;
+
+ $where = '';
+ if(version_compare(PHP_VERSION, '5.4.0') >= 0) {
+ $stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
+ $where = basename($stack[0]['file']) . ':' . $stack[0]['line'] . ':' . $stack[1]['function'] . ': ';
+ }
+
+ @file_put_contents($logfile, datetime_convert() . ':' . session_id() . ' ' . $where . $msg . PHP_EOL, FILE_APPEND);
}
function profiler($t1,$t2,$label) {
if(file_exists('profiler.out') && $t1 && t2)
- @file_put_contents('profiler.out', sprintf('%01.4f %s',$t2 - $t1,$label) . "\n", FILE_APPEND);
+ @file_put_contents('profiler.out', sprintf('%01.4f %s',$t2 - $t1,$label) . PHP_EOL, FILE_APPEND);
}
-
function activity_match($haystack,$needle) {
if(($haystack === $needle) || ((basename($needle) === $haystack) && strstr($needle,NAMESPACE_ACTIVITY_SCHEMA)))
return true;
@@ -569,7 +598,6 @@ function activity_match($haystack,$needle) {
// Returns array of tags found, or empty array.
-
function get_tags($s) {
$ret = array();
@@ -592,9 +620,6 @@ function get_tags($s) {
// Match full names against @tags including the space between first and last
// We will look these up afterward to see if they are full names or not recognisable.
-
-
-
if(preg_match_all('/(@[^ \x0D\x0A,:?]+ [^ \x0D\x0A@,:?]+)([ \x0D\x0A@,:?]|$)/',$s,$match)) {
foreach($match[1] as $mtch) {
if(strstr($mtch,"]")) {
@@ -648,7 +673,6 @@ function get_tags($s) {
usort($ret,'tag_sort_length');
-
// logger('get_tags: ' . print_r($ret,true));
return $ret;
@@ -657,13 +681,12 @@ function get_tags($s) {
function tag_sort_length($a,$b) {
if(mb_strlen($a) == mb_strlen($b))
return 0;
+
return((mb_strlen($b) < mb_strlen($a)) ? (-1) : 1);
}
-
-
function strip_zids($s) {
return preg_replace('/[\?&]zid=(.*?)(&|$)/ism','$2',$s);
}
@@ -673,12 +696,10 @@ function strip_zids($s) {
function qp($s) {
-return str_replace ("%","=",rawurlencode($s));
+ return str_replace ("%","=",rawurlencode($s));
}
-
-
function get_mentions($item,$tags) {
$o = '';
@@ -712,7 +733,6 @@ function contact_block() {
if($shown == 0)
return;
-
$is_owner = ((local_user() && local_user() == $a->profile['uid']) ? true : false);
$abook_flags = ABOOK_FLAG_PENDING|ABOOK_FLAG_SELF;
@@ -724,7 +744,7 @@ function contact_block() {
if((! is_array($a->profile)) || ($a->profile['hide_friends']))
return $o;
- $r = q("SELECT COUNT(abook_id) AS total FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d and not ( abook_flags & %d ) and not (xchan_flags & %d)",
+ $r = q("SELECT COUNT(abook_id) AS total FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d and not ( abook_flags & %d )>0 and not (xchan_flags & %d)>0",
intval($a->profile['uid']),
intval($abook_flags),
intval($xchan_flags)
@@ -734,11 +754,14 @@ function contact_block() {
}
if(! $total) {
$contacts = t('No connections');
- $micropro = Null;
-
+ $micropro = null;
} else {
-
- $r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash WHERE abook_channel = %d AND not ( abook_flags & %d) and not (xchan_flags & %d ) ORDER BY RAND() LIMIT %d",
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $randfunc = 'RANDOM()';
+ } else {
+ $randfunc = 'RAND()';
+ }
+ $r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash WHERE abook_channel = %d AND not ( abook_flags & %d)>0 and not (xchan_flags & %d )>0 ORDER BY $randfunc LIMIT %d",
intval($a->profile['uid']),
intval($abook_flags|ABOOK_FLAG_ARCHIVED),
intval($xchan_flags),
@@ -754,7 +777,7 @@ function contact_block() {
}
}
}
-
+
$tpl = get_markup_template('contact_block.tpl');
$o = replace_macros($tpl, array(
'$contacts' => $contacts,
@@ -767,7 +790,6 @@ function contact_block() {
call_hooks('contact_block_end', $arr);
return $o;
-
}
@@ -811,8 +833,6 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
}
-
-
function search($s,$id='search-box',$url='/search',$save = false) {
$a = get_app();
return replace_macros(get_markup_template('searchbox.tpl'),array(
@@ -839,12 +859,12 @@ function searchbox($s,$id='search-box',$url='/search',$save = false) {
function valid_email($x){
-
if(get_config('system','disable_email_validation'))
return true;
if(preg_match('/^[_a-zA-Z0-9\-\+]+(\.[_a-zA-Z0-9\-\+]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$/',$x))
return true;
+
return false;
}
@@ -864,6 +884,7 @@ function linkify($s) {
return($s);
}
+
/**
* @function sslify($s)
* Replace media element using http url with https to a local redirector if using https locally
@@ -875,11 +896,10 @@ function linkify($s) {
*
* @returns string
*/
-
-
function sslify($s) {
if(strpos(z_root(),'https:') === false)
return $s;
+
$matches = null;
$cnt = preg_match_all("/\<(.*?)src=\"(http\:.*?)\"(.*?)\>/",$s,$matches,PREG_SET_ORDER);
if($cnt) {
@@ -893,7 +913,6 @@ function sslify($s) {
function get_poke_verbs() {
-
// index is present tense verb
// value is array containing past tense verb, translation of present, translation of past
@@ -905,12 +924,13 @@ function get_poke_verbs() {
'finger' => array( 'fingered', t('finger'), t('fingered')),
'rebuff' => array( 'rebuffed', t('rebuff'), t('rebuffed')),
);
+
call_hooks('poke_verbs', $arr);
return $arr;
}
function get_mood_verbs() {
-
+
$arr = array(
'happy' => t('happy'),
'sad' => t('sad'),
@@ -939,41 +959,10 @@ function get_mood_verbs() {
return $arr;
}
-
-/**
- *
- * Function: smilies
- *
- * Description:
- * Replaces text emoticons with graphical images
- *
- * @Parameter: string $s
- *
- * Returns string
- *
- * It is expected that this function will be called using HTML text.
- * We will escape text between HTML pre and code blocks, and HTML attributes
- * (such as urls) from being processed.
- *
- * At a higher level, the bbcode [nosmile] tag can be used to prevent this
- * function from being executed by the prepare_text() routine when preparing
- * bbcode source for HTML display
- *
- */
-
-
-function smilies($s, $sample = false) {
-
+// Function to list all smilies, both internal and from addons
+// Returns array with keys 'texts' and 'icons'
+function list_smilies() {
$a = get_app();
-
- if(intval(get_config('system','no_smilies'))
- || (local_user() && intval(get_pconfig(local_user(),'system','no_smilies'))))
- return $s;
-
-
- $s = preg_replace_callback('{<(pre|code)>.*?</\1>}ism','smile_shield',$s);
- $s = preg_replace_callback('/<[a-z]+ .*?>/ism','smile_shield',$s);
-
$texts = array(
'&lt;3',
'&lt;/3',
@@ -1051,8 +1040,42 @@ function smilies($s, $sample = false) {
);
- $params = array('texts' => $texts, 'icons' => $icons, 'string' => $s);
+ $params = array('texts' => $texts, 'icons' => $icons);
call_hooks('smilie', $params);
+ return $params;
+}
+/**
+ *
+ * Function: smilies
+ *
+ * Description:
+ * Replaces text emoticons with graphical images
+ *
+ * @Parameter: string $s
+ *
+ * Returns string
+ *
+ * It is expected that this function will be called using HTML text.
+ * We will escape text between HTML pre and code blocks, and HTML attributes
+ * (such as urls) from being processed.
+ *
+ * At a higher level, the bbcode [nosmile] tag can be used to prevent this
+ * function from being executed by the prepare_text() routine when preparing
+ * bbcode source for HTML display
+ *
+ */
+function smilies($s, $sample = false) {
+ $a = get_app();
+
+ if(intval(get_config('system','no_smilies'))
+ || (local_user() && intval(get_pconfig(local_user(),'system','no_smilies'))))
+ return $s;
+
+ $s = preg_replace_callback('{<(pre|code)>.*?</\1>}ism','smile_shield',$s);
+ $s = preg_replace_callback('/<[a-z]+ .*?>/ism','smile_shield',$s);
+
+ $params = list_smilies();
+ $params['string'] = $s;
if($sample) {
$s = '<div class="smiley-sample">';
@@ -1068,7 +1091,6 @@ function smilies($s, $sample = false) {
$s = preg_replace_callback('/<!--base64:(.*?)-->/ism', 'smile_unshield', $s);
return $s;
-
}
function smile_shield($m) {
@@ -1128,6 +1150,7 @@ function normalise_link($url) {
function link_compare($a,$b) {
if(strcasecmp(normalise_link($a),normalise_link($b)) === 0)
return true;
+
return false;
}
@@ -1143,7 +1166,6 @@ function unobscure(&$item) {
if($item['body'])
$item['body'] = crypto_unencapsulate(json_decode_plus($item['body']),$key);
}
-
}
function theme_attachments(&$item) {
@@ -1186,12 +1208,10 @@ function theme_attachments(&$item) {
$url = $r['href'];
else
$url = z_root() . '/magic?f=&hash=' . $item['author_xchan'] . '&dest=' . $r['href'] . '/' . $r['revision'];
+
$s .= '<a href="' . $url . '" title="' . $title . '" class="attachlink" >' . $icon . '</a>';
$attaches[] = array('title' => $title, 'url' => $url, 'icon' => $icon );
-
}
-
-
}
$s = replace_macros(get_markup_template('item_attach.tpl'), array(
@@ -1199,13 +1219,12 @@ function theme_attachments(&$item) {
));
return $s;
-
}
function format_categories(&$item,$writeable) {
-
$s = '';
+
$terms = get_terms_oftype($item['term'],TERM_CATEGORY);
if($terms) {
$categories = array();
@@ -1221,6 +1240,7 @@ function format_categories(&$item,$writeable) {
'$remove' => t('remove category'),
'$categories' => $categories
));
+
return $s;
}
@@ -1231,7 +1251,6 @@ function format_hashtags(&$item) {
$s = '';
$terms = get_terms_oftype($item['term'],TERM_HASHTAG);
if($terms) {
- $categories = array();
foreach($terms as $t) {
$term = htmlspecialchars($t['term'],ENT_COMPAT,'UTF-8',false) ;
if(! trim($term))
@@ -1251,11 +1270,10 @@ function format_hashtags(&$item) {
function format_mentions(&$item) {
-
$s = '';
+
$terms = get_terms_oftype($item['term'],TERM_MENTION);
if($terms) {
- $categories = array();
foreach($terms as $t) {
$term = htmlspecialchars($t['term'],ENT_COMPAT,'UTF-8',false) ;
if(! trim($term))
@@ -1274,8 +1292,8 @@ function format_mentions(&$item) {
function format_filer(&$item) {
-
$s = '';
+
$terms = get_terms_oftype($item['term'],TERM_FILE);
if($terms) {
$categories = array();
@@ -1291,18 +1309,28 @@ function format_filer(&$item) {
'$remove' => t('remove from file'),
'$categories' => $categories
));
+
return $s;
}
+function generate_map($coord) {
+ $coord = trim($coord);
+ $coord = str_replace(array(',','/',' '),array(' ',' ',' '),$coord);
+ $arr = array('lat' => trim(substr($coord,0,strpos($coord,' '))), 'lon' => trim(substr($coord,strpos($coord,' ')+1)), 'html' => '');
+ call_hooks('generate_map',$arr);
+ return $arr['html'];
+}
+function generate_named_map($location) {
+ $arr = array('location' => $location, 'html' => '');
+ call_hooks('generate_named_map',$arr);
+ return $arr['html'];
+}
-function prepare_body(&$item,$attach = false) {
-
- $a = get_app();
-
+function prepare_body(&$item,$attach = false) {
call_hooks('prepare_body_init', $item);
@@ -1318,28 +1346,29 @@ function prepare_body(&$item,$attach = false) {
return $s;
}
+ if(strpos($s,'<div class="map">') !== false && $item['coord']) {
+ $x = generate_map(trim($item['coord']));
+ if($x) {
+ $s = preg_replace('/\<div class\=\"map\"\>/','$0' . $x,$s);
+ }
+ }
$s .= theme_attachments($item);
-
- $writeable = ((get_observer_hash() == $item['owner_xchan']) ? true : false);
-
+ $writeable = ((get_observer_hash() == $item['owner_xchan']) ? true : false);
$s .= format_hashtags($item);
if($item['resource_type'])
$s .= format_mentions($item);
-
$s .= format_categories($item,$writeable);
if(local_user() == $item['uid'])
$s .= format_filer($item);
-
$s = sslify($s);
-
// Look for spoiler
$spoilersearch = '<blockquote class="spoiler">';
@@ -1354,7 +1383,7 @@ function prepare_body(&$item,$attach = false) {
$pos = strpos($s, $spoilersearch);
$rnd = random_string(8);
$spoilerreplace = '<br /> <span id="spoiler-wrap-'.$rnd.'" style="white-space:nowrap;" class="fakelink" onclick="openClose(\'spoiler-'.$rnd.'\');">'.sprintf(t('Click to open/close')).'</span>'.
- '<blockquote class="spoiler" id="spoiler-'.$rnd.'" style="display: none;">';
+ '<blockquote class="spoiler" id="spoiler-'.$rnd.'" style="display: none;">';
$s = substr($s, 0, $pos).$spoilerreplace.substr($s, $pos+strlen($spoilersearch));
}
@@ -1362,11 +1391,10 @@ function prepare_body(&$item,$attach = false) {
$authorsearch = '<blockquote class="author">';
while ((strpos($s, $authorsearch) !== false)) {
-
$pos = strpos($s, $authorsearch);
$rnd = random_string(8);
$authorreplace = '<br /> <span id="author-wrap-'.$rnd.'" style="white-space:nowrap;" class="fakelink" onclick="openClose(\'author-'.$rnd.'\');">'.sprintf(t('Click to open/close')).'</span>'.
- '<blockquote class="author" id="author-'.$rnd.'" style="display: block;">';
+ '<blockquote class="author" id="author-'.$rnd.'" style="display: block;">';
$s = substr($s, 0, $pos).$authorreplace.substr($s, $pos+strlen($authorsearch));
}
@@ -1382,10 +1410,7 @@ function prepare_body(&$item,$attach = false) {
function prepare_text($text,$content_type = 'text/bbcode') {
-
-
switch($content_type) {
-
case 'text/plain':
$s = escape_tags($text);
break;
@@ -1455,7 +1480,7 @@ function zidify_callback($match) {
function zidify_img_callback($match) {
$is_zid = ((feature_enabled(local_user(),'sendzid')) || (strpos($match[1],'zrl')) ? true : false);
$replace = '<img' . $match[1] . ' src="' . (($is_zid) ? zid($match[2]) : $match[2]) . '"';
-
+
$x = str_replace($match[0],$replace,$match[0]);
return $x;
}
@@ -1468,14 +1493,11 @@ function zidify_links($s) {
}
-
/**
* return atom link elements for all of our hubs
*/
-
function feed_hublinks() {
-
$hub = get_config('system','huburl');
$hubxml = '';
@@ -1490,14 +1512,13 @@ function feed_hublinks() {
}
}
}
+
return $hubxml;
}
/* return atom link elements for salmon endpoints */
-
function feed_salmonlinks($nick) {
-
$a = get_app();
$salmon = '<link rel="salmon" href="' . xmlify($a->get_baseurl() . '/salmon/' . $nick) . '" />' . "\n" ;
@@ -1506,23 +1527,23 @@ function feed_salmonlinks($nick) {
$salmon .= ' <link rel="http://salmon-protocol.org/ns/salmon-replies" href="' . xmlify($a->get_baseurl() . '/salmon/' . $nick) . '" />' . "\n" ;
$salmon .= ' <link rel="http://salmon-protocol.org/ns/salmon-mention" href="' . xmlify($a->get_baseurl() . '/salmon/' . $nick) . '" />' . "\n" ;
+
return $salmon;
}
function get_plink($item,$conversation_mode = true) {
- $a = get_app();
if($conversation_mode)
$key = 'plink';
else
$key = 'llink';
-
+
if(x($item,$key)) {
return array(
'href' => zid($item[$key]),
'title' => t('Link to Source'),
);
- }
+ }
else {
return false;
}
@@ -1534,7 +1555,7 @@ function unamp($s) {
}
function layout_select($channel_id, $current = '') {
- $r = q("select mid,sid from item left join item_id on iid = item.id where service = 'PDL' and item.uid = item_id.uid and item_id.uid = %d and (item_restrict & %d)",
+ $r = q("select mid,sid from item left join item_id on iid = item.id where service = 'PDL' and item.uid = item_id.uid and item_id.uid = %d and (item_restrict & %d)>0",
intval($channel_id),
intval(ITEM_PDL)
);
@@ -1554,9 +1575,6 @@ function layout_select($channel_id, $current = '') {
}
-
-
-
function mimetype_select($channel_id, $current = 'text/bbcode') {
$x = array(
@@ -1587,19 +1605,17 @@ function mimetype_select($channel_id, $current = 'text/bbcode') {
$o .= '</select>';
return $o;
-
}
-
function lang_selector() {
global $a;
-
+
$langs = glob('view/*/strings.php');
-
+
$lang_options = array();
$selected = "";
-
+
if(is_array($langs) && count($langs)) {
$langs[] = '';
if(! in_array('view/en/strings.php',$langs))
@@ -1613,29 +1629,28 @@ function lang_selector() {
$ll = substr($l,5);
$ll = substr($ll,0,strrpos($ll,'/'));
$selected = (($ll === $a->language && (x($_SESSION, 'language'))) ? $ll : $selected);
- $lang_options[$ll]=$ll;
+ $lang_options[$ll] = get_language_name($ll, $ll) . " ($ll)";
}
}
- $tpl = get_markup_template("lang_selector.tpl");
+ $tpl = get_markup_template("lang_selector.tpl");
$o = replace_macros($tpl, array(
'$title' => t('Select an alternate language'),
'$langs' => array($lang_options, $selected),
));
+
return $o;
}
-
function return_bytes ($size_str) {
- switch (substr ($size_str, -1))
- {
- case 'M': case 'm': return (int)$size_str * 1048576;
- case 'K': case 'k': return (int)$size_str * 1024;
- case 'G': case 'g': return (int)$size_str * 1073741824;
- default: return $size_str;
- }
+ switch (substr ($size_str, -1)) {
+ case 'M': case 'm': return (int)$size_str * 1048576;
+ case 'K': case 'k': return (int)$size_str * 1024;
+ case 'G': case 'g': return (int)$size_str * 1073741824;
+ default: return $size_str;
+ }
}
@@ -1650,7 +1665,6 @@ function base64url_encode($s, $strip_padding = true) {
}
function base64url_decode($s) {
-
if(is_array($s)) {
logger('base64url_decode: illegal input: ' . print_r(debug_backtrace(), true));
return $s;
@@ -1658,7 +1672,11 @@ function base64url_decode($s) {
return base64_decode(strtr($s,'-_','+/'));
}
-
+/**
+ * @ Return a div to clear floats.
+ *
+ * @return string
+ */
function cleardiv() {
return '<div class="clear"></div>';
}
@@ -1676,7 +1694,7 @@ function bb_translate_video($s) {
$s = str_replace($mtch[0],'[vimeo]' . $mtch[1] . '[/vimeo]',$s);
}
}
- return $s;
+ return $s;
}
function html2bb_video($s) {
@@ -1696,61 +1714,57 @@ function html2bb_video($s) {
/**
* apply xmlify() to all values of array $val, recursively
*/
-function array_xmlify($val){
+function array_xmlify($val) {
if (is_bool($val)) return $val?"true":"false";
if (is_array($val)) return array_map('array_xmlify', $val);
return xmlify((string) $val);
}
-function reltoabs($text, $base)
-{
- if (empty($base))
- return $text;
+function reltoabs($text, $base) {
+ if (empty($base))
+ return $text;
- $base = rtrim($base,'/');
+ $base = rtrim($base,'/');
- $base2 = $base . "/";
-
- // Replace links
- $pattern = "/<a([^>]*) href=\"(?!http|https|\/)([^\"]*)\"/";
- $replace = "<a\${1} href=\"" . $base2 . "\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+ $base2 = $base . "/";
- $pattern = "/<a([^>]*) href=\"(?!http|https)([^\"]*)\"/";
- $replace = "<a\${1} href=\"" . $base . "\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+ // Replace links
+ $pattern = "/<a([^>]*) href=\"(?!http|https|\/)([^\"]*)\"/";
+ $replace = "<a\${1} href=\"" . $base2 . "\${2}\"";
+ $text = preg_replace($pattern, $replace, $text);
- // Replace images
- $pattern = "/<img([^>]*) src=\"(?!http|https|\/)([^\"]*)\"/";
- $replace = "<img\${1} src=\"" . $base2 . "\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<a([^>]*) href=\"(?!http|https)([^\"]*)\"/";
+ $replace = "<a\${1} href=\"" . $base . "\${2}\"";
+ $text = preg_replace($pattern, $replace, $text);
- $pattern = "/<img([^>]*) src=\"(?!http|https)([^\"]*)\"/";
- $replace = "<img\${1} src=\"" . $base . "\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+ // Replace images
+ $pattern = "/<img([^>]*) src=\"(?!http|https|\/)([^\"]*)\"/";
+ $replace = "<img\${1} src=\"" . $base2 . "\${2}\"";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<img([^>]*) src=\"(?!http|https)([^\"]*)\"/";
+ $replace = "<img\${1} src=\"" . $base . "\${2}\"";
+ $text = preg_replace($pattern, $replace, $text);
- // Done
- return $text;
+ // Done
+ return $text;
}
function item_post_type($item) {
-
-
- switch($item['resource_type']) {
- case 'photo':
- $post_type = t('photo');
- break;
- case 'event':
- $post_type = t('event');
- break;
- default:
- $post_type = t('status');
- if($item['mid'] != $item['parent_mid'])
- $post_type = t('comment');
- break;
- }
+ switch($item['resource_type']) {
+ case 'photo':
+ $post_type = t('photo');
+ break;
+ case 'event':
+ $post_type = t('event');
+ break;
+ default:
+ $post_type = t('status');
+ if($item['mid'] != $item['parent_mid'])
+ $post_type = t('comment');
+ break;
+ }
if(strlen($item['verb']) && (! activity_match($item['verb'],ACTIVITY_POST)))
$post_type = t('activity');
@@ -1792,6 +1806,7 @@ function is_a_date_arg($s) {
return true;
}
}
+
return false;
}
@@ -1811,8 +1826,13 @@ function legal_webbie($s) {
function check_webbie($arr) {
+ $reservechan = get_config('system','reserved_channels');
+ if(strlen($reservechan))
+ $taken = explode(',', $reservechan);
+ else
+ $taken = array();
+
$str = '';
- $taken = array();
if(count($arr)) {
foreach($arr as $x) {
$y = legal_webbie($x);
@@ -1838,14 +1858,16 @@ function check_webbie($arr) {
}
}
}
+
return '';
}
-
+
function ids_to_querystr($arr,$idx = 'id') {
$t = array();
foreach($arr as $x)
$t[] = $x[$idx];
+
return(implode(',', $t));
}
@@ -1874,13 +1896,13 @@ function xchan_query(&$items,$abook = true,$effective_uid = 0) {
if(count($arr)) {
if($abook) {
$chans = q("select * from xchan left join hubloc on hubloc_hash = xchan_hash left join abook on abook_xchan = xchan_hash and abook_channel = %d
- where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )",
+ where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )>0",
intval($item['uid'])
);
}
else {
$chans = q("select xchan.*,hubloc.* from xchan left join hubloc on hubloc_hash = xchan_hash
- where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )");
+ where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )>0");
}
$xchans = q("select * from xchan where xchan_hash in (" . implode(',',$arr) . ") and xchan_network in ('rss','unknown')");
if(! $chans)
@@ -1894,7 +1916,6 @@ function xchan_query(&$items,$abook = true,$effective_uid = 0) {
$items[$x]['author'] = find_xchan_in_array($items[$x]['author_xchan'],$chans);
}
}
-
}
function xchan_mail_query(&$item) {
@@ -1909,7 +1930,7 @@ function xchan_mail_query(&$item) {
if(count($arr)) {
$chans = q("select xchan.*,hubloc.* from xchan left join hubloc on hubloc_hash = xchan_hash
- where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )");
+ where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )>0");
}
if($chans) {
$item['from'] = find_xchan_in_array($item['from_xchan'],$chans);
@@ -1934,6 +1955,7 @@ function get_rel_link($j,$rel) {
foreach($j as $l)
if($l['rel'] === $rel)
return $l['href'];
+
return '';
}
@@ -1943,7 +1965,7 @@ function get_rel_link($j,$rel) {
function magic_link($s) {
return $s;
}
-
+
// if $escape is true, dbesc() each element before adding quotes
function stringify_array_elms(&$arr,$escape = false) {
@@ -1960,23 +1982,22 @@ function stringify_array_elms(&$arr,$escape = false) {
*/
function jindent($json) {
- $result = '';
- $pos = 0;
- $strLen = strlen($json);
- $indentStr = ' ';
- $newLine = "\n";
- $prevChar = '';
+ $result = '';
+ $pos = 0;
+ $strLen = strlen($json);
+ $indentStr = ' ';
+ $newLine = "\n";
+ $prevChar = '';
$outOfQuotes = true;
for ($i=0; $i<=$strLen; $i++) {
-
// Grab the next character in the string.
$char = substr($json, $i, 1);
// Are we inside a quoted string?
if ($char == '"' && $prevChar != '\\') {
$outOfQuotes = !$outOfQuotes;
-
+
// If this character is the end of an element,
// output a new line and indent the next line.
} else if(($char == '}' || $char == ']') && $outOfQuotes) {
@@ -1986,7 +2007,7 @@ function jindent($json) {
$result .= $indentStr;
}
}
-
+
// Add the character to the result string.
$result .= $char;
@@ -1997,7 +2018,7 @@ function jindent($json) {
if ($char == '{' || $char == '[') {
$pos ++;
}
-
+
for ($j = 0; $j < $pos; $j++) {
$result .= $indentStr;
}
@@ -2011,22 +2032,31 @@ function jindent($json) {
function json_decode_plus($s) {
-
$x = json_decode($s,true);
if(! $x)
$x = json_decode(str_replace(array('\\"','\\\\'),array('"','\\'),$s),true);
- return $x;
+ return $x;
}
function design_tools() {
+
$channel = get_app()->get_channel();
+ $sys = false;
+
+ if(get_app()->is_sys && is_site_admin()) {
+ require_once('include/identity.php');
+ $channel = get_sys_channel();
+ $sys = true;
+ }
+
$who = $channel['channel_address'];
return replace_macros(get_markup_template('design_tools.tpl'), array(
'$title' => t('Design'),
'$who' => $who,
+ '$sys' => $sys,
'$blocks' => t('Blocks'),
'$menus' => t('Menus'),
'$layout' => t('Layouts'),
@@ -2046,7 +2076,7 @@ function normalise_openid($s) {
// used in ajax endless scroll request to find out all the args that the master page was viewing.
// This was using $_REQUEST, but $_REQUEST also contains all your cookies. So we're restricting it
-// to $_GET. If this is used in a post handler, that decision may need to be considered.
+// to $_GET and $_POST.
function extra_query_args() {
$s = '';
@@ -2054,9 +2084,269 @@ function extra_query_args() {
foreach($_GET as $k => $v) {
// these are request vars we don't want to duplicate
if(! in_array($k, array('q','f','zid','page','PHPSESSID'))) {
- $s .= '&' . $k . '=' . $v;
+ $s .= '&' . $k . '=' . urlencode($v);
+ }
+ }
+ }
+ if(count($_POST)) {
+ foreach($_POST as $k => $v) {
+ // these are request vars we don't want to duplicate
+ if(! in_array($k, array('q','f','zid','page','PHPSESSID'))) {
+ $s .= '&' . $k . '=' . urlencode($v);
}
}
}
return $s;
}
+
+/**
+ * This function removes the tag $tag from the text $body and replaces it with
+ * the appropiate link.
+ *
+ * @param unknown_type $body the text to replace the tag in
+ * @param unknown_type $access_tag - used to return tag ACL exclusions e.g. @!foo
+ * @param unknown_type $str_tags string to add the tag to
+ * @param unknown_type $profile_uid
+ * @param unknown_type $tag the tag to replace
+ *
+ * @return boolean true if replaced, false if not replaced
+ */
+function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag) {
+
+ $replaced = false;
+ $r = null;
+
+ $termtype = ((strpos($tag,'#') === 0) ? TERM_HASHTAG : TERM_UNKNOWN);
+ $termtype = ((strpos($tag,'@') === 0) ? TERM_MENTION : $termtype);
+ $termtype = ((strpos($tag,'#^[') === 0) ? TERM_BOOKMARK : $termtype);
+
+ //is it a hash tag?
+ if(strpos($tag,'#') === 0) {
+ if(strpos($tag,'#^[') === 0) {
+ if(preg_match('/#\^\[(url|zrl)(.*?)\](.*?)\[\/(url|zrl)\]/',$tag,$match)) {
+ $basetag = $match[3];
+ $url = ((substr($match[2],0,1) === '=') ? substr($match[2],1) : $match[3]);
+ $replaced = true;
+ }
+ }
+ // if the tag is already replaced...
+ elseif((strpos($tag,'[zrl=')) || (strpos($tag,'[url='))) {
+ //...do nothing
+ return $replaced;
+ }
+ if($tag == '#getzot') {
+ $basetag = 'getzot';
+ $url = 'https://redmatrix.me';
+ $newtag = '#[zrl=' . $url . ']' . $basetag . '[/zrl]';
+ $body = str_replace($tag,$newtag,$body);
+ $replaced = true;
+ }
+ if(! $replaced) {
+
+ //base tag has the tags name only
+
+ if((substr($tag,0,7) === '#&quot;') && (substr($tag,-6,6) === '&quot;')) {
+ $basetag = substr($tag,7);
+ $basetag = substr($basetag,0,-6);
+ }
+ else
+ $basetag = str_replace('_',' ',substr($tag,1));
+
+ //create text for link
+ $url = $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag);
+ $newtag = '#[zrl=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/zrl]';
+ //replace tag by the link
+ $body = str_replace($tag, $newtag, $body);
+ $replaced = true;
+ }
+ //is the link already in str_tags?
+ if(! stristr($str_tags,$newtag)) {
+ //append or set str_tags
+ if(strlen($str_tags))
+ $str_tags .= ',';
+
+ $str_tags .= $newtag;
+ }
+ return array('replaced' => $replaced, 'termtype' => $termtype, 'term' => $basetag, 'url' => $url, 'contact' => $r[0]);
+ }
+
+ //is it a person tag?
+
+ if(strpos($tag,'@') === 0) {
+
+ // The @! tag will alter permissions
+ $exclusive = ((strpos($tag,'!') === 1) ? true : false);
+
+ //is it already replaced?
+ if(strpos($tag,'[zrl='))
+ return $replaced;
+
+ //get the person's name
+
+ $name = substr($tag,(($exclusive) ? 2 : 1)); // The name or name fragment we are going to replace
+ $newname = $name; // a copy that we can mess with
+ $tagcid = 0;
+
+ $r = null;
+
+ // is it some generated name?
+
+ $forum = false;
+ $trailing_plus_name = false;
+
+ // @channel+ is a forum or network delivery tag
+
+ if(substr($newname,-1,1) === '+') {
+ $forum = true;
+ $newname = substr($newname,0,-1);
+ }
+
+ // Here we're looking for an address book entry as provided by the auto-completer
+ // of the form something+nnn where nnn is an abook_id or the first chars of xchan_hash
+
+ if(strrpos($newname,'+')) {
+ //get the id
+
+ if(strrpos($tagcid,' '))
+ $tagcid = substr($tagcid,0,strrpos($tagcid,' '));
+
+ $tagcid = substr($newname,strrpos($newname,'+') + 1);
+
+ if(strlen($tagcid) < 16)
+ $abook_id = intval($tagcid);
+ //remove the next word from tag's name
+ if(strpos($name,' ')) {
+ $name = substr($name,0,strpos($name,' '));
+ }
+
+ if($abook_id) { // if there was an id
+ // select channel with that id from the logged in user's address book
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
+ WHERE abook_id = %d AND abook_channel = %d LIMIT 1",
+ intval($abook_id),
+ intval($profile_uid)
+ );
+ }
+ else {
+ $r = q("SELECT * FROM xchan
+ WHERE xchan_hash like '%s%%' LIMIT 1",
+ dbesc($tagcid)
+ );
+ }
+ }
+
+ if(! $r) {
+
+ // look for matching names in the address book
+
+ // Two ways to deal with spaces - double quote the name or use underscores
+ // we see this after input filtering so quotes have been html entity encoded
+
+ if((substr($name,0,6) === '&quot;') && (substr($name,-6,6) === '&quot;')) {
+ $newname = substr($name,6);
+ $newname = substr($newname,0,-6);
+ }
+ else
+ $newname = str_replace('_',' ',$name);
+
+ // do this bit over since we started over with $name
+
+ if(substr($newname,-1,1) === '+') {
+ $forum = true;
+ $newname = substr($newname,0,-1);
+ }
+
+ //select someone from this user's contacts by name
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
+ WHERE xchan_name = '%s' AND abook_channel = %d LIMIT 1",
+ dbesc($newname),
+ intval($profile_uid)
+ );
+
+ if(! $r) {
+ //select someone by attag or nick and the name passed in
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
+ WHERE xchan_addr like ('%s') AND abook_channel = %d LIMIT 1",
+ dbesc(((strpos($newname,'@')) ? $newname : $newname . '@%')),
+ intval($profile_uid)
+ );
+ }
+
+ if(! $r) {
+ // it's possible somebody has a name ending with '+', which we stripped off as a forum indicator
+ // This is very rare but we want to get it right.
+
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
+ WHERE xchan_name = '%s' AND abook_channel = %d LIMIT 1",
+ dbesc($newname . '+'),
+ intval($profile_uid)
+ );
+ if($r)
+ $trailing_plus_name = true;
+ }
+ }
+
+ // $r is set if we found something
+
+ $channel = get_app()->get_channel();
+
+ if($r) {
+ $profile = $r[0]['xchan_url'];
+ $newname = $r[0]['xchan_name'];
+ // add the channel's xchan_hash to $access_tag if exclusive
+ if($exclusive) {
+ $access_tag .= 'cid:' . $r[0]['xchan_hash'];
+ }
+ }
+ else {
+ // check for a group/collection exclusion tag
+
+ // note that we aren't setting $replaced even though we're replacing text.
+ // This tag isn't going to get a term attached to it. It's only used for
+ // access control. The link points to out own channel just so it doesn't look
+ // weird - as all the other tags are linked to something.
+
+ if(local_user() && local_user() == $profile_uid) {
+ require_once('include/group.php');
+ $grp = group_byname($profile_uid,$name);
+
+ if($grp) {
+ $g = q("select hash from groups where id = %d and visible = 1 limit 1",
+ intval($grp)
+ );
+ if($g && $exclusive) {
+ $access_tag .= 'gid:' . $g[0]['hash'];
+ }
+ $channel = get_app()->get_channel();
+ if($channel) {
+ $newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . z_root() . '/channel/' . $channel['channel_address'] . ']' . $newname . '[/zrl]';
+ $body = str_replace('@' . (($exclusive) ? '!' : '') . $name, $newtag, $body);
+ }
+ }
+ }
+ }
+
+ if(($exclusive) && (! $access_tag)) {
+ $access_tag .= 'cid:' . $channel['channel_hash'];
+ }
+
+ // if there is an url for this channel
+
+ if(isset($profile)) {
+ $replaced = true;
+ //create profile link
+ $profile = str_replace(',','%2c',$profile);
+ $url = $profile;
+ $newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . $profile . ']' . $newname . (($forum && ! $trailing_plus_name) ? '+' : '') . '[/zrl]';
+ $body = str_replace('@' . (($exclusive) ? '!' : '') . $name, $newtag, $body);
+ //append tag to str_tags
+ if(! stristr($str_tags,$newtag)) {
+ if(strlen($str_tags))
+ $str_tags .= ',';
+ $str_tags .= $newtag;
+ }
+ }
+ }
+
+ return array('replaced' => $replaced, 'termtype' => $termtype, 'term' => $newname, 'url' => $url, 'contact' => $r[0]);
+}
diff --git a/include/widgets.php b/include/widgets.php
index 2e406aa77..18778ed36 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -1,4 +1,9 @@
-<?php /** @file */
+<?php
+/**
+ * @file include/widgets.php
+ *
+ * @brief This file contains the widgets.
+ */
require_once('include/dir_fns.php');
require_once('include/contact_widgets.php');
@@ -6,7 +11,7 @@ require_once('include/contact_widgets.php');
function widget_profile($args) {
$a = get_app();
- $block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
+ $block = (((get_config('system', 'block_public')) && (! local_user()) && (! remote_user())) ? true : false);
return profile_sidebar($a->profile, $block, true);
}
@@ -16,14 +21,15 @@ function widget_profile($args) {
function widget_tagcloud($args) {
$o = '';
- $tab = 0;
+ //$tab = 0;
$a = get_app();
$uid = $a->profile_uid;
$count = ((x($args,'count')) ? intval($args['count']) : 24);
$flags = 0;
$type = TERM_CATEGORY;
- $r = tagadelic($uid,$count,$authors,$flags,ITEM_WEBPAGE,$type);
+ // FIXME there exists no $authors variable
+ $r = tagadelic($uid, $count, $authors, $flags, ITEM_WEBPAGE, $type);
if($r) {
$o = '<div class="tagblock widget"><h3>' . t('Categories') . '</h3><div class="tags" align="center">';
@@ -75,9 +81,8 @@ function widget_collections($args) {
return '';
break;
}
-
- return group_side($every, $each, $edit, $current, $abook_id, $wmode);
+ return group_side($every, $each, $edit, $current, $abook_id, $wmode);
}
@@ -93,7 +98,6 @@ function widget_appselect($arr) {
}
-
function widget_suggestions($arr) {
if((! local_user()) || (! feature_enabled(local_user(),'suggest')))
@@ -114,16 +118,13 @@ function widget_suggestions($arr) {
// This will throw some entropy intot he situation so you won't
// be looking at the same two mug shots every time the widget runs
-
$index = ((count($r) > 2) ? mt_rand(0,count($r) - 2) : 0);
-
for($x = $index; $x <= ($index+1); $x ++) {
-
$rr = $r[$x];
if(! $rr['xchan_url'])
break;
-
+
$connlnk = z_root() . '/follow/?url=' . $rr['xchan_addr'];
$arr[] = array(
@@ -138,7 +139,6 @@ function widget_suggestions($arr) {
);
}
-
$o = replace_macros(get_markup_template('suggest_widget.tpl'),array(
'$title' => t('Suggestions'),
'$more' => t('See more...'),
@@ -146,16 +146,16 @@ function widget_suggestions($arr) {
));
return $o;
-
}
function widget_follow($args) {
if(! local_user())
return '';
+
$a = get_app();
$uid =$a->channel['channel_id'];
- $r = q("select count(*) as total from abook where abook_channel = %d and not (abook_flags & %d) ",
+ $r = q("select count(*) as total from abook where abook_channel = %d and not (abook_flags & %d)>0 ",
intval($uid),
intval(ABOOK_FLAG_SELF)
);
@@ -163,10 +163,10 @@ function widget_follow($args) {
$total_channels = $r[0]['total'];
$limit = service_class_fetch($uid,'total_channels');
if($limit !== false) {
- $abook_usage_message = sprintf( t("You have %1$.0f of %2$.0f allowed connections."), $total_channels, $limit);
+ $abook_usage_message = sprintf( t("You have %1$.0f of %2$.0f allowed connections."), $total_channels, $limit);
}
else {
- $abook_usage_message = '';
+ $abook_usage_message = '';
}
return replace_macros(get_markup_template('follow.tpl'),array(
'$connect' => t('Add New Connection'),
@@ -175,7 +175,6 @@ function widget_follow($args) {
'$follow' => t('Connect'),
'$abook_usage_message' => $abook_usage_message
));
-
}
@@ -192,6 +191,7 @@ function widget_notes($arr) {
'$text' => $text,
'$save' => t('Save'),
));
+
return $o;
}
@@ -220,7 +220,7 @@ function widget_savedsearch($arr) {
}
if(x($_GET,'searchremove') && $search) {
- q("delete from `term` where `uid` = %d and `type` = %d and `term` = '%s' limit 1",
+ q("delete from `term` where `uid` = %d and `type` = %d and `term` = '%s'",
intval(local_user()),
intval(TERM_SAVEDSEARCH),
dbesc($search)
@@ -228,8 +228,6 @@ function widget_savedsearch($arr) {
$search = '';
}
-
-
$srchurl = $a->query_string;
$srchurl = rtrim(preg_replace('/searchsave\=[^\&].*?(\&|$)/is','',$srchurl),'&');
@@ -238,9 +236,13 @@ function widget_savedsearch($arr) {
$hasq = ((strpos($srchurl,'?') !== false) ? true : false);
$srchurl = rtrim(preg_replace('/search\=[^\&].*?(\&|$)/is','',$srchurl),'&');
+ $srchurl = rtrim(preg_replace('/submit\=[^\&].*?(\&|$)/is','',$srchurl),'&');
$srchurl = str_replace(array('?f=','&f='),array('',''),$srchurl);
+
+
$hasq = ((strpos($srchurl,'?') !== false) ? true : false);
-
+
+
$o = '';
$r = q("select `tid`,`term` from `term` WHERE `uid` = %d and `type` = %d ",
@@ -252,31 +254,28 @@ function widget_savedsearch($arr) {
if(count($r)) {
foreach($r as $rr) {
-
$saved[] = array(
'id' => $rr['tid'],
- 'term' => $rr['term'],
+ 'term' => $rr['term'],
'dellink' => z_root() . '/' . $srchurl . (($hasq) ? '' : '?f=') . '&amp;searchremove=1&amp;search=' . urlencode($rr['term']),
'srchlink' => z_root() . '/' . $srchurl . (($hasq) ? '' : '?f=') . '&amp;search=' . urlencode($rr['term']),
'displayterm' => htmlspecialchars($rr['term'], ENT_COMPAT,'UTF-8'),
- 'encodedterm' => urlencode($rr['term']),
- 'delete' => t('Remove term'),
- 'selected' => ($search==$rr['term']),
+ 'encodedterm' => urlencode($rr['term']),
+ 'delete' => t('Remove term'),
+ 'selected' => ($search==$rr['term']),
);
}
- }
+ }
-
$tpl = get_markup_template("saved_searches.tpl");
$o = replace_macros($tpl, array(
'$title' => t('Saved Searches'),
'$add' => t('add'),
- '$searchbox' => searchbox($search,'netsearch-box',$srchurl . (($hasq) ? '' : '?f='),true),
+ '$searchbox' => searchbox($search, 'netsearch-box', $srchurl . (($hasq) ? '' : '?f='), true),
'$saved' => $saved,
));
return $o;
-
}
@@ -306,7 +305,6 @@ function widget_filer($arr) {
'$all' => t('Everything'),
'$terms' => $terms,
'$base' => z_root() . '/' . $a->cmd
-
));
}
@@ -327,22 +325,32 @@ function widget_archive($arr) {
if(! perm_is_allowed($uid,get_observer_hash(),'view_stream'))
return '';
-
$wall = ((array_key_exists('wall', $arr)) ? intval($arr['wall']) : 0);
$style = ((array_key_exists('style', $arr)) ? $arr['style'] : 'select');
- $url = z_root() . '/' . $a->cmd;
+ $showend = ((get_pconfig($uid,'system','archive_show_end_date')) ? true : false);
+ $mindate = get_pconfig($uid,'system','archive_mindate');
+ $visible_years = get_pconfig($uid,'system','archive_visible_years');
+ if(! $visible_years)
+ $visible_years = 5;
+ $url = z_root() . '/' . $a->cmd;
- $ret = list_post_dates($uid,$wall);
+ $ret = list_post_dates($uid,$wall,$mindate);
if(! count($ret))
return '';
+ $cutoff_year = intval(datetime_convert('',date_default_timezone_get(),'now','Y')) - $visible_years;
+ $cutoff = ((array_key_exists($cutoff_year,$ret))? true : false);
+
$o = replace_macros(get_markup_template('posted_date_widget.tpl'),array(
'$title' => t('Archives'),
- '$size' => ((count($ret) > 6) ? 6 : count($ret)),
+ '$size' => $visible_years,
+ '$cutoff_year' => $cutoff_year,
+ '$cutoff' => $cutoff,
'$url' => $url,
'$style' => $style,
+ '$showend' => $showend,
'$dates' => $ret
));
return $o;
@@ -354,7 +362,7 @@ function widget_fullprofile($arr) {
if(! $a->profile['profile_uid'])
return;
- $block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
+ $block = (((get_config('system', 'block_public')) && (! local_user()) && (! remote_user())) ? true : false);
return profile_sidebar($a->profile, $block);
}
@@ -362,32 +370,45 @@ function widget_fullprofile($arr) {
function widget_categories($arr) {
$a = get_app();
-
if($a->profile['profile_uid'] && (! perm_is_allowed($a->profile['profile_uid'],get_observer_hash(),'view_stream')))
return '';
-
$cat = ((x($_REQUEST,'cat')) ? htmlspecialchars($_REQUEST['cat'],ENT_COMPAT,'UTF-8') : '');
$srchurl = $a->query_string;
$srchurl = rtrim(preg_replace('/cat\=[^\&].*?(\&|$)/is','',$srchurl),'&');
$srchurl = str_replace(array('?f=','&f='),array('',''),$srchurl);
- return categories_widget($srchurl,$cat);
+ return categories_widget($srchurl, $cat);
}
function widget_tagcloud_wall($arr) {
$a = get_app();
+
if((! $a->profile['profile_uid']) || (! $a->profile['channel_hash']))
return '';
- if(! perm_is_allowed($a->profile['profile_uid'],get_observer_hash(),'view_stream'))
+ if(! perm_is_allowed($a->profile['profile_uid'], get_observer_hash(), 'view_stream'))
return '';
- $limit = ((array_key_exists('limit',$arr)) ? intval($arr['limit']) : 50);
- if(feature_enabled($a->profile['profile_uid'],'tagadelic'))
- return tagblock('search',$a->profile['profile_uid'],$limit,$a->profile['channel_hash'],ITEM_WALL);
+ $limit = ((array_key_exists('limit', $arr)) ? intval($arr['limit']) : 50);
+ if(feature_enabled($a->profile['profile_uid'], 'tagadelic'))
+ return wtagblock($a->profile['profile_uid'], $limit, $a->profile['channel_hash'], ITEM_WALL);
+
return '';
}
+function widget_catcloud_wall($arr) {
+ $a = get_app();
+
+ if((! $a->profile['profile_uid']) || (! $a->profile['channel_hash']))
+ return '';
+ if(! perm_is_allowed($a->profile['profile_uid'], get_observer_hash(), 'view_stream'))
+ return '';
+
+ $limit = ((array_key_exists('limit',$arr)) ? intval($arr['limit']) : 50);
+
+ return catblock($a->profile['profile_uid'], $limit, $a->profile['channel_hash'], ITEM_WALL);
+}
+
function widget_affinity($arr) {
@@ -400,7 +421,7 @@ function widget_affinity($arr) {
if(feature_enabled(local_user(),'affinity')) {
$tpl = get_markup_template('main_slider.tpl');
$x = replace_macros($tpl,array(
- '$val' => $cmin . ';' . $cmax,
+ '$val' => $cmin . ',' . $cmax,
'$refresh' => t('Refresh'),
'$me' => t('Me'),
'$intimate' => t('Best Friends'),
@@ -414,6 +435,7 @@ function widget_affinity($arr) {
call_hooks('main_slider',$arr);
return $arr['html'];
}
+
return '';
}
@@ -432,27 +454,26 @@ function widget_settings_menu($arr) {
$role = get_pconfig(local_user(),'system','permissions_role');
- $abk = q("select abook_id from abook where abook_channel = %d and ( abook_flags & %d ) limit 1",
+ $abk = q("select abook_id from abook where abook_channel = %d and ( abook_flags & %d )>0 limit 1",
intval(local_user()),
intval(ABOOK_FLAG_SELF)
);
if($abk)
$abook_self_id = $abk[0]['abook_id'];
-
$tabs = array(
array(
'label' => t('Account settings'),
'url' => $a->get_baseurl(true).'/settings/account',
'selected' => ((argv(1) === 'account') ? 'active' : ''),
),
-
+
array(
'label' => t('Channel settings'),
'url' => $a->get_baseurl(true).'/settings/channel',
'selected' => ((argv(1) === 'channel') ? 'active' : ''),
),
-
+
array(
'label' => t('Additional features'),
'url' => $a->get_baseurl(true).'/settings/features',
@@ -470,7 +491,7 @@ function widget_settings_menu($arr) {
'url' => $a->get_baseurl(true).'/settings/display',
'selected' => ((argv(1) === 'display') ? 'active' : ''),
),
-
+
array(
'label' => t('Connected apps'),
'url' => $a->get_baseurl(true) . '/settings/oauth',
@@ -479,13 +500,7 @@ function widget_settings_menu($arr) {
array(
'label' => t('Export channel'),
- 'url' => $a->get_baseurl(true) . '/uexport/basic',
- 'selected' => ''
- ),
-
- array(
- 'label' => t('Export content'),
- 'url' => $a->get_baseurl(true) . '/uexport/complete',
+ 'url' => $a->get_baseurl(true) . '/uexport',
'selected' => ''
),
@@ -493,7 +508,7 @@ function widget_settings_menu($arr) {
if($role === false || $role === 'custom') {
$tabs[] = array(
- 'label' => t('Automatic Permissions (Advanced)'),
+ 'label' => t('Connection Default Permissions'),
'url' => $a->get_baseurl(true) . '/connedit/' . $abook_self_id,
'selected' => ''
);
@@ -505,7 +520,6 @@ function widget_settings_menu($arr) {
'url' => $a->get_baseurl(true) . '/connect/' . $channel['channel_address'],
'selected' => ''
);
-
}
if(feature_enabled(local_user(),'channel_sources')) {
@@ -514,18 +528,14 @@ function widget_settings_menu($arr) {
'url' => $a->get_baseurl(true) . '/sources',
'selected' => ''
);
-
}
-
-
$tabtpl = get_markup_template("generic_links_widget.tpl");
return replace_macros($tabtpl, array(
'$title' => t('Settings'),
'$class' => 'settings-widget',
'$items' => $tabs,
));
-
}
@@ -536,9 +546,7 @@ function widget_mailmenu($arr) {
$a = get_app();
return replace_macros(get_markup_template('message_side.tpl'), array(
'$title' => t('Messages'),
-
'$tabs'=> array(),
-
'$check'=>array(
'label' => t('Check Mail'),
'url' => $a->get_baseurl(true) . '/message',
@@ -549,9 +557,7 @@ function widget_mailmenu($arr) {
'url' => $a->get_baseurl(true) . '/mail/new',
'sel'=> (argv(1) == 'new'),
)
-
));
-
}
function widget_design_tools($arr) {
@@ -561,8 +567,8 @@ function widget_design_tools($arr) {
// otherwise local_user() is sufficient for permissions.
if($a->profile['profile_uid'])
- if($a->profile['profile_uid'] != local_user())
- return '';
+ if(($a->profile['profile_uid'] != local_user()) && (! $a->is_sys))
+ return '';
if(! local_user())
return '';
@@ -577,23 +583,25 @@ function widget_findpeople($arr) {
function widget_photo_albums($arr) {
$a = get_app();
+
if(! $a->profile['profile_uid'])
return '';
$channelx = channelx_by_n($a->profile['profile_uid']);
- if((! $channelx) || (! perm_is_allowed($a->profile['profile_uid'],get_observer_hash(),'view_photos')))
+ if((! $channelx) || (! perm_is_allowed($a->profile['profile_uid'], get_observer_hash(), 'view_photos')))
return '';
- return photos_album_widget($channelx,$a->get_observer());
+ require_once('include/photos.php');
+ return photos_album_widget($channelx, $a->get_observer());
}
function widget_vcard($arr) {
require_once ('include/Contact.php');
- return vcard_from_xchan('',get_app()->get_observer());
+ return vcard_from_xchan('', get_app()->get_observer());
}
-/**
+/*
* The following directory widgets are only useful on the directory page
*/
@@ -606,21 +614,23 @@ function widget_dirsort($arr) {
}
function widget_dirtags($arr) {
- return dir_tagblock(z_root() . '/directory',null);
+ return dir_tagblock(z_root() . '/directory', null);
}
function widget_menu_preview($arr) {
if(! get_app()->data['menu_item'])
return;
require_once('include/menu.php');
+
return menu_render(get_app()->data['menu_item']);
}
function widget_chatroom_list($arr) {
$a = get_app();
+
require_once("include/chat.php");
$r = chatroom_list($a->profile['profile_uid']);
- return replace_macros(get_markup_template('chatroomlist.tpl'),array(
+ return replace_macros(get_markup_template('chatroomlist.tpl'), array(
'$header' => t('Chat Rooms'),
'$baseurl' => z_root(),
'$nickname' => $a->profile['channel_address'],
@@ -633,11 +643,13 @@ function widget_bookmarkedchats($arr) {
if(! $h)
return;
$r = q("select * from xchat where xchat_xchan = '%s' group by xchat_url order by xchat_desc",
- dbesc($h)
+ dbesc($h)
);
-
- for($x = 0; $x < count($r); $x ++)
- $r[$x]['xchat_url'] = zid($r[$x]['xchat_url']);
+ if($r) {
+ for($x = 0; $x < count($r); $x ++) {
+ $r[$x]['xchat_url'] = zid($r[$x]['xchat_url']);
+ }
+ }
return replace_macros(get_markup_template('bookmarkedchats.tpl'),array(
'$header' => t('Bookmarked Chatrooms'),
'$rooms' => $r
@@ -653,9 +665,11 @@ function widget_suggestedchats($arr) {
if(! $h)
return;
$r = q("select *, count(xchat_url) as total from xchat group by xchat_url order by total desc, xchat_desc limit 24");
-
- for($x = 0; $x < count($r); $x ++)
- $r[$x]['xchat_url'] = zid($r[$x]['xchat_url']);
+ if($r) {
+ for($x = 0; $x < count($r); $x ++) {
+ $r[$x]['xchat_url'] = zid($r[$x]['xchat_url']);
+ }
+ }
return replace_macros(get_markup_template('bookmarkedchats.tpl'),array(
'$header' => t('Suggested Chatrooms'),
'$rooms' => $r
@@ -663,17 +677,17 @@ function widget_suggestedchats($arr) {
}
function widget_item($arr) {
+ // FIXME there is no $a here
$uid = $a->profile['profile_uid'];
if((! $uid) || (! $arr['mid']))
return '';
- if(! perm_is_allowed($uid,get_observer_hash(),'view_pages'))
+ if(! perm_is_allowed($uid, get_observer_hash(), 'view_pages'))
return '';
require_once('include/security.php');
$sql_extra = item_permissions_sql($uid);
-
$r = q("select * from item where mid = '%s' and uid = %d and item_restrict = " . intval(ITEM_WEBPAGE) . " $sql_extra limit 1",
dbesc($arr['mid']),
intval($uid)
@@ -683,11 +697,10 @@ function widget_item($arr) {
return '';
xchan_query($r);
- $r = fetch_post_tags($r,true);
+ $r = fetch_post_tags($r, true);
- $o .= prepare_page($r[0]);
+ $o = prepare_page($r[0]);
return $o;
-
}
function widget_clock($arr) {
@@ -757,18 +770,17 @@ return $o;
* URL must be an http or https URL
*/
-
function widget_photo($arr) {
$style = $zrl = false;
- $params = '';
- if(array_key_exists('src',$arr) && isset($arr['src']))
+
+ if(array_key_exists('src', $arr) && isset($arr['src']))
$url = $arr['src'];
if(strpos($url,'http') !== 0)
return '';
- if(array_key_exists('style',$arr) && isset($arr['style']))
+ if(array_key_exists('style', $arr) && isset($arr['style']))
$style = $arr['style'];
// ensure they can't sneak in an eval(js) function
@@ -776,7 +788,7 @@ function widget_photo($arr) {
if(strpos($style,'(') !== false)
return '';
- if(array_key_exists('zrl',$arr) && isset($arr['zrl']))
+ if(array_key_exists('zrl', $arr) && isset($arr['zrl']))
$zrl = (($arr['zrl']) ? true : false);
if($zrl)
@@ -786,9 +798,108 @@ function widget_photo($arr) {
$o .= '<img ' . (($zrl) ? ' class="zrl" ' : '')
. (($style) ? ' style="' . $style . '"' : '')
- . ' src="' . $url . '" />';
+ . ' src="' . $url . '" alt="' . t('photo/image') . '">';
+
+ $o .= '</div>';
+
+ return $o;
+}
+
+
+function widget_photo_rand($arr) {
+
+ require_once('include/photos.php');
+ $style = false;
+
+ if(array_key_exists('album', $arr) && isset($arr['album']))
+ $album = $arr['album'];
+ else
+ $album = '';
+
+ $channel_id = 0;
+ if(array_key_exists('channel_id', $arr) && intval($arr['channel_id']))
+ $channel_id = intval($arr['channel_id']);
+ if(! $channel_id)
+ $channel_id = get_app()->profile_uid;
+ if(! $channel_id)
+ return '';
+
+ $scale = ((array_key_exists('scale',$arr)) ? intval($arr['scale']) : 0);
+
+ $ret = photos_list_photos(array('channel_id' => $channel_id),get_app()->get_observer(),$album);
+
+ $filtered = array();
+ if($ret['success'] && $ret['photos'])
+ foreach($ret['photos'] as $p)
+ if($p['scale'] == $scale)
+ $filtered[] = $p['src'];
+
+ if($filtered) {
+ $e = mt_rand(0, count($filtered) - 1);
+ $url = $filtered[$e];
+ }
+
+ if(strpos($url, 'http') !== 0)
+ return '';
+
+ if(array_key_exists('style', $arr) && isset($arr['style']))
+ $style = $arr['style'];
+
+ // ensure they can't sneak in an eval(js) function
+
+ if(strpos($style,'(') !== false)
+ return '';
+
+ $url = zid($url);
+
+ $o = '<div class="widget">';
+
+ $o .= '<img class="zrl" '
+ . (($style) ? ' style="' . $style . '"' : '')
+ . ' src="' . $url . '" alt="' . t('photo/image') . '">';
$o .= '</div>';
return $o;
}
+
+
+function widget_random_block($arr) {
+
+ $channel_id = 0;
+ if(array_key_exists('channel_id',$arr) && intval($arr['channel_id']))
+ $channel_id = intval($arr['channel_id']);
+ if(! $channel_id)
+ $channel_id = get_app()->profile_uid;
+ if(! $channel_id)
+ return '';
+
+ if(array_key_exists('contains',$arr))
+ $contains = $arr['contains'];
+
+ $o = '';
+
+ require_once('include/security.php');
+ $sql_options = item_permissions_sql($channel_id);
+
+ $randfunc = db_getfunc('RAND');
+
+ $r = q("select item.* from item left join item_id on item.id = item_id.iid
+ where item.uid = %d and sid like '%s' and service = 'BUILDBLOCK' and
+ item_restrict = %d $sql_options order by $randfunc limit 1",
+ intval($channel_id),
+ dbesc('%' . $contains . '%'),
+ intval(ITEM_BUILDBLOCK)
+ );
+
+ if($r) {
+ $o = '<div class="widget bblock">';
+ if($r[0]['title'])
+ $o .= '<h3>' . $r[0]['title'] . '</h3>';
+
+ $o .= prepare_text($r[0]['body'],$r[0]['mimetype']);
+ $o .= '</div>';
+ }
+
+ return $o;
+}
diff --git a/include/zot.php b/include/zot.php
index e96eae10d..c88b2a369 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -5,7 +5,7 @@ require_once('include/items.php');
require_once('include/hubloc.php');
/**
- * Red implementation of zot protocol.
+ * Red implementation of zot protocol.
*
* https://github.com/friendica/red/wiki/zot
* https://github.com/friendica/red/wiki/Zot---A-High-Level-Overview
@@ -20,8 +20,8 @@ require_once('include/hubloc.php');
* Generates a unique string for use as a zot guid using our DNS-based url, the channel nickname and some entropy.
* The entropy ensures uniqueness against re-installs where the same URL and nickname are chosen.
* NOTE: zot doesn't require this to be unique. Internally we use a whirlpool hash of this guid and the signature
- * of this guid signed with the channel private key. This can be verified and should make the probability of
- * collision of the verified result negligible within the constraints of our immediate universe.
+ * of this guid signed with the channel private key. This can be verified and should make the probability of
+ * collision of the verified result negligible within the constraints of our immediate universe.
*
* @param string channel_nickname = unique nickname of controlling entity
*
@@ -51,7 +51,7 @@ function make_xchan_hash($guid,$guid_sig) {
/**
* @function zot_get_hublocs($hash)
- * Given a zot hash, return all distinct hubs.
+ * Given a zot hash, return all distinct hubs.
* This function is used in building the zot discovery packet
* and therefore should only be used by channels which are defined
* on this hub
@@ -71,7 +71,7 @@ function make_xchan_hash($guid,$guid_sig) {
* hubloc_connect char(255)
* hubloc_sitekey text
* hubloc_updated datetime
- * hubloc_connected datetime
+ * hubloc_connected datetime
*
*/
@@ -79,32 +79,32 @@ function zot_get_hublocs($hash) {
/** Only search for active hublocs - e.g. those that haven't been marked deleted */
- $ret = q("select * from hubloc where hubloc_hash = '%s' and not ( hubloc_flags & %d ) group by hubloc_url ",
+ $ret = q("select * from hubloc where hubloc_hash = '%s' and not ( hubloc_flags & %d )>0 order by hubloc_url ",
dbesc($hash),
intval(HUBLOC_FLAGS_DELETED)
);
return $ret;
}
-
+
/**
*
* @function zot_build_packet($channel,$type = 'notify',$recipients = null, $remote_key = null, $secret = null)
* builds a zot notification packet that you can either
- * store in the queue with a message array or call zot_zot to immediately
+ * store in the queue with a message array or call zot_zot to immediately
* zot it to the other side
*
* @param array $channel => sender channel structure
* @param string $type => packet type: one of 'ping', 'pickup', 'purge', 'refresh', 'force_refresh', 'notify', 'auth_check'
* @param array $recipients => envelope information, array ( 'guid' => string, 'guid_sig' => string ); empty for public posts
* @param string $remote_key => optional public site key of target hub used to encrypt entire packet
- * NOTE: remote_key and encrypted packets are required for 'auth_check' packets, optional for all others
+ * NOTE: remote_key and encrypted packets are required for 'auth_check' packets, optional for all others
* @param string $secret => random string, required for packets which require verification/callback
- * e.g. 'pickup', 'purge', 'notify', 'auth_check'. Packet types 'ping', 'force_refresh', and 'refresh' do not require verification
+ * e.g. 'pickup', 'purge', 'notify', 'auth_check'. Packet types 'ping', 'force_refresh', and 'refresh' do not require verification
*
* @returns string json encoded zot packet
*/
-function zot_build_packet($channel,$type = 'notify',$recipients = null, $remote_key = null, $secret = null) {
+function zot_build_packet($channel,$type = 'notify',$recipients = null, $remote_key = null, $secret = null, $extra = null) {
$data = array(
'type' => $type,
@@ -129,6 +129,12 @@ function zot_build_packet($channel,$type = 'notify',$recipients = null, $remote_
$data['secret_sig'] = base64url_encode(rsa_sign($secret,$channel['channel_prvkey']));
}
+ if($extra) {
+ foreach($extra as $k => $v)
+ $data[$k] = $v;
+ }
+
+
logger('zot_build_packet: ' . print_r($data,true), LOGGER_DATA);
// Hush-hush ultra top-secret mode
@@ -188,14 +194,15 @@ function zot_finger($webbie,$channel,$autofallback = true) {
logger('zot_finger: no address :' . $webbie);
return array('success' => false);
}
-
+ logger('using xchan_addr: ' . $xchan_addr, LOGGER_DATA);
+
// potential issue here; the xchan_addr points to the primary hub.
// The webbie we were called with may not, so it might not be found
// unless we query for hubloc_addr instead of xchan_addr
$r = q("select xchan.*, hubloc.* from xchan
left join hubloc on xchan_hash = hubloc_hash
- where xchan_addr = '%s' and (hubloc_flags & %d) limit 1",
+ where xchan_addr = '%s' and (hubloc_flags & %d) > 0 limit 1",
dbesc($xchan_addr),
intval(HUBLOC_FLAGS_PRIMARY)
);
@@ -205,6 +212,7 @@ function zot_finger($webbie,$channel,$autofallback = true) {
if($r[0]['hubloc_network'] && $r[0]['hubloc_network'] !== 'zot') {
logger('zot_finger: alternate network: ' . $webbie);
+ logger('url: '.$url.', net: '.var_export($r[0]['hubloc_network'],true), LOGGER_DATA);
return array('success' => false);
}
}
@@ -293,7 +301,7 @@ function zot_refresh($them,$channel = null, $force = false) {
if($them['hubloc_url'])
$url = $them['hubloc_url'];
else {
- $r = q("select hubloc_url from hubloc where hubloc_hash = '%s' and ( hubloc_flags & %d ) limit 1",
+ $r = q("select hubloc_url from hubloc where hubloc_hash = '%s' and ( hubloc_flags & %d ) > 0 limit 1",
dbesc($them['xchan_hash']),
intval(HUBLOC_FLAGS_PRIMARY)
);
@@ -375,7 +383,7 @@ function zot_refresh($them,$channel = null, $force = false) {
}
}
- $r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and not (abook_flags & %d) limit 1",
+ $r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and not (abook_flags & %d) > 0 limit 1",
dbesc($x['hash']),
intval($channel['channel_id']),
intval(ABOOK_FLAG_SELF)
@@ -401,7 +409,7 @@ function zot_refresh($them,$channel = null, $force = false) {
$y = q("update abook set abook_their_perms = %d, abook_dob = '%s'
where abook_xchan = '%s' and abook_channel = %d
- and not (abook_flags & %d) limit 1",
+ and not (abook_flags & %d) > 0 ",
intval($their_perms),
dbesc($next_birthday),
dbesc($x['hash']),
@@ -413,7 +421,8 @@ function zot_refresh($them,$channel = null, $force = false) {
// if they are in your address book but you aren't in theirs, and/or this does not
// match your current connected state setting, toggle it.
-
+ // FIXME: uncoverted to postgres
+ // FIXME: when this was enabled, all contacts became unconnected. Currently disabled intentionally
// $y1 = q("update abook set abook_flags = (abook_flags ^ %d)
// where abook_xchan = '%s' and abook_channel = %d
// and not (abook_flags & %d) limit 1",
@@ -433,15 +442,15 @@ function zot_refresh($them,$channel = null, $force = false) {
}
}
else {
- $default_perms = 0;
- // look for default permissions to apply in return - e.g. auto-friend
- $z = q("select * from abook where abook_channel = %d and (abook_flags & %d) limit 1",
- intval($channel['channel_id']),
- intval(ABOOK_FLAG_SELF)
- );
-
- if($z)
- $default_perms = intval($z[0]['abook_my_perms']);
+ $role = get_pconfig($channel['channel_id'],'system','permissions_role');
+ if($role) {
+ $xx = get_role_perms($role);
+ if($xx['perms_auto'])
+ $default_perms = $xx['perms_accept'];
+ }
+ if(! $default_perms)
+ $default_perms = intval(get_pconfig($channel['channel_id'],'system','autoperms'));
+
// Keep original perms to check if we need to notify them
$previous_perms = get_all_perms($channel['channel_id'],$x['hash']);
@@ -463,7 +472,7 @@ function zot_refresh($them,$channel = null, $force = false) {
$new_perms = get_all_perms($channel['channel_id'],$x['hash']);
if($new_perms != $previous_perms) {
// Send back a permissions update if permissions have changed
- $z = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and not (abook_flags & %d) limit 1",
+ $z = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and not (abook_flags & %d) > 0 limit 1",
dbesc($x['hash']),
intval($channel['channel_id']),
intval(ABOOK_FLAG_SELF)
@@ -693,10 +702,10 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
$dirmode = get_config('system','directory_mode');
- if((($arr['site']['directory_mode'] === 'standalone') || ($dirmode & DIRECTORY_MODE_STANDALONE))
-&& ($arr['site']['url'] != z_root()))
+ if((($arr['site']['directory_mode'] === 'standalone') || ($dirmode & DIRECTORY_MODE_STANDALONE)) && ($arr['site']['url'] != z_root()))
$arr['searchable'] = false;
+
$hidden = (1 - intval($arr['searchable']));
// Be careful - XCHAN_FLAGS_HIDDEN should evaluate to 1
@@ -715,6 +724,11 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
if($deleted_changed)
$new_flags = $new_flags ^ XCHAN_FLAGS_DELETED;
+ $public_forum = (($r[0]['xchan_flags'] & XCHAN_FLAGS_PUBFORUM) ? true : false);
+ $pubforum_changed = ((intval($public_forum) != intval($arr['public_forum'])) ? true : false);
+ if($pubforum_changed)
+ $new_flags = $r[0]['xchan_flags'] ^ XCHAN_FLAGS_PUBFORUM;
+
if(($r[0]['xchan_name_date'] != $arr['name_updated'])
|| ($r[0]['xchan_connurl'] != $arr['connections_url'])
|| ($r[0]['xchan_flags'] != $new_flags)
@@ -724,7 +738,7 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
|| ($r[0]['xchan_url'] != $arr['url'])) {
$r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_follow = '%s',
xchan_connpage = '%s', xchan_flags = %d,
- xchan_addr = '%s', xchan_url = '%s' where xchan_hash = '%s' limit 1",
+ xchan_addr = '%s', xchan_url = '%s' where xchan_hash = '%s'",
dbesc(($arr['name']) ? $arr['name'] : '-'),
dbesc($arr['name_updated']),
dbesc($arr['connections_url']),
@@ -777,8 +791,8 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
dbesc($arr['connect_url']),
dbesc(($arr['name']) ? $arr['name'] : '-'),
dbesc('zot'),
- dbesc($arr['photo_updated']),
- dbesc($arr['name_updated']),
+ dbescdate($arr['photo_updated']),
+ dbescdate($arr['name_updated']),
intval($new_flags)
);
@@ -819,7 +833,7 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
// importing the photo failed somehow. Leave the photo_date alone so we can try again at a later date.
// This often happens when somebody joins the matrix with a bad cert.
$r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
- where xchan_hash = '%s' limit 1",
+ where xchan_hash = '%s'",
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
@@ -829,8 +843,8 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
}
else {
$r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
- where xchan_hash = '%s' limit 1",
- dbesc(datetime_convert('UTC','UTC',$arr['photo_updated'])),
+ where xchan_hash = '%s'",
+ dbescdate(datetime_convert('UTC','UTC',$arr['photo_updated'])),
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
@@ -890,10 +904,10 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
else {
logger('import_xchan: profile not available - hiding');
// they may have made it private
- $r = q("delete from xprof where xprof_hash = '%s' limit 1",
+ $r = q("delete from xprof where xprof_hash = '%s'",
dbesc($xchan_hash)
);
- $r = q("delete from xtag where xtag_hash = '%s' limit 1",
+ $r = q("delete from xtag where xtag_hash = '%s'",
dbesc($xchan_hash)
);
}
@@ -915,7 +929,7 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
}
elseif(! $ud_flags) {
// nothing changed but we still need to update the updates record
- q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not (ud_flags & %d) ",
+ q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not (ud_flags & %d)>0 ",
intval(UPDATE_FLAGS_UPDATED),
dbesc($address),
intval(UPDATE_FLAGS_UPDATED)
@@ -965,14 +979,14 @@ function zot_process_response($hub,$arr,$outq) {
// async messages remain in the queue until processed.
if(intval($outq['outq_async'])) {
- $r = q("update outq set outq_delivered = 1, outq_updated = '%s' where outq_hash = '%s' and outq_channel = %d limit 1",
+ $r = q("update outq set outq_delivered = 1, outq_updated = '%s' where outq_hash = '%s' and outq_channel = %d",
dbesc(datetime_convert()),
dbesc($outq['outq_hash']),
intval($outq['outq_channel'])
);
}
else {
- $r = q("delete from outq where outq_hash = '%s' and outq_channel = %d limit 1",
+ $r = q("delete from outq where outq_hash = '%s' and outq_channel = %d",
dbesc($outq['outq_hash']),
intval($outq['outq_channel'])
);
@@ -1065,7 +1079,7 @@ function zot_import($arr, $sender_url) {
if(array_key_exists('iv',$i['notify'])) {
$i['notify'] = json_decode(crypto_unencapsulate($i['notify'],get_config('system','prvkey')),true);
- }
+ }
logger('zot_import: notify: ' . print_r($i['notify'],true), LOGGER_DATA);
@@ -1075,6 +1089,9 @@ function zot_import($arr, $sender_url) {
continue;
}
+ $message_request = ((array_key_exists('message_id',$i['notify'])) ? true : false);
+ if($message_request)
+ logger('processing message request');
$i['notify']['sender']['hash'] = make_xchan_hash($i['notify']['sender']['guid'],$i['notify']['sender']['guid_sig']);
$deliveries = null;
@@ -1087,7 +1104,7 @@ function zot_import($arr, $sender_url) {
}
stringify_array_elms($recip_arr);
$recips = implode(',',$recip_arr);
- $r = q("select channel_hash as hash from channel where channel_hash in ( " . $recips . " ) and not ( channel_pageflags & %d ) ",
+ $r = q("select channel_hash as hash from channel where channel_hash in ( " . $recips . " ) and not ( channel_pageflags & %d )>0 ",
intval(PAGE_REMOVED)
);
if(! $r) {
@@ -1098,7 +1115,7 @@ function zot_import($arr, $sender_url) {
// It's a specifically targetted post. If we were sent a public_scope hint (likely),
// get rid of it so that it doesn't get stored and cause trouble.
- if(array_key_exists('message',$i) && array_key_exists('public_scope',$i['message']))
+ if(($i) && is_array($i) && array_key_exists('message',$i) && is_array($i['message']) && array_key_exists('public_scope',$i['message']))
unset($i['message']['public_scope']);
$deliveries = $r;
@@ -1176,7 +1193,7 @@ function zot_import($arr, $sender_url) {
logger('Activity recipients: ' . print_r($deliveries,true), LOGGER_DATA);
$relay = ((array_key_exists('flags',$i['message']) && in_array('relay',$i['message']['flags'])) ? true : false);
- $result = process_delivery($i['notify']['sender'],$arr,$deliveries,$relay);
+ $result = process_delivery($i['notify']['sender'],$arr,$deliveries,$relay,false,$message_request);
}
elseif($i['message']['type'] === 'mail') {
@@ -1239,8 +1256,14 @@ function zot_import($arr, $sender_url) {
function public_recips($msg) {
+
+ require_once('include/identity.php');
+
$check_mentions = false;
+ $include_sys = false;
+
if($msg['message']['type'] === 'activity') {
+ $include_sys = true;
$col = 'channel_w_stream';
$field = PERMS_W_STREAM;
if(array_key_exists('flags',$msg['message']) && in_array('thread_parent', $msg['message']['flags'])) {
@@ -1269,9 +1292,9 @@ function public_recips($msg) {
if($msg['notify']['sender']['url'] === z_root())
- $sql = " where (( " . $col . " & " . PERMS_NETWORK . " ) or ( " . $col . " & " . PERMS_SITE . " ) or ( " . $col . " & " . PERMS_PUBLIC . ")) ";
+ $sql = " where (( " . $col . " & " . PERMS_NETWORK . " )>0 or ( " . $col . " & " . PERMS_SITE . " )>0 or ( " . $col . " & " . PERMS_PUBLIC . ")>0) ";
else
- $sql = " where (( " . $col . " & " . PERMS_NETWORK . " ) or ( " . $col . " & " . PERMS_PUBLIC . ")) ";
+ $sql = " where (( " . $col . " & " . PERMS_NETWORK . " )>0 or ( " . $col . " & " . PERMS_PUBLIC . ")>0) ";
$r = q("select channel_hash as hash from channel $sql or channel_hash = '%s' ",
@@ -1281,7 +1304,7 @@ function public_recips($msg) {
if(! $r)
$r = array();
- $x = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' and not ( channel_pageflags & " . PAGE_REMOVED . " ) and (( " . $col . " & " . PERMS_SPECIFIC . " ) and ( abook_my_perms & " . $field . " )) OR ( " . $col . " & " . PERMS_PENDING . " ) OR (( " . $col . " & " . PERMS_CONTACTS . " ) and not ( abook_flags & " . ABOOK_FLAG_PENDING . " )) ",
+ $x = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' and not ( channel_pageflags & " . PAGE_REMOVED . " )>0 and (( " . $col . " & " . PERMS_SPECIFIC . " )>0 and ( abook_my_perms & " . $field . " )>0) OR ( " . $col . " & " . PERMS_PENDING . " )>0 OR (( " . $col . " & " . PERMS_CONTACTS . " )>0 and not ( abook_flags & " . ABOOK_FLAG_PENDING . " )>0) ",
dbesc($msg['notify']['sender']['hash'])
);
@@ -1290,6 +1313,14 @@ function public_recips($msg) {
$r = array_merge($r,$x);
+ //logger('message: ' . print_r($msg['message'],true));
+
+ if($include_sys && array_key_exists('public_scope',$msg['message']) && $msg['message']['public_scope'] === 'public') {
+ $sys = get_sys_channel();
+ if($sys)
+ $r[] = array('hash' => $sys['channel_hash']);
+ }
+
// look for any public mentions on this site
// They will get filtered by tgroup_check() so we don't need to check permissions now
@@ -1320,7 +1351,7 @@ function public_recips($msg) {
function allowed_public_recips($msg) {
- logger('allowed_public_recips: ' . print_r($msg,true));
+ logger('allowed_public_recips: ' . print_r($msg,true),LOGGER_DATA);
$recips = public_recips($msg);
@@ -1357,7 +1388,7 @@ function allowed_public_recips($msg) {
$condensed_recips[] = $rr['hash'];
$results = array();
- $r = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' and not ( channel_pageflags & %d ) ",
+ $r = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' and not ( channel_pageflags & %d )>0 ",
dbesc($hash),
intval(PAGE_REMOVED)
);
@@ -1373,7 +1404,7 @@ function allowed_public_recips($msg) {
}
-function process_delivery($sender,$arr,$deliveries,$relay,$public = false) {
+function process_delivery($sender,$arr,$deliveries,$relay,$public = false,$request = false) {
$result = array();
@@ -1386,8 +1417,9 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) {
return;
}
}
-
+
foreach($deliveries as $d) {
+ $local_public = $public;
$r = q("select * from channel where channel_hash = '%s' limit 1",
dbesc($d['hash'])
);
@@ -1397,8 +1429,23 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) {
continue;
}
+
$channel = $r[0];
+ // allow public postings to the sys channel regardless of permissions
+ if(($channel['channel_pageflags'] & PAGE_SYSTEM) && (! $arr['item_private'])) {
+ $local_public = true;
+
+ $r = q("select xchan_flags from xchan where xchan_hash = '%s' limit 1",
+ dbesc($sender['hash'])
+ );
+ // don't import sys channel posts from selfcensored authors
+ if($r && ($r[0]['xchan_flags'] & XCHAN_FLAGS_SELFCENSORED)) {
+ $local_public = false;
+ continue;
+ }
+ }
+
$tag_delivery = tgroup_check($channel['channel_id'],$arr);
$perm = (($arr['mid'] == $arr['parent_mid']) ? 'send_stream' : 'post_comments');
@@ -1416,7 +1463,7 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) {
}
}
- if((! perm_is_allowed($channel['channel_id'],$sender['hash'],$perm)) && (! $tag_delivery) && (! $public)) {
+ if((! perm_is_allowed($channel['channel_id'],$sender['hash'],$perm)) && (! $tag_delivery) && (! $local_public)) {
logger("permission denied for delivery to channel {$channel['channel_id']} {$channel['channel_address']}");
$result[] = array($d['hash'],'permission denied',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
continue;
@@ -1436,6 +1483,25 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) {
);
if(! $r) {
$result[] = array($d['hash'],'comment parent not found',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
+
+ // We don't seem to have a copy of this conversation or at least the parent
+ // - so request a copy of the entire conversation to date.
+ // Don't do this if it's a relay post as we're the ones who are supposed to
+ // have the copy and we don't want the request to loop.
+ // Also don't do this if this comment came from a conversation request packet.
+ // It's possible that comments are allowed but posting isn't and that could
+ // cause a conversation fetch loop. We can detect these packets since they are
+ // delivered via a 'notify' packet type that has a message_id element in the
+ // initial zot packet (just like the corresponding 'request' packet type which
+ // makes the request).
+ // We'll also check the send_stream permission - because if it isn't allowed,
+ // the top level post is unlikely to be imported and
+ // this is just an exercise in futility.
+
+ if((! $relay) && (! $request) && (! $local_public)
+ && perm_is_allowed($channel['channel_id'],$sender['hash'],'send_stream')) {
+ proc_run('php', 'include/notifier.php', 'request', $channel['channel_id'], $sender['hash'], $arr['parent_mid']);
+ }
continue;
}
if($relay) {
@@ -1582,7 +1648,7 @@ function remove_community_tag($sender,$arr,$uid) {
return;
}
- $x = q("delete from term where uid = %d and oid = %d and otype = %d and type = %d and term = '%s' and url = '%s' limit 1",
+ $x = q("delete from term where uid = %d and oid = %d and otype = %d and type = %d and term = '%s' and url = '%s'",
intval($uid),
intval($r[0]['id']),
intval(TERM_OBJ_POST),
@@ -1676,7 +1742,7 @@ function process_mail_delivery($sender,$arr,$deliveries) {
);
if($r) {
if($arr['mail_flags'] & MAIL_RECALLED) {
- $x = q("delete from mail where id = %d and channel_id = %d limit 1",
+ $x = q("delete from mail where id = %d and channel_id = %d",
intval($r[0]['id']),
intval($channel['channel_id'])
);
@@ -1802,7 +1868,7 @@ function sync_locations($sender,$arr,$absolute = false) {
// This only happens when called from import_xchan
if(array_key_exists('site',$arr) && $location['url'] == $arr['site']['url']) {
- q("update hubloc set hubloc_connected = '%s', hubloc_updated = '%s' where hubloc_id = %d limit 1",
+ q("update hubloc set hubloc_connected = '%s', hubloc_updated = '%s' where hubloc_id = %d",
dbesc(datetime_convert()),
dbesc(datetime_convert()),
intval($r[0]['hubloc_id'])
@@ -1814,17 +1880,17 @@ function sync_locations($sender,$arr,$absolute = false) {
// the directory server if the site is alive.
if($r[0]['hubloc_status'] & HUBLOC_OFFLINE) {
- q("update hubloc set hubloc_status = (hubloc_status ^ %d) where hubloc_id = %d limit 1",
+ q("update hubloc set hubloc_status = (hubloc_status & ~%d) where hubloc_id = %d",
intval(HUBLOC_OFFLINE),
intval($r[0]['hubloc_id'])
);
if($r[0]['hubloc_flags'] & HUBLOC_FLAGS_ORPHANCHECK) {
- q("update hubloc set hubloc_flags = (hubloc_flags ^ %d) where hubloc_id = %d limit 1",
+ q("update hubloc set hubloc_flags = (hubloc_flags & ~%d) where hubloc_id = %d",
intval(HUBLOC_FLAGS_ORPHANCHECK),
intval($r[0]['hubloc_id'])
);
}
- q("update xchan set xchan_flags = (xchan_flags ^ %d) where (xchan_flags & %d) and xchan_hash = '%s' limit 1",
+ q("update xchan set xchan_flags = (xchan_flags & ~%d) where (xchan_flags & %d)>0 and xchan_hash = '%s'",
intval(XCHAN_FLAGS_ORPHAN),
intval(XCHAN_FLAGS_ORPHAN),
dbesc($sender['hash'])
@@ -1834,7 +1900,7 @@ function sync_locations($sender,$arr,$absolute = false) {
// Remove pure duplicates
if(count($r) > 1) {
for($h = 1; $h < count($r); $h ++) {
- q("delete from hubloc where hubloc_id = %d limit 1",
+ q("delete from hubloc where hubloc_id = %d",
intval($r[$h]['hubloc_id'])
);
$what .= 'duplicate_hubloc_removed ';
@@ -1844,7 +1910,7 @@ function sync_locations($sender,$arr,$absolute = false) {
if((($r[0]['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) && (! $location['primary']))
|| ((! ($r[0]['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY)) && ($location['primary']))) {
- $m = q("update hubloc set hubloc_flags = (hubloc_flags ^ %d), hubloc_updated = '%s' where hubloc_id = %d limit 1",
+ $m = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d), hubloc_updated = '%s' where hubloc_id = %d",
intval(HUBLOC_FLAGS_PRIMARY),
dbesc(datetime_convert()),
intval($r[0]['hubloc_id'])
@@ -1865,7 +1931,7 @@ function sync_locations($sender,$arr,$absolute = false) {
}
if((($r[0]['hubloc_flags'] & HUBLOC_FLAGS_DELETED) && (! $location['deleted']))
|| ((! ($r[0]['hubloc_flags'] & HUBLOC_FLAGS_DELETED)) && ($location['deleted']))) {
- $n = q("update hubloc set hubloc_flags = (hubloc_flags ^ %d), hubloc_updated = '%s' where hubloc_id = %d limit 1",
+ $n = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d), hubloc_updated = '%s' where hubloc_id = %d",
intval(HUBLOC_FLAGS_DELETED),
dbesc(datetime_convert()),
intval($r[0]['hubloc_id'])
@@ -1880,7 +1946,7 @@ function sync_locations($sender,$arr,$absolute = false) {
// New hub claiming to be primary. Make it so by removing any existing primaries.
if(intval($location['primary'])) {
- $r = q("update hubloc set hubloc_flags = (hubloc_flags ^ %d), hubloc_updated = '%s' where hubloc_hash = '%s' and (hubloc_flags & %d )",
+ $r = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d), hubloc_updated = '%s' where hubloc_hash = '%s' and (hubloc_flags & %d )>0",
intval(HUBLOC_FLAGS_PRIMARY),
dbesc(datetime_convert()),
dbesc($sender['hash']),
@@ -1923,7 +1989,7 @@ function sync_locations($sender,$arr,$absolute = false) {
foreach($xisting as $x) {
if(! array_key_exists('updated',$x)) {
logger('sync_locations: deleting unreferenced hub location ' . $x['hubloc_url']);
- $r = q("update hubloc set hubloc_flags = (hubloc_flags ^ %d), hubloc_updated = '%s' where hubloc_id = %d limit 1",
+ $r = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d), hubloc_updated = '%s' where hubloc_id = %d",
intval(HUBLOC_FLAGS_DELETED),
dbesc(datetime_convert()),
intval($x['hubloc_id'])
@@ -2017,7 +2083,7 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = UPDATE_FLAGS_
if(in_arrayi('nsfw',$clean) || in_arrayi('adult',$clean)) {
- q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s' limit 1",
+ q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s'",
intval(XCHAN_FLAGS_SELFCENSORED),
dbesc($hash)
);
@@ -2052,7 +2118,7 @@ function import_directory_profile($hash,$profile,$addr,$ud_flags = UPDATE_FLAGS_
xprof_homepage = '%s',
xprof_hometown = '%s',
xprof_keywords = '%s'
- where xprof_hash = '%s' limit 1",
+ where xprof_hash = '%s'",
dbesc($arr['xprof_desc']),
dbesc($arr['xprof_dob']),
intval($arr['xprof_age']),
@@ -2122,7 +2188,7 @@ function import_directory_keywords($hash,$keywords) {
foreach($existing as $x) {
if(! in_array($x,$clean))
- $r = q("delete from xtag where xtag_hash = '%s' and xtag_term = '%s' limit 1",
+ $r = q("delete from xtag where xtag_hash = '%s' and xtag_term = '%s'",
dbesc($hash),
dbesc($x)
);
@@ -2154,7 +2220,7 @@ function update_modtime($hash,$guid,$addr,$flags = 0) {
);
}
else {
- q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not (ud_flags & %d) ",
+ q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and not (ud_flags & %d)>0 ",
intval(UPDATE_FLAGS_UPDATED),
dbesc($addr),
intval(UPDATE_FLAGS_UPDATED)
@@ -2245,7 +2311,7 @@ function import_site($arr,$pubkey) {
// logger('import_site: stored: ' . print_r($siterecord,true));
$r = q("update site set site_location = '%s', site_flags = %d, site_access = %d, site_directory = '%s', site_register = %d, site_update = '%s', site_sellpage = '%s', site_realm = '%s'
- where site_url = '%s' limit 1",
+ where site_url = '%s'",
dbesc($site_location),
intval($site_directory),
intval($access_policy),
@@ -2432,8 +2498,8 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
$channel = $r[0];
- $max_friends = service_class_fetch($channel['channel_id'],'total_channels');
- $max_feeds = account_service_class_fetch($channel['channel_account_id'],'total_feeds');
+ $max_friends = service_class_fetch($channel['channel_id'],'total_channels');
+ $max_feeds = account_service_class_fetch($channel['channel_account_id'],'total_feeds');
if($channel['channel_hash'] != $sender['hash']) {
@@ -2461,7 +2527,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
if(count($clean)) {
foreach($clean as $k => $v) {
$r = dbq("UPDATE channel set " . dbesc($k) . " = '" . dbesc($v)
- . "' where channel_id = " . intval($channel['channel_id']) . " limit 1");
+ . "' where channel_id = " . intval($channel['channel_id']) );
}
}
}
@@ -2492,7 +2558,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
logger('process_channel_sync_delivery: removing abook entry for ' . $abook['abook_xchan']);
require_once('include/Contact.php');
- $r = q("select abook_id, abook_flags from abook where abook_xchan = '%s' and abook_channel = %d and not ( abook_flags & %d ) limit 1",
+ $r = q("select abook_id, abook_flags from abook where abook_xchan = '%s' and abook_channel = %d and not ( abook_flags & %d )>0 limit 1",
dbesc($abook['abook_xchan']),
intval($channel['channel_id']),
intval(ABOOK_FLAG_SELF)
@@ -2519,7 +2585,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
continue;
}
$j = json_decode($f['body'],true);
- if(! ($j['success'] && $j['guid'])) {
+ if(! ($j['success'] && $j['guid'])) {
logger('process_channel_sync_delivery: probe failed.');
continue;
}
@@ -2570,8 +2636,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
if(count($clean)) {
foreach($clean as $k => $v) {
$r = dbq("UPDATE abook set " . dbesc($k) . " = '" . dbesc($v)
- . "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id'])
- . " limit 1");
+ . "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id']));
}
}
}
@@ -2596,7 +2661,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
if(($y['name'] != $cl['name'])
|| ($y['visible'] != $cl['visible'])
|| ($y['deleted'] != $cl['deleted'])) {
- q("update groups set name = '%s', visible = %d, deleted = %d where hash = '%s' and uid = %d limit 1",
+ q("update groups set name = '%s', visible = %d, deleted = %d where hash = '%s' and uid = %d",
dbesc($cl['name']),
intval($cl['visible']),
intval($cl['deleted']),
@@ -2618,8 +2683,8 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
intval($channel['channel_id']),
intval($cl['visible']),
intval($cl['deleted']),
- dbesc($cl['name'])
- );
+ dbesc($cl['name'])
+ );
}
// now look for any collections locally which weren't in the list we just received.
@@ -2639,7 +2704,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
q("delete from group_member where gid = %d",
intval($y['id'])
);
- q("update groups set deleted = 1 where id = %d and uid = %d limit 1",
+ q("update groups set deleted = 1 where id = %d and uid = %d",
intval($y['id']),
intval($channel['channel_id'])
);
@@ -2702,7 +2767,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
foreach($m as $mm) {
// if the local existing member isn't in the list we just received - remove them
if(! in_array($mm['xchan'],$members[$y['hash']])) {
- q("delete from group_member where xchan = '%s' and gid = %d and uid = %d limit 1",
+ q("delete from group_member where xchan = '%s' and gid = %d and uid = %d",
dbesc($mm['xchan']),
intval($y['id']),
intval($channel['channel_id'])
@@ -2748,8 +2813,7 @@ function process_channel_sync_delivery($sender,$arr,$deliveries) {
if(count($clean)) {
foreach($clean as $k => $v) {
$r = dbq("UPDATE profile set " . dbesc($k) . " = '" . dbesc($v)
- . "' where profile_guid = '" . dbesc($profile['profile_guid']) . "' and uid = " . intval($channel['channel_id'])
- . " limit 1");
+ . "' where profile_guid = '" . dbesc($profile['profile_guid']) . "' and uid = " . intval($channel['channel_id']));
}
}
}
@@ -2774,7 +2838,7 @@ function get_rpost_path($observer) {
function import_author_zot($x) {
$hash = make_xchan_hash($x['guid'],$x['guid_sig']);
- $r = q("select hubloc_url from hubloc where hubloc_guid = '%s' and hubloc_guid_sig = '%s' and (hubloc_flags & %d) limit 1",
+ $r = q("select hubloc_url from hubloc where hubloc_guid = '%s' and hubloc_guid_sig = '%s' and (hubloc_flags & %d)>0 limit 1",
dbesc($x['guid']),
dbesc($x['guid_sig']),
intval(HUBLOC_FLAGS_PRIMARY)
@@ -2793,3 +2857,110 @@ function import_author_zot($x) {
return false;
}
+
+/**
+ * @function zot_process_message_request($data)
+ * If a site receives a comment to a post but finds they have no parent to attach it with, they
+ * may send a 'request' packet containing the message_id of the missing parent. This is the handler
+ * for that packet. We will create a message_list array of the entire conversation starting with
+ * the missing parent and invoke delivery to the sender of the packet.
+ *
+ * include/deliver.php (for local delivery) and mod/post.php (for web delivery) detect the existence of
+ * this 'message_list' at the destination and split it into individual messages which are
+ * processed/delivered in order.
+ *
+ * Called from mod/post.php
+ */
+
+
+function zot_process_message_request($data) {
+ $ret = array('success' => false);
+
+ if(! $data['message_id']) {
+ $ret['message'] = 'no message_id';
+ logger('no message_id');
+ return $ret;
+ }
+
+ $sender = $data['sender'];
+ $sender_hash = make_xchan_hash($sender['guid'],$sender['guid_sig']);
+
+ /*
+ * Find the local channel in charge of this post (the first and only recipient of the request packet)
+ */
+
+ $arr = $data['recipients'][0];
+ $recip_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']);
+ $c = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_hash = '%s' limit 1",
+ dbesc($recip_hash)
+ );
+ if(! $c) {
+ logger('recipient channel not found.');
+ $ret['message'] .= 'recipient not found.' . EOL;
+ return $ret;
+ }
+
+ /*
+ * fetch the requested conversation
+ */
+
+ $messages = zot_feed($c[0]['channel_id'],$sender_hash,array('message_id' => $data['message_id']));
+
+ if($messages) {
+ $env_recips = null;
+
+ $r = q("select hubloc_guid, hubloc_url, hubloc_sitekey, hubloc_network, hubloc_flags, hubloc_callback, hubloc_host
+ from hubloc where hubloc_hash = '%s' and not (hubloc_flags & %d)>0
+ and not (hubloc_status & %d)>0 group by hubloc_sitekey",
+ dbesc($sender_hash),
+ intval(HUBLOC_FLAGS_DELETED),
+ intval(HUBLOC_OFFLINE)
+ );
+ if(! $r) {
+ logger('no hubs');
+ return $ret;
+ }
+ $hubs = $r;
+ $hublist = array();
+ $keys = array();
+
+ $private = ((array_key_exists('flags',$messages[0]) && in_array('private',$messages[0]['flags'])) ? true : false);
+ if($private)
+ $env_recips = array('guid' => $sender['guid'],'guid_sig' => $sender['guid_sig'],'hash' => $sender_hash);
+
+ $data_packet = json_encode(array('message_list' => $messages));
+
+ foreach($hubs as $hub) {
+ $hash = random_string();
+
+ /*
+ * create a notify packet and drop the actual message packet in the queue for pickup
+ */
+
+ $n = zot_build_packet($c[0],'notify',$env_recips,(($private) ? $hub['hubloc_sitekey'] : null),$hash,array('message_id' => $data['message_id']));
+ q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async,
+ outq_created, outq_updated, outq_notify, outq_msg )
+ values ( '%s', %d, %d, '%s', '%s', %d, '%s', '%s', '%s', '%s' )",
+ dbesc($hash),
+ intval($c[0]['channel_account_id']),
+ intval($c[0]['channel_id']),
+ dbesc('zot'),
+ dbesc($hub['hubloc_callback']),
+ intval(1),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc($n),
+ dbesc($data_packet)
+ );
+
+ /*
+ * invoke delivery to send out the notify packet
+ */
+
+ proc_run('php','include/deliver.php',$hash);
+ }
+
+ }
+ $ret['success'] = true;
+ return $ret;
+}
diff --git a/index.php b/index.php
index 3e5207f2b..a13d22d8c 100755
--- a/index.php
+++ b/index.php
@@ -40,8 +40,8 @@ date_default_timezone_set($a->timezone);
require_once("include/dba/dba_driver.php");
if(! $a->install) {
- $db = dba_factory($db_host, $db_port, $db_user, $db_pass, $db_data, $a->install);
- unset($db_host, $db_port, $db_user, $db_pass, $db_data);
+ $db = dba_factory($db_host, $db_port, $db_user, $db_pass, $db_data, $db_type, $a->install);
+ unset($db_host, $db_port, $db_user, $db_pass, $db_data, $db_type);
/**
* Load configs from db. Overwrite configs from .htconfig.php
@@ -197,8 +197,9 @@ if(strlen($a->module)) {
*/
if(! $a->module_loaded) {
- if(file_exists("custom/{$a->module}.php")) {
- include_once("custom/{$a->module}.php");
+
+ if(file_exists("mod/site/{$a->module}.php")) {
+ include_once("mod/site/{$a->module}.php");
$a->module_loaded = true;
}
elseif(file_exists("mod/{$a->module}.php")) {
diff --git a/install/database-w-defaults-v1131.diff b/install/database-w-defaults-v1131.diff
new file mode 100644
index 000000000..c8870f9c4
--- /dev/null
+++ b/install/database-w-defaults-v1131.diff
@@ -0,0 +1,1914 @@
+*** database.sql Mon Sep 8 20:28:00 2014
+--- database-w-defaults.sql Sun Nov 9 19:20:32 2014
+***************
+*** 1,15 ****
+! SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
+!
+! /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+! /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+! /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+! /*!40101 SET NAMES utf8 */;
+
+
+ CREATE TABLE IF NOT EXISTS `abook` (
+ `abook_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `abook_account` int(10) unsigned NOT NULL,
+! `abook_channel` int(10) unsigned NOT NULL,
+ `abook_xchan` char(255) NOT NULL DEFAULT '',
+ `abook_my_perms` int(11) NOT NULL DEFAULT '0',
+ `abook_their_perms` int(11) NOT NULL DEFAULT '0',
+--- 1,13 ----
+! -- --------------------------------------------------------
+
++ --
++ -- Table structure for table `abook`
++ --
+
+ CREATE TABLE IF NOT EXISTS `abook` (
+ `abook_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `abook_account` int(10) unsigned NOT NULL DEFAULT '0',
+! `abook_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `abook_xchan` char(255) NOT NULL DEFAULT '',
+ `abook_my_perms` int(11) NOT NULL DEFAULT '0',
+ `abook_their_perms` int(11) NOT NULL DEFAULT '0',
+***************
+*** 37,42 ****
+--- 35,46 ----
+ KEY `abook_rating` (`abook_rating`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `account`
++ --
++
+ CREATE TABLE IF NOT EXISTS `account` (
+ `account_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `account_parent` int(10) unsigned NOT NULL DEFAULT '0',
+***************
+*** 70,79 ****
+ KEY `account_password_changed` (`account_password_changed`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `addon` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `name` char(255) NOT NULL,
+! `version` char(255) NOT NULL,
+ `installed` tinyint(1) NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) NOT NULL DEFAULT '0',
+ `timestamp` bigint(20) NOT NULL DEFAULT '0',
+--- 74,89 ----
+ KEY `account_password_changed` (`account_password_changed`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `addon`
++ --
++
+ CREATE TABLE IF NOT EXISTS `addon` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `name` char(255) NOT NULL DEFAULT '',
+! `version` char(255) NOT NULL DEFAULT '',
+ `installed` tinyint(1) NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) NOT NULL DEFAULT '0',
+ `timestamp` bigint(20) NOT NULL DEFAULT '0',
+***************
+*** 84,89 ****
+--- 94,104 ----
+ KEY `installed` (`installed`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `app`
++ --
+
+ CREATE TABLE IF NOT EXISTS `app` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+***************
+*** 108,115 ****
+ KEY `app_version` (`app_version`),
+ KEY `app_channel` (`app_channel`),
+ KEY `app_price` (`app_price`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+
+ CREATE TABLE IF NOT EXISTS `attach` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+--- 123,135 ----
+ KEY `app_version` (`app_version`),
+ KEY `app_channel` (`app_channel`),
+ KEY `app_price` (`app_price`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+!
+! -- --------------------------------------------------------
+
++ --
++ -- Table structure for table `attach`
++ --
+
+ CREATE TABLE IF NOT EXISTS `attach` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+***************
+*** 145,166 ****
+ KEY `creator` (`creator`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `auth_codes` (
+! `id` varchar(40) NOT NULL,
+! `client_id` varchar(20) NOT NULL,
+! `redirect_uri` varchar(200) NOT NULL,
+! `expires` int(11) NOT NULL,
+! `scope` varchar(250) NOT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `cache` (
+! `k` char(255) NOT NULL,
+ `v` text NOT NULL,
+! `updated` datetime NOT NULL,
+ PRIMARY KEY (`k`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `channel` (
+ `channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `channel_account_id` int(10) unsigned NOT NULL DEFAULT '0',
+--- 165,204 ----
+ KEY `creator` (`creator`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `auth_codes`
++ --
++
+ CREATE TABLE IF NOT EXISTS `auth_codes` (
+! `id` varchar(40) NOT NULL DEFAULT '',
+! `client_id` varchar(20) NOT NULL DEFAULT '',
+! `redirect_uri` varchar(200) NOT NULL DEFAULT '',
+! `expires` int(11) NOT NULL DEFAULT '0',
+! `scope` varchar(250) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `cache`
++ --
++
+ CREATE TABLE IF NOT EXISTS `cache` (
+! `k` char(255) NOT NULL DEFAULT '',
+ `v` text NOT NULL,
+! `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`k`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `channel`
++ --
++
+ CREATE TABLE IF NOT EXISTS `channel` (
+ `channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `channel_account_id` int(10) unsigned NOT NULL DEFAULT '0',
+***************
+*** 189,212 ****
+ `channel_allow_gid` mediumtext NOT NULL,
+ `channel_deny_cid` mediumtext NOT NULL,
+ `channel_deny_gid` mediumtext NOT NULL,
+! `channel_r_stream` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_r_profile` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_r_photos` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_r_abook` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_w_stream` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_w_wall` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_w_tagwall` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_w_comment` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_w_mail` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_w_photos` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_w_chat` int(10) unsigned NOT NULL DEFAULT '128',
+ `channel_a_delegate` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_r_storage` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_w_storage` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_r_pages` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_w_pages` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_a_republish` int(10) unsigned NOT NULL DEFAULT '128',
+! `channel_w_like` int(10) unsigned NOT NULL DEFAULT '128',
+ PRIMARY KEY (`channel_id`),
+ UNIQUE KEY `channel_address_unique` (`channel_address`),
+ KEY `channel_account_id` (`channel_account_id`),
+--- 227,250 ----
+ `channel_allow_gid` mediumtext NOT NULL,
+ `channel_deny_cid` mediumtext NOT NULL,
+ `channel_deny_gid` mediumtext NOT NULL,
+! `channel_r_stream` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_r_profile` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_r_photos` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_r_abook` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_w_stream` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_w_wall` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_w_tagwall` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_w_comment` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_w_mail` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_w_photos` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_w_chat` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_a_delegate` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_r_storage` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_w_storage` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_r_pages` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_w_pages` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_a_republish` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_w_like` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`channel_id`),
+ UNIQUE KEY `channel_address_unique` (`channel_address`),
+ KEY `channel_account_id` (`channel_account_id`),
+***************
+*** 241,250 ****
+ KEY `channel_w_pages` (`channel_w_pages`),
+ KEY `channel_deleted` (`channel_deleted`),
+ KEY `channel_a_republish` (`channel_a_republish`),
+! KEY `channel_w_like` (`channel_w_like`),
+! KEY `channel_dirdate` (`channel_dirdate`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `chat` (
+ `chat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `chat_room` int(10) unsigned NOT NULL DEFAULT '0',
+--- 279,294 ----
+ KEY `channel_w_pages` (`channel_w_pages`),
+ KEY `channel_deleted` (`channel_deleted`),
+ KEY `channel_a_republish` (`channel_a_republish`),
+! KEY `channel_dirdate` (`channel_dirdate`),
+! KEY `channel_w_like` (`channel_w_like`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `chat`
++ --
++
+ CREATE TABLE IF NOT EXISTS `chat` (
+ `chat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `chat_room` int(10) unsigned NOT NULL DEFAULT '0',
+***************
+*** 255,275 ****
+ KEY `chat_room` (`chat_room`),
+ KEY `chat_xchan` (`chat_xchan`),
+ KEY `created` (`created`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `chatpresence` (
+ `cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cp_room` int(10) unsigned NOT NULL DEFAULT '0',
+ `cp_xchan` char(255) NOT NULL DEFAULT '',
+ `cp_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `cp_status` char(255) NOT NULL,
+ `cp_client` char(128) NOT NULL DEFAULT '',
+ PRIMARY KEY (`cp_id`),
+ KEY `cp_room` (`cp_room`),
+ KEY `cp_xchan` (`cp_xchan`),
+ KEY `cp_last` (`cp_last`),
+ KEY `cp_status` (`cp_status`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `chatroom` (
+ `cr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+--- 299,331 ----
+ KEY `chat_room` (`chat_room`),
+ KEY `chat_xchan` (`chat_xchan`),
+ KEY `created` (`created`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+!
+! -- --------------------------------------------------------
+!
+! --
+! -- Table structure for table `chatpresence`
+! --
+
+ CREATE TABLE IF NOT EXISTS `chatpresence` (
+ `cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cp_room` int(10) unsigned NOT NULL DEFAULT '0',
+ `cp_xchan` char(255) NOT NULL DEFAULT '',
+ `cp_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `cp_status` char(255) NOT NULL DEFAULT '',
+ `cp_client` char(128) NOT NULL DEFAULT '',
+ PRIMARY KEY (`cp_id`),
+ KEY `cp_room` (`cp_room`),
+ KEY `cp_xchan` (`cp_xchan`),
+ KEY `cp_last` (`cp_last`),
+ KEY `cp_status` (`cp_status`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+!
+! -- --------------------------------------------------------
+!
+! --
+! -- Table structure for table `chatroom`
+! --
+
+ CREATE TABLE IF NOT EXISTS `chatroom` (
+ `cr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+***************
+*** 290,322 ****
+ KEY `cr_created` (`cr_created`),
+ KEY `cr_edited` (`cr_edited`),
+ KEY `cr_expire` (`cr_expire`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `clients` (
+! `client_id` varchar(20) NOT NULL,
+! `pw` varchar(20) NOT NULL,
+! `redirect_uri` varchar(200) NOT NULL,
+ `name` text,
+ `icon` text,
+ `uid` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`client_id`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `config` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `cat` char(255) CHARACTER SET ascii NOT NULL,
+! `k` char(255) CHARACTER SET ascii NOT NULL,
+ `v` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `access` (`cat`,`k`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `conv` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `guid` char(255) NOT NULL,
+ `recips` mediumtext NOT NULL,
+! `uid` int(11) NOT NULL,
+! `creator` char(255) NOT NULL,
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `subject` mediumtext NOT NULL,
+--- 346,396 ----
+ KEY `cr_created` (`cr_created`),
+ KEY `cr_edited` (`cr_edited`),
+ KEY `cr_expire` (`cr_expire`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+!
+! -- --------------------------------------------------------
+!
+! --
+! -- Table structure for table `clients`
+! --
+
+ CREATE TABLE IF NOT EXISTS `clients` (
+! `client_id` varchar(20) NOT NULL DEFAULT '',
+! `pw` varchar(20) NOT NULL DEFAULT '',
+! `redirect_uri` varchar(200) NOT NULL DEFAULT '',
+ `name` text,
+ `icon` text,
+ `uid` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`client_id`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `config`
++ --
++
+ CREATE TABLE IF NOT EXISTS `config` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `cat` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+! `k` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `v` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `access` (`cat`,`k`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `conv`
++ --
++
+ CREATE TABLE IF NOT EXISTS `conv` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `guid` char(255) NOT NULL DEFAULT '',
+ `recips` mediumtext NOT NULL,
+! `uid` int(11) NOT NULL DEFAULT '0',
+! `creator` char(255) NOT NULL DEFAULT '',
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `subject` mediumtext NOT NULL,
+***************
+*** 325,344 ****
+ KEY `updated` (`updated`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `event` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+! `uid` int(11) NOT NULL,
+ `event_xchan` char(255) NOT NULL DEFAULT '',
+ `event_hash` char(255) NOT NULL DEFAULT '',
+! `created` datetime NOT NULL,
+! `edited` datetime NOT NULL,
+! `start` datetime NOT NULL,
+! `finish` datetime NOT NULL,
+ `summary` text NOT NULL,
+ `description` text NOT NULL,
+ `location` text NOT NULL,
+! `type` char(255) NOT NULL,
+ `nofinish` tinyint(1) NOT NULL DEFAULT '0',
+ `adjust` tinyint(1) NOT NULL DEFAULT '1',
+ `ignore` tinyint(1) NOT NULL DEFAULT '0',
+--- 399,424 ----
+ KEY `updated` (`updated`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `event`
++ --
++
+ CREATE TABLE IF NOT EXISTS `event` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+! `uid` int(11) NOT NULL DEFAULT '0',
+ `event_xchan` char(255) NOT NULL DEFAULT '',
+ `event_hash` char(255) NOT NULL DEFAULT '',
+! `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `start` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `finish` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `summary` text NOT NULL,
+ `description` text NOT NULL,
+ `location` text NOT NULL,
+! `type` char(255) NOT NULL DEFAULT '',
+ `nofinish` tinyint(1) NOT NULL DEFAULT '0',
+ `adjust` tinyint(1) NOT NULL DEFAULT '1',
+ `ignore` tinyint(1) NOT NULL DEFAULT '0',
+***************
+*** 357,363 ****
+ KEY `aid` (`aid`),
+ KEY `event_hash` (`event_hash`),
+ KEY `event_xchan` (`event_xchan`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `fcontact` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+--- 437,449 ----
+ KEY `aid` (`aid`),
+ KEY `event_hash` (`event_hash`),
+ KEY `event_xchan` (`event_xchan`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+!
+! -- --------------------------------------------------------
+!
+! --
+! -- Table structure for table `fcontact`
+! --
+
+ CREATE TABLE IF NOT EXISTS `fcontact` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+***************
+*** 381,386 ****
+--- 467,478 ----
+ KEY `network` (`network`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `ffinder`
++ --
++
+ CREATE TABLE IF NOT EXISTS `ffinder` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `uid` int(10) unsigned NOT NULL,
+***************
+*** 392,427 ****
+ KEY `fid` (`fid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `fserver` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `server` char(255) NOT NULL,
+! `posturl` char(255) NOT NULL,
+ `key` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `server` (`server`),
+ KEY `posturl` (`posturl`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `fsuggest` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `uid` int(11) NOT NULL,
+! `cid` int(11) NOT NULL,
+! `name` char(255) NOT NULL,
+! `url` char(255) NOT NULL,
+! `request` char(255) NOT NULL,
+! `photo` char(255) NOT NULL,
+ `note` text NOT NULL,
+! `created` datetime NOT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `groups` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `hash` char(255) NOT NULL DEFAULT '',
+! `uid` int(10) unsigned NOT NULL,
+ `visible` tinyint(1) NOT NULL DEFAULT '0',
+ `deleted` tinyint(1) NOT NULL DEFAULT '0',
+! `name` char(255) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `visible` (`visible`),
+--- 484,537 ----
+ KEY `fid` (`fid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `fserver`
++ --
++
+ CREATE TABLE IF NOT EXISTS `fserver` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `server` char(255) NOT NULL DEFAULT '',
+! `posturl` char(255) NOT NULL DEFAULT '',
+ `key` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `server` (`server`),
+ KEY `posturl` (`posturl`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `fsuggest`
++ --
++
+ CREATE TABLE IF NOT EXISTS `fsuggest` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `uid` int(11) NOT NULL DEFAULT '0',
+! `cid` int(11) NOT NULL DEFAULT '0',
+! `name` char(255) NOT NULL DEFAULT '',
+! `url` char(255) NOT NULL DEFAULT '',
+! `request` char(255) NOT NULL DEFAULT '',
+! `photo` char(255) NOT NULL DEFAULT '',
+ `note` text NOT NULL,
+! `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `groups`
++ --
++
+ CREATE TABLE IF NOT EXISTS `groups` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `hash` char(255) NOT NULL DEFAULT '',
+! `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `visible` tinyint(1) NOT NULL DEFAULT '0',
+ `deleted` tinyint(1) NOT NULL DEFAULT '0',
+! `name` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `visible` (`visible`),
+***************
+*** 429,438 ****
+ KEY `hash` (`hash`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `group_member` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `uid` int(10) unsigned NOT NULL,
+! `gid` int(10) unsigned NOT NULL,
+ `xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+--- 539,554 ----
+ KEY `hash` (`hash`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `group_member`
++ --
++
+ CREATE TABLE IF NOT EXISTS `group_member` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `uid` int(10) unsigned NOT NULL DEFAULT '0',
+! `gid` int(10) unsigned NOT NULL DEFAULT '0',
+ `xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+***************
+*** 440,460 ****
+ KEY `xchan` (`xchan`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `hook` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `hook` char(255) NOT NULL,
+! `file` char(255) NOT NULL,
+! `function` char(255) NOT NULL,
+ `priority` int(11) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `hook` (`hook`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `hubloc` (
+ `hubloc_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `hubloc_guid` char(255) NOT NULL DEFAULT '',
+ `hubloc_guid_sig` text NOT NULL,
+! `hubloc_hash` char(255) NOT NULL,
+ `hubloc_addr` char(255) NOT NULL DEFAULT '',
+ `hubloc_network` char(32) NOT NULL DEFAULT '',
+ `hubloc_flags` int(10) unsigned NOT NULL DEFAULT '0',
+--- 556,588 ----
+ KEY `xchan` (`xchan`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `hook`
++ --
++
+ CREATE TABLE IF NOT EXISTS `hook` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `hook` char(255) NOT NULL DEFAULT '',
+! `file` char(255) NOT NULL DEFAULT '',
+! `function` char(255) NOT NULL DEFAULT '',
+ `priority` int(11) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `hook` (`hook`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `hubloc`
++ --
++
+ CREATE TABLE IF NOT EXISTS `hubloc` (
+ `hubloc_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `hubloc_guid` char(255) NOT NULL DEFAULT '',
+ `hubloc_guid_sig` text NOT NULL,
+! `hubloc_hash` char(255) NOT NULL DEFAULT '',
+ `hubloc_addr` char(255) NOT NULL DEFAULT '',
+ `hubloc_network` char(32) NOT NULL DEFAULT '',
+ `hubloc_flags` int(10) unsigned NOT NULL DEFAULT '0',
+***************
+*** 474,493 ****
+ KEY `hubloc_connect` (`hubloc_connect`),
+ KEY `hubloc_host` (`hubloc_host`),
+ KEY `hubloc_addr` (`hubloc_addr`),
+- KEY `hubloc_network` (`hubloc_network`),
+ KEY `hubloc_updated` (`hubloc_updated`),
+ KEY `hubloc_connected` (`hubloc_connected`),
+! KEY `hubloc_status` (`hubloc_status`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `issue` (
+ `issue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `issue_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `issue_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `issue_assigned` char(255) NOT NULL,
+! `issue_priority` int(11) NOT NULL,
+! `issue_status` int(11) NOT NULL,
+! `issue_component` char(255) NOT NULL,
+ PRIMARY KEY (`issue_id`),
+ KEY `issue_created` (`issue_created`),
+ KEY `issue_updated` (`issue_updated`),
+--- 602,627 ----
+ KEY `hubloc_connect` (`hubloc_connect`),
+ KEY `hubloc_host` (`hubloc_host`),
+ KEY `hubloc_addr` (`hubloc_addr`),
+ KEY `hubloc_updated` (`hubloc_updated`),
+ KEY `hubloc_connected` (`hubloc_connected`),
+! KEY `hubloc_status` (`hubloc_status`),
+! KEY `hubloc_network` (`hubloc_network`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `issue`
++ --
++
+ CREATE TABLE IF NOT EXISTS `issue` (
+ `issue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `issue_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `issue_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `issue_assigned` char(255) NOT NULL DEFAULT '',
+! `issue_priority` int(11) NOT NULL DEFAULT '0',
+! `issue_status` int(11) NOT NULL DEFAULT '0',
+! `issue_component` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`issue_id`),
+ KEY `issue_created` (`issue_created`),
+ KEY `issue_updated` (`issue_updated`),
+***************
+*** 497,502 ****
+--- 631,642 ----
+ KEY `issue_component` (`issue_component`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `item`
++ --
++
+ CREATE TABLE IF NOT EXISTS `item` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+***************
+*** 516,549 ****
+ `author_xchan` char(255) NOT NULL DEFAULT '',
+ `source_xchan` char(255) NOT NULL DEFAULT '',
+ `mimetype` char(255) NOT NULL DEFAULT '',
+! `title` text NOT NULL DEFAULT '',
+! `body` mediumtext NOT NULL DEFAULT '',
+ `app` char(255) NOT NULL DEFAULT '',
+ `lang` char(64) NOT NULL DEFAULT '',
+ `revision` int(10) unsigned NOT NULL DEFAULT '0',
+ `verb` char(255) NOT NULL DEFAULT '',
+ `obj_type` char(255) NOT NULL DEFAULT '',
+! `object` text NOT NULL DEFAULT '',
+ `tgt_type` char(255) NOT NULL DEFAULT '',
+! `target` text NOT NULL DEFAULT '',
+ `layout_mid` char(255) NOT NULL DEFAULT '',
+! `postopts` text NOT NULL DEFAULT '',
+! `route` text NOT NULL DEFAULT '',
+ `llink` char(255) NOT NULL DEFAULT '',
+ `plink` char(255) NOT NULL DEFAULT '',
+ `resource_id` char(255) NOT NULL DEFAULT '',
+ `resource_type` char(16) NOT NULL DEFAULT '',
+! `attach` mediumtext NOT NULL DEFAULT '',
+! `sig` text NOT NULL DEFAULT '',
+! `diaspora_meta` mediumtext NOT NULL DEFAULT '',
+ `location` char(255) NOT NULL DEFAULT '',
+ `coord` char(255) NOT NULL DEFAULT '',
+ `public_policy` char(255) NOT NULL DEFAULT '',
+ `comment_policy` char(255) NOT NULL DEFAULT '',
+! `allow_cid` mediumtext NOT NULL DEFAULT '',
+! `allow_gid` mediumtext NOT NULL DEFAULT '',
+! `deny_cid` mediumtext NOT NULL DEFAULT '',
+! `deny_gid` mediumtext NOT NULL DEFAULT '',
+ `item_restrict` int(11) NOT NULL DEFAULT '0',
+ `item_flags` int(11) NOT NULL DEFAULT '0',
+ `item_private` tinyint(4) NOT NULL DEFAULT '0',
+--- 656,689 ----
+ `author_xchan` char(255) NOT NULL DEFAULT '',
+ `source_xchan` char(255) NOT NULL DEFAULT '',
+ `mimetype` char(255) NOT NULL DEFAULT '',
+! `title` text NOT NULL,
+! `body` mediumtext NOT NULL,
+ `app` char(255) NOT NULL DEFAULT '',
+ `lang` char(64) NOT NULL DEFAULT '',
+ `revision` int(10) unsigned NOT NULL DEFAULT '0',
+ `verb` char(255) NOT NULL DEFAULT '',
+ `obj_type` char(255) NOT NULL DEFAULT '',
+! `object` text NOT NULL,
+ `tgt_type` char(255) NOT NULL DEFAULT '',
+! `target` text NOT NULL,
+ `layout_mid` char(255) NOT NULL DEFAULT '',
+! `postopts` text NOT NULL,
+! `route` text NOT NULL,
+ `llink` char(255) NOT NULL DEFAULT '',
+ `plink` char(255) NOT NULL DEFAULT '',
+ `resource_id` char(255) NOT NULL DEFAULT '',
+ `resource_type` char(16) NOT NULL DEFAULT '',
+! `attach` mediumtext NOT NULL,
+! `sig` text NOT NULL,
+! `diaspora_meta` mediumtext NOT NULL,
+ `location` char(255) NOT NULL DEFAULT '',
+ `coord` char(255) NOT NULL DEFAULT '',
+ `public_policy` char(255) NOT NULL DEFAULT '',
+ `comment_policy` char(255) NOT NULL DEFAULT '',
+! `allow_cid` mediumtext NOT NULL,
+! `allow_gid` mediumtext NOT NULL,
+! `deny_cid` mediumtext NOT NULL,
+! `deny_gid` mediumtext NOT NULL,
+ `item_restrict` int(11) NOT NULL DEFAULT '0',
+ `item_flags` int(11) NOT NULL DEFAULT '0',
+ `item_private` tinyint(4) NOT NULL DEFAULT '0',
+***************
+*** 555,562 ****
+ KEY `received` (`received`),
+ KEY `uid_commented` (`uid`,`commented`),
+ KEY `uid_created` (`uid`,`created`),
+- KEY `changed` (`changed`),
+- KEY `comments_closed` (`comments_closed`),
+ KEY `aid` (`aid`),
+ KEY `owner_xchan` (`owner_xchan`),
+ KEY `author_xchan` (`author_xchan`),
+--- 695,700 ----
+***************
+*** 573,581 ****
+ KEY `mid` (`mid`),
+ KEY `parent_mid` (`parent_mid`),
+ KEY `uid_mid` (`mid`,`uid`),
+- KEY `public_policy` (`public_policy`),
+ KEY `comment_policy` (`comment_policy`),
+ KEY `layout_mid` (`layout_mid`),
+ FULLTEXT KEY `title` (`title`),
+ FULLTEXT KEY `body` (`body`),
+ FULLTEXT KEY `allow_cid` (`allow_cid`),
+--- 711,721 ----
+ KEY `mid` (`mid`),
+ KEY `parent_mid` (`parent_mid`),
+ KEY `uid_mid` (`mid`,`uid`),
+ KEY `comment_policy` (`comment_policy`),
+ KEY `layout_mid` (`layout_mid`),
++ KEY `public_policy` (`public_policy`),
++ KEY `comments_closed` (`comments_closed`),
++ KEY `changed` (`changed`),
+ FULLTEXT KEY `title` (`title`),
+ FULLTEXT KEY `body` (`body`),
+ FULLTEXT KEY `allow_cid` (`allow_cid`),
+***************
+*** 584,595 ****
+ FULLTEXT KEY `deny_gid` (`deny_gid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `item_id` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `iid` int(11) NOT NULL,
+! `uid` int(11) NOT NULL,
+! `sid` char(255) NOT NULL,
+! `service` char(255) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `sid` (`sid`),
+--- 724,741 ----
+ FULLTEXT KEY `deny_gid` (`deny_gid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `item_id`
++ --
++
+ CREATE TABLE IF NOT EXISTS `item_id` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `iid` int(11) NOT NULL DEFAULT '0',
+! `uid` int(11) NOT NULL DEFAULT '0',
+! `sid` char(255) NOT NULL DEFAULT '',
+! `service` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `sid` (`sid`),
+***************
+*** 597,621 ****
+ KEY `iid` (`iid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `likes` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `channel_id` int(11) unsigned NOT NULL DEFAULT '0',
+ `liker` char(128) NOT NULL DEFAULT '',
+ `likee` char(128) NOT NULL DEFAULT '',
+! `iid` int(10) unsigned NOT NULL DEFAULT '0',
+ `verb` char(255) NOT NULL DEFAULT '',
+ `target_type` char(255) NOT NULL DEFAULT '',
+ `target_id` char(128) NOT NULL DEFAULT '',
+ `target` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+- KEY `channel_id` (`channel_id`),
+ KEY `liker` (`liker`),
+ KEY `likee` (`likee`),
+ KEY `iid` (`iid`),
+ KEY `verb` (`verb`),
+ KEY `target_type` (`target_type`),
+ KEY `target_id` (`target_id`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `mail` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+--- 743,779 ----
+ KEY `iid` (`iid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `likes`
++ --
++
+ CREATE TABLE IF NOT EXISTS `likes` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `liker` char(128) NOT NULL DEFAULT '',
+ `likee` char(128) NOT NULL DEFAULT '',
+! `iid` int(11) unsigned NOT NULL DEFAULT '0',
+ `verb` char(255) NOT NULL DEFAULT '',
+ `target_type` char(255) NOT NULL DEFAULT '',
+ `target_id` char(128) NOT NULL DEFAULT '',
+ `target` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `liker` (`liker`),
+ KEY `likee` (`likee`),
+ KEY `iid` (`iid`),
+ KEY `verb` (`verb`),
+ KEY `target_type` (`target_type`),
++ KEY `channel_id` (`channel_id`),
+ KEY `target_id` (`target_id`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+!
+! -- --------------------------------------------------------
+!
+! --
+! -- Table structure for table `mail`
+! --
+
+ CREATE TABLE IF NOT EXISTS `mail` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+***************
+*** 624,639 ****
+ `from_xchan` char(255) NOT NULL DEFAULT '',
+ `to_xchan` char(255) NOT NULL DEFAULT '',
+ `account_id` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_id` int(10) unsigned NOT NULL,
+ `title` text NOT NULL,
+ `body` mediumtext NOT NULL,
+ `attach` mediumtext NOT NULL,
+! `mid` char(255) NOT NULL,
+! `parent_mid` char(255) NOT NULL,
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+- KEY `convid` (`convid`),
+ KEY `created` (`created`),
+ KEY `mail_flags` (`mail_flags`),
+ KEY `account_id` (`account_id`),
+--- 782,796 ----
+ `from_xchan` char(255) NOT NULL DEFAULT '',
+ `to_xchan` char(255) NOT NULL DEFAULT '',
+ `account_id` int(10) unsigned NOT NULL DEFAULT '0',
+! `channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `title` text NOT NULL,
+ `body` mediumtext NOT NULL,
+ `attach` mediumtext NOT NULL,
+! `mid` char(255) NOT NULL DEFAULT '',
+! `parent_mid` char(255) NOT NULL DEFAULT '',
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `created` (`created`),
+ KEY `mail_flags` (`mail_flags`),
+ KEY `account_id` (`account_id`),
+***************
+*** 642,659 ****
+ KEY `to_xchan` (`to_xchan`),
+ KEY `mid` (`mid`),
+ KEY `parent_mid` (`parent_mid`),
+! KEY `expires` (`expires`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `manage` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `uid` int(11) NOT NULL,
+ `xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `xchan` (`xchan`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `menu` (
+ `menu_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `menu_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+--- 799,829 ----
+ KEY `to_xchan` (`to_xchan`),
+ KEY `mid` (`mid`),
+ KEY `parent_mid` (`parent_mid`),
+! KEY `expires` (`expires`),
+! KEY `convid` (`convid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `manage`
++ --
++
+ CREATE TABLE IF NOT EXISTS `manage` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `uid` int(11) NOT NULL DEFAULT '0',
+ `xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `xchan` (`xchan`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `menu`
++ --
++
+ CREATE TABLE IF NOT EXISTS `menu` (
+ `menu_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `menu_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+***************
+*** 666,671 ****
+--- 836,847 ----
+ KEY `menu_flags` (`menu_flags`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `menu_item`
++ --
++
+ CREATE TABLE IF NOT EXISTS `menu_item` (
+ `mitem_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `mitem_link` char(255) NOT NULL DEFAULT '',
+***************
+*** 675,681 ****
+ `allow_gid` mediumtext NOT NULL,
+ `deny_cid` mediumtext NOT NULL,
+ `deny_gid` mediumtext NOT NULL,
+! `mitem_channel_id` int(10) unsigned NOT NULL,
+ `mitem_menu_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `mitem_order` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`mitem_id`),
+--- 851,857 ----
+ `allow_gid` mediumtext NOT NULL,
+ `deny_cid` mediumtext NOT NULL,
+ `deny_gid` mediumtext NOT NULL,
+! `mitem_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `mitem_menu_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `mitem_order` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`mitem_id`),
+***************
+*** 684,705 ****
+ KEY `mitem_flags` (`mitem_flags`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `notify` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `hash` char(64) NOT NULL,
+! `name` char(255) NOT NULL,
+! `url` char(255) NOT NULL,
+! `photo` char(255) NOT NULL,
+! `date` datetime NOT NULL,
+ `msg` mediumtext NOT NULL,
+! `aid` int(11) NOT NULL,
+! `uid` int(11) NOT NULL,
+! `link` char(255) NOT NULL,
+ `parent` char(255) NOT NULL DEFAULT '',
+ `seen` tinyint(1) NOT NULL DEFAULT '0',
+! `type` int(11) NOT NULL,
+! `verb` char(255) NOT NULL,
+! `otype` char(16) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `type` (`type`),
+ KEY `seen` (`seen`),
+--- 860,887 ----
+ KEY `mitem_flags` (`mitem_flags`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `notify`
++ --
++
+ CREATE TABLE IF NOT EXISTS `notify` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `hash` char(64) NOT NULL DEFAULT '',
+! `name` char(255) NOT NULL DEFAULT '',
+! `url` char(255) NOT NULL DEFAULT '',
+! `photo` char(255) NOT NULL DEFAULT '',
+! `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `msg` mediumtext NOT NULL,
+! `aid` int(11) NOT NULL DEFAULT '0',
+! `uid` int(11) NOT NULL DEFAULT '0',
+! `link` char(255) NOT NULL DEFAULT '',
+ `parent` char(255) NOT NULL DEFAULT '',
+ `seen` tinyint(1) NOT NULL DEFAULT '0',
+! `type` int(11) NOT NULL DEFAULT '0',
+! `verb` char(255) NOT NULL DEFAULT '',
+! `otype` char(16) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `type` (`type`),
+ KEY `seen` (`seen`),
+***************
+*** 712,717 ****
+--- 894,905 ----
+ KEY `aid` (`aid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `obj`
++ --
++
+ CREATE TABLE IF NOT EXISTS `obj` (
+ `obj_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `obj_page` char(64) NOT NULL DEFAULT '',
+***************
+*** 731,736 ****
+--- 919,930 ----
+ KEY `obj_obj` (`obj_obj`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `outq`
++ --
++
+ CREATE TABLE IF NOT EXISTS `outq` (
+ `outq_hash` char(255) NOT NULL,
+ `outq_account` int(10) unsigned NOT NULL DEFAULT '0',
+***************
+*** 753,786 ****
+ KEY `outq_delivered` (`outq_delivered`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `pconfig` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL DEFAULT '0',
+! `cat` char(255) CHARACTER SET ascii NOT NULL,
+! `k` char(255) CHARACTER SET ascii NOT NULL,
+ `v` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `access` (`uid`,`cat`,`k`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `photo` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+! `uid` int(10) unsigned NOT NULL,
+ `xchan` char(255) NOT NULL DEFAULT '',
+! `resource_id` char(255) NOT NULL,
+! `created` datetime NOT NULL,
+! `edited` datetime NOT NULL,
+! `title` char(255) NOT NULL,
+ `description` text NOT NULL,
+! `album` char(255) NOT NULL,
+! `filename` char(255) NOT NULL,
+ `type` char(128) NOT NULL DEFAULT 'image/jpeg',
+! `height` smallint(6) NOT NULL,
+! `width` smallint(6) NOT NULL,
+ `size` int(10) unsigned NOT NULL DEFAULT '0',
+ `data` mediumblob NOT NULL,
+! `scale` tinyint(3) NOT NULL,
+ `profile` tinyint(1) NOT NULL DEFAULT '0',
+ `photo_flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `allow_cid` mediumtext NOT NULL,
+--- 947,992 ----
+ KEY `outq_delivered` (`outq_delivered`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `pconfig`
++ --
++
+ CREATE TABLE IF NOT EXISTS `pconfig` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL DEFAULT '0',
+! `cat` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+! `k` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `v` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `access` (`uid`,`cat`,`k`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `photo`
++ --
++
+ CREATE TABLE IF NOT EXISTS `photo` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+! `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `xchan` char(255) NOT NULL DEFAULT '',
+! `resource_id` char(255) NOT NULL DEFAULT '',
+! `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `title` char(255) NOT NULL DEFAULT '',
+ `description` text NOT NULL,
+! `album` char(255) NOT NULL DEFAULT '',
+! `filename` char(255) NOT NULL DEFAULT '',
+ `type` char(128) NOT NULL DEFAULT 'image/jpeg',
+! `height` smallint(6) NOT NULL DEFAULT '0',
+! `width` smallint(6) NOT NULL DEFAULT '0',
+ `size` int(10) unsigned NOT NULL DEFAULT '0',
+ `data` mediumblob NOT NULL,
+! `scale` tinyint(3) NOT NULL DEFAULT '0',
+ `profile` tinyint(1) NOT NULL DEFAULT '0',
+ `photo_flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `allow_cid` mediumtext NOT NULL,
+***************
+*** 800,805 ****
+--- 1006,1017 ----
+ KEY `resource_id` (`resource_id`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `poll`
++ --
++
+ CREATE TABLE IF NOT EXISTS `poll` (
+ `poll_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `poll_channel` int(10) unsigned NOT NULL DEFAULT '0',
+***************
+*** 812,817 ****
+--- 1024,1035 ----
+ KEY `poll_votes` (`poll_votes`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `poll_elm`
++ --
++
+ CREATE TABLE IF NOT EXISTS `poll_elm` (
+ `pelm_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `pelm_poll` int(10) unsigned NOT NULL DEFAULT '0',
+***************
+*** 823,838 ****
+ KEY `pelm_result` (`pelm_result`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `profdef` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `field_name` char(255) NOT NULL DEFAULT '',
+ `field_type` char(16) NOT NULL DEFAULT '',
+ `field_desc` char(255) NOT NULL DEFAULT '',
+ `field_help` char(255) NOT NULL DEFAULT '',
+! `field_inputs` mediumtext NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `field_name` (`field_name`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `profext` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+--- 1041,1068 ----
+ KEY `pelm_result` (`pelm_result`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `profdef`
++ --
++
+ CREATE TABLE IF NOT EXISTS `profdef` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `field_name` char(255) NOT NULL DEFAULT '',
+ `field_type` char(16) NOT NULL DEFAULT '',
+ `field_desc` char(255) NOT NULL DEFAULT '',
+ `field_help` char(255) NOT NULL DEFAULT '',
+! `field_inputs` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `field_name` (`field_name`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+!
+! -- --------------------------------------------------------
+!
+! --
+! -- Table structure for table `profext`
+! --
+
+ CREATE TABLE IF NOT EXISTS `profext` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+***************
+*** 844,882 ****
+ KEY `channel_id` (`channel_id`),
+ KEY `hash` (`hash`),
+ KEY `k` (`k`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `profile` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `profile_guid` char(64) NOT NULL DEFAULT '',
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+! `uid` int(11) NOT NULL,
+! `profile_name` char(255) NOT NULL,
+ `is_default` tinyint(1) NOT NULL DEFAULT '0',
+ `hide_friends` tinyint(1) NOT NULL DEFAULT '0',
+! `name` char(255) NOT NULL,
+! `pdesc` char(255) NOT NULL,
+ `chandesc` text NOT NULL,
+ `dob` char(32) NOT NULL DEFAULT '0000-00-00',
+ `dob_tz` char(255) NOT NULL DEFAULT 'UTC',
+! `address` char(255) NOT NULL,
+! `locality` char(255) NOT NULL,
+! `region` char(255) NOT NULL,
+! `postal_code` char(32) NOT NULL,
+! `country_name` char(255) NOT NULL,
+! `hometown` char(255) NOT NULL,
+! `gender` char(32) NOT NULL,
+! `marital` char(255) NOT NULL,
+ `with` text NOT NULL,
+ `howlong` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `sexual` char(255) NOT NULL,
+! `politic` char(255) NOT NULL,
+! `religion` char(255) NOT NULL,
+ `keywords` text NOT NULL,
+ `likes` text NOT NULL,
+ `dislikes` text NOT NULL,
+ `about` text NOT NULL,
+! `summary` char(255) NOT NULL,
+ `music` text NOT NULL,
+ `book` text NOT NULL,
+ `tv` text NOT NULL,
+--- 1074,1118 ----
+ KEY `channel_id` (`channel_id`),
+ KEY `hash` (`hash`),
+ KEY `k` (`k`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+!
+! -- --------------------------------------------------------
+!
+! --
+! -- Table structure for table `profile`
+! --
+
+ CREATE TABLE IF NOT EXISTS `profile` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `profile_guid` char(64) NOT NULL DEFAULT '',
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+! `uid` int(11) NOT NULL DEFAULT '0',
+! `profile_name` char(255) NOT NULL DEFAULT '',
+ `is_default` tinyint(1) NOT NULL DEFAULT '0',
+ `hide_friends` tinyint(1) NOT NULL DEFAULT '0',
+! `name` char(255) NOT NULL DEFAULT '',
+! `pdesc` char(255) NOT NULL DEFAULT '',
+ `chandesc` text NOT NULL,
+ `dob` char(32) NOT NULL DEFAULT '0000-00-00',
+ `dob_tz` char(255) NOT NULL DEFAULT 'UTC',
+! `address` char(255) NOT NULL DEFAULT '',
+! `locality` char(255) NOT NULL DEFAULT '',
+! `region` char(255) NOT NULL DEFAULT '',
+! `postal_code` char(32) NOT NULL DEFAULT '',
+! `country_name` char(255) NOT NULL DEFAULT '',
+! `hometown` char(255) NOT NULL DEFAULT '',
+! `gender` char(32) NOT NULL DEFAULT '',
+! `marital` char(255) NOT NULL DEFAULT '',
+ `with` text NOT NULL,
+ `howlong` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `sexual` char(255) NOT NULL DEFAULT '',
+! `politic` char(255) NOT NULL DEFAULT '',
+! `religion` char(255) NOT NULL DEFAULT '',
+ `keywords` text NOT NULL,
+ `likes` text NOT NULL,
+ `dislikes` text NOT NULL,
+ `about` text NOT NULL,
+! `summary` char(255) NOT NULL DEFAULT '',
+ `music` text NOT NULL,
+ `book` text NOT NULL,
+ `tv` text NOT NULL,
+***************
+*** 887,895 ****
+ `education` text NOT NULL,
+ `contact` text NOT NULL,
+ `channels` text NOT NULL,
+! `homepage` char(255) NOT NULL,
+! `photo` char(255) NOT NULL,
+! `thumb` char(255) NOT NULL,
+ `publish` tinyint(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `guid` (`profile_guid`,`uid`),
+--- 1123,1131 ----
+ `education` text NOT NULL,
+ `contact` text NOT NULL,
+ `channels` text NOT NULL,
+! `homepage` char(255) NOT NULL DEFAULT '',
+! `photo` char(255) NOT NULL DEFAULT '',
+! `thumb` char(255) NOT NULL DEFAULT '',
+ `publish` tinyint(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `guid` (`profile_guid`,`uid`),
+***************
+*** 908,920 ****
+ KEY `profile_guid` (`profile_guid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `profile_check` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `uid` int(10) unsigned NOT NULL,
+ `cid` int(10) unsigned NOT NULL DEFAULT '0',
+! `dfrn_id` char(255) NOT NULL,
+! `sec` char(255) NOT NULL,
+! `expire` int(11) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `cid` (`cid`),
+--- 1144,1162 ----
+ KEY `profile_guid` (`profile_guid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `profile_check`
++ --
++
+ CREATE TABLE IF NOT EXISTS `profile_check` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cid` int(10) unsigned NOT NULL DEFAULT '0',
+! `dfrn_id` char(255) NOT NULL DEFAULT '',
+! `sec` char(255) NOT NULL DEFAULT '',
+! `expire` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `cid` (`cid`),
+***************
+*** 923,951 ****
+ KEY `expire` (`expire`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `register` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `hash` char(255) NOT NULL,
+! `created` datetime NOT NULL,
+! `uid` int(10) unsigned NOT NULL,
+! `password` char(255) NOT NULL,
+! `language` char(16) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `hash` (`hash`),
+ KEY `created` (`created`),
+ KEY `uid` (`uid`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `session` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+! `sid` char(255) NOT NULL,
+ `data` text NOT NULL,
+! `expire` bigint(20) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `sid` (`sid`),
+ KEY `expire` (`expire`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `shares` (
+ `share_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `share_type` int(11) NOT NULL DEFAULT '0',
+--- 1165,1211 ----
+ KEY `expire` (`expire`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `register`
++ --
++
+ CREATE TABLE IF NOT EXISTS `register` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `hash` char(255) NOT NULL DEFAULT '',
+! `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+! `uid` int(10) unsigned NOT NULL DEFAULT '0',
+! `password` char(255) NOT NULL DEFAULT '',
+! `language` char(16) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `hash` (`hash`),
+ KEY `created` (`created`),
+ KEY `uid` (`uid`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+!
+! -- --------------------------------------------------------
+!
+! --
+! -- Table structure for table `session`
+! --
+
+ CREATE TABLE IF NOT EXISTS `session` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+! `sid` char(255) NOT NULL DEFAULT '',
+ `data` text NOT NULL,
+! `expire` bigint(20) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `sid` (`sid`),
+ KEY `expire` (`expire`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `shares`
++ --
++
+ CREATE TABLE IF NOT EXISTS `shares` (
+ `share_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `share_type` int(11) NOT NULL DEFAULT '0',
+***************
+*** 957,974 ****
+ KEY `share_xchan` (`share_xchan`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `sign` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `iid` int(10) unsigned NOT NULL DEFAULT '0',
+ `retract_iid` int(10) unsigned NOT NULL DEFAULT '0',
+ `signed_text` mediumtext NOT NULL,
+ `signature` text NOT NULL,
+! `signer` char(255) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `iid` (`iid`),
+ KEY `retract_iid` (`retract_iid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `site` (
+ `site_url` char(255) NOT NULL,
+ `site_access` int(11) NOT NULL DEFAULT '0',
+--- 1217,1246 ----
+ KEY `share_xchan` (`share_xchan`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `sign`
++ --
++
+ CREATE TABLE IF NOT EXISTS `sign` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `iid` int(10) unsigned NOT NULL DEFAULT '0',
+ `retract_iid` int(10) unsigned NOT NULL DEFAULT '0',
+ `signed_text` mediumtext NOT NULL,
+ `signature` text NOT NULL,
+! `signer` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `iid` (`iid`),
+ KEY `retract_iid` (`retract_iid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `site`
++ --
++
+ CREATE TABLE IF NOT EXISTS `site` (
+ `site_url` char(255) NOT NULL,
+ `site_access` int(11) NOT NULL DEFAULT '0',
+***************
+*** 988,996 ****
+--- 1260,1275 ----
+ KEY `site_register` (`site_register`),
+ KEY `site_access` (`site_access`),
+ KEY `site_sellpage` (`site_sellpage`),
++ KEY `site_pull` (`site_pull`),
+ KEY `site_realm` (`site_realm`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `source`
++ --
++
+ CREATE TABLE IF NOT EXISTS `source` (
+ `src_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `src_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+***************
+*** 1003,1014 ****
+ KEY `src_xchan` (`src_xchan`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `spam` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `uid` int(11) NOT NULL,
+ `spam` int(11) NOT NULL DEFAULT '0',
+ `ham` int(11) NOT NULL DEFAULT '0',
+! `term` char(255) NOT NULL,
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+--- 1282,1299 ----
+ KEY `src_xchan` (`src_xchan`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `spam`
++ --
++
+ CREATE TABLE IF NOT EXISTS `spam` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+! `uid` int(11) NOT NULL DEFAULT '0',
+ `spam` int(11) NOT NULL DEFAULT '0',
+ `ham` int(11) NOT NULL DEFAULT '0',
+! `term` char(255) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+***************
+*** 1017,1041 ****
+ KEY `term` (`term`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `sys_perms` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `cat` char(255) NOT NULL,
+! `k` char(255) NOT NULL,
+ `v` mediumtext NOT NULL,
+! `public_perm` tinyint(1) unsigned NOT NULL,
+ PRIMARY KEY (`id`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `term` (
+ `tid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `uid` int(10) unsigned NOT NULL DEFAULT '0',
+! `oid` int(10) unsigned NOT NULL,
+! `otype` tinyint(3) unsigned NOT NULL,
+! `type` tinyint(3) unsigned NOT NULL,
+! `term` char(255) NOT NULL,
+! `url` char(255) NOT NULL,
+! `imgurl` char(255) NOT NULL,
+ `term_hash` char(255) NOT NULL DEFAULT '',
+ `parent_hash` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`tid`),
+--- 1302,1338 ----
+ KEY `term` (`term`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `sys_perms`
++ --
++
+ CREATE TABLE IF NOT EXISTS `sys_perms` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `cat` char(255) NOT NULL DEFAULT '',
+! `k` char(255) NOT NULL DEFAULT '',
+ `v` mediumtext NOT NULL,
+! `public_perm` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `term`
++ --
++
+ CREATE TABLE IF NOT EXISTS `term` (
+ `tid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `uid` int(10) unsigned NOT NULL DEFAULT '0',
+! `oid` int(10) unsigned NOT NULL DEFAULT '0',
+! `otype` tinyint(3) unsigned NOT NULL DEFAULT '0',
+! `type` tinyint(3) unsigned NOT NULL DEFAULT '0',
+! `term` char(255) NOT NULL DEFAULT '',
+! `url` char(255) NOT NULL DEFAULT '',
+! `imgurl` char(255) NOT NULL DEFAULT '',
+ `term_hash` char(255) NOT NULL DEFAULT '',
+ `parent_hash` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`tid`),
+***************
+*** 1050,1071 ****
+ KEY `parent_hash` (`parent_hash`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `tokens` (
+! `id` varchar(40) NOT NULL,
+ `secret` text NOT NULL,
+! `client_id` varchar(20) NOT NULL,
+! `expires` bigint(20) unsigned NOT NULL,
+! `scope` varchar(200) NOT NULL,
+! `uid` int(11) NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `client_id` (`client_id`),
+ KEY `expires` (`expires`),
+ KEY `uid` (`uid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `updates` (
+ `ud_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `ud_hash` char(128) NOT NULL,
+ `ud_guid` char(255) NOT NULL DEFAULT '',
+ `ud_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `ud_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+--- 1347,1380 ----
+ KEY `parent_hash` (`parent_hash`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `tokens`
++ --
++
+ CREATE TABLE IF NOT EXISTS `tokens` (
+! `id` varchar(40) NOT NULL DEFAULT '',
+ `secret` text NOT NULL,
+! `client_id` varchar(20) NOT NULL DEFAULT '',
+! `expires` bigint(20) unsigned NOT NULL DEFAULT '0',
+! `scope` varchar(200) NOT NULL DEFAULT '',
+! `uid` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `client_id` (`client_id`),
+ KEY `expires` (`expires`),
+ KEY `uid` (`uid`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `updates`
++ --
++
+ CREATE TABLE IF NOT EXISTS `updates` (
+ `ud_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `ud_hash` char(128) NOT NULL DEFAULT '',
+ `ud_guid` char(255) NOT NULL DEFAULT '',
+ `ud_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `ud_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+***************
+*** 1080,1085 ****
+--- 1389,1400 ----
+ KEY `ud_last` (`ud_last`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `verify`
++ --
++
+ CREATE TABLE IF NOT EXISTS `verify` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `channel` int(10) unsigned NOT NULL DEFAULT '0',
+***************
+*** 1095,1100 ****
+--- 1410,1421 ----
+ KEY `created` (`created`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `vote`
++ --
++
+ CREATE TABLE IF NOT EXISTS `vote` (
+ `vote_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `vote_poll` int(11) NOT NULL DEFAULT '0',
+***************
+*** 1107,1112 ****
+--- 1428,1439 ----
+ KEY `vote_element` (`vote_element`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `xchan`
++ --
++
+ CREATE TABLE IF NOT EXISTS `xchan` (
+ `xchan_hash` char(255) NOT NULL,
+ `xchan_guid` char(255) NOT NULL DEFAULT '',
+***************
+*** 1139,1144 ****
+--- 1466,1477 ----
+ KEY `xchan_follow` (`xchan_follow`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `xchat`
++ --
++
+ CREATE TABLE IF NOT EXISTS `xchat` (
+ `xchat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `xchat_url` char(255) NOT NULL DEFAULT '',
+***************
+*** 1150,1162 ****
+ KEY `xchat_desc` (`xchat_desc`),
+ KEY `xchat_xchan` (`xchat_xchan`),
+ KEY `xchat_edited` (`xchat_edited`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `xconfig` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `xchan` char(255) NOT NULL,
+! `cat` char(255) NOT NULL,
+! `k` char(255) NOT NULL,
+ `v` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `xchan` (`xchan`),
+--- 1483,1501 ----
+ KEY `xchat_desc` (`xchat_desc`),
+ KEY `xchat_xchan` (`xchat_xchan`),
+ KEY `xchat_edited` (`xchat_edited`)
+! ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+!
+! -- --------------------------------------------------------
+!
+! --
+! -- Table structure for table `xconfig`
+! --
+
+ CREATE TABLE IF NOT EXISTS `xconfig` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `xchan` char(255) NOT NULL DEFAULT '',
+! `cat` char(255) NOT NULL DEFAULT '',
+! `k` char(255) NOT NULL DEFAULT '',
+ `v` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `xchan` (`xchan`),
+***************
+*** 1164,1169 ****
+--- 1503,1514 ----
+ KEY `k` (`k`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `xign`
++ --
++
+ CREATE TABLE IF NOT EXISTS `xign` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL DEFAULT '0',
+***************
+*** 1173,1178 ****
+--- 1518,1529 ----
+ KEY `xchan` (`xchan`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `xlink`
++ --
++
+ CREATE TABLE IF NOT EXISTS `xlink` (
+ `xlink_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `xlink_xchan` char(255) NOT NULL DEFAULT '',
+***************
+*** 1186,1191 ****
+--- 1537,1548 ----
+ KEY `xlink_rating` (`xlink_rating`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `xprof`
++ --
++
+ CREATE TABLE IF NOT EXISTS `xprof` (
+ `xprof_hash` char(255) NOT NULL,
+ `xprof_age` tinyint(3) unsigned NOT NULL DEFAULT '0',
+***************
+*** 1216,1224 ****
+ KEY `xprof_hometown` (`xprof_hometown`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+ CREATE TABLE IF NOT EXISTS `xtag` (
+ `xtag_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `xtag_hash` char(255) NOT NULL,
+ `xtag_term` char(255) NOT NULL DEFAULT '',
+ `xtag_flags` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`xtag_id`),
+--- 1573,1587 ----
+ KEY `xprof_hometown` (`xprof_hometown`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
++ -- --------------------------------------------------------
++
++ --
++ -- Table structure for table `xtag`
++ --
++
+ CREATE TABLE IF NOT EXISTS `xtag` (
+ `xtag_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+! `xtag_hash` char(255) NOT NULL DEFAULT '',
+ `xtag_term` char(255) NOT NULL DEFAULT '',
+ `xtag_flags` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`xtag_id`),
diff --git a/install/database.sql b/install/database.sql
deleted file mode 100644
index a49bd377c..000000000
--- a/install/database.sql
+++ /dev/null
@@ -1,1228 +0,0 @@
-SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
-
-
-CREATE TABLE IF NOT EXISTS `abook` (
- `abook_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `abook_account` int(10) unsigned NOT NULL,
- `abook_channel` int(10) unsigned NOT NULL,
- `abook_xchan` char(255) NOT NULL DEFAULT '',
- `abook_my_perms` int(11) NOT NULL DEFAULT '0',
- `abook_their_perms` int(11) NOT NULL DEFAULT '0',
- `abook_closeness` tinyint(3) unsigned NOT NULL DEFAULT '99',
- `abook_rating` int(11) NOT NULL DEFAULT '0',
- `abook_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `abook_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `abook_connected` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `abook_dob` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `abook_flags` int(11) NOT NULL DEFAULT '0',
- `abook_profile` char(64) NOT NULL DEFAULT '',
- PRIMARY KEY (`abook_id`),
- KEY `abook_account` (`abook_account`),
- KEY `abook_channel` (`abook_channel`),
- KEY `abook_xchan` (`abook_xchan`),
- KEY `abook_my_perms` (`abook_my_perms`),
- KEY `abook_their_perms` (`abook_their_perms`),
- KEY `abook_closeness` (`abook_closeness`),
- KEY `abook_created` (`abook_created`),
- KEY `abook_updated` (`abook_updated`),
- KEY `abook_flags` (`abook_flags`),
- KEY `abook_profile` (`abook_profile`),
- KEY `abook_dob` (`abook_dob`),
- KEY `abook_connected` (`abook_connected`),
- KEY `abook_rating` (`abook_rating`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `account` (
- `account_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `account_parent` int(10) unsigned NOT NULL DEFAULT '0',
- `account_default_channel` int(10) unsigned NOT NULL DEFAULT '0',
- `account_salt` char(32) NOT NULL DEFAULT '',
- `account_password` char(255) NOT NULL DEFAULT '',
- `account_email` char(255) NOT NULL DEFAULT '',
- `account_external` char(255) NOT NULL DEFAULT '',
- `account_language` char(16) NOT NULL DEFAULT 'en',
- `account_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `account_lastlog` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `account_flags` int(10) unsigned NOT NULL DEFAULT '0',
- `account_roles` int(10) unsigned NOT NULL DEFAULT '0',
- `account_reset` char(255) NOT NULL DEFAULT '',
- `account_expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `account_expire_notified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `account_service_class` char(32) NOT NULL DEFAULT '',
- `account_level` int(10) unsigned NOT NULL DEFAULT '0',
- `account_password_changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`account_id`),
- KEY `account_email` (`account_email`),
- KEY `account_service_class` (`account_service_class`),
- KEY `account_parent` (`account_parent`),
- KEY `account_flags` (`account_flags`),
- KEY `account_roles` (`account_roles`),
- KEY `account_lastlog` (`account_lastlog`),
- KEY `account_expires` (`account_expires`),
- KEY `account_default_channel` (`account_default_channel`),
- KEY `account_external` (`account_external`),
- KEY `account_level` (`account_level`),
- KEY `account_password_changed` (`account_password_changed`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `addon` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `name` char(255) NOT NULL,
- `version` char(255) NOT NULL,
- `installed` tinyint(1) NOT NULL DEFAULT '0',
- `hidden` tinyint(1) NOT NULL DEFAULT '0',
- `timestamp` bigint(20) NOT NULL DEFAULT '0',
- `plugin_admin` tinyint(1) NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`),
- KEY `hidden` (`hidden`),
- KEY `name` (`name`),
- KEY `installed` (`installed`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `app` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `app_id` char(255) NOT NULL DEFAULT '',
- `app_sig` char(255) NOT NULL DEFAULT '',
- `app_author` char(255) NOT NULL DEFAULT '',
- `app_name` char(255) NOT NULL DEFAULT '',
- `app_desc` text NOT NULL,
- `app_url` char(255) NOT NULL DEFAULT '',
- `app_photo` char(255) NOT NULL DEFAULT '',
- `app_version` char(255) NOT NULL DEFAULT '',
- `app_channel` int(11) NOT NULL DEFAULT '0',
- `app_addr` char(255) NOT NULL DEFAULT '',
- `app_price` char(255) NOT NULL DEFAULT '',
- `app_page` char(255) NOT NULL DEFAULT '',
- `app_requires` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`),
- KEY `app_id` (`app_id`),
- KEY `app_name` (`app_name`),
- KEY `app_url` (`app_url`),
- KEY `app_photo` (`app_photo`),
- KEY `app_version` (`app_version`),
- KEY `app_channel` (`app_channel`),
- KEY `app_price` (`app_price`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `attach` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(10) unsigned NOT NULL DEFAULT '0',
- `hash` char(64) NOT NULL DEFAULT '',
- `creator` char(128) NOT NULL DEFAULT '',
- `filename` char(255) NOT NULL DEFAULT '',
- `filetype` char(64) NOT NULL DEFAULT '',
- `filesize` int(10) unsigned NOT NULL DEFAULT '0',
- `revision` int(10) unsigned NOT NULL DEFAULT '0',
- `folder` char(64) NOT NULL DEFAULT '',
- `flags` int(10) unsigned NOT NULL DEFAULT '0',
- `data` longblob NOT NULL,
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `allow_cid` mediumtext NOT NULL,
- `allow_gid` mediumtext NOT NULL,
- `deny_cid` mediumtext NOT NULL,
- `deny_gid` mediumtext NOT NULL,
- PRIMARY KEY (`id`),
- KEY `aid` (`aid`),
- KEY `uid` (`uid`),
- KEY `hash` (`hash`),
- KEY `filename` (`filename`),
- KEY `filetype` (`filetype`),
- KEY `filesize` (`filesize`),
- KEY `created` (`created`),
- KEY `edited` (`edited`),
- KEY `revision` (`revision`),
- KEY `folder` (`folder`),
- KEY `flags` (`flags`),
- KEY `creator` (`creator`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `auth_codes` (
- `id` varchar(40) NOT NULL,
- `client_id` varchar(20) NOT NULL,
- `redirect_uri` varchar(200) NOT NULL,
- `expires` int(11) NOT NULL,
- `scope` varchar(250) NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `cache` (
- `k` char(255) NOT NULL,
- `v` text NOT NULL,
- `updated` datetime NOT NULL,
- PRIMARY KEY (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `channel` (
- `channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `channel_account_id` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_primary` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `channel_name` char(255) NOT NULL DEFAULT '',
- `channel_address` char(255) NOT NULL DEFAULT '',
- `channel_guid` char(255) NOT NULL DEFAULT '',
- `channel_guid_sig` text NOT NULL,
- `channel_hash` char(255) NOT NULL DEFAULT '',
- `channel_timezone` char(128) NOT NULL DEFAULT 'UTC',
- `channel_location` char(255) NOT NULL DEFAULT '',
- `channel_theme` char(255) NOT NULL DEFAULT '',
- `channel_startpage` char(255) NOT NULL DEFAULT '',
- `channel_pubkey` text NOT NULL,
- `channel_prvkey` text NOT NULL,
- `channel_notifyflags` int(10) unsigned NOT NULL DEFAULT '65535',
- `channel_pageflags` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_dirdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `channel_deleted` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `channel_max_anon_mail` int(10) unsigned NOT NULL DEFAULT '10',
- `channel_max_friend_req` int(10) unsigned NOT NULL DEFAULT '10',
- `channel_expire_days` int(11) NOT NULL DEFAULT '0',
- `channel_passwd_reset` char(255) NOT NULL DEFAULT '',
- `channel_default_group` char(255) NOT NULL DEFAULT '',
- `channel_allow_cid` mediumtext NOT NULL,
- `channel_allow_gid` mediumtext NOT NULL,
- `channel_deny_cid` mediumtext NOT NULL,
- `channel_deny_gid` mediumtext NOT NULL,
- `channel_r_stream` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_r_profile` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_r_photos` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_r_abook` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_w_stream` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_w_wall` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_w_tagwall` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_w_comment` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_w_mail` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_w_photos` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_w_chat` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_a_delegate` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_r_storage` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_w_storage` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_r_pages` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_w_pages` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_a_republish` int(10) unsigned NOT NULL DEFAULT '128',
- `channel_w_like` int(10) unsigned NOT NULL DEFAULT '128',
- PRIMARY KEY (`channel_id`),
- UNIQUE KEY `channel_address_unique` (`channel_address`),
- KEY `channel_account_id` (`channel_account_id`),
- KEY `channel_primary` (`channel_primary`),
- KEY `channel_name` (`channel_name`),
- KEY `channel_timezone` (`channel_timezone`),
- KEY `channel_location` (`channel_location`),
- KEY `channel_theme` (`channel_theme`),
- KEY `channel_notifyflags` (`channel_notifyflags`),
- KEY `channel_pageflags` (`channel_pageflags`),
- KEY `channel_max_anon_mail` (`channel_max_anon_mail`),
- KEY `channel_max_friend_req` (`channel_max_friend_req`),
- KEY `channel_default_gid` (`channel_default_group`),
- KEY `channel_r_stream` (`channel_r_stream`),
- KEY `channel_r_profile` (`channel_r_profile`),
- KEY `channel_r_photos` (`channel_r_photos`),
- KEY `channel_r_abook` (`channel_r_abook`),
- KEY `channel_w_stream` (`channel_w_stream`),
- KEY `channel_w_wall` (`channel_w_wall`),
- KEY `channel_w_tagwall` (`channel_w_tagwall`),
- KEY `channel_w_comment` (`channel_w_comment`),
- KEY `channel_w_mail` (`channel_w_mail`),
- KEY `channel_w_photos` (`channel_w_photos`),
- KEY `channel_w_chat` (`channel_w_chat`),
- KEY `channel_guid` (`channel_guid`),
- KEY `channel_hash` (`channel_hash`),
- KEY `channel_expire_days` (`channel_expire_days`),
- KEY `channel_a_delegate` (`channel_a_delegate`),
- KEY `channel_r_storage` (`channel_r_storage`),
- KEY `channel_w_storage` (`channel_w_storage`),
- KEY `channel_r_pages` (`channel_r_pages`),
- KEY `channel_w_pages` (`channel_w_pages`),
- KEY `channel_deleted` (`channel_deleted`),
- KEY `channel_a_republish` (`channel_a_republish`),
- KEY `channel_w_like` (`channel_w_like`),
- KEY `channel_dirdate` (`channel_dirdate`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `chat` (
- `chat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `chat_room` int(10) unsigned NOT NULL DEFAULT '0',
- `chat_xchan` char(255) NOT NULL DEFAULT '',
- `chat_text` mediumtext NOT NULL,
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`chat_id`),
- KEY `chat_room` (`chat_room`),
- KEY `chat_xchan` (`chat_xchan`),
- KEY `created` (`created`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `chatpresence` (
- `cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cp_room` int(10) unsigned NOT NULL DEFAULT '0',
- `cp_xchan` char(255) NOT NULL DEFAULT '',
- `cp_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `cp_status` char(255) NOT NULL,
- `cp_client` char(128) NOT NULL DEFAULT '',
- PRIMARY KEY (`cp_id`),
- KEY `cp_room` (`cp_room`),
- KEY `cp_xchan` (`cp_xchan`),
- KEY `cp_last` (`cp_last`),
- KEY `cp_status` (`cp_status`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `chatroom` (
- `cr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cr_aid` int(10) unsigned NOT NULL DEFAULT '0',
- `cr_uid` int(10) unsigned NOT NULL DEFAULT '0',
- `cr_name` char(255) NOT NULL DEFAULT '',
- `cr_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `cr_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `cr_expire` int(10) unsigned NOT NULL DEFAULT '0',
- `allow_cid` mediumtext NOT NULL,
- `allow_gid` mediumtext NOT NULL,
- `deny_cid` mediumtext NOT NULL,
- `deny_gid` mediumtext NOT NULL,
- PRIMARY KEY (`cr_id`),
- KEY `cr_aid` (`cr_aid`),
- KEY `cr_uid` (`cr_uid`),
- KEY `cr_name` (`cr_name`),
- KEY `cr_created` (`cr_created`),
- KEY `cr_edited` (`cr_edited`),
- KEY `cr_expire` (`cr_expire`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `clients` (
- `client_id` varchar(20) NOT NULL,
- `pw` varchar(20) NOT NULL,
- `redirect_uri` varchar(200) NOT NULL,
- `name` text,
- `icon` text,
- `uid` int(11) NOT NULL DEFAULT '0',
- PRIMARY KEY (`client_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `config` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cat` char(255) CHARACTER SET ascii NOT NULL,
- `k` char(255) CHARACTER SET ascii NOT NULL,
- `v` text NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `access` (`cat`,`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `conv` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `guid` char(255) NOT NULL,
- `recips` mediumtext NOT NULL,
- `uid` int(11) NOT NULL,
- `creator` char(255) NOT NULL,
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `subject` mediumtext NOT NULL,
- PRIMARY KEY (`id`),
- KEY `created` (`created`),
- KEY `updated` (`updated`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `event` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(11) NOT NULL,
- `event_xchan` char(255) NOT NULL DEFAULT '',
- `event_hash` char(255) NOT NULL DEFAULT '',
- `created` datetime NOT NULL,
- `edited` datetime NOT NULL,
- `start` datetime NOT NULL,
- `finish` datetime NOT NULL,
- `summary` text NOT NULL,
- `description` text NOT NULL,
- `location` text NOT NULL,
- `type` char(255) NOT NULL,
- `nofinish` tinyint(1) NOT NULL DEFAULT '0',
- `adjust` tinyint(1) NOT NULL DEFAULT '1',
- `ignore` tinyint(1) NOT NULL DEFAULT '0',
- `allow_cid` mediumtext NOT NULL,
- `allow_gid` mediumtext NOT NULL,
- `deny_cid` mediumtext NOT NULL,
- `deny_gid` mediumtext NOT NULL,
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `type` (`type`),
- KEY `start` (`start`),
- KEY `finish` (`finish`),
- KEY `adjust` (`adjust`),
- KEY `nofinish` (`nofinish`),
- KEY `ignore` (`ignore`),
- KEY `aid` (`aid`),
- KEY `event_hash` (`event_hash`),
- KEY `event_xchan` (`event_xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `fcontact` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `url` char(255) NOT NULL,
- `name` char(255) NOT NULL,
- `photo` char(255) NOT NULL,
- `request` char(255) NOT NULL,
- `nick` char(255) NOT NULL,
- `addr` char(255) NOT NULL,
- `batch` char(255) NOT NULL,
- `notify` char(255) NOT NULL,
- `poll` char(255) NOT NULL,
- `confirm` char(255) NOT NULL,
- `priority` tinyint(1) NOT NULL,
- `network` char(32) NOT NULL,
- `alias` char(255) NOT NULL,
- `pubkey` text NOT NULL,
- `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`id`),
- KEY `addr` (`addr`),
- KEY `network` (`network`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `ffinder` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `uid` int(10) unsigned NOT NULL,
- `cid` int(10) unsigned NOT NULL,
- `fid` int(10) unsigned NOT NULL,
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `cid` (`cid`),
- KEY `fid` (`fid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `fserver` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `server` char(255) NOT NULL,
- `posturl` char(255) NOT NULL,
- `key` text NOT NULL,
- PRIMARY KEY (`id`),
- KEY `server` (`server`),
- KEY `posturl` (`posturl`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `fsuggest` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `uid` int(11) NOT NULL,
- `cid` int(11) NOT NULL,
- `name` char(255) NOT NULL,
- `url` char(255) NOT NULL,
- `request` char(255) NOT NULL,
- `photo` char(255) NOT NULL,
- `note` text NOT NULL,
- `created` datetime NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `groups` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `hash` char(255) NOT NULL DEFAULT '',
- `uid` int(10) unsigned NOT NULL,
- `visible` tinyint(1) NOT NULL DEFAULT '0',
- `deleted` tinyint(1) NOT NULL DEFAULT '0',
- `name` char(255) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `visible` (`visible`),
- KEY `deleted` (`deleted`),
- KEY `hash` (`hash`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `group_member` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `uid` int(10) unsigned NOT NULL,
- `gid` int(10) unsigned NOT NULL,
- `xchan` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `gid` (`gid`),
- KEY `xchan` (`xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `hook` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `hook` char(255) NOT NULL,
- `file` char(255) NOT NULL,
- `function` char(255) NOT NULL,
- `priority` int(11) unsigned NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`),
- KEY `hook` (`hook`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `hubloc` (
- `hubloc_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `hubloc_guid` char(255) NOT NULL DEFAULT '',
- `hubloc_guid_sig` text NOT NULL,
- `hubloc_hash` char(255) NOT NULL,
- `hubloc_addr` char(255) NOT NULL DEFAULT '',
- `hubloc_network` char(32) NOT NULL DEFAULT '',
- `hubloc_flags` int(10) unsigned NOT NULL DEFAULT '0',
- `hubloc_status` int(10) unsigned NOT NULL DEFAULT '0',
- `hubloc_url` char(255) NOT NULL DEFAULT '',
- `hubloc_url_sig` text NOT NULL,
- `hubloc_host` char(255) NOT NULL DEFAULT '',
- `hubloc_callback` char(255) NOT NULL DEFAULT '',
- `hubloc_connect` char(255) NOT NULL DEFAULT '',
- `hubloc_sitekey` text NOT NULL,
- `hubloc_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `hubloc_connected` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`hubloc_id`),
- KEY `hubloc_url` (`hubloc_url`),
- KEY `hubloc_guid` (`hubloc_guid`),
- KEY `hubloc_flags` (`hubloc_flags`),
- KEY `hubloc_connect` (`hubloc_connect`),
- KEY `hubloc_host` (`hubloc_host`),
- KEY `hubloc_addr` (`hubloc_addr`),
- KEY `hubloc_network` (`hubloc_network`),
- KEY `hubloc_updated` (`hubloc_updated`),
- KEY `hubloc_connected` (`hubloc_connected`),
- KEY `hubloc_status` (`hubloc_status`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `issue` (
- `issue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `issue_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `issue_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `issue_assigned` char(255) NOT NULL,
- `issue_priority` int(11) NOT NULL,
- `issue_status` int(11) NOT NULL,
- `issue_component` char(255) NOT NULL,
- PRIMARY KEY (`issue_id`),
- KEY `issue_created` (`issue_created`),
- KEY `issue_updated` (`issue_updated`),
- KEY `issue_assigned` (`issue_assigned`),
- KEY `issue_priority` (`issue_priority`),
- KEY `issue_status` (`issue_status`),
- KEY `issue_component` (`issue_component`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `item` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(10) unsigned NOT NULL DEFAULT '0',
- `parent` int(10) unsigned NOT NULL DEFAULT '0',
- `parent_mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
- `thr_parent` char(255) NOT NULL DEFAULT '',
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `comments_closed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `owner_xchan` char(255) NOT NULL DEFAULT '',
- `author_xchan` char(255) NOT NULL DEFAULT '',
- `source_xchan` char(255) NOT NULL DEFAULT '',
- `mimetype` char(255) NOT NULL DEFAULT '',
- `title` text NOT NULL DEFAULT '',
- `body` mediumtext NOT NULL DEFAULT '',
- `app` char(255) NOT NULL DEFAULT '',
- `lang` char(64) NOT NULL DEFAULT '',
- `revision` int(10) unsigned NOT NULL DEFAULT '0',
- `verb` char(255) NOT NULL DEFAULT '',
- `obj_type` char(255) NOT NULL DEFAULT '',
- `object` text NOT NULL DEFAULT '',
- `tgt_type` char(255) NOT NULL DEFAULT '',
- `target` text NOT NULL DEFAULT '',
- `layout_mid` char(255) NOT NULL DEFAULT '',
- `postopts` text NOT NULL DEFAULT '',
- `route` text NOT NULL DEFAULT '',
- `llink` char(255) NOT NULL DEFAULT '',
- `plink` char(255) NOT NULL DEFAULT '',
- `resource_id` char(255) NOT NULL DEFAULT '',
- `resource_type` char(16) NOT NULL DEFAULT '',
- `attach` mediumtext NOT NULL DEFAULT '',
- `sig` text NOT NULL DEFAULT '',
- `diaspora_meta` mediumtext NOT NULL DEFAULT '',
- `location` char(255) NOT NULL DEFAULT '',
- `coord` char(255) NOT NULL DEFAULT '',
- `public_policy` char(255) NOT NULL DEFAULT '',
- `comment_policy` char(255) NOT NULL DEFAULT '',
- `allow_cid` mediumtext NOT NULL DEFAULT '',
- `allow_gid` mediumtext NOT NULL DEFAULT '',
- `deny_cid` mediumtext NOT NULL DEFAULT '',
- `deny_gid` mediumtext NOT NULL DEFAULT '',
- `item_restrict` int(11) NOT NULL DEFAULT '0',
- `item_flags` int(11) NOT NULL DEFAULT '0',
- `item_private` tinyint(4) NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `parent` (`parent`),
- KEY `created` (`created`),
- KEY `edited` (`edited`),
- KEY `received` (`received`),
- KEY `uid_commented` (`uid`,`commented`),
- KEY `uid_created` (`uid`,`created`),
- KEY `changed` (`changed`),
- KEY `comments_closed` (`comments_closed`),
- KEY `aid` (`aid`),
- KEY `owner_xchan` (`owner_xchan`),
- KEY `author_xchan` (`author_xchan`),
- KEY `resource_type` (`resource_type`),
- KEY `item_restrict` (`item_restrict`),
- KEY `item_flags` (`item_flags`),
- KEY `commented` (`commented`),
- KEY `verb` (`verb`),
- KEY `item_private` (`item_private`),
- KEY `llink` (`llink`),
- KEY `expires` (`expires`),
- KEY `revision` (`revision`),
- KEY `mimetype` (`mimetype`),
- KEY `mid` (`mid`),
- KEY `parent_mid` (`parent_mid`),
- KEY `uid_mid` (`mid`,`uid`),
- KEY `public_policy` (`public_policy`),
- KEY `comment_policy` (`comment_policy`),
- KEY `layout_mid` (`layout_mid`),
- FULLTEXT KEY `title` (`title`),
- FULLTEXT KEY `body` (`body`),
- FULLTEXT KEY `allow_cid` (`allow_cid`),
- FULLTEXT KEY `allow_gid` (`allow_gid`),
- FULLTEXT KEY `deny_cid` (`deny_cid`),
- FULLTEXT KEY `deny_gid` (`deny_gid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `item_id` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `iid` int(11) NOT NULL,
- `uid` int(11) NOT NULL,
- `sid` char(255) NOT NULL,
- `service` char(255) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `sid` (`sid`),
- KEY `service` (`service`),
- KEY `iid` (`iid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `likes` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `channel_id` int(11) unsigned NOT NULL DEFAULT '0',
- `liker` char(128) NOT NULL DEFAULT '',
- `likee` char(128) NOT NULL DEFAULT '',
- `iid` int(10) unsigned NOT NULL DEFAULT '0',
- `verb` char(255) NOT NULL DEFAULT '',
- `target_type` char(255) NOT NULL DEFAULT '',
- `target_id` char(128) NOT NULL DEFAULT '',
- `target` mediumtext NOT NULL,
- PRIMARY KEY (`id`),
- KEY `channel_id` (`channel_id`),
- KEY `liker` (`liker`),
- KEY `likee` (`likee`),
- KEY `iid` (`iid`),
- KEY `verb` (`verb`),
- KEY `target_type` (`target_type`),
- KEY `target_id` (`target_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `mail` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `convid` int(10) unsigned NOT NULL DEFAULT '0',
- `mail_flags` int(10) unsigned NOT NULL DEFAULT '0',
- `from_xchan` char(255) NOT NULL DEFAULT '',
- `to_xchan` char(255) NOT NULL DEFAULT '',
- `account_id` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_id` int(10) unsigned NOT NULL,
- `title` text NOT NULL,
- `body` mediumtext NOT NULL,
- `attach` mediumtext NOT NULL,
- `mid` char(255) NOT NULL,
- `parent_mid` char(255) NOT NULL,
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`id`),
- KEY `convid` (`convid`),
- KEY `created` (`created`),
- KEY `mail_flags` (`mail_flags`),
- KEY `account_id` (`account_id`),
- KEY `channel_id` (`channel_id`),
- KEY `from_xchan` (`from_xchan`),
- KEY `to_xchan` (`to_xchan`),
- KEY `mid` (`mid`),
- KEY `parent_mid` (`parent_mid`),
- KEY `expires` (`expires`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `manage` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `uid` int(11) NOT NULL,
- `xchan` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `xchan` (`xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `menu` (
- `menu_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `menu_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
- `menu_name` char(255) NOT NULL DEFAULT '',
- `menu_desc` char(255) NOT NULL DEFAULT '',
- `menu_flags` int(11) NOT NULL DEFAULT '0',
- PRIMARY KEY (`menu_id`),
- KEY `menu_channel_id` (`menu_channel_id`),
- KEY `menu_name` (`menu_name`),
- KEY `menu_flags` (`menu_flags`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `menu_item` (
- `mitem_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `mitem_link` char(255) NOT NULL DEFAULT '',
- `mitem_desc` char(255) NOT NULL DEFAULT '',
- `mitem_flags` int(11) NOT NULL DEFAULT '0',
- `allow_cid` mediumtext NOT NULL,
- `allow_gid` mediumtext NOT NULL,
- `deny_cid` mediumtext NOT NULL,
- `deny_gid` mediumtext NOT NULL,
- `mitem_channel_id` int(10) unsigned NOT NULL,
- `mitem_menu_id` int(10) unsigned NOT NULL DEFAULT '0',
- `mitem_order` int(11) NOT NULL DEFAULT '0',
- PRIMARY KEY (`mitem_id`),
- KEY `mitem_channel_id` (`mitem_channel_id`),
- KEY `mitem_menu_id` (`mitem_menu_id`),
- KEY `mitem_flags` (`mitem_flags`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `notify` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `hash` char(64) NOT NULL,
- `name` char(255) NOT NULL,
- `url` char(255) NOT NULL,
- `photo` char(255) NOT NULL,
- `date` datetime NOT NULL,
- `msg` mediumtext NOT NULL,
- `aid` int(11) NOT NULL,
- `uid` int(11) NOT NULL,
- `link` char(255) NOT NULL,
- `parent` char(255) NOT NULL DEFAULT '',
- `seen` tinyint(1) NOT NULL DEFAULT '0',
- `type` int(11) NOT NULL,
- `verb` char(255) NOT NULL,
- `otype` char(16) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `type` (`type`),
- KEY `seen` (`seen`),
- KEY `uid` (`uid`),
- KEY `date` (`date`),
- KEY `hash` (`hash`),
- KEY `parent` (`parent`),
- KEY `link` (`link`),
- KEY `otype` (`otype`),
- KEY `aid` (`aid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `obj` (
- `obj_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `obj_page` char(64) NOT NULL DEFAULT '',
- `obj_verb` char(255) NOT NULL DEFAULT '',
- `obj_type` int(10) unsigned NOT NULL DEFAULT '0',
- `obj_obj` char(255) NOT NULL DEFAULT '',
- `obj_channel` int(10) unsigned NOT NULL DEFAULT '0',
- `allow_cid` mediumtext NOT NULL,
- `allow_gid` mediumtext NOT NULL,
- `deny_cid` mediumtext NOT NULL,
- `deny_gid` mediumtext NOT NULL,
- PRIMARY KEY (`obj_id`),
- KEY `obj_verb` (`obj_verb`),
- KEY `obj_page` (`obj_page`),
- KEY `obj_type` (`obj_type`),
- KEY `obj_channel` (`obj_channel`),
- KEY `obj_obj` (`obj_obj`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `outq` (
- `outq_hash` char(255) NOT NULL,
- `outq_account` int(10) unsigned NOT NULL DEFAULT '0',
- `outq_channel` int(10) unsigned NOT NULL DEFAULT '0',
- `outq_driver` char(32) NOT NULL DEFAULT '',
- `outq_posturl` char(255) NOT NULL DEFAULT '',
- `outq_async` tinyint(1) NOT NULL DEFAULT '0',
- `outq_delivered` tinyint(1) NOT NULL DEFAULT '0',
- `outq_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `outq_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `outq_notify` mediumtext NOT NULL,
- `outq_msg` mediumtext NOT NULL,
- PRIMARY KEY (`outq_hash`),
- KEY `outq_account` (`outq_account`),
- KEY `outq_channel` (`outq_channel`),
- KEY `outq_hub` (`outq_posturl`),
- KEY `outq_created` (`outq_created`),
- KEY `outq_updated` (`outq_updated`),
- KEY `outq_async` (`outq_async`),
- KEY `outq_delivered` (`outq_delivered`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `pconfig` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `uid` int(11) NOT NULL DEFAULT '0',
- `cat` char(255) CHARACTER SET ascii NOT NULL,
- `k` char(255) CHARACTER SET ascii NOT NULL,
- `v` mediumtext NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `access` (`uid`,`cat`,`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `photo` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(10) unsigned NOT NULL,
- `xchan` char(255) NOT NULL DEFAULT '',
- `resource_id` char(255) NOT NULL,
- `created` datetime NOT NULL,
- `edited` datetime NOT NULL,
- `title` char(255) NOT NULL,
- `description` text NOT NULL,
- `album` char(255) NOT NULL,
- `filename` char(255) NOT NULL,
- `type` char(128) NOT NULL DEFAULT 'image/jpeg',
- `height` smallint(6) NOT NULL,
- `width` smallint(6) NOT NULL,
- `size` int(10) unsigned NOT NULL DEFAULT '0',
- `data` mediumblob NOT NULL,
- `scale` tinyint(3) NOT NULL,
- `profile` tinyint(1) NOT NULL DEFAULT '0',
- `photo_flags` int(10) unsigned NOT NULL DEFAULT '0',
- `allow_cid` mediumtext NOT NULL,
- `allow_gid` mediumtext NOT NULL,
- `deny_cid` mediumtext NOT NULL,
- `deny_gid` mediumtext NOT NULL,
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `album` (`album`),
- KEY `scale` (`scale`),
- KEY `profile` (`profile`),
- KEY `photo_flags` (`photo_flags`),
- KEY `type` (`type`),
- KEY `aid` (`aid`),
- KEY `xchan` (`xchan`),
- KEY `size` (`size`),
- KEY `resource_id` (`resource_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `poll` (
- `poll_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `poll_channel` int(10) unsigned NOT NULL DEFAULT '0',
- `poll_desc` text NOT NULL,
- `poll_flags` int(11) NOT NULL DEFAULT '0',
- `poll_votes` int(11) NOT NULL DEFAULT '0',
- PRIMARY KEY (`poll_id`),
- KEY `poll_channel` (`poll_channel`),
- KEY `poll_flags` (`poll_flags`),
- KEY `poll_votes` (`poll_votes`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `poll_elm` (
- `pelm_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `pelm_poll` int(10) unsigned NOT NULL DEFAULT '0',
- `pelm_desc` text NOT NULL,
- `pelm_flags` int(11) NOT NULL DEFAULT '0',
- `pelm_result` float NOT NULL DEFAULT '0',
- PRIMARY KEY (`pelm_id`),
- KEY `pelm_poll` (`pelm_poll`),
- KEY `pelm_result` (`pelm_result`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `profdef` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `field_name` char(255) NOT NULL DEFAULT '',
- `field_type` char(16) NOT NULL DEFAULT '',
- `field_desc` char(255) NOT NULL DEFAULT '',
- `field_help` char(255) NOT NULL DEFAULT '',
- `field_inputs` mediumtext NOT NULL DEFAULT '',
- PRIMARY KEY (`id`),
- KEY `field_name` (`field_name`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `profext` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `channel_id` int(10) unsigned NOT NULL DEFAULT '0',
- `hash` char(255) NOT NULL DEFAULT '',
- `k` char(255) NOT NULL DEFAULT '',
- `v` mediumtext NOT NULL,
- PRIMARY KEY (`id`),
- KEY `channel_id` (`channel_id`),
- KEY `hash` (`hash`),
- KEY `k` (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `profile` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `profile_guid` char(64) NOT NULL DEFAULT '',
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(11) NOT NULL,
- `profile_name` char(255) NOT NULL,
- `is_default` tinyint(1) NOT NULL DEFAULT '0',
- `hide_friends` tinyint(1) NOT NULL DEFAULT '0',
- `name` char(255) NOT NULL,
- `pdesc` char(255) NOT NULL,
- `chandesc` text NOT NULL,
- `dob` char(32) NOT NULL DEFAULT '0000-00-00',
- `dob_tz` char(255) NOT NULL DEFAULT 'UTC',
- `address` char(255) NOT NULL,
- `locality` char(255) NOT NULL,
- `region` char(255) NOT NULL,
- `postal_code` char(32) NOT NULL,
- `country_name` char(255) NOT NULL,
- `hometown` char(255) NOT NULL,
- `gender` char(32) NOT NULL,
- `marital` char(255) NOT NULL,
- `with` text NOT NULL,
- `howlong` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `sexual` char(255) NOT NULL,
- `politic` char(255) NOT NULL,
- `religion` char(255) NOT NULL,
- `keywords` text NOT NULL,
- `likes` text NOT NULL,
- `dislikes` text NOT NULL,
- `about` text NOT NULL,
- `summary` char(255) NOT NULL,
- `music` text NOT NULL,
- `book` text NOT NULL,
- `tv` text NOT NULL,
- `film` text NOT NULL,
- `interest` text NOT NULL,
- `romance` text NOT NULL,
- `work` text NOT NULL,
- `education` text NOT NULL,
- `contact` text NOT NULL,
- `channels` text NOT NULL,
- `homepage` char(255) NOT NULL,
- `photo` char(255) NOT NULL,
- `thumb` char(255) NOT NULL,
- `publish` tinyint(1) NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`),
- UNIQUE KEY `guid` (`profile_guid`,`uid`),
- KEY `uid` (`uid`),
- KEY `locality` (`locality`),
- KEY `hometown` (`hometown`),
- KEY `gender` (`gender`),
- KEY `marital` (`marital`),
- KEY `sexual` (`sexual`),
- KEY `publish` (`publish`),
- KEY `aid` (`aid`),
- KEY `is_default` (`is_default`),
- KEY `hide_friends` (`hide_friends`),
- KEY `postal_code` (`postal_code`),
- KEY `country_name` (`country_name`),
- KEY `profile_guid` (`profile_guid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `profile_check` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `uid` int(10) unsigned NOT NULL,
- `cid` int(10) unsigned NOT NULL DEFAULT '0',
- `dfrn_id` char(255) NOT NULL,
- `sec` char(255) NOT NULL,
- `expire` int(11) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `cid` (`cid`),
- KEY `dfrn_id` (`dfrn_id`),
- KEY `sec` (`sec`),
- KEY `expire` (`expire`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `register` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `hash` char(255) NOT NULL,
- `created` datetime NOT NULL,
- `uid` int(10) unsigned NOT NULL,
- `password` char(255) NOT NULL,
- `language` char(16) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `hash` (`hash`),
- KEY `created` (`created`),
- KEY `uid` (`uid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `session` (
- `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
- `sid` char(255) NOT NULL,
- `data` text NOT NULL,
- `expire` bigint(20) unsigned NOT NULL,
- PRIMARY KEY (`id`),
- KEY `sid` (`sid`),
- KEY `expire` (`expire`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `shares` (
- `share_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `share_type` int(11) NOT NULL DEFAULT '0',
- `share_target` int(10) unsigned NOT NULL DEFAULT '0',
- `share_xchan` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`share_id`),
- KEY `share_type` (`share_type`),
- KEY `share_target` (`share_target`),
- KEY `share_xchan` (`share_xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `sign` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `iid` int(10) unsigned NOT NULL DEFAULT '0',
- `retract_iid` int(10) unsigned NOT NULL DEFAULT '0',
- `signed_text` mediumtext NOT NULL,
- `signature` text NOT NULL,
- `signer` char(255) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `iid` (`iid`),
- KEY `retract_iid` (`retract_iid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `site` (
- `site_url` char(255) NOT NULL,
- `site_access` int(11) NOT NULL DEFAULT '0',
- `site_flags` int(11) NOT NULL DEFAULT '0',
- `site_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `site_pull` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `site_sync` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `site_directory` char(255) NOT NULL DEFAULT '',
- `site_register` int(11) NOT NULL DEFAULT '0',
- `site_sellpage` char(255) NOT NULL DEFAULT '',
- `site_location` char(255) NOT NULL DEFAULT '',
- `site_realm` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`site_url`),
- KEY `site_flags` (`site_flags`),
- KEY `site_update` (`site_update`),
- KEY `site_directory` (`site_directory`),
- KEY `site_register` (`site_register`),
- KEY `site_access` (`site_access`),
- KEY `site_sellpage` (`site_sellpage`),
- KEY `site_realm` (`site_realm`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `source` (
- `src_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `src_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
- `src_channel_xchan` char(255) NOT NULL DEFAULT '',
- `src_xchan` char(255) NOT NULL DEFAULT '',
- `src_patt` mediumtext NOT NULL,
- PRIMARY KEY (`src_id`),
- KEY `src_channel_id` (`src_channel_id`),
- KEY `src_channel_xchan` (`src_channel_xchan`),
- KEY `src_xchan` (`src_xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `spam` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `uid` int(11) NOT NULL,
- `spam` int(11) NOT NULL DEFAULT '0',
- `ham` int(11) NOT NULL DEFAULT '0',
- `term` char(255) NOT NULL,
- `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `spam` (`spam`),
- KEY `ham` (`ham`),
- KEY `term` (`term`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `sys_perms` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `cat` char(255) NOT NULL,
- `k` char(255) NOT NULL,
- `v` mediumtext NOT NULL,
- `public_perm` tinyint(1) unsigned NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `term` (
- `tid` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `aid` int(10) unsigned NOT NULL DEFAULT '0',
- `uid` int(10) unsigned NOT NULL DEFAULT '0',
- `oid` int(10) unsigned NOT NULL,
- `otype` tinyint(3) unsigned NOT NULL,
- `type` tinyint(3) unsigned NOT NULL,
- `term` char(255) NOT NULL,
- `url` char(255) NOT NULL,
- `imgurl` char(255) NOT NULL,
- `term_hash` char(255) NOT NULL DEFAULT '',
- `parent_hash` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`tid`),
- KEY `oid` (`oid`),
- KEY `otype` (`otype`),
- KEY `type` (`type`),
- KEY `term` (`term`),
- KEY `uid` (`uid`),
- KEY `aid` (`aid`),
- KEY `imgurl` (`imgurl`),
- KEY `term_hash` (`term_hash`),
- KEY `parent_hash` (`parent_hash`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `tokens` (
- `id` varchar(40) NOT NULL,
- `secret` text NOT NULL,
- `client_id` varchar(20) NOT NULL,
- `expires` bigint(20) unsigned NOT NULL,
- `scope` varchar(200) NOT NULL,
- `uid` int(11) NOT NULL,
- PRIMARY KEY (`id`),
- KEY `client_id` (`client_id`),
- KEY `expires` (`expires`),
- KEY `uid` (`uid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `updates` (
- `ud_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `ud_hash` char(128) NOT NULL,
- `ud_guid` char(255) NOT NULL DEFAULT '',
- `ud_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `ud_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `ud_flags` int(11) NOT NULL DEFAULT '0',
- `ud_addr` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`ud_id`),
- KEY `ud_date` (`ud_date`),
- KEY `ud_guid` (`ud_guid`),
- KEY `ud_hash` (`ud_hash`),
- KEY `ud_flags` (`ud_flags`),
- KEY `ud_addr` (`ud_addr`),
- KEY `ud_last` (`ud_last`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `verify` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `channel` int(10) unsigned NOT NULL DEFAULT '0',
- `type` char(32) NOT NULL DEFAULT '',
- `token` char(255) NOT NULL DEFAULT '',
- `meta` char(255) NOT NULL DEFAULT '',
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`id`),
- KEY `channel` (`channel`),
- KEY `type` (`type`),
- KEY `token` (`token`),
- KEY `meta` (`meta`),
- KEY `created` (`created`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `vote` (
- `vote_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `vote_poll` int(11) NOT NULL DEFAULT '0',
- `vote_element` int(11) NOT NULL DEFAULT '0',
- `vote_result` text NOT NULL,
- `vote_xchan` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`vote_id`),
- UNIQUE KEY `vote_vote` (`vote_poll`,`vote_element`,`vote_xchan`),
- KEY `vote_poll` (`vote_poll`),
- KEY `vote_element` (`vote_element`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `xchan` (
- `xchan_hash` char(255) NOT NULL,
- `xchan_guid` char(255) NOT NULL DEFAULT '',
- `xchan_guid_sig` text NOT NULL,
- `xchan_pubkey` text NOT NULL,
- `xchan_photo_mimetype` char(32) NOT NULL DEFAULT 'image/jpeg',
- `xchan_photo_l` char(255) NOT NULL DEFAULT '',
- `xchan_photo_m` char(255) NOT NULL DEFAULT '',
- `xchan_photo_s` char(255) NOT NULL DEFAULT '',
- `xchan_addr` char(255) NOT NULL DEFAULT '',
- `xchan_url` char(255) NOT NULL DEFAULT '',
- `xchan_connurl` char(255) NOT NULL DEFAULT '',
- `xchan_follow` char(255) NOT NULL DEFAULT '',
- `xchan_connpage` char(255) NOT NULL DEFAULT '',
- `xchan_name` char(255) NOT NULL DEFAULT '',
- `xchan_network` char(255) NOT NULL DEFAULT '',
- `xchan_instance_url` char(255) NOT NULL DEFAULT '',
- `xchan_flags` int(10) unsigned NOT NULL DEFAULT '0',
- `xchan_photo_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `xchan_name_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`xchan_hash`),
- KEY `xchan_guid` (`xchan_guid`),
- KEY `xchan_addr` (`xchan_addr`),
- KEY `xchan_name` (`xchan_name`),
- KEY `xchan_network` (`xchan_network`),
- KEY `xchan_url` (`xchan_url`),
- KEY `xchan_flags` (`xchan_flags`),
- KEY `xchan_connurl` (`xchan_connurl`),
- KEY `xchan_instance_url` (`xchan_instance_url`),
- KEY `xchan_follow` (`xchan_follow`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `xchat` (
- `xchat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `xchat_url` char(255) NOT NULL DEFAULT '',
- `xchat_desc` char(255) NOT NULL DEFAULT '',
- `xchat_xchan` char(255) NOT NULL DEFAULT '',
- `xchat_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`xchat_id`),
- KEY `xchat_url` (`xchat_url`),
- KEY `xchat_desc` (`xchat_desc`),
- KEY `xchat_xchan` (`xchat_xchan`),
- KEY `xchat_edited` (`xchat_edited`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `xconfig` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `xchan` char(255) NOT NULL,
- `cat` char(255) NOT NULL,
- `k` char(255) NOT NULL,
- `v` mediumtext NOT NULL,
- PRIMARY KEY (`id`),
- KEY `xchan` (`xchan`),
- KEY `cat` (`cat`),
- KEY `k` (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `xign` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `uid` int(11) NOT NULL DEFAULT '0',
- `xchan` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`id`),
- KEY `uid` (`uid`),
- KEY `xchan` (`xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `xlink` (
- `xlink_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `xlink_xchan` char(255) NOT NULL DEFAULT '',
- `xlink_link` char(255) NOT NULL DEFAULT '',
- `xlink_rating` int(11) NOT NULL DEFAULT '0',
- `xlink_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- PRIMARY KEY (`xlink_id`),
- KEY `xlink_xchan` (`xlink_xchan`),
- KEY `xlink_link` (`xlink_link`),
- KEY `xlink_updated` (`xlink_updated`),
- KEY `xlink_rating` (`xlink_rating`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `xprof` (
- `xprof_hash` char(255) NOT NULL,
- `xprof_age` tinyint(3) unsigned NOT NULL DEFAULT '0',
- `xprof_desc` char(255) NOT NULL DEFAULT '',
- `xprof_dob` char(12) NOT NULL DEFAULT '',
- `xprof_gender` char(255) NOT NULL DEFAULT '',
- `xprof_marital` char(255) NOT NULL DEFAULT '',
- `xprof_sexual` char(255) NOT NULL DEFAULT '',
- `xprof_locale` char(255) NOT NULL DEFAULT '',
- `xprof_region` char(255) NOT NULL DEFAULT '',
- `xprof_postcode` char(32) NOT NULL DEFAULT '',
- `xprof_country` char(255) NOT NULL DEFAULT '',
- `xprof_keywords` text NOT NULL,
- `xprof_about` text NOT NULL,
- `xprof_homepage` char(255) NOT NULL DEFAULT '',
- `xprof_hometown` char(255) NOT NULL DEFAULT '',
- PRIMARY KEY (`xprof_hash`),
- KEY `xprof_desc` (`xprof_desc`),
- KEY `xprof_dob` (`xprof_dob`),
- KEY `xprof_gender` (`xprof_gender`),
- KEY `xprof_marital` (`xprof_marital`),
- KEY `xprof_sexual` (`xprof_sexual`),
- KEY `xprof_locale` (`xprof_locale`),
- KEY `xprof_region` (`xprof_region`),
- KEY `xprof_postcode` (`xprof_postcode`),
- KEY `xprof_country` (`xprof_country`),
- KEY `xprof_age` (`xprof_age`),
- KEY `xprof_hometown` (`xprof_hometown`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `xtag` (
- `xtag_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `xtag_hash` char(255) NOT NULL,
- `xtag_term` char(255) NOT NULL DEFAULT '',
- `xtag_flags` int(11) NOT NULL DEFAULT '0',
- PRIMARY KEY (`xtag_id`),
- KEY `xtag_term` (`xtag_term`),
- KEY `xtag_hash` (`xtag_hash`),
- KEY `xtag_flags` (`xtag_flags`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/install/migrate-mypg.php b/install/migrate-mypg.php
new file mode 100644
index 000000000..10bf1e387
--- /dev/null
+++ b/install/migrate-mypg.php
@@ -0,0 +1,357 @@
+<?php
+function ask_question($menu, $options, $default) {
+ $r=null;
+ while(!$r) {
+ echo $menu;
+ $str = substr(strtolower(fgets(STDIN)),0,-1);
+ if($str == '')
+ $r = $default;
+ else if(in_array($str, $options))
+ $r = $str;
+ }
+ return $r;
+}
+
+function get_data($prompt, $regex) {
+ do {
+ echo $prompt;
+ $r = substr(fgets(STDIN), 0, -1);
+ if(!preg_match($regex, $prompt))
+ $r = '';
+ } while($r === '');
+ return $r;
+}
+
+function parse_htconfig($file) {
+ if(!file_exists($file))
+ return array();
+ $conf = file_get_contents($file);
+ preg_match_all('/\$db\_(host|port|user|pass|data|type)\s*=\s*\'([[:print:]]+)\'/', $conf, $matches);
+ return array_combine($matches[1], $matches[2]);
+}
+
+function get_configtype(array $data) {
+ if(!isset($data['host'], $data['user'], $data['pass'], $data['data']))
+ return 'none';
+ if($data['type'] == 1)
+ return 'pgsql';
+ return 'mysql';
+}
+
+function phpquote($str) {
+ for($r = '', $x=0, $l=strlen($str); $x < $l; $x++)
+ if($str{$x} == '\'' || $str{$x} == '\\')
+ $r .= '\\' . $str{$x};
+ else
+ $r .= $str{$x};
+ return $r;
+}
+
+function run_sql($file, $db, &$err, &$n) {
+ $sql = file_get_contents($file);
+ $sql = explode(';', $sql);
+ $err = 0; $n = 0;
+ $c = count($sql);
+ if(!$c) {
+ echo "Unknown error.\n";
+ exit();
+ }
+ foreach($sql as $stmt) {
+ if($stmt == '' || $stmt == "\n" || $stmt == "\n\n") {
+ $c--;
+ continue;
+ }
+ $r = $db->exec($stmt);
+ if($r===false) {
+ echo "\nError executing $stmt: ".var_export($db->errorInfo(), true)."\n";
+ $err++;
+ } else {
+ $n++;
+ }
+ if($n % 5 == 0)
+ echo "\033[255DExecuting: $file, $n/$c\033[K";
+ }
+ echo "\n";
+}
+
+$drivers=true;
+if(!class_exists('PDO'))
+ $drivers=false;
+if($drivers) {
+ $drivers = PDO::getAvailableDrivers();
+ if(!in_array('pgsql', $drivers) || !in_array('mysql', $drivers))
+ $drivers = false;
+}
+if(!$drivers) {
+ echo "Sorry. This migration tool requires both mysql and pgsql PDO drivers.\n";
+ $r = ask_question("If you are on dreamhost you can enable them. This might work on other shared hosts too. Type 'n' to do it yourself.\nWould you like to try (Y/n)? ", array('y', 'n'), 'y');
+ if($r=='y') {
+ $path = $_SERVER['HOME'] . '/.php/5.4';
+ if(!file_exists($path))
+ mkdir($path, 0770, true);
+
+ $rcfile = $path . '/phprc';
+
+ $str = '';
+ $mods = get_loaded_extensions();
+ foreach(array('pdo_mysql','pdo_pgsql','pgsql') as $ext)
+ if(!in_array($ext, $mods))
+ $str .= 'extension=' . $ext . ".so\n";
+
+ file_put_contents($rcfile, $str, FILE_APPEND );
+ echo "drivers enabled.\nNow type: \033[1m/usr/local/bin/php-5.4 install/".basename($argv[0])."\033[0m\n";
+ }
+ exit();
+}
+
+foreach(array('install','include','mod','view') as $dir) {
+ if(!file_exists($dir)) {
+ echo "You must execute from inside the webroot like the cron\n";
+ exit();
+ }
+}
+
+$cfgfile = '.htconfig.php';
+if($argv[1] == '--resume') {
+ if($argc < 4) {
+ echo "Resume usage {$argv[0]} --resume <table> <row>\n";
+ exit();
+ }
+ $starttable = $argv[2];
+ $startrow = $argv[3];
+ $cfgfile = '.htconfig.php-mysql';
+}
+
+$cfg = parse_htconfig($cfgfile);
+$type = get_configtype($cfg);
+if($type != 'mysql') {
+ echo "Error. Must start with standard mysql installation in .htconfig.php.\n";
+ exit();
+}
+
+if(!$cfg['port'])
+ $cfg['port'] = 3306;
+try {
+ $mydb = new PDO("mysql:host={$cfg['host']};dbname={$cfg['data']};port={$cfg['port']}", $cfg['user'], $cfg['pass']);
+} catch (PDOException $e) {
+ echo "Error connecting to mysql DB: " . $e->getMessage() . "\n";
+ exit();
+}
+
+// mysql insists on buffering even when you use fetch() instead of fetchAll() for some stupid reason
+// http://stackoverflow.com/questions/6895098/pdo-mysql-memory-consumption-with-large-result-set
+$mydb->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
+
+if(!file_exists('.htconfig.php-pgsql')) {
+ echo "Enter postgres server info:\n";
+ $p['host'] = get_data("Hostname: ", '/[\w.]+/');
+ $p['port'] = get_data("Enter port (0 for default): ", '/\d+/');
+ $p['user'] = get_data("Username: ", '/\w+/');
+ $p['pass'] = get_data("Password: ", '/[[:print:]]+/');
+ $p['data'] = get_data("Database name: ", '/\w+/');
+ $old = file_get_contents('.htconfig.php');
+ $new = preg_replace(
+ array(
+ '/^(\$db_host\s*=\s*\')([\w.]+)(\';)$/m',
+ '/^(\$db_port\s*=\s*\')(\d+)(\';)$/m',
+ '/^(\$db_user\s*=\s*\')(\w+)(\';)$/m',
+ '/^(\$db_pass\s*=\s*\')([[:print:]]+)(\';)/m',
+ '/^(\$db_data\s*=\s*\')(\w+)(\';)$/m',
+ '/^(\$db_type\s*=\s*\')(\d)(\';)$/m' // in case they already have it
+ ), array(
+ "$1{$p['host']}$3",
+ "\${1}{$p['port']}$3",
+ "$1{$p['user']}$3",
+ "$1{$p['pass']}$3",
+ "$1{$p['data']}$3\n\$db_type = '1';\n", // they probably don't
+ "\${1}1$3"
+ ),
+ $old,
+ 1,
+ $repl
+ );
+ if($new === false || $repl < 5) {
+ echo "Failed. Please make a postgres config file named .htconfig.php-pgsql - Be sure to add \"\$db_type = '1';\" to your config.\n";
+ exit();
+ }
+ file_put_contents('.htconfig.php-pgsql', $new);
+}
+
+$pcfg = parse_htconfig('.htconfig.php-pgsql');
+$ptype = get_configtype($pcfg);
+if($ptype != 'pgsql') {
+ echo "Error. Must have a valid pgsql config named .htconfig.php-pgsql. Be sure to add \"\$db_type = '1';\" to your config.\n";
+ exit();
+}
+
+if(!$pcfg['port'])
+ $pcfg['port'] = 5432;
+try {
+ $pgdb = new PDO("pgsql:host={$pcfg['host']};dbname={$pcfg['data']};port={$pcfg['port']}", $pcfg['user'], $pcfg['pass']);
+} catch (PDOException $e) {
+ echo "Error connecting to pgsql DB: " . $e->getMessage() . "\n";
+ echo "cfg string: " . "pgsql:host={$pcfg['host']};dbname={$pcfg['data']};port={$pcfg['port']}\n";
+ exit();
+}
+$B = "\033[0;34m";
+$H = "\033[0;35m";
+$W = "\033[1;37m";
+$M = "\033[1;31m";
+$N = "\033[0m";
+
+if(isset($starttable)) {
+ $r = ask_question("Ready to migrate {$W}Red{$M}(#){$W}Matrix$N from mysql db @$B{$cfg['host']}$N/$B{$cfg['data']}$N to postgres db @$B{$pcfg['host']}$N/$B{$pcfg['data']}$N.
+
+Resuming failed migration ({$M}experimental$N) starting at table '$starttable' row $startrow.
+Are you ready to begin (N/y)? ",
+ array('y', 'n'),
+ 'n'
+ );
+ if($r == 'n')
+ exit();
+} else {
+ $r = ask_question("Ready to migrate {$W}Red{$M}(#){$W}Matrix$N from mysql db @$B{$cfg['host']}$N/$B{$cfg['data']}$N to postgres db @$B{$pcfg['host']}$N/$B{$pcfg['data']}$N.
+The site will be disabled during the migration by moving the $H.htconfig.php$N file to $H.htconfig.php-mysql$N.
+If for any reason the migration fails, you will need to move the config file back into place manually before trying again.
+
+Are you ready to begin (N/y)? ", array('y','n'), 'n'
+ );
+
+ if($r == 'n')
+ exit();
+
+ rename('.htconfig.php', '.htconfig.php-mysql');
+
+ run_sql('install/schema_postgres.sql', $pgdb, $err, $n);
+ if($err) {
+ echo "There were $err errors creating the pgsql schema. Unable to continue.\n";
+ exit();
+ }
+
+ echo "pgsql schema created. $n queries executed successfully.\n";
+}
+
+$res = $pgdb->query("select relname, attname, pg_type.typname from ((pg_attribute inner join pg_class on attrelid=pg_class.oid) inner join pg_type on atttypid=pg_type.oid) inner join pg_namespace on relnamespace=pg_namespace.oid where nspname='public' and atttypid not in (26,27,28,29) and relkind='r' and attname <> 'item_search_vector';");
+if($res === false) {
+ echo "Error reading back schema. Unable to continue.\n";
+ var_export($pgdb->errorInfo());
+ exit();
+}
+$schema = array();
+while(($row = $res->fetch()) !== false)
+ $schema[$row[0]][$row[1]] = $row[2];
+
+$res = $pgdb->query("select relname, attname from pg_attribute inner join pg_class on attrelid=pg_class.oid inner join pg_constraint on conrelid=pg_class.oid and pg_attribute.attnum = any (conkey) where contype='p';");
+if($res === false) {
+ echo "Error reading back primary keys. Unable to continue.\n";
+ var_export($pgdb->errorInfo());
+ exit();
+}
+$pkeys = array();
+while(($row = $res->fetch()) !== false)
+ $pkeys[$row[0]] = $row[1];
+
+$err = 0; $n = 0;
+$reserved = array('ignore','key','with');
+foreach($schema as $table=>$fields) {
+ if(isset($starttable) && !$n && $table != $starttable) {
+ echo "Skipping table $table\n";
+ continue;
+ }
+ $fnames = array_keys($fields);
+ $pfnames = array_keys($fields);
+
+ foreach($fnames as &$fname)
+ if(in_array($fname, $reserved))
+ $fname = '`' . $fname . '`';
+ $fstr = implode(',', $fnames);
+
+ foreach($pfnames as &$pfname)
+ if(in_array($pfname, $reserved))
+ $pfname = '"' . $pfname . '"';
+ $pfstr = implode(',', $pfnames);
+
+ $cres = $mydb->query("SELECT count(*) FROM $table;");
+ if($cres === false) {
+ echo "Fatal error counting table $table: ".var_export($mydb->errorInfo(), true)."\n";
+ exit();
+ }
+ $nrows = $cres->fetchColumn(0);
+ $cres->closeCursor();
+
+ if(!$nrows) {
+ echo "TABLE $table has 0 rows in mysql db.\n";
+ continue;
+ }
+
+ $pstr = '';
+ for($x=0, $c=count($fields); $x < $c; $x++)
+ $pstr .= ($x ? ',?' : '?');
+
+ if(isset($starttable) && $table == $starttable) {
+ $selectsql = "SELECT $fstr FROM $table ORDER BY {$pkeys[$table]} LIMIT $nrows OFFSET $startrow;";
+ $crow = $startrow;
+ } else {
+ $selectsql = "SELECT $fstr FROM $table ORDER BY {$pkeys[$table]};";
+ $crow = 0;
+ }
+
+ echo "\033[255DTABLE: $table [$c fields] $crow/$nrows (".number_format(($crow/$nrows)*100,2)."%)\033[K";
+
+ $res = $mydb->query($selectsql);
+ if($res === false) {
+ echo "Fatal Error importing table $table: ".var_export($mydb->errorInfo(), true)."\n";
+ exit();
+ }
+
+ $istmt = $pgdb->prepare("INSERT INTO $table ($pfstr) VALUES ($pstr);");
+ if($istmt === false) {
+ echo "Fatal error preparing query. Aborting.\n";
+ var_export($pgdb->errorInfo());
+ exit();
+ }
+
+ while(($row = $res->fetch(PDO::FETCH_NUM)) !== false) {
+ foreach($row as $idx => &$val)
+ if(array_slice(array_values($fields),$idx,1)[0] == 'timestamp' && $val == '0000-00-00 00:00:00')
+ $istmt->bindParam($idx+1, ($nulldate='0001-01-01 00:00:00'));
+ else if(array_slice(array_values($fields),$idx,1)[0] == 'bytea')
+ $istmt->bindParam($idx+1, $val, PDO::PARAM_LOB);
+ else
+ $istmt->bindParam($idx+1, $val);
+ $r = $istmt->execute();
+ if($r === false) {
+ $err++;
+ echo "Insert error: ".var_export(array($pgdb->errorInfo(), $table, $fields, $row), true)."\nResume with {$argv[0]} --resume $table $crow\n";
+ exit();
+ } else
+ $n++;
+ $crow++;
+ if(($crow % 10) == 0 || $crow == $nrows)
+ echo "\033[255DTABLE: $table [$c fields] $crow/$nrows (".number_format(($crow/$nrows)*100,2)."%)\033[K";
+ }
+ $res->closeCursor();
+ echo "\n";
+}
+
+echo "Done with $err errors and $n inserts.\n";
+if($err) {
+ echo "Migration had errors. Aborting.\n";
+ exit();
+}
+
+run_sql('install/migrate_mypg_fixseq.sql', $pgdb, $err, $n);
+echo "Sequences updated with $err errors and $n inserts.\n";
+if($err)
+ exit();
+
+$r = ask_question("Everything successful. Once you connect up the pg database there is no going back. Do you want to make it live (N,y)?", array('y', 'n'), 'n');
+if($r == 'n') {
+ echo "You can make active by renaming .htconfig.php-pgsql to .htconfig.php, or start over by renaming .htconfig.php-mysql to .htconfig.php\n";
+ exit();
+}
+
+rename('.htconfig.php-pgsql', '.htconfig.php');
+echo "Done. {$W}Red{$M}(#){$W}Matrix$N now running on postgres.\n";
+
+
diff --git a/install/migrate_mypg_fixseq.sql b/install/migrate_mypg_fixseq.sql
new file mode 100644
index 000000000..806c5cf31
--- /dev/null
+++ b/install/migrate_mypg_fixseq.sql
@@ -0,0 +1,55 @@
+ SELECT SETVAL('public.abook_abook_id_seq', COALESCE(MAX(abook_id), 1) ) FROM public.abook;
+ SELECT SETVAL('public.account_account_id_seq', COALESCE(MAX(account_id), 1) ) FROM public.account;
+ SELECT SETVAL('public.addon_id_seq', COALESCE(MAX(id), 1) ) FROM public.addon;
+ SELECT SETVAL('public.app_id_seq', COALESCE(MAX(id), 1) ) FROM public.app;
+ SELECT SETVAL('public.attach_id_seq', COALESCE(MAX(id), 1) ) FROM public.attach;
+ SELECT SETVAL('public.channel_channel_id_seq', COALESCE(MAX(channel_id), 1) ) FROM public.channel;
+ SELECT SETVAL('public.chat_chat_id_seq', COALESCE(MAX(chat_id), 1) ) FROM public.chat;
+ SELECT SETVAL('public.chatpresence_cp_id_seq', COALESCE(MAX(cp_id), 1) ) FROM public.chatpresence;
+ SELECT SETVAL('public.chatroom_cr_id_seq', COALESCE(MAX(cr_id), 1) ) FROM public.chatroom;
+ SELECT SETVAL('public.config_id_seq', COALESCE(MAX(id), 1) ) FROM public.config;
+ SELECT SETVAL('public.conv_id_seq', COALESCE(MAX(id), 1) ) FROM public.conv;
+ SELECT SETVAL('public.event_id_seq', COALESCE(MAX(id), 1) ) FROM public.event;
+ SELECT SETVAL('public.fcontact_id_seq', COALESCE(MAX(id), 1) ) FROM public.fcontact;
+ SELECT SETVAL('public.ffinder_id_seq', COALESCE(MAX(id), 1) ) FROM public.ffinder;
+ SELECT SETVAL('public.fserver_id_seq', COALESCE(MAX(id), 1) ) FROM public.fserver;
+ SELECT SETVAL('public.fsuggest_id_seq', COALESCE(MAX(id), 1) ) FROM public.fsuggest;
+ SELECT SETVAL('public.group_member_id_seq', COALESCE(MAX(id), 1) ) FROM public.group_member;
+ SELECT SETVAL('public.groups_id_seq', COALESCE(MAX(id), 1) ) FROM public.groups;
+ SELECT SETVAL('public.hook_id_seq', COALESCE(MAX(id), 1) ) FROM public.hook;
+ SELECT SETVAL('public.hubloc_hubloc_id_seq', COALESCE(MAX(hubloc_id), 1) ) FROM public.hubloc;
+ SELECT SETVAL('public.issue_issue_id_seq', COALESCE(MAX(issue_id), 1) ) FROM public.issue;
+ SELECT SETVAL('public.item_id_id_seq', COALESCE(MAX(id), 1) ) FROM public.item_id;
+ SELECT SETVAL('public.item_id_seq', COALESCE(MAX(id), 1) ) FROM public.item;
+ SELECT SETVAL('public.likes_id_seq', COALESCE(MAX(id), 1) ) FROM public.likes;
+ SELECT SETVAL('public.mail_id_seq', COALESCE(MAX(id), 1) ) FROM public.mail;
+ SELECT SETVAL('public.manage_id_seq', COALESCE(MAX(id), 1) ) FROM public.manage;
+ SELECT SETVAL('public.menu_item_mitem_id_seq', COALESCE(MAX(mitem_id), 1) ) FROM public.menu_item;
+ SELECT SETVAL('public.menu_menu_id_seq', COALESCE(MAX(menu_id), 1) ) FROM public.menu;
+ SELECT SETVAL('public.notify_id_seq', COALESCE(MAX(id), 1) ) FROM public.notify;
+ SELECT SETVAL('public.obj_obj_id_seq', COALESCE(MAX(obj_id), 1) ) FROM public.obj;
+ SELECT SETVAL('public.pconfig_id_seq', COALESCE(MAX(id), 1) ) FROM public.pconfig;
+ SELECT SETVAL('public.photo_id_seq', COALESCE(MAX(id), 1) ) FROM public.photo;
+ SELECT SETVAL('public.poll_elm_pelm_id_seq', COALESCE(MAX(pelm_id), 1) ) FROM public.poll_elm;
+ SELECT SETVAL('public.poll_poll_id_seq', COALESCE(MAX(poll_id), 1) ) FROM public.poll;
+ SELECT SETVAL('public.profdef_id_seq', COALESCE(MAX(id), 1) ) FROM public.profdef;
+ SELECT SETVAL('public.profext_id_seq', COALESCE(MAX(id), 1) ) FROM public.profext;
+ SELECT SETVAL('public.profile_check_id_seq', COALESCE(MAX(id), 1) ) FROM public.profile_check;
+ SELECT SETVAL('public.profile_id_seq', COALESCE(MAX(id), 1) ) FROM public.profile;
+ SELECT SETVAL('public.register_id_seq', COALESCE(MAX(id), 1) ) FROM public.register;
+ SELECT SETVAL('public.session_id_seq', COALESCE(MAX(id), 1) ) FROM public.session;
+ SELECT SETVAL('public.shares_share_id_seq', COALESCE(MAX(share_id), 1) ) FROM public.shares;
+ SELECT SETVAL('public.sign_id_seq', COALESCE(MAX(id), 1) ) FROM public.sign;
+ SELECT SETVAL('public.source_src_id_seq', COALESCE(MAX(src_id), 1) ) FROM public.source;
+ SELECT SETVAL('public.spam_id_seq', COALESCE(MAX(id), 1) ) FROM public.spam;
+ SELECT SETVAL('public.sys_perms_id_seq', COALESCE(MAX(id), 1) ) FROM public.sys_perms;
+ SELECT SETVAL('public.term_tid_seq', COALESCE(MAX(tid), 1) ) FROM public.term;
+ SELECT SETVAL('public.updates_ud_id_seq', COALESCE(MAX(ud_id), 1) ) FROM public.updates;
+ SELECT SETVAL('public.verify_id_seq', COALESCE(MAX(id), 1) ) FROM public.verify;
+ SELECT SETVAL('public.vote_vote_id_seq', COALESCE(MAX(vote_id), 1) ) FROM public.vote;
+ SELECT SETVAL('public.xchat_xchat_id_seq', COALESCE(MAX(xchat_id), 1) ) FROM public.xchat;
+ SELECT SETVAL('public.xconfig_id_seq', COALESCE(MAX(id), 1) ) FROM public.xconfig;
+ SELECT SETVAL('public.xign_id_seq', COALESCE(MAX(id), 1) ) FROM public.xign;
+ SELECT SETVAL('public.xlink_xlink_id_seq', COALESCE(MAX(xlink_id), 1) ) FROM public.xlink;
+ SELECT SETVAL('public.xtag_xtag_id_seq', COALESCE(MAX(xtag_id), 1) ) FROM public.xtag;
+
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql
new file mode 100644
index 000000000..ce3f07a89
--- /dev/null
+++ b/install/schema_mysql.sql
@@ -0,0 +1,1591 @@
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `abook`
+--
+
+CREATE TABLE IF NOT EXISTS `abook` (
+ `abook_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `abook_account` int(10) unsigned NOT NULL DEFAULT '0',
+ `abook_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `abook_xchan` char(255) NOT NULL DEFAULT '',
+ `abook_my_perms` int(11) NOT NULL DEFAULT '0',
+ `abook_their_perms` int(11) NOT NULL DEFAULT '0',
+ `abook_closeness` tinyint(3) unsigned NOT NULL DEFAULT '99',
+ `abook_rating` int(11) NOT NULL DEFAULT '0',
+ `abook_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `abook_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `abook_connected` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `abook_dob` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `abook_flags` int(11) NOT NULL DEFAULT '0',
+ `abook_profile` char(64) NOT NULL DEFAULT '',
+ PRIMARY KEY (`abook_id`),
+ KEY `abook_account` (`abook_account`),
+ KEY `abook_channel` (`abook_channel`),
+ KEY `abook_xchan` (`abook_xchan`),
+ KEY `abook_my_perms` (`abook_my_perms`),
+ KEY `abook_their_perms` (`abook_their_perms`),
+ KEY `abook_closeness` (`abook_closeness`),
+ KEY `abook_created` (`abook_created`),
+ KEY `abook_updated` (`abook_updated`),
+ KEY `abook_flags` (`abook_flags`),
+ KEY `abook_profile` (`abook_profile`),
+ KEY `abook_dob` (`abook_dob`),
+ KEY `abook_connected` (`abook_connected`),
+ KEY `abook_rating` (`abook_rating`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `account`
+--
+
+CREATE TABLE IF NOT EXISTS `account` (
+ `account_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `account_parent` int(10) unsigned NOT NULL DEFAULT '0',
+ `account_default_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `account_salt` char(32) NOT NULL DEFAULT '',
+ `account_password` char(255) NOT NULL DEFAULT '',
+ `account_email` char(255) NOT NULL DEFAULT '',
+ `account_external` char(255) NOT NULL DEFAULT '',
+ `account_language` char(16) NOT NULL DEFAULT 'en',
+ `account_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `account_lastlog` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `account_flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `account_roles` int(10) unsigned NOT NULL DEFAULT '0',
+ `account_reset` char(255) NOT NULL DEFAULT '',
+ `account_expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `account_expire_notified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `account_service_class` char(32) NOT NULL DEFAULT '',
+ `account_level` int(10) unsigned NOT NULL DEFAULT '0',
+ `account_password_changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`account_id`),
+ KEY `account_email` (`account_email`),
+ KEY `account_service_class` (`account_service_class`),
+ KEY `account_parent` (`account_parent`),
+ KEY `account_flags` (`account_flags`),
+ KEY `account_roles` (`account_roles`),
+ KEY `account_lastlog` (`account_lastlog`),
+ KEY `account_expires` (`account_expires`),
+ KEY `account_default_channel` (`account_default_channel`),
+ KEY `account_external` (`account_external`),
+ KEY `account_level` (`account_level`),
+ KEY `account_password_changed` (`account_password_changed`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `addon`
+--
+
+CREATE TABLE IF NOT EXISTS `addon` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `name` char(255) NOT NULL DEFAULT '',
+ `version` char(255) NOT NULL DEFAULT '',
+ `installed` tinyint(1) NOT NULL DEFAULT '0',
+ `hidden` tinyint(1) NOT NULL DEFAULT '0',
+ `timestamp` bigint(20) NOT NULL DEFAULT '0',
+ `plugin_admin` tinyint(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `hidden` (`hidden`),
+ KEY `name` (`name`),
+ KEY `installed` (`installed`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `app`
+--
+
+CREATE TABLE IF NOT EXISTS `app` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `app_id` char(255) NOT NULL DEFAULT '',
+ `app_sig` char(255) NOT NULL DEFAULT '',
+ `app_author` char(255) NOT NULL DEFAULT '',
+ `app_name` char(255) NOT NULL DEFAULT '',
+ `app_desc` text NOT NULL,
+ `app_url` char(255) NOT NULL DEFAULT '',
+ `app_photo` char(255) NOT NULL DEFAULT '',
+ `app_version` char(255) NOT NULL DEFAULT '',
+ `app_channel` int(11) NOT NULL DEFAULT '0',
+ `app_addr` char(255) NOT NULL DEFAULT '',
+ `app_price` char(255) NOT NULL DEFAULT '',
+ `app_page` char(255) NOT NULL DEFAULT '',
+ `app_requires` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `app_id` (`app_id`),
+ KEY `app_name` (`app_name`),
+ KEY `app_url` (`app_url`),
+ KEY `app_photo` (`app_photo`),
+ KEY `app_version` (`app_version`),
+ KEY `app_channel` (`app_channel`),
+ KEY `app_price` (`app_price`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `attach`
+--
+
+CREATE TABLE IF NOT EXISTS `attach` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `hash` char(64) NOT NULL DEFAULT '',
+ `creator` char(128) NOT NULL DEFAULT '',
+ `filename` char(255) NOT NULL DEFAULT '',
+ `filetype` char(64) NOT NULL DEFAULT '',
+ `filesize` int(10) unsigned NOT NULL DEFAULT '0',
+ `revision` int(10) unsigned NOT NULL DEFAULT '0',
+ `folder` char(64) NOT NULL DEFAULT '',
+ `flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `data` longblob NOT NULL,
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `allow_cid` mediumtext NOT NULL,
+ `allow_gid` mediumtext NOT NULL,
+ `deny_cid` mediumtext NOT NULL,
+ `deny_gid` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `aid` (`aid`),
+ KEY `uid` (`uid`),
+ KEY `hash` (`hash`),
+ KEY `filename` (`filename`),
+ KEY `filetype` (`filetype`),
+ KEY `filesize` (`filesize`),
+ KEY `created` (`created`),
+ KEY `edited` (`edited`),
+ KEY `revision` (`revision`),
+ KEY `folder` (`folder`),
+ KEY `flags` (`flags`),
+ KEY `creator` (`creator`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `auth_codes`
+--
+
+CREATE TABLE IF NOT EXISTS `auth_codes` (
+ `id` varchar(40) NOT NULL DEFAULT '',
+ `client_id` varchar(20) NOT NULL DEFAULT '',
+ `redirect_uri` varchar(200) NOT NULL DEFAULT '',
+ `expires` int(11) NOT NULL DEFAULT '0',
+ `scope` varchar(250) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `cache`
+--
+
+CREATE TABLE IF NOT EXISTS `cache` (
+ `k` char(255) NOT NULL DEFAULT '',
+ `v` text NOT NULL,
+ `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`k`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `channel`
+--
+
+CREATE TABLE IF NOT EXISTS `channel` (
+ `channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `channel_account_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_primary` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `channel_name` char(255) NOT NULL DEFAULT '',
+ `channel_address` char(255) NOT NULL DEFAULT '',
+ `channel_guid` char(255) NOT NULL DEFAULT '',
+ `channel_guid_sig` text NOT NULL,
+ `channel_hash` char(255) NOT NULL DEFAULT '',
+ `channel_timezone` char(128) NOT NULL DEFAULT 'UTC',
+ `channel_location` char(255) NOT NULL DEFAULT '',
+ `channel_theme` char(255) NOT NULL DEFAULT '',
+ `channel_startpage` char(255) NOT NULL DEFAULT '',
+ `channel_pubkey` text NOT NULL,
+ `channel_prvkey` text NOT NULL,
+ `channel_notifyflags` int(10) unsigned NOT NULL DEFAULT '65535',
+ `channel_pageflags` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_dirdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `channel_deleted` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `channel_max_anon_mail` int(10) unsigned NOT NULL DEFAULT '10',
+ `channel_max_friend_req` int(10) unsigned NOT NULL DEFAULT '10',
+ `channel_expire_days` int(11) NOT NULL DEFAULT '0',
+ `channel_passwd_reset` char(255) NOT NULL DEFAULT '',
+ `channel_default_group` char(255) NOT NULL DEFAULT '',
+ `channel_allow_cid` mediumtext NOT NULL,
+ `channel_allow_gid` mediumtext NOT NULL,
+ `channel_deny_cid` mediumtext NOT NULL,
+ `channel_deny_gid` mediumtext NOT NULL,
+ `channel_r_stream` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_r_profile` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_r_photos` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_r_abook` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_w_stream` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_w_wall` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_w_tagwall` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_w_comment` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_w_mail` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_w_photos` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_w_chat` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_a_delegate` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_r_storage` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_w_storage` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_r_pages` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_w_pages` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_a_republish` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_w_like` int(10) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`channel_id`),
+ UNIQUE KEY `channel_address_unique` (`channel_address`),
+ KEY `channel_account_id` (`channel_account_id`),
+ KEY `channel_primary` (`channel_primary`),
+ KEY `channel_name` (`channel_name`),
+ KEY `channel_timezone` (`channel_timezone`),
+ KEY `channel_location` (`channel_location`),
+ KEY `channel_theme` (`channel_theme`),
+ KEY `channel_notifyflags` (`channel_notifyflags`),
+ KEY `channel_pageflags` (`channel_pageflags`),
+ KEY `channel_max_anon_mail` (`channel_max_anon_mail`),
+ KEY `channel_max_friend_req` (`channel_max_friend_req`),
+ KEY `channel_default_gid` (`channel_default_group`),
+ KEY `channel_r_stream` (`channel_r_stream`),
+ KEY `channel_r_profile` (`channel_r_profile`),
+ KEY `channel_r_photos` (`channel_r_photos`),
+ KEY `channel_r_abook` (`channel_r_abook`),
+ KEY `channel_w_stream` (`channel_w_stream`),
+ KEY `channel_w_wall` (`channel_w_wall`),
+ KEY `channel_w_tagwall` (`channel_w_tagwall`),
+ KEY `channel_w_comment` (`channel_w_comment`),
+ KEY `channel_w_mail` (`channel_w_mail`),
+ KEY `channel_w_photos` (`channel_w_photos`),
+ KEY `channel_w_chat` (`channel_w_chat`),
+ KEY `channel_guid` (`channel_guid`),
+ KEY `channel_hash` (`channel_hash`),
+ KEY `channel_expire_days` (`channel_expire_days`),
+ KEY `channel_a_delegate` (`channel_a_delegate`),
+ KEY `channel_r_storage` (`channel_r_storage`),
+ KEY `channel_w_storage` (`channel_w_storage`),
+ KEY `channel_r_pages` (`channel_r_pages`),
+ KEY `channel_w_pages` (`channel_w_pages`),
+ KEY `channel_deleted` (`channel_deleted`),
+ KEY `channel_a_republish` (`channel_a_republish`),
+ KEY `channel_dirdate` (`channel_dirdate`),
+ KEY `channel_w_like` (`channel_w_like`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `chat`
+--
+
+CREATE TABLE IF NOT EXISTS `chat` (
+ `chat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `chat_room` int(10) unsigned NOT NULL DEFAULT '0',
+ `chat_xchan` char(255) NOT NULL DEFAULT '',
+ `chat_text` mediumtext NOT NULL,
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`chat_id`),
+ KEY `chat_room` (`chat_room`),
+ KEY `chat_xchan` (`chat_xchan`),
+ KEY `created` (`created`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `chatpresence`
+--
+
+CREATE TABLE IF NOT EXISTS `chatpresence` (
+ `cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cp_room` int(10) unsigned NOT NULL DEFAULT '0',
+ `cp_xchan` char(255) NOT NULL DEFAULT '',
+ `cp_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cp_status` char(255) NOT NULL DEFAULT '',
+ `cp_client` char(128) NOT NULL DEFAULT '',
+ PRIMARY KEY (`cp_id`),
+ KEY `cp_room` (`cp_room`),
+ KEY `cp_xchan` (`cp_xchan`),
+ KEY `cp_last` (`cp_last`),
+ KEY `cp_status` (`cp_status`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `chatroom`
+--
+
+CREATE TABLE IF NOT EXISTS `chatroom` (
+ `cr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cr_aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cr_uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cr_name` char(255) NOT NULL DEFAULT '',
+ `cr_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cr_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cr_expire` int(10) unsigned NOT NULL DEFAULT '0',
+ `allow_cid` mediumtext NOT NULL,
+ `allow_gid` mediumtext NOT NULL,
+ `deny_cid` mediumtext NOT NULL,
+ `deny_gid` mediumtext NOT NULL,
+ PRIMARY KEY (`cr_id`),
+ KEY `cr_aid` (`cr_aid`),
+ KEY `cr_uid` (`cr_uid`),
+ KEY `cr_name` (`cr_name`),
+ KEY `cr_created` (`cr_created`),
+ KEY `cr_edited` (`cr_edited`),
+ KEY `cr_expire` (`cr_expire`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `clients`
+--
+
+CREATE TABLE IF NOT EXISTS `clients` (
+ `client_id` varchar(20) NOT NULL DEFAULT '',
+ `pw` varchar(20) NOT NULL DEFAULT '',
+ `redirect_uri` varchar(200) NOT NULL DEFAULT '',
+ `name` text,
+ `icon` text,
+ `uid` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`client_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `config`
+--
+
+CREATE TABLE IF NOT EXISTS `config` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cat` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `k` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `v` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `access` (`cat`,`k`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `conv`
+--
+
+CREATE TABLE IF NOT EXISTS `conv` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `guid` char(255) NOT NULL DEFAULT '',
+ `recips` mediumtext NOT NULL,
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `creator` char(255) NOT NULL DEFAULT '',
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `subject` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `created` (`created`),
+ KEY `updated` (`updated`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `event`
+--
+
+CREATE TABLE IF NOT EXISTS `event` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `event_xchan` char(255) NOT NULL DEFAULT '',
+ `event_hash` char(255) NOT NULL DEFAULT '',
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `start` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `finish` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `summary` text NOT NULL,
+ `description` text NOT NULL,
+ `location` text NOT NULL,
+ `type` char(255) NOT NULL DEFAULT '',
+ `nofinish` tinyint(1) NOT NULL DEFAULT '0',
+ `adjust` tinyint(1) NOT NULL DEFAULT '1',
+ `ignore` tinyint(1) NOT NULL DEFAULT '0',
+ `allow_cid` mediumtext NOT NULL,
+ `allow_gid` mediumtext NOT NULL,
+ `deny_cid` mediumtext NOT NULL,
+ `deny_gid` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `type` (`type`),
+ KEY `start` (`start`),
+ KEY `finish` (`finish`),
+ KEY `adjust` (`adjust`),
+ KEY `nofinish` (`nofinish`),
+ KEY `ignore` (`ignore`),
+ KEY `aid` (`aid`),
+ KEY `event_hash` (`event_hash`),
+ KEY `event_xchan` (`event_xchan`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `fcontact`
+--
+
+CREATE TABLE IF NOT EXISTS `fcontact` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `url` char(255) NOT NULL,
+ `name` char(255) NOT NULL,
+ `photo` char(255) NOT NULL,
+ `request` char(255) NOT NULL,
+ `nick` char(255) NOT NULL,
+ `addr` char(255) NOT NULL,
+ `batch` char(255) NOT NULL,
+ `notify` char(255) NOT NULL,
+ `poll` char(255) NOT NULL,
+ `confirm` char(255) NOT NULL,
+ `priority` tinyint(1) NOT NULL,
+ `network` char(32) NOT NULL,
+ `alias` char(255) NOT NULL,
+ `pubkey` text NOT NULL,
+ `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `addr` (`addr`),
+ KEY `network` (`network`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `ffinder`
+--
+
+CREATE TABLE IF NOT EXISTS `ffinder` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `uid` int(10) unsigned NOT NULL,
+ `cid` int(10) unsigned NOT NULL,
+ `fid` int(10) unsigned NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `cid` (`cid`),
+ KEY `fid` (`fid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `fserver`
+--
+
+CREATE TABLE IF NOT EXISTS `fserver` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `server` char(255) NOT NULL DEFAULT '',
+ `posturl` char(255) NOT NULL DEFAULT '',
+ `key` text NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `server` (`server`),
+ KEY `posturl` (`posturl`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `fsuggest`
+--
+
+CREATE TABLE IF NOT EXISTS `fsuggest` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `cid` int(11) NOT NULL DEFAULT '0',
+ `name` char(255) NOT NULL DEFAULT '',
+ `url` char(255) NOT NULL DEFAULT '',
+ `request` char(255) NOT NULL DEFAULT '',
+ `photo` char(255) NOT NULL DEFAULT '',
+ `note` text NOT NULL,
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `groups`
+--
+
+CREATE TABLE IF NOT EXISTS `groups` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `hash` char(255) NOT NULL DEFAULT '',
+ `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `visible` tinyint(1) NOT NULL DEFAULT '0',
+ `deleted` tinyint(1) NOT NULL DEFAULT '0',
+ `name` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `visible` (`visible`),
+ KEY `deleted` (`deleted`),
+ KEY `hash` (`hash`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `group_member`
+--
+
+CREATE TABLE IF NOT EXISTS `group_member` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `gid` int(10) unsigned NOT NULL DEFAULT '0',
+ `xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `gid` (`gid`),
+ KEY `xchan` (`xchan`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `hook`
+--
+
+CREATE TABLE IF NOT EXISTS `hook` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `hook` char(255) NOT NULL DEFAULT '',
+ `file` char(255) NOT NULL DEFAULT '',
+ `function` char(255) NOT NULL DEFAULT '',
+ `priority` int(11) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `hook` (`hook`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `hubloc`
+--
+
+CREATE TABLE IF NOT EXISTS `hubloc` (
+ `hubloc_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `hubloc_guid` char(255) NOT NULL DEFAULT '',
+ `hubloc_guid_sig` text NOT NULL,
+ `hubloc_hash` char(255) NOT NULL DEFAULT '',
+ `hubloc_addr` char(255) NOT NULL DEFAULT '',
+ `hubloc_network` char(32) NOT NULL DEFAULT '',
+ `hubloc_flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `hubloc_status` int(10) unsigned NOT NULL DEFAULT '0',
+ `hubloc_url` char(255) NOT NULL DEFAULT '',
+ `hubloc_url_sig` text NOT NULL,
+ `hubloc_host` char(255) NOT NULL DEFAULT '',
+ `hubloc_callback` char(255) NOT NULL DEFAULT '',
+ `hubloc_connect` char(255) NOT NULL DEFAULT '',
+ `hubloc_sitekey` text NOT NULL,
+ `hubloc_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `hubloc_connected` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`hubloc_id`),
+ KEY `hubloc_url` (`hubloc_url`),
+ KEY `hubloc_guid` (`hubloc_guid`),
+ KEY `hubloc_flags` (`hubloc_flags`),
+ KEY `hubloc_connect` (`hubloc_connect`),
+ KEY `hubloc_host` (`hubloc_host`),
+ KEY `hubloc_addr` (`hubloc_addr`),
+ KEY `hubloc_updated` (`hubloc_updated`),
+ KEY `hubloc_connected` (`hubloc_connected`),
+ KEY `hubloc_status` (`hubloc_status`),
+ KEY `hubloc_network` (`hubloc_network`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `issue`
+--
+
+CREATE TABLE IF NOT EXISTS `issue` (
+ `issue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `issue_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `issue_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `issue_assigned` char(255) NOT NULL DEFAULT '',
+ `issue_priority` int(11) NOT NULL DEFAULT '0',
+ `issue_status` int(11) NOT NULL DEFAULT '0',
+ `issue_component` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`issue_id`),
+ KEY `issue_created` (`issue_created`),
+ KEY `issue_updated` (`issue_updated`),
+ KEY `issue_assigned` (`issue_assigned`),
+ KEY `issue_priority` (`issue_priority`),
+ KEY `issue_status` (`issue_status`),
+ KEY `issue_component` (`issue_component`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `item`
+--
+
+CREATE TABLE IF NOT EXISTS `item` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `parent` int(10) unsigned NOT NULL DEFAULT '0',
+ `parent_mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `thr_parent` char(255) NOT NULL DEFAULT '',
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `comments_closed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `owner_xchan` char(255) NOT NULL DEFAULT '',
+ `author_xchan` char(255) NOT NULL DEFAULT '',
+ `source_xchan` char(255) NOT NULL DEFAULT '',
+ `mimetype` char(255) NOT NULL DEFAULT '',
+ `title` text NOT NULL,
+ `body` mediumtext NOT NULL,
+ `app` char(255) NOT NULL DEFAULT '',
+ `lang` char(64) NOT NULL DEFAULT '',
+ `revision` int(10) unsigned NOT NULL DEFAULT '0',
+ `verb` char(255) NOT NULL DEFAULT '',
+ `obj_type` char(255) NOT NULL DEFAULT '',
+ `object` text NOT NULL,
+ `tgt_type` char(255) NOT NULL DEFAULT '',
+ `target` text NOT NULL,
+ `layout_mid` char(255) NOT NULL DEFAULT '',
+ `postopts` text NOT NULL,
+ `route` text NOT NULL,
+ `llink` char(255) NOT NULL DEFAULT '',
+ `plink` char(255) NOT NULL DEFAULT '',
+ `resource_id` char(255) NOT NULL DEFAULT '',
+ `resource_type` char(16) NOT NULL DEFAULT '',
+ `attach` mediumtext NOT NULL,
+ `sig` text NOT NULL,
+ `diaspora_meta` mediumtext NOT NULL,
+ `location` char(255) NOT NULL DEFAULT '',
+ `coord` char(255) NOT NULL DEFAULT '',
+ `public_policy` char(255) NOT NULL DEFAULT '',
+ `comment_policy` char(255) NOT NULL DEFAULT '',
+ `allow_cid` mediumtext NOT NULL,
+ `allow_gid` mediumtext NOT NULL,
+ `deny_cid` mediumtext NOT NULL,
+ `deny_gid` mediumtext NOT NULL,
+ `item_restrict` int(11) NOT NULL DEFAULT '0',
+ `item_flags` int(11) NOT NULL DEFAULT '0',
+ `item_private` tinyint(4) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `parent` (`parent`),
+ KEY `created` (`created`),
+ KEY `edited` (`edited`),
+ KEY `received` (`received`),
+ KEY `uid_commented` (`uid`,`commented`),
+ KEY `uid_created` (`uid`,`created`),
+ KEY `aid` (`aid`),
+ KEY `owner_xchan` (`owner_xchan`),
+ KEY `author_xchan` (`author_xchan`),
+ KEY `resource_type` (`resource_type`),
+ KEY `item_restrict` (`item_restrict`),
+ KEY `item_flags` (`item_flags`),
+ KEY `commented` (`commented`),
+ KEY `verb` (`verb`),
+ KEY `item_private` (`item_private`),
+ KEY `llink` (`llink`),
+ KEY `expires` (`expires`),
+ KEY `revision` (`revision`),
+ KEY `mimetype` (`mimetype`),
+ KEY `mid` (`mid`),
+ KEY `parent_mid` (`parent_mid`),
+ KEY `uid_mid` (`mid`,`uid`),
+ KEY `comment_policy` (`comment_policy`),
+ KEY `layout_mid` (`layout_mid`),
+ KEY `public_policy` (`public_policy`),
+ KEY `comments_closed` (`comments_closed`),
+ KEY `changed` (`changed`),
+ FULLTEXT KEY `title` (`title`),
+ FULLTEXT KEY `body` (`body`),
+ FULLTEXT KEY `allow_cid` (`allow_cid`),
+ FULLTEXT KEY `allow_gid` (`allow_gid`),
+ FULLTEXT KEY `deny_cid` (`deny_cid`),
+ FULLTEXT KEY `deny_gid` (`deny_gid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `item_id`
+--
+
+CREATE TABLE IF NOT EXISTS `item_id` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `iid` int(11) NOT NULL DEFAULT '0',
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `sid` char(255) NOT NULL DEFAULT '',
+ `service` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `sid` (`sid`),
+ KEY `service` (`service`),
+ KEY `iid` (`iid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `likes`
+--
+
+CREATE TABLE IF NOT EXISTS `likes` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `liker` char(128) NOT NULL DEFAULT '',
+ `likee` char(128) NOT NULL DEFAULT '',
+ `iid` int(11) unsigned NOT NULL DEFAULT '0',
+ `verb` char(255) NOT NULL DEFAULT '',
+ `target_type` char(255) NOT NULL DEFAULT '',
+ `target_id` char(128) NOT NULL DEFAULT '',
+ `target` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `liker` (`liker`),
+ KEY `likee` (`likee`),
+ KEY `iid` (`iid`),
+ KEY `verb` (`verb`),
+ KEY `target_type` (`target_type`),
+ KEY `channel_id` (`channel_id`),
+ KEY `target_id` (`target_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `mail`
+--
+
+CREATE TABLE IF NOT EXISTS `mail` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `convid` int(10) unsigned NOT NULL DEFAULT '0',
+ `mail_flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `from_xchan` char(255) NOT NULL DEFAULT '',
+ `to_xchan` char(255) NOT NULL DEFAULT '',
+ `account_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `title` text NOT NULL,
+ `body` mediumtext NOT NULL,
+ `attach` mediumtext NOT NULL,
+ `mid` char(255) NOT NULL DEFAULT '',
+ `parent_mid` char(255) NOT NULL DEFAULT '',
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `created` (`created`),
+ KEY `mail_flags` (`mail_flags`),
+ KEY `account_id` (`account_id`),
+ KEY `channel_id` (`channel_id`),
+ KEY `from_xchan` (`from_xchan`),
+ KEY `to_xchan` (`to_xchan`),
+ KEY `mid` (`mid`),
+ KEY `parent_mid` (`parent_mid`),
+ KEY `expires` (`expires`),
+ KEY `convid` (`convid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `manage`
+--
+
+CREATE TABLE IF NOT EXISTS `manage` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `xchan` (`xchan`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `menu`
+--
+
+CREATE TABLE IF NOT EXISTS `menu` (
+ `menu_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `menu_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `menu_name` char(255) NOT NULL DEFAULT '',
+ `menu_desc` char(255) NOT NULL DEFAULT '',
+ `menu_flags` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`menu_id`),
+ KEY `menu_channel_id` (`menu_channel_id`),
+ KEY `menu_name` (`menu_name`),
+ KEY `menu_flags` (`menu_flags`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `menu_item`
+--
+
+CREATE TABLE IF NOT EXISTS `menu_item` (
+ `mitem_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `mitem_link` char(255) NOT NULL DEFAULT '',
+ `mitem_desc` char(255) NOT NULL DEFAULT '',
+ `mitem_flags` int(11) NOT NULL DEFAULT '0',
+ `allow_cid` mediumtext NOT NULL,
+ `allow_gid` mediumtext NOT NULL,
+ `deny_cid` mediumtext NOT NULL,
+ `deny_gid` mediumtext NOT NULL,
+ `mitem_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `mitem_menu_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `mitem_order` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`mitem_id`),
+ KEY `mitem_channel_id` (`mitem_channel_id`),
+ KEY `mitem_menu_id` (`mitem_menu_id`),
+ KEY `mitem_flags` (`mitem_flags`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `notify`
+--
+
+CREATE TABLE IF NOT EXISTS `notify` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `hash` char(64) NOT NULL DEFAULT '',
+ `name` char(255) NOT NULL DEFAULT '',
+ `url` char(255) NOT NULL DEFAULT '',
+ `photo` char(255) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `msg` mediumtext NOT NULL,
+ `aid` int(11) NOT NULL DEFAULT '0',
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `link` char(255) NOT NULL DEFAULT '',
+ `parent` char(255) NOT NULL DEFAULT '',
+ `seen` tinyint(1) NOT NULL DEFAULT '0',
+ `type` int(11) NOT NULL DEFAULT '0',
+ `verb` char(255) NOT NULL DEFAULT '',
+ `otype` char(16) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `type` (`type`),
+ KEY `seen` (`seen`),
+ KEY `uid` (`uid`),
+ KEY `date` (`date`),
+ KEY `hash` (`hash`),
+ KEY `parent` (`parent`),
+ KEY `link` (`link`),
+ KEY `otype` (`otype`),
+ KEY `aid` (`aid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `obj`
+--
+
+CREATE TABLE IF NOT EXISTS `obj` (
+ `obj_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `obj_page` char(64) NOT NULL DEFAULT '',
+ `obj_verb` char(255) NOT NULL DEFAULT '',
+ `obj_type` int(10) unsigned NOT NULL DEFAULT '0',
+ `obj_obj` char(255) NOT NULL DEFAULT '',
+ `obj_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `allow_cid` mediumtext NOT NULL,
+ `allow_gid` mediumtext NOT NULL,
+ `deny_cid` mediumtext NOT NULL,
+ `deny_gid` mediumtext NOT NULL,
+ PRIMARY KEY (`obj_id`),
+ KEY `obj_verb` (`obj_verb`),
+ KEY `obj_page` (`obj_page`),
+ KEY `obj_type` (`obj_type`),
+ KEY `obj_channel` (`obj_channel`),
+ KEY `obj_obj` (`obj_obj`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `outq`
+--
+
+CREATE TABLE IF NOT EXISTS `outq` (
+ `outq_hash` char(255) NOT NULL,
+ `outq_account` int(10) unsigned NOT NULL DEFAULT '0',
+ `outq_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `outq_driver` char(32) NOT NULL DEFAULT '',
+ `outq_posturl` char(255) NOT NULL DEFAULT '',
+ `outq_async` tinyint(1) NOT NULL DEFAULT '0',
+ `outq_delivered` tinyint(1) NOT NULL DEFAULT '0',
+ `outq_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `outq_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `outq_notify` mediumtext NOT NULL,
+ `outq_msg` mediumtext NOT NULL,
+ PRIMARY KEY (`outq_hash`),
+ KEY `outq_account` (`outq_account`),
+ KEY `outq_channel` (`outq_channel`),
+ KEY `outq_hub` (`outq_posturl`),
+ KEY `outq_created` (`outq_created`),
+ KEY `outq_updated` (`outq_updated`),
+ KEY `outq_async` (`outq_async`),
+ KEY `outq_delivered` (`outq_delivered`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `pconfig`
+--
+
+CREATE TABLE IF NOT EXISTS `pconfig` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `cat` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `k` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
+ `v` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `access` (`uid`,`cat`,`k`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `photo`
+--
+
+CREATE TABLE IF NOT EXISTS `photo` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `xchan` char(255) NOT NULL DEFAULT '',
+ `resource_id` char(255) NOT NULL DEFAULT '',
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `title` char(255) NOT NULL DEFAULT '',
+ `description` text NOT NULL,
+ `album` char(255) NOT NULL DEFAULT '',
+ `filename` char(255) NOT NULL DEFAULT '',
+ `type` char(128) NOT NULL DEFAULT 'image/jpeg',
+ `height` smallint(6) NOT NULL DEFAULT '0',
+ `width` smallint(6) NOT NULL DEFAULT '0',
+ `size` int(10) unsigned NOT NULL DEFAULT '0',
+ `data` mediumblob NOT NULL,
+ `scale` tinyint(3) NOT NULL DEFAULT '0',
+ `profile` tinyint(1) NOT NULL DEFAULT '0',
+ `photo_flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `allow_cid` mediumtext NOT NULL,
+ `allow_gid` mediumtext NOT NULL,
+ `deny_cid` mediumtext NOT NULL,
+ `deny_gid` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `album` (`album`),
+ KEY `scale` (`scale`),
+ KEY `profile` (`profile`),
+ KEY `photo_flags` (`photo_flags`),
+ KEY `type` (`type`),
+ KEY `aid` (`aid`),
+ KEY `xchan` (`xchan`),
+ KEY `size` (`size`),
+ KEY `resource_id` (`resource_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `poll`
+--
+
+CREATE TABLE IF NOT EXISTS `poll` (
+ `poll_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `poll_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `poll_desc` text NOT NULL,
+ `poll_flags` int(11) NOT NULL DEFAULT '0',
+ `poll_votes` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`poll_id`),
+ KEY `poll_channel` (`poll_channel`),
+ KEY `poll_flags` (`poll_flags`),
+ KEY `poll_votes` (`poll_votes`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `poll_elm`
+--
+
+CREATE TABLE IF NOT EXISTS `poll_elm` (
+ `pelm_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `pelm_poll` int(10) unsigned NOT NULL DEFAULT '0',
+ `pelm_desc` text NOT NULL,
+ `pelm_flags` int(11) NOT NULL DEFAULT '0',
+ `pelm_result` float NOT NULL DEFAULT '0',
+ PRIMARY KEY (`pelm_id`),
+ KEY `pelm_poll` (`pelm_poll`),
+ KEY `pelm_result` (`pelm_result`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `profdef`
+--
+
+CREATE TABLE IF NOT EXISTS `profdef` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `field_name` char(255) NOT NULL DEFAULT '',
+ `field_type` char(16) NOT NULL DEFAULT '',
+ `field_desc` char(255) NOT NULL DEFAULT '',
+ `field_help` char(255) NOT NULL DEFAULT '',
+ `field_inputs` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `field_name` (`field_name`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `profext`
+--
+
+CREATE TABLE IF NOT EXISTS `profext` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `hash` char(255) NOT NULL DEFAULT '',
+ `k` char(255) NOT NULL DEFAULT '',
+ `v` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `channel_id` (`channel_id`),
+ KEY `hash` (`hash`),
+ KEY `k` (`k`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `profile`
+--
+
+CREATE TABLE IF NOT EXISTS `profile` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `profile_guid` char(64) NOT NULL DEFAULT '',
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `profile_name` char(255) NOT NULL DEFAULT '',
+ `is_default` tinyint(1) NOT NULL DEFAULT '0',
+ `hide_friends` tinyint(1) NOT NULL DEFAULT '0',
+ `name` char(255) NOT NULL DEFAULT '',
+ `pdesc` char(255) NOT NULL DEFAULT '',
+ `chandesc` text NOT NULL,
+ `dob` char(32) NOT NULL DEFAULT '0000-00-00',
+ `dob_tz` char(255) NOT NULL DEFAULT 'UTC',
+ `address` char(255) NOT NULL DEFAULT '',
+ `locality` char(255) NOT NULL DEFAULT '',
+ `region` char(255) NOT NULL DEFAULT '',
+ `postal_code` char(32) NOT NULL DEFAULT '',
+ `country_name` char(255) NOT NULL DEFAULT '',
+ `hometown` char(255) NOT NULL DEFAULT '',
+ `gender` char(32) NOT NULL DEFAULT '',
+ `marital` char(255) NOT NULL DEFAULT '',
+ `with` text NOT NULL,
+ `howlong` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `sexual` char(255) NOT NULL DEFAULT '',
+ `politic` char(255) NOT NULL DEFAULT '',
+ `religion` char(255) NOT NULL DEFAULT '',
+ `keywords` text NOT NULL,
+ `likes` text NOT NULL,
+ `dislikes` text NOT NULL,
+ `about` text NOT NULL,
+ `summary` char(255) NOT NULL DEFAULT '',
+ `music` text NOT NULL,
+ `book` text NOT NULL,
+ `tv` text NOT NULL,
+ `film` text NOT NULL,
+ `interest` text NOT NULL,
+ `romance` text NOT NULL,
+ `work` text NOT NULL,
+ `education` text NOT NULL,
+ `contact` text NOT NULL,
+ `channels` text NOT NULL,
+ `homepage` char(255) NOT NULL DEFAULT '',
+ `photo` char(255) NOT NULL DEFAULT '',
+ `thumb` char(255) NOT NULL DEFAULT '',
+ `publish` tinyint(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `guid` (`profile_guid`,`uid`),
+ KEY `uid` (`uid`),
+ KEY `locality` (`locality`),
+ KEY `hometown` (`hometown`),
+ KEY `gender` (`gender`),
+ KEY `marital` (`marital`),
+ KEY `sexual` (`sexual`),
+ KEY `publish` (`publish`),
+ KEY `aid` (`aid`),
+ KEY `is_default` (`is_default`),
+ KEY `hide_friends` (`hide_friends`),
+ KEY `postal_code` (`postal_code`),
+ KEY `country_name` (`country_name`),
+ KEY `profile_guid` (`profile_guid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `profile_check`
+--
+
+CREATE TABLE IF NOT EXISTS `profile_check` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `cid` int(10) unsigned NOT NULL DEFAULT '0',
+ `dfrn_id` char(255) NOT NULL DEFAULT '',
+ `sec` char(255) NOT NULL DEFAULT '',
+ `expire` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `cid` (`cid`),
+ KEY `dfrn_id` (`dfrn_id`),
+ KEY `sec` (`sec`),
+ KEY `expire` (`expire`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `register`
+--
+
+CREATE TABLE IF NOT EXISTS `register` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `hash` char(255) NOT NULL DEFAULT '',
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `password` char(255) NOT NULL DEFAULT '',
+ `language` char(16) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `hash` (`hash`),
+ KEY `created` (`created`),
+ KEY `uid` (`uid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `session`
+--
+
+CREATE TABLE IF NOT EXISTS `session` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `sid` char(255) NOT NULL DEFAULT '',
+ `data` text NOT NULL,
+ `expire` bigint(20) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `sid` (`sid`),
+ KEY `expire` (`expire`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `shares`
+--
+
+CREATE TABLE IF NOT EXISTS `shares` (
+ `share_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `share_type` int(11) NOT NULL DEFAULT '0',
+ `share_target` int(10) unsigned NOT NULL DEFAULT '0',
+ `share_xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`share_id`),
+ KEY `share_type` (`share_type`),
+ KEY `share_target` (`share_target`),
+ KEY `share_xchan` (`share_xchan`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `sign`
+--
+
+CREATE TABLE IF NOT EXISTS `sign` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `iid` int(10) unsigned NOT NULL DEFAULT '0',
+ `retract_iid` int(10) unsigned NOT NULL DEFAULT '0',
+ `signed_text` mediumtext NOT NULL,
+ `signature` text NOT NULL,
+ `signer` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `iid` (`iid`),
+ KEY `retract_iid` (`retract_iid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `site`
+--
+
+CREATE TABLE IF NOT EXISTS `site` (
+ `site_url` char(255) NOT NULL,
+ `site_access` int(11) NOT NULL DEFAULT '0',
+ `site_flags` int(11) NOT NULL DEFAULT '0',
+ `site_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `site_pull` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `site_sync` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `site_directory` char(255) NOT NULL DEFAULT '',
+ `site_register` int(11) NOT NULL DEFAULT '0',
+ `site_sellpage` char(255) NOT NULL DEFAULT '',
+ `site_location` char(255) NOT NULL DEFAULT '',
+ `site_realm` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`site_url`),
+ KEY `site_flags` (`site_flags`),
+ KEY `site_update` (`site_update`),
+ KEY `site_directory` (`site_directory`),
+ KEY `site_register` (`site_register`),
+ KEY `site_access` (`site_access`),
+ KEY `site_sellpage` (`site_sellpage`),
+ KEY `site_pull` (`site_pull`),
+ KEY `site_realm` (`site_realm`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `source`
+--
+
+CREATE TABLE IF NOT EXISTS `source` (
+ `src_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `src_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
+ `src_channel_xchan` char(255) NOT NULL DEFAULT '',
+ `src_xchan` char(255) NOT NULL DEFAULT '',
+ `src_patt` mediumtext NOT NULL,
+ PRIMARY KEY (`src_id`),
+ KEY `src_channel_id` (`src_channel_id`),
+ KEY `src_channel_xchan` (`src_channel_xchan`),
+ KEY `src_xchan` (`src_xchan`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `spam`
+--
+
+CREATE TABLE IF NOT EXISTS `spam` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `spam` int(11) NOT NULL DEFAULT '0',
+ `ham` int(11) NOT NULL DEFAULT '0',
+ `term` char(255) NOT NULL DEFAULT '',
+ `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `spam` (`spam`),
+ KEY `ham` (`ham`),
+ KEY `term` (`term`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `sys_perms`
+--
+
+CREATE TABLE IF NOT EXISTS `sys_perms` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `cat` char(255) NOT NULL DEFAULT '',
+ `k` char(255) NOT NULL DEFAULT '',
+ `v` mediumtext NOT NULL,
+ `public_perm` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `term`
+--
+
+CREATE TABLE IF NOT EXISTS `term` (
+ `tid` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `aid` int(10) unsigned NOT NULL DEFAULT '0',
+ `uid` int(10) unsigned NOT NULL DEFAULT '0',
+ `oid` int(10) unsigned NOT NULL DEFAULT '0',
+ `otype` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `type` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `term` char(255) NOT NULL DEFAULT '',
+ `url` char(255) NOT NULL DEFAULT '',
+ `imgurl` char(255) NOT NULL DEFAULT '',
+ `term_hash` char(255) NOT NULL DEFAULT '',
+ `parent_hash` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`tid`),
+ KEY `oid` (`oid`),
+ KEY `otype` (`otype`),
+ KEY `type` (`type`),
+ KEY `term` (`term`),
+ KEY `uid` (`uid`),
+ KEY `aid` (`aid`),
+ KEY `imgurl` (`imgurl`),
+ KEY `term_hash` (`term_hash`),
+ KEY `parent_hash` (`parent_hash`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tokens`
+--
+
+CREATE TABLE IF NOT EXISTS `tokens` (
+ `id` varchar(40) NOT NULL DEFAULT '',
+ `secret` text NOT NULL,
+ `client_id` varchar(20) NOT NULL DEFAULT '',
+ `expires` bigint(20) unsigned NOT NULL DEFAULT '0',
+ `scope` varchar(200) NOT NULL DEFAULT '',
+ `uid` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `client_id` (`client_id`),
+ KEY `expires` (`expires`),
+ KEY `uid` (`uid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `updates`
+--
+
+CREATE TABLE IF NOT EXISTS `updates` (
+ `ud_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `ud_hash` char(128) NOT NULL DEFAULT '',
+ `ud_guid` char(255) NOT NULL DEFAULT '',
+ `ud_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `ud_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `ud_flags` int(11) NOT NULL DEFAULT '0',
+ `ud_addr` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`ud_id`),
+ KEY `ud_date` (`ud_date`),
+ KEY `ud_guid` (`ud_guid`),
+ KEY `ud_hash` (`ud_hash`),
+ KEY `ud_flags` (`ud_flags`),
+ KEY `ud_addr` (`ud_addr`),
+ KEY `ud_last` (`ud_last`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `verify`
+--
+
+CREATE TABLE IF NOT EXISTS `verify` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `type` char(32) NOT NULL DEFAULT '',
+ `token` char(255) NOT NULL DEFAULT '',
+ `meta` char(255) NOT NULL DEFAULT '',
+ `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`id`),
+ KEY `channel` (`channel`),
+ KEY `type` (`type`),
+ KEY `token` (`token`),
+ KEY `meta` (`meta`),
+ KEY `created` (`created`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `vote`
+--
+
+CREATE TABLE IF NOT EXISTS `vote` (
+ `vote_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `vote_poll` int(11) NOT NULL DEFAULT '0',
+ `vote_element` int(11) NOT NULL DEFAULT '0',
+ `vote_result` text NOT NULL,
+ `vote_xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`vote_id`),
+ UNIQUE KEY `vote_vote` (`vote_poll`,`vote_element`,`vote_xchan`),
+ KEY `vote_poll` (`vote_poll`),
+ KEY `vote_element` (`vote_element`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `xchan`
+--
+
+CREATE TABLE IF NOT EXISTS `xchan` (
+ `xchan_hash` char(255) NOT NULL,
+ `xchan_guid` char(255) NOT NULL DEFAULT '',
+ `xchan_guid_sig` text NOT NULL,
+ `xchan_pubkey` text NOT NULL,
+ `xchan_photo_mimetype` char(32) NOT NULL DEFAULT 'image/jpeg',
+ `xchan_photo_l` char(255) NOT NULL DEFAULT '',
+ `xchan_photo_m` char(255) NOT NULL DEFAULT '',
+ `xchan_photo_s` char(255) NOT NULL DEFAULT '',
+ `xchan_addr` char(255) NOT NULL DEFAULT '',
+ `xchan_url` char(255) NOT NULL DEFAULT '',
+ `xchan_connurl` char(255) NOT NULL DEFAULT '',
+ `xchan_follow` char(255) NOT NULL DEFAULT '',
+ `xchan_connpage` char(255) NOT NULL DEFAULT '',
+ `xchan_name` char(255) NOT NULL DEFAULT '',
+ `xchan_network` char(255) NOT NULL DEFAULT '',
+ `xchan_instance_url` char(255) NOT NULL DEFAULT '',
+ `xchan_flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `xchan_photo_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `xchan_name_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`xchan_hash`),
+ KEY `xchan_guid` (`xchan_guid`),
+ KEY `xchan_addr` (`xchan_addr`),
+ KEY `xchan_name` (`xchan_name`),
+ KEY `xchan_network` (`xchan_network`),
+ KEY `xchan_url` (`xchan_url`),
+ KEY `xchan_flags` (`xchan_flags`),
+ KEY `xchan_connurl` (`xchan_connurl`),
+ KEY `xchan_instance_url` (`xchan_instance_url`),
+ KEY `xchan_follow` (`xchan_follow`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `xchat`
+--
+
+CREATE TABLE IF NOT EXISTS `xchat` (
+ `xchat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `xchat_url` char(255) NOT NULL DEFAULT '',
+ `xchat_desc` char(255) NOT NULL DEFAULT '',
+ `xchat_xchan` char(255) NOT NULL DEFAULT '',
+ `xchat_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`xchat_id`),
+ KEY `xchat_url` (`xchat_url`),
+ KEY `xchat_desc` (`xchat_desc`),
+ KEY `xchat_xchan` (`xchat_xchan`),
+ KEY `xchat_edited` (`xchat_edited`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `xconfig`
+--
+
+CREATE TABLE IF NOT EXISTS `xconfig` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `xchan` char(255) NOT NULL DEFAULT '',
+ `cat` char(255) NOT NULL DEFAULT '',
+ `k` char(255) NOT NULL DEFAULT '',
+ `v` mediumtext NOT NULL,
+ PRIMARY KEY (`id`),
+ KEY `xchan` (`xchan`),
+ KEY `cat` (`cat`),
+ KEY `k` (`k`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `xign`
+--
+
+CREATE TABLE IF NOT EXISTS `xign` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL DEFAULT '0',
+ `xchan` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ KEY `uid` (`uid`),
+ KEY `xchan` (`xchan`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `xlink`
+--
+
+CREATE TABLE IF NOT EXISTS `xlink` (
+ `xlink_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `xlink_xchan` char(255) NOT NULL DEFAULT '',
+ `xlink_link` char(255) NOT NULL DEFAULT '',
+ `xlink_rating` int(11) NOT NULL DEFAULT '0',
+ `xlink_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ PRIMARY KEY (`xlink_id`),
+ KEY `xlink_xchan` (`xlink_xchan`),
+ KEY `xlink_link` (`xlink_link`),
+ KEY `xlink_updated` (`xlink_updated`),
+ KEY `xlink_rating` (`xlink_rating`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `xprof`
+--
+
+CREATE TABLE IF NOT EXISTS `xprof` (
+ `xprof_hash` char(255) NOT NULL,
+ `xprof_age` tinyint(3) unsigned NOT NULL DEFAULT '0',
+ `xprof_desc` char(255) NOT NULL DEFAULT '',
+ `xprof_dob` char(12) NOT NULL DEFAULT '',
+ `xprof_gender` char(255) NOT NULL DEFAULT '',
+ `xprof_marital` char(255) NOT NULL DEFAULT '',
+ `xprof_sexual` char(255) NOT NULL DEFAULT '',
+ `xprof_locale` char(255) NOT NULL DEFAULT '',
+ `xprof_region` char(255) NOT NULL DEFAULT '',
+ `xprof_postcode` char(32) NOT NULL DEFAULT '',
+ `xprof_country` char(255) NOT NULL DEFAULT '',
+ `xprof_keywords` text NOT NULL,
+ `xprof_about` text NOT NULL,
+ `xprof_homepage` char(255) NOT NULL DEFAULT '',
+ `xprof_hometown` char(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`xprof_hash`),
+ KEY `xprof_desc` (`xprof_desc`),
+ KEY `xprof_dob` (`xprof_dob`),
+ KEY `xprof_gender` (`xprof_gender`),
+ KEY `xprof_marital` (`xprof_marital`),
+ KEY `xprof_sexual` (`xprof_sexual`),
+ KEY `xprof_locale` (`xprof_locale`),
+ KEY `xprof_region` (`xprof_region`),
+ KEY `xprof_postcode` (`xprof_postcode`),
+ KEY `xprof_country` (`xprof_country`),
+ KEY `xprof_age` (`xprof_age`),
+ KEY `xprof_hometown` (`xprof_hometown`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `xtag`
+--
+
+CREATE TABLE IF NOT EXISTS `xtag` (
+ `xtag_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `xtag_hash` char(255) NOT NULL DEFAULT '',
+ `xtag_term` char(255) NOT NULL DEFAULT '',
+ `xtag_flags` int(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`xtag_id`),
+ KEY `xtag_term` (`xtag_term`),
+ KEY `xtag_hash` (`xtag_hash`),
+ KEY `xtag_flags` (`xtag_flags`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql
new file mode 100644
index 000000000..85eb802d2
--- /dev/null
+++ b/install/schema_postgres.sql
@@ -0,0 +1,1190 @@
+CREATE TABLE "abook" (
+ "abook_id" serial NOT NULL,
+ "abook_account" bigint NOT NULL,
+ "abook_channel" bigint NOT NULL,
+ "abook_xchan" text NOT NULL DEFAULT '',
+ "abook_my_perms" bigint NOT NULL DEFAULT '0',
+ "abook_their_perms" bigint NOT NULL DEFAULT '0',
+ "abook_closeness" numeric(3) NOT NULL DEFAULT '99',
+ "abook_rating" bigint NOT NULL DEFAULT '0',
+ "abook_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "abook_updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "abook_connected" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "abook_dob" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "abook_flags" bigint NOT NULL DEFAULT '0',
+ "abook_profile" char(64) NOT NULL DEFAULT '',
+ PRIMARY KEY ("abook_id")
+);
+ create index "abook_account" on abook ("abook_account");
+ create index "abook_channel" on abook ("abook_channel");
+ create index "abook_xchan" on abook ("abook_xchan");
+ create index "abook_my_perms" on abook ("abook_my_perms");
+ create index "abook_their_perms" on abook ("abook_their_perms");
+ create index "abook_closeness" on abook ("abook_closeness");
+ create index "abook_created" on abook ("abook_created");
+ create index "abook_updated" on abook ("abook_updated");
+ create index "abook_flags" on abook ("abook_flags");
+ create index "abook_profile" on abook ("abook_profile");
+ create index "abook_dob" on abook ("abook_dob");
+ create index "abook_connected" on abook ("abook_connected");
+ create index "abook_rating" on abook ("abook_rating");
+
+CREATE TABLE "account" (
+ "account_id" serial NOT NULL,
+ "account_parent" bigint NOT NULL DEFAULT '0',
+ "account_default_channel" bigint NOT NULL DEFAULT '0',
+ "account_salt" char(32) NOT NULL DEFAULT '',
+ "account_password" text NOT NULL DEFAULT '',
+ "account_email" text NOT NULL DEFAULT '',
+ "account_external" text NOT NULL DEFAULT '',
+ "account_language" varchar(16) NOT NULL DEFAULT 'en',
+ "account_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "account_lastlog" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "account_flags" bigint NOT NULL DEFAULT '0',
+ "account_roles" bigint NOT NULL DEFAULT '0',
+ "account_reset" text NOT NULL DEFAULT '',
+ "account_expires" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "account_expire_notified" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "account_service_class" varchar(32) NOT NULL DEFAULT '',
+ "account_level" bigint NOT NULL DEFAULT '0',
+ "account_password_changed" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("account_id")
+);
+create index "account_email" on account ("account_email");
+create index "account_service_class" on account ("account_service_class");
+create index "account_parent" on account ("account_parent");
+create index "account_flags" on account ("account_flags");
+create index "account_roles" on account ("account_roles");
+create index "account_lastlog" on account ("account_lastlog");
+create index "account_expires" on account ("account_expires");
+create index "account_default_channel" on account ("account_default_channel");
+create index "account_external" on account ("account_external");
+create index "account_level" on account ("account_level");
+create index "account_password_changed" on account ("account_password_changed");
+CREATE TABLE "addon" (
+ "id" serial NOT NULL,
+ "name" text NOT NULL,
+ "version" text NOT NULL DEFAULT '0',
+ "installed" numeric(1) NOT NULL DEFAULT '0',
+ "hidden" numeric(1) NOT NULL DEFAULT '0',
+ "timestamp" numeric(20) NOT NULL DEFAULT '0',
+ "plugin_admin" numeric(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY ("id")
+);
+create index "addon_hidden_idx" on addon ("hidden");
+create index "addon_name_idx" on addon ("name");
+create index "addon_installed_idx" on addon ("installed");
+CREATE TABLE "app" (
+ "id" serial NOT NULL,
+ "app_id" text NOT NULL DEFAULT '',
+ "app_sig" text NOT NULL DEFAULT '',
+ "app_author" text NOT NULL DEFAULT '',
+ "app_name" text NOT NULL DEFAULT '',
+ "app_desc" text NOT NULL,
+ "app_url" text NOT NULL DEFAULT '',
+ "app_photo" text NOT NULL DEFAULT '',
+ "app_version" text NOT NULL DEFAULT '',
+ "app_channel" bigint NOT NULL DEFAULT '0',
+ "app_addr" text NOT NULL DEFAULT '',
+ "app_price" text NOT NULL DEFAULT '',
+ "app_page" text NOT NULL DEFAULT '',
+ "app_requires" text NOT NULL DEFAULT '',
+ PRIMARY KEY ("id")
+);
+create index "app_id" on app ("app_id");
+create index "app_name" on app ("app_name");
+create index "app_url" on app ("app_url");
+create index "app_photo" on app ("app_photo");
+create index "app_version" on app ("app_version");
+create index "app_channel" on app ("app_channel");
+create index "app_price" on app ("app_price");
+CREATE TABLE "attach" (
+ "id" serial NOT NULL,
+ "aid" bigint NOT NULL DEFAULT '0',
+ "uid" bigint NOT NULL DEFAULT '0',
+ "hash" varchar(64) NOT NULL DEFAULT '',
+ "creator" varchar(128) NOT NULL DEFAULT '',
+ "filename" text NOT NULL DEFAULT '',
+ "filetype" varchar(64) NOT NULL DEFAULT '',
+ "filesize" bigint NOT NULL DEFAULT '0',
+ "revision" bigint NOT NULL DEFAULT '0',
+ "folder" varchar(64) NOT NULL DEFAULT '',
+ "flags" bigint NOT NULL DEFAULT '0',
+ "data" bytea NOT NULL,
+ "created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "allow_cid" text NOT NULL,
+ "allow_gid" text NOT NULL,
+ "deny_cid" text NOT NULL,
+ "deny_gid" text NOT NULL,
+ PRIMARY KEY ("id")
+
+);
+create index "attach_aid_idx" on attach ("aid");
+create index "attach_uid_idx" on attach ("uid");
+create index "attach_hash_idx" on attach ("hash");
+create index "attach_filename_idx" on attach ("filename");
+create index "attach_filetype_idx" on attach ("filetype");
+create index "attach_filesize_idx" on attach ("filesize");
+create index "attach_created_idx" on attach ("created");
+create index "attach_edited_idx" on attach ("edited");
+create index "attach_revision_idx" on attach ("revision");
+create index "attach_folder_idx" on attach ("folder");
+create index "attach_flags_idx" on attach ("flags");
+create index "attach_creator_idx" on attach ("creator");
+CREATE TABLE "auth_codes" (
+ "id" varchar(40) NOT NULL,
+ "client_id" varchar(20) NOT NULL,
+ "redirect_uri" varchar(200) NOT NULL,
+ "expires" bigint NOT NULL,
+ "scope" varchar(250) NOT NULL,
+ PRIMARY KEY ("id")
+);
+CREATE TABLE "cache" (
+ "k" text NOT NULL,
+ "v" text NOT NULL,
+ "updated" timestamp NOT NULL,
+ PRIMARY KEY ("k")
+);
+CREATE TABLE "channel" (
+ "channel_id" serial NOT NULL,
+ "channel_account_id" bigint NOT NULL DEFAULT '0',
+ "channel_primary" numeric(1) NOT NULL DEFAULT '0',
+ "channel_name" text NOT NULL DEFAULT '',
+ "channel_address" text NOT NULL DEFAULT '',
+ "channel_guid" text NOT NULL DEFAULT '',
+ "channel_guid_sig" text NOT NULL,
+ "channel_hash" text NOT NULL DEFAULT '',
+ "channel_timezone" varchar(128) NOT NULL DEFAULT 'UTC',
+ "channel_location" text NOT NULL DEFAULT '',
+ "channel_theme" text NOT NULL DEFAULT '',
+ "channel_startpage" text NOT NULL DEFAULT '',
+ "channel_pubkey" text NOT NULL,
+ "channel_prvkey" text NOT NULL,
+ "channel_notifyflags" bigint NOT NULL DEFAULT '65535',
+ "channel_pageflags" bigint NOT NULL DEFAULT '0',
+ "channel_dirdate" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "channel_deleted" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "channel_max_anon_mail" bigint NOT NULL DEFAULT '10',
+ "channel_max_friend_req" bigint NOT NULL DEFAULT '10',
+ "channel_expire_days" bigint NOT NULL DEFAULT '0',
+ "channel_passwd_reset" text NOT NULL DEFAULT '',
+ "channel_default_group" text NOT NULL DEFAULT '',
+ "channel_allow_cid" text ,
+ "channel_allow_gid" text ,
+ "channel_deny_cid" text ,
+ "channel_deny_gid" text ,
+ "channel_r_stream" bigint NOT NULL DEFAULT '128',
+ "channel_r_profile" bigint NOT NULL DEFAULT '128',
+ "channel_r_photos" bigint NOT NULL DEFAULT '128',
+ "channel_r_abook" bigint NOT NULL DEFAULT '128',
+ "channel_w_stream" bigint NOT NULL DEFAULT '128',
+ "channel_w_wall" bigint NOT NULL DEFAULT '128',
+ "channel_w_tagwall" bigint NOT NULL DEFAULT '128',
+ "channel_w_comment" bigint NOT NULL DEFAULT '128',
+ "channel_w_mail" bigint NOT NULL DEFAULT '128',
+ "channel_w_photos" bigint NOT NULL DEFAULT '128',
+ "channel_w_chat" bigint NOT NULL DEFAULT '128',
+ "channel_a_delegate" bigint NOT NULL DEFAULT '0',
+ "channel_r_storage" bigint NOT NULL DEFAULT '128',
+ "channel_w_storage" bigint NOT NULL DEFAULT '128',
+ "channel_r_pages" bigint NOT NULL DEFAULT '128',
+ "channel_w_pages" bigint NOT NULL DEFAULT '128',
+ "channel_a_republish" bigint NOT NULL DEFAULT '128',
+ "channel_w_like" bigint NOT NULL DEFAULT '128',
+ PRIMARY KEY ("channel_id"),
+ UNIQUE ("channel_address")
+);
+create index "channel_account_id" on channel ("channel_account_id");
+create index "channel_primary" on channel ("channel_primary");
+create index "channel_name" on channel ("channel_name");
+create index "channel_timezone" on channel ("channel_timezone");
+create index "channel_location" on channel ("channel_location");
+create index "channel_theme" on channel ("channel_theme");
+create index "channel_notifyflags" on channel ("channel_notifyflags");
+create index "channel_pageflags" on channel ("channel_pageflags");
+create index "channel_max_anon_mail" on channel ("channel_max_anon_mail");
+create index "channel_max_friend_req" on channel ("channel_max_friend_req");
+create index "channel_default_gid" on channel ("channel_default_group");
+create index "channel_r_stream" on channel ("channel_r_stream");
+create index "channel_r_profile" on channel ("channel_r_profile");
+create index "channel_r_photos" on channel ("channel_r_photos");
+create index "channel_r_abook" on channel ("channel_r_abook");
+create index "channel_w_stream" on channel ("channel_w_stream");
+create index "channel_w_wall" on channel ("channel_w_wall");
+create index "channel_w_tagwall" on channel ("channel_w_tagwall");
+create index "channel_w_comment" on channel ("channel_w_comment");
+create index "channel_w_mail" on channel ("channel_w_mail");
+create index "channel_w_photos" on channel ("channel_w_photos");
+create index "channel_w_chat" on channel ("channel_w_chat");
+create index "channel_guid" on channel ("channel_guid");
+create index "channel_hash" on channel ("channel_hash");
+create index "channel_expire_days" on channel ("channel_expire_days");
+create index "channel_a_delegate" on channel ("channel_a_delegate");
+create index "channel_r_storage" on channel ("channel_r_storage");
+create index "channel_w_storage" on channel ("channel_w_storage");
+create index "channel_r_pages" on channel ("channel_r_pages");
+create index "channel_w_pages" on channel ("channel_w_pages");
+create index "channel_deleted" on channel ("channel_deleted");
+create index "channel_a_republish" on channel ("channel_a_republish");
+create index "channel_w_like" on channel ("channel_w_like");
+create index "channel_dirdate" on channel ("channel_dirdate");
+CREATE TABLE "chat" (
+ "chat_id" serial NOT NULL,
+ "chat_room" bigint NOT NULL DEFAULT '0',
+ "chat_xchan" text NOT NULL DEFAULT '',
+ "chat_text" text NOT NULL,
+ "created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("chat_id")
+);
+create index "chat_room_idx" on chat ("chat_room");
+create index "chat_xchan_idx" on chat ("chat_xchan");
+create index "chat_created_idx" on chat ("created");
+CREATE TABLE "chatpresence" (
+ "cp_id" serial NOT NULL,
+ "cp_room" bigint NOT NULL DEFAULT '0',
+ "cp_xchan" text NOT NULL DEFAULT '',
+ "cp_last" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "cp_status" text NOT NULL,
+ "cp_client" char(128) NOT NULL DEFAULT '',
+ PRIMARY KEY ("cp_id")
+);
+create index "cp_room" on chatpresence ("cp_room");
+create index "cp_xchan" on chatpresence ("cp_xchan");
+create index "cp_last" on chatpresence ("cp_last");
+create index "cp_status" on chatpresence ("cp_status");
+
+CREATE TABLE "chatroom" (
+ "cr_id" serial NOT NULL,
+ "cr_aid" bigint NOT NULL DEFAULT '0',
+ "cr_uid" bigint NOT NULL DEFAULT '0',
+ "cr_name" text NOT NULL DEFAULT '',
+ "cr_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "cr_edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "cr_expire" bigint NOT NULL DEFAULT '0',
+ "allow_cid" text NOT NULL,
+ "allow_gid" text NOT NULL,
+ "deny_cid" text NOT NULL,
+ "deny_gid" text NOT NULL,
+ PRIMARY KEY ("cr_id")
+);
+create index "cr_aid" on chatroom ("cr_aid");
+create index "cr_uid" on chatroom ("cr_uid");
+create index "cr_name" on chatroom ("cr_name");
+create index "cr_created" on chatroom ("cr_created");
+create index "cr_edited" on chatroom ("cr_edited");
+create index "cr_expire" on chatroom ("cr_expire");
+CREATE TABLE "clients" (
+ "client_id" varchar(20) NOT NULL,
+ "pw" varchar(20) NOT NULL,
+ "redirect_uri" varchar(200) NOT NULL,
+ "name" text,
+ "icon" text,
+ "uid" bigint NOT NULL DEFAULT '0',
+ PRIMARY KEY ("client_id")
+);
+CREATE TABLE "config" (
+ "id" serial NOT NULL,
+ "cat" text NOT NULL,
+ "k" text NOT NULL,
+ "v" text NOT NULL,
+ PRIMARY KEY ("id"),
+ UNIQUE ("cat","k")
+);
+CREATE TABLE "conv" (
+ "id" serial NOT NULL,
+ "guid" text NOT NULL,
+ "recips" text NOT NULL,
+ "uid" bigint NOT NULL,
+ "creator" text NOT NULL,
+ "created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "subject" text NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "conv_created_idx" on conv ("created");
+create index "conv_updated_idx" on conv ("updated");
+
+CREATE TABLE "event" (
+ "id" serial NOT NULL,
+ "aid" bigint NOT NULL DEFAULT '0',
+ "uid" bigint NOT NULL,
+ "event_xchan" text NOT NULL DEFAULT '',
+ "event_hash" text NOT NULL DEFAULT '',
+ "created" timestamp NOT NULL,
+ "edited" timestamp NOT NULL,
+ "start" timestamp NOT NULL,
+ "finish" timestamp NOT NULL,
+ "summary" text NOT NULL,
+ "description" text NOT NULL,
+ "location" text NOT NULL,
+ "type" text NOT NULL,
+ "nofinish" numeric(1) NOT NULL DEFAULT '0',
+ "adjust" numeric(1) NOT NULL DEFAULT '1',
+ "ignore" numeric(1) NOT NULL DEFAULT '0',
+ "allow_cid" text NOT NULL,
+ "allow_gid" text NOT NULL,
+ "deny_cid" text NOT NULL,
+ "deny_gid" text NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "event_uid_idx" on event ("uid");
+create index "event_type_idx" on event ("type");
+create index "event_start_idx" on event ("start");
+create index "event_finish_idx" on event ("finish");
+create index "event_adjust_idx" on event ("adjust");
+create index "event_nofinish_idx" on event ("nofinish");
+create index "event_ignore_idx" on event ("ignore");
+create index "event_aid_idx" on event ("aid");
+create index "event_hash_idx" on event ("event_hash");
+create index "event_xchan_idx" on event ("event_xchan");
+
+
+CREATE TABLE "fcontact" (
+ "id" serial NOT NULL,
+ "url" text NOT NULL,
+ "name" text NOT NULL,
+ "photo" text NOT NULL,
+ "request" text NOT NULL,
+ "nick" text NOT NULL,
+ "addr" text NOT NULL,
+ "batch" text NOT NULL,
+ "notify" text NOT NULL,
+ "poll" text NOT NULL,
+ "confirm" text NOT NULL,
+ "priority" numeric(1) NOT NULL,
+ "network" varchar(32) NOT NULL DEFAULT '',
+ "alias" text NOT NULL,
+ "pubkey" text NOT NULL,
+ "updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("id")
+);
+create index "fcontact_addr_idx" on fcontact ("addr");
+create index "fcontact_network_idx" on fcontact ("network");
+
+CREATE TABLE "ffinder" (
+ "id" serial NOT NULL,
+ "uid" bigint NOT NULL,
+ "cid" bigint NOT NULL,
+ "fid" bigint NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "ffinder_uid_idx" on ffinder ("uid");
+create index "ffinder_cid_idx" on ffinder ("cid");
+create index "ffinder_fid_idx" on ffinder ("fid");
+
+CREATE TABLE "fserver" (
+ "id" serial NOT NULL,
+ "server" text NOT NULL,
+ "posturl" text NOT NULL,
+ "key" text NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "fserver_server_idx" on fserver ("server");
+create index "fserver_posturl_idx" on fserver ("posturl");
+
+CREATE TABLE "fsuggest" (
+ "id" serial NOT NULL,
+ "uid" bigint NOT NULL,
+ "cid" bigint NOT NULL,
+ "name" text NOT NULL,
+ "url" text NOT NULL,
+ "request" text NOT NULL,
+ "photo" text NOT NULL,
+ "note" text NOT NULL,
+ "created" timestamp NOT NULL,
+ PRIMARY KEY ("id")
+);
+CREATE TABLE "group_member" (
+ "id" serial NOT NULL,
+ "uid" bigint NOT NULL,
+ "gid" bigint NOT NULL,
+ "xchan" text NOT NULL DEFAULT '',
+ PRIMARY KEY ("id")
+);
+create index "groupmember_uid" on group_member ("uid");
+create index "groupmember_gid" on group_member ("gid");
+create index "groupmember_xchan" on group_member ("xchan");
+
+CREATE TABLE "groups" (
+ "id" serial NOT NULL,
+ "hash" text NOT NULL DEFAULT '',
+ "uid" bigint NOT NULL,
+ "visible" numeric(1) NOT NULL DEFAULT '0',
+ "deleted" numeric(1) NOT NULL DEFAULT '0',
+ "name" text NOT NULL,
+ PRIMARY KEY ("id")
+
+);
+create index "groups_uid_idx" on groups ("uid");
+create index "groups_visible_idx" on groups ("visible");
+create index "groups_deleted_idx" on groups ("deleted");
+create index "groups_hash_idx" on groups ("hash");
+
+CREATE TABLE "hook" (
+ "id" serial NOT NULL,
+ "hook" text NOT NULL,
+ "file" text NOT NULL,
+ "function" text NOT NULL,
+ "priority" bigint NOT NULL DEFAULT '0',
+ PRIMARY KEY ("id")
+
+);
+create index "hook_idx" on hook ("hook");
+CREATE TABLE "hubloc" (
+ "hubloc_id" serial NOT NULL,
+ "hubloc_guid" text NOT NULL DEFAULT '',
+ "hubloc_guid_sig" text NOT NULL DEFAULT '',
+ "hubloc_hash" text NOT NULL,
+ "hubloc_addr" text NOT NULL DEFAULT '',
+ "hubloc_network" text NOT NULL DEFAULT '',
+ "hubloc_flags" bigint NOT NULL DEFAULT '0',
+ "hubloc_status" bigint NOT NULL DEFAULT '0',
+ "hubloc_url" text NOT NULL DEFAULT '',
+ "hubloc_url_sig" text NOT NULL DEFAULT '',
+ "hubloc_host" text NOT NULL DEFAULT '',
+ "hubloc_callback" text NOT NULL DEFAULT '',
+ "hubloc_connect" text NOT NULL DEFAULT '',
+ "hubloc_sitekey" text NOT NULL DEFAULT '',
+ "hubloc_updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "hubloc_connected" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("hubloc_id")
+);
+create index "hubloc_url" on hubloc ("hubloc_url");
+create index "hubloc_guid" on hubloc ("hubloc_guid");
+create index "hubloc_flags" on hubloc ("hubloc_flags");
+create index "hubloc_connect" on hubloc ("hubloc_connect");
+create index "hubloc_host" on hubloc ("hubloc_host");
+create index "hubloc_addr" on hubloc ("hubloc_addr");
+create index "hubloc_network" on hubloc ("hubloc_network");
+create index "hubloc_updated" on hubloc ("hubloc_updated");
+create index "hubloc_connected" on hubloc ("hubloc_connected");
+create index "hubloc_status" on hubloc ("hubloc_status");
+CREATE TABLE "issue" (
+ "issue_id" serial NOT NULL,
+ "issue_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "issue_updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "issue_assigned" text NOT NULL,
+ "issue_priority" bigint NOT NULL,
+ "issue_status" bigint NOT NULL,
+ "issue_component" text NOT NULL,
+ PRIMARY KEY ("issue_id")
+);
+create index "issue_created" on issue ("issue_created");
+create index "issue_updated" on issue ("issue_updated");
+create index "issue_assigned" on issue ("issue_assigned");
+create index "issue_priority" on issue ("issue_priority");
+create index "issue_status" on issue ("issue_status");
+create index "issue_component" on issue ("issue_component");
+
+CREATE TABLE "item" (
+ "id" serial NOT NULL,
+ "mid" text NOT NULL DEFAULT '',
+ "aid" bigint NOT NULL DEFAULT '0',
+ "uid" bigint NOT NULL DEFAULT '0',
+ "parent" bigint NOT NULL DEFAULT '0',
+ "parent_mid" text NOT NULL DEFAULT '',
+ "thr_parent" text NOT NULL DEFAULT '',
+ "created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "expires" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "commented" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "received" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "changed" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "comments_closed" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "owner_xchan" text NOT NULL DEFAULT '',
+ "author_xchan" text NOT NULL DEFAULT '',
+ "source_xchan" text NOT NULL DEFAULT '',
+ "mimetype" text NOT NULL DEFAULT '',
+ "title" text NOT NULL,
+ "body" text NOT NULL,
+ "app" text NOT NULL DEFAULT '',
+ "lang" varchar(64) NOT NULL DEFAULT '',
+ "revision" bigint NOT NULL DEFAULT '0',
+ "verb" text NOT NULL DEFAULT '',
+ "obj_type" text NOT NULL DEFAULT '',
+ "object" text NOT NULL,
+ "tgt_type" text NOT NULL DEFAULT '',
+ "target" text NOT NULL,
+ "layout_mid" text NOT NULL DEFAULT '',
+ "postopts" text NOT NULL DEFAULT '',
+ "route" text NOT NULL DEFAULT '',
+ "llink" text NOT NULL DEFAULT '',
+ "plink" text NOT NULL DEFAULT '',
+ "resource_id" text NOT NULL DEFAULT '',
+ "resource_type" varchar(16) NOT NULL DEFAULT '',
+ "attach" text NOT NULL,
+ "sig" text NOT NULL DEFAULT '',
+ "diaspora_meta" text NOT NULL DEFAULT '',
+ "location" text NOT NULL DEFAULT '',
+ "coord" text NOT NULL DEFAULT '',
+ "public_policy" text NOT NULL DEFAULT '',
+ "comment_policy" text NOT NULL DEFAULT '',
+ "allow_cid" text NOT NULL,
+ "allow_gid" text NOT NULL,
+ "deny_cid" text NOT NULL,
+ "deny_gid" text NOT NULL,
+ "item_restrict" bigint NOT NULL DEFAULT '0',
+ "item_flags" bigint NOT NULL DEFAULT '0',
+ "item_private" numeric(4) NOT NULL DEFAULT '0',
+ "item_search_vector" tsvector,
+ PRIMARY KEY ("id")
+);
+create index "item_uid" on item ("uid");
+create index "item_parent" on item ("parent");
+create index "item_created" on item ("created");
+create index "item_edited" on item ("edited");
+create index "item_received" on item ("received");
+create index "item_uid_commented" on item ("uid","commented");
+create index "item_uid_created" on item ("uid","created");
+create index "item_changed" on item ("changed");
+create index "item_comments_closed" on item ("comments_closed");
+create index "item_aid" on item ("aid");
+create index "item_owner_xchan" on item ("owner_xchan");
+create index "item_author_xchan" on item ("author_xchan");
+create index "item_resource_type" on item ("resource_type");
+create index "item_restrict" on item ("item_restrict");
+create index "item_flags" on item ("item_flags");
+create index "item_commented" on item ("commented");
+create index "item_verb" on item ("verb");
+create index "item_private" on item ("item_private");
+create index "item_llink" on item ("llink");
+create index "item_expires" on item ("expires");
+create index "item_revision" on item ("revision");
+create index "item_mimetype" on item ("mimetype");
+create index "item_mid" on item ("mid");
+create index "item_parent_mid" on item ("parent_mid");
+create index "item_uid_mid" on item ("mid","uid");
+create index "item_public_policy" on item ("public_policy");
+create index "item_comment_policy" on item ("comment_policy");
+create index "item_layout_mid" on item ("layout_mid");
+
+-- fulltext indexes
+create index "item_search_idx" on item USING gist("item_search_vector");
+create index "item_allow_cid" on item ("allow_cid");
+create index "item_allow_gid" on item ("allow_gid");
+create index "item_deny_cid" on item ("deny_cid");
+create index "item_deny_gid" on item ("deny_gid");
+
+CREATE TABLE "item_id" (
+ "id" serial NOT NULL,
+ "iid" bigint NOT NULL,
+ "uid" bigint NOT NULL,
+ "sid" text NOT NULL,
+ "service" text NOT NULL,
+ PRIMARY KEY ("id")
+
+);
+create index "itemid_uid" on item_id ("uid");
+create index "itemid_sid" on item_id ("sid");
+create index "itemid_service" on item_id ("service");
+create index "itemid_iid" on item_id ("iid");
+CREATE TABLE "likes" (
+ "id" serial NOT NULL,
+ "channel_id" bigint NOT NULL DEFAULT '0',
+ "liker" char(128) NOT NULL DEFAULT '',
+ "likee" char(128) NOT NULL DEFAULT '',
+ "iid" bigint NOT NULL DEFAULT '0',
+ "verb" text NOT NULL DEFAULT '',
+ "target_type" text NOT NULL DEFAULT '',
+ "target_id" char(128) NOT NULL DEFAULT '',
+ "target" text NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "likes_channel_id" on likes ("channel_id");
+create index "likes_liker" on likes ("liker");
+create index "likes_likee" on likes ("likee");
+create index "likes_iid" on likes ("iid");
+create index "likes_verb" on likes ("verb");
+create index "likes_target_type" on likes ("target_type");
+create index "likes_target_id" on likes ("target_id");
+CREATE TABLE "mail" (
+ "id" serial NOT NULL,
+ "convid" bigint NOT NULL DEFAULT '0',
+ "mail_flags" bigint NOT NULL DEFAULT '0',
+ "from_xchan" text NOT NULL DEFAULT '',
+ "to_xchan" text NOT NULL DEFAULT '',
+ "account_id" bigint NOT NULL DEFAULT '0',
+ "channel_id" bigint NOT NULL,
+ "title" text NOT NULL,
+ "body" text NOT NULL,
+ "attach" text NOT NULL DEFAULT '',
+ "mid" text NOT NULL,
+ "parent_mid" text NOT NULL,
+ "created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "expires" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("id")
+);
+create index "mail_convid" on mail ("convid");
+create index "mail_created" on mail ("created");
+create index "mail_flags" on mail ("mail_flags");
+create index "mail_account_id" on mail ("account_id");
+create index "mail_channel_id" on mail ("channel_id");
+create index "mail_from_xchan" on mail ("from_xchan");
+create index "mail_to_xchan" on mail ("to_xchan");
+create index "mail_mid" on mail ("mid");
+create index "mail_parent_mid" on mail ("parent_mid");
+create index "mail_expires" on mail ("expires");
+CREATE TABLE "manage" (
+ "id" serial NOT NULL,
+ "uid" bigint NOT NULL,
+ "xchan" text NOT NULL DEFAULT '',
+ PRIMARY KEY ("id")
+
+);
+create index "manage_uid" on manage ("uid");
+create index "manage_xchan" on manage ("xchan");
+CREATE TABLE "menu" (
+ "menu_id" serial NOT NULL,
+ "menu_channel_id" bigint NOT NULL DEFAULT '0',
+ "menu_name" text NOT NULL DEFAULT '',
+ "menu_desc" text NOT NULL DEFAULT '',
+ "menu_flags" bigint NOT NULL DEFAULT '0',
+ PRIMARY KEY ("menu_id")
+);
+create index "menu_channel_id" on menu ("menu_channel_id");
+create index "menu_name" on menu ("menu_name");
+create index "menu_flags" on menu ("menu_flags");
+CREATE TABLE "menu_item" (
+ "mitem_id" serial NOT NULL,
+ "mitem_link" text NOT NULL DEFAULT '',
+ "mitem_desc" text NOT NULL DEFAULT '',
+ "mitem_flags" bigint NOT NULL DEFAULT '0',
+ "allow_cid" text NOT NULL,
+ "allow_gid" text NOT NULL,
+ "deny_cid" text NOT NULL,
+ "deny_gid" text NOT NULL,
+ "mitem_channel_id" bigint NOT NULL,
+ "mitem_menu_id" bigint NOT NULL DEFAULT '0',
+ "mitem_order" bigint NOT NULL DEFAULT '0',
+ PRIMARY KEY ("mitem_id")
+
+);
+create index "mitem_channel_id" on menu_item ("mitem_channel_id");
+create index "mitem_menu_id" on menu_item ("mitem_menu_id");
+create index "mitem_flags" on menu_item ("mitem_flags");
+CREATE TABLE "notify" (
+ "id" serial NOT NULL,
+ "hash" char(64) NOT NULL,
+ "name" text NOT NULL,
+ "url" text NOT NULL,
+ "photo" text NOT NULL,
+ "date" timestamp NOT NULL,
+ "msg" text NOT NULL DEFAULT '',
+ "aid" bigint NOT NULL,
+ "uid" bigint NOT NULL,
+ "link" text NOT NULL,
+ "parent" text NOT NULL DEFAULT '',
+ "seen" numeric(1) NOT NULL DEFAULT '0',
+ "type" bigint NOT NULL,
+ "verb" text NOT NULL,
+ "otype" varchar(16) NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "notify_type" on notify ("type");
+create index "notify_seen" on notify ("seen");
+create index "notify_uid" on notify ("uid");
+create index "notify_date" on notify ("date");
+create index "notify_hash" on notify ("hash");
+create index "notify_parent" on notify ("parent");
+create index "notify_link" on notify ("link");
+create index "notify_otype" on notify ("otype");
+create index "notify_aid" on notify ("aid");
+CREATE TABLE "obj" (
+ "obj_id" serial NOT NULL,
+ "obj_page" char(64) NOT NULL DEFAULT '',
+ "obj_verb" text NOT NULL DEFAULT '',
+ "obj_type" bigint NOT NULL DEFAULT '0',
+ "obj_obj" text NOT NULL DEFAULT '',
+ "obj_channel" bigint NOT NULL DEFAULT '0',
+ "allow_cid" text NOT NULL,
+ "allow_gid" text NOT NULL,
+ "deny_cid" text NOT NULL,
+ "deny_gid" text NOT NULL,
+ PRIMARY KEY ("obj_id")
+
+);
+create index "obj_verb" on obj ("obj_verb");
+create index "obj_page" on obj ("obj_page");
+create index "obj_type" on obj ("obj_type");
+create index "obj_channel" on obj ("obj_channel");
+create index "obj_obj" on obj ("obj_obj");
+
+CREATE TABLE "outq" (
+ "outq_hash" text NOT NULL,
+ "outq_account" bigint NOT NULL DEFAULT '0',
+ "outq_channel" bigint NOT NULL DEFAULT '0',
+ "outq_driver" varchar(32) NOT NULL DEFAULT '',
+ "outq_posturl" text NOT NULL DEFAULT '',
+ "outq_async" numeric(1) NOT NULL DEFAULT '0',
+ "outq_delivered" numeric(1) NOT NULL DEFAULT '0',
+ "outq_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "outq_updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "outq_notify" text NOT NULL,
+ "outq_msg" text NOT NULL,
+ PRIMARY KEY ("outq_hash")
+);
+create index "outq_account" on outq ("outq_account");
+create index "outq_channel" on outq ("outq_channel");
+create index "outq_hub" on outq ("outq_posturl");
+create index "outq_created" on outq ("outq_created");
+create index "outq_updated" on outq ("outq_updated");
+create index "outq_async" on outq ("outq_async");
+create index "outq_delivered" on outq ("outq_delivered");
+
+CREATE TABLE "pconfig" (
+ "id" serial NOT NULL,
+ "uid" bigint NOT NULL DEFAULT '0',
+ "cat" text NOT NULL,
+ "k" text NOT NULL,
+ "v" text NOT NULL,
+ PRIMARY KEY ("id"),
+ UNIQUE ("uid","cat","k")
+);
+CREATE TABLE "photo" (
+ "id" serial NOT NULL,
+ "aid" bigint NOT NULL DEFAULT '0',
+ "uid" bigint NOT NULL,
+ "xchan" text NOT NULL DEFAULT '',
+ "resource_id" text NOT NULL,
+ "created" timestamp NOT NULL,
+ "edited" timestamp NOT NULL,
+ "title" text NOT NULL,
+ "description" text NOT NULL,
+ "album" text NOT NULL,
+ "filename" text NOT NULL,
+ "type" varchar(128) NOT NULL DEFAULT 'image/jpeg',
+ "height" numeric(6) NOT NULL,
+ "width" numeric(6) NOT NULL,
+ "size" bigint NOT NULL DEFAULT '0',
+ "data" bytea NOT NULL,
+ "scale" numeric(3) NOT NULL,
+ "profile" numeric(1) NOT NULL DEFAULT '0',
+ "photo_flags" bigint NOT NULL DEFAULT '0',
+ "allow_cid" text NOT NULL,
+ "allow_gid" text NOT NULL,
+ "deny_cid" text NOT NULL,
+ "deny_gid" text NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "photo_uid" on photo ("uid");
+create index "photo_album" on photo ("album");
+create index "photo_scale" on photo ("scale");
+create index "photo_profile" on photo ("profile");
+create index "photo_flags" on photo ("photo_flags");
+create index "photo_type" on photo ("type");
+create index "photo_aid" on photo ("aid");
+create index "photo_xchan" on photo ("xchan");
+create index "photo_size" on photo ("size");
+create index "photo_resource_id" on photo ("resource_id");
+
+CREATE TABLE "poll" (
+ "poll_id" serial NOT NULL,
+ "poll_channel" bigint NOT NULL DEFAULT '0',
+ "poll_desc" text NOT NULL,
+ "poll_flags" bigint NOT NULL DEFAULT '0',
+ "poll_votes" bigint NOT NULL DEFAULT '0',
+ PRIMARY KEY ("poll_id")
+
+);
+create index "poll_channel" on poll ("poll_channel");
+create index "poll_flags" on poll ("poll_flags");
+create index "poll_votes" on poll ("poll_votes");
+CREATE TABLE "poll_elm" (
+ "pelm_id" serial NOT NULL,
+ "pelm_poll" bigint NOT NULL DEFAULT '0',
+ "pelm_desc" text NOT NULL,
+ "pelm_flags" bigint NOT NULL DEFAULT '0',
+ "pelm_result" float NOT NULL DEFAULT '0',
+ PRIMARY KEY ("pelm_id")
+);
+create index "pelm_poll" on poll_elm ("pelm_poll");
+create index "pelm_result" on poll_elm ("pelm_result");
+
+CREATE TABLE "profdef" (
+ "id" serial NOT NULL,
+ "field_name" text NOT NULL DEFAULT '',
+ "field_type" varchar(16) NOT NULL DEFAULT '',
+ "field_desc" text NOT NULL DEFAULT '',
+ "field_help" text NOT NULL DEFAULT '',
+ "field_inputs" text NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "profdef_field_name" on profdef ("field_name");
+CREATE TABLE "profext" (
+ "id" serial NOT NULL,
+ "channel_id" bigint NOT NULL DEFAULT '0',
+ "hash" text NOT NULL DEFAULT '',
+ "k" text NOT NULL DEFAULT '',
+ "v" text NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "profext_channel_id" on profext ("channel_id");
+create index "profext_hash" on profext ("hash");
+create index "profext_k" on profext ("k");
+
+CREATE TABLE "profile" (
+ "id" serial NOT NULL,
+ "profile_guid" char(64) NOT NULL DEFAULT '',
+ "aid" bigint NOT NULL DEFAULT '0',
+ "uid" bigint NOT NULL,
+ "profile_name" text NOT NULL,
+ "is_default" numeric(1) NOT NULL DEFAULT '0',
+ "hide_friends" numeric(1) NOT NULL DEFAULT '0',
+ "name" text NOT NULL,
+ "pdesc" text NOT NULL DEFAULT '',
+ "chandesc" text NOT NULL DEFAULT '',
+ "dob" varchar(32) NOT NULL DEFAULT '',
+ "dob_tz" text NOT NULL DEFAULT 'UTC',
+ "address" text NOT NULL DEFAULT '',
+ "locality" text NOT NULL DEFAULT '',
+ "region" text NOT NULL DEFAULT '',
+ "postal_code" varchar(32) NOT NULL DEFAULT '',
+ "country_name" text NOT NULL DEFAULT '',
+ "hometown" text NOT NULL DEFAULT '',
+ "gender" varchar(32) NOT NULL DEFAULT '',
+ "marital" text NOT NULL DEFAULT '',
+ "with" text NOT NULL DEFAULT '',
+ "howlong" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "sexual" text NOT NULL DEFAULT '',
+ "politic" text NOT NULL DEFAULT '',
+ "religion" text NOT NULL DEFAULT '',
+ "keywords" text NOT NULL DEFAULT '',
+ "likes" text NOT NULL DEFAULT '',
+ "dislikes" text NOT NULL DEFAULT '',
+ "about" text NOT NULL DEFAULT '',
+ "summary" text NOT NULL DEFAULT '',
+ "music" text NOT NULL DEFAULT '',
+ "book" text NOT NULL DEFAULT '',
+ "tv" text NOT NULL DEFAULT '',
+ "film" text NOT NULL DEFAULT '',
+ "interest" text NOT NULL DEFAULT '',
+ "romance" text NOT NULL DEFAULT '',
+ "work" text NOT NULL DEFAULT '',
+ "education" text NOT NULL DEFAULT '',
+ "contact" text NOT NULL DEFAULT '',
+ "channels" text NOT NULL DEFAULT '',
+ "homepage" text NOT NULL DEFAULT '',
+ "photo" text NOT NULL,
+ "thumb" text NOT NULL,
+ "publish" numeric(1) NOT NULL DEFAULT '0',
+ PRIMARY KEY ("id"),
+ UNIQUE ("profile_guid","uid")
+
+);
+create index "profile_uid" on profile ("uid");
+create index "profile_locality" on profile ("locality");
+create index "profile_hometown" on profile ("hometown");
+create index "profile_gender" on profile ("gender");
+create index "profile_marital" on profile ("marital");
+create index "profile_sexual" on profile ("sexual");
+create index "profile_publish" on profile ("publish");
+create index "profile_aid" on profile ("aid");
+create index "profile_is_default" on profile ("is_default");
+create index "profile_hide_friends" on profile ("hide_friends");
+create index "profile_postal_code" on profile ("postal_code");
+create index "profile_country_name" on profile ("country_name");
+create index "profile_guid" on profile ("profile_guid");
+CREATE TABLE "profile_check" (
+ "id" serial NOT NULL,
+ "uid" bigint NOT NULL,
+ "cid" bigint NOT NULL DEFAULT '0',
+ "dfrn_id" text NOT NULL,
+ "sec" text NOT NULL,
+ "expire" bigint NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "pc_uid" on profile_check ("uid");
+create index "pc_cid" on profile_check ("cid");
+create index "pc_dfrn_id" on profile_check ("dfrn_id");
+create index "pc_sec" on profile_check ("sec");
+create index "pc_expire" on profile_check ("expire");
+
+CREATE TABLE "register" (
+ "id" serial NOT NULL,
+ "hash" text NOT NULL,
+ "created" timestamp NOT NULL,
+ "uid" bigint NOT NULL,
+ "password" text NOT NULL,
+ "language" varchar(16) NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "reg_hash" on register ("hash");
+create index "reg_created" on register ("created");
+create index "reg_uid" on register ("uid");
+CREATE TABLE "session" (
+ "id" serial,
+ "sid" text NOT NULL,
+ "data" text NOT NULL,
+ "expire" numeric(20) NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "session_sid" on session ("sid");
+create index "session_expire" on session ("expire");
+CREATE TABLE "shares" (
+ "share_id" serial NOT NULL,
+ "share_type" bigint NOT NULL DEFAULT '0',
+ "share_target" bigint NOT NULL DEFAULT '0',
+ "share_xchan" text NOT NULL DEFAULT '',
+ PRIMARY KEY ("share_id")
+);
+create index "share_type" on shares ("share_type");
+create index "share_target" on shares ("share_target");
+create index "share_xchan" on shares ("share_xchan");
+
+CREATE TABLE "sign" (
+ "id" serial NOT NULL,
+ "iid" bigint NOT NULL DEFAULT '0',
+ "retract_iid" bigint NOT NULL DEFAULT '0',
+ "signed_text" text NOT NULL,
+ "signature" text NOT NULL,
+ "signer" text NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "sign_iid" on "sign" ("iid");
+create index "sign_retract_iid" on "sign" ("retract_iid");
+
+CREATE TABLE "site" (
+ "site_url" text NOT NULL,
+ "site_access" bigint NOT NULL DEFAULT '0',
+ "site_flags" bigint NOT NULL DEFAULT '0',
+ "site_update" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "site_pull" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "site_sync" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "site_directory" text NOT NULL DEFAULT '',
+ "site_register" bigint NOT NULL DEFAULT '0',
+ "site_sellpage" text NOT NULL DEFAULT '',
+ "site_location" text NOT NULL DEFAULT '',
+ "site_realm" text NOT NULL DEFAULT '',
+ PRIMARY KEY ("site_url")
+);
+create index "site_flags" on site ("site_flags");
+create index "site_update" on site ("site_update");
+create index "site_directory" on site ("site_directory");
+create index "site_register" on site ("site_register");
+create index "site_access" on site ("site_access");
+create index "site_sellpage" on site ("site_sellpage");
+create index "site_realm" on site ("site_realm");
+
+CREATE TABLE "source" (
+ "src_id" serial NOT NULL,
+ "src_channel_id" bigint NOT NULL DEFAULT '0',
+ "src_channel_xchan" text NOT NULL DEFAULT '',
+ "src_xchan" text NOT NULL DEFAULT '',
+ "src_patt" text NOT NULL,
+ PRIMARY KEY ("src_id")
+);
+create index "src_channel_id" on "source" ("src_channel_id");
+create index "src_channel_xchan" on "source" ("src_channel_xchan");
+create index "src_xchan" on "source" ("src_xchan");
+CREATE TABLE "spam" (
+ "id" serial NOT NULL,
+ "uid" bigint NOT NULL,
+ "spam" bigint NOT NULL DEFAULT '0',
+ "ham" bigint NOT NULL DEFAULT '0',
+ "term" text NOT NULL,
+ "date" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("id")
+);
+create index "spam_uid" on spam ("uid");
+create index "spam_spam" on spam ("spam");
+create index "spam_ham" on spam ("ham");
+create index "spam_term" on spam ("term");
+CREATE TABLE "sys_perms" (
+ "id" serial NOT NULL,
+ "cat" text NOT NULL,
+ "k" text NOT NULL,
+ "v" text NOT NULL,
+ "public_perm" numeric(1) NOT NULL,
+ PRIMARY KEY ("id")
+);
+CREATE TABLE "term" (
+ "tid" serial NOT NULL,
+ "aid" bigint NOT NULL DEFAULT '0',
+ "uid" bigint NOT NULL DEFAULT '0',
+ "oid" bigint NOT NULL,
+ "otype" numeric(3) NOT NULL,
+ "type" numeric(3) NOT NULL,
+ "term" text NOT NULL,
+ "url" text NOT NULL,
+ "imgurl" text NOT NULL DEFAULT '',
+ "term_hash" text NOT NULL DEFAULT '',
+ "parent_hash" text NOT NULL DEFAULT '',
+ PRIMARY KEY ("tid")
+);
+create index "term_oid" on term ("oid");
+create index "term_otype" on term ("otype");
+create index "term_type" on term ("type");
+create index "term_term" on term ("term");
+create index "term_uid" on term ("uid");
+create index "term_aid" on term ("aid");
+create index "term_imgurl" on term ("imgurl");
+create index "term_hash" on term ("term_hash");
+create index "term_parent_hash" on term ("parent_hash");
+CREATE TABLE "tokens" (
+ "id" varchar(40) NOT NULL,
+ "secret" text NOT NULL,
+ "client_id" varchar(20) NOT NULL,
+ "expires" numeric(20) NOT NULL,
+ "scope" varchar(200) NOT NULL,
+ "uid" bigint NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "tokens_client_id" on tokens ("client_id");
+create index "tokens_expires" on tokens ("expires");
+create index "tokens_uid" on tokens ("uid");
+
+CREATE TABLE "updates" (
+ "ud_id" serial NOT NULL,
+ "ud_hash" char(128) NOT NULL,
+ "ud_guid" text NOT NULL DEFAULT '',
+ "ud_date" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "ud_last" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "ud_flags" bigint NOT NULL DEFAULT '0',
+ "ud_addr" text NOT NULL DEFAULT '',
+ PRIMARY KEY ("ud_id")
+);
+create index "ud_date" on updates ("ud_date");
+create index "ud_guid" on updates ("ud_guid");
+create index "ud_hash" on updates ("ud_hash");
+create index "ud_flags" on updates ("ud_flags");
+create index "ud_addr" on updates ("ud_addr");
+create index "ud_last" on updates ("ud_last");
+CREATE TABLE "verify" (
+ "id" serial NOT NULL,
+ "channel" bigint NOT NULL DEFAULT '0',
+ "type" varchar(32) NOT NULL DEFAULT '',
+ "token" text NOT NULL DEFAULT '',
+ "meta" text NOT NULL DEFAULT '',
+ "created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("id")
+);
+create index "verify_channel" on verify ("channel");
+create index "verify_type" on verify ("type");
+create index "verify_token" on verify ("token");
+create index "verify_meta" on verify ("meta");
+create index "verify_created" on verify ("created");
+CREATE TABLE "vote" (
+ "vote_id" serial NOT NULL,
+ "vote_poll" bigint NOT NULL DEFAULT '0',
+ "vote_element" bigint NOT NULL DEFAULT '0',
+ "vote_result" text NOT NULL,
+ "vote_xchan" text NOT NULL DEFAULT '',
+ PRIMARY KEY ("vote_id"),
+ UNIQUE ("vote_poll","vote_element","vote_xchan")
+);
+create index "vote_poll" on vote ("vote_poll");
+create index "vote_element" on vote ("vote_element");
+CREATE TABLE "xchan" (
+ "xchan_hash" text NOT NULL,
+ "xchan_guid" text NOT NULL DEFAULT '',
+ "xchan_guid_sig" text NOT NULL DEFAULT '',
+ "xchan_pubkey" text NOT NULL DEFAULT '',
+ "xchan_photo_mimetype" text NOT NULL DEFAULT 'image/jpeg',
+ "xchan_photo_l" text NOT NULL DEFAULT '',
+ "xchan_photo_m" text NOT NULL DEFAULT '',
+ "xchan_photo_s" text NOT NULL DEFAULT '',
+ "xchan_addr" text NOT NULL DEFAULT '',
+ "xchan_url" text NOT NULL DEFAULT '',
+ "xchan_connurl" text NOT NULL DEFAULT '',
+ "xchan_follow" text NOT NULL DEFAULT '',
+ "xchan_connpage" text NOT NULL DEFAULT '',
+ "xchan_name" text NOT NULL DEFAULT '',
+ "xchan_network" text NOT NULL DEFAULT '',
+ "xchan_instance_url" text NOT NULL DEFAULT '',
+ "xchan_flags" bigint NOT NULL DEFAULT '0',
+ "xchan_photo_date" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "xchan_name_date" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("xchan_hash")
+);
+create index "xchan_guid" on xchan ("xchan_guid");
+create index "xchan_addr" on xchan ("xchan_addr");
+create index "xchan_name" on xchan ("xchan_name");
+create index "xchan_network" on xchan ("xchan_network");
+create index "xchan_url" on xchan ("xchan_url");
+create index "xchan_flags" on xchan ("xchan_flags");
+create index "xchan_connurl" on xchan ("xchan_connurl");
+create index "xchan_instance_url" on xchan ("xchan_instance_url");
+create index "xchan_follow" on xchan ("xchan_follow");
+CREATE TABLE "xchat" (
+ "xchat_id" serial NOT NULL,
+ "xchat_url" text NOT NULL DEFAULT '',
+ "xchat_desc" text NOT NULL DEFAULT '',
+ "xchat_xchan" text NOT NULL DEFAULT '',
+ "xchat_edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("xchat_id")
+);
+create index "xchat_url" on xchat ("xchat_url");
+create index "xchat_desc" on xchat ("xchat_desc");
+create index "xchat_xchan" on xchat ("xchat_xchan");
+create index "xchat_edited" on xchat ("xchat_edited");
+CREATE TABLE "xconfig" (
+ "id" serial NOT NULL,
+ "xchan" text NOT NULL,
+ "cat" text NOT NULL,
+ "k" text NOT NULL,
+ "v" text NOT NULL,
+ PRIMARY KEY ("id")
+);
+create index "xconfig_xchan" on xconfig ("xchan");
+create index "xconfig_cat" on xconfig ("cat");
+create index "xconfig_k" on xconfig ("k");
+CREATE TABLE "xign" (
+ "id" serial NOT NULL,
+ "uid" bigint NOT NULL DEFAULT '0',
+ "xchan" text NOT NULL DEFAULT '',
+ PRIMARY KEY ("id")
+);
+create index "xign_uid" on xign ("uid");
+create index "xign_xchan" on xign ("xchan");
+CREATE TABLE "xlink" (
+ "xlink_id" serial NOT NULL,
+ "xlink_xchan" text NOT NULL DEFAULT '',
+ "xlink_link" text NOT NULL DEFAULT '',
+ "xlink_rating" bigint NOT NULL DEFAULT '0',
+ "xlink_updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ PRIMARY KEY ("xlink_id")
+);
+create index "xlink_xchan" on xlink ("xlink_xchan");
+create index "xlink_link" on xlink ("xlink_link");
+create index "xlink_updated" on xlink ("xlink_updated");
+create index "xlink_rating" on xlink ("xlink_rating");
+CREATE TABLE "xprof" (
+ "xprof_hash" text NOT NULL,
+ "xprof_age" numeric(3) NOT NULL DEFAULT '0',
+ "xprof_desc" text NOT NULL DEFAULT '',
+ "xprof_dob" varchar(12) NOT NULL DEFAULT '',
+ "xprof_gender" text NOT NULL DEFAULT '',
+ "xprof_marital" text NOT NULL DEFAULT '',
+ "xprof_sexual" text NOT NULL DEFAULT '',
+ "xprof_locale" text NOT NULL DEFAULT '',
+ "xprof_region" text NOT NULL DEFAULT '',
+ "xprof_postcode" varchar(32) NOT NULL DEFAULT '',
+ "xprof_country" text NOT NULL DEFAULT '',
+ "xprof_keywords" text NOT NULL,
+ "xprof_about" text NOT NULL,
+ "xprof_homepage" text NOT NULL DEFAULT '',
+ "xprof_hometown" text NOT NULL DEFAULT '',
+ PRIMARY KEY ("xprof_hash")
+);
+create index "xprof_desc" on xprof ("xprof_desc");
+create index "xprof_dob" on xprof ("xprof_dob");
+create index "xprof_gender" on xprof ("xprof_gender");
+create index "xprof_marital" on xprof ("xprof_marital");
+create index "xprof_sexual" on xprof ("xprof_sexual");
+create index "xprof_locale" on xprof ("xprof_locale");
+create index "xprof_region" on xprof ("xprof_region");
+create index "xprof_postcode" on xprof ("xprof_postcode");
+create index "xprof_country" on xprof ("xprof_country");
+create index "xprof_age" on xprof ("xprof_age");
+create index "xprof_hometown" on xprof ("xprof_hometown");
+CREATE TABLE "xtag" (
+ "xtag_id" serial NOT NULL,
+ "xtag_hash" text NOT NULL,
+ "xtag_term" text NOT NULL DEFAULT '',
+ "xtag_flags" bigint NOT NULL DEFAULT '0',
+ PRIMARY KEY ("xtag_id")
+);
+create index "xtag_term" on xtag ("xtag_term");
+create index "xtag_hash" on xtag ("xtag_hash");
+create index "xtag_flags" on xtag ("xtag_flags");
diff --git a/install/update.php b/install/update.php
index c36864908..d6953cdbc 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1130 );
+define( 'UPDATE_VERSION' , 1131 );
/**
*
@@ -1464,3 +1464,23 @@ function update_r1129() {
return UPDATE_FAILED;
}
+function update_r1130() {
+ $myperms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ |PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
+ |PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
+
+ $r = q("select abook_channel, abook_my_perms from abook where (abook_flags & %d) and abook_my_perms != 0",
+ intval(ABOOK_FLAG_SELF)
+ );
+ if($r) {
+ foreach($r as $rr) {
+ set_pconfig($rr['abook_channel'],'system','autoperms',$rr['abook_my_perms']);
+ }
+ }
+ $r = q("update abook set abook_my_perms = %d where (abook_flags & %d) and abook_my_perms = 0",
+ intval($myperms),
+ intval(ABOOK_FLAG_SELF)
+ );
+
+ return UPDATE_SUCCESS;
+} \ No newline at end of file
diff --git a/library/HTMLPurifier.autoload.php b/library/HTMLPurifier.autoload.php
index 8d4017640..c3ea67e81 100644
--- a/library/HTMLPurifier.autoload.php
+++ b/library/HTMLPurifier.autoload.php
@@ -3,6 +3,7 @@
/**
* @file
* Convenience file that registers autoload handler for HTML Purifier.
+ * It also does some sanity checks.
*/
if (function_exists('spl_autoload_register') && function_exists('spl_autoload_unregister')) {
@@ -13,9 +14,14 @@ if (function_exists('spl_autoload_register') && function_exists('spl_autoload_un
spl_autoload_register('__autoload');
}
} elseif (!function_exists('__autoload')) {
- function __autoload($class) {
+ function __autoload($class)
+ {
return HTMLPurifier_Bootstrap::autoload($class);
}
}
+if (ini_get('zend.ze1_compatibility_mode')) {
+ trigger_error("HTML Purifier is not compatible with zend.ze1_compatibility_mode; please turn it off", E_USER_ERROR);
+}
+
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier.composer.php b/library/HTMLPurifier.composer.php
new file mode 100644
index 000000000..6706f4e39
--- /dev/null
+++ b/library/HTMLPurifier.composer.php
@@ -0,0 +1,4 @@
+<?php
+if (!defined('HTMLPURIFIER_PREFIX')) {
+ define('HTMLPURIFIER_PREFIX', __DIR__);
+}
diff --git a/library/HTMLPurifier.func.php b/library/HTMLPurifier.func.php
index 56a55b2fe..64b140bec 100644
--- a/library/HTMLPurifier.func.php
+++ b/library/HTMLPurifier.func.php
@@ -8,11 +8,13 @@
/**
* Purify HTML.
- * @param $html String HTML to purify
- * @param $config Configuration to use, can be any value accepted by
+ * @param string $html String HTML to purify
+ * @param mixed $config Configuration to use, can be any value accepted by
* HTMLPurifier_Config::create()
+ * @return string
*/
-function HTMLPurifier($html, $config = null) {
+function HTMLPurifier($html, $config = null)
+{
static $purifier = false;
if (!$purifier) {
$purifier = new HTMLPurifier();
diff --git a/library/HTMLPurifier.includes.php b/library/HTMLPurifier.includes.php
index 2ed0f0c17..9b7b88a87 100644
--- a/library/HTMLPurifier.includes.php
+++ b/library/HTMLPurifier.includes.php
@@ -7,7 +7,7 @@
* primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS
* FILE, changes will be overwritten the next time the script is run.
*
- * @version 4.1.1
+ * @version 4.6.0
*
* @warning
* You must *not* include any other HTML Purifier files before this file,
@@ -19,6 +19,7 @@
*/
require 'HTMLPurifier.php';
+require 'HTMLPurifier/Arborize.php';
require 'HTMLPurifier/AttrCollections.php';
require 'HTMLPurifier/AttrDef.php';
require 'HTMLPurifier/AttrTransform.php';
@@ -54,9 +55,11 @@ require 'HTMLPurifier/Language.php';
require 'HTMLPurifier/LanguageFactory.php';
require 'HTMLPurifier/Length.php';
require 'HTMLPurifier/Lexer.php';
+require 'HTMLPurifier/Node.php';
require 'HTMLPurifier/PercentEncoder.php';
require 'HTMLPurifier/PropertyList.php';
require 'HTMLPurifier/PropertyListIterator.php';
+require 'HTMLPurifier/Queue.php';
require 'HTMLPurifier/Strategy.php';
require 'HTMLPurifier/StringHash.php';
require 'HTMLPurifier/StringHashParser.php';
@@ -72,7 +75,9 @@ require 'HTMLPurifier/URISchemeRegistry.php';
require 'HTMLPurifier/UnitConverter.php';
require 'HTMLPurifier/VarParser.php';
require 'HTMLPurifier/VarParserException.php';
+require 'HTMLPurifier/Zipper.php';
require 'HTMLPurifier/AttrDef/CSS.php';
+require 'HTMLPurifier/AttrDef/Clone.php';
require 'HTMLPurifier/AttrDef/Enum.php';
require 'HTMLPurifier/AttrDef/Integer.php';
require 'HTMLPurifier/AttrDef/Lang.php';
@@ -90,6 +95,7 @@ require 'HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php';
require 'HTMLPurifier/AttrDef/CSS/Filter.php';
require 'HTMLPurifier/AttrDef/CSS/Font.php';
require 'HTMLPurifier/AttrDef/CSS/FontFamily.php';
+require 'HTMLPurifier/AttrDef/CSS/Ident.php';
require 'HTMLPurifier/AttrDef/CSS/ImportantDecorator.php';
require 'HTMLPurifier/AttrDef/CSS/Length.php';
require 'HTMLPurifier/AttrDef/CSS/ListStyle.php';
@@ -125,14 +131,17 @@ require 'HTMLPurifier/AttrTransform/Lang.php';
require 'HTMLPurifier/AttrTransform/Length.php';
require 'HTMLPurifier/AttrTransform/Name.php';
require 'HTMLPurifier/AttrTransform/NameSync.php';
+require 'HTMLPurifier/AttrTransform/Nofollow.php';
require 'HTMLPurifier/AttrTransform/SafeEmbed.php';
require 'HTMLPurifier/AttrTransform/SafeObject.php';
require 'HTMLPurifier/AttrTransform/SafeParam.php';
require 'HTMLPurifier/AttrTransform/ScriptRequired.php';
+require 'HTMLPurifier/AttrTransform/TargetBlank.php';
require 'HTMLPurifier/AttrTransform/Textarea.php';
require 'HTMLPurifier/ChildDef/Chameleon.php';
require 'HTMLPurifier/ChildDef/Custom.php';
require 'HTMLPurifier/ChildDef/Empty.php';
+require 'HTMLPurifier/ChildDef/List.php';
require 'HTMLPurifier/ChildDef/Required.php';
require 'HTMLPurifier/ChildDef/Optional.php';
require 'HTMLPurifier/ChildDef/StrictBlockquote.php';
@@ -147,10 +156,12 @@ require 'HTMLPurifier/HTMLModule/CommonAttributes.php';
require 'HTMLPurifier/HTMLModule/Edit.php';
require 'HTMLPurifier/HTMLModule/Forms.php';
require 'HTMLPurifier/HTMLModule/Hypertext.php';
+require 'HTMLPurifier/HTMLModule/Iframe.php';
require 'HTMLPurifier/HTMLModule/Image.php';
require 'HTMLPurifier/HTMLModule/Legacy.php';
require 'HTMLPurifier/HTMLModule/List.php';
require 'HTMLPurifier/HTMLModule/Name.php';
+require 'HTMLPurifier/HTMLModule/Nofollow.php';
require 'HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php';
require 'HTMLPurifier/HTMLModule/Object.php';
require 'HTMLPurifier/HTMLModule/Presentation.php';
@@ -158,10 +169,12 @@ require 'HTMLPurifier/HTMLModule/Proprietary.php';
require 'HTMLPurifier/HTMLModule/Ruby.php';
require 'HTMLPurifier/HTMLModule/SafeEmbed.php';
require 'HTMLPurifier/HTMLModule/SafeObject.php';
+require 'HTMLPurifier/HTMLModule/SafeScripting.php';
require 'HTMLPurifier/HTMLModule/Scripting.php';
require 'HTMLPurifier/HTMLModule/StyleAttribute.php';
require 'HTMLPurifier/HTMLModule/Tables.php';
require 'HTMLPurifier/HTMLModule/Target.php';
+require 'HTMLPurifier/HTMLModule/TargetBlank.php';
require 'HTMLPurifier/HTMLModule/Text.php';
require 'HTMLPurifier/HTMLModule/Tidy.php';
require 'HTMLPurifier/HTMLModule/XMLCommonAttributes.php';
@@ -180,6 +193,9 @@ require 'HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php';
require 'HTMLPurifier/Injector/SafeObject.php';
require 'HTMLPurifier/Lexer/DOMLex.php';
require 'HTMLPurifier/Lexer/DirectLex.php';
+require 'HTMLPurifier/Node/Comment.php';
+require 'HTMLPurifier/Node/Element.php';
+require 'HTMLPurifier/Node/Text.php';
require 'HTMLPurifier/Strategy/Composite.php';
require 'HTMLPurifier/Strategy/Core.php';
require 'HTMLPurifier/Strategy/FixNesting.php';
@@ -196,10 +212,13 @@ require 'HTMLPurifier/Token/Start.php';
require 'HTMLPurifier/Token/Text.php';
require 'HTMLPurifier/URIFilter/DisableExternal.php';
require 'HTMLPurifier/URIFilter/DisableExternalResources.php';
+require 'HTMLPurifier/URIFilter/DisableResources.php';
require 'HTMLPurifier/URIFilter/HostBlacklist.php';
require 'HTMLPurifier/URIFilter/MakeAbsolute.php';
require 'HTMLPurifier/URIFilter/Munge.php';
+require 'HTMLPurifier/URIFilter/SafeIframe.php';
require 'HTMLPurifier/URIScheme/data.php';
+require 'HTMLPurifier/URIScheme/file.php';
require 'HTMLPurifier/URIScheme/ftp.php';
require 'HTMLPurifier/URIScheme/http.php';
require 'HTMLPurifier/URIScheme/https.php';
diff --git a/library/HTMLPurifier.kses.php b/library/HTMLPurifier.kses.php
index 3143feb17..752290077 100644
--- a/library/HTMLPurifier.kses.php
+++ b/library/HTMLPurifier.kses.php
@@ -7,7 +7,8 @@
require_once dirname(__FILE__) . '/HTMLPurifier.auto.php';
-function kses($string, $allowed_html, $allowed_protocols = null) {
+function kses($string, $allowed_html, $allowed_protocols = null)
+{
$config = HTMLPurifier_Config::createDefault();
$allowed_elements = array();
$allowed_attributes = array();
@@ -19,7 +20,6 @@ function kses($string, $allowed_html, $allowed_protocols = null) {
}
$config->set('HTML.AllowedElements', $allowed_elements);
$config->set('HTML.AllowedAttributes', $allowed_attributes);
- $allowed_schemes = array();
if ($allowed_protocols !== null) {
$config->set('URI.AllowedSchemes', $allowed_protocols);
}
diff --git a/library/HTMLPurifier.php b/library/HTMLPurifier.php
index ba2c7b306..6f654fde5 100644
--- a/library/HTMLPurifier.php
+++ b/library/HTMLPurifier.php
@@ -19,7 +19,7 @@
*/
/*
- HTML Purifier 4.1.1 - Standards Compliant HTML Filtering
+ HTML Purifier 4.6.0 - Standards Compliant HTML Filtering
Copyright (C) 2006-2008 Edward Z. Yang
This library is free software; you can redistribute it and/or
@@ -54,66 +54,97 @@
class HTMLPurifier
{
- /** Version of HTML Purifier */
- public $version = '4.1.1';
+ /**
+ * Version of HTML Purifier.
+ * @type string
+ */
+ public $version = '4.6.0';
- /** Constant with version of HTML Purifier */
- const VERSION = '4.1.1';
+ /**
+ * Constant with version of HTML Purifier.
+ */
+ const VERSION = '4.6.0';
- /** Global configuration object */
+ /**
+ * Global configuration object.
+ * @type HTMLPurifier_Config
+ */
public $config;
- /** Array of extra HTMLPurifier_Filter objects to run on HTML, for backwards compatibility */
+ /**
+ * Array of extra filter objects to run on HTML,
+ * for backwards compatibility.
+ * @type HTMLPurifier_Filter[]
+ */
private $filters = array();
- /** Single instance of HTML Purifier */
+ /**
+ * Single instance of HTML Purifier.
+ * @type HTMLPurifier
+ */
private static $instance;
- protected $strategy, $generator;
+ /**
+ * @type HTMLPurifier_Strategy_Core
+ */
+ protected $strategy;
+
+ /**
+ * @type HTMLPurifier_Generator
+ */
+ protected $generator;
/**
- * Resultant HTMLPurifier_Context of last run purification. Is an array
- * of contexts if the last called method was purifyArray().
+ * Resultant context of last run purification.
+ * Is an array of contexts if the last called method was purifyArray().
+ * @type HTMLPurifier_Context
*/
public $context;
/**
* Initializes the purifier.
- * @param $config Optional HTMLPurifier_Config object for all instances of
- * the purifier, if omitted, a default configuration is
- * supplied (which can be overridden on a per-use basis).
+ *
+ * @param HTMLPurifier_Config $config Optional HTMLPurifier_Config object
+ * for all instances of the purifier, if omitted, a default
+ * configuration is supplied (which can be overridden on a
+ * per-use basis).
* The parameter can also be any type that
* HTMLPurifier_Config::create() supports.
*/
- public function __construct($config = null) {
-
+ public function __construct($config = null)
+ {
$this->config = HTMLPurifier_Config::create($config);
-
- $this->strategy = new HTMLPurifier_Strategy_Core();
-
+ $this->strategy = new HTMLPurifier_Strategy_Core();
}
/**
* Adds a filter to process the output. First come first serve
- * @param $filter HTMLPurifier_Filter object
+ *
+ * @param HTMLPurifier_Filter $filter HTMLPurifier_Filter object
*/
- public function addFilter($filter) {
- trigger_error('HTMLPurifier->addFilter() is deprecated, use configuration directives in the Filter namespace or Filter.Custom', E_USER_WARNING);
+ public function addFilter($filter)
+ {
+ trigger_error(
+ 'HTMLPurifier->addFilter() is deprecated, use configuration directives' .
+ ' in the Filter namespace or Filter.Custom',
+ E_USER_WARNING
+ );
$this->filters[] = $filter;
}
/**
* Filters an HTML snippet/document to be XSS-free and standards-compliant.
*
- * @param $html String of HTML to purify
- * @param $config HTMLPurifier_Config object for this operation, if omitted,
- * defaults to the config object specified during this
+ * @param string $html String of HTML to purify
+ * @param HTMLPurifier_Config $config Config object for this operation,
+ * if omitted, defaults to the config object specified during this
* object's construction. The parameter can also be any type
* that HTMLPurifier_Config::create() supports.
- * @return Purified HTML
+ *
+ * @return string Purified HTML
*/
- public function purify($html, $config = null) {
-
+ public function purify($html, $config = null)
+ {
// :TODO: make the config merge in, instead of replace
$config = $config ? HTMLPurifier_Config::create($config) : $this->config;
@@ -151,8 +182,12 @@ class HTMLPurifier
unset($filter_flags['Custom']);
$filters = array();
foreach ($filter_flags as $filter => $flag) {
- if (!$flag) continue;
- if (strpos($filter, '.') !== false) continue;
+ if (!$flag) {
+ continue;
+ }
+ if (strpos($filter, '.') !== false) {
+ continue;
+ }
$class = "HTMLPurifier_Filter_$filter";
$filters[] = new $class;
}
@@ -175,9 +210,12 @@ class HTMLPurifier
// list of un-purified tokens
$lexer->tokenizeHTML(
// un-purified HTML
- $html, $config, $context
+ $html,
+ $config,
+ $context
),
- $config, $context
+ $config,
+ $context
)
);
@@ -192,11 +230,15 @@ class HTMLPurifier
/**
* Filters an array of HTML snippets
- * @param $config Optional HTMLPurifier_Config object for this operation.
+ *
+ * @param string[] $array_of_html Array of html snippets
+ * @param HTMLPurifier_Config $config Optional config object for this operation.
* See HTMLPurifier::purify() for more details.
- * @return Array of purified HTML
+ *
+ * @return string[] Array of purified HTML
*/
- public function purifyArray($array_of_html, $config = null) {
+ public function purifyArray($array_of_html, $config = null)
+ {
$context_array = array();
foreach ($array_of_html as $key => $html) {
$array_of_html[$key] = $this->purify($html, $config);
@@ -208,11 +250,16 @@ class HTMLPurifier
/**
* Singleton for enforcing just one HTML Purifier in your system
- * @param $prototype Optional prototype HTMLPurifier instance to
- * overload singleton with, or HTMLPurifier_Config
- * instance to configure the generated version with.
+ *
+ * @param HTMLPurifier|HTMLPurifier_Config $prototype Optional prototype
+ * HTMLPurifier instance to overload singleton with,
+ * or HTMLPurifier_Config instance to configure the
+ * generated version with.
+ *
+ * @return HTMLPurifier
*/
- public static function instance($prototype = null) {
+ public static function instance($prototype = null)
+ {
if (!self::$instance || $prototype) {
if ($prototype instanceof HTMLPurifier) {
self::$instance = $prototype;
@@ -226,12 +273,20 @@ class HTMLPurifier
}
/**
+ * Singleton for enforcing just one HTML Purifier in your system
+ *
+ * @param HTMLPurifier|HTMLPurifier_Config $prototype Optional prototype
+ * HTMLPurifier instance to overload singleton with,
+ * or HTMLPurifier_Config instance to configure the
+ * generated version with.
+ *
+ * @return HTMLPurifier
* @note Backwards compatibility, see instance()
*/
- public static function getInstance($prototype = null) {
+ public static function getInstance($prototype = null)
+ {
return HTMLPurifier::instance($prototype);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier.safe-includes.php b/library/HTMLPurifier.safe-includes.php
index 6402de045..9dea6d1ed 100644
--- a/library/HTMLPurifier.safe-includes.php
+++ b/library/HTMLPurifier.safe-includes.php
@@ -13,6 +13,7 @@
$__dir = dirname(__FILE__);
require_once $__dir . '/HTMLPurifier.php';
+require_once $__dir . '/HTMLPurifier/Arborize.php';
require_once $__dir . '/HTMLPurifier/AttrCollections.php';
require_once $__dir . '/HTMLPurifier/AttrDef.php';
require_once $__dir . '/HTMLPurifier/AttrTransform.php';
@@ -48,9 +49,11 @@ require_once $__dir . '/HTMLPurifier/Language.php';
require_once $__dir . '/HTMLPurifier/LanguageFactory.php';
require_once $__dir . '/HTMLPurifier/Length.php';
require_once $__dir . '/HTMLPurifier/Lexer.php';
+require_once $__dir . '/HTMLPurifier/Node.php';
require_once $__dir . '/HTMLPurifier/PercentEncoder.php';
require_once $__dir . '/HTMLPurifier/PropertyList.php';
require_once $__dir . '/HTMLPurifier/PropertyListIterator.php';
+require_once $__dir . '/HTMLPurifier/Queue.php';
require_once $__dir . '/HTMLPurifier/Strategy.php';
require_once $__dir . '/HTMLPurifier/StringHash.php';
require_once $__dir . '/HTMLPurifier/StringHashParser.php';
@@ -66,7 +69,9 @@ require_once $__dir . '/HTMLPurifier/URISchemeRegistry.php';
require_once $__dir . '/HTMLPurifier/UnitConverter.php';
require_once $__dir . '/HTMLPurifier/VarParser.php';
require_once $__dir . '/HTMLPurifier/VarParserException.php';
+require_once $__dir . '/HTMLPurifier/Zipper.php';
require_once $__dir . '/HTMLPurifier/AttrDef/CSS.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/Clone.php';
require_once $__dir . '/HTMLPurifier/AttrDef/Enum.php';
require_once $__dir . '/HTMLPurifier/AttrDef/Integer.php';
require_once $__dir . '/HTMLPurifier/AttrDef/Lang.php';
@@ -84,6 +89,7 @@ require_once $__dir . '/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php';
require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Filter.php';
require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Font.php';
require_once $__dir . '/HTMLPurifier/AttrDef/CSS/FontFamily.php';
+require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Ident.php';
require_once $__dir . '/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php';
require_once $__dir . '/HTMLPurifier/AttrDef/CSS/Length.php';
require_once $__dir . '/HTMLPurifier/AttrDef/CSS/ListStyle.php';
@@ -119,14 +125,17 @@ require_once $__dir . '/HTMLPurifier/AttrTransform/Lang.php';
require_once $__dir . '/HTMLPurifier/AttrTransform/Length.php';
require_once $__dir . '/HTMLPurifier/AttrTransform/Name.php';
require_once $__dir . '/HTMLPurifier/AttrTransform/NameSync.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/Nofollow.php';
require_once $__dir . '/HTMLPurifier/AttrTransform/SafeEmbed.php';
require_once $__dir . '/HTMLPurifier/AttrTransform/SafeObject.php';
require_once $__dir . '/HTMLPurifier/AttrTransform/SafeParam.php';
require_once $__dir . '/HTMLPurifier/AttrTransform/ScriptRequired.php';
+require_once $__dir . '/HTMLPurifier/AttrTransform/TargetBlank.php';
require_once $__dir . '/HTMLPurifier/AttrTransform/Textarea.php';
require_once $__dir . '/HTMLPurifier/ChildDef/Chameleon.php';
require_once $__dir . '/HTMLPurifier/ChildDef/Custom.php';
require_once $__dir . '/HTMLPurifier/ChildDef/Empty.php';
+require_once $__dir . '/HTMLPurifier/ChildDef/List.php';
require_once $__dir . '/HTMLPurifier/ChildDef/Required.php';
require_once $__dir . '/HTMLPurifier/ChildDef/Optional.php';
require_once $__dir . '/HTMLPurifier/ChildDef/StrictBlockquote.php';
@@ -141,10 +150,12 @@ require_once $__dir . '/HTMLPurifier/HTMLModule/CommonAttributes.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Edit.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Forms.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Hypertext.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Iframe.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Image.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Legacy.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/List.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Name.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/Nofollow.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Object.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Presentation.php';
@@ -152,10 +163,12 @@ require_once $__dir . '/HTMLPurifier/HTMLModule/Proprietary.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Ruby.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/SafeEmbed.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/SafeObject.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/SafeScripting.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Scripting.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/StyleAttribute.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Tables.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Target.php';
+require_once $__dir . '/HTMLPurifier/HTMLModule/TargetBlank.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Text.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/Tidy.php';
require_once $__dir . '/HTMLPurifier/HTMLModule/XMLCommonAttributes.php';
@@ -174,6 +187,9 @@ require_once $__dir . '/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php';
require_once $__dir . '/HTMLPurifier/Injector/SafeObject.php';
require_once $__dir . '/HTMLPurifier/Lexer/DOMLex.php';
require_once $__dir . '/HTMLPurifier/Lexer/DirectLex.php';
+require_once $__dir . '/HTMLPurifier/Node/Comment.php';
+require_once $__dir . '/HTMLPurifier/Node/Element.php';
+require_once $__dir . '/HTMLPurifier/Node/Text.php';
require_once $__dir . '/HTMLPurifier/Strategy/Composite.php';
require_once $__dir . '/HTMLPurifier/Strategy/Core.php';
require_once $__dir . '/HTMLPurifier/Strategy/FixNesting.php';
@@ -190,10 +206,13 @@ require_once $__dir . '/HTMLPurifier/Token/Start.php';
require_once $__dir . '/HTMLPurifier/Token/Text.php';
require_once $__dir . '/HTMLPurifier/URIFilter/DisableExternal.php';
require_once $__dir . '/HTMLPurifier/URIFilter/DisableExternalResources.php';
+require_once $__dir . '/HTMLPurifier/URIFilter/DisableResources.php';
require_once $__dir . '/HTMLPurifier/URIFilter/HostBlacklist.php';
require_once $__dir . '/HTMLPurifier/URIFilter/MakeAbsolute.php';
require_once $__dir . '/HTMLPurifier/URIFilter/Munge.php';
+require_once $__dir . '/HTMLPurifier/URIFilter/SafeIframe.php';
require_once $__dir . '/HTMLPurifier/URIScheme/data.php';
+require_once $__dir . '/HTMLPurifier/URIScheme/file.php';
require_once $__dir . '/HTMLPurifier/URIScheme/ftp.php';
require_once $__dir . '/HTMLPurifier/URIScheme/http.php';
require_once $__dir . '/HTMLPurifier/URIScheme/https.php';
diff --git a/library/HTMLPurifier/Arborize.php b/library/HTMLPurifier/Arborize.php
new file mode 100644
index 000000000..9e6617be5
--- /dev/null
+++ b/library/HTMLPurifier/Arborize.php
@@ -0,0 +1,71 @@
+<?php
+
+/**
+ * Converts a stream of HTMLPurifier_Token into an HTMLPurifier_Node,
+ * and back again.
+ *
+ * @note This transformation is not an equivalence. We mutate the input
+ * token stream to make it so; see all [MUT] markers in code.
+ */
+class HTMLPurifier_Arborize
+{
+ public static function arborize($tokens, $config, $context) {
+ $definition = $config->getHTMLDefinition();
+ $parent = new HTMLPurifier_Token_Start($definition->info_parent);
+ $stack = array($parent->toNode());
+ foreach ($tokens as $token) {
+ $token->skip = null; // [MUT]
+ $token->carryover = null; // [MUT]
+ if ($token instanceof HTMLPurifier_Token_End) {
+ $token->start = null; // [MUT]
+ $r = array_pop($stack);
+ assert($r->name === $token->name);
+ assert(empty($token->attr));
+ $r->endCol = $token->col;
+ $r->endLine = $token->line;
+ $r->endArmor = $token->armor;
+ continue;
+ }
+ $node = $token->toNode();
+ $stack[count($stack)-1]->children[] = $node;
+ if ($token instanceof HTMLPurifier_Token_Start) {
+ $stack[] = $node;
+ }
+ }
+ assert(count($stack) == 1);
+ return $stack[0];
+ }
+
+ public static function flatten($node, $config, $context) {
+ $level = 0;
+ $nodes = array($level => new HTMLPurifier_Queue(array($node)));
+ $closingTokens = array();
+ $tokens = array();
+ do {
+ while (!$nodes[$level]->isEmpty()) {
+ $node = $nodes[$level]->shift(); // FIFO
+ list($start, $end) = $node->toTokenPair();
+ if ($level > 0) {
+ $tokens[] = $start;
+ }
+ if ($end !== NULL) {
+ $closingTokens[$level][] = $end;
+ }
+ if ($node instanceof HTMLPurifier_Node_Element) {
+ $level++;
+ $nodes[$level] = new HTMLPurifier_Queue();
+ foreach ($node->children as $childNode) {
+ $nodes[$level]->push($childNode);
+ }
+ }
+ }
+ $level--;
+ if ($level && isset($closingTokens[$level])) {
+ while ($token = array_pop($closingTokens[$level])) {
+ $tokens[] = $token;
+ }
+ }
+ } while ($level > 0);
+ return $tokens;
+ }
+}
diff --git a/library/HTMLPurifier/AttrCollections.php b/library/HTMLPurifier/AttrCollections.php
index 555b86d04..4f6c2e39a 100644
--- a/library/HTMLPurifier/AttrCollections.php
+++ b/library/HTMLPurifier/AttrCollections.php
@@ -8,7 +8,8 @@ class HTMLPurifier_AttrCollections
{
/**
- * Associative array of attribute collections, indexed by name
+ * Associative array of attribute collections, indexed by name.
+ * @type array
*/
public $info = array();
@@ -16,10 +17,11 @@ class HTMLPurifier_AttrCollections
* Performs all expansions on internal data for use by other inclusions
* It also collects all attribute collection extensions from
* modules
- * @param $attr_types HTMLPurifier_AttrTypes instance
- * @param $modules Hash array of HTMLPurifier_HTMLModule members
+ * @param HTMLPurifier_AttrTypes $attr_types HTMLPurifier_AttrTypes instance
+ * @param HTMLPurifier_HTMLModule[] $modules Hash array of HTMLPurifier_HTMLModule members
*/
- public function __construct($attr_types, $modules) {
+ public function __construct($attr_types, $modules)
+ {
// load extensions from the modules
foreach ($modules as $module) {
foreach ($module->attr_collections as $coll_i => $coll) {
@@ -30,7 +32,9 @@ class HTMLPurifier_AttrCollections
if ($attr_i === 0 && isset($this->info[$coll_i][$attr_i])) {
// merge in includes
$this->info[$coll_i][$attr_i] = array_merge(
- $this->info[$coll_i][$attr_i], $attr);
+ $this->info[$coll_i][$attr_i],
+ $attr
+ );
continue;
}
$this->info[$coll_i][$attr_i] = $attr;
@@ -49,20 +53,29 @@ class HTMLPurifier_AttrCollections
/**
* Takes a reference to an attribute associative array and performs
* all inclusions specified by the zero index.
- * @param &$attr Reference to attribute array
+ * @param array &$attr Reference to attribute array
*/
- public function performInclusions(&$attr) {
- if (!isset($attr[0])) return;
+ public function performInclusions(&$attr)
+ {
+ if (!isset($attr[0])) {
+ return;
+ }
$merge = $attr[0];
$seen = array(); // recursion guard
// loop through all the inclusions
for ($i = 0; isset($merge[$i]); $i++) {
- if (isset($seen[$merge[$i]])) continue;
+ if (isset($seen[$merge[$i]])) {
+ continue;
+ }
$seen[$merge[$i]] = true;
// foreach attribute of the inclusion, copy it over
- if (!isset($this->info[$merge[$i]])) continue;
+ if (!isset($this->info[$merge[$i]])) {
+ continue;
+ }
foreach ($this->info[$merge[$i]] as $key => $value) {
- if (isset($attr[$key])) continue; // also catches more inclusions
+ if (isset($attr[$key])) {
+ continue;
+ } // also catches more inclusions
$attr[$key] = $value;
}
if (isset($this->info[$merge[$i]][0])) {
@@ -76,20 +89,24 @@ class HTMLPurifier_AttrCollections
/**
* Expands all string identifiers in an attribute array by replacing
* them with the appropriate values inside HTMLPurifier_AttrTypes
- * @param &$attr Reference to attribute array
- * @param $attr_types HTMLPurifier_AttrTypes instance
+ * @param array &$attr Reference to attribute array
+ * @param HTMLPurifier_AttrTypes $attr_types HTMLPurifier_AttrTypes instance
*/
- public function expandIdentifiers(&$attr, $attr_types) {
-
+ public function expandIdentifiers(&$attr, $attr_types)
+ {
// because foreach will process new elements we add, make sure we
// skip duplicates
$processed = array();
foreach ($attr as $def_i => $def) {
// skip inclusions
- if ($def_i === 0) continue;
+ if ($def_i === 0) {
+ continue;
+ }
- if (isset($processed[$def_i])) continue;
+ if (isset($processed[$def_i])) {
+ continue;
+ }
// determine whether or not attribute is required
if ($required = (strpos($def_i, '*') !== false)) {
@@ -120,9 +137,7 @@ class HTMLPurifier_AttrCollections
unset($attr[$def_i]);
}
}
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef.php b/library/HTMLPurifier/AttrDef.php
index b2e4f36c5..5ac06522b 100644
--- a/library/HTMLPurifier/AttrDef.php
+++ b/library/HTMLPurifier/AttrDef.php
@@ -14,23 +14,25 @@ abstract class HTMLPurifier_AttrDef
{
/**
- * Tells us whether or not an HTML attribute is minimized. Has no
- * meaning in other contexts.
+ * Tells us whether or not an HTML attribute is minimized.
+ * Has no meaning in other contexts.
+ * @type bool
*/
public $minimized = false;
/**
- * Tells us whether or not an HTML attribute is required. Has no
- * meaning in other contexts
+ * Tells us whether or not an HTML attribute is required.
+ * Has no meaning in other contexts
+ * @type bool
*/
public $required = false;
/**
* Validates and cleans passed string according to a definition.
*
- * @param $string String to be validated and cleaned.
- * @param $config Mandatory HTMLPurifier_Config object.
- * @param $context Mandatory HTMLPurifier_AttrContext object.
+ * @param string $string String to be validated and cleaned.
+ * @param HTMLPurifier_Config $config Mandatory HTMLPurifier_Config object.
+ * @param HTMLPurifier_Context $context Mandatory HTMLPurifier_Context object.
*/
abstract public function validate($string, $config, $context);
@@ -55,7 +57,8 @@ abstract class HTMLPurifier_AttrDef
* parsing XML, thus, this behavior may still be correct. We
* assume that newlines have been normalized.
*/
- public function parseCDATA($string) {
+ public function parseCDATA($string)
+ {
$string = trim($string);
$string = str_replace(array("\n", "\t", "\r"), ' ', $string);
return $string;
@@ -63,10 +66,11 @@ abstract class HTMLPurifier_AttrDef
/**
* Factory method for creating this class from a string.
- * @param $string String construction info
- * @return Created AttrDef object corresponding to $string
+ * @param string $string String construction info
+ * @return HTMLPurifier_AttrDef Created AttrDef object corresponding to $string
*/
- public function make($string) {
+ public function make($string)
+ {
// default implementation, return a flyweight of this object.
// If $string has an effect on the returned object (i.e. you
// need to overload this method), it is best
@@ -77,16 +81,20 @@ abstract class HTMLPurifier_AttrDef
/**
* Removes spaces from rgb(0, 0, 0) so that shorthand CSS properties work
* properly. THIS IS A HACK!
+ * @param string $string a CSS colour definition
+ * @return string
*/
- protected function mungeRgb($string) {
+ protected function mungeRgb($string)
+ {
return preg_replace('/rgb\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)\)/', 'rgb(\1,\2,\3)', $string);
}
/**
- * Parses a possibly escaped CSS string and returns the "pure"
+ * Parses a possibly escaped CSS string and returns the "pure"
* version of it.
*/
- protected function expandCSSEscape($string) {
+ protected function expandCSSEscape($string)
+ {
// flexibly parse it
$ret = '';
for ($i = 0, $c = strlen($string); $i < $c; $i++) {
@@ -99,25 +107,32 @@ abstract class HTMLPurifier_AttrDef
if (ctype_xdigit($string[$i])) {
$code = $string[$i];
for ($a = 1, $i++; $i < $c && $a < 6; $i++, $a++) {
- if (!ctype_xdigit($string[$i])) break;
+ if (!ctype_xdigit($string[$i])) {
+ break;
+ }
$code .= $string[$i];
}
// We have to be extremely careful when adding
// new characters, to make sure we're not breaking
// the encoding.
$char = HTMLPurifier_Encoder::unichr(hexdec($code));
- if (HTMLPurifier_Encoder::cleanUTF8($char) === '') continue;
+ if (HTMLPurifier_Encoder::cleanUTF8($char) === '') {
+ continue;
+ }
$ret .= $char;
- if ($i < $c && trim($string[$i]) !== '') $i--;
+ if ($i < $c && trim($string[$i]) !== '') {
+ $i--;
+ }
+ continue;
+ }
+ if ($string[$i] === "\n") {
continue;
}
- if ($string[$i] === "\n") continue;
}
$ret .= $string[$i];
}
return $ret;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS.php b/library/HTMLPurifier/AttrDef/CSS.php
index 953e70675..02c1641fb 100644
--- a/library/HTMLPurifier/AttrDef/CSS.php
+++ b/library/HTMLPurifier/AttrDef/CSS.php
@@ -14,8 +14,14 @@
class HTMLPurifier_AttrDef_CSS extends HTMLPurifier_AttrDef
{
- public function validate($css, $config, $context) {
-
+ /**
+ * @param string $css
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($css, $config, $context)
+ {
$css = $this->parseCDATA($css);
$definition = $config->getCSSDefinition();
@@ -36,34 +42,47 @@ class HTMLPurifier_AttrDef_CSS extends HTMLPurifier_AttrDef
$context->register('CurrentCSSProperty', $property);
foreach ($declarations as $declaration) {
- if (!$declaration) continue;
- if (!strpos($declaration, ':')) continue;
+ if (!$declaration) {
+ continue;
+ }
+ if (!strpos($declaration, ':')) {
+ continue;
+ }
list($property, $value) = explode(':', $declaration, 2);
$property = trim($property);
- $value = trim($value);
+ $value = trim($value);
$ok = false;
do {
if (isset($definition->info[$property])) {
$ok = true;
break;
}
- if (ctype_lower($property)) break;
+ if (ctype_lower($property)) {
+ break;
+ }
$property = strtolower($property);
if (isset($definition->info[$property])) {
$ok = true;
break;
}
- } while(0);
- if (!$ok) continue;
+ } while (0);
+ if (!$ok) {
+ continue;
+ }
// inefficient call, since the validator will do this again
if (strtolower(trim($value)) !== 'inherit') {
// inherit works for everything (but only on the base property)
$result = $definition->info[$property]->validate(
- $value, $config, $context );
+ $value,
+ $config,
+ $context
+ );
} else {
$result = 'inherit';
}
- if ($result === false) continue;
+ if ($result === false) {
+ continue;
+ }
$propvalues[$property] = $result;
}
diff --git a/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php b/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php
index 292c040d4..af2b83dff 100644
--- a/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php
+++ b/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php
@@ -3,19 +3,32 @@
class HTMLPurifier_AttrDef_CSS_AlphaValue extends HTMLPurifier_AttrDef_CSS_Number
{
- public function __construct() {
+ public function __construct()
+ {
parent::__construct(false); // opacity is non-negative, but we will clamp it
}
- public function validate($number, $config, $context) {
+ /**
+ * @param string $number
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function validate($number, $config, $context)
+ {
$result = parent::validate($number, $config, $context);
- if ($result === false) return $result;
- $float = (float) $result;
- if ($float < 0.0) $result = '0';
- if ($float > 1.0) $result = '1';
+ if ($result === false) {
+ return $result;
+ }
+ $float = (float)$result;
+ if ($float < 0.0) {
+ $result = '0';
+ }
+ if ($float > 1.0) {
+ $result = '1';
+ }
return $result;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/Background.php b/library/HTMLPurifier/AttrDef/CSS/Background.php
index 3a3d20cd6..7f1ea3b0f 100644
--- a/library/HTMLPurifier/AttrDef/CSS/Background.php
+++ b/library/HTMLPurifier/AttrDef/CSS/Background.php
@@ -9,11 +9,16 @@ class HTMLPurifier_AttrDef_CSS_Background extends HTMLPurifier_AttrDef
/**
* Local copy of component validators.
+ * @type HTMLPurifier_AttrDef[]
* @note See HTMLPurifier_AttrDef_Font::$info for a similar impl.
*/
protected $info;
- public function __construct($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
$def = $config->getCSSDefinition();
$this->info['background-color'] = $def->info['background-color'];
$this->info['background-image'] = $def->info['background-image'];
@@ -22,40 +27,55 @@ class HTMLPurifier_AttrDef_CSS_Background extends HTMLPurifier_AttrDef
$this->info['background-position'] = $def->info['background-position'];
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
// regular pre-processing
$string = $this->parseCDATA($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
// munge rgb() decl if necessary
$string = $this->mungeRgb($string);
// assumes URI doesn't have spaces in it
- $bits = explode(' ', strtolower($string)); // bits to process
+ $bits = explode(' ', $string); // bits to process
$caught = array();
- $caught['color'] = false;
- $caught['image'] = false;
- $caught['repeat'] = false;
+ $caught['color'] = false;
+ $caught['image'] = false;
+ $caught['repeat'] = false;
$caught['attachment'] = false;
$caught['position'] = false;
$i = 0; // number of catches
- $none = false;
foreach ($bits as $bit) {
- if ($bit === '') continue;
+ if ($bit === '') {
+ continue;
+ }
foreach ($caught as $key => $status) {
if ($key != 'position') {
- if ($status !== false) continue;
+ if ($status !== false) {
+ continue;
+ }
$r = $this->info['background-' . $key]->validate($bit, $config, $context);
} else {
$r = $bit;
}
- if ($r === false) continue;
+ if ($r === false) {
+ continue;
+ }
if ($key == 'position') {
- if ($caught[$key] === false) $caught[$key] = '';
+ if ($caught[$key] === false) {
+ $caught[$key] = '';
+ }
$caught[$key] .= $r . ' ';
} else {
$caught[$key] = $r;
@@ -65,7 +85,9 @@ class HTMLPurifier_AttrDef_CSS_Background extends HTMLPurifier_AttrDef
}
}
- if (!$i) return false;
+ if (!$i) {
+ return false;
+ }
if ($caught['position'] !== false) {
$caught['position'] = $this->info['background-position']->
validate($caught['position'], $config, $context);
@@ -73,15 +95,17 @@ class HTMLPurifier_AttrDef_CSS_Background extends HTMLPurifier_AttrDef
$ret = array();
foreach ($caught as $value) {
- if ($value === false) continue;
+ if ($value === false) {
+ continue;
+ }
$ret[] = $value;
}
- if (empty($ret)) return false;
+ if (empty($ret)) {
+ return false;
+ }
return implode(' ', $ret);
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php b/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php
index fae82eaec..4580ef5a9 100644
--- a/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php
+++ b/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php
@@ -44,15 +44,30 @@
class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef
{
+ /**
+ * @type HTMLPurifier_AttrDef_CSS_Length
+ */
protected $length;
+
+ /**
+ * @type HTMLPurifier_AttrDef_CSS_Percentage
+ */
protected $percentage;
- public function __construct() {
- $this->length = new HTMLPurifier_AttrDef_CSS_Length();
+ public function __construct()
+ {
+ $this->length = new HTMLPurifier_AttrDef_CSS_Length();
$this->percentage = new HTMLPurifier_AttrDef_CSS_Percentage();
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = $this->parseCDATA($string);
$bits = explode(' ', $string);
@@ -74,7 +89,9 @@ class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef
);
foreach ($bits as $bit) {
- if ($bit === '') continue;
+ if ($bit === '') {
+ continue;
+ }
// test for keyword
$lbit = ctype_lower($bit) ? $bit : strtolower($bit);
@@ -104,30 +121,37 @@ class HTMLPurifier_AttrDef_CSS_BackgroundPosition extends HTMLPurifier_AttrDef
$measures[] = $r;
$i++;
}
-
}
- if (!$i) return false; // no valid values were caught
+ if (!$i) {
+ return false;
+ } // no valid values were caught
$ret = array();
// first keyword
- if ($keywords['h']) $ret[] = $keywords['h'];
- elseif ($keywords['ch']) {
+ if ($keywords['h']) {
+ $ret[] = $keywords['h'];
+ } elseif ($keywords['ch']) {
$ret[] = $keywords['ch'];
$keywords['cv'] = false; // prevent re-use: center = center center
+ } elseif (count($measures)) {
+ $ret[] = array_shift($measures);
}
- elseif (count($measures)) $ret[] = array_shift($measures);
- if ($keywords['v']) $ret[] = $keywords['v'];
- elseif ($keywords['cv']) $ret[] = $keywords['cv'];
- elseif (count($measures)) $ret[] = array_shift($measures);
+ if ($keywords['v']) {
+ $ret[] = $keywords['v'];
+ } elseif ($keywords['cv']) {
+ $ret[] = $keywords['cv'];
+ } elseif (count($measures)) {
+ $ret[] = array_shift($measures);
+ }
- if (empty($ret)) return false;
+ if (empty($ret)) {
+ return false;
+ }
return implode(' ', $ret);
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/Border.php b/library/HTMLPurifier/AttrDef/CSS/Border.php
index 42a1d1b4a..16243ba1e 100644
--- a/library/HTMLPurifier/AttrDef/CSS/Border.php
+++ b/library/HTMLPurifier/AttrDef/CSS/Border.php
@@ -8,17 +8,29 @@ class HTMLPurifier_AttrDef_CSS_Border extends HTMLPurifier_AttrDef
/**
* Local copy of properties this property is shorthand for.
+ * @type HTMLPurifier_AttrDef[]
*/
protected $info = array();
- public function __construct($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
$def = $config->getCSSDefinition();
$this->info['border-width'] = $def->info['border-width'];
$this->info['border-style'] = $def->info['border-style'];
$this->info['border-top-color'] = $def->info['border-top-color'];
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = $this->parseCDATA($string);
$string = $this->mungeRgb($string);
$bits = explode(' ', $string);
@@ -26,7 +38,9 @@ class HTMLPurifier_AttrDef_CSS_Border extends HTMLPurifier_AttrDef
$ret = ''; // return value
foreach ($bits as $bit) {
foreach ($this->info as $propname => $validator) {
- if (isset($done[$propname])) continue;
+ if (isset($done[$propname])) {
+ continue;
+ }
$r = $validator->validate($bit, $config, $context);
if ($r !== false) {
$ret .= $r . ' ';
@@ -37,7 +51,6 @@ class HTMLPurifier_AttrDef_CSS_Border extends HTMLPurifier_AttrDef
}
return rtrim($ret);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/Color.php b/library/HTMLPurifier/AttrDef/CSS/Color.php
index 07f95a671..16d2a6b98 100644
--- a/library/HTMLPurifier/AttrDef/CSS/Color.php
+++ b/library/HTMLPurifier/AttrDef/CSS/Color.php
@@ -6,29 +6,47 @@
class HTMLPurifier_AttrDef_CSS_Color extends HTMLPurifier_AttrDef
{
- public function validate($color, $config, $context) {
-
+ /**
+ * @param string $color
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($color, $config, $context)
+ {
static $colors = null;
- if ($colors === null) $colors = $config->get('Core.ColorKeywords');
+ if ($colors === null) {
+ $colors = $config->get('Core.ColorKeywords');
+ }
$color = trim($color);
- if ($color === '') return false;
+ if ($color === '') {
+ return false;
+ }
$lower = strtolower($color);
- if (isset($colors[$lower])) return $colors[$lower];
+ if (isset($colors[$lower])) {
+ return $colors[$lower];
+ }
if (strpos($color, 'rgb(') !== false) {
// rgb literal handling
$length = strlen($color);
- if (strpos($color, ')') !== $length - 1) return false;
+ if (strpos($color, ')') !== $length - 1) {
+ return false;
+ }
$triad = substr($color, 4, $length - 4 - 1);
$parts = explode(',', $triad);
- if (count($parts) !== 3) return false;
+ if (count($parts) !== 3) {
+ return false;
+ }
$type = false; // to ensure that they're all the same type
$new_parts = array();
foreach ($parts as $part) {
$part = trim($part);
- if ($part === '') return false;
+ if ($part === '') {
+ return false;
+ }
$length = strlen($part);
if ($part[$length - 1] === '%') {
// handle percents
@@ -37,9 +55,13 @@ class HTMLPurifier_AttrDef_CSS_Color extends HTMLPurifier_AttrDef
} elseif ($type !== 'percentage') {
return false;
}
- $num = (float) substr($part, 0, $length - 1);
- if ($num < 0) $num = 0;
- if ($num > 100) $num = 100;
+ $num = (float)substr($part, 0, $length - 1);
+ if ($num < 0) {
+ $num = 0;
+ }
+ if ($num > 100) {
+ $num = 100;
+ }
$new_parts[] = "$num%";
} else {
// handle integers
@@ -48,10 +70,14 @@ class HTMLPurifier_AttrDef_CSS_Color extends HTMLPurifier_AttrDef
} elseif ($type !== 'integer') {
return false;
}
- $num = (int) $part;
- if ($num < 0) $num = 0;
- if ($num > 255) $num = 255;
- $new_parts[] = (string) $num;
+ $num = (int)$part;
+ if ($num < 0) {
+ $num = 0;
+ }
+ if ($num > 255) {
+ $num = 255;
+ }
+ $new_parts[] = (string)$num;
}
}
$new_triad = implode(',', $new_parts);
@@ -65,14 +91,15 @@ class HTMLPurifier_AttrDef_CSS_Color extends HTMLPurifier_AttrDef
$color = '#' . $color;
}
$length = strlen($hex);
- if ($length !== 3 && $length !== 6) return false;
- if (!ctype_xdigit($hex)) return false;
+ if ($length !== 3 && $length !== 6) {
+ return false;
+ }
+ if (!ctype_xdigit($hex)) {
+ return false;
+ }
}
-
return $color;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/Composite.php b/library/HTMLPurifier/AttrDef/CSS/Composite.php
index de1289cba..9c1750554 100644
--- a/library/HTMLPurifier/AttrDef/CSS/Composite.php
+++ b/library/HTMLPurifier/AttrDef/CSS/Composite.php
@@ -13,26 +13,36 @@ class HTMLPurifier_AttrDef_CSS_Composite extends HTMLPurifier_AttrDef
{
/**
- * List of HTMLPurifier_AttrDef objects that may process strings
+ * List of objects that may process strings.
+ * @type HTMLPurifier_AttrDef[]
* @todo Make protected
*/
public $defs;
/**
- * @param $defs List of HTMLPurifier_AttrDef objects
+ * @param HTMLPurifier_AttrDef[] $defs List of HTMLPurifier_AttrDef objects
*/
- public function __construct($defs) {
+ public function __construct($defs)
+ {
$this->defs = $defs;
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
foreach ($this->defs as $i => $def) {
$result = $this->defs[$i]->validate($string, $config, $context);
- if ($result !== false) return $result;
+ if ($result !== false) {
+ return $result;
+ }
}
return false;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php b/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php
index 6599c5b2d..9d77cc9aa 100644
--- a/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php
+++ b/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php
@@ -5,22 +5,38 @@
*/
class HTMLPurifier_AttrDef_CSS_DenyElementDecorator extends HTMLPurifier_AttrDef
{
- public $def, $element;
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ public $def;
+ /**
+ * @type string
+ */
+ public $element;
/**
- * @param $def Definition to wrap
- * @param $element Element to deny
+ * @param HTMLPurifier_AttrDef $def Definition to wrap
+ * @param string $element Element to deny
*/
- public function __construct($def, $element) {
+ public function __construct($def, $element)
+ {
$this->def = $def;
$this->element = $element;
}
+
/**
* Checks if CurrentToken is set and equal to $this->element
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
*/
- public function validate($string, $config, $context) {
+ public function validate($string, $config, $context)
+ {
$token = $context->get('CurrentToken', true);
- if ($token && $token->name == $this->element) return false;
+ if ($token && $token->name == $this->element) {
+ return false;
+ }
return $this->def->validate($string, $config, $context);
}
}
diff --git a/library/HTMLPurifier/AttrDef/CSS/Filter.php b/library/HTMLPurifier/AttrDef/CSS/Filter.php
index 147894b86..bde4c3301 100644
--- a/library/HTMLPurifier/AttrDef/CSS/Filter.php
+++ b/library/HTMLPurifier/AttrDef/CSS/Filter.php
@@ -7,23 +7,37 @@
*/
class HTMLPurifier_AttrDef_CSS_Filter extends HTMLPurifier_AttrDef
{
-
+ /**
+ * @type HTMLPurifier_AttrDef_Integer
+ */
protected $intValidator;
- public function __construct() {
+ public function __construct()
+ {
$this->intValidator = new HTMLPurifier_AttrDef_Integer();
}
- public function validate($value, $config, $context) {
+ /**
+ * @param string $value
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($value, $config, $context)
+ {
$value = $this->parseCDATA($value);
- if ($value === 'none') return $value;
+ if ($value === 'none') {
+ return $value;
+ }
// if we looped this we could support multiple filters
$function_length = strcspn($value, '(');
$function = trim(substr($value, 0, $function_length));
if ($function !== 'alpha' &&
$function !== 'Alpha' &&
$function !== 'progid:DXImageTransform.Microsoft.Alpha'
- ) return false;
+ ) {
+ return false;
+ }
$cursor = $function_length + 1;
$parameters_length = strcspn($value, ')', $cursor);
$parameters = substr($value, $cursor, $parameters_length);
@@ -32,15 +46,25 @@ class HTMLPurifier_AttrDef_CSS_Filter extends HTMLPurifier_AttrDef
$lookup = array();
foreach ($params as $param) {
list($key, $value) = explode('=', $param);
- $key = trim($key);
+ $key = trim($key);
$value = trim($value);
- if (isset($lookup[$key])) continue;
- if ($key !== 'opacity') continue;
+ if (isset($lookup[$key])) {
+ continue;
+ }
+ if ($key !== 'opacity') {
+ continue;
+ }
$value = $this->intValidator->validate($value, $config, $context);
- if ($value === false) continue;
- $int = (int) $value;
- if ($int > 100) $value = '100';
- if ($int < 0) $value = '0';
+ if ($value === false) {
+ continue;
+ }
+ $int = (int)$value;
+ if ($int > 100) {
+ $value = '100';
+ }
+ if ($int < 0) {
+ $value = '0';
+ }
$ret_params[] = "$key=$value";
$lookup[$key] = true;
}
@@ -48,7 +72,6 @@ class HTMLPurifier_AttrDef_CSS_Filter extends HTMLPurifier_AttrDef
$ret_function = "$function($ret_parameters)";
return $ret_function;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/Font.php b/library/HTMLPurifier/AttrDef/CSS/Font.php
index 699ee0b70..579b97ef1 100644
--- a/library/HTMLPurifier/AttrDef/CSS/Font.php
+++ b/library/HTMLPurifier/AttrDef/CSS/Font.php
@@ -7,8 +7,8 @@ class HTMLPurifier_AttrDef_CSS_Font extends HTMLPurifier_AttrDef
{
/**
- * Local copy of component validators.
- *
+ * Local copy of validators
+ * @type HTMLPurifier_AttrDef[]
* @note If we moved specific CSS property definitions to their own
* classes instead of having them be assembled at run time by
* CSSDefinition, this wouldn't be necessary. We'd instantiate
@@ -16,18 +16,28 @@ class HTMLPurifier_AttrDef_CSS_Font extends HTMLPurifier_AttrDef
*/
protected $info = array();
- public function __construct($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
$def = $config->getCSSDefinition();
- $this->info['font-style'] = $def->info['font-style'];
+ $this->info['font-style'] = $def->info['font-style'];
$this->info['font-variant'] = $def->info['font-variant'];
- $this->info['font-weight'] = $def->info['font-weight'];
- $this->info['font-size'] = $def->info['font-size'];
- $this->info['line-height'] = $def->info['line-height'];
- $this->info['font-family'] = $def->info['font-family'];
+ $this->info['font-weight'] = $def->info['font-weight'];
+ $this->info['font-size'] = $def->info['font-size'];
+ $this->info['line-height'] = $def->info['line-height'];
+ $this->info['font-family'] = $def->info['font-family'];
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
static $system_fonts = array(
'caption' => true,
'icon' => true,
@@ -39,7 +49,9 @@ class HTMLPurifier_AttrDef_CSS_Font extends HTMLPurifier_AttrDef
// regular pre-processing
$string = $this->parseCDATA($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
// check if it's one of the keywords
$lowercase_string = strtolower($string);
@@ -54,15 +66,20 @@ class HTMLPurifier_AttrDef_CSS_Font extends HTMLPurifier_AttrDef
$final = ''; // output
for ($i = 0, $size = count($bits); $i < $size; $i++) {
- if ($bits[$i] === '') continue;
+ if ($bits[$i] === '') {
+ continue;
+ }
switch ($stage) {
-
- // attempting to catch font-style, font-variant or font-weight
- case 0:
+ case 0: // attempting to catch font-style, font-variant or font-weight
foreach ($stage_1 as $validator_name) {
- if (isset($caught[$validator_name])) continue;
+ if (isset($caught[$validator_name])) {
+ continue;
+ }
$r = $this->info[$validator_name]->validate(
- $bits[$i], $config, $context);
+ $bits[$i],
+ $config,
+ $context
+ );
if ($r !== false) {
$final .= $r . ' ';
$caught[$validator_name] = true;
@@ -70,15 +87,17 @@ class HTMLPurifier_AttrDef_CSS_Font extends HTMLPurifier_AttrDef
}
}
// all three caught, continue on
- if (count($caught) >= 3) $stage = 1;
- if ($r !== false) break;
-
- // attempting to catch font-size and perhaps line-height
- case 1:
+ if (count($caught) >= 3) {
+ $stage = 1;
+ }
+ if ($r !== false) {
+ break;
+ }
+ case 1: // attempting to catch font-size and perhaps line-height
$found_slash = false;
if (strpos($bits[$i], '/') !== false) {
list($font_size, $line_height) =
- explode('/', $bits[$i]);
+ explode('/', $bits[$i]);
if ($line_height === '') {
// ooh, there's a space after the slash!
$line_height = false;
@@ -89,14 +108,19 @@ class HTMLPurifier_AttrDef_CSS_Font extends HTMLPurifier_AttrDef
$line_height = false;
}
$r = $this->info['font-size']->validate(
- $font_size, $config, $context);
+ $font_size,
+ $config,
+ $context
+ );
if ($r !== false) {
$final .= $r;
// attempt to catch line-height
if ($line_height === false) {
// we need to scroll forward
for ($j = $i + 1; $j < $size; $j++) {
- if ($bits[$j] === '') continue;
+ if ($bits[$j] === '') {
+ continue;
+ }
if ($bits[$j] === '/') {
if ($found_slash) {
return false;
@@ -116,7 +140,10 @@ class HTMLPurifier_AttrDef_CSS_Font extends HTMLPurifier_AttrDef
if ($found_slash) {
$i = $j;
$r = $this->info['line-height']->validate(
- $line_height, $config, $context);
+ $line_height,
+ $config,
+ $context
+ );
if ($r !== false) {
$final .= '/' . $r;
}
@@ -126,13 +153,14 @@ class HTMLPurifier_AttrDef_CSS_Font extends HTMLPurifier_AttrDef
break;
}
return false;
-
- // attempting to catch font-family
- case 2:
+ case 2: // attempting to catch font-family
$font_family =
implode(' ', array_slice($bits, $i, $size - $i));
$r = $this->info['font-family']->validate(
- $font_family, $config, $context);
+ $font_family,
+ $config,
+ $context
+ );
if ($r !== false) {
$final .= $r . ' ';
// processing completed successfully
@@ -143,7 +171,6 @@ class HTMLPurifier_AttrDef_CSS_Font extends HTMLPurifier_AttrDef
}
return false;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/FontFamily.php b/library/HTMLPurifier/AttrDef/CSS/FontFamily.php
index 42c2054c2..74e24c881 100644
--- a/library/HTMLPurifier/AttrDef/CSS/FontFamily.php
+++ b/library/HTMLPurifier/AttrDef/CSS/FontFamily.php
@@ -2,12 +2,58 @@
/**
* Validates a font family list according to CSS spec
- * @todo whitelisting allowed fonts would be nice
*/
class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
+ protected $mask = null;
+
+ public function __construct()
+ {
+ $this->mask = '_- ';
+ for ($c = 'a'; $c <= 'z'; $c++) {
+ $this->mask .= $c;
+ }
+ for ($c = 'A'; $c <= 'Z'; $c++) {
+ $this->mask .= $c;
+ }
+ for ($c = '0'; $c <= '9'; $c++) {
+ $this->mask .= $c;
+ } // cast-y, but should be fine
+ // special bytes used by UTF-8
+ for ($i = 0x80; $i <= 0xFF; $i++) {
+ // We don't bother excluding invalid bytes in this range,
+ // because the our restriction of well-formed UTF-8 will
+ // prevent these from ever occurring.
+ $this->mask .= chr($i);
+ }
+
+ /*
+ PHP's internal strcspn implementation is
+ O(length of string * length of mask), making it inefficient
+ for large masks. However, it's still faster than
+ preg_match 8)
+ for (p = s1;;) {
+ spanp = s2;
+ do {
+ if (*spanp == c || p == s1_end) {
+ return p - s1;
+ }
+ } while (spanp++ < (s2_end - 1));
+ c = *++p;
+ }
+ */
+ // possible optimization: invert the mask.
+ }
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
static $generic_names = array(
'serif' => true,
'sans-serif' => true,
@@ -15,24 +61,33 @@ class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef
'fantasy' => true,
'cursive' => true
);
+ $allowed_fonts = $config->get('CSS.AllowedFonts');
// assume that no font names contain commas in them
$fonts = explode(',', $string);
$final = '';
- foreach($fonts as $font) {
+ foreach ($fonts as $font) {
$font = trim($font);
- if ($font === '') continue;
+ if ($font === '') {
+ continue;
+ }
// match a generic name
if (isset($generic_names[$font])) {
- $final .= $font . ', ';
+ if ($allowed_fonts === null || isset($allowed_fonts[$font])) {
+ $final .= $font . ', ';
+ }
continue;
}
// match a quoted name
if ($font[0] === '"' || $font[0] === "'") {
$length = strlen($font);
- if ($length <= 2) continue;
+ if ($length <= 2) {
+ continue;
+ }
$quote = $font[0];
- if ($font[$length - 1] !== $quote) continue;
+ if ($font[$length - 1] !== $quote) {
+ continue;
+ }
$font = substr($font, 1, $length - 2);
}
@@ -40,6 +95,10 @@ class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef
// $font is a pure representation of the font name
+ if ($allowed_fonts !== null && !isset($allowed_fonts[$font])) {
+ continue;
+ }
+
if (ctype_alnum($font) && $font !== '') {
// very simple font, allow it in unharmed
$final .= $font . ', ';
@@ -50,20 +109,108 @@ class HTMLPurifier_AttrDef_CSS_FontFamily extends HTMLPurifier_AttrDef
// shouldn't show up regardless
$font = str_replace(array("\n", "\t", "\r", "\x0C"), ' ', $font);
- // These ugly transforms don't pose a security
- // risk (as \\ and \" might). We could try to be clever and
- // use single-quote wrapping when there is a double quote
- // present, but I have choosen not to implement that.
- // (warning: this code relies on the selection of quotation
- // mark below)
- $font = str_replace('\\', '\\5C ', $font);
- $font = str_replace('"', '\\22 ', $font);
-
- // complicated font, requires quoting
- $final .= "\"$font\", "; // note that this will later get turned into &quot;
+ // Here, there are various classes of characters which need
+ // to be treated differently:
+ // - Alphanumeric characters are essentially safe. We
+ // handled these above.
+ // - Spaces require quoting, though most parsers will do
+ // the right thing if there aren't any characters that
+ // can be misinterpreted
+ // - Dashes rarely occur, but they fairly unproblematic
+ // for parsing/rendering purposes.
+ // The above characters cover the majority of Western font
+ // names.
+ // - Arbitrary Unicode characters not in ASCII. Because
+ // most parsers give little thought to Unicode, treatment
+ // of these codepoints is basically uniform, even for
+ // punctuation-like codepoints. These characters can
+ // show up in non-Western pages and are supported by most
+ // major browsers, for example: "ï¼­ï¼³ 明æœ" is a
+ // legitimate font-name
+ // <http://ja.wikipedia.org/wiki/MS_明æœ>. See
+ // the CSS3 spec for more examples:
+ // <http://www.w3.org/TR/2011/WD-css3-fonts-20110324/localizedfamilynames.png>
+ // You can see live samples of these on the Internet:
+ // <http://www.google.co.jp/search?q=font-family+ï¼­ï¼³+明æœ|ゴシック>
+ // However, most of these fonts have ASCII equivalents:
+ // for example, 'MS Mincho', and it's considered
+ // professional to use ASCII font names instead of
+ // Unicode font names. Thanks Takeshi Terada for
+ // providing this information.
+ // The following characters, to my knowledge, have not been
+ // used to name font names.
+ // - Single quote. While theoretically you might find a
+ // font name that has a single quote in its name (serving
+ // as an apostrophe, e.g. Dave's Scribble), I haven't
+ // been able to find any actual examples of this.
+ // Internet Explorer's cssText translation (which I
+ // believe is invoked by innerHTML) normalizes any
+ // quoting to single quotes, and fails to escape single
+ // quotes. (Note that this is not IE's behavior for all
+ // CSS properties, just some sort of special casing for
+ // font-family). So a single quote *cannot* be used
+ // safely in the font-family context if there will be an
+ // innerHTML/cssText translation. Note that Firefox 3.x
+ // does this too.
+ // - Double quote. In IE, these get normalized to
+ // single-quotes, no matter what the encoding. (Fun
+ // fact, in IE8, the 'content' CSS property gained
+ // support, where they special cased to preserve encoded
+ // double quotes, but still translate unadorned double
+ // quotes into single quotes.) So, because their
+ // fixpoint behavior is identical to single quotes, they
+ // cannot be allowed either. Firefox 3.x displays
+ // single-quote style behavior.
+ // - Backslashes are reduced by one (so \\ -> \) every
+ // iteration, so they cannot be used safely. This shows
+ // up in IE7, IE8 and FF3
+ // - Semicolons, commas and backticks are handled properly.
+ // - The rest of the ASCII punctuation is handled properly.
+ // We haven't checked what browsers do to unadorned
+ // versions, but this is not important as long as the
+ // browser doesn't /remove/ surrounding quotes (as IE does
+ // for HTML).
+ //
+ // With these results in hand, we conclude that there are
+ // various levels of safety:
+ // - Paranoid: alphanumeric, spaces and dashes(?)
+ // - International: Paranoid + non-ASCII Unicode
+ // - Edgy: Everything except quotes, backslashes
+ // - NoJS: Standards compliance, e.g. sod IE. Note that
+ // with some judicious character escaping (since certain
+ // types of escaping doesn't work) this is theoretically
+ // OK as long as innerHTML/cssText is not called.
+ // We believe that international is a reasonable default
+ // (that we will implement now), and once we do more
+ // extensive research, we may feel comfortable with dropping
+ // it down to edgy.
+
+ // Edgy: alphanumeric, spaces, dashes, underscores and Unicode. Use of
+ // str(c)spn assumes that the string was already well formed
+ // Unicode (which of course it is).
+ if (strspn($font, $this->mask) !== strlen($font)) {
+ continue;
+ }
+
+ // Historical:
+ // In the absence of innerHTML/cssText, these ugly
+ // transforms don't pose a security risk (as \\ and \"
+ // might--these escapes are not supported by most browsers).
+ // We could try to be clever and use single-quote wrapping
+ // when there is a double quote present, but I have choosen
+ // not to implement that. (NOTE: you can reduce the amount
+ // of escapes by one depending on what quoting style you use)
+ // $font = str_replace('\\', '\\5C ', $font);
+ // $font = str_replace('"', '\\22 ', $font);
+ // $font = str_replace("'", '\\27 ', $font);
+
+ // font possibly with spaces, requires quoting
+ $final .= "'$font', ";
}
$final = rtrim($final, ', ');
- if ($final === '') return false;
+ if ($final === '') {
+ return false;
+ }
return $final;
}
diff --git a/library/HTMLPurifier/AttrDef/CSS/Ident.php b/library/HTMLPurifier/AttrDef/CSS/Ident.php
new file mode 100644
index 000000000..973002c17
--- /dev/null
+++ b/library/HTMLPurifier/AttrDef/CSS/Ident.php
@@ -0,0 +1,32 @@
+<?php
+
+/**
+ * Validates based on {ident} CSS grammar production
+ */
+class HTMLPurifier_AttrDef_CSS_Ident extends HTMLPurifier_AttrDef
+{
+
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ $string = trim($string);
+
+ // early abort: '' and '0' (strings that convert to false) are invalid
+ if (!$string) {
+ return false;
+ }
+
+ $pattern = '/^(-?[A-Za-z_][A-Za-z_\-0-9]*)$/';
+ if (!preg_match($pattern, $string)) {
+ return false;
+ }
+ return $string;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php b/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php
index 4e6b35e5a..ffc989fe8 100644
--- a/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php
+++ b/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php
@@ -5,20 +5,34 @@
*/
class HTMLPurifier_AttrDef_CSS_ImportantDecorator extends HTMLPurifier_AttrDef
{
- public $def, $allow;
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ public $def;
+ /**
+ * @type bool
+ */
+ public $allow;
/**
- * @param $def Definition to wrap
- * @param $allow Whether or not to allow !important
+ * @param HTMLPurifier_AttrDef $def Definition to wrap
+ * @param bool $allow Whether or not to allow !important
*/
- public function __construct($def, $allow = false) {
+ public function __construct($def, $allow = false)
+ {
$this->def = $def;
$this->allow = $allow;
}
+
/**
* Intercepts and removes !important if necessary
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
*/
- public function validate($string, $config, $context) {
+ public function validate($string, $config, $context)
+ {
// test for ! and important tokens
$string = trim($string);
$is_important = false;
@@ -32,7 +46,9 @@ class HTMLPurifier_AttrDef_CSS_ImportantDecorator extends HTMLPurifier_AttrDef
}
}
$string = $this->def->validate($string, $config, $context);
- if ($this->allow && $is_important) $string .= ' !important';
+ if ($this->allow && $is_important) {
+ $string .= ' !important';
+ }
return $string;
}
}
diff --git a/library/HTMLPurifier/AttrDef/CSS/Length.php b/library/HTMLPurifier/AttrDef/CSS/Length.php
index a07ec5813..f12453a04 100644
--- a/library/HTMLPurifier/AttrDef/CSS/Length.php
+++ b/library/HTMLPurifier/AttrDef/CSS/Length.php
@@ -6,42 +6,72 @@
class HTMLPurifier_AttrDef_CSS_Length extends HTMLPurifier_AttrDef
{
- protected $min, $max;
+ /**
+ * @type HTMLPurifier_Length|string
+ */
+ protected $min;
/**
- * @param HTMLPurifier_Length $max Minimum length, or null for no bound. String is also acceptable.
- * @param HTMLPurifier_Length $max Maximum length, or null for no bound. String is also acceptable.
+ * @type HTMLPurifier_Length|string
*/
- public function __construct($min = null, $max = null) {
+ protected $max;
+
+ /**
+ * @param HTMLPurifier_Length|string $min Minimum length, or null for no bound. String is also acceptable.
+ * @param HTMLPurifier_Length|string $max Maximum length, or null for no bound. String is also acceptable.
+ */
+ public function __construct($min = null, $max = null)
+ {
$this->min = $min !== null ? HTMLPurifier_Length::make($min) : null;
$this->max = $max !== null ? HTMLPurifier_Length::make($max) : null;
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = $this->parseCDATA($string);
// Optimizations
- if ($string === '') return false;
- if ($string === '0') return '0';
- if (strlen($string) === 1) return false;
+ if ($string === '') {
+ return false;
+ }
+ if ($string === '0') {
+ return '0';
+ }
+ if (strlen($string) === 1) {
+ return false;
+ }
$length = HTMLPurifier_Length::make($string);
- if (!$length->isValid()) return false;
+ if (!$length->isValid()) {
+ return false;
+ }
if ($this->min) {
$c = $length->compareTo($this->min);
- if ($c === false) return false;
- if ($c < 0) return false;
+ if ($c === false) {
+ return false;
+ }
+ if ($c < 0) {
+ return false;
+ }
}
if ($this->max) {
$c = $length->compareTo($this->max);
- if ($c === false) return false;
- if ($c > 0) return false;
+ if ($c === false) {
+ return false;
+ }
+ if ($c > 0) {
+ return false;
+ }
}
-
return $length->toString();
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/ListStyle.php b/library/HTMLPurifier/AttrDef/CSS/ListStyle.php
index 4406868c0..e74d42654 100644
--- a/library/HTMLPurifier/AttrDef/CSS/ListStyle.php
+++ b/library/HTMLPurifier/AttrDef/CSS/ListStyle.php
@@ -8,46 +8,72 @@ class HTMLPurifier_AttrDef_CSS_ListStyle extends HTMLPurifier_AttrDef
{
/**
- * Local copy of component validators.
+ * Local copy of validators.
+ * @type HTMLPurifier_AttrDef[]
* @note See HTMLPurifier_AttrDef_CSS_Font::$info for a similar impl.
*/
protected $info;
- public function __construct($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function __construct($config)
+ {
$def = $config->getCSSDefinition();
- $this->info['list-style-type'] = $def->info['list-style-type'];
+ $this->info['list-style-type'] = $def->info['list-style-type'];
$this->info['list-style-position'] = $def->info['list-style-position'];
$this->info['list-style-image'] = $def->info['list-style-image'];
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
// regular pre-processing
$string = $this->parseCDATA($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
// assumes URI doesn't have spaces in it
$bits = explode(' ', strtolower($string)); // bits to process
$caught = array();
- $caught['type'] = false;
+ $caught['type'] = false;
$caught['position'] = false;
- $caught['image'] = false;
+ $caught['image'] = false;
$i = 0; // number of catches
$none = false;
foreach ($bits as $bit) {
- if ($i >= 3) return; // optimization bit
- if ($bit === '') continue;
+ if ($i >= 3) {
+ return;
+ } // optimization bit
+ if ($bit === '') {
+ continue;
+ }
foreach ($caught as $key => $status) {
- if ($status !== false) continue;
+ if ($status !== false) {
+ continue;
+ }
$r = $this->info['list-style-' . $key]->validate($bit, $config, $context);
- if ($r === false) continue;
+ if ($r === false) {
+ continue;
+ }
if ($r === 'none') {
- if ($none) continue;
- else $none = true;
- if ($key == 'image') continue;
+ if ($none) {
+ continue;
+ } else {
+ $none = true;
+ }
+ if ($key == 'image') {
+ continue;
+ }
}
$caught[$key] = $r;
$i++;
@@ -55,24 +81,32 @@ class HTMLPurifier_AttrDef_CSS_ListStyle extends HTMLPurifier_AttrDef
}
}
- if (!$i) return false;
+ if (!$i) {
+ return false;
+ }
$ret = array();
// construct type
- if ($caught['type']) $ret[] = $caught['type'];
+ if ($caught['type']) {
+ $ret[] = $caught['type'];
+ }
// construct image
- if ($caught['image']) $ret[] = $caught['image'];
+ if ($caught['image']) {
+ $ret[] = $caught['image'];
+ }
// construct position
- if ($caught['position']) $ret[] = $caught['position'];
+ if ($caught['position']) {
+ $ret[] = $caught['position'];
+ }
- if (empty($ret)) return false;
+ if (empty($ret)) {
+ return false;
+ }
return implode(' ', $ret);
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/Multiple.php b/library/HTMLPurifier/AttrDef/CSS/Multiple.php
index 4d62a40d7..9f266cdd1 100644
--- a/library/HTMLPurifier/AttrDef/CSS/Multiple.php
+++ b/library/HTMLPurifier/AttrDef/CSS/Multiple.php
@@ -13,9 +13,9 @@
*/
class HTMLPurifier_AttrDef_CSS_Multiple extends HTMLPurifier_AttrDef
{
-
/**
* Instance of component definition to defer validation to.
+ * @type HTMLPurifier_AttrDef
* @todo Make protected
*/
public $single;
@@ -27,32 +27,45 @@ class HTMLPurifier_AttrDef_CSS_Multiple extends HTMLPurifier_AttrDef
public $max;
/**
- * @param $single HTMLPurifier_AttrDef to multiply
- * @param $max Max number of values allowed (usually four)
+ * @param HTMLPurifier_AttrDef $single HTMLPurifier_AttrDef to multiply
+ * @param int $max Max number of values allowed (usually four)
*/
- public function __construct($single, $max = 4) {
+ public function __construct($single, $max = 4)
+ {
$this->single = $single;
$this->max = $max;
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = $this->parseCDATA($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
$parts = explode(' ', $string); // parseCDATA replaced \r, \t and \n
$length = count($parts);
$final = '';
for ($i = 0, $num = 0; $i < $length && $num < $this->max; $i++) {
- if (ctype_space($parts[$i])) continue;
+ if (ctype_space($parts[$i])) {
+ continue;
+ }
$result = $this->single->validate($parts[$i], $config, $context);
if ($result !== false) {
$final .= $result . ' ';
$num++;
}
}
- if ($final === '') return false;
+ if ($final === '') {
+ return false;
+ }
return rtrim($final);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/Number.php b/library/HTMLPurifier/AttrDef/CSS/Number.php
index 3f99e12ec..8edc159e7 100644
--- a/library/HTMLPurifier/AttrDef/CSS/Number.php
+++ b/library/HTMLPurifier/AttrDef/CSS/Number.php
@@ -7,32 +7,44 @@ class HTMLPurifier_AttrDef_CSS_Number extends HTMLPurifier_AttrDef
{
/**
- * Bool indicating whether or not only positive values allowed.
+ * Indicates whether or not only positive values are allowed.
+ * @type bool
*/
protected $non_negative = false;
/**
- * @param $non_negative Bool indicating whether negatives are forbidden
+ * @param bool $non_negative indicates whether negatives are forbidden
*/
- public function __construct($non_negative = false) {
+ public function __construct($non_negative = false)
+ {
$this->non_negative = $non_negative;
}
/**
+ * @param string $number
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string|bool
* @warning Some contexts do not pass $config, $context. These
* variables should not be used without checking HTMLPurifier_Length
*/
- public function validate($number, $config, $context) {
-
+ public function validate($number, $config, $context)
+ {
$number = $this->parseCDATA($number);
- if ($number === '') return false;
- if ($number === '0') return '0';
+ if ($number === '') {
+ return false;
+ }
+ if ($number === '0') {
+ return '0';
+ }
$sign = '';
switch ($number[0]) {
case '-':
- if ($this->non_negative) return false;
+ if ($this->non_negative) {
+ return false;
+ }
$sign = '-';
case '+':
$number = substr($number, 1);
@@ -44,14 +56,20 @@ class HTMLPurifier_AttrDef_CSS_Number extends HTMLPurifier_AttrDef
}
// Period is the only non-numeric character allowed
- if (strpos($number, '.') === false) return false;
+ if (strpos($number, '.') === false) {
+ return false;
+ }
list($left, $right) = explode('.', $number, 2);
- if ($left === '' && $right === '') return false;
- if ($left !== '' && !ctype_digit($left)) return false;
+ if ($left === '' && $right === '') {
+ return false;
+ }
+ if ($left !== '' && !ctype_digit($left)) {
+ return false;
+ }
- $left = ltrim($left, '0');
+ $left = ltrim($left, '0');
$right = rtrim($right, '0');
if ($right === '') {
@@ -59,11 +77,8 @@ class HTMLPurifier_AttrDef_CSS_Number extends HTMLPurifier_AttrDef
} elseif (!ctype_digit($right)) {
return false;
}
-
return $sign . $left . '.' . $right;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/Percentage.php b/library/HTMLPurifier/AttrDef/CSS/Percentage.php
index c34b8fc3c..f0f25c50a 100644
--- a/library/HTMLPurifier/AttrDef/CSS/Percentage.php
+++ b/library/HTMLPurifier/AttrDef/CSS/Percentage.php
@@ -7,34 +7,48 @@ class HTMLPurifier_AttrDef_CSS_Percentage extends HTMLPurifier_AttrDef
{
/**
- * Instance of HTMLPurifier_AttrDef_CSS_Number to defer number validation
+ * Instance to defer number validation to.
+ * @type HTMLPurifier_AttrDef_CSS_Number
*/
protected $number_def;
/**
- * @param Bool indicating whether to forbid negative values
+ * @param bool $non_negative Whether to forbid negative values
*/
- public function __construct($non_negative = false) {
+ public function __construct($non_negative = false)
+ {
$this->number_def = new HTMLPurifier_AttrDef_CSS_Number($non_negative);
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = $this->parseCDATA($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
$length = strlen($string);
- if ($length === 1) return false;
- if ($string[$length - 1] !== '%') return false;
+ if ($length === 1) {
+ return false;
+ }
+ if ($string[$length - 1] !== '%') {
+ return false;
+ }
$number = substr($string, 0, $length - 1);
$number = $this->number_def->validate($number, $config, $context);
- if ($number === false) return false;
+ if ($number === false) {
+ return false;
+ }
return "$number%";
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php b/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php
index 772c922d8..5fd4b7f7b 100644
--- a/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php
+++ b/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php
@@ -8,8 +8,14 @@
class HTMLPurifier_AttrDef_CSS_TextDecoration extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
static $allowed_values = array(
'line-through' => true,
'overline' => true,
@@ -18,7 +24,9 @@ class HTMLPurifier_AttrDef_CSS_TextDecoration extends HTMLPurifier_AttrDef
$string = strtolower($this->parseCDATA($string));
- if ($string === 'none') return $string;
+ if ($string === 'none') {
+ return $string;
+ }
$parts = explode(' ', $string);
$final = '';
@@ -28,11 +36,11 @@ class HTMLPurifier_AttrDef_CSS_TextDecoration extends HTMLPurifier_AttrDef
}
}
$final = rtrim($final);
- if ($final === '') return false;
+ if ($final === '') {
+ return false;
+ }
return $final;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/CSS/URI.php b/library/HTMLPurifier/AttrDef/CSS/URI.php
index 1df17dc25..f9434230e 100644
--- a/library/HTMLPurifier/AttrDef/CSS/URI.php
+++ b/library/HTMLPurifier/AttrDef/CSS/URI.php
@@ -12,25 +12,39 @@
class HTMLPurifier_AttrDef_CSS_URI extends HTMLPurifier_AttrDef_URI
{
- public function __construct() {
+ public function __construct()
+ {
parent::__construct(true); // always embedded
}
- public function validate($uri_string, $config, $context) {
+ /**
+ * @param string $uri_string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($uri_string, $config, $context)
+ {
// parse the URI out of the string and then pass it onto
// the parent object
$uri_string = $this->parseCDATA($uri_string);
- if (strpos($uri_string, 'url(') !== 0) return false;
+ if (strpos($uri_string, 'url(') !== 0) {
+ return false;
+ }
$uri_string = substr($uri_string, 4);
$new_length = strlen($uri_string) - 1;
- if ($uri_string[$new_length] != ')') return false;
+ if ($uri_string[$new_length] != ')') {
+ return false;
+ }
$uri = trim(substr($uri_string, 0, $new_length));
if (!empty($uri) && ($uri[0] == "'" || $uri[0] == '"')) {
$quote = $uri[0];
$new_length = strlen($uri) - 1;
- if ($uri[$new_length] !== $quote) return false;
+ if ($uri[$new_length] !== $quote) {
+ return false;
+ }
$uri = substr($uri, 1, $new_length - 1);
}
@@ -38,15 +52,23 @@ class HTMLPurifier_AttrDef_CSS_URI extends HTMLPurifier_AttrDef_URI
$result = parent::validate($uri, $config, $context);
- if ($result === false) return false;
+ if ($result === false) {
+ return false;
+ }
// extra sanity check; should have been done by URI
$result = str_replace(array('"', "\\", "\n", "\x0c", "\r"), "", $result);
- return "url(\"$result\")";
+ // suspicious characters are ()'; we're going to percent encode
+ // them for safety.
+ $result = str_replace(array('(', ')', "'"), array('%28', '%29', '%27'), $result);
+ // there's an extra bug where ampersands lose their escaping on
+ // an innerHTML cycle, so a very unlucky query parameter could
+ // then change the meaning of the URL. Unfortunately, there's
+ // not much we can do about that...
+ return "url(\"$result\")";
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/Clone.php b/library/HTMLPurifier/AttrDef/Clone.php
new file mode 100644
index 000000000..6698a00c0
--- /dev/null
+++ b/library/HTMLPurifier/AttrDef/Clone.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * Dummy AttrDef that mimics another AttrDef, BUT it generates clones
+ * with make.
+ */
+class HTMLPurifier_AttrDef_Clone extends HTMLPurifier_AttrDef
+{
+ /**
+ * What we're cloning.
+ * @type HTMLPurifier_AttrDef
+ */
+ protected $clone;
+
+ /**
+ * @param HTMLPurifier_AttrDef $clone
+ */
+ public function __construct($clone)
+ {
+ $this->clone = $clone;
+ }
+
+ /**
+ * @param string $v
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($v, $config, $context)
+ {
+ return $this->clone->validate($v, $config, $context);
+ }
+
+ /**
+ * @param string $string
+ * @return HTMLPurifier_AttrDef
+ */
+ public function make($string)
+ {
+ return clone $this->clone;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/Enum.php b/library/HTMLPurifier/AttrDef/Enum.php
index 5d603ebcc..8abda7f6e 100644
--- a/library/HTMLPurifier/AttrDef/Enum.php
+++ b/library/HTMLPurifier/AttrDef/Enum.php
@@ -12,9 +12,10 @@ class HTMLPurifier_AttrDef_Enum extends HTMLPurifier_AttrDef
/**
* Lookup table of valid values.
+ * @type array
* @todo Make protected
*/
- public $valid_values = array();
+ public $valid_values = array();
/**
* Bool indicating whether or not enumeration is case sensitive.
@@ -23,17 +24,23 @@ class HTMLPurifier_AttrDef_Enum extends HTMLPurifier_AttrDef
protected $case_sensitive = false; // values according to W3C spec
/**
- * @param $valid_values List of valid values
- * @param $case_sensitive Bool indicating whether or not case sensitive
+ * @param array $valid_values List of valid values
+ * @param bool $case_sensitive Whether or not case sensitive
*/
- public function __construct(
- $valid_values = array(), $case_sensitive = false
- ) {
+ public function __construct($valid_values = array(), $case_sensitive = false)
+ {
$this->valid_values = array_flip($valid_values);
$this->case_sensitive = $case_sensitive;
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
if (!$this->case_sensitive) {
// we may want to do full case-insensitive libraries
@@ -45,11 +52,13 @@ class HTMLPurifier_AttrDef_Enum extends HTMLPurifier_AttrDef
}
/**
- * @param $string In form of comma-delimited list of case-insensitive
+ * @param string $string In form of comma-delimited list of case-insensitive
* valid values. Example: "foo,bar,baz". Prepend "s:" to make
* case sensitive
+ * @return HTMLPurifier_AttrDef_Enum
*/
- public function make($string) {
+ public function make($string)
+ {
if (strlen($string) > 2 && $string[0] == 's' && $string[1] == ':') {
$string = substr($string, 2);
$sensitive = true;
@@ -59,7 +68,6 @@ class HTMLPurifier_AttrDef_Enum extends HTMLPurifier_AttrDef
$values = explode(',', $string);
return new HTMLPurifier_AttrDef_Enum($values, $sensitive);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/HTML/Bool.php b/library/HTMLPurifier/AttrDef/HTML/Bool.php
index e06987eb8..036a240e1 100644
--- a/library/HTMLPurifier/AttrDef/HTML/Bool.php
+++ b/library/HTMLPurifier/AttrDef/HTML/Bool.php
@@ -6,23 +6,46 @@
class HTMLPurifier_AttrDef_HTML_Bool extends HTMLPurifier_AttrDef
{
+ /**
+ * @type bool
+ */
protected $name;
+
+ /**
+ * @type bool
+ */
public $minimized = true;
- public function __construct($name = false) {$this->name = $name;}
+ /**
+ * @param bool $name
+ */
+ public function __construct($name = false)
+ {
+ $this->name = $name;
+ }
- public function validate($string, $config, $context) {
- if (empty($string)) return false;
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ if (empty($string)) {
+ return false;
+ }
return $this->name;
}
/**
- * @param $string Name of attribute
+ * @param string $string Name of attribute
+ * @return HTMLPurifier_AttrDef_HTML_Bool
*/
- public function make($string) {
+ public function make($string)
+ {
return new HTMLPurifier_AttrDef_HTML_Bool($string);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/HTML/Class.php b/library/HTMLPurifier/AttrDef/HTML/Class.php
index 370068d97..d5013488f 100644
--- a/library/HTMLPurifier/AttrDef/HTML/Class.php
+++ b/library/HTMLPurifier/AttrDef/HTML/Class.php
@@ -5,7 +5,14 @@
*/
class HTMLPurifier_AttrDef_HTML_Class extends HTMLPurifier_AttrDef_HTML_Nmtokens
{
- protected function split($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ protected function split($string, $config, $context)
+ {
// really, this twiddle should be lazy loaded
$name = $config->getDefinition('HTML')->doctype->name;
if ($name == "XHTML 1.1" || $name == "XHTML 2.0") {
@@ -14,13 +21,20 @@ class HTMLPurifier_AttrDef_HTML_Class extends HTMLPurifier_AttrDef_HTML_Nmtokens
return preg_split('/\s+/', $string);
}
}
- protected function filter($tokens, $config, $context) {
+
+ /**
+ * @param array $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ protected function filter($tokens, $config, $context)
+ {
$allowed = $config->get('Attr.AllowedClasses');
$forbidden = $config->get('Attr.ForbiddenClasses');
$ret = array();
foreach ($tokens as $token) {
- if (
- ($allowed === null || isset($allowed[$token])) &&
+ if (($allowed === null || isset($allowed[$token])) &&
!isset($forbidden[$token]) &&
// We need this O(n) check because of PHP's array
// implementation that casts -0 to 0.
diff --git a/library/HTMLPurifier/AttrDef/HTML/Color.php b/library/HTMLPurifier/AttrDef/HTML/Color.php
index d01e20454..946ebb782 100644
--- a/library/HTMLPurifier/AttrDef/HTML/Color.php
+++ b/library/HTMLPurifier/AttrDef/HTML/Color.php
@@ -6,27 +6,46 @@
class HTMLPurifier_AttrDef_HTML_Color extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
static $colors = null;
- if ($colors === null) $colors = $config->get('Core.ColorKeywords');
+ if ($colors === null) {
+ $colors = $config->get('Core.ColorKeywords');
+ }
$string = trim($string);
- if (empty($string)) return false;
- if (isset($colors[$string])) return $colors[$string];
- if ($string[0] === '#') $hex = substr($string, 1);
- else $hex = $string;
+ if (empty($string)) {
+ return false;
+ }
+ $lower = strtolower($string);
+ if (isset($colors[$lower])) {
+ return $colors[$lower];
+ }
+ if ($string[0] === '#') {
+ $hex = substr($string, 1);
+ } else {
+ $hex = $string;
+ }
$length = strlen($hex);
- if ($length !== 3 && $length !== 6) return false;
- if (!ctype_xdigit($hex)) return false;
- if ($length === 3) $hex = $hex[0].$hex[0].$hex[1].$hex[1].$hex[2].$hex[2];
-
+ if ($length !== 3 && $length !== 6) {
+ return false;
+ }
+ if (!ctype_xdigit($hex)) {
+ return false;
+ }
+ if ($length === 3) {
+ $hex = $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2];
+ }
return "#$hex";
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php b/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php
index ae6ea7c01..d79ba12b3 100644
--- a/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php
+++ b/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php
@@ -6,16 +6,33 @@
class HTMLPurifier_AttrDef_HTML_FrameTarget extends HTMLPurifier_AttrDef_Enum
{
+ /**
+ * @type array
+ */
public $valid_values = false; // uninitialized value
+
+ /**
+ * @type bool
+ */
protected $case_sensitive = false;
- public function __construct() {}
+ public function __construct()
+ {
+ }
- public function validate($string, $config, $context) {
- if ($this->valid_values === false) $this->valid_values = $config->get('Attr.AllowedFrameTargets');
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
+ if ($this->valid_values === false) {
+ $this->valid_values = $config->get('Attr.AllowedFrameTargets');
+ }
return parent::validate($string, $config, $context);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/HTML/ID.php b/library/HTMLPurifier/AttrDef/HTML/ID.php
index 81d03762d..3d86efb44 100644
--- a/library/HTMLPurifier/AttrDef/HTML/ID.php
+++ b/library/HTMLPurifier/AttrDef/HTML/ID.php
@@ -12,42 +12,77 @@
class HTMLPurifier_AttrDef_HTML_ID extends HTMLPurifier_AttrDef
{
- // ref functionality disabled, since we also have to verify
- // whether or not the ID it refers to exists
-
- public function validate($id, $config, $context) {
+ // selector is NOT a valid thing to use for IDREFs, because IDREFs
+ // *must* target IDs that exist, whereas selector #ids do not.
+
+ /**
+ * Determines whether or not we're validating an ID in a CSS
+ * selector context.
+ * @type bool
+ */
+ protected $selector;
+
+ /**
+ * @param bool $selector
+ */
+ public function __construct($selector = false)
+ {
+ $this->selector = $selector;
+ }
- if (!$config->get('Attr.EnableID')) return false;
+ /**
+ * @param string $id
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($id, $config, $context)
+ {
+ if (!$this->selector && !$config->get('Attr.EnableID')) {
+ return false;
+ }
$id = trim($id); // trim it first
- if ($id === '') return false;
+ if ($id === '') {
+ return false;
+ }
$prefix = $config->get('Attr.IDPrefix');
if ($prefix !== '') {
$prefix .= $config->get('Attr.IDPrefixLocal');
// prevent re-appending the prefix
- if (strpos($id, $prefix) !== 0) $id = $prefix . $id;
+ if (strpos($id, $prefix) !== 0) {
+ $id = $prefix . $id;
+ }
} elseif ($config->get('Attr.IDPrefixLocal') !== '') {
- trigger_error('%Attr.IDPrefixLocal cannot be used unless '.
- '%Attr.IDPrefix is set', E_USER_WARNING);
+ trigger_error(
+ '%Attr.IDPrefixLocal cannot be used unless ' .
+ '%Attr.IDPrefix is set',
+ E_USER_WARNING
+ );
}
- //if (!$this->ref) {
+ if (!$this->selector) {
$id_accumulator =& $context->get('IDAccumulator');
- if (isset($id_accumulator->ids[$id])) return false;
- //}
+ if (isset($id_accumulator->ids[$id])) {
+ return false;
+ }
+ }
// we purposely avoid using regex, hopefully this is faster
if (ctype_alpha($id)) {
$result = true;
} else {
- if (!ctype_alpha(@$id[0])) return false;
- $trim = trim( // primitive style of regexps, I suppose
+ if (!ctype_alpha(@$id[0])) {
+ return false;
+ }
+ // primitive style of regexps, I suppose
+ $trim = trim(
$id,
'A..Za..z0..9:-._'
- );
+ );
$result = ($trim === '');
}
@@ -56,15 +91,15 @@ class HTMLPurifier_AttrDef_HTML_ID extends HTMLPurifier_AttrDef
return false;
}
- if (/*!$this->ref && */$result) $id_accumulator->add($id);
+ if (!$this->selector && $result) {
+ $id_accumulator->add($id);
+ }
// if no change was made to the ID, return the result
// else, return the new id if stripping whitespace made it
// valid, or return false.
return $result ? $id : false;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/HTML/Length.php b/library/HTMLPurifier/AttrDef/HTML/Length.php
index a242f9c23..1c4006fbb 100644
--- a/library/HTMLPurifier/AttrDef/HTML/Length.php
+++ b/library/HTMLPurifier/AttrDef/HTML/Length.php
@@ -10,32 +10,47 @@
class HTMLPurifier_AttrDef_HTML_Length extends HTMLPurifier_AttrDef_HTML_Pixels
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
$parent_result = parent::validate($string, $config, $context);
- if ($parent_result !== false) return $parent_result;
+ if ($parent_result !== false) {
+ return $parent_result;
+ }
$length = strlen($string);
$last_char = $string[$length - 1];
- if ($last_char !== '%') return false;
+ if ($last_char !== '%') {
+ return false;
+ }
$points = substr($string, 0, $length - 1);
- if (!is_numeric($points)) return false;
-
- $points = (int) $points;
+ if (!is_numeric($points)) {
+ return false;
+ }
- if ($points < 0) return '0%';
- if ($points > 100) return '100%';
-
- return ((string) $points) . '%';
+ $points = (int)$points;
+ if ($points < 0) {
+ return '0%';
+ }
+ if ($points > 100) {
+ return '100%';
+ }
+ return ((string)$points) . '%';
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php b/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php
index 76d25ed08..63fa04c15 100644
--- a/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php
+++ b/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php
@@ -9,26 +9,44 @@
class HTMLPurifier_AttrDef_HTML_LinkTypes extends HTMLPurifier_AttrDef
{
- /** Name config attribute to pull. */
+ /**
+ * Name config attribute to pull.
+ * @type string
+ */
protected $name;
- public function __construct($name) {
+ /**
+ * @param string $name
+ */
+ public function __construct($name)
+ {
$configLookup = array(
'rel' => 'AllowedRel',
'rev' => 'AllowedRev'
);
if (!isset($configLookup[$name])) {
- trigger_error('Unrecognized attribute name for link '.
- 'relationship.', E_USER_ERROR);
+ trigger_error(
+ 'Unrecognized attribute name for link ' .
+ 'relationship.',
+ E_USER_ERROR
+ );
return;
}
$this->name = $configLookup[$name];
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$allowed = $config->get('Attr.' . $this->name);
- if (empty($allowed)) return false;
+ if (empty($allowed)) {
+ return false;
+ }
$string = $this->parseCDATA($string);
$parts = explode(' ', $string);
@@ -37,17 +55,18 @@ class HTMLPurifier_AttrDef_HTML_LinkTypes extends HTMLPurifier_AttrDef
$ret_lookup = array();
foreach ($parts as $part) {
$part = strtolower(trim($part));
- if (!isset($allowed[$part])) continue;
+ if (!isset($allowed[$part])) {
+ continue;
+ }
$ret_lookup[$part] = true;
}
- if (empty($ret_lookup)) return false;
+ if (empty($ret_lookup)) {
+ return false;
+ }
$string = implode(' ', array_keys($ret_lookup));
-
return $string;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/HTML/MultiLength.php b/library/HTMLPurifier/AttrDef/HTML/MultiLength.php
index c72fc76e4..bbb20f2f8 100644
--- a/library/HTMLPurifier/AttrDef/HTML/MultiLength.php
+++ b/library/HTMLPurifier/AttrDef/HTML/MultiLength.php
@@ -9,33 +9,52 @@
class HTMLPurifier_AttrDef_HTML_MultiLength extends HTMLPurifier_AttrDef_HTML_Length
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
- if ($string === '') return false;
+ if ($string === '') {
+ return false;
+ }
$parent_result = parent::validate($string, $config, $context);
- if ($parent_result !== false) return $parent_result;
+ if ($parent_result !== false) {
+ return $parent_result;
+ }
$length = strlen($string);
$last_char = $string[$length - 1];
- if ($last_char !== '*') return false;
+ if ($last_char !== '*') {
+ return false;
+ }
$int = substr($string, 0, $length - 1);
- if ($int == '') return '*';
- if (!is_numeric($int)) return false;
-
- $int = (int) $int;
-
- if ($int < 0) return false;
- if ($int == 0) return '0';
- if ($int == 1) return '*';
- return ((string) $int) . '*';
-
+ if ($int == '') {
+ return '*';
+ }
+ if (!is_numeric($int)) {
+ return false;
+ }
+
+ $int = (int)$int;
+ if ($int < 0) {
+ return false;
+ }
+ if ($int == 0) {
+ return '0';
+ }
+ if ($int == 1) {
+ return '*';
+ }
+ return ((string)$int) . '*';
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php b/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php
index aa34120bd..f79683b4f 100644
--- a/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php
+++ b/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php
@@ -6,24 +6,38 @@
class HTMLPurifier_AttrDef_HTML_Nmtokens extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
// early abort: '' and '0' (strings that convert to false) are invalid
- if (!$string) return false;
+ if (!$string) {
+ return false;
+ }
$tokens = $this->split($string, $config, $context);
$tokens = $this->filter($tokens, $config, $context);
- if (empty($tokens)) return false;
+ if (empty($tokens)) {
+ return false;
+ }
return implode(' ', $tokens);
-
}
/**
* Splits a space separated list of tokens into its constituent parts.
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
*/
- protected function split($string, $config, $context) {
+ protected function split($string, $config, $context)
+ {
// OPTIMIZABLE!
// do the preg_match, capture all subpatterns for reformulation
@@ -31,9 +45,9 @@ class HTMLPurifier_AttrDef_HTML_Nmtokens extends HTMLPurifier_AttrDef
// escaping because I don't know how to do that with regexps
// and plus it would complicate optimization efforts (you never
// see that anyway).
- $pattern = '/(?:(?<=\s)|\A)'. // look behind for space or string start
- '((?:--|-?[A-Za-z_])[A-Za-z_\-0-9]*)'.
- '(?:(?=\s)|\z)/'; // look ahead for space or string end
+ $pattern = '/(?:(?<=\s)|\A)' . // look behind for space or string start
+ '((?:--|-?[A-Za-z_])[A-Za-z_\-0-9]*)' .
+ '(?:(?=\s)|\z)/'; // look ahead for space or string end
preg_match_all($pattern, $string, $matches);
return $matches[1];
}
@@ -42,11 +56,15 @@ class HTMLPurifier_AttrDef_HTML_Nmtokens extends HTMLPurifier_AttrDef
* Template method for removing certain tokens based on arbitrary criteria.
* @note If we wanted to be really functional, we'd do an array_filter
* with a callback. But... we're not.
+ * @param array $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
*/
- protected function filter($tokens, $config, $context) {
+ protected function filter($tokens, $config, $context)
+ {
return $tokens;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/HTML/Pixels.php b/library/HTMLPurifier/AttrDef/HTML/Pixels.php
index 4cb2c1b85..a1d019e09 100644
--- a/library/HTMLPurifier/AttrDef/HTML/Pixels.php
+++ b/library/HTMLPurifier/AttrDef/HTML/Pixels.php
@@ -6,43 +6,71 @@
class HTMLPurifier_AttrDef_HTML_Pixels extends HTMLPurifier_AttrDef
{
+ /**
+ * @type int
+ */
protected $max;
- public function __construct($max = null) {
+ /**
+ * @param int $max
+ */
+ public function __construct($max = null)
+ {
$this->max = $max;
}
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
- if ($string === '0') return $string;
- if ($string === '') return false;
+ if ($string === '0') {
+ return $string;
+ }
+ if ($string === '') {
+ return false;
+ }
$length = strlen($string);
if (substr($string, $length - 2) == 'px') {
$string = substr($string, 0, $length - 2);
}
- if (!is_numeric($string)) return false;
- $int = (int) $string;
+ if (!is_numeric($string)) {
+ return false;
+ }
+ $int = (int)$string;
- if ($int < 0) return '0';
+ if ($int < 0) {
+ return '0';
+ }
// upper-bound value, extremely high values can
// crash operating systems, see <http://ha.ckers.org/imagecrash.html>
// WARNING, above link WILL crash you if you're using Windows
- if ($this->max !== null && $int > $this->max) return (string) $this->max;
-
- return (string) $int;
-
+ if ($this->max !== null && $int > $this->max) {
+ return (string)$this->max;
+ }
+ return (string)$int;
}
- public function make($string) {
- if ($string === '') $max = null;
- else $max = (int) $string;
+ /**
+ * @param string $string
+ * @return HTMLPurifier_AttrDef
+ */
+ public function make($string)
+ {
+ if ($string === '') {
+ $max = null;
+ } else {
+ $max = (int)$string;
+ }
$class = get_class($this);
return new $class($max);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/Integer.php b/library/HTMLPurifier/AttrDef/Integer.php
index d59738d2a..400e707d2 100644
--- a/library/HTMLPurifier/AttrDef/Integer.php
+++ b/library/HTMLPurifier/AttrDef/Integer.php
@@ -11,17 +11,20 @@ class HTMLPurifier_AttrDef_Integer extends HTMLPurifier_AttrDef
{
/**
- * Bool indicating whether or not negative values are allowed
+ * Whether or not negative values are allowed.
+ * @type bool
*/
protected $negative = true;
/**
- * Bool indicating whether or not zero is allowed
+ * Whether or not zero is allowed.
+ * @type bool
*/
protected $zero = true;
/**
- * Bool indicating whether or not positive values are allowed
+ * Whether or not positive values are allowed.
+ * @type bool
*/
protected $positive = true;
@@ -30,44 +33,59 @@ class HTMLPurifier_AttrDef_Integer extends HTMLPurifier_AttrDef
* @param $zero Bool indicating whether or not zero is allowed
* @param $positive Bool indicating whether or not positive values are allowed
*/
- public function __construct(
- $negative = true, $zero = true, $positive = true
- ) {
+ public function __construct($negative = true, $zero = true, $positive = true)
+ {
$this->negative = $negative;
- $this->zero = $zero;
+ $this->zero = $zero;
$this->positive = $positive;
}
- public function validate($integer, $config, $context) {
-
+ /**
+ * @param string $integer
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($integer, $config, $context)
+ {
$integer = $this->parseCDATA($integer);
- if ($integer === '') return false;
+ if ($integer === '') {
+ return false;
+ }
// we could possibly simply typecast it to integer, but there are
// certain fringe cases that must not return an integer.
// clip leading sign
- if ( $this->negative && $integer[0] === '-' ) {
+ if ($this->negative && $integer[0] === '-') {
$digits = substr($integer, 1);
- if ($digits === '0') $integer = '0'; // rm minus sign for zero
- } elseif( $this->positive && $integer[0] === '+' ) {
+ if ($digits === '0') {
+ $integer = '0';
+ } // rm minus sign for zero
+ } elseif ($this->positive && $integer[0] === '+') {
$digits = $integer = substr($integer, 1); // rm unnecessary plus
} else {
$digits = $integer;
}
// test if it's numeric
- if (!ctype_digit($digits)) return false;
+ if (!ctype_digit($digits)) {
+ return false;
+ }
// perform scope tests
- if (!$this->zero && $integer == 0) return false;
- if (!$this->positive && $integer > 0) return false;
- if (!$this->negative && $integer < 0) return false;
+ if (!$this->zero && $integer == 0) {
+ return false;
+ }
+ if (!$this->positive && $integer > 0) {
+ return false;
+ }
+ if (!$this->negative && $integer < 0) {
+ return false;
+ }
return $integer;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/Lang.php b/library/HTMLPurifier/AttrDef/Lang.php
index 10e6da56d..2a55cea64 100644
--- a/library/HTMLPurifier/AttrDef/Lang.php
+++ b/library/HTMLPurifier/AttrDef/Lang.php
@@ -7,15 +7,25 @@
class HTMLPurifier_AttrDef_Lang extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
-
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$string = trim($string);
- if (!$string) return false;
+ if (!$string) {
+ return false;
+ }
$subtags = explode('-', $string);
$num_subtags = count($subtags);
- if ($num_subtags == 0) return false; // sanity check
+ if ($num_subtags == 0) { // sanity check
+ return false;
+ }
// process primary subtag : $subtags[0]
$length = strlen($subtags[0]);
@@ -23,15 +33,15 @@ class HTMLPurifier_AttrDef_Lang extends HTMLPurifier_AttrDef
case 0:
return false;
case 1:
- if (! ($subtags[0] == 'x' || $subtags[0] == 'i') ) {
+ if (!($subtags[0] == 'x' || $subtags[0] == 'i')) {
return false;
}
break;
case 2:
case 3:
- if (! ctype_alpha($subtags[0]) ) {
+ if (!ctype_alpha($subtags[0])) {
return false;
- } elseif (! ctype_lower($subtags[0]) ) {
+ } elseif (!ctype_lower($subtags[0])) {
$subtags[0] = strtolower($subtags[0]);
}
break;
@@ -40,17 +50,23 @@ class HTMLPurifier_AttrDef_Lang extends HTMLPurifier_AttrDef
}
$new_string = $subtags[0];
- if ($num_subtags == 1) return $new_string;
+ if ($num_subtags == 1) {
+ return $new_string;
+ }
// process second subtag : $subtags[1]
$length = strlen($subtags[1]);
if ($length == 0 || ($length == 1 && $subtags[1] != 'x') || $length > 8 || !ctype_alnum($subtags[1])) {
return $new_string;
}
- if (!ctype_lower($subtags[1])) $subtags[1] = strtolower($subtags[1]);
+ if (!ctype_lower($subtags[1])) {
+ $subtags[1] = strtolower($subtags[1]);
+ }
$new_string .= '-' . $subtags[1];
- if ($num_subtags == 2) return $new_string;
+ if ($num_subtags == 2) {
+ return $new_string;
+ }
// process all other subtags, index 2 and up
for ($i = 2; $i < $num_subtags; $i++) {
@@ -63,11 +79,8 @@ class HTMLPurifier_AttrDef_Lang extends HTMLPurifier_AttrDef
}
$new_string .= '-' . $subtags[$i];
}
-
return $new_string;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/Switch.php b/library/HTMLPurifier/AttrDef/Switch.php
index c9e3ed193..c7eb3199a 100644
--- a/library/HTMLPurifier/AttrDef/Switch.php
+++ b/library/HTMLPurifier/AttrDef/Switch.php
@@ -6,21 +6,41 @@
class HTMLPurifier_AttrDef_Switch
{
+ /**
+ * @type string
+ */
protected $tag;
- protected $withTag, $withoutTag;
+
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ protected $withTag;
+
+ /**
+ * @type HTMLPurifier_AttrDef
+ */
+ protected $withoutTag;
/**
* @param string $tag Tag name to switch upon
* @param HTMLPurifier_AttrDef $with_tag Call if token matches tag
* @param HTMLPurifier_AttrDef $without_tag Call if token doesn't match, or there is no token
*/
- public function __construct($tag, $with_tag, $without_tag) {
+ public function __construct($tag, $with_tag, $without_tag)
+ {
$this->tag = $tag;
$this->withTag = $with_tag;
$this->withoutTag = $without_tag;
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$token = $context->get('CurrentToken', true);
if (!$token || $token->name !== $this->tag) {
return $this->withoutTag->validate($string, $config, $context);
@@ -28,7 +48,6 @@ class HTMLPurifier_AttrDef_Switch
return $this->withTag->validate($string, $config, $context);
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/Text.php b/library/HTMLPurifier/AttrDef/Text.php
index c6216cc53..4553a4ea9 100644
--- a/library/HTMLPurifier/AttrDef/Text.php
+++ b/library/HTMLPurifier/AttrDef/Text.php
@@ -6,10 +6,16 @@
class HTMLPurifier_AttrDef_Text extends HTMLPurifier_AttrDef
{
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
return $this->parseCDATA($string);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/URI.php b/library/HTMLPurifier/AttrDef/URI.php
index 01a6d83e9..c1cd89772 100644
--- a/library/HTMLPurifier/AttrDef/URI.php
+++ b/library/HTMLPurifier/AttrDef/URI.php
@@ -7,31 +7,54 @@
class HTMLPurifier_AttrDef_URI extends HTMLPurifier_AttrDef
{
+ /**
+ * @type HTMLPurifier_URIParser
+ */
protected $parser;
+
+ /**
+ * @type bool
+ */
protected $embedsResource;
/**
- * @param $embeds_resource_resource Does the URI here result in an extra HTTP request?
+ * @param bool $embeds_resource Does the URI here result in an extra HTTP request?
*/
- public function __construct($embeds_resource = false) {
+ public function __construct($embeds_resource = false)
+ {
$this->parser = new HTMLPurifier_URIParser();
- $this->embedsResource = (bool) $embeds_resource;
+ $this->embedsResource = (bool)$embeds_resource;
}
- public function make($string) {
- $embeds = (bool) $string;
+ /**
+ * @param string $string
+ * @return HTMLPurifier_AttrDef_URI
+ */
+ public function make($string)
+ {
+ $embeds = ($string === 'embedded');
return new HTMLPurifier_AttrDef_URI($embeds);
}
- public function validate($uri, $config, $context) {
-
- if ($config->get('URI.Disable')) return false;
+ /**
+ * @param string $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($uri, $config, $context)
+ {
+ if ($config->get('URI.Disable')) {
+ return false;
+ }
$uri = $this->parseCDATA($uri);
// parse the URI
$uri = $this->parser->parse($uri);
- if ($uri === false) return false;
+ if ($uri === false) {
+ return false;
+ }
// add embedded flag to context for validators
$context->register('EmbeddedURI', $this->embedsResource);
@@ -41,23 +64,35 @@ class HTMLPurifier_AttrDef_URI extends HTMLPurifier_AttrDef
// generic validation
$result = $uri->validate($config, $context);
- if (!$result) break;
+ if (!$result) {
+ break;
+ }
// chained filtering
$uri_def = $config->getDefinition('URI');
$result = $uri_def->filter($uri, $config, $context);
- if (!$result) break;
+ if (!$result) {
+ break;
+ }
// scheme-specific validation
$scheme_obj = $uri->getSchemeObj($config, $context);
- if (!$scheme_obj) break;
- if ($this->embedsResource && !$scheme_obj->browsable) break;
+ if (!$scheme_obj) {
+ break;
+ }
+ if ($this->embedsResource && !$scheme_obj->browsable) {
+ break;
+ }
$result = $scheme_obj->validate($uri, $config, $context);
- if (!$result) break;
+ if (!$result) {
+ break;
+ }
// Post chained filtering
$result = $uri_def->postFilter($uri, $config, $context);
- if (!$result) break;
+ if (!$result) {
+ break;
+ }
// survived gauntlet
$ok = true;
@@ -65,13 +100,12 @@ class HTMLPurifier_AttrDef_URI extends HTMLPurifier_AttrDef
} while (false);
$context->destroy('EmbeddedURI');
- if (!$ok) return false;
-
+ if (!$ok) {
+ return false;
+ }
// back to string
return $uri->toString();
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/URI/Email.php b/library/HTMLPurifier/AttrDef/URI/Email.php
index bfee9d166..daf32b764 100644
--- a/library/HTMLPurifier/AttrDef/URI/Email.php
+++ b/library/HTMLPurifier/AttrDef/URI/Email.php
@@ -5,8 +5,11 @@ abstract class HTMLPurifier_AttrDef_URI_Email extends HTMLPurifier_AttrDef
/**
* Unpacks a mailbox into its display-name and address
+ * @param string $string
+ * @return mixed
*/
- function unpack($string) {
+ public function unpack($string)
+ {
// needs to be implemented
}
diff --git a/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php b/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php
index 94c715ab4..52c0d5968 100644
--- a/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php
+++ b/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php
@@ -7,15 +7,23 @@
class HTMLPurifier_AttrDef_URI_Email_SimpleCheck extends HTMLPurifier_AttrDef_URI_Email
{
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
// no support for named mailboxes i.e. "Bob <bob@example.com>"
// that needs more percent encoding to be done
- if ($string == '') return false;
+ if ($string == '') {
+ return false;
+ }
$string = trim($string);
$result = preg_match('/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i', $string);
return $result ? $string : false;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/URI/Host.php b/library/HTMLPurifier/AttrDef/URI/Host.php
index 2156c10c6..e7df800b1 100644
--- a/library/HTMLPurifier/AttrDef/URI/Host.php
+++ b/library/HTMLPurifier/AttrDef/URI/Host.php
@@ -7,56 +7,122 @@ class HTMLPurifier_AttrDef_URI_Host extends HTMLPurifier_AttrDef
{
/**
- * Instance of HTMLPurifier_AttrDef_URI_IPv4 sub-validator
+ * IPv4 sub-validator.
+ * @type HTMLPurifier_AttrDef_URI_IPv4
*/
protected $ipv4;
/**
- * Instance of HTMLPurifier_AttrDef_URI_IPv6 sub-validator
+ * IPv6 sub-validator.
+ * @type HTMLPurifier_AttrDef_URI_IPv6
*/
protected $ipv6;
- public function __construct() {
+ public function __construct()
+ {
$this->ipv4 = new HTMLPurifier_AttrDef_URI_IPv4();
$this->ipv6 = new HTMLPurifier_AttrDef_URI_IPv6();
}
- public function validate($string, $config, $context) {
+ /**
+ * @param string $string
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($string, $config, $context)
+ {
$length = strlen($string);
- if ($string === '') return '';
- if ($length > 1 && $string[0] === '[' && $string[$length-1] === ']') {
+ // empty hostname is OK; it's usually semantically equivalent:
+ // the default host as defined by a URI scheme is used:
+ //
+ // If the URI scheme defines a default for host, then that
+ // default applies when the host subcomponent is undefined
+ // or when the registered name is empty (zero length).
+ if ($string === '') {
+ return '';
+ }
+ if ($length > 1 && $string[0] === '[' && $string[$length - 1] === ']') {
//IPv6
$ip = substr($string, 1, $length - 2);
$valid = $this->ipv6->validate($ip, $config, $context);
- if ($valid === false) return false;
- return '['. $valid . ']';
+ if ($valid === false) {
+ return false;
+ }
+ return '[' . $valid . ']';
}
// need to do checks on unusual encodings too
$ipv4 = $this->ipv4->validate($string, $config, $context);
- if ($ipv4 !== false) return $ipv4;
+ if ($ipv4 !== false) {
+ return $ipv4;
+ }
// A regular domain name.
- // This breaks I18N domain names, but we don't have proper IRI support,
- // so force users to insert Punycode. If there's complaining we'll
- // try to fix things into an international friendly form.
+ // This doesn't match I18N domain names, but we don't have proper IRI support,
+ // so force users to insert Punycode.
+
+ // There is not a good sense in which underscores should be
+ // allowed, since it's technically not! (And if you go as
+ // far to allow everything as specified by the DNS spec...
+ // well, that's literally everything, modulo some space limits
+ // for the components and the overall name (which, by the way,
+ // we are NOT checking!). So we (arbitrarily) decide this:
+ // let's allow underscores wherever we would have allowed
+ // hyphens, if they are enabled. This is a pretty good match
+ // for browser behavior, for example, a large number of browsers
+ // cannot handle foo_.example.com, but foo_bar.example.com is
+ // fairly well supported.
+ $underscore = $config->get('Core.AllowHostnameUnderscore') ? '_' : '';
// The productions describing this are:
$a = '[a-z]'; // alpha
$an = '[a-z0-9]'; // alphanum
- $and = '[a-z0-9-]'; // alphanum | "-"
+ $and = "[a-z0-9-$underscore]"; // alphanum | "-"
// domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
- $domainlabel = "$an($and*$an)?";
+ $domainlabel = "$an($and*$an)?";
// toplabel = alpha | alpha *( alphanum | "-" ) alphanum
- $toplabel = "$a($and*$an)?";
+ $toplabel = "$a($and*$an)?";
// hostname = *( domainlabel "." ) toplabel [ "." ]
- $match = preg_match("/^($domainlabel\.)*$toplabel\.?$/i", $string);
- if (!$match) return false;
+ if (preg_match("/^($domainlabel\.)*$toplabel\.?$/i", $string)) {
+ return $string;
+ }
- return $string;
- }
+ // If we have Net_IDNA2 support, we can support IRIs by
+ // punycoding them. (This is the most portable thing to do,
+ // since otherwise we have to assume browsers support
+ if ($config->get('Core.EnableIDNA')) {
+ $idna = new Net_IDNA2(array('encoding' => 'utf8', 'overlong' => false, 'strict' => true));
+ // we need to encode each period separately
+ $parts = explode('.', $string);
+ try {
+ $new_parts = array();
+ foreach ($parts as $part) {
+ $encodable = false;
+ for ($i = 0, $c = strlen($part); $i < $c; $i++) {
+ if (ord($part[$i]) > 0x7a) {
+ $encodable = true;
+ break;
+ }
+ }
+ if (!$encodable) {
+ $new_parts[] = $part;
+ } else {
+ $new_parts[] = $idna->encode($part);
+ }
+ }
+ $string = implode('.', $new_parts);
+ if (preg_match("/^($domainlabel\.)*$toplabel\.?$/i", $string)) {
+ return $string;
+ }
+ } catch (Exception $e) {
+ // XXX error reporting
+ }
+ }
+ return false;
+ }
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/URI/IPv4.php b/library/HTMLPurifier/AttrDef/URI/IPv4.php
index ec4cf591b..30ac16c9e 100644
--- a/library/HTMLPurifier/AttrDef/URI/IPv4.php
+++ b/library/HTMLPurifier/AttrDef/URI/IPv4.php
@@ -8,32 +8,38 @@ class HTMLPurifier_AttrDef_URI_IPv4 extends HTMLPurifier_AttrDef
{
/**
- * IPv4 regex, protected so that IPv6 can reuse it
+ * IPv4 regex, protected so that IPv6 can reuse it.
+ * @type string
*/
protected $ip4;
- public function validate($aIP, $config, $context) {
-
- if (!$this->ip4) $this->_loadRegex();
-
- if (preg_match('#^' . $this->ip4 . '$#s', $aIP))
- {
- return $aIP;
+ /**
+ * @param string $aIP
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($aIP, $config, $context)
+ {
+ if (!$this->ip4) {
+ $this->_loadRegex();
}
+ if (preg_match('#^' . $this->ip4 . '$#s', $aIP)) {
+ return $aIP;
+ }
return false;
-
}
/**
* Lazy load function to prevent regex from being stuffed in
* cache.
*/
- protected function _loadRegex() {
+ protected function _loadRegex()
+ {
$oct = '(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])'; // 0-255
$this->ip4 = "(?:{$oct}\\.{$oct}\\.{$oct}\\.{$oct})";
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrDef/URI/IPv6.php b/library/HTMLPurifier/AttrDef/URI/IPv6.php
index 9454e9be5..f243793ee 100644
--- a/library/HTMLPurifier/AttrDef/URI/IPv6.php
+++ b/library/HTMLPurifier/AttrDef/URI/IPv6.php
@@ -9,91 +9,81 @@
class HTMLPurifier_AttrDef_URI_IPv6 extends HTMLPurifier_AttrDef_URI_IPv4
{
- public function validate($aIP, $config, $context) {
-
- if (!$this->ip4) $this->_loadRegex();
+ /**
+ * @param string $aIP
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string
+ */
+ public function validate($aIP, $config, $context)
+ {
+ if (!$this->ip4) {
+ $this->_loadRegex();
+ }
$original = $aIP;
$hex = '[0-9a-fA-F]';
$blk = '(?:' . $hex . '{1,4})';
- $pre = '(?:/(?:12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))'; // /0 - /128
+ $pre = '(?:/(?:12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))'; // /0 - /128
// prefix check
- if (strpos($aIP, '/') !== false)
- {
- if (preg_match('#' . $pre . '$#s', $aIP, $find))
- {
- $aIP = substr($aIP, 0, 0-strlen($find[0]));
- unset($find);
- }
- else
- {
- return false;
- }
+ if (strpos($aIP, '/') !== false) {
+ if (preg_match('#' . $pre . '$#s', $aIP, $find)) {
+ $aIP = substr($aIP, 0, 0 - strlen($find[0]));
+ unset($find);
+ } else {
+ return false;
+ }
}
// IPv4-compatiblity check
- if (preg_match('#(?<=:'.')' . $this->ip4 . '$#s', $aIP, $find))
- {
- $aIP = substr($aIP, 0, 0-strlen($find[0]));
- $ip = explode('.', $find[0]);
- $ip = array_map('dechex', $ip);
- $aIP .= $ip[0] . $ip[1] . ':' . $ip[2] . $ip[3];
- unset($find, $ip);
+ if (preg_match('#(?<=:' . ')' . $this->ip4 . '$#s', $aIP, $find)) {
+ $aIP = substr($aIP, 0, 0 - strlen($find[0]));
+ $ip = explode('.', $find[0]);
+ $ip = array_map('dechex', $ip);
+ $aIP .= $ip[0] . $ip[1] . ':' . $ip[2] . $ip[3];
+ unset($find, $ip);
}
// compression check
$aIP = explode('::', $aIP);
$c = count($aIP);
- if ($c > 2)
- {
+ if ($c > 2) {
+ return false;
+ } elseif ($c == 2) {
+ list($first, $second) = $aIP;
+ $first = explode(':', $first);
+ $second = explode(':', $second);
+
+ if (count($first) + count($second) > 8) {
return false;
- }
- elseif ($c == 2)
- {
- list($first, $second) = $aIP;
- $first = explode(':', $first);
- $second = explode(':', $second);
-
- if (count($first) + count($second) > 8)
- {
- return false;
- }
+ }
- while(count($first) < 8)
- {
- array_push($first, '0');
- }
+ while (count($first) < 8) {
+ array_push($first, '0');
+ }
- array_splice($first, 8 - count($second), 8, $second);
- $aIP = $first;
- unset($first,$second);
- }
- else
- {
- $aIP = explode(':', $aIP[0]);
+ array_splice($first, 8 - count($second), 8, $second);
+ $aIP = $first;
+ unset($first, $second);
+ } else {
+ $aIP = explode(':', $aIP[0]);
}
$c = count($aIP);
- if ($c != 8)
- {
- return false;
+ if ($c != 8) {
+ return false;
}
// All the pieces should be 16-bit hex strings. Are they?
- foreach ($aIP as $piece)
- {
- if (!preg_match('#^[0-9a-fA-F]{4}$#s', sprintf('%04s', $piece)))
- {
- return false;
- }
+ foreach ($aIP as $piece) {
+ if (!preg_match('#^[0-9a-fA-F]{4}$#s', sprintf('%04s', $piece))) {
+ return false;
+ }
}
-
return $original;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform.php b/library/HTMLPurifier/AttrTransform.php
index e61d3e01b..b428331f1 100644
--- a/library/HTMLPurifier/AttrTransform.php
+++ b/library/HTMLPurifier/AttrTransform.php
@@ -20,37 +20,41 @@ abstract class HTMLPurifier_AttrTransform
/**
* Abstract: makes changes to the attributes dependent on multiple values.
*
- * @param $attr Assoc array of attributes, usually from
+ * @param array $attr Assoc array of attributes, usually from
* HTMLPurifier_Token_Tag::$attr
- * @param $config Mandatory HTMLPurifier_Config object.
- * @param $context Mandatory HTMLPurifier_Context object
- * @returns Processed attribute array.
+ * @param HTMLPurifier_Config $config Mandatory HTMLPurifier_Config object.
+ * @param HTMLPurifier_Context $context Mandatory HTMLPurifier_Context object
+ * @return array Processed attribute array.
*/
abstract public function transform($attr, $config, $context);
/**
* Prepends CSS properties to the style attribute, creating the
* attribute if it doesn't exist.
- * @param $attr Attribute array to process (passed by reference)
- * @param $css CSS to prepend
+ * @param array &$attr Attribute array to process (passed by reference)
+ * @param string $css CSS to prepend
*/
- public function prependCSS(&$attr, $css) {
+ public function prependCSS(&$attr, $css)
+ {
$attr['style'] = isset($attr['style']) ? $attr['style'] : '';
$attr['style'] = $css . $attr['style'];
}
/**
* Retrieves and removes an attribute
- * @param $attr Attribute array to process (passed by reference)
- * @param $key Key of attribute to confiscate
+ * @param array &$attr Attribute array to process (passed by reference)
+ * @param mixed $key Key of attribute to confiscate
+ * @return mixed
*/
- public function confiscateAttr(&$attr, $key) {
- if (!isset($attr[$key])) return null;
+ public function confiscateAttr(&$attr, $key)
+ {
+ if (!isset($attr[$key])) {
+ return null;
+ }
$value = $attr[$key];
unset($attr[$key]);
return $value;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/Background.php b/library/HTMLPurifier/AttrTransform/Background.php
index 0e1ff24a3..2f72869a5 100644
--- a/library/HTMLPurifier/AttrTransform/Background.php
+++ b/library/HTMLPurifier/AttrTransform/Background.php
@@ -3,21 +3,26 @@
/**
* Pre-transform that changes proprietary background attribute to CSS.
*/
-class HTMLPurifier_AttrTransform_Background extends HTMLPurifier_AttrTransform {
-
- public function transform($attr, $config, $context) {
-
- if (!isset($attr['background'])) return $attr;
+class HTMLPurifier_AttrTransform_Background extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['background'])) {
+ return $attr;
+ }
$background = $this->confiscateAttr($attr, 'background');
// some validation should happen here
$this->prependCSS($attr, "background-image:url($background);");
-
return $attr;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/BdoDir.php b/library/HTMLPurifier/AttrTransform/BdoDir.php
index 4d1a05665..d66c04a5b 100644
--- a/library/HTMLPurifier/AttrTransform/BdoDir.php
+++ b/library/HTMLPurifier/AttrTransform/BdoDir.php
@@ -8,12 +8,20 @@
class HTMLPurifier_AttrTransform_BdoDir extends HTMLPurifier_AttrTransform
{
- public function transform($attr, $config, $context) {
- if (isset($attr['dir'])) return $attr;
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (isset($attr['dir'])) {
+ return $attr;
+ }
$attr['dir'] = $config->get('Attr.DefaultTextDir');
return $attr;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/BgColor.php b/library/HTMLPurifier/AttrTransform/BgColor.php
index ad3916bb9..0f51fd2ce 100644
--- a/library/HTMLPurifier/AttrTransform/BgColor.php
+++ b/library/HTMLPurifier/AttrTransform/BgColor.php
@@ -3,21 +3,26 @@
/**
* Pre-transform that changes deprecated bgcolor attribute to CSS.
*/
-class HTMLPurifier_AttrTransform_BgColor extends HTMLPurifier_AttrTransform {
-
- public function transform($attr, $config, $context) {
-
- if (!isset($attr['bgcolor'])) return $attr;
+class HTMLPurifier_AttrTransform_BgColor extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['bgcolor'])) {
+ return $attr;
+ }
$bgcolor = $this->confiscateAttr($attr, 'bgcolor');
// some validation should happen here
$this->prependCSS($attr, "background-color:$bgcolor;");
-
return $attr;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/BoolToCSS.php b/library/HTMLPurifier/AttrTransform/BoolToCSS.php
index 51159b671..f25cd0195 100644
--- a/library/HTMLPurifier/AttrTransform/BoolToCSS.php
+++ b/library/HTMLPurifier/AttrTransform/BoolToCSS.php
@@ -3,34 +3,45 @@
/**
* Pre-transform that changes converts a boolean attribute to fixed CSS
*/
-class HTMLPurifier_AttrTransform_BoolToCSS extends HTMLPurifier_AttrTransform {
-
+class HTMLPurifier_AttrTransform_BoolToCSS extends HTMLPurifier_AttrTransform
+{
/**
- * Name of boolean attribute that is trigger
+ * Name of boolean attribute that is trigger.
+ * @type string
*/
protected $attr;
/**
- * CSS declarations to add to style, needs trailing semicolon
+ * CSS declarations to add to style, needs trailing semicolon.
+ * @type string
*/
protected $css;
/**
- * @param $attr string attribute name to convert from
- * @param $css string CSS declarations to add to style (needs semicolon)
+ * @param string $attr attribute name to convert from
+ * @param string $css CSS declarations to add to style (needs semicolon)
*/
- public function __construct($attr, $css) {
+ public function __construct($attr, $css)
+ {
$this->attr = $attr;
- $this->css = $css;
+ $this->css = $css;
}
- public function transform($attr, $config, $context) {
- if (!isset($attr[$this->attr])) return $attr;
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr[$this->attr])) {
+ return $attr;
+ }
unset($attr[$this->attr]);
$this->prependCSS($attr, $this->css);
return $attr;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/Border.php b/library/HTMLPurifier/AttrTransform/Border.php
index 476b0b079..057dc017f 100644
--- a/library/HTMLPurifier/AttrTransform/Border.php
+++ b/library/HTMLPurifier/AttrTransform/Border.php
@@ -3,16 +3,24 @@
/**
* Pre-transform that changes deprecated border attribute to CSS.
*/
-class HTMLPurifier_AttrTransform_Border extends HTMLPurifier_AttrTransform {
-
- public function transform($attr, $config, $context) {
- if (!isset($attr['border'])) return $attr;
+class HTMLPurifier_AttrTransform_Border extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['border'])) {
+ return $attr;
+ }
$border_width = $this->confiscateAttr($attr, 'border');
// some validation should happen here
$this->prependCSS($attr, "border:{$border_width}px solid;");
return $attr;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/EnumToCSS.php b/library/HTMLPurifier/AttrTransform/EnumToCSS.php
index 2a5b4514a..7ccd0e3fb 100644
--- a/library/HTMLPurifier/AttrTransform/EnumToCSS.php
+++ b/library/HTMLPurifier/AttrTransform/EnumToCSS.php
@@ -4,55 +4,65 @@
* Generic pre-transform that converts an attribute with a fixed number of
* values (enumerated) to CSS.
*/
-class HTMLPurifier_AttrTransform_EnumToCSS extends HTMLPurifier_AttrTransform {
-
+class HTMLPurifier_AttrTransform_EnumToCSS extends HTMLPurifier_AttrTransform
+{
/**
- * Name of attribute to transform from
+ * Name of attribute to transform from.
+ * @type string
*/
protected $attr;
/**
- * Lookup array of attribute values to CSS
+ * Lookup array of attribute values to CSS.
+ * @type array
*/
protected $enumToCSS = array();
/**
- * Case sensitivity of the matching
+ * Case sensitivity of the matching.
+ * @type bool
* @warning Currently can only be guaranteed to work with ASCII
* values.
*/
protected $caseSensitive = false;
/**
- * @param $attr String attribute name to transform from
- * @param $enumToCSS Lookup array of attribute values to CSS
- * @param $case_sensitive Boolean case sensitivity indicator, default false
+ * @param string $attr Attribute name to transform from
+ * @param array $enum_to_css Lookup array of attribute values to CSS
+ * @param bool $case_sensitive Case sensitivity indicator, default false
*/
- public function __construct($attr, $enum_to_css, $case_sensitive = false) {
+ public function __construct($attr, $enum_to_css, $case_sensitive = false)
+ {
$this->attr = $attr;
$this->enumToCSS = $enum_to_css;
- $this->caseSensitive = (bool) $case_sensitive;
+ $this->caseSensitive = (bool)$case_sensitive;
}
- public function transform($attr, $config, $context) {
-
- if (!isset($attr[$this->attr])) return $attr;
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr[$this->attr])) {
+ return $attr;
+ }
$value = trim($attr[$this->attr]);
unset($attr[$this->attr]);
- if (!$this->caseSensitive) $value = strtolower($value);
+ if (!$this->caseSensitive) {
+ $value = strtolower($value);
+ }
if (!isset($this->enumToCSS[$value])) {
return $attr;
}
-
$this->prependCSS($attr, $this->enumToCSS[$value]);
-
return $attr;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/ImgRequired.php b/library/HTMLPurifier/AttrTransform/ImgRequired.php
index 7f0e4b7a5..7df6cb3e1 100644
--- a/library/HTMLPurifier/AttrTransform/ImgRequired.php
+++ b/library/HTMLPurifier/AttrTransform/ImgRequired.php
@@ -11,11 +11,19 @@
class HTMLPurifier_AttrTransform_ImgRequired extends HTMLPurifier_AttrTransform
{
- public function transform($attr, $config, $context) {
-
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
$src = true;
if (!isset($attr['src'])) {
- if ($config->get('Core.RemoveInvalidImg')) return $attr;
+ if ($config->get('Core.RemoveInvalidImg')) {
+ return $attr;
+ }
$attr['src'] = $config->get('Attr.DefaultInvalidImage');
$src = false;
}
@@ -25,7 +33,7 @@ class HTMLPurifier_AttrTransform_ImgRequired extends HTMLPurifier_AttrTransform
$alt = $config->get('Attr.DefaultImageAlt');
if ($alt === null) {
// truncate if the alt is too long
- $attr['alt'] = substr(basename($attr['src']),0,40);
+ $attr['alt'] = substr(basename($attr['src']), 0, 40);
} else {
$attr['alt'] = $alt;
}
@@ -33,11 +41,8 @@ class HTMLPurifier_AttrTransform_ImgRequired extends HTMLPurifier_AttrTransform
$attr['alt'] = $config->get('Attr.DefaultInvalidImageAlt');
}
}
-
return $attr;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/ImgSpace.php b/library/HTMLPurifier/AttrTransform/ImgSpace.php
index fd84c10c3..350b3358f 100644
--- a/library/HTMLPurifier/AttrTransform/ImgSpace.php
+++ b/library/HTMLPurifier/AttrTransform/ImgSpace.php
@@ -3,42 +3,59 @@
/**
* Pre-transform that changes deprecated hspace and vspace attributes to CSS
*/
-class HTMLPurifier_AttrTransform_ImgSpace extends HTMLPurifier_AttrTransform {
-
+class HTMLPurifier_AttrTransform_ImgSpace extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type string
+ */
protected $attr;
+
+ /**
+ * @type array
+ */
protected $css = array(
'hspace' => array('left', 'right'),
'vspace' => array('top', 'bottom')
);
- public function __construct($attr) {
+ /**
+ * @param string $attr
+ */
+ public function __construct($attr)
+ {
$this->attr = $attr;
if (!isset($this->css[$attr])) {
trigger_error(htmlspecialchars($attr) . ' is not valid space attribute');
}
}
- public function transform($attr, $config, $context) {
-
- if (!isset($attr[$this->attr])) return $attr;
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr[$this->attr])) {
+ return $attr;
+ }
$width = $this->confiscateAttr($attr, $this->attr);
// some validation could happen here
- if (!isset($this->css[$this->attr])) return $attr;
+ if (!isset($this->css[$this->attr])) {
+ return $attr;
+ }
$style = '';
foreach ($this->css[$this->attr] as $suffix) {
$property = "margin-$suffix";
$style .= "$property:{$width}px;";
}
-
$this->prependCSS($attr, $style);
-
return $attr;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/Input.php b/library/HTMLPurifier/AttrTransform/Input.php
index 16829552d..3ab47ed8c 100644
--- a/library/HTMLPurifier/AttrTransform/Input.php
+++ b/library/HTMLPurifier/AttrTransform/Input.php
@@ -4,17 +4,31 @@
* Performs miscellaneous cross attribute validation and filtering for
* input elements. This is meant to be a post-transform.
*/
-class HTMLPurifier_AttrTransform_Input extends HTMLPurifier_AttrTransform {
-
+class HTMLPurifier_AttrTransform_Input extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type HTMLPurifier_AttrDef_HTML_Pixels
+ */
protected $pixels;
- public function __construct() {
+ public function __construct()
+ {
$this->pixels = new HTMLPurifier_AttrDef_HTML_Pixels();
}
- public function transform($attr, $config, $context) {
- if (!isset($attr['type'])) $t = 'text';
- else $t = strtolower($attr['type']);
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['type'])) {
+ $t = 'text';
+ } else {
+ $t = strtolower($attr['type']);
+ }
if (isset($attr['checked']) && $t !== 'radio' && $t !== 'checkbox') {
unset($attr['checked']);
}
@@ -23,8 +37,11 @@ class HTMLPurifier_AttrTransform_Input extends HTMLPurifier_AttrTransform {
}
if (isset($attr['size']) && $t !== 'text' && $t !== 'password') {
$result = $this->pixels->validate($attr['size'], $config, $context);
- if ($result === false) unset($attr['size']);
- else $attr['size'] = $result;
+ if ($result === false) {
+ unset($attr['size']);
+ } else {
+ $attr['size'] = $result;
+ }
}
if (isset($attr['src']) && $t !== 'image') {
unset($attr['src']);
@@ -34,7 +51,6 @@ class HTMLPurifier_AttrTransform_Input extends HTMLPurifier_AttrTransform {
}
return $attr;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/Lang.php b/library/HTMLPurifier/AttrTransform/Lang.php
index 5869e7f82..5b0aff0e4 100644
--- a/library/HTMLPurifier/AttrTransform/Lang.php
+++ b/library/HTMLPurifier/AttrTransform/Lang.php
@@ -8,9 +8,15 @@
class HTMLPurifier_AttrTransform_Lang extends HTMLPurifier_AttrTransform
{
- public function transform($attr, $config, $context) {
-
- $lang = isset($attr['lang']) ? $attr['lang'] : false;
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ $lang = isset($attr['lang']) ? $attr['lang'] : false;
$xml_lang = isset($attr['xml:lang']) ? $attr['xml:lang'] : false;
if ($lang !== false && $xml_lang === false) {
@@ -18,11 +24,8 @@ class HTMLPurifier_AttrTransform_Lang extends HTMLPurifier_AttrTransform
} elseif ($xml_lang !== false) {
$attr['lang'] = $xml_lang;
}
-
return $attr;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/Length.php b/library/HTMLPurifier/AttrTransform/Length.php
index ea2f30473..853f33549 100644
--- a/library/HTMLPurifier/AttrTransform/Length.php
+++ b/library/HTMLPurifier/AttrTransform/Length.php
@@ -6,22 +6,40 @@
class HTMLPurifier_AttrTransform_Length extends HTMLPurifier_AttrTransform
{
+ /**
+ * @type string
+ */
protected $name;
+
+ /**
+ * @type string
+ */
protected $cssName;
- public function __construct($name, $css_name = null) {
+ public function __construct($name, $css_name = null)
+ {
$this->name = $name;
$this->cssName = $css_name ? $css_name : $name;
}
- public function transform($attr, $config, $context) {
- if (!isset($attr[$this->name])) return $attr;
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr[$this->name])) {
+ return $attr;
+ }
$length = $this->confiscateAttr($attr, $this->name);
- if(ctype_digit($length)) $length .= 'px';
+ if (ctype_digit($length)) {
+ $length .= 'px';
+ }
$this->prependCSS($attr, $this->cssName . ":$length;");
return $attr;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/Name.php b/library/HTMLPurifier/AttrTransform/Name.php
index 15315bc73..63cce6837 100644
--- a/library/HTMLPurifier/AttrTransform/Name.php
+++ b/library/HTMLPurifier/AttrTransform/Name.php
@@ -6,16 +6,28 @@
class HTMLPurifier_AttrTransform_Name extends HTMLPurifier_AttrTransform
{
- public function transform($attr, $config, $context) {
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
// Abort early if we're using relaxed definition of name
- if ($config->get('HTML.Attr.Name.UseCDATA')) return $attr;
- if (!isset($attr['name'])) return $attr;
+ if ($config->get('HTML.Attr.Name.UseCDATA')) {
+ return $attr;
+ }
+ if (!isset($attr['name'])) {
+ return $attr;
+ }
$id = $this->confiscateAttr($attr, 'name');
- if ( isset($attr['id'])) return $attr;
+ if (isset($attr['id'])) {
+ return $attr;
+ }
$attr['id'] = $id;
return $attr;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/NameSync.php b/library/HTMLPurifier/AttrTransform/NameSync.php
index a95638c14..36079b786 100644
--- a/library/HTMLPurifier/AttrTransform/NameSync.php
+++ b/library/HTMLPurifier/AttrTransform/NameSync.php
@@ -8,20 +8,34 @@
class HTMLPurifier_AttrTransform_NameSync extends HTMLPurifier_AttrTransform
{
- public function __construct() {
+ public function __construct()
+ {
$this->idDef = new HTMLPurifier_AttrDef_HTML_ID();
}
- public function transform($attr, $config, $context) {
- if (!isset($attr['name'])) return $attr;
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['name'])) {
+ return $attr;
+ }
$name = $attr['name'];
- if (isset($attr['id']) && $attr['id'] === $name) return $attr;
+ if (isset($attr['id']) && $attr['id'] === $name) {
+ return $attr;
+ }
$result = $this->idDef->validate($name, $config, $context);
- if ($result === false) unset($attr['name']);
- else $attr['name'] = $result;
+ if ($result === false) {
+ unset($attr['name']);
+ } else {
+ $attr['name'] = $result;
+ }
return $attr;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/Nofollow.php b/library/HTMLPurifier/AttrTransform/Nofollow.php
new file mode 100644
index 000000000..1057ebee1
--- /dev/null
+++ b/library/HTMLPurifier/AttrTransform/Nofollow.php
@@ -0,0 +1,52 @@
+<?php
+
+// must be called POST validation
+
+/**
+ * Adds rel="nofollow" to all outbound links. This transform is
+ * only attached if Attr.Nofollow is TRUE.
+ */
+class HTMLPurifier_AttrTransform_Nofollow extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type HTMLPurifier_URIParser
+ */
+ private $parser;
+
+ public function __construct()
+ {
+ $this->parser = new HTMLPurifier_URIParser();
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['href'])) {
+ return $attr;
+ }
+
+ // XXX Kind of inefficient
+ $url = $this->parser->parse($attr['href']);
+ $scheme = $url->getSchemeObj($config, $context);
+
+ if ($scheme->browsable && !$url->isLocal($config, $context)) {
+ if (isset($attr['rel'])) {
+ $rels = explode(' ', $attr['rel']);
+ if (!in_array('nofollow', $rels)) {
+ $rels[] = 'nofollow';
+ }
+ $attr['rel'] = implode(' ', $rels);
+ } else {
+ $attr['rel'] = 'nofollow';
+ }
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/SafeEmbed.php b/library/HTMLPurifier/AttrTransform/SafeEmbed.php
index 4da449981..231c81a3f 100644
--- a/library/HTMLPurifier/AttrTransform/SafeEmbed.php
+++ b/library/HTMLPurifier/AttrTransform/SafeEmbed.php
@@ -2,9 +2,19 @@
class HTMLPurifier_AttrTransform_SafeEmbed extends HTMLPurifier_AttrTransform
{
+ /**
+ * @type string
+ */
public $name = "SafeEmbed";
- public function transform($attr, $config, $context) {
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
$attr['allowscriptaccess'] = 'never';
$attr['allownetworking'] = 'internal';
$attr['type'] = 'application/x-shockwave-flash';
diff --git a/library/HTMLPurifier/AttrTransform/SafeObject.php b/library/HTMLPurifier/AttrTransform/SafeObject.php
index 1ed74898b..d1f3a4d2e 100644
--- a/library/HTMLPurifier/AttrTransform/SafeObject.php
+++ b/library/HTMLPurifier/AttrTransform/SafeObject.php
@@ -5,10 +5,22 @@
*/
class HTMLPurifier_AttrTransform_SafeObject extends HTMLPurifier_AttrTransform
{
+ /**
+ * @type string
+ */
public $name = "SafeObject";
- function transform($attr, $config, $context) {
- if (!isset($attr['type'])) $attr['type'] = 'application/x-shockwave-flash';
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['type'])) {
+ $attr['type'] = 'application/x-shockwave-flash';
+ }
return $attr;
}
}
diff --git a/library/HTMLPurifier/AttrTransform/SafeParam.php b/library/HTMLPurifier/AttrTransform/SafeParam.php
index 3f992ec31..1143b4b49 100644
--- a/library/HTMLPurifier/AttrTransform/SafeParam.php
+++ b/library/HTMLPurifier/AttrTransform/SafeParam.php
@@ -14,14 +14,30 @@
*/
class HTMLPurifier_AttrTransform_SafeParam extends HTMLPurifier_AttrTransform
{
+ /**
+ * @type string
+ */
public $name = "SafeParam";
+
+ /**
+ * @type HTMLPurifier_AttrDef_URI
+ */
private $uri;
- public function __construct() {
+ public function __construct()
+ {
$this->uri = new HTMLPurifier_AttrDef_URI(true); // embedded
+ $this->wmode = new HTMLPurifier_AttrDef_Enum(array('window', 'opaque', 'transparent'));
}
- public function transform($attr, $config, $context) {
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
// If we add support for other objects, we'll need to alter the
// transforms.
switch ($attr['name']) {
@@ -33,8 +49,15 @@ class HTMLPurifier_AttrTransform_SafeParam extends HTMLPurifier_AttrTransform
case 'allowNetworking':
$attr['value'] = 'internal';
break;
+ case 'allowFullScreen':
+ if ($config->get('HTML.FlashAllowFullScreen')) {
+ $attr['value'] = ($attr['value'] == 'true') ? 'true' : 'false';
+ } else {
+ $attr['value'] = 'false';
+ }
+ break;
case 'wmode':
- $attr['value'] = 'window';
+ $attr['value'] = $this->wmode->validate($attr['value'], $config, $context);
break;
case 'movie':
case 'src':
diff --git a/library/HTMLPurifier/AttrTransform/ScriptRequired.php b/library/HTMLPurifier/AttrTransform/ScriptRequired.php
index 4499050a2..b7057bbf8 100644
--- a/library/HTMLPurifier/AttrTransform/ScriptRequired.php
+++ b/library/HTMLPurifier/AttrTransform/ScriptRequired.php
@@ -5,7 +5,14 @@
*/
class HTMLPurifier_AttrTransform_ScriptRequired extends HTMLPurifier_AttrTransform
{
- public function transform($attr, $config, $context) {
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
if (!isset($attr['type'])) {
$attr['type'] = 'text/javascript';
}
diff --git a/library/HTMLPurifier/AttrTransform/TargetBlank.php b/library/HTMLPurifier/AttrTransform/TargetBlank.php
new file mode 100644
index 000000000..dd63ea89c
--- /dev/null
+++ b/library/HTMLPurifier/AttrTransform/TargetBlank.php
@@ -0,0 +1,45 @@
+<?php
+
+// must be called POST validation
+
+/**
+ * Adds target="blank" to all outbound links. This transform is
+ * only attached if Attr.TargetBlank is TRUE. This works regardless
+ * of whether or not Attr.AllowedFrameTargets
+ */
+class HTMLPurifier_AttrTransform_TargetBlank extends HTMLPurifier_AttrTransform
+{
+ /**
+ * @type HTMLPurifier_URIParser
+ */
+ private $parser;
+
+ public function __construct()
+ {
+ $this->parser = new HTMLPurifier_URIParser();
+ }
+
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
+ if (!isset($attr['href'])) {
+ return $attr;
+ }
+
+ // XXX Kind of inefficient
+ $url = $this->parser->parse($attr['href']);
+ $scheme = $url->getSchemeObj($config, $context);
+
+ if ($scheme->browsable && !$url->isBenign($config, $context)) {
+ $attr['target'] = '_blank';
+ }
+ return $attr;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTransform/Textarea.php b/library/HTMLPurifier/AttrTransform/Textarea.php
index 81ac3488b..6a9f33a0c 100644
--- a/library/HTMLPurifier/AttrTransform/Textarea.php
+++ b/library/HTMLPurifier/AttrTransform/Textarea.php
@@ -5,14 +5,23 @@
*/
class HTMLPurifier_AttrTransform_Textarea extends HTMLPurifier_AttrTransform
{
-
- public function transform($attr, $config, $context) {
+ /**
+ * @param array $attr
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function transform($attr, $config, $context)
+ {
// Calculated from Firefox
- if (!isset($attr['cols'])) $attr['cols'] = '22';
- if (!isset($attr['rows'])) $attr['rows'] = '3';
+ if (!isset($attr['cols'])) {
+ $attr['cols'] = '22';
+ }
+ if (!isset($attr['rows'])) {
+ $attr['rows'] = '3';
+ }
return $attr;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/AttrTypes.php b/library/HTMLPurifier/AttrTypes.php
index fc2ea4e58..3b70520b6 100644
--- a/library/HTMLPurifier/AttrTypes.php
+++ b/library/HTMLPurifier/AttrTypes.php
@@ -6,7 +6,8 @@
class HTMLPurifier_AttrTypes
{
/**
- * Lookup array of attribute string identifiers to concrete implementations
+ * Lookup array of attribute string identifiers to concrete implementations.
+ * @type HTMLPurifier_AttrDef[]
*/
protected $info = array();
@@ -14,7 +15,15 @@ class HTMLPurifier_AttrTypes
* Constructs the info array, supplying default implementations for attribute
* types.
*/
- public function __construct() {
+ public function __construct()
+ {
+ // XXX This is kind of poor, since we don't actually /clone/
+ // instances; instead, we use the supplied make() attribute. So,
+ // the underlying class must know how to deal with arguments.
+ // With the old implementation of Enum, that ignored its
+ // arguments when handling a make dispatch, the IAlign
+ // definition wouldn't work.
+
// pseudo-types, must be instantiated via shorthand
$this->info['Enum'] = new HTMLPurifier_AttrDef_Enum();
$this->info['Bool'] = new HTMLPurifier_AttrDef_HTML_Bool();
@@ -29,6 +38,9 @@ class HTMLPurifier_AttrTypes
$this->info['URI'] = new HTMLPurifier_AttrDef_URI();
$this->info['LanguageCode'] = new HTMLPurifier_AttrDef_Lang();
$this->info['Color'] = new HTMLPurifier_AttrDef_HTML_Color();
+ $this->info['IAlign'] = self::makeEnum('top,middle,bottom,left,right');
+ $this->info['LAlign'] = self::makeEnum('top,bottom,left,right');
+ $this->info['FrameTarget'] = new HTMLPurifier_AttrDef_HTML_FrameTarget();
// unimplemented aliases
$this->info['ContentType'] = new HTMLPurifier_AttrDef_Text();
@@ -44,32 +56,39 @@ class HTMLPurifier_AttrTypes
$this->info['Number'] = new HTMLPurifier_AttrDef_Integer(false, false, true);
}
+ private static function makeEnum($in)
+ {
+ return new HTMLPurifier_AttrDef_Clone(new HTMLPurifier_AttrDef_Enum(explode(',', $in)));
+ }
+
/**
* Retrieves a type
- * @param $type String type name
- * @return Object AttrDef for type
+ * @param string $type String type name
+ * @return HTMLPurifier_AttrDef Object AttrDef for type
*/
- public function get($type) {
-
+ public function get($type)
+ {
// determine if there is any extra info tacked on
- if (strpos($type, '#') !== false) list($type, $string) = explode('#', $type, 2);
- else $string = '';
+ if (strpos($type, '#') !== false) {
+ list($type, $string) = explode('#', $type, 2);
+ } else {
+ $string = '';
+ }
if (!isset($this->info[$type])) {
trigger_error('Cannot retrieve undefined attribute type ' . $type, E_USER_ERROR);
return;
}
-
return $this->info[$type]->make($string);
-
}
/**
* Sets a new implementation for a type
- * @param $type String type name
- * @param $impl Object AttrDef for type
+ * @param string $type String type name
+ * @param HTMLPurifier_AttrDef $impl Object AttrDef for type
*/
- public function set($type, $impl) {
+ public function set($type, $impl)
+ {
$this->info[$type] = $impl;
}
}
diff --git a/library/HTMLPurifier/AttrValidator.php b/library/HTMLPurifier/AttrValidator.php
index 829a0f8f2..f97dc93ed 100644
--- a/library/HTMLPurifier/AttrValidator.php
+++ b/library/HTMLPurifier/AttrValidator.php
@@ -9,17 +9,14 @@ class HTMLPurifier_AttrValidator
{
/**
- * Validates the attributes of a token, returning a modified token
+ * Validates the attributes of a token, mutating it as necessary.
* that has valid tokens
- * @param $token Reference to token to validate. We require a reference
- * because the operation this class performs on the token are
- * not atomic, so the context CurrentToken to be updated
- * throughout
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
+ * @param HTMLPurifier_Token $token Token to validate.
+ * @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config
+ * @param HTMLPurifier_Context $context Instance of HTMLPurifier_Context
*/
- public function validateToken(&$token, &$config, $context) {
-
+ public function validateToken($token, $config, $context)
+ {
$definition = $config->getHTMLDefinition();
$e =& $context->get('ErrorCollector', true);
@@ -32,12 +29,15 @@ class HTMLPurifier_AttrValidator
// initialize CurrentToken if necessary
$current_token =& $context->get('CurrentToken', true);
- if (!$current_token) $context->register('CurrentToken', $token);
+ if (!$current_token) {
+ $context->register('CurrentToken', $token);
+ }
- if (
- !$token instanceof HTMLPurifier_Token_Start &&
+ if (!$token instanceof HTMLPurifier_Token_Start &&
!$token instanceof HTMLPurifier_Token_Empty
- ) return $token;
+ ) {
+ return;
+ }
// create alias to global definition array, see also $defs
// DEFINITION CALL
@@ -51,7 +51,9 @@ class HTMLPurifier_AttrValidator
foreach ($definition->info_attr_transform_pre as $transform) {
$attr = $transform->transform($o = $attr, $config, $context);
if ($e) {
- if ($attr != $o) $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ if ($attr != $o) {
+ $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ }
}
}
@@ -60,7 +62,9 @@ class HTMLPurifier_AttrValidator
foreach ($definition->info[$token->name]->attr_transform_pre as $transform) {
$attr = $transform->transform($o = $attr, $config, $context);
if ($e) {
- if ($attr != $o) $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ if ($attr != $o) {
+ $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ }
}
}
@@ -77,7 +81,7 @@ class HTMLPurifier_AttrValidator
foreach ($attr as $attr_key => $value) {
// call the definition
- if ( isset($defs[$attr_key]) ) {
+ if (isset($defs[$attr_key])) {
// there is a local definition defined
if ($defs[$attr_key] === false) {
// We've explicitly been told not to allow this element.
@@ -89,15 +93,19 @@ class HTMLPurifier_AttrValidator
} else {
// validate according to the element's definition
$result = $defs[$attr_key]->validate(
- $value, $config, $context
- );
+ $value,
+ $config,
+ $context
+ );
}
- } elseif ( isset($d_defs[$attr_key]) ) {
+ } elseif (isset($d_defs[$attr_key])) {
// there is a global definition defined, validate according
// to the global definition
$result = $d_defs[$attr_key]->validate(
- $value, $config, $context
- );
+ $value,
+ $config,
+ $context
+ );
} else {
// system never heard of the attribute? DELETE!
$result = false;
@@ -107,7 +115,9 @@ class HTMLPurifier_AttrValidator
if ($result === false || $result === null) {
// this is a generic error message that should replaced
// with more specific ones when possible
- if ($e) $e->send(E_ERROR, 'AttrValidator: Attribute removed');
+ if ($e) {
+ $e->send(E_ERROR, 'AttrValidator: Attribute removed');
+ }
// remove the attribute
unset($attr[$attr_key]);
@@ -137,7 +147,9 @@ class HTMLPurifier_AttrValidator
foreach ($definition->info_attr_transform_post as $transform) {
$attr = $transform->transform($o = $attr, $config, $context);
if ($e) {
- if ($attr != $o) $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ if ($attr != $o) {
+ $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ }
}
}
@@ -145,14 +157,18 @@ class HTMLPurifier_AttrValidator
foreach ($definition->info[$token->name]->attr_transform_post as $transform) {
$attr = $transform->transform($o = $attr, $config, $context);
if ($e) {
- if ($attr != $o) $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ if ($attr != $o) {
+ $e->send(E_NOTICE, 'AttrValidator: Attributes transformed', $o, $attr);
+ }
}
}
$token->attr = $attr;
// destroy CurrentToken if we made it ourselves
- if (!$current_token) $context->destroy('CurrentToken');
+ if (!$current_token) {
+ $context->destroy('CurrentToken');
+ }
}
diff --git a/library/HTMLPurifier/Bootstrap.php b/library/HTMLPurifier/Bootstrap.php
index 559f61a23..707122bb2 100644
--- a/library/HTMLPurifier/Bootstrap.php
+++ b/library/HTMLPurifier/Bootstrap.php
@@ -32,20 +32,34 @@ class HTMLPurifier_Bootstrap
/**
* Autoload function for HTML Purifier
- * @param $class Class to load
+ * @param string $class Class to load
+ * @return bool
*/
- public static function autoload($class) {
+ public static function autoload($class)
+ {
$file = HTMLPurifier_Bootstrap::getPath($class);
- if (!$file) return false;
- require HTMLPURIFIER_PREFIX . '/' . $file;
+ if (!$file) {
+ return false;
+ }
+ // Technically speaking, it should be ok and more efficient to
+ // just do 'require', but Antonio Parraga reports that with
+ // Zend extensions such as Zend debugger and APC, this invariant
+ // may be broken. Since we have efficient alternatives, pay
+ // the cost here and avoid the bug.
+ require_once HTMLPURIFIER_PREFIX . '/' . $file;
return true;
}
/**
* Returns the path for a specific class.
+ * @param string $class Class path to get
+ * @return string
*/
- public static function getPath($class) {
- if (strncmp('HTMLPurifier', $class, 12) !== 0) return false;
+ public static function getPath($class)
+ {
+ if (strncmp('HTMLPurifier', $class, 12) !== 0) {
+ return false;
+ }
// Custom implementations
if (strncmp('HTMLPurifier_Language_', $class, 22) === 0) {
$code = str_replace('_', '-', substr($class, 22));
@@ -53,46 +67,58 @@ class HTMLPurifier_Bootstrap
} else {
$file = str_replace('_', '/', $class) . '.php';
}
- if (!file_exists(HTMLPURIFIER_PREFIX . '/' . $file)) return false;
+ if (!file_exists(HTMLPURIFIER_PREFIX . '/' . $file)) {
+ return false;
+ }
return $file;
}
/**
* "Pre-registers" our autoloader on the SPL stack.
*/
- public static function registerAutoload() {
+ public static function registerAutoload()
+ {
$autoload = array('HTMLPurifier_Bootstrap', 'autoload');
- if ( ($funcs = spl_autoload_functions()) === false ) {
+ if (($funcs = spl_autoload_functions()) === false) {
spl_autoload_register($autoload);
} elseif (function_exists('spl_autoload_unregister')) {
- $compat = version_compare(PHP_VERSION, '5.1.2', '<=') &&
- version_compare(PHP_VERSION, '5.1.0', '>=');
- foreach ($funcs as $func) {
- if (is_array($func)) {
- // :TRICKY: There are some compatibility issues and some
- // places where we need to error out
- $reflector = new ReflectionMethod($func[0], $func[1]);
- if (!$reflector->isStatic()) {
- throw new Exception('
- HTML Purifier autoloader registrar is not compatible
- with non-static object methods due to PHP Bug #44144;
- Please do not use HTMLPurifier.autoload.php (or any
- file that includes this file); instead, place the code:
- spl_autoload_register(array(\'HTMLPurifier_Bootstrap\', \'autoload\'))
- after your own autoloaders.
- ');
+ if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
+ // prepend flag exists, no need for shenanigans
+ spl_autoload_register($autoload, true, true);
+ } else {
+ $buggy = version_compare(PHP_VERSION, '5.2.11', '<');
+ $compat = version_compare(PHP_VERSION, '5.1.2', '<=') &&
+ version_compare(PHP_VERSION, '5.1.0', '>=');
+ foreach ($funcs as $func) {
+ if ($buggy && is_array($func)) {
+ // :TRICKY: There are some compatibility issues and some
+ // places where we need to error out
+ $reflector = new ReflectionMethod($func[0], $func[1]);
+ if (!$reflector->isStatic()) {
+ throw new Exception(
+ 'HTML Purifier autoloader registrar is not compatible
+ with non-static object methods due to PHP Bug #44144;
+ Please do not use HTMLPurifier.autoload.php (or any
+ file that includes this file); instead, place the code:
+ spl_autoload_register(array(\'HTMLPurifier_Bootstrap\', \'autoload\'))
+ after your own autoloaders.'
+ );
+ }
+ // Suprisingly, spl_autoload_register supports the
+ // Class::staticMethod callback format, although call_user_func doesn't
+ if ($compat) {
+ $func = implode('::', $func);
+ }
}
- // Suprisingly, spl_autoload_register supports the
- // Class::staticMethod callback format, although call_user_func doesn't
- if ($compat) $func = implode('::', $func);
+ spl_autoload_unregister($func);
+ }
+ spl_autoload_register($autoload);
+ foreach ($funcs as $func) {
+ spl_autoload_register($func);
}
- spl_autoload_unregister($func);
}
- spl_autoload_register($autoload);
- foreach ($funcs as $func) spl_autoload_register($func);
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/CSSDefinition.php b/library/HTMLPurifier/CSSDefinition.php
index 6a2e6f56d..0acdee2d9 100644
--- a/library/HTMLPurifier/CSSDefinition.php
+++ b/library/HTMLPurifier/CSSDefinition.php
@@ -11,35 +11,59 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition
/**
* Assoc array of attribute name to definition object.
+ * @type HTMLPurifier_AttrDef[]
*/
public $info = array();
/**
* Constructs the info array. The meat of this class.
+ * @param HTMLPurifier_Config $config
*/
- protected function doSetup($config) {
-
+ protected function doSetup($config)
+ {
$this->info['text-align'] = new HTMLPurifier_AttrDef_Enum(
- array('left', 'right', 'center', 'justify'), false);
+ array('left', 'right', 'center', 'justify'),
+ false
+ );
$border_style =
- $this->info['border-bottom-style'] =
- $this->info['border-right-style'] =
- $this->info['border-left-style'] =
- $this->info['border-top-style'] = new HTMLPurifier_AttrDef_Enum(
- array('none', 'hidden', 'dotted', 'dashed', 'solid', 'double',
- 'groove', 'ridge', 'inset', 'outset'), false);
+ $this->info['border-bottom-style'] =
+ $this->info['border-right-style'] =
+ $this->info['border-left-style'] =
+ $this->info['border-top-style'] = new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'none',
+ 'hidden',
+ 'dotted',
+ 'dashed',
+ 'solid',
+ 'double',
+ 'groove',
+ 'ridge',
+ 'inset',
+ 'outset'
+ ),
+ false
+ );
$this->info['border-style'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_style);
$this->info['clear'] = new HTMLPurifier_AttrDef_Enum(
- array('none', 'left', 'right', 'both'), false);
+ array('none', 'left', 'right', 'both'),
+ false
+ );
$this->info['float'] = new HTMLPurifier_AttrDef_Enum(
- array('none', 'left', 'right'), false);
+ array('none', 'left', 'right'),
+ false
+ );
$this->info['font-style'] = new HTMLPurifier_AttrDef_Enum(
- array('normal', 'italic', 'oblique'), false);
+ array('normal', 'italic', 'oblique'),
+ false
+ );
$this->info['font-variant'] = new HTMLPurifier_AttrDef_Enum(
- array('normal', 'small-caps'), false);
+ array('normal', 'small-caps'),
+ false
+ );
$uri_or_none = new HTMLPurifier_AttrDef_CSS_Composite(
array(
@@ -49,16 +73,31 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition
);
$this->info['list-style-position'] = new HTMLPurifier_AttrDef_Enum(
- array('inside', 'outside'), false);
+ array('inside', 'outside'),
+ false
+ );
$this->info['list-style-type'] = new HTMLPurifier_AttrDef_Enum(
- array('disc', 'circle', 'square', 'decimal', 'lower-roman',
- 'upper-roman', 'lower-alpha', 'upper-alpha', 'none'), false);
+ array(
+ 'disc',
+ 'circle',
+ 'square',
+ 'decimal',
+ 'lower-roman',
+ 'upper-roman',
+ 'lower-alpha',
+ 'upper-alpha',
+ 'none'
+ ),
+ false
+ );
$this->info['list-style-image'] = $uri_or_none;
$this->info['list-style'] = new HTMLPurifier_AttrDef_CSS_ListStyle($config);
$this->info['text-transform'] = new HTMLPurifier_AttrDef_Enum(
- array('capitalize', 'uppercase', 'lowercase', 'none'), false);
+ array('capitalize', 'uppercase', 'lowercase', 'none'),
+ false
+ );
$this->info['color'] = new HTMLPurifier_AttrDef_CSS_Color();
$this->info['background-image'] = $uri_or_none;
@@ -71,104 +110,137 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition
$this->info['background-position'] = new HTMLPurifier_AttrDef_CSS_BackgroundPosition();
$border_color =
- $this->info['border-top-color'] =
- $this->info['border-bottom-color'] =
- $this->info['border-left-color'] =
- $this->info['border-right-color'] =
- $this->info['background-color'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_Enum(array('transparent')),
- new HTMLPurifier_AttrDef_CSS_Color()
- ));
+ $this->info['border-top-color'] =
+ $this->info['border-bottom-color'] =
+ $this->info['border-left-color'] =
+ $this->info['border-right-color'] =
+ $this->info['background-color'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('transparent')),
+ new HTMLPurifier_AttrDef_CSS_Color()
+ )
+ );
$this->info['background'] = new HTMLPurifier_AttrDef_CSS_Background($config);
$this->info['border-color'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_color);
$border_width =
- $this->info['border-top-width'] =
- $this->info['border-bottom-width'] =
- $this->info['border-left-width'] =
- $this->info['border-right-width'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_Enum(array('thin', 'medium', 'thick')),
- new HTMLPurifier_AttrDef_CSS_Length('0') //disallow negative
- ));
+ $this->info['border-top-width'] =
+ $this->info['border-bottom-width'] =
+ $this->info['border-left-width'] =
+ $this->info['border-right-width'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('thin', 'medium', 'thick')),
+ new HTMLPurifier_AttrDef_CSS_Length('0') //disallow negative
+ )
+ );
$this->info['border-width'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_width);
- $this->info['letter-spacing'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_Enum(array('normal')),
- new HTMLPurifier_AttrDef_CSS_Length()
- ));
-
- $this->info['word-spacing'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_Enum(array('normal')),
- new HTMLPurifier_AttrDef_CSS_Length()
- ));
-
- $this->info['font-size'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_Enum(array('xx-small', 'x-small',
- 'small', 'medium', 'large', 'x-large', 'xx-large',
- 'larger', 'smaller')),
- new HTMLPurifier_AttrDef_CSS_Percentage(),
- new HTMLPurifier_AttrDef_CSS_Length()
- ));
-
- $this->info['line-height'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_Enum(array('normal')),
- new HTMLPurifier_AttrDef_CSS_Number(true), // no negatives
- new HTMLPurifier_AttrDef_CSS_Length('0'),
- new HTMLPurifier_AttrDef_CSS_Percentage(true)
- ));
+ $this->info['letter-spacing'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('normal')),
+ new HTMLPurifier_AttrDef_CSS_Length()
+ )
+ );
+
+ $this->info['word-spacing'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('normal')),
+ new HTMLPurifier_AttrDef_CSS_Length()
+ )
+ );
+
+ $this->info['font-size'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'xx-small',
+ 'x-small',
+ 'small',
+ 'medium',
+ 'large',
+ 'x-large',
+ 'xx-large',
+ 'larger',
+ 'smaller'
+ )
+ ),
+ new HTMLPurifier_AttrDef_CSS_Percentage(),
+ new HTMLPurifier_AttrDef_CSS_Length()
+ )
+ );
+
+ $this->info['line-height'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(array('normal')),
+ new HTMLPurifier_AttrDef_CSS_Number(true), // no negatives
+ new HTMLPurifier_AttrDef_CSS_Length('0'),
+ new HTMLPurifier_AttrDef_CSS_Percentage(true)
+ )
+ );
$margin =
- $this->info['margin-top'] =
- $this->info['margin-bottom'] =
- $this->info['margin-left'] =
- $this->info['margin-right'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_CSS_Length(),
- new HTMLPurifier_AttrDef_CSS_Percentage(),
- new HTMLPurifier_AttrDef_Enum(array('auto'))
- ));
+ $this->info['margin-top'] =
+ $this->info['margin-bottom'] =
+ $this->info['margin-left'] =
+ $this->info['margin-right'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length(),
+ new HTMLPurifier_AttrDef_CSS_Percentage(),
+ new HTMLPurifier_AttrDef_Enum(array('auto'))
+ )
+ );
$this->info['margin'] = new HTMLPurifier_AttrDef_CSS_Multiple($margin);
// non-negative
$padding =
- $this->info['padding-top'] =
- $this->info['padding-bottom'] =
- $this->info['padding-left'] =
- $this->info['padding-right'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_CSS_Length('0'),
- new HTMLPurifier_AttrDef_CSS_Percentage(true)
- ));
+ $this->info['padding-top'] =
+ $this->info['padding-bottom'] =
+ $this->info['padding-left'] =
+ $this->info['padding-right'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length('0'),
+ new HTMLPurifier_AttrDef_CSS_Percentage(true)
+ )
+ );
$this->info['padding'] = new HTMLPurifier_AttrDef_CSS_Multiple($padding);
- $this->info['text-indent'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_CSS_Length(),
- new HTMLPurifier_AttrDef_CSS_Percentage()
- ));
+ $this->info['text-indent'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length(),
+ new HTMLPurifier_AttrDef_CSS_Percentage()
+ )
+ );
- $trusted_wh = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_CSS_Length('0'),
- new HTMLPurifier_AttrDef_CSS_Percentage(true),
- new HTMLPurifier_AttrDef_Enum(array('auto'))
- ));
+ $trusted_wh = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length('0'),
+ new HTMLPurifier_AttrDef_CSS_Percentage(true),
+ new HTMLPurifier_AttrDef_Enum(array('auto'))
+ )
+ );
$max = $config->get('CSS.MaxImgLength');
$this->info['width'] =
$this->info['height'] =
$max === null ?
- $trusted_wh :
- new HTMLPurifier_AttrDef_Switch('img',
- // For img tags:
- new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_CSS_Length('0', $max),
- new HTMLPurifier_AttrDef_Enum(array('auto'))
- )),
- // For everyone else:
- $trusted_wh
- );
+ $trusted_wh :
+ new HTMLPurifier_AttrDef_Switch(
+ 'img',
+ // For img tags:
+ new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length('0', $max),
+ new HTMLPurifier_AttrDef_Enum(array('auto'))
+ )
+ ),
+ // For everyone else:
+ $trusted_wh
+ );
$this->info['text-decoration'] = new HTMLPurifier_AttrDef_CSS_TextDecoration();
@@ -176,8 +248,23 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition
// this could use specialized code
$this->info['font-weight'] = new HTMLPurifier_AttrDef_Enum(
- array('normal', 'bold', 'bolder', 'lighter', '100', '200', '300',
- '400', '500', '600', '700', '800', '900'), false);
+ array(
+ 'normal',
+ 'bold',
+ 'bolder',
+ 'lighter',
+ '100',
+ '200',
+ '300',
+ '400',
+ '500',
+ '600',
+ '700',
+ '800',
+ '900'
+ ),
+ false
+ );
// MUST be called after other font properties, as it references
// a CSSDefinition object
@@ -190,26 +277,44 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition
$this->info['border-left'] =
$this->info['border-right'] = new HTMLPurifier_AttrDef_CSS_Border($config);
- $this->info['border-collapse'] = new HTMLPurifier_AttrDef_Enum(array(
- 'collapse', 'separate'));
+ $this->info['border-collapse'] = new HTMLPurifier_AttrDef_Enum(
+ array('collapse', 'separate')
+ );
- $this->info['caption-side'] = new HTMLPurifier_AttrDef_Enum(array(
- 'top', 'bottom'));
+ $this->info['caption-side'] = new HTMLPurifier_AttrDef_Enum(
+ array('top', 'bottom')
+ );
- $this->info['table-layout'] = new HTMLPurifier_AttrDef_Enum(array(
- 'auto', 'fixed'));
+ $this->info['table-layout'] = new HTMLPurifier_AttrDef_Enum(
+ array('auto', 'fixed')
+ );
- $this->info['vertical-align'] = new HTMLPurifier_AttrDef_CSS_Composite(array(
- new HTMLPurifier_AttrDef_Enum(array('baseline', 'sub', 'super',
- 'top', 'text-top', 'middle', 'bottom', 'text-bottom')),
- new HTMLPurifier_AttrDef_CSS_Length(),
- new HTMLPurifier_AttrDef_CSS_Percentage()
- ));
+ $this->info['vertical-align'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'baseline',
+ 'sub',
+ 'super',
+ 'top',
+ 'text-top',
+ 'middle',
+ 'bottom',
+ 'text-bottom'
+ )
+ ),
+ new HTMLPurifier_AttrDef_CSS_Length(),
+ new HTMLPurifier_AttrDef_CSS_Percentage()
+ )
+ );
$this->info['border-spacing'] = new HTMLPurifier_AttrDef_CSS_Multiple(new HTMLPurifier_AttrDef_CSS_Length(), 2);
- // partial support
- $this->info['white-space'] = new HTMLPurifier_AttrDef_Enum(array('nowrap'));
+ // These CSS properties don't work on many browsers, but we live
+ // in THE FUTURE!
+ $this->info['white-space'] = new HTMLPurifier_AttrDef_Enum(
+ array('nowrap', 'normal', 'pre', 'pre-wrap', 'pre-line')
+ );
if ($config->get('CSS.Proprietary')) {
$this->doSetupProprietary($config);
@@ -219,6 +324,10 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition
$this->doSetupTricky($config);
}
+ if ($config->get('CSS.Trusted')) {
+ $this->doSetupTrusted($config);
+ }
+
$allow_important = $config->get('CSS.AllowImportant');
// wrap all attr-defs with decorator that handles !important
foreach ($this->info as $k => $v) {
@@ -228,64 +337,137 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition
$this->setupConfigStuff($config);
}
- protected function doSetupProprietary($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ protected function doSetupProprietary($config)
+ {
// Internet Explorer only scrollbar colors
- $this->info['scrollbar-arrow-color'] = new HTMLPurifier_AttrDef_CSS_Color();
- $this->info['scrollbar-base-color'] = new HTMLPurifier_AttrDef_CSS_Color();
- $this->info['scrollbar-darkshadow-color'] = new HTMLPurifier_AttrDef_CSS_Color();
- $this->info['scrollbar-face-color'] = new HTMLPurifier_AttrDef_CSS_Color();
- $this->info['scrollbar-highlight-color'] = new HTMLPurifier_AttrDef_CSS_Color();
- $this->info['scrollbar-shadow-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-arrow-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-base-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-darkshadow-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-face-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-highlight-color'] = new HTMLPurifier_AttrDef_CSS_Color();
+ $this->info['scrollbar-shadow-color'] = new HTMLPurifier_AttrDef_CSS_Color();
// technically not proprietary, but CSS3, and no one supports it
- $this->info['opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue();
- $this->info['-moz-opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue();
- $this->info['-khtml-opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue();
+ $this->info['opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue();
+ $this->info['-moz-opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue();
+ $this->info['-khtml-opacity'] = new HTMLPurifier_AttrDef_CSS_AlphaValue();
// only opacity, for now
$this->info['filter'] = new HTMLPurifier_AttrDef_CSS_Filter();
+ // more CSS3
+ $this->info['page-break-after'] =
+ $this->info['page-break-before'] = new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'auto',
+ 'always',
+ 'avoid',
+ 'left',
+ 'right'
+ )
+ );
+ $this->info['page-break-inside'] = new HTMLPurifier_AttrDef_Enum(array('auto', 'avoid'));
+
}
- protected function doSetupTricky($config) {
- $this->info['display'] = new HTMLPurifier_AttrDef_Enum(array(
- 'inline', 'block', 'list-item', 'run-in', 'compact',
- 'marker', 'table', 'inline-table', 'table-row-group',
- 'table-header-group', 'table-footer-group', 'table-row',
- 'table-column-group', 'table-column', 'table-cell', 'table-caption', 'none'
- ));
- $this->info['visibility'] = new HTMLPurifier_AttrDef_Enum(array(
- 'visible', 'hidden', 'collapse'
- ));
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ protected function doSetupTricky($config)
+ {
+ $this->info['display'] = new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'inline',
+ 'block',
+ 'list-item',
+ 'run-in',
+ 'compact',
+ 'marker',
+ 'table',
+ 'inline-block',
+ 'inline-table',
+ 'table-row-group',
+ 'table-header-group',
+ 'table-footer-group',
+ 'table-row',
+ 'table-column-group',
+ 'table-column',
+ 'table-cell',
+ 'table-caption',
+ 'none'
+ )
+ );
+ $this->info['visibility'] = new HTMLPurifier_AttrDef_Enum(
+ array('visible', 'hidden', 'collapse')
+ );
$this->info['overflow'] = new HTMLPurifier_AttrDef_Enum(array('visible', 'hidden', 'auto', 'scroll'));
}
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ protected function doSetupTrusted($config)
+ {
+ $this->info['position'] = new HTMLPurifier_AttrDef_Enum(
+ array('static', 'relative', 'absolute', 'fixed')
+ );
+ $this->info['top'] =
+ $this->info['left'] =
+ $this->info['right'] =
+ $this->info['bottom'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_CSS_Length(),
+ new HTMLPurifier_AttrDef_CSS_Percentage(),
+ new HTMLPurifier_AttrDef_Enum(array('auto')),
+ )
+ );
+ $this->info['z-index'] = new HTMLPurifier_AttrDef_CSS_Composite(
+ array(
+ new HTMLPurifier_AttrDef_Integer(),
+ new HTMLPurifier_AttrDef_Enum(array('auto')),
+ )
+ );
+ }
/**
* Performs extra config-based processing. Based off of
* HTMLPurifier_HTMLDefinition.
+ * @param HTMLPurifier_Config $config
* @todo Refactor duplicate elements into common class (probably using
* composition, not inheritance).
*/
- protected function setupConfigStuff($config) {
-
+ protected function setupConfigStuff($config)
+ {
// setup allowed elements
- $support = "(for information on implementing this, see the ".
- "support forums) ";
- $allowed_attributes = $config->get('CSS.AllowedProperties');
- if ($allowed_attributes !== null) {
+ $support = "(for information on implementing this, see the " .
+ "support forums) ";
+ $allowed_properties = $config->get('CSS.AllowedProperties');
+ if ($allowed_properties !== null) {
foreach ($this->info as $name => $d) {
- if(!isset($allowed_attributes[$name])) unset($this->info[$name]);
- unset($allowed_attributes[$name]);
+ if (!isset($allowed_properties[$name])) {
+ unset($this->info[$name]);
+ }
+ unset($allowed_properties[$name]);
}
// emit errors
- foreach ($allowed_attributes as $name => $d) {
+ foreach ($allowed_properties as $name => $d) {
// :TODO: Is this htmlspecialchars() call really necessary?
$name = htmlspecialchars($name);
trigger_error("Style attribute '$name' is not supported $support", E_USER_WARNING);
}
}
+ $forbidden_properties = $config->get('CSS.ForbiddenProperties');
+ if ($forbidden_properties !== null) {
+ foreach ($this->info as $name => $d) {
+ if (isset($forbidden_properties[$name])) {
+ unset($this->info[$name]);
+ }
+ }
+ }
}
}
diff --git a/library/HTMLPurifier/ChildDef.php b/library/HTMLPurifier/ChildDef.php
index c5d5216da..8eb17b82e 100644
--- a/library/HTMLPurifier/ChildDef.php
+++ b/library/HTMLPurifier/ChildDef.php
@@ -1,48 +1,52 @@
<?php
/**
- * Defines allowed child nodes and validates tokens against it.
+ * Defines allowed child nodes and validates nodes against it.
*/
abstract class HTMLPurifier_ChildDef
{
/**
* Type of child definition, usually right-most part of class name lowercase.
* Used occasionally in terms of context.
+ * @type string
*/
public $type;
/**
- * Bool that indicates whether or not an empty array of children is okay
+ * Indicates whether or not an empty array of children is okay.
*
* This is necessary for redundant checking when changes affecting
* a child node may cause a parent node to now be disallowed.
+ * @type bool
*/
public $allow_empty;
/**
- * Lookup array of all elements that this definition could possibly allow
+ * Lookup array of all elements that this definition could possibly allow.
+ * @type array
*/
public $elements = array();
/**
* Get lookup of tag names that should not close this element automatically.
* All other elements will do so.
+ * @param HTMLPurifier_Config $config HTMLPurifier_Config object
+ * @return array
*/
- public function getAllowedElements($config) {
+ public function getAllowedElements($config)
+ {
return $this->elements;
}
/**
* Validates nodes according to definition and returns modification.
*
- * @param $tokens_of_children Array of HTMLPurifier_Token
- * @param $config HTMLPurifier_Config object
- * @param $context HTMLPurifier_Context object
- * @return bool true to leave nodes as is
- * @return bool false to remove parent node
- * @return array of replacement child tokens
+ * @param HTMLPurifier_Node[] $children Array of HTMLPurifier_Node
+ * @param HTMLPurifier_Config $config HTMLPurifier_Config object
+ * @param HTMLPurifier_Context $context HTMLPurifier_Context object
+ * @return bool|array true to leave nodes as is, false to remove parent node, array of replacement children
*/
- abstract public function validateChildren($tokens_of_children, $config, $context);
+ abstract public function validateChildren($children, $config, $context);
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ChildDef/Chameleon.php b/library/HTMLPurifier/ChildDef/Chameleon.php
index 15c364ee3..7439be26b 100644
--- a/library/HTMLPurifier/ChildDef/Chameleon.php
+++ b/library/HTMLPurifier/ChildDef/Chameleon.php
@@ -14,33 +14,52 @@ class HTMLPurifier_ChildDef_Chameleon extends HTMLPurifier_ChildDef
/**
* Instance of the definition object to use when inline. Usually stricter.
+ * @type HTMLPurifier_ChildDef_Optional
*/
public $inline;
/**
* Instance of the definition object to use when block.
+ * @type HTMLPurifier_ChildDef_Optional
*/
public $block;
+ /**
+ * @type string
+ */
public $type = 'chameleon';
/**
- * @param $inline List of elements to allow when inline.
- * @param $block List of elements to allow when block.
+ * @param array $inline List of elements to allow when inline.
+ * @param array $block List of elements to allow when block.
*/
- public function __construct($inline, $block) {
+ public function __construct($inline, $block)
+ {
$this->inline = new HTMLPurifier_ChildDef_Optional($inline);
- $this->block = new HTMLPurifier_ChildDef_Optional($block);
+ $this->block = new HTMLPurifier_ChildDef_Optional($block);
$this->elements = $this->block->elements;
}
- public function validateChildren($tokens_of_children, $config, $context) {
+ /**
+ * @param HTMLPurifier_Node[] $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function validateChildren($children, $config, $context)
+ {
if ($context->get('IsInline') === false) {
return $this->block->validateChildren(
- $tokens_of_children, $config, $context);
+ $children,
+ $config,
+ $context
+ );
} else {
return $this->inline->validateChildren(
- $tokens_of_children, $config, $context);
+ $children,
+ $config,
+ $context
+ );
}
}
}
diff --git a/library/HTMLPurifier/ChildDef/Custom.php b/library/HTMLPurifier/ChildDef/Custom.php
index b68047b4b..128132e96 100644
--- a/library/HTMLPurifier/ChildDef/Custom.php
+++ b/library/HTMLPurifier/ChildDef/Custom.php
@@ -8,28 +8,42 @@
*/
class HTMLPurifier_ChildDef_Custom extends HTMLPurifier_ChildDef
{
+ /**
+ * @type string
+ */
public $type = 'custom';
+
+ /**
+ * @type bool
+ */
public $allow_empty = false;
+
/**
- * Allowed child pattern as defined by the DTD
+ * Allowed child pattern as defined by the DTD.
+ * @type string
*/
public $dtd_regex;
+
/**
- * PCRE regex derived from $dtd_regex
- * @private
+ * PCRE regex derived from $dtd_regex.
+ * @type string
*/
private $_pcre_regex;
+
/**
* @param $dtd_regex Allowed child pattern from the DTD
*/
- public function __construct($dtd_regex) {
+ public function __construct($dtd_regex)
+ {
$this->dtd_regex = $dtd_regex;
$this->_compileRegex();
}
+
/**
* Compiles the PCRE regex from a DTD regex ($dtd_regex to $_pcre_regex)
*/
- protected function _compileRegex() {
+ protected function _compileRegex()
+ {
$raw = str_replace(' ', '', $this->dtd_regex);
if ($raw{0} != '(') {
$raw = "($raw)";
@@ -57,33 +71,31 @@ class HTMLPurifier_ChildDef_Custom extends HTMLPurifier_ChildDef
$this->_pcre_regex = $reg;
}
- public function validateChildren($tokens_of_children, $config, $context) {
+
+ /**
+ * @param HTMLPurifier_Node[] $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function validateChildren($children, $config, $context)
+ {
$list_of_children = '';
$nesting = 0; // depth into the nest
- foreach ($tokens_of_children as $token) {
- if (!empty($token->is_whitespace)) continue;
-
- $is_child = ($nesting == 0); // direct
-
- if ($token instanceof HTMLPurifier_Token_Start) {
- $nesting++;
- } elseif ($token instanceof HTMLPurifier_Token_End) {
- $nesting--;
- }
-
- if ($is_child) {
- $list_of_children .= $token->name . ',';
+ foreach ($children as $node) {
+ if (!empty($node->is_whitespace)) {
+ continue;
}
+ $list_of_children .= $node->name . ',';
}
// add leading comma to deal with stray comma declarations
$list_of_children = ',' . rtrim($list_of_children, ',');
$okay =
preg_match(
- '/^,?'.$this->_pcre_regex.'$/',
+ '/^,?' . $this->_pcre_regex . '$/',
$list_of_children
);
-
- return (bool) $okay;
+ return (bool)$okay;
}
}
diff --git a/library/HTMLPurifier/ChildDef/Empty.php b/library/HTMLPurifier/ChildDef/Empty.php
index 13171f665..a8a6cbdd2 100644
--- a/library/HTMLPurifier/ChildDef/Empty.php
+++ b/library/HTMLPurifier/ChildDef/Empty.php
@@ -9,10 +9,28 @@
*/
class HTMLPurifier_ChildDef_Empty extends HTMLPurifier_ChildDef
{
+ /**
+ * @type bool
+ */
public $allow_empty = true;
+
+ /**
+ * @type string
+ */
public $type = 'empty';
- public function __construct() {}
- public function validateChildren($tokens_of_children, $config, $context) {
+
+ public function __construct()
+ {
+ }
+
+ /**
+ * @param HTMLPurifier_Node[] $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
return array();
}
}
diff --git a/library/HTMLPurifier/ChildDef/List.php b/library/HTMLPurifier/ChildDef/List.php
new file mode 100644
index 000000000..891b9f6f5
--- /dev/null
+++ b/library/HTMLPurifier/ChildDef/List.php
@@ -0,0 +1,86 @@
+<?php
+
+/**
+ * Definition for list containers ul and ol.
+ *
+ * What does this do? The big thing is to handle ol/ul at the top
+ * level of list nodes, which should be handled specially by /folding/
+ * them into the previous list node. We generally shouldn't ever
+ * see other disallowed elements, because the autoclose behavior
+ * in MakeWellFormed handles it.
+ */
+class HTMLPurifier_ChildDef_List extends HTMLPurifier_ChildDef
+{
+ /**
+ * @type string
+ */
+ public $type = 'list';
+ /**
+ * @type array
+ */
+ // lying a little bit, so that we can handle ul and ol ourselves
+ // XXX: This whole business with 'wrap' is all a bit unsatisfactory
+ public $elements = array('li' => true, 'ul' => true, 'ol' => true);
+
+ /**
+ * @param array $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ // Flag for subclasses
+ $this->whitespace = false;
+
+ // if there are no tokens, delete parent node
+ if (empty($children)) {
+ return false;
+ }
+
+ // the new set of children
+ $result = array();
+
+ // a little sanity check to make sure it's not ALL whitespace
+ $all_whitespace = true;
+
+ $current_li = false;
+
+ foreach ($children as $node) {
+ if (!empty($node->is_whitespace)) {
+ $result[] = $node;
+ continue;
+ }
+ $all_whitespace = false; // phew, we're not talking about whitespace
+
+ if ($node->name === 'li') {
+ // good
+ $current_li = $node;
+ $result[] = $node;
+ } else {
+ // we want to tuck this into the previous li
+ // Invariant: we expect the node to be ol/ul
+ // ToDo: Make this more robust in the case of not ol/ul
+ // by distinguishing between existing li and li created
+ // to handle non-list elements; non-list elements should
+ // not be appended to an existing li; only li created
+ // for non-list. This distinction is not currently made.
+ if ($current_li === false) {
+ $current_li = new HTMLPurifier_Node_Element('li');
+ $result[] = $current_li;
+ }
+ $current_li->children[] = $node;
+ $current_li->empty = false; // XXX fascinating! Check for this error elsewhere ToDo
+ }
+ }
+ if (empty($result)) {
+ return false;
+ }
+ if ($all_whitespace) {
+ return false;
+ }
+ return $result;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ChildDef/Optional.php b/library/HTMLPurifier/ChildDef/Optional.php
index 32bcb9898..b9468063b 100644
--- a/library/HTMLPurifier/ChildDef/Optional.php
+++ b/library/HTMLPurifier/ChildDef/Optional.php
@@ -9,15 +9,34 @@
*/
class HTMLPurifier_ChildDef_Optional extends HTMLPurifier_ChildDef_Required
{
+ /**
+ * @type bool
+ */
public $allow_empty = true;
+
+ /**
+ * @type string
+ */
public $type = 'optional';
- public function validateChildren($tokens_of_children, $config, $context) {
- $result = parent::validateChildren($tokens_of_children, $config, $context);
- // we assume that $tokens_of_children is not modified
+
+ /**
+ * @param array $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ $result = parent::validateChildren($children, $config, $context);
+ // we assume that $children is not modified
if ($result === false) {
- if (empty($tokens_of_children)) return true;
- elseif ($this->whitespace) return $tokens_of_children;
- else return array();
+ if (empty($children)) {
+ return true;
+ } elseif ($this->whitespace) {
+ return $children;
+ } else {
+ return array();
+ }
}
return $result;
}
diff --git a/library/HTMLPurifier/ChildDef/Required.php b/library/HTMLPurifier/ChildDef/Required.php
index 4889f249b..0d1c8f5f3 100644
--- a/library/HTMLPurifier/ChildDef/Required.php
+++ b/library/HTMLPurifier/ChildDef/Required.php
@@ -7,17 +7,21 @@ class HTMLPurifier_ChildDef_Required extends HTMLPurifier_ChildDef
{
/**
* Lookup table of allowed elements.
- * @public
+ * @type array
*/
public $elements = array();
+
/**
* Whether or not the last passed node was all whitespace.
+ * @type bool
*/
protected $whitespace = false;
+
/**
- * @param $elements List of allowed element names (lowercase).
+ * @param array|string $elements List of allowed element names (lowercase).
*/
- public function __construct($elements) {
+ public function __construct($elements)
+ {
if (is_string($elements)) {
$elements = str_replace(' ', '', $elements);
$elements = explode('|', $elements);
@@ -27,29 +31,43 @@ class HTMLPurifier_ChildDef_Required extends HTMLPurifier_ChildDef
$elements = array_flip($elements);
foreach ($elements as $i => $x) {
$elements[$i] = true;
- if (empty($i)) unset($elements[$i]); // remove blank
+ if (empty($i)) {
+ unset($elements[$i]);
+ } // remove blank
}
}
$this->elements = $elements;
}
+
+ /**
+ * @type bool
+ */
public $allow_empty = false;
+
+ /**
+ * @type string
+ */
public $type = 'required';
- public function validateChildren($tokens_of_children, $config, $context) {
+
+ /**
+ * @param array $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
// Flag for subclasses
$this->whitespace = false;
// if there are no tokens, delete parent node
- if (empty($tokens_of_children)) return false;
+ if (empty($children)) {
+ return false;
+ }
// the new set of children
$result = array();
- // current depth into the nest
- $nesting = 0;
-
- // whether or not we're deleting a node
- $is_deleting = false;
-
// whether or not parsed character data is allowed
// this controls whether or not we silently drop a tag
// or generate escaped HTML from it
@@ -58,58 +76,41 @@ class HTMLPurifier_ChildDef_Required extends HTMLPurifier_ChildDef
// a little sanity check to make sure it's not ALL whitespace
$all_whitespace = true;
- // some configuration
- $escape_invalid_children = $config->get('Core.EscapeInvalidChildren');
-
- // generator
- $gen = new HTMLPurifier_Generator($config, $context);
-
- foreach ($tokens_of_children as $token) {
- if (!empty($token->is_whitespace)) {
- $result[] = $token;
+ $stack = array_reverse($children);
+ while (!empty($stack)) {
+ $node = array_pop($stack);
+ if (!empty($node->is_whitespace)) {
+ $result[] = $node;
continue;
}
$all_whitespace = false; // phew, we're not talking about whitespace
- $is_child = ($nesting == 0);
-
- if ($token instanceof HTMLPurifier_Token_Start) {
- $nesting++;
- } elseif ($token instanceof HTMLPurifier_Token_End) {
- $nesting--;
- }
-
- if ($is_child) {
- $is_deleting = false;
- if (!isset($this->elements[$token->name])) {
- $is_deleting = true;
- if ($pcdata_allowed && $token instanceof HTMLPurifier_Token_Text) {
- $result[] = $token;
- } elseif ($pcdata_allowed && $escape_invalid_children) {
- $result[] = new HTMLPurifier_Token_Text(
- $gen->generateFromToken($token)
- );
+ if (!isset($this->elements[$node->name])) {
+ // special case text
+ // XXX One of these ought to be redundant or something
+ if ($pcdata_allowed && $node instanceof HTMLPurifier_Node_Text) {
+ $result[] = $node;
+ continue;
+ }
+ // spill the child contents in
+ // ToDo: Make configurable
+ if ($node instanceof HTMLPurifier_Node_Element) {
+ for ($i = count($node->children) - 1; $i >= 0; $i--) {
+ $stack[] = $node->children[$i];
}
continue;
}
+ continue;
}
- if (!$is_deleting || ($pcdata_allowed && $token instanceof HTMLPurifier_Token_Text)) {
- $result[] = $token;
- } elseif ($pcdata_allowed && $escape_invalid_children) {
- $result[] =
- new HTMLPurifier_Token_Text(
- $gen->generateFromToken($token)
- );
- } else {
- // drop silently
- }
+ $result[] = $node;
+ }
+ if (empty($result)) {
+ return false;
}
- if (empty($result)) return false;
if ($all_whitespace) {
$this->whitespace = true;
return false;
}
- if ($tokens_of_children == $result) return true;
return $result;
}
}
diff --git a/library/HTMLPurifier/ChildDef/StrictBlockquote.php b/library/HTMLPurifier/ChildDef/StrictBlockquote.php
index dfae8a6e5..3270a46e1 100644
--- a/library/HTMLPurifier/ChildDef/StrictBlockquote.php
+++ b/library/HTMLPurifier/ChildDef/StrictBlockquote.php
@@ -5,75 +5,97 @@
*/
class HTMLPurifier_ChildDef_StrictBlockquote extends HTMLPurifier_ChildDef_Required
{
+ /**
+ * @type array
+ */
protected $real_elements;
+
+ /**
+ * @type array
+ */
protected $fake_elements;
+
+ /**
+ * @type bool
+ */
public $allow_empty = true;
+
+ /**
+ * @type string
+ */
public $type = 'strictblockquote';
+
+ /**
+ * @type bool
+ */
protected $init = false;
/**
+ * @param HTMLPurifier_Config $config
+ * @return array
* @note We don't want MakeWellFormed to auto-close inline elements since
* they might be allowed.
*/
- public function getAllowedElements($config) {
+ public function getAllowedElements($config)
+ {
$this->init($config);
return $this->fake_elements;
}
- public function validateChildren($tokens_of_children, $config, $context) {
-
+ /**
+ * @param array $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
$this->init($config);
// trick the parent class into thinking it allows more
$this->elements = $this->fake_elements;
- $result = parent::validateChildren($tokens_of_children, $config, $context);
+ $result = parent::validateChildren($children, $config, $context);
$this->elements = $this->real_elements;
- if ($result === false) return array();
- if ($result === true) $result = $tokens_of_children;
+ if ($result === false) {
+ return array();
+ }
+ if ($result === true) {
+ $result = $children;
+ }
$def = $config->getHTMLDefinition();
- $block_wrap_start = new HTMLPurifier_Token_Start($def->info_block_wrapper);
- $block_wrap_end = new HTMLPurifier_Token_End( $def->info_block_wrapper);
- $is_inline = false;
- $depth = 0;
+ $block_wrap_name = $def->info_block_wrapper;
+ $block_wrap = false;
$ret = array();
- // assuming that there are no comment tokens
- foreach ($result as $i => $token) {
- $token = $result[$i];
- // ifs are nested for readability
- if (!$is_inline) {
- if (!$depth) {
- if (
- ($token instanceof HTMLPurifier_Token_Text && !$token->is_whitespace) ||
- (!$token instanceof HTMLPurifier_Token_Text && !isset($this->elements[$token->name]))
- ) {
- $is_inline = true;
- $ret[] = $block_wrap_start;
- }
+ foreach ($result as $node) {
+ if ($block_wrap === false) {
+ if (($node instanceof HTMLPurifier_Node_Text && !$node->is_whitespace) ||
+ ($node instanceof HTMLPurifier_Node_Element && !isset($this->elements[$node->name]))) {
+ $block_wrap = new HTMLPurifier_Node_Element($def->info_block_wrapper);
+ $ret[] = $block_wrap;
}
} else {
- if (!$depth) {
- // starting tokens have been inline text / empty
- if ($token instanceof HTMLPurifier_Token_Start || $token instanceof HTMLPurifier_Token_Empty) {
- if (isset($this->elements[$token->name])) {
- // ended
- $ret[] = $block_wrap_end;
- $is_inline = false;
- }
- }
+ if ($node instanceof HTMLPurifier_Node_Element && isset($this->elements[$node->name])) {
+ $block_wrap = false;
+
}
}
- $ret[] = $token;
- if ($token instanceof HTMLPurifier_Token_Start) $depth++;
- if ($token instanceof HTMLPurifier_Token_End) $depth--;
+ if ($block_wrap) {
+ $block_wrap->children[] = $node;
+ } else {
+ $ret[] = $node;
+ }
}
- if ($is_inline) $ret[] = $block_wrap_end;
return $ret;
}
- private function init($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ private function init($config)
+ {
if (!$this->init) {
$def = $config->getHTMLDefinition();
// allow all inline elements
diff --git a/library/HTMLPurifier/ChildDef/Table.php b/library/HTMLPurifier/ChildDef/Table.php
index 34f0227dd..3e4a0f218 100644
--- a/library/HTMLPurifier/ChildDef/Table.php
+++ b/library/HTMLPurifier/ChildDef/Table.php
@@ -1,140 +1,222 @@
<?php
/**
- * Definition for tables
+ * Definition for tables. The general idea is to extract out all of the
+ * essential bits, and then reconstruct it later.
+ *
+ * This is a bit confusing, because the DTDs and the W3C
+ * validators seem to disagree on the appropriate definition. The
+ * DTD claims:
+ *
+ * (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)
+ *
+ * But actually, the HTML4 spec then has this to say:
+ *
+ * The TBODY start tag is always required except when the table
+ * contains only one table body and no table head or foot sections.
+ * The TBODY end tag may always be safely omitted.
+ *
+ * So the DTD is kind of wrong. The validator is, unfortunately, kind
+ * of on crack.
+ *
+ * The definition changed again in XHTML1.1; and in my opinion, this
+ * formulation makes the most sense.
+ *
+ * caption?, ( col* | colgroup* ), (( thead?, tfoot?, tbody+ ) | ( tr+ ))
+ *
+ * Essentially, we have two modes: thead/tfoot/tbody mode, and tr mode.
+ * If we encounter a thead, tfoot or tbody, we are placed in the former
+ * mode, and we *must* wrap any stray tr segments with a tbody. But if
+ * we don't run into any of them, just have tr tags is OK.
*/
class HTMLPurifier_ChildDef_Table extends HTMLPurifier_ChildDef
{
+ /**
+ * @type bool
+ */
public $allow_empty = false;
+
+ /**
+ * @type string
+ */
public $type = 'table';
- public $elements = array('tr' => true, 'tbody' => true, 'thead' => true,
- 'tfoot' => true, 'caption' => true, 'colgroup' => true, 'col' => true);
- public function __construct() {}
- public function validateChildren($tokens_of_children, $config, $context) {
- if (empty($tokens_of_children)) return false;
- // this ensures that the loop gets run one last time before closing
- // up. It's a little bit of a hack, but it works! Just make sure you
- // get rid of the token later.
- $tokens_of_children[] = false;
+ /**
+ * @type array
+ */
+ public $elements = array(
+ 'tr' => true,
+ 'tbody' => true,
+ 'thead' => true,
+ 'tfoot' => true,
+ 'caption' => true,
+ 'colgroup' => true,
+ 'col' => true
+ );
+
+ public function __construct()
+ {
+ }
+
+ /**
+ * @param array $children
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array
+ */
+ public function validateChildren($children, $config, $context)
+ {
+ if (empty($children)) {
+ return false;
+ }
// only one of these elements is allowed in a table
$caption = false;
- $thead = false;
- $tfoot = false;
+ $thead = false;
+ $tfoot = false;
+
+ // whitespace
+ $initial_ws = array();
+ $after_caption_ws = array();
+ $after_thead_ws = array();
+ $after_tfoot_ws = array();
// as many of these as you want
- $cols = array();
+ $cols = array();
$content = array();
- $nesting = 0; // current depth so we can determine nodes
- $is_collecting = false; // are we globbing together tokens to package
- // into one of the collectors?
- $collection = array(); // collected nodes
- $tag_index = 0; // the first node might be whitespace,
- // so this tells us where the start tag is
-
- foreach ($tokens_of_children as $token) {
- $is_child = ($nesting == 0);
-
- if ($token === false) {
- // terminating sequence started
- } elseif ($token instanceof HTMLPurifier_Token_Start) {
- $nesting++;
- } elseif ($token instanceof HTMLPurifier_Token_End) {
- $nesting--;
- }
+ $tbody_mode = false; // if true, then we need to wrap any stray
+ // <tr>s with a <tbody>.
- // handle node collection
- if ($is_collecting) {
- if ($is_child) {
- // okay, let's stash the tokens away
- // first token tells us the type of the collection
- switch ($collection[$tag_index]->name) {
- case 'tr':
- case 'tbody':
- $content[] = $collection;
- break;
- case 'caption':
- if ($caption !== false) break;
- $caption = $collection;
- break;
- case 'thead':
- case 'tfoot':
- // access the appropriate variable, $thead or $tfoot
- $var = $collection[$tag_index]->name;
- if ($$var === false) {
- $$var = $collection;
- } else {
- // transmutate the first and less entries into
- // tbody tags, and then put into content
- $collection[$tag_index]->name = 'tbody';
- $collection[count($collection)-1]->name = 'tbody';
- $content[] = $collection;
- }
- break;
- case 'colgroup':
- $cols[] = $collection;
- break;
- }
- $collection = array();
- $is_collecting = false;
- $tag_index = 0;
+ $ws_accum =& $initial_ws;
+
+ foreach ($children as $node) {
+ if ($node instanceof HTMLPurifier_Node_Comment) {
+ $ws_accum[] = $node;
+ continue;
+ }
+ switch ($node->name) {
+ case 'tbody':
+ $tbody_mode = true;
+ // fall through
+ case 'tr':
+ $content[] = $node;
+ $ws_accum =& $content;
+ break;
+ case 'caption':
+ // there can only be one caption!
+ if ($caption !== false) break;
+ $caption = $node;
+ $ws_accum =& $after_caption_ws;
+ break;
+ case 'thead':
+ $tbody_mode = true;
+ // XXX This breaks rendering properties with
+ // Firefox, which never floats a <thead> to
+ // the top. Ever. (Our scheme will float the
+ // first <thead> to the top.) So maybe
+ // <thead>s that are not first should be
+ // turned into <tbody>? Very tricky, indeed.
+ if ($thead === false) {
+ $thead = $node;
+ $ws_accum =& $after_thead_ws;
} else {
- // add the node to the collection
- $collection[] = $token;
+ // Oops, there's a second one! What
+ // should we do? Current behavior is to
+ // transmutate the first and last entries into
+ // tbody tags, and then put into content.
+ // Maybe a better idea is to *attach
+ // it* to the existing thead or tfoot?
+ // We don't do this, because Firefox
+ // doesn't float an extra tfoot to the
+ // bottom like it does for the first one.
+ $node->name = 'tbody';
+ $content[] = $node;
+ $ws_accum =& $content;
}
- }
-
- // terminate
- if ($token === false) break;
-
- if ($is_child) {
- // determine what we're dealing with
- if ($token->name == 'col') {
- // the only empty tag in the possie, we can handle it
- // immediately
- $cols[] = array_merge($collection, array($token));
- $collection = array();
- $tag_index = 0;
- continue;
+ break;
+ case 'tfoot':
+ // see above for some aveats
+ $tbody_mode = true;
+ if ($tfoot === false) {
+ $tfoot = $node;
+ $ws_accum =& $after_tfoot_ws;
+ } else {
+ $node->name = 'tbody';
+ $content[] = $node;
+ $ws_accum =& $content;
}
- switch($token->name) {
- case 'caption':
- case 'colgroup':
- case 'thead':
- case 'tfoot':
- case 'tbody':
- case 'tr':
- $is_collecting = true;
- $collection[] = $token;
- continue;
- default:
- if (!empty($token->is_whitespace)) {
- $collection[] = $token;
- $tag_index++;
- }
- continue;
+ break;
+ case 'colgroup':
+ case 'col':
+ $cols[] = $node;
+ $ws_accum =& $cols;
+ break;
+ case '#PCDATA':
+ // How is whitespace handled? We treat is as sticky to
+ // the *end* of the previous element. So all of the
+ // nonsense we have worked on is to keep things
+ // together.
+ if (!empty($node->is_whitespace)) {
+ $ws_accum[] = $node;
}
+ break;
}
}
- if (empty($content)) return false;
-
- $ret = array();
- if ($caption !== false) $ret = array_merge($ret, $caption);
- if ($cols !== false) foreach ($cols as $token_array) $ret = array_merge($ret, $token_array);
- if ($thead !== false) $ret = array_merge($ret, $thead);
- if ($tfoot !== false) $ret = array_merge($ret, $tfoot);
- foreach ($content as $token_array) $ret = array_merge($ret, $token_array);
- if (!empty($collection) && $is_collecting == false){
- // grab the trailing space
- $ret = array_merge($ret, $collection);
+ if (empty($content)) {
+ return false;
+ }
+
+ $ret = $initial_ws;
+ if ($caption !== false) {
+ $ret[] = $caption;
+ $ret = array_merge($ret, $after_caption_ws);
+ }
+ if ($cols !== false) {
+ $ret = array_merge($ret, $cols);
+ }
+ if ($thead !== false) {
+ $ret[] = $thead;
+ $ret = array_merge($ret, $after_thead_ws);
+ }
+ if ($tfoot !== false) {
+ $ret[] = $tfoot;
+ $ret = array_merge($ret, $after_tfoot_ws);
}
- array_pop($tokens_of_children); // remove phantom token
+ if ($tbody_mode) {
+ // we have to shuffle tr into tbody
+ $current_tr_tbody = null;
+
+ foreach($content as $node) {
+ switch ($node->name) {
+ case 'tbody':
+ $current_tr_tbody = null;
+ $ret[] = $node;
+ break;
+ case 'tr':
+ if ($current_tr_tbody === null) {
+ $current_tr_tbody = new HTMLPurifier_Node_Element('tbody');
+ $ret[] = $current_tr_tbody;
+ }
+ $current_tr_tbody->children[] = $node;
+ break;
+ case '#PCDATA':
+ assert($node->is_whitespace);
+ if ($current_tr_tbody === null) {
+ $ret[] = $node;
+ } else {
+ $current_tr_tbody->children[] = $node;
+ }
+ break;
+ }
+ }
+ } else {
+ $ret = array_merge($ret, $content);
+ }
- return ($ret === $tokens_of_children) ? true : $ret;
+ return $ret;
}
}
diff --git a/library/HTMLPurifier/Config.php b/library/HTMLPurifier/Config.php
index 2a334b0d8..7ada59b94 100644
--- a/library/HTMLPurifier/Config.php
+++ b/library/HTMLPurifier/Config.php
@@ -19,77 +19,92 @@ class HTMLPurifier_Config
/**
* HTML Purifier's version
+ * @type string
*/
- public $version = '4.1.1';
+ public $version = '4.6.0';
/**
- * Bool indicator whether or not to automatically finalize
- * the object if a read operation is done
+ * Whether or not to automatically finalize
+ * the object if a read operation is done.
+ * @type bool
*/
public $autoFinalize = true;
// protected member variables
/**
- * Namespace indexed array of serials for specific namespaces (see
- * getSerial() for more info).
+ * Namespace indexed array of serials for specific namespaces.
+ * @see getSerial() for more info.
+ * @type string[]
*/
protected $serials = array();
/**
- * Serial for entire configuration object
+ * Serial for entire configuration object.
+ * @type string
*/
protected $serial;
/**
- * Parser for variables
+ * Parser for variables.
+ * @type HTMLPurifier_VarParser_Flexible
*/
- protected $parser;
+ protected $parser = null;
/**
- * Reference HTMLPurifier_ConfigSchema for value checking
+ * Reference HTMLPurifier_ConfigSchema for value checking.
+ * @type HTMLPurifier_ConfigSchema
* @note This is public for introspective purposes. Please don't
* abuse!
*/
public $def;
/**
- * Indexed array of definitions
+ * Indexed array of definitions.
+ * @type HTMLPurifier_Definition[]
*/
protected $definitions;
/**
- * Bool indicator whether or not config is finalized
+ * Whether or not config is finalized.
+ * @type bool
*/
protected $finalized = false;
/**
* Property list containing configuration directives.
+ * @type array
*/
protected $plist;
/**
- * Whether or not a set is taking place due to an
- * alias lookup.
+ * Whether or not a set is taking place due to an alias lookup.
+ * @type bool
*/
private $aliasMode;
/**
- * Set to false if you do not want line and file numbers in errors
- * (useful when unit testing)
+ * Set to false if you do not want line and file numbers in errors.
+ * (useful when unit testing). This will also compress some errors
+ * and exceptions.
+ * @type bool
*/
public $chatty = true;
/**
* Current lock; only gets to this namespace are allowed.
+ * @type string
*/
private $lock;
/**
- * @param $definition HTMLPurifier_ConfigSchema that defines what directives
- * are allowed.
+ * Constructor
+ * @param HTMLPurifier_ConfigSchema $definition ConfigSchema that defines
+ * what directives are allowed.
+ * @param HTMLPurifier_PropertyList $parent
*/
- public function __construct($definition, $parent = null) {
+ public function __construct($definition, $parent = null)
+ {
$parent = $parent ? $parent : $definition->defaultPlist;
$this->plist = new HTMLPurifier_PropertyList($parent);
$this->def = $definition; // keep a copy around for checking
@@ -102,10 +117,11 @@ class HTMLPurifier_Config
* object. Can be: a HTMLPurifier_Config() object,
* an array of directives based on loadArray(),
* or a string filename of an ini file.
- * @param HTMLPurifier_ConfigSchema Schema object
- * @return Configured HTMLPurifier_Config object
+ * @param HTMLPurifier_ConfigSchema $schema Schema object
+ * @return HTMLPurifier_Config Configured object
*/
- public static function create($config, $schema = null) {
+ public static function create($config, $schema = null)
+ {
if ($config instanceof HTMLPurifier_Config) {
// pass-through
return $config;
@@ -115,57 +131,79 @@ class HTMLPurifier_Config
} else {
$ret = new HTMLPurifier_Config($schema);
}
- if (is_string($config)) $ret->loadIni($config);
- elseif (is_array($config)) $ret->loadArray($config);
+ if (is_string($config)) {
+ $ret->loadIni($config);
+ } elseif (is_array($config)) $ret->loadArray($config);
return $ret;
}
/**
* Creates a new config object that inherits from a previous one.
- * @param HTMLPurifier_Config $config Configuration object to inherit
- * from.
+ * @param HTMLPurifier_Config $config Configuration object to inherit from.
* @return HTMLPurifier_Config object with $config as its parent.
*/
- public static function inherit(HTMLPurifier_Config $config) {
+ public static function inherit(HTMLPurifier_Config $config)
+ {
return new HTMLPurifier_Config($config->def, $config->plist);
}
/**
* Convenience constructor that creates a default configuration object.
- * @return Default HTMLPurifier_Config object.
+ * @return HTMLPurifier_Config default object.
*/
- public static function createDefault() {
+ public static function createDefault()
+ {
$definition = HTMLPurifier_ConfigSchema::instance();
$config = new HTMLPurifier_Config($definition);
return $config;
}
/**
- * Retreives a value from the configuration.
- * @param $key String key
+ * Retrieves a value from the configuration.
+ *
+ * @param string $key String key
+ * @param mixed $a
+ *
+ * @return mixed
*/
- public function get($key, $a = null) {
+ public function get($key, $a = null)
+ {
if ($a !== null) {
- $this->triggerError("Using deprecated API: use \$config->get('$key.$a') instead", E_USER_WARNING);
+ $this->triggerError(
+ "Using deprecated API: use \$config->get('$key.$a') instead",
+ E_USER_WARNING
+ );
$key = "$key.$a";
}
- if (!$this->finalized) $this->autoFinalize();
+ if (!$this->finalized) {
+ $this->autoFinalize();
+ }
if (!isset($this->def->info[$key])) {
// can't add % due to SimpleTest bug
- $this->triggerError('Cannot retrieve value of undefined directive ' . htmlspecialchars($key),
- E_USER_WARNING);
+ $this->triggerError(
+ 'Cannot retrieve value of undefined directive ' . htmlspecialchars($key),
+ E_USER_WARNING
+ );
return;
}
if (isset($this->def->info[$key]->isAlias)) {
$d = $this->def->info[$key];
- $this->triggerError('Cannot get value from aliased directive, use real name ' . $d->key,
- E_USER_ERROR);
+ $this->triggerError(
+ 'Cannot get value from aliased directive, use real name ' . $d->key,
+ E_USER_ERROR
+ );
return;
}
if ($this->lock) {
list($ns) = explode('.', $key);
if ($ns !== $this->lock) {
- $this->triggerError('Cannot get value of namespace ' . $ns . ' when lock for ' . $this->lock . ' is active, this probably indicates a Definition setup method is accessing directives that are not within its namespace', E_USER_ERROR);
+ $this->triggerError(
+ 'Cannot get value of namespace ' . $ns . ' when lock for ' .
+ $this->lock .
+ ' is active, this probably indicates a Definition setup method ' .
+ 'is accessing directives that are not within its namespace',
+ E_USER_ERROR
+ );
return;
}
}
@@ -173,53 +211,73 @@ class HTMLPurifier_Config
}
/**
- * Retreives an array of directives to values from a given namespace
- * @param $namespace String namespace
+ * Retrieves an array of directives to values from a given namespace
+ *
+ * @param string $namespace String namespace
+ *
+ * @return array
*/
- public function getBatch($namespace) {
- if (!$this->finalized) $this->autoFinalize();
+ public function getBatch($namespace)
+ {
+ if (!$this->finalized) {
+ $this->autoFinalize();
+ }
$full = $this->getAll();
if (!isset($full[$namespace])) {
- $this->triggerError('Cannot retrieve undefined namespace ' . htmlspecialchars($namespace),
- E_USER_WARNING);
+ $this->triggerError(
+ 'Cannot retrieve undefined namespace ' .
+ htmlspecialchars($namespace),
+ E_USER_WARNING
+ );
return;
}
return $full[$namespace];
}
/**
- * Returns a md5 signature of a segment of the configuration object
+ * Returns a SHA-1 signature of a segment of the configuration object
* that uniquely identifies that particular configuration
+ *
+ * @param string $namespace Namespace to get serial for
+ *
+ * @return string
* @note Revision is handled specially and is removed from the batch
* before processing!
- * @param $namespace Namespace to get serial for
*/
- public function getBatchSerial($namespace) {
+ public function getBatchSerial($namespace)
+ {
if (empty($this->serials[$namespace])) {
$batch = $this->getBatch($namespace);
unset($batch['DefinitionRev']);
- $this->serials[$namespace] = md5(serialize($batch));
+ $this->serials[$namespace] = sha1(serialize($batch));
}
return $this->serials[$namespace];
}
/**
- * Returns a md5 signature for the entire configuration object
+ * Returns a SHA-1 signature for the entire configuration object
* that uniquely identifies that particular configuration
+ *
+ * @return string
*/
- public function getSerial() {
+ public function getSerial()
+ {
if (empty($this->serial)) {
- $this->serial = md5(serialize($this->getAll()));
+ $this->serial = sha1(serialize($this->getAll()));
}
return $this->serial;
}
/**
* Retrieves all directives, organized by namespace
+ *
* @warning This is a pretty inefficient function, avoid if you can
*/
- public function getAll() {
- if (!$this->finalized) $this->autoFinalize();
+ public function getAll()
+ {
+ if (!$this->finalized) {
+ $this->autoFinalize();
+ }
$ret = array();
foreach ($this->plist->squash() as $name => $value) {
list($ns, $key) = explode('.', $name, 2);
@@ -230,10 +288,13 @@ class HTMLPurifier_Config
/**
* Sets a value to configuration.
- * @param $key String key
- * @param $value Mixed value
+ *
+ * @param string $key key
+ * @param mixed $value value
+ * @param mixed $a
*/
- public function set($key, $value, $a = null) {
+ public function set($key, $value, $a = null)
+ {
if (strpos($key, '.') === false) {
$namespace = $key;
$directive = $value;
@@ -243,18 +304,25 @@ class HTMLPurifier_Config
} else {
list($namespace) = explode('.', $key);
}
- if ($this->isFinalized('Cannot set directive after finalization')) return;
+ if ($this->isFinalized('Cannot set directive after finalization')) {
+ return;
+ }
if (!isset($this->def->info[$key])) {
- $this->triggerError('Cannot set undefined directive ' . htmlspecialchars($key) . ' to value',
- E_USER_WARNING);
+ $this->triggerError(
+ 'Cannot set undefined directive ' . htmlspecialchars($key) . ' to value',
+ E_USER_WARNING
+ );
return;
}
$def = $this->def->info[$key];
if (isset($def->isAlias)) {
if ($this->aliasMode) {
- $this->triggerError('Double-aliases not allowed, please fix '.
- 'ConfigSchema bug with' . $key, E_USER_ERROR);
+ $this->triggerError(
+ 'Double-aliases not allowed, please fix '.
+ 'ConfigSchema bug with' . $key,
+ E_USER_ERROR
+ );
return;
}
$this->aliasMode = true;
@@ -278,7 +346,11 @@ class HTMLPurifier_Config
try {
$value = $this->parser->parse($value, $type, $allow_null);
} catch (HTMLPurifier_VarParserException $e) {
- $this->triggerError('Value for ' . $key . ' is of invalid type, should be ' . HTMLPurifier_VarParser::getTypeName($type), E_USER_WARNING);
+ $this->triggerError(
+ 'Value for ' . $key . ' is of invalid type, should be ' .
+ HTMLPurifier_VarParser::getTypeName($type),
+ E_USER_WARNING
+ );
return;
}
if (is_string($value) && is_object($def)) {
@@ -288,8 +360,11 @@ class HTMLPurifier_Config
}
// check to see if the value is allowed
if (isset($def->allowed) && !isset($def->allowed[$value])) {
- $this->triggerError('Value not supported, valid values are: ' .
- $this->_listify($def->allowed), E_USER_WARNING);
+ $this->triggerError(
+ 'Value not supported, valid values are: ' .
+ $this->_listify($def->allowed),
+ E_USER_WARNING
+ );
return;
}
}
@@ -307,38 +382,102 @@ class HTMLPurifier_Config
/**
* Convenience function for error reporting
+ *
+ * @param array $lookup
+ *
+ * @return string
*/
- private function _listify($lookup) {
+ private function _listify($lookup)
+ {
$list = array();
- foreach ($lookup as $name => $b) $list[] = $name;
+ foreach ($lookup as $name => $b) {
+ $list[] = $name;
+ }
return implode(', ', $list);
}
/**
* Retrieves object reference to the HTML definition.
- * @param $raw Return a copy that has not been setup yet. Must be
+ *
+ * @param bool $raw Return a copy that has not been setup yet. Must be
* called before it's been setup, otherwise won't work.
- */
- public function getHTMLDefinition($raw = false) {
- return $this->getDefinition('HTML', $raw);
+ * @param bool $optimized If true, this method may return null, to
+ * indicate that a cached version of the modified
+ * definition object is available and no further edits
+ * are necessary. Consider using
+ * maybeGetRawHTMLDefinition, which is more explicitly
+ * named, instead.
+ *
+ * @return HTMLPurifier_HTMLDefinition
+ */
+ public function getHTMLDefinition($raw = false, $optimized = false)
+ {
+ return $this->getDefinition('HTML', $raw, $optimized);
}
/**
* Retrieves object reference to the CSS definition
- * @param $raw Return a copy that has not been setup yet. Must be
+ *
+ * @param bool $raw Return a copy that has not been setup yet. Must be
* called before it's been setup, otherwise won't work.
- */
- public function getCSSDefinition($raw = false) {
- return $this->getDefinition('CSS', $raw);
+ * @param bool $optimized If true, this method may return null, to
+ * indicate that a cached version of the modified
+ * definition object is available and no further edits
+ * are necessary. Consider using
+ * maybeGetRawCSSDefinition, which is more explicitly
+ * named, instead.
+ *
+ * @return HTMLPurifier_CSSDefinition
+ */
+ public function getCSSDefinition($raw = false, $optimized = false)
+ {
+ return $this->getDefinition('CSS', $raw, $optimized);
+ }
+
+ /**
+ * Retrieves object reference to the URI definition
+ *
+ * @param bool $raw Return a copy that has not been setup yet. Must be
+ * called before it's been setup, otherwise won't work.
+ * @param bool $optimized If true, this method may return null, to
+ * indicate that a cached version of the modified
+ * definition object is available and no further edits
+ * are necessary. Consider using
+ * maybeGetRawURIDefinition, which is more explicitly
+ * named, instead.
+ *
+ * @return HTMLPurifier_URIDefinition
+ */
+ public function getURIDefinition($raw = false, $optimized = false)
+ {
+ return $this->getDefinition('URI', $raw, $optimized);
}
/**
* Retrieves a definition
- * @param $type Type of definition: HTML, CSS, etc
- * @param $raw Whether or not definition should be returned raw
- */
- public function getDefinition($type, $raw = false) {
- if (!$this->finalized) $this->autoFinalize();
+ *
+ * @param string $type Type of definition: HTML, CSS, etc
+ * @param bool $raw Whether or not definition should be returned raw
+ * @param bool $optimized Only has an effect when $raw is true. Whether
+ * or not to return null if the result is already present in
+ * the cache. This is off by default for backwards
+ * compatibility reasons, but you need to do things this
+ * way in order to ensure that caching is done properly.
+ * Check out enduser-customize.html for more details.
+ * We probably won't ever change this default, as much as the
+ * maybe semantics is the "right thing to do."
+ *
+ * @throws HTMLPurifier_Exception
+ * @return HTMLPurifier_Definition
+ */
+ public function getDefinition($type, $raw = false, $optimized = false)
+ {
+ if ($optimized && !$raw) {
+ throw new HTMLPurifier_Exception("Cannot set optimized = true when raw = false");
+ }
+ if (!$this->finalized) {
+ $this->autoFinalize();
+ }
// temporarily suspend locks, so we can handle recursive definition calls
$lock = $this->lock;
$this->lock = null;
@@ -346,61 +485,193 @@ class HTMLPurifier_Config
$cache = $factory->create($type, $this);
$this->lock = $lock;
if (!$raw) {
- // see if we can quickly supply a definition
+ // full definition
+ // ---------------
+ // check if definition is in memory
+ if (!empty($this->definitions[$type])) {
+ $def = $this->definitions[$type];
+ // check if the definition is setup
+ if ($def->setup) {
+ return $def;
+ } else {
+ $def->setup($this);
+ if ($def->optimized) {
+ $cache->add($def, $this);
+ }
+ return $def;
+ }
+ }
+ // check if definition is in cache
+ $def = $cache->get($this);
+ if ($def) {
+ // definition in cache, save to memory and return it
+ $this->definitions[$type] = $def;
+ return $def;
+ }
+ // initialize it
+ $def = $this->initDefinition($type);
+ // set it up
+ $this->lock = $type;
+ $def->setup($this);
+ $this->lock = null;
+ // save in cache
+ $cache->add($def, $this);
+ // return it
+ return $def;
+ } else {
+ // raw definition
+ // --------------
+ // check preconditions
+ $def = null;
+ if ($optimized) {
+ if (is_null($this->get($type . '.DefinitionID'))) {
+ // fatally error out if definition ID not set
+ throw new HTMLPurifier_Exception(
+ "Cannot retrieve raw version without specifying %$type.DefinitionID"
+ );
+ }
+ }
if (!empty($this->definitions[$type])) {
- if (!$this->definitions[$type]->setup) {
- $this->definitions[$type]->setup($this);
- $cache->set($this->definitions[$type], $this);
+ $def = $this->definitions[$type];
+ if ($def->setup && !$optimized) {
+ $extra = $this->chatty ?
+ " (try moving this code block earlier in your initialization)" :
+ "";
+ throw new HTMLPurifier_Exception(
+ "Cannot retrieve raw definition after it has already been setup" .
+ $extra
+ );
+ }
+ if ($def->optimized === null) {
+ $extra = $this->chatty ? " (try flushing your cache)" : "";
+ throw new HTMLPurifier_Exception(
+ "Optimization status of definition is unknown" . $extra
+ );
+ }
+ if ($def->optimized !== $optimized) {
+ $msg = $optimized ? "optimized" : "unoptimized";
+ $extra = $this->chatty ?
+ " (this backtrace is for the first inconsistent call, which was for a $msg raw definition)"
+ : "";
+ throw new HTMLPurifier_Exception(
+ "Inconsistent use of optimized and unoptimized raw definition retrievals" . $extra
+ );
}
- return $this->definitions[$type];
}
- // memory check missed, try cache
- $this->definitions[$type] = $cache->get($this);
- if ($this->definitions[$type]) {
- // definition in cache, return it
- return $this->definitions[$type];
+ // check if definition was in memory
+ if ($def) {
+ if ($def->setup) {
+ // invariant: $optimized === true (checked above)
+ return null;
+ } else {
+ return $def;
+ }
}
- } elseif (
- !empty($this->definitions[$type]) &&
- !$this->definitions[$type]->setup
- ) {
- // raw requested, raw in memory, quick return
- return $this->definitions[$type];
+ // if optimized, check if definition was in cache
+ // (because we do the memory check first, this formulation
+ // is prone to cache slamming, but I think
+ // guaranteeing that either /all/ of the raw
+ // setup code or /none/ of it is run is more important.)
+ if ($optimized) {
+ // This code path only gets run once; once we put
+ // something in $definitions (which is guaranteed by the
+ // trailing code), we always short-circuit above.
+ $def = $cache->get($this);
+ if ($def) {
+ // save the full definition for later, but don't
+ // return it yet
+ $this->definitions[$type] = $def;
+ return null;
+ }
+ }
+ // check invariants for creation
+ if (!$optimized) {
+ if (!is_null($this->get($type . '.DefinitionID'))) {
+ if ($this->chatty) {
+ $this->triggerError(
+ 'Due to a documentation error in previous version of HTML Purifier, your ' .
+ 'definitions are not being cached. If this is OK, you can remove the ' .
+ '%$type.DefinitionRev and %$type.DefinitionID declaration. Otherwise, ' .
+ 'modify your code to use maybeGetRawDefinition, and test if the returned ' .
+ 'value is null before making any edits (if it is null, that means that a ' .
+ 'cached version is available, and no raw operations are necessary). See ' .
+ '<a href="http://htmlpurifier.org/docs/enduser-customize.html#optimized">' .
+ 'Customize</a> for more details',
+ E_USER_WARNING
+ );
+ } else {
+ $this->triggerError(
+ "Useless DefinitionID declaration",
+ E_USER_WARNING
+ );
+ }
+ }
+ }
+ // initialize it
+ $def = $this->initDefinition($type);
+ $def->optimized = $optimized;
+ return $def;
}
+ throw new HTMLPurifier_Exception("The impossible happened!");
+ }
+
+ /**
+ * Initialise definition
+ *
+ * @param string $type What type of definition to create
+ *
+ * @return HTMLPurifier_CSSDefinition|HTMLPurifier_HTMLDefinition|HTMLPurifier_URIDefinition
+ * @throws HTMLPurifier_Exception
+ */
+ private function initDefinition($type)
+ {
// quick checks failed, let's create the object
if ($type == 'HTML') {
- $this->definitions[$type] = new HTMLPurifier_HTMLDefinition();
+ $def = new HTMLPurifier_HTMLDefinition();
} elseif ($type == 'CSS') {
- $this->definitions[$type] = new HTMLPurifier_CSSDefinition();
+ $def = new HTMLPurifier_CSSDefinition();
} elseif ($type == 'URI') {
- $this->definitions[$type] = new HTMLPurifier_URIDefinition();
+ $def = new HTMLPurifier_URIDefinition();
} else {
- throw new HTMLPurifier_Exception("Definition of $type type not supported");
+ throw new HTMLPurifier_Exception(
+ "Definition of $type type not supported"
+ );
}
- // quick abort if raw
- if ($raw) {
- if (is_null($this->get($type . '.DefinitionID'))) {
- // fatally error out if definition ID not set
- throw new HTMLPurifier_Exception("Cannot retrieve raw version without specifying %$type.DefinitionID");
- }
- return $this->definitions[$type];
- }
- // set it up
- $this->lock = $type;
- $this->definitions[$type]->setup($this);
- $this->lock = null;
- // save in cache
- $cache->set($this->definitions[$type], $this);
- return $this->definitions[$type];
+ $this->definitions[$type] = $def;
+ return $def;
+ }
+
+ public function maybeGetRawDefinition($name)
+ {
+ return $this->getDefinition($name, true, true);
+ }
+
+ public function maybeGetRawHTMLDefinition()
+ {
+ return $this->getDefinition('HTML', true, true);
+ }
+
+ public function maybeGetRawCSSDefinition()
+ {
+ return $this->getDefinition('CSS', true, true);
+ }
+
+ public function maybeGetRawURIDefinition()
+ {
+ return $this->getDefinition('URI', true, true);
}
/**
* Loads configuration values from an array with the following structure:
* Namespace.Directive => Value
- * @param $config_array Configuration associative array
+ *
+ * @param array $config_array Configuration associative array
*/
- public function loadArray($config_array) {
- if ($this->isFinalized('Cannot load directives after finalization')) return;
+ public function loadArray($config_array)
+ {
+ if ($this->isFinalized('Cannot load directives after finalization')) {
+ return;
+ }
foreach ($config_array as $key => $value) {
$key = str_replace('_', '.', $key);
if (strpos($key, '.') !== false) {
@@ -408,8 +679,8 @@ class HTMLPurifier_Config
} else {
$namespace = $key;
$namespace_values = $value;
- foreach ($namespace_values as $directive => $value) {
- $this->set($namespace .'.'. $directive, $value);
+ foreach ($namespace_values as $directive => $value2) {
+ $this->set($namespace .'.'. $directive, $value2);
}
}
}
@@ -419,40 +690,55 @@ class HTMLPurifier_Config
* Returns a list of array(namespace, directive) for all directives
* that are allowed in a web-form context as per an allowed
* namespaces/directives list.
- * @param $allowed List of allowed namespaces/directives
- */
- public static function getAllowedDirectivesForForm($allowed, $schema = null) {
+ *
+ * @param array $allowed List of allowed namespaces/directives
+ * @param HTMLPurifier_ConfigSchema $schema Schema to use, if not global copy
+ *
+ * @return array
+ */
+ public static function getAllowedDirectivesForForm($allowed, $schema = null)
+ {
if (!$schema) {
$schema = HTMLPurifier_ConfigSchema::instance();
}
if ($allowed !== true) {
- if (is_string($allowed)) $allowed = array($allowed);
- $allowed_ns = array();
- $allowed_directives = array();
- $blacklisted_directives = array();
- foreach ($allowed as $ns_or_directive) {
- if (strpos($ns_or_directive, '.') !== false) {
- // directive
- if ($ns_or_directive[0] == '-') {
- $blacklisted_directives[substr($ns_or_directive, 1)] = true;
- } else {
- $allowed_directives[$ns_or_directive] = true;
- }
- } else {
- // namespace
- $allowed_ns[$ns_or_directive] = true;
- }
- }
+ if (is_string($allowed)) {
+ $allowed = array($allowed);
+ }
+ $allowed_ns = array();
+ $allowed_directives = array();
+ $blacklisted_directives = array();
+ foreach ($allowed as $ns_or_directive) {
+ if (strpos($ns_or_directive, '.') !== false) {
+ // directive
+ if ($ns_or_directive[0] == '-') {
+ $blacklisted_directives[substr($ns_or_directive, 1)] = true;
+ } else {
+ $allowed_directives[$ns_or_directive] = true;
+ }
+ } else {
+ // namespace
+ $allowed_ns[$ns_or_directive] = true;
+ }
+ }
}
$ret = array();
foreach ($schema->info as $key => $def) {
list($ns, $directive) = explode('.', $key, 2);
if ($allowed !== true) {
- if (isset($blacklisted_directives["$ns.$directive"])) continue;
- if (!isset($allowed_directives["$ns.$directive"]) && !isset($allowed_ns[$ns])) continue;
+ if (isset($blacklisted_directives["$ns.$directive"])) {
+ continue;
+ }
+ if (!isset($allowed_directives["$ns.$directive"]) && !isset($allowed_ns[$ns])) {
+ continue;
+ }
+ }
+ if (isset($def->isAlias)) {
+ continue;
+ }
+ if ($directive == 'DefinitionID' || $directive == 'DefinitionRev') {
+ continue;
}
- if (isset($def->isAlias)) continue;
- if ($directive == 'DefinitionID' || $directive == 'DefinitionRev') continue;
$ret[] = array($ns, $directive);
}
return $ret;
@@ -461,13 +747,17 @@ class HTMLPurifier_Config
/**
* Loads configuration values from $_GET/$_POST that were posted
* via ConfigForm
- * @param $array $_GET or $_POST array to import
- * @param $index Index/name that the config variables are in
- * @param $allowed List of allowed namespaces/directives
- * @param $mq_fix Boolean whether or not to enable magic quotes fix
- * @param $schema Instance of HTMLPurifier_ConfigSchema to use, if not global copy
- */
- public static function loadArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true, $schema = null) {
+ *
+ * @param array $array $_GET or $_POST array to import
+ * @param string|bool $index Index/name that the config variables are in
+ * @param array|bool $allowed List of allowed namespaces/directives
+ * @param bool $mq_fix Boolean whether or not to enable magic quotes fix
+ * @param HTMLPurifier_ConfigSchema $schema Schema to use, if not global copy
+ *
+ * @return mixed
+ */
+ public static function loadArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true, $schema = null)
+ {
$ret = HTMLPurifier_Config::prepareArrayFromForm($array, $index, $allowed, $mq_fix, $schema);
$config = HTMLPurifier_Config::create($ret, $schema);
return $config;
@@ -475,9 +765,14 @@ class HTMLPurifier_Config
/**
* Merges in configuration values from $_GET/$_POST to object. NOT STATIC.
- * @note Same parameters as loadArrayFromForm
- */
- public function mergeArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true) {
+ *
+ * @param array $array $_GET or $_POST array to import
+ * @param string|bool $index Index/name that the config variables are in
+ * @param array|bool $allowed List of allowed namespaces/directives
+ * @param bool $mq_fix Boolean whether or not to enable magic quotes fix
+ */
+ public function mergeArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true)
+ {
$ret = HTMLPurifier_Config::prepareArrayFromForm($array, $index, $allowed, $mq_fix, $this->def);
$this->loadArray($ret);
}
@@ -485,9 +780,20 @@ class HTMLPurifier_Config
/**
* Prepares an array from a form into something usable for the more
* strict parts of HTMLPurifier_Config
- */
- public static function prepareArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true, $schema = null) {
- if ($index !== false) $array = (isset($array[$index]) && is_array($array[$index])) ? $array[$index] : array();
+ *
+ * @param array $array $_GET or $_POST array to import
+ * @param string|bool $index Index/name that the config variables are in
+ * @param array|bool $allowed List of allowed namespaces/directives
+ * @param bool $mq_fix Boolean whether or not to enable magic quotes fix
+ * @param HTMLPurifier_ConfigSchema $schema Schema to use, if not global copy
+ *
+ * @return array
+ */
+ public static function prepareArrayFromForm($array, $index = false, $allowed = true, $mq_fix = true, $schema = null)
+ {
+ if ($index !== false) {
+ $array = (isset($array[$index]) && is_array($array[$index])) ? $array[$index] : array();
+ }
$mq = $mq_fix && function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc();
$allowed = HTMLPurifier_Config::getAllowedDirectivesForForm($allowed, $schema);
@@ -499,7 +805,9 @@ class HTMLPurifier_Config
$ret[$ns][$directive] = null;
continue;
}
- if (!isset($array[$skey])) continue;
+ if (!isset($array[$skey])) {
+ continue;
+ }
$value = $mq ? stripslashes($array[$skey]) : $array[$skey];
$ret[$ns][$directive] = $value;
}
@@ -508,19 +816,27 @@ class HTMLPurifier_Config
/**
* Loads configuration values from an ini file
- * @param $filename Name of ini file
+ *
+ * @param string $filename Name of ini file
*/
- public function loadIni($filename) {
- if ($this->isFinalized('Cannot load directives after finalization')) return;
+ public function loadIni($filename)
+ {
+ if ($this->isFinalized('Cannot load directives after finalization')) {
+ return;
+ }
$array = parse_ini_file($filename, true);
$this->loadArray($array);
}
/**
* Checks whether or not the configuration object is finalized.
- * @param $error String error message, or false for no error
+ *
+ * @param string|bool $error String error message, or false for no error
+ *
+ * @return bool
*/
- public function isFinalized($error = false) {
+ public function isFinalized($error = false)
+ {
if ($this->finalized && $error) {
$this->triggerError($error, E_USER_ERROR);
}
@@ -531,7 +847,8 @@ class HTMLPurifier_Config
* Finalizes configuration only if auto finalize is on and not
* already finalized
*/
- public function autoFinalize() {
+ public function autoFinalize()
+ {
if ($this->autoFinalize) {
$this->finalize();
} else {
@@ -542,24 +859,35 @@ class HTMLPurifier_Config
/**
* Finalizes a configuration object, prohibiting further change
*/
- public function finalize() {
+ public function finalize()
+ {
$this->finalized = true;
- unset($this->parser);
+ $this->parser = null;
}
/**
* Produces a nicely formatted error message by supplying the
- * stack frame information from two levels up and OUTSIDE of
- * HTMLPurifier_Config.
+ * stack frame information OUTSIDE of HTMLPurifier_Config.
+ *
+ * @param string $msg An error message
+ * @param int $no An error number
*/
- protected function triggerError($msg, $no) {
+ protected function triggerError($msg, $no)
+ {
// determine previous stack frame
- $backtrace = debug_backtrace();
- if ($this->chatty && isset($backtrace[1])) {
- $frame = $backtrace[1];
- $extra = " on line {$frame['line']} in file {$frame['file']}";
- } else {
- $extra = '';
+ $extra = '';
+ if ($this->chatty) {
+ $trace = debug_backtrace();
+ // zip(tail(trace), trace) -- but PHP is not Haskell har har
+ for ($i = 0, $c = count($trace); $i < $c - 1; $i++) {
+ // XXX this is not correct on some versions of HTML Purifier
+ if ($trace[$i + 1]['class'] === 'HTMLPurifier_Config') {
+ continue;
+ }
+ $frame = $trace[$i];
+ $extra = " invoked on line {$frame['line']} in file {$frame['file']}";
+ break;
+ }
}
trigger_error($msg . $extra, $no);
}
@@ -567,8 +895,11 @@ class HTMLPurifier_Config
/**
* Returns a serialized form of the configuration object that can
* be reconstituted.
+ *
+ * @return string
*/
- public function serialize() {
+ public function serialize()
+ {
$this->getDefinition('HTML');
$this->getDefinition('CSS');
$this->getDefinition('URI');
diff --git a/library/HTMLPurifier/ConfigSchema.php b/library/HTMLPurifier/ConfigSchema.php
index 67be5c71f..bfbb0f92f 100644
--- a/library/HTMLPurifier/ConfigSchema.php
+++ b/library/HTMLPurifier/ConfigSchema.php
@@ -3,21 +3,24 @@
/**
* Configuration definition, defines directives and their defaults.
*/
-class HTMLPurifier_ConfigSchema {
-
+class HTMLPurifier_ConfigSchema
+{
/**
* Defaults of the directives and namespaces.
+ * @type array
* @note This shares the exact same structure as HTMLPurifier_Config::$conf
*/
public $defaults = array();
/**
* The default property list. Do not edit this property list.
+ * @type array
*/
public $defaultPlist;
/**
- * Definition of the directives. The structure of this is:
+ * Definition of the directives.
+ * The structure of this is:
*
* array(
* 'Namespace' => array(
@@ -44,29 +47,43 @@ class HTMLPurifier_ConfigSchema {
* This class is friendly with HTMLPurifier_Config. If you need introspection
* about the schema, you're better of using the ConfigSchema_Interchange,
* which uses more memory but has much richer information.
+ * @type array
*/
public $info = array();
/**
* Application-wide singleton
+ * @type HTMLPurifier_ConfigSchema
*/
- static protected $singleton;
+ protected static $singleton;
- public function __construct() {
+ public function __construct()
+ {
$this->defaultPlist = new HTMLPurifier_PropertyList();
}
/**
* Unserializes the default ConfigSchema.
+ * @return HTMLPurifier_ConfigSchema
*/
- public static function makeFromSerial() {
- return unserialize(file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/ConfigSchema/schema.ser'));
+ public static function makeFromSerial()
+ {
+ $contents = file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/ConfigSchema/schema.ser');
+ $r = unserialize($contents);
+ if (!$r) {
+ $hash = sha1($contents);
+ trigger_error("Unserialization of configuration schema failed, sha1 of file was $hash", E_USER_ERROR);
+ }
+ return $r;
}
/**
* Retrieves an instance of the application-wide configuration definition.
+ * @param HTMLPurifier_ConfigSchema $prototype
+ * @return HTMLPurifier_ConfigSchema
*/
- public static function instance($prototype = null) {
+ public static function instance($prototype = null)
+ {
if ($prototype !== null) {
HTMLPurifier_ConfigSchema::$singleton = $prototype;
} elseif (HTMLPurifier_ConfigSchema::$singleton === null || $prototype === true) {
@@ -80,17 +97,19 @@ class HTMLPurifier_ConfigSchema {
* @warning Will fail of directive's namespace is defined.
* @warning This method's signature is slightly different from the legacy
* define() static method! Beware!
- * @param $namespace Namespace the directive is in
- * @param $name Key of directive
- * @param $default Default value of directive
- * @param $type Allowed type of the directive. See
+ * @param string $key Name of directive
+ * @param mixed $default Default value of directive
+ * @param string $type Allowed type of the directive. See
* HTMLPurifier_DirectiveDef::$type for allowed values
- * @param $allow_null Whether or not to allow null values
+ * @param bool $allow_null Whether or not to allow null values
*/
- public function add($key, $default, $type, $allow_null) {
+ public function add($key, $default, $type, $allow_null)
+ {
$obj = new stdclass();
$obj->type = is_int($type) ? $type : HTMLPurifier_VarParser::$types[$type];
- if ($allow_null) $obj->allow_null = true;
+ if ($allow_null) {
+ $obj->allow_null = true;
+ }
$this->info[$key] = $obj;
$this->defaults[$key] = $default;
$this->defaultPlist->set($key, $default);
@@ -101,11 +120,11 @@ class HTMLPurifier_ConfigSchema {
*
* Directive value aliases are convenient for developers because it lets
* them set a directive to several values and get the same result.
- * @param $namespace Directive's namespace
- * @param $name Name of Directive
- * @param $aliases Hash of aliased values to the real alias
+ * @param string $key Name of Directive
+ * @param array $aliases Hash of aliased values to the real alias
*/
- public function addValueAliases($key, $aliases) {
+ public function addValueAliases($key, $aliases)
+ {
if (!isset($this->info[$key]->aliases)) {
$this->info[$key]->aliases = array();
}
@@ -118,22 +137,21 @@ class HTMLPurifier_ConfigSchema {
* Defines a set of allowed values for a directive.
* @warning This is slightly different from the corresponding static
* method definition.
- * @param $namespace Namespace of directive
- * @param $name Name of directive
- * @param $allowed Lookup array of allowed values
+ * @param string $key Name of directive
+ * @param array $allowed Lookup array of allowed values
*/
- public function addAllowedValues($key, $allowed) {
+ public function addAllowedValues($key, $allowed)
+ {
$this->info[$key]->allowed = $allowed;
}
/**
* Defines a directive alias for backwards compatibility
- * @param $namespace
- * @param $name Directive that will be aliased
- * @param $new_namespace
- * @param $new_name Directive that the alias will be to
+ * @param string $key Directive that will be aliased
+ * @param string $new_key Directive that the alias will be to
*/
- public function addAlias($key, $new_key) {
+ public function addAlias($key, $new_key)
+ {
$obj = new stdclass;
$obj->key = $new_key;
$obj->isAlias = true;
@@ -143,7 +161,8 @@ class HTMLPurifier_ConfigSchema {
/**
* Replaces any stdclass that only has the type property with type integer.
*/
- public function postProcess() {
+ public function postProcess()
+ {
foreach ($this->info as $key => $v) {
if (count((array) $v) == 1) {
$this->info[$key] = $v->type;
@@ -152,7 +171,6 @@ class HTMLPurifier_ConfigSchema {
}
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php b/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php
index c05668a70..d5906cd46 100644
--- a/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php
+++ b/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php
@@ -7,7 +7,12 @@
class HTMLPurifier_ConfigSchema_Builder_ConfigSchema
{
- public function build($interchange) {
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ * @return HTMLPurifier_ConfigSchema
+ */
+ public function build($interchange)
+ {
$schema = new HTMLPurifier_ConfigSchema();
foreach ($interchange->directives as $d) {
$schema->add(
@@ -38,7 +43,6 @@ class HTMLPurifier_ConfigSchema_Builder_ConfigSchema
$schema->postProcess();
return $schema;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/Builder/Xml.php b/library/HTMLPurifier/ConfigSchema/Builder/Xml.php
index 244561a37..5fa56f7dd 100644
--- a/library/HTMLPurifier/ConfigSchema/Builder/Xml.php
+++ b/library/HTMLPurifier/ConfigSchema/Builder/Xml.php
@@ -7,10 +7,21 @@
class HTMLPurifier_ConfigSchema_Builder_Xml extends XMLWriter
{
+ /**
+ * @type HTMLPurifier_ConfigSchema_Interchange
+ */
protected $interchange;
+
+ /**
+ * @type string
+ */
private $namespace;
- protected function writeHTMLDiv($html) {
+ /**
+ * @param string $html
+ */
+ protected function writeHTMLDiv($html)
+ {
$this->startElement('div');
$purifier = HTMLPurifier::getInstance();
@@ -21,12 +32,23 @@ class HTMLPurifier_ConfigSchema_Builder_Xml extends XMLWriter
$this->endElement(); // div
}
- protected function export($var) {
- if ($var === array()) return 'array()';
+ /**
+ * @param mixed $var
+ * @return string
+ */
+ protected function export($var)
+ {
+ if ($var === array()) {
+ return 'array()';
+ }
return var_export($var, true);
}
- public function build($interchange) {
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ */
+ public function build($interchange)
+ {
// global access, only use as last resort
$this->interchange = $interchange;
@@ -39,19 +61,26 @@ class HTMLPurifier_ConfigSchema_Builder_Xml extends XMLWriter
$this->buildDirective($directive);
}
- if ($this->namespace) $this->endElement(); // namespace
+ if ($this->namespace) {
+ $this->endElement();
+ } // namespace
$this->endElement(); // configdoc
$this->flush();
}
- public function buildDirective($directive) {
-
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive
+ */
+ public function buildDirective($directive)
+ {
// Kludge, although I suppose having a notion of a "root namespace"
// certainly makes things look nicer when documentation is built.
// Depends on things being sorted.
if (!$this->namespace || $this->namespace !== $directive->id->getRootNamespace()) {
- if ($this->namespace) $this->endElement(); // namespace
+ if ($this->namespace) {
+ $this->endElement();
+ } // namespace
$this->namespace = $directive->id->getRootNamespace();
$this->startElement('namespace');
$this->writeAttribute('id', $this->namespace);
@@ -64,43 +93,52 @@ class HTMLPurifier_ConfigSchema_Builder_Xml extends XMLWriter
$this->writeElement('name', $directive->id->getDirective());
$this->startElement('aliases');
- foreach ($directive->aliases as $alias) $this->writeElement('alias', $alias->toString());
+ foreach ($directive->aliases as $alias) {
+ $this->writeElement('alias', $alias->toString());
+ }
$this->endElement(); // aliases
$this->startElement('constraints');
- if ($directive->version) $this->writeElement('version', $directive->version);
- $this->startElement('type');
- if ($directive->typeAllowsNull) $this->writeAttribute('allow-null', 'yes');
- $this->text($directive->type);
- $this->endElement(); // type
- if ($directive->allowed) {
- $this->startElement('allowed');
- foreach ($directive->allowed as $value => $x) $this->writeElement('value', $value);
- $this->endElement(); // allowed
+ if ($directive->version) {
+ $this->writeElement('version', $directive->version);
+ }
+ $this->startElement('type');
+ if ($directive->typeAllowsNull) {
+ $this->writeAttribute('allow-null', 'yes');
+ }
+ $this->text($directive->type);
+ $this->endElement(); // type
+ if ($directive->allowed) {
+ $this->startElement('allowed');
+ foreach ($directive->allowed as $value => $x) {
+ $this->writeElement('value', $value);
}
- $this->writeElement('default', $this->export($directive->default));
- $this->writeAttribute('xml:space', 'preserve');
- if ($directive->external) {
- $this->startElement('external');
- foreach ($directive->external as $project) $this->writeElement('project', $project);
- $this->endElement();
+ $this->endElement(); // allowed
+ }
+ $this->writeElement('default', $this->export($directive->default));
+ $this->writeAttribute('xml:space', 'preserve');
+ if ($directive->external) {
+ $this->startElement('external');
+ foreach ($directive->external as $project) {
+ $this->writeElement('project', $project);
}
+ $this->endElement();
+ }
$this->endElement(); // constraints
if ($directive->deprecatedVersion) {
$this->startElement('deprecated');
- $this->writeElement('version', $directive->deprecatedVersion);
- $this->writeElement('use', $directive->deprecatedUse->toString());
+ $this->writeElement('version', $directive->deprecatedVersion);
+ $this->writeElement('use', $directive->deprecatedUse->toString());
$this->endElement(); // deprecated
}
$this->startElement('description');
- $this->writeHTMLDiv($directive->description);
+ $this->writeHTMLDiv($directive->description);
$this->endElement(); // description
$this->endElement(); // directive
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/Interchange.php b/library/HTMLPurifier/ConfigSchema/Interchange.php
index 91a5aa730..0e08ae8fe 100644
--- a/library/HTMLPurifier/ConfigSchema/Interchange.php
+++ b/library/HTMLPurifier/ConfigSchema/Interchange.php
@@ -10,18 +10,23 @@ class HTMLPurifier_ConfigSchema_Interchange
/**
* Name of the application this schema is describing.
+ * @type string
*/
public $name;
/**
* Array of Directive ID => array(directive info)
+ * @type HTMLPurifier_ConfigSchema_Interchange_Directive[]
*/
public $directives = array();
/**
* Adds a directive array to $directives
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive
+ * @throws HTMLPurifier_ConfigSchema_Exception
*/
- public function addDirective($directive) {
+ public function addDirective($directive)
+ {
if (isset($this->directives[$i = $directive->id->toString()])) {
throw new HTMLPurifier_ConfigSchema_Exception("Cannot redefine directive '$i'");
}
@@ -32,11 +37,11 @@ class HTMLPurifier_ConfigSchema_Interchange
* Convenience function to perform standard validation. Throws exception
* on failed validation.
*/
- public function validate() {
+ public function validate()
+ {
$validator = new HTMLPurifier_ConfigSchema_Validator();
return $validator->validate($this);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php b/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php
index ac8be0d97..127a39a67 100644
--- a/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php
+++ b/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php
@@ -7,71 +7,83 @@ class HTMLPurifier_ConfigSchema_Interchange_Directive
{
/**
- * ID of directive, instance of HTMLPurifier_ConfigSchema_Interchange_Id.
+ * ID of directive.
+ * @type HTMLPurifier_ConfigSchema_Interchange_Id
*/
public $id;
/**
- * String type, e.g. 'integer' or 'istring'.
+ * Type, e.g. 'integer' or 'istring'.
+ * @type string
*/
public $type;
/**
* Default value, e.g. 3 or 'DefaultVal'.
+ * @type mixed
*/
public $default;
/**
* HTML description.
+ * @type string
*/
public $description;
/**
- * Boolean whether or not null is allowed as a value.
+ * Whether or not null is allowed as a value.
+ * @type bool
*/
public $typeAllowsNull = false;
/**
- * Lookup table of allowed scalar values, e.g. array('allowed' => true).
+ * Lookup table of allowed scalar values.
+ * e.g. array('allowed' => true).
* Null if all values are allowed.
+ * @type array
*/
public $allowed;
/**
- * List of aliases for the directive,
+ * List of aliases for the directive.
* e.g. array(new HTMLPurifier_ConfigSchema_Interchange_Id('Ns', 'Dir'))).
+ * @type HTMLPurifier_ConfigSchema_Interchange_Id[]
*/
public $aliases = array();
/**
* Hash of value aliases, e.g. array('alt' => 'real'). Null if value
* aliasing is disabled (necessary for non-scalar types).
+ * @type array
*/
public $valueAliases;
/**
* Version of HTML Purifier the directive was introduced, e.g. '1.3.1'.
* Null if the directive has always existed.
+ * @type string
*/
public $version;
/**
- * ID of directive that supercedes this old directive, is an instance
- * of HTMLPurifier_ConfigSchema_Interchange_Id. Null if not deprecated.
+ * ID of directive that supercedes this old directive.
+ * Null if not deprecated.
+ * @type HTMLPurifier_ConfigSchema_Interchange_Id
*/
public $deprecatedUse;
/**
* Version of HTML Purifier this directive was deprecated. Null if not
* deprecated.
+ * @type string
*/
public $deprecatedVersion;
/**
* List of external projects this directive depends on, e.g. array('CSSTidy').
+ * @type array
*/
public $external = array();
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/Interchange/Id.php b/library/HTMLPurifier/ConfigSchema/Interchange/Id.php
index b9b3c6f5c..126f09d95 100644
--- a/library/HTMLPurifier/ConfigSchema/Interchange/Id.php
+++ b/library/HTMLPurifier/ConfigSchema/Interchange/Id.php
@@ -6,32 +6,53 @@
class HTMLPurifier_ConfigSchema_Interchange_Id
{
+ /**
+ * @type string
+ */
public $key;
- public function __construct($key) {
+ /**
+ * @param string $key
+ */
+ public function __construct($key)
+ {
$this->key = $key;
}
/**
+ * @return string
* @warning This is NOT magic, to ensure that people don't abuse SPL and
* cause problems for PHP 5.0 support.
*/
- public function toString() {
+ public function toString()
+ {
return $this->key;
}
- public function getRootNamespace() {
+ /**
+ * @return string
+ */
+ public function getRootNamespace()
+ {
return substr($this->key, 0, strpos($this->key, "."));
}
- public function getDirective() {
+ /**
+ * @return string
+ */
+ public function getDirective()
+ {
return substr($this->key, strpos($this->key, ".") + 1);
}
- public static function make($id) {
+ /**
+ * @param string $id
+ * @return HTMLPurifier_ConfigSchema_Interchange_Id
+ */
+ public static function make($id)
+ {
return new HTMLPurifier_ConfigSchema_Interchange_Id($id);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php b/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php
index 785b72ce8..655e6dd1b 100644
--- a/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php
+++ b/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php
@@ -5,21 +5,39 @@ class HTMLPurifier_ConfigSchema_InterchangeBuilder
/**
* Used for processing DEFAULT, nothing else.
+ * @type HTMLPurifier_VarParser
*/
protected $varParser;
- public function __construct($varParser = null) {
+ /**
+ * @param HTMLPurifier_VarParser $varParser
+ */
+ public function __construct($varParser = null)
+ {
$this->varParser = $varParser ? $varParser : new HTMLPurifier_VarParser_Native();
}
- public static function buildFromDirectory($dir = null) {
- $builder = new HTMLPurifier_ConfigSchema_InterchangeBuilder();
+ /**
+ * @param string $dir
+ * @return HTMLPurifier_ConfigSchema_Interchange
+ */
+ public static function buildFromDirectory($dir = null)
+ {
+ $builder = new HTMLPurifier_ConfigSchema_InterchangeBuilder();
$interchange = new HTMLPurifier_ConfigSchema_Interchange();
return $builder->buildDir($interchange, $dir);
}
- public function buildDir($interchange, $dir = null) {
- if (!$dir) $dir = HTMLPURIFIER_PREFIX . '/HTMLPurifier/ConfigSchema/schema';
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ * @param string $dir
+ * @return HTMLPurifier_ConfigSchema_Interchange
+ */
+ public function buildDir($interchange, $dir = null)
+ {
+ if (!$dir) {
+ $dir = HTMLPURIFIER_PREFIX . '/HTMLPurifier/ConfigSchema/schema';
+ }
if (file_exists($dir . '/info.ini')) {
$info = parse_ini_file($dir . '/info.ini');
$interchange->name = $info['name'];
@@ -39,24 +57,30 @@ class HTMLPurifier_ConfigSchema_InterchangeBuilder
foreach ($files as $file) {
$this->buildFile($interchange, $dir . '/' . $file);
}
-
return $interchange;
}
- public function buildFile($interchange, $file) {
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ * @param string $file
+ */
+ public function buildFile($interchange, $file)
+ {
$parser = new HTMLPurifier_StringHashParser();
$this->build(
$interchange,
- new HTMLPurifier_StringHash( $parser->parseFile($file) )
+ new HTMLPurifier_StringHash($parser->parseFile($file))
);
}
/**
* Builds an interchange object based on a hash.
- * @param $interchange HTMLPurifier_ConfigSchema_Interchange object to build
- * @param $hash HTMLPurifier_ConfigSchema_StringHash source data
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange HTMLPurifier_ConfigSchema_Interchange object to build
+ * @param HTMLPurifier_StringHash $hash source data
+ * @throws HTMLPurifier_ConfigSchema_Exception
*/
- public function build($interchange, $hash) {
+ public function build($interchange, $hash)
+ {
if (!$hash instanceof HTMLPurifier_StringHash) {
$hash = new HTMLPurifier_StringHash($hash);
}
@@ -75,7 +99,13 @@ class HTMLPurifier_ConfigSchema_InterchangeBuilder
$this->_findUnused($hash);
}
- public function buildDirective($interchange, $hash) {
+ /**
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ * @param HTMLPurifier_StringHash $hash
+ * @throws HTMLPurifier_ConfigSchema_Exception
+ */
+ public function buildDirective($interchange, $hash)
+ {
$directive = new HTMLPurifier_ConfigSchema_Interchange_Directive();
// These are required elements:
@@ -84,7 +114,9 @@ class HTMLPurifier_ConfigSchema_InterchangeBuilder
if (isset($hash['TYPE'])) {
$type = explode('/', $hash->offsetGet('TYPE'));
- if (isset($type[1])) $directive->typeAllowsNull = true;
+ if (isset($type[1])) {
+ $directive->typeAllowsNull = true;
+ }
$directive->type = $type[0];
} else {
throw new HTMLPurifier_ConfigSchema_Exception("TYPE in directive hash '$id' not defined");
@@ -92,7 +124,11 @@ class HTMLPurifier_ConfigSchema_InterchangeBuilder
if (isset($hash['DEFAULT'])) {
try {
- $directive->default = $this->varParser->parse($hash->offsetGet('DEFAULT'), $directive->type, $directive->typeAllowsNull);
+ $directive->default = $this->varParser->parse(
+ $hash->offsetGet('DEFAULT'),
+ $directive->type,
+ $directive->typeAllowsNull
+ );
} catch (HTMLPurifier_VarParserException $e) {
throw new HTMLPurifier_ConfigSchema_Exception($e->getMessage() . " in DEFAULT in directive hash '$id'");
}
@@ -139,34 +175,45 @@ class HTMLPurifier_ConfigSchema_InterchangeBuilder
/**
* Evaluates an array PHP code string without array() wrapper
+ * @param string $contents
*/
- protected function evalArray($contents) {
- return eval('return array('. $contents .');');
+ protected function evalArray($contents)
+ {
+ return eval('return array(' . $contents . ');');
}
/**
* Converts an array list into a lookup array.
+ * @param array $array
+ * @return array
*/
- protected function lookup($array) {
+ protected function lookup($array)
+ {
$ret = array();
- foreach ($array as $val) $ret[$val] = true;
+ foreach ($array as $val) {
+ $ret[$val] = true;
+ }
return $ret;
}
/**
* Convenience function that creates an HTMLPurifier_ConfigSchema_Interchange_Id
* object based on a string Id.
+ * @param string $id
+ * @return HTMLPurifier_ConfigSchema_Interchange_Id
*/
- protected function id($id) {
+ protected function id($id)
+ {
return HTMLPurifier_ConfigSchema_Interchange_Id::make($id);
}
/**
* Triggers errors for any unused keys passed in the hash; such keys
* may indicate typos, missing values, etc.
- * @param $hash Instance of ConfigSchema_StringHash to check.
+ * @param HTMLPurifier_StringHash $hash Hash to check.
*/
- protected function _findUnused($hash) {
+ protected function _findUnused($hash)
+ {
$accessed = $hash->getAccessed();
foreach ($hash as $k => $v) {
if (!isset($accessed[$k])) {
@@ -174,7 +221,6 @@ class HTMLPurifier_ConfigSchema_InterchangeBuilder
}
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/Validator.php b/library/HTMLPurifier/ConfigSchema/Validator.php
index f374f6a02..fb3127788 100644
--- a/library/HTMLPurifier/ConfigSchema/Validator.php
+++ b/library/HTMLPurifier/ConfigSchema/Validator.php
@@ -12,36 +12,48 @@ class HTMLPurifier_ConfigSchema_Validator
{
/**
- * Easy to access global objects.
+ * @type HTMLPurifier_ConfigSchema_Interchange
*/
- protected $interchange, $aliases;
+ protected $interchange;
+
+ /**
+ * @type array
+ */
+ protected $aliases;
/**
* Context-stack to provide easy to read error messages.
+ * @type array
*/
protected $context = array();
/**
- * HTMLPurifier_VarParser to test default's type.
+ * to test default's type.
+ * @type HTMLPurifier_VarParser
*/
protected $parser;
- public function __construct() {
+ public function __construct()
+ {
$this->parser = new HTMLPurifier_VarParser();
}
/**
- * Validates a fully-formed interchange object. Throws an
- * HTMLPurifier_ConfigSchema_Exception if there's a problem.
+ * Validates a fully-formed interchange object.
+ * @param HTMLPurifier_ConfigSchema_Interchange $interchange
+ * @return bool
*/
- public function validate($interchange) {
+ public function validate($interchange)
+ {
$this->interchange = $interchange;
$this->aliases = array();
// PHP is a bit lax with integer <=> string conversions in
// arrays, so we don't use the identical !== comparison
foreach ($interchange->directives as $i => $directive) {
$id = $directive->id->toString();
- if ($i != $id) $this->error(false, "Integrity violation: key '$i' does not match internal id '$id'");
+ if ($i != $id) {
+ $this->error(false, "Integrity violation: key '$i' does not match internal id '$id'");
+ }
$this->validateDirective($directive);
}
return true;
@@ -49,8 +61,10 @@ class HTMLPurifier_ConfigSchema_Validator
/**
* Validates a HTMLPurifier_ConfigSchema_Interchange_Id object.
+ * @param HTMLPurifier_ConfigSchema_Interchange_Id $id
*/
- public function validateId($id) {
+ public function validateId($id)
+ {
$id_string = $id->toString();
$this->context[] = "id '$id_string'";
if (!$id instanceof HTMLPurifier_ConfigSchema_Interchange_Id) {
@@ -67,8 +81,10 @@ class HTMLPurifier_ConfigSchema_Validator
/**
* Validates a HTMLPurifier_ConfigSchema_Interchange_Directive object.
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d
*/
- public function validateDirective($d) {
+ public function validateDirective($d)
+ {
$id = $d->id->toString();
$this->context[] = "directive '$id'";
$this->validateId($d->id);
@@ -108,9 +124,13 @@ class HTMLPurifier_ConfigSchema_Validator
/**
* Extra validation if $allowed member variable of
* HTMLPurifier_ConfigSchema_Interchange_Directive is defined.
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d
*/
- public function validateDirectiveAllowed($d) {
- if (is_null($d->allowed)) return;
+ public function validateDirectiveAllowed($d)
+ {
+ if (is_null($d->allowed)) {
+ return;
+ }
$this->with($d, 'allowed')
->assertNotEmpty()
->assertIsLookup(); // handled by InterchangeBuilder
@@ -119,7 +139,9 @@ class HTMLPurifier_ConfigSchema_Validator
}
$this->context[] = 'allowed';
foreach ($d->allowed as $val => $x) {
- if (!is_string($val)) $this->error("value $val", 'must be a string');
+ if (!is_string($val)) {
+ $this->error("value $val", 'must be a string');
+ }
}
array_pop($this->context);
}
@@ -127,15 +149,23 @@ class HTMLPurifier_ConfigSchema_Validator
/**
* Extra validation if $valueAliases member variable of
* HTMLPurifier_ConfigSchema_Interchange_Directive is defined.
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d
*/
- public function validateDirectiveValueAliases($d) {
- if (is_null($d->valueAliases)) return;
+ public function validateDirectiveValueAliases($d)
+ {
+ if (is_null($d->valueAliases)) {
+ return;
+ }
$this->with($d, 'valueAliases')
->assertIsArray(); // handled by InterchangeBuilder
$this->context[] = 'valueAliases';
foreach ($d->valueAliases as $alias => $real) {
- if (!is_string($alias)) $this->error("alias $alias", 'must be a string');
- if (!is_string($real)) $this->error("alias target $real from alias '$alias'", 'must be a string');
+ if (!is_string($alias)) {
+ $this->error("alias $alias", 'must be a string');
+ }
+ if (!is_string($real)) {
+ $this->error("alias target $real from alias '$alias'", 'must be a string');
+ }
if ($alias === $real) {
$this->error("alias '$alias'", "must not be an alias to itself");
}
@@ -155,8 +185,10 @@ class HTMLPurifier_ConfigSchema_Validator
/**
* Extra validation if $aliases member variable of
* HTMLPurifier_ConfigSchema_Interchange_Directive is defined.
+ * @param HTMLPurifier_ConfigSchema_Interchange_Directive $d
*/
- public function validateDirectiveAliases($d) {
+ public function validateDirectiveAliases($d)
+ {
$this->with($d, 'aliases')
->assertIsArray(); // handled by InterchangeBuilder
$this->context[] = 'aliases';
@@ -180,27 +212,37 @@ class HTMLPurifier_ConfigSchema_Validator
/**
* Convenience function for generating HTMLPurifier_ConfigSchema_ValidatorAtom
* for validating simple member variables of objects.
+ * @param $obj
+ * @param $member
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
*/
- protected function with($obj, $member) {
+ protected function with($obj, $member)
+ {
return new HTMLPurifier_ConfigSchema_ValidatorAtom($this->getFormattedContext(), $obj, $member);
}
/**
* Emits an error, providing helpful context.
+ * @throws HTMLPurifier_ConfigSchema_Exception
*/
- protected function error($target, $msg) {
- if ($target !== false) $prefix = ucfirst($target) . ' in ' . $this->getFormattedContext();
- else $prefix = ucfirst($this->getFormattedContext());
+ protected function error($target, $msg)
+ {
+ if ($target !== false) {
+ $prefix = ucfirst($target) . ' in ' . $this->getFormattedContext();
+ } else {
+ $prefix = ucfirst($this->getFormattedContext());
+ }
throw new HTMLPurifier_ConfigSchema_Exception(trim($prefix . ' ' . $msg));
}
/**
* Returns a formatted context string.
+ * @return string
*/
- protected function getFormattedContext() {
+ protected function getFormattedContext()
+ {
return implode(' in ', array_reverse($this->context));
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php b/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php
index b95aea18c..c9aa3644a 100644
--- a/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php
+++ b/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php
@@ -8,59 +8,123 @@
*/
class HTMLPurifier_ConfigSchema_ValidatorAtom
{
+ /**
+ * @type string
+ */
+ protected $context;
- protected $context, $obj, $member, $contents;
+ /**
+ * @type object
+ */
+ protected $obj;
- public function __construct($context, $obj, $member) {
- $this->context = $context;
- $this->obj = $obj;
- $this->member = $member;
- $this->contents =& $obj->$member;
+ /**
+ * @type string
+ */
+ protected $member;
+
+ /**
+ * @type mixed
+ */
+ protected $contents;
+
+ public function __construct($context, $obj, $member)
+ {
+ $this->context = $context;
+ $this->obj = $obj;
+ $this->member = $member;
+ $this->contents =& $obj->$member;
}
- public function assertIsString() {
- if (!is_string($this->contents)) $this->error('must be a string');
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertIsString()
+ {
+ if (!is_string($this->contents)) {
+ $this->error('must be a string');
+ }
return $this;
}
- public function assertIsBool() {
- if (!is_bool($this->contents)) $this->error('must be a boolean');
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertIsBool()
+ {
+ if (!is_bool($this->contents)) {
+ $this->error('must be a boolean');
+ }
return $this;
}
- public function assertIsArray() {
- if (!is_array($this->contents)) $this->error('must be an array');
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertIsArray()
+ {
+ if (!is_array($this->contents)) {
+ $this->error('must be an array');
+ }
return $this;
}
- public function assertNotNull() {
- if ($this->contents === null) $this->error('must not be null');
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertNotNull()
+ {
+ if ($this->contents === null) {
+ $this->error('must not be null');
+ }
return $this;
}
- public function assertAlnum() {
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertAlnum()
+ {
$this->assertIsString();
- if (!ctype_alnum($this->contents)) $this->error('must be alphanumeric');
+ if (!ctype_alnum($this->contents)) {
+ $this->error('must be alphanumeric');
+ }
return $this;
}
- public function assertNotEmpty() {
- if (empty($this->contents)) $this->error('must not be empty');
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertNotEmpty()
+ {
+ if (empty($this->contents)) {
+ $this->error('must not be empty');
+ }
return $this;
}
- public function assertIsLookup() {
+ /**
+ * @return HTMLPurifier_ConfigSchema_ValidatorAtom
+ */
+ public function assertIsLookup()
+ {
$this->assertIsArray();
foreach ($this->contents as $v) {
- if ($v !== true) $this->error('must be a lookup array');
+ if ($v !== true) {
+ $this->error('must be a lookup array');
+ }
}
return $this;
}
- protected function error($msg) {
+ /**
+ * @param string $msg
+ * @throws HTMLPurifier_ConfigSchema_Exception
+ */
+ protected function error($msg)
+ {
throw new HTMLPurifier_ConfigSchema_Exception(ucfirst($this->member) . ' in ' . $this->context . ' ' . $msg);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema.ser b/library/HTMLPurifier/ConfigSchema/schema.ser
index 22b8d54a5..22ea32185 100644
--- a/library/HTMLPurifier/ConfigSchema/schema.ser
+++ b/library/HTMLPurifier/ConfigSchema/schema.ser
Binary files differ
diff --git a/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt b/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt
new file mode 100644
index 000000000..3fd465406
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/CSS.AllowedFonts.txt
@@ -0,0 +1,12 @@
+CSS.AllowedFonts
+TYPE: lookup/null
+VERSION: 4.3.0
+DEFAULT: NULL
+--DESCRIPTION--
+<p>
+ Allows you to manually specify a set of allowed fonts. If
+ <code>NULL</code>, all fonts are allowed. This directive
+ affects generic names (serif, sans-serif, monospace, cursive,
+ fantasy) as well as specific font families.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt b/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt
new file mode 100644
index 000000000..f1f5c5f12
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/CSS.ForbiddenProperties.txt
@@ -0,0 +1,13 @@
+CSS.ForbiddenProperties
+TYPE: lookup
+VERSION: 4.2.0
+DEFAULT: array()
+--DESCRIPTION--
+<p>
+ This is the logical inverse of %CSS.AllowedProperties, and it will
+ override that directive or any other directive. If possible,
+ %CSS.AllowedProperties is recommended over this directive,
+ because it can sometimes be difficult to tell whether or not you've
+ forbidden all of the CSS properties you truly would like to disallow.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt b/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt
new file mode 100644
index 000000000..e733a61e8
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/CSS.Trusted.txt
@@ -0,0 +1,9 @@
+CSS.Trusted
+TYPE: bool
+VERSION: 4.2.1
+DEFAULT: false
+--DESCRIPTION--
+Indicates whether or not the user's CSS input is trusted or not. If the
+input is trusted, a more expansive set of allowed properties. See
+also %HTML.Trusted.
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt b/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt
new file mode 100644
index 000000000..b2b83d9ab
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/Cache.SerializerPermissions.txt
@@ -0,0 +1,11 @@
+Cache.SerializerPermissions
+TYPE: int
+VERSION: 4.3.0
+DEFAULT: 0755
+--DESCRIPTION--
+
+<p>
+ Directory permissions of the files and directories created inside
+ the DefinitionCache/Serializer or other custom serializer path.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt b/library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt
new file mode 100644
index 000000000..2c910cc7d
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/Core.AllowHostnameUnderscore.txt
@@ -0,0 +1,16 @@
+Core.AllowHostnameUnderscore
+TYPE: bool
+VERSION: 4.6.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ By RFC 1123, underscores are not permitted in host names.
+ (This is in contrast to the specification for DNS, RFC
+ 2181, which allows underscores.)
+ However, most browsers do the right thing when faced with
+ an underscore in the host name, and so some poorly written
+ websites are written with the expectation this should work.
+ Setting this parameter to true relaxes our allowed character
+ check so that underscores are permitted.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt b/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt
index 08b381d34..c572c14ec 100644
--- a/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt
+++ b/library/HTMLPurifier/ConfigSchema/schema/Core.ColorKeywords.txt
@@ -24,5 +24,6 @@ array (
--DESCRIPTION--
Lookup array of color names to six digit hexadecimal number corresponding
-to color, with preceding hash mark. Used when parsing colors.
+to color, with preceding hash mark. Used when parsing colors. The lookup
+is done in a case-insensitive manner.
--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt b/library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt
new file mode 100644
index 000000000..1cd4c2c96
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/Core.DisableExcludes.txt
@@ -0,0 +1,14 @@
+Core.DisableExcludes
+TYPE: bool
+DEFAULT: false
+VERSION: 4.5.0
+--DESCRIPTION--
+<p>
+ This directive disables SGML-style exclusions, e.g. the exclusion of
+ <code>&lt;object&gt;</code> in any descendant of a
+ <code>&lt;pre&gt;</code> tag. Disabling excludes will allow some
+ invalid documents to pass through HTML Purifier, but HTML Purifier
+ will also be less likely to accidentally remove large documents during
+ processing.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt b/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt
new file mode 100644
index 000000000..ce243c35d
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/Core.EnableIDNA.txt
@@ -0,0 +1,9 @@
+Core.EnableIDNA
+TYPE: bool
+DEFAULT: false
+VERSION: 4.4.0
+--DESCRIPTION--
+Allows international domain names in URLs. This configuration option
+requires the PEAR Net_IDNA2 module to be installed. It operates by
+punycoding any internationalized host names for maximum portability.
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt b/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt
index 4d5b5055c..a3881be75 100644
--- a/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt
+++ b/library/HTMLPurifier/ConfigSchema/schema/Core.EscapeInvalidChildren.txt
@@ -2,9 +2,11 @@ Core.EscapeInvalidChildren
TYPE: bool
DEFAULT: false
--DESCRIPTION--
-When true, a child is found that is not allowed in the context of the
+<p><strong>Warning:</strong> this configuration option is no longer does anything as of 4.6.0.</p>
+
+<p>When true, a child is found that is not allowed in the context of the
parent element will be transformed into text as if it were ASCII. When
false, that element and all internal tags will be dropped, though text will
be preserved. There is no option for dropping the element but preserving
-child nodes.
+child nodes.</p>
--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt b/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt
new file mode 100644
index 000000000..d77f5360d
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/Core.NormalizeNewlines.txt
@@ -0,0 +1,11 @@
+Core.NormalizeNewlines
+TYPE: bool
+VERSION: 4.2.0
+DEFAULT: true
+--DESCRIPTION--
+<p>
+ Whether or not to normalize newlines to the operating
+ system default. When <code>false</code>, HTML Purifier
+ will attempt to preserve mixed newline files.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt b/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt
new file mode 100644
index 000000000..3397d9f71
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/Core.RemoveProcessingInstructions.txt
@@ -0,0 +1,11 @@
+Core.RemoveProcessingInstructions
+TYPE: bool
+VERSION: 4.2.0
+DEFAULT: false
+--DESCRIPTION--
+Instead of escaping processing instructions in the form <code>&lt;? ...
+?&gt;</code>, remove it out-right. This may be useful if the HTML
+you are validating contains XML processing instruction gunk, however,
+it can also be user-unfriendly for people attempting to post PHP
+snippets.
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt b/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt
index 7fa6536b2..321eaa2d8 100644
--- a/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt
+++ b/library/HTMLPurifier/ConfigSchema/schema/Filter.YouTube.txt
@@ -4,6 +4,11 @@ VERSION: 3.1.0
DEFAULT: false
--DESCRIPTION--
<p>
+ <strong>Warning:</strong> Deprecated in favor of %HTML.SafeObject and
+ %Output.FlashCompat (turn both on to allow YouTube videos and other
+ Flash content).
+</p>
+<p>
This directive enables YouTube video embedding in HTML Purifier. Check
<a href="http://htmlpurifier.org/docs/enduser-youtube.html">this document
on embedding videos</a> for more information on what this filter does.
diff --git a/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt b/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt
index 3e231d2d1..0b2c106da 100644
--- a/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt
+++ b/library/HTMLPurifier/ConfigSchema/schema/HTML.Allowed.txt
@@ -5,11 +5,14 @@ DEFAULT: NULL
--DESCRIPTION--
<p>
- This is a convenience directive that rolls the functionality of
- %HTML.AllowedElements and %HTML.AllowedAttributes into one directive.
+ This is a preferred convenience directive that combines
+ %HTML.AllowedElements and %HTML.AllowedAttributes.
Specify elements and attributes that are allowed using:
- <code>element1[attr1|attr2],element2...</code>. You can also use
- newlines instead of commas to separate elements.
+ <code>element1[attr1|attr2],element2...</code>. For example,
+ if you would like to only allow paragraphs and links, specify
+ <code>a[href],p</code>. You can specify attributes that apply
+ to all elements using an asterisk, e.g. <code>*[lang]</code>.
+ You can also use newlines instead of commas to separate elements.
</p>
<p>
<strong>Warning</strong>:
diff --git a/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt b/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt
new file mode 100644
index 000000000..140e21423
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedComments.txt
@@ -0,0 +1,10 @@
+HTML.AllowedComments
+TYPE: lookup
+VERSION: 4.4.0
+DEFAULT: array()
+--DESCRIPTION--
+A whitelist which indicates what explicit comment bodies should be
+allowed, modulo leading and trailing whitespace. See also %HTML.AllowedCommentsRegexp
+(these directives are union'ed together, so a comment is considered
+valid if any directive deems it valid.)
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt b/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt
new file mode 100644
index 000000000..f22e977d4
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedCommentsRegexp.txt
@@ -0,0 +1,15 @@
+HTML.AllowedCommentsRegexp
+TYPE: string/null
+VERSION: 4.4.0
+DEFAULT: NULL
+--DESCRIPTION--
+A regexp, which if it matches the body of a comment, indicates that
+it should be allowed. Trailing and leading spaces are removed prior
+to running this regular expression.
+<strong>Warning:</strong> Make sure you specify
+correct anchor metacharacters <code>^regex$</code>, otherwise you may accept
+comments that you did not mean to! In particular, the regex <code>/foo|bar/</code>
+is probably not sufficiently strict, since it also allows <code>foobar</code>.
+See also %HTML.AllowedComments (these directives are union'ed together,
+so a comment is considered valid if any directive deems it valid.)
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt b/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt
index 888d55819..1d3fa7907 100644
--- a/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt
+++ b/library/HTMLPurifier/ConfigSchema/schema/HTML.AllowedElements.txt
@@ -4,12 +4,17 @@ VERSION: 1.3.0
DEFAULT: NULL
--DESCRIPTION--
<p>
- If HTML Purifier's tag set is unsatisfactory for your needs, you
- can overload it with your own list of tags to allow. Note that this
- method is subtractive: it does its job by taking away from HTML Purifier
- usual feature set, so you cannot add a tag that HTML Purifier never
- supported in the first place (like embed, form or head). If you
- change this, you probably also want to change %HTML.AllowedAttributes.
+ If HTML Purifier's tag set is unsatisfactory for your needs, you can
+ overload it with your own list of tags to allow. If you change
+ this, you probably also want to change %HTML.AllowedAttributes; see
+ also %HTML.Allowed which lets you set allowed elements and
+ attributes at the same time.
+</p>
+<p>
+ If you attempt to allow an element that HTML Purifier does not know
+ about, HTML Purifier will raise an error. You will need to manually
+ tell HTML Purifier about this element by using the
+ <a href="http://htmlpurifier.org/docs/enduser-customize.html">advanced customization features.</a>
</p>
<p>
<strong>Warning:</strong> If another directive conflicts with the
diff --git a/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt b/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt
new file mode 100644
index 000000000..7878dc0bf
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/HTML.FlashAllowFullScreen.txt
@@ -0,0 +1,11 @@
+HTML.FlashAllowFullScreen
+TYPE: bool
+VERSION: 4.2.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ Whether or not to permit embedded Flash content from
+ %HTML.SafeObject to expand to the full screen. Corresponds to
+ the <code>allowFullScreen</code> parameter.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt b/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt
new file mode 100644
index 000000000..700b30924
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/HTML.Nofollow.txt
@@ -0,0 +1,7 @@
+HTML.Nofollow
+TYPE: bool
+VERSION: 4.3.0
+DEFAULT: FALSE
+--DESCRIPTION--
+If enabled, nofollow rel attributes are added to all outgoing links.
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt b/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt
new file mode 100644
index 000000000..5eb6ec2b5
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeIframe.txt
@@ -0,0 +1,13 @@
+HTML.SafeIframe
+TYPE: bool
+VERSION: 4.4.0
+DEFAULT: false
+--DESCRIPTION--
+<p>
+ Whether or not to permit iframe tags in untrusted documents. This
+ directive must be accompanied by a whitelist of permitted iframes,
+ such as %URI.SafeIframeRegexp, otherwise it will fatally error.
+ This directive has no effect on strict doctypes, as iframes are not
+ valid.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt b/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt
new file mode 100644
index 000000000..5ebc7a19d
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/HTML.SafeScripting.txt
@@ -0,0 +1,10 @@
+HTML.SafeScripting
+TYPE: lookup
+VERSION: 4.5.0
+DEFAULT: array()
+--DESCRIPTION--
+<p>
+ Whether or not to permit script tags to external scripts in documents.
+ Inline scripting is not allowed, and the script must match an explicit whitelist.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt b/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt
new file mode 100644
index 000000000..587a16778
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/HTML.TargetBlank.txt
@@ -0,0 +1,8 @@
+HTML.TargetBlank
+TYPE: bool
+VERSION: 4.4.0
+DEFAULT: FALSE
+--DESCRIPTION--
+If enabled, <code>target=blank</code> attributes are added to all outgoing links.
+(This includes links from an HTTPS version of a page to an HTTP version.)
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt b/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt
index 89133b1a3..1db9237e9 100644
--- a/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt
+++ b/library/HTMLPurifier/ConfigSchema/schema/HTML.Trusted.txt
@@ -5,4 +5,5 @@ DEFAULT: false
--DESCRIPTION--
Indicates whether or not the user input is trusted or not. If the input is
trusted, a more expansive set of allowed tags and attributes will be used.
+See also %CSS.Trusted.
--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt b/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt
new file mode 100644
index 000000000..d6f0d9f29
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/Output.FixInnerHTML.txt
@@ -0,0 +1,15 @@
+Output.FixInnerHTML
+TYPE: bool
+VERSION: 4.3.0
+DEFAULT: true
+--DESCRIPTION--
+<p>
+ If true, HTML Purifier will protect against Internet Explorer's
+ mishandling of the <code>innerHTML</code> attribute by appending
+ a space to any attribute that does not contain angled brackets, spaces
+ or quotes, but contains a backtick. This slightly changes the
+ semantics of any given attribute, so if this is unacceptable and
+ you do not use <code>innerHTML</code> on any of your pages, you can
+ turn this directive off.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt b/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt
index ae3a913f2..666635a5f 100644
--- a/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt
+++ b/library/HTMLPurifier/ConfigSchema/schema/URI.AllowedSchemes.txt
@@ -12,6 +12,6 @@ array (
--DESCRIPTION--
Whitelist that defines the schemes that a URI is allowed to have. This
prevents XSS attacks from using pseudo-schemes like javascript or mocha.
-There is also support for the <code>data</code> URI scheme, but it is not
-enabled by default.
+There is also support for the <code>data</code> and <code>file</code>
+URI schemes, but they are not enabled by default.
--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt b/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt
index 51e6ea91f..f891de499 100644
--- a/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt
+++ b/library/HTMLPurifier/ConfigSchema/schema/URI.DisableResources.txt
@@ -1,12 +1,15 @@
URI.DisableResources
TYPE: bool
-VERSION: 1.3.0
+VERSION: 4.2.0
DEFAULT: false
--DESCRIPTION--
-
<p>
Disables embedding resources, essentially meaning no pictures. You can
still link to them though. See %URI.DisableExternalResources for why
this might be a good idea.
</p>
+<p>
+ <em>Note:</em> While this directive has been available since 1.3.0,
+ it didn't actually start doing anything until 4.2.0.
+</p>
--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt b/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt
index 0d00f62ea..1e17c1d46 100644
--- a/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt
+++ b/library/HTMLPurifier/ConfigSchema/schema/URI.MungeSecretKey.txt
@@ -11,7 +11,7 @@ DEFAULT: NULL
to check if a URI has passed through HTML Purifier with this line:
</p>
-<pre>$checksum === sha1($secret_key . ':' . $url)</pre>
+<pre>$checksum === hash_hmac("sha256", $url, $secret_key)</pre>
<p>
If the output is TRUE, the redirector script should accept the URI.
diff --git a/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt b/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt
new file mode 100644
index 000000000..79084832b
--- /dev/null
+++ b/library/HTMLPurifier/ConfigSchema/schema/URI.SafeIframeRegexp.txt
@@ -0,0 +1,22 @@
+URI.SafeIframeRegexp
+TYPE: string/null
+VERSION: 4.4.0
+DEFAULT: NULL
+--DESCRIPTION--
+<p>
+ A PCRE regular expression that will be matched against an iframe URI. This is
+ a relatively inflexible scheme, but works well enough for the most common
+ use-case of iframes: embedded video. This directive only has an effect if
+ %HTML.SafeIframe is enabled. Here are some example values:
+</p>
+<ul>
+ <li><code>%^http://www.youtube.com/embed/%</code> - Allow YouTube videos</li>
+ <li><code>%^http://player.vimeo.com/video/%</code> - Allow Vimeo videos</li>
+ <li><code>%^http://(www.youtube.com/embed/|player.vimeo.com/video/)%</code> - Allow both</li>
+</ul>
+<p>
+ Note that this directive does not give you enough granularity to, say, disable
+ all <code>autoplay</code> videos. Pipe up on the HTML Purifier forums if this
+ is a capability you want.
+</p>
+--# vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ContentSets.php b/library/HTMLPurifier/ContentSets.php
index 3b6e96f5f..543e3f8f1 100644
--- a/library/HTMLPurifier/ContentSets.php
+++ b/library/HTMLPurifier/ContentSets.php
@@ -7,35 +7,42 @@ class HTMLPurifier_ContentSets
{
/**
- * List of content set strings (pipe seperators) indexed by name.
+ * List of content set strings (pipe separators) indexed by name.
+ * @type array
*/
public $info = array();
/**
* List of content set lookups (element => true) indexed by name.
+ * @type array
* @note This is in HTMLPurifier_HTMLDefinition->info_content_sets
*/
public $lookup = array();
/**
- * Synchronized list of defined content sets (keys of info)
+ * Synchronized list of defined content sets (keys of info).
+ * @type array
*/
protected $keys = array();
/**
- * Synchronized list of defined content values (values of info)
+ * Synchronized list of defined content values (values of info).
+ * @type array
*/
protected $values = array();
/**
* Merges in module's content sets, expands identifiers in the content
* sets and populates the keys, values and lookup member variables.
- * @param $modules List of HTMLPurifier_HTMLModule
+ * @param HTMLPurifier_HTMLModule[] $modules List of HTMLPurifier_HTMLModule
*/
- public function __construct($modules) {
- if (!is_array($modules)) $modules = array($modules);
+ public function __construct($modules)
+ {
+ if (!is_array($modules)) {
+ $modules = array($modules);
+ }
// populate content_sets based on module hints
// sorry, no way of overloading
- foreach ($modules as $module_i => $module) {
+ foreach ($modules as $module) {
foreach ($module->content_sets as $key => $value) {
$temp = $this->convertToLookup($value);
if (isset($this->lookup[$key])) {
@@ -70,11 +77,14 @@ class HTMLPurifier_ContentSets
/**
* Accepts a definition; generates and assigns a ChildDef for it
- * @param $def HTMLPurifier_ElementDef reference
- * @param $module Module that defined the ElementDef
+ * @param HTMLPurifier_ElementDef $def HTMLPurifier_ElementDef reference
+ * @param HTMLPurifier_HTMLModule $module Module that defined the ElementDef
*/
- public function generateChildDef(&$def, $module) {
- if (!empty($def->child)) return; // already done!
+ public function generateChildDef(&$def, $module)
+ {
+ if (!empty($def->child)) { // already done!
+ return;
+ }
$content_model = $def->content_model;
if (is_string($content_model)) {
// Assume that $this->keys is alphanumeric
@@ -89,7 +99,8 @@ class HTMLPurifier_ContentSets
$def->child = $this->getChildDef($def, $module);
}
- public function generateChildDefCallback($matches) {
+ public function generateChildDefCallback($matches)
+ {
return $this->info[$matches[0]];
}
@@ -98,10 +109,12 @@ class HTMLPurifier_ContentSets
* member variables in HTMLPurifier_ElementDef
* @note This will also defer to modules for custom HTMLPurifier_ChildDef
* subclasses that need content set expansion
- * @param $def HTMLPurifier_ElementDef to have ChildDef extracted
+ * @param HTMLPurifier_ElementDef $def HTMLPurifier_ElementDef to have ChildDef extracted
+ * @param HTMLPurifier_HTMLModule $module Module that defined the ElementDef
* @return HTMLPurifier_ChildDef corresponding to ElementDef
*/
- public function getChildDef($def, $module) {
+ public function getChildDef($def, $module)
+ {
$value = $def->content_model;
if (is_object($value)) {
trigger_error(
@@ -126,7 +139,9 @@ class HTMLPurifier_ContentSets
if ($module->defines_child_def) { // save a func call
$return = $module->getChildDef($def);
}
- if ($return !== false) return $return;
+ if ($return !== false) {
+ return $return;
+ }
// error-out
trigger_error(
'Could not determine which ChildDef class to instantiate',
@@ -138,18 +153,18 @@ class HTMLPurifier_ContentSets
/**
* Converts a string list of elements separated by pipes into
* a lookup array.
- * @param $string List of elements
- * @return Lookup array of elements
+ * @param string $string List of elements
+ * @return array Lookup array of elements
*/
- protected function convertToLookup($string) {
+ protected function convertToLookup($string)
+ {
$array = explode('|', str_replace(' ', '', $string));
$ret = array();
- foreach ($array as $i => $k) {
+ foreach ($array as $k) {
$ret[$k] = true;
}
return $ret;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Context.php b/library/HTMLPurifier/Context.php
index 9ddf0c547..00e509c85 100644
--- a/library/HTMLPurifier/Context.php
+++ b/library/HTMLPurifier/Context.php
@@ -12,18 +12,22 @@ class HTMLPurifier_Context
/**
* Private array that stores the references.
+ * @type array
*/
private $_storage = array();
/**
* Registers a variable into the context.
- * @param $name String name
- * @param $ref Reference to variable to be registered
+ * @param string $name String name
+ * @param mixed $ref Reference to variable to be registered
*/
- public function register($name, &$ref) {
- if (isset($this->_storage[$name])) {
- trigger_error("Name $name produces collision, cannot re-register",
- E_USER_ERROR);
+ public function register($name, &$ref)
+ {
+ if (array_key_exists($name, $this->_storage)) {
+ trigger_error(
+ "Name $name produces collision, cannot re-register",
+ E_USER_ERROR
+ );
return;
}
$this->_storage[$name] =& $ref;
@@ -31,14 +35,18 @@ class HTMLPurifier_Context
/**
* Retrieves a variable reference from the context.
- * @param $name String name
- * @param $ignore_error Boolean whether or not to ignore error
+ * @param string $name String name
+ * @param bool $ignore_error Boolean whether or not to ignore error
+ * @return mixed
*/
- public function &get($name, $ignore_error = false) {
- if (!isset($this->_storage[$name])) {
+ public function &get($name, $ignore_error = false)
+ {
+ if (!array_key_exists($name, $this->_storage)) {
if (!$ignore_error) {
- trigger_error("Attempted to retrieve non-existent variable $name",
- E_USER_ERROR);
+ trigger_error(
+ "Attempted to retrieve non-existent variable $name",
+ E_USER_ERROR
+ );
}
$var = null; // so we can return by reference
return $var;
@@ -47,13 +55,16 @@ class HTMLPurifier_Context
}
/**
- * Destorys a variable in the context.
- * @param $name String name
+ * Destroys a variable in the context.
+ * @param string $name String name
*/
- public function destroy($name) {
- if (!isset($this->_storage[$name])) {
- trigger_error("Attempted to destroy non-existent variable $name",
- E_USER_ERROR);
+ public function destroy($name)
+ {
+ if (!array_key_exists($name, $this->_storage)) {
+ trigger_error(
+ "Attempted to destroy non-existent variable $name",
+ E_USER_ERROR
+ );
return;
}
unset($this->_storage[$name]);
@@ -61,22 +72,24 @@ class HTMLPurifier_Context
/**
* Checks whether or not the variable exists.
- * @param $name String name
+ * @param string $name String name
+ * @return bool
*/
- public function exists($name) {
- return isset($this->_storage[$name]);
+ public function exists($name)
+ {
+ return array_key_exists($name, $this->_storage);
}
/**
* Loads a series of variables from an associative array
- * @param $context_array Assoc array of variables to load
+ * @param array $context_array Assoc array of variables to load
*/
- public function loadArray($context_array) {
+ public function loadArray($context_array)
+ {
foreach ($context_array as $key => $discard) {
$this->register($key, $context_array[$key]);
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Definition.php b/library/HTMLPurifier/Definition.php
index a7408c974..bc6d43364 100644
--- a/library/HTMLPurifier/Definition.php
+++ b/library/HTMLPurifier/Definition.php
@@ -9,31 +9,47 @@ abstract class HTMLPurifier_Definition
/**
* Has setup() been called yet?
+ * @type bool
*/
public $setup = false;
/**
+ * If true, write out the final definition object to the cache after
+ * setup. This will be true only if all invocations to get a raw
+ * definition object are also optimized. This does not cause file
+ * system thrashing because on subsequent calls the cached object
+ * is used and any writes to the raw definition object are short
+ * circuited. See enduser-customize.html for the high-level
+ * picture.
+ * @type bool
+ */
+ public $optimized = null;
+
+ /**
* What type of definition is it?
+ * @type string
*/
public $type;
/**
* Sets up the definition object into the final form, something
* not done by the constructor
- * @param $config HTMLPurifier_Config instance
+ * @param HTMLPurifier_Config $config
*/
abstract protected function doSetup($config);
/**
* Setup function that aborts if already setup
- * @param $config HTMLPurifier_Config instance
+ * @param HTMLPurifier_Config $config
*/
- public function setup($config) {
- if ($this->setup) return;
+ public function setup($config)
+ {
+ if ($this->setup) {
+ return;
+ }
$this->setup = true;
$this->doSetup($config);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/DefinitionCache.php b/library/HTMLPurifier/DefinitionCache.php
index c6e1e388c..67bb5b1e6 100644
--- a/library/HTMLPurifier/DefinitionCache.php
+++ b/library/HTMLPurifier/DefinitionCache.php
@@ -10,22 +10,27 @@
*/
abstract class HTMLPurifier_DefinitionCache
{
-
+ /**
+ * @type string
+ */
public $type;
/**
- * @param $name Type of definition objects this instance of the
+ * @param string $type Type of definition objects this instance of the
* cache will handle.
*/
- public function __construct($type) {
+ public function __construct($type)
+ {
$this->type = $type;
}
/**
* Generates a unique identifier for a particular configuration
- * @param Instance of HTMLPurifier_Config
+ * @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config
+ * @return string
*/
- public function generateKey($config) {
+ public function generateKey($config)
+ {
return $config->version . ',' . // possibly replace with function calls
$config->getBatchSerial($this->type) . ',' .
$config->get($this->type . '.DefinitionRev');
@@ -34,30 +39,37 @@ abstract class HTMLPurifier_DefinitionCache
/**
* Tests whether or not a key is old with respect to the configuration's
* version and revision number.
- * @param $key Key to test
- * @param $config Instance of HTMLPurifier_Config to test against
+ * @param string $key Key to test
+ * @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config to test against
+ * @return bool
*/
- public function isOld($key, $config) {
- if (substr_count($key, ',') < 2) return true;
+ public function isOld($key, $config)
+ {
+ if (substr_count($key, ',') < 2) {
+ return true;
+ }
list($version, $hash, $revision) = explode(',', $key, 3);
$compare = version_compare($version, $config->version);
// version mismatch, is always old
- if ($compare != 0) return true;
+ if ($compare != 0) {
+ return true;
+ }
// versions match, ids match, check revision number
- if (
- $hash == $config->getBatchSerial($this->type) &&
- $revision < $config->get($this->type . '.DefinitionRev')
- ) return true;
+ if ($hash == $config->getBatchSerial($this->type) &&
+ $revision < $config->get($this->type . '.DefinitionRev')) {
+ return true;
+ }
return false;
}
/**
* Checks if a definition's type jives with the cache's type
* @note Throws an error on failure
- * @param $def Definition object to check
- * @return Boolean true if good, false if not
+ * @param HTMLPurifier_Definition $def Definition object to check
+ * @return bool true if good, false if not
*/
- public function checkDefType($def) {
+ public function checkDefType($def)
+ {
if ($def->type !== $this->type) {
trigger_error("Cannot use definition of type {$def->type} in cache for {$this->type}");
return false;
@@ -67,31 +79,40 @@ abstract class HTMLPurifier_DefinitionCache
/**
* Adds a definition object to the cache
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
*/
abstract public function add($def, $config);
/**
* Unconditionally saves a definition object to the cache
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
*/
abstract public function set($def, $config);
/**
* Replace an object in the cache
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
*/
abstract public function replace($def, $config);
/**
* Retrieves a definition object from the cache
+ * @param HTMLPurifier_Config $config
*/
abstract public function get($config);
/**
* Removes a definition object to the cache
+ * @param HTMLPurifier_Config $config
*/
abstract public function remove($config);
/**
* Clears all objects from cache
+ * @param HTMLPurifier_Config $config
*/
abstract public function flush($config);
@@ -100,9 +121,9 @@ abstract class HTMLPurifier_DefinitionCache
* @note Be carefuly implementing this method as flush. Flush must
* not interfere with other Definition types, and cleanup()
* should not be repeatedly called by userland code.
+ * @param HTMLPurifier_Config $config
*/
abstract public function cleanup($config);
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/DefinitionCache/Decorator.php b/library/HTMLPurifier/DefinitionCache/Decorator.php
index b0fb6d0cd..b57a51b6c 100644
--- a/library/HTMLPurifier/DefinitionCache/Decorator.php
+++ b/library/HTMLPurifier/DefinitionCache/Decorator.php
@@ -5,58 +5,108 @@ class HTMLPurifier_DefinitionCache_Decorator extends HTMLPurifier_DefinitionCach
/**
* Cache object we are decorating
+ * @type HTMLPurifier_DefinitionCache
*/
public $cache;
- public function __construct() {}
+ /**
+ * The name of the decorator
+ * @var string
+ */
+ public $name;
+
+ public function __construct()
+ {
+ }
/**
* Lazy decorator function
- * @param $cache Reference to cache object to decorate
+ * @param HTMLPurifier_DefinitionCache $cache Reference to cache object to decorate
+ * @return HTMLPurifier_DefinitionCache_Decorator
*/
- public function decorate(&$cache) {
+ public function decorate(&$cache)
+ {
$decorator = $this->copy();
// reference is necessary for mocks in PHP 4
$decorator->cache =& $cache;
- $decorator->type = $cache->type;
+ $decorator->type = $cache->type;
return $decorator;
}
/**
* Cross-compatible clone substitute
+ * @return HTMLPurifier_DefinitionCache_Decorator
*/
- public function copy() {
+ public function copy()
+ {
return new HTMLPurifier_DefinitionCache_Decorator();
}
- public function add($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function add($def, $config)
+ {
return $this->cache->add($def, $config);
}
- public function set($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function set($def, $config)
+ {
return $this->cache->set($def, $config);
}
- public function replace($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function replace($def, $config)
+ {
return $this->cache->replace($def, $config);
}
- public function get($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function get($config)
+ {
return $this->cache->get($config);
}
- public function remove($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function remove($config)
+ {
return $this->cache->remove($config);
}
- public function flush($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function flush($config)
+ {
return $this->cache->flush($config);
}
- public function cleanup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function cleanup($config)
+ {
return $this->cache->cleanup($config);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php b/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php
index d4cc35c4b..4991777ce 100644
--- a/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php
+++ b/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php
@@ -4,40 +4,75 @@
* Definition cache decorator class that cleans up the cache
* whenever there is a cache miss.
*/
-class HTMLPurifier_DefinitionCache_Decorator_Cleanup extends
- HTMLPurifier_DefinitionCache_Decorator
+class HTMLPurifier_DefinitionCache_Decorator_Cleanup extends HTMLPurifier_DefinitionCache_Decorator
{
-
+ /**
+ * @type string
+ */
public $name = 'Cleanup';
- public function copy() {
+ /**
+ * @return HTMLPurifier_DefinitionCache_Decorator_Cleanup
+ */
+ public function copy()
+ {
return new HTMLPurifier_DefinitionCache_Decorator_Cleanup();
}
- public function add($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function add($def, $config)
+ {
$status = parent::add($def, $config);
- if (!$status) parent::cleanup($config);
+ if (!$status) {
+ parent::cleanup($config);
+ }
return $status;
}
- public function set($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function set($def, $config)
+ {
$status = parent::set($def, $config);
- if (!$status) parent::cleanup($config);
+ if (!$status) {
+ parent::cleanup($config);
+ }
return $status;
}
- public function replace($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function replace($def, $config)
+ {
$status = parent::replace($def, $config);
- if (!$status) parent::cleanup($config);
+ if (!$status) {
+ parent::cleanup($config);
+ }
return $status;
}
- public function get($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function get($config)
+ {
$ret = parent::get($config);
- if (!$ret) parent::cleanup($config);
+ if (!$ret) {
+ parent::cleanup($config);
+ }
return $ret;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php b/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php
index 18f16d32b..d529dce48 100644
--- a/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php
+++ b/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php
@@ -5,42 +5,81 @@
* to PHP's memory; good for unit tests or circumstances where
* there are lots of configuration objects floating around.
*/
-class HTMLPurifier_DefinitionCache_Decorator_Memory extends
- HTMLPurifier_DefinitionCache_Decorator
+class HTMLPurifier_DefinitionCache_Decorator_Memory extends HTMLPurifier_DefinitionCache_Decorator
{
-
+ /**
+ * @type array
+ */
protected $definitions;
+
+ /**
+ * @type string
+ */
public $name = 'Memory';
- public function copy() {
+ /**
+ * @return HTMLPurifier_DefinitionCache_Decorator_Memory
+ */
+ public function copy()
+ {
return new HTMLPurifier_DefinitionCache_Decorator_Memory();
}
- public function add($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function add($def, $config)
+ {
$status = parent::add($def, $config);
- if ($status) $this->definitions[$this->generateKey($config)] = $def;
+ if ($status) {
+ $this->definitions[$this->generateKey($config)] = $def;
+ }
return $status;
}
- public function set($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function set($def, $config)
+ {
$status = parent::set($def, $config);
- if ($status) $this->definitions[$this->generateKey($config)] = $def;
+ if ($status) {
+ $this->definitions[$this->generateKey($config)] = $def;
+ }
return $status;
}
- public function replace($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function replace($def, $config)
+ {
$status = parent::replace($def, $config);
- if ($status) $this->definitions[$this->generateKey($config)] = $def;
+ if ($status) {
+ $this->definitions[$this->generateKey($config)] = $def;
+ }
return $status;
}
- public function get($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function get($config)
+ {
$key = $this->generateKey($config);
- if (isset($this->definitions[$key])) return $this->definitions[$key];
+ if (isset($this->definitions[$key])) {
+ return $this->definitions[$key];
+ }
$this->definitions[$key] = parent::get($config);
return $this->definitions[$key];
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in b/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in
index 21a8fcfda..b1fec8d36 100644
--- a/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in
+++ b/library/HTMLPurifier/DefinitionCache/Decorator/Template.php.in
@@ -5,43 +5,78 @@ require_once 'HTMLPurifier/DefinitionCache/Decorator.php';
/**
* Definition cache decorator template.
*/
-class HTMLPurifier_DefinitionCache_Decorator_Template extends
- HTMLPurifier_DefinitionCache_Decorator
+class HTMLPurifier_DefinitionCache_Decorator_Template extends HTMLPurifier_DefinitionCache_Decorator
{
- var $name = 'Template'; // replace this
+ /**
+ * @type string
+ */
+ public $name = 'Template'; // replace this
- function copy() {
+ public function copy()
+ {
// replace class name with yours
return new HTMLPurifier_DefinitionCache_Decorator_Template();
}
// remove methods you don't need
- function add($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function add($def, $config)
+ {
return parent::add($def, $config);
}
- function set($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function set($def, $config)
+ {
return parent::set($def, $config);
}
- function replace($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function replace($def, $config)
+ {
return parent::replace($def, $config);
}
- function get($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function get($config)
+ {
return parent::get($config);
}
- function flush() {
- return parent::flush();
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function flush($config)
+ {
+ return parent::flush($config);
}
- function cleanup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return mixed
+ */
+ public function cleanup($config)
+ {
return parent::cleanup($config);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/DefinitionCache/Null.php b/library/HTMLPurifier/DefinitionCache/Null.php
index 41d97e734..d9a75ce22 100644
--- a/library/HTMLPurifier/DefinitionCache/Null.php
+++ b/library/HTMLPurifier/DefinitionCache/Null.php
@@ -6,34 +6,71 @@
class HTMLPurifier_DefinitionCache_Null extends HTMLPurifier_DefinitionCache
{
- public function add($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function add($def, $config)
+ {
return false;
}
- public function set($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function set($def, $config)
+ {
return false;
}
- public function replace($def, $config) {
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function replace($def, $config)
+ {
return false;
}
- public function remove($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function remove($config)
+ {
return false;
}
- public function get($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function get($config)
+ {
return false;
}
- public function flush($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function flush($config)
+ {
return false;
}
- public function cleanup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function cleanup($config)
+ {
return false;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/DefinitionCache/Serializer.php b/library/HTMLPurifier/DefinitionCache/Serializer.php
index 7a6aa93f0..ecacb88fe 100644
--- a/library/HTMLPurifier/DefinitionCache/Serializer.php
+++ b/library/HTMLPurifier/DefinitionCache/Serializer.php
@@ -1,83 +1,160 @@
<?php
-class HTMLPurifier_DefinitionCache_Serializer extends
- HTMLPurifier_DefinitionCache
+class HTMLPurifier_DefinitionCache_Serializer extends HTMLPurifier_DefinitionCache
{
- public function add($def, $config) {
- if (!$this->checkDefType($def)) return;
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return int|bool
+ */
+ public function add($def, $config)
+ {
+ if (!$this->checkDefType($def)) {
+ return;
+ }
$file = $this->generateFilePath($config);
- if (file_exists($file)) return false;
- if (!$this->_prepareDir($config)) return false;
- return $this->_write($file, serialize($def));
+ if (file_exists($file)) {
+ return false;
+ }
+ if (!$this->_prepareDir($config)) {
+ return false;
+ }
+ return $this->_write($file, serialize($def), $config);
}
- public function set($def, $config) {
- if (!$this->checkDefType($def)) return;
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return int|bool
+ */
+ public function set($def, $config)
+ {
+ if (!$this->checkDefType($def)) {
+ return;
+ }
$file = $this->generateFilePath($config);
- if (!$this->_prepareDir($config)) return false;
- return $this->_write($file, serialize($def));
+ if (!$this->_prepareDir($config)) {
+ return false;
+ }
+ return $this->_write($file, serialize($def), $config);
}
- public function replace($def, $config) {
- if (!$this->checkDefType($def)) return;
+ /**
+ * @param HTMLPurifier_Definition $def
+ * @param HTMLPurifier_Config $config
+ * @return int|bool
+ */
+ public function replace($def, $config)
+ {
+ if (!$this->checkDefType($def)) {
+ return;
+ }
$file = $this->generateFilePath($config);
- if (!file_exists($file)) return false;
- if (!$this->_prepareDir($config)) return false;
- return $this->_write($file, serialize($def));
+ if (!file_exists($file)) {
+ return false;
+ }
+ if (!$this->_prepareDir($config)) {
+ return false;
+ }
+ return $this->_write($file, serialize($def), $config);
}
- public function get($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool|HTMLPurifier_Config
+ */
+ public function get($config)
+ {
$file = $this->generateFilePath($config);
- if (!file_exists($file)) return false;
+ if (!file_exists($file)) {
+ return false;
+ }
return unserialize(file_get_contents($file));
}
- public function remove($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function remove($config)
+ {
$file = $this->generateFilePath($config);
- if (!file_exists($file)) return false;
+ if (!file_exists($file)) {
+ return false;
+ }
return unlink($file);
}
- public function flush($config) {
- if (!$this->_prepareDir($config)) return false;
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function flush($config)
+ {
+ if (!$this->_prepareDir($config)) {
+ return false;
+ }
$dir = $this->generateDirectoryPath($config);
- $dh = opendir($dir);
+ $dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
- if (empty($filename)) continue;
- if ($filename[0] === '.') continue;
+ if (empty($filename)) {
+ continue;
+ }
+ if ($filename[0] === '.') {
+ continue;
+ }
unlink($dir . '/' . $filename);
}
}
- public function cleanup($config) {
- if (!$this->_prepareDir($config)) return false;
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function cleanup($config)
+ {
+ if (!$this->_prepareDir($config)) {
+ return false;
+ }
$dir = $this->generateDirectoryPath($config);
- $dh = opendir($dir);
+ $dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
- if (empty($filename)) continue;
- if ($filename[0] === '.') continue;
+ if (empty($filename)) {
+ continue;
+ }
+ if ($filename[0] === '.') {
+ continue;
+ }
$key = substr($filename, 0, strlen($filename) - 4);
- if ($this->isOld($key, $config)) unlink($dir . '/' . $filename);
+ if ($this->isOld($key, $config)) {
+ unlink($dir . '/' . $filename);
+ }
}
}
/**
* Generates the file path to the serial file corresponding to
* the configuration and definition name
+ * @param HTMLPurifier_Config $config
+ * @return string
* @todo Make protected
*/
- public function generateFilePath($config) {
+ public function generateFilePath($config)
+ {
$key = $this->generateKey($config);
return $this->generateDirectoryPath($config) . '/' . $key . '.ser';
}
/**
* Generates the path to the directory contain this cache's serial files
+ * @param HTMLPurifier_Config $config
+ * @return string
* @note No trailing slash
* @todo Make protected
*/
- public function generateDirectoryPath($config) {
+ public function generateDirectoryPath($config)
+ {
$base = $this->generateBaseDirectoryPath($config);
return $base . '/' . $this->type;
}
@@ -85,9 +162,12 @@ class HTMLPurifier_DefinitionCache_Serializer extends
/**
* Generates path to base directory that contains all definition type
* serials
+ * @param HTMLPurifier_Config $config
+ * @return mixed|string
* @todo Make protected
*/
- public function generateBaseDirectoryPath($config) {
+ public function generateBaseDirectoryPath($config)
+ {
$base = $config->get('Cache.SerializerPath');
$base = is_null($base) ? HTMLPURIFIER_PREFIX . '/HTMLPurifier/DefinitionCache/Serializer' : $base;
return $base;
@@ -95,34 +175,54 @@ class HTMLPurifier_DefinitionCache_Serializer extends
/**
* Convenience wrapper function for file_put_contents
- * @param $file File name to write to
- * @param $data Data to write into file
- * @return Number of bytes written if success, or false if failure.
+ * @param string $file File name to write to
+ * @param string $data Data to write into file
+ * @param HTMLPurifier_Config $config
+ * @return int|bool Number of bytes written if success, or false if failure.
*/
- private function _write($file, $data) {
- return file_put_contents($file, $data);
+ private function _write($file, $data, $config)
+ {
+ $result = file_put_contents($file, $data);
+ if ($result !== false) {
+ // set permissions of the new file (no execute)
+ $chmod = $config->get('Cache.SerializerPermissions');
+ if (!$chmod) {
+ $chmod = 0644; // invalid config or simpletest
+ }
+ $chmod = $chmod & 0666;
+ chmod($file, $chmod);
+ }
+ return $result;
}
/**
* Prepares the directory that this type stores the serials in
- * @return True if successful
+ * @param HTMLPurifier_Config $config
+ * @return bool True if successful
*/
- private function _prepareDir($config) {
+ private function _prepareDir($config)
+ {
$directory = $this->generateDirectoryPath($config);
+ $chmod = $config->get('Cache.SerializerPermissions');
+ if (!$chmod) {
+ $chmod = 0755; // invalid config or simpletest
+ }
if (!is_dir($directory)) {
$base = $this->generateBaseDirectoryPath($config);
if (!is_dir($base)) {
- trigger_error('Base directory '.$base.' does not exist,
+ trigger_error(
+ 'Base directory ' . $base . ' does not exist,
please create or change using %Cache.SerializerPath',
- E_USER_WARNING);
+ E_USER_WARNING
+ );
return false;
- } elseif (!$this->_testPermissions($base)) {
+ } elseif (!$this->_testPermissions($base, $chmod)) {
return false;
}
- $old = umask(0022); // disable group and world writes
- mkdir($directory);
+ $old = umask(0000);
+ mkdir($directory, $chmod);
umask($old);
- } elseif (!$this->_testPermissions($directory)) {
+ } elseif (!$this->_testPermissions($directory, $chmod)) {
return false;
}
return true;
@@ -131,42 +231,55 @@ class HTMLPurifier_DefinitionCache_Serializer extends
/**
* Tests permissions on a directory and throws out friendly
* error messages and attempts to chmod it itself if possible
+ * @param string $dir Directory path
+ * @param int $chmod Permissions
+ * @return bool True if directory is writable
*/
- private function _testPermissions($dir) {
+ private function _testPermissions($dir, $chmod)
+ {
// early abort, if it is writable, everything is hunky-dory
- if (is_writable($dir)) return true;
+ if (is_writable($dir)) {
+ return true;
+ }
if (!is_dir($dir)) {
// generally, you'll want to handle this beforehand
// so a more specific error message can be given
- trigger_error('Directory '.$dir.' does not exist',
- E_USER_WARNING);
+ trigger_error(
+ 'Directory ' . $dir . ' does not exist',
+ E_USER_WARNING
+ );
return false;
}
if (function_exists('posix_getuid')) {
// POSIX system, we can give more specific advice
if (fileowner($dir) === posix_getuid()) {
// we can chmod it ourselves
- chmod($dir, 0755);
- return true;
+ $chmod = $chmod | 0700;
+ if (chmod($dir, $chmod)) {
+ return true;
+ }
} elseif (filegroup($dir) === posix_getgid()) {
- $chmod = '775';
+ $chmod = $chmod | 0070;
} else {
// PHP's probably running as nobody, so we'll
// need to give global permissions
- $chmod = '777';
+ $chmod = $chmod | 0777;
}
- trigger_error('Directory '.$dir.' not writable, '.
- 'please chmod to ' . $chmod,
- E_USER_WARNING);
+ trigger_error(
+ 'Directory ' . $dir . ' not writable, ' .
+ 'please chmod to ' . decoct($chmod),
+ E_USER_WARNING
+ );
} else {
// generic error message
- trigger_error('Directory '.$dir.' not writable, '.
+ trigger_error(
+ 'Directory ' . $dir . ' not writable, ' .
'please alter file permissions',
- E_USER_WARNING);
+ E_USER_WARNING
+ );
}
return false;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/DefinitionCache/Serializer/README b/library/HTMLPurifier/DefinitionCache/Serializer/README
index 2e35c1c3d..2e35c1c3d 100644..100755
--- a/library/HTMLPurifier/DefinitionCache/Serializer/README
+++ b/library/HTMLPurifier/DefinitionCache/Serializer/README
diff --git a/library/HTMLPurifier/DefinitionCacheFactory.php b/library/HTMLPurifier/DefinitionCacheFactory.php
index a6ead6281..fd1cc9be4 100644
--- a/library/HTMLPurifier/DefinitionCacheFactory.php
+++ b/library/HTMLPurifier/DefinitionCacheFactory.php
@@ -5,22 +5,36 @@
*/
class HTMLPurifier_DefinitionCacheFactory
{
-
+ /**
+ * @type array
+ */
protected $caches = array('Serializer' => array());
+
+ /**
+ * @type array
+ */
protected $implementations = array();
+
+ /**
+ * @type HTMLPurifier_DefinitionCache_Decorator[]
+ */
protected $decorators = array();
/**
* Initialize default decorators
*/
- public function setup() {
+ public function setup()
+ {
$this->addDecorator('Cleanup');
}
/**
* Retrieves an instance of global definition cache factory.
+ * @param HTMLPurifier_DefinitionCacheFactory $prototype
+ * @return HTMLPurifier_DefinitionCacheFactory
*/
- public static function instance($prototype = null) {
+ public static function instance($prototype = null)
+ {
static $instance;
if ($prototype !== null) {
$instance = $prototype;
@@ -33,19 +47,22 @@ class HTMLPurifier_DefinitionCacheFactory
/**
* Registers a new definition cache object
- * @param $short Short name of cache object, for reference
- * @param $long Full class name of cache object, for construction
+ * @param string $short Short name of cache object, for reference
+ * @param string $long Full class name of cache object, for construction
*/
- public function register($short, $long) {
+ public function register($short, $long)
+ {
$this->implementations[$short] = $long;
}
/**
* Factory method that creates a cache object based on configuration
- * @param $name Name of definitions handled by cache
- * @param $config Instance of HTMLPurifier_Config
+ * @param string $type Name of definitions handled by cache
+ * @param HTMLPurifier_Config $config Config instance
+ * @return mixed
*/
- public function create($type, $config) {
+ public function create($type, $config)
+ {
$method = $config->get('Cache.DefinitionImpl');
if ($method === null) {
return new HTMLPurifier_DefinitionCache_Null($type);
@@ -53,10 +70,8 @@ class HTMLPurifier_DefinitionCacheFactory
if (!empty($this->caches[$method][$type])) {
return $this->caches[$method][$type];
}
- if (
- isset($this->implementations[$method]) &&
- class_exists($class = $this->implementations[$method], false)
- ) {
+ if (isset($this->implementations[$method]) &&
+ class_exists($class = $this->implementations[$method], false)) {
$cache = new $class($type);
} else {
if ($method != 'Serializer') {
@@ -76,16 +91,16 @@ class HTMLPurifier_DefinitionCacheFactory
/**
* Registers a decorator to add to all new cache objects
- * @param
+ * @param HTMLPurifier_DefinitionCache_Decorator|string $decorator An instance or the name of a decorator
*/
- public function addDecorator($decorator) {
+ public function addDecorator($decorator)
+ {
if (is_string($decorator)) {
$class = "HTMLPurifier_DefinitionCache_Decorator_$decorator";
$decorator = new $class;
}
$this->decorators[$decorator->name] = $decorator;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Doctype.php b/library/HTMLPurifier/Doctype.php
index 1e3c574c0..4acd06e5b 100644
--- a/library/HTMLPurifier/Doctype.php
+++ b/library/HTMLPurifier/Doctype.php
@@ -10,42 +10,55 @@ class HTMLPurifier_Doctype
{
/**
* Full name of doctype
+ * @type string
*/
public $name;
/**
* List of standard modules (string identifiers or literal objects)
* that this doctype uses
+ * @type array
*/
public $modules = array();
/**
* List of modules to use for tidying up code
+ * @type array
*/
public $tidyModules = array();
/**
* Is the language derived from XML (i.e. XHTML)?
+ * @type bool
*/
public $xml = true;
/**
* List of aliases for this doctype
+ * @type array
*/
public $aliases = array();
/**
* Public DTD identifier
+ * @type string
*/
public $dtdPublic;
/**
* System DTD identifier
+ * @type string
*/
public $dtdSystem;
- public function __construct($name = null, $xml = true, $modules = array(),
- $tidyModules = array(), $aliases = array(), $dtd_public = null, $dtd_system = null
+ public function __construct(
+ $name = null,
+ $xml = true,
+ $modules = array(),
+ $tidyModules = array(),
+ $aliases = array(),
+ $dtd_public = null,
+ $dtd_system = null
) {
$this->name = $name;
$this->xml = $xml;
diff --git a/library/HTMLPurifier/DoctypeRegistry.php b/library/HTMLPurifier/DoctypeRegistry.php
index 86049e939..acc1d64a6 100644
--- a/library/HTMLPurifier/DoctypeRegistry.php
+++ b/library/HTMLPurifier/DoctypeRegistry.php
@@ -4,12 +4,14 @@ class HTMLPurifier_DoctypeRegistry
{
/**
- * Hash of doctype names to doctype objects
+ * Hash of doctype names to doctype objects.
+ * @type array
*/
protected $doctypes;
/**
- * Lookup table of aliases to real doctype names
+ * Lookup table of aliases to real doctype names.
+ * @type array
*/
protected $aliases;
@@ -17,32 +19,57 @@ class HTMLPurifier_DoctypeRegistry
* Registers a doctype to the registry
* @note Accepts a fully-formed doctype object, or the
* parameters for constructing a doctype object
- * @param $doctype Name of doctype or literal doctype object
- * @param $modules Modules doctype will load
- * @param $modules_for_modes Modules doctype will load for certain modes
- * @param $aliases Alias names for doctype
- * @return Editable registered doctype
+ * @param string $doctype Name of doctype or literal doctype object
+ * @param bool $xml
+ * @param array $modules Modules doctype will load
+ * @param array $tidy_modules Modules doctype will load for certain modes
+ * @param array $aliases Alias names for doctype
+ * @param string $dtd_public
+ * @param string $dtd_system
+ * @return HTMLPurifier_Doctype Editable registered doctype
*/
- public function register($doctype, $xml = true, $modules = array(),
- $tidy_modules = array(), $aliases = array(), $dtd_public = null, $dtd_system = null
+ public function register(
+ $doctype,
+ $xml = true,
+ $modules = array(),
+ $tidy_modules = array(),
+ $aliases = array(),
+ $dtd_public = null,
+ $dtd_system = null
) {
- if (!is_array($modules)) $modules = array($modules);
- if (!is_array($tidy_modules)) $tidy_modules = array($tidy_modules);
- if (!is_array($aliases)) $aliases = array($aliases);
+ if (!is_array($modules)) {
+ $modules = array($modules);
+ }
+ if (!is_array($tidy_modules)) {
+ $tidy_modules = array($tidy_modules);
+ }
+ if (!is_array($aliases)) {
+ $aliases = array($aliases);
+ }
if (!is_object($doctype)) {
$doctype = new HTMLPurifier_Doctype(
- $doctype, $xml, $modules, $tidy_modules, $aliases, $dtd_public, $dtd_system
+ $doctype,
+ $xml,
+ $modules,
+ $tidy_modules,
+ $aliases,
+ $dtd_public,
+ $dtd_system
);
}
$this->doctypes[$doctype->name] = $doctype;
$name = $doctype->name;
// hookup aliases
foreach ($doctype->aliases as $alias) {
- if (isset($this->doctypes[$alias])) continue;
+ if (isset($this->doctypes[$alias])) {
+ continue;
+ }
$this->aliases[$alias] = $name;
}
// remove old aliases
- if (isset($this->aliases[$name])) unset($this->aliases[$name]);
+ if (isset($this->aliases[$name])) {
+ unset($this->aliases[$name]);
+ }
return $doctype;
}
@@ -50,11 +77,14 @@ class HTMLPurifier_DoctypeRegistry
* Retrieves reference to a doctype of a certain name
* @note This function resolves aliases
* @note When possible, use the more fully-featured make()
- * @param $doctype Name of doctype
- * @return Editable doctype object
+ * @param string $doctype Name of doctype
+ * @return HTMLPurifier_Doctype Editable doctype object
*/
- public function get($doctype) {
- if (isset($this->aliases[$doctype])) $doctype = $this->aliases[$doctype];
+ public function get($doctype)
+ {
+ if (isset($this->aliases[$doctype])) {
+ $doctype = $this->aliases[$doctype];
+ }
if (!isset($this->doctypes[$doctype])) {
trigger_error('Doctype ' . htmlspecialchars($doctype) . ' does not exist', E_USER_ERROR);
$anon = new HTMLPurifier_Doctype($doctype);
@@ -70,20 +100,30 @@ class HTMLPurifier_DoctypeRegistry
* can hold on to (this is necessary in order to tell
* Generator whether or not the current document is XML
* based or not).
+ * @param HTMLPurifier_Config $config
+ * @return HTMLPurifier_Doctype
*/
- public function make($config) {
+ public function make($config)
+ {
return clone $this->get($this->getDoctypeFromConfig($config));
}
/**
* Retrieves the doctype from the configuration object
+ * @param HTMLPurifier_Config $config
+ * @return string
*/
- public function getDoctypeFromConfig($config) {
+ public function getDoctypeFromConfig($config)
+ {
// recommended test
$doctype = $config->get('HTML.Doctype');
- if (!empty($doctype)) return $doctype;
+ if (!empty($doctype)) {
+ return $doctype;
+ }
$doctype = $config->get('HTML.CustomDoctype');
- if (!empty($doctype)) return $doctype;
+ if (!empty($doctype)) {
+ return $doctype;
+ }
// backwards-compatibility
if ($config->get('HTML.XHTML')) {
$doctype = 'XHTML 1.0';
@@ -97,7 +137,6 @@ class HTMLPurifier_DoctypeRegistry
}
return $doctype;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ElementDef.php b/library/HTMLPurifier/ElementDef.php
index 5498d9567..d5311cedc 100644
--- a/library/HTMLPurifier/ElementDef.php
+++ b/library/HTMLPurifier/ElementDef.php
@@ -10,15 +10,16 @@
*/
class HTMLPurifier_ElementDef
{
-
/**
* Does the definition work by itself, or is it created solely
* for the purpose of merging into another definition?
+ * @type bool
*/
public $standalone = true;
/**
- * Associative array of attribute name to HTMLPurifier_AttrDef
+ * Associative array of attribute name to HTMLPurifier_AttrDef.
+ * @type array
* @note Before being processed by HTMLPurifier_AttrCollections
* when modules are finalized during
* HTMLPurifier_HTMLDefinition->setup(), this array may also
@@ -30,27 +31,43 @@ class HTMLPurifier_ElementDef
*/
public $attr = array();
+ // XXX: Design note: currently, it's not possible to override
+ // previously defined AttrTransforms without messing around with
+ // the final generated config. This is by design; a previous version
+ // used an associated list of attr_transform, but it was extremely
+ // easy to accidentally override other attribute transforms by
+ // forgetting to specify an index (and just using 0.) While we
+ // could check this by checking the index number and complaining,
+ // there is a second problem which is that it is not at all easy to
+ // tell when something is getting overridden. Combine this with a
+ // codebase where this isn't really being used, and it's perfect for
+ // nuking.
+
/**
- * Indexed list of tag's HTMLPurifier_AttrTransform to be done before validation
+ * List of tags HTMLPurifier_AttrTransform to be done before validation.
+ * @type array
*/
public $attr_transform_pre = array();
/**
- * Indexed list of tag's HTMLPurifier_AttrTransform to be done after validation
+ * List of tags HTMLPurifier_AttrTransform to be done after validation.
+ * @type array
*/
public $attr_transform_post = array();
/**
* HTMLPurifier_ChildDef of this tag.
+ * @type HTMLPurifier_ChildDef
*/
public $child;
/**
- * Abstract string representation of internal ChildDef rules. See
- * HTMLPurifier_ContentSets for how this is parsed and then transformed
+ * Abstract string representation of internal ChildDef rules.
+ * @see HTMLPurifier_ContentSets for how this is parsed and then transformed
* into an HTMLPurifier_ChildDef.
* @warning This is a temporary variable that is not available after
* being processed by HTMLDefinition
+ * @type string
*/
public $content_model;
@@ -60,27 +77,29 @@ class HTMLPurifier_ElementDef
* @warning This must be lowercase
* @warning This is a temporary variable that is not available after
* being processed by HTMLDefinition
+ * @type string
*/
public $content_model_type;
-
-
/**
* Does the element have a content model (#PCDATA | Inline)*? This
* is important for chameleon ins and del processing in
* HTMLPurifier_ChildDef_Chameleon. Dynamically set: modules don't
* have to worry about this one.
+ * @type bool
*/
public $descendants_are_inline = false;
/**
- * List of the names of required attributes this element has. Dynamically
- * populated by HTMLPurifier_HTMLDefinition::getElement
+ * List of the names of required attributes this element has.
+ * Dynamically populated by HTMLPurifier_HTMLDefinition::getElement()
+ * @type array
*/
public $required_attr = array();
/**
* Lookup table of tags excluded from all descendants of this tag.
+ * @type array
* @note SGML permits exclusions for all descendants, but this is
* not possible with DTDs or XML Schemas. W3C has elected to
* use complicated compositions of content_models to simulate
@@ -94,6 +113,7 @@ class HTMLPurifier_ElementDef
/**
* This tag is explicitly auto-closed by the following tags.
+ * @type array
*/
public $autoclose = array();
@@ -101,19 +121,22 @@ class HTMLPurifier_ElementDef
* If a foreign element is found in this element, test if it is
* allowed by this sub-element; if it is, instead of closing the
* current element, place it inside this element.
+ * @type string
*/
public $wrap;
/**
* Whether or not this is a formatting element affected by the
* "Active Formatting Elements" algorithm.
+ * @type bool
*/
public $formatting;
/**
* Low-level factory constructor for creating new standalone element defs
*/
- public static function create($content_model, $content_model_type, $attr) {
+ public static function create($content_model, $content_model_type, $attr)
+ {
$def = new HTMLPurifier_ElementDef();
$def->content_model = $content_model;
$def->content_model_type = $content_model_type;
@@ -125,11 +148,12 @@ class HTMLPurifier_ElementDef
* Merges the values of another element definition into this one.
* Values from the new element def take precedence if a value is
* not mergeable.
+ * @param HTMLPurifier_ElementDef $def
*/
- public function mergeIn($def) {
-
+ public function mergeIn($def)
+ {
// later keys takes precedence
- foreach($def->attr as $k => $v) {
+ foreach ($def->attr as $k => $v) {
if ($k === 0) {
// merge in the includes
// sorry, no way to override an include
@@ -139,28 +163,35 @@ class HTMLPurifier_ElementDef
continue;
}
if ($v === false) {
- if (isset($this->attr[$k])) unset($this->attr[$k]);
+ if (isset($this->attr[$k])) {
+ unset($this->attr[$k]);
+ }
continue;
}
$this->attr[$k] = $v;
}
- $this->_mergeAssocArray($this->attr_transform_pre, $def->attr_transform_pre);
- $this->_mergeAssocArray($this->attr_transform_post, $def->attr_transform_post);
$this->_mergeAssocArray($this->excludes, $def->excludes);
+ $this->attr_transform_pre = array_merge($this->attr_transform_pre, $def->attr_transform_pre);
+ $this->attr_transform_post = array_merge($this->attr_transform_post, $def->attr_transform_post);
- if(!empty($def->content_model)) {
+ if (!empty($def->content_model)) {
$this->content_model =
str_replace("#SUPER", $this->content_model, $def->content_model);
$this->child = false;
}
- if(!empty($def->content_model_type)) {
+ if (!empty($def->content_model_type)) {
$this->content_model_type = $def->content_model_type;
$this->child = false;
}
- if(!is_null($def->child)) $this->child = $def->child;
- if(!is_null($def->formatting)) $this->formatting = $def->formatting;
- if($def->descendants_are_inline) $this->descendants_are_inline = $def->descendants_are_inline;
-
+ if (!is_null($def->child)) {
+ $this->child = $def->child;
+ }
+ if (!is_null($def->formatting)) {
+ $this->formatting = $def->formatting;
+ }
+ if ($def->descendants_are_inline) {
+ $this->descendants_are_inline = $def->descendants_are_inline;
+ }
}
/**
@@ -168,16 +199,18 @@ class HTMLPurifier_ElementDef
* @param $a1 Array by reference that is merged into
* @param $a2 Array that merges into $a1
*/
- private function _mergeAssocArray(&$a1, $a2) {
+ private function _mergeAssocArray(&$a1, $a2)
+ {
foreach ($a2 as $k => $v) {
if ($v === false) {
- if (isset($a1[$k])) unset($a1[$k]);
+ if (isset($a1[$k])) {
+ unset($a1[$k]);
+ }
continue;
}
$a1[$k] = $v;
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Encoder.php b/library/HTMLPurifier/Encoder.php
index 2b3140caa..fef9b5890 100644
--- a/library/HTMLPurifier/Encoder.php
+++ b/library/HTMLPurifier/Encoder.php
@@ -10,14 +10,90 @@ class HTMLPurifier_Encoder
/**
* Constructor throws fatal error if you attempt to instantiate class
*/
- private function __construct() {
+ private function __construct()
+ {
trigger_error('Cannot instantiate encoder, call methods statically', E_USER_ERROR);
}
/**
* Error-handler that mutes errors, alternative to shut-up operator.
*/
- public static function muteErrorHandler() {}
+ public static function muteErrorHandler()
+ {
+ }
+
+ /**
+ * iconv wrapper which mutes errors, but doesn't work around bugs.
+ * @param string $in Input encoding
+ * @param string $out Output encoding
+ * @param string $text The text to convert
+ * @return string
+ */
+ public static function unsafeIconv($in, $out, $text)
+ {
+ set_error_handler(array('HTMLPurifier_Encoder', 'muteErrorHandler'));
+ $r = iconv($in, $out, $text);
+ restore_error_handler();
+ return $r;
+ }
+
+ /**
+ * iconv wrapper which mutes errors and works around bugs.
+ * @param string $in Input encoding
+ * @param string $out Output encoding
+ * @param string $text The text to convert
+ * @param int $max_chunk_size
+ * @return string
+ */
+ public static function iconv($in, $out, $text, $max_chunk_size = 8000)
+ {
+ $code = self::testIconvTruncateBug();
+ if ($code == self::ICONV_OK) {
+ return self::unsafeIconv($in, $out, $text);
+ } elseif ($code == self::ICONV_TRUNCATES) {
+ // we can only work around this if the input character set
+ // is utf-8
+ if ($in == 'utf-8') {
+ if ($max_chunk_size < 4) {
+ trigger_error('max_chunk_size is too small', E_USER_WARNING);
+ return false;
+ }
+ // split into 8000 byte chunks, but be careful to handle
+ // multibyte boundaries properly
+ if (($c = strlen($text)) <= $max_chunk_size) {
+ return self::unsafeIconv($in, $out, $text);
+ }
+ $r = '';
+ $i = 0;
+ while (true) {
+ if ($i + $max_chunk_size >= $c) {
+ $r .= self::unsafeIconv($in, $out, substr($text, $i));
+ break;
+ }
+ // wibble the boundary
+ if (0x80 != (0xC0 & ord($text[$i + $max_chunk_size]))) {
+ $chunk_size = $max_chunk_size;
+ } elseif (0x80 != (0xC0 & ord($text[$i + $max_chunk_size - 1]))) {
+ $chunk_size = $max_chunk_size - 1;
+ } elseif (0x80 != (0xC0 & ord($text[$i + $max_chunk_size - 2]))) {
+ $chunk_size = $max_chunk_size - 2;
+ } elseif (0x80 != (0xC0 & ord($text[$i + $max_chunk_size - 3]))) {
+ $chunk_size = $max_chunk_size - 3;
+ } else {
+ return false; // rather confusing UTF-8...
+ }
+ $chunk = substr($text, $i, $chunk_size); // substr doesn't mind overlong lengths
+ $r .= self::unsafeIconv($in, $out, $chunk);
+ $i += $chunk_size;
+ }
+ return $r;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
/**
* Cleans a UTF-8 string for well-formedness and SGML validity
@@ -25,6 +101,10 @@ class HTMLPurifier_Encoder
* It will parse according to UTF-8 and return a valid UTF8 string, with
* non-SGML codepoints excluded.
*
+ * @param string $str The string to clean
+ * @param bool $force_php
+ * @return string
+ *
* @note Just for reference, the non-SGML code points are 0 to 31 and
* 127 to 159, inclusive. However, we allow code points 9, 10
* and 13, which are the tab, line feed and carriage return
@@ -44,14 +124,17 @@ class HTMLPurifier_Encoder
* would need that, and I'm probably not going to implement them.
* Once again, PHP 6 should solve all our problems.
*/
- public static function cleanUTF8($str, $force_php = false) {
-
+ public static function cleanUTF8($str, $force_php = false)
+ {
// UTF-8 validity is checked since PHP 4.3.5
// This is an optimization: if the string is already valid UTF-8, no
// need to do PHP stuff. 99% of the time, this will be the case.
// The regexp matches the XML char production, as well as well as excluding
// non-SGML codepoints U+007F to U+009F
- if (preg_match('/^[\x{9}\x{A}\x{D}\x{20}-\x{7E}\x{A0}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}]*$/Du', $str)) {
+ if (preg_match(
+ '/^[\x{9}\x{A}\x{D}\x{20}-\x{7E}\x{A0}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}-\x{10FFFF}]*$/Du',
+ $str
+ )) {
return $str;
}
@@ -70,7 +153,7 @@ class HTMLPurifier_Encoder
$char = '';
$len = strlen($str);
- for($i = 0; $i < $len; $i++) {
+ for ($i = 0; $i < $len; $i++) {
$in = ord($str{$i});
$char .= $str[$i]; // append byte to char
if (0 == $mState) {
@@ -223,8 +306,9 @@ class HTMLPurifier_Encoder
// | 00000000 | 00010000 | 11111111 | 11111111 | Defined upper limit of legal scalar codes
// +----------+----------+----------+----------+
- public static function unichr($code) {
- if($code > 1114111 or $code < 0 or
+ public static function unichr($code)
+ {
+ if ($code > 1114111 or $code < 0 or
($code >= 55296 and $code <= 57343) ) {
// bits are set outside the "valid" range as defined
// by UNICODE 4.1.0
@@ -242,7 +326,7 @@ class HTMLPurifier_Encoder
$y = (($code & 2047) >> 6) | 192;
} else {
$y = (($code & 4032) >> 6) | 128;
- if($code < 65536) {
+ if ($code < 65536) {
$z = (($code >> 12) & 15) | 224;
} else {
$z = (($code >> 12) & 63) | 128;
@@ -252,84 +336,129 @@ class HTMLPurifier_Encoder
}
// set up the actual character
$ret = '';
- if($w) $ret .= chr($w);
- if($z) $ret .= chr($z);
- if($y) $ret .= chr($y);
+ if ($w) {
+ $ret .= chr($w);
+ }
+ if ($z) {
+ $ret .= chr($z);
+ }
+ if ($y) {
+ $ret .= chr($y);
+ }
$ret .= chr($x);
return $ret;
}
/**
- * Converts a string to UTF-8 based on configuration.
+ * @return bool
+ */
+ public static function iconvAvailable()
+ {
+ static $iconv = null;
+ if ($iconv === null) {
+ $iconv = function_exists('iconv') && self::testIconvTruncateBug() != self::ICONV_UNUSABLE;
+ }
+ return $iconv;
+ }
+
+ /**
+ * Convert a string to UTF-8 based on configuration.
+ * @param string $str The string to convert
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
*/
- public static function convertToUTF8($str, $config, $context) {
+ public static function convertToUTF8($str, $config, $context)
+ {
$encoding = $config->get('Core.Encoding');
- if ($encoding === 'utf-8') return $str;
+ if ($encoding === 'utf-8') {
+ return $str;
+ }
static $iconv = null;
- if ($iconv === null) $iconv = function_exists('iconv');
- set_error_handler(array('HTMLPurifier_Encoder', 'muteErrorHandler'));
+ if ($iconv === null) {
+ $iconv = self::iconvAvailable();
+ }
if ($iconv && !$config->get('Test.ForceNoIconv')) {
- $str = iconv($encoding, 'utf-8//IGNORE', $str);
+ // unaffected by bugs, since UTF-8 support all characters
+ $str = self::unsafeIconv($encoding, 'utf-8//IGNORE', $str);
if ($str === false) {
// $encoding is not a valid encoding
- restore_error_handler();
trigger_error('Invalid encoding ' . $encoding, E_USER_ERROR);
return '';
}
// If the string is bjorked by Shift_JIS or a similar encoding
// that doesn't support all of ASCII, convert the naughty
// characters to their true byte-wise ASCII/UTF-8 equivalents.
- $str = strtr($str, HTMLPurifier_Encoder::testEncodingSupportsASCII($encoding));
- restore_error_handler();
+ $str = strtr($str, self::testEncodingSupportsASCII($encoding));
return $str;
} elseif ($encoding === 'iso-8859-1') {
$str = utf8_encode($str);
- restore_error_handler();
return $str;
}
- trigger_error('Encoding not supported, please install iconv', E_USER_ERROR);
+ $bug = HTMLPurifier_Encoder::testIconvTruncateBug();
+ if ($bug == self::ICONV_OK) {
+ trigger_error('Encoding not supported, please install iconv', E_USER_ERROR);
+ } else {
+ trigger_error(
+ 'You have a buggy version of iconv, see https://bugs.php.net/bug.php?id=48147 ' .
+ 'and http://sourceware.org/bugzilla/show_bug.cgi?id=13541',
+ E_USER_ERROR
+ );
+ }
}
/**
* Converts a string from UTF-8 based on configuration.
+ * @param string $str The string to convert
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
* @note Currently, this is a lossy conversion, with unexpressable
* characters being omitted.
*/
- public static function convertFromUTF8($str, $config, $context) {
+ public static function convertFromUTF8($str, $config, $context)
+ {
$encoding = $config->get('Core.Encoding');
- if ($encoding === 'utf-8') return $str;
- static $iconv = null;
- if ($iconv === null) $iconv = function_exists('iconv');
if ($escape = $config->get('Core.EscapeNonASCIICharacters')) {
- $str = HTMLPurifier_Encoder::convertToASCIIDumbLossless($str);
+ $str = self::convertToASCIIDumbLossless($str);
+ }
+ if ($encoding === 'utf-8') {
+ return $str;
+ }
+ static $iconv = null;
+ if ($iconv === null) {
+ $iconv = self::iconvAvailable();
}
- set_error_handler(array('HTMLPurifier_Encoder', 'muteErrorHandler'));
if ($iconv && !$config->get('Test.ForceNoIconv')) {
// Undo our previous fix in convertToUTF8, otherwise iconv will barf
- $ascii_fix = HTMLPurifier_Encoder::testEncodingSupportsASCII($encoding);
+ $ascii_fix = self::testEncodingSupportsASCII($encoding);
if (!$escape && !empty($ascii_fix)) {
$clear_fix = array();
- foreach ($ascii_fix as $utf8 => $native) $clear_fix[$utf8] = '';
+ foreach ($ascii_fix as $utf8 => $native) {
+ $clear_fix[$utf8] = '';
+ }
$str = strtr($str, $clear_fix);
}
$str = strtr($str, array_flip($ascii_fix));
// Normal stuff
- $str = iconv('utf-8', $encoding . '//IGNORE', $str);
- restore_error_handler();
+ $str = self::iconv('utf-8', $encoding . '//IGNORE', $str);
return $str;
} elseif ($encoding === 'iso-8859-1') {
$str = utf8_decode($str);
- restore_error_handler();
return $str;
}
trigger_error('Encoding not supported', E_USER_ERROR);
+ // You might be tempted to assume that the ASCII representation
+ // might be OK, however, this is *not* universally true over all
+ // encodings. So we take the conservative route here, rather
+ // than forcibly turn on %Core.EscapeNonASCIICharacters
}
/**
* Lossless (character-wise) conversion of HTML to ASCII
- * @param $str UTF-8 string to be converted to ASCII
- * @returns ASCII encoded string with non-ASCII character entity-ized
+ * @param string $str UTF-8 string to be converted to ASCII
+ * @return string ASCII encoded string with non-ASCII character entity-ized
* @warning Adapted from MediaWiki, claiming fair use: this is a common
* algorithm. If you disagree with this license fudgery,
* implement it yourself.
@@ -342,27 +471,28 @@ class HTMLPurifier_Encoder
* @note Sort of with cleanUTF8() but it assumes that $str is
* well-formed UTF-8
*/
- public static function convertToASCIIDumbLossless($str) {
+ public static function convertToASCIIDumbLossless($str)
+ {
$bytesleft = 0;
$result = '';
$working = 0;
$len = strlen($str);
- for( $i = 0; $i < $len; $i++ ) {
- $bytevalue = ord( $str[$i] );
- if( $bytevalue <= 0x7F ) { //0xxx xxxx
- $result .= chr( $bytevalue );
+ for ($i = 0; $i < $len; $i++) {
+ $bytevalue = ord($str[$i]);
+ if ($bytevalue <= 0x7F) { //0xxx xxxx
+ $result .= chr($bytevalue);
$bytesleft = 0;
- } elseif( $bytevalue <= 0xBF ) { //10xx xxxx
+ } elseif ($bytevalue <= 0xBF) { //10xx xxxx
$working = $working << 6;
$working += ($bytevalue & 0x3F);
$bytesleft--;
- if( $bytesleft <= 0 ) {
+ if ($bytesleft <= 0) {
$result .= "&#" . $working . ";";
}
- } elseif( $bytevalue <= 0xDF ) { //110x xxxx
+ } elseif ($bytevalue <= 0xDF) { //110x xxxx
$working = $bytevalue & 0x1F;
$bytesleft = 1;
- } elseif( $bytevalue <= 0xEF ) { //1110 xxxx
+ } elseif ($bytevalue <= 0xEF) { //1110 xxxx
$working = $bytevalue & 0x0F;
$bytesleft = 2;
} else { //1111 0xxx
@@ -373,6 +503,54 @@ class HTMLPurifier_Encoder
return $result;
}
+ /** No bugs detected in iconv. */
+ const ICONV_OK = 0;
+
+ /** Iconv truncates output if converting from UTF-8 to another
+ * character set with //IGNORE, and a non-encodable character is found */
+ const ICONV_TRUNCATES = 1;
+
+ /** Iconv does not support //IGNORE, making it unusable for
+ * transcoding purposes */
+ const ICONV_UNUSABLE = 2;
+
+ /**
+ * glibc iconv has a known bug where it doesn't handle the magic
+ * //IGNORE stanza correctly. In particular, rather than ignore
+ * characters, it will return an EILSEQ after consuming some number
+ * of characters, and expect you to restart iconv as if it were
+ * an E2BIG. Old versions of PHP did not respect the errno, and
+ * returned the fragment, so as a result you would see iconv
+ * mysteriously truncating output. We can work around this by
+ * manually chopping our input into segments of about 8000
+ * characters, as long as PHP ignores the error code. If PHP starts
+ * paying attention to the error code, iconv becomes unusable.
+ *
+ * @return int Error code indicating severity of bug.
+ */
+ public static function testIconvTruncateBug()
+ {
+ static $code = null;
+ if ($code === null) {
+ // better not use iconv, otherwise infinite loop!
+ $r = self::unsafeIconv('utf-8', 'ascii//IGNORE', "\xCE\xB1" . str_repeat('a', 9000));
+ if ($r === false) {
+ $code = self::ICONV_UNUSABLE;
+ } elseif (($c = strlen($r)) < 9000) {
+ $code = self::ICONV_TRUNCATES;
+ } elseif ($c > 9000) {
+ trigger_error(
+ 'Your copy of iconv is extremely buggy. Please notify HTML Purifier maintainers: ' .
+ 'include your iconv version as per phpversion()',
+ E_USER_ERROR
+ );
+ } else {
+ $code = self::ICONV_OK;
+ }
+ }
+ return $code;
+ }
+
/**
* This expensive function tests whether or not a given character
* encoding supports ASCII. 7/8-bit encodings like Shift_JIS will
@@ -384,10 +562,18 @@ class HTMLPurifier_Encoder
* @return Array of UTF-8 characters to their corresponding ASCII,
* which can be used to "undo" any overzealous iconv action.
*/
- public static function testEncodingSupportsASCII($encoding, $bypass = false) {
+ public static function testEncodingSupportsASCII($encoding, $bypass = false)
+ {
+ // All calls to iconv here are unsafe, proof by case analysis:
+ // If ICONV_OK, no difference.
+ // If ICONV_TRUNCATE, all calls involve one character inputs,
+ // so bug is not triggered.
+ // If ICONV_UNUSABLE, this call is irrelevant
static $encodings = array();
if (!$bypass) {
- if (isset($encodings[$encoding])) return $encodings[$encoding];
+ if (isset($encodings[$encoding])) {
+ return $encodings[$encoding];
+ }
$lenc = strtolower($encoding);
switch ($lenc) {
case 'shift_jis':
@@ -395,32 +581,31 @@ class HTMLPurifier_Encoder
case 'johab':
return array("\xE2\x82\xA9" => '\\');
}
- if (strpos($lenc, 'iso-8859-') === 0) return array();
+ if (strpos($lenc, 'iso-8859-') === 0) {
+ return array();
+ }
}
$ret = array();
- set_error_handler(array('HTMLPurifier_Encoder', 'muteErrorHandler'));
- if (iconv('UTF-8', $encoding, 'a') === false) return false;
+ if (self::unsafeIconv('UTF-8', $encoding, 'a') === false) {
+ return false;
+ }
for ($i = 0x20; $i <= 0x7E; $i++) { // all printable ASCII chars
$c = chr($i); // UTF-8 char
- $r = iconv('UTF-8', "$encoding//IGNORE", $c); // initial conversion
- if (
- $r === '' ||
+ $r = self::unsafeIconv('UTF-8', "$encoding//IGNORE", $c); // initial conversion
+ if ($r === '' ||
// This line is needed for iconv implementations that do not
// omit characters that do not exist in the target character set
- ($r === $c && iconv($encoding, 'UTF-8//IGNORE', $r) !== $c)
+ ($r === $c && self::unsafeIconv($encoding, 'UTF-8//IGNORE', $r) !== $c)
) {
// Reverse engineer: what's the UTF-8 equiv of this byte
// sequence? This assumes that there's no variable width
// encoding that doesn't support ASCII.
- $ret[iconv($encoding, 'UTF-8//IGNORE', $c)] = $c;
+ $ret[self::unsafeIconv($encoding, 'UTF-8//IGNORE', $c)] = $c;
}
}
- restore_error_handler();
$encodings[$encoding] = $ret;
return $ret;
}
-
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/EntityLookup.php b/library/HTMLPurifier/EntityLookup.php
index b4dfce94c..f12ff13a3 100644
--- a/library/HTMLPurifier/EntityLookup.php
+++ b/library/HTMLPurifier/EntityLookup.php
@@ -3,20 +3,23 @@
/**
* Object that provides entity lookup table from entity name to character
*/
-class HTMLPurifier_EntityLookup {
-
+class HTMLPurifier_EntityLookup
+{
/**
* Assoc array of entity name to character represented.
+ * @type array
*/
public $table;
/**
* Sets up the entity lookup table from the serialized file contents.
+ * @param bool $file
* @note The serialized contents are versioned, but were generated
* using the maintenance script generate_entity_file.php
* @warning This is not in constructor to help enforce the Singleton
*/
- public function setup($file = false) {
+ public function setup($file = false)
+ {
if (!$file) {
$file = HTMLPURIFIER_PREFIX . '/HTMLPurifier/EntityLookup/entities.ser';
}
@@ -25,9 +28,11 @@ class HTMLPurifier_EntityLookup {
/**
* Retrieves sole instance of the object.
- * @param Optional prototype of custom lookup table to overload with.
+ * @param bool|HTMLPurifier_EntityLookup $prototype Optional prototype of custom lookup table to overload with.
+ * @return HTMLPurifier_EntityLookup
*/
- public static function instance($prototype = false) {
+ public static function instance($prototype = false)
+ {
// no references, since PHP doesn't copy unless modified
static $instance = null;
if ($prototype) {
@@ -38,7 +43,6 @@ class HTMLPurifier_EntityLookup {
}
return $instance;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/EntityLookup/entities.ser b/library/HTMLPurifier/EntityLookup/entities.ser
index f2b8b8f2d..e8b08128b 100644
--- a/library/HTMLPurifier/EntityLookup/entities.ser
+++ b/library/HTMLPurifier/EntityLookup/entities.ser
@@ -1 +1 @@
-a:246:{s:4:"nbsp";s:2:" ";s:5:"iexcl";s:2:"¡";s:4:"cent";s:2:"¢";s:5:"pound";s:2:"£";s:6:"curren";s:2:"¤";s:3:"yen";s:2:"Â¥";s:6:"brvbar";s:2:"¦";s:4:"sect";s:2:"§";s:3:"uml";s:2:"¨";s:4:"copy";s:2:"©";s:4:"ordf";s:2:"ª";s:5:"laquo";s:2:"«";s:3:"not";s:2:"¬";s:3:"shy";s:2:"­";s:3:"reg";s:2:"®";s:4:"macr";s:2:"¯";s:3:"deg";s:2:"°";s:6:"plusmn";s:2:"±";s:5:"acute";s:2:"´";s:5:"micro";s:2:"µ";s:4:"para";s:2:"¶";s:6:"middot";s:2:"·";s:5:"cedil";s:2:"¸";s:4:"ordm";s:2:"º";s:5:"raquo";s:2:"»";s:6:"iquest";s:2:"¿";s:6:"Agrave";s:2:"À";s:6:"Aacute";s:2:"Ã";s:5:"Acirc";s:2:"Â";s:6:"Atilde";s:2:"Ã";s:4:"Auml";s:2:"Ä";s:5:"Aring";s:2:"Ã…";s:5:"AElig";s:2:"Æ";s:6:"Ccedil";s:2:"Ç";s:6:"Egrave";s:2:"È";s:6:"Eacute";s:2:"É";s:5:"Ecirc";s:2:"Ê";s:4:"Euml";s:2:"Ë";s:6:"Igrave";s:2:"ÃŒ";s:6:"Iacute";s:2:"Ã";s:5:"Icirc";s:2:"ÃŽ";s:4:"Iuml";s:2:"Ã";s:3:"ETH";s:2:"Ã";s:6:"Ntilde";s:2:"Ñ";s:6:"Ograve";s:2:"Ã’";s:6:"Oacute";s:2:"Ó";s:5:"Ocirc";s:2:"Ô";s:6:"Otilde";s:2:"Õ";s:4:"Ouml";s:2:"Ö";s:5:"times";s:2:"×";s:6:"Oslash";s:2:"Ø";s:6:"Ugrave";s:2:"Ù";s:6:"Uacute";s:2:"Ú";s:5:"Ucirc";s:2:"Û";s:4:"Uuml";s:2:"Ãœ";s:6:"Yacute";s:2:"Ã";s:5:"THORN";s:2:"Þ";s:5:"szlig";s:2:"ß";s:6:"agrave";s:2:"à";s:6:"aacute";s:2:"á";s:5:"acirc";s:2:"â";s:6:"atilde";s:2:"ã";s:4:"auml";s:2:"ä";s:5:"aring";s:2:"Ã¥";s:5:"aelig";s:2:"æ";s:6:"ccedil";s:2:"ç";s:6:"egrave";s:2:"è";s:6:"eacute";s:2:"é";s:5:"ecirc";s:2:"ê";s:4:"euml";s:2:"ë";s:6:"igrave";s:2:"ì";s:6:"iacute";s:2:"í";s:5:"icirc";s:2:"î";s:4:"iuml";s:2:"ï";s:3:"eth";s:2:"ð";s:6:"ntilde";s:2:"ñ";s:6:"ograve";s:2:"ò";s:6:"oacute";s:2:"ó";s:5:"ocirc";s:2:"ô";s:6:"otilde";s:2:"õ";s:4:"ouml";s:2:"ö";s:6:"divide";s:2:"÷";s:6:"oslash";s:2:"ø";s:6:"ugrave";s:2:"ù";s:6:"uacute";s:2:"ú";s:5:"ucirc";s:2:"û";s:4:"uuml";s:2:"ü";s:6:"yacute";s:2:"ý";s:5:"thorn";s:2:"þ";s:4:"yuml";s:2:"ÿ";s:4:"quot";s:1:""";s:3:"amp";s:1:"&";s:2:"lt";s:1:"<";s:2:"gt";s:1:">";s:4:"apos";s:1:"'";s:5:"OElig";s:2:"Å’";s:5:"oelig";s:2:"Å“";s:6:"Scaron";s:2:"Å ";s:6:"scaron";s:2:"Å¡";s:4:"Yuml";s:2:"Ÿ";s:4:"circ";s:2:"ˆ";s:5:"tilde";s:2:"Ëœ";s:4:"ensp";s:3:" ";s:4:"emsp";s:3:" ";s:6:"thinsp";s:3:" ";s:4:"zwnj";s:3:"‌";s:3:"zwj";s:3:"â€";s:3:"lrm";s:3:"‎";s:3:"rlm";s:3:"â€";s:5:"ndash";s:3:"–";s:5:"mdash";s:3:"—";s:5:"lsquo";s:3:"‘";s:5:"rsquo";s:3:"’";s:5:"sbquo";s:3:"‚";s:5:"ldquo";s:3:"“";s:5:"rdquo";s:3:"â€";s:5:"bdquo";s:3:"„";s:6:"dagger";s:3:"†";s:6:"Dagger";s:3:"‡";s:6:"permil";s:3:"‰";s:6:"lsaquo";s:3:"‹";s:6:"rsaquo";s:3:"›";s:4:"euro";s:3:"€";s:4:"fnof";s:2:"Æ’";s:5:"Alpha";s:2:"Α";s:4:"Beta";s:2:"Î’";s:5:"Gamma";s:2:"Γ";s:5:"Delta";s:2:"Δ";s:7:"Epsilon";s:2:"Ε";s:4:"Zeta";s:2:"Ζ";s:3:"Eta";s:2:"Η";s:5:"Theta";s:2:"Θ";s:4:"Iota";s:2:"Ι";s:5:"Kappa";s:2:"Κ";s:6:"Lambda";s:2:"Λ";s:2:"Mu";s:2:"Îœ";s:2:"Nu";s:2:"Î";s:2:"Xi";s:2:"Ξ";s:7:"Omicron";s:2:"Ο";s:2:"Pi";s:2:"Π";s:3:"Rho";s:2:"Ρ";s:5:"Sigma";s:2:"Σ";s:3:"Tau";s:2:"Τ";s:7:"Upsilon";s:2:"Î¥";s:3:"Phi";s:2:"Φ";s:3:"Chi";s:2:"Χ";s:3:"Psi";s:2:"Ψ";s:5:"Omega";s:2:"Ω";s:5:"alpha";s:2:"α";s:4:"beta";s:2:"β";s:5:"gamma";s:2:"γ";s:5:"delta";s:2:"δ";s:7:"epsilon";s:2:"ε";s:4:"zeta";s:2:"ζ";s:3:"eta";s:2:"η";s:5:"theta";s:2:"θ";s:4:"iota";s:2:"ι";s:5:"kappa";s:2:"κ";s:6:"lambda";s:2:"λ";s:2:"mu";s:2:"μ";s:2:"nu";s:2:"ν";s:2:"xi";s:2:"ξ";s:7:"omicron";s:2:"ο";s:2:"pi";s:2:"Ï€";s:3:"rho";s:2:"Ï";s:6:"sigmaf";s:2:"Ï‚";s:5:"sigma";s:2:"σ";s:3:"tau";s:2:"Ï„";s:7:"upsilon";s:2:"Ï…";s:3:"phi";s:2:"φ";s:3:"chi";s:2:"χ";s:3:"psi";s:2:"ψ";s:5:"omega";s:2:"ω";s:8:"thetasym";s:2:"Ï‘";s:5:"upsih";s:2:"Ï’";s:3:"piv";s:2:"Ï–";s:4:"bull";s:3:"•";s:6:"hellip";s:3:"…";s:5:"prime";s:3:"′";s:5:"Prime";s:3:"″";s:5:"oline";s:3:"‾";s:5:"frasl";s:3:"â„";s:6:"weierp";s:3:"℘";s:5:"image";s:3:"â„‘";s:4:"real";s:3:"â„œ";s:5:"trade";s:3:"â„¢";s:7:"alefsym";s:3:"ℵ";s:4:"larr";s:3:"â†";s:4:"uarr";s:3:"↑";s:4:"rarr";s:3:"→";s:4:"darr";s:3:"↓";s:4:"harr";s:3:"↔";s:5:"crarr";s:3:"↵";s:4:"lArr";s:3:"â‡";s:4:"uArr";s:3:"⇑";s:4:"rArr";s:3:"⇒";s:4:"dArr";s:3:"⇓";s:4:"hArr";s:3:"⇔";s:6:"forall";s:3:"∀";s:4:"part";s:3:"∂";s:5:"exist";s:3:"∃";s:5:"empty";s:3:"∅";s:5:"nabla";s:3:"∇";s:4:"isin";s:3:"∈";s:5:"notin";s:3:"∉";s:2:"ni";s:3:"∋";s:4:"prod";s:3:"âˆ";s:3:"sum";s:3:"∑";s:5:"minus";s:3:"−";s:6:"lowast";s:3:"∗";s:5:"radic";s:3:"√";s:4:"prop";s:3:"âˆ";s:5:"infin";s:3:"∞";s:3:"ang";s:3:"∠";s:3:"and";s:3:"∧";s:2:"or";s:3:"∨";s:3:"cap";s:3:"∩";s:3:"cup";s:3:"∪";s:3:"int";s:3:"∫";s:3:"sim";s:3:"∼";s:4:"cong";s:3:"≅";s:5:"asymp";s:3:"≈";s:2:"ne";s:3:"≠";s:5:"equiv";s:3:"≡";s:2:"le";s:3:"≤";s:2:"ge";s:3:"≥";s:3:"sub";s:3:"⊂";s:3:"sup";s:3:"⊃";s:4:"nsub";s:3:"⊄";s:4:"sube";s:3:"⊆";s:4:"supe";s:3:"⊇";s:5:"oplus";s:3:"⊕";s:6:"otimes";s:3:"⊗";s:4:"perp";s:3:"⊥";s:4:"sdot";s:3:"â‹…";s:5:"lceil";s:3:"⌈";s:5:"rceil";s:3:"⌉";s:6:"lfloor";s:3:"⌊";s:6:"rfloor";s:3:"⌋";s:4:"lang";s:3:"〈";s:4:"rang";s:3:"〉";s:3:"loz";s:3:"â—Š";s:6:"spades";s:3:"â™ ";s:5:"clubs";s:3:"♣";s:6:"hearts";s:3:"♥";s:5:"diams";s:3:"♦";} \ No newline at end of file
+a:253:{s:4:"fnof";s:2:"Æ’";s:5:"Alpha";s:2:"Α";s:4:"Beta";s:2:"Î’";s:5:"Gamma";s:2:"Γ";s:5:"Delta";s:2:"Δ";s:7:"Epsilon";s:2:"Ε";s:4:"Zeta";s:2:"Ζ";s:3:"Eta";s:2:"Η";s:5:"Theta";s:2:"Θ";s:4:"Iota";s:2:"Ι";s:5:"Kappa";s:2:"Κ";s:6:"Lambda";s:2:"Λ";s:2:"Mu";s:2:"Îœ";s:2:"Nu";s:2:"Î";s:2:"Xi";s:2:"Ξ";s:7:"Omicron";s:2:"Ο";s:2:"Pi";s:2:"Π";s:3:"Rho";s:2:"Ρ";s:5:"Sigma";s:2:"Σ";s:3:"Tau";s:2:"Τ";s:7:"Upsilon";s:2:"Î¥";s:3:"Phi";s:2:"Φ";s:3:"Chi";s:2:"Χ";s:3:"Psi";s:2:"Ψ";s:5:"Omega";s:2:"Ω";s:5:"alpha";s:2:"α";s:4:"beta";s:2:"β";s:5:"gamma";s:2:"γ";s:5:"delta";s:2:"δ";s:7:"epsilon";s:2:"ε";s:4:"zeta";s:2:"ζ";s:3:"eta";s:2:"η";s:5:"theta";s:2:"θ";s:4:"iota";s:2:"ι";s:5:"kappa";s:2:"κ";s:6:"lambda";s:2:"λ";s:2:"mu";s:2:"μ";s:2:"nu";s:2:"ν";s:2:"xi";s:2:"ξ";s:7:"omicron";s:2:"ο";s:2:"pi";s:2:"Ï€";s:3:"rho";s:2:"Ï";s:6:"sigmaf";s:2:"Ï‚";s:5:"sigma";s:2:"σ";s:3:"tau";s:2:"Ï„";s:7:"upsilon";s:2:"Ï…";s:3:"phi";s:2:"φ";s:3:"chi";s:2:"χ";s:3:"psi";s:2:"ψ";s:5:"omega";s:2:"ω";s:8:"thetasym";s:2:"Ï‘";s:5:"upsih";s:2:"Ï’";s:3:"piv";s:2:"Ï–";s:4:"bull";s:3:"•";s:6:"hellip";s:3:"…";s:5:"prime";s:3:"′";s:5:"Prime";s:3:"″";s:5:"oline";s:3:"‾";s:5:"frasl";s:3:"â„";s:6:"weierp";s:3:"℘";s:5:"image";s:3:"â„‘";s:4:"real";s:3:"â„œ";s:5:"trade";s:3:"â„¢";s:7:"alefsym";s:3:"ℵ";s:4:"larr";s:3:"â†";s:4:"uarr";s:3:"↑";s:4:"rarr";s:3:"→";s:4:"darr";s:3:"↓";s:4:"harr";s:3:"↔";s:5:"crarr";s:3:"↵";s:4:"lArr";s:3:"â‡";s:4:"uArr";s:3:"⇑";s:4:"rArr";s:3:"⇒";s:4:"dArr";s:3:"⇓";s:4:"hArr";s:3:"⇔";s:6:"forall";s:3:"∀";s:4:"part";s:3:"∂";s:5:"exist";s:3:"∃";s:5:"empty";s:3:"∅";s:5:"nabla";s:3:"∇";s:4:"isin";s:3:"∈";s:5:"notin";s:3:"∉";s:2:"ni";s:3:"∋";s:4:"prod";s:3:"âˆ";s:3:"sum";s:3:"∑";s:5:"minus";s:3:"−";s:6:"lowast";s:3:"∗";s:5:"radic";s:3:"√";s:4:"prop";s:3:"âˆ";s:5:"infin";s:3:"∞";s:3:"ang";s:3:"∠";s:3:"and";s:3:"∧";s:2:"or";s:3:"∨";s:3:"cap";s:3:"∩";s:3:"cup";s:3:"∪";s:3:"int";s:3:"∫";s:6:"there4";s:3:"∴";s:3:"sim";s:3:"∼";s:4:"cong";s:3:"≅";s:5:"asymp";s:3:"≈";s:2:"ne";s:3:"≠";s:5:"equiv";s:3:"≡";s:2:"le";s:3:"≤";s:2:"ge";s:3:"≥";s:3:"sub";s:3:"⊂";s:3:"sup";s:3:"⊃";s:4:"nsub";s:3:"⊄";s:4:"sube";s:3:"⊆";s:4:"supe";s:3:"⊇";s:5:"oplus";s:3:"⊕";s:6:"otimes";s:3:"⊗";s:4:"perp";s:3:"⊥";s:4:"sdot";s:3:"â‹…";s:5:"lceil";s:3:"⌈";s:5:"rceil";s:3:"⌉";s:6:"lfloor";s:3:"⌊";s:6:"rfloor";s:3:"⌋";s:4:"lang";s:3:"〈";s:4:"rang";s:3:"〉";s:3:"loz";s:3:"â—Š";s:6:"spades";s:3:"â™ ";s:5:"clubs";s:3:"♣";s:6:"hearts";s:3:"♥";s:5:"diams";s:3:"♦";s:4:"quot";s:1:""";s:3:"amp";s:1:"&";s:2:"lt";s:1:"<";s:2:"gt";s:1:">";s:4:"apos";s:1:"'";s:5:"OElig";s:2:"Å’";s:5:"oelig";s:2:"Å“";s:6:"Scaron";s:2:"Å ";s:6:"scaron";s:2:"Å¡";s:4:"Yuml";s:2:"Ÿ";s:4:"circ";s:2:"ˆ";s:5:"tilde";s:2:"Ëœ";s:4:"ensp";s:3:" ";s:4:"emsp";s:3:" ";s:6:"thinsp";s:3:" ";s:4:"zwnj";s:3:"‌";s:3:"zwj";s:3:"â€";s:3:"lrm";s:3:"‎";s:3:"rlm";s:3:"â€";s:5:"ndash";s:3:"–";s:5:"mdash";s:3:"—";s:5:"lsquo";s:3:"‘";s:5:"rsquo";s:3:"’";s:5:"sbquo";s:3:"‚";s:5:"ldquo";s:3:"“";s:5:"rdquo";s:3:"â€";s:5:"bdquo";s:3:"„";s:6:"dagger";s:3:"†";s:6:"Dagger";s:3:"‡";s:6:"permil";s:3:"‰";s:6:"lsaquo";s:3:"‹";s:6:"rsaquo";s:3:"›";s:4:"euro";s:3:"€";s:4:"nbsp";s:2:" ";s:5:"iexcl";s:2:"¡";s:4:"cent";s:2:"¢";s:5:"pound";s:2:"£";s:6:"curren";s:2:"¤";s:3:"yen";s:2:"Â¥";s:6:"brvbar";s:2:"¦";s:4:"sect";s:2:"§";s:3:"uml";s:2:"¨";s:4:"copy";s:2:"©";s:4:"ordf";s:2:"ª";s:5:"laquo";s:2:"«";s:3:"not";s:2:"¬";s:3:"shy";s:2:"­";s:3:"reg";s:2:"®";s:4:"macr";s:2:"¯";s:3:"deg";s:2:"°";s:6:"plusmn";s:2:"±";s:4:"sup2";s:2:"²";s:4:"sup3";s:2:"³";s:5:"acute";s:2:"´";s:5:"micro";s:2:"µ";s:4:"para";s:2:"¶";s:6:"middot";s:2:"·";s:5:"cedil";s:2:"¸";s:4:"sup1";s:2:"¹";s:4:"ordm";s:2:"º";s:5:"raquo";s:2:"»";s:6:"frac14";s:2:"¼";s:6:"frac12";s:2:"½";s:6:"frac34";s:2:"¾";s:6:"iquest";s:2:"¿";s:6:"Agrave";s:2:"À";s:6:"Aacute";s:2:"Ã";s:5:"Acirc";s:2:"Â";s:6:"Atilde";s:2:"Ã";s:4:"Auml";s:2:"Ä";s:5:"Aring";s:2:"Ã…";s:5:"AElig";s:2:"Æ";s:6:"Ccedil";s:2:"Ç";s:6:"Egrave";s:2:"È";s:6:"Eacute";s:2:"É";s:5:"Ecirc";s:2:"Ê";s:4:"Euml";s:2:"Ë";s:6:"Igrave";s:2:"ÃŒ";s:6:"Iacute";s:2:"Ã";s:5:"Icirc";s:2:"ÃŽ";s:4:"Iuml";s:2:"Ã";s:3:"ETH";s:2:"Ã";s:6:"Ntilde";s:2:"Ñ";s:6:"Ograve";s:2:"Ã’";s:6:"Oacute";s:2:"Ó";s:5:"Ocirc";s:2:"Ô";s:6:"Otilde";s:2:"Õ";s:4:"Ouml";s:2:"Ö";s:5:"times";s:2:"×";s:6:"Oslash";s:2:"Ø";s:6:"Ugrave";s:2:"Ù";s:6:"Uacute";s:2:"Ú";s:5:"Ucirc";s:2:"Û";s:4:"Uuml";s:2:"Ãœ";s:6:"Yacute";s:2:"Ã";s:5:"THORN";s:2:"Þ";s:5:"szlig";s:2:"ß";s:6:"agrave";s:2:"à";s:6:"aacute";s:2:"á";s:5:"acirc";s:2:"â";s:6:"atilde";s:2:"ã";s:4:"auml";s:2:"ä";s:5:"aring";s:2:"Ã¥";s:5:"aelig";s:2:"æ";s:6:"ccedil";s:2:"ç";s:6:"egrave";s:2:"è";s:6:"eacute";s:2:"é";s:5:"ecirc";s:2:"ê";s:4:"euml";s:2:"ë";s:6:"igrave";s:2:"ì";s:6:"iacute";s:2:"í";s:5:"icirc";s:2:"î";s:4:"iuml";s:2:"ï";s:3:"eth";s:2:"ð";s:6:"ntilde";s:2:"ñ";s:6:"ograve";s:2:"ò";s:6:"oacute";s:2:"ó";s:5:"ocirc";s:2:"ô";s:6:"otilde";s:2:"õ";s:4:"ouml";s:2:"ö";s:6:"divide";s:2:"÷";s:6:"oslash";s:2:"ø";s:6:"ugrave";s:2:"ù";s:6:"uacute";s:2:"ú";s:5:"ucirc";s:2:"û";s:4:"uuml";s:2:"ü";s:6:"yacute";s:2:"ý";s:5:"thorn";s:2:"þ";s:4:"yuml";s:2:"ÿ";} \ No newline at end of file
diff --git a/library/HTMLPurifier/EntityParser.php b/library/HTMLPurifier/EntityParser.php
index 8c384472d..61529dcd9 100644
--- a/library/HTMLPurifier/EntityParser.php
+++ b/library/HTMLPurifier/EntityParser.php
@@ -12,19 +12,21 @@ class HTMLPurifier_EntityParser
/**
* Reference to entity lookup table.
+ * @type HTMLPurifier_EntityLookup
*/
protected $_entity_lookup;
/**
* Callback regex string for parsing entities.
+ * @type string
*/
protected $_substituteEntitiesRegex =
-'/&(?:[#]x([a-fA-F0-9]+)|[#]0*(\d+)|([A-Za-z_:][A-Za-z0-9.\-_:]*));?/';
-// 1. hex 2. dec 3. string (XML style)
-
+ '/&(?:[#]x([a-fA-F0-9]+)|[#]0*(\d+)|([A-Za-z_:][A-Za-z0-9.\-_:]*));?/';
+ // 1. hex 2. dec 3. string (XML style)
/**
* Decimal to parsed string conversion table for special entities.
+ * @type array
*/
protected $_special_dec2str =
array(
@@ -37,6 +39,7 @@ class HTMLPurifier_EntityParser
/**
* Stripped entity names to decimal conversion table for special entities.
+ * @type array
*/
protected $_special_ent2dec =
array(
@@ -51,41 +54,45 @@ class HTMLPurifier_EntityParser
* running this whenever you have parsed character is t3h 5uck, we run
* it before everything else.
*
- * @param $string String to have non-special entities parsed.
- * @returns Parsed string.
+ * @param string $string String to have non-special entities parsed.
+ * @return string Parsed string.
*/
- public function substituteNonSpecialEntities($string) {
+ public function substituteNonSpecialEntities($string)
+ {
// it will try to detect missing semicolons, but don't rely on it
return preg_replace_callback(
$this->_substituteEntitiesRegex,
array($this, 'nonSpecialEntityCallback'),
$string
- );
+ );
}
/**
* Callback function for substituteNonSpecialEntities() that does the work.
*
- * @param $matches PCRE matches array, with 0 the entire match, and
+ * @param array $matches PCRE matches array, with 0 the entire match, and
* either index 1, 2 or 3 set with a hex value, dec value,
* or string (respectively).
- * @returns Replacement string.
+ * @return string Replacement string.
*/
- protected function nonSpecialEntityCallback($matches) {
+ protected function nonSpecialEntityCallback($matches)
+ {
// replaces all but big five
$entity = $matches[0];
$is_num = (@$matches[0][1] === '#');
if ($is_num) {
$is_hex = (@$entity[2] === 'x');
$code = $is_hex ? hexdec($matches[1]) : (int) $matches[2];
-
// abort for special characters
- if (isset($this->_special_dec2str[$code])) return $entity;
-
+ if (isset($this->_special_dec2str[$code])) {
+ return $entity;
+ }
return HTMLPurifier_Encoder::unichr($code);
} else {
- if (isset($this->_special_ent2dec[$matches[3]])) return $entity;
+ if (isset($this->_special_ent2dec[$matches[3]])) {
+ return $entity;
+ }
if (!$this->_entity_lookup) {
$this->_entity_lookup = HTMLPurifier_EntityLookup::instance();
}
@@ -103,14 +110,16 @@ class HTMLPurifier_EntityParser
* @notice We try to avoid calling this function because otherwise, it
* would have to be called a lot (for every parsed section).
*
- * @param $string String to have non-special entities parsed.
- * @returns Parsed string.
+ * @param string $string String to have non-special entities parsed.
+ * @return string Parsed string.
*/
- public function substituteSpecialEntities($string) {
+ public function substituteSpecialEntities($string)
+ {
return preg_replace_callback(
$this->_substituteEntitiesRegex,
array($this, 'specialEntityCallback'),
- $string);
+ $string
+ );
}
/**
@@ -118,12 +127,13 @@ class HTMLPurifier_EntityParser
*
* This callback has same syntax as nonSpecialEntityCallback().
*
- * @param $matches PCRE-style matches array, with 0 the entire match, and
+ * @param array $matches PCRE-style matches array, with 0 the entire match, and
* either index 1, 2 or 3 set with a hex value, dec value,
* or string (respectively).
- * @returns Replacement string.
+ * @return string Replacement string.
*/
- protected function specialEntityCallback($matches) {
+ protected function specialEntityCallback($matches)
+ {
$entity = $matches[0];
$is_num = (@$matches[0][1] === '#');
if ($is_num) {
@@ -138,7 +148,6 @@ class HTMLPurifier_EntityParser
$entity;
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ErrorCollector.php b/library/HTMLPurifier/ErrorCollector.php
index 6713eaf77..d47e3f2e2 100644
--- a/library/HTMLPurifier/ErrorCollector.php
+++ b/library/HTMLPurifier/ErrorCollector.php
@@ -16,16 +16,46 @@ class HTMLPurifier_ErrorCollector
const MESSAGE = 2;
const CHILDREN = 3;
+ /**
+ * @type array
+ */
protected $errors;
+
+ /**
+ * @type array
+ */
protected $_current;
+
+ /**
+ * @type array
+ */
protected $_stacks = array(array());
+
+ /**
+ * @type HTMLPurifier_Language
+ */
protected $locale;
+
+ /**
+ * @type HTMLPurifier_Generator
+ */
protected $generator;
+
+ /**
+ * @type HTMLPurifier_Context
+ */
protected $context;
+ /**
+ * @type array
+ */
protected $lines = array();
- public function __construct($context) {
+ /**
+ * @param HTMLPurifier_Context $context
+ */
+ public function __construct($context)
+ {
$this->locale =& $context->get('Locale');
$this->context = $context;
$this->_current =& $this->_stacks[0];
@@ -34,13 +64,11 @@ class HTMLPurifier_ErrorCollector
/**
* Sends an error message to the collector for later use
- * @param $severity int Error severity, PHP error style (don't use E_USER_)
- * @param $msg string Error message text
- * @param $subst1 string First substitution for $msg
- * @param $subst2 string ...
+ * @param int $severity Error severity, PHP error style (don't use E_USER_)
+ * @param string $msg Error message text
*/
- public function send($severity, $msg) {
-
+ public function send($severity, $msg)
+ {
$args = array();
if (func_num_args() > 2) {
$args = func_get_args();
@@ -50,7 +78,7 @@ class HTMLPurifier_ErrorCollector
$token = $this->context->get('CurrentToken', true);
$line = $token ? $token->line : $this->context->get('CurrentLine', true);
- $col = $token ? $token->col : $this->context->get('CurrentCol', true);
+ $col = $token ? $token->col : $this->context->get('CurrentCol', true);
$attr = $this->context->get('CurrentAttr', true);
// perform special substitutions, also add custom parameters
@@ -60,7 +88,9 @@ class HTMLPurifier_ErrorCollector
}
if (!is_null($attr)) {
$subst['$CurrentAttr.Name'] = $attr;
- if (isset($token->attr[$attr])) $subst['$CurrentAttr.Value'] = $token->attr[$attr];
+ if (isset($token->attr[$attr])) {
+ $subst['$CurrentAttr.Value'] = $token->attr[$attr];
+ }
}
if (empty($args)) {
@@ -69,7 +99,9 @@ class HTMLPurifier_ErrorCollector
$msg = $this->locale->formatMessage($msg, $args);
}
- if (!empty($subst)) $msg = strtr($msg, $subst);
+ if (!empty($subst)) {
+ $msg = strtr($msg, $subst);
+ }
// (numerically indexed)
$error = array(
@@ -80,16 +112,15 @@ class HTMLPurifier_ErrorCollector
);
$this->_current[] = $error;
-
// NEW CODE BELOW ...
-
- $struct = null;
// Top-level errors are either:
// TOKEN type, if $value is set appropriately, or
// "syntax" type, if $value is null
$new_struct = new HTMLPurifier_ErrorStruct();
$new_struct->type = HTMLPurifier_ErrorStruct::TOKEN;
- if ($token) $new_struct->value = clone $token;
+ if ($token) {
+ $new_struct->value = clone $token;
+ }
if (is_int($line) && is_int($col)) {
if (isset($this->lines[$line][$col])) {
$struct = $this->lines[$line][$col];
@@ -128,30 +159,34 @@ class HTMLPurifier_ErrorCollector
/**
* Retrieves raw error data for custom formatter to use
- * @param List of arrays in format of array(line of error,
- * error severity, error message,
- * recursive sub-errors array)
*/
- public function getRaw() {
+ public function getRaw()
+ {
return $this->errors;
}
/**
* Default HTML formatting implementation for error messages
- * @param $config Configuration array, vital for HTML output nature
- * @param $errors Errors array to display; used for recursion.
+ * @param HTMLPurifier_Config $config Configuration, vital for HTML output nature
+ * @param array $errors Errors array to display; used for recursion.
+ * @return string
*/
- public function getHTMLFormatted($config, $errors = null) {
+ public function getHTMLFormatted($config, $errors = null)
+ {
$ret = array();
$this->generator = new HTMLPurifier_Generator($config, $this->context);
- if ($errors === null) $errors = $this->errors;
+ if ($errors === null) {
+ $errors = $this->errors;
+ }
// 'At line' message needs to be removed
// generation code for new structure goes here. It needs to be recursive.
foreach ($this->lines as $line => $col_array) {
- if ($line == -1) continue;
+ if ($line == -1) {
+ continue;
+ }
foreach ($col_array as $col => $struct) {
$this->_renderStruct($ret, $struct, $line, $col);
}
@@ -168,7 +203,8 @@ class HTMLPurifier_ErrorCollector
}
- private function _renderStruct(&$ret, $struct, $line = null, $col = null) {
+ private function _renderStruct(&$ret, $struct, $line = null, $col = null)
+ {
$stack = array($struct);
$context_stack = array(array());
while ($current = array_pop($stack)) {
@@ -194,7 +230,7 @@ class HTMLPurifier_ErrorCollector
//$string .= '</pre>';
$ret[] = $string;
}
- foreach ($current->children as $type => $array) {
+ foreach ($current->children as $array) {
$context[] = $current;
$stack = array_merge($stack, array_reverse($array, true));
for ($i = count($array); $i > 0; $i--) {
@@ -203,7 +239,6 @@ class HTMLPurifier_ErrorCollector
}
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/ErrorStruct.php b/library/HTMLPurifier/ErrorStruct.php
index 9bc8996ec..cf869d321 100644
--- a/library/HTMLPurifier/ErrorStruct.php
+++ b/library/HTMLPurifier/ErrorStruct.php
@@ -19,6 +19,7 @@ class HTMLPurifier_ErrorStruct
/**
* Type of this struct.
+ * @type string
*/
public $type;
@@ -28,11 +29,13 @@ class HTMLPurifier_ErrorStruct
* - TOKEN: Instance of HTMLPurifier_Token
* - ATTR: array('attr-name', 'value')
* - CSSPROP: array('prop-name', 'value')
+ * @type mixed
*/
public $value;
/**
* Errors registered for this structure.
+ * @type array
*/
public $errors = array();
@@ -40,10 +43,17 @@ class HTMLPurifier_ErrorStruct
* Child ErrorStructs that are from this structure. For example, a TOKEN
* ErrorStruct would contain ATTR ErrorStructs. This is a multi-dimensional
* array in structure: [TYPE]['identifier']
+ * @type array
*/
public $children = array();
- public function getChild($type, $id) {
+ /**
+ * @param string $type
+ * @param string $id
+ * @return mixed
+ */
+ public function getChild($type, $id)
+ {
if (!isset($this->children[$type][$id])) {
$this->children[$type][$id] = new HTMLPurifier_ErrorStruct();
$this->children[$type][$id]->type = $type;
@@ -51,10 +61,14 @@ class HTMLPurifier_ErrorStruct
return $this->children[$type][$id];
}
- public function addError($severity, $message) {
+ /**
+ * @param int $severity
+ * @param string $message
+ */
+ public function addError($severity, $message)
+ {
$this->errors[] = array($severity, $message);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Filter.php b/library/HTMLPurifier/Filter.php
index 9a0e7b09f..c1f41ee16 100644
--- a/library/HTMLPurifier/Filter.php
+++ b/library/HTMLPurifier/Filter.php
@@ -23,24 +23,34 @@ class HTMLPurifier_Filter
{
/**
- * Name of the filter for identification purposes
+ * Name of the filter for identification purposes.
+ * @type string
*/
public $name;
/**
* Pre-processor function, handles HTML before HTML Purifier
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
*/
- public function preFilter($html, $config, $context) {
+ public function preFilter($html, $config, $context)
+ {
return $html;
}
/**
* Post-processor function, handles HTML after HTML Purifier
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
*/
- public function postFilter($html, $config, $context) {
+ public function postFilter($html, $config, $context)
+ {
return $html;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Filter/ExtractStyleBlocks.php b/library/HTMLPurifier/Filter/ExtractStyleBlocks.php
index bbf78a663..08e62c16b 100644
--- a/library/HTMLPurifier/Filter/ExtractStyleBlocks.php
+++ b/library/HTMLPurifier/Filter/ExtractStyleBlocks.php
@@ -1,5 +1,13 @@
<?php
+// why is this a top level function? Because PHP 5.2.0 doesn't seem to
+// understand how to interpret this filter if it's a static method.
+// It's all really silly, but if we go this route it might be reasonable
+// to coalesce all of these methods into one.
+function htmlpurifier_filter_extractstyleblocks_muteerrorhandler()
+{
+}
+
/**
* This filter extracts <style> blocks from input HTML, cleans them up
* using CSSTidy, and then places them in $purifier->context->get('StyleBlocks')
@@ -16,30 +24,77 @@
*/
class HTMLPurifier_Filter_ExtractStyleBlocks extends HTMLPurifier_Filter
{
-
+ /**
+ * @type string
+ */
public $name = 'ExtractStyleBlocks';
+
+ /**
+ * @type array
+ */
private $_styleMatches = array();
+
+ /**
+ * @type csstidy
+ */
private $_tidy;
- public function __construct() {
+ /**
+ * @type HTMLPurifier_AttrDef_HTML_ID
+ */
+ private $_id_attrdef;
+
+ /**
+ * @type HTMLPurifier_AttrDef_CSS_Ident
+ */
+ private $_class_attrdef;
+
+ /**
+ * @type HTMLPurifier_AttrDef_Enum
+ */
+ private $_enum_attrdef;
+
+ public function __construct()
+ {
$this->_tidy = new csstidy();
+ $this->_tidy->set_cfg('lowercase_s', false);
+ $this->_id_attrdef = new HTMLPurifier_AttrDef_HTML_ID(true);
+ $this->_class_attrdef = new HTMLPurifier_AttrDef_CSS_Ident();
+ $this->_enum_attrdef = new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'first-child',
+ 'link',
+ 'visited',
+ 'active',
+ 'hover',
+ 'focus'
+ )
+ );
}
/**
* Save the contents of CSS blocks to style matches
- * @param $matches preg_replace style $matches array
+ * @param array $matches preg_replace style $matches array
*/
- protected function styleCallback($matches) {
+ protected function styleCallback($matches)
+ {
$this->_styleMatches[] = $matches[1];
}
/**
* Removes inline <style> tags from HTML, saves them for later use
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
* @todo Extend to indicate non-text/css style blocks
*/
- public function preFilter($html, $config, $context) {
+ public function preFilter($html, $config, $context)
+ {
$tidy = $config->get('Filter.ExtractStyleBlocks.TidyImpl');
- if ($tidy !== null) $this->_tidy = $tidy;
+ if ($tidy !== null) {
+ $this->_tidy = $tidy;
+ }
$html = preg_replace_callback('#<style(?:\s.*)?>(.+)</style>#isU', array($this, 'styleCallback'), $html);
$style_blocks = $this->_styleMatches;
$this->_styleMatches = array(); // reset
@@ -55,12 +110,14 @@ class HTMLPurifier_Filter_ExtractStyleBlocks extends HTMLPurifier_Filter
/**
* Takes CSS (the stuff found in <style>) and cleans it.
* @warning Requires CSSTidy <http://csstidy.sourceforge.net/>
- * @param $css CSS styling to clean
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
- * @return Cleaned CSS
+ * @param string $css CSS styling to clean
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @throws HTMLPurifier_Exception
+ * @return string Cleaned CSS
*/
- public function cleanCSS($css, $config, $context) {
+ public function cleanCSS($css, $config, $context)
+ {
// prepare scope
$scope = $config->get('Filter.ExtractStyleBlocks.Scope');
if ($scope !== null) {
@@ -77,27 +134,170 @@ class HTMLPurifier_Filter_ExtractStyleBlocks extends HTMLPurifier_Filter
$css = substr($css, 0, -3);
}
$css = trim($css);
+ set_error_handler('htmlpurifier_filter_extractstyleblocks_muteerrorhandler');
$this->_tidy->parse($css);
+ restore_error_handler();
$css_definition = $config->getDefinition('CSS');
+ $html_definition = $config->getDefinition('HTML');
+ $new_css = array();
foreach ($this->_tidy->css as $k => $decls) {
// $decls are all CSS declarations inside an @ selector
$new_decls = array();
foreach ($decls as $selector => $style) {
$selector = trim($selector);
- if ($selector === '') continue; // should not happen
- if ($selector[0] === '+') {
- if ($selector !== '' && $selector[0] === '+') continue;
- }
- if (!empty($scopes)) {
- $new_selector = array(); // because multiple ones are possible
- $selectors = array_map('trim', explode(',', $selector));
- foreach ($scopes as $s1) {
- foreach ($selectors as $s2) {
- $new_selector[] = "$s1 $s2";
+ if ($selector === '') {
+ continue;
+ } // should not happen
+ // Parse the selector
+ // Here is the relevant part of the CSS grammar:
+ //
+ // ruleset
+ // : selector [ ',' S* selector ]* '{' ...
+ // selector
+ // : simple_selector [ combinator selector | S+ [ combinator? selector ]? ]?
+ // combinator
+ // : '+' S*
+ // : '>' S*
+ // simple_selector
+ // : element_name [ HASH | class | attrib | pseudo ]*
+ // | [ HASH | class | attrib | pseudo ]+
+ // element_name
+ // : IDENT | '*'
+ // ;
+ // class
+ // : '.' IDENT
+ // ;
+ // attrib
+ // : '[' S* IDENT S* [ [ '=' | INCLUDES | DASHMATCH ] S*
+ // [ IDENT | STRING ] S* ]? ']'
+ // ;
+ // pseudo
+ // : ':' [ IDENT | FUNCTION S* [IDENT S*]? ')' ]
+ // ;
+ //
+ // For reference, here are the relevant tokens:
+ //
+ // HASH #{name}
+ // IDENT {ident}
+ // INCLUDES ==
+ // DASHMATCH |=
+ // STRING {string}
+ // FUNCTION {ident}\(
+ //
+ // And the lexical scanner tokens
+ //
+ // name {nmchar}+
+ // nmchar [_a-z0-9-]|{nonascii}|{escape}
+ // nonascii [\240-\377]
+ // escape {unicode}|\\[^\r\n\f0-9a-f]
+ // unicode \\{h}}{1,6}(\r\n|[ \t\r\n\f])?
+ // ident -?{nmstart}{nmchar*}
+ // nmstart [_a-z]|{nonascii}|{escape}
+ // string {string1}|{string2}
+ // string1 \"([^\n\r\f\\"]|\\{nl}|{escape})*\"
+ // string2 \'([^\n\r\f\\"]|\\{nl}|{escape})*\'
+ //
+ // We'll implement a subset (in order to reduce attack
+ // surface); in particular:
+ //
+ // - No Unicode support
+ // - No escapes support
+ // - No string support (by proxy no attrib support)
+ // - element_name is matched against allowed
+ // elements (some people might find this
+ // annoying...)
+ // - Pseudo-elements one of :first-child, :link,
+ // :visited, :active, :hover, :focus
+
+ // handle ruleset
+ $selectors = array_map('trim', explode(',', $selector));
+ $new_selectors = array();
+ foreach ($selectors as $sel) {
+ // split on +, > and spaces
+ $basic_selectors = preg_split('/\s*([+> ])\s*/', $sel, -1, PREG_SPLIT_DELIM_CAPTURE);
+ // even indices are chunks, odd indices are
+ // delimiters
+ $nsel = null;
+ $delim = null; // guaranteed to be non-null after
+ // two loop iterations
+ for ($i = 0, $c = count($basic_selectors); $i < $c; $i++) {
+ $x = $basic_selectors[$i];
+ if ($i % 2) {
+ // delimiter
+ if ($x === ' ') {
+ $delim = ' ';
+ } else {
+ $delim = ' ' . $x . ' ';
+ }
+ } else {
+ // simple selector
+ $components = preg_split('/([#.:])/', $x, -1, PREG_SPLIT_DELIM_CAPTURE);
+ $sdelim = null;
+ $nx = null;
+ for ($j = 0, $cc = count($components); $j < $cc; $j++) {
+ $y = $components[$j];
+ if ($j === 0) {
+ if ($y === '*' || isset($html_definition->info[$y = strtolower($y)])) {
+ $nx = $y;
+ } else {
+ // $nx stays null; this matters
+ // if we don't manage to find
+ // any valid selector content,
+ // in which case we ignore the
+ // outer $delim
+ }
+ } elseif ($j % 2) {
+ // set delimiter
+ $sdelim = $y;
+ } else {
+ $attrdef = null;
+ if ($sdelim === '#') {
+ $attrdef = $this->_id_attrdef;
+ } elseif ($sdelim === '.') {
+ $attrdef = $this->_class_attrdef;
+ } elseif ($sdelim === ':') {
+ $attrdef = $this->_enum_attrdef;
+ } else {
+ throw new HTMLPurifier_Exception('broken invariant sdelim and preg_split');
+ }
+ $r = $attrdef->validate($y, $config, $context);
+ if ($r !== false) {
+ if ($r !== true) {
+ $y = $r;
+ }
+ if ($nx === null) {
+ $nx = '';
+ }
+ $nx .= $sdelim . $y;
+ }
+ }
+ }
+ if ($nx !== null) {
+ if ($nsel === null) {
+ $nsel = $nx;
+ } else {
+ $nsel .= $delim . $nx;
+ }
+ } else {
+ // delimiters to the left of invalid
+ // basic selector ignored
+ }
+ }
+ }
+ if ($nsel !== null) {
+ if (!empty($scopes)) {
+ foreach ($scopes as $s) {
+ $new_selectors[] = "$s $nsel";
+ }
+ } else {
+ $new_selectors[] = $nsel;
}
}
- $selector = implode(', ', $new_selector); // now it's a string
}
+ if (empty($new_selectors)) {
+ continue;
+ }
+ $selector = implode(', ', $new_selectors);
foreach ($style as $name => $value) {
if (!isset($css_definition->info[$name])) {
unset($style[$name]);
@@ -105,15 +305,19 @@ class HTMLPurifier_Filter_ExtractStyleBlocks extends HTMLPurifier_Filter
}
$def = $css_definition->info[$name];
$ret = $def->validate($value, $config, $context);
- if ($ret === false) unset($style[$name]);
- else $style[$name] = $ret;
+ if ($ret === false) {
+ unset($style[$name]);
+ } else {
+ $style[$name] = $ret;
+ }
}
$new_decls[$selector] = $style;
}
- $this->_tidy->css[$k] = $new_decls;
+ $new_css[$k] = $new_decls;
}
// remove stuff that shouldn't be used, could be reenabled
// after security risks are analyzed
+ $this->_tidy->css = $new_css;
$this->_tidy->import = array();
$this->_tidy->charset = null;
$this->_tidy->namespace = null;
@@ -122,14 +326,13 @@ class HTMLPurifier_Filter_ExtractStyleBlocks extends HTMLPurifier_Filter
// that no funny business occurs (i.e. </style> in a font-family prop).
if ($config->get('Filter.ExtractStyleBlocks.Escaping')) {
$css = str_replace(
- array('<', '>', '&'),
+ array('<', '>', '&'),
array('\3C ', '\3E ', '\26 '),
$css
);
}
return $css;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Filter/YouTube.php b/library/HTMLPurifier/Filter/YouTube.php
index 23df221ea..411519ad6 100644
--- a/library/HTMLPurifier/Filter/YouTube.php
+++ b/library/HTMLPurifier/Filter/YouTube.php
@@ -3,36 +3,62 @@
class HTMLPurifier_Filter_YouTube extends HTMLPurifier_Filter
{
+ /**
+ * @type string
+ */
public $name = 'YouTube';
- public function preFilter($html, $config, $context) {
- $pre_regex = '#<object[^>]+>.+?'.
+ /**
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function preFilter($html, $config, $context)
+ {
+ $pre_regex = '#<object[^>]+>.+?' .
'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s';
$pre_replace = '<span class="youtube-embed">\1</span>';
return preg_replace($pre_regex, $pre_replace, $html);
}
- public function postFilter($html, $config, $context) {
+ /**
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function postFilter($html, $config, $context)
+ {
$post_regex = '#<span class="youtube-embed">((?:v|cp)/[A-Za-z0-9\-_=]+)</span>#';
return preg_replace_callback($post_regex, array($this, 'postFilterCallback'), $html);
}
- protected function armorUrl($url) {
+ /**
+ * @param $url
+ * @return string
+ */
+ protected function armorUrl($url)
+ {
return str_replace('--', '-&#45;', $url);
}
- protected function postFilterCallback($matches) {
+ /**
+ * @param array $matches
+ * @return string
+ */
+ protected function postFilterCallback($matches)
+ {
$url = $this->armorUrl($matches[1]);
- return '<object width="425" height="350" type="application/x-shockwave-flash" '.
- 'data="http://www.youtube.com/'.$url.'">'.
- '<param name="movie" value="http://www.youtube.com/'.$url.'"></param>'.
- '<!--[if IE]>'.
- '<embed src="http://www.youtube.com/'.$url.'"'.
- 'type="application/x-shockwave-flash"'.
- 'wmode="transparent" width="425" height="350" />'.
- '<![endif]-->'.
- '</object>';
-
+ return '<object width="425" height="350" type="application/x-shockwave-flash" ' .
+ 'data="http://www.youtube.com/' . $url . '">' .
+ '<param name="movie" value="http://www.youtube.com/' . $url . '"></param>' .
+ '<!--[if IE]>' .
+ '<embed src="http://www.youtube.com/' . $url . '"' .
+ 'type="application/x-shockwave-flash"' .
+ 'wmode="transparent" width="425" height="350" />' .
+ '<![endif]-->' .
+ '</object>';
}
}
diff --git a/library/HTMLPurifier/Generator.php b/library/HTMLPurifier/Generator.php
index 4a6241727..6fb568714 100644
--- a/library/HTMLPurifier/Generator.php
+++ b/library/HTMLPurifier/Generator.php
@@ -11,49 +11,64 @@ class HTMLPurifier_Generator
{
/**
- * Whether or not generator should produce XML output
+ * Whether or not generator should produce XML output.
+ * @type bool
*/
private $_xhtml = true;
/**
- * :HACK: Whether or not generator should comment the insides of <script> tags
+ * :HACK: Whether or not generator should comment the insides of <script> tags.
+ * @type bool
*/
private $_scriptFix = false;
/**
* Cache of HTMLDefinition during HTML output to determine whether or
* not attributes should be minimized.
+ * @type HTMLPurifier_HTMLDefinition
*/
private $_def;
/**
- * Cache of %Output.SortAttr
+ * Cache of %Output.SortAttr.
+ * @type bool
*/
private $_sortAttr;
/**
- * Cache of %Output.FlashCompat
+ * Cache of %Output.FlashCompat.
+ * @type bool
*/
private $_flashCompat;
/**
+ * Cache of %Output.FixInnerHTML.
+ * @type bool
+ */
+ private $_innerHTMLFix;
+
+ /**
* Stack for keeping track of object information when outputting IE
* compatibility code.
+ * @type array
*/
private $_flashStack = array();
/**
* Configuration for the generator
+ * @type HTMLPurifier_Config
*/
protected $config;
/**
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
*/
- public function __construct($config, $context) {
+ public function __construct($config, $context)
+ {
$this->config = $config;
$this->_scriptFix = $config->get('Output.CommentScriptContents');
+ $this->_innerHTMLFix = $config->get('Output.FixInnerHTML');
$this->_sortAttr = $config->get('Output.SortAttr');
$this->_flashCompat = $config->get('Output.FlashCompat');
$this->_def = $config->getHTMLDefinition();
@@ -62,12 +77,14 @@ class HTMLPurifier_Generator
/**
* Generates HTML from an array of tokens.
- * @param $tokens Array of HTMLPurifier_Token
- * @param $config HTMLPurifier_Config object
- * @return Generated HTML
+ * @param HTMLPurifier_Token[] $tokens Array of HTMLPurifier_Token
+ * @return string Generated HTML
*/
- public function generateFromTokens($tokens) {
- if (!$tokens) return '';
+ public function generateFromTokens($tokens)
+ {
+ if (!$tokens) {
+ return '';
+ }
// Basic algorithm
$html = '';
@@ -86,30 +103,41 @@ class HTMLPurifier_Generator
// Tidy cleanup
if (extension_loaded('tidy') && $this->config->get('Output.TidyFormat')) {
$tidy = new Tidy;
- $tidy->parseString($html, array(
- 'indent'=> true,
- 'output-xhtml' => $this->_xhtml,
- 'show-body-only' => true,
- 'indent-spaces' => 2,
- 'wrap' => 68,
- ), 'utf8');
+ $tidy->parseString(
+ $html,
+ array(
+ 'indent'=> true,
+ 'output-xhtml' => $this->_xhtml,
+ 'show-body-only' => true,
+ 'indent-spaces' => 2,
+ 'wrap' => 68,
+ ),
+ 'utf8'
+ );
$tidy->cleanRepair();
$html = (string) $tidy; // explicit cast necessary
}
// Normalize newlines to system defined value
- $nl = $this->config->get('Output.Newline');
- if ($nl === null) $nl = PHP_EOL;
- if ($nl !== "\n") $html = str_replace("\n", $nl, $html);
+ if ($this->config->get('Core.NormalizeNewlines')) {
+ $nl = $this->config->get('Output.Newline');
+ if ($nl === null) {
+ $nl = PHP_EOL;
+ }
+ if ($nl !== "\n") {
+ $html = str_replace("\n", $nl, $html);
+ }
+ }
return $html;
}
/**
* Generates HTML from a single token.
- * @param $token HTMLPurifier_Token object.
- * @return Generated HTML
+ * @param HTMLPurifier_Token $token HTMLPurifier_Token object.
+ * @return string Generated HTML
*/
- public function generateFromToken($token) {
+ public function generateFromToken($token)
+ {
if (!$token instanceof HTMLPurifier_Token) {
trigger_error('Cannot generate HTML from non-HTMLPurifier_Token object', E_USER_WARNING);
return '';
@@ -130,19 +158,7 @@ class HTMLPurifier_Generator
$_extra = '';
if ($this->_flashCompat) {
if ($token->name == "object" && !empty($this->_flashStack)) {
- $flash = array_pop($this->_flashStack);
- $compat_token = new HTMLPurifier_Token_Empty("embed");
- foreach ($flash->attr as $name => $val) {
- if ($name == "classid") continue;
- if ($name == "type") continue;
- if ($name == "data") $name = "src";
- $compat_token->attr[$name] = $val;
- }
- foreach ($flash->param as $name => $val) {
- if ($name == "movie") $name = "src";
- $compat_token->attr[$name] = $val;
- }
- $_extra = "<!--[if IE]>".$this->generateFromToken($compat_token)."<![endif]-->";
+ // doesn't do anything for now
}
}
return $_extra . '</' . $token->name . '>';
@@ -169,11 +185,16 @@ class HTMLPurifier_Generator
/**
* Special case processor for the contents of script tags
+ * @param HTMLPurifier_Token $token HTMLPurifier_Token object.
+ * @return string
* @warning This runs into problems if there's already a literal
* --> somewhere inside the script contents.
*/
- public function generateScriptFromToken($token) {
- if (!$token instanceof HTMLPurifier_Token_Text) return $this->generateFromToken($token);
+ public function generateScriptFromToken($token)
+ {
+ if (!$token instanceof HTMLPurifier_Token_Text) {
+ return $this->generateFromToken($token);
+ }
// Thanks <http://lachy.id.au/log/2005/05/script-comments>
$data = preg_replace('#//\s*$#', '', $token->data);
return '<!--//--><![CDATA[//><!--' . "\n" . trim($data) . "\n" . '//--><!]]>';
@@ -182,24 +203,60 @@ class HTMLPurifier_Generator
/**
* Generates attribute declarations from attribute array.
* @note This does not include the leading or trailing space.
- * @param $assoc_array_of_attributes Attribute array
- * @param $element Name of element attributes are for, used to check
+ * @param array $assoc_array_of_attributes Attribute array
+ * @param string $element Name of element attributes are for, used to check
* attribute minimization.
- * @return Generate HTML fragment for insertion.
+ * @return string Generated HTML fragment for insertion.
*/
- public function generateAttributes($assoc_array_of_attributes, $element = false) {
+ public function generateAttributes($assoc_array_of_attributes, $element = '')
+ {
$html = '';
- if ($this->_sortAttr) ksort($assoc_array_of_attributes);
+ if ($this->_sortAttr) {
+ ksort($assoc_array_of_attributes);
+ }
foreach ($assoc_array_of_attributes as $key => $value) {
if (!$this->_xhtml) {
// Remove namespaced attributes
- if (strpos($key, ':') !== false) continue;
+ if (strpos($key, ':') !== false) {
+ continue;
+ }
// Check if we should minimize the attribute: val="val" -> val
if ($element && !empty($this->_def->info[$element]->attr[$key]->minimized)) {
$html .= $key . ' ';
continue;
}
}
+ // Workaround for Internet Explorer innerHTML bug.
+ // Essentially, Internet Explorer, when calculating
+ // innerHTML, omits quotes if there are no instances of
+ // angled brackets, quotes or spaces. However, when parsing
+ // HTML (for example, when you assign to innerHTML), it
+ // treats backticks as quotes. Thus,
+ // <img alt="``" />
+ // becomes
+ // <img alt=`` />
+ // becomes
+ // <img alt='' />
+ // Fortunately, all we need to do is trigger an appropriate
+ // quoting style, which we do by adding an extra space.
+ // This also is consistent with the W3C spec, which states
+ // that user agents may ignore leading or trailing
+ // whitespace (in fact, most don't, at least for attributes
+ // like alt, but an extra space at the end is barely
+ // noticeable). Still, we have a configuration knob for
+ // this, since this transformation is not necesary if you
+ // don't process user input with innerHTML or you don't plan
+ // on supporting Internet Explorer.
+ if ($this->_innerHTMLFix) {
+ if (strpos($value, '`') !== false) {
+ // check if correct quoting style would not already be
+ // triggered
+ if (strcspn($value, '"\' <>') === strlen($value)) {
+ // protect!
+ $value .= ' ';
+ }
+ }
+ }
$html .= $key.'="'.$this->escape($value).'" ';
}
return rtrim($html);
@@ -210,15 +267,20 @@ class HTMLPurifier_Generator
* @todo This really ought to be protected, but until we have a facility
* for properly generating HTML here w/o using tokens, it stays
* public.
- * @param $string String data to escape for HTML.
- * @param $quote Quoting style, like htmlspecialchars. ENT_NOQUOTES is
+ * @param string $string String data to escape for HTML.
+ * @param int $quote Quoting style, like htmlspecialchars. ENT_NOQUOTES is
* permissible for non-attribute output.
- * @return String escaped data.
+ * @return string escaped data.
*/
- public function escape($string, $quote = ENT_COMPAT) {
+ public function escape($string, $quote = null)
+ {
+ // Workaround for APC bug on Mac Leopard reported by sidepodcast
+ // http://htmlpurifier.org/phorum/read.php?3,4823,4846
+ if ($quote === null) {
+ $quote = ENT_COMPAT;
+ }
return htmlspecialchars($string, $quote, 'UTF-8');
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLDefinition.php b/library/HTMLPurifier/HTMLDefinition.php
index c99ac11eb..9b7b334dd 100644
--- a/library/HTMLPurifier/HTMLDefinition.php
+++ b/library/HTMLPurifier/HTMLDefinition.php
@@ -29,60 +29,71 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
// FULLY-PUBLIC VARIABLES ---------------------------------------------
/**
- * Associative array of element names to HTMLPurifier_ElementDef
+ * Associative array of element names to HTMLPurifier_ElementDef.
+ * @type HTMLPurifier_ElementDef[]
*/
public $info = array();
/**
* Associative array of global attribute name to attribute definition.
+ * @type array
*/
public $info_global_attr = array();
/**
* String name of parent element HTML will be going into.
+ * @type string
*/
public $info_parent = 'div';
/**
* Definition for parent element, allows parent element to be a
* tag that's not allowed inside the HTML fragment.
+ * @type HTMLPurifier_ElementDef
*/
public $info_parent_def;
/**
- * String name of element used to wrap inline elements in block context
+ * String name of element used to wrap inline elements in block context.
+ * @type string
* @note This is rarely used except for BLOCKQUOTEs in strict mode
*/
public $info_block_wrapper = 'p';
/**
- * Associative array of deprecated tag name to HTMLPurifier_TagTransform
+ * Associative array of deprecated tag name to HTMLPurifier_TagTransform.
+ * @type array
*/
public $info_tag_transform = array();
/**
* Indexed list of HTMLPurifier_AttrTransform to be performed before validation.
+ * @type HTMLPurifier_AttrTransform[]
*/
public $info_attr_transform_pre = array();
/**
* Indexed list of HTMLPurifier_AttrTransform to be performed after validation.
+ * @type HTMLPurifier_AttrTransform[]
*/
public $info_attr_transform_post = array();
/**
* Nested lookup array of content set name (Block, Inline) to
* element name to whether or not it belongs in that content set.
+ * @type array
*/
public $info_content_sets = array();
/**
* Indexed list of HTMLPurifier_Injector to be used.
+ * @type HTMLPurifier_Injector[]
*/
public $info_injector = array();
/**
* Doctype object
+ * @type HTMLPurifier_Doctype
*/
public $doctype;
@@ -94,12 +105,13 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
* Adds a custom attribute to a pre-existing element
* @note This is strictly convenience, and does not have a corresponding
* method in HTMLPurifier_HTMLModule
- * @param $element_name String element name to add attribute to
- * @param $attr_name String name of attribute
- * @param $def Attribute definition, can be string or object, see
+ * @param string $element_name Element name to add attribute to
+ * @param string $attr_name Name of attribute
+ * @param mixed $def Attribute definition, can be string or object, see
* HTMLPurifier_AttrTypes for details
*/
- public function addAttribute($element_name, $attr_name, $def) {
+ public function addAttribute($element_name, $attr_name, $def)
+ {
$module = $this->getAnonymousModule();
if (!isset($module->info[$element_name])) {
$element = $module->addBlankElement($element_name);
@@ -111,10 +123,11 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
/**
* Adds a custom element to your HTML definition
- * @note See HTMLPurifier_HTMLModule::addElement for detailed
+ * @see HTMLPurifier_HTMLModule::addElement() for detailed
* parameter and return value descriptions.
*/
- public function addElement($element_name, $type, $contents, $attr_collections, $attributes = array()) {
+ public function addElement($element_name, $type, $contents, $attr_collections, $attributes = array())
+ {
$module = $this->getAnonymousModule();
// assume that if the user is calling this, the element
// is safe. This may not be a good idea
@@ -125,10 +138,13 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
/**
* Adds a blank element to your HTML definition, for overriding
* existing behavior
- * @note See HTMLPurifier_HTMLModule::addBlankElement for detailed
+ * @param string $element_name
+ * @return HTMLPurifier_ElementDef
+ * @see HTMLPurifier_HTMLModule::addBlankElement() for detailed
* parameter and return value descriptions.
*/
- public function addBlankElement($element_name) {
+ public function addBlankElement($element_name)
+ {
$module = $this->getAnonymousModule();
$element = $module->addBlankElement($element_name);
return $element;
@@ -138,8 +154,10 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
* Retrieves a reference to the anonymous module, so you can
* bust out advanced features without having to make your own
* module.
+ * @return HTMLPurifier_HTMLModule
*/
- public function getAnonymousModule() {
+ public function getAnonymousModule()
+ {
if (!$this->_anonModule) {
$this->_anonModule = new HTMLPurifier_HTMLModule();
$this->_anonModule->name = 'Anonymous';
@@ -147,22 +165,33 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
return $this->_anonModule;
}
- private $_anonModule;
-
+ private $_anonModule = null;
// PUBLIC BUT INTERNAL VARIABLES --------------------------------------
+ /**
+ * @type string
+ */
public $type = 'HTML';
- public $manager; /**< Instance of HTMLPurifier_HTMLModuleManager */
+
+ /**
+ * @type HTMLPurifier_HTMLModuleManager
+ */
+ public $manager;
/**
* Performs low-cost, preliminary initialization.
*/
- public function __construct() {
+ public function __construct()
+ {
$this->manager = new HTMLPurifier_HTMLModuleManager();
}
- protected function doSetup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ protected function doSetup($config)
+ {
$this->processModules($config);
$this->setupConfigStuff($config);
unset($this->manager);
@@ -176,9 +205,10 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
/**
* Extract out the information from the manager
+ * @param HTMLPurifier_Config $config
*/
- protected function processModules($config) {
-
+ protected function processModules($config)
+ {
if ($this->_anonModule) {
// for user specific changes
// this is late-loaded so we don't have to deal with PHP4
@@ -191,40 +221,53 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
$this->doctype = $this->manager->doctype;
foreach ($this->manager->modules as $module) {
- foreach($module->info_tag_transform as $k => $v) {
- if ($v === false) unset($this->info_tag_transform[$k]);
- else $this->info_tag_transform[$k] = $v;
+ foreach ($module->info_tag_transform as $k => $v) {
+ if ($v === false) {
+ unset($this->info_tag_transform[$k]);
+ } else {
+ $this->info_tag_transform[$k] = $v;
+ }
}
- foreach($module->info_attr_transform_pre as $k => $v) {
- if ($v === false) unset($this->info_attr_transform_pre[$k]);
- else $this->info_attr_transform_pre[$k] = $v;
+ foreach ($module->info_attr_transform_pre as $k => $v) {
+ if ($v === false) {
+ unset($this->info_attr_transform_pre[$k]);
+ } else {
+ $this->info_attr_transform_pre[$k] = $v;
+ }
}
- foreach($module->info_attr_transform_post as $k => $v) {
- if ($v === false) unset($this->info_attr_transform_post[$k]);
- else $this->info_attr_transform_post[$k] = $v;
+ foreach ($module->info_attr_transform_post as $k => $v) {
+ if ($v === false) {
+ unset($this->info_attr_transform_post[$k]);
+ } else {
+ $this->info_attr_transform_post[$k] = $v;
+ }
}
foreach ($module->info_injector as $k => $v) {
- if ($v === false) unset($this->info_injector[$k]);
- else $this->info_injector[$k] = $v;
+ if ($v === false) {
+ unset($this->info_injector[$k]);
+ } else {
+ $this->info_injector[$k] = $v;
+ }
}
}
-
$this->info = $this->manager->getElements();
$this->info_content_sets = $this->manager->contentSets->lookup;
-
}
/**
* Sets up stuff based on config. We need a better way of doing this.
+ * @param HTMLPurifier_Config $config
*/
- protected function setupConfigStuff($config) {
-
+ protected function setupConfigStuff($config)
+ {
$block_wrapper = $config->get('HTML.BlockWrapper');
if (isset($this->info_content_sets['Block'][$block_wrapper])) {
$this->info_block_wrapper = $block_wrapper;
} else {
- trigger_error('Cannot use non-block element as block wrapper',
- E_USER_ERROR);
+ trigger_error(
+ 'Cannot use non-block element as block wrapper',
+ E_USER_ERROR
+ );
}
$parent = $config->get('HTML.Parent');
@@ -233,14 +276,15 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
$this->info_parent = $parent;
$this->info_parent_def = $def;
} else {
- trigger_error('Cannot use unrecognized element as parent',
- E_USER_ERROR);
+ trigger_error(
+ 'Cannot use unrecognized element as parent',
+ E_USER_ERROR
+ );
$this->info_parent_def = $this->manager->getElement($this->info_parent, true);
}
// support template text
- $support = "(for information on implementing this, see the ".
- "support forums) ";
+ $support = "(for information on implementing this, see the support forums) ";
// setup allowed elements -----------------------------------------
@@ -256,7 +300,9 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
if (is_array($allowed_elements)) {
foreach ($this->info as $name => $d) {
- if(!isset($allowed_elements[$name])) unset($this->info[$name]);
+ if (!isset($allowed_elements[$name])) {
+ unset($this->info[$name]);
+ }
unset($allowed_elements[$name]);
}
// emit errors
@@ -270,7 +316,6 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
$allowed_attributes_mutable = $allowed_attributes; // by copy!
if (is_array($allowed_attributes)) {
-
// This actually doesn't do anything, since we went away from
// global attributes. It's possible that userland code uses
// it, but HTMLModuleManager doesn't!
@@ -285,7 +330,9 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
unset($allowed_attributes_mutable[$key]);
}
}
- if ($delete) unset($this->info_global_attr[$attr]);
+ if ($delete) {
+ unset($this->info_global_attr[$attr]);
+ }
}
foreach ($this->info as $tag => $info) {
@@ -300,7 +347,16 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
unset($allowed_attributes_mutable[$key]);
}
}
- if ($delete) unset($this->info[$tag]->attr[$attr]);
+ if ($delete) {
+ if ($this->info[$tag]->attr[$attr]->required) {
+ trigger_error(
+ "Required attribute '$attr' in element '$tag' " .
+ "was not allowed, which means '$tag' will not be allowed either",
+ E_USER_WARNING
+ );
+ }
+ unset($this->info[$tag]->attr[$attr]);
+ }
}
}
// emit errors
@@ -313,23 +369,29 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
$element = htmlspecialchars($bits[0]);
$attribute = htmlspecialchars($bits[1]);
if (!isset($this->info[$element])) {
- trigger_error("Cannot allow attribute '$attribute' if element '$element' is not allowed/supported $support");
+ trigger_error(
+ "Cannot allow attribute '$attribute' if element " .
+ "'$element' is not allowed/supported $support"
+ );
} else {
- trigger_error("Attribute '$attribute' in element '$element' not supported $support",
- E_USER_WARNING);
+ trigger_error(
+ "Attribute '$attribute' in element '$element' not supported $support",
+ E_USER_WARNING
+ );
}
break;
}
// otherwise fall through
case 1:
$attribute = htmlspecialchars($bits[0]);
- trigger_error("Global attribute '$attribute' is not ".
+ trigger_error(
+ "Global attribute '$attribute' is not ".
"supported in any elements $support",
- E_USER_WARNING);
+ E_USER_WARNING
+ );
break;
}
}
-
}
// setup forbidden elements ---------------------------------------
@@ -343,25 +405,34 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
continue;
}
foreach ($info->attr as $attr => $x) {
- if (
- isset($forbidden_attributes["$tag@$attr"]) ||
+ if (isset($forbidden_attributes["$tag@$attr"]) ||
isset($forbidden_attributes["*@$attr"]) ||
isset($forbidden_attributes[$attr])
) {
unset($this->info[$tag]->attr[$attr]);
continue;
- } // this segment might get removed eventually
- elseif (isset($forbidden_attributes["$tag.$attr"])) {
+ } elseif (isset($forbidden_attributes["$tag.$attr"])) { // this segment might get removed eventually
// $tag.$attr are not user supplied, so no worries!
- trigger_error("Error with $tag.$attr: tag.attr syntax not supported for HTML.ForbiddenAttributes; use tag@attr instead", E_USER_WARNING);
+ trigger_error(
+ "Error with $tag.$attr: tag.attr syntax not supported for " .
+ "HTML.ForbiddenAttributes; use tag@attr instead",
+ E_USER_WARNING
+ );
}
}
}
foreach ($forbidden_attributes as $key => $v) {
- if (strlen($key) < 2) continue;
- if ($key[0] != '*') continue;
+ if (strlen($key) < 2) {
+ continue;
+ }
+ if ($key[0] != '*') {
+ continue;
+ }
if ($key[1] == '.') {
- trigger_error("Error with $key: *.attr syntax not supported for HTML.ForbiddenAttributes; use attr instead", E_USER_WARNING);
+ trigger_error(
+ "Error with $key: *.attr syntax not supported for HTML.ForbiddenAttributes; use attr instead",
+ E_USER_WARNING
+ );
}
}
@@ -380,12 +451,12 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
* separate lists for processing. Format is element[attr1|attr2],element2...
* @warning Although it's largely drawn from TinyMCE's implementation,
* it is different, and you'll probably have to modify your lists
- * @param $list String list to parse
- * @param array($allowed_elements, $allowed_attributes)
+ * @param array $list String list to parse
+ * @return array
* @todo Give this its own class, probably static interface
*/
- public function parseTinyMCEAllowedList($list) {
-
+ public function parseTinyMCEAllowedList($list)
+ {
$list = str_replace(array(' ', "\t"), '', $list);
$elements = array();
@@ -393,7 +464,9 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
$chunks = preg_split('/(,|[\n\r]+)/', $list);
foreach ($chunks as $chunk) {
- if (empty($chunk)) continue;
+ if (empty($chunk)) {
+ continue;
+ }
// remove TinyMCE element control characters
if (!strpos($chunk, '[')) {
$element = $chunk;
@@ -401,20 +474,20 @@ class HTMLPurifier_HTMLDefinition extends HTMLPurifier_Definition
} else {
list($element, $attr) = explode('[', $chunk);
}
- if ($element !== '*') $elements[$element] = true;
- if (!$attr) continue;
+ if ($element !== '*') {
+ $elements[$element] = true;
+ }
+ if (!$attr) {
+ continue;
+ }
$attr = substr($attr, 0, strlen($attr) - 1); // remove trailing ]
$attr = explode('|', $attr);
foreach ($attr as $key) {
$attributes["$element.$key"] = true;
}
}
-
return array($elements, $attributes);
-
}
-
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule.php b/library/HTMLPurifier/HTMLModule.php
index 072cf6808..bb3a9230b 100644
--- a/library/HTMLPurifier/HTMLModule.php
+++ b/library/HTMLPurifier/HTMLModule.php
@@ -21,13 +21,15 @@ class HTMLPurifier_HTMLModule
// -- Overloadable ----------------------------------------------------
/**
- * Short unique string identifier of the module
+ * Short unique string identifier of the module.
+ * @type string
*/
public $name;
/**
- * Informally, a list of elements this module changes. Not used in
- * any significant way.
+ * Informally, a list of elements this module changes.
+ * Not used in any significant way.
+ * @type array
*/
public $elements = array();
@@ -35,6 +37,7 @@ class HTMLPurifier_HTMLModule
* Associative array of element names to element definitions.
* Some definitions may be incomplete, to be merged in later
* with the full definition.
+ * @type array
*/
public $info = array();
@@ -43,6 +46,7 @@ class HTMLPurifier_HTMLModule
* This is commonly used to, say, add an A element to the Inline
* content set. This corresponds to an internal variable $content_sets
* and NOT info_content_sets member variable of HTMLDefinition.
+ * @type array
*/
public $content_sets = array();
@@ -53,21 +57,25 @@ class HTMLPurifier_HTMLModule
* the style attribute to the Core. Corresponds to HTMLDefinition's
* attr_collections->info, since the object's data is only info,
* with extra behavior associated with it.
+ * @type array
*/
public $attr_collections = array();
/**
- * Associative array of deprecated tag name to HTMLPurifier_TagTransform
+ * Associative array of deprecated tag name to HTMLPurifier_TagTransform.
+ * @type array
*/
public $info_tag_transform = array();
/**
* List of HTMLPurifier_AttrTransform to be performed before validation.
+ * @type array
*/
public $info_attr_transform_pre = array();
/**
* List of HTMLPurifier_AttrTransform to be performed after validation.
+ * @type array
*/
public $info_attr_transform_post = array();
@@ -76,6 +84,7 @@ class HTMLPurifier_HTMLModule
* An injector will only be invoked if all of it's pre-requisites are met;
* if an injector fails setup, there will be no error; it will simply be
* silently disabled.
+ * @type array
*/
public $info_injector = array();
@@ -84,6 +93,7 @@ class HTMLPurifier_HTMLModule
* For optimization reasons: may save a call to a function. Be sure
* to set it if you do implement getChildDef(), otherwise it will have
* no effect!
+ * @type bool
*/
public $defines_child_def = false;
@@ -94,6 +104,7 @@ class HTMLPurifier_HTMLModule
* which is based off of safe HTML, to explicitly say, "This is safe," even
* though there are modules which are "unsafe")
*
+ * @type bool
* @note Previously, safety could be applied at an element level granularity.
* We've removed this ability, so in order to add "unsafe" elements
* or attributes, a dedicated module with this property set to false
@@ -106,51 +117,62 @@ class HTMLPurifier_HTMLModule
* content_model and content_model_type member variables of
* the HTMLPurifier_ElementDef class. There is a similar function
* in HTMLPurifier_HTMLDefinition.
- * @param $def HTMLPurifier_ElementDef instance
+ * @param HTMLPurifier_ElementDef $def
* @return HTMLPurifier_ChildDef subclass
*/
- public function getChildDef($def) {return false;}
+ public function getChildDef($def)
+ {
+ return false;
+ }
// -- Convenience -----------------------------------------------------
/**
* Convenience function that sets up a new element
- * @param $element Name of element to add
- * @param $type What content set should element be registered to?
+ * @param string $element Name of element to add
+ * @param string|bool $type What content set should element be registered to?
* Set as false to skip this step.
- * @param $contents Allowed children in form of:
+ * @param string $contents Allowed children in form of:
* "$content_model_type: $content_model"
- * @param $attr_includes What attribute collections to register to
+ * @param array $attr_includes What attribute collections to register to
* element?
- * @param $attr What unique attributes does the element define?
- * @note See ElementDef for in-depth descriptions of these parameters.
- * @return Created element definition object, so you
+ * @param array $attr What unique attributes does the element define?
+ * @see HTMLPurifier_ElementDef:: for in-depth descriptions of these parameters.
+ * @return HTMLPurifier_ElementDef Created element definition object, so you
* can set advanced parameters
*/
- public function addElement($element, $type, $contents, $attr_includes = array(), $attr = array()) {
+ public function addElement($element, $type, $contents, $attr_includes = array(), $attr = array())
+ {
$this->elements[] = $element;
// parse content_model
list($content_model_type, $content_model) = $this->parseContents($contents);
// merge in attribute inclusions
$this->mergeInAttrIncludes($attr, $attr_includes);
// add element to content sets
- if ($type) $this->addElementToContentSet($element, $type);
+ if ($type) {
+ $this->addElementToContentSet($element, $type);
+ }
// create element
$this->info[$element] = HTMLPurifier_ElementDef::create(
- $content_model, $content_model_type, $attr
+ $content_model,
+ $content_model_type,
+ $attr
);
// literal object $contents means direct child manipulation
- if (!is_string($contents)) $this->info[$element]->child = $contents;
+ if (!is_string($contents)) {
+ $this->info[$element]->child = $contents;
+ }
return $this->info[$element];
}
/**
* Convenience function that creates a totally blank, non-standalone
* element.
- * @param $element Name of element to create
- * @return Created element
+ * @param string $element Name of element to create
+ * @return HTMLPurifier_ElementDef Created element
*/
- public function addBlankElement($element) {
+ public function addBlankElement($element)
+ {
if (!isset($this->info[$element])) {
$this->elements[] = $element;
$this->info[$element] = new HTMLPurifier_ElementDef();
@@ -163,27 +185,35 @@ class HTMLPurifier_HTMLModule
/**
* Convenience function that registers an element to a content set
- * @param Element to register
- * @param Name content set (warning: case sensitive, usually upper-case
+ * @param string $element Element to register
+ * @param string $type Name content set (warning: case sensitive, usually upper-case
* first letter)
*/
- public function addElementToContentSet($element, $type) {
- if (!isset($this->content_sets[$type])) $this->content_sets[$type] = '';
- else $this->content_sets[$type] .= ' | ';
+ public function addElementToContentSet($element, $type)
+ {
+ if (!isset($this->content_sets[$type])) {
+ $this->content_sets[$type] = '';
+ } else {
+ $this->content_sets[$type] .= ' | ';
+ }
$this->content_sets[$type] .= $element;
}
/**
* Convenience function that transforms single-string contents
* into separate content model and content model type
- * @param $contents Allowed children in form of:
+ * @param string $contents Allowed children in form of:
* "$content_model_type: $content_model"
+ * @return array
* @note If contents is an object, an array of two nulls will be
* returned, and the callee needs to take the original $contents
* and use it directly.
*/
- public function parseContents($contents) {
- if (!is_string($contents)) return array(null, null); // defer
+ public function parseContents($contents)
+ {
+ if (!is_string($contents)) {
+ return array(null, null);
+ } // defer
switch ($contents) {
// check for shorthand content model forms
case 'Empty':
@@ -202,13 +232,17 @@ class HTMLPurifier_HTMLModule
/**
* Convenience function that merges a list of attribute includes into
* an attribute array.
- * @param $attr Reference to attr array to modify
- * @param $attr_includes Array of includes / string include to merge in
+ * @param array $attr Reference to attr array to modify
+ * @param array $attr_includes Array of includes / string include to merge in
*/
- public function mergeInAttrIncludes(&$attr, $attr_includes) {
+ public function mergeInAttrIncludes(&$attr, $attr_includes)
+ {
if (!is_array($attr_includes)) {
- if (empty($attr_includes)) $attr_includes = array();
- else $attr_includes = array($attr_includes);
+ if (empty($attr_includes)) {
+ $attr_includes = array();
+ } else {
+ $attr_includes = array($attr_includes);
+ }
}
$attr[0] = $attr_includes;
}
@@ -216,16 +250,21 @@ class HTMLPurifier_HTMLModule
/**
* Convenience function that generates a lookup table with boolean
* true as value.
- * @param $list List of values to turn into a lookup
+ * @param string $list List of values to turn into a lookup
* @note You can also pass an arbitrary number of arguments in
* place of the regular argument
- * @return Lookup array equivalent of list
+ * @return array array equivalent of list
*/
- public function makeLookup($list) {
- if (is_string($list)) $list = func_get_args();
+ public function makeLookup($list)
+ {
+ if (is_string($list)) {
+ $list = func_get_args();
+ }
$ret = array();
foreach ($list as $value) {
- if (is_null($value)) continue;
+ if (is_null($value)) {
+ continue;
+ }
$ret[$value] = true;
}
return $ret;
@@ -235,10 +274,11 @@ class HTMLPurifier_HTMLModule
* Lazy load construction of the module after determining whether
* or not it's needed, and also when a finalized configuration object
* is available.
- * @param $config Instance of HTMLPurifier_Config
+ * @param HTMLPurifier_Config $config
*/
- public function setup($config) {}
-
+ public function setup($config)
+ {
+ }
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Bdo.php b/library/HTMLPurifier/HTMLModule/Bdo.php
index 3d66f1b4e..1e67c790d 100644
--- a/library/HTMLPurifier/HTMLModule/Bdo.php
+++ b/library/HTMLPurifier/HTMLModule/Bdo.php
@@ -7,25 +7,38 @@
class HTMLPurifier_HTMLModule_Bdo extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'Bdo';
+
+ /**
+ * @type array
+ */
public $attr_collections = array(
'I18N' => array('dir' => false)
);
- public function setup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
$bdo = $this->addElement(
- 'bdo', 'Inline', 'Inline', array('Core', 'Lang'),
+ 'bdo',
+ 'Inline',
+ 'Inline',
+ array('Core', 'Lang'),
array(
'dir' => 'Enum#ltr,rtl', // required
// The Abstract Module specification has the attribute
// inclusions wrong for bdo: bdo allows Lang
)
);
- $bdo->attr_transform_post['required-dir'] = new HTMLPurifier_AttrTransform_BdoDir();
+ $bdo->attr_transform_post[] = new HTMLPurifier_AttrTransform_BdoDir();
$this->attr_collections['I18N']['dir'] = 'Enum#ltr,rtl';
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/CommonAttributes.php b/library/HTMLPurifier/HTMLModule/CommonAttributes.php
index 7c15da84f..a96ab1bef 100644
--- a/library/HTMLPurifier/HTMLModule/CommonAttributes.php
+++ b/library/HTMLPurifier/HTMLModule/CommonAttributes.php
@@ -2,8 +2,14 @@
class HTMLPurifier_HTMLModule_CommonAttributes extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'CommonAttributes';
+ /**
+ * @type array
+ */
public $attr_collections = array(
'Core' => array(
0 => array('Style'),
@@ -20,7 +26,6 @@ class HTMLPurifier_HTMLModule_CommonAttributes extends HTMLPurifier_HTMLModule
0 => array('Core', 'I18N')
)
);
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Edit.php b/library/HTMLPurifier/HTMLModule/Edit.php
index ff9369055..a9042a357 100644
--- a/library/HTMLPurifier/HTMLModule/Edit.php
+++ b/library/HTMLPurifier/HTMLModule/Edit.php
@@ -7,9 +7,16 @@
class HTMLPurifier_HTMLModule_Edit extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'Edit';
- public function setup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
$contents = 'Chameleon: #PCDATA | Inline ! #PCDATA | Flow';
$attr = array(
'cite' => 'URI',
@@ -26,13 +33,23 @@ class HTMLPurifier_HTMLModule_Edit extends HTMLPurifier_HTMLModule
// Inline context ! Block context (exclamation mark is
// separator, see getChildDef for parsing)
+ /**
+ * @type bool
+ */
public $defines_child_def = true;
- public function getChildDef($def) {
- if ($def->content_model_type != 'chameleon') return false;
+
+ /**
+ * @param HTMLPurifier_ElementDef $def
+ * @return HTMLPurifier_ChildDef_Chameleon
+ */
+ public function getChildDef($def)
+ {
+ if ($def->content_model_type != 'chameleon') {
+ return false;
+ }
$value = explode('!', $def->content_model);
return new HTMLPurifier_ChildDef_Chameleon($value[0], $value[1]);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Forms.php b/library/HTMLPurifier/HTMLModule/Forms.php
index 44c22f6f8..6f7ddbc05 100644
--- a/library/HTMLPurifier/HTMLModule/Forms.php
+++ b/library/HTMLPurifier/HTMLModule/Forms.php
@@ -5,86 +5,142 @@
*/
class HTMLPurifier_HTMLModule_Forms extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'Forms';
+
+ /**
+ * @type bool
+ */
public $safe = false;
+ /**
+ * @type array
+ */
public $content_sets = array(
'Block' => 'Form',
'Inline' => 'Formctrl',
);
- public function setup($config) {
- $form = $this->addElement('form', 'Form',
- 'Required: Heading | List | Block | fieldset', 'Common', array(
- 'accept' => 'ContentTypes',
- 'accept-charset' => 'Charsets',
- 'action*' => 'URI',
- 'method' => 'Enum#get,post',
- // really ContentType, but these two are the only ones used today
- 'enctype' => 'Enum#application/x-www-form-urlencoded,multipart/form-data',
- ));
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $form = $this->addElement(
+ 'form',
+ 'Form',
+ 'Required: Heading | List | Block | fieldset',
+ 'Common',
+ array(
+ 'accept' => 'ContentTypes',
+ 'accept-charset' => 'Charsets',
+ 'action*' => 'URI',
+ 'method' => 'Enum#get,post',
+ // really ContentType, but these two are the only ones used today
+ 'enctype' => 'Enum#application/x-www-form-urlencoded,multipart/form-data',
+ )
+ );
$form->excludes = array('form' => true);
- $input = $this->addElement('input', 'Formctrl', 'Empty', 'Common', array(
- 'accept' => 'ContentTypes',
- 'accesskey' => 'Character',
- 'alt' => 'Text',
- 'checked' => 'Bool#checked',
- 'disabled' => 'Bool#disabled',
- 'maxlength' => 'Number',
- 'name' => 'CDATA',
- 'readonly' => 'Bool#readonly',
- 'size' => 'Number',
- 'src' => 'URI#embeds',
- 'tabindex' => 'Number',
- 'type' => 'Enum#text,password,checkbox,button,radio,submit,reset,file,hidden,image',
- 'value' => 'CDATA',
- ));
+ $input = $this->addElement(
+ 'input',
+ 'Formctrl',
+ 'Empty',
+ 'Common',
+ array(
+ 'accept' => 'ContentTypes',
+ 'accesskey' => 'Character',
+ 'alt' => 'Text',
+ 'checked' => 'Bool#checked',
+ 'disabled' => 'Bool#disabled',
+ 'maxlength' => 'Number',
+ 'name' => 'CDATA',
+ 'readonly' => 'Bool#readonly',
+ 'size' => 'Number',
+ 'src' => 'URI#embedded',
+ 'tabindex' => 'Number',
+ 'type' => 'Enum#text,password,checkbox,button,radio,submit,reset,file,hidden,image',
+ 'value' => 'CDATA',
+ )
+ );
$input->attr_transform_post[] = new HTMLPurifier_AttrTransform_Input();
- $this->addElement('select', 'Formctrl', 'Required: optgroup | option', 'Common', array(
- 'disabled' => 'Bool#disabled',
- 'multiple' => 'Bool#multiple',
- 'name' => 'CDATA',
- 'size' => 'Number',
- 'tabindex' => 'Number',
- ));
-
- $this->addElement('option', false, 'Optional: #PCDATA', 'Common', array(
- 'disabled' => 'Bool#disabled',
- 'label' => 'Text',
- 'selected' => 'Bool#selected',
- 'value' => 'CDATA',
- ));
+ $this->addElement(
+ 'select',
+ 'Formctrl',
+ 'Required: optgroup | option',
+ 'Common',
+ array(
+ 'disabled' => 'Bool#disabled',
+ 'multiple' => 'Bool#multiple',
+ 'name' => 'CDATA',
+ 'size' => 'Number',
+ 'tabindex' => 'Number',
+ )
+ );
+
+ $this->addElement(
+ 'option',
+ false,
+ 'Optional: #PCDATA',
+ 'Common',
+ array(
+ 'disabled' => 'Bool#disabled',
+ 'label' => 'Text',
+ 'selected' => 'Bool#selected',
+ 'value' => 'CDATA',
+ )
+ );
// It's illegal for there to be more than one selected, but not
// be multiple. Also, no selected means undefined behavior. This might
// be difficult to implement; perhaps an injector, or a context variable.
- $textarea = $this->addElement('textarea', 'Formctrl', 'Optional: #PCDATA', 'Common', array(
- 'accesskey' => 'Character',
- 'cols*' => 'Number',
- 'disabled' => 'Bool#disabled',
- 'name' => 'CDATA',
- 'readonly' => 'Bool#readonly',
- 'rows*' => 'Number',
- 'tabindex' => 'Number',
- ));
+ $textarea = $this->addElement(
+ 'textarea',
+ 'Formctrl',
+ 'Optional: #PCDATA',
+ 'Common',
+ array(
+ 'accesskey' => 'Character',
+ 'cols*' => 'Number',
+ 'disabled' => 'Bool#disabled',
+ 'name' => 'CDATA',
+ 'readonly' => 'Bool#readonly',
+ 'rows*' => 'Number',
+ 'tabindex' => 'Number',
+ )
+ );
$textarea->attr_transform_pre[] = new HTMLPurifier_AttrTransform_Textarea();
- $button = $this->addElement('button', 'Formctrl', 'Optional: #PCDATA | Heading | List | Block | Inline', 'Common', array(
- 'accesskey' => 'Character',
- 'disabled' => 'Bool#disabled',
- 'name' => 'CDATA',
- 'tabindex' => 'Number',
- 'type' => 'Enum#button,submit,reset',
- 'value' => 'CDATA',
- ));
+ $button = $this->addElement(
+ 'button',
+ 'Formctrl',
+ 'Optional: #PCDATA | Heading | List | Block | Inline',
+ 'Common',
+ array(
+ 'accesskey' => 'Character',
+ 'disabled' => 'Bool#disabled',
+ 'name' => 'CDATA',
+ 'tabindex' => 'Number',
+ 'type' => 'Enum#button,submit,reset',
+ 'value' => 'CDATA',
+ )
+ );
// For exclusions, ideally we'd specify content sets, not literal elements
$button->excludes = $this->makeLookup(
- 'form', 'fieldset', // Form
- 'input', 'select', 'textarea', 'label', 'button', // Formctrl
- 'a' // as per HTML 4.01 spec, this is omitted by modularization
+ 'form',
+ 'fieldset', // Form
+ 'input',
+ 'select',
+ 'textarea',
+ 'label',
+ 'button', // Formctrl
+ 'a', // as per HTML 4.01 spec, this is omitted by modularization
+ 'isindex',
+ 'iframe' // legacy items
);
// Extra exclusion: img usemap="" is not permitted within this element.
@@ -94,24 +150,40 @@ class HTMLPurifier_HTMLModule_Forms extends HTMLPurifier_HTMLModule
// This is HIGHLY user-unfriendly; we need a custom child-def for this
$this->addElement('fieldset', 'Form', 'Custom: (#WS?,legend,(Flow|#PCDATA)*)', 'Common');
- $label = $this->addElement('label', 'Formctrl', 'Optional: #PCDATA | Inline', 'Common', array(
- 'accesskey' => 'Character',
- // 'for' => 'IDREF', // IDREF not implemented, cannot allow
- ));
+ $label = $this->addElement(
+ 'label',
+ 'Formctrl',
+ 'Optional: #PCDATA | Inline',
+ 'Common',
+ array(
+ 'accesskey' => 'Character',
+ // 'for' => 'IDREF', // IDREF not implemented, cannot allow
+ )
+ );
$label->excludes = array('label' => true);
- $this->addElement('legend', false, 'Optional: #PCDATA | Inline', 'Common', array(
- 'accesskey' => 'Character',
- ));
-
- $this->addElement('optgroup', false, 'Required: option', 'Common', array(
- 'disabled' => 'Bool#disabled',
- 'label*' => 'Text',
- ));
+ $this->addElement(
+ 'legend',
+ false,
+ 'Optional: #PCDATA | Inline',
+ 'Common',
+ array(
+ 'accesskey' => 'Character',
+ )
+ );
+ $this->addElement(
+ 'optgroup',
+ false,
+ 'Required: option',
+ 'Common',
+ array(
+ 'disabled' => 'Bool#disabled',
+ 'label*' => 'Text',
+ )
+ );
// Don't forget an injector for <isindex>. This one's a little complex
// because it maps to multiple elements.
-
}
}
diff --git a/library/HTMLPurifier/HTMLModule/Hypertext.php b/library/HTMLPurifier/HTMLModule/Hypertext.php
index d7e9bdd27..72d7a31e6 100644
--- a/library/HTMLPurifier/HTMLModule/Hypertext.php
+++ b/library/HTMLPurifier/HTMLModule/Hypertext.php
@@ -6,11 +6,21 @@
class HTMLPurifier_HTMLModule_Hypertext extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'Hypertext';
- public function setup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
$a = $this->addElement(
- 'a', 'Inline', 'Inline', 'Common',
+ 'a',
+ 'Inline',
+ 'Inline',
+ 'Common',
array(
// 'accesskey' => 'Character',
// 'charset' => 'Charset',
@@ -25,7 +35,6 @@ class HTMLPurifier_HTMLModule_Hypertext extends HTMLPurifier_HTMLModule
$a->formatting = true;
$a->excludes = array('a' => true);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Iframe.php b/library/HTMLPurifier/HTMLModule/Iframe.php
new file mode 100644
index 000000000..f7e7c91c0
--- /dev/null
+++ b/library/HTMLPurifier/HTMLModule/Iframe.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * XHTML 1.1 Iframe Module provides inline frames.
+ *
+ * @note This module is not considered safe unless an Iframe
+ * whitelisting mechanism is specified. Currently, the only
+ * such mechanism is %URL.SafeIframeRegexp
+ */
+class HTMLPurifier_HTMLModule_Iframe extends HTMLPurifier_HTMLModule
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Iframe';
+
+ /**
+ * @type bool
+ */
+ public $safe = false;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ if ($config->get('HTML.SafeIframe')) {
+ $this->safe = true;
+ }
+ $this->addElement(
+ 'iframe',
+ 'Inline',
+ 'Flow',
+ 'Common',
+ array(
+ 'src' => 'URI#embedded',
+ 'width' => 'Length',
+ 'height' => 'Length',
+ 'name' => 'ID',
+ 'scrolling' => 'Enum#yes,no,auto',
+ 'frameborder' => 'Enum#0,1',
+ 'longdesc' => 'URI',
+ 'marginheight' => 'Pixels',
+ 'marginwidth' => 'Pixels',
+ )
+ );
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Image.php b/library/HTMLPurifier/HTMLModule/Image.php
index 948d435bc..0f5fdb3ba 100644
--- a/library/HTMLPurifier/HTMLModule/Image.php
+++ b/library/HTMLPurifier/HTMLModule/Image.php
@@ -8,18 +8,28 @@
class HTMLPurifier_HTMLModule_Image extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'Image';
- public function setup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
$max = $config->get('HTML.MaxImgLength');
$img = $this->addElement(
- 'img', 'Inline', 'Empty', 'Common',
+ 'img',
+ 'Inline',
+ 'Empty',
+ 'Common',
array(
'alt*' => 'Text',
// According to the spec, it's Length, but percents can
// be abused, so we allow only Pixels.
'height' => 'Pixels#' . $max,
- 'width' => 'Pixels#' . $max,
+ 'width' => 'Pixels#' . $max,
'longdesc' => 'URI',
'src*' => new HTMLPurifier_AttrDef_URI(true), // embedded
)
@@ -34,7 +44,6 @@ class HTMLPurifier_HTMLModule_Image extends HTMLPurifier_HTMLModule
$img->attr_transform_post[] =
new HTMLPurifier_AttrTransform_ImgRequired();
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Legacy.php b/library/HTMLPurifier/HTMLModule/Legacy.php
index df33927ba..86b529957 100644
--- a/library/HTMLPurifier/HTMLModule/Legacy.php
+++ b/library/HTMLPurifier/HTMLModule/Legacy.php
@@ -18,29 +18,58 @@
class HTMLPurifier_HTMLModule_Legacy extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'Legacy';
- public function setup($config) {
-
- $this->addElement('basefont', 'Inline', 'Empty', false, array(
- 'color' => 'Color',
- 'face' => 'Text', // extremely broad, we should
- 'size' => 'Text', // tighten it
- 'id' => 'ID'
- ));
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement(
+ 'basefont',
+ 'Inline',
+ 'Empty',
+ null,
+ array(
+ 'color' => 'Color',
+ 'face' => 'Text', // extremely broad, we should
+ 'size' => 'Text', // tighten it
+ 'id' => 'ID'
+ )
+ );
$this->addElement('center', 'Block', 'Flow', 'Common');
- $this->addElement('dir', 'Block', 'Required: li', 'Common', array(
- 'compact' => 'Bool#compact'
- ));
- $this->addElement('font', 'Inline', 'Inline', array('Core', 'I18N'), array(
- 'color' => 'Color',
- 'face' => 'Text', // extremely broad, we should
- 'size' => 'Text', // tighten it
- ));
- $this->addElement('menu', 'Block', 'Required: li', 'Common', array(
- 'compact' => 'Bool#compact'
- ));
+ $this->addElement(
+ 'dir',
+ 'Block',
+ 'Required: li',
+ 'Common',
+ array(
+ 'compact' => 'Bool#compact'
+ )
+ );
+ $this->addElement(
+ 'font',
+ 'Inline',
+ 'Inline',
+ array('Core', 'I18N'),
+ array(
+ 'color' => 'Color',
+ 'face' => 'Text', // extremely broad, we should
+ 'size' => 'Text', // tighten it
+ )
+ );
+ $this->addElement(
+ 'menu',
+ 'Block',
+ 'Required: li',
+ 'Common',
+ array(
+ 'compact' => 'Bool#compact'
+ )
+ );
$s = $this->addElement('s', 'Inline', 'Inline', 'Common');
$s->formatting = true;
@@ -89,7 +118,7 @@ class HTMLPurifier_HTMLModule_Legacy extends HTMLPurifier_HTMLModule
$hr->attr['width'] = 'Length';
$img = $this->addBlankElement('img');
- $img->attr['align'] = 'Enum#top,middle,bottom,left,right';
+ $img->attr['align'] = 'IAlign';
$img->attr['border'] = 'Pixels';
$img->attr['hspace'] = 'Pixels';
$img->attr['vspace'] = 'Pixels';
@@ -98,7 +127,7 @@ class HTMLPurifier_HTMLModule_Legacy extends HTMLPurifier_HTMLModule
$li = $this->addBlankElement('li');
$li->attr['value'] = new HTMLPurifier_AttrDef_Integer();
- $li->attr['type'] = 'Enum#s:1,i,I,a,A,disc,square,circle';
+ $li->attr['type'] = 'Enum#s:1,i,I,a,A,disc,square,circle';
$ol = $this->addBlankElement('ol');
$ol->attr['compact'] = 'Bool#compact';
@@ -136,8 +165,22 @@ class HTMLPurifier_HTMLModule_Legacy extends HTMLPurifier_HTMLModule
$ul->attr['compact'] = 'Bool#compact';
$ul->attr['type'] = 'Enum#square,disc,circle';
- }
+ // "safe" modifications to "unsafe" elements
+ // WARNING: If you want to add support for an unsafe, legacy
+ // attribute, make a new TrustedLegacy module with the trusted
+ // bit set appropriately
+ $form = $this->addBlankElement('form');
+ $form->content_model = 'Flow | #PCDATA';
+ $form->content_model_type = 'optional';
+ $form->attr['target'] = 'FrameTarget';
+
+ $input = $this->addBlankElement('input');
+ $input->attr['align'] = 'IAlign';
+
+ $legend = $this->addBlankElement('legend');
+ $legend->attr['align'] = 'LAlign';
+ }
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/List.php b/library/HTMLPurifier/HTMLModule/List.php
index 74d4522f4..7a20ff701 100644
--- a/library/HTMLPurifier/HTMLModule/List.php
+++ b/library/HTMLPurifier/HTMLModule/List.php
@@ -5,7 +5,9 @@
*/
class HTMLPurifier_HTMLModule_List extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'List';
// According to the abstract schema, the List content set is a fully formed
@@ -17,13 +19,26 @@ class HTMLPurifier_HTMLModule_List extends HTMLPurifier_HTMLModule
// we don't have support for such nested expressions without using
// the incredibly inefficient and draconic Custom ChildDef.
+ /**
+ * @type array
+ */
public $content_sets = array('Flow' => 'List');
- public function setup($config) {
- $ol = $this->addElement('ol', 'List', 'Required: li', 'Common');
- $ol->wrap = "li";
- $ul = $this->addElement('ul', 'List', 'Required: li', 'Common');
- $ul->wrap = "li";
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $ol = $this->addElement('ol', 'List', new HTMLPurifier_ChildDef_List(), 'Common');
+ $ul = $this->addElement('ul', 'List', new HTMLPurifier_ChildDef_List(), 'Common');
+ // XXX The wrap attribute is handled by MakeWellFormed. This is all
+ // quite unsatisfactory, because we generated this
+ // *specifically* for lists, and now a big chunk of the handling
+ // is done properly by the List ChildDef. So actually, we just
+ // want enough information to make autoclosing work properly,
+ // and then hand off the tricky stuff to the ChildDef.
+ $ol->wrap = 'li';
+ $ul->wrap = 'li';
$this->addElement('dl', 'List', 'Required: dt | dd', 'Common');
$this->addElement('li', false, 'Flow', 'Common');
@@ -31,7 +46,6 @@ class HTMLPurifier_HTMLModule_List extends HTMLPurifier_HTMLModule
$this->addElement('dd', false, 'Flow', 'Common');
$this->addElement('dt', false, 'Inline', 'Common');
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Name.php b/library/HTMLPurifier/HTMLModule/Name.php
index 05694b450..60c054515 100644
--- a/library/HTMLPurifier/HTMLModule/Name.php
+++ b/library/HTMLPurifier/HTMLModule/Name.php
@@ -2,20 +2,25 @@
class HTMLPurifier_HTMLModule_Name extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'Name';
- public function setup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
$elements = array('a', 'applet', 'form', 'frame', 'iframe', 'img', 'map');
foreach ($elements as $name) {
$element = $this->addBlankElement($name);
$element->attr['name'] = 'CDATA';
if (!$config->get('HTML.Attr.Name.UseCDATA')) {
- $element->attr_transform_post['NameSync'] = new HTMLPurifier_AttrTransform_NameSync();
+ $element->attr_transform_post[] = new HTMLPurifier_AttrTransform_NameSync();
}
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Nofollow.php b/library/HTMLPurifier/HTMLModule/Nofollow.php
new file mode 100644
index 000000000..dc9410a89
--- /dev/null
+++ b/library/HTMLPurifier/HTMLModule/Nofollow.php
@@ -0,0 +1,25 @@
+<?php
+
+/**
+ * Module adds the nofollow attribute transformation to a tags. It
+ * is enabled by HTML.Nofollow
+ */
+class HTMLPurifier_HTMLModule_Nofollow extends HTMLPurifier_HTMLModule
+{
+
+ /**
+ * @type string
+ */
+ public $name = 'Nofollow';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $a = $this->addBlankElement('a');
+ $a->attr_transform_post[] = new HTMLPurifier_AttrTransform_Nofollow();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php b/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php
index 5f1b14abb..da722253a 100644
--- a/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php
+++ b/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php
@@ -2,8 +2,14 @@
class HTMLPurifier_HTMLModule_NonXMLCommonAttributes extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'NonXMLCommonAttributes';
+ /**
+ * @type array
+ */
public $attr_collections = array(
'Lang' => array(
'lang' => 'LanguageCode',
diff --git a/library/HTMLPurifier/HTMLModule/Object.php b/library/HTMLPurifier/HTMLModule/Object.php
index 193c1011f..2f9efc5c8 100644
--- a/library/HTMLPurifier/HTMLModule/Object.php
+++ b/library/HTMLPurifier/HTMLModule/Object.php
@@ -7,13 +7,26 @@
*/
class HTMLPurifier_HTMLModule_Object extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'Object';
- public $safe = false;
- public function setup($config) {
+ /**
+ * @type bool
+ */
+ public $safe = false;
- $this->addElement('object', 'Inline', 'Optional: #PCDATA | Flow | param', 'Common',
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement(
+ 'object',
+ 'Inline',
+ 'Optional: #PCDATA | Flow | param',
+ 'Common',
array(
'archive' => 'URI',
'classid' => 'URI',
@@ -30,18 +43,20 @@ class HTMLPurifier_HTMLModule_Object extends HTMLPurifier_HTMLModule
)
);
- $this->addElement('param', false, 'Empty', false,
+ $this->addElement(
+ 'param',
+ false,
+ 'Empty',
+ null,
array(
'id' => 'ID',
'name*' => 'Text',
'type' => 'Text',
'value' => 'Text',
'valuetype' => 'Enum#data,ref,object'
- )
+ )
);
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Presentation.php b/library/HTMLPurifier/HTMLModule/Presentation.php
index 8ff0b5ed7..6458ce9d8 100644
--- a/library/HTMLPurifier/HTMLModule/Presentation.php
+++ b/library/HTMLPurifier/HTMLModule/Presentation.php
@@ -13,24 +13,30 @@
class HTMLPurifier_HTMLModule_Presentation extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'Presentation';
- public function setup($config) {
- $this->addElement('hr', 'Block', 'Empty', 'Common');
- $this->addElement('sub', 'Inline', 'Inline', 'Common');
- $this->addElement('sup', 'Inline', 'Inline', 'Common');
- $b = $this->addElement('b', 'Inline', 'Inline', 'Common');
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement('hr', 'Block', 'Empty', 'Common');
+ $this->addElement('sub', 'Inline', 'Inline', 'Common');
+ $this->addElement('sup', 'Inline', 'Inline', 'Common');
+ $b = $this->addElement('b', 'Inline', 'Inline', 'Common');
$b->formatting = true;
- $big = $this->addElement('big', 'Inline', 'Inline', 'Common');
+ $big = $this->addElement('big', 'Inline', 'Inline', 'Common');
$big->formatting = true;
- $i = $this->addElement('i', 'Inline', 'Inline', 'Common');
+ $i = $this->addElement('i', 'Inline', 'Inline', 'Common');
$i->formatting = true;
- $small = $this->addElement('small', 'Inline', 'Inline', 'Common');
+ $small = $this->addElement('small', 'Inline', 'Inline', 'Common');
$small->formatting = true;
- $tt = $this->addElement('tt', 'Inline', 'Inline', 'Common');
+ $tt = $this->addElement('tt', 'Inline', 'Inline', 'Common');
$tt->formatting = true;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Proprietary.php b/library/HTMLPurifier/HTMLModule/Proprietary.php
index dd36a3de0..5ee3c8e67 100644
--- a/library/HTMLPurifier/HTMLModule/Proprietary.php
+++ b/library/HTMLPurifier/HTMLModule/Proprietary.php
@@ -6,12 +6,21 @@
*/
class HTMLPurifier_HTMLModule_Proprietary extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'Proprietary';
- public function setup($config) {
-
- $this->addElement('marquee', 'Inline', 'Flow', 'Common',
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement(
+ 'marquee',
+ 'Inline',
+ 'Flow',
+ 'Common',
array(
'direction' => 'Enum#left,right,up,down',
'behavior' => 'Enum#alternate',
@@ -25,9 +34,7 @@ class HTMLPurifier_HTMLModule_Proprietary extends HTMLPurifier_HTMLModule
'vspace' => 'Pixels',
)
);
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Ruby.php b/library/HTMLPurifier/HTMLModule/Ruby.php
index b26a0a30a..a0d48924d 100644
--- a/library/HTMLPurifier/HTMLModule/Ruby.php
+++ b/library/HTMLPurifier/HTMLModule/Ruby.php
@@ -7,12 +7,22 @@
class HTMLPurifier_HTMLModule_Ruby extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'Ruby';
- public function setup($config) {
- $this->addElement('ruby', 'Inline',
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $this->addElement(
+ 'ruby',
+ 'Inline',
'Custom: ((rb, (rt | (rp, rt, rp))) | (rbc, rtc, rtc?))',
- 'Common');
+ 'Common'
+ );
$this->addElement('rbc', false, 'Required: rb', 'Common');
$this->addElement('rtc', false, 'Required: rt', 'Common');
$rb = $this->addElement('rb', false, 'Inline', 'Common');
@@ -21,7 +31,6 @@ class HTMLPurifier_HTMLModule_Ruby extends HTMLPurifier_HTMLModule
$rt->excludes = array('ruby' => true);
$this->addElement('rp', false, 'Optional: #PCDATA', 'Common');
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/SafeEmbed.php b/library/HTMLPurifier/HTMLModule/SafeEmbed.php
index ea256716b..04e6689ea 100644
--- a/library/HTMLPurifier/HTMLModule/SafeEmbed.php
+++ b/library/HTMLPurifier/HTMLModule/SafeEmbed.php
@@ -5,14 +5,22 @@
*/
class HTMLPurifier_HTMLModule_SafeEmbed extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'SafeEmbed';
- public function setup($config) {
-
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
$max = $config->get('HTML.MaxImgLength');
$embed = $this->addElement(
- 'embed', 'Inline', 'Empty', 'Common',
+ 'embed',
+ 'Inline',
+ 'Empty',
+ 'Common',
array(
'src*' => 'URI#embedded',
'type' => 'Enum#application/x-shockwave-flash',
@@ -21,14 +29,12 @@ class HTMLPurifier_HTMLModule_SafeEmbed extends HTMLPurifier_HTMLModule
'allowscriptaccess' => 'Enum#never',
'allownetworking' => 'Enum#internal',
'flashvars' => 'Text',
- 'wmode' => 'Enum#window',
+ 'wmode' => 'Enum#window,transparent,opaque',
'name' => 'ID',
)
);
$embed->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeEmbed();
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/SafeObject.php b/library/HTMLPurifier/HTMLModule/SafeObject.php
index 64ab8c070..1297f80a3 100644
--- a/library/HTMLPurifier/HTMLModule/SafeObject.php
+++ b/library/HTMLPurifier/HTMLModule/SafeObject.php
@@ -8,11 +8,16 @@
*/
class HTMLPurifier_HTMLModule_SafeObject extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'SafeObject';
- public function setup($config) {
-
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
// These definitions are not intrinsically safe: the attribute transforms
// are a vital part of ensuring safety.
@@ -25,18 +30,24 @@ class HTMLPurifier_HTMLModule_SafeObject extends HTMLPurifier_HTMLModule
array(
// While technically not required by the spec, we're forcing
// it to this value.
- 'type' => 'Enum#application/x-shockwave-flash',
- 'width' => 'Pixels#' . $max,
+ 'type' => 'Enum#application/x-shockwave-flash',
+ 'width' => 'Pixels#' . $max,
'height' => 'Pixels#' . $max,
- 'data' => 'URI#embedded',
- 'classid' => 'Enum#clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',
- 'codebase' => new HTMLPurifier_AttrDef_Enum(array(
- 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0')),
+ 'data' => 'URI#embedded',
+ 'codebase' => new HTMLPurifier_AttrDef_Enum(
+ array(
+ 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'
+ )
+ ),
)
);
$object->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeObject();
- $param = $this->addElement('param', false, 'Empty', false,
+ $param = $this->addElement(
+ 'param',
+ false,
+ 'Empty',
+ false,
array(
'id' => 'ID',
'name*' => 'Text',
@@ -45,9 +56,7 @@ class HTMLPurifier_HTMLModule_SafeObject extends HTMLPurifier_HTMLModule
);
$param->attr_transform_post[] = new HTMLPurifier_AttrTransform_SafeParam();
$this->info_injector[] = 'SafeObject';
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/SafeScripting.php b/library/HTMLPurifier/HTMLModule/SafeScripting.php
new file mode 100644
index 000000000..0330cd97f
--- /dev/null
+++ b/library/HTMLPurifier/HTMLModule/SafeScripting.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * A "safe" script module. No inline JS is allowed, and pointed to JS
+ * files must match whitelist.
+ */
+class HTMLPurifier_HTMLModule_SafeScripting extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'SafeScripting';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ // These definitions are not intrinsically safe: the attribute transforms
+ // are a vital part of ensuring safety.
+
+ $allowed = $config->get('HTML.SafeScripting');
+ $script = $this->addElement(
+ 'script',
+ 'Inline',
+ 'Empty',
+ null,
+ array(
+ // While technically not required by the spec, we're forcing
+ // it to this value.
+ 'type' => 'Enum#text/javascript',
+ 'src*' => new HTMLPurifier_AttrDef_Enum(array_keys($allowed))
+ )
+ );
+ $script->attr_transform_pre[] =
+ $script->attr_transform_post[] = new HTMLPurifier_AttrTransform_ScriptRequired();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Scripting.php b/library/HTMLPurifier/HTMLModule/Scripting.php
index cecdea6c3..8b28a7b7e 100644
--- a/library/HTMLPurifier/HTMLModule/Scripting.php
+++ b/library/HTMLPurifier/HTMLModule/Scripting.php
@@ -15,12 +15,31 @@ INSIDE HTML PURIFIER DOCUMENTS. USE ONLY WITH TRUSTED USER INPUT!!!
*/
class HTMLPurifier_HTMLModule_Scripting extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'Scripting';
+
+ /**
+ * @type array
+ */
public $elements = array('script', 'noscript');
+
+ /**
+ * @type array
+ */
public $content_sets = array('Block' => 'script | noscript', 'Inline' => 'script | noscript');
+
+ /**
+ * @type bool
+ */
public $safe = false;
- public function setup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
// TODO: create custom child-definition for noscript that
// auto-wraps stray #PCDATA in a similar manner to
// blockquote's custom definition (we would use it but
@@ -33,20 +52,20 @@ class HTMLPurifier_HTMLModule_Scripting extends HTMLPurifier_HTMLModule
// In theory, this could be safe, but I don't see any reason to
// allow it.
$this->info['noscript'] = new HTMLPurifier_ElementDef();
- $this->info['noscript']->attr = array( 0 => array('Common') );
+ $this->info['noscript']->attr = array(0 => array('Common'));
$this->info['noscript']->content_model = 'Heading | List | Block';
$this->info['noscript']->content_model_type = 'required';
$this->info['script'] = new HTMLPurifier_ElementDef();
$this->info['script']->attr = array(
'defer' => new HTMLPurifier_AttrDef_Enum(array('defer')),
- 'src' => new HTMLPurifier_AttrDef_URI(true),
- 'type' => new HTMLPurifier_AttrDef_Enum(array('text/javascript'))
+ 'src' => new HTMLPurifier_AttrDef_URI(true),
+ 'type' => new HTMLPurifier_AttrDef_Enum(array('text/javascript'))
);
$this->info['script']->content_model = '#PCDATA';
$this->info['script']->content_model_type = 'optional';
- $this->info['script']->attr_transform_pre['type'] =
- $this->info['script']->attr_transform_post['type'] =
+ $this->info['script']->attr_transform_pre[] =
+ $this->info['script']->attr_transform_post[] =
new HTMLPurifier_AttrTransform_ScriptRequired();
}
}
diff --git a/library/HTMLPurifier/HTMLModule/StyleAttribute.php b/library/HTMLPurifier/HTMLModule/StyleAttribute.php
index eb78464cc..497b832ae 100644
--- a/library/HTMLPurifier/HTMLModule/StyleAttribute.php
+++ b/library/HTMLPurifier/HTMLModule/StyleAttribute.php
@@ -6,8 +6,14 @@
*/
class HTMLPurifier_HTMLModule_StyleAttribute extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'StyleAttribute';
+
+ /**
+ * @type array
+ */
public $attr_collections = array(
// The inclusion routine differs from the Abstract Modules but
// is in line with the DTD and XML Schemas.
@@ -15,10 +21,13 @@ class HTMLPurifier_HTMLModule_StyleAttribute extends HTMLPurifier_HTMLModule
'Core' => array(0 => array('Style'))
);
- public function setup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
$this->attr_collections['Style']['style'] = new HTMLPurifier_AttrDef_CSS();
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Tables.php b/library/HTMLPurifier/HTMLModule/Tables.php
index f314ced3f..8a0b3b461 100644
--- a/library/HTMLPurifier/HTMLModule/Tables.php
+++ b/library/HTMLPurifier/HTMLModule/Tables.php
@@ -5,15 +5,23 @@
*/
class HTMLPurifier_HTMLModule_Tables extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'Tables';
- public function setup($config) {
-
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
$this->addElement('caption', false, 'Inline', 'Common');
- $this->addElement('table', 'Block',
- new HTMLPurifier_ChildDef_Table(), 'Common',
+ $this->addElement(
+ 'table',
+ 'Block',
+ new HTMLPurifier_ChildDef_Table(),
+ 'Common',
array(
'border' => 'Pixels',
'cellpadding' => 'Length',
@@ -34,9 +42,12 @@ class HTMLPurifier_HTMLModule_Tables extends HTMLPurifier_HTMLModule
$cell_t = array_merge(
array(
- 'abbr' => 'Text',
+ 'abbr' => 'Text',
'colspan' => 'Number',
'rowspan' => 'Number',
+ // Apparently, as of HTML5 this attribute only applies
+ // to 'th' elements.
+ 'scope' => 'Enum#row,col,rowgroup,colgroup',
),
$cell_align
);
@@ -47,20 +58,18 @@ class HTMLPurifier_HTMLModule_Tables extends HTMLPurifier_HTMLModule
$cell_col = array_merge(
array(
- 'span' => 'Number',
+ 'span' => 'Number',
'width' => 'MultiLength',
),
$cell_align
);
- $this->addElement('col', false, 'Empty', 'Common', $cell_col);
+ $this->addElement('col', false, 'Empty', 'Common', $cell_col);
$this->addElement('colgroup', false, 'Optional: col', 'Common', $cell_col);
$this->addElement('tbody', false, 'Required: tr', 'Common', $cell_align);
$this->addElement('thead', false, 'Required: tr', 'Common', $cell_align);
$this->addElement('tfoot', false, 'Required: tr', 'Common', $cell_align);
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Target.php b/library/HTMLPurifier/HTMLModule/Target.php
index 2b844ecc4..b188ac936 100644
--- a/library/HTMLPurifier/HTMLModule/Target.php
+++ b/library/HTMLPurifier/HTMLModule/Target.php
@@ -5,10 +5,16 @@
*/
class HTMLPurifier_HTMLModule_Target extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'Target';
- public function setup($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
$elements = array('a');
foreach ($elements as $name) {
$e = $this->addBlankElement($name);
@@ -17,7 +23,6 @@ class HTMLPurifier_HTMLModule_Target extends HTMLPurifier_HTMLModule
);
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/TargetBlank.php b/library/HTMLPurifier/HTMLModule/TargetBlank.php
new file mode 100644
index 000000000..58ccc6894
--- /dev/null
+++ b/library/HTMLPurifier/HTMLModule/TargetBlank.php
@@ -0,0 +1,24 @@
+<?php
+
+/**
+ * Module adds the target=blank attribute transformation to a tags. It
+ * is enabled by HTML.TargetBlank
+ */
+class HTMLPurifier_HTMLModule_TargetBlank extends HTMLPurifier_HTMLModule
+{
+ /**
+ * @type string
+ */
+ public $name = 'TargetBlank';
+
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
+ $a = $this->addBlankElement('a');
+ $a->attr_transform_post[] = new HTMLPurifier_AttrTransform_TargetBlank();
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Text.php b/library/HTMLPurifier/HTMLModule/Text.php
index ae77c7188..7a65e0048 100644
--- a/library/HTMLPurifier/HTMLModule/Text.php
+++ b/library/HTMLPurifier/HTMLModule/Text.php
@@ -14,43 +14,59 @@
*/
class HTMLPurifier_HTMLModule_Text extends HTMLPurifier_HTMLModule
{
-
+ /**
+ * @type string
+ */
public $name = 'Text';
+
+ /**
+ * @type array
+ */
public $content_sets = array(
'Flow' => 'Heading | Block | Inline'
);
- public function setup($config) {
-
+ /**
+ * @param HTMLPurifier_Config $config
+ */
+ public function setup($config)
+ {
// Inline Phrasal -------------------------------------------------
- $this->addElement('abbr', 'Inline', 'Inline', 'Common');
+ $this->addElement('abbr', 'Inline', 'Inline', 'Common');
$this->addElement('acronym', 'Inline', 'Inline', 'Common');
- $this->addElement('cite', 'Inline', 'Inline', 'Common');
- $this->addElement('dfn', 'Inline', 'Inline', 'Common');
- $this->addElement('kbd', 'Inline', 'Inline', 'Common');
- $this->addElement('q', 'Inline', 'Inline', 'Common', array('cite' => 'URI'));
- $this->addElement('samp', 'Inline', 'Inline', 'Common');
- $this->addElement('var', 'Inline', 'Inline', 'Common');
+ $this->addElement('cite', 'Inline', 'Inline', 'Common');
+ $this->addElement('dfn', 'Inline', 'Inline', 'Common');
+ $this->addElement('kbd', 'Inline', 'Inline', 'Common');
+ $this->addElement('q', 'Inline', 'Inline', 'Common', array('cite' => 'URI'));
+ $this->addElement('samp', 'Inline', 'Inline', 'Common');
+ $this->addElement('var', 'Inline', 'Inline', 'Common');
- $em = $this->addElement('em', 'Inline', 'Inline', 'Common');
+ $em = $this->addElement('em', 'Inline', 'Inline', 'Common');
$em->formatting = true;
- $strong = $this->addElement('strong', 'Inline', 'Inline', 'Common');
+ $strong = $this->addElement('strong', 'Inline', 'Inline', 'Common');
$strong->formatting = true;
- $code = $this->addElement('code', 'Inline', 'Inline', 'Common');
+ $code = $this->addElement('code', 'Inline', 'Inline', 'Common');
$code->formatting = true;
// Inline Structural ----------------------------------------------
$this->addElement('span', 'Inline', 'Inline', 'Common');
- $this->addElement('br', 'Inline', 'Empty', 'Core');
+ $this->addElement('br', 'Inline', 'Empty', 'Core');
// Block Phrasal --------------------------------------------------
- $this->addElement('address', 'Block', 'Inline', 'Common');
- $this->addElement('blockquote', 'Block', 'Optional: Heading | Block | List', 'Common', array('cite' => 'URI') );
+ $this->addElement('address', 'Block', 'Inline', 'Common');
+ $this->addElement('blockquote', 'Block', 'Optional: Heading | Block | List', 'Common', array('cite' => 'URI'));
$pre = $this->addElement('pre', 'Block', 'Inline', 'Common');
$pre->excludes = $this->makeLookup(
- 'img', 'big', 'small', 'object', 'applet', 'font', 'basefont' );
+ 'img',
+ 'big',
+ 'small',
+ 'object',
+ 'applet',
+ 'font',
+ 'basefont'
+ );
$this->addElement('h1', 'Heading', 'Inline', 'Common');
$this->addElement('h2', 'Heading', 'Inline', 'Common');
$this->addElement('h3', 'Heading', 'Inline', 'Common');
@@ -60,12 +76,12 @@ class HTMLPurifier_HTMLModule_Text extends HTMLPurifier_HTMLModule
// Block Structural -----------------------------------------------
$p = $this->addElement('p', 'Block', 'Inline', 'Common');
- $p->autoclose = array_flip(array("address", "blockquote", "center", "dir", "div", "dl", "fieldset", "ol", "p", "ul"));
+ $p->autoclose = array_flip(
+ array("address", "blockquote", "center", "dir", "div", "dl", "fieldset", "ol", "p", "ul")
+ );
$this->addElement('div', 'Block', 'Flow', 'Common');
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Tidy.php b/library/HTMLPurifier/HTMLModule/Tidy.php
index 21783f18e..08aa23247 100644
--- a/library/HTMLPurifier/HTMLModule/Tidy.php
+++ b/library/HTMLPurifier/HTMLModule/Tidy.php
@@ -7,36 +7,41 @@
*/
class HTMLPurifier_HTMLModule_Tidy extends HTMLPurifier_HTMLModule
{
-
/**
- * List of supported levels. Index zero is a special case "no fixes"
- * level.
+ * List of supported levels.
+ * Index zero is a special case "no fixes" level.
+ * @type array
*/
public $levels = array(0 => 'none', 'light', 'medium', 'heavy');
/**
- * Default level to place all fixes in. Disabled by default
+ * Default level to place all fixes in.
+ * Disabled by default.
+ * @type string
*/
public $defaultLevel = null;
/**
- * Lists of fixes used by getFixesForLevel(). Format is:
+ * Lists of fixes used by getFixesForLevel().
+ * Format is:
* HTMLModule_Tidy->fixesForLevel[$level] = array('fix-1', 'fix-2');
+ * @type array
*/
public $fixesForLevel = array(
- 'light' => array(),
+ 'light' => array(),
'medium' => array(),
- 'heavy' => array()
+ 'heavy' => array()
);
/**
* Lazy load constructs the module by determining the necessary
* fixes to create and then delegating to the populate() function.
+ * @param HTMLPurifier_Config $config
* @todo Wildcard matching and error reporting when an added or
* subtracted fix has no effect.
*/
- public function setup($config) {
-
+ public function setup($config)
+ {
// create fixes, initialize fixesForLevel
$fixes = $this->makeFixes();
$this->makeFixesForLevel($fixes);
@@ -46,38 +51,38 @@ class HTMLPurifier_HTMLModule_Tidy extends HTMLPurifier_HTMLModule
$fixes_lookup = $this->getFixesForLevel($level);
// get custom fix declarations: these need namespace processing
- $add_fixes = $config->get('HTML.TidyAdd');
+ $add_fixes = $config->get('HTML.TidyAdd');
$remove_fixes = $config->get('HTML.TidyRemove');
foreach ($fixes as $name => $fix) {
// needs to be refactored a little to implement globbing
- if (
- isset($remove_fixes[$name]) ||
- (!isset($add_fixes[$name]) && !isset($fixes_lookup[$name]))
- ) {
+ if (isset($remove_fixes[$name]) ||
+ (!isset($add_fixes[$name]) && !isset($fixes_lookup[$name]))) {
unset($fixes[$name]);
}
}
// populate this module with necessary fixes
$this->populate($fixes);
-
}
/**
* Retrieves all fixes per a level, returning fixes for that specific
* level as well as all levels below it.
- * @param $level String level identifier, see $levels for valid values
- * @return Lookup up table of fixes
+ * @param string $level level identifier, see $levels for valid values
+ * @return array Lookup up table of fixes
*/
- public function getFixesForLevel($level) {
+ public function getFixesForLevel($level)
+ {
if ($level == $this->levels[0]) {
return array();
}
$activated_levels = array();
for ($i = 1, $c = count($this->levels); $i < $c; $i++) {
$activated_levels[] = $this->levels[$i];
- if ($this->levels[$i] == $level) break;
+ if ($this->levels[$i] == $level) {
+ break;
+ }
}
if ($i == $c) {
trigger_error(
@@ -99,9 +104,13 @@ class HTMLPurifier_HTMLModule_Tidy extends HTMLPurifier_HTMLModule
* Dynamically populates the $fixesForLevel member variable using
* the fixes array. It may be custom overloaded, used in conjunction
* with $defaultLevel, or not used at all.
+ * @param array $fixes
*/
- public function makeFixesForLevel($fixes) {
- if (!isset($this->defaultLevel)) return;
+ public function makeFixesForLevel($fixes)
+ {
+ if (!isset($this->defaultLevel)) {
+ return;
+ }
if (!isset($this->fixesForLevel[$this->defaultLevel])) {
trigger_error(
'Default level ' . $this->defaultLevel . ' does not exist',
@@ -115,9 +124,10 @@ class HTMLPurifier_HTMLModule_Tidy extends HTMLPurifier_HTMLModule
/**
* Populates the module with transforms and other special-case code
* based on a list of fixes passed to it
- * @param $lookup Lookup table of fixes to activate
+ * @param array $fixes Lookup table of fixes to activate
*/
- public function populate($fixes) {
+ public function populate($fixes)
+ {
foreach ($fixes as $name => $fix) {
// determine what the fix is for
list($type, $params) = $this->getFixType($name);
@@ -169,20 +179,31 @@ class HTMLPurifier_HTMLModule_Tidy extends HTMLPurifier_HTMLModule
* @note $fix_parameters is type dependant, see populate() for usage
* of these parameters
*/
- public function getFixType($name) {
+ public function getFixType($name)
+ {
// parse it
$property = $attr = null;
- if (strpos($name, '#') !== false) list($name, $property) = explode('#', $name);
- if (strpos($name, '@') !== false) list($name, $attr) = explode('@', $name);
+ if (strpos($name, '#') !== false) {
+ list($name, $property) = explode('#', $name);
+ }
+ if (strpos($name, '@') !== false) {
+ list($name, $attr) = explode('@', $name);
+ }
// figure out the parameters
$params = array();
- if ($name !== '') $params['element'] = $name;
- if (!is_null($attr)) $params['attr'] = $attr;
+ if ($name !== '') {
+ $params['element'] = $name;
+ }
+ if (!is_null($attr)) {
+ $params['attr'] = $attr;
+ }
// special case: attribute transform
if (!is_null($attr)) {
- if (is_null($property)) $property = 'pre';
+ if (is_null($property)) {
+ $property = 'pre';
+ }
$type = 'attr_transform_' . $property;
return array($type, $params);
}
@@ -199,9 +220,11 @@ class HTMLPurifier_HTMLModule_Tidy extends HTMLPurifier_HTMLModule
/**
* Defines all fixes the module will perform in a compact
* associative array of fix name to fix implementation.
+ * @return array
*/
- public function makeFixes() {}
-
+ public function makeFixes()
+ {
+ }
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Tidy/Name.php b/library/HTMLPurifier/HTMLModule/Tidy/Name.php
index 61ff85ce2..a995161b2 100644
--- a/library/HTMLPurifier/HTMLModule/Tidy/Name.php
+++ b/library/HTMLPurifier/HTMLModule/Tidy/Name.php
@@ -5,18 +5,27 @@
*/
class HTMLPurifier_HTMLModule_Tidy_Name extends HTMLPurifier_HTMLModule_Tidy
{
+ /**
+ * @type string
+ */
public $name = 'Tidy_Name';
+
+ /**
+ * @type string
+ */
public $defaultLevel = 'heavy';
- public function makeFixes() {
+ /**
+ * @return array
+ */
+ public function makeFixes()
+ {
$r = array();
-
// @name for img, a -----------------------------------------------
// Technically, it's allowed even on strict, so we allow authors to use
// it. However, it's deprecated in future versions of XHTML.
$r['img@name'] =
$r['a@name'] = new HTMLPurifier_AttrTransform_Name();
-
return $r;
}
}
diff --git a/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php b/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php
index 14c15c4a0..332643821 100644
--- a/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php
+++ b/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php
@@ -3,10 +3,21 @@
class HTMLPurifier_HTMLModule_Tidy_Proprietary extends HTMLPurifier_HTMLModule_Tidy
{
+ /**
+ * @type string
+ */
public $name = 'Tidy_Proprietary';
+
+ /**
+ * @type string
+ */
public $defaultLevel = 'light';
- public function makeFixes() {
+ /**
+ * @return array
+ */
+ public function makeFixes()
+ {
$r = array();
$r['table@background'] = new HTMLPurifier_AttrTransform_Background();
$r['td@background'] = new HTMLPurifier_AttrTransform_Background();
@@ -18,7 +29,6 @@ class HTMLPurifier_HTMLModule_Tidy_Proprietary extends HTMLPurifier_HTMLModule_T
$r['table@height'] = new HTMLPurifier_AttrTransform_Length('height');
return $r;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Tidy/Strict.php b/library/HTMLPurifier/HTMLModule/Tidy/Strict.php
index c73dc3c4d..803c44fab 100644
--- a/library/HTMLPurifier/HTMLModule/Tidy/Strict.php
+++ b/library/HTMLPurifier/HTMLModule/Tidy/Strict.php
@@ -2,18 +2,40 @@
class HTMLPurifier_HTMLModule_Tidy_Strict extends HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4
{
+ /**
+ * @type string
+ */
public $name = 'Tidy_Strict';
+
+ /**
+ * @type string
+ */
public $defaultLevel = 'light';
- public function makeFixes() {
+ /**
+ * @return array
+ */
+ public function makeFixes()
+ {
$r = parent::makeFixes();
$r['blockquote#content_model_type'] = 'strictblockquote';
return $r;
}
+ /**
+ * @type bool
+ */
public $defines_child_def = true;
- public function getChildDef($def) {
- if ($def->content_model_type != 'strictblockquote') return parent::getChildDef($def);
+
+ /**
+ * @param HTMLPurifier_ElementDef $def
+ * @return HTMLPurifier_ChildDef_StrictBlockquote
+ */
+ public function getChildDef($def)
+ {
+ if ($def->content_model_type != 'strictblockquote') {
+ return parent::getChildDef($def);
+ }
return new HTMLPurifier_ChildDef_StrictBlockquote($def->content_model);
}
}
diff --git a/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php b/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php
index 9960b1dd1..c095ad974 100644
--- a/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php
+++ b/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php
@@ -2,7 +2,14 @@
class HTMLPurifier_HTMLModule_Tidy_Transitional extends HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4
{
+ /**
+ * @type string
+ */
public $name = 'Tidy_Transitional';
+
+ /**
+ * @type string
+ */
public $defaultLevel = 'heavy';
}
diff --git a/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php b/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php
index db5a378e5..3ecddc434 100644
--- a/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php
+++ b/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php
@@ -2,16 +2,25 @@
class HTMLPurifier_HTMLModule_Tidy_XHTML extends HTMLPurifier_HTMLModule_Tidy
{
-
+ /**
+ * @type string
+ */
public $name = 'Tidy_XHTML';
+
+ /**
+ * @type string
+ */
public $defaultLevel = 'medium';
- public function makeFixes() {
+ /**
+ * @return array
+ */
+ public function makeFixes()
+ {
$r = array();
$r['@lang'] = new HTMLPurifier_AttrTransform_Lang();
return $r;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php b/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php
index 02e943813..c4f16a4dc 100644
--- a/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php
+++ b/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php
@@ -3,69 +3,86 @@
class HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4 extends HTMLPurifier_HTMLModule_Tidy
{
- public function makeFixes() {
-
+ /**
+ * @return array
+ */
+ public function makeFixes()
+ {
$r = array();
// == deprecated tag transforms ===================================
- $r['font'] = new HTMLPurifier_TagTransform_Font();
- $r['menu'] = new HTMLPurifier_TagTransform_Simple('ul');
- $r['dir'] = new HTMLPurifier_TagTransform_Simple('ul');
- $r['center'] = new HTMLPurifier_TagTransform_Simple('div', 'text-align:center;');
- $r['u'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:underline;');
- $r['s'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:line-through;');
+ $r['font'] = new HTMLPurifier_TagTransform_Font();
+ $r['menu'] = new HTMLPurifier_TagTransform_Simple('ul');
+ $r['dir'] = new HTMLPurifier_TagTransform_Simple('ul');
+ $r['center'] = new HTMLPurifier_TagTransform_Simple('div', 'text-align:center;');
+ $r['u'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:underline;');
+ $r['s'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:line-through;');
$r['strike'] = new HTMLPurifier_TagTransform_Simple('span', 'text-decoration:line-through;');
// == deprecated attribute transforms =============================
$r['caption@align'] =
- new HTMLPurifier_AttrTransform_EnumToCSS('align', array(
- // we're following IE's behavior, not Firefox's, due
- // to the fact that no one supports caption-side:right,
- // W3C included (with CSS 2.1). This is a slightly
- // unreasonable attribute!
- 'left' => 'text-align:left;',
- 'right' => 'text-align:right;',
- 'top' => 'caption-side:top;',
- 'bottom' => 'caption-side:bottom;' // not supported by IE
- ));
+ new HTMLPurifier_AttrTransform_EnumToCSS(
+ 'align',
+ array(
+ // we're following IE's behavior, not Firefox's, due
+ // to the fact that no one supports caption-side:right,
+ // W3C included (with CSS 2.1). This is a slightly
+ // unreasonable attribute!
+ 'left' => 'text-align:left;',
+ 'right' => 'text-align:right;',
+ 'top' => 'caption-side:top;',
+ 'bottom' => 'caption-side:bottom;' // not supported by IE
+ )
+ );
// @align for img -------------------------------------------------
$r['img@align'] =
- new HTMLPurifier_AttrTransform_EnumToCSS('align', array(
- 'left' => 'float:left;',
- 'right' => 'float:right;',
- 'top' => 'vertical-align:top;',
- 'middle' => 'vertical-align:middle;',
- 'bottom' => 'vertical-align:baseline;',
- ));
+ new HTMLPurifier_AttrTransform_EnumToCSS(
+ 'align',
+ array(
+ 'left' => 'float:left;',
+ 'right' => 'float:right;',
+ 'top' => 'vertical-align:top;',
+ 'middle' => 'vertical-align:middle;',
+ 'bottom' => 'vertical-align:baseline;',
+ )
+ );
// @align for table -----------------------------------------------
$r['table@align'] =
- new HTMLPurifier_AttrTransform_EnumToCSS('align', array(
- 'left' => 'float:left;',
- 'center' => 'margin-left:auto;margin-right:auto;',
- 'right' => 'float:right;'
- ));
+ new HTMLPurifier_AttrTransform_EnumToCSS(
+ 'align',
+ array(
+ 'left' => 'float:left;',
+ 'center' => 'margin-left:auto;margin-right:auto;',
+ 'right' => 'float:right;'
+ )
+ );
// @align for hr -----------------------------------------------
$r['hr@align'] =
- new HTMLPurifier_AttrTransform_EnumToCSS('align', array(
- // we use both text-align and margin because these work
- // for different browsers (IE and Firefox, respectively)
- // and the melange makes for a pretty cross-compatible
- // solution
- 'left' => 'margin-left:0;margin-right:auto;text-align:left;',
- 'center' => 'margin-left:auto;margin-right:auto;text-align:center;',
- 'right' => 'margin-left:auto;margin-right:0;text-align:right;'
- ));
+ new HTMLPurifier_AttrTransform_EnumToCSS(
+ 'align',
+ array(
+ // we use both text-align and margin because these work
+ // for different browsers (IE and Firefox, respectively)
+ // and the melange makes for a pretty cross-compatible
+ // solution
+ 'left' => 'margin-left:0;margin-right:auto;text-align:left;',
+ 'center' => 'margin-left:auto;margin-right:auto;text-align:center;',
+ 'right' => 'margin-left:auto;margin-right:0;text-align:right;'
+ )
+ );
// @align for h1, h2, h3, h4, h5, h6, p, div ----------------------
// {{{
- $align_lookup = array();
- $align_values = array('left', 'right', 'center', 'justify');
- foreach ($align_values as $v) $align_lookup[$v] = "text-align:$v;";
+ $align_lookup = array();
+ $align_values = array('left', 'right', 'center', 'justify');
+ foreach ($align_values as $v) {
+ $align_lookup[$v] = "text-align:$v;";
+ }
// }}}
$r['h1@align'] =
$r['h2@align'] =
@@ -73,7 +90,7 @@ class HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4 extends HTMLPurifier_HTMLModule
$r['h4@align'] =
$r['h5@align'] =
$r['h6@align'] =
- $r['p@align'] =
+ $r['p@align'] =
$r['div@align'] =
new HTMLPurifier_AttrTransform_EnumToCSS('align', $align_lookup);
@@ -88,12 +105,15 @@ class HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4 extends HTMLPurifier_HTMLModule
// @clear for br --------------------------------------------------
$r['br@clear'] =
- new HTMLPurifier_AttrTransform_EnumToCSS('clear', array(
- 'left' => 'clear:left;',
- 'right' => 'clear:right;',
- 'all' => 'clear:both;',
- 'none' => 'clear:none;',
- ));
+ new HTMLPurifier_AttrTransform_EnumToCSS(
+ 'clear',
+ array(
+ 'left' => 'clear:left;',
+ 'right' => 'clear:right;',
+ 'all' => 'clear:both;',
+ 'none' => 'clear:none;',
+ )
+ );
// @height for td, th ---------------------------------------------
$r['td@height'] =
@@ -125,19 +145,19 @@ class HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4 extends HTMLPurifier_HTMLModule
// @type for li, ol, ul -------------------------------------------
// {{{
- $ul_types = array(
- 'disc' => 'list-style-type:disc;',
- 'square' => 'list-style-type:square;',
- 'circle' => 'list-style-type:circle;'
- );
- $ol_types = array(
- '1' => 'list-style-type:decimal;',
- 'i' => 'list-style-type:lower-roman;',
- 'I' => 'list-style-type:upper-roman;',
- 'a' => 'list-style-type:lower-alpha;',
- 'A' => 'list-style-type:upper-alpha;'
- );
- $li_types = $ul_types + $ol_types;
+ $ul_types = array(
+ 'disc' => 'list-style-type:disc;',
+ 'square' => 'list-style-type:square;',
+ 'circle' => 'list-style-type:circle;'
+ );
+ $ol_types = array(
+ '1' => 'list-style-type:decimal;',
+ 'i' => 'list-style-type:lower-roman;',
+ 'I' => 'list-style-type:upper-roman;',
+ 'a' => 'list-style-type:lower-alpha;',
+ 'A' => 'list-style-type:upper-alpha;'
+ );
+ $li_types = $ul_types + $ol_types;
// }}}
$r['ul@type'] = new HTMLPurifier_AttrTransform_EnumToCSS('type', $ul_types);
@@ -153,9 +173,7 @@ class HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4 extends HTMLPurifier_HTMLModule
$r['hr@width'] = new HTMLPurifier_AttrTransform_Length('width');
return $r;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php b/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php
index 9c0e03198..01dbe9deb 100644
--- a/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php
+++ b/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php
@@ -2,8 +2,14 @@
class HTMLPurifier_HTMLModule_XMLCommonAttributes extends HTMLPurifier_HTMLModule
{
+ /**
+ * @type string
+ */
public $name = 'XMLCommonAttributes';
+ /**
+ * @type array
+ */
public $attr_collections = array(
'Lang' => array(
'xml:lang' => 'LanguageCode',
diff --git a/library/HTMLPurifier/HTMLModuleManager.php b/library/HTMLPurifier/HTMLModuleManager.php
index f5c4a1d2c..f3a17cb03 100644
--- a/library/HTMLPurifier/HTMLModuleManager.php
+++ b/library/HTMLPurifier/HTMLModuleManager.php
@@ -4,57 +4,75 @@ class HTMLPurifier_HTMLModuleManager
{
/**
- * Instance of HTMLPurifier_DoctypeRegistry
+ * @type HTMLPurifier_DoctypeRegistry
*/
public $doctypes;
/**
- * Instance of current doctype
+ * Instance of current doctype.
+ * @type string
*/
public $doctype;
/**
- * Instance of HTMLPurifier_AttrTypes
+ * @type HTMLPurifier_AttrTypes
*/
public $attrTypes;
/**
* Active instances of modules for the specified doctype are
* indexed, by name, in this array.
+ * @type HTMLPurifier_HTMLModule[]
*/
public $modules = array();
/**
- * Array of recognized HTMLPurifier_Module instances, indexed by
- * module's class name. This array is usually lazy loaded, but a
+ * Array of recognized HTMLPurifier_HTMLModule instances,
+ * indexed by module's class name. This array is usually lazy loaded, but a
* user can overload a module by pre-emptively registering it.
+ * @type HTMLPurifier_HTMLModule[]
*/
public $registeredModules = array();
/**
- * List of extra modules that were added by the user using addModule().
- * These get unconditionally merged into the current doctype, whatever
+ * List of extra modules that were added by the user
+ * using addModule(). These get unconditionally merged into the current doctype, whatever
* it may be.
+ * @type HTMLPurifier_HTMLModule[]
*/
public $userModules = array();
/**
* Associative array of element name to list of modules that have
* definitions for the element; this array is dynamically filled.
+ * @type array
*/
public $elementLookup = array();
- /** List of prefixes we should use for registering small names */
+ /**
+ * List of prefixes we should use for registering small names.
+ * @type array
+ */
public $prefixes = array('HTMLPurifier_HTMLModule_');
- public $contentSets; /**< Instance of HTMLPurifier_ContentSets */
- public $attrCollections; /**< Instance of HTMLPurifier_AttrCollections */
+ /**
+ * @type HTMLPurifier_ContentSets
+ */
+ public $contentSets;
- /** If set to true, unsafe elements and attributes will be allowed */
- public $trusted = false;
+ /**
+ * @type HTMLPurifier_AttrCollections
+ */
+ public $attrCollections;
- public function __construct() {
+ /**
+ * If set to true, unsafe elements and attributes will be allowed.
+ * @type bool
+ */
+ public $trusted = false;
+ public function __construct()
+ {
// editable internal objects
$this->attrTypes = new HTMLPurifier_AttrTypes();
$this->doctypes = new HTMLPurifier_DoctypeRegistry();
@@ -65,17 +83,18 @@ class HTMLPurifier_HTMLModuleManager
'Presentation', 'Edit', 'Bdo', 'Tables', 'Image',
'StyleAttribute',
// Unsafe:
- 'Scripting', 'Object', 'Forms',
+ 'Scripting', 'Object', 'Forms',
// Sorta legacy, but present in strict:
'Name',
);
- $transitional = array('Legacy', 'Target');
+ $transitional = array('Legacy', 'Target', 'Iframe');
$xml = array('XMLCommonAttributes');
$non_xml = array('NonXMLCommonAttributes');
// setup basic doctypes
$this->doctypes->register(
- 'HTML 4.01 Transitional', false,
+ 'HTML 4.01 Transitional',
+ false,
array_merge($common, $transitional, $non_xml),
array('Tidy_Transitional', 'Tidy_Proprietary'),
array(),
@@ -84,7 +103,8 @@ class HTMLPurifier_HTMLModuleManager
);
$this->doctypes->register(
- 'HTML 4.01 Strict', false,
+ 'HTML 4.01 Strict',
+ false,
array_merge($common, $non_xml),
array('Tidy_Strict', 'Tidy_Proprietary', 'Tidy_Name'),
array(),
@@ -93,7 +113,8 @@ class HTMLPurifier_HTMLModuleManager
);
$this->doctypes->register(
- 'XHTML 1.0 Transitional', true,
+ 'XHTML 1.0 Transitional',
+ true,
array_merge($common, $transitional, $xml, $non_xml),
array('Tidy_Transitional', 'Tidy_XHTML', 'Tidy_Proprietary', 'Tidy_Name'),
array(),
@@ -102,7 +123,8 @@ class HTMLPurifier_HTMLModuleManager
);
$this->doctypes->register(
- 'XHTML 1.0 Strict', true,
+ 'XHTML 1.0 Strict',
+ true,
array_merge($common, $xml, $non_xml),
array('Tidy_Strict', 'Tidy_XHTML', 'Tidy_Strict', 'Tidy_Proprietary', 'Tidy_Name'),
array(),
@@ -111,8 +133,11 @@ class HTMLPurifier_HTMLModuleManager
);
$this->doctypes->register(
- 'XHTML 1.1', true,
- array_merge($common, $xml, array('Ruby')),
+ 'XHTML 1.1',
+ true,
+ // Iframe is a real XHTML 1.1 module, despite being
+ // "transitional"!
+ array_merge($common, $xml, array('Ruby', 'Iframe')),
array('Tidy_Strict', 'Tidy_XHTML', 'Tidy_Proprietary', 'Tidy_Strict', 'Tidy_Name'), // Tidy_XHTML1_1
array(),
'-//W3C//DTD XHTML 1.1//EN',
@@ -142,7 +167,8 @@ class HTMLPurifier_HTMLModuleManager
* your module manually. All modules must have been included
* externally: registerModule will not perform inclusions for you!
*/
- public function registerModule($module, $overload = false) {
+ public function registerModule($module, $overload = false)
+ {
if (is_string($module)) {
// attempt to load the module
$original_module = $module;
@@ -157,8 +183,10 @@ class HTMLPurifier_HTMLModuleManager
if (!$ok) {
$module = $original_module;
if (!class_exists($module)) {
- trigger_error($original_module . ' module does not exist',
- E_USER_ERROR);
+ trigger_error(
+ $original_module . ' module does not exist',
+ E_USER_ERROR
+ );
return;
}
}
@@ -178,9 +206,12 @@ class HTMLPurifier_HTMLModuleManager
* Adds a module to the current doctype by first registering it,
* and then tacking it on to the active doctype
*/
- public function addModule($module) {
+ public function addModule($module)
+ {
$this->registerModule($module);
- if (is_object($module)) $module = $module->name;
+ if (is_object($module)) {
+ $module = $module->name;
+ }
$this->userModules[] = $module;
}
@@ -188,17 +219,18 @@ class HTMLPurifier_HTMLModuleManager
* Adds a class prefix that registerModule() will use to resolve a
* string name to a concrete class
*/
- public function addPrefix($prefix) {
+ public function addPrefix($prefix)
+ {
$this->prefixes[] = $prefix;
}
/**
* Performs processing on modules, after being called you may
* use getElement() and getElements()
- * @param $config Instance of HTMLPurifier_Config
+ * @param HTMLPurifier_Config $config
*/
- public function setup($config) {
-
+ public function setup($config)
+ {
$this->trusted = $config->get('HTML.Trusted');
// generate
@@ -211,24 +243,34 @@ class HTMLPurifier_HTMLModuleManager
if (is_array($lookup)) {
foreach ($modules as $k => $m) {
- if (isset($special_cases[$m])) continue;
- if (!isset($lookup[$m])) unset($modules[$k]);
+ if (isset($special_cases[$m])) {
+ continue;
+ }
+ if (!isset($lookup[$m])) {
+ unset($modules[$k]);
+ }
}
}
- // add proprietary module (this gets special treatment because
- // it is completely removed from doctypes, etc.)
+ // custom modules
if ($config->get('HTML.Proprietary')) {
$modules[] = 'Proprietary';
}
-
- // add SafeObject/Safeembed modules
if ($config->get('HTML.SafeObject')) {
$modules[] = 'SafeObject';
}
if ($config->get('HTML.SafeEmbed')) {
$modules[] = 'SafeEmbed';
}
+ if ($config->get('HTML.SafeScripting') !== array()) {
+ $modules[] = 'SafeScripting';
+ }
+ if ($config->get('HTML.Nofollow')) {
+ $modules[] = 'Nofollow';
+ }
+ if ($config->get('HTML.TargetBlank')) {
+ $modules[] = 'TargetBlank';
+ }
// merge in custom modules
$modules = array_merge($modules, $this->userModules);
@@ -246,7 +288,7 @@ class HTMLPurifier_HTMLModuleManager
// prepare any injectors
foreach ($this->modules as $module) {
$n = array();
- foreach ($module->info_injector as $i => $injector) {
+ foreach ($module->info_injector as $injector) {
if (!is_object($injector)) {
$class = "HTMLPurifier_Injector_$injector";
$injector = new $class;
@@ -285,7 +327,8 @@ class HTMLPurifier_HTMLModuleManager
* Takes a module and adds it to the active module collection,
* registering it if necessary.
*/
- public function processModule($module) {
+ public function processModule($module)
+ {
if (!isset($this->registeredModules[$module]) || is_object($module)) {
$this->registerModule($module);
}
@@ -296,13 +339,17 @@ class HTMLPurifier_HTMLModuleManager
* Retrieves merged element definitions.
* @return Array of HTMLPurifier_ElementDef
*/
- public function getElements() {
-
+ public function getElements()
+ {
$elements = array();
foreach ($this->modules as $module) {
- if (!$this->trusted && !$module->safe) continue;
+ if (!$this->trusted && !$module->safe) {
+ continue;
+ }
foreach ($module->info as $name => $v) {
- if (isset($elements[$name])) continue;
+ if (isset($elements[$name])) {
+ continue;
+ }
$elements[$name] = $this->getElement($name);
}
}
@@ -310,7 +357,9 @@ class HTMLPurifier_HTMLModuleManager
// remove dud elements, this happens when an element that
// appeared to be safe actually wasn't
foreach ($elements as $n => $v) {
- if ($v === false) unset($elements[$n]);
+ if ($v === false) {
+ unset($elements[$n]);
+ }
}
return $elements;
@@ -319,28 +368,29 @@ class HTMLPurifier_HTMLModuleManager
/**
* Retrieves a single merged element definition
- * @param $name Name of element
- * @param $trusted Boolean trusted overriding parameter: set to true
+ * @param string $name Name of element
+ * @param bool $trusted Boolean trusted overriding parameter: set to true
* if you want the full version of an element
- * @return Merged HTMLPurifier_ElementDef
+ * @return HTMLPurifier_ElementDef Merged HTMLPurifier_ElementDef
* @note You may notice that modules are getting iterated over twice (once
* in getElements() and once here). This
* is because
*/
- public function getElement($name, $trusted = null) {
-
+ public function getElement($name, $trusted = null)
+ {
if (!isset($this->elementLookup[$name])) {
return false;
}
// setup global state variables
$def = false;
- if ($trusted === null) $trusted = $this->trusted;
+ if ($trusted === null) {
+ $trusted = $this->trusted;
+ }
// iterate through each module that has registered itself to this
// element
- foreach($this->elementLookup[$name] as $module_name) {
-
+ foreach ($this->elementLookup[$name] as $module_name) {
$module = $this->modules[$module_name];
// refuse to create/merge from a module that is deemed unsafe--
@@ -364,6 +414,13 @@ class HTMLPurifier_HTMLModuleManager
// :TODO:
// non-standalone definitions that don't have a standalone
// to merge into could be deferred to the end
+ // HOWEVER, it is perfectly valid for a non-standalone
+ // definition to lack a standalone definition, even
+ // after all processing: this allows us to safely
+ // specify extra attributes for elements that may not be
+ // enabled all in one place. In particular, this might
+ // be the case for trusted elements. WARNING: care must
+ // be taken that the /extra/ definitions are all safe.
continue;
}
@@ -385,7 +442,9 @@ class HTMLPurifier_HTMLModuleManager
// This can occur if there is a blank definition, but no base to
// mix it in with
- if (!$def) return false;
+ if (!$def) {
+ return false;
+ }
// add information on required attributes
foreach ($def->attr as $attr_name => $attr_def) {
@@ -393,11 +452,8 @@ class HTMLPurifier_HTMLModuleManager
$def->required_attr[] = $attr_name;
}
}
-
return $def;
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/IDAccumulator.php b/library/HTMLPurifier/IDAccumulator.php
index 73215295a..65c902c07 100644
--- a/library/HTMLPurifier/IDAccumulator.php
+++ b/library/HTMLPurifier/IDAccumulator.php
@@ -17,11 +17,12 @@ class HTMLPurifier_IDAccumulator
/**
* Builds an IDAccumulator, also initializing the default blacklist
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
- * @return Fully initialized HTMLPurifier_IDAccumulator
+ * @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config
+ * @param HTMLPurifier_Context $context Instance of HTMLPurifier_Context
+ * @return HTMLPurifier_IDAccumulator Fully initialized HTMLPurifier_IDAccumulator
*/
- public static function build($config, $context) {
+ public static function build($config, $context)
+ {
$id_accumulator = new HTMLPurifier_IDAccumulator();
$id_accumulator->load($config->get('Attr.IDBlacklist'));
return $id_accumulator;
@@ -29,11 +30,14 @@ class HTMLPurifier_IDAccumulator
/**
* Add an ID to the lookup table.
- * @param $id ID to be added.
- * @return Bool status, true if success, false if there's a dupe
+ * @param string $id ID to be added.
+ * @return bool status, true if success, false if there's a dupe
*/
- public function add($id) {
- if (isset($this->ids[$id])) return false;
+ public function add($id)
+ {
+ if (isset($this->ids[$id])) {
+ return false;
+ }
return $this->ids[$id] = true;
}
@@ -42,12 +46,12 @@ class HTMLPurifier_IDAccumulator
* @param $array_of_ids Array of IDs to load
* @note This function doesn't care about duplicates
*/
- public function load($array_of_ids) {
+ public function load($array_of_ids)
+ {
foreach ($array_of_ids as $id) {
$this->ids[$id] = true;
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Injector.php b/library/HTMLPurifier/Injector.php
index 5922f8130..5060eef9e 100644
--- a/library/HTMLPurifier/Injector.php
+++ b/library/HTMLPurifier/Injector.php
@@ -17,64 +17,71 @@ abstract class HTMLPurifier_Injector
{
/**
- * Advisory name of injector, this is for friendly error messages
+ * Advisory name of injector, this is for friendly error messages.
+ * @type string
*/
public $name;
/**
- * Instance of HTMLPurifier_HTMLDefinition
+ * @type HTMLPurifier_HTMLDefinition
*/
protected $htmlDefinition;
/**
* Reference to CurrentNesting variable in Context. This is an array
* list of tokens that we are currently "inside"
+ * @type array
*/
protected $currentNesting;
/**
- * Reference to InputTokens variable in Context. This is an array
- * list of the input tokens that are being processed.
+ * Reference to current token.
+ * @type HTMLPurifier_Token
*/
- protected $inputTokens;
+ protected $currentToken;
/**
- * Reference to InputIndex variable in Context. This is an integer
- * array index for $this->inputTokens that indicates what token
- * is currently being processed.
+ * Reference to InputZipper variable in Context.
+ * @type HTMLPurifier_Zipper
*/
- protected $inputIndex;
+ protected $inputZipper;
/**
* Array of elements and attributes this injector creates and therefore
* need to be allowed by the definition. Takes form of
* array('element' => array('attr', 'attr2'), 'element2')
+ * @type array
*/
public $needed = array();
/**
- * Index of inputTokens to rewind to.
+ * Number of elements to rewind backwards (relative).
+ * @type bool|int
*/
- protected $rewind = false;
+ protected $rewindOffset = false;
/**
* Rewind to a spot to re-perform processing. This is useful if you
* deleted a node, and now need to see if this change affected any
* earlier nodes. Rewinding does not affect other injectors, and can
* result in infinite loops if not used carefully.
+ * @param bool|int $offset
* @warning HTML Purifier will prevent you from fast-forwarding with this
* function.
*/
- public function rewind($index) {
- $this->rewind = $index;
+ public function rewindOffset($offset)
+ {
+ $this->rewindOffset = $offset;
}
/**
- * Retrieves rewind, and then unsets it.
+ * Retrieves rewind offset, and then unsets it.
+ * @return bool|int
*/
- public function getRewind() {
- $r = $this->rewind;
- $this->rewind = false;
+ public function getRewindOffset()
+ {
+ $r = $this->rewindOffset;
+ $this->rewindOffset = false;
return $r;
}
@@ -83,20 +90,23 @@ abstract class HTMLPurifier_Injector
* this allows references to important variables to be made within
* the injector. This function also checks if the HTML environment
* will work with the Injector (see checkNeeded()).
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
- * @return Boolean false if success, string of missing needed element/attribute if failure
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool|string Boolean false if success, string of missing needed element/attribute if failure
*/
- public function prepare($config, $context) {
+ public function prepare($config, $context)
+ {
$this->htmlDefinition = $config->getHTMLDefinition();
// Even though this might fail, some unit tests ignore this and
// still test checkNeeded, so be careful. Maybe get rid of that
// dependency.
$result = $this->checkNeeded($config);
- if ($result !== false) return $result;
+ if ($result !== false) {
+ return $result;
+ }
$this->currentNesting =& $context->get('CurrentNesting');
- $this->inputTokens =& $context->get('InputTokens');
- $this->inputIndex =& $context->get('InputIndex');
+ $this->currentToken =& $context->get('CurrentToken');
+ $this->inputZipper =& $context->get('InputZipper');
return false;
}
@@ -104,18 +114,26 @@ abstract class HTMLPurifier_Injector
* This function checks if the HTML environment
* will work with the Injector: if p tags are not allowed, the
* Auto-Paragraphing injector should not be enabled.
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
- * @return Boolean false if success, string of missing needed element/attribute if failure
+ * @param HTMLPurifier_Config $config
+ * @return bool|string Boolean false if success, string of missing needed element/attribute if failure
*/
- public function checkNeeded($config) {
+ public function checkNeeded($config)
+ {
$def = $config->getHTMLDefinition();
foreach ($this->needed as $element => $attributes) {
- if (is_int($element)) $element = $attributes;
- if (!isset($def->info[$element])) return $element;
- if (!is_array($attributes)) continue;
+ if (is_int($element)) {
+ $element = $attributes;
+ }
+ if (!isset($def->info[$element])) {
+ return $element;
+ }
+ if (!is_array($attributes)) {
+ continue;
+ }
foreach ($attributes as $name) {
- if (!isset($def->info[$element]->attr[$name])) return "$element.$name";
+ if (!isset($def->info[$element]->attr[$name])) {
+ return "$element.$name";
+ }
}
}
return false;
@@ -123,10 +141,11 @@ abstract class HTMLPurifier_Injector
/**
* Tests if the context node allows a certain element
- * @param $name Name of element to test for
- * @return True if element is allowed, false if it is not
+ * @param string $name Name of element to test for
+ * @return bool True if element is allowed, false if it is not
*/
- public function allowsElement($name) {
+ public function allowsElement($name)
+ {
if (!empty($this->currentNesting)) {
$parent_token = array_pop($this->currentNesting);
$this->currentNesting[] = $parent_token;
@@ -141,7 +160,9 @@ abstract class HTMLPurifier_Injector
for ($i = count($this->currentNesting) - 2; $i >= 0; $i--) {
$node = $this->currentNesting[$i];
$def = $this->htmlDefinition->info[$node->name];
- if (isset($def->excludes[$name])) return false;
+ if (isset($def->excludes[$name])) {
+ return false;
+ }
}
return true;
}
@@ -151,14 +172,22 @@ abstract class HTMLPurifier_Injector
* you reach the end of the input tokens.
* @warning Please prevent previous references from interfering with this
* functions by setting $i = null beforehand!
- * @param &$i Current integer index variable for inputTokens
- * @param &$current Current token variable. Do NOT use $token, as that variable is also a reference
- */
- protected function forward(&$i, &$current) {
- if ($i === null) $i = $this->inputIndex + 1;
- else $i++;
- if (!isset($this->inputTokens[$i])) return false;
- $current = $this->inputTokens[$i];
+ * @param int $i Current integer index variable for inputTokens
+ * @param HTMLPurifier_Token $current Current token variable.
+ * Do NOT use $token, as that variable is also a reference
+ * @return bool
+ */
+ protected function forward(&$i, &$current)
+ {
+ if ($i === null) {
+ $i = count($this->inputZipper->back) - 1;
+ } else {
+ $i--;
+ }
+ if ($i < 0) {
+ return false;
+ }
+ $current = $this->inputZipper->back[$i];
return true;
}
@@ -166,14 +195,27 @@ abstract class HTMLPurifier_Injector
* Similar to _forward, but accepts a third parameter $nesting (which
* should be initialized at 0) and stops when we hit the end tag
* for the node $this->inputIndex starts in.
+ * @param int $i Current integer index variable for inputTokens
+ * @param HTMLPurifier_Token $current Current token variable.
+ * Do NOT use $token, as that variable is also a reference
+ * @param int $nesting
+ * @return bool
*/
- protected function forwardUntilEndToken(&$i, &$current, &$nesting) {
+ protected function forwardUntilEndToken(&$i, &$current, &$nesting)
+ {
$result = $this->forward($i, $current);
- if (!$result) return false;
- if ($nesting === null) $nesting = 0;
- if ($current instanceof HTMLPurifier_Token_Start) $nesting++;
- elseif ($current instanceof HTMLPurifier_Token_End) {
- if ($nesting <= 0) return false;
+ if (!$result) {
+ return false;
+ }
+ if ($nesting === null) {
+ $nesting = 0;
+ }
+ if ($current instanceof HTMLPurifier_Token_Start) {
+ $nesting++;
+ } elseif ($current instanceof HTMLPurifier_Token_End) {
+ if ($nesting <= 0) {
+ return false;
+ }
$nesting--;
}
return true;
@@ -184,56 +226,56 @@ abstract class HTMLPurifier_Injector
* you reach the beginning of input tokens.
* @warning Please prevent previous references from interfering with this
* functions by setting $i = null beforehand!
- * @param &$i Current integer index variable for inputTokens
- * @param &$current Current token variable. Do NOT use $token, as that variable is also a reference
- */
- protected function backward(&$i, &$current) {
- if ($i === null) $i = $this->inputIndex - 1;
- else $i--;
- if ($i < 0) return false;
- $current = $this->inputTokens[$i];
- return true;
- }
-
- /**
- * Initializes the iterator at the current position. Use in a do {} while;
- * loop to force the _forward and _backward functions to start at the
- * current location.
- * @warning Please prevent previous references from interfering with this
- * functions by setting $i = null beforehand!
- * @param &$i Current integer index variable for inputTokens
- * @param &$current Current token variable. Do NOT use $token, as that variable is also a reference
+ * @param int $i Current integer index variable for inputTokens
+ * @param HTMLPurifier_Token $current Current token variable.
+ * Do NOT use $token, as that variable is also a reference
+ * @return bool
*/
- protected function current(&$i, &$current) {
- if ($i === null) $i = $this->inputIndex;
- $current = $this->inputTokens[$i];
+ protected function backward(&$i, &$current)
+ {
+ if ($i === null) {
+ $i = count($this->inputZipper->front) - 1;
+ } else {
+ $i--;
+ }
+ if ($i < 0) {
+ return false;
+ }
+ $current = $this->inputZipper->front[$i];
+ return true;
}
/**
* Handler that is called when a text token is processed
*/
- public function handleText(&$token) {}
+ public function handleText(&$token)
+ {
+ }
/**
* Handler that is called when a start or empty token is processed
*/
- public function handleElement(&$token) {}
+ public function handleElement(&$token)
+ {
+ }
/**
* Handler that is called when an end token is processed
*/
- public function handleEnd(&$token) {
+ public function handleEnd(&$token)
+ {
$this->notifyEnd($token);
}
/**
* Notifier that is called when an end token is processed
+ * @param HTMLPurifier_Token $token Current token variable.
* @note This differs from handlers in that the token is read-only
* @deprecated
*/
- public function notifyEnd($token) {}
-
-
+ public function notifyEnd($token)
+ {
+ }
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Injector/AutoParagraph.php b/library/HTMLPurifier/Injector/AutoParagraph.php
index afa760892..4afdd128d 100644
--- a/library/HTMLPurifier/Injector/AutoParagraph.php
+++ b/library/HTMLPurifier/Injector/AutoParagraph.php
@@ -8,17 +8,31 @@
*/
class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
{
-
+ /**
+ * @type string
+ */
public $name = 'AutoParagraph';
+
+ /**
+ * @type array
+ */
public $needed = array('p');
- private function _pStart() {
+ /**
+ * @return HTMLPurifier_Token_Start
+ */
+ private function _pStart()
+ {
$par = new HTMLPurifier_Token_Start('p');
$par->armor['MakeWellFormed_TagClosedError'] = true;
return $par;
}
- public function handleText(&$token) {
+ /**
+ * @param HTMLPurifier_Token_Text $token
+ */
+ public function handleText(&$token)
+ {
$text = $token->data;
// Does the current parent allow <p> tags?
if ($this->allowsElement('p')) {
@@ -72,11 +86,9 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
// ----
}
}
- // Is the current parent a <p> tag?
- } elseif (
- !empty($this->currentNesting) &&
- $this->currentNesting[count($this->currentNesting)-1]->name == 'p'
- ) {
+ // Is the current parent a <p> tag?
+ } elseif (!empty($this->currentNesting) &&
+ $this->currentNesting[count($this->currentNesting) - 1]->name == 'p') {
// State 3.1: ...<p>PAR1
// ----
@@ -84,7 +96,7 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
// ------------
$token = array();
$this->_splitText($text, $token);
- // Abort!
+ // Abort!
} else {
// State 4.1: ...<b>PAR1
// ----
@@ -94,7 +106,11 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
}
}
- public function handleElement(&$token) {
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleElement(&$token)
+ {
// We don't have to check if we're already in a <p> tag for block
// tokens, because the tag would have been autoclosed by MakeWellFormed.
if ($this->allowsElement('p')) {
@@ -102,7 +118,6 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
if ($this->_isInline($token)) {
// State 1: <div>...<b>
// ---
-
// Check if this token is adjacent to the parent token
// (seek backwards until token isn't whitespace)
$i = null;
@@ -110,31 +125,24 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
if (!$prev instanceof HTMLPurifier_Token_Start) {
// Token wasn't adjacent
-
- if (
- $prev instanceof HTMLPurifier_Token_Text &&
+ if ($prev instanceof HTMLPurifier_Token_Text &&
substr($prev->data, -2) === "\n\n"
) {
// State 1.1.4: <div><p>PAR1</p>\n\n<b>
// ---
-
// Quite frankly, this should be handled by splitText
$token = array($this->_pStart(), $token);
} else {
// State 1.1.1: <div><p>PAR1</p><b>
// ---
-
// State 1.1.2: <div><br /><b>
// ---
-
// State 1.1.3: <div>PAR<b>
// ---
}
-
} else {
// State 1.2.1: <div><b>
// ---
-
// Lookahead to see if <p> is needed.
if ($this->_pLookAhead()) {
// State 1.3.1: <div><b>PAR1\n\nPAR2
@@ -166,24 +174,20 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
$i = null;
if ($this->backward($i, $prev)) {
- if (
- !$prev instanceof HTMLPurifier_Token_Text
- ) {
+ if (!$prev instanceof HTMLPurifier_Token_Text) {
// State 3.1.1: ...</p>{p}<b>
// ---
-
// State 3.2.1: ...</p><div>
// -----
-
- if (!is_array($token)) $token = array($token);
+ if (!is_array($token)) {
+ $token = array($token);
+ }
array_unshift($token, new HTMLPurifier_Token_Text("\n\n"));
} else {
// State 3.1.2: ...</p>\n\n{p}<b>
// ---
-
// State 3.2.2: ...</p>\n\n<div>
// -----
-
// Note: PAR<ELEM> cannot occur because PAR would have been
// wrapped in <p> tags.
}
@@ -192,7 +196,6 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
} else {
// State 2.2: <ul><li>
// ----
-
// State 2.4: <p><b>
// ---
}
@@ -201,18 +204,17 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
/**
* Splits up a text in paragraph tokens and appends them
* to the result stream that will replace the original
- * @param $data String text data that will be processed
+ * @param string $data String text data that will be processed
* into paragraphs
- * @param $result Reference to array of tokens that the
+ * @param HTMLPurifier_Token[] $result Reference to array of tokens that the
* tags will be appended onto
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
*/
- private function _splitText($data, &$result) {
+ private function _splitText($data, &$result)
+ {
$raw_paragraphs = explode("\n\n", $data);
- $paragraphs = array(); // without empty paragraphs
+ $paragraphs = array(); // without empty paragraphs
$needs_start = false;
- $needs_end = false;
+ $needs_end = false;
$c = count($raw_paragraphs);
if ($c == 1) {
@@ -285,26 +287,33 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
array_pop($result); // removes \n\n
array_pop($result); // removes </p>
}
-
}
/**
* Returns true if passed token is inline (and, ergo, allowed in
* paragraph tags)
+ * @param HTMLPurifier_Token $token
+ * @return bool
*/
- private function _isInline($token) {
+ private function _isInline($token)
+ {
return isset($this->htmlDefinition->info['p']->child->elements[$token->name]);
}
/**
* Looks ahead in the token list and determines whether or not we need
* to insert a <p> tag.
+ * @return bool
*/
- private function _pLookAhead() {
- $this->current($i, $current);
- if ($current instanceof HTMLPurifier_Token_Start) $nesting = 1;
- else $nesting = 0;
+ private function _pLookAhead()
+ {
+ if ($this->currentToken instanceof HTMLPurifier_Token_Start) {
+ $nesting = 1;
+ } else {
+ $nesting = 0;
+ }
$ok = false;
+ $i = null;
while ($this->forwardUntilEndToken($i, $current, $nesting)) {
$result = $this->_checkNeedsP($current);
if ($result !== null) {
@@ -318,9 +327,12 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
/**
* Determines if a particular token requires an earlier inline token
* to get a paragraph. This should be used with _forwardUntilEndToken
+ * @param HTMLPurifier_Token $current
+ * @return bool
*/
- private function _checkNeedsP($current) {
- if ($current instanceof HTMLPurifier_Token_Start){
+ private function _checkNeedsP($current)
+ {
+ if ($current instanceof HTMLPurifier_Token_Start) {
if (!$this->_isInline($current)) {
// <div>PAR1<div>
// ----
@@ -339,7 +351,6 @@ class HTMLPurifier_Injector_AutoParagraph extends HTMLPurifier_Injector
}
return null;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Injector/DisplayLinkURI.php b/library/HTMLPurifier/Injector/DisplayLinkURI.php
index 9dce9bd08..c19b1bc27 100644
--- a/library/HTMLPurifier/Injector/DisplayLinkURI.php
+++ b/library/HTMLPurifier/Injector/DisplayLinkURI.php
@@ -5,15 +5,29 @@
*/
class HTMLPurifier_Injector_DisplayLinkURI extends HTMLPurifier_Injector
{
-
+ /**
+ * @type string
+ */
public $name = 'DisplayLinkURI';
+
+ /**
+ * @type array
+ */
public $needed = array('a');
- public function handleElement(&$token) {
+ /**
+ * @param $token
+ */
+ public function handleElement(&$token)
+ {
}
- public function handleEnd(&$token) {
- if (isset($token->start->attr['href'])){
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleEnd(&$token)
+ {
+ if (isset($token->start->attr['href'])) {
$url = $token->start->attr['href'];
unset($token->start->attr['href']);
$token = array($token, new HTMLPurifier_Token_Text(" ($url)"));
diff --git a/library/HTMLPurifier/Injector/Linkify.php b/library/HTMLPurifier/Injector/Linkify.php
index 296dac282..069708c25 100644
--- a/library/HTMLPurifier/Injector/Linkify.php
+++ b/library/HTMLPurifier/Injector/Linkify.php
@@ -5,12 +5,24 @@
*/
class HTMLPurifier_Injector_Linkify extends HTMLPurifier_Injector
{
-
+ /**
+ * @type string
+ */
public $name = 'Linkify';
+
+ /**
+ * @type array
+ */
public $needed = array('a' => array('href'));
- public function handleText(&$token) {
- if (!$this->allowsElement('a')) return;
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleText(&$token)
+ {
+ if (!$this->allowsElement('a')) {
+ return;
+ }
if (strpos($token->data, '://') === false) {
// our really quick heuristic failed, abort
@@ -21,7 +33,8 @@ class HTMLPurifier_Injector_Linkify extends HTMLPurifier_Injector
// there is/are URL(s). Let's split the string:
// Note: this regex is extremely permissive
- $bits = preg_split('#((?:https?|ftp)://[^\s\'"<>()]+)#S', $token->data, -1, PREG_SPLIT_DELIM_CAPTURE);
+ $bits = preg_split('#((?:https?|ftp)://[^\s\'",<>()]+)#Su', $token->data, -1, PREG_SPLIT_DELIM_CAPTURE);
+
$token = array();
@@ -30,7 +43,9 @@ class HTMLPurifier_Injector_Linkify extends HTMLPurifier_Injector
// $l = is link
for ($i = 0, $c = count($bits), $l = false; $i < $c; $i++, $l = !$l) {
if (!$l) {
- if ($bits[$i] === '') continue;
+ if ($bits[$i] === '') {
+ continue;
+ }
$token[] = new HTMLPurifier_Token_Text($bits[$i]);
} else {
$token[] = new HTMLPurifier_Token_Start('a', array('href' => $bits[$i]));
@@ -38,9 +53,7 @@ class HTMLPurifier_Injector_Linkify extends HTMLPurifier_Injector
$token[] = new HTMLPurifier_Token_End('a');
}
}
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Injector/PurifierLinkify.php b/library/HTMLPurifier/Injector/PurifierLinkify.php
index ad2455a91..cb9046f33 100644
--- a/library/HTMLPurifier/Injector/PurifierLinkify.php
+++ b/library/HTMLPurifier/Injector/PurifierLinkify.php
@@ -6,19 +6,43 @@
*/
class HTMLPurifier_Injector_PurifierLinkify extends HTMLPurifier_Injector
{
-
+ /**
+ * @type string
+ */
public $name = 'PurifierLinkify';
+
+ /**
+ * @type string
+ */
public $docURL;
+
+ /**
+ * @type array
+ */
public $needed = array('a' => array('href'));
- public function prepare($config, $context) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function prepare($config, $context)
+ {
$this->docURL = $config->get('AutoFormat.PurifierLinkify.DocURL');
return parent::prepare($config, $context);
}
- public function handleText(&$token) {
- if (!$this->allowsElement('a')) return;
- if (strpos($token->data, '%') === false) return;
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleText(&$token)
+ {
+ if (!$this->allowsElement('a')) {
+ return;
+ }
+ if (strpos($token->data, '%') === false) {
+ return;
+ }
$bits = preg_split('#%([a-z0-9]+\.[a-z0-9]+)#Si', $token->data, -1, PREG_SPLIT_DELIM_CAPTURE);
$token = array();
@@ -28,18 +52,20 @@ class HTMLPurifier_Injector_PurifierLinkify extends HTMLPurifier_Injector
// $l = is link
for ($i = 0, $c = count($bits), $l = false; $i < $c; $i++, $l = !$l) {
if (!$l) {
- if ($bits[$i] === '') continue;
+ if ($bits[$i] === '') {
+ continue;
+ }
$token[] = new HTMLPurifier_Token_Text($bits[$i]);
} else {
- $token[] = new HTMLPurifier_Token_Start('a',
- array('href' => str_replace('%s', $bits[$i], $this->docURL)));
+ $token[] = new HTMLPurifier_Token_Start(
+ 'a',
+ array('href' => str_replace('%s', $bits[$i], $this->docURL))
+ );
$token[] = new HTMLPurifier_Token_Text('%' . $bits[$i]);
$token[] = new HTMLPurifier_Token_End('a');
}
}
-
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Injector/RemoveEmpty.php b/library/HTMLPurifier/Injector/RemoveEmpty.php
index 638bfca03..cd885722e 100644
--- a/library/HTMLPurifier/Injector/RemoveEmpty.php
+++ b/library/HTMLPurifier/Injector/RemoveEmpty.php
@@ -2,10 +2,44 @@
class HTMLPurifier_Injector_RemoveEmpty extends HTMLPurifier_Injector
{
+ /**
+ * @type HTMLPurifier_Context
+ */
+ private $context;
- private $context, $config, $attrValidator, $removeNbsp, $removeNbspExceptions;
+ /**
+ * @type HTMLPurifier_Config
+ */
+ private $config;
- public function prepare($config, $context) {
+ /**
+ * @type HTMLPurifier_AttrValidator
+ */
+ private $attrValidator;
+
+ /**
+ * @type bool
+ */
+ private $removeNbsp;
+
+ /**
+ * @type bool
+ */
+ private $removeNbspExceptions;
+
+ /**
+ * @type array
+ * TODO: make me configurable
+ */
+ private $_exclude = array('colgroup' => 1, 'th' => 1, 'td' => 1, 'iframe' => 1);
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return void
+ */
+ public function prepare($config, $context)
+ {
parent::prepare($config, $context);
$this->config = $config;
$this->context = $context;
@@ -14,38 +48,54 @@ class HTMLPurifier_Injector_RemoveEmpty extends HTMLPurifier_Injector
$this->attrValidator = new HTMLPurifier_AttrValidator();
}
- public function handleElement(&$token) {
- if (!$token instanceof HTMLPurifier_Token_Start) return;
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleElement(&$token)
+ {
+ if (!$token instanceof HTMLPurifier_Token_Start) {
+ return;
+ }
$next = false;
- for ($i = $this->inputIndex + 1, $c = count($this->inputTokens); $i < $c; $i++) {
- $next = $this->inputTokens[$i];
+ $deleted = 1; // the current tag
+ for ($i = count($this->inputZipper->back) - 1; $i >= 0; $i--, $deleted++) {
+ $next = $this->inputZipper->back[$i];
if ($next instanceof HTMLPurifier_Token_Text) {
- if ($next->is_whitespace) continue;
+ if ($next->is_whitespace) {
+ continue;
+ }
if ($this->removeNbsp && !isset($this->removeNbspExceptions[$token->name])) {
$plain = str_replace("\xC2\xA0", "", $next->data);
$isWsOrNbsp = $plain === '' || ctype_space($plain);
- if ($isWsOrNbsp) continue;
+ if ($isWsOrNbsp) {
+ continue;
+ }
}
}
break;
}
if (!$next || ($next instanceof HTMLPurifier_Token_End && $next->name == $token->name)) {
- if ($token->name == 'colgroup') return;
+ if (isset($this->_exclude[$token->name])) {
+ return;
+ }
$this->attrValidator->validateToken($token, $this->config, $this->context);
$token->armor['ValidateAttributes'] = true;
- if (isset($token->attr['id']) || isset($token->attr['name'])) return;
- $token = $i - $this->inputIndex + 1;
- for ($b = $this->inputIndex - 1; $b > 0; $b--) {
- $prev = $this->inputTokens[$b];
- if ($prev instanceof HTMLPurifier_Token_Text && $prev->is_whitespace) continue;
+ if (isset($token->attr['id']) || isset($token->attr['name'])) {
+ return;
+ }
+ $token = $deleted + 1;
+ for ($b = 0, $c = count($this->inputZipper->front); $b < $c; $b++) {
+ $prev = $this->inputZipper->front[$b];
+ if ($prev instanceof HTMLPurifier_Token_Text && $prev->is_whitespace) {
+ continue;
+ }
break;
}
// This is safe because we removed the token that triggered this.
- $this->rewind($b - 1);
+ $this->rewindOffset($b+$deleted);
return;
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php b/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php
index b21313470..9ee7aa84d 100644
--- a/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php
+++ b/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php
@@ -5,25 +5,45 @@
*/
class HTMLPurifier_Injector_RemoveSpansWithoutAttributes extends HTMLPurifier_Injector
{
+ /**
+ * @type string
+ */
public $name = 'RemoveSpansWithoutAttributes';
+
+ /**
+ * @type array
+ */
public $needed = array('span');
+ /**
+ * @type HTMLPurifier_AttrValidator
+ */
private $attrValidator;
/**
- * Used by AttrValidator
+ * Used by AttrValidator.
+ * @type HTMLPurifier_Config
*/
private $config;
+
+ /**
+ * @type HTMLPurifier_Context
+ */
private $context;
- public function prepare($config, $context) {
+ public function prepare($config, $context)
+ {
$this->attrValidator = new HTMLPurifier_AttrValidator();
$this->config = $config;
$this->context = $context;
return parent::prepare($config, $context);
}
- public function handleElement(&$token) {
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleElement(&$token)
+ {
if ($token->name !== 'span' || !$token instanceof HTMLPurifier_Token_Start) {
return;
}
@@ -39,8 +59,8 @@ class HTMLPurifier_Injector_RemoveSpansWithoutAttributes extends HTMLPurifier_In
}
$nesting = 0;
- $spanContentTokens = array();
- while ($this->forwardUntilEndToken($i, $current, $nesting)) {}
+ while ($this->forwardUntilEndToken($i, $current, $nesting)) {
+ }
if ($current instanceof HTMLPurifier_Token_End && $current->name === 'span') {
// Mark closing span tag for deletion
@@ -50,7 +70,11 @@ class HTMLPurifier_Injector_RemoveSpansWithoutAttributes extends HTMLPurifier_In
}
}
- public function handleEnd(&$token) {
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleEnd(&$token)
+ {
if ($token->markForDeletion) {
$token = false;
}
diff --git a/library/HTMLPurifier/Injector/SafeObject.php b/library/HTMLPurifier/Injector/SafeObject.php
index 9e178ce01..3d17e07af 100644
--- a/library/HTMLPurifier/Injector/SafeObject.php
+++ b/library/HTMLPurifier/Injector/SafeObject.php
@@ -6,29 +6,61 @@
*/
class HTMLPurifier_Injector_SafeObject extends HTMLPurifier_Injector
{
+ /**
+ * @type string
+ */
public $name = 'SafeObject';
+
+ /**
+ * @type array
+ */
public $needed = array('object', 'param');
+ /**
+ * @type array
+ */
protected $objectStack = array();
- protected $paramStack = array();
- // Keep this synchronized with AttrTransform/SafeParam.php
+ /**
+ * @type array
+ */
+ protected $paramStack = array();
+
+ /**
+ * Keep this synchronized with AttrTransform/SafeParam.php.
+ * @type array
+ */
protected $addParam = array(
'allowScriptAccess' => 'never',
'allowNetworking' => 'internal',
);
+
+ /**
+ * @type array
+ */
protected $allowedParam = array(
'wmode' => true,
'movie' => true,
'flashvars' => true,
'src' => true,
+ 'allowFullScreen' => true, // if omitted, assume to be 'false'
);
- public function prepare($config, $context) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return void
+ */
+ public function prepare($config, $context)
+ {
parent::prepare($config, $context);
}
- public function handleElement(&$token) {
+ /**
+ * @param HTMLPurifier_Token $token
+ */
+ public function handleElement(&$token)
+ {
if ($token->name == 'object') {
$this->objectStack[] = $token;
$this->paramStack[] = array();
@@ -50,16 +82,15 @@ class HTMLPurifier_Injector_SafeObject extends HTMLPurifier_Injector
// attribute, which we need if a type is specified. This is
// *very* Flash specific.
if (!isset($this->objectStack[$i]->attr['data']) &&
- ($token->attr['name'] == 'movie' || $token->attr['name'] == 'src')) {
+ ($token->attr['name'] == 'movie' || $token->attr['name'] == 'src')
+ ) {
$this->objectStack[$i]->attr['data'] = $token->attr['value'];
}
// Check if the parameter is the correct value but has not
// already been added
- if (
- !isset($this->paramStack[$i][$n]) &&
+ if (!isset($this->paramStack[$i][$n]) &&
isset($this->addParam[$n]) &&
- $token->attr['name'] === $this->addParam[$n]
- ) {
+ $token->attr['name'] === $this->addParam[$n]) {
// keep token, and add to param stack
$this->paramStack[$i][$n] = true;
} elseif (isset($this->allowedParam[$n])) {
@@ -75,7 +106,8 @@ class HTMLPurifier_Injector_SafeObject extends HTMLPurifier_Injector
}
}
- public function handleEnd(&$token) {
+ public function handleEnd(&$token)
+ {
// This is the WRONG way of handling the object and param stacks;
// we should be inserting them directly on the relevant object tokens
// so that the global stack handling handles it.
@@ -84,7 +116,6 @@ class HTMLPurifier_Injector_SafeObject extends HTMLPurifier_Injector
array_pop($this->paramStack);
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Language.php b/library/HTMLPurifier/Language.php
index 3e2be03b5..65277dd43 100644
--- a/library/HTMLPurifier/Language.php
+++ b/library/HTMLPurifier/Language.php
@@ -8,22 +8,26 @@ class HTMLPurifier_Language
{
/**
- * ISO 639 language code of language. Prefers shortest possible version
+ * ISO 639 language code of language. Prefers shortest possible version.
+ * @type string
*/
public $code = 'en';
/**
- * Fallback language code
+ * Fallback language code.
+ * @type bool|string
*/
public $fallback = false;
/**
- * Array of localizable messages
+ * Array of localizable messages.
+ * @type array
*/
public $messages = array();
/**
- * Array of localizable error codes
+ * Array of localizable error codes.
+ * @type array
*/
public $errorNames = array();
@@ -31,21 +35,33 @@ class HTMLPurifier_Language
* True if no message file was found for this language, so English
* is being used instead. Check this if you'd like to notify the
* user that they've used a non-supported language.
+ * @type bool
*/
public $error = false;
/**
* Has the language object been loaded yet?
+ * @type bool
* @todo Make it private, fix usage in HTMLPurifier_LanguageTest
*/
public $_loaded = false;
/**
- * Instances of HTMLPurifier_Config and HTMLPurifier_Context
+ * @type HTMLPurifier_Config
*/
- protected $config, $context;
+ protected $config;
- public function __construct($config, $context) {
+ /**
+ * @type HTMLPurifier_Context
+ */
+ protected $context;
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ */
+ public function __construct($config, $context)
+ {
$this->config = $config;
$this->context = $context;
}
@@ -54,8 +70,11 @@ class HTMLPurifier_Language
* Loads language object with necessary info from factory cache
* @note This is a lazy loader
*/
- public function load() {
- if ($this->_loaded) return;
+ public function load()
+ {
+ if ($this->_loaded) {
+ return;
+ }
$factory = HTMLPurifier_LanguageFactory::instance();
$factory->loadLanguage($this->code);
foreach ($factory->keys as $key) {
@@ -66,31 +85,43 @@ class HTMLPurifier_Language
/**
* Retrieves a localised message.
- * @param $key string identifier of message
+ * @param string $key string identifier of message
* @return string localised message
*/
- public function getMessage($key) {
- if (!$this->_loaded) $this->load();
- if (!isset($this->messages[$key])) return "[$key]";
+ public function getMessage($key)
+ {
+ if (!$this->_loaded) {
+ $this->load();
+ }
+ if (!isset($this->messages[$key])) {
+ return "[$key]";
+ }
return $this->messages[$key];
}
/**
* Retrieves a localised error name.
- * @param $int integer error number, corresponding to PHP's error
- * reporting
+ * @param int $int error number, corresponding to PHP's error reporting
* @return string localised message
*/
- public function getErrorName($int) {
- if (!$this->_loaded) $this->load();
- if (!isset($this->errorNames[$int])) return "[Error: $int]";
+ public function getErrorName($int)
+ {
+ if (!$this->_loaded) {
+ $this->load();
+ }
+ if (!isset($this->errorNames[$int])) {
+ return "[Error: $int]";
+ }
return $this->errorNames[$int];
}
/**
* Converts an array list into a string readable representation
+ * @param array $array
+ * @return string
*/
- public function listify($array) {
+ public function listify($array)
+ {
$sep = $this->getMessage('Item separator');
$sep_last = $this->getMessage('Item separator last');
$ret = '';
@@ -108,15 +139,20 @@ class HTMLPurifier_Language
/**
* Formats a localised message with passed parameters
- * @param $key string identifier of message
- * @param $args Parameters to substitute in
+ * @param string $key string identifier of message
+ * @param array $args Parameters to substitute in
* @return string localised message
* @todo Implement conditionals? Right now, some messages make
* reference to line numbers, but those aren't always available
*/
- public function formatMessage($key, $args = array()) {
- if (!$this->_loaded) $this->load();
- if (!isset($this->messages[$key])) return "[$key]";
+ public function formatMessage($key, $args = array())
+ {
+ if (!$this->_loaded) {
+ $this->load();
+ }
+ if (!isset($this->messages[$key])) {
+ return "[$key]";
+ }
$raw = $this->messages[$key];
$subst = array();
$generator = false;
@@ -124,9 +160,15 @@ class HTMLPurifier_Language
if (is_object($value)) {
if ($value instanceof HTMLPurifier_Token) {
// factor this out some time
- if (!$generator) $generator = $this->context->get('Generator');
- if (isset($value->name)) $subst['$'.$i.'.Name'] = $value->name;
- if (isset($value->data)) $subst['$'.$i.'.Data'] = $value->data;
+ if (!$generator) {
+ $generator = $this->context->get('Generator');
+ }
+ if (isset($value->name)) {
+ $subst['$'.$i.'.Name'] = $value->name;
+ }
+ if (isset($value->data)) {
+ $subst['$'.$i.'.Data'] = $value->data;
+ }
$subst['$'.$i.'.Compact'] =
$subst['$'.$i.'.Serialized'] = $generator->generateFromToken($value);
// a more complex algorithm for compact representation
@@ -157,7 +199,6 @@ class HTMLPurifier_Language
}
return strtr($raw, $subst);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Language/classes/en-x-test.php b/library/HTMLPurifier/Language/classes/en-x-test.php
index d52fcb7ac..8828f5cde 100644
--- a/library/HTMLPurifier/Language/classes/en-x-test.php
+++ b/library/HTMLPurifier/Language/classes/en-x-test.php
@@ -4,9 +4,6 @@
class HTMLPurifier_Language_en_x_test extends HTMLPurifier_Language
{
-
-
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Language/messages/en.php b/library/HTMLPurifier/Language/messages/en.php
index 8d7b5736b..c7f197e1e 100644
--- a/library/HTMLPurifier/Language/messages/en.php
+++ b/library/HTMLPurifier/Language/messages/en.php
@@ -4,60 +4,52 @@ $fallback = false;
$messages = array(
-'HTMLPurifier' => 'HTML Purifier',
-
+ 'HTMLPurifier' => 'HTML Purifier',
// for unit testing purposes
-'LanguageFactoryTest: Pizza' => 'Pizza',
-'LanguageTest: List' => '$1',
-'LanguageTest: Hash' => '$1.Keys; $1.Values',
-
-'Item separator' => ', ',
-'Item separator last' => ' and ', // non-Harvard style
-
-'ErrorCollector: No errors' => 'No errors detected. However, because error reporting is still incomplete, there may have been errors that the error collector was not notified of; please inspect the output HTML carefully.',
-'ErrorCollector: At line' => ' at line $line',
-'ErrorCollector: Incidental errors' => 'Incidental errors',
-
-'Lexer: Unclosed comment' => 'Unclosed comment',
-'Lexer: Unescaped lt' => 'Unescaped less-than sign (<) should be &lt;',
-'Lexer: Missing gt' => 'Missing greater-than sign (>), previous less-than sign (<) should be escaped',
-'Lexer: Missing attribute key' => 'Attribute declaration has no key',
-'Lexer: Missing end quote' => 'Attribute declaration has no end quote',
-'Lexer: Extracted body' => 'Removed document metadata tags',
-
-'Strategy_RemoveForeignElements: Tag transform' => '<$1> element transformed into $CurrentToken.Serialized',
-'Strategy_RemoveForeignElements: Missing required attribute' => '$CurrentToken.Compact element missing required attribute $1',
-'Strategy_RemoveForeignElements: Foreign element to text' => 'Unrecognized $CurrentToken.Serialized tag converted to text',
-'Strategy_RemoveForeignElements: Foreign element removed' => 'Unrecognized $CurrentToken.Serialized tag removed',
-'Strategy_RemoveForeignElements: Comment removed' => 'Comment containing "$CurrentToken.Data" removed',
-'Strategy_RemoveForeignElements: Foreign meta element removed' => 'Unrecognized $CurrentToken.Serialized meta tag and all descendants removed',
-'Strategy_RemoveForeignElements: Token removed to end' => 'Tags and text starting from $1 element where removed to end',
-'Strategy_RemoveForeignElements: Trailing hyphen in comment removed' => 'Trailing hyphen(s) in comment removed',
-'Strategy_RemoveForeignElements: Hyphens in comment collapsed' => 'Double hyphens in comments are not allowed, and were collapsed into single hyphens',
-
-'Strategy_MakeWellFormed: Unnecessary end tag removed' => 'Unnecessary $CurrentToken.Serialized tag removed',
-'Strategy_MakeWellFormed: Unnecessary end tag to text' => 'Unnecessary $CurrentToken.Serialized tag converted to text',
-'Strategy_MakeWellFormed: Tag auto closed' => '$1.Compact started on line $1.Line auto-closed by $CurrentToken.Compact',
-'Strategy_MakeWellFormed: Tag carryover' => '$1.Compact started on line $1.Line auto-continued into $CurrentToken.Compact',
-'Strategy_MakeWellFormed: Stray end tag removed' => 'Stray $CurrentToken.Serialized tag removed',
-'Strategy_MakeWellFormed: Stray end tag to text' => 'Stray $CurrentToken.Serialized tag converted to text',
-'Strategy_MakeWellFormed: Tag closed by element end' => '$1.Compact tag started on line $1.Line closed by end of $CurrentToken.Serialized',
-'Strategy_MakeWellFormed: Tag closed by document end' => '$1.Compact tag started on line $1.Line closed by end of document',
-
-'Strategy_FixNesting: Node removed' => '$CurrentToken.Compact node removed',
-'Strategy_FixNesting: Node excluded' => '$CurrentToken.Compact node removed due to descendant exclusion by ancestor element',
-'Strategy_FixNesting: Node reorganized' => 'Contents of $CurrentToken.Compact node reorganized to enforce its content model',
-'Strategy_FixNesting: Node contents removed' => 'Contents of $CurrentToken.Compact node removed',
-
-'AttrValidator: Attributes transformed' => 'Attributes on $CurrentToken.Compact transformed from $1.Keys to $2.Keys',
-'AttrValidator: Attribute removed' => '$CurrentAttr.Name attribute on $CurrentToken.Compact removed',
-
+ 'LanguageFactoryTest: Pizza' => 'Pizza',
+ 'LanguageTest: List' => '$1',
+ 'LanguageTest: Hash' => '$1.Keys; $1.Values',
+ 'Item separator' => ', ',
+ 'Item separator last' => ' and ', // non-Harvard style
+
+ 'ErrorCollector: No errors' => 'No errors detected. However, because error reporting is still incomplete, there may have been errors that the error collector was not notified of; please inspect the output HTML carefully.',
+ 'ErrorCollector: At line' => ' at line $line',
+ 'ErrorCollector: Incidental errors' => 'Incidental errors',
+ 'Lexer: Unclosed comment' => 'Unclosed comment',
+ 'Lexer: Unescaped lt' => 'Unescaped less-than sign (<) should be &lt;',
+ 'Lexer: Missing gt' => 'Missing greater-than sign (>), previous less-than sign (<) should be escaped',
+ 'Lexer: Missing attribute key' => 'Attribute declaration has no key',
+ 'Lexer: Missing end quote' => 'Attribute declaration has no end quote',
+ 'Lexer: Extracted body' => 'Removed document metadata tags',
+ 'Strategy_RemoveForeignElements: Tag transform' => '<$1> element transformed into $CurrentToken.Serialized',
+ 'Strategy_RemoveForeignElements: Missing required attribute' => '$CurrentToken.Compact element missing required attribute $1',
+ 'Strategy_RemoveForeignElements: Foreign element to text' => 'Unrecognized $CurrentToken.Serialized tag converted to text',
+ 'Strategy_RemoveForeignElements: Foreign element removed' => 'Unrecognized $CurrentToken.Serialized tag removed',
+ 'Strategy_RemoveForeignElements: Comment removed' => 'Comment containing "$CurrentToken.Data" removed',
+ 'Strategy_RemoveForeignElements: Foreign meta element removed' => 'Unrecognized $CurrentToken.Serialized meta tag and all descendants removed',
+ 'Strategy_RemoveForeignElements: Token removed to end' => 'Tags and text starting from $1 element where removed to end',
+ 'Strategy_RemoveForeignElements: Trailing hyphen in comment removed' => 'Trailing hyphen(s) in comment removed',
+ 'Strategy_RemoveForeignElements: Hyphens in comment collapsed' => 'Double hyphens in comments are not allowed, and were collapsed into single hyphens',
+ 'Strategy_MakeWellFormed: Unnecessary end tag removed' => 'Unnecessary $CurrentToken.Serialized tag removed',
+ 'Strategy_MakeWellFormed: Unnecessary end tag to text' => 'Unnecessary $CurrentToken.Serialized tag converted to text',
+ 'Strategy_MakeWellFormed: Tag auto closed' => '$1.Compact started on line $1.Line auto-closed by $CurrentToken.Compact',
+ 'Strategy_MakeWellFormed: Tag carryover' => '$1.Compact started on line $1.Line auto-continued into $CurrentToken.Compact',
+ 'Strategy_MakeWellFormed: Stray end tag removed' => 'Stray $CurrentToken.Serialized tag removed',
+ 'Strategy_MakeWellFormed: Stray end tag to text' => 'Stray $CurrentToken.Serialized tag converted to text',
+ 'Strategy_MakeWellFormed: Tag closed by element end' => '$1.Compact tag started on line $1.Line closed by end of $CurrentToken.Serialized',
+ 'Strategy_MakeWellFormed: Tag closed by document end' => '$1.Compact tag started on line $1.Line closed by end of document',
+ 'Strategy_FixNesting: Node removed' => '$CurrentToken.Compact node removed',
+ 'Strategy_FixNesting: Node excluded' => '$CurrentToken.Compact node removed due to descendant exclusion by ancestor element',
+ 'Strategy_FixNesting: Node reorganized' => 'Contents of $CurrentToken.Compact node reorganized to enforce its content model',
+ 'Strategy_FixNesting: Node contents removed' => 'Contents of $CurrentToken.Compact node removed',
+ 'AttrValidator: Attributes transformed' => 'Attributes on $CurrentToken.Compact transformed from $1.Keys to $2.Keys',
+ 'AttrValidator: Attribute removed' => '$CurrentAttr.Name attribute on $CurrentToken.Compact removed',
);
$errorNames = array(
- E_ERROR => 'Error',
+ E_ERROR => 'Error',
E_WARNING => 'Warning',
- E_NOTICE => 'Notice'
+ E_NOTICE => 'Notice'
);
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/LanguageFactory.php b/library/HTMLPurifier/LanguageFactory.php
index 134ef8c74..4e35272d8 100644
--- a/library/HTMLPurifier/LanguageFactory.php
+++ b/library/HTMLPurifier/LanguageFactory.php
@@ -11,50 +11,53 @@ class HTMLPurifier_LanguageFactory
{
/**
- * Cache of language code information used to load HTMLPurifier_Language objects
+ * Cache of language code information used to load HTMLPurifier_Language objects.
* Structure is: $factory->cache[$language_code][$key] = $value
- * @value array map
+ * @type array
*/
public $cache;
/**
* Valid keys in the HTMLPurifier_Language object. Designates which
* variables to slurp out of a message file.
- * @value array list
+ * @type array
*/
public $keys = array('fallback', 'messages', 'errorNames');
/**
- * Instance of HTMLPurifier_AttrDef_Lang to validate language codes
- * @value object HTMLPurifier_AttrDef_Lang
+ * Instance to validate language codes.
+ * @type HTMLPurifier_AttrDef_Lang
+ *
*/
protected $validator;
/**
* Cached copy of dirname(__FILE__), directory of current file without
- * trailing slash
- * @value string filename
+ * trailing slash.
+ * @type string
*/
protected $dir;
/**
- * Keys whose contents are a hash map and can be merged
- * @value array lookup
+ * Keys whose contents are a hash map and can be merged.
+ * @type array
*/
protected $mergeable_keys_map = array('messages' => true, 'errorNames' => true);
/**
- * Keys whose contents are a list and can be merged
+ * Keys whose contents are a list and can be merged.
* @value array lookup
*/
protected $mergeable_keys_list = array();
/**
* Retrieve sole instance of the factory.
- * @param $prototype Optional prototype to overload sole instance with,
+ * @param HTMLPurifier_LanguageFactory $prototype Optional prototype to overload sole instance with,
* or bool true to reset to default factory.
+ * @return HTMLPurifier_LanguageFactory
*/
- public static function instance($prototype = null) {
+ public static function instance($prototype = null)
+ {
static $instance = null;
if ($prototype !== null) {
$instance = $prototype;
@@ -69,28 +72,34 @@ class HTMLPurifier_LanguageFactory
* Sets up the singleton, much like a constructor
* @note Prevents people from getting this outside of the singleton
*/
- public function setup() {
+ public function setup()
+ {
$this->validator = new HTMLPurifier_AttrDef_Lang();
$this->dir = HTMLPURIFIER_PREFIX . '/HTMLPurifier';
}
/**
* Creates a language object, handles class fallbacks
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
- * @param $code Code to override configuration with. Private parameter.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @param bool|string $code Code to override configuration with. Private parameter.
+ * @return HTMLPurifier_Language
*/
- public function create($config, $context, $code = false) {
-
+ public function create($config, $context, $code = false)
+ {
// validate language code
if ($code === false) {
$code = $this->validator->validate(
- $config->get('Core.Language'), $config, $context
+ $config->get('Core.Language'),
+ $config,
+ $context
);
} else {
$code = $this->validator->validate($code, $config, $context);
}
- if ($code === false) $code = 'en'; // malformed code becomes English
+ if ($code === false) {
+ $code = 'en'; // malformed code becomes English
+ }
$pcode = str_replace('-', '_', $code); // make valid PHP classname
static $depth = 0; // recursion protection
@@ -114,32 +123,34 @@ class HTMLPurifier_LanguageFactory
$depth--;
}
}
-
$lang->code = $code;
-
return $lang;
-
}
/**
* Returns the fallback language for language
* @note Loads the original language into cache
- * @param $code string language code
+ * @param string $code language code
+ * @return string|bool
*/
- public function getFallbackFor($code) {
+ public function getFallbackFor($code)
+ {
$this->loadLanguage($code);
return $this->cache[$code]['fallback'];
}
/**
* Loads language into the cache, handles message file and fallbacks
- * @param $code string language code
+ * @param string $code language code
*/
- public function loadLanguage($code) {
+ public function loadLanguage($code)
+ {
static $languages_seen = array(); // recursion guard
// abort if we've already loaded it
- if (isset($this->cache[$code])) return;
+ if (isset($this->cache[$code])) {
+ return;
+ }
// generate filename
$filename = $this->dir . '/Language/messages/' . $code . '.php';
@@ -162,8 +173,11 @@ class HTMLPurifier_LanguageFactory
// infinite recursion guard
if (isset($languages_seen[$code])) {
- trigger_error('Circular fallback reference in language ' .
- $code, E_USER_ERROR);
+ trigger_error(
+ 'Circular fallback reference in language ' .
+ $code,
+ E_USER_ERROR
+ );
$fallback = 'en';
}
$language_seen[$code] = true;
@@ -173,26 +187,23 @@ class HTMLPurifier_LanguageFactory
$fallback_cache = $this->cache[$fallback];
// merge fallback with current language
- foreach ( $this->keys as $key ) {
+ foreach ($this->keys as $key) {
if (isset($cache[$key]) && isset($fallback_cache[$key])) {
if (isset($this->mergeable_keys_map[$key])) {
$cache[$key] = $cache[$key] + $fallback_cache[$key];
} elseif (isset($this->mergeable_keys_list[$key])) {
- $cache[$key] = array_merge( $fallback_cache[$key], $cache[$key] );
+ $cache[$key] = array_merge($fallback_cache[$key], $cache[$key]);
}
} else {
$cache[$key] = $fallback_cache[$key];
}
}
-
}
// save to cache for later retrieval
$this->cache[$code] = $cache;
-
return;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Length.php b/library/HTMLPurifier/Length.php
index 8d2a46b7d..bbfbe6624 100644
--- a/library/HTMLPurifier/Length.php
+++ b/library/HTMLPurifier/Length.php
@@ -9,21 +9,25 @@ class HTMLPurifier_Length
/**
* String numeric magnitude.
+ * @type string
*/
protected $n;
/**
* String unit. False is permitted if $n = 0.
+ * @type string|bool
*/
protected $unit;
/**
* Whether or not this length is valid. Null if not calculated yet.
+ * @type bool
*/
protected $isValid;
/**
- * Lookup array of units recognized by CSS 2.1
+ * Array Lookup array of units recognized by CSS 2.1
+ * @type array
*/
protected static $allowedUnits = array(
'em' => true, 'ex' => true, 'px' => true, 'in' => true,
@@ -31,85 +35,126 @@ class HTMLPurifier_Length
);
/**
- * @param number $n Magnitude
- * @param string $u Unit
+ * @param string $n Magnitude
+ * @param bool|string $u Unit
*/
- public function __construct($n = '0', $u = false) {
+ public function __construct($n = '0', $u = false)
+ {
$this->n = (string) $n;
$this->unit = $u !== false ? (string) $u : false;
}
/**
* @param string $s Unit string, like '2em' or '3.4in'
+ * @return HTMLPurifier_Length
* @warning Does not perform validation.
*/
- static public function make($s) {
- if ($s instanceof HTMLPurifier_Length) return $s;
+ public static function make($s)
+ {
+ if ($s instanceof HTMLPurifier_Length) {
+ return $s;
+ }
$n_length = strspn($s, '1234567890.+-');
$n = substr($s, 0, $n_length);
$unit = substr($s, $n_length);
- if ($unit === '') $unit = false;
+ if ($unit === '') {
+ $unit = false;
+ }
return new HTMLPurifier_Length($n, $unit);
}
/**
* Validates the number and unit.
+ * @return bool
*/
- protected function validate() {
+ protected function validate()
+ {
// Special case:
- if ($this->n === '+0' || $this->n === '-0') $this->n = '0';
- if ($this->n === '0' && $this->unit === false) return true;
- if (!ctype_lower($this->unit)) $this->unit = strtolower($this->unit);
- if (!isset(HTMLPurifier_Length::$allowedUnits[$this->unit])) return false;
+ if ($this->n === '+0' || $this->n === '-0') {
+ $this->n = '0';
+ }
+ if ($this->n === '0' && $this->unit === false) {
+ return true;
+ }
+ if (!ctype_lower($this->unit)) {
+ $this->unit = strtolower($this->unit);
+ }
+ if (!isset(HTMLPurifier_Length::$allowedUnits[$this->unit])) {
+ return false;
+ }
// Hack:
$def = new HTMLPurifier_AttrDef_CSS_Number();
$result = $def->validate($this->n, false, false);
- if ($result === false) return false;
+ if ($result === false) {
+ return false;
+ }
$this->n = $result;
return true;
}
/**
* Returns string representation of number.
+ * @return string
*/
- public function toString() {
- if (!$this->isValid()) return false;
+ public function toString()
+ {
+ if (!$this->isValid()) {
+ return false;
+ }
return $this->n . $this->unit;
}
/**
* Retrieves string numeric magnitude.
+ * @return string
*/
- public function getN() {return $this->n;}
+ public function getN()
+ {
+ return $this->n;
+ }
/**
* Retrieves string unit.
+ * @return string
*/
- public function getUnit() {return $this->unit;}
+ public function getUnit()
+ {
+ return $this->unit;
+ }
/**
* Returns true if this length unit is valid.
+ * @return bool
*/
- public function isValid() {
- if ($this->isValid === null) $this->isValid = $this->validate();
+ public function isValid()
+ {
+ if ($this->isValid === null) {
+ $this->isValid = $this->validate();
+ }
return $this->isValid;
}
/**
* Compares two lengths, and returns 1 if greater, -1 if less and 0 if equal.
+ * @param HTMLPurifier_Length $l
+ * @return int
* @warning If both values are too large or small, this calculation will
* not work properly
*/
- public function compareTo($l) {
- if ($l === false) return false;
+ public function compareTo($l)
+ {
+ if ($l === false) {
+ return false;
+ }
if ($l->unit !== $this->unit) {
$converter = new HTMLPurifier_UnitConverter();
$l = $converter->convert($l, $this->unit);
- if ($l === false) return false;
+ if ($l === false) {
+ return false;
+ }
}
return $this->n - $l->n;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Lexer.php b/library/HTMLPurifier/Lexer.php
index b05e11546..43732621d 100644
--- a/library/HTMLPurifier/Lexer.php
+++ b/library/HTMLPurifier/Lexer.php
@@ -62,16 +62,20 @@ class HTMLPurifier_Lexer
* To specify your own prototype, set %Core.LexerImpl to it.
* This change in behavior de-singletonizes the lexer object.
*
- * @param $config Instance of HTMLPurifier_Config
- * @return Concrete lexer.
+ * @param HTMLPurifier_Config $config
+ * @return HTMLPurifier_Lexer
+ * @throws HTMLPurifier_Exception
*/
- public static function create($config) {
-
+ public static function create($config)
+ {
if (!($config instanceof HTMLPurifier_Config)) {
$lexer = $config;
- trigger_error("Passing a prototype to
- HTMLPurifier_Lexer::create() is deprecated, please instead
- use %Core.LexerImpl", E_USER_WARNING);
+ trigger_error(
+ "Passing a prototype to
+ HTMLPurifier_Lexer::create() is deprecated, please instead
+ use %Core.LexerImpl",
+ E_USER_WARNING
+ );
} else {
$lexer = $config->get('Core.LexerImpl');
}
@@ -84,30 +88,28 @@ class HTMLPurifier_Lexer
if (is_object($lexer)) {
$inst = $lexer;
} else {
-
- if (is_null($lexer)) { do {
- // auto-detection algorithm
-
- if ($needs_tracking) {
- $lexer = 'DirectLex';
- break;
- }
-
- if (
- class_exists('DOMDocument') &&
- method_exists('DOMDocument', 'loadHTML') &&
- !extension_loaded('domxml')
- ) {
- // check for DOM support, because while it's part of the
- // core, it can be disabled compile time. Also, the PECL
- // domxml extension overrides the default DOM, and is evil
- // and nasty and we shan't bother to support it
- $lexer = 'DOMLex';
- } else {
- $lexer = 'DirectLex';
- }
-
- } while(0); } // do..while so we can break
+ if (is_null($lexer)) {
+ do {
+ // auto-detection algorithm
+ if ($needs_tracking) {
+ $lexer = 'DirectLex';
+ break;
+ }
+
+ if (class_exists('DOMDocument') &&
+ method_exists('DOMDocument', 'loadHTML') &&
+ !extension_loaded('domxml')
+ ) {
+ // check for DOM support, because while it's part of the
+ // core, it can be disabled compile time. Also, the PECL
+ // domxml extension overrides the default DOM, and is evil
+ // and nasty and we shan't bother to support it
+ $lexer = 'DOMLex';
+ } else {
+ $lexer = 'DirectLex';
+ }
+ } while (0);
+ } // do..while so we can break
// instantiate recognized string names
switch ($lexer) {
@@ -121,16 +123,24 @@ class HTMLPurifier_Lexer
$inst = new HTMLPurifier_Lexer_PH5P();
break;
default:
- throw new HTMLPurifier_Exception("Cannot instantiate unrecognized Lexer type " . htmlspecialchars($lexer));
+ throw new HTMLPurifier_Exception(
+ "Cannot instantiate unrecognized Lexer type " .
+ htmlspecialchars($lexer)
+ );
}
}
- if (!$inst) throw new HTMLPurifier_Exception('No lexer was instantiated');
+ if (!$inst) {
+ throw new HTMLPurifier_Exception('No lexer was instantiated');
+ }
// once PHP DOM implements native line numbers, or we
// hack out something using XSLT, remove this stipulation
if ($needs_tracking && !$inst->tracksLineNumbers) {
- throw new HTMLPurifier_Exception('Cannot use lexer that does not support line numbers with Core.MaintainLineNumbers or Core.CollectErrors (use DirectLex instead)');
+ throw new HTMLPurifier_Exception(
+ 'Cannot use lexer that does not support line numbers with ' .
+ 'Core.MaintainLineNumbers or Core.CollectErrors (use DirectLex instead)'
+ );
}
return $inst;
@@ -139,23 +149,25 @@ class HTMLPurifier_Lexer
// -- CONVENIENCE MEMBERS ---------------------------------------------
- public function __construct() {
+ public function __construct()
+ {
$this->_entity_parser = new HTMLPurifier_EntityParser();
}
/**
* Most common entity to raw value conversion table for special entities.
+ * @type array
*/
protected $_special_entity2str =
- array(
- '&quot;' => '"',
- '&amp;' => '&',
- '&lt;' => '<',
- '&gt;' => '>',
- '&#39;' => "'",
- '&#039;' => "'",
- '&#x27;' => "'"
- );
+ array(
+ '&quot;' => '"',
+ '&amp;' => '&',
+ '&lt;' => '<',
+ '&gt;' => '>',
+ '&#39;' => "'",
+ '&#039;' => "'",
+ '&#x27;' => "'"
+ );
/**
* Parses special entities into the proper characters.
@@ -168,27 +180,33 @@ class HTMLPurifier_Lexer
* completely parsed, but that's only because all other entities should
* have been handled previously in substituteNonSpecialEntities()
*
- * @param $string String character data to be parsed.
- * @returns Parsed character data.
+ * @param string $string String character data to be parsed.
+ * @return string Parsed character data.
*/
- public function parseData($string) {
-
+ public function parseData($string)
+ {
// following functions require at least one character
- if ($string === '') return '';
+ if ($string === '') {
+ return '';
+ }
// subtracts amps that cannot possibly be escaped
$num_amp = substr_count($string, '&') - substr_count($string, '& ') -
- ($string[strlen($string)-1] === '&' ? 1 : 0);
+ ($string[strlen($string) - 1] === '&' ? 1 : 0);
- if (!$num_amp) return $string; // abort if no entities
+ if (!$num_amp) {
+ return $string;
+ } // abort if no entities
$num_esc_amp = substr_count($string, '&amp;');
$string = strtr($string, $this->_special_entity2str);
// code duplication for sake of optimization, see above
$num_amp_2 = substr_count($string, '&') - substr_count($string, '& ') -
- ($string[strlen($string)-1] === '&' ? 1 : 0);
+ ($string[strlen($string) - 1] === '&' ? 1 : 0);
- if ($num_amp_2 <= $num_esc_amp) return $string;
+ if ($num_amp_2 <= $num_esc_amp) {
+ return $string;
+ }
// hmm... now we have some uncommon entities. Use the callback.
$string = $this->_entity_parser->substituteSpecialEntities($string);
@@ -197,21 +215,23 @@ class HTMLPurifier_Lexer
/**
* Lexes an HTML string into tokens.
- *
* @param $string String HTML.
- * @return HTMLPurifier_Token array representation of HTML.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[] array representation of HTML.
*/
- public function tokenizeHTML($string, $config, $context) {
+ public function tokenizeHTML($string, $config, $context)
+ {
trigger_error('Call to abstract class', E_USER_ERROR);
}
/**
* Translates CDATA sections into regular sections (through escaping).
- *
- * @param $string HTML string to process.
- * @returns HTML with CDATA sections escaped.
+ * @param string $string HTML string to process.
+ * @return string HTML with CDATA sections escaped.
*/
- protected static function escapeCDATA($string) {
+ protected static function escapeCDATA($string)
+ {
return preg_replace_callback(
'/<!\[CDATA\[(.+?)\]\]>/s',
array('HTMLPurifier_Lexer', 'CDATACallback'),
@@ -221,8 +241,11 @@ class HTMLPurifier_Lexer
/**
* Special CDATA case that is especially convoluted for <script>
+ * @param string $string HTML string to process.
+ * @return string HTML with CDATA sections escaped.
*/
- protected static function escapeCommentedCDATA($string) {
+ protected static function escapeCommentedCDATA($string)
+ {
return preg_replace_callback(
'#<!--//--><!\[CDATA\[//><!--(.+?)//--><!\]\]>#s',
array('HTMLPurifier_Lexer', 'CDATACallback'),
@@ -231,15 +254,30 @@ class HTMLPurifier_Lexer
}
/**
+ * Special Internet Explorer conditional comments should be removed.
+ * @param string $string HTML string to process.
+ * @return string HTML with conditional comments removed.
+ */
+ protected static function removeIEConditional($string)
+ {
+ return preg_replace(
+ '#<!--\[if [^>]+\]>.*?<!\[endif\]-->#si', // probably should generalize for all strings
+ '',
+ $string
+ );
+ }
+
+ /**
* Callback function for escapeCDATA() that does the work.
*
* @warning Though this is public in order to let the callback happen,
* calling it directly is not recommended.
- * @params $matches PCRE matches array, with index 0 the entire match
+ * @param array $matches PCRE matches array, with index 0 the entire match
* and 1 the inside of the CDATA section.
- * @returns Escaped internals of the CDATA section.
+ * @return string Escaped internals of the CDATA section.
*/
- protected static function CDATACallback($matches) {
+ protected static function CDATACallback($matches)
+ {
// not exactly sure why the character set is needed, but whatever
return htmlspecialchars($matches[1], ENT_COMPAT, 'UTF-8');
}
@@ -247,13 +285,19 @@ class HTMLPurifier_Lexer
/**
* Takes a piece of HTML and normalizes it by converting entities, fixing
* encoding, extracting bits, and other good stuff.
+ * @param string $html HTML.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
* @todo Consider making protected
*/
- public function normalize($html, $config, $context) {
-
+ public function normalize($html, $config, $context)
+ {
// normalize newlines to \n
- $html = str_replace("\r\n", "\n", $html);
- $html = str_replace("\r", "\n", $html);
+ if ($config->get('Core.NormalizeNewlines')) {
+ $html = str_replace("\r\n", "\n", $html);
+ $html = str_replace("\r", "\n", $html);
+ }
if ($config->get('HTML.Trusted')) {
// escape convoluted CDATA
@@ -263,6 +307,8 @@ class HTMLPurifier_Lexer
// escape CDATA
$html = $this->escapeCDATA($html);
+ $html = $this->removeIEConditional($html);
+
// extract body from document if applicable
if ($config->get('Core.ConvertDocumentToFragment')) {
$e = false;
@@ -284,6 +330,11 @@ class HTMLPurifier_Lexer
// represent non-SGML characters (horror, horror!)
$html = HTMLPurifier_Encoder::cleanUTF8($html);
+ // if processing instructions are to removed, remove them now
+ if ($config->get('Core.RemoveProcessingInstructions')) {
+ $html = preg_replace('#<\?.+?\?>#s', '', $html);
+ }
+
return $html;
}
@@ -291,7 +342,8 @@ class HTMLPurifier_Lexer
* Takes a string of HTML (fragment or document) and returns the content
* @todo Consider making protected
*/
- public function extractBody($html) {
+ public function extractBody($html)
+ {
$matches = array();
$result = preg_match('!<body[^>]*>(.*)</body>!is', $html, $matches);
if ($result) {
@@ -300,7 +352,6 @@ class HTMLPurifier_Lexer
return $html;
}
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Lexer/DOMLex.php b/library/HTMLPurifier/Lexer/DOMLex.php
index 20dc2ed48..720754454 100644
--- a/library/HTMLPurifier/Lexer/DOMLex.php
+++ b/library/HTMLPurifier/Lexer/DOMLex.php
@@ -27,16 +27,26 @@
class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer
{
+ /**
+ * @type HTMLPurifier_TokenFactory
+ */
private $factory;
- public function __construct() {
+ public function __construct()
+ {
// setup the factory
parent::__construct();
$this->factory = new HTMLPurifier_TokenFactory();
}
- public function tokenizeHTML($html, $config, $context) {
-
+ /**
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[]
+ */
+ public function tokenizeHTML($html, $config, $context)
+ {
$html = $this->normalize($html, $config, $context);
// attempt to armor stray angled brackets that cannot possibly
@@ -65,30 +75,67 @@ class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer
$tokens = array();
$this->tokenizeDOM(
$doc->getElementsByTagName('html')->item(0)-> // <html>
- getElementsByTagName('body')->item(0)-> // <body>
- getElementsByTagName('div')->item(0) // <div>
- , $tokens);
+ getElementsByTagName('body')->item(0)-> // <body>
+ getElementsByTagName('div')->item(0), // <div>
+ $tokens
+ );
return $tokens;
}
/**
- * Recursive function that tokenizes a node, putting it into an accumulator.
- *
- * @param $node DOMNode to be tokenized.
- * @param $tokens Array-list of already tokenized tokens.
- * @param $collect Says whether or start and close are collected, set to
- * false at first recursion because it's the implicit DIV
- * tag you're dealing with.
- * @returns Tokens of node appended to previously passed tokens.
+ * Iterative function that tokenizes a node, putting it into an accumulator.
+ * To iterate is human, to recurse divine - L. Peter Deutsch
+ * @param DOMNode $node DOMNode to be tokenized.
+ * @param HTMLPurifier_Token[] $tokens Array-list of already tokenized tokens.
+ * @return HTMLPurifier_Token of node appended to previously passed tokens.
*/
- protected function tokenizeDOM($node, &$tokens, $collect = false) {
+ protected function tokenizeDOM($node, &$tokens)
+ {
+ $level = 0;
+ $nodes = array($level => new HTMLPurifier_Queue(array($node)));
+ $closingNodes = array();
+ do {
+ while (!$nodes[$level]->isEmpty()) {
+ $node = $nodes[$level]->shift(); // FIFO
+ $collect = $level > 0 ? true : false;
+ $needEndingTag = $this->createStartNode($node, $tokens, $collect);
+ if ($needEndingTag) {
+ $closingNodes[$level][] = $node;
+ }
+ if ($node->childNodes && $node->childNodes->length) {
+ $level++;
+ $nodes[$level] = new HTMLPurifier_Queue();
+ foreach ($node->childNodes as $childNode) {
+ $nodes[$level]->push($childNode);
+ }
+ }
+ }
+ $level--;
+ if ($level && isset($closingNodes[$level])) {
+ while ($node = array_pop($closingNodes[$level])) {
+ $this->createEndNode($node, $tokens);
+ }
+ }
+ } while ($level > 0);
+ }
+ /**
+ * @param DOMNode $node DOMNode to be tokenized.
+ * @param HTMLPurifier_Token[] $tokens Array-list of already tokenized tokens.
+ * @param bool $collect Says whether or start and close are collected, set to
+ * false at first recursion because it's the implicit DIV
+ * tag you're dealing with.
+ * @return bool if the token needs an endtoken
+ * @todo data and tagName properties don't seem to exist in DOMNode?
+ */
+ protected function createStartNode($node, &$tokens, $collect)
+ {
// intercept non element nodes. WE MUST catch all of them,
// but we're not getting the character reference nodes because
// those should have been preprocessed
if ($node->nodeType === XML_TEXT_NODE) {
$tokens[] = $this->factory->createText($node->data);
- return;
+ return false;
} elseif ($node->nodeType === XML_CDATA_SECTION_NODE) {
// undo libxml's special treatment of <script> and <style> tags
$last = end($tokens);
@@ -106,59 +153,61 @@ class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer
}
}
$tokens[] = $this->factory->createText($this->parseData($data));
- return;
+ return false;
} elseif ($node->nodeType === XML_COMMENT_NODE) {
// this is code is only invoked for comments in script/style in versions
// of libxml pre-2.6.28 (regular comments, of course, are still
// handled regularly)
$tokens[] = $this->factory->createComment($node->data);
- return;
- } elseif (
+ return false;
+ } elseif ($node->nodeType !== XML_ELEMENT_NODE) {
// not-well tested: there may be other nodes we have to grab
- $node->nodeType !== XML_ELEMENT_NODE
- ) {
- return;
+ return false;
}
- $attr = $node->hasAttributes() ?
- $this->transformAttrToAssoc($node->attributes) :
- array();
+ $attr = $node->hasAttributes() ? $this->transformAttrToAssoc($node->attributes) : array();
// We still have to make sure that the element actually IS empty
if (!$node->childNodes->length) {
if ($collect) {
$tokens[] = $this->factory->createEmpty($node->tagName, $attr);
}
+ return false;
} else {
- if ($collect) { // don't wrap on first iteration
+ if ($collect) {
$tokens[] = $this->factory->createStart(
$tag_name = $node->tagName, // somehow, it get's dropped
$attr
);
}
- foreach ($node->childNodes as $node) {
- // remember, it's an accumulator. Otherwise, we'd have
- // to use array_merge
- $this->tokenizeDOM($node, $tokens, true);
- }
- if ($collect) {
- $tokens[] = $this->factory->createEnd($tag_name);
- }
+ return true;
}
+ }
+ /**
+ * @param DOMNode $node
+ * @param HTMLPurifier_Token[] $tokens
+ */
+ protected function createEndNode($node, &$tokens)
+ {
+ $tokens[] = $this->factory->createEnd($node->tagName);
}
+
/**
* Converts a DOMNamedNodeMap of DOMAttr objects into an assoc array.
*
- * @param $attribute_list DOMNamedNodeMap of DOMAttr objects.
- * @returns Associative array of attributes.
+ * @param DOMNamedNodeMap $node_map DOMNamedNodeMap of DOMAttr objects.
+ * @return array Associative array of attributes.
*/
- protected function transformAttrToAssoc($node_map) {
+ protected function transformAttrToAssoc($node_map)
+ {
// NamedNodeMap is documented very well, so we're using undocumented
// features, namely, the fact that it implements Iterator and
// has a ->length attribute
- if ($node_map->length === 0) return array();
+ if ($node_map->length === 0) {
+ return array();
+ }
$array = array();
foreach ($node_map as $attr) {
$array[$attr->name] = $attr->value;
@@ -168,46 +217,64 @@ class HTMLPurifier_Lexer_DOMLex extends HTMLPurifier_Lexer
/**
* An error handler that mutes all errors
+ * @param int $errno
+ * @param string $errstr
*/
- public function muteErrorHandler($errno, $errstr) {}
+ public function muteErrorHandler($errno, $errstr)
+ {
+ }
/**
* Callback function for undoing escaping of stray angled brackets
* in comments
+ * @param array $matches
+ * @return string
*/
- public function callbackUndoCommentSubst($matches) {
- return '<!--' . strtr($matches[1], array('&amp;'=>'&','&lt;'=>'<')) . $matches[2];
+ public function callbackUndoCommentSubst($matches)
+ {
+ return '<!--' . strtr($matches[1], array('&amp;' => '&', '&lt;' => '<')) . $matches[2];
}
/**
* Callback function that entity-izes ampersands in comments so that
* callbackUndoCommentSubst doesn't clobber them
+ * @param array $matches
+ * @return string
*/
- public function callbackArmorCommentEntities($matches) {
+ public function callbackArmorCommentEntities($matches)
+ {
return '<!--' . str_replace('&', '&amp;', $matches[1]) . $matches[2];
}
/**
* Wraps an HTML fragment in the necessary HTML
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
*/
- protected function wrapHTML($html, $config, $context) {
+ protected function wrapHTML($html, $config, $context)
+ {
$def = $config->getDefinition('HTML');
$ret = '';
if (!empty($def->doctype->dtdPublic) || !empty($def->doctype->dtdSystem)) {
$ret .= '<!DOCTYPE html ';
- if (!empty($def->doctype->dtdPublic)) $ret .= 'PUBLIC "' . $def->doctype->dtdPublic . '" ';
- if (!empty($def->doctype->dtdSystem)) $ret .= '"' . $def->doctype->dtdSystem . '" ';
+ if (!empty($def->doctype->dtdPublic)) {
+ $ret .= 'PUBLIC "' . $def->doctype->dtdPublic . '" ';
+ }
+ if (!empty($def->doctype->dtdSystem)) {
+ $ret .= '"' . $def->doctype->dtdSystem . '" ';
+ }
$ret .= '>';
}
$ret .= '<html><head>';
$ret .= '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
// No protection if $html contains a stray </div>!
- $ret .= '</head><body><div>'.$html.'</div></body></html>';
+ $ret .= '</head><body><div>' . $html . '</div></body></html>';
return $ret;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Lexer/DirectLex.php b/library/HTMLPurifier/Lexer/DirectLex.php
index 456e6e190..746b6e315 100644
--- a/library/HTMLPurifier/Lexer/DirectLex.php
+++ b/library/HTMLPurifier/Lexer/DirectLex.php
@@ -12,30 +12,44 @@
*/
class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
{
-
+ /**
+ * @type bool
+ */
public $tracksLineNumbers = true;
/**
* Whitespace characters for str(c)spn.
+ * @type string
*/
protected $_whitespace = "\x20\x09\x0D\x0A";
/**
* Callback function for script CDATA fudge
- * @param $matches, in form of array(opening tag, contents, closing tag)
+ * @param array $matches, in form of array(opening tag, contents, closing tag)
+ * @return string
*/
- protected function scriptCallback($matches) {
+ protected function scriptCallback($matches)
+ {
return $matches[1] . htmlspecialchars($matches[2], ENT_COMPAT, 'UTF-8') . $matches[3];
}
- public function tokenizeHTML($html, $config, $context) {
-
+ /**
+ * @param String $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array|HTMLPurifier_Token[]
+ */
+ public function tokenizeHTML($html, $config, $context)
+ {
// special normalization for script tags without any armor
// our "armor" heurstic is a < sign any number of whitespaces after
// the first script tag
if ($config->get('HTML.Trusted')) {
- $html = preg_replace_callback('#(<script[^>]*>)(\s*[^<].+?)(</script>)#si',
- array($this, 'scriptCallback'), $html);
+ $html = preg_replace_callback(
+ '#(<script[^>]*>)(\s*[^<].+?)(</script>)#si',
+ array($this, 'scriptCallback'),
+ $html
+ );
}
$html = $this->normalize($html, $config, $context);
@@ -55,15 +69,15 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
if ($maintain_line_numbers) {
$current_line = 1;
- $current_col = 0;
+ $current_col = 0;
$length = strlen($html);
} else {
$current_line = false;
- $current_col = false;
+ $current_col = false;
$length = false;
}
$context->register('CurrentLine', $current_line);
- $context->register('CurrentCol', $current_col);
+ $context->register('CurrentCol', $current_col);
$nl = "\n";
// how often to manually recalculate. This will ALWAYS be right,
// but it's pretty wasteful. Set to 0 to turn off
@@ -77,16 +91,14 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
// for testing synchronization
$loops = 0;
- while(++$loops) {
-
+ while (++$loops) {
// $cursor is either at the start of a token, or inside of
// a tag (i.e. there was a < immediately before it), as indicated
// by $inside_tag
if ($maintain_line_numbers) {
-
// $rcursor, however, is always at the start of a token.
- $rcursor = $cursor - (int) $inside_tag;
+ $rcursor = $cursor - (int)$inside_tag;
// Column number is cheap, so we calculate it every round.
// We're interested at the *end* of the newline string, so
@@ -96,14 +108,11 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
$current_col = $rcursor - (is_bool($nl_pos) ? 0 : $nl_pos + 1);
// recalculate lines
- if (
- $synchronize_interval && // synchronization is on
- $cursor > 0 && // cursor is further than zero
- $loops % $synchronize_interval === 0 // time to synchronize!
- ) {
+ if ($synchronize_interval && // synchronization is on
+ $cursor > 0 && // cursor is further than zero
+ $loops % $synchronize_interval === 0) { // time to synchronize!
$current_line = 1 + $this->substrCount($html, $nl, 0, $cursor);
}
-
}
$position_next_lt = strpos($html, '<', $cursor);
@@ -119,35 +128,42 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
if (!$inside_tag && $position_next_lt !== false) {
// We are not inside tag and there still is another tag to parse
$token = new
- HTMLPurifier_Token_Text(
- $this->parseData(
- substr(
- $html, $cursor, $position_next_lt - $cursor
- )
+ HTMLPurifier_Token_Text(
+ $this->parseData(
+ substr(
+ $html,
+ $cursor,
+ $position_next_lt - $cursor
)
- );
+ )
+ );
if ($maintain_line_numbers) {
$token->rawPosition($current_line, $current_col);
$current_line += $this->substrCount($html, $nl, $cursor, $position_next_lt - $cursor);
}
$array[] = $token;
- $cursor = $position_next_lt + 1;
+ $cursor = $position_next_lt + 1;
$inside_tag = true;
continue;
} elseif (!$inside_tag) {
// We are not inside tag but there are no more tags
// If we're already at the end, break
- if ($cursor === strlen($html)) break;
+ if ($cursor === strlen($html)) {
+ break;
+ }
// Create Text of rest of string
$token = new
- HTMLPurifier_Token_Text(
- $this->parseData(
- substr(
- $html, $cursor
- )
+ HTMLPurifier_Token_Text(
+ $this->parseData(
+ substr(
+ $html,
+ $cursor
)
- );
- if ($maintain_line_numbers) $token->rawPosition($current_line, $current_col);
+ )
+ );
+ if ($maintain_line_numbers) {
+ $token->rawPosition($current_line, $current_col);
+ }
$array[] = $token;
break;
} elseif ($inside_tag && $position_next_gt !== false) {
@@ -171,16 +187,16 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
}
// Check if it's a comment
- if (
- substr($segment, 0, 3) === '!--'
- ) {
+ if (substr($segment, 0, 3) === '!--') {
// re-determine segment length, looking for -->
$position_comment_end = strpos($html, '-->', $cursor);
if ($position_comment_end === false) {
// uh oh, we have a comment that extends to
// infinity. Can't be helped: set comment
// end position to end of string
- if ($e) $e->send(E_WARNING, 'Lexer: Unclosed comment');
+ if ($e) {
+ $e->send(E_WARNING, 'Lexer: Unclosed comment');
+ }
$position_comment_end = strlen($html);
$end = true;
} else {
@@ -189,11 +205,13 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
$strlen_segment = $position_comment_end - $cursor;
$segment = substr($html, $cursor, $strlen_segment);
$token = new
- HTMLPurifier_Token_Comment(
- substr(
- $segment, 3, $strlen_segment - 3
- )
- );
+ HTMLPurifier_Token_Comment(
+ substr(
+ $segment,
+ 3,
+ $strlen_segment - 3
+ )
+ );
if ($maintain_line_numbers) {
$token->rawPosition($current_line, $current_col);
$current_line += $this->substrCount($html, $nl, $cursor, $strlen_segment);
@@ -205,7 +223,7 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
}
// Check if it's an end tag
- $is_end_tag = (strpos($segment,'/') === 0);
+ $is_end_tag = (strpos($segment, '/') === 0);
if ($is_end_tag) {
$type = substr($segment, 1);
$token = new HTMLPurifier_Token_End($type);
@@ -224,7 +242,9 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
// text and go our merry way
if (!ctype_alpha($segment[0])) {
// XML: $segment[0] !== '_' && $segment[0] !== ':'
- if ($e) $e->send(E_NOTICE, 'Lexer: Unescaped lt');
+ if ($e) {
+ $e->send(E_NOTICE, 'Lexer: Unescaped lt');
+ }
$token = new HTMLPurifier_Token_Text('<');
if ($maintain_line_numbers) {
$token->rawPosition($current_line, $current_col);
@@ -239,7 +259,7 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
// trailing slash. Remember, we could have a tag like <br>, so
// any later token processing scripts must convert improperly
// classified EmptyTags from StartTags.
- $is_self_closing = (strrpos($segment,'/') === $strlen_segment-1);
+ $is_self_closing = (strrpos($segment, '/') === $strlen_segment - 1);
if ($is_self_closing) {
$strlen_segment--;
$segment = substr($segment, 0, $strlen_segment);
@@ -269,14 +289,16 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
$attribute_string =
trim(
substr(
- $segment, $position_first_space
+ $segment,
+ $position_first_space
)
);
if ($attribute_string) {
$attr = $this->parseAttributeString(
- $attribute_string
- , $config, $context
- );
+ $attribute_string,
+ $config,
+ $context
+ );
} else {
$attr = array();
}
@@ -296,15 +318,19 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
continue;
} else {
// inside tag, but there's no ending > sign
- if ($e) $e->send(E_WARNING, 'Lexer: Missing gt');
+ if ($e) {
+ $e->send(E_WARNING, 'Lexer: Missing gt');
+ }
$token = new
- HTMLPurifier_Token_Text(
- '<' .
- $this->parseData(
- substr($html, $cursor)
- )
- );
- if ($maintain_line_numbers) $token->rawPosition($current_line, $current_col);
+ HTMLPurifier_Token_Text(
+ '<' .
+ $this->parseData(
+ substr($html, $cursor)
+ )
+ );
+ if ($maintain_line_numbers) {
+ $token->rawPosition($current_line, $current_col);
+ }
// no cursor scroll? Hmm...
$array[] = $token;
break;
@@ -319,8 +345,14 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
/**
* PHP 5.0.x compatible substr_count that implements offset and length
+ * @param string $haystack
+ * @param string $needle
+ * @param int $offset
+ * @param int $length
+ * @return int
*/
- protected function substrCount($haystack, $needle, $offset, $length) {
+ protected function substrCount($haystack, $needle, $offset, $length)
+ {
static $oldVersion;
if ($oldVersion === null) {
$oldVersion = version_compare(PHP_VERSION, '5.1', '<');
@@ -336,13 +368,18 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
/**
* Takes the inside of an HTML tag and makes an assoc array of attributes.
*
- * @param $string Inside of tag excluding name.
- * @returns Assoc array of attributes.
+ * @param string $string Inside of tag excluding name.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array Assoc array of attributes.
*/
- public function parseAttributeString($string, $config, $context) {
- $string = (string) $string; // quick typecast
+ public function parseAttributeString($string, $config, $context)
+ {
+ $string = (string)$string; // quick typecast
- if ($string == '') return array(); // no attributes
+ if ($string == '') {
+ return array();
+ } // no attributes
$e = false;
if ($config->get('Core.CollectErrors')) {
@@ -361,46 +398,55 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
list($key, $quoted_value) = explode('=', $string);
$quoted_value = trim($quoted_value);
if (!$key) {
- if ($e) $e->send(E_ERROR, 'Lexer: Missing attribute key');
+ if ($e) {
+ $e->send(E_ERROR, 'Lexer: Missing attribute key');
+ }
return array();
}
- if (!$quoted_value) return array($key => '');
+ if (!$quoted_value) {
+ return array($key => '');
+ }
$first_char = @$quoted_value[0];
- $last_char = @$quoted_value[strlen($quoted_value)-1];
+ $last_char = @$quoted_value[strlen($quoted_value) - 1];
$same_quote = ($first_char == $last_char);
$open_quote = ($first_char == '"' || $first_char == "'");
- if ( $same_quote && $open_quote) {
+ if ($same_quote && $open_quote) {
// well behaved
$value = substr($quoted_value, 1, strlen($quoted_value) - 2);
} else {
// not well behaved
if ($open_quote) {
- if ($e) $e->send(E_ERROR, 'Lexer: Missing end quote');
+ if ($e) {
+ $e->send(E_ERROR, 'Lexer: Missing end quote');
+ }
$value = substr($quoted_value, 1);
} else {
$value = $quoted_value;
}
}
- if ($value === false) $value = '';
+ if ($value === false) {
+ $value = '';
+ }
return array($key => $this->parseData($value));
}
// setup loop environment
- $array = array(); // return assoc array of attributes
+ $array = array(); // return assoc array of attributes
$cursor = 0; // current position in string (moves forward)
- $size = strlen($string); // size of the string (stays the same)
+ $size = strlen($string); // size of the string (stays the same)
// if we have unquoted attributes, the parser expects a terminating
// space, so let's guarantee that there's always a terminating space.
$string .= ' ';
- while(true) {
-
- if ($cursor >= $size) {
- break;
+ $old_cursor = -1;
+ while ($cursor < $size) {
+ if ($old_cursor >= $cursor) {
+ throw new Exception("Infinite loop detected");
}
+ $old_cursor = $cursor;
$cursor += ($value = strspn($string, $this->_whitespace, $cursor));
// grab the key
@@ -415,8 +461,10 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
$key = substr($string, $key_begin, $key_end - $key_begin);
if (!$key) {
- if ($e) $e->send(E_ERROR, 'Lexer: Missing attribute key');
- $cursor += strcspn($string, $this->_whitespace, $cursor + 1); // prevent infinite loop
+ if ($e) {
+ $e->send(E_ERROR, 'Lexer: Missing attribute key');
+ }
+ $cursor += 1 + strcspn($string, $this->_whitespace, $cursor + 1); // prevent infinite loop
continue; // empty key
}
@@ -467,24 +515,25 @@ class HTMLPurifier_Lexer_DirectLex extends HTMLPurifier_Lexer
}
$value = substr($string, $value_begin, $value_end - $value_begin);
- if ($value === false) $value = '';
+ if ($value === false) {
+ $value = '';
+ }
$array[$key] = $this->parseData($value);
$cursor++;
-
} else {
// boolattr
if ($key !== '') {
$array[$key] = $key;
} else {
// purely theoretical
- if ($e) $e->send(E_ERROR, 'Lexer: Missing attribute key');
+ if ($e) {
+ $e->send(E_ERROR, 'Lexer: Missing attribute key');
+ }
}
-
}
}
return $array;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Lexer/PEARSax3.php b/library/HTMLPurifier/Lexer/PEARSax3.php
deleted file mode 100644
index 1d358c7b6..000000000
--- a/library/HTMLPurifier/Lexer/PEARSax3.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-/**
- * Proof-of-concept lexer that uses the PEAR package XML_HTMLSax3 to parse HTML.
- *
- * PEAR, not suprisingly, also has a SAX parser for HTML. I don't know
- * very much about implementation, but it's fairly well written. However, that
- * abstraction comes at a price: performance. You need to have it installed,
- * and if the API changes, it might break our adapter. Not sure whether or not
- * it's UTF-8 aware, but it has some entity parsing trouble (in all areas,
- * text and attributes).
- *
- * Quite personally, I don't recommend using the PEAR class, and the defaults
- * don't use it. The unit tests do perform the tests on the SAX parser too, but
- * whatever it does for poorly formed HTML is up to it.
- *
- * @todo Generalize so that XML_HTMLSax is also supported.
- *
- * @warning Entity-resolution inside attributes is broken.
- */
-
-class HTMLPurifier_Lexer_PEARSax3 extends HTMLPurifier_Lexer
-{
-
- /**
- * Internal accumulator array for SAX parsers.
- */
- protected $tokens = array();
- protected $last_token_was_empty;
-
- private $parent_handler;
- private $stack = array();
-
- public function tokenizeHTML($string, $config, $context) {
-
- $this->tokens = array();
- $this->last_token_was_empty = false;
-
- $string = $this->normalize($string, $config, $context);
-
- $this->parent_handler = set_error_handler(array($this, 'muteStrictErrorHandler'));
-
- $parser = new XML_HTMLSax3();
- $parser->set_object($this);
- $parser->set_element_handler('openHandler','closeHandler');
- $parser->set_data_handler('dataHandler');
- $parser->set_escape_handler('escapeHandler');
-
- // doesn't seem to work correctly for attributes
- $parser->set_option('XML_OPTION_ENTITIES_PARSED', 1);
-
- $parser->parse($string);
-
- restore_error_handler();
-
- return $this->tokens;
-
- }
-
- /**
- * Open tag event handler, interface is defined by PEAR package.
- */
- public function openHandler(&$parser, $name, $attrs, $closed) {
- // entities are not resolved in attrs
- foreach ($attrs as $key => $attr) {
- $attrs[$key] = $this->parseData($attr);
- }
- if ($closed) {
- $this->tokens[] = new HTMLPurifier_Token_Empty($name, $attrs);
- $this->last_token_was_empty = true;
- } else {
- $this->tokens[] = new HTMLPurifier_Token_Start($name, $attrs);
- }
- $this->stack[] = $name;
- return true;
- }
-
- /**
- * Close tag event handler, interface is defined by PEAR package.
- */
- public function closeHandler(&$parser, $name) {
- // HTMLSax3 seems to always send empty tags an extra close tag
- // check and ignore if you see it:
- // [TESTME] to make sure it doesn't overreach
- if ($this->last_token_was_empty) {
- $this->last_token_was_empty = false;
- return true;
- }
- $this->tokens[] = new HTMLPurifier_Token_End($name);
- if (!empty($this->stack)) array_pop($this->stack);
- return true;
- }
-
- /**
- * Data event handler, interface is defined by PEAR package.
- */
- public function dataHandler(&$parser, $data) {
- $this->last_token_was_empty = false;
- $this->tokens[] = new HTMLPurifier_Token_Text($data);
- return true;
- }
-
- /**
- * Escaped text handler, interface is defined by PEAR package.
- */
- public function escapeHandler(&$parser, $data) {
- if (strpos($data, '--') === 0) {
- // remove trailing and leading double-dashes
- $data = substr($data, 2);
- if (strlen($data) >= 2 && substr($data, -2) == "--") {
- $data = substr($data, 0, -2);
- }
- if (isset($this->stack[sizeof($this->stack) - 1]) &&
- $this->stack[sizeof($this->stack) - 1] == "style") {
- $this->tokens[] = new HTMLPurifier_Token_Text($data);
- } else {
- $this->tokens[] = new HTMLPurifier_Token_Comment($data);
- }
- $this->last_token_was_empty = false;
- }
- // CDATA is handled elsewhere, but if it was handled here:
- //if (strpos($data, '[CDATA[') === 0) {
- // $this->tokens[] = new HTMLPurifier_Token_Text(
- // substr($data, 7, strlen($data) - 9) );
- //}
- return true;
- }
-
- /**
- * An error handler that mutes strict errors
- */
- public function muteStrictErrorHandler($errno, $errstr, $errfile=null, $errline=null, $errcontext=null) {
- if ($errno == E_STRICT) return;
- return call_user_func($this->parent_handler, $errno, $errstr, $errfile, $errline, $errcontext);
- }
-
-}
-
-// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Lexer/PH5P.php b/library/HTMLPurifier/Lexer/PH5P.php
index fa1bf973e..a4587e4cd 100644
--- a/library/HTMLPurifier/Lexer/PH5P.php
+++ b/library/HTMLPurifier/Lexer/PH5P.php
@@ -3,16 +3,23 @@
/**
* Experimental HTML5-based parser using Jeroen van der Meer's PH5P library.
* Occupies space in the HTML5 pseudo-namespace, which may cause conflicts.
- *
+ *
* @note
* Recent changes to PHP's DOM extension have resulted in some fatal
* error conditions with the original version of PH5P. Pending changes,
- * this lexer will punt to DirectLex if DOM throughs an exception.
+ * this lexer will punt to DirectLex if DOM throws an exception.
*/
-class HTMLPurifier_Lexer_PH5P extends HTMLPurifier_Lexer_DOMLex {
-
- public function tokenizeHTML($html, $config, $context) {
+class HTMLPurifier_Lexer_PH5P extends HTMLPurifier_Lexer_DOMLex
+{
+ /**
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[]
+ */
+ public function tokenizeHTML($html, $config, $context)
+ {
$new_html = $this->normalize($html, $config, $context);
$new_html = $this->wrapHTML($new_html, $config, $context);
try {
@@ -27,40 +34,42 @@ class HTMLPurifier_Lexer_PH5P extends HTMLPurifier_Lexer_DOMLex {
$tokens = array();
$this->tokenizeDOM(
$doc->getElementsByTagName('html')->item(0)-> // <html>
- getElementsByTagName('body')->item(0)-> // <body>
- getElementsByTagName('div')->item(0) // <div>
- , $tokens);
+ getElementsByTagName('body')->item(0)-> // <body>
+ getElementsByTagName('div')->item(0) // <div>
+ ,
+ $tokens
+ );
return $tokens;
}
-
}
/*
-Copyright 2007 Jeroen van der Meer <http://jero.net/>
+Copyright 2007 Jeroen van der Meer <http://jero.net/>
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-class HTML5 {
+class HTML5
+{
private $data;
private $char;
private $EOF;
@@ -69,91 +78,418 @@ class HTML5 {
private $token;
private $content_model;
private $escape = false;
- private $entities = array('AElig;','AElig','AMP;','AMP','Aacute;','Aacute',
- 'Acirc;','Acirc','Agrave;','Agrave','Alpha;','Aring;','Aring','Atilde;',
- 'Atilde','Auml;','Auml','Beta;','COPY;','COPY','Ccedil;','Ccedil','Chi;',
- 'Dagger;','Delta;','ETH;','ETH','Eacute;','Eacute','Ecirc;','Ecirc','Egrave;',
- 'Egrave','Epsilon;','Eta;','Euml;','Euml','GT;','GT','Gamma;','Iacute;',
- 'Iacute','Icirc;','Icirc','Igrave;','Igrave','Iota;','Iuml;','Iuml','Kappa;',
- 'LT;','LT','Lambda;','Mu;','Ntilde;','Ntilde','Nu;','OElig;','Oacute;',
- 'Oacute','Ocirc;','Ocirc','Ograve;','Ograve','Omega;','Omicron;','Oslash;',
- 'Oslash','Otilde;','Otilde','Ouml;','Ouml','Phi;','Pi;','Prime;','Psi;',
- 'QUOT;','QUOT','REG;','REG','Rho;','Scaron;','Sigma;','THORN;','THORN',
- 'TRADE;','Tau;','Theta;','Uacute;','Uacute','Ucirc;','Ucirc','Ugrave;',
- 'Ugrave','Upsilon;','Uuml;','Uuml','Xi;','Yacute;','Yacute','Yuml;','Zeta;',
- 'aacute;','aacute','acirc;','acirc','acute;','acute','aelig;','aelig',
- 'agrave;','agrave','alefsym;','alpha;','amp;','amp','and;','ang;','apos;',
- 'aring;','aring','asymp;','atilde;','atilde','auml;','auml','bdquo;','beta;',
- 'brvbar;','brvbar','bull;','cap;','ccedil;','ccedil','cedil;','cedil',
- 'cent;','cent','chi;','circ;','clubs;','cong;','copy;','copy','crarr;',
- 'cup;','curren;','curren','dArr;','dagger;','darr;','deg;','deg','delta;',
- 'diams;','divide;','divide','eacute;','eacute','ecirc;','ecirc','egrave;',
- 'egrave','empty;','emsp;','ensp;','epsilon;','equiv;','eta;','eth;','eth',
- 'euml;','euml','euro;','exist;','fnof;','forall;','frac12;','frac12',
- 'frac14;','frac14','frac34;','frac34','frasl;','gamma;','ge;','gt;','gt',
- 'hArr;','harr;','hearts;','hellip;','iacute;','iacute','icirc;','icirc',
- 'iexcl;','iexcl','igrave;','igrave','image;','infin;','int;','iota;',
- 'iquest;','iquest','isin;','iuml;','iuml','kappa;','lArr;','lambda;','lang;',
- 'laquo;','laquo','larr;','lceil;','ldquo;','le;','lfloor;','lowast;','loz;',
- 'lrm;','lsaquo;','lsquo;','lt;','lt','macr;','macr','mdash;','micro;','micro',
- 'middot;','middot','minus;','mu;','nabla;','nbsp;','nbsp','ndash;','ne;',
- 'ni;','not;','not','notin;','nsub;','ntilde;','ntilde','nu;','oacute;',
- 'oacute','ocirc;','ocirc','oelig;','ograve;','ograve','oline;','omega;',
- 'omicron;','oplus;','or;','ordf;','ordf','ordm;','ordm','oslash;','oslash',
- 'otilde;','otilde','otimes;','ouml;','ouml','para;','para','part;','permil;',
- 'perp;','phi;','pi;','piv;','plusmn;','plusmn','pound;','pound','prime;',
- 'prod;','prop;','psi;','quot;','quot','rArr;','radic;','rang;','raquo;',
- 'raquo','rarr;','rceil;','rdquo;','real;','reg;','reg','rfloor;','rho;',
- 'rlm;','rsaquo;','rsquo;','sbquo;','scaron;','sdot;','sect;','sect','shy;',
- 'shy','sigma;','sigmaf;','sim;','spades;','sub;','sube;','sum;','sup1;',
- 'sup1','sup2;','sup2','sup3;','sup3','sup;','supe;','szlig;','szlig','tau;',
- 'there4;','theta;','thetasym;','thinsp;','thorn;','thorn','tilde;','times;',
- 'times','trade;','uArr;','uacute;','uacute','uarr;','ucirc;','ucirc',
- 'ugrave;','ugrave','uml;','uml','upsih;','upsilon;','uuml;','uuml','weierp;',
- 'xi;','yacute;','yacute','yen;','yen','yuml;','yuml','zeta;','zwj;','zwnj;');
-
- const PCDATA = 0;
- const RCDATA = 1;
- const CDATA = 2;
+ private $entities = array(
+ 'AElig;',
+ 'AElig',
+ 'AMP;',
+ 'AMP',
+ 'Aacute;',
+ 'Aacute',
+ 'Acirc;',
+ 'Acirc',
+ 'Agrave;',
+ 'Agrave',
+ 'Alpha;',
+ 'Aring;',
+ 'Aring',
+ 'Atilde;',
+ 'Atilde',
+ 'Auml;',
+ 'Auml',
+ 'Beta;',
+ 'COPY;',
+ 'COPY',
+ 'Ccedil;',
+ 'Ccedil',
+ 'Chi;',
+ 'Dagger;',
+ 'Delta;',
+ 'ETH;',
+ 'ETH',
+ 'Eacute;',
+ 'Eacute',
+ 'Ecirc;',
+ 'Ecirc',
+ 'Egrave;',
+ 'Egrave',
+ 'Epsilon;',
+ 'Eta;',
+ 'Euml;',
+ 'Euml',
+ 'GT;',
+ 'GT',
+ 'Gamma;',
+ 'Iacute;',
+ 'Iacute',
+ 'Icirc;',
+ 'Icirc',
+ 'Igrave;',
+ 'Igrave',
+ 'Iota;',
+ 'Iuml;',
+ 'Iuml',
+ 'Kappa;',
+ 'LT;',
+ 'LT',
+ 'Lambda;',
+ 'Mu;',
+ 'Ntilde;',
+ 'Ntilde',
+ 'Nu;',
+ 'OElig;',
+ 'Oacute;',
+ 'Oacute',
+ 'Ocirc;',
+ 'Ocirc',
+ 'Ograve;',
+ 'Ograve',
+ 'Omega;',
+ 'Omicron;',
+ 'Oslash;',
+ 'Oslash',
+ 'Otilde;',
+ 'Otilde',
+ 'Ouml;',
+ 'Ouml',
+ 'Phi;',
+ 'Pi;',
+ 'Prime;',
+ 'Psi;',
+ 'QUOT;',
+ 'QUOT',
+ 'REG;',
+ 'REG',
+ 'Rho;',
+ 'Scaron;',
+ 'Sigma;',
+ 'THORN;',
+ 'THORN',
+ 'TRADE;',
+ 'Tau;',
+ 'Theta;',
+ 'Uacute;',
+ 'Uacute',
+ 'Ucirc;',
+ 'Ucirc',
+ 'Ugrave;',
+ 'Ugrave',
+ 'Upsilon;',
+ 'Uuml;',
+ 'Uuml',
+ 'Xi;',
+ 'Yacute;',
+ 'Yacute',
+ 'Yuml;',
+ 'Zeta;',
+ 'aacute;',
+ 'aacute',
+ 'acirc;',
+ 'acirc',
+ 'acute;',
+ 'acute',
+ 'aelig;',
+ 'aelig',
+ 'agrave;',
+ 'agrave',
+ 'alefsym;',
+ 'alpha;',
+ 'amp;',
+ 'amp',
+ 'and;',
+ 'ang;',
+ 'apos;',
+ 'aring;',
+ 'aring',
+ 'asymp;',
+ 'atilde;',
+ 'atilde',
+ 'auml;',
+ 'auml',
+ 'bdquo;',
+ 'beta;',
+ 'brvbar;',
+ 'brvbar',
+ 'bull;',
+ 'cap;',
+ 'ccedil;',
+ 'ccedil',
+ 'cedil;',
+ 'cedil',
+ 'cent;',
+ 'cent',
+ 'chi;',
+ 'circ;',
+ 'clubs;',
+ 'cong;',
+ 'copy;',
+ 'copy',
+ 'crarr;',
+ 'cup;',
+ 'curren;',
+ 'curren',
+ 'dArr;',
+ 'dagger;',
+ 'darr;',
+ 'deg;',
+ 'deg',
+ 'delta;',
+ 'diams;',
+ 'divide;',
+ 'divide',
+ 'eacute;',
+ 'eacute',
+ 'ecirc;',
+ 'ecirc',
+ 'egrave;',
+ 'egrave',
+ 'empty;',
+ 'emsp;',
+ 'ensp;',
+ 'epsilon;',
+ 'equiv;',
+ 'eta;',
+ 'eth;',
+ 'eth',
+ 'euml;',
+ 'euml',
+ 'euro;',
+ 'exist;',
+ 'fnof;',
+ 'forall;',
+ 'frac12;',
+ 'frac12',
+ 'frac14;',
+ 'frac14',
+ 'frac34;',
+ 'frac34',
+ 'frasl;',
+ 'gamma;',
+ 'ge;',
+ 'gt;',
+ 'gt',
+ 'hArr;',
+ 'harr;',
+ 'hearts;',
+ 'hellip;',
+ 'iacute;',
+ 'iacute',
+ 'icirc;',
+ 'icirc',
+ 'iexcl;',
+ 'iexcl',
+ 'igrave;',
+ 'igrave',
+ 'image;',
+ 'infin;',
+ 'int;',
+ 'iota;',
+ 'iquest;',
+ 'iquest',
+ 'isin;',
+ 'iuml;',
+ 'iuml',
+ 'kappa;',
+ 'lArr;',
+ 'lambda;',
+ 'lang;',
+ 'laquo;',
+ 'laquo',
+ 'larr;',
+ 'lceil;',
+ 'ldquo;',
+ 'le;',
+ 'lfloor;',
+ 'lowast;',
+ 'loz;',
+ 'lrm;',
+ 'lsaquo;',
+ 'lsquo;',
+ 'lt;',
+ 'lt',
+ 'macr;',
+ 'macr',
+ 'mdash;',
+ 'micro;',
+ 'micro',
+ 'middot;',
+ 'middot',
+ 'minus;',
+ 'mu;',
+ 'nabla;',
+ 'nbsp;',
+ 'nbsp',
+ 'ndash;',
+ 'ne;',
+ 'ni;',
+ 'not;',
+ 'not',
+ 'notin;',
+ 'nsub;',
+ 'ntilde;',
+ 'ntilde',
+ 'nu;',
+ 'oacute;',
+ 'oacute',
+ 'ocirc;',
+ 'ocirc',
+ 'oelig;',
+ 'ograve;',
+ 'ograve',
+ 'oline;',
+ 'omega;',
+ 'omicron;',
+ 'oplus;',
+ 'or;',
+ 'ordf;',
+ 'ordf',
+ 'ordm;',
+ 'ordm',
+ 'oslash;',
+ 'oslash',
+ 'otilde;',
+ 'otilde',
+ 'otimes;',
+ 'ouml;',
+ 'ouml',
+ 'para;',
+ 'para',
+ 'part;',
+ 'permil;',
+ 'perp;',
+ 'phi;',
+ 'pi;',
+ 'piv;',
+ 'plusmn;',
+ 'plusmn',
+ 'pound;',
+ 'pound',
+ 'prime;',
+ 'prod;',
+ 'prop;',
+ 'psi;',
+ 'quot;',
+ 'quot',
+ 'rArr;',
+ 'radic;',
+ 'rang;',
+ 'raquo;',
+ 'raquo',
+ 'rarr;',
+ 'rceil;',
+ 'rdquo;',
+ 'real;',
+ 'reg;',
+ 'reg',
+ 'rfloor;',
+ 'rho;',
+ 'rlm;',
+ 'rsaquo;',
+ 'rsquo;',
+ 'sbquo;',
+ 'scaron;',
+ 'sdot;',
+ 'sect;',
+ 'sect',
+ 'shy;',
+ 'shy',
+ 'sigma;',
+ 'sigmaf;',
+ 'sim;',
+ 'spades;',
+ 'sub;',
+ 'sube;',
+ 'sum;',
+ 'sup1;',
+ 'sup1',
+ 'sup2;',
+ 'sup2',
+ 'sup3;',
+ 'sup3',
+ 'sup;',
+ 'supe;',
+ 'szlig;',
+ 'szlig',
+ 'tau;',
+ 'there4;',
+ 'theta;',
+ 'thetasym;',
+ 'thinsp;',
+ 'thorn;',
+ 'thorn',
+ 'tilde;',
+ 'times;',
+ 'times',
+ 'trade;',
+ 'uArr;',
+ 'uacute;',
+ 'uacute',
+ 'uarr;',
+ 'ucirc;',
+ 'ucirc',
+ 'ugrave;',
+ 'ugrave',
+ 'uml;',
+ 'uml',
+ 'upsih;',
+ 'upsilon;',
+ 'uuml;',
+ 'uuml',
+ 'weierp;',
+ 'xi;',
+ 'yacute;',
+ 'yacute',
+ 'yen;',
+ 'yen',
+ 'yuml;',
+ 'yuml',
+ 'zeta;',
+ 'zwj;',
+ 'zwnj;'
+ );
+
+ const PCDATA = 0;
+ const RCDATA = 1;
+ const CDATA = 2;
const PLAINTEXT = 3;
- const DOCTYPE = 0;
+ const DOCTYPE = 0;
const STARTTAG = 1;
- const ENDTAG = 2;
- const COMMENT = 3;
+ const ENDTAG = 2;
+ const COMMENT = 3;
const CHARACTR = 4;
- const EOF = 5;
-
- public function __construct($data) {
- $data = str_replace("\r\n", "\n", $data);
- $data = str_replace("\r", null, $data);
+ const EOF = 5;
+ public function __construct($data)
+ {
$this->data = $data;
$this->char = -1;
- $this->EOF = strlen($data);
+ $this->EOF = strlen($data);
$this->tree = new HTML5TreeConstructer;
$this->content_model = self::PCDATA;
$this->state = 'data';
- while($this->state !== null) {
- $this->{$this->state.'State'}();
+ while ($this->state !== null) {
+ $this->{$this->state . 'State'}();
}
}
- public function save() {
+ public function save()
+ {
return $this->tree->save();
}
- private function char() {
+ private function char()
+ {
return ($this->char < $this->EOF)
? $this->data[$this->char]
: false;
}
- private function character($s, $l = 0) {
- if($s + $l < $this->EOF) {
- if($l === 0) {
+ private function character($s, $l = 0)
+ {
+ if ($s + $l < $this->EOF) {
+ if ($l === 0) {
return $this->data[$s];
} else {
return substr($this->data, $s, $l);
@@ -161,46 +497,52 @@ class HTML5 {
}
}
- private function characters($char_class, $start) {
- return preg_replace('#^(['.$char_class.']+).*#s', '\\1', substr($this->data, $start));
+ private function characters($char_class, $start)
+ {
+ return preg_replace('#^([' . $char_class . ']+).*#s', '\\1', substr($this->data, $start));
}
- private function dataState() {
+ private function dataState()
+ {
// Consume the next input character
$this->char++;
$char = $this->char();
- if($char === '&' && ($this->content_model === self::PCDATA || $this->content_model === self::RCDATA)) {
+ if ($char === '&' && ($this->content_model === self::PCDATA || $this->content_model === self::RCDATA)) {
/* U+0026 AMPERSAND (&)
When the content model flag is set to one of the PCDATA or RCDATA
states: switch to the entity data state. Otherwise: treat it as per
the "anything else" entry below. */
$this->state = 'entityData';
- } elseif($char === '-') {
+ } elseif ($char === '-') {
/* If the content model flag is set to either the RCDATA state or
the CDATA state, and the escape flag is false, and there are at
least three characters before this one in the input stream, and the
last four characters in the input stream, including this one, are
U+003C LESS-THAN SIGN, U+0021 EXCLAMATION MARK, U+002D HYPHEN-MINUS,
and U+002D HYPHEN-MINUS ("<!--"), then set the escape flag to true. */
- if(($this->content_model === self::RCDATA || $this->content_model ===
- self::CDATA) && $this->escape === false &&
- $this->char >= 3 && $this->character($this->char - 4, 4) === '<!--') {
+ if (($this->content_model === self::RCDATA || $this->content_model ===
+ self::CDATA) && $this->escape === false &&
+ $this->char >= 3 && $this->character($this->char - 4, 4) === '<!--'
+ ) {
$this->escape = true;
}
/* In any case, emit the input character as a character token. Stay
in the data state. */
- $this->emitToken(array(
- 'type' => self::CHARACTR,
- 'data' => $char
- ));
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ )
+ );
- /* U+003C LESS-THAN SIGN (<) */
- } elseif($char === '<' && ($this->content_model === self::PCDATA ||
- (($this->content_model === self::RCDATA ||
- $this->content_model === self::CDATA) && $this->escape === false))) {
+ /* U+003C LESS-THAN SIGN (<) */
+ } elseif ($char === '<' && ($this->content_model === self::PCDATA ||
+ (($this->content_model === self::RCDATA ||
+ $this->content_model === self::CDATA) && $this->escape === false))
+ ) {
/* When the content model flag is set to the PCDATA state: switch
to the tag open state.
@@ -211,39 +553,44 @@ class HTML5 {
Otherwise: treat it as per the "anything else" entry below. */
$this->state = 'tagOpen';
- /* U+003E GREATER-THAN SIGN (>) */
- } elseif($char === '>') {
+ /* U+003E GREATER-THAN SIGN (>) */
+ } elseif ($char === '>') {
/* If the content model flag is set to either the RCDATA state or
the CDATA state, and the escape flag is true, and the last three
characters in the input stream including this one are U+002D
HYPHEN-MINUS, U+002D HYPHEN-MINUS, U+003E GREATER-THAN SIGN ("-->"),
set the escape flag to false. */
- if(($this->content_model === self::RCDATA ||
- $this->content_model === self::CDATA) && $this->escape === true &&
- $this->character($this->char, 3) === '-->') {
+ if (($this->content_model === self::RCDATA ||
+ $this->content_model === self::CDATA) && $this->escape === true &&
+ $this->character($this->char, 3) === '-->'
+ ) {
$this->escape = false;
}
/* In any case, emit the input character as a character token.
Stay in the data state. */
- $this->emitToken(array(
- 'type' => self::CHARACTR,
- 'data' => $char
- ));
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ )
+ );
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
/* EOF
Emit an end-of-file token. */
$this->EOF();
- } elseif($this->content_model === self::PLAINTEXT) {
+ } elseif ($this->content_model === self::PLAINTEXT) {
/* When the content model flag is set to the PLAINTEXT state
THIS DIFFERS GREATLY FROM THE SPEC: Get the remaining characters of
the text and emit it as a character token. */
- $this->emitToken(array(
- 'type' => self::CHARACTR,
- 'data' => substr($this->data, $this->char)
- ));
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => substr($this->data, $this->char)
+ )
+ );
$this->EOF();
@@ -252,37 +599,43 @@ class HTML5 {
THIS DIFFERS GREATLY FROM THE SPEC: Get as many character that
otherwise would also be treated as a character token and emit it
as a single character token. Stay in the data state. */
- $len = strcspn($this->data, '<&', $this->char);
+ $len = strcspn($this->data, '<&', $this->char);
$char = substr($this->data, $this->char, $len);
$this->char += $len - 1;
- $this->emitToken(array(
- 'type' => self::CHARACTR,
- 'data' => $char
- ));
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ )
+ );
$this->state = 'data';
}
}
- private function entityDataState() {
+ private function entityDataState()
+ {
// Attempt to consume an entity.
$entity = $this->entity();
// If nothing is returned, emit a U+0026 AMPERSAND character token.
// Otherwise, emit the character token that was returned.
$char = (!$entity) ? '&' : $entity;
- $this->emitToken(array(
- 'type' => self::CHARACTR,
- 'data' => $char
- ));
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => $char
+ )
+ );
// Finally, switch to the data state.
$this->state = 'data';
}
- private function tagOpenState() {
- switch($this->content_model) {
+ private function tagOpenState()
+ {
+ switch ($this->content_model) {
case self::RCDATA:
case self::CDATA:
/* If the next input character is a U+002F SOLIDUS (/) character,
@@ -290,19 +643,21 @@ class HTML5 {
input character is not a U+002F SOLIDUS (/) character, emit a
U+003C LESS-THAN SIGN character token and switch to the data
state to process the next input character. */
- if($this->character($this->char + 1) === '/') {
+ if ($this->character($this->char + 1) === '/') {
$this->char++;
$this->state = 'closeTagOpen';
} else {
- $this->emitToken(array(
- 'type' => self::CHARACTR,
- 'data' => '<'
- ));
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => '<'
+ )
+ );
$this->state = 'data';
}
- break;
+ break;
case self::PCDATA:
// If the content model flag is set to the PCDATA state
@@ -310,42 +665,44 @@ class HTML5 {
$this->char++;
$char = $this->char();
- if($char === '!') {
+ if ($char === '!') {
/* U+0021 EXCLAMATION MARK (!)
Switch to the markup declaration open state. */
$this->state = 'markupDeclarationOpen';
- } elseif($char === '/') {
+ } elseif ($char === '/') {
/* U+002F SOLIDUS (/)
Switch to the close tag open state. */
$this->state = 'closeTagOpen';
- } elseif(preg_match('/^[A-Za-z]$/', $char)) {
+ } elseif (preg_match('/^[A-Za-z]$/', $char)) {
/* U+0041 LATIN LETTER A through to U+005A LATIN LETTER Z
Create a new start tag token, set its tag name to the lowercase
version of the input character (add 0x0020 to the character's code
point), then switch to the tag name state. (Don't emit the token
yet; further details will be filled in before it is emitted.) */
$this->token = array(
- 'name' => strtolower($char),
- 'type' => self::STARTTAG,
- 'attr' => array()
+ 'name' => strtolower($char),
+ 'type' => self::STARTTAG,
+ 'attr' => array()
);
$this->state = 'tagName';
- } elseif($char === '>') {
+ } elseif ($char === '>') {
/* U+003E GREATER-THAN SIGN (>)
Parse error. Emit a U+003C LESS-THAN SIGN character token and a
U+003E GREATER-THAN SIGN character token. Switch to the data state. */
- $this->emitToken(array(
- 'type' => self::CHARACTR,
- 'data' => '<>'
- ));
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => '<>'
+ )
+ );
$this->state = 'data';
- } elseif($char === '?') {
+ } elseif ($char === '?') {
/* U+003F QUESTION MARK (?)
Parse error. Switch to the bogus comment state. */
$this->state = 'bogusComment';
@@ -354,25 +711,31 @@ class HTML5 {
/* Anything else
Parse error. Emit a U+003C LESS-THAN SIGN character token and
reconsume the current input character in the data state. */
- $this->emitToken(array(
- 'type' => self::CHARACTR,
- 'data' => '<'
- ));
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => '<'
+ )
+ );
$this->char--;
$this->state = 'data';
}
- break;
+ break;
}
}
- private function closeTagOpenState() {
+ private function closeTagOpenState()
+ {
$next_node = strtolower($this->characters('A-Za-z', $this->char + 1));
$the_same = count($this->tree->stack) > 0 && $next_node === end($this->tree->stack)->nodeName;
- if(($this->content_model === self::RCDATA || $this->content_model === self::CDATA) &&
- (!$the_same || ($the_same && (!preg_match('/[\t\n\x0b\x0c >\/]/',
- $this->character($this->char + 1 + strlen($next_node))) || $this->EOF === $this->char)))) {
+ if (($this->content_model === self::RCDATA || $this->content_model === self::CDATA) &&
+ (!$the_same || ($the_same && (!preg_match(
+ '/[\t\n\x0b\x0c >\/]/',
+ $this->character($this->char + 1 + strlen($next_node))
+ ) || $this->EOF === $this->char)))
+ ) {
/* If the content model flag is set to the RCDATA or CDATA states then
examine the next few characters. If they do not match the tag name of
the last start tag token emitted (case insensitively), or if they do but
@@ -388,10 +751,12 @@ class HTML5 {
...then there is a parse error. Emit a U+003C LESS-THAN SIGN character
token, a U+002F SOLIDUS character token, and switch to the data state
to process the next input character. */
- $this->emitToken(array(
- 'type' => self::CHARACTR,
- 'data' => '</'
- ));
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => '</'
+ )
+ );
$this->state = 'data';
@@ -402,32 +767,34 @@ class HTML5 {
$this->char++;
$char = $this->char();
- if(preg_match('/^[A-Za-z]$/', $char)) {
+ if (preg_match('/^[A-Za-z]$/', $char)) {
/* U+0041 LATIN LETTER A through to U+005A LATIN LETTER Z
Create a new end tag token, set its tag name to the lowercase version
of the input character (add 0x0020 to the character's code point), then
switch to the tag name state. (Don't emit the token yet; further details
will be filled in before it is emitted.) */
$this->token = array(
- 'name' => strtolower($char),
- 'type' => self::ENDTAG
+ 'name' => strtolower($char),
+ 'type' => self::ENDTAG
);
$this->state = 'tagName';
- } elseif($char === '>') {
+ } elseif ($char === '>') {
/* U+003E GREATER-THAN SIGN (>)
Parse error. Switch to the data state. */
$this->state = 'data';
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
/* EOF
Parse error. Emit a U+003C LESS-THAN SIGN character token and a U+002F
SOLIDUS character token. Reconsume the EOF character in the data state. */
- $this->emitToken(array(
- 'type' => self::CHARACTR,
- 'data' => '</'
- ));
+ $this->emitToken(
+ array(
+ 'type' => self::CHARACTR,
+ 'data' => '</'
+ )
+ );
$this->char--;
$this->state = 'data';
@@ -439,12 +806,13 @@ class HTML5 {
}
}
- private function tagNameState() {
+ private function tagNameState()
+ {
// Consume the next input character:
$this->char++;
$char = $this->character($this->char);
- if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
/* U+0009 CHARACTER TABULATION
U+000A LINE FEED (LF)
U+000B LINE TABULATION
@@ -453,13 +821,13 @@ class HTML5 {
Switch to the before attribute name state. */
$this->state = 'beforeAttributeName';
- } elseif($char === '>') {
+ } elseif ($char === '>') {
/* U+003E GREATER-THAN SIGN (>)
Emit the current tag token. Switch to the data state. */
$this->emitToken($this->token);
$this->state = 'data';
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
/* EOF
Parse error. Emit the current tag token. Reconsume the EOF
character in the data state. */
@@ -468,7 +836,7 @@ class HTML5 {
$this->char--;
$this->state = 'data';
- } elseif($char === '/') {
+ } elseif ($char === '/') {
/* U+002F SOLIDUS (/)
Parse error unless this is a permitted slash. Switch to the before
attribute name state. */
@@ -483,12 +851,13 @@ class HTML5 {
}
}
- private function beforeAttributeNameState() {
+ private function beforeAttributeNameState()
+ {
// Consume the next input character:
$this->char++;
$char = $this->character($this->char);
- if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
/* U+0009 CHARACTER TABULATION
U+000A LINE FEED (LF)
U+000B LINE TABULATION
@@ -497,19 +866,19 @@ class HTML5 {
Stay in the before attribute name state. */
$this->state = 'beforeAttributeName';
- } elseif($char === '>') {
+ } elseif ($char === '>') {
/* U+003E GREATER-THAN SIGN (>)
Emit the current tag token. Switch to the data state. */
$this->emitToken($this->token);
$this->state = 'data';
- } elseif($char === '/') {
+ } elseif ($char === '/') {
/* U+002F SOLIDUS (/)
Parse error unless this is a permitted slash. Stay in the before
attribute name state. */
$this->state = 'beforeAttributeName';
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
/* EOF
Parse error. Emit the current tag token. Reconsume the EOF
character in the data state. */
@@ -524,7 +893,7 @@ class HTML5 {
name to the current input character, and its value to the empty string.
Switch to the attribute name state. */
$this->token['attr'][] = array(
- 'name' => strtolower($char),
+ 'name' => strtolower($char),
'value' => null
);
@@ -532,12 +901,13 @@ class HTML5 {
}
}
- private function attributeNameState() {
+ private function attributeNameState()
+ {
// Consume the next input character:
$this->char++;
$char = $this->character($this->char);
- if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
/* U+0009 CHARACTER TABULATION
U+000A LINE FEED (LF)
U+000B LINE TABULATION
@@ -546,24 +916,24 @@ class HTML5 {
Stay in the before attribute name state. */
$this->state = 'afterAttributeName';
- } elseif($char === '=') {
+ } elseif ($char === '=') {
/* U+003D EQUALS SIGN (=)
Switch to the before attribute value state. */
$this->state = 'beforeAttributeValue';
- } elseif($char === '>') {
+ } elseif ($char === '>') {
/* U+003E GREATER-THAN SIGN (>)
Emit the current tag token. Switch to the data state. */
$this->emitToken($this->token);
$this->state = 'data';
- } elseif($char === '/' && $this->character($this->char + 1) !== '>') {
+ } elseif ($char === '/' && $this->character($this->char + 1) !== '>') {
/* U+002F SOLIDUS (/)
Parse error unless this is a permitted slash. Switch to the before
attribute name state. */
$this->state = 'beforeAttributeName';
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
/* EOF
Parse error. Emit the current tag token. Reconsume the EOF
character in the data state. */
@@ -583,12 +953,13 @@ class HTML5 {
}
}
- private function afterAttributeNameState() {
+ private function afterAttributeNameState()
+ {
// Consume the next input character:
$this->char++;
$char = $this->character($this->char);
- if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
/* U+0009 CHARACTER TABULATION
U+000A LINE FEED (LF)
U+000B LINE TABULATION
@@ -597,24 +968,24 @@ class HTML5 {
Stay in the after attribute name state. */
$this->state = 'afterAttributeName';
- } elseif($char === '=') {
+ } elseif ($char === '=') {
/* U+003D EQUALS SIGN (=)
Switch to the before attribute value state. */
$this->state = 'beforeAttributeValue';
- } elseif($char === '>') {
+ } elseif ($char === '>') {
/* U+003E GREATER-THAN SIGN (>)
Emit the current tag token. Switch to the data state. */
$this->emitToken($this->token);
$this->state = 'data';
- } elseif($char === '/' && $this->character($this->char + 1) !== '>') {
+ } elseif ($char === '/' && $this->character($this->char + 1) !== '>') {
/* U+002F SOLIDUS (/)
Parse error unless this is a permitted slash. Switch to the
before attribute name state. */
$this->state = 'beforeAttributeName';
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
/* EOF
Parse error. Emit the current tag token. Reconsume the EOF
character in the data state. */
@@ -629,7 +1000,7 @@ class HTML5 {
name to the current input character, and its value to the empty string.
Switch to the attribute name state. */
$this->token['attr'][] = array(
- 'name' => strtolower($char),
+ 'name' => strtolower($char),
'value' => null
);
@@ -637,12 +1008,13 @@ class HTML5 {
}
}
- private function beforeAttributeValueState() {
+ private function beforeAttributeValueState()
+ {
// Consume the next input character:
$this->char++;
$char = $this->character($this->char);
- if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
/* U+0009 CHARACTER TABULATION
U+000A LINE FEED (LF)
U+000B LINE TABULATION
@@ -651,24 +1023,24 @@ class HTML5 {
Stay in the before attribute value state. */
$this->state = 'beforeAttributeValue';
- } elseif($char === '"') {
+ } elseif ($char === '"') {
/* U+0022 QUOTATION MARK (")
Switch to the attribute value (double-quoted) state. */
$this->state = 'attributeValueDoubleQuoted';
- } elseif($char === '&') {
+ } elseif ($char === '&') {
/* U+0026 AMPERSAND (&)
Switch to the attribute value (unquoted) state and reconsume
this input character. */
$this->char--;
$this->state = 'attributeValueUnquoted';
- } elseif($char === '\'') {
+ } elseif ($char === '\'') {
/* U+0027 APOSTROPHE (')
Switch to the attribute value (single-quoted) state. */
$this->state = 'attributeValueSingleQuoted';
- } elseif($char === '>') {
+ } elseif ($char === '>') {
/* U+003E GREATER-THAN SIGN (>)
Emit the current tag token. Switch to the data state. */
$this->emitToken($this->token);
@@ -685,22 +1057,23 @@ class HTML5 {
}
}
- private function attributeValueDoubleQuotedState() {
+ private function attributeValueDoubleQuotedState()
+ {
// Consume the next input character:
$this->char++;
$char = $this->character($this->char);
- if($char === '"') {
+ if ($char === '"') {
/* U+0022 QUOTATION MARK (")
Switch to the before attribute name state. */
$this->state = 'beforeAttributeName';
- } elseif($char === '&') {
+ } elseif ($char === '&') {
/* U+0026 AMPERSAND (&)
Switch to the entity in attribute value state. */
$this->entityInAttributeValueState('double');
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
/* EOF
Parse error. Emit the current tag token. Reconsume the character
in the data state. */
@@ -720,22 +1093,23 @@ class HTML5 {
}
}
- private function attributeValueSingleQuotedState() {
+ private function attributeValueSingleQuotedState()
+ {
// Consume the next input character:
$this->char++;
$char = $this->character($this->char);
- if($char === '\'') {
+ if ($char === '\'') {
/* U+0022 QUOTATION MARK (')
Switch to the before attribute name state. */
$this->state = 'beforeAttributeName';
- } elseif($char === '&') {
+ } elseif ($char === '&') {
/* U+0026 AMPERSAND (&)
Switch to the entity in attribute value state. */
$this->entityInAttributeValueState('single');
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
/* EOF
Parse error. Emit the current tag token. Reconsume the character
in the data state. */
@@ -755,12 +1129,13 @@ class HTML5 {
}
}
- private function attributeValueUnquotedState() {
+ private function attributeValueUnquotedState()
+ {
// Consume the next input character:
$this->char++;
$char = $this->character($this->char);
- if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
/* U+0009 CHARACTER TABULATION
U+000A LINE FEED (LF)
U+000B LINE TABULATION
@@ -769,12 +1144,12 @@ class HTML5 {
Switch to the before attribute name state. */
$this->state = 'beforeAttributeName';
- } elseif($char === '&') {
+ } elseif ($char === '&') {
/* U+0026 AMPERSAND (&)
Switch to the entity in attribute value state. */
$this->entityInAttributeValueState();
- } elseif($char === '>') {
+ } elseif ($char === '>') {
/* U+003E GREATER-THAN SIGN (>)
Emit the current tag token. Switch to the data state. */
$this->emitToken($this->token);
@@ -791,7 +1166,8 @@ class HTML5 {
}
}
- private function entityInAttributeValueState() {
+ private function entityInAttributeValueState()
+ {
// Attempt to consume an entity.
$entity = $this->entity();
@@ -806,7 +1182,8 @@ class HTML5 {
$this->token['attr'][$last]['value'] .= $char;
}
- private function bogusCommentState() {
+ private function bogusCommentState()
+ {
/* Consume every character up to the first U+003E GREATER-THAN SIGN
character (>) or the end of the file (EOF), whichever comes first. Emit
a comment token whose data is the concatenation of all the characters
@@ -816,10 +1193,12 @@ class HTML5 {
end of the file otherwise. (If the comment was started by the end of
the file (EOF), the token is empty.) */
$data = $this->characters('^>', $this->char);
- $this->emitToken(array(
- 'data' => $data,
- 'type' => self::COMMENT
- ));
+ $this->emitToken(
+ array(
+ 'data' => $data,
+ 'type' => self::COMMENT
+ )
+ );
$this->char += strlen($data);
@@ -827,16 +1206,17 @@ class HTML5 {
$this->state = 'data';
/* If the end of the file was reached, reconsume the EOF character. */
- if($this->char === $this->EOF) {
+ if ($this->char === $this->EOF) {
$this->char = $this->EOF - 1;
}
}
- private function markupDeclarationOpenState() {
+ private function markupDeclarationOpenState()
+ {
/* If the next two characters are both U+002D HYPHEN-MINUS (-)
characters, consume those two characters, create a comment token whose
data is the empty string, and switch to the comment state. */
- if($this->character($this->char + 1, 2) === '--') {
+ if ($this->character($this->char + 1, 2) === '--') {
$this->char += 2;
$this->state = 'comment';
$this->token = array(
@@ -844,41 +1224,42 @@ class HTML5 {
'type' => self::COMMENT
);
- /* Otherwise if the next seven chacacters are a case-insensitive match
- for the word "DOCTYPE", then consume those characters and switch to the
- DOCTYPE state. */
- } elseif(strtolower($this->character($this->char + 1, 7)) === 'doctype') {
+ /* Otherwise if the next seven chacacters are a case-insensitive match
+ for the word "DOCTYPE", then consume those characters and switch to the
+ DOCTYPE state. */
+ } elseif (strtolower($this->character($this->char + 1, 7)) === 'doctype') {
$this->char += 7;
$this->state = 'doctype';
- /* Otherwise, is is a parse error. Switch to the bogus comment state.
- The next character that is consumed, if any, is the first character
- that will be in the comment. */
+ /* Otherwise, is is a parse error. Switch to the bogus comment state.
+ The next character that is consumed, if any, is the first character
+ that will be in the comment. */
} else {
$this->char++;
$this->state = 'bogusComment';
}
}
- private function commentState() {
+ private function commentState()
+ {
/* Consume the next input character: */
$this->char++;
$char = $this->char();
/* U+002D HYPHEN-MINUS (-) */
- if($char === '-') {
+ if ($char === '-') {
/* Switch to the comment dash state */
$this->state = 'commentDash';
- /* EOF */
- } elseif($this->char === $this->EOF) {
+ /* EOF */
+ } elseif ($this->char === $this->EOF) {
/* Parse error. Emit the comment token. Reconsume the EOF character
in the data state. */
$this->emitToken($this->token);
$this->char--;
$this->state = 'data';
- /* Anything else */
+ /* Anything else */
} else {
/* Append the input character to the comment token's data. Stay in
the comment state. */
@@ -886,62 +1267,65 @@ class HTML5 {
}
}
- private function commentDashState() {
+ private function commentDashState()
+ {
/* Consume the next input character: */
$this->char++;
$char = $this->char();
/* U+002D HYPHEN-MINUS (-) */
- if($char === '-') {
+ if ($char === '-') {
/* Switch to the comment end state */
$this->state = 'commentEnd';
- /* EOF */
- } elseif($this->char === $this->EOF) {
+ /* EOF */
+ } elseif ($this->char === $this->EOF) {
/* Parse error. Emit the comment token. Reconsume the EOF character
in the data state. */
$this->emitToken($this->token);
$this->char--;
$this->state = 'data';
- /* Anything else */
+ /* Anything else */
} else {
/* Append a U+002D HYPHEN-MINUS (-) character and the input
character to the comment token's data. Switch to the comment state. */
- $this->token['data'] .= '-'.$char;
+ $this->token['data'] .= '-' . $char;
$this->state = 'comment';
}
}
- private function commentEndState() {
+ private function commentEndState()
+ {
/* Consume the next input character: */
$this->char++;
$char = $this->char();
- if($char === '>') {
+ if ($char === '>') {
$this->emitToken($this->token);
$this->state = 'data';
- } elseif($char === '-') {
+ } elseif ($char === '-') {
$this->token['data'] .= '-';
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
$this->emitToken($this->token);
$this->char--;
$this->state = 'data';
} else {
- $this->token['data'] .= '--'.$char;
+ $this->token['data'] .= '--' . $char;
$this->state = 'comment';
}
}
- private function doctypeState() {
+ private function doctypeState()
+ {
/* Consume the next input character: */
$this->char++;
$char = $this->char();
- if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
$this->state = 'beforeDoctypeName';
} else {
@@ -950,15 +1334,16 @@ class HTML5 {
}
}
- private function beforeDoctypeNameState() {
+ private function beforeDoctypeNameState()
+ {
/* Consume the next input character: */
$this->char++;
$char = $this->char();
- if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
// Stay in the before DOCTYPE name state.
- } elseif(preg_match('/^[a-z]$/', $char)) {
+ } elseif (preg_match('/^[a-z]$/', $char)) {
$this->token = array(
'name' => strtoupper($char),
'type' => self::DOCTYPE,
@@ -967,21 +1352,25 @@ class HTML5 {
$this->state = 'doctypeName';
- } elseif($char === '>') {
- $this->emitToken(array(
- 'name' => null,
- 'type' => self::DOCTYPE,
- 'error' => true
- ));
+ } elseif ($char === '>') {
+ $this->emitToken(
+ array(
+ 'name' => null,
+ 'type' => self::DOCTYPE,
+ 'error' => true
+ )
+ );
$this->state = 'data';
- } elseif($this->char === $this->EOF) {
- $this->emitToken(array(
- 'name' => null,
- 'type' => self::DOCTYPE,
- 'error' => true
- ));
+ } elseif ($this->char === $this->EOF) {
+ $this->emitToken(
+ array(
+ 'name' => null,
+ 'type' => self::DOCTYPE,
+ 'error' => true
+ )
+ );
$this->char--;
$this->state = 'data';
@@ -997,22 +1386,23 @@ class HTML5 {
}
}
- private function doctypeNameState() {
+ private function doctypeNameState()
+ {
/* Consume the next input character: */
$this->char++;
$char = $this->char();
- if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
$this->state = 'AfterDoctypeName';
- } elseif($char === '>') {
+ } elseif ($char === '>') {
$this->emitToken($this->token);
$this->state = 'data';
- } elseif(preg_match('/^[a-z]$/', $char)) {
+ } elseif (preg_match('/^[a-z]$/', $char)) {
$this->token['name'] .= strtoupper($char);
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
$this->emitToken($this->token);
$this->char--;
$this->state = 'data';
@@ -1026,19 +1416,20 @@ class HTML5 {
: true;
}
- private function afterDoctypeNameState() {
+ private function afterDoctypeNameState()
+ {
/* Consume the next input character: */
$this->char++;
$char = $this->char();
- if(preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
+ if (preg_match('/^[\t\n\x0b\x0c ]$/', $char)) {
// Stay in the DOCTYPE name state.
- } elseif($char === '>') {
+ } elseif ($char === '>') {
$this->emitToken($this->token);
$this->state = 'data';
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
$this->emitToken($this->token);
$this->char--;
$this->state = 'data';
@@ -1049,16 +1440,17 @@ class HTML5 {
}
}
- private function bogusDoctypeState() {
+ private function bogusDoctypeState()
+ {
/* Consume the next input character: */
$this->char++;
$char = $this->char();
- if($char === '>') {
+ if ($char === '>') {
$this->emitToken($this->token);
$this->state = 'data';
- } elseif($this->char === $this->EOF) {
+ } elseif ($this->char === $this->EOF) {
$this->emitToken($this->token);
$this->char--;
$this->state = 'data';
@@ -1068,22 +1460,23 @@ class HTML5 {
}
}
- private function entity() {
+ private function entity()
+ {
$start = $this->char;
// This section defines how to consume an entity. This definition is
// used when parsing entities in text and in attributes.
// The behaviour depends on the identity of the next character (the
- // one immediately after the U+0026 AMPERSAND character):
+ // one immediately after the U+0026 AMPERSAND character):
- switch($this->character($this->char + 1)) {
+ switch ($this->character($this->char + 1)) {
// U+0023 NUMBER SIGN (#)
case '#':
// The behaviour further depends on the character after the
// U+0023 NUMBER SIGN:
- switch($this->character($this->char + 1)) {
+ switch ($this->character($this->char + 1)) {
// U+0078 LATIN SMALL LETTER X
// U+0058 LATIN CAPITAL LETTER X
case 'x':
@@ -1096,7 +1489,7 @@ class HTML5 {
// words, 0-9, A-F, a-f).
$char = 1;
$char_class = '0-9A-Fa-f';
- break;
+ break;
// Anything else
default:
@@ -1105,7 +1498,7 @@ class HTML5 {
// NINE (i.e. just 0-9).
$char = 0;
$char_class = '0-9';
- break;
+ break;
}
// Consume as many characters as match the range of characters
@@ -1116,7 +1509,7 @@ class HTML5 {
$cond = strlen($e_name) > 0;
// The rest of the parsing happens bellow.
- break;
+ break;
// Anything else
default:
@@ -1126,12 +1519,12 @@ class HTML5 {
$e_name = $this->characters('0-9A-Za-z;', $this->char + 1);
$len = strlen($e_name);
- for($c = 1; $c <= $len; $c++) {
+ for ($c = 1; $c <= $len; $c++) {
$id = substr($e_name, 0, $c);
$this->char++;
- if(in_array($id, $this->entities)) {
- if ($e_name[$c-1] !== ';') {
+ if (in_array($id, $this->entities)) {
+ if ($e_name[$c - 1] !== ';') {
if ($c < $len && $e_name[$c] == ';') {
$this->char++; // consume extra semicolon
}
@@ -1143,10 +1536,10 @@ class HTML5 {
$cond = isset($entity);
// The rest of the parsing happens bellow.
- break;
+ break;
}
- if(!$cond) {
+ if (!$cond) {
// If no match can be made, then this is a parse error. No
// characters are consumed, and nothing is returned.
$this->char = $start;
@@ -1155,81 +1548,157 @@ class HTML5 {
// Return a character token for the character corresponding to the
// entity name (as given by the second column of the entities table).
- return html_entity_decode('&'.$entity.';', ENT_QUOTES, 'UTF-8');
+ return html_entity_decode('&' . $entity . ';', ENT_QUOTES, 'UTF-8');
}
- private function emitToken($token) {
+ private function emitToken($token)
+ {
$emit = $this->tree->emitToken($token);
- if(is_int($emit)) {
+ if (is_int($emit)) {
$this->content_model = $emit;
- } elseif($token['type'] === self::ENDTAG) {
+ } elseif ($token['type'] === self::ENDTAG) {
$this->content_model = self::PCDATA;
}
}
- private function EOF() {
+ private function EOF()
+ {
$this->state = null;
- $this->tree->emitToken(array(
- 'type' => self::EOF
- ));
+ $this->tree->emitToken(
+ array(
+ 'type' => self::EOF
+ )
+ );
}
}
-class HTML5TreeConstructer {
+class HTML5TreeConstructer
+{
public $stack = array();
private $phase;
private $mode;
private $dom;
private $foster_parent = null;
- private $a_formatting = array();
+ private $a_formatting = array();
private $head_pointer = null;
private $form_pointer = null;
- private $scoping = array('button','caption','html','marquee','object','table','td','th');
- private $formatting = array('a','b','big','em','font','i','nobr','s','small','strike','strong','tt','u');
- private $special = array('address','area','base','basefont','bgsound',
- 'blockquote','body','br','center','col','colgroup','dd','dir','div','dl',
- 'dt','embed','fieldset','form','frame','frameset','h1','h2','h3','h4','h5',
- 'h6','head','hr','iframe','image','img','input','isindex','li','link',
- 'listing','menu','meta','noembed','noframes','noscript','ol','optgroup',
- 'option','p','param','plaintext','pre','script','select','spacer','style',
- 'tbody','textarea','tfoot','thead','title','tr','ul','wbr');
+ private $scoping = array('button', 'caption', 'html', 'marquee', 'object', 'table', 'td', 'th');
+ private $formatting = array(
+ 'a',
+ 'b',
+ 'big',
+ 'em',
+ 'font',
+ 'i',
+ 'nobr',
+ 's',
+ 'small',
+ 'strike',
+ 'strong',
+ 'tt',
+ 'u'
+ );
+ private $special = array(
+ 'address',
+ 'area',
+ 'base',
+ 'basefont',
+ 'bgsound',
+ 'blockquote',
+ 'body',
+ 'br',
+ 'center',
+ 'col',
+ 'colgroup',
+ 'dd',
+ 'dir',
+ 'div',
+ 'dl',
+ 'dt',
+ 'embed',
+ 'fieldset',
+ 'form',
+ 'frame',
+ 'frameset',
+ 'h1',
+ 'h2',
+ 'h3',
+ 'h4',
+ 'h5',
+ 'h6',
+ 'head',
+ 'hr',
+ 'iframe',
+ 'image',
+ 'img',
+ 'input',
+ 'isindex',
+ 'li',
+ 'link',
+ 'listing',
+ 'menu',
+ 'meta',
+ 'noembed',
+ 'noframes',
+ 'noscript',
+ 'ol',
+ 'optgroup',
+ 'option',
+ 'p',
+ 'param',
+ 'plaintext',
+ 'pre',
+ 'script',
+ 'select',
+ 'spacer',
+ 'style',
+ 'tbody',
+ 'textarea',
+ 'tfoot',
+ 'thead',
+ 'title',
+ 'tr',
+ 'ul',
+ 'wbr'
+ );
// The different phases.
const INIT_PHASE = 0;
const ROOT_PHASE = 1;
const MAIN_PHASE = 2;
- const END_PHASE = 3;
+ const END_PHASE = 3;
// The different insertion modes for the main phase.
const BEFOR_HEAD = 0;
- const IN_HEAD = 1;
+ const IN_HEAD = 1;
const AFTER_HEAD = 2;
- const IN_BODY = 3;
- const IN_TABLE = 4;
+ const IN_BODY = 3;
+ const IN_TABLE = 4;
const IN_CAPTION = 5;
- const IN_CGROUP = 6;
- const IN_TBODY = 7;
- const IN_ROW = 8;
- const IN_CELL = 9;
- const IN_SELECT = 10;
+ const IN_CGROUP = 6;
+ const IN_TBODY = 7;
+ const IN_ROW = 8;
+ const IN_CELL = 9;
+ const IN_SELECT = 10;
const AFTER_BODY = 11;
- const IN_FRAME = 12;
+ const IN_FRAME = 12;
const AFTR_FRAME = 13;
// The different types of elements.
- const SPECIAL = 0;
- const SCOPING = 1;
+ const SPECIAL = 0;
+ const SCOPING = 1;
const FORMATTING = 2;
- const PHRASING = 3;
+ const PHRASING = 3;
- const MARKER = 0;
+ const MARKER = 0;
- public function __construct() {
+ public function __construct()
+ {
$this->phase = self::INIT_PHASE;
$this->mode = self::BEFOR_HEAD;
$this->dom = new DOMDocument;
@@ -1241,16 +1710,26 @@ class HTML5TreeConstructer {
}
// Process tag tokens
- public function emitToken($token) {
- switch($this->phase) {
- case self::INIT_PHASE: return $this->initPhase($token); break;
- case self::ROOT_PHASE: return $this->rootElementPhase($token); break;
- case self::MAIN_PHASE: return $this->mainPhase($token); break;
- case self::END_PHASE : return $this->trailingEndPhase($token); break;
+ public function emitToken($token)
+ {
+ switch ($this->phase) {
+ case self::INIT_PHASE:
+ return $this->initPhase($token);
+ break;
+ case self::ROOT_PHASE:
+ return $this->rootElementPhase($token);
+ break;
+ case self::MAIN_PHASE:
+ return $this->mainPhase($token);
+ break;
+ case self::END_PHASE :
+ return $this->trailingEndPhase($token);
+ break;
}
}
- private function initPhase($token) {
+ private function initPhase($token)
+ {
/* Initially, the tree construction stage must handle each token
emitted from the tokenisation stage as follows: */
@@ -1262,13 +1741,14 @@ class HTML5TreeConstructer {
U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
or U+0020 SPACE
An end-of-file token */
- if((isset($token['error']) && $token['error']) ||
- $token['type'] === HTML5::COMMENT ||
- $token['type'] === HTML5::STARTTAG ||
- $token['type'] === HTML5::ENDTAG ||
- $token['type'] === HTML5::EOF ||
- ($token['type'] === HTML5::CHARACTR && isset($token['data']) &&
- !preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']))) {
+ if ((isset($token['error']) && $token['error']) ||
+ $token['type'] === HTML5::COMMENT ||
+ $token['type'] === HTML5::STARTTAG ||
+ $token['type'] === HTML5::ENDTAG ||
+ $token['type'] === HTML5::EOF ||
+ ($token['type'] === HTML5::CHARACTR && isset($token['data']) &&
+ !preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data']))
+ ) {
/* This specification does not define how to handle this case. In
particular, user agents may ignore the entirety of this specification
altogether for such documents, and instead invoke special parse modes
@@ -1277,8 +1757,8 @@ class HTML5TreeConstructer {
$this->phase = self::ROOT_PHASE;
return $this->rootElementPhase($token);
- /* A DOCTYPE token marked as being correct */
- } elseif(isset($token['error']) && !$token['error']) {
+ /* A DOCTYPE token marked as being correct */
+ } elseif (isset($token['error']) && !$token['error']) {
/* Append a DocumentType node to the Document node, with the name
attribute set to the name given in the DOCTYPE token (which will be
"HTML"), and the other attributes specific to DocumentType objects
@@ -1289,52 +1769,58 @@ class HTML5TreeConstructer {
stage. */
$this->phase = self::ROOT_PHASE;
- /* A character token that is one of one of U+0009 CHARACTER TABULATION,
- U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
- or U+0020 SPACE */
- } elseif(isset($token['data']) && preg_match('/^[\t\n\x0b\x0c ]+$/',
- $token['data'])) {
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ } elseif (isset($token['data']) && preg_match(
+ '/^[\t\n\x0b\x0c ]+$/',
+ $token['data']
+ )
+ ) {
/* Append that character to the Document node. */
$text = $this->dom->createTextNode($token['data']);
$this->dom->appendChild($text);
}
}
- private function rootElementPhase($token) {
+ private function rootElementPhase($token)
+ {
/* After the initial phase, as each token is emitted from the tokenisation
stage, it must be processed as described in this section. */
/* A DOCTYPE token */
- if($token['type'] === HTML5::DOCTYPE) {
+ if ($token['type'] === HTML5::DOCTYPE) {
// Parse error. Ignore the token.
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the Document object with the data
attribute set to the data given in the comment token. */
$comment = $this->dom->createComment($token['data']);
$this->dom->appendChild($comment);
- /* A character token that is one of one of U+0009 CHARACTER TABULATION,
- U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
- or U+0020 SPACE */
- } elseif($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ } elseif ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
/* Append that character to the Document node. */
$text = $this->dom->createTextNode($token['data']);
$this->dom->appendChild($text);
- /* A character token that is not one of U+0009 CHARACTER TABULATION,
- U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED
- (FF), or U+0020 SPACE
- A start tag token
- An end tag token
- An end-of-file token */
- } elseif(($token['type'] === HTML5::CHARACTR &&
- !preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) ||
- $token['type'] === HTML5::STARTTAG ||
- $token['type'] === HTML5::ENDTAG ||
- $token['type'] === HTML5::EOF) {
+ /* A character token that is not one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED
+ (FF), or U+0020 SPACE
+ A start tag token
+ An end tag token
+ An end-of-file token */
+ } elseif (($token['type'] === HTML5::CHARACTR &&
+ !preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) ||
+ $token['type'] === HTML5::STARTTAG ||
+ $token['type'] === HTML5::ENDTAG ||
+ $token['type'] === HTML5::EOF
+ ) {
/* Create an HTMLElement node with the tag name html, in the HTML
namespace. Append it to the Document object. Switch to the main
phase and reprocess the current token. */
@@ -1347,15 +1833,16 @@ class HTML5TreeConstructer {
}
}
- private function mainPhase($token) {
+ private function mainPhase($token)
+ {
/* Tokens in the main phase must be handled as follows: */
/* A DOCTYPE token */
- if($token['type'] === HTML5::DOCTYPE) {
+ if ($token['type'] === HTML5::DOCTYPE) {
// Parse error. Ignore the token.
- /* A start tag token with the tag name "html" */
- } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'html') {
+ /* A start tag token with the tag name "html" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'html') {
/* If this start tag token was not the first start tag token, then
it is a parse error. */
@@ -1363,59 +1850,91 @@ class HTML5TreeConstructer {
is already present on the top element of the stack of open elements.
If it is not, add the attribute and its corresponding value to that
element. */
- foreach($token['attr'] as $attr) {
- if(!$this->stack[0]->hasAttribute($attr['name'])) {
+ foreach ($token['attr'] as $attr) {
+ if (!$this->stack[0]->hasAttribute($attr['name'])) {
$this->stack[0]->setAttribute($attr['name'], $attr['value']);
}
}
- /* An end-of-file token */
- } elseif($token['type'] === HTML5::EOF) {
+ /* An end-of-file token */
+ } elseif ($token['type'] === HTML5::EOF) {
/* Generate implied end tags. */
$this->generateImpliedEndTags();
- /* Anything else. */
+ /* Anything else. */
} else {
/* Depends on the insertion mode: */
- switch($this->mode) {
- case self::BEFOR_HEAD: return $this->beforeHead($token); break;
- case self::IN_HEAD: return $this->inHead($token); break;
- case self::AFTER_HEAD: return $this->afterHead($token); break;
- case self::IN_BODY: return $this->inBody($token); break;
- case self::IN_TABLE: return $this->inTable($token); break;
- case self::IN_CAPTION: return $this->inCaption($token); break;
- case self::IN_CGROUP: return $this->inColumnGroup($token); break;
- case self::IN_TBODY: return $this->inTableBody($token); break;
- case self::IN_ROW: return $this->inRow($token); break;
- case self::IN_CELL: return $this->inCell($token); break;
- case self::IN_SELECT: return $this->inSelect($token); break;
- case self::AFTER_BODY: return $this->afterBody($token); break;
- case self::IN_FRAME: return $this->inFrameset($token); break;
- case self::AFTR_FRAME: return $this->afterFrameset($token); break;
- case self::END_PHASE: return $this->trailingEndPhase($token); break;
+ switch ($this->mode) {
+ case self::BEFOR_HEAD:
+ return $this->beforeHead($token);
+ break;
+ case self::IN_HEAD:
+ return $this->inHead($token);
+ break;
+ case self::AFTER_HEAD:
+ return $this->afterHead($token);
+ break;
+ case self::IN_BODY:
+ return $this->inBody($token);
+ break;
+ case self::IN_TABLE:
+ return $this->inTable($token);
+ break;
+ case self::IN_CAPTION:
+ return $this->inCaption($token);
+ break;
+ case self::IN_CGROUP:
+ return $this->inColumnGroup($token);
+ break;
+ case self::IN_TBODY:
+ return $this->inTableBody($token);
+ break;
+ case self::IN_ROW:
+ return $this->inRow($token);
+ break;
+ case self::IN_CELL:
+ return $this->inCell($token);
+ break;
+ case self::IN_SELECT:
+ return $this->inSelect($token);
+ break;
+ case self::AFTER_BODY:
+ return $this->afterBody($token);
+ break;
+ case self::IN_FRAME:
+ return $this->inFrameset($token);
+ break;
+ case self::AFTR_FRAME:
+ return $this->afterFrameset($token);
+ break;
+ case self::END_PHASE:
+ return $this->trailingEndPhase($token);
+ break;
}
}
}
- private function beforeHead($token) {
+ private function beforeHead($token)
+ {
/* Handle the token as follows: */
/* A character token that is one of one of U+0009 CHARACTER TABULATION,
U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
or U+0020 SPACE */
- if($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
/* Append the character to the current node. */
$this->insertText($token['data']);
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the current node with the data attribute
set to the data given in the comment token. */
$this->insertComment($token['data']);
- /* A start tag token with the tag name "head" */
- } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') {
+ /* A start tag token with the tag name "head" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') {
/* Create an element for the token, append the new element to the
current node and push it onto the stack of open elements. */
$element = $this->insertElement($token);
@@ -1426,32 +1945,38 @@ class HTML5TreeConstructer {
/* Change the insertion mode to "in head". */
$this->mode = self::IN_HEAD;
- /* A start tag token whose tag name is one of: "base", "link", "meta",
- "script", "style", "title". Or an end tag with the tag name "html".
- Or a character token that is not one of U+0009 CHARACTER TABULATION,
- U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
- or U+0020 SPACE. Or any other start tag token */
- } elseif($token['type'] === HTML5::STARTTAG ||
- ($token['type'] === HTML5::ENDTAG && $token['name'] === 'html') ||
- ($token['type'] === HTML5::CHARACTR && !preg_match('/^[\t\n\x0b\x0c ]$/',
- $token['data']))) {
+ /* A start tag token whose tag name is one of: "base", "link", "meta",
+ "script", "style", "title". Or an end tag with the tag name "html".
+ Or a character token that is not one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE. Or any other start tag token */
+ } elseif ($token['type'] === HTML5::STARTTAG ||
+ ($token['type'] === HTML5::ENDTAG && $token['name'] === 'html') ||
+ ($token['type'] === HTML5::CHARACTR && !preg_match(
+ '/^[\t\n\x0b\x0c ]$/',
+ $token['data']
+ ))
+ ) {
/* Act as if a start tag token with the tag name "head" and no
attributes had been seen, then reprocess the current token. */
- $this->beforeHead(array(
- 'name' => 'head',
- 'type' => HTML5::STARTTAG,
- 'attr' => array()
- ));
+ $this->beforeHead(
+ array(
+ 'name' => 'head',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
return $this->inHead($token);
- /* Any other end tag */
- } elseif($token['type'] === HTML5::ENDTAG) {
+ /* Any other end tag */
+ } elseif ($token['type'] === HTML5::ENDTAG) {
/* Parse error. Ignore the token. */
}
}
- private function inHead($token) {
+ private function inHead($token)
+ {
/* Handle the token as follows: */
/* A character token that is one of one of U+0009 CHARACTER TABULATION,
@@ -1461,30 +1986,34 @@ class HTML5TreeConstructer {
THIS DIFFERS FROM THE SPEC: If the current node is either a title, style
or script element, append the character to the current node regardless
of its content. */
- if(($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) || (
- $token['type'] === HTML5::CHARACTR && in_array(end($this->stack)->nodeName,
- array('title', 'style', 'script')))) {
+ if (($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) || (
+ $token['type'] === HTML5::CHARACTR && in_array(
+ end($this->stack)->nodeName,
+ array('title', 'style', 'script')
+ ))
+ ) {
/* Append the character to the current node. */
$this->insertText($token['data']);
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the current node with the data attribute
set to the data given in the comment token. */
$this->insertComment($token['data']);
- } elseif($token['type'] === HTML5::ENDTAG &&
- in_array($token['name'], array('title', 'style', 'script'))) {
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ in_array($token['name'], array('title', 'style', 'script'))
+ ) {
array_pop($this->stack);
return HTML5::PCDATA;
- /* A start tag with the tag name "title" */
- } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'title') {
+ /* A start tag with the tag name "title" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'title') {
/* Create an element for the token and append the new element to the
node pointed to by the head element pointer, or, if that is null
(innerHTML case), to the current node. */
- if($this->head_pointer !== null) {
+ if ($this->head_pointer !== null) {
$element = $this->insertElement($token, false);
$this->head_pointer->appendChild($element);
@@ -1495,12 +2024,12 @@ class HTML5TreeConstructer {
/* Switch the tokeniser's content model flag to the RCDATA state. */
return HTML5::RCDATA;
- /* A start tag with the tag name "style" */
- } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'style') {
+ /* A start tag with the tag name "style" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'style') {
/* Create an element for the token and append the new element to the
node pointed to by the head element pointer, or, if that is null
(innerHTML case), to the current node. */
- if($this->head_pointer !== null) {
+ if ($this->head_pointer !== null) {
$element = $this->insertElement($token, false);
$this->head_pointer->appendChild($element);
@@ -1511,8 +2040,8 @@ class HTML5TreeConstructer {
/* Switch the tokeniser's content model flag to the CDATA state. */
return HTML5::CDATA;
- /* A start tag with the tag name "script" */
- } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'script') {
+ /* A start tag with the tag name "script" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'script') {
/* Create an element for the token. */
$element = $this->insertElement($token, false);
$this->head_pointer->appendChild($element);
@@ -1520,13 +2049,16 @@ class HTML5TreeConstructer {
/* Switch the tokeniser's content model flag to the CDATA state. */
return HTML5::CDATA;
- /* A start tag with the tag name "base", "link", or "meta" */
- } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
- array('base', 'link', 'meta'))) {
+ /* A start tag with the tag name "base", "link", or "meta" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array('base', 'link', 'meta')
+ )
+ ) {
/* Create an element for the token and append the new element to the
node pointed to by the head element pointer, or, if that is null
(innerHTML case), to the current node. */
- if($this->head_pointer !== null) {
+ if ($this->head_pointer !== null) {
$element = $this->insertElement($token, false);
$this->head_pointer->appendChild($element);
array_pop($this->stack);
@@ -1535,14 +2067,14 @@ class HTML5TreeConstructer {
$this->insertElement($token);
}
- /* An end tag with the tag name "head" */
- } elseif($token['type'] === HTML5::ENDTAG && $token['name'] === 'head') {
+ /* An end tag with the tag name "head" */
+ } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'head') {
/* If the current node is a head element, pop the current node off
the stack of open elements. */
- if($this->head_pointer->isSameNode(end($this->stack))) {
+ if ($this->head_pointer->isSameNode(end($this->stack))) {
array_pop($this->stack);
- /* Otherwise, this is a parse error. */
+ /* Otherwise, this is a parse error. */
} else {
// k
}
@@ -1550,22 +2082,25 @@ class HTML5TreeConstructer {
/* Change the insertion mode to "after head". */
$this->mode = self::AFTER_HEAD;
- /* A start tag with the tag name "head" or an end tag except "html". */
- } elseif(($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') ||
- ($token['type'] === HTML5::ENDTAG && $token['name'] !== 'html')) {
+ /* A start tag with the tag name "head" or an end tag except "html". */
+ } elseif (($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') ||
+ ($token['type'] === HTML5::ENDTAG && $token['name'] !== 'html')
+ ) {
// Parse error. Ignore the token.
- /* Anything else */
+ /* Anything else */
} else {
/* If the current node is a head element, act as if an end tag
token with the tag name "head" had been seen. */
- if($this->head_pointer->isSameNode(end($this->stack))) {
- $this->inHead(array(
- 'name' => 'head',
- 'type' => HTML5::ENDTAG
- ));
+ if ($this->head_pointer->isSameNode(end($this->stack))) {
+ $this->inHead(
+ array(
+ 'name' => 'head',
+ 'type' => HTML5::ENDTAG
+ )
+ );
- /* Otherwise, change the insertion mode to "after head". */
+ /* Otherwise, change the insertion mode to "after head". */
} else {
$this->mode = self::AFTER_HEAD;
}
@@ -1575,66 +2110,74 @@ class HTML5TreeConstructer {
}
}
- private function afterHead($token) {
+ private function afterHead($token)
+ {
/* Handle the token as follows: */
/* A character token that is one of one of U+0009 CHARACTER TABULATION,
U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
or U+0020 SPACE */
- if($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
/* Append the character to the current node. */
$this->insertText($token['data']);
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the current node with the data attribute
set to the data given in the comment token. */
$this->insertComment($token['data']);
- /* A start tag token with the tag name "body" */
- } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'body') {
+ /* A start tag token with the tag name "body" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'body') {
/* Insert a body element for the token. */
$this->insertElement($token);
/* Change the insertion mode to "in body". */
$this->mode = self::IN_BODY;
- /* A start tag token with the tag name "frameset" */
- } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'frameset') {
+ /* A start tag token with the tag name "frameset" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'frameset') {
/* Insert a frameset element for the token. */
$this->insertElement($token);
/* Change the insertion mode to "in frameset". */
$this->mode = self::IN_FRAME;
- /* A start tag token whose tag name is one of: "base", "link", "meta",
- "script", "style", "title" */
- } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
- array('base', 'link', 'meta', 'script', 'style', 'title'))) {
+ /* A start tag token whose tag name is one of: "base", "link", "meta",
+ "script", "style", "title" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array('base', 'link', 'meta', 'script', 'style', 'title')
+ )
+ ) {
/* Parse error. Switch the insertion mode back to "in head" and
reprocess the token. */
$this->mode = self::IN_HEAD;
return $this->inHead($token);
- /* Anything else */
+ /* Anything else */
} else {
/* Act as if a start tag token with the tag name "body" and no
attributes had been seen, and then reprocess the current token. */
- $this->afterHead(array(
- 'name' => 'body',
- 'type' => HTML5::STARTTAG,
- 'attr' => array()
- ));
+ $this->afterHead(
+ array(
+ 'name' => 'body',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
return $this->inBody($token);
}
}
- private function inBody($token) {
+ private function inBody($token)
+ {
/* Handle the token as follows: */
- switch($token['type']) {
+ switch ($token['type']) {
/* A character token */
case HTML5::CHARACTR:
/* Reconstruct the active formatting elements, if any. */
@@ -1642,1015 +2185,1159 @@ class HTML5TreeConstructer {
/* Append the token's character to the current node. */
$this->insertText($token['data']);
- break;
+ break;
/* A comment token */
case HTML5::COMMENT:
/* Append a Comment node to the current node with the data
attribute set to the data given in the comment token. */
$this->insertComment($token['data']);
- break;
+ break;
case HTML5::STARTTAG:
- switch($token['name']) {
- /* A start tag token whose tag name is one of: "script",
- "style" */
- case 'script': case 'style':
- /* Process the token as if the insertion mode had been "in
- head". */
- return $this->inHead($token);
- break;
+ switch ($token['name']) {
+ /* A start tag token whose tag name is one of: "script",
+ "style" */
+ case 'script':
+ case 'style':
+ /* Process the token as if the insertion mode had been "in
+ head". */
+ return $this->inHead($token);
+ break;
- /* A start tag token whose tag name is one of: "base", "link",
- "meta", "title" */
- case 'base': case 'link': case 'meta': case 'title':
- /* Parse error. Process the token as if the insertion mode
- had been "in head". */
- return $this->inHead($token);
- break;
+ /* A start tag token whose tag name is one of: "base", "link",
+ "meta", "title" */
+ case 'base':
+ case 'link':
+ case 'meta':
+ case 'title':
+ /* Parse error. Process the token as if the insertion mode
+ had been "in head". */
+ return $this->inHead($token);
+ break;
- /* A start tag token with the tag name "body" */
- case 'body':
- /* Parse error. If the second element on the stack of open
- elements is not a body element, or, if the stack of open
- elements has only one node on it, then ignore the token.
- (innerHTML case) */
- if(count($this->stack) === 1 || $this->stack[1]->nodeName !== 'body') {
- // Ignore
-
- /* Otherwise, for each attribute on the token, check to see
- if the attribute is already present on the body element (the
- second element) on the stack of open elements. If it is not,
- add the attribute and its corresponding value to that
- element. */
- } else {
- foreach($token['attr'] as $attr) {
- if(!$this->stack[1]->hasAttribute($attr['name'])) {
- $this->stack[1]->setAttribute($attr['name'], $attr['value']);
+ /* A start tag token with the tag name "body" */
+ case 'body':
+ /* Parse error. If the second element on the stack of open
+ elements is not a body element, or, if the stack of open
+ elements has only one node on it, then ignore the token.
+ (innerHTML case) */
+ if (count($this->stack) === 1 || $this->stack[1]->nodeName !== 'body') {
+ // Ignore
+
+ /* Otherwise, for each attribute on the token, check to see
+ if the attribute is already present on the body element (the
+ second element) on the stack of open elements. If it is not,
+ add the attribute and its corresponding value to that
+ element. */
+ } else {
+ foreach ($token['attr'] as $attr) {
+ if (!$this->stack[1]->hasAttribute($attr['name'])) {
+ $this->stack[1]->setAttribute($attr['name'], $attr['value']);
+ }
}
}
- }
- break;
-
- /* A start tag whose tag name is one of: "address",
- "blockquote", "center", "dir", "div", "dl", "fieldset",
- "listing", "menu", "ol", "p", "ul" */
- case 'address': case 'blockquote': case 'center': case 'dir':
- case 'div': case 'dl': case 'fieldset': case 'listing':
- case 'menu': case 'ol': case 'p': case 'ul':
- /* If the stack of open elements has a p element in scope,
- then act as if an end tag with the tag name p had been
- seen. */
- if($this->elementInScope('p')) {
- $this->emitToken(array(
- 'name' => 'p',
- 'type' => HTML5::ENDTAG
- ));
- }
-
- /* Insert an HTML element for the token. */
- $this->insertElement($token);
- break;
+ break;
- /* A start tag whose tag name is "form" */
- case 'form':
- /* If the form element pointer is not null, ignore the
- token with a parse error. */
- if($this->form_pointer !== null) {
- // Ignore.
-
- /* Otherwise: */
- } else {
- /* If the stack of open elements has a p element in
- scope, then act as if an end tag with the tag name p
- had been seen. */
- if($this->elementInScope('p')) {
- $this->emitToken(array(
- 'name' => 'p',
- 'type' => HTML5::ENDTAG
- ));
+ /* A start tag whose tag name is one of: "address",
+ "blockquote", "center", "dir", "div", "dl", "fieldset",
+ "listing", "menu", "ol", "p", "ul" */
+ case 'address':
+ case 'blockquote':
+ case 'center':
+ case 'dir':
+ case 'div':
+ case 'dl':
+ case 'fieldset':
+ case 'listing':
+ case 'menu':
+ case 'ol':
+ case 'p':
+ case 'ul':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been
+ seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
}
- /* Insert an HTML element for the token, and set the
- form element pointer to point to the element created. */
- $element = $this->insertElement($token);
- $this->form_pointer = $element;
- }
- break;
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+ break;
- /* A start tag whose tag name is "li", "dd" or "dt" */
- case 'li': case 'dd': case 'dt':
- /* If the stack of open elements has a p element in scope,
- then act as if an end tag with the tag name p had been
- seen. */
- if($this->elementInScope('p')) {
- $this->emitToken(array(
- 'name' => 'p',
- 'type' => HTML5::ENDTAG
- ));
- }
+ /* A start tag whose tag name is "form" */
+ case 'form':
+ /* If the form element pointer is not null, ignore the
+ token with a parse error. */
+ if ($this->form_pointer !== null) {
+ // Ignore.
- $stack_length = count($this->stack) - 1;
-
- for($n = $stack_length; 0 <= $n; $n--) {
- /* 1. Initialise node to be the current node (the
- bottommost node of the stack). */
- $stop = false;
- $node = $this->stack[$n];
- $cat = $this->getElementCategory($node->tagName);
-
- /* 2. If node is an li, dd or dt element, then pop all
- the nodes from the current node up to node, including
- node, then stop this algorithm. */
- if($token['name'] === $node->tagName || ($token['name'] !== 'li'
- && ($node->tagName === 'dd' || $node->tagName === 'dt'))) {
- for($x = $stack_length; $x >= $n ; $x--) {
- array_pop($this->stack);
+ /* Otherwise: */
+ } else {
+ /* If the stack of open elements has a p element in
+ scope, then act as if an end tag with the tag name p
+ had been seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
}
- break;
+ /* Insert an HTML element for the token, and set the
+ form element pointer to point to the element created. */
+ $element = $this->insertElement($token);
+ $this->form_pointer = $element;
}
+ break;
- /* 3. If node is not in the formatting category, and is
- not in the phrasing category, and is not an address or
- div element, then stop this algorithm. */
- if($cat !== self::FORMATTING && $cat !== self::PHRASING &&
- $node->tagName !== 'address' && $node->tagName !== 'div') {
- break;
+ /* A start tag whose tag name is "li", "dd" or "dt" */
+ case 'li':
+ case 'dd':
+ case 'dt':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been
+ seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
}
- }
- /* Finally, insert an HTML element with the same tag
- name as the token's. */
- $this->insertElement($token);
- break;
+ $stack_length = count($this->stack) - 1;
+
+ for ($n = $stack_length; 0 <= $n; $n--) {
+ /* 1. Initialise node to be the current node (the
+ bottommost node of the stack). */
+ $stop = false;
+ $node = $this->stack[$n];
+ $cat = $this->getElementCategory($node->tagName);
+
+ /* 2. If node is an li, dd or dt element, then pop all
+ the nodes from the current node up to node, including
+ node, then stop this algorithm. */
+ if ($token['name'] === $node->tagName || ($token['name'] !== 'li'
+ && ($node->tagName === 'dd' || $node->tagName === 'dt'))
+ ) {
+ for ($x = $stack_length; $x >= $n; $x--) {
+ array_pop($this->stack);
+ }
- /* A start tag token whose tag name is "plaintext" */
- case 'plaintext':
- /* If the stack of open elements has a p element in scope,
- then act as if an end tag with the tag name p had been
- seen. */
- if($this->elementInScope('p')) {
- $this->emitToken(array(
- 'name' => 'p',
- 'type' => HTML5::ENDTAG
- ));
- }
+ break;
+ }
- /* Insert an HTML element for the token. */
- $this->insertElement($token);
+ /* 3. If node is not in the formatting category, and is
+ not in the phrasing category, and is not an address or
+ div element, then stop this algorithm. */
+ if ($cat !== self::FORMATTING && $cat !== self::PHRASING &&
+ $node->tagName !== 'address' && $node->tagName !== 'div'
+ ) {
+ break;
+ }
+ }
- return HTML5::PLAINTEXT;
- break;
+ /* Finally, insert an HTML element with the same tag
+ name as the token's. */
+ $this->insertElement($token);
+ break;
- /* A start tag whose tag name is one of: "h1", "h2", "h3", "h4",
- "h5", "h6" */
- case 'h1': case 'h2': case 'h3': case 'h4': case 'h5': case 'h6':
- /* If the stack of open elements has a p element in scope,
- then act as if an end tag with the tag name p had been seen. */
- if($this->elementInScope('p')) {
- $this->emitToken(array(
- 'name' => 'p',
- 'type' => HTML5::ENDTAG
- ));
- }
+ /* A start tag token whose tag name is "plaintext" */
+ case 'plaintext':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been
+ seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
- /* If the stack of open elements has in scope an element whose
- tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then
- this is a parse error; pop elements from the stack until an
- element with one of those tag names has been popped from the
- stack. */
- while($this->elementInScope(array('h1', 'h2', 'h3', 'h4', 'h5', 'h6'))) {
- array_pop($this->stack);
- }
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
- /* Insert an HTML element for the token. */
- $this->insertElement($token);
- break;
+ return HTML5::PLAINTEXT;
+ break;
- /* A start tag whose tag name is "a" */
- case 'a':
- /* If the list of active formatting elements contains
- an element whose tag name is "a" between the end of the
- list and the last marker on the list (or the start of
- the list if there is no marker on the list), then this
- is a parse error; act as if an end tag with the tag name
- "a" had been seen, then remove that element from the list
- of active formatting elements and the stack of open
- elements if the end tag didn't already remove it (it
- might not have if the element is not in table scope). */
- $leng = count($this->a_formatting);
-
- for($n = $leng - 1; $n >= 0; $n--) {
- if($this->a_formatting[$n] === self::MARKER) {
- break;
-
- } elseif($this->a_formatting[$n]->nodeName === 'a') {
- $this->emitToken(array(
- 'name' => 'a',
- 'type' => HTML5::ENDTAG
- ));
- break;
+ /* A start tag whose tag name is one of: "h1", "h2", "h3", "h4",
+ "h5", "h6" */
+ case 'h1':
+ case 'h2':
+ case 'h3':
+ case 'h4':
+ case 'h5':
+ case 'h6':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
}
- }
- /* Reconstruct the active formatting elements, if any. */
- $this->reconstructActiveFormattingElements();
+ /* If the stack of open elements has in scope an element whose
+ tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then
+ this is a parse error; pop elements from the stack until an
+ element with one of those tag names has been popped from the
+ stack. */
+ while ($this->elementInScope(array('h1', 'h2', 'h3', 'h4', 'h5', 'h6'))) {
+ array_pop($this->stack);
+ }
- /* Insert an HTML element for the token. */
- $el = $this->insertElement($token);
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+ break;
- /* Add that element to the list of active formatting
- elements. */
- $this->a_formatting[] = $el;
- break;
+ /* A start tag whose tag name is "a" */
+ case 'a':
+ /* If the list of active formatting elements contains
+ an element whose tag name is "a" between the end of the
+ list and the last marker on the list (or the start of
+ the list if there is no marker on the list), then this
+ is a parse error; act as if an end tag with the tag name
+ "a" had been seen, then remove that element from the list
+ of active formatting elements and the stack of open
+ elements if the end tag didn't already remove it (it
+ might not have if the element is not in table scope). */
+ $leng = count($this->a_formatting);
+
+ for ($n = $leng - 1; $n >= 0; $n--) {
+ if ($this->a_formatting[$n] === self::MARKER) {
+ break;
- /* A start tag whose tag name is one of: "b", "big", "em", "font",
- "i", "nobr", "s", "small", "strike", "strong", "tt", "u" */
- case 'b': case 'big': case 'em': case 'font': case 'i':
- case 'nobr': case 's': case 'small': case 'strike':
- case 'strong': case 'tt': case 'u':
- /* Reconstruct the active formatting elements, if any. */
- $this->reconstructActiveFormattingElements();
+ } elseif ($this->a_formatting[$n]->nodeName === 'a') {
+ $this->emitToken(
+ array(
+ 'name' => 'a',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ break;
+ }
+ }
- /* Insert an HTML element for the token. */
- $el = $this->insertElement($token);
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
- /* Add that element to the list of active formatting
- elements. */
- $this->a_formatting[] = $el;
- break;
+ /* Insert an HTML element for the token. */
+ $el = $this->insertElement($token);
- /* A start tag token whose tag name is "button" */
- case 'button':
- /* If the stack of open elements has a button element in scope,
- then this is a parse error; act as if an end tag with the tag
- name "button" had been seen, then reprocess the token. (We don't
- do that. Unnecessary.) */
- if($this->elementInScope('button')) {
- $this->inBody(array(
- 'name' => 'button',
- 'type' => HTML5::ENDTAG
- ));
- }
+ /* Add that element to the list of active formatting
+ elements. */
+ $this->a_formatting[] = $el;
+ break;
- /* Reconstruct the active formatting elements, if any. */
- $this->reconstructActiveFormattingElements();
+ /* A start tag whose tag name is one of: "b", "big", "em", "font",
+ "i", "nobr", "s", "small", "strike", "strong", "tt", "u" */
+ case 'b':
+ case 'big':
+ case 'em':
+ case 'font':
+ case 'i':
+ case 'nobr':
+ case 's':
+ case 'small':
+ case 'strike':
+ case 'strong':
+ case 'tt':
+ case 'u':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $el = $this->insertElement($token);
+
+ /* Add that element to the list of active formatting
+ elements. */
+ $this->a_formatting[] = $el;
+ break;
- /* Insert an HTML element for the token. */
- $this->insertElement($token);
+ /* A start tag token whose tag name is "button" */
+ case 'button':
+ /* If the stack of open elements has a button element in scope,
+ then this is a parse error; act as if an end tag with the tag
+ name "button" had been seen, then reprocess the token. (We don't
+ do that. Unnecessary.) */
+ if ($this->elementInScope('button')) {
+ $this->inBody(
+ array(
+ 'name' => 'button',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
- /* Insert a marker at the end of the list of active
- formatting elements. */
- $this->a_formatting[] = self::MARKER;
- break;
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
- /* A start tag token whose tag name is one of: "marquee", "object" */
- case 'marquee': case 'object':
- /* Reconstruct the active formatting elements, if any. */
- $this->reconstructActiveFormattingElements();
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
- /* Insert an HTML element for the token. */
- $this->insertElement($token);
+ /* Insert a marker at the end of the list of active
+ formatting elements. */
+ $this->a_formatting[] = self::MARKER;
+ break;
- /* Insert a marker at the end of the list of active
- formatting elements. */
- $this->a_formatting[] = self::MARKER;
- break;
+ /* A start tag token whose tag name is one of: "marquee", "object" */
+ case 'marquee':
+ case 'object':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
- /* A start tag token whose tag name is "xmp" */
- case 'xmp':
- /* Reconstruct the active formatting elements, if any. */
- $this->reconstructActiveFormattingElements();
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
- /* Insert an HTML element for the token. */
- $this->insertElement($token);
+ /* Insert a marker at the end of the list of active
+ formatting elements. */
+ $this->a_formatting[] = self::MARKER;
+ break;
- /* Switch the content model flag to the CDATA state. */
- return HTML5::CDATA;
- break;
+ /* A start tag token whose tag name is "xmp" */
+ case 'xmp':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
- /* A start tag whose tag name is "table" */
- case 'table':
- /* If the stack of open elements has a p element in scope,
- then act as if an end tag with the tag name p had been seen. */
- if($this->elementInScope('p')) {
- $this->emitToken(array(
- 'name' => 'p',
- 'type' => HTML5::ENDTAG
- ));
- }
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
- /* Insert an HTML element for the token. */
- $this->insertElement($token);
+ /* Switch the content model flag to the CDATA state. */
+ return HTML5::CDATA;
+ break;
- /* Change the insertion mode to "in table". */
- $this->mode = self::IN_TABLE;
- break;
+ /* A start tag whose tag name is "table" */
+ case 'table':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
- /* A start tag whose tag name is one of: "area", "basefont",
- "bgsound", "br", "embed", "img", "param", "spacer", "wbr" */
- case 'area': case 'basefont': case 'bgsound': case 'br':
- case 'embed': case 'img': case 'param': case 'spacer':
- case 'wbr':
- /* Reconstruct the active formatting elements, if any. */
- $this->reconstructActiveFormattingElements();
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
- /* Insert an HTML element for the token. */
- $this->insertElement($token);
+ /* Change the insertion mode to "in table". */
+ $this->mode = self::IN_TABLE;
+ break;
- /* Immediately pop the current node off the stack of open elements. */
- array_pop($this->stack);
- break;
+ /* A start tag whose tag name is one of: "area", "basefont",
+ "bgsound", "br", "embed", "img", "param", "spacer", "wbr" */
+ case 'area':
+ case 'basefont':
+ case 'bgsound':
+ case 'br':
+ case 'embed':
+ case 'img':
+ case 'param':
+ case 'spacer':
+ case 'wbr':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
+
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
+
+ /* Immediately pop the current node off the stack of open elements. */
+ array_pop($this->stack);
+ break;
- /* A start tag whose tag name is "hr" */
- case 'hr':
- /* If the stack of open elements has a p element in scope,
- then act as if an end tag with the tag name p had been seen. */
- if($this->elementInScope('p')) {
- $this->emitToken(array(
- 'name' => 'p',
- 'type' => HTML5::ENDTAG
- ));
- }
+ /* A start tag whose tag name is "hr" */
+ case 'hr':
+ /* If the stack of open elements has a p element in scope,
+ then act as if an end tag with the tag name p had been seen. */
+ if ($this->elementInScope('p')) {
+ $this->emitToken(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
- /* Insert an HTML element for the token. */
- $this->insertElement($token);
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
- /* Immediately pop the current node off the stack of open elements. */
- array_pop($this->stack);
- break;
+ /* Immediately pop the current node off the stack of open elements. */
+ array_pop($this->stack);
+ break;
- /* A start tag whose tag name is "image" */
- case 'image':
- /* Parse error. Change the token's tag name to "img" and
- reprocess it. (Don't ask.) */
- $token['name'] = 'img';
- return $this->inBody($token);
- break;
+ /* A start tag whose tag name is "image" */
+ case 'image':
+ /* Parse error. Change the token's tag name to "img" and
+ reprocess it. (Don't ask.) */
+ $token['name'] = 'img';
+ return $this->inBody($token);
+ break;
- /* A start tag whose tag name is "input" */
- case 'input':
- /* Reconstruct the active formatting elements, if any. */
- $this->reconstructActiveFormattingElements();
+ /* A start tag whose tag name is "input" */
+ case 'input':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
- /* Insert an input element for the token. */
- $element = $this->insertElement($token, false);
+ /* Insert an input element for the token. */
+ $element = $this->insertElement($token, false);
- /* If the form element pointer is not null, then associate the
- input element with the form element pointed to by the form
- element pointer. */
- $this->form_pointer !== null
- ? $this->form_pointer->appendChild($element)
- : end($this->stack)->appendChild($element);
+ /* If the form element pointer is not null, then associate the
+ input element with the form element pointed to by the form
+ element pointer. */
+ $this->form_pointer !== null
+ ? $this->form_pointer->appendChild($element)
+ : end($this->stack)->appendChild($element);
- /* Pop that input element off the stack of open elements. */
- array_pop($this->stack);
- break;
+ /* Pop that input element off the stack of open elements. */
+ array_pop($this->stack);
+ break;
- /* A start tag whose tag name is "isindex" */
- case 'isindex':
- /* Parse error. */
- // w/e
-
- /* If the form element pointer is not null,
- then ignore the token. */
- if($this->form_pointer === null) {
- /* Act as if a start tag token with the tag name "form" had
- been seen. */
- $this->inBody(array(
- 'name' => 'body',
- 'type' => HTML5::STARTTAG,
- 'attr' => array()
- ));
-
- /* Act as if a start tag token with the tag name "hr" had
- been seen. */
- $this->inBody(array(
- 'name' => 'hr',
- 'type' => HTML5::STARTTAG,
- 'attr' => array()
- ));
-
- /* Act as if a start tag token with the tag name "p" had
- been seen. */
- $this->inBody(array(
- 'name' => 'p',
- 'type' => HTML5::STARTTAG,
- 'attr' => array()
- ));
-
- /* Act as if a start tag token with the tag name "label"
- had been seen. */
- $this->inBody(array(
- 'name' => 'label',
- 'type' => HTML5::STARTTAG,
- 'attr' => array()
- ));
-
- /* Act as if a stream of character tokens had been seen. */
- $this->insertText('This is a searchable index. '.
- 'Insert your search keywords here: ');
-
- /* Act as if a start tag token with the tag name "input"
- had been seen, with all the attributes from the "isindex"
- token, except with the "name" attribute set to the value
- "isindex" (ignoring any explicit "name" attribute). */
- $attr = $token['attr'];
- $attr[] = array('name' => 'name', 'value' => 'isindex');
-
- $this->inBody(array(
- 'name' => 'input',
- 'type' => HTML5::STARTTAG,
- 'attr' => $attr
- ));
-
- /* Act as if a stream of character tokens had been seen
- (see below for what they should say). */
- $this->insertText('This is a searchable index. '.
- 'Insert your search keywords here: ');
-
- /* Act as if an end tag token with the tag name "label"
- had been seen. */
- $this->inBody(array(
- 'name' => 'label',
- 'type' => HTML5::ENDTAG
- ));
-
- /* Act as if an end tag token with the tag name "p" had
- been seen. */
- $this->inBody(array(
- 'name' => 'p',
- 'type' => HTML5::ENDTAG
- ));
-
- /* Act as if a start tag token with the tag name "hr" had
- been seen. */
- $this->inBody(array(
- 'name' => 'hr',
- 'type' => HTML5::ENDTAG
- ));
-
- /* Act as if an end tag token with the tag name "form" had
- been seen. */
- $this->inBody(array(
- 'name' => 'form',
- 'type' => HTML5::ENDTAG
- ));
- }
- break;
+ /* A start tag whose tag name is "isindex" */
+ case 'isindex':
+ /* Parse error. */
+ // w/e
- /* A start tag whose tag name is "textarea" */
- case 'textarea':
- $this->insertElement($token);
+ /* If the form element pointer is not null,
+ then ignore the token. */
+ if ($this->form_pointer === null) {
+ /* Act as if a start tag token with the tag name "form" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'body',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ /* Act as if a start tag token with the tag name "hr" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'hr',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ /* Act as if a start tag token with the tag name "p" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ /* Act as if a start tag token with the tag name "label"
+ had been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'label',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
+
+ /* Act as if a stream of character tokens had been seen. */
+ $this->insertText(
+ 'This is a searchable index. ' .
+ 'Insert your search keywords here: '
+ );
+
+ /* Act as if a start tag token with the tag name "input"
+ had been seen, with all the attributes from the "isindex"
+ token, except with the "name" attribute set to the value
+ "isindex" (ignoring any explicit "name" attribute). */
+ $attr = $token['attr'];
+ $attr[] = array('name' => 'name', 'value' => 'isindex');
+
+ $this->inBody(
+ array(
+ 'name' => 'input',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => $attr
+ )
+ );
+
+ /* Act as if a stream of character tokens had been seen
+ (see below for what they should say). */
+ $this->insertText(
+ 'This is a searchable index. ' .
+ 'Insert your search keywords here: '
+ );
+
+ /* Act as if an end tag token with the tag name "label"
+ had been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'label',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ /* Act as if an end tag token with the tag name "p" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'p',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ /* Act as if a start tag token with the tag name "hr" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'hr',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ /* Act as if an end tag token with the tag name "form" had
+ been seen. */
+ $this->inBody(
+ array(
+ 'name' => 'form',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+ }
+ break;
- /* Switch the tokeniser's content model flag to the
- RCDATA state. */
- return HTML5::RCDATA;
- break;
+ /* A start tag whose tag name is "textarea" */
+ case 'textarea':
+ $this->insertElement($token);
- /* A start tag whose tag name is one of: "iframe", "noembed",
- "noframes" */
- case 'iframe': case 'noembed': case 'noframes':
- $this->insertElement($token);
+ /* Switch the tokeniser's content model flag to the
+ RCDATA state. */
+ return HTML5::RCDATA;
+ break;
- /* Switch the tokeniser's content model flag to the CDATA state. */
- return HTML5::CDATA;
- break;
+ /* A start tag whose tag name is one of: "iframe", "noembed",
+ "noframes" */
+ case 'iframe':
+ case 'noembed':
+ case 'noframes':
+ $this->insertElement($token);
- /* A start tag whose tag name is "select" */
- case 'select':
- /* Reconstruct the active formatting elements, if any. */
- $this->reconstructActiveFormattingElements();
+ /* Switch the tokeniser's content model flag to the CDATA state. */
+ return HTML5::CDATA;
+ break;
- /* Insert an HTML element for the token. */
- $this->insertElement($token);
+ /* A start tag whose tag name is "select" */
+ case 'select':
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
- /* Change the insertion mode to "in select". */
- $this->mode = self::IN_SELECT;
- break;
+ /* Insert an HTML element for the token. */
+ $this->insertElement($token);
- /* A start or end tag whose tag name is one of: "caption", "col",
- "colgroup", "frame", "frameset", "head", "option", "optgroup",
- "tbody", "td", "tfoot", "th", "thead", "tr". */
- case 'caption': case 'col': case 'colgroup': case 'frame':
- case 'frameset': case 'head': case 'option': case 'optgroup':
- case 'tbody': case 'td': case 'tfoot': case 'th': case 'thead':
- case 'tr':
- // Parse error. Ignore the token.
- break;
+ /* Change the insertion mode to "in select". */
+ $this->mode = self::IN_SELECT;
+ break;
- /* A start or end tag whose tag name is one of: "event-source",
- "section", "nav", "article", "aside", "header", "footer",
- "datagrid", "command" */
- case 'event-source': case 'section': case 'nav': case 'article':
- case 'aside': case 'header': case 'footer': case 'datagrid':
- case 'command':
- // Work in progress!
- break;
+ /* A start or end tag whose tag name is one of: "caption", "col",
+ "colgroup", "frame", "frameset", "head", "option", "optgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr". */
+ case 'caption':
+ case 'col':
+ case 'colgroup':
+ case 'frame':
+ case 'frameset':
+ case 'head':
+ case 'option':
+ case 'optgroup':
+ case 'tbody':
+ case 'td':
+ case 'tfoot':
+ case 'th':
+ case 'thead':
+ case 'tr':
+ // Parse error. Ignore the token.
+ break;
- /* A start tag token not covered by the previous entries */
- default:
- /* Reconstruct the active formatting elements, if any. */
- $this->reconstructActiveFormattingElements();
+ /* A start or end tag whose tag name is one of: "event-source",
+ "section", "nav", "article", "aside", "header", "footer",
+ "datagrid", "command" */
+ case 'event-source':
+ case 'section':
+ case 'nav':
+ case 'article':
+ case 'aside':
+ case 'header':
+ case 'footer':
+ case 'datagrid':
+ case 'command':
+ // Work in progress!
+ break;
+
+ /* A start tag token not covered by the previous entries */
+ default:
+ /* Reconstruct the active formatting elements, if any. */
+ $this->reconstructActiveFormattingElements();
- $this->insertElement($token, true, true);
+ $this->insertElement($token, true, true);
+ break;
+ }
break;
- }
- break;
case HTML5::ENDTAG:
- switch($token['name']) {
- /* An end tag with the tag name "body" */
- case 'body':
- /* If the second element in the stack of open elements is
- not a body element, this is a parse error. Ignore the token.
- (innerHTML case) */
- if(count($this->stack) < 2 || $this->stack[1]->nodeName !== 'body') {
- // Ignore.
-
- /* If the current node is not the body element, then this
- is a parse error. */
- } elseif(end($this->stack)->nodeName !== 'body') {
- // Parse error.
- }
+ switch ($token['name']) {
+ /* An end tag with the tag name "body" */
+ case 'body':
+ /* If the second element in the stack of open elements is
+ not a body element, this is a parse error. Ignore the token.
+ (innerHTML case) */
+ if (count($this->stack) < 2 || $this->stack[1]->nodeName !== 'body') {
+ // Ignore.
+
+ /* If the current node is not the body element, then this
+ is a parse error. */
+ } elseif (end($this->stack)->nodeName !== 'body') {
+ // Parse error.
+ }
- /* Change the insertion mode to "after body". */
- $this->mode = self::AFTER_BODY;
- break;
+ /* Change the insertion mode to "after body". */
+ $this->mode = self::AFTER_BODY;
+ break;
- /* An end tag with the tag name "html" */
- case 'html':
- /* Act as if an end tag with tag name "body" had been seen,
- then, if that token wasn't ignored, reprocess the current
- token. */
- $this->inBody(array(
- 'name' => 'body',
- 'type' => HTML5::ENDTAG
- ));
+ /* An end tag with the tag name "html" */
+ case 'html':
+ /* Act as if an end tag with tag name "body" had been seen,
+ then, if that token wasn't ignored, reprocess the current
+ token. */
+ $this->inBody(
+ array(
+ 'name' => 'body',
+ 'type' => HTML5::ENDTAG
+ )
+ );
- return $this->afterBody($token);
- break;
+ return $this->afterBody($token);
+ break;
- /* An end tag whose tag name is one of: "address", "blockquote",
- "center", "dir", "div", "dl", "fieldset", "listing", "menu",
- "ol", "pre", "ul" */
- case 'address': case 'blockquote': case 'center': case 'dir':
- case 'div': case 'dl': case 'fieldset': case 'listing':
- case 'menu': case 'ol': case 'pre': case 'ul':
- /* If the stack of open elements has an element in scope
- with the same tag name as that of the token, then generate
- implied end tags. */
- if($this->elementInScope($token['name'])) {
- $this->generateImpliedEndTags();
-
- /* Now, if the current node is not an element with
- the same tag name as that of the token, then this
- is a parse error. */
- // w/e
+ /* An end tag whose tag name is one of: "address", "blockquote",
+ "center", "dir", "div", "dl", "fieldset", "listing", "menu",
+ "ol", "pre", "ul" */
+ case 'address':
+ case 'blockquote':
+ case 'center':
+ case 'dir':
+ case 'div':
+ case 'dl':
+ case 'fieldset':
+ case 'listing':
+ case 'menu':
+ case 'ol':
+ case 'pre':
+ case 'ul':
+ /* If the stack of open elements has an element in scope
+ with the same tag name as that of the token, then generate
+ implied end tags. */
+ if ($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags();
- /* If the stack of open elements has an element in
- scope with the same tag name as that of the token,
- then pop elements from this stack until an element
- with that tag name has been popped from the stack. */
- for($n = count($this->stack) - 1; $n >= 0; $n--) {
- if($this->stack[$n]->nodeName === $token['name']) {
- $n = -1;
+ /* Now, if the current node is not an element with
+ the same tag name as that of the token, then this
+ is a parse error. */
+ // w/e
+
+ /* If the stack of open elements has an element in
+ scope with the same tag name as that of the token,
+ then pop elements from this stack until an element
+ with that tag name has been popped from the stack. */
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->stack[$n]->nodeName === $token['name']) {
+ $n = -1;
+ }
+
+ array_pop($this->stack);
}
+ }
+ break;
+
+ /* An end tag whose tag name is "form" */
+ case 'form':
+ /* If the stack of open elements has an element in scope
+ with the same tag name as that of the token, then generate
+ implied end tags. */
+ if ($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags();
- array_pop($this->stack);
}
- }
- break;
- /* An end tag whose tag name is "form" */
- case 'form':
- /* If the stack of open elements has an element in scope
- with the same tag name as that of the token, then generate
- implied end tags. */
- if($this->elementInScope($token['name'])) {
- $this->generateImpliedEndTags();
+ if (end($this->stack)->nodeName !== $token['name']) {
+ /* Now, if the current node is not an element with the
+ same tag name as that of the token, then this is a parse
+ error. */
+ // w/e
- }
+ } else {
+ /* Otherwise, if the current node is an element with
+ the same tag name as that of the token pop that element
+ from the stack. */
+ array_pop($this->stack);
+ }
- if(end($this->stack)->nodeName !== $token['name']) {
- /* Now, if the current node is not an element with the
- same tag name as that of the token, then this is a parse
- error. */
- // w/e
+ /* In any case, set the form element pointer to null. */
+ $this->form_pointer = null;
+ break;
- } else {
- /* Otherwise, if the current node is an element with
- the same tag name as that of the token pop that element
- from the stack. */
- array_pop($this->stack);
- }
+ /* An end tag whose tag name is "p" */
+ case 'p':
+ /* If the stack of open elements has a p element in scope,
+ then generate implied end tags, except for p elements. */
+ if ($this->elementInScope('p')) {
+ $this->generateImpliedEndTags(array('p'));
- /* In any case, set the form element pointer to null. */
- $this->form_pointer = null;
- break;
+ /* If the current node is not a p element, then this is
+ a parse error. */
+ // k
- /* An end tag whose tag name is "p" */
- case 'p':
- /* If the stack of open elements has a p element in scope,
- then generate implied end tags, except for p elements. */
- if($this->elementInScope('p')) {
- $this->generateImpliedEndTags(array('p'));
-
- /* If the current node is not a p element, then this is
- a parse error. */
- // k
-
- /* If the stack of open elements has a p element in
- scope, then pop elements from this stack until the stack
- no longer has a p element in scope. */
- for($n = count($this->stack) - 1; $n >= 0; $n--) {
- if($this->elementInScope('p')) {
- array_pop($this->stack);
+ /* If the stack of open elements has a p element in
+ scope, then pop elements from this stack until the stack
+ no longer has a p element in scope. */
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->elementInScope('p')) {
+ array_pop($this->stack);
- } else {
- break;
+ } else {
+ break;
+ }
}
}
- }
- break;
-
- /* An end tag whose tag name is "dd", "dt", or "li" */
- case 'dd': case 'dt': case 'li':
- /* If the stack of open elements has an element in scope
- whose tag name matches the tag name of the token, then
- generate implied end tags, except for elements with the
- same tag name as the token. */
- if($this->elementInScope($token['name'])) {
- $this->generateImpliedEndTags(array($token['name']));
-
- /* If the current node is not an element with the same
- tag name as the token, then this is a parse error. */
- // w/e
+ break;
+ /* An end tag whose tag name is "dd", "dt", or "li" */
+ case 'dd':
+ case 'dt':
+ case 'li':
/* If the stack of open elements has an element in scope
whose tag name matches the tag name of the token, then
- pop elements from this stack until an element with that
- tag name has been popped from the stack. */
- for($n = count($this->stack) - 1; $n >= 0; $n--) {
- if($this->stack[$n]->nodeName === $token['name']) {
- $n = -1;
- }
+ generate implied end tags, except for elements with the
+ same tag name as the token. */
+ if ($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags(array($token['name']));
+
+ /* If the current node is not an element with the same
+ tag name as the token, then this is a parse error. */
+ // w/e
+
+ /* If the stack of open elements has an element in scope
+ whose tag name matches the tag name of the token, then
+ pop elements from this stack until an element with that
+ tag name has been popped from the stack. */
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->stack[$n]->nodeName === $token['name']) {
+ $n = -1;
+ }
- array_pop($this->stack);
+ array_pop($this->stack);
+ }
}
- }
- break;
-
- /* An end tag whose tag name is one of: "h1", "h2", "h3", "h4",
- "h5", "h6" */
- case 'h1': case 'h2': case 'h3': case 'h4': case 'h5': case 'h6':
- $elements = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6');
+ break;
- /* If the stack of open elements has in scope an element whose
- tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then
- generate implied end tags. */
- if($this->elementInScope($elements)) {
- $this->generateImpliedEndTags();
+ /* An end tag whose tag name is one of: "h1", "h2", "h3", "h4",
+ "h5", "h6" */
+ case 'h1':
+ case 'h2':
+ case 'h3':
+ case 'h4':
+ case 'h5':
+ case 'h6':
+ $elements = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6');
+
+ /* If the stack of open elements has in scope an element whose
+ tag name is one of "h1", "h2", "h3", "h4", "h5", or "h6", then
+ generate implied end tags. */
+ if ($this->elementInScope($elements)) {
+ $this->generateImpliedEndTags();
- /* Now, if the current node is not an element with the same
- tag name as that of the token, then this is a parse error. */
- // w/e
+ /* Now, if the current node is not an element with the same
+ tag name as that of the token, then this is a parse error. */
+ // w/e
- /* If the stack of open elements has in scope an element
- whose tag name is one of "h1", "h2", "h3", "h4", "h5", or
- "h6", then pop elements from the stack until an element
- with one of those tag names has been popped from the stack. */
- while($this->elementInScope($elements)) {
- array_pop($this->stack);
+ /* If the stack of open elements has in scope an element
+ whose tag name is one of "h1", "h2", "h3", "h4", "h5", or
+ "h6", then pop elements from the stack until an element
+ with one of those tag names has been popped from the stack. */
+ while ($this->elementInScope($elements)) {
+ array_pop($this->stack);
+ }
}
- }
- break;
+ break;
- /* An end tag whose tag name is one of: "a", "b", "big", "em",
- "font", "i", "nobr", "s", "small", "strike", "strong", "tt", "u" */
- case 'a': case 'b': case 'big': case 'em': case 'font':
- case 'i': case 'nobr': case 's': case 'small': case 'strike':
- case 'strong': case 'tt': case 'u':
- /* 1. Let the formatting element be the last element in
- the list of active formatting elements that:
- * is between the end of the list and the last scope
- marker in the list, if any, or the start of the list
- otherwise, and
- * has the same tag name as the token.
- */
- while(true) {
- for($a = count($this->a_formatting) - 1; $a >= 0; $a--) {
- if($this->a_formatting[$a] === self::MARKER) {
+ /* An end tag whose tag name is one of: "a", "b", "big", "em",
+ "font", "i", "nobr", "s", "small", "strike", "strong", "tt", "u" */
+ case 'a':
+ case 'b':
+ case 'big':
+ case 'em':
+ case 'font':
+ case 'i':
+ case 'nobr':
+ case 's':
+ case 'small':
+ case 'strike':
+ case 'strong':
+ case 'tt':
+ case 'u':
+ /* 1. Let the formatting element be the last element in
+ the list of active formatting elements that:
+ * is between the end of the list and the last scope
+ marker in the list, if any, or the start of the list
+ otherwise, and
+ * has the same tag name as the token.
+ */
+ while (true) {
+ for ($a = count($this->a_formatting) - 1; $a >= 0; $a--) {
+ if ($this->a_formatting[$a] === self::MARKER) {
+ break;
+
+ } elseif ($this->a_formatting[$a]->tagName === $token['name']) {
+ $formatting_element = $this->a_formatting[$a];
+ $in_stack = in_array($formatting_element, $this->stack, true);
+ $fe_af_pos = $a;
+ break;
+ }
+ }
+
+ /* If there is no such node, or, if that node is
+ also in the stack of open elements but the element
+ is not in scope, then this is a parse error. Abort
+ these steps. The token is ignored. */
+ if (!isset($formatting_element) || ($in_stack &&
+ !$this->elementInScope($token['name']))
+ ) {
break;
- } elseif($this->a_formatting[$a]->tagName === $token['name']) {
- $formatting_element = $this->a_formatting[$a];
- $in_stack = in_array($formatting_element, $this->stack, true);
- $fe_af_pos = $a;
+ /* Otherwise, if there is such a node, but that node
+ is not in the stack of open elements, then this is a
+ parse error; remove the element from the list, and
+ abort these steps. */
+ } elseif (isset($formatting_element) && !$in_stack) {
+ unset($this->a_formatting[$fe_af_pos]);
+ $this->a_formatting = array_merge($this->a_formatting);
break;
}
- }
-
- /* If there is no such node, or, if that node is
- also in the stack of open elements but the element
- is not in scope, then this is a parse error. Abort
- these steps. The token is ignored. */
- if(!isset($formatting_element) || ($in_stack &&
- !$this->elementInScope($token['name']))) {
- break;
-
- /* Otherwise, if there is such a node, but that node
- is not in the stack of open elements, then this is a
- parse error; remove the element from the list, and
- abort these steps. */
- } elseif(isset($formatting_element) && !$in_stack) {
- unset($this->a_formatting[$fe_af_pos]);
- $this->a_formatting = array_merge($this->a_formatting);
- break;
- }
- /* 2. Let the furthest block be the topmost node in the
- stack of open elements that is lower in the stack
- than the formatting element, and is not an element in
- the phrasing or formatting categories. There might
- not be one. */
- $fe_s_pos = array_search($formatting_element, $this->stack, true);
- $length = count($this->stack);
+ /* 2. Let the furthest block be the topmost node in the
+ stack of open elements that is lower in the stack
+ than the formatting element, and is not an element in
+ the phrasing or formatting categories. There might
+ not be one. */
+ $fe_s_pos = array_search($formatting_element, $this->stack, true);
+ $length = count($this->stack);
- for($s = $fe_s_pos + 1; $s < $length; $s++) {
- $category = $this->getElementCategory($this->stack[$s]->nodeName);
+ for ($s = $fe_s_pos + 1; $s < $length; $s++) {
+ $category = $this->getElementCategory($this->stack[$s]->nodeName);
- if($category !== self::PHRASING && $category !== self::FORMATTING) {
- $furthest_block = $this->stack[$s];
+ if ($category !== self::PHRASING && $category !== self::FORMATTING) {
+ $furthest_block = $this->stack[$s];
+ }
}
- }
- /* 3. If there is no furthest block, then the UA must
- skip the subsequent steps and instead just pop all
- the nodes from the bottom of the stack of open
- elements, from the current node up to the formatting
- element, and remove the formatting element from the
- list of active formatting elements. */
- if(!isset($furthest_block)) {
- for($n = $length - 1; $n >= $fe_s_pos; $n--) {
- array_pop($this->stack);
- }
+ /* 3. If there is no furthest block, then the UA must
+ skip the subsequent steps and instead just pop all
+ the nodes from the bottom of the stack of open
+ elements, from the current node up to the formatting
+ element, and remove the formatting element from the
+ list of active formatting elements. */
+ if (!isset($furthest_block)) {
+ for ($n = $length - 1; $n >= $fe_s_pos; $n--) {
+ array_pop($this->stack);
+ }
- unset($this->a_formatting[$fe_af_pos]);
- $this->a_formatting = array_merge($this->a_formatting);
- break;
- }
+ unset($this->a_formatting[$fe_af_pos]);
+ $this->a_formatting = array_merge($this->a_formatting);
+ break;
+ }
- /* 4. Let the common ancestor be the element
- immediately above the formatting element in the stack
- of open elements. */
- $common_ancestor = $this->stack[$fe_s_pos - 1];
+ /* 4. Let the common ancestor be the element
+ immediately above the formatting element in the stack
+ of open elements. */
+ $common_ancestor = $this->stack[$fe_s_pos - 1];
- /* 5. If the furthest block has a parent node, then
- remove the furthest block from its parent node. */
- if($furthest_block->parentNode !== null) {
- $furthest_block->parentNode->removeChild($furthest_block);
- }
+ /* 5. If the furthest block has a parent node, then
+ remove the furthest block from its parent node. */
+ if ($furthest_block->parentNode !== null) {
+ $furthest_block->parentNode->removeChild($furthest_block);
+ }
- /* 6. Let a bookmark note the position of the
- formatting element in the list of active formatting
- elements relative to the elements on either side
- of it in the list. */
- $bookmark = $fe_af_pos;
-
- /* 7. Let node and last node be the furthest block.
- Follow these steps: */
- $node = $furthest_block;
- $last_node = $furthest_block;
-
- while(true) {
- for($n = array_search($node, $this->stack, true) - 1; $n >= 0; $n--) {
- /* 7.1 Let node be the element immediately
- prior to node in the stack of open elements. */
- $node = $this->stack[$n];
-
- /* 7.2 If node is not in the list of active
- formatting elements, then remove node from
- the stack of open elements and then go back
- to step 1. */
- if(!in_array($node, $this->a_formatting, true)) {
- unset($this->stack[$n]);
- $this->stack = array_merge($this->stack);
+ /* 6. Let a bookmark note the position of the
+ formatting element in the list of active formatting
+ elements relative to the elements on either side
+ of it in the list. */
+ $bookmark = $fe_af_pos;
+
+ /* 7. Let node and last node be the furthest block.
+ Follow these steps: */
+ $node = $furthest_block;
+ $last_node = $furthest_block;
+
+ while (true) {
+ for ($n = array_search($node, $this->stack, true) - 1; $n >= 0; $n--) {
+ /* 7.1 Let node be the element immediately
+ prior to node in the stack of open elements. */
+ $node = $this->stack[$n];
+
+ /* 7.2 If node is not in the list of active
+ formatting elements, then remove node from
+ the stack of open elements and then go back
+ to step 1. */
+ if (!in_array($node, $this->a_formatting, true)) {
+ unset($this->stack[$n]);
+ $this->stack = array_merge($this->stack);
+
+ } else {
+ break;
+ }
+ }
- } else {
+ /* 7.3 Otherwise, if node is the formatting
+ element, then go to the next step in the overall
+ algorithm. */
+ if ($node === $formatting_element) {
break;
+
+ /* 7.4 Otherwise, if last node is the furthest
+ block, then move the aforementioned bookmark to
+ be immediately after the node in the list of
+ active formatting elements. */
+ } elseif ($last_node === $furthest_block) {
+ $bookmark = array_search($node, $this->a_formatting, true) + 1;
}
- }
- /* 7.3 Otherwise, if node is the formatting
- element, then go to the next step in the overall
- algorithm. */
- if($node === $formatting_element) {
- break;
+ /* 7.5 If node has any children, perform a
+ shallow clone of node, replace the entry for
+ node in the list of active formatting elements
+ with an entry for the clone, replace the entry
+ for node in the stack of open elements with an
+ entry for the clone, and let node be the clone. */
+ if ($node->hasChildNodes()) {
+ $clone = $node->cloneNode();
+ $s_pos = array_search($node, $this->stack, true);
+ $a_pos = array_search($node, $this->a_formatting, true);
+
+ $this->stack[$s_pos] = $clone;
+ $this->a_formatting[$a_pos] = $clone;
+ $node = $clone;
+ }
- /* 7.4 Otherwise, if last node is the furthest
- block, then move the aforementioned bookmark to
- be immediately after the node in the list of
- active formatting elements. */
- } elseif($last_node === $furthest_block) {
- $bookmark = array_search($node, $this->a_formatting, true) + 1;
- }
+ /* 7.6 Insert last node into node, first removing
+ it from its previous parent node if any. */
+ if ($last_node->parentNode !== null) {
+ $last_node->parentNode->removeChild($last_node);
+ }
+
+ $node->appendChild($last_node);
- /* 7.5 If node has any children, perform a
- shallow clone of node, replace the entry for
- node in the list of active formatting elements
- with an entry for the clone, replace the entry
- for node in the stack of open elements with an
- entry for the clone, and let node be the clone. */
- if($node->hasChildNodes()) {
- $clone = $node->cloneNode();
- $s_pos = array_search($node, $this->stack, true);
- $a_pos = array_search($node, $this->a_formatting, true);
-
- $this->stack[$s_pos] = $clone;
- $this->a_formatting[$a_pos] = $clone;
- $node = $clone;
+ /* 7.7 Let last node be node. */
+ $last_node = $node;
}
- /* 7.6 Insert last node into node, first removing
- it from its previous parent node if any. */
- if($last_node->parentNode !== null) {
+ /* 8. Insert whatever last node ended up being in
+ the previous step into the common ancestor node,
+ first removing it from its previous parent node if
+ any. */
+ if ($last_node->parentNode !== null) {
$last_node->parentNode->removeChild($last_node);
}
- $node->appendChild($last_node);
+ $common_ancestor->appendChild($last_node);
- /* 7.7 Let last node be node. */
- $last_node = $node;
- }
+ /* 9. Perform a shallow clone of the formatting
+ element. */
+ $clone = $formatting_element->cloneNode();
- /* 8. Insert whatever last node ended up being in
- the previous step into the common ancestor node,
- first removing it from its previous parent node if
- any. */
- if($last_node->parentNode !== null) {
- $last_node->parentNode->removeChild($last_node);
- }
+ /* 10. Take all of the child nodes of the furthest
+ block and append them to the clone created in the
+ last step. */
+ while ($furthest_block->hasChildNodes()) {
+ $child = $furthest_block->firstChild;
+ $furthest_block->removeChild($child);
+ $clone->appendChild($child);
+ }
- $common_ancestor->appendChild($last_node);
+ /* 11. Append that clone to the furthest block. */
+ $furthest_block->appendChild($clone);
- /* 9. Perform a shallow clone of the formatting
- element. */
- $clone = $formatting_element->cloneNode();
+ /* 12. Remove the formatting element from the list
+ of active formatting elements, and insert the clone
+ into the list of active formatting elements at the
+ position of the aforementioned bookmark. */
+ $fe_af_pos = array_search($formatting_element, $this->a_formatting, true);
+ unset($this->a_formatting[$fe_af_pos]);
+ $this->a_formatting = array_merge($this->a_formatting);
- /* 10. Take all of the child nodes of the furthest
- block and append them to the clone created in the
- last step. */
- while($furthest_block->hasChildNodes()) {
- $child = $furthest_block->firstChild;
- $furthest_block->removeChild($child);
- $clone->appendChild($child);
+ $af_part1 = array_slice($this->a_formatting, 0, $bookmark - 1);
+ $af_part2 = array_slice($this->a_formatting, $bookmark, count($this->a_formatting));
+ $this->a_formatting = array_merge($af_part1, array($clone), $af_part2);
+
+ /* 13. Remove the formatting element from the stack
+ of open elements, and insert the clone into the stack
+ of open elements immediately after (i.e. in a more
+ deeply nested position than) the position of the
+ furthest block in that stack. */
+ $fe_s_pos = array_search($formatting_element, $this->stack, true);
+ $fb_s_pos = array_search($furthest_block, $this->stack, true);
+ unset($this->stack[$fe_s_pos]);
+
+ $s_part1 = array_slice($this->stack, 0, $fb_s_pos);
+ $s_part2 = array_slice($this->stack, $fb_s_pos + 1, count($this->stack));
+ $this->stack = array_merge($s_part1, array($clone), $s_part2);
+
+ /* 14. Jump back to step 1 in this series of steps. */
+ unset($formatting_element, $fe_af_pos, $fe_s_pos, $furthest_block);
}
+ break;
- /* 11. Append that clone to the furthest block. */
- $furthest_block->appendChild($clone);
-
- /* 12. Remove the formatting element from the list
- of active formatting elements, and insert the clone
- into the list of active formatting elements at the
- position of the aforementioned bookmark. */
- $fe_af_pos = array_search($formatting_element, $this->a_formatting, true);
- unset($this->a_formatting[$fe_af_pos]);
- $this->a_formatting = array_merge($this->a_formatting);
-
- $af_part1 = array_slice($this->a_formatting, 0, $bookmark - 1);
- $af_part2 = array_slice($this->a_formatting, $bookmark, count($this->a_formatting));
- $this->a_formatting = array_merge($af_part1, array($clone), $af_part2);
-
- /* 13. Remove the formatting element from the stack
- of open elements, and insert the clone into the stack
- of open elements immediately after (i.e. in a more
- deeply nested position than) the position of the
- furthest block in that stack. */
- $fe_s_pos = array_search($formatting_element, $this->stack, true);
- $fb_s_pos = array_search($furthest_block, $this->stack, true);
- unset($this->stack[$fe_s_pos]);
-
- $s_part1 = array_slice($this->stack, 0, $fb_s_pos);
- $s_part2 = array_slice($this->stack, $fb_s_pos + 1, count($this->stack));
- $this->stack = array_merge($s_part1, array($clone), $s_part2);
-
- /* 14. Jump back to step 1 in this series of steps. */
- unset($formatting_element, $fe_af_pos, $fe_s_pos, $furthest_block);
- }
- break;
+ /* An end tag token whose tag name is one of: "button",
+ "marquee", "object" */
+ case 'button':
+ case 'marquee':
+ case 'object':
+ /* If the stack of open elements has an element in scope whose
+ tag name matches the tag name of the token, then generate implied
+ tags. */
+ if ($this->elementInScope($token['name'])) {
+ $this->generateImpliedEndTags();
- /* An end tag token whose tag name is one of: "button",
- "marquee", "object" */
- case 'button': case 'marquee': case 'object':
- /* If the stack of open elements has an element in scope whose
- tag name matches the tag name of the token, then generate implied
- tags. */
- if($this->elementInScope($token['name'])) {
- $this->generateImpliedEndTags();
-
- /* Now, if the current node is not an element with the same
- tag name as the token, then this is a parse error. */
- // k
-
- /* Now, if the stack of open elements has an element in scope
- whose tag name matches the tag name of the token, then pop
- elements from the stack until that element has been popped from
- the stack, and clear the list of active formatting elements up
- to the last marker. */
- for($n = count($this->stack) - 1; $n >= 0; $n--) {
- if($this->stack[$n]->nodeName === $token['name']) {
- $n = -1;
- }
+ /* Now, if the current node is not an element with the same
+ tag name as the token, then this is a parse error. */
+ // k
- array_pop($this->stack);
- }
+ /* Now, if the stack of open elements has an element in scope
+ whose tag name matches the tag name of the token, then pop
+ elements from the stack until that element has been popped from
+ the stack, and clear the list of active formatting elements up
+ to the last marker. */
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->stack[$n]->nodeName === $token['name']) {
+ $n = -1;
+ }
- $marker = end(array_keys($this->a_formatting, self::MARKER, true));
+ array_pop($this->stack);
+ }
- for($n = count($this->a_formatting) - 1; $n > $marker; $n--) {
- array_pop($this->a_formatting);
- }
- }
- break;
+ $marker = end(array_keys($this->a_formatting, self::MARKER, true));
- /* Or an end tag whose tag name is one of: "area", "basefont",
- "bgsound", "br", "embed", "hr", "iframe", "image", "img",
- "input", "isindex", "noembed", "noframes", "param", "select",
- "spacer", "table", "textarea", "wbr" */
- case 'area': case 'basefont': case 'bgsound': case 'br':
- case 'embed': case 'hr': case 'iframe': case 'image':
- case 'img': case 'input': case 'isindex': case 'noembed':
- case 'noframes': case 'param': case 'select': case 'spacer':
- case 'table': case 'textarea': case 'wbr':
- // Parse error. Ignore the token.
- break;
+ for ($n = count($this->a_formatting) - 1; $n > $marker; $n--) {
+ array_pop($this->a_formatting);
+ }
+ }
+ break;
- /* An end tag token not covered by the previous entries */
- default:
- for($n = count($this->stack) - 1; $n >= 0; $n--) {
- /* Initialise node to be the current node (the bottommost
- node of the stack). */
- $node = end($this->stack);
-
- /* If node has the same tag name as the end tag token,
- then: */
- if($token['name'] === $node->nodeName) {
- /* Generate implied end tags. */
- $this->generateImpliedEndTags();
+ /* Or an end tag whose tag name is one of: "area", "basefont",
+ "bgsound", "br", "embed", "hr", "iframe", "image", "img",
+ "input", "isindex", "noembed", "noframes", "param", "select",
+ "spacer", "table", "textarea", "wbr" */
+ case 'area':
+ case 'basefont':
+ case 'bgsound':
+ case 'br':
+ case 'embed':
+ case 'hr':
+ case 'iframe':
+ case 'image':
+ case 'img':
+ case 'input':
+ case 'isindex':
+ case 'noembed':
+ case 'noframes':
+ case 'param':
+ case 'select':
+ case 'spacer':
+ case 'table':
+ case 'textarea':
+ case 'wbr':
+ // Parse error. Ignore the token.
+ break;
- /* If the tag name of the end tag token does not
- match the tag name of the current node, this is a
- parse error. */
- // k
+ /* An end tag token not covered by the previous entries */
+ default:
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ /* Initialise node to be the current node (the bottommost
+ node of the stack). */
+ $node = end($this->stack);
+
+ /* If node has the same tag name as the end tag token,
+ then: */
+ if ($token['name'] === $node->nodeName) {
+ /* Generate implied end tags. */
+ $this->generateImpliedEndTags();
+
+ /* If the tag name of the end tag token does not
+ match the tag name of the current node, this is a
+ parse error. */
+ // k
+
+ /* Pop all the nodes from the current node up to
+ node, including node, then stop this algorithm. */
+ for ($x = count($this->stack) - $n; $x >= $n; $x--) {
+ array_pop($this->stack);
+ }
- /* Pop all the nodes from the current node up to
- node, including node, then stop this algorithm. */
- for($x = count($this->stack) - $n; $x >= $n; $x--) {
- array_pop($this->stack);
- }
-
- } else {
- $category = $this->getElementCategory($node);
-
- if($category !== self::SPECIAL && $category !== self::SCOPING) {
- /* Otherwise, if node is in neither the formatting
- category nor the phrasing category, then this is a
- parse error. Stop this algorithm. The end tag token
- is ignored. */
- return false;
+ } else {
+ $category = $this->getElementCategory($node);
+
+ if ($category !== self::SPECIAL && $category !== self::SCOPING) {
+ /* Otherwise, if node is in neither the formatting
+ category nor the phrasing category, then this is a
+ parse error. Stop this algorithm. The end tag token
+ is ignored. */
+ return false;
+ }
}
}
- }
+ break;
+ }
break;
- }
- break;
}
}
- private function inTable($token) {
+ private function inTable($token)
+ {
$clear = array('html', 'table');
/* A character token that is one of one of U+0009 CHARACTER TABULATION,
U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
or U+0020 SPACE */
- if($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
/* Append the character to the current node. */
$text = $this->dom->createTextNode($token['data']);
end($this->stack)->appendChild($text);
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the current node with the data
attribute set to the data given in the comment token. */
$comment = $this->dom->createComment($token['data']);
end($this->stack)->appendChild($comment);
- /* A start tag whose tag name is "caption" */
- } elseif($token['type'] === HTML5::STARTTAG &&
- $token['name'] === 'caption') {
+ /* A start tag whose tag name is "caption" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'caption'
+ ) {
/* Clear the stack back to a table context. */
$this->clearStackToTableContext($clear);
@@ -2663,9 +3350,10 @@ class HTML5TreeConstructer {
$this->insertElement($token);
$this->mode = self::IN_CAPTION;
- /* A start tag whose tag name is "colgroup" */
- } elseif($token['type'] === HTML5::STARTTAG &&
- $token['name'] === 'colgroup') {
+ /* A start tag whose tag name is "colgroup" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'colgroup'
+ ) {
/* Clear the stack back to a table context. */
$this->clearStackToTableContext($clear);
@@ -2674,20 +3362,26 @@ class HTML5TreeConstructer {
$this->insertElement($token);
$this->mode = self::IN_CGROUP;
- /* A start tag whose tag name is "col" */
- } elseif($token['type'] === HTML5::STARTTAG &&
- $token['name'] === 'col') {
- $this->inTable(array(
- 'name' => 'colgroup',
- 'type' => HTML5::STARTTAG,
- 'attr' => array()
- ));
+ /* A start tag whose tag name is "col" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'col'
+ ) {
+ $this->inTable(
+ array(
+ 'name' => 'colgroup',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
$this->inColumnGroup($token);
- /* A start tag whose tag name is one of: "tbody", "tfoot", "thead" */
- } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
- array('tbody', 'tfoot', 'thead'))) {
+ /* A start tag whose tag name is one of: "tbody", "tfoot", "thead" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array('tbody', 'tfoot', 'thead')
+ )
+ ) {
/* Clear the stack back to a table context. */
$this->clearStackToTableContext($clear);
@@ -2696,42 +3390,49 @@ class HTML5TreeConstructer {
$this->insertElement($token);
$this->mode = self::IN_TBODY;
- /* A start tag whose tag name is one of: "td", "th", "tr" */
- } elseif($token['type'] === HTML5::STARTTAG &&
- in_array($token['name'], array('td', 'th', 'tr'))) {
+ /* A start tag whose tag name is one of: "td", "th", "tr" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ in_array($token['name'], array('td', 'th', 'tr'))
+ ) {
/* Act as if a start tag token with the tag name "tbody" had been
seen, then reprocess the current token. */
- $this->inTable(array(
- 'name' => 'tbody',
- 'type' => HTML5::STARTTAG,
- 'attr' => array()
- ));
+ $this->inTable(
+ array(
+ 'name' => 'tbody',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
return $this->inTableBody($token);
- /* A start tag whose tag name is "table" */
- } elseif($token['type'] === HTML5::STARTTAG &&
- $token['name'] === 'table') {
+ /* A start tag whose tag name is "table" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'table'
+ ) {
/* Parse error. Act as if an end tag token with the tag name "table"
had been seen, then, if that token wasn't ignored, reprocess the
current token. */
- $this->inTable(array(
- 'name' => 'table',
- 'type' => HTML5::ENDTAG
- ));
+ $this->inTable(
+ array(
+ 'name' => 'table',
+ 'type' => HTML5::ENDTAG
+ )
+ );
return $this->mainPhase($token);
- /* An end tag whose tag name is "table" */
- } elseif($token['type'] === HTML5::ENDTAG &&
- $token['name'] === 'table') {
+ /* An end tag whose tag name is "table" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'table'
+ ) {
/* If the stack of open elements does not have an element in table
scope with the same tag name as the token, this is a parse error.
Ignore the token. (innerHTML case) */
- if(!$this->elementInScope($token['name'], true)) {
+ if (!$this->elementInScope($token['name'], true)) {
return false;
- /* Otherwise: */
+ /* Otherwise: */
} else {
/* Generate implied end tags. */
$this->generateImpliedEndTags();
@@ -2742,11 +3443,11 @@ class HTML5TreeConstructer {
/* Pop elements from this stack until a table element has been
popped from the stack. */
- while(true) {
+ while (true) {
$current = end($this->stack)->nodeName;
array_pop($this->stack);
- if($current === 'table') {
+ if ($current === 'table') {
break;
}
}
@@ -2755,14 +3456,28 @@ class HTML5TreeConstructer {
$this->resetInsertionMode();
}
- /* An end tag whose tag name is one of: "body", "caption", "col",
- "colgroup", "html", "tbody", "td", "tfoot", "th", "thead", "tr" */
- } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
- array('body', 'caption', 'col', 'colgroup', 'html', 'tbody', 'td',
- 'tfoot', 'th', 'thead', 'tr'))) {
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html", "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array(
+ 'body',
+ 'caption',
+ 'col',
+ 'colgroup',
+ 'html',
+ 'tbody',
+ 'td',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr'
+ )
+ )
+ ) {
// Parse error. Ignore the token.
- /* Anything else */
+ /* Anything else */
} else {
/* Parse error. Process the token as if the insertion mode was "in
body", with the following exception: */
@@ -2770,8 +3485,11 @@ class HTML5TreeConstructer {
/* If the current node is a table, tbody, tfoot, thead, or tr
element, then, whenever a node would be inserted into the current
node, it must instead be inserted into the foster parent element. */
- if(in_array(end($this->stack)->nodeName,
- array('table', 'tbody', 'tfoot', 'thead', 'tr'))) {
+ if (in_array(
+ end($this->stack)->nodeName,
+ array('table', 'tbody', 'tfoot', 'thead', 'tr')
+ )
+ ) {
/* The foster parent element is the parent element of the last
table element in the stack of open elements, if there is a
table element and it has such a parent element. If there is no
@@ -2783,21 +3501,22 @@ class HTML5TreeConstructer {
its parent node is not an element, then the foster parent
element is the element before the last table element in the
stack of open elements. */
- for($n = count($this->stack) - 1; $n >= 0; $n--) {
- if($this->stack[$n]->nodeName === 'table') {
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->stack[$n]->nodeName === 'table') {
$table = $this->stack[$n];
break;
}
}
- if(isset($table) && $table->parentNode !== null) {
+ if (isset($table) && $table->parentNode !== null) {
$this->foster_parent = $table->parentNode;
- } elseif(!isset($table)) {
+ } elseif (!isset($table)) {
$this->foster_parent = $this->stack[0];
- } elseif(isset($table) && ($table->parentNode === null ||
- $table->parentNode->nodeType !== XML_ELEMENT_NODE)) {
+ } elseif (isset($table) && ($table->parentNode === null ||
+ $table->parentNode->nodeType !== XML_ELEMENT_NODE)
+ ) {
$this->foster_parent = $this->stack[$n - 1];
}
}
@@ -2806,16 +3525,17 @@ class HTML5TreeConstructer {
}
}
- private function inCaption($token) {
+ private function inCaption($token)
+ {
/* An end tag whose tag name is "caption" */
- if($token['type'] === HTML5::ENDTAG && $token['name'] === 'caption') {
+ if ($token['type'] === HTML5::ENDTAG && $token['name'] === 'caption') {
/* If the stack of open elements does not have an element in table
scope with the same tag name as the token, this is a parse error.
Ignore the token. (innerHTML case) */
- if(!$this->elementInScope($token['name'], true)) {
+ if (!$this->elementInScope($token['name'], true)) {
// Ignore
- /* Otherwise: */
+ /* Otherwise: */
} else {
/* Generate implied end tags. */
$this->generateImpliedEndTags();
@@ -2826,11 +3546,11 @@ class HTML5TreeConstructer {
/* Pop elements from this stack until a caption element has
been popped from the stack. */
- while(true) {
+ while (true) {
$node = end($this->stack)->nodeName;
array_pop($this->stack);
- if($node === 'caption') {
+ if ($node === 'caption') {
break;
}
}
@@ -2843,99 +3563,131 @@ class HTML5TreeConstructer {
$this->mode = self::IN_TABLE;
}
- /* A start tag whose tag name is one of: "caption", "col", "colgroup",
- "tbody", "td", "tfoot", "th", "thead", "tr", or an end tag whose tag
- name is "table" */
- } elseif(($token['type'] === HTML5::STARTTAG && in_array($token['name'],
- array('caption', 'col', 'colgroup', 'tbody', 'td', 'tfoot', 'th',
- 'thead', 'tr'))) || ($token['type'] === HTML5::ENDTAG &&
- $token['name'] === 'table')) {
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr", or an end tag whose tag
+ name is "table" */
+ } elseif (($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array(
+ 'caption',
+ 'col',
+ 'colgroup',
+ 'tbody',
+ 'td',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr'
+ )
+ )) || ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'table')
+ ) {
/* Parse error. Act as if an end tag with the tag name "caption"
had been seen, then, if that token wasn't ignored, reprocess the
current token. */
- $this->inCaption(array(
- 'name' => 'caption',
- 'type' => HTML5::ENDTAG
- ));
+ $this->inCaption(
+ array(
+ 'name' => 'caption',
+ 'type' => HTML5::ENDTAG
+ )
+ );
return $this->inTable($token);
- /* An end tag whose tag name is one of: "body", "col", "colgroup",
- "html", "tbody", "td", "tfoot", "th", "thead", "tr" */
- } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
- array('body', 'col', 'colgroup', 'html', 'tbody', 'tfoot', 'th',
- 'thead', 'tr'))) {
+ /* An end tag whose tag name is one of: "body", "col", "colgroup",
+ "html", "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array(
+ 'body',
+ 'col',
+ 'colgroup',
+ 'html',
+ 'tbody',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr'
+ )
+ )
+ ) {
// Parse error. Ignore the token.
- /* Anything else */
+ /* Anything else */
} else {
/* Process the token as if the insertion mode was "in body". */
$this->inBody($token);
}
}
- private function inColumnGroup($token) {
+ private function inColumnGroup($token)
+ {
/* A character token that is one of one of U+0009 CHARACTER TABULATION,
U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
or U+0020 SPACE */
- if($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
/* Append the character to the current node. */
$text = $this->dom->createTextNode($token['data']);
end($this->stack)->appendChild($text);
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the current node with the data
attribute set to the data given in the comment token. */
$comment = $this->dom->createComment($token['data']);
end($this->stack)->appendChild($comment);
- /* A start tag whose tag name is "col" */
- } elseif($token['type'] === HTML5::STARTTAG && $token['name'] === 'col') {
+ /* A start tag whose tag name is "col" */
+ } elseif ($token['type'] === HTML5::STARTTAG && $token['name'] === 'col') {
/* Insert a col element for the token. Immediately pop the current
node off the stack of open elements. */
$this->insertElement($token);
array_pop($this->stack);
- /* An end tag whose tag name is "colgroup" */
- } elseif($token['type'] === HTML5::ENDTAG &&
- $token['name'] === 'colgroup') {
+ /* An end tag whose tag name is "colgroup" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'colgroup'
+ ) {
/* If the current node is the root html element, then this is a
parse error, ignore the token. (innerHTML case) */
- if(end($this->stack)->nodeName === 'html') {
+ if (end($this->stack)->nodeName === 'html') {
// Ignore
- /* Otherwise, pop the current node (which will be a colgroup
- element) from the stack of open elements. Switch the insertion
- mode to "in table". */
+ /* Otherwise, pop the current node (which will be a colgroup
+ element) from the stack of open elements. Switch the insertion
+ mode to "in table". */
} else {
array_pop($this->stack);
$this->mode = self::IN_TABLE;
}
- /* An end tag whose tag name is "col" */
- } elseif($token['type'] === HTML5::ENDTAG && $token['name'] === 'col') {
+ /* An end tag whose tag name is "col" */
+ } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'col') {
/* Parse error. Ignore the token. */
- /* Anything else */
+ /* Anything else */
} else {
/* Act as if an end tag with the tag name "colgroup" had been seen,
and then, if that token wasn't ignored, reprocess the current token. */
- $this->inColumnGroup(array(
- 'name' => 'colgroup',
- 'type' => HTML5::ENDTAG
- ));
+ $this->inColumnGroup(
+ array(
+ 'name' => 'colgroup',
+ 'type' => HTML5::ENDTAG
+ )
+ );
return $this->inTable($token);
}
}
- private function inTableBody($token) {
+ private function inTableBody($token)
+ {
$clear = array('tbody', 'tfoot', 'thead', 'html');
/* A start tag whose tag name is "tr" */
- if($token['type'] === HTML5::STARTTAG && $token['name'] === 'tr') {
+ if ($token['type'] === HTML5::STARTTAG && $token['name'] === 'tr') {
/* Clear the stack back to a table body context. */
$this->clearStackToTableContext($clear);
@@ -2944,29 +3696,33 @@ class HTML5TreeConstructer {
$this->insertElement($token);
$this->mode = self::IN_ROW;
- /* A start tag whose tag name is one of: "th", "td" */
- } elseif($token['type'] === HTML5::STARTTAG &&
- ($token['name'] === 'th' || $token['name'] === 'td')) {
+ /* A start tag whose tag name is one of: "th", "td" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ ($token['name'] === 'th' || $token['name'] === 'td')
+ ) {
/* Parse error. Act as if a start tag with the tag name "tr" had
been seen, then reprocess the current token. */
- $this->inTableBody(array(
- 'name' => 'tr',
- 'type' => HTML5::STARTTAG,
- 'attr' => array()
- ));
+ $this->inTableBody(
+ array(
+ 'name' => 'tr',
+ 'type' => HTML5::STARTTAG,
+ 'attr' => array()
+ )
+ );
return $this->inRow($token);
- /* An end tag whose tag name is one of: "tbody", "tfoot", "thead" */
- } elseif($token['type'] === HTML5::ENDTAG &&
- in_array($token['name'], array('tbody', 'tfoot', 'thead'))) {
+ /* An end tag whose tag name is one of: "tbody", "tfoot", "thead" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ in_array($token['name'], array('tbody', 'tfoot', 'thead'))
+ ) {
/* If the stack of open elements does not have an element in table
scope with the same tag name as the token, this is a parse error.
Ignore the token. */
- if(!$this->elementInScope($token['name'], true)) {
+ if (!$this->elementInScope($token['name'], true)) {
// Ignore
- /* Otherwise: */
+ /* Otherwise: */
} else {
/* Clear the stack back to a table body context. */
$this->clearStackToTableContext($clear);
@@ -2977,18 +3733,21 @@ class HTML5TreeConstructer {
$this->mode = self::IN_TABLE;
}
- /* A start tag whose tag name is one of: "caption", "col", "colgroup",
- "tbody", "tfoot", "thead", or an end tag whose tag name is "table" */
- } elseif(($token['type'] === HTML5::STARTTAG && in_array($token['name'],
- array('caption', 'col', 'colgroup', 'tbody', 'tfoor', 'thead'))) ||
- ($token['type'] === HTML5::STARTTAG && $token['name'] === 'table')) {
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "tfoot", "thead", or an end tag whose tag name is "table" */
+ } elseif (($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array('caption', 'col', 'colgroup', 'tbody', 'tfoor', 'thead')
+ )) ||
+ ($token['type'] === HTML5::STARTTAG && $token['name'] === 'table')
+ ) {
/* If the stack of open elements does not have a tbody, thead, or
tfoot element in table scope, this is a parse error. Ignore the
token. (innerHTML case) */
- if(!$this->elementInScope(array('tbody', 'thead', 'tfoot'), true)) {
+ if (!$this->elementInScope(array('tbody', 'thead', 'tfoot'), true)) {
// Ignore.
- /* Otherwise: */
+ /* Otherwise: */
} else {
/* Clear the stack back to a table body context. */
$this->clearStackToTableContext($clear);
@@ -2996,33 +3755,40 @@ class HTML5TreeConstructer {
/* Act as if an end tag with the same tag name as the current
node ("tbody", "tfoot", or "thead") had been seen, then
reprocess the current token. */
- $this->inTableBody(array(
- 'name' => end($this->stack)->nodeName,
- 'type' => HTML5::ENDTAG
- ));
+ $this->inTableBody(
+ array(
+ 'name' => end($this->stack)->nodeName,
+ 'type' => HTML5::ENDTAG
+ )
+ );
return $this->mainPhase($token);
}
- /* An end tag whose tag name is one of: "body", "caption", "col",
- "colgroup", "html", "td", "th", "tr" */
- } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
- array('body', 'caption', 'col', 'colgroup', 'html', 'td', 'th', 'tr'))) {
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html", "td", "th", "tr" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array('body', 'caption', 'col', 'colgroup', 'html', 'td', 'th', 'tr')
+ )
+ ) {
/* Parse error. Ignore the token. */
- /* Anything else */
+ /* Anything else */
} else {
/* Process the token as if the insertion mode was "in table". */
$this->inTable($token);
}
}
- private function inRow($token) {
+ private function inRow($token)
+ {
$clear = array('tr', 'html');
/* A start tag whose tag name is one of: "th", "td" */
- if($token['type'] === HTML5::STARTTAG &&
- ($token['name'] === 'th' || $token['name'] === 'td')) {
+ if ($token['type'] === HTML5::STARTTAG &&
+ ($token['name'] === 'th' || $token['name'] === 'td')
+ ) {
/* Clear the stack back to a table row context. */
$this->clearStackToTableContext($clear);
@@ -3035,15 +3801,15 @@ class HTML5TreeConstructer {
elements. */
$this->a_formatting[] = self::MARKER;
- /* An end tag whose tag name is "tr" */
- } elseif($token['type'] === HTML5::ENDTAG && $token['name'] === 'tr') {
+ /* An end tag whose tag name is "tr" */
+ } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'tr') {
/* If the stack of open elements does not have an element in table
scope with the same tag name as the token, this is a parse error.
Ignore the token. (innerHTML case) */
- if(!$this->elementInScope($token['name'], true)) {
+ if (!$this->elementInScope($token['name'], true)) {
// Ignore.
- /* Otherwise: */
+ /* Otherwise: */
} else {
/* Clear the stack back to a table row context. */
$this->clearStackToTableContext($clear);
@@ -3055,64 +3821,77 @@ class HTML5TreeConstructer {
$this->mode = self::IN_TBODY;
}
- /* A start tag whose tag name is one of: "caption", "col", "colgroup",
- "tbody", "tfoot", "thead", "tr" or an end tag whose tag name is "table" */
- } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
- array('caption', 'col', 'colgroup', 'tbody', 'tfoot', 'thead', 'tr'))) {
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "tfoot", "thead", "tr" or an end tag whose tag name is "table" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array('caption', 'col', 'colgroup', 'tbody', 'tfoot', 'thead', 'tr')
+ )
+ ) {
/* Act as if an end tag with the tag name "tr" had been seen, then,
if that token wasn't ignored, reprocess the current token. */
- $this->inRow(array(
- 'name' => 'tr',
- 'type' => HTML5::ENDTAG
- ));
+ $this->inRow(
+ array(
+ 'name' => 'tr',
+ 'type' => HTML5::ENDTAG
+ )
+ );
return $this->inCell($token);
- /* An end tag whose tag name is one of: "tbody", "tfoot", "thead" */
- } elseif($token['type'] === HTML5::ENDTAG &&
- in_array($token['name'], array('tbody', 'tfoot', 'thead'))) {
+ /* An end tag whose tag name is one of: "tbody", "tfoot", "thead" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ in_array($token['name'], array('tbody', 'tfoot', 'thead'))
+ ) {
/* If the stack of open elements does not have an element in table
scope with the same tag name as the token, this is a parse error.
Ignore the token. */
- if(!$this->elementInScope($token['name'], true)) {
+ if (!$this->elementInScope($token['name'], true)) {
// Ignore.
- /* Otherwise: */
+ /* Otherwise: */
} else {
/* Otherwise, act as if an end tag with the tag name "tr" had
been seen, then reprocess the current token. */
- $this->inRow(array(
- 'name' => 'tr',
- 'type' => HTML5::ENDTAG
- ));
+ $this->inRow(
+ array(
+ 'name' => 'tr',
+ 'type' => HTML5::ENDTAG
+ )
+ );
return $this->inCell($token);
}
- /* An end tag whose tag name is one of: "body", "caption", "col",
- "colgroup", "html", "td", "th" */
- } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
- array('body', 'caption', 'col', 'colgroup', 'html', 'td', 'th', 'tr'))) {
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html", "td", "th" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array('body', 'caption', 'col', 'colgroup', 'html', 'td', 'th', 'tr')
+ )
+ ) {
/* Parse error. Ignore the token. */
- /* Anything else */
+ /* Anything else */
} else {
/* Process the token as if the insertion mode was "in table". */
$this->inTable($token);
}
}
- private function inCell($token) {
+ private function inCell($token)
+ {
/* An end tag whose tag name is one of: "td", "th" */
- if($token['type'] === HTML5::ENDTAG &&
- ($token['name'] === 'td' || $token['name'] === 'th')) {
+ if ($token['type'] === HTML5::ENDTAG &&
+ ($token['name'] === 'td' || $token['name'] === 'th')
+ ) {
/* If the stack of open elements does not have an element in table
scope with the same tag name as that of the token, then this is a
parse error and the token must be ignored. */
- if(!$this->elementInScope($token['name'], true)) {
+ if (!$this->elementInScope($token['name'], true)) {
// Ignore.
- /* Otherwise: */
+ /* Otherwise: */
} else {
/* Generate implied end tags, except for elements with the same
tag name as the token. */
@@ -3124,11 +3903,11 @@ class HTML5TreeConstructer {
/* Pop elements from this stack until an element with the same
tag name as the token has been popped from the stack. */
- while(true) {
+ while (true) {
$node = end($this->stack)->nodeName;
array_pop($this->stack);
- if($node === $token['name']) {
+ if ($node === $token['name']) {
break;
}
}
@@ -3142,178 +3921,223 @@ class HTML5TreeConstructer {
$this->mode = self::IN_ROW;
}
- /* A start tag whose tag name is one of: "caption", "col", "colgroup",
- "tbody", "td", "tfoot", "th", "thead", "tr" */
- } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
- array('caption', 'col', 'colgroup', 'tbody', 'td', 'tfoot', 'th',
- 'thead', 'tr'))) {
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array(
+ 'caption',
+ 'col',
+ 'colgroup',
+ 'tbody',
+ 'td',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr'
+ )
+ )
+ ) {
/* If the stack of open elements does not have a td or th element
in table scope, then this is a parse error; ignore the token.
(innerHTML case) */
- if(!$this->elementInScope(array('td', 'th'), true)) {
+ if (!$this->elementInScope(array('td', 'th'), true)) {
// Ignore.
- /* Otherwise, close the cell (see below) and reprocess the current
- token. */
+ /* Otherwise, close the cell (see below) and reprocess the current
+ token. */
} else {
$this->closeCell();
return $this->inRow($token);
}
- /* A start tag whose tag name is one of: "caption", "col", "colgroup",
- "tbody", "td", "tfoot", "th", "thead", "tr" */
- } elseif($token['type'] === HTML5::STARTTAG && in_array($token['name'],
- array('caption', 'col', 'colgroup', 'tbody', 'td', 'tfoot', 'th',
- 'thead', 'tr'))) {
+ /* A start tag whose tag name is one of: "caption", "col", "colgroup",
+ "tbody", "td", "tfoot", "th", "thead", "tr" */
+ } elseif ($token['type'] === HTML5::STARTTAG && in_array(
+ $token['name'],
+ array(
+ 'caption',
+ 'col',
+ 'colgroup',
+ 'tbody',
+ 'td',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr'
+ )
+ )
+ ) {
/* If the stack of open elements does not have a td or th element
in table scope, then this is a parse error; ignore the token.
(innerHTML case) */
- if(!$this->elementInScope(array('td', 'th'), true)) {
+ if (!$this->elementInScope(array('td', 'th'), true)) {
// Ignore.
- /* Otherwise, close the cell (see below) and reprocess the current
- token. */
+ /* Otherwise, close the cell (see below) and reprocess the current
+ token. */
} else {
$this->closeCell();
return $this->inRow($token);
}
- /* An end tag whose tag name is one of: "body", "caption", "col",
- "colgroup", "html" */
- } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
- array('body', 'caption', 'col', 'colgroup', 'html'))) {
+ /* An end tag whose tag name is one of: "body", "caption", "col",
+ "colgroup", "html" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array('body', 'caption', 'col', 'colgroup', 'html')
+ )
+ ) {
/* Parse error. Ignore the token. */
- /* An end tag whose tag name is one of: "table", "tbody", "tfoot",
- "thead", "tr" */
- } elseif($token['type'] === HTML5::ENDTAG && in_array($token['name'],
- array('table', 'tbody', 'tfoot', 'thead', 'tr'))) {
+ /* An end tag whose tag name is one of: "table", "tbody", "tfoot",
+ "thead", "tr" */
+ } elseif ($token['type'] === HTML5::ENDTAG && in_array(
+ $token['name'],
+ array('table', 'tbody', 'tfoot', 'thead', 'tr')
+ )
+ ) {
/* If the stack of open elements does not have an element in table
scope with the same tag name as that of the token (which can only
happen for "tbody", "tfoot" and "thead", or, in the innerHTML case),
then this is a parse error and the token must be ignored. */
- if(!$this->elementInScope($token['name'], true)) {
+ if (!$this->elementInScope($token['name'], true)) {
// Ignore.
- /* Otherwise, close the cell (see below) and reprocess the current
- token. */
+ /* Otherwise, close the cell (see below) and reprocess the current
+ token. */
} else {
$this->closeCell();
return $this->inRow($token);
}
- /* Anything else */
+ /* Anything else */
} else {
/* Process the token as if the insertion mode was "in body". */
$this->inBody($token);
}
}
- private function inSelect($token) {
+ private function inSelect($token)
+ {
/* Handle the token as follows: */
/* A character token */
- if($token['type'] === HTML5::CHARACTR) {
+ if ($token['type'] === HTML5::CHARACTR) {
/* Append the token's character to the current node. */
$this->insertText($token['data']);
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the current node with the data
attribute set to the data given in the comment token. */
$this->insertComment($token['data']);
- /* A start tag token whose tag name is "option" */
- } elseif($token['type'] === HTML5::STARTTAG &&
- $token['name'] === 'option') {
+ /* A start tag token whose tag name is "option" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'option'
+ ) {
/* If the current node is an option element, act as if an end tag
with the tag name "option" had been seen. */
- if(end($this->stack)->nodeName === 'option') {
- $this->inSelect(array(
- 'name' => 'option',
- 'type' => HTML5::ENDTAG
- ));
+ if (end($this->stack)->nodeName === 'option') {
+ $this->inSelect(
+ array(
+ 'name' => 'option',
+ 'type' => HTML5::ENDTAG
+ )
+ );
}
/* Insert an HTML element for the token. */
$this->insertElement($token);
- /* A start tag token whose tag name is "optgroup" */
- } elseif($token['type'] === HTML5::STARTTAG &&
- $token['name'] === 'optgroup') {
+ /* A start tag token whose tag name is "optgroup" */
+ } elseif ($token['type'] === HTML5::STARTTAG &&
+ $token['name'] === 'optgroup'
+ ) {
/* If the current node is an option element, act as if an end tag
with the tag name "option" had been seen. */
- if(end($this->stack)->nodeName === 'option') {
- $this->inSelect(array(
- 'name' => 'option',
- 'type' => HTML5::ENDTAG
- ));
+ if (end($this->stack)->nodeName === 'option') {
+ $this->inSelect(
+ array(
+ 'name' => 'option',
+ 'type' => HTML5::ENDTAG
+ )
+ );
}
/* If the current node is an optgroup element, act as if an end tag
with the tag name "optgroup" had been seen. */
- if(end($this->stack)->nodeName === 'optgroup') {
- $this->inSelect(array(
- 'name' => 'optgroup',
- 'type' => HTML5::ENDTAG
- ));
+ if (end($this->stack)->nodeName === 'optgroup') {
+ $this->inSelect(
+ array(
+ 'name' => 'optgroup',
+ 'type' => HTML5::ENDTAG
+ )
+ );
}
/* Insert an HTML element for the token. */
$this->insertElement($token);
- /* An end tag token whose tag name is "optgroup" */
- } elseif($token['type'] === HTML5::ENDTAG &&
- $token['name'] === 'optgroup') {
+ /* An end tag token whose tag name is "optgroup" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'optgroup'
+ ) {
/* First, if the current node is an option element, and the node
immediately before it in the stack of open elements is an optgroup
element, then act as if an end tag with the tag name "option" had
been seen. */
$elements_in_stack = count($this->stack);
- if($this->stack[$elements_in_stack - 1]->nodeName === 'option' &&
- $this->stack[$elements_in_stack - 2]->nodeName === 'optgroup') {
- $this->inSelect(array(
- 'name' => 'option',
- 'type' => HTML5::ENDTAG
- ));
+ if ($this->stack[$elements_in_stack - 1]->nodeName === 'option' &&
+ $this->stack[$elements_in_stack - 2]->nodeName === 'optgroup'
+ ) {
+ $this->inSelect(
+ array(
+ 'name' => 'option',
+ 'type' => HTML5::ENDTAG
+ )
+ );
}
/* If the current node is an optgroup element, then pop that node
from the stack of open elements. Otherwise, this is a parse error,
ignore the token. */
- if($this->stack[$elements_in_stack - 1] === 'optgroup') {
+ if ($this->stack[$elements_in_stack - 1] === 'optgroup') {
array_pop($this->stack);
}
- /* An end tag token whose tag name is "option" */
- } elseif($token['type'] === HTML5::ENDTAG &&
- $token['name'] === 'option') {
+ /* An end tag token whose tag name is "option" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'option'
+ ) {
/* If the current node is an option element, then pop that node
from the stack of open elements. Otherwise, this is a parse error,
ignore the token. */
- if(end($this->stack)->nodeName === 'option') {
+ if (end($this->stack)->nodeName === 'option') {
array_pop($this->stack);
}
- /* An end tag whose tag name is "select" */
- } elseif($token['type'] === HTML5::ENDTAG &&
- $token['name'] === 'select') {
+ /* An end tag whose tag name is "select" */
+ } elseif ($token['type'] === HTML5::ENDTAG &&
+ $token['name'] === 'select'
+ ) {
/* If the stack of open elements does not have an element in table
scope with the same tag name as the token, this is a parse error.
Ignore the token. (innerHTML case) */
- if(!$this->elementInScope($token['name'], true)) {
+ if (!$this->elementInScope($token['name'], true)) {
// w/e
- /* Otherwise: */
+ /* Otherwise: */
} else {
/* Pop elements from the stack of open elements until a select
element has been popped from the stack. */
- while(true) {
+ while (true) {
$current = end($this->stack)->nodeName;
array_pop($this->stack);
- if($current === 'select') {
+ if ($current === 'select') {
break;
}
}
@@ -3322,20 +4146,35 @@ class HTML5TreeConstructer {
$this->resetInsertionMode();
}
- /* A start tag whose tag name is "select" */
- } elseif($token['name'] === 'select' &&
- $token['type'] === HTML5::STARTTAG) {
+ /* A start tag whose tag name is "select" */
+ } elseif ($token['name'] === 'select' &&
+ $token['type'] === HTML5::STARTTAG
+ ) {
/* Parse error. Act as if the token had been an end tag with the
tag name "select" instead. */
- $this->inSelect(array(
- 'name' => 'select',
- 'type' => HTML5::ENDTAG
- ));
-
- /* An end tag whose tag name is one of: "caption", "table", "tbody",
- "tfoot", "thead", "tr", "td", "th" */
- } elseif(in_array($token['name'], array('caption', 'table', 'tbody',
- 'tfoot', 'thead', 'tr', 'td', 'th')) && $token['type'] === HTML5::ENDTAG) {
+ $this->inSelect(
+ array(
+ 'name' => 'select',
+ 'type' => HTML5::ENDTAG
+ )
+ );
+
+ /* An end tag whose tag name is one of: "caption", "table", "tbody",
+ "tfoot", "thead", "tr", "td", "th" */
+ } elseif (in_array(
+ $token['name'],
+ array(
+ 'caption',
+ 'table',
+ 'tbody',
+ 'tfoot',
+ 'thead',
+ 'tr',
+ 'td',
+ 'th'
+ )
+ ) && $token['type'] === HTML5::ENDTAG
+ ) {
/* Parse error. */
// w/e
@@ -3343,43 +4182,47 @@ class HTML5TreeConstructer {
the same tag name as that of the token, then act as if an end tag
with the tag name "select" had been seen, and reprocess the token.
Otherwise, ignore the token. */
- if($this->elementInScope($token['name'], true)) {
- $this->inSelect(array(
- 'name' => 'select',
- 'type' => HTML5::ENDTAG
- ));
+ if ($this->elementInScope($token['name'], true)) {
+ $this->inSelect(
+ array(
+ 'name' => 'select',
+ 'type' => HTML5::ENDTAG
+ )
+ );
$this->mainPhase($token);
}
- /* Anything else */
+ /* Anything else */
} else {
/* Parse error. Ignore the token. */
}
}
- private function afterBody($token) {
+ private function afterBody($token)
+ {
/* Handle the token as follows: */
/* A character token that is one of one of U+0009 CHARACTER TABULATION,
U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
or U+0020 SPACE */
- if($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
/* Process the token as it would be processed if the insertion mode
was "in body". */
$this->inBody($token);
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the first element in the stack of open
elements (the html element), with the data attribute set to the
data given in the comment token. */
$comment = $this->dom->createComment($token['data']);
$this->stack[0]->appendChild($comment);
- /* An end tag with the tag name "html" */
- } elseif($token['type'] === HTML5::ENDTAG && $token['name'] === 'html') {
+ /* An end tag with the tag name "html" */
+ } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'html') {
/* If the parser was originally created in order to handle the
setting of an element's innerHTML attribute, this is a parse error;
ignore the token. (The element will be an html element in this
@@ -3388,7 +4231,7 @@ class HTML5TreeConstructer {
/* Otherwise, switch to the trailing end phase. */
$this->phase = self::END_PHASE;
- /* Anything else */
+ /* Anything else */
} else {
/* Parse error. Set the insertion mode to "in body" and reprocess
the token. */
@@ -3397,34 +4240,38 @@ class HTML5TreeConstructer {
}
}
- private function inFrameset($token) {
+ private function inFrameset($token)
+ {
/* Handle the token as follows: */
/* A character token that is one of one of U+0009 CHARACTER TABULATION,
U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
U+000D CARRIAGE RETURN (CR), or U+0020 SPACE */
- if($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
/* Append the character to the current node. */
$this->insertText($token['data']);
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the current node with the data
attribute set to the data given in the comment token. */
$this->insertComment($token['data']);
- /* A start tag with the tag name "frameset" */
- } elseif($token['name'] === 'frameset' &&
- $token['type'] === HTML5::STARTTAG) {
+ /* A start tag with the tag name "frameset" */
+ } elseif ($token['name'] === 'frameset' &&
+ $token['type'] === HTML5::STARTTAG
+ ) {
$this->insertElement($token);
- /* An end tag with the tag name "frameset" */
- } elseif($token['name'] === 'frameset' &&
- $token['type'] === HTML5::ENDTAG) {
+ /* An end tag with the tag name "frameset" */
+ } elseif ($token['name'] === 'frameset' &&
+ $token['type'] === HTML5::ENDTAG
+ ) {
/* If the current node is the root html element, then this is a
parse error; ignore the token. (innerHTML case) */
- if(end($this->stack)->nodeName === 'html') {
+ if (end($this->stack)->nodeName === 'html') {
// Ignore
} else {
@@ -3439,103 +4286,113 @@ class HTML5TreeConstructer {
$this->mode = self::AFTR_FRAME;
}
- /* A start tag with the tag name "frame" */
- } elseif($token['name'] === 'frame' &&
- $token['type'] === HTML5::STARTTAG) {
+ /* A start tag with the tag name "frame" */
+ } elseif ($token['name'] === 'frame' &&
+ $token['type'] === HTML5::STARTTAG
+ ) {
/* Insert an HTML element for the token. */
$this->insertElement($token);
/* Immediately pop the current node off the stack of open elements. */
array_pop($this->stack);
- /* A start tag with the tag name "noframes" */
- } elseif($token['name'] === 'noframes' &&
- $token['type'] === HTML5::STARTTAG) {
+ /* A start tag with the tag name "noframes" */
+ } elseif ($token['name'] === 'noframes' &&
+ $token['type'] === HTML5::STARTTAG
+ ) {
/* Process the token as if the insertion mode had been "in body". */
$this->inBody($token);
- /* Anything else */
+ /* Anything else */
} else {
/* Parse error. Ignore the token. */
}
}
- private function afterFrameset($token) {
+ private function afterFrameset($token)
+ {
/* Handle the token as follows: */
/* A character token that is one of one of U+0009 CHARACTER TABULATION,
U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
U+000D CARRIAGE RETURN (CR), or U+0020 SPACE */
- if($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ if ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
/* Append the character to the current node. */
$this->insertText($token['data']);
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the current node with the data
attribute set to the data given in the comment token. */
$this->insertComment($token['data']);
- /* An end tag with the tag name "html" */
- } elseif($token['name'] === 'html' &&
- $token['type'] === HTML5::ENDTAG) {
+ /* An end tag with the tag name "html" */
+ } elseif ($token['name'] === 'html' &&
+ $token['type'] === HTML5::ENDTAG
+ ) {
/* Switch to the trailing end phase. */
$this->phase = self::END_PHASE;
- /* A start tag with the tag name "noframes" */
- } elseif($token['name'] === 'noframes' &&
- $token['type'] === HTML5::STARTTAG) {
+ /* A start tag with the tag name "noframes" */
+ } elseif ($token['name'] === 'noframes' &&
+ $token['type'] === HTML5::STARTTAG
+ ) {
/* Process the token as if the insertion mode had been "in body". */
$this->inBody($token);
- /* Anything else */
+ /* Anything else */
} else {
/* Parse error. Ignore the token. */
}
}
- private function trailingEndPhase($token) {
+ private function trailingEndPhase($token)
+ {
/* After the main phase, as each token is emitted from the tokenisation
stage, it must be processed as described in this section. */
/* A DOCTYPE token */
- if($token['type'] === HTML5::DOCTYPE) {
+ if ($token['type'] === HTML5::DOCTYPE) {
// Parse error. Ignore the token.
- /* A comment token */
- } elseif($token['type'] === HTML5::COMMENT) {
+ /* A comment token */
+ } elseif ($token['type'] === HTML5::COMMENT) {
/* Append a Comment node to the Document object with the data
attribute set to the data given in the comment token. */
$comment = $this->dom->createComment($token['data']);
$this->dom->appendChild($comment);
- /* A character token that is one of one of U+0009 CHARACTER TABULATION,
- U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
- or U+0020 SPACE */
- } elseif($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) {
+ /* A character token that is one of one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE */
+ } elseif ($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])
+ ) {
/* Process the token as it would be processed in the main phase. */
$this->mainPhase($token);
- /* A character token that is not one of U+0009 CHARACTER TABULATION,
- U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
- or U+0020 SPACE. Or a start tag token. Or an end tag token. */
- } elseif(($token['type'] === HTML5::CHARACTR &&
- preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) ||
- $token['type'] === HTML5::STARTTAG || $token['type'] === HTML5::ENDTAG) {
+ /* A character token that is not one of U+0009 CHARACTER TABULATION,
+ U+000A LINE FEED (LF), U+000B LINE TABULATION, U+000C FORM FEED (FF),
+ or U+0020 SPACE. Or a start tag token. Or an end tag token. */
+ } elseif (($token['type'] === HTML5::CHARACTR &&
+ preg_match('/^[\t\n\x0b\x0c ]+$/', $token['data'])) ||
+ $token['type'] === HTML5::STARTTAG || $token['type'] === HTML5::ENDTAG
+ ) {
/* Parse error. Switch back to the main phase and reprocess the
token. */
$this->phase = self::MAIN_PHASE;
return $this->mainPhase($token);
- /* An end-of-file token */
- } elseif($token['type'] === HTML5::EOF) {
+ /* An end-of-file token */
+ } elseif ($token['type'] === HTML5::EOF) {
/* OMG DONE!! */
}
}
- private function insertElement($token, $append = true, $check = false) {
+ private function insertElement($token, $append = true, $check = false)
+ {
// Proprietary workaround for libxml2's limitations with tag names
if ($check) {
// Slightly modified HTML5 tag-name modification,
@@ -3544,13 +4401,15 @@ class HTML5TreeConstructer {
// Remove leading hyphens and numbers
$token['name'] = ltrim($token['name'], '-0..9');
// In theory, this should ever be needed, but just in case
- if ($token['name'] === '') $token['name'] = 'span'; // arbitrary generic choice
+ if ($token['name'] === '') {
+ $token['name'] = 'span';
+ } // arbitrary generic choice
}
-
+
$el = $this->dom->createElement($token['name']);
- foreach($token['attr'] as $attr) {
- if(!$el->hasAttribute($attr['name'])) {
+ foreach ($token['attr'] as $attr) {
+ if (!$el->hasAttribute($attr['name'])) {
$el->setAttribute($attr['name'], $attr['value']);
}
}
@@ -3561,48 +4420,54 @@ class HTML5TreeConstructer {
return $el;
}
- private function insertText($data) {
+ private function insertText($data)
+ {
$text = $this->dom->createTextNode($data);
$this->appendToRealParent($text);
}
- private function insertComment($data) {
+ private function insertComment($data)
+ {
$comment = $this->dom->createComment($data);
$this->appendToRealParent($comment);
}
- private function appendToRealParent($node) {
- if($this->foster_parent === null) {
+ private function appendToRealParent($node)
+ {
+ if ($this->foster_parent === null) {
end($this->stack)->appendChild($node);
- } elseif($this->foster_parent !== null) {
+ } elseif ($this->foster_parent !== null) {
/* If the foster parent element is the parent element of the
last table element in the stack of open elements, then the new
node must be inserted immediately before the last table element
in the stack of open elements in the foster parent element;
otherwise, the new node must be appended to the foster parent
element. */
- for($n = count($this->stack) - 1; $n >= 0; $n--) {
- if($this->stack[$n]->nodeName === 'table' &&
- $this->stack[$n]->parentNode !== null) {
+ for ($n = count($this->stack) - 1; $n >= 0; $n--) {
+ if ($this->stack[$n]->nodeName === 'table' &&
+ $this->stack[$n]->parentNode !== null
+ ) {
$table = $this->stack[$n];
break;
}
}
- if(isset($table) && $this->foster_parent->isSameNode($table->parentNode))
+ if (isset($table) && $this->foster_parent->isSameNode($table->parentNode)) {
$this->foster_parent->insertBefore($node, $table);
- else
+ } else {
$this->foster_parent->appendChild($node);
+ }
$this->foster_parent = null;
}
}
- private function elementInScope($el, $table = false) {
- if(is_array($el)) {
- foreach($el as $element) {
- if($this->elementInScope($element, $table)) {
+ private function elementInScope($el, $table = false)
+ {
+ if (is_array($el)) {
+ foreach ($el as $element) {
+ if ($this->elementInScope($element, $table)) {
return true;
}
}
@@ -3612,28 +4477,38 @@ class HTML5TreeConstructer {
$leng = count($this->stack);
- for($n = 0; $n < $leng; $n++) {
+ for ($n = 0; $n < $leng; $n++) {
/* 1. Initialise node to be the current node (the bottommost node of
the stack). */
$node = $this->stack[$leng - 1 - $n];
- if($node->tagName === $el) {
+ if ($node->tagName === $el) {
/* 2. If node is the target node, terminate in a match state. */
return true;
- } elseif($node->tagName === 'table') {
+ } elseif ($node->tagName === 'table') {
/* 3. Otherwise, if node is a table element, terminate in a failure
state. */
return false;
- } elseif($table === true && in_array($node->tagName, array('caption', 'td',
- 'th', 'button', 'marquee', 'object'))) {
+ } elseif ($table === true && in_array(
+ $node->tagName,
+ array(
+ 'caption',
+ 'td',
+ 'th',
+ 'button',
+ 'marquee',
+ 'object'
+ )
+ )
+ ) {
/* 4. Otherwise, if the algorithm is the "has an element in scope"
variant (rather than the "has an element in table scope" variant),
and node is one of the following, terminate in a failure state. */
return false;
- } elseif($node === $node->ownerDocument->documentElement) {
+ } elseif ($node === $node->ownerDocument->documentElement) {
/* 5. Otherwise, if node is an html element (root element), terminate
in a failure state. (This can only happen if the node is the topmost
node of the stack of open elements, and prevents the next step from
@@ -3648,12 +4523,13 @@ class HTML5TreeConstructer {
}
}
- private function reconstructActiveFormattingElements() {
+ private function reconstructActiveFormattingElements()
+ {
/* 1. If there are no entries in the list of active formatting elements,
then there is nothing to reconstruct; stop this algorithm. */
$formatting_elements = count($this->a_formatting);
- if($formatting_elements === 0) {
+ if ($formatting_elements === 0) {
return false;
}
@@ -3665,14 +4541,14 @@ class HTML5TreeConstructer {
formatting elements is a marker, or if it is an element that is in the
stack of open elements, then there is nothing to reconstruct; stop this
algorithm. */
- if($entry === self::MARKER || in_array($entry, $this->stack, true)) {
+ if ($entry === self::MARKER || in_array($entry, $this->stack, true)) {
return false;
}
- for($a = $formatting_elements - 1; $a >= 0; true) {
+ for ($a = $formatting_elements - 1; $a >= 0; true) {
/* 4. If there are no entries before entry in the list of active
formatting elements, then jump to step 8. */
- if($a === 0) {
+ if ($a === 0) {
$step_seven = false;
break;
}
@@ -3684,15 +4560,15 @@ class HTML5TreeConstructer {
/* 6. If entry is neither a marker nor an element that is also in
thetack of open elements, go to step 4. */
- if($entry === self::MARKER || in_array($entry, $this->stack, true)) {
+ if ($entry === self::MARKER || in_array($entry, $this->stack, true)) {
break;
}
}
- while(true) {
+ while (true) {
/* 7. Let entry be the element one later than entry in the list of
active formatting elements. */
- if(isset($step_seven) && $step_seven === true) {
+ if (isset($step_seven) && $step_seven === true) {
$a++;
$entry = $this->a_formatting[$a];
}
@@ -3711,7 +4587,7 @@ class HTML5TreeConstructer {
/* 11. If the entry for clone in the list of active formatting
elements is not the last entry in the list, return to step 7. */
- if(end($this->a_formatting) !== $clone) {
+ if (end($this->a_formatting) !== $clone) {
$step_seven = true;
} else {
break;
@@ -3719,12 +4595,13 @@ class HTML5TreeConstructer {
}
}
- private function clearTheActiveFormattingElementsUpToTheLastMarker() {
+ private function clearTheActiveFormattingElementsUpToTheLastMarker()
+ {
/* When the steps below require the UA to clear the list of active
formatting elements up to the last marker, the UA must perform the
following steps: */
- while(true) {
+ while (true) {
/* 1. Let entry be the last (most recently added) entry in the list
of active formatting elements. */
$entry = end($this->a_formatting);
@@ -3734,13 +4611,14 @@ class HTML5TreeConstructer {
/* 3. If entry was a marker, then stop the algorithm at this point.
The list has been cleared up to the last marker. */
- if($entry === self::MARKER) {
+ if ($entry === self::MARKER) {
break;
}
}
}
- private function generateImpliedEndTags($exclude = array()) {
+ private function generateImpliedEndTags($exclude = array())
+ {
/* When the steps below require the UA to generate implied end tags,
then, if the current node is a dd element, a dt element, an li element,
a p element, a td element, a th element, or a tr element, the UA must
@@ -3749,36 +4627,36 @@ class HTML5TreeConstructer {
$node = end($this->stack);
$elements = array_diff(array('dd', 'dt', 'li', 'p', 'td', 'th', 'tr'), $exclude);
- while(in_array(end($this->stack)->nodeName, $elements)) {
+ while (in_array(end($this->stack)->nodeName, $elements)) {
array_pop($this->stack);
}
}
- private function getElementCategory($node) {
+ private function getElementCategory($node)
+ {
$name = $node->tagName;
- if(in_array($name, $this->special))
+ if (in_array($name, $this->special)) {
return self::SPECIAL;
-
- elseif(in_array($name, $this->scoping))
+ } elseif (in_array($name, $this->scoping)) {
return self::SCOPING;
-
- elseif(in_array($name, $this->formatting))
+ } elseif (in_array($name, $this->formatting)) {
return self::FORMATTING;
-
- else
+ } else {
return self::PHRASING;
+ }
}
- private function clearStackToTableContext($elements) {
+ private function clearStackToTableContext($elements)
+ {
/* When the steps above require the UA to clear the stack back to a
table context, it means that the UA must, while the current node is not
a table element or an html element, pop elements from the stack of open
elements. If this causes any elements to be popped from the stack, then
this is a parse error. */
- while(true) {
+ while (true) {
$node = end($this->stack)->nodeName;
- if(in_array($node, $elements)) {
+ if (in_array($node, $elements)) {
break;
} else {
array_pop($this->stack);
@@ -3786,12 +4664,13 @@ class HTML5TreeConstructer {
}
}
- private function resetInsertionMode() {
+ private function resetInsertionMode()
+ {
/* 1. Let last be false. */
$last = false;
$leng = count($this->stack);
- for($n = $leng - 1; $n >= 0; $n--) {
+ for ($n = $leng - 1; $n >= 0; $n--) {
/* 2. Let node be the last node in the stack of open elements. */
$node = $this->stack[$n];
@@ -3799,108 +4678,111 @@ class HTML5TreeConstructer {
set last to true. If the element whose innerHTML attribute is being
set is neither a td element nor a th element, then set node to the
element whose innerHTML attribute is being set. (innerHTML case) */
- if($this->stack[0]->isSameNode($node)) {
+ if ($this->stack[0]->isSameNode($node)) {
$last = true;
}
/* 4. If node is a select element, then switch the insertion mode to
"in select" and abort these steps. (innerHTML case) */
- if($node->nodeName === 'select') {
+ if ($node->nodeName === 'select') {
$this->mode = self::IN_SELECT;
break;
- /* 5. If node is a td or th element, then switch the insertion mode
- to "in cell" and abort these steps. */
- } elseif($node->nodeName === 'td' || $node->nodeName === 'th') {
+ /* 5. If node is a td or th element, then switch the insertion mode
+ to "in cell" and abort these steps. */
+ } elseif ($node->nodeName === 'td' || $node->nodeName === 'th') {
$this->mode = self::IN_CELL;
break;
- /* 6. If node is a tr element, then switch the insertion mode to
- "in row" and abort these steps. */
- } elseif($node->nodeName === 'tr') {
+ /* 6. If node is a tr element, then switch the insertion mode to
+ "in row" and abort these steps. */
+ } elseif ($node->nodeName === 'tr') {
$this->mode = self::IN_ROW;
break;
- /* 7. If node is a tbody, thead, or tfoot element, then switch the
- insertion mode to "in table body" and abort these steps. */
- } elseif(in_array($node->nodeName, array('tbody', 'thead', 'tfoot'))) {
+ /* 7. If node is a tbody, thead, or tfoot element, then switch the
+ insertion mode to "in table body" and abort these steps. */
+ } elseif (in_array($node->nodeName, array('tbody', 'thead', 'tfoot'))) {
$this->mode = self::IN_TBODY;
break;
- /* 8. If node is a caption element, then switch the insertion mode
- to "in caption" and abort these steps. */
- } elseif($node->nodeName === 'caption') {
+ /* 8. If node is a caption element, then switch the insertion mode
+ to "in caption" and abort these steps. */
+ } elseif ($node->nodeName === 'caption') {
$this->mode = self::IN_CAPTION;
break;
- /* 9. If node is a colgroup element, then switch the insertion mode
- to "in column group" and abort these steps. (innerHTML case) */
- } elseif($node->nodeName === 'colgroup') {
+ /* 9. If node is a colgroup element, then switch the insertion mode
+ to "in column group" and abort these steps. (innerHTML case) */
+ } elseif ($node->nodeName === 'colgroup') {
$this->mode = self::IN_CGROUP;
break;
- /* 10. If node is a table element, then switch the insertion mode
- to "in table" and abort these steps. */
- } elseif($node->nodeName === 'table') {
+ /* 10. If node is a table element, then switch the insertion mode
+ to "in table" and abort these steps. */
+ } elseif ($node->nodeName === 'table') {
$this->mode = self::IN_TABLE;
break;
- /* 11. If node is a head element, then switch the insertion mode
- to "in body" ("in body"! not "in head"!) and abort these steps.
- (innerHTML case) */
- } elseif($node->nodeName === 'head') {
+ /* 11. If node is a head element, then switch the insertion mode
+ to "in body" ("in body"! not "in head"!) and abort these steps.
+ (innerHTML case) */
+ } elseif ($node->nodeName === 'head') {
$this->mode = self::IN_BODY;
break;
- /* 12. If node is a body element, then switch the insertion mode to
- "in body" and abort these steps. */
- } elseif($node->nodeName === 'body') {
+ /* 12. If node is a body element, then switch the insertion mode to
+ "in body" and abort these steps. */
+ } elseif ($node->nodeName === 'body') {
$this->mode = self::IN_BODY;
break;
- /* 13. If node is a frameset element, then switch the insertion
- mode to "in frameset" and abort these steps. (innerHTML case) */
- } elseif($node->nodeName === 'frameset') {
+ /* 13. If node is a frameset element, then switch the insertion
+ mode to "in frameset" and abort these steps. (innerHTML case) */
+ } elseif ($node->nodeName === 'frameset') {
$this->mode = self::IN_FRAME;
break;
- /* 14. If node is an html element, then: if the head element
- pointer is null, switch the insertion mode to "before head",
- otherwise, switch the insertion mode to "after head". In either
- case, abort these steps. (innerHTML case) */
- } elseif($node->nodeName === 'html') {
+ /* 14. If node is an html element, then: if the head element
+ pointer is null, switch the insertion mode to "before head",
+ otherwise, switch the insertion mode to "after head". In either
+ case, abort these steps. (innerHTML case) */
+ } elseif ($node->nodeName === 'html') {
$this->mode = ($this->head_pointer === null)
? self::BEFOR_HEAD
: self::AFTER_HEAD;
break;
- /* 15. If last is true, then set the insertion mode to "in body"
- and abort these steps. (innerHTML case) */
- } elseif($last) {
+ /* 15. If last is true, then set the insertion mode to "in body"
+ and abort these steps. (innerHTML case) */
+ } elseif ($last) {
$this->mode = self::IN_BODY;
break;
}
}
}
- private function closeCell() {
+ private function closeCell()
+ {
/* If the stack of open elements has a td or th element in table scope,
then act as if an end tag token with that tag name had been seen. */
- foreach(array('td', 'th') as $cell) {
- if($this->elementInScope($cell, true)) {
- $this->inCell(array(
- 'name' => $cell,
- 'type' => HTML5::ENDTAG
- ));
+ foreach (array('td', 'th') as $cell) {
+ if ($this->elementInScope($cell, true)) {
+ $this->inCell(
+ array(
+ 'name' => $cell,
+ 'type' => HTML5::ENDTAG
+ )
+ );
break;
}
}
}
- public function save() {
+ public function save()
+ {
return $this->dom;
}
}
-?>
diff --git a/library/HTMLPurifier/Node.php b/library/HTMLPurifier/Node.php
new file mode 100644
index 000000000..3995fec9f
--- /dev/null
+++ b/library/HTMLPurifier/Node.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * Abstract base node class that all others inherit from.
+ *
+ * Why do we not use the DOM extension? (1) It is not always available,
+ * (2) it has funny constraints on the data it can represent,
+ * whereas we want a maximally flexible representation, and (3) its
+ * interface is a bit cumbersome.
+ */
+abstract class HTMLPurifier_Node
+{
+ /**
+ * Line number of the start token in the source document
+ * @type int
+ */
+ public $line;
+
+ /**
+ * Column number of the start token in the source document. Null if unknown.
+ * @type int
+ */
+ public $col;
+
+ /**
+ * Lookup array of processing that this token is exempt from.
+ * Currently, valid values are "ValidateAttributes".
+ * @type array
+ */
+ public $armor = array();
+
+ /**
+ * When true, this node should be ignored as non-existent.
+ *
+ * Who is responsible for ignoring dead nodes? FixNesting is
+ * responsible for removing them before passing on to child
+ * validators.
+ */
+ public $dead = false;
+
+ /**
+ * Returns a pair of start and end tokens, where the end token
+ * is null if it is not necessary. Does not include children.
+ * @type array
+ */
+ abstract public function toTokenPair();
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Node/Comment.php b/library/HTMLPurifier/Node/Comment.php
new file mode 100644
index 000000000..38ba19394
--- /dev/null
+++ b/library/HTMLPurifier/Node/Comment.php
@@ -0,0 +1,36 @@
+<?php
+
+/**
+ * Concrete comment node class.
+ */
+class HTMLPurifier_Node_Comment extends HTMLPurifier_Node
+{
+ /**
+ * Character data within comment.
+ * @type string
+ */
+ public $data;
+
+ /**
+ * @type bool
+ */
+ public $is_whitespace = true;
+
+ /**
+ * Transparent constructor.
+ *
+ * @param string $data String comment data.
+ * @param int $line
+ * @param int $col
+ */
+ public function __construct($data, $line = null, $col = null)
+ {
+ $this->data = $data;
+ $this->line = $line;
+ $this->col = $col;
+ }
+
+ public function toTokenPair() {
+ return array(new HTMLPurifier_Token_Comment($this->data, $this->line, $this->col), null);
+ }
+}
diff --git a/library/HTMLPurifier/Node/Element.php b/library/HTMLPurifier/Node/Element.php
new file mode 100644
index 000000000..6cbf56dad
--- /dev/null
+++ b/library/HTMLPurifier/Node/Element.php
@@ -0,0 +1,59 @@
+<?php
+
+/**
+ * Concrete element node class.
+ */
+class HTMLPurifier_Node_Element extends HTMLPurifier_Node
+{
+ /**
+ * The lower-case name of the tag, like 'a', 'b' or 'blockquote'.
+ *
+ * @note Strictly speaking, XML tags are case sensitive, so we shouldn't
+ * be lower-casing them, but these tokens cater to HTML tags, which are
+ * insensitive.
+ * @type string
+ */
+ public $name;
+
+ /**
+ * Associative array of the node's attributes.
+ * @type array
+ */
+ public $attr = array();
+
+ /**
+ * List of child elements.
+ * @type array
+ */
+ public $children = array();
+
+ /**
+ * Does this use the <a></a> form or the </a> form, i.e.
+ * is it a pair of start/end tokens or an empty token.
+ * @bool
+ */
+ public $empty = false;
+
+ public $endCol = null, $endLine = null, $endArmor = array();
+
+ public function __construct($name, $attr = array(), $line = null, $col = null, $armor = array()) {
+ $this->name = $name;
+ $this->attr = $attr;
+ $this->line = $line;
+ $this->col = $col;
+ $this->armor = $armor;
+ }
+
+ public function toTokenPair() {
+ // XXX inefficiency here, normalization is not necessary
+ if ($this->empty) {
+ return array(new HTMLPurifier_Token_Empty($this->name, $this->attr, $this->line, $this->col, $this->armor), null);
+ } else {
+ $start = new HTMLPurifier_Token_Start($this->name, $this->attr, $this->line, $this->col, $this->armor);
+ $end = new HTMLPurifier_Token_End($this->name, array(), $this->endLine, $this->endCol, $this->endArmor);
+ //$end->start = $start;
+ return array($start, $end);
+ }
+ }
+}
+
diff --git a/library/HTMLPurifier/Node/Text.php b/library/HTMLPurifier/Node/Text.php
new file mode 100644
index 000000000..aec916647
--- /dev/null
+++ b/library/HTMLPurifier/Node/Text.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * Concrete text token class.
+ *
+ * Text tokens comprise of regular parsed character data (PCDATA) and raw
+ * character data (from the CDATA sections). Internally, their
+ * data is parsed with all entities expanded. Surprisingly, the text token
+ * does have a "tag name" called #PCDATA, which is how the DTD represents it
+ * in permissible child nodes.
+ */
+class HTMLPurifier_Node_Text extends HTMLPurifier_Node
+{
+
+ /**
+ * PCDATA tag name compatible with DTD, see
+ * HTMLPurifier_ChildDef_Custom for details.
+ * @type string
+ */
+ public $name = '#PCDATA';
+
+ /**
+ * @type string
+ */
+ public $data;
+ /**< Parsed character data of text. */
+
+ /**
+ * @type bool
+ */
+ public $is_whitespace;
+
+ /**< Bool indicating if node is whitespace. */
+
+ /**
+ * Constructor, accepts data and determines if it is whitespace.
+ * @param string $data String parsed character data.
+ * @param int $line
+ * @param int $col
+ */
+ public function __construct($data, $is_whitespace, $line = null, $col = null)
+ {
+ $this->data = $data;
+ $this->is_whitespace = $is_whitespace;
+ $this->line = $line;
+ $this->col = $col;
+ }
+
+ public function toTokenPair() {
+ return array(new HTMLPurifier_Token_Text($this->data, $this->line, $this->col), null);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/PercentEncoder.php b/library/HTMLPurifier/PercentEncoder.php
index a43c44f4c..18c8bbb00 100644
--- a/library/HTMLPurifier/PercentEncoder.php
+++ b/library/HTMLPurifier/PercentEncoder.php
@@ -13,17 +13,26 @@ class HTMLPurifier_PercentEncoder
/**
* Reserved characters to preserve when using encode().
+ * @type array
*/
protected $preserve = array();
/**
* String of characters that should be preserved while using encode().
+ * @param bool $preserve
*/
- public function __construct($preserve = false) {
+ public function __construct($preserve = false)
+ {
// unreserved letters, ought to const-ify
- for ($i = 48; $i <= 57; $i++) $this->preserve[$i] = true; // digits
- for ($i = 65; $i <= 90; $i++) $this->preserve[$i] = true; // upper-case
- for ($i = 97; $i <= 122; $i++) $this->preserve[$i] = true; // lower-case
+ for ($i = 48; $i <= 57; $i++) { // digits
+ $this->preserve[$i] = true;
+ }
+ for ($i = 65; $i <= 90; $i++) { // upper-case
+ $this->preserve[$i] = true;
+ }
+ for ($i = 97; $i <= 122; $i++) { // lower-case
+ $this->preserve[$i] = true;
+ }
$this->preserve[45] = true; // Dash -
$this->preserve[46] = true; // Period .
$this->preserve[95] = true; // Underscore _
@@ -44,13 +53,14 @@ class HTMLPurifier_PercentEncoder
* Assumes that the string has already been normalized, making any
* and all percent escape sequences valid. Percents will not be
* re-escaped, regardless of their status in $preserve
- * @param $string String to be encoded
- * @return Encoded string.
+ * @param string $string String to be encoded
+ * @return string Encoded string.
*/
- public function encode($string) {
+ public function encode($string)
+ {
$ret = '';
for ($i = 0, $c = strlen($string); $i < $c; $i++) {
- if ($string[$i] !== '%' && !isset($this->preserve[$int = ord($string[$i])]) ) {
+ if ($string[$i] !== '%' && !isset($this->preserve[$int = ord($string[$i])])) {
$ret .= '%' . sprintf('%02X', $int);
} else {
$ret .= $string[$i];
@@ -64,10 +74,14 @@ class HTMLPurifier_PercentEncoder
* @warning This function is affected by $preserve, even though the
* usual desired behavior is for this not to preserve those
* characters. Be careful when reusing instances of PercentEncoder!
- * @param $string String to normalize
+ * @param string $string String to normalize
+ * @return string
*/
- public function normalize($string) {
- if ($string == '') return '';
+ public function normalize($string)
+ {
+ if ($string == '') {
+ return '';
+ }
$parts = explode('%', $string);
$ret = array_shift($parts);
foreach ($parts as $part) {
@@ -92,7 +106,6 @@ class HTMLPurifier_PercentEncoder
}
return $ret;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Printer.php b/library/HTMLPurifier/Printer.php
index e7eb82e83..549e4cea1 100644
--- a/library/HTMLPurifier/Printer.php
+++ b/library/HTMLPurifier/Printer.php
@@ -7,25 +7,30 @@ class HTMLPurifier_Printer
{
/**
- * Instance of HTMLPurifier_Generator for HTML generation convenience funcs
+ * For HTML generation convenience funcs.
+ * @type HTMLPurifier_Generator
*/
protected $generator;
/**
- * Instance of HTMLPurifier_Config, for easy access
+ * For easy access.
+ * @type HTMLPurifier_Config
*/
protected $config;
/**
* Initialize $generator.
*/
- public function __construct() {
+ public function __construct()
+ {
}
/**
* Give generator necessary configuration if possible
+ * @param HTMLPurifier_Config $config
*/
- public function prepareGenerator($config) {
+ public function prepareGenerator($config)
+ {
$all = $config->getAll();
$context = new HTMLPurifier_Context();
$this->generator = new HTMLPurifier_Generator($config, $context);
@@ -39,45 +44,62 @@ class HTMLPurifier_Printer
/**
* Returns a start tag
- * @param $tag Tag name
- * @param $attr Attribute array
+ * @param string $tag Tag name
+ * @param array $attr Attribute array
+ * @return string
*/
- protected function start($tag, $attr = array()) {
+ protected function start($tag, $attr = array())
+ {
return $this->generator->generateFromToken(
- new HTMLPurifier_Token_Start($tag, $attr ? $attr : array())
- );
+ new HTMLPurifier_Token_Start($tag, $attr ? $attr : array())
+ );
}
/**
- * Returns an end teg
- * @param $tag Tag name
+ * Returns an end tag
+ * @param string $tag Tag name
+ * @return string
*/
- protected function end($tag) {
+ protected function end($tag)
+ {
return $this->generator->generateFromToken(
- new HTMLPurifier_Token_End($tag)
- );
+ new HTMLPurifier_Token_End($tag)
+ );
}
/**
* Prints a complete element with content inside
- * @param $tag Tag name
- * @param $contents Element contents
- * @param $attr Tag attributes
- * @param $escape Bool whether or not to escape contents
+ * @param string $tag Tag name
+ * @param string $contents Element contents
+ * @param array $attr Tag attributes
+ * @param bool $escape whether or not to escape contents
+ * @return string
*/
- protected function element($tag, $contents, $attr = array(), $escape = true) {
+ protected function element($tag, $contents, $attr = array(), $escape = true)
+ {
return $this->start($tag, $attr) .
- ($escape ? $this->escape($contents) : $contents) .
- $this->end($tag);
+ ($escape ? $this->escape($contents) : $contents) .
+ $this->end($tag);
}
- protected function elementEmpty($tag, $attr = array()) {
+ /**
+ * @param string $tag
+ * @param array $attr
+ * @return string
+ */
+ protected function elementEmpty($tag, $attr = array())
+ {
return $this->generator->generateFromToken(
new HTMLPurifier_Token_Empty($tag, $attr)
);
}
- protected function text($text) {
+ /**
+ * @param string $text
+ * @return string
+ */
+ protected function text($text)
+ {
return $this->generator->generateFromToken(
new HTMLPurifier_Token_Text($text)
);
@@ -85,24 +107,29 @@ class HTMLPurifier_Printer
/**
* Prints a simple key/value row in a table.
- * @param $name Key
- * @param $value Value
+ * @param string $name Key
+ * @param mixed $value Value
+ * @return string
*/
- protected function row($name, $value) {
- if (is_bool($value)) $value = $value ? 'On' : 'Off';
+ protected function row($name, $value)
+ {
+ if (is_bool($value)) {
+ $value = $value ? 'On' : 'Off';
+ }
return
$this->start('tr') . "\n" .
- $this->element('th', $name) . "\n" .
- $this->element('td', $value) . "\n" .
- $this->end('tr')
- ;
+ $this->element('th', $name) . "\n" .
+ $this->element('td', $value) . "\n" .
+ $this->end('tr');
}
/**
* Escapes a string for HTML output.
- * @param $string String to escape
+ * @param string $string String to escape
+ * @return string
*/
- protected function escape($string) {
+ protected function escape($string)
+ {
$string = HTMLPurifier_Encoder::cleanUTF8($string);
$string = htmlspecialchars($string, ENT_COMPAT, 'UTF-8');
return $string;
@@ -110,32 +137,46 @@ class HTMLPurifier_Printer
/**
* Takes a list of strings and turns them into a single list
- * @param $array List of strings
- * @param $polite Bool whether or not to add an end before the last
+ * @param string[] $array List of strings
+ * @param bool $polite Bool whether or not to add an end before the last
+ * @return string
*/
- protected function listify($array, $polite = false) {
- if (empty($array)) return 'None';
+ protected function listify($array, $polite = false)
+ {
+ if (empty($array)) {
+ return 'None';
+ }
$ret = '';
$i = count($array);
foreach ($array as $value) {
$i--;
$ret .= $value;
- if ($i > 0 && !($polite && $i == 1)) $ret .= ', ';
- if ($polite && $i == 1) $ret .= 'and ';
+ if ($i > 0 && !($polite && $i == 1)) {
+ $ret .= ', ';
+ }
+ if ($polite && $i == 1) {
+ $ret .= 'and ';
+ }
}
return $ret;
}
/**
* Retrieves the class of an object without prefixes, as well as metadata
- * @param $obj Object to determine class of
- * @param $prefix Further prefix to remove
+ * @param object $obj Object to determine class of
+ * @param string $sec_prefix Further prefix to remove
+ * @return string
*/
- protected function getClass($obj, $sec_prefix = '') {
+ protected function getClass($obj, $sec_prefix = '')
+ {
static $five = null;
- if ($five === null) $five = version_compare(PHP_VERSION, '5', '>=');
+ if ($five === null) {
+ $five = version_compare(PHP_VERSION, '5', '>=');
+ }
$prefix = 'HTMLPurifier_' . $sec_prefix;
- if (!$five) $prefix = strtolower($prefix);
+ if (!$five) {
+ $prefix = strtolower($prefix);
+ }
$class = str_replace($prefix, '', get_class($obj));
$lclass = strtolower($class);
$class .= '(';
@@ -164,13 +205,14 @@ class HTMLPurifier_Printer
break;
case 'css_importantdecorator':
$class .= $this->getClass($obj->def, $sec_prefix);
- if ($obj->allow) $class .= ', !important';
+ if ($obj->allow) {
+ $class .= ', !important';
+ }
break;
}
$class .= ')';
return $class;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Printer/CSSDefinition.php b/library/HTMLPurifier/Printer/CSSDefinition.php
index 81f986590..29505fe12 100644
--- a/library/HTMLPurifier/Printer/CSSDefinition.php
+++ b/library/HTMLPurifier/Printer/CSSDefinition.php
@@ -2,10 +2,17 @@
class HTMLPurifier_Printer_CSSDefinition extends HTMLPurifier_Printer
{
-
+ /**
+ * @type HTMLPurifier_CSSDefinition
+ */
protected $def;
- public function render($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return string
+ */
+ public function render($config)
+ {
$this->def = $config->getCSSDefinition();
$ret = '';
@@ -32,7 +39,6 @@ class HTMLPurifier_Printer_CSSDefinition extends HTMLPurifier_Printer
return $ret;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Printer/ConfigForm.php b/library/HTMLPurifier/Printer/ConfigForm.php
index 02aa65689..36100ce73 100644
--- a/library/HTMLPurifier/Printer/ConfigForm.php
+++ b/library/HTMLPurifier/Printer/ConfigForm.php
@@ -7,17 +7,20 @@ class HTMLPurifier_Printer_ConfigForm extends HTMLPurifier_Printer
{
/**
- * Printers for specific fields
+ * Printers for specific fields.
+ * @type HTMLPurifier_Printer[]
*/
protected $fields = array();
/**
- * Documentation URL, can have fragment tagged on end
+ * Documentation URL, can have fragment tagged on end.
+ * @type string
*/
protected $docURL;
/**
- * Name of form element to stuff config in
+ * Name of form element to stuff config in.
+ * @type string
*/
protected $name;
@@ -25,24 +28,27 @@ class HTMLPurifier_Printer_ConfigForm extends HTMLPurifier_Printer
* Whether or not to compress directive names, clipping them off
* after a certain amount of letters. False to disable or integer letters
* before clipping.
+ * @type bool
*/
protected $compress = false;
/**
- * @param $name Form element name for directives to be stuffed into
- * @param $doc_url String documentation URL, will have fragment tagged on
- * @param $compress Integer max length before compressing a directive name, set to false to turn off
+ * @param string $name Form element name for directives to be stuffed into
+ * @param string $doc_url String documentation URL, will have fragment tagged on
+ * @param bool $compress Integer max length before compressing a directive name, set to false to turn off
*/
public function __construct(
- $name, $doc_url = null, $compress = false
+ $name,
+ $doc_url = null,
+ $compress = false
) {
parent::__construct();
$this->docURL = $doc_url;
- $this->name = $name;
+ $this->name = $name;
$this->compress = $compress;
// initialize sub-printers
- $this->fields[0] = new HTMLPurifier_Printer_ConfigForm_default();
- $this->fields[HTMLPurifier_VarParser::BOOL] = new HTMLPurifier_Printer_ConfigForm_bool();
+ $this->fields[0] = new HTMLPurifier_Printer_ConfigForm_default();
+ $this->fields[HTMLPurifier_VarParser::BOOL] = new HTMLPurifier_Printer_ConfigForm_bool();
}
/**
@@ -50,32 +56,42 @@ class HTMLPurifier_Printer_ConfigForm extends HTMLPurifier_Printer
* @param $cols Integer columns of textarea, null to use default
* @param $rows Integer rows of textarea, null to use default
*/
- public function setTextareaDimensions($cols = null, $rows = null) {
- if ($cols) $this->fields['default']->cols = $cols;
- if ($rows) $this->fields['default']->rows = $rows;
+ public function setTextareaDimensions($cols = null, $rows = null)
+ {
+ if ($cols) {
+ $this->fields['default']->cols = $cols;
+ }
+ if ($rows) {
+ $this->fields['default']->rows = $rows;
+ }
}
/**
* Retrieves styling, in case it is not accessible by webserver
*/
- public static function getCSS() {
+ public static function getCSS()
+ {
return file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/Printer/ConfigForm.css');
}
/**
* Retrieves JavaScript, in case it is not accessible by webserver
*/
- public static function getJavaScript() {
+ public static function getJavaScript()
+ {
return file_get_contents(HTMLPURIFIER_PREFIX . '/HTMLPurifier/Printer/ConfigForm.js');
}
/**
* Returns HTML output for a configuration form
- * @param $config Configuration object of current form state, or an array
+ * @param HTMLPurifier_Config|array $config Configuration object of current form state, or an array
* where [0] has an HTML namespace and [1] is being rendered.
- * @param $allowed Optional namespace(s) and directives to restrict form to.
+ * @param array|bool $allowed Optional namespace(s) and directives to restrict form to.
+ * @param bool $render_controls
+ * @return string
*/
- public function render($config, $allowed = true, $render_controls = true) {
+ public function render($config, $allowed = true, $render_controls = true)
+ {
if (is_array($config) && isset($config[0])) {
$gen_config = $config[0];
$config = $config[1];
@@ -91,29 +107,29 @@ class HTMLPurifier_Printer_ConfigForm extends HTMLPurifier_Printer
$all = array();
foreach ($allowed as $key) {
list($ns, $directive) = $key;
- $all[$ns][$directive] = $config->get($ns .'.'. $directive);
+ $all[$ns][$directive] = $config->get($ns . '.' . $directive);
}
$ret = '';
$ret .= $this->start('table', array('class' => 'hp-config'));
$ret .= $this->start('thead');
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Directive', array('class' => 'hp-directive'));
- $ret .= $this->element('th', 'Value', array('class' => 'hp-value'));
+ $ret .= $this->element('th', 'Directive', array('class' => 'hp-directive'));
+ $ret .= $this->element('th', 'Value', array('class' => 'hp-value'));
$ret .= $this->end('tr');
$ret .= $this->end('thead');
foreach ($all as $ns => $directives) {
$ret .= $this->renderNamespace($ns, $directives);
}
if ($render_controls) {
- $ret .= $this->start('tbody');
- $ret .= $this->start('tr');
- $ret .= $this->start('td', array('colspan' => 2, 'class' => 'controls'));
- $ret .= $this->elementEmpty('input', array('type' => 'submit', 'value' => 'Submit'));
- $ret .= '[<a href="?">Reset</a>]';
- $ret .= $this->end('td');
- $ret .= $this->end('tr');
- $ret .= $this->end('tbody');
+ $ret .= $this->start('tbody');
+ $ret .= $this->start('tr');
+ $ret .= $this->start('td', array('colspan' => 2, 'class' => 'controls'));
+ $ret .= $this->elementEmpty('input', array('type' => 'submit', 'value' => 'Submit'));
+ $ret .= '[<a href="?">Reset</a>]';
+ $ret .= $this->end('td');
+ $ret .= $this->end('tr');
+ $ret .= $this->end('tbody');
}
$ret .= $this->end('table');
return $ret;
@@ -122,13 +138,15 @@ class HTMLPurifier_Printer_ConfigForm extends HTMLPurifier_Printer
/**
* Renders a single namespace
* @param $ns String namespace name
- * @param $directive Associative array of directives to values
+ * @param array $directives array of directives to values
+ * @return string
*/
- protected function renderNamespace($ns, $directives) {
+ protected function renderNamespace($ns, $directives)
+ {
$ret = '';
$ret .= $this->start('tbody', array('class' => 'namespace'));
$ret .= $this->start('tr');
- $ret .= $this->element('th', $ns, array('colspan' => 2));
+ $ret .= $this->element('th', $ns, array('colspan' => 2));
$ret .= $this->end('tr');
$ret .= $this->end('tbody');
$ret .= $this->start('tbody');
@@ -139,40 +157,44 @@ class HTMLPurifier_Printer_ConfigForm extends HTMLPurifier_Printer
$url = str_replace('%s', urlencode("$ns.$directive"), $this->docURL);
$ret .= $this->start('a', array('href' => $url));
}
- $attr = array('for' => "{$this->name}:$ns.$directive");
-
- // crop directive name if it's too long
- if (!$this->compress || (strlen($directive) < $this->compress)) {
- $directive_disp = $directive;
- } else {
- $directive_disp = substr($directive, 0, $this->compress - 2) . '...';
- $attr['title'] = $directive;
- }
+ $attr = array('for' => "{$this->name}:$ns.$directive");
+
+ // crop directive name if it's too long
+ if (!$this->compress || (strlen($directive) < $this->compress)) {
+ $directive_disp = $directive;
+ } else {
+ $directive_disp = substr($directive, 0, $this->compress - 2) . '...';
+ $attr['title'] = $directive;
+ }
- $ret .= $this->element(
- 'label',
- $directive_disp,
- // component printers must create an element with this id
- $attr
- );
- if ($this->docURL) $ret .= $this->end('a');
+ $ret .= $this->element(
+ 'label',
+ $directive_disp,
+ // component printers must create an element with this id
+ $attr
+ );
+ if ($this->docURL) {
+ $ret .= $this->end('a');
+ }
$ret .= $this->end('th');
$ret .= $this->start('td');
- $def = $this->config->def->info["$ns.$directive"];
- if (is_int($def)) {
- $allow_null = $def < 0;
- $type = abs($def);
- } else {
- $type = $def->type;
- $allow_null = isset($def->allow_null);
- }
- if (!isset($this->fields[$type])) $type = 0; // default
- $type_obj = $this->fields[$type];
- if ($allow_null) {
- $type_obj = new HTMLPurifier_Printer_ConfigForm_NullDecorator($type_obj);
- }
- $ret .= $type_obj->render($ns, $directive, $value, $this->name, array($this->genConfig, $this->config));
+ $def = $this->config->def->info["$ns.$directive"];
+ if (is_int($def)) {
+ $allow_null = $def < 0;
+ $type = abs($def);
+ } else {
+ $type = $def->type;
+ $allow_null = isset($def->allow_null);
+ }
+ if (!isset($this->fields[$type])) {
+ $type = 0;
+ } // default
+ $type_obj = $this->fields[$type];
+ if ($allow_null) {
+ $type_obj = new HTMLPurifier_Printer_ConfigForm_NullDecorator($type_obj);
+ }
+ $ret .= $type_obj->render($ns, $directive, $value, $this->name, array($this->genConfig, $this->config));
$ret .= $this->end('td');
$ret .= $this->end('tr');
}
@@ -185,19 +207,33 @@ class HTMLPurifier_Printer_ConfigForm extends HTMLPurifier_Printer
/**
* Printer decorator for directives that accept null
*/
-class HTMLPurifier_Printer_ConfigForm_NullDecorator extends HTMLPurifier_Printer {
+class HTMLPurifier_Printer_ConfigForm_NullDecorator extends HTMLPurifier_Printer
+{
/**
* Printer being decorated
+ * @type HTMLPurifier_Printer
*/
protected $obj;
+
/**
- * @param $obj Printer to decorate
+ * @param HTMLPurifier_Printer $obj Printer to decorate
*/
- public function __construct($obj) {
+ public function __construct($obj)
+ {
parent::__construct();
$this->obj = $obj;
}
- public function render($ns, $directive, $value, $name, $config) {
+
+ /**
+ * @param string $ns
+ * @param string $directive
+ * @param string $value
+ * @param string $name
+ * @param HTMLPurifier_Config|array $config
+ * @return string
+ */
+ public function render($ns, $directive, $value, $name, $config)
+ {
if (is_array($config) && isset($config[0])) {
$gen_config = $config[0];
$config = $config[1];
@@ -215,15 +251,19 @@ class HTMLPurifier_Printer_ConfigForm_NullDecorator extends HTMLPurifier_Printer
'type' => 'checkbox',
'value' => '1',
'class' => 'null-toggle',
- 'name' => "$name"."[Null_$ns.$directive]",
+ 'name' => "$name" . "[Null_$ns.$directive]",
'id' => "$name:Null_$ns.$directive",
'onclick' => "toggleWriteability('$name:$ns.$directive',checked)" // INLINE JAVASCRIPT!!!!
);
if ($this->obj instanceof HTMLPurifier_Printer_ConfigForm_bool) {
// modify inline javascript slightly
- $attr['onclick'] = "toggleWriteability('$name:Yes_$ns.$directive',checked);toggleWriteability('$name:No_$ns.$directive',checked)";
+ $attr['onclick'] =
+ "toggleWriteability('$name:Yes_$ns.$directive',checked);" .
+ "toggleWriteability('$name:No_$ns.$directive',checked)";
+ }
+ if ($value === null) {
+ $attr['checked'] = 'checked';
}
- if ($value === null) $attr['checked'] = 'checked';
$ret .= $this->elementEmpty('input', $attr);
$ret .= $this->text(' or ');
$ret .= $this->elementEmpty('br');
@@ -235,10 +275,28 @@ class HTMLPurifier_Printer_ConfigForm_NullDecorator extends HTMLPurifier_Printer
/**
* Swiss-army knife configuration form field printer
*/
-class HTMLPurifier_Printer_ConfigForm_default extends HTMLPurifier_Printer {
+class HTMLPurifier_Printer_ConfigForm_default extends HTMLPurifier_Printer
+{
+ /**
+ * @type int
+ */
public $cols = 18;
+
+ /**
+ * @type int
+ */
public $rows = 5;
- public function render($ns, $directive, $value, $name, $config) {
+
+ /**
+ * @param string $ns
+ * @param string $directive
+ * @param string $value
+ * @param string $name
+ * @param HTMLPurifier_Config|array $config
+ * @return string
+ */
+ public function render($ns, $directive, $value, $name, $config)
+ {
if (is_array($config) && isset($config[0])) {
$gen_config = $config[0];
$config = $config[1];
@@ -262,6 +320,7 @@ class HTMLPurifier_Printer_ConfigForm_default extends HTMLPurifier_Printer {
foreach ($array as $val => $b) {
$value[] = $val;
}
+ //TODO does this need a break?
case HTMLPurifier_VarParser::ALIST:
$value = implode(PHP_EOL, $value);
break;
@@ -281,25 +340,27 @@ class HTMLPurifier_Printer_ConfigForm_default extends HTMLPurifier_Printer {
$value = serialize($value);
}
$attr = array(
- 'name' => "$name"."[$ns.$directive]",
+ 'name' => "$name" . "[$ns.$directive]",
'id' => "$name:$ns.$directive"
);
- if ($value === null) $attr['disabled'] = 'disabled';
+ if ($value === null) {
+ $attr['disabled'] = 'disabled';
+ }
if (isset($def->allowed)) {
$ret .= $this->start('select', $attr);
foreach ($def->allowed as $val => $b) {
$attr = array();
- if ($value == $val) $attr['selected'] = 'selected';
+ if ($value == $val) {
+ $attr['selected'] = 'selected';
+ }
$ret .= $this->element('option', $val, $attr);
}
$ret .= $this->end('select');
- } elseif (
- $type === HTMLPurifier_VarParser::TEXT ||
- $type === HTMLPurifier_VarParser::ITEXT ||
- $type === HTMLPurifier_VarParser::ALIST ||
- $type === HTMLPurifier_VarParser::HASH ||
- $type === HTMLPurifier_VarParser::LOOKUP
- ) {
+ } elseif ($type === HTMLPurifier_VarParser::TEXT ||
+ $type === HTMLPurifier_VarParser::ITEXT ||
+ $type === HTMLPurifier_VarParser::ALIST ||
+ $type === HTMLPurifier_VarParser::HASH ||
+ $type === HTMLPurifier_VarParser::LOOKUP) {
$attr['cols'] = $this->cols;
$attr['rows'] = $this->rows;
$ret .= $this->start('textarea', $attr);
@@ -317,8 +378,18 @@ class HTMLPurifier_Printer_ConfigForm_default extends HTMLPurifier_Printer {
/**
* Bool form field printer
*/
-class HTMLPurifier_Printer_ConfigForm_bool extends HTMLPurifier_Printer {
- public function render($ns, $directive, $value, $name, $config) {
+class HTMLPurifier_Printer_ConfigForm_bool extends HTMLPurifier_Printer
+{
+ /**
+ * @param string $ns
+ * @param string $directive
+ * @param string $value
+ * @param string $name
+ * @param HTMLPurifier_Config|array $config
+ * @return string
+ */
+ public function render($ns, $directive, $value, $name, $config)
+ {
if (is_array($config) && isset($config[0])) {
$gen_config = $config[0];
$config = $config[1];
@@ -336,12 +407,16 @@ class HTMLPurifier_Printer_ConfigForm_bool extends HTMLPurifier_Printer {
$attr = array(
'type' => 'radio',
- 'name' => "$name"."[$ns.$directive]",
+ 'name' => "$name" . "[$ns.$directive]",
'id' => "$name:Yes_$ns.$directive",
'value' => '1'
);
- if ($value === true) $attr['checked'] = 'checked';
- if ($value === null) $attr['disabled'] = 'disabled';
+ if ($value === true) {
+ $attr['checked'] = 'checked';
+ }
+ if ($value === null) {
+ $attr['disabled'] = 'disabled';
+ }
$ret .= $this->elementEmpty('input', $attr);
$ret .= $this->start('label', array('for' => "$name:No_$ns.$directive"));
@@ -351,12 +426,16 @@ class HTMLPurifier_Printer_ConfigForm_bool extends HTMLPurifier_Printer {
$attr = array(
'type' => 'radio',
- 'name' => "$name"."[$ns.$directive]",
+ 'name' => "$name" . "[$ns.$directive]",
'id' => "$name:No_$ns.$directive",
'value' => '0'
);
- if ($value === false) $attr['checked'] = 'checked';
- if ($value === null) $attr['disabled'] = 'disabled';
+ if ($value === false) {
+ $attr['checked'] = 'checked';
+ }
+ if ($value === null) {
+ $attr['disabled'] = 'disabled';
+ }
$ret .= $this->elementEmpty('input', $attr);
$ret .= $this->end('div');
diff --git a/library/HTMLPurifier/Printer/HTMLDefinition.php b/library/HTMLPurifier/Printer/HTMLDefinition.php
index 8a8f126b8..5f2f2f8a7 100644
--- a/library/HTMLPurifier/Printer/HTMLDefinition.php
+++ b/library/HTMLPurifier/Printer/HTMLDefinition.php
@@ -4,11 +4,16 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
{
/**
- * Instance of HTMLPurifier_HTMLDefinition, for easy access
+ * @type HTMLPurifier_HTMLDefinition, for easy access
*/
protected $def;
- public function render($config) {
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return string
+ */
+ public function render($config)
+ {
$ret = '';
$this->config =& $config;
@@ -28,8 +33,10 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
/**
* Renders the Doctype table
+ * @return string
*/
- protected function renderDoctype() {
+ protected function renderDoctype()
+ {
$doctype = $this->def->doctype;
$ret = '';
$ret .= $this->start('table');
@@ -45,8 +52,10 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
/**
* Renders environment table, which is miscellaneous info
+ * @return string
*/
- protected function renderEnvironment() {
+ protected function renderEnvironment()
+ {
$def = $this->def;
$ret = '';
@@ -59,28 +68,28 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
$ret .= $this->row('Block wrap name', $def->info_block_wrapper);
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Global attributes');
- $ret .= $this->element('td', $this->listifyAttr($def->info_global_attr),0,0);
+ $ret .= $this->element('th', 'Global attributes');
+ $ret .= $this->element('td', $this->listifyAttr($def->info_global_attr), null, 0);
$ret .= $this->end('tr');
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Tag transforms');
- $list = array();
- foreach ($def->info_tag_transform as $old => $new) {
- $new = $this->getClass($new, 'TagTransform_');
- $list[] = "<$old> with $new";
- }
- $ret .= $this->element('td', $this->listify($list));
+ $ret .= $this->element('th', 'Tag transforms');
+ $list = array();
+ foreach ($def->info_tag_transform as $old => $new) {
+ $new = $this->getClass($new, 'TagTransform_');
+ $list[] = "<$old> with $new";
+ }
+ $ret .= $this->element('td', $this->listify($list));
$ret .= $this->end('tr');
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Pre-AttrTransform');
- $ret .= $this->element('td', $this->listifyObjectList($def->info_attr_transform_pre));
+ $ret .= $this->element('th', 'Pre-AttrTransform');
+ $ret .= $this->element('td', $this->listifyObjectList($def->info_attr_transform_pre));
$ret .= $this->end('tr');
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Post-AttrTransform');
- $ret .= $this->element('td', $this->listifyObjectList($def->info_attr_transform_post));
+ $ret .= $this->element('th', 'Post-AttrTransform');
+ $ret .= $this->element('td', $this->listifyObjectList($def->info_attr_transform_post));
$ret .= $this->end('tr');
$ret .= $this->end('table');
@@ -89,8 +98,10 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
/**
* Renders the Content Sets table
+ * @return string
*/
- protected function renderContentSets() {
+ protected function renderContentSets()
+ {
$ret = '';
$ret .= $this->start('table');
$ret .= $this->element('caption', 'Content Sets');
@@ -106,8 +117,10 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
/**
* Renders the Elements ($info) table
+ * @return string
*/
- protected function renderInfo() {
+ protected function renderInfo()
+ {
$ret = '';
$ret .= $this->start('table');
$ret .= $this->element('caption', 'Elements ($info)');
@@ -118,39 +131,39 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
$ret .= $this->end('tr');
foreach ($this->def->info as $name => $def) {
$ret .= $this->start('tr');
- $ret .= $this->element('th', "<$name>", array('class'=>'heavy', 'colspan' => 2));
+ $ret .= $this->element('th', "<$name>", array('class' => 'heavy', 'colspan' => 2));
$ret .= $this->end('tr');
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Inline content');
- $ret .= $this->element('td', $def->descendants_are_inline ? 'Yes' : 'No');
+ $ret .= $this->element('th', 'Inline content');
+ $ret .= $this->element('td', $def->descendants_are_inline ? 'Yes' : 'No');
$ret .= $this->end('tr');
if (!empty($def->excludes)) {
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Excludes');
- $ret .= $this->element('td', $this->listifyTagLookup($def->excludes));
+ $ret .= $this->element('th', 'Excludes');
+ $ret .= $this->element('td', $this->listifyTagLookup($def->excludes));
$ret .= $this->end('tr');
}
if (!empty($def->attr_transform_pre)) {
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Pre-AttrTransform');
- $ret .= $this->element('td', $this->listifyObjectList($def->attr_transform_pre));
+ $ret .= $this->element('th', 'Pre-AttrTransform');
+ $ret .= $this->element('td', $this->listifyObjectList($def->attr_transform_pre));
$ret .= $this->end('tr');
}
if (!empty($def->attr_transform_post)) {
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Post-AttrTransform');
- $ret .= $this->element('td', $this->listifyObjectList($def->attr_transform_post));
+ $ret .= $this->element('th', 'Post-AttrTransform');
+ $ret .= $this->element('td', $this->listifyObjectList($def->attr_transform_post));
$ret .= $this->end('tr');
}
if (!empty($def->auto_close)) {
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Auto closed by');
- $ret .= $this->element('td', $this->listifyTagLookup($def->auto_close));
+ $ret .= $this->element('th', 'Auto closed by');
+ $ret .= $this->element('td', $this->listifyTagLookup($def->auto_close));
$ret .= $this->end('tr');
}
$ret .= $this->start('tr');
- $ret .= $this->element('th', 'Allowed attributes');
- $ret .= $this->element('td',$this->listifyAttr($def->attr), array(), 0);
+ $ret .= $this->element('th', 'Allowed attributes');
+ $ret .= $this->element('td', $this->listifyAttr($def->attr), array(), 0);
$ret .= $this->end('tr');
if (!empty($def->required_attr)) {
@@ -165,64 +178,94 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
/**
* Renders a row describing the allowed children of an element
- * @param $def HTMLPurifier_ChildDef of pertinent element
+ * @param HTMLPurifier_ChildDef $def HTMLPurifier_ChildDef of pertinent element
+ * @return string
*/
- protected function renderChildren($def) {
+ protected function renderChildren($def)
+ {
$context = new HTMLPurifier_Context();
$ret = '';
$ret .= $this->start('tr');
- $elements = array();
- $attr = array();
- if (isset($def->elements)) {
- if ($def->type == 'strictblockquote') {
- $def->validateChildren(array(), $this->config, $context);
- }
- $elements = $def->elements;
+ $elements = array();
+ $attr = array();
+ if (isset($def->elements)) {
+ if ($def->type == 'strictblockquote') {
+ $def->validateChildren(array(), $this->config, $context);
}
- if ($def->type == 'chameleon') {
- $attr['rowspan'] = 2;
- } elseif ($def->type == 'empty') {
- $elements = array();
- } elseif ($def->type == 'table') {
- $elements = array_flip(array('col', 'caption', 'colgroup', 'thead',
- 'tfoot', 'tbody', 'tr'));
- }
- $ret .= $this->element('th', 'Allowed children', $attr);
-
- if ($def->type == 'chameleon') {
-
- $ret .= $this->element('td',
- '<em>Block</em>: ' .
- $this->escape($this->listifyTagLookup($def->block->elements)),0,0);
- $ret .= $this->end('tr');
- $ret .= $this->start('tr');
- $ret .= $this->element('td',
- '<em>Inline</em>: ' .
- $this->escape($this->listifyTagLookup($def->inline->elements)),0,0);
-
- } elseif ($def->type == 'custom') {
+ $elements = $def->elements;
+ }
+ if ($def->type == 'chameleon') {
+ $attr['rowspan'] = 2;
+ } elseif ($def->type == 'empty') {
+ $elements = array();
+ } elseif ($def->type == 'table') {
+ $elements = array_flip(
+ array(
+ 'col',
+ 'caption',
+ 'colgroup',
+ 'thead',
+ 'tfoot',
+ 'tbody',
+ 'tr'
+ )
+ );
+ }
+ $ret .= $this->element('th', 'Allowed children', $attr);
- $ret .= $this->element('td', '<em>'.ucfirst($def->type).'</em>: ' .
- $def->dtd_regex);
+ if ($def->type == 'chameleon') {
- } else {
- $ret .= $this->element('td',
- '<em>'.ucfirst($def->type).'</em>: ' .
- $this->escape($this->listifyTagLookup($elements)),0,0);
- }
+ $ret .= $this->element(
+ 'td',
+ '<em>Block</em>: ' .
+ $this->escape($this->listifyTagLookup($def->block->elements)),
+ null,
+ 0
+ );
+ $ret .= $this->end('tr');
+ $ret .= $this->start('tr');
+ $ret .= $this->element(
+ 'td',
+ '<em>Inline</em>: ' .
+ $this->escape($this->listifyTagLookup($def->inline->elements)),
+ null,
+ 0
+ );
+
+ } elseif ($def->type == 'custom') {
+
+ $ret .= $this->element(
+ 'td',
+ '<em>' . ucfirst($def->type) . '</em>: ' .
+ $def->dtd_regex
+ );
+
+ } else {
+ $ret .= $this->element(
+ 'td',
+ '<em>' . ucfirst($def->type) . '</em>: ' .
+ $this->escape($this->listifyTagLookup($elements)),
+ null,
+ 0
+ );
+ }
$ret .= $this->end('tr');
return $ret;
}
/**
* Listifies a tag lookup table.
- * @param $array Tag lookup array in form of array('tagname' => true)
+ * @param array $array Tag lookup array in form of array('tagname' => true)
+ * @return string
*/
- protected function listifyTagLookup($array) {
+ protected function listifyTagLookup($array)
+ {
ksort($array);
$list = array();
foreach ($array as $name => $discard) {
- if ($name !== '#PCDATA' && !isset($this->def->info[$name])) continue;
+ if ($name !== '#PCDATA' && !isset($this->def->info[$name])) {
+ continue;
+ }
$list[] = $name;
}
return $this->listify($list);
@@ -230,13 +273,15 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
/**
* Listifies a list of objects by retrieving class names and internal state
- * @param $array List of objects
+ * @param array $array List of objects
+ * @return string
* @todo Also add information about internal state
*/
- protected function listifyObjectList($array) {
+ protected function listifyObjectList($array)
+ {
ksort($array);
$list = array();
- foreach ($array as $discard => $obj) {
+ foreach ($array as $obj) {
$list[] = $this->getClass($obj, 'AttrTransform_');
}
return $this->listify($list);
@@ -244,13 +289,17 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
/**
* Listifies a hash of attributes to AttrDef classes
- * @param $array Array hash in form of array('attrname' => HTMLPurifier_AttrDef)
+ * @param array $array Array hash in form of array('attrname' => HTMLPurifier_AttrDef)
+ * @return string
*/
- protected function listifyAttr($array) {
+ protected function listifyAttr($array)
+ {
ksort($array);
$list = array();
foreach ($array as $name => $obj) {
- if ($obj === false) continue;
+ if ($obj === false) {
+ continue;
+ }
$list[] = "$name&nbsp;=&nbsp;<i>" . $this->getClass($obj, 'AttrDef_') . '</i>';
}
return $this->listify($list);
@@ -258,15 +307,18 @@ class HTMLPurifier_Printer_HTMLDefinition extends HTMLPurifier_Printer
/**
* Creates a heavy header row
+ * @param string $text
+ * @param int $num
+ * @return string
*/
- protected function heavyHeader($text, $num = 1) {
+ protected function heavyHeader($text, $num = 1)
+ {
$ret = '';
$ret .= $this->start('tr');
$ret .= $this->element('th', $text, array('colspan' => $num, 'class' => 'heavy'));
$ret .= $this->end('tr');
return $ret;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/PropertyList.php b/library/HTMLPurifier/PropertyList.php
index 2b99fb7bc..189348fd9 100644
--- a/library/HTMLPurifier/PropertyList.php
+++ b/library/HTMLPurifier/PropertyList.php
@@ -6,61 +6,93 @@
class HTMLPurifier_PropertyList
{
/**
- * Internal data-structure for properties
+ * Internal data-structure for properties.
+ * @type array
*/
protected $data = array();
/**
- * Parent plist
+ * Parent plist.
+ * @type HTMLPurifier_PropertyList
*/
protected $parent;
+ /**
+ * Cache.
+ * @type array
+ */
protected $cache;
- public function __construct($parent = null) {
+ /**
+ * @param HTMLPurifier_PropertyList $parent Parent plist
+ */
+ public function __construct($parent = null)
+ {
$this->parent = $parent;
}
/**
* Recursively retrieves the value for a key
+ * @param string $name
+ * @throws HTMLPurifier_Exception
*/
- public function get($name) {
- if ($this->has($name)) return $this->data[$name];
+ public function get($name)
+ {
+ if ($this->has($name)) {
+ return $this->data[$name];
+ }
// possible performance bottleneck, convert to iterative if necessary
- if ($this->parent) return $this->parent->get($name);
+ if ($this->parent) {
+ return $this->parent->get($name);
+ }
throw new HTMLPurifier_Exception("Key '$name' not found");
}
/**
* Sets the value of a key, for this plist
+ * @param string $name
+ * @param mixed $value
*/
- public function set($name, $value) {
+ public function set($name, $value)
+ {
$this->data[$name] = $value;
}
/**
* Returns true if a given key exists
+ * @param string $name
+ * @return bool
*/
- public function has($name) {
+ public function has($name)
+ {
return array_key_exists($name, $this->data);
}
/**
* Resets a value to the value of it's parent, usually the default. If
* no value is specified, the entire plist is reset.
+ * @param string $name
*/
- public function reset($name = null) {
- if ($name == null) $this->data = array();
- else unset($this->data[$name]);
+ public function reset($name = null)
+ {
+ if ($name == null) {
+ $this->data = array();
+ } else {
+ unset($this->data[$name]);
+ }
}
/**
* Squashes this property list and all of its property lists into a single
* array, and returns the array. This value is cached by default.
- * @param $force If true, ignores the cache and regenerates the array.
+ * @param bool $force If true, ignores the cache and regenerates the array.
+ * @return array
*/
- public function squash($force = false) {
- if ($this->cache !== null && !$force) return $this->cache;
+ public function squash($force = false)
+ {
+ if ($this->cache !== null && !$force) {
+ return $this->cache;
+ }
if ($this->parent) {
return $this->cache = array_merge($this->parent->squash($force), $this->data);
} else {
@@ -70,15 +102,19 @@ class HTMLPurifier_PropertyList
/**
* Returns the parent plist.
+ * @return HTMLPurifier_PropertyList
*/
- public function getParent() {
+ public function getParent()
+ {
return $this->parent;
}
/**
* Sets the parent plist.
+ * @param HTMLPurifier_PropertyList $plist Parent plist
*/
- public function setParent($plist) {
+ public function setParent($plist)
+ {
$this->parent = $plist;
}
}
diff --git a/library/HTMLPurifier/PropertyListIterator.php b/library/HTMLPurifier/PropertyListIterator.php
index 8f250443e..15b330ea3 100644
--- a/library/HTMLPurifier/PropertyListIterator.php
+++ b/library/HTMLPurifier/PropertyListIterator.php
@@ -6,27 +6,37 @@
class HTMLPurifier_PropertyListIterator extends FilterIterator
{
+ /**
+ * @type int
+ */
protected $l;
+ /**
+ * @type string
+ */
protected $filter;
/**
- * @param $data Array of data to iterate over
- * @param $filter Optional prefix to only allow values of
+ * @param Iterator $iterator Array of data to iterate over
+ * @param string $filter Optional prefix to only allow values of
*/
- public function __construct(Iterator $iterator, $filter = null) {
+ public function __construct(Iterator $iterator, $filter = null)
+ {
parent::__construct($iterator);
$this->l = strlen($filter);
$this->filter = $filter;
}
- public function accept() {
+ /**
+ * @return bool
+ */
+ public function accept()
+ {
$key = $this->getInnerIterator()->key();
- if( strncmp($key, $this->filter, $this->l) !== 0 ) {
+ if (strncmp($key, $this->filter, $this->l) !== 0) {
return false;
}
return true;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Queue.php b/library/HTMLPurifier/Queue.php
new file mode 100644
index 000000000..f58db9042
--- /dev/null
+++ b/library/HTMLPurifier/Queue.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * A simple array-backed queue, based off of the classic Okasaki
+ * persistent amortized queue. The basic idea is to maintain two
+ * stacks: an input stack and an output stack. When the output
+ * stack runs out, reverse the input stack and use it as the output
+ * stack.
+ *
+ * We don't use the SPL implementation because it's only supported
+ * on PHP 5.3 and later.
+ *
+ * Exercise: Prove that push/pop on this queue take amortized O(1) time.
+ *
+ * Exercise: Extend this queue to be a deque, while preserving amortized
+ * O(1) time. Some care must be taken on rebalancing to avoid quadratic
+ * behaviour caused by repeatedly shuffling data from the input stack
+ * to the output stack and back.
+ */
+class HTMLPurifier_Queue {
+ private $input;
+ private $output;
+
+ public function __construct($input = array()) {
+ $this->input = $input;
+ $this->output = array();
+ }
+
+ /**
+ * Shifts an element off the front of the queue.
+ */
+ public function shift() {
+ if (empty($this->output)) {
+ $this->output = array_reverse($this->input);
+ $this->input = array();
+ }
+ if (empty($this->output)) {
+ return NULL;
+ }
+ return array_pop($this->output);
+ }
+
+ /**
+ * Pushes an element onto the front of the queue.
+ */
+ public function push($x) {
+ array_push($this->input, $x);
+ }
+
+ /**
+ * Checks if it's empty.
+ */
+ public function isEmpty() {
+ return empty($this->input) && empty($this->output);
+ }
+}
diff --git a/library/HTMLPurifier/Strategy.php b/library/HTMLPurifier/Strategy.php
index 246286521..e1ff3b72d 100644
--- a/library/HTMLPurifier/Strategy.php
+++ b/library/HTMLPurifier/Strategy.php
@@ -15,12 +15,12 @@ abstract class HTMLPurifier_Strategy
/**
* Executes the strategy on the tokens.
*
- * @param $tokens Array of HTMLPurifier_Token objects to be operated on.
- * @param $config Configuration options
- * @returns Processed array of token objects.
+ * @param HTMLPurifier_Token[] $tokens Array of HTMLPurifier_Token objects to be operated on.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[] Processed array of token objects.
*/
abstract public function execute($tokens, $config, $context);
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Strategy/Composite.php b/library/HTMLPurifier/Strategy/Composite.php
index 816490b79..d7d35ce7d 100644
--- a/library/HTMLPurifier/Strategy/Composite.php
+++ b/library/HTMLPurifier/Strategy/Composite.php
@@ -8,18 +8,23 @@ abstract class HTMLPurifier_Strategy_Composite extends HTMLPurifier_Strategy
/**
* List of strategies to run tokens through.
+ * @type HTMLPurifier_Strategy[]
*/
protected $strategies = array();
- abstract public function __construct();
-
- public function execute($tokens, $config, $context) {
+ /**
+ * @param HTMLPurifier_Token[] $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[]
+ */
+ public function execute($tokens, $config, $context)
+ {
foreach ($this->strategies as $strategy) {
$tokens = $strategy->execute($tokens, $config, $context);
}
return $tokens;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Strategy/Core.php b/library/HTMLPurifier/Strategy/Core.php
index d90e15860..4414c17d6 100644
--- a/library/HTMLPurifier/Strategy/Core.php
+++ b/library/HTMLPurifier/Strategy/Core.php
@@ -5,14 +5,13 @@
*/
class HTMLPurifier_Strategy_Core extends HTMLPurifier_Strategy_Composite
{
-
- public function __construct() {
+ public function __construct()
+ {
$this->strategies[] = new HTMLPurifier_Strategy_RemoveForeignElements();
$this->strategies[] = new HTMLPurifier_Strategy_MakeWellFormed();
$this->strategies[] = new HTMLPurifier_Strategy_FixNesting();
$this->strategies[] = new HTMLPurifier_Strategy_ValidateAttributes();
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Strategy/FixNesting.php b/library/HTMLPurifier/Strategy/FixNesting.php
index f81802391..6fa673db9 100644
--- a/library/HTMLPurifier/Strategy/FixNesting.php
+++ b/library/HTMLPurifier/Strategy/FixNesting.php
@@ -10,12 +10,12 @@
* document type definitions, such as the chameleon nature of ins/del
* tags and global child exclusions.
*
- * The first major objective of this strategy is to iterate through all the
- * nodes (not tokens) of the list of tokens and determine whether or not
- * their children conform to the element's definition. If they do not, the
- * child definition may optionally supply an amended list of elements that
- * is valid or require that the entire node be deleted (and the previous
- * node rescanned).
+ * The first major objective of this strategy is to iterate through all
+ * the nodes and determine whether or not their children conform to the
+ * element's definition. If they do not, the child definition may
+ * optionally supply an amended list of elements that is valid or
+ * require that the entire node be deleted (and the previous node
+ * rescanned).
*
* The second objective is to ensure that explicitly excluded elements of
* an element do not appear in its children. Code that accomplishes this
@@ -25,24 +25,33 @@
* @note Whether or not unrecognized children are silently dropped or
* translated into text depends on the child definitions.
*
- * @todo Enable nodes to be bubbled out of the structure.
+ * @todo Enable nodes to be bubbled out of the structure. This is
+ * easier with our new algorithm.
*/
class HTMLPurifier_Strategy_FixNesting extends HTMLPurifier_Strategy
{
- public function execute($tokens, $config, $context) {
+ /**
+ * @param HTMLPurifier_Token[] $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array|HTMLPurifier_Token[]
+ */
+ public function execute($tokens, $config, $context)
+ {
+
//####################################################################//
// Pre-processing
+ // O(n) pass to convert to a tree, so that we can efficiently
+ // refer to substrings
+ $top_node = HTMLPurifier_Arborize::arborize($tokens, $config, $context);
+
// get a copy of the HTML definition
$definition = $config->getHTMLDefinition();
- // insert implicit "parent" node, will be removed at end.
- // DEFINITION CALL
- $parent_name = $definition->info_parent;
- array_unshift($tokens, new HTMLPurifier_Token_Start($parent_name));
- $tokens[] = new HTMLPurifier_Token_End($parent_name);
+ $excludes_enabled = !$config->get('Core.DisableExcludes');
// setup the context variable 'IsInline', for chameleon processing
// is 'false' when we are not inline, 'true' when it must always
@@ -57,272 +66,116 @@ class HTMLPurifier_Strategy_FixNesting extends HTMLPurifier_Strategy
//####################################################################//
// Loop initialization
- // stack that contains the indexes of all parents,
- // $stack[count($stack)-1] being the current parent
- $stack = array();
-
// stack that contains all elements that are excluded
// it is organized by parent elements, similar to $stack,
// but it is only populated when an element with exclusions is
// processed, i.e. there won't be empty exclusions.
- $exclude_stack = array();
+ $exclude_stack = array($definition->info_parent_def->excludes);
// variable that contains the start token while we are processing
// nodes. This enables error reporting to do its job
- $start_token = false;
- $context->register('CurrentToken', $start_token);
+ $node = $top_node;
+ // dummy token
+ list($token, $d) = $node->toTokenPair();
+ $context->register('CurrentNode', $node);
+ $context->register('CurrentToken', $token);
//####################################################################//
// Loop
- // iterate through all start nodes. Determining the start node
- // is complicated so it has been omitted from the loop construct
- for ($i = 0, $size = count($tokens) ; $i < $size; ) {
-
- //################################################################//
- // Gather information on children
-
- // child token accumulator
- $child_tokens = array();
-
- // scroll to the end of this node, report number, and collect
- // all children
- for ($j = $i, $depth = 0; ; $j++) {
- if ($tokens[$j] instanceof HTMLPurifier_Token_Start) {
- $depth++;
- // skip token assignment on first iteration, this is the
- // token we currently are on
- if ($depth == 1) continue;
- } elseif ($tokens[$j] instanceof HTMLPurifier_Token_End) {
- $depth--;
- // skip token assignment on last iteration, this is the
- // end token of the token we're currently on
- if ($depth == 0) break;
- }
- $child_tokens[] = $tokens[$j];
- }
-
- // $i is index of start token
- // $j is index of end token
-
- $start_token = $tokens[$i]; // to make token available via CurrentToken
-
- //################################################################//
- // Gather information on parent
-
- // calculate parent information
- if ($count = count($stack)) {
- $parent_index = $stack[$count-1];
- $parent_name = $tokens[$parent_index]->name;
- if ($parent_index == 0) {
- $parent_def = $definition->info_parent_def;
- } else {
- $parent_def = $definition->info[$parent_name];
- }
- } else {
- // processing as if the parent were the "root" node
- // unknown info, it won't be used anyway, in the future,
- // we may want to enforce one element only (this is
- // necessary for HTML Purifier to clean entire documents
- $parent_index = $parent_name = $parent_def = null;
- }
-
- // calculate context
- if ($is_inline === false) {
- // check if conditions make it inline
- if (!empty($parent_def) && $parent_def->descendants_are_inline) {
- $is_inline = $count - 1;
- }
- } else {
- // check if we're out of inline
- if ($count === $is_inline) {
- $is_inline = false;
- }
- }
-
- //################################################################//
- // Determine whether element is explicitly excluded SGML-style
-
- // determine whether or not element is excluded by checking all
- // parent exclusions. The array should not be very large, two
- // elements at most.
- $excluded = false;
- if (!empty($exclude_stack)) {
- foreach ($exclude_stack as $lookup) {
- if (isset($lookup[$tokens[$i]->name])) {
- $excluded = true;
- // no need to continue processing
- break;
- }
+ // We need to implement a post-order traversal iteratively, to
+ // avoid running into stack space limits. This is pretty tricky
+ // to reason about, so we just manually stack-ify the recursive
+ // variant:
+ //
+ // function f($node) {
+ // foreach ($node->children as $child) {
+ // f($child);
+ // }
+ // validate($node);
+ // }
+ //
+ // Thus, we will represent a stack frame as array($node,
+ // $is_inline, stack of children)
+ // e.g. array_reverse($node->children) - already processed
+ // children.
+
+ $parent_def = $definition->info_parent_def;
+ $stack = array(
+ array($top_node,
+ $parent_def->descendants_are_inline,
+ $parent_def->excludes, // exclusions
+ 0)
+ );
+
+ while (!empty($stack)) {
+ list($node, $is_inline, $excludes, $ix) = array_pop($stack);
+ // recursive call
+ $go = false;
+ $def = empty($stack) ? $definition->info_parent_def : $definition->info[$node->name];
+ while (isset($node->children[$ix])) {
+ $child = $node->children[$ix++];
+ if ($child instanceof HTMLPurifier_Node_Element) {
+ $go = true;
+ $stack[] = array($node, $is_inline, $excludes, $ix);
+ $stack[] = array($child,
+ // ToDo: I don't think it matters if it's def or
+ // child_def, but double check this...
+ $is_inline || $def->descendants_are_inline,
+ empty($def->excludes) ? $excludes
+ : array_merge($excludes, $def->excludes),
+ 0);
+ break;
}
- }
-
- //################################################################//
- // Perform child validation
-
- if ($excluded) {
- // there is an exclusion, remove the entire node
- $result = false;
- $excludes = array(); // not used, but good to initialize anyway
+ };
+ if ($go) continue;
+ list($token, $d) = $node->toTokenPair();
+ // base case
+ if ($excludes_enabled && isset($excludes[$node->name])) {
+ $node->dead = true;
+ if ($e) $e->send(E_ERROR, 'Strategy_FixNesting: Node excluded');
} else {
- // DEFINITION CALL
- if ($i === 0) {
- // special processing for the first node
- $def = $definition->info_parent_def;
- } else {
- $def = $definition->info[$tokens[$i]->name];
-
+ // XXX I suppose it would be slightly more efficient to
+ // avoid the allocation here and have children
+ // strategies handle it
+ $children = array();
+ foreach ($node->children as $child) {
+ if (!$child->dead) $children[] = $child;
}
-
- if (!empty($def->child)) {
- // have DTD child def validate children
- $result = $def->child->validateChildren(
- $child_tokens, $config, $context);
+ $result = $def->child->validateChildren($children, $config, $context);
+ if ($result === true) {
+ // nop
+ $node->children = $children;
+ } elseif ($result === false) {
+ $node->dead = true;
+ if ($e) $e->send(E_ERROR, 'Strategy_FixNesting: Node removed');
} else {
- // weird, no child definition, get rid of everything
- $result = false;
- }
-
- // determine whether or not this element has any exclusions
- $excludes = $def->excludes;
- }
-
- // $result is now a bool or array
-
- //################################################################//
- // Process result by interpreting $result
-
- if ($result === true || $child_tokens === $result) {
- // leave the node as is
-
- // register start token as a parental node start
- $stack[] = $i;
-
- // register exclusions if there are any
- if (!empty($excludes)) $exclude_stack[] = $excludes;
-
- // move cursor to next possible start node
- $i++;
-
- } elseif($result === false) {
- // remove entire node
-
- if ($e) {
- if ($excluded) {
- $e->send(E_ERROR, 'Strategy_FixNesting: Node excluded');
- } else {
- $e->send(E_ERROR, 'Strategy_FixNesting: Node removed');
- }
- }
-
- // calculate length of inner tokens and current tokens
- $length = $j - $i + 1;
-
- // perform removal
- array_splice($tokens, $i, $length);
-
- // update size
- $size -= $length;
-
- // there is no start token to register,
- // current node is now the next possible start node
- // unless it turns out that we need to do a double-check
-
- // this is a rought heuristic that covers 100% of HTML's
- // cases and 99% of all other cases. A child definition
- // that would be tricked by this would be something like:
- // ( | a b c) where it's all or nothing. Fortunately,
- // our current implementation claims that that case would
- // not allow empty, even if it did
- if (!$parent_def->child->allow_empty) {
- // we need to do a double-check
- $i = $parent_index;
- array_pop($stack);
- }
-
- // PROJECTED OPTIMIZATION: Process all children elements before
- // reprocessing parent node.
-
- } else {
- // replace node with $result
-
- // calculate length of inner tokens
- $length = $j - $i - 1;
-
- if ($e) {
- if (empty($result) && $length) {
- $e->send(E_ERROR, 'Strategy_FixNesting: Node contents removed');
- } else {
- $e->send(E_WARNING, 'Strategy_FixNesting: Node reorganized');
+ $node->children = $result;
+ if ($e) {
+ // XXX This will miss mutations of internal nodes. Perhaps defer to the child validators
+ if (empty($result) && !empty($children)) {
+ $e->send(E_ERROR, 'Strategy_FixNesting: Node contents removed');
+ } else if ($result != $children) {
+ $e->send(E_WARNING, 'Strategy_FixNesting: Node reorganized');
+ }
}
}
-
- // perform replacement
- array_splice($tokens, $i + 1, $length, $result);
-
- // update size
- $size -= $length;
- $size += count($result);
-
- // register start token as a parental node start
- $stack[] = $i;
-
- // register exclusions if there are any
- if (!empty($excludes)) $exclude_stack[] = $excludes;
-
- // move cursor to next possible start node
- $i++;
-
}
-
- //################################################################//
- // Scroll to next start node
-
- // We assume, at this point, that $i is the index of the token
- // that is the first possible new start point for a node.
-
- // Test if the token indeed is a start tag, if not, move forward
- // and test again.
- $size = count($tokens);
- while ($i < $size and !$tokens[$i] instanceof HTMLPurifier_Token_Start) {
- if ($tokens[$i] instanceof HTMLPurifier_Token_End) {
- // pop a token index off the stack if we ended a node
- array_pop($stack);
- // pop an exclusion lookup off exclusion stack if
- // we ended node and that node had exclusions
- if ($i == 0 || $i == $size - 1) {
- // use specialized var if it's the super-parent
- $s_excludes = $definition->info_parent_def->excludes;
- } else {
- $s_excludes = $definition->info[$tokens[$i]->name]->excludes;
- }
- if ($s_excludes) {
- array_pop($exclude_stack);
- }
- }
- $i++;
- }
-
}
//####################################################################//
// Post-processing
- // remove implicit parent tokens at the beginning and end
- array_shift($tokens);
- array_pop($tokens);
-
// remove context variables
$context->destroy('IsInline');
+ $context->destroy('CurrentNode');
$context->destroy('CurrentToken');
//####################################################################//
// Return
- return $tokens;
-
+ return HTMLPurifier_Arborize::flatten($node, $config, $context);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Strategy/MakeWellFormed.php b/library/HTMLPurifier/Strategy/MakeWellFormed.php
index c73658400..e389e0011 100644
--- a/library/HTMLPurifier/Strategy/MakeWellFormed.php
+++ b/library/HTMLPurifier/Strategy/MakeWellFormed.php
@@ -2,66 +2,97 @@
/**
* Takes tokens makes them well-formed (balance end tags, etc.)
+ *
+ * Specification of the armor attributes this strategy uses:
+ *
+ * - MakeWellFormed_TagClosedError: This armor field is used to
+ * suppress tag closed errors for certain tokens [TagClosedSuppress],
+ * in particular, if a tag was generated automatically by HTML
+ * Purifier, we may rely on our infrastructure to close it for us
+ * and shouldn't report an error to the user [TagClosedAuto].
*/
class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
{
/**
* Array stream of tokens being processed.
+ * @type HTMLPurifier_Token[]
*/
protected $tokens;
/**
- * Current index in $tokens.
+ * Current token.
+ * @type HTMLPurifier_Token
*/
- protected $t;
+ protected $token;
+
+ /**
+ * Zipper managing the true state.
+ * @type HTMLPurifier_Zipper
+ */
+ protected $zipper;
/**
* Current nesting of elements.
+ * @type array
*/
protected $stack;
/**
* Injectors active in this stream processing.
+ * @type HTMLPurifier_Injector[]
*/
protected $injectors;
/**
* Current instance of HTMLPurifier_Config.
+ * @type HTMLPurifier_Config
*/
protected $config;
/**
* Current instance of HTMLPurifier_Context.
+ * @type HTMLPurifier_Context
*/
protected $context;
- public function execute($tokens, $config, $context) {
-
+ /**
+ * @param HTMLPurifier_Token[] $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[]
+ * @throws HTMLPurifier_Exception
+ */
+ public function execute($tokens, $config, $context)
+ {
$definition = $config->getHTMLDefinition();
// local variables
$generator = new HTMLPurifier_Generator($config, $context);
$escape_invalid_tags = $config->get('Core.EscapeInvalidTags');
+ // used for autoclose early abortion
+ $global_parent_allowed_elements = $definition->info_parent_def->child->getAllowedElements($config);
$e = $context->get('ErrorCollector', true);
- $t = false; // token index
$i = false; // injector index
- $token = false; // the current token
- $reprocess = false; // whether or not to reprocess the same token
+ list($zipper, $token) = HTMLPurifier_Zipper::fromArray($tokens);
+ if ($token === NULL) {
+ return array();
+ }
+ $reprocess = false; // whether or not to reprocess the same token
$stack = array();
// member variables
- $this->stack =& $stack;
- $this->t =& $t;
- $this->tokens =& $tokens;
- $this->config = $config;
+ $this->stack =& $stack;
+ $this->tokens =& $tokens;
+ $this->token =& $token;
+ $this->zipper =& $zipper;
+ $this->config = $config;
$this->context = $context;
// context variables
$context->register('CurrentNesting', $stack);
- $context->register('InputIndex', $t);
- $context->register('InputTokens', $tokens);
- $context->register('CurrentToken', $token);
+ $context->register('InputZipper', $zipper);
+ $context->register('CurrentToken', $token);
// -- begin INJECTOR --
@@ -73,9 +104,13 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
unset($injectors['Custom']); // special case
foreach ($injectors as $injector => $b) {
// XXX: Fix with a legitimate lookup table of enabled filters
- if (strpos($injector, '.') !== false) continue;
+ if (strpos($injector, '.') !== false) {
+ continue;
+ }
$injector = "HTMLPurifier_Injector_$injector";
- if (!$b) continue;
+ if (!$b) {
+ continue;
+ }
$this->injectors[] = new $injector;
}
foreach ($def_injectors as $injector) {
@@ -83,7 +118,9 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
$this->injectors[] = $injector;
}
foreach ($custom_injectors as $injector) {
- if (!$injector) continue;
+ if (!$injector) {
+ continue;
+ }
if (is_string($injector)) {
$injector = "HTMLPurifier_Injector_$injector";
$injector = new $injector;
@@ -95,14 +132,16 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
// variables for performance reasons
foreach ($this->injectors as $ix => $injector) {
$error = $injector->prepare($config, $context);
- if (!$error) continue;
+ if (!$error) {
+ continue;
+ }
array_splice($this->injectors, $ix, 1); // rm the injector
trigger_error("Cannot enable {$injector->name} injector because $error is not allowed", E_USER_WARNING);
}
// -- end INJECTOR --
- // a note on punting:
+ // a note on reprocessing:
// In order to reduce code duplication, whenever some code needs
// to make HTML changes in order to make things "correct", the
// new HTML gets sent through the purifier, regardless of its
@@ -111,70 +150,75 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
// punt ($reprocess = true; continue;) and it does that for us.
// isset is in loop because $tokens size changes during loop exec
- for (
- $t = 0;
- $t == 0 || isset($tokens[$t - 1]);
- // only increment if we don't need to reprocess
- $reprocess ? $reprocess = false : $t++
- ) {
+ for (;;
+ // only increment if we don't need to reprocess
+ $reprocess ? $reprocess = false : $token = $zipper->next($token)) {
// check for a rewind
- if (is_int($i) && $i >= 0) {
+ if (is_int($i)) {
// possibility: disable rewinding if the current token has a
// rewind set on it already. This would offer protection from
// infinite loop, but might hinder some advanced rewinding.
- $rewind_to = $this->injectors[$i]->getRewind();
- if (is_int($rewind_to) && $rewind_to < $t) {
- if ($rewind_to < 0) $rewind_to = 0;
- while ($t > $rewind_to) {
- $t--;
- $prev = $tokens[$t];
+ $rewind_offset = $this->injectors[$i]->getRewindOffset();
+ if (is_int($rewind_offset)) {
+ for ($j = 0; $j < $rewind_offset; $j++) {
+ if (empty($zipper->front)) break;
+ $token = $zipper->prev($token);
// indicate that other injectors should not process this token,
// but we need to reprocess it
- unset($prev->skip[$i]);
- $prev->rewind = $i;
- if ($prev instanceof HTMLPurifier_Token_Start) array_pop($this->stack);
- elseif ($prev instanceof HTMLPurifier_Token_End) $this->stack[] = $prev->start;
+ unset($token->skip[$i]);
+ $token->rewind = $i;
+ if ($token instanceof HTMLPurifier_Token_Start) {
+ array_pop($this->stack);
+ } elseif ($token instanceof HTMLPurifier_Token_End) {
+ $this->stack[] = $token->start;
+ }
}
}
$i = false;
}
// handle case of document end
- if (!isset($tokens[$t])) {
+ if ($token === NULL) {
// kill processing if stack is empty
- if (empty($this->stack)) break;
+ if (empty($this->stack)) {
+ break;
+ }
// peek
$top_nesting = array_pop($this->stack);
$this->stack[] = $top_nesting;
- // send error
+ // send error [TagClosedSuppress]
if ($e && !isset($top_nesting->armor['MakeWellFormed_TagClosedError'])) {
$e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag closed by document end', $top_nesting);
}
// append, don't splice, since this is the end
- $tokens[] = new HTMLPurifier_Token_End($top_nesting->name);
+ $token = new HTMLPurifier_Token_End($top_nesting->name);
// punt!
$reprocess = true;
continue;
}
- $token = $tokens[$t];
-
- //echo '<br>'; printTokens($tokens, $t); printTokens($this->stack);
+ //echo '<br>'; printZipper($zipper, $token);//printTokens($this->stack);
//flush();
// quick-check: if it's not a tag, no need to process
if (empty($token->is_tag)) {
if ($token instanceof HTMLPurifier_Token_Text) {
foreach ($this->injectors as $i => $injector) {
- if (isset($token->skip[$i])) continue;
- if ($token->rewind !== null && $token->rewind !== $i) continue;
- $injector->handleText($token);
- $this->processToken($token, $i);
+ if (isset($token->skip[$i])) {
+ continue;
+ }
+ if ($token->rewind !== null && $token->rewind !== $i) {
+ continue;
+ }
+ // XXX fuckup
+ $r = $token;
+ $injector->handleText($r);
+ $token = $this->processToken($r, $i);
$reprocess = true;
break;
}
@@ -193,12 +237,22 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
$ok = false;
if ($type === 'empty' && $token instanceof HTMLPurifier_Token_Start) {
// claims to be a start tag but is empty
- $token = new HTMLPurifier_Token_Empty($token->name, $token->attr);
+ $token = new HTMLPurifier_Token_Empty(
+ $token->name,
+ $token->attr,
+ $token->line,
+ $token->col,
+ $token->armor
+ );
$ok = true;
} elseif ($type && $type !== 'empty' && $token instanceof HTMLPurifier_Token_Empty) {
// claims to be empty but really is a start tag
- $this->swap(new HTMLPurifier_Token_End($token->name));
- $this->insertBefore(new HTMLPurifier_Token_Start($token->name, $token->attr));
+ // NB: this assignment is required
+ $old_token = $token;
+ $token = new HTMLPurifier_Token_End($token->name);
+ $token = $this->insertBefore(
+ new HTMLPurifier_Token_Start($old_token->name, $old_token->attr, $old_token->line, $old_token->col, $old_token->armor)
+ );
// punt (since we had to modify the input stream in a non-trivial way)
$reprocess = true;
continue;
@@ -211,55 +265,96 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
// ...unless they also have to close their parent
if (!empty($this->stack)) {
+ // Performance note: you might think that it's rather
+ // inefficient, recalculating the autoclose information
+ // for every tag that a token closes (since when we
+ // do an autoclose, we push a new token into the
+ // stream and then /process/ that, before
+ // re-processing this token.) But this is
+ // necessary, because an injector can make an
+ // arbitrary transformations to the autoclosing
+ // tokens we introduce, so things may have changed
+ // in the meantime. Also, doing the inefficient thing is
+ // "easy" to reason about (for certain perverse definitions
+ // of "easy")
+
$parent = array_pop($this->stack);
$this->stack[] = $parent;
+ $parent_def = null;
+ $parent_elements = null;
+ $autoclose = false;
if (isset($definition->info[$parent->name])) {
- $elements = $definition->info[$parent->name]->child->getAllowedElements($config);
- $autoclose = !isset($elements[$token->name]);
- } else {
- $autoclose = false;
+ $parent_def = $definition->info[$parent->name];
+ $parent_elements = $parent_def->child->getAllowedElements($config);
+ $autoclose = !isset($parent_elements[$token->name]);
}
if ($autoclose && $definition->info[$token->name]->wrap) {
- // Check if an element can be wrapped by another
- // element to make it valid in a context (for
+ // Check if an element can be wrapped by another
+ // element to make it valid in a context (for
// example, <ul><ul> needs a <li> in between)
$wrapname = $definition->info[$token->name]->wrap;
$wrapdef = $definition->info[$wrapname];
$elements = $wrapdef->child->getAllowedElements($config);
- $parent_elements = $definition->info[$parent->name]->child->getAllowedElements($config);
if (isset($elements[$token->name]) && isset($parent_elements[$wrapname])) {
$newtoken = new HTMLPurifier_Token_Start($wrapname);
- $this->insertBefore($newtoken);
+ $token = $this->insertBefore($newtoken);
$reprocess = true;
continue;
}
}
$carryover = false;
- if ($autoclose && $definition->info[$parent->name]->formatting) {
+ if ($autoclose && $parent_def->formatting) {
$carryover = true;
}
if ($autoclose) {
- // errors need to be updated
- $new_token = new HTMLPurifier_Token_End($parent->name);
- $new_token->start = $parent;
- if ($carryover) {
- $element = clone $parent;
- $element->armor['MakeWellFormed_TagClosedError'] = true;
- $element->carryover = true;
- $this->processToken(array($new_token, $token, $element));
- } else {
- $this->insertBefore($new_token);
+ // check if this autoclose is doomed to fail
+ // (this rechecks $parent, which his harmless)
+ $autoclose_ok = isset($global_parent_allowed_elements[$token->name]);
+ if (!$autoclose_ok) {
+ foreach ($this->stack as $ancestor) {
+ $elements = $definition->info[$ancestor->name]->child->getAllowedElements($config);
+ if (isset($elements[$token->name])) {
+ $autoclose_ok = true;
+ break;
+ }
+ if ($definition->info[$token->name]->wrap) {
+ $wrapname = $definition->info[$token->name]->wrap;
+ $wrapdef = $definition->info[$wrapname];
+ $wrap_elements = $wrapdef->child->getAllowedElements($config);
+ if (isset($wrap_elements[$token->name]) && isset($elements[$wrapname])) {
+ $autoclose_ok = true;
+ break;
+ }
+ }
+ }
}
- if ($e && !isset($parent->armor['MakeWellFormed_TagClosedError'])) {
- if (!$carryover) {
- $e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag auto closed', $parent);
+ if ($autoclose_ok) {
+ // errors need to be updated
+ $new_token = new HTMLPurifier_Token_End($parent->name);
+ $new_token->start = $parent;
+ // [TagClosedSuppress]
+ if ($e && !isset($parent->armor['MakeWellFormed_TagClosedError'])) {
+ if (!$carryover) {
+ $e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag auto closed', $parent);
+ } else {
+ $e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag carryover', $parent);
+ }
+ }
+ if ($carryover) {
+ $element = clone $parent;
+ // [TagClosedAuto]
+ $element->armor['MakeWellFormed_TagClosedError'] = true;
+ $element->carryover = true;
+ $token = $this->processToken(array($new_token, $token, $element));
} else {
- $e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag carryover', $parent);
+ $token = $this->insertBefore($new_token);
}
+ } else {
+ $token = $this->remove();
}
$reprocess = true;
continue;
@@ -271,20 +366,26 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
if ($ok) {
foreach ($this->injectors as $i => $injector) {
- if (isset($token->skip[$i])) continue;
- if ($token->rewind !== null && $token->rewind !== $i) continue;
- $injector->handleElement($token);
- $this->processToken($token, $i);
+ if (isset($token->skip[$i])) {
+ continue;
+ }
+ if ($token->rewind !== null && $token->rewind !== $i) {
+ continue;
+ }
+ $r = $token;
+ $injector->handleElement($r);
+ $token = $this->processToken($r, $i);
$reprocess = true;
break;
}
if (!$reprocess) {
// ah, nothing interesting happened; do normal processing
- $this->swap($token);
if ($token instanceof HTMLPurifier_Token_Start) {
$this->stack[] = $token;
} elseif ($token instanceof HTMLPurifier_Token_End) {
- throw new HTMLPurifier_Exception('Improper handling of end tag in start code; possible error in MakeWellFormed');
+ throw new HTMLPurifier_Exception(
+ 'Improper handling of end tag in start code; possible error in MakeWellFormed'
+ );
}
}
continue;
@@ -298,13 +399,15 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
// make sure that we have something open
if (empty($this->stack)) {
if ($escape_invalid_tags) {
- if ($e) $e->send(E_WARNING, 'Strategy_MakeWellFormed: Unnecessary end tag to text');
- $this->swap(new HTMLPurifier_Token_Text(
- $generator->generateFromToken($token)
- ));
+ if ($e) {
+ $e->send(E_WARNING, 'Strategy_MakeWellFormed: Unnecessary end tag to text');
+ }
+ $token = new HTMLPurifier_Token_Text($generator->generateFromToken($token));
} else {
- $this->remove();
- if ($e) $e->send(E_WARNING, 'Strategy_MakeWellFormed: Unnecessary end tag removed');
+ if ($e) {
+ $e->send(E_WARNING, 'Strategy_MakeWellFormed: Unnecessary end tag removed');
+ }
+ $token = $this->remove();
}
$reprocess = true;
continue;
@@ -318,10 +421,15 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
if ($current_parent->name == $token->name) {
$token->start = $current_parent;
foreach ($this->injectors as $i => $injector) {
- if (isset($token->skip[$i])) continue;
- if ($token->rewind !== null && $token->rewind !== $i) continue;
- $injector->handleEnd($token);
- $this->processToken($token, $i);
+ if (isset($token->skip[$i])) {
+ continue;
+ }
+ if ($token->rewind !== null && $token->rewind !== $i) {
+ continue;
+ }
+ $r = $token;
+ $injector->handleEnd($r);
+ $token = $this->processToken($r, $i);
$this->stack[] = $current_parent;
$reprocess = true;
break;
@@ -349,13 +457,15 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
// we didn't find the tag, so remove
if ($skipped_tags === false) {
if ($escape_invalid_tags) {
- $this->swap(new HTMLPurifier_Token_Text(
- $generator->generateFromToken($token)
- ));
- if ($e) $e->send(E_WARNING, 'Strategy_MakeWellFormed: Stray end tag to text');
+ if ($e) {
+ $e->send(E_WARNING, 'Strategy_MakeWellFormed: Stray end tag to text');
+ }
+ $token = new HTMLPurifier_Token_Text($generator->generateFromToken($token));
} else {
- $this->remove();
- if ($e) $e->send(E_WARNING, 'Strategy_MakeWellFormed: Stray end tag removed');
+ if ($e) {
+ $e->send(E_WARNING, 'Strategy_MakeWellFormed: Stray end tag removed');
+ }
+ $token = $this->remove();
}
$reprocess = true;
continue;
@@ -366,7 +476,7 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
if ($e) {
for ($j = $c - 1; $j > 0; $j--) {
// notice we exclude $j == 0, i.e. the current ending tag, from
- // the errors...
+ // the errors... [TagClosedSuppress]
if (!isset($skipped_tags[$j]->armor['MakeWellFormed_TagClosedError'])) {
$e->send(E_NOTICE, 'Strategy_MakeWellFormed: Tag closed by element end', $skipped_tags[$j]);
}
@@ -381,24 +491,24 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
$new_token->start = $skipped_tags[$j];
array_unshift($replace, $new_token);
if (isset($definition->info[$new_token->name]) && $definition->info[$new_token->name]->formatting) {
+ // [TagClosedAuto]
$element = clone $skipped_tags[$j];
$element->carryover = true;
$element->armor['MakeWellFormed_TagClosedError'] = true;
$replace[] = $element;
}
}
- $this->processToken($replace);
+ $token = $this->processToken($replace);
$reprocess = true;
continue;
}
- $context->destroy('CurrentNesting');
- $context->destroy('InputTokens');
- $context->destroy('InputIndex');
$context->destroy('CurrentToken');
+ $context->destroy('CurrentNesting');
+ $context->destroy('InputZipper');
- unset($this->injectors, $this->stack, $this->tokens, $this->t);
- return $tokens;
+ unset($this->injectors, $this->stack, $this->tokens);
+ return $zipper->toArray($token);
}
/**
@@ -417,25 +527,38 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
* If $token is an integer, that number of tokens (with the first token
* being the current one) will be deleted.
*
- * @param $token Token substitution value
- * @param $injector Injector that performed the substitution; default is if
+ * @param HTMLPurifier_Token|array|int|bool $token Token substitution value
+ * @param HTMLPurifier_Injector|int $injector Injector that performed the substitution; default is if
* this is not an injector related operation.
+ * @throws HTMLPurifier_Exception
*/
- protected function processToken($token, $injector = -1) {
-
+ protected function processToken($token, $injector = -1)
+ {
// normalize forms of token
- if (is_object($token)) $token = array(1, $token);
- if (is_int($token)) $token = array($token);
- if ($token === false) $token = array(1);
- if (!is_array($token)) throw new HTMLPurifier_Exception('Invalid token type from injector');
- if (!is_int($token[0])) array_unshift($token, 1);
- if ($token[0] === 0) throw new HTMLPurifier_Exception('Deleting zero tokens is not valid');
+ if (is_object($token)) {
+ $token = array(1, $token);
+ }
+ if (is_int($token)) {
+ $token = array($token);
+ }
+ if ($token === false) {
+ $token = array(1);
+ }
+ if (!is_array($token)) {
+ throw new HTMLPurifier_Exception('Invalid token type from injector');
+ }
+ if (!is_int($token[0])) {
+ array_unshift($token, 1);
+ }
+ if ($token[0] === 0) {
+ throw new HTMLPurifier_Exception('Deleting zero tokens is not valid');
+ }
// $token is now an array with the following form:
// array(number nodes to delete, new node 1, new node 2, ...)
$delete = array_shift($token);
- $old = array_splice($this->tokens, $this->t, $delete, $token);
+ list($old, $r) = $this->zipper->splice($this->token, $delete, $token);
if ($injector > -1) {
// determine appropriate skips
@@ -446,30 +569,32 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
}
}
- }
+ return $r;
- /**
- * Inserts a token before the current token. Cursor now points to this token
- */
- private function insertBefore($token) {
- array_splice($this->tokens, $this->t, 0, array($token));
}
/**
- * Removes current token. Cursor now points to new token occupying previously
- * occupied space.
+ * Inserts a token before the current token. Cursor now points to
+ * this token. You must reprocess after this.
+ * @param HTMLPurifier_Token $token
*/
- private function remove() {
- array_splice($this->tokens, $this->t, 1);
+ private function insertBefore($token)
+ {
+ // NB not $this->zipper->insertBefore(), due to positioning
+ // differences
+ $splice = $this->zipper->splice($this->token, 0, array($token));
+
+ return $splice[1];
}
/**
- * Swap current token with new token. Cursor points to new token (no change).
+ * Removes current token. Cursor now points to new token occupying previously
+ * occupied space. You must reprocess after this.
*/
- private function swap($token) {
- $this->tokens[$this->t] = $token;
+ private function remove()
+ {
+ return $this->zipper->delete();
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Strategy/RemoveForeignElements.php b/library/HTMLPurifier/Strategy/RemoveForeignElements.php
index cf3a33e40..1a8149ecc 100644
--- a/library/HTMLPurifier/Strategy/RemoveForeignElements.php
+++ b/library/HTMLPurifier/Strategy/RemoveForeignElements.php
@@ -11,19 +11,29 @@
class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
{
- public function execute($tokens, $config, $context) {
+ /**
+ * @param HTMLPurifier_Token[] $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return array|HTMLPurifier_Token[]
+ */
+ public function execute($tokens, $config, $context)
+ {
$definition = $config->getHTMLDefinition();
$generator = new HTMLPurifier_Generator($config, $context);
$result = array();
$escape_invalid_tags = $config->get('Core.EscapeInvalidTags');
- $remove_invalid_img = $config->get('Core.RemoveInvalidImg');
+ $remove_invalid_img = $config->get('Core.RemoveInvalidImg');
// currently only used to determine if comments should be kept
$trusted = $config->get('HTML.Trusted');
+ $comment_lookup = $config->get('HTML.AllowedComments');
+ $comment_regexp = $config->get('HTML.AllowedCommentsRegexp');
+ $check_comments = $comment_lookup !== array() || $comment_regexp !== null;
$remove_script_contents = $config->get('Core.RemoveScriptContents');
- $hidden_elements = $config->get('Core.HiddenElements');
+ $hidden_elements = $config->get('Core.HiddenElements');
// remove script contents compatibility
if ($remove_script_contents === true) {
@@ -48,34 +58,31 @@ class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
$e =& $context->get('ErrorCollector');
}
- foreach($tokens as $token) {
+ foreach ($tokens as $token) {
if ($remove_until) {
if (empty($token->is_tag) || $token->name !== $remove_until) {
continue;
}
}
- if (!empty( $token->is_tag )) {
+ if (!empty($token->is_tag)) {
// DEFINITION CALL
// before any processing, try to transform the element
- if (
- isset($definition->info_tag_transform[$token->name])
- ) {
+ if (isset($definition->info_tag_transform[$token->name])) {
$original_name = $token->name;
// there is a transformation for this tag
// DEFINITION CALL
$token = $definition->
- info_tag_transform[$token->name]->
- transform($token, $config, $context);
- if ($e) $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Tag transform', $original_name);
+ info_tag_transform[$token->name]->transform($token, $config, $context);
+ if ($e) {
+ $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Tag transform', $original_name);
+ }
}
if (isset($definition->info[$token->name])) {
-
// mostly everything's good, but
// we need to make sure required attributes are in order
- if (
- ($token instanceof HTMLPurifier_Token_Start || $token instanceof HTMLPurifier_Token_Empty) &&
+ if (($token instanceof HTMLPurifier_Token_Start || $token instanceof HTMLPurifier_Token_Empty) &&
$definition->info[$token->name]->required_attr &&
($token->name != 'img' || $remove_invalid_img) // ensure config option still works
) {
@@ -88,7 +95,13 @@ class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
}
}
if (!$ok) {
- if ($e) $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Missing required attribute', $name);
+ if ($e) {
+ $e->send(
+ E_ERROR,
+ 'Strategy_RemoveForeignElements: Missing required attribute',
+ $name
+ );
+ }
continue;
}
$token->armor['ValidateAttributes'] = true;
@@ -102,7 +115,9 @@ class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
} elseif ($escape_invalid_tags) {
// invalid tag, generate HTML representation and insert in
- if ($e) $e->send(E_WARNING, 'Strategy_RemoveForeignElements: Foreign element to text');
+ if ($e) {
+ $e->send(E_WARNING, 'Strategy_RemoveForeignElements: Foreign element to text');
+ }
$token = new HTMLPurifier_Token_Text(
$generator->generateFromToken($token)
);
@@ -117,9 +132,13 @@ class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
} else {
$remove_until = false;
}
- if ($e) $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Foreign meta element removed');
+ if ($e) {
+ $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Foreign meta element removed');
+ }
} else {
- if ($e) $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Foreign element removed');
+ if ($e) {
+ $e->send(E_ERROR, 'Strategy_RemoveForeignElements: Foreign element removed');
+ }
}
continue;
}
@@ -128,26 +147,46 @@ class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
if ($textify_comments !== false) {
$data = $token->data;
$token = new HTMLPurifier_Token_Text($data);
- } elseif ($trusted) {
- // keep, but perform comment cleaning
+ } elseif ($trusted || $check_comments) {
+ // always cleanup comments
+ $trailing_hyphen = false;
if ($e) {
// perform check whether or not there's a trailing hyphen
if (substr($token->data, -1) == '-') {
- $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Trailing hyphen in comment removed');
+ $trailing_hyphen = true;
}
}
$token->data = rtrim($token->data, '-');
$found_double_hyphen = false;
while (strpos($token->data, '--') !== false) {
- if ($e && !$found_double_hyphen) {
- $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Hyphens in comment collapsed');
- }
- $found_double_hyphen = true; // prevent double-erroring
+ $found_double_hyphen = true;
$token->data = str_replace('--', '-', $token->data);
}
+ if ($trusted || !empty($comment_lookup[trim($token->data)]) ||
+ ($comment_regexp !== null && preg_match($comment_regexp, trim($token->data)))) {
+ // OK good
+ if ($e) {
+ if ($trailing_hyphen) {
+ $e->send(
+ E_NOTICE,
+ 'Strategy_RemoveForeignElements: Trailing hyphen in comment removed'
+ );
+ }
+ if ($found_double_hyphen) {
+ $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Hyphens in comment collapsed');
+ }
+ }
+ } else {
+ if ($e) {
+ $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Comment removed');
+ }
+ continue;
+ }
} else {
// strip comments
- if ($e) $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Comment removed');
+ if ($e) {
+ $e->send(E_NOTICE, 'Strategy_RemoveForeignElements: Comment removed');
+ }
continue;
}
} elseif ($token instanceof HTMLPurifier_Token_Text) {
@@ -160,12 +199,9 @@ class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
// we removed tokens until the end, throw error
$e->send(E_ERROR, 'Strategy_RemoveForeignElements: Token removed to end', $remove_until);
}
-
$context->destroy('CurrentToken');
-
return $result;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Strategy/ValidateAttributes.php b/library/HTMLPurifier/Strategy/ValidateAttributes.php
index c3328a9d4..fbb3d27c8 100644
--- a/library/HTMLPurifier/Strategy/ValidateAttributes.php
+++ b/library/HTMLPurifier/Strategy/ValidateAttributes.php
@@ -7,8 +7,14 @@
class HTMLPurifier_Strategy_ValidateAttributes extends HTMLPurifier_Strategy
{
- public function execute($tokens, $config, $context) {
-
+ /**
+ * @param HTMLPurifier_Token[] $tokens
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token[]
+ */
+ public function execute($tokens, $config, $context)
+ {
// setup validator
$validator = new HTMLPurifier_AttrValidator();
@@ -19,21 +25,21 @@ class HTMLPurifier_Strategy_ValidateAttributes extends HTMLPurifier_Strategy
// only process tokens that have attributes,
// namely start and empty tags
- if (!$token instanceof HTMLPurifier_Token_Start && !$token instanceof HTMLPurifier_Token_Empty) continue;
+ if (!$token instanceof HTMLPurifier_Token_Start && !$token instanceof HTMLPurifier_Token_Empty) {
+ continue;
+ }
// skip tokens that are armored
- if (!empty($token->armor['ValidateAttributes'])) continue;
+ if (!empty($token->armor['ValidateAttributes'])) {
+ continue;
+ }
// note that we have no facilities here for removing tokens
$validator->validateToken($token, $config, $context);
-
- $tokens[$key] = $token; // for PHP 4
}
$context->destroy('CurrentToken');
-
return $tokens;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/StringHash.php b/library/HTMLPurifier/StringHash.php
index 62085c5c2..c07370197 100644
--- a/library/HTMLPurifier/StringHash.php
+++ b/library/HTMLPurifier/StringHash.php
@@ -10,28 +10,36 @@
*/
class HTMLPurifier_StringHash extends ArrayObject
{
+ /**
+ * @type array
+ */
protected $accessed = array();
/**
* Retrieves a value, and logs the access.
+ * @param mixed $index
+ * @return mixed
*/
- public function offsetGet($index) {
+ public function offsetGet($index)
+ {
$this->accessed[$index] = true;
return parent::offsetGet($index);
}
/**
* Returns a lookup array of all array indexes that have been accessed.
- * @return Array in form array($index => true).
+ * @return array in form array($index => true).
*/
- public function getAccessed() {
+ public function getAccessed()
+ {
return $this->accessed;
}
/**
* Resets the access array.
*/
- public function resetAccessed() {
+ public function resetAccessed()
+ {
$this->accessed = array();
}
}
diff --git a/library/HTMLPurifier/StringHashParser.php b/library/HTMLPurifier/StringHashParser.php
index f3e70c712..7c73f8083 100644
--- a/library/HTMLPurifier/StringHashParser.php
+++ b/library/HTMLPurifier/StringHashParser.php
@@ -28,15 +28,25 @@
class HTMLPurifier_StringHashParser
{
+ /**
+ * @type string
+ */
public $default = 'ID';
/**
* Parses a file that contains a single string-hash.
+ * @param string $file
+ * @return array
*/
- public function parseFile($file) {
- if (!file_exists($file)) return false;
+ public function parseFile($file)
+ {
+ if (!file_exists($file)) {
+ return false;
+ }
$fh = fopen($file, 'r');
- if (!$fh) return false;
+ if (!$fh) {
+ return false;
+ }
$ret = $this->parseHandle($fh);
fclose($fh);
return $ret;
@@ -44,12 +54,19 @@ class HTMLPurifier_StringHashParser
/**
* Parses a file that contains multiple string-hashes delimited by '----'
+ * @param string $file
+ * @return array
*/
- public function parseMultiFile($file) {
- if (!file_exists($file)) return false;
+ public function parseMultiFile($file)
+ {
+ if (!file_exists($file)) {
+ return false;
+ }
$ret = array();
$fh = fopen($file, 'r');
- if (!$fh) return false;
+ if (!$fh) {
+ return false;
+ }
while (!feof($fh)) {
$ret[] = $this->parseHandle($fh);
}
@@ -62,26 +79,36 @@ class HTMLPurifier_StringHashParser
* @note While it's possible to simulate in-memory parsing by using
* custom stream wrappers, if such a use-case arises we should
* factor out the file handle into its own class.
- * @param $fh File handle with pointer at start of valid string-hash
+ * @param resource $fh File handle with pointer at start of valid string-hash
* block.
+ * @return array
*/
- protected function parseHandle($fh) {
+ protected function parseHandle($fh)
+ {
$state = false;
$single = false;
$ret = array();
do {
$line = fgets($fh);
- if ($line === false) break;
+ if ($line === false) {
+ break;
+ }
$line = rtrim($line, "\n\r");
- if (!$state && $line === '') continue;
- if ($line === '----') break;
+ if (!$state && $line === '') {
+ continue;
+ }
+ if ($line === '----') {
+ break;
+ }
if (strncmp('--#', $line, 3) === 0) {
// Comment
continue;
} elseif (strncmp('--', $line, 2) === 0) {
// Multiline declaration
$state = trim($line, '- ');
- if (!isset($ret[$state])) $ret[$state] = '';
+ if (!isset($ret[$state])) {
+ $ret[$state] = '';
+ }
continue;
} elseif (!$state) {
$single = true;
@@ -104,7 +131,6 @@ class HTMLPurifier_StringHashParser
} while (!feof($fh));
return $ret;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/TagTransform.php b/library/HTMLPurifier/TagTransform.php
index 210a44721..7b8d83343 100644
--- a/library/HTMLPurifier/TagTransform.php
+++ b/library/HTMLPurifier/TagTransform.php
@@ -8,14 +8,15 @@ abstract class HTMLPurifier_TagTransform
/**
* Tag name to transform the tag to.
+ * @type string
*/
public $transform_to;
/**
* Transforms the obsolete tag into the valid tag.
- * @param $tag Tag to be transformed.
- * @param $config Mandatory HTMLPurifier_Config object
- * @param $context Mandatory HTMLPurifier_Context object
+ * @param HTMLPurifier_Token_Tag $tag Tag to be transformed.
+ * @param HTMLPurifier_Config $config Mandatory HTMLPurifier_Config object
+ * @param HTMLPurifier_Context $context Mandatory HTMLPurifier_Context object
*/
abstract public function transform($tag, $config, $context);
@@ -23,14 +24,14 @@ abstract class HTMLPurifier_TagTransform
* Prepends CSS properties to the style attribute, creating the
* attribute if it doesn't exist.
* @warning Copied over from AttrTransform, be sure to keep in sync
- * @param $attr Attribute array to process (passed by reference)
- * @param $css CSS to prepend
+ * @param array $attr Attribute array to process (passed by reference)
+ * @param string $css CSS to prepend
*/
- protected function prependCSS(&$attr, $css) {
+ protected function prependCSS(&$attr, $css)
+ {
$attr['style'] = isset($attr['style']) ? $attr['style'] : '';
$attr['style'] = $css . $attr['style'];
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/TagTransform/Font.php b/library/HTMLPurifier/TagTransform/Font.php
index ed2463786..7853d90bc 100644
--- a/library/HTMLPurifier/TagTransform/Font.php
+++ b/library/HTMLPurifier/TagTransform/Font.php
@@ -17,9 +17,14 @@
*/
class HTMLPurifier_TagTransform_Font extends HTMLPurifier_TagTransform
{
-
+ /**
+ * @type string
+ */
public $transform_to = 'span';
+ /**
+ * @type array
+ */
protected $_size_lookup = array(
'0' => 'xx-small',
'1' => 'xx-small',
@@ -37,8 +42,14 @@ class HTMLPurifier_TagTransform_Font extends HTMLPurifier_TagTransform
'+4' => '300%'
);
- public function transform($tag, $config, $context) {
-
+ /**
+ * @param HTMLPurifier_Token_Tag $tag
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_Token_End|string
+ */
+ public function transform($tag, $config, $context)
+ {
if ($tag instanceof HTMLPurifier_Token_End) {
$new_tag = clone $tag;
$new_tag->name = $this->transform_to;
@@ -63,17 +74,25 @@ class HTMLPurifier_TagTransform_Font extends HTMLPurifier_TagTransform
// handle size transform
if (isset($attr['size'])) {
// normalize large numbers
- if ($attr['size']{0} == '+' || $attr['size']{0} == '-') {
- $size = (int) $attr['size'];
- if ($size < -2) $attr['size'] = '-2';
- if ($size > 4) $attr['size'] = '+4';
- } else {
- $size = (int) $attr['size'];
- if ($size > 7) $attr['size'] = '7';
+ if ($attr['size'] !== '') {
+ if ($attr['size']{0} == '+' || $attr['size']{0} == '-') {
+ $size = (int)$attr['size'];
+ if ($size < -2) {
+ $attr['size'] = '-2';
+ }
+ if ($size > 4) {
+ $attr['size'] = '+4';
+ }
+ } else {
+ $size = (int)$attr['size'];
+ if ($size > 7) {
+ $attr['size'] = '7';
+ }
+ }
}
if (isset($this->_size_lookup[$attr['size']])) {
$prepend_style .= 'font-size:' .
- $this->_size_lookup[$attr['size']] . ';';
+ $this->_size_lookup[$attr['size']] . ';';
}
unset($attr['size']);
}
@@ -89,7 +108,6 @@ class HTMLPurifier_TagTransform_Font extends HTMLPurifier_TagTransform
$new_tag->attr = $attr;
return $new_tag;
-
}
}
diff --git a/library/HTMLPurifier/TagTransform/Simple.php b/library/HTMLPurifier/TagTransform/Simple.php
index 0e36130f2..71bf10b91 100644
--- a/library/HTMLPurifier/TagTransform/Simple.php
+++ b/library/HTMLPurifier/TagTransform/Simple.php
@@ -7,19 +7,29 @@
*/
class HTMLPurifier_TagTransform_Simple extends HTMLPurifier_TagTransform
{
-
+ /**
+ * @type string
+ */
protected $style;
/**
- * @param $transform_to Tag name to transform to.
- * @param $style CSS style to add to the tag
+ * @param string $transform_to Tag name to transform to.
+ * @param string $style CSS style to add to the tag
*/
- public function __construct($transform_to, $style = null) {
+ public function __construct($transform_to, $style = null)
+ {
$this->transform_to = $transform_to;
$this->style = $style;
}
- public function transform($tag, $config, $context) {
+ /**
+ * @param HTMLPurifier_Token_Tag $tag
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function transform($tag, $config, $context)
+ {
$new_tag = clone $tag;
$new_tag->name = $this->transform_to;
if (!is_null($this->style) &&
@@ -29,7 +39,6 @@ class HTMLPurifier_TagTransform_Simple extends HTMLPurifier_TagTransform
}
return $new_tag;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Token.php b/library/HTMLPurifier/Token.php
index 7900e6cb1..85b85e072 100644
--- a/library/HTMLPurifier/Token.php
+++ b/library/HTMLPurifier/Token.php
@@ -3,55 +3,98 @@
/**
* Abstract base token class that all others inherit from.
*/
-class HTMLPurifier_Token {
- public $line; /**< Line number node was on in source document. Null if unknown. */
- public $col; /**< Column of line node was on in source document. Null if unknown. */
+abstract class HTMLPurifier_Token
+{
+ /**
+ * Line number node was on in source document. Null if unknown.
+ * @type int
+ */
+ public $line;
+
+ /**
+ * Column of line node was on in source document. Null if unknown.
+ * @type int
+ */
+ public $col;
/**
* Lookup array of processing that this token is exempt from.
* Currently, valid values are "ValidateAttributes" and
* "MakeWellFormed_TagClosedError"
+ * @type array
*/
public $armor = array();
/**
* Used during MakeWellFormed.
+ * @type
*/
public $skip;
+
+ /**
+ * @type
+ */
public $rewind;
+
+ /**
+ * @type
+ */
public $carryover;
- public function __get($n) {
- if ($n === 'type') {
- trigger_error('Deprecated type property called; use instanceof', E_USER_NOTICE);
- switch (get_class($this)) {
- case 'HTMLPurifier_Token_Start': return 'start';
- case 'HTMLPurifier_Token_Empty': return 'empty';
- case 'HTMLPurifier_Token_End': return 'end';
- case 'HTMLPurifier_Token_Text': return 'text';
- case 'HTMLPurifier_Token_Comment': return 'comment';
- default: return null;
+ /**
+ * @param string $n
+ * @return null|string
+ */
+ public function __get($n)
+ {
+ if ($n === 'type') {
+ trigger_error('Deprecated type property called; use instanceof', E_USER_NOTICE);
+ switch (get_class($this)) {
+ case 'HTMLPurifier_Token_Start':
+ return 'start';
+ case 'HTMLPurifier_Token_Empty':
+ return 'empty';
+ case 'HTMLPurifier_Token_End':
+ return 'end';
+ case 'HTMLPurifier_Token_Text':
+ return 'text';
+ case 'HTMLPurifier_Token_Comment':
+ return 'comment';
+ default:
+ return null;
+ }
}
- }
}
/**
* Sets the position of the token in the source document.
+ * @param int $l
+ * @param int $c
*/
- public function position($l = null, $c = null) {
+ public function position($l = null, $c = null)
+ {
$this->line = $l;
- $this->col = $c;
+ $this->col = $c;
}
/**
* Convenience function for DirectLex settings line/col position.
+ * @param int $l
+ * @param int $c
*/
- public function rawPosition($l, $c) {
- if ($c === -1) $l++;
+ public function rawPosition($l, $c)
+ {
+ if ($c === -1) {
+ $l++;
+ }
$this->line = $l;
- $this->col = $c;
+ $this->col = $c;
}
+ /**
+ * Converts a token into its corresponding node.
+ */
+ abstract public function toNode();
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Token/Comment.php b/library/HTMLPurifier/Token/Comment.php
index dc6bdcabb..23453c705 100644
--- a/library/HTMLPurifier/Token/Comment.php
+++ b/library/HTMLPurifier/Token/Comment.php
@@ -5,17 +5,33 @@
*/
class HTMLPurifier_Token_Comment extends HTMLPurifier_Token
{
- public $data; /**< Character data within comment. */
+ /**
+ * Character data within comment.
+ * @type string
+ */
+ public $data;
+
+ /**
+ * @type bool
+ */
public $is_whitespace = true;
+
/**
* Transparent constructor.
*
- * @param $data String comment data.
+ * @param string $data String comment data.
+ * @param int $line
+ * @param int $col
*/
- public function __construct($data, $line = null, $col = null) {
+ public function __construct($data, $line = null, $col = null)
+ {
$this->data = $data;
$this->line = $line;
- $this->col = $col;
+ $this->col = $col;
+ }
+
+ public function toNode() {
+ return new HTMLPurifier_Node_Comment($this->data, $this->line, $this->col);
}
}
diff --git a/library/HTMLPurifier/Token/Empty.php b/library/HTMLPurifier/Token/Empty.php
index 2a82b47ad..78a95f555 100644
--- a/library/HTMLPurifier/Token/Empty.php
+++ b/library/HTMLPurifier/Token/Empty.php
@@ -5,7 +5,11 @@
*/
class HTMLPurifier_Token_Empty extends HTMLPurifier_Token_Tag
{
-
+ public function toNode() {
+ $n = parent::toNode();
+ $n->empty = true;
+ return $n;
+ }
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Token/End.php b/library/HTMLPurifier/Token/End.php
index 353e79daf..59b38fdc5 100644
--- a/library/HTMLPurifier/Token/End.php
+++ b/library/HTMLPurifier/Token/End.php
@@ -10,10 +10,15 @@
class HTMLPurifier_Token_End extends HTMLPurifier_Token_Tag
{
/**
- * Token that started this node. Added by MakeWellFormed. Please
- * do not edit this!
+ * Token that started this node.
+ * Added by MakeWellFormed. Please do not edit this!
+ * @type HTMLPurifier_Token
*/
public $start;
+
+ public function toNode() {
+ throw new Exception("HTMLPurifier_Token_End->toNode not supported!");
+ }
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Token/Start.php b/library/HTMLPurifier/Token/Start.php
index e0e14fc62..019f317ad 100644
--- a/library/HTMLPurifier/Token/Start.php
+++ b/library/HTMLPurifier/Token/Start.php
@@ -5,7 +5,6 @@
*/
class HTMLPurifier_Token_Start extends HTMLPurifier_Token_Tag
{
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Token/Tag.php b/library/HTMLPurifier/Token/Tag.php
index 798be028e..d643fa64e 100644
--- a/library/HTMLPurifier/Token/Tag.php
+++ b/library/HTMLPurifier/Token/Tag.php
@@ -3,13 +3,14 @@
/**
* Abstract class of a tag token (start, end or empty), and its behavior.
*/
-class HTMLPurifier_Token_Tag extends HTMLPurifier_Token
+abstract class HTMLPurifier_Token_Tag extends HTMLPurifier_Token
{
/**
* Static bool marker that indicates the class is a tag.
*
* This allows us to check objects with <tt>!empty($obj->is_tag)</tt>
* without having to use a function call <tt>is_a()</tt>.
+ * @type bool
*/
public $is_tag = true;
@@ -19,21 +20,27 @@ class HTMLPurifier_Token_Tag extends HTMLPurifier_Token
* @note Strictly speaking, XML tags are case sensitive, so we shouldn't
* be lower-casing them, but these tokens cater to HTML tags, which are
* insensitive.
+ * @type string
*/
public $name;
/**
* Associative array of the tag's attributes.
+ * @type array
*/
public $attr = array();
/**
* Non-overloaded constructor, which lower-cases passed tag name.
*
- * @param $name String name.
- * @param $attr Associative array of attributes.
+ * @param string $name String name.
+ * @param array $attr Associative array of attributes.
+ * @param int $line
+ * @param int $col
+ * @param array $armor
*/
- public function __construct($name, $attr = array(), $line = null, $col = null) {
+ public function __construct($name, $attr = array(), $line = null, $col = null, $armor = array())
+ {
$this->name = ctype_lower($name) ? $name : strtolower($name);
foreach ($attr as $key => $value) {
// normalization only necessary when key is not lowercase
@@ -49,7 +56,12 @@ class HTMLPurifier_Token_Tag extends HTMLPurifier_Token
}
$this->attr = $attr;
$this->line = $line;
- $this->col = $col;
+ $this->col = $col;
+ $this->armor = $armor;
+ }
+
+ public function toNode() {
+ return new HTMLPurifier_Node_Element($this->name, $this->attr, $this->line, $this->col, $this->armor);
}
}
diff --git a/library/HTMLPurifier/Token/Text.php b/library/HTMLPurifier/Token/Text.php
index 82efd823d..f26a1c211 100644
--- a/library/HTMLPurifier/Token/Text.php
+++ b/library/HTMLPurifier/Token/Text.php
@@ -12,22 +12,42 @@
class HTMLPurifier_Token_Text extends HTMLPurifier_Token
{
- public $name = '#PCDATA'; /**< PCDATA tag name compatible with DTD. */
- public $data; /**< Parsed character data of text. */
- public $is_whitespace; /**< Bool indicating if node is whitespace. */
+ /**
+ * @type string
+ */
+ public $name = '#PCDATA';
+ /**< PCDATA tag name compatible with DTD. */
+
+ /**
+ * @type string
+ */
+ public $data;
+ /**< Parsed character data of text. */
+
+ /**
+ * @type bool
+ */
+ public $is_whitespace;
+
+ /**< Bool indicating if node is whitespace. */
/**
* Constructor, accepts data and determines if it is whitespace.
- *
- * @param $data String parsed character data.
+ * @param string $data String parsed character data.
+ * @param int $line
+ * @param int $col
*/
- public function __construct($data, $line = null, $col = null) {
+ public function __construct($data, $line = null, $col = null)
+ {
$this->data = $data;
$this->is_whitespace = ctype_space($data);
$this->line = $line;
- $this->col = $col;
+ $this->col = $col;
}
+ public function toNode() {
+ return new HTMLPurifier_Node_Text($this->data, $this->is_whitespace, $this->line, $this->col);
+ }
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/TokenFactory.php b/library/HTMLPurifier/TokenFactory.php
index 7cf48fb41..dea2446b9 100644
--- a/library/HTMLPurifier/TokenFactory.php
+++ b/library/HTMLPurifier/TokenFactory.php
@@ -13,32 +13,53 @@
*/
class HTMLPurifier_TokenFactory
{
+ // p stands for prototype
/**
- * Prototypes that will be cloned.
- * @private
+ * @type HTMLPurifier_Token_Start
*/
- // p stands for prototype
- private $p_start, $p_end, $p_empty, $p_text, $p_comment;
+ private $p_start;
+
+ /**
+ * @type HTMLPurifier_Token_End
+ */
+ private $p_end;
+
+ /**
+ * @type HTMLPurifier_Token_Empty
+ */
+ private $p_empty;
+
+ /**
+ * @type HTMLPurifier_Token_Text
+ */
+ private $p_text;
+
+ /**
+ * @type HTMLPurifier_Token_Comment
+ */
+ private $p_comment;
/**
* Generates blank prototypes for cloning.
*/
- public function __construct() {
- $this->p_start = new HTMLPurifier_Token_Start('', array());
- $this->p_end = new HTMLPurifier_Token_End('');
- $this->p_empty = new HTMLPurifier_Token_Empty('', array());
- $this->p_text = new HTMLPurifier_Token_Text('');
- $this->p_comment= new HTMLPurifier_Token_Comment('');
+ public function __construct()
+ {
+ $this->p_start = new HTMLPurifier_Token_Start('', array());
+ $this->p_end = new HTMLPurifier_Token_End('');
+ $this->p_empty = new HTMLPurifier_Token_Empty('', array());
+ $this->p_text = new HTMLPurifier_Token_Text('');
+ $this->p_comment = new HTMLPurifier_Token_Comment('');
}
/**
* Creates a HTMLPurifier_Token_Start.
- * @param $name Tag name
- * @param $attr Associative array of attributes
- * @return Generated HTMLPurifier_Token_Start
+ * @param string $name Tag name
+ * @param array $attr Associative array of attributes
+ * @return HTMLPurifier_Token_Start Generated HTMLPurifier_Token_Start
*/
- public function createStart($name, $attr = array()) {
+ public function createStart($name, $attr = array())
+ {
$p = clone $this->p_start;
$p->__construct($name, $attr);
return $p;
@@ -46,10 +67,11 @@ class HTMLPurifier_TokenFactory
/**
* Creates a HTMLPurifier_Token_End.
- * @param $name Tag name
- * @return Generated HTMLPurifier_Token_End
+ * @param string $name Tag name
+ * @return HTMLPurifier_Token_End Generated HTMLPurifier_Token_End
*/
- public function createEnd($name) {
+ public function createEnd($name)
+ {
$p = clone $this->p_end;
$p->__construct($name);
return $p;
@@ -57,11 +79,12 @@ class HTMLPurifier_TokenFactory
/**
* Creates a HTMLPurifier_Token_Empty.
- * @param $name Tag name
- * @param $attr Associative array of attributes
- * @return Generated HTMLPurifier_Token_Empty
+ * @param string $name Tag name
+ * @param array $attr Associative array of attributes
+ * @return HTMLPurifier_Token_Empty Generated HTMLPurifier_Token_Empty
*/
- public function createEmpty($name, $attr = array()) {
+ public function createEmpty($name, $attr = array())
+ {
$p = clone $this->p_empty;
$p->__construct($name, $attr);
return $p;
@@ -69,10 +92,11 @@ class HTMLPurifier_TokenFactory
/**
* Creates a HTMLPurifier_Token_Text.
- * @param $data Data of text token
- * @return Generated HTMLPurifier_Token_Text
+ * @param string $data Data of text token
+ * @return HTMLPurifier_Token_Text Generated HTMLPurifier_Token_Text
*/
- public function createText($data) {
+ public function createText($data)
+ {
$p = clone $this->p_text;
$p->__construct($data);
return $p;
@@ -80,15 +104,15 @@ class HTMLPurifier_TokenFactory
/**
* Creates a HTMLPurifier_Token_Comment.
- * @param $data Data of comment token
- * @return Generated HTMLPurifier_Token_Comment
+ * @param string $data Data of comment token
+ * @return HTMLPurifier_Token_Comment Generated HTMLPurifier_Token_Comment
*/
- public function createComment($data) {
+ public function createComment($data)
+ {
$p = clone $this->p_comment;
$p->__construct($data);
return $p;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URI.php b/library/HTMLPurifier/URI.php
index 8b50d0d18..a5e7ae298 100644
--- a/library/HTMLPurifier/URI.php
+++ b/library/HTMLPurifier/URI.php
@@ -10,17 +10,57 @@
*/
class HTMLPurifier_URI
{
+ /**
+ * @type string
+ */
+ public $scheme;
- public $scheme, $userinfo, $host, $port, $path, $query, $fragment;
+ /**
+ * @type string
+ */
+ public $userinfo;
/**
+ * @type string
+ */
+ public $host;
+
+ /**
+ * @type int
+ */
+ public $port;
+
+ /**
+ * @type string
+ */
+ public $path;
+
+ /**
+ * @type string
+ */
+ public $query;
+
+ /**
+ * @type string
+ */
+ public $fragment;
+
+ /**
+ * @param string $scheme
+ * @param string $userinfo
+ * @param string $host
+ * @param int $port
+ * @param string $path
+ * @param string $query
+ * @param string $fragment
* @note Automatically normalizes scheme and port
*/
- public function __construct($scheme, $userinfo, $host, $port, $path, $query, $fragment) {
+ public function __construct($scheme, $userinfo, $host, $port, $path, $query, $fragment)
+ {
$this->scheme = is_null($scheme) || ctype_lower($scheme) ? $scheme : strtolower($scheme);
$this->userinfo = $userinfo;
$this->host = $host;
- $this->port = is_null($port) ? $port : (int) $port;
+ $this->port = is_null($port) ? $port : (int)$port;
$this->path = $path;
$this->query = $query;
$this->fragment = $fragment;
@@ -28,19 +68,22 @@ class HTMLPurifier_URI
/**
* Retrieves a scheme object corresponding to the URI's scheme/default
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
- * @return Scheme object appropriate for validating this URI
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_URIScheme Scheme object appropriate for validating this URI
*/
- public function getSchemeObj($config, $context) {
+ public function getSchemeObj($config, $context)
+ {
$registry = HTMLPurifier_URISchemeRegistry::instance();
if ($this->scheme !== null) {
$scheme_obj = $registry->getScheme($this->scheme, $config, $context);
- if (!$scheme_obj) return false; // invalid scheme, clean it out
+ if (!$scheme_obj) {
+ return false;
+ } // invalid scheme, clean it out
} else {
// no scheme: retrieve the default one
$def = $config->getDefinition('URI');
- $scheme_obj = $registry->getScheme($def->defaultScheme, $config, $context);
+ $scheme_obj = $def->getDefaultScheme($config, $context);
if (!$scheme_obj) {
// something funky happened to the default scheme object
trigger_error(
@@ -56,30 +99,39 @@ class HTMLPurifier_URI
/**
* Generic validation method applicable for all schemes. May modify
* this URI in order to get it into a compliant form.
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
- * @return True if validation/filtering succeeds, false if failure
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool True if validation/filtering succeeds, false if failure
*/
- public function validate($config, $context) {
-
+ public function validate($config, $context)
+ {
// ABNF definitions from RFC 3986
$chars_sub_delims = '!$&\'()*+,;=';
$chars_gen_delims = ':/?#[]@';
$chars_pchar = $chars_sub_delims . ':@';
- // validate scheme (MUST BE FIRST!)
- if (!is_null($this->scheme) && is_null($this->host)) {
- $def = $config->getDefinition('URI');
- if ($def->defaultScheme === $this->scheme) {
- $this->scheme = null;
- }
- }
-
// validate host
if (!is_null($this->host)) {
$host_def = new HTMLPurifier_AttrDef_URI_Host();
$this->host = $host_def->validate($this->host, $config, $context);
- if ($this->host === false) $this->host = null;
+ if ($this->host === false) {
+ $this->host = null;
+ }
+ }
+
+ // validate scheme
+ // NOTE: It's not appropriate to check whether or not this
+ // scheme is in our registry, since a URIFilter may convert a
+ // URI that we don't allow into one we do. So instead, we just
+ // check if the scheme can be dropped because there is no host
+ // and it is our default scheme.
+ if (!is_null($this->scheme) && is_null($this->host) || $this->host === '') {
+ // support for relative paths is pretty abysmal when the
+ // scheme is present, so axe it when possible
+ $def = $config->getDefinition('URI');
+ if ($def->defaultScheme === $this->scheme) {
+ $this->scheme = null;
+ }
}
// validate username
@@ -90,38 +142,55 @@ class HTMLPurifier_URI
// validate port
if (!is_null($this->port)) {
- if ($this->port < 1 || $this->port > 65535) $this->port = null;
+ if ($this->port < 1 || $this->port > 65535) {
+ $this->port = null;
+ }
}
// validate path
- $path_parts = array();
$segments_encoder = new HTMLPurifier_PercentEncoder($chars_pchar . '/');
- if (!is_null($this->host)) {
+ if (!is_null($this->host)) { // this catches $this->host === ''
// path-abempty (hier and relative)
+ // http://www.example.com/my/path
+ // //www.example.com/my/path (looks odd, but works, and
+ // recognized by most browsers)
+ // (this set is valid or invalid on a scheme by scheme
+ // basis, so we'll deal with it later)
+ // file:///my/path
+ // ///my/path
$this->path = $segments_encoder->encode($this->path);
- } elseif ($this->path !== '' && $this->path[0] === '/') {
- // path-absolute (hier and relative)
- if (strlen($this->path) >= 2 && $this->path[1] === '/') {
- // This shouldn't ever happen!
- $this->path = '';
- } else {
+ } elseif ($this->path !== '') {
+ if ($this->path[0] === '/') {
+ // path-absolute (hier and relative)
+ // http:/my/path
+ // /my/path
+ if (strlen($this->path) >= 2 && $this->path[1] === '/') {
+ // This could happen if both the host gets stripped
+ // out
+ // http://my/path
+ // //my/path
+ $this->path = '';
+ } else {
+ $this->path = $segments_encoder->encode($this->path);
+ }
+ } elseif (!is_null($this->scheme)) {
+ // path-rootless (hier)
+ // http:my/path
+ // Short circuit evaluation means we don't need to check nz
$this->path = $segments_encoder->encode($this->path);
- }
- } elseif (!is_null($this->scheme) && $this->path !== '') {
- // path-rootless (hier)
- // Short circuit evaluation means we don't need to check nz
- $this->path = $segments_encoder->encode($this->path);
- } elseif (is_null($this->scheme) && $this->path !== '') {
- // path-noscheme (relative)
- // (once again, not checking nz)
- $segment_nc_encoder = new HTMLPurifier_PercentEncoder($chars_sub_delims . '@');
- $c = strpos($this->path, '/');
- if ($c !== false) {
- $this->path =
- $segment_nc_encoder->encode(substr($this->path, 0, $c)) .
- $segments_encoder->encode(substr($this->path, $c));
} else {
- $this->path = $segment_nc_encoder->encode($this->path);
+ // path-noscheme (relative)
+ // my/path
+ // (once again, not checking nz)
+ $segment_nc_encoder = new HTMLPurifier_PercentEncoder($chars_sub_delims . '@');
+ $c = strpos($this->path, '/');
+ if ($c !== false) {
+ $this->path =
+ $segment_nc_encoder->encode(substr($this->path, 0, $c)) .
+ $segments_encoder->encode(substr($this->path, $c));
+ } else {
+ $this->path = $segment_nc_encoder->encode($this->path);
+ }
}
} else {
// path-empty (hier and relative)
@@ -138,36 +207,108 @@ class HTMLPurifier_URI
if (!is_null($this->fragment)) {
$this->fragment = $qf_encoder->encode($this->fragment);
}
-
return true;
-
}
/**
* Convert URI back to string
- * @return String URI appropriate for output
+ * @return string URI appropriate for output
*/
- public function toString() {
+ public function toString()
+ {
// reconstruct authority
$authority = null;
+ // there is a rendering difference between a null authority
+ // (http:foo-bar) and an empty string authority
+ // (http:///foo-bar).
if (!is_null($this->host)) {
$authority = '';
- if(!is_null($this->userinfo)) $authority .= $this->userinfo . '@';
+ if (!is_null($this->userinfo)) {
+ $authority .= $this->userinfo . '@';
+ }
$authority .= $this->host;
- if(!is_null($this->port)) $authority .= ':' . $this->port;
+ if (!is_null($this->port)) {
+ $authority .= ':' . $this->port;
+ }
}
- // reconstruct the result
+ // Reconstruct the result
+ // One might wonder about parsing quirks from browsers after
+ // this reconstruction. Unfortunately, parsing behavior depends
+ // on what *scheme* was employed (file:///foo is handled *very*
+ // differently than http:///foo), so unfortunately we have to
+ // defer to the schemes to do the right thing.
$result = '';
- if (!is_null($this->scheme)) $result .= $this->scheme . ':';
- if (!is_null($authority)) $result .= '//' . $authority;
+ if (!is_null($this->scheme)) {
+ $result .= $this->scheme . ':';
+ }
+ if (!is_null($authority)) {
+ $result .= '//' . $authority;
+ }
$result .= $this->path;
- if (!is_null($this->query)) $result .= '?' . $this->query;
- if (!is_null($this->fragment)) $result .= '#' . $this->fragment;
+ if (!is_null($this->query)) {
+ $result .= '?' . $this->query;
+ }
+ if (!is_null($this->fragment)) {
+ $result .= '#' . $this->fragment;
+ }
return $result;
}
+ /**
+ * Returns true if this URL might be considered a 'local' URL given
+ * the current context. This is true when the host is null, or
+ * when it matches the host supplied to the configuration.
+ *
+ * Note that this does not do any scheme checking, so it is mostly
+ * only appropriate for metadata that doesn't care about protocol
+ * security. isBenign is probably what you actually want.
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function isLocal($config, $context)
+ {
+ if ($this->host === null) {
+ return true;
+ }
+ $uri_def = $config->getDefinition('URI');
+ if ($uri_def->host === $this->host) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Returns true if this URL should be considered a 'benign' URL,
+ * that is:
+ *
+ * - It is a local URL (isLocal), and
+ * - It has a equal or better level of security
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function isBenign($config, $context)
+ {
+ if (!$this->isLocal($config, $context)) {
+ return false;
+ }
+
+ $scheme_obj = $this->getSchemeObj($config, $context);
+ if (!$scheme_obj) {
+ return false;
+ } // conservative approach
+
+ $current_scheme_obj = $config->getDefinition('URI')->getDefaultScheme($config, $context);
+ if ($current_scheme_obj->secure) {
+ if (!$scheme_obj->secure) {
+ return false;
+ }
+ }
+ return true;
+ }
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIDefinition.php b/library/HTMLPurifier/URIDefinition.php
index ea2b8fe24..e0bd8bcca 100644
--- a/library/HTMLPurifier/URIDefinition.php
+++ b/library/HTMLPurifier/URIDefinition.php
@@ -23,19 +23,24 @@ class HTMLPurifier_URIDefinition extends HTMLPurifier_Definition
*/
public $defaultScheme;
- public function __construct() {
+ public function __construct()
+ {
$this->registerFilter(new HTMLPurifier_URIFilter_DisableExternal());
$this->registerFilter(new HTMLPurifier_URIFilter_DisableExternalResources());
+ $this->registerFilter(new HTMLPurifier_URIFilter_DisableResources());
$this->registerFilter(new HTMLPurifier_URIFilter_HostBlacklist());
+ $this->registerFilter(new HTMLPurifier_URIFilter_SafeIframe());
$this->registerFilter(new HTMLPurifier_URIFilter_MakeAbsolute());
$this->registerFilter(new HTMLPurifier_URIFilter_Munge());
}
- public function registerFilter($filter) {
+ public function registerFilter($filter)
+ {
$this->registeredFilters[$filter->name] = $filter;
}
- public function addFilter($filter, $config) {
+ public function addFilter($filter, $config)
+ {
$r = $filter->prepare($config);
if ($r === false) return; // null is ok, for backwards compat
if ($filter->post) {
@@ -45,22 +50,29 @@ class HTMLPurifier_URIDefinition extends HTMLPurifier_Definition
}
}
- protected function doSetup($config) {
+ protected function doSetup($config)
+ {
$this->setupMemberVariables($config);
$this->setupFilters($config);
}
- protected function setupFilters($config) {
+ protected function setupFilters($config)
+ {
foreach ($this->registeredFilters as $name => $filter) {
- $conf = $config->get('URI.' . $name);
- if ($conf !== false && $conf !== null) {
+ if ($filter->always_load) {
$this->addFilter($filter, $config);
+ } else {
+ $conf = $config->get('URI.' . $name);
+ if ($conf !== false && $conf !== null) {
+ $this->addFilter($filter, $config);
+ }
}
}
unset($this->registeredFilters);
}
- protected function setupMemberVariables($config) {
+ protected function setupMemberVariables($config)
+ {
$this->host = $config->get('URI.Host');
$base_uri = $config->get('URI.Base');
if (!is_null($base_uri)) {
@@ -72,7 +84,13 @@ class HTMLPurifier_URIDefinition extends HTMLPurifier_Definition
if (is_null($this->defaultScheme)) $this->defaultScheme = $config->get('URI.DefaultScheme');
}
- public function filter(&$uri, $config, $context) {
+ public function getDefaultScheme($config, $context)
+ {
+ return HTMLPurifier_URISchemeRegistry::instance()->getScheme($this->defaultScheme, $config, $context);
+ }
+
+ public function filter(&$uri, $config, $context)
+ {
foreach ($this->filters as $name => $f) {
$result = $f->filter($uri, $config, $context);
if (!$result) return false;
@@ -80,7 +98,8 @@ class HTMLPurifier_URIDefinition extends HTMLPurifier_Definition
return true;
}
- public function postFilter(&$uri, $config, $context) {
+ public function postFilter(&$uri, $config, $context)
+ {
foreach ($this->postFilters as $name => $f) {
$result = $f->filter($uri, $config, $context);
if (!$result) return false;
diff --git a/library/HTMLPurifier/URIFilter.php b/library/HTMLPurifier/URIFilter.php
index c116f93df..09724e9f4 100644
--- a/library/HTMLPurifier/URIFilter.php
+++ b/library/HTMLPurifier/URIFilter.php
@@ -4,7 +4,21 @@
* Chainable filters for custom URI processing.
*
* These filters can perform custom actions on a URI filter object,
- * including transformation or blacklisting.
+ * including transformation or blacklisting. A filter named Foo
+ * must have a corresponding configuration directive %URI.Foo,
+ * unless always_load is specified to be true.
+ *
+ * The following contexts may be available while URIFilters are being
+ * processed:
+ *
+ * - EmbeddedURI: true if URI is an embedded resource that will
+ * be loaded automatically on page load
+ * - CurrentToken: a reference to the token that is currently
+ * being processed
+ * - CurrentAttr: the name of the attribute that is currently being
+ * processed
+ * - CurrentCSSProperty: the name of the CSS property that is
+ * currently being processed (if applicable)
*
* @warning This filter is called before scheme object validation occurs.
* Make sure, if you require a specific scheme object, you
@@ -15,31 +29,46 @@ abstract class HTMLPurifier_URIFilter
{
/**
- * Unique identifier of filter
+ * Unique identifier of filter.
+ * @type string
*/
public $name;
/**
* True if this filter should be run after scheme validation.
+ * @type bool
*/
public $post = false;
/**
- * Performs initialization for the filter
+ * True if this filter should always be loaded.
+ * This permits a filter to be named Foo without the corresponding
+ * %URI.Foo directive existing.
+ * @type bool
+ */
+ public $always_load = false;
+
+ /**
+ * Performs initialization for the filter. If the filter returns
+ * false, this means that it shouldn't be considered active.
+ * @param HTMLPurifier_Config $config
+ * @return bool
*/
- public function prepare($config) {return true;}
+ public function prepare($config)
+ {
+ return true;
+ }
/**
* Filter a URI object
- * @param $uri Reference to URI object variable
- * @param $config Instance of HTMLPurifier_Config
- * @param $context Instance of HTMLPurifier_Context
+ * @param HTMLPurifier_URI $uri Reference to URI object variable
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
* @return bool Whether or not to continue processing: false indicates
* URL is no good, true indicates continue processing. Note that
* all changes are committed directly on the URI object
*/
abstract public function filter(&$uri, $config, $context);
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIFilter/DisableExternal.php b/library/HTMLPurifier/URIFilter/DisableExternal.php
index d8a39a501..ced1b1376 100644
--- a/library/HTMLPurifier/URIFilter/DisableExternal.php
+++ b/library/HTMLPurifier/URIFilter/DisableExternal.php
@@ -2,19 +2,50 @@
class HTMLPurifier_URIFilter_DisableExternal extends HTMLPurifier_URIFilter
{
+ /**
+ * @type string
+ */
public $name = 'DisableExternal';
+
+ /**
+ * @type array
+ */
protected $ourHostParts = false;
- public function prepare($config) {
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return void
+ */
+ public function prepare($config)
+ {
$our_host = $config->getDefinition('URI')->host;
- if ($our_host !== null) $this->ourHostParts = array_reverse(explode('.', $our_host));
+ if ($our_host !== null) {
+ $this->ourHostParts = array_reverse(explode('.', $our_host));
+ }
}
- public function filter(&$uri, $config, $context) {
- if (is_null($uri->host)) return true;
- if ($this->ourHostParts === false) return false;
+
+ /**
+ * @param HTMLPurifier_URI $uri Reference
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ if (is_null($uri->host)) {
+ return true;
+ }
+ if ($this->ourHostParts === false) {
+ return false;
+ }
$host_parts = array_reverse(explode('.', $uri->host));
foreach ($this->ourHostParts as $i => $x) {
- if (!isset($host_parts[$i])) return false;
- if ($host_parts[$i] != $this->ourHostParts[$i]) return false;
+ if (!isset($host_parts[$i])) {
+ return false;
+ }
+ if ($host_parts[$i] != $this->ourHostParts[$i]) {
+ return false;
+ }
}
return true;
}
diff --git a/library/HTMLPurifier/URIFilter/DisableExternalResources.php b/library/HTMLPurifier/URIFilter/DisableExternalResources.php
index 881abc43c..c6562169e 100644
--- a/library/HTMLPurifier/URIFilter/DisableExternalResources.php
+++ b/library/HTMLPurifier/URIFilter/DisableExternalResources.php
@@ -2,9 +2,22 @@
class HTMLPurifier_URIFilter_DisableExternalResources extends HTMLPurifier_URIFilter_DisableExternal
{
+ /**
+ * @type string
+ */
public $name = 'DisableExternalResources';
- public function filter(&$uri, $config, $context) {
- if (!$context->get('EmbeddedURI', true)) return true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ if (!$context->get('EmbeddedURI', true)) {
+ return true;
+ }
return parent::filter($uri, $config, $context);
}
}
diff --git a/library/HTMLPurifier/URIFilter/DisableResources.php b/library/HTMLPurifier/URIFilter/DisableResources.php
new file mode 100644
index 000000000..d5c412c44
--- /dev/null
+++ b/library/HTMLPurifier/URIFilter/DisableResources.php
@@ -0,0 +1,22 @@
+<?php
+
+class HTMLPurifier_URIFilter_DisableResources extends HTMLPurifier_URIFilter
+{
+ /**
+ * @type string
+ */
+ public $name = 'DisableResources';
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ return !$context->get('EmbeddedURI', true);
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIFilter/HostBlacklist.php b/library/HTMLPurifier/URIFilter/HostBlacklist.php
index 045aa0992..a6645c17e 100644
--- a/library/HTMLPurifier/URIFilter/HostBlacklist.php
+++ b/library/HTMLPurifier/URIFilter/HostBlacklist.php
@@ -1,15 +1,40 @@
<?php
+// It's not clear to me whether or not Punycode means that hostnames
+// do not have canonical forms anymore. As far as I can tell, it's
+// not a problem (punycoding should be identity when no Unicode
+// points are involved), but I'm not 100% sure
class HTMLPurifier_URIFilter_HostBlacklist extends HTMLPurifier_URIFilter
{
+ /**
+ * @type string
+ */
public $name = 'HostBlacklist';
+
+ /**
+ * @type array
+ */
protected $blacklist = array();
- public function prepare($config) {
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function prepare($config)
+ {
$this->blacklist = $config->get('URI.HostBlacklist');
return true;
}
- public function filter(&$uri, $config, $context) {
- foreach($this->blacklist as $blacklisted_host_fragment) {
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ foreach ($this->blacklist as $blacklisted_host_fragment) {
if (strpos($uri->host, $blacklisted_host_fragment) !== false) {
return false;
}
diff --git a/library/HTMLPurifier/URIFilter/MakeAbsolute.php b/library/HTMLPurifier/URIFilter/MakeAbsolute.php
index f46ab2630..c507bbff8 100644
--- a/library/HTMLPurifier/URIFilter/MakeAbsolute.php
+++ b/library/HTMLPurifier/URIFilter/MakeAbsolute.php
@@ -4,14 +4,35 @@
class HTMLPurifier_URIFilter_MakeAbsolute extends HTMLPurifier_URIFilter
{
+ /**
+ * @type string
+ */
public $name = 'MakeAbsolute';
+
+ /**
+ * @type
+ */
protected $base;
+
+ /**
+ * @type array
+ */
protected $basePathStack = array();
- public function prepare($config) {
+
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function prepare($config)
+ {
$def = $config->getDefinition('URI');
$this->base = $def->base;
if (is_null($this->base)) {
- trigger_error('URI.MakeAbsolute is being ignored due to lack of value for URI.Base configuration', E_USER_WARNING);
+ trigger_error(
+ 'URI.MakeAbsolute is being ignored due to lack of ' .
+ 'value for URI.Base configuration',
+ E_USER_WARNING
+ );
return false;
}
$this->base->fragment = null; // fragment is invalid for base URI
@@ -21,19 +42,29 @@ class HTMLPurifier_URIFilter_MakeAbsolute extends HTMLPurifier_URIFilter
$this->basePathStack = $stack;
return true;
}
- public function filter(&$uri, $config, $context) {
- if (is_null($this->base)) return true; // abort early
- if (
- $uri->path === '' && is_null($uri->scheme) &&
- is_null($uri->host) && is_null($uri->query) && is_null($uri->fragment)
- ) {
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ if (is_null($this->base)) {
+ return true;
+ } // abort early
+ if ($uri->path === '' && is_null($uri->scheme) &&
+ is_null($uri->host) && is_null($uri->query) && is_null($uri->fragment)) {
// reference to current document
$uri = clone $this->base;
return true;
}
if (!is_null($uri->scheme)) {
// absolute URI already: don't change
- if (!is_null($uri->host)) return true;
+ if (!is_null($uri->host)) {
+ return true;
+ }
$scheme_obj = $uri->getSchemeObj($config, $context);
if (!$scheme_obj) {
// scheme not recognized
@@ -66,22 +97,33 @@ class HTMLPurifier_URIFilter_MakeAbsolute extends HTMLPurifier_URIFilter
}
// re-combine
$uri->scheme = $this->base->scheme;
- if (is_null($uri->userinfo)) $uri->userinfo = $this->base->userinfo;
- if (is_null($uri->host)) $uri->host = $this->base->host;
- if (is_null($uri->port)) $uri->port = $this->base->port;
+ if (is_null($uri->userinfo)) {
+ $uri->userinfo = $this->base->userinfo;
+ }
+ if (is_null($uri->host)) {
+ $uri->host = $this->base->host;
+ }
+ if (is_null($uri->port)) {
+ $uri->port = $this->base->port;
+ }
return true;
}
/**
* Resolve dots and double-dots in a path stack
+ * @param array $stack
+ * @return array
*/
- private function _collapseStack($stack) {
+ private function _collapseStack($stack)
+ {
$result = array();
$is_folder = false;
for ($i = 0; isset($stack[$i]); $i++) {
$is_folder = false;
// absorb an internally duplicated slash
- if ($stack[$i] == '' && $i && isset($stack[$i+1])) continue;
+ if ($stack[$i] == '' && $i && isset($stack[$i + 1])) {
+ continue;
+ }
if ($stack[$i] == '..') {
if (!empty($result)) {
$segment = array_pop($result);
@@ -106,7 +148,9 @@ class HTMLPurifier_URIFilter_MakeAbsolute extends HTMLPurifier_URIFilter
}
$result[] = $stack[$i];
}
- if ($is_folder) $result[] = '';
+ if ($is_folder) {
+ $result[] = '';
+ }
return $result;
}
}
diff --git a/library/HTMLPurifier/URIFilter/Munge.php b/library/HTMLPurifier/URIFilter/Munge.php
index efa10a645..6e03315a1 100644
--- a/library/HTMLPurifier/URIFilter/Munge.php
+++ b/library/HTMLPurifier/URIFilter/Munge.php
@@ -2,31 +2,79 @@
class HTMLPurifier_URIFilter_Munge extends HTMLPurifier_URIFilter
{
+ /**
+ * @type string
+ */
public $name = 'Munge';
+
+ /**
+ * @type bool
+ */
public $post = true;
- private $target, $parser, $doEmbed, $secretKey;
+ /**
+ * @type string
+ */
+ private $target;
+
+ /**
+ * @type HTMLPurifier_URIParser
+ */
+ private $parser;
+
+ /**
+ * @type bool
+ */
+ private $doEmbed;
+
+ /**
+ * @type string
+ */
+ private $secretKey;
+
+ /**
+ * @type array
+ */
protected $replace = array();
- public function prepare($config) {
- $this->target = $config->get('URI.' . $this->name);
- $this->parser = new HTMLPurifier_URIParser();
- $this->doEmbed = $config->get('URI.MungeResources');
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function prepare($config)
+ {
+ $this->target = $config->get('URI.' . $this->name);
+ $this->parser = new HTMLPurifier_URIParser();
+ $this->doEmbed = $config->get('URI.MungeResources');
$this->secretKey = $config->get('URI.MungeSecretKey');
+ if ($this->secretKey && !function_exists('hash_hmac')) {
+ throw new Exception("Cannot use %URI.MungeSecretKey without hash_hmac support.");
+ }
return true;
}
- public function filter(&$uri, $config, $context) {
- if ($context->get('EmbeddedURI', true) && !$this->doEmbed) return true;
- $scheme_obj = $uri->getSchemeObj($config, $context);
- if (!$scheme_obj) return true; // ignore unknown schemes, maybe another postfilter did it
- if (is_null($uri->host) || empty($scheme_obj->browsable)) {
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ if ($context->get('EmbeddedURI', true) && !$this->doEmbed) {
return true;
}
- // don't redirect if target host is our host
- if ($uri->host === $config->getDefinition('URI')->host) {
+
+ $scheme_obj = $uri->getSchemeObj($config, $context);
+ if (!$scheme_obj) {
return true;
- }
+ } // ignore unknown schemes, maybe another postfilter did it
+ if (!$scheme_obj->browsable) {
+ return true;
+ } // ignore non-browseable schemes, since we can't munge those in a reasonable way
+ if ($uri->isBenign($config, $context)) {
+ return true;
+ } // don't redirect if a benign URL
$this->makeReplace($uri, $config, $context);
$this->replace = array_map('rawurlencode', $this->replace);
@@ -35,12 +83,20 @@ class HTMLPurifier_URIFilter_Munge extends HTMLPurifier_URIFilter
$new_uri = $this->parser->parse($new_uri);
// don't redirect if the target host is the same as the
// starting host
- if ($uri->host === $new_uri->host) return true;
+ if ($uri->host === $new_uri->host) {
+ return true;
+ }
$uri = $new_uri; // overwrite
return true;
}
- protected function makeReplace($uri, $config, $context) {
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ */
+ protected function makeReplace($uri, $config, $context)
+ {
$string = $uri->toString();
// always available
$this->replace['%s'] = $string;
@@ -50,9 +106,10 @@ class HTMLPurifier_URIFilter_Munge extends HTMLPurifier_URIFilter
$this->replace['%m'] = $context->get('CurrentAttr', true);
$this->replace['%p'] = $context->get('CurrentCSSProperty', true);
// not always available
- if ($this->secretKey) $this->replace['%t'] = sha1($this->secretKey . ':' . $string);
+ if ($this->secretKey) {
+ $this->replace['%t'] = hash_hmac("sha256", $string, $this->secretKey);
+ }
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIFilter/SafeIframe.php b/library/HTMLPurifier/URIFilter/SafeIframe.php
new file mode 100644
index 000000000..f609c47a3
--- /dev/null
+++ b/library/HTMLPurifier/URIFilter/SafeIframe.php
@@ -0,0 +1,68 @@
+<?php
+
+/**
+ * Implements safety checks for safe iframes.
+ *
+ * @warning This filter is *critical* for ensuring that %HTML.SafeIframe
+ * works safely.
+ */
+class HTMLPurifier_URIFilter_SafeIframe extends HTMLPurifier_URIFilter
+{
+ /**
+ * @type string
+ */
+ public $name = 'SafeIframe';
+
+ /**
+ * @type bool
+ */
+ public $always_load = true;
+
+ /**
+ * @type string
+ */
+ protected $regexp = null;
+
+ // XXX: The not so good bit about how this is all set up now is we
+ // can't check HTML.SafeIframe in the 'prepare' step: we have to
+ // defer till the actual filtering.
+ /**
+ * @param HTMLPurifier_Config $config
+ * @return bool
+ */
+ public function prepare($config)
+ {
+ $this->regexp = $config->get('URI.SafeIframeRegexp');
+ return true;
+ }
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function filter(&$uri, $config, $context)
+ {
+ // check if filter not applicable
+ if (!$config->get('HTML.SafeIframe')) {
+ return true;
+ }
+ // check if the filter should actually trigger
+ if (!$context->get('EmbeddedURI', true)) {
+ return true;
+ }
+ $token = $context->get('CurrentToken', true);
+ if (!($token && $token->name == 'iframe')) {
+ return true;
+ }
+ // check if we actually have some whitelists enabled
+ if ($this->regexp === null) {
+ return false;
+ }
+ // actually check the whitelists
+ return preg_match($this->regexp, $uri->toString());
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIParser.php b/library/HTMLPurifier/URIParser.php
index 7179e4ab8..0e7381a07 100644
--- a/library/HTMLPurifier/URIParser.php
+++ b/library/HTMLPurifier/URIParser.php
@@ -12,7 +12,8 @@ class HTMLPurifier_URIParser
*/
protected $percentEncoder;
- public function __construct() {
+ public function __construct()
+ {
$this->percentEncoder = new HTMLPurifier_PercentEncoder();
}
@@ -22,15 +23,15 @@ class HTMLPurifier_URIParser
* @return HTMLPurifier_URI representation of URI. This representation has
* not been validated yet and may not conform to RFC.
*/
- public function parse($uri) {
-
+ public function parse($uri)
+ {
$uri = $this->percentEncoder->normalize($uri);
// Regexp is as per Appendix B.
// Note that ["<>] are an addition to the RFC's recommended
// characters, because they represent external delimeters.
$r_URI = '!'.
- '(([^:/?#"<>]+):)?'. // 2. Scheme
+ '(([a-zA-Z0-9\.\+\-]+):)?'. // 2. Scheme
'(//([^/?#"<>]*))?'. // 4. Authority
'([^?#"<>]*)'. // 5. Path
'(\?([^#"<>]*))?'. // 7. Query
diff --git a/library/HTMLPurifier/URIScheme.php b/library/HTMLPurifier/URIScheme.php
index 039710fd1..fe9e82cf2 100644
--- a/library/HTMLPurifier/URIScheme.php
+++ b/library/HTMLPurifier/URIScheme.php
@@ -3,40 +3,100 @@
/**
* Validator for the components of a URI for a specific scheme
*/
-class HTMLPurifier_URIScheme
+abstract class HTMLPurifier_URIScheme
{
/**
- * Scheme's default port (integer)
+ * Scheme's default port (integer). If an explicit port number is
+ * specified that coincides with the default port, it will be
+ * elided.
+ * @type int
*/
public $default_port = null;
/**
- * Whether or not URIs of this schem are locatable by a browser
+ * Whether or not URIs of this scheme are locatable by a browser
* http and ftp are accessible, while mailto and news are not.
+ * @type bool
*/
public $browsable = false;
/**
+ * Whether or not data transmitted over this scheme is encrypted.
+ * https is secure, http is not.
+ * @type bool
+ */
+ public $secure = false;
+
+ /**
* Whether or not the URI always uses <hier_part>, resolves edge cases
* with making relative URIs absolute
+ * @type bool
*/
public $hierarchical = false;
/**
- * Validates the components of a URI
- * @note This implementation should be called by children if they define
- * a default port, as it does port processing.
- * @param $uri Instance of HTMLPurifier_URI
- * @param $config HTMLPurifier_Config object
- * @param $context HTMLPurifier_Context object
- * @return Bool success or failure
+ * Whether or not the URI may omit a hostname when the scheme is
+ * explicitly specified, ala file:///path/to/file. As of writing,
+ * 'file' is the only scheme that browsers support his properly.
+ * @type bool
*/
- public function validate(&$uri, $config, $context) {
- if ($this->default_port == $uri->port) $uri->port = null;
- return true;
- }
+ public $may_omit_host = false;
+
+ /**
+ * Validates the components of a URI for a specific scheme.
+ * @param HTMLPurifier_URI $uri Reference to a HTMLPurifier_URI object
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool success or failure
+ */
+ abstract public function doValidate(&$uri, $config, $context);
+ /**
+ * Public interface for validating components of a URI. Performs a
+ * bunch of default actions. Don't overload this method.
+ * @param HTMLPurifier_URI $uri Reference to a HTMLPurifier_URI object
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool success or failure
+ */
+ public function validate(&$uri, $config, $context)
+ {
+ if ($this->default_port == $uri->port) {
+ $uri->port = null;
+ }
+ // kludge: browsers do funny things when the scheme but not the
+ // authority is set
+ if (!$this->may_omit_host &&
+ // if the scheme is present, a missing host is always in error
+ (!is_null($uri->scheme) && ($uri->host === '' || is_null($uri->host))) ||
+ // if the scheme is not present, a *blank* host is in error,
+ // since this translates into '///path' which most browsers
+ // interpret as being 'http://path'.
+ (is_null($uri->scheme) && $uri->host === '')
+ ) {
+ do {
+ if (is_null($uri->scheme)) {
+ if (substr($uri->path, 0, 2) != '//') {
+ $uri->host = null;
+ break;
+ }
+ // URI is '////path', so we cannot nullify the
+ // host to preserve semantics. Try expanding the
+ // hostname instead (fall through)
+ }
+ // first see if we can manually insert a hostname
+ $host = $config->get('URI.Host');
+ if (!is_null($host)) {
+ $uri->host = $host;
+ } else {
+ // we can't do anything sensible, reject the URL.
+ return false;
+ }
+ } while (false);
+ }
+ return $this->doValidate($uri, $config, $context);
+ }
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIScheme/data.php b/library/HTMLPurifier/URIScheme/data.php
index b7f1989cb..6ebca4984 100644
--- a/library/HTMLPurifier/URIScheme/data.php
+++ b/library/HTMLPurifier/URIScheme/data.php
@@ -3,18 +3,38 @@
/**
* Implements data: URI for base64 encoded images supported by GD.
*/
-class HTMLPurifier_URIScheme_data extends HTMLPurifier_URIScheme {
-
+class HTMLPurifier_URIScheme_data extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type bool
+ */
public $browsable = true;
+
+ /**
+ * @type array
+ */
public $allowed_types = array(
// you better write validation code for other types if you
// decide to allow them
'image/jpeg' => true,
'image/gif' => true,
'image/png' => true,
- );
+ );
+ // this is actually irrelevant since we only write out the path
+ // component
+ /**
+ * @type bool
+ */
+ public $may_omit_host = true;
- public function validate(&$uri, $config, $context) {
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
$result = explode(',', $uri->path, 2);
$is_base64 = false;
$charset = null;
@@ -23,7 +43,7 @@ class HTMLPurifier_URIScheme_data extends HTMLPurifier_URIScheme {
list($metadata, $data) = $result;
// do some legwork on the metadata
$metas = explode(';', $metadata);
- while(!empty($metas)) {
+ while (!empty($metas)) {
$cur = array_shift($metas);
if ($cur == 'base64') {
$is_base64 = true;
@@ -32,10 +52,14 @@ class HTMLPurifier_URIScheme_data extends HTMLPurifier_URIScheme {
if (substr($cur, 0, 8) == 'charset=') {
// doesn't match if there are arbitrary spaces, but
// whatever dude
- if ($charset !== null) continue; // garbage
+ if ($charset !== null) {
+ continue;
+ } // garbage
$charset = substr($cur, 8); // not used
} else {
- if ($content_type !== null) continue; // garbage
+ if ($content_type !== null) {
+ continue;
+ } // garbage
$content_type = $cur;
}
}
@@ -61,11 +85,15 @@ class HTMLPurifier_URIScheme_data extends HTMLPurifier_URIScheme {
file_put_contents($file, $raw_data);
if (function_exists('exif_imagetype')) {
$image_code = exif_imagetype($file);
+ unlink($file);
} elseif (function_exists('getimagesize')) {
set_error_handler(array($this, 'muteErrorHandler'));
$info = getimagesize($file);
restore_error_handler();
- if ($info == false) return false;
+ unlink($file);
+ if ($info == false) {
+ return false;
+ }
$image_code = $info[2];
} else {
trigger_error("could not find exif_imagetype or getimagesize functions", E_USER_ERROR);
@@ -74,7 +102,9 @@ class HTMLPurifier_URIScheme_data extends HTMLPurifier_URIScheme {
if ($real_content_type != $content_type) {
// we're nice guys; if the content type is something else we
// support, change it over
- if (empty($this->allowed_types[$real_content_type])) return false;
+ if (empty($this->allowed_types[$real_content_type])) {
+ return false;
+ }
$content_type = $real_content_type;
}
// ok, it's kosher, rewrite what we need
@@ -87,7 +117,11 @@ class HTMLPurifier_URIScheme_data extends HTMLPurifier_URIScheme {
return true;
}
- public function muteErrorHandler($errno, $errstr) {}
-
+ /**
+ * @param int $errno
+ * @param string $errstr
+ */
+ public function muteErrorHandler($errno, $errstr)
+ {
+ }
}
-
diff --git a/library/HTMLPurifier/URIScheme/file.php b/library/HTMLPurifier/URIScheme/file.php
new file mode 100644
index 000000000..215be4ba8
--- /dev/null
+++ b/library/HTMLPurifier/URIScheme/file.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * Validates file as defined by RFC 1630 and RFC 1738.
+ */
+class HTMLPurifier_URIScheme_file extends HTMLPurifier_URIScheme
+{
+ /**
+ * Generally file:// URLs are not accessible from most
+ * machines, so placing them as an img src is incorrect.
+ * @type bool
+ */
+ public $browsable = false;
+
+ /**
+ * Basically the *only* URI scheme for which this is true, since
+ * accessing files on the local machine is very common. In fact,
+ * browsers on some operating systems don't understand the
+ * authority, though I hear it is used on Windows to refer to
+ * network shares.
+ * @type bool
+ */
+ public $may_omit_host = true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
+ // Authentication method is not supported
+ $uri->userinfo = null;
+ // file:// makes no provisions for accessing the resource
+ $uri->port = null;
+ // While it seems to work on Firefox, the querystring has
+ // no possible effect and is thus stripped.
+ $uri->query = null;
+ return true;
+ }
+}
+
+// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIScheme/ftp.php b/library/HTMLPurifier/URIScheme/ftp.php
index 5849bf7ff..1eb43ee5c 100644
--- a/library/HTMLPurifier/URIScheme/ftp.php
+++ b/library/HTMLPurifier/URIScheme/ftp.php
@@ -3,15 +3,32 @@
/**
* Validates ftp (File Transfer Protocol) URIs as defined by generic RFC 1738.
*/
-class HTMLPurifier_URIScheme_ftp extends HTMLPurifier_URIScheme {
-
+class HTMLPurifier_URIScheme_ftp extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type int
+ */
public $default_port = 21;
+
+ /**
+ * @type bool
+ */
public $browsable = true; // usually
+
+ /**
+ * @type bool
+ */
public $hierarchical = true;
- public function validate(&$uri, $config, $context) {
- parent::validate($uri, $config, $context);
- $uri->query = null;
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
+ $uri->query = null;
// typecode check
$semicolon_pos = strrpos($uri->path, ';'); // reverse
@@ -34,10 +51,8 @@ class HTMLPurifier_URIScheme_ftp extends HTMLPurifier_URIScheme {
$uri->path = str_replace(';', '%3B', $uri->path);
$uri->path .= $type_ret;
}
-
return true;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIScheme/http.php b/library/HTMLPurifier/URIScheme/http.php
index b097a31d6..ce69ec438 100644
--- a/library/HTMLPurifier/URIScheme/http.php
+++ b/library/HTMLPurifier/URIScheme/http.php
@@ -3,18 +3,34 @@
/**
* Validates http (HyperText Transfer Protocol) as defined by RFC 2616
*/
-class HTMLPurifier_URIScheme_http extends HTMLPurifier_URIScheme {
-
+class HTMLPurifier_URIScheme_http extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type int
+ */
public $default_port = 80;
+
+ /**
+ * @type bool
+ */
public $browsable = true;
+
+ /**
+ * @type bool
+ */
public $hierarchical = true;
- public function validate(&$uri, $config, $context) {
- parent::validate($uri, $config, $context);
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
$uri->userinfo = null;
return true;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIScheme/https.php b/library/HTMLPurifier/URIScheme/https.php
index 29e380919..0e96882db 100644
--- a/library/HTMLPurifier/URIScheme/https.php
+++ b/library/HTMLPurifier/URIScheme/https.php
@@ -3,10 +3,16 @@
/**
* Validates https (Secure HTTP) according to http scheme.
*/
-class HTMLPurifier_URIScheme_https extends HTMLPurifier_URIScheme_http {
-
+class HTMLPurifier_URIScheme_https extends HTMLPurifier_URIScheme_http
+{
+ /**
+ * @type int
+ */
public $default_port = 443;
-
+ /**
+ * @type bool
+ */
+ public $secure = true;
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIScheme/mailto.php b/library/HTMLPurifier/URIScheme/mailto.php
index c1e2cd5aa..c3a6b602a 100644
--- a/library/HTMLPurifier/URIScheme/mailto.php
+++ b/library/HTMLPurifier/URIScheme/mailto.php
@@ -9,19 +9,32 @@
* @todo Filter allowed query parameters
*/
-class HTMLPurifier_URIScheme_mailto extends HTMLPurifier_URIScheme {
-
+class HTMLPurifier_URIScheme_mailto extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type bool
+ */
public $browsable = false;
- public function validate(&$uri, $config, $context) {
- parent::validate($uri, $config, $context);
+ /**
+ * @type bool
+ */
+ public $may_omit_host = true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
$uri->userinfo = null;
$uri->host = null;
$uri->port = null;
// we need to validate path against RFC 2368's addr-spec
return true;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIScheme/news.php b/library/HTMLPurifier/URIScheme/news.php
index f5f54f4f5..7490927d6 100644
--- a/library/HTMLPurifier/URIScheme/news.php
+++ b/library/HTMLPurifier/URIScheme/news.php
@@ -3,20 +3,33 @@
/**
* Validates news (Usenet) as defined by generic RFC 1738
*/
-class HTMLPurifier_URIScheme_news extends HTMLPurifier_URIScheme {
-
+class HTMLPurifier_URIScheme_news extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type bool
+ */
public $browsable = false;
- public function validate(&$uri, $config, $context) {
- parent::validate($uri, $config, $context);
+ /**
+ * @type bool
+ */
+ public $may_omit_host = true;
+
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
$uri->userinfo = null;
- $uri->host = null;
- $uri->port = null;
- $uri->query = null;
+ $uri->host = null;
+ $uri->port = null;
+ $uri->query = null;
// typecode check needed on path
return true;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URIScheme/nntp.php b/library/HTMLPurifier/URIScheme/nntp.php
index 5bf93ea78..f211d715e 100644
--- a/library/HTMLPurifier/URIScheme/nntp.php
+++ b/library/HTMLPurifier/URIScheme/nntp.php
@@ -3,18 +3,30 @@
/**
* Validates nntp (Network News Transfer Protocol) as defined by generic RFC 1738
*/
-class HTMLPurifier_URIScheme_nntp extends HTMLPurifier_URIScheme {
-
+class HTMLPurifier_URIScheme_nntp extends HTMLPurifier_URIScheme
+{
+ /**
+ * @type int
+ */
public $default_port = 119;
+
+ /**
+ * @type bool
+ */
public $browsable = false;
- public function validate(&$uri, $config, $context) {
- parent::validate($uri, $config, $context);
+ /**
+ * @param HTMLPurifier_URI $uri
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return bool
+ */
+ public function doValidate(&$uri, $config, $context)
+ {
$uri->userinfo = null;
- $uri->query = null;
+ $uri->query = null;
return true;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/URISchemeRegistry.php b/library/HTMLPurifier/URISchemeRegistry.php
index 576bf7b6d..4ac8a0b76 100644
--- a/library/HTMLPurifier/URISchemeRegistry.php
+++ b/library/HTMLPurifier/URISchemeRegistry.php
@@ -8,12 +8,14 @@ class HTMLPurifier_URISchemeRegistry
/**
* Retrieve sole instance of the registry.
- * @param $prototype Optional prototype to overload sole instance with,
+ * @param HTMLPurifier_URISchemeRegistry $prototype Optional prototype to overload sole instance with,
* or bool true to reset to default registry.
+ * @return HTMLPurifier_URISchemeRegistry
* @note Pass a registry object $prototype with a compatible interface and
* the function will copy it and return it all further times.
*/
- public static function instance($prototype = null) {
+ public static function instance($prototype = null)
+ {
static $instance = null;
if ($prototype !== null) {
$instance = $prototype;
@@ -25,17 +27,22 @@ class HTMLPurifier_URISchemeRegistry
/**
* Cache of retrieved schemes.
+ * @type HTMLPurifier_URIScheme[]
*/
protected $schemes = array();
/**
* Retrieves a scheme validator object
- * @param $scheme String scheme name like http or mailto
- * @param $config HTMLPurifier_Config object
- * @param $config HTMLPurifier_Context object
+ * @param string $scheme String scheme name like http or mailto
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return HTMLPurifier_URIScheme
*/
- public function getScheme($scheme, $config, $context) {
- if (!$config) $config = HTMLPurifier_Config::createDefault();
+ public function getScheme($scheme, $config, $context)
+ {
+ if (!$config) {
+ $config = HTMLPurifier_Config::createDefault();
+ }
// important, otherwise attacker could include arbitrary file
$allowed_schemes = $config->get('URI.AllowedSchemes');
@@ -45,24 +52,30 @@ class HTMLPurifier_URISchemeRegistry
return;
}
- if (isset($this->schemes[$scheme])) return $this->schemes[$scheme];
- if (!isset($allowed_schemes[$scheme])) return;
+ if (isset($this->schemes[$scheme])) {
+ return $this->schemes[$scheme];
+ }
+ if (!isset($allowed_schemes[$scheme])) {
+ return;
+ }
$class = 'HTMLPurifier_URIScheme_' . $scheme;
- if (!class_exists($class)) return;
+ if (!class_exists($class)) {
+ return;
+ }
$this->schemes[$scheme] = new $class();
return $this->schemes[$scheme];
}
/**
* Registers a custom scheme to the cache, bypassing reflection.
- * @param $scheme Scheme name
- * @param $scheme_obj HTMLPurifier_URIScheme object
+ * @param string $scheme Scheme name
+ * @param HTMLPurifier_URIScheme $scheme_obj
*/
- public function register($scheme, $scheme_obj) {
+ public function register($scheme, $scheme_obj)
+ {
$this->schemes[$scheme] = $scheme_obj;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/UnitConverter.php b/library/HTMLPurifier/UnitConverter.php
index 545d42622..166f3bf30 100644
--- a/library/HTMLPurifier/UnitConverter.php
+++ b/library/HTMLPurifier/UnitConverter.php
@@ -37,20 +37,24 @@ class HTMLPurifier_UnitConverter
/**
* Minimum bcmath precision for output.
+ * @type int
*/
protected $outputPrecision;
/**
* Bcmath precision for internal calculations.
+ * @type int
*/
protected $internalPrecision;
/**
- * Whether or not BCMath is available
+ * Whether or not BCMath is available.
+ * @type bool
*/
private $bcmath;
- public function __construct($output_precision = 4, $internal_precision = 10, $force_no_bcmath = false) {
+ public function __construct($output_precision = 4, $internal_precision = 10, $force_no_bcmath = false)
+ {
$this->outputPrecision = $output_precision;
$this->internalPrecision = $internal_precision;
$this->bcmath = !$force_no_bcmath && function_exists('bcmul');
@@ -63,6 +67,7 @@ class HTMLPurifier_UnitConverter
* it before passing it here!
* @param string $to_unit
* Unit to convert to.
+ * @return HTMLPurifier_Length|bool
* @note
* About precision: This conversion function pays very special
* attention to the incoming precision of values and attempts
@@ -74,11 +79,13 @@ class HTMLPurifier_UnitConverter
* and this causes some decimals to be excluded, those
* decimals will be added on.
*/
- public function convert($length, $to_unit) {
-
- if (!$length->isValid()) return false;
+ public function convert($length, $to_unit)
+ {
+ if (!$length->isValid()) {
+ return false;
+ }
- $n = $length->getN();
+ $n = $length->getN();
$unit = $length->getUnit();
if ($n === '0' || $unit === false) {
@@ -87,21 +94,29 @@ class HTMLPurifier_UnitConverter
$state = $dest_state = false;
foreach (self::$units as $k => $x) {
- if (isset($x[$unit])) $state = $k;
- if (isset($x[$to_unit])) $dest_state = $k;
+ if (isset($x[$unit])) {
+ $state = $k;
+ }
+ if (isset($x[$to_unit])) {
+ $dest_state = $k;
+ }
+ }
+ if (!$state || !$dest_state) {
+ return false;
}
- if (!$state || !$dest_state) return false;
// Some calculations about the initial precision of the number;
// this will be useful when we need to do final rounding.
$sigfigs = $this->getSigFigs($n);
- if ($sigfigs < $this->outputPrecision) $sigfigs = $this->outputPrecision;
+ if ($sigfigs < $this->outputPrecision) {
+ $sigfigs = $this->outputPrecision;
+ }
// BCMath's internal precision deals only with decimals. Use
// our default if the initial number has no decimals, or increase
// it by how ever many decimals, thus, the number of guard digits
// will always be greater than or equal to internalPrecision.
- $log = (int) floor(log(abs($n), 10));
+ $log = (int)floor(log(abs($n), 10));
$cp = ($log < 0) ? $this->internalPrecision - $log : $this->internalPrecision; // internal precision
for ($i = 0; $i < 2; $i++) {
@@ -152,14 +167,18 @@ class HTMLPurifier_UnitConverter
}
// Post-condition: $unit == $to_unit
- if ($unit !== $to_unit) return false;
+ if ($unit !== $to_unit) {
+ return false;
+ }
// Useful for debugging:
//echo "<pre>n";
//echo "$n\nsigfigs = $sigfigs\nnew_log = $new_log\nlog = $log\nrp = $rp\n</pre>\n";
$n = $this->round($n, $sigfigs);
- if (strpos($n, '.') !== false) $n = rtrim($n, '0');
+ if (strpos($n, '.') !== false) {
+ $n = rtrim($n, '0');
+ }
$n = rtrim($n, '.');
return new HTMLPurifier_Length($n, $unit);
@@ -170,53 +189,84 @@ class HTMLPurifier_UnitConverter
* @param string $n Decimal number
* @return int number of sigfigs
*/
- public function getSigFigs($n) {
+ public function getSigFigs($n)
+ {
$n = ltrim($n, '0+-');
$dp = strpos($n, '.'); // decimal position
if ($dp === false) {
$sigfigs = strlen(rtrim($n, '0'));
} else {
$sigfigs = strlen(ltrim($n, '0.')); // eliminate extra decimal character
- if ($dp !== 0) $sigfigs--;
+ if ($dp !== 0) {
+ $sigfigs--;
+ }
}
return $sigfigs;
}
/**
* Adds two numbers, using arbitrary precision when available.
+ * @param string $s1
+ * @param string $s2
+ * @param int $scale
+ * @return string
*/
- private function add($s1, $s2, $scale) {
- if ($this->bcmath) return bcadd($s1, $s2, $scale);
- else return $this->scale($s1 + $s2, $scale);
+ private function add($s1, $s2, $scale)
+ {
+ if ($this->bcmath) {
+ return bcadd($s1, $s2, $scale);
+ } else {
+ return $this->scale((float)$s1 + (float)$s2, $scale);
+ }
}
/**
* Multiples two numbers, using arbitrary precision when available.
+ * @param string $s1
+ * @param string $s2
+ * @param int $scale
+ * @return string
*/
- private function mul($s1, $s2, $scale) {
- if ($this->bcmath) return bcmul($s1, $s2, $scale);
- else return $this->scale($s1 * $s2, $scale);
+ private function mul($s1, $s2, $scale)
+ {
+ if ($this->bcmath) {
+ return bcmul($s1, $s2, $scale);
+ } else {
+ return $this->scale((float)$s1 * (float)$s2, $scale);
+ }
}
/**
* Divides two numbers, using arbitrary precision when available.
+ * @param string $s1
+ * @param string $s2
+ * @param int $scale
+ * @return string
*/
- private function div($s1, $s2, $scale) {
- if ($this->bcmath) return bcdiv($s1, $s2, $scale);
- else return $this->scale($s1 / $s2, $scale);
+ private function div($s1, $s2, $scale)
+ {
+ if ($this->bcmath) {
+ return bcdiv($s1, $s2, $scale);
+ } else {
+ return $this->scale((float)$s1 / (float)$s2, $scale);
+ }
}
/**
* Rounds a number according to the number of sigfigs it should have,
* using arbitrary precision when available.
+ * @param float $n
+ * @param int $sigfigs
+ * @return string
*/
- private function round($n, $sigfigs) {
- $new_log = (int) floor(log(abs($n), 10)); // Number of digits left of decimal - 1
+ private function round($n, $sigfigs)
+ {
+ $new_log = (int)floor(log(abs($n), 10)); // Number of digits left of decimal - 1
$rp = $sigfigs - $new_log - 1; // Number of decimal places needed
$neg = $n < 0 ? '-' : ''; // Negative sign
if ($this->bcmath) {
if ($rp >= 0) {
- $n = bcadd($n, $neg . '0.' . str_repeat('0', $rp) . '5', $rp + 1);
+ $n = bcadd($n, $neg . '0.' . str_repeat('0', $rp) . '5', $rp + 1);
$n = bcdiv($n, '1', $rp);
} else {
// This algorithm partially depends on the standardized
@@ -232,23 +282,26 @@ class HTMLPurifier_UnitConverter
/**
* Scales a float to $scale digits right of decimal point, like BCMath.
+ * @param float $r
+ * @param int $scale
+ * @return string
*/
- private function scale($r, $scale) {
+ private function scale($r, $scale)
+ {
if ($scale < 0) {
// The f sprintf type doesn't support negative numbers, so we
// need to cludge things manually. First get the string.
- $r = sprintf('%.0f', (float) $r);
+ $r = sprintf('%.0f', (float)$r);
// Due to floating point precision loss, $r will more than likely
// look something like 4652999999999.9234. We grab one more digit
// than we need to precise from $r and then use that to round
// appropriately.
- $precise = (string) round(substr($r, 0, strlen($r) + $scale), -1);
+ $precise = (string)round(substr($r, 0, strlen($r) + $scale), -1);
// Now we return it, truncating the zero that was rounded off.
return substr($precise, 0, -1) . str_repeat('0', -$scale + 1);
}
- return sprintf('%.' . $scale . 'f', (float) $r);
+ return sprintf('%.' . $scale . 'f', (float)$r);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/VarParser.php b/library/HTMLPurifier/VarParser.php
index 68e72ae86..50cba6910 100644
--- a/library/HTMLPurifier/VarParser.php
+++ b/library/HTMLPurifier/VarParser.php
@@ -7,58 +7,59 @@
class HTMLPurifier_VarParser
{
- const STRING = 1;
- const ISTRING = 2;
- const TEXT = 3;
- const ITEXT = 4;
- const INT = 5;
- const FLOAT = 6;
- const BOOL = 7;
- const LOOKUP = 8;
- const ALIST = 9;
- const HASH = 10;
- const MIXED = 11;
+ const STRING = 1;
+ const ISTRING = 2;
+ const TEXT = 3;
+ const ITEXT = 4;
+ const INT = 5;
+ const FLOAT = 6;
+ const BOOL = 7;
+ const LOOKUP = 8;
+ const ALIST = 9;
+ const HASH = 10;
+ const MIXED = 11;
/**
* Lookup table of allowed types. Mainly for backwards compatibility, but
* also convenient for transforming string type names to the integer constants.
*/
- static public $types = array(
- 'string' => self::STRING,
- 'istring' => self::ISTRING,
- 'text' => self::TEXT,
- 'itext' => self::ITEXT,
- 'int' => self::INT,
- 'float' => self::FLOAT,
- 'bool' => self::BOOL,
- 'lookup' => self::LOOKUP,
- 'list' => self::ALIST,
- 'hash' => self::HASH,
- 'mixed' => self::MIXED
+ public static $types = array(
+ 'string' => self::STRING,
+ 'istring' => self::ISTRING,
+ 'text' => self::TEXT,
+ 'itext' => self::ITEXT,
+ 'int' => self::INT,
+ 'float' => self::FLOAT,
+ 'bool' => self::BOOL,
+ 'lookup' => self::LOOKUP,
+ 'list' => self::ALIST,
+ 'hash' => self::HASH,
+ 'mixed' => self::MIXED
);
/**
* Lookup table of types that are string, and can have aliases or
* allowed value lists.
*/
- static public $stringTypes = array(
- self::STRING => true,
- self::ISTRING => true,
- self::TEXT => true,
- self::ITEXT => true,
+ public static $stringTypes = array(
+ self::STRING => true,
+ self::ISTRING => true,
+ self::TEXT => true,
+ self::ITEXT => true,
);
/**
- * Validate a variable according to type. Throws
- * HTMLPurifier_VarParserException if invalid.
+ * Validate a variable according to type.
* It may return NULL as a valid type if $allow_null is true.
*
- * @param $var Variable to validate
- * @param $type Type of variable, see HTMLPurifier_VarParser->types
- * @param $allow_null Whether or not to permit null as a value
- * @return Validated and type-coerced variable
+ * @param mixed $var Variable to validate
+ * @param int $type Type of variable, see HTMLPurifier_VarParser->types
+ * @param bool $allow_null Whether or not to permit null as a value
+ * @return string Validated and type-coerced variable
+ * @throws HTMLPurifier_VarParserException
*/
- final public function parse($var, $type, $allow_null = false) {
+ final public function parse($var, $type, $allow_null = false)
+ {
if (is_string($type)) {
if (!isset(HTMLPurifier_VarParser::$types[$type])) {
throw new HTMLPurifier_VarParserException("Invalid type '$type'");
@@ -67,7 +68,9 @@ class HTMLPurifier_VarParser
}
}
$var = $this->parseImplementation($var, $type, $allow_null);
- if ($allow_null && $var === null) return null;
+ if ($allow_null && $var === null) {
+ return null;
+ }
// These are basic checks, to make sure nothing horribly wrong
// happened in our implementations.
switch ($type) {
@@ -75,27 +78,45 @@ class HTMLPurifier_VarParser
case (self::ISTRING):
case (self::TEXT):
case (self::ITEXT):
- if (!is_string($var)) break;
- if ($type == self::ISTRING || $type == self::ITEXT) $var = strtolower($var);
+ if (!is_string($var)) {
+ break;
+ }
+ if ($type == self::ISTRING || $type == self::ITEXT) {
+ $var = strtolower($var);
+ }
return $var;
case (self::INT):
- if (!is_int($var)) break;
+ if (!is_int($var)) {
+ break;
+ }
return $var;
case (self::FLOAT):
- if (!is_float($var)) break;
+ if (!is_float($var)) {
+ break;
+ }
return $var;
case (self::BOOL):
- if (!is_bool($var)) break;
+ if (!is_bool($var)) {
+ break;
+ }
return $var;
case (self::LOOKUP):
case (self::ALIST):
case (self::HASH):
- if (!is_array($var)) break;
+ if (!is_array($var)) {
+ break;
+ }
if ($type === self::LOOKUP) {
- foreach ($var as $k) if ($k !== true) $this->error('Lookup table contains value other than true');
+ foreach ($var as $k) {
+ if ($k !== true) {
+ $this->error('Lookup table contains value other than true');
+ }
+ }
} elseif ($type === self::ALIST) {
$keys = array_keys($var);
- if (array_keys($keys) !== $keys) $this->error('Indices for list are not uniform');
+ if (array_keys($keys) !== $keys) {
+ $this->error('Indices for list are not uniform');
+ }
}
return $var;
case (self::MIXED):
@@ -107,17 +128,24 @@ class HTMLPurifier_VarParser
}
/**
- * Actually implements the parsing. Base implementation is to not
+ * Actually implements the parsing. Base implementation does not
* do anything to $var. Subclasses should overload this!
+ * @param mixed $var
+ * @param int $type
+ * @param bool $allow_null
+ * @return string
*/
- protected function parseImplementation($var, $type, $allow_null) {
+ protected function parseImplementation($var, $type, $allow_null)
+ {
return $var;
}
/**
* Throws an exception.
+ * @throws HTMLPurifier_VarParserException
*/
- protected function error($msg) {
+ protected function error($msg)
+ {
throw new HTMLPurifier_VarParserException($msg);
}
@@ -126,29 +154,45 @@ class HTMLPurifier_VarParser
* @note This should not ever be called. It would be called if we
* extend the allowed values of HTMLPurifier_VarParser without
* updating subclasses.
+ * @param string $class
+ * @param int $type
+ * @throws HTMLPurifier_Exception
*/
- protected function errorInconsistent($class, $type) {
- throw new HTMLPurifier_Exception("Inconsistency in $class: ".HTMLPurifier_VarParser::getTypeName($type)." not implemented");
+ protected function errorInconsistent($class, $type)
+ {
+ throw new HTMLPurifier_Exception(
+ "Inconsistency in $class: " . HTMLPurifier_VarParser::getTypeName($type) .
+ " not implemented"
+ );
}
/**
* Generic error for if a type didn't work.
+ * @param mixed $var
+ * @param int $type
*/
- protected function errorGeneric($var, $type) {
+ protected function errorGeneric($var, $type)
+ {
$vtype = gettype($var);
- $this->error("Expected type ".HTMLPurifier_VarParser::getTypeName($type).", got $vtype");
+ $this->error("Expected type " . HTMLPurifier_VarParser::getTypeName($type) . ", got $vtype");
}
- static public function getTypeName($type) {
+ /**
+ * @param int $type
+ * @return string
+ */
+ public static function getTypeName($type)
+ {
static $lookup;
if (!$lookup) {
// Lazy load the alternative lookup table
$lookup = array_flip(HTMLPurifier_VarParser::$types);
}
- if (!isset($lookup[$type])) return 'unknown';
+ if (!isset($lookup[$type])) {
+ return 'unknown';
+ }
return $lookup[$type];
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/VarParser/Flexible.php b/library/HTMLPurifier/VarParser/Flexible.php
index c954250e9..b15016c5b 100644
--- a/library/HTMLPurifier/VarParser/Flexible.php
+++ b/library/HTMLPurifier/VarParser/Flexible.php
@@ -7,28 +7,41 @@
*/
class HTMLPurifier_VarParser_Flexible extends HTMLPurifier_VarParser
{
-
- protected function parseImplementation($var, $type, $allow_null) {
- if ($allow_null && $var === null) return null;
+ /**
+ * @param mixed $var
+ * @param int $type
+ * @param bool $allow_null
+ * @return array|bool|float|int|mixed|null|string
+ * @throws HTMLPurifier_VarParserException
+ */
+ protected function parseImplementation($var, $type, $allow_null)
+ {
+ if ($allow_null && $var === null) {
+ return null;
+ }
switch ($type) {
// Note: if code "breaks" from the switch, it triggers a generic
// exception to be thrown. Specific errors can be specifically
// done here.
- case self::MIXED :
- case self::ISTRING :
- case self::STRING :
- case self::TEXT :
- case self::ITEXT :
+ case self::MIXED:
+ case self::ISTRING:
+ case self::STRING:
+ case self::TEXT:
+ case self::ITEXT:
return $var;
- case self::INT :
- if (is_string($var) && ctype_digit($var)) $var = (int) $var;
+ case self::INT:
+ if (is_string($var) && ctype_digit($var)) {
+ $var = (int)$var;
+ }
return $var;
- case self::FLOAT :
- if ((is_string($var) && is_numeric($var)) || is_int($var)) $var = (float) $var;
+ case self::FLOAT:
+ if ((is_string($var) && is_numeric($var)) || is_int($var)) {
+ $var = (float)$var;
+ }
return $var;
- case self::BOOL :
+ case self::BOOL:
if (is_int($var) && ($var === 0 || $var === 1)) {
- $var = (bool) $var;
+ $var = (bool)$var;
} elseif (is_string($var)) {
if ($var == 'on' || $var == 'true' || $var == '1') {
$var = true;
@@ -39,48 +52,70 @@ class HTMLPurifier_VarParser_Flexible extends HTMLPurifier_VarParser
}
}
return $var;
- case self::ALIST :
- case self::HASH :
- case self::LOOKUP :
+ case self::ALIST:
+ case self::HASH:
+ case self::LOOKUP:
if (is_string($var)) {
// special case: technically, this is an array with
// a single empty string item, but having an empty
// array is more intuitive
- if ($var == '') return array();
+ if ($var == '') {
+ return array();
+ }
if (strpos($var, "\n") === false && strpos($var, "\r") === false) {
// simplistic string to array method that only works
// for simple lists of tag names or alphanumeric characters
- $var = explode(',',$var);
+ $var = explode(',', $var);
} else {
$var = preg_split('/(,|[\n\r]+)/', $var);
}
// remove spaces
- foreach ($var as $i => $j) $var[$i] = trim($j);
+ foreach ($var as $i => $j) {
+ $var[$i] = trim($j);
+ }
if ($type === self::HASH) {
// key:value,key2:value2
$nvar = array();
foreach ($var as $keypair) {
$c = explode(':', $keypair, 2);
- if (!isset($c[1])) continue;
- $nvar[$c[0]] = $c[1];
+ if (!isset($c[1])) {
+ continue;
+ }
+ $nvar[trim($c[0])] = trim($c[1]);
}
$var = $nvar;
}
}
- if (!is_array($var)) break;
+ if (!is_array($var)) {
+ break;
+ }
$keys = array_keys($var);
if ($keys === array_keys($keys)) {
- if ($type == self::ALIST) return $var;
- elseif ($type == self::LOOKUP) {
+ if ($type == self::ALIST) {
+ return $var;
+ } elseif ($type == self::LOOKUP) {
$new = array();
foreach ($var as $key) {
$new[$key] = true;
}
return $new;
- } else break;
+ } else {
+ break;
+ }
+ }
+ if ($type === self::ALIST) {
+ trigger_error("Array list did not have consecutive integer indexes", E_USER_WARNING);
+ return array_values($var);
}
if ($type === self::LOOKUP) {
foreach ($var as $key => $value) {
+ if ($value !== true) {
+ trigger_error(
+ "Lookup array has non-true value at key '$key'; " .
+ "maybe your input array was not indexed numerically",
+ E_USER_WARNING
+ );
+ }
$var[$key] = true;
}
}
@@ -90,7 +125,6 @@ class HTMLPurifier_VarParser_Flexible extends HTMLPurifier_VarParser
}
$this->errorGeneric($var, $type);
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/VarParser/Native.php b/library/HTMLPurifier/VarParser/Native.php
index b02a6de54..f11c318ef 100644
--- a/library/HTMLPurifier/VarParser/Native.php
+++ b/library/HTMLPurifier/VarParser/Native.php
@@ -8,11 +8,24 @@
class HTMLPurifier_VarParser_Native extends HTMLPurifier_VarParser
{
- protected function parseImplementation($var, $type, $allow_null) {
+ /**
+ * @param mixed $var
+ * @param int $type
+ * @param bool $allow_null
+ * @return null|string
+ */
+ protected function parseImplementation($var, $type, $allow_null)
+ {
return $this->evalExpression($var);
}
- protected function evalExpression($expr) {
+ /**
+ * @param string $expr
+ * @return mixed
+ * @throws HTMLPurifier_VarParserException
+ */
+ protected function evalExpression($expr)
+ {
$var = null;
$result = eval("\$var = $expr;");
if ($result === false) {
@@ -20,7 +33,6 @@ class HTMLPurifier_VarParser_Native extends HTMLPurifier_VarParser
}
return $var;
}
-
}
// vim: et sw=4 sts=4
diff --git a/library/HTMLPurifier/Zipper.php b/library/HTMLPurifier/Zipper.php
new file mode 100644
index 000000000..6e21ea070
--- /dev/null
+++ b/library/HTMLPurifier/Zipper.php
@@ -0,0 +1,157 @@
+<?php
+
+/**
+ * A zipper is a purely-functional data structure which contains
+ * a focus that can be efficiently manipulated. It is known as
+ * a "one-hole context". This mutable variant implements a zipper
+ * for a list as a pair of two arrays, laid out as follows:
+ *
+ * Base list: 1 2 3 4 [ ] 6 7 8 9
+ * Front list: 1 2 3 4
+ * Back list: 9 8 7 6
+ *
+ * User is expected to keep track of the "current element" and properly
+ * fill it back in as necessary. (ToDo: Maybe it's more user friendly
+ * to implicitly track the current element?)
+ *
+ * Nota bene: the current class gets confused if you try to store NULLs
+ * in the list.
+ */
+
+class HTMLPurifier_Zipper
+{
+ public $front, $back;
+
+ public function __construct($front, $back) {
+ $this->front = $front;
+ $this->back = $back;
+ }
+
+ /**
+ * Creates a zipper from an array, with a hole in the
+ * 0-index position.
+ * @param Array to zipper-ify.
+ * @return Tuple of zipper and element of first position.
+ */
+ static public function fromArray($array) {
+ $z = new self(array(), array_reverse($array));
+ $t = $z->delete(); // delete the "dummy hole"
+ return array($z, $t);
+ }
+
+ /**
+ * Convert zipper back into a normal array, optionally filling in
+ * the hole with a value. (Usually you should supply a $t, unless you
+ * are at the end of the array.)
+ */
+ public function toArray($t = NULL) {
+ $a = $this->front;
+ if ($t !== NULL) $a[] = $t;
+ for ($i = count($this->back)-1; $i >= 0; $i--) {
+ $a[] = $this->back[$i];
+ }
+ return $a;
+ }
+
+ /**
+ * Move hole to the next element.
+ * @param $t Element to fill hole with
+ * @return Original contents of new hole.
+ */
+ public function next($t) {
+ if ($t !== NULL) array_push($this->front, $t);
+ return empty($this->back) ? NULL : array_pop($this->back);
+ }
+
+ /**
+ * Iterated hole advancement.
+ * @param $t Element to fill hole with
+ * @param $i How many forward to advance hole
+ * @return Original contents of new hole, i away
+ */
+ public function advance($t, $n) {
+ for ($i = 0; $i < $n; $i++) {
+ $t = $this->next($t);
+ }
+ return $t;
+ }
+
+ /**
+ * Move hole to the previous element
+ * @param $t Element to fill hole with
+ * @return Original contents of new hole.
+ */
+ public function prev($t) {
+ if ($t !== NULL) array_push($this->back, $t);
+ return empty($this->front) ? NULL : array_pop($this->front);
+ }
+
+ /**
+ * Delete contents of current hole, shifting hole to
+ * next element.
+ * @return Original contents of new hole.
+ */
+ public function delete() {
+ return empty($this->back) ? NULL : array_pop($this->back);
+ }
+
+ /**
+ * Returns true if we are at the end of the list.
+ * @return bool
+ */
+ public function done() {
+ return empty($this->back);
+ }
+
+ /**
+ * Insert element before hole.
+ * @param Element to insert
+ */
+ public function insertBefore($t) {
+ if ($t !== NULL) array_push($this->front, $t);
+ }
+
+ /**
+ * Insert element after hole.
+ * @param Element to insert
+ */
+ public function insertAfter($t) {
+ if ($t !== NULL) array_push($this->back, $t);
+ }
+
+ /**
+ * Splice in multiple elements at hole. Functional specification
+ * in terms of array_splice:
+ *
+ * $arr1 = $arr;
+ * $old1 = array_splice($arr1, $i, $delete, $replacement);
+ *
+ * list($z, $t) = HTMLPurifier_Zipper::fromArray($arr);
+ * $t = $z->advance($t, $i);
+ * list($old2, $t) = $z->splice($t, $delete, $replacement);
+ * $arr2 = $z->toArray($t);
+ *
+ * assert($old1 === $old2);
+ * assert($arr1 === $arr2);
+ *
+ * NB: the absolute index location after this operation is
+ * *unchanged!*
+ *
+ * @param Current contents of hole.
+ */
+ public function splice($t, $delete, $replacement) {
+ // delete
+ $old = array();
+ $r = $t;
+ for ($i = $delete; $i > 0; $i--) {
+ $old[] = $r;
+ $r = $this->delete();
+ }
+ // insert
+ for ($i = count($replacement)-1; $i >= 0; $i--) {
+ $this->insertAfter($r);
+ $r = $replacement[$i];
+ }
+ return array($old, $r);
+ }
+}
diff --git a/library/Smarty/README b/library/Smarty/README
index 167462823..6367f030e 100644
--- a/library/Smarty/README
+++ b/library/Smarty/README
@@ -1,4 +1,4 @@
-Smarty 3.1.11
+Smarty 3.1.21
Author: Monte Ohrt <monte at ohrt dot com >
Author: Uwe Tews
@@ -120,7 +120,7 @@ $smarty->unregisterObject($object_name)
$smarty->unregisterFilter($type, $function_name)
$smarty->unregisterResource($resource_type)
-$smarty->compileAllTemplates($extention = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null)
+$smarty->compileAllTemplates($extension = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null)
$smarty->clearCompiledTemplate($resource_name = null, $compile_id = null, $exp_time = null)
$smarty->testInstall()
diff --git a/library/Smarty/SMARTY_3.1_NOTES.txt b/library/Smarty/SMARTY_3.1_NOTES.txt
index e56e56f67..57709f0d7 100644
--- a/library/Smarty/SMARTY_3.1_NOTES.txt
+++ b/library/Smarty/SMARTY_3.1_NOTES.txt
@@ -199,7 +199,7 @@ Relative paths are available with {include file="..."} and
$smarty->fetch('./foo.tpl') cannot be relative to a template, an
exception is thrown.
- Adressing a specific $template_dir
+ Addressing a specific $template_dir
Smarty 3.1 introduces the $template_dir index notation.
$smarty->fetch('[foo]bar.tpl') and {include file="[foo]bar.tpl"}
diff --git a/library/Smarty/change_log.txt b/library/Smarty/change_log.txt
index 27c506db6..a0161659d 100644
--- a/library/Smarty/change_log.txt
+++ b/library/Smarty/change_log.txt
@@ -1,5 +1,342 @@
-===== trunk =====
-===== Smarty-3.1.11 =====
+ ===== 3.1.22-dev ===== (xx.xx.2014)
+ ===== 3.1.21 ===== (18.10.2014)
+ 18.10.2014
+ - composer moved to github
+ - add COMPOSER_RELEASE_NOTES
+
+ 17.10.2014
+ - bugfix on $php_handling security and optimization of smarty_internal_parsetree (Thue Kristensen)
+
+ 16.10.2014
+ - bugfix composer.json update
+
+ 15.10.2014
+ - bugfix calling a new created cache file with fetch() and Smarty::CACHING_LIFETIME_SAVED multiple times did fail (forum 22350)
+
+ 14.10.2014
+ - bugfix any tag placed within "<script language=php>" will throw a security exception to close all thinkable holes
+ - bugfix classmap in root composer.json should start at "libs/..."
+ - improvement cache is_file(file_exists) results of loadPlugin() to avoid unnecessary calls during compilation (Issue 201}
+
+ 12.10.2014
+ - bugfix a comment like "<script{*foo*} language=php>" bypassed $php_handling checking (Thue Kristensen)
+ - bugfix change of 08.10.2014 could create E_NOTICE meassage when using "<?php" tags
+ - bugfix "<script language=php>" with $php_handling PHP_PASSTHRU was executed in {nocache} sections
+
+ ===== 3.1.20 ===== (09.10.2014)
+ 08.10.2014
+ - bugfix security mode of "<script language=php>" must be controlled by $php_handling property (Thue Kristensen)
+
+ 01.10.2014
+ - bugfix template resource of inheritance blocks could get invalid if the default resource type is not 'file'(Issue 202)
+ - bugfix existing child {block} tag must override parent {block} tag append / prepend setting (topic 25259)
+
+ 02.08.2014
+ - bugfix modifier wordwrap did output break string wrong if first word was exceeding length with cut = true (topic 25193)
+
+ 24.07.2014
+ - bugfix cache clear when cache folder does not exist
+
+ 16.07.2014
+ - enhancement remove BOM automatically from template source (topic 25161)
+
+ 04.07.2014
+ - bugfix the bufix of 02.06.2014 broke correct handling of child templates with same name but different template folders in extends resource (issue 194 and topic 25099)
+
+ ===== 3.1.19 ===== (06.30.2014)
+ 20.06.2014
+ - bugfix template variables could not be passed as parameter in {include} when the include was in a {nocache} section (topic 25131)
+
+ 17.06.2014
+ - bugfix large template text of some charsets could cause parsing errors (topic 24630)
+
+ 08.06.2014
+ - bugfix registered objects did not work after spelling fixes of 06.06.2014
+ - bugfix {block} tags within {literal} .. {/literal} got not displayed correctly (topic 25024)
+ - bugfix UNC WINDOWS PATH like "\\psf\path\to\dir" did not work as template directory (Issue 192)
+ - bugfix {html_image} security check did fail on files relative to basedir (Issue 191)
+
+ 06.06.2014
+ - fixed PHPUnit outputFilterTrimWhitespaceTests.php assertion of test result
+ - fixed spelling, PHPDoc , minor errors, code cleanup
+
+ 02.06.2014
+ - using multiple cwd with relative template dirs could result in identical compiled file names. (issue 194 and topic 25099)
+
+ 19.04.2014
+ - bugfix calling createTemplate(template, data) with empty data array caused notice of array to string conversion (Issue 189)
+ - bugfix clearCompiledTemplate() did not delete files on WINDOWS when a compile_id was specified
+
+ 18.04.2014
+ - revert bugfix of 5.4.2014 because %-e date format is not supported on all operating systems
+
+ ===== 3.1.18 ===== (07.04.2014)
+ 06.04.2014
+ - bugfix template inheritance fail when using custom resource after patch of 8.3.2014 (Issue 187)
+ - bugfix update of composer file (Issue 168 and 184)
+
+ 05.04.2014
+ - bugfix default date format leads to extra spaces when displaying dates with single digit days (Issue 165)
+
+ 26.03.2014
+ - bugfix Smart_Resource_Custom should not lowercase the resource name (Issue 183)
+
+ 24.03.2014
+ - bugfix using a {foreach} property like @iteration could fail when used in inheritance parent templates (Issue 182)
+
+ 20.03.2014
+ - bugfix $smarty->auto_literal and mbsting.func_overload 2, 6 or 7 did fail (forum topic 24899)
+
+ 18.03.2014
+ - revert change of 17.03.2014
+
+17.03.2014
+ - bugfix $smarty->auto_literal and mbsting.func_overload 2, 6 or 7 did fail (forum topic 24899)
+
+ 15.03.2014
+ - bugfix Smarty_CacheResource_Keyvaluestore did use different keys on read/writes and clearCache() calls (Issue 169)
+
+ 13.03.2014
+ - bugfix clearXxx() change of 27.1.2014 did not work when specifing cache_id or compile_id (forum topic 24868 and 24867)
+
+ ===== 3.1.17 =====
+ 08.03.2014
+ - bugfix relative file path {include} within {block} of child templates did throw exception on first call (Issue 177)
+
+ 17.02.2014
+ - bugfix Smarty failed when executing PHP on HHVM (Hip Hop 2.4) because uniqid('',true) does return string with ',' (forum topic 20343)
+
+ 16.02.2014
+ - bugfix a '//' or '\\' in template_dir path could produce wrong path on relative filepath in {include} (Issue 175)
+
+ 05.02.2014
+ - bugfix shared.literal_compiler_param.php did throw an exception when literal did contain a '-' (smarty-developers group)
+
+ 27.01.2014
+ - bugfix $smarty->debugging = true; did show the variable of the $smarty object not the variables used in display() call (forum topic 24764)
+ - bugfix clearCompiledTemplate(), clearAll() and clear() should use realpath to avoid possible exception from RecursiveDirectoryIterator (Issue 171)
+
+ 26.01.2014
+ - bugfix undo block nesting checks for {nocache} for reasons like forum topic 23280 (forum topic 24762)
+
+ 18.01.2014
+ - bugfix the compiler did fail when using template inheritance and recursive {include} (smarty-developers group)
+
+ 11.01.2014
+ - bugfix "* }" (spaces before right delimiter) was interpreted by mistake as comment end tag (Issue 170)
+ - internals content cache should be clear when updating cache file
+
+ 08.01.2014
+ - bugfix Smarty_CacheResource_Custom did not handle template resource type specifications on clearCache() calls (Issue 169)
+ - bugfix SmartyBC.class.php should use require_once to load Smarty.class.php (forum topic 24683)
+
+ ===== 3.1.16 =====
+ 15.12.2013
+ - bugfix {include} with {block} tag handling (forum topic 24599, 24594, 24682) (Issue 161)
+ Read 3.1.16_RELEASE_NOTES for more details
+ - enhancement additional debug output at $smarty->_parserdebug = true;
+
+ 07.11.2013
+ - bugfix too restrictive handling of {include} within {block} tags. 3.1.15 did throw errors where 3.1.14 did not (forum topic 24599)
+ - bugfix compiler could fail if PHP mbstring.func_overload is enabled (Issue 164)
+
+ 28.10.2013
+ - bugfix variable resource name at custom resource plugin did not work within {block} tags (Issue 163)
+ - bugfix notice "Trying to get property of non-object" removed (Issue 163)
+ - bugfix correction of modifier capitalize fix from 3.10.2013 (issue 159)
+ - bugfix multiple {block}s with same name in parent did not work (forum topic 24631)
+
+ 20.10.2013
+ - bugfix a variable file name at {extends} tag did fail (forum topic 24618)
+
+ 14.10.2013
+ - bugfix yesterdays fix could result in an undefined variable
+
+ 13.10.2013
+ - bugfix variable names on {include} in template inheritance did unextepted error message (forum topic 24594) (Issue 161)
+.- bugfix relative includes with same name like {include './foo.tpl'} from different folder failed (forum topic 24590)(Issue 161)
+
+ 04.10.2013
+ - bugfix variable file names at {extends} had been disbabled by mistake with the rewrite of
+ template inheritance of 24.08.2013 (forum topic 24585)
+
+03.10.2013
+ - bugfix loops using modifier capitalize did eat up memory (issue 159)
+
+ ===== Smarty 3.1.15 =====
+01.10.2013
+ - use current delimiters in compiler error messages (issue 157)
+ - improvement on performance when using error handler and multiple template folders (issue 152)
+
+17.09.2013
+ - improvement added patch for additional SmartyCompilerException properties for better access to scource information (forum topic 24559)
+
+16.09.2013
+ - bugfix recompiled templates did not show on first request with zend opcache cache (forum topic 24320)
+
+13.09.2013
+ - bugfix html_select_time defaulting error for the Meridian dropdown (forum topic 24549)
+
+09.09.2012
+- bugfix incorrect compiled code with array(object,method) callback at registered Variable Filter (forum topic 24542)
+
+27.08.2013
+- bugfix delimiter followed by linebreak did not work as auto literal after update from 24.08.2013 (forum topic 24518)
+
+24.08.2013
+- bugfix and enhancement
+ Because several recent problems with template inheritance the {block} tag compiler has been rewriten
+ - Error messages shown now the correct child template file and line number
+ - The compiler could fail on some larger UTF-8 text block (forum topic 24455)
+ - The {strip} tag can now be placed outside {block} tags in child templates (forum topic 24289)
+- change SmartyException::$escape is now false by default
+- change PHP traceback has been remove for SmartyException and SmartyCompilerException
+
+14.08.2013
+- bugfix compiled filepath of config file did not observe different config_dir (forum topic 24493)
+
+13.08.2013
+- bugfix the internal resource cache did not observe config_dir changes (forum topic 24493)
+
+12.08.2013
+- bugfix internal $tmpx variables must be unique over all inheritance templates (Issue 149)
+
+10.08.2013
+- bugfix a newline was eaten when a <?xml ... ?> was passed by a Smarty variable and caching was enabled (forum topic 24482)
+
+29.07.2013
+- bugfix headers already send warning thrown when using 'SMARTY_DEBUG=on' from URL (Issue 148)
+
+27.07.2013
+- enhancement allow access to properties of registered opjects for Smarty2 BC (forum topic 24344)
+
+26.07.2013
+- bugfix template inheritance nesting problem (forum topic 24387)
+
+15.7.2013
+- update code generated by PSR-2 standards fixer which introduced PHP 5.4 incompatibilities of 14.7.2013
+
+14.7.2013
+- bugfix increase of internal maximum parser stacksize to allow more complex tag code {forum topic 24426}
+- update for PHP 5.4 compatibility
+- reformat source to PSR-2 standard
+
+12.7.2013
+- bugfix Do not remove '//' from file path at normalization (Issue 142)
+
+2.7.2013
+- bugfix trimwhitespace would replace captured items in wrong order (forum topic 24387)
+
+===== Smarty-3.1.14 =====
+27.06.2013
+- bugfix removed PHP 5.5 deprecated preg_replace /e option in modifier capitalize (forum topic 24389)
+
+17.06.2013
+- fixed spelling in sources and documentation (from smarty-developers forum Veres Lajos)
+- enhancement added constant SMARTY::CLEAR_EXPIRED for the change of 26.05.2013 (forum topic 24310)
+- bugfix added smarty_security.php to composer.json (Issue 135)
+
+26.05.2013
+- enhancement an expire_time of -1 in clearCache() and clearAllCache() will delete outdated cache files
+ by their individual cache_lifetime used at creation (forum topic 24310)
+
+21.05.2013
+- bugfix modifier strip_tags:true was compiled into wrong code (Forum Topic 24287)
+- bugfix /n after ?> in Smarty.class.php did start output buffering (Issue 138)
+
+25.04.2013
+- bugfix escape and wordrap modifier could be compiled into wrong code when used in {nocache}{/nocache}
+ section but caching is disabled (Forum Topic 24260)
+
+05.04.2013
+- bugfix post filter must not run when compiling inheritance child blocks (Forum Topic 24094)
+- bugfix after the fix for Issue #130 compiler exceptions got double escaped (Forum Topic 24199)
+
+28.02.2013
+- bugfix nocache blocks could be lost when using CACHING_LIFETIME_SAVED (Issue #133)
+- bugfix Compile ID gets nulled when compiling child blocks (Issue #134)
+
+
+24.01.2013
+- bugfix wrong tag type in smarty_internal_templatecompilerbase.php could cause wrong plugin search order (Forum Topic 24028)
+
+===== Smarty-3.1.13 =====
+13.01.2013
+- enhancement allow to disable exception message escaping by SmartyException::$escape = false; (Issue #130)
+
+09.01.2013
+- bugfix compilation did fail when a prefilter did modify an {extends} tag c
+- bugfix template inheritance could fail if nested {block} tags in childs did contain {$smarty.block.child} (Issue #127)
+- bugfix template inheritance could fail if {block} tags in childs did have similar name as used plugins (Issue #128)
+- added abstract method declaration doCompile() in Smarty_Internal_TemplateCompilerBase (Forum Topic 23969)
+
+06.01.2013
+- Allow '://' URL syntax in template names of stream resources (Issue #129)
+
+27.11.2012
+- bugfix wrong variable usage in smarty_internal_utility.php (Issue #125)
+
+26.11.2012
+- bugfix global variable assigned within template function are not seen after template function exit (Forum Topic 23800)
+
+24.11.2012
+- made SmartyBC loadable via composer (Issue #124)
+
+20.11.2012
+- bugfix assignGlobal() called from plugins did not work (Forum Topic 23771)
+
+13.11.2012
+- adding attribute "strict" to html_options, html_checkboxes, html_radios to only print disabled/readonly attributes if their values are true or "disabled"/"readonly" (Issue #120)
+
+01.11.2012
+- bugfix muteExcpetedErrors() would screw up for non-readable paths (Issue #118)
+
+===== Smarty-3.1.12 =====
+14.09.2012
+- bugfix template inheritance failed to compile with delimiters {/ and /} (Forum Topic 23008)
+
+11.09.2012
+- bugfix escape Smarty exception messages to avoid possible script execution
+
+10.09.2012
+- bugfix tag option flags and shorttag attributes did not work when rdel started with '=' (Forum Topic 22979)
+
+31.08.2012
+- bugfix resolving relative paths broke in some circumstances (Issue #114)
+
+22.08.2012
+- bugfix test MBString availability through mb_split, as it could've been compiled without regex support (--enable-mbregex).
+ Either we get MBstring's full package, or we pretend it's not there at all.
+
+21.08.2012
+- bugfix $auto_literal = false did not work with { block} tags in child templates
+ (problem was reintroduced after fix in 3.1.7)(Forum Topic 20581)
+
+17.08.2012
+- bugfix compiled code of nocache sections could contain wrong escaping (Forum Topic 22810)
+
+15.08.2012
+- bugfix template inheritance did produce wrong code if subtemplates with {block} was
+ included several times (from smarty-developers forum)
+
+14.08.2012
+- bugfix PHP5.2 compatibility compromised by SplFileInfo::getBasename() (Issue 110)
+
+01.08.2012
+- bugfix avoid PHP error on $smarty->configLoad(...) with invalid section specification (Forum Topic 22608)
+
+30.07.2012
+-bugfix {assign} in a nocache section should not overwrite existing variable values
+ during compilation (issue 109)
+
+28.07.2012
+- bugfix array access of config variables did not work (Forum Topic 22527)
+
+19.07.2012
+- bugfix the default plugin handler did create wrong compiled code for static class methods
+ from external script files (issue 108)
+
+===== Smarty-3.1.11 =====
30.06.2012
- bugfix {block.. hide} did not work as nested child (Forum Topic 22216)
@@ -342,7 +679,7 @@
03/09/2011
- bugfix createTemplate() must default to cache_id and compile_id of Smarty object
- bugfix Smarty_CacheResource_KeyValueStore must include $source->uid in cache filepath to keep templates with same
- name but different folders seperated
+ name but different folders separated
- added cacheresource.apc.php example in demo folder
02/09/2011
@@ -533,7 +870,7 @@
- changed ./ and ../ behaviour
14/02/2011
-- added {block ... hide} option to supress block if no child is defined
+- added {block ... hide} option to suppress block if no child is defined
13/02/2011
- update handling of recursive subtemplate calls
@@ -647,7 +984,7 @@
- bugfix on compiler object destruction. compiler_object property was by mistake unset.
09/03/2011
--bugfix a variable filter should run before modifers on an output tag (see change of 23/07/2010)
+-bugfix a variable filter should run before modifiers on an output tag (see change of 23/07/2010)
08/03/2011
- bugfix loading config file without section should load only defaults
@@ -951,10 +1288,10 @@ request_use_auto_globals
- bugfix passing scope attributes in doublequoted strings did not work at {include} {assign} and {append}
25/07/2010
-- another bugfix of change from 23/07/2010 when compiling modifer
+- another bugfix of change from 23/07/2010 when compiling modifier
24/07/2010
-- bugfix of change from 23/07/2010 when compiling modifer
+- bugfix of change from 23/07/2010 when compiling modifier
23/07/2010
- changed execution order. A variable filter does now run before modifiers on output of variables
@@ -1261,7 +1598,7 @@ request_use_auto_globals
- bugfix on {if} tags
01/12/2010
-- changed back modifer handling in parser. Some restrictions still apply:
+- changed back modifier handling in parser. Some restrictions still apply:
if modifiers are used in side {if...} expression or in mathematical expressions
parentheses must be used.
- bugfix the {function..} tag did not accept the name attribute in double quotes
@@ -1873,7 +2210,7 @@ NOTICE: existing compiled template and cache files must be deleted
- fixed exceptions in function plugins
- fixed notice error in Smarty.class.php
- allow chained objects to span multiple lines
-- fixed error in modifers
+- fixed error in modifiers
03/20/2009
- moved /plugins folder into /libs folder
@@ -1881,7 +2218,7 @@ NOTICE: existing compiled template and cache files must be deleted
- autoappend a directory separator if the xxxxx_dir definition have no trailing one
03/19/2009
-- allow array definition as modifer parameter
+- allow array definition as modifier parameter
- changed modifier to use multi byte string funktions.
03/17/2009
diff --git a/library/Smarty/demo/index.php b/library/Smarty/demo/index.php
index 74c8e8971..33f3035c5 100644
--- a/library/Smarty/demo/index.php
+++ b/library/Smarty/demo/index.php
@@ -1,33 +1,30 @@
<?php
- /**
+/**
* Example Application
-
+ *
* @package Example-application
*/
-require('../libs/Smarty.class.php');
+require '../libs/Smarty.class.php';
$smarty = new Smarty;
-
-
//$smarty->force_compile = true;
$smarty->debugging = true;
$smarty->caching = true;
$smarty->cache_lifetime = 120;
-$smarty->assign("Name","Fred Irving Johnathan Bradley Peppergill",true);
-$smarty->assign("FirstName",array("John","Mary","James","Henry"));
-$smarty->assign("LastName",array("Doe","Smith","Johnson","Case"));
-$smarty->assign("Class",array(array("A","B","C","D"), array("E", "F", "G", "H"),
- array("I", "J", "K", "L"), array("M", "N", "O", "P")));
+$smarty->assign("Name", "Fred Irving Johnathan Bradley Peppergill", true);
+$smarty->assign("FirstName", array("John", "Mary", "James", "Henry"));
+$smarty->assign("LastName", array("Doe", "Smith", "Johnson", "Case"));
+$smarty->assign("Class", array(array("A", "B", "C", "D"), array("E", "F", "G", "H"),
+ array("I", "J", "K", "L"), array("M", "N", "O", "P")));
$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
- array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
+ array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
-$smarty->assign("option_values", array("NY","NE","KS","IA","OK","TX"));
-$smarty->assign("option_output", array("New York","Nebraska","Kansas","Iowa","Oklahoma","Texas"));
+$smarty->assign("option_values", array("NY", "NE", "KS", "IA", "OK", "TX"));
+$smarty->assign("option_output", array("New York", "Nebraska", "Kansas", "Iowa", "Oklahoma", "Texas"));
$smarty->assign("option_selected", "NE");
$smarty->display('index.tpl');
-?>
diff --git a/library/Smarty/demo/plugins/cacheresource.apc.php b/library/Smarty/demo/plugins/cacheresource.apc.php
index 00ba59817..d7336f2bf 100644
--- a/library/Smarty/demo/plugins/cacheresource.apc.php
+++ b/library/Smarty/demo/plugins/cacheresource.apc.php
@@ -2,19 +2,19 @@
/**
* APC CacheResource
- *
* CacheResource Implementation based on the KeyValueStore API to use
* memcache as the storage resource for Smarty's output caching.
* *
+ *
* @package CacheResource-examples
- * @author Uwe Tews
+ * @author Uwe Tews
*/
-class Smarty_CacheResource_Apc extends Smarty_CacheResource_KeyValueStore {
-
+class Smarty_CacheResource_Apc extends Smarty_CacheResource_KeyValueStore
+{
public function __construct()
{
// test if APC is present
- if(!function_exists('apc_cache_info')) {
+ if (!function_exists('apc_cache_info')) {
throw new Exception('APC Template Caching Error: APC is not installed');
}
}
@@ -22,8 +22,9 @@ class Smarty_CacheResource_Apc extends Smarty_CacheResource_KeyValueStore {
/**
* Read values for a set of keys from cache
*
- * @param array $keys list of keys to fetch
- * @return array list of values with the given keys used as indexes
+ * @param array $keys list of keys to fetch
+ *
+ * @return array list of values with the given keys used as indexes
* @return boolean true on success, false on failure
*/
protected function read(array $keys)
@@ -33,28 +34,32 @@ class Smarty_CacheResource_Apc extends Smarty_CacheResource_KeyValueStore {
foreach ($res as $k => $v) {
$_res[$k] = $v;
}
+
return $_res;
}
/**
* Save values for a set of keys to cache
*
- * @param array $keys list of values to save
- * @param int $expire expiration time
+ * @param array $keys list of values to save
+ * @param int $expire expiration time
+ *
* @return boolean true on success, false on failure
*/
- protected function write(array $keys, $expire=null)
+ protected function write(array $keys, $expire = null)
{
foreach ($keys as $k => $v) {
apc_store($k, $v, $expire);
}
+
return true;
}
/**
* Remove values from cache
*
- * @param array $keys list of keys to delete
+ * @param array $keys list of keys to delete
+ *
* @return boolean true on success, false on failure
*/
protected function delete(array $keys)
@@ -62,6 +67,7 @@ class Smarty_CacheResource_Apc extends Smarty_CacheResource_KeyValueStore {
foreach ($keys as $k) {
apc_delete($k);
}
+
return true;
}
diff --git a/library/Smarty/demo/plugins/cacheresource.memcache.php b/library/Smarty/demo/plugins/cacheresource.memcache.php
index 230607d69..e265365fb 100644
--- a/library/Smarty/demo/plugins/cacheresource.memcache.php
+++ b/library/Smarty/demo/plugins/cacheresource.memcache.php
@@ -2,34 +2,35 @@
/**
* Memcache CacheResource
- *
* CacheResource Implementation based on the KeyValueStore API to use
* memcache as the storage resource for Smarty's output caching.
- *
* Note that memcache has a limitation of 256 characters per cache-key.
* To avoid complications all cache-keys are translated to a sha1 hash.
*
* @package CacheResource-examples
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
-class Smarty_CacheResource_Memcache extends Smarty_CacheResource_KeyValueStore {
+class Smarty_CacheResource_Memcache extends Smarty_CacheResource_KeyValueStore
+{
/**
* memcache instance
+ *
* @var Memcache
*/
protected $memcache = null;
-
+
public function __construct()
{
$this->memcache = new Memcache();
- $this->memcache->addServer( '127.0.0.1', 11211 );
+ $this->memcache->addServer('127.0.0.1', 11211);
}
-
+
/**
* Read values for a set of keys from cache
*
- * @param array $keys list of keys to fetch
- * @return array list of values with the given keys used as indexes
+ * @param array $keys list of keys to fetch
+ *
+ * @return array list of values with the given keys used as indexes
* @return boolean true on success, false on failure
*/
protected function read(array $keys)
@@ -45,29 +46,33 @@ class Smarty_CacheResource_Memcache extends Smarty_CacheResource_KeyValueStore {
foreach ($res as $k => $v) {
$_res[$lookup[$k]] = $v;
}
+
return $_res;
}
-
+
/**
* Save values for a set of keys to cache
*
- * @param array $keys list of values to save
- * @param int $expire expiration time
+ * @param array $keys list of values to save
+ * @param int $expire expiration time
+ *
* @return boolean true on success, false on failure
*/
- protected function write(array $keys, $expire=null)
+ protected function write(array $keys, $expire = null)
{
foreach ($keys as $k => $v) {
$k = sha1($k);
$this->memcache->set($k, $v, 0, $expire);
}
+
return true;
}
/**
* Remove values from cache
*
- * @param array $keys list of keys to delete
+ * @param array $keys list of keys to delete
+ *
* @return boolean true on success, false on failure
*/
protected function delete(array $keys)
@@ -76,6 +81,7 @@ class Smarty_CacheResource_Memcache extends Smarty_CacheResource_KeyValueStore {
$k = sha1($k);
$this->memcache->delete($k);
}
+
return true;
}
@@ -86,6 +92,6 @@ class Smarty_CacheResource_Memcache extends Smarty_CacheResource_KeyValueStore {
*/
protected function purge()
{
- return $this->memcache->flush();
+ $this->memcache->flush();
}
}
diff --git a/library/Smarty/demo/plugins/cacheresource.mysql.php b/library/Smarty/demo/plugins/cacheresource.mysql.php
index ab8c47516..d8d00ab26 100644
--- a/library/Smarty/demo/plugins/cacheresource.mysql.php
+++ b/library/Smarty/demo/plugins/cacheresource.mysql.php
@@ -2,10 +2,8 @@
/**
* MySQL CacheResource
- *
* CacheResource Implementation based on the Custom API to use
* MySQL as the storage resource for Smarty's output caching.
- *
* Table definition:
* <pre>CREATE TABLE IF NOT EXISTS `output_cache` (
* `id` CHAR(40) NOT NULL COMMENT 'sha1 hash',
@@ -22,19 +20,22 @@
* ) ENGINE = InnoDB;</pre>
*
* @package CacheResource-examples
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
-class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom {
+class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom
+{
// PDO instance
protected $db;
protected $fetch;
protected $fetchTimestamp;
protected $save;
-
- public function __construct() {
+
+ public function __construct()
+ {
try {
- $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty", "smarty");
- } catch (PDOException $e) {
+ $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty");
+ }
+ catch (PDOException $e) {
throw new SmartyException('Mysql Resource failed: ' . $e->getMessage());
}
$this->fetch = $this->db->prepare('SELECT modified, content FROM output_cache WHERE id = :id');
@@ -46,19 +47,20 @@ class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom {
/**
* fetch cached content and its modification time from data source
*
- * @param string $id unique cache content identifier
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $content cached content
- * @param integer $mtime cache modification timestamp (epoch)
+ * @param string $id unique cache content identifier
+ * @param string $name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param string $content cached content
+ * @param integer $mtime cache modification timestamp (epoch)
+ *
* @return void
*/
protected function fetch($id, $name, $cache_id, $compile_id, &$content, &$mtime)
{
$this->fetch->execute(array('id' => $id));
$row = $this->fetch->fetch();
- $this->fetch->closeCursor();
+ $this->fetch->closeCursor();
if ($row) {
$content = $row['content'];
$mtime = strtotime($row['modified']);
@@ -67,15 +69,17 @@ class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom {
$mtime = null;
}
}
-
+
/**
* Fetch cached content's modification timestamp from data source
*
* @note implementing this method is optional. Only implement it if modification times can be accessed faster than loading the complete cached content.
- * @param string $id unique cache content identifier
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
+ *
+ * @param string $id unique cache content identifier
+ * @param string $name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ *
* @return integer|boolean timestamp (epoch) the template was modified, or false if not found
*/
protected function fetchTimestamp($id, $name, $cache_id, $compile_id)
@@ -83,40 +87,44 @@ class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom {
$this->fetchTimestamp->execute(array('id' => $id));
$mtime = strtotime($this->fetchTimestamp->fetchColumn());
$this->fetchTimestamp->closeCursor();
+
return $mtime;
}
-
+
/**
* Save content to cache
*
- * @param string $id unique cache content identifier
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer|null $exp_time seconds till expiration time in seconds or null
- * @param string $content content to cache
- * @return boolean success
+ * @param string $id unique cache content identifier
+ * @param string $name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param integer|null $exp_time seconds till expiration time in seconds or null
+ * @param string $content content to cache
+ *
+ * @return boolean success
*/
protected function save($id, $name, $cache_id, $compile_id, $exp_time, $content)
{
$this->save->execute(array(
- 'id' => $id,
- 'name' => $name,
- 'cache_id' => $cache_id,
- 'compile_id' => $compile_id,
- 'content' => $content,
- ));
+ 'id' => $id,
+ 'name' => $name,
+ 'cache_id' => $cache_id,
+ 'compile_id' => $compile_id,
+ 'content' => $content,
+ ));
+
return !!$this->save->rowCount();
}
-
+
/**
* Delete content from cache
*
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer|null $exp_time seconds till expiration or null
- * @return integer number of deleted caches
+ * @param string $name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param integer|null $exp_time seconds till expiration or null
+ *
+ * @return integer number of deleted caches
*/
protected function delete($name, $cache_id, $compile_id, $exp_time)
{
@@ -124,7 +132,8 @@ class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom {
if ($name === null && $cache_id === null && $compile_id === null && $exp_time === null) {
// returning the number of deleted caches would require a second query to count them
$query = $this->db->query('TRUNCATE TABLE output_cache');
- return -1;
+
+ return - 1;
}
// build the filter
$where = array();
@@ -142,11 +151,12 @@ class Smarty_CacheResource_Mysql extends Smarty_CacheResource_Custom {
}
// equal test cache_id and match sub-groups
if ($cache_id !== null) {
- $where[] = '(cache_id = '. $this->db->quote($cache_id)
- . ' OR cache_id LIKE '. $this->db->quote($cache_id .'|%') .')';
+ $where[] = '(cache_id = ' . $this->db->quote($cache_id)
+ . ' OR cache_id LIKE ' . $this->db->quote($cache_id . '|%') . ')';
}
// run delete query
$query = $this->db->query('DELETE FROM output_cache WHERE ' . join(' AND ', $where));
+
return $query->rowCount();
}
}
diff --git a/library/Smarty/demo/plugins/resource.extendsall.php b/library/Smarty/demo/plugins/resource.extendsall.php
index d8c40b5ba..500b3c862 100644
--- a/library/Smarty/demo/plugins/resource.extendsall.php
+++ b/library/Smarty/demo/plugins/resource.extendsall.php
@@ -2,49 +2,51 @@
/**
* Extends All Resource
- *
* Resource Implementation modifying the extends-Resource to walk
* through the template_dirs and inherit all templates of the same name
- *
+ *
* @package Resource-examples
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
-class Smarty_Resource_Extendsall extends Smarty_Internal_Resource_Extends {
-
+class Smarty_Resource_Extendsall extends Smarty_Internal_Resource_Extends
+{
/**
* populate Source Object with meta data from Resource
*
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Source $source source object
+ * @param Smarty_Internal_Template $_template template object
+ *
* @return void
*/
- public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)
+ public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
{
$uid = '';
$sources = array();
$exists = true;
foreach ($_template->smarty->getTemplateDir() as $key => $directory) {
try {
- $s = Smarty_Resource::source(null, $source->smarty, '[' . $key . ']' . $source->name );
+ $s = Smarty_Resource::source(null, $source->smarty, '[' . $key . ']' . $source->name);
if (!$s->exists) {
continue;
}
$sources[$s->uid] = $s;
$uid .= $s->filepath;
}
- catch (SmartyException $e) {}
+ catch (SmartyException $e) {
+ }
}
-
+
if (!$sources) {
$source->exists = false;
$source->template = $_template;
+
return;
}
-
+
$sources = array_reverse($sources, true);
reset($sources);
$s = current($sources);
-
+
$source->components = $sources;
$source->filepath = $s->filepath;
$source->uid = sha1($uid);
@@ -55,6 +57,4 @@ class Smarty_Resource_Extendsall extends Smarty_Internal_Resource_Extends {
// need the template at getContent()
$source->template = $_template;
}
-}
-
-?> \ No newline at end of file
+}
diff --git a/library/Smarty/demo/plugins/resource.mysql.php b/library/Smarty/demo/plugins/resource.mysql.php
index 312f3fc73..dfc9606b4 100644
--- a/library/Smarty/demo/plugins/resource.mysql.php
+++ b/library/Smarty/demo/plugins/resource.mysql.php
@@ -2,10 +2,8 @@
/**
* MySQL Resource
- *
* Resource Implementation based on the Custom API to use
* MySQL as the storage resource for Smarty's templates and configs.
- *
* Table definition:
* <pre>CREATE TABLE IF NOT EXISTS `templates` (
* `name` varchar(100) NOT NULL,
@@ -13,14 +11,14 @@
* `source` text,
* PRIMARY KEY (`name`)
* ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</pre>
- *
* Demo data:
* <pre>INSERT INTO `templates` (`name`, `modified`, `source`) VALUES ('test.tpl', "2010-12-25 22:00:00", '{$x="hello world"}{$x}');</pre>
*
* @package Resource-examples
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
-class Smarty_Resource_Mysql extends Smarty_Resource_Custom {
+class Smarty_Resource_Mysql extends Smarty_Resource_Custom
+{
// PDO instance
protected $db;
// prepared fetch() statement
@@ -28,22 +26,25 @@ class Smarty_Resource_Mysql extends Smarty_Resource_Custom {
// prepared fetchTimestamp() statement
protected $mtime;
- public function __construct() {
+ public function __construct()
+ {
try {
- $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty", "smarty");
- } catch (PDOException $e) {
+ $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty");
+ }
+ catch (PDOException $e) {
throw new SmartyException('Mysql Resource failed: ' . $e->getMessage());
}
$this->fetch = $this->db->prepare('SELECT modified, source FROM templates WHERE name = :name');
$this->mtime = $this->db->prepare('SELECT modified FROM templates WHERE name = :name');
}
-
+
/**
* Fetch a template and its modification time from database
*
- * @param string $name template name
- * @param string $source template source
- * @param integer $mtime template modification timestamp (epoch)
+ * @param string $name template name
+ * @param string $source template source
+ * @param integer $mtime template modification timestamp (epoch)
+ *
* @return void
*/
protected function fetch($name, &$source, &$mtime)
@@ -59,18 +60,22 @@ class Smarty_Resource_Mysql extends Smarty_Resource_Custom {
$mtime = null;
}
}
-
+
/**
* Fetch a template's modification time from database
*
* @note implementing this method is optional. Only implement it if modification times can be accessed faster than loading the comple template source.
- * @param string $name template name
+ *
+ * @param string $name template name
+ *
* @return integer timestamp (epoch) the template was modified
*/
- protected function fetchTimestamp($name) {
+ protected function fetchTimestamp($name)
+ {
$this->mtime->execute(array('name' => $name));
$mtime = $this->mtime->fetchColumn();
$this->mtime->closeCursor();
+
return strtotime($mtime);
}
}
diff --git a/library/Smarty/demo/plugins/resource.mysqls.php b/library/Smarty/demo/plugins/resource.mysqls.php
index f9fe1c2f2..f694ddf11 100644
--- a/library/Smarty/demo/plugins/resource.mysqls.php
+++ b/library/Smarty/demo/plugins/resource.mysqls.php
@@ -2,13 +2,10 @@
/**
* MySQL Resource
- *
* Resource Implementation based on the Custom API to use
* MySQL as the storage resource for Smarty's templates and configs.
- *
* Note that this MySQL implementation fetches the source and timestamps in
- * a single database query, instead of two seperate like resource.mysql.php does.
- *
+ * a single database query, instead of two separate like resource.mysql.php does.
* Table definition:
* <pre>CREATE TABLE IF NOT EXISTS `templates` (
* `name` varchar(100) NOT NULL,
@@ -16,34 +13,37 @@
* `source` text,
* PRIMARY KEY (`name`)
* ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</pre>
- *
* Demo data:
* <pre>INSERT INTO `templates` (`name`, `modified`, `source`) VALUES ('test.tpl', "2010-12-25 22:00:00", '{$x="hello world"}{$x}');</pre>
*
* @package Resource-examples
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
-class Smarty_Resource_Mysqls extends Smarty_Resource_Custom {
+class Smarty_Resource_Mysqls extends Smarty_Resource_Custom
+{
// PDO instance
protected $db;
// prepared fetch() statement
protected $fetch;
- public function __construct() {
+ public function __construct()
+ {
try {
- $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty", "smarty");
- } catch (PDOException $e) {
+ $this->db = new PDO("mysql:dbname=test;host=127.0.0.1", "smarty");
+ }
+ catch (PDOException $e) {
throw new SmartyException('Mysql Resource failed: ' . $e->getMessage());
}
$this->fetch = $this->db->prepare('SELECT modified, source FROM templates WHERE name = :name');
}
-
+
/**
* Fetch a template and its modification time from database
*
- * @param string $name template name
- * @param string $source template source
- * @param integer $mtime template modification timestamp (epoch)
+ * @param string $name template name
+ * @param string $source template source
+ * @param integer $mtime template modification timestamp (epoch)
+ *
* @return void
*/
protected function fetch($name, &$source, &$mtime)
diff --git a/library/Smarty/demo/templates/header.tpl b/library/Smarty/demo/templates/header.tpl
index 783210a18..13fa6cb5a 100644
--- a/library/Smarty/demo/templates/header.tpl
+++ b/library/Smarty/demo/templates/header.tpl
@@ -1,5 +1,5 @@
<HTML>
<HEAD>
-<TITLE>{$title} - {$Name}</TITLE>
+ <TITLE>{$title} - {$Name}</TITLE>
</HEAD>
<BODY bgcolor="#ffffff">
diff --git a/library/Smarty/demo/templates/index.tpl b/library/Smarty/demo/templates/index.tpl
index 38d233412..1fbb6d379 100644
--- a/library/Smarty/demo/templates/index.tpl
+++ b/library/Smarty/demo/templates/index.tpl
@@ -4,18 +4,18 @@
<PRE>
{* bold and title are read from the config file *}
-{if #bold#}<b>{/if}
-{* capitalize the first letters of each word of the title *}
-Title: {#title#|capitalize}
-{if #bold#}</b>{/if}
+ {if #bold#}<b>{/if}
+ {* capitalize the first letters of each word of the title *}
+ Title: {#title#|capitalize}
+ {if #bold#}</b>{/if}
-The current date and time is {$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
+ The current date and time is {$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
-The value of global assigned variable $SCRIPT_NAME is {$SCRIPT_NAME}
+ The value of global assigned variable $SCRIPT_NAME is {$SCRIPT_NAME}
-Example of accessing server environment variable SERVER_NAME: {$smarty.server.SERVER_NAME}
+ Example of accessing server environment variable SERVER_NAME: {$smarty.server.SERVER_NAME}
-The value of {ldelim}$Name{rdelim} is <b>{$Name}</b>
+ The value of {ldelim}$Name{rdelim} is <b>{$Name}</b>
variable modifier example of {ldelim}$Name|upper{rdelim}
@@ -24,59 +24,64 @@ variable modifier example of {ldelim}$Name|upper{rdelim}
An example of a section loop:
-{section name=outer
-loop=$FirstName}
-{if $smarty.section.outer.index is odd by 2}
- {$smarty.section.outer.rownum} . {$FirstName[outer]} {$LastName[outer]}
-{else}
- {$smarty.section.outer.rownum} * {$FirstName[outer]} {$LastName[outer]}
-{/if}
-{sectionelse}
- none
-{/section}
-
-An example of section looped key values:
-
-{section name=sec1 loop=$contacts}
- phone: {$contacts[sec1].phone}<br>
- fax: {$contacts[sec1].fax}<br>
- cell: {$contacts[sec1].cell}<br>
-{/section}
-<p>
-
-testing strip tags
-{strip}
+ {section name=outer
+ loop=$FirstName}
+ {if $smarty.section.outer.index is odd by 2}
+ {$smarty.section.outer.rownum} . {$FirstName[outer]} {$LastName[outer]}
+ {else}
+ {$smarty.section.outer.rownum} * {$FirstName[outer]} {$LastName[outer]}
+ {/if}
+ {sectionelse}
+ none
+ {/section}
+
+ An example of section looped key values:
+
+ {section name=sec1 loop=$contacts}
+ phone: {$contacts[sec1].phone}
+ <br>
+
+ fax: {$contacts[sec1].fax}
+ <br>
+
+ cell: {$contacts[sec1].cell}
+ <br>
+ {/section}
+ <p>
+
+ testing strip tags
+ {strip}
<table border=0>
- <tr>
- <td>
- <A HREF="{$SCRIPT_NAME}">
- <font color="red">This is a test </font>
- </A>
- </td>
- </tr>
+ <tr>
+ <td>
+ <A HREF="{$SCRIPT_NAME}">
+ <font color="red">This is a test </font>
+ </A>
+ </td>
+ </tr>
</table>
-{/strip}
+ {/strip}
</PRE>
This is an example of the html_select_date function:
<form>
-{html_select_date start_year=1998 end_year=2010}
+ {html_select_date start_year=1998 end_year=2010}
</form>
This is an example of the html_select_time function:
<form>
-{html_select_time use_24_hours=false}
+ {html_select_time use_24_hours=false}
</form>
This is an example of the html_options function:
<form>
-<select name=states>
-{html_options values=$option_values selected=$option_selected output=$option_output}
-</select>
+ <select name=states>
+ {html_options values=$option_values selected=$option_selected output=$option_output}
+ </select>
</form>
{include file="footer.tpl"}
diff --git a/library/Smarty/libs/Smarty.class.php b/library/Smarty/libs/Smarty.class.php
index f776aaf7c..832b0d309 100644
--- a/library/Smarty/libs/Smarty.class.php
+++ b/library/Smarty/libs/Smarty.class.php
@@ -2,33 +2,29 @@
/**
* Project: Smarty: the PHP compiling template engine
* File: Smarty.class.php
- * SVN: $Id: Smarty.class.php 4614 2012-05-24 15:13:19Z rodneyrehm $
- *
+ * SVN: $Id: Smarty.class.php 4897 2014-10-14 22:29:58Z Uwe.Tews@googlemail.com $
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
- *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
* For questions, help, comments, discussion, etc., please join the
* Smarty mailing list. Send a blank e-mail to
* smarty-discussion-subscribe@googlegroups.com
*
- * @link http://www.smarty.net/
+ * @link http://www.smarty.net/
* @copyright 2008 New Digital Group, Inc.
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author Uwe Tews
- * @author Rodney Rehm
- * @package Smarty
- * @version 3.1-DEV
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author Uwe Tews
+ * @author Rodney Rehm
+ * @package Smarty
+ * @version 3.1.21
*/
/**
@@ -57,7 +53,7 @@ if (!defined('SMARTY_PLUGINS_DIR')) {
define('SMARTY_PLUGINS_DIR', SMARTY_DIR . 'plugins' . DS);
}
if (!defined('SMARTY_MBSTRING')) {
- define('SMARTY_MBSTRING', function_exists('mb_strlen'));
+ define('SMARTY_MBSTRING', function_exists('mb_split'));
}
if (!defined('SMARTY_RESOURCE_CHAR_SET')) {
// UTF-8 can only be done properly when mbstring is available!
@@ -92,20 +88,21 @@ if (SMARTY_SPL_AUTOLOAD && set_include_path(get_include_path() . PATH_SEPARATOR
/**
* Load always needed external class files
*/
-include_once SMARTY_SYSPLUGINS_DIR.'smarty_internal_data.php';
-include_once SMARTY_SYSPLUGINS_DIR.'smarty_internal_templatebase.php';
-include_once SMARTY_SYSPLUGINS_DIR.'smarty_internal_template.php';
-include_once SMARTY_SYSPLUGINS_DIR.'smarty_resource.php';
-include_once SMARTY_SYSPLUGINS_DIR.'smarty_internal_resource_file.php';
-include_once SMARTY_SYSPLUGINS_DIR.'smarty_cacheresource.php';
-include_once SMARTY_SYSPLUGINS_DIR.'smarty_internal_cacheresource_file.php';
+include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_data.php';
+include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_templatebase.php';
+include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_template.php';
+include_once SMARTY_SYSPLUGINS_DIR . 'smarty_resource.php';
+include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_resource_file.php';
+include_once SMARTY_SYSPLUGINS_DIR . 'smarty_cacheresource.php';
+include_once SMARTY_SYSPLUGINS_DIR . 'smarty_internal_cacheresource_file.php';
/**
* This is the main Smarty class
+ *
* @package Smarty
*/
-class Smarty extends Smarty_Internal_TemplateBase {
-
+class Smarty extends Smarty_Internal_TemplateBase
+{
/**#@+
* constant definitions
*/
@@ -113,7 +110,7 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* smarty version
*/
- const SMARTY_VERSION = 'Smarty-3.1.11';
+ const SMARTY_VERSION = 'Smarty-3.1.21-dev';
/**
* define variable scopes
@@ -129,6 +126,11 @@ class Smarty extends Smarty_Internal_TemplateBase {
const CACHING_LIFETIME_CURRENT = 1;
const CACHING_LIFETIME_SAVED = 2;
/**
+ * define constant for clearing cache files be saved expiration datees
+ */
+ const CLEAR_EXPIRED = - 1;
+
+ /**
* define compile check modes
*/
const COMPILECHECK_OFF = 0;
@@ -189,118 +191,145 @@ class Smarty extends Smarty_Internal_TemplateBase {
* Flag denoting if PCRE should run in UTF-8 mode
*/
public static $_UTF8_MODIFIER = 'u';
-
+
/**
* Flag denoting if operating system is windows
*/
public static $_IS_WINDOWS = false;
-
+
/**#@+
* variables
*/
/**
* auto literal on delimiters with whitspace
+ *
* @var boolean
*/
public $auto_literal = true;
/**
* display error on not assigned variables
+ *
* @var boolean
*/
public $error_unassigned = false;
/**
* look up relative filepaths in include_path
+ *
* @var boolean
*/
public $use_include_path = false;
/**
* template directory
+ *
* @var array
*/
private $template_dir = array();
/**
* joined template directory string used in cache keys
+ *
* @var string
*/
public $joined_template_dir = null;
/**
* joined config directory string used in cache keys
+ *
* @var string
*/
public $joined_config_dir = null;
/**
* default template handler
+ *
* @var callable
*/
public $default_template_handler_func = null;
/**
* default config handler
+ *
* @var callable
*/
public $default_config_handler_func = null;
/**
* default plugin handler
+ *
* @var callable
*/
public $default_plugin_handler_func = null;
/**
* compile directory
+ *
* @var string
*/
private $compile_dir = null;
/**
* plugins directory
+ *
* @var array
*/
private $plugins_dir = array();
/**
* cache directory
+ *
* @var string
*/
private $cache_dir = null;
/**
* config directory
+ *
* @var array
*/
private $config_dir = array();
/**
* force template compiling?
+ *
* @var boolean
*/
public $force_compile = false;
/**
* check template for modifications?
+ *
* @var boolean
*/
public $compile_check = true;
/**
* use sub dirs for compiled/cached files?
+ *
* @var boolean
*/
public $use_sub_dirs = false;
/**
* allow ambiguous resources (that are made unique by the resource handler)
+ *
* @var boolean
*/
public $allow_ambiguous_resources = false;
/**
* caching enabled
+ *
* @var boolean
*/
public $caching = false;
/**
* merge compiled includes
+ *
* @var boolean
*/
public $merge_compiled_includes = false;
/**
+ * template inheritance merge compiled includes
+ *
+ * @var boolean
+ */
+ public $inheritance_merge_compiled_includes = true;
+ /**
* cache lifetime in seconds
+ *
* @var integer
*/
public $cache_lifetime = 3600;
/**
* force cache file creation
+ *
* @var boolean
*/
public $force_cache = false;
@@ -320,11 +349,13 @@ class Smarty extends Smarty_Internal_TemplateBase {
public $compile_id = null;
/**
* template left-delimiter
+ *
* @var string
*/
public $left_delimiter = "{";
/**
* template right-delimiter
+ *
* @var string
*/
public $right_delimiter = "}";
@@ -333,7 +364,6 @@ class Smarty extends Smarty_Internal_TemplateBase {
*/
/**
* class name
- *
* This should be instance of Smarty_Security.
*
* @var string
@@ -360,7 +390,6 @@ class Smarty extends Smarty_Internal_TemplateBase {
public $allow_php_templates = false;
/**
* Should compiled-templates be prevented from being called directly?
- *
* {@internal
* Currently used by Smarty_Internal_Template only.
* }}
@@ -371,7 +400,6 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**#@-*/
/**
* debug mode
- *
* Setting this to true enables the debug-console.
*
* @var boolean
@@ -383,12 +411,12 @@ class Smarty extends Smarty_Internal_TemplateBase {
* <li>NONE => no debugging control allowed</li>
* <li>URL => enable debugging when SMARTY_DEBUG is found in the URL.</li>
* </ul>
+ *
* @var string
*/
public $debugging_ctrl = 'NONE';
/**
* Name of debugging URL-param.
- *
* Only used when $debugging_ctrl is set to 'URL'.
* The name of the URL-parameter that activates debugging.
*
@@ -397,16 +425,19 @@ class Smarty extends Smarty_Internal_TemplateBase {
public $smarty_debug_id = 'SMARTY_DEBUG';
/**
* Path of debug template.
+ *
* @var string
*/
public $debug_tpl = null;
/**
* When set, smarty uses this value as error_reporting-level.
+ *
* @var int
*/
public $error_reporting = null;
/**
* Internal flag for getTags()
+ *
* @var boolean
*/
public $get_used_tags = false;
@@ -417,16 +448,19 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Controls whether variables with the same name overwrite each other.
+ *
* @var boolean
*/
public $config_overwrite = true;
/**
* Controls whether config values of on/true/yes and off/false/no get converted to boolean.
+ *
* @var boolean
*/
public $config_booleanize = true;
/**
* Controls whether hidden config sections/vars are read from the file.
+ *
* @var boolean
*/
public $config_read_hidden = false;
@@ -439,16 +473,19 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* locking concurrent compiles
+ *
* @var boolean
*/
public $compile_locking = true;
/**
* Controls whether cache resources should emply locking mechanism
+ *
* @var boolean
*/
public $cache_locking = false;
/**
* seconds to wait for acquiring a lock before ignoring the write lock
+ *
* @var float
*/
public $locking_timeout = 10;
@@ -457,19 +494,19 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* global template functions
+ *
* @var array
*/
public $template_functions = array();
/**
* resource type used if none given
- *
* Must be an valid key of $registered_resources.
+ *
* @var string
*/
public $default_resource_type = 'file';
/**
* caching type
- *
* Must be an element of $cache_resource_types.
*
* @var string
@@ -477,121 +514,145 @@ class Smarty extends Smarty_Internal_TemplateBase {
public $caching_type = 'file';
/**
* internal config properties
+ *
* @var array
*/
public $properties = array();
/**
* config type
+ *
* @var string
*/
public $default_config_type = 'file';
/**
* cached template objects
+ *
* @var array
*/
public $template_objects = array();
/**
* check If-Modified-Since headers
+ *
* @var boolean
*/
public $cache_modified_check = false;
/**
* registered plugins
+ *
* @var array
*/
public $registered_plugins = array();
/**
* plugin search order
+ *
* @var array
*/
public $plugin_search_order = array('function', 'block', 'compiler', 'class');
/**
* registered objects
+ *
* @var array
*/
public $registered_objects = array();
/**
* registered classes
+ *
* @var array
*/
public $registered_classes = array();
/**
* registered filters
+ *
* @var array
*/
public $registered_filters = array();
/**
* registered resources
+ *
* @var array
*/
public $registered_resources = array();
/**
* resource handler cache
+ *
* @var array
*/
public $_resource_handlers = array();
/**
* registered cache resources
+ *
* @var array
*/
public $registered_cache_resources = array();
/**
* cache resource handler cache
+ *
* @var array
*/
public $_cacheresource_handlers = array();
/**
* autoload filter
+ *
* @var array
*/
public $autoload_filters = array();
/**
* default modifier
+ *
* @var array
*/
public $default_modifiers = array();
/**
* autoescape variable output
+ *
* @var boolean
*/
public $escape_html = false;
/**
* global internal smarty vars
+ *
* @var array
*/
public static $_smarty_vars = array();
/**
* start time for execution time calculation
+ *
* @var int
*/
public $start_time = 0;
/**
* default file permissions
+ *
* @var int
*/
public $_file_perms = 0644;
/**
* default dir permissions
+ *
* @var int
*/
public $_dir_perms = 0771;
/**
* block tag hierarchy
+ *
* @var array
*/
public $_tag_stack = array();
/**
* self pointer to Smarty object
+ *
* @var Smarty
*/
public $smarty;
/**
* required by the compiler for BC
+ *
* @var string
*/
public $_current_file = null;
/**
* internal flag to enable parser debugging
+ *
* @var bool
*/
public $_parserdebug = false;
@@ -601,11 +662,19 @@ class Smarty extends Smarty_Internal_TemplateBase {
* @var array
*/
public $merged_templates_func = array();
+
+ /**
+ * Cache of is_file results of loadPlugin()
+ *
+ * @var array
+ */
+ public static $_is_file_cache= array();
+
/**#@-*/
/**
* Initialize new Smarty object
- *
+
*/
public function __construct()
{
@@ -628,7 +697,6 @@ class Smarty extends Smarty_Internal_TemplateBase {
}
}
-
/**
* Class destructor
*/
@@ -645,36 +713,34 @@ class Smarty extends Smarty_Internal_TemplateBase {
$this->smarty = $this;
}
-
/**
* <<magic>> Generic getter.
- *
* Calls the appropriate getter function.
* Issues an E_USER_NOTICE if no valid getter is found.
*
- * @param string $name property name
+ * @param string $name property name
+ *
* @return mixed
*/
public function __get($name)
{
$allowed = array(
- 'template_dir' => 'getTemplateDir',
- 'config_dir' => 'getConfigDir',
- 'plugins_dir' => 'getPluginsDir',
- 'compile_dir' => 'getCompileDir',
- 'cache_dir' => 'getCacheDir',
+ 'template_dir' => 'getTemplateDir',
+ 'config_dir' => 'getConfigDir',
+ 'plugins_dir' => 'getPluginsDir',
+ 'compile_dir' => 'getCompileDir',
+ 'cache_dir' => 'getCacheDir',
);
if (isset($allowed[$name])) {
return $this->{$allowed[$name]}();
} else {
- trigger_error('Undefined property: '. get_class($this) .'::$'. $name, E_USER_NOTICE);
+ trigger_error('Undefined property: ' . get_class($this) . '::$' . $name, E_USER_NOTICE);
}
}
/**
* <<magic>> Generic setter.
- *
* Calls the appropriate setter function.
* Issues an E_USER_NOTICE if no valid setter is found.
*
@@ -684,11 +750,11 @@ class Smarty extends Smarty_Internal_TemplateBase {
public function __set($name, $value)
{
$allowed = array(
- 'template_dir' => 'setTemplateDir',
- 'config_dir' => 'setConfigDir',
- 'plugins_dir' => 'setPluginsDir',
- 'compile_dir' => 'setCompileDir',
- 'cache_dir' => 'setCacheDir',
+ 'template_dir' => 'setTemplateDir',
+ 'config_dir' => 'setConfigDir',
+ 'plugins_dir' => 'setPluginsDir',
+ 'compile_dir' => 'setCompileDir',
+ 'cache_dir' => 'setCacheDir',
);
if (isset($allowed[$name])) {
@@ -701,7 +767,8 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Check if a template resource exists
*
- * @param string $resource_name template name
+ * @param string $resource_name template name
+ *
* @return boolean status
*/
public function templateExists($resource_name)
@@ -712,14 +779,15 @@ class Smarty extends Smarty_Internal_TemplateBase {
// check if it does exists
$result = $tpl->source->exists;
$this->template_objects = $save;
+
return $result;
}
/**
* Returns a single or all global variables
*
- * @param object $smarty
- * @param string $varname variable name or null
+ * @param string $varname variable name or null
+ *
* @return string variable value or or array of variables
*/
public function getGlobal($varname = null)
@@ -735,6 +803,7 @@ class Smarty extends Smarty_Internal_TemplateBase {
foreach (self::$global_tpl_vars AS $key => $var) {
$_result[$key] = $var->value;
}
+
return $_result;
}
}
@@ -742,26 +811,29 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Empty cache folder
*
- * @param integer $exp_time expiration time
- * @param string $type resource type
+ * @param integer $exp_time expiration time
+ * @param string $type resource type
+ *
* @return integer number of cache files deleted
*/
- function clearAllCache($exp_time = null, $type = null)
+ public function clearAllCache($exp_time = null, $type = null)
{
// load cache resource and call clearAll
$_cache_resource = Smarty_CacheResource::load($this, $type);
Smarty_CacheResource::invalidLoadedCache($this);
+
return $_cache_resource->clearAll($this, $exp_time);
}
/**
* Empty cache for a specific template
*
- * @param string $template_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer $exp_time expiration time
- * @param string $type resource type
+ * @param string $template_name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param integer $exp_time expiration time
+ * @param string $type resource type
+ *
* @return integer number of cache files deleted
*/
public function clearCache($template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null)
@@ -769,20 +841,23 @@ class Smarty extends Smarty_Internal_TemplateBase {
// load cache resource and call clear
$_cache_resource = Smarty_CacheResource::load($this, $type);
Smarty_CacheResource::invalidLoadedCache($this);
+
return $_cache_resource->clear($this, $template_name, $cache_id, $compile_id, $exp_time);
}
/**
* Loads security class and enables security
*
- * @param string|Smarty_Security $security_class if a string is used, it must be class-name
- * @return Smarty current Smarty instance for chaining
- * @throws SmartyException when an invalid class name is provided
+ * @param string|Smarty_Security $security_class if a string is used, it must be class-name
+ *
+ * @return Smarty current Smarty instance for chaining
+ * @throws SmartyException when an invalid class name is provided
*/
public function enableSecurity($security_class = null)
{
if ($security_class instanceof Smarty_Security) {
$this->security_policy = $security_class;
+
return $this;
} elseif (is_object($security_class)) {
throw new SmartyException("Class '" . get_class($security_class) . "' must extend Smarty_Security.");
@@ -803,6 +878,7 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Disable security
+ *
* @return Smarty current Smarty instance for chaining
*/
public function disableSecurity()
@@ -815,145 +891,164 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Set template directory
*
- * @param string|array $template_dir directory(s) of template sources
- * @return Smarty current Smarty instance for chaining
+ * @param string|array $template_dir directory(s) of template sources
+ *
+ * @return Smarty current Smarty instance for chaining
*/
public function setTemplateDir($template_dir)
{
$this->template_dir = array();
foreach ((array) $template_dir as $k => $v) {
- $this->template_dir[$k] = rtrim($v, '/\\') . DS;
+ $this->template_dir[$k] = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS;
}
$this->joined_template_dir = join(DIRECTORY_SEPARATOR, $this->template_dir);
+
return $this;
}
/**
* Add template directory(s)
*
- * @param string|array $template_dir directory(s) of template sources
- * @param string $key of the array element to assign the template dir to
- * @return Smarty current Smarty instance for chaining
+ * @param string|array $template_dir directory(s) of template sources
+ * @param string $key of the array element to assign the template dir to
+ *
+ * @return Smarty current Smarty instance for chaining
* @throws SmartyException when the given template directory is not valid
*/
- public function addTemplateDir($template_dir, $key=null)
+ public function addTemplateDir($template_dir, $key = null)
{
// make sure we're dealing with an array
$this->template_dir = (array) $this->template_dir;
if (is_array($template_dir)) {
foreach ($template_dir as $k => $v) {
+ $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS;
if (is_int($k)) {
// indexes are not merged but appended
- $this->template_dir[] = rtrim($v, '/\\') . DS;
+ $this->template_dir[] = $v;
} else {
// string indexes are overridden
- $this->template_dir[$k] = rtrim($v, '/\\') . DS;
+ $this->template_dir[$k] = $v;
}
}
- } elseif ($key !== null) {
- // override directory at specified index
- $this->template_dir[$key] = rtrim($template_dir, '/\\') . DS;
} else {
- // append new directory
- $this->template_dir[] = rtrim($template_dir, '/\\') . DS;
+ $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($template_dir, '/\\')) . DS;
+ if ($key !== null) {
+ // override directory at specified index
+ $this->template_dir[$key] = $v;
+ } else {
+ // append new directory
+ $this->template_dir[] = $v;
+ }
}
$this->joined_template_dir = join(DIRECTORY_SEPARATOR, $this->template_dir);
+
return $this;
}
/**
* Get template directories
*
- * @param mixed index of directory to get, null to get all
+ * @param mixed $index index of directory to get, null to get all
+ *
* @return array|string list of template directories, or directory of $index
*/
- public function getTemplateDir($index=null)
+ public function getTemplateDir($index = null)
{
if ($index !== null) {
return isset($this->template_dir[$index]) ? $this->template_dir[$index] : null;
}
- return (array)$this->template_dir;
+ return (array) $this->template_dir;
}
/**
* Set config directory
*
- * @param string|array $template_dir directory(s) of configuration sources
- * @return Smarty current Smarty instance for chaining
+ * @param $config_dir
+ *
+ * @return Smarty current Smarty instance for chaining
*/
public function setConfigDir($config_dir)
{
$this->config_dir = array();
foreach ((array) $config_dir as $k => $v) {
- $this->config_dir[$k] = rtrim($v, '/\\') . DS;
+ $this->config_dir[$k] = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS;
}
$this->joined_config_dir = join(DIRECTORY_SEPARATOR, $this->config_dir);
+
return $this;
}
/**
* Add config directory(s)
*
- * @param string|array $config_dir directory(s) of config sources
- * @param string key of the array element to assign the config dir to
+ * @param string|array $config_dir directory(s) of config sources
+ * @param mixed $key key of the array element to assign the config dir to
+ *
* @return Smarty current Smarty instance for chaining
*/
- public function addConfigDir($config_dir, $key=null)
+ public function addConfigDir($config_dir, $key = null)
{
// make sure we're dealing with an array
$this->config_dir = (array) $this->config_dir;
if (is_array($config_dir)) {
foreach ($config_dir as $k => $v) {
+ $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($v, '/\\')) . DS;
if (is_int($k)) {
// indexes are not merged but appended
- $this->config_dir[] = rtrim($v, '/\\') . DS;
+ $this->config_dir[] = $v;
} else {
// string indexes are overridden
- $this->config_dir[$k] = rtrim($v, '/\\') . DS;
+ $this->config_dir[$k] = $v;
}
}
- } elseif( $key !== null ) {
- // override directory at specified index
- $this->config_dir[$key] = rtrim($config_dir, '/\\') . DS;
} else {
- // append new directory
- $this->config_dir[] = rtrim($config_dir, '/\\') . DS;
+ $v = preg_replace('#(\w+)(/|\\\\){1,}#', '$1$2', rtrim($config_dir, '/\\')) . DS;
+ if ($key !== null) {
+ // override directory at specified index
+ $this->config_dir[$key] = rtrim($v, '/\\') . DS;
+ } else {
+ // append new directory
+ $this->config_dir[] = rtrim($v, '/\\') . DS;
+ }
}
$this->joined_config_dir = join(DIRECTORY_SEPARATOR, $this->config_dir);
+
return $this;
}
/**
* Get config directory
*
- * @param mixed index of directory to get, null to get all
+ * @param mixed $index index of directory to get, null to get all
+ *
* @return array|string configuration directory
*/
- public function getConfigDir($index=null)
+ public function getConfigDir($index = null)
{
if ($index !== null) {
return isset($this->config_dir[$index]) ? $this->config_dir[$index] : null;
}
- return (array)$this->config_dir;
+ return (array) $this->config_dir;
}
/**
* Set plugins directory
*
- * @param string|array $plugins_dir directory(s) of plugins
- * @return Smarty current Smarty instance for chaining
+ * @param string|array $plugins_dir directory(s) of plugins
+ *
+ * @return Smarty current Smarty instance for chaining
*/
public function setPluginsDir($plugins_dir)
{
$this->plugins_dir = array();
- foreach ((array)$plugins_dir as $k => $v) {
+ foreach ((array) $plugins_dir as $k => $v) {
$this->plugins_dir[$k] = rtrim($v, '/\\') . DS;
}
@@ -963,8 +1058,8 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Adds directory of plugin files
*
- * @param object $smarty
- * @param string $ |array $ plugins folder
+ * @param $plugins_dir
+ *
* @return Smarty current Smarty instance for chaining
*/
public function addPluginsDir($plugins_dir)
@@ -988,6 +1083,7 @@ class Smarty extends Smarty_Internal_TemplateBase {
}
$this->plugins_dir = array_unique($this->plugins_dir);
+
return $this;
}
@@ -998,13 +1094,14 @@ class Smarty extends Smarty_Internal_TemplateBase {
*/
public function getPluginsDir()
{
- return (array)$this->plugins_dir;
+ return (array) $this->plugins_dir;
}
/**
* Set compile directory
*
- * @param string $compile_dir directory to store compiled templates in
+ * @param string $compile_dir directory to store compiled templates in
+ *
* @return Smarty current Smarty instance for chaining
*/
public function setCompileDir($compile_dir)
@@ -1013,6 +1110,7 @@ class Smarty extends Smarty_Internal_TemplateBase {
if (!isset(Smarty::$_muted_directories[$this->compile_dir])) {
Smarty::$_muted_directories[$this->compile_dir] = null;
}
+
return $this;
}
@@ -1029,7 +1127,8 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Set cache directory
*
- * @param string $cache_dir directory to store cached templates in
+ * @param string $cache_dir directory to store cached templates in
+ *
* @return Smarty current Smarty instance for chaining
*/
public function setCacheDir($cache_dir)
@@ -1038,6 +1137,7 @@ class Smarty extends Smarty_Internal_TemplateBase {
if (!isset(Smarty::$_muted_directories[$this->cache_dir])) {
Smarty::$_muted_directories[$this->cache_dir] = null;
}
+
return $this;
}
@@ -1054,20 +1154,23 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Set default modifiers
*
- * @param array|string $modifiers modifier or list of modifiers to set
- * @return Smarty current Smarty instance for chaining
+ * @param array|string $modifiers modifier or list of modifiers to set
+ *
+ * @return Smarty current Smarty instance for chaining
*/
public function setDefaultModifiers($modifiers)
{
$this->default_modifiers = (array) $modifiers;
+
return $this;
}
/**
* Add default modifiers
*
- * @param array|string $modifiers modifier or list of modifiers to add
- * @return Smarty current Smarty instance for chaining
+ * @param array|string $modifiers modifier or list of modifiers to add
+ *
+ * @return Smarty current Smarty instance for chaining
*/
public function addDefaultModifiers($modifiers)
{
@@ -1090,15 +1193,15 @@ class Smarty extends Smarty_Internal_TemplateBase {
return $this->default_modifiers;
}
-
/**
* Set autoload filters
*
- * @param array $filters filters to load automatically
- * @param string $type "pre", "output", … specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types
+ * @param array $filters filters to load automatically
+ * @param string $type "pre", "output", … specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types
+ *
* @return Smarty current Smarty instance for chaining
*/
- public function setAutoloadFilters($filters, $type=null)
+ public function setAutoloadFilters($filters, $type = null)
{
if ($type !== null) {
$this->autoload_filters[$type] = (array) $filters;
@@ -1112,11 +1215,12 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Add autoload filters
*
- * @param array $filters filters to load automatically
- * @param string $type "pre", "output", … specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types
+ * @param array $filters filters to load automatically
+ * @param string $type "pre", "output", … specify the filter type to set. Defaults to none treating $filters' keys as the appropriate types
+ *
* @return Smarty current Smarty instance for chaining
*/
- public function addAutoloadFilters($filters, $type=null)
+ public function addAutoloadFilters($filters, $type = null)
{
if ($type !== null) {
if (!empty($this->autoload_filters[$type])) {
@@ -1140,10 +1244,11 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Get autoload filters
*
- * @param string $type type of filter to get autoloads for. Defaults to all autoload filters
- * @return array array( 'type1' => array( 'filter1', 'filter2', … ) ) or array( 'filter1', 'filter2', …) if $type was specified
+ * @param string $type type of filter to get autoloads for. Defaults to all autoload filters
+ *
+ * @return array array( 'type1' => array( 'filter1', 'filter2', … ) ) or array( 'filter1', 'filter2', …) if $type was specified
*/
- public function getAutoloadFilters($type=null)
+ public function getAutoloadFilters($type = null)
{
if ($type !== null) {
return isset($this->autoload_filters[$type]) ? $this->autoload_filters[$type] : array();
@@ -1165,8 +1270,9 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* set the debug template
*
- * @param string $tpl_name
- * @return Smarty current Smarty instance for chaining
+ * @param string $tpl_name
+ *
+ * @return Smarty current Smarty instance for chaining
* @throws SmartyException if file is not readable
*/
public function setDebugTemplate($tpl_name)
@@ -1182,20 +1288,21 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* creates a template object
*
- * @param string $template the resource handle of the template file
- * @param mixed $cache_id cache id to be used with this template
- * @param mixed $compile_id compile id to be used with this template
- * @param object $parent next higher level of Smarty variables
- * @param boolean $do_clone flag is Smarty object shall be cloned
- * @return object template object
+ * @param string $template the resource handle of the template file
+ * @param mixed $cache_id cache id to be used with this template
+ * @param mixed $compile_id compile id to be used with this template
+ * @param object $parent next higher level of Smarty variables
+ * @param boolean $do_clone flag is Smarty object shall be cloned
+ *
+ * @return object template object
*/
public function createTemplate($template, $cache_id = null, $compile_id = null, $parent = null, $do_clone = true)
{
- if (!empty($cache_id) && (is_object($cache_id) || is_array($cache_id))) {
+ if ($cache_id !== null && (is_object($cache_id) || is_array($cache_id))) {
$parent = $cache_id;
$cache_id = null;
}
- if (!empty($parent) && is_array($parent)) {
+ if ($parent !== null && is_array($parent)) {
$data = $parent;
$parent = null;
} else {
@@ -1242,17 +1349,19 @@ class Smarty extends Smarty_Internal_TemplateBase {
$tpl->tpl_vars[$_key] = new Smarty_variable($_val);
}
}
+
return $tpl;
}
-
/**
* Takes unknown classes and loads plugin files for them
* class name format: Smarty_PluginType_PluginName
* plugin filename format: plugintype.pluginname.php
*
- * @param string $plugin_name class plugin name to load
- * @param bool $check check if already loaded
+ * @param string $plugin_name class plugin name to load
+ * @param bool $check check if already loaded
+ *
+ * @throws SmartyException
* @return string |boolean filepath of loaded file or false
*/
public function loadPlugin($plugin_name, $check = true)
@@ -1267,12 +1376,11 @@ class Smarty extends Smarty_Internal_TemplateBase {
// count($_name_parts) < 3 === !isset($_name_parts[2])
if (!isset($_name_parts[2]) || strtolower($_name_parts[0]) !== 'smarty') {
throw new SmartyException("plugin {$plugin_name} is not a valid name format");
- return false;
}
// if type is "internal", get plugin from sysplugins
if (strtolower($_name_parts[1]) == 'internal') {
$file = SMARTY_SYSPLUGINS_DIR . strtolower($plugin_name) . '.php';
- if (file_exists($file)) {
+ if (isset(self::$_is_file_cache[$file]) ? self::$_is_file_cache[$file] : self::$_is_file_cache[$file] = is_file($file)) {
require_once($file);
return $file;
} else {
@@ -1281,17 +1389,17 @@ class Smarty extends Smarty_Internal_TemplateBase {
}
// plugin filename is expected to be: [type].[name].php
$_plugin_filename = "{$_name_parts[1]}.{$_name_parts[2]}.php";
-
+
$_stream_resolve_include_path = function_exists('stream_resolve_include_path');
// loop through plugin dirs and find the plugin
- foreach($this->getPluginsDir() as $_plugin_dir) {
+ foreach ($this->getPluginsDir() as $_plugin_dir) {
$names = array(
$_plugin_dir . $_plugin_filename,
$_plugin_dir . strtolower($_plugin_filename),
);
foreach ($names as $file) {
- if (file_exists($file)) {
+ if (isset(self::$_is_file_cache[$file]) ? self::$_is_file_cache[$file] : self::$_is_file_cache[$file] = is_file($file)) {
require_once($file);
return $file;
}
@@ -1302,9 +1410,10 @@ class Smarty extends Smarty_Internal_TemplateBase {
} else {
$file = Smarty_Internal_Get_Include_Path::getIncludePath($file);
}
-
+
if ($file !== false) {
require_once($file);
+
return $file;
}
}
@@ -1317,37 +1426,40 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Compile all template files
*
- * @param string $extension file extension
- * @param bool $force_compile force all to recompile
- * @param int $time_limit
- * @param int $max_errors
+ * @param string $extension file extension
+ * @param bool $force_compile force all to recompile
+ * @param int $time_limit
+ * @param int $max_errors
+ *
* @return integer number of template files recompiled
*/
- public function compileAllTemplates($extention = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null)
+ public function compileAllTemplates($extension = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null)
{
- return Smarty_Internal_Utility::compileAllTemplates($extention, $force_compile, $time_limit, $max_errors, $this);
+ return Smarty_Internal_Utility::compileAllTemplates($extension, $force_compile, $time_limit, $max_errors, $this);
}
/**
* Compile all config files
*
- * @param string $extension file extension
- * @param bool $force_compile force all to recompile
- * @param int $time_limit
- * @param int $max_errors
+ * @param string $extension file extension
+ * @param bool $force_compile force all to recompile
+ * @param int $time_limit
+ * @param int $max_errors
+ *
* @return integer number of template files recompiled
*/
- public function compileAllConfig($extention = '.conf', $force_compile = false, $time_limit = 0, $max_errors = null)
+ public function compileAllConfig($extension = '.conf', $force_compile = false, $time_limit = 0, $max_errors = null)
{
- return Smarty_Internal_Utility::compileAllConfig($extention, $force_compile, $time_limit, $max_errors, $this);
+ return Smarty_Internal_Utility::compileAllConfig($extension, $force_compile, $time_limit, $max_errors, $this);
}
/**
* Delete compiled template file
*
- * @param string $resource_name template name
- * @param string $compile_id compile id
- * @param integer $exp_time expiration time
+ * @param string $resource_name template name
+ * @param string $compile_id compile id
+ * @param integer $exp_time expiration time
+ *
* @return integer number of template files deleted
*/
public function clearCompiledTemplate($resource_name = null, $compile_id = null, $exp_time = null)
@@ -1355,12 +1467,12 @@ class Smarty extends Smarty_Internal_TemplateBase {
return Smarty_Internal_Utility::clearCompiledTemplate($resource_name, $compile_id, $exp_time, $this);
}
-
/**
* Return array of tag/attributes of all tags used by an template
*
- * @param object $templae template object
- * @return array of tag/attributes
+ * @param Smarty_Internal_Template $template
+ *
+ * @return array of tag/attributes
*/
public function getTags(Smarty_Internal_Template $template)
{
@@ -1370,10 +1482,11 @@ class Smarty extends Smarty_Internal_TemplateBase {
/**
* Run installation test
*
- * @param array $errors Array to write errors into, rather than outputting them
+ * @param array $errors Array to write errors into, rather than outputting them
+ *
* @return boolean true if setup is fine, false if something is wrong
*/
- public function testInstall(&$errors=null)
+ public function testInstall(&$errors = null)
{
return Smarty_Internal_Utility::testInstall($this, $errors);
}
@@ -1382,7 +1495,13 @@ class Smarty extends Smarty_Internal_TemplateBase {
* Error Handler to mute expected messages
*
* @link http://php.net/set_error_handler
- * @param integer $errno Error level
+ *
+ * @param integer $errno Error level
+ * @param $errstr
+ * @param $errfile
+ * @param $errline
+ * @param $errcontext
+ *
* @return boolean
*/
public static function mutingErrorHandler($errno, $errstr, $errfile, $errline, $errcontext)
@@ -1392,10 +1511,12 @@ class Smarty extends Smarty_Internal_TemplateBase {
// add the SMARTY_DIR to the list of muted directories
if (!isset(Smarty::$_muted_directories[SMARTY_DIR])) {
$smarty_dir = realpath(SMARTY_DIR);
- Smarty::$_muted_directories[SMARTY_DIR] = array(
- 'file' => $smarty_dir,
- 'length' => strlen($smarty_dir),
- );
+ if ($smarty_dir !== false) {
+ Smarty::$_muted_directories[SMARTY_DIR] = array(
+ 'file' => $smarty_dir,
+ 'length' => strlen($smarty_dir),
+ );
+ }
}
// walk the muted directories and test against $errfile
@@ -1403,8 +1524,13 @@ class Smarty extends Smarty_Internal_TemplateBase {
if (!$dir) {
// resolve directory and length for speedy comparisons
$file = realpath($key);
+ if ($file === false) {
+ // this directory does not exist, remove and skip it
+ unset(Smarty::$_muted_directories[$key]);
+ continue;
+ }
$dir = array(
- 'file' => $file,
+ 'file' => $file,
'length' => strlen($file),
);
}
@@ -1478,16 +1604,55 @@ if (Smarty::$_CHARSET !== 'UTF-8') {
/**
* Smarty exception class
+ *
* @package Smarty
*/
-class SmartyException extends Exception {
+class SmartyException extends Exception
+{
+ public static $escape = false;
+
+ public function __toString()
+ {
+ return ' --> Smarty: ' . (self::$escape ? htmlentities($this->message) : $this->message) . ' <-- ';
+ }
}
/**
* Smarty compiler exception class
+ *
* @package Smarty
*/
-class SmartyCompilerException extends SmartyException {
+class SmartyCompilerException extends SmartyException
+{
+ public function __toString()
+ {
+ return ' --> Smarty Compiler: ' . $this->message . ' <-- ';
+ }
+
+ /**
+ * The line number of the template error
+ *
+ * @type int|null
+ */
+ public $line = null;
+ /**
+ * The template source snippet relating to the error
+ *
+ * @type string|null
+ */
+ public $source = null;
+ /**
+ * The raw text of the error message
+ *
+ * @type string|null
+ */
+ public $desc = null;
+ /**
+ * The resource identifier or template name
+ *
+ * @type string|null
+ */
+ public $template = null;
}
/**
@@ -1496,22 +1661,20 @@ class SmartyCompilerException extends SmartyException {
function smartyAutoload($class)
{
$_class = strtolower($class);
- $_classes = array(
- 'smarty_config_source' => true,
- 'smarty_config_compiled' => true,
- 'smarty_security' => true,
- 'smarty_cacheresource' => true,
- 'smarty_cacheresource_custom' => true,
+ static $_classes = array(
+ 'smarty_config_source' => true,
+ 'smarty_config_compiled' => true,
+ 'smarty_security' => true,
+ 'smarty_cacheresource' => true,
+ 'smarty_cacheresource_custom' => true,
'smarty_cacheresource_keyvaluestore' => true,
- 'smarty_resource' => true,
- 'smarty_resource_custom' => true,
- 'smarty_resource_uncompiled' => true,
- 'smarty_resource_recompiled' => true,
+ 'smarty_resource' => true,
+ 'smarty_resource_custom' => true,
+ 'smarty_resource_uncompiled' => true,
+ 'smarty_resource_recompiled' => true,
);
if (!strncmp($_class, 'smarty_internal_', 16) || isset($_classes[$_class])) {
include SMARTY_SYSPLUGINS_DIR . $_class . '.php';
}
}
-
-?>
diff --git a/library/Smarty/libs/SmartyBC.class.php b/library/Smarty/libs/SmartyBC.class.php
index f8f0a138f..cec946746 100644
--- a/library/Smarty/libs/SmartyBC.class.php
+++ b/library/Smarty/libs/SmartyBC.class.php
@@ -1,460 +1,467 @@
-<?php
-/**
- * Project: Smarty: the PHP compiling template engine
- * File: SmartyBC.class.php
- * SVN: $Id: $
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * For questions, help, comments, discussion, etc., please join the
- * Smarty mailing list. Send a blank e-mail to
- * smarty-discussion-subscribe@googlegroups.com
- *
- * @link http://www.smarty.net/
- * @copyright 2008 New Digital Group, Inc.
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author Uwe Tews
- * @author Rodney Rehm
- * @package Smarty
- */
-/**
- * @ignore
- */
-require(dirname(__FILE__) . '/Smarty.class.php');
-
-/**
- * Smarty Backward Compatability Wrapper Class
- *
- * @package Smarty
- */
-class SmartyBC extends Smarty {
-
- /**
- * Smarty 2 BC
- * @var string
- */
- public $_version = self::SMARTY_VERSION;
-
- /**
- * Initialize new SmartyBC object
- *
- * @param array $options options to set during initialization, e.g. array( 'forceCompile' => false )
- */
- public function __construct(array $options=array())
- {
- parent::__construct($options);
- // register {php} tag
- $this->registerPlugin('block', 'php', 'smarty_php_tag');
- }
-
- /**
- * wrapper for assign_by_ref
- *
- * @param string $tpl_var the template variable name
- * @param mixed &$value the referenced value to assign
- */
- public function assign_by_ref($tpl_var, &$value)
- {
- $this->assignByRef($tpl_var, $value);
- }
-
- /**
- * wrapper for append_by_ref
- *
- * @param string $tpl_var the template variable name
- * @param mixed &$value the referenced value to append
- * @param boolean $merge flag if array elements shall be merged
- */
- public function append_by_ref($tpl_var, &$value, $merge = false)
- {
- $this->appendByRef($tpl_var, $value, $merge);
- }
-
- /**
- * clear the given assigned template variable.
- *
- * @param string $tpl_var the template variable to clear
- */
- public function clear_assign($tpl_var)
- {
- $this->clearAssign($tpl_var);
- }
-
- /**
- * Registers custom function to be used in templates
- *
- * @param string $function the name of the template function
- * @param string $function_impl the name of the PHP function to register
- * @param bool $cacheable
- * @param mixed $cache_attrs
- */
- public function register_function($function, $function_impl, $cacheable=true, $cache_attrs=null)
- {
- $this->registerPlugin('function', $function, $function_impl, $cacheable, $cache_attrs);
- }
-
- /**
- * Unregisters custom function
- *
- * @param string $function name of template function
- */
- public function unregister_function($function)
- {
- $this->unregisterPlugin('function', $function);
- }
-
- /**
- * Registers object to be used in templates
- *
- * @param string $object name of template object
- * @param object $object_impl the referenced PHP object to register
- * @param array $allowed list of allowed methods (empty = all)
- * @param boolean $smarty_args smarty argument format, else traditional
- * @param array $block_functs list of methods that are block format
- */
- public function register_object($object, $object_impl, $allowed = array(), $smarty_args = true, $block_methods = array())
- {
- settype($allowed, 'array');
- settype($smarty_args, 'boolean');
- $this->registerObject($object, $object_impl, $allowed, $smarty_args, $block_methods);
- }
-
- /**
- * Unregisters object
- *
- * @param string $object name of template object
- */
- public function unregister_object($object)
- {
- $this->unregisterObject($object);
- }
-
- /**
- * Registers block function to be used in templates
- *
- * @param string $block name of template block
- * @param string $block_impl PHP function to register
- * @param bool $cacheable
- * @param mixed $cache_attrs
- */
- public function register_block($block, $block_impl, $cacheable=true, $cache_attrs=null)
- {
- $this->registerPlugin('block', $block, $block_impl, $cacheable, $cache_attrs);
- }
-
- /**
- * Unregisters block function
- *
- * @param string $block name of template function
- */
- public function unregister_block($block)
- {
- $this->unregisterPlugin('block', $block);
- }
-
- /**
- * Registers compiler function
- *
- * @param string $function name of template function
- * @param string $function_impl name of PHP function to register
- * @param bool $cacheable
- */
- public function register_compiler_function($function, $function_impl, $cacheable=true)
- {
- $this->registerPlugin('compiler', $function, $function_impl, $cacheable);
- }
-
- /**
- * Unregisters compiler function
- *
- * @param string $function name of template function
- */
- public function unregister_compiler_function($function)
- {
- $this->unregisterPlugin('compiler', $function);
- }
-
- /**
- * Registers modifier to be used in templates
- *
- * @param string $modifier name of template modifier
- * @param string $modifier_impl name of PHP function to register
- */
- public function register_modifier($modifier, $modifier_impl)
- {
- $this->registerPlugin('modifier', $modifier, $modifier_impl);
- }
-
- /**
- * Unregisters modifier
- *
- * @param string $modifier name of template modifier
- */
- public function unregister_modifier($modifier)
- {
- $this->unregisterPlugin('modifier', $modifier);
- }
-
- /**
- * Registers a resource to fetch a template
- *
- * @param string $type name of resource
- * @param array $functions array of functions to handle resource
- */
- public function register_resource($type, $functions)
- {
- $this->registerResource($type, $functions);
- }
-
- /**
- * Unregisters a resource
- *
- * @param string $type name of resource
- */
- public function unregister_resource($type)
- {
- $this->unregisterResource($type);
- }
-
- /**
- * Registers a prefilter function to apply
- * to a template before compiling
- *
- * @param callable $function
- */
- public function register_prefilter($function)
- {
- $this->registerFilter('pre', $function);
- }
-
- /**
- * Unregisters a prefilter function
- *
- * @param callable $function
- */
- public function unregister_prefilter($function)
- {
- $this->unregisterFilter('pre', $function);
- }
-
- /**
- * Registers a postfilter function to apply
- * to a compiled template after compilation
- *
- * @param callable $function
- */
- public function register_postfilter($function)
- {
- $this->registerFilter('post', $function);
- }
-
- /**
- * Unregisters a postfilter function
- *
- * @param callable $function
- */
- public function unregister_postfilter($function)
- {
- $this->unregisterFilter('post', $function);
- }
-
- /**
- * Registers an output filter function to apply
- * to a template output
- *
- * @param callable $function
- */
- public function register_outputfilter($function)
- {
- $this->registerFilter('output', $function);
- }
-
- /**
- * Unregisters an outputfilter function
- *
- * @param callable $function
- */
- public function unregister_outputfilter($function)
- {
- $this->unregisterFilter('output', $function);
- }
-
- /**
- * load a filter of specified type and name
- *
- * @param string $type filter type
- * @param string $name filter name
- */
- public function load_filter($type, $name)
- {
- $this->loadFilter($type, $name);
- }
-
- /**
- * clear cached content for the given template and cache id
- *
- * @param string $tpl_file name of template file
- * @param string $cache_id name of cache_id
- * @param string $compile_id name of compile_id
- * @param string $exp_time expiration time
- * @return boolean
- */
- public function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null)
- {
- return $this->clearCache($tpl_file, $cache_id, $compile_id, $exp_time);
- }
-
- /**
- * clear the entire contents of cache (all templates)
- *
- * @param string $exp_time expire time
- * @return boolean
- */
- public function clear_all_cache($exp_time = null)
- {
- return $this->clearCache(null, null, null, $exp_time);
- }
-
- /**
- * test to see if valid cache exists for this template
- *
- * @param string $tpl_file name of template file
- * @param string $cache_id
- * @param string $compile_id
- * @return boolean
- */
- public function is_cached($tpl_file, $cache_id = null, $compile_id = null)
- {
- return $this->isCached($tpl_file, $cache_id, $compile_id);
- }
-
- /**
- * clear all the assigned template variables.
- */
- public function clear_all_assign()
- {
- $this->clearAllAssign();
- }
-
- /**
- * clears compiled version of specified template resource,
- * or all compiled template files if one is not specified.
- * This function is for advanced use only, not normally needed.
- *
- * @param string $tpl_file
- * @param string $compile_id
- * @param string $exp_time
- * @return boolean results of {@link smarty_core_rm_auto()}
- */
- public function clear_compiled_tpl($tpl_file = null, $compile_id = null, $exp_time = null)
- {
- return $this->clearCompiledTemplate($tpl_file, $compile_id, $exp_time);
- }
-
- /**
- * Checks whether requested template exists.
- *
- * @param string $tpl_file
- * @return boolean
- */
- public function template_exists($tpl_file)
- {
- return $this->templateExists($tpl_file);
- }
-
- /**
- * Returns an array containing template variables
- *
- * @param string $name
- * @return array
- */
- public function get_template_vars($name=null)
- {
- return $this->getTemplateVars($name);
- }
-
- /**
- * Returns an array containing config variables
- *
- * @param string $name
- * @return array
- */
- public function get_config_vars($name=null)
- {
- return $this->getConfigVars($name);
- }
-
- /**
- * load configuration values
- *
- * @param string $file
- * @param string $section
- * @param string $scope
- */
- public function config_load($file, $section = null, $scope = 'global')
- {
- $this->ConfigLoad($file, $section, $scope);
- }
-
- /**
- * return a reference to a registered object
- *
- * @param string $name
- * @return object
- */
- public function get_registered_object($name)
- {
- return $this->getRegisteredObject($name);
- }
-
- /**
- * clear configuration values
- *
- * @param string $var
- */
- public function clear_config($var = null)
- {
- $this->clearConfig($var);
- }
-
- /**
- * trigger Smarty error
- *
- * @param string $error_msg
- * @param integer $error_type
- */
- public function trigger_error($error_msg, $error_type = E_USER_WARNING)
- {
- trigger_error("Smarty error: $error_msg", $error_type);
- }
-
-}
-
-/**
- * Smarty {php}{/php} block function
- *
- * @param array $params parameter list
- * @param string $content contents of the block
- * @param object $template template object
- * @param boolean &$repeat repeat flag
- * @return string content re-formatted
- */
-function smarty_php_tag($params, $content, $template, &$repeat)
-{
- eval($content);
- return '';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Project: Smarty: the PHP compiling template engine
+ * File: SmartyBC.class.php
+ * SVN: $Id: $
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * For questions, help, comments, discussion, etc., please join the
+ * Smarty mailing list. Send a blank e-mail to
+ * smarty-discussion-subscribe@googlegroups.com
+ *
+ * @link http://www.smarty.net/
+ * @copyright 2008 New Digital Group, Inc.
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author Uwe Tews
+ * @author Rodney Rehm
+ * @package Smarty
+ */
+/**
+ * @ignore
+ */
+require_once(dirname(__FILE__) . '/Smarty.class.php');
+
+/**
+ * Smarty Backward Compatability Wrapper Class
+ *
+ * @package Smarty
+ */
+class SmartyBC extends Smarty
+{
+ /**
+ * Smarty 2 BC
+ *
+ * @var string
+ */
+ public $_version = self::SMARTY_VERSION;
+
+ /**
+ * Initialize new SmartyBC object
+ *
+ * @param array $options options to set during initialization, e.g. array( 'forceCompile' => false )
+ */
+ public function __construct(array $options = array())
+ {
+ parent::__construct($options);
+ // register {php} tag
+ $this->registerPlugin('block', 'php', 'smarty_php_tag');
+ }
+
+ /**
+ * wrapper for assign_by_ref
+ *
+ * @param string $tpl_var the template variable name
+ * @param mixed &$value the referenced value to assign
+ */
+ public function assign_by_ref($tpl_var, &$value)
+ {
+ $this->assignByRef($tpl_var, $value);
+ }
+
+ /**
+ * wrapper for append_by_ref
+ *
+ * @param string $tpl_var the template variable name
+ * @param mixed &$value the referenced value to append
+ * @param boolean $merge flag if array elements shall be merged
+ */
+ public function append_by_ref($tpl_var, &$value, $merge = false)
+ {
+ $this->appendByRef($tpl_var, $value, $merge);
+ }
+
+ /**
+ * clear the given assigned template variable.
+ *
+ * @param string $tpl_var the template variable to clear
+ */
+ public function clear_assign($tpl_var)
+ {
+ $this->clearAssign($tpl_var);
+ }
+
+ /**
+ * Registers custom function to be used in templates
+ *
+ * @param string $function the name of the template function
+ * @param string $function_impl the name of the PHP function to register
+ * @param bool $cacheable
+ * @param mixed $cache_attrs
+ */
+ public function register_function($function, $function_impl, $cacheable = true, $cache_attrs = null)
+ {
+ $this->registerPlugin('function', $function, $function_impl, $cacheable, $cache_attrs);
+ }
+
+ /**
+ * Unregisters custom function
+ *
+ * @param string $function name of template function
+ */
+ public function unregister_function($function)
+ {
+ $this->unregisterPlugin('function', $function);
+ }
+
+ /**
+ * Registers object to be used in templates
+ *
+ * @param string $object name of template object
+ * @param object $object_impl the referenced PHP object to register
+ * @param array $allowed list of allowed methods (empty = all)
+ * @param boolean $smarty_args smarty argument format, else traditional
+ * @param array $block_methods list of methods that are block format
+ *
+ * @throws SmartyException
+ * @internal param array $block_functs list of methods that are block format
+ */
+ public function register_object($object, $object_impl, $allowed = array(), $smarty_args = true, $block_methods = array())
+ {
+ settype($allowed, 'array');
+ settype($smarty_args, 'boolean');
+ $this->registerObject($object, $object_impl, $allowed, $smarty_args, $block_methods);
+ }
+
+ /**
+ * Unregisters object
+ *
+ * @param string $object name of template object
+ */
+ public function unregister_object($object)
+ {
+ $this->unregisterObject($object);
+ }
+
+ /**
+ * Registers block function to be used in templates
+ *
+ * @param string $block name of template block
+ * @param string $block_impl PHP function to register
+ * @param bool $cacheable
+ * @param mixed $cache_attrs
+ */
+ public function register_block($block, $block_impl, $cacheable = true, $cache_attrs = null)
+ {
+ $this->registerPlugin('block', $block, $block_impl, $cacheable, $cache_attrs);
+ }
+
+ /**
+ * Unregisters block function
+ *
+ * @param string $block name of template function
+ */
+ public function unregister_block($block)
+ {
+ $this->unregisterPlugin('block', $block);
+ }
+
+ /**
+ * Registers compiler function
+ *
+ * @param string $function name of template function
+ * @param string $function_impl name of PHP function to register
+ * @param bool $cacheable
+ */
+ public function register_compiler_function($function, $function_impl, $cacheable = true)
+ {
+ $this->registerPlugin('compiler', $function, $function_impl, $cacheable);
+ }
+
+ /**
+ * Unregisters compiler function
+ *
+ * @param string $function name of template function
+ */
+ public function unregister_compiler_function($function)
+ {
+ $this->unregisterPlugin('compiler', $function);
+ }
+
+ /**
+ * Registers modifier to be used in templates
+ *
+ * @param string $modifier name of template modifier
+ * @param string $modifier_impl name of PHP function to register
+ */
+ public function register_modifier($modifier, $modifier_impl)
+ {
+ $this->registerPlugin('modifier', $modifier, $modifier_impl);
+ }
+
+ /**
+ * Unregisters modifier
+ *
+ * @param string $modifier name of template modifier
+ */
+ public function unregister_modifier($modifier)
+ {
+ $this->unregisterPlugin('modifier', $modifier);
+ }
+
+ /**
+ * Registers a resource to fetch a template
+ *
+ * @param string $type name of resource
+ * @param array $functions array of functions to handle resource
+ */
+ public function register_resource($type, $functions)
+ {
+ $this->registerResource($type, $functions);
+ }
+
+ /**
+ * Unregisters a resource
+ *
+ * @param string $type name of resource
+ */
+ public function unregister_resource($type)
+ {
+ $this->unregisterResource($type);
+ }
+
+ /**
+ * Registers a prefilter function to apply
+ * to a template before compiling
+ *
+ * @param callable $function
+ */
+ public function register_prefilter($function)
+ {
+ $this->registerFilter('pre', $function);
+ }
+
+ /**
+ * Unregisters a prefilter function
+ *
+ * @param callable $function
+ */
+ public function unregister_prefilter($function)
+ {
+ $this->unregisterFilter('pre', $function);
+ }
+
+ /**
+ * Registers a postfilter function to apply
+ * to a compiled template after compilation
+ *
+ * @param callable $function
+ */
+ public function register_postfilter($function)
+ {
+ $this->registerFilter('post', $function);
+ }
+
+ /**
+ * Unregisters a postfilter function
+ *
+ * @param callable $function
+ */
+ public function unregister_postfilter($function)
+ {
+ $this->unregisterFilter('post', $function);
+ }
+
+ /**
+ * Registers an output filter function to apply
+ * to a template output
+ *
+ * @param callable $function
+ */
+ public function register_outputfilter($function)
+ {
+ $this->registerFilter('output', $function);
+ }
+
+ /**
+ * Unregisters an outputfilter function
+ *
+ * @param callable $function
+ */
+ public function unregister_outputfilter($function)
+ {
+ $this->unregisterFilter('output', $function);
+ }
+
+ /**
+ * load a filter of specified type and name
+ *
+ * @param string $type filter type
+ * @param string $name filter name
+ */
+ public function load_filter($type, $name)
+ {
+ $this->loadFilter($type, $name);
+ }
+
+ /**
+ * clear cached content for the given template and cache id
+ *
+ * @param string $tpl_file name of template file
+ * @param string $cache_id name of cache_id
+ * @param string $compile_id name of compile_id
+ * @param string $exp_time expiration time
+ *
+ * @return boolean
+ */
+ public function clear_cache($tpl_file = null, $cache_id = null, $compile_id = null, $exp_time = null)
+ {
+ return $this->clearCache($tpl_file, $cache_id, $compile_id, $exp_time);
+ }
+
+ /**
+ * clear the entire contents of cache (all templates)
+ *
+ * @param string $exp_time expire time
+ *
+ * @return boolean
+ */
+ public function clear_all_cache($exp_time = null)
+ {
+ return $this->clearCache(null, null, null, $exp_time);
+ }
+
+ /**
+ * test to see if valid cache exists for this template
+ *
+ * @param string $tpl_file name of template file
+ * @param string $cache_id
+ * @param string $compile_id
+ *
+ * @return boolean
+ */
+ public function is_cached($tpl_file, $cache_id = null, $compile_id = null)
+ {
+ return $this->isCached($tpl_file, $cache_id, $compile_id);
+ }
+
+ /**
+ * clear all the assigned template variables.
+ */
+ public function clear_all_assign()
+ {
+ $this->clearAllAssign();
+ }
+
+ /**
+ * clears compiled version of specified template resource,
+ * or all compiled template files if one is not specified.
+ * This function is for advanced use only, not normally needed.
+ *
+ * @param string $tpl_file
+ * @param string $compile_id
+ * @param string $exp_time
+ *
+ * @return boolean results of {@link smarty_core_rm_auto()}
+ */
+ public function clear_compiled_tpl($tpl_file = null, $compile_id = null, $exp_time = null)
+ {
+ return $this->clearCompiledTemplate($tpl_file, $compile_id, $exp_time);
+ }
+
+ /**
+ * Checks whether requested template exists.
+ *
+ * @param string $tpl_file
+ *
+ * @return boolean
+ */
+ public function template_exists($tpl_file)
+ {
+ return $this->templateExists($tpl_file);
+ }
+
+ /**
+ * Returns an array containing template variables
+ *
+ * @param string $name
+ *
+ * @return array
+ */
+ public function get_template_vars($name = null)
+ {
+ return $this->getTemplateVars($name);
+ }
+
+ /**
+ * Returns an array containing config variables
+ *
+ * @param string $name
+ *
+ * @return array
+ */
+ public function get_config_vars($name = null)
+ {
+ return $this->getConfigVars($name);
+ }
+
+ /**
+ * load configuration values
+ *
+ * @param string $file
+ * @param string $section
+ * @param string $scope
+ */
+ public function config_load($file, $section = null, $scope = 'global')
+ {
+ $this->ConfigLoad($file, $section, $scope);
+ }
+
+ /**
+ * return a reference to a registered object
+ *
+ * @param string $name
+ *
+ * @return object
+ */
+ public function get_registered_object($name)
+ {
+ return $this->getRegisteredObject($name);
+ }
+
+ /**
+ * clear configuration values
+ *
+ * @param string $var
+ */
+ public function clear_config($var = null)
+ {
+ $this->clearConfig($var);
+ }
+
+ /**
+ * trigger Smarty error
+ *
+ * @param string $error_msg
+ * @param integer $error_type
+ */
+ public function trigger_error($error_msg, $error_type = E_USER_WARNING)
+ {
+ trigger_error("Smarty error: $error_msg", $error_type);
+ }
+}
+
+/**
+ * Smarty {php}{/php} block function
+ *
+ * @param array $params parameter list
+ * @param string $content contents of the block
+ * @param object $template template object
+ * @param boolean &$repeat repeat flag
+ *
+ * @return string content re-formatted
+ */
+function smarty_php_tag($params, $content, $template, &$repeat)
+{
+ eval($content);
+
+ return '';
+}
diff --git a/library/Smarty/libs/debug.tpl b/library/Smarty/libs/debug.tpl
index 12eef0ffd..61b8876a4 100644
--- a/library/Smarty/libs/debug.tpl
+++ b/library/Smarty/libs/debug.tpl
@@ -1,133 +1,137 @@
{capture name='_smarty_debug' assign=debug_output}
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
- <title>Smarty Debug Console</title>
-<style type="text/css">
-{literal}
-body, h1, h2, td, th, p {
- font-family: sans-serif;
- font-weight: normal;
- font-size: 0.9em;
- margin: 1px;
- padding: 0;
-}
-
-h1 {
- margin: 0;
- text-align: left;
- padding: 2px;
- background-color: #f0c040;
- color: black;
- font-weight: bold;
- font-size: 1.2em;
- }
-
-h2 {
- background-color: #9B410E;
- color: white;
- text-align: left;
- font-weight: bold;
- padding: 2px;
- border-top: 1px solid black;
-}
-
-body {
- background: black;
-}
-
-p, table, div {
- background: #f0ead8;
-}
-
-p {
- margin: 0;
- font-style: italic;
- text-align: center;
-}
-
-table {
- width: 100%;
-}
-
-th, td {
- font-family: monospace;
- vertical-align: top;
- text-align: left;
- width: 50%;
-}
-
-td {
- color: green;
-}
-
-.odd {
- background-color: #eeeeee;
-}
-
-.even {
- background-color: #fafafa;
-}
-
-.exectime {
- font-size: 0.8em;
- font-style: italic;
-}
-
-#table_assigned_vars th {
- color: blue;
-}
-
-#table_config_vars th {
- color: maroon;
-}
-{/literal}
-</style>
-</head>
-<body>
-
-<h1>Smarty Debug Console - {if isset($template_name)}{$template_name|debug_print_var nofilter}{else}Total Time {$execution_time|string_format:"%.5f"}{/if}</h1>
-
-{if !empty($template_data)}
-<h2>included templates &amp; config files (load time in seconds)</h2>
-
-<div>
-{foreach $template_data as $template}
- <font color=brown>{$template.name}</font>
- <span class="exectime">
- (compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"})
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <title>Smarty Debug Console</title>
+ <style type="text/css">
+ {literal}
+ body, h1, h2, td, th, p {
+ font-family: sans-serif;
+ font-weight: normal;
+ font-size: 0.9em;
+ margin: 1px;
+ padding: 0;
+ }
+
+ h1 {
+ margin: 0;
+ text-align: left;
+ padding: 2px;
+ background-color: #f0c040;
+ color: black;
+ font-weight: bold;
+ font-size: 1.2em;
+ }
+
+ h2 {
+ background-color: #9B410E;
+ color: white;
+ text-align: left;
+ font-weight: bold;
+ padding: 2px;
+ border-top: 1px solid black;
+ }
+
+ body {
+ background: black;
+ }
+
+ p, table, div {
+ background: #f0ead8;
+ }
+
+ p {
+ margin: 0;
+ font-style: italic;
+ text-align: center;
+ }
+
+ table {
+ width: 100%;
+ }
+
+ th, td {
+ font-family: monospace;
+ vertical-align: top;
+ text-align: left;
+ width: 50%;
+ }
+
+ td {
+ color: green;
+ }
+
+ .odd {
+ background-color: #eeeeee;
+ }
+
+ .even {
+ background-color: #fafafa;
+ }
+
+ .exectime {
+ font-size: 0.8em;
+ font-style: italic;
+ }
+
+ #table_assigned_vars th {
+ color: blue;
+ }
+
+ #table_config_vars th {
+ color: maroon;
+ }
+
+ {/literal}
+ </style>
+ </head>
+ <body>
+
+ <h1>Smarty Debug Console
+ - {if isset($template_name)}{$template_name|debug_print_var nofilter}{else}Total Time {$execution_time|string_format:"%.5f"}{/if}</h1>
+
+ {if !empty($template_data)}
+ <h2>included templates &amp; config files (load time in seconds)</h2>
+ <div>
+ {foreach $template_data as $template}
+ <font color=brown>{$template.name}</font>
+ <span class="exectime">
+ (compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"}
+ )
</span>
- <br>
-{/foreach}
-</div>
-{/if}
-
-<h2>assigned template variables</h2>
-
-<table id="table_assigned_vars">
- {foreach $assigned_vars as $vars}
- <tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
- <th>${$vars@key|escape:'html'}</th>
- <td>{$vars|debug_print_var nofilter}</td></tr>
- {/foreach}
-</table>
-
-<h2>assigned config file variables (outer template scope)</h2>
-
-<table id="table_config_vars">
- {foreach $config_vars as $vars}
- <tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
- <th>{$vars@key|escape:'html'}</th>
- <td>{$vars|debug_print_var nofilter}</td></tr>
- {/foreach}
-
-</table>
-</body>
-</html>
+ <br>
+ {/foreach}
+ </div>
+ {/if}
+
+ <h2>assigned template variables</h2>
+
+ <table id="table_assigned_vars">
+ {foreach $assigned_vars as $vars}
+ <tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
+ <th>${$vars@key|escape:'html'}</th>
+ <td>{$vars|debug_print_var nofilter}</td>
+ </tr>
+ {/foreach}
+ </table>
+
+ <h2>assigned config file variables (outer template scope)</h2>
+
+ <table id="table_config_vars">
+ {foreach $config_vars as $vars}
+ <tr class="{if $vars@iteration % 2 eq 0}odd{else}even{/if}">
+ <th>{$vars@key|escape:'html'}</th>
+ <td>{$vars|debug_print_var nofilter}</td>
+ </tr>
+ {/foreach}
+
+ </table>
+ </body>
+ </html>
{/capture}
<script type="text/javascript">
-{$id = $template_name|default:''|md5}
- _smarty_console = window.open("","console{$id}","width=680,height=600,resizable,scrollbars=yes");
+ {$id = $template_name|default:''|md5}
+ _smarty_console = window.open("", "console{$id}", "width=680,height=600,resizable,scrollbars=yes");
_smarty_console.document.write("{$debug_output|escape:'javascript' nofilter}");
_smarty_console.document.close();
</script>
diff --git a/library/Smarty/libs/plugins/block.textformat.php b/library/Smarty/libs/plugins/block.textformat.php
index b22b104a5..abf544939 100644
--- a/library/Smarty/libs/plugins/block.textformat.php
+++ b/library/Smarty/libs/plugins/block.textformat.php
@@ -2,13 +2,12 @@
/**
* Smarty plugin to format text blocks
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsBlock
*/
/**
* Smarty {textformat}{/textformat} block plugin
- *
* Type: block function<br>
* Name: textformat<br>
* Purpose: format text a certain way with preset styles
@@ -23,12 +22,14 @@
* - wrap_boundary - boolean (true)
* </pre>
*
- * @link http://www.smarty.net/manual/en/language.function.textformat.php {textformat}
- * (Smarty online manual)
+ * @link http://www.smarty.net/manual/en/language.function.textformat.php {textformat}
+ * (Smarty online manual)
+ *
* @param array $params parameters
* @param string $content contents of the block
* @param Smarty_Internal_Template $template template object
* @param boolean &$repeat repeat flag
+ *
* @return string content re-formatted
* @author Monte Ohrt <monte at ohrt dot com>
*/
@@ -53,17 +54,17 @@ function smarty_block_textformat($params, $content, $template, &$repeat)
case 'indent_char':
case 'wrap_char':
case 'assign':
- $$_key = (string)$_val;
+ $$_key = (string) $_val;
break;
case 'indent':
case 'indent_first':
case 'wrap':
- $$_key = (int)$_val;
+ $$_key = (int) $_val;
break;
case 'wrap_cut':
- $$_key = (bool)$_val;
+ $$_key = (bool) $_val;
break;
default:
@@ -76,8 +77,6 @@ function smarty_block_textformat($params, $content, $template, &$repeat)
}
// split into paragraphs
$_paragraphs = preg_split('![\r\n]{2}!', $content);
- $_output = '';
-
foreach ($_paragraphs as &$_paragraph) {
if (!$_paragraph) {
@@ -102,12 +101,10 @@ function smarty_block_textformat($params, $content, $template, &$repeat)
}
}
$_output = implode($wrap_char . $wrap_char, $_paragraphs);
-
+
if ($assign) {
$template->assign($assign, $_output);
} else {
return $_output;
}
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/function.counter.php b/library/Smarty/libs/plugins/function.counter.php
index 3906badf0..4da85a14e 100644
--- a/library/Smarty/libs/plugins/function.counter.php
+++ b/library/Smarty/libs/plugins/function.counter.php
@@ -1,22 +1,24 @@
<?php
/**
* Smarty plugin
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {counter} function plugin
- *
* Type: function<br>
* Name: counter<br>
* Purpose: print out a counter value
*
* @author Monte Ohrt <monte at ohrt dot com>
- * @link http://www.smarty.net/manual/en/language.function.counter.php {counter}
- * (Smarty online manual)
+ * @link http://www.smarty.net/manual/en/language.function.counter.php {counter}
+ * (Smarty online manual)
+ *
* @param array $params parameters
* @param Smarty_Internal_Template $template template object
+ *
* @return string|null
*/
function smarty_function_counter($params, $template)
@@ -26,16 +28,16 @@ function smarty_function_counter($params, $template)
$name = (isset($params['name'])) ? $params['name'] : 'default';
if (!isset($counters[$name])) {
$counters[$name] = array(
- 'start'=>1,
- 'skip'=>1,
- 'direction'=>'up',
- 'count'=>1
- );
+ 'start' => 1,
+ 'skip' => 1,
+ 'direction' => 'up',
+ 'count' => 1
+ );
}
$counter =& $counters[$name];
if (isset($params['start'])) {
- $counter['start'] = $counter['count'] = (int)$params['start'];
+ $counter['start'] = $counter['count'] = (int) $params['start'];
}
if (!empty($params['assign'])) {
@@ -45,9 +47,9 @@ function smarty_function_counter($params, $template)
if (isset($counter['assign'])) {
$template->assign($counter['assign'], $counter['count']);
}
-
+
if (isset($params['print'])) {
- $print = (bool)$params['print'];
+ $print = (bool) $params['print'];
} else {
$print = empty($counter['assign']);
}
@@ -61,18 +63,16 @@ function smarty_function_counter($params, $template)
if (isset($params['skip'])) {
$counter['skip'] = $params['skip'];
}
-
+
if (isset($params['direction'])) {
$counter['direction'] = $params['direction'];
}
- if ($counter['direction'] == "down")
+ if ($counter['direction'] == "down") {
$counter['count'] -= $counter['skip'];
- else
+ } else {
$counter['count'] += $counter['skip'];
-
+ }
+
return $retval;
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/function.cycle.php b/library/Smarty/libs/plugins/function.cycle.php
index 1778ffb53..8dc5cd9d5 100644
--- a/library/Smarty/libs/plugins/function.cycle.php
+++ b/library/Smarty/libs/plugins/function.cycle.php
@@ -2,13 +2,12 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {cycle} function plugin
- *
* Type: function<br>
* Name: cycle<br>
* Date: May 3, 2002<br>
@@ -31,15 +30,17 @@
* {cycle name=row}
* </pre>
*
- * @link http://www.smarty.net/manual/en/language.function.cycle.php {cycle}
- * (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author credit to Mark Priatel <mpriatel@rogers.com>
- * @author credit to Gerard <gerard@interfold.com>
- * @author credit to Jason Sweat <jsweat_php@yahoo.com>
+ * @link http://www.smarty.net/manual/en/language.function.cycle.php {cycle}
+ * (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author credit to Mark Priatel <mpriatel@rogers.com>
+ * @author credit to Gerard <gerard@interfold.com>
+ * @author credit to Jason Sweat <jsweat_php@yahoo.com>
* @version 1.3
+ *
* @param array $params parameters
* @param Smarty_Internal_Template $template template object
+ *
* @return string|null
*/
@@ -48,18 +49,20 @@ function smarty_function_cycle($params, $template)
static $cycle_vars;
$name = (empty($params['name'])) ? 'default' : $params['name'];
- $print = (isset($params['print'])) ? (bool)$params['print'] : true;
- $advance = (isset($params['advance'])) ? (bool)$params['advance'] : true;
- $reset = (isset($params['reset'])) ? (bool)$params['reset'] : false;
+ $print = (isset($params['print'])) ? (bool) $params['print'] : true;
+ $advance = (isset($params['advance'])) ? (bool) $params['advance'] : true;
+ $reset = (isset($params['reset'])) ? (bool) $params['reset'] : false;
if (!isset($params['values'])) {
- if(!isset($cycle_vars[$name]['values'])) {
+ if (!isset($cycle_vars[$name]['values'])) {
trigger_error("cycle: missing 'values' parameter");
+
return;
}
} else {
- if(isset($cycle_vars[$name]['values'])
- && $cycle_vars[$name]['values'] != $params['values'] ) {
+ if (isset($cycle_vars[$name]['values'])
+ && $cycle_vars[$name]['values'] != $params['values']
+ ) {
$cycle_vars[$name]['index'] = 0;
}
$cycle_vars[$name]['values'] = $params['values'];
@@ -71,13 +74,13 @@ function smarty_function_cycle($params, $template)
$cycle_vars[$name]['delimiter'] = ',';
}
- if(is_array($cycle_vars[$name]['values'])) {
+ if (is_array($cycle_vars[$name]['values'])) {
$cycle_array = $cycle_vars[$name]['values'];
} else {
- $cycle_array = explode($cycle_vars[$name]['delimiter'],$cycle_vars[$name]['values']);
+ $cycle_array = explode($cycle_vars[$name]['delimiter'], $cycle_vars[$name]['values']);
}
- if(!isset($cycle_vars[$name]['index']) || $reset ) {
+ if (!isset($cycle_vars[$name]['index']) || $reset) {
$cycle_vars[$name]['index'] = 0;
}
@@ -86,21 +89,19 @@ function smarty_function_cycle($params, $template)
$template->assign($params['assign'], $cycle_array[$cycle_vars[$name]['index']]);
}
- if($print) {
+ if ($print) {
$retval = $cycle_array[$cycle_vars[$name]['index']];
} else {
$retval = null;
}
- if($advance) {
- if ( $cycle_vars[$name]['index'] >= count($cycle_array) -1 ) {
+ if ($advance) {
+ if ($cycle_vars[$name]['index'] >= count($cycle_array) - 1) {
$cycle_vars[$name]['index'] = 0;
} else {
- $cycle_vars[$name]['index']++;
+ $cycle_vars[$name]['index'] ++;
}
}
return $retval;
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/function.fetch.php b/library/Smarty/libs/plugins/function.fetch.php
index eca1182d5..3506d4a8d 100644
--- a/library/Smarty/libs/plugins/function.fetch.php
+++ b/library/Smarty/libs/plugins/function.fetch.php
@@ -2,50 +2,53 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {fetch} plugin
- *
* Type: function<br>
* Name: fetch<br>
* Purpose: fetch file, web or ftp data and display results
*
- * @link http://www.smarty.net/manual/en/language.function.fetch.php {fetch}
- * (Smarty online manual)
+ * @link http://www.smarty.net/manual/en/language.function.fetch.php {fetch}
+ * (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
+ *
* @param array $params parameters
* @param Smarty_Internal_Template $template template object
+ *
+ * @throws SmartyException
* @return string|null if the assign parameter is passed, Smarty assigns the result to a template variable
*/
function smarty_function_fetch($params, $template)
{
if (empty($params['file'])) {
- trigger_error("[plugin] fetch parameter 'file' cannot be empty",E_USER_NOTICE);
+ trigger_error("[plugin] fetch parameter 'file' cannot be empty", E_USER_NOTICE);
+
return;
}
-
+
// strip file protocol
if (stripos($params['file'], 'file://') === 0) {
$params['file'] = substr($params['file'], 7);
}
-
+
$protocol = strpos($params['file'], '://');
if ($protocol !== false) {
$protocol = strtolower(substr($params['file'], 0, $protocol));
}
-
+
if (isset($template->smarty->security_policy)) {
if ($protocol) {
// remote resource (or php stream, …)
- if(!$template->smarty->security_policy->isTrustedUri($params['file'])) {
+ if (!$template->smarty->security_policy->isTrustedUri($params['file'])) {
return;
}
} else {
// local file
- if(!$template->smarty->security_policy->isTrustedResourceDir($params['file'])) {
+ if (!$template->smarty->security_policy->isTrustedResourceDir($params['file'])) {
return;
}
}
@@ -54,53 +57,54 @@ function smarty_function_fetch($params, $template)
$content = '';
if ($protocol == 'http') {
// http fetch
- if($uri_parts = parse_url($params['file'])) {
+ if ($uri_parts = parse_url($params['file'])) {
// set defaults
$host = $server_name = $uri_parts['host'];
$timeout = 30;
$accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*";
- $agent = "Smarty Template Engine ". Smarty::SMARTY_VERSION;
+ $agent = "Smarty Template Engine " . Smarty::SMARTY_VERSION;
$referer = "";
$uri = !empty($uri_parts['path']) ? $uri_parts['path'] : '/';
$uri .= !empty($uri_parts['query']) ? '?' . $uri_parts['query'] : '';
$_is_proxy = false;
- if(empty($uri_parts['port'])) {
+ if (empty($uri_parts['port'])) {
$port = 80;
} else {
$port = $uri_parts['port'];
}
- if(!empty($uri_parts['user'])) {
+ if (!empty($uri_parts['user'])) {
$user = $uri_parts['user'];
}
- if(!empty($uri_parts['pass'])) {
+ if (!empty($uri_parts['pass'])) {
$pass = $uri_parts['pass'];
}
// loop through parameters, setup headers
- foreach($params as $param_key => $param_value) {
- switch($param_key) {
+ foreach ($params as $param_key => $param_value) {
+ switch ($param_key) {
case "file":
case "assign":
case "assign_headers":
break;
case "user":
- if(!empty($param_value)) {
+ if (!empty($param_value)) {
$user = $param_value;
}
break;
case "pass":
- if(!empty($param_value)) {
+ if (!empty($param_value)) {
$pass = $param_value;
}
break;
case "accept":
- if(!empty($param_value)) {
+ if (!empty($param_value)) {
$accept = $param_value;
}
break;
case "header":
- if(!empty($param_value)) {
- if(!preg_match('![\w\d-]+: .+!',$param_value)) {
- trigger_error("[plugin] invalid header format '".$param_value."'",E_USER_NOTICE);
+ if (!empty($param_value)) {
+ if (!preg_match('![\w\d-]+: .+!', $param_value)) {
+ trigger_error("[plugin] invalid header format '" . $param_value . "'", E_USER_NOTICE);
+
return;
} else {
$extra_headers[] = $param_value;
@@ -108,99 +112,104 @@ function smarty_function_fetch($params, $template)
}
break;
case "proxy_host":
- if(!empty($param_value)) {
+ if (!empty($param_value)) {
$proxy_host = $param_value;
}
break;
case "proxy_port":
- if(!preg_match('!\D!', $param_value)) {
+ if (!preg_match('!\D!', $param_value)) {
$proxy_port = (int) $param_value;
} else {
- trigger_error("[plugin] invalid value for attribute '".$param_key."'",E_USER_NOTICE);
+ trigger_error("[plugin] invalid value for attribute '" . $param_key . "'", E_USER_NOTICE);
+
return;
}
break;
case "agent":
- if(!empty($param_value)) {
+ if (!empty($param_value)) {
$agent = $param_value;
}
break;
case "referer":
- if(!empty($param_value)) {
+ if (!empty($param_value)) {
$referer = $param_value;
}
break;
case "timeout":
- if(!preg_match('!\D!', $param_value)) {
+ if (!preg_match('!\D!', $param_value)) {
$timeout = (int) $param_value;
} else {
- trigger_error("[plugin] invalid value for attribute '".$param_key."'",E_USER_NOTICE);
+ trigger_error("[plugin] invalid value for attribute '" . $param_key . "'", E_USER_NOTICE);
+
return;
}
break;
default:
- trigger_error("[plugin] unrecognized attribute '".$param_key."'",E_USER_NOTICE);
+ trigger_error("[plugin] unrecognized attribute '" . $param_key . "'", E_USER_NOTICE);
+
return;
}
}
- if(!empty($proxy_host) && !empty($proxy_port)) {
+ if (!empty($proxy_host) && !empty($proxy_port)) {
$_is_proxy = true;
- $fp = fsockopen($proxy_host,$proxy_port,$errno,$errstr,$timeout);
+ $fp = fsockopen($proxy_host, $proxy_port, $errno, $errstr, $timeout);
} else {
- $fp = fsockopen($server_name,$port,$errno,$errstr,$timeout);
+ $fp = fsockopen($server_name, $port, $errno, $errstr, $timeout);
}
- if(!$fp) {
- trigger_error("[plugin] unable to fetch: $errstr ($errno)",E_USER_NOTICE);
+ if (!$fp) {
+ trigger_error("[plugin] unable to fetch: $errstr ($errno)", E_USER_NOTICE);
+
return;
} else {
- if($_is_proxy) {
+ if ($_is_proxy) {
fputs($fp, 'GET ' . $params['file'] . " HTTP/1.0\r\n");
} else {
fputs($fp, "GET $uri HTTP/1.0\r\n");
}
- if(!empty($host)) {
+ if (!empty($host)) {
fputs($fp, "Host: $host\r\n");
}
- if(!empty($accept)) {
+ if (!empty($accept)) {
fputs($fp, "Accept: $accept\r\n");
}
- if(!empty($agent)) {
+ if (!empty($agent)) {
fputs($fp, "User-Agent: $agent\r\n");
}
- if(!empty($referer)) {
+ if (!empty($referer)) {
fputs($fp, "Referer: $referer\r\n");
}
- if(isset($extra_headers) && is_array($extra_headers)) {
- foreach($extra_headers as $curr_header) {
- fputs($fp, $curr_header."\r\n");
+ if (isset($extra_headers) && is_array($extra_headers)) {
+ foreach ($extra_headers as $curr_header) {
+ fputs($fp, $curr_header . "\r\n");
}
}
- if(!empty($user) && !empty($pass)) {
- fputs($fp, "Authorization: BASIC ".base64_encode("$user:$pass")."\r\n");
+ if (!empty($user) && !empty($pass)) {
+ fputs($fp, "Authorization: BASIC " . base64_encode("$user:$pass") . "\r\n");
}
fputs($fp, "\r\n");
- while(!feof($fp)) {
- $content .= fgets($fp,4096);
+ while (!feof($fp)) {
+ $content .= fgets($fp, 4096);
}
fclose($fp);
- $csplit = preg_split("!\r\n\r\n!",$content,2);
+ $csplit = preg_split("!\r\n\r\n!", $content, 2);
$content = $csplit[1];
- if(!empty($params['assign_headers'])) {
- $template->assign($params['assign_headers'],preg_split("!\r\n!",$csplit[0]));
+ if (!empty($params['assign_headers'])) {
+ $template->assign($params['assign_headers'], preg_split("!\r\n!", $csplit[0]));
}
}
} else {
- trigger_error("[plugin fetch] unable to parse URL, check syntax",E_USER_NOTICE);
+ trigger_error("[plugin fetch] unable to parse URL, check syntax", E_USER_NOTICE);
+
return;
}
} else {
$content = @file_get_contents($params['file']);
if ($content === false) {
- throw new SmartyException("{fetch} cannot read resource '" . $params['file'] ."'");
+ throw new SmartyException("{fetch} cannot read resource '" . $params['file'] . "'");
}
}
@@ -210,5 +219,3 @@ function smarty_function_fetch($params, $template)
return $content;
}
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/function.html_checkboxes.php b/library/Smarty/libs/plugins/function.html_checkboxes.php
index fb9584bbd..d78680368 100644
--- a/library/Smarty/libs/plugins/function.html_checkboxes.php
+++ b/library/Smarty/libs/plugins/function.html_checkboxes.php
@@ -2,13 +2,12 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {html_checkboxes} function plugin
- *
* File: function.html_checkboxes.php<br>
* Type: function<br>
* Name: html_checkboxes<br>
@@ -32,15 +31,17 @@
* - escape (optional) - escape the content (not value), defaults to true
* </pre>
*
- * @link http://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes}
- * (Smarty online manual)
+ * @link http://www.smarty.net/manual/en/language.function.html.checkboxes.php {html_checkboxes}
+ * (Smarty online manual)
* @author Christopher Kvarme <christopher.kvarme@flashjab.com>
- * @author credits to Monte Ohrt <monte at ohrt dot com>
+ * @author credits to Monte Ohrt <monte at ohrt dot com>
* @version 1.0
- * @param array $params parameters
+ *
+ * @param array $params parameters
* @param object $template template object
+ *
* @return string
- * @uses smarty_function_escape_special_chars()
+ * @uses smarty_function_escape_special_chars()
*/
function smarty_function_html_checkboxes($params, $template)
{
@@ -58,8 +59,8 @@ function smarty_function_html_checkboxes($params, $template)
$extra = '';
- foreach($params as $_key => $_val) {
- switch($_key) {
+ foreach ($params as $_key => $_val) {
+ switch ($_key) {
case 'name':
case 'separator':
$$_key = (string) $_val;
@@ -89,7 +90,7 @@ function smarty_function_html_checkboxes($params, $template)
if (method_exists($_sel, "__toString")) {
$_sel = smarty_function_escape_special_chars((string) $_sel->__toString());
} else {
- trigger_error("html_checkboxes: selected attribute contains an object of class '". get_class($_sel) ."' without __toString() method", E_USER_NOTICE);
+ trigger_error("html_checkboxes: selected attribute contains an object of class '" . get_class($_sel) . "' without __toString() method", E_USER_NOTICE);
continue;
}
} else {
@@ -101,7 +102,7 @@ function smarty_function_html_checkboxes($params, $template)
if (method_exists($_val, "__toString")) {
$selected = smarty_function_escape_special_chars((string) $_val->__toString());
} else {
- trigger_error("html_checkboxes: selected attribute is an object of class '". get_class($_val) ."' without __toString() method", E_USER_NOTICE);
+ trigger_error("html_checkboxes: selected attribute is an object of class '" . get_class($_val) . "' without __toString() method", E_USER_NOTICE);
}
} else {
$selected = smarty_function_escape_special_chars((string) $_val);
@@ -116,9 +117,27 @@ function smarty_function_html_checkboxes($params, $template)
case 'assign':
break;
+ case 'strict':
+ break;
+
+ case 'disabled':
+ case 'readonly':
+ if (!empty($params['strict'])) {
+ if (!is_scalar($_val)) {
+ trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE);
+ }
+
+ if ($_val === true || $_val === $_key) {
+ $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"';
+ }
+
+ break;
+ }
+ // omit break; to fall through!
+
default:
- if(!is_array($_val)) {
- $extra .= ' '.$_key.'="'.smarty_function_escape_special_chars($_val).'"';
+ if (!is_array($_val)) {
+ $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
} else {
trigger_error("html_checkboxes: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
}
@@ -126,76 +145,79 @@ function smarty_function_html_checkboxes($params, $template)
}
}
- if (!isset($options) && !isset($values))
- return ''; /* raise error here? */
+ if (!isset($options) && !isset($values)) {
+ return '';
+ } /* raise error here? */
$_html_result = array();
if (isset($options)) {
- foreach ($options as $_key=>$_val) {
+ foreach ($options as $_key => $_val) {
$_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape);
}
} else {
- foreach ($values as $_i=>$_key) {
+ foreach ($values as $_i => $_key) {
$_val = isset($output[$_i]) ? $output[$_i] : '';
$_html_result[] = smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape);
}
}
- if(!empty($params['assign'])) {
+ if (!empty($params['assign'])) {
$template->assign($params['assign'], $_html_result);
} else {
return implode("\n", $_html_result);
}
-
}
-function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape=true) {
+function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape = true)
+{
$_output = '';
-
+
if (is_object($value)) {
if (method_exists($value, "__toString")) {
$value = (string) $value->__toString();
} else {
- trigger_error("html_options: value is an object of class '". get_class($value) ."' without __toString() method", E_USER_NOTICE);
+ trigger_error("html_options: value is an object of class '" . get_class($value) . "' without __toString() method", E_USER_NOTICE);
+
return '';
}
} else {
$value = (string) $value;
}
-
+
if (is_object($output)) {
if (method_exists($output, "__toString")) {
$output = (string) $output->__toString();
} else {
- trigger_error("html_options: output is an object of class '". get_class($output) ."' without __toString() method", E_USER_NOTICE);
+ trigger_error("html_options: output is an object of class '" . get_class($output) . "' without __toString() method", E_USER_NOTICE);
+
return '';
}
} else {
$output = (string) $output;
}
-
+
if ($labels) {
if ($label_ids) {
$_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value));
$_output .= '<label for="' . $_id . '">';
} else {
$_output .= '<label>';
- }
+ }
}
-
+
$name = smarty_function_escape_special_chars($name);
$value = smarty_function_escape_special_chars($value);
if ($escape) {
$output = smarty_function_escape_special_chars($output);
}
-
+
$_output .= '<input type="checkbox" name="' . $name . '[]" value="' . $value . '"';
-
+
if ($labels && $label_ids) {
$_output .= ' id="' . $_id . '"';
}
-
+
if (is_array($selected)) {
if (isset($selected[$value])) {
$_output .= ' checked="checked"';
@@ -203,14 +225,13 @@ function smarty_function_html_checkboxes_output($name, $value, $output, $selecte
} elseif ($value === $selected) {
$_output .= ' checked="checked"';
}
-
+
$_output .= $extra . ' />' . $output;
if ($labels) {
$_output .= '</label>';
}
-
- $_output .= $separator;
+
+ $_output .= $separator;
+
return $_output;
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/function.html_image.php b/library/Smarty/libs/plugins/function.html_image.php
index 6521966bb..5037e8bd1 100644
--- a/library/Smarty/libs/plugins/function.html_image.php
+++ b/library/Smarty/libs/plugins/function.html_image.php
@@ -1,14 +1,13 @@
<?php
/**
* Smarty plugin
- *
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {html_image} function plugin
- *
* Type: function<br>
* Name: html_image<br>
* Date: Feb 24, 2003<br>
@@ -23,21 +22,24 @@
* - basedir - (optional) - base directory for absolute paths, default is environment variable DOCUMENT_ROOT
* - path_prefix - prefix for path output (optional, default empty)
* </pre>
- *
- * @link http://www.smarty.net/manual/en/language.function.html.image.php {html_image}
- * (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author credits to Duda <duda@big.hu>
+ *
+ * @link http://www.smarty.net/manual/en/language.function.html.image.php {html_image}
+ * (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author credits to Duda <duda@big.hu>
* @version 1.0
+ *
* @param array $params parameters
* @param Smarty_Internal_Template $template template object
- * @return string
- * @uses smarty_function_escape_special_chars()
+ *
+ * @throws SmartyException
+ * @return string
+ * @uses smarty_function_escape_special_chars()
*/
function smarty_function_html_image($params, $template)
{
require_once(SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php');
-
+
$alt = '';
$file = '';
$height = '';
@@ -47,7 +49,7 @@ function smarty_function_html_image($params, $template)
$suffix = '';
$path_prefix = '';
$basedir = isset($_SERVER['DOCUMENT_ROOT']) ? $_SERVER['DOCUMENT_ROOT'] : '';
- foreach($params as $_key => $_val) {
+ foreach ($params as $_key => $_val) {
switch ($_key) {
case 'file':
case 'height':
@@ -63,7 +65,7 @@ function smarty_function_html_image($params, $template)
$$_key = smarty_function_escape_special_chars($_val);
} else {
throw new SmartyException ("html_image: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
- }
+ }
break;
case 'link':
@@ -77,41 +79,42 @@ function smarty_function_html_image($params, $template)
$extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
} else {
throw new SmartyException ("html_image: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
- }
+ }
break;
- }
- }
+ }
+ }
if (empty($file)) {
trigger_error("html_image: missing 'file' parameter", E_USER_NOTICE);
+
return;
- }
+ }
if ($file[0] == '/') {
$_image_path = $basedir . $file;
} else {
$_image_path = $file;
}
-
+
// strip file protocol
if (stripos($params['file'], 'file://') === 0) {
$params['file'] = substr($params['file'], 7);
}
-
+
$protocol = strpos($params['file'], '://');
if ($protocol !== false) {
$protocol = strtolower(substr($params['file'], 0, $protocol));
}
-
+
if (isset($template->smarty->security_policy)) {
if ($protocol) {
// remote resource (or php stream, …)
- if(!$template->smarty->security_policy->isTrustedUri($params['file'])) {
+ if (!$template->smarty->security_policy->isTrustedUri($params['file'])) {
return;
}
} else {
// local file
- if(!$template->smarty->security_policy->isTrustedResourceDir($params['file'])) {
+ if (!$template->smarty->security_policy->isTrustedResourceDir($_image_path)) {
return;
}
}
@@ -122,23 +125,26 @@ function smarty_function_html_image($params, $template)
if (!$_image_data = @getimagesize($_image_path)) {
if (!file_exists($_image_path)) {
trigger_error("html_image: unable to find '$_image_path'", E_USER_NOTICE);
+
return;
- } else if (!is_readable($_image_path)) {
+ } elseif (!is_readable($_image_path)) {
trigger_error("html_image: unable to read '$_image_path'", E_USER_NOTICE);
+
return;
} else {
trigger_error("html_image: '$_image_path' is not a valid image file", E_USER_NOTICE);
+
return;
- }
+ }
}
if (!isset($params['width'])) {
$width = $_image_data[0];
- }
+ }
if (!isset($params['height'])) {
$height = $_image_data[1];
- }
- }
+ }
+ }
if (isset($params['dpi'])) {
if (strstr($_SERVER['HTTP_USER_AGENT'], 'Mac')) {
@@ -147,13 +153,11 @@ function smarty_function_html_image($params, $template)
$dpi_default = 72;
} else {
$dpi_default = 96;
- }
+ }
$_resize = $dpi_default / $params['dpi'];
$width = round($width * $_resize);
$height = round($height * $_resize);
- }
+ }
return $prefix . '<img src="' . $path_prefix . $file . '" alt="' . $alt . '" width="' . $width . '" height="' . $height . '"' . $extra . ' />' . $suffix;
-}
-
-?> \ No newline at end of file
+}
diff --git a/library/Smarty/libs/plugins/function.html_options.php b/library/Smarty/libs/plugins/function.html_options.php
index 46330e896..7ec3e065c 100644
--- a/library/Smarty/libs/plugins/function.html_options.php
+++ b/library/Smarty/libs/plugins/function.html_options.php
@@ -1,14 +1,13 @@
<?php
/**
* Smarty plugin
- *
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {html_options} function plugin
- *
* Type: function<br>
* Name: html_options<br>
* Purpose: Prints the list of <option> tags generated from
@@ -23,17 +22,18 @@
* - id (optional) - string default not set
* - class (optional) - string default not set
* </pre>
- *
- * @link http://www.smarty.net/manual/en/language.function.html.options.php {html_image}
- * (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author Ralf Strehle (minor optimization) <ralf dot strehle at yahoo dot de>
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
- * @return string
- * @uses smarty_function_escape_special_chars()
+ *
+ * @link http://www.smarty.net/manual/en/language.function.html.options.php {html_image}
+ * (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author Ralf Strehle (minor optimization) <ralf dot strehle at yahoo dot de>
+ *
+ * @param array $params parameters
+ *
+ * @return string
+ * @uses smarty_function_escape_special_chars()
*/
-function smarty_function_html_options($params, $template)
+function smarty_function_html_options($params)
{
require_once(SMARTY_PLUGINS_DIR . 'shared.escape_special_chars.php');
@@ -72,7 +72,7 @@ function smarty_function_html_options($params, $template)
if (method_exists($_sel, "__toString")) {
$_sel = smarty_function_escape_special_chars((string) $_sel->__toString());
} else {
- trigger_error("html_options: selected attribute contains an object of class '". get_class($_sel) ."' without __toString() method", E_USER_NOTICE);
+ trigger_error("html_options: selected attribute contains an object of class '" . get_class($_sel) . "' without __toString() method", E_USER_NOTICE);
continue;
}
} else {
@@ -84,25 +84,44 @@ function smarty_function_html_options($params, $template)
if (method_exists($_val, "__toString")) {
$selected = smarty_function_escape_special_chars((string) $_val->__toString());
} else {
- trigger_error("html_options: selected attribute is an object of class '". get_class($_val) ."' without __toString() method", E_USER_NOTICE);
+ trigger_error("html_options: selected attribute is an object of class '" . get_class($_val) . "' without __toString() method", E_USER_NOTICE);
}
} else {
$selected = smarty_function_escape_special_chars((string) $_val);
}
break;
+ case 'strict':
+ break;
+
+ case 'disabled':
+ case 'readonly':
+ if (!empty($params['strict'])) {
+ if (!is_scalar($_val)) {
+ trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE);
+ }
+
+ if ($_val === true || $_val === $_key) {
+ $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"';
+ }
+
+ break;
+ }
+ // omit break; to fall through!
+
default:
if (!is_array($_val)) {
$extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
} else {
trigger_error("html_options: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
- }
+ }
break;
- }
+ }
}
if (!isset($options) && !isset($values)) {
/* raise error here? */
+
return '';
}
@@ -117,14 +136,14 @@ function smarty_function_html_options($params, $template)
foreach ($values as $_i => $_key) {
$_val = isset($output[$_i]) ? $output[$_i] : '';
$_html_result .= smarty_function_html_options_optoutput($_key, $_val, $selected, $id, $class, $_idx);
- }
+ }
}
if (!empty($name)) {
- $_html_class = !empty($class) ? ' class="'.$class.'"' : '';
- $_html_id = !empty($id) ? ' id="'.$id.'"' : '';
+ $_html_class = !empty($class) ? ' class="' . $class . '"' : '';
+ $_html_id = !empty($id) ? ' id="' . $id . '"' : '';
$_html_result = '<select name="' . $name . '"' . $_html_class . $_html_id . $extra . '>' . "\n" . $_html_result . '</select>' . "\n";
- }
+ }
return $_html_result;
}
@@ -141,36 +160,37 @@ function smarty_function_html_options_optoutput($key, $value, $selected, $id, $c
} elseif ($_key === $selected) {
$_html_result .= ' selected="selected"';
}
- $_html_class = !empty($class) ? ' class="'.$class.' option"' : '';
- $_html_id = !empty($id) ? ' id="'.$id.'-'.$idx.'"' : '';
+ $_html_class = !empty($class) ? ' class="' . $class . ' option"' : '';
+ $_html_id = !empty($id) ? ' id="' . $id . '-' . $idx . '"' : '';
if (is_object($value)) {
if (method_exists($value, "__toString")) {
$value = smarty_function_escape_special_chars((string) $value->__toString());
} else {
- trigger_error("html_options: value is an object of class '". get_class($value) ."' without __toString() method", E_USER_NOTICE);
+ trigger_error("html_options: value is an object of class '" . get_class($value) . "' without __toString() method", E_USER_NOTICE);
+
return '';
}
} else {
$value = smarty_function_escape_special_chars((string) $value);
}
$_html_result .= $_html_class . $_html_id . '>' . $value . '</option>' . "\n";
- $idx++;
+ $idx ++;
} else {
$_idx = 0;
- $_html_result = smarty_function_html_options_optgroup($key, $value, $selected, !empty($id) ? ($id.'-'.$idx) : null, $class, $_idx);
- $idx++;
+ $_html_result = smarty_function_html_options_optgroup($key, $value, $selected, !empty($id) ? ($id . '-' . $idx) : null, $class, $_idx);
+ $idx ++;
}
+
return $_html_result;
-}
+}
function smarty_function_html_options_optgroup($key, $values, $selected, $id, $class, &$idx)
{
$optgroup_html = '<optgroup label="' . smarty_function_escape_special_chars($key) . '">' . "\n";
foreach ($values as $key => $value) {
$optgroup_html .= smarty_function_html_options_optoutput($key, $value, $selected, $id, $class, $idx);
- }
+ }
$optgroup_html .= "</optgroup>\n";
- return $optgroup_html;
-}
-?> \ No newline at end of file
+ return $optgroup_html;
+}
diff --git a/library/Smarty/libs/plugins/function.html_radios.php b/library/Smarty/libs/plugins/function.html_radios.php
index 7c830724a..f121d5eae 100644
--- a/library/Smarty/libs/plugins/function.html_radios.php
+++ b/library/Smarty/libs/plugins/function.html_radios.php
@@ -1,14 +1,13 @@
<?php
/**
* Smarty plugin
- *
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {html_radios} function plugin
- *
* File: function.html_radios.php<br>
* Type: function<br>
* Name: html_radios<br>
@@ -31,16 +30,18 @@
* {html_radios values=$ids name='box' separator='<br>' output=$names}
* {html_radios values=$ids checked=$checked separator='<br>' output=$names}
* </pre>
- *
- * @link http://smarty.php.net/manual/en/language.function.html.radios.php {html_radios}
- * (Smarty online manual)
- * @author Christopher Kvarme <christopher.kvarme@flashjab.com>
- * @author credits to Monte Ohrt <monte at ohrt dot com>
+ *
+ * @link http://smarty.php.net/manual/en/language.function.html.radios.php {html_radios}
+ * (Smarty online manual)
+ * @author Christopher Kvarme <christopher.kvarme@flashjab.com>
+ * @author credits to Monte Ohrt <monte at ohrt dot com>
* @version 1.0
+ *
* @param array $params parameters
* @param Smarty_Internal_Template $template template object
- * @return string
- * @uses smarty_function_escape_special_chars()
+ *
+ * @return string
+ * @uses smarty_function_escape_special_chars()
*/
function smarty_function_html_radios($params, $template)
{
@@ -57,7 +58,7 @@ function smarty_function_html_radios($params, $template)
$output = null;
$extra = '';
- foreach($params as $_key => $_val) {
+ foreach ($params as $_key => $_val) {
switch ($_key) {
case 'name':
case 'separator':
@@ -72,11 +73,11 @@ function smarty_function_html_radios($params, $template)
if (method_exists($_val, "__toString")) {
$selected = smarty_function_escape_special_chars((string) $_val->__toString());
} else {
- trigger_error("html_radios: selected attribute is an object of class '". get_class($_val) ."' without __toString() method", E_USER_NOTICE);
+ trigger_error("html_radios: selected attribute is an object of class '" . get_class($_val) . "' without __toString() method", E_USER_NOTICE);
}
} else {
$selected = (string) $_val;
- }
+ }
break;
case 'escape':
@@ -102,18 +103,37 @@ function smarty_function_html_radios($params, $template)
case 'assign':
break;
+ case 'strict':
+ break;
+
+ case 'disabled':
+ case 'readonly':
+ if (!empty($params['strict'])) {
+ if (!is_scalar($_val)) {
+ trigger_error("html_options: $_key attribute must be a scalar, only boolean true or string '$_key' will actually add the attribute", E_USER_NOTICE);
+ }
+
+ if ($_val === true || $_val === $_key) {
+ $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_key) . '"';
+ }
+
+ break;
+ }
+ // omit break; to fall through!
+
default:
if (!is_array($_val)) {
$extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"';
} else {
trigger_error("html_radios: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
- }
+ }
break;
- }
- }
+ }
+ }
if (!isset($options) && !isset($values)) {
/* raise error here? */
+
return '';
}
@@ -127,57 +147,59 @@ function smarty_function_html_radios($params, $template)
foreach ($values as $_i => $_key) {
$_val = isset($output[$_i]) ? $output[$_i] : '';
$_html_result[] = smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids, $escape);
- }
- }
+ }
+ }
if (!empty($params['assign'])) {
$template->assign($params['assign'], $_html_result);
} else {
return implode("\n", $_html_result);
- }
-}
+ }
+}
function smarty_function_html_radios_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape)
{
$_output = '';
-
+
if (is_object($value)) {
if (method_exists($value, "__toString")) {
$value = (string) $value->__toString();
} else {
- trigger_error("html_options: value is an object of class '". get_class($value) ."' without __toString() method", E_USER_NOTICE);
+ trigger_error("html_options: value is an object of class '" . get_class($value) . "' without __toString() method", E_USER_NOTICE);
+
return '';
}
} else {
$value = (string) $value;
}
-
+
if (is_object($output)) {
if (method_exists($output, "__toString")) {
$output = (string) $output->__toString();
} else {
- trigger_error("html_options: output is an object of class '". get_class($output) ."' without __toString() method", E_USER_NOTICE);
+ trigger_error("html_options: output is an object of class '" . get_class($output) . "' without __toString() method", E_USER_NOTICE);
+
return '';
}
} else {
$output = (string) $output;
}
-
+
if ($labels) {
if ($label_ids) {
$_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value));
$_output .= '<label for="' . $_id . '">';
} else {
$_output .= '<label>';
- }
+ }
}
-
+
$name = smarty_function_escape_special_chars($name);
$value = smarty_function_escape_special_chars($value);
if ($escape) {
$output = smarty_function_escape_special_chars($output);
}
-
+
$_output .= '<input type="radio" name="' . $name . '" value="' . $value . '"';
if ($labels && $label_ids) {
@@ -187,14 +209,13 @@ function smarty_function_html_radios_output($name, $value, $output, $selected, $
if ($value === $selected) {
$_output .= ' checked="checked"';
}
-
+
$_output .= $extra . ' />' . $output;
if ($labels) {
$_output .= '</label>';
}
-
+
$_output .= $separator;
- return $_output;
-}
-?> \ No newline at end of file
+ return $_output;
+}
diff --git a/library/Smarty/libs/plugins/function.html_select_date.php b/library/Smarty/libs/plugins/function.html_select_date.php
index 13c500354..d66256651 100644
--- a/library/Smarty/libs/plugins/function.html_select_date.php
+++ b/library/Smarty/libs/plugins/function.html_select_date.php
@@ -1,8 +1,8 @@
<?php
/**
* Smarty plugin
- *
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsFunction
*/
@@ -17,11 +17,9 @@ require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
/**
* Smarty {html_select_date} plugin
- *
* Type: function<br>
* Name: html_select_date<br>
* Purpose: Prints the dropdowns for date selection.
- *
* ChangeLog:
* <pre>
* - 1.0 initial release
@@ -37,21 +35,22 @@ require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
* dropdown to include given date unless explicitly set (Monte)
* - 1.3.4 fix behaviour of 0000-00-00 00:00:00 dates to match that
* of 0000-00-00 dates (cybot, boots)
- * - 2.0 complete rewrite for performance,
+ * - 2.0 complete rewrite for performance,
* added attributes month_names, *_id
* </pre>
- *
- * @link http://www.smarty.net/manual/en/language.function.html.select.date.php {html_select_date}
- * (Smarty online manual)
- * @version 2.0
- * @author Andrei Zmievski
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author Rodney Rehm
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
- * @return string
+ *
+ * @link http://www.smarty.net/manual/en/language.function.html.select.date.php {html_select_date}
+ * (Smarty online manual)
+ * @version 2.0
+ * @author Andrei Zmievski
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author Rodney Rehm
+ *
+ * @param array $params parameters
+ *
+ * @return string
*/
-function smarty_function_html_select_date($params, $template)
+function smarty_function_html_select_date($params)
{
// generate timestamps used for month names only
static $_month_timestamps = null;
@@ -59,7 +58,7 @@ function smarty_function_html_select_date($params, $template)
if ($_month_timestamps === null) {
$_current_year = date('Y');
$_month_timestamps = array();
- for ($i = 1; $i <= 12; $i++) {
+ for ($i = 1; $i <= 12; $i ++) {
$_month_timestamps[$i] = mktime(0, 0, 0, $i, 1, 2000);
}
}
@@ -120,7 +119,7 @@ function smarty_function_html_select_date($params, $template)
$time = smarty_make_timestamp($_value);
}
break;
-
+
case 'month_names':
if (is_array($_value) && count($_value) == 12) {
$$_key = $_value;
@@ -128,7 +127,7 @@ function smarty_function_html_select_date($params, $template)
trigger_error("html_select_date: month_names must be an array of 12 strings", E_USER_NOTICE);
}
break;
-
+
case 'prefix':
case 'field_array':
case 'start_year':
@@ -155,7 +154,7 @@ function smarty_function_html_select_date($params, $template)
case 'month_id':
case 'day_id':
case 'year_id':
- $$_key = (string)$_value;
+ $$_key = (string) $_value;
break;
case 'display_days':
@@ -163,7 +162,7 @@ function smarty_function_html_select_date($params, $template)
case 'display_years':
case 'year_as_text':
case 'reverse_years':
- $$_key = (bool)$_value;
+ $$_key = (bool) $_value;
break;
default:
@@ -171,32 +170,30 @@ function smarty_function_html_select_date($params, $template)
$extra_attrs .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_value) . '"';
} else {
trigger_error("html_select_date: extra attribute '$_key' cannot be an array", E_USER_NOTICE);
- }
+ }
break;
- }
+ }
}
-
+
// Note: date() is faster than strftime()
// Note: explode(date()) is faster than date() date() date()
if (isset($params['time']) && is_array($params['time'])) {
if (isset($params['time'][$prefix . 'Year'])) {
// $_REQUEST[$field_array] given
- foreach (array('Y' => 'Year', 'm' => 'Month', 'd' => 'Day') as $_elementKey => $_elementName) {
+ foreach (array('Y' => 'Year', 'm' => 'Month', 'd' => 'Day') as $_elementKey => $_elementName) {
$_variableName = '_' . strtolower($_elementName);
$$_variableName = isset($params['time'][$prefix . $_elementName])
? $params['time'][$prefix . $_elementName]
: date($_elementKey);
}
- $time = mktime(0, 0, 0, $_month, $_day, $_year);
} elseif (isset($params['time'][$field_array][$prefix . 'Year'])) {
// $_REQUEST given
- foreach (array('Y' => 'Year', 'm' => 'Month', 'd' => 'Day') as $_elementKey => $_elementName) {
+ foreach (array('Y' => 'Year', 'm' => 'Month', 'd' => 'Day') as $_elementKey => $_elementName) {
$_variableName = '_' . strtolower($_elementName);
$$_variableName = isset($params['time'][$field_array][$prefix . $_elementName])
? $params['time'][$field_array][$prefix . $_elementName]
: date($_elementKey);
}
- $time = mktime(0, 0, 0, $_month, $_day, $_year);
} else {
// no date found, use NOW
list($_year, $_month, $_day) = $time = explode('-', date('Y-m-d'));
@@ -217,13 +214,13 @@ function smarty_function_html_select_date($params, $template)
$key .= '_year';
$t = $$key;
if ($t === null) {
- $$key = (int)$_current_year;
- } else if ($t[0] == '+') {
- $$key = (int)($_current_year + trim(substr($t, 1)));
- } else if ($t[0] == '-') {
- $$key = (int)($_current_year - trim(substr($t, 1)));
+ $$key = (int) $_current_year;
+ } elseif ($t[0] == '+') {
+ $$key = (int) ($_current_year + (int)trim(substr($t, 1)));
+ } elseif ($t[0] == '-') {
+ $$key = (int) ($_current_year - (int)trim(substr($t, 1)));
} else {
- $$key = (int)$$key;
+ $$key = (int) $$key;
}
}
@@ -236,73 +233,71 @@ function smarty_function_html_select_date($params, $template)
// generate year <select> or <input>
if ($display_years) {
- $_html_years = '';
$_extra = '';
$_name = $field_array ? ($field_array . '[' . $prefix . 'Year]') : ($prefix . 'Year');
if ($all_extra) {
$_extra .= ' ' . $all_extra;
- }
+ }
if ($year_extra) {
$_extra .= ' ' . $year_extra;
}
-
+
if ($year_as_text) {
$_html_years = '<input type="text" name="' . $_name . '" value="' . $_year . '" size="4" maxlength="4"' . $_extra . $extra_attrs . ' />';
} else {
$_html_years = '<select name="' . $_name . '"';
if ($year_id !== null || $all_id !== null) {
- $_html_years .= ' id="' . smarty_function_escape_special_chars(
- $year_id !== null ? ( $year_id ? $year_id : $_name ) : ( $all_id ? ($all_id . $_name) : $_name )
- ) . '"';
+ $_html_years .= ' id="' . smarty_function_escape_special_chars(
+ $year_id !== null ? ($year_id ? $year_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
+ ) . '"';
}
if ($year_size) {
$_html_years .= ' size="' . $year_size . '"';
- }
+ }
$_html_years .= $_extra . $extra_attrs . '>' . $option_separator;
-
+
if (isset($year_empty) || isset($all_empty)) {
- $_html_years .= '<option value="">' . ( isset($year_empty) ? $year_empty : $all_empty ) . '</option>' . $option_separator;
+ $_html_years .= '<option value="">' . (isset($year_empty) ? $year_empty : $all_empty) . '</option>' . $option_separator;
}
-
- $op = $start_year > $end_year ? -1 : 1;
- for ($i=$start_year; $op > 0 ? $i <= $end_year : $i >= $end_year; $i += $op) {
+
+ $op = $start_year > $end_year ? - 1 : 1;
+ for ($i = $start_year; $op > 0 ? $i <= $end_year : $i >= $end_year; $i += $op) {
$_html_years .= '<option value="' . $i . '"'
. ($_year == $i ? ' selected="selected"' : '')
. '>' . $i . '</option>' . $option_separator;
}
-
+
$_html_years .= '</select>';
}
}
-
+
// generate month <select> or <input>
if ($display_months) {
- $_html_month = '';
$_extra = '';
$_name = $field_array ? ($field_array . '[' . $prefix . 'Month]') : ($prefix . 'Month');
if ($all_extra) {
$_extra .= ' ' . $all_extra;
- }
+ }
if ($month_extra) {
$_extra .= ' ' . $month_extra;
}
-
+
$_html_months = '<select name="' . $_name . '"';
if ($month_id !== null || $all_id !== null) {
- $_html_months .= ' id="' . smarty_function_escape_special_chars(
- $month_id !== null ? ( $month_id ? $month_id : $_name ) : ( $all_id ? ($all_id . $_name) : $_name )
- ) . '"';
+ $_html_months .= ' id="' . smarty_function_escape_special_chars(
+ $month_id !== null ? ($month_id ? $month_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
+ ) . '"';
}
if ($month_size) {
$_html_months .= ' size="' . $month_size . '"';
- }
+ }
$_html_months .= $_extra . $extra_attrs . '>' . $option_separator;
-
+
if (isset($month_empty) || isset($all_empty)) {
- $_html_months .= '<option value="">' . ( isset($month_empty) ? $month_empty : $all_empty ) . '</option>' . $option_separator;
+ $_html_months .= '<option value="">' . (isset($month_empty) ? $month_empty : $all_empty) . '</option>' . $option_separator;
}
-
- for ($i = 1; $i <= 12; $i++) {
+
+ for ($i = 1; $i <= 12; $i ++) {
$_val = sprintf('%02d', $i);
$_text = isset($month_names) ? smarty_function_escape_special_chars($month_names[$i]) : ($month_format == "%m" ? $_val : strftime($month_format, $_month_timestamps[$i]));
$_value = $month_value_format == "%m" ? $_val : strftime($month_value_format, $_month_timestamps[$i]);
@@ -310,52 +305,51 @@ function smarty_function_html_select_date($params, $template)
. ($_val == $_month ? ' selected="selected"' : '')
. '>' . $_text . '</option>' . $option_separator;
}
-
+
$_html_months .= '</select>';
}
-
+
// generate day <select> or <input>
if ($display_days) {
- $_html_day = '';
$_extra = '';
$_name = $field_array ? ($field_array . '[' . $prefix . 'Day]') : ($prefix . 'Day');
if ($all_extra) {
$_extra .= ' ' . $all_extra;
- }
+ }
if ($day_extra) {
$_extra .= ' ' . $day_extra;
}
-
+
$_html_days = '<select name="' . $_name . '"';
if ($day_id !== null || $all_id !== null) {
- $_html_days .= ' id="' . smarty_function_escape_special_chars(
- $day_id !== null ? ( $day_id ? $day_id : $_name ) : ( $all_id ? ($all_id . $_name) : $_name )
- ) . '"';
+ $_html_days .= ' id="' . smarty_function_escape_special_chars(
+ $day_id !== null ? ($day_id ? $day_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
+ ) . '"';
}
if ($day_size) {
$_html_days .= ' size="' . $day_size . '"';
- }
+ }
$_html_days .= $_extra . $extra_attrs . '>' . $option_separator;
-
+
if (isset($day_empty) || isset($all_empty)) {
- $_html_days .= '<option value="">' . ( isset($day_empty) ? $day_empty : $all_empty ) . '</option>' . $option_separator;
+ $_html_days .= '<option value="">' . (isset($day_empty) ? $day_empty : $all_empty) . '</option>' . $option_separator;
}
-
- for ($i = 1; $i <= 31; $i++) {
+
+ for ($i = 1; $i <= 31; $i ++) {
$_val = sprintf('%02d', $i);
$_text = $day_format == '%02d' ? $_val : sprintf($day_format, $i);
- $_value = $day_value_format == '%02d' ? $_val : sprintf($day_value_format, $i);
+ $_value = $day_value_format == '%02d' ? $_val : sprintf($day_value_format, $i);
$_html_days .= '<option value="' . $_value . '"'
. ($_val == $_day ? ' selected="selected"' : '')
. '>' . $_text . '</option>' . $option_separator;
}
-
+
$_html_days .= '</select>';
}
// order the fields for output
$_html = '';
- for ($i=0; $i <= 2; $i++) {
+ for ($i = 0; $i <= 2; $i ++) {
switch ($field_order[$i]) {
case 'Y':
case 'y':
@@ -365,8 +359,8 @@ function smarty_function_html_select_date($params, $template)
}
$_html .= $_html_years;
}
- break;
-
+ break;
+
case 'm':
case 'M':
if (isset($_html_months)) {
@@ -375,8 +369,8 @@ function smarty_function_html_select_date($params, $template)
}
$_html .= $_html_months;
}
- break;
-
+ break;
+
case 'd':
case 'D':
if (isset($_html_days)) {
@@ -385,10 +379,9 @@ function smarty_function_html_select_date($params, $template)
}
$_html .= $_html_days;
}
- break;
+ break;
}
}
+
return $_html;
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/function.html_select_time.php b/library/Smarty/libs/plugins/function.html_select_time.php
index 9fb8038e4..9af6aad5b 100644
--- a/library/Smarty/libs/plugins/function.html_select_time.php
+++ b/library/Smarty/libs/plugins/function.html_select_time.php
@@ -2,7 +2,7 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsFunction
*/
@@ -17,21 +17,21 @@ require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
/**
* Smarty {html_select_time} function plugin
- *
* Type: function<br>
* Name: html_select_time<br>
* Purpose: Prints the dropdowns for time selection
*
- * @link http://www.smarty.net/manual/en/language.function.html.select.time.php {html_select_time}
- * (Smarty online manual)
- * @author Roberto Berto <roberto@berto.net>
- * @author Monte Ohrt <monte AT ohrt DOT com>
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
+ * @link http://www.smarty.net/manual/en/language.function.html.select.time.php {html_select_time}
+ * (Smarty online manual)
+ * @author Roberto Berto <roberto@berto.net>
+ * @author Monte Ohrt <monte AT ohrt DOT com>
+ *
+ * @param array $params parameters
+ *
* @return string
- * @uses smarty_make_timestamp()
+ * @uses smarty_make_timestamp()
*/
-function smarty_function_html_select_time($params, $template)
+function smarty_function_html_select_time($params)
{
$prefix = "Time_";
$field_array = null;
@@ -117,7 +117,7 @@ function smarty_function_html_select_time($params, $template)
case 'minute_value_format':
case 'second_format':
case 'second_value_format':
- $$_key = (string)$_value;
+ $$_key = (string) $_value;
break;
case 'display_hours':
@@ -125,7 +125,7 @@ function smarty_function_html_select_time($params, $template)
case 'display_seconds':
case 'display_meridian':
case 'use_24_hours':
- $$_key = (bool)$_value;
+ $$_key = (bool) $_value;
break;
case 'minute_interval':
@@ -135,7 +135,7 @@ function smarty_function_html_select_time($params, $template)
case 'minute_size':
case 'second_size':
case 'meridian_size':
- $$_key = (int)$_value;
+ $$_key = (int) $_value;
break;
default:
@@ -151,7 +151,7 @@ function smarty_function_html_select_time($params, $template)
if (isset($params['time']) && is_array($params['time'])) {
if (isset($params['time'][$prefix . 'Hour'])) {
// $_REQUEST[$field_array] given
- foreach (array('H' => 'Hour', 'i' => 'Minute', 's' => 'Second') as $_elementKey => $_elementName) {
+ foreach (array('H' => 'Hour', 'i' => 'Minute', 's' => 'Second') as $_elementKey => $_elementName) {
$_variableName = '_' . strtolower($_elementName);
$$_variableName = isset($params['time'][$prefix . $_elementName])
? $params['time'][$prefix . $_elementName]
@@ -160,11 +160,11 @@ function smarty_function_html_select_time($params, $template)
$_meridian = isset($params['time'][$prefix . 'Meridian'])
? (' ' . $params['time'][$prefix . 'Meridian'])
: '';
- $time = strtotime( $_hour . ':' . $_minute . ':' . $_second . $_meridian );
+ $time = strtotime($_hour . ':' . $_minute . ':' . $_second . $_meridian);
list($_hour, $_minute, $_second) = $time = explode('-', date('H-i-s', $time));
} elseif (isset($params['time'][$field_array][$prefix . 'Hour'])) {
// $_REQUEST given
- foreach (array('H' => 'Hour', 'i' => 'Minute', 's' => 'Second') as $_elementKey => $_elementName) {
+ foreach (array('H' => 'Hour', 'i' => 'Minute', 's' => 'Second') as $_elementKey => $_elementName) {
$_variableName = '_' . strtolower($_elementName);
$$_variableName = isset($params['time'][$field_array][$prefix . $_elementName])
? $params['time'][$field_array][$prefix . $_elementName]
@@ -173,7 +173,7 @@ function smarty_function_html_select_time($params, $template)
$_meridian = isset($params['time'][$field_array][$prefix . 'Meridian'])
? (' ' . $params['time'][$field_array][$prefix . 'Meridian'])
: '';
- $time = strtotime( $_hour . ':' . $_minute . ':' . $_second . $_meridian );
+ $time = strtotime($_hour . ':' . $_minute . ':' . $_second . $_meridian);
list($_hour, $_minute, $_second) = $time = explode('-', date('H-i-s', $time));
} else {
// no date found, use NOW
@@ -204,8 +204,8 @@ function smarty_function_html_select_time($params, $template)
$_html_hours = '<select name="' . $_name . '"';
if ($hour_id !== null || $all_id !== null) {
$_html_hours .= ' id="' . smarty_function_escape_special_chars(
- $hour_id !== null ? ( $hour_id ? $hour_id : $_name ) : ( $all_id ? ($all_id . $_name) : $_name )
- ) . '"';
+ $hour_id !== null ? ($hour_id ? $hour_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
+ ) . '"';
}
if ($hour_size) {
$_html_hours .= ' size="' . $hour_size . '"';
@@ -213,12 +213,12 @@ function smarty_function_html_select_time($params, $template)
$_html_hours .= $_extra . $extra_attrs . '>' . $option_separator;
if (isset($hour_empty) || isset($all_empty)) {
- $_html_hours .= '<option value="">' . ( isset($hour_empty) ? $hour_empty : $all_empty ) . '</option>' . $option_separator;
+ $_html_hours .= '<option value="">' . (isset($hour_empty) ? $hour_empty : $all_empty) . '</option>' . $option_separator;
}
$start = $use_24_hours ? 0 : 1;
$end = $use_24_hours ? 23 : 12;
- for ($i=$start; $i <= $end; $i++) {
+ for ($i = $start; $i <= $end; $i ++) {
$_val = sprintf('%02d', $i);
$_text = $hour_format == '%02d' ? $_val : sprintf($hour_format, $i);
$_value = $hour_value_format == '%02d' ? $_val : sprintf($hour_value_format, $i);
@@ -226,7 +226,7 @@ function smarty_function_html_select_time($params, $template)
if (!$use_24_hours) {
$_hour12 = $_hour == 0
? 12
- : ($_hour <= 12 ? $_hour : $_hour -12);
+ : ($_hour <= 12 ? $_hour : $_hour - 12);
}
$selected = $_hour !== null ? ($use_24_hours ? $_hour == $_val : $_hour12 == $_val) : null;
@@ -253,8 +253,8 @@ function smarty_function_html_select_time($params, $template)
$_html_minutes = '<select name="' . $_name . '"';
if ($minute_id !== null || $all_id !== null) {
$_html_minutes .= ' id="' . smarty_function_escape_special_chars(
- $minute_id !== null ? ( $minute_id ? $minute_id : $_name ) : ( $all_id ? ($all_id . $_name) : $_name )
- ) . '"';
+ $minute_id !== null ? ($minute_id ? $minute_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
+ ) . '"';
}
if ($minute_size) {
$_html_minutes .= ' size="' . $minute_size . '"';
@@ -262,11 +262,11 @@ function smarty_function_html_select_time($params, $template)
$_html_minutes .= $_extra . $extra_attrs . '>' . $option_separator;
if (isset($minute_empty) || isset($all_empty)) {
- $_html_minutes .= '<option value="">' . ( isset($minute_empty) ? $minute_empty : $all_empty ) . '</option>' . $option_separator;
+ $_html_minutes .= '<option value="">' . (isset($minute_empty) ? $minute_empty : $all_empty) . '</option>' . $option_separator;
}
$selected = $_minute !== null ? ($_minute - $_minute % $minute_interval) : null;
- for ($i=0; $i <= 59; $i += $minute_interval) {
+ for ($i = 0; $i <= 59; $i += $minute_interval) {
$_val = sprintf('%02d', $i);
$_text = $minute_format == '%02d' ? $_val : sprintf($minute_format, $i);
$_value = $minute_value_format == '%02d' ? $_val : sprintf($minute_value_format, $i);
@@ -293,8 +293,8 @@ function smarty_function_html_select_time($params, $template)
$_html_seconds = '<select name="' . $_name . '"';
if ($second_id !== null || $all_id !== null) {
$_html_seconds .= ' id="' . smarty_function_escape_special_chars(
- $second_id !== null ? ( $second_id ? $second_id : $_name ) : ( $all_id ? ($all_id . $_name) : $_name )
- ) . '"';
+ $second_id !== null ? ($second_id ? $second_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
+ ) . '"';
}
if ($second_size) {
$_html_seconds .= ' size="' . $second_size . '"';
@@ -302,11 +302,11 @@ function smarty_function_html_select_time($params, $template)
$_html_seconds .= $_extra . $extra_attrs . '>' . $option_separator;
if (isset($second_empty) || isset($all_empty)) {
- $_html_seconds .= '<option value="">' . ( isset($second_empty) ? $second_empty : $all_empty ) . '</option>' . $option_separator;
+ $_html_seconds .= '<option value="">' . (isset($second_empty) ? $second_empty : $all_empty) . '</option>' . $option_separator;
}
$selected = $_second !== null ? ($_second - $_second % $second_interval) : null;
- for ($i=0; $i <= 59; $i += $second_interval) {
+ for ($i = 0; $i <= 59; $i += $second_interval) {
$_val = sprintf('%02d', $i);
$_text = $second_format == '%02d' ? $_val : sprintf($second_format, $i);
$_value = $second_value_format == '%02d' ? $_val : sprintf($second_value_format, $i);
@@ -333,8 +333,8 @@ function smarty_function_html_select_time($params, $template)
$_html_meridian = '<select name="' . $_name . '"';
if ($meridian_id !== null || $all_id !== null) {
$_html_meridian .= ' id="' . smarty_function_escape_special_chars(
- $meridian_id !== null ? ( $meridian_id ? $meridian_id : $_name ) : ( $all_id ? ($all_id . $_name) : $_name )
- ) . '"';
+ $meridian_id !== null ? ($meridian_id ? $meridian_id : $_name) : ($all_id ? ($all_id . $_name) : $_name)
+ ) . '"';
}
if ($meridian_size) {
$_html_meridian .= ' size="' . $meridian_size . '"';
@@ -342,11 +342,11 @@ function smarty_function_html_select_time($params, $template)
$_html_meridian .= $_extra . $extra_attrs . '>' . $option_separator;
if (isset($meridian_empty) || isset($all_empty)) {
- $_html_meridian .= '<option value="">' . ( isset($meridian_empty) ? $meridian_empty : $all_empty ) . '</option>' . $option_separator;
+ $_html_meridian .= '<option value="">' . (isset($meridian_empty) ? $meridian_empty : $all_empty) . '</option>' . $option_separator;
}
- $_html_meridian .= '<option value="am"'. ($_hour < 12 ? ' selected="selected"' : '') .'>AM</option>' . $option_separator
- . '<option value="pm"'. ($_hour < 12 ? '' : ' selected="selected"') .'>PM</option>' . $option_separator
+ $_html_meridian .= '<option value="am"' . ($_hour > 0 && $_hour < 12 ? ' selected="selected"' : '') . '>AM</option>' . $option_separator
+ . '<option value="pm"' . ($_hour < 12 ? '' : ' selected="selected"') . '>PM</option>' . $option_separator
. '</select>';
}
@@ -362,5 +362,3 @@ function smarty_function_html_select_time($params, $template)
return $_html;
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/function.html_table.php b/library/Smarty/libs/plugins/function.html_table.php
index 6b9cb9d12..ec7ba48a4 100644
--- a/library/Smarty/libs/plugins/function.html_table.php
+++ b/library/Smarty/libs/plugins/function.html_table.php
@@ -2,13 +2,12 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {html_table} function plugin
- *
* Type: function<br>
* Name: html_table<br>
* Date: Feb 17, 2003<br>
@@ -37,17 +36,18 @@
* {table loop=$data cols="first,second,third" tr_attr=$colors}
* </pre>
*
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author credit to Messju Mohr <messju at lammfellpuschen dot de>
- * @author credit to boots <boots dot smarty at yahoo dot com>
- * @version 1.1
- * @link http://www.smarty.net/manual/en/language.function.html.table.php {html_table}
- * (Smarty online manual)
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author credit to Messju Mohr <messju at lammfellpuschen dot de>
+ * @author credit to boots <boots dot smarty at yahoo dot com>
+ * @version 1.1
+ * @link http://www.smarty.net/manual/en/language.function.html.table.php {html_table}
+ * (Smarty online manual)
+ *
+ * @param array $params parameters
+ *
* @return string
*/
-function smarty_function_html_table($params, $template)
+function smarty_function_html_table($params)
{
$table_attr = 'border="1"';
$tr_attr = '';
@@ -63,14 +63,15 @@ function smarty_function_html_table($params, $template)
$loop = null;
if (!isset($params['loop'])) {
- trigger_error("html_table: missing 'loop' parameter",E_USER_WARNING);
+ trigger_error("html_table: missing 'loop' parameter", E_USER_WARNING);
+
return;
}
foreach ($params as $_key => $_value) {
switch ($_key) {
case 'loop':
- $$_key = (array)$_value;
+ $$_key = (array) $_value;
break;
case 'cols':
@@ -81,14 +82,14 @@ function smarty_function_html_table($params, $template)
$cols = explode(',', $_value);
$cols_count = count($cols);
} elseif (!empty($_value)) {
- $cols_count = (int)$_value;
+ $cols_count = (int) $_value;
} else {
$cols_count = $cols;
}
break;
case 'rows':
- $$_key = (int)$_value;
+ $$_key = (int) $_value;
break;
case 'table_attr':
@@ -97,7 +98,7 @@ function smarty_function_html_table($params, $template)
case 'vdir':
case 'inner':
case 'caption':
- $$_key = (string)$_value;
+ $$_key = (string) $_value;
break;
case 'tr_attr':
@@ -129,7 +130,7 @@ function smarty_function_html_table($params, $template)
$cols = ($hdir == 'right') ? $cols : array_reverse($cols);
$output .= "<thead><tr>\n";
- for ($r = 0; $r < $cols_count; $r++) {
+ for ($r = 0; $r < $cols_count; $r ++) {
$output .= '<th' . smarty_function_html_table_cycle('th', $th_attr, $r) . '>';
$output .= $cols[$r];
$output .= "</th>\n";
@@ -138,12 +139,12 @@ function smarty_function_html_table($params, $template)
}
$output .= "<tbody>\n";
- for ($r = 0; $r < $rows; $r++) {
+ for ($r = 0; $r < $rows; $r ++) {
$output .= "<tr" . smarty_function_html_table_cycle('tr', $tr_attr, $r) . ">\n";
- $rx = ($vdir == 'down') ? $r * $cols_count : ($rows-1 - $r) * $cols_count;
+ $rx = ($vdir == 'down') ? $r * $cols_count : ($rows - 1 - $r) * $cols_count;
- for ($c = 0; $c < $cols_count; $c++) {
- $x = ($hdir == 'right') ? $rx + $c : $rx + $cols_count-1 - $c;
+ for ($c = 0; $c < $cols_count; $c ++) {
+ $x = ($hdir == 'right') ? $rx + $c : $rx + $cols_count - 1 - $c;
if ($inner != 'cols') {
/* shuffle x to loop over rows*/
$x = floor($x / $cols_count) + ($x % $cols_count) * $rows;
@@ -173,5 +174,3 @@ function smarty_function_html_table_cycle($name, $var, $no)
return ($ret) ? ' ' . $ret : '';
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/function.mailto.php b/library/Smarty/libs/plugins/function.mailto.php
index 55d5c0602..520fb7aa6 100644
--- a/library/Smarty/libs/plugins/function.mailto.php
+++ b/library/Smarty/libs/plugins/function.mailto.php
@@ -2,13 +2,12 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {mailto} function plugin
- *
* Type: function<br>
* Name: mailto<br>
* Date: May 21, 2002
@@ -39,22 +38,24 @@
* {mailto address="me@domain.com" extra='class="mailto"'}
* </pre>
*
- * @link http://www.smarty.net/manual/en/language.function.mailto.php {mailto}
- * (Smarty online manual)
- * @version 1.2
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author credits to Jason Sweat (added cc, bcc and subject functionality)
- * @param array $params parameters
- * @param Smarty_Internal_Template $template template object
+ * @link http://www.smarty.net/manual/en/language.function.mailto.php {mailto}
+ * (Smarty online manual)
+ * @version 1.2
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author credits to Jason Sweat (added cc, bcc and subject functionality)
+ *
+ * @param array $params parameters
+ *
* @return string
*/
-function smarty_function_mailto($params, $template)
+function smarty_function_mailto($params)
{
static $_allowed_encoding = array('javascript' => true, 'javascript_charcode' => true, 'hex' => true, 'none' => true);
$extra = '';
if (empty($params['address'])) {
- trigger_error("mailto: missing 'address' parameter",E_USER_WARNING);
+ trigger_error("mailto: missing 'address' parameter", E_USER_WARNING);
+
return;
} else {
$address = $params['address'];
@@ -71,8 +72,9 @@ function smarty_function_mailto($params, $template)
case 'cc':
case 'bcc':
case 'followupto':
- if (!empty($value))
- $mail_parms[] = $var . '=' . str_replace($search, $replace, rawurlencode($value));
+ if (!empty($value)) {
+ $mail_parms[] = $var . '=' . str_replace($search, $replace, rawurlencode($value));
+ }
break;
case 'subject':
@@ -91,10 +93,11 @@ function smarty_function_mailto($params, $template)
if ($mail_parms) {
$address .= '?' . join('&', $mail_parms);
}
-
+
$encode = (empty($params['encode'])) ? 'none' : $params['encode'];
if (!isset($_allowed_encoding[$encode])) {
trigger_error("mailto: 'encode' parameter must be none, javascript, javascript_charcode or hex", E_USER_WARNING);
+
return;
}
// FIXME: (rodneyrehm) document.write() excues me what? 1998 has passed!
@@ -102,7 +105,7 @@ function smarty_function_mailto($params, $template)
$string = 'document.write(\'<a href="mailto:' . $address . '" ' . $extra . '>' . $text . '</a>\');';
$js_encode = '';
- for ($x = 0, $_length = strlen($string); $x < $_length; $x++) {
+ for ($x = 0, $_length = strlen($string); $x < $_length; $x ++) {
$js_encode .= '%' . bin2hex($string[$x]);
}
@@ -110,7 +113,7 @@ function smarty_function_mailto($params, $template)
} elseif ($encode == 'javascript_charcode') {
$string = '<a href="mailto:' . $address . '" ' . $extra . '>' . $text . '</a>';
- for($x = 0, $y = strlen($string); $x < $y; $x++) {
+ for ($x = 0, $y = strlen($string); $x < $y; $x ++) {
$ord[] = ord($string[$x]);
}
@@ -125,11 +128,12 @@ function smarty_function_mailto($params, $template)
} elseif ($encode == 'hex') {
preg_match('!^(.*)(\?.*)$!', $address, $match);
if (!empty($match[2])) {
- trigger_error("mailto: hex encoding does not work with extra attributes. Try javascript.",E_USER_WARNING);
+ trigger_error("mailto: hex encoding does not work with extra attributes. Try javascript.", E_USER_WARNING);
+
return;
}
$address_encode = '';
- for ($x = 0, $_length = strlen($address); $x < $_length; $x++) {
+ for ($x = 0, $_length = strlen($address); $x < $_length; $x ++) {
if (preg_match('!\w!' . Smarty::$_UTF8_MODIFIER, $address[$x])) {
$address_encode .= '%' . bin2hex($address[$x]);
} else {
@@ -137,16 +141,15 @@ function smarty_function_mailto($params, $template)
}
}
$text_encode = '';
- for ($x = 0, $_length = strlen($text); $x < $_length; $x++) {
+ for ($x = 0, $_length = strlen($text); $x < $_length; $x ++) {
$text_encode .= '&#x' . bin2hex($text[$x]) . ';';
}
$mailto = "&#109;&#97;&#105;&#108;&#116;&#111;&#58;";
+
return '<a href="' . $mailto . $address_encode . '" ' . $extra . '>' . $text_encode . '</a>';
} else {
// no encoding
return '<a href="mailto:' . $address . '" ' . $extra . '>' . $text . '</a>';
}
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/function.math.php b/library/Smarty/libs/plugins/function.math.php
index f4d3f05ee..aba76e825 100644
--- a/library/Smarty/libs/plugins/function.math.php
+++ b/library/Smarty/libs/plugins/function.math.php
@@ -1,87 +1,91 @@
<?php
/**
* Smarty plugin
- *
* This plugin is only for Smarty2 BC
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsFunction
*/
/**
* Smarty {math} function plugin
- *
* Type: function<br>
* Name: math<br>
* Purpose: handle math computations in template
*
- * @link http://www.smarty.net/manual/en/language.function.math.php {math}
- * (Smarty online manual)
+ * @link http://www.smarty.net/manual/en/language.function.math.php {math}
+ * (Smarty online manual)
* @author Monte Ohrt <monte at ohrt dot com>
+ *
* @param array $params parameters
* @param Smarty_Internal_Template $template template object
+ *
* @return string|null
*/
function smarty_function_math($params, $template)
{
static $_allowed_funcs = array(
- 'int' => true, 'abs' => true, 'ceil' => true, 'cos' => true, 'exp' => true, 'floor' => true,
- 'log' => true, 'log10' => true, 'max' => true, 'min' => true, 'pi' => true, 'pow' => true,
- 'rand' => true, 'round' => true, 'sin' => true, 'sqrt' => true, 'srand' => true ,'tan' => true
+ 'int' => true, 'abs' => true, 'ceil' => true, 'cos' => true, 'exp' => true, 'floor' => true,
+ 'log' => true, 'log10' => true, 'max' => true, 'min' => true, 'pi' => true, 'pow' => true,
+ 'rand' => true, 'round' => true, 'sin' => true, 'sqrt' => true, 'srand' => true, 'tan' => true
);
// be sure equation parameter is present
if (empty($params['equation'])) {
- trigger_error("math: missing equation parameter",E_USER_WARNING);
+ trigger_error("math: missing equation parameter", E_USER_WARNING);
+
return;
}
$equation = $params['equation'];
// make sure parenthesis are balanced
- if (substr_count($equation,"(") != substr_count($equation,")")) {
- trigger_error("math: unbalanced parenthesis",E_USER_WARNING);
+ if (substr_count($equation, "(") != substr_count($equation, ")")) {
+ trigger_error("math: unbalanced parenthesis", E_USER_WARNING);
+
return;
}
// match all vars in equation, make sure all are passed
- preg_match_all("!(?:0x[a-fA-F0-9]+)|([a-zA-Z][a-zA-Z0-9_]*)!",$equation, $match);
+ preg_match_all("!(?:0x[a-fA-F0-9]+)|([a-zA-Z][a-zA-Z0-9_]*)!", $equation, $match);
- foreach($match[1] as $curr_var) {
+ foreach ($match[1] as $curr_var) {
if ($curr_var && !isset($params[$curr_var]) && !isset($_allowed_funcs[$curr_var])) {
- trigger_error("math: function call $curr_var not allowed",E_USER_WARNING);
+ trigger_error("math: function call $curr_var not allowed", E_USER_WARNING);
+
return;
}
}
- foreach($params as $key => $val) {
+ foreach ($params as $key => $val) {
if ($key != "equation" && $key != "format" && $key != "assign") {
// make sure value is not empty
- if (strlen($val)==0) {
- trigger_error("math: parameter $key is empty",E_USER_WARNING);
+ if (strlen($val) == 0) {
+ trigger_error("math: parameter $key is empty", E_USER_WARNING);
+
return;
}
if (!is_numeric($val)) {
- trigger_error("math: parameter $key: is not numeric",E_USER_WARNING);
+ trigger_error("math: parameter $key: is not numeric", E_USER_WARNING);
+
return;
}
$equation = preg_replace("/\b$key\b/", " \$params['$key'] ", $equation);
}
}
$smarty_math_result = null;
- eval("\$smarty_math_result = ".$equation.";");
+ eval("\$smarty_math_result = " . $equation . ";");
if (empty($params['format'])) {
if (empty($params['assign'])) {
return $smarty_math_result;
} else {
- $template->assign($params['assign'],$smarty_math_result);
+ $template->assign($params['assign'], $smarty_math_result);
}
} else {
- if (empty($params['assign'])){
- printf($params['format'],$smarty_math_result);
+ if (empty($params['assign'])) {
+ printf($params['format'], $smarty_math_result);
} else {
- $template->assign($params['assign'],sprintf($params['format'],$smarty_math_result));
+ $template->assign($params['assign'], sprintf($params['format'], $smarty_math_result));
}
}
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/modifier.capitalize.php b/library/Smarty/libs/plugins/modifier.capitalize.php
index a78e3632a..a8ad76370 100644
--- a/library/Smarty/libs/plugins/modifier.capitalize.php
+++ b/library/Smarty/libs/plugins/modifier.capitalize.php
@@ -1,25 +1,24 @@
<?php
/**
* Smarty plugin
- *
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsModifier
*/
/**
* Smarty capitalize modifier plugin
- *
* Type: modifier<br>
* Name: capitalize<br>
* Purpose: capitalize words in the string
- *
* {@internal {$string|capitalize:true:true} is the fastest option for MBString enabled systems }}
*
* @param string $string string to capitalize
* @param boolean $uc_digits also capitalize "x123" to "X123"
* @param boolean $lc_rest capitalize first letters, lowercase all following letters "aAa" to "Aaa"
+ *
* @return string capitalized string
- * @author Monte Ohrt <monte at ohrt dot com>
+ * @author Monte Ohrt <monte at ohrt dot com>
* @author Rodney Rehm
*/
function smarty_modifier_capitalize($string, $uc_digits = false, $lc_rest = false)
@@ -27,39 +26,65 @@ function smarty_modifier_capitalize($string, $uc_digits = false, $lc_rest = fals
if (Smarty::$_MBSTRING) {
if ($lc_rest) {
// uppercase (including hyphenated words)
- $upper_string = mb_convert_case( $string, MB_CASE_TITLE, Smarty::$_CHARSET );
+ $upper_string = mb_convert_case($string, MB_CASE_TITLE, Smarty::$_CHARSET);
} else {
// uppercase word breaks
- $upper_string = preg_replace("!(^|[^\p{L}'])([\p{Ll}])!eS" . Smarty::$_UTF8_MODIFIER, "stripslashes('\\1').mb_convert_case(stripslashes('\\2'),MB_CASE_UPPER, '" . addslashes(Smarty::$_CHARSET) . "')", $string);
+ $upper_string = preg_replace_callback("!(^|[^\p{L}'])([\p{Ll}])!S" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_mbconvert_cb', $string);
}
// check uc_digits case
if (!$uc_digits) {
if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!" . Smarty::$_UTF8_MODIFIER, $string, $matches, PREG_OFFSET_CAPTURE)) {
- foreach($matches[1] as $match) {
+ foreach ($matches[1] as $match) {
$upper_string = substr_replace($upper_string, mb_strtolower($match[0], Smarty::$_CHARSET), $match[1], strlen($match[0]));
}
- }
+ }
}
- $upper_string = preg_replace("!((^|\s)['\"])(\w)!e" . Smarty::$_UTF8_MODIFIER, "stripslashes('\\1').mb_convert_case(stripslashes('\\3'),MB_CASE_UPPER, '" . addslashes(Smarty::$_CHARSET) . "')", $upper_string);
+ $upper_string = preg_replace_callback("!((^|\s)['\"])(\w)!" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_mbconvert2_cb', $upper_string);
return $upper_string;
}
-
+
// lowercase first
if ($lc_rest) {
$string = strtolower($string);
}
// uppercase (including hyphenated words)
- $upper_string = preg_replace("!(^|[^\p{L}'])([\p{Ll}])!eS" . Smarty::$_UTF8_MODIFIER, "stripslashes('\\1').ucfirst(stripslashes('\\2'))", $string);
+ $upper_string = preg_replace_callback("!(^|[^\p{L}'])([\p{Ll}])!S" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_ucfirst_cb', $string);
// check uc_digits case
if (!$uc_digits) {
if (preg_match_all("!\b([\p{L}]*[\p{N}]+[\p{L}]*)\b!" . Smarty::$_UTF8_MODIFIER, $string, $matches, PREG_OFFSET_CAPTURE)) {
- foreach($matches[1] as $match) {
+ foreach ($matches[1] as $match) {
$upper_string = substr_replace($upper_string, strtolower($match[0]), $match[1], strlen($match[0]));
}
- }
+ }
}
- $upper_string = preg_replace("!((^|\s)['\"])(\w)!e" . Smarty::$_UTF8_MODIFIER, "stripslashes('\\1').strtoupper(stripslashes('\\3'))", $upper_string);
+ $upper_string = preg_replace_callback("!((^|\s)['\"])(\w)!" . Smarty::$_UTF8_MODIFIER, 'smarty_mod_cap_ucfirst2_cb', $upper_string);
return $upper_string;
-}
+}
+
+/*
+ *
+ * Bug: create_function() use exhausts memory when used in long loops
+ * Fix: use declared functions for callbacks instead of using create_function()
+ * Note: This can be fixed using anonymous functions instead, but that requires PHP >= 5.3
+ *
+ * @author Kyle Renfrow
+ */
+function smarty_mod_cap_mbconvert_cb($matches)
+{
+ return stripslashes($matches[1]) . mb_convert_case(stripslashes($matches[2]), MB_CASE_UPPER, Smarty::$_CHARSET);
+}
+
+function smarty_mod_cap_mbconvert2_cb($matches)
+{
+ return stripslashes($matches[1]) . mb_convert_case(stripslashes($matches[3]), MB_CASE_UPPER, Smarty::$_CHARSET);
+}
+
+function smarty_mod_cap_ucfirst_cb($matches)
+{
+ return stripslashes($matches[1]) . ucfirst(stripslashes($matches[2]));
+}
-?> \ No newline at end of file
+function smarty_mod_cap_ucfirst2_cb($matches)
+{
+ return stripslashes($matches[1]) . ucfirst(stripslashes($matches[3]));
+}
diff --git a/library/Smarty/libs/plugins/modifier.date_format.php b/library/Smarty/libs/plugins/modifier.date_format.php
index f3eaba057..5ad7540b1 100644
--- a/library/Smarty/libs/plugins/modifier.date_format.php
+++ b/library/Smarty/libs/plugins/modifier.date_format.php
@@ -1,14 +1,13 @@
<?php
/**
* Smarty plugin
- *
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsModifier
*/
/**
* Smarty date_format modifier plugin
- *
* Type: modifier<br>
* Name: date_format<br>
* Purpose: format datestamps via strftime<br>
@@ -16,24 +15,26 @@
* - string: input date string
* - format: strftime format for output
* - default_date: default date if $string is empty
- *
- * @link http://www.smarty.net/manual/en/language.modifier.date.format.php date_format (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.date.format.php date_format (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
+ *
* @param string $string input date string
* @param string $format strftime format for output
* @param string $default_date default date if $string is empty
* @param string $formatter either 'strftime' or 'auto'
+ *
* @return string |void
- * @uses smarty_make_timestamp()
+ * @uses smarty_make_timestamp()
*/
-function smarty_modifier_date_format($string, $format=null, $default_date='', $formatter='auto')
+function smarty_modifier_date_format($string, $format = null, $default_date = '', $formatter = 'auto')
{
if ($format === null) {
$format = Smarty::$_DATE_FORMAT;
}
/**
- * Include the {@link shared.make_timestamp.php} plugin
- */
+ * Include the {@link shared.make_timestamp.php} plugin
+ */
require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
if ($string != '' && $string != '0000-00-00' && $string != '0000-00-00 00:00:00') {
$timestamp = smarty_make_timestamp($string);
@@ -41,25 +42,24 @@ function smarty_modifier_date_format($string, $format=null, $default_date='', $f
$timestamp = smarty_make_timestamp($default_date);
} else {
return;
- }
- if($formatter=='strftime'||($formatter=='auto'&&strpos($format,'%')!==false)) {
+ }
+ if ($formatter == 'strftime' || ($formatter == 'auto' && strpos($format, '%') !== false)) {
if (DS == '\\') {
$_win_from = array('%D', '%h', '%n', '%r', '%R', '%t', '%T');
$_win_to = array('%m/%d/%y', '%b', "\n", '%I:%M:%S %p', '%H:%M', "\t", '%H:%M:%S');
if (strpos($format, '%e') !== false) {
$_win_from[] = '%e';
$_win_to[] = sprintf('%\' 2d', date('j', $timestamp));
- }
+ }
if (strpos($format, '%l') !== false) {
$_win_from[] = '%l';
$_win_to[] = sprintf('%\' 2d', date('h', $timestamp));
- }
+ }
$format = str_replace($_win_from, $_win_to, $format);
- }
+ }
+
return strftime($format, $timestamp);
} else {
return date($format, $timestamp);
}
-}
-
-?> \ No newline at end of file
+}
diff --git a/library/Smarty/libs/plugins/modifier.debug_print_var.php b/library/Smarty/libs/plugins/modifier.debug_print_var.php
index fa44100e8..66363d253 100644
--- a/library/Smarty/libs/plugins/modifier.debug_print_var.php
+++ b/library/Smarty/libs/plugins/modifier.debug_print_var.php
@@ -1,53 +1,54 @@
<?php
/**
* Smarty plugin
- *
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage Debug
*/
/**
* Smarty debug_print_var modifier plugin
- *
* Type: modifier<br>
* Name: debug_print_var<br>
* Purpose: formats variable contents for display in the console
*
- * @author Monte Ohrt <monte at ohrt dot com>
- * @param array|object $var variable to be formatted
- * @param integer $depth maximum recursion depth if $var is an array
- * @param integer $length maximum string length if $var is a string
- * @return string
+ * @author Monte Ohrt <monte at ohrt dot com>
+ *
+ * @param array|object $var variable to be formatted
+ * @param integer $depth maximum recursion depth if $var is an array
+ * @param integer $length maximum string length if $var is a string
+ *
+ * @return string
*/
-function smarty_modifier_debug_print_var ($var, $depth = 0, $length = 40)
+function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40)
{
$_replace = array("\n" => '<i>\n</i>',
- "\r" => '<i>\r</i>',
- "\t" => '<i>\t</i>'
- );
+ "\r" => '<i>\r</i>',
+ "\t" => '<i>\t</i>'
+ );
switch (gettype($var)) {
case 'array' :
$results = '<b>Array (' . count($var) . ')</b>';
foreach ($var as $curr_key => $curr_val) {
$results .= '<br>' . str_repeat('&nbsp;', $depth * 2)
- . '<b>' . strtr($curr_key, $_replace) . '</b> =&gt; '
- . smarty_modifier_debug_print_var($curr_val, ++$depth, $length);
- $depth--;
- }
+ . '<b>' . strtr($curr_key, $_replace) . '</b> =&gt; '
+ . smarty_modifier_debug_print_var($curr_val, ++$depth, $length);
+ $depth --;
+ }
break;
-
+
case 'object' :
$object_vars = get_object_vars($var);
$results = '<b>' . get_class($var) . ' Object (' . count($object_vars) . ')</b>';
foreach ($object_vars as $curr_key => $curr_val) {
$results .= '<br>' . str_repeat('&nbsp;', $depth * 2)
- . '<b> -&gt;' . strtr($curr_key, $_replace) . '</b> = '
- . smarty_modifier_debug_print_var($curr_val, ++$depth, $length);
- $depth--;
- }
+ . '<b> -&gt;' . strtr($curr_key, $_replace) . '</b> = '
+ . smarty_modifier_debug_print_var($curr_val, ++$depth, $length);
+ $depth --;
+ }
break;
-
+
case 'boolean' :
case 'NULL' :
case 'resource' :
@@ -59,15 +60,15 @@ function smarty_modifier_debug_print_var ($var, $depth = 0, $length = 40)
$results = 'null';
} else {
$results = htmlspecialchars((string) $var);
- }
+ }
$results = '<i>' . $results . '</i>';
break;
-
+
case 'integer' :
case 'float' :
$results = htmlspecialchars((string) $var);
break;
-
+
case 'string' :
$results = strtr($var, $_replace);
if (Smarty::$_MBSTRING) {
@@ -82,7 +83,7 @@ function smarty_modifier_debug_print_var ($var, $depth = 0, $length = 40)
$results = htmlspecialchars('"' . $results . '"');
break;
-
+
case 'unknown type' :
default :
$results = strtr((string) $var, $_replace);
@@ -95,11 +96,9 @@ function smarty_modifier_debug_print_var ($var, $depth = 0, $length = 40)
$results = substr($results, 0, $length - 3) . '...';
}
}
-
+
$results = htmlspecialchars($results);
- }
+ }
return $results;
-}
-
-?> \ No newline at end of file
+}
diff --git a/library/Smarty/libs/plugins/modifier.escape.php b/library/Smarty/libs/plugins/modifier.escape.php
index 32d185fce..9fdb0702f 100644
--- a/library/Smarty/libs/plugins/modifier.escape.php
+++ b/library/Smarty/libs/plugins/modifier.escape.php
@@ -2,23 +2,24 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsModifier
*/
/**
* Smarty escape modifier plugin
- *
* Type: modifier<br>
* Name: escape<br>
* Purpose: escape string for output
*
- * @link http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
+ * @link http://www.smarty.net/docs/en/language.modifier.escape
* @author Monte Ohrt <monte at ohrt dot com>
+ *
* @param string $string input string
* @param string $esc_type escape type
* @param string $char_set character set, used for htmlspecialchars() or htmlentities()
* @param boolean $double_encode encode already encoded entitites again, used for htmlspecialchars() or htmlentities()
+ *
* @return string escaped input string
*/
function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $double_encode = true)
@@ -27,7 +28,7 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
if ($_double_encode === null) {
$_double_encode = version_compare(PHP_VERSION, '5.2.3', '>=');
}
-
+
if (!$char_set) {
$char_set = Smarty::$_CHARSET;
}
@@ -39,13 +40,14 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
return htmlspecialchars($string, ENT_QUOTES, $char_set, $double_encode);
} else {
if ($double_encode) {
- // php <5.3.2 - only handle double encoding
+ // php <5.2.3 - only handle double encoding
return htmlspecialchars($string, ENT_QUOTES, $char_set);
} else {
- // php <5.3.2 - prevent double encoding
+ // php <5.2.3 - prevent double encoding
$string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
$string = htmlspecialchars($string, ENT_QUOTES, $char_set);
$string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string);
+
return $string;
}
}
@@ -58,17 +60,18 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
$string = htmlspecialchars($string, ENT_QUOTES, $char_set, $double_encode);
} else {
if ($double_encode) {
- // php <5.3.2 - only handle double encoding
+ // php <5.2.3 - only handle double encoding
$string = htmlspecialchars($string, ENT_QUOTES, $char_set);
} else {
- // php <5.3.2 - prevent double encoding
+ // php <5.2.3 - prevent double encoding
$string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
$string = htmlspecialchars($string, ENT_QUOTES, $char_set);
$string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string);
+
return $string;
}
}
-
+
// htmlentities() won't convert everything, so use mb_convert_encoding
return mb_convert_encoding($string, 'HTML-ENTITIES', $char_set);
}
@@ -83,6 +86,7 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
$string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
$string = htmlentities($string, ENT_QUOTES, $char_set);
$string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string);
+
return $string;
}
}
@@ -102,9 +106,10 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
// Note that the UTF-8 encoded character ä will be represented as %c3%a4
$return = '';
$_length = strlen($string);
- for ($x = 0; $x < $_length; $x++) {
+ for ($x = 0; $x < $_length; $x ++) {
$return .= '%' . bin2hex($string[$x]);
}
+
return $return;
case 'hexentity':
@@ -115,13 +120,15 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
foreach (smarty_mb_to_unicode($string, Smarty::$_CHARSET) as $unicode) {
$return .= '&#x' . strtoupper(dechex($unicode)) . ';';
}
+
return $return;
}
// no MBString fallback
$_length = strlen($string);
- for ($x = 0; $x < $_length; $x++) {
+ for ($x = 0; $x < $_length; $x ++) {
$return .= '&#x' . bin2hex($string[$x]) . ';';
}
+
return $return;
case 'decentity':
@@ -132,13 +139,15 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
foreach (smarty_mb_to_unicode($string, Smarty::$_CHARSET) as $unicode) {
$return .= '&#' . $unicode . ';';
}
+
return $return;
}
// no MBString fallback
$_length = strlen($string);
- for ($x = 0; $x < $_length; $x++) {
+ for ($x = 0; $x < $_length; $x ++) {
$return .= '&#' . ord($string[$x]) . ';';
}
+
return $return;
case 'javascript':
@@ -148,6 +157,7 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
case 'mail':
if (Smarty::$_MBSTRING) {
require_once(SMARTY_PLUGINS_DIR . 'shared.mb_str_replace.php');
+
return smarty_mb_str_replace(array('@', '.'), array(' [AT] ', ' [DOT] '), $string);
}
// no MBString fallback
@@ -165,11 +175,12 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
$return .= chr($unicode);
}
}
+
return $return;
}
$_length = strlen($string);
- for ($_i = 0; $_i < $_length; $_i++) {
+ for ($_i = 0; $_i < $_length; $_i ++) {
$_ord = ord(substr($string, $_i, 1));
// non-standard char, escape it
if ($_ord >= 126) {
@@ -178,11 +189,10 @@ function smarty_modifier_escape($string, $esc_type = 'html', $char_set = null, $
$return .= substr($string, $_i, 1);
}
}
+
return $return;
default:
return $string;
}
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/modifier.regex_replace.php b/library/Smarty/libs/plugins/modifier.regex_replace.php
index f9fd5fa53..abb1ff548 100644
--- a/library/Smarty/libs/plugins/modifier.regex_replace.php
+++ b/library/Smarty/libs/plugins/modifier.regex_replace.php
@@ -2,39 +2,42 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsModifier
*/
/**
* Smarty regex_replace modifier plugin
- *
* Type: modifier<br>
* Name: regex_replace<br>
* Purpose: regular expression search/replace
*
- * @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php
+ * @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php
* regex_replace (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
- * @param string $string input string
- * @param string|array $search regular expression(s) to search for
- * @param string|array $replace string(s) that should be replaced
+ * @author Monte Ohrt <monte at ohrt dot com>
+ *
+ * @param string $string input string
+ * @param string|array $search regular expression(s) to search for
+ * @param string|array $replace string(s) that should be replaced
+ *
* @return string
*/
function smarty_modifier_regex_replace($string, $search, $replace)
{
- if(is_array($search)) {
- foreach($search as $idx => $s) {
+ if (is_array($search)) {
+ foreach ($search as $idx => $s) {
$search[$idx] = _smarty_regex_replace_check($s);
}
} else {
$search = _smarty_regex_replace_check($search);
}
+
return preg_replace($search, $replace, $string);
}
/**
* @param string $search string(s) that should be replaced
+ *
* @return string
* @ignore
*/
@@ -42,14 +45,13 @@ function _smarty_regex_replace_check($search)
{
// null-byte injection detection
// anything behind the first null-byte is ignored
- if (($pos = strpos($search,"\0")) !== false) {
- $search = substr($search,0,$pos);
+ if (($pos = strpos($search, "\0")) !== false) {
+ $search = substr($search, 0, $pos);
}
// remove eval-modifier from $search
if (preg_match('!([a-zA-Z\s]+)$!s', $search, $match) && (strpos($match[1], 'e') !== false)) {
- $search = substr($search, 0, -strlen($match[1])) . preg_replace('![e\s]+!', '', $match[1]);
+ $search = substr($search, 0, - strlen($match[1])) . preg_replace('![e\s]+!', '', $match[1]);
}
+
return $search;
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/modifier.replace.php b/library/Smarty/libs/plugins/modifier.replace.php
index 4d71a6e9b..aa5e8570b 100644
--- a/library/Smarty/libs/plugins/modifier.replace.php
+++ b/library/Smarty/libs/plugins/modifier.replace.php
@@ -1,33 +1,34 @@
<?php
/**
* Smarty plugin
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsModifier
*/
/**
* Smarty replace modifier plugin
- *
* Type: modifier<br>
* Name: replace<br>
* Purpose: simple search/replace
- *
- * @link http://smarty.php.net/manual/en/language.modifier.replace.php replace (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author Uwe Tews
+ *
+ * @link http://smarty.php.net/manual/en/language.modifier.replace.php replace (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author Uwe Tews
+ *
* @param string $string input string
* @param string $search text to search for
* @param string $replace replacement text
- * @return string
+ *
+ * @return string
*/
function smarty_modifier_replace($string, $search, $replace)
{
if (Smarty::$_MBSTRING) {
require_once(SMARTY_PLUGINS_DIR . 'shared.mb_str_replace.php');
+
return smarty_mb_str_replace($search, $replace, $string);
}
-
- return str_replace($search, $replace, $string);
-}
-?> \ No newline at end of file
+ return str_replace($search, $replace, $string);
+}
diff --git a/library/Smarty/libs/plugins/modifier.spacify.php b/library/Smarty/libs/plugins/modifier.spacify.php
index a907232ff..e5c41ad8b 100644
--- a/library/Smarty/libs/plugins/modifier.spacify.php
+++ b/library/Smarty/libs/plugins/modifier.spacify.php
@@ -1,27 +1,27 @@
<?php
/**
* Smarty plugin
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage PluginsModifier
*/
/**
* Smarty spacify modifier plugin
- *
* Type: modifier<br>
* Name: spacify<br>
* Purpose: add spaces between characters in a string
- *
- * @link http://smarty.php.net/manual/en/language.modifier.spacify.php spacify (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
+ *
+ * @link http://smarty.php.net/manual/en/language.modifier.spacify.php spacify (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
+ *
* @param string $string input string
* @param string $spacify_char string to insert between characters.
+ *
* @return string
*/
function smarty_modifier_spacify($string, $spacify_char = ' ')
{
// well… what about charsets besides latin and UTF-8?
- return implode($spacify_char, preg_split('//' . Smarty::$_UTF8_MODIFIER, $string, -1, PREG_SPLIT_NO_EMPTY));
-}
-
-?> \ No newline at end of file
+ return implode($spacify_char, preg_split('//' . Smarty::$_UTF8_MODIFIER, $string, - 1, PREG_SPLIT_NO_EMPTY));
+}
diff --git a/library/Smarty/libs/plugins/modifier.truncate.php b/library/Smarty/libs/plugins/modifier.truncate.php
index 9a803ec99..fbe62e823 100644
--- a/library/Smarty/libs/plugins/modifier.truncate.php
+++ b/library/Smarty/libs/plugins/modifier.truncate.php
@@ -2,58 +2,63 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsModifier
*/
-
+
/**
* Smarty truncate modifier plugin
- *
* Type: modifier<br>
* Name: truncate<br>
* Purpose: Truncate a string to a certain length if necessary,
* optionally splitting in the middle of a word, and
* appending the $etc string or inserting $etc into the middle.
- *
- * @link http://smarty.php.net/manual/en/language.modifier.truncate.php truncate (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
+ *
+ * @link http://smarty.php.net/manual/en/language.modifier.truncate.php truncate (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
+ *
* @param string $string input string
* @param integer $length length of truncated text
* @param string $etc end string
* @param boolean $break_words truncate at word boundary
* @param boolean $middle truncate in the middle of text
+ *
* @return string truncated string
*/
-function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false) {
- if ($length == 0)
+function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false)
+{
+ if ($length == 0) {
return '';
+ }
if (Smarty::$_MBSTRING) {
if (mb_strlen($string, Smarty::$_CHARSET) > $length) {
$length -= min($length, mb_strlen($etc, Smarty::$_CHARSET));
if (!$break_words && !$middle) {
$string = preg_replace('/\s+?(\S+)?$/' . Smarty::$_UTF8_MODIFIER, '', mb_substr($string, 0, $length + 1, Smarty::$_CHARSET));
- }
+ }
if (!$middle) {
return mb_substr($string, 0, $length, Smarty::$_CHARSET) . $etc;
}
+
return mb_substr($string, 0, $length / 2, Smarty::$_CHARSET) . $etc . mb_substr($string, - $length / 2, $length, Smarty::$_CHARSET);
}
+
return $string;
}
-
+
// no MBString fallback
if (isset($string[$length])) {
$length -= min($length, strlen($etc));
if (!$break_words && !$middle) {
$string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length + 1));
- }
+ }
if (!$middle) {
return substr($string, 0, $length) . $etc;
}
+
return substr($string, 0, $length / 2) . $etc . substr($string, - $length / 2);
}
- return $string;
-}
-?> \ No newline at end of file
+ return $string;
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.cat.php b/library/Smarty/libs/plugins/modifiercompiler.cat.php
index 1cfe6308a..db9d81fbf 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.cat.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.cat.php
@@ -1,30 +1,29 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty cat modifier plugin
- *
- * Type: modifier<br>
- * Name: cat<br>
- * Date: Feb 24, 2003<br>
- * Purpose: catenate a value to a variable<br>
- * Input: string to catenate<br>
- * Example: {$var|cat:"foo"}
- *
- * @link http://smarty.php.net/manual/en/language.modifier.cat.php cat
- * (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_cat($params, $compiler)
-{
- return '('.implode(').(', $params).')';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty cat modifier plugin
+ * Type: modifier<br>
+ * Name: cat<br>
+ * Date: Feb 24, 2003<br>
+ * Purpose: catenate a value to a variable<br>
+ * Input: string to catenate<br>
+ * Example: {$var|cat:"foo"}
+ *
+ * @link http://smarty.php.net/manual/en/language.modifier.cat.php cat
+ * (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_cat($params)
+{
+ return '(' . implode(').(', $params) . ')';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.count_characters.php b/library/Smarty/libs/plugins/modifiercompiler.count_characters.php
index 98e8efa0d..f8463d80a 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.count_characters.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.count_characters.php
@@ -1,33 +1,32 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty count_characters modifier plugin
- *
- * Type: modifier<br>
- * Name: count_characteres<br>
- * Purpose: count the number of characters in a text
- *
- * @link http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_count_characters($params, $compiler)
-{
- if (!isset($params[1]) || $params[1] != 'true') {
- return 'preg_match_all(\'/[^\s]/' . Smarty::$_UTF8_MODIFIER . '\',' . $params[0] . ', $tmp)';
- }
- if (Smarty::$_MBSTRING) {
- return 'mb_strlen(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')';
- }
- // no MBString fallback
- return 'strlen(' . $params[0] . ')';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty count_characters modifier plugin
+ * Type: modifier<br>
+ * Name: count_characteres<br>
+ * Purpose: count the number of characters in a text
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_count_characters($params)
+{
+ if (!isset($params[1]) || $params[1] != 'true') {
+ return 'preg_match_all(\'/[^\s]/' . Smarty::$_UTF8_MODIFIER . '\',' . $params[0] . ', $tmp)';
+ }
+ if (Smarty::$_MBSTRING) {
+ return 'mb_strlen(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')';
+ }
+ // no MBString fallback
+ return 'strlen(' . $params[0] . ')';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.count_paragraphs.php b/library/Smarty/libs/plugins/modifiercompiler.count_paragraphs.php
index 0e1b0af83..34f0bbb8a 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.count_paragraphs.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.count_paragraphs.php
@@ -1,28 +1,27 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty count_paragraphs modifier plugin
- *
- * Type: modifier<br>
- * Name: count_paragraphs<br>
- * Purpose: count the number of paragraphs in a text
- *
- * @link http://www.smarty.net/manual/en/language.modifier.count.paragraphs.php
- * count_paragraphs (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_count_paragraphs($params, $compiler)
-{
- // count \r or \n characters
- return '(preg_match_all(\'#[\r\n]+#\', ' . $params[0] . ', $tmp)+1)';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty count_paragraphs modifier plugin
+ * Type: modifier<br>
+ * Name: count_paragraphs<br>
+ * Purpose: count the number of paragraphs in a text
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.count.paragraphs.php
+ * count_paragraphs (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_count_paragraphs($params)
+{
+ // count \r or \n characters
+ return '(preg_match_all(\'#[\r\n]+#\', ' . $params[0] . ', $tmp)+1)';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.count_sentences.php b/library/Smarty/libs/plugins/modifiercompiler.count_sentences.php
index 2f517be96..f1ec56007 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.count_sentences.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.count_sentences.php
@@ -1,28 +1,27 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty count_sentences modifier plugin
- *
- * Type: modifier<br>
- * Name: count_sentences
- * Purpose: count the number of sentences in a text
- *
- * @link http://www.smarty.net/manual/en/language.modifier.count.paragraphs.php
- * count_sentences (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_count_sentences($params, $compiler)
-{
- // find periods, question marks, exclamation marks with a word before but not after.
- return 'preg_match_all("#\w[\.\?\!](\W|$)#S' . Smarty::$_UTF8_MODIFIER . '", ' . $params[0] . ', $tmp)';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty count_sentences modifier plugin
+ * Type: modifier<br>
+ * Name: count_sentences
+ * Purpose: count the number of sentences in a text
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.count.paragraphs.php
+ * count_sentences (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_count_sentences($params)
+{
+ // find periods, question marks, exclamation marks with a word before but not after.
+ return 'preg_match_all("#\w[\.\?\!](\W|$)#S' . Smarty::$_UTF8_MODIFIER . '", ' . $params[0] . ', $tmp)';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.count_words.php b/library/Smarty/libs/plugins/modifiercompiler.count_words.php
index e05738c01..8b4330f1e 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.count_words.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.count_words.php
@@ -1,32 +1,31 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty count_words modifier plugin
- *
- * Type: modifier<br>
- * Name: count_words<br>
- * Purpose: count the number of words in a text
- *
- * @link http://www.smarty.net/manual/en/language.modifier.count.words.php count_words (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
-*/
-function smarty_modifiercompiler_count_words($params, $compiler)
-{
- if (Smarty::$_MBSTRING) {
- // return 'preg_match_all(\'#[\w\pL]+#' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)';
- // expression taken from http://de.php.net/manual/en/function.str-word-count.php#85592
- return 'preg_match_all(\'/\p{L}[\p{L}\p{Mn}\p{Pd}\\\'\x{2019}]*/' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)';
- }
- // no MBString fallback
- return 'str_word_count(' . $params[0] . ')';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty count_words modifier plugin
+ * Type: modifier<br>
+ * Name: count_words<br>
+ * Purpose: count the number of words in a text
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.count.words.php count_words (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_count_words($params)
+{
+ if (Smarty::$_MBSTRING) {
+ // return 'preg_match_all(\'#[\w\pL]+#' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)';
+ // expression taken from http://de.php.net/manual/en/function.str-word-count.php#85592
+ return 'preg_match_all(\'/\p{L}[\p{L}\p{Mn}\p{Pd}\\\'\x{2019}]*/' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)';
+ }
+ // no MBString fallback
+ return 'str_word_count(' . $params[0] . ')';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.default.php b/library/Smarty/libs/plugins/modifiercompiler.default.php
index 4f831a589..fe777623e 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.default.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.default.php
@@ -1,35 +1,35 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty default modifier plugin
- *
- * Type: modifier<br>
- * Name: default<br>
- * Purpose: designate default value for empty variables
- *
- * @link http://www.smarty.net/manual/en/language.modifier.default.php default (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_default ($params, $compiler)
-{
- $output = $params[0];
- if (!isset($params[1])) {
- $params[1] = "''";
- }
-
- array_shift($params);
- foreach ($params as $param) {
- $output = '(($tmp = @' . $output . ')===null||$tmp===\'\' ? ' . $param . ' : $tmp)';
- }
- return $output;
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty default modifier plugin
+ * Type: modifier<br>
+ * Name: default<br>
+ * Purpose: designate default value for empty variables
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.default.php default (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_default($params)
+{
+ $output = $params[0];
+ if (!isset($params[1])) {
+ $params[1] = "''";
+ }
+
+ array_shift($params);
+ foreach ($params as $param) {
+ $output = '(($tmp = @' . $output . ')===null||$tmp===\'\' ? ' . $param . ' : $tmp)';
+ }
+
+ return $output;
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.escape.php b/library/Smarty/libs/plugins/modifiercompiler.escape.php
index 48b74d140..7e848aaec 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.escape.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.escape.php
@@ -1,125 +1,126 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * @ignore
- */
-require_once( SMARTY_PLUGINS_DIR .'shared.literal_compiler_param.php' );
-
-/**
- * Smarty escape modifier plugin
- *
- * Type: modifier<br>
- * Name: escape<br>
- * Purpose: escape string for output
- *
- * @link http://www.smarty.net/docsv2/en/language.modifier.escape count_characters (Smarty online manual)
- * @author Rodney Rehm
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_escape($params, $compiler)
-{
- static $_double_encode = null;
- if ($_double_encode === null) {
- $_double_encode = version_compare(PHP_VERSION, '5.2.3', '>=');
- }
-
- try {
- $esc_type = smarty_literal_compiler_param($params, 1, 'html');
- $char_set = smarty_literal_compiler_param($params, 2, Smarty::$_CHARSET);
- $double_encode = smarty_literal_compiler_param($params, 3, true);
-
- if (!$char_set) {
- $char_set = Smarty::$_CHARSET;
- }
-
- switch ($esc_type) {
- case 'html':
- if ($_double_encode) {
- return 'htmlspecialchars('
- . $params[0] .', ENT_QUOTES, '
- . var_export($char_set, true) . ', '
- . var_export($double_encode, true) . ')';
- } else if ($double_encode) {
- return 'htmlspecialchars('
- . $params[0] .', ENT_QUOTES, '
- . var_export($char_set, true) . ')';
- } else {
- // fall back to modifier.escape.php
- }
-
- case 'htmlall':
- if (Smarty::$_MBSTRING) {
- if ($_double_encode) {
- // php >=5.3.2 - go native
- return 'mb_convert_encoding(htmlspecialchars('
- . $params[0] .', ENT_QUOTES, '
- . var_export($char_set, true) . ', '
- . var_export($double_encode, true)
- . '), "HTML-ENTITIES", '
- . var_export($char_set, true) . ')';
- } else if ($double_encode) {
- // php <5.3.2 - only handle double encoding
- return 'mb_convert_encoding(htmlspecialchars('
- . $params[0] .', ENT_QUOTES, '
- . var_export($char_set, true)
- . '), "HTML-ENTITIES", '
- . var_export($char_set, true) . ')';
- } else {
- // fall back to modifier.escape.php
- }
- }
-
- // no MBString fallback
- if ($_double_encode) {
- // php >=5.3.2 - go native
- return 'htmlentities('
- . $params[0] .', ENT_QUOTES, '
- . var_export($char_set, true) . ', '
- . var_export($double_encode, true) . ')';
- } else if ($double_encode) {
- // php <5.3.2 - only handle double encoding
- return 'htmlentities('
- . $params[0] .', ENT_QUOTES, '
- . var_export($char_set, true) . ')';
- } else {
- // fall back to modifier.escape.php
- }
-
- case 'url':
- return 'rawurlencode(' . $params[0] . ')';
-
- case 'urlpathinfo':
- return 'str_replace("%2F", "/", rawurlencode(' . $params[0] . '))';
-
- case 'quotes':
- // escape unescaped single quotes
- return 'preg_replace("%(?<!\\\\\\\\)\'%", "\\\'",' . $params[0] . ')';
-
- case 'javascript':
- // escape quotes and backslashes, newlines, etc.
- return 'strtr(' . $params[0] . ', array("\\\\" => "\\\\\\\\", "\'" => "\\\\\'", "\"" => "\\\\\"", "\\r" => "\\\\r", "\\n" => "\\\n", "</" => "<\/" ))';
-
- }
- } catch(SmartyException $e) {
- // pass through to regular plugin fallback
- }
-
- // could not optimize |escape call, so fallback to regular plugin
- if ($compiler->tag_nocache | $compiler->nocache) {
- $compiler->template->required_plugins['nocache']['escape']['modifier']['file'] = SMARTY_PLUGINS_DIR .'modifier.escape.php';
- $compiler->template->required_plugins['nocache']['escape']['modifier']['function'] = 'smarty_modifier_escape';
- } else {
- $compiler->template->required_plugins['compiled']['escape']['modifier']['file'] = SMARTY_PLUGINS_DIR .'modifier.escape.php';
- $compiler->template->required_plugins['compiled']['escape']['modifier']['function'] = 'smarty_modifier_escape';
- }
- return 'smarty_modifier_escape(' . join( ', ', $params ) . ')';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * @ignore
+ */
+require_once(SMARTY_PLUGINS_DIR . 'shared.literal_compiler_param.php');
+
+/**
+ * Smarty escape modifier plugin
+ * Type: modifier<br>
+ * Name: escape<br>
+ * Purpose: escape string for output
+ *
+ * @link http://www.smarty.net/docsv2/en/language.modifier.escape count_characters (Smarty online manual)
+ * @author Rodney Rehm
+ *
+ * @param array $params parameters
+ * @param $compiler
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_escape($params, $compiler)
+{
+ static $_double_encode = null;
+ if ($_double_encode === null) {
+ $_double_encode = version_compare(PHP_VERSION, '5.2.3', '>=');
+ }
+
+ try {
+ $esc_type = smarty_literal_compiler_param($params, 1, 'html');
+ $char_set = smarty_literal_compiler_param($params, 2, Smarty::$_CHARSET);
+ $double_encode = smarty_literal_compiler_param($params, 3, true);
+
+ if (!$char_set) {
+ $char_set = Smarty::$_CHARSET;
+ }
+
+ switch ($esc_type) {
+ case 'html':
+ if ($_double_encode) {
+ return 'htmlspecialchars('
+ . $params[0] . ', ENT_QUOTES, '
+ . var_export($char_set, true) . ', '
+ . var_export($double_encode, true) . ')';
+ } elseif ($double_encode) {
+ return 'htmlspecialchars('
+ . $params[0] . ', ENT_QUOTES, '
+ . var_export($char_set, true) . ')';
+ } else {
+ // fall back to modifier.escape.php
+ }
+
+ case 'htmlall':
+ if (Smarty::$_MBSTRING) {
+ if ($_double_encode) {
+ // php >=5.2.3 - go native
+ return 'mb_convert_encoding(htmlspecialchars('
+ . $params[0] . ', ENT_QUOTES, '
+ . var_export($char_set, true) . ', '
+ . var_export($double_encode, true)
+ . '), "HTML-ENTITIES", '
+ . var_export($char_set, true) . ')';
+ } elseif ($double_encode) {
+ // php <5.2.3 - only handle double encoding
+ return 'mb_convert_encoding(htmlspecialchars('
+ . $params[0] . ', ENT_QUOTES, '
+ . var_export($char_set, true)
+ . '), "HTML-ENTITIES", '
+ . var_export($char_set, true) . ')';
+ } else {
+ // fall back to modifier.escape.php
+ }
+ }
+
+ // no MBString fallback
+ if ($_double_encode) {
+ // php >=5.2.3 - go native
+ return 'htmlentities('
+ . $params[0] . ', ENT_QUOTES, '
+ . var_export($char_set, true) . ', '
+ . var_export($double_encode, true) . ')';
+ } elseif ($double_encode) {
+ // php <5.2.3 - only handle double encoding
+ return 'htmlentities('
+ . $params[0] . ', ENT_QUOTES, '
+ . var_export($char_set, true) . ')';
+ } else {
+ // fall back to modifier.escape.php
+ }
+
+ case 'url':
+ return 'rawurlencode(' . $params[0] . ')';
+
+ case 'urlpathinfo':
+ return 'str_replace("%2F", "/", rawurlencode(' . $params[0] . '))';
+
+ case 'quotes':
+ // escape unescaped single quotes
+ return 'preg_replace("%(?<!\\\\\\\\)\'%", "\\\'",' . $params[0] . ')';
+
+ case 'javascript':
+ // escape quotes and backslashes, newlines, etc.
+ return 'strtr(' . $params[0] . ', array("\\\\" => "\\\\\\\\", "\'" => "\\\\\'", "\"" => "\\\\\"", "\\r" => "\\\\r", "\\n" => "\\\n", "</" => "<\/" ))';
+ }
+ }
+ catch (SmartyException $e) {
+ // pass through to regular plugin fallback
+ }
+
+ // could not optimize |escape call, so fallback to regular plugin
+ if ($compiler->template->caching && ($compiler->tag_nocache | $compiler->nocache)) {
+ $compiler->template->required_plugins['nocache']['escape']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'modifier.escape.php';
+ $compiler->template->required_plugins['nocache']['escape']['modifier']['function'] = 'smarty_modifier_escape';
+ } else {
+ $compiler->template->required_plugins['compiled']['escape']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'modifier.escape.php';
+ $compiler->template->required_plugins['compiled']['escape']['modifier']['function'] = 'smarty_modifier_escape';
+ }
+
+ return 'smarty_modifier_escape(' . join(', ', $params) . ')';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.from_charset.php b/library/Smarty/libs/plugins/modifiercompiler.from_charset.php
index 93b568a5a..dab43e9c3 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.from_charset.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.from_charset.php
@@ -1,34 +1,33 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty from_charset modifier plugin
- *
- * Type: modifier<br>
- * Name: from_charset<br>
- * Purpose: convert character encoding from $charset to internal encoding
- *
- * @author Rodney Rehm
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_from_charset($params, $compiler)
-{
- if (!Smarty::$_MBSTRING) {
- // FIXME: (rodneyrehm) shouldn't this throw an error?
- return $params[0];
- }
-
- if (!isset($params[1])) {
- $params[1] = '"ISO-8859-1"';
- }
-
- return 'mb_convert_encoding(' . $params[0] . ', "' . addslashes(Smarty::$_CHARSET) . '", ' . $params[1] . ')';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty from_charset modifier plugin
+ * Type: modifier<br>
+ * Name: from_charset<br>
+ * Purpose: convert character encoding from $charset to internal encoding
+ *
+ * @author Rodney Rehm
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_from_charset($params)
+{
+ if (!Smarty::$_MBSTRING) {
+ // FIXME: (rodneyrehm) shouldn't this throw an error?
+ return $params[0];
+ }
+
+ if (!isset($params[1])) {
+ $params[1] = '"ISO-8859-1"';
+ }
+
+ return 'mb_convert_encoding(' . $params[0] . ', "' . addslashes(Smarty::$_CHARSET) . '", ' . $params[1] . ')';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.indent.php b/library/Smarty/libs/plugins/modifiercompiler.indent.php
index 020c4fdb3..e3ca20821 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.indent.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.indent.php
@@ -1,32 +1,33 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty indent modifier plugin
- *
- * Type: modifier<br>
- * Name: indent<br>
- * Purpose: indent lines of text
- *
- * @link http://www.smarty.net/manual/en/language.modifier.indent.php indent (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-
-function smarty_modifiercompiler_indent($params, $compiler)
-{
- if (!isset($params[1])) {
- $params[1] = 4;
- }
- if (!isset($params[2])) {
- $params[2] = "' '";
- }
- return 'preg_replace(\'!^!m\',str_repeat(' . $params[2] . ',' . $params[1] . '),' . $params[0] . ')';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty indent modifier plugin
+ * Type: modifier<br>
+ * Name: indent<br>
+ * Purpose: indent lines of text
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.indent.php indent (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+
+function smarty_modifiercompiler_indent($params)
+{
+ if (!isset($params[1])) {
+ $params[1] = 4;
+ }
+ if (!isset($params[2])) {
+ $params[2] = "' '";
+ }
+
+ return 'preg_replace(\'!^!m\',str_repeat(' . $params[2] . ',' . $params[1] . '),' . $params[0] . ')';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.lower.php b/library/Smarty/libs/plugins/modifiercompiler.lower.php
index 1845cc1d2..1d255f371 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.lower.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.lower.php
@@ -1,31 +1,31 @@
-<?php
-/**
- * Smarty plugin
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty lower modifier plugin
- *
- * Type: modifier<br>
- * Name: lower<br>
- * Purpose: convert string to lowercase
- *
- * @link http://www.smarty.net/manual/en/language.modifier.lower.php lower (Smarty online manual)
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-
-function smarty_modifiercompiler_lower($params, $compiler)
-{
- if (Smarty::$_MBSTRING) {
- return 'mb_strtolower(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')' ;
- }
- // no MBString fallback
- return 'strtolower(' . $params[0] . ')';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty lower modifier plugin
+ * Type: modifier<br>
+ * Name: lower<br>
+ * Purpose: convert string to lowercase
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.lower.php lower (Smarty online manual)
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+
+function smarty_modifiercompiler_lower($params)
+{
+ if (Smarty::$_MBSTRING) {
+ return 'mb_strtolower(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')';
+ }
+ // no MBString fallback
+ return 'strtolower(' . $params[0] . ')';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.noprint.php b/library/Smarty/libs/plugins/modifiercompiler.noprint.php
index 3ca26571a..4906908b4 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.noprint.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.noprint.php
@@ -1,25 +1,21 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty noprint modifier plugin
- *
- * Type: modifier<br>
- * Name: noprint<br>
- * Purpose: return an empty string
- *
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_noprint($params, $compiler)
-{
- return "''";
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty noprint modifier plugin
+ * Type: modifier<br>
+ * Name: noprint<br>
+ * Purpose: return an empty string
+ *
+ * @author Uwe Tews
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_noprint()
+{
+ return "''";
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.string_format.php b/library/Smarty/libs/plugins/modifiercompiler.string_format.php
index 83345977b..71cdf2819 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.string_format.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.string_format.php
@@ -1,26 +1,25 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty string_format modifier plugin
- *
- * Type: modifier<br>
- * Name: string_format<br>
- * Purpose: format strings via sprintf
- *
- * @link http://www.smarty.net/manual/en/language.modifier.string.format.php string_format (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_string_format($params, $compiler)
-{
- return 'sprintf(' . $params[1] . ',' . $params[0] . ')';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty string_format modifier plugin
+ * Type: modifier<br>
+ * Name: string_format<br>
+ * Purpose: format strings via sprintf
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.string.format.php string_format (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_string_format($params)
+{
+ return 'sprintf(' . $params[1] . ',' . $params[0] . ')';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.strip.php b/library/Smarty/libs/plugins/modifiercompiler.strip.php
index f1d5db045..fcd6cbaea 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.strip.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.strip.php
@@ -1,33 +1,33 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty strip modifier plugin
- *
- * Type: modifier<br>
- * Name: strip<br>
- * Purpose: Replace all repeated spaces, newlines, tabs
- * with a single space or supplied replacement string.<br>
- * Example: {$var|strip} {$var|strip:"&nbsp;"}<br>
- * Date: September 25th, 2002
- *
- * @link http://www.smarty.net/manual/en/language.modifier.strip.php strip (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-
-function smarty_modifiercompiler_strip($params, $compiler)
-{
- if (!isset($params[1])) {
- $params[1] = "' '";
- }
- return "preg_replace('!\s+!" . Smarty::$_UTF8_MODIFIER . "', {$params[1]},{$params[0]})";
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty strip modifier plugin
+ * Type: modifier<br>
+ * Name: strip<br>
+ * Purpose: Replace all repeated spaces, newlines, tabs
+ * with a single space or supplied replacement string.<br>
+ * Example: {$var|strip} {$var|strip:"&nbsp;"}<br>
+ * Date: September 25th, 2002
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.strip.php strip (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+
+function smarty_modifiercompiler_strip($params)
+{
+ if (!isset($params[1])) {
+ $params[1] = "' '";
+ }
+
+ return "preg_replace('!\s+!" . Smarty::$_UTF8_MODIFIER . "', {$params[1]},{$params[0]})";
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.strip_tags.php b/library/Smarty/libs/plugins/modifiercompiler.strip_tags.php
index 296a3a2da..3e6e13048 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.strip_tags.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.strip_tags.php
@@ -1,33 +1,29 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty strip_tags modifier plugin
- *
- * Type: modifier<br>
- * Name: strip_tags<br>
- * Purpose: strip html tags from text
- *
- * @link http://www.smarty.net/manual/en/language.modifier.strip.tags.php strip_tags (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_strip_tags($params, $compiler)
-{
- if (!isset($params[1])) {
- $params[1] = true;
- }
- if ($params[1] === true) {
- return "preg_replace('!<[^>]*?>!', ' ', {$params[0]})";
- } else {
- return 'strip_tags(' . $params[0] . ')';
- }
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty strip_tags modifier plugin
+ * Type: modifier<br>
+ * Name: strip_tags<br>
+ * Purpose: strip html tags from text
+ *
+ * @link http://www.smarty.net/manual/en/language.modifier.strip.tags.php strip_tags (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_strip_tags($params)
+{
+ if (!isset($params[1]) || $params[1] === true || trim($params[1], '"') == 'true') {
+ return "preg_replace('!<[^>]*?>!', ' ', {$params[0]})";
+ } else {
+ return 'strip_tags(' . $params[0] . ')';
+ }
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.to_charset.php b/library/Smarty/libs/plugins/modifiercompiler.to_charset.php
index f5cdf455f..9122d8bbb 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.to_charset.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.to_charset.php
@@ -1,34 +1,33 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty to_charset modifier plugin
- *
- * Type: modifier<br>
- * Name: to_charset<br>
- * Purpose: convert character encoding from internal encoding to $charset
- *
- * @author Rodney Rehm
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_to_charset($params, $compiler)
-{
- if (!Smarty::$_MBSTRING) {
- // FIXME: (rodneyrehm) shouldn't this throw an error?
- return $params[0];
- }
-
- if (!isset($params[1])) {
- $params[1] = '"ISO-8859-1"';
- }
-
- return 'mb_convert_encoding(' . $params[0] . ', ' . $params[1] . ', "' . addslashes(Smarty::$_CHARSET) . '")';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty to_charset modifier plugin
+ * Type: modifier<br>
+ * Name: to_charset<br>
+ * Purpose: convert character encoding from internal encoding to $charset
+ *
+ * @author Rodney Rehm
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_to_charset($params)
+{
+ if (!Smarty::$_MBSTRING) {
+ // FIXME: (rodneyrehm) shouldn't this throw an error?
+ return $params[0];
+ }
+
+ if (!isset($params[1])) {
+ $params[1] = '"ISO-8859-1"';
+ }
+
+ return 'mb_convert_encoding(' . $params[0] . ', ' . $params[1] . ', "' . addslashes(Smarty::$_CHARSET) . '")';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.unescape.php b/library/Smarty/libs/plugins/modifiercompiler.unescape.php
index 4321ff18d..3b17ea2e1 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.unescape.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.unescape.php
@@ -1,51 +1,50 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty unescape modifier plugin
- *
- * Type: modifier<br>
- * Name: unescape<br>
- * Purpose: unescape html entities
- *
- * @author Rodney Rehm
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_unescape($params, $compiler)
-{
- if (!isset($params[1])) {
- $params[1] = 'html';
- }
- if (!isset($params[2])) {
- $params[2] = '\'' . addslashes(Smarty::$_CHARSET) . '\'';
- } else {
- $params[2] = "'" . $params[2] . "'";
- }
-
- switch (trim($params[1], '"\'')) {
- case 'entity':
- case 'htmlall':
- if (Smarty::$_MBSTRING) {
- return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')';
- }
-
- return 'html_entity_decode(' . $params[0] . ', ENT_NOQUOTES, ' . $params[2] . ')';
-
- case 'html':
- return 'htmlspecialchars_decode(' . $params[0] . ', ENT_QUOTES)';
-
- case 'url':
- return 'rawurldecode(' . $params[0] . ')';
-
- default:
- return $params[0];
- }
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty unescape modifier plugin
+ * Type: modifier<br>
+ * Name: unescape<br>
+ * Purpose: unescape html entities
+ *
+ * @author Rodney Rehm
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_unescape($params)
+{
+ if (!isset($params[1])) {
+ $params[1] = 'html';
+ }
+ if (!isset($params[2])) {
+ $params[2] = '\'' . addslashes(Smarty::$_CHARSET) . '\'';
+ } else {
+ $params[2] = "'" . $params[2] . "'";
+ }
+
+ switch (trim($params[1], '"\'')) {
+ case 'entity':
+ case 'htmlall':
+ if (Smarty::$_MBSTRING) {
+ return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')';
+ }
+
+ return 'html_entity_decode(' . $params[0] . ', ENT_NOQUOTES, ' . $params[2] . ')';
+
+ case 'html':
+ return 'htmlspecialchars_decode(' . $params[0] . ', ENT_QUOTES)';
+
+ case 'url':
+ return 'rawurldecode(' . $params[0] . ')';
+
+ default:
+ return $params[0];
+ }
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.upper.php b/library/Smarty/libs/plugins/modifiercompiler.upper.php
index f368e37dc..52ca4e8ff 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.upper.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.upper.php
@@ -1,30 +1,29 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty upper modifier plugin
- *
- * Type: modifier<br>
- * Name: lower<br>
- * Purpose: convert string to uppercase
- *
- * @link http://smarty.php.net/manual/en/language.modifier.upper.php lower (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_upper($params, $compiler)
-{
- if (Smarty::$_MBSTRING) {
- return 'mb_strtoupper(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')' ;
- }
- // no MBString fallback
- return 'strtoupper(' . $params[0] . ')';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty upper modifier plugin
+ * Type: modifier<br>
+ * Name: lower<br>
+ * Purpose: convert string to uppercase
+ *
+ * @link http://smarty.php.net/manual/en/language.modifier.upper.php lower (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_upper($params)
+{
+ if (Smarty::$_MBSTRING) {
+ return 'mb_strtoupper(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')';
+ }
+ // no MBString fallback
+ return 'strtoupper(' . $params[0] . ')';
+}
diff --git a/library/Smarty/libs/plugins/modifiercompiler.wordwrap.php b/library/Smarty/libs/plugins/modifiercompiler.wordwrap.php
index f6845ad37..2ad928ea1 100644
--- a/library/Smarty/libs/plugins/modifiercompiler.wordwrap.php
+++ b/library/Smarty/libs/plugins/modifiercompiler.wordwrap.php
@@ -1,46 +1,47 @@
-<?php
-/**
- * Smarty plugin
- *
- * @package Smarty
- * @subpackage PluginsModifierCompiler
- */
-
-/**
- * Smarty wordwrap modifier plugin
- *
- * Type: modifier<br>
- * Name: wordwrap<br>
- * Purpose: wrap a string of text at a given length
- *
- * @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php wordwrap (Smarty online manual)
- * @author Uwe Tews
- * @param array $params parameters
- * @return string with compiled code
- */
-function smarty_modifiercompiler_wordwrap($params, $compiler)
-{
- if (!isset($params[1])) {
- $params[1] = 80;
- }
- if (!isset($params[2])) {
- $params[2] = '"\n"';
- }
- if (!isset($params[3])) {
- $params[3] = 'false';
- }
- $function = 'wordwrap';
- if (Smarty::$_MBSTRING) {
- if ($compiler->tag_nocache | $compiler->nocache) {
- $compiler->template->required_plugins['nocache']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR .'shared.mb_wordwrap.php';
- $compiler->template->required_plugins['nocache']['wordwrap']['modifier']['function'] = 'smarty_mb_wordwrap';
- } else {
- $compiler->template->required_plugins['compiled']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR .'shared.mb_wordwrap.php';
- $compiler->template->required_plugins['compiled']['wordwrap']['modifier']['function'] = 'smarty_mb_wordwrap';
- }
- $function = 'smarty_mb_wordwrap';
- }
- return $function . '(' . $params[0] . ',' . $params[1] . ',' . $params[2] . ',' . $params[3] . ')';
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsModifierCompiler
+ */
+
+/**
+ * Smarty wordwrap modifier plugin
+ * Type: modifier<br>
+ * Name: wordwrap<br>
+ * Purpose: wrap a string of text at a given length
+ *
+ * @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php wordwrap (Smarty online manual)
+ * @author Uwe Tews
+ *
+ * @param array $params parameters
+ * @param $compiler
+ *
+ * @return string with compiled code
+ */
+function smarty_modifiercompiler_wordwrap($params, $compiler)
+{
+ if (!isset($params[1])) {
+ $params[1] = 80;
+ }
+ if (!isset($params[2])) {
+ $params[2] = '"\n"';
+ }
+ if (!isset($params[3])) {
+ $params[3] = 'false';
+ }
+ $function = 'wordwrap';
+ if (Smarty::$_MBSTRING) {
+ if ($compiler->template->caching && ($compiler->tag_nocache | $compiler->nocache)) {
+ $compiler->template->required_plugins['nocache']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php';
+ $compiler->template->required_plugins['nocache']['wordwrap']['modifier']['function'] = 'smarty_mb_wordwrap';
+ } else {
+ $compiler->template->required_plugins['compiled']['wordwrap']['modifier']['file'] = SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php';
+ $compiler->template->required_plugins['compiled']['wordwrap']['modifier']['function'] = 'smarty_mb_wordwrap';
+ }
+ $function = 'smarty_mb_wordwrap';
+ }
+
+ return $function . '(' . $params[0] . ',' . $params[1] . ',' . $params[2] . ',' . $params[3] . ')';
+}
diff --git a/library/Smarty/libs/plugins/outputfilter.trimwhitespace.php b/library/Smarty/libs/plugins/outputfilter.trimwhitespace.php
index 87cf8c781..62ab4e776 100644
--- a/library/Smarty/libs/plugins/outputfilter.trimwhitespace.php
+++ b/library/Smarty/libs/plugins/outputfilter.trimwhitespace.php
@@ -2,22 +2,22 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsFilter
*/
/**
* Smarty trimwhitespace outputfilter plugin
- *
* Trim unnecessary whitespace from HTML markup.
*
* @author Rodney Rehm
- * @param string $source input string
- * @param Smarty_Internal_Template $smarty Smarty object
+ *
+ * @param string $source input string
+ *
* @return string filtered output
- * @todo substr_replace() is not overloaded by mbstring.func_overload - so this function might fail!
+ * @todo substr_replace() is not overloaded by mbstring.func_overload - so this function might fail!
*/
-function smarty_outputfilter_trimwhitespace($source, Smarty_Internal_Template $smarty)
+function smarty_outputfilter_trimwhitespace($source)
{
$store = array();
$_store = 0;
@@ -35,13 +35,13 @@ function smarty_outputfilter_trimwhitespace($source, Smarty_Internal_Template $s
$source = substr_replace($source, $replace, $match[0][1] - $_offset, $_length);
$_offset += $_length - strlen($replace);
- $_store++;
+ $_store ++;
}
}
// Strip all HTML-Comments
// yes, even the ones in <script> - see http://stackoverflow.com/a/808850/515124
- $source = preg_replace( '#<!--.*?-->#ms', '', $source );
+ $source = preg_replace('#<!--.*?-->#ms', '', $source);
// capture html elements not to be messed with
$_offset = 0;
@@ -53,42 +53,38 @@ function smarty_outputfilter_trimwhitespace($source, Smarty_Internal_Template $s
$source = substr_replace($source, $replace, $match[0][1] - $_offset, $_length);
$_offset += $_length - strlen($replace);
- $_store++;
+ $_store ++;
}
}
$expressions = array(
// replace multiple spaces between tags by a single space
// can't remove them entirely, becaue that might break poorly implemented CSS display:inline-block elements
- '#(:SMARTY@!@|>)\s+(?=@!@SMARTY:|<)#s' => '\1 \2',
+ '#(:SMARTY@!@|>)\s+(?=@!@SMARTY:|<)#s' => '\1 \2',
// remove spaces between attributes (but not in attribute values!)
'#(([a-z0-9]\s*=\s*(["\'])[^\3]*?\3)|<[a-z0-9_]+)\s+([a-z/>])#is' => '\1 \4',
// note: for some very weird reason trim() seems to remove spaces inside attributes.
// maybe a \0 byte or something is interfering?
- '#^\s+<#Ss' => '<',
- '#>\s+$#Ss' => '>',
+ '#^\s+<#Ss' => '<',
+ '#>\s+$#Ss' => '>',
);
- $source = preg_replace( array_keys($expressions), array_values($expressions), $source );
+ $source = preg_replace(array_keys($expressions), array_values($expressions), $source);
// note: for some very weird reason trim() seems to remove spaces inside attributes.
// maybe a \0 byte or something is interfering?
// $source = trim( $source );
- // capture html elements not to be messed with
$_offset = 0;
if (preg_match_all('#@!@SMARTY:([0-9]+):SMARTY@!@#is', $source, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER)) {
foreach ($matches as $match) {
- $store[] = $match[0][0];
$_length = strlen($match[0][0]);
- $replace = array_shift($store);
+ $replace = $store[$match[1][0]];
$source = substr_replace($source, $replace, $match[0][1] + $_offset, $_length);
$_offset += strlen($replace) - $_length;
- $_store++;
+ $_store ++;
}
}
return $source;
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/shared.escape_special_chars.php b/library/Smarty/libs/plugins/shared.escape_special_chars.php
index d2609b674..d3bd756b1 100644
--- a/library/Smarty/libs/plugins/shared.escape_special_chars.php
+++ b/library/Smarty/libs/plugins/shared.escape_special_chars.php
@@ -2,20 +2,21 @@
/**
* Smarty shared plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsShared
*/
if (version_compare(PHP_VERSION, '5.2.3', '>=')) {
/**
* escape_special_chars common function
- *
* Function: smarty_function_escape_special_chars<br>
* Purpose: used by other smarty functions to escape
* special chars except for already escaped ones
*
* @author Monte Ohrt <monte at ohrt dot com>
- * @param string $string text that should by escaped
+ *
+ * @param string $string text that should by escaped
+ *
* @return string
*/
function smarty_function_escape_special_chars($string)
@@ -23,18 +24,20 @@ if (version_compare(PHP_VERSION, '5.2.3', '>=')) {
if (!is_array($string)) {
$string = htmlspecialchars($string, ENT_COMPAT, Smarty::$_CHARSET, false);
}
+
return $string;
- }
-} else {
+ }
+} else {
/**
* escape_special_chars common function
- *
* Function: smarty_function_escape_special_chars<br>
* Purpose: used by other smarty functions to escape
* special chars except for already escaped ones
*
* @author Monte Ohrt <monte at ohrt dot com>
- * @param string $string text that should by escaped
+ *
+ * @param string $string text that should by escaped
+ *
* @return string
*/
function smarty_function_escape_special_chars($string)
@@ -42,10 +45,9 @@ if (version_compare(PHP_VERSION, '5.2.3', '>=')) {
if (!is_array($string)) {
$string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string);
$string = htmlspecialchars($string);
- $string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string);
+ $string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string);
}
- return $string;
- }
-}
-?> \ No newline at end of file
+ return $string;
+ }
+}
diff --git a/library/Smarty/libs/plugins/shared.literal_compiler_param.php b/library/Smarty/libs/plugins/shared.literal_compiler_param.php
index dbcd9374c..47d728a76 100644
--- a/library/Smarty/libs/plugins/shared.literal_compiler_param.php
+++ b/library/Smarty/libs/plugins/shared.literal_compiler_param.php
@@ -2,7 +2,7 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsShared
*/
@@ -12,22 +12,24 @@
* @param array $params parameter array as given to the compiler function
* @param integer $index array index of the parameter to convert
* @param mixed $default value to be returned if the parameter is not present
+ *
* @return mixed evaluated value of parameter or $default
* @throws SmartyException if parameter is not a literal (but an expression, variable, …)
* @author Rodney Rehm
*/
-function smarty_literal_compiler_param($params, $index, $default=null)
+function smarty_literal_compiler_param($params, $index, $default = null)
{
// not set, go default
if (!isset($params[$index])) {
return $default;
}
// test if param is a literal
- if (!preg_match('/^([\'"]?)[a-zA-Z0-9]+(\\1)$/', $params[$index])) {
+ if (!preg_match('/^([\'"]?)[a-zA-Z0-9-]+(\\1)$/', $params[$index])) {
throw new SmartyException('$param[' . $index . '] is not a literal and is thus not evaluatable at compile time');
}
$t = null;
eval("\$t = " . $params[$index] . ";");
+
return $t;
}
diff --git a/library/Smarty/libs/plugins/shared.make_timestamp.php b/library/Smarty/libs/plugins/shared.make_timestamp.php
index 5d7c97e91..7c94e5f59 100644
--- a/library/Smarty/libs/plugins/shared.make_timestamp.php
+++ b/library/Smarty/libs/plugins/shared.make_timestamp.php
@@ -2,7 +2,7 @@
/**
* Smarty shared plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsShared
*/
@@ -11,7 +11,9 @@
* Purpose: used by other smarty functions to make a timestamp from a string.
*
* @author Monte Ohrt <monte at ohrt dot com>
- * @param DateTime|int|string $string date object, timestamp or string that can be converted using strtotime()
+ *
+ * @param DateTime|int|string $string date object, timestamp or string that can be converted using strtotime()
+ *
* @return int
*/
function smarty_make_timestamp($string)
@@ -23,20 +25,19 @@ function smarty_make_timestamp($string)
return $string->getTimestamp();
} elseif (strlen($string) == 14 && ctype_digit($string)) {
// it is mysql timestamp format of YYYYMMDDHHMMSS?
- return mktime(substr($string, 8, 2),substr($string, 10, 2),substr($string, 12, 2),
- substr($string, 4, 2),substr($string, 6, 2),substr($string, 0, 4));
+ return mktime(substr($string, 8, 2), substr($string, 10, 2), substr($string, 12, 2),
+ substr($string, 4, 2), substr($string, 6, 2), substr($string, 0, 4));
} elseif (is_numeric($string)) {
// it is a numeric string, we handle it as timestamp
return (int) $string;
} else {
// strtotime should handle it
$time = strtotime($string);
- if ($time == -1 || $time === false) {
+ if ($time == - 1 || $time === false) {
// strtotime() was not able to parse $string, use "now":
return time();
}
+
return $time;
}
}
-
-?>
diff --git a/library/Smarty/libs/plugins/shared.mb_str_replace.php b/library/Smarty/libs/plugins/shared.mb_str_replace.php
index ecafeb74a..a5682ed30 100644
--- a/library/Smarty/libs/plugins/shared.mb_str_replace.php
+++ b/library/Smarty/libs/plugins/shared.mb_str_replace.php
@@ -2,7 +2,7 @@
/**
* Smarty shared plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsShared
*/
if (!function_exists('smarty_mb_str_replace')) {
@@ -10,14 +10,15 @@ if (!function_exists('smarty_mb_str_replace')) {
/**
* Multibyte string replace
*
- * @param string $search the string to be searched
- * @param string $replace the replacement string
- * @param string $subject the source string
- * @param int &$count number of matches found
+ * @param string $search the string to be searched
+ * @param string $replace the replacement string
+ * @param string $subject the source string
+ * @param int &$count number of matches found
+ *
* @return string replaced string
* @author Rodney Rehm
*/
- function smarty_mb_str_replace($search, $replace, $subject, &$count=0)
+ function smarty_mb_str_replace($search, $replace, $subject, &$count = 0)
{
if (!is_array($search) && is_array($replace)) {
return false;
@@ -25,7 +26,7 @@ if (!function_exists('smarty_mb_str_replace')) {
if (is_array($subject)) {
// call mb_replace for each single string in $subject
foreach ($subject as &$string) {
- $string = &smarty_mb_str_replace($search, $replace, $string, $c);
+ $string = & smarty_mb_str_replace($search, $replace, $string, $c);
$count += $c;
}
} elseif (is_array($search)) {
@@ -36,7 +37,7 @@ if (!function_exists('smarty_mb_str_replace')) {
}
} else {
$n = max(count($search), count($replace));
- while ($n--) {
+ while ($n --) {
$subject = smarty_mb_str_replace(current($search), current($replace), $subject, $c);
$count += $c;
next($search);
@@ -48,8 +49,7 @@ if (!function_exists('smarty_mb_str_replace')) {
$count = count($parts) - 1;
$subject = implode($replace, $parts);
}
+
return $subject;
}
-
}
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/shared.mb_unicode.php b/library/Smarty/libs/plugins/shared.mb_unicode.php
index e7f839ec8..0f790b56a 100644
--- a/library/Smarty/libs/plugins/shared.mb_unicode.php
+++ b/library/Smarty/libs/plugins/shared.mb_unicode.php
@@ -2,47 +2,53 @@
/**
* Smarty shared plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsShared
*/
/**
* convert characters to their decimal unicode equivalents
*
- * @link http://www.ibm.com/developerworks/library/os-php-unicode/index.html#listing3 for inspiration
+ * @link http://www.ibm.com/developerworks/library/os-php-unicode/index.html#listing3 for inspiration
+ *
* @param string $string characters to calculate unicode of
* @param string $encoding encoding of $string, if null mb_internal_encoding() is used
+ *
* @return array sequence of unicodes
* @author Rodney Rehm
*/
-function smarty_mb_to_unicode($string, $encoding=null) {
+function smarty_mb_to_unicode($string, $encoding = null)
+{
if ($encoding) {
$expanded = mb_convert_encoding($string, "UTF-32BE", $encoding);
} else {
$expanded = mb_convert_encoding($string, "UTF-32BE");
}
+
return unpack("N*", $expanded);
}
/**
* convert unicodes to the character of given encoding
*
- * @link http://www.ibm.com/developerworks/library/os-php-unicode/index.html#listing3 for inspiration
+ * @link http://www.ibm.com/developerworks/library/os-php-unicode/index.html#listing3 for inspiration
+ *
* @param integer|array $unicode single unicode or list of unicodes to convert
* @param string $encoding encoding of returned string, if null mb_internal_encoding() is used
+ *
* @return string unicode as character sequence in given $encoding
* @author Rodney Rehm
*/
-function smarty_mb_from_unicode($unicode, $encoding=null) {
+function smarty_mb_from_unicode($unicode, $encoding = null)
+{
$t = '';
if (!$encoding) {
$encoding = mb_internal_encoding();
}
- foreach((array) $unicode as $utf32be) {
+ foreach ((array) $unicode as $utf32be) {
$character = pack("N*", $utf32be);
$t .= mb_convert_encoding($character, $encoding, "UTF-32BE");
}
+
return $t;
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/shared.mb_wordwrap.php b/library/Smarty/libs/plugins/shared.mb_wordwrap.php
index ba3498c70..31f4acf01 100644
--- a/library/Smarty/libs/plugins/shared.mb_wordwrap.php
+++ b/library/Smarty/libs/plugins/shared.mb_wordwrap.php
@@ -2,44 +2,40 @@
/**
* Smarty shared plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsShared
*/
-if(!function_exists('smarty_mb_wordwrap')) {
+if (!function_exists('smarty_mb_wordwrap')) {
/**
* Wrap a string to a given number of characters
*
- * @link http://php.net/manual/en/function.wordwrap.php for similarity
- * @param string $str the string to wrap
- * @param int $width the width of the output
- * @param string $break the character used to break the line
- * @param boolean $cut ignored parameter, just for the sake of
- * @return string wrapped string
+ * @link http://php.net/manual/en/function.wordwrap.php for similarity
+ *
+ * @param string $str the string to wrap
+ * @param int $width the width of the output
+ * @param string $break the character used to break the line
+ * @param boolean $cut ignored parameter, just for the sake of
+ *
+ * @return string wrapped string
* @author Rodney Rehm
*/
- function smarty_mb_wordwrap($str, $width=75, $break="\n", $cut=false)
+ function smarty_mb_wordwrap($str, $width = 75, $break = "\n", $cut = false)
{
// break words into tokens using white space as a delimiter
- $tokens = preg_split('!(\s)!S' . Smarty::$_UTF8_MODIFIER, $str, -1, PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE);
+ $tokens = preg_split('!(\s)!S' . Smarty::$_UTF8_MODIFIER, $str, - 1, PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE);
$length = 0;
$t = '';
$_previous = false;
+ $_space = false;
foreach ($tokens as $_token) {
$token_length = mb_strlen($_token, Smarty::$_CHARSET);
$_tokens = array($_token);
if ($token_length > $width) {
- // remove last space
- $t = mb_substr($t, 0, -1, Smarty::$_CHARSET);
- $_previous = false;
- $length = 0;
-
- if ($cut) {
- $_tokens = preg_split('!(.{' . $width . '})!S' . Smarty::$_UTF8_MODIFIER, $_token, -1, PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE);
- // broken words go on a new line
- $t .= $break;
+ if ($cut) {
+ $_tokens = preg_split('!(.{' . $width . '})!S' . Smarty::$_UTF8_MODIFIER, $_token, - 1, PREG_SPLIT_NO_EMPTY + PREG_SPLIT_DELIM_CAPTURE);
}
}
@@ -50,27 +46,23 @@ if(!function_exists('smarty_mb_wordwrap')) {
if ($length > $width) {
// remove space before inserted break
- if ($_previous && $token_length < $width) {
- $t = mb_substr($t, 0, -1, Smarty::$_CHARSET);
+ if ($_previous) {
+ $t = mb_substr($t, 0, - 1, Smarty::$_CHARSET);
}
- // add the break before the token
- $t .= $break;
- $length = $token_length;
-
- // skip space after inserting a break
- if ($_space) {
- $length = 0;
- continue;
+ if (!$_space) {
+ // add the break before the token
+ if (!empty($t)) {
+ $t .= $break;
+ }
+ $length = $token_length;
}
- } else if ($token == "\n") {
+ } elseif ($token == "\n") {
// hard break must reset counters
$_previous = 0;
$length = 0;
- } else {
- // remember if we had a space or not
- $_previous = $_space;
}
+ $_previous = $_space;
// add the token
$t .= $token;
}
@@ -78,6 +70,4 @@ if(!function_exists('smarty_mb_wordwrap')) {
return $t;
}
-
}
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/plugins/variablefilter.htmlspecialchars.php b/library/Smarty/libs/plugins/variablefilter.htmlspecialchars.php
index aff711e48..aecd1e7e7 100644
--- a/library/Smarty/libs/plugins/variablefilter.htmlspecialchars.php
+++ b/library/Smarty/libs/plugins/variablefilter.htmlspecialchars.php
@@ -2,20 +2,18 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsFilter
*/
/**
* Smarty htmlspecialchars variablefilter plugin
*
- * @param string $source input string
- * @param Smarty_Internal_Template $smarty Smarty object
+ * @param string $source input string
+ *
* @return string filtered output
*/
-function smarty_variablefilter_htmlspecialchars($source, $smarty)
+function smarty_variablefilter_htmlspecialchars($source)
{
return htmlspecialchars($source, ENT_QUOTES, Smarty::$_CHARSET);
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_cacheresource.php b/library/Smarty/libs/sysplugins/smarty_cacheresource.php
index ca18add5e..667bee44f 100644
--- a/library/Smarty/libs/sysplugins/smarty_cacheresource.php
+++ b/library/Smarty/libs/sysplugins/smarty_cacheresource.php
@@ -1,106 +1,123 @@
<?php
/**
-* Smarty Internal Plugin
-*
-* @package Smarty
-* @subpackage Cacher
-*/
+ * Smarty Internal Plugin
+ *
+ * @package Smarty
+ * @subpackage Cacher
+ */
/**
-* Cache Handler API
-*
-* @package Smarty
-* @subpackage Cacher
-* @author Rodney Rehm
-*/
-abstract class Smarty_CacheResource {
+ * Cache Handler API
+ *
+ * @package Smarty
+ * @subpackage Cacher
+ * @author Rodney Rehm
+ */
+abstract class Smarty_CacheResource
+{
/**
- * cache for Smarty_CacheResource instances
- * @var array
- */
+ * cache for Smarty_CacheResource instances
+ *
+ * @var array
+ */
public static $resources = array();
/**
- * resource types provided by the core
- * @var array
- */
+ * resource types provided by the core
+ *
+ * @var array
+ */
protected static $sysplugins = array(
'file' => true,
);
/**
- * populate Cached Object with meta data from Resource
- *
- * @param Smarty_Template_Cached $cached cached object
- * @param Smarty_Internal_Template $_template template object
- * @return void
- */
- public abstract function populate(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template);
+ * populate Cached Object with meta data from Resource
+ *
+ * @param Smarty_Template_Cached $cached cached object
+ * @param Smarty_Internal_Template $_template template object
+ *
+ * @return void
+ */
+ abstract public function populate(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template);
/**
- * populate Cached Object with timestamp and exists from Resource
- *
- * @param Smarty_Template_Cached $source cached object
- * @return void
- */
- public abstract function populateTimestamp(Smarty_Template_Cached $cached);
+ * populate Cached Object with timestamp and exists from Resource
+ *
+ * @param Smarty_Template_Cached $cached
+ *
+ * @return void
+ */
+ abstract public function populateTimestamp(Smarty_Template_Cached $cached);
/**
- * Read the cached template and process header
- *
- * @param Smarty_Internal_Template $_template template object
- * @param Smarty_Template_Cached $cached cached object
- * @return booelan true or false if the cached content does not exist
- */
- public abstract function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached=null);
+ * Read the cached template and process header
+ *
+ * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Cached $cached cached object
+ *
+ * @return boolean true or false if the cached content does not exist
+ */
+ abstract public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null);
/**
- * Write the rendered template output to cache
- *
- * @param Smarty_Internal_Template $_template template object
- * @param string $content content to cache
- * @return boolean success
- */
- public abstract function writeCachedContent(Smarty_Internal_Template $_template, $content);
+ * Write the rendered template output to cache
+ *
+ * @param Smarty_Internal_Template $_template template object
+ * @param string $content content to cache
+ *
+ * @return boolean success
+ */
+ abstract public function writeCachedContent(Smarty_Internal_Template $_template, $content);
/**
- * Return cached content
- *
- * @param Smarty_Internal_Template $_template template object
- * @param string $content content of cache
- */
+ * Return cached content
+ *
+ * @param Smarty_Internal_Template $_template template object
+ *
+ * @return null|string
+ */
public function getCachedContent(Smarty_Internal_Template $_template)
{
if ($_template->cached->handler->process($_template)) {
ob_start();
$_template->properties['unifunc']($_template);
+
return ob_get_clean();
}
+
return null;
}
/**
- * Empty cache
- *
- * @param Smarty $smarty Smarty object
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
- * @return integer number of cache files deleted
- */
- public abstract function clearAll(Smarty $smarty, $exp_time=null);
+ * Empty cache
+ *
+ * @param Smarty $smarty Smarty object
+ * @param integer $exp_time expiration time (number of seconds, not timestamp)
+ *
+ * @return integer number of cache files deleted
+ */
+ abstract public function clearAll(Smarty $smarty, $exp_time = null);
/**
- * Empty cache for a specific template
- *
- * @param Smarty $smarty Smarty object
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
- * @return integer number of cache files deleted
- */
- public abstract function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time);
-
+ * Empty cache for a specific template
+ *
+ * @param Smarty $smarty Smarty object
+ * @param string $resource_name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param integer $exp_time expiration time (number of seconds, not timestamp)
+ *
+ * @return integer number of cache files deleted
+ */
+ abstract public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time);
+ /**
+ * @param Smarty $smarty
+ * @param Smarty_Template_Cached $cached
+ *
+ * @return bool|null
+ */
public function locked(Smarty $smarty, Smarty_Template_Cached $cached)
{
// theoretically locking_timeout should be checked against time_limit (max_execution_time)
@@ -114,35 +131,61 @@ abstract class Smarty_CacheResource {
}
sleep(1);
}
+
return $hadLock;
}
+ /**
+ * Check is cache is locked for this template
+ *
+ * @param Smarty $smarty
+ * @param Smarty_Template_Cached $cached
+ *
+ * @return bool
+ */
public function hasLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
// check if lock exists
return false;
}
+ /**
+ * Lock cache for this template
+ *
+ * @param Smarty $smarty
+ * @param Smarty_Template_Cached $cached
+ *
+ * @return bool
+ */
public function acquireLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
// create lock
return true;
}
+ /**
+ * Unlock cache for this template
+ *
+ * @param Smarty $smarty
+ * @param Smarty_Template_Cached $cached
+ *
+ * @return bool
+ */
public function releaseLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
// release lock
return true;
}
-
/**
- * Load Cache Resource Handler
- *
- * @param Smarty $smarty Smarty object
- * @param string $type name of the cache resource
- * @return Smarty_CacheResource Cache Resource Handler
- */
+ * Load Cache Resource Handler
+ *
+ * @param Smarty $smarty Smarty object
+ * @param string $type name of the cache resource
+ *
+ * @throws SmartyException
+ * @return Smarty_CacheResource Cache Resource Handler
+ */
public static function load(Smarty $smarty, $type = null)
{
if (!isset($type)) {
@@ -153,7 +196,7 @@ abstract class Smarty_CacheResource {
if (isset($smarty->_cacheresource_handlers[$type])) {
return $smarty->_cacheresource_handlers[$type];
}
-
+
// try registered resource
if (isset($smarty->registered_cache_resources[$type])) {
// do not cache these instances as they may vary from instance to instance
@@ -165,6 +208,7 @@ abstract class Smarty_CacheResource {
$cache_resource_class = 'Smarty_Internal_CacheResource_' . ucfirst($type);
self::$resources[$type] = new $cache_resource_class();
}
+
return $smarty->_cacheresource_handlers[$type] = self::$resources[$type];
}
// try plugins dir
@@ -173,6 +217,7 @@ abstract class Smarty_CacheResource {
if (!isset(self::$resources[$type])) {
self::$resources[$type] = new $cache_resource_class();
}
+
return $smarty->_cacheresource_handlers[$type] = self::$resources[$type];
}
// give up
@@ -180,10 +225,10 @@ abstract class Smarty_CacheResource {
}
/**
- * Invalid Loaded Cache Files
- *
- * @param Smarty $smarty Smarty object
- */
+ * Invalid Loaded Cache Files
+ *
+ * @param Smarty $smarty Smarty object
+ */
public static function invalidLoadedCache(Smarty $smarty)
{
foreach ($smarty->template_objects as $tpl) {
@@ -196,92 +241,104 @@ abstract class Smarty_CacheResource {
}
/**
-* Smarty Resource Data Object
-*
-* Cache Data Container for Template Files
-*
-* @package Smarty
-* @subpackage TemplateResources
-* @author Rodney Rehm
-*/
-class Smarty_Template_Cached {
+ * Smarty Resource Data Object
+ * Cache Data Container for Template Files
+ *
+ * @package Smarty
+ * @subpackage TemplateResources
+ * @author Rodney Rehm
+ */
+class Smarty_Template_Cached
+{
/**
- * Source Filepath
- * @var string
- */
+ * Source Filepath
+ *
+ * @var string
+ */
public $filepath = false;
/**
- * Source Content
- * @var string
- */
+ * Source Content
+ *
+ * @var string
+ */
public $content = null;
/**
- * Source Timestamp
- * @var integer
- */
+ * Source Timestamp
+ *
+ * @var integer
+ */
public $timestamp = false;
/**
- * Source Existance
- * @var boolean
- */
+ * Source Existence
+ *
+ * @var boolean
+ */
public $exists = false;
/**
- * Cache Is Valid
- * @var boolean
- */
+ * Cache Is Valid
+ *
+ * @var boolean
+ */
public $valid = false;
/**
- * Cache was processed
- * @var boolean
- */
+ * Cache was processed
+ *
+ * @var boolean
+ */
public $processed = false;
/**
- * CacheResource Handler
- * @var Smarty_CacheResource
- */
+ * CacheResource Handler
+ *
+ * @var Smarty_CacheResource
+ */
public $handler = null;
/**
- * Template Compile Id (Smarty_Internal_Template::$compile_id)
- * @var string
- */
+ * Template Compile Id (Smarty_Internal_Template::$compile_id)
+ *
+ * @var string
+ */
public $compile_id = null;
/**
- * Template Cache Id (Smarty_Internal_Template::$cache_id)
- * @var string
- */
+ * Template Cache Id (Smarty_Internal_Template::$cache_id)
+ *
+ * @var string
+ */
public $cache_id = null;
/**
- * Id for cache locking
- * @var string
- */
+ * Id for cache locking
+ *
+ * @var string
+ */
public $lock_id = null;
/**
- * flag that cache is locked by this instance
- * @var bool
- */
+ * flag that cache is locked by this instance
+ *
+ * @var bool
+ */
public $is_locked = false;
/**
- * Source Object
- * @var Smarty_Template_Source
- */
+ * Source Object
+ *
+ * @var Smarty_Template_Source
+ */
public $source = null;
/**
- * create Cached Object container
- *
- * @param Smarty_Internal_Template $_template template object
- */
+ * create Cached Object container
+ *
+ * @param Smarty_Internal_Template $_template template object
+ */
public function __construct(Smarty_Internal_Template $_template)
{
$this->compile_id = $_template->compile_id;
@@ -300,6 +357,7 @@ class Smarty_Template_Cached {
//
if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || $_template->source->recompiled) {
$handler->populate($this, $_template);
+
return;
}
while (true) {
@@ -328,7 +386,7 @@ class Smarty_Template_Cached {
if ($smarty->debugging) {
Smarty_Internal_Debug::start_cache($_template);
}
- if($handler->process($_template, $this) === false) {
+ if ($handler->process($_template, $this) === false) {
$this->valid = false;
} else {
$this->processed = true;
@@ -347,6 +405,7 @@ class Smarty_Template_Cached {
}
if (!$this->valid && $_template->smarty->cache_locking) {
$this->handler->acquireLock($_template->smarty, $this);
+
return;
} else {
return;
@@ -355,27 +414,29 @@ class Smarty_Template_Cached {
}
/**
- * Write this cache object to handler
- *
- * @param Smarty_Internal_Template $_template template object
- * @param string $content content to cache
- * @return boolean success
- */
+ * Write this cache object to handler
+ *
+ * @param Smarty_Internal_Template $_template template object
+ * @param string $content content to cache
+ *
+ * @return boolean success
+ */
public function write(Smarty_Internal_Template $_template, $content)
{
if (!$_template->source->recompiled) {
if ($this->handler->writeCachedContent($_template, $content)) {
+ $this->content = null;
$this->timestamp = time();
$this->exists = true;
$this->valid = true;
if ($_template->smarty->cache_locking) {
$this->handler->releaseLock($_template->smarty, $this);
}
+
return true;
}
}
+
return false;
}
-
}
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_cacheresource_custom.php b/library/Smarty/libs/sysplugins/smarty_cacheresource_custom.php
index ee9de157b..a258b2de7 100644
--- a/library/Smarty/libs/sysplugins/smarty_cacheresource_custom.php
+++ b/library/Smarty/libs/sysplugins/smarty_cacheresource_custom.php
@@ -2,42 +2,43 @@
/**
* Smarty Internal Plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage Cacher
*/
/**
* Cache Handler API
*
- * @package Smarty
+ * @package Smarty
* @subpackage Cacher
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
-abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource {
-
+abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource
+{
/**
* fetch cached content and its modification time from data source
*
- * @param string $id unique cache content identifier
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $content cached content
- * @param integer $mtime cache modification timestamp (epoch)
+ * @param string $id unique cache content identifier
+ * @param string $name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param string $content cached content
+ * @param integer $mtime cache modification timestamp (epoch)
+ *
* @return void
*/
- protected abstract function fetch($id, $name, $cache_id, $compile_id, &$content, &$mtime);
+ abstract protected function fetch($id, $name, $cache_id, $compile_id, &$content, &$mtime);
/**
* Fetch cached content's modification timestamp from data source
- *
* {@internal implementing this method is optional.
* Only implement it if modification times can be accessed faster than loading the complete cached content.}}
*
- * @param string $id unique cache content identifier
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
+ * @param string $id unique cache content identifier
+ * @param string $name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ *
* @return integer|boolean timestamp (epoch) the template was modified, or false if not found
*/
protected function fetchTimestamp($id, $name, $cache_id, $compile_id)
@@ -48,32 +49,35 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource {
/**
* Save content to cache
*
- * @param string $id unique cache content identifier
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer|null $exp_time seconds till expiration or null
- * @param string $content content to cache
- * @return boolean success
+ * @param string $id unique cache content identifier
+ * @param string $name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param integer|null $exp_time seconds till expiration or null
+ * @param string $content content to cache
+ *
+ * @return boolean success
*/
- protected abstract function save($id, $name, $cache_id, $compile_id, $exp_time, $content);
+ abstract protected function save($id, $name, $cache_id, $compile_id, $exp_time, $content);
/**
* Delete content from cache
*
- * @param string $name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer|null $exp_time seconds till expiration time in seconds or null
- * @return integer number of deleted caches
+ * @param string $name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param integer|null $exp_time seconds till expiration time in seconds or null
+ *
+ * @return integer number of deleted caches
*/
- protected abstract function delete($name, $cache_id, $compile_id, $exp_time);
+ abstract protected function delete($name, $cache_id, $compile_id, $exp_time);
/**
* populate Cached Object with meta data from Resource
*
- * @param Smarty_Template_Cached $cached cached object
- * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Cached $cached cached object
+ * @param Smarty_Internal_Template $_template template object
+ *
* @return void
*/
public function populate(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template)
@@ -88,7 +92,8 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource {
/**
* populate Cached Object with timestamp and exists from Resource
*
- * @param Smarty_Template_Cached $source cached object
+ * @param Smarty_Template_Cached $cached
+ *
* @return void
*/
public function populateTimestamp(Smarty_Template_Cached $cached)
@@ -97,6 +102,7 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource {
if ($mtime !== null) {
$cached->timestamp = $mtime;
$cached->exists = !!$cached->timestamp;
+
return;
}
$timestamp = null;
@@ -108,11 +114,12 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource {
/**
* Read the cached template and process the header
*
- * @param Smarty_Internal_Template $_template template object
- * @param Smarty_Template_Cached $cached cached object
- * @return booelan true or false if the cached content does not exist
+ * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Cached $cached cached object
+ *
+ * @return boolean true or false if the cached content does not exist
*/
- public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached=null)
+ public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null)
{
if (!$cached) {
$cached = $_template->cached;
@@ -130,19 +137,25 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource {
);
}
if (isset($content)) {
+ /** @var Smarty_Internal_Template $_smarty_tpl
+ * used in evaluated code
+ */
$_smarty_tpl = $_template;
eval("?>" . $content);
+
return true;
}
+
return false;
}
/**
* Write the rendered template output to cache
*
- * @param Smarty_Internal_Template $_template template object
- * @param string $content content to cache
- * @return boolean success
+ * @param Smarty_Internal_Template $_template template object
+ * @param string $content content to cache
+ *
+ * @return boolean success
*/
public function writeCachedContent(Smarty_Internal_Template $_template, $content)
{
@@ -159,38 +172,69 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource {
/**
* Empty cache
*
- * @param Smarty $smarty Smarty object
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
+ * @param Smarty $smarty Smarty object
+ * @param integer $exp_time expiration time (number of seconds, not timestamp)
+ *
* @return integer number of cache files deleted
*/
- public function clearAll(Smarty $smarty, $exp_time=null)
+ public function clearAll(Smarty $smarty, $exp_time = null)
{
$this->cache = array();
+
return $this->delete(null, null, null, $exp_time);
}
/**
* Empty cache for a specific template
*
- * @param Smarty $smarty Smarty object
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
+ * @param Smarty $smarty Smarty object
+ * @param string $resource_name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param integer $exp_time expiration time (number of seconds, not timestamp)
+ *
* @return integer number of cache files deleted
*/
public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time)
{
$this->cache = array();
- return $this->delete($resource_name, $cache_id, $compile_id, $exp_time);
+ $cache_name = null;
+
+ if (isset($resource_name)) {
+ $_save_stat = $smarty->caching;
+ $smarty->caching = true;
+ $tpl = new $smarty->template_class($resource_name, $smarty);
+ $smarty->caching = $_save_stat;
+
+ if ($tpl->source->exists) {
+ $cache_name = $tpl->source->name;
+ } else {
+ return 0;
+ }
+ // remove from template cache
+ if ($smarty->allow_ambiguous_resources) {
+ $_templateId = $tpl->source->unique_resource . $tpl->cache_id . $tpl->compile_id;
+ } else {
+ $_templateId = $smarty->joined_template_dir . '#' . $resource_name . $tpl->cache_id . $tpl->compile_id;
+ }
+ if (isset($_templateId[150])) {
+ $_templateId = sha1($_templateId);
+ }
+ unset($smarty->template_objects[$_templateId]);
+ // template object no longer needed
+ unset($tpl);
+ }
+
+ return $this->delete($cache_name, $cache_id, $compile_id, $exp_time);
}
/**
* Check is cache is locked for this template
*
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- * @return booelan true or false if cache is locked
+ * @param Smarty $smarty Smarty object
+ * @param Smarty_Template_Cached $cached cached object
+ *
+ * @return boolean true or false if cache is locked
*/
public function hasLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
@@ -208,8 +252,10 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource {
/**
* Lock cache for this template
*
- * @param Smarty $smarty Smarty object
+ * @param Smarty $smarty Smarty object
* @param Smarty_Template_Cached $cached cached object
+ *
+ * @return bool|void
*/
public function acquireLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
@@ -223,8 +269,10 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource {
/**
* Unlock cache for this template
*
- * @param Smarty $smarty Smarty object
+ * @param Smarty $smarty Smarty object
* @param Smarty_Template_Cached $cached cached object
+ *
+ * @return bool|void
*/
public function releaseLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
@@ -234,4 +282,3 @@ abstract class Smarty_CacheResource_Custom extends Smarty_CacheResource {
$this->delete($name, null, null, null);
}
}
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php b/library/Smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php
index dff9b65aa..a4b365a82 100644
--- a/library/Smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php
+++ b/library/Smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php
@@ -2,44 +2,43 @@
/**
* Smarty Internal Plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage Cacher
*/
/**
* Smarty Cache Handler Base for Key/Value Storage Implementations
- *
* This class implements the functionality required to use simple key/value stores
* for hierarchical cache groups. key/value stores like memcache or APC do not support
* wildcards in keys, therefore a cache group cannot be cleared like "a|*" - which
* is no problem to filesystem and RDBMS implementations.
- *
* This implementation is based on the concept of invalidation. While one specific cache
* can be identified and cleared, any range of caches cannot be identified. For this reason
* each level of the cache group hierarchy can have its own value in the store. These values
* are nothing but microtimes, telling us when a particular cache group was cleared for the
* last time. These keys are evaluated for every cache read to determine if the cache has
* been invalidated since it was created and should hence be treated as inexistent.
- *
* Although deep hierarchies are possible, they are not recommended. Try to keep your
* cache groups as shallow as possible. Anything up 3-5 parents should be ok. So
* »a|b|c« is a good depth where »a|b|c|d|e|f|g|h|i|j|k« isn't. Try to join correlating
* cache groups: if your cache groups look somewhat like »a|b|$page|$items|$whatever«
* consider using »a|b|c|$page-$items-$whatever« instead.
*
- * @package Smarty
+ * @package Smarty
* @subpackage Cacher
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
-abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
-
+abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource
+{
/**
* cache for contents
+ *
* @var array
*/
protected $contents = array();
/**
* cache for timestamps
+ *
* @var array
*/
protected $timestamps = array();
@@ -47,16 +46,17 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
/**
* populate Cached Object with meta data from Resource
*
- * @param Smarty_Template_Cached $cached cached object
- * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Cached $cached cached object
+ * @param Smarty_Internal_Template $_template template object
+ *
* @return void
*/
public function populate(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template)
{
$cached->filepath = $_template->source->uid
- . '#' . $this->sanitize($cached->source->name)
- . '#' . $this->sanitize($cached->cache_id)
- . '#' . $this->sanitize($cached->compile_id);
+ . '#' . $this->sanitize($cached->source->resource)
+ . '#' . $this->sanitize($cached->cache_id)
+ . '#' . $this->sanitize($cached->compile_id);
$this->populateTimestamp($cached);
}
@@ -64,7 +64,8 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
/**
* populate Cached Object with timestamp and exists from Resource
*
- * @param Smarty_Template_Cached $cached cached object
+ * @param Smarty_Template_Cached $cached cached object
+ *
* @return void
*/
public function populateTimestamp(Smarty_Template_Cached $cached)
@@ -80,11 +81,12 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
/**
* Read the cached template and process the header
*
- * @param Smarty_Internal_Template $_template template object
- * @param Smarty_Template_Cached $cached cached object
- * @return booelan true or false if the cached content does not exist
+ * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Cached $cached cached object
+ *
+ * @return boolean true or false if the cached content does not exist
*/
- public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached=null)
+ public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null)
{
if (!$cached) {
$cached = $_template->cached;
@@ -97,55 +99,63 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
}
}
if (isset($content)) {
+ /** @var Smarty_Internal_Template $_smarty_tpl
+ * used in evaluated code
+ */
$_smarty_tpl = $_template;
eval("?>" . $content);
+
return true;
}
+
return false;
}
/**
* Write the rendered template output to cache
*
- * @param Smarty_Internal_Template $_template template object
- * @param string $content content to cache
- * @return boolean success
+ * @param Smarty_Internal_Template $_template template object
+ * @param string $content content to cache
+ *
+ * @return boolean success
*/
public function writeCachedContent(Smarty_Internal_Template $_template, $content)
{
$this->addMetaTimestamp($content);
+
return $this->write(array($_template->cached->filepath => $content), $_template->properties['cache_lifetime']);
}
/**
* Empty cache
- *
* {@internal the $exp_time argument is ignored altogether }}
*
- * @param Smarty $smarty Smarty object
- * @param integer $exp_time expiration time [being ignored]
+ * @param Smarty $smarty Smarty object
+ * @param integer $exp_time expiration time [being ignored]
+ *
* @return integer number of cache files deleted [always -1]
* @uses purge() to clear the whole store
* @uses invalidate() to mark everything outdated if purge() is inapplicable
*/
- public function clearAll(Smarty $smarty, $exp_time=null)
+ public function clearAll(Smarty $smarty, $exp_time = null)
{
if (!$this->purge()) {
$this->invalidate(null);
}
- return -1;
+
+ return - 1;
}
/**
* Empty cache for a specific template
- *
* {@internal the $exp_time argument is ignored altogether}}
*
- * @param Smarty $smarty Smarty object
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param integer $exp_time expiration time [being ignored]
+ * @param Smarty $smarty Smarty object
+ * @param string $resource_name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param integer $exp_time expiration time [being ignored]
+ *
* @return integer number of cache files deleted [always -1]
* @uses buildCachedFilepath() to generate the CacheID
* @uses invalidate() to mark CacheIDs parent chain as outdated
@@ -157,15 +167,18 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
$cid = $uid . '#' . $this->sanitize($resource_name) . '#' . $this->sanitize($cache_id) . '#' . $this->sanitize($compile_id);
$this->delete(array($cid));
$this->invalidate($cid, $resource_name, $cache_id, $compile_id, $uid);
- return -1;
+
+ return - 1;
}
+
/**
* Get template's unique ID
*
- * @param Smarty $smarty Smarty object
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
+ * @param Smarty $smarty Smarty object
+ * @param string $resource_name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ *
* @return string filepath of cache file
*/
protected function getTemplateUid(Smarty $smarty, $resource_name, $cache_id, $compile_id)
@@ -176,7 +189,7 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
if ($tpl->source->exists) {
$uid = $tpl->source->uid;
}
-
+
// remove from template cache
if ($smarty->allow_ambiguous_resources) {
$_templateId = $tpl->source->unique_resource . $tpl->cache_id . $tpl->compile_id;
@@ -188,13 +201,15 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
}
unset($smarty->template_objects[$_templateId]);
}
+
return $uid;
}
/**
* Sanitize CacheID components
*
- * @param string $string CacheID component to sanitize
+ * @param string $string CacheID component to sanitize
+ *
* @return string sanitized CacheID component
*/
protected function sanitize($string)
@@ -204,19 +219,21 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
if (!$string) {
return null;
}
+
return preg_replace('#[^\w\|]+#S', '_', $string);
}
/**
* Fetch and prepare a cache object.
*
- * @param string $cid CacheID to fetch
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $content cached content
- * @param integer &$timestamp cached timestamp (epoch)
- * @param string $resource_uid resource's uid
+ * @param string $cid CacheID to fetch
+ * @param string $resource_name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param string $content cached content
+ * @param integer &$timestamp cached timestamp (epoch)
+ * @param string $resource_uid resource's uid
+ *
* @return boolean success
*/
protected function fetch($cid, $resource_name = null, $cache_id = null, $compile_id = null, &$content = null, &$timestamp = null, $resource_uid = null)
@@ -238,7 +255,6 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
/**
* Add current microtime to the beginning of $cache_content
- *
* {@internal the header uses 8 Bytes, the first 4 Bytes are the seconds, the second 4 Bytes are the microseconds}}
*
* @param string &$content the content to be cached
@@ -253,25 +269,28 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
/**
* Extract the timestamp the $content was cached
*
- * @param string &$content the cached content
- * @return float the microtime the content was cached
+ * @param string &$content the cached content
+ *
+ * @return float the microtime the content was cached
*/
protected function getMetaTimestamp(&$content)
{
$s = unpack("N", substr($content, 0, 4));
$m = unpack("N", substr($content, 4, 4));
$content = substr($content, 8);
+
return $s[1] + ($m[1] / 100000000);
}
/**
* Invalidate CacheID
*
- * @param string $cid CacheID
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $resource_uid source's uid
+ * @param string $cid CacheID
+ * @param string $resource_name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param string $resource_uid source's uid
+ *
* @return void
*/
protected function invalidate($cid = null, $resource_name = null, $cache_id = null, $compile_id = null, $resource_uid = null)
@@ -281,22 +300,24 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
// invalidate everything
if (!$resource_name && !$cache_id && !$compile_id) {
$key = 'IVK#ALL';
- }
- // invalidate all caches by template
- else if ($resource_name && !$cache_id && !$compile_id) {
- $key = 'IVK#TEMPLATE#' . $resource_uid . '#' . $this->sanitize($resource_name);
- }
- // invalidate all caches by cache group
- else if (!$resource_name && $cache_id && !$compile_id) {
- $key = 'IVK#CACHE#' . $this->sanitize($cache_id);
- }
- // invalidate all caches by compile id
- else if (!$resource_name && !$cache_id && $compile_id) {
- $key = 'IVK#COMPILE#' . $this->sanitize($compile_id);
- }
- // invalidate by combination
+ } // invalidate all caches by template
else {
- $key = 'IVK#CID#' . $cid;
+ if ($resource_name && !$cache_id && !$compile_id) {
+ $key = 'IVK#TEMPLATE#' . $resource_uid . '#' . $this->sanitize($resource_name);
+ } // invalidate all caches by cache group
+ else {
+ if (!$resource_name && $cache_id && !$compile_id) {
+ $key = 'IVK#CACHE#' . $this->sanitize($cache_id);
+ } // invalidate all caches by compile id
+ else {
+ if (!$resource_name && !$cache_id && $compile_id) {
+ $key = 'IVK#COMPILE#' . $this->sanitize($compile_id);
+ } // invalidate by combination
+ else {
+ $key = 'IVK#CID#' . $cid;
+ }
+ }
+ }
}
$this->write(array($key => $now));
}
@@ -304,12 +325,13 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
/**
* Determine the latest timestamp known to the invalidation chain
*
- * @param string $cid CacheID to determine latest invalidation timestamp of
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $resource_uid source's filepath
- * @return float the microtime the CacheID was invalidated
+ * @param string $cid CacheID to determine latest invalidation timestamp of
+ * @param string $resource_name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param string $resource_uid source's filepath
+ *
+ * @return float the microtime the CacheID was invalidated
*/
protected function getLatestInvalidationTimestamp($cid, $resource_name = null, $cache_id = null, $compile_id = null, $resource_uid = null)
{
@@ -321,27 +343,28 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
if (!($_cid = $this->listInvalidationKeys($cid, $resource_name, $cache_id, $compile_id, $resource_uid))) {
return 0;
}
-
+
// there are no InValidationKeys
if (!($values = $this->read($_cid))) {
return 0;
}
// make sure we're dealing with floats
$values = array_map('floatval', $values);
+
return max($values);
}
/**
* Translate a CacheID into the list of applicable InvalidationKeys.
- *
* Splits "some|chain|into|an|array" into array( '#clearAll#', 'some', 'some|chain', 'some|chain|into', ... )
*
- * @param string $cid CacheID to translate
- * @param string $resource_name template name
- * @param string $cache_id cache id
- * @param string $compile_id compile id
- * @param string $resource_uid source's filepath
- * @return array list of InvalidationKeys
+ * @param string $cid CacheID to translate
+ * @param string $resource_name template name
+ * @param string $cache_id cache id
+ * @param string $compile_id compile id
+ * @param string $resource_uid source's filepath
+ *
+ * @return array list of InvalidationKeys
* @uses $invalidationKeyPrefix to prepend to each InvalidationKey
*/
protected function listInvalidationKeys($cid, $resource_name = null, $cache_id = null, $compile_id = null, $resource_uid = null)
@@ -378,30 +401,35 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
$t[] = 'IVK#CACHE#' . $part;
$t[] = 'IVK#CID' . $_name . $part . $_compile;
// skip past delimiter position
- $i++;
+ $i ++;
}
+
return $t;
}
/**
* Check is cache is locked for this template
*
- * @param Smarty $smarty Smarty object
- * @param Smarty_Template_Cached $cached cached object
- * @return booelan true or false if cache is locked
+ * @param Smarty $smarty Smarty object
+ * @param Smarty_Template_Cached $cached cached object
+ *
+ * @return boolean true or false if cache is locked
*/
public function hasLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
$key = 'LOCK#' . $cached->filepath;
$data = $this->read(array($key));
+
return $data && time() - $data[$key] < $smarty->locking_timeout;
}
/**
* Lock cache for this template
*
- * @param Smarty $smarty Smarty object
+ * @param Smarty $smarty Smarty object
* @param Smarty_Template_Cached $cached cached object
+ *
+ * @return bool|void
*/
public function acquireLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
@@ -413,8 +441,10 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
/**
* Unlock cache for this template
*
- * @param Smarty $smarty Smarty object
+ * @param Smarty $smarty Smarty object
* @param Smarty_Template_Cached $cached cached object
+ *
+ * @return bool|void
*/
public function releaseLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
@@ -426,27 +456,30 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
/**
* Read values for a set of keys from cache
*
- * @param array $keys list of keys to fetch
+ * @param array $keys list of keys to fetch
+ *
* @return array list of values with the given keys used as indexes
*/
- protected abstract function read(array $keys);
+ abstract protected function read(array $keys);
/**
* Save values for a set of keys to cache
*
- * @param array $keys list of values to save
- * @param int $expire expiration time
+ * @param array $keys list of values to save
+ * @param int $expire expiration time
+ *
* @return boolean true on success, false on failure
*/
- protected abstract function write(array $keys, $expire=null);
+ abstract protected function write(array $keys, $expire = null);
/**
* Remove values from cache
*
- * @param array $keys list of keys to delete
+ * @param array $keys list of keys to delete
+ *
* @return boolean true on success, false on failure
*/
- protected abstract function delete(array $keys);
+ abstract protected function delete(array $keys);
/**
* Remove *all* values from cache
@@ -457,7 +490,4 @@ abstract class Smarty_CacheResource_KeyValueStore extends Smarty_CacheResource {
{
return false;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_config_source.php b/library/Smarty/libs/sysplugins/smarty_config_source.php
index 043ff13e9..fd37e61f7 100644
--- a/library/Smarty/libs/sysplugins/smarty_config_source.php
+++ b/library/Smarty/libs/sysplugins/smarty_config_source.php
@@ -2,34 +2,32 @@
/**
* Smarty Internal Plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
*/
/**
* Smarty Resource Data Object
- *
* Meta Data Container for Config Files
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Rodney Rehm
- *
+ * @author Rodney Rehm
* @property string $content
* @property int $timestamp
* @property bool $exists
*/
-class Smarty_Config_Source extends Smarty_Template_Source {
-
+class Smarty_Config_Source extends Smarty_Template_Source
+{
/**
* create Config Object container
*
- * @param Smarty_Resource $handler Resource Handler this source object communicates with
- * @param Smarty $smarty Smarty instance this source object belongs to
- * @param string $resource full config_resource
- * @param string $type type of resource
- * @param string $name resource name
- * @param string $unique_resource unqiue resource name
+ * @param Smarty_Resource $handler Resource Handler this source object communicates with
+ * @param Smarty $smarty Smarty instance this source object belongs to
+ * @param string $resource full config_resource
+ * @param string $type type of resource
+ * @param string $name resource name
+ * @param string $unique_resource unqiue resource name
*/
public function __construct(Smarty_Resource $handler, Smarty $smarty, $resource, $type, $name, $unique_resource)
{
@@ -50,8 +48,9 @@ class Smarty_Config_Source extends Smarty_Template_Source {
/**
* <<magic>> Generic setter.
*
- * @param string $property_name valid: content, timestamp, exists
- * @param mixed $value newly assigned value (not check for correct type)
+ * @param string $property_name valid: content, timestamp, exists
+ * @param mixed $value newly assigned value (not check for correct type)
+ *
* @throws SmartyException when the given property name is not valid
*/
public function __set($property_name, $value)
@@ -71,7 +70,9 @@ class Smarty_Config_Source extends Smarty_Template_Source {
/**
* <<magic>> Generic getter.
*
- * @param string $property_name valid: content, timestamp, exists
+ * @param string $property_name valid: content, timestamp, exists
+ *
+ * @return mixed|void
* @throws SmartyException when the given property name is not valid
*/
public function __get($property_name)
@@ -80,6 +81,7 @@ class Smarty_Config_Source extends Smarty_Template_Source {
case 'timestamp':
case 'exists':
$this->handler->populateTimestamp($this);
+
return $this->$property_name;
case 'content':
@@ -89,7 +91,4 @@ class Smarty_Config_Source extends Smarty_Template_Source {
throw new SmartyException("config property '$property_name' does not exist.");
}
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_cacheresource_file.php b/library/Smarty/libs/sysplugins/smarty_internal_cacheresource_file.php
index e5d20bd6e..b8e99cc69 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_cacheresource_file.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_cacheresource_file.php
@@ -2,27 +2,27 @@
/**
* Smarty Internal Plugin CacheResource File
*
- * @package Smarty
+ * @package Smarty
* @subpackage Cacher
- * @author Uwe Tews
- * @author Rodney Rehm
+ * @author Uwe Tews
+ * @author Rodney Rehm
*/
/**
* This class does contain all necessary methods for the HTML cache on file system
- *
* Implements the file system as resource for the HTML cache Version ussing nocache inserts.
*
- * @package Smarty
+ * @package Smarty
* @subpackage Cacher
*/
-class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
-
+class Smarty_Internal_CacheResource_File extends Smarty_CacheResource
+{
/**
* populate Cached Object with meta data from Resource
*
* @param Smarty_Template_Cached $cached cached object
* @param Smarty_Internal_Template $_template template object
+ *
* @return void
*/
public function populate(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template)
@@ -58,7 +58,7 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
} else {
$_lock_dir = $_cache_dir;
}
- $cached->lock_id = $_lock_dir.sha1($_cache_id.$_compile_id.$_template->source->uid).'.lock';
+ $cached->lock_id = $_lock_dir . sha1($_cache_id . $_compile_id . $_template->source->uid) . '.lock';
}
$cached->filepath = $_cache_dir . $_cache_id . $_compile_id . $_filepath . '.' . basename($_source_file_path) . '.php';
$cached->timestamp = @filemtime($cached->filepath);
@@ -69,6 +69,7 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
* populate Cached Object with timestamp and exists from Resource
*
* @param Smarty_Template_Cached $cached cached object
+ *
* @return void
*/
public function populateTimestamp(Smarty_Template_Cached $cached)
@@ -81,12 +82,17 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
* Read the cached template and process its header
*
* @param Smarty_Internal_Template $_template template object
- * @param Smarty_Template_Cached $cached cached object
- * @return booelan true or false if the cached content does not exist
+ * @param Smarty_Template_Cached $cached cached object
+ *
+ * @return booleantrue or false if the cached content does not exist
*/
- public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached=null)
+ public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null)
{
+ /** @var Smarty_Internal_Template $_smarty_tpl
+ * used in included file
+ */
$_smarty_tpl = $_template;
+
return @include $_template->cached->filepath;
}
@@ -95,6 +101,7 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
*
* @param Smarty_Internal_Template $_template template object
* @param string $content content to cache
+ *
* @return boolean success
*/
public function writeCachedContent(Smarty_Internal_Template $_template, $content)
@@ -106,14 +113,16 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
return true;
}
}
+
return false;
}
/**
* Empty cache
*
- * @param Smarty_Internal_Template $_template template object
- * @param integer $exp_time expiration time (number of seconds, not timestamp)
+ * @param Smarty $smarty
+ * @param integer $exp_time expiration time (number of seconds, not timestamp)
+ *
* @return integer number of cache files deleted
*/
public function clearAll(Smarty $smarty, $exp_time = null)
@@ -124,20 +133,24 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
/**
* Empty cache for a specific template
*
- * @param Smarty $_template template object
+ * @param Smarty $smarty
* @param string $resource_name template name
* @param string $cache_id cache id
* @param string $compile_id compile id
* @param integer $exp_time expiration time (number of seconds, not timestamp)
+ *
* @return integer number of cache files deleted
- */
+ */
public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time)
{
$_cache_id = isset($cache_id) ? preg_replace('![^\w\|]+!', '_', $cache_id) : null;
$_compile_id = isset($compile_id) ? preg_replace('![^\w\|]+!', '_', $compile_id) : null;
$_dir_sep = $smarty->use_sub_dirs ? '/' : '^';
$_compile_id_offset = $smarty->use_sub_dirs ? 3 : 0;
- $_dir = $smarty->getCacheDir();
+ if (($_dir = realpath($smarty->getCacheDir())) === false) {
+ return 0;
+ }
+ $_dir .= '/';
$_dir_length = strlen($_dir);
if (isset($_cache_id)) {
$_cache_id_parts = explode('|', $_cache_id);
@@ -178,7 +191,9 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
$_cacheDirs = new RecursiveDirectoryIterator($_dir);
$_cache = new RecursiveIteratorIterator($_cacheDirs, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($_cache as $_file) {
- if (substr($_file->getBasename(),0,1) == '.' || strpos($_file, '.svn') !== false) continue;
+ if (substr(basename($_file->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) {
+ continue;
+ }
// directory ?
if ($_file->isDir()) {
if (!$_cache->isDot()) {
@@ -186,16 +201,16 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
@rmdir($_file->getPathname());
}
} else {
- $_parts = explode($_dir_sep, str_replace('\\', '/', substr((string)$_file, $_dir_length)));
+ $_parts = explode($_dir_sep, str_replace('\\', '/', substr((string) $_file, $_dir_length)));
$_parts_count = count($_parts);
// check name
if (isset($resource_name)) {
- if ($_parts[$_parts_count-1] != $_resourcename_parts) {
+ if ($_parts[$_parts_count - 1] != $_resourcename_parts) {
continue;
}
}
// check compile id
- if (isset($_compile_id) && (!isset($_parts[$_parts_count-2 - $_compile_id_offset]) || $_parts[$_parts_count-2 - $_compile_id_offset] != $_compile_id)) {
+ if (isset($_compile_id) && (!isset($_parts[$_parts_count - 2 - $_compile_id_offset]) || $_parts[$_parts_count - 2 - $_compile_id_offset] != $_compile_id)) {
continue;
}
// check cache id
@@ -205,27 +220,40 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
if ($_parts_count < $_cache_id_parts_count) {
continue;
}
- for ($i = 0; $i < $_cache_id_parts_count; $i++) {
- if ($_parts[$i] != $_cache_id_parts[$i]) continue 2;
+ for ($i = 0; $i < $_cache_id_parts_count; $i ++) {
+ if ($_parts[$i] != $_cache_id_parts[$i]) {
+ continue 2;
+ }
}
}
// expired ?
- if (isset($exp_time) && $_time - @filemtime($_file) < $exp_time) {
- continue;
+ if (isset($exp_time)) {
+ if ($exp_time < 0) {
+ preg_match('#\'cache_lifetime\' =>\s*(\d*)#', file_get_contents($_file), $match);
+ if ($_time < (@filemtime($_file) + $match[1])) {
+ continue;
+ }
+ } else {
+ if ($_time - @filemtime($_file) < $exp_time) {
+ continue;
+ }
+ }
}
$_count += @unlink((string) $_file) ? 1 : 0;
}
}
}
+
return $_count;
}
/**
* Check is cache is locked for this template
*
- * @param Smarty $smarty Smarty object
+ * @param Smarty $smarty Smarty object
* @param Smarty_Template_Cached $cached cached object
- * @return booelan true or false if cache is locked
+ *
+ * @return boolean true or false if cache is locked
*/
public function hasLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
@@ -235,14 +263,17 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
clearstatcache();
}
$t = @filemtime($cached->lock_id);
+
return $t && (time() - $t < $smarty->locking_timeout);
}
/**
* Lock cache for this template
*
- * @param Smarty $smarty Smarty object
+ * @param Smarty $smarty Smarty object
* @param Smarty_Template_Cached $cached cached object
+ *
+ * @return bool|void
*/
public function acquireLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
@@ -253,8 +284,10 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
/**
* Unlock cache for this template
*
- * @param Smarty $smarty Smarty object
+ * @param Smarty $smarty Smarty object
* @param Smarty_Template_Cached $cached cached object
+ *
+ * @return bool|void
*/
public function releaseLock(Smarty $smarty, Smarty_Template_Cached $cached)
{
@@ -262,5 +295,3 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource {
@unlink($cached->lock_id);
}
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_append.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_append.php
index f6036e883..cbf65685b 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_append.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_append.php
@@ -1,28 +1,28 @@
<?php
/**
* Smarty Internal Plugin Compile Append
- *
* Compiles the {append} tag
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Append Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Append extends Smarty_Internal_Compile_Assign {
-
+class Smarty_Internal_Compile_Append extends Smarty_Internal_Compile_Assign
+{
/**
* Compiles code for the {append} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
@@ -47,7 +47,4 @@ class Smarty_Internal_Compile_Append extends Smarty_Internal_Compile_Assign {
// call compile assign
return parent::compile($_new_attr, $compiler, $_params);
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_assign.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_assign.php
index 0ac3f68ce..caa34861f 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_assign.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_assign.php
@@ -1,28 +1,28 @@
<?php
/**
* Smarty Internal Plugin Compile Assign
- *
* Compiles the {assign} tag
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Assign Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {assign} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
@@ -39,7 +39,11 @@ class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase {
if ($compiler->tag_nocache || $compiler->nocache) {
$_nocache = 'true';
// create nocache var to make it know for further compiling
- $compiler->template->tpl_vars[trim($_attr['var'], "'")] = new Smarty_variable(null, true);
+ if (isset($compiler->template->tpl_vars[trim($_attr['var'], "'")])) {
+ $compiler->template->tpl_vars[trim($_attr['var'], "'")]->nocache = true;
+ } else {
+ $compiler->template->tpl_vars[trim($_attr['var'], "'")] = new Smarty_variable(null, true);
+ }
}
// scope setup
if (isset($_attr['scope'])) {
@@ -72,13 +76,11 @@ class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase {
} elseif ($_scope == Smarty::SCOPE_ROOT || $_scope == Smarty::SCOPE_GLOBAL) {
$output .= "\n\$_ptr = \$_smarty_tpl->parent; while (\$_ptr != null) {\$_ptr->tpl_vars[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]]; \$_ptr = \$_ptr->parent; }";
}
- if ( $_scope == Smarty::SCOPE_GLOBAL) {
+ if ($_scope == Smarty::SCOPE_GLOBAL) {
$output .= "\nSmarty::\$global_tpl_vars[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]];";
}
$output .= '?>';
+
return $output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_block.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_block.php
index 03abf493e..8c2fb975f 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_block.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_block.php
@@ -2,22 +2,23 @@
/**
* Smarty Internal Plugin Compile Block
- *
* Compiles the {block}{/block} tags
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Block Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase {
+class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase
+{
+ const parent = '____SMARTY_BLOCK_PARENT____';
/**
* Attribute definition: Overwrites base class.
*
@@ -32,7 +33,15 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase {
* @var array
* @see Smarty_Internal_CompileBase
*/
- public $shorttag_order = array('name', 'hide');
+ public $shorttag_order = array('name');
+
+ /**
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
+ public $option_flags = array('hide', 'append', 'prepend', 'nocache');
/**
* Attribute definition: Overwrites base class.
@@ -40,161 +49,140 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase {
* @var array
* @see Smarty_Internal_CompileBase
*/
- public $optional_attributes = array('hide');
+ public $optional_attributes = array('internal_file', 'internal_uid', 'internal_line');
+ /**
+ * nested child block names
+ *
+ * @var array
+ */
+ public static $nested_block_names = array();
+
+ /**
+ * child block source buffer
+ *
+ * @var array
+ */
+ public static $block_data = array();
/**
* Compiles code for the {block} tag
*
* @param array $args array with attributes from parser
* @param object $compiler compiler object
+ *
* @return boolean true
*/
- public function compile($args, $compiler) {
+ public function compile($args, $compiler)
+ {
// check and get attributes
$_attr = $this->getAttributes($compiler, $args);
- $save = array($_attr, $compiler->parser->current_buffer, $compiler->nocache, $compiler->smarty->merge_compiled_includes, $compiler->merged_templates, $compiler->smarty->merged_templates_func, $compiler->template->properties, $compiler->template->has_nocache_code);
- $this->openTag($compiler, 'block', $save);
+ $_name = trim($_attr['name'], "\"'");
+
+ // existing child must override parent settings
+ if (isset($compiler->template->block_data[$_name]) && $compiler->template->block_data[$_name]['mode'] == 'replace') {
+ $_attr['append'] = false;
+ $_attr['prepend'] = false;
+ }
+
+ // check if we process an inheritance child template
+ if ($compiler->inheritance_child) {
+ array_unshift(self::$nested_block_names, $_name);
+ // build {block} for child block
+ self::$block_data[$_name]['source'] =
+ "{$compiler->smarty->left_delimiter}private_child_block name={$_attr['name']} file='{$compiler->template->source->filepath}' type='{$compiler->template->source->type}' resource='{$compiler->template->template_resource}'" .
+ " uid='{$compiler->template->source->uid}' line={$compiler->lex->line}";
+ if ($_attr['nocache']) {
+ self::$block_data[$_name]['source'] .= ' nocache';
+ }
+ self::$block_data[$_name]['source'] .= $compiler->smarty->right_delimiter;
+
+ $save = array($_attr, $compiler->inheritance);
+ $this->openTag($compiler, 'block', $save);
+ // set flag for {block} tag
+ $compiler->inheritance = true;
+ $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBLOCK);
+ $compiler->has_code = false;
+ return;
+ }
+ // must merge includes
if ($_attr['nocache'] == true) {
- $compiler->nocache = true;
+ $compiler->tag_nocache = true;
}
- // set flag for {block} tag
+ $save = array($_attr, $compiler->inheritance, $compiler->parser->current_buffer, $compiler->nocache);
+ $this->openTag($compiler, 'block', $save);
$compiler->inheritance = true;
- // must merge includes
- $compiler->smarty->merge_compiled_includes = true;
+ $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
$compiler->parser->current_buffer = new _smarty_template_buffer($compiler->parser);
$compiler->has_code = false;
+
return true;
}
/**
- * Save or replace child block source by block name during parsing
+ * Compile saved child block source
*
- * @param string $block_content block source content
- * @param string $block_tag opening block tag
- * @param object $template template object
- * @param string $filepath filepath of template source
+ * @param object $compiler compiler object
+ * @param string $_name optional name of child block
+ *
+ * @return string compiled code of child block
*/
- public static function saveBlockData($block_content, $block_tag, $template, $filepath) {
- $_rdl = preg_quote($template->smarty->right_delimiter);
- $_ldl = preg_quote($template->smarty->left_delimiter);
- if ($template->smarty->auto_literal) {
- $al = '\s*';
- } else {
- $al = '';
- }
- if (0 == preg_match("!({$_ldl}{$al}block\s+)(name=)?(\w+|'.*'|\".*\")(\s*?)?((append|prepend|nocache)?(\s*)?(hide)?)?(\s*{$_rdl})!", $block_tag, $_match)) {
- $error_text = 'Syntax Error in template "' . $template->source->filepath . '" "' . htmlspecialchars($block_tag) . '" illegal options';
- throw new SmartyCompilerException($error_text);
- } else {
- $_name = trim($_match[3], '\'"');
- if ($_match[8] != 'hide' || isset($template->block_data[$_name])) { // replace {$smarty.block.child}
- // do we have {$smart.block.child} in nested {block} tags?
- if (0 != preg_match_all("!({$_ldl}{$al}block\s+)(name=)?(\w+|'.*'|\".*\")([\s\S]*?)(hide)?(\s*{$_rdl})([\s\S]*?)({$_ldl}{$al}\\\$smarty\.block\.child{$_rdl})([\s\S]*?{$_ldl}{$al}/block{$_rdl})!", $block_content, $_match2)) {
- foreach ($_match2[3] as $key => $name) {
- // get it's replacement
- $_name2 = trim($name, '\'"');
- if ($_match2[5][$key] != 'hide' || isset($template->block_data[$_name2])) {
- if (isset($template->block_data[$_name2])) {
- $replacement = $template->block_data[$_name2]['source'];
- } else {
- $replacement = '';
- }
- // replace {$smarty.block.child} tag
- $search = array("%({$_ldl}{$al}block[\s\S]*?{$name}[\s\S]*?{$_rdl})([\s\S]*?)({$_ldl}{$al}\\\$smarty\.block\.child{$_rdl})([\s\S]*?)({$_ldl}{$al}/block{$_rdl})%", "/§§§child§§§/");
- $replace = array('\2§§§child§§§\4', $replacement);
- $block_content = preg_replace($search, $replace, $block_content);
- } else {
- // remove hidden blocks
- $block_content = preg_replace("%({$_ldl}{$al}block[\s\S]*?{$name}[\s\S]*?{$_rdl}[\s\S]*?{$_ldl}{$al}/block{$_rdl})%", '', $block_content);
- }
- }
- }
- // do we have not nested {$smart.block.child}
- if (0 != preg_match("/({$_ldl}{$al}\\\$smarty\.block\.child{$_rdl})/", $block_content, $_match2)) {
- // get child replacement for this block
- if (isset($template->block_data[$_name])) {
- $replacement = $template->block_data[$_name]['source'];
- unset($template->block_data[$_name]);
- } else {
- $replacement = '';
- }
- $block_content = preg_replace("/({$_ldl}{$al}\\\$smarty\.block\.child{$_rdl})/", $replacement, $block_content);
- }
- if (isset($template->block_data[$_name])) {
- if (strpos($template->block_data[$_name]['source'], '%%%%SMARTY_PARENT%%%%') !== false) {
- $template->block_data[$_name]['source'] =
- str_replace('%%%%SMARTY_PARENT%%%%', $block_content, $template->block_data[$_name]['source']);
- } elseif ($template->block_data[$_name]['mode'] == 'prepend') {
- $template->block_data[$_name]['source'] .= $block_content;
- } elseif ($template->block_data[$_name]['mode'] == 'append') {
- $template->block_data[$_name]['source'] = $block_content . $template->block_data[$_name]['source'];
- }
- } else {
- $template->block_data[$_name]['source'] = $block_content;
- $template->block_data[$_name]['file'] = $filepath;
- }
- if ($_match[6] == 'append') {
- $template->block_data[$_name]['mode'] = 'append';
- } elseif ($_match[6] == 'prepend') {
- $template->block_data[$_name]['mode'] = 'prepend';
- } else {
- $template->block_data[$_name]['mode'] = 'replace';
- }
+ static function compileChildBlock($compiler, $_name = null)
+ {
+ if ($compiler->inheritance_child) {
+ $name1 = Smarty_Internal_Compile_Block::$nested_block_names[0];
+ if (isset($compiler->template->block_data[$name1])) {
+ // replace inner block name with generic
+ Smarty_Internal_Compile_Block::$block_data[$name1]['source'] .= $compiler->template->block_data[$name1]['source'];
+ Smarty_Internal_Compile_Block::$block_data[$name1]['child'] = true;
}
+ $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBLOCK);
+ $compiler->has_code = false;
+ return;
}
- }
-
- /**
- * Compile saved child block source
- *
- * @param object $compiler compiler object
- * @param string $_name optional name of child block
- * @return string compiled code of schild block
- */
- public static function compileChildBlock($compiler, $_name = null) {
- $_output = '';
// if called by {$smarty.block.child} we must search the name of enclosing {block}
if ($_name == null) {
$stack_count = count($compiler->_tag_stack);
while (--$stack_count >= 0) {
if ($compiler->_tag_stack[$stack_count][0] == 'block') {
- $_name = trim($compiler->_tag_stack[$stack_count][1][0]['name'], "'\"");
+ $_name = trim($compiler->_tag_stack[$stack_count][1][0]['name'], "\"'");
break;
}
}
- // flag that child is already compile by {$smarty.block.child} inclusion
- $compiler->template->block_data[$_name]['compiled'] = true;
}
if ($_name == null) {
- $compiler->trigger_template_error('{$smarty.block.child} used out of context', $compiler->lex->taglineno);
+ $compiler->trigger_template_error(' tag {$smarty.block.child} used outside {block} tags ', $compiler->lex->taglineno);
}
// undefined child?
if (!isset($compiler->template->block_data[$_name]['source'])) {
+ $compiler->popTrace();
return '';
}
+ // flag that child is already compile by {$smarty.block.child} inclusion
+ $compiler->template->block_data[$_name]['compiled'] = true;
$_tpl = new Smarty_Internal_template('string:' . $compiler->template->block_data[$_name]['source'], $compiler->smarty, $compiler->template, $compiler->template->cache_id,
- $compiler->template->compile_id = null, $compiler->template->caching, $compiler->template->cache_lifetime);
+ $compiler->template->compile_id, $compiler->template->caching, $compiler->template->cache_lifetime);
+ if ($compiler->smarty->debugging) {
+ Smarty_Internal_Debug::ignore($_tpl);
+ }
+ $_tpl->tpl_vars = $compiler->template->tpl_vars;
$_tpl->variable_filters = $compiler->template->variable_filters;
$_tpl->properties['nocache_hash'] = $compiler->template->properties['nocache_hash'];
- $_tpl->source->filepath = $compiler->template->block_data[$_name]['file'];
$_tpl->allow_relative_path = true;
- if ($compiler->nocache) {
- $_tpl->compiler->forceNocache = 2;
- } else {
- $_tpl->compiler->forceNocache = 1;
- }
+ $_tpl->compiler->inheritance = true;
$_tpl->compiler->suppressHeader = true;
+ $_tpl->compiler->suppressFilter = true;
$_tpl->compiler->suppressTemplatePropertyHeader = true;
$_tpl->compiler->suppressMergedTemplates = true;
- if (strpos($compiler->template->block_data[$_name]['source'], '%%%%SMARTY_PARENT%%%%') !== false) {
- $_output = str_replace('%%%%SMARTY_PARENT%%%%', $compiler->parser->current_buffer->to_smarty_php(), $_tpl->compiler->compileTemplate($_tpl));
+ $nocache = $compiler->nocache || $compiler->tag_nocache;
+ if (strpos($compiler->template->block_data[$_name]['source'], self::parent) !== false) {
+ $_output = str_replace(self::parent, $compiler->parser->current_buffer->to_smarty_php(), $_tpl->compiler->compileTemplate($_tpl, $nocache));
} elseif ($compiler->template->block_data[$_name]['mode'] == 'prepend') {
- $_output = $_tpl->compiler->compileTemplate($_tpl) . $compiler->parser->current_buffer->to_smarty_php();
+ $_output = $_tpl->compiler->compileTemplate($_tpl, $nocache) . $compiler->parser->current_buffer->to_smarty_php();
} elseif ($compiler->template->block_data[$_name]['mode'] == 'append') {
- $_output = $compiler->parser->current_buffer->to_smarty_php() . $_tpl->compiler->compileTemplate($_tpl);
+ $_output = $compiler->parser->current_buffer->to_smarty_php() . $_tpl->compiler->compileTemplate($_tpl, $nocache);
} elseif (!empty($compiler->template->block_data[$_name])) {
- $_output = $_tpl->compiler->compileTemplate($_tpl);
+ $_output = $_tpl->compiler->compileTemplate($_tpl, $nocache);
}
$compiler->template->properties['file_dependency'] = array_merge($compiler->template->properties['file_dependency'], $_tpl->properties['file_dependency']);
$compiler->template->properties['function'] = array_merge($compiler->template->properties['function'], $_tpl->properties['function']);
@@ -216,62 +204,241 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase {
}
}
unset($_tpl);
+ $compiler->has_code = true;
return $_output;
}
+ /**
+ * Compile $smarty.block.parent
+ *
+ * @param object $compiler compiler object
+ * @param string $_name optional name of child block
+ *
+ * @return string compiled code of child block
+ */
+ static function compileParentBlock($compiler, $_name = null)
+ {
+ // if called by {$smarty.block.parent} we must search the name of enclosing {block}
+ if ($_name == null) {
+ $stack_count = count($compiler->_tag_stack);
+ while (--$stack_count >= 0) {
+ if ($compiler->_tag_stack[$stack_count][0] == 'block') {
+ $_name = trim($compiler->_tag_stack[$stack_count][1][0]['name'], "\"'");
+ break;
+ }
+ }
+ }
+ if ($_name == null) {
+ $compiler->trigger_template_error(' tag {$smarty.block.parent} used outside {block} tags ', $compiler->lex->taglineno);
+ }
+ if (empty(Smarty_Internal_Compile_Block::$nested_block_names)) {
+ $compiler->trigger_template_error(' illegal {$smarty.block.parent} in parent template ', $compiler->lex->taglineno);
+ }
+ Smarty_Internal_Compile_Block::$block_data[Smarty_Internal_Compile_Block::$nested_block_names[0]]['source'] .= Smarty_Internal_Compile_Block::parent;
+ $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBLOCK);
+ $compiler->has_code = false;
+ return;
+ }
+
+ /**
+ * Process block source
+ *
+ * @param $compiler
+ * @param string $source source text
+ *
+ */
+ static function blockSource($compiler, $source)
+ {
+ Smarty_Internal_Compile_Block::$block_data[Smarty_Internal_Compile_Block::$nested_block_names[0]]['source'] .= $source;
+ }
}
/**
* Smarty Internal Plugin Compile BlockClose Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {/block} tag
*
* @param array $args array with attributes from parser
* @param object $compiler compiler object
+ *
* @return string compiled code
*/
- public function compile($args, $compiler) {
+ public function compile($args, $compiler)
+ {
$compiler->has_code = true;
// check and get attributes
$_attr = $this->getAttributes($compiler, $args);
$saved_data = $this->closeTag($compiler, array('block'));
$_name = trim($saved_data[0]['name'], "\"'");
+ // reset flag for {block} tag
+ $compiler->inheritance = $saved_data[1];
+ // check if we process an inheritance child template
+ if ($compiler->inheritance_child) {
+ $name1 = Smarty_Internal_Compile_Block::$nested_block_names[0];
+ Smarty_Internal_Compile_Block::$block_data[$name1]['source'] .= "{$compiler->smarty->left_delimiter}/private_child_block{$compiler->smarty->right_delimiter}";
+ array_shift(Smarty_Internal_Compile_Block::$nested_block_names);
+ if (!empty(Smarty_Internal_Compile_Block::$nested_block_names)) {
+ $name2 = Smarty_Internal_Compile_Block::$nested_block_names[0];
+ if (isset($compiler->template->block_data[$name1]) || !$saved_data[0]['hide']) {
+ if (isset(Smarty_Internal_Compile_Block::$block_data[$name1]['child']) || !isset($compiler->template->block_data[$name1])) {
+ Smarty_Internal_Compile_Block::$block_data[$name2]['source'] .= Smarty_Internal_Compile_Block::$block_data[$name1]['source'];
+ } else {
+ if ($compiler->template->block_data[$name1]['mode'] == 'append') {
+ Smarty_Internal_Compile_Block::$block_data[$name2]['source'] .= Smarty_Internal_Compile_Block::$block_data[$name1]['source'] . $compiler->template->block_data[$name1]['source'];
+ } elseif ($compiler->template->block_data[$name1]['mode'] == 'prepend') {
+ Smarty_Internal_Compile_Block::$block_data[$name2]['source'] .= $compiler->template->block_data[$name1]['source'] . Smarty_Internal_Compile_Block::$block_data[$name1]['source'];
+ } else {
+ Smarty_Internal_Compile_Block::$block_data[$name2]['source'] .= $compiler->template->block_data[$name1]['source'];
+ }
+ }
+ }
+ unset(Smarty_Internal_Compile_Block::$block_data[$name1]);
+ $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBLOCK);
+ } else {
+ if (isset($compiler->template->block_data[$name1]) || !$saved_data[0]['hide']) {
+ if (isset($compiler->template->block_data[$name1]) && !isset(Smarty_Internal_Compile_Block::$block_data[$name1]['child'])) {
+ if (strpos($compiler->template->block_data[$name1]['source'], Smarty_Internal_Compile_Block::parent) !== false) {
+ $compiler->template->block_data[$name1]['source'] =
+ str_replace(Smarty_Internal_Compile_Block::parent, Smarty_Internal_Compile_Block::$block_data[$name1]['source'], $compiler->template->block_data[$name1]['source']);
+ } elseif ($compiler->template->block_data[$name1]['mode'] == 'prepend') {
+ $compiler->template->block_data[$name1]['source'] .= Smarty_Internal_Compile_Block::$block_data[$name1]['source'];
+ } elseif ($compiler->template->block_data[$name1]['mode'] == 'append') {
+ $compiler->template->block_data[$name1]['source'] = Smarty_Internal_Compile_Block::$block_data[$name1]['source'] . $compiler->template->block_data[$name1]['source'];
+ }
+ } else {
+ $compiler->template->block_data[$name1]['source'] = Smarty_Internal_Compile_Block::$block_data[$name1]['source'];
+ }
+ $compiler->template->block_data[$name1]['mode'] = 'replace';
+ if ($saved_data[0]['append']) {
+ $compiler->template->block_data[$name1]['mode'] = 'append';
+ }
+ if ($saved_data[0]['prepend']) {
+ $compiler->template->block_data[$name1]['mode'] = 'prepend';
+ }
+ }
+ unset(Smarty_Internal_Compile_Block::$block_data[$name1]);
+ $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBODY);
+ }
+ $compiler->has_code = false;
+ return;
+ }
if (isset($compiler->template->block_data[$_name]) && !isset($compiler->template->block_data[$_name]['compiled'])) {
- // restore to status before {block} tag as new subtemplate code of parent {block} is not needed
- // TODO: Below code was disabled in 3.1.8 because of problems with {include} in nested {block} tags in child templates
- // combined with append/prepend or $smarty.block.parent
- // For later versions it should be checked under which conditions it could run for optimisation
- //
- //$compiler->merged_templates = $saved_data[4];
- //$compiler->smarty->merged_templates_func = $saved_data[5];
- //$compiler->template->properties = $saved_data[6];
- //$compiler->template->has_nocache_code = $saved_data[7];
$_output = Smarty_Internal_Compile_Block::compileChildBlock($compiler, $_name);
} else {
- if (isset($saved_data[0]['hide']) && !isset($compiler->template->block_data[$_name]['source'])) {
+ if ($saved_data[0]['hide'] && !isset($compiler->template->block_data[$_name]['source'])) {
$_output = '';
} else {
$_output = $compiler->parser->current_buffer->to_smarty_php();
}
- unset($compiler->template->block_data[$_name]['compiled']);
}
+ unset($compiler->template->block_data[$_name]['compiled']);
// reset flags
- $compiler->parser->current_buffer = $saved_data[1];
- $compiler->nocache = $saved_data[2];
- $compiler->smarty->merge_compiled_includes = $saved_data[3];
- // reset flag for {block} tag
- $compiler->inheritance = false;
+ $compiler->parser->current_buffer = $saved_data[2];
+ if ($compiler->nocache) {
+ $compiler->tag_nocache = true;
+ }
+ $compiler->nocache = $saved_data[3];
// $_output content has already nocache code processed
$compiler->suppressNocacheProcessing = true;
+
return $_output;
}
+}
+
+/**
+ * Smarty Internal Plugin Compile Child Block Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Private_Child_Block extends Smarty_Internal_CompileBase
+{
+
+ /**
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
+ public $required_attributes = array('name', 'file', 'uid', 'line', 'type', 'resource');
+ /**
+ * Compiles code for the {private_child_block} tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
+ * @return boolean true
+ */
+ public function compile($args, $compiler)
+ {
+ // check and get attributes
+ $_attr = $this->getAttributes($compiler, $args);
+
+ // update template with original template resource of {block}
+ if (trim($_attr['type'], "'") == 'file') {
+ $compiler->template->template_resource = 'file:' . realpath(trim($_attr['file'], "'"));
+ } else {
+ $compiler->template->template_resource = trim($_attr['resource'], "'");
+ }
+ // source object
+ unset ($compiler->template->source);
+ $exists = $compiler->template->source->exists;
+
+ // must merge includes
+ if ($_attr['nocache'] == true) {
+ $compiler->tag_nocache = true;
+ }
+ $save = array($_attr, $compiler->nocache);
+
+ // set trace back to child block
+ $compiler->pushTrace(trim($_attr['file'], "\"'"), trim($_attr['uid'], "\"'"), $_attr['line'] - $compiler->lex->line);
+
+ $this->openTag($compiler, 'private_child_block', $save);
+
+ $compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
+ $compiler->has_code = false;
+
+ return true;
+ }
}
-?> \ No newline at end of file
+/**
+ * Smarty Internal Plugin Compile Child Block Close Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Private_Child_Blockclose extends Smarty_Internal_CompileBase
+{
+
+ /**
+ * Compiles code for the {/private_child_block} tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
+ * @return boolean true
+ */
+ public function compile($args, $compiler)
+ {
+ // check and get attributes
+ $_attr = $this->getAttributes($compiler, $args);
+
+ $saved_data = $this->closeTag($compiler, array('private_child_block'));
+
+ // end of child block
+ $compiler->popTrace();
+
+ $compiler->nocache = $saved_data[1];
+ $compiler->has_code = false;
+
+ return true;
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_break.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_break.php
index 259c66e2b..b51e9e8f3 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_break.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_break.php
@@ -1,77 +1,75 @@
-<?php
-/**
- * Smarty Internal Plugin Compile Break
- *
- * Compiles the {break} tag
- *
- * @package Smarty
- * @subpackage Compiler
- * @author Uwe Tews
- */
-/**
- * Smarty Internal Plugin Compile Break Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Break extends Smarty_Internal_CompileBase {
-
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $optional_attributes = array('levels');
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $shorttag_order = array('levels');
-
- /**
- * Compiles code for the {break} tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @return string compiled code
- */
- public function compile($args, $compiler, $parameter)
- {
- static $_is_loopy = array('for' => true, 'foreach' => true, 'while' => true, 'section' => true);
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
-
- if ($_attr['nocache'] === true) {
- $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno);
- }
-
- if (isset($_attr['levels'])) {
- if (!is_numeric($_attr['levels'])) {
- $compiler->trigger_template_error('level attribute must be a numeric constant', $compiler->lex->taglineno);
- }
- $_levels = $_attr['levels'];
- } else {
- $_levels = 1;
- }
- $level_count = $_levels;
- $stack_count = count($compiler->_tag_stack) - 1;
- while ($level_count > 0 && $stack_count >= 0) {
- if (isset($_is_loopy[$compiler->_tag_stack[$stack_count][0]])) {
- $level_count--;
- }
- $stack_count--;
- }
- if ($level_count != 0) {
- $compiler->trigger_template_error("cannot break {$_levels} level(s)", $compiler->lex->taglineno);
- }
- $compiler->has_code = true;
- return "<?php break {$_levels}?>";
- }
-
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty Internal Plugin Compile Break
+ * Compiles the {break} tag
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
+
+/**
+ * Smarty Internal Plugin Compile Break Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Break extends Smarty_Internal_CompileBase
+{
+ /**
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
+ public $optional_attributes = array('levels');
+ /**
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
+ public $shorttag_order = array('levels');
+
+ /**
+ * Compiles code for the {break} tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
+ * @return string compiled code
+ */
+ public function compile($args, $compiler, $parameter)
+ {
+ static $_is_loopy = array('for' => true, 'foreach' => true, 'while' => true, 'section' => true);
+ // check and get attributes
+ $_attr = $this->getAttributes($compiler, $args);
+
+ if ($_attr['nocache'] === true) {
+ $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno);
+ }
+
+ if (isset($_attr['levels'])) {
+ if (!is_numeric($_attr['levels'])) {
+ $compiler->trigger_template_error('level attribute must be a numeric constant', $compiler->lex->taglineno);
+ }
+ $_levels = $_attr['levels'];
+ } else {
+ $_levels = 1;
+ }
+ $level_count = $_levels;
+ $stack_count = count($compiler->_tag_stack) - 1;
+ while ($level_count > 0 && $stack_count >= 0) {
+ if (isset($_is_loopy[$compiler->_tag_stack[$stack_count][0]])) {
+ $level_count --;
+ }
+ $stack_count --;
+ }
+ if ($level_count != 0) {
+ $compiler->trigger_template_error("cannot break {$_levels} level(s)", $compiler->lex->taglineno);
+ }
+
+ return "<?php break {$_levels};?>";
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_call.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_call.php
index af12a048c..bfbd1f547 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_call.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_call.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Function_Call
- *
* Compiles the calls of user defined tags defined by {function}
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Function_Call Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -42,9 +41,9 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase {
/**
* Compiles the calls of user defined tags defined by {function}
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -53,7 +52,7 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase {
$_attr = $this->getAttributes($compiler, $args);
// save possible attributes
if (isset($_attr['assign'])) {
- // output will be stored in a smarty variable instead of beind displayed
+ // output will be stored in a smarty variable instead of being displayed
$_assign = $_attr['assign'];
}
$_name = $_attr['name'];
@@ -96,7 +95,7 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase {
}
}
}
- //varibale name?
+ //variable name?
if (!(strpos($_name, '$') === false)) {
$call_cache = $_name;
$call_function = '$tmp = "smarty_template_function_".' . $_name . '; $tmp';
@@ -122,9 +121,7 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase {
$_output = "<?php {$call_function}(\$_smarty_tpl,{$_params});?>\n";
}
}
+
return $_output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php
index 9a5071ebe..34728e47a 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_capture.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Capture
- *
* Compiles the {capture} tag
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Capture Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Capture extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Capture extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -35,8 +34,9 @@ class Smarty_Internal_Compile_Capture extends Smarty_Internal_CompileBase {
/**
* Compiles code for the {capture} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -55,22 +55,22 @@ class Smarty_Internal_Compile_Capture extends Smarty_Internal_CompileBase {
return $_output;
}
-
}
/**
* Smarty Internal Plugin Compile Captureclose Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {/capture} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -90,9 +90,7 @@ class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase {
$_output .= " if (isset( \$_capture_append)) \$_smarty_tpl->append( \$_capture_append, ob_get_contents());\n";
$_output .= " Smarty::\$_smarty_vars['capture'][\$_capture_buffer]=ob_get_clean();\n";
$_output .= "} else \$_smarty_tpl->capture_error();?>";
+
return $_output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_config_load.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_config_load.php
index deaa052c5..8813664d4 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_config_load.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_config_load.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Config Load
- *
* Compiles the {config load} tag
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Config Load Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Config_Load extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Config_Load extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -30,7 +29,7 @@ class Smarty_Internal_Compile_Config_Load extends Smarty_Internal_CompileBase {
* @var array
* @see Smarty_Internal_CompileBase
*/
- public $shorttag_order = array('file','section');
+ public $shorttag_order = array('file', 'section');
/**
* Attribute definition: Overwrites base class.
*
@@ -42,13 +41,14 @@ class Smarty_Internal_Compile_Config_Load extends Smarty_Internal_CompileBase {
/**
* Compiles code for the {config_load} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
{
- static $_is_legal_scope = array('local' => true,'parent' => true,'root' => true,'global' => true);
+ static $_is_legal_scope = array('local' => true, 'parent' => true, 'root' => true, 'global' => true);
// check and get attributes
$_attr = $this->getAttributes($compiler, $args);
@@ -56,8 +56,7 @@ class Smarty_Internal_Compile_Config_Load extends Smarty_Internal_CompileBase {
$compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno);
}
-
- // save posible attributes
+ // save possible attributes
$conf_file = $_attr['file'];
if (isset($_attr['section'])) {
$section = $_attr['section'];
@@ -70,16 +69,14 @@ class Smarty_Internal_Compile_Config_Load extends Smarty_Internal_CompileBase {
$_attr['scope'] = trim($_attr['scope'], "'\"");
if (isset($_is_legal_scope[$_attr['scope']])) {
$scope = $_attr['scope'];
- } else {
+ } else {
$compiler->trigger_template_error('illegal value for "scope" attribute', $compiler->lex->taglineno);
- }
+ }
}
// create config object
$_output = "<?php \$_config = new Smarty_Internal_Config($conf_file, \$_smarty_tpl->smarty, \$_smarty_tpl);";
$_output .= "\$_config->loadConfigVars($section, '$scope'); ?>";
+
return $_output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_continue.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_continue.php
index 4082a93b3..af3765128 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_continue.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_continue.php
@@ -1,78 +1,75 @@
-<?php
-/**
- * Smarty Internal Plugin Compile Continue
- *
- * Compiles the {continue} tag
- *
- * @package Smarty
- * @subpackage Compiler
- * @author Uwe Tews
- */
-
-/**
- * Smarty Internal Plugin Compile Continue Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Continue extends Smarty_Internal_CompileBase {
-
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $optional_attributes = array('levels');
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $shorttag_order = array('levels');
-
- /**
- * Compiles code for the {continue} tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @return string compiled code
- */
- public function compile($args, $compiler, $parameter)
- {
- static $_is_loopy = array('for' => true, 'foreach' => true, 'while' => true, 'section' => true);
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
-
- if ($_attr['nocache'] === true) {
- $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno);
- }
-
- if (isset($_attr['levels'])) {
- if (!is_numeric($_attr['levels'])) {
- $compiler->trigger_template_error('level attribute must be a numeric constant', $compiler->lex->taglineno);
- }
- $_levels = $_attr['levels'];
- } else {
- $_levels = 1;
- }
- $level_count = $_levels;
- $stack_count = count($compiler->_tag_stack) - 1;
- while ($level_count > 0 && $stack_count >= 0) {
- if (isset($_is_loopy[$compiler->_tag_stack[$stack_count][0]])) {
- $level_count--;
- }
- $stack_count--;
- }
- if ($level_count != 0) {
- $compiler->trigger_template_error("cannot continue {$_levels} level(s)", $compiler->lex->taglineno);
- }
- $compiler->has_code = true;
- return "<?php continue {$_levels}?>";
- }
-
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty Internal Plugin Compile Continue
+ * Compiles the {continue} tag
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
+
+/**
+ * Smarty Internal Plugin Compile Continue Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Continue extends Smarty_Internal_CompileBase
+{
+ /**
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
+ public $optional_attributes = array('levels');
+ /**
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
+ public $shorttag_order = array('levels');
+
+ /**
+ * Compiles code for the {continue} tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
+ * @return string compiled code
+ */
+ public function compile($args, $compiler, $parameter)
+ {
+ static $_is_loopy = array('for' => true, 'foreach' => true, 'while' => true, 'section' => true);
+ // check and get attributes
+ $_attr = $this->getAttributes($compiler, $args);
+
+ if ($_attr['nocache'] === true) {
+ $compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno);
+ }
+
+ if (isset($_attr['levels'])) {
+ if (!is_numeric($_attr['levels'])) {
+ $compiler->trigger_template_error('level attribute must be a numeric constant', $compiler->lex->taglineno);
+ }
+ $_levels = $_attr['levels'];
+ } else {
+ $_levels = 1;
+ }
+ $level_count = $_levels;
+ $stack_count = count($compiler->_tag_stack) - 1;
+ while ($level_count > 0 && $stack_count >= 0) {
+ if (isset($_is_loopy[$compiler->_tag_stack[$stack_count][0]])) {
+ $level_count --;
+ }
+ $stack_count --;
+ }
+ if ($level_count != 0) {
+ $compiler->trigger_template_error("cannot continue {$_levels} level(s)", $compiler->lex->taglineno);
+ }
+
+ return "<?php continue {$_levels};?>";
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_debug.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_debug.php
index f50c7aee2..b184a746b 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_debug.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_debug.php
@@ -1,28 +1,28 @@
<?php
/**
* Smarty Internal Plugin Compile Debug
- *
* Compiles the {debug} tag.
* It opens a window the the Smarty Debugging Console.
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Debug Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Debug extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Debug extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {debug} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -35,9 +35,7 @@ class Smarty_Internal_Compile_Debug extends Smarty_Internal_CompileBase {
// display debug template
$_output = "<?php \$_smarty_tpl->smarty->loadPlugin('Smarty_Internal_Debug'); Smarty_Internal_Debug::display_debug(\$_smarty_tpl); ?>";
+
return $_output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_eval.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_eval.php
index 6cf481b50..407482f07 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_eval.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_eval.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Eval
- *
* Compiles the {eval} tag.
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Eval Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Eval extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Eval extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -37,13 +36,14 @@ class Smarty_Internal_Compile_Eval extends Smarty_Internal_CompileBase {
* @var array
* @see Smarty_Internal_CompileBase
*/
- public $shorttag_order = array('var','assign');
+ public $shorttag_order = array('var', 'assign');
/**
* Compiles code for the {eval} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -53,21 +53,19 @@ class Smarty_Internal_Compile_Eval extends Smarty_Internal_CompileBase {
// check and get attributes
$_attr = $this->getAttributes($compiler, $args);
if (isset($_attr['assign'])) {
- // output will be stored in a smarty variable instead of beind displayed
+ // output will be stored in a smarty variable instead of being displayed
$_assign = $_attr['assign'];
}
// create template object
- $_output = "\$_template = new {$compiler->smarty->template_class}('eval:'.".$_attr['var'].", \$_smarty_tpl->smarty, \$_smarty_tpl);";
+ $_output = "\$_template = new {$compiler->smarty->template_class}('eval:'." . $_attr['var'] . ", \$_smarty_tpl->smarty, \$_smarty_tpl);";
//was there an assign attribute?
if (isset($_assign)) {
$_output .= "\$_smarty_tpl->assign($_assign,\$_template->fetch());";
} else {
$_output .= "echo \$_template->fetch();";
}
+
return "<?php $_output ?>";
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_extends.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_extends.php
index 9042aa233..2b541f2e3 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_extends.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_extends.php
@@ -1,128 +1,85 @@
<?php
/**
-* Smarty Internal Plugin Compile extend
-*
-* Compiles the {extends} tag
-*
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
+ * Smarty Internal Plugin Compile extend
+ * Compiles the {extends} tag
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
/**
-* Smarty Internal Plugin Compile extend Class
-*
-* @package Smarty
-* @subpackage Compiler
-*/
-class Smarty_Internal_Compile_Extends extends Smarty_Internal_CompileBase {
-
+ * Smarty Internal Plugin Compile extend Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Extends extends Smarty_Internal_CompileBase
+{
/**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
public $required_attributes = array('file');
/**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
public $shorttag_order = array('file');
- /**
- * mbstring.overload flag
- *
- * @var int
- */
- public $mbstring_overload = 0;
/**
- * Compiles code for the {extends} tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @return string compiled code
- */
+ * Compiles code for the {extends} tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
+ * @return string compiled code
+ */
public function compile($args, $compiler)
{
- static $_is_stringy = array('string' => true, 'eval' => true);
- $this->_rdl = preg_quote($compiler->smarty->right_delimiter);
- $this->_ldl = preg_quote($compiler->smarty->left_delimiter);
- $filepath = $compiler->template->source->filepath;
- $this->mbstring_overload = ini_get('mbstring.func_overload') & 2;
// check and get attributes
$_attr = $this->getAttributes($compiler, $args);
if ($_attr['nocache'] === true) {
$compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno);
}
-
- $_smarty_tpl = $compiler->template;
- $include_file = null;
if (strpos($_attr['file'], '$_tmp') !== false) {
$compiler->trigger_template_error('illegal value for file attribute', $compiler->lex->taglineno);
}
- eval('$include_file = ' . $_attr['file'] . ';');
+
+ $name = $_attr['file'];
+ /** @var Smarty_Internal_Template $_smarty_tpl
+ * used in evaluated code
+ */
+ $_smarty_tpl = $compiler->template;
+ eval("\$tpl_name = $name;");
// create template object
- $_template = new $compiler->smarty->template_class($include_file, $compiler->smarty, $compiler->template);
- // save file dependency
- if (isset($_is_stringy[$_template->source->type])) {
- $template_sha1 = sha1($include_file);
- } else {
- $template_sha1 = sha1($_template->source->filepath);
- }
- if (isset($compiler->template->properties['file_dependency'][$template_sha1])) {
- $compiler->trigger_template_error("illegal recursive call of \"{$include_file}\"", $compiler->lex->line - 1);
- }
- $compiler->template->properties['file_dependency'][$template_sha1] = array($_template->source->filepath, $_template->source->timestamp, $_template->source->type);
- $_content = ($this->mbstring_overload ? mb_substr($compiler->template->source->content, $compiler->lex->counter - 1, 20000000, 'latin1') : substr($compiler->template->source->content, $compiler->lex->counter - 1));
- if (preg_match_all("!({$this->_ldl}block\s(.+?){$this->_rdl})!", $_content, $s) !=
- preg_match_all("!({$this->_ldl}/block{$this->_rdl})!", $_content, $c)) {
- $compiler->trigger_template_error('unmatched {block} {/block} pairs');
+ $_template = new $compiler->smarty->template_class($tpl_name, $compiler->smarty, $compiler->template);
+ // check for recursion
+ $uid = $_template->source->uid;
+ if (isset($compiler->extends_uid[$uid])) {
+ $compiler->trigger_template_error("illegal recursive call of \"$include_file\"", $compiler->lex->line - 1);
}
- preg_match_all("!{$this->_ldl}block\s(.+?){$this->_rdl}|{$this->_ldl}/block{$this->_rdl}|{$this->_ldl}\*([\S\s]*?)\*{$this->_rdl}!", $_content, $_result, PREG_OFFSET_CAPTURE);
- $_result_count = count($_result[0]);
- $_start = 0;
- while ($_start+1 < $_result_count) {
- $_end = 0;
- $_level = 1;
- if (($this->mbstring_overload ? mb_substr($_result[0][$_start][0],0,mb_strlen($compiler->smarty->left_delimiter,'latin1')+1, 'latin1') : substr($_result[0][$_start][0],0,strlen($compiler->smarty->left_delimiter)+1)) == $compiler->smarty->left_delimiter.'*') {
- $_start++;
- continue;
- }
- while ($_level != 0) {
- $_end++;
- if (($this->mbstring_overload ? mb_substr($_result[0][$_start + $_end][0],0,mb_strlen($compiler->smarty->left_delimiter,'latin1')+1, 'latin1') : substr($_result[0][$_start + $_end][0],0,strlen($compiler->smarty->left_delimiter)+1)) == $compiler->smarty->left_delimiter.'*') {
- continue;
- }
- if (!strpos($_result[0][$_start + $_end][0], '/')) {
- $_level++;
- } else {
- $_level--;
+ $compiler->extends_uid[$uid] = true;
+ if (empty($_template->source->components)) {
+ array_unshift($compiler->sources, $_template->source);
+ } else {
+ foreach ($_template->source->components as $source) {
+ array_unshift($compiler->sources, $source);
+ $uid = $source->uid;
+ if (isset($compiler->extends_uid[$uid])) {
+ $compiler->trigger_template_error("illegal recursive call of \"{$source->filepath}\"", $compiler->lex->line - 1);
}
- }
- $_block_content = str_replace($compiler->smarty->left_delimiter . '$smarty.block.parent' . $compiler->smarty->right_delimiter, '%%%%SMARTY_PARENT%%%%',
- ($this->mbstring_overload ? mb_substr($_content, $_result[0][$_start][1] + mb_strlen($_result[0][$_start][0], 'latin1'), $_result[0][$_start + $_end][1] - $_result[0][$_start][1] - + mb_strlen($_result[0][$_start][0], 'latin1'), 'latin1') : substr($_content, $_result[0][$_start][1] + strlen($_result[0][$_start][0]), $_result[0][$_start + $_end][1] - $_result[0][$_start][1] - + strlen($_result[0][$_start][0]))));
- Smarty_Internal_Compile_Block::saveBlockData($_block_content, $_result[0][$_start][0], $compiler->template, $filepath);
- $_start = $_start + $_end + 1;
- }
- if ($_template->source->type == 'extends') {
- $_template->block_data = $compiler->template->block_data;
- }
- $compiler->template->source->content = $_template->source->content;
- if ($_template->source->type == 'extends') {
- $compiler->template->block_data = $_template->block_data;
- foreach ($_template->source->components as $key => $component) {
- $compiler->template->properties['file_dependency'][$key] = array($component->filepath, $component->timestamp, $component->type);
+ $compiler->extends_uid[$uid] = true;
}
}
- $compiler->template->source->filepath = $_template->source->filepath;
- $compiler->abort_and_recompile = true;
+ unset ($_template);
+ $compiler->inheritance_child = true;
+ $compiler->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBODY);
return '';
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_for.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_for.php
index 057f4fb79..a624b922c 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_for.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_for.php
@@ -1,39 +1,35 @@
<?php
/**
* Smarty Internal Plugin Compile For
- *
* Compiles the {for} {forelse} {/for} tags
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile For Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_For extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_For extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {for} tag
- *
- * Smarty 3 does implement two different sytaxes:
- *
+ * Smarty 3 does implement two different syntax's:
* - {for $var in $array}
* For looping over arrays or iterators
- *
* - {for $x=0; $x<$y; $x++}
* For general loops
+ * The parser is generating different sets of attribute by which this compiler can
+ * determine which syntax is used.
*
- * The parser is gereration different sets of attribute by which this compiler can
- * determin which syntax is used.
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
@@ -54,7 +50,7 @@ class Smarty_Internal_Compile_For extends Smarty_Internal_CompileBase {
$output .= " \$_smarty_tpl->tpl_vars[$_statement[var]] = new Smarty_Variable;";
$output .= " \$_smarty_tpl->tpl_vars[$_statement[var]]->value = $_statement[value];\n";
}
- $output .= " if ($_attr[ifexp]){ for (\$_foo=true;$_attr[ifexp]; \$_smarty_tpl->tpl_vars[$_attr[var]]->value$_attr[step]){\n";
+ $output .= " if ($_attr[ifexp]) { for (\$_foo=true;$_attr[ifexp]; \$_smarty_tpl->tpl_vars[$_attr[var]]->value$_attr[step]) {\n";
} else {
$_statement = $_attr['start'];
$output .= "\$_smarty_tpl->tpl_vars[$_statement[var]] = new Smarty_Variable;";
@@ -64,12 +60,12 @@ class Smarty_Internal_Compile_For extends Smarty_Internal_CompileBase {
$output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->step = 1;";
}
if (isset($_attr['max'])) {
- $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->total = (int)min(ceil((\$_smarty_tpl->tpl_vars[$_statement[var]]->step > 0 ? $_attr[to]+1 - ($_statement[value]) : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$_statement[var]]->step)),$_attr[max]);\n";
+ $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->total = (int) min(ceil((\$_smarty_tpl->tpl_vars[$_statement[var]]->step > 0 ? $_attr[to]+1 - ($_statement[value]) : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$_statement[var]]->step)),$_attr[max]);\n";
} else {
- $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->total = (int)ceil((\$_smarty_tpl->tpl_vars[$_statement[var]]->step > 0 ? $_attr[to]+1 - ($_statement[value]) : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$_statement[var]]->step));\n";
+ $output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->total = (int) ceil((\$_smarty_tpl->tpl_vars[$_statement[var]]->step > 0 ? $_attr[to]+1 - ($_statement[value]) : $_statement[value]-($_attr[to])+1)/abs(\$_smarty_tpl->tpl_vars[$_statement[var]]->step));\n";
}
- $output .= "if (\$_smarty_tpl->tpl_vars[$_statement[var]]->total > 0){\n";
- $output .= "for (\$_smarty_tpl->tpl_vars[$_statement[var]]->value = $_statement[value], \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration = 1;\$_smarty_tpl->tpl_vars[$_statement[var]]->iteration <= \$_smarty_tpl->tpl_vars[$_statement[var]]->total;\$_smarty_tpl->tpl_vars[$_statement[var]]->value += \$_smarty_tpl->tpl_vars[$_statement[var]]->step, \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration++){\n";
+ $output .= "if (\$_smarty_tpl->tpl_vars[$_statement[var]]->total > 0) {\n";
+ $output .= "for (\$_smarty_tpl->tpl_vars[$_statement[var]]->value = $_statement[value], \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration = 1;\$_smarty_tpl->tpl_vars[$_statement[var]]->iteration <= \$_smarty_tpl->tpl_vars[$_statement[var]]->total;\$_smarty_tpl->tpl_vars[$_statement[var]]->value += \$_smarty_tpl->tpl_vars[$_statement[var]]->step, \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration++) {\n";
$output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->first = \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration == 1;";
$output .= "\$_smarty_tpl->tpl_vars[$_statement[var]]->last = \$_smarty_tpl->tpl_vars[$_statement[var]]->iteration == \$_smarty_tpl->tpl_vars[$_statement[var]]->total;";
}
@@ -81,51 +77,52 @@ class Smarty_Internal_Compile_For extends Smarty_Internal_CompileBase {
// return compiled code
return $output;
}
-
}
/**
* Smarty Internal Plugin Compile Forelse Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Forelse extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Forelse extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {forelse} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
{
// check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
+ $_attr = $this->getAttributes($compiler, $args);
list($openTag, $nocache) = $this->closeTag($compiler, array('for'));
$this->openTag($compiler, 'forelse', array('forelse', $nocache));
+
return "<?php }} else { ?>";
}
-
}
/**
* Smarty Internal Plugin Compile Forclose Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Forclose extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Forclose extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {/for} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
@@ -145,7 +142,4 @@ class Smarty_Internal_Compile_Forclose extends Smarty_Internal_CompileBase {
return "<?php }} ?>";
}
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_foreach.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_foreach.php
index 1354c89d5..fc77f5749 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_foreach.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_foreach.php
@@ -1,21 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Foreach
- *
* Compiles the {foreach} {foreachelse} {/foreach} tags
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Foreach Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase {
+class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -36,19 +36,19 @@ class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase {
* @var array
* @see Smarty_Internal_CompileBase
*/
- public $shorttag_order = array('from','item','key','name');
+ public $shorttag_order = array('from', 'item', 'key', 'name');
/**
* Compiles code for the {foreach} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
{
- $tpl = $compiler->template;
// check and get attributes
$_attr = $this->getAttributes($compiler, $args);
@@ -79,12 +79,12 @@ class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase {
$ItemVarName = '$' . trim($item, '\'"') . '@';
// evaluates which Smarty variables and properties have to be computed
if ($has_name) {
- $usesSmartyFirst = strpos($tpl->source->content, $SmartyVarName . 'first') !== false;
- $usesSmartyLast = strpos($tpl->source->content, $SmartyVarName . 'last') !== false;
- $usesSmartyIndex = strpos($tpl->source->content, $SmartyVarName . 'index') !== false;
- $usesSmartyIteration = strpos($tpl->source->content, $SmartyVarName . 'iteration') !== false;
- $usesSmartyShow = strpos($tpl->source->content, $SmartyVarName . 'show') !== false;
- $usesSmartyTotal = strpos($tpl->source->content, $SmartyVarName . 'total') !== false;
+ $usesSmartyFirst = strpos($compiler->lex->data, $SmartyVarName . 'first') !== false;
+ $usesSmartyLast = strpos($compiler->lex->data, $SmartyVarName . 'last') !== false;
+ $usesSmartyIndex = strpos($compiler->lex->data, $SmartyVarName . 'index') !== false;
+ $usesSmartyIteration = strpos($compiler->lex->data, $SmartyVarName . 'iteration') !== false;
+ $usesSmartyShow = strpos($compiler->lex->data, $SmartyVarName . 'show') !== false;
+ $usesSmartyTotal = strpos($compiler->lex->data, $SmartyVarName . 'total') !== false;
} else {
$usesSmartyFirst = false;
$usesSmartyLast = false;
@@ -92,12 +92,12 @@ class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase {
$usesSmartyShow = false;
}
- $usesPropFirst = $usesSmartyFirst || strpos($tpl->source->content, $ItemVarName . 'first') !== false;
- $usesPropLast = $usesSmartyLast || strpos($tpl->source->content, $ItemVarName . 'last') !== false;
- $usesPropIndex = $usesPropFirst || strpos($tpl->source->content, $ItemVarName . 'index') !== false;
- $usesPropIteration = $usesPropLast || strpos($tpl->source->content, $ItemVarName . 'iteration') !== false;
- $usesPropShow = strpos($tpl->source->content, $ItemVarName . 'show') !== false;
- $usesPropTotal = $usesSmartyTotal || $usesSmartyShow || $usesPropShow || $usesPropLast || strpos($tpl->source->content, $ItemVarName . 'total') !== false;
+ $usesPropFirst = $usesSmartyFirst || strpos($compiler->lex->data, $ItemVarName . 'first') !== false;
+ $usesPropLast = $usesSmartyLast || strpos($compiler->lex->data, $ItemVarName . 'last') !== false;
+ $usesPropIndex = $usesPropFirst || strpos($compiler->lex->data, $ItemVarName . 'index') !== false;
+ $usesPropIteration = $usesPropLast || strpos($compiler->lex->data, $ItemVarName . 'iteration') !== false;
+ $usesPropShow = strpos($compiler->lex->data, $ItemVarName . 'show') !== false;
+ $usesPropTotal = $usesSmartyTotal || $usesSmartyShow || $usesPropShow || $usesPropLast || strpos($compiler->lex->data, $ItemVarName . 'total') !== false;
// generate output code
$output = "<?php ";
$output .= " \$_smarty_tpl->tpl_vars[$item] = new Smarty_Variable; \$_smarty_tpl->tpl_vars[$item]->_loop = false;\n";
@@ -131,7 +131,7 @@ class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase {
$output .= " \$_smarty_tpl->tpl_vars['smarty']->value['foreach'][$name]['show']=(\$_smarty_tpl->tpl_vars[$item]->total > 0);\n";
}
}
- $output .= "foreach (\$_from as \$_smarty_tpl->tpl_vars[$item]->key => \$_smarty_tpl->tpl_vars[$item]->value){\n\$_smarty_tpl->tpl_vars[$item]->_loop = true;\n";
+ $output .= "foreach (\$_from as \$_smarty_tpl->tpl_vars[$item]->key => \$_smarty_tpl->tpl_vars[$item]->value) {\n\$_smarty_tpl->tpl_vars[$item]->_loop = true;\n";
if ($key != null) {
$output .= " \$_smarty_tpl->tpl_vars[$key]->value = \$_smarty_tpl->tpl_vars[$item]->key;\n";
}
@@ -170,17 +170,18 @@ class Smarty_Internal_Compile_Foreach extends Smarty_Internal_CompileBase {
/**
* Smarty Internal Plugin Compile Foreachelse Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Foreachelse extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Foreachelse extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {foreachelse} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
@@ -193,23 +194,23 @@ class Smarty_Internal_Compile_Foreachelse extends Smarty_Internal_CompileBase {
return "<?php }\nif (!\$_smarty_tpl->tpl_vars[$item]->_loop) {\n?>";
}
-
}
/**
* Smarty Internal Plugin Compile Foreachclose Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Foreachclose extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Foreachclose extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {/foreach} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
@@ -225,7 +226,4 @@ class Smarty_Internal_Compile_Foreachclose extends Smarty_Internal_CompileBase {
return "<?php } ?>";
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_function.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_function.php
index 876b13dee..298eb16f2 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_function.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_function.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Function
- *
* Compiles the {function} {/function} tags
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Function Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -42,9 +41,10 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase {
/**
* Compiles code for the {function} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return boolean true
*/
public function compile($args, $compiler, $parameter)
@@ -57,16 +57,19 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase {
}
unset($_attr['nocache']);
$save = array($_attr, $compiler->parser->current_buffer,
- $compiler->template->has_nocache_code, $compiler->template->required_plugins);
+ $compiler->template->has_nocache_code, $compiler->template->required_plugins);
$this->openTag($compiler, 'function', $save);
$_name = trim($_attr['name'], "'\"");
unset($_attr['name']);
// set flag that we are compiling a template function
$compiler->compiles_template_function = true;
$compiler->template->properties['function'][$_name]['parameter'] = array();
+ /** @var Smarty_Internal_Template $_smarty_tpl
+ * used in evaluated code
+ */
$_smarty_tpl = $compiler->template;
foreach ($_attr as $_key => $_data) {
- eval ('$tmp='.$_data.';');
+ eval ('$tmp=' . $_data . ';');
$compiler->template->properties['function'][$_name]['parameter'][$_key] = $tmp;
}
$compiler->smarty->template_functions[$_name]['parameter'] = $compiler->template->properties['function'][$_name]['parameter'];
@@ -79,7 +82,7 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase {
foreach (\$_smarty_tpl->smarty->template_functions['{$_name}']['parameter'] as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);};
foreach (\$params as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);}?>";
}
- // Init temporay context
+ // Init temporary context
$compiler->template->required_plugins = array('compiled' => array(), 'nocache' => array());
$compiler->parser->current_buffer = new _smarty_template_buffer($compiler->parser);
$compiler->parser->current_buffer->append_subtree(new _smarty_tag($compiler->parser, $output));
@@ -88,23 +91,23 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase {
$compiler->template->properties['function'][$_name]['compiled'] = '';
return true;
}
-
}
/**
* Smarty Internal Plugin Compile Functionclose Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Functionclose extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Functionclose extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {/function} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return boolean true
*/
public function compile($args, $compiler, $parameter)
@@ -116,8 +119,8 @@ class Smarty_Internal_Compile_Functionclose extends Smarty_Internal_CompileBase
$plugins_string = '';
if (!empty($compiler->template->required_plugins['compiled'])) {
$plugins_string = '<?php ';
- foreach($compiler->template->required_plugins['compiled'] as $tmp) {
- foreach($tmp as $data) {
+ foreach ($compiler->template->required_plugins['compiled'] as $tmp) {
+ foreach ($tmp as $data) {
$plugins_string .= "if (!is_callable('{$data['function']}')) include '{$data['file']}';\n";
}
}
@@ -125,22 +128,17 @@ class Smarty_Internal_Compile_Functionclose extends Smarty_Internal_CompileBase
}
if (!empty($compiler->template->required_plugins['nocache'])) {
$plugins_string .= "<?php echo '/*%%SmartyNocache:{$compiler->template->properties['nocache_hash']}%%*/<?php ";
- foreach($compiler->template->required_plugins['nocache'] as $tmp) {
- foreach($tmp as $data) {
+ foreach ($compiler->template->required_plugins['nocache'] as $tmp) {
+ foreach ($tmp as $data) {
$plugins_string .= "if (!is_callable(\'{$data['function']}\')) include \'{$data['file']}\';\n";
}
}
$plugins_string .= "?>/*/%%SmartyNocache:{$compiler->template->properties['nocache_hash']}%%*/';?>\n";
}
- // remove last line break from function definition
- $last = count($compiler->parser->current_buffer->subtrees) - 1;
- if ($compiler->parser->current_buffer->subtrees[$last] instanceof _smarty_linebreak) {
- unset($compiler->parser->current_buffer->subtrees[$last]);
- }
- // if caching save template function for possible nocache call
+ // if caching save template function for possible nocache call
if ($compiler->template->caching) {
$compiler->template->properties['function'][$_name]['compiled'] .= $plugins_string
- . $compiler->parser->current_buffer->to_smarty_php();
+ . $compiler->parser->current_buffer->to_smarty_php();
$compiler->template->properties['function'][$_name]['nocache_hash'] = $compiler->template->properties['nocache_hash'];
$compiler->template->properties['function'][$_name]['has_nocache_code'] = $compiler->template->has_nocache_code;
$compiler->template->properties['function'][$_name]['called_functions'] = $compiler->called_functions;
@@ -149,7 +147,8 @@ class Smarty_Internal_Compile_Functionclose extends Smarty_Internal_CompileBase
$compiler->has_code = false;
$output = true;
} else {
- $output = $plugins_string . $compiler->parser->current_buffer->to_smarty_php() . "<?php \$_smarty_tpl->tpl_vars = \$saved_tpl_vars;}}?>\n";
+ $output = $plugins_string . $compiler->parser->current_buffer->to_smarty_php() . "<?php \$_smarty_tpl->tpl_vars = \$saved_tpl_vars;
+foreach (Smarty::\$global_tpl_vars as \$key => \$value) if(!isset(\$_smarty_tpl->tpl_vars[\$key])) \$_smarty_tpl->tpl_vars[\$key] = \$value;}}?>\n";
}
// reset flag that we are compiling a template function
$compiler->compiles_template_function = false;
@@ -157,9 +156,7 @@ class Smarty_Internal_Compile_Functionclose extends Smarty_Internal_CompileBase
$compiler->parser->current_buffer = $saved_data[1];
$compiler->template->has_nocache_code = $compiler->template->has_nocache_code | $saved_data[2];
$compiler->template->required_plugins = $saved_data[3];
+
return $output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_if.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_if.php
index 8794b014b..d709fcfd8 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_if.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_if.php
@@ -1,30 +1,30 @@
<?php
/**
-* Smarty Internal Plugin Compile If
-*
-* Compiles the {if} {else} {elseif} {/if} tags
-*
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
+ * Smarty Internal Plugin Compile If
+ * Compiles the {if} {else} {elseif} {/if} tags
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
/**
-* Smarty Internal Plugin Compile If Class
-*
-* @package Smarty
-* @subpackage Compiler
-*/
-class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase {
-
+ * Smarty Internal Plugin Compile If Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase
+{
/**
- * Compiles code for the {if} tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @return string compiled code
- */
+ * Compiles code for the {if} tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
+ * @return string compiled code
+ */
public function compile($args, $compiler, $parameter)
{
// check and get attributes
@@ -33,7 +33,7 @@ class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase {
// must whole block be nocache ?
$compiler->nocache = $compiler->nocache | $compiler->tag_nocache;
- if (!array_key_exists("if condition",$parameter)) {
+ if (!array_key_exists("if condition", $parameter)) {
$compiler->trigger_template_error("missing if condition", $compiler->lex->taglineno);
}
@@ -50,62 +50,63 @@ class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase {
$_nocache = '';
}
if (is_array($parameter['if condition']['var'])) {
- $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]) || !is_array(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value)) \$_smarty_tpl->createLocalArrayVariable(".$parameter['if condition']['var']['var']."$_nocache);\n";
- $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value".$parameter['if condition']['var']['smarty_internal_index']." = ".$parameter['if condition']['value']."){?>";
+ $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n";
+ $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>";
} else {
- $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."])) \$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable(null{$_nocache});";
- $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>";
+ $_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});";
+ $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>";
}
+
return $_output;
} else {
- return "<?php if ({$parameter['if condition']}){?>";
+ return "<?php if ({$parameter['if condition']}) {?>";
}
}
-
}
/**
-* Smarty Internal Plugin Compile Else Class
-*
-* @package Smarty
-* @subpackage Compiler
-*/
-class Smarty_Internal_Compile_Else extends Smarty_Internal_CompileBase {
-
+ * Smarty Internal Plugin Compile Else Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Else extends Smarty_Internal_CompileBase
+{
/**
- * Compiles code for the {else} tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @return string compiled code
- */
+ * Compiles code for the {else} tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
+ * @return string compiled code
+ */
public function compile($args, $compiler, $parameter)
{
list($nesting, $compiler->tag_nocache) = $this->closeTag($compiler, array('if', 'elseif'));
$this->openTag($compiler, 'else', array($nesting, $compiler->tag_nocache));
- return "<?php }else{ ?>";
+ return "<?php } else { ?>";
}
-
}
/**
-* Smarty Internal Plugin Compile ElseIf Class
-*
-* @package Smarty
-* @subpackage Compiler
-*/
-class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase {
-
+ * Smarty Internal Plugin Compile ElseIf Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase
+{
/**
- * Compiles code for the {elseif} tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @return string compiled code
- */
+ * Compiles code for the {elseif} tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
+ * @return string compiled code
+ */
public function compile($args, $compiler, $parameter)
{
// check and get attributes
@@ -113,7 +114,7 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase {
list($nesting, $compiler->tag_nocache) = $this->closeTag($compiler, array('if', 'elseif'));
- if (!array_key_exists("if condition",$parameter)) {
+ if (!array_key_exists("if condition", $parameter)) {
$compiler->trigger_template_error("missing elseif condition", $compiler->lex->taglineno);
}
@@ -138,56 +139,60 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase {
if ($condition_by_assign) {
$this->openTag($compiler, 'elseif', array($nesting + 1, $compiler->tag_nocache));
if (is_array($parameter['if condition']['var'])) {
- $_output = "<?php }else{ if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n";
- $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . "){?>";
+ $_output = "<?php } else { if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n";
+ $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>";
} else {
- $_output = "<?php }else{ if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});";
- $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . "){?>";
+ $_output = "<?php } else { if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});";
+ $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>";
}
+
return $_output;
} else {
$this->openTag($compiler, 'elseif', array($nesting, $compiler->tag_nocache));
- return "<?php }elseif({$parameter['if condition']}){?>";
+
+ return "<?php } elseif ({$parameter['if condition']}) {?>";
}
} else {
$tmp = '';
- foreach ($compiler->prefix_code as $code)
- $tmp .= $code;
+ foreach ($compiler->prefix_code as $code) {
+ $tmp .= $code;
+ }
$compiler->prefix_code = array();
$this->openTag($compiler, 'elseif', array($nesting + 1, $compiler->tag_nocache));
if ($condition_by_assign) {
if (is_array($parameter['if condition']['var'])) {
- $_output = "<?php }else{?>{$tmp}<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n";
- $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . "){?>";
+ $_output = "<?php } else {?>{$tmp}<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n";
+ $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>";
} else {
- $_output = "<?php }else{?>{$tmp}<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});";
- $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . "){?>";
+ $_output = "<?php } else {?>{$tmp}<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});";
+ $_output .= "if (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>";
}
+
return $_output;
} else {
- return "<?php }else{?>{$tmp}<?php if ({$parameter['if condition']}){?>";
+ return "<?php } else {?>{$tmp}<?php if ({$parameter['if condition']}) {?>";
}
}
}
-
}
/**
-* Smarty Internal Plugin Compile Ifclose Class
-*
-* @package Smarty
-* @subpackage Compiler
-*/
-class Smarty_Internal_Compile_Ifclose extends Smarty_Internal_CompileBase {
-
+ * Smarty Internal Plugin Compile Ifclose Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Ifclose extends Smarty_Internal_CompileBase
+{
/**
- * Compiles code for the {/if} tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @return string compiled code
- */
+ * Compiles code for the {/if} tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
+ * @return string compiled code
+ */
public function compile($args, $compiler, $parameter)
{
// must endblock be nocache?
@@ -196,12 +201,10 @@ class Smarty_Internal_Compile_Ifclose extends Smarty_Internal_CompileBase {
}
list($nesting, $compiler->nocache) = $this->closeTag($compiler, array('if', 'else', 'elseif'));
$tmp = '';
- for ($i = 0; $i < $nesting; $i++) {
+ for ($i = 0; $i < $nesting; $i ++) {
$tmp .= '}';
}
+
return "<?php {$tmp}?>";
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_include.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_include.php
index 43a144f94..4b7b09ce7 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_include.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_include.php
@@ -1,72 +1,72 @@
<?php
/**
-* Smarty Internal Plugin Compile Include
-*
-* Compiles the {include} tag
-*
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
+ * Smarty Internal Plugin Compile Include
+ * Compiles the {include} tag
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
/**
-* Smarty Internal Plugin Compile Include Class
-*
-* @package Smarty
-* @subpackage Compiler
-*/
-class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase {
-
+ * Smarty Internal Plugin Compile Include Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase
+{
/**
- * caching mode to create nocache code but no cache file
- */
+ * caching mode to create nocache code but no cache file
+ */
const CACHING_NOCACHE_CODE = 9999;
/**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
public $required_attributes = array('file');
/**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
public $shorttag_order = array('file');
/**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
public $option_flags = array('nocache', 'inline', 'caching');
/**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
public $optional_attributes = array('_any');
/**
- * Compiles code for the {include} tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * Compiles code for the {include} tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
{
// check and get attributes
$_attr = $this->getAttributes($compiler, $args);
- // save posible attributes
+ // save possible attributes
$include_file = $_attr['file'];
if (isset($_attr['assign'])) {
- // output will be stored in a smarty variable instead of beind displayed
+ // output will be stored in a smarty variable instead of being displayed
$_assign = $_attr['assign'];
}
@@ -81,12 +81,15 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase {
$_parent_scope = Smarty::SCOPE_GLOBAL;
}
}
- $_caching = 'null';
- if ($compiler->nocache || $compiler->tag_nocache) {
- $_caching = Smarty::CACHING_OFF;
- }
- // default for included templates
- if ($compiler->template->caching && !$compiler->nocache && !$compiler->tag_nocache) {
+
+ $_caching = Smarty::CACHING_OFF;
+
+ // flag if included template code should be merged into caller
+ $merge_compiled_includes = ($compiler->smarty->merge_compiled_includes || ($compiler->inheritance && $compiler->smarty->inheritance_merge_compiled_includes) || $_attr['inline'] === true) && !$compiler->template->source->recompiled;
+
+ // set default when in nocache mode
+ // if ($compiler->template->caching && ($compiler->nocache || $compiler->tag_nocache || $compiler->forceNocache == 2)) {
+ if ($compiler->template->caching && ((!$compiler->inheritance && !$compiler->nocache && !$compiler->tag_nocache) || ($compiler->inheritance && ($compiler->nocache || $compiler->tag_nocache)))) {
$_caching = self::CACHING_NOCACHE_CODE;
}
/*
@@ -118,52 +121,93 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase {
}
if ($_attr['nocache'] === true) {
$compiler->tag_nocache = true;
- $_caching = Smarty::CACHING_OFF;
+ if ($merge_compiled_includes) {
+ $_caching = self::CACHING_NOCACHE_CODE;
+ } else {
+ $_caching = Smarty::CACHING_OFF;
+ }
}
$has_compiled_template = false;
- if (($compiler->smarty->merge_compiled_includes || $_attr['inline'] === true) && !$compiler->template->source->recompiled
- && !($compiler->template->caching && ($compiler->tag_nocache || $compiler->nocache)) && $_caching != Smarty::CACHING_LIFETIME_CURRENT) {
- // check if compiled code can be merged (contains no variable part)
- if (!$compiler->has_variable_string && (substr_count($include_file, '"') == 2 or substr_count($include_file, "'") == 2)
- and substr_count($include_file, '(') == 0 and substr_count($include_file, '$_smarty_tpl->') == 0) {
- $tpl_name = null;
- eval("\$tpl_name = $include_file;");
- if (!isset($compiler->smarty->merged_templates_func[$tpl_name]) || $compiler->inheritance) {
- $tpl = new $compiler->smarty->template_class ($tpl_name, $compiler->smarty, $compiler->template, $compiler->template->cache_id, $compiler->template->compile_id);
- // save unique function name
- $compiler->smarty->merged_templates_func[$tpl_name]['func'] = $tpl->properties['unifunc'] = 'content_'. str_replace('.', '_', uniqid('', true));
- // use current nocache hash for inlined code
- $compiler->smarty->merged_templates_func[$tpl_name]['nocache_hash'] = $tpl->properties['nocache_hash'] = $compiler->template->properties['nocache_hash'];
- if ($compiler->template->caching) {
- // needs code for cached page but no cache file
- $tpl->caching = self::CACHING_NOCACHE_CODE;
+ if ($merge_compiled_includes && $_attr['inline'] !== true) {
+ // variable template name ?
+ if ($compiler->has_variable_string || !((substr_count($include_file, '"') == 2 || substr_count($include_file, "'") == 2))
+ || substr_count($include_file, '(') != 0 || substr_count($include_file, '$_smarty_tpl->') != 0
+ ) {
+ $merge_compiled_includes = false;
+ if ($compiler->inheritance && $compiler->smarty->inheritance_merge_compiled_includes) {
+ $compiler->trigger_template_error(' variable template file names not allow within {block} tags');
+ }
+ }
+ // variable compile_id?
+ if (isset($_attr['compile_id'])) {
+ if (!((substr_count($_attr['compile_id'], '"') == 2 || substr_count($_attr['compile_id'], "'") == 2))
+ || substr_count($_attr['compile_id'], '(') != 0 || substr_count($_attr['compile_id'], '$_smarty_tpl->') != 0
+ ) {
+ $merge_compiled_includes = false;
+ if ($compiler->inheritance && $compiler->smarty->inheritance_merge_compiled_includes) {
+ $compiler->trigger_template_error(' variable compile_id not allow within {block} tags');
}
- // make sure whole chain gest compiled
- $tpl->mustCompile = true;
- if (!($tpl->source->uncompiled) && $tpl->source->exists) {
- // get compiled code
- $compiled_code = $tpl->compiler->compileTemplate($tpl);
- // release compiler object to free memory
- unset($tpl->compiler);
- // merge compiled code for {function} tags
- $compiler->template->properties['function'] = array_merge($compiler->template->properties['function'], $tpl->properties['function']);
- // merge filedependency
- $tpl->properties['file_dependency'][$tpl->source->uid] = array($tpl->source->filepath, $tpl->source->timestamp,$tpl->source->type);
- $compiler->template->properties['file_dependency'] = array_merge($compiler->template->properties['file_dependency'], $tpl->properties['file_dependency']);
- // remove header code
- $compiled_code = preg_replace("/(<\?php \/\*%%SmartyHeaderCode:{$tpl->properties['nocache_hash']}%%\*\/(.+?)\/\*\/%%SmartyHeaderCode%%\*\/\?>\n)/s", '', $compiled_code);
- if ($tpl->has_nocache_code) {
- // replace nocache_hash
- $compiled_code = str_replace("{$tpl->properties['nocache_hash']}", $compiler->template->properties['nocache_hash'], $compiled_code);
- $compiler->template->has_nocache_code = true;
- }
- $compiler->merged_templates[$tpl->properties['unifunc']] = $compiled_code;
- $has_compiled_template = true;
+ }
+ }
+ }
+ if ($merge_compiled_includes) {
+ if ($compiler->template->caching && ($compiler->tag_nocache || $compiler->nocache) && $_caching != self::CACHING_NOCACHE_CODE) {
+ $merge_compiled_includes = false;
+ if ($compiler->inheritance && $compiler->smarty->inheritance_merge_compiled_includes) {
+ $compiler->trigger_template_error(' invalid caching mode of subtemplate within {block} tags');
+ }
+ }
+ }
+ if ($merge_compiled_includes) {
+ // we must observe different compile_id
+ $uid = sha1($_compile_id);
+ $tpl_name = null;
+ $nocache = false;
+ /** @var Smarty_Internal_Template $_smarty_tpl
+ * used in evaluated code
+ */
+ $_smarty_tpl = $compiler->template;
+ eval("\$tpl_name = $include_file;");
+ if (!isset($compiler->smarty->merged_templates_func[$tpl_name][$uid])) {
+ $tpl = new $compiler->smarty->template_class ($tpl_name, $compiler->smarty, $compiler->template, $compiler->template->cache_id, $compiler->template->compile_id);
+ // save unique function name
+ $compiler->smarty->merged_templates_func[$tpl_name][$uid]['func'] = $tpl->properties['unifunc'] = 'content_' . str_replace(array('.', ','), '_', uniqid('', true));
+ // use current nocache hash for inlined code
+ $compiler->smarty->merged_templates_func[$tpl_name][$uid]['nocache_hash'] = $tpl->properties['nocache_hash'] = $compiler->template->properties['nocache_hash'];
+ if ($compiler->template->caching && $_caching == self::CACHING_NOCACHE_CODE) {
+ // all code must be nocache
+ $nocache = true;
+ }
+ if ($compiler->inheritance) {
+ $tpl->compiler->inheritance = true;
+ }
+ // make sure whole chain gets compiled
+ $tpl->mustCompile = true;
+ if (!($tpl->source->uncompiled) && $tpl->source->exists) {
+
+ // get compiled code
+ $compiled_code = $tpl->compiler->compileTemplate($tpl, $nocache);
+ // release compiler object to free memory
+ unset($tpl->compiler);
+ // merge compiled code for {function} tags
+ $compiler->template->properties['function'] = array_merge($compiler->template->properties['function'], $tpl->properties['function']);
+ // merge filedependency
+ $tpl->properties['file_dependency'][$tpl->source->uid] = array($tpl->source->filepath, $tpl->source->timestamp, $tpl->source->type);
+ $compiler->template->properties['file_dependency'] = array_merge($compiler->template->properties['file_dependency'], $tpl->properties['file_dependency']);
+ // remove header code
+ $compiled_code = preg_replace("/(<\?php \/\*%%SmartyHeaderCode:{$tpl->properties['nocache_hash']}%%\*\/(.+?)\/\*\/%%SmartyHeaderCode%%\*\/\?>\n)/s", '', $compiled_code);
+ if ($tpl->has_nocache_code) {
+ // replace nocache_hash
+ $compiled_code = str_replace("{$tpl->properties['nocache_hash']}", $compiler->template->properties['nocache_hash'], $compiled_code);
+ $compiler->template->has_nocache_code = true;
}
- } else {
+ $compiler->merged_templates[$tpl->properties['unifunc']] = $compiled_code;
$has_compiled_template = true;
+ unset ($tpl);
}
+ } else {
+ $has_compiled_template = true;
}
}
// delete {include} standard attributes
@@ -172,32 +216,40 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase {
if (!empty($_attr)) {
if ($_parent_scope == Smarty::SCOPE_LOCAL) {
// create variables
+ $nccode = '';
foreach ($_attr as $key => $value) {
$_pairs[] = "'$key'=>$value";
+ $nccode .= "\$_smarty_tpl->tpl_vars['$key'] = new Smarty_variable($value);\n";
}
- $_vars = 'array('.join(',',$_pairs).')';
- $_has_vars = true;
+ $_vars = 'array(' . join(',', $_pairs) . ')';
} else {
$compiler->trigger_template_error('variable passing not allowed in parent/global scope', $compiler->lex->taglineno);
}
} else {
$_vars = 'array()';
- $_has_vars = false;
}
if ($has_compiled_template) {
- $_hash = $compiler->smarty->merged_templates_func[$tpl_name]['nocache_hash'];
+ // never call inline templates in nocache mode
+ $compiler->suppressNocacheProcessing = true;
+ $_hash = $compiler->smarty->merged_templates_func[$tpl_name][$uid]['nocache_hash'];
$_output = "<?php /* Call merged included template \"" . $tpl_name . "\" */\n";
$_output .= "\$_tpl_stack[] = \$_smarty_tpl;\n";
+ if (!empty($nccode) && $_caching == 9999 && $_smarty_tpl->caching) {
+ $compiler->suppressNocacheProcessing = false;
+ $_output .= substr($compiler->processNocacheCode('<?php ' .$nccode . "?>\n", true), 6, -3);
+ $compiler->suppressNocacheProcessing = true;
+ }
$_output .= " \$_smarty_tpl = \$_smarty_tpl->setupInlineSubTemplate($include_file, $_cache_id, $_compile_id, $_caching, $_cache_lifetime, $_vars, $_parent_scope, '$_hash');\n";
if (isset($_assign)) {
$_output .= 'ob_start(); ';
}
- $_output .= $compiler->smarty->merged_templates_func[$tpl_name]['func']. "(\$_smarty_tpl);\n";
+ $_output .= $compiler->smarty->merged_templates_func[$tpl_name][$uid]['func'] . "(\$_smarty_tpl);\n";
$_output .= "\$_smarty_tpl = array_pop(\$_tpl_stack); ";
if (isset($_assign)) {
$_output .= " \$_smarty_tpl->tpl_vars[$_assign] = new Smarty_variable(ob_get_clean());";
}
- $_output .= "/* End of included template \"" . $tpl_name . "\" */?>";
+ $_output .= "\n/* End of included template \"" . $tpl_name . "\" */?>";
+
return $_output;
}
@@ -207,9 +259,7 @@ class Smarty_Internal_Compile_Include extends Smarty_Internal_CompileBase {
} else {
$_output = "<?php echo \$_smarty_tpl->getSubTemplate ($include_file, $_cache_id, $_compile_id, $_caching, $_cache_lifetime, $_vars, $_parent_scope);?>\n";
}
+
return $_output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_include_php.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_include_php.php
index d52712368..76f506c52 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_include_php.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_include_php.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Include PHP
- *
* Compiles the {include_php} tag
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Insert Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -42,8 +41,10 @@ class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase {
/**
* Compiles code for the {include_php} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
+ * @throws SmartyException
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -54,8 +55,9 @@ class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase {
// check and get attributes
$_attr = $this->getAttributes($compiler, $args);
- $_output = '<?php ';
-
+ /** @var Smarty_Internal_Template $_smarty_tpl
+ * used in evaluated code
+ */
$_smarty_tpl = $compiler->template;
$_filepath = false;
eval('$_file = ' . $_attr['file'] . ';');
@@ -68,10 +70,10 @@ class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase {
$_dir = $compiler->smarty->trusted_dir;
}
if (!empty($_dir)) {
- foreach((array)$_dir as $_script_dir) {
+ foreach ((array) $_dir as $_script_dir) {
$_script_dir = rtrim($_script_dir, '/\\') . DS;
if (file_exists($_script_dir . $_file)) {
- $_filepath = $_script_dir . $_file;
+ $_filepath = $_script_dir . $_file;
break;
}
}
@@ -102,7 +104,4 @@ class Smarty_Internal_Compile_Include_Php extends Smarty_Internal_CompileBase {
return "<?php include{$_once} ('{$_filepath}');?>\n";
}
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_insert.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_insert.php
index e4d3f9355..4c6585543 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_insert.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_insert.php
@@ -2,22 +2,21 @@
/**
* Smarty Internal Plugin Compile Insert
- *
* Compiles the {insert} tag
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Insert Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -43,8 +42,9 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase {
/**
* Compiles code for the {insert} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -59,12 +59,12 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase {
$_script = null;
$_output = '<?php ';
- // save posible attributes
+ // save possible attributes
eval('$_name = ' . $_attr['name'] . ';');
if (isset($_attr['assign'])) {
// output will be stored in a smarty variable instead of being displayed
$_assign = $_attr['assign'];
- // create variable to make shure that the compiler knows about its nocache status
+ // create variable to make sure that the compiler knows about its nocache status
$compiler->template->tpl_vars[trim($_attr['assign'], "'")] = new Smarty_Variable(null, true);
}
if (isset($_attr['script'])) {
@@ -82,7 +82,7 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase {
$_dir = $compiler->smarty->trusted_dir;
}
if (!empty($_dir)) {
- foreach((array)$_dir as $_script_dir) {
+ foreach ((array) $_dir as $_script_dir) {
$_script_dir = rtrim($_script_dir, '/\\') . DS;
if (file_exists($_script_dir . $_script)) {
$_filepath = $_script_dir . $_script;
@@ -134,9 +134,7 @@ class Smarty_Internal_Compile_Insert extends Smarty_Internal_CompileBase {
$_output .= "echo {$_function}({$_params},\$_smarty_tpl);?>";
}
}
+
return $_output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php
index 990632590..91b44881e 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php
@@ -1,28 +1,28 @@
<?php
/**
* Smarty Internal Plugin Compile Ldelim
- *
* Compiles the {ldelim} tag
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Ldelim Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Ldelim extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Ldelim extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {ldelim} tag
- *
* This tag does output the left delimiter
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -33,9 +33,7 @@ class Smarty_Internal_Compile_Ldelim extends Smarty_Internal_CompileBase {
}
// this tag does not return compiled code
$compiler->has_code = true;
+
return $compiler->smarty->left_delimiter;
}
-
}
-
-?>
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php
index 5fb71b71d..ba39717fd 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php
@@ -1,29 +1,28 @@
<?php
/**
* Smarty Internal Plugin Compile Nocache
- *
* Compiles the {nocache} {/nocache} tags.
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
- * Smarty Internal Plugin Compile Nocache Classv
+ * Smarty Internal Plugin Compile Nocache Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Nocache extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Nocache extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {nocache} tag
- *
* This tag does not generate compiled output. It only sets a compiler flag.
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return bool
*/
public function compile($args, $compiler)
@@ -36,26 +35,26 @@ class Smarty_Internal_Compile_Nocache extends Smarty_Internal_CompileBase {
$compiler->nocache = true;
// this tag does not return compiled code
$compiler->has_code = false;
+
return true;
}
-
}
/**
* Smarty Internal Plugin Compile Nocacheclose Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Nocacheclose extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Nocacheclose extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {/nocache} tag
- *
* This tag does not generate compiled output. It only sets a compiler flag.
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return bool
*/
public function compile($args, $compiler)
@@ -65,9 +64,7 @@ class Smarty_Internal_Compile_Nocacheclose extends Smarty_Internal_CompileBase {
$compiler->nocache = false;
// this tag does not return compiled code
$compiler->has_code = false;
+
return true;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php
index 5288f4560..3dff8538e 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Block Plugin
- *
* Compiles code for the execution of block plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Block Plugin Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Private_Block_Plugin extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Private_Block_Plugin extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -28,23 +27,24 @@ class Smarty_Internal_Compile_Private_Block_Plugin extends Smarty_Internal_Compi
/**
* Compiles code for the execution of block plugin
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @param string $tag name of block plugin
- * @param string $function PHP function name
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ * @param string $tag name of block plugin
+ * @param string $function PHP function name
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter, $tag, $function)
{
- if (!isset($tag[5]) || substr($tag, -5) != 'close') {
+ if (!isset($tag[5]) || substr($tag, - 5) != 'close') {
// opening tag of block plugin
// check and get attributes
$_attr = $this->getAttributes($compiler, $args);
if ($_attr['nocache'] === true) {
$compiler->tag_nocache = true;
}
- unset($_attr['nocache']);
+ unset($_attr['nocache']);
// convert attributes into parameter array string
$_paramsArray = array();
foreach ($_attr as $_key => $_value) {
@@ -67,21 +67,19 @@ class Smarty_Internal_Compile_Private_Block_Plugin extends Smarty_Internal_Compi
$compiler->tag_nocache = true;
}
// closing tag of block plugin, restore nocache
- list($_params, $compiler->nocache) = $this->closeTag($compiler, substr($tag, 0, -5));
+ list($_params, $compiler->nocache) = $this->closeTag($compiler, substr($tag, 0, - 5));
// This tag does create output
$compiler->has_output = true;
// compile code
if (!isset($parameter['modifier_list'])) {
- $mod_pre = $mod_post ='';
+ $mod_pre = $mod_post = '';
} else {
$mod_pre = ' ob_start(); ';
- $mod_post = 'echo '.$compiler->compileTag('private_modifier',array(),array('modifierlist'=>$parameter['modifier_list'],'value'=>'ob_get_clean()')).';';
+ $mod_post = 'echo ' . $compiler->compileTag('private_modifier', array(), array('modifierlist' => $parameter['modifier_list'], 'value' => 'ob_get_clean()')) . ';';
}
- $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;".$mod_pre." echo {$function}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); ".$mod_post." } array_pop(\$_smarty_tpl->smarty->_tag_stack);?>";
+ $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . " echo {$function}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . $mod_post . " } array_pop(\$_smarty_tpl->smarty->_tag_stack);?>";
}
+
return $output . "\n";
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php
index 70e764318..4fbd4dc18 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Function Plugin
- *
* Compiles code for the execution of function plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Function Plugin Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Private_Function_Plugin extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Private_Function_Plugin extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -35,11 +34,12 @@ class Smarty_Internal_Compile_Private_Function_Plugin extends Smarty_Internal_Co
/**
* Compiles code for the execution of function plugin
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @param string $tag name of function plugin
- * @param string $function PHP function name
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ * @param string $tag name of function plugin
+ * @param string $function PHP function name
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter, $tag, $function)
@@ -65,9 +65,7 @@ class Smarty_Internal_Compile_Private_Function_Plugin extends Smarty_Internal_Co
$_params = 'array(' . implode(",", $_paramsArray) . ')';
// compile code
$output = "<?php echo {$function}({$_params},\$_smarty_tpl);?>\n";
+
return $output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php
index 120f3ff10..ba03bfcfa 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php
@@ -1,140 +1,139 @@
-<?php
-
-/**
- * Smarty Internal Plugin Compile Modifier
- *
- * Compiles code for modifier execution
- *
- * @package Smarty
- * @subpackage Compiler
- * @author Uwe Tews
- */
-
-/**
- * Smarty Internal Plugin Compile Modifier Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBase {
-
- /**
- * Compiles code for modifier execution
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @return string compiled code
- */
- public function compile($args, $compiler, $parameter) {
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- $output = $parameter['value'];
- // loop over list of modifiers
- foreach ($parameter['modifierlist'] as $single_modifier) {
- $modifier = $single_modifier[0];
- $single_modifier[0] = $output;
- $params = implode(',', $single_modifier);
- // check if we know already the type of modifier
- if (isset($compiler->known_modifier_type[$modifier])) {
- $modifier_types = array($compiler->known_modifier_type[$modifier]);
- } else {
- $modifier_types = array(1, 2, 3, 4, 5, 6);
- }
- foreach ($modifier_types as $type) {
- switch ($type) {
- case 1:
- // registered modifier
- if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][$modifier])) {
- $function = $compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][$modifier][0];
- if (!is_array($function)) {
- $output = "{$function}({$params})";
- } else {
- if (is_object($function[0])) {
- $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')';
- } else {
- $output = $function[0] . '::' . $function[1] . '(' . $params . ')';
- }
- }
- $compiler->known_modifier_type[$modifier] = $type;
- break 2;
- }
- break;
- case 2:
- // registered modifier compiler
- if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIERCOMPILER][$modifier][0])) {
- $output = call_user_func($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIERCOMPILER][$modifier][0], $single_modifier, $compiler->smarty);
- $compiler->known_modifier_type[$modifier] = $type;
- break 2;
- }
- break;
- case 3:
- // modifiercompiler plugin
- if ($compiler->smarty->loadPlugin('smarty_modifiercompiler_' . $modifier)) {
- // check if modifier allowed
- if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {
- $plugin = 'smarty_modifiercompiler_' . $modifier;
- $output = $plugin($single_modifier, $compiler);
- }
- $compiler->known_modifier_type[$modifier] = $type;
- break 2;
- }
- break;
- case 4:
- // modifier plugin
- if ($function = $compiler->getPlugin($modifier, Smarty::PLUGIN_MODIFIER)) {
- // check if modifier allowed
- if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {
- $output = "{$function}({$params})";
- }
- $compiler->known_modifier_type[$modifier] = $type;
- break 2;
- }
- break;
- case 5:
- // PHP function
- if (is_callable($modifier)) {
- // check if modifier allowed
- if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedPhpModifier($modifier, $compiler)) {
- $output = "{$modifier}({$params})";
- }
- $compiler->known_modifier_type[$modifier] = $type;
- break 2;
- }
- break;
- case 6:
- // default plugin handler
- if (isset($compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier]) || (is_callable($compiler->smarty->default_plugin_handler_func) && $compiler->getPluginFromDefaultHandler($modifier, Smarty::PLUGIN_MODIFIER))) {
- $function = $compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier][0];
- // check if modifier allowed
- if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {
- if (!is_array($function)) {
- $output = "{$function}({$params})";
- } else {
- if (is_object($function[0])) {
- $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')';
- } else {
- $output = $function[0] . '::' . $function[1] . '(' . $params . ')';
- }
- }
- }
- if (isset($compiler->template->required_plugins['nocache'][$modifier][Smarty::PLUGIN_MODIFIER]['file']) || isset($compiler->template->required_plugins['compiled'][$modifier][Smarty::PLUGIN_MODIFIER]['file'])) {
- // was a plugin
- $compiler->known_modifier_type[$modifier] = 4;
- } else {
- $compiler->known_modifier_type[$modifier] = $type;
- }
- break 2;
- }
- }
- }
- if (!isset($compiler->known_modifier_type[$modifier])) {
- $compiler->trigger_template_error("unknown modifier \"" . $modifier . "\"", $compiler->lex->taglineno);
- }
- }
- return $output;
- }
-
-}
-
-?> \ No newline at end of file
+<?php
+
+/**
+ * Smarty Internal Plugin Compile Modifier
+ * Compiles code for modifier execution
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
+
+/**
+ * Smarty Internal Plugin Compile Modifier Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBase
+{
+ /**
+ * Compiles code for modifier execution
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
+ * @return string compiled code
+ */
+ public function compile($args, $compiler, $parameter)
+ {
+ // check and get attributes
+ $_attr = $this->getAttributes($compiler, $args);
+ $output = $parameter['value'];
+ // loop over list of modifiers
+ foreach ($parameter['modifierlist'] as $single_modifier) {
+ $modifier = $single_modifier[0];
+ $single_modifier[0] = $output;
+ $params = implode(',', $single_modifier);
+ // check if we know already the type of modifier
+ if (isset($compiler->known_modifier_type[$modifier])) {
+ $modifier_types = array($compiler->known_modifier_type[$modifier]);
+ } else {
+ $modifier_types = array(1, 2, 3, 4, 5, 6);
+ }
+ foreach ($modifier_types as $type) {
+ switch ($type) {
+ case 1:
+ // registered modifier
+ if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][$modifier])) {
+ $function = $compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][$modifier][0];
+ if (!is_array($function)) {
+ $output = "{$function}({$params})";
+ } else {
+ if (is_object($function[0])) {
+ $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')';
+ } else {
+ $output = $function[0] . '::' . $function[1] . '(' . $params . ')';
+ }
+ }
+ $compiler->known_modifier_type[$modifier] = $type;
+ break 2;
+ }
+ break;
+ case 2:
+ // registered modifier compiler
+ if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIERCOMPILER][$modifier][0])) {
+ $output = call_user_func($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIERCOMPILER][$modifier][0], $single_modifier, $compiler->smarty);
+ $compiler->known_modifier_type[$modifier] = $type;
+ break 2;
+ }
+ break;
+ case 3:
+ // modifiercompiler plugin
+ if ($compiler->smarty->loadPlugin('smarty_modifiercompiler_' . $modifier)) {
+ // check if modifier allowed
+ if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {
+ $plugin = 'smarty_modifiercompiler_' . $modifier;
+ $output = $plugin($single_modifier, $compiler);
+ }
+ $compiler->known_modifier_type[$modifier] = $type;
+ break 2;
+ }
+ break;
+ case 4:
+ // modifier plugin
+ if ($function = $compiler->getPlugin($modifier, Smarty::PLUGIN_MODIFIER)) {
+ // check if modifier allowed
+ if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {
+ $output = "{$function}({$params})";
+ }
+ $compiler->known_modifier_type[$modifier] = $type;
+ break 2;
+ }
+ break;
+ case 5:
+ // PHP function
+ if (is_callable($modifier)) {
+ // check if modifier allowed
+ if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedPhpModifier($modifier, $compiler)) {
+ $output = "{$modifier}({$params})";
+ }
+ $compiler->known_modifier_type[$modifier] = $type;
+ break 2;
+ }
+ break;
+ case 6:
+ // default plugin handler
+ if (isset($compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier]) || (is_callable($compiler->smarty->default_plugin_handler_func) && $compiler->getPluginFromDefaultHandler($modifier, Smarty::PLUGIN_MODIFIER))) {
+ $function = $compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier][0];
+ // check if modifier allowed
+ if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {
+ if (!is_array($function)) {
+ $output = "{$function}({$params})";
+ } else {
+ if (is_object($function[0])) {
+ $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')';
+ } else {
+ $output = $function[0] . '::' . $function[1] . '(' . $params . ')';
+ }
+ }
+ }
+ if (isset($compiler->template->required_plugins['nocache'][$modifier][Smarty::PLUGIN_MODIFIER]['file']) || isset($compiler->template->required_plugins['compiled'][$modifier][Smarty::PLUGIN_MODIFIER]['file'])) {
+ // was a plugin
+ $compiler->known_modifier_type[$modifier] = 4;
+ } else {
+ $compiler->known_modifier_type[$modifier] = $type;
+ }
+ break 2;
+ }
+ }
+ }
+ if (!isset($compiler->known_modifier_type[$modifier])) {
+ $compiler->trigger_template_error("unknown modifier \"" . $modifier . "\"", $compiler->lex->taglineno);
+ }
+ }
+
+ return $output;
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php
index cca924d10..5418fefff 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Object Block Function
- *
* Compiles code for registered objects as block function
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Object Block Function Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Private_Object_Block_Function extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Private_Object_Block_Function extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -28,16 +27,17 @@ class Smarty_Internal_Compile_Private_Object_Block_Function extends Smarty_Inter
/**
* Compiles code for the execution of block plugin
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @param string $tag name of block object
- * @param string $method name of method to call
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ * @param string $tag name of block object
+ * @param string $method name of method to call
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter, $tag, $method)
{
- if (!isset($tag[5]) || substr($tag, -5) != 'close') {
+ if (!isset($tag[5]) || substr($tag, - 5) != 'close') {
// opening tag of block plugin
// check and get attributes
$_attr = $this->getAttributes($compiler, $args);
@@ -62,7 +62,7 @@ class Smarty_Internal_Compile_Private_Object_Block_Function extends Smarty_Inter
// compile code
$output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}->{$method}', {$_params}); \$_block_repeat=true; echo \$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>";
} else {
- $base_tag = substr($tag, 0, -5);
+ $base_tag = substr($tag, 0, - 5);
// must endblock be nocache?
if ($compiler->nocache) {
$compiler->tag_nocache = true;
@@ -80,9 +80,7 @@ class Smarty_Internal_Compile_Private_Object_Block_Function extends Smarty_Inter
}
$output = "<?php \$_block_content = ob_get_contents(); ob_end_clean(); \$_block_repeat=false;" . $mod_pre . " echo \$_smarty_tpl->smarty->registered_objects['{$base_tag}'][0]->{$method}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . $mod_post . " } array_pop(\$_smarty_tpl->smarty->_tag_stack);?>";
}
+
return $output . "\n";
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php
index f649084c3..d6eb47ab3 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php
@@ -1,22 +1,21 @@
<?php
/**
- * Smarty Internal Plugin Compile Object Funtion
- *
+ * Smarty Internal Plugin Compile Object Function
* Compiles code for registered objects as function
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Object Function Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Private_Object_Function extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Private_Object_Function extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -28,11 +27,12 @@ class Smarty_Internal_Compile_Private_Object_Function extends Smarty_Internal_Co
/**
* Compiles code for the execution of function plugin
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @param string $tag name of function
- * @param string $method name of method to call
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ * @param string $tag name of function
+ * @param string $method name of method to call
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter, $tag, $method)
@@ -48,22 +48,29 @@ class Smarty_Internal_Compile_Private_Object_Function extends Smarty_Internal_Co
$_assign = $_attr['assign'];
unset($_attr['assign']);
}
- // convert attributes into parameter array string
- if ($compiler->smarty->registered_objects[$tag][2]) {
- $_paramsArray = array();
- foreach ($_attr as $_key => $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
+ // method or property ?
+ if (method_exists($compiler->smarty->registered_objects[$tag][0], $method)) {
+ // convert attributes into parameter array string
+ if ($compiler->smarty->registered_objects[$tag][2]) {
+ $_paramsArray = array();
+ foreach ($_attr as $_key => $_value) {
+ if (is_int($_key)) {
+ $_paramsArray[] = "$_key=>$_value";
+ } else {
+ $_paramsArray[] = "'$_key'=>$_value";
+ }
}
+ $_params = 'array(' . implode(",", $_paramsArray) . ')';
+ $return = "\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params},\$_smarty_tpl)";
+ } else {
+ $_params = implode(",", $_attr);
+ $return = "\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params})";
}
- $_params = 'array(' . implode(",", $_paramsArray) . ')';
- $return = "\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params},\$_smarty_tpl)";
} else {
- $_params = implode(",", $_attr);
- $return = "\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}({$_params})";
+ // object property
+ $return = "\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]->{$method}";
}
+
if (empty($_assign)) {
// This tag does create output
$compiler->has_output = true;
@@ -71,9 +78,7 @@ class Smarty_Internal_Compile_Private_Object_Function extends Smarty_Internal_Co
} else {
$output = "<?php \$_smarty_tpl->assign({$_assign},{$return});?>\n";
}
+
return $output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php
index a37119547..188bbe77a 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php
@@ -1,45 +1,46 @@
<?php
/**
-* Smarty Internal Plugin Compile Print Expression
-*
-* Compiles any tag which will output an expression or variable
-*
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
+ * Smarty Internal Plugin Compile Print Expression
+ * Compiles any tag which will output an expression or variable
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
/**
-* Smarty Internal Plugin Compile Print Expression Class
-*
-* @package Smarty
-* @subpackage Compiler
-*/
-class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_CompileBase {
-
+ * Smarty Internal Plugin Compile Print Expression Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_CompileBase
+{
/**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
public $optional_attributes = array('assign');
/**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
public $option_flags = array('nocache', 'nofilter');
/**
- * Compiles code for gererting output from any expression
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @return string compiled code
- */
+ * Compiles code for generating output from any expression
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
+ * @throws SmartyException
+ * @return string compiled code
+ */
public function compile($args, $compiler, $parameter)
{
// check and get attributes
@@ -48,12 +49,6 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C
if ($_attr['nocache'] === true) {
$compiler->tag_nocache = true;
}
- // filter handling
- if ($_attr['nofilter'] === true) {
- $_filter = 'false';
- } else {
- $_filter = 'true';
- }
if (isset($_attr['assign'])) {
// assign output to variable
$output = "<?php \$_smarty_tpl->assign({$_attr['assign']},{$parameter['value']});?>";
@@ -71,13 +66,13 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C
$modifierlist = array();
foreach ($compiler->smarty->default_modifiers as $key => $single_default_modifier) {
preg_match_all('/(\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\'|"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"|:|[^:]+)/', $single_default_modifier, $mod_array);
- for ($i = 0, $count = count($mod_array[0]);$i < $count;$i++) {
+ for ($i = 0, $count = count($mod_array[0]); $i < $count; $i ++) {
if ($mod_array[0][$i] != ':') {
$modifierlist[$key][] = $mod_array[0][$i];
}
}
}
- $compiler->default_modifier_list = $modifierlist;
+ $compiler->default_modifier_list = $modifierlist;
}
$output = $compiler->compileTag('private_modifier', array(), array('modifierlist' => $compiler->default_modifier_list, 'value' => $output));
}
@@ -85,13 +80,13 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C
if ($compiler->template->smarty->escape_html) {
$output = "htmlspecialchars({$output}, ENT_QUOTES, '" . addslashes(Smarty::$_CHARSET) . "')";
}
- // loop over registerd filters
+ // loop over registered filters
if (!empty($compiler->template->smarty->registered_filters[Smarty::FILTER_VARIABLE])) {
foreach ($compiler->template->smarty->registered_filters[Smarty::FILTER_VARIABLE] as $key => $function) {
if (!is_array($function)) {
$output = "{$function}({$output},\$_smarty_tpl)";
- } else if (is_object($function[0])) {
- $output = "\$_smarty_tpl->smarty->registered_filters[Smarty::FILTER_VARIABLE][{$key}][0]->{$function[1]}({$output},\$_smarty_tpl)";
+ } elseif (is_object($function[0])) {
+ $output = "\$_smarty_tpl->smarty->registered_filters[Smarty::FILTER_VARIABLE]['{$key}'][0]->{$function[1]}({$output},\$_smarty_tpl)";
} else {
$output = "{$function[0]}::{$function[1]}({$output},\$_smarty_tpl)";
}
@@ -99,7 +94,7 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C
}
// auto loaded filters
if (isset($compiler->smarty->autoload_filters[Smarty::FILTER_VARIABLE])) {
- foreach ((array)$compiler->template->smarty->autoload_filters[Smarty::FILTER_VARIABLE] as $name) {
+ foreach ((array) $compiler->template->smarty->autoload_filters[Smarty::FILTER_VARIABLE] as $name) {
$result = $this->compile_output_filter($compiler, $name, $output);
if ($result !== false) {
$output = $result;
@@ -123,15 +118,17 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C
$compiler->has_output = true;
$output = "<?php echo {$output};?>";
}
+
return $output;
}
/**
- * @param object $compiler compiler object
- * @param string $name name of variable filter
- * @param type $output embedded output
- * @return string
- */
+ * @param object $compiler compiler object
+ * @param string $name name of variable filter
+ * @param string $output embedded output
+ *
+ * @return string
+ */
private function compile_output_filter($compiler, $name, $output)
{
$plugin_name = "smarty_variablefilter_{$name}";
@@ -148,9 +145,7 @@ class Smarty_Internal_Compile_Private_Print_Expression extends Smarty_Internal_C
// not found
return false;
}
+
return "{$plugin_name}({$output},\$_smarty_tpl)";
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php
index 9fed36c3b..68ab644fc 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php
@@ -1,113 +1,111 @@
-<?php
-/**
- * Smarty Internal Plugin Compile Registered Block
- *
- * Compiles code for the execution of a registered block function
- *
- * @package Smarty
- * @subpackage Compiler
- * @author Uwe Tews
- */
-
-/**
- * Smarty Internal Plugin Compile Registered Block Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Private_Registered_Block extends Smarty_Internal_CompileBase {
-
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $optional_attributes = array('_any');
-
- /**
- * Compiles code for the execution of a block function
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @param string $tag name of block function
- * @return string compiled code
- */
- public function compile($args, $compiler, $parameter, $tag)
- {
- if (!isset($tag[5]) || substr($tag,-5) != 'close') {
- // opening tag of block plugin
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- if ($_attr['nocache']) {
- $compiler->tag_nocache = true;
- }
- unset($_attr['nocache']);
- if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$tag])) {
- $tag_info = $compiler->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$tag];
- } else {
- $tag_info = $compiler->default_handler_plugins[Smarty::PLUGIN_BLOCK][$tag];
- }
- // convert attributes into parameter array string
- $_paramsArray = array();
- foreach ($_attr as $_key => $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } elseif ($compiler->template->caching && in_array($_key,$tag_info[2])) {
- $_value = str_replace("'","^#^",$_value);
- $_paramsArray[] = "'$_key'=>^#^.var_export($_value,true).^#^";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
- }
- }
- $_params = 'array(' . implode(",", $_paramsArray) . ')';
-
- $this->openTag($compiler, $tag, array($_params, $compiler->nocache));
- // maybe nocache because of nocache variables or nocache plugin
- $compiler->nocache = !$tag_info[1] | $compiler->nocache | $compiler->tag_nocache;
- $function = $tag_info[0];
- // compile code
- if (!is_array($function)) {
- $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}', {$_params}); \$_block_repeat=true; echo {$function}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>";
- } else if (is_object($function[0])) {
- $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}', {$_params}); \$_block_repeat=true; echo \$_smarty_tpl->smarty->registered_plugins['block']['{$tag}'][0][0]->{$function[1]}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>";
- } else {
- $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}', {$_params}); \$_block_repeat=true; echo {$function[0]}::{$function[1]}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>";
- }
- } else {
- // must endblock be nocache?
- if ($compiler->nocache) {
- $compiler->tag_nocache = true;
- }
- $base_tag = substr($tag, 0, -5);
- // closing tag of block plugin, restore nocache
- list($_params, $compiler->nocache) = $this->closeTag($compiler, $base_tag);
- // This tag does create output
- $compiler->has_output = true;
- if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$base_tag])) {
- $function = $compiler->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$base_tag][0];
- } else {
- $function = $compiler->default_handler_plugins[Smarty::PLUGIN_BLOCK][$base_tag][0];
- }
- // compile code
- if (!isset($parameter['modifier_list'])) {
- $mod_pre = $mod_post ='';
- } else {
- $mod_pre = ' ob_start(); ';
- $mod_post = 'echo '.$compiler->compileTag('private_modifier',array(),array('modifierlist'=>$parameter['modifier_list'],'value'=>'ob_get_clean()')).';';
- }
- if (!is_array($function)) {
- $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;".$mod_pre." echo {$function}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat);".$mod_post." } array_pop(\$_smarty_tpl->smarty->_tag_stack);?>";
- } else if (is_object($function[0])) {
- $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;".$mod_pre." echo \$_smarty_tpl->smarty->registered_plugins['block']['{$base_tag}'][0][0]->{$function[1]}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); ".$mod_post."} array_pop(\$_smarty_tpl->smarty->_tag_stack);?>";
- } else {
- $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;".$mod_pre." echo {$function[0]}::{$function[1]}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); ".$mod_post."} array_pop(\$_smarty_tpl->smarty->_tag_stack);?>";
- }
- }
- return $output . "\n";
- }
-
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty Internal Plugin Compile Registered Block
+ * Compiles code for the execution of a registered block function
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
+
+/**
+ * Smarty Internal Plugin Compile Registered Block Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Private_Registered_Block extends Smarty_Internal_CompileBase
+{
+ /**
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
+ public $optional_attributes = array('_any');
+
+ /**
+ * Compiles code for the execution of a block function
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ * @param string $tag name of block function
+ *
+ * @return string compiled code
+ */
+ public function compile($args, $compiler, $parameter, $tag)
+ {
+ if (!isset($tag[5]) || substr($tag, - 5) != 'close') {
+ // opening tag of block plugin
+ // check and get attributes
+ $_attr = $this->getAttributes($compiler, $args);
+ if ($_attr['nocache']) {
+ $compiler->tag_nocache = true;
+ }
+ unset($_attr['nocache']);
+ if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$tag])) {
+ $tag_info = $compiler->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$tag];
+ } else {
+ $tag_info = $compiler->default_handler_plugins[Smarty::PLUGIN_BLOCK][$tag];
+ }
+ // convert attributes into parameter array string
+ $_paramsArray = array();
+ foreach ($_attr as $_key => $_value) {
+ if (is_int($_key)) {
+ $_paramsArray[] = "$_key=>$_value";
+ } elseif ($compiler->template->caching && in_array($_key, $tag_info[2])) {
+ $_value = str_replace("'", "^#^", $_value);
+ $_paramsArray[] = "'$_key'=>^#^.var_export($_value,true).^#^";
+ } else {
+ $_paramsArray[] = "'$_key'=>$_value";
+ }
+ }
+ $_params = 'array(' . implode(",", $_paramsArray) . ')';
+
+ $this->openTag($compiler, $tag, array($_params, $compiler->nocache));
+ // maybe nocache because of nocache variables or nocache plugin
+ $compiler->nocache = !$tag_info[1] | $compiler->nocache | $compiler->tag_nocache;
+ $function = $tag_info[0];
+ // compile code
+ if (!is_array($function)) {
+ $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}', {$_params}); \$_block_repeat=true; echo {$function}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>";
+ } elseif (is_object($function[0])) {
+ $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}', {$_params}); \$_block_repeat=true; echo \$_smarty_tpl->smarty->registered_plugins['block']['{$tag}'][0][0]->{$function[1]}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>";
+ } else {
+ $output = "<?php \$_smarty_tpl->smarty->_tag_stack[] = array('{$tag}', {$_params}); \$_block_repeat=true; echo {$function[0]}::{$function[1]}({$_params}, null, \$_smarty_tpl, \$_block_repeat);while (\$_block_repeat) { ob_start();?>";
+ }
+ } else {
+ // must endblock be nocache?
+ if ($compiler->nocache) {
+ $compiler->tag_nocache = true;
+ }
+ $base_tag = substr($tag, 0, - 5);
+ // closing tag of block plugin, restore nocache
+ list($_params, $compiler->nocache) = $this->closeTag($compiler, $base_tag);
+ // This tag does create output
+ $compiler->has_output = true;
+ if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$base_tag])) {
+ $function = $compiler->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$base_tag][0];
+ } else {
+ $function = $compiler->default_handler_plugins[Smarty::PLUGIN_BLOCK][$base_tag][0];
+ }
+ // compile code
+ if (!isset($parameter['modifier_list'])) {
+ $mod_pre = $mod_post = '';
+ } else {
+ $mod_pre = ' ob_start(); ';
+ $mod_post = 'echo ' . $compiler->compileTag('private_modifier', array(), array('modifierlist' => $parameter['modifier_list'], 'value' => 'ob_get_clean()')) . ';';
+ }
+ if (!is_array($function)) {
+ $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . " echo {$function}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat);" . $mod_post . " } array_pop(\$_smarty_tpl->smarty->_tag_stack);?>";
+ } elseif (is_object($function[0])) {
+ $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . " echo \$_smarty_tpl->smarty->registered_plugins['block']['{$base_tag}'][0][0]->{$function[1]}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . $mod_post . "} array_pop(\$_smarty_tpl->smarty->_tag_stack);?>";
+ } else {
+ $output = "<?php \$_block_content = ob_get_clean(); \$_block_repeat=false;" . $mod_pre . " echo {$function[0]}::{$function[1]}({$_params}, \$_block_content, \$_smarty_tpl, \$_block_repeat); " . $mod_post . "} array_pop(\$_smarty_tpl->smarty->_tag_stack);?>";
+ }
+ }
+
+ return $output . "\n";
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php
index 5058bfbbd..dfb4572f4 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php
@@ -1,81 +1,79 @@
-<?php
-/**
- * Smarty Internal Plugin Compile Registered Function
- *
- * Compiles code for the execution of a registered function
- *
- * @package Smarty
- * @subpackage Compiler
- * @author Uwe Tews
- */
-
-/**
- * Smarty Internal Plugin Compile Registered Function Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Private_Registered_Function extends Smarty_Internal_CompileBase {
-
- /**
- * Attribute definition: Overwrites base class.
- *
- * @var array
- * @see Smarty_Internal_CompileBase
- */
- public $optional_attributes = array('_any');
-
- /**
- * Compiles code for the execution of a registered function
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @param string $tag name of function
- * @return string compiled code
- */
- public function compile($args, $compiler, $parameter, $tag)
- {
- // This tag does create output
- $compiler->has_output = true;
- // check and get attributes
- $_attr = $this->getAttributes($compiler, $args);
- if ($_attr['nocache']) {
- $compiler->tag_nocache = true;
- }
- unset($_attr['nocache']);
- if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION][$tag])) {
- $tag_info = $compiler->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION][$tag];
- } else {
- $tag_info = $compiler->default_handler_plugins[Smarty::PLUGIN_FUNCTION][$tag];
- }
- // not cachable?
- $compiler->tag_nocache = $compiler->tag_nocache || !$tag_info[1];
- // convert attributes into parameter array string
- $_paramsArray = array();
- foreach ($_attr as $_key => $_value) {
- if (is_int($_key)) {
- $_paramsArray[] = "$_key=>$_value";
- } elseif ($compiler->template->caching && in_array($_key,$tag_info[2])) {
- $_value = str_replace("'","^#^",$_value);
- $_paramsArray[] = "'$_key'=>^#^.var_export($_value,true).^#^";
- } else {
- $_paramsArray[] = "'$_key'=>$_value";
- }
- }
- $_params = 'array(' . implode(",", $_paramsArray) . ')';
- $function = $tag_info[0];
- // compile code
- if (!is_array($function)) {
- $output = "<?php echo {$function}({$_params},\$_smarty_tpl);?>\n";
- } else if (is_object($function[0])) {
- $output = "<?php echo \$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['{$tag}'][0][0]->{$function[1]}({$_params},\$_smarty_tpl);?>\n";
- } else {
- $output = "<?php echo {$function[0]}::{$function[1]}({$_params},\$_smarty_tpl);?>\n";
- }
- return $output;
- }
-
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty Internal Plugin Compile Registered Function
+ * Compiles code for the execution of a registered function
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
+
+/**
+ * Smarty Internal Plugin Compile Registered Function Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Private_Registered_Function extends Smarty_Internal_CompileBase
+{
+ /**
+ * Attribute definition: Overwrites base class.
+ *
+ * @var array
+ * @see Smarty_Internal_CompileBase
+ */
+ public $optional_attributes = array('_any');
+
+ /**
+ * Compiles code for the execution of a registered function
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ * @param string $tag name of function
+ *
+ * @return string compiled code
+ */
+ public function compile($args, $compiler, $parameter, $tag)
+ {
+ // This tag does create output
+ $compiler->has_output = true;
+ // check and get attributes
+ $_attr = $this->getAttributes($compiler, $args);
+ if ($_attr['nocache']) {
+ $compiler->tag_nocache = true;
+ }
+ unset($_attr['nocache']);
+ if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION][$tag])) {
+ $tag_info = $compiler->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION][$tag];
+ } else {
+ $tag_info = $compiler->default_handler_plugins[Smarty::PLUGIN_FUNCTION][$tag];
+ }
+ // not cachable?
+ $compiler->tag_nocache = $compiler->tag_nocache || !$tag_info[1];
+ // convert attributes into parameter array string
+ $_paramsArray = array();
+ foreach ($_attr as $_key => $_value) {
+ if (is_int($_key)) {
+ $_paramsArray[] = "$_key=>$_value";
+ } elseif ($compiler->template->caching && in_array($_key, $tag_info[2])) {
+ $_value = str_replace("'", "^#^", $_value);
+ $_paramsArray[] = "'$_key'=>^#^.var_export($_value,true).^#^";
+ } else {
+ $_paramsArray[] = "'$_key'=>$_value";
+ }
+ }
+ $_params = 'array(' . implode(",", $_paramsArray) . ')';
+ $function = $tag_info[0];
+ // compile code
+ if (!is_array($function)) {
+ $output = "<?php echo {$function}({$_params},\$_smarty_tpl);?>\n";
+ } elseif (is_object($function[0])) {
+ $output = "<?php echo \$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['{$tag}'][0][0]->{$function[1]}({$_params},\$_smarty_tpl);?>\n";
+ } else {
+ $output = "<?php echo {$function[0]}::{$function[1]}({$_params},\$_smarty_tpl);?>\n";
+ }
+
+ return $output;
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php
index 4760dbe3f..23b17ae14 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php
@@ -1,32 +1,33 @@
<?php
/**
* Smarty Internal Plugin Compile Special Smarty Variable
- *
* Compiles the special $smarty variables
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile special Smarty Variable Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_CompileBase
+{
/**
- * Compiles code for the speical $smarty variables
+ * Compiles code for the special $smarty variables
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param $parameter
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
{
- $_index = preg_split("/\]\[/",substr($parameter, 1, strlen($parameter)-2));
+ $_index = preg_split("/\]\[/", substr($parameter, 1, strlen($parameter) - 2));
$compiled_ref = ' ';
$variable = trim($_index[0], "'");
switch ($variable) {
@@ -56,7 +57,7 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C
$compiler->trigger_template_error("(secure mode) super globals not permitted");
break;
}
- $compiled_ref = '$_'.strtoupper($variable);
+ $compiled_ref = '$_' . strtoupper($variable);
break;
case 'template':
@@ -70,6 +71,7 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C
case 'version':
$_version = Smarty::SMARTY_VERSION;
+
return "'$_version'";
case 'const':
@@ -77,16 +79,23 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C
$compiler->trigger_template_error("(secure mode) constants not permitted");
break;
}
- return '@' . trim($_index[1], "'");
+
+ return "@constant({$_index[1]})";
case 'config':
- return "\$_smarty_tpl->getConfigVariable($_index[1])";
+ if (isset($_index[2])) {
+ return "(is_array(\$tmp = \$_smarty_tpl->getConfigVariable($_index[1])) ? \$tmp[$_index[2]] : null)";
+ } else {
+ return "\$_smarty_tpl->getConfigVariable($_index[1])";
+ }
case 'ldelim':
$_ldelim = $compiler->smarty->left_delimiter;
+
return "'$_ldelim'";
case 'rdelim':
$_rdelim = $compiler->smarty->right_delimiter;
+
return "'$_rdelim'";
default:
@@ -99,9 +108,7 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C
$compiled_ref = $compiled_ref . "[$_ind]";
}
}
+
return $compiled_ref;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php
index 807c7e2b9..dcff2ae41 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php
@@ -1,28 +1,28 @@
<?php
/**
* Smarty Internal Plugin Compile Rdelim
- *
* Compiles the {rdelim} tag
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Rdelim Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Rdelim extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Rdelim extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {rdelim} tag
- *
* This tag does output the right delimiter.
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -33,9 +33,7 @@ class Smarty_Internal_Compile_Rdelim extends Smarty_Internal_CompileBase {
}
// this tag does not return compiled code
$compiler->has_code = true;
+
return $compiler->smarty->right_delimiter;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_section.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_section.php
index ccb7673d8..5ac3fb067 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_section.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_section.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Compile Section
- *
* Compiles the {section} {sectionelse} {/section} tags
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Section Class
- *
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase
+{
/**
* Attribute definition: Overwrites base class.
*
@@ -42,8 +41,9 @@ class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase {
/**
* Compiles code for the {section} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -65,14 +65,15 @@ class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase {
foreach ($_attr as $attr_name => $attr_value) {
switch ($attr_name) {
case 'loop':
- $output .= "{$section_props}['loop'] = is_array(\$_loop=$attr_value) ? count(\$_loop) : max(0, (int)\$_loop); unset(\$_loop);\n";
+ $output .= "{$section_props}['loop'] = is_array(\$_loop=$attr_value) ? count(\$_loop) : max(0, (int) \$_loop); unset(\$_loop);\n";
break;
case 'show':
- if (is_bool($attr_value))
+ if (is_bool($attr_value)) {
$show_attr_value = $attr_value ? 'true' : 'false';
- else
- $show_attr_value = "(bool)$attr_value";
+ } else {
+ $show_attr_value = "(bool) $attr_value";
+ }
$output .= "{$section_props}['show'] = $show_attr_value;\n";
break;
@@ -82,32 +83,36 @@ class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase {
case 'max':
case 'start':
- $output .= "{$section_props}['$attr_name'] = (int)$attr_value;\n";
+ $output .= "{$section_props}['$attr_name'] = (int) $attr_value;\n";
break;
case 'step':
- $output .= "{$section_props}['$attr_name'] = ((int)$attr_value) == 0 ? 1 : (int)$attr_value;\n";
+ $output .= "{$section_props}['$attr_name'] = ((int) $attr_value) == 0 ? 1 : (int) $attr_value;\n";
break;
}
}
- if (!isset($_attr['show']))
+ if (!isset($_attr['show'])) {
$output .= "{$section_props}['show'] = true;\n";
+ }
- if (!isset($_attr['loop']))
+ if (!isset($_attr['loop'])) {
$output .= "{$section_props}['loop'] = 1;\n";
+ }
- if (!isset($_attr['max']))
+ if (!isset($_attr['max'])) {
$output .= "{$section_props}['max'] = {$section_props}['loop'];\n";
- else
+ } else {
$output .= "if ({$section_props}['max'] < 0)\n" . " {$section_props}['max'] = {$section_props}['loop'];\n";
+ }
- if (!isset($_attr['step']))
+ if (!isset($_attr['step'])) {
$output .= "{$section_props}['step'] = 1;\n";
+ }
- if (!isset($_attr['start']))
+ if (!isset($_attr['start'])) {
$output .= "{$section_props}['start'] = {$section_props}['step'] > 0 ? 0 : {$section_props}['loop']-1;\n";
- else {
+ } else {
$output .= "if ({$section_props}['start'] < 0)\n" . " {$section_props}['start'] = max({$section_props}['step'] > 0 ? 0 : -1, {$section_props}['loop'] + {$section_props}['start']);\n" . "else\n" . " {$section_props}['start'] = min({$section_props}['start'], {$section_props}['step'] > 0 ? {$section_props}['loop'] : {$section_props}['loop']-1);\n";
}
@@ -131,24 +136,25 @@ class Smarty_Internal_Compile_Section extends Smarty_Internal_CompileBase {
$output .= "{$section_props}['last'] = ({$section_props}['iteration'] == {$section_props}['total']);\n";
$output .= "?>";
+
return $output;
}
-
}
/**
* Smarty Internal Plugin Compile Sectionelse Class
- *
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Sectionelse extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Sectionelse extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {sectionelse} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -161,22 +167,22 @@ class Smarty_Internal_Compile_Sectionelse extends Smarty_Internal_CompileBase {
return "<?php endfor; else: ?>";
}
-
}
/**
* Smarty Internal Plugin Compile Sectionclose Class
- *
- * @package Smarty
+ *
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Sectionclose extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Sectionclose extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {/section} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -197,7 +203,4 @@ class Smarty_Internal_Compile_Sectionclose extends Smarty_Internal_CompileBase {
return "<?php endfor; endif; ?>";
}
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php
index d1dd90cf8..8e91ba6d0 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php
@@ -1,72 +1,70 @@
-<?php
-/**
- * Smarty Internal Plugin Compile Setfilter
- *
- * Compiles code for setfilter tag
- *
- * @package Smarty
- * @subpackage Compiler
- * @author Uwe Tews
- */
-
-/**
- * Smarty Internal Plugin Compile Setfilter Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Setfilter extends Smarty_Internal_CompileBase {
-
- /**
- * Compiles code for setfilter tag
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
- * @return string compiled code
- */
- public function compile($args, $compiler, $parameter)
- {
- $compiler->variable_filter_stack[] = $compiler->template->variable_filters;
- $compiler->template->variable_filters = $parameter['modifier_list'];
- // this tag does not return compiled code
- $compiler->has_code = false;
- return true;
- }
-
-}
-
-/**
- * Smarty Internal Plugin Compile Setfilterclose Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Compile_Setfilterclose extends Smarty_Internal_CompileBase {
-
- /**
- * Compiles code for the {/setfilter} tag
- *
- * This tag does not generate compiled output. It resets variable filter.
- *
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @return string compiled code
- */
- public function compile($args, $compiler)
- {
- $_attr = $this->getAttributes($compiler, $args);
- // reset variable filter to previous state
- if (count($compiler->variable_filter_stack)) {
- $compiler->template->variable_filters = array_pop($compiler->variable_filter_stack);
- } else {
- $compiler->template->variable_filters = array();
- }
- // this tag does not return compiled code
- $compiler->has_code = false;
- return true;
- }
-
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty Internal Plugin Compile Setfilter
+ * Compiles code for setfilter tag
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
+
+/**
+ * Smarty Internal Plugin Compile Setfilter Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Setfilter extends Smarty_Internal_CompileBase
+{
+ /**
+ * Compiles code for setfilter tag
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
+ * @return string compiled code
+ */
+ public function compile($args, $compiler, $parameter)
+ {
+ $compiler->variable_filter_stack[] = $compiler->template->variable_filters;
+ $compiler->template->variable_filters = $parameter['modifier_list'];
+ // this tag does not return compiled code
+ $compiler->has_code = false;
+
+ return true;
+ }
+}
+
+/**
+ * Smarty Internal Plugin Compile Setfilterclose Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Setfilterclose extends Smarty_Internal_CompileBase
+{
+ /**
+ * Compiles code for the {/setfilter} tag
+ * This tag does not generate compiled output. It resets variable filter.
+ *
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
+ * @return string compiled code
+ */
+ public function compile($args, $compiler)
+ {
+ $_attr = $this->getAttributes($compiler, $args);
+ // reset variable filter to previous state
+ if (count($compiler->variable_filter_stack)) {
+ $compiler->template->variable_filters = array_pop($compiler->variable_filter_stack);
+ } else {
+ $compiler->template->variable_filters = array();
+ }
+ // this tag does not return compiled code
+ $compiler->has_code = false;
+
+ return true;
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php
index d7d986c34..36dc049db 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_while.php
@@ -1,28 +1,28 @@
<?php
/**
* Smarty Internal Plugin Compile While
- *
* Compiles the {while} tag
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile While Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_While extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_While extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {while} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
- * @param array $parameter array with compilation parameter
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ * @param array $parameter array with compilation parameter
+ *
* @return string compiled code
*/
public function compile($args, $compiler, $parameter)
@@ -31,7 +31,7 @@ class Smarty_Internal_Compile_While extends Smarty_Internal_CompileBase {
$_attr = $this->getAttributes($compiler, $args);
$this->openTag($compiler, 'while', $compiler->nocache);
- if (!array_key_exists("if condition",$parameter)) {
+ if (!array_key_exists("if condition", $parameter)) {
$compiler->trigger_template_error("missing while condition", $compiler->lex->taglineno);
}
@@ -51,32 +51,33 @@ class Smarty_Internal_Compile_While extends Smarty_Internal_CompileBase {
}
if (is_array($parameter['if condition']['var'])) {
$_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]) || !is_array(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value)) \$_smarty_tpl->createLocalArrayVariable(" . $parameter['if condition']['var']['var'] . "$_nocache);\n";
- $_output .= "while (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . "){?>";
+ $_output .= "while (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var']['var'] . "]->value" . $parameter['if condition']['var']['smarty_internal_index'] . " = " . $parameter['if condition']['value'] . ") {?>";
} else {
$_output = "<?php if (!isset(\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "])) \$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "] = new Smarty_Variable(null{$_nocache});";
- $_output .= "while (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . "){?>";
+ $_output .= "while (\$_smarty_tpl->tpl_vars[" . $parameter['if condition']['var'] . "]->value = " . $parameter['if condition']['value'] . ") {?>";
}
+
return $_output;
} else {
- return "<?php while ({$parameter['if condition']}){?>";
+ return "<?php while ({$parameter['if condition']}) {?>";
}
}
-
}
/**
* Smarty Internal Plugin Compile Whileclose Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_Compile_Whileclose extends Smarty_Internal_CompileBase {
-
+class Smarty_Internal_Compile_Whileclose extends Smarty_Internal_CompileBase
+{
/**
* Compiles code for the {/while} tag
*
- * @param array $args array with attributes from parser
- * @param object $compiler compiler object
+ * @param array $args array with attributes from parser
+ * @param object $compiler compiler object
+ *
* @return string compiled code
*/
public function compile($args, $compiler)
@@ -86,9 +87,7 @@ class Smarty_Internal_Compile_Whileclose extends Smarty_Internal_CompileBase {
$compiler->tag_nocache = true;
}
$compiler->nocache = $this->closeTag($compiler, array('while'));
+
return "<?php }?>";
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compilebase.php b/library/Smarty/libs/sysplugins/smarty_internal_compilebase.php
index 5fb56f371..f78f15f40 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_compilebase.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_compilebase.php
@@ -2,19 +2,19 @@
/**
* Smarty Internal Plugin CompileBase
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* This class does extend all internal compile plugins
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-abstract class Smarty_Internal_CompileBase {
-
+abstract class Smarty_Internal_CompileBase
+{
/**
* Array of names of required attribute required by tag
*
@@ -43,15 +43,15 @@ abstract class Smarty_Internal_CompileBase {
/**
* This function checks if the attributes passed are valid
- *
* The attributes passed for the tag to compile are checked against the list of required and
* optional attributes. Required attributes must be present. Optional attributes are check against
* the corresponding list. The keyword '_any' specifies that any attribute will be accepted
* as valid
*
- * @param object $compiler compiler object
- * @param array $attributes attributes applied to the tag
- * @return array of mapped attributes for further processing
+ * @param object $compiler compiler object
+ * @param array $attributes attributes applied to the tag
+ *
+ * @return array of mapped attributes for further processing
*/
public function getAttributes($compiler, $attributes)
{
@@ -64,7 +64,7 @@ abstract class Smarty_Internal_CompileBase {
if (in_array(trim($mixed, '\'"'), $this->option_flags)) {
$_indexed_attr[trim($mixed, '\'"')] = true;
// shorthand attribute ?
- } else if (isset($this->shorttag_order[$key])) {
+ } elseif (isset($this->shorttag_order[$key])) {
$_indexed_attr[$this->shorttag_order[$key]] = $mixed;
} else {
// too many shorthands
@@ -77,13 +77,13 @@ abstract class Smarty_Internal_CompileBase {
if (in_array($kv['key'], $this->option_flags)) {
if (is_bool($kv['value'])) {
$_indexed_attr[$kv['key']] = $kv['value'];
- } else if (is_string($kv['value']) && in_array(trim($kv['value'], '\'"'), array('true', 'false'))) {
+ } elseif (is_string($kv['value']) && in_array(trim($kv['value'], '\'"'), array('true', 'false'))) {
if (trim($kv['value']) == 'true') {
$_indexed_attr[$kv['key']] = true;
} else {
$_indexed_attr[$kv['key']] = false;
}
- } else if (is_numeric($kv['value']) && in_array($kv['value'], array(0, 1))) {
+ } elseif (is_numeric($kv['value']) && in_array($kv['value'], array(0, 1))) {
if ($kv['value'] == 1) {
$_indexed_attr[$kv['key']] = true;
} else {
@@ -105,7 +105,7 @@ abstract class Smarty_Internal_CompileBase {
$compiler->trigger_template_error("missing \"" . $attr . "\" attribute", $compiler->lex->taglineno);
}
}
- // check for unallowed attributes
+ // check for not allowed attributes
if ($this->optional_attributes != array('_any')) {
$tmp_array = array_merge($this->required_attributes, $this->optional_attributes, $this->option_flags);
foreach ($_indexed_attr as $key => $dummy) {
@@ -126,12 +126,11 @@ abstract class Smarty_Internal_CompileBase {
/**
* Push opening tag name on stack
- *
* Optionally additional data can be saved on stack
*
- * @param object $compiler compiler object
- * @param string $openTag the opening tag's name
- * @param mixed $data optional data saved
+ * @param object $compiler compiler object
+ * @param string $openTag the opening tag's name
+ * @param mixed $data optional data saved
*/
public function openTag($compiler, $openTag, $data = null)
{
@@ -140,12 +139,12 @@ abstract class Smarty_Internal_CompileBase {
/**
* Pop closing tag
- *
* Raise an error if this stack-top doesn't match with expected opening tags
*
- * @param object $compiler compiler object
- * @param array|string $expectedTag the expected opening tag names
- * @return mixed any type the opening tag's name or saved data
+ * @param object $compiler compiler object
+ * @param array|string $expectedTag the expected opening tag names
+ *
+ * @return mixed any type the opening tag's name or saved data
*/
public function closeTag($compiler, $expectedTag)
{
@@ -163,14 +162,13 @@ abstract class Smarty_Internal_CompileBase {
}
}
// wrong nesting of tags
- $compiler->trigger_template_error("unclosed {" . $_openTag . "} tag");
+ $compiler->trigger_template_error("unclosed {$compiler->smarty->left_delimiter}" . $_openTag . "{$compiler->smarty->right_delimiter} tag");
+
return;
}
// wrong nesting of tags
$compiler->trigger_template_error("unexpected closing tag", $compiler->lex->taglineno);
+
return;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_config.php b/library/Smarty/libs/sysplugins/smarty_internal_config.php
index a309ec9ff..25694d5a9 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_config.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_config.php
@@ -2,27 +2,23 @@
/**
* Smarty Internal Plugin Config
*
- * @package Smarty
+ * @package Smarty
* @subpackage Config
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Config
- *
* Main class for config variables
*
- * @package Smarty
+ * @package Smarty
* @subpackage Config
- *
- * @property Smarty_Config_Source $source
- * @property Smarty_Config_Compiled $compiled
* @ignore
*/
-class Smarty_Internal_Config {
-
+class Smarty_Internal_Config
+{
/**
- * Samrty instance
+ * Smarty instance
*
* @var Smarty object
*/
@@ -35,6 +31,7 @@ class Smarty_Internal_Config {
public $data = null;
/**
* Config resource
+ *
* @var string
*/
public $config_resource = null;
@@ -58,6 +55,7 @@ class Smarty_Internal_Config {
public $compiled_timestamp = null;
/**
* flag if compiled config file is invalid and must be (re)compiled
+ *
* @var bool
*/
public $mustCompile = null;
@@ -72,8 +70,8 @@ class Smarty_Internal_Config {
* Constructor of config file object
*
* @param string $config_resource config file resource name
- * @param Smarty $smarty Smarty instance
- * @param object $data object for config vars storage
+ * @param Smarty $smarty Smarty instance
+ * @param object $data object for config vars storage
*/
public function __construct($config_resource, $smarty, $data = null)
{
@@ -90,8 +88,8 @@ class Smarty_Internal_Config {
public function getCompiledFilepath()
{
return $this->compiled_filepath === null ?
- ($this->compiled_filepath = $this->buildCompiledFilepath()) :
- $this->compiled_filepath;
+ ($this->compiled_filepath = $this->buildCompiledFilepath()) :
+ $this->compiled_filepath;
}
/**
@@ -103,25 +101,26 @@ class Smarty_Internal_Config {
{
$_compile_id = isset($this->smarty->compile_id) ? preg_replace('![^\w\|]+!', '_', $this->smarty->compile_id) : null;
$_flag = (int) $this->smarty->config_read_hidden + (int) $this->smarty->config_booleanize * 2
- + (int) $this->smarty->config_overwrite * 4;
- $_filepath = sha1($this->source->name . $_flag);
+ + (int) $this->smarty->config_overwrite * 4;
+ $_filepath = sha1(realpath($this->source->filepath) . $_flag);
// if use_sub_dirs, break file into directories
if ($this->smarty->use_sub_dirs) {
$_filepath = substr($_filepath, 0, 2) . DS
- . substr($_filepath, 2, 2) . DS
- . substr($_filepath, 4, 2) . DS
- . $_filepath;
+ . substr($_filepath, 2, 2) . DS
+ . substr($_filepath, 4, 2) . DS
+ . $_filepath;
}
$_compile_dir_sep = $this->smarty->use_sub_dirs ? DS : '^';
if (isset($_compile_id)) {
$_filepath = $_compile_id . $_compile_dir_sep . $_filepath;
}
$_compile_dir = $this->smarty->getCompileDir();
+
return $_compile_dir . $_filepath . '.' . basename($this->source->name) . '.config' . '.php';
}
/**
- * Returns the timpestamp of the compiled file
+ * Returns the timestamp of the compiled file
*
* @return integer the file timestamp
*/
@@ -134,7 +133,6 @@ class Smarty_Internal_Config {
/**
* Returns if the current config file must be compiled
- *
* It does compare the timestamps of config source and the compiled config and checks the force compile configuration
*
* @return boolean true if the file must be compiled
@@ -142,13 +140,12 @@ class Smarty_Internal_Config {
public function mustCompile()
{
return $this->mustCompile === null ?
- $this->mustCompile = ($this->smarty->force_compile || $this->getCompiledTimestamp () === false || $this->smarty->compile_check && $this->getCompiledTimestamp () < $this->source->timestamp):
+ $this->mustCompile = ($this->smarty->force_compile || $this->getCompiledTimestamp() === false || $this->smarty->compile_check && $this->getCompiledTimestamp() < $this->source->timestamp) :
$this->mustCompile;
}
/**
* Returns the compiled config file
- *
* It checks if the config file must be compiled or just read the compiled version
*
* @return string the compiled config file
@@ -163,6 +160,7 @@ class Smarty_Internal_Config {
$this->compiled_config = file_get_contents($this->getCompiledFilepath());
}
}
+
return $this->compiled_config;
}
@@ -187,14 +185,15 @@ class Smarty_Internal_Config {
// call compiler
try {
$this->compiler_object->compileSource($this);
- } catch (Exception $e) {
+ }
+ catch (Exception $e) {
// restore old timestamp in case of error
if ($this->smarty->compile_locking && $saved_timestamp) {
touch($this->getCompiledFilepath(), $saved_timestamp);
}
throw $e;
}
- // compiling succeded
+ // compiling succeeded
// write compiled template
Smarty_Internal_Write_File::writeFile($this->getCompiledFilepath(), $this->getCompiledConfig(), $this->smarty);
}
@@ -202,8 +201,10 @@ class Smarty_Internal_Config {
/**
* load config variables
*
- * @param mixed $sections array of section names, single section or null
- * @param object $scope global,parent or local
+ * @param mixed $sections array of section names, single section or null
+ * @param string $scope global,parent or local
+ *
+ * @throws Exception
*/
public function loadConfigVars($sections = null, $scope = 'local')
{
@@ -240,9 +241,8 @@ class Smarty_Internal_Config {
}
// scan sections
if (!empty($sections)) {
- $sections = array_flip((array) $sections);
- foreach ($_config_vars['sections'] as $this_section => $dummy) {
- if (isset($sections[$this_section])) {
+ foreach ((array) $sections as $this_section) {
+ if (isset($_config_vars['sections'][$this_section])) {
foreach ($_config_vars['sections'][$this_section]['vars'] as $variable => $value) {
if ($this->smarty->config_overwrite || !isset($scope_ptr->config_vars[$variable])) {
$scope_ptr->config_vars[$variable] = $value;
@@ -258,8 +258,9 @@ class Smarty_Internal_Config {
/**
* set Smarty property in template context
*
- * @param string $property_name property name
- * @param mixed $value value
+ * @param string $property_name property name
+ * @param mixed $value value
+ *
* @throws SmartyException if $property_name is not valid
*/
public function __set($property_name, $value)
@@ -268,6 +269,7 @@ class Smarty_Internal_Config {
case 'source':
case 'compiled':
$this->$property_name = $value;
+
return;
}
@@ -277,7 +279,9 @@ class Smarty_Internal_Config {
/**
* get Smarty property in template context
*
- * @param string $property_name property name
+ * @param string $property_name property name
+ *
+ * @return \Smarty_Config_Source|\Smarty_Template_Compiled
* @throws SmartyException if $property_name is not valid
*/
public function __get($property_name)
@@ -288,16 +292,15 @@ class Smarty_Internal_Config {
throw new SmartyException("Unable to parse resource name \"{$this->config_resource}\"");
}
$this->source = Smarty_Resource::config($this);
+
return $this->source;
case 'compiled':
$this->compiled = $this->source->getCompiled($this);
+
return $this->compiled;
}
throw new SmartyException("config attribute '$property_name' does not exist.");
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_config_file_compiler.php b/library/Smarty/libs/sysplugins/smarty_internal_config_file_compiler.php
index b16a6940d..117310439 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_config_file_compiler.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_config_file_compiler.php
@@ -1,23 +1,22 @@
<?php
/**
* Smarty Internal Plugin Config File Compiler
- *
* This is the config file compiler class. It calls the lexer and parser to
* perform the compiling.
*
- * @package Smarty
+ * @package Smarty
* @subpackage Config
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Main config file compiler class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Config
*/
-class Smarty_Internal_Config_File_Compiler {
-
+class Smarty_Internal_Config_File_Compiler
+{
/**
* Lexer object
*
@@ -69,7 +68,8 @@ class Smarty_Internal_Config_File_Compiler {
* Method to compile a Smarty template.
*
* @param Smarty_Internal_Config $config config object
- * @return bool true if compiling succeeded, false if it failed
+ *
+ * @return bool true if compiling succeeded, false if it failed
*/
public function compileSource(Smarty_Internal_Config $config)
{
@@ -84,28 +84,46 @@ class Smarty_Internal_Config_File_Compiler {
return true;
}
// init the lexer/parser to compile the config file
- $lex = new Smarty_Internal_Configfilelexer($_content, $this->smarty);
+ $lex = new Smarty_Internal_Configfilelexer($_content, $this);
$parser = new Smarty_Internal_Configfileparser($lex, $this);
- if ($this->smarty->_parserdebug) $parser->PrintTrace();
+
+ if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) {
+ $mbEncoding = mb_internal_encoding();
+ mb_internal_encoding('ASCII');
+ } else {
+ $mbEncoding = null;
+ }
+
+
+ if ($this->smarty->_parserdebug) {
+ $parser->PrintTrace();
+ }
// get tokens from lexer and parse them
while ($lex->yylex()) {
- if ($this->smarty->_parserdebug) echo "<br>Parsing {$parser->yyTokenName[$lex->token]} Token {$lex->value} Line {$lex->line} \n";
+ if ($this->smarty->_parserdebug) {
+ echo "<br>Parsing {$parser->yyTokenName[$lex->token]} Token {$lex->value} Line {$lex->line} \n";
+ }
$parser->doParse($lex->token, $lex->value);
}
// finish parsing process
$parser->doParse(0, 0);
+
+ if ($mbEncoding) {
+ mb_internal_encoding($mbEncoding);
+ }
+
$config->compiled_config = '<?php $_config_vars = ' . var_export($this->config_data, true) . '; ?>';
}
/**
* display compiler error messages without dying
- *
* If parameter $args is empty it is a parser detected syntax error.
- * In this case the parser is called to obtain information about exspected tokens.
- *
+ * In this case the parser is called to obtain information about expected tokens.
* If parameter $args contains a string this is used as error message
*
* @param string $args individual error message or null
+ *
+ * @throws SmartyCompilerException
*/
public function trigger_config_file_error($args = null)
{
@@ -117,12 +135,12 @@ class Smarty_Internal_Config_File_Compiler {
// $line--;
}
$match = preg_split("/\n/", $this->lex->data);
- $error_text = "Syntax error in config file '{$this->config->source->filepath}' on line {$line} '{$match[$line-1]}' ";
+ $error_text = "Syntax error in config file '{$this->config->source->filepath}' on line {$line} '{$match[$line - 1]}' ";
if (isset($args)) {
// individual error message
$error_text .= $args;
} else {
- // exspected token from parser
+ // expected token from parser
foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) {
$exp_token = $this->parser->yyTokenName[$token];
if (isset($this->lex->smarty_token_names[$exp_token])) {
@@ -138,7 +156,4 @@ class Smarty_Internal_Config_File_Compiler {
}
throw new SmartyCompilerException($error_text);
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_configfilelexer.php b/library/Smarty/libs/sysplugins/smarty_internal_configfilelexer.php
index bade2fe74..f0292196b 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_configfilelexer.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_configfilelexer.php
@@ -1,15 +1,16 @@
<?php
/**
-* Smarty Internal Plugin Configfilelexer
-*
-* This is the lexer to break the config file source into tokens
-* @package Smarty
-* @subpackage Config
-* @author Uwe Tews
-*/
+ * Smarty Internal Plugin Configfilelexer
+ * This is the lexer to break the config file source into tokens
+ *
+ * @package Smarty
+ * @subpackage Config
+ * @author Uwe Tews
+ */
+
/**
-* Smarty Internal Plugin Configfilelexer
-*/
+ * Smarty Internal Plugin Configfilelexer
+ */
class Smarty_Internal_Configfilelexer
{
@@ -20,96 +21,119 @@ class Smarty_Internal_Configfilelexer
public $node;
public $line;
private $state = 1;
- public $smarty_token_names = array ( // Text for parser error messages
- );
-
+ public $yyTraceFILE;
+ public $yyTracePrompt;
+ public $state_name = array(1 => 'START', 2 => 'VALUE', 3 => 'NAKED_STRING_VALUE', 4 => 'COMMENT', 5 => 'SECTION', 6 => 'TRIPPLE');
+ public $smarty_token_names = array( // Text for parser error messages
+ );
- function __construct($data, $smarty)
+ function __construct($data, $compiler)
{
// set instance object
self::instance($this);
$this->data = $data . "\n"; //now all lines are \n-terminated
$this->counter = 0;
+ if (preg_match('/^\xEF\xBB\xBF/', $this->data, $match)) {
+ $this->counter += strlen($match[0]);
+ }
$this->line = 1;
- $this->smarty = $smarty;
- $this->mbstring_overload = ini_get('mbstring.func_overload') & 2;
+ $this->compiler = $compiler;
+ $this->smarty = $compiler->smarty;
}
+
public static function &instance($new_instance = null)
{
static $instance = null;
- if (isset($new_instance) && is_object($new_instance))
+ if (isset($new_instance) && is_object($new_instance)) {
$instance = $new_instance;
+ }
return $instance;
}
-
+ public function PrintTrace()
+ {
+ $this->yyTraceFILE = fopen('php://output', 'w');
+ $this->yyTracePrompt = '<br>';
+ }
private $_yy_state = 1;
private $_yy_stack = array();
- function yylex()
+ public function yylex()
{
return $this->{'yylex' . $this->_yy_state}();
}
- function yypushstate($state)
+ public function yypushstate($state)
{
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sState push %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state);
+ }
array_push($this->_yy_stack, $this->_yy_state);
$this->_yy_state = $state;
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state);
+ }
}
- function yypopstate()
+ public function yypopstate()
{
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sState pop %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state);
+ }
$this->_yy_state = array_pop($this->_yy_stack);
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state);
+ }
}
- function yybegin($state)
+ public function yybegin($state)
{
$this->_yy_state = $state;
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sState set %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state);
+ }
}
-
-
-
- function yylex1()
+ public function yylex1()
{
- $tokenMap = array (
- 1 => 0,
- 2 => 0,
- 3 => 0,
- 4 => 0,
- 5 => 0,
- 6 => 0,
- 7 => 0,
- 8 => 0,
- );
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
$yy_global_pattern = "/\G(#|;)|\G(\\[)|\G(\\])|\G(=)|\G([ \t\r]+)|\G(\n)|\G([0-9]*[a-zA-Z_]\\w*)|\G([\S\s])/iS";
do {
- if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
$yysubmatches = $yymatches;
$yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
if (!count($yymatches)) {
throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr($this->data,
- $this->counter, 5) . '... state START');
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state START');
}
next($yymatches); // skip global match
$this->token = key($yymatches); // token number
if ($tokenMap[$this->token]) {
// extract sub-patterns for passing to lex function
$yysubmatches = array_slice($yysubmatches, $this->token + 1,
- $tokenMap[$this->token]);
+ $tokenMap[$this->token]);
} else {
$yysubmatches = array();
}
$this->value = current($yymatches); // token value
$r = $this->{'yy_r1_' . $this->token}($yysubmatches);
if ($r === null) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
// accept this token
return true;
@@ -118,110 +142,115 @@ class Smarty_Internal_Configfilelexer
// process this token in the new state
return $this->yylex();
} elseif ($r === false) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
// skip this token
continue;
- } } else {
+ }
+ } else {
throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[$this->counter]);
+ ': ' . $this->data[$this->counter]);
}
break;
} while (true);
-
} // end function
-
const START = 1;
+
function yy_r1_1($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_COMMENTSTART;
- $this->yypushstate(self::COMMENT);
+ $this->token = Smarty_Internal_Configfileparser::TPC_COMMENTSTART;
+ $this->yypushstate(self::COMMENT);
}
+
function yy_r1_2($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_OPENB;
- $this->yypushstate(self::SECTION);
+ $this->token = Smarty_Internal_Configfileparser::TPC_OPENB;
+ $this->yypushstate(self::SECTION);
}
+
function yy_r1_3($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_CLOSEB;
+ $this->token = Smarty_Internal_Configfileparser::TPC_CLOSEB;
}
+
function yy_r1_4($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_EQUAL;
- $this->yypushstate(self::VALUE);
+ $this->token = Smarty_Internal_Configfileparser::TPC_EQUAL;
+ $this->yypushstate(self::VALUE);
}
+
function yy_r1_5($yy_subpatterns)
{
- return false;
+ return false;
}
+
function yy_r1_6($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE;
+ $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE;
}
+
function yy_r1_7($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_ID;
+ $this->token = Smarty_Internal_Configfileparser::TPC_ID;
}
+
function yy_r1_8($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_OTHER;
+ $this->token = Smarty_Internal_Configfileparser::TPC_OTHER;
}
-
-
- function yylex2()
+ public function yylex2()
{
- $tokenMap = array (
- 1 => 0,
- 2 => 0,
- 3 => 0,
- 4 => 0,
- 5 => 0,
- 6 => 0,
- 7 => 0,
- 8 => 0,
- 9 => 0,
- );
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
$yy_global_pattern = "/\G([ \t\r]+)|\G(\\d+\\.\\d+(?=[ \t\r]*[\n#;]))|\G(\\d+(?=[ \t\r]*[\n#;]))|\G(\"\"\")|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(?=[ \t\r]*[\n#;]))|\G(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"(?=[ \t\r]*[\n#;]))|\G([a-zA-Z]+(?=[ \t\r]*[\n#;]))|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/iS";
do {
- if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
$yysubmatches = $yymatches;
$yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
if (!count($yymatches)) {
throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr($this->data,
- $this->counter, 5) . '... state VALUE');
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state VALUE');
}
next($yymatches); // skip global match
$this->token = key($yymatches); // token number
if ($tokenMap[$this->token]) {
// extract sub-patterns for passing to lex function
$yysubmatches = array_slice($yysubmatches, $this->token + 1,
- $tokenMap[$this->token]);
+ $tokenMap[$this->token]);
} else {
$yysubmatches = array();
}
$this->value = current($yymatches); // token value
$r = $this->{'yy_r2_' . $this->token}($yysubmatches);
if ($r === null) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
// accept this token
return true;
@@ -230,119 +259,125 @@ class Smarty_Internal_Configfilelexer
// process this token in the new state
return $this->yylex();
} elseif ($r === false) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
// skip this token
continue;
- } } else {
+ }
+ } else {
throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[$this->counter]);
+ ': ' . $this->data[$this->counter]);
}
break;
} while (true);
-
} // end function
-
const VALUE = 2;
+
function yy_r2_1($yy_subpatterns)
{
- return false;
+ return false;
}
+
function yy_r2_2($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_FLOAT;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Configfileparser::TPC_FLOAT;
+ $this->yypopstate();
}
+
function yy_r2_3($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_INT;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Configfileparser::TPC_INT;
+ $this->yypopstate();
}
+
function yy_r2_4($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES;
- $this->yypushstate(self::TRIPPLE);
+ $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES;
+ $this->yypushstate(self::TRIPPLE);
}
+
function yy_r2_5($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_SINGLE_QUOTED_STRING;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Configfileparser::TPC_SINGLE_QUOTED_STRING;
+ $this->yypopstate();
}
+
function yy_r2_6($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_DOUBLE_QUOTED_STRING;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Configfileparser::TPC_DOUBLE_QUOTED_STRING;
+ $this->yypopstate();
}
+
function yy_r2_7($yy_subpatterns)
{
- if (!$this->smarty->config_booleanize || !in_array(strtolower($this->value), Array("true", "false", "on", "off", "yes", "no")) ) {
- $this->yypopstate();
- $this->yypushstate(self::NAKED_STRING_VALUE);
- return true; //reprocess in new state
- } else {
- $this->token = Smarty_Internal_Configfileparser::TPC_BOOL;
- $this->yypopstate();
- }
+ if (!$this->smarty->config_booleanize || !in_array(strtolower($this->value), Array("true", "false", "on", "off", "yes", "no"))) {
+ $this->yypopstate();
+ $this->yypushstate(self::NAKED_STRING_VALUE);
+ return true; //reprocess in new state
+ } else {
+ $this->token = Smarty_Internal_Configfileparser::TPC_BOOL;
+ $this->yypopstate();
+ }
}
+
function yy_r2_8($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
+ $this->yypopstate();
}
+
function yy_r2_9($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
- $this->value = "";
- $this->yypopstate();
+ $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
+ $this->value = "";
+ $this->yypopstate();
}
-
-
- function yylex3()
+ public function yylex3()
{
- $tokenMap = array (
- 1 => 0,
- );
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ $tokenMap = array(
+ 1 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
$yy_global_pattern = "/\G([^\n]+?(?=[ \t\r]*\n))/iS";
do {
- if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
$yysubmatches = $yymatches;
$yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
if (!count($yymatches)) {
throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr($this->data,
- $this->counter, 5) . '... state NAKED_STRING_VALUE');
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state NAKED_STRING_VALUE');
}
next($yymatches); // skip global match
$this->token = key($yymatches); // token number
if ($tokenMap[$this->token]) {
// extract sub-patterns for passing to lex function
$yysubmatches = array_slice($yysubmatches, $this->token + 1,
- $tokenMap[$this->token]);
+ $tokenMap[$this->token]);
} else {
$yysubmatches = array();
}
$this->value = current($yymatches); // token value
$r = $this->{'yy_r3_' . $this->token}($yysubmatches);
if ($r === null) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
// accept this token
return true;
@@ -351,67 +386,65 @@ class Smarty_Internal_Configfilelexer
// process this token in the new state
return $this->yylex();
} elseif ($r === false) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
// skip this token
continue;
- } } else {
+ }
+ } else {
throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[$this->counter]);
+ ': ' . $this->data[$this->counter]);
}
break;
} while (true);
-
} // end function
-
const NAKED_STRING_VALUE = 3;
+
function yy_r3_1($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
+ $this->yypopstate();
}
-
-
- function yylex4()
+ public function yylex4()
{
- $tokenMap = array (
- 1 => 0,
- 2 => 0,
- 3 => 0,
- );
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
$yy_global_pattern = "/\G([ \t\r]+)|\G([^\n]+?(?=[ \t\r]*\n))|\G(\n)/iS";
do {
- if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
$yysubmatches = $yymatches;
$yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
if (!count($yymatches)) {
throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr($this->data,
- $this->counter, 5) . '... state COMMENT');
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state COMMENT');
}
next($yymatches); // skip global match
$this->token = key($yymatches); // token number
if ($tokenMap[$this->token]) {
// extract sub-patterns for passing to lex function
$yysubmatches = array_slice($yysubmatches, $this->token + 1,
- $tokenMap[$this->token]);
+ $tokenMap[$this->token]);
} else {
$yysubmatches = array();
}
$this->value = current($yymatches); // token value
$r = $this->{'yy_r4_' . $this->token}($yysubmatches);
if ($r === null) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
// accept this token
return true;
@@ -420,76 +453,76 @@ class Smarty_Internal_Configfilelexer
// process this token in the new state
return $this->yylex();
} elseif ($r === false) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
// skip this token
continue;
- } } else {
+ }
+ } else {
throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[$this->counter]);
+ ': ' . $this->data[$this->counter]);
}
break;
} while (true);
-
} // end function
-
const COMMENT = 4;
+
function yy_r4_1($yy_subpatterns)
{
- return false;
+ return false;
}
+
function yy_r4_2($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
+ $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
}
+
function yy_r4_3($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE;
+ $this->yypopstate();
}
-
-
- function yylex5()
+ public function yylex5()
{
- $tokenMap = array (
- 1 => 0,
- 2 => 0,
- );
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
$yy_global_pattern = "/\G(\\.)|\G(.*?(?=[\.=[\]\r\n]))/iS";
do {
- if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
$yysubmatches = $yymatches;
$yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
if (!count($yymatches)) {
throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr($this->data,
- $this->counter, 5) . '... state SECTION');
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state SECTION');
}
next($yymatches); // skip global match
$this->token = key($yymatches); // token number
if ($tokenMap[$this->token]) {
// extract sub-patterns for passing to lex function
$yysubmatches = array_slice($yysubmatches, $this->token + 1,
- $tokenMap[$this->token]);
+ $tokenMap[$this->token]);
} else {
$yysubmatches = array();
}
$this->value = current($yymatches); // token value
$r = $this->{'yy_r5_' . $this->token}($yysubmatches);
if ($r === null) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
// accept this token
return true;
@@ -498,70 +531,70 @@ class Smarty_Internal_Configfilelexer
// process this token in the new state
return $this->yylex();
} elseif ($r === false) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
// skip this token
continue;
- } } else {
+ }
+ } else {
throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[$this->counter]);
+ ': ' . $this->data[$this->counter]);
}
break;
} while (true);
-
} // end function
-
const SECTION = 5;
+
function yy_r5_1($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_DOT;
+ $this->token = Smarty_Internal_Configfileparser::TPC_DOT;
}
+
function yy_r5_2($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_SECTION;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Configfileparser::TPC_SECTION;
+ $this->yypopstate();
}
-
- function yylex6()
+ public function yylex6()
{
- $tokenMap = array (
- 1 => 0,
- 2 => 0,
- );
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
$yy_global_pattern = "/\G(\"\"\"(?=[ \t\r]*[\n#;]))|\G([\S\s])/iS";
do {
- if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
$yysubmatches = $yymatches;
$yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
if (!count($yymatches)) {
throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr($this->data,
- $this->counter, 5) . '... state TRIPPLE');
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state TRIPPLE');
}
next($yymatches); // skip global match
$this->token = key($yymatches); // token number
if ($tokenMap[$this->token]) {
// extract sub-patterns for passing to lex function
$yysubmatches = array_slice($yysubmatches, $this->token + 1,
- $tokenMap[$this->token]);
+ $tokenMap[$this->token]);
} else {
$yysubmatches = array();
}
$this->value = current($yymatches); // token value
$r = $this->{'yy_r6_' . $this->token}($yysubmatches);
if ($r === null) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
// accept this token
return true;
@@ -570,53 +603,44 @@ class Smarty_Internal_Configfilelexer
// process this token in the new state
return $this->yylex();
} elseif ($r === false) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
// skip this token
continue;
- } } else {
+ }
+ } else {
throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[$this->counter]);
+ ': ' . $this->data[$this->counter]);
}
break;
} while (true);
-
} // end function
-
const TRIPPLE = 6;
+
function yy_r6_1($yy_subpatterns)
{
- $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES_END;
- $this->yypopstate();
- $this->yypushstate(self::START);
+ $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES_END;
+ $this->yypopstate();
+ $this->yypushstate(self::START);
}
+
function yy_r6_2($yy_subpatterns)
{
- if ($this->mbstring_overload) {
- $to = mb_strlen($this->data,'latin1');
- } else {
- $to = strlen($this->data);
- }
- preg_match("/\"\"\"[ \t\r]*[\n#;]/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter);
- if (isset($match[0][1])) {
- $to = $match[0][1];
- } else {
- $this->compiler->trigger_template_error ("missing or misspelled literal closing tag");
- }
- if ($this->mbstring_overload) {
- $this->value = mb_substr($this->data,$this->counter,$to-$this->counter,'latin1');
- } else {
- $this->value = substr($this->data,$this->counter,$to-$this->counter);
- }
- $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_TEXT;
+ $to = strlen($this->data);
+ preg_match("/\"\"\"[ \t\r]*[\n#;]/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter);
+ if (isset($match[0][1])) {
+ $to = $match[0][1];
+ } else {
+ $this->compiler->trigger_template_error("missing or misspelled literal closing tag");
+ }
+ $this->value = substr($this->data, $this->counter, $to - $this->counter);
+ $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_TEXT;
}
-
-
}
-?> \ No newline at end of file
+
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_configfileparser.php b/library/Smarty/libs/sysplugins/smarty_internal_configfileparser.php
index 784bc684d..fc476ce0a 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_configfileparser.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_configfileparser.php
@@ -1,20 +1,20 @@
<?php
-/**
-* Smarty Internal Plugin Configfileparser
-*
-* This is the config file parser.
-* It is generated from the internal.configfileparser.y file
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
+/**
+ * Smarty Internal Plugin Configfileparser
+ * This is the config file parser.
+ * It is generated from the internal.configfileparser.y file
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
class TPC_yyToken implements ArrayAccess
{
public $string = '';
public $metadata = array();
- function __construct($s, $m = array())
+ public function __construct($s, $m = array())
{
if ($s instanceof TPC_yyToken) {
$this->string = $s->string;
@@ -29,28 +29,29 @@ class TPC_yyToken implements ArrayAccess
}
}
- function __toString()
+ public function __toString()
{
return $this->_string;
}
- function offsetExists($offset)
+ public function offsetExists($offset)
{
return isset($this->metadata[$offset]);
}
- function offsetGet($offset)
+ public function offsetGet($offset)
{
return $this->metadata[$offset];
}
- function offsetSet($offset, $value)
+ public function offsetSet($offset, $value)
{
if ($offset === null) {
if (isset($value[0])) {
$x = ($value instanceof TPC_yyToken) ?
$value->metadata : $value;
$this->metadata = array_merge($this->metadata, $x);
+
return;
}
$offset = count($this->metadata);
@@ -67,7 +68,7 @@ class TPC_yyToken implements ArrayAccess
}
}
- function offsetUnset($offset)
+ public function offsetUnset($offset)
{
unset($this->metadata[$offset]);
}
@@ -75,18 +76,19 @@ class TPC_yyToken implements ArrayAccess
class TPC_yyStackEntry
{
- public $stateno; /* The state-number */
- public $major; /* The major token value. This is the code
+ public $stateno; /* The state-number */
+ public $major; /* The major token value. This is the code
** number for the token at this stack level */
public $minor; /* The user-supplied minor token value. This
** is the value of the token */
-};
+}
+;
#line 12 "smarty_internal_configfileparser.y"
-class Smarty_Internal_Configfileparser#line 79 "smarty_internal_configfileparser.php"
+class Smarty_Internal_Configfileparser #line 80 "smarty_internal_configfileparser.php"
{
-#line 14 "smarty_internal_configfileparser.y"
+ #line 14 "smarty_internal_configfileparser.y"
// states whether the parse was successful or not
public $successful = true;
@@ -94,23 +96,27 @@ class Smarty_Internal_Configfileparser#line 79 "smarty_internal_configfileparser
private $lex;
private $internalError = false;
- function __construct($lex, $compiler) {
+ function __construct($lex, $compiler)
+ {
// set instance object
self::instance($this);
$this->lex = $lex;
$this->smarty = $compiler->smarty;
$this->compiler = $compiler;
}
+
public static function &instance($new_instance = null)
{
static $instance = null;
- if (isset($new_instance) && is_object($new_instance))
+ if (isset($new_instance) && is_object($new_instance)) {
$instance = $new_instance;
+ }
return $instance;
}
- private function parse_bool($str) {
- if (in_array(strtolower($str) ,array('on','yes','true'))) {
+ private function parse_bool($str)
+ {
+ if (in_array(strtolower($str), array('on', 'yes', 'true'))) {
$res = true;
} else {
$res = false;
@@ -119,11 +125,13 @@ class Smarty_Internal_Configfileparser#line 79 "smarty_internal_configfileparser
}
private static $escapes_single = Array('\\' => '\\',
- '\'' => '\'');
- private static function parse_single_quoted_string($qstr) {
- $escaped_string = substr($qstr, 1, strlen($qstr)-2); //remove outer quotes
+ '\'' => '\'');
+
+ private static function parse_single_quoted_string($qstr)
+ {
+ $escaped_string = substr($qstr, 1, strlen($qstr) - 2); //remove outer quotes
- $ss = preg_split('/(\\\\.)/', $escaped_string, -1, PREG_SPLIT_DELIM_CAPTURE);
+ $ss = preg_split('/(\\\\.)/', $escaped_string, - 1, PREG_SPLIT_DELIM_CAPTURE);
$str = "";
foreach ($ss as $s) {
@@ -131,24 +139,27 @@ class Smarty_Internal_Configfileparser#line 79 "smarty_internal_configfileparser
if (isset(self::$escapes_single[$s[1]])) {
$s = self::$escapes_single[$s[1]];
}
- }
+ }
- $str .= $s;
+ $str .= $s;
}
return $str;
}
- private static function parse_double_quoted_string($qstr) {
- $inner_str = substr($qstr, 1, strlen($qstr)-2);
+ private static function parse_double_quoted_string($qstr)
+ {
+ $inner_str = substr($qstr, 1, strlen($qstr) - 2);
return stripcslashes($inner_str);
}
- private static function parse_tripple_double_quoted_string($qstr) {
+ private static function parse_tripple_double_quoted_string($qstr)
+ {
return stripcslashes($qstr);
}
- private function set_var(Array $var, Array &$target_array) {
+ private function set_var(Array $var, Array &$target_array)
+ {
$key = $var["key"];
$value = $var["value"];
@@ -160,16 +171,18 @@ class Smarty_Internal_Configfileparser#line 79 "smarty_internal_configfileparser
}
}
- private function add_global_vars(Array $vars) {
+ private function add_global_vars(Array $vars)
+ {
if (!isset($this->compiler->config_data['vars'])) {
- $this->compiler->config_data['vars'] = Array();
+ $this->compiler->config_data['vars'] = Array();
}
foreach ($vars as $var) {
$this->set_var($var, $this->compiler->config_data);
}
}
- private function add_section_vars($section_name, Array $vars) {
+ private function add_section_vars($section_name, Array $vars)
+ {
if (!isset($this->compiler->config_data['sections'][$section_name]['vars'])) {
$this->compiler->config_data['sections'][$section_name]['vars'] = Array();
}
@@ -177,99 +190,152 @@ class Smarty_Internal_Configfileparser#line 79 "smarty_internal_configfileparser
$this->set_var($var, $this->compiler->config_data['sections'][$section_name]);
}
}
-#line 173 "smarty_internal_configfileparser.php"
-
- const TPC_OPENB = 1;
- const TPC_SECTION = 2;
- const TPC_CLOSEB = 3;
- const TPC_DOT = 4;
- const TPC_ID = 5;
- const TPC_EQUAL = 6;
- const TPC_FLOAT = 7;
- const TPC_INT = 8;
- const TPC_BOOL = 9;
- const TPC_SINGLE_QUOTED_STRING = 10;
- const TPC_DOUBLE_QUOTED_STRING = 11;
- const TPC_TRIPPLE_QUOTES = 12;
- const TPC_TRIPPLE_TEXT = 13;
- const TPC_TRIPPLE_QUOTES_END = 14;
- const TPC_NAKED_STRING = 15;
- const TPC_OTHER = 16;
- const TPC_NEWLINE = 17;
- const TPC_COMMENTSTART = 18;
+
+ #line 174 "smarty_internal_configfileparser.php"
+
+ const TPC_OPENB = 1;
+ const TPC_SECTION = 2;
+ const TPC_CLOSEB = 3;
+ const TPC_DOT = 4;
+ const TPC_ID = 5;
+ const TPC_EQUAL = 6;
+ const TPC_FLOAT = 7;
+ const TPC_INT = 8;
+ const TPC_BOOL = 9;
+ const TPC_SINGLE_QUOTED_STRING = 10;
+ const TPC_DOUBLE_QUOTED_STRING = 11;
+ const TPC_TRIPPLE_QUOTES = 12;
+ const TPC_TRIPPLE_TEXT = 13;
+ const TPC_TRIPPLE_QUOTES_END = 14;
+ const TPC_NAKED_STRING = 15;
+ const TPC_OTHER = 16;
+ const TPC_NEWLINE = 17;
+ const TPC_COMMENTSTART = 18;
const YY_NO_ACTION = 60;
const YY_ACCEPT_ACTION = 59;
const YY_ERROR_ACTION = 58;
const YY_SZ_ACTTAB = 38;
-static public $yy_action = array(
- /* 0 */ 29, 30, 34, 33, 24, 13, 19, 25, 35, 21,
- /* 10 */ 59, 8, 3, 1, 20, 12, 14, 31, 20, 12,
- /* 20 */ 15, 17, 23, 18, 27, 26, 4, 5, 6, 32,
- /* 30 */ 2, 11, 28, 22, 16, 9, 7, 10,
+ static public $yy_action = array(
+ /* 0 */
+ 29, 30, 34, 33, 24, 13, 19, 25, 35, 21,
+ /* 10 */
+ 59, 8, 3, 1, 20, 12, 14, 31, 20, 12,
+ /* 20 */
+ 15, 17, 23, 18, 27, 26, 4, 5, 6, 32,
+ /* 30 */
+ 2, 11, 28, 22, 16, 9, 7, 10,
);
static public $yy_lookahead = array(
- /* 0 */ 7, 8, 9, 10, 11, 12, 5, 27, 15, 16,
- /* 10 */ 20, 21, 23, 23, 17, 18, 13, 14, 17, 18,
- /* 20 */ 15, 2, 17, 4, 25, 26, 6, 3, 3, 14,
- /* 30 */ 23, 1, 24, 17, 2, 25, 22, 25,
-);
- const YY_SHIFT_USE_DFLT = -8;
+ /* 0 */
+ 7, 8, 9, 10, 11, 12, 5, 27, 15, 16,
+ /* 10 */
+ 20, 21, 23, 23, 17, 18, 13, 14, 17, 18,
+ /* 20 */
+ 15, 2, 17, 4, 25, 26, 6, 3, 3, 14,
+ /* 30 */
+ 23, 1, 24, 17, 2, 25, 22, 25,
+ );
+ const YY_SHIFT_USE_DFLT = - 8;
const YY_SHIFT_MAX = 19;
static public $yy_shift_ofst = array(
- /* 0 */ -8, 1, 1, 1, -7, -3, -3, 30, -8, -8,
- /* 10 */ -8, 19, 5, 3, 15, 16, 24, 25, 32, 20,
-);
- const YY_REDUCE_USE_DFLT = -21;
+ /* 0 */
+ - 8, 1, 1, 1, - 7, - 3, - 3, 30, - 8, - 8,
+ /* 10 */
+ - 8, 19, 5, 3, 15, 16, 24, 25, 32, 20,
+ );
+ const YY_REDUCE_USE_DFLT = - 21;
const YY_REDUCE_MAX = 10;
static public $yy_reduce_ofst = array(
- /* 0 */ -10, -1, -1, -1, -20, 10, 12, 8, 14, 7,
- /* 10 */ -11,
-);
+ /* 0 */
+ - 10, - 1, - 1, - 1, - 20, 10, 12, 8, 14, 7,
+ /* 10 */
+ - 11,
+ );
static public $yyExpectedTokens = array(
- /* 0 */ array(),
- /* 1 */ array(5, 17, 18, ),
- /* 2 */ array(5, 17, 18, ),
- /* 3 */ array(5, 17, 18, ),
- /* 4 */ array(7, 8, 9, 10, 11, 12, 15, 16, ),
- /* 5 */ array(17, 18, ),
- /* 6 */ array(17, 18, ),
- /* 7 */ array(1, ),
- /* 8 */ array(),
- /* 9 */ array(),
- /* 10 */ array(),
- /* 11 */ array(2, 4, ),
- /* 12 */ array(15, 17, ),
- /* 13 */ array(13, 14, ),
- /* 14 */ array(14, ),
- /* 15 */ array(17, ),
- /* 16 */ array(3, ),
- /* 17 */ array(3, ),
- /* 18 */ array(2, ),
- /* 19 */ array(6, ),
- /* 20 */ array(),
- /* 21 */ array(),
- /* 22 */ array(),
- /* 23 */ array(),
- /* 24 */ array(),
- /* 25 */ array(),
- /* 26 */ array(),
- /* 27 */ array(),
- /* 28 */ array(),
- /* 29 */ array(),
- /* 30 */ array(),
- /* 31 */ array(),
- /* 32 */ array(),
- /* 33 */ array(),
- /* 34 */ array(),
- /* 35 */ array(),
-);
+ /* 0 */
+ array(),
+ /* 1 */
+ array(5, 17, 18,),
+ /* 2 */
+ array(5, 17, 18,),
+ /* 3 */
+ array(5, 17, 18,),
+ /* 4 */
+ array(7, 8, 9, 10, 11, 12, 15, 16,),
+ /* 5 */
+ array(17, 18,),
+ /* 6 */
+ array(17, 18,),
+ /* 7 */
+ array(1,),
+ /* 8 */
+ array(),
+ /* 9 */
+ array(),
+ /* 10 */
+ array(),
+ /* 11 */
+ array(2, 4,),
+ /* 12 */
+ array(15, 17,),
+ /* 13 */
+ array(13, 14,),
+ /* 14 */
+ array(14,),
+ /* 15 */
+ array(17,),
+ /* 16 */
+ array(3,),
+ /* 17 */
+ array(3,),
+ /* 18 */
+ array(2,),
+ /* 19 */
+ array(6,),
+ /* 20 */
+ array(),
+ /* 21 */
+ array(),
+ /* 22 */
+ array(),
+ /* 23 */
+ array(),
+ /* 24 */
+ array(),
+ /* 25 */
+ array(),
+ /* 26 */
+ array(),
+ /* 27 */
+ array(),
+ /* 28 */
+ array(),
+ /* 29 */
+ array(),
+ /* 30 */
+ array(),
+ /* 31 */
+ array(),
+ /* 32 */
+ array(),
+ /* 33 */
+ array(),
+ /* 34 */
+ array(),
+ /* 35 */
+ array(),
+ );
static public $yy_default = array(
- /* 0 */ 44, 37, 41, 40, 58, 58, 58, 36, 39, 44,
- /* 10 */ 44, 58, 58, 58, 58, 58, 58, 58, 58, 58,
- /* 20 */ 55, 54, 57, 56, 50, 45, 43, 42, 38, 46,
- /* 30 */ 47, 52, 51, 49, 48, 53,
-);
+ /* 0 */
+ 44, 37, 41, 40, 58, 58, 58, 36, 39, 44,
+ /* 10 */
+ 44, 58, 58, 58, 58, 58, 58, 58, 58, 58,
+ /* 20 */
+ 55, 54, 57, 56, 50, 45, 43, 42, 38, 46,
+ /* 30 */
+ 47, 52, 51, 49, 48, 53,
+ );
const YYNOCODE = 29;
const YYSTACKDEPTH = 100;
const YYNSTATE = 36;
@@ -277,67 +343,89 @@ static public $yy_action = array(
const YYERRORSYMBOL = 19;
const YYERRSYMDT = 'yy0';
const YYFALLBACK = 0;
- static public $yyFallback = array(
- );
- static function Trace($TraceFILE, $zTracePrompt)
+ public static $yyFallback = array();
+
+ public function Trace($TraceFILE, $zTracePrompt)
{
if (!$TraceFILE) {
$zTracePrompt = 0;
} elseif (!$zTracePrompt) {
$TraceFILE = 0;
}
- self::$yyTraceFILE = $TraceFILE;
- self::$yyTracePrompt = $zTracePrompt;
+ $this->yyTraceFILE = $TraceFILE;
+ $this->yyTracePrompt = $zTracePrompt;
}
- static function PrintTrace()
+ public function PrintTrace()
{
- self::$yyTraceFILE = fopen('php://output', 'w');
- self::$yyTracePrompt = '<br>';
+ $this->yyTraceFILE = fopen('php://output', 'w');
+ $this->yyTracePrompt = '<br>';
}
- static public $yyTraceFILE;
- static public $yyTracePrompt;
- public $yyidx; /* Index of top element in stack */
- public $yyerrcnt; /* Shifts left before out of the error */
- public $yystack = array(); /* The parser's stack */
+ public $yyTraceFILE;
+ public $yyTracePrompt;
+ public $yyidx; /* Index of top element in stack */
+ public $yyerrcnt; /* Shifts left before out of the error */
+ public $yystack = array(); /* The parser's stack */
public $yyTokenName = array(
- '$', 'OPENB', 'SECTION', 'CLOSEB',
- 'DOT', 'ID', 'EQUAL', 'FLOAT',
- 'INT', 'BOOL', 'SINGLE_QUOTED_STRING', 'DOUBLE_QUOTED_STRING',
- 'TRIPPLE_QUOTES', 'TRIPPLE_TEXT', 'TRIPPLE_QUOTES_END', 'NAKED_STRING',
- 'OTHER', 'NEWLINE', 'COMMENTSTART', 'error',
- 'start', 'global_vars', 'sections', 'var_list',
- 'section', 'newline', 'var', 'value',
+ '$', 'OPENB', 'SECTION', 'CLOSEB',
+ 'DOT', 'ID', 'EQUAL', 'FLOAT',
+ 'INT', 'BOOL', 'SINGLE_QUOTED_STRING', 'DOUBLE_QUOTED_STRING',
+ 'TRIPPLE_QUOTES', 'TRIPPLE_TEXT', 'TRIPPLE_QUOTES_END', 'NAKED_STRING',
+ 'OTHER', 'NEWLINE', 'COMMENTSTART', 'error',
+ 'start', 'global_vars', 'sections', 'var_list',
+ 'section', 'newline', 'var', 'value',
);
- static public $yyRuleName = array(
- /* 0 */ "start ::= global_vars sections",
- /* 1 */ "global_vars ::= var_list",
- /* 2 */ "sections ::= sections section",
- /* 3 */ "sections ::=",
- /* 4 */ "section ::= OPENB SECTION CLOSEB newline var_list",
- /* 5 */ "section ::= OPENB DOT SECTION CLOSEB newline var_list",
- /* 6 */ "var_list ::= var_list newline",
- /* 7 */ "var_list ::= var_list var",
- /* 8 */ "var_list ::=",
- /* 9 */ "var ::= ID EQUAL value",
- /* 10 */ "value ::= FLOAT",
- /* 11 */ "value ::= INT",
- /* 12 */ "value ::= BOOL",
- /* 13 */ "value ::= SINGLE_QUOTED_STRING",
- /* 14 */ "value ::= DOUBLE_QUOTED_STRING",
- /* 15 */ "value ::= TRIPPLE_QUOTES TRIPPLE_TEXT TRIPPLE_QUOTES_END",
- /* 16 */ "value ::= TRIPPLE_QUOTES TRIPPLE_QUOTES_END",
- /* 17 */ "value ::= NAKED_STRING",
- /* 18 */ "value ::= OTHER",
- /* 19 */ "newline ::= NEWLINE",
- /* 20 */ "newline ::= COMMENTSTART NEWLINE",
- /* 21 */ "newline ::= COMMENTSTART NAKED_STRING NEWLINE",
+ public static $yyRuleName = array(
+ /* 0 */
+ "start ::= global_vars sections",
+ /* 1 */
+ "global_vars ::= var_list",
+ /* 2 */
+ "sections ::= sections section",
+ /* 3 */
+ "sections ::=",
+ /* 4 */
+ "section ::= OPENB SECTION CLOSEB newline var_list",
+ /* 5 */
+ "section ::= OPENB DOT SECTION CLOSEB newline var_list",
+ /* 6 */
+ "var_list ::= var_list newline",
+ /* 7 */
+ "var_list ::= var_list var",
+ /* 8 */
+ "var_list ::=",
+ /* 9 */
+ "var ::= ID EQUAL value",
+ /* 10 */
+ "value ::= FLOAT",
+ /* 11 */
+ "value ::= INT",
+ /* 12 */
+ "value ::= BOOL",
+ /* 13 */
+ "value ::= SINGLE_QUOTED_STRING",
+ /* 14 */
+ "value ::= DOUBLE_QUOTED_STRING",
+ /* 15 */
+ "value ::= TRIPPLE_QUOTES TRIPPLE_TEXT TRIPPLE_QUOTES_END",
+ /* 16 */
+ "value ::= TRIPPLE_QUOTES TRIPPLE_QUOTES_END",
+ /* 17 */
+ "value ::= NAKED_STRING",
+ /* 18 */
+ "value ::= OTHER",
+ /* 19 */
+ "newline ::= NEWLINE",
+ /* 20 */
+ "newline ::= COMMENTSTART NEWLINE",
+ /* 21 */
+ "newline ::= COMMENTSTART NAKED_STRING NEWLINE",
);
- function tokenName($tokenType)
+ public function tokenName($tokenType)
{
if ($tokenType === 0) {
return 'End of Input';
@@ -349,41 +437,43 @@ static public $yy_action = array(
}
}
- static function yy_destructor($yymajor, $yypminor)
+ public static function yy_destructor($yymajor, $yypminor)
{
switch ($yymajor) {
- default: break; /* If no destructor action specified: do nothing */
+ default:
+ break; /* If no destructor action specified: do nothing */
}
}
- function yy_pop_parser_stack()
+ public function yy_pop_parser_stack()
{
if (!count($this->yystack)) {
return;
}
$yytos = array_pop($this->yystack);
- if (self::$yyTraceFILE && $this->yyidx >= 0) {
- fwrite(self::$yyTraceFILE,
- self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
- "\n");
+ if ($this->yyTraceFILE && $this->yyidx >= 0) {
+ fwrite($this->yyTraceFILE,
+ $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
+ "\n");
}
$yymajor = $yytos->major;
self::yy_destructor($yymajor, $yytos->minor);
- $this->yyidx--;
+ $this->yyidx --;
+
return $yymajor;
}
- function __destruct()
+ public function __destruct()
{
while ($this->yystack !== Array()) {
$this->yy_pop_parser_stack();
}
- if (is_resource(self::$yyTraceFILE)) {
- fclose(self::$yyTraceFILE);
+ if (is_resource($this->yyTraceFILE)) {
+ fclose($this->yyTraceFILE);
}
}
- function yy_get_expected_tokens($token)
+ public function yy_get_expected_tokens($token)
{
$state = $this->yystack[$this->yyidx]->stateno;
$expected = self::$yyExpectedTokens[$state];
@@ -398,7 +488,7 @@ static public $yy_action = array(
// reduce action
$done = 0;
do {
- if ($done++ == 100) {
+ if ($done ++ == 100) {
$this->yyidx = $yyidx;
$this->yystack = $stack;
// too much recursion prevents proper detection
@@ -411,17 +501,18 @@ static public $yy_action = array(
$this->yystack[$this->yyidx]->stateno,
self::$yyRuleInfo[$yyruleno]['lhs']);
if (isset(self::$yyExpectedTokens[$nextstate])) {
- $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
- if (in_array($token,
- self::$yyExpectedTokens[$nextstate], true)) {
+ $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
+ if (in_array($token,
+ self::$yyExpectedTokens[$nextstate], true)) {
$this->yyidx = $yyidx;
$this->yystack = $stack;
+
return array_unique($expected);
}
}
if ($nextstate < self::YYNSTATE) {
// we need to shift a non-terminal
- $this->yyidx++;
+ $this->yyidx ++;
$x = new TPC_yyStackEntry;
$x->stateno = $nextstate;
$x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
@@ -446,12 +537,13 @@ static public $yy_action = array(
}
break;
} while (true);
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
+ $this->yyidx = $yyidx;
+ $this->yystack = $stack;
+
return array_unique($expected);
}
- function yy_is_expected_token($token)
+ public function yy_is_expected_token($token)
{
if ($token === 0) {
return true; // 0 is not part of this
@@ -468,7 +560,7 @@ static public $yy_action = array(
// reduce action
$done = 0;
do {
- if ($done++ == 100) {
+ if ($done ++ == 100) {
$this->yyidx = $yyidx;
$this->yystack = $stack;
// too much recursion prevents proper detection
@@ -481,14 +573,16 @@ static public $yy_action = array(
$this->yystack[$this->yyidx]->stateno,
self::$yyRuleInfo[$yyruleno]['lhs']);
if (isset(self::$yyExpectedTokens[$nextstate]) &&
- in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
+ in_array($token, self::$yyExpectedTokens[$nextstate], true)
+ ) {
$this->yyidx = $yyidx;
$this->yystack = $stack;
+
return true;
}
if ($nextstate < self::YYNSTATE) {
// we need to shift a non-terminal
- $this->yyidx++;
+ $this->yyidx ++;
$x = new TPC_yyStackEntry;
$x->stateno = $nextstate;
$x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
@@ -519,10 +613,11 @@ static public $yy_action = array(
} while (true);
$this->yyidx = $yyidx;
$this->yystack = $stack;
+
return true;
}
- function yy_find_shift_action($iLookAhead)
+ public function yy_find_shift_action($iLookAhead)
{
$stateno = $this->yystack[$this->yyidx]->stateno;
@@ -540,23 +635,27 @@ static public $yy_action = array(
}
$i += $iLookAhead;
if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
- self::$yy_lookahead[$i] != $iLookAhead) {
+ self::$yy_lookahead[$i] != $iLookAhead
+ ) {
if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
- && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
- if (self::$yyTraceFILE) {
- fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
+ && ($iFallback = self::$yyFallback[$iLookAhead]) != 0
+ ) {
+ if ($this->yyTraceFILE) {
+ fwrite($this->yyTraceFILE, $this->yyTracePrompt . "FALLBACK " .
$this->yyTokenName[$iLookAhead] . " => " .
$this->yyTokenName[$iFallback] . "\n");
}
+
return $this->yy_find_shift_action($iFallback);
}
+
return self::$yy_default[$stateno];
} else {
return self::$yy_action[$i];
}
}
- function yy_find_reduce_action($stateno, $iLookAhead)
+ public function yy_find_reduce_action($stateno, $iLookAhead)
{
/* $stateno = $this->yystack[$this->yyidx]->stateno; */
@@ -572,29 +671,31 @@ static public $yy_action = array(
}
$i += $iLookAhead;
if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
- self::$yy_lookahead[$i] != $iLookAhead) {
+ self::$yy_lookahead[$i] != $iLookAhead
+ ) {
return self::$yy_default[$stateno];
} else {
return self::$yy_action[$i];
}
}
- function yy_shift($yyNewState, $yyMajor, $yypMinor)
+ public function yy_shift($yyNewState, $yyMajor, $yypMinor)
{
- $this->yyidx++;
+ $this->yyidx ++;
if ($this->yyidx >= self::YYSTACKDEPTH) {
- $this->yyidx--;
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
+ $this->yyidx --;
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
}
while ($this->yyidx >= 0) {
$this->yy_pop_parser_stack();
}
-#line 125 "smarty_internal_configfileparser.y"
+ #line 125 "smarty_internal_configfileparser.y"
+
+ $this->internalError = true;
+ $this->compiler->trigger_config_file_error("Stack overflow in configfile parser");
+ #line 601 "smarty_internal_configfileparser.php"
- $this->internalError = true;
- $this->compiler->trigger_config_file_error("Stack overflow in configfile parser");
-#line 593 "smarty_internal_configfileparser.php"
return;
}
$yytos = new TPC_yyStackEntry;
@@ -602,57 +703,57 @@ static public $yy_action = array(
$yytos->major = $yyMajor;
$yytos->minor = $yypMinor;
array_push($this->yystack, $yytos);
- if (self::$yyTraceFILE && $this->yyidx > 0) {
- fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
- $yyNewState);
- fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
- for($i = 1; $i <= $this->yyidx; $i++) {
- fprintf(self::$yyTraceFILE, " %s",
- $this->yyTokenName[$this->yystack[$i]->major]);
+ if ($this->yyTraceFILE && $this->yyidx > 0) {
+ fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt,
+ $yyNewState);
+ fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
+ for ($i = 1; $i <= $this->yyidx; $i ++) {
+ fprintf($this->yyTraceFILE, " %s",
+ $this->yyTokenName[$this->yystack[$i]->major]);
}
- fwrite(self::$yyTraceFILE,"\n");
- }
- }
-
- static public $yyRuleInfo = array(
- array( 'lhs' => 20, 'rhs' => 2 ),
- array( 'lhs' => 21, 'rhs' => 1 ),
- array( 'lhs' => 22, 'rhs' => 2 ),
- array( 'lhs' => 22, 'rhs' => 0 ),
- array( 'lhs' => 24, 'rhs' => 5 ),
- array( 'lhs' => 24, 'rhs' => 6 ),
- array( 'lhs' => 23, 'rhs' => 2 ),
- array( 'lhs' => 23, 'rhs' => 2 ),
- array( 'lhs' => 23, 'rhs' => 0 ),
- array( 'lhs' => 26, 'rhs' => 3 ),
- array( 'lhs' => 27, 'rhs' => 1 ),
- array( 'lhs' => 27, 'rhs' => 1 ),
- array( 'lhs' => 27, 'rhs' => 1 ),
- array( 'lhs' => 27, 'rhs' => 1 ),
- array( 'lhs' => 27, 'rhs' => 1 ),
- array( 'lhs' => 27, 'rhs' => 3 ),
- array( 'lhs' => 27, 'rhs' => 2 ),
- array( 'lhs' => 27, 'rhs' => 1 ),
- array( 'lhs' => 27, 'rhs' => 1 ),
- array( 'lhs' => 25, 'rhs' => 1 ),
- array( 'lhs' => 25, 'rhs' => 2 ),
- array( 'lhs' => 25, 'rhs' => 3 ),
+ fwrite($this->yyTraceFILE, "\n");
+ }
+ }
+
+ public static $yyRuleInfo = array(
+ array('lhs' => 20, 'rhs' => 2),
+ array('lhs' => 21, 'rhs' => 1),
+ array('lhs' => 22, 'rhs' => 2),
+ array('lhs' => 22, 'rhs' => 0),
+ array('lhs' => 24, 'rhs' => 5),
+ array('lhs' => 24, 'rhs' => 6),
+ array('lhs' => 23, 'rhs' => 2),
+ array('lhs' => 23, 'rhs' => 2),
+ array('lhs' => 23, 'rhs' => 0),
+ array('lhs' => 26, 'rhs' => 3),
+ array('lhs' => 27, 'rhs' => 1),
+ array('lhs' => 27, 'rhs' => 1),
+ array('lhs' => 27, 'rhs' => 1),
+ array('lhs' => 27, 'rhs' => 1),
+ array('lhs' => 27, 'rhs' => 1),
+ array('lhs' => 27, 'rhs' => 3),
+ array('lhs' => 27, 'rhs' => 2),
+ array('lhs' => 27, 'rhs' => 1),
+ array('lhs' => 27, 'rhs' => 1),
+ array('lhs' => 25, 'rhs' => 1),
+ array('lhs' => 25, 'rhs' => 2),
+ array('lhs' => 25, 'rhs' => 3),
);
- static public $yyReduceMap = array(
- 0 => 0,
- 2 => 0,
- 3 => 0,
+ public static $yyReduceMap = array(
+ 0 => 0,
+ 2 => 0,
+ 3 => 0,
19 => 0,
20 => 0,
21 => 0,
- 1 => 1,
- 4 => 4,
- 5 => 5,
- 6 => 6,
- 7 => 7,
- 8 => 8,
- 9 => 9,
+ 1 => 1,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => 7,
+ 8 => 8,
+ 9 => 9,
10 => 10,
11 => 11,
12 => 12,
@@ -663,101 +764,121 @@ static public $yy_action = array(
17 => 17,
18 => 17,
);
-#line 131 "smarty_internal_configfileparser.y"
- function yy_r0(){
- $this->_retvalue = null;
- }
-#line 666 "smarty_internal_configfileparser.php"
-#line 136 "smarty_internal_configfileparser.y"
- function yy_r1(){
- $this->add_global_vars($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = null;
- }
-#line 671 "smarty_internal_configfileparser.php"
-#line 149 "smarty_internal_configfileparser.y"
- function yy_r4(){
- $this->add_section_vars($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + 0]->minor);
- $this->_retvalue = null;
- }
-#line 677 "smarty_internal_configfileparser.php"
-#line 154 "smarty_internal_configfileparser.y"
- function yy_r5(){
- if ($this->smarty->config_read_hidden) {
- $this->add_section_vars($this->yystack[$this->yyidx + -3]->minor, $this->yystack[$this->yyidx + 0]->minor);
- }
- $this->_retvalue = null;
- }
-#line 685 "smarty_internal_configfileparser.php"
-#line 162 "smarty_internal_configfileparser.y"
- function yy_r6(){
- $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
- }
-#line 690 "smarty_internal_configfileparser.php"
-#line 166 "smarty_internal_configfileparser.y"
- function yy_r7(){
- $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor, Array($this->yystack[$this->yyidx + 0]->minor));
- }
-#line 695 "smarty_internal_configfileparser.php"
-#line 170 "smarty_internal_configfileparser.y"
- function yy_r8(){
- $this->_retvalue = Array();
- }
-#line 700 "smarty_internal_configfileparser.php"
-#line 176 "smarty_internal_configfileparser.y"
- function yy_r9(){
- $this->_retvalue = Array("key" => $this->yystack[$this->yyidx + -2]->minor, "value" => $this->yystack[$this->yyidx + 0]->minor);
- }
-#line 705 "smarty_internal_configfileparser.php"
-#line 181 "smarty_internal_configfileparser.y"
- function yy_r10(){
- $this->_retvalue = (float) $this->yystack[$this->yyidx + 0]->minor;
- }
-#line 710 "smarty_internal_configfileparser.php"
-#line 185 "smarty_internal_configfileparser.y"
- function yy_r11(){
- $this->_retvalue = (int) $this->yystack[$this->yyidx + 0]->minor;
- }
-#line 715 "smarty_internal_configfileparser.php"
-#line 189 "smarty_internal_configfileparser.y"
- function yy_r12(){
- $this->_retvalue = $this->parse_bool($this->yystack[$this->yyidx + 0]->minor);
- }
-#line 720 "smarty_internal_configfileparser.php"
-#line 193 "smarty_internal_configfileparser.y"
- function yy_r13(){
- $this->_retvalue = self::parse_single_quoted_string($this->yystack[$this->yyidx + 0]->minor);
- }
-#line 725 "smarty_internal_configfileparser.php"
-#line 197 "smarty_internal_configfileparser.y"
- function yy_r14(){
- $this->_retvalue = self::parse_double_quoted_string($this->yystack[$this->yyidx + 0]->minor);
- }
-#line 730 "smarty_internal_configfileparser.php"
-#line 201 "smarty_internal_configfileparser.y"
- function yy_r15(){
- $this->_retvalue = self::parse_tripple_double_quoted_string($this->yystack[$this->yyidx + -1]->minor);
- }
-#line 735 "smarty_internal_configfileparser.php"
-#line 205 "smarty_internal_configfileparser.y"
- function yy_r16(){
- $this->_retvalue = '';
- }
-#line 740 "smarty_internal_configfileparser.php"
-#line 209 "smarty_internal_configfileparser.y"
- function yy_r17(){
- $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
- }
-#line 745 "smarty_internal_configfileparser.php"
+
+ #line 131 "smarty_internal_configfileparser.y"
+ function yy_r0()
+ {
+ $this->_retvalue = null;
+ }
+ #line 675 "smarty_internal_configfileparser.php"
+ #line 136 "smarty_internal_configfileparser.y"
+ function yy_r1()
+ {
+ $this->add_global_vars($this->yystack[$this->yyidx + 0]->minor);
+ $this->_retvalue = null;
+ }
+ #line 680 "smarty_internal_configfileparser.php"
+ #line 149 "smarty_internal_configfileparser.y"
+ function yy_r4()
+ {
+ $this->add_section_vars($this->yystack[$this->yyidx + - 3]->minor, $this->yystack[$this->yyidx + 0]->minor);
+ $this->_retvalue = null;
+ }
+ #line 686 "smarty_internal_configfileparser.php"
+ #line 154 "smarty_internal_configfileparser.y"
+ function yy_r5()
+ {
+ if ($this->smarty->config_read_hidden) {
+ $this->add_section_vars($this->yystack[$this->yyidx + - 3]->minor, $this->yystack[$this->yyidx + 0]->minor);
+ }
+ $this->_retvalue = null;
+ }
+ #line 694 "smarty_internal_configfileparser.php"
+ #line 162 "smarty_internal_configfileparser.y"
+ function yy_r6()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
+ }
+ #line 699 "smarty_internal_configfileparser.php"
+ #line 166 "smarty_internal_configfileparser.y"
+ function yy_r7()
+ {
+ $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 1]->minor, Array($this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 704 "smarty_internal_configfileparser.php"
+ #line 170 "smarty_internal_configfileparser.y"
+ function yy_r8()
+ {
+ $this->_retvalue = Array();
+ }
+ #line 709 "smarty_internal_configfileparser.php"
+ #line 176 "smarty_internal_configfileparser.y"
+ function yy_r9()
+ {
+ $this->_retvalue = Array("key" => $this->yystack[$this->yyidx + - 2]->minor, "value" => $this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 714 "smarty_internal_configfileparser.php"
+ #line 181 "smarty_internal_configfileparser.y"
+ function yy_r10()
+ {
+ $this->_retvalue = (float) $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 719 "smarty_internal_configfileparser.php"
+ #line 185 "smarty_internal_configfileparser.y"
+ function yy_r11()
+ {
+ $this->_retvalue = (int) $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 724 "smarty_internal_configfileparser.php"
+ #line 189 "smarty_internal_configfileparser.y"
+ function yy_r12()
+ {
+ $this->_retvalue = $this->parse_bool($this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 729 "smarty_internal_configfileparser.php"
+ #line 193 "smarty_internal_configfileparser.y"
+ function yy_r13()
+ {
+ $this->_retvalue = self::parse_single_quoted_string($this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 734 "smarty_internal_configfileparser.php"
+ #line 197 "smarty_internal_configfileparser.y"
+ function yy_r14()
+ {
+ $this->_retvalue = self::parse_double_quoted_string($this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 739 "smarty_internal_configfileparser.php"
+ #line 201 "smarty_internal_configfileparser.y"
+ function yy_r15()
+ {
+ $this->_retvalue = self::parse_tripple_double_quoted_string($this->yystack[$this->yyidx + - 1]->minor);
+ }
+ #line 744 "smarty_internal_configfileparser.php"
+ #line 205 "smarty_internal_configfileparser.y"
+ function yy_r16()
+ {
+ $this->_retvalue = '';
+ }
+ #line 749 "smarty_internal_configfileparser.php"
+ #line 209 "smarty_internal_configfileparser.y"
+ function yy_r17()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
+ }
+
+ #line 754 "smarty_internal_configfileparser.php"
private $_retvalue;
- function yy_reduce($yyruleno)
+ public function yy_reduce($yyruleno)
{
$yymsp = $this->yystack[$this->yyidx];
- if (self::$yyTraceFILE && $yyruleno >= 0
- && $yyruleno < count(self::$yyRuleName)) {
- fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
- self::$yyTracePrompt, $yyruleno,
- self::$yyRuleName[$yyruleno]);
+ if ($this->yyTraceFILE && $yyruleno >= 0
+ && $yyruleno < count(self::$yyRuleName)
+ ) {
+ fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n",
+ $this->yyTracePrompt, $yyruleno,
+ self::$yyRuleName[$yyruleno]);
}
$this->_retvalue = $yy_lefthand_side = null;
@@ -770,14 +891,14 @@ static public $yy_action = array(
$yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
$yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
$this->yyidx -= $yysize;
- for($i = $yysize; $i; $i--) {
+ for ($i = $yysize; $i; $i --) {
// pop all of the right-hand side parameters
array_pop($this->yystack);
}
$yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
if ($yyact < self::YYNSTATE) {
- if (!self::$yyTraceFILE && $yysize) {
- $this->yyidx++;
+ if (!$this->yyTraceFILE && $yysize) {
+ $this->yyidx ++;
$x = new TPC_yyStackEntry;
$x->stateno = $yyact;
$x->major = $yygoto;
@@ -791,73 +912,74 @@ static public $yy_action = array(
}
}
- function yy_parse_failed()
+ public function yy_parse_failed()
{
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
}
while ($this->yyidx >= 0) {
$this->yy_pop_parser_stack();
}
}
- function yy_syntax_error($yymajor, $TOKEN)
+ public function yy_syntax_error($yymajor, $TOKEN)
{
-#line 118 "smarty_internal_configfileparser.y"
+ #line 118 "smarty_internal_configfileparser.y"
- $this->internalError = true;
- $this->yymajor = $yymajor;
- $this->compiler->trigger_config_file_error();
-#line 808 "smarty_internal_configfileparser.php"
+ $this->internalError = true;
+ $this->yymajor = $yymajor;
+ $this->compiler->trigger_config_file_error();
+ #line 816 "smarty_internal_configfileparser.php"
}
- function yy_accept()
+ public function yy_accept()
{
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
}
while ($this->yyidx >= 0) {
$stack = $this->yy_pop_parser_stack();
}
-#line 110 "smarty_internal_configfileparser.y"
+ #line 110 "smarty_internal_configfileparser.y"
- $this->successful = !$this->internalError;
- $this->internalError = false;
- $this->retvalue = $this->_retvalue;
- //echo $this->retvalue."\n\n";
-#line 826 "smarty_internal_configfileparser.php"
+ $this->successful = !$this->internalError;
+ $this->internalError = false;
+ $this->retvalue = $this->_retvalue;
+ //echo $this->retvalue."\n\n";
+ #line 833 "smarty_internal_configfileparser.php"
}
- function doParse($yymajor, $yytokenvalue)
+ public function doParse($yymajor, $yytokenvalue)
{
- $yyerrorhit = 0; /* True if yymajor has invoked an error */
+ $yyerrorhit = 0; /* True if yymajor has invoked an error */
if ($this->yyidx === null || $this->yyidx < 0) {
$this->yyidx = 0;
- $this->yyerrcnt = -1;
+ $this->yyerrcnt = - 1;
$x = new TPC_yyStackEntry;
$x->stateno = 0;
$x->major = 0;
$this->yystack = array();
array_push($this->yystack, $x);
}
- $yyendofinput = ($yymajor==0);
+ $yyendofinput = ($yymajor == 0);
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sInput %s\n",
- self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sInput %s\n",
+ $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
}
do {
$yyact = $this->yy_find_shift_action($yymajor);
if ($yymajor < self::YYERRORSYMBOL &&
- !$this->yy_is_expected_token($yymajor)) {
+ !$this->yy_is_expected_token($yymajor)
+ ) {
// force a syntax error
$yyact = self::YY_ERROR_ACTION;
}
if ($yyact < self::YYNSTATE) {
$this->yy_shift($yyact, $yymajor, $yytokenvalue);
- $this->yyerrcnt--;
+ $this->yyerrcnt --;
if ($yyendofinput && $this->yyidx >= 0) {
$yymajor = 0;
} else {
@@ -866,30 +988,30 @@ static public $yy_action = array(
} elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
$this->yy_reduce($yyact - self::YYNSTATE);
} elseif ($yyact == self::YY_ERROR_ACTION) {
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
- self::$yyTracePrompt);
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sSyntax Error!\n",
+ $this->yyTracePrompt);
}
if (self::YYERRORSYMBOL) {
if ($this->yyerrcnt < 0) {
$this->yy_syntax_error($yymajor, $yytokenvalue);
}
$yymx = $this->yystack[$this->yyidx]->major;
- if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
- self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
+ if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sDiscard input token %s\n",
+ $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
}
$this->yy_destructor($yymajor, $yytokenvalue);
$yymajor = self::YYNOCODE;
} else {
while ($this->yyidx >= 0 &&
- $yymx != self::YYERRORSYMBOL &&
- ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
- ){
+ $yymx != self::YYERRORSYMBOL &&
+ ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
+ ) {
$this->yy_pop_parser_stack();
}
- if ($this->yyidx < 0 || $yymajor==0) {
+ if ($this->yyidx < 0 || $yymajor == 0) {
$this->yy_destructor($yymajor, $yytokenvalue);
$this->yy_parse_failed();
$yymajor = self::YYNOCODE;
@@ -918,4 +1040,3 @@ static public $yy_action = array(
} while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
}
}
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_data.php b/library/Smarty/libs/sysplugins/smarty_internal_data.php
index 5baf3b76d..9e16f10c0 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_data.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_data.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Data
+ * This file contains the basic classes and methods for template and variable creation
*
- * This file contains the basic classes and methodes for template and variable creation
- *
- * @package Smarty
+ * @package Smarty
* @subpackage Template
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
- * Base class with template and variable methodes
+ * Base class with template and variable methods
*
- * @package Smarty
+ * @package Smarty
* @subpackage Template
*/
-class Smarty_Internal_Data {
-
+class Smarty_Internal_Data
+{
/**
* name of class used for templates
*
@@ -45,10 +44,10 @@ class Smarty_Internal_Data {
/**
* assigns a Smarty variable
*
- * @param array|string $tpl_var the template variable name(s)
- * @param mixed $value the value to assign
- * @param boolean $nocache if true any output of this variable will be not cached
- * @param boolean $scope the scope the variable will have (local,parent or root)
+ * @param array|string $tpl_var the template variable name(s)
+ * @param mixed $value the value to assign
+ * @param boolean $nocache if true any output of this variable will be not cached
+ *
* @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function assign($tpl_var, $value = null, $nocache = false)
@@ -71,32 +70,40 @@ class Smarty_Internal_Data {
/**
* assigns a global Smarty variable
*
- * @param string $varname the global variable name
- * @param mixed $value the value to assign
- * @param boolean $nocache if true any output of this variable will be not cached
+ * @param string $varname the global variable name
+ * @param mixed $value the value to assign
+ * @param boolean $nocache if true any output of this variable will be not cached
+ *
* @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function assignGlobal($varname, $value = null, $nocache = false)
{
if ($varname != '') {
Smarty::$global_tpl_vars[$varname] = new Smarty_variable($value, $nocache);
+ $ptr = $this;
+ while ($ptr instanceof Smarty_Internal_Template) {
+ $ptr->tpl_vars[$varname] = clone Smarty::$global_tpl_vars[$varname];
+ $ptr = $ptr->parent;
+ }
}
return $this;
}
+
/**
* assigns values to template variables by reference
*
- * @param string $tpl_var the template variable name
- * @param mixed $ &$value the referenced value to assign
- * @param boolean $nocache if true any output of this variable will be not cached
+ * @param string $tpl_var the template variable name
+ * @param $value
+ * @param boolean $nocache if true any output of this variable will be not cached
+ *
* @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function assignByRef($tpl_var, &$value, $nocache = false)
{
if ($tpl_var != '') {
$this->tpl_vars[$tpl_var] = new Smarty_variable(null, $nocache);
- $this->tpl_vars[$tpl_var]->value = &$value;
+ $this->tpl_vars[$tpl_var]->value = & $value;
}
return $this;
@@ -105,10 +112,11 @@ class Smarty_Internal_Data {
/**
* appends values to template variables
*
- * @param array|string $tpl_var the template variable name(s)
- * @param mixed $value the value to append
- * @param boolean $merge flag if array elements shall be merged
- * @param boolean $nocache if true any output of this variable will be not cached
+ * @param array|string $tpl_var the template variable name(s)
+ * @param mixed $value the value to append
+ * @param boolean $merge flag if array elements shall be merged
+ * @param boolean $nocache if true any output of this variable will be not cached
+ *
* @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function append($tpl_var, $value = null, $merge = false, $nocache = false)
@@ -129,7 +137,7 @@ class Smarty_Internal_Data {
settype($this->tpl_vars[$_key]->value, 'array');
}
if ($merge && is_array($_val)) {
- foreach($_val as $_mkey => $_mval) {
+ foreach ($_val as $_mkey => $_mval) {
$this->tpl_vars[$_key]->value[$_mkey] = $_mval;
}
} else {
@@ -151,7 +159,7 @@ class Smarty_Internal_Data {
settype($this->tpl_vars[$tpl_var]->value, 'array');
}
if ($merge && is_array($value)) {
- foreach($value as $_mkey => $_mval) {
+ foreach ($value as $_mkey => $_mval) {
$this->tpl_vars[$tpl_var]->value[$_mkey] = $_mval;
}
} else {
@@ -166,9 +174,10 @@ class Smarty_Internal_Data {
/**
* appends values to template variables by reference
*
- * @param string $tpl_var the template variable name
- * @param mixed &$value the referenced value to append
- * @param boolean $merge flag if array elements shall be merged
+ * @param string $tpl_var the template variable name
+ * @param mixed &$value the referenced value to append
+ * @param boolean $merge flag if array elements shall be merged
+ *
* @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function appendByRef($tpl_var, &$value, $merge = false)
@@ -181,11 +190,11 @@ class Smarty_Internal_Data {
settype($this->tpl_vars[$tpl_var]->value, 'array');
}
if ($merge && is_array($value)) {
- foreach($value as $_key => $_val) {
- $this->tpl_vars[$tpl_var]->value[$_key] = &$value[$_key];
+ foreach ($value as $_key => $_val) {
+ $this->tpl_vars[$tpl_var]->value[$_key] = & $value[$_key];
}
} else {
- $this->tpl_vars[$tpl_var]->value[] = &$value;
+ $this->tpl_vars[$tpl_var]->value[] = & $value;
}
}
@@ -195,10 +204,11 @@ class Smarty_Internal_Data {
/**
* Returns a single or all template variables
*
- * @param string $varname variable name or null
- * @param string $_ptr optional pointer to data object
- * @param boolean $search_parents include parent templates?
- * @return string variable value or or array of variables
+ * @param string $varname variable name or null
+ * @param object $_ptr optional pointer to data object
+ * @param boolean $search_parents include parent templates?
+ *
+ * @return string variable value or or array of variables
*/
public function getTemplateVars($varname = null, $_ptr = null, $search_parents = true)
{
@@ -213,7 +223,8 @@ class Smarty_Internal_Data {
$_result = array();
if ($_ptr === null) {
$_ptr = $this;
- } while ($_ptr !== null) {
+ }
+ while ($_ptr !== null) {
foreach ($_ptr->tpl_vars AS $key => $var) {
if (!array_key_exists($key, $_result)) {
$_result[$key] = $var->value;
@@ -233,6 +244,7 @@ class Smarty_Internal_Data {
}
}
}
+
return $_result;
}
}
@@ -240,7 +252,8 @@ class Smarty_Internal_Data {
/**
* clear the given assigned template variable.
*
- * @param string|array $tpl_var the template variable(s) to clear
+ * @param string|array $tpl_var the template variable(s) to clear
+ *
* @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function clearAssign($tpl_var)
@@ -258,19 +271,22 @@ class Smarty_Internal_Data {
/**
* clear all the assigned template variables.
+ *
* @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function clearAllAssign()
{
$this->tpl_vars = array();
+
return $this;
}
/**
* load a config file, optionally load just selected sections
*
- * @param string $config_file filename
- * @param mixed $sections array of section names, single section or null
+ * @param string $config_file filename
+ * @param mixed $sections array of section names, single section or null
+ *
* @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function configLoad($config_file, $sections = null)
@@ -278,22 +294,26 @@ class Smarty_Internal_Data {
// load Config class
$config = new Smarty_Internal_Config($config_file, $this->smarty, $this);
$config->loadConfigVars($sections);
+
return $this;
}
/**
* gets the object of a Smarty variable
*
- * @param string $variable the name of the Smarty variable
- * @param object $_ptr optional pointer to data object
- * @param boolean $search_parents search also in parent data
- * @return object the object of the variable
+ * @param string $variable the name of the Smarty variable
+ * @param object $_ptr optional pointer to data object
+ * @param boolean $search_parents search also in parent data
+ * @param bool $error_enable
+ *
+ * @return object the object of the variable
*/
public function getVariable($variable, $_ptr = null, $search_parents = true, $error_enable = true)
{
if ($_ptr === null) {
$_ptr = $this;
- } while ($_ptr !== null) {
+ }
+ while ($_ptr !== null) {
if (isset($_ptr->tpl_vars[$variable])) {
// found it, return it
return $_ptr->tpl_vars[$variable];
@@ -313,14 +333,17 @@ class Smarty_Internal_Data {
// force a notice
$x = $$variable;
}
+
return new Undefined_Smarty_Variable;
}
/**
* gets a config variable
*
- * @param string $variable the name of the config variable
- * @return mixed the value of the config variable
+ * @param string $variable the name of the config variable
+ * @param bool $error_enable
+ *
+ * @return mixed the value of the config variable
*/
public function getConfigVariable($variable, $error_enable = true)
{
@@ -337,24 +360,28 @@ class Smarty_Internal_Data {
// force a notice
$x = $$variable;
}
+
return null;
}
/**
* gets a stream variable
*
- * @param string $variable the stream of the variable
- * @return mixed the value of the stream variable
+ * @param string $variable the stream of the variable
+ *
+ * @throws SmartyException
+ * @return mixed the value of the stream variable
*/
public function getStreamVariable($variable)
{
$_result = '';
$fp = fopen($variable, 'r+');
if ($fp) {
- while (!feof($fp) && ($current_line = fgets($fp)) !== false ) {
+ while (!feof($fp) && ($current_line = fgets($fp)) !== false) {
$_result .= $current_line;
}
fclose($fp);
+
return $_result;
}
@@ -368,7 +395,9 @@ class Smarty_Internal_Data {
/**
* Returns a single or all config variables
*
- * @param string $varname variable name or null
+ * @param string $varname variable name or null
+ * @param bool $search_parents
+ *
* @return string variable value or or array of variables
*/
public function getConfigVars($varname = null, $search_parents = true)
@@ -383,7 +412,7 @@ class Smarty_Internal_Data {
} else {
$var_array = array_merge($_ptr->config_vars, $var_array);
}
- // not found, try at parent
+ // not found, try at parent
if ($search_parents) {
$_ptr = $_ptr->parent;
} else {
@@ -400,7 +429,8 @@ class Smarty_Internal_Data {
/**
* Deassigns a single or all config variables
*
- * @param string $varname variable name or null
+ * @param string $varname variable name or null
+ *
* @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function clearConfig($varname = null)
@@ -410,21 +440,20 @@ class Smarty_Internal_Data {
} else {
$this->config_vars = array();
}
+
return $this;
}
-
}
/**
* class for the Smarty data object
- *
* The Smarty data object will hold Smarty variables in the current scope
*
- * @package Smarty
+ * @package Smarty
* @subpackage Template
*/
-class Smarty_Data extends Smarty_Internal_Data {
-
+class Smarty_Data extends Smarty_Internal_Data
+{
/**
* Smarty object
*
@@ -435,10 +464,12 @@ class Smarty_Data extends Smarty_Internal_Data {
/**
* create Smarty data object
*
- * @param Smarty|array $_parent parent template
- * @param Smarty $smarty global smarty instance
+ * @param Smarty|array $_parent parent template
+ * @param Smarty|Smarty_Internal_Template $smarty global smarty instance
+ *
+ * @throws SmartyException
*/
- public function __construct ($_parent = null, $smarty = null)
+ public function __construct($_parent = null, $smarty = null)
{
$this->smarty = $smarty;
if (is_object($_parent)) {
@@ -453,19 +484,17 @@ class Smarty_Data extends Smarty_Internal_Data {
throw new SmartyException("Wrong type for template variables");
}
}
-
}
/**
* class for the Smarty variable object
- *
* This class defines the Smarty variable object
*
- * @package Smarty
+ * @package Smarty
* @subpackage Template
*/
-class Smarty_Variable {
-
+class Smarty_Variable
+{
/**
* template variable
*
@@ -508,23 +537,22 @@ class Smarty_Variable {
{
return (string) $this->value;
}
-
}
/**
* class for undefined variable object
- *
* This class defines an object for undefined variable handling
*
- * @package Smarty
+ * @package Smarty
* @subpackage Template
*/
-class Undefined_Smarty_Variable {
-
+class Undefined_Smarty_Variable
+{
/**
* Returns FALSE for 'nocache' and NULL otherwise.
*
- * @param string $name
+ * @param string $name
+ *
* @return bool
*/
public function __get($name)
@@ -545,7 +573,4 @@ class Undefined_Smarty_Variable {
{
return "";
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_debug.php b/library/Smarty/libs/sysplugins/smarty_internal_debug.php
index 2aea13f30..e5175d51d 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_debug.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_debug.php
@@ -1,22 +1,21 @@
<?php
/**
* Smarty Internal Plugin Debug
- *
* Class to collect data for the Smarty Debugging Consol
*
- * @package Smarty
+ * @package Smarty
* @subpackage Debug
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Smarty Internal Plugin Debug Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Debug
*/
-class Smarty_Internal_Debug extends Smarty_Internal_Data {
-
+class Smarty_Internal_Debug extends Smarty_Internal_Data
+{
/**
* template data
*
@@ -25,13 +24,52 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data {
public static $template_data = array();
/**
+ * List of uid's which shall be ignored
+ *
+ * @var array
+ */
+ public static $ignore_uid = array();
+
+ /**
+ * Ignore template
+ *
+ * @param object $template
+ */
+ public static function ignore($template)
+ {
+ // calculate Uid if not already done
+ if ($template->source->uid == '') {
+ $template->source->filepath;
+ }
+ self::$ignore_uid[$template->source->uid] = true;
+ }
+
+ /**
* Start logging of compile time
*
* @param object $template
*/
public static function start_compile($template)
{
- $key = self::get_key($template);
+ static $_is_stringy = array('string' => true, 'eval' => true);
+ if (!empty($template->compiler->trace_uid)) {
+ $key = $template->compiler->trace_uid;
+ if (!isset(self::$template_data[$key])) {
+ if (isset($_is_stringy[$template->source->type])) {
+ self::$template_data[$key]['name'] = '\'' . substr($template->source->name, 0, 25) . '...\'';
+ } else {
+ self::$template_data[$key]['name'] = $template->source->filepath;
+ }
+ self::$template_data[$key]['compile_time'] = 0;
+ self::$template_data[$key]['render_time'] = 0;
+ self::$template_data[$key]['cache_time'] = 0;
+ }
+ } else {
+ if (isset(self::$ignore_uid[$template->source->uid])) {
+ return;
+ }
+ $key = self::get_key($template);
+ }
self::$template_data[$key]['start_time'] = microtime(true);
}
@@ -42,7 +80,15 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data {
*/
public static function end_compile($template)
{
- $key = self::get_key($template);
+ if (!empty($template->compiler->trace_uid)) {
+ $key = $template->compiler->trace_uid;
+ } else {
+ if (isset(self::$ignore_uid[$template->source->uid])) {
+ return;
+ }
+
+ $key = self::get_key($template);
+ }
self::$template_data[$key]['compile_time'] += microtime(true) - self::$template_data[$key]['start_time'];
}
@@ -115,6 +161,7 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data {
$smarty->left_delimiter = '{';
$smarty->right_delimiter = '}';
$smarty->debugging = false;
+ $smarty->debugging_ctrl = 'NONE';
$smarty->force_compile = false;
$_template = new Smarty_Internal_Template($smarty->debug_tpl, $smarty);
$_template->caching = false;
@@ -138,7 +185,8 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data {
/**
* Recursively gets variables from all template/data scopes
*
- * @param Smarty_Internal_Template|Smarty_Data $obj object to debug
+ * @param Smarty_Internal_Template|Smarty_Data $obj object to debug
+ *
* @return StdClass
*/
public static function get_debug_vars($obj)
@@ -169,14 +217,16 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data {
}
}
}
+
return (object) array('tpl_vars' => $tpl_vars, 'config_vars' => $config_vars);
}
/**
* Return key into $template_data for template
*
- * @param object $template template object
- * @return string key into $template_data
+ * @param object $template template object
+ *
+ * @return string key into $template_data
*/
private static function get_key($template)
{
@@ -190,17 +240,15 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data {
return $key;
} else {
if (isset($_is_stringy[$template->source->type])) {
- self::$template_data[$key]['name'] = '\''.substr($template->source->name,0,25).'...\'';
+ self::$template_data[$key]['name'] = '\'' . substr($template->source->name, 0, 25) . '...\'';
} else {
self::$template_data[$key]['name'] = $template->source->filepath;
}
self::$template_data[$key]['compile_time'] = 0;
self::$template_data[$key]['render_time'] = 0;
self::$template_data[$key]['cache_time'] = 0;
+
return $key;
}
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_filter_handler.php b/library/Smarty/libs/sysplugins/smarty_internal_filter_handler.php
index c9370e1ac..4f0f3981c 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_filter_handler.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_filter_handler.php
@@ -1,41 +1,41 @@
<?php
/**
* Smarty Internal Plugin Filter Handler
- *
* Smarty filter handler class
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsInternal
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Class for filter processing
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsInternal
*/
-class Smarty_Internal_Filter_Handler {
-
+class Smarty_Internal_Filter_Handler
+{
/**
* Run filters over content
- *
* The filters will be lazy loaded if required
* class name format: Smarty_FilterType_FilterName
* plugin filename format: filtertype.filtername.php
* Smarty2 filter plugins could be used
*
- * @param string $type the type of filter ('pre','post','output') which shall run
- * @param string $content the content which shall be processed by the filters
- * @param Smarty_Internal_Template $template template object
- * @return string the filtered content
+ * @param string $type the type of filter ('pre','post','output') which shall run
+ * @param string $content the content which shall be processed by the filters
+ * @param Smarty_Internal_Template $template template object
+ *
+ * @throws SmartyException
+ * @return string the filtered content
*/
public static function runFilter($type, $content, Smarty_Internal_Template $template)
{
$output = $content;
// loop over autoload filters of specified type
if (!empty($template->smarty->autoload_filters[$type])) {
- foreach ((array)$template->smarty->autoload_filters[$type] as $name) {
+ foreach ((array) $template->smarty->autoload_filters[$type] as $name) {
$plugin_name = "Smarty_{$type}filter_{$name}";
if ($template->smarty->loadPlugin($plugin_name)) {
if (function_exists($plugin_name)) {
@@ -64,7 +64,4 @@ class Smarty_Internal_Filter_Handler {
// return filtered output
return $output;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_function_call_handler.php b/library/Smarty/libs/sysplugins/smarty_internal_function_call_handler.php
index 010d63592..a81ff728b 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_function_call_handler.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_function_call_handler.php
@@ -1,55 +1,52 @@
-<?php
-/**
- * Smarty Internal Plugin Function Call Handler
- *
- * @package Smarty
- * @subpackage PluginsInternal
- * @author Uwe Tews
- */
-
-/**
- * This class does call function defined with the {function} tag
- *
- * @package Smarty
- * @subpackage PluginsInternal
- */
-class Smarty_Internal_Function_Call_Handler {
-
- /**
- * This function handles calls to template functions defined by {function}
- * It does create a PHP function at the first call
- *
- * @param string $_name template function name
- * @param Smarty_Internal_Template $_template template object
- * @param array $_params Smarty variables passed as call parameter
- * @param string $_hash nocache hash value
- * @param bool $_nocache nocache flag
- */
- public static function call($_name, Smarty_Internal_Template $_template, $_params, $_hash, $_nocache)
- {
- if ($_nocache) {
- $_function = "smarty_template_function_{$_name}_nocache";
- } else {
- $_function = "smarty_template_function_{$_hash}_{$_name}";
- }
- if (!is_callable($_function)) {
- $_code = "function {$_function}(\$_smarty_tpl,\$params) {
- \$saved_tpl_vars = \$_smarty_tpl->tpl_vars;
- foreach (\$_smarty_tpl->smarty->template_functions['{$_name}']['parameter'] as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);};
- foreach (\$params as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);}?>";
- if ($_nocache) {
- $_code .= preg_replace(array("!<\?php echo \\'/\*%%SmartyNocache:{$_template->smarty->template_functions[$_name]['nocache_hash']}%%\*/|/\*/%%SmartyNocache:{$_template->smarty->template_functions[$_name]['nocache_hash']}%%\*/\\';\?>!",
- "!\\\'!"), array('', "'"), $_template->smarty->template_functions[$_name]['compiled']);
- $_template->smarty->template_functions[$_name]['called_nocache'] = true;
- } else {
- $_code .= preg_replace("/{$_template->smarty->template_functions[$_name]['nocache_hash']}/", $_template->properties['nocache_hash'], $_template->smarty->template_functions[$_name]['compiled']);
- }
- $_code .= "<?php \$_smarty_tpl->tpl_vars = \$saved_tpl_vars;}";
- eval($_code);
- }
- $_function($_template, $_params);
- }
-
-}
-
-?>
+<?php
+/**
+ * Smarty Internal Plugin Function Call Handler
+ *
+ * @package Smarty
+ * @subpackage PluginsInternal
+ * @author Uwe Tews
+ */
+
+/**
+ * This class does call function defined with the {function} tag
+ *
+ * @package Smarty
+ * @subpackage PluginsInternal
+ */
+class Smarty_Internal_Function_Call_Handler
+{
+ /**
+ * This function handles calls to template functions defined by {function}
+ * It does create a PHP function at the first call
+ *
+ * @param string $_name template function name
+ * @param Smarty_Internal_Template $_template template object
+ * @param array $_params Smarty variables passed as call parameter
+ * @param string $_hash nocache hash value
+ * @param bool $_nocache nocache flag
+ */
+ public static function call($_name, Smarty_Internal_Template $_template, $_params, $_hash, $_nocache)
+ {
+ if ($_nocache) {
+ $_function = "smarty_template_function_{$_name}_nocache";
+ } else {
+ $_function = "smarty_template_function_{$_hash}_{$_name}";
+ }
+ if (!is_callable($_function)) {
+ $_code = "function {$_function}(\$_smarty_tpl,\$params) {
+ \$saved_tpl_vars = \$_smarty_tpl->tpl_vars;
+ foreach (\$_smarty_tpl->smarty->template_functions['{$_name}']['parameter'] as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);};
+ foreach (\$params as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);}?>";
+ if ($_nocache) {
+ $_code .= preg_replace(array("!<\?php echo \\'/\*%%SmartyNocache:{$_template->smarty->template_functions[$_name]['nocache_hash']}%%\*/|/\*/%%SmartyNocache:{$_template->smarty->template_functions[$_name]['nocache_hash']}%%\*/\\';\?>!",
+ "!\\\'!"), array('', "'"), $_template->smarty->template_functions[$_name]['compiled']);
+ $_template->smarty->template_functions[$_name]['called_nocache'] = true;
+ } else {
+ $_code .= preg_replace("/{$_template->smarty->template_functions[$_name]['nocache_hash']}/", $_template->properties['nocache_hash'], $_template->smarty->template_functions[$_name]['compiled']);
+ }
+ $_code .= "<?php \$_smarty_tpl->tpl_vars = \$saved_tpl_vars;}";
+ eval($_code);
+ }
+ $_function($_template, $_params);
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_get_include_path.php b/library/Smarty/libs/sysplugins/smarty_internal_get_include_path.php
index 518c406aa..d46ca7029 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_get_include_path.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_get_include_path.php
@@ -1,48 +1,46 @@
-<?php
-/**
- * Smarty read include path plugin
- *
- * @package Smarty
- * @subpackage PluginsInternal
- * @author Monte Ohrt
- */
-
-/**
- * Smarty Internal Read Include Path Class
- *
- * @package Smarty
- * @subpackage PluginsInternal
- */
-class Smarty_Internal_Get_Include_Path {
-
- /**
- * Return full file path from PHP include_path
- *
- * @param string $filepath filepath
- * @return string|boolean full filepath or false
- */
- public static function getIncludePath($filepath)
- {
- static $_include_path = null;
-
- if (function_exists('stream_resolve_include_path')) {
- // available since PHP 5.3.2
- return stream_resolve_include_path($filepath);
- }
-
- if ($_include_path === null) {
- $_include_path = explode(PATH_SEPARATOR, get_include_path());
- }
-
- foreach ($_include_path as $_path) {
- if (file_exists($_path . DS . $filepath)) {
- return $_path . DS . $filepath;
- }
- }
-
- return false;
- }
-
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty read include path plugin
+ *
+ * @package Smarty
+ * @subpackage PluginsInternal
+ * @author Monte Ohrt
+ */
+
+/**
+ * Smarty Internal Read Include Path Class
+ *
+ * @package Smarty
+ * @subpackage PluginsInternal
+ */
+class Smarty_Internal_Get_Include_Path
+{
+ /**
+ * Return full file path from PHP include_path
+ *
+ * @param string $filepath filepath
+ *
+ * @return string|boolean full filepath or false
+ */
+ public static function getIncludePath($filepath)
+ {
+ static $_include_path = null;
+
+ if (function_exists('stream_resolve_include_path')) {
+ // available since PHP 5.3.2
+ return stream_resolve_include_path($filepath);
+ }
+
+ if ($_include_path === null) {
+ $_include_path = explode(PATH_SEPARATOR, get_include_path());
+ }
+
+ foreach ($_include_path as $_path) {
+ if (file_exists($_path . DS . $filepath)) {
+ return $_path . DS . $filepath;
+ }
+ }
+
+ return false;
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php b/library/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php
index faae49af6..0d2facfe9 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php
@@ -1,53 +1,51 @@
-<?php
-/**
- * Smarty Internal Plugin Nocache Insert
- *
- * Compiles the {insert} tag into the cache file
- *
- * @package Smarty
- * @subpackage Compiler
- * @author Uwe Tews
- */
-
-/**
- * Smarty Internal Plugin Compile Insert Class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-class Smarty_Internal_Nocache_Insert {
-
- /**
- * Compiles code for the {insert} tag into cache file
- *
- * @param string $_function insert function name
- * @param array $_attr array with parameter
- * @param Smarty_Internal_Template $_template template object
- * @param string $_script script name to load or 'null'
- * @param string $_assign optional variable name
- * @return string compiled code
- */
- public static function compile($_function, $_attr, $_template, $_script, $_assign = null)
- {
- $_output = '<?php ';
- if ($_script != 'null') {
- // script which must be included
- // code for script file loading
- $_output .= "require_once '{$_script}';";
- }
- // call insert
- if (isset($_assign)) {
- $_output .= "\$_smarty_tpl->assign('{$_assign}' , {$_function} (" . var_export($_attr, true) . ",\$_smarty_tpl), true);?>";
- } else {
- $_output .= "echo {$_function}(" . var_export($_attr, true) . ",\$_smarty_tpl);?>";
- }
- $_tpl = $_template;
- while ($_tpl->parent instanceof Smarty_Internal_Template) {
- $_tpl = $_tpl->parent;
- }
- return "/*%%SmartyNocache:{$_tpl->properties['nocache_hash']}%%*/" . $_output . "/*/%%SmartyNocache:{$_tpl->properties['nocache_hash']}%%*/";
- }
-
-}
-
-?>
+<?php
+/**
+ * Smarty Internal Plugin Nocache Insert
+ * Compiles the {insert} tag into the cache file
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
+
+/**
+ * Smarty Internal Plugin Compile Insert Class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Nocache_Insert
+{
+ /**
+ * Compiles code for the {insert} tag into cache file
+ *
+ * @param string $_function insert function name
+ * @param array $_attr array with parameter
+ * @param Smarty_Internal_Template $_template template object
+ * @param string $_script script name to load or 'null'
+ * @param string $_assign optional variable name
+ *
+ * @return string compiled code
+ */
+ public static function compile($_function, $_attr, $_template, $_script, $_assign = null)
+ {
+ $_output = '<?php ';
+ if ($_script != 'null') {
+ // script which must be included
+ // code for script file loading
+ $_output .= "require_once '{$_script}';";
+ }
+ // call insert
+ if (isset($_assign)) {
+ $_output .= "\$_smarty_tpl->assign('{$_assign}' , {$_function} (" . var_export($_attr, true) . ",\$_smarty_tpl), true);?>";
+ } else {
+ $_output .= "echo {$_function}(" . var_export($_attr, true) . ",\$_smarty_tpl);?>";
+ }
+ $_tpl = $_template;
+ while ($_tpl->parent instanceof Smarty_Internal_Template) {
+ $_tpl = $_tpl->parent;
+ }
+
+ return "/*%%SmartyNocache:{$_tpl->properties['nocache_hash']}%%*/" . $_output . "/*/%%SmartyNocache:{$_tpl->properties['nocache_hash']}%%*/";
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_parsetree.php b/library/Smarty/libs/sysplugins/smarty_internal_parsetree.php
index c9fb1f762..186671021 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_parsetree.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_parsetree.php
@@ -1,395 +1,361 @@
-<?php
-/**
- * Smarty Internal Plugin Templateparser Parsetrees
- *
- * These are classes to build parsetrees in the template parser
- *
- * @package Smarty
- * @subpackage Compiler
- * @author Thue Kristensen
- * @author Uwe Tews
- */
-
-/**
- * @package Smarty
- * @subpackage Compiler
- * @ignore
- */
-abstract class _smarty_parsetree {
-
- /**
- * Parser object
- * @var object
- */
- public $parser;
- /**
- * Buffer content
- * @var mixed
- */
- public $data;
-
- /**
- * Return buffer
- *
- * @return string buffer content
- */
- abstract public function to_smarty_php();
-
-}
-
-/**
- * A complete smarty tag.
- *
- * @package Smarty
- * @subpackage Compiler
- * @ignore
- */
-class _smarty_tag extends _smarty_parsetree {
-
- /**
- * Saved block nesting level
- * @var int
- */
- public $saved_block_nesting;
-
- /**
- * Create parse tree buffer for Smarty tag
- *
- * @param object $parser parser object
- * @param string $data content
- */
- public function __construct($parser, $data)
- {
- $this->parser = $parser;
- $this->data = $data;
- $this->saved_block_nesting = $parser->block_nesting_level;
- }
-
- /**
- * Return buffer content
- *
- * @return string content
- */
- public function to_smarty_php()
- {
- return $this->data;
- }
-
- /**
- * Return complied code that loads the evaluated outout of buffer content into a temporary variable
- *
- * @return string template code
- */
- public function assign_to_var()
- {
- $var = sprintf('$_tmp%d', ++$this->parser->prefix_number);
- $this->parser->compiler->prefix_code[] = sprintf('<?php ob_start();?>%s<?php %s=ob_get_clean();?>', $this->data, $var);
- return $var;
- }
-
-}
-
-/**
- * Code fragment inside a tag.
- *
- * @package Smarty
- * @subpackage Compiler
- * @ignore
- */
-class _smarty_code extends _smarty_parsetree {
-
-
- /**
- * Create parse tree buffer for code fragment
- *
- * @param object $parser parser object
- * @param string $data content
- */
- public function __construct($parser, $data)
- {
- $this->parser = $parser;
- $this->data = $data;
- }
-
- /**
- * Return buffer content in parentheses
- *
- * @return string content
- */
- public function to_smarty_php()
- {
- return sprintf("(%s)", $this->data);
- }
-
-}
-
-/**
- * Double quoted string inside a tag.
- *
- * @package Smarty
- * @subpackage Compiler
- * @ignore
- */
-class _smarty_doublequoted extends _smarty_parsetree {
-
- /**
- * Create parse tree buffer for double quoted string subtrees
- *
- * @param object $parser parser object
- * @param _smarty_parsetree $subtree parsetree buffer
- */
- public function __construct($parser, _smarty_parsetree $subtree)
- {
- $this->parser = $parser;
- $this->subtrees[] = $subtree;
- if ($subtree instanceof _smarty_tag) {
- $this->parser->block_nesting_level = count($this->parser->compiler->_tag_stack);
- }
- }
-
- /**
- * Append buffer to subtree
- *
- * @param _smarty_parsetree $subtree parsetree buffer
- */
- public function append_subtree(_smarty_parsetree $subtree)
- {
- $last_subtree = count($this->subtrees) - 1;
- if ($last_subtree >= 0 && $this->subtrees[$last_subtree] instanceof _smarty_tag && $this->subtrees[$last_subtree]->saved_block_nesting < $this->parser->block_nesting_level) {
- if ($subtree instanceof _smarty_code) {
- $this->subtrees[$last_subtree]->data .= '<?php echo ' . $subtree->data . ';?>';
- } elseif ($subtree instanceof _smarty_dq_content) {
- $this->subtrees[$last_subtree]->data .= '<?php echo "' . $subtree->data . '";?>';
- } else {
- $this->subtrees[$last_subtree]->data .= $subtree->data;
- }
- } else {
- $this->subtrees[] = $subtree;
- }
- if ($subtree instanceof _smarty_tag) {
- $this->parser->block_nesting_level = count($this->parser->compiler->_tag_stack);
- }
- }
-
- /**
- * Merge subtree buffer content together
- *
- * @return string compiled template code
- */
- public function to_smarty_php()
- {
- $code = '';
- foreach ($this->subtrees as $subtree) {
- if ($code !== "") {
- $code .= ".";
- }
- if ($subtree instanceof _smarty_tag) {
- $more_php = $subtree->assign_to_var();
- } else {
- $more_php = $subtree->to_smarty_php();
- }
-
- $code .= $more_php;
-
- if (!$subtree instanceof _smarty_dq_content) {
- $this->parser->compiler->has_variable_string = true;
- }
- }
- return $code;
- }
-
-}
-
-/**
- * Raw chars as part of a double quoted string.
- *
- * @package Smarty
- * @subpackage Compiler
- * @ignore
- */
-class _smarty_dq_content extends _smarty_parsetree {
-
-
- /**
- * Create parse tree buffer with string content
- *
- * @param object $parser parser object
- * @param string $data string section
- */
- public function __construct($parser, $data)
- {
- $this->parser = $parser;
- $this->data = $data;
- }
-
- /**
- * Return content as double quoted string
- *
- * @return string doubled quoted string
- */
- public function to_smarty_php()
- {
- return '"' . $this->data . '"';
- }
-
-}
-
-/**
- * Template element
- *
- * @package Smarty
- * @subpackage Compiler
- * @ignore
- */
-class _smarty_template_buffer extends _smarty_parsetree {
-
- /**
- * Array of template elements
- *
- * @var array
- */
- public $subtrees = Array();
-
- /**
- * Create root of parse tree for template elements
- *
- * @param object $parser parse object
- */
- public function __construct($parser)
- {
- $this->parser = $parser;
- }
-
- /**
- * Append buffer to subtree
- *
- * @param _smarty_parsetree $subtree
- */
- public function append_subtree(_smarty_parsetree $subtree)
- {
- $this->subtrees[] = $subtree;
- }
-
- /**
- * Sanitize and merge subtree buffers together
- *
- * @return string template code content
- */
- public function to_smarty_php()
- {
- $code = '';
- for ($key = 0, $cnt = count($this->subtrees); $key < $cnt; $key++) {
- if ($key + 2 < $cnt) {
- if ($this->subtrees[$key] instanceof _smarty_linebreak && $this->subtrees[$key + 1] instanceof _smarty_tag && $this->subtrees[$key + 1]->data == '' && $this->subtrees[$key + 2] instanceof _smarty_linebreak) {
- $key = $key + 1;
- continue;
- }
- if (substr($this->subtrees[$key]->data, -1) == '<' && $this->subtrees[$key + 1]->data == '' && substr($this->subtrees[$key + 2]->data, -1) == '?') {
- $key = $key + 2;
- continue;
- }
- }
- if (substr($code, -1) == '<') {
- $subtree = $this->subtrees[$key]->to_smarty_php();
- if (substr($subtree, 0, 1) == '?') {
- $code = substr($code, 0, strlen($code) - 1) . '<<?php ?>?' . substr($subtree, 1);
- } elseif ($this->parser->asp_tags && substr($subtree, 0, 1) == '%') {
- $code = substr($code, 0, strlen($code) - 1) . '<<?php ?>%' . substr($subtree, 1);
- } else {
- $code .= $subtree;
- }
- continue;
- }
- if ($this->parser->asp_tags && substr($code, -1) == '%') {
- $subtree = $this->subtrees[$key]->to_smarty_php();
- if (substr($subtree, 0, 1) == '>') {
- $code = substr($code, 0, strlen($code) - 1) . '%<?php ?>>' . substr($subtree, 1);
- } else {
- $code .= $subtree;
- }
- continue;
- }
- if (substr($code, -1) == '?') {
- $subtree = $this->subtrees[$key]->to_smarty_php();
- if (substr($subtree, 0, 1) == '>') {
- $code = substr($code, 0, strlen($code) - 1) . '?<?php ?>>' . substr($subtree, 1);
- } else {
- $code .= $subtree;
- }
- continue;
- }
- $code .= $this->subtrees[$key]->to_smarty_php();
- }
- return $code;
- }
-
-}
-
-/**
- * template text
- *
- * @package Smarty
- * @subpackage Compiler
- * @ignore
- */
-class _smarty_text extends _smarty_parsetree {
-
-
- /**
- * Create template text buffer
- *
- * @param object $parser parser object
- * @param string $data text
- */
- public function __construct($parser, $data)
- {
- $this->parser = $parser;
- $this->data = $data;
- }
-
- /**
- * Return buffer content
- *
- * @return strint text
- */
- public function to_smarty_php()
- {
- return $this->data;
- }
-
-}
-
-/**
- * template linebreaks
- *
- * @package Smarty
- * @subpackage Compiler
- * @ignore
- */
-class _smarty_linebreak extends _smarty_parsetree {
-
- /**
- * Create buffer with linebreak content
- *
- * @param object $parser parser object
- * @param string $data linebreak string
- */
- public function __construct($parser, $data)
- {
- $this->parser = $parser;
- $this->data = $data;
- }
-
- /**
- * Return linebrak
- *
- * @return string linebreak
- */
- public function to_smarty_php()
- {
- return $this->data;
- }
-
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty Internal Plugin Templateparser Parsetrees
+ * These are classes to build parsetrees in the template parser
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Thue Kristensen
+ * @author Uwe Tews
+ */
+
+/**
+ * @package Smarty
+ * @subpackage Compiler
+ * @ignore
+ */
+abstract class _smarty_parsetree
+{
+ /**
+ * Parser object
+ *
+ * @var object
+ */
+ public $parser;
+ /**
+ * Buffer content
+ *
+ * @var mixed
+ */
+ public $data;
+
+ /**
+ * Subtree array
+ *
+ * @var array
+ */
+ public $subtrees = array();
+
+ /**
+ * Return buffer
+ *
+ * @return string buffer content
+ */
+ abstract public function to_smarty_php();
+}
+
+/**
+ * A complete smarty tag.
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @ignore
+ */
+class _smarty_tag extends _smarty_parsetree
+{
+ /**
+ * Saved block nesting level
+ *
+ * @var int
+ */
+ public $saved_block_nesting;
+
+ /**
+ * Create parse tree buffer for Smarty tag
+ *
+ * @param object $parser parser object
+ * @param string $data content
+ */
+ public function __construct($parser, $data)
+ {
+ $this->parser = $parser;
+ $this->data = $data;
+ $this->saved_block_nesting = $parser->block_nesting_level;
+ }
+
+ /**
+ * Return buffer content
+ *
+ * @return string content
+ */
+ public function to_smarty_php()
+ {
+ return $this->data;
+ }
+
+ /**
+ * Return complied code that loads the evaluated output of buffer content into a temporary variable
+ *
+ * @return string template code
+ */
+ public function assign_to_var()
+ {
+ $var = sprintf('$_tmp%d', ++Smarty_Internal_Templateparser::$prefix_number);
+ $this->parser->compiler->prefix_code[] = sprintf("<?php ob_start();\n%s\n%s=ob_get_clean();?>", preg_replace(array('/^\s*<\?php\s+/','/\s*\?>\s*$/'), '', $this->data), $var);
+
+ return $var;
+ }
+}
+
+/**
+ * Code fragment inside a tag.
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @ignore
+ */
+class _smarty_code extends _smarty_parsetree
+{
+ /**
+ * Create parse tree buffer for code fragment
+ *
+ * @param object $parser parser object
+ * @param string $data content
+ */
+ public function __construct($parser, $data)
+ {
+ $this->parser = $parser;
+ $this->data = $data;
+ }
+
+ /**
+ * Return buffer content in parentheses
+ *
+ * @return string content
+ */
+ public function to_smarty_php()
+ {
+ return sprintf("(%s)", $this->data);
+ }
+}
+
+/**
+ * Double quoted string inside a tag.
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @ignore
+ */
+class _smarty_doublequoted extends _smarty_parsetree
+{
+ /**
+ * Create parse tree buffer for double quoted string subtrees
+ *
+ * @param object $parser parser object
+ * @param _smarty_parsetree $subtree parsetree buffer
+ */
+ public function __construct($parser, _smarty_parsetree $subtree)
+ {
+ $this->parser = $parser;
+ $this->subtrees[] = $subtree;
+ if ($subtree instanceof _smarty_tag) {
+ $this->parser->block_nesting_level = count($this->parser->compiler->_tag_stack);
+ }
+ }
+
+ /**
+ * Append buffer to subtree
+ *
+ * @param _smarty_parsetree $subtree parsetree buffer
+ */
+ public function append_subtree(_smarty_parsetree $subtree)
+ {
+ $last_subtree = count($this->subtrees) - 1;
+ if ($last_subtree >= 0 && $this->subtrees[$last_subtree] instanceof _smarty_tag && $this->subtrees[$last_subtree]->saved_block_nesting < $this->parser->block_nesting_level) {
+ if ($subtree instanceof _smarty_code) {
+ $this->subtrees[$last_subtree]->data .= '<?php echo ' . $subtree->data . ';?>';
+ } elseif ($subtree instanceof _smarty_dq_content) {
+ $this->subtrees[$last_subtree]->data .= '<?php echo "' . $subtree->data . '";?>';
+ } else {
+ $this->subtrees[$last_subtree]->data .= $subtree->data;
+ }
+ } else {
+ $this->subtrees[] = $subtree;
+ }
+ if ($subtree instanceof _smarty_tag) {
+ $this->parser->block_nesting_level = count($this->parser->compiler->_tag_stack);
+ }
+ }
+
+ /**
+ * Merge subtree buffer content together
+ *
+ * @return string compiled template code
+ */
+ public function to_smarty_php()
+ {
+ $code = '';
+ foreach ($this->subtrees as $subtree) {
+ if ($code !== "") {
+ $code .= ".";
+ }
+ if ($subtree instanceof _smarty_tag) {
+ $more_php = $subtree->assign_to_var();
+ } else {
+ $more_php = $subtree->to_smarty_php();
+ }
+
+ $code .= $more_php;
+
+ if (!$subtree instanceof _smarty_dq_content) {
+ $this->parser->compiler->has_variable_string = true;
+ }
+ }
+
+ return $code;
+ }
+}
+
+/**
+ * Raw chars as part of a double quoted string.
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @ignore
+ */
+class _smarty_dq_content extends _smarty_parsetree
+{
+ /**
+ * Create parse tree buffer with string content
+ *
+ * @param object $parser parser object
+ * @param string $data string section
+ */
+ public function __construct($parser, $data)
+ {
+ $this->parser = $parser;
+ $this->data = $data;
+ }
+
+ /**
+ * Return content as double quoted string
+ *
+ * @return string doubled quoted string
+ */
+ public function to_smarty_php()
+ {
+ return '"' . $this->data . '"';
+ }
+}
+
+/**
+ * Template element
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @ignore
+ */
+class _smarty_template_buffer extends _smarty_parsetree
+{
+ /**
+ * Array of template elements
+ *
+ * @var array
+ */
+ public $subtrees = Array();
+
+ /**
+ * Create root of parse tree for template elements
+ *
+ * @param object $parser parse object
+ */
+ public function __construct($parser)
+ {
+ $this->parser = $parser;
+ }
+
+ /**
+ * Append buffer to subtree
+ *
+ * @param _smarty_parsetree $subtree
+ */
+ public function append_subtree(_smarty_parsetree $subtree)
+ {
+ if ($subtree->data !== '') {
+ $this->subtrees[] = $subtree;
+ }
+ }
+
+ /**
+ * Sanitize and merge subtree buffers together
+ *
+ * @return string template code content
+ */
+ public function to_smarty_php()
+ {
+ $code = '';
+ for ($key = 0, $cnt = count($this->subtrees); $key < $cnt; $key ++) {
+ if ($this->subtrees[$key] instanceof _smarty_text) {
+ $subtree = $this->subtrees[$key]->to_smarty_php();
+ while ($key + 1 < $cnt && ($this->subtrees[$key+1] instanceof _smarty_text || $this->subtrees[$key +1]->data == '')) {
+ $key++;
+ if ($this->subtrees[$key]->data == '') {
+ continue;
+ }
+ $subtree .= $this->subtrees[$key]->to_smarty_php();
+ }
+ if ($subtree == '') {
+ continue;
+ }
+ $code .= preg_replace('/(<%|%>|<\?php|<\?|\?>|<\/?script)/', "<?php echo '\$1'; ?>\n", $subtree);
+ continue;
+ }
+ if ($this->subtrees[$key] instanceof _smarty_tag) {
+ $subtree = $this->subtrees[$key]->to_smarty_php();
+ while ($key + 1 < $cnt && ($this->subtrees[$key+1] instanceof _smarty_tag || $this->subtrees[$key +1]->data == '')) {
+ $key++;
+ if ($this->subtrees[$key]->data == '') {
+ continue;
+ }
+ $newCode = $this->subtrees[$key]->to_smarty_php();
+ if ((preg_match('/^\s*<\?php\s+/', $newCode) && preg_match('/\s*\?>\s*$/', $subtree))) {
+ $subtree = preg_replace('/\s*\?>\s*$/', "\n", $subtree);
+ $subtree .= preg_replace('/^\s*<\?php\s+/', '', $newCode);
+ } else {
+ $subtree .= $newCode;
+ }
+ }
+ if ($subtree == '') {
+ continue;
+ }
+ $code .= $subtree;
+ continue;
+ }
+ $code .= $this->subtrees[$key]->to_smarty_php();
+ }
+ return $code;
+ }
+
+}
+
+/**
+ * template text
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @ignore
+ */
+class _smarty_text extends _smarty_parsetree
+{
+ /**
+ * Create template text buffer
+ *
+ * @param object $parser parser object
+ * @param string $data text
+ */
+ public function __construct($parser, $data)
+ {
+ $this->parser = $parser;
+ $this->data = $data;
+ }
+
+ /**
+ * Return buffer content
+ *
+ * @return strint text
+ */
+ public function to_smarty_php()
+ {
+ return $this->data;
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_eval.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_eval.php
index cf2ec3e1c..1c64b7cf5 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_resource_eval.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_eval.php
@@ -1,94 +1,96 @@
-<?php
-/**
- * Smarty Internal Plugin Resource Eval
- *
- * @package Smarty
- * @subpackage TemplateResources
- * @author Uwe Tews
- * @author Rodney Rehm
- */
-
-/**
- * Smarty Internal Plugin Resource Eval
- *
- * Implements the strings as resource for Smarty template
- *
- * {@internal unlike string-resources the compiled state of eval-resources is NOT saved for subsequent access}}
- *
- * @package Smarty
- * @subpackage TemplateResources
- */
-class Smarty_Internal_Resource_Eval extends Smarty_Resource_Recompiled {
-
- /**
- * populate Source Object with meta data from Resource
- *
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
- * @return void
- */
- public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)
- {
- $source->uid = $source->filepath = sha1($source->name);
- $source->timestamp = false;
- $source->exists = true;
- }
-
- /**
- * Load template's source from $resource_name into current template object
- *
- * @uses decode() to decode base64 and urlencoded template_resources
- * @param Smarty_Template_Source $source source object
- * @return string template source
- */
- public function getContent(Smarty_Template_Source $source)
- {
- return $this->decode($source->name);
- }
-
- /**
- * decode base64 and urlencode
- *
- * @param string $string template_resource to decode
- * @return string decoded template_resource
- */
- protected function decode($string)
- {
- // decode if specified
- if (($pos = strpos($string, ':')) !== false) {
- if (!strncmp($string, 'base64', 6)) {
- return base64_decode(substr($string, 7));
- } elseif (!strncmp($string, 'urlencode', 9)) {
- return urldecode(substr($string, 10));
- }
- }
-
- return $string;
- }
-
- /**
- * modify resource_name according to resource handlers specifications
- *
- * @param Smarty $smarty Smarty instance
- * @param string $resource_name resource_name to make unique
- * @return string unique resource name
- */
- protected function buildUniqueResourceName(Smarty $smarty, $resource_name)
- {
- return get_class($this) . '#' .$this->decode($resource_name);
- }
-
- /**
- * Determine basename for compiled filename
- *
- * @param Smarty_Template_Source $source source object
- * @return string resource's basename
- */
- protected function getBasename(Smarty_Template_Source $source)
- {
- return '';
- }
-
-}
-
-?> \ No newline at end of file
+<?php
+/**
+ * Smarty Internal Plugin Resource Eval
+ *
+ * @package Smarty
+ * @subpackage TemplateResources
+ * @author Uwe Tews
+ * @author Rodney Rehm
+ */
+
+/**
+ * Smarty Internal Plugin Resource Eval
+ * Implements the strings as resource for Smarty template
+ * {@internal unlike string-resources the compiled state of eval-resources is NOT saved for subsequent access}}
+ *
+ * @package Smarty
+ * @subpackage TemplateResources
+ */
+class Smarty_Internal_Resource_Eval extends Smarty_Resource_Recompiled
+{
+ /**
+ * populate Source Object with meta data from Resource
+ *
+ * @param Smarty_Template_Source $source source object
+ * @param Smarty_Internal_Template $_template template object
+ *
+ * @return void
+ */
+ public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
+ {
+ $source->uid = $source->filepath = sha1($source->name);
+ $source->timestamp = false;
+ $source->exists = true;
+ }
+
+ /**
+ * Load template's source from $resource_name into current template object
+ *
+ * @uses decode() to decode base64 and urlencoded template_resources
+ *
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string template source
+ */
+ public function getContent(Smarty_Template_Source $source)
+ {
+ return $this->decode($source->name);
+ }
+
+ /**
+ * decode base64 and urlencode
+ *
+ * @param string $string template_resource to decode
+ *
+ * @return string decoded template_resource
+ */
+ protected function decode($string)
+ {
+ // decode if specified
+ if (($pos = strpos($string, ':')) !== false) {
+ if (!strncmp($string, 'base64', 6)) {
+ return base64_decode(substr($string, 7));
+ } elseif (!strncmp($string, 'urlencode', 9)) {
+ return urldecode(substr($string, 10));
+ }
+ }
+
+ return $string;
+ }
+
+ /**
+ * modify resource_name according to resource handlers specifications
+ *
+ * @param Smarty $smarty Smarty instance
+ * @param string $resource_name resource_name to make unique
+ * @param boolean $is_config flag for config resource
+ *
+ * @return string unique resource name
+ */
+ protected function buildUniqueResourceName(Smarty $smarty, $resource_name, $is_config = false)
+ {
+ return get_class($this) . '#' . $this->decode($resource_name);
+ }
+
+ /**
+ * Determine basename for compiled filename
+ *
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string resource's basename
+ */
+ protected function getBasename(Smarty_Template_Source $source)
+ {
+ return '';
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_extends.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_extends.php
index 9481d9922..c78dba512 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_resource_extends.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_extends.php
@@ -1,37 +1,38 @@
<?php
/**
-* Smarty Internal Plugin Resource Extends
-*
-* @package Smarty
-* @subpackage TemplateResources
-* @author Uwe Tews
-* @author Rodney Rehm
-*/
+ * Smarty Internal Plugin Resource Extends
+ *
+ * @package Smarty
+ * @subpackage TemplateResources
+ * @author Uwe Tews
+ * @author Rodney Rehm
+ */
/**
-* Smarty Internal Plugin Resource Extends
-*
-* Implements the file system as resource for Smarty which {extend}s a chain of template files templates
-*
-* @package Smarty
-* @subpackage TemplateResources
-*/
-class Smarty_Internal_Resource_Extends extends Smarty_Resource {
-
+ * Smarty Internal Plugin Resource Extends
+ * Implements the file system as resource for Smarty which {extend}s a chain of template files templates
+ *
+ * @package Smarty
+ * @subpackage TemplateResources
+ */
+class Smarty_Internal_Resource_Extends extends Smarty_Resource
+{
/**
- * mbstring.overload flag
- *
- * @var int
- */
+ * mbstring.overload flag
+ *
+ * @var int
+ */
public $mbstring_overload = 0;
/**
- * populate Source Object with meta data from Resource
- *
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
- */
- public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)
+ * populate Source Object with meta data from Resource
+ *
+ * @param Smarty_Template_Source $source source object
+ * @param Smarty_Internal_Template $_template template object
+ *
+ * @throws SmartyException
+ */
+ public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
{
$uid = '';
$sources = array();
@@ -43,7 +44,7 @@ class Smarty_Internal_Resource_Extends extends Smarty_Resource {
throw new SmartyException("Resource type {$s->type} cannot be used with the extends resource type");
}
$sources[$s->uid] = $s;
- $uid .= $s->filepath;
+ $uid .= realpath($s->filepath);
if ($_template && $_template->smarty->compile_check) {
$exists = $exists && $s->exists;
}
@@ -60,10 +61,10 @@ class Smarty_Internal_Resource_Extends extends Smarty_Resource {
}
/**
- * populate Source Object with timestamp and exists from Resource
- *
- * @param Smarty_Template_Source $source source object
- */
+ * populate Source Object with timestamp and exists from Resource
+ *
+ * @param Smarty_Template_Source $source source object
+ */
public function populateTimestamp(Smarty_Template_Source $source)
{
$source->exists = true;
@@ -74,84 +75,38 @@ class Smarty_Internal_Resource_Extends extends Smarty_Resource {
}
/**
- * Load template's source from files into current template object
- *
- * @param Smarty_Template_Source $source source object
- * @return string template source
- * @throws SmartyException if source cannot be loaded
- */
+ * Load template's source from files into current template object
+ *
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string template source
+ * @throws SmartyException if source cannot be loaded
+ */
public function getContent(Smarty_Template_Source $source)
{
if (!$source->exists) {
throw new SmartyException("Unable to read template {$source->type} '{$source->name}'");
}
- $this->mbstring_overload = ini_get('mbstring.func_overload') & 2;
- $_rdl = preg_quote($source->smarty->right_delimiter);
- $_ldl = preg_quote($source->smarty->left_delimiter);
$_components = array_reverse($source->components);
- $_first = reset($_components);
- $_last = end($_components);
+ $_content = '';
foreach ($_components as $_component) {
- // register dependency
- if ($_component != $_first) {
- $source->template->properties['file_dependency'][$_component->uid] = array($_component->filepath, $_component->timestamp, $_component->type);
- }
-
// read content
- $source->filepath = $_component->filepath;
- $_content = $_component->content;
-
- // extend sources
- if ($_component != $_last) {
- if (preg_match_all("!({$_ldl}block\s(.+?){$_rdl})!", $_content, $_open) !=
- preg_match_all("!({$_ldl}/block{$_rdl})!", $_content, $_close)) {
- throw new SmartyException("unmatched {block} {/block} pairs in template {$_component->type} '{$_component->name}'");
- }
- preg_match_all("!{$_ldl}block\s(.+?){$_rdl}|{$_ldl}/block{$_rdl}|{$_ldl}\*([\S\s]*?)\*{$_rdl}!", $_content, $_result, PREG_OFFSET_CAPTURE);
- $_result_count = count($_result[0]);
- $_start = 0;
- while ($_start+1 < $_result_count) {
- $_end = 0;
- $_level = 1;
- if (($this->mbstring_overload ? mb_substr($_result[0][$_start][0],0,mb_strlen($source->smarty->left_delimiter,'latin1')+1, 'latin1') : substr($_result[0][$_start][0],0,strlen($source->smarty->left_delimiter)+1)) == $source->smarty->left_delimiter.'*') {
- $_start++;
- continue;
- }
- while ($_level != 0) {
- $_end++;
- if (($this->mbstring_overload ? mb_substr($_result[0][$_start + $_end][0],0,mb_strlen($source->smarty->left_delimiter,'latin1')+1, 'latin1') : substr($_result[0][$_start + $_end][0],0,strlen($source->smarty->left_delimiter)+1)) == $source->smarty->left_delimiter.'*') {
- continue;
- }
- if (!strpos($_result[0][$_start + $_end][0], '/')) {
- $_level++;
- } else {
- $_level--;
- }
- }
- $_block_content = str_replace($source->smarty->left_delimiter . '$smarty.block.parent' . $source->smarty->right_delimiter, '%%%%SMARTY_PARENT%%%%',
- ($this->mbstring_overload ? mb_substr($_content, $_result[0][$_start][1] + mb_strlen($_result[0][$_start][0], 'latin1'), $_result[0][$_start + $_end][1] - $_result[0][$_start][1] - + mb_strlen($_result[0][$_start][0], 'latin1'), 'latin1') : substr($_content, $_result[0][$_start][1] + strlen($_result[0][$_start][0]), $_result[0][$_start + $_end][1] - $_result[0][$_start][1] - + strlen($_result[0][$_start][0]))));
- Smarty_Internal_Compile_Block::saveBlockData($_block_content, $_result[0][$_start][0], $source->template, $_component->filepath);
- $_start = $_start + $_end + 1;
- }
- } else {
- return $_content;
- }
+ $_content .= $_component->content;
}
+ return $_content;
}
/**
- * Determine basename for compiled filename
- *
- * @param Smarty_Template_Source $source source object
- * @return string resource's basename
- */
+ * Determine basename for compiled filename
+ *
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string resource's basename
+ */
public function getBasename(Smarty_Template_Source $source)
{
return str_replace(':', '.', basename($source->filepath));
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_file.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_file.php
index 48b391d20..0abdc4495 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_resource_file.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_file.php
@@ -2,29 +2,28 @@
/**
* Smarty Internal Plugin Resource File
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Uwe Tews
- * @author Rodney Rehm
+ * @author Uwe Tews
+ * @author Rodney Rehm
*/
/**
* Smarty Internal Plugin Resource File
- *
* Implements the file system as resource for Smarty templates
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
*/
-class Smarty_Internal_Resource_File extends Smarty_Resource {
-
+class Smarty_Internal_Resource_File extends Smarty_Resource
+{
/**
* populate Source Object with meta data from Resource
*
* @param Smarty_Template_Source $source source object
* @param Smarty_Internal_Template $_template template object
*/
- public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)
+ public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
{
$source->filepath = $this->buildFilepath($source, $_template);
@@ -33,7 +32,7 @@ class Smarty_Internal_Resource_File extends Smarty_Resource {
$source->smarty->security_policy->isTrustedResourceDir($source->filepath);
}
- $source->uid = sha1($source->filepath);
+ $source->uid = sha1(realpath($source->filepath));
if ($source->smarty->compile_check && !isset($source->timestamp)) {
$source->timestamp = @filemtime($source->filepath);
$source->exists = !!$source->timestamp;
@@ -55,9 +54,10 @@ class Smarty_Internal_Resource_File extends Smarty_Resource {
/**
* Load template's source from file into current template object
*
- * @param Smarty_Template_Source $source source object
- * @return string template source
- * @throws SmartyException if source cannot be loaded
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string template source
+ * @throws SmartyException if source cannot be loaded
*/
public function getContent(Smarty_Template_Source $source)
{
@@ -73,8 +73,9 @@ class Smarty_Internal_Resource_File extends Smarty_Resource {
/**
* Determine basename for compiled filename
*
- * @param Smarty_Template_Source $source source object
- * @return string resource's basename
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string resource's basename
*/
public function getBasename(Smarty_Template_Source $source)
{
@@ -82,9 +83,7 @@ class Smarty_Internal_Resource_File extends Smarty_Resource {
if (($_pos = strpos($_file, ']')) !== false) {
$_file = substr($_file, $_pos + 1);
}
+
return basename($_file);
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_php.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_php.php
index 7cd8baeec..7463c2960 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_resource_php.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_php.php
@@ -2,38 +2,40 @@
/**
* Smarty Internal Plugin Resource PHP
- *
* Implements the file system as resource for PHP templates
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Uwe Tews
- * @author Rodney Rehm
+ * @author Uwe Tews
+ * @author Rodney Rehm
*/
-class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
+class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled
+{
/**
* container for short_open_tag directive's value before executing PHP templates
+ *
* @var string
*/
protected $short_open_tag;
/**
* Create a new PHP Resource
- *
+
*/
public function __construct()
{
- $this->short_open_tag = ini_get( 'short_open_tag' );
+ $this->short_open_tag = ini_get('short_open_tag');
}
/**
* populate Source Object with meta data from Resource
*
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Source $source source object
+ * @param Smarty_Internal_Template $_template template object
+ *
* @return void
*/
- public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)
+ public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
{
$source->filepath = $this->buildFilepath($source, $_template);
@@ -53,7 +55,8 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
/**
* populate Source Object with timestamp and exists from Resource
*
- * @param Smarty_Template_Source $source source object
+ * @param Smarty_Template_Source $source source object
+ *
* @return void
*/
public function populateTimestamp(Smarty_Template_Source $source)
@@ -65,9 +68,10 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
/**
* Load template's source from file into current template object
*
- * @param Smarty_Template_Source $source source object
- * @return string template source
- * @throws SmartyException if source cannot be loaded
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string template source
+ * @throws SmartyException if source cannot be loaded
*/
public function getContent(Smarty_Template_Source $source)
{
@@ -80,15 +84,14 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
/**
* Render and output the template (without using the compiler)
*
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Source $source source object
+ * @param Smarty_Internal_Template $_template template object
+ *
* @return void
- * @throws SmartyException if template cannot be loaded or allow_php_templates is disabled
+ * @throws SmartyException if template cannot be loaded or allow_php_templates is disabled
*/
public function renderUncompiled(Smarty_Template_Source $source, Smarty_Internal_Template $_template)
{
- $_smarty_template = $_template;
-
if (!$source->smarty->allow_php_templates) {
throw new SmartyException("PHP templates are disabled");
}
@@ -105,10 +108,12 @@ class Smarty_Internal_Resource_PHP extends Smarty_Resource_Uncompiled {
extract($_template->getTemplateVars());
// include PHP template with short open tags enabled
- ini_set( 'short_open_tag', '1' );
+ ini_set('short_open_tag', '1');
+ /** @var Smarty_Internal_Template $_smarty_template
+ * used in included file
+ */
+ $_smarty_template = $_template;
include($source->filepath);
- ini_set( 'short_open_tag', $this->short_open_tag );
+ ini_set('short_open_tag', $this->short_open_tag);
}
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_registered.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_registered.php
index 44497b922..f12d843e1 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_resource_registered.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_registered.php
@@ -2,31 +2,31 @@
/**
* Smarty Internal Plugin Resource Registered
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Uwe Tews
- * @author Rodney Rehm
+ * @author Uwe Tews
+ * @author Rodney Rehm
*/
/**
* Smarty Internal Plugin Resource Registered
- *
* Implements the registered resource for Smarty template
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
* @deprecated
*/
-class Smarty_Internal_Resource_Registered extends Smarty_Resource {
-
+class Smarty_Internal_Resource_Registered extends Smarty_Resource
+{
/**
* populate Source Object with meta data from Resource
*
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Source $source source object
+ * @param Smarty_Internal_Template $_template template object
+ *
* @return void
*/
- public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)
+ public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
{
$source->filepath = $source->type . ':' . $source->name;
$source->uid = sha1($source->filepath);
@@ -39,7 +39,8 @@ class Smarty_Internal_Resource_Registered extends Smarty_Resource {
/**
* populate Source Object with timestamp and exists from Resource
*
- * @param Smarty_Template_Source $source source object
+ * @param Smarty_Template_Source $source source object
+ *
* @return void
*/
public function populateTimestamp(Smarty_Template_Source $source)
@@ -51,23 +52,26 @@ class Smarty_Internal_Resource_Registered extends Smarty_Resource {
/**
* Get timestamp (epoch) the template source was modified
*
- * @param Smarty_Template_Source $source source object
- * @return integer|boolean timestamp (epoch) the template was modified, false if resources has no timestamp
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return integer|boolean timestamp (epoch) the template was modified, false if resources has no timestamp
*/
public function getTemplateTimestamp(Smarty_Template_Source $source)
{
// return timestamp
$time_stamp = false;
call_user_func_array($source->smarty->registered_resources[$source->type][0][1], array($source->name, &$time_stamp, $source->smarty));
+
return is_numeric($time_stamp) ? (int) $time_stamp : $time_stamp;
}
/**
* Load template's source by invoking the registered callback into current template object
*
- * @param Smarty_Template_Source $source source object
- * @return string template source
- * @throws SmartyException if source cannot be loaded
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string template source
+ * @throws SmartyException if source cannot be loaded
*/
public function getContent(Smarty_Template_Source $source)
{
@@ -76,20 +80,19 @@ class Smarty_Internal_Resource_Registered extends Smarty_Resource {
if (is_bool($t) && !$t) {
throw new SmartyException("Unable to read template {$source->type} '{$source->name}'");
}
+
return $source->content;
}
/**
* Determine basename for compiled filename
*
- * @param Smarty_Template_Source $source source object
- * @return string resource's basename
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string resource's basename
*/
protected function getBasename(Smarty_Template_Source $source)
{
return basename($source->name);
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_stream.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_stream.php
index 85698c232..f7d1aac31 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_resource_stream.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_stream.php
@@ -1,36 +1,39 @@
<?php
/**
* Smarty Internal Plugin Resource Stream
- *
* Implements the streams as resource for Smarty template
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Uwe Tews
- * @author Rodney Rehm
+ * @author Uwe Tews
+ * @author Rodney Rehm
*/
/**
* Smarty Internal Plugin Resource Stream
- *
* Implements the streams as resource for Smarty template
*
- * @link http://php.net/streams
- * @package Smarty
+ * @link http://php.net/streams
+ * @package Smarty
* @subpackage TemplateResources
*/
-class Smarty_Internal_Resource_Stream extends Smarty_Resource_Recompiled {
-
+class Smarty_Internal_Resource_Stream extends Smarty_Resource_Recompiled
+{
/**
* populate Source Object with meta data from Resource
*
* @param Smarty_Template_Source $source source object
* @param Smarty_Internal_Template $_template template object
+ *
* @return void
*/
- public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)
+ public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
{
- $source->filepath = str_replace(':', '://', $source->resource);
+ if (strpos($source->resource, '://') !== false) {
+ $source->filepath = $source->resource;
+ } else {
+ $source->filepath = str_replace(':', '://', $source->resource);
+ }
$source->uid = false;
$source->content = $this->getContent($source);
$source->timestamp = false;
@@ -41,6 +44,7 @@ class Smarty_Internal_Resource_Stream extends Smarty_Resource_Recompiled {
* Load template's source from stream into current template object
*
* @param Smarty_Template_Source $source source object
+ *
* @return string template source
* @throws SmartyException if source cannot be loaded
*/
@@ -54,23 +58,24 @@ class Smarty_Internal_Resource_Stream extends Smarty_Resource_Recompiled {
$t .= $current_line;
}
fclose($fp);
+
return $t;
} else {
return false;
}
}
-
+
/**
* modify resource_name according to resource handlers specifications
*
- * @param Smarty $smarty Smarty instance
- * @param string $resource_name resource_name to make unique
+ * @param Smarty $smarty Smarty instance
+ * @param string $resource_name resource_name to make unique
+ * @param boolean $is_config flag for config resource
+ *
* @return string unique resource name
*/
- protected function buildUniqueResourceName(Smarty $smarty, $resource_name)
+ protected function buildUniqueResourceName(Smarty $smarty, $resource_name, $is_config = false)
{
return get_class($this) . '#' . $resource_name;
}
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_resource_string.php b/library/Smarty/libs/sysplugins/smarty_internal_resource_string.php
index 9571337b0..bfa069974 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_resource_string.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_resource_string.php
@@ -2,32 +2,31 @@
/**
* Smarty Internal Plugin Resource String
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Uwe Tews
- * @author Rodney Rehm
+ * @author Uwe Tews
+ * @author Rodney Rehm
*/
/**
* Smarty Internal Plugin Resource String
- *
* Implements the strings as resource for Smarty template
- *
* {@internal unlike eval-resources the compiled state of string-resources is saved for subsequent access}}
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
*/
-class Smarty_Internal_Resource_String extends Smarty_Resource {
-
+class Smarty_Internal_Resource_String extends Smarty_Resource
+{
/**
* populate Source Object with meta data from Resource
*
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Source $source source object
+ * @param Smarty_Internal_Template $_template template object
+ *
* @return void
*/
- public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)
+ public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
{
$source->uid = $source->filepath = sha1($source->name);
$source->timestamp = 0;
@@ -38,18 +37,21 @@ class Smarty_Internal_Resource_String extends Smarty_Resource {
* Load template's source from $resource_name into current template object
*
* @uses decode() to decode base64 and urlencoded template_resources
- * @param Smarty_Template_Source $source source object
- * @return string template source
+ *
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string template source
*/
public function getContent(Smarty_Template_Source $source)
{
return $this->decode($source->name);
}
-
+
/**
* decode base64 and urlencode
*
- * @param string $string template_resource to decode
+ * @param string $string template_resource to decode
+ *
* @return string decoded template_resource
*/
protected function decode($string)
@@ -62,35 +64,34 @@ class Smarty_Internal_Resource_String extends Smarty_Resource {
return urldecode(substr($string, 10));
}
}
-
+
return $string;
}
-
+
/**
* modify resource_name according to resource handlers specifications
*
- * @param Smarty $smarty Smarty instance
- * @param string $resource_name resource_name to make unique
+ * @param Smarty $smarty Smarty instance
+ * @param string $resource_name resource_name to make unique
+ * @param boolean $is_config flag for config resource
+ *
* @return string unique resource name
*/
- protected function buildUniqueResourceName(Smarty $smarty, $resource_name)
+ protected function buildUniqueResourceName(Smarty $smarty, $resource_name, $is_config = false)
{
- return get_class($this) . '#' .$this->decode($resource_name);
+ return get_class($this) . '#' . $this->decode($resource_name);
}
/**
* Determine basename for compiled filename
- *
* Always returns an empty string.
*
- * @param Smarty_Template_Source $source source object
- * @return string resource's basename
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string resource's basename
*/
protected function getBasename(Smarty_Template_Source $source)
{
return '';
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php b/library/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php
index 1ec1aa430..50bd16ef2 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php
@@ -1,27 +1,26 @@
<?php
/**
* Smarty Internal Plugin Smarty Template Compiler Base
+ * This file contains the basic classes and methods for compiling Smarty templates with lexer/parser
*
- * This file contains the basic classes and methodes for compiling Smarty templates with lexer/parser
- *
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* @ignore
*/
-include ("smarty_internal_parsetree.php");
+include 'smarty_internal_parsetree.php';
/**
* Class SmartyTemplateCompiler
*
- * @package Smarty
+ * @package Smarty
* @subpackage Compiler
*/
-class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCompilerBase {
-
+class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCompilerBase
+{
/**
* Lexer class name
*
@@ -81,10 +80,11 @@ class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCom
}
/**
- * Methode to compile a Smarty template
+ * method to compile a Smarty template
*
* @param mixed $_content template source
- * @return bool true if compiling succeeded, false if it failed
+ *
+ * @return bool true if compiling succeeded, false if it failed
*/
protected function doCompile($_content)
{
@@ -94,8 +94,21 @@ class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCom
// init the lexer/parser to compile the template
$this->lex = new $this->lexer_class($_content, $this);
$this->parser = new $this->parser_class($this->lex, $this);
- if ($this->smarty->_parserdebug)
+ if ($this->inheritance_child) {
+ // start state on child templates
+ $this->lex->yypushstate(Smarty_Internal_Templatelexer::CHILDBODY);
+ }
+ if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) {
+ $mbEncoding = mb_internal_encoding();
+ mb_internal_encoding('ASCII');
+ } else {
+ $mbEncoding = null;
+ }
+
+ if ($this->smarty->_parserdebug) {
$this->parser->PrintTrace();
+ $this->lex->PrintTrace();
+ }
// get tokens from lexer and parse them
while ($this->lex->yylex() && !$this->abort_and_recompile) {
if ($this->smarty->_parserdebug) {
@@ -111,17 +124,17 @@ class Smarty_Internal_SmartyTemplateCompiler extends Smarty_Internal_TemplateCom
}
// finish parsing process
$this->parser->doParse(0, 0);
+ if ($mbEncoding) {
+ mb_internal_encoding($mbEncoding);
+ }
// check for unclosed tags
if (count($this->_tag_stack) > 0) {
// get stacked info
list($openTag, $_data) = array_pop($this->_tag_stack);
- $this->trigger_template_error("unclosed {" . $openTag . "} tag");
+ $this->trigger_template_error("unclosed {$this->smarty->left_delimiter}" . $openTag . "{$this->smarty->right_delimiter} tag");
}
// return compiled code
// return str_replace(array("? >\n<?php","? ><?php"), array('',''), $this->parser->retvalue);
return $this->parser->retvalue;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_template.php b/library/Smarty/libs/sysplugins/smarty_internal_template.php
index de9d54cf6..f1a73a4ae 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_template.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_template.php
@@ -1,28 +1,27 @@
<?php
/**
* Smarty Internal Plugin Template
- *
* This file contains the Smarty template engine
*
- * @package Smarty
+ * @package Smarty
* @subpackage Template
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
* Main class with template data structures and methods
*
- * @package Smarty
+ * @package Smarty
* @subpackage Template
- *
* @property Smarty_Template_Source $source
* @property Smarty_Template_Compiled $compiled
* @property Smarty_Template_Cached $cached
*/
-class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
-
+class Smarty_Internal_Template extends Smarty_Internal_TemplateBase
+{
/**
* cache_id
+ *
* @var string
*/
public $cache_id = null;
@@ -33,95 +32,108 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
public $compile_id = null;
/**
* caching enabled
+ *
* @var boolean
*/
public $caching = null;
/**
* cache lifetime in seconds
+ *
* @var integer
*/
public $cache_lifetime = null;
/**
* Template resource
+ *
* @var string
*/
public $template_resource = null;
/**
* flag if compiled template is invalid and must be (re)compiled
+ *
* @var bool
*/
public $mustCompile = null;
/**
* flag if template does contain nocache code sections
+ *
* @var bool
*/
public $has_nocache_code = false;
/**
* special compiled and cached template properties
+ *
* @var array
*/
public $properties = array('file_dependency' => array(),
- 'nocache_hash' => '',
- 'function' => array());
+ 'nocache_hash' => '',
+ 'function' => array());
/**
* required plugins
+ *
* @var array
*/
public $required_plugins = array('compiled' => array(), 'nocache' => array());
/**
* Global smarty instance
+ *
* @var Smarty
*/
public $smarty = null;
/**
* blocks for template inheritance
+ *
* @var array
*/
public $block_data = array();
/**
* variable filters
+ *
* @var array
*/
public $variable_filters = array();
/**
* optional log of tag/attributes
+ *
* @var array
*/
public $used_tags = array();
/**
* internal flag to allow relative path in child template blocks
+ *
* @var bool
*/
public $allow_relative_path = false;
/**
* internal capture runtime stack
+ *
* @var array
*/
public $_capture_stack = array(0 => array());
/**
* Create template data object
- *
* Some of the global Smarty settings copied to template scope
* It load the required template resources and cacher plugins
*
* @param string $template_resource template resource string
* @param Smarty $smarty Smarty instance
* @param Smarty_Internal_Template $_parent back pointer to parent object with variables or null
- * @param mixed $_cache_id cache id or null
+ * @param mixed $_cache_id cache id or null
* @param mixed $_compile_id compile id or null
* @param bool $_caching use caching?
* @param int $_cache_lifetime cache life-time in seconds
*/
public function __construct($template_resource, $smarty, $_parent = null, $_cache_id = null, $_compile_id = null, $_caching = null, $_cache_lifetime = null)
{
- $this->smarty = &$smarty;
+ $this->smarty = & $smarty;
// Smarty parameter
$this->cache_id = $_cache_id === null ? $this->smarty->cache_id : $_cache_id;
$this->compile_id = $_compile_id === null ? $this->smarty->compile_id : $_compile_id;
$this->caching = $_caching === null ? $this->smarty->caching : $_caching;
- if ($this->caching === true)
+ if ($this->caching === true) {
$this->caching = Smarty::CACHING_LIFETIME_CURRENT;
+ }
$this->cache_lifetime = $_cache_lifetime === null ? $this->smarty->cache_lifetime : $_cache_lifetime;
$this->parent = $_parent;
// Template resource
@@ -134,9 +146,9 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
/**
* Returns if the current template must be compiled by the Smarty compiler
- *
* It does compare the timestamps of template source and the compiled templates and checks the force compile configuration
*
+ * @throws SmartyException
* @return boolean true if the template must be compiled
*/
public function mustCompile()
@@ -153,12 +165,12 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
$this->mustCompile = (!$this->source->uncompiled && ($this->smarty->force_compile || $this->source->recompiled || $this->compiled->timestamp === false ||
($this->smarty->compile_check && $this->compiled->timestamp < $this->source->timestamp)));
}
+
return $this->mustCompile;
}
/**
* Compiles the template
- *
* If the template is not evaluated the compiled template is saved on disk
*/
public function compileTemplateSource()
@@ -166,16 +178,14 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
if (!$this->source->recompiled) {
$this->properties['file_dependency'] = array();
if ($this->source->components) {
+ // for the extends resource the compiler will fill it
// uses real resource for file dependency
- $source = end($this->source->components);
- $this->properties['file_dependency'][$this->source->uid] = array($this->source->filepath, $this->source->timestamp, $source->type);
+ // $source = end($this->source->components);
+ // $this->properties['file_dependency'][$this->source->uid] = array($this->source->filepath, $this->source->timestamp, $source->type);
} else {
$this->properties['file_dependency'][$this->source->uid] = array($this->source->filepath, $this->source->timestamp, $this->source->type);
}
}
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::start_compile($this);
- }
// compile locking
if ($this->smarty->compile_locking && !$this->source->recompiled) {
if ($saved_timestamp = $this->compiled->timestamp) {
@@ -185,7 +195,8 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
// call compiler
try {
$code = $this->compiler->compileTemplate($this);
- } catch (Exception $e) {
+ }
+ catch (Exception $e) {
// restore old timestamp in case of error
if ($this->smarty->compile_locking && !$this->source->recompiled && $saved_timestamp) {
touch($this->compiled->filepath, $saved_timestamp);
@@ -196,15 +207,13 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
if (!$this->source->recompiled && $this->compiler->write_compiled_code) {
// write compiled template
$_filepath = $this->compiled->filepath;
- if ($_filepath === false)
+ if ($_filepath === false) {
throw new SmartyException('getCompiledFilepath() did not return a destination to save the compiled template to');
+ }
Smarty_Internal_Write_File::writeFile($_filepath, $code, $this->smarty);
$this->compiled->exists = true;
$this->compiled->isCompiled = true;
}
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::end_compile($this);
- }
// release compiler object to free memory
unset($this->compiler);
}
@@ -212,6 +221,8 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
/**
* Writes the cached template output
*
+ * @param string $content
+ *
* @return bool
*/
public function writeCachedContent($content)
@@ -220,13 +231,18 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
// don't write cache file
return false;
}
+ $this->cached->timestamp = time();
$this->properties['cache_lifetime'] = $this->cache_lifetime;
- $this->properties['unifunc'] = 'content_' . str_replace('.', '_', uniqid('', true));
+ $this->properties['unifunc'] = 'content_' . str_replace(array('.', ','), '_', uniqid('', true));
$content = $this->createTemplateCodeFrame($content, true);
+ /** @var Smarty_Internal_Template $_smarty_tpl
+ * used in evaluated code
+ */
$_smarty_tpl = $this;
eval("?>" . $content);
$this->cached->valid = true;
$this->cached->processed = true;
+
return $this->cached->write($this, $content);
}
@@ -238,15 +254,16 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
* @param mixed $compile_id compile id to be used with this template
* @param integer $caching cache mode
* @param integer $cache_lifetime life time of cache data
- * @param array $vars optional variables to assign
+ * @param $data
* @param int $parent_scope scope in which {include} should execute
+ *
* @returns string template content
*/
public function getSubTemplate($template, $cache_id, $compile_id, $caching, $cache_lifetime, $data, $parent_scope)
{
// already in template cache?
if ($this->smarty->allow_ambiguous_resources) {
- $_templateId = Smarty_Resource::getUniqueTemplateName($this->smarty, $template) . $cache_id . $compile_id;
+ $_templateId = Smarty_Resource::getUniqueTemplateName($this, $template) . $cache_id . $compile_id;
} else {
$_templateId = $this->smarty->joined_template_dir . '#' . $template . $cache_id . $compile_id;
}
@@ -268,13 +285,13 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
$tpl->tpl_vars = $this->tpl_vars;
$tpl->tpl_vars['smarty'] = clone $this->tpl_vars['smarty'];
} elseif ($parent_scope == Smarty::SCOPE_PARENT) {
- $tpl->tpl_vars = &$this->tpl_vars;
+ $tpl->tpl_vars = & $this->tpl_vars;
} elseif ($parent_scope == Smarty::SCOPE_GLOBAL) {
- $tpl->tpl_vars = &Smarty::$global_tpl_vars;
+ $tpl->tpl_vars = & Smarty::$global_tpl_vars;
} elseif (($scope_ptr = $this->getScopePointer($parent_scope)) == null) {
- $tpl->tpl_vars = &$this->tpl_vars;
+ $tpl->tpl_vars = & $this->tpl_vars;
} else {
- $tpl->tpl_vars = &$scope_ptr->tpl_vars;
+ $tpl->tpl_vars = & $scope_ptr->tpl_vars;
}
$tpl->config_vars = $this->config_vars;
if (!empty($data)) {
@@ -283,6 +300,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
$tpl->tpl_vars[$_key] = new Smarty_variable($_val);
}
}
+
return $tpl->fetch(null, null, null, null, false, false, true);
}
@@ -294,27 +312,28 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
* @param mixed $compile_id compile id to be used with this template
* @param integer $caching cache mode
* @param integer $cache_lifetime life time of cache data
- * @param array $vars optional variables to assign
+ * @param $data
* @param int $parent_scope scope in which {include} should execute
* @param string $hash nocache hash code
+ *
* @returns string template content
*/
public function setupInlineSubTemplate($template, $cache_id, $compile_id, $caching, $cache_lifetime, $data, $parent_scope, $hash)
{
$tpl = new $this->smarty->template_class($template, $this->smarty, $this, $cache_id, $compile_id, $caching, $cache_lifetime);
- $tpl->properties['nocache_hash'] = $hash;
+ $tpl->properties['nocache_hash'] = $hash;
// get variables from calling scope
- if ($parent_scope == Smarty::SCOPE_LOCAL ) {
+ if ($parent_scope == Smarty::SCOPE_LOCAL) {
$tpl->tpl_vars = $this->tpl_vars;
$tpl->tpl_vars['smarty'] = clone $this->tpl_vars['smarty'];
} elseif ($parent_scope == Smarty::SCOPE_PARENT) {
- $tpl->tpl_vars = &$this->tpl_vars;
+ $tpl->tpl_vars = & $this->tpl_vars;
} elseif ($parent_scope == Smarty::SCOPE_GLOBAL) {
- $tpl->tpl_vars = &Smarty::$global_tpl_vars;
+ $tpl->tpl_vars = & Smarty::$global_tpl_vars;
} elseif (($scope_ptr = $this->getScopePointer($parent_scope)) == null) {
- $tpl->tpl_vars = &$this->tpl_vars;
+ $tpl->tpl_vars = & $this->tpl_vars;
} else {
- $tpl->tpl_vars = &$scope_ptr->tpl_vars;
+ $tpl->tpl_vars = & $scope_ptr->tpl_vars;
}
$tpl->config_vars = $this->config_vars;
if (!empty($data)) {
@@ -323,15 +342,16 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
$tpl->tpl_vars[$_key] = new Smarty_variable($_val);
}
}
+
return $tpl;
}
-
/**
* Create code frame for compiled and cached templates
*
- * @param string $content optional template content
- * @param bool $cache flag for cache file
+ * @param string $content optional template content
+ * @param bool $cache flag for cache file
+ *
* @return string
*/
public function createTemplateCodeFrame($content = '', $cache = false)
@@ -344,7 +364,11 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
foreach ($this->required_plugins['compiled'] as $tmp) {
foreach ($tmp as $data) {
$file = addslashes($data['file']);
- $plugins_string .= "if (!is_callable('{$data['function']}')) include '{$file}';\n";
+ if (is_Array($data['function'])) {
+ $plugins_string .= "if (!is_callable(array('{$data['function'][0]}','{$data['function'][1]}'))) include '{$file}';\n";
+ } else {
+ $plugins_string .= "if (!is_callable('{$data['function']}')) include '{$file}';\n";
+ }
}
}
$plugins_string .= '?>';
@@ -355,7 +379,11 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
foreach ($this->required_plugins['nocache'] as $tmp) {
foreach ($tmp as $data) {
$file = addslashes($data['file']);
- $plugins_string .= addslashes("if (!is_callable('{$data['function']}')) include '{$file}';\n");
+ if (is_Array($data['function'])) {
+ $plugins_string .= addslashes("if (!is_callable(array('{$data['function'][0]}','{$data['function'][1]}'))) include '{$file}';\n");
+ } else {
+ $plugins_string .= addslashes("if (!is_callable('{$data['function']}')) include '{$file}';\n");
+ }
}
}
$plugins_string .= "?>/*/%%SmartyNocache:{$this->properties['nocache_hash']}%%*/';?>\n";
@@ -382,7 +410,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
}
}
}
- foreach ($this->smarty->template_functions as $name => $function_data) {
+ foreach ($this->smarty->template_functions as $name => $function_data) {
if (isset($function_data['called_nocache'])) {
unset($function_data['called_nocache'], $function_data['called_functions'], $this->smarty->template_functions[$name]['called_nocache']);
$this->properties['function'][$name] = $function_data;
@@ -392,7 +420,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
}
$this->properties['version'] = Smarty::SMARTY_VERSION;
if (!isset($this->properties['unifunc'])) {
- $this->properties['unifunc'] = 'content_' . str_replace('.', '_', uniqid('', true));
+ $this->properties['unifunc'] = 'content_' . str_replace(array('.', ','), '_', uniqid('', true));
}
if (!$this->source->recompiled) {
$output .= "\$_valid = \$_smarty_tpl->decodeProperties(" . var_export($this->properties, true) . ',' . ($cache ? 'true' : 'false') . "); /*/%%SmartyHeaderCode%%*/?>\n";
@@ -401,20 +429,21 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
$output .= $plugins_string;
$output .= $content;
if (!$this->source->recompiled) {
- $output .= '<?php }} ?>';
+ $output .= "<?php }} ?>\n";
}
+
return $output;
}
/**
* This function is executed automatically when a compiled or cached template file is included
- *
* - Decode saved properties from compiled template and cache files
* - Check if compiled or cache file is valid
*
- * @param array $properties special template properties
- * @param bool $cache flag if called from cache file
- * @return bool flag if compiled or cache file is valid
+ * @param array $properties special template properties
+ * @param bool $cache flag if called from cache file
+ *
+ * @return bool flag if compiled or cache file is valid
*/
public function decodeProperties($properties, $cache = false)
{
@@ -436,7 +465,7 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
$is_valid = true;
if ($this->properties['version'] != Smarty::SMARTY_VERSION) {
$is_valid = false;
- } else if (((!$cache && $this->smarty->compile_check && empty($this->compiled->_properties) && !$this->compiled->isCompiled) || $cache && ($this->smarty->compile_check === true || $this->smarty->compile_check === Smarty::COMPILECHECK_ON)) && !empty($this->properties['file_dependency'])) {
+ } elseif (((!$cache && $this->smarty->compile_check && empty($this->compiled->_properties) && !$this->compiled->isCompiled) || $cache && ($this->smarty->compile_check === true || $this->smarty->compile_check === Smarty::COMPILECHECK_ON)) && !empty($this->properties['file_dependency'])) {
foreach ($this->properties['file_dependency'] as $_file_to_check) {
if ($_file_to_check[2] == 'file' || $_file_to_check[2] == 'php') {
if ($this->source->filepath == $_file_to_check[0] && isset($this->source->timestamp)) {
@@ -459,6 +488,13 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
}
}
if ($cache) {
+ // CACHING_LIFETIME_SAVED cache expiry has to be validated here since otherwise we'd define the unifunc
+ if ($this->caching === Smarty::CACHING_LIFETIME_SAVED &&
+ $this->properties['cache_lifetime'] >= 0 &&
+ (time() > ($this->cached->timestamp + $this->properties['cache_lifetime']))
+ ) {
+ $is_valid = false;
+ }
$this->cached->valid = $is_valid;
} else {
$this->mustCompile = !$is_valid;
@@ -467,15 +503,16 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
if (!$cache) {
$this->compiled->_properties = $properties;
}
+
return $is_valid;
}
/**
* Template code runtime function to create a local Smarty variable for array assignments
*
- * @param string $tpl_var tempate variable name
- * @param bool $nocache cache mode of variable
- * @param int $scope scope of variable
+ * @param string $tpl_var tempate variable name
+ * @param bool $nocache cache mode of variable
+ * @param int $scope scope of variable
*/
public function createLocalArrayVariable($tpl_var, $nocache = false, $scope = Smarty::SCOPE_LOCAL)
{
@@ -495,8 +532,9 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
/**
* Template code runtime function to get pointer to template variable array of requested scope
*
- * @param int $scope requested variable scope
- * @return array array of template variables
+ * @param int $scope requested variable scope
+ *
+ * @return array array of template variables
*/
public function &getScope($scope)
{
@@ -507,18 +545,21 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
while (!empty($ptr->parent)) {
$ptr = $ptr->parent;
}
+
return $ptr->tpl_vars;
} elseif ($scope == Smarty::SCOPE_GLOBAL) {
return Smarty::$global_tpl_vars;
}
$null = null;
+
return $null;
}
/**
* Get parent or root of template parent chain
*
- * @param int $scope pqrent or root scope
+ * @param int $scope pqrent or root scope
+ *
* @return mixed object
*/
public function getScopePointer($scope)
@@ -530,16 +571,19 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
while (!empty($ptr->parent)) {
$ptr = $ptr->parent;
}
+
return $ptr;
}
+
return null;
}
/**
* [util function] counts an array, arrayaccess/traversable or PDOStatement object
*
- * @param mixed $value
- * @return int the count for arrays and objects that implement countable, 1 for other objects that don't, and 0 for empty elements
+ * @param mixed $value
+ *
+ * @return int the count for arrays and objects that implement countable, 1 for other objects that don't, and 0 for empty elements
*/
public function _count($value)
{
@@ -562,12 +606,13 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
} elseif (is_object($value)) {
return count($value);
}
+
return 0;
}
/**
* runtime error not matching capture tags
- *
+
*/
public function capture_error()
{
@@ -575,22 +620,26 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
}
/**
- * Empty cache for this template
- *
- * @param integer $exp_time expiration time
- * @return integer number of cache files deleted
- */
- public function clearCache($exp_time=null)
+ * Empty cache for this template
+ *
+ * @param integer $exp_time expiration time
+ *
+ * @return integer number of cache files deleted
+ */
+ public function clearCache($exp_time = null)
{
Smarty_CacheResource::invalidLoadedCache($this->smarty);
+
return $this->cached->handler->clear($this->smarty, $this->template_name, $this->cache_id, $this->compile_id, $exp_time);
}
- /**
+ /**
* set Smarty property in template context
*
* @param string $property_name property name
* @param mixed $value value
+ *
+ * @throws SmartyException
*/
public function __set($property_name, $value)
{
@@ -600,12 +649,14 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
case 'cached':
case 'compiler':
$this->$property_name = $value;
+
return;
// FIXME: routing of template -> smarty attributes
default:
if (property_exists($this->smarty, $property_name)) {
$this->smarty->$property_name = $value;
+
return;
}
}
@@ -617,6 +668,8 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
* get Smarty property in template context
*
* @param string $property_name property name
+ *
+ * @throws SmartyException
*/
public function __get($property_name)
{
@@ -640,10 +693,12 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
}
$this->smarty->template_objects[$_templateId] = $this;
}
+
return $this->source;
case 'compiled':
$this->compiled = $this->source->getCompiled($this);
+
return $this->compiled;
case 'cached':
@@ -651,11 +706,13 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
include SMARTY_SYSPLUGINS_DIR . 'smarty_cacheresource.php';
}
$this->cached = new Smarty_Template_Cached($this);
+
return $this->cached;
case 'compiler':
$this->smarty->loadPlugin($this->source->compiler_class);
$this->compiler = new $this->source->compiler_class($this->source->template_lexer_class, $this->source->template_parser_class, $this->smarty);
+
return $this->compiler;
// FIXME: routing of template -> smarty attributes
@@ -669,8 +726,8 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
}
/**
- * Template data object destrutor
- *
+ * Template data object destructor
+
*/
public function __destruct()
{
@@ -678,7 +735,4 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase {
$this->cached->handler->releaseLock($this->smarty, $this->cached);
}
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_templatebase.php b/library/Smarty/libs/sysplugins/smarty_internal_templatebase.php
index abd48b799..f8f1c9e1e 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_templatebase.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_templatebase.php
@@ -1,32 +1,34 @@
<?php
/**
* Smarty Internal Plugin Smarty Template Base
+ * This file contains the basic shared methods for template handling
*
- * This file contains the basic shared methodes for template handling
- *
- * @package Smarty
+ * @package Smarty
* @subpackage Template
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
- * Class with shared template methodes
+ * Class with shared template methods
*
- * @package Smarty
+ * @package Smarty
* @subpackage Template
*/
-abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
-
+abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data
+{
/**
* fetches a rendered Smarty template
*
- * @param string $template the resource handle of the template file or template object
- * @param mixed $cache_id cache id to be used with this template
- * @param mixed $compile_id compile id to be used with this template
- * @param object $parent next higher level of Smarty variables
- * @param bool $display true: display, false: fetch
- * @param bool $merge_tpl_vars if true parent template variables merged in to local scope
- * @param bool $no_output_filter if true do not run output filter
+ * @param string $template the resource handle of the template file or template object
+ * @param mixed $cache_id cache id to be used with this template
+ * @param mixed $compile_id compile id to be used with this template
+ * @param object $parent next higher level of Smarty variables
+ * @param bool $display true: display, false: fetch
+ * @param bool $merge_tpl_vars if true parent template variables merged in to local scope
+ * @param bool $no_output_filter if true do not run output filter
+ *
+ * @throws Exception
+ * @throws SmartyException
* @return string rendered template output
*/
public function fetch($template = null, $cache_id = null, $compile_id = null, $parent = null, $display = false, $merge_tpl_vars = true, $no_output_filter = false)
@@ -34,7 +36,7 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
if ($template === null && $this instanceof $this->template_class) {
$template = $this;
}
- if (!empty($cache_id) && is_object($cache_id)) {
+ if ($cache_id !== null && is_object($cache_id)) {
$parent = $cache_id;
$cache_id = null;
}
@@ -43,8 +45,8 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
}
// create template object if necessary
$_template = ($template instanceof $this->template_class)
- ? $template
- : $this->smarty->createTemplate($template, $cache_id, $compile_id, $parent, false);
+ ? $template
+ : $this->smarty->createTemplate($template, $cache_id, $compile_id, $parent, false);
// if called by Smarty object make sure we use current caching status
if ($this instanceof Smarty) {
$_template->caching = $this->caching;
@@ -130,29 +132,32 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || !$_template->cached->valid) {
// render template (not loaded and not in cache)
if (!$_template->source->uncompiled) {
+ /** @var Smarty_Internal_Template $_smarty_tpl
+ * used in evaluated code
+ */
$_smarty_tpl = $_template;
if ($_template->source->recompiled) {
- if ($this->smarty->debugging) {
- Smarty_Internal_Debug::start_compile($_template);
- }
$code = $_template->compiler->compileTemplate($_template);
if ($this->smarty->debugging) {
- Smarty_Internal_Debug::end_compile($_template);
- }
- if ($this->smarty->debugging) {
Smarty_Internal_Debug::start_render($_template);
}
try {
ob_start();
eval("?>" . $code);
unset($code);
- } catch (Exception $e) {
+ }
+ catch (Exception $e) {
ob_get_clean();
throw $e;
}
} else {
if (!$_template->compiled->exists || ($_template->smarty->force_compile && !$_template->compiled->isCompiled)) {
$_template->compileTemplateSource();
+ $code = file_get_contents($_template->compiled->filepath);
+ eval("?>" . $code);
+ unset($code);
+ $_template->compiled->loaded = true;
+ $_template->compiled->isCompiled = true;
}
if ($this->smarty->debugging) {
Smarty_Internal_Debug::start_render($_template);
@@ -162,7 +167,10 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
if ($_template->mustCompile) {
// recompile and load again
$_template->compileTemplateSource();
- include($_template->compiled->filepath);
+ $code = file_get_contents($_template->compiled->filepath);
+ eval("?>" . $code);
+ unset($code);
+ $_template->compiled->isCompiled = true;
}
$_template->compiled->loaded = true;
} else {
@@ -173,7 +181,7 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
if (empty($_template->properties['unifunc']) || !is_callable($_template->properties['unifunc'])) {
throw new SmartyException("Invalid compiled template for '{$_template->template_resource}'");
}
- array_unshift($_template->_capture_stack,array());
+ array_unshift($_template->_capture_stack, array());
//
// render compiled template
//
@@ -183,7 +191,8 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
$_template->capture_error();
}
array_shift($_template->_capture_stack);
- } catch (Exception $e) {
+ }
+ catch (Exception $e) {
ob_get_clean();
throw $e;
}
@@ -196,7 +205,8 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
try {
ob_start();
$_template->source->renderUncompiled($_template);
- } catch (Exception $e) {
+ }
+ catch (Exception $e) {
ob_get_clean();
throw $e;
}
@@ -235,7 +245,7 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
// loop over items, stitch back together
foreach ($cache_split as $curr_idx => $curr_split) {
// escape PHP tags in template content
- $output .= preg_replace('/(<%|%>|<\?php|<\?|\?>)/', '<?php echo \'$1\'; ?>', $curr_split);
+ $output .= preg_replace('/(<%|%>|<\?php|<\?|\?>|<script\s+language\s*=\s*[\"\']?\s*php\s*[\"\']?\s*>)/', "<?php echo '\$1'; ?>\n", $curr_split);
if (isset($cache_parts[0][$curr_idx])) {
$_template->properties['has_nocache_code'] = true;
// remove nocache tags from cache output
@@ -246,12 +256,16 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
$output = Smarty_Internal_Filter_Handler::runFilter('output', $output, $_template);
}
// rendering (must be done before writing cache file because of {function} nocache handling)
+ /** @var Smarty_Internal_Template $_smarty_tpl
+ * used in evaluated code
+ */
$_smarty_tpl = $_template;
try {
ob_start();
eval("?>" . $output);
$_output = ob_get_clean();
- } catch (Exception $e) {
+ }
+ catch (Exception $e) {
ob_get_clean();
throw $e;
}
@@ -274,7 +288,7 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
}
try {
ob_start();
- array_unshift($_template->_capture_stack,array());
+ array_unshift($_template->_capture_stack, array());
//
// render cached template
//
@@ -285,7 +299,8 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
}
array_shift($_template->_capture_stack);
$_output = ob_get_clean();
- } catch (Exception $e) {
+ }
+ catch (Exception $e) {
ob_get_clean();
throw $e;
}
@@ -306,33 +321,37 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
$_last_modified_date = @substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 0, strpos($_SERVER['HTTP_IF_MODIFIED_SINCE'], 'GMT') + 3);
if ($_isCached && $_template->cached->timestamp <= strtotime($_last_modified_date)) {
switch (PHP_SAPI) {
- case 'cgi': // php-cgi < 5.3
- case 'cgi-fcgi': // php-cgi >= 5.3
- case 'fpm-fcgi': // php-fpm >= 5.3.3
- header('Status: 304 Not Modified');
- break;
+ case 'cgi': // php-cgi < 5.3
+ case 'cgi-fcgi': // php-cgi >= 5.3
+ case 'fpm-fcgi': // php-fpm >= 5.3.3
+ header('Status: 304 Not Modified');
+ break;
case 'cli':
- if (/* ^phpunit */!empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS'])/* phpunit$ */) {
- $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = '304 Not Modified';
- }
- break;
+ if ( /* ^phpunit */
+ !empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS']) /* phpunit$ */
+ ) {
+ $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = '304 Not Modified';
+ }
+ break;
default:
- header($_SERVER['SERVER_PROTOCOL'].' 304 Not Modified');
- break;
+ header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
+ break;
}
} else {
switch (PHP_SAPI) {
case 'cli':
- if (/* ^phpunit */!empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS'])/* phpunit$ */) {
- $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = 'Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->cached->timestamp) . ' GMT';
- }
- break;
+ if ( /* ^phpunit */
+ !empty($_SERVER['SMARTY_PHPUNIT_DISABLE_HEADERS']) /* phpunit$ */
+ ) {
+ $_SERVER['SMARTY_PHPUNIT_HEADERS'][] = 'Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->cached->timestamp) . ' GMT';
+ }
+ break;
default:
- header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->cached->timestamp) . ' GMT');
- break;
+ header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->cached->timestamp) . ' GMT');
+ break;
}
echo $_output;
}
@@ -341,19 +360,20 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
}
// debug output
if ($this->smarty->debugging) {
- Smarty_Internal_Debug::display_debug($this);
+ Smarty_Internal_Debug::display_debug($_template);
}
if ($merge_tpl_vars) {
// restore local variables
$_template->tpl_vars = $save_tpl_vars;
- $_template->config_vars = $save_config_vars;
+ $_template->config_vars = $save_config_vars;
}
+
return;
} else {
if ($merge_tpl_vars) {
// restore local variables
$_template->tpl_vars = $save_tpl_vars;
- $_template->config_vars = $save_config_vars;
+ $_template->config_vars = $save_config_vars;
}
// return fetched content
return $_output;
@@ -377,11 +397,12 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* test if cache is valid
*
- * @param string|object $template the resource handle of the template file or template object
- * @param mixed $cache_id cache id to be used with this template
- * @param mixed $compile_id compile id to be used with this template
- * @param object $parent next higher level of Smarty variables
- * @return boolean cache status
+ * @param string|object $template the resource handle of the template file or template object
+ * @param mixed $cache_id cache id to be used with this template
+ * @param mixed $compile_id compile id to be used with this template
+ * @param object $parent next higher level of Smarty variables
+ *
+ * @return boolean cache status
*/
public function isCached($template = null, $cache_id = null, $compile_id = null, $parent = null)
{
@@ -402,6 +423,7 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
* creates a data object
*
* @param object $parent next higher level of Smarty variables
+ *
* @returns Smarty_Data data object
*/
public function createData($parent = null)
@@ -412,13 +434,14 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* Registers plugin to be used in templates
*
- * @param string $type plugin type
- * @param string $tag name of template tag
- * @param callback $callback PHP callback to register
- * @param boolean $cacheable if true (default) this fuction is cachable
- * @param array $cache_attr caching attributes if any
+ * @param string $type plugin type
+ * @param string $tag name of template tag
+ * @param callback $callback PHP callback to register
+ * @param boolean $cacheable if true (default) this fuction is cachable
+ * @param array $cache_attr caching attributes if any
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- * @throws SmartyException when the plugin tag is invalid
+ * @throws SmartyException when the plugin tag is invalid
*/
public function registerPlugin($type, $tag, $callback, $cacheable = true, $cache_attr = null)
{
@@ -436,8 +459,9 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* Unregister Plugin
*
- * @param string $type of plugin
- * @param string $tag name of plugin
+ * @param string $type of plugin
+ * @param string $tag name of plugin
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function unregisterPlugin($type, $tag)
@@ -452,20 +476,23 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* Registers a resource to fetch a template
*
- * @param string $type name of resource type
- * @param Smarty_Resource|array $callback or instance of Smarty_Resource, or array of callbacks to handle resource (deprecated)
+ * @param string $type name of resource type
+ * @param Smarty_Resource|array $callback or instance of Smarty_Resource, or array of callbacks to handle resource (deprecated)
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function registerResource($type, $callback)
{
$this->smarty->registered_resources[$type] = $callback instanceof Smarty_Resource ? $callback : array($callback, false);
+
return $this;
}
/**
* Unregisters a resource
*
- * @param string $type name of resource type
+ * @param string $type name of resource type
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function unregisterResource($type)
@@ -480,20 +507,23 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* Registers a cache resource to cache a template's output
*
- * @param string $type name of cache resource type
- * @param Smarty_CacheResource $callback instance of Smarty_CacheResource to handle output caching
+ * @param string $type name of cache resource type
+ * @param Smarty_CacheResource $callback instance of Smarty_CacheResource to handle output caching
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function registerCacheResource($type, Smarty_CacheResource $callback)
{
$this->smarty->registered_cache_resources[$type] = $callback;
+
return $this;
}
/**
* Unregisters a cache resource
*
- * @param string $type name of cache resource type
+ * @param string $type name of cache resource type
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function unregisterCacheResource($type)
@@ -508,26 +538,26 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* Registers object to be used in templates
*
- * @param string $object name of template object
- * @param object $object_impl the referenced PHP object to register
- * @param array $allowed list of allowed methods (empty = all)
- * @param boolean $smarty_args smarty argument format, else traditional
- * @param array $block_methods list of block-methods
- * @param array $block_functs list of methods that are block format
+ * @param $object_name
+ * @param object $object_impl the referenced PHP object to register
+ * @param array $allowed list of allowed methods (empty = all)
+ * @param boolean $smarty_args smarty argument format, else traditional
+ * @param array $block_methods list of block-methods
+ *
+ * @throws SmartyException
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- * @throws SmartyException if any of the methods in $allowed or $block_methods are invalid
*/
public function registerObject($object_name, $object_impl, $allowed = array(), $smarty_args = true, $block_methods = array())
{
- // test if allowed methodes callable
+ // test if allowed methods callable
if (!empty($allowed)) {
foreach ((array) $allowed as $method) {
- if (!is_callable(array($object_impl, $method))) {
- throw new SmartyException("Undefined method '$method' in registered object");
+ if (!is_callable(array($object_impl, $method)) && !property_exists($object_impl, $method)) {
+ throw new SmartyException("Undefined method or property '$method' in registered object");
}
}
}
- // test if block methodes callable
+ // test if block methods callable
if (!empty($block_methods)) {
foreach ((array) $block_methods as $method) {
if (!is_callable(array($object_impl, $method))) {
@@ -537,14 +567,16 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
}
// register the object
$this->smarty->registered_objects[$object_name] =
- array($object_impl, (array) $allowed, (boolean) $smarty_args, (array) $block_methods);
+ array($object_impl, (array) $allowed, (boolean) $smarty_args, (array) $block_methods);
+
return $this;
}
/**
* return a reference to a registered object
*
- * @param string $name object name
+ * @param string $name object name
+ *
* @return object
* @throws SmartyException if no such object is found
*/
@@ -556,13 +588,15 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
if (!is_object($this->smarty->registered_objects[$name][0])) {
throw new SmartyException("registered '$name' is not an object");
}
+
return $this->smarty->registered_objects[$name][0];
}
/**
* unregister an object
*
- * @param string $name object name
+ * @param string $name object name
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function unregisterObject($name)
@@ -577,10 +611,11 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* Registers static classes to be used in templates
*
- * @param string $class name of template class
- * @param string $class_impl the referenced PHP class to register
+ * @param $class_name
+ * @param string $class_impl the referenced PHP class to register
+ *
+ * @throws SmartyException
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- * @throws SmartyException if $class_impl does not refer to an existing class
*/
public function registerClass($class_name, $class_impl)
{
@@ -590,15 +625,17 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
}
// register the class
$this->smarty->registered_classes[$class_name] = $class_impl;
+
return $this;
}
/**
* Registers a default plugin handler
*
- * @param callable $callback class/method name
+ * @param callable $callback class/method name
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- * @throws SmartyException if $callback is not callable
+ * @throws SmartyException if $callback is not callable
*/
public function registerDefaultPluginHandler($callback)
{
@@ -614,9 +651,10 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* Registers a default template handler
*
- * @param callable $callback class/method name
+ * @param callable $callback class/method name
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- * @throws SmartyException if $callback is not callable
+ * @throws SmartyException if $callback is not callable
*/
public function registerDefaultTemplateHandler($callback)
{
@@ -632,9 +670,10 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* Registers a default template handler
*
- * @param callable $callback class/method name
+ * @param callable $callback class/method name
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
- * @throws SmartyException if $callback is not callable
+ * @throws SmartyException if $callback is not callable
*/
public function registerDefaultConfigHandler($callback)
{
@@ -650,21 +689,24 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* Registers a filter function
*
- * @param string $type filter type
- * @param callback $callback
+ * @param string $type filter type
+ * @param callback $callback
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function registerFilter($type, $callback)
{
$this->smarty->registered_filters[$type][$this->_get_filter_name($callback)] = $callback;
+
return $this;
}
/**
* Unregisters a filter function
*
- * @param string $type filter type
- * @param callback $callback
+ * @param string $type filter type
+ * @param callback $callback
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function unregisterFilter($type, $callback)
@@ -680,14 +722,16 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* Return internal filter name
*
- * @param callback $function_name
- * @return string internal filter name
+ * @param callback $function_name
+ *
+ * @return string internal filter name
*/
public function _get_filter_name($function_name)
{
if (is_array($function_name)) {
$_class_name = (is_object($function_name[0]) ?
- get_class($function_name[0]) : $function_name[0]);
+ get_class($function_name[0]) : $function_name[0]);
+
return $_class_name . '_' . $function_name[1];
} else {
return $function_name;
@@ -697,8 +741,9 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* load a filter of specified type and name
*
- * @param string $type filter type
- * @param string $name filter name
+ * @param string $type filter type
+ * @param string $name filter name
+ *
* @throws SmartyException if filter could not be loaded
*/
public function loadFilter($type, $name)
@@ -711,6 +756,7 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
}
if (is_callable($_plugin)) {
$this->smarty->registered_filters[$type][$_filter_name] = $_plugin;
+
return true;
}
}
@@ -720,8 +766,9 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* unload a filter of specified type and name
*
- * @param string $type filter type
- * @param string $name filter name
+ * @param string $type filter type
+ * @param string $name filter name
+ *
* @return Smarty_Internal_Templatebase current Smarty_Internal_Templatebase (or Smarty or Smarty_Internal_Template) instance for chaining
*/
public function unloadFilter($type, $name)
@@ -737,10 +784,12 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
/**
* preg_replace callback to convert camelcase getter/setter to underscore property names
*
- * @param string $match match string
+ * @param string $match match string
+ *
* @return string replacemant
*/
- private function replaceCamelcase($match) {
+ private function replaceCamelcase($match)
+ {
return "_" . strtolower($match[1]);
}
@@ -749,6 +798,8 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
*
* @param string $name unknown method-name
* @param array $args argument array
+ *
+ * @throws SmartyException
*/
public function __call($name, $args)
{
@@ -770,7 +821,7 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
// lcfirst() not available < PHP 5.3.0, so improvise
$property_name = strtolower(substr($name, 3, 1)) . substr($name, 4);
// convert camel case to underscored name
- $property_name = preg_replace_callback('/([A-Z])/', array($this,'replaceCamelcase'), $property_name);
+ $property_name = preg_replace_callback('/([A-Z])/', array($this, 'replaceCamelcase'), $property_name);
$_resolved_property_name[$name] = $property_name;
}
if (isset($_resolved_property_source[$property_name])) {
@@ -779,25 +830,26 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
$_is_this = null;
if (property_exists($this, $property_name)) {
$_is_this = true;
- } else if (property_exists($this->smarty, $property_name)) {
+ } elseif (property_exists($this->smarty, $property_name)) {
$_is_this = false;
}
$_resolved_property_source[$property_name] = $_is_this;
}
if ($_is_this) {
- if ($first3 == 'get')
- return $this->$property_name;
- else
- return $this->$property_name = $args[0];
- } else if ($_is_this === false) {
- if ($first3 == 'get')
- return $this->smarty->$property_name;
- else
- return $this->smarty->$property_name = $args[0];
+ if ($first3 == 'get') {
+ return $this->$property_name;
+ } else {
+ return $this->$property_name = $args[0];
+ }
+ } elseif ($_is_this === false) {
+ if ($first3 == 'get') {
+ return $this->smarty->$property_name;
+ } else {
+ return $this->smarty->$property_name = $args[0];
+ }
} else {
throw new SmartyException("property '$property_name' does not exist.");
- return false;
- }
+ }
}
if ($name == 'Smarty') {
throw new SmartyException("PHP5 requires you to call __construct() instead of Smarty()");
@@ -805,7 +857,4 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data {
// must be unknown
throw new SmartyException("Call of unknown method '$name'.");
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php b/library/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php
index 85906239d..d00bfb8f4 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php
@@ -1,661 +1,823 @@
-<?php
-
-/**
- * Smarty Internal Plugin Smarty Template Compiler Base
- *
- * This file contains the basic classes and methodes for compiling Smarty templates with lexer/parser
- *
- * @package Smarty
- * @subpackage Compiler
- * @author Uwe Tews
- */
-
-/**
- * Main abstract compiler class
- *
- * @package Smarty
- * @subpackage Compiler
- */
-abstract class Smarty_Internal_TemplateCompilerBase {
-
- /**
- * hash for nocache sections
- *
- * @var mixed
- */
- private $nocache_hash = null;
-
- /**
- * suppress generation of nocache code
- *
- * @var bool
- */
- public $suppressNocacheProcessing = false;
-
- /**
- * suppress generation of merged template code
- *
- * @var bool
- */
- public $suppressMergedTemplates = false;
-
- /**
- * compile tag objects
- *
- * @var array
- */
- public static $_tag_objects = array();
-
- /**
- * tag stack
- *
- * @var array
- */
- public $_tag_stack = array();
-
- /**
- * current template
- *
- * @var Smarty_Internal_Template
- */
- public $template = null;
-
- /**
- * merged templates
- *
- * @var array
- */
- public $merged_templates = array();
-
- /**
- * flag when compiling {block}
- *
- * @var bool
- */
- public $inheritance = false;
-
- /**
- * plugins loaded by default plugin handler
- *
- * @var array
- */
- public $default_handler_plugins = array();
-
- /**
- * saved preprocessed modifier list
- *
- * @var mixed
- */
- public $default_modifier_list = null;
-
- /**
- * force compilation of complete template as nocache
- * @var boolean
- */
- public $forceNocache = false;
-
- /**
- * suppress Smarty header code in compiled template
- * @var bool
- */
- public $suppressHeader = false;
-
- /**
- * suppress template property header code in compiled template
- * @var bool
- */
- public $suppressTemplatePropertyHeader = false;
-
- /**
- * flag if compiled template file shall we written
- * @var bool
- */
- public $write_compiled_code = true;
-
- /**
- * flag if currently a template function is compiled
- * @var bool
- */
- public $compiles_template_function = false;
-
- /**
- * called subfuntions from template function
- * @var array
- */
- public $called_functions = array();
-
- /**
- * flags for used modifier plugins
- * @var array
- */
- public $modifier_plugins = array();
-
- /**
- * type of already compiled modifier
- * @var array
- */
- public $known_modifier_type = array();
-
- /**
- * Initialize compiler
- */
- public function __construct() {
- $this->nocache_hash = str_replace('.', '-', uniqid(rand(), true));
- }
-
- /**
- * Method to compile a Smarty template
- *
- * @param Smarty_Internal_Template $template template object to compile
- * @return bool true if compiling succeeded, false if it failed
- */
- public function compileTemplate(Smarty_Internal_Template $template) {
- if (empty($template->properties['nocache_hash'])) {
- $template->properties['nocache_hash'] = $this->nocache_hash;
- } else {
- $this->nocache_hash = $template->properties['nocache_hash'];
- }
- // flag for nochache sections
- $this->nocache = false;
- $this->tag_nocache = false;
- // save template object in compiler class
- $this->template = $template;
- // reset has noche code flag
- $this->template->has_nocache_code = false;
- $this->smarty->_current_file = $saved_filepath = $this->template->source->filepath;
- // template header code
- $template_header = '';
- if (!$this->suppressHeader) {
- $template_header .= "<?php /* Smarty version " . Smarty::SMARTY_VERSION . ", created on " . strftime("%Y-%m-%d %H:%M:%S") . "\n";
- $template_header .= " compiled from \"" . $this->template->source->filepath . "\" */ ?>\n";
- }
-
- do {
- // flag for aborting current and start recompile
- $this->abort_and_recompile = false;
- // get template source
- $_content = $template->source->content;
- // run prefilter if required
- if (isset($this->smarty->autoload_filters['pre']) || isset($this->smarty->registered_filters['pre'])) {
- $_content = Smarty_Internal_Filter_Handler::runFilter('pre', $_content, $template);
- }
- // on empty template just return header
- if ($_content == '') {
- if ($this->suppressTemplatePropertyHeader) {
- $code = '';
- } else {
- $code = $template_header . $template->createTemplateCodeFrame();
- }
- return $code;
- }
- // call compiler
- $_compiled_code = $this->doCompile($_content);
- } while ($this->abort_and_recompile);
- $this->template->source->filepath = $saved_filepath;
- // free memory
- unset($this->parser->root_buffer, $this->parser->current_buffer, $this->parser, $this->lex, $this->template);
- self::$_tag_objects = array();
- // return compiled code to template object
- $merged_code = '';
- if (!$this->suppressMergedTemplates && !empty($this->merged_templates)) {
- foreach ($this->merged_templates as $code) {
- $merged_code .= $code;
- }
- // run postfilter if required on merged code
- if (isset($this->smarty->autoload_filters['post']) || isset($this->smarty->registered_filters['post'])) {
- $merged_code = Smarty_Internal_Filter_Handler::runFilter('post', $merged_code, $template);
- }
- }
- // run postfilter if required on compiled template code
- if (isset($this->smarty->autoload_filters['post']) || isset($this->smarty->registered_filters['post'])) {
- $_compiled_code = Smarty_Internal_Filter_Handler::runFilter('post', $_compiled_code, $template);
- }
- if ($this->suppressTemplatePropertyHeader) {
- $code = $_compiled_code . $merged_code;
- } else {
- $code = $template_header . $template->createTemplateCodeFrame($_compiled_code) . $merged_code;
- }
- return $code;
- }
-
- /**
- * Compile Tag
- *
- * This is a call back from the lexer/parser
- * It executes the required compile plugin for the Smarty tag
- *
- * @param string $tag tag name
- * @param array $args array with tag attributes
- * @param array $parameter array with compilation parameter
- * @return string compiled code
- */
- public function compileTag($tag, $args, $parameter = array()) {
- // $args contains the attributes parsed and compiled by the lexer/parser
- // assume that tag does compile into code, but creates no HTML output
- $this->has_code = true;
- $this->has_output = false;
- // log tag/attributes
- if (isset($this->smarty->get_used_tags) && $this->smarty->get_used_tags) {
- $this->template->used_tags[] = array($tag, $args);
- }
- // check nocache option flag
- if (in_array("'nocache'", $args) || in_array(array('nocache' => 'true'), $args)
- || in_array(array('nocache' => '"true"'), $args) || in_array(array('nocache' => "'true'"), $args)) {
- $this->tag_nocache = true;
- }
- // compile the smarty tag (required compile classes to compile the tag are autoloaded)
- if (($_output = $this->callTagCompiler($tag, $args, $parameter)) === false) {
- if (isset($this->smarty->template_functions[$tag])) {
- // template defined by {template} tag
- $args['_attr']['name'] = "'" . $tag . "'";
- $_output = $this->callTagCompiler('call', $args, $parameter);
- }
- }
- if ($_output !== false) {
- if ($_output !== true) {
- // did we get compiled code
- if ($this->has_code) {
- // Does it create output?
- if ($this->has_output) {
- $_output .= "\n";
- }
- // return compiled code
- return $_output;
- }
- }
- // tag did not produce compiled code
- return '';
- } else {
- // map_named attributes
- if (isset($args['_attr'])) {
- foreach ($args['_attr'] as $key => $attribute) {
- if (is_array($attribute)) {
- $args = array_merge($args, $attribute);
- }
- }
- }
- // not an internal compiler tag
- if (strlen($tag) < 6 || substr($tag, -5) != 'close') {
- // check if tag is a registered object
- if (isset($this->smarty->registered_objects[$tag]) && isset($parameter['object_methode'])) {
- $methode = $parameter['object_methode'];
- if (!in_array($methode, $this->smarty->registered_objects[$tag][3]) &&
- (empty($this->smarty->registered_objects[$tag][1]) || in_array($methode, $this->smarty->registered_objects[$tag][1]))) {
- return $this->callTagCompiler('private_object_function', $args, $parameter, $tag, $methode);
- } elseif (in_array($methode, $this->smarty->registered_objects[$tag][3])) {
- return $this->callTagCompiler('private_object_block_function', $args, $parameter, $tag, $methode);
- } else {
- return $this->trigger_template_error('unallowed methode "' . $methode . '" in registered object "' . $tag . '"', $this->lex->taglineno);
- }
- }
- // check if tag is registered
- foreach (array(Smarty::PLUGIN_COMPILER, Smarty::PLUGIN_FUNCTION, Smarty::PLUGIN_BLOCK) as $plugin_type) {
- if (isset($this->smarty->registered_plugins[$plugin_type][$tag])) {
- // if compiler function plugin call it now
- if ($plugin_type == Smarty::PLUGIN_COMPILER) {
- $new_args = array();
- foreach ($args as $key => $mixed) {
- if (is_array($mixed)) {
- $new_args = array_merge($new_args, $mixed);
- } else {
- $new_args[$key] = $mixed;
- }
- }
- if (!$this->smarty->registered_plugins[$plugin_type][$tag][1]) {
- $this->tag_nocache = true;
- }
- $function = $this->smarty->registered_plugins[$plugin_type][$tag][0];
- if (!is_array($function)) {
- return $function($new_args, $this);
- } else if (is_object($function[0])) {
- return $this->smarty->registered_plugins[$plugin_type][$tag][0][0]->$function[1]($new_args, $this);
- } else {
- return call_user_func_array($function, array($new_args, $this));
- }
- }
- // compile registered function or block function
- if ($plugin_type == Smarty::PLUGIN_FUNCTION || $plugin_type == Smarty::PLUGIN_BLOCK) {
- return $this->callTagCompiler('private_registered_' . $plugin_type, $args, $parameter, $tag);
- }
- }
- }
- // check plugins from plugins folder
- foreach ($this->smarty->plugin_search_order as $plugin_type) {
- if ($plugin_type == Smarty::PLUGIN_BLOCK && $this->smarty->loadPlugin('smarty_compiler_' . $tag) && (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this))) {
- $plugin = 'smarty_compiler_' . $tag;
- if (is_callable($plugin)) {
- // convert arguments format for old compiler plugins
- $new_args = array();
- foreach ($args as $key => $mixed) {
- if (is_array($mixed)) {
- $new_args = array_merge($new_args, $mixed);
- } else {
- $new_args[$key] = $mixed;
- }
- }
- return $plugin($new_args, $this->smarty);
- }
- if (class_exists($plugin, false)) {
- $plugin_object = new $plugin;
- if (method_exists($plugin_object, 'compile')) {
- return $plugin_object->compile($args, $this);
- }
- }
- throw new SmartyException("Plugin \"{$tag}\" not callable");
- } else {
- if ($function = $this->getPlugin($tag, $plugin_type)) {
- if (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this)) {
- return $this->callTagCompiler('private_' . $plugin_type . '_plugin', $args, $parameter, $tag, $function);
- }
- }
- }
- }
- if (is_callable($this->smarty->default_plugin_handler_func)) {
- $found = false;
- // look for already resolved tags
- foreach ($this->smarty->plugin_search_order as $plugin_type) {
- if (isset($this->default_handler_plugins[$plugin_type][$tag])) {
- $found = true;
- break;
- }
- }
- if (!$found) {
- // call default handler
- foreach ($this->smarty->plugin_search_order as $plugin_type) {
- if ($this->getPluginFromDefaultHandler($tag, $plugin_type)) {
- $found = true;
- break;
- }
- }
- }
- if ($found) {
- // if compiler function plugin call it now
- if ($plugin_type == Smarty::PLUGIN_COMPILER) {
- $new_args = array();
- foreach ($args as $mixed) {
- $new_args = array_merge($new_args, $mixed);
- }
- $function = $this->default_handler_plugins[$plugin_type][$tag][0];
- if (!is_array($function)) {
- return $function($new_args, $this);
- } else if (is_object($function[0])) {
- return $this->default_handler_plugins[$plugin_type][$tag][0][0]->$function[1]($new_args, $this);
- } else {
- return call_user_func_array($function, array($new_args, $this));
- }
- } else {
- return $this->callTagCompiler('private_registered_' . $plugin_type, $args, $parameter, $tag);
- }
- }
- }
- } else {
- // compile closing tag of block function
- $base_tag = substr($tag, 0, -5);
- // check if closing tag is a registered object
- if (isset($this->smarty->registered_objects[$base_tag]) && isset($parameter['object_methode'])) {
- $methode = $parameter['object_methode'];
- if (in_array($methode, $this->smarty->registered_objects[$base_tag][3])) {
- return $this->callTagCompiler('private_object_block_function', $args, $parameter, $tag, $methode);
- } else {
- return $this->trigger_template_error('unallowed closing tag methode "' . $methode . '" in registered object "' . $base_tag . '"', $this->lex->taglineno);
- }
- }
- // registered block tag ?
- if (isset($this->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$base_tag]) || isset($this->default_handler_plugins[Smarty::PLUGIN_BLOCK][$base_tag])) {
- return $this->callTagCompiler('private_registered_block', $args, $parameter, $tag);
- }
- // block plugin?
- if ($function = $this->getPlugin($base_tag, Smarty::PLUGIN_BLOCK)) {
- return $this->callTagCompiler('private_block_plugin', $args, $parameter, $tag, $function);
- }
- // registered compiler plugin ?
- if (isset($this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag])) {
- // if compiler function plugin call it now
- $args = array();
- if (!$this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag][1]) {
- $this->tag_nocache = true;
- }
- $function = $this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag][0];
- if (!is_array($function)) {
- return $function($args, $this);
- } else if (is_object($function[0])) {
- return $this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag][0][0]->$function[1]($args, $this);
- } else {
- return call_user_func_array($function, array($args, $this));
- }
- }
- if ($this->smarty->loadPlugin('smarty_compiler_' . $tag)) {
- $plugin = 'smarty_compiler_' . $tag;
- if (is_callable($plugin)) {
- return $plugin($args, $this->smarty);
- }
- if (class_exists($plugin, false)) {
- $plugin_object = new $plugin;
- if (method_exists($plugin_object, 'compile')) {
- return $plugin_object->compile($args, $this);
- }
- }
- throw new SmartyException("Plugin \"{$tag}\" not callable");
- }
- }
- $this->trigger_template_error("unknown tag \"" . $tag . "\"", $this->lex->taglineno);
- }
- }
-
- /**
- * lazy loads internal compile plugin for tag and calls the compile methode
- *
- * compile objects cached for reuse.
- * class name format: Smarty_Internal_Compile_TagName
- * plugin filename format: Smarty_Internal_Tagname.php
- *
- * @param string $tag tag name
- * @param array $args list of tag attributes
- * @param mixed $param1 optional parameter
- * @param mixed $param2 optional parameter
- * @param mixed $param3 optional parameter
- * @return string compiled code
- */
- public function callTagCompiler($tag, $args, $param1 = null, $param2 = null, $param3 = null) {
- // re-use object if already exists
- if (isset(self::$_tag_objects[$tag])) {
- // compile this tag
- return self::$_tag_objects[$tag]->compile($args, $this, $param1, $param2, $param3);
- }
- // lazy load internal compiler plugin
- $class_name = 'Smarty_Internal_Compile_' . $tag;
- if ($this->smarty->loadPlugin($class_name)) {
- // check if tag allowed by security
- if (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this)) {
- // use plugin if found
- self::$_tag_objects[$tag] = new $class_name;
- // compile this tag
- return self::$_tag_objects[$tag]->compile($args, $this, $param1, $param2, $param3);
- }
- }
- // no internal compile plugin for this tag
- return false;
- }
-
- /**
- * Check for plugins and return function name
- *
- * @param string $pugin_name name of plugin or function
- * @param string $plugin_type type of plugin
- * @return string call name of function
- */
- public function getPlugin($plugin_name, $plugin_type) {
- $function = null;
- if ($this->template->caching && ($this->nocache || $this->tag_nocache)) {
- if (isset($this->template->required_plugins['nocache'][$plugin_name][$plugin_type])) {
- $function = $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['function'];
- } else if (isset($this->template->required_plugins['compiled'][$plugin_name][$plugin_type])) {
- $this->template->required_plugins['nocache'][$plugin_name][$plugin_type] = $this->template->required_plugins['compiled'][$plugin_name][$plugin_type];
- $function = $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['function'];
- }
- } else {
- if (isset($this->template->required_plugins['compiled'][$plugin_name][$plugin_type])) {
- $function = $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['function'];
- } else if (isset($this->template->required_plugins['nocache'][$plugin_name][$plugin_type])) {
- $this->template->required_plugins['compiled'][$plugin_name][$plugin_type] = $this->template->required_plugins['nocache'][$plugin_name][$plugin_type];
- $function = $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['function'];
- }
- }
- if (isset($function)) {
- if ($plugin_type == 'modifier') {
- $this->modifier_plugins[$plugin_name] = true;
- }
- return $function;
- }
- // loop through plugin dirs and find the plugin
- $function = 'smarty_' . $plugin_type . '_' . $plugin_name;
- $file = $this->smarty->loadPlugin($function, false);
-
- if (is_string($file)) {
- if ($this->template->caching && ($this->nocache || $this->tag_nocache)) {
- $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['file'] = $file;
- $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['function'] = $function;
- } else {
- $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['file'] = $file;
- $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['function'] = $function;
- }
- if ($plugin_type == 'modifier') {
- $this->modifier_plugins[$plugin_name] = true;
- }
- return $function;
- }
- if (is_callable($function)) {
- // plugin function is defined in the script
- return $function;
- }
- return false;
- }
-
- /**
- * Check for plugins by default plugin handler
- *
- * @param string $tag name of tag
- * @param string $plugin_type type of plugin
- * @return boolean true if found
- */
- public function getPluginFromDefaultHandler($tag, $plugin_type) {
- $callback = null;
- $script = null;
- $cacheable = true;
- $result = call_user_func_array(
- $this->smarty->default_plugin_handler_func, array($tag, $plugin_type, $this->template, &$callback, &$script, &$cacheable)
- );
- if ($result) {
- $this->tag_nocache = $this->tag_nocache || !$cacheable;
- if ($script !== null) {
- if (is_file($script)) {
- if ($this->template->caching && ($this->nocache || $this->tag_nocache)) {
- $this->template->required_plugins['nocache'][$tag][$plugin_type]['file'] = $script;
- $this->template->required_plugins['nocache'][$tag][$plugin_type]['function'] = $callback;
- } else {
- $this->template->required_plugins['compiled'][$tag][$plugin_type]['file'] = $script;
- $this->template->required_plugins['compiled'][$tag][$plugin_type]['function'] = $callback;
- }
- include_once $script;
- } else {
- $this->trigger_template_error("Default plugin handler: Returned script file \"{$script}\" for \"{$tag}\" not found");
- }
- }
- if (!is_string($callback) && !(is_array($callback) && is_string($callback[0]) && is_string($callback[1]))) {
- $this->trigger_template_error("Default plugin handler: Returned callback for \"{$tag}\" must be a static function name or array of class and function name");
- }
- if (is_callable($callback)) {
- $this->default_handler_plugins[$plugin_type][$tag] = array($callback, true, array());
- return true;
- } else {
- $this->trigger_template_error("Default plugin handler: Returned callback for \"{$tag}\" not callable");
- }
- }
- return false;
- }
-
- /**
- * Inject inline code for nocache template sections
- *
- * This method gets the content of each template element from the parser.
- * If the content is compiled code and it should be not cached the code is injected
- * into the rendered output.
- *
- * @param string $content content of template element
- * @param boolean $is_code true if content is compiled code
- * @return string content
- */
- public function processNocacheCode($content, $is_code) {
- // If the template is not evaluated and we have a nocache section and or a nocache tag
- if ($is_code && !empty($content)) {
- // generate replacement code
- if ((!($this->template->source->recompiled) || $this->forceNocache) && $this->template->caching && !$this->suppressNocacheProcessing &&
- ($this->nocache || $this->tag_nocache || $this->forceNocache == 2)) {
- $this->template->has_nocache_code = true;
- $_output = str_replace("'", "\'", $content);
- $_output = str_replace('\\\\', '\\\\\\\\', $_output);
- $_output = str_replace("^#^", "'", $_output);
- $_output = "<?php echo '/*%%SmartyNocache:{$this->nocache_hash}%%*/" . $_output . "/*/%%SmartyNocache:{$this->nocache_hash}%%*/';?>\n";
- // make sure we include modifer plugins for nocache code
- foreach ($this->modifier_plugins as $plugin_name => $dummy) {
- if (isset($this->template->required_plugins['compiled'][$plugin_name]['modifier'])) {
- $this->template->required_plugins['nocache'][$plugin_name]['modifier'] = $this->template->required_plugins['compiled'][$plugin_name]['modifier'];
- }
- }
- } else {
- $_output = $content;
- }
- } else {
- $_output = $content;
- }
- $this->modifier_plugins = array();
- $this->suppressNocacheProcessing = false;
- $this->tag_nocache = false;
- return $_output;
- }
-
- /**
- * display compiler error messages without dying
- *
- * If parameter $args is empty it is a parser detected syntax error.
- * In this case the parser is called to obtain information about expected tokens.
- *
- * If parameter $args contains a string this is used as error message
- *
- * @param string $args individual error message or null
- * @param string $line line-number
- * @throws SmartyCompilerException when an unexpected token is found
- */
- public function trigger_template_error($args = null, $line = null) {
- // get template source line which has error
- if (!isset($line)) {
- $line = $this->lex->line;
- }
- $match = preg_split("/\n/", $this->lex->data);
- $error_text = 'Syntax Error in template "' . $this->template->source->filepath . '" on line ' . $line . ' "' . htmlspecialchars(trim(preg_replace('![\t\r\n]+!', ' ', $match[$line - 1]))) . '" ';
- if (isset($args)) {
- // individual error message
- $error_text .= $args;
- } else {
- // expected token from parser
- $error_text .= ' - Unexpected "' . $this->lex->value . '"';
- if (count($this->parser->yy_get_expected_tokens($this->parser->yymajor)) <= 4) {
- foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) {
- $exp_token = $this->parser->yyTokenName[$token];
- if (isset($this->lex->smarty_token_names[$exp_token])) {
- // token type from lexer
- $expect[] = '"' . $this->lex->smarty_token_names[$exp_token] . '"';
- } else {
- // otherwise internal token name
- $expect[] = $this->parser->yyTokenName[$token];
- }
- }
- $error_text .= ', expected one of: ' . implode(' , ', $expect);
- }
- }
- throw new SmartyCompilerException($error_text);
- }
-
-}
-
-?> \ No newline at end of file
+<?php
+
+/**
+ * Smarty Internal Plugin Smarty Template Compiler Base
+ * This file contains the basic classes and methods for compiling Smarty templates with lexer/parser
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
+
+/**
+ * Main abstract compiler class
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ */
+abstract class Smarty_Internal_TemplateCompilerBase
+{
+ /**
+ * hash for nocache sections
+ *
+ * @var mixed
+ */
+ private $nocache_hash = null;
+
+ /**
+ * suppress generation of nocache code
+ *
+ * @var bool
+ */
+ public $suppressNocacheProcessing = false;
+
+ /**
+ * suppress generation of merged template code
+ *
+ * @var bool
+ */
+ public $suppressMergedTemplates = false;
+
+ /**
+ * compile tag objects
+ *
+ * @var array
+ */
+ public static $_tag_objects = array();
+
+ /**
+ * tag stack
+ *
+ * @var array
+ */
+ public $_tag_stack = array();
+
+ /**
+ * current template
+ *
+ * @var Smarty_Internal_Template
+ */
+ public $template = null;
+
+ /**
+ * merged templates
+ *
+ * @var array
+ */
+ public $merged_templates = array();
+
+ /**
+ * sources which must be compiled
+ *
+ * @var array
+ */
+ public $sources = array();
+
+ /**
+ * flag that we are inside {block}
+ *
+ * @var bool
+ */
+ public $inheritance = false;
+
+ /**
+ * flag when compiling inheritance child template
+ *
+ * @var bool
+ */
+ public $inheritance_child = false;
+
+ /**
+ * uid of templates called by {extends} for recursion check
+ *
+ * @var array
+ */
+ public $extends_uid = array();
+
+ /**
+ * source line offset for error messages
+ *
+ * @var int
+ */
+ public $trace_line_offset = 0;
+
+ /**
+ * trace uid
+ *
+ * @var string
+ */
+ public $trace_uid = '';
+
+ /**
+ * trace file path
+ *
+ * @var string
+ */
+ public $trace_filepath = '';
+ /**
+ * stack for tracing file and line of nested {block} tags
+ *
+ * @var array
+ */
+ public $trace_stack = array();
+
+ /**
+ * plugins loaded by default plugin handler
+ *
+ * @var array
+ */
+ public $default_handler_plugins = array();
+
+ /**
+ * saved preprocessed modifier list
+ *
+ * @var mixed
+ */
+ public $default_modifier_list = null;
+
+ /**
+ * force compilation of complete template as nocache
+ *
+ * @var boolean
+ */
+ public $forceNocache = false;
+
+ /**
+ * suppress Smarty header code in compiled template
+ *
+ * @var bool
+ */
+ public $suppressHeader = false;
+
+ /**
+ * suppress template property header code in compiled template
+ *
+ * @var bool
+ */
+ public $suppressTemplatePropertyHeader = false;
+
+ /**
+ * suppress pre and post filter
+ *
+ * @var bool
+ */
+ public $suppressFilter = false;
+
+ /**
+ * flag if compiled template file shall we written
+ *
+ * @var bool
+ */
+ public $write_compiled_code = true;
+
+ /**
+ * flag if currently a template function is compiled
+ *
+ * @var bool
+ */
+ public $compiles_template_function = false;
+
+ /**
+ * called subfuntions from template function
+ *
+ * @var array
+ */
+ public $called_functions = array();
+
+ /**
+ * flags for used modifier plugins
+ *
+ * @var array
+ */
+ public $modifier_plugins = array();
+
+ /**
+ * type of already compiled modifier
+ *
+ * @var array
+ */
+ public $known_modifier_type = array();
+
+ /**
+ * method to compile a Smarty template
+ *
+ * @param mixed $_content template source
+ *
+ * @return bool true if compiling succeeded, false if it failed
+ */
+ abstract protected function doCompile($_content);
+
+ /**
+ * Initialize compiler
+ */
+ public function __construct()
+ {
+ $this->nocache_hash = str_replace(array('.', ','), '-', uniqid(rand(), true));
+ }
+
+ /**
+ * Method to compile a Smarty template
+ *
+ * @param Smarty_Internal_Template $template template object to compile
+ * @param bool $nocache true is shall be compiled in nocache mode
+ *
+ * @return bool true if compiling succeeded, false if it failed
+ */
+ public function compileTemplate(Smarty_Internal_Template $template, $nocache = false)
+ {
+ if (empty($template->properties['nocache_hash'])) {
+ $template->properties['nocache_hash'] = $this->nocache_hash;
+ } else {
+ $this->nocache_hash = $template->properties['nocache_hash'];
+ }
+ // flag for nochache sections
+ $this->nocache = $nocache;
+ $this->tag_nocache = false;
+ // save template object in compiler class
+ $this->template = $template;
+ // reset has nocache code flag
+ $this->template->has_nocache_code = false;
+ $save_source = $this->template->source;
+ // template header code
+ $template_header = '';
+ if (!$this->suppressHeader) {
+ $template_header .= "<?php /* Smarty version " . Smarty::SMARTY_VERSION . ", created on " . strftime("%Y-%m-%d %H:%M:%S") . "\n";
+ $template_header .= " compiled from \"" . $this->template->source->filepath . "\" */ ?>\n";
+ }
+
+ if (empty($this->template->source->components)) {
+ $this->sources = array($template->source);
+ } else {
+ // we have array of inheritance templates by extends: resource
+ $this->sources = array_reverse($template->source->components);
+ }
+ $loop = 0;
+ // the $this->sources array can get additional elements while compiling by the {extends} tag
+ while ($this->template->source = array_shift($this->sources)) {
+ $this->smarty->_current_file = $this->template->source->filepath;
+ if ($this->smarty->debugging) {
+ Smarty_Internal_Debug::start_compile($this->template);
+ }
+ $no_sources = count($this->sources);
+ if ($loop || $no_sources) {
+ $this->template->properties['file_dependency'][$this->template->source->uid] = array($this->template->source->filepath, $this->template->source->timestamp, $this->template->source->type);
+ }
+ $loop ++;
+ if ($no_sources) {
+ $this->inheritance_child = true;
+ } else {
+ $this->inheritance_child = false;
+ }
+ do {
+ $_compiled_code = '';
+ // flag for aborting current and start recompile
+ $this->abort_and_recompile = false;
+ // get template source
+ $_content = $this->template->source->content;
+ if ($_content != '') {
+ // run prefilter if required
+ if ((isset($this->smarty->autoload_filters['pre']) || isset($this->smarty->registered_filters['pre'])) && !$this->suppressFilter) {
+ $_content = Smarty_Internal_Filter_Handler::runFilter('pre', $_content, $template);
+ }
+ // call compiler
+ $_compiled_code = $this->doCompile($_content);
+ }
+ } while ($this->abort_and_recompile);
+ if ($this->smarty->debugging) {
+ Smarty_Internal_Debug::end_compile($this->template);
+ }
+ }
+ // restore source
+ $this->template->source = $save_source;
+ unset($save_source);
+ $this->smarty->_current_file = $this->template->source->filepath;
+ // free memory
+ unset($this->parser->root_buffer, $this->parser->current_buffer, $this->parser, $this->lex, $this->template);
+ self::$_tag_objects = array();
+ // return compiled code to template object
+ $merged_code = '';
+ if (!$this->suppressMergedTemplates && !empty($this->merged_templates)) {
+ foreach ($this->merged_templates as $code) {
+ $merged_code .= $code;
+ }
+ }
+ // run postfilter if required on compiled template code
+ if ((isset($this->smarty->autoload_filters['post']) || isset($this->smarty->registered_filters['post'])) && !$this->suppressFilter && $_compiled_code != '') {
+ $_compiled_code = Smarty_Internal_Filter_Handler::runFilter('post', $_compiled_code, $template);
+ }
+ if ($this->suppressTemplatePropertyHeader) {
+ $code = $_compiled_code . $merged_code;
+ } else {
+ $code = $template_header . $template->createTemplateCodeFrame($_compiled_code) . $merged_code;
+ }
+ // unset content because template inheritance could have replace source with parent code
+ unset ($template->source->content);
+
+ return $code;
+ }
+
+ /**
+ * Compile Tag
+ * This is a call back from the lexer/parser
+ * It executes the required compile plugin for the Smarty tag
+ *
+ * @param string $tag tag name
+ * @param array $args array with tag attributes
+ * @param array $parameter array with compilation parameter
+ *
+ * @throws SmartyCompilerException
+ * @throws SmartyException
+ * @return string compiled code
+ */
+ public function compileTag($tag, $args, $parameter = array())
+ {
+ // $args contains the attributes parsed and compiled by the lexer/parser
+ // assume that tag does compile into code, but creates no HTML output
+ $this->has_code = true;
+ $this->has_output = false;
+ // log tag/attributes
+ if (isset($this->smarty->get_used_tags) && $this->smarty->get_used_tags) {
+ $this->template->used_tags[] = array($tag, $args);
+ }
+ // check nocache option flag
+ if (in_array("'nocache'", $args) || in_array(array('nocache' => 'true'), $args)
+ || in_array(array('nocache' => '"true"'), $args) || in_array(array('nocache' => "'true'"), $args)
+ ) {
+ $this->tag_nocache = true;
+ }
+ // compile the smarty tag (required compile classes to compile the tag are autoloaded)
+ if (($_output = $this->callTagCompiler($tag, $args, $parameter)) === false) {
+ if (isset($this->smarty->template_functions[$tag])) {
+ // template defined by {template} tag
+ $args['_attr']['name'] = "'" . $tag . "'";
+ $_output = $this->callTagCompiler('call', $args, $parameter);
+ }
+ }
+ if ($_output !== false) {
+ if ($_output !== true) {
+ // did we get compiled code
+ if ($this->has_code) {
+ // Does it create output?
+ if ($this->has_output) {
+ $_output .= "\n";
+ }
+ // return compiled code
+ return $_output;
+ }
+ }
+ // tag did not produce compiled code
+ return null;
+ } else {
+ // map_named attributes
+ if (isset($args['_attr'])) {
+ foreach ($args['_attr'] as $key => $attribute) {
+ if (is_array($attribute)) {
+ $args = array_merge($args, $attribute);
+ }
+ }
+ }
+ // not an internal compiler tag
+ if (strlen($tag) < 6 || substr($tag, - 5) != 'close') {
+ // check if tag is a registered object
+ if (isset($this->smarty->registered_objects[$tag]) && isset($parameter['object_method'])) {
+ $method = $parameter['object_method'];
+ if (!in_array($method, $this->smarty->registered_objects[$tag][3]) &&
+ (empty($this->smarty->registered_objects[$tag][1]) || in_array($method, $this->smarty->registered_objects[$tag][1]))
+ ) {
+ return $this->callTagCompiler('private_object_function', $args, $parameter, $tag, $method);
+ } elseif (in_array($method, $this->smarty->registered_objects[$tag][3])) {
+ return $this->callTagCompiler('private_object_block_function', $args, $parameter, $tag, $method);
+ } else {
+ // throw exception
+ $this->trigger_template_error('not allowed method "' . $method . '" in registered object "' . $tag . '"', $this->lex->taglineno);
+ }
+ }
+ // check if tag is registered
+ foreach (array(Smarty::PLUGIN_COMPILER, Smarty::PLUGIN_FUNCTION, Smarty::PLUGIN_BLOCK) as $plugin_type) {
+ if (isset($this->smarty->registered_plugins[$plugin_type][$tag])) {
+ // if compiler function plugin call it now
+ if ($plugin_type == Smarty::PLUGIN_COMPILER) {
+ $new_args = array();
+ foreach ($args as $key => $mixed) {
+ if (is_array($mixed)) {
+ $new_args = array_merge($new_args, $mixed);
+ } else {
+ $new_args[$key] = $mixed;
+ }
+ }
+ if (!$this->smarty->registered_plugins[$plugin_type][$tag][1]) {
+ $this->tag_nocache = true;
+ }
+ $function = $this->smarty->registered_plugins[$plugin_type][$tag][0];
+ if (!is_array($function)) {
+ return $function($new_args, $this);
+ } elseif (is_object($function[0])) {
+ return $this->smarty->registered_plugins[$plugin_type][$tag][0][0]->$function[1]($new_args, $this);
+ } else {
+ return call_user_func_array($function, array($new_args, $this));
+ }
+ }
+ // compile registered function or block function
+ if ($plugin_type == Smarty::PLUGIN_FUNCTION || $plugin_type == Smarty::PLUGIN_BLOCK) {
+ return $this->callTagCompiler('private_registered_' . $plugin_type, $args, $parameter, $tag);
+ }
+ }
+ }
+ // check plugins from plugins folder
+ foreach ($this->smarty->plugin_search_order as $plugin_type) {
+ if ($plugin_type == Smarty::PLUGIN_COMPILER && $this->smarty->loadPlugin('smarty_compiler_' . $tag) && (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this))) {
+ $plugin = 'smarty_compiler_' . $tag;
+ if (is_callable($plugin)) {
+ // convert arguments format for old compiler plugins
+ $new_args = array();
+ foreach ($args as $key => $mixed) {
+ if (is_array($mixed)) {
+ $new_args = array_merge($new_args, $mixed);
+ } else {
+ $new_args[$key] = $mixed;
+ }
+ }
+
+ return $plugin($new_args, $this->smarty);
+ }
+ if (class_exists($plugin, false)) {
+ $plugin_object = new $plugin;
+ if (method_exists($plugin_object, 'compile')) {
+ return $plugin_object->compile($args, $this);
+ }
+ }
+ throw new SmartyException("Plugin \"{$tag}\" not callable");
+ } else {
+ if ($function = $this->getPlugin($tag, $plugin_type)) {
+ if (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this)) {
+ return $this->callTagCompiler('private_' . $plugin_type . '_plugin', $args, $parameter, $tag, $function);
+ }
+ }
+ }
+ }
+ if (is_callable($this->smarty->default_plugin_handler_func)) {
+ $found = false;
+ // look for already resolved tags
+ foreach ($this->smarty->plugin_search_order as $plugin_type) {
+ if (isset($this->default_handler_plugins[$plugin_type][$tag])) {
+ $found = true;
+ break;
+ }
+ }
+ if (!$found) {
+ // call default handler
+ foreach ($this->smarty->plugin_search_order as $plugin_type) {
+ if ($this->getPluginFromDefaultHandler($tag, $plugin_type)) {
+ $found = true;
+ break;
+ }
+ }
+ }
+ if ($found) {
+ // if compiler function plugin call it now
+ if ($plugin_type == Smarty::PLUGIN_COMPILER) {
+ $new_args = array();
+ foreach ($args as $mixed) {
+ $new_args = array_merge($new_args, $mixed);
+ }
+ $function = $this->default_handler_plugins[$plugin_type][$tag][0];
+ if (!is_array($function)) {
+ return $function($new_args, $this);
+ } elseif (is_object($function[0])) {
+ return $this->default_handler_plugins[$plugin_type][$tag][0][0]->$function[1]($new_args, $this);
+ } else {
+ return call_user_func_array($function, array($new_args, $this));
+ }
+ } else {
+ return $this->callTagCompiler('private_registered_' . $plugin_type, $args, $parameter, $tag);
+ }
+ }
+ }
+ } else {
+ // compile closing tag of block function
+ $base_tag = substr($tag, 0, - 5);
+ // check if closing tag is a registered object
+ if (isset($this->smarty->registered_objects[$base_tag]) && isset($parameter['object_method'])) {
+ $method = $parameter['object_method'];
+ if (in_array($method, $this->smarty->registered_objects[$base_tag][3])) {
+ return $this->callTagCompiler('private_object_block_function', $args, $parameter, $tag, $method);
+ } else {
+ // throw exception
+ $this->trigger_template_error('not allowed closing tag method "' . $method . '" in registered object "' . $base_tag . '"', $this->lex->taglineno);
+ }
+ }
+ // registered block tag ?
+ if (isset($this->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$base_tag]) || isset($this->default_handler_plugins[Smarty::PLUGIN_BLOCK][$base_tag])) {
+ return $this->callTagCompiler('private_registered_block', $args, $parameter, $tag);
+ }
+ // block plugin?
+ if ($function = $this->getPlugin($base_tag, Smarty::PLUGIN_BLOCK)) {
+ return $this->callTagCompiler('private_block_plugin', $args, $parameter, $tag, $function);
+ }
+ // registered compiler plugin ?
+ if (isset($this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag])) {
+ // if compiler function plugin call it now
+ $args = array();
+ if (!$this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag][1]) {
+ $this->tag_nocache = true;
+ }
+ $function = $this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag][0];
+ if (!is_array($function)) {
+ return $function($args, $this);
+ } elseif (is_object($function[0])) {
+ return $this->smarty->registered_plugins[Smarty::PLUGIN_COMPILER][$tag][0][0]->$function[1]($args, $this);
+ } else {
+ return call_user_func_array($function, array($args, $this));
+ }
+ }
+ if ($this->smarty->loadPlugin('smarty_compiler_' . $tag)) {
+ $plugin = 'smarty_compiler_' . $tag;
+ if (is_callable($plugin)) {
+ return $plugin($args, $this->smarty);
+ }
+ if (class_exists($plugin, false)) {
+ $plugin_object = new $plugin;
+ if (method_exists($plugin_object, 'compile')) {
+ return $plugin_object->compile($args, $this);
+ }
+ }
+ throw new SmartyException("Plugin \"{$tag}\" not callable");
+ }
+ }
+ $this->trigger_template_error("unknown tag \"" . $tag . "\"", $this->lex->taglineno);
+ }
+ }
+
+ /**
+ * lazy loads internal compile plugin for tag and calls the compile method
+ * compile objects cached for reuse.
+ * class name format: Smarty_Internal_Compile_TagName
+ * plugin filename format: Smarty_Internal_Tagname.php
+ *
+ * @param string $tag tag name
+ * @param array $args list of tag attributes
+ * @param mixed $param1 optional parameter
+ * @param mixed $param2 optional parameter
+ * @param mixed $param3 optional parameter
+ *
+ * @return string compiled code
+ */
+ public function callTagCompiler($tag, $args, $param1 = null, $param2 = null, $param3 = null)
+ {
+ // re-use object if already exists
+ if (isset(self::$_tag_objects[$tag])) {
+ // compile this tag
+ return self::$_tag_objects[$tag]->compile($args, $this, $param1, $param2, $param3);
+ }
+ // lazy load internal compiler plugin
+ $class_name = 'Smarty_Internal_Compile_' . $tag;
+ if ($this->smarty->loadPlugin($class_name)) {
+ // check if tag allowed by security
+ if (!isset($this->smarty->security_policy) || $this->smarty->security_policy->isTrustedTag($tag, $this)) {
+ // use plugin if found
+ self::$_tag_objects[$tag] = new $class_name;
+ // compile this tag
+ return self::$_tag_objects[$tag]->compile($args, $this, $param1, $param2, $param3);
+ }
+ }
+ // no internal compile plugin for this tag
+ return false;
+ }
+
+ /**
+ * Check for plugins and return function name
+ *
+ * @param $plugin_name
+ * @param string $plugin_type type of plugin
+ *
+ * @return string call name of function
+ */
+ public function getPlugin($plugin_name, $plugin_type)
+ {
+ $function = null;
+ if ($this->template->caching && ($this->nocache || $this->tag_nocache)) {
+ if (isset($this->template->required_plugins['nocache'][$plugin_name][$plugin_type])) {
+ $function = $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['function'];
+ } elseif (isset($this->template->required_plugins['compiled'][$plugin_name][$plugin_type])) {
+ $this->template->required_plugins['nocache'][$plugin_name][$plugin_type] = $this->template->required_plugins['compiled'][$plugin_name][$plugin_type];
+ $function = $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['function'];
+ }
+ } else {
+ if (isset($this->template->required_plugins['compiled'][$plugin_name][$plugin_type])) {
+ $function = $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['function'];
+ } elseif (isset($this->template->required_plugins['nocache'][$plugin_name][$plugin_type])) {
+ $this->template->required_plugins['compiled'][$plugin_name][$plugin_type] = $this->template->required_plugins['nocache'][$plugin_name][$plugin_type];
+ $function = $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['function'];
+ }
+ }
+ if (isset($function)) {
+ if ($plugin_type == 'modifier') {
+ $this->modifier_plugins[$plugin_name] = true;
+ }
+
+ return $function;
+ }
+ // loop through plugin dirs and find the plugin
+ $function = 'smarty_' . $plugin_type . '_' . $plugin_name;
+ $file = $this->smarty->loadPlugin($function, false);
+
+ if (is_string($file)) {
+ if ($this->template->caching && ($this->nocache || $this->tag_nocache)) {
+ $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['file'] = $file;
+ $this->template->required_plugins['nocache'][$plugin_name][$plugin_type]['function'] = $function;
+ } else {
+ $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['file'] = $file;
+ $this->template->required_plugins['compiled'][$plugin_name][$plugin_type]['function'] = $function;
+ }
+ if ($plugin_type == 'modifier') {
+ $this->modifier_plugins[$plugin_name] = true;
+ }
+
+ return $function;
+ }
+ if (is_callable($function)) {
+ // plugin function is defined in the script
+ return $function;
+ }
+
+ return false;
+ }
+
+ /**
+ * Check for plugins by default plugin handler
+ *
+ * @param string $tag name of tag
+ * @param string $plugin_type type of plugin
+ *
+ * @return boolean true if found
+ */
+ public function getPluginFromDefaultHandler($tag, $plugin_type)
+ {
+ $callback = null;
+ $script = null;
+ $cacheable = true;
+ $result = call_user_func_array(
+ $this->smarty->default_plugin_handler_func, array($tag, $plugin_type, $this->template, &$callback, &$script, &$cacheable)
+ );
+ if ($result) {
+ $this->tag_nocache = $this->tag_nocache || !$cacheable;
+ if ($script !== null) {
+ if (is_file($script)) {
+ if ($this->template->caching && ($this->nocache || $this->tag_nocache)) {
+ $this->template->required_plugins['nocache'][$tag][$plugin_type]['file'] = $script;
+ $this->template->required_plugins['nocache'][$tag][$plugin_type]['function'] = $callback;
+ } else {
+ $this->template->required_plugins['compiled'][$tag][$plugin_type]['file'] = $script;
+ $this->template->required_plugins['compiled'][$tag][$plugin_type]['function'] = $callback;
+ }
+ include_once $script;
+ } else {
+ $this->trigger_template_error("Default plugin handler: Returned script file \"{$script}\" for \"{$tag}\" not found");
+ }
+ }
+ if (!is_string($callback) && !(is_array($callback) && is_string($callback[0]) && is_string($callback[1]))) {
+ $this->trigger_template_error("Default plugin handler: Returned callback for \"{$tag}\" must be a static function name or array of class and function name");
+ }
+ if (is_callable($callback)) {
+ $this->default_handler_plugins[$plugin_type][$tag] = array($callback, true, array());
+
+ return true;
+ } else {
+ $this->trigger_template_error("Default plugin handler: Returned callback for \"{$tag}\" not callable");
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Inject inline code for nocache template sections
+ * This method gets the content of each template element from the parser.
+ * If the content is compiled code and it should be not cached the code is injected
+ * into the rendered output.
+ *
+ * @param string $content content of template element
+ * @param boolean $is_code true if content is compiled code
+ *
+ * @return string content
+ */
+ public function processNocacheCode($content, $is_code)
+ {
+ // If the template is not evaluated and we have a nocache section and or a nocache tag
+ if ($is_code && !empty($content)) {
+ // generate replacement code
+ if ((!($this->template->source->recompiled) || $this->forceNocache) && $this->template->caching && !$this->suppressNocacheProcessing &&
+ ($this->nocache || $this->tag_nocache)
+ ) {
+ $this->template->has_nocache_code = true;
+ $_output = addcslashes($content, '\'\\');
+ $_output = str_replace("^#^", "'", $_output);
+ $_output = "<?php echo '/*%%SmartyNocache:{$this->nocache_hash}%%*/" . $_output . "/*/%%SmartyNocache:{$this->nocache_hash}%%*/';?>\n";
+ // make sure we include modifier plugins for nocache code
+ foreach ($this->modifier_plugins as $plugin_name => $dummy) {
+ if (isset($this->template->required_plugins['compiled'][$plugin_name]['modifier'])) {
+ $this->template->required_plugins['nocache'][$plugin_name]['modifier'] = $this->template->required_plugins['compiled'][$plugin_name]['modifier'];
+ }
+ }
+ } else {
+ $_output = $content;
+ }
+ } else {
+ $_output = $content;
+ }
+ $this->modifier_plugins = array();
+ $this->suppressNocacheProcessing = false;
+ $this->tag_nocache = false;
+
+ return $_output;
+ }
+
+ /**
+ * push current file and line offset on stack for tracing {block} source lines
+ *
+ * @param string $file new filename
+ * @param string $uid uid of file
+ * @param int $line line offset to source
+ * @param bool $debug false debug end_compile shall not be called
+ */
+ public function pushTrace($file, $uid, $line, $debug = true)
+ {
+ if ($this->smarty->debugging && $debug) {
+ Smarty_Internal_Debug::end_compile($this->template);
+ }
+ array_push($this->trace_stack, array($this->smarty->_current_file, $this->trace_filepath, $this->trace_uid, $this->trace_line_offset));
+ $this->trace_filepath = $this->smarty->_current_file = $file;
+ $this->trace_uid = $uid;
+ $this->trace_line_offset = $line;
+ if ($this->smarty->debugging) {
+ Smarty_Internal_Debug::start_compile($this->template);
+ }
+ }
+
+ /**
+ * restore file and line offset
+
+ */
+ public function popTrace()
+ {
+ if ($this->smarty->debugging) {
+ Smarty_Internal_Debug::end_compile($this->template);
+ }
+ $r = array_pop($this->trace_stack);
+ $this->smarty->_current_file = $r[0];
+ $this->trace_filepath = $r[1];
+ $this->trace_uid = $r[2];
+ $this->trace_line_offset = $r[3];
+ if ($this->smarty->debugging) {
+ Smarty_Internal_Debug::start_compile($this->template);
+ }
+ }
+
+ /**
+ * display compiler error messages without dying
+ * If parameter $args is empty it is a parser detected syntax error.
+ * In this case the parser is called to obtain information about expected tokens.
+ * If parameter $args contains a string this is used as error message
+ *
+ * @param string $args individual error message or null
+ * @param string $line line-number
+ *
+ * @throws SmartyCompilerException when an unexpected token is found
+ */
+ public function trigger_template_error($args = null, $line = null)
+ {
+ // get template source line which has error
+ if (!isset($line)) {
+ $line = $this->lex->line;
+ }
+ // $line += $this->trace_line_offset;
+ $match = preg_split("/\n/", $this->lex->data);
+ $error_text = 'Syntax error in template "' . (empty($this->trace_filepath) ? $this->template->source->filepath : $this->trace_filepath) . '" on line ' . ($line + $this->trace_line_offset) . ' "' . trim(preg_replace('![\t\r\n]+!', ' ', $match[$line - 1])) . '" ';
+ if (isset($args)) {
+ // individual error message
+ $error_text .= $args;
+ } else {
+ // expected token from parser
+ $error_text .= ' - Unexpected "' . $this->lex->value . '"';
+ if (count($this->parser->yy_get_expected_tokens($this->parser->yymajor)) <= 4) {
+ foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) {
+ $exp_token = $this->parser->yyTokenName[$token];
+ if (isset($this->lex->smarty_token_names[$exp_token])) {
+ // token type from lexer
+ $expect[] = '"' . $this->lex->smarty_token_names[$exp_token] . '"';
+ } else {
+ // otherwise internal token name
+ $expect[] = $this->parser->yyTokenName[$token];
+ }
+ }
+ $error_text .= ', expected one of: ' . implode(' , ', $expect);
+ }
+ }
+ $e = new SmartyCompilerException($error_text);
+ $e->line = $line;
+ $e->source = trim(preg_replace('![\t\r\n]+!', ' ', $match[$line - 1]));
+ $e->desc = $args;
+ $e->template = $this->template->source->filepath;
+ throw $e;
+ }
+}
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_templatelexer.php b/library/Smarty/libs/sysplugins/smarty_internal_templatelexer.php
index bfc413aef..4de8a9c06 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_templatelexer.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_templatelexer.php
@@ -1,15 +1,16 @@
<?php
/**
-* Smarty Internal Plugin Templatelexer
-*
-* This is the lexer to break the template source into tokens
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
+ * Smarty Internal Plugin Templatelexer
+ * This is the lexer to break the template source into tokens
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
+
/**
-* Smarty Internal Plugin Templatelexer
-*/
+ * Smarty Internal Plugin Templatelexer
+ */
class Smarty_Internal_Templatelexer
{
public $data;
@@ -19,156 +20,179 @@ class Smarty_Internal_Templatelexer
public $node;
public $line;
public $taglineno;
+ public $is_phpScript = false;
public $state = 1;
+ public $smarty;
+ public $literal_cnt = 0;
private $heredoc_id_stack = Array();
- public $smarty_token_names = array ( // Text for parser error messages
- 'IDENTITY' => '===',
- 'NONEIDENTITY' => '!==',
- 'EQUALS' => '==',
- 'NOTEQUALS' => '!=',
- 'GREATEREQUAL' => '(>=,ge)',
- 'LESSEQUAL' => '(<=,le)',
- 'GREATERTHAN' => '(>,gt)',
- 'LESSTHAN' => '(<,lt)',
- 'MOD' => '(%,mod)',
- 'NOT' => '(!,not)',
- 'LAND' => '(&&,and)',
- 'LOR' => '(||,or)',
- 'LXOR' => 'xor',
- 'OPENP' => '(',
- 'CLOSEP' => ')',
- 'OPENB' => '[',
- 'CLOSEB' => ']',
- 'PTR' => '->',
- 'APTR' => '=>',
- 'EQUAL' => '=',
- 'NUMBER' => 'number',
- 'UNIMATH' => '+" , "-',
- 'MATH' => '*" , "/" , "%',
- 'INCDEC' => '++" , "--',
- 'SPACE' => ' ',
- 'DOLLAR' => '$',
- 'SEMICOLON' => ';',
- 'COLON' => ':',
- 'DOUBLECOLON' => '::',
- 'AT' => '@',
- 'HATCH' => '#',
- 'QUOTE' => '"',
- 'BACKTICK' => '`',
- 'VERT' => '|',
- 'DOT' => '.',
- 'COMMA' => '","',
- 'ANDSYM' => '"&"',
- 'QMARK' => '"?"',
- 'ID' => 'identifier',
- 'TEXT' => 'text',
- 'FAKEPHPSTARTTAG' => 'Fake PHP start tag',
- 'PHPSTARTTAG' => 'PHP start tag',
- 'PHPENDTAG' => 'PHP end tag',
- 'LITERALSTART' => 'Literal start',
- 'LITERALEND' => 'Literal end',
- 'LDELSLASH' => 'closing tag',
- 'COMMENT' => 'comment',
- 'AS' => 'as',
- 'TO' => 'to',
- );
-
-
- function __construct($data,$compiler)
- {
-// $this->data = preg_replace("/(\r\n|\r|\n)/", "\n", $data);
+ public $yyTraceFILE;
+ public $yyTracePrompt;
+ public $state_name = array(1 => 'TEXT', 2 => 'SMARTY', 3 => 'LITERAL', 4 => 'DOUBLEQUOTEDSTRING', 5 => 'CHILDBODY');
+ public $smarty_token_names = array( // Text for parser error messages
+ 'IDENTITY' => '===',
+ 'NONEIDENTITY' => '!==',
+ 'EQUALS' => '==',
+ 'NOTEQUALS' => '!=',
+ 'GREATEREQUAL' => '(>=,ge)',
+ 'LESSEQUAL' => '(<=,le)',
+ 'GREATERTHAN' => '(>,gt)',
+ 'LESSTHAN' => '(<,lt)',
+ 'MOD' => '(%,mod)',
+ 'NOT' => '(!,not)',
+ 'LAND' => '(&&,and)',
+ 'LOR' => '(||,or)',
+ 'LXOR' => 'xor',
+ 'OPENP' => '(',
+ 'CLOSEP' => ')',
+ 'OPENB' => '[',
+ 'CLOSEB' => ']',
+ 'PTR' => '->',
+ 'APTR' => '=>',
+ 'EQUAL' => '=',
+ 'NUMBER' => 'number',
+ 'UNIMATH' => '+" , "-',
+ 'MATH' => '*" , "/" , "%',
+ 'INCDEC' => '++" , "--',
+ 'SPACE' => ' ',
+ 'DOLLAR' => '$',
+ 'SEMICOLON' => ';',
+ 'COLON' => ':',
+ 'DOUBLECOLON' => '::',
+ 'AT' => '@',
+ 'HATCH' => '#',
+ 'QUOTE' => '"',
+ 'BACKTICK' => '`',
+ 'VERT' => '|',
+ 'DOT' => '.',
+ 'COMMA' => '","',
+ 'ANDSYM' => '"&"',
+ 'QMARK' => '"?"',
+ 'ID' => 'identifier',
+ 'TEXT' => 'text',
+ 'FAKEPHPSTARTTAG' => 'Fake PHP start tag',
+ 'PHPSTARTTAG' => 'PHP start tag',
+ 'PHPENDTAG' => 'PHP end tag',
+ 'LITERALSTART' => 'Literal start',
+ 'LITERALEND' => 'Literal end',
+ 'LDELSLASH' => 'closing tag',
+ 'COMMENT' => 'comment',
+ 'AS' => 'as',
+ 'TO' => 'to',
+ );
+
+ function __construct($data, $compiler)
+ {
+ // $this->data = preg_replace("/(\r\n|\r|\n)/", "\n", $data);
$this->data = $data;
$this->counter = 0;
+ if (preg_match('/^\xEF\xBB\xBF/', $this->data, $match)) {
+ $this->counter += strlen($match[0]);
+ }
$this->line = 1;
$this->smarty = $compiler->smarty;
$this->compiler = $compiler;
- $this->ldel = preg_quote($this->smarty->left_delimiter,'/');
+ $this->ldel = preg_quote($this->smarty->left_delimiter, '/');
$this->ldel_length = strlen($this->smarty->left_delimiter);
- $this->rdel = preg_quote($this->smarty->right_delimiter,'/');
- $this->smarty_token_names['LDEL'] = $this->smarty->left_delimiter;
- $this->smarty_token_names['RDEL'] = $this->smarty->right_delimiter;
- $this->mbstring_overload = ini_get('mbstring.func_overload') & 2;
- }
+ $this->rdel = preg_quote($this->smarty->right_delimiter, '/');
+ $this->rdel_length = strlen($this->smarty->right_delimiter);
+ $this->smarty_token_names['LDEL'] = $this->smarty->left_delimiter;
+ $this->smarty_token_names['RDEL'] = $this->smarty->right_delimiter;
+ }
+ public function PrintTrace()
+ {
+ $this->yyTraceFILE = fopen('php://output', 'w');
+ $this->yyTracePrompt = '<br>';
+ }
private $_yy_state = 1;
private $_yy_stack = array();
- function yylex()
+ public function yylex()
{
return $this->{'yylex' . $this->_yy_state}();
}
- function yypushstate($state)
+ public function yypushstate($state)
{
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sState push %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state);
+ }
array_push($this->_yy_stack, $this->_yy_state);
$this->_yy_state = $state;
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state);
+ }
}
- function yypopstate()
+ public function yypopstate()
{
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sState pop %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state);
+ }
$this->_yy_state = array_pop($this->_yy_stack);
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%snew State %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state);
+ }
}
- function yybegin($state)
+ public function yybegin($state)
{
$this->_yy_state = $state;
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sState set %s\n", $this->yyTracePrompt, isset($this->state_name[$this->_yy_state]) ? $this->state_name[$this->_yy_state] : $this->_yy_state);
+ }
}
-
-
- function yylex1()
- {
- $tokenMap = array (
- 1 => 0,
- 2 => 0,
- 3 => 1,
- 5 => 0,
- 6 => 0,
- 7 => 0,
- 8 => 0,
- 9 => 0,
- 10 => 0,
- 11 => 1,
- 13 => 0,
- 14 => 0,
- 15 => 0,
- 16 => 0,
- 17 => 0,
- 18 => 0,
- 19 => 0,
- 20 => 0,
- 21 => 0,
- 22 => 0,
- 23 => 0,
- );
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ public function yylex1()
+ {
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 1,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 1,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 2,
+ 17 => 0,
+ 18 => 0,
+ 19 => 0,
+ 20 => 0,
+ 21 => 0,
+ 22 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
- $yy_global_pattern = "/\G(".$this->ldel."[$]smarty\\.block\\.child".$this->rdel.")|\G(\\{\\})|\G(".$this->ldel."\\*([\S\s]*?)\\*".$this->rdel.")|\G(".$this->ldel."strip".$this->rdel.")|\G(".$this->ldel."\\s{1,}strip\\s{1,}".$this->rdel.")|\G(".$this->ldel."\/strip".$this->rdel.")|\G(".$this->ldel."\\s{1,}\/strip\\s{1,}".$this->rdel.")|\G(".$this->ldel."\\s*literal\\s*".$this->rdel.")|\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s*setfilter\\s+)|\G(".$this->ldel."\\s{1,})|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|\G(\\?>)|\G(<%)|\G(%>)|\G([\S\s])/iS";
+ $yy_global_pattern = "/\G(\\{\\})|\G(" . $this->ldel . "\\*([\S\s]*?)\\*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*strip\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/strip\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*(if|elseif|else if|while)\\s+)|\G(" . $this->ldel . "\\s*for\\s+)|\G(" . $this->ldel . "\\s*foreach(?![^\s]))|\G(" . $this->ldel . "\\s*setfilter\\s+)|\G(" . $this->ldel . "\\s*\/)|\G(" . $this->ldel . "\\s*)|\G((<script\\s+language\\s*=\\s*[\"']?\\s*php\\s*[\"']?\\s*>)|(<\\?(?:php\\w+|=|[a-zA-Z]+)?))|\G(\\?>)|\G(<\/script>)|\G(\\s*" . $this->rdel . ")|\G(<%)|\G(%>)|\G([\S\s])/iS";
do {
- if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
$yysubmatches = $yymatches;
$yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
if (!count($yymatches)) {
throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr($this->data,
- $this->counter, 5) . '... state TEXT');
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state TEXT');
}
next($yymatches); // skip global match
$this->token = key($yymatches); // token number
if ($tokenMap[$this->token]) {
// extract sub-patterns for passing to lex function
$yysubmatches = array_slice($yysubmatches, $this->token + 1,
- $tokenMap[$this->token]);
+ $tokenMap[$this->token]);
} else {
$yysubmatches = array();
}
$this->value = current($yymatches); // token value
$r = $this->{'yy_r1_' . $this->token}($yysubmatches);
if ($r === null) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
// accept this token
return true;
@@ -177,300 +201,295 @@ class Smarty_Internal_Templatelexer
// process this token in the new state
return $this->yylex();
} elseif ($r === false) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
// skip this token
continue;
- } } else {
+ }
+ } else {
throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[$this->counter]);
+ ': ' . $this->data[$this->counter]);
}
break;
} while (true);
-
} // end function
-
const TEXT = 1;
+
function yy_r1_1($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_SMARTYBLOCKCHILD;
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
}
+
function yy_r1_2($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ $this->token = Smarty_Internal_Templateparser::TP_COMMENT;
}
- function yy_r1_3($yy_subpatterns)
+
+ function yy_r1_4($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_COMMENT;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_STRIPON;
+ }
}
+
function yy_r1_5($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_STRIPON;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_STRIPOFF;
+ }
}
+
function yy_r1_6($yy_subpatterns)
{
- if ($this->smarty->auto_literal) {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_STRIPON;
- }
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART;
+ $this->yypushstate(self::LITERAL);
+ }
}
+
function yy_r1_7($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_STRIPOFF;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
- function yy_r1_8($yy_subpatterns)
- {
- if ($this->smarty->auto_literal) {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_STRIPOFF;
- }
- }
function yy_r1_9($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART;
- $this->yypushstate(self::LITERAL);
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
+
function yy_r1_10($yy_subpatterns)
{
- if ($this->smarty->auto_literal) {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
+
function yy_r1_11($yy_subpatterns)
{
- if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELSETFILTER;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
- function yy_r1_13($yy_subpatterns)
- {
- if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
- }
- function yy_r1_14($yy_subpatterns)
+ function yy_r1_12($yy_subpatterns)
{
- if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
- function yy_r1_15($yy_subpatterns)
+
+ function yy_r1_13($yy_subpatterns)
{
- if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELSETFILTER;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDEL;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
- function yy_r1_16($yy_subpatterns)
+
+ function yy_r1_14($yy_subpatterns)
{
- if ($this->smarty->auto_literal) {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDEL;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ if (($script = strpos($this->value, '<s') === 0) || in_array($this->value, Array('<?', '<?=', '<?php'))) {
+ if ($script) {
+ $this->is_phpScript = true;
+ }
+ $this->token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG;
+ } elseif ($this->value == '<?xml') {
+ $this->token = Smarty_Internal_Templateparser::TP_XMLTAG;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ //$this->value = substr($this->value, 0, 2);
+ }
}
+
function yy_r1_17($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
+ $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG;
}
+
function yy_r1_18($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LDEL;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
+ $this->token = Smarty_Internal_Templateparser::TP_PHPENDSCRIPT;
}
+
function yy_r1_19($yy_subpatterns)
{
- if (in_array($this->value, Array('<?', '<?=', '<?php'))) {
- $this->token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG;
- } elseif ($this->value == '<?xml') {
- $this->token = Smarty_Internal_Templateparser::TP_XMLTAG;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_FAKEPHPSTARTTAG;
- $this->value = substr($this->value, 0, 2);
- }
- }
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+
function yy_r1_20($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG;
+ $this->token = Smarty_Internal_Templateparser::TP_ASPSTARTTAG;
}
+
function yy_r1_21($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ASPSTARTTAG;
+ $this->token = Smarty_Internal_Templateparser::TP_ASPENDTAG;
}
+
function yy_r1_22($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ASPENDTAG;
- }
- function yy_r1_23($yy_subpatterns)
- {
-
- if ($this->mbstring_overload) {
- $to = mb_strlen($this->data,'latin1');
- } else {
- $to = strlen($this->data);
- }
- preg_match("/{$this->ldel}|<\?|\?>|<%|%>/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter);
- if (isset($match[0][1])) {
- $to = $match[0][1];
- }
- if ($this->mbstring_overload) {
- $this->value = mb_substr($this->data,$this->counter,$to-$this->counter,'latin1');
- } else {
- $this->value = substr($this->data,$this->counter,$to-$this->counter);
- }
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
-
-
- function yylex2()
- {
- $tokenMap = array (
- 1 => 0,
- 2 => 0,
- 3 => 1,
- 5 => 0,
- 6 => 0,
- 7 => 0,
- 8 => 0,
- 9 => 0,
- 10 => 0,
- 11 => 0,
- 12 => 0,
- 13 => 0,
- 14 => 0,
- 15 => 0,
- 16 => 0,
- 17 => 0,
- 18 => 0,
- 19 => 0,
- 20 => 1,
- 22 => 1,
- 24 => 1,
- 26 => 0,
- 27 => 0,
- 28 => 0,
- 29 => 0,
- 30 => 0,
- 31 => 0,
- 32 => 0,
- 33 => 0,
- 34 => 0,
- 35 => 0,
- 36 => 0,
- 37 => 0,
- 38 => 0,
- 39 => 0,
- 40 => 0,
- 41 => 0,
- 42 => 0,
- 43 => 3,
- 47 => 0,
- 48 => 0,
- 49 => 0,
- 50 => 0,
- 51 => 0,
- 52 => 0,
- 53 => 0,
- 54 => 0,
- 55 => 1,
- 57 => 1,
- 59 => 0,
- 60 => 0,
- 61 => 0,
- 62 => 0,
- 63 => 0,
- 64 => 0,
- 65 => 0,
- 66 => 0,
- 67 => 0,
- 68 => 0,
- 69 => 0,
- 70 => 0,
- 71 => 0,
- 72 => 0,
- 73 => 0,
- 74 => 0,
- 75 => 0,
- 76 => 0,
- 77 => 0,
- );
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ $phpEndScript = $this->is_phpScript ? '|<\\/script>' : '';
+ $to = strlen($this->data);
+ preg_match("/{$this->ldel}|<\?|<%|\?>|%>|<script\s+language\s*=\s*[\"\']?\s*php\s*[\"\']?\s*>{$phpEndScript}/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter);
+ if (isset($match[0][1])) {
+ $to = $match[0][1];
+ }
+ $this->value = substr($this->data, $this->counter, $to - $this->counter);
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+
+ public function yylex2()
+ {
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 0,
+ 3 => 1,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 0,
+ 14 => 0,
+ 15 => 1,
+ 17 => 1,
+ 19 => 1,
+ 21 => 0,
+ 22 => 0,
+ 23 => 0,
+ 24 => 0,
+ 25 => 0,
+ 26 => 0,
+ 27 => 0,
+ 28 => 0,
+ 29 => 0,
+ 30 => 0,
+ 31 => 0,
+ 32 => 0,
+ 33 => 0,
+ 34 => 0,
+ 35 => 0,
+ 36 => 0,
+ 37 => 0,
+ 38 => 3,
+ 42 => 0,
+ 43 => 0,
+ 44 => 0,
+ 45 => 0,
+ 46 => 0,
+ 47 => 0,
+ 48 => 0,
+ 49 => 0,
+ 50 => 1,
+ 52 => 1,
+ 54 => 0,
+ 55 => 0,
+ 56 => 0,
+ 57 => 0,
+ 58 => 0,
+ 59 => 0,
+ 60 => 0,
+ 61 => 0,
+ 62 => 0,
+ 63 => 0,
+ 64 => 0,
+ 65 => 0,
+ 66 => 0,
+ 67 => 0,
+ 68 => 0,
+ 69 => 0,
+ 70 => 1,
+ 72 => 0,
+ 73 => 0,
+ 74 => 0,
+ 75 => 0,
+ 76 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
- $yy_global_pattern = "/\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s{1,})|\G(\\s{1,}".$this->rdel.")|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(".$this->rdel.")|\G(\\s+is\\s+in\\s+)|\G(\\s+as\\s+)|\G(\\s+to\\s+)|\G(\\s+step\\s+)|\G(\\s+instanceof\\s+)|\G(\\s*===\\s*)|\G(\\s*!==\\s*)|\G(\\s*==\\s*|\\s+eq\\s+)|\G(\\s*!=\\s*|\\s*<>\\s*|\\s+(ne|neq)\\s+)|\G(\\s*>=\\s*|\\s+(ge|gte)\\s+)|\G(\\s*<=\\s*|\\s+(le|lte)\\s+)|\G(\\s*>\\s*|\\s+gt\\s+)|\G(\\s*<\\s*|\\s+lt\\s+)|\G(\\s+mod\\s+)|\G(!\\s*|not\\s+)|\G(\\s*&&\\s*|\\s*and\\s+)|\G(\\s*\\|\\|\\s*|\\s*or\\s+)|\G(\\s*xor\\s+)|\G(\\s+is\\s+odd\\s+by\\s+)|\G(\\s+is\\s+not\\s+odd\\s+by\\s+)|\G(\\s+is\\s+odd)|\G(\\s+is\\s+not\\s+odd)|\G(\\s+is\\s+even\\s+by\\s+)|\G(\\s+is\\s+not\\s+even\\s+by\\s+)|\G(\\s+is\\s+even)|\G(\\s+is\\s+not\\s+even)|\G(\\s+is\\s+div\\s+by\\s+)|\G(\\s+is\\s+not\\s+div\\s+by\\s+)|\G(\\((int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)\\)\\s*)|\G(\\s*\\(\\s*)|\G(\\s*\\))|\G(\\[\\s*)|\G(\\s*\\])|\G(\\s*->\\s*)|\G(\\s*=>\\s*)|\G(\\s*=\\s*)|\G(\\+\\+|--)|\G(\\s*(\\+|-)\\s*)|\G(\\s*(\\*|\/|%)\\s*)|\G(\\$)|\G(\\s*;)|\G(::)|\G(\\s*:\\s*)|\G(@)|\G(#)|\G(\")|\G(`)|\G(\\|)|\G(\\.)|\G(\\s*,\\s*)|\G(\\s*&\\s*)|\G(\\s*\\?\\s*)|\G(0[xX][0-9a-fA-F]+)|\G(\\s+[0-9]*[a-zA-Z_][a-zA-Z0-9_\-:]*\\s?=\\s?)|\G([0-9]*[a-zA-Z_]\\w*)|\G(\\d+)|\G(\\s+)|\G([\S\s])/iS";
+ $yy_global_pattern = "/\G(\")|\G('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|\G([$]smarty\\.block\\.(child|parent))|\G(\\$)|\G(\\s*" . $this->rdel . ")|\G(\\s+is\\s+in\\s+)|\G(\\s+as\\s+)|\G(\\s+to\\s+)|\G(\\s+step\\s+)|\G(\\s+instanceof\\s+)|\G(\\s*===\\s*)|\G(\\s*!==\\s*)|\G(\\s*==\\s*|\\s+eq\\s+)|\G(\\s*!=\\s*|\\s*<>\\s*|\\s+(ne|neq)\\s+)|\G(\\s*>=\\s*|\\s+(ge|gte)\\s+)|\G(\\s*<=\\s*|\\s+(le|lte)\\s+)|\G(\\s*>\\s*|\\s+gt\\s+)|\G(\\s*<\\s*|\\s+lt\\s+)|\G(\\s+mod\\s+)|\G(!\\s*|not\\s+)|\G(\\s*&&\\s*|\\s*and\\s+)|\G(\\s*\\|\\|\\s*|\\s*or\\s+)|\G(\\s*xor\\s+)|\G(\\s+is\\s+odd\\s+by\\s+)|\G(\\s+is\\s+not\\s+odd\\s+by\\s+)|\G(\\s+is\\s+odd)|\G(\\s+is\\s+not\\s+odd)|\G(\\s+is\\s+even\\s+by\\s+)|\G(\\s+is\\s+not\\s+even\\s+by\\s+)|\G(\\s+is\\s+even)|\G(\\s+is\\s+not\\s+even)|\G(\\s+is\\s+div\\s+by\\s+)|\G(\\s+is\\s+not\\s+div\\s+by\\s+)|\G(\\((int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)\\)\\s*)|\G(\\s*\\(\\s*)|\G(\\s*\\))|\G(\\[\\s*)|\G(\\s*\\])|\G(\\s*->\\s*)|\G(\\s*=>\\s*)|\G(\\s*=\\s*)|\G(\\+\\+|--)|\G(\\s*(\\+|-)\\s*)|\G(\\s*(\\*|\/|%)\\s*)|\G(@)|\G(#)|\G(\\s+[0-9]*[a-zA-Z_][a-zA-Z0-9_\-:]*\\s*=\\s*)|\G([0-9]*[a-zA-Z_]\\w*)|\G(\\d+)|\G(`)|\G(\\|)|\G(\\.)|\G(\\s*,\\s*)|\G(\\s*;)|\G(::)|\G(\\s*:\\s*)|\G(\\s*&\\s*)|\G(\\s*\\?\\s*)|\G(0[xX][0-9a-fA-F]+)|\G(\\s+)|\G(" . $this->ldel . "\\s*(if|elseif|else if|while)\\s+)|\G(" . $this->ldel . "\\s*for\\s+)|\G(" . $this->ldel . "\\s*foreach(?![^\s]))|\G(" . $this->ldel . "\\s*\/)|\G(" . $this->ldel . "\\s*)|\G([\S\s])/iS";
do {
- if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
$yysubmatches = $yymatches;
$yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
if (!count($yymatches)) {
throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr($this->data,
- $this->counter, 5) . '... state SMARTY');
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state SMARTY');
}
next($yymatches); // skip global match
$this->token = key($yymatches); // token number
if ($tokenMap[$this->token]) {
// extract sub-patterns for passing to lex function
$yysubmatches = array_slice($yysubmatches, $this->token + 1,
- $tokenMap[$this->token]);
+ $tokenMap[$this->token]);
} else {
$yysubmatches = array();
}
$this->value = current($yymatches); // token value
$r = $this->{'yy_r2_' . $this->token}($yysubmatches);
if ($r === null) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
// accept this token
return true;
@@ -479,443 +498,598 @@ class Smarty_Internal_Templatelexer
// process this token in the new state
return $this->yylex();
} elseif ($r === false) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
// skip this token
continue;
- } } else {
+ }
+ } else {
throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[$this->counter]);
+ ': ' . $this->data[$this->counter]);
}
break;
} while (true);
-
} // end function
-
const SMARTY = 2;
+
function yy_r2_1($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_SINGLEQUOTESTRING;
+ $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
+ $this->yypushstate(self::DOUBLEQUOTEDSTRING);
}
+
function yy_r2_2($yy_subpatterns)
{
- if ($this->smarty->auto_literal) {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ $this->token = Smarty_Internal_Templateparser::TP_SINGLEQUOTESTRING;
}
+
function yy_r2_3($yy_subpatterns)
{
- if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ $this->token = Smarty_Internal_Templateparser::TP_SMARTYBLOCKCHILDPARENT;
+ $this->taglineno = $this->line;
}
+
function yy_r2_5($yy_subpatterns)
{
- if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ $this->token = Smarty_Internal_Templateparser::TP_DOLLAR;
}
+
function yy_r2_6($yy_subpatterns)
{
- if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ $this->token = Smarty_Internal_Templateparser::TP_RDEL;
+ $this->yypopstate();
}
+
function yy_r2_7($yy_subpatterns)
{
- if ($this->smarty->auto_literal) {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDEL;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ $this->token = Smarty_Internal_Templateparser::TP_ISIN;
}
+
function yy_r2_8($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_RDEL;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Templateparser::TP_AS;
}
+
function yy_r2_9($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
+ $this->token = Smarty_Internal_Templateparser::TP_TO;
}
+
function yy_r2_10($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LDEL;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
+ $this->token = Smarty_Internal_Templateparser::TP_STEP;
}
+
function yy_r2_11($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_RDEL;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Templateparser::TP_INSTANCEOF;
}
+
function yy_r2_12($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISIN;
+ $this->token = Smarty_Internal_Templateparser::TP_IDENTITY;
}
+
function yy_r2_13($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_AS;
+ $this->token = Smarty_Internal_Templateparser::TP_NONEIDENTITY;
}
+
function yy_r2_14($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_TO;
+ $this->token = Smarty_Internal_Templateparser::TP_EQUALS;
}
+
function yy_r2_15($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_STEP;
+ $this->token = Smarty_Internal_Templateparser::TP_NOTEQUALS;
}
- function yy_r2_16($yy_subpatterns)
- {
- $this->token = Smarty_Internal_Templateparser::TP_INSTANCEOF;
- }
function yy_r2_17($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_IDENTITY;
+ $this->token = Smarty_Internal_Templateparser::TP_GREATEREQUAL;
}
- function yy_r2_18($yy_subpatterns)
- {
- $this->token = Smarty_Internal_Templateparser::TP_NONEIDENTITY;
- }
function yy_r2_19($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_EQUALS;
+ $this->token = Smarty_Internal_Templateparser::TP_LESSEQUAL;
}
- function yy_r2_20($yy_subpatterns)
+
+ function yy_r2_21($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_NOTEQUALS;
+ $this->token = Smarty_Internal_Templateparser::TP_GREATERTHAN;
}
+
function yy_r2_22($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_GREATEREQUAL;
+ $this->token = Smarty_Internal_Templateparser::TP_LESSTHAN;
+ }
+
+ function yy_r2_23($yy_subpatterns)
+ {
+
+ $this->token = Smarty_Internal_Templateparser::TP_MOD;
}
+
function yy_r2_24($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LESSEQUAL;
+ $this->token = Smarty_Internal_Templateparser::TP_NOT;
+ }
+
+ function yy_r2_25($yy_subpatterns)
+ {
+
+ $this->token = Smarty_Internal_Templateparser::TP_LAND;
}
+
function yy_r2_26($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_GREATERTHAN;
+ $this->token = Smarty_Internal_Templateparser::TP_LOR;
}
+
function yy_r2_27($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LESSTHAN;
+ $this->token = Smarty_Internal_Templateparser::TP_LXOR;
}
+
function yy_r2_28($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_MOD;
+ $this->token = Smarty_Internal_Templateparser::TP_ISODDBY;
}
+
function yy_r2_29($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_NOT;
+ $this->token = Smarty_Internal_Templateparser::TP_ISNOTODDBY;
}
+
function yy_r2_30($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LAND;
+ $this->token = Smarty_Internal_Templateparser::TP_ISODD;
}
+
function yy_r2_31($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LOR;
+ $this->token = Smarty_Internal_Templateparser::TP_ISNOTODD;
}
+
function yy_r2_32($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LXOR;
+ $this->token = Smarty_Internal_Templateparser::TP_ISEVENBY;
}
+
function yy_r2_33($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISODDBY;
+ $this->token = Smarty_Internal_Templateparser::TP_ISNOTEVENBY;
}
+
function yy_r2_34($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISNOTODDBY;
+ $this->token = Smarty_Internal_Templateparser::TP_ISEVEN;
}
+
function yy_r2_35($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISODD;
+ $this->token = Smarty_Internal_Templateparser::TP_ISNOTEVEN;
}
+
function yy_r2_36($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISNOTODD;
+ $this->token = Smarty_Internal_Templateparser::TP_ISDIVBY;
}
+
function yy_r2_37($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISEVENBY;
+ $this->token = Smarty_Internal_Templateparser::TP_ISNOTDIVBY;
}
+
function yy_r2_38($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISNOTEVENBY;
+ $this->token = Smarty_Internal_Templateparser::TP_TYPECAST;
}
- function yy_r2_39($yy_subpatterns)
+
+ function yy_r2_42($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISEVEN;
+ $this->token = Smarty_Internal_Templateparser::TP_OPENP;
}
- function yy_r2_40($yy_subpatterns)
+
+ function yy_r2_43($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISNOTEVEN;
+ $this->token = Smarty_Internal_Templateparser::TP_CLOSEP;
}
- function yy_r2_41($yy_subpatterns)
+
+ function yy_r2_44($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISDIVBY;
+ $this->token = Smarty_Internal_Templateparser::TP_OPENB;
}
- function yy_r2_42($yy_subpatterns)
+
+ function yy_r2_45($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ISNOTDIVBY;
+ $this->token = Smarty_Internal_Templateparser::TP_CLOSEB;
}
- function yy_r2_43($yy_subpatterns)
+
+ function yy_r2_46($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_TYPECAST;
+ $this->token = Smarty_Internal_Templateparser::TP_PTR;
}
+
function yy_r2_47($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_OPENP;
+ $this->token = Smarty_Internal_Templateparser::TP_APTR;
}
+
function yy_r2_48($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_CLOSEP;
+ $this->token = Smarty_Internal_Templateparser::TP_EQUAL;
}
+
function yy_r2_49($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_OPENB;
+ $this->token = Smarty_Internal_Templateparser::TP_INCDEC;
}
+
function yy_r2_50($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_CLOSEB;
+ $this->token = Smarty_Internal_Templateparser::TP_UNIMATH;
}
- function yy_r2_51($yy_subpatterns)
- {
- $this->token = Smarty_Internal_Templateparser::TP_PTR;
- }
function yy_r2_52($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_APTR;
+ $this->token = Smarty_Internal_Templateparser::TP_MATH;
}
- function yy_r2_53($yy_subpatterns)
- {
- $this->token = Smarty_Internal_Templateparser::TP_EQUAL;
- }
function yy_r2_54($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_INCDEC;
+ $this->token = Smarty_Internal_Templateparser::TP_AT;
}
+
function yy_r2_55($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_UNIMATH;
+ $this->token = Smarty_Internal_Templateparser::TP_HATCH;
}
+
+ function yy_r2_56($yy_subpatterns)
+ {
+
+ // resolve conflicts with shorttag and right_delimiter starting with '='
+ if (substr($this->data, $this->counter + strlen($this->value) - 1, $this->rdel_length) == $this->smarty->right_delimiter) {
+ preg_match("/\s+/", $this->value, $match);
+ $this->value = $match[0];
+ $this->token = Smarty_Internal_Templateparser::TP_SPACE;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_ATTR;
+ }
+ }
+
function yy_r2_57($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_MATH;
+ $this->token = Smarty_Internal_Templateparser::TP_ID;
+ }
+
+ function yy_r2_58($yy_subpatterns)
+ {
+
+ $this->token = Smarty_Internal_Templateparser::TP_INTEGER;
}
+
function yy_r2_59($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_DOLLAR;
+ $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
+ $this->yypopstate();
}
+
function yy_r2_60($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_SEMICOLON;
+ $this->token = Smarty_Internal_Templateparser::TP_VERT;
}
+
function yy_r2_61($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_DOUBLECOLON;
+ $this->token = Smarty_Internal_Templateparser::TP_DOT;
}
+
function yy_r2_62($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_COLON;
+ $this->token = Smarty_Internal_Templateparser::TP_COMMA;
}
+
function yy_r2_63($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_AT;
+ $this->token = Smarty_Internal_Templateparser::TP_SEMICOLON;
}
+
function yy_r2_64($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_HATCH;
+ $this->token = Smarty_Internal_Templateparser::TP_DOUBLECOLON;
}
+
function yy_r2_65($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
- $this->yypushstate(self::DOUBLEQUOTEDSTRING);
+ $this->token = Smarty_Internal_Templateparser::TP_COLON;
}
+
function yy_r2_66($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
- $this->yypopstate();
+ $this->token = Smarty_Internal_Templateparser::TP_ANDSYM;
}
+
function yy_r2_67($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_VERT;
+ $this->token = Smarty_Internal_Templateparser::TP_QMARK;
}
+
function yy_r2_68($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_DOT;
+ $this->token = Smarty_Internal_Templateparser::TP_HEX;
}
+
function yy_r2_69($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_COMMA;
+ $this->token = Smarty_Internal_Templateparser::TP_SPACE;
}
+
function yy_r2_70($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ANDSYM;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
- function yy_r2_71($yy_subpatterns)
- {
- $this->token = Smarty_Internal_Templateparser::TP_QMARK;
- }
function yy_r2_72($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_HEX;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
+
function yy_r2_73($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ATTR;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
+
function yy_r2_74($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ID;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
+
function yy_r2_75($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_INTEGER;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDEL;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
+
function yy_r2_76($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_SPACE;
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
}
- function yy_r2_77($yy_subpatterns)
+
+ public function yylex3()
{
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
+ return false; // end of input
+ }
+ $yy_global_pattern = "/\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/literal\\s*" . $this->rdel . ")|\G([\S\s])/iS";
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ do {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
+ $yysubmatches = $yymatches;
+ $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
+ if (!count($yymatches)) {
+ throw new Exception('Error: lexing failed because a rule matched' .
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state LITERAL');
+ }
+ next($yymatches); // skip global match
+ $this->token = key($yymatches); // token number
+ if ($tokenMap[$this->token]) {
+ // extract sub-patterns for passing to lex function
+ $yysubmatches = array_slice($yysubmatches, $this->token + 1,
+ $tokenMap[$this->token]);
+ } else {
+ $yysubmatches = array();
+ }
+ $this->value = current($yymatches); // token value
+ $r = $this->{'yy_r3_' . $this->token}($yysubmatches);
+ if ($r === null) {
+ $this->counter += strlen($this->value);
+ $this->line += substr_count($this->value, "\n");
+ // accept this token
+ return true;
+ } elseif ($r === true) {
+ // we have changed state
+ // process this token in the new state
+ return $this->yylex();
+ } elseif ($r === false) {
+ $this->counter += strlen($this->value);
+ $this->line += substr_count($this->value, "\n");
+ if ($this->counter >= strlen($this->data)) {
+ return false; // end of input
+ }
+ // skip this token
+ continue;
+ }
+ } else {
+ throw new Exception('Unexpected input at line' . $this->line .
+ ': ' . $this->data[$this->counter]);
+ }
+ break;
+ } while (true);
+ } // end function
+
+ const LITERAL = 3;
+
+ function yy_r3_1($yy_subpatterns)
+ {
+
+ $this->literal_cnt ++;
+ $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
}
+ function yy_r3_2($yy_subpatterns)
+ {
+ if ($this->literal_cnt) {
+ $this->literal_cnt --;
+ $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LITERALEND;
+ $this->yypopstate();
+ }
+ }
- function yylex3()
+ function yy_r3_3($yy_subpatterns)
{
- $tokenMap = array (
- 1 => 0,
- 2 => 0,
- 3 => 0,
- 4 => 0,
- 5 => 0,
- 6 => 0,
- 7 => 0,
- );
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+
+ $to = strlen($this->data);
+ preg_match("/{$this->ldel}\/?literal{$this->rdel}/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter);
+ if (isset($match[0][1])) {
+ $to = $match[0][1];
+ } else {
+ $this->compiler->trigger_template_error("missing or misspelled literal closing tag");
+ }
+ $this->value = substr($this->data, $this->counter, $to - $this->counter);
+ $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
+ }
+
+ public function yylex4()
+ {
+ $tokenMap = array(
+ 1 => 1,
+ 3 => 0,
+ 4 => 0,
+ 5 => 0,
+ 6 => 0,
+ 7 => 0,
+ 8 => 0,
+ 9 => 0,
+ 10 => 0,
+ 11 => 0,
+ 12 => 0,
+ 13 => 3,
+ 17 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
- $yy_global_pattern = "/\G(".$this->ldel."\\s*literal\\s*".$this->rdel.")|\G(".$this->ldel."\\s*\/literal\\s*".$this->rdel.")|\G(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|\G(\\?>)|\G(<%)|\G(%>)|\G([\S\s])/iS";
+ $yy_global_pattern = "/\G(" . $this->ldel . "\\s*(if|elseif|else if|while)\\s+)|\G(" . $this->ldel . "\\s*for\\s+)|\G(" . $this->ldel . "\\s*foreach(?![^\s]))|\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/)|\G(" . $this->ldel . "\\s*)|\G(\")|\G(`\\$)|\G(\\$[0-9]*[a-zA-Z_]\\w*)|\G(\\$)|\G(([^\"\\\\]*?)((?:\\\\.[^\"\\\\]*?)*?)(?=(" . $this->ldel . "|\\$|`\\$|\")))|\G([\S\s])/iS";
do {
- if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
$yysubmatches = $yymatches;
$yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
if (!count($yymatches)) {
throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr($this->data,
- $this->counter, 5) . '... state LITERAL');
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state DOUBLEQUOTEDSTRING');
}
next($yymatches); // skip global match
$this->token = key($yymatches); // token number
if ($tokenMap[$this->token]) {
// extract sub-patterns for passing to lex function
$yysubmatches = array_slice($yysubmatches, $this->token + 1,
- $tokenMap[$this->token]);
+ $tokenMap[$this->token]);
} else {
$yysubmatches = array();
}
$this->value = current($yymatches); // token value
- $r = $this->{'yy_r3_' . $this->token}($yysubmatches);
+ $r = $this->{'yy_r4_' . $this->token}($yysubmatches);
if ($r === null) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
// accept this token
return true;
@@ -924,128 +1098,173 @@ class Smarty_Internal_Templatelexer
// process this token in the new state
return $this->yylex();
} elseif ($r === false) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
// skip this token
continue;
- } } else {
+ }
+ } else {
throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[$this->counter]);
+ ': ' . $this->data[$this->counter]);
}
break;
} while (true);
-
} // end function
+ const DOUBLEQUOTEDSTRING = 4;
- const LITERAL = 3;
- function yy_r3_1($yy_subpatterns)
+ function yy_r4_1($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART;
- $this->yypushstate(self::LITERAL);
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
- function yy_r3_2($yy_subpatterns)
+
+ function yy_r4_3($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LITERALEND;
- $this->yypopstate();
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
}
- function yy_r3_3($yy_subpatterns)
+
+ function yy_r4_4($yy_subpatterns)
+ {
+
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
+ }
+
+ function yy_r4_5($yy_subpatterns)
+ {
+
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+
+ function yy_r4_6($yy_subpatterns)
+ {
+
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+
+ function yy_r4_7($yy_subpatterns)
+ {
+
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
+ }
+
+ function yy_r4_8($yy_subpatterns)
+ {
+
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LDEL;
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
+ }
+ }
+
+ function yy_r4_9($yy_subpatterns)
{
- if (in_array($this->value, Array('<?', '<?=', '<?php'))) {
- $this->token = Smarty_Internal_Templateparser::TP_PHPSTARTTAG;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_FAKEPHPSTARTTAG;
- $this->value = substr($this->value, 0, 2);
- }
+ $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
+ $this->yypopstate();
}
- function yy_r3_4($yy_subpatterns)
+
+ function yy_r4_10($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_PHPENDTAG;
+ $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
+ $this->value = substr($this->value, 0, - 1);
+ $this->yypushstate(self::SMARTY);
+ $this->taglineno = $this->line;
}
- function yy_r3_5($yy_subpatterns)
+
+ function yy_r4_11($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ASPSTARTTAG;
+ $this->token = Smarty_Internal_Templateparser::TP_DOLLARID;
}
- function yy_r3_6($yy_subpatterns)
+
+ function yy_r4_12($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_ASPENDTAG;
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
}
- function yy_r3_7($yy_subpatterns)
+
+ function yy_r4_13($yy_subpatterns)
{
- if ($this->mbstring_overload) {
- $to = mb_strlen($this->data,'latin1');
- } else {
- $to = strlen($this->data);
- }
- preg_match("/{$this->ldel}\/?literal{$this->rdel}|<\?|<%|\?>|%>/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter);
- if (isset($match[0][1])) {
- $to = $match[0][1];
- } else {
- $this->compiler->trigger_template_error ("missing or misspelled literal closing tag");
- }
- if ($this->mbstring_overload) {
- $this->value = mb_substr($this->data,$this->counter,$to-$this->counter,'latin1');
- } else {
- $this->value = substr($this->data,$this->counter,$to-$this->counter);
- }
- $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
}
+ function yy_r4_17($yy_subpatterns)
+ {
+
+ $to = strlen($this->data);
+ $this->value = substr($this->data, $this->counter, $to - $this->counter);
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
- function yylex4()
+ public function yylex5()
{
- $tokenMap = array (
- 1 => 0,
- 2 => 1,
- 4 => 0,
- 5 => 0,
- 6 => 0,
- 7 => 0,
- 8 => 0,
- 9 => 0,
- 10 => 0,
- 11 => 0,
- 12 => 0,
- 13 => 3,
- 17 => 0,
- );
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
- $yy_global_pattern = "/\G(".$this->ldel."\\s{1,}\/)|\G(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|\G(".$this->ldel."\\s*for\\s+)|\G(".$this->ldel."\\s*foreach(?![^\s]))|\G(".$this->ldel."\\s{1,})|\G(".$this->ldel."\/)|\G(".$this->ldel.")|\G(\")|\G(`\\$)|\G(\\$[0-9]*[a-zA-Z_]\\w*)|\G(\\$)|\G(([^\"\\\\]*?)((?:\\\\.[^\"\\\\]*?)*?)(?=(".$this->ldel."|\\$|`\\$|\")))|\G([\S\s])/iS";
+ $yy_global_pattern = "/\G(" . $this->ldel . "\\s*strip\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/strip\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*block)|\G([\S\s])/iS";
do {
- if ($this->mbstring_overload ? preg_match($yy_global_pattern, mb_substr($this->data, $this->counter,2000000000,'latin1'), $yymatches) : preg_match($yy_global_pattern,$this->data, $yymatches, null, $this->counter)) {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
$yysubmatches = $yymatches;
$yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
if (!count($yymatches)) {
throw new Exception('Error: lexing failed because a rule matched' .
- ' an empty string. Input "' . substr($this->data,
- $this->counter, 5) . '... state DOUBLEQUOTEDSTRING');
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state CHILDBODY');
}
next($yymatches); // skip global match
$this->token = key($yymatches); // token number
if ($tokenMap[$this->token]) {
// extract sub-patterns for passing to lex function
$yysubmatches = array_slice($yysubmatches, $this->token + 1,
- $tokenMap[$this->token]);
+ $tokenMap[$this->token]);
} else {
$yysubmatches = array();
}
$this->value = current($yymatches); // token value
- $r = $this->{'yy_r4_' . $this->token}($yysubmatches);
+ $r = $this->{'yy_r5_' . $this->token}($yysubmatches);
if ($r === null) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
// accept this token
return true;
@@ -1054,137 +1273,280 @@ class Smarty_Internal_Templatelexer
// process this token in the new state
return $this->yylex();
} elseif ($r === false) {
- $this->counter += ($this->mbstring_overload ? mb_strlen($this->value,'latin1'): strlen($this->value));
+ $this->counter += strlen($this->value);
$this->line += substr_count($this->value, "\n");
- if ($this->counter >= ($this->mbstring_overload ? mb_strlen($this->data,'latin1'): strlen($this->data))) {
+ if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
// skip this token
continue;
- } } else {
+ }
+ } else {
throw new Exception('Unexpected input at line' . $this->line .
- ': ' . $this->data[$this->counter]);
+ ': ' . $this->data[$this->counter]);
}
break;
} while (true);
-
} // end function
+ const CHILDBODY = 5;
- const DOUBLEQUOTEDSTRING = 4;
- function yy_r4_1($yy_subpatterns)
+ function yy_r5_1($yy_subpatterns)
{
- if ($this->smarty->auto_literal) {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ return false;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_STRIPON;
+ }
}
- function yy_r4_2($yy_subpatterns)
+
+ function yy_r5_2($yy_subpatterns)
{
- if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ return false;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_STRIPOFF;
+ }
}
- function yy_r4_4($yy_subpatterns)
+
+ function yy_r5_3($yy_subpatterns)
{
- if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ return false;
+ } else {
+ $this->yypopstate();
+ return true;
+ }
}
- function yy_r4_5($yy_subpatterns)
+
+ function yy_r5_4($yy_subpatterns)
{
- if ($this->smarty->auto_literal && trim(substr($this->value,$this->ldel_length,1)) == '') {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
+ $to = strlen($this->data);
+ preg_match("/" . $this->ldel . "\s*((\/)?strip\s*" . $this->rdel . "|block\s+)/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter);
+ if (isset($match[0][1])) {
+ $to = $match[0][1];
+ }
+ $this->value = substr($this->data, $this->counter, $to - $this->counter);
+ return false;
}
- function yy_r4_6($yy_subpatterns)
+
+ public function yylex6()
{
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ 4 => 1,
+ 6 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
+ return false; // end of input
+ }
+ $yy_global_pattern = "/\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*block)|\G(" . $this->ldel . "\\s*\/block)|\G(" . $this->ldel . "\\s*[$]smarty\\.block\\.(child|parent))|\G([\S\s])/iS";
- if ($this->smarty->auto_literal) {
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- } else {
- $this->token = Smarty_Internal_Templateparser::TP_LDEL;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
- }
- }
- function yy_r4_7($yy_subpatterns)
+ do {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
+ $yysubmatches = $yymatches;
+ $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
+ if (!count($yymatches)) {
+ throw new Exception('Error: lexing failed because a rule matched' .
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state CHILDBLOCK');
+ }
+ next($yymatches); // skip global match
+ $this->token = key($yymatches); // token number
+ if ($tokenMap[$this->token]) {
+ // extract sub-patterns for passing to lex function
+ $yysubmatches = array_slice($yysubmatches, $this->token + 1,
+ $tokenMap[$this->token]);
+ } else {
+ $yysubmatches = array();
+ }
+ $this->value = current($yymatches); // token value
+ $r = $this->{'yy_r6_' . $this->token}($yysubmatches);
+ if ($r === null) {
+ $this->counter += strlen($this->value);
+ $this->line += substr_count($this->value, "\n");
+ // accept this token
+ return true;
+ } elseif ($r === true) {
+ // we have changed state
+ // process this token in the new state
+ return $this->yylex();
+ } elseif ($r === false) {
+ $this->counter += strlen($this->value);
+ $this->line += substr_count($this->value, "\n");
+ if ($this->counter >= strlen($this->data)) {
+ return false; // end of input
+ }
+ // skip this token
+ continue;
+ }
+ } else {
+ throw new Exception('Unexpected input at line' . $this->line .
+ ': ' . $this->data[$this->counter]);
+ }
+ break;
+ } while (true);
+ } // end function
+
+ const CHILDBLOCK = 6;
+
+ function yy_r6_1($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
+ $this->yypushstate(self::CHILDLITERAL);
+ }
}
- function yy_r4_8($yy_subpatterns)
+
+ function yy_r6_2($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_LDEL;
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
+ } else {
+ $this->yypopstate();
+ return true;
+ }
}
- function yy_r4_9($yy_subpatterns)
+
+ function yy_r6_3($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
- $this->yypopstate();
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
+ } else {
+ $this->yypopstate();
+ return true;
+ }
}
- function yy_r4_10($yy_subpatterns)
+
+ function yy_r6_4($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
- $this->value = substr($this->value,0,-1);
- $this->yypushstate(self::SMARTY);
- $this->taglineno = $this->line;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
+ } else {
+ $this->yypopstate();
+ return true;
+ }
}
- function yy_r4_11($yy_subpatterns)
+
+ function yy_r6_6($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_DOLLARID;
+ $to = strlen($this->data);
+ preg_match("/" . $this->ldel . "\s*(literal\s*" . $this->rdel . "|(\/)?block(\s|" . $this->rdel . ")|[\$]smarty\.block\.(child|parent))/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter);
+ if (isset($match[0][1])) {
+ $to = $match[0][1];
+ }
+ $this->value = substr($this->data, $this->counter, $to - $this->counter);
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
}
- function yy_r4_12($yy_subpatterns)
+
+ public function yylex7()
{
+ $tokenMap = array(
+ 1 => 0,
+ 2 => 0,
+ 3 => 0,
+ );
+ if ($this->counter >= strlen($this->data)) {
+ return false; // end of input
+ }
+ $yy_global_pattern = "/\G(" . $this->ldel . "\\s*literal\\s*" . $this->rdel . ")|\G(" . $this->ldel . "\\s*\/literal\\s*" . $this->rdel . ")|\G([\S\s])/iS";
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
- }
- function yy_r4_13($yy_subpatterns)
+ do {
+ if (preg_match($yy_global_pattern, $this->data, $yymatches, null, $this->counter)) {
+ $yysubmatches = $yymatches;
+ $yymatches = array_filter($yymatches, 'strlen'); // remove empty sub-patterns
+ if (!count($yymatches)) {
+ throw new Exception('Error: lexing failed because a rule matched' .
+ ' an empty string. Input "' . substr($this->data,
+ $this->counter, 5) . '... state CHILDLITERAL');
+ }
+ next($yymatches); // skip global match
+ $this->token = key($yymatches); // token number
+ if ($tokenMap[$this->token]) {
+ // extract sub-patterns for passing to lex function
+ $yysubmatches = array_slice($yysubmatches, $this->token + 1,
+ $tokenMap[$this->token]);
+ } else {
+ $yysubmatches = array();
+ }
+ $this->value = current($yymatches); // token value
+ $r = $this->{'yy_r7_' . $this->token}($yysubmatches);
+ if ($r === null) {
+ $this->counter += strlen($this->value);
+ $this->line += substr_count($this->value, "\n");
+ // accept this token
+ return true;
+ } elseif ($r === true) {
+ // we have changed state
+ // process this token in the new state
+ return $this->yylex();
+ } elseif ($r === false) {
+ $this->counter += strlen($this->value);
+ $this->line += substr_count($this->value, "\n");
+ if ($this->counter >= strlen($this->data)) {
+ return false; // end of input
+ }
+ // skip this token
+ continue;
+ }
+ } else {
+ throw new Exception('Unexpected input at line' . $this->line .
+ ': ' . $this->data[$this->counter]);
+ }
+ break;
+ } while (true);
+ } // end function
+
+ const CHILDLITERAL = 7;
+
+ function yy_r7_1($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
+ $this->yypushstate(self::CHILDLITERAL);
+ }
}
- function yy_r4_17($yy_subpatterns)
+
+ function yy_r7_2($yy_subpatterns)
{
- if ($this->mbstring_overload) {
- $to = mb_strlen($this->data,'latin1');
- } else {
- $to = strlen($this->data);
- }
- if ($this->mbstring_overload) {
- $this->value = mb_substr($this->data,$this->counter,$to-$this->counter,'latin1');
- } else {
- $this->value = substr($this->data,$this->counter,$to-$this->counter);
- }
- $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ if ($this->smarty->auto_literal && isset($this->value[$this->ldel_length]) ? strpos(" \n\t\r", $this->value[$this->ldel_length]) !== false : false) {
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
+ $this->yypopstate();
+ }
}
+ function yy_r7_3($yy_subpatterns)
+ {
+
+ $to = strlen($this->data);
+ preg_match("/{$this->ldel}\/?literal\s*{$this->rdel}/", $this->data, $match, PREG_OFFSET_CAPTURE, $this->counter);
+ if (isset($match[0][1])) {
+ $to = $match[0][1];
+ } else {
+ $this->compiler->trigger_template_error("missing or misspelled literal closing tag");
+ }
+ $this->value = substr($this->data, $this->counter, $to - $this->counter);
+ $this->token = Smarty_Internal_Templateparser::TP_BLOCKSOURCE;
+ }
}
-?> \ No newline at end of file
+
+ \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_templateparser.php b/library/Smarty/libs/sysplugins/smarty_internal_templateparser.php
index ed20e8237..98b9fc7fb 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_templateparser.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_templateparser.php
@@ -1,20 +1,20 @@
<?php
-/**
-* Smarty Internal Plugin Templateparser
-*
-* This is the template parser.
-* It is generated from the internal.templateparser.y file
-* @package Smarty
-* @subpackage Compiler
-* @author Uwe Tews
-*/
+/**
+ * Smarty Internal Plugin Templateparser
+ * This is the template parser.
+ * It is generated from the internal.templateparser.y file
+ *
+ * @package Smarty
+ * @subpackage Compiler
+ * @author Uwe Tews
+ */
class TP_yyToken implements ArrayAccess
{
public $string = '';
public $metadata = array();
- function __construct($s, $m = array())
+ public function __construct($s, $m = array())
{
if ($s instanceof TP_yyToken) {
$this->string = $s->string;
@@ -29,28 +29,29 @@ class TP_yyToken implements ArrayAccess
}
}
- function __toString()
+ public function __toString()
{
return $this->_string;
}
- function offsetExists($offset)
+ public function offsetExists($offset)
{
return isset($this->metadata[$offset]);
}
- function offsetGet($offset)
+ public function offsetGet($offset)
{
return $this->metadata[$offset];
}
- function offsetSet($offset, $value)
+ public function offsetSet($offset, $value)
{
if ($offset === null) {
if (isset($value[0])) {
$x = ($value instanceof TP_yyToken) ?
$value->metadata : $value;
$this->metadata = array_merge($this->metadata, $x);
+
return;
}
$offset = count($this->metadata);
@@ -67,7 +68,7 @@ class TP_yyToken implements ArrayAccess
}
}
- function offsetUnset($offset)
+ public function offsetUnset($offset)
{
unset($this->metadata[$offset]);
}
@@ -80,13 +81,14 @@ class TP_yyStackEntry
** number for the token at this stack level */
public $minor; /* The user-supplied minor token value. This
** is the value of the token */
-};
+}
+;
-#line 12 "smarty_internal_templateparser.y"
-class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php"
+#line 13 "smarty_internal_templateparser.y"
+class Smarty_Internal_Templateparser#line 80 "smarty_internal_templateparser.php"
{
-#line 14 "smarty_internal_templateparser.y"
+ #line 15 "smarty_internal_templateparser.y"
const Err1 = "Security error: Call to private object member not allowed";
const Err2 = "Security error: Call to dynamic object member not allowed";
@@ -94,18 +96,25 @@ class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php
// states whether the parse was successful or not
public $successful = true;
public $retvalue = 0;
+ public static $prefix_number = 0;
+ private $_string;
+ public $yymajor;
+ public $last_index;
+ public $last_variable;
+ public $root_buffer;
+ public $current_buffer;
private $lex;
private $internalError = false;
private $strip = false;
- function __construct($lex, $compiler) {
+ function __construct($lex, $compiler)
+ {
$this->lex = $lex;
$this->compiler = $compiler;
$this->smarty = $this->compiler->smarty;
$this->template = $this->compiler->template;
$this->compiler->has_variable_string = false;
$this->compiler->prefix_code = array();
- $this->prefix_number = 0;
$this->block_nesting_level = 0;
if ($this->security = isset($this->smarty->security_policy)) {
$this->php_handling = $this->smarty->security_policy->php_handling;
@@ -117,1367 +126,2494 @@ class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php
$this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
}
- public static function escape_start_tag($tag_text) {
- $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, -1 , $count); //Escape tag
- return $tag;
- }
-
- public static function escape_end_tag($tag_text) {
- return '?<?php ?>>';
- }
-
- public function compileVariable($variable) {
- if (strpos($variable,'(') == 0) {
+ public function compileVariable($variable)
+ {
+ if (strpos($variable, '(') == 0) {
// not a variable variable
- $var = trim($variable,'\'');
- $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable($var, null, true, false)->nocache;
- $this->template->properties['variables'][$var] = $this->compiler->tag_nocache|$this->compiler->nocache;
+ $var = trim($variable, '\'');
+ $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable($var, null, true, false)->nocache;
+ $this->template->properties['variables'][$var] = $this->compiler->tag_nocache | $this->compiler->nocache;
}
-// return '(isset($_smarty_tpl->tpl_vars['. $variable .'])?$_smarty_tpl->tpl_vars['. $variable .']->value:$_smarty_tpl->getVariable('. $variable .')->value)';
- return '$_smarty_tpl->tpl_vars['. $variable .']->value';
+ // return '(isset($_smarty_tpl->tpl_vars['. $variable .'])?$_smarty_tpl->tpl_vars['. $variable .']->value:$_smarty_tpl->getVariable('. $variable .')->value)';
+ return '$_smarty_tpl->tpl_vars[' . $variable . ']->value';
}
-#line 132 "smarty_internal_templateparser.php"
- const TP_VERT = 1;
- const TP_COLON = 2;
- const TP_COMMENT = 3;
- const TP_PHPSTARTTAG = 4;
- const TP_PHPENDTAG = 5;
- const TP_ASPSTARTTAG = 6;
- const TP_ASPENDTAG = 7;
- const TP_FAKEPHPSTARTTAG = 8;
- const TP_XMLTAG = 9;
- const TP_TEXT = 10;
- const TP_STRIPON = 11;
- const TP_STRIPOFF = 12;
- const TP_LITERALSTART = 13;
- const TP_LITERALEND = 14;
- const TP_LITERAL = 15;
- const TP_LDEL = 16;
- const TP_RDEL = 17;
- const TP_DOLLAR = 18;
- const TP_ID = 19;
- const TP_EQUAL = 20;
- const TP_PTR = 21;
- const TP_LDELIF = 22;
- const TP_LDELFOR = 23;
- const TP_SEMICOLON = 24;
- const TP_INCDEC = 25;
- const TP_TO = 26;
- const TP_STEP = 27;
- const TP_LDELFOREACH = 28;
- const TP_SPACE = 29;
- const TP_AS = 30;
- const TP_APTR = 31;
- const TP_LDELSETFILTER = 32;
- const TP_SMARTYBLOCKCHILD = 33;
- const TP_LDELSLASH = 34;
- const TP_ATTR = 35;
- const TP_INTEGER = 36;
- const TP_COMMA = 37;
- const TP_OPENP = 38;
- const TP_CLOSEP = 39;
- const TP_MATH = 40;
- const TP_UNIMATH = 41;
- const TP_ANDSYM = 42;
- const TP_ISIN = 43;
- const TP_ISDIVBY = 44;
- const TP_ISNOTDIVBY = 45;
- const TP_ISEVEN = 46;
- const TP_ISNOTEVEN = 47;
- const TP_ISEVENBY = 48;
- const TP_ISNOTEVENBY = 49;
- const TP_ISODD = 50;
- const TP_ISNOTODD = 51;
- const TP_ISODDBY = 52;
- const TP_ISNOTODDBY = 53;
- const TP_INSTANCEOF = 54;
- const TP_QMARK = 55;
- const TP_NOT = 56;
- const TP_TYPECAST = 57;
- const TP_HEX = 58;
- const TP_DOT = 59;
- const TP_SINGLEQUOTESTRING = 60;
- const TP_DOUBLECOLON = 61;
- const TP_AT = 62;
- const TP_HATCH = 63;
- const TP_OPENB = 64;
- const TP_CLOSEB = 65;
- const TP_EQUALS = 66;
- const TP_NOTEQUALS = 67;
- const TP_GREATERTHAN = 68;
- const TP_LESSTHAN = 69;
- const TP_GREATEREQUAL = 70;
- const TP_LESSEQUAL = 71;
- const TP_IDENTITY = 72;
- const TP_NONEIDENTITY = 73;
- const TP_MOD = 74;
- const TP_LAND = 75;
- const TP_LOR = 76;
- const TP_LXOR = 77;
- const TP_QUOTE = 78;
- const TP_BACKTICK = 79;
- const TP_DOLLARID = 80;
- const YY_NO_ACTION = 593;
- const YY_ACCEPT_ACTION = 592;
- const YY_ERROR_ACTION = 591;
+ #line 130 "smarty_internal_templateparser.php"
+
+ const TP_VERT = 1;
+ const TP_COLON = 2;
+ const TP_RDEL = 3;
+ const TP_COMMENT = 4;
+ const TP_PHPSTARTTAG = 5;
+ const TP_PHPENDTAG = 6;
+ const TP_PHPENDSCRIPT = 7;
+ const TP_ASPSTARTTAG = 8;
+ const TP_ASPENDTAG = 9;
+ const TP_XMLTAG = 10;
+ const TP_TEXT = 11;
+ const TP_STRIPON = 12;
+ const TP_STRIPOFF = 13;
+ const TP_BLOCKSOURCE = 14;
+ const TP_LITERALSTART = 15;
+ const TP_LITERALEND = 16;
+ const TP_LITERAL = 17;
+ const TP_LDEL = 18;
+ const TP_DOLLAR = 19;
+ const TP_ID = 20;
+ const TP_EQUAL = 21;
+ const TP_PTR = 22;
+ const TP_LDELIF = 23;
+ const TP_LDELFOR = 24;
+ const TP_SEMICOLON = 25;
+ const TP_INCDEC = 26;
+ const TP_TO = 27;
+ const TP_STEP = 28;
+ const TP_LDELFOREACH = 29;
+ const TP_SPACE = 30;
+ const TP_AS = 31;
+ const TP_APTR = 32;
+ const TP_LDELSETFILTER = 33;
+ const TP_SMARTYBLOCKCHILDPARENT = 34;
+ const TP_LDELSLASH = 35;
+ const TP_ATTR = 36;
+ const TP_INTEGER = 37;
+ const TP_COMMA = 38;
+ const TP_OPENP = 39;
+ const TP_CLOSEP = 40;
+ const TP_MATH = 41;
+ const TP_UNIMATH = 42;
+ const TP_ANDSYM = 43;
+ const TP_ISIN = 44;
+ const TP_ISDIVBY = 45;
+ const TP_ISNOTDIVBY = 46;
+ const TP_ISEVEN = 47;
+ const TP_ISNOTEVEN = 48;
+ const TP_ISEVENBY = 49;
+ const TP_ISNOTEVENBY = 50;
+ const TP_ISODD = 51;
+ const TP_ISNOTODD = 52;
+ const TP_ISODDBY = 53;
+ const TP_ISNOTODDBY = 54;
+ const TP_INSTANCEOF = 55;
+ const TP_QMARK = 56;
+ const TP_NOT = 57;
+ const TP_TYPECAST = 58;
+ const TP_HEX = 59;
+ const TP_DOT = 60;
+ const TP_SINGLEQUOTESTRING = 61;
+ const TP_DOUBLECOLON = 62;
+ const TP_AT = 63;
+ const TP_HATCH = 64;
+ const TP_OPENB = 65;
+ const TP_CLOSEB = 66;
+ const TP_EQUALS = 67;
+ const TP_NOTEQUALS = 68;
+ const TP_GREATERTHAN = 69;
+ const TP_LESSTHAN = 70;
+ const TP_GREATEREQUAL = 71;
+ const TP_LESSEQUAL = 72;
+ const TP_IDENTITY = 73;
+ const TP_NONEIDENTITY = 74;
+ const TP_MOD = 75;
+ const TP_LAND = 76;
+ const TP_LOR = 77;
+ const TP_LXOR = 78;
+ const TP_QUOTE = 79;
+ const TP_BACKTICK = 80;
+ const TP_DOLLARID = 81;
+ const YY_NO_ACTION = 560;
+ const YY_ACCEPT_ACTION = 559;
+ const YY_ERROR_ACTION = 558;
- const YY_SZ_ACTTAB = 2453;
-static public $yy_action = array(
- /* 0 */ 210, 320, 317, 316, 312, 311, 313, 314, 315, 322,
- /* 10 */ 323, 189, 191, 340, 43, 168, 292, 290, 161, 25,
- /* 20 */ 3, 108, 284, 29, 294, 199, 146, 294, 15, 15,
- /* 30 */ 244, 296, 243, 277, 18, 18, 285, 12, 127, 48,
- /* 40 */ 52, 50, 44, 9, 14, 384, 385, 17, 16, 386,
- /* 50 */ 283, 41, 39, 210, 592, 95, 260, 319, 321, 6,
- /* 60 */ 21, 194, 135, 374, 193, 387, 383, 382, 378, 377,
- /* 70 */ 379, 380, 381, 363, 362, 345, 344, 28, 31, 34,
- /* 80 */ 370, 15, 19, 237, 137, 187, 25, 18, 203, 284,
- /* 90 */ 29, 203, 48, 52, 50, 44, 9, 14, 384, 385,
- /* 100 */ 17, 16, 386, 283, 41, 39, 329, 324, 326, 327,
- /* 110 */ 325, 24, 288, 4, 4, 189, 332, 330, 387, 383,
- /* 120 */ 382, 378, 377, 379, 380, 381, 363, 362, 345, 344,
- /* 130 */ 210, 368, 231, 210, 251, 117, 139, 139, 84, 132,
- /* 140 */ 278, 25, 10, 162, 284, 359, 338, 302, 346, 459,
- /* 150 */ 226, 228, 369, 364, 15, 375, 230, 15, 15, 177,
- /* 160 */ 18, 459, 240, 18, 18, 212, 257, 459, 294, 48,
- /* 170 */ 52, 50, 44, 9, 14, 384, 385, 17, 16, 386,
- /* 180 */ 283, 41, 39, 131, 101, 159, 47, 196, 340, 371,
- /* 190 */ 25, 190, 340, 284, 294, 387, 383, 382, 378, 377,
- /* 200 */ 379, 380, 381, 363, 362, 345, 344, 210, 368, 208,
- /* 210 */ 210, 203, 140, 210, 8, 56, 123, 118, 210, 457,
- /* 220 */ 366, 261, 234, 343, 302, 346, 453, 147, 228, 369,
- /* 230 */ 364, 457, 375, 15, 342, 15, 231, 457, 15, 18,
- /* 240 */ 4, 18, 307, 37, 18, 195, 48, 52, 50, 44,
- /* 250 */ 9, 14, 384, 385, 17, 16, 386, 283, 41, 39,
- /* 260 */ 210, 25, 2, 139, 284, 11, 47, 185, 210, 45,
- /* 270 */ 266, 47, 387, 383, 382, 378, 377, 379, 380, 381,
- /* 280 */ 363, 362, 345, 344, 286, 242, 104, 166, 15, 210,
- /* 290 */ 276, 184, 188, 23, 18, 272, 294, 22, 162, 48,
- /* 300 */ 52, 50, 44, 9, 14, 384, 385, 17, 16, 386,
- /* 310 */ 283, 41, 39, 203, 106, 170, 13, 15, 203, 288,
- /* 320 */ 318, 319, 321, 18, 294, 387, 383, 382, 378, 377,
- /* 330 */ 379, 380, 381, 363, 362, 345, 344, 210, 131, 105,
- /* 340 */ 210, 203, 23, 368, 268, 130, 249, 152, 355, 25,
- /* 350 */ 197, 132, 284, 271, 32, 162, 287, 155, 354, 210,
- /* 360 */ 3, 108, 15, 228, 369, 364, 146, 375, 18, 252,
- /* 370 */ 244, 296, 243, 375, 303, 305, 48, 52, 50, 44,
- /* 380 */ 9, 14, 384, 385, 17, 16, 386, 283, 41, 39,
- /* 390 */ 103, 210, 36, 208, 109, 388, 303, 232, 8, 4,
- /* 400 */ 248, 246, 387, 383, 382, 378, 377, 379, 380, 381,
- /* 410 */ 363, 362, 345, 344, 198, 40, 361, 27, 353, 179,
- /* 420 */ 175, 20, 139, 236, 239, 211, 116, 18, 294, 294,
- /* 430 */ 48, 52, 50, 44, 9, 14, 384, 385, 17, 16,
- /* 440 */ 386, 283, 41, 39, 178, 200, 200, 23, 25, 267,
- /* 450 */ 351, 284, 186, 294, 285, 201, 387, 383, 382, 378,
- /* 460 */ 377, 379, 380, 381, 363, 362, 345, 344, 210, 368,
- /* 470 */ 200, 210, 210, 140, 301, 181, 69, 123, 238, 25,
- /* 480 */ 210, 147, 284, 347, 202, 302, 346, 459, 304, 228,
- /* 490 */ 369, 364, 15, 375, 241, 15, 297, 172, 18, 459,
- /* 500 */ 235, 18, 203, 306, 129, 459, 294, 48, 52, 50,
- /* 510 */ 44, 9, 14, 384, 385, 17, 16, 386, 283, 41,
- /* 520 */ 39, 210, 25, 200, 47, 229, 25, 134, 210, 233,
- /* 530 */ 120, 119, 210, 387, 383, 382, 378, 377, 379, 380,
- /* 540 */ 381, 363, 362, 345, 344, 373, 373, 143, 308, 180,
- /* 550 */ 236, 282, 25, 25, 42, 284, 216, 236, 238, 250,
- /* 560 */ 48, 52, 50, 44, 9, 14, 384, 385, 17, 16,
- /* 570 */ 386, 283, 41, 39, 210, 30, 203, 360, 182, 25,
- /* 580 */ 285, 47, 222, 126, 167, 303, 387, 383, 382, 378,
- /* 590 */ 377, 379, 380, 381, 363, 362, 345, 344, 245, 373,
- /* 600 */ 15, 372, 160, 334, 6, 333, 18, 247, 254, 35,
- /* 610 */ 255, 294, 114, 48, 52, 50, 44, 9, 14, 384,
- /* 620 */ 385, 17, 16, 386, 283, 41, 39, 373, 192, 281,
- /* 630 */ 253, 145, 38, 298, 300, 226, 94, 124, 102, 387,
- /* 640 */ 383, 382, 378, 377, 379, 380, 381, 363, 362, 345,
- /* 650 */ 344, 210, 368, 373, 210, 141, 140, 368, 336, 71,
- /* 660 */ 132, 149, 136, 7, 10, 132, 165, 204, 302, 346,
- /* 670 */ 456, 98, 228, 369, 364, 294, 375, 228, 369, 364,
- /* 680 */ 279, 375, 456, 220, 232, 335, 373, 285, 456, 162,
- /* 690 */ 48, 52, 50, 44, 9, 14, 384, 385, 17, 16,
- /* 700 */ 386, 283, 41, 39, 210, 210, 309, 47, 285, 200,
- /* 710 */ 371, 45, 162, 183, 144, 97, 387, 383, 382, 378,
- /* 720 */ 377, 379, 380, 381, 363, 362, 345, 344, 285, 131,
- /* 730 */ 373, 354, 331, 107, 110, 256, 376, 327, 327, 327,
- /* 740 */ 327, 327, 115, 48, 52, 50, 44, 9, 14, 384,
- /* 750 */ 385, 17, 16, 386, 283, 41, 39, 373, 327, 327,
- /* 760 */ 327, 327, 327, 327, 327, 327, 327, 327, 356, 387,
- /* 770 */ 383, 382, 378, 377, 379, 380, 381, 363, 362, 345,
- /* 780 */ 344, 210, 352, 368, 327, 210, 327, 140, 327, 327,
- /* 790 */ 71, 132, 327, 100, 339, 327, 138, 269, 337, 302,
- /* 800 */ 346, 328, 327, 228, 369, 364, 15, 375, 373, 327,
- /* 810 */ 15, 373, 18, 15, 219, 327, 18, 327, 327, 18,
- /* 820 */ 48, 52, 50, 44, 9, 14, 384, 385, 17, 16,
- /* 830 */ 386, 283, 41, 39, 210, 327, 327, 327, 47, 327,
- /* 840 */ 327, 327, 327, 327, 327, 327, 387, 383, 382, 378,
- /* 850 */ 377, 379, 380, 381, 363, 362, 345, 344, 327, 327,
- /* 860 */ 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
- /* 870 */ 327, 327, 274, 48, 52, 50, 44, 9, 14, 384,
- /* 880 */ 385, 17, 16, 386, 283, 41, 39, 210, 327, 327,
- /* 890 */ 327, 327, 327, 327, 327, 327, 327, 327, 327, 387,
- /* 900 */ 383, 382, 378, 377, 379, 380, 381, 363, 362, 345,
- /* 910 */ 344, 327, 327, 327, 327, 327, 327, 327, 327, 327,
- /* 920 */ 327, 327, 327, 327, 327, 327, 48, 52, 50, 44,
- /* 930 */ 9, 14, 384, 385, 17, 16, 386, 283, 41, 39,
- /* 940 */ 210, 327, 327, 327, 327, 327, 327, 327, 327, 327,
- /* 950 */ 327, 265, 387, 383, 382, 378, 377, 379, 380, 381,
- /* 960 */ 363, 362, 345, 344, 327, 327, 327, 327, 327, 224,
- /* 970 */ 327, 327, 327, 327, 327, 327, 327, 327, 327, 48,
- /* 980 */ 52, 50, 44, 9, 14, 384, 385, 17, 16, 386,
- /* 990 */ 283, 41, 39, 210, 327, 327, 327, 327, 327, 327,
- /* 1000 */ 327, 327, 327, 327, 327, 387, 383, 382, 378, 377,
- /* 1010 */ 379, 380, 381, 363, 362, 345, 344, 327, 327, 327,
- /* 1020 */ 327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
- /* 1030 */ 327, 327, 48, 52, 50, 44, 9, 14, 384, 385,
- /* 1040 */ 17, 16, 386, 283, 41, 39, 327, 327, 327, 327,
- /* 1050 */ 327, 327, 327, 327, 327, 327, 327, 327, 387, 383,
- /* 1060 */ 382, 378, 377, 379, 380, 381, 363, 362, 345, 344,
- /* 1070 */ 327, 327, 327, 48, 52, 50, 44, 9, 14, 384,
- /* 1080 */ 385, 17, 16, 386, 283, 41, 39, 327, 327, 327,
- /* 1090 */ 327, 327, 327, 327, 327, 327, 327, 327, 327, 387,
- /* 1100 */ 383, 382, 378, 377, 379, 380, 381, 363, 362, 345,
- /* 1110 */ 344, 327, 327, 327, 327, 327, 43, 327, 142, 207,
- /* 1120 */ 327, 327, 3, 108, 327, 264, 327, 368, 146, 327,
- /* 1130 */ 327, 151, 244, 296, 243, 132, 227, 15, 33, 327,
- /* 1140 */ 327, 51, 327, 18, 367, 327, 368, 228, 369, 364,
- /* 1150 */ 150, 375, 327, 174, 132, 327, 49, 46, 299, 225,
- /* 1160 */ 365, 327, 294, 103, 1, 280, 228, 369, 364, 262,
- /* 1170 */ 375, 327, 327, 43, 285, 142, 218, 327, 96, 3,
- /* 1180 */ 108, 15, 289, 327, 327, 146, 327, 18, 327, 244,
- /* 1190 */ 296, 243, 327, 227, 15, 33, 327, 327, 51, 327,
- /* 1200 */ 18, 327, 368, 327, 327, 327, 121, 327, 327, 54,
- /* 1210 */ 132, 327, 327, 49, 46, 299, 225, 365, 302, 346,
- /* 1220 */ 103, 1, 228, 369, 364, 327, 375, 350, 327, 327,
- /* 1230 */ 43, 327, 142, 205, 327, 96, 3, 108, 327, 15,
- /* 1240 */ 169, 327, 146, 327, 358, 18, 244, 296, 243, 294,
- /* 1250 */ 227, 327, 33, 327, 327, 51, 15, 327, 327, 368,
- /* 1260 */ 327, 285, 18, 140, 327, 327, 66, 132, 327, 327,
- /* 1270 */ 49, 46, 299, 225, 365, 302, 346, 103, 1, 228,
- /* 1280 */ 369, 364, 327, 375, 295, 327, 327, 43, 327, 130,
- /* 1290 */ 218, 327, 96, 3, 108, 327, 15, 327, 327, 146,
- /* 1300 */ 327, 293, 18, 244, 296, 243, 327, 227, 327, 26,
- /* 1310 */ 327, 327, 51, 15, 327, 327, 368, 327, 327, 18,
- /* 1320 */ 140, 327, 327, 60, 132, 327, 327, 49, 46, 299,
- /* 1330 */ 225, 365, 302, 346, 103, 1, 228, 369, 364, 327,
- /* 1340 */ 375, 258, 327, 327, 43, 327, 128, 218, 327, 96,
- /* 1350 */ 3, 108, 327, 15, 327, 327, 146, 327, 291, 18,
- /* 1360 */ 244, 296, 243, 327, 227, 327, 5, 327, 327, 51,
- /* 1370 */ 15, 327, 327, 368, 327, 327, 18, 140, 327, 327,
- /* 1380 */ 75, 132, 327, 327, 49, 46, 299, 225, 365, 302,
- /* 1390 */ 346, 103, 1, 228, 369, 364, 327, 375, 259, 327,
- /* 1400 */ 327, 43, 327, 142, 209, 327, 96, 3, 108, 327,
- /* 1410 */ 15, 327, 327, 146, 327, 273, 18, 244, 296, 243,
- /* 1420 */ 327, 227, 327, 33, 327, 327, 51, 15, 327, 327,
- /* 1430 */ 368, 327, 327, 18, 140, 327, 327, 87, 132, 327,
- /* 1440 */ 327, 49, 46, 299, 225, 365, 302, 346, 103, 1,
- /* 1450 */ 228, 369, 364, 327, 375, 275, 327, 327, 43, 327,
- /* 1460 */ 125, 92, 327, 96, 3, 108, 327, 15, 327, 327,
- /* 1470 */ 146, 327, 310, 18, 244, 296, 243, 327, 227, 327,
- /* 1480 */ 33, 327, 327, 51, 15, 327, 327, 368, 327, 327,
- /* 1490 */ 18, 140, 327, 327, 58, 132, 327, 327, 49, 46,
- /* 1500 */ 299, 225, 365, 302, 346, 103, 1, 228, 369, 364,
- /* 1510 */ 327, 375, 341, 327, 327, 43, 327, 133, 218, 327,
- /* 1520 */ 96, 3, 108, 327, 15, 327, 327, 146, 327, 348,
- /* 1530 */ 18, 244, 296, 243, 327, 227, 327, 33, 327, 327,
- /* 1540 */ 51, 15, 327, 327, 368, 327, 327, 18, 140, 327,
- /* 1550 */ 327, 68, 132, 327, 327, 49, 46, 299, 225, 365,
- /* 1560 */ 302, 346, 103, 1, 215, 369, 364, 327, 375, 327,
- /* 1570 */ 327, 327, 43, 327, 142, 206, 327, 96, 3, 108,
- /* 1580 */ 327, 327, 327, 327, 146, 327, 327, 327, 244, 296,
- /* 1590 */ 243, 327, 213, 327, 33, 327, 327, 51, 327, 327,
- /* 1600 */ 327, 368, 327, 327, 327, 140, 327, 327, 89, 132,
- /* 1610 */ 327, 327, 49, 46, 299, 225, 365, 302, 346, 103,
- /* 1620 */ 1, 228, 369, 364, 327, 375, 327, 327, 327, 43,
- /* 1630 */ 327, 130, 214, 327, 96, 3, 108, 327, 327, 327,
- /* 1640 */ 327, 146, 327, 327, 327, 244, 296, 243, 327, 227,
- /* 1650 */ 327, 26, 327, 327, 51, 327, 327, 327, 368, 327,
- /* 1660 */ 327, 327, 93, 327, 327, 53, 122, 327, 327, 49,
- /* 1670 */ 46, 299, 225, 365, 302, 346, 103, 327, 221, 369,
- /* 1680 */ 364, 327, 375, 327, 327, 327, 43, 327, 130, 218,
- /* 1690 */ 327, 96, 3, 108, 327, 327, 327, 327, 146, 327,
- /* 1700 */ 327, 327, 244, 296, 243, 327, 227, 327, 26, 327,
- /* 1710 */ 327, 51, 327, 327, 327, 368, 327, 327, 327, 140,
- /* 1720 */ 327, 327, 71, 132, 327, 327, 49, 46, 299, 225,
- /* 1730 */ 365, 302, 346, 103, 327, 228, 369, 364, 327, 375,
- /* 1740 */ 327, 327, 327, 327, 502, 327, 217, 327, 96, 327,
- /* 1750 */ 327, 502, 327, 502, 502, 355, 502, 502, 327, 327,
- /* 1760 */ 327, 32, 502, 327, 502, 4, 502, 3, 108, 327,
- /* 1770 */ 99, 171, 327, 146, 327, 327, 327, 244, 296, 243,
- /* 1780 */ 294, 502, 327, 28, 31, 327, 327, 327, 139, 327,
- /* 1790 */ 327, 327, 502, 327, 368, 193, 163, 203, 117, 327,
- /* 1800 */ 327, 84, 132, 327, 327, 294, 502, 327, 28, 31,
- /* 1810 */ 302, 346, 327, 368, 228, 369, 364, 157, 375, 327,
- /* 1820 */ 327, 132, 203, 357, 27, 353, 327, 327, 327, 263,
- /* 1830 */ 270, 327, 368, 228, 369, 364, 140, 375, 327, 69,
- /* 1840 */ 132, 327, 210, 368, 327, 327, 327, 140, 302, 346,
- /* 1850 */ 79, 132, 228, 369, 364, 327, 375, 327, 349, 302,
- /* 1860 */ 346, 327, 223, 228, 369, 364, 327, 375, 327, 327,
- /* 1870 */ 15, 327, 327, 327, 368, 327, 18, 327, 140, 4,
- /* 1880 */ 327, 91, 132, 327, 327, 327, 327, 327, 327, 327,
- /* 1890 */ 302, 346, 327, 327, 228, 369, 364, 368, 375, 327,
- /* 1900 */ 327, 140, 139, 368, 76, 132, 327, 153, 327, 327,
- /* 1910 */ 327, 132, 327, 302, 346, 327, 327, 228, 369, 364,
- /* 1920 */ 327, 375, 368, 228, 369, 364, 140, 375, 327, 63,
- /* 1930 */ 132, 327, 327, 368, 327, 327, 327, 111, 302, 346,
- /* 1940 */ 62, 132, 228, 369, 364, 327, 375, 327, 327, 302,
- /* 1950 */ 346, 327, 327, 228, 369, 364, 327, 375, 327, 327,
- /* 1960 */ 368, 193, 176, 327, 140, 327, 327, 78, 132, 327,
- /* 1970 */ 327, 294, 327, 327, 28, 31, 302, 346, 327, 327,
- /* 1980 */ 228, 369, 364, 368, 375, 327, 327, 140, 203, 368,
- /* 1990 */ 64, 132, 327, 154, 327, 327, 327, 132, 327, 302,
- /* 2000 */ 346, 327, 327, 228, 369, 364, 327, 375, 368, 228,
- /* 2010 */ 369, 364, 140, 375, 327, 77, 132, 327, 327, 368,
- /* 2020 */ 327, 327, 327, 140, 302, 346, 80, 132, 228, 369,
- /* 2030 */ 364, 327, 375, 327, 327, 302, 346, 327, 327, 228,
- /* 2040 */ 369, 364, 327, 375, 327, 327, 368, 327, 327, 327,
- /* 2050 */ 140, 327, 327, 61, 132, 327, 327, 327, 327, 327,
- /* 2060 */ 327, 327, 302, 346, 327, 327, 228, 369, 364, 368,
- /* 2070 */ 375, 327, 327, 140, 327, 368, 65, 132, 327, 156,
- /* 2080 */ 327, 327, 327, 132, 327, 302, 346, 327, 327, 228,
- /* 2090 */ 369, 364, 327, 375, 368, 228, 369, 364, 140, 375,
- /* 2100 */ 327, 81, 132, 327, 327, 368, 327, 327, 327, 113,
- /* 2110 */ 302, 346, 88, 132, 228, 369, 364, 327, 375, 327,
- /* 2120 */ 327, 302, 346, 327, 327, 228, 369, 364, 327, 375,
- /* 2130 */ 327, 327, 368, 327, 327, 327, 140, 327, 327, 67,
- /* 2140 */ 132, 327, 327, 327, 327, 327, 327, 327, 302, 346,
- /* 2150 */ 327, 327, 228, 369, 364, 368, 375, 327, 327, 140,
- /* 2160 */ 327, 368, 86, 132, 327, 148, 327, 327, 327, 132,
- /* 2170 */ 327, 302, 346, 327, 327, 228, 369, 364, 327, 375,
- /* 2180 */ 368, 228, 369, 364, 140, 375, 327, 85, 132, 327,
- /* 2190 */ 327, 368, 327, 327, 327, 112, 302, 346, 73, 132,
- /* 2200 */ 228, 369, 364, 327, 375, 327, 327, 302, 346, 327,
- /* 2210 */ 327, 228, 369, 364, 327, 375, 327, 327, 368, 327,
- /* 2220 */ 327, 327, 140, 327, 327, 70, 132, 327, 327, 327,
- /* 2230 */ 327, 327, 327, 327, 302, 346, 327, 327, 228, 369,
- /* 2240 */ 364, 368, 375, 327, 327, 140, 327, 327, 57, 132,
- /* 2250 */ 327, 327, 327, 327, 327, 327, 327, 302, 346, 327,
- /* 2260 */ 327, 228, 369, 364, 327, 375, 368, 327, 327, 327,
- /* 2270 */ 140, 327, 327, 90, 132, 327, 327, 368, 327, 327,
- /* 2280 */ 327, 140, 302, 346, 83, 132, 228, 369, 364, 327,
- /* 2290 */ 375, 327, 327, 302, 346, 327, 327, 228, 369, 364,
- /* 2300 */ 327, 375, 327, 327, 368, 327, 327, 327, 140, 327,
- /* 2310 */ 327, 82, 132, 327, 327, 327, 327, 327, 327, 327,
- /* 2320 */ 302, 346, 327, 327, 228, 369, 364, 368, 375, 327,
- /* 2330 */ 327, 140, 327, 327, 55, 132, 327, 327, 327, 327,
- /* 2340 */ 327, 327, 327, 302, 346, 327, 327, 228, 369, 364,
- /* 2350 */ 327, 375, 368, 327, 327, 327, 140, 327, 327, 72,
- /* 2360 */ 132, 327, 327, 368, 327, 327, 327, 93, 302, 346,
- /* 2370 */ 59, 122, 228, 369, 364, 327, 375, 327, 327, 302,
- /* 2380 */ 346, 327, 327, 228, 369, 364, 327, 375, 327, 327,
- /* 2390 */ 368, 327, 327, 327, 140, 327, 327, 74, 132, 327,
- /* 2400 */ 327, 327, 327, 193, 158, 327, 302, 346, 327, 327,
- /* 2410 */ 228, 369, 364, 294, 375, 327, 28, 31, 193, 173,
- /* 2420 */ 327, 327, 327, 327, 327, 193, 164, 327, 294, 327,
- /* 2430 */ 203, 28, 31, 327, 327, 294, 327, 327, 28, 31,
- /* 2440 */ 327, 327, 327, 327, 327, 203, 327, 327, 327, 327,
- /* 2450 */ 327, 327, 203,
+ const YY_SZ_ACTTAB = 2541;
+ static public $yy_action = array(
+ /* 0 */
+ 225, 35, 312, 333, 198, 272, 273, 275, 283, 292,
+ /* 10 */
+ 293, 294, 295, 287, 288, 267, 190, 43, 19, 8,
+ /* 20 */
+ 204, 14, 212, 299, 2, 108, 225, 9, 424, 41,
+ /* 30 */
+ 139, 208, 225, 41, 250, 32, 228, 13, 159, 32,
+ /* 40 */
+ 51, 52, 50, 44, 11, 12, 298, 300, 21, 23,
+ /* 50 */
+ 303, 302, 25, 17, 225, 424, 234, 225, 225, 381,
+ /* 60 */
+ 421, 424, 45, 38, 145, 357, 313, 323, 322, 324,
+ /* 70 */
+ 325, 326, 320, 315, 314, 316, 317, 319, 127, 41,
+ /* 80 */
+ 46, 42, 338, 41, 168, 32, 41, 421, 14, 32,
+ /* 90 */
+ 299, 34, 32, 421, 51, 52, 50, 44, 11, 12,
+ /* 100 */
+ 298, 300, 21, 23, 303, 302, 25, 17, 225, 104,
+ /* 110 */
+ 185, 46, 46, 559, 95, 279, 242, 271, 3, 321,
+ /* 120 */
+ 313, 323, 322, 324, 325, 326, 320, 315, 314, 316,
+ /* 130 */
+ 317, 319, 14, 241, 299, 34, 208, 41, 225, 14,
+ /* 140 */
+ 418, 299, 28, 32, 179, 7, 356, 285, 51, 52,
+ /* 150 */
+ 50, 44, 11, 12, 298, 300, 21, 23, 303, 302,
+ /* 160 */
+ 25, 17, 225, 225, 274, 424, 240, 41, 134, 190,
+ /* 170 */
+ 332, 343, 340, 32, 313, 323, 322, 324, 325, 326,
+ /* 180 */
+ 320, 315, 314, 316, 317, 319, 37, 122, 182, 31,
+ /* 190 */
+ 202, 225, 424, 352, 225, 14, 7, 299, 424, 225,
+ /* 200 */
+ 150, 386, 51, 52, 50, 44, 11, 12, 298, 300,
+ /* 210 */
+ 21, 23, 303, 302, 25, 17, 225, 46, 349, 134,
+ /* 220 */
+ 41, 278, 242, 271, 7, 29, 32, 341, 313, 323,
+ /* 230 */
+ 322, 324, 325, 326, 320, 315, 314, 316, 317, 319,
+ /* 240 */
+ 226, 227, 197, 304, 103, 184, 232, 134, 46, 14,
+ /* 250 */
+ 35, 299, 265, 46, 321, 18, 51, 52, 50, 44,
+ /* 260 */
+ 11, 12, 298, 300, 21, 23, 303, 302, 25, 17,
+ /* 270 */
+ 225, 208, 264, 259, 258, 218, 6, 109, 345, 35,
+ /* 280 */
+ 193, 263, 313, 323, 322, 324, 325, 326, 320, 315,
+ /* 290 */
+ 314, 316, 317, 319, 241, 192, 304, 107, 102, 175,
+ /* 300 */
+ 269, 201, 191, 304, 203, 142, 253, 208, 321, 335,
+ /* 310 */
+ 51, 52, 50, 44, 11, 12, 298, 300, 21, 23,
+ /* 320 */
+ 303, 302, 25, 17, 225, 208, 268, 196, 208, 305,
+ /* 330 */
+ 485, 208, 230, 200, 308, 485, 313, 323, 322, 324,
+ /* 340 */
+ 325, 326, 320, 315, 314, 316, 317, 319, 30, 159,
+ /* 350 */
+ 105, 20, 233, 161, 186, 305, 301, 274, 256, 247,
+ /* 360 */
+ 208, 225, 321, 36, 51, 52, 50, 44, 11, 12,
+ /* 370 */
+ 298, 300, 21, 23, 303, 302, 25, 17, 225, 204,
+ /* 380 */
+ 207, 14, 254, 299, 131, 259, 249, 225, 158, 127,
+ /* 390 */
+ 313, 323, 322, 324, 325, 326, 320, 315, 314, 316,
+ /* 400 */
+ 317, 319, 237, 262, 130, 225, 45, 183, 187, 14,
+ /* 410 */
+ 169, 223, 301, 342, 274, 334, 321, 321, 51, 52,
+ /* 420 */
+ 50, 44, 11, 12, 298, 300, 21, 23, 303, 302,
+ /* 430 */
+ 25, 17, 225, 204, 204, 14, 6, 244, 141, 259,
+ /* 440 */
+ 291, 46, 98, 194, 313, 323, 322, 324, 325, 326,
+ /* 450 */
+ 320, 315, 314, 316, 317, 319, 132, 262, 227, 166,
+ /* 460 */
+ 163, 189, 14, 284, 231, 26, 237, 27, 321, 321,
+ /* 470 */
+ 321, 32, 51, 52, 50, 44, 11, 12, 298, 300,
+ /* 480 */
+ 21, 23, 303, 302, 25, 17, 225, 204, 14, 276,
+ /* 490 */
+ 245, 206, 22, 4, 144, 328, 150, 120, 313, 323,
+ /* 500 */
+ 322, 324, 325, 326, 320, 315, 314, 316, 317, 319,
+ /* 510 */
+ 195, 348, 262, 176, 171, 39, 30, 199, 143, 180,
+ /* 520 */
+ 148, 281, 321, 260, 159, 230, 51, 52, 50, 44,
+ /* 530 */
+ 11, 12, 298, 300, 21, 23, 303, 302, 25, 17,
+ /* 540 */
+ 225, 296, 205, 129, 346, 289, 124, 329, 125, 339,
+ /* 550 */
+ 97, 119, 313, 323, 322, 324, 325, 326, 320, 315,
+ /* 560 */
+ 314, 316, 317, 319, 127, 262, 262, 239, 277, 282,
+ /* 570 */
+ 307, 94, 266, 351, 269, 170, 159, 181, 172, 106,
+ /* 580 */
+ 51, 52, 50, 44, 11, 12, 298, 300, 21, 23,
+ /* 590 */
+ 303, 302, 25, 17, 225, 330, 270, 301, 15, 115,
+ /* 600 */
+ 331, 310, 326, 255, 140, 126, 313, 323, 322, 324,
+ /* 610 */
+ 325, 326, 320, 315, 314, 316, 317, 319, 301, 326,
+ /* 620 */
+ 262, 326, 326, 326, 326, 326, 326, 326, 326, 326,
+ /* 630 */
+ 326, 326, 326, 243, 51, 52, 50, 44, 11, 12,
+ /* 640 */
+ 298, 300, 21, 23, 303, 302, 25, 17, 225, 40,
+ /* 650 */
+ 326, 326, 326, 326, 326, 326, 326, 113, 99, 100,
+ /* 660 */
+ 313, 323, 322, 324, 325, 326, 320, 315, 314, 316,
+ /* 670 */
+ 317, 319, 262, 262, 262, 326, 326, 326, 326, 326,
+ /* 680 */
+ 326, 326, 326, 326, 326, 326, 326, 326, 51, 52,
+ /* 690 */
+ 50, 44, 11, 12, 298, 300, 21, 23, 303, 302,
+ /* 700 */
+ 25, 17, 225, 326, 326, 326, 326, 326, 326, 326,
+ /* 710 */
+ 326, 114, 326, 326, 313, 323, 322, 324, 325, 326,
+ /* 720 */
+ 320, 315, 314, 316, 317, 319, 262, 326, 326, 326,
+ /* 730 */
+ 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
+ /* 740 */
+ 326, 286, 51, 52, 50, 44, 11, 12, 298, 300,
+ /* 750 */
+ 21, 23, 303, 302, 25, 17, 225, 326, 326, 326,
+ /* 760 */
+ 326, 326, 326, 326, 326, 326, 326, 326, 313, 323,
+ /* 770 */
+ 322, 324, 325, 326, 320, 315, 314, 316, 317, 319,
+ /* 780 */
+ 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
+ /* 790 */
+ 326, 326, 326, 326, 326, 326, 51, 52, 50, 44,
+ /* 800 */
+ 11, 12, 298, 300, 21, 23, 303, 302, 25, 17,
+ /* 810 */
+ 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
+ /* 820 */
+ 159, 326, 313, 323, 322, 324, 325, 326, 320, 315,
+ /* 830 */
+ 314, 316, 317, 319, 326, 326, 326, 326, 51, 52,
+ /* 840 */
+ 50, 44, 11, 12, 298, 300, 21, 23, 303, 302,
+ /* 850 */
+ 25, 17, 326, 326, 326, 326, 326, 326, 212, 326,
+ /* 860 */
+ 326, 326, 326, 9, 313, 323, 322, 324, 325, 326,
+ /* 870 */
+ 320, 315, 314, 316, 317, 319, 326, 326, 326, 326,
+ /* 880 */
+ 326, 326, 326, 8, 138, 211, 326, 326, 2, 108,
+ /* 890 */
+ 326, 235, 326, 326, 139, 157, 165, 326, 250, 128,
+ /* 900 */
+ 228, 326, 246, 326, 24, 321, 326, 48, 261, 326,
+ /* 910 */
+ 326, 251, 336, 353, 326, 311, 326, 301, 174, 173,
+ /* 920 */
+ 326, 326, 49, 47, 280, 238, 297, 321, 321, 105,
+ /* 930 */
+ 1, 337, 326, 147, 326, 326, 326, 326, 326, 301,
+ /* 940 */
+ 301, 8, 123, 92, 96, 257, 2, 108, 326, 311,
+ /* 950 */
+ 326, 326, 139, 326, 326, 235, 250, 309, 228, 146,
+ /* 960 */
+ 246, 326, 24, 128, 162, 48, 326, 326, 326, 326,
+ /* 970 */
+ 235, 326, 350, 321, 155, 251, 336, 353, 128, 311,
+ /* 980 */
+ 49, 47, 280, 238, 297, 301, 326, 105, 1, 326,
+ /* 990 */
+ 251, 336, 353, 326, 311, 14, 326, 299, 326, 8,
+ /* 1000 */
+ 138, 224, 96, 326, 2, 108, 326, 41, 326, 252,
+ /* 1010 */
+ 139, 235, 326, 32, 250, 153, 228, 326, 246, 128,
+ /* 1020 */
+ 24, 326, 326, 48, 326, 326, 326, 326, 326, 326,
+ /* 1030 */
+ 326, 251, 336, 353, 326, 311, 326, 326, 49, 47,
+ /* 1040 */
+ 280, 238, 297, 326, 326, 105, 1, 326, 326, 326,
+ /* 1050 */
+ 326, 326, 14, 326, 299, 326, 326, 8, 142, 224,
+ /* 1060 */
+ 96, 326, 2, 108, 41, 235, 248, 326, 139, 154,
+ /* 1070 */
+ 32, 235, 250, 128, 228, 156, 246, 326, 33, 128,
+ /* 1080 */
+ 326, 48, 326, 326, 326, 251, 336, 353, 326, 311,
+ /* 1090 */
+ 326, 251, 336, 353, 326, 311, 49, 47, 280, 238,
+ /* 1100 */
+ 297, 326, 326, 105, 1, 326, 326, 326, 326, 326,
+ /* 1110 */
+ 326, 326, 326, 326, 326, 8, 138, 213, 96, 326,
+ /* 1120 */
+ 2, 108, 326, 326, 326, 326, 139, 235, 326, 326,
+ /* 1130 */
+ 250, 149, 228, 326, 246, 128, 24, 326, 326, 48,
+ /* 1140 */
+ 326, 326, 326, 326, 326, 326, 326, 251, 336, 353,
+ /* 1150 */
+ 326, 311, 326, 326, 49, 47, 280, 238, 297, 326,
+ /* 1160 */
+ 326, 105, 1, 326, 326, 326, 326, 326, 326, 326,
+ /* 1170 */
+ 326, 326, 326, 8, 138, 210, 96, 326, 2, 108,
+ /* 1180 */
+ 326, 326, 326, 326, 139, 235, 326, 326, 250, 151,
+ /* 1190 */
+ 228, 326, 219, 128, 24, 326, 326, 48, 326, 326,
+ /* 1200 */
+ 326, 326, 326, 326, 326, 251, 336, 353, 326, 311,
+ /* 1210 */
+ 326, 326, 49, 47, 280, 238, 297, 326, 326, 105,
+ /* 1220 */
+ 1, 326, 326, 326, 326, 326, 326, 326, 326, 326,
+ /* 1230 */
+ 326, 8, 136, 224, 96, 326, 2, 108, 326, 326,
+ /* 1240 */
+ 326, 326, 139, 235, 326, 326, 250, 152, 228, 326,
+ /* 1250 */
+ 246, 128, 24, 326, 326, 48, 326, 326, 326, 326,
+ /* 1260 */
+ 326, 326, 326, 251, 336, 353, 326, 311, 326, 326,
+ /* 1270 */
+ 49, 47, 280, 238, 297, 326, 326, 105, 1, 326,
+ /* 1280 */
+ 225, 326, 391, 326, 422, 326, 326, 326, 326, 8,
+ /* 1290 */
+ 135, 224, 96, 326, 2, 108, 326, 326, 326, 326,
+ /* 1300 */
+ 139, 236, 229, 326, 250, 326, 228, 326, 246, 41,
+ /* 1310 */
+ 5, 422, 326, 48, 326, 32, 326, 422, 7, 326,
+ /* 1320 */
+ 7, 326, 326, 326, 198, 178, 326, 326, 49, 47,
+ /* 1330 */
+ 280, 238, 297, 326, 321, 105, 1, 43, 19, 326,
+ /* 1340 */
+ 326, 134, 326, 134, 326, 326, 326, 8, 138, 209,
+ /* 1350 */
+ 96, 208, 2, 108, 326, 326, 326, 326, 139, 326,
+ /* 1360 */
+ 326, 326, 250, 326, 228, 326, 246, 326, 24, 198,
+ /* 1370 */
+ 164, 48, 326, 326, 326, 326, 326, 326, 326, 321,
+ /* 1380 */
+ 326, 326, 43, 19, 326, 326, 49, 47, 280, 238,
+ /* 1390 */
+ 297, 326, 326, 105, 1, 326, 208, 326, 326, 326,
+ /* 1400 */
+ 326, 326, 326, 326, 326, 8, 142, 224, 96, 326,
+ /* 1410 */
+ 2, 108, 326, 326, 326, 326, 139, 326, 326, 326,
+ /* 1420 */
+ 250, 326, 228, 326, 246, 326, 33, 198, 177, 48,
+ /* 1430 */
+ 326, 326, 326, 326, 326, 326, 326, 321, 326, 326,
+ /* 1440 */
+ 43, 19, 326, 326, 49, 47, 280, 238, 297, 326,
+ /* 1450 */
+ 326, 105, 326, 326, 208, 326, 326, 326, 326, 326,
+ /* 1460 */
+ 326, 326, 326, 8, 142, 222, 96, 326, 2, 108,
+ /* 1470 */
+ 326, 326, 326, 326, 139, 326, 326, 326, 250, 326,
+ /* 1480 */
+ 228, 326, 246, 326, 33, 326, 467, 48, 326, 326,
+ /* 1490 */
+ 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
+ /* 1500 */
+ 326, 326, 49, 47, 280, 238, 297, 326, 467, 105,
+ /* 1510 */
+ 467, 467, 326, 467, 467, 326, 326, 326, 326, 467,
+ /* 1520 */
+ 326, 467, 7, 467, 96, 326, 326, 326, 326, 326,
+ /* 1530 */
+ 326, 326, 326, 326, 326, 235, 326, 326, 467, 121,
+ /* 1540 */
+ 326, 326, 86, 128, 326, 134, 326, 326, 326, 467,
+ /* 1550 */
+ 326, 290, 318, 326, 326, 251, 336, 353, 326, 311,
+ /* 1560 */
+ 326, 326, 326, 467, 326, 326, 326, 235, 326, 216,
+ /* 1570 */
+ 354, 133, 326, 326, 68, 117, 249, 326, 326, 326,
+ /* 1580 */
+ 326, 326, 326, 290, 318, 326, 326, 251, 336, 353,
+ /* 1590 */
+ 235, 311, 326, 326, 133, 326, 326, 76, 128, 326,
+ /* 1600 */
+ 326, 326, 326, 326, 326, 326, 290, 318, 326, 235,
+ /* 1610 */
+ 251, 336, 353, 133, 311, 326, 76, 128, 326, 326,
+ /* 1620 */
+ 326, 221, 326, 326, 326, 290, 318, 326, 326, 251,
+ /* 1630 */
+ 336, 353, 326, 311, 326, 326, 326, 326, 235, 326,
+ /* 1640 */
+ 215, 326, 121, 326, 326, 86, 128, 326, 326, 326,
+ /* 1650 */
+ 326, 326, 326, 326, 290, 318, 326, 326, 251, 336,
+ /* 1660 */
+ 353, 235, 311, 326, 326, 133, 326, 326, 59, 117,
+ /* 1670 */
+ 137, 326, 326, 355, 326, 326, 326, 290, 318, 326,
+ /* 1680 */
+ 326, 251, 336, 353, 235, 311, 326, 326, 133, 326,
+ /* 1690 */
+ 326, 76, 128, 326, 326, 326, 326, 326, 326, 326,
+ /* 1700 */
+ 290, 318, 326, 235, 251, 336, 353, 110, 311, 326,
+ /* 1710 */
+ 69, 128, 326, 326, 326, 217, 326, 326, 326, 290,
+ /* 1720 */
+ 318, 326, 326, 251, 336, 353, 326, 311, 326, 235,
+ /* 1730 */
+ 101, 160, 326, 133, 326, 326, 57, 128, 326, 326,
+ /* 1740 */
+ 321, 326, 326, 43, 19, 290, 318, 326, 235, 251,
+ /* 1750 */
+ 336, 353, 133, 311, 326, 73, 128, 208, 326, 326,
+ /* 1760 */
+ 326, 326, 326, 326, 290, 318, 326, 326, 251, 336,
+ /* 1770 */
+ 353, 235, 311, 326, 326, 133, 326, 326, 78, 128,
+ /* 1780 */
+ 326, 326, 326, 326, 326, 326, 326, 290, 318, 326,
+ /* 1790 */
+ 235, 251, 336, 353, 133, 311, 326, 70, 128, 326,
+ /* 1800 */
+ 326, 326, 326, 326, 326, 326, 290, 318, 326, 326,
+ /* 1810 */
+ 251, 336, 353, 326, 311, 326, 235, 198, 167, 326,
+ /* 1820 */
+ 133, 326, 326, 64, 128, 326, 326, 321, 326, 326,
+ /* 1830 */
+ 43, 19, 290, 318, 326, 235, 251, 336, 353, 133,
+ /* 1840 */
+ 311, 326, 67, 128, 208, 326, 326, 326, 326, 326,
+ /* 1850 */
+ 326, 290, 318, 326, 326, 251, 336, 353, 235, 311,
+ /* 1860 */
+ 326, 326, 133, 326, 326, 88, 128, 326, 326, 326,
+ /* 1870 */
+ 326, 326, 326, 326, 290, 318, 326, 235, 251, 336,
+ /* 1880 */
+ 353, 133, 311, 326, 82, 128, 326, 326, 326, 326,
+ /* 1890 */
+ 326, 326, 326, 290, 318, 326, 326, 251, 336, 353,
+ /* 1900 */
+ 326, 311, 326, 235, 198, 188, 326, 133, 326, 326,
+ /* 1910 */
+ 72, 128, 326, 326, 321, 326, 326, 43, 19, 290,
+ /* 1920 */
+ 318, 326, 235, 251, 336, 353, 93, 311, 326, 55,
+ /* 1930 */
+ 116, 208, 326, 326, 326, 326, 326, 326, 290, 318,
+ /* 1940 */
+ 326, 326, 251, 336, 353, 235, 311, 326, 326, 112,
+ /* 1950 */
+ 326, 326, 87, 128, 326, 326, 326, 326, 326, 326,
+ /* 1960 */
+ 326, 290, 318, 326, 235, 251, 336, 353, 133, 311,
+ /* 1970 */
+ 326, 77, 128, 326, 326, 326, 326, 326, 326, 326,
+ /* 1980 */
+ 290, 318, 326, 326, 251, 336, 353, 326, 311, 326,
+ /* 1990 */
+ 235, 326, 326, 326, 133, 326, 326, 89, 128, 326,
+ /* 2000 */
+ 326, 326, 326, 326, 326, 326, 290, 318, 326, 235,
+ /* 2010 */
+ 251, 336, 353, 133, 311, 326, 75, 128, 326, 326,
+ /* 2020 */
+ 326, 326, 326, 326, 326, 290, 318, 326, 326, 251,
+ /* 2030 */
+ 336, 353, 235, 311, 326, 326, 133, 326, 326, 91,
+ /* 2040 */
+ 128, 326, 326, 326, 326, 326, 326, 326, 290, 318,
+ /* 2050 */
+ 326, 235, 251, 336, 353, 133, 311, 326, 62, 128,
+ /* 2060 */
+ 326, 326, 326, 326, 326, 326, 326, 290, 318, 326,
+ /* 2070 */
+ 326, 251, 336, 353, 326, 311, 326, 235, 326, 326,
+ /* 2080 */
+ 326, 93, 326, 326, 53, 116, 326, 326, 326, 326,
+ /* 2090 */
+ 326, 326, 326, 290, 318, 326, 235, 220, 336, 353,
+ /* 2100 */
+ 133, 311, 326, 63, 128, 326, 326, 326, 326, 326,
+ /* 2110 */
+ 326, 326, 290, 318, 326, 326, 251, 336, 353, 235,
+ /* 2120 */
+ 311, 326, 326, 133, 326, 326, 61, 128, 326, 326,
+ /* 2130 */
+ 326, 326, 326, 326, 326, 290, 318, 326, 235, 214,
+ /* 2140 */
+ 336, 353, 133, 311, 326, 71, 128, 326, 326, 326,
+ /* 2150 */
+ 326, 326, 326, 326, 290, 318, 326, 326, 251, 336,
+ /* 2160 */
+ 353, 326, 311, 326, 235, 326, 326, 326, 133, 326,
+ /* 2170 */
+ 326, 85, 128, 326, 326, 326, 326, 326, 326, 326,
+ /* 2180 */
+ 290, 318, 326, 235, 251, 336, 353, 133, 311, 326,
+ /* 2190 */
+ 65, 128, 326, 326, 326, 326, 326, 326, 326, 290,
+ /* 2200 */
+ 318, 326, 326, 251, 336, 353, 235, 311, 326, 326,
+ /* 2210 */
+ 111, 326, 326, 74, 128, 326, 326, 326, 326, 326,
+ /* 2220 */
+ 326, 326, 290, 318, 326, 235, 251, 336, 353, 118,
+ /* 2230 */
+ 311, 326, 58, 128, 326, 326, 326, 326, 326, 326,
+ /* 2240 */
+ 326, 290, 318, 326, 326, 251, 336, 353, 326, 311,
+ /* 2250 */
+ 326, 235, 326, 326, 326, 133, 326, 326, 56, 128,
+ /* 2260 */
+ 326, 326, 326, 326, 326, 326, 326, 290, 318, 326,
+ /* 2270 */
+ 235, 251, 336, 353, 133, 311, 326, 79, 128, 326,
+ /* 2280 */
+ 326, 326, 326, 326, 326, 326, 290, 318, 326, 326,
+ /* 2290 */
+ 251, 336, 353, 235, 311, 326, 326, 133, 326, 326,
+ /* 2300 */
+ 80, 128, 326, 326, 326, 326, 326, 326, 326, 290,
+ /* 2310 */
+ 318, 326, 235, 251, 336, 353, 133, 311, 326, 84,
+ /* 2320 */
+ 128, 326, 326, 326, 326, 326, 326, 326, 290, 318,
+ /* 2330 */
+ 326, 326, 251, 336, 353, 326, 311, 326, 235, 326,
+ /* 2340 */
+ 326, 326, 133, 326, 326, 66, 128, 326, 326, 326,
+ /* 2350 */
+ 326, 326, 326, 326, 290, 318, 326, 344, 251, 336,
+ /* 2360 */
+ 353, 326, 311, 326, 10, 326, 326, 326, 326, 2,
+ /* 2370 */
+ 108, 344, 326, 326, 326, 139, 326, 326, 10, 250,
+ /* 2380 */
+ 326, 228, 326, 2, 108, 326, 326, 326, 326, 139,
+ /* 2390 */
+ 326, 326, 326, 250, 326, 228, 235, 326, 326, 326,
+ /* 2400 */
+ 133, 326, 326, 60, 128, 326, 326, 326, 326, 326,
+ /* 2410 */
+ 326, 326, 290, 318, 326, 326, 251, 336, 353, 326,
+ /* 2420 */
+ 311, 326, 326, 326, 326, 306, 16, 347, 326, 235,
+ /* 2430 */
+ 326, 326, 326, 133, 326, 326, 81, 128, 326, 327,
+ /* 2440 */
+ 16, 347, 326, 326, 326, 290, 318, 326, 326, 251,
+ /* 2450 */
+ 336, 353, 326, 311, 326, 326, 235, 326, 326, 326,
+ /* 2460 */
+ 133, 326, 326, 68, 128, 326, 326, 326, 326, 326,
+ /* 2470 */
+ 326, 326, 290, 318, 326, 326, 251, 336, 353, 326,
+ /* 2480 */
+ 311, 326, 235, 326, 326, 326, 133, 326, 326, 54,
+ /* 2490 */
+ 128, 326, 326, 326, 326, 326, 326, 326, 290, 318,
+ /* 2500 */
+ 326, 326, 251, 336, 353, 235, 311, 326, 326, 133,
+ /* 2510 */
+ 326, 326, 83, 128, 326, 326, 235, 326, 326, 326,
+ /* 2520 */
+ 133, 290, 318, 90, 128, 251, 336, 353, 326, 311,
+ /* 2530 */
+ 326, 326, 290, 318, 326, 326, 251, 336, 353, 326,
+ /* 2540 */
+ 311,
);
static public $yy_lookahead = array(
- /* 0 */ 1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
- /* 10 */ 12, 13, 113, 114, 16, 91, 17, 17, 91, 16,
- /* 20 */ 22, 23, 19, 20, 100, 24, 28, 100, 29, 29,
- /* 30 */ 32, 33, 34, 29, 35, 35, 112, 16, 37, 40,
- /* 40 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- /* 50 */ 51, 52, 53, 1, 82, 83, 84, 85, 86, 38,
- /* 60 */ 16, 90, 18, 19, 90, 66, 67, 68, 69, 70,
- /* 70 */ 71, 72, 73, 74, 75, 76, 77, 103, 104, 27,
- /* 80 */ 36, 29, 16, 96, 18, 19, 16, 35, 117, 19,
- /* 90 */ 20, 117, 40, 41, 42, 43, 44, 45, 46, 47,
- /* 100 */ 48, 49, 50, 51, 52, 53, 4, 5, 6, 7,
- /* 110 */ 8, 20, 118, 38, 38, 13, 14, 15, 66, 67,
- /* 120 */ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- /* 130 */ 1, 85, 62, 1, 59, 89, 61, 61, 92, 93,
- /* 140 */ 65, 16, 20, 21, 19, 17, 17, 101, 102, 17,
- /* 150 */ 59, 105, 106, 107, 29, 109, 31, 29, 29, 91,
- /* 160 */ 35, 29, 30, 35, 35, 119, 120, 35, 100, 40,
- /* 170 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- /* 180 */ 51, 52, 53, 61, 90, 91, 54, 113, 114, 111,
- /* 190 */ 16, 113, 114, 19, 100, 66, 67, 68, 69, 70,
- /* 200 */ 71, 72, 73, 74, 75, 76, 77, 1, 85, 59,
- /* 210 */ 1, 117, 89, 1, 64, 92, 93, 94, 1, 17,
- /* 220 */ 108, 17, 20, 17, 101, 102, 17, 115, 105, 106,
- /* 230 */ 107, 29, 109, 29, 17, 29, 62, 35, 29, 35,
- /* 240 */ 38, 35, 19, 31, 35, 99, 40, 41, 42, 43,
- /* 250 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- /* 260 */ 1, 16, 37, 61, 19, 20, 54, 110, 1, 2,
- /* 270 */ 25, 54, 66, 67, 68, 69, 70, 71, 72, 73,
- /* 280 */ 74, 75, 76, 77, 17, 62, 90, 91, 29, 1,
- /* 290 */ 65, 90, 110, 37, 35, 39, 100, 20, 21, 40,
- /* 300 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- /* 310 */ 51, 52, 53, 117, 90, 91, 96, 29, 117, 118,
- /* 320 */ 84, 85, 86, 35, 100, 66, 67, 68, 69, 70,
- /* 330 */ 71, 72, 73, 74, 75, 76, 77, 1, 61, 99,
- /* 340 */ 1, 117, 37, 85, 39, 18, 19, 89, 10, 16,
- /* 350 */ 99, 93, 19, 17, 16, 21, 17, 93, 85, 1,
- /* 360 */ 22, 23, 29, 105, 106, 107, 28, 109, 35, 105,
- /* 370 */ 32, 33, 34, 109, 25, 17, 40, 41, 42, 43,
- /* 380 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- /* 390 */ 63, 1, 31, 59, 121, 122, 25, 2, 64, 38,
- /* 400 */ 18, 19, 66, 67, 68, 69, 70, 71, 72, 73,
- /* 410 */ 74, 75, 76, 77, 24, 20, 78, 79, 80, 91,
- /* 420 */ 91, 29, 61, 93, 94, 95, 19, 35, 100, 100,
- /* 430 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- /* 440 */ 50, 51, 52, 53, 91, 117, 117, 37, 16, 39,
- /* 450 */ 79, 19, 110, 100, 112, 19, 66, 67, 68, 69,
- /* 460 */ 70, 71, 72, 73, 74, 75, 76, 77, 1, 85,
- /* 470 */ 117, 1, 1, 89, 108, 90, 92, 93, 94, 16,
- /* 480 */ 1, 115, 19, 17, 17, 101, 102, 17, 17, 105,
- /* 490 */ 106, 107, 29, 109, 31, 29, 17, 91, 35, 29,
- /* 500 */ 21, 35, 117, 19, 18, 35, 100, 40, 41, 42,
- /* 510 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- /* 520 */ 53, 1, 16, 117, 54, 19, 16, 18, 1, 19,
- /* 530 */ 97, 97, 1, 66, 67, 68, 69, 70, 71, 72,
- /* 540 */ 73, 74, 75, 76, 77, 112, 112, 38, 17, 90,
- /* 550 */ 93, 94, 16, 16, 26, 19, 19, 93, 94, 39,
- /* 560 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- /* 570 */ 50, 51, 52, 53, 1, 2, 117, 17, 110, 16,
- /* 580 */ 112, 54, 19, 18, 97, 25, 66, 67, 68, 69,
- /* 590 */ 70, 71, 72, 73, 74, 75, 76, 77, 62, 112,
- /* 600 */ 29, 19, 91, 86, 38, 88, 35, 19, 63, 55,
- /* 610 */ 63, 100, 97, 40, 41, 42, 43, 44, 45, 46,
- /* 620 */ 47, 48, 49, 50, 51, 52, 53, 112, 19, 65,
- /* 630 */ 39, 18, 2, 36, 36, 59, 19, 18, 97, 66,
- /* 640 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- /* 650 */ 77, 1, 85, 112, 1, 18, 89, 85, 19, 92,
- /* 660 */ 93, 89, 19, 38, 20, 93, 91, 17, 101, 102,
- /* 670 */ 17, 97, 105, 106, 107, 100, 109, 105, 106, 107,
- /* 680 */ 19, 109, 29, 116, 2, 19, 112, 112, 35, 21,
- /* 690 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- /* 700 */ 50, 51, 52, 53, 1, 1, 100, 54, 112, 117,
- /* 710 */ 111, 2, 21, 110, 98, 97, 66, 67, 68, 69,
- /* 720 */ 70, 71, 72, 73, 74, 75, 76, 77, 112, 61,
- /* 730 */ 112, 85, 14, 110, 87, 115, 114, 123, 123, 123,
- /* 740 */ 123, 123, 97, 40, 41, 42, 43, 44, 45, 46,
- /* 750 */ 47, 48, 49, 50, 51, 52, 53, 112, 123, 123,
- /* 760 */ 123, 123, 123, 123, 123, 123, 123, 123, 122, 66,
- /* 770 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- /* 780 */ 77, 1, 79, 85, 123, 1, 123, 89, 123, 123,
- /* 790 */ 92, 93, 123, 97, 17, 123, 97, 17, 17, 101,
- /* 800 */ 102, 17, 123, 105, 106, 107, 29, 109, 112, 123,
- /* 810 */ 29, 112, 35, 29, 116, 123, 35, 123, 123, 35,
- /* 820 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- /* 830 */ 50, 51, 52, 53, 1, 123, 123, 123, 54, 123,
- /* 840 */ 123, 123, 123, 123, 123, 123, 66, 67, 68, 69,
- /* 850 */ 70, 71, 72, 73, 74, 75, 76, 77, 123, 123,
- /* 860 */ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- /* 870 */ 123, 123, 39, 40, 41, 42, 43, 44, 45, 46,
- /* 880 */ 47, 48, 49, 50, 51, 52, 53, 1, 123, 123,
- /* 890 */ 123, 123, 123, 123, 123, 123, 123, 123, 123, 66,
- /* 900 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- /* 910 */ 77, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- /* 920 */ 123, 123, 123, 123, 123, 123, 40, 41, 42, 43,
- /* 930 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- /* 940 */ 1, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- /* 950 */ 123, 65, 66, 67, 68, 69, 70, 71, 72, 73,
- /* 960 */ 74, 75, 76, 77, 123, 123, 123, 123, 123, 30,
- /* 970 */ 123, 123, 123, 123, 123, 123, 123, 123, 123, 40,
- /* 980 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- /* 990 */ 51, 52, 53, 1, 123, 123, 123, 123, 123, 123,
- /* 1000 */ 123, 123, 123, 123, 123, 66, 67, 68, 69, 70,
- /* 1010 */ 71, 72, 73, 74, 75, 76, 77, 123, 123, 123,
- /* 1020 */ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- /* 1030 */ 123, 123, 40, 41, 42, 43, 44, 45, 46, 47,
- /* 1040 */ 48, 49, 50, 51, 52, 53, 123, 123, 123, 123,
- /* 1050 */ 123, 123, 123, 123, 123, 123, 123, 123, 66, 67,
- /* 1060 */ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- /* 1070 */ 123, 123, 123, 40, 41, 42, 43, 44, 45, 46,
- /* 1080 */ 47, 48, 49, 50, 51, 52, 53, 123, 123, 123,
- /* 1090 */ 123, 123, 123, 123, 123, 123, 123, 123, 123, 66,
- /* 1100 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- /* 1110 */ 77, 123, 123, 123, 123, 123, 16, 123, 18, 19,
- /* 1120 */ 123, 123, 22, 23, 123, 17, 123, 85, 28, 123,
- /* 1130 */ 123, 89, 32, 33, 34, 93, 36, 29, 38, 123,
- /* 1140 */ 123, 41, 123, 35, 102, 123, 85, 105, 106, 107,
- /* 1150 */ 89, 109, 123, 91, 93, 123, 56, 57, 58, 59,
- /* 1160 */ 60, 123, 100, 63, 64, 65, 105, 106, 107, 17,
- /* 1170 */ 109, 123, 123, 16, 112, 18, 19, 123, 78, 22,
- /* 1180 */ 23, 29, 17, 123, 123, 28, 123, 35, 123, 32,
- /* 1190 */ 33, 34, 123, 36, 29, 38, 123, 123, 41, 123,
- /* 1200 */ 35, 123, 85, 123, 123, 123, 89, 123, 123, 92,
- /* 1210 */ 93, 123, 123, 56, 57, 58, 59, 60, 101, 102,
- /* 1220 */ 63, 64, 105, 106, 107, 123, 109, 17, 123, 123,
- /* 1230 */ 16, 123, 18, 19, 123, 78, 22, 23, 123, 29,
- /* 1240 */ 91, 123, 28, 123, 17, 35, 32, 33, 34, 100,
- /* 1250 */ 36, 123, 38, 123, 123, 41, 29, 123, 123, 85,
- /* 1260 */ 123, 112, 35, 89, 123, 123, 92, 93, 123, 123,
- /* 1270 */ 56, 57, 58, 59, 60, 101, 102, 63, 64, 105,
- /* 1280 */ 106, 107, 123, 109, 17, 123, 123, 16, 123, 18,
- /* 1290 */ 19, 123, 78, 22, 23, 123, 29, 123, 123, 28,
- /* 1300 */ 123, 17, 35, 32, 33, 34, 123, 36, 123, 38,
- /* 1310 */ 123, 123, 41, 29, 123, 123, 85, 123, 123, 35,
- /* 1320 */ 89, 123, 123, 92, 93, 123, 123, 56, 57, 58,
- /* 1330 */ 59, 60, 101, 102, 63, 64, 105, 106, 107, 123,
- /* 1340 */ 109, 17, 123, 123, 16, 123, 18, 19, 123, 78,
- /* 1350 */ 22, 23, 123, 29, 123, 123, 28, 123, 17, 35,
- /* 1360 */ 32, 33, 34, 123, 36, 123, 38, 123, 123, 41,
- /* 1370 */ 29, 123, 123, 85, 123, 123, 35, 89, 123, 123,
- /* 1380 */ 92, 93, 123, 123, 56, 57, 58, 59, 60, 101,
- /* 1390 */ 102, 63, 64, 105, 106, 107, 123, 109, 17, 123,
- /* 1400 */ 123, 16, 123, 18, 19, 123, 78, 22, 23, 123,
- /* 1410 */ 29, 123, 123, 28, 123, 17, 35, 32, 33, 34,
- /* 1420 */ 123, 36, 123, 38, 123, 123, 41, 29, 123, 123,
- /* 1430 */ 85, 123, 123, 35, 89, 123, 123, 92, 93, 123,
- /* 1440 */ 123, 56, 57, 58, 59, 60, 101, 102, 63, 64,
- /* 1450 */ 105, 106, 107, 123, 109, 17, 123, 123, 16, 123,
- /* 1460 */ 18, 19, 123, 78, 22, 23, 123, 29, 123, 123,
- /* 1470 */ 28, 123, 17, 35, 32, 33, 34, 123, 36, 123,
- /* 1480 */ 38, 123, 123, 41, 29, 123, 123, 85, 123, 123,
- /* 1490 */ 35, 89, 123, 123, 92, 93, 123, 123, 56, 57,
- /* 1500 */ 58, 59, 60, 101, 102, 63, 64, 105, 106, 107,
- /* 1510 */ 123, 109, 17, 123, 123, 16, 123, 18, 19, 123,
- /* 1520 */ 78, 22, 23, 123, 29, 123, 123, 28, 123, 17,
- /* 1530 */ 35, 32, 33, 34, 123, 36, 123, 38, 123, 123,
- /* 1540 */ 41, 29, 123, 123, 85, 123, 123, 35, 89, 123,
- /* 1550 */ 123, 92, 93, 123, 123, 56, 57, 58, 59, 60,
- /* 1560 */ 101, 102, 63, 64, 105, 106, 107, 123, 109, 123,
- /* 1570 */ 123, 123, 16, 123, 18, 19, 123, 78, 22, 23,
- /* 1580 */ 123, 123, 123, 123, 28, 123, 123, 123, 32, 33,
- /* 1590 */ 34, 123, 36, 123, 38, 123, 123, 41, 123, 123,
- /* 1600 */ 123, 85, 123, 123, 123, 89, 123, 123, 92, 93,
- /* 1610 */ 123, 123, 56, 57, 58, 59, 60, 101, 102, 63,
- /* 1620 */ 64, 105, 106, 107, 123, 109, 123, 123, 123, 16,
- /* 1630 */ 123, 18, 19, 123, 78, 22, 23, 123, 123, 123,
- /* 1640 */ 123, 28, 123, 123, 123, 32, 33, 34, 123, 36,
- /* 1650 */ 123, 38, 123, 123, 41, 123, 123, 123, 85, 123,
- /* 1660 */ 123, 123, 89, 123, 123, 92, 93, 123, 123, 56,
- /* 1670 */ 57, 58, 59, 60, 101, 102, 63, 123, 105, 106,
- /* 1680 */ 107, 123, 109, 123, 123, 123, 16, 123, 18, 19,
- /* 1690 */ 123, 78, 22, 23, 123, 123, 123, 123, 28, 123,
- /* 1700 */ 123, 123, 32, 33, 34, 123, 36, 123, 38, 123,
- /* 1710 */ 123, 41, 123, 123, 123, 85, 123, 123, 123, 89,
- /* 1720 */ 123, 123, 92, 93, 123, 123, 56, 57, 58, 59,
- /* 1730 */ 60, 101, 102, 63, 123, 105, 106, 107, 123, 109,
- /* 1740 */ 123, 123, 123, 123, 17, 123, 116, 123, 78, 123,
- /* 1750 */ 123, 24, 123, 26, 27, 10, 29, 30, 123, 123,
- /* 1760 */ 123, 16, 35, 123, 37, 38, 39, 22, 23, 123,
- /* 1770 */ 90, 91, 123, 28, 123, 123, 123, 32, 33, 34,
- /* 1780 */ 100, 54, 123, 103, 104, 123, 123, 123, 61, 123,
- /* 1790 */ 123, 123, 65, 123, 85, 90, 91, 117, 89, 123,
- /* 1800 */ 123, 92, 93, 123, 123, 100, 79, 123, 103, 104,
- /* 1810 */ 101, 102, 123, 85, 105, 106, 107, 89, 109, 123,
- /* 1820 */ 123, 93, 117, 78, 79, 80, 123, 123, 123, 120,
- /* 1830 */ 102, 123, 85, 105, 106, 107, 89, 109, 123, 92,
- /* 1840 */ 93, 123, 1, 85, 123, 123, 123, 89, 101, 102,
- /* 1850 */ 92, 93, 105, 106, 107, 123, 109, 123, 17, 101,
- /* 1860 */ 102, 123, 21, 105, 106, 107, 123, 109, 123, 123,
- /* 1870 */ 29, 123, 123, 123, 85, 123, 35, 123, 89, 38,
- /* 1880 */ 123, 92, 93, 123, 123, 123, 123, 123, 123, 123,
- /* 1890 */ 101, 102, 123, 123, 105, 106, 107, 85, 109, 123,
- /* 1900 */ 123, 89, 61, 85, 92, 93, 123, 89, 123, 123,
- /* 1910 */ 123, 93, 123, 101, 102, 123, 123, 105, 106, 107,
- /* 1920 */ 123, 109, 85, 105, 106, 107, 89, 109, 123, 92,
- /* 1930 */ 93, 123, 123, 85, 123, 123, 123, 89, 101, 102,
- /* 1940 */ 92, 93, 105, 106, 107, 123, 109, 123, 123, 101,
- /* 1950 */ 102, 123, 123, 105, 106, 107, 123, 109, 123, 123,
- /* 1960 */ 85, 90, 91, 123, 89, 123, 123, 92, 93, 123,
- /* 1970 */ 123, 100, 123, 123, 103, 104, 101, 102, 123, 123,
- /* 1980 */ 105, 106, 107, 85, 109, 123, 123, 89, 117, 85,
- /* 1990 */ 92, 93, 123, 89, 123, 123, 123, 93, 123, 101,
- /* 2000 */ 102, 123, 123, 105, 106, 107, 123, 109, 85, 105,
- /* 2010 */ 106, 107, 89, 109, 123, 92, 93, 123, 123, 85,
- /* 2020 */ 123, 123, 123, 89, 101, 102, 92, 93, 105, 106,
- /* 2030 */ 107, 123, 109, 123, 123, 101, 102, 123, 123, 105,
- /* 2040 */ 106, 107, 123, 109, 123, 123, 85, 123, 123, 123,
- /* 2050 */ 89, 123, 123, 92, 93, 123, 123, 123, 123, 123,
- /* 2060 */ 123, 123, 101, 102, 123, 123, 105, 106, 107, 85,
- /* 2070 */ 109, 123, 123, 89, 123, 85, 92, 93, 123, 89,
- /* 2080 */ 123, 123, 123, 93, 123, 101, 102, 123, 123, 105,
- /* 2090 */ 106, 107, 123, 109, 85, 105, 106, 107, 89, 109,
- /* 2100 */ 123, 92, 93, 123, 123, 85, 123, 123, 123, 89,
- /* 2110 */ 101, 102, 92, 93, 105, 106, 107, 123, 109, 123,
- /* 2120 */ 123, 101, 102, 123, 123, 105, 106, 107, 123, 109,
- /* 2130 */ 123, 123, 85, 123, 123, 123, 89, 123, 123, 92,
- /* 2140 */ 93, 123, 123, 123, 123, 123, 123, 123, 101, 102,
- /* 2150 */ 123, 123, 105, 106, 107, 85, 109, 123, 123, 89,
- /* 2160 */ 123, 85, 92, 93, 123, 89, 123, 123, 123, 93,
- /* 2170 */ 123, 101, 102, 123, 123, 105, 106, 107, 123, 109,
- /* 2180 */ 85, 105, 106, 107, 89, 109, 123, 92, 93, 123,
- /* 2190 */ 123, 85, 123, 123, 123, 89, 101, 102, 92, 93,
- /* 2200 */ 105, 106, 107, 123, 109, 123, 123, 101, 102, 123,
- /* 2210 */ 123, 105, 106, 107, 123, 109, 123, 123, 85, 123,
- /* 2220 */ 123, 123, 89, 123, 123, 92, 93, 123, 123, 123,
- /* 2230 */ 123, 123, 123, 123, 101, 102, 123, 123, 105, 106,
- /* 2240 */ 107, 85, 109, 123, 123, 89, 123, 123, 92, 93,
- /* 2250 */ 123, 123, 123, 123, 123, 123, 123, 101, 102, 123,
- /* 2260 */ 123, 105, 106, 107, 123, 109, 85, 123, 123, 123,
- /* 2270 */ 89, 123, 123, 92, 93, 123, 123, 85, 123, 123,
- /* 2280 */ 123, 89, 101, 102, 92, 93, 105, 106, 107, 123,
- /* 2290 */ 109, 123, 123, 101, 102, 123, 123, 105, 106, 107,
- /* 2300 */ 123, 109, 123, 123, 85, 123, 123, 123, 89, 123,
- /* 2310 */ 123, 92, 93, 123, 123, 123, 123, 123, 123, 123,
- /* 2320 */ 101, 102, 123, 123, 105, 106, 107, 85, 109, 123,
- /* 2330 */ 123, 89, 123, 123, 92, 93, 123, 123, 123, 123,
- /* 2340 */ 123, 123, 123, 101, 102, 123, 123, 105, 106, 107,
- /* 2350 */ 123, 109, 85, 123, 123, 123, 89, 123, 123, 92,
- /* 2360 */ 93, 123, 123, 85, 123, 123, 123, 89, 101, 102,
- /* 2370 */ 92, 93, 105, 106, 107, 123, 109, 123, 123, 101,
- /* 2380 */ 102, 123, 123, 105, 106, 107, 123, 109, 123, 123,
- /* 2390 */ 85, 123, 123, 123, 89, 123, 123, 92, 93, 123,
- /* 2400 */ 123, 123, 123, 90, 91, 123, 101, 102, 123, 123,
- /* 2410 */ 105, 106, 107, 100, 109, 123, 103, 104, 90, 91,
- /* 2420 */ 123, 123, 123, 123, 123, 90, 91, 123, 100, 123,
- /* 2430 */ 117, 103, 104, 123, 123, 100, 123, 123, 103, 104,
- /* 2440 */ 123, 123, 123, 123, 123, 117, 123, 123, 123, 123,
- /* 2450 */ 123, 123, 117,
-);
- const YY_SHIFT_USE_DFLT = -3;
- const YY_SHIFT_MAX = 252;
+ /* 0 */
+ 1, 38, 3, 40, 91, 4, 5, 6, 7, 8,
+ /* 10 */
+ 9, 10, 11, 12, 13, 14, 15, 104, 105, 18,
+ /* 20 */
+ 118, 18, 60, 20, 23, 24, 1, 65, 3, 30,
+ /* 30 */
+ 29, 118, 1, 30, 33, 36, 35, 21, 22, 36,
+ /* 40 */
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ /* 50 */
+ 51, 52, 53, 54, 1, 30, 31, 1, 1, 3,
+ /* 60 */
+ 3, 36, 2, 18, 19, 20, 67, 68, 69, 70,
+ /* 70 */
+ 71, 72, 73, 74, 75, 76, 77, 78, 62, 30,
+ /* 80 */
+ 55, 28, 37, 30, 111, 36, 30, 30, 18, 36,
+ /* 90 */
+ 20, 21, 36, 36, 41, 42, 43, 44, 45, 46,
+ /* 100 */
+ 47, 48, 49, 50, 51, 52, 53, 54, 1, 91,
+ /* 110 */
+ 92, 55, 55, 83, 84, 85, 86, 87, 38, 101,
+ /* 120 */
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ /* 130 */
+ 77, 78, 18, 63, 20, 21, 118, 30, 1, 18,
+ /* 140 */
+ 3, 20, 21, 36, 111, 39, 66, 26, 41, 42,
+ /* 150 */
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ /* 160 */
+ 53, 54, 1, 1, 26, 3, 60, 30, 62, 15,
+ /* 170 */
+ 16, 17, 66, 36, 67, 68, 69, 70, 71, 72,
+ /* 180 */
+ 73, 74, 75, 76, 77, 78, 18, 19, 20, 32,
+ /* 190 */
+ 100, 1, 30, 109, 1, 18, 39, 20, 36, 1,
+ /* 200 */
+ 116, 3, 41, 42, 43, 44, 45, 46, 47, 48,
+ /* 210 */
+ 49, 50, 51, 52, 53, 54, 1, 55, 80, 62,
+ /* 220 */
+ 30, 85, 86, 87, 39, 32, 36, 66, 67, 68,
+ /* 230 */
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ /* 240 */
+ 63, 86, 114, 115, 91, 92, 31, 62, 55, 18,
+ /* 250 */
+ 38, 20, 40, 55, 101, 18, 41, 42, 43, 44,
+ /* 260 */
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ /* 270 */
+ 1, 118, 3, 94, 95, 96, 39, 122, 123, 38,
+ /* 280 */
+ 91, 40, 67, 68, 69, 70, 71, 72, 73, 74,
+ /* 290 */
+ 75, 76, 77, 78, 63, 114, 115, 100, 91, 92,
+ /* 300 */
+ 112, 91, 114, 115, 91, 19, 20, 118, 101, 20,
+ /* 310 */
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ /* 320 */
+ 51, 52, 53, 54, 1, 118, 3, 100, 118, 119,
+ /* 330 */
+ 60, 118, 2, 91, 3, 65, 67, 68, 69, 70,
+ /* 340 */
+ 71, 72, 73, 74, 75, 76, 77, 78, 21, 22,
+ /* 350 */
+ 64, 21, 63, 92, 111, 119, 113, 26, 19, 20,
+ /* 360 */
+ 118, 1, 101, 21, 41, 42, 43, 44, 45, 46,
+ /* 370 */
+ 47, 48, 49, 50, 51, 52, 53, 54, 1, 118,
+ /* 380 */
+ 3, 18, 22, 20, 19, 94, 95, 1, 98, 62,
+ /* 390 */
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ /* 400 */
+ 77, 78, 60, 113, 39, 1, 2, 92, 92, 18,
+ /* 410 */
+ 111, 20, 113, 87, 26, 89, 101, 101, 41, 42,
+ /* 420 */
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ /* 430 */
+ 53, 54, 1, 118, 118, 18, 39, 20, 19, 94,
+ /* 440 */
+ 95, 55, 98, 25, 67, 68, 69, 70, 71, 72,
+ /* 450 */
+ 73, 74, 75, 76, 77, 78, 38, 113, 86, 92,
+ /* 460 */
+ 92, 92, 18, 40, 20, 30, 60, 2, 101, 101,
+ /* 470 */
+ 101, 36, 41, 42, 43, 44, 45, 46, 47, 48,
+ /* 480 */
+ 49, 50, 51, 52, 53, 54, 1, 118, 18, 109,
+ /* 490 */
+ 20, 20, 56, 39, 19, 123, 116, 98, 67, 68,
+ /* 500 */
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ /* 510 */
+ 25, 80, 113, 92, 64, 27, 21, 20, 19, 64,
+ /* 520 */
+ 20, 3, 101, 20, 22, 2, 41, 42, 43, 44,
+ /* 530 */
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ /* 540 */
+ 1, 20, 3, 19, 3, 20, 20, 20, 19, 66,
+ /* 550 */
+ 98, 98, 67, 68, 69, 70, 71, 72, 73, 74,
+ /* 560 */
+ 75, 76, 77, 78, 62, 113, 113, 20, 37, 37,
+ /* 570 */
+ 3, 20, 20, 101, 112, 111, 22, 111, 111, 111,
+ /* 580 */
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ /* 590 */
+ 51, 52, 53, 54, 1, 116, 30, 113, 97, 88,
+ /* 600 */
+ 16, 115, 124, 97, 99, 98, 67, 68, 69, 70,
+ /* 610 */
+ 71, 72, 73, 74, 75, 76, 77, 78, 113, 124,
+ /* 620 */
+ 113, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ /* 630 */
+ 124, 124, 124, 40, 41, 42, 43, 44, 45, 46,
+ /* 640 */
+ 47, 48, 49, 50, 51, 52, 53, 54, 1, 2,
+ /* 650 */
+ 124, 124, 124, 124, 124, 124, 124, 98, 98, 98,
+ /* 660 */
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ /* 670 */
+ 77, 78, 113, 113, 113, 124, 124, 124, 124, 124,
+ /* 680 */
+ 124, 124, 124, 124, 124, 124, 124, 124, 41, 42,
+ /* 690 */
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ /* 700 */
+ 53, 54, 1, 124, 124, 124, 124, 124, 124, 124,
+ /* 710 */
+ 124, 98, 124, 124, 67, 68, 69, 70, 71, 72,
+ /* 720 */
+ 73, 74, 75, 76, 77, 78, 113, 124, 124, 124,
+ /* 730 */
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ /* 740 */
+ 124, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ /* 750 */
+ 49, 50, 51, 52, 53, 54, 1, 124, 124, 124,
+ /* 760 */
+ 124, 124, 124, 124, 124, 124, 124, 124, 67, 68,
+ /* 770 */
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ /* 780 */
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ /* 790 */
+ 124, 124, 124, 124, 124, 124, 41, 42, 43, 44,
+ /* 800 */
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ /* 810 */
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ /* 820 */
+ 22, 124, 67, 68, 69, 70, 71, 72, 73, 74,
+ /* 830 */
+ 75, 76, 77, 78, 124, 124, 124, 124, 41, 42,
+ /* 840 */
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ /* 850 */
+ 53, 54, 124, 124, 124, 124, 124, 124, 60, 124,
+ /* 860 */
+ 124, 124, 124, 65, 67, 68, 69, 70, 71, 72,
+ /* 870 */
+ 73, 74, 75, 76, 77, 78, 124, 124, 124, 124,
+ /* 880 */
+ 124, 124, 124, 18, 19, 20, 124, 124, 23, 24,
+ /* 890 */
+ 124, 86, 124, 124, 29, 90, 92, 124, 33, 94,
+ /* 900 */
+ 35, 124, 37, 124, 39, 101, 124, 42, 103, 124,
+ /* 910 */
+ 124, 106, 107, 108, 124, 110, 124, 113, 92, 92,
+ /* 920 */
+ 124, 124, 57, 58, 59, 60, 61, 101, 101, 64,
+ /* 930 */
+ 65, 66, 124, 94, 124, 124, 124, 124, 124, 113,
+ /* 940 */
+ 113, 18, 19, 20, 79, 106, 23, 24, 124, 110,
+ /* 950 */
+ 124, 124, 29, 124, 124, 86, 33, 34, 35, 90,
+ /* 960 */
+ 37, 124, 39, 94, 92, 42, 124, 124, 124, 124,
+ /* 970 */
+ 86, 124, 103, 101, 90, 106, 107, 108, 94, 110,
+ /* 980 */
+ 57, 58, 59, 60, 61, 113, 124, 64, 65, 124,
+ /* 990 */
+ 106, 107, 108, 124, 110, 18, 124, 20, 124, 18,
+ /* 1000 */
+ 19, 20, 79, 124, 23, 24, 124, 30, 124, 32,
+ /* 1010 */
+ 29, 86, 124, 36, 33, 90, 35, 124, 37, 94,
+ /* 1020 */
+ 39, 124, 124, 42, 124, 124, 124, 124, 124, 124,
+ /* 1030 */
+ 124, 106, 107, 108, 124, 110, 124, 124, 57, 58,
+ /* 1040 */
+ 59, 60, 61, 124, 124, 64, 65, 124, 124, 124,
+ /* 1050 */
+ 124, 124, 18, 124, 20, 124, 124, 18, 19, 20,
+ /* 1060 */
+ 79, 124, 23, 24, 30, 86, 32, 124, 29, 90,
+ /* 1070 */
+ 36, 86, 33, 94, 35, 90, 37, 124, 39, 94,
+ /* 1080 */
+ 124, 42, 124, 124, 124, 106, 107, 108, 124, 110,
+ /* 1090 */
+ 124, 106, 107, 108, 124, 110, 57, 58, 59, 60,
+ /* 1100 */
+ 61, 124, 124, 64, 65, 124, 124, 124, 124, 124,
+ /* 1110 */
+ 124, 124, 124, 124, 124, 18, 19, 20, 79, 124,
+ /* 1120 */
+ 23, 24, 124, 124, 124, 124, 29, 86, 124, 124,
+ /* 1130 */
+ 33, 90, 35, 124, 37, 94, 39, 124, 124, 42,
+ /* 1140 */
+ 124, 124, 124, 124, 124, 124, 124, 106, 107, 108,
+ /* 1150 */
+ 124, 110, 124, 124, 57, 58, 59, 60, 61, 124,
+ /* 1160 */
+ 124, 64, 65, 124, 124, 124, 124, 124, 124, 124,
+ /* 1170 */
+ 124, 124, 124, 18, 19, 20, 79, 124, 23, 24,
+ /* 1180 */
+ 124, 124, 124, 124, 29, 86, 124, 124, 33, 90,
+ /* 1190 */
+ 35, 124, 37, 94, 39, 124, 124, 42, 124, 124,
+ /* 1200 */
+ 124, 124, 124, 124, 124, 106, 107, 108, 124, 110,
+ /* 1210 */
+ 124, 124, 57, 58, 59, 60, 61, 124, 124, 64,
+ /* 1220 */
+ 65, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ /* 1230 */
+ 124, 18, 19, 20, 79, 124, 23, 24, 124, 124,
+ /* 1240 */
+ 124, 124, 29, 86, 124, 124, 33, 90, 35, 124,
+ /* 1250 */
+ 37, 94, 39, 124, 124, 42, 124, 124, 124, 124,
+ /* 1260 */
+ 124, 124, 124, 106, 107, 108, 124, 110, 124, 124,
+ /* 1270 */
+ 57, 58, 59, 60, 61, 124, 124, 64, 65, 124,
+ /* 1280 */
+ 1, 124, 3, 124, 3, 124, 124, 124, 124, 18,
+ /* 1290 */
+ 19, 20, 79, 124, 23, 24, 124, 124, 124, 124,
+ /* 1300 */
+ 29, 22, 21, 124, 33, 124, 35, 124, 37, 30,
+ /* 1310 */
+ 39, 30, 124, 42, 124, 36, 124, 36, 39, 124,
+ /* 1320 */
+ 39, 124, 124, 124, 91, 92, 124, 124, 57, 58,
+ /* 1330 */
+ 59, 60, 61, 124, 101, 64, 65, 104, 105, 124,
+ /* 1340 */
+ 124, 62, 124, 62, 124, 124, 124, 18, 19, 20,
+ /* 1350 */
+ 79, 118, 23, 24, 124, 124, 124, 124, 29, 124,
+ /* 1360 */
+ 124, 124, 33, 124, 35, 124, 37, 124, 39, 91,
+ /* 1370 */
+ 92, 42, 124, 124, 124, 124, 124, 124, 124, 101,
+ /* 1380 */
+ 124, 124, 104, 105, 124, 124, 57, 58, 59, 60,
+ /* 1390 */
+ 61, 124, 124, 64, 65, 124, 118, 124, 124, 124,
+ /* 1400 */
+ 124, 124, 124, 124, 124, 18, 19, 20, 79, 124,
+ /* 1410 */
+ 23, 24, 124, 124, 124, 124, 29, 124, 124, 124,
+ /* 1420 */
+ 33, 124, 35, 124, 37, 124, 39, 91, 92, 42,
+ /* 1430 */
+ 124, 124, 124, 124, 124, 124, 124, 101, 124, 124,
+ /* 1440 */
+ 104, 105, 124, 124, 57, 58, 59, 60, 61, 124,
+ /* 1450 */
+ 124, 64, 124, 124, 118, 124, 124, 124, 124, 124,
+ /* 1460 */
+ 124, 124, 124, 18, 19, 20, 79, 124, 23, 24,
+ /* 1470 */
+ 124, 124, 124, 124, 29, 124, 124, 124, 33, 124,
+ /* 1480 */
+ 35, 124, 37, 124, 39, 124, 3, 42, 124, 124,
+ /* 1490 */
+ 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
+ /* 1500 */
+ 124, 124, 57, 58, 59, 60, 61, 124, 25, 64,
+ /* 1510 */
+ 27, 28, 124, 30, 31, 124, 124, 124, 124, 36,
+ /* 1520 */
+ 124, 38, 39, 40, 79, 124, 124, 124, 124, 124,
+ /* 1530 */
+ 124, 124, 124, 124, 124, 86, 124, 124, 55, 90,
+ /* 1540 */
+ 124, 124, 93, 94, 124, 62, 124, 124, 124, 66,
+ /* 1550 */
+ 124, 102, 103, 124, 124, 106, 107, 108, 124, 110,
+ /* 1560 */
+ 124, 124, 124, 80, 124, 124, 124, 86, 124, 120,
+ /* 1570 */
+ 121, 90, 124, 124, 93, 94, 95, 124, 124, 124,
+ /* 1580 */
+ 124, 124, 124, 102, 103, 124, 124, 106, 107, 108,
+ /* 1590 */
+ 86, 110, 124, 124, 90, 124, 124, 93, 94, 124,
+ /* 1600 */
+ 124, 124, 124, 124, 124, 124, 102, 103, 124, 86,
+ /* 1610 */
+ 106, 107, 108, 90, 110, 124, 93, 94, 124, 124,
+ /* 1620 */
+ 124, 117, 124, 124, 124, 102, 103, 124, 124, 106,
+ /* 1630 */
+ 107, 108, 124, 110, 124, 124, 124, 124, 86, 124,
+ /* 1640 */
+ 117, 124, 90, 124, 124, 93, 94, 124, 124, 124,
+ /* 1650 */
+ 124, 124, 124, 124, 102, 103, 124, 124, 106, 107,
+ /* 1660 */
+ 108, 86, 110, 124, 124, 90, 124, 124, 93, 94,
+ /* 1670 */
+ 95, 124, 124, 121, 124, 124, 124, 102, 103, 124,
+ /* 1680 */
+ 124, 106, 107, 108, 86, 110, 124, 124, 90, 124,
+ /* 1690 */
+ 124, 93, 94, 124, 124, 124, 124, 124, 124, 124,
+ /* 1700 */
+ 102, 103, 124, 86, 106, 107, 108, 90, 110, 124,
+ /* 1710 */
+ 93, 94, 124, 124, 124, 117, 124, 124, 124, 102,
+ /* 1720 */
+ 103, 124, 124, 106, 107, 108, 124, 110, 124, 86,
+ /* 1730 */
+ 91, 92, 124, 90, 124, 124, 93, 94, 124, 124,
+ /* 1740 */
+ 101, 124, 124, 104, 105, 102, 103, 124, 86, 106,
+ /* 1750 */
+ 107, 108, 90, 110, 124, 93, 94, 118, 124, 124,
+ /* 1760 */
+ 124, 124, 124, 124, 102, 103, 124, 124, 106, 107,
+ /* 1770 */
+ 108, 86, 110, 124, 124, 90, 124, 124, 93, 94,
+ /* 1780 */
+ 124, 124, 124, 124, 124, 124, 124, 102, 103, 124,
+ /* 1790 */
+ 86, 106, 107, 108, 90, 110, 124, 93, 94, 124,
+ /* 1800 */
+ 124, 124, 124, 124, 124, 124, 102, 103, 124, 124,
+ /* 1810 */
+ 106, 107, 108, 124, 110, 124, 86, 91, 92, 124,
+ /* 1820 */
+ 90, 124, 124, 93, 94, 124, 124, 101, 124, 124,
+ /* 1830 */
+ 104, 105, 102, 103, 124, 86, 106, 107, 108, 90,
+ /* 1840 */
+ 110, 124, 93, 94, 118, 124, 124, 124, 124, 124,
+ /* 1850 */
+ 124, 102, 103, 124, 124, 106, 107, 108, 86, 110,
+ /* 1860 */
+ 124, 124, 90, 124, 124, 93, 94, 124, 124, 124,
+ /* 1870 */
+ 124, 124, 124, 124, 102, 103, 124, 86, 106, 107,
+ /* 1880 */
+ 108, 90, 110, 124, 93, 94, 124, 124, 124, 124,
+ /* 1890 */
+ 124, 124, 124, 102, 103, 124, 124, 106, 107, 108,
+ /* 1900 */
+ 124, 110, 124, 86, 91, 92, 124, 90, 124, 124,
+ /* 1910 */
+ 93, 94, 124, 124, 101, 124, 124, 104, 105, 102,
+ /* 1920 */
+ 103, 124, 86, 106, 107, 108, 90, 110, 124, 93,
+ /* 1930 */
+ 94, 118, 124, 124, 124, 124, 124, 124, 102, 103,
+ /* 1940 */
+ 124, 124, 106, 107, 108, 86, 110, 124, 124, 90,
+ /* 1950 */
+ 124, 124, 93, 94, 124, 124, 124, 124, 124, 124,
+ /* 1960 */
+ 124, 102, 103, 124, 86, 106, 107, 108, 90, 110,
+ /* 1970 */
+ 124, 93, 94, 124, 124, 124, 124, 124, 124, 124,
+ /* 1980 */
+ 102, 103, 124, 124, 106, 107, 108, 124, 110, 124,
+ /* 1990 */
+ 86, 124, 124, 124, 90, 124, 124, 93, 94, 124,
+ /* 2000 */
+ 124, 124, 124, 124, 124, 124, 102, 103, 124, 86,
+ /* 2010 */
+ 106, 107, 108, 90, 110, 124, 93, 94, 124, 124,
+ /* 2020 */
+ 124, 124, 124, 124, 124, 102, 103, 124, 124, 106,
+ /* 2030 */
+ 107, 108, 86, 110, 124, 124, 90, 124, 124, 93,
+ /* 2040 */
+ 94, 124, 124, 124, 124, 124, 124, 124, 102, 103,
+ /* 2050 */
+ 124, 86, 106, 107, 108, 90, 110, 124, 93, 94,
+ /* 2060 */
+ 124, 124, 124, 124, 124, 124, 124, 102, 103, 124,
+ /* 2070 */
+ 124, 106, 107, 108, 124, 110, 124, 86, 124, 124,
+ /* 2080 */
+ 124, 90, 124, 124, 93, 94, 124, 124, 124, 124,
+ /* 2090 */
+ 124, 124, 124, 102, 103, 124, 86, 106, 107, 108,
+ /* 2100 */
+ 90, 110, 124, 93, 94, 124, 124, 124, 124, 124,
+ /* 2110 */
+ 124, 124, 102, 103, 124, 124, 106, 107, 108, 86,
+ /* 2120 */
+ 110, 124, 124, 90, 124, 124, 93, 94, 124, 124,
+ /* 2130 */
+ 124, 124, 124, 124, 124, 102, 103, 124, 86, 106,
+ /* 2140 */
+ 107, 108, 90, 110, 124, 93, 94, 124, 124, 124,
+ /* 2150 */
+ 124, 124, 124, 124, 102, 103, 124, 124, 106, 107,
+ /* 2160 */
+ 108, 124, 110, 124, 86, 124, 124, 124, 90, 124,
+ /* 2170 */
+ 124, 93, 94, 124, 124, 124, 124, 124, 124, 124,
+ /* 2180 */
+ 102, 103, 124, 86, 106, 107, 108, 90, 110, 124,
+ /* 2190 */
+ 93, 94, 124, 124, 124, 124, 124, 124, 124, 102,
+ /* 2200 */
+ 103, 124, 124, 106, 107, 108, 86, 110, 124, 124,
+ /* 2210 */
+ 90, 124, 124, 93, 94, 124, 124, 124, 124, 124,
+ /* 2220 */
+ 124, 124, 102, 103, 124, 86, 106, 107, 108, 90,
+ /* 2230 */
+ 110, 124, 93, 94, 124, 124, 124, 124, 124, 124,
+ /* 2240 */
+ 124, 102, 103, 124, 124, 106, 107, 108, 124, 110,
+ /* 2250 */
+ 124, 86, 124, 124, 124, 90, 124, 124, 93, 94,
+ /* 2260 */
+ 124, 124, 124, 124, 124, 124, 124, 102, 103, 124,
+ /* 2270 */
+ 86, 106, 107, 108, 90, 110, 124, 93, 94, 124,
+ /* 2280 */
+ 124, 124, 124, 124, 124, 124, 102, 103, 124, 124,
+ /* 2290 */
+ 106, 107, 108, 86, 110, 124, 124, 90, 124, 124,
+ /* 2300 */
+ 93, 94, 124, 124, 124, 124, 124, 124, 124, 102,
+ /* 2310 */
+ 103, 124, 86, 106, 107, 108, 90, 110, 124, 93,
+ /* 2320 */
+ 94, 124, 124, 124, 124, 124, 124, 124, 102, 103,
+ /* 2330 */
+ 124, 124, 106, 107, 108, 124, 110, 124, 86, 124,
+ /* 2340 */
+ 124, 124, 90, 124, 124, 93, 94, 124, 124, 124,
+ /* 2350 */
+ 124, 124, 124, 124, 102, 103, 124, 11, 106, 107,
+ /* 2360 */
+ 108, 124, 110, 124, 18, 124, 124, 124, 124, 23,
+ /* 2370 */
+ 24, 11, 124, 124, 124, 29, 124, 124, 18, 33,
+ /* 2380 */
+ 124, 35, 124, 23, 24, 124, 124, 124, 124, 29,
+ /* 2390 */
+ 124, 124, 124, 33, 124, 35, 86, 124, 124, 124,
+ /* 2400 */
+ 90, 124, 124, 93, 94, 124, 124, 124, 124, 124,
+ /* 2410 */
+ 124, 124, 102, 103, 124, 124, 106, 107, 108, 124,
+ /* 2420 */
+ 110, 124, 124, 124, 124, 79, 80, 81, 124, 86,
+ /* 2430 */
+ 124, 124, 124, 90, 124, 124, 93, 94, 124, 79,
+ /* 2440 */
+ 80, 81, 124, 124, 124, 102, 103, 124, 124, 106,
+ /* 2450 */
+ 107, 108, 124, 110, 124, 124, 86, 124, 124, 124,
+ /* 2460 */
+ 90, 124, 124, 93, 94, 124, 124, 124, 124, 124,
+ /* 2470 */
+ 124, 124, 102, 103, 124, 124, 106, 107, 108, 124,
+ /* 2480 */
+ 110, 124, 86, 124, 124, 124, 90, 124, 124, 93,
+ /* 2490 */
+ 94, 124, 124, 124, 124, 124, 124, 124, 102, 103,
+ /* 2500 */
+ 124, 124, 106, 107, 108, 86, 110, 124, 124, 90,
+ /* 2510 */
+ 124, 124, 93, 94, 124, 124, 86, 124, 124, 124,
+ /* 2520 */
+ 90, 102, 103, 93, 94, 106, 107, 108, 124, 110,
+ /* 2530 */
+ 124, 124, 102, 103, 124, 124, 106, 107, 108, 124,
+ /* 2540 */
+ 110,
+ );
+ const YY_SHIFT_USE_DFLT = - 39;
+ const YY_SHIFT_MAX = 259;
static public $yy_shift_ofst = array(
- /* 0 */ -2, 1385, 1385, 1328, 1157, 1328, 1157, 1157, 1100, 1157,
- /* 10 */ 1157, 1157, 1157, 1157, 1157, 1556, 1157, 1157, 1157, 1157,
- /* 20 */ 1556, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
- /* 30 */ 1157, 1157, 1442, 1157, 1157, 1499, 1157, 1157, 1214, 1157,
- /* 40 */ 1157, 1157, 1157, 1442, 1271, 1271, 1670, 1613, 1670, 1670,
- /* 50 */ 1670, 1670, 1670, 206, 129, 52, -1, 259, 259, 259,
- /* 60 */ 833, 886, 939, 780, 650, 390, 336, 467, 703, 520,
- /* 70 */ 573, 992, 992, 992, 992, 992, 992, 992, 992, 992,
- /* 80 */ 992, 992, 992, 992, 992, 992, 992, 992, 992, 992,
- /* 90 */ 1033, 1033, 1841, 784, 288, -2, 338, 125, 463, 209,
- /* 100 */ 333, 209, 333, 327, 288, 267, 288, 334, 509, 1745,
- /* 110 */ 102, 132, 470, 653, 70, 245, 479, 212, 204, 3,
- /* 120 */ 174, 217, 277, 122, 432, 537, 432, 509, 510, 432,
- /* 130 */ 432, 382, 668, 506, 432, 432, 531, 563, 432, 382,
- /* 140 */ 527, 432, 510, 509, 571, 432, 392, 691, 704, 704,
- /* 150 */ 704, 704, 704, 704, 704, 691, 704, -3, 1341, 1381,
- /* 160 */ 1284, 1267, 66, 1108, 1152, 1165, 1210, 536, 1438, 1398,
- /* 170 */ 1495, 1512, 466, 777, 0, 128, 781, 1324, 1455, 1227,
- /* 180 */ 471, 358, 150, 150, 339, 150, 150, 21, 150, 718,
- /* 190 */ 691, 691, 625, 704, 704, 709, 691, 709, 4, 4,
- /* 200 */ -3, -3, -3, -3, -3, 1727, 202, 75, 44, 361,
- /* 210 */ 223, 1, 225, 91, 76, 371, 395, 410, 76, 256,
- /* 220 */ 305, 560, 625, 617, 619, 598, 597, 576, 349, 630,
- /* 230 */ 637, 639, 666, 682, 661, 643, 644, 613, 591, 528,
- /* 240 */ 565, 486, 484, 407, 436, 582, 566, 564, 609, 547,
- /* 250 */ 554, 588, 545,
-);
- const YY_REDUCE_USE_DFLT = -102;
- const YY_REDUCE_MAX = 204;
+ /* 0 */
+ 1, 1097, 1271, 1097, 981, 1271, 981, 981, 923, 865,
+ /* 10 */
+ 923, 981, 981, 981, 981, 981, 981, 981, 981, 981,
+ /* 20 */
+ 981, 981, 1213, 981, 981, 981, 1155, 1329, 981, 981,
+ /* 30 */
+ 981, 981, 981, 981, 981, 981, 981, 981, 981, 981,
+ /* 40 */
+ 981, 1155, 981, 981, 1039, 1039, 1445, 1387, 1387, 1387,
+ /* 50 */
+ 1387, 1387, 1387, - 1, 53, 107, 107, 107, 107, 107,
+ /* 60 */
+ 539, 431, 701, 161, 377, 269, 647, 485, 593, 215,
+ /* 70 */
+ 323, 755, 755, 755, 755, 755, 755, 755, 755, 755,
+ /* 80 */
+ 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
+ /* 90 */
+ 797, 797, 1279, 56, 190, 1, 2346, 977, 1034, 3,
+ /* 100 */
+ 3, 137, 137, 190, 190, 286, 798, 404, 365, 2360,
+ /* 110 */
+ 25, 162, 57, 121, 70, 154, 16, 327, 198, 231,
+ /* 120 */
+ 114, 193, 417, 391, 360, 363, 363, 339, 502, 363,
+ /* 130 */
+ 365, 363, 365, 386, 339, 444, 470, 49, 444, 435,
+ /* 140 */
+ 49, 363, 363, 363, 363, 363, 31, 554, 31, 31,
+ /* 150 */
+ 554, 31, 31, 31, 31, 31, 31, - 39, 177, 168,
+ /* 160 */
+ 49, 49, 49, 49, 49, 49, 49, 49, - 38, - 38,
+ /* 170 */
+ - 38, 270, - 38, 49, 49, 49, 49, 49, 49, - 38,
+ /* 180 */
+ 270, - 38, 237, 49, 49, 49, - 38, 49, 49, 49,
+ /* 190 */
+ 584, 554, 554, 31, 566, 566, 60, 554, 31, 454,
+ /* 200 */
+ 31, 31, 60, 31, - 39, - 39, - 39, - 39, - 39, 1483,
+ /* 210 */
+ 1281, 106, 45, 157, 138, - 37, 80, 241, 418, 342,
+ /* 220 */
+ 331, 212, 185, 330, 185, 289, 552, 541, 526, 525,
+ /* 230 */
+ 521, 523, 524, 527, 529, 567, 551, 532, 531, 483,
+ /* 240 */
+ 547, 503, 518, 436, 454, 465, 406, 397, 419, 423,
+ /* 250 */
+ 471, 388, 475, 455, 500, 499, 497, 450, 488, 495,
+ );
+ const YY_REDUCE_USE_DFLT = - 99;
+ const YY_REDUCE_MAX = 208;
static public $yy_reduce_ofst = array(
- /* 0 */ -28, 46, 1709, 123, 567, 384, 1630, 698, 1961, 1934,
- /* 10 */ 1923, 1875, 1898, 1984, 2009, 2106, 2095, 2070, 2020, 2047,
- /* 20 */ 1848, 1837, 1402, 1345, 1288, 1174, 1231, 1459, 1516, 1812,
- /* 30 */ 1789, 1758, 1573, 1747, 2156, 2133, 2305, 2267, 2181, 2192,
- /* 40 */ 1117, 2219, 2242, 2278, 1042, 1728, 258, 1061, 572, 2076,
- /* 50 */ 1990, 1904, 1818, 1680, 1871, 1705, 2313, 2335, 2328, 1680,
- /* 60 */ -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- /* 70 */ -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- /* 80 */ -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
- /* 90 */ -26, -26, 224, 94, 196, 236, 273, 1149, 1062, 406,
- /* 100 */ -76, 353, 575, 264, 328, 201, 329, 78, 330, 646,
- /* 110 */ 517, -29, -29, -29, 342, 616, 385, -29, 68, 342,
- /* 120 */ 342, -29, 74, 74, 618, 433, 574, 457, 515, 541,
- /* 130 */ 433, 112, 74, 433, 434, 487, 459, 699, 468, 366,
- /* 140 */ -29, 696, 433, 464, 511, 645, -73, -101, -29, -29,
- /* 150 */ -29, -29, -29, -29, -29, 74, -29, -29, 606, 606,
- /* 160 */ 606, 606, 620, 606, 606, 606, 606, 596, 606, 606,
- /* 170 */ 606, 606, 606, 606, 606, 606, 606, 606, 606, 606,
- /* 180 */ 592, 592, 599, 599, 592, 599, 599, 603, 599, 647,
- /* 190 */ 622, 622, 623, 592, 592, -6, 622, -6, -13, 220,
- /* 200 */ 251, 240, 182, 146, 157,
-);
+ /* 0 */
+ 30, 1449, 1575, 1552, 1523, 1481, 1504, 1598, 1836, 2010,
+ /* 10 */
+ 1991, 1791, 1685, 1643, 1704, 1749, 2033, 2078, 2310, 2419,
+ /* 20 */
+ 2139, 2207, 2252, 2343, 2370, 1772, 1617, 1946, 1904, 2184,
+ /* 30 */
+ 1923, 1878, 1859, 1965, 2052, 1662, 1817, 1730, 2097, 2396,
+ /* 40 */
+ 2430, 2120, 2165, 2226, 869, 805, 985, 925, 884, 979,
+ /* 50 */
+ 1099, 1041, 1157, 1639, 1233, 1639, 1336, 1278, 1726, 1813,
+ /* 60 */
+ - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87,
+ /* 70 */
+ - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87,
+ /* 80 */
+ - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87, - 87,
+ /* 90 */
+ - 87, - 87, 18, 207, 153, 136, 155, 827, 872, 804,
+ /* 100 */
+ 826, 261, 316, 369, 315, 839, 188, 210, 179, 372,
+ /* 110 */
+ 189, 189, 189, 505, 299, 326, 128, 128, 189, 299,
+ /* 120 */
+ 299, 189, 507, 453, 242, 344, 243, 84, 128, 452,
+ /* 130 */
+ 291, 399, 345, 189, 380, 613, 453, 421, 453, 368,
+ /* 140 */
+ 367, 560, 453, 559, 561, 290, 189, 128, 213, 189,
+ /* 150 */
+ 181, 189, 189, 189, 189, 189, 189, 189, 484, 479,
+ /* 160 */
+ 472, 472, 472, 472, 472, 472, 472, 472, 462, 462,
+ /* 170 */
+ 462, 464, 462, 472, 472, 472, 472, 472, 472, 462,
+ /* 180 */
+ 467, 462, 466, 472, 472, 472, 462, 472, 472, 472,
+ /* 190 */
+ 511, 486, 486, - 98, 501, 506, 236, 486, - 98, 468,
+ /* 200 */
+ - 98, - 98, 236, - 98, 227, - 27, 197, 33, 90,
+ );
static public $yyExpectedTokens = array(
- /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 22, 23, 28, 32, 33, 34, ),
- /* 1 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 2 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 3 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 4 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 5 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 6 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 7 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 8 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 65, 78, ),
- /* 9 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 10 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 11 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 12 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 13 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 14 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 15 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 16 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 17 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 18 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 19 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 20 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 21 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 22 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 23 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 24 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 25 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 26 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 27 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 28 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 29 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 30 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 31 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 32 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 33 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 34 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 35 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 36 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 37 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 38 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 39 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 40 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 41 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 42 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 43 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 44 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 45 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 64, 78, ),
- /* 46 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
- /* 47 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
- /* 48 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
- /* 49 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
- /* 50 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
- /* 51 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
- /* 52 */ array(16, 18, 19, 22, 23, 28, 32, 33, 34, 36, 38, 41, 56, 57, 58, 59, 60, 63, 78, ),
- /* 53 */ array(1, 17, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 54 */ array(1, 17, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 55 */ array(1, 27, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 56 */ array(1, 17, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 57 */ array(1, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 58 */ array(1, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 59 */ array(1, 29, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 60 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 61 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 62 */ array(1, 30, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 63 */ array(1, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 64 */ array(1, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 65 */ array(1, 24, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 66 */ array(1, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 67 */ array(1, 17, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 68 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, ),
- /* 69 */ array(1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 70 */ array(1, 2, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 71 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 72 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 73 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 74 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 75 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 76 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 77 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 78 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 79 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 80 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 81 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 82 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 83 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 84 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 85 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 86 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 87 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 88 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 89 */ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 90 */ array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 91 */ array(40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, ),
- /* 92 */ array(1, 17, 21, 29, 35, 38, 61, ),
- /* 93 */ array(1, 17, 29, 35, 54, ),
- /* 94 */ array(1, 29, 35, ),
- /* 95 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 22, 23, 28, 32, 33, 34, ),
- /* 96 */ array(10, 16, 22, 23, 28, 32, 33, 34, 78, 79, 80, ),
- /* 97 */ array(16, 19, 29, 31, 35, ),
- /* 98 */ array(16, 19, 29, 31, 35, ),
- /* 99 */ array(1, 17, 29, 35, ),
- /* 100 */ array(16, 19, 29, 35, ),
- /* 101 */ array(1, 17, 29, 35, ),
- /* 102 */ array(16, 19, 29, 35, ),
- /* 103 */ array(18, 19, 63, ),
- /* 104 */ array(1, 29, 35, ),
- /* 105 */ array(1, 2, 17, ),
- /* 106 */ array(1, 29, 35, ),
- /* 107 */ array(21, 59, 64, ),
- /* 108 */ array(18, 38, ),
- /* 109 */ array(10, 16, 22, 23, 28, 32, 33, 34, 78, 79, 80, ),
- /* 110 */ array(4, 5, 6, 7, 8, 13, 14, 15, ),
- /* 111 */ array(1, 17, 29, 30, 35, 54, ),
- /* 112 */ array(1, 17, 29, 35, 54, ),
- /* 113 */ array(1, 17, 29, 35, 54, ),
- /* 114 */ array(16, 19, 20, 62, ),
- /* 115 */ array(16, 19, 20, 25, ),
- /* 116 */ array(1, 17, 21, ),
- /* 117 */ array(1, 31, 54, ),
- /* 118 */ array(17, 29, 35, ),
- /* 119 */ array(16, 19, 20, ),
- /* 120 */ array(16, 19, 62, ),
- /* 121 */ array(1, 17, 54, ),
- /* 122 */ array(20, 21, 61, ),
- /* 123 */ array(20, 21, 61, ),
- /* 124 */ array(16, 19, ),
- /* 125 */ array(16, 19, ),
- /* 126 */ array(16, 19, ),
- /* 127 */ array(18, 38, ),
- /* 128 */ array(16, 19, ),
- /* 129 */ array(16, 19, ),
- /* 130 */ array(16, 19, ),
- /* 131 */ array(18, 19, ),
- /* 132 */ array(21, 61, ),
- /* 133 */ array(16, 19, ),
- /* 134 */ array(16, 19, ),
- /* 135 */ array(16, 19, ),
- /* 136 */ array(1, 17, ),
- /* 137 */ array(16, 19, ),
- /* 138 */ array(16, 19, ),
- /* 139 */ array(18, 19, ),
- /* 140 */ array(1, 54, ),
- /* 141 */ array(16, 19, ),
- /* 142 */ array(16, 19, ),
- /* 143 */ array(18, 38, ),
- /* 144 */ array(29, 35, ),
- /* 145 */ array(16, 19, ),
- /* 146 */ array(29, 35, ),
- /* 147 */ array(21, ),
- /* 148 */ array(1, ),
- /* 149 */ array(1, ),
- /* 150 */ array(1, ),
- /* 151 */ array(1, ),
- /* 152 */ array(1, ),
- /* 153 */ array(1, ),
- /* 154 */ array(1, ),
- /* 155 */ array(21, ),
- /* 156 */ array(1, ),
- /* 157 */ array(),
- /* 158 */ array(17, 29, 35, ),
- /* 159 */ array(17, 29, 35, ),
- /* 160 */ array(17, 29, 35, ),
- /* 161 */ array(17, 29, 35, ),
- /* 162 */ array(16, 18, 19, ),
- /* 163 */ array(17, 29, 35, ),
- /* 164 */ array(17, 29, 35, ),
- /* 165 */ array(17, 29, 35, ),
- /* 166 */ array(17, 29, 35, ),
- /* 167 */ array(16, 19, 62, ),
- /* 168 */ array(17, 29, 35, ),
- /* 169 */ array(17, 29, 35, ),
- /* 170 */ array(17, 29, 35, ),
- /* 171 */ array(17, 29, 35, ),
- /* 172 */ array(17, 29, 35, ),
- /* 173 */ array(17, 29, 35, ),
- /* 174 */ array(17, 29, 35, ),
- /* 175 */ array(17, 29, 35, ),
- /* 176 */ array(17, 29, 35, ),
- /* 177 */ array(17, 29, 35, ),
- /* 178 */ array(17, 29, 35, ),
- /* 179 */ array(17, 29, 35, ),
- /* 180 */ array(1, 17, ),
- /* 181 */ array(1, 17, ),
- /* 182 */ array(59, 64, ),
- /* 183 */ array(59, 64, ),
- /* 184 */ array(1, 17, ),
- /* 185 */ array(59, 64, ),
- /* 186 */ array(59, 64, ),
- /* 187 */ array(16, 38, ),
- /* 188 */ array(59, 64, ),
- /* 189 */ array(14, ),
- /* 190 */ array(21, ),
- /* 191 */ array(21, ),
- /* 192 */ array(38, ),
- /* 193 */ array(1, ),
- /* 194 */ array(1, ),
- /* 195 */ array(2, ),
- /* 196 */ array(21, ),
- /* 197 */ array(2, ),
- /* 198 */ array(29, ),
- /* 199 */ array(29, ),
- /* 200 */ array(),
- /* 201 */ array(),
- /* 202 */ array(),
- /* 203 */ array(),
- /* 204 */ array(),
- /* 205 */ array(17, 24, 26, 27, 29, 30, 35, 37, 38, 39, 54, 61, 65, 79, ),
- /* 206 */ array(17, 20, 29, 35, 38, 61, ),
- /* 207 */ array(38, 59, 61, 65, ),
- /* 208 */ array(16, 18, 19, 36, ),
- /* 209 */ array(31, 38, 61, ),
- /* 210 */ array(19, 62, ),
- /* 211 */ array(24, 37, ),
- /* 212 */ array(37, 65, ),
- /* 213 */ array(20, 59, ),
- /* 214 */ array(38, 61, ),
- /* 215 */ array(25, 79, ),
- /* 216 */ array(2, 20, ),
- /* 217 */ array(37, 39, ),
- /* 218 */ array(38, 61, ),
- /* 219 */ array(37, 39, ),
- /* 220 */ array(37, 39, ),
- /* 221 */ array(17, 25, ),
- /* 222 */ array(38, ),
- /* 223 */ array(19, ),
- /* 224 */ array(18, ),
- /* 225 */ array(36, ),
- /* 226 */ array(36, ),
- /* 227 */ array(59, ),
- /* 228 */ array(25, ),
- /* 229 */ array(2, ),
- /* 230 */ array(18, ),
- /* 231 */ array(19, ),
- /* 232 */ array(19, ),
- /* 233 */ array(2, ),
- /* 234 */ array(19, ),
- /* 235 */ array(19, ),
- /* 236 */ array(20, ),
- /* 237 */ array(18, ),
- /* 238 */ array(39, ),
- /* 239 */ array(26, ),
- /* 240 */ array(18, ),
- /* 241 */ array(18, ),
- /* 242 */ array(19, ),
- /* 243 */ array(19, ),
- /* 244 */ array(19, ),
- /* 245 */ array(19, ),
- /* 246 */ array(38, ),
- /* 247 */ array(65, ),
- /* 248 */ array(19, ),
- /* 249 */ array(63, ),
- /* 250 */ array(55, ),
- /* 251 */ array(19, ),
- /* 252 */ array(63, ),
- /* 253 */ array(),
- /* 254 */ array(),
- /* 255 */ array(),
- /* 256 */ array(),
- /* 257 */ array(),
- /* 258 */ array(),
- /* 259 */ array(),
- /* 260 */ array(),
- /* 261 */ array(),
- /* 262 */ array(),
- /* 263 */ array(),
- /* 264 */ array(),
- /* 265 */ array(),
- /* 266 */ array(),
- /* 267 */ array(),
- /* 268 */ array(),
- /* 269 */ array(),
- /* 270 */ array(),
- /* 271 */ array(),
- /* 272 */ array(),
- /* 273 */ array(),
- /* 274 */ array(),
- /* 275 */ array(),
- /* 276 */ array(),
- /* 277 */ array(),
- /* 278 */ array(),
- /* 279 */ array(),
- /* 280 */ array(),
- /* 281 */ array(),
- /* 282 */ array(),
- /* 283 */ array(),
- /* 284 */ array(),
- /* 285 */ array(),
- /* 286 */ array(),
- /* 287 */ array(),
- /* 288 */ array(),
- /* 289 */ array(),
- /* 290 */ array(),
- /* 291 */ array(),
- /* 292 */ array(),
- /* 293 */ array(),
- /* 294 */ array(),
- /* 295 */ array(),
- /* 296 */ array(),
- /* 297 */ array(),
- /* 298 */ array(),
- /* 299 */ array(),
- /* 300 */ array(),
- /* 301 */ array(),
- /* 302 */ array(),
- /* 303 */ array(),
- /* 304 */ array(),
- /* 305 */ array(),
- /* 306 */ array(),
- /* 307 */ array(),
- /* 308 */ array(),
- /* 309 */ array(),
- /* 310 */ array(),
- /* 311 */ array(),
- /* 312 */ array(),
- /* 313 */ array(),
- /* 314 */ array(),
- /* 315 */ array(),
- /* 316 */ array(),
- /* 317 */ array(),
- /* 318 */ array(),
- /* 319 */ array(),
- /* 320 */ array(),
- /* 321 */ array(),
- /* 322 */ array(),
- /* 323 */ array(),
- /* 324 */ array(),
- /* 325 */ array(),
- /* 326 */ array(),
- /* 327 */ array(),
- /* 328 */ array(),
- /* 329 */ array(),
- /* 330 */ array(),
- /* 331 */ array(),
- /* 332 */ array(),
- /* 333 */ array(),
- /* 334 */ array(),
- /* 335 */ array(),
- /* 336 */ array(),
- /* 337 */ array(),
- /* 338 */ array(),
- /* 339 */ array(),
- /* 340 */ array(),
- /* 341 */ array(),
- /* 342 */ array(),
- /* 343 */ array(),
- /* 344 */ array(),
- /* 345 */ array(),
- /* 346 */ array(),
- /* 347 */ array(),
- /* 348 */ array(),
- /* 349 */ array(),
- /* 350 */ array(),
- /* 351 */ array(),
- /* 352 */ array(),
- /* 353 */ array(),
- /* 354 */ array(),
- /* 355 */ array(),
- /* 356 */ array(),
- /* 357 */ array(),
- /* 358 */ array(),
- /* 359 */ array(),
- /* 360 */ array(),
- /* 361 */ array(),
- /* 362 */ array(),
- /* 363 */ array(),
- /* 364 */ array(),
- /* 365 */ array(),
- /* 366 */ array(),
- /* 367 */ array(),
- /* 368 */ array(),
- /* 369 */ array(),
- /* 370 */ array(),
- /* 371 */ array(),
- /* 372 */ array(),
- /* 373 */ array(),
- /* 374 */ array(),
- /* 375 */ array(),
- /* 376 */ array(),
- /* 377 */ array(),
- /* 378 */ array(),
- /* 379 */ array(),
- /* 380 */ array(),
- /* 381 */ array(),
- /* 382 */ array(),
- /* 383 */ array(),
- /* 384 */ array(),
- /* 385 */ array(),
- /* 386 */ array(),
- /* 387 */ array(),
- /* 388 */ array(),
-);
+ /* 0 */
+ array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23, 24, 29, 33, 35,),
+ /* 1 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 2 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 3 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 4 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 5 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 6 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 7 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 8 */
+ array(18, 19, 20, 23, 24, 29, 33, 34, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 9 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 66, 79,),
+ /* 10 */
+ array(18, 19, 20, 23, 24, 29, 33, 34, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 11 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 12 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 13 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 14 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 15 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 16 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 17 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 18 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 19 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 20 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 21 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 22 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 23 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 24 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 25 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 26 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 27 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 28 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 29 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 30 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 31 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 32 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 33 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 34 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 35 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 36 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 37 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 38 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 39 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 40 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 41 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 42 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 43 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 44 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 45 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 65, 79,),
+ /* 46 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
+ /* 47 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
+ /* 48 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
+ /* 49 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
+ /* 50 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
+ /* 51 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
+ /* 52 */
+ array(18, 19, 20, 23, 24, 29, 33, 35, 37, 39, 42, 57, 58, 59, 60, 61, 64, 79,),
+ /* 53 */
+ array(1, 3, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 54 */
+ array(1, 28, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 55 */
+ array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 56 */
+ array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 57 */
+ array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 58 */
+ array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 59 */
+ array(1, 30, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 60 */
+ array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 61 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 80,),
+ /* 62 */
+ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 63 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 64 */
+ array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 65 */
+ array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 66 */
+ array(1, 2, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 67 */
+ array(1, 25, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 68 */
+ array(1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 69 */
+ array(1, 31, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 70 */
+ array(1, 3, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 71 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 72 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 73 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 74 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 75 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 76 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 77 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 78 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 79 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 80 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 81 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 82 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 83 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 84 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 85 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 86 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 87 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 88 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 89 */
+ array(1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 90 */
+ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 91 */
+ array(41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,),
+ /* 92 */
+ array(1, 3, 22, 30, 36, 39, 62,),
+ /* 93 */
+ array(1, 3, 30, 36, 55,),
+ /* 94 */
+ array(1, 30, 36,),
+ /* 95 */
+ array(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 23, 24, 29, 33, 35,),
+ /* 96 */
+ array(11, 18, 23, 24, 29, 33, 35, 79, 80, 81,),
+ /* 97 */
+ array(18, 20, 30, 32, 36,),
+ /* 98 */
+ array(18, 20, 30, 32, 36,),
+ /* 99 */
+ array(18, 20, 30, 36,),
+ /* 100 */
+ array(18, 20, 30, 36,),
+ /* 101 */
+ array(1, 3, 30, 36,),
+ /* 102 */
+ array(1, 3, 30, 36,),
+ /* 103 */
+ array(1, 30, 36,),
+ /* 104 */
+ array(1, 30, 36,),
+ /* 105 */
+ array(19, 20, 64,),
+ /* 106 */
+ array(22, 60, 65,),
+ /* 107 */
+ array(1, 2,),
+ /* 108 */
+ array(19, 39,),
+ /* 109 */
+ array(11, 18, 23, 24, 29, 33, 35, 79, 80, 81,),
+ /* 110 */
+ array(1, 3, 30, 31, 36, 55,),
+ /* 111 */
+ array(1, 3, 30, 36, 55,),
+ /* 112 */
+ array(1, 3, 30, 36, 55,),
+ /* 113 */
+ array(18, 20, 21, 26,),
+ /* 114 */
+ array(18, 20, 21, 63,),
+ /* 115 */
+ array(15, 16, 17,),
+ /* 116 */
+ array(21, 22, 62,),
+ /* 117 */
+ array(21, 22, 62,),
+ /* 118 */
+ array(1, 3, 55,),
+ /* 119 */
+ array(18, 20, 63,),
+ /* 120 */
+ array(18, 20, 21,),
+ /* 121 */
+ array(1, 32, 55,),
+ /* 122 */
+ array(18, 20,),
+ /* 123 */
+ array(18, 20,),
+ /* 124 */
+ array(1, 22,),
+ /* 125 */
+ array(18, 20,),
+ /* 126 */
+ array(18, 20,),
+ /* 127 */
+ array(19, 20,),
+ /* 128 */
+ array(22, 62,),
+ /* 129 */
+ array(18, 20,),
+ /* 130 */
+ array(19, 39,),
+ /* 131 */
+ array(18, 20,),
+ /* 132 */
+ array(19, 39,),
+ /* 133 */
+ array(1, 55,),
+ /* 134 */
+ array(19, 20,),
+ /* 135 */
+ array(18, 20,),
+ /* 136 */
+ array(18, 20,),
+ /* 137 */
+ array(30, 36,),
+ /* 138 */
+ array(18, 20,),
+ /* 139 */
+ array(30, 36,),
+ /* 140 */
+ array(30, 36,),
+ /* 141 */
+ array(18, 20,),
+ /* 142 */
+ array(18, 20,),
+ /* 143 */
+ array(18, 20,),
+ /* 144 */
+ array(18, 20,),
+ /* 145 */
+ array(18, 20,),
+ /* 146 */
+ array(1,),
+ /* 147 */
+ array(22,),
+ /* 148 */
+ array(1,),
+ /* 149 */
+ array(1,),
+ /* 150 */
+ array(22,),
+ /* 151 */
+ array(1,),
+ /* 152 */
+ array(1,),
+ /* 153 */
+ array(1,),
+ /* 154 */
+ array(1,),
+ /* 155 */
+ array(1,),
+ /* 156 */
+ array(1,),
+ /* 157 */
+ array(),
+ /* 158 */
+ array(18, 20, 63,),
+ /* 159 */
+ array(18, 19, 20,),
+ /* 160 */
+ array(30, 36,),
+ /* 161 */
+ array(30, 36,),
+ /* 162 */
+ array(30, 36,),
+ /* 163 */
+ array(30, 36,),
+ /* 164 */
+ array(30, 36,),
+ /* 165 */
+ array(30, 36,),
+ /* 166 */
+ array(30, 36,),
+ /* 167 */
+ array(30, 36,),
+ /* 168 */
+ array(60, 65,),
+ /* 169 */
+ array(60, 65,),
+ /* 170 */
+ array(60, 65,),
+ /* 171 */
+ array(60, 65,),
+ /* 172 */
+ array(60, 65,),
+ /* 173 */
+ array(30, 36,),
+ /* 174 */
+ array(30, 36,),
+ /* 175 */
+ array(30, 36,),
+ /* 176 */
+ array(30, 36,),
+ /* 177 */
+ array(30, 36,),
+ /* 178 */
+ array(30, 36,),
+ /* 179 */
+ array(60, 65,),
+ /* 180 */
+ array(60, 65,),
+ /* 181 */
+ array(60, 65,),
+ /* 182 */
+ array(18, 39,),
+ /* 183 */
+ array(30, 36,),
+ /* 184 */
+ array(30, 36,),
+ /* 185 */
+ array(30, 36,),
+ /* 186 */
+ array(60, 65,),
+ /* 187 */
+ array(30, 36,),
+ /* 188 */
+ array(30, 36,),
+ /* 189 */
+ array(30, 36,),
+ /* 190 */
+ array(16,),
+ /* 191 */
+ array(22,),
+ /* 192 */
+ array(22,),
+ /* 193 */
+ array(1,),
+ /* 194 */
+ array(30,),
+ /* 195 */
+ array(30,),
+ /* 196 */
+ array(2,),
+ /* 197 */
+ array(22,),
+ /* 198 */
+ array(1,),
+ /* 199 */
+ array(39,),
+ /* 200 */
+ array(1,),
+ /* 201 */
+ array(1,),
+ /* 202 */
+ array(2,),
+ /* 203 */
+ array(1,),
+ /* 204 */
+ array(),
+ /* 205 */
+ array(),
+ /* 206 */
+ array(),
+ /* 207 */
+ array(),
+ /* 208 */
+ array(),
+ /* 209 */
+ array(3, 25, 27, 28, 30, 31, 36, 38, 39, 40, 55, 62, 66, 80,),
+ /* 210 */
+ array(3, 21, 30, 36, 39, 62,),
+ /* 211 */
+ array(39, 60, 62, 66,),
+ /* 212 */
+ array(18, 19, 20, 37,),
+ /* 213 */
+ array(32, 39, 62,),
+ /* 214 */
+ array(26, 80,),
+ /* 215 */
+ array(38, 40,),
+ /* 216 */
+ array(38, 66,),
+ /* 217 */
+ array(38, 40,),
+ /* 218 */
+ array(25, 38,),
+ /* 219 */
+ array(21, 60,),
+ /* 220 */
+ array(3, 26,),
+ /* 221 */
+ array(38, 40,),
+ /* 222 */
+ array(39, 62,),
+ /* 223 */
+ array(2, 21,),
+ /* 224 */
+ array(39, 62,),
+ /* 225 */
+ array(20, 63,),
+ /* 226 */
+ array(20,),
+ /* 227 */
+ array(3,),
+ /* 228 */
+ array(20,),
+ /* 229 */
+ array(20,),
+ /* 230 */
+ array(20,),
+ /* 231 */
+ array(2,),
+ /* 232 */
+ array(19,),
+ /* 233 */
+ array(20,),
+ /* 234 */
+ array(19,),
+ /* 235 */
+ array(3,),
+ /* 236 */
+ array(20,),
+ /* 237 */
+ array(37,),
+ /* 238 */
+ array(37,),
+ /* 239 */
+ array(66,),
+ /* 240 */
+ array(20,),
+ /* 241 */
+ array(20,),
+ /* 242 */
+ array(3,),
+ /* 243 */
+ array(56,),
+ /* 244 */
+ array(39,),
+ /* 245 */
+ array(2,),
+ /* 246 */
+ array(60,),
+ /* 247 */
+ array(39,),
+ /* 248 */
+ array(19,),
+ /* 249 */
+ array(40,),
+ /* 250 */
+ array(20,),
+ /* 251 */
+ array(26,),
+ /* 252 */
+ array(19,),
+ /* 253 */
+ array(64,),
+ /* 254 */
+ array(20,),
+ /* 255 */
+ array(19,),
+ /* 256 */
+ array(20,),
+ /* 257 */
+ array(64,),
+ /* 258 */
+ array(27,),
+ /* 259 */
+ array(21,),
+ /* 260 */
+ array(),
+ /* 261 */
+ array(),
+ /* 262 */
+ array(),
+ /* 263 */
+ array(),
+ /* 264 */
+ array(),
+ /* 265 */
+ array(),
+ /* 266 */
+ array(),
+ /* 267 */
+ array(),
+ /* 268 */
+ array(),
+ /* 269 */
+ array(),
+ /* 270 */
+ array(),
+ /* 271 */
+ array(),
+ /* 272 */
+ array(),
+ /* 273 */
+ array(),
+ /* 274 */
+ array(),
+ /* 275 */
+ array(),
+ /* 276 */
+ array(),
+ /* 277 */
+ array(),
+ /* 278 */
+ array(),
+ /* 279 */
+ array(),
+ /* 280 */
+ array(),
+ /* 281 */
+ array(),
+ /* 282 */
+ array(),
+ /* 283 */
+ array(),
+ /* 284 */
+ array(),
+ /* 285 */
+ array(),
+ /* 286 */
+ array(),
+ /* 287 */
+ array(),
+ /* 288 */
+ array(),
+ /* 289 */
+ array(),
+ /* 290 */
+ array(),
+ /* 291 */
+ array(),
+ /* 292 */
+ array(),
+ /* 293 */
+ array(),
+ /* 294 */
+ array(),
+ /* 295 */
+ array(),
+ /* 296 */
+ array(),
+ /* 297 */
+ array(),
+ /* 298 */
+ array(),
+ /* 299 */
+ array(),
+ /* 300 */
+ array(),
+ /* 301 */
+ array(),
+ /* 302 */
+ array(),
+ /* 303 */
+ array(),
+ /* 304 */
+ array(),
+ /* 305 */
+ array(),
+ /* 306 */
+ array(),
+ /* 307 */
+ array(),
+ /* 308 */
+ array(),
+ /* 309 */
+ array(),
+ /* 310 */
+ array(),
+ /* 311 */
+ array(),
+ /* 312 */
+ array(),
+ /* 313 */
+ array(),
+ /* 314 */
+ array(),
+ /* 315 */
+ array(),
+ /* 316 */
+ array(),
+ /* 317 */
+ array(),
+ /* 318 */
+ array(),
+ /* 319 */
+ array(),
+ /* 320 */
+ array(),
+ /* 321 */
+ array(),
+ /* 322 */
+ array(),
+ /* 323 */
+ array(),
+ /* 324 */
+ array(),
+ /* 325 */
+ array(),
+ /* 326 */
+ array(),
+ /* 327 */
+ array(),
+ /* 328 */
+ array(),
+ /* 329 */
+ array(),
+ /* 330 */
+ array(),
+ /* 331 */
+ array(),
+ /* 332 */
+ array(),
+ /* 333 */
+ array(),
+ /* 334 */
+ array(),
+ /* 335 */
+ array(),
+ /* 336 */
+ array(),
+ /* 337 */
+ array(),
+ /* 338 */
+ array(),
+ /* 339 */
+ array(),
+ /* 340 */
+ array(),
+ /* 341 */
+ array(),
+ /* 342 */
+ array(),
+ /* 343 */
+ array(),
+ /* 344 */
+ array(),
+ /* 345 */
+ array(),
+ /* 346 */
+ array(),
+ /* 347 */
+ array(),
+ /* 348 */
+ array(),
+ /* 349 */
+ array(),
+ /* 350 */
+ array(),
+ /* 351 */
+ array(),
+ /* 352 */
+ array(),
+ /* 353 */
+ array(),
+ /* 354 */
+ array(),
+ /* 355 */
+ array(),
+ /* 356 */
+ array(),
+ /* 357 */
+ array(),
+ );
static public $yy_default = array(
- /* 0 */ 392, 574, 591, 591, 545, 591, 545, 545, 591, 591,
- /* 10 */ 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
- /* 20 */ 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
- /* 30 */ 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
- /* 40 */ 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
- /* 50 */ 591, 591, 591, 591, 591, 453, 591, 453, 453, 453,
- /* 60 */ 591, 591, 458, 591, 591, 591, 591, 591, 591, 591,
- /* 70 */ 591, 544, 575, 458, 576, 460, 463, 464, 435, 477,
- /* 80 */ 478, 479, 486, 487, 577, 483, 482, 543, 455, 474,
- /* 90 */ 490, 491, 502, 466, 453, 389, 591, 453, 453, 473,
- /* 100 */ 453, 510, 453, 591, 453, 591, 453, 557, 591, 591,
- /* 110 */ 591, 466, 466, 466, 518, 591, 591, 466, 591, 518,
- /* 120 */ 518, 466, 511, 511, 591, 591, 591, 591, 591, 591,
- /* 130 */ 591, 591, 511, 591, 591, 591, 591, 591, 518, 591,
- /* 140 */ 466, 591, 591, 591, 453, 591, 453, 554, 494, 469,
- /* 150 */ 489, 476, 495, 470, 493, 511, 471, 552, 591, 591,
- /* 160 */ 591, 591, 591, 591, 591, 591, 591, 519, 591, 591,
- /* 170 */ 591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
- /* 180 */ 591, 591, 536, 535, 591, 538, 516, 518, 537, 408,
- /* 190 */ 558, 555, 518, 473, 510, 547, 532, 546, 590, 590,
- /* 200 */ 551, 551, 518, 551, 518, 468, 502, 502, 591, 502,
- /* 210 */ 591, 591, 591, 498, 488, 492, 530, 591, 502, 591,
- /* 220 */ 591, 492, 530, 591, 591, 591, 500, 498, 492, 530,
- /* 230 */ 591, 591, 591, 530, 591, 591, 591, 591, 591, 461,
- /* 240 */ 591, 591, 591, 591, 591, 591, 556, 591, 591, 591,
- /* 250 */ 504, 591, 591, 465, 515, 514, 539, 572, 433, 418,
- /* 260 */ 390, 432, 438, 573, 437, 526, 436, 541, 540, 523,
- /* 270 */ 553, 531, 542, 442, 504, 443, 571, 589, 524, 454,
- /* 280 */ 527, 525, 462, 485, 530, 529, 444, 445, 550, 441,
- /* 290 */ 440, 431, 430, 434, 452, 439, 446, 447, 499, 497,
- /* 300 */ 501, 507, 467, 496, 450, 448, 548, 549, 449, 451,
- /* 310 */ 417, 399, 398, 400, 401, 402, 397, 396, 391, 393,
- /* 320 */ 394, 395, 403, 404, 413, 412, 414, 415, 416, 411,
- /* 330 */ 410, 405, 406, 407, 409, 468, 512, 423, 422, 424,
- /* 340 */ 533, 425, 421, 586, 570, 569, 472, 419, 420, 426,
- /* 350 */ 427, 582, 583, 584, 587, 588, 580, 579, 429, 428,
- /* 360 */ 585, 578, 568, 567, 506, 505, 508, 475, 509, 503,
- /* 370 */ 522, 517, 520, 528, 521, 513, 534, 563, 562, 564,
- /* 380 */ 565, 566, 561, 560, 480, 481, 484, 559, 581,
-);
- const YYNOCODE = 124;
- const YYSTACKDEPTH = 100;
- const YYNSTATE = 389;
- const YYNRULE = 202;
- const YYERRORSYMBOL = 81;
+ /* 0 */
+ 361, 541, 558, 558, 512, 558, 512, 512, 558, 558,
+ /* 10 */
+ 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
+ /* 20 */
+ 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
+ /* 30 */
+ 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
+ /* 40 */
+ 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
+ /* 50 */
+ 558, 558, 558, 558, 418, 418, 418, 418, 387, 395,
+ /* 60 */
+ 558, 558, 558, 558, 558, 558, 558, 558, 558, 423,
+ /* 70 */
+ 558, 428, 425, 510, 423, 429, 511, 543, 444, 542,
+ /* 80 */
+ 447, 448, 443, 442, 439, 452, 544, 420, 451, 400,
+ /* 90 */
+ 456, 455, 467, 431, 418, 358, 558, 418, 418, 418,
+ /* 100 */
+ 418, 438, 475, 418, 418, 558, 524, 409, 558, 558,
+ /* 110 */
+ 431, 431, 431, 558, 485, 558, 476, 476, 431, 485,
+ /* 120 */
+ 485, 431, 558, 558, 412, 558, 485, 558, 476, 558,
+ /* 130 */
+ 558, 558, 558, 431, 558, 558, 558, 397, 558, 418,
+ /* 140 */
+ 418, 558, 558, 558, 558, 558, 441, 476, 414, 434,
+ /* 150 */
+ 521, 436, 435, 460, 459, 458, 454, 519, 486, 558,
+ /* 160 */
+ 385, 384, 405, 404, 389, 406, 399, 388, 505, 483,
+ /* 170 */
+ 482, 481, 480, 407, 408, 383, 398, 403, 402, 504,
+ /* 180 */
+ 479, 502, 485, 393, 392, 390, 503, 382, 396, 394,
+ /* 190 */
+ 378, 525, 522, 475, 557, 557, 513, 499, 438, 485,
+ /* 200 */
+ 413, 410, 514, 415, 518, 485, 518, 485, 518, 433,
+ /* 210 */
+ 467, 467, 558, 467, 457, 558, 558, 558, 558, 463,
+ /* 220 */
+ 457, 558, 453, 497, 467, 558, 558, 558, 558, 558,
+ /* 230 */
+ 558, 497, 558, 558, 558, 558, 558, 465, 558, 558,
+ /* 240 */
+ 558, 558, 558, 469, 497, 497, 463, 523, 558, 558,
+ /* 250 */
+ 558, 457, 558, 558, 558, 558, 558, 558, 426, 558,
+ /* 260 */
+ 477, 520, 495, 507, 490, 508, 487, 374, 498, 484,
+ /* 270 */
+ 556, 364, 363, 365, 461, 366, 472, 466, 360, 359,
+ /* 280 */
+ 462, 362, 464, 367, 430, 401, 469, 372, 373, 419,
+ /* 290 */
+ 432, 427, 368, 369, 370, 371, 433, 470, 445, 497,
+ /* 300 */
+ 446, 496, 450, 449, 500, 517, 545, 474, 552, 411,
+ /* 310 */
+ 501, 478, 553, 526, 534, 533, 535, 536, 437, 537,
+ /* 320 */
+ 532, 417, 528, 527, 529, 530, 531, 546, 547, 515,
+ /* 330 */
+ 506, 375, 376, 509, 377, 516, 468, 494, 489, 492,
+ /* 340 */
+ 491, 493, 379, 380, 555, 548, 554, 551, 550, 549,
+ /* 350 */
+ 440, 416, 473, 471, 539, 540, 538, 488,
+ );
+ const YYNOCODE = 125;
+ const YYSTACKDEPTH = 500;
+ const YYNSTATE = 358;
+ const YYNRULE = 200;
+ const YYERRORSYMBOL = 82;
const YYERRSYMDT = 'yy0';
const YYFALLBACK = 0;
- static public $yyFallback = array(
- );
- static function Trace($TraceFILE, $zTracePrompt)
+ public static $yyFallback = array();
+
+ public function Trace($TraceFILE, $zTracePrompt)
{
if (!$TraceFILE) {
$zTracePrompt = 0;
} elseif (!$zTracePrompt) {
$TraceFILE = 0;
}
- self::$yyTraceFILE = $TraceFILE;
- self::$yyTracePrompt = $zTracePrompt;
+ $this->yyTraceFILE = $TraceFILE;
+ $this->yyTracePrompt = $zTracePrompt;
}
- static function PrintTrace()
+ public function PrintTrace()
{
- self::$yyTraceFILE = fopen('php://output', 'w');
- self::$yyTracePrompt = '<br>';
+ $this->yyTraceFILE = fopen('php://output', 'w');
+ $this->yyTracePrompt = '<br>';
}
- static public $yyTraceFILE;
- static public $yyTracePrompt;
+ public $yyTraceFILE;
+ public $yyTracePrompt;
public $yyidx; /* Index of top element in stack */
public $yyerrcnt; /* Shifts left before out of the error */
public $yystack = array(); /* The parser's stack */
public $yyTokenName = array(
- '$', 'VERT', 'COLON', 'COMMENT',
- 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG', 'ASPENDTAG',
- 'FAKEPHPSTARTTAG', 'XMLTAG', 'TEXT', 'STRIPON',
- 'STRIPOFF', 'LITERALSTART', 'LITERALEND', 'LITERAL',
- 'LDEL', 'RDEL', 'DOLLAR', 'ID',
- 'EQUAL', 'PTR', 'LDELIF', 'LDELFOR',
- 'SEMICOLON', 'INCDEC', 'TO', 'STEP',
- 'LDELFOREACH', 'SPACE', 'AS', 'APTR',
- 'LDELSETFILTER', 'SMARTYBLOCKCHILD', 'LDELSLASH', 'ATTR',
- 'INTEGER', 'COMMA', 'OPENP', 'CLOSEP',
- 'MATH', 'UNIMATH', 'ANDSYM', 'ISIN',
- 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN', 'ISNOTEVEN',
- 'ISEVENBY', 'ISNOTEVENBY', 'ISODD', 'ISNOTODD',
- 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF', 'QMARK',
- 'NOT', 'TYPECAST', 'HEX', 'DOT',
- 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT', 'HATCH',
- 'OPENB', 'CLOSEB', 'EQUALS', 'NOTEQUALS',
- 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL', 'LESSEQUAL',
- 'IDENTITY', 'NONEIDENTITY', 'MOD', 'LAND',
- 'LOR', 'LXOR', 'QUOTE', 'BACKTICK',
- 'DOLLARID', 'error', 'start', 'template',
- 'template_element', 'smartytag', 'literal', 'literal_elements',
- 'literal_element', 'value', 'modifierlist', 'attributes',
- 'expr', 'varindexed', 'statement', 'statements',
- 'optspace', 'varvar', 'foraction', 'modparameters',
- 'attribute', 'ternary', 'array', 'ifcond',
- 'lop', 'variable', 'function', 'doublequoted_with_quotes',
- 'static_class_access', 'object', 'arrayindex', 'indexdef',
- 'varvarele', 'objectchain', 'objectelement', 'method',
- 'params', 'modifier', 'modparameter', 'arrayelements',
- 'arrayelement', 'doublequoted', 'doublequotedcontent',
+ '$', 'VERT', 'COLON', 'RDEL',
+ 'COMMENT', 'PHPSTARTTAG', 'PHPENDTAG', 'PHPENDSCRIPT',
+ 'ASPSTARTTAG', 'ASPENDTAG', 'XMLTAG', 'TEXT',
+ 'STRIPON', 'STRIPOFF', 'BLOCKSOURCE', 'LITERALSTART',
+ 'LITERALEND', 'LITERAL', 'LDEL', 'DOLLAR',
+ 'ID', 'EQUAL', 'PTR', 'LDELIF',
+ 'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO',
+ 'STEP', 'LDELFOREACH', 'SPACE', 'AS',
+ 'APTR', 'LDELSETFILTER', 'SMARTYBLOCKCHILDPARENT', 'LDELSLASH',
+ 'ATTR', 'INTEGER', 'COMMA', 'OPENP',
+ 'CLOSEP', 'MATH', 'UNIMATH', 'ANDSYM',
+ 'ISIN', 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN',
+ 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', 'ISODD',
+ 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF',
+ 'QMARK', 'NOT', 'TYPECAST', 'HEX',
+ 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT',
+ 'HATCH', 'OPENB', 'CLOSEB', 'EQUALS',
+ 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL',
+ 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD',
+ 'LAND', 'LOR', 'LXOR', 'QUOTE',
+ 'BACKTICK', 'DOLLARID', 'error', 'start',
+ 'template', 'template_element', 'smartytag', 'literal',
+ 'literal_elements', 'literal_element', 'value', 'modifierlist',
+ 'attributes', 'expr', 'varindexed', 'statement',
+ 'statements', 'optspace', 'varvar', 'foraction',
+ 'modparameters', 'attribute', 'ternary', 'array',
+ 'ifcond', 'lop', 'variable', 'function',
+ 'doublequoted_with_quotes', 'static_class_access', 'object', 'arrayindex',
+ 'indexdef', 'varvarele', 'objectchain', 'objectelement',
+ 'method', 'params', 'modifier', 'modparameter',
+ 'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent',
);
- static public $yyRuleName = array(
- /* 0 */ "start ::= template",
- /* 1 */ "template ::= template_element",
- /* 2 */ "template ::= template template_element",
- /* 3 */ "template ::=",
- /* 4 */ "template_element ::= smartytag",
- /* 5 */ "template_element ::= COMMENT",
- /* 6 */ "template_element ::= literal",
- /* 7 */ "template_element ::= PHPSTARTTAG",
- /* 8 */ "template_element ::= PHPENDTAG",
- /* 9 */ "template_element ::= ASPSTARTTAG",
- /* 10 */ "template_element ::= ASPENDTAG",
- /* 11 */ "template_element ::= FAKEPHPSTARTTAG",
- /* 12 */ "template_element ::= XMLTAG",
- /* 13 */ "template_element ::= TEXT",
- /* 14 */ "template_element ::= STRIPON",
- /* 15 */ "template_element ::= STRIPOFF",
- /* 16 */ "literal ::= LITERALSTART LITERALEND",
- /* 17 */ "literal ::= LITERALSTART literal_elements LITERALEND",
- /* 18 */ "literal_elements ::= literal_elements literal_element",
- /* 19 */ "literal_elements ::=",
- /* 20 */ "literal_element ::= literal",
- /* 21 */ "literal_element ::= LITERAL",
- /* 22 */ "literal_element ::= PHPSTARTTAG",
- /* 23 */ "literal_element ::= FAKEPHPSTARTTAG",
- /* 24 */ "literal_element ::= PHPENDTAG",
- /* 25 */ "literal_element ::= ASPSTARTTAG",
- /* 26 */ "literal_element ::= ASPENDTAG",
- /* 27 */ "smartytag ::= LDEL value RDEL",
- /* 28 */ "smartytag ::= LDEL value modifierlist attributes RDEL",
- /* 29 */ "smartytag ::= LDEL value attributes RDEL",
- /* 30 */ "smartytag ::= LDEL expr modifierlist attributes RDEL",
- /* 31 */ "smartytag ::= LDEL expr attributes RDEL",
- /* 32 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL",
- /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL",
- /* 34 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL",
- /* 35 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL",
- /* 36 */ "smartytag ::= LDEL ID attributes RDEL",
- /* 37 */ "smartytag ::= LDEL ID RDEL",
- /* 38 */ "smartytag ::= LDEL ID PTR ID attributes RDEL",
- /* 39 */ "smartytag ::= LDEL ID modifierlist attributes RDEL",
- /* 40 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL",
- /* 41 */ "smartytag ::= LDELIF expr RDEL",
- /* 42 */ "smartytag ::= LDELIF expr attributes RDEL",
- /* 43 */ "smartytag ::= LDELIF statement RDEL",
- /* 44 */ "smartytag ::= LDELIF statement attributes RDEL",
- /* 45 */ "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes RDEL",
- /* 46 */ "foraction ::= EQUAL expr",
- /* 47 */ "foraction ::= INCDEC",
- /* 48 */ "smartytag ::= LDELFOR statement TO expr attributes RDEL",
- /* 49 */ "smartytag ::= LDELFOR statement TO expr STEP expr attributes RDEL",
- /* 50 */ "smartytag ::= LDELFOREACH attributes RDEL",
- /* 51 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes RDEL",
- /* 52 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
- /* 53 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes RDEL",
- /* 54 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
- /* 55 */ "smartytag ::= LDELSETFILTER ID modparameters RDEL",
- /* 56 */ "smartytag ::= LDELSETFILTER ID modparameters modifierlist RDEL",
- /* 57 */ "smartytag ::= SMARTYBLOCKCHILD",
- /* 58 */ "smartytag ::= LDELSLASH ID RDEL",
- /* 59 */ "smartytag ::= LDELSLASH ID modifierlist RDEL",
- /* 60 */ "smartytag ::= LDELSLASH ID PTR ID RDEL",
- /* 61 */ "smartytag ::= LDELSLASH ID PTR ID modifierlist RDEL",
- /* 62 */ "attributes ::= attributes attribute",
- /* 63 */ "attributes ::= attribute",
- /* 64 */ "attributes ::=",
- /* 65 */ "attribute ::= SPACE ID EQUAL ID",
- /* 66 */ "attribute ::= ATTR expr",
- /* 67 */ "attribute ::= ATTR value",
- /* 68 */ "attribute ::= SPACE ID",
- /* 69 */ "attribute ::= SPACE expr",
- /* 70 */ "attribute ::= SPACE value",
- /* 71 */ "attribute ::= SPACE INTEGER EQUAL expr",
- /* 72 */ "statements ::= statement",
- /* 73 */ "statements ::= statements COMMA statement",
- /* 74 */ "statement ::= DOLLAR varvar EQUAL expr",
- /* 75 */ "statement ::= varindexed EQUAL expr",
- /* 76 */ "statement ::= OPENP statement CLOSEP",
- /* 77 */ "expr ::= value",
- /* 78 */ "expr ::= ternary",
- /* 79 */ "expr ::= DOLLAR ID COLON ID",
- /* 80 */ "expr ::= expr MATH value",
- /* 81 */ "expr ::= expr UNIMATH value",
- /* 82 */ "expr ::= expr ANDSYM value",
- /* 83 */ "expr ::= array",
- /* 84 */ "expr ::= expr modifierlist",
- /* 85 */ "expr ::= expr ifcond expr",
- /* 86 */ "expr ::= expr ISIN array",
- /* 87 */ "expr ::= expr ISIN value",
- /* 88 */ "expr ::= expr lop expr",
- /* 89 */ "expr ::= expr ISDIVBY expr",
- /* 90 */ "expr ::= expr ISNOTDIVBY expr",
- /* 91 */ "expr ::= expr ISEVEN",
- /* 92 */ "expr ::= expr ISNOTEVEN",
- /* 93 */ "expr ::= expr ISEVENBY expr",
- /* 94 */ "expr ::= expr ISNOTEVENBY expr",
- /* 95 */ "expr ::= expr ISODD",
- /* 96 */ "expr ::= expr ISNOTODD",
- /* 97 */ "expr ::= expr ISODDBY expr",
- /* 98 */ "expr ::= expr ISNOTODDBY expr",
- /* 99 */ "expr ::= value INSTANCEOF ID",
- /* 100 */ "expr ::= value INSTANCEOF value",
- /* 101 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
- /* 102 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
- /* 103 */ "value ::= variable",
- /* 104 */ "value ::= UNIMATH value",
- /* 105 */ "value ::= NOT value",
- /* 106 */ "value ::= TYPECAST value",
- /* 107 */ "value ::= variable INCDEC",
- /* 108 */ "value ::= HEX",
- /* 109 */ "value ::= INTEGER",
- /* 110 */ "value ::= INTEGER DOT INTEGER",
- /* 111 */ "value ::= INTEGER DOT",
- /* 112 */ "value ::= DOT INTEGER",
- /* 113 */ "value ::= ID",
- /* 114 */ "value ::= function",
- /* 115 */ "value ::= OPENP expr CLOSEP",
- /* 116 */ "value ::= SINGLEQUOTESTRING",
- /* 117 */ "value ::= doublequoted_with_quotes",
- /* 118 */ "value ::= ID DOUBLECOLON static_class_access",
- /* 119 */ "value ::= varindexed DOUBLECOLON static_class_access",
- /* 120 */ "value ::= smartytag",
- /* 121 */ "value ::= value modifierlist",
- /* 122 */ "variable ::= varindexed",
- /* 123 */ "variable ::= DOLLAR varvar AT ID",
- /* 124 */ "variable ::= object",
- /* 125 */ "variable ::= HATCH ID HATCH",
- /* 126 */ "variable ::= HATCH variable HATCH",
- /* 127 */ "varindexed ::= DOLLAR varvar arrayindex",
- /* 128 */ "arrayindex ::= arrayindex indexdef",
- /* 129 */ "arrayindex ::=",
- /* 130 */ "indexdef ::= DOT DOLLAR varvar",
- /* 131 */ "indexdef ::= DOT DOLLAR varvar AT ID",
- /* 132 */ "indexdef ::= DOT ID",
- /* 133 */ "indexdef ::= DOT INTEGER",
- /* 134 */ "indexdef ::= DOT LDEL expr RDEL",
- /* 135 */ "indexdef ::= OPENB ID CLOSEB",
- /* 136 */ "indexdef ::= OPENB ID DOT ID CLOSEB",
- /* 137 */ "indexdef ::= OPENB expr CLOSEB",
- /* 138 */ "indexdef ::= OPENB CLOSEB",
- /* 139 */ "varvar ::= varvarele",
- /* 140 */ "varvar ::= varvar varvarele",
- /* 141 */ "varvarele ::= ID",
- /* 142 */ "varvarele ::= LDEL expr RDEL",
- /* 143 */ "object ::= varindexed objectchain",
- /* 144 */ "objectchain ::= objectelement",
- /* 145 */ "objectchain ::= objectchain objectelement",
- /* 146 */ "objectelement ::= PTR ID arrayindex",
- /* 147 */ "objectelement ::= PTR DOLLAR varvar arrayindex",
- /* 148 */ "objectelement ::= PTR LDEL expr RDEL arrayindex",
- /* 149 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
- /* 150 */ "objectelement ::= PTR method",
- /* 151 */ "function ::= ID OPENP params CLOSEP",
- /* 152 */ "method ::= ID OPENP params CLOSEP",
- /* 153 */ "method ::= DOLLAR ID OPENP params CLOSEP",
- /* 154 */ "params ::= params COMMA expr",
- /* 155 */ "params ::= expr",
- /* 156 */ "params ::=",
- /* 157 */ "modifierlist ::= modifierlist modifier modparameters",
- /* 158 */ "modifierlist ::= modifier modparameters",
- /* 159 */ "modifier ::= VERT AT ID",
- /* 160 */ "modifier ::= VERT ID",
- /* 161 */ "modparameters ::= modparameters modparameter",
- /* 162 */ "modparameters ::=",
- /* 163 */ "modparameter ::= COLON value",
- /* 164 */ "modparameter ::= COLON array",
- /* 165 */ "static_class_access ::= method",
- /* 166 */ "static_class_access ::= method objectchain",
- /* 167 */ "static_class_access ::= ID",
- /* 168 */ "static_class_access ::= DOLLAR ID arrayindex",
- /* 169 */ "static_class_access ::= DOLLAR ID arrayindex objectchain",
- /* 170 */ "ifcond ::= EQUALS",
- /* 171 */ "ifcond ::= NOTEQUALS",
- /* 172 */ "ifcond ::= GREATERTHAN",
- /* 173 */ "ifcond ::= LESSTHAN",
- /* 174 */ "ifcond ::= GREATEREQUAL",
- /* 175 */ "ifcond ::= LESSEQUAL",
- /* 176 */ "ifcond ::= IDENTITY",
- /* 177 */ "ifcond ::= NONEIDENTITY",
- /* 178 */ "ifcond ::= MOD",
- /* 179 */ "lop ::= LAND",
- /* 180 */ "lop ::= LOR",
- /* 181 */ "lop ::= LXOR",
- /* 182 */ "array ::= OPENB arrayelements CLOSEB",
- /* 183 */ "arrayelements ::= arrayelement",
- /* 184 */ "arrayelements ::= arrayelements COMMA arrayelement",
- /* 185 */ "arrayelements ::=",
- /* 186 */ "arrayelement ::= value APTR expr",
- /* 187 */ "arrayelement ::= ID APTR expr",
- /* 188 */ "arrayelement ::= expr",
- /* 189 */ "doublequoted_with_quotes ::= QUOTE QUOTE",
- /* 190 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
- /* 191 */ "doublequoted ::= doublequoted doublequotedcontent",
- /* 192 */ "doublequoted ::= doublequotedcontent",
- /* 193 */ "doublequotedcontent ::= BACKTICK variable BACKTICK",
- /* 194 */ "doublequotedcontent ::= BACKTICK expr BACKTICK",
- /* 195 */ "doublequotedcontent ::= DOLLARID",
- /* 196 */ "doublequotedcontent ::= LDEL variable RDEL",
- /* 197 */ "doublequotedcontent ::= LDEL expr RDEL",
- /* 198 */ "doublequotedcontent ::= smartytag",
- /* 199 */ "doublequotedcontent ::= TEXT",
- /* 200 */ "optspace ::= SPACE",
- /* 201 */ "optspace ::=",
+ public static $yyRuleName = array(
+ /* 0 */
+ "start ::= template",
+ /* 1 */
+ "template ::= template_element",
+ /* 2 */
+ "template ::= template template_element",
+ /* 3 */
+ "template ::=",
+ /* 4 */
+ "template_element ::= smartytag RDEL",
+ /* 5 */
+ "template_element ::= COMMENT",
+ /* 6 */
+ "template_element ::= literal",
+ /* 7 */
+ "template_element ::= PHPSTARTTAG",
+ /* 8 */
+ "template_element ::= PHPENDTAG",
+ /* 9 */
+ "template_element ::= PHPENDSCRIPT",
+ /* 10 */
+ "template_element ::= ASPSTARTTAG",
+ /* 11 */
+ "template_element ::= ASPENDTAG",
+ /* 12 */
+ "template_element ::= XMLTAG",
+ /* 13 */
+ "template_element ::= TEXT",
+ /* 14 */
+ "template_element ::= STRIPON",
+ /* 15 */
+ "template_element ::= STRIPOFF",
+ /* 16 */
+ "template_element ::= BLOCKSOURCE",
+ /* 17 */
+ "literal ::= LITERALSTART LITERALEND",
+ /* 18 */
+ "literal ::= LITERALSTART literal_elements LITERALEND",
+ /* 19 */
+ "literal_elements ::= literal_elements literal_element",
+ /* 20 */
+ "literal_elements ::=",
+ /* 21 */
+ "literal_element ::= literal",
+ /* 22 */
+ "literal_element ::= LITERAL",
+ /* 23 */
+ "smartytag ::= LDEL value",
+ /* 24 */
+ "smartytag ::= LDEL value modifierlist attributes",
+ /* 25 */
+ "smartytag ::= LDEL value attributes",
+ /* 26 */
+ "smartytag ::= LDEL expr modifierlist attributes",
+ /* 27 */
+ "smartytag ::= LDEL expr attributes",
+ /* 28 */
+ "smartytag ::= LDEL DOLLAR ID EQUAL value",
+ /* 29 */
+ "smartytag ::= LDEL DOLLAR ID EQUAL expr",
+ /* 30 */
+ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes",
+ /* 31 */
+ "smartytag ::= LDEL varindexed EQUAL expr attributes",
+ /* 32 */
+ "smartytag ::= LDEL ID attributes",
+ /* 33 */
+ "smartytag ::= LDEL ID",
+ /* 34 */
+ "smartytag ::= LDEL ID PTR ID attributes",
+ /* 35 */
+ "smartytag ::= LDEL ID modifierlist attributes",
+ /* 36 */
+ "smartytag ::= LDEL ID PTR ID modifierlist attributes",
+ /* 37 */
+ "smartytag ::= LDELIF expr",
+ /* 38 */
+ "smartytag ::= LDELIF expr attributes",
+ /* 39 */
+ "smartytag ::= LDELIF statement",
+ /* 40 */
+ "smartytag ::= LDELIF statement attributes",
+ /* 41 */
+ "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes",
+ /* 42 */
+ "foraction ::= EQUAL expr",
+ /* 43 */
+ "foraction ::= INCDEC",
+ /* 44 */
+ "smartytag ::= LDELFOR statement TO expr attributes",
+ /* 45 */
+ "smartytag ::= LDELFOR statement TO expr STEP expr attributes",
+ /* 46 */
+ "smartytag ::= LDELFOREACH attributes",
+ /* 47 */
+ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes",
+ /* 48 */
+ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes",
+ /* 49 */
+ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes",
+ /* 50 */
+ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes",
+ /* 51 */
+ "smartytag ::= LDELSETFILTER ID modparameters",
+ /* 52 */
+ "smartytag ::= LDELSETFILTER ID modparameters modifierlist",
+ /* 53 */
+ "smartytag ::= LDEL SMARTYBLOCKCHILDPARENT",
+ /* 54 */
+ "smartytag ::= LDELSLASH ID",
+ /* 55 */
+ "smartytag ::= LDELSLASH ID modifierlist",
+ /* 56 */
+ "smartytag ::= LDELSLASH ID PTR ID",
+ /* 57 */
+ "smartytag ::= LDELSLASH ID PTR ID modifierlist",
+ /* 58 */
+ "attributes ::= attributes attribute",
+ /* 59 */
+ "attributes ::= attribute",
+ /* 60 */
+ "attributes ::=",
+ /* 61 */
+ "attribute ::= SPACE ID EQUAL ID",
+ /* 62 */
+ "attribute ::= ATTR expr",
+ /* 63 */
+ "attribute ::= ATTR value",
+ /* 64 */
+ "attribute ::= SPACE ID",
+ /* 65 */
+ "attribute ::= SPACE expr",
+ /* 66 */
+ "attribute ::= SPACE value",
+ /* 67 */
+ "attribute ::= SPACE INTEGER EQUAL expr",
+ /* 68 */
+ "statements ::= statement",
+ /* 69 */
+ "statements ::= statements COMMA statement",
+ /* 70 */
+ "statement ::= DOLLAR varvar EQUAL expr",
+ /* 71 */
+ "statement ::= varindexed EQUAL expr",
+ /* 72 */
+ "statement ::= OPENP statement CLOSEP",
+ /* 73 */
+ "expr ::= value",
+ /* 74 */
+ "expr ::= ternary",
+ /* 75 */
+ "expr ::= DOLLAR ID COLON ID",
+ /* 76 */
+ "expr ::= expr MATH value",
+ /* 77 */
+ "expr ::= expr UNIMATH value",
+ /* 78 */
+ "expr ::= expr ANDSYM value",
+ /* 79 */
+ "expr ::= array",
+ /* 80 */
+ "expr ::= expr modifierlist",
+ /* 81 */
+ "expr ::= expr ifcond expr",
+ /* 82 */
+ "expr ::= expr ISIN array",
+ /* 83 */
+ "expr ::= expr ISIN value",
+ /* 84 */
+ "expr ::= expr lop expr",
+ /* 85 */
+ "expr ::= expr ISDIVBY expr",
+ /* 86 */
+ "expr ::= expr ISNOTDIVBY expr",
+ /* 87 */
+ "expr ::= expr ISEVEN",
+ /* 88 */
+ "expr ::= expr ISNOTEVEN",
+ /* 89 */
+ "expr ::= expr ISEVENBY expr",
+ /* 90 */
+ "expr ::= expr ISNOTEVENBY expr",
+ /* 91 */
+ "expr ::= expr ISODD",
+ /* 92 */
+ "expr ::= expr ISNOTODD",
+ /* 93 */
+ "expr ::= expr ISODDBY expr",
+ /* 94 */
+ "expr ::= expr ISNOTODDBY expr",
+ /* 95 */
+ "expr ::= value INSTANCEOF ID",
+ /* 96 */
+ "expr ::= value INSTANCEOF value",
+ /* 97 */
+ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
+ /* 98 */
+ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
+ /* 99 */
+ "value ::= variable",
+ /* 100 */
+ "value ::= UNIMATH value",
+ /* 101 */
+ "value ::= NOT value",
+ /* 102 */
+ "value ::= TYPECAST value",
+ /* 103 */
+ "value ::= variable INCDEC",
+ /* 104 */
+ "value ::= HEX",
+ /* 105 */
+ "value ::= INTEGER",
+ /* 106 */
+ "value ::= INTEGER DOT INTEGER",
+ /* 107 */
+ "value ::= INTEGER DOT",
+ /* 108 */
+ "value ::= DOT INTEGER",
+ /* 109 */
+ "value ::= ID",
+ /* 110 */
+ "value ::= function",
+ /* 111 */
+ "value ::= OPENP expr CLOSEP",
+ /* 112 */
+ "value ::= SINGLEQUOTESTRING",
+ /* 113 */
+ "value ::= doublequoted_with_quotes",
+ /* 114 */
+ "value ::= ID DOUBLECOLON static_class_access",
+ /* 115 */
+ "value ::= varindexed DOUBLECOLON static_class_access",
+ /* 116 */
+ "value ::= smartytag RDEL",
+ /* 117 */
+ "value ::= value modifierlist",
+ /* 118 */
+ "variable ::= varindexed",
+ /* 119 */
+ "variable ::= DOLLAR varvar AT ID",
+ /* 120 */
+ "variable ::= object",
+ /* 121 */
+ "variable ::= HATCH ID HATCH",
+ /* 122 */
+ "variable ::= HATCH ID HATCH arrayindex",
+ /* 123 */
+ "variable ::= HATCH variable HATCH",
+ /* 124 */
+ "variable ::= HATCH variable HATCH arrayindex",
+ /* 125 */
+ "varindexed ::= DOLLAR varvar arrayindex",
+ /* 126 */
+ "arrayindex ::= arrayindex indexdef",
+ /* 127 */
+ "arrayindex ::=",
+ /* 128 */
+ "indexdef ::= DOT DOLLAR varvar",
+ /* 129 */
+ "indexdef ::= DOT DOLLAR varvar AT ID",
+ /* 130 */
+ "indexdef ::= DOT ID",
+ /* 131 */
+ "indexdef ::= DOT INTEGER",
+ /* 132 */
+ "indexdef ::= DOT LDEL expr RDEL",
+ /* 133 */
+ "indexdef ::= OPENB ID CLOSEB",
+ /* 134 */
+ "indexdef ::= OPENB ID DOT ID CLOSEB",
+ /* 135 */
+ "indexdef ::= OPENB expr CLOSEB",
+ /* 136 */
+ "indexdef ::= OPENB CLOSEB",
+ /* 137 */
+ "varvar ::= varvarele",
+ /* 138 */
+ "varvar ::= varvar varvarele",
+ /* 139 */
+ "varvarele ::= ID",
+ /* 140 */
+ "varvarele ::= LDEL expr RDEL",
+ /* 141 */
+ "object ::= varindexed objectchain",
+ /* 142 */
+ "objectchain ::= objectelement",
+ /* 143 */
+ "objectchain ::= objectchain objectelement",
+ /* 144 */
+ "objectelement ::= PTR ID arrayindex",
+ /* 145 */
+ "objectelement ::= PTR DOLLAR varvar arrayindex",
+ /* 146 */
+ "objectelement ::= PTR LDEL expr RDEL arrayindex",
+ /* 147 */
+ "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
+ /* 148 */
+ "objectelement ::= PTR method",
+ /* 149 */
+ "function ::= ID OPENP params CLOSEP",
+ /* 150 */
+ "method ::= ID OPENP params CLOSEP",
+ /* 151 */
+ "method ::= DOLLAR ID OPENP params CLOSEP",
+ /* 152 */
+ "params ::= params COMMA expr",
+ /* 153 */
+ "params ::= expr",
+ /* 154 */
+ "params ::=",
+ /* 155 */
+ "modifierlist ::= modifierlist modifier modparameters",
+ /* 156 */
+ "modifierlist ::= modifier modparameters",
+ /* 157 */
+ "modifier ::= VERT AT ID",
+ /* 158 */
+ "modifier ::= VERT ID",
+ /* 159 */
+ "modparameters ::= modparameters modparameter",
+ /* 160 */
+ "modparameters ::=",
+ /* 161 */
+ "modparameter ::= COLON value",
+ /* 162 */
+ "modparameter ::= COLON array",
+ /* 163 */
+ "static_class_access ::= method",
+ /* 164 */
+ "static_class_access ::= method objectchain",
+ /* 165 */
+ "static_class_access ::= ID",
+ /* 166 */
+ "static_class_access ::= DOLLAR ID arrayindex",
+ /* 167 */
+ "static_class_access ::= DOLLAR ID arrayindex objectchain",
+ /* 168 */
+ "ifcond ::= EQUALS",
+ /* 169 */
+ "ifcond ::= NOTEQUALS",
+ /* 170 */
+ "ifcond ::= GREATERTHAN",
+ /* 171 */
+ "ifcond ::= LESSTHAN",
+ /* 172 */
+ "ifcond ::= GREATEREQUAL",
+ /* 173 */
+ "ifcond ::= LESSEQUAL",
+ /* 174 */
+ "ifcond ::= IDENTITY",
+ /* 175 */
+ "ifcond ::= NONEIDENTITY",
+ /* 176 */
+ "ifcond ::= MOD",
+ /* 177 */
+ "lop ::= LAND",
+ /* 178 */
+ "lop ::= LOR",
+ /* 179 */
+ "lop ::= LXOR",
+ /* 180 */
+ "array ::= OPENB arrayelements CLOSEB",
+ /* 181 */
+ "arrayelements ::= arrayelement",
+ /* 182 */
+ "arrayelements ::= arrayelements COMMA arrayelement",
+ /* 183 */
+ "arrayelements ::=",
+ /* 184 */
+ "arrayelement ::= value APTR expr",
+ /* 185 */
+ "arrayelement ::= ID APTR expr",
+ /* 186 */
+ "arrayelement ::= expr",
+ /* 187 */
+ "doublequoted_with_quotes ::= QUOTE QUOTE",
+ /* 188 */
+ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
+ /* 189 */
+ "doublequoted ::= doublequoted doublequotedcontent",
+ /* 190 */
+ "doublequoted ::= doublequotedcontent",
+ /* 191 */
+ "doublequotedcontent ::= BACKTICK variable BACKTICK",
+ /* 192 */
+ "doublequotedcontent ::= BACKTICK expr BACKTICK",
+ /* 193 */
+ "doublequotedcontent ::= DOLLARID",
+ /* 194 */
+ "doublequotedcontent ::= LDEL variable RDEL",
+ /* 195 */
+ "doublequotedcontent ::= LDEL expr RDEL",
+ /* 196 */
+ "doublequotedcontent ::= smartytag RDEL",
+ /* 197 */
+ "doublequotedcontent ::= TEXT",
+ /* 198 */
+ "optspace ::= SPACE",
+ /* 199 */
+ "optspace ::=",
);
- function tokenName($tokenType)
+ public function tokenName($tokenType)
{
if ($tokenType === 0) {
return 'End of Input';
@@ -1489,41 +2625,43 @@ static public $yy_action = array(
}
}
- static function yy_destructor($yymajor, $yypminor)
+ public static function yy_destructor($yymajor, $yypminor)
{
switch ($yymajor) {
- default: break; /* If no destructor action specified: do nothing */
+ default:
+ break; /* If no destructor action specified: do nothing */
}
}
- function yy_pop_parser_stack()
+ public function yy_pop_parser_stack()
{
if (!count($this->yystack)) {
return;
}
$yytos = array_pop($this->yystack);
- if (self::$yyTraceFILE && $this->yyidx >= 0) {
- fwrite(self::$yyTraceFILE,
- self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
- "\n");
+ if ($this->yyTraceFILE && $this->yyidx >= 0) {
+ fwrite($this->yyTraceFILE,
+ $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
+ "\n");
}
$yymajor = $yytos->major;
self::yy_destructor($yymajor, $yytos->minor);
- $this->yyidx--;
+ $this->yyidx --;
+
return $yymajor;
}
- function __destruct()
+ public function __destruct()
{
while ($this->yystack !== Array()) {
$this->yy_pop_parser_stack();
}
- if (is_resource(self::$yyTraceFILE)) {
- fclose(self::$yyTraceFILE);
+ if (is_resource($this->yyTraceFILE)) {
+ fclose($this->yyTraceFILE);
}
}
- function yy_get_expected_tokens($token)
+ public function yy_get_expected_tokens($token)
{
$state = $this->yystack[$this->yyidx]->stateno;
$expected = self::$yyExpectedTokens[$state];
@@ -1538,7 +2676,7 @@ static public $yy_action = array(
// reduce action
$done = 0;
do {
- if ($done++ == 100) {
+ if ($done ++ == 100) {
$this->yyidx = $yyidx;
$this->yystack = $stack;
// too much recursion prevents proper detection
@@ -1551,17 +2689,18 @@ static public $yy_action = array(
$this->yystack[$this->yyidx]->stateno,
self::$yyRuleInfo[$yyruleno]['lhs']);
if (isset(self::$yyExpectedTokens[$nextstate])) {
- $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
- if (in_array($token,
- self::$yyExpectedTokens[$nextstate], true)) {
+ $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
+ if (in_array($token,
+ self::$yyExpectedTokens[$nextstate], true)) {
$this->yyidx = $yyidx;
$this->yystack = $stack;
+
return array_unique($expected);
}
}
if ($nextstate < self::YYNSTATE) {
// we need to shift a non-terminal
- $this->yyidx++;
+ $this->yyidx ++;
$x = new TP_yyStackEntry;
$x->stateno = $nextstate;
$x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
@@ -1586,12 +2725,13 @@ static public $yy_action = array(
}
break;
} while (true);
- $this->yyidx = $yyidx;
- $this->yystack = $stack;
+ $this->yyidx = $yyidx;
+ $this->yystack = $stack;
+
return array_unique($expected);
}
- function yy_is_expected_token($token)
+ public function yy_is_expected_token($token)
{
if ($token === 0) {
return true; // 0 is not part of this
@@ -1608,7 +2748,7 @@ static public $yy_action = array(
// reduce action
$done = 0;
do {
- if ($done++ == 100) {
+ if ($done ++ == 100) {
$this->yyidx = $yyidx;
$this->yystack = $stack;
// too much recursion prevents proper detection
@@ -1621,14 +2761,16 @@ static public $yy_action = array(
$this->yystack[$this->yyidx]->stateno,
self::$yyRuleInfo[$yyruleno]['lhs']);
if (isset(self::$yyExpectedTokens[$nextstate]) &&
- in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
+ in_array($token, self::$yyExpectedTokens[$nextstate], true)
+ ) {
$this->yyidx = $yyidx;
$this->yystack = $stack;
+
return true;
}
if ($nextstate < self::YYNSTATE) {
// we need to shift a non-terminal
- $this->yyidx++;
+ $this->yyidx ++;
$x = new TP_yyStackEntry;
$x->stateno = $nextstate;
$x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
@@ -1659,10 +2801,11 @@ static public $yy_action = array(
} while (true);
$this->yyidx = $yyidx;
$this->yystack = $stack;
+
return true;
}
- function yy_find_shift_action($iLookAhead)
+ public function yy_find_shift_action($iLookAhead)
{
$stateno = $this->yystack[$this->yyidx]->stateno;
@@ -1680,23 +2823,27 @@ static public $yy_action = array(
}
$i += $iLookAhead;
if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
- self::$yy_lookahead[$i] != $iLookAhead) {
+ self::$yy_lookahead[$i] != $iLookAhead
+ ) {
if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
- && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
- if (self::$yyTraceFILE) {
- fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
+ && ($iFallback = self::$yyFallback[$iLookAhead]) != 0
+ ) {
+ if ($this->yyTraceFILE) {
+ fwrite($this->yyTraceFILE, $this->yyTracePrompt . "FALLBACK " .
$this->yyTokenName[$iLookAhead] . " => " .
$this->yyTokenName[$iFallback] . "\n");
}
+
return $this->yy_find_shift_action($iFallback);
}
+
return self::$yy_default[$stateno];
} else {
return self::$yy_action[$i];
}
}
- function yy_find_reduce_action($stateno, $iLookAhead)
+ public function yy_find_reduce_action($stateno, $iLookAhead)
{
/* $stateno = $this->yystack[$this->yyidx]->stateno; */
@@ -1712,29 +2859,31 @@ static public $yy_action = array(
}
$i += $iLookAhead;
if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
- self::$yy_lookahead[$i] != $iLookAhead) {
+ self::$yy_lookahead[$i] != $iLookAhead
+ ) {
return self::$yy_default[$stateno];
} else {
return self::$yy_action[$i];
}
}
- function yy_shift($yyNewState, $yyMajor, $yypMinor)
+ public function yy_shift($yyNewState, $yyMajor, $yypMinor)
{
- $this->yyidx++;
+ $this->yyidx ++;
if ($this->yyidx >= self::YYSTACKDEPTH) {
- $this->yyidx--;
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
+ $this->yyidx --;
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
}
while ($this->yyidx >= 0) {
$this->yy_pop_parser_stack();
}
-#line 84 "smarty_internal_templateparser.y"
+ #line 82 "smarty_internal_templateparser.y"
+
+ $this->internalError = true;
+ $this->compiler->trigger_template_error("Stack overflow in template parser");
+ #line 1721 "smarty_internal_templateparser.php"
- $this->internalError = true;
- $this->compiler->trigger_template_error("Stack overflow in template parser");
-#line 1733 "smarty_internal_templateparser.php"
return;
}
$yytos = new TP_yyStackEntry;
@@ -1742,377 +2891,375 @@ static public $yy_action = array(
$yytos->major = $yyMajor;
$yytos->minor = $yypMinor;
array_push($this->yystack, $yytos);
- if (self::$yyTraceFILE && $this->yyidx > 0) {
- fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
- $yyNewState);
- fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
- for($i = 1; $i <= $this->yyidx; $i++) {
- fprintf(self::$yyTraceFILE, " %s",
- $this->yyTokenName[$this->yystack[$i]->major]);
+ if ($this->yyTraceFILE && $this->yyidx > 0) {
+ fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt,
+ $yyNewState);
+ fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
+ for ($i = 1; $i <= $this->yyidx; $i ++) {
+ fprintf($this->yyTraceFILE, " %s",
+ $this->yyTokenName[$this->yystack[$i]->major]);
}
- fwrite(self::$yyTraceFILE,"\n");
+ fwrite($this->yyTraceFILE, "\n");
}
}
- static public $yyRuleInfo = array(
- array( 'lhs' => 82, 'rhs' => 1 ),
- array( 'lhs' => 83, 'rhs' => 1 ),
- array( 'lhs' => 83, 'rhs' => 2 ),
- array( 'lhs' => 83, 'rhs' => 0 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 84, 'rhs' => 1 ),
- array( 'lhs' => 86, 'rhs' => 2 ),
- array( 'lhs' => 86, 'rhs' => 3 ),
- array( 'lhs' => 87, 'rhs' => 2 ),
- array( 'lhs' => 87, 'rhs' => 0 ),
- array( 'lhs' => 88, 'rhs' => 1 ),
- array( 'lhs' => 88, 'rhs' => 1 ),
- array( 'lhs' => 88, 'rhs' => 1 ),
- array( 'lhs' => 88, 'rhs' => 1 ),
- array( 'lhs' => 88, 'rhs' => 1 ),
- array( 'lhs' => 88, 'rhs' => 1 ),
- array( 'lhs' => 88, 'rhs' => 1 ),
- array( 'lhs' => 85, 'rhs' => 3 ),
- array( 'lhs' => 85, 'rhs' => 5 ),
- array( 'lhs' => 85, 'rhs' => 4 ),
- array( 'lhs' => 85, 'rhs' => 5 ),
- array( 'lhs' => 85, 'rhs' => 4 ),
- array( 'lhs' => 85, 'rhs' => 6 ),
- array( 'lhs' => 85, 'rhs' => 6 ),
- array( 'lhs' => 85, 'rhs' => 7 ),
- array( 'lhs' => 85, 'rhs' => 6 ),
- array( 'lhs' => 85, 'rhs' => 4 ),
- array( 'lhs' => 85, 'rhs' => 3 ),
- array( 'lhs' => 85, 'rhs' => 6 ),
- array( 'lhs' => 85, 'rhs' => 5 ),
- array( 'lhs' => 85, 'rhs' => 7 ),
- array( 'lhs' => 85, 'rhs' => 3 ),
- array( 'lhs' => 85, 'rhs' => 4 ),
- array( 'lhs' => 85, 'rhs' => 3 ),
- array( 'lhs' => 85, 'rhs' => 4 ),
- array( 'lhs' => 85, 'rhs' => 12 ),
- array( 'lhs' => 98, 'rhs' => 2 ),
- array( 'lhs' => 98, 'rhs' => 1 ),
- array( 'lhs' => 85, 'rhs' => 6 ),
- array( 'lhs' => 85, 'rhs' => 8 ),
- array( 'lhs' => 85, 'rhs' => 3 ),
- array( 'lhs' => 85, 'rhs' => 8 ),
- array( 'lhs' => 85, 'rhs' => 11 ),
- array( 'lhs' => 85, 'rhs' => 8 ),
- array( 'lhs' => 85, 'rhs' => 11 ),
- array( 'lhs' => 85, 'rhs' => 4 ),
- array( 'lhs' => 85, 'rhs' => 5 ),
- array( 'lhs' => 85, 'rhs' => 1 ),
- array( 'lhs' => 85, 'rhs' => 3 ),
- array( 'lhs' => 85, 'rhs' => 4 ),
- array( 'lhs' => 85, 'rhs' => 5 ),
- array( 'lhs' => 85, 'rhs' => 6 ),
- array( 'lhs' => 91, 'rhs' => 2 ),
- array( 'lhs' => 91, 'rhs' => 1 ),
- array( 'lhs' => 91, 'rhs' => 0 ),
- array( 'lhs' => 100, 'rhs' => 4 ),
- array( 'lhs' => 100, 'rhs' => 2 ),
- array( 'lhs' => 100, 'rhs' => 2 ),
- array( 'lhs' => 100, 'rhs' => 2 ),
- array( 'lhs' => 100, 'rhs' => 2 ),
- array( 'lhs' => 100, 'rhs' => 2 ),
- array( 'lhs' => 100, 'rhs' => 4 ),
- array( 'lhs' => 95, 'rhs' => 1 ),
- array( 'lhs' => 95, 'rhs' => 3 ),
- array( 'lhs' => 94, 'rhs' => 4 ),
- array( 'lhs' => 94, 'rhs' => 3 ),
- array( 'lhs' => 94, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 1 ),
- array( 'lhs' => 92, 'rhs' => 1 ),
- array( 'lhs' => 92, 'rhs' => 4 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 1 ),
- array( 'lhs' => 92, 'rhs' => 2 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 2 ),
- array( 'lhs' => 92, 'rhs' => 2 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 2 ),
- array( 'lhs' => 92, 'rhs' => 2 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 92, 'rhs' => 3 ),
- array( 'lhs' => 101, 'rhs' => 8 ),
- array( 'lhs' => 101, 'rhs' => 7 ),
- array( 'lhs' => 89, 'rhs' => 1 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 1 ),
- array( 'lhs' => 89, 'rhs' => 1 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 1 ),
- array( 'lhs' => 89, 'rhs' => 1 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 1 ),
- array( 'lhs' => 89, 'rhs' => 1 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 1 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 105, 'rhs' => 1 ),
- array( 'lhs' => 105, 'rhs' => 4 ),
- array( 'lhs' => 105, 'rhs' => 1 ),
- array( 'lhs' => 105, 'rhs' => 3 ),
- array( 'lhs' => 105, 'rhs' => 3 ),
- array( 'lhs' => 93, 'rhs' => 3 ),
- array( 'lhs' => 110, 'rhs' => 2 ),
- array( 'lhs' => 110, 'rhs' => 0 ),
- array( 'lhs' => 111, 'rhs' => 3 ),
- array( 'lhs' => 111, 'rhs' => 5 ),
- array( 'lhs' => 111, 'rhs' => 2 ),
- array( 'lhs' => 111, 'rhs' => 2 ),
- array( 'lhs' => 111, 'rhs' => 4 ),
- array( 'lhs' => 111, 'rhs' => 3 ),
- array( 'lhs' => 111, 'rhs' => 5 ),
- array( 'lhs' => 111, 'rhs' => 3 ),
- array( 'lhs' => 111, 'rhs' => 2 ),
- array( 'lhs' => 97, 'rhs' => 1 ),
- array( 'lhs' => 97, 'rhs' => 2 ),
- array( 'lhs' => 112, 'rhs' => 1 ),
- array( 'lhs' => 112, 'rhs' => 3 ),
- array( 'lhs' => 109, 'rhs' => 2 ),
- array( 'lhs' => 113, 'rhs' => 1 ),
- array( 'lhs' => 113, 'rhs' => 2 ),
- array( 'lhs' => 114, 'rhs' => 3 ),
- array( 'lhs' => 114, 'rhs' => 4 ),
- array( 'lhs' => 114, 'rhs' => 5 ),
- array( 'lhs' => 114, 'rhs' => 6 ),
- array( 'lhs' => 114, 'rhs' => 2 ),
- array( 'lhs' => 106, 'rhs' => 4 ),
- array( 'lhs' => 115, 'rhs' => 4 ),
- array( 'lhs' => 115, 'rhs' => 5 ),
- array( 'lhs' => 116, 'rhs' => 3 ),
- array( 'lhs' => 116, 'rhs' => 1 ),
- array( 'lhs' => 116, 'rhs' => 0 ),
- array( 'lhs' => 90, 'rhs' => 3 ),
- array( 'lhs' => 90, 'rhs' => 2 ),
- array( 'lhs' => 117, 'rhs' => 3 ),
- array( 'lhs' => 117, 'rhs' => 2 ),
- array( 'lhs' => 99, 'rhs' => 2 ),
- array( 'lhs' => 99, 'rhs' => 0 ),
- array( 'lhs' => 118, 'rhs' => 2 ),
- array( 'lhs' => 118, 'rhs' => 2 ),
- array( 'lhs' => 108, 'rhs' => 1 ),
- array( 'lhs' => 108, 'rhs' => 2 ),
- array( 'lhs' => 108, 'rhs' => 1 ),
- array( 'lhs' => 108, 'rhs' => 3 ),
- array( 'lhs' => 108, 'rhs' => 4 ),
- array( 'lhs' => 103, 'rhs' => 1 ),
- array( 'lhs' => 103, 'rhs' => 1 ),
- array( 'lhs' => 103, 'rhs' => 1 ),
- array( 'lhs' => 103, 'rhs' => 1 ),
- array( 'lhs' => 103, 'rhs' => 1 ),
- array( 'lhs' => 103, 'rhs' => 1 ),
- array( 'lhs' => 103, 'rhs' => 1 ),
- array( 'lhs' => 103, 'rhs' => 1 ),
- array( 'lhs' => 103, 'rhs' => 1 ),
- array( 'lhs' => 104, 'rhs' => 1 ),
- array( 'lhs' => 104, 'rhs' => 1 ),
- array( 'lhs' => 104, 'rhs' => 1 ),
- array( 'lhs' => 102, 'rhs' => 3 ),
- array( 'lhs' => 119, 'rhs' => 1 ),
- array( 'lhs' => 119, 'rhs' => 3 ),
- array( 'lhs' => 119, 'rhs' => 0 ),
- array( 'lhs' => 120, 'rhs' => 3 ),
- array( 'lhs' => 120, 'rhs' => 3 ),
- array( 'lhs' => 120, 'rhs' => 1 ),
- array( 'lhs' => 107, 'rhs' => 2 ),
- array( 'lhs' => 107, 'rhs' => 3 ),
- array( 'lhs' => 121, 'rhs' => 2 ),
- array( 'lhs' => 121, 'rhs' => 1 ),
- array( 'lhs' => 122, 'rhs' => 3 ),
- array( 'lhs' => 122, 'rhs' => 3 ),
- array( 'lhs' => 122, 'rhs' => 1 ),
- array( 'lhs' => 122, 'rhs' => 3 ),
- array( 'lhs' => 122, 'rhs' => 3 ),
- array( 'lhs' => 122, 'rhs' => 1 ),
- array( 'lhs' => 122, 'rhs' => 1 ),
- array( 'lhs' => 96, 'rhs' => 1 ),
- array( 'lhs' => 96, 'rhs' => 0 ),
+ public static $yyRuleInfo = array(
+ array('lhs' => 83, 'rhs' => 1),
+ array('lhs' => 84, 'rhs' => 1),
+ array('lhs' => 84, 'rhs' => 2),
+ array('lhs' => 84, 'rhs' => 0),
+ array('lhs' => 85, 'rhs' => 2),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 85, 'rhs' => 1),
+ array('lhs' => 87, 'rhs' => 2),
+ array('lhs' => 87, 'rhs' => 3),
+ array('lhs' => 88, 'rhs' => 2),
+ array('lhs' => 88, 'rhs' => 0),
+ array('lhs' => 89, 'rhs' => 1),
+ array('lhs' => 89, 'rhs' => 1),
+ array('lhs' => 86, 'rhs' => 2),
+ array('lhs' => 86, 'rhs' => 4),
+ array('lhs' => 86, 'rhs' => 3),
+ array('lhs' => 86, 'rhs' => 4),
+ array('lhs' => 86, 'rhs' => 3),
+ array('lhs' => 86, 'rhs' => 5),
+ array('lhs' => 86, 'rhs' => 5),
+ array('lhs' => 86, 'rhs' => 6),
+ array('lhs' => 86, 'rhs' => 5),
+ array('lhs' => 86, 'rhs' => 3),
+ array('lhs' => 86, 'rhs' => 2),
+ array('lhs' => 86, 'rhs' => 5),
+ array('lhs' => 86, 'rhs' => 4),
+ array('lhs' => 86, 'rhs' => 6),
+ array('lhs' => 86, 'rhs' => 2),
+ array('lhs' => 86, 'rhs' => 3),
+ array('lhs' => 86, 'rhs' => 2),
+ array('lhs' => 86, 'rhs' => 3),
+ array('lhs' => 86, 'rhs' => 11),
+ array('lhs' => 99, 'rhs' => 2),
+ array('lhs' => 99, 'rhs' => 1),
+ array('lhs' => 86, 'rhs' => 5),
+ array('lhs' => 86, 'rhs' => 7),
+ array('lhs' => 86, 'rhs' => 2),
+ array('lhs' => 86, 'rhs' => 7),
+ array('lhs' => 86, 'rhs' => 10),
+ array('lhs' => 86, 'rhs' => 7),
+ array('lhs' => 86, 'rhs' => 10),
+ array('lhs' => 86, 'rhs' => 3),
+ array('lhs' => 86, 'rhs' => 4),
+ array('lhs' => 86, 'rhs' => 2),
+ array('lhs' => 86, 'rhs' => 2),
+ array('lhs' => 86, 'rhs' => 3),
+ array('lhs' => 86, 'rhs' => 4),
+ array('lhs' => 86, 'rhs' => 5),
+ array('lhs' => 92, 'rhs' => 2),
+ array('lhs' => 92, 'rhs' => 1),
+ array('lhs' => 92, 'rhs' => 0),
+ array('lhs' => 101, 'rhs' => 4),
+ array('lhs' => 101, 'rhs' => 2),
+ array('lhs' => 101, 'rhs' => 2),
+ array('lhs' => 101, 'rhs' => 2),
+ array('lhs' => 101, 'rhs' => 2),
+ array('lhs' => 101, 'rhs' => 2),
+ array('lhs' => 101, 'rhs' => 4),
+ array('lhs' => 96, 'rhs' => 1),
+ array('lhs' => 96, 'rhs' => 3),
+ array('lhs' => 95, 'rhs' => 4),
+ array('lhs' => 95, 'rhs' => 3),
+ array('lhs' => 95, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 1),
+ array('lhs' => 93, 'rhs' => 1),
+ array('lhs' => 93, 'rhs' => 4),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 1),
+ array('lhs' => 93, 'rhs' => 2),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 2),
+ array('lhs' => 93, 'rhs' => 2),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 2),
+ array('lhs' => 93, 'rhs' => 2),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 93, 'rhs' => 3),
+ array('lhs' => 102, 'rhs' => 8),
+ array('lhs' => 102, 'rhs' => 7),
+ array('lhs' => 90, 'rhs' => 1),
+ array('lhs' => 90, 'rhs' => 2),
+ array('lhs' => 90, 'rhs' => 2),
+ array('lhs' => 90, 'rhs' => 2),
+ array('lhs' => 90, 'rhs' => 2),
+ array('lhs' => 90, 'rhs' => 1),
+ array('lhs' => 90, 'rhs' => 1),
+ array('lhs' => 90, 'rhs' => 3),
+ array('lhs' => 90, 'rhs' => 2),
+ array('lhs' => 90, 'rhs' => 2),
+ array('lhs' => 90, 'rhs' => 1),
+ array('lhs' => 90, 'rhs' => 1),
+ array('lhs' => 90, 'rhs' => 3),
+ array('lhs' => 90, 'rhs' => 1),
+ array('lhs' => 90, 'rhs' => 1),
+ array('lhs' => 90, 'rhs' => 3),
+ array('lhs' => 90, 'rhs' => 3),
+ array('lhs' => 90, 'rhs' => 2),
+ array('lhs' => 90, 'rhs' => 2),
+ array('lhs' => 106, 'rhs' => 1),
+ array('lhs' => 106, 'rhs' => 4),
+ array('lhs' => 106, 'rhs' => 1),
+ array('lhs' => 106, 'rhs' => 3),
+ array('lhs' => 106, 'rhs' => 4),
+ array('lhs' => 106, 'rhs' => 3),
+ array('lhs' => 106, 'rhs' => 4),
+ array('lhs' => 94, 'rhs' => 3),
+ array('lhs' => 111, 'rhs' => 2),
+ array('lhs' => 111, 'rhs' => 0),
+ array('lhs' => 112, 'rhs' => 3),
+ array('lhs' => 112, 'rhs' => 5),
+ array('lhs' => 112, 'rhs' => 2),
+ array('lhs' => 112, 'rhs' => 2),
+ array('lhs' => 112, 'rhs' => 4),
+ array('lhs' => 112, 'rhs' => 3),
+ array('lhs' => 112, 'rhs' => 5),
+ array('lhs' => 112, 'rhs' => 3),
+ array('lhs' => 112, 'rhs' => 2),
+ array('lhs' => 98, 'rhs' => 1),
+ array('lhs' => 98, 'rhs' => 2),
+ array('lhs' => 113, 'rhs' => 1),
+ array('lhs' => 113, 'rhs' => 3),
+ array('lhs' => 110, 'rhs' => 2),
+ array('lhs' => 114, 'rhs' => 1),
+ array('lhs' => 114, 'rhs' => 2),
+ array('lhs' => 115, 'rhs' => 3),
+ array('lhs' => 115, 'rhs' => 4),
+ array('lhs' => 115, 'rhs' => 5),
+ array('lhs' => 115, 'rhs' => 6),
+ array('lhs' => 115, 'rhs' => 2),
+ array('lhs' => 107, 'rhs' => 4),
+ array('lhs' => 116, 'rhs' => 4),
+ array('lhs' => 116, 'rhs' => 5),
+ array('lhs' => 117, 'rhs' => 3),
+ array('lhs' => 117, 'rhs' => 1),
+ array('lhs' => 117, 'rhs' => 0),
+ array('lhs' => 91, 'rhs' => 3),
+ array('lhs' => 91, 'rhs' => 2),
+ array('lhs' => 118, 'rhs' => 3),
+ array('lhs' => 118, 'rhs' => 2),
+ array('lhs' => 100, 'rhs' => 2),
+ array('lhs' => 100, 'rhs' => 0),
+ array('lhs' => 119, 'rhs' => 2),
+ array('lhs' => 119, 'rhs' => 2),
+ array('lhs' => 109, 'rhs' => 1),
+ array('lhs' => 109, 'rhs' => 2),
+ array('lhs' => 109, 'rhs' => 1),
+ array('lhs' => 109, 'rhs' => 3),
+ array('lhs' => 109, 'rhs' => 4),
+ array('lhs' => 104, 'rhs' => 1),
+ array('lhs' => 104, 'rhs' => 1),
+ array('lhs' => 104, 'rhs' => 1),
+ array('lhs' => 104, 'rhs' => 1),
+ array('lhs' => 104, 'rhs' => 1),
+ array('lhs' => 104, 'rhs' => 1),
+ array('lhs' => 104, 'rhs' => 1),
+ array('lhs' => 104, 'rhs' => 1),
+ array('lhs' => 104, 'rhs' => 1),
+ array('lhs' => 105, 'rhs' => 1),
+ array('lhs' => 105, 'rhs' => 1),
+ array('lhs' => 105, 'rhs' => 1),
+ array('lhs' => 103, 'rhs' => 3),
+ array('lhs' => 120, 'rhs' => 1),
+ array('lhs' => 120, 'rhs' => 3),
+ array('lhs' => 120, 'rhs' => 0),
+ array('lhs' => 121, 'rhs' => 3),
+ array('lhs' => 121, 'rhs' => 3),
+ array('lhs' => 121, 'rhs' => 1),
+ array('lhs' => 108, 'rhs' => 2),
+ array('lhs' => 108, 'rhs' => 3),
+ array('lhs' => 122, 'rhs' => 2),
+ array('lhs' => 122, 'rhs' => 1),
+ array('lhs' => 123, 'rhs' => 3),
+ array('lhs' => 123, 'rhs' => 3),
+ array('lhs' => 123, 'rhs' => 1),
+ array('lhs' => 123, 'rhs' => 3),
+ array('lhs' => 123, 'rhs' => 3),
+ array('lhs' => 123, 'rhs' => 2),
+ array('lhs' => 123, 'rhs' => 1),
+ array('lhs' => 97, 'rhs' => 1),
+ array('lhs' => 97, 'rhs' => 0),
);
- static public $yyReduceMap = array(
- 0 => 0,
- 1 => 1,
- 2 => 1,
- 4 => 4,
- 5 => 5,
- 6 => 6,
- 7 => 7,
- 8 => 8,
- 9 => 9,
- 10 => 10,
- 11 => 11,
- 12 => 12,
- 13 => 13,
- 14 => 14,
- 15 => 15,
- 16 => 16,
- 19 => 16,
- 201 => 16,
- 17 => 17,
- 76 => 17,
- 18 => 18,
- 104 => 18,
- 106 => 18,
- 107 => 18,
- 128 => 18,
- 166 => 18,
- 20 => 20,
- 21 => 20,
- 47 => 20,
- 69 => 20,
- 70 => 20,
- 77 => 20,
- 78 => 20,
- 83 => 20,
- 103 => 20,
- 108 => 20,
- 109 => 20,
- 114 => 20,
- 116 => 20,
- 117 => 20,
- 124 => 20,
- 139 => 20,
- 165 => 20,
- 167 => 20,
- 183 => 20,
- 188 => 20,
- 200 => 20,
- 22 => 22,
- 23 => 22,
- 24 => 24,
- 25 => 25,
- 26 => 26,
- 27 => 27,
- 28 => 28,
- 29 => 29,
- 31 => 29,
- 30 => 30,
- 32 => 32,
- 33 => 32,
- 34 => 34,
- 35 => 35,
- 36 => 36,
- 37 => 37,
- 38 => 38,
- 39 => 39,
- 40 => 40,
- 41 => 41,
- 42 => 42,
- 44 => 42,
- 43 => 43,
- 45 => 45,
- 46 => 46,
- 48 => 48,
- 49 => 49,
- 50 => 50,
- 51 => 51,
- 52 => 52,
- 53 => 53,
- 54 => 54,
- 55 => 55,
- 56 => 56,
- 57 => 57,
- 58 => 58,
- 59 => 59,
- 60 => 60,
- 61 => 61,
- 62 => 62,
- 63 => 63,
- 72 => 63,
- 155 => 63,
- 159 => 63,
- 163 => 63,
- 164 => 63,
- 64 => 64,
- 156 => 64,
- 162 => 64,
- 65 => 65,
- 66 => 66,
- 67 => 66,
- 68 => 68,
- 71 => 71,
- 73 => 73,
- 74 => 74,
- 75 => 74,
- 79 => 79,
- 80 => 80,
- 81 => 80,
- 82 => 80,
- 84 => 84,
- 121 => 84,
- 85 => 85,
- 88 => 85,
- 99 => 85,
- 86 => 86,
- 87 => 87,
- 89 => 89,
- 90 => 90,
- 91 => 91,
- 96 => 91,
- 92 => 92,
- 95 => 92,
- 93 => 93,
- 98 => 93,
- 94 => 94,
- 97 => 94,
- 100 => 100,
+ public static $yyReduceMap = array(
+ 0 => 0,
+ 1 => 1,
+ 2 => 2,
+ 4 => 4,
+ 5 => 5,
+ 6 => 6,
+ 7 => 7,
+ 8 => 8,
+ 9 => 9,
+ 10 => 10,
+ 11 => 11,
+ 12 => 12,
+ 13 => 13,
+ 14 => 14,
+ 15 => 15,
+ 16 => 16,
+ 17 => 17,
+ 20 => 17,
+ 199 => 17,
+ 18 => 18,
+ 72 => 18,
+ 19 => 19,
+ 100 => 19,
+ 102 => 19,
+ 103 => 19,
+ 126 => 19,
+ 164 => 19,
+ 21 => 21,
+ 22 => 21,
+ 43 => 21,
+ 65 => 21,
+ 66 => 21,
+ 73 => 21,
+ 74 => 21,
+ 79 => 21,
+ 99 => 21,
+ 104 => 21,
+ 105 => 21,
+ 110 => 21,
+ 112 => 21,
+ 113 => 21,
+ 120 => 21,
+ 137 => 21,
+ 163 => 21,
+ 165 => 21,
+ 181 => 21,
+ 186 => 21,
+ 198 => 21,
+ 23 => 23,
+ 24 => 24,
+ 25 => 25,
+ 27 => 25,
+ 26 => 26,
+ 28 => 28,
+ 29 => 28,
+ 30 => 30,
+ 31 => 31,
+ 32 => 32,
+ 33 => 33,
+ 34 => 34,
+ 35 => 35,
+ 36 => 36,
+ 37 => 37,
+ 38 => 38,
+ 40 => 38,
+ 39 => 39,
+ 41 => 41,
+ 42 => 42,
+ 44 => 44,
+ 45 => 45,
+ 46 => 46,
+ 47 => 47,
+ 49 => 47,
+ 48 => 48,
+ 50 => 48,
+ 51 => 51,
+ 52 => 52,
+ 53 => 53,
+ 54 => 54,
+ 55 => 55,
+ 56 => 56,
+ 57 => 57,
+ 58 => 58,
+ 59 => 59,
+ 68 => 59,
+ 153 => 59,
+ 157 => 59,
+ 161 => 59,
+ 162 => 59,
+ 60 => 60,
+ 154 => 60,
+ 160 => 60,
+ 61 => 61,
+ 62 => 62,
+ 63 => 62,
+ 64 => 64,
+ 67 => 67,
+ 69 => 69,
+ 70 => 70,
+ 71 => 70,
+ 75 => 75,
+ 76 => 76,
+ 77 => 76,
+ 78 => 76,
+ 80 => 80,
+ 117 => 80,
+ 81 => 81,
+ 84 => 81,
+ 95 => 81,
+ 82 => 82,
+ 83 => 83,
+ 85 => 85,
+ 86 => 86,
+ 87 => 87,
+ 92 => 87,
+ 88 => 88,
+ 91 => 88,
+ 89 => 89,
+ 94 => 89,
+ 90 => 90,
+ 93 => 90,
+ 96 => 96,
+ 97 => 97,
+ 98 => 98,
101 => 101,
- 102 => 102,
- 105 => 105,
- 110 => 110,
+ 106 => 106,
+ 107 => 107,
+ 108 => 108,
+ 109 => 109,
111 => 111,
- 112 => 112,
- 113 => 113,
+ 114 => 114,
115 => 115,
+ 116 => 116,
118 => 118,
119 => 119,
- 120 => 120,
+ 121 => 121,
122 => 122,
123 => 123,
+ 124 => 124,
125 => 125,
- 126 => 126,
127 => 127,
+ 183 => 127,
+ 128 => 128,
129 => 129,
- 185 => 129,
130 => 130,
131 => 131,
132 => 132,
+ 135 => 132,
133 => 133,
134 => 134,
- 137 => 134,
- 135 => 135,
136 => 136,
138 => 138,
+ 139 => 139,
140 => 140,
141 => 141,
142 => 142,
@@ -2126,12 +3273,12 @@ static public $yy_action = array(
150 => 150,
151 => 151,
152 => 152,
- 153 => 153,
- 154 => 154,
- 157 => 157,
+ 155 => 155,
+ 156 => 156,
158 => 158,
- 160 => 160,
- 161 => 161,
+ 159 => 159,
+ 166 => 166,
+ 167 => 167,
168 => 168,
169 => 169,
170 => 170,
@@ -2145,948 +3292,1118 @@ static public $yy_action = array(
178 => 178,
179 => 179,
180 => 180,
- 181 => 181,
182 => 182,
184 => 184,
- 186 => 186,
+ 185 => 185,
187 => 187,
+ 188 => 188,
189 => 189,
190 => 190,
191 => 191,
- 192 => 192,
+ 192 => 191,
+ 194 => 191,
193 => 193,
- 194 => 193,
- 196 => 193,
195 => 195,
+ 196 => 196,
197 => 197,
- 198 => 198,
- 199 => 199,
);
-#line 95 "smarty_internal_templateparser.y"
- function yy_r0(){
- $this->_retvalue = $this->root_buffer->to_smarty_php();
- }
-#line 2165 "smarty_internal_templateparser.php"
-#line 103 "smarty_internal_templateparser.y"
- function yy_r1(){
- $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2170 "smarty_internal_templateparser.php"
-#line 119 "smarty_internal_templateparser.y"
- function yy_r4(){
- if ($this->compiler->has_code) {
- $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array();
- $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true));
- } else {
- $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
- }
- $this->compiler->has_variable_string = false;
- $this->block_nesting_level = count($this->compiler->_tag_stack);
- }
-#line 2182 "smarty_internal_templateparser.php"
-#line 131 "smarty_internal_templateparser.y"
- function yy_r5(){
- $this->_retvalue = new _smarty_tag($this, '');
- }
-#line 2187 "smarty_internal_templateparser.php"
-#line 136 "smarty_internal_templateparser.y"
- function yy_r6(){
- $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2192 "smarty_internal_templateparser.php"
-#line 141 "smarty_internal_templateparser.y"
- function yy_r7(){
- if ($this->php_handling == Smarty::PHP_PASSTHRU) {
- $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
- } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
- $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
- } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
- if (!($this->smarty instanceof SmartyBC)) {
- $this->compiler->trigger_template_error (self::Err3);
+
+ #line 93 "smarty_internal_templateparser.y"
+ function yy_r0()
+ {
+ $this->_retvalue = $this->root_buffer->to_smarty_php();
+ }
+ #line 2150 "smarty_internal_templateparser.php"
+ #line 101 "smarty_internal_templateparser.y"
+ function yy_r1()
+ {
+ if ($this->yystack[$this->yyidx + 0]->minor != null) {
+ $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor);
}
- $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<?php', true));
- } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
- $this->_retvalue = new _smarty_text($this, '');
}
+ #line 2157 "smarty_internal_templateparser.php"
+ #line 108 "smarty_internal_templateparser.y"
+ function yy_r2()
+ {
+ if ($this->yystack[$this->yyidx + 0]->minor != null) {
+ // because of possible code injection
+ $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor);
+ }
}
-#line 2208 "smarty_internal_templateparser.php"
-#line 157 "smarty_internal_templateparser.y"
- function yy_r8(){
- if ($this->is_xml) {
+ #line 2165 "smarty_internal_templateparser.php"
+ #line 122 "smarty_internal_templateparser.y"
+ function yy_r4()
+ {
+ if ($this->compiler->has_code) {
+ $tmp = '';
+ foreach ($this->compiler->prefix_code as $code) {
+ $tmp .= $code;
+ }
+ $this->compiler->prefix_code = array();
+ $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp . $this->yystack[$this->yyidx + - 1]->minor, true));
+ } else {
+ $this->_retvalue = null;
+ }
+ $this->compiler->has_variable_string = false;
+ $this->block_nesting_level = count($this->compiler->_tag_stack);
+ }
+ #line 2177 "smarty_internal_templateparser.php"
+ #line 134 "smarty_internal_templateparser.y"
+ function yy_r5()
+ {
+ $this->_retvalue = null;
+ }
+ #line 2182 "smarty_internal_templateparser.php"
+ #line 139 "smarty_internal_templateparser.y"
+ function yy_r6()
+ {
+ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 2187 "smarty_internal_templateparser.php"
+ #line 144 "smarty_internal_templateparser.y"
+ function yy_r7()
+ {
+ if (strpos($this->yystack[$this->yyidx + 0]->minor, '<s') === 0) {
+ $this->lex->is_phpScript = true;
+ }
+ if ($this->php_handling == Smarty::PHP_PASSTHRU) {
+ if ($this->lex->is_phpScript) {
+ $s = addcslashes($this->yystack[$this->yyidx + 0]->minor, "'");
+ $this->_retvalue = new _smarty_text($this, $s);
+ } else {
+ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
+ }
+ } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
+ $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
+ } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
+ if (!($this->smarty instanceof SmartyBC)) {
+ $this->compiler->trigger_template_error(self::Err3);
+ }
+ $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('<?php ', true));
+ } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
+ $this->_retvalue = null;
+ }
+ }
+ #line 2211 "smarty_internal_templateparser.php"
+ #line 168 "smarty_internal_templateparser.y"
+ function yy_r8()
+ {
+ if ($this->is_xml) {
+ $this->compiler->tag_nocache = true;
+ $this->is_xml = false;
+ $save = $this->template->has_nocache_code;
+ $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode("<?php echo '?>';?>\n", $this->compiler, true));
+ $this->template->has_nocache_code = $save;
+ } elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
+ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
+ } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
+ $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
+ } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
+ $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('?>', true));
+ } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
+ $this->_retvalue = null;
+ }
+ }
+ #line 2230 "smarty_internal_templateparser.php"
+ #line 186 "smarty_internal_templateparser.y"
+ function yy_r9()
+ {
+ if (!$this->lex->is_phpScript) {
+ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
+ } else {
+ $this->lex->is_phpScript = false;
+ if ($this->php_handling == Smarty::PHP_PASSTHRU) {
+ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
+ } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
+ $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
+ } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
+ $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('?>', true));
+ } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
+ $this->_retvalue = null;
+ }
+ }
+ }
+ #line 2248 "smarty_internal_templateparser.php"
+ #line 204 "smarty_internal_templateparser.y"
+ function yy_r10()
+ {
+ if ($this->php_handling == Smarty::PHP_PASSTHRU) {
+ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
+ } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
+ $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
+ } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
+ if ($this->asp_tags) {
+ if (!($this->smarty instanceof SmartyBC)) {
+ $this->compiler->trigger_template_error(self::Err3);
+ }
+ $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('<%', true));
+ } else {
+ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
+ }
+ } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
+ if ($this->asp_tags) {
+ $this->_retvalue = null;
+ } else {
+ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
+ }
+ }
+ }
+ #line 2272 "smarty_internal_templateparser.php"
+ #line 228 "smarty_internal_templateparser.y"
+ function yy_r11()
+ {
+ if ($this->php_handling == Smarty::PHP_PASSTHRU) {
+ $this->_retvalue = new _smarty_text($this, st);
+ } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
+ $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
+ } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
+ if ($this->asp_tags) {
+ $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode('%>', true));
+ } else {
+ $this->_retvalue = new _smarty_text($this, st);
+ }
+ } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
+ if ($this->asp_tags) {
+ $this->_retvalue = null;
+ } else {
+ $this->_retvalue = new _smarty_text($this, st);
+ }
+ }
+ }
+ #line 2293 "smarty_internal_templateparser.php"
+ #line 250 "smarty_internal_templateparser.y"
+ function yy_r12()
+ {
$this->compiler->tag_nocache = true;
- $this->is_xml = false;
+ $this->is_xml = true;
$save = $this->template->has_nocache_code;
- $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '?>';?>\n", $this->compiler, true));
+ $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true));
$this->template->has_nocache_code = $save;
- } elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
- $this->_retvalue = new _smarty_text($this, '?<?php ?>>');
- } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
- $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
- } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
- $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true));
- } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
- $this->_retvalue = new _smarty_text($this, '');
- }
- }
-#line 2227 "smarty_internal_templateparser.php"
-#line 176 "smarty_internal_templateparser.y"
- function yy_r9(){
- if ($this->php_handling == Smarty::PHP_PASSTHRU) {
- $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
- } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
- $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
- } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
- if ($this->asp_tags) {
- if (!($this->smarty instanceof SmartyBC)) {
- $this->compiler->trigger_template_error (self::Err3);
- }
- $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true));
+ }
+ #line 2302 "smarty_internal_templateparser.php"
+ #line 259 "smarty_internal_templateparser.y"
+ function yy_r13()
+ {
+ if ($this->strip) {
+ $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
} else {
- $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
+ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
}
- } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
- if ($this->asp_tags) {
- $this->_retvalue = new _smarty_text($this, '');
+ }
+ #line 2311 "smarty_internal_templateparser.php"
+ #line 268 "smarty_internal_templateparser.y"
+ function yy_r14()
+ {
+ $this->strip = true;
+ }
+ #line 2316 "smarty_internal_templateparser.php"
+ #line 272 "smarty_internal_templateparser.y"
+ function yy_r15()
+ {
+ $this->strip = false;
+ }
+ #line 2321 "smarty_internal_templateparser.php"
+ #line 276 "smarty_internal_templateparser.y"
+ function yy_r16()
+ {
+ if ($this->strip) {
+ SMARTY_INTERNAL_COMPILE_BLOCK::blockSource($this->compiler, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
} else {
- $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
+ SMARTY_INTERNAL_COMPILE_BLOCK::blockSource($this->compiler, $this->yystack[$this->yyidx + 0]->minor);
}
}
+ #line 2330 "smarty_internal_templateparser.php"
+ #line 285 "smarty_internal_templateparser.y"
+ function yy_r17()
+ {
+ $this->_retvalue = '';
}
-#line 2251 "smarty_internal_templateparser.php"
-#line 200 "smarty_internal_templateparser.y"
- function yy_r10(){
- if ($this->php_handling == Smarty::PHP_PASSTHRU) {
- $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
- } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
- $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
- } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
- if ($this->asp_tags) {
- $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true));
+ #line 2335 "smarty_internal_templateparser.php"
+ #line 289 "smarty_internal_templateparser.y"
+ function yy_r18()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
+ }
+ #line 2340 "smarty_internal_templateparser.php"
+ #line 293 "smarty_internal_templateparser.y"
+ function yy_r19()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2345 "smarty_internal_templateparser.php"
+ #line 301 "smarty_internal_templateparser.y"
+ function yy_r21()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2350 "smarty_internal_templateparser.php"
+ #line 314 "smarty_internal_templateparser.y"
+ function yy_r23()
+ {
+ $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(), array('value' => $this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 2355 "smarty_internal_templateparser.php"
+ #line 318 "smarty_internal_templateparser.y"
+ function yy_r24()
+ {
+ $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor));
+ }
+ #line 2360 "smarty_internal_templateparser.php"
+ #line 322 "smarty_internal_templateparser.y"
+ function yy_r25()
+ {
+ $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 1]->minor));
+ }
+ #line 2365 "smarty_internal_templateparser.php"
+ #line 326 "smarty_internal_templateparser.y"
+ function yy_r26()
+ {
+ $this->_retvalue = $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor, array('value' => $this->yystack[$this->yyidx + - 2]->minor, 'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor));
+ }
+ #line 2370 "smarty_internal_templateparser.php"
+ #line 339 "smarty_internal_templateparser.y"
+ function yy_r28()
+ {
+ $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[$this->yyidx + 0]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 2]->minor . "'")));
+ }
+ #line 2375 "smarty_internal_templateparser.php"
+ #line 347 "smarty_internal_templateparser.y"
+ function yy_r30()
+ {
+ $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => "'" . $this->yystack[$this->yyidx + - 3]->minor . "'")), $this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 2380 "smarty_internal_templateparser.php"
+ #line 351 "smarty_internal_templateparser.y"
+ function yy_r31()
+ {
+ $this->_retvalue = $this->compiler->compileTag('assign', array_merge(array(array('value' => $this->yystack[$this->yyidx + - 1]->minor), array('var' => $this->yystack[$this->yyidx + - 3]->minor['var'])), $this->yystack[$this->yyidx + 0]->minor), array('smarty_internal_index' => $this->yystack[$this->yyidx + - 3]->minor['smarty_internal_index']));
+ }
+ #line 2385 "smarty_internal_templateparser.php"
+ #line 356 "smarty_internal_templateparser.y"
+ function yy_r32()
+ {
+ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 2390 "smarty_internal_templateparser.php"
+ #line 360 "smarty_internal_templateparser.y"
+ function yy_r33()
+ {
+ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor, array());
+ }
+ #line 2395 "smarty_internal_templateparser.php"
+ #line 365 "smarty_internal_templateparser.y"
+ function yy_r34()
+ {
+ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 1]->minor));
+ }
+ #line 2400 "smarty_internal_templateparser.php"
+ #line 370 "smarty_internal_templateparser.y"
+ function yy_r35()
+ {
+ $this->_retvalue = '<?php ob_start();?>' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor, $this->yystack[$this->yyidx + 0]->minor) . '<?php echo ';
+ $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . '?>';
+ }
+ #line 2406 "smarty_internal_templateparser.php"
+ #line 376 "smarty_internal_templateparser.y"
+ function yy_r36()
+ {
+ $this->_retvalue = '<?php ob_start();?>' . $this->compiler->compileTag($this->yystack[$this->yyidx + - 4]->minor, $this->yystack[$this->yyidx + 0]->minor, array('object_method' => $this->yystack[$this->yyidx + - 2]->minor)) . '<?php echo ';
+ $this->_retvalue .= $this->compiler->compileTag('private_modifier', array(), array('modifierlist' => $this->yystack[$this->yyidx + - 1]->minor, 'value' => 'ob_get_clean()')) . '?>';
+ }
+ #line 2412 "smarty_internal_templateparser.php"
+ #line 382 "smarty_internal_templateparser.y"
+ function yy_r37()
+ {
+ $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
+ $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 2418 "smarty_internal_templateparser.php"
+ #line 387 "smarty_internal_templateparser.y"
+ function yy_r38()
+ {
+ $tag = trim(substr($this->yystack[$this->yyidx + - 2]->minor, $this->lex->ldel_length));
+ $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, $this->yystack[$this->yyidx + 0]->minor, array('if condition' => $this->yystack[$this->yyidx + - 1]->minor));
+ }
+ #line 2424 "smarty_internal_templateparser.php"
+ #line 392 "smarty_internal_templateparser.y"
+ function yy_r39()
+ {
+ $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
+ $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(), array('if condition' => $this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 2430 "smarty_internal_templateparser.php"
+ #line 403 "smarty_internal_templateparser.y"
+ function yy_r41()
+ {
+ $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 9]->minor), array('ifexp' => $this->yystack[$this->yyidx + - 6]->minor), array('var' => $this->yystack[$this->yyidx + - 2]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 1);
+ }
+ #line 2435 "smarty_internal_templateparser.php"
+ #line 407 "smarty_internal_templateparser.y"
+ function yy_r42()
+ {
+ $this->_retvalue = '=' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2440 "smarty_internal_templateparser.php"
+ #line 415 "smarty_internal_templateparser.y"
+ function yy_r44()
+ {
+ $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 3]->minor), array('to' => $this->yystack[$this->yyidx + - 1]->minor))), 0);
+ }
+ #line 2445 "smarty_internal_templateparser.php"
+ #line 419 "smarty_internal_templateparser.y"
+ function yy_r45()
+ {
+ $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('start' => $this->yystack[$this->yyidx + - 5]->minor), array('to' => $this->yystack[$this->yyidx + - 3]->minor), array('step' => $this->yystack[$this->yyidx + - 1]->minor))), 0);
+ }
+ #line 2450 "smarty_internal_templateparser.php"
+ #line 424 "smarty_internal_templateparser.y"
+ function yy_r46()
+ {
+ $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 2455 "smarty_internal_templateparser.php"
+ #line 429 "smarty_internal_templateparser.y"
+ function yy_r47()
+ {
+ $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 4]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor))));
+ }
+ #line 2460 "smarty_internal_templateparser.php"
+ #line 433 "smarty_internal_templateparser.y"
+ function yy_r48()
+ {
+ $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor, array(array('from' => $this->yystack[$this->yyidx + - 7]->minor), array('item' => $this->yystack[$this->yyidx + - 1]->minor), array('key' => $this->yystack[$this->yyidx + - 4]->minor))));
+ }
+ #line 2465 "smarty_internal_templateparser.php"
+ #line 446 "smarty_internal_templateparser.y"
+ function yy_r51()
+ {
+ $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array(array_merge(array($this->yystack[$this->yyidx + - 1]->minor), $this->yystack[$this->yyidx + 0]->minor))));
+ }
+ #line 2470 "smarty_internal_templateparser.php"
+ #line 450 "smarty_internal_templateparser.y"
+ function yy_r52()
+ {
+ $this->_retvalue = $this->compiler->compileTag('setfilter', array(), array('modifier_list' => array_merge(array(array_merge(array($this->yystack[$this->yyidx + - 2]->minor), $this->yystack[$this->yyidx + - 1]->minor)), $this->yystack[$this->yyidx + 0]->minor)));
+ }
+ #line 2475 "smarty_internal_templateparser.php"
+ #line 455 "smarty_internal_templateparser.y"
+ function yy_r53()
+ {
+ $j = strrpos($this->yystack[$this->yyidx + 0]->minor, '.');
+ if ($this->yystack[$this->yyidx + 0]->minor[$j + 1] == 'c') {
+ // {$smarty.block.child}
+ $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
} else {
- $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
+ // {$smarty.block.parent}
+ $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileParentBlock($this->compiler);
}
- } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
- if ($this->asp_tags) {
- $this->_retvalue = new _smarty_text($this, '');
+ }
+ #line 2487 "smarty_internal_templateparser.php"
+ #line 468 "smarty_internal_templateparser.y"
+ function yy_r54()
+ {
+ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor . 'close', array());
+ }
+ #line 2492 "smarty_internal_templateparser.php"
+ #line 472 "smarty_internal_templateparser.y"
+ function yy_r55()
+ {
+ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor . 'close', array(), array('modifier_list' => $this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 2497 "smarty_internal_templateparser.php"
+ #line 477 "smarty_internal_templateparser.y"
+ function yy_r56()
+ {
+ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 2502 "smarty_internal_templateparser.php"
+ #line 481 "smarty_internal_templateparser.y"
+ function yy_r57()
+ {
+ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor . 'close', array(), array('object_method' => $this->yystack[$this->yyidx + - 1]->minor, 'modifier_list' => $this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 2507 "smarty_internal_templateparser.php"
+ #line 489 "smarty_internal_templateparser.y"
+ function yy_r58()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
+ $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2513 "smarty_internal_templateparser.php"
+ #line 495 "smarty_internal_templateparser.y"
+ function yy_r59()
+ {
+ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 2518 "smarty_internal_templateparser.php"
+ #line 500 "smarty_internal_templateparser.y"
+ function yy_r60()
+ {
+ $this->_retvalue = array();
+ }
+ #line 2523 "smarty_internal_templateparser.php"
+ #line 505 "smarty_internal_templateparser.y"
+ function yy_r61()
+ {
+ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
+ $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'true');
+ } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
+ $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'false');
+ } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
+ $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => 'null');
} else {
- $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
+ $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => "'" . $this->yystack[$this->yyidx + 0]->minor . "'");
}
}
+ #line 2536 "smarty_internal_templateparser.php"
+ #line 517 "smarty_internal_templateparser.y"
+ function yy_r62()
+ {
+ $this->_retvalue = array(trim($this->yystack[$this->yyidx + - 1]->minor, " =\n\r\t") => $this->yystack[$this->yyidx + 0]->minor);
}
-#line 2272 "smarty_internal_templateparser.php"
-#line 220 "smarty_internal_templateparser.y"
- function yy_r11(){
- if ($this->strip) {
- $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)));
- } else {
- $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
- }
- }
-#line 2281 "smarty_internal_templateparser.php"
-#line 229 "smarty_internal_templateparser.y"
- function yy_r12(){
- $this->compiler->tag_nocache = true;
- $this->is_xml = true;
- $save = $this->template->has_nocache_code;
- $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true));
- $this->template->has_nocache_code = $save;
- }
-#line 2290 "smarty_internal_templateparser.php"
-#line 238 "smarty_internal_templateparser.y"
- function yy_r13(){
- if ($this->strip) {
- $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
- } else {
- $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
+ #line 2541 "smarty_internal_templateparser.php"
+ #line 525 "smarty_internal_templateparser.y"
+ function yy_r64()
+ {
+ $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'";
+ }
+ #line 2546 "smarty_internal_templateparser.php"
+ #line 537 "smarty_internal_templateparser.y"
+ function yy_r67()
+ {
+ $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 2551 "smarty_internal_templateparser.php"
+ #line 550 "smarty_internal_templateparser.y"
+ function yy_r69()
+ {
+ $this->yystack[$this->yyidx + - 2]->minor[] = $this->yystack[$this->yyidx + 0]->minor;
+ $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor;
+ }
+ #line 2557 "smarty_internal_templateparser.php"
+ #line 555 "smarty_internal_templateparser.y"
+ function yy_r70()
+ {
+ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 2]->minor, 'value' => $this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 2562 "smarty_internal_templateparser.php"
+ #line 583 "smarty_internal_templateparser.y"
+ function yy_r75()
+ {
+ $this->_retvalue = '$_smarty_tpl->getStreamVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '://' . $this->yystack[$this->yyidx + 0]->minor . '\')';
+ }
+ #line 2567 "smarty_internal_templateparser.php"
+ #line 588 "smarty_internal_templateparser.y"
+ function yy_r76()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . trim($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2572 "smarty_internal_templateparser.php"
+ #line 607 "smarty_internal_templateparser.y"
+ function yy_r80()
+ {
+ $this->_retvalue = $this->compiler->compileTag('private_modifier', array(), array('value' => $this->yystack[$this->yyidx + - 1]->minor, 'modifierlist' => $this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 2577 "smarty_internal_templateparser.php"
+ #line 613 "smarty_internal_templateparser.y"
+ function yy_r81()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2582 "smarty_internal_templateparser.php"
+ #line 617 "smarty_internal_templateparser.y"
+ function yy_r82()
+ {
+ $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor . ')';
+ }
+ #line 2587 "smarty_internal_templateparser.php"
+ #line 621 "smarty_internal_templateparser.y"
+ function yy_r83()
+ {
+ $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',(array)' . $this->yystack[$this->yyidx + 0]->minor . ')';
+ }
+ #line 2592 "smarty_internal_templateparser.php"
+ #line 629 "smarty_internal_templateparser.y"
+ function yy_r85()
+ {
+ $this->_retvalue = '!(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')';
+ }
+ #line 2597 "smarty_internal_templateparser.php"
+ #line 633 "smarty_internal_templateparser.y"
+ function yy_r86()
+ {
+ $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 2]->minor . ' % ' . $this->yystack[$this->yyidx + 0]->minor . ')';
+ }
+ #line 2602 "smarty_internal_templateparser.php"
+ #line 637 "smarty_internal_templateparser.y"
+ function yy_r87()
+ {
+ $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')';
+ }
+ #line 2607 "smarty_internal_templateparser.php"
+ #line 641 "smarty_internal_templateparser.y"
+ function yy_r88()
+ {
+ $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 1]->minor . ')';
+ }
+ #line 2612 "smarty_internal_templateparser.php"
+ #line 645 "smarty_internal_templateparser.y"
+ function yy_r89()
+ {
+ $this->_retvalue = '!(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')';
+ }
+ #line 2617 "smarty_internal_templateparser.php"
+ #line 649 "smarty_internal_templateparser.y"
+ function yy_r90()
+ {
+ $this->_retvalue = '(1 & ' . $this->yystack[$this->yyidx + - 2]->minor . ' / ' . $this->yystack[$this->yyidx + 0]->minor . ')';
+ }
+ #line 2622 "smarty_internal_templateparser.php"
+ #line 673 "smarty_internal_templateparser.y"
+ function yy_r96()
+ {
+ self::$prefix_number ++;
+ $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . $this->yystack[$this->yyidx + 0]->minor . ';?>';
+ $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . '$_tmp' . self::$prefix_number;
+ }
+ #line 2629 "smarty_internal_templateparser.php"
+ #line 682 "smarty_internal_templateparser.y"
+ function yy_r97()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 6]->minor . ' ? ' . $this->compileVariable("'" . $this->yystack[$this->yyidx + - 2]->minor . "'") . ' : ' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2634 "smarty_internal_templateparser.php"
+ #line 686 "smarty_internal_templateparser.y"
+ function yy_r98()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->yystack[$this->yyidx + - 2]->minor . ' : ' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2639 "smarty_internal_templateparser.php"
+ #line 701 "smarty_internal_templateparser.y"
+ function yy_r101()
+ {
+ $this->_retvalue = '!' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2644 "smarty_internal_templateparser.php"
+ #line 722 "smarty_internal_templateparser.y"
+ function yy_r106()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
}
+ #line 2649 "smarty_internal_templateparser.php"
+ #line 726 "smarty_internal_templateparser.y"
+ function yy_r107()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.';
+ }
+ #line 2654 "smarty_internal_templateparser.php"
+ #line 730 "smarty_internal_templateparser.y"
+ function yy_r108()
+ {
+ $this->_retvalue = '.' . $this->yystack[$this->yyidx + 0]->minor;
}
-#line 2299 "smarty_internal_templateparser.php"
-#line 247 "smarty_internal_templateparser.y"
- function yy_r14(){
- $this->strip = true;
- $this->_retvalue = new _smarty_text($this, '');
- }
-#line 2305 "smarty_internal_templateparser.php"
-#line 252 "smarty_internal_templateparser.y"
- function yy_r15(){
- $this->strip = false;
- $this->_retvalue = new _smarty_text($this, '');
- }
-#line 2311 "smarty_internal_templateparser.php"
-#line 258 "smarty_internal_templateparser.y"
- function yy_r16(){
- $this->_retvalue = '';
- }
-#line 2316 "smarty_internal_templateparser.php"
-#line 262 "smarty_internal_templateparser.y"
- function yy_r17(){
- $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
- }
-#line 2321 "smarty_internal_templateparser.php"
-#line 266 "smarty_internal_templateparser.y"
- function yy_r18(){
- $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2326 "smarty_internal_templateparser.php"
-#line 274 "smarty_internal_templateparser.y"
- function yy_r20(){
- $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2331 "smarty_internal_templateparser.php"
-#line 282 "smarty_internal_templateparser.y"
- function yy_r22(){
- $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2336 "smarty_internal_templateparser.php"
-#line 290 "smarty_internal_templateparser.y"
- function yy_r24(){
- $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2341 "smarty_internal_templateparser.php"
-#line 294 "smarty_internal_templateparser.y"
- function yy_r25(){
- $this->_retvalue = '<<?php ?>%';
- }
-#line 2346 "smarty_internal_templateparser.php"
-#line 298 "smarty_internal_templateparser.y"
- function yy_r26(){
- $this->_retvalue = '%<?php ?>>';
- }
-#line 2351 "smarty_internal_templateparser.php"
-#line 307 "smarty_internal_templateparser.y"
- function yy_r27(){
- $this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor));
- }
-#line 2356 "smarty_internal_templateparser.php"
-#line 311 "smarty_internal_templateparser.y"
- function yy_r28(){
- $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor, 'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor));
- }
-#line 2361 "smarty_internal_templateparser.php"
-#line 315 "smarty_internal_templateparser.y"
- function yy_r29(){
- $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor));
- }
-#line 2366 "smarty_internal_templateparser.php"
-#line 319 "smarty_internal_templateparser.y"
- function yy_r30(){
- $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor,'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor));
- }
-#line 2371 "smarty_internal_templateparser.php"
-#line 332 "smarty_internal_templateparser.y"
- function yy_r32(){
- $this->_retvalue = $this->compiler->compileTag('assign',array(array('value'=>$this->yystack[$this->yyidx + -1]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'")));
- }
-#line 2376 "smarty_internal_templateparser.php"
-#line 340 "smarty_internal_templateparser.y"
- function yy_r34(){
- $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'")),$this->yystack[$this->yyidx + -1]->minor));
- }
-#line 2381 "smarty_internal_templateparser.php"
-#line 344 "smarty_internal_templateparser.y"
- function yy_r35(){
- $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>$this->yystack[$this->yyidx + -4]->minor['var'])),$this->yystack[$this->yyidx + -1]->minor),array('smarty_internal_index'=>$this->yystack[$this->yyidx + -4]->minor['smarty_internal_index']));
- }
-#line 2386 "smarty_internal_templateparser.php"
-#line 349 "smarty_internal_templateparser.y"
- function yy_r36(){
- $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor);
- }
-#line 2391 "smarty_internal_templateparser.php"
-#line 353 "smarty_internal_templateparser.y"
- function yy_r37(){
- $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array());
- }
-#line 2396 "smarty_internal_templateparser.php"
-#line 358 "smarty_internal_templateparser.y"
- function yy_r38(){
- $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor));
- }
-#line 2401 "smarty_internal_templateparser.php"
-#line 363 "smarty_internal_templateparser.y"
- function yy_r39(){
- $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
- $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
- }
-#line 2407 "smarty_internal_templateparser.php"
-#line 369 "smarty_internal_templateparser.y"
- function yy_r40(){
- $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'<?php echo ';
- $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
- }
-#line 2413 "smarty_internal_templateparser.php"
-#line 375 "smarty_internal_templateparser.y"
- function yy_r41(){
- $tag = trim(substr($this->yystack[$this->yyidx + -2]->minor,$this->lex->ldel_length));
- $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor));
- }
-#line 2419 "smarty_internal_templateparser.php"
-#line 380 "smarty_internal_templateparser.y"
- function yy_r42(){
- $tag = trim(substr($this->yystack[$this->yyidx + -3]->minor,$this->lex->ldel_length));
- $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,$this->yystack[$this->yyidx + -1]->minor,array('if condition'=>$this->yystack[$this->yyidx + -2]->minor));
- }
-#line 2425 "smarty_internal_templateparser.php"
-#line 385 "smarty_internal_templateparser.y"
- function yy_r43(){
- $tag = trim(substr($this->yystack[$this->yyidx + -2]->minor,$this->lex->ldel_length));
- $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor));
- }
-#line 2431 "smarty_internal_templateparser.php"
-#line 396 "smarty_internal_templateparser.y"
- function yy_r45(){
- $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -10]->minor),array('ifexp'=>$this->yystack[$this->yyidx + -7]->minor),array('var'=>$this->yystack[$this->yyidx + -3]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),1);
- }
-#line 2436 "smarty_internal_templateparser.php"
-#line 400 "smarty_internal_templateparser.y"
- function yy_r46(){
- $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2441 "smarty_internal_templateparser.php"
-#line 408 "smarty_internal_templateparser.y"
- function yy_r48(){
- $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -4]->minor),array('to'=>$this->yystack[$this->yyidx + -2]->minor))),0);
- }
-#line 2446 "smarty_internal_templateparser.php"
-#line 412 "smarty_internal_templateparser.y"
- function yy_r49(){
- $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -6]->minor),array('to'=>$this->yystack[$this->yyidx + -4]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),0);
- }
-#line 2451 "smarty_internal_templateparser.php"
-#line 417 "smarty_internal_templateparser.y"
- function yy_r50(){
- $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor);
- }
-#line 2456 "smarty_internal_templateparser.php"
-#line 422 "smarty_internal_templateparser.y"
- function yy_r51(){
- $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor))));
- }
-#line 2461 "smarty_internal_templateparser.php"
-#line 426 "smarty_internal_templateparser.y"
- function yy_r52(){
- $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor))));
- }
-#line 2466 "smarty_internal_templateparser.php"
-#line 430 "smarty_internal_templateparser.y"
- function yy_r53(){
- $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor))));
- }
-#line 2471 "smarty_internal_templateparser.php"
-#line 434 "smarty_internal_templateparser.y"
- function yy_r54(){
- $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor))));
- }
-#line 2476 "smarty_internal_templateparser.php"
-#line 439 "smarty_internal_templateparser.y"
- function yy_r55(){
- $this->_retvalue = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array(array_merge(array($this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor))));
- }
-#line 2481 "smarty_internal_templateparser.php"
-#line 443 "smarty_internal_templateparser.y"
- function yy_r56(){
- $this->_retvalue = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array_merge(array(array_merge(array($this->yystack[$this->yyidx + -3]->minor),$this->yystack[$this->yyidx + -2]->minor)),$this->yystack[$this->yyidx + -1]->minor)));
- }
-#line 2486 "smarty_internal_templateparser.php"
-#line 448 "smarty_internal_templateparser.y"
- function yy_r57(){
- $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
- }
-#line 2491 "smarty_internal_templateparser.php"
-#line 454 "smarty_internal_templateparser.y"
- function yy_r58(){
- $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array());
- }
-#line 2496 "smarty_internal_templateparser.php"
-#line 458 "smarty_internal_templateparser.y"
- function yy_r59(){
- $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));
- }
-#line 2501 "smarty_internal_templateparser.php"
-#line 463 "smarty_internal_templateparser.y"
- function yy_r60(){
- $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor));
- }
-#line 2506 "smarty_internal_templateparser.php"
-#line 467 "smarty_internal_templateparser.y"
- function yy_r61(){
- $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor, 'modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));
- }
-#line 2511 "smarty_internal_templateparser.php"
-#line 475 "smarty_internal_templateparser.y"
- function yy_r62(){
- $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
- $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2517 "smarty_internal_templateparser.php"
-#line 481 "smarty_internal_templateparser.y"
- function yy_r63(){
- $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2522 "smarty_internal_templateparser.php"
-#line 486 "smarty_internal_templateparser.y"
- function yy_r64(){
- $this->_retvalue = array();
- }
-#line 2527 "smarty_internal_templateparser.php"
-#line 491 "smarty_internal_templateparser.y"
- function yy_r65(){
- if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
- $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true');
- } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
- $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'false');
- } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
- $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'null');
- } else {
- $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'");
- }
- }
-#line 2540 "smarty_internal_templateparser.php"
-#line 503 "smarty_internal_templateparser.y"
- function yy_r66(){
- $this->_retvalue = array(trim($this->yystack[$this->yyidx + -1]->minor," =\n\r\t")=>$this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2545 "smarty_internal_templateparser.php"
-#line 511 "smarty_internal_templateparser.y"
- function yy_r68(){
- $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'";
- }
-#line 2550 "smarty_internal_templateparser.php"
-#line 523 "smarty_internal_templateparser.y"
- function yy_r71(){
- $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2555 "smarty_internal_templateparser.php"
-#line 536 "smarty_internal_templateparser.y"
- function yy_r73(){
- $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor;
- $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor;
- }
-#line 2561 "smarty_internal_templateparser.php"
-#line 541 "smarty_internal_templateparser.y"
- function yy_r74(){
- $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2566 "smarty_internal_templateparser.php"
-#line 569 "smarty_internal_templateparser.y"
- function yy_r79(){
- $this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')';
- }
-#line 2571 "smarty_internal_templateparser.php"
-#line 574 "smarty_internal_templateparser.y"
- function yy_r80(){
- $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2576 "smarty_internal_templateparser.php"
-#line 593 "smarty_internal_templateparser.y"
- function yy_r84(){
- $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor));
- }
-#line 2581 "smarty_internal_templateparser.php"
-#line 599 "smarty_internal_templateparser.y"
- function yy_r85(){
- $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2586 "smarty_internal_templateparser.php"
-#line 603 "smarty_internal_templateparser.y"
- function yy_r86(){
- $this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')';
- }
-#line 2591 "smarty_internal_templateparser.php"
-#line 607 "smarty_internal_templateparser.y"
- function yy_r87(){
- $this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')';
- }
-#line 2596 "smarty_internal_templateparser.php"
-#line 615 "smarty_internal_templateparser.y"
- function yy_r89(){
- $this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')';
- }
-#line 2601 "smarty_internal_templateparser.php"
-#line 619 "smarty_internal_templateparser.y"
- function yy_r90(){
- $this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')';
- }
-#line 2606 "smarty_internal_templateparser.php"
-#line 623 "smarty_internal_templateparser.y"
- function yy_r91(){
- $this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')';
- }
-#line 2611 "smarty_internal_templateparser.php"
-#line 627 "smarty_internal_templateparser.y"
- function yy_r92(){
- $this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')';
- }
-#line 2616 "smarty_internal_templateparser.php"
-#line 631 "smarty_internal_templateparser.y"
- function yy_r93(){
- $this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')';
- }
-#line 2621 "smarty_internal_templateparser.php"
-#line 635 "smarty_internal_templateparser.y"
- function yy_r94(){
- $this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')';
- }
-#line 2626 "smarty_internal_templateparser.php"
-#line 659 "smarty_internal_templateparser.y"
- function yy_r100(){
- $this->prefix_number++;
- $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>';
- $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number;
- }
-#line 2633 "smarty_internal_templateparser.php"
-#line 668 "smarty_internal_templateparser.y"
- function yy_r101(){
- $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? '. $this->compileVariable("'".$this->yystack[$this->yyidx + -2]->minor."'") . ' : '.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2638 "smarty_internal_templateparser.php"
-#line 672 "smarty_internal_templateparser.y"
- function yy_r102(){
- $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2643 "smarty_internal_templateparser.php"
-#line 687 "smarty_internal_templateparser.y"
- function yy_r105(){
- $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2648 "smarty_internal_templateparser.php"
-#line 708 "smarty_internal_templateparser.y"
- function yy_r110(){
- $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2653 "smarty_internal_templateparser.php"
-#line 712 "smarty_internal_templateparser.y"
- function yy_r111(){
- $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.';
- }
-#line 2658 "smarty_internal_templateparser.php"
-#line 716 "smarty_internal_templateparser.y"
- function yy_r112(){
- $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2663 "smarty_internal_templateparser.php"
-#line 721 "smarty_internal_templateparser.y"
- function yy_r113(){
- if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
- $this->_retvalue = 'true';
- } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
- $this->_retvalue = 'false';
- } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
- $this->_retvalue = 'null';
- } else {
- $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'";
- }
- }
-#line 2676 "smarty_internal_templateparser.php"
-#line 739 "smarty_internal_templateparser.y"
- function yy_r115(){
- $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")";
- }
-#line 2681 "smarty_internal_templateparser.php"
-#line 754 "smarty_internal_templateparser.y"
- function yy_r118(){
- if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->minor, $this->compiler)) {
- if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) {
- $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor].'::'.$this->yystack[$this->yyidx + 0]->minor;
+ #line 2659 "smarty_internal_templateparser.php"
+ #line 735 "smarty_internal_templateparser.y"
+ function yy_r109()
+ {
+ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
+ $this->_retvalue = 'true';
+ } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
+ $this->_retvalue = 'false';
+ } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
+ $this->_retvalue = 'null';
} else {
- $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor;
+ $this->_retvalue = "'" . $this->yystack[$this->yyidx + 0]->minor . "'";
}
- } else {
- $this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting");
- }
- }
-#line 2694 "smarty_internal_templateparser.php"
-#line 766 "smarty_internal_templateparser.y"
- function yy_r119(){
- if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') {
- $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;
- } else {
- $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + -2]->minor['var']).$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index'].'::'.$this->yystack[$this->yyidx + 0]->minor;
- }
- }
-#line 2703 "smarty_internal_templateparser.php"
-#line 775 "smarty_internal_templateparser.y"
- function yy_r120(){
- $this->prefix_number++;
- $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>';
- $this->_retvalue = '$_tmp'.$this->prefix_number;
- }
-#line 2710 "smarty_internal_templateparser.php"
-#line 790 "smarty_internal_templateparser.y"
- function yy_r122(){
- if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
- $smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
- $this->_retvalue = $smarty_var;
- } else {
- // used for array reset,next,prev,end,current
- $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
- $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
- $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']).$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
- }
- }
-#line 2723 "smarty_internal_templateparser.php"
-#line 803 "smarty_internal_templateparser.y"
- function yy_r123(){
- $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2728 "smarty_internal_templateparser.php"
-#line 813 "smarty_internal_templateparser.y"
- function yy_r125(){
- $this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')';
- }
-#line 2733 "smarty_internal_templateparser.php"
-#line 817 "smarty_internal_templateparser.y"
- function yy_r126(){
- $this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')';
- }
-#line 2738 "smarty_internal_templateparser.php"
-#line 821 "smarty_internal_templateparser.y"
- function yy_r127(){
- $this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2743 "smarty_internal_templateparser.php"
-#line 834 "smarty_internal_templateparser.y"
- function yy_r129(){
- return;
- }
-#line 2748 "smarty_internal_templateparser.php"
-#line 840 "smarty_internal_templateparser.y"
- function yy_r130(){
- $this->_retvalue = '['.$this->compileVariable($this->yystack[$this->yyidx + 0]->minor).']';
- }
-#line 2753 "smarty_internal_templateparser.php"
-#line 844 "smarty_internal_templateparser.y"
- function yy_r131(){
- $this->_retvalue = '['.$this->compileVariable($this->yystack[$this->yyidx + -2]->minor).'->'.$this->yystack[$this->yyidx + 0]->minor.']';
- }
-#line 2758 "smarty_internal_templateparser.php"
-#line 848 "smarty_internal_templateparser.y"
- function yy_r132(){
- $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']";
- }
-#line 2763 "smarty_internal_templateparser.php"
-#line 852 "smarty_internal_templateparser.y"
- function yy_r133(){
- $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]";
- }
-#line 2768 "smarty_internal_templateparser.php"
-#line 856 "smarty_internal_templateparser.y"
- function yy_r134(){
- $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]";
- }
-#line 2773 "smarty_internal_templateparser.php"
-#line 861 "smarty_internal_templateparser.y"
- function yy_r135(){
- $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']';
- }
-#line 2778 "smarty_internal_templateparser.php"
-#line 865 "smarty_internal_templateparser.y"
- function yy_r136(){
- $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']';
- }
-#line 2783 "smarty_internal_templateparser.php"
-#line 875 "smarty_internal_templateparser.y"
- function yy_r138(){
- $this->_retvalue = '[]';
- }
-#line 2788 "smarty_internal_templateparser.php"
-#line 888 "smarty_internal_templateparser.y"
- function yy_r140(){
- $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2793 "smarty_internal_templateparser.php"
-#line 893 "smarty_internal_templateparser.y"
- function yy_r141(){
- $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\'';
- }
-#line 2798 "smarty_internal_templateparser.php"
-#line 898 "smarty_internal_templateparser.y"
- function yy_r142(){
- $this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')';
- }
-#line 2803 "smarty_internal_templateparser.php"
-#line 905 "smarty_internal_templateparser.y"
- function yy_r143(){
- if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') {
- $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;
- } else {
- $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + -1]->minor['var']).$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor;
- }
- }
-#line 2812 "smarty_internal_templateparser.php"
-#line 914 "smarty_internal_templateparser.y"
- function yy_r144(){
- $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2817 "smarty_internal_templateparser.php"
-#line 919 "smarty_internal_templateparser.y"
- function yy_r145(){
- $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2822 "smarty_internal_templateparser.php"
-#line 924 "smarty_internal_templateparser.y"
- function yy_r146(){
- if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '_') {
- $this->compiler->trigger_template_error (self::Err1);
- }
- $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2830 "smarty_internal_templateparser.php"
-#line 931 "smarty_internal_templateparser.y"
- function yy_r147(){
- if ($this->security) {
- $this->compiler->trigger_template_error (self::Err2);
- }
- $this->_retvalue = '->{'.$this->compileVariable($this->yystack[$this->yyidx + -1]->minor).$this->yystack[$this->yyidx + 0]->minor.'}';
- }
-#line 2838 "smarty_internal_templateparser.php"
-#line 938 "smarty_internal_templateparser.y"
- function yy_r148(){
- if ($this->security) {
- $this->compiler->trigger_template_error (self::Err2);
- }
- $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
- }
-#line 2846 "smarty_internal_templateparser.php"
-#line 945 "smarty_internal_templateparser.y"
- function yy_r149(){
- if ($this->security) {
- $this->compiler->trigger_template_error (self::Err2);
- }
- $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
- }
-#line 2854 "smarty_internal_templateparser.php"
-#line 953 "smarty_internal_templateparser.y"
- function yy_r150(){
- $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2859 "smarty_internal_templateparser.php"
-#line 961 "smarty_internal_templateparser.y"
- function yy_r151(){
- if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) {
- if (strcasecmp($this->yystack[$this->yyidx + -3]->minor,'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'array') === 0 || is_callable($this->yystack[$this->yyidx + -3]->minor)) {
- $func_name = strtolower($this->yystack[$this->yyidx + -3]->minor);
- if ($func_name == 'isset') {
- if (count($this->yystack[$this->yyidx + -1]->minor) == 0) {
- $this->compiler->trigger_template_error ('Illegal number of paramer in "isset()"');
- }
- $par = implode(',',$this->yystack[$this->yyidx + -1]->minor);
- if (strncasecmp($par,'$_smarty_tpl->getConfigVariable',strlen('$_smarty_tpl->getConfigVariable')) === 0) {
- $this->prefix_number++;
- $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.str_replace(')',', false)',$par).';?>';
- $isset_par = '$_tmp'.$this->prefix_number;
- } else {
- $isset_par=str_replace("')->value","',null,true,false)->value",$par);
- }
- $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $isset_par .")";
- } elseif (in_array($func_name,array('empty','reset','current','end','prev','next'))){
- if (count($this->yystack[$this->yyidx + -1]->minor) != 1) {
- $this->compiler->trigger_template_error ('Illegal number of paramer in "empty()"');
- }
- if ($func_name == 'empty') {
- $this->_retvalue = $func_name.'('.str_replace("')->value","',null,true,false)->value",$this->yystack[$this->yyidx + -1]->minor[0]).')';
+ }
+ #line 2672 "smarty_internal_templateparser.php"
+ #line 753 "smarty_internal_templateparser.y"
+ function yy_r111()
+ {
+ $this->_retvalue = "(" . $this->yystack[$this->yyidx + - 1]->minor . ")";
+ }
+ #line 2677 "smarty_internal_templateparser.php"
+ #line 768 "smarty_internal_templateparser.y"
+ function yy_r114()
+ {
+ if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + - 2]->minor, $this->compiler)) {
+ if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor])) {
+ $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor] . '::' . $this->yystack[$this->yyidx + 0]->minor;
+ } else {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '::' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ } else {
+ $this->compiler->trigger_template_error("static class '" . $this->yystack[$this->yyidx + - 2]->minor . "' is undefined or not allowed by security setting");
+ }
+ }
+ #line 2690 "smarty_internal_templateparser.php"
+ #line 780 "smarty_internal_templateparser.y"
+ function yy_r115()
+ {
+ if ($this->yystack[$this->yyidx + - 2]->minor['var'] == '\'smarty\'') {
+ $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index']) . '::' . $this->yystack[$this->yyidx + 0]->minor;
+ } else {
+ $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + - 2]->minor['var']) . $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index'] . '::' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ }
+ #line 2699 "smarty_internal_templateparser.php"
+ #line 789 "smarty_internal_templateparser.y"
+ function yy_r116()
+ {
+ self::$prefix_number ++;
+ $this->compiler->prefix_code[] = '<?php ob_start();?>' . $this->yystack[$this->yyidx + - 1]->minor . '<?php $_tmp' . self::$prefix_number . '=ob_get_clean();?>';
+ $this->_retvalue = '$_tmp' . self::$prefix_number;
+ }
+ #line 2706 "smarty_internal_templateparser.php"
+ #line 804 "smarty_internal_templateparser.y"
+ function yy_r118()
+ {
+ if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
+ $smarty_var = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
+ $this->_retvalue = $smarty_var;
+ } else {
+ // used for array reset,next,prev,end,current
+ $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
+ $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
+ $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']) . $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
+ }
+ }
+ #line 2719 "smarty_internal_templateparser.php"
+ #line 817 "smarty_internal_templateparser.y"
+ function yy_r119()
+ {
+ $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[$this->yyidx + - 2]->minor . ']->' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2724 "smarty_internal_templateparser.php"
+ #line 827 "smarty_internal_templateparser.y"
+ function yy_r121()
+ {
+ $this->_retvalue = '$_smarty_tpl->getConfigVariable(\'' . $this->yystack[$this->yyidx + - 1]->minor . '\')';
+ }
+ #line 2729 "smarty_internal_templateparser.php"
+ #line 831 "smarty_internal_templateparser.y"
+ function yy_r122()
+ {
+ $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable(\'' . $this->yystack[$this->yyidx + - 2]->minor . '\')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' :null)';
+ }
+ #line 2734 "smarty_internal_templateparser.php"
+ #line 835 "smarty_internal_templateparser.y"
+ function yy_r123()
+ {
+ $this->_retvalue = '$_smarty_tpl->getConfigVariable(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
+ }
+ #line 2739 "smarty_internal_templateparser.php"
+ #line 839 "smarty_internal_templateparser.y"
+ function yy_r124()
+ {
+ $this->_retvalue = '(is_array($tmp = $_smarty_tpl->getConfigVariable(' . $this->yystack[$this->yyidx + - 2]->minor . ')) ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' : null)';
+ }
+ #line 2744 "smarty_internal_templateparser.php"
+ #line 843 "smarty_internal_templateparser.y"
+ function yy_r125()
+ {
+ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 1]->minor, 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 2749 "smarty_internal_templateparser.php"
+ #line 856 "smarty_internal_templateparser.y"
+ function yy_r127()
+ {
+ return;
+ }
+ #line 2754 "smarty_internal_templateparser.php"
+ #line 862 "smarty_internal_templateparser.y"
+ function yy_r128()
+ {
+ $this->_retvalue = '[' . $this->compileVariable($this->yystack[$this->yyidx + 0]->minor) . ']';
+ }
+ #line 2759 "smarty_internal_templateparser.php"
+ #line 866 "smarty_internal_templateparser.y"
+ function yy_r129()
+ {
+ $this->_retvalue = '[' . $this->compileVariable($this->yystack[$this->yyidx + - 2]->minor) . '->' . $this->yystack[$this->yyidx + 0]->minor . ']';
+ }
+ #line 2764 "smarty_internal_templateparser.php"
+ #line 870 "smarty_internal_templateparser.y"
+ function yy_r130()
+ {
+ $this->_retvalue = "['" . $this->yystack[$this->yyidx + 0]->minor . "']";
+ }
+ #line 2769 "smarty_internal_templateparser.php"
+ #line 874 "smarty_internal_templateparser.y"
+ function yy_r131()
+ {
+ $this->_retvalue = "[" . $this->yystack[$this->yyidx + 0]->minor . "]";
+ }
+ #line 2774 "smarty_internal_templateparser.php"
+ #line 878 "smarty_internal_templateparser.y"
+ function yy_r132()
+ {
+ $this->_retvalue = "[" . $this->yystack[$this->yyidx + - 1]->minor . "]";
+ }
+ #line 2779 "smarty_internal_templateparser.php"
+ #line 883 "smarty_internal_templateparser.y"
+ function yy_r133()
+ {
+ $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\'][\'index\']') . ']';
+ }
+ #line 2784 "smarty_internal_templateparser.php"
+ #line 887 "smarty_internal_templateparser.y"
+ function yy_r134()
+ {
+ $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' . $this->yystack[$this->yyidx + - 3]->minor . '\'][\'' . $this->yystack[$this->yyidx + - 1]->minor . '\']') . ']';
+ }
+ #line 2789 "smarty_internal_templateparser.php"
+ #line 897 "smarty_internal_templateparser.y"
+ function yy_r136()
+ {
+ $this->_retvalue = '[]';
+ }
+ #line 2794 "smarty_internal_templateparser.php"
+ #line 910 "smarty_internal_templateparser.y"
+ function yy_r138()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2799 "smarty_internal_templateparser.php"
+ #line 915 "smarty_internal_templateparser.y"
+ function yy_r139()
+ {
+ $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\'';
+ }
+ #line 2804 "smarty_internal_templateparser.php"
+ #line 920 "smarty_internal_templateparser.y"
+ function yy_r140()
+ {
+ $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
+ }
+ #line 2809 "smarty_internal_templateparser.php"
+ #line 927 "smarty_internal_templateparser.y"
+ function yy_r141()
+ {
+ if ($this->yystack[$this->yyidx + - 1]->minor['var'] == '\'smarty\'') {
+ $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(), $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index']) . $this->yystack[$this->yyidx + 0]->minor;
+ } else {
+ $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + - 1]->minor['var']) . $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index'] . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ }
+ #line 2818 "smarty_internal_templateparser.php"
+ #line 936 "smarty_internal_templateparser.y"
+ function yy_r142()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2823 "smarty_internal_templateparser.php"
+ #line 941 "smarty_internal_templateparser.y"
+ function yy_r143()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2828 "smarty_internal_templateparser.php"
+ #line 946 "smarty_internal_templateparser.y"
+ function yy_r144()
+ {
+ if ($this->security && substr($this->yystack[$this->yyidx + - 1]->minor, 0, 1) == '_') {
+ $this->compiler->trigger_template_error(self::Err1);
+ }
+ $this->_retvalue = '->' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2836 "smarty_internal_templateparser.php"
+ #line 953 "smarty_internal_templateparser.y"
+ function yy_r145()
+ {
+ if ($this->security) {
+ $this->compiler->trigger_template_error(self::Err2);
+ }
+ $this->_retvalue = '->{' . $this->compileVariable($this->yystack[$this->yyidx + - 1]->minor) . $this->yystack[$this->yyidx + 0]->minor . '}';
+ }
+ #line 2844 "smarty_internal_templateparser.php"
+ #line 960 "smarty_internal_templateparser.y"
+ function yy_r146()
+ {
+ if ($this->security) {
+ $this->compiler->trigger_template_error(self::Err2);
+ }
+ $this->_retvalue = '->{' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}';
+ }
+ #line 2852 "smarty_internal_templateparser.php"
+ #line 967 "smarty_internal_templateparser.y"
+ function yy_r147()
+ {
+ if ($this->security) {
+ $this->compiler->trigger_template_error(self::Err2);
+ }
+ $this->_retvalue = '->{\'' . $this->yystack[$this->yyidx + - 4]->minor . '\'.' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}';
+ }
+ #line 2860 "smarty_internal_templateparser.php"
+ #line 975 "smarty_internal_templateparser.y"
+ function yy_r148()
+ {
+ $this->_retvalue = '->' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2865 "smarty_internal_templateparser.php"
+ #line 983 "smarty_internal_templateparser.y"
+ function yy_r149()
+ {
+ if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + - 3]->minor, $this->compiler)) {
+ if (strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'array') === 0 || is_callable($this->yystack[$this->yyidx + - 3]->minor)) {
+ $func_name = strtolower($this->yystack[$this->yyidx + - 3]->minor);
+ if ($func_name == 'isset') {
+ if (count($this->yystack[$this->yyidx + - 1]->minor) == 0) {
+ $this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
+ }
+ $par = implode(',', $this->yystack[$this->yyidx + - 1]->minor);
+ if (strncasecmp($par, '$_smarty_tpl->getConfigVariable', strlen('$_smarty_tpl->getConfigVariable')) === 0) {
+ self::$prefix_number ++;
+ $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . str_replace(')', ', false)', $par) . ';?>';
+ $isset_par = '$_tmp' . self::$prefix_number;
+ } else {
+ $isset_par = str_replace("')->value", "',null,true,false)->value", $par);
+ }
+ $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . $isset_par . ")";
+ } elseif (in_array($func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
+ if (count($this->yystack[$this->yyidx + - 1]->minor) != 1) {
+ $this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
+ }
+ if ($func_name == 'empty') {
+ $this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value", $this->yystack[$this->yyidx + - 1]->minor[0]) . ')';
+ } else {
+ $this->_retvalue = $func_name . '(' . $this->yystack[$this->yyidx + - 1]->minor[0] . ')';
+ }
} else {
- $this->_retvalue = $func_name.'('.$this->yystack[$this->yyidx + -1]->minor[0].')';
+ $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
}
} else {
- $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
+ $this->compiler->trigger_template_error("unknown function \"" . $this->yystack[$this->yyidx + - 3]->minor . "\"");
}
- } else {
- $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\"");
}
}
+ #line 2901 "smarty_internal_templateparser.php"
+ #line 1021 "smarty_internal_templateparser.y"
+ function yy_r150()
+ {
+ if ($this->security && substr($this->yystack[$this->yyidx + - 3]->minor, 0, 1) == '_') {
+ $this->compiler->trigger_template_error(self::Err1);
+ }
+ $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
+ }
+ #line 2909 "smarty_internal_templateparser.php"
+ #line 1028 "smarty_internal_templateparser.y"
+ function yy_r151()
+ {
+ if ($this->security) {
+ $this->compiler->trigger_template_error(self::Err2);
+ }
+ self::$prefix_number ++;
+ $this->compiler->prefix_code[] = '<?php $_tmp' . self::$prefix_number . '=' . $this->compileVariable("'" . $this->yystack[$this->yyidx + - 3]->minor . "'") . ';?>';
+ $this->_retvalue = '$_tmp' . self::$prefix_number . '(' . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ')';
+ }
+ #line 2919 "smarty_internal_templateparser.php"
+ #line 1039 "smarty_internal_templateparser.y"
+ function yy_r152()
+ {
+ $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, array($this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 2924 "smarty_internal_templateparser.php"
+ #line 1056 "smarty_internal_templateparser.y"
+ function yy_r155()
+ {
+ $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor, array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor)));
+ }
+ #line 2929 "smarty_internal_templateparser.php"
+ #line 1060 "smarty_internal_templateparser.y"
+ function yy_r156()
+ {
+ $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor));
+ }
+ #line 2934 "smarty_internal_templateparser.php"
+ #line 1068 "smarty_internal_templateparser.y"
+ function yy_r158()
+ {
+ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 2939 "smarty_internal_templateparser.php"
+ #line 1076 "smarty_internal_templateparser.y"
+ function yy_r159()
+ {
+ $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 2944 "smarty_internal_templateparser.php"
+ #line 1110 "smarty_internal_templateparser.y"
+ function yy_r166()
+ {
+ $this->_retvalue = '$' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2949 "smarty_internal_templateparser.php"
+ #line 1115 "smarty_internal_templateparser.y"
+ function yy_r167()
+ {
+ $this->_retvalue = '$' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 2954 "smarty_internal_templateparser.php"
+ #line 1121 "smarty_internal_templateparser.y"
+ function yy_r168()
+ {
+ $this->_retvalue = '==';
+ }
+ #line 2959 "smarty_internal_templateparser.php"
+ #line 1125 "smarty_internal_templateparser.y"
+ function yy_r169()
+ {
+ $this->_retvalue = '!=';
+ }
+ #line 2964 "smarty_internal_templateparser.php"
+ #line 1129 "smarty_internal_templateparser.y"
+ function yy_r170()
+ {
+ $this->_retvalue = '>';
+ }
+ #line 2969 "smarty_internal_templateparser.php"
+ #line 1133 "smarty_internal_templateparser.y"
+ function yy_r171()
+ {
+ $this->_retvalue = '<';
+ }
+ #line 2974 "smarty_internal_templateparser.php"
+ #line 1137 "smarty_internal_templateparser.y"
+ function yy_r172()
+ {
+ $this->_retvalue = '>=';
+ }
+ #line 2979 "smarty_internal_templateparser.php"
+ #line 1141 "smarty_internal_templateparser.y"
+ function yy_r173()
+ {
+ $this->_retvalue = '<=';
+ }
+ #line 2984 "smarty_internal_templateparser.php"
+ #line 1145 "smarty_internal_templateparser.y"
+ function yy_r174()
+ {
+ $this->_retvalue = '===';
+ }
+ #line 2989 "smarty_internal_templateparser.php"
+ #line 1149 "smarty_internal_templateparser.y"
+ function yy_r175()
+ {
+ $this->_retvalue = '!==';
+ }
+ #line 2994 "smarty_internal_templateparser.php"
+ #line 1153 "smarty_internal_templateparser.y"
+ function yy_r176()
+ {
+ $this->_retvalue = '%';
+ }
+ #line 2999 "smarty_internal_templateparser.php"
+ #line 1157 "smarty_internal_templateparser.y"
+ function yy_r177()
+ {
+ $this->_retvalue = '&&';
+ }
+ #line 3004 "smarty_internal_templateparser.php"
+ #line 1161 "smarty_internal_templateparser.y"
+ function yy_r178()
+ {
+ $this->_retvalue = '||';
+ }
+ #line 3009 "smarty_internal_templateparser.php"
+ #line 1165 "smarty_internal_templateparser.y"
+ function yy_r179()
+ {
+ $this->_retvalue = ' XOR ';
+ }
+ #line 3014 "smarty_internal_templateparser.php"
+ #line 1172 "smarty_internal_templateparser.y"
+ function yy_r180()
+ {
+ $this->_retvalue = 'array(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
+ }
+ #line 3019 "smarty_internal_templateparser.php"
+ #line 1180 "smarty_internal_templateparser.y"
+ function yy_r182()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 3024 "smarty_internal_templateparser.php"
+ #line 1188 "smarty_internal_templateparser.y"
+ function yy_r184()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '=>' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 3029 "smarty_internal_templateparser.php"
+ #line 1192 "smarty_internal_templateparser.y"
+ function yy_r185()
+ {
+ $this->_retvalue = '\'' . $this->yystack[$this->yyidx + - 2]->minor . '\'=>' . $this->yystack[$this->yyidx + 0]->minor;
+ }
+ #line 3034 "smarty_internal_templateparser.php"
+ #line 1204 "smarty_internal_templateparser.y"
+ function yy_r187()
+ {
+ $this->_retvalue = "''";
+ }
+ #line 3039 "smarty_internal_templateparser.php"
+ #line 1208 "smarty_internal_templateparser.y"
+ function yy_r188()
+ {
+ $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor->to_smarty_php();
+ }
+ #line 3044 "smarty_internal_templateparser.php"
+ #line 1213 "smarty_internal_templateparser.y"
+ function yy_r189()
+ {
+ $this->yystack[$this->yyidx + - 1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor);
+ $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
+ }
+ #line 3050 "smarty_internal_templateparser.php"
+ #line 1218 "smarty_internal_templateparser.y"
+ function yy_r190()
+ {
+ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor);
+ }
+ #line 3055 "smarty_internal_templateparser.php"
+ #line 1222 "smarty_internal_templateparser.y"
+ function yy_r191()
+ {
+ $this->_retvalue = new _smarty_code($this, '(string)' . $this->yystack[$this->yyidx + - 1]->minor);
+ }
+ #line 3060 "smarty_internal_templateparser.php"
+ #line 1230 "smarty_internal_templateparser.y"
+ function yy_r193()
+ {
+ $this->_retvalue = new _smarty_code($this, '(string)$_smarty_tpl->tpl_vars[\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\']->value');
+ }
+ #line 3065 "smarty_internal_templateparser.php"
+ #line 1238 "smarty_internal_templateparser.y"
+ function yy_r195()
+ {
+ $this->_retvalue = new _smarty_code($this, '(string)(' . $this->yystack[$this->yyidx + - 1]->minor . ')');
+ }
+ #line 3070 "smarty_internal_templateparser.php"
+ #line 1242 "smarty_internal_templateparser.y"
+ function yy_r196()
+ {
+ $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + - 1]->minor);
+ }
+ #line 3075 "smarty_internal_templateparser.php"
+ #line 1246 "smarty_internal_templateparser.y"
+ function yy_r197()
+ {
+ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor);
}
-#line 2895 "smarty_internal_templateparser.php"
-#line 999 "smarty_internal_templateparser.y"
- function yy_r152(){
- if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) == '_') {
- $this->compiler->trigger_template_error (self::Err1);
- }
- $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
- }
-#line 2903 "smarty_internal_templateparser.php"
-#line 1006 "smarty_internal_templateparser.y"
- function yy_r153(){
- if ($this->security) {
- $this->compiler->trigger_template_error (self::Err2);
- }
- $this->prefix_number++;
- $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->compileVariable("'".$this->yystack[$this->yyidx + -3]->minor."'").';?>';
- $this->_retvalue = '$_tmp'.$this->prefix_number.'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')';
- }
-#line 2913 "smarty_internal_templateparser.php"
-#line 1017 "smarty_internal_templateparser.y"
- function yy_r154(){
- $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor));
- }
-#line 2918 "smarty_internal_templateparser.php"
-#line 1034 "smarty_internal_templateparser.y"
- function yy_r157(){
- $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)));
- }
-#line 2923 "smarty_internal_templateparser.php"
-#line 1038 "smarty_internal_templateparser.y"
- function yy_r158(){
- $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor));
- }
-#line 2928 "smarty_internal_templateparser.php"
-#line 1046 "smarty_internal_templateparser.y"
- function yy_r160(){
- $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2933 "smarty_internal_templateparser.php"
-#line 1054 "smarty_internal_templateparser.y"
- function yy_r161(){
- $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor);
- }
-#line 2938 "smarty_internal_templateparser.php"
-#line 1088 "smarty_internal_templateparser.y"
- function yy_r168(){
- $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2943 "smarty_internal_templateparser.php"
-#line 1093 "smarty_internal_templateparser.y"
- function yy_r169(){
- $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 2948 "smarty_internal_templateparser.php"
-#line 1099 "smarty_internal_templateparser.y"
- function yy_r170(){
- $this->_retvalue = '==';
- }
-#line 2953 "smarty_internal_templateparser.php"
-#line 1103 "smarty_internal_templateparser.y"
- function yy_r171(){
- $this->_retvalue = '!=';
- }
-#line 2958 "smarty_internal_templateparser.php"
-#line 1107 "smarty_internal_templateparser.y"
- function yy_r172(){
- $this->_retvalue = '>';
- }
-#line 2963 "smarty_internal_templateparser.php"
-#line 1111 "smarty_internal_templateparser.y"
- function yy_r173(){
- $this->_retvalue = '<';
- }
-#line 2968 "smarty_internal_templateparser.php"
-#line 1115 "smarty_internal_templateparser.y"
- function yy_r174(){
- $this->_retvalue = '>=';
- }
-#line 2973 "smarty_internal_templateparser.php"
-#line 1119 "smarty_internal_templateparser.y"
- function yy_r175(){
- $this->_retvalue = '<=';
- }
-#line 2978 "smarty_internal_templateparser.php"
-#line 1123 "smarty_internal_templateparser.y"
- function yy_r176(){
- $this->_retvalue = '===';
- }
-#line 2983 "smarty_internal_templateparser.php"
-#line 1127 "smarty_internal_templateparser.y"
- function yy_r177(){
- $this->_retvalue = '!==';
- }
-#line 2988 "smarty_internal_templateparser.php"
-#line 1131 "smarty_internal_templateparser.y"
- function yy_r178(){
- $this->_retvalue = '%';
- }
-#line 2993 "smarty_internal_templateparser.php"
-#line 1135 "smarty_internal_templateparser.y"
- function yy_r179(){
- $this->_retvalue = '&&';
- }
-#line 2998 "smarty_internal_templateparser.php"
-#line 1139 "smarty_internal_templateparser.y"
- function yy_r180(){
- $this->_retvalue = '||';
- }
-#line 3003 "smarty_internal_templateparser.php"
-#line 1143 "smarty_internal_templateparser.y"
- function yy_r181(){
- $this->_retvalue = ' XOR ';
- }
-#line 3008 "smarty_internal_templateparser.php"
-#line 1150 "smarty_internal_templateparser.y"
- function yy_r182(){
- $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')';
- }
-#line 3013 "smarty_internal_templateparser.php"
-#line 1158 "smarty_internal_templateparser.y"
- function yy_r184(){
- $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 3018 "smarty_internal_templateparser.php"
-#line 1166 "smarty_internal_templateparser.y"
- function yy_r186(){
- $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 3023 "smarty_internal_templateparser.php"
-#line 1170 "smarty_internal_templateparser.y"
- function yy_r187(){
- $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor;
- }
-#line 3028 "smarty_internal_templateparser.php"
-#line 1182 "smarty_internal_templateparser.y"
- function yy_r189(){
- $this->_retvalue = "''";
- }
-#line 3033 "smarty_internal_templateparser.php"
-#line 1186 "smarty_internal_templateparser.y"
- function yy_r190(){
- $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php();
- }
-#line 3038 "smarty_internal_templateparser.php"
-#line 1191 "smarty_internal_templateparser.y"
- function yy_r191(){
- $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor);
- $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
- }
-#line 3044 "smarty_internal_templateparser.php"
-#line 1196 "smarty_internal_templateparser.y"
- function yy_r192(){
- $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor);
- }
-#line 3049 "smarty_internal_templateparser.php"
-#line 1200 "smarty_internal_templateparser.y"
- function yy_r193(){
- $this->_retvalue = new _smarty_code($this, '(string)'.$this->yystack[$this->yyidx + -1]->minor);
- }
-#line 3054 "smarty_internal_templateparser.php"
-#line 1208 "smarty_internal_templateparser.y"
- function yy_r195(){
- $this->_retvalue = new _smarty_code($this, '(string)$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value');
- }
-#line 3059 "smarty_internal_templateparser.php"
-#line 1216 "smarty_internal_templateparser.y"
- function yy_r197(){
- $this->_retvalue = new _smarty_code($this, '(string)('.$this->yystack[$this->yyidx + -1]->minor.')');
- }
-#line 3064 "smarty_internal_templateparser.php"
-#line 1220 "smarty_internal_templateparser.y"
- function yy_r198(){
- $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
- }
-#line 3069 "smarty_internal_templateparser.php"
-#line 1224 "smarty_internal_templateparser.y"
- function yy_r199(){
- $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor);
- }
-#line 3074 "smarty_internal_templateparser.php"
+
+ #line 3080 "smarty_internal_templateparser.php"
private $_retvalue;
- function yy_reduce($yyruleno)
+ public function yy_reduce($yyruleno)
{
$yymsp = $this->yystack[$this->yyidx];
- if (self::$yyTraceFILE && $yyruleno >= 0
- && $yyruleno < count(self::$yyRuleName)) {
- fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
- self::$yyTracePrompt, $yyruleno,
- self::$yyRuleName[$yyruleno]);
+ if ($this->yyTraceFILE && $yyruleno >= 0
+ && $yyruleno < count(self::$yyRuleName)
+ ) {
+ fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n",
+ $this->yyTracePrompt, $yyruleno,
+ self::$yyRuleName[$yyruleno]);
}
$this->_retvalue = $yy_lefthand_side = null;
@@ -3099,14 +4416,14 @@ static public $yy_action = array(
$yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
$yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
$this->yyidx -= $yysize;
- for($i = $yysize; $i; $i--) {
+ for ($i = $yysize; $i; $i --) {
// pop all of the right-hand side parameters
array_pop($this->yystack);
}
$yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
if ($yyact < self::YYNSTATE) {
- if (!self::$yyTraceFILE && $yysize) {
- $this->yyidx++;
+ if (!$this->yyTraceFILE && $yysize) {
+ $this->yyidx ++;
$x = new TP_yyStackEntry;
$x->stateno = $yyact;
$x->major = $yygoto;
@@ -3120,73 +4437,75 @@ static public $yy_action = array(
}
}
- function yy_parse_failed()
+ public function yy_parse_failed()
{
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
}
while ($this->yyidx >= 0) {
$this->yy_pop_parser_stack();
}
}
- function yy_syntax_error($yymajor, $TOKEN)
+ public function yy_syntax_error($yymajor, $TOKEN)
{
-#line 77 "smarty_internal_templateparser.y"
+ #line 75 "smarty_internal_templateparser.y"
- $this->internalError = true;
- $this->yymajor = $yymajor;
- $this->compiler->trigger_template_error();
-#line 3137 "smarty_internal_templateparser.php"
+ $this->internalError = true;
+ $this->yymajor = $yymajor;
+ $this->compiler->trigger_template_error();
+ #line 3142 "smarty_internal_templateparser.php"
}
- function yy_accept()
+ public function yy_accept()
{
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
}
while ($this->yyidx >= 0) {
$stack = $this->yy_pop_parser_stack();
}
-#line 69 "smarty_internal_templateparser.y"
+ #line 66 "smarty_internal_templateparser.y"
+
+ $this->successful = !$this->internalError;
+ $this->internalError = false;
+ $this->retvalue = $this->_retvalue;
+ //echo $this->retvalue."\n\n";
- $this->successful = !$this->internalError;
- $this->internalError = false;
- $this->retvalue = $this->_retvalue;
- //echo $this->retvalue."\n\n";
-#line 3155 "smarty_internal_templateparser.php"
+ #line 3160 "smarty_internal_templateparser.php"
}
- function doParse($yymajor, $yytokenvalue)
+ public function doParse($yymajor, $yytokenvalue)
{
$yyerrorhit = 0; /* True if yymajor has invoked an error */
if ($this->yyidx === null || $this->yyidx < 0) {
$this->yyidx = 0;
- $this->yyerrcnt = -1;
+ $this->yyerrcnt = - 1;
$x = new TP_yyStackEntry;
$x->stateno = 0;
$x->major = 0;
$this->yystack = array();
array_push($this->yystack, $x);
}
- $yyendofinput = ($yymajor==0);
+ $yyendofinput = ($yymajor == 0);
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sInput %s\n",
- self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sInput %s\n",
+ $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
}
do {
$yyact = $this->yy_find_shift_action($yymajor);
if ($yymajor < self::YYERRORSYMBOL &&
- !$this->yy_is_expected_token($yymajor)) {
+ !$this->yy_is_expected_token($yymajor)
+ ) {
// force a syntax error
$yyact = self::YY_ERROR_ACTION;
}
if ($yyact < self::YYNSTATE) {
$this->yy_shift($yyact, $yymajor, $yytokenvalue);
- $this->yyerrcnt--;
+ $this->yyerrcnt --;
if ($yyendofinput && $this->yyidx >= 0) {
$yymajor = 0;
} else {
@@ -3195,30 +4514,30 @@ static public $yy_action = array(
} elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
$this->yy_reduce($yyact - self::YYNSTATE);
} elseif ($yyact == self::YY_ERROR_ACTION) {
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
- self::$yyTracePrompt);
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sSyntax Error!\n",
+ $this->yyTracePrompt);
}
if (self::YYERRORSYMBOL) {
if ($this->yyerrcnt < 0) {
$this->yy_syntax_error($yymajor, $yytokenvalue);
}
$yymx = $this->yystack[$this->yyidx]->major;
- if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
- if (self::$yyTraceFILE) {
- fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
- self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
+ if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
+ if ($this->yyTraceFILE) {
+ fprintf($this->yyTraceFILE, "%sDiscard input token %s\n",
+ $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
}
$this->yy_destructor($yymajor, $yytokenvalue);
$yymajor = self::YYNOCODE;
} else {
while ($this->yyidx >= 0 &&
- $yymx != self::YYERRORSYMBOL &&
- ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
- ){
+ $yymx != self::YYERRORSYMBOL &&
+ ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
+ ) {
$this->yy_pop_parser_stack();
}
- if ($this->yyidx < 0 || $yymajor==0) {
+ if ($this->yyidx < 0 || $yymajor == 0) {
$this->yy_destructor($yymajor, $yytokenvalue);
$this->yy_parse_failed();
$yymajor = self::YYNOCODE;
@@ -3247,4 +4566,3 @@ static public $yy_action = array(
} while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
}
}
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_utility.php b/library/Smarty/libs/sysplugins/smarty_internal_utility.php
index 3e362855c..0a5975bba 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_utility.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_utility.php
@@ -3,47 +3,42 @@
* Project: Smarty: the PHP compiling template engine
* File: smarty_internal_utility.php
* SVN: $Id: $
- *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
- *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
* For questions, help, comments, discussion, etc., please join the
* Smarty mailing list. Send a blank e-mail to
* smarty-discussion-subscribe@googlegroups.com
*
- * @link http://www.smarty.net/
- * @copyright 2008 New Digital Group, Inc.
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author Uwe Tews
- * @package Smarty
+ * @link http://www.smarty.net/
+ * @copyright 2008 New Digital Group, Inc.
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author Uwe Tews
+ * @package Smarty
* @subpackage PluginsInternal
- * @version 3-SVN$Rev: 3286 $
+ * @version 3-SVN$Rev: 3286 $
*/
-
/**
* Utility class
*
- * @package Smarty
+ * @package Smarty
* @subpackage Security
*/
-class Smarty_Internal_Utility {
-
+class Smarty_Internal_Utility
+{
/**
* private constructor to prevent calls creation of new instances
*/
- private final function __construct()
+ final private function __construct()
{
// intentionally left blank
}
@@ -51,14 +46,15 @@ class Smarty_Internal_Utility {
/**
* Compile all template files
*
- * @param string $extension template file name extension
- * @param bool $force_compile force all to recompile
- * @param int $time_limit set maximum execution time
- * @param int $max_errors set maximum allowed errors
- * @param Smarty $smarty Smarty instance
+ * @param string $extension template file name extension
+ * @param bool $force_compile force all to recompile
+ * @param int $time_limit set maximum execution time
+ * @param int $max_errors set maximum allowed errors
+ * @param Smarty $smarty Smarty instance
+ *
* @return integer number of template files compiled
*/
- public static function compileAllTemplates($extention, $force_compile, $time_limit, $max_errors, Smarty $smarty)
+ public static function compileAllTemplates($extension, $force_compile, $time_limit, $max_errors, Smarty $smarty)
{
// switch off time limit
if (function_exists('set_time_limit')) {
@@ -68,26 +64,30 @@ class Smarty_Internal_Utility {
$_count = 0;
$_error_count = 0;
// loop over array of template directories
- foreach($smarty->getTemplateDir() as $_dir) {
+ foreach ($smarty->getTemplateDir() as $_dir) {
$_compileDirs = new RecursiveDirectoryIterator($_dir);
$_compile = new RecursiveIteratorIterator($_compileDirs);
foreach ($_compile as $_fileinfo) {
- if (substr($_fileinfo->getBasename(),0,1) == '.' || strpos($_fileinfo, '.svn') !== false) continue;
$_file = $_fileinfo->getFilename();
- if (!substr_compare($_file, $extention, - strlen($extention)) == 0) continue;
- if ($_fileinfo->getPath() == substr($_dir, 0, -1)) {
- $_template_file = $_file;
+ if (substr(basename($_fileinfo->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) {
+ continue;
+ }
+ if (!substr_compare($_file, $extension, - strlen($extension)) == 0) {
+ continue;
+ }
+ if ($_fileinfo->getPath() == substr($_dir, 0, - 1)) {
+ $_template_file = $_file;
} else {
- $_template_file = substr($_fileinfo->getPath(), strlen($_dir)) . DS . $_file;
+ $_template_file = substr($_fileinfo->getPath(), strlen($_dir)) . DS . $_file;
}
echo '<br>', $_dir, '---', $_template_file;
flush();
$_start_time = microtime(true);
try {
- $_tpl = $smarty->createTemplate($_template_file,null,null,null,false);
+ $_tpl = $smarty->createTemplate($_template_file, null, null, null, false);
if ($_tpl->mustCompile()) {
$_tpl->compileTemplateSource();
- $_count++;
+ $_count ++;
echo ' compiled in ', microtime(true) - $_start_time, ' seconds';
flush();
} else {
@@ -97,7 +97,7 @@ class Smarty_Internal_Utility {
}
catch (Exception $e) {
echo 'Error: ', $e->getMessage(), "<br><br>";
- $_error_count++;
+ $_error_count ++;
}
// free memory
$smarty->template_objects = array();
@@ -109,20 +109,22 @@ class Smarty_Internal_Utility {
}
}
}
+
return $_count;
}
/**
* Compile all config files
*
- * @param string $extension config file name extension
- * @param bool $force_compile force all to recompile
- * @param int $time_limit set maximum execution time
- * @param int $max_errors set maximum allowed errors
- * @param Smarty $smarty Smarty instance
+ * @param string $extension config file name extension
+ * @param bool $force_compile force all to recompile
+ * @param int $time_limit set maximum execution time
+ * @param int $max_errors set maximum allowed errors
+ * @param Smarty $smarty Smarty instance
+ *
* @return integer number of config files compiled
*/
- public static function compileAllConfig($extention, $force_compile, $time_limit, $max_errors, Smarty $smarty)
+ public static function compileAllConfig($extension, $force_compile, $time_limit, $max_errors, Smarty $smarty)
{
// switch off time limit
if (function_exists('set_time_limit')) {
@@ -132,14 +134,18 @@ class Smarty_Internal_Utility {
$_count = 0;
$_error_count = 0;
// loop over array of template directories
- foreach($smarty->getConfigDir() as $_dir) {
+ foreach ($smarty->getConfigDir() as $_dir) {
$_compileDirs = new RecursiveDirectoryIterator($_dir);
$_compile = new RecursiveIteratorIterator($_compileDirs);
foreach ($_compile as $_fileinfo) {
- if (substr($_fileinfo->getBasename(),0,1) == '.' || strpos($_fileinfo, '.svn') !== false) continue;
$_file = $_fileinfo->getFilename();
- if (!substr_compare($_file, $extention, - strlen($extention)) == 0) continue;
- if ($_fileinfo->getPath() == substr($_dir, 0, -1)) {
+ if (substr(basename($_fileinfo->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) {
+ continue;
+ }
+ if (!substr_compare($_file, $extension, - strlen($extension)) == 0) {
+ continue;
+ }
+ if ($_fileinfo->getPath() == substr($_dir, 0, - 1)) {
$_config_file = $_file;
} else {
$_config_file = substr($_fileinfo->getPath(), strlen($_dir)) . DS . $_file;
@@ -151,7 +157,7 @@ class Smarty_Internal_Utility {
$_config = new Smarty_Internal_Config($_config_file, $smarty);
if ($_config->mustCompile()) {
$_config->compileConfigSource();
- $_count++;
+ $_count ++;
echo ' compiled in ', microtime(true) - $_start_time, ' seconds';
flush();
} else {
@@ -161,7 +167,7 @@ class Smarty_Internal_Utility {
}
catch (Exception $e) {
echo 'Error: ', $e->getMessage(), "<br><br>";
- $_error_count++;
+ $_error_count ++;
}
if ($max_errors !== null && $_error_count == $max_errors) {
echo '<br><br>too many errors';
@@ -169,23 +175,25 @@ class Smarty_Internal_Utility {
}
}
}
+
return $_count;
}
/**
* Delete compiled template file
*
- * @param string $resource_name template name
- * @param string $compile_id compile id
- * @param integer $exp_time expiration time
- * @param Smarty $smarty Smarty instance
+ * @param string $resource_name template name
+ * @param string $compile_id compile id
+ * @param integer $exp_time expiration time
+ * @param Smarty $smarty Smarty instance
+ *
* @return integer number of template files deleted
*/
public static function clearCompiledTemplate($resource_name, $compile_id, $exp_time, Smarty $smarty)
{
- $_compile_dir = $smarty->getCompileDir();
+ $_compile_dir = realpath($smarty->getCompileDir()) . '/';
$_compile_id = isset($compile_id) ? preg_replace('![^\w\|]+!', '_', $compile_id) : null;
- $_dir_sep = $smarty->use_sub_dirs ? DS : '^';
+ $_dir_sep = $smarty->use_sub_dirs ? '/' : '^';
if (isset($resource_name)) {
$_save_stat = $smarty->caching;
$smarty->caching = false;
@@ -205,13 +213,13 @@ class Smarty_Internal_Utility {
unset($smarty->template_objects[$_templateId]);
if ($tpl->source->exists) {
- $_resource_part_1 = basename(str_replace('^', '/', $tpl->compiled->filepath));
- $_resource_part_1_length = strlen($_resource_part_1);
+ $_resource_part_1 = basename(str_replace('^', '/', $tpl->compiled->filepath));
+ $_resource_part_1_length = strlen($_resource_part_1);
} else {
return 0;
}
- $_resource_part_2 = str_replace('.php','.cache.php',$_resource_part_1);
+ $_resource_part_2 = str_replace('.php', '.cache.php', $_resource_part_1);
$_resource_part_2_length = strlen($_resource_part_2);
}
$_dir = $_compile_dir;
@@ -219,22 +227,24 @@ class Smarty_Internal_Utility {
$_dir .= $_compile_id . $_dir_sep;
}
if (isset($_compile_id)) {
- $_compile_id_part = $_compile_dir . $_compile_id . $_dir_sep;
+ $_compile_id_part = str_replace('\\', '/', $_compile_dir . $_compile_id . $_dir_sep);
$_compile_id_part_length = strlen($_compile_id_part);
}
$_count = 0;
try {
$_compileDirs = new RecursiveDirectoryIterator($_dir);
- // NOTE: UnexpectedValueException thrown for PHP >= 5.3
- } catch (Exception $e) {
+ // NOTE: UnexpectedValueException thrown for PHP >= 5.3
+ }
+ catch (Exception $e) {
return 0;
}
$_compile = new RecursiveIteratorIterator($_compileDirs, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($_compile as $_file) {
- if (substr($_file->getBasename(), 0, 1) == '.' || strpos($_file, '.svn') !== false)
+ if (substr(basename($_file->getPathname()), 0, 1) == '.' || strpos($_file, '.svn') !== false) {
continue;
+ }
- $_filepath = (string) $_file;
+ $_filepath = str_replace('\\', '/', (string) $_file);
if ($_file->isDir()) {
if (!$_compile->isDot()) {
@@ -243,12 +253,13 @@ class Smarty_Internal_Utility {
}
} else {
$unlink = false;
- if ((!isset($_compile_id) || (isset($_filepath[$_compile_id_part_length]) && !strncmp($_filepath, $_compile_id_part, $_compile_id_part_length)))
+ if ((!isset($_compile_id) || (isset($_filepath[$_compile_id_part_length]) && $a = !strncmp($_filepath, $_compile_id_part, $_compile_id_part_length)))
&& (!isset($resource_name)
|| (isset($_filepath[$_resource_part_1_length])
- && substr_compare($_filepath, $_resource_part_1, -$_resource_part_1_length, $_resource_part_1_length) == 0)
+ && substr_compare($_filepath, $_resource_part_1, - $_resource_part_1_length, $_resource_part_1_length) == 0)
|| (isset($_filepath[$_resource_part_2_length])
- && substr_compare($_filepath, $_resource_part_2, -$_resource_part_2_length, $_resource_part_2_length) == 0))) {
+ && substr_compare($_filepath, $_resource_part_2, - $_resource_part_2_length, $_resource_part_2_length) == 0))
+ ) {
if (isset($exp_time)) {
if (time() - @filemtime($_filepath) >= $exp_time) {
$unlink = true;
@@ -259,40 +270,44 @@ class Smarty_Internal_Utility {
}
if ($unlink && @unlink($_filepath)) {
- $_count++;
+ $_count ++;
}
}
}
// clear compiled cache
Smarty_Resource::$sources = array();
Smarty_Resource::$compileds = array();
+
return $_count;
}
/**
* Return array of tag/attributes of all tags used by an template
*
- * @param Smarty_Internal_Template $templae template object
- * @return array of tag/attributes
+ * @param Smarty_Internal_Template $template
+ *
+ * @throws Exception
+ * @throws SmartyException
+ * @return array of tag/attributes
*/
public static function getTags(Smarty_Internal_Template $template)
{
$template->smarty->get_used_tags = true;
$template->compileTemplateSource();
+
return $template->used_tags;
}
-
/**
* diagnose Smarty setup
- *
* If $errors is secified, the diagnostic report will be appended to the array, rather than being output.
*
- * @param Smarty $smarty Smarty instance to test
- * @param array $errors array to push results into rather than outputting them
- * @return bool status, true if everything is fine, false else
+ * @param Smarty $smarty Smarty instance to test
+ * @param array $errors array to push results into rather than outputting them
+ *
+ * @return bool status, true if everything is fine, false else
*/
- public static function testInstall(Smarty $smarty, &$errors=null)
+ public static function testInstall(Smarty $smarty, &$errors = null)
{
$status = true;
@@ -305,10 +320,10 @@ class Smarty_Internal_Utility {
$_stream_resolve_include_path = function_exists('stream_resolve_include_path');
// test if all registered template_dir are accessible
- foreach($smarty->getTemplateDir() as $template_dir) {
+ foreach ($smarty->getTemplateDir() as $template_dir) {
$_template_dir = $template_dir;
$template_dir = realpath($template_dir);
- // resolve include_path or fail existance
+ // resolve include_path or fail existence
if (!$template_dir) {
if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_template_dir)) {
// try PHP include_path
@@ -371,7 +386,6 @@ class Smarty_Internal_Utility {
}
}
-
if ($errors === null) {
echo "Testing compile directory...\n";
}
@@ -417,19 +431,18 @@ class Smarty_Internal_Utility {
}
}
-
if ($errors === null) {
echo "Testing plugins directory...\n";
}
// test if all registered plugins_dir are accessible
// and if core plugins directory is still registered
- $_core_plugins_dir = realpath(dirname(__FILE__) .'/../plugins');
+ $_core_plugins_dir = realpath(dirname(__FILE__) . '/../plugins');
$_core_plugins_available = false;
- foreach($smarty->getPluginsDir() as $plugin_dir) {
+ foreach ($smarty->getPluginsDir() as $plugin_dir) {
$_plugin_dir = $plugin_dir;
$plugin_dir = realpath($plugin_dir);
- // resolve include_path or fail existance
+ // resolve include_path or fail existence
if (!$plugin_dir) {
if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_plugin_dir)) {
// try PHP include_path
@@ -510,7 +523,6 @@ class Smarty_Internal_Utility {
echo "Testing cache directory...\n";
}
-
// test if all registered cache_dir is accessible
$__cache_dir = $smarty->getCacheDir();
$_cache_dir = realpath($__cache_dir);
@@ -552,16 +564,15 @@ class Smarty_Internal_Utility {
}
}
-
if ($errors === null) {
echo "Testing configs directory...\n";
}
// test if all registered config_dir are accessible
- foreach($smarty->getConfigDir() as $config_dir) {
+ foreach ($smarty->getConfigDir() as $config_dir) {
$_config_dir = $config_dir;
$config_dir = realpath($config_dir);
- // resolve include_path or fail existance
+ // resolve include_path or fail existence
if (!$config_dir) {
if ($smarty->use_include_path && !preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $_config_dir)) {
// try PHP include_path
@@ -624,7 +635,6 @@ class Smarty_Internal_Utility {
}
}
-
if ($errors === null) {
echo "Testing sysplugin files...\n";
}
@@ -632,75 +642,75 @@ class Smarty_Internal_Utility {
$source = SMARTY_SYSPLUGINS_DIR;
if (is_dir($source)) {
$expected = array(
- "smarty_cacheresource.php" => true,
- "smarty_cacheresource_custom.php" => true,
- "smarty_cacheresource_keyvaluestore.php" => true,
- "smarty_config_source.php" => true,
- "smarty_internal_cacheresource_file.php" => true,
- "smarty_internal_compile_append.php" => true,
- "smarty_internal_compile_assign.php" => true,
- "smarty_internal_compile_block.php" => true,
- "smarty_internal_compile_break.php" => true,
- "smarty_internal_compile_call.php" => true,
- "smarty_internal_compile_capture.php" => true,
- "smarty_internal_compile_config_load.php" => true,
- "smarty_internal_compile_continue.php" => true,
- "smarty_internal_compile_debug.php" => true,
- "smarty_internal_compile_eval.php" => true,
- "smarty_internal_compile_extends.php" => true,
- "smarty_internal_compile_for.php" => true,
- "smarty_internal_compile_foreach.php" => true,
- "smarty_internal_compile_function.php" => true,
- "smarty_internal_compile_if.php" => true,
- "smarty_internal_compile_include.php" => true,
- "smarty_internal_compile_include_php.php" => true,
- "smarty_internal_compile_insert.php" => true,
- "smarty_internal_compile_ldelim.php" => true,
- "smarty_internal_compile_nocache.php" => true,
- "smarty_internal_compile_private_block_plugin.php" => true,
- "smarty_internal_compile_private_function_plugin.php" => true,
- "smarty_internal_compile_private_modifier.php" => true,
+ "smarty_cacheresource.php" => true,
+ "smarty_cacheresource_custom.php" => true,
+ "smarty_cacheresource_keyvaluestore.php" => true,
+ "smarty_config_source.php" => true,
+ "smarty_internal_cacheresource_file.php" => true,
+ "smarty_internal_compile_append.php" => true,
+ "smarty_internal_compile_assign.php" => true,
+ "smarty_internal_compile_block.php" => true,
+ "smarty_internal_compile_break.php" => true,
+ "smarty_internal_compile_call.php" => true,
+ "smarty_internal_compile_capture.php" => true,
+ "smarty_internal_compile_config_load.php" => true,
+ "smarty_internal_compile_continue.php" => true,
+ "smarty_internal_compile_debug.php" => true,
+ "smarty_internal_compile_eval.php" => true,
+ "smarty_internal_compile_extends.php" => true,
+ "smarty_internal_compile_for.php" => true,
+ "smarty_internal_compile_foreach.php" => true,
+ "smarty_internal_compile_function.php" => true,
+ "smarty_internal_compile_if.php" => true,
+ "smarty_internal_compile_include.php" => true,
+ "smarty_internal_compile_include_php.php" => true,
+ "smarty_internal_compile_insert.php" => true,
+ "smarty_internal_compile_ldelim.php" => true,
+ "smarty_internal_compile_nocache.php" => true,
+ "smarty_internal_compile_private_block_plugin.php" => true,
+ "smarty_internal_compile_private_function_plugin.php" => true,
+ "smarty_internal_compile_private_modifier.php" => true,
"smarty_internal_compile_private_object_block_function.php" => true,
- "smarty_internal_compile_private_object_function.php" => true,
- "smarty_internal_compile_private_print_expression.php" => true,
- "smarty_internal_compile_private_registered_block.php" => true,
- "smarty_internal_compile_private_registered_function.php" => true,
- "smarty_internal_compile_private_special_variable.php" => true,
- "smarty_internal_compile_rdelim.php" => true,
- "smarty_internal_compile_section.php" => true,
- "smarty_internal_compile_setfilter.php" => true,
- "smarty_internal_compile_while.php" => true,
- "smarty_internal_compilebase.php" => true,
- "smarty_internal_config.php" => true,
- "smarty_internal_config_file_compiler.php" => true,
- "smarty_internal_configfilelexer.php" => true,
- "smarty_internal_configfileparser.php" => true,
- "smarty_internal_data.php" => true,
- "smarty_internal_debug.php" => true,
- "smarty_internal_filter_handler.php" => true,
- "smarty_internal_function_call_handler.php" => true,
- "smarty_internal_get_include_path.php" => true,
- "smarty_internal_nocache_insert.php" => true,
- "smarty_internal_parsetree.php" => true,
- "smarty_internal_resource_eval.php" => true,
- "smarty_internal_resource_extends.php" => true,
- "smarty_internal_resource_file.php" => true,
- "smarty_internal_resource_registered.php" => true,
- "smarty_internal_resource_stream.php" => true,
- "smarty_internal_resource_string.php" => true,
- "smarty_internal_smartytemplatecompiler.php" => true,
- "smarty_internal_template.php" => true,
- "smarty_internal_templatebase.php" => true,
- "smarty_internal_templatecompilerbase.php" => true,
- "smarty_internal_templatelexer.php" => true,
- "smarty_internal_templateparser.php" => true,
- "smarty_internal_utility.php" => true,
- "smarty_internal_write_file.php" => true,
- "smarty_resource.php" => true,
- "smarty_resource_custom.php" => true,
- "smarty_resource_recompiled.php" => true,
- "smarty_resource_uncompiled.php" => true,
- "smarty_security.php" => true,
+ "smarty_internal_compile_private_object_function.php" => true,
+ "smarty_internal_compile_private_print_expression.php" => true,
+ "smarty_internal_compile_private_registered_block.php" => true,
+ "smarty_internal_compile_private_registered_function.php" => true,
+ "smarty_internal_compile_private_special_variable.php" => true,
+ "smarty_internal_compile_rdelim.php" => true,
+ "smarty_internal_compile_section.php" => true,
+ "smarty_internal_compile_setfilter.php" => true,
+ "smarty_internal_compile_while.php" => true,
+ "smarty_internal_compilebase.php" => true,
+ "smarty_internal_config.php" => true,
+ "smarty_internal_config_file_compiler.php" => true,
+ "smarty_internal_configfilelexer.php" => true,
+ "smarty_internal_configfileparser.php" => true,
+ "smarty_internal_data.php" => true,
+ "smarty_internal_debug.php" => true,
+ "smarty_internal_filter_handler.php" => true,
+ "smarty_internal_function_call_handler.php" => true,
+ "smarty_internal_get_include_path.php" => true,
+ "smarty_internal_nocache_insert.php" => true,
+ "smarty_internal_parsetree.php" => true,
+ "smarty_internal_resource_eval.php" => true,
+ "smarty_internal_resource_extends.php" => true,
+ "smarty_internal_resource_file.php" => true,
+ "smarty_internal_resource_registered.php" => true,
+ "smarty_internal_resource_stream.php" => true,
+ "smarty_internal_resource_string.php" => true,
+ "smarty_internal_smartytemplatecompiler.php" => true,
+ "smarty_internal_template.php" => true,
+ "smarty_internal_templatebase.php" => true,
+ "smarty_internal_templatecompilerbase.php" => true,
+ "smarty_internal_templatelexer.php" => true,
+ "smarty_internal_templateparser.php" => true,
+ "smarty_internal_utility.php" => true,
+ "smarty_internal_write_file.php" => true,
+ "smarty_resource.php" => true,
+ "smarty_resource_custom.php" => true,
+ "smarty_resource_recompiled.php" => true,
+ "smarty_resource_uncompiled.php" => true,
+ "smarty_security.php" => true,
);
$iterator = new DirectoryIterator($source);
foreach ($iterator as $file) {
@@ -713,7 +723,7 @@ class Smarty_Internal_Utility {
}
if ($expected) {
$status = false;
- $message = "FAILED: files missing from libs/sysplugins: ". join(', ', array_keys($expected));
+ $message = "FAILED: files missing from libs/sysplugins: " . join(', ', array_keys($expected));
if ($errors === null) {
echo $message . ".\n";
} else {
@@ -724,7 +734,7 @@ class Smarty_Internal_Utility {
}
} else {
$status = false;
- $message = "FAILED: ". SMARTY_SYSPLUGINS_DIR .' is not a directory';
+ $message = "FAILED: " . SMARTY_SYSPLUGINS_DIR . ' is not a directory';
if ($errors === null) {
echo $message . ".\n";
} else {
@@ -739,53 +749,53 @@ class Smarty_Internal_Utility {
$source = SMARTY_PLUGINS_DIR;
if (is_dir($source)) {
$expected = array(
- "block.textformat.php" => true,
- "function.counter.php" => true,
- "function.cycle.php" => true,
- "function.fetch.php" => true,
- "function.html_checkboxes.php" => true,
- "function.html_image.php" => true,
- "function.html_options.php" => true,
- "function.html_radios.php" => true,
- "function.html_select_date.php" => true,
- "function.html_select_time.php" => true,
- "function.html_table.php" => true,
- "function.mailto.php" => true,
- "function.math.php" => true,
- "modifier.capitalize.php" => true,
- "modifier.date_format.php" => true,
- "modifier.debug_print_var.php" => true,
- "modifier.escape.php" => true,
- "modifier.regex_replace.php" => true,
- "modifier.replace.php" => true,
- "modifier.spacify.php" => true,
- "modifier.truncate.php" => true,
- "modifiercompiler.cat.php" => true,
+ "block.textformat.php" => true,
+ "function.counter.php" => true,
+ "function.cycle.php" => true,
+ "function.fetch.php" => true,
+ "function.html_checkboxes.php" => true,
+ "function.html_image.php" => true,
+ "function.html_options.php" => true,
+ "function.html_radios.php" => true,
+ "function.html_select_date.php" => true,
+ "function.html_select_time.php" => true,
+ "function.html_table.php" => true,
+ "function.mailto.php" => true,
+ "function.math.php" => true,
+ "modifier.capitalize.php" => true,
+ "modifier.date_format.php" => true,
+ "modifier.debug_print_var.php" => true,
+ "modifier.escape.php" => true,
+ "modifier.regex_replace.php" => true,
+ "modifier.replace.php" => true,
+ "modifier.spacify.php" => true,
+ "modifier.truncate.php" => true,
+ "modifiercompiler.cat.php" => true,
"modifiercompiler.count_characters.php" => true,
"modifiercompiler.count_paragraphs.php" => true,
- "modifiercompiler.count_sentences.php" => true,
- "modifiercompiler.count_words.php" => true,
- "modifiercompiler.default.php" => true,
- "modifiercompiler.escape.php" => true,
- "modifiercompiler.from_charset.php" => true,
- "modifiercompiler.indent.php" => true,
- "modifiercompiler.lower.php" => true,
- "modifiercompiler.noprint.php" => true,
- "modifiercompiler.string_format.php" => true,
- "modifiercompiler.strip.php" => true,
- "modifiercompiler.strip_tags.php" => true,
- "modifiercompiler.to_charset.php" => true,
- "modifiercompiler.unescape.php" => true,
- "modifiercompiler.upper.php" => true,
- "modifiercompiler.wordwrap.php" => true,
- "outputfilter.trimwhitespace.php" => true,
- "shared.escape_special_chars.php" => true,
- "shared.literal_compiler_param.php" => true,
- "shared.make_timestamp.php" => true,
- "shared.mb_str_replace.php" => true,
- "shared.mb_unicode.php" => true,
- "shared.mb_wordwrap.php" => true,
- "variablefilter.htmlspecialchars.php" => true,
+ "modifiercompiler.count_sentences.php" => true,
+ "modifiercompiler.count_words.php" => true,
+ "modifiercompiler.default.php" => true,
+ "modifiercompiler.escape.php" => true,
+ "modifiercompiler.from_charset.php" => true,
+ "modifiercompiler.indent.php" => true,
+ "modifiercompiler.lower.php" => true,
+ "modifiercompiler.noprint.php" => true,
+ "modifiercompiler.string_format.php" => true,
+ "modifiercompiler.strip.php" => true,
+ "modifiercompiler.strip_tags.php" => true,
+ "modifiercompiler.to_charset.php" => true,
+ "modifiercompiler.unescape.php" => true,
+ "modifiercompiler.upper.php" => true,
+ "modifiercompiler.wordwrap.php" => true,
+ "outputfilter.trimwhitespace.php" => true,
+ "shared.escape_special_chars.php" => true,
+ "shared.literal_compiler_param.php" => true,
+ "shared.make_timestamp.php" => true,
+ "shared.mb_str_replace.php" => true,
+ "shared.mb_unicode.php" => true,
+ "shared.mb_wordwrap.php" => true,
+ "variablefilter.htmlspecialchars.php" => true,
);
$iterator = new DirectoryIterator($source);
foreach ($iterator as $file) {
@@ -798,7 +808,7 @@ class Smarty_Internal_Utility {
}
if ($expected) {
$status = false;
- $message = "FAILED: files missing from libs/plugins: ". join(', ', array_keys($expected));
+ $message = "FAILED: files missing from libs/plugins: " . join(', ', array_keys($expected));
if ($errors === null) {
echo $message . ".\n";
} else {
@@ -809,7 +819,7 @@ class Smarty_Internal_Utility {
}
} else {
$status = false;
- $message = "FAILED: ". SMARTY_PLUGINS_DIR .' is not a directory';
+ $message = "FAILED: " . SMARTY_PLUGINS_DIR . ' is not a directory';
if ($errors === null) {
echo $message . ".\n";
} else {
@@ -824,7 +834,4 @@ class Smarty_Internal_Utility {
return $status;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_write_file.php b/library/Smarty/libs/sysplugins/smarty_internal_write_file.php
index e5d19ce8d..f46fe2b6c 100644
--- a/library/Smarty/libs/sysplugins/smarty_internal_write_file.php
+++ b/library/Smarty/libs/sysplugins/smarty_internal_write_file.php
@@ -2,25 +2,27 @@
/**
* Smarty write file plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsInternal
- * @author Monte Ohrt
+ * @author Monte Ohrt
*/
/**
* Smarty Internal Write File Class
*
- * @package Smarty
+ * @package Smarty
* @subpackage PluginsInternal
*/
-class Smarty_Internal_Write_File {
-
+class Smarty_Internal_Write_File
+{
/**
* Writes file in a safe way to disk
*
- * @param string $_filepath complete filepath
- * @param string $_contents file content
- * @param Smarty $smarty smarty instance
+ * @param string $_filepath complete filepath
+ * @param string $_contents file content
+ * @param Smarty $smarty smarty instance
+ *
+ * @throws SmartyException
* @return boolean true
*/
public static function writeFile($_filepath, $_contents, Smarty $smarty)
@@ -38,17 +40,16 @@ class Smarty_Internal_Write_File {
}
// write to tmp file, then move to overt file lock race condition
- $_tmp_file = $_dirpath . DS . uniqid('wrt', true);
+ $_tmp_file = $_dirpath . DS . str_replace(array('.', ','), '_', uniqid('wrt', true));
if (!file_put_contents($_tmp_file, $_contents)) {
error_reporting($_error_reporting);
throw new SmartyException("unable to write file {$_tmp_file}");
- return false;
- }
-
+ }
+
/*
* Windows' rename() fails if the destination exists,
* Linux' rename() properly handles the overwrite.
- * Simply unlink()ing a file might cause other processes
+ * Simply unlink()ing a file might cause other processes
* currently reading that file to fail, but linux' rename()
* seems to be smart enough to handle that for us.
*/
@@ -71,7 +72,6 @@ class Smarty_Internal_Write_File {
if (!$success) {
error_reporting($_error_reporting);
throw new SmartyException("unable to write file {$_filepath}");
- return false;
}
if ($smarty->_file_perms !== null) {
@@ -80,9 +80,7 @@ class Smarty_Internal_Write_File {
umask($old_umask);
}
error_reporting($_error_reporting);
+
return true;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_resource.php b/library/Smarty/libs/sysplugins/smarty_resource.php
index f79373af3..f478a533d 100644
--- a/library/Smarty/libs/sysplugins/smarty_resource.php
+++ b/library/Smarty/libs/sysplugins/smarty_resource.php
@@ -2,84 +2,91 @@
/**
* Smarty Resource Plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
/**
* Smarty Resource Plugin
- *
* Base implementation for resource plugins
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
*/
-abstract class Smarty_Resource {
+abstract class Smarty_Resource
+{
/**
* cache for Smarty_Template_Source instances
+ *
* @var array
*/
public static $sources = array();
/**
* cache for Smarty_Template_Compiled instances
+ *
* @var array
*/
public static $compileds = array();
/**
* cache for Smarty_Resource instances
+ *
* @var array
*/
public static $resources = array();
/**
* resource types provided by the core
+ *
* @var array
*/
protected static $sysplugins = array(
- 'file' => true,
- 'string' => true,
+ 'file' => true,
+ 'string' => true,
'extends' => true,
- 'stream' => true,
- 'eval' => true,
- 'php' => true
+ 'stream' => true,
+ 'eval' => true,
+ 'php' => true
);
/**
* Name of the Class to compile this resource's contents with
+ *
* @var string
*/
public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler';
/**
* Name of the Class to tokenize this resource's contents with
+ *
* @var string
*/
public $template_lexer_class = 'Smarty_Internal_Templatelexer';
/**
* Name of the Class to parse this resource's contents with
+ *
* @var string
*/
public $template_parser_class = 'Smarty_Internal_Templateparser';
/**
* Load template's source into current template object
- *
* {@internal The loaded source is assigned to $_template->source->content directly.}}
*
- * @param Smarty_Template_Source $source source object
- * @return string template source
- * @throws SmartyException if source cannot be loaded
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string template source
+ * @throws SmartyException if source cannot be loaded
*/
- public abstract function getContent(Smarty_Template_Source $source);
+ abstract public function getContent(Smarty_Template_Source $source);
/**
* populate Source Object with meta data from Resource
*
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Source $source source object
+ * @param Smarty_Internal_Template $_template template object
*/
- public abstract function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null);
+ abstract public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null);
/**
* populate Source Object with timestamp and exists from Resource
@@ -91,17 +98,22 @@ abstract class Smarty_Resource {
// intentionally left blank
}
-
/**
* modify resource_name according to resource handlers specifications
*
- * @param Smarty $smarty Smarty instance
- * @param string $resource_name resource_name to make unique
+ * @param Smarty $smarty Smarty instance
+ * @param string $resource_name resource_name to make unique
+ * @param boolean $is_config flag for config resource
+ *
* @return string unique resource name
*/
- protected function buildUniqueResourceName(Smarty $smarty, $resource_name)
+ protected function buildUniqueResourceName(Smarty $smarty, $resource_name, $is_config = false)
{
- return get_class($this) . '#' . $smarty->joined_template_dir . '#' . $resource_name;
+ if ($is_config) {
+ return get_class($this) . '#' . $smarty->joined_config_dir . '#' . $resource_name;
+ } else {
+ return get_class($this) . '#' . $smarty->joined_template_dir . '#' . $resource_name;
+ }
}
/**
@@ -117,9 +129,9 @@ abstract class Smarty_Resource {
// if use_sub_dirs, break file into directories
if ($_template->smarty->use_sub_dirs) {
$_filepath = substr($_filepath, 0, 2) . DS
- . substr($_filepath, 2, 2) . DS
- . substr($_filepath, 4, 2) . DS
- . $_filepath;
+ . substr($_filepath, 2, 2) . DS
+ . substr($_filepath, 4, 2) . DS
+ . $_filepath;
}
$_compile_dir_sep = $_template->smarty->use_sub_dirs ? DS : '^';
if (isset($_compile_id)) {
@@ -135,7 +147,7 @@ abstract class Smarty_Resource {
// set basename if not specified
$_basename = $this->getBasename($compiled->source);
if ($_basename === null) {
- $_basename = basename( preg_replace('![^\w\/]+!', '_', $compiled->source->name) );
+ $_basename = basename(preg_replace('![^\w\/]+!', '_', $compiled->source->name));
}
// separate (optional) basename by dot
if ($_basename) {
@@ -144,59 +156,63 @@ abstract class Smarty_Resource {
$compiled->filepath = $_compile_dir . $_filepath . '.' . $compiled->source->type . $_basename . $_cache . '.php';
}
-
+
/**
- * Normalize Paths "foo/../bar" to "bar"
+ * Normalize Paths "foo/../bar" to "bar"
+ *
+ * @param string $_path path to normalize
+ * @param boolean $ds respect windows directory separator
*
- * @param string $_path path to normalize
- * @param boolean $ds respect windows directory separator
- * @return string normalized path
+ * @return string normalized path
*/
- protected function normalizePath($_path, $ds=true)
+ protected function normalizePath($_path, $ds = true)
{
if ($ds) {
// don't we all just love windows?
$_path = str_replace('\\', '/', $_path);
}
-
+
+ $offset = 0;
+
// resolve simples
- $_path = preg_replace('#(/\./(\./)*)|/{2,}#', '/', $_path);
+ $_path = preg_replace('#/\./(\./)*#', '/', $_path);
// resolve parents
while (true) {
- $_parent = strpos($_path, '/../');
- if ($_parent === false) {
- break;
- } else if ($_parent === 0) {
- $_path = substr($_path, 3);
+ $_parent = strpos($_path, '/../', $offset);
+ if (!$_parent) {
break;
+ } elseif ($_path[$_parent - 1] === '.') {
+ $offset = $_parent + 3;
+ continue;
}
-
+
$_pos = strrpos($_path, '/', $_parent - strlen($_path) - 1);
if ($_pos === false) {
// don't we all just love windows?
$_pos = $_parent;
}
-
+
$_path = substr_replace($_path, '', $_pos, $_parent + 3 - $_pos);
}
-
+
if ($ds && DS != '/') {
// don't we all just love windows?
$_path = str_replace('/', '\\', $_path);
}
-
+
return $_path;
}
-
+
/**
* build template filepath by traversing the template_dir array
*
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
- * @return string fully qualified filepath
- * @throws SmartyException if default template handler is registered but not callable
+ * @param Smarty_Template_Source $source source object
+ * @param Smarty_Internal_Template $_template template object
+ *
+ * @return string fully qualified filepath
+ * @throws SmartyException if default template handler is registered but not callable
*/
- protected function buildFilepath(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)
+ protected function buildFilepath(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
{
$file = $source->name;
if ($source instanceof Smarty_Config_Source) {
@@ -225,8 +241,6 @@ abstract class Smarty_Resource {
// resolve relative path
if (!preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $file)) {
// don't we all just love windows?
- $_path = str_replace('\\', '/', $file);
- $_was_relative_prefix = $file[0] == '.' ? substr($file, 0, strpos($_path, '/')) : null;
$_path = DS . trim($file, '/');
$_was_relative = true;
} else {
@@ -240,11 +254,7 @@ abstract class Smarty_Resource {
}
// revert to relative
if (isset($_was_relative)) {
- if (isset($_was_relative_prefix)){
- $_path = $_was_relative_prefix . $_path;
- } else {
- $_path = substr($_path, 1);
- }
+ $_path = substr($_path, 1);
}
// this is only required for directories
@@ -261,7 +271,7 @@ abstract class Smarty_Resource {
// try string indexes
if (isset($_directories[$match['key']])) {
$_directory = $_directories[$match['key']];
- } else if (is_numeric($match['key'])) {
+ } elseif (is_numeric($match['key'])) {
// try numeric index
$match['key'] = (int) $match['key'];
if (isset($_directories[$match['key']])) {
@@ -323,15 +333,17 @@ abstract class Smarty_Resource {
}
}
$_return = call_user_func_array($_default_handler,
- array($source->type, $source->name, &$_content, &$_timestamp, $source->smarty));
+ array($source->type, $source->name, &$_content, &$_timestamp, $source->smarty));
if (is_string($_return)) {
$source->timestamp = @filemtime($_return);
$source->exists = !!$source->timestamp;
+
return $_return;
} elseif ($_return === true) {
$source->content = $_content;
$source->timestamp = $_timestamp;
$source->exists = true;
+
return $_filepath;
}
}
@@ -343,22 +355,24 @@ abstract class Smarty_Resource {
/**
* test is file exists and save timestamp
*
- * @param Smarty_Template_Source $source source object
- * @param string $file file name
- * @return bool true if file exists
+ * @param Smarty_Template_Source $source source object
+ * @param string $file file name
+ *
+ * @return bool true if file exists
*/
protected function fileExists(Smarty_Template_Source $source, $file)
{
- $source->timestamp = @filemtime($file);
- return $source->exists = !!$source->timestamp;
+ $source->timestamp = is_file($file) ? @filemtime($file) : false;
+ return $source->exists = !!$source->timestamp;
}
/**
* Determine basename for compiled filename
*
- * @param Smarty_Template_Source $source source object
- * @return string resource's basename
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string resource's basename
*/
protected function getBasename(Smarty_Template_Source $source)
{
@@ -368,8 +382,10 @@ abstract class Smarty_Resource {
/**
* Load Resource Handler
*
- * @param Smarty $smarty smarty object
- * @param string $type name of the resource
+ * @param Smarty $smarty smarty object
+ * @param string $type name of the resource
+ *
+ * @throws SmartyException
* @return Smarty_Resource Resource Handler
*/
public static function load(Smarty $smarty, $type)
@@ -403,6 +419,7 @@ abstract class Smarty_Resource {
$_resource_class = 'Smarty_Internal_Resource_' . ucfirst($type);
self::$resources[$type] = new $_resource_class();
}
+
return $smarty->_resource_handlers[$type] = self::$resources[$type];
}
@@ -415,6 +432,7 @@ abstract class Smarty_Resource {
if (class_exists($_resource_class, false)) {
self::$resources[$type] = new $_resource_class();
+
return $smarty->_resource_handlers[$type] = self::$resources[$type];
} else {
$smarty->registerResource($type, array(
@@ -439,23 +457,25 @@ abstract class Smarty_Resource {
if (!isset(self::$resources['stream'])) {
self::$resources['stream'] = new Smarty_Internal_Resource_Stream();
}
+
return $smarty->_resource_handlers[$type] = self::$resources['stream'];
}
// TODO: try default_(template|config)_handler
// give up
- throw new SmartyException("Unkown resource type '{$type}'");
+ throw new SmartyException("Unknown resource type '{$type}'");
}
/**
* extract resource_type and resource_name from template_resource and config_resource
- *
* @note "C:/foo.tpl" was forced to file resource up till Smarty 3.1.3 (including).
- * @param string $resource_name template_resource or config_resource to parse
- * @param string $default_resource the default resource_type defined in $smarty
- * @param string &$name the parsed resource name
- * @param string &$type the parsed resource type
+ *
+ * @param string $resource_name template_resource or config_resource to parse
+ * @param string $default_resource the default resource_type defined in $smarty
+ * @param string &$name the parsed resource name
+ * @param string &$type the parsed resource type
+ *
* @return void
*/
protected static function parseResourceName($resource_name, $default_resource, &$name, &$type)
@@ -472,41 +492,47 @@ abstract class Smarty_Resource {
}
}
-
/**
* modify resource_name according to resource handlers specifications
*
- * @param Smarty $smarty Smarty instance
- * @param string $resource_name resource_name to make unique
+ * @param Smarty $smarty Smarty instance
+ * @param string $resource_name resource_name to make unique
+ *
* @return string unique resource name
*/
/**
* modify template_resource according to resource handlers specifications
*
- * @param string $smarty Smarty instance
- * @param string $template_resource template_resource to extracate resource handler and name of
+ * @param Smarty_Internal_template $template Smarty instance
+ * @param string $template_resource template_resource to extract resource handler and name of
+ *
* @return string unique resource name
*/
- public static function getUniqueTemplateName($smarty, $template_resource)
+ public static function getUniqueTemplateName($template, $template_resource)
{
- self::parseResourceName($template_resource, $smarty->default_resource_type, $name, $type);
+ self::parseResourceName($template_resource, $template->smarty->default_resource_type, $name, $type);
// TODO: optimize for Smarty's internal resource types
- $resource = Smarty_Resource::load($smarty, $type);
- return $resource->buildUniqueResourceName($smarty, $name);
+ $resource = Smarty_Resource::load($template->smarty, $type);
+ // go relative to a given template?
+ $_file_is_dotted = $name[0] == '.' && ($name[1] == '.' || $name[1] == '/' || $name[1] == "\\");
+ if ($template instanceof Smarty_Internal_Template && $_file_is_dotted && ($template->source->type == 'file' || $template->parent->source->type == 'extends')) {
+ $name = dirname($template->source->filepath) . DS . $name;
+ }
+ return $resource->buildUniqueResourceName($template->smarty, $name);
}
/**
* initialize Source Object for given resource
- *
* Either [$_template] or [$smarty, $template_resource] must be specified
*
- * @param Smarty_Internal_Template $_template template object
- * @param Smarty $smarty smarty object
- * @param string $template_resource resource identifier
- * @return Smarty_Template_Source Source Object
+ * @param Smarty_Internal_Template $_template template object
+ * @param Smarty $smarty smarty object
+ * @param string $template_resource resource identifier
+ *
+ * @return Smarty_Template_Source Source Object
*/
- public static function source(Smarty_Internal_Template $_template=null, Smarty $smarty=null, $template_resource=null)
+ public static function source(Smarty_Internal_Template $_template = null, Smarty $smarty = null, $template_resource = null)
{
if ($_template) {
$smarty = $_template->smarty;
@@ -516,12 +542,19 @@ abstract class Smarty_Resource {
// parse resource_name, load resource handler, identify unique resource name
self::parseResourceName($template_resource, $smarty->default_resource_type, $name, $type);
$resource = Smarty_Resource::load($smarty, $type);
- $unique_resource_name = $resource->buildUniqueResourceName($smarty, $name);
+ // go relative to a given template?
+ $_file_is_dotted = isset($name[0]) && $name[0] == '.' && ($name[1] == '.' || $name[1] == '/' || $name[1] == "\\");
+ if ($_file_is_dotted && isset($_template) && $_template->parent instanceof Smarty_Internal_Template && ($_template->parent->source->type == 'file' || $_template->parent->source->type == 'extends')) {
+ $name2 = dirname($_template->parent->source->filepath) . DS . $name;
+ } else {
+ $name2 = $name;
+ }
+ $unique_resource_name = $resource->buildUniqueResourceName($smarty, $name2);
// check runtime cache
$_cache_key = 'template|' . $unique_resource_name;
if ($smarty->compile_id) {
- $_cache_key .= '|'.$smarty->compile_id;
+ $_cache_key .= '|' . $smarty->compile_id;
}
if (isset(self::$sources[$_cache_key])) {
return self::$sources[$_cache_key];
@@ -533,14 +566,17 @@ abstract class Smarty_Resource {
// runtime cache
self::$sources[$_cache_key] = $source;
+
return $source;
}
/**
* initialize Config Source Object for given resource
*
- * @param Smarty_Internal_Config $_config config object
- * @return Smarty_Config_Source Source Object
+ * @param Smarty_Internal_Config $_config config object
+ *
+ * @throws SmartyException
+ * @return Smarty_Config_Source Source Object
*/
public static function config(Smarty_Internal_Config $_config)
{
@@ -558,7 +594,7 @@ abstract class Smarty_Resource {
// load resource handler, identify unique resource name
$resource = Smarty_Resource::load($smarty, $type);
- $unique_resource_name = $resource->buildUniqueResourceName($smarty, $name);
+ $unique_resource_name = $resource->buildUniqueResourceName($smarty, $name, true);
// check runtime cache
$_cache_key = 'config|' . $unique_resource_name;
@@ -572,107 +608,119 @@ abstract class Smarty_Resource {
// runtime cache
self::$sources[$_cache_key] = $source;
+
return $source;
}
-
}
/**
* Smarty Resource Data Object
- *
* Meta Data Container for Template Files
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Rodney Rehm
- *
+ * @author Rodney Rehm
* @property integer $timestamp Source Timestamp
- * @property boolean $exists Source Existance
+ * @property boolean $exists Source Existence
* @property boolean $template Extended Template reference
* @property string $content Source Content
*/
-class Smarty_Template_Source {
-
+class Smarty_Template_Source
+{
/**
* Name of the Class to compile this resource's contents with
+ *
* @var string
*/
public $compiler_class = null;
/**
* Name of the Class to tokenize this resource's contents with
+ *
* @var string
*/
public $template_lexer_class = null;
/**
* Name of the Class to parse this resource's contents with
+ *
* @var string
*/
public $template_parser_class = null;
/**
* Unique Template ID
+ *
* @var string
*/
public $uid = null;
/**
* Template Resource (Smarty_Internal_Template::$template_resource)
+ *
* @var string
*/
public $resource = null;
/**
* Resource Type
+ *
* @var string
*/
public $type = null;
/**
* Resource Name
+ *
* @var string
*/
public $name = null;
/**
* Unique Resource Name
+ *
* @var string
*/
public $unique_resource = null;
/**
* Source Filepath
+ *
* @var string
*/
public $filepath = null;
/**
* Source is bypassing compiler
+ *
* @var boolean
*/
public $uncompiled = null;
/**
* Source must be recompiled on every occasion
+ *
* @var boolean
*/
public $recompiled = null;
/**
* The Components an extended template is made of
+ *
* @var array
*/
public $components = null;
/**
* Resource Handler
+ *
* @var Smarty_Resource
*/
public $handler = null;
/**
* Smarty instance
+ *
* @var Smarty
*/
public $smarty = null;
@@ -680,12 +728,12 @@ class Smarty_Template_Source {
/**
* create Source Object container
*
- * @param Smarty_Resource $handler Resource Handler this source object communicates with
- * @param Smarty $smarty Smarty instance this source object belongs to
- * @param string $resource full template_resource
- * @param string $type type of resource
- * @param string $name resource name
- * @param string $unique_resource unqiue resource name
+ * @param Smarty_Resource $handler Resource Handler this source object communicates with
+ * @param Smarty $smarty Smarty instance this source object belongs to
+ * @param string $resource full template_resource
+ * @param string $type type of resource
+ * @param string $name resource name
+ * @param string $unique_resource unique resource name
*/
public function __construct(Smarty_Resource $handler, Smarty $smarty, $resource, $type, $name, $unique_resource)
{
@@ -707,10 +755,11 @@ class Smarty_Template_Source {
/**
* get a Compiled Object of this source
*
- * @param Smarty_Internal_Template $_template template objet
+ * @param Smarty_Internal_Template|Smarty_Internal_Config $_template template object
+ *
* @return Smarty_Template_Compiled compiled object
*/
- public function getCompiled(Smarty_Internal_Template $_template)
+ public function getCompiled($_template)
{
// check runtime cache
$_cache_key = $this->unique_resource . '#' . $_template->compile_id;
@@ -742,8 +791,9 @@ class Smarty_Template_Source {
/**
* <<magic>> Generic Setter.
*
- * @param string $property_name valid: timestamp, exists, content, template
- * @param mixed $value new value (is not checked)
+ * @param string $property_name valid: timestamp, exists, content, template
+ * @param mixed $value new value (is not checked)
+ *
* @throws SmartyException if $property_name is not valid
*/
public function __set($property_name, $value)
@@ -753,7 +803,7 @@ class Smarty_Template_Source {
case 'timestamp':
case 'exists':
case 'content':
- // required for extends: only
+ // required for extends: only
case 'template':
$this->$property_name = $value;
break;
@@ -766,7 +816,8 @@ class Smarty_Template_Source {
/**
* <<magic>> Generic getter.
*
- * @param string $property_name valid: timestamp, exists, content
+ * @param string $property_name valid: timestamp, exists, content
+ *
* @return mixed
* @throws SmartyException if $property_name is not valid
*/
@@ -776,6 +827,7 @@ class Smarty_Template_Source {
case 'timestamp':
case 'exists':
$this->handler->populateTimestamp($this);
+
return $this->$property_name;
case 'content':
@@ -785,62 +837,65 @@ class Smarty_Template_Source {
throw new SmartyException("source property '$property_name' does not exist.");
}
}
-
}
/**
* Smarty Resource Data Object
- *
* Meta Data Container for Template Files
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Rodney Rehm
- *
+ * @author Rodney Rehm
* @property string $content compiled content
*/
-class Smarty_Template_Compiled {
-
+class Smarty_Template_Compiled
+{
/**
* Compiled Filepath
+ *
* @var string
*/
public $filepath = null;
/**
* Compiled Timestamp
+ *
* @var integer
*/
public $timestamp = null;
/**
- * Compiled Existance
+ * Compiled Existence
+ *
* @var boolean
*/
public $exists = false;
/**
* Compiled Content Loaded
+ *
* @var boolean
*/
public $loaded = false;
/**
* Template was compiled
+ *
* @var boolean
*/
public $isCompiled = false;
/**
* Source Object
+ *
* @var Smarty_Template_Source
*/
public $source = null;
/**
* Metadata properties
- *
* populated by Smarty_Internal_Template::decodeProperties()
+ *
* @var array
*/
public $_properties = null;
@@ -854,7 +909,4 @@ class Smarty_Template_Compiled {
{
$this->source = $source;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_resource_custom.php b/library/Smarty/libs/sysplugins/smarty_resource_custom.php
index 9ec1f356b..7c11bd8c7 100644
--- a/library/Smarty/libs/sysplugins/smarty_resource_custom.php
+++ b/library/Smarty/libs/sysplugins/smarty_resource_custom.php
@@ -2,21 +2,20 @@
/**
* Smarty Resource Plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
/**
* Smarty Resource Plugin
- *
* Wrapper Implementation for custom resource plugins
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
*/
-abstract class Smarty_Resource_Custom extends Smarty_Resource {
-
+abstract class Smarty_Resource_Custom extends Smarty_Resource
+{
/**
* fetch template and its modification time from data source
*
@@ -24,15 +23,15 @@ abstract class Smarty_Resource_Custom extends Smarty_Resource {
* @param string &$source template source
* @param integer &$mtime template modification timestamp (epoch)
*/
- protected abstract function fetch($name, &$source, &$mtime);
+ abstract protected function fetch($name, &$source, &$mtime);
/**
* Fetch template's modification timestamp from data source
- *
* {@internal implementing this method is optional.
* Only implement it if modification times can be accessed faster than loading the complete template source.}}
*
- * @param string $name template name
+ * @param string $name template name
+ *
* @return integer|boolean timestamp (epoch) the template was modified, or false if not found
*/
protected function fetchTimestamp($name)
@@ -46,9 +45,9 @@ abstract class Smarty_Resource_Custom extends Smarty_Resource {
* @param Smarty_Template_Source $source source object
* @param Smarty_Internal_Template $_template template object
*/
- public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template=null)
+ public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
{
- $source->filepath = strtolower($source->type . ':' . $source->name);
+ $source->filepath = $source->type . ':' . $source->name;
$source->uid = sha1($source->type . ':' . $source->name);
$mtime = $this->fetchTimestamp($source->name);
@@ -57,8 +56,9 @@ abstract class Smarty_Resource_Custom extends Smarty_Resource {
} else {
$this->fetch($source->name, $content, $timestamp);
$source->timestamp = isset($timestamp) ? $timestamp : false;
- if( isset($content) )
+ if (isset($content)) {
$source->content = $content;
+ }
}
$source->exists = !!$source->timestamp;
}
@@ -66,9 +66,10 @@ abstract class Smarty_Resource_Custom extends Smarty_Resource {
/**
* Load template's source into current template object
*
- * @param Smarty_Template_Source $source source object
- * @return string template source
- * @throws SmartyException if source cannot be loaded
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string template source
+ * @throws SmartyException if source cannot be loaded
*/
public function getContent(Smarty_Template_Source $source)
{
@@ -83,14 +84,12 @@ abstract class Smarty_Resource_Custom extends Smarty_Resource {
/**
* Determine basename for compiled filename
*
- * @param Smarty_Template_Source $source source object
- * @return string resource's basename
+ * @param Smarty_Template_Source $source source object
+ *
+ * @return string resource's basename
*/
protected function getBasename(Smarty_Template_Source $source)
{
return basename($source->name);
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_resource_recompiled.php b/library/Smarty/libs/sysplugins/smarty_resource_recompiled.php
index ab55b93a6..66b36e17a 100644
--- a/library/Smarty/libs/sysplugins/smarty_resource_recompiled.php
+++ b/library/Smarty/libs/sysplugins/smarty_resource_recompiled.php
@@ -2,26 +2,26 @@
/**
* Smarty Resource Plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
/**
* Smarty Resource Plugin
- *
* Base implementation for resource plugins that don't compile cache
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
*/
-abstract class Smarty_Resource_Recompiled extends Smarty_Resource {
-
+abstract class Smarty_Resource_Recompiled extends Smarty_Resource
+{
/**
* populate Compiled Object with compiled filepath
*
- * @param Smarty_Template_Compiled $compiled compiled object
- * @param Smarty_Internal_Template $_template template object
+ * @param Smarty_Template_Compiled $compiled compiled object
+ * @param Smarty_Internal_Template $_template template object
+ *
* @return void
*/
public function populateCompiledFilepath(Smarty_Template_Compiled $compiled, Smarty_Internal_Template $_template)
@@ -30,7 +30,4 @@ abstract class Smarty_Resource_Recompiled extends Smarty_Resource {
$compiled->timestamp = false;
$compiled->exists = false;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php b/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php
index ea8023507..4ee5d7908 100644
--- a/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php
+++ b/library/Smarty/libs/sysplugins/smarty_resource_uncompiled.php
@@ -2,29 +2,29 @@
/**
* Smarty Resource Plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
- * @author Rodney Rehm
+ * @author Rodney Rehm
*/
/**
* Smarty Resource Plugin
- *
* Base implementation for resource plugins that don't use the compiler
*
- * @package Smarty
+ * @package Smarty
* @subpackage TemplateResources
*/
-abstract class Smarty_Resource_Uncompiled extends Smarty_Resource {
-
+abstract class Smarty_Resource_Uncompiled extends Smarty_Resource
+{
/**
* Render and output the template (without using the compiler)
*
- * @param Smarty_Template_Source $source source object
- * @param Smarty_Internal_Template $_template template object
- * @throws SmartyException on failure
+ * @param Smarty_Template_Source $source source object
+ * @param Smarty_Internal_Template $_template template object
+ *
+ * @throws SmartyException on failure
*/
- public abstract function renderUncompiled(Smarty_Template_Source $source, Smarty_Internal_Template $_template);
+ abstract public function renderUncompiled(Smarty_Template_Source $source, Smarty_Internal_Template $_template);
/**
* populate compiled object with compiled filepath
@@ -38,7 +38,4 @@ abstract class Smarty_Resource_Uncompiled extends Smarty_Resource {
$compiled->timestamp = false;
$compiled->exists = false;
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/Smarty/libs/sysplugins/smarty_security.php b/library/Smarty/libs/sysplugins/smarty_security.php
index f8b31d963..9f7183bd0 100644
--- a/library/Smarty/libs/sysplugins/smarty_security.php
+++ b/library/Smarty/libs/sysplugins/smarty_security.php
@@ -2,25 +2,25 @@
/**
* Smarty plugin
*
- * @package Smarty
+ * @package Smarty
* @subpackage Security
- * @author Uwe Tews
+ * @author Uwe Tews
*/
-
+
/*
* FIXME: Smarty_Security API
* - getter and setter instead of public properties would allow cultivating an internal cache properly
* - current implementation of isTrustedResourceDir() assumes that Smarty::$template_dir and Smarty::$config_dir are immutable
* the cache is killed every time either of the variables change. That means that two distinct Smarty objects with differing
- * $template_dir or $config_dir should NOT share the same Smarty_Security instance,
- * as this would lead to (severe) performance penalty! how should this be handled?
+ * $template_dir or $config_dir should NOT share the same Smarty_Security instance,
+ * as this would lead to (severe) performance penalty! how should this be handled?
*/
/**
* This class does contain the security settings
*/
-class Smarty_Security {
-
+class Smarty_Security
+{
/**
* This determines how Smarty handles "<?php ... ?>" tags in templates.
* possible values:
@@ -56,17 +56,17 @@ class Smarty_Security {
public $trusted_uri = array();
/**
* This is an array of trusted static classes.
- *
* If empty access to all static classes is allowed.
* If set to 'none' none is allowed.
+ *
* @var array
*/
public $static_classes = array();
/**
* This is an array of trusted PHP functions.
- *
* If empty all functions are allowed.
* To disable all PHP functions set $php_functions = null.
+ *
* @var array
*/
public $php_functions = array(
@@ -77,10 +77,10 @@ class Smarty_Security {
'nl2br',
);
/**
- * This is an array of trusted PHP modifers.
- *
+ * This is an array of trusted PHP modifiers.
* If empty all modifiers are allowed.
- * To disable all modifier set $modifiers = null.
+ * To disable all modifier set $php_modifiers = null.
+ *
* @var array
*/
public $php_modifiers = array(
@@ -89,83 +89,90 @@ class Smarty_Security {
);
/**
* This is an array of allowed tags.
- *
* If empty no restriction by allowed_tags.
+ *
* @var array
*/
public $allowed_tags = array();
/**
* This is an array of disabled tags.
- *
* If empty no restriction by disabled_tags.
+ *
* @var array
*/
public $disabled_tags = array();
/**
* This is an array of allowed modifier plugins.
- *
* If empty no restriction by allowed_modifiers.
+ *
* @var array
*/
public $allowed_modifiers = array();
/**
* This is an array of disabled modifier plugins.
- *
* If empty no restriction by disabled_modifiers.
+ *
* @var array
*/
public $disabled_modifiers = array();
/**
* This is an array of trusted streams.
- *
* If empty all streams are allowed.
* To disable all streams set $streams = null.
+ *
* @var array
*/
public $streams = array('file');
/**
* + flag if constants can be accessed from template
+ *
* @var boolean
*/
public $allow_constants = true;
/**
* + flag if super globals can be accessed from template
+ *
* @var boolean
*/
public $allow_super_globals = true;
/**
- * Cache for $resource_dir lookups
+ * Cache for $resource_dir lookup
+ *
* @var array
*/
protected $_resource_dir = null;
/**
- * Cache for $template_dir lookups
+ * Cache for $template_dir lookup
+ *
* @var array
*/
protected $_template_dir = null;
/**
- * Cache for $config_dir lookups
+ * Cache for $config_dir lookup
+ *
* @var array
*/
protected $_config_dir = null;
/**
- * Cache for $secure_dir lookups
+ * Cache for $secure_dir lookup
+ *
* @var array
*/
protected $_secure_dir = null;
/**
- * Cache for $php_resource_dir lookups
+ * Cache for $php_resource_dir lookup
+ *
* @var array
*/
protected $_php_resource_dir = null;
/**
- * Cache for $trusted_dir lookups
+ * Cache for $trusted_dir lookup
+ *
* @var array
*/
protected $_trusted_dir = null;
-
-
+
/**
* @param Smarty $smarty
*/
@@ -173,13 +180,14 @@ class Smarty_Security {
{
$this->smarty = $smarty;
}
-
+
/**
* Check if PHP function is trusted.
*
- * @param string $function_name
- * @param object $compiler compiler object
- * @return boolean true if function is trusted
+ * @param string $function_name
+ * @param object $compiler compiler object
+ *
+ * @return boolean true if function is trusted
* @throws SmartyCompilerException if php function is not trusted
*/
public function isTrustedPhpFunction($function_name, $compiler)
@@ -189,15 +197,17 @@ class Smarty_Security {
}
$compiler->trigger_template_error("PHP function '{$function_name}' not allowed by security setting");
+
return false; // should not, but who knows what happens to the compiler in the future?
}
/**
* Check if static class is trusted.
*
- * @param string $class_name
- * @param object $compiler compiler object
- * @return boolean true if class is trusted
+ * @param string $class_name
+ * @param object $compiler compiler object
+ *
+ * @return boolean true if class is trusted
* @throws SmartyCompilerException if static class is not trusted
*/
public function isTrustedStaticClass($class_name, $compiler)
@@ -207,15 +217,17 @@ class Smarty_Security {
}
$compiler->trigger_template_error("access to static class '{$class_name}' not allowed by security setting");
+
return false; // should not, but who knows what happens to the compiler in the future?
}
/**
* Check if PHP modifier is trusted.
*
- * @param string $modifier_name
- * @param object $compiler compiler object
- * @return boolean true if modifier is trusted
+ * @param string $modifier_name
+ * @param object $compiler compiler object
+ *
+ * @return boolean true if modifier is trusted
* @throws SmartyCompilerException if modifier is not trusted
*/
public function isTrustedPhpModifier($modifier_name, $compiler)
@@ -225,22 +237,25 @@ class Smarty_Security {
}
$compiler->trigger_template_error("modifier '{$modifier_name}' not allowed by security setting");
+
return false; // should not, but who knows what happens to the compiler in the future?
}
/**
* Check if tag is trusted.
*
- * @param string $tag_name
- * @param object $compiler compiler object
- * @return boolean true if tag is trusted
+ * @param string $tag_name
+ * @param object $compiler compiler object
+ *
+ * @return boolean true if tag is trusted
* @throws SmartyCompilerException if modifier is not trusted
*/
public function isTrustedTag($tag_name, $compiler)
{
// check for internal always required tags
if (in_array($tag_name, array('assign', 'call', 'private_filter', 'private_block_plugin', 'private_function_plugin', 'private_object_block_function',
- 'private_object_function', 'private_registered_function', 'private_registered_block', 'private_special_variable', 'private_print_expression', 'private_modifier'))) {
+ 'private_object_function', 'private_registered_function', 'private_registered_block', 'private_special_variable', 'private_print_expression', 'private_modifier'))
+ ) {
return true;
}
// check security settings
@@ -250,20 +265,22 @@ class Smarty_Security {
} else {
$compiler->trigger_template_error("tag '{$tag_name}' disabled by security setting", $compiler->lex->taglineno);
}
- } else if (in_array($tag_name, $this->allowed_tags) && !in_array($tag_name, $this->disabled_tags)) {
+ } elseif (in_array($tag_name, $this->allowed_tags) && !in_array($tag_name, $this->disabled_tags)) {
return true;
} else {
$compiler->trigger_template_error("tag '{$tag_name}' not allowed by security setting", $compiler->lex->taglineno);
}
+
return false; // should not, but who knows what happens to the compiler in the future?
}
/**
* Check if modifier plugin is trusted.
*
- * @param string $modifier_name
- * @param object $compiler compiler object
- * @return boolean true if tag is trusted
+ * @param string $modifier_name
+ * @param object $compiler compiler object
+ *
+ * @return boolean true if tag is trusted
* @throws SmartyCompilerException if modifier is not trusted
*/
public function isTrustedModifier($modifier_name, $compiler)
@@ -279,19 +296,21 @@ class Smarty_Security {
} else {
$compiler->trigger_template_error("modifier '{$modifier_name}' disabled by security setting", $compiler->lex->taglineno);
}
- } else if (in_array($modifier_name, $this->allowed_modifiers) && !in_array($modifier_name, $this->disabled_modifiers)) {
+ } elseif (in_array($modifier_name, $this->allowed_modifiers) && !in_array($modifier_name, $this->disabled_modifiers)) {
return true;
} else {
$compiler->trigger_template_error("modifier '{$modifier_name}' not allowed by security setting", $compiler->lex->taglineno);
}
+
return false; // should not, but who knows what happens to the compiler in the future?
}
/**
* Check if stream is trusted.
*
- * @param string $stream_name
- * @return boolean true if stream is trusted
+ * @param string $stream_name
+ *
+ * @return boolean true if stream is trusted
* @throws SmartyException if stream is not trusted
*/
public function isTrustedStream($stream_name)
@@ -306,8 +325,9 @@ class Smarty_Security {
/**
* Check if directory of file resource is trusted.
*
- * @param string $filepath
- * @return boolean true if directory is trusted
+ * @param string $filepath
+ *
+ * @return boolean true if directory is trusted
* @throws SmartyException if directory is not trusted
*/
public function isTrustedResourceDir($filepath)
@@ -321,8 +341,8 @@ class Smarty_Security {
// check if index is outdated
if ((!$this->_template_dir || $this->_template_dir !== $_template_dir)
- || (!$this->_config_dir || $this->_config_dir !== $_config_dir)
- || (!empty($this->secure_dir) && (!$this->_secure_dir || $this->_secure_dir !== $this->secure_dir))
+ || (!$this->_config_dir || $this->_config_dir !== $_config_dir)
+ || (!empty($this->secure_dir) && (!$this->_secure_dir || $this->_secure_dir !== $this->secure_dir))
) {
$this->_resource_dir = array();
$_template = true;
@@ -365,8 +385,9 @@ class Smarty_Security {
$_directory[$directory] = true;
// test if the directory is trusted
if (isset($this->_resource_dir[$directory])) {
- // merge sub directories of current $directory into _resource_dir to speed up subsequent lookups
+ // merge sub directories of current $directory into _resource_dir to speed up subsequent lookup
$this->_resource_dir = array_merge($this->_resource_dir, $_directory);
+
return true;
}
// abort if we've reached root
@@ -380,15 +401,16 @@ class Smarty_Security {
// give up
throw new SmartyException("directory '{$_filepath}' not allowed by security setting");
}
-
+
/**
* Check if URI (e.g. {fetch} or {html_image}) is trusted
- *
* To simplify things, isTrustedUri() resolves all input to "{$PROTOCOL}://{$HOSTNAME}".
* So "http://username:password@hello.world.example.org:8080/some-path?some=query-string"
* is reduced to "http://hello.world.example.org" prior to applying the patters from {@link $trusted_uri}.
- * @param string $uri
- * @return boolean true if URI is trusted
+ *
+ * @param string $uri
+ *
+ * @return boolean true if URI is trusted
* @throws SmartyException if URI is not trusted
* @uses $trusted_uri for list of patterns to match against $uri
*/
@@ -403,15 +425,16 @@ class Smarty_Security {
}
}
}
-
+
throw new SmartyException("URI '{$uri}' not allowed by security setting");
}
-
+
/**
* Check if directory of file resource is trusted.
*
- * @param string $filepath
- * @return boolean true if directory is trusted
+ * @param string $filepath
+ *
+ * @return boolean true if directory is trusted
* @throws SmartyException if PHP directory is not trusted
*/
public function isTrustedPHPDir($filepath)
@@ -439,8 +462,9 @@ class Smarty_Security {
$_directory[] = $directory;
// test if the directory is trusted
if (isset($this->_php_resource_dir[$directory])) {
- // merge sub directories of current $directory into _resource_dir to speed up subsequent lookups
+ // merge sub directories of current $directory into _resource_dir to speed up subsequent lookup
$this->_php_resource_dir = array_merge($this->_php_resource_dir, $_directory);
+
return true;
}
// abort if we've reached root
@@ -453,7 +477,4 @@ class Smarty_Security {
throw new SmartyException("directory '{$_filepath}' not allowed by security setting");
}
-
}
-
-?> \ No newline at end of file
diff --git a/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css b/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css
deleted file mode 100755
index 80df7d86f..000000000
--- a/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.css
+++ /dev/null
@@ -1,238 +0,0 @@
-/*!
-* Datetimepicker for Bootstrap v3
-//! version : 3.1.3
-* https://github.com/Eonasdan/bootstrap-datetimepicker/
-*/
-.bootstrap-datetimepicker-widget {
-top: 0;
-left: 0;
-width: 250px;
-padding: 4px;
-margin-top: 1px;
-z-index: 99999 !important;
-border-radius: 4px;
-}
-.bootstrap-datetimepicker-widget.timepicker-sbs {
-width: 600px;
-}
-.bootstrap-datetimepicker-widget.bottom:before {
-content: '';
-display: inline-block;
-border-left: 7px solid transparent;
-border-right: 7px solid transparent;
-border-bottom: 7px solid #ccc;
-border-bottom-color: rgba(0, 0, 0, 0.2);
-position: absolute;
-top: -7px;
-left: 7px;
-}
-.bootstrap-datetimepicker-widget.bottom:after {
-content: '';
-display: inline-block;
-border-left: 6px solid transparent;
-border-right: 6px solid transparent;
-border-bottom: 6px solid white;
-position: absolute;
-top: -6px;
-left: 8px;
-}
-.bootstrap-datetimepicker-widget.top:before {
-content: '';
-display: inline-block;
-border-left: 7px solid transparent;
-border-right: 7px solid transparent;
-border-top: 7px solid #ccc;
-border-top-color: rgba(0, 0, 0, 0.2);
-position: absolute;
-bottom: -7px;
-left: 6px;
-}
-.bootstrap-datetimepicker-widget.top:after {
-content: '';
-display: inline-block;
-border-left: 6px solid transparent;
-border-right: 6px solid transparent;
-border-top: 6px solid white;
-position: absolute;
-bottom: -6px;
-left: 7px;
-}
-.bootstrap-datetimepicker-widget .dow {
-width: 14.2857%;
-}
-.bootstrap-datetimepicker-widget.pull-right:before {
-left: auto;
-right: 6px;
-}
-.bootstrap-datetimepicker-widget.pull-right:after {
-left: auto;
-right: 7px;
-}
-.bootstrap-datetimepicker-widget > ul {
-list-style-type: none;
-margin: 0;
-}
-.bootstrap-datetimepicker-widget a[data-action] {
-padding: 6px 0;
-}
-.bootstrap-datetimepicker-widget a[data-action]:active {
-box-shadow: none;
-}
-.bootstrap-datetimepicker-widget .timepicker-hour,
-.bootstrap-datetimepicker-widget .timepicker-minute,
-.bootstrap-datetimepicker-widget .timepicker-second {
-width: 54px;
-font-weight: bold;
-font-size: 1.2em;
-margin: 0;
-}
-.bootstrap-datetimepicker-widget button[data-action] {
-padding: 6px;
-}
-.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator {
-width: 4px;
-padding: 0;
-margin: 0;
-}
-.bootstrap-datetimepicker-widget .datepicker > div {
-display: none;
-}
-.bootstrap-datetimepicker-widget .picker-switch {
-text-align: center;
-}
-.bootstrap-datetimepicker-widget table {
-width: 100%;
-margin: 0;
-}
-.bootstrap-datetimepicker-widget td,
-.bootstrap-datetimepicker-widget th {
-text-align: center;
-border-radius: 4px;
-}
-.bootstrap-datetimepicker-widget td {
-height: 54px;
-line-height: 54px;
-width: 54px;
-}
-.bootstrap-datetimepicker-widget td.cw {
-font-size: 10px;
-height: 20px;
-line-height: 20px;
-color: #777777;
-}
-.bootstrap-datetimepicker-widget td.day {
-height: 20px;
-line-height: 20px;
-width: 20px;
-}
-.bootstrap-datetimepicker-widget td.day:hover,
-.bootstrap-datetimepicker-widget td.hour:hover,
-.bootstrap-datetimepicker-widget td.minute:hover,
-.bootstrap-datetimepicker-widget td.second:hover {
-background: #eeeeee;
-cursor: pointer;
-}
-.bootstrap-datetimepicker-widget td.old,
-.bootstrap-datetimepicker-widget td.new {
-color: #777777;
-}
-.bootstrap-datetimepicker-widget td.today {
-position: relative;
-}
-.bootstrap-datetimepicker-widget td.today:before {
-content: '';
-display: inline-block;
-border-left: 7px solid transparent;
-border-bottom: 7px solid #428bca;
-border-top-color: rgba(0, 0, 0, 0.2);
-position: absolute;
-bottom: 4px;
-right: 4px;
-}
-.bootstrap-datetimepicker-widget td.active,
-.bootstrap-datetimepicker-widget td.active:hover {
-background-color: #428bca;
-color: #ffffff;
-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-.bootstrap-datetimepicker-widget td.active.today:before {
-border-bottom-color: #fff;
-}
-.bootstrap-datetimepicker-widget td.disabled,
-.bootstrap-datetimepicker-widget td.disabled:hover {
-background: none;
-color: #777777;
-cursor: not-allowed;
-}
-.bootstrap-datetimepicker-widget td span {
-display: inline-block;
-width: 54px;
-height: 54px;
-line-height: 54px;
-margin: 2px 1.5px;
-cursor: pointer;
-border-radius: 4px;
-}
-.bootstrap-datetimepicker-widget td span:hover {
-background: #eeeeee;
-}
-.bootstrap-datetimepicker-widget td span.active {
-background-color: #428bca;
-color: #ffffff;
-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-}
-.bootstrap-datetimepicker-widget td span.old {
-color: #777777;
-}
-.bootstrap-datetimepicker-widget td span.disabled,
-.bootstrap-datetimepicker-widget td span.disabled:hover {
-background: none;
-color: #777777;
-cursor: not-allowed;
-}
-.bootstrap-datetimepicker-widget th {
-height: 20px;
-line-height: 20px;
-width: 20px;
-}
-.bootstrap-datetimepicker-widget th.picker-switch {
-width: 145px;
-}
-.bootstrap-datetimepicker-widget th.next,
-.bootstrap-datetimepicker-widget th.prev {
-font-size: 21px;
-}
-.bootstrap-datetimepicker-widget th.disabled,
-.bootstrap-datetimepicker-widget th.disabled:hover {
-background: none;
-color: #777777;
-cursor: not-allowed;
-}
-.bootstrap-datetimepicker-widget thead tr:first-child th {
-cursor: pointer;
-}
-.bootstrap-datetimepicker-widget thead tr:first-child th:hover {
-background: #eeeeee;
-}
-.input-group.date .input-group-addon span {
-display: block;
-cursor: pointer;
-width: 16px;
-height: 16px;
-}
-.bootstrap-datetimepicker-widget.left-oriented:before {
-left: auto;
-right: 6px;
-}
-.bootstrap-datetimepicker-widget.left-oriented:after {
-left: auto;
-right: 7px;
-}
-.bootstrap-datetimepicker-widget ul.list-unstyled li div.timepicker div.timepicker-picker table.table-condensed tbody > tr > td {
-padding: 0px !important;
-}
-@media screen and (max-width: 767px) {
-.bootstrap-datetimepicker-widget.timepicker-sbs {
-width: 283px;
-}
-}
diff --git a/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css b/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css
deleted file mode 100755
index 8136d3975..000000000
--- a/library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
-* Datetimepicker for Bootstrap v3
-//! version : 3.1.3
-* https://github.com/Eonasdan/bootstrap-datetimepicker/
-*/.bootstrap-datetimepicker-widget{top:0;left:0;width:250px;padding:4px;margin-top:1px;z-index:99999!important;border-radius:4px}.bootstrap-datetimepicker-widget.timepicker-sbs{width:600px}.bootstrap-datetimepicker-widget.bottom:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);position:absolute;top:-7px;left:7px}.bootstrap-datetimepicker-widget.bottom:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;top:-6px;left:8px}.bootstrap-datetimepicker-widget.top:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,.2);position:absolute;bottom:-7px;left:6px}.bootstrap-datetimepicker-widget.top:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;position:absolute;bottom:-6px;left:7px}.bootstrap-datetimepicker-widget .dow{width:14.2857%}.bootstrap-datetimepicker-widget.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget>ul{list-style-type:none;margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:700;font-size:1.2em;margin:0}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator{width:4px;padding:0;margin:0}.bootstrap-datetimepicker-widget .datepicker>div{display:none}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget td,.bootstrap-datetimepicker-widget th{text-align:center;border-radius:4px}.bootstrap-datetimepicker-widget td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget td.cw{font-size:10px;height:20px;line-height:20px;color:#777}.bootstrap-datetimepicker-widget td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget td.day:hover,.bootstrap-datetimepicker-widget td.hour:hover,.bootstrap-datetimepicker-widget td.minute:hover,.bootstrap-datetimepicker-widget td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget td.old,.bootstrap-datetimepicker-widget td.new{color:#777}.bootstrap-datetimepicker-widget td.today{position:relative}.bootstrap-datetimepicker-widget td.today:before{content:'';display:inline-block;border-left:7px solid transparent;border-bottom:7px solid #428bca;border-top-color:rgba(0,0,0,.2);position:absolute;bottom:4px;right:4px}.bootstrap-datetimepicker-widget td.active,.bootstrap-datetimepicker-widget td.active:hover{background-color:#428bca;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget td.disabled,.bootstrap-datetimepicker-widget td.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget td span{display:inline-block;width:54px;height:54px;line-height:54px;margin:2px 1.5px;cursor:pointer;border-radius:4px}.bootstrap-datetimepicker-widget td span:hover{background:#eee}.bootstrap-datetimepicker-widget td span.active{background-color:#428bca;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget td span.old{color:#777}.bootstrap-datetimepicker-widget td span.disabled,.bootstrap-datetimepicker-widget td span.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget th.picker-switch{width:145px}.bootstrap-datetimepicker-widget th.next,.bootstrap-datetimepicker-widget th.prev{font-size:21px}.bootstrap-datetimepicker-widget th.disabled,.bootstrap-datetimepicker-widget th.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget thead tr:first-child th:hover{background:#eee}.input-group.date .input-group-addon span{display:block;cursor:pointer;width:16px;height:16px}.bootstrap-datetimepicker-widget.left-oriented:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.left-oriented:after{left:auto;right:7px}.bootstrap-datetimepicker-widget ul.list-unstyled li div.timepicker div.timepicker-picker table.table-condensed tbody>tr>td{padding:0!important}@media screen and (max-width:767px){.bootstrap-datetimepicker-widget.timepicker-sbs{width:283px}}
diff --git a/library/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js b/library/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js
deleted file mode 100644
index 20ad225b1..000000000
--- a/library/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(a,b){"use strict";if("function"==typeof define&&define.amd)define(["jquery","moment"],b);else if("object"==typeof exports)b(require("jquery"),require("moment"));else{if(!jQuery)throw new Error("bootstrap-datetimepicker requires jQuery to be loaded first");if(!moment)throw new Error("bootstrap-datetimepicker requires moment.js to be loaded first");b(a.jQuery,moment)}}(this,function(a,b){"use strict";if("undefined"==typeof b)throw new Error("momentjs is required");var c=0,d=function(d,e){var f,g=a.fn.datetimepicker.defaults,h={time:"glyphicon glyphicon-time",date:"glyphicon glyphicon-calendar",up:"glyphicon glyphicon-chevron-up",down:"glyphicon glyphicon-chevron-down"},i=this,j=!1,k=function(){var f,j,k=!1;if(i.options=a.extend({},g,e),i.options.icons=a.extend({},h,i.options.icons),i.element=a(d),m(),!i.options.pickTime&&!i.options.pickDate)throw new Error("Must choose at least one picker");if(i.id=c++,b.locale(i.options.language),i.date=b(),i.unset=!1,i.isInput=i.element.is("input"),i.component=!1,i.element.hasClass("input-group")&&(i.component=i.element.find(0===i.element.find(".datepickerbutton").size()?'[class^="input-group-"]':".datepickerbutton")),i.format=i.options.format,f=b().localeData(),i.format||(i.format=i.options.pickDate?f.longDateFormat("L"):"",i.options.pickDate&&i.options.pickTime&&(i.format+=" "),i.format+=i.options.pickTime?f.longDateFormat("LT"):"",i.options.useSeconds&&(-1!==f.longDateFormat("LT").indexOf(" A")?i.format=i.format.split(" A")[0]+":ss A":i.format+=":ss")),i.use24hours=i.format.toLowerCase().indexOf("a")<0&&i.format.indexOf("h")<0,i.component&&(k=i.component.find("span")),i.options.pickTime&&k&&k.addClass(i.options.icons.time),i.options.pickDate&&k&&(k.removeClass(i.options.icons.time),k.addClass(i.options.icons.date)),i.options.widgetParent="string"==typeof i.options.widgetParent&&i.options.widgetParent||i.element.parents().filter(function(){return"scroll"===a(this).css("overflow-y")}).get(0)||"body",i.widget=a(Q()).appendTo(i.options.widgetParent),i.minViewMode=i.options.minViewMode||0,"string"==typeof i.minViewMode)switch(i.minViewMode){case"months":i.minViewMode=1;break;case"years":i.minViewMode=2;break;default:i.minViewMode=0}if(i.viewMode=i.options.viewMode||0,"string"==typeof i.viewMode)switch(i.viewMode){case"months":i.viewMode=1;break;case"years":i.viewMode=2;break;default:i.viewMode=0}i.viewMode=Math.max(i.viewMode,i.minViewMode),i.options.disabledDates=O(i.options.disabledDates),i.options.enabledDates=O(i.options.enabledDates),i.startViewMode=i.viewMode,i.setMinDate(i.options.minDate),i.setMaxDate(i.options.maxDate),r(),s(),u(),v(),w(),q(),E(),l().prop("disabled")||F(),""!==i.options.defaultDate&&""===l().val()&&i.setValue(i.options.defaultDate),1!==i.options.minuteStepping&&(j=i.options.minuteStepping,i.date.minutes(Math.round(i.date.minutes()/j)*j%60).seconds(0))},l=function(){var a;if(i.isInput)return i.element;if(a=i.element.find(".datepickerinput"),0===a.size())a=i.element.find("input");else if(!a.is("input"))throw new Error('CSS class "datepickerinput" cannot be applied to non input element');return a},m=function(){var a;a=i.element.is("input")?i.element.data():i.element.find("input").data(),void 0!==a.dateFormat&&(i.options.format=a.dateFormat),void 0!==a.datePickdate&&(i.options.pickDate=a.datePickdate),void 0!==a.datePicktime&&(i.options.pickTime=a.datePicktime),void 0!==a.dateUseminutes&&(i.options.useMinutes=a.dateUseminutes),void 0!==a.dateUseseconds&&(i.options.useSeconds=a.dateUseseconds),void 0!==a.dateUsecurrent&&(i.options.useCurrent=a.dateUsecurrent),void 0!==a.calendarWeeks&&(i.options.calendarWeeks=a.calendarWeeks),void 0!==a.dateMinutestepping&&(i.options.minuteStepping=a.dateMinutestepping),void 0!==a.dateMindate&&(i.options.minDate=a.dateMindate),void 0!==a.dateMaxdate&&(i.options.maxDate=a.dateMaxdate),void 0!==a.dateShowtoday&&(i.options.showToday=a.dateShowtoday),void 0!==a.dateCollapse&&(i.options.collapse=a.dateCollapse),void 0!==a.dateLanguage&&(i.options.language=a.dateLanguage),void 0!==a.dateDefaultdate&&(i.options.defaultDate=a.dateDefaultdate),void 0!==a.dateDisableddates&&(i.options.disabledDates=a.dateDisableddates),void 0!==a.dateEnableddates&&(i.options.enabledDates=a.dateEnableddates),void 0!==a.dateIcons&&(i.options.icons=a.dateIcons),void 0!==a.dateUsestrict&&(i.options.useStrict=a.dateUsestrict),void 0!==a.dateDirection&&(i.options.direction=a.dateDirection),void 0!==a.dateSidebyside&&(i.options.sideBySide=a.dateSidebyside),void 0!==a.dateDaysofweekdisabled&&(i.options.daysOfWeekDisabled=a.dateDaysofweekdisabled)},n=function(){var b,c="absolute",d=i.component?i.component.offset():i.element.offset(),e=a(window);i.width=i.component?i.component.outerWidth():i.element.outerWidth(),d.top=d.top+i.element.outerHeight(),"up"===i.options.direction?b="top":"bottom"===i.options.direction?b="bottom":"auto"===i.options.direction&&(b=d.top+i.widget.height()>e.height()+e.scrollTop()&&i.widget.height()+i.element.outerHeight()<d.top?"top":"bottom"),"top"===b?(d.bottom=e.height()-d.top+i.element.outerHeight()+3,i.widget.addClass("top").removeClass("bottom")):(d.top+=1,i.widget.addClass("bottom").removeClass("top")),void 0!==i.options.width&&i.widget.width(i.options.width),"left"===i.options.orientation&&(i.widget.addClass("left-oriented"),d.left=d.left-i.widget.width()+20),J()&&(c="fixed",d.top-=e.scrollTop(),d.left-=e.scrollLeft()),e.width()<d.left+i.widget.outerWidth()?(d.right=e.width()-d.left-i.width,d.left="auto",i.widget.addClass("pull-right")):(d.right="auto",i.widget.removeClass("pull-right")),i.widget.css("top"===b?{position:c,bottom:d.bottom,top:"auto",left:d.left,right:d.right}:{position:c,top:d.top,bottom:"auto",left:d.left,right:d.right})},o=function(a,c){(!b(i.date).isSame(b(a))||j)&&(j=!1,i.element.trigger({type:"dp.change",date:b(i.date),oldDate:b(a)}),"change"!==c&&i.element.change())},p=function(a){j=!0,i.element.trigger({type:"dp.error",date:b(a,i.format,i.options.useStrict)})},q=function(a){b.locale(i.options.language);var c=a;c||(c=l().val(),c&&(i.date=b(c,i.format,i.options.useStrict)),i.date||(i.date=b())),i.viewDate=b(i.date).startOf("month"),t(),x()},r=function(){b.locale(i.options.language);var c,d=a("<tr>"),e=b.weekdaysMin();if(i.options.calendarWeeks===!0&&d.append('<th class="cw">#</th>'),0===b().localeData()._week.dow)for(c=0;7>c;c++)d.append('<th class="dow">'+e[c]+"</th>");else for(c=1;8>c;c++)d.append(7===c?'<th class="dow">'+e[0]+"</th>":'<th class="dow">'+e[c]+"</th>");i.widget.find(".datepicker-days thead").append(d)},s=function(){b.locale(i.options.language);var a,c="",d=b.monthsShort();for(a=0;12>a;a++)c+='<span class="month">'+d[a]+"</span>";i.widget.find(".datepicker-months td").append(c)},t=function(){if(i.options.pickDate){b.locale(i.options.language);var c,d,e,f,g,h,j,k,l,m=i.viewDate.year(),n=i.viewDate.month(),o=i.options.minDate.year(),p=i.options.minDate.month(),q=i.options.maxDate.year(),r=i.options.maxDate.month(),s=[],t=b.months();for(i.widget.find(".datepicker-days").find(".disabled").removeClass("disabled"),i.widget.find(".datepicker-months").find(".disabled").removeClass("disabled"),i.widget.find(".datepicker-years").find(".disabled").removeClass("disabled"),i.widget.find(".datepicker-days th:eq(1)").text(t[n]+" "+m),d=b(i.viewDate,i.format,i.options.useStrict).subtract(1,"months"),j=d.daysInMonth(),d.date(j).startOf("week"),(m===o&&p>=n||o>m)&&i.widget.find(".datepicker-days th:eq(0)").addClass("disabled"),(m===q&&n>=r||m>q)&&i.widget.find(".datepicker-days th:eq(2)").addClass("disabled"),e=b(d).add(42,"d");d.isBefore(e);){if(d.weekday()===b().startOf("week").weekday()&&(f=a("<tr>"),s.push(f),i.options.calendarWeeks===!0&&f.append('<td class="cw">'+d.week()+"</td>")),g="",d.year()<m||d.year()===m&&d.month()<n?g+=" old":(d.year()>m||d.year()===m&&d.month()>n)&&(g+=" new"),d.isSame(b({y:i.date.year(),M:i.date.month(),d:i.date.date()}))&&(g+=" active"),(M(d,"day")||!N(d))&&(g+=" disabled"),i.options.showToday===!0&&d.isSame(b(),"day")&&(g+=" today"),i.options.daysOfWeekDisabled)for(h=0;h<i.options.daysOfWeekDisabled.length;h++)if(d.day()===i.options.daysOfWeekDisabled[h]){g+=" disabled";break}f.append('<td class="day'+g+'">'+d.date()+"</td>"),c=d.date(),d.add(1,"d"),c===d.date()&&d.add(1,"d")}for(i.widget.find(".datepicker-days tbody").empty().append(s),l=i.date.year(),t=i.widget.find(".datepicker-months").find("th:eq(1)").text(m).end().find("span").removeClass("active"),l===m&&t.eq(i.date.month()).addClass("active"),o>m-1&&i.widget.find(".datepicker-months th:eq(0)").addClass("disabled"),m+1>q&&i.widget.find(".datepicker-months th:eq(2)").addClass("disabled"),h=0;12>h;h++)m===o&&p>h||o>m?a(t[h]).addClass("disabled"):(m===q&&h>r||m>q)&&a(t[h]).addClass("disabled");for(s="",m=10*parseInt(m/10,10),k=i.widget.find(".datepicker-years").find("th:eq(1)").text(m+"-"+(m+9)).parents("table").find("td"),i.widget.find(".datepicker-years").find("th").removeClass("disabled"),o>m&&i.widget.find(".datepicker-years").find("th:eq(0)").addClass("disabled"),m+9>q&&i.widget.find(".datepicker-years").find("th:eq(2)").addClass("disabled"),m-=1,h=-1;11>h;h++)s+='<span class="year'+(-1===h||10===h?" old":"")+(l===m?" active":"")+(o>m||m>q?" disabled":"")+'">'+m+"</span>",m+=1;k.html(s)}},u=function(){b.locale(i.options.language);var a,c,d,e=i.widget.find(".timepicker .timepicker-hours table"),f="";if(e.parent().hide(),i.use24hours)for(a=0,c=0;6>c;c+=1){for(f+="<tr>",d=0;4>d;d+=1)f+='<td class="hour">'+P(a.toString())+"</td>",a++;f+="</tr>"}else for(a=1,c=0;3>c;c+=1){for(f+="<tr>",d=0;4>d;d+=1)f+='<td class="hour">'+P(a.toString())+"</td>",a++;f+="</tr>"}e.html(f)},v=function(){var a,b,c=i.widget.find(".timepicker .timepicker-minutes table"),d="",e=0,f=i.options.minuteStepping;for(c.parent().hide(),1===f&&(f=5),a=0;a<Math.ceil(60/f/4);a++){for(d+="<tr>",b=0;4>b;b+=1)60>e?(d+='<td class="minute">'+P(e.toString())+"</td>",e+=f):d+="<td></td>";d+="</tr>"}c.html(d)},w=function(){var a,b,c=i.widget.find(".timepicker .timepicker-seconds table"),d="",e=0;for(c.parent().hide(),a=0;3>a;a++){for(d+="<tr>",b=0;4>b;b+=1)d+='<td class="second">'+P(e.toString())+"</td>",e+=5;d+="</tr>"}c.html(d)},x=function(){if(i.date){var a=i.widget.find(".timepicker span[data-time-component]"),b=i.date.hours(),c=i.date.format("A");i.use24hours||(0===b?b=12:12!==b&&(b%=12),i.widget.find(".timepicker [data-action=togglePeriod]").text(c)),a.filter("[data-time-component=hours]").text(P(b)),a.filter("[data-time-component=minutes]").text(P(i.date.minutes())),a.filter("[data-time-component=seconds]").text(P(i.date.second()))}},y=function(c){c.stopPropagation(),c.preventDefault(),i.unset=!1;var d,e,f,g,h=a(c.target).closest("span, td, th"),j=b(i.date);if(1===h.length&&!h.is(".disabled"))switch(h[0].nodeName.toLowerCase()){case"th":switch(h[0].className){case"picker-switch":E(1);break;case"prev":case"next":f=R.modes[i.viewMode].navStep,"prev"===h[0].className&&(f=-1*f),i.viewDate.add(f,R.modes[i.viewMode].navFnc),t()}break;case"span":h.is(".month")?(d=h.parent().find("span").index(h),i.viewDate.month(d)):(e=parseInt(h.text(),10)||0,i.viewDate.year(e)),i.viewMode===i.minViewMode&&(i.date=b({y:i.viewDate.year(),M:i.viewDate.month(),d:i.viewDate.date(),h:i.date.hours(),m:i.date.minutes(),s:i.date.seconds()}),K(),o(j,c.type)),E(-1),t();break;case"td":h.is(".day")&&(g=parseInt(h.text(),10)||1,d=i.viewDate.month(),e=i.viewDate.year(),h.is(".old")?0===d?(d=11,e-=1):d-=1:h.is(".new")&&(11===d?(d=0,e+=1):d+=1),i.date=b({y:e,M:d,d:g,h:i.date.hours(),m:i.date.minutes(),s:i.date.seconds()}),i.viewDate=b({y:e,M:d,d:Math.min(28,g)}),t(),K(),o(j,c.type))}},z={incrementHours:function(){L("add","hours",1)},incrementMinutes:function(){L("add","minutes",i.options.minuteStepping)},incrementSeconds:function(){L("add","seconds",1)},decrementHours:function(){L("subtract","hours",1)},decrementMinutes:function(){L("subtract","minutes",i.options.minuteStepping)},decrementSeconds:function(){L("subtract","seconds",1)},togglePeriod:function(){var a=i.date.hours();a>=12?a-=12:a+=12,i.date.hours(a)},showPicker:function(){i.widget.find(".timepicker > div:not(.timepicker-picker)").hide(),i.widget.find(".timepicker .timepicker-picker").show()},showHours:function(){i.widget.find(".timepicker .timepicker-picker").hide(),i.widget.find(".timepicker .timepicker-hours").show()},showMinutes:function(){i.widget.find(".timepicker .timepicker-picker").hide(),i.widget.find(".timepicker .timepicker-minutes").show()},showSeconds:function(){i.widget.find(".timepicker .timepicker-picker").hide(),i.widget.find(".timepicker .timepicker-seconds").show()},selectHour:function(b){var c=parseInt(a(b.target).text(),10);i.use24hours||(i.date.hours()>=12?12!==c&&(c+=12):12===c&&(c=0)),i.date.hours(c),z.showPicker.call(i)},selectMinute:function(b){i.date.minutes(parseInt(a(b.target).text(),10)),z.showPicker.call(i)},selectSecond:function(b){i.date.seconds(parseInt(a(b.target).text(),10)),z.showPicker.call(i)}},A=function(c){var d=b(i.date),e=a(c.currentTarget).data("action"),f=z[e].apply(i,arguments);return B(c),i.date||(i.date=b({y:1970})),K(),x(),o(d,c.type),f},B=function(a){a.stopPropagation(),a.preventDefault()},C=function(a){27===a.keyCode&&i.hide()},D=function(c){b.locale(i.options.language);var d=a(c.target),e=b(i.date),f=b(d.val(),i.format,i.options.useStrict);f.isValid()&&!M(f)&&N(f)?(q(),i.setValue(f),o(e,c.type),K()):(i.viewDate=e,i.unset=!0,o(e,c.type),p(f))},E=function(a){a&&(i.viewMode=Math.max(i.minViewMode,Math.min(2,i.viewMode+a))),i.widget.find(".datepicker > div").hide().filter(".datepicker-"+R.modes[i.viewMode].clsName).show()},F=function(){var b,c,d,e,f;i.widget.on("click",".datepicker *",a.proxy(y,this)),i.widget.on("click","[data-action]",a.proxy(A,this)),i.widget.on("mousedown",a.proxy(B,this)),i.element.on("keydown",a.proxy(C,this)),i.options.pickDate&&i.options.pickTime&&i.widget.on("click.togglePicker",".accordion-toggle",function(g){if(g.stopPropagation(),b=a(this),c=b.closest("ul"),d=c.find(".in"),e=c.find(".collapse:not(.in)"),d&&d.length){if(f=d.data("collapse"),f&&f.transitioning)return;d.collapse("hide"),e.collapse("show"),b.find("span").toggleClass(i.options.icons.time+" "+i.options.icons.date),i.component&&i.component.find("span").toggleClass(i.options.icons.time+" "+i.options.icons.date)}}),i.isInput?i.element.on({click:a.proxy(i.show,this),focus:a.proxy(i.show,this),change:a.proxy(D,this),blur:a.proxy(i.hide,this)}):(i.element.on({change:a.proxy(D,this)},"input"),i.component?(i.component.on("click",a.proxy(i.show,this)),i.component.on("mousedown",a.proxy(B,this))):i.element.on("click",a.proxy(i.show,this)))},G=function(){a(window).on("resize.datetimepicker"+i.id,a.proxy(n,this)),i.isInput||a(document).on("mousedown.datetimepicker"+i.id,a.proxy(i.hide,this))},H=function(){i.widget.off("click",".datepicker *",i.click),i.widget.off("click","[data-action]"),i.widget.off("mousedown",i.stopEvent),i.options.pickDate&&i.options.pickTime&&i.widget.off("click.togglePicker"),i.isInput?i.element.off({focus:i.show,change:D,click:i.show,blur:i.hide}):(i.element.off({change:D},"input"),i.component?(i.component.off("click",i.show),i.component.off("mousedown",i.stopEvent)):i.element.off("click",i.show))},I=function(){a(window).off("resize.datetimepicker"+i.id),i.isInput||a(document).off("mousedown.datetimepicker"+i.id)},J=function(){if(i.element){var b,c=i.element.parents(),d=!1;for(b=0;b<c.length;b++)if("fixed"===a(c[b]).css("position")){d=!0;break}return d}return!1},K=function(){b.locale(i.options.language);var a="";i.unset||(a=b(i.date).format(i.format)),l().val(a),i.element.data("date",a),i.options.pickTime||i.hide()},L=function(a,c,d){b.locale(i.options.language);var e;return"add"===a?(e=b(i.date),23===e.hours()&&e.add(d,c),e.add(d,c)):e=b(i.date).subtract(d,c),M(b(e.subtract(d,c)))||M(e)?void p(e.format(i.format)):("add"===a?i.date.add(d,c):i.date.subtract(d,c),void(i.unset=!1))},M=function(a,c){b.locale(i.options.language);var d=b(i.options.maxDate,i.format,i.options.useStrict),e=b(i.options.minDate,i.format,i.options.useStrict);return c&&(d=d.endOf(c),e=e.startOf(c)),a.isAfter(d)||a.isBefore(e)?!0:i.options.disabledDates===!1?!1:i.options.disabledDates[a.format("YYYY-MM-DD")]===!0},N=function(a){return b.locale(i.options.language),i.options.enabledDates===!1?!0:i.options.enabledDates[a.format("YYYY-MM-DD")]===!0},O=function(a){var c,d={},e=0;for(c=0;c<a.length;c++)f=b.isMoment(a[c])||a[c]instanceof Date?b(a[c]):b(a[c],i.format,i.options.useStrict),f.isValid()&&(d[f.format("YYYY-MM-DD")]=!0,e++);return e>0?d:!1},P=function(a){return a=a.toString(),a.length>=2?a:"0"+a},Q=function(){var a='<thead><tr><th class="prev">&lsaquo;</th><th colspan="'+(i.options.calendarWeeks?"6":"5")+'" class="picker-switch"></th><th class="next">&rsaquo;</th></tr></thead>',b='<tbody><tr><td colspan="'+(i.options.calendarWeeks?"8":"7")+'"></td></tr></tbody>',c='<div class="datepicker-days"><table class="table-condensed">'+a+'<tbody></tbody></table></div><div class="datepicker-months"><table class="table-condensed">'+a+b+'</table></div><div class="datepicker-years"><table class="table-condensed">'+a+b+"</table></div>",d="";return i.options.pickDate&&i.options.pickTime?(d='<div class="bootstrap-datetimepicker-widget'+(i.options.sideBySide?" timepicker-sbs":"")+(i.use24hours?" usetwentyfour":"")+' dropdown-menu" style="z-index:9999 !important;">',d+=i.options.sideBySide?'<div class="row"><div class="col-sm-6 datepicker">'+c+'</div><div class="col-sm-6 timepicker">'+S.getTemplate()+"</div></div>":'<ul class="list-unstyled"><li'+(i.options.collapse?' class="collapse in"':"")+'><div class="datepicker">'+c+'</div></li><li class="picker-switch accordion-toggle"><a class="btn" style="width:100%"><span class="'+i.options.icons.time+'"></span></a></li><li'+(i.options.collapse?' class="collapse"':"")+'><div class="timepicker">'+S.getTemplate()+"</div></li></ul>",d+="</div>"):i.options.pickTime?'<div class="bootstrap-datetimepicker-widget dropdown-menu"><div class="timepicker">'+S.getTemplate()+"</div></div>":'<div class="bootstrap-datetimepicker-widget dropdown-menu"><div class="datepicker">'+c+"</div></div>"},R={modes:[{clsName:"days",navFnc:"month",navStep:1},{clsName:"months",navFnc:"year",navStep:1},{clsName:"years",navFnc:"year",navStep:10}]},S={hourTemplate:'<span data-action="showHours" data-time-component="hours" class="timepicker-hour"></span>',minuteTemplate:'<span data-action="showMinutes" data-time-component="minutes" class="timepicker-minute"></span>',secondTemplate:'<span data-action="showSeconds" data-time-component="seconds" class="timepicker-second"></span>'};S.getTemplate=function(){return'<div class="timepicker-picker"><table class="table-condensed"><tr><td><a href="#" class="btn" data-action="incrementHours"><span class="'+i.options.icons.up+'"></span></a></td><td class="separator"></td><td>'+(i.options.useMinutes?'<a href="#" class="btn" data-action="incrementMinutes"><span class="'+i.options.icons.up+'"></span></a>':"")+"</td>"+(i.options.useSeconds?'<td class="separator"></td><td><a href="#" class="btn" data-action="incrementSeconds"><span class="'+i.options.icons.up+'"></span></a></td>':"")+(i.use24hours?"":'<td class="separator"></td>')+"</tr><tr><td>"+S.hourTemplate+'</td> <td class="separator">:</td><td>'+(i.options.useMinutes?S.minuteTemplate:'<span class="timepicker-minute">00</span>')+"</td> "+(i.options.useSeconds?'<td class="separator">:</td><td>'+S.secondTemplate+"</td>":"")+(i.use24hours?"":'<td class="separator"></td><td><button type="button" class="btn btn-primary" data-action="togglePeriod"></button></td>')+'</tr><tr><td><a href="#" class="btn" data-action="decrementHours"><span class="'+i.options.icons.down+'"></span></a></td><td class="separator"></td><td>'+(i.options.useMinutes?'<a href="#" class="btn" data-action="decrementMinutes"><span class="'+i.options.icons.down+'"></span></a>':"")+"</td>"+(i.options.useSeconds?'<td class="separator"></td><td><a href="#" class="btn" data-action="decrementSeconds"><span class="'+i.options.icons.down+'"></span></a></td>':"")+(i.use24hours?"":'<td class="separator"></td>')+'</tr></table></div><div class="timepicker-hours" data-action="selectHour"><table class="table-condensed"></table></div><div class="timepicker-minutes" data-action="selectMinute"><table class="table-condensed"></table></div>'+(i.options.useSeconds?'<div class="timepicker-seconds" data-action="selectSecond"><table class="table-condensed"></table></div>':"")},i.destroy=function(){H(),I(),i.widget.remove(),i.element.removeData("DateTimePicker"),i.component&&i.component.removeData("DateTimePicker")},i.show=function(a){if(!l().prop("disabled")){if(i.options.useCurrent&&""===l().val()){if(1!==i.options.minuteStepping){var c=b(),d=i.options.minuteStepping;c.minutes(Math.round(c.minutes()/d)*d%60).seconds(0),i.setValue(c.format(i.format))}else i.setValue(b().format(i.format));o("",a.type)}a&&"click"===a.type&&i.isInput&&i.widget.hasClass("picker-open")||(i.widget.hasClass("picker-open")?(i.widget.hide(),i.widget.removeClass("picker-open")):(i.widget.show(),i.widget.addClass("picker-open")),i.height=i.component?i.component.outerHeight():i.element.outerHeight(),n(),i.element.trigger({type:"dp.show",date:b(i.date)}),G(),a&&B(a))}},i.disable=function(){var a=l();a.prop("disabled")||(a.prop("disabled",!0),H())},i.enable=function(){var a=l();a.prop("disabled")&&(a.prop("disabled",!1),F())},i.hide=function(){var a,c,d=i.widget.find(".collapse");for(a=0;a<d.length;a++)if(c=d.eq(a).data("collapse"),c&&c.transitioning)return;i.widget.hide(),i.widget.removeClass("picker-open"),i.viewMode=i.startViewMode,E(),i.element.trigger({type:"dp.hide",date:b(i.date)}),I()},i.setValue=function(a){b.locale(i.options.language),a?i.unset=!1:(i.unset=!0,K()),a=b.isMoment(a)?a.locale(i.options.language):a instanceof Date?b(a):b(a,i.format,i.options.useStrict),a.isValid()?(i.date=a,K(),i.viewDate=b({y:i.date.year(),M:i.date.month()}),t(),x()):p(a)},i.getDate=function(){return i.unset?null:b(i.date)},i.setDate=function(a){var c=b(i.date);i.setValue(a?a:null),o(c,"function")},i.setDisabledDates=function(a){i.options.disabledDates=O(a),i.viewDate&&q()},i.setEnabledDates=function(a){i.options.enabledDates=O(a),i.viewDate&&q()},i.setMaxDate=function(a){void 0!==a&&(i.options.maxDate=b.isMoment(a)||a instanceof Date?b(a):b(a,i.format,i.options.useStrict),i.viewDate&&q())},i.setMinDate=function(a){void 0!==a&&(i.options.minDate=b.isMoment(a)||a instanceof Date?b(a):b(a,i.format,i.options.useStrict),i.viewDate&&q())},k()};a.fn.datetimepicker=function(b){return this.each(function(){var c=a(this),e=c.data("DateTimePicker");e||c.data("DateTimePicker",new d(this,b))})},a.fn.datetimepicker.defaults={format:!1,pickDate:!0,pickTime:!0,useMinutes:!0,useSeconds:!1,useCurrent:!0,calendarWeeks:!1,minuteStepping:1,minDate:b({y:1900}),maxDate:b().add(100,"y"),showToday:!0,collapse:!0,language:b.locale(),defaultDate:"",disabledDates:!1,enabledDates:!1,icons:{},useStrict:!1,direction:"auto",sideBySide:!1,daysOfWeekDisabled:[],widgetParent:!1}});
diff --git a/library/bootstrap-datetimepicker/js/moment.min.js b/library/bootstrap-datetimepicker/js/moment.min.js
deleted file mode 100644
index c30bbff23..000000000
--- a/library/bootstrap-datetimepicker/js/moment.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-//! moment.js
-//! version : 2.8.1
-//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
-//! license : MIT
-//! momentjs.com
-(function(a){function b(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function c(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(a){rb.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function e(a,b){var c=!0;return l(function(){return c&&(d(a),c=!1),b.apply(this,arguments)},b)}function f(a,b){nc[a]||(d(b),nc[a]=!0)}function g(a,b){return function(c){return o(a.call(this,c),b)}}function h(a,b){return function(c){return this.localeData().ordinal(a.call(this,c),b)}}function i(){}function j(a,b){b!==!1&&E(a),m(this,a),this._d=new Date(+a._d)}function k(a){var b=x(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=rb.localeData(),this._bubble()}function l(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function m(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=b._pf),"undefined"!=typeof b._locale&&(a._locale=b._locale),Fb.length>0)for(c in Fb)d=Fb[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function n(a){return 0>a?Math.ceil(a):Math.floor(a)}function o(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.length<b;)d="0"+d;return(e?c?"+":"":"-")+d}function p(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function q(a,b){var c;return b=J(b,a),a.isBefore(b)?c=p(a,b):(c=p(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function r(a,b){return function(c,d){var e,g;return null===d||isNaN(+d)||(f(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),g=c,c=d,d=g),c="string"==typeof c?+c:c,e=rb.duration(c,d),s(this,e,a),this}}function s(a,b,c,d){var e=b._milliseconds,f=b._days,g=b._months;d=null==d?!0:d,e&&a._d.setTime(+a._d+e*c),f&&lb(a,"Date",kb(a,"Date")+f*c),g&&jb(a,kb(a,"Month")+g*c),d&&rb.updateOffset(a,f||g)}function t(a){return"[object Array]"===Object.prototype.toString.call(a)}function u(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&z(a[d])!==z(b[d]))&&g++;return g+f}function w(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=gc[a]||hc[b]||b}return a}function x(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=w(c),b&&(d[b]=a[c]));return d}function y(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}rb[b]=function(e,f){var g,h,i=rb._locale[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=rb().utc().set(d,a);return i.call(rb._locale,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function z(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function A(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function B(a,b,c){return fb(rb([a,11,31+b-c]),b,c).week}function C(a){return D(a)?366:365}function D(a){return a%4===0&&a%100!==0||a%400===0}function E(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[yb]<0||a._a[yb]>11?yb:a._a[zb]<1||a._a[zb]>A(a._a[xb],a._a[yb])?zb:a._a[Ab]<0||a._a[Ab]>23?Ab:a._a[Bb]<0||a._a[Bb]>59?Bb:a._a[Cb]<0||a._a[Cb]>59?Cb:a._a[Db]<0||a._a[Db]>999?Db:-1,a._pf._overflowDayOfYear&&(xb>b||b>zb)&&(b=zb),a._pf.overflow=b)}function F(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function G(a){return a?a.toLowerCase().replace("_","-"):a}function H(a){for(var b,c,d,e,f=0;f<a.length;){for(e=G(a[f]).split("-"),b=e.length,c=G(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=I(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--}f++}return null}function I(a){var b=null;if(!Eb[a]&&Gb)try{b=rb.locale(),require("./locale/"+a),rb.locale(b)}catch(c){}return Eb[a]}function J(a,b){return b._isUTC?rb(a).zone(b._offset||0):rb(a).local()}function K(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function L(a){var b,c,d=a.match(Kb);for(b=0,c=d.length;c>b;b++)d[b]=mc[d[b]]?mc[d[b]]:K(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function M(a,b){return a.isValid()?(b=N(b,a.localeData()),ic[b]||(ic[b]=L(b)),ic[b](a)):a.localeData().invalidDate()}function N(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Lb.lastIndex=0;d>=0&&Lb.test(a);)a=a.replace(Lb,c),Lb.lastIndex=0,d-=1;return a}function O(a,b){var c,d=b._strict;switch(a){case"Q":return Wb;case"DDDD":return Yb;case"YYYY":case"GGGG":case"gggg":return d?Zb:Ob;case"Y":case"G":case"g":return _b;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?$b:Pb;case"S":if(d)return Wb;case"SS":if(d)return Xb;case"SSS":if(d)return Yb;case"DDD":return Nb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Rb;case"a":case"A":return b._locale._meridiemParse;case"X":return Ub;case"Z":case"ZZ":return Sb;case"T":return Tb;case"SSSS":return Qb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?Xb:Mb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Mb;case"Do":return Vb;default:return c=new RegExp(X(W(a.replace("\\","")),"i"))}}function P(a){a=a||"";var b=a.match(Sb)||[],c=b[b.length-1]||[],d=(c+"").match(ec)||["-",0,0],e=+(60*d[1])+z(d[2]);return"+"===d[0]?-e:e}function Q(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[yb]=3*(z(b)-1));break;case"M":case"MM":null!=b&&(e[yb]=z(b)-1);break;case"MMM":case"MMMM":d=c._locale.monthsParse(b),null!=d?e[yb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[zb]=z(b));break;case"Do":null!=b&&(e[zb]=z(parseInt(b,10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=z(b));break;case"YY":e[xb]=rb.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[xb]=z(b);break;case"a":case"A":c._isPm=c._locale.isPM(b);break;case"H":case"HH":case"h":case"hh":e[Ab]=z(b);break;case"m":case"mm":e[Bb]=z(b);break;case"s":case"ss":e[Cb]=z(b);break;case"S":case"SS":case"SSS":case"SSSS":e[Db]=z(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=P(b);break;case"dd":case"ddd":case"dddd":d=c._locale.weekdaysParse(b),null!=d?(c._w=c._w||{},c._w.d=d):c._pf.invalidWeekday=b;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":a=a.substr(0,1);case"gggg":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=z(b));break;case"gg":case"GG":c._w=c._w||{},c._w[a]=rb.parseTwoDigitYear(b)}}function R(a){var c,d,e,f,g,h,i;c=a._w,null!=c.GG||null!=c.W||null!=c.E?(g=1,h=4,d=b(c.GG,a._a[xb],fb(rb(),1,4).year),e=b(c.W,1),f=b(c.E,1)):(g=a._locale._week.dow,h=a._locale._week.doy,d=b(c.gg,a._a[xb],fb(rb(),g,h).year),e=b(c.w,1),null!=c.d?(f=c.d,g>f&&++e):f=null!=c.e?c.e+g:g),i=gb(d,e,f,h,g),a._a[xb]=i.year,a._dayOfYear=i.dayOfYear}function S(a){var c,d,e,f,g=[];if(!a._d){for(e=U(a),a._w&&null==a._a[zb]&&null==a._a[yb]&&R(a),a._dayOfYear&&(f=b(a._a[xb],e[xb]),a._dayOfYear>C(f)&&(a._pf._overflowDayOfYear=!0),d=bb(f,0,a._dayOfYear),a._a[yb]=d.getUTCMonth(),a._a[zb]=d.getUTCDate()),c=0;3>c&&null==a._a[c];++c)a._a[c]=g[c]=e[c];for(;7>c;c++)a._a[c]=g[c]=null==a._a[c]?2===c?1:0:a._a[c];a._d=(a._useUTC?bb:ab).apply(null,g),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()+a._tzm)}}function T(a){var b;a._d||(b=x(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],S(a))}function U(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function V(a){if(a._f===rb.ISO_8601)return void Z(a);a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=""+a._i,h=g.length,i=0;for(d=N(a._f,a._locale).match(Kb)||[],b=0;b<d.length;b++)e=d[b],c=(g.match(O(e,a))||[])[0],c&&(f=g.substr(0,g.indexOf(c)),f.length>0&&a._pf.unusedInput.push(f),g=g.slice(g.indexOf(c)+c.length),i+=c.length),mc[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),Q(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=h-i,g.length>0&&a._pf.unusedInput.push(g),a._isPm&&a._a[Ab]<12&&(a._a[Ab]+=12),a._isPm===!1&&12===a._a[Ab]&&(a._a[Ab]=0),S(a),E(a)}function W(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function X(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Y(a){var b,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;f<a._f.length;f++)g=0,b=m({},a),b._pf=c(),b._f=a._f[f],V(b),F(b)&&(g+=b._pf.charsLeftOver,g+=10*b._pf.unusedTokens.length,b._pf.score=g,(null==e||e>g)&&(e=g,d=b));l(a,d||b)}function Z(a){var b,c,d=a._i,e=ac.exec(d);if(e){for(a._pf.iso=!0,b=0,c=cc.length;c>b;b++)if(cc[b][1].exec(d)){a._f=cc[b][0]+(e[6]||" ");break}for(b=0,c=dc.length;c>b;b++)if(dc[b][1].exec(d)){a._f+=dc[b][0];break}d.match(Sb)&&(a._f+="Z"),V(a)}else a._isValid=!1}function $(a){Z(a),a._isValid===!1&&(delete a._isValid,rb.createFromInputFallback(a))}function _(b){var c,d=b._i;d===a?b._d=new Date:u(d)?b._d=new Date(+d):null!==(c=Hb.exec(d))?b._d=new Date(+c[1]):"string"==typeof d?$(b):t(d)?(b._a=d.slice(0),S(b)):"object"==typeof d?T(b):"number"==typeof d?b._d=new Date(d):rb.createFromInputFallback(b)}function ab(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function bb(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function cb(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function db(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function eb(a,b,c){var d=rb.duration(a).abs(),e=wb(d.as("s")),f=wb(d.as("m")),g=wb(d.as("h")),h=wb(d.as("d")),i=wb(d.as("M")),j=wb(d.as("y")),k=e<jc.s&&["s",e]||1===f&&["m"]||f<jc.m&&["mm",f]||1===g&&["h"]||g<jc.h&&["hh",g]||1===h&&["d"]||h<jc.d&&["dd",h]||1===i&&["M"]||i<jc.M&&["MM",i]||1===j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,db.apply({},k)}function fb(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=rb(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function gb(a,b,c,d,e){var f,g,h=bb(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:C(a-1)+g}}function hb(b){var c=b._i,d=b._f;return b._locale=b._locale||rb.localeData(b._l),null===c||d===a&&""===c?rb.invalid({nullInput:!0}):("string"==typeof c&&(b._i=c=b._locale.preparse(c)),rb.isMoment(c)?new j(c,!0):(d?t(d)?Y(b):V(b):_(b),new j(b)))}function ib(a,b){var c,d;if(1===b.length&&t(b[0])&&(b=b[0]),!b.length)return rb();for(c=b[0],d=1;d<b.length;++d)b[d][a](c)&&(c=b[d]);return c}function jb(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),A(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function kb(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function lb(a,b,c){return"Month"===b?jb(a,c):a._d["set"+(a._isUTC?"UTC":"")+b](c)}function mb(a,b){return function(c){return null!=c?(lb(this,a,c),rb.updateOffset(this,b),this):kb(this,a)}}function nb(a){return 400*a/146097}function ob(a){return 146097*a/400}function pb(a){rb.duration.fn[a]=function(){return this._data[a]}}function qb(a){"undefined"==typeof ender&&(sb=vb.moment,vb.moment=a?e("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",rb):rb)}for(var rb,sb,tb,ub="2.8.1",vb="undefined"!=typeof global?global:this,wb=Math.round,xb=0,yb=1,zb=2,Ab=3,Bb=4,Cb=5,Db=6,Eb={},Fb=[],Gb="undefined"!=typeof module&&module.exports,Hb=/^\/?Date\((\-?\d+)/i,Ib=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Jb=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,Kb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,Lb=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,Mb=/\d\d?/,Nb=/\d{1,3}/,Ob=/\d{1,4}/,Pb=/[+\-]?\d{1,6}/,Qb=/\d+/,Rb=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Sb=/Z|[\+\-]\d\d:?\d\d/gi,Tb=/T/i,Ub=/[\+\-]?\d+(\.\d{1,3})?/,Vb=/\d{1,2}/,Wb=/\d/,Xb=/\d\d/,Yb=/\d{3}/,Zb=/\d{4}/,$b=/[+-]?\d{6}/,_b=/[+-]?\d+/,ac=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,bc="YYYY-MM-DDTHH:mm:ssZ",cc=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],dc=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],ec=/([\+\-]|\d\d)/gi,fc=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),gc={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},hc={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},ic={},jc={s:45,m:45,h:22,d:26,M:11},kc="DDD w W M D d".split(" "),lc="M D H h m s w W".split(" "),mc={M:function(){return this.month()+1},MMM:function(a){return this.localeData().monthsShort(this,a)},MMMM:function(a){return this.localeData().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.localeData().weekdaysMin(this,a)},ddd:function(a){return this.localeData().weekdaysShort(this,a)},dddd:function(a){return this.localeData().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return o(this.year()%100,2)},YYYY:function(){return o(this.year(),4)},YYYYY:function(){return o(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+o(Math.abs(a),6)},gg:function(){return o(this.weekYear()%100,2)},gggg:function(){return o(this.weekYear(),4)},ggggg:function(){return o(this.weekYear(),5)},GG:function(){return o(this.isoWeekYear()%100,2)},GGGG:function(){return o(this.isoWeekYear(),4)},GGGGG:function(){return o(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return z(this.milliseconds()/100)},SS:function(){return o(z(this.milliseconds()/10),2)},SSS:function(){return o(this.milliseconds(),3)},SSSS:function(){return o(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+o(z(a/60),2)+":"+o(z(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+o(z(a/60),2)+o(z(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},nc={},oc=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];kc.length;)tb=kc.pop(),mc[tb+"o"]=h(mc[tb],tb);for(;lc.length;)tb=lc.pop(),mc[tb+tb]=g(mc[tb],2);mc.DDDD=g(mc.DDD,3),l(i.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=rb.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=rb([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return fb(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),rb=function(b,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=b,g._f=d,g._l=e,g._strict=f,g._isUTC=!1,g._pf=c(),hb(g)},rb.suppressDeprecationWarnings=!1,rb.createFromInputFallback=e("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i)}),rb.min=function(){var a=[].slice.call(arguments,0);return ib("isBefore",a)},rb.max=function(){var a=[].slice.call(arguments,0);return ib("isAfter",a)},rb.utc=function(b,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=b,g._f=d,g._strict=f,g._pf=c(),hb(g).utc()},rb.unix=function(a){return rb(1e3*a)},rb.duration=function(a,b){var c,d,e,f,g=a,h=null;return rb.isDuration(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(g={},b?g[b]=a:g.milliseconds=a):(h=Ib.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:z(h[zb])*c,h:z(h[Ab])*c,m:z(h[Bb])*c,s:z(h[Cb])*c,ms:z(h[Db])*c}):(h=Jb.exec(a))?(c="-"===h[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},g={y:e(h[2]),M:e(h[3]),d:e(h[4]),h:e(h[5]),m:e(h[6]),s:e(h[7]),w:e(h[8])}):"object"==typeof g&&("from"in g||"to"in g)&&(f=q(rb(g.from),rb(g.to)),g={},g.ms=f.milliseconds,g.M=f.months),d=new k(g),rb.isDuration(a)&&a.hasOwnProperty("_locale")&&(d._locale=a._locale),d},rb.version=ub,rb.defaultFormat=bc,rb.ISO_8601=function(){},rb.momentProperties=Fb,rb.updateOffset=function(){},rb.relativeTimeThreshold=function(b,c){return jc[b]===a?!1:c===a?jc[b]:(jc[b]=c,!0)},rb.lang=e("moment.lang is deprecated. Use moment.locale instead.",function(a,b){return rb.locale(a,b)}),rb.locale=function(a,b){var c;return a&&(c="undefined"!=typeof b?rb.defineLocale(a,b):rb.localeData(a),c&&(rb.duration._locale=rb._locale=c)),rb._locale._abbr},rb.defineLocale=function(a,b){return null!==b?(b.abbr=a,Eb[a]||(Eb[a]=new i),Eb[a].set(b),rb.locale(a),Eb[a]):(delete Eb[a],null)},rb.langData=e("moment.langData is deprecated. Use moment.localeData instead.",function(a){return rb.localeData(a)}),rb.localeData=function(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return rb._locale;if(!t(a)){if(b=I(a))return b;a=[a]}return H(a)},rb.isMoment=function(a){return a instanceof j||null!=a&&a.hasOwnProperty("_isAMomentObject")},rb.isDuration=function(a){return a instanceof k};for(tb=oc.length-1;tb>=0;--tb)y(oc[tb]);rb.normalizeUnits=function(a){return w(a)},rb.invalid=function(a){var b=rb.utc(0/0);return null!=a?l(b._pf,a):b._pf.userInvalidated=!0,b},rb.parseZone=function(){return rb.apply(null,arguments).parseZone()},rb.parseTwoDigitYear=function(a){return z(a)+(z(a)>68?1900:2e3)},l(rb.fn=j.prototype,{clone:function(){return rb(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=rb(this).utc();return 0<a.year()&&a.year()<=9999?M(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):M(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return F(this)},isDSTShifted:function(){return this._a?this.isValid()&&v(this._a,(this._isUTC?rb.utc(this._a):rb(this._a)).toArray())>0:!1},parsingFlags:function(){return l({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(a){return this.zone(0,a)},local:function(a){return this._isUTC&&(this.zone(0,a),this._isUTC=!1,a&&this.add(this._d.getTimezoneOffset(),"m")),this},format:function(a){var b=M(this,a||rb.defaultFormat);return this.localeData().postformat(b)},add:r(1,"add"),subtract:r(-1,"subtract"),diff:function(a,b,c){var d,e,f=J(a,this),g=6e4*(this.zone()-f.zone());return b=w(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-rb(this).startOf("month")-(f-rb(f).startOf("month")))/d,e-=6e4*(this.zone()-rb(this).startOf("month").zone()-(f.zone()-rb(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:n(e)},from:function(a,b){return rb.duration({to:this,from:a}).locale(this.locale()).humanize(!b)},fromNow:function(a){return this.from(rb(),a)},calendar:function(a){var b=a||rb(),c=J(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this))},isLeapYear:function(){return D(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=cb(a,this.localeData()),this.add(a-b,"d")):b},month:mb("Month",!0),startOf:function(a){switch(a=w(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(a){return a=w(a),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms")},isAfter:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)>+rb(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+rb(a).startOf(b)},isSame:function(a,b){return b=b||"ms",+this.clone().startOf(b)===+J(a,this).startOf(b)},min:e("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(a){return a=rb.apply(null,arguments),this>a?this:a}),max:e("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(a){return a=rb.apply(null,arguments),a>this?this:a}),zone:function(a,b){var c,d=this._offset||0;return null==a?this._isUTC?d:this._d.getTimezoneOffset():("string"==typeof a&&(a=P(a)),Math.abs(a)<16&&(a=60*a),!this._isUTC&&b&&(c=this._d.getTimezoneOffset()),this._offset=a,this._isUTC=!0,null!=c&&this.subtract(c,"m"),d!==a&&(!b||this._changeInProgress?s(this,rb.duration(d-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,rb.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?rb(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return A(this.year(),this.month())},dayOfYear:function(a){var b=wb((rb(this).startOf("day")-rb(this).startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")},quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=fb(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")},isoWeekYear:function(a){var b=fb(this,1,4).year;return null==a?b:this.add(a-b,"y")},week:function(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")},isoWeek:function(a){var b=fb(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")},weekday:function(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return B(this.year(),1,4)},weeksInYear:function(){var a=this.localeData()._week;return B(this.year(),a.dow,a.doy)},get:function(a){return a=w(a),this[a]()},set:function(a,b){return a=w(a),"function"==typeof this[a]&&this[a](b),this},locale:function(b){return b===a?this._locale._abbr:(this._locale=rb.localeData(b),this)},lang:e("moment().lang() is deprecated. Use moment().localeData() instead.",function(b){return b===a?this.localeData():(this._locale=rb.localeData(b),this)}),localeData:function(){return this._locale}}),rb.fn.millisecond=rb.fn.milliseconds=mb("Milliseconds",!1),rb.fn.second=rb.fn.seconds=mb("Seconds",!1),rb.fn.minute=rb.fn.minutes=mb("Minutes",!1),rb.fn.hour=rb.fn.hours=mb("Hours",!0),rb.fn.date=mb("Date",!0),rb.fn.dates=e("dates accessor is deprecated. Use date instead.",mb("Date",!0)),rb.fn.year=mb("FullYear",!0),rb.fn.years=e("years accessor is deprecated. Use year instead.",mb("FullYear",!0)),rb.fn.days=rb.fn.day,rb.fn.months=rb.fn.month,rb.fn.weeks=rb.fn.week,rb.fn.isoWeeks=rb.fn.isoWeek,rb.fn.quarters=rb.fn.quarter,rb.fn.toJSON=rb.fn.toISOString,l(rb.duration.fn=k.prototype,{_bubble:function(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;g.milliseconds=d%1e3,a=n(d/1e3),g.seconds=a%60,b=n(a/60),g.minutes=b%60,c=n(b/60),g.hours=c%24,e+=n(c/24),h=n(nb(e)),e-=n(ob(h)),f+=n(e/30),e%=30,h+=n(f/12),f%=12,g.days=e,g.months=f,g.years=h},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return n(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*z(this._months/12)},humanize:function(a){var b=eb(this,!a,this.localeData());return a&&(b=this.localeData().pastFuture(+this,b)),this.localeData().postformat(b)},add:function(a,b){var c=rb.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=rb.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=w(a),this[a.toLowerCase()+"s"]()},as:function(a){var b,c;if(a=w(a),b=this._days+this._milliseconds/864e5,"month"===a||"year"===a)return c=this._months+12*nb(b),"month"===a?c:c/12;switch(b+=ob(this._months/12),a){case"week":return b/7;case"day":return b;case"hour":return 24*b;case"minute":return 24*b*60;case"second":return 24*b*60*60;case"millisecond":return 24*b*60*60*1e3;default:throw new Error("Unknown unit "+a)}},lang:rb.fn.lang,locale:rb.fn.locale,toIsoString:e("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"},localeData:function(){return this._locale}});for(tb in fc)fc.hasOwnProperty(tb)&&pb(tb.toLowerCase());rb.duration.fn.asMilliseconds=function(){return this.as("ms")},rb.duration.fn.asSeconds=function(){return this.as("s")},rb.duration.fn.asMinutes=function(){return this.as("m")},rb.duration.fn.asHours=function(){return this.as("h")},rb.duration.fn.asDays=function(){return this.as("d")},rb.duration.fn.asWeeks=function(){return this.as("weeks")},rb.duration.fn.asMonths=function(){return this.as("M")},rb.duration.fn.asYears=function(){return this.as("y")},rb.locale("en",{ordinal:function(a){var b=a%10,c=1===z(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),Gb?module.exports=rb:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(vb.moment=sb),rb}),qb(!0)):qb()}).call(this); \ No newline at end of file
diff --git a/library/bootstrap-tagsinput/LICENSE b/library/bootstrap-tagsinput/LICENSE
new file mode 100644
index 000000000..58bc985ba
--- /dev/null
+++ b/library/bootstrap-tagsinput/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2013 Tim Schlechter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/library/bootstrap-tagsinput/README b/library/bootstrap-tagsinput/README
new file mode 100644
index 000000000..a7c96d53a
--- /dev/null
+++ b/library/bootstrap-tagsinput/README
@@ -0,0 +1 @@
+Taken from https://github.com/gdibble/bootstrap-tagsinput/tree/traditionalPlaceholderEffect which has proper support for placeholders
diff --git a/library/bootstrap-tagsinput/README.md b/library/bootstrap-tagsinput/README.md
new file mode 100644
index 000000000..363c0d50b
--- /dev/null
+++ b/library/bootstrap-tagsinput/README.md
@@ -0,0 +1,879 @@
+
+
+
+
+<!DOCTYPE html>
+<html lang="en" class="">
+ <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# object: http://ogp.me/ns/object# article: http://ogp.me/ns/article# profile: http://ogp.me/ns/profile#">
+ <meta charset='utf-8'>
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta http-equiv="Content-Language" content="en">
+
+
+ <title>bootstrap-tagsinput/README.md at master · TimSchlechter/bootstrap-tagsinput · GitHub</title>
+ <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
+ <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
+ <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-144.png">
+ <link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144.png">
+ <meta property="fb:app_id" content="1401488693436528">
+
+ <meta content="@github" name="twitter:site" /><meta content="summary" name="twitter:card" /><meta content="TimSchlechter/bootstrap-tagsinput" name="twitter:title" /><meta content="bootstrap-tagsinput - jQuery tags input plugin based on Twitter Bootstrap." name="twitter:description" /><meta content="https://avatars1.githubusercontent.com/u/2721613?v=3&amp;s=400" name="twitter:image:src" />
+<meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="https://avatars1.githubusercontent.com/u/2721613?v=3&amp;s=400" property="og:image" /><meta content="TimSchlechter/bootstrap-tagsinput" property="og:title" /><meta content="https://github.com/TimSchlechter/bootstrap-tagsinput" property="og:url" /><meta content="bootstrap-tagsinput - jQuery tags input plugin based on Twitter Bootstrap." property="og:description" />
+
+ <meta name="browser-stats-url" content="/_stats">
+ <link rel="assets" href="https://assets-cdn.github.com/">
+ <link rel="conduit-xhr" href="https://ghconduit.com:25035">
+
+ <meta name="pjax-timeout" content="1000">
+
+
+ <meta name="msapplication-TileImage" content="/windows-tile.png">
+ <meta name="msapplication-TileColor" content="#ffffff">
+ <meta name="selected-link" value="repo_source" data-pjax-transient>
+ <meta name="google-analytics" content="UA-3769691-2">
+
+ <meta content="collector.githubapp.com" name="octolytics-host" /><meta content="collector-cdn.github.com" name="octolytics-script-host" /><meta content="github" name="octolytics-app-id" /><meta content="05C412F3:5EFA:620CC:54968B9C" name="octolytics-dimension-request_id" />
+
+ <meta content="Rails, view, blob#show" name="analytics-event" />
+
+
+
+ <link rel="icon" type="image/x-icon" href="https://assets-cdn.github.com/favicon.ico">
+
+
+ <meta content="authenticity_token" name="csrf-param" />
+<meta content="pq46YRAN8EIxwiqw1PBmOS18o8ukCrBKyIwYs6EhhTJPiGbEXhKdJxdkbRWl+VYne3E3iSUijxSIsYnZnQddlg==" name="csrf-token" />
+
+ <link href="https://assets-cdn.github.com/assets/github-9bcf5def7eb44e2a101b20aaecf3707f4b0a10ab8f4d6eebec29371f821c4b29.css" media="all" rel="stylesheet" type="text/css" />
+ <link href="https://assets-cdn.github.com/assets/github2-47bc67324d463c7cecb5ee4c009628c91db85b0e9288a9e663f2d06ff9e03088.css" media="all" rel="stylesheet" type="text/css" />
+
+
+
+
+ <meta http-equiv="x-pjax-version" content="cffc32e08a29062b908cc3ddb47285af">
+
+
+ <meta name="description" content="bootstrap-tagsinput - jQuery tags input plugin based on Twitter Bootstrap.">
+ <meta name="go-import" content="github.com/TimSchlechter/bootstrap-tagsinput git https://github.com/TimSchlechter/bootstrap-tagsinput.git">
+
+ <meta content="2721613" name="octolytics-dimension-user_id" /><meta content="TimSchlechter" name="octolytics-dimension-user_login" /><meta content="11534941" name="octolytics-dimension-repository_id" /><meta content="TimSchlechter/bootstrap-tagsinput" name="octolytics-dimension-repository_nwo" /><meta content="true" name="octolytics-dimension-repository_public" /><meta content="false" name="octolytics-dimension-repository_is_fork" /><meta content="11534941" name="octolytics-dimension-repository_network_root_id" /><meta content="TimSchlechter/bootstrap-tagsinput" name="octolytics-dimension-repository_network_root_nwo" />
+ <link href="https://github.com/TimSchlechter/bootstrap-tagsinput/commits/master.atom" rel="alternate" title="Recent Commits to bootstrap-tagsinput:master" type="application/atom+xml">
+
+ </head>
+
+
+ <body class="logged_out env-production vis-public page-blob">
+ <a href="#start-of-content" tabindex="1" class="accessibility-aid js-skip-to-content">Skip to content</a>
+ <div class="wrapper">
+
+
+
+
+
+
+
+ <div class="header header-logged-out" role="banner">
+ <div class="container clearfix">
+
+ <a class="header-logo-wordmark" href="https://github.com/" ga-data-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
+ <span class="mega-octicon octicon-logo-github"></span>
+ </a>
+
+ <div class="header-actions" role="navigation">
+ <a class="button primary" href="/join" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>
+ <a class="button" href="/login?return_to=%2FTimSchlechter%2Fbootstrap-tagsinput%2Fblob%2Fmaster%2FREADME.md" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
+ </div>
+
+ <div class="site-search repo-scope js-site-search" role="search">
+ <form accept-charset="UTF-8" action="/TimSchlechter/bootstrap-tagsinput/search" class="js-site-search-form" data-global-search-url="/search" data-repo-search-url="/TimSchlechter/bootstrap-tagsinput/search" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
+ <input type="text"
+ class="js-site-search-field is-clearable"
+ data-hotkey="s"
+ name="q"
+ placeholder="Search"
+ data-global-scope-placeholder="Search GitHub"
+ data-repo-scope-placeholder="Search"
+ tabindex="1"
+ autocapitalize="off">
+ <div class="scope-badge">This repository</div>
+</form>
+ </div>
+
+ <ul class="header-nav left" role="navigation">
+ <li class="header-nav-item">
+ <a class="header-nav-link" href="/explore" data-ga-click="(Logged out) Header, go to explore, text:explore">Explore</a>
+ </li>
+ <li class="header-nav-item">
+ <a class="header-nav-link" href="/features" data-ga-click="(Logged out) Header, go to features, text:features">Features</a>
+ </li>
+ <li class="header-nav-item">
+ <a class="header-nav-link" href="https://enterprise.github.com/" data-ga-click="(Logged out) Header, go to enterprise, text:enterprise">Enterprise</a>
+ </li>
+ <li class="header-nav-item">
+ <a class="header-nav-link" href="/blog" data-ga-click="(Logged out) Header, go to blog, text:blog">Blog</a>
+ </li>
+ </ul>
+
+ </div>
+</div>
+
+
+
+ <div id="start-of-content" class="accessibility-aid"></div>
+ <div class="site" itemscope itemtype="http://schema.org/WebPage">
+ <div id="js-flash-container">
+
+ </div>
+ <div class="pagehead repohead instapaper_ignore readability-menu">
+ <div class="container">
+
+<ul class="pagehead-actions">
+
+
+ <li>
+ <a href="/login?return_to=%2FTimSchlechter%2Fbootstrap-tagsinput"
+ class="minibutton with-count star-button tooltipped tooltipped-n"
+ aria-label="You must be signed in to star a repository" rel="nofollow">
+ <span class="octicon octicon-star"></span>
+ Star
+ </a>
+
+ <a class="social-count js-social-count" href="/TimSchlechter/bootstrap-tagsinput/stargazers">
+ 755
+ </a>
+
+ </li>
+
+ <li>
+ <a href="/login?return_to=%2FTimSchlechter%2Fbootstrap-tagsinput"
+ class="minibutton with-count js-toggler-target fork-button tooltipped tooltipped-n"
+ aria-label="You must be signed in to fork a repository" rel="nofollow">
+ <span class="octicon octicon-repo-forked"></span>
+ Fork
+ </a>
+ <a href="/TimSchlechter/bootstrap-tagsinput/network" class="social-count">
+ 307
+ </a>
+ </li>
+</ul>
+
+ <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
+ <span class="mega-octicon octicon-repo"></span>
+ <span class="author"><a href="/TimSchlechter" class="url fn" itemprop="url" rel="author"><span itemprop="title">TimSchlechter</span></a></span><!--
+ --><span class="path-divider">/</span><!--
+ --><strong><a href="/TimSchlechter/bootstrap-tagsinput" class="js-current-repository" data-pjax="#js-repo-pjax-container">bootstrap-tagsinput</a></strong>
+
+ <span class="page-context-loader">
+ <img alt="" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
+ </span>
+
+ </h1>
+ </div><!-- /.container -->
+ </div><!-- /.repohead -->
+
+ <div class="container">
+ <div class="repository-with-sidebar repo-container new-discussion-timeline ">
+ <div class="repository-sidebar clearfix">
+
+<nav class="sunken-menu repo-nav js-repo-nav js-sidenav-container-pjax js-octicon-loaders"
+ role="navigation"
+ data-pjax="#js-repo-pjax-container"
+ data-issue-count-url="/TimSchlechter/bootstrap-tagsinput/issues/counts">
+ <ul class="sunken-menu-group">
+ <li class="tooltipped tooltipped-w" aria-label="Code">
+ <a href="/TimSchlechter/bootstrap-tagsinput" aria-label="Code" class="selected js-selected-navigation-item sunken-menu-item" data-hotkey="g c" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches /TimSchlechter/bootstrap-tagsinput">
+ <span class="octicon octicon-code"></span> <span class="full-word">Code</span>
+ <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
+</a> </li>
+
+ <li class="tooltipped tooltipped-w" aria-label="Issues">
+ <a href="/TimSchlechter/bootstrap-tagsinput/issues" aria-label="Issues" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g i" data-selected-links="repo_issues repo_labels repo_milestones /TimSchlechter/bootstrap-tagsinput/issues">
+ <span class="octicon octicon-issue-opened"></span> <span class="full-word">Issues</span>
+ <span class="js-issue-replace-counter"></span>
+ <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
+</a> </li>
+
+ <li class="tooltipped tooltipped-w" aria-label="Pull Requests">
+ <a href="/TimSchlechter/bootstrap-tagsinput/pulls" aria-label="Pull Requests" class="js-selected-navigation-item sunken-menu-item" data-hotkey="g p" data-selected-links="repo_pulls /TimSchlechter/bootstrap-tagsinput/pulls">
+ <span class="octicon octicon-git-pull-request"></span> <span class="full-word">Pull Requests</span>
+ <span class="js-pull-replace-counter"></span>
+ <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
+</a> </li>
+
+
+ </ul>
+ <div class="sunken-menu-separator"></div>
+ <ul class="sunken-menu-group">
+
+ <li class="tooltipped tooltipped-w" aria-label="Pulse">
+ <a href="/TimSchlechter/bootstrap-tagsinput/pulse" aria-label="Pulse" class="js-selected-navigation-item sunken-menu-item" data-selected-links="pulse /TimSchlechter/bootstrap-tagsinput/pulse">
+ <span class="octicon octicon-pulse"></span> <span class="full-word">Pulse</span>
+ <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
+</a> </li>
+
+ <li class="tooltipped tooltipped-w" aria-label="Graphs">
+ <a href="/TimSchlechter/bootstrap-tagsinput/graphs" aria-label="Graphs" class="js-selected-navigation-item sunken-menu-item" data-selected-links="repo_graphs repo_contributors /TimSchlechter/bootstrap-tagsinput/graphs">
+ <span class="octicon octicon-graph"></span> <span class="full-word">Graphs</span>
+ <img alt="" class="mini-loader" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif" width="16" />
+</a> </li>
+ </ul>
+
+
+</nav>
+
+ <div class="only-with-full-nav">
+
+
+<div class="clone-url open"
+ data-protocol-type="http"
+ data-url="/users/set_protocol?protocol_selector=http&amp;protocol_type=clone">
+ <h3><span class="text-emphasized">HTTPS</span> clone URL</h3>
+ <div class="input-group js-zeroclipboard-container">
+ <input type="text" class="input-mini input-monospace js-url-field js-zeroclipboard-target"
+ value="https://github.com/TimSchlechter/bootstrap-tagsinput.git" readonly="readonly">
+ <span class="input-group-button">
+ <button aria-label="Copy to clipboard" class="js-zeroclipboard minibutton zeroclipboard-button" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
+ </span>
+ </div>
+</div>
+
+
+<div class="clone-url "
+ data-protocol-type="subversion"
+ data-url="/users/set_protocol?protocol_selector=subversion&amp;protocol_type=clone">
+ <h3><span class="text-emphasized">Subversion</span> checkout URL</h3>
+ <div class="input-group js-zeroclipboard-container">
+ <input type="text" class="input-mini input-monospace js-url-field js-zeroclipboard-target"
+ value="https://github.com/TimSchlechter/bootstrap-tagsinput" readonly="readonly">
+ <span class="input-group-button">
+ <button aria-label="Copy to clipboard" class="js-zeroclipboard minibutton zeroclipboard-button" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
+ </span>
+ </div>
+</div>
+
+
+
+<p class="clone-options">You can clone with
+ <a href="#" class="js-clone-selector" data-protocol="http">HTTPS</a> or <a href="#" class="js-clone-selector" data-protocol="subversion">Subversion</a>.
+ <a href="https://help.github.com/articles/which-remote-url-should-i-use" class="help tooltipped tooltipped-n" aria-label="Get help on which URL is right for you.">
+ <span class="octicon octicon-question"></span>
+ </a>
+</p>
+
+
+
+ <a href="/TimSchlechter/bootstrap-tagsinput/archive/master.zip"
+ class="minibutton sidebar-button"
+ aria-label="Download the contents of TimSchlechter/bootstrap-tagsinput as a zip file"
+ title="Download the contents of TimSchlechter/bootstrap-tagsinput as a zip file"
+ rel="nofollow">
+ <span class="octicon octicon-cloud-download"></span>
+ Download ZIP
+ </a>
+ </div>
+ </div><!-- /.repository-sidebar -->
+
+ <div id="js-repo-pjax-container" class="repository-content context-loader-container" data-pjax-container>
+
+
+<a href="/TimSchlechter/bootstrap-tagsinput/blob/a4657365808a224fe8aa950c14b96ecfce58b290/README.md" class="hidden js-permalink-shortcut" data-hotkey="y">Permalink</a>
+
+<!-- blob contrib key: blob_contributors:v21:002463f2fb860593a8410f2c5c54cd3a -->
+
+<div class="file-navigation js-zeroclipboard-container">
+
+<div class="select-menu js-menu-container js-select-menu left">
+ <span class="minibutton select-menu-button js-menu-target css-truncate" data-hotkey="w"
+ data-master-branch="master"
+ data-ref="master"
+ title="master"
+ role="button" aria-label="Switch branches or tags" tabindex="0" aria-haspopup="true">
+ <span class="octicon octicon-git-branch"></span>
+ <i>branch:</i>
+ <span class="js-select-button css-truncate-target">master</span>
+ </span>
+
+ <div class="select-menu-modal-holder js-menu-content js-navigation-container" data-pjax aria-hidden="true">
+
+ <div class="select-menu-modal">
+ <div class="select-menu-header">
+ <span class="select-menu-title">Switch branches/tags</span>
+ <span class="octicon octicon-x js-menu-close" role="button" aria-label="Close"></span>
+ </div> <!-- /.select-menu-header -->
+
+ <div class="select-menu-filters">
+ <div class="select-menu-text-filter">
+ <input type="text" aria-label="Filter branches/tags" id="context-commitish-filter-field" class="js-filterable-field js-navigation-enable" placeholder="Filter branches/tags">
+ </div>
+ <div class="select-menu-tabs">
+ <ul>
+ <li class="select-menu-tab">
+ <a href="#" data-tab-filter="branches" class="js-select-menu-tab">Branches</a>
+ </li>
+ <li class="select-menu-tab">
+ <a href="#" data-tab-filter="tags" class="js-select-menu-tab">Tags</a>
+ </li>
+ </ul>
+ </div><!-- /.select-menu-tabs -->
+ </div><!-- /.select-menu-filters -->
+
+ <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="branches">
+
+ <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
+
+
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/blob/gh-pages/README.md"
+ data-name="gh-pages"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="gh-pages">gh-pages</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item selected">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/blob/master/README.md"
+ data-name="master"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="master">master</a>
+ </div> <!-- /.select-menu-item -->
+ </div>
+
+ <div class="select-menu-no-results">Nothing to show</div>
+ </div> <!-- /.select-menu-list -->
+
+ <div class="select-menu-list select-menu-tab-bucket js-select-menu-tab-bucket" data-tab-filter="tags">
+ <div data-filterable-for="context-commitish-filter-field" data-filterable-type="substring">
+
+
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.4.2/README.md"
+ data-name="0.4.2"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.4.2">0.4.2</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.4.1/README.md"
+ data-name="0.4.1"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.4.1">0.4.1</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.4/README.md"
+ data-name="0.4"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.4">0.4</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.14/README.md"
+ data-name="0.3.14"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.14">0.3.14</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.13/README.md"
+ data-name="0.3.13"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.13">0.3.13</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.12/README.md"
+ data-name="0.3.12"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.12">0.3.12</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.11/README.md"
+ data-name="0.3.11"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.11">0.3.11</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.10/README.md"
+ data-name="0.3.10"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.10">0.3.10</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.9/README.md"
+ data-name="0.3.9"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.9">0.3.9</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.8/README.md"
+ data-name="0.3.8"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.8">0.3.8</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.7/README.md"
+ data-name="0.3.7"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.7">0.3.7</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.6/README.md"
+ data-name="0.3.6"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.6">0.3.6</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.5/README.md"
+ data-name="0.3.5"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.5">0.3.5</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.4/README.md"
+ data-name="0.3.4"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.4">0.3.4</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.3/README.md"
+ data-name="0.3.3"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.3">0.3.3</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.2/README.md"
+ data-name="0.3.2"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.2">0.3.2</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.1/README.md"
+ data-name="0.3.1"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.1">0.3.1</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.3.0/README.md"
+ data-name="0.3.0"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.3.0">0.3.0</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.2.3/README.md"
+ data-name="0.2.3"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.2.3">0.2.3</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.2.2/README.md"
+ data-name="0.2.2"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.2.2">0.2.2</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.2.1/README.md"
+ data-name="0.2.1"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.2.1">0.2.1</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.2.0/README.md"
+ data-name="0.2.0"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.2.0">0.2.0</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.1.1/README.md"
+ data-name="0.1.1"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.1.1">0.1.1</a>
+ </div> <!-- /.select-menu-item -->
+ <div class="select-menu-item js-navigation-item ">
+ <span class="select-menu-item-icon octicon octicon-check"></span>
+ <a href="/TimSchlechter/bootstrap-tagsinput/tree/0.1.0/README.md"
+ data-name="0.1.0"
+ data-skip-pjax="true"
+ rel="nofollow"
+ class="js-navigation-open select-menu-item-text css-truncate-target"
+ title="0.1.0">0.1.0</a>
+ </div> <!-- /.select-menu-item -->
+ </div>
+
+ <div class="select-menu-no-results">Nothing to show</div>
+ </div> <!-- /.select-menu-list -->
+
+ </div> <!-- /.select-menu-modal -->
+ </div> <!-- /.select-menu-modal-holder -->
+</div> <!-- /.select-menu -->
+
+ <div class="button-group right">
+ <a href="/TimSchlechter/bootstrap-tagsinput/find/master"
+ class="js-show-file-finder minibutton empty-icon tooltipped tooltipped-s"
+ data-pjax
+ data-hotkey="t"
+ aria-label="Quickly jump between files">
+ <span class="octicon octicon-list-unordered"></span>
+ </a>
+ <button aria-label="Copy file path to clipboard" class="js-zeroclipboard minibutton zeroclipboard-button" data-copied-hint="Copied!" type="button"><span class="octicon octicon-clippy"></span></button>
+ </div>
+
+ <div class="breadcrumb js-zeroclipboard-target">
+ <span class='repo-root js-repo-root'><span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/TimSchlechter/bootstrap-tagsinput" class="" data-branch="master" data-direction="back" data-pjax="true" itemscope="url"><span itemprop="title">bootstrap-tagsinput</span></a></span></span><span class="separator">/</span><strong class="final-path">README.md</strong>
+ </div>
+</div>
+
+
+ <div class="commit file-history-tease">
+ <div class="file-history-tease-header">
+ <img alt="Tim Schlechter" class="avatar" data-user="2721613" height="24" src="https://avatars3.githubusercontent.com/u/2721613?v=3&amp;s=48" width="24" />
+ <span class="author"><a href="/TimSchlechter" rel="author">TimSchlechter</a></span>
+ <time datetime="2014-07-30T18:40:53Z" is="relative-time">Jul 30, 2014</time>
+ <div class="commit-title">
+ <a href="/TimSchlechter/bootstrap-tagsinput/commit/a64536d346d252a6fb5d013a53ff0b6a6a991ba8" class="message" data-pjax="true" title="Release build 0.4">Release build 0.4</a>
+ </div>
+ </div>
+
+ <div class="participation">
+ <p class="quickstat">
+ <a href="#blob_contributors_box" rel="facebox">
+ <strong>1</strong>
+ contributor
+ </a>
+ </p>
+
+ </div>
+ <div id="blob_contributors_box" style="display:none">
+ <h2 class="facebox-header">Users who have contributed to this file</h2>
+ <ul class="facebox-user-list">
+ <li class="facebox-user-list-item">
+ <img alt="Tim Schlechter" data-user="2721613" height="24" src="https://avatars3.githubusercontent.com/u/2721613?v=3&amp;s=48" width="24" />
+ <a href="/TimSchlechter">TimSchlechter</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+
+<div class="file-box">
+ <div class="file">
+ <div class="meta clearfix">
+ <div class="info file-name">
+ <span>70 lines (61 sloc)</span>
+ <span class="meta-divider"></span>
+ <span>3.157 kb</span>
+ </div>
+ <div class="actions">
+ <div class="button-group">
+ <a href="/TimSchlechter/bootstrap-tagsinput/raw/master/README.md" class="minibutton " id="raw-url">Raw</a>
+ <a href="/TimSchlechter/bootstrap-tagsinput/blame/master/README.md" class="minibutton js-update-url-with-hash">Blame</a>
+ <a href="/TimSchlechter/bootstrap-tagsinput/commits/master/README.md" class="minibutton " rel="nofollow">History</a>
+ </div><!-- /.button-group -->
+
+
+ <a class="octicon-button disabled tooltipped tooltipped-w" href="#"
+ aria-label="You must be signed in to make or propose changes"><span class="octicon octicon-pencil"></span></a>
+
+ <a class="octicon-button danger disabled tooltipped tooltipped-w" href="#"
+ aria-label="You must be signed in to make or propose changes">
+ <span class="octicon octicon-trashcan"></span>
+ </a>
+ </div><!-- /.actions -->
+ </div>
+
+ <div id="readme" class="blob instapaper_body">
+ <article class="markdown-body entry-content" itemprop="mainContentOfPage"><h1>
+<a id="user-content-bootstrap-tags-input-" class="anchor" href="#bootstrap-tags-input-" aria-hidden="true"><span class="octicon octicon-link"></span></a>Bootstrap Tags Input <a href="https://travis-ci.org/TimSchlechter/bootstrap-tagsinput"><img src="https://camo.githubusercontent.com/2d02546931244241329b98071825212a0d77dd4e/68747470733a2f2f7472617669732d63692e6f72672f54696d5363686c6563687465722f626f6f7473747261702d74616773696e7075742e7376673f6272616e63683d6d6173746572" alt="Build Status" data-canonical-src="https://travis-ci.org/TimSchlechter/bootstrap-tagsinput.svg?branch=master" style="max-width:100%;"></a>
+</h1>
+
+<p>Bootstrap Tags Input is a jQuery plugin providing a Twitter Bootstrap user interface for managing tags.</p>
+
+<h2>
+<a id="user-content-usage" class="anchor" href="#usage" aria-hidden="true"><span class="octicon octicon-link"></span></a>Usage</h2>
+
+<p>Examples can be found <a href="http://timschlechter.github.com/bootstrap-tagsinput/examples/">here</a>.</p>
+
+<h2>
+<a id="user-content-features" class="anchor" href="#features" aria-hidden="true"><span class="octicon octicon-link"></span></a>Features</h2>
+
+<ul class="task-list">
+<li>Objects as tags</li>
+<li>True multi value</li>
+<li>Typeahead</li>
+<li>Designed for Bootstrap 2.3.2 and 3</li>
+</ul>
+
+<h3>
+<a id="user-content-objects-as-tags" class="anchor" href="#objects-as-tags" aria-hidden="true"><span class="octicon octicon-link"></span></a>Objects as tags</h3>
+
+<p>Not just support for using strings! This means you can use different values
+for a tag's label and value. Each tag also holds a reference to the object
+by which it was created, so by calling <code>tagsinput('items')</code> an
+array of the original items is returned.</p>
+
+<h3>
+<a id="user-content-true-multi-value-support" class="anchor" href="#true-multi-value-support" aria-hidden="true"><span class="octicon octicon-link"></span></a>True multi value support</h3>
+
+<p>Other implementations just concatenate the values to a comma separated string.
+This results in <code>val()</code> returning just this string, and when
+submitting the form, only one big, concatenated value is sent in the request.</p>
+
+<p>Bootstrap Tags Input provides true multivalue support. Just use a
+<code>&lt;select multiple /&gt;</code> as your input element, and
+<code>val()</code> will return an array of the tag values. When submitting the
+form, an array of values will be sent with the request.</p>
+
+<h3>
+<a id="user-content-typeahead-support" class="anchor" href="#typeahead-support" aria-hidden="true"><span class="octicon octicon-link"></span></a>Typeahead support</h3>
+
+<p>Integrates with Twitter Bootstraps' 2.3.2 typeahead, or use custom typeahead when using Bootstrap 3.</p>
+
+<h2>
+<a id="user-content-development" class="anchor" href="#development" aria-hidden="true"><span class="octicon octicon-link"></span></a>Development</h2>
+
+<p>Install dependencies:</p>
+
+<pre>
+npm install
+bower install
+</pre>
+
+<p>Test:</p>
+
+<pre>
+grunt test
+</pre>
+
+<p>Build:</p>
+
+<pre>
+grunt build
+</pre>
+
+<h2>
+<a id="user-content-history" class="anchor" href="#history" aria-hidden="true"><span class="octicon octicon-link"></span></a>History</h2>
+
+<ul class="task-list">
+<li>0.4
+
+<ul class="task-list">
+<li><a href="https://github.com/TimSchlechter/bootstrap-tagsinput/pull/73">Fix typeahead when using Bootstrap 3</a></li>
+</ul>
+</li>
+<li>0.3.13
+
+<ul class="task-list">
+<li> <a href="https://github.com/TimSchlechter/bootstrap-tagsinput/issues/5">#5: Trigger events on original input/select</a>
+</li>
+<li> Loads of fixes merged with help of @janvt, @rlidwka and @kuraga: thanks for helping me out!</li>
+</ul>
+</li>
+<li>0.3.9
+
+<ul class="task-list">
+<li> <a href="https://github.com/TimSchlechter/bootstrap-tagsinput/issues/48">#48: Type ahead stops when entering second character</a>
+</li>
+</ul>
+</li>
+<li>0.3.8
+
+<ul class="task-list">
+<li> <a href="https://github.com/TimSchlechter/bootstrap-tagsinput/pull/43">#43: Add support for placeholder</a>
+</li>
+<li> <a href="https://github.com/TimSchlechter/bootstrap-tagsinput/pull/46">#46: ie 8 compatibility, replace indexOf method</a>
+</li>
+</ul>
+</li>
+<li>0.3.7
+
+<ul class="task-list">
+<li> <a href="https://github.com/TimSchlechter/bootstrap-tagsinput/issues/39">#39: flash when duplicate is entered</a>
+</li>
+</ul>
+</li>
+<li>0.3.6
+
+<ul class="task-list">
+<li> <a href="https://github.com/TimSchlechter/bootstrap-tagsinput/issues/34">#34: Error in ReloadPage</a>
+</li>
+</ul>
+</li>
+<li>0.3.5
+
+<ul class="task-list">
+<li> <a href="https://github.com/TimSchlechter/bootstrap-tagsinput/issues/10">#10: confirmKeys option</a>
+</li>
+</ul>
+</li>
+<li>0.3.4
+
+<ul class="task-list">
+<li> <a href="https://github.com/TimSchlechter/bootstrap-tagsinput/pull/24">#24: Add bsTagsInput angular directive &amp; example for bootstrap3 with typeahea...</a>
+</li>
+<li> <a href="https://github.com/TimSchlechter/bootstrap-tagsinput/pull/28">#28: Limit number of tags, enable/disable input</a>
+</li>
+<li> <a href="https://github.com/TimSchlechter/bootstrap-tagsinput/pull/33">#33: Avoid conflict with other selects when checking for value presence</a>
+</li>
+</ul>
+</li>
+</ul>
+
+<h2>
+<a id="user-content-license" class="anchor" href="#license" aria-hidden="true"><span class="octicon octicon-link"></span></a>License</h2>
+
+<p>This project is licensed under <a href="https://raw.github.com/TimSchlechter/bootstrap-tagsinput/master/LICENSE" title="Read more about the MIT license">MIT</a>.</p>
+</article>
+ </div>
+
+ </div>
+</div>
+
+<a href="#jump-to-line" rel="facebox[.linejump]" data-hotkey="l" style="display:none">Jump to Line</a>
+<div id="jump-to-line" style="display:none">
+ <form accept-charset="UTF-8" class="js-jump-to-line-form">
+ <input class="linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" autofocus>
+ <button type="submit" class="button">Go</button>
+ </form>
+</div>
+
+ </div>
+
+ </div><!-- /.repo-container -->
+ <div class="modal-backdrop"></div>
+ </div><!-- /.container -->
+ </div><!-- /.site -->
+
+
+ </div><!-- /.wrapper -->
+
+ <div class="container">
+ <div class="site-footer" role="contentinfo">
+ <ul class="site-footer-links right">
+ <li><a href="https://status.github.com/">Status</a></li>
+ <li><a href="https://developer.github.com">API</a></li>
+ <li><a href="http://training.github.com">Training</a></li>
+ <li><a href="http://shop.github.com">Shop</a></li>
+ <li><a href="/blog">Blog</a></li>
+ <li><a href="/about">About</a></li>
+
+ </ul>
+
+ <a href="/" aria-label="Homepage">
+ <span class="mega-octicon octicon-mark-github" title="GitHub"></span>
+ </a>
+
+ <ul class="site-footer-links">
+ <li>&copy; 2014 <span title="0.02664s from github-fe122-cp1-prd.iad.github.net">GitHub</span>, Inc.</li>
+ <li><a href="/site/terms">Terms</a></li>
+ <li><a href="/site/privacy">Privacy</a></li>
+ <li><a href="/security">Security</a></li>
+ <li><a href="/contact">Contact</a></li>
+ </ul>
+ </div><!-- /.site-footer -->
+</div><!-- /.container -->
+
+
+ <div class="fullscreen-overlay js-fullscreen-overlay" id="fullscreen_overlay">
+ <div class="fullscreen-container js-suggester-container">
+ <div class="textarea-wrap">
+ <textarea name="fullscreen-contents" id="fullscreen-contents" class="fullscreen-contents js-fullscreen-contents" placeholder=""></textarea>
+ <div class="suggester-container">
+ <div class="suggester fullscreen-suggester js-suggester js-navigation-container"></div>
+ </div>
+ </div>
+ </div>
+ <div class="fullscreen-sidebar">
+ <a href="#" class="exit-fullscreen js-exit-fullscreen tooltipped tooltipped-w" aria-label="Exit Zen Mode">
+ <span class="mega-octicon octicon-screen-normal"></span>
+ </a>
+ <a href="#" class="theme-switcher js-theme-switcher tooltipped tooltipped-w"
+ aria-label="Switch themes">
+ <span class="octicon octicon-color-mode"></span>
+ </a>
+ </div>
+</div>
+
+
+
+ <div id="ajax-error-message" class="flash flash-error">
+ <span class="octicon octicon-alert"></span>
+ <a href="#" class="octicon octicon-x flash-close js-ajax-error-dismiss" aria-label="Dismiss error"></a>
+ Something went wrong with that request. Please try again.
+ </div>
+
+
+ <script crossorigin="anonymous" src="https://assets-cdn.github.com/assets/frameworks-fc447938e306b7b2c26a33cfee9dfda9052aeb1aa6ad84b72f1b35fd008efe9e.js" type="text/javascript"></script>
+ <script async="async" crossorigin="anonymous" src="https://assets-cdn.github.com/assets/github-56c56f7fe2ed90ca50b9eefebccd56f3b9729a85d7ba17f0f9c9ebd02f20a7e3.js" type="text/javascript"></script>
+
+
+ </body>
+</html>
+
diff --git a/library/bootstrap-tagsinput/bootstrap-tagsinput.css b/library/bootstrap-tagsinput/bootstrap-tagsinput.css
new file mode 100644
index 000000000..55f7c09df
--- /dev/null
+++ b/library/bootstrap-tagsinput/bootstrap-tagsinput.css
@@ -0,0 +1,46 @@
+.bootstrap-tagsinput {
+ background-color: #fff;
+ border: 1px solid #ccc;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+ display: inline-block;
+ padding: 4px 6px;
+ margin-bottom: 10px;
+ color: #555;
+ vertical-align: middle;
+ border-radius: 4px;
+ max-width: 100%;
+ line-height: 22px;
+ cursor: text;
+}
+.bootstrap-tagsinput input {
+ border: none;
+ box-shadow: none;
+ outline: none;
+ background-color: transparent;
+ padding: 0;
+ margin: 0;
+ width: auto !important;
+ max-width: inherit;
+}
+.bootstrap-tagsinput input:focus {
+ border: none;
+ box-shadow: none;
+}
+.bootstrap-tagsinput .tag {
+ margin-right: 2px;
+ color: white;
+}
+.bootstrap-tagsinput .tag [data-role="remove"] {
+ margin-left: 8px;
+ cursor: pointer;
+}
+.bootstrap-tagsinput .tag [data-role="remove"]:after {
+ content: "x";
+ padding: 0px 2px;
+}
+.bootstrap-tagsinput .tag [data-role="remove"]:hover {
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.bootstrap-tagsinput .tag [data-role="remove"]:hover:active {
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+}
diff --git a/library/bootstrap-tagsinput/bootstrap-tagsinput.js b/library/bootstrap-tagsinput/bootstrap-tagsinput.js
new file mode 100644
index 000000000..89cc3b5a4
--- /dev/null
+++ b/library/bootstrap-tagsinput/bootstrap-tagsinput.js
@@ -0,0 +1,643 @@
+(function ($) {
+ "use strict";
+
+ var defaultOptions = {
+ tagClass: function(item) {
+ return 'label label-info';
+ },
+ itemValue: function(item) {
+ return item ? item.toString() : item;
+ },
+ itemText: function(item) {
+ return this.itemValue(item);
+ },
+ freeInput: true,
+ addOnBlur: true,
+ maxTags: undefined,
+ maxChars: undefined,
+ confirmKeys: [13, 44],
+ onTagExists: function(item, $tag) {
+ $tag.hide().fadeIn();
+ },
+ trimValue: false,
+ allowDuplicates: false
+ };
+
+ /**
+ * Constructor function
+ */
+ function TagsInput(element, options) {
+ this.itemsArray = [];
+
+ this.$element = $(element);
+ this.$element.hide();
+
+ this.isSelect = (element.tagName === 'SELECT');
+ this.multiple = (this.isSelect && element.hasAttribute('multiple'));
+ this.objectItems = options && options.itemValue;
+ this.placeholderText = element.hasAttribute('placeholder') ? this.$element.attr('placeholder') : '';
+ this.inputSize = Math.max(1, this.placeholderText.length);
+
+ this.$container = $('<div class="bootstrap-tagsinput"></div>');
+ this.$input = $('<input type="text" placeholder="' + this.placeholderText + '"/>').appendTo(this.$container);
+
+ this.$element.after(this.$container);
+
+ var inputWidth = (this.inputSize < 3 ? 3 : this.inputSize) + "em";
+ this.$input.get(0).style.cssText = "width: " + inputWidth + " !important;";
+ this.build(options);
+ }
+
+ TagsInput.prototype = {
+ constructor: TagsInput,
+
+ /**
+ * Adds the given item as a new tag. Pass true to dontPushVal to prevent
+ * updating the elements val()
+ */
+ add: function(item, dontPushVal) {
+ var self = this;
+
+ if (self.options.maxTags && self.itemsArray.length >= self.options.maxTags)
+ return;
+
+ // Ignore falsey values, except false
+ if (item !== false && !item)
+ return;
+
+ // Trim value
+ if (typeof item === "string" && self.options.trimValue) {
+ item = $.trim(item);
+ }
+
+ // Throw an error when trying to add an object while the itemValue option was not set
+ if (typeof item === "object" && !self.objectItems)
+ throw("Can't add objects when itemValue option is not set");
+
+ // Ignore strings only containg whitespace
+ if (item.toString().match(/^\s*$/))
+ return;
+
+ // If SELECT but not multiple, remove current tag
+ if (self.isSelect && !self.multiple && self.itemsArray.length > 0)
+ self.remove(self.itemsArray[0]);
+
+ if (typeof item === "string" && this.$element[0].tagName === 'INPUT') {
+ var items = item.split(',');
+ if (items.length > 1) {
+ for (var i = 0; i < items.length; i++) {
+ this.add(items[i], true);
+ }
+
+ if (!dontPushVal)
+ self.pushVal();
+ return;
+ }
+ }
+
+ // raise beforeItemAdd arg
+ var beforeItemAddEvent = $.Event('beforeItemAdd', { item: item, cancel: false });
+ self.$element.trigger(beforeItemAddEvent);
+ if (beforeItemAddEvent.cancel)
+ return;
+
+ item = beforeItemAddEvent.item
+
+ var itemValue = self.options.itemValue(item),
+ itemText = self.options.itemText(item),
+ tagClass = self.options.tagClass(item);
+
+ // Ignore items allready added
+ var existing = $.grep(self.itemsArray, function(item) { return self.options.itemValue(item) === itemValue; } )[0];
+ if (existing && !self.options.allowDuplicates) {
+ // Invoke onTagExists
+ if (self.options.onTagExists) {
+ var $existingTag = $(".tag", self.$container).filter(function() { return $(this).data("item") === existing; });
+ self.options.onTagExists(item, $existingTag);
+ }
+ return;
+ }
+
+ // if length greater than limit
+ if (self.items().toString().length + item.length + 1 > self.options.maxInputLength)
+ return;
+
+ // register item in internal array and map
+ self.itemsArray.push(item);
+
+ //remove placeholder if there is an item, restore if no item(s)
+ if (self.itemsArray.length)
+ self.$input.attr('placeholder', '');
+ else
+ self.$input.attr('placeholder', self.placeholderText);
+
+ // add a tag element
+ var $tag = $('<span class="tag ' + htmlEncode(tagClass) + '">' + htmlEncode(itemText) + '<span data-role="remove"></span></span>');
+ $tag.data('item', item);
+ self.findInputWrapper().before($tag);
+ $tag.after(' ');
+
+ // add <option /> if item represents a value not present in one of the <select />'s options
+ if (self.isSelect && !$('option[value="' + encodeURIComponent(itemValue) + '"]',self.$element)[0]) {
+ var $option = $('<option selected>' + htmlEncode(itemText) + '</option>');
+ $option.data('item', item);
+ $option.attr('value', itemValue);
+ self.$element.append($option);
+ }
+
+ //remove placeholder if there is an item, restore if no item(s)
+ if (self.itemsArray.length)
+ self.$input.attr('placeholder', '');
+ else
+ self.$input.attr('placeholder', self.placeholderText);
+
+ if (!dontPushVal)
+ self.pushVal();
+
+ // Add class when reached maxTags
+ if (self.options.maxTags === self.itemsArray.length || self.items().toString().length === self.options.maxInputLength)
+ self.$container.addClass('bootstrap-tagsinput-max');
+
+ self.$element.trigger($.Event('itemAdded', { item: item }));
+ },
+
+ /**
+ * Removes the given item. Pass true to dontPushVal to prevent updating the
+ * elements val()
+ */
+ remove: function(item, dontPushVal) {
+ var self = this;
+
+ if (self.objectItems) {
+ if (typeof item === "object")
+ item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == self.options.itemValue(item); } );
+ else
+ item = $.grep(self.itemsArray, function(other) { return self.options.itemValue(other) == item; } );
+
+ item = item[item.length-1];
+ }
+
+ if (item) {
+ var beforeItemRemoveEvent = $.Event('beforeItemRemove', { item: item, cancel: false });
+ self.$element.trigger(beforeItemRemoveEvent);
+ if (beforeItemRemoveEvent.cancel)
+ return;
+
+ $('.tag', self.$container).filter(function() { return $(this).data('item') === item; }).remove();
+ $('option', self.$element).filter(function() { return $(this).data('item') === item; }).remove();
+ if($.inArray(item, self.itemsArray) !== -1)
+ self.itemsArray.splice($.inArray(item, self.itemsArray), 1);
+ }
+
+ //remove placeholder if there is an item, restore if no item(s)
+ if (self.itemsArray.length)
+ self.$input.attr('placeholder', '');
+ else
+ self.$input.attr('placeholder', self.placeholderText);
+
+ if (!dontPushVal)
+ self.pushVal();
+
+ // Remove class when reached maxTags
+ if (self.options.maxTags > self.itemsArray.length)
+ self.$container.removeClass('bootstrap-tagsinput-max');
+
+ self.$element.trigger($.Event('itemRemoved', { item: item }));
+ },
+
+ /**
+ * Removes all items
+ */
+ removeAll: function() {
+ var self = this;
+
+ $('.tag', self.$container).remove();
+ $('option', self.$element).remove();
+
+ while(self.itemsArray.length > 0)
+ self.itemsArray.pop();
+
+ //remove placeholder if there is an item, restore if no item(s)
+ if (self.itemsArray.length)
+ self.$input.attr('placeholder', '');
+ else
+ self.$input.attr('placeholder', self.placeholderText);
+
+ self.pushVal();
+ },
+
+ /**
+ * Refreshes the tags so they match the text/value of their corresponding
+ * item.
+ */
+ refresh: function() {
+ var self = this;
+ $('.tag', self.$container).each(function() {
+ var $tag = $(this),
+ item = $tag.data('item'),
+ itemValue = self.options.itemValue(item),
+ itemText = self.options.itemText(item),
+ tagClass = self.options.tagClass(item);
+
+ // Update tag's class and inner text
+ $tag.attr('class', null);
+ $tag.addClass('tag ' + htmlEncode(tagClass));
+ $tag.contents().filter(function() {
+ return this.nodeType == 3;
+ })[0].nodeValue = htmlEncode(itemText);
+
+ if (self.isSelect) {
+ var option = $('option', self.$element).filter(function() { return $(this).data('item') === item; });
+ option.attr('value', itemValue);
+ }
+ });
+ },
+
+ /**
+ * Returns the items added as tags
+ */
+ items: function() {
+ return this.itemsArray;
+ },
+
+ /**
+ * Assembly value by retrieving the value of each item, and set it on the
+ * element.
+ */
+ pushVal: function() {
+ var self = this,
+ val = $.map(self.items(), function(item) {
+ return self.options.itemValue(item).toString();
+ });
+
+ self.$element.val(val, true).trigger('change');
+ },
+
+ /**
+ * Initializes the tags input behaviour on the element
+ */
+ build: function(options) {
+ var self = this;
+
+ self.options = $.extend({}, defaultOptions, options);
+ // When itemValue is set, freeInput should always be false
+ if (self.objectItems)
+ self.options.freeInput = false;
+
+ makeOptionItemFunction(self.options, 'itemValue');
+ makeOptionItemFunction(self.options, 'itemText');
+ makeOptionFunction(self.options, 'tagClass');
+
+ // Typeahead Bootstrap version 2.3.2
+ if (self.options.typeahead) {
+ var typeahead = self.options.typeahead || {};
+
+ makeOptionFunction(typeahead, 'source');
+
+ self.$input.typeahead($.extend({}, typeahead, {
+ source: function (query, process) {
+ function processItems(items) {
+ var texts = [];
+
+ for (var i = 0; i < items.length; i++) {
+ var text = self.options.itemText(items[i]);
+ map[text] = items[i];
+ texts.push(text);
+ }
+ process(texts);
+ }
+
+ this.map = {};
+ var map = this.map,
+ data = typeahead.source(query);
+
+ if ($.isFunction(data.success)) {
+ // support for Angular callbacks
+ data.success(processItems);
+ } else if ($.isFunction(data.then)) {
+ // support for Angular promises
+ data.then(processItems);
+ } else {
+ // support for functions and jquery promises
+ $.when(data)
+ .then(processItems);
+ }
+ },
+ updater: function (text) {
+ self.add(this.map[text]);
+ },
+ matcher: function (text) {
+ return (text.toLowerCase().indexOf(this.query.trim().toLowerCase()) !== -1);
+ },
+ sorter: function (texts) {
+ return texts.sort();
+ },
+ highlighter: function (text) {
+ var regex = new RegExp( '(' + this.query + ')', 'gi' );
+ return text.replace( regex, "<strong>$1</strong>" );
+ }
+ }));
+ }
+
+ // typeahead.js
+ if (self.options.typeaheadjs) {
+ var typeaheadjs = self.options.typeaheadjs || {};
+
+ self.$input.typeahead(null, typeaheadjs).on('typeahead:selected', $.proxy(function (obj, datum) {
+ if (typeaheadjs.valueKey)
+ self.add(datum[typeaheadjs.valueKey]);
+ else
+ self.add(datum);
+ self.$input.typeahead('val', '');
+ }, self));
+ }
+
+ self.$container.on('click', $.proxy(function(event) {
+ if (! self.$element.attr('disabled')) {
+ self.$input.removeAttr('disabled');
+ }
+ self.$input.focus();
+ }, self));
+
+ if (self.options.addOnBlur && self.options.freeInput) {
+ self.$input.on('focusout', $.proxy(function(event) {
+ // HACK: only process on focusout when no typeahead opened, to
+ // avoid adding the typeahead text as tag
+ if ($('.typeahead, .twitter-typeahead', self.$container).length === 0) {
+ self.add(self.$input.val());
+ self.$input.val('');
+ }
+ }, self));
+ }
+
+
+ self.$container.on('keydown', 'input', $.proxy(function(event) {
+ var $input = $(event.target),
+ $inputWrapper = self.findInputWrapper();
+
+ if (self.$element.attr('disabled')) {
+ self.$input.attr('disabled', 'disabled');
+ return;
+ }
+
+ switch (event.which) {
+ // BACKSPACE
+ case 8:
+ if (doGetCaretPosition($input[0]) === 0) {
+ var prev = $inputWrapper.prev();
+ if (prev) {
+ self.remove(prev.data('item'));
+ }
+ }
+ break;
+
+ // DELETE
+ case 46:
+ if (doGetCaretPosition($input[0]) === 0) {
+ var next = $inputWrapper.next();
+ if (next) {
+ self.remove(next.data('item'));
+ }
+ }
+ break;
+
+ // LEFT ARROW
+ case 37:
+ // Try to move the input before the previous tag
+ var $prevTag = $inputWrapper.prev();
+ if ($input.val().length === 0 && $prevTag[0]) {
+ $prevTag.before($inputWrapper);
+ $input.focus();
+ }
+ break;
+ // RIGHT ARROW
+ case 39:
+ // Try to move the input after the next tag
+ var $nextTag = $inputWrapper.next();
+ if ($input.val().length === 0 && $nextTag[0]) {
+ $nextTag.after($inputWrapper);
+ $input.focus();
+ }
+ break;
+ default:
+ // ignore
+ }
+
+ // Reset internal input's size
+ var textLength = $input.val().length,
+ wordSpace = Math.ceil(textLength / 5),
+ size = textLength + wordSpace + 1;
+ $input.attr('size', Math.max(this.inputSize, $input.val().length));
+ }, self));
+
+ self.$container.on('keypress', 'input', $.proxy(function(event) {
+ var $input = $(event.target);
+
+ if (self.$element.attr('disabled')) {
+ self.$input.attr('disabled', 'disabled');
+ return;
+ }
+
+ var text = $input.val(),
+ maxLengthReached = self.options.maxChars && text.length >= self.options.maxChars;
+ if (self.options.freeInput && (keyCombinationInList(event, self.options.confirmKeys) || maxLengthReached)) {
+ self.add(maxLengthReached ? text.substr(0, self.options.maxChars) : text);
+ $input.val('');
+ event.preventDefault();
+ }
+
+ // Reset internal input's size
+ var textLength = $input.val().length,
+ wordSpace = Math.ceil(textLength / 5),
+ size = textLength + wordSpace + 1;
+ $input.attr('size', Math.max(this.inputSize, $input.val().length));
+ }, self));
+
+ // Remove icon clicked
+ self.$container.on('click', '[data-role=remove]', $.proxy(function(event) {
+ if (self.$element.attr('disabled')) {
+ return;
+ }
+ self.remove($(event.target).closest('.tag').data('item'));
+ }, self));
+
+ // Only add existing value as tags when using strings as tags
+ if (self.options.itemValue === defaultOptions.itemValue) {
+ if (self.$element[0].tagName === 'INPUT') {
+ self.add(self.$element.val());
+ } else {
+ $('option', self.$element).each(function() {
+ self.add($(this).attr('value'), true);
+ });
+ }
+ }
+ },
+
+ /**
+ * Removes all tagsinput behaviour and unregsiter all event handlers
+ */
+ destroy: function() {
+ var self = this;
+
+ // Unbind events
+ self.$container.off('keypress', 'input');
+ self.$container.off('click', '[role=remove]');
+
+ self.$container.remove();
+ self.$element.removeData('tagsinput');
+ self.$element.show();
+ },
+
+ /**
+ * Sets focus on the tagsinput
+ */
+ focus: function() {
+ this.$input.focus();
+ },
+
+ /**
+ * Returns the internal input element
+ */
+ input: function() {
+ return this.$input;
+ },
+
+ /**
+ * Returns the element which is wrapped around the internal input. This
+ * is normally the $container, but typeahead.js moves the $input element.
+ */
+ findInputWrapper: function() {
+ var elt = this.$input[0],
+ container = this.$container[0];
+ while(elt && elt.parentNode !== container)
+ elt = elt.parentNode;
+
+ return $(elt);
+ }
+ };
+
+ /**
+ * Register JQuery plugin
+ */
+ $.fn.tagsinput = function(arg1, arg2) {
+ var results = [];
+
+ this.each(function() {
+ var tagsinput = $(this).data('tagsinput');
+ // Initialize a new tags input
+ if (!tagsinput) {
+ tagsinput = new TagsInput(this, arg1);
+ $(this).data('tagsinput', tagsinput);
+ results.push(tagsinput);
+
+ if (this.tagName === 'SELECT') {
+ $('option', $(this)).attr('selected', 'selected');
+ }
+
+ // Init tags from $(this).val()
+ $(this).val($(this).val());
+ } else if (!arg1 && !arg2) {
+ // tagsinput already exists
+ // no function, trying to init
+ results.push(tagsinput);
+ } else if(tagsinput[arg1] !== undefined) {
+ // Invoke function on existing tags input
+ var retVal = tagsinput[arg1](arg2);
+ if (retVal !== undefined)
+ results.push(retVal);
+ }
+ });
+
+ if ( typeof arg1 == 'string') {
+ // Return the results from the invoked function calls
+ return results.length > 1 ? results : results[0];
+ } else {
+ return results;
+ }
+ };
+
+ $.fn.tagsinput.Constructor = TagsInput;
+
+ /**
+ * Most options support both a string or number as well as a function as
+ * option value. This function makes sure that the option with the given
+ * key in the given options is wrapped in a function
+ */
+ function makeOptionItemFunction(options, key) {
+ if (typeof options[key] !== 'function') {
+ var propertyName = options[key];
+ options[key] = function(item) { return item[propertyName]; };
+ }
+ }
+ function makeOptionFunction(options, key) {
+ if (typeof options[key] !== 'function') {
+ var value = options[key];
+ options[key] = function() { return value; };
+ }
+ }
+ /**
+ * HtmlEncodes the given value
+ */
+ var htmlEncodeContainer = $('<div />');
+ function htmlEncode(value) {
+ if (value) {
+ return htmlEncodeContainer.text(value).html();
+ } else {
+ return '';
+ }
+ }
+
+ /**
+ * Returns the position of the caret in the given input field
+ * http://flightschool.acylt.com/devnotes/caret-position-woes/
+ */
+ function doGetCaretPosition(oField) {
+ var iCaretPos = 0;
+ if (document.selection) {
+ oField.focus ();
+ var oSel = document.selection.createRange();
+ oSel.moveStart ('character', -oField.value.length);
+ iCaretPos = oSel.text.length;
+ } else if (oField.selectionStart || oField.selectionStart == '0') {
+ iCaretPos = oField.selectionStart;
+ }
+ return (iCaretPos);
+ }
+
+ /**
+ * Returns boolean indicates whether user has pressed an expected key combination.
+ * @param object keyPressEvent: JavaScript event object, refer
+ * http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+ * @param object lookupList: expected key combinations, as in:
+ * [13, {which: 188, shiftKey: true}]
+ */
+ function keyCombinationInList(keyPressEvent, lookupList) {
+ var found = false;
+ $.each(lookupList, function (index, keyCombination) {
+ if (typeof (keyCombination) === 'number' && keyPressEvent.which === keyCombination) {
+ found = true;
+ return false;
+ }
+
+ if (keyPressEvent.which === keyCombination.which) {
+ var alt = !keyCombination.hasOwnProperty('altKey') || keyPressEvent.altKey === keyCombination.altKey,
+ shift = !keyCombination.hasOwnProperty('shiftKey') || keyPressEvent.shiftKey === keyCombination.shiftKey,
+ ctrl = !keyCombination.hasOwnProperty('ctrlKey') || keyPressEvent.ctrlKey === keyCombination.ctrlKey;
+ if (alt && shift && ctrl) {
+ found = true;
+ return false;
+ }
+ }
+ });
+
+ return found;
+ }
+
+ /**
+ * Initialize tagsinput behaviour on inputs and selects which have
+ * data-role=tagsinput
+ */
+ $(function() {
+ $("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput();
+ });
+})(window.jQuery);
diff --git a/library/bootstrap/css/bootstrap-theme.css b/library/bootstrap/css/bootstrap-theme.css
index f860bbc06..c4cadf15e 100644
--- a/library/bootstrap/css/bootstrap-theme.css
+++ b/library/bootstrap/css/bootstrap-theme.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v3.2.0 (http://getbootstrap.com)
+ * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
@@ -29,6 +29,14 @@
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
+.btn-default .badge,
+.btn-primary .badge,
+.btn-success .badge,
+.btn-info .badge,
+.btn-warning .badge,
+.btn-danger .badge {
+ text-shadow: none;
+}
.btn:active,
.btn.active {
background-image: none;
@@ -61,28 +69,28 @@
background-image: none;
}
.btn-primary {
- background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
- background-image: -o-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#2d6ca2));
- background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
- border-color: #2b669a;
+ border-color: #245580;
}
.btn-primary:hover,
.btn-primary:focus {
- background-color: #2d6ca2;
+ background-color: #265a88;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
- background-color: #2d6ca2;
- border-color: #2b669a;
+ background-color: #265a88;
+ border-color: #245580;
}
.btn-primary:disabled,
.btn-primary[disabled] {
- background-color: #2d6ca2;
+ background-color: #265a88;
background-image: none;
}
.btn-success {
@@ -203,12 +211,12 @@
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
- background-color: #357ebd;
- background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
- background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
- background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
+ background-color: #2e6da4;
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
@@ -223,12 +231,13 @@
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
+.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
- background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
- background-image: -o-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f3f3f3));
- background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
+ background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
+ background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
+ background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
@@ -246,12 +255,13 @@
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
}
+.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
- background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%);
- background-image: -o-linear-gradient(top, #222 0%, #282828 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#222), to(#282828));
- background-image: linear-gradient(to bottom, #222 0%, #282828 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
+ background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
+ background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
+ background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
@@ -265,6 +275,19 @@
.navbar-fixed-bottom {
border-radius: 0;
}
+@media (max-width: 767px) {
+ .navbar .navbar-nav .open .dropdown-menu > .active > a,
+ .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
+ .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
+ color: #fff;
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
+ background-repeat: repeat-x;
+ }
+}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
@@ -315,11 +338,11 @@
background-repeat: repeat-x;
}
.progress-bar {
- background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
- background-image: -o-linear-gradient(top, #428bca 0%, #3071a9 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3071a9));
- background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
@@ -367,14 +390,19 @@
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
- text-shadow: 0 -1px 0 #3071a9;
- background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
- background-image: -o-linear-gradient(top, #428bca 0%, #3278b3 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3278b3));
- background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
+ text-shadow: 0 -1px 0 #286090;
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
background-repeat: repeat-x;
- border-color: #3278b3;
+ border-color: #2b669a;
+}
+.list-group-item.active .badge,
+.list-group-item.active:hover .badge,
+.list-group-item.active:focus .badge {
+ text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
@@ -389,11 +417,11 @@
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
- background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
- background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
- background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
+ background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
+ background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
diff --git a/library/bootstrap/css/bootstrap-theme.min.css b/library/bootstrap/css/bootstrap-theme.min.css
index 2e97597c8..4c3e7bad7 100644
--- a/library/bootstrap/css/bootstrap-theme.min.css
+++ b/library/bootstrap/css/bootstrap-theme.min.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v3.2.0 (http://getbootstrap.com)
+ * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-o-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#2d6ca2));background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-primary:disabled,.btn-primary[disabled]{background-color:#2d6ca2;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f3f3f3));background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:-o-linear-gradient(top,#222 0,#282828 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#222),to(#282828));background-image:linear-gradient(to bottom,#222 0,#282828 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-o-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3071a9));background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-o-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3278b3));background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);background-repeat:repeat-x;border-color:#3278b3}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} \ No newline at end of file
+ */.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-default .badge,.btn-primary .badge,.btn-success .badge,.btn-info .badge,.btn-warning .badge,.btn-danger .badge{text-shadow:none}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:hover,.btn-primary:focus{background-color:#265a88;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#265a88;border-color:#245580}.btn-primary:disabled,.btn-primary[disabled]{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:hover .badge,.list-group-item.active:focus .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap.css b/library/bootstrap/css/bootstrap.css
index 037dd0561..c6f3d2106 100644
--- a/library/bootstrap/css/bootstrap.css
+++ b/library/bootstrap/css/bootstrap.css
@@ -1,10 +1,10 @@
/*!
- * Bootstrap v3.2.0 (http://getbootstrap.com)
+ * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
font-family: sans-serif;
-webkit-text-size-adjust: 100%;
@@ -22,6 +22,7 @@ footer,
header,
hgroup,
main,
+menu,
nav,
section,
summary {
@@ -43,7 +44,7 @@ template {
display: none;
}
a {
- background: transparent;
+ background-color: transparent;
}
a:active,
a:hover {
@@ -187,8 +188,11 @@ td,
th {
padding: 0;
}
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
- * {
+ *,
+ *:before,
+ *:after {
color: #000 !important;
text-shadow: none !important;
background: transparent !important;
@@ -205,8 +209,8 @@ th {
abbr[title]:after {
content: " (" attr(title) ")";
}
- a[href^="javascript:"]:after,
- a[href^="#"]:after {
+ a[href^="#"]:after,
+ a[href^="javascript:"]:after {
content: "";
}
pre,
@@ -241,10 +245,6 @@ th {
.navbar {
display: none;
}
- .table td,
- .table th {
- background-color: #fff !important;
- }
.btn > .caret,
.dropup > .btn > .caret {
border-top-color: #000 !important;
@@ -255,6 +255,10 @@ th {
.table {
border-collapse: collapse !important;
}
+ .table td,
+ .table th {
+ background-color: #fff !important;
+ }
.table-bordered th,
.table-bordered td {
border: 1px solid #ddd !important;
@@ -284,7 +288,8 @@ th {
.glyphicon-plus:before {
content: "\2b";
}
-.glyphicon-euro:before {
+.glyphicon-euro:before,
+.glyphicon-eur:before {
content: "\20ac";
}
.glyphicon-minus:before {
@@ -910,12 +915,12 @@ textarea {
line-height: inherit;
}
a {
- color: #428bca;
+ color: #337ab7;
text-decoration: none;
}
a:hover,
a:focus {
- color: #2a6496;
+ color: #23527c;
text-decoration: underline;
}
a:focus {
@@ -935,7 +940,6 @@ img {
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
display: block;
- width: 100% \9;
max-width: 100%;
height: auto;
}
@@ -944,7 +948,6 @@ img {
}
.img-thumbnail {
display: inline-block;
- width: 100% \9;
max-width: 100%;
height: auto;
padding: 4px;
@@ -1117,9 +1120,6 @@ small,
.small {
font-size: 85%;
}
-cite {
- font-style: normal;
-}
mark,
.mark {
padding: .2em;
@@ -1153,10 +1153,10 @@ mark,
color: #777;
}
.text-primary {
- color: #428bca;
+ color: #337ab7;
}
a.text-primary:hover {
- color: #3071a9;
+ color: #286090;
}
.text-success {
color: #3c763d;
@@ -1184,10 +1184,10 @@ a.text-danger:hover {
}
.bg-primary {
color: #fff;
- background-color: #428bca;
+ background-color: #337ab7;
}
a.bg-primary:hover {
- background-color: #3071a9;
+ background-color: #286090;
}
.bg-success {
background-color: #dff0d8;
@@ -1328,10 +1328,6 @@ blockquote.pull-right small:after,
blockquote.pull-right .small:after {
content: '\00A0 \2014';
}
-blockquote:before,
-blockquote:after {
- content: "";
-}
address {
margin-bottom: 20px;
font-style: normal;
@@ -1362,6 +1358,7 @@ kbd {
kbd kbd {
padding: 0;
font-size: 100%;
+ font-weight: bold;
-webkit-box-shadow: none;
box-shadow: none;
}
@@ -2060,6 +2057,12 @@ pre code {
table {
background-color: transparent;
}
+caption {
+ padding-top: 8px;
+ padding-bottom: 8px;
+ color: #777;
+ text-align: left;
+}
th {
text-align: left;
}
@@ -2120,12 +2123,10 @@ th {
.table-bordered > thead > tr > td {
border-bottom-width: 2px;
}
-.table-striped > tbody > tr:nth-child(odd) > td,
-.table-striped > tbody > tr:nth-child(odd) > th {
+.table-striped > tbody > tr:nth-child(odd) {
background-color: #f9f9f9;
}
-.table-hover > tbody > tr:hover > td,
-.table-hover > tbody > tr:hover > th {
+.table-hover > tbody > tr:hover {
background-color: #f5f5f5;
}
table col[class*="col-"] {
@@ -2244,13 +2245,15 @@ table th[class*="col-"] {
.table-hover > tbody > tr.danger:hover > th {
background-color: #ebcccc;
}
+.table-responsive {
+ min-height: .01%;
+ overflow-x: auto;
+}
@media screen and (max-width: 767px) {
.table-responsive {
width: 100%;
margin-bottom: 15px;
- overflow-x: auto;
overflow-y: hidden;
- -webkit-overflow-scrolling: touch;
-ms-overflow-style: -ms-autohiding-scrollbar;
border: 1px solid #ddd;
}
@@ -2375,14 +2378,14 @@ output {
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
}
.form-control::-moz-placeholder {
- color: #777;
+ color: #999;
opacity: 1;
}
.form-control:-ms-input-placeholder {
- color: #777;
+ color: #999;
}
.form-control::-webkit-input-placeholder {
- color: #777;
+ color: #999;
}
.form-control[disabled],
.form-control[readonly],
@@ -2397,24 +2400,25 @@ textarea.form-control {
input[type="search"] {
-webkit-appearance: none;
}
-input[type="date"],
-input[type="time"],
-input[type="datetime-local"],
-input[type="month"] {
- line-height: 34px;
- line-height: 1.42857143 \0;
-}
-input[type="date"].input-sm,
-input[type="time"].input-sm,
-input[type="datetime-local"].input-sm,
-input[type="month"].input-sm {
- line-height: 30px;
-}
-input[type="date"].input-lg,
-input[type="time"].input-lg,
-input[type="datetime-local"].input-lg,
-input[type="month"].input-lg {
- line-height: 46px;
+@media screen and (-webkit-min-device-pixel-ratio: 0) {
+ input[type="date"],
+ input[type="time"],
+ input[type="datetime-local"],
+ input[type="month"] {
+ line-height: 34px;
+ }
+ input[type="date"].input-sm,
+ input[type="time"].input-sm,
+ input[type="datetime-local"].input-sm,
+ input[type="month"].input-sm {
+ line-height: 30px;
+ }
+ input[type="date"].input-lg,
+ input[type="time"].input-lg,
+ input[type="datetime-local"].input-lg,
+ input[type="month"].input-lg {
+ line-height: 46px;
+ }
}
.form-group {
margin-bottom: 15px;
@@ -2423,12 +2427,12 @@ input[type="month"].input-lg {
.checkbox {
position: relative;
display: block;
- min-height: 20px;
margin-top: 10px;
margin-bottom: 10px;
}
.radio label,
.checkbox label {
+ min-height: 20px;
padding-left: 20px;
margin-bottom: 0;
font-weight: normal;
@@ -2491,35 +2495,41 @@ fieldset[disabled] .checkbox label {
padding-left: 0;
}
.input-sm,
-.form-horizontal .form-group-sm .form-control {
+.form-group-sm .form-control {
height: 30px;
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
-select.input-sm {
+select.input-sm,
+select.form-group-sm .form-control {
height: 30px;
line-height: 30px;
}
textarea.input-sm,
-select[multiple].input-sm {
+textarea.form-group-sm .form-control,
+select[multiple].input-sm,
+select[multiple].form-group-sm .form-control {
height: auto;
}
.input-lg,
-.form-horizontal .form-group-lg .form-control {
+.form-group-lg .form-control {
height: 46px;
padding: 10px 16px;
font-size: 18px;
line-height: 1.33;
border-radius: 6px;
}
-select.input-lg {
+select.input-lg,
+select.form-group-lg .form-control {
height: 46px;
line-height: 46px;
}
textarea.input-lg,
-select[multiple].input-lg {
+textarea.form-group-lg .form-control,
+select[multiple].input-lg,
+select[multiple].form-group-lg .form-control {
height: auto;
}
.has-feedback {
@@ -2530,7 +2540,7 @@ select[multiple].input-lg {
}
.form-control-feedback {
position: absolute;
- top: 25px;
+ top: 0;
right: 0;
z-index: 2;
display: block;
@@ -2538,6 +2548,7 @@ select[multiple].input-lg {
height: 34px;
line-height: 34px;
text-align: center;
+ pointer-events: none;
}
.input-lg + .form-control-feedback {
width: 46px;
@@ -2554,7 +2565,11 @@ select[multiple].input-lg {
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
-.has-success .checkbox-inline {
+.has-success .checkbox-inline,
+.has-success.radio label,
+.has-success.checkbox label,
+.has-success.radio-inline label,
+.has-success.checkbox-inline label {
color: #3c763d;
}
.has-success .form-control {
@@ -2580,7 +2595,11 @@ select[multiple].input-lg {
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
-.has-warning .checkbox-inline {
+.has-warning .checkbox-inline,
+.has-warning.radio label,
+.has-warning.checkbox label,
+.has-warning.radio-inline label,
+.has-warning.checkbox-inline label {
color: #8a6d3b;
}
.has-warning .form-control {
@@ -2606,7 +2625,11 @@ select[multiple].input-lg {
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
-.has-error .checkbox-inline {
+.has-error .checkbox-inline,
+.has-error.radio label,
+.has-error.checkbox label,
+.has-error.radio-inline label,
+.has-error.checkbox-inline label {
color: #a94442;
}
.has-error .form-control {
@@ -2627,6 +2650,9 @@ select[multiple].input-lg {
.has-error .form-control-feedback {
color: #a94442;
}
+.has-feedback label ~ .form-control-feedback {
+ top: 25px;
+}
.has-feedback label.sr-only ~ .form-control-feedback {
top: 0;
}
@@ -2647,6 +2673,9 @@ select[multiple].input-lg {
width: auto;
vertical-align: middle;
}
+ .form-inline .form-control-static {
+ display: inline-block;
+ }
.form-inline .input-group {
display: inline-table;
vertical-align: middle;
@@ -2707,7 +2736,6 @@ select[multiple].input-lg {
}
}
.form-horizontal .has-feedback .form-control-feedback {
- top: 0;
right: 15px;
}
@media (min-width: 768px) {
@@ -2730,6 +2758,8 @@ select[multiple].input-lg {
text-align: center;
white-space: nowrap;
vertical-align: middle;
+ -ms-touch-action: manipulation;
+ touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
@@ -2741,13 +2771,17 @@ select[multiple].input-lg {
}
.btn:focus,
.btn:active:focus,
-.btn.active:focus {
+.btn.active:focus,
+.btn.focus,
+.btn:active.focus,
+.btn.active.focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btn:hover,
-.btn:focus {
+.btn:focus,
+.btn.focus {
color: #333;
text-decoration: none;
}
@@ -2775,6 +2809,7 @@ fieldset[disabled] .btn {
}
.btn-default:hover,
.btn-default:focus,
+.btn-default.focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
@@ -2796,6 +2831,9 @@ fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
+.btn-default.disabled.focus,
+.btn-default[disabled].focus,
+fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
@@ -2811,17 +2849,18 @@ fieldset[disabled] .btn-default.active {
}
.btn-primary {
color: #fff;
- background-color: #428bca;
- border-color: #357ebd;
+ background-color: #337ab7;
+ border-color: #2e6da4;
}
.btn-primary:hover,
.btn-primary:focus,
+.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
color: #fff;
- background-color: #3071a9;
- border-color: #285e8e;
+ background-color: #286090;
+ border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
@@ -2837,17 +2876,20 @@ fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
+.btn-primary.disabled.focus,
+.btn-primary[disabled].focus,
+fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
- background-color: #428bca;
- border-color: #357ebd;
+ background-color: #337ab7;
+ border-color: #2e6da4;
}
.btn-primary .badge {
- color: #428bca;
+ color: #337ab7;
background-color: #fff;
}
.btn-success {
@@ -2857,6 +2899,7 @@ fieldset[disabled] .btn-primary.active {
}
.btn-success:hover,
.btn-success:focus,
+.btn-success.focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
@@ -2878,6 +2921,9 @@ fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
+.btn-success.disabled.focus,
+.btn-success[disabled].focus,
+fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
@@ -2898,6 +2944,7 @@ fieldset[disabled] .btn-success.active {
}
.btn-info:hover,
.btn-info:focus,
+.btn-info.focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
@@ -2919,6 +2966,9 @@ fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
+.btn-info.disabled.focus,
+.btn-info[disabled].focus,
+fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
@@ -2939,6 +2989,7 @@ fieldset[disabled] .btn-info.active {
}
.btn-warning:hover,
.btn-warning:focus,
+.btn-warning.focus,
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
@@ -2960,6 +3011,9 @@ fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
+.btn-warning.disabled.focus,
+.btn-warning[disabled].focus,
+fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
@@ -2980,6 +3034,7 @@ fieldset[disabled] .btn-warning.active {
}
.btn-danger:hover,
.btn-danger:focus,
+.btn-danger.focus,
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
@@ -3001,6 +3056,9 @@ fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
+.btn-danger.disabled.focus,
+.btn-danger[disabled].focus,
+fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
@@ -3016,12 +3074,12 @@ fieldset[disabled] .btn-danger.active {
}
.btn-link {
font-weight: normal;
- color: #428bca;
- cursor: pointer;
+ color: #337ab7;
border-radius: 0;
}
.btn-link,
.btn-link:active,
+.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
background-color: transparent;
@@ -3036,7 +3094,7 @@ fieldset[disabled] .btn-link {
}
.btn-link:hover,
.btn-link:focus {
- color: #2a6496;
+ color: #23527c;
text-decoration: underline;
background-color: transparent;
}
@@ -3091,9 +3149,11 @@ input[type="button"].btn-block {
}
.collapse {
display: none;
+ visibility: hidden;
}
.collapse.in {
display: block;
+ visibility: visible;
}
tr.collapse.in {
display: table-row;
@@ -3105,9 +3165,15 @@ tbody.collapse.in {
position: relative;
height: 0;
overflow: hidden;
- -webkit-transition: height .35s ease;
- -o-transition: height .35s ease;
- transition: height .35s ease;
+ -webkit-transition-timing-function: ease;
+ -o-transition-timing-function: ease;
+ transition-timing-function: ease;
+ -webkit-transition-duration: .35s;
+ -o-transition-duration: .35s;
+ transition-duration: .35s;
+ -webkit-transition-property: height, visibility;
+ -o-transition-property: height, visibility;
+ transition-property: height, visibility;
}
.caret {
display: inline-block;
@@ -3177,7 +3243,7 @@ tbody.collapse.in {
.dropdown-menu > .active > a:focus {
color: #fff;
text-decoration: none;
- background-color: #428bca;
+ background-color: #337ab7;
outline: 0;
}
.dropdown-menu > .disabled > a,
@@ -3270,10 +3336,6 @@ tbody.collapse.in {
.btn-group-vertical > .btn.active {
z-index: 2;
}
-.btn-group > .btn:focus,
-.btn-group-vertical > .btn:focus {
- outline: 0;
-}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
@@ -3413,12 +3475,13 @@ tbody.collapse.in {
.btn-group-justified > .btn-group .dropdown-menu {
left: auto;
}
-[data-toggle="buttons"] > .btn > input[type="radio"],
-[data-toggle="buttons"] > .btn > input[type="checkbox"] {
+[data-toggle="buttons"] > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
+[data-toggle="buttons"] > .btn input[type="checkbox"],
+[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
position: absolute;
- z-index: -1;
- filter: alpha(opacity=0);
- opacity: 0;
+ clip: rect(0, 0, 0, 0);
+ pointer-events: none;
}
.input-group {
position: relative;
@@ -3607,7 +3670,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.nav .open > a:hover,
.nav .open > a:focus {
background-color: #eee;
- border-color: #428bca;
+ border-color: #337ab7;
}
.nav .nav-divider {
height: 1px;
@@ -3700,7 +3763,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #fff;
- background-color: #428bca;
+ background-color: #337ab7;
}
.nav-stacked > li {
float: none;
@@ -3757,9 +3820,11 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
}
.tab-content > .tab-pane {
display: none;
+ visibility: hidden;
}
.tab-content > .active {
display: block;
+ visibility: visible;
}
.nav-tabs .dropdown-menu {
margin-top: -1px;
@@ -3806,6 +3871,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
height: auto !important;
padding-bottom: 0;
overflow: visible !important;
+ visibility: visible !important;
}
.navbar-collapse.in {
overflow-y: visible;
@@ -3821,7 +3887,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.navbar-fixed-bottom .navbar-collapse {
max-height: 340px;
}
-@media (max-width: 480px) and (orientation: landscape) {
+@media (max-device-width: 480px) and (orientation: landscape) {
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
max-height: 200px;
@@ -3858,9 +3924,6 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
right: 0;
left: 0;
z-index: 1030;
- -webkit-transform: translate3d(0, 0, 0);
- -o-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
}
@media (min-width: 768px) {
.navbar-fixed-top,
@@ -3888,6 +3951,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.navbar-brand:focus {
text-decoration: none;
}
+.navbar-brand > img {
+ display: block;
+}
@media (min-width: 768px) {
.navbar > .container .navbar-brand,
.navbar > .container-fluid .navbar-brand {
@@ -3966,17 +4032,6 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
padding-top: 15px;
padding-bottom: 15px;
}
- .navbar-nav.navbar-right:last-child {
- margin-right: -15px;
- }
-}
-@media (min-width: 768px) {
- .navbar-left {
- float: left !important;
- }
- .navbar-right {
- float: right !important;
- }
}
.navbar-form {
padding: 10px 15px;
@@ -4000,6 +4055,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
width: auto;
vertical-align: middle;
}
+ .navbar-form .form-control-static {
+ display: inline-block;
+ }
.navbar-form .input-group {
display: inline-table;
vertical-align: middle;
@@ -4040,6 +4098,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.navbar-form .form-group {
margin-bottom: 5px;
}
+ .navbar-form .form-group:last-child {
+ margin-bottom: 0;
+ }
}
@media (min-width: 768px) {
.navbar-form {
@@ -4052,9 +4113,6 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
-webkit-box-shadow: none;
box-shadow: none;
}
- .navbar-form.navbar-right:last-child {
- margin-right: -15px;
- }
}
.navbar-nav > li > .dropdown-menu {
margin-top: 0;
@@ -4062,6 +4120,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
border-top-right-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
@@ -4087,7 +4147,16 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
margin-right: 15px;
margin-left: 15px;
}
- .navbar-text.navbar-right:last-child {
+}
+@media (min-width: 768px) {
+ .navbar-left {
+ float: left !important;
+ }
+ .navbar-right {
+ float: right !important;
+ margin-right: -15px;
+ }
+ .navbar-right ~ .navbar-right {
margin-right: 0;
}
}
@@ -4192,7 +4261,7 @@ fieldset[disabled] .navbar-default .btn-link:focus {
border-color: #080808;
}
.navbar-inverse .navbar-brand {
- color: #777;
+ color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
@@ -4200,10 +4269,10 @@ fieldset[disabled] .navbar-default .btn-link:focus {
background-color: transparent;
}
.navbar-inverse .navbar-text {
- color: #777;
+ color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
- color: #777;
+ color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
@@ -4250,7 +4319,7 @@ fieldset[disabled] .navbar-default .btn-link:focus {
background-color: #080808;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
- color: #777;
+ color: #9d9d9d;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
@@ -4271,13 +4340,13 @@ fieldset[disabled] .navbar-default .btn-link:focus {
}
}
.navbar-inverse .navbar-link {
- color: #777;
+ color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
color: #fff;
}
.navbar-inverse .btn-link {
- color: #777;
+ color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
@@ -4323,7 +4392,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus {
padding: 6px 12px;
margin-left: -1px;
line-height: 1.42857143;
- color: #428bca;
+ color: #337ab7;
text-decoration: none;
background-color: #fff;
border: 1px solid #ddd;
@@ -4343,7 +4412,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus {
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
- color: #2a6496;
+ color: #23527c;
background-color: #eee;
border-color: #ddd;
}
@@ -4356,8 +4425,8 @@ fieldset[disabled] .navbar-inverse .btn-link:focus {
z-index: 2;
color: #fff;
cursor: default;
- background-color: #428bca;
- border-color: #428bca;
+ background-color: #337ab7;
+ border-color: #337ab7;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
@@ -4471,11 +4540,11 @@ a.label:focus {
background-color: #5e5e5e;
}
.label-primary {
- background-color: #428bca;
+ background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
- background-color: #3071a9;
+ background-color: #286090;
}
.label-success {
background-color: #5cb85c;
@@ -4536,16 +4605,22 @@ a.badge:focus {
text-decoration: none;
cursor: pointer;
}
-a.list-group-item.active > .badge,
+.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
- color: #428bca;
+ color: #337ab7;
background-color: #fff;
}
+.list-group-item > .badge {
+ float: right;
+}
+.list-group-item > .badge + .badge {
+ margin-right: 5px;
+}
.nav-pills > li > a > .badge {
margin-left: 3px;
}
.jumbotron {
- padding: 30px;
+ padding: 30px 15px;
margin-bottom: 30px;
color: inherit;
background-color: #eee;
@@ -4562,7 +4637,8 @@ a.list-group-item.active > .badge,
.jumbotron > hr {
border-top-color: #d5d5d5;
}
-.container .jumbotron {
+.container .jumbotron,
+.container-fluid .jumbotron {
border-radius: 6px;
}
.jumbotron .container {
@@ -4570,10 +4646,10 @@ a.list-group-item.active > .badge,
}
@media screen and (min-width: 768px) {
.jumbotron {
- padding-top: 48px;
- padding-bottom: 48px;
+ padding: 48px 0;
}
- .container .jumbotron {
+ .container .jumbotron,
+ .container-fluid .jumbotron {
padding-right: 60px;
padding-left: 60px;
}
@@ -4590,9 +4666,9 @@ a.list-group-item.active > .badge,
background-color: #fff;
border: 1px solid #ddd;
border-radius: 4px;
- -webkit-transition: all .2s ease-in-out;
- -o-transition: all .2s ease-in-out;
- transition: all .2s ease-in-out;
+ -webkit-transition: border .2s ease-in-out;
+ -o-transition: border .2s ease-in-out;
+ transition: border .2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
@@ -4602,7 +4678,7 @@ a.list-group-item.active > .badge,
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
- border-color: #428bca;
+ border-color: #337ab7;
}
.thumbnail .caption {
padding: 9px;
@@ -4724,7 +4800,7 @@ a.thumbnail.active {
line-height: 20px;
color: #fff;
text-align: center;
- background-color: #428bca;
+ background-color: #337ab7;
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
-webkit-transition: width .6s ease;
@@ -4745,18 +4821,6 @@ a.thumbnail.active {
-o-animation: progress-bar-stripes 2s linear infinite;
animation: progress-bar-stripes 2s linear infinite;
}
-.progress-bar[aria-valuenow="1"],
-.progress-bar[aria-valuenow="2"] {
- min-width: 30px;
-}
-.progress-bar[aria-valuenow="0"] {
- min-width: 30px;
- color: #777;
- background-color: transparent;
- background-image: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
.progress-bar-success {
background-color: #5cb85c;
}
@@ -4789,29 +4853,35 @@ a.thumbnail.active {
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
-.media,
-.media-body {
- overflow: hidden;
- zoom: 1;
-}
-.media,
-.media .media {
+.media {
margin-top: 15px;
}
.media:first-child {
margin-top: 0;
}
-.media-object {
- display: block;
-}
-.media-heading {
- margin: 0 0 5px;
+.media-right,
+.media > .pull-right {
+ padding-left: 10px;
}
+.media-left,
.media > .pull-left {
- margin-right: 10px;
+ padding-right: 10px;
}
-.media > .pull-right {
- margin-left: 10px;
+.media-left,
+.media-right,
+.media-body {
+ display: table-cell;
+ vertical-align: top;
+}
+.media-middle {
+ vertical-align: middle;
+}
+.media-bottom {
+ vertical-align: bottom;
+}
+.media-heading {
+ margin-top: 0;
+ margin-bottom: 5px;
}
.media-list {
padding-left: 0;
@@ -4838,12 +4908,6 @@ a.thumbnail.active {
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
}
-.list-group-item > .badge {
- float: right;
-}
-.list-group-item > .badge + .badge {
- margin-right: 5px;
-}
a.list-group-item {
color: #555;
}
@@ -4860,6 +4924,7 @@ a.list-group-item:focus {
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
color: #777;
+ cursor: not-allowed;
background-color: #eee;
}
.list-group-item.disabled .list-group-item-heading,
@@ -4877,8 +4942,8 @@ a.list-group-item:focus {
.list-group-item.active:focus {
z-index: 2;
color: #fff;
- background-color: #428bca;
- border-color: #428bca;
+ background-color: #337ab7;
+ border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
@@ -4894,7 +4959,7 @@ a.list-group-item:focus {
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
- color: #e1edf7;
+ color: #c7ddef;
}
.list-group-item-success {
color: #3c763d;
@@ -5028,19 +5093,23 @@ a.list-group-item-danger.active:focus {
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
-.panel > .list-group {
+.panel > .list-group,
+.panel > .panel-collapse > .list-group {
margin-bottom: 0;
}
-.panel > .list-group .list-group-item {
+.panel > .list-group .list-group-item,
+.panel > .panel-collapse > .list-group .list-group-item {
border-width: 1px 0;
border-radius: 0;
}
-.panel > .list-group:first-child .list-group-item:first-child {
+.panel > .list-group:first-child .list-group-item:first-child,
+.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
border-top: 0;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
-.panel > .list-group:last-child .list-group-item:last-child {
+.panel > .list-group:last-child .list-group-item:last-child,
+.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
border-bottom: 0;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
@@ -5056,11 +5125,24 @@ a.list-group-item-danger.active:focus {
.panel > .panel-collapse > .table {
margin-bottom: 0;
}
+.panel > .table caption,
+.panel > .table-responsive > .table caption,
+.panel > .panel-collapse > .table caption {
+ padding-right: 15px;
+ padding-left: 15px;
+}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
+.panel > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
+.panel > .table:first-child > tbody:first-child > tr:first-child,
+.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
@@ -5086,6 +5168,13 @@ a.list-group-item-danger.active:focus {
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
+.panel > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
+.panel > .table:last-child > tfoot:last-child > tr:last-child,
+.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
@@ -5107,7 +5196,9 @@ a.list-group-item-danger.active:focus {
border-bottom-right-radius: 3px;
}
.panel > .panel-body + .table,
-.panel > .panel-body + .table-responsive {
+.panel > .panel-body + .table-responsive,
+.panel > .table + .panel-body,
+.panel > .table-responsive + .panel-body {
border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
@@ -5183,7 +5274,8 @@ a.list-group-item-danger.active:focus {
.panel-group .panel-heading {
border-bottom: 0;
}
-.panel-group .panel-heading + .panel-collapse > .panel-body {
+.panel-group .panel-heading + .panel-collapse > .panel-body,
+.panel-group .panel-heading + .panel-collapse > .list-group {
border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
@@ -5211,22 +5303,22 @@ a.list-group-item-danger.active:focus {
border-bottom-color: #ddd;
}
.panel-primary {
- border-color: #428bca;
+ border-color: #337ab7;
}
.panel-primary > .panel-heading {
color: #fff;
- background-color: #428bca;
- border-color: #428bca;
+ background-color: #337ab7;
+ border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
- border-top-color: #428bca;
+ border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
- color: #428bca;
+ color: #337ab7;
background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
- border-bottom-color: #428bca;
+ border-bottom-color: #337ab7;
}
.panel-success {
border-color: #d6e9c6;
@@ -5310,7 +5402,8 @@ a.list-group-item-danger.active:focus {
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
-.embed-responsive object {
+.embed-responsive object,
+.embed-responsive video {
position: absolute;
top: 0;
bottom: 0;
@@ -5381,7 +5474,7 @@ button.close {
right: 0;
bottom: 0;
left: 0;
- z-index: 1050;
+ z-index: 1040;
display: none;
overflow: hidden;
-webkit-overflow-scrolling: touch;
@@ -5391,14 +5484,16 @@ button.close {
-webkit-transition: -webkit-transform .3s ease-out;
-o-transition: -o-transform .3s ease-out;
transition: transform .3s ease-out;
- -webkit-transform: translate3d(0, -25%, 0);
- -o-transform: translate3d(0, -25%, 0);
- transform: translate3d(0, -25%, 0);
+ -webkit-transform: translate(0, -25%);
+ -ms-transform: translate(0, -25%);
+ -o-transform: translate(0, -25%);
+ transform: translate(0, -25%);
}
.modal.in .modal-dialog {
- -webkit-transform: translate3d(0, 0, 0);
- -o-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
+ -webkit-transform: translate(0, 0);
+ -ms-transform: translate(0, 0);
+ -o-transform: translate(0, 0);
+ transform: translate(0, 0);
}
.modal-open .modal {
overflow-x: hidden;
@@ -5422,12 +5517,10 @@ button.close {
box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
}
.modal-backdrop {
- position: fixed;
+ position: absolute;
top: 0;
right: 0;
- bottom: 0;
left: 0;
- z-index: 1040;
background-color: #000;
}
.modal-backdrop.fade {
@@ -5498,7 +5591,9 @@ button.close {
position: absolute;
z-index: 1070;
display: block;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
+ font-weight: normal;
line-height: 1.4;
visibility: visible;
filter: alpha(opacity=0);
@@ -5548,14 +5643,16 @@ button.close {
border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
+ right: 5px;
bottom: 0;
- left: 5px;
+ margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
- right: 5px;
bottom: 0;
+ left: 5px;
+ margin-bottom: -5px;
border-width: 5px 5px 0;
border-top-color: #000;
}
@@ -5582,13 +5679,15 @@ button.close {
}
.tooltip.bottom-left .tooltip-arrow {
top: 0;
- left: 5px;
+ right: 5px;
+ margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
top: 0;
- right: 5px;
+ left: 5px;
+ margin-top: -5px;
border-width: 0 5px 5px;
border-bottom-color: #000;
}
@@ -5600,6 +5699,10 @@ button.close {
display: none;
max-width: 276px;
padding: 1px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ font-weight: normal;
+ line-height: 1.42857143;
text-align: left;
white-space: normal;
background-color: #fff;
@@ -5627,8 +5730,6 @@ button.close {
padding: 8px 14px;
margin: 0;
font-size: 14px;
- font-weight: normal;
- line-height: 18px;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-radius: 5px 5px 0 0;
@@ -5731,6 +5832,37 @@ button.close {
.carousel-inner > .item > a > img {
line-height: 1;
}
+@media all and (transform-3d), (-webkit-transform-3d) {
+ .carousel-inner > .item {
+ -webkit-transition: -webkit-transform .6s ease-in-out;
+ -o-transition: -o-transform .6s ease-in-out;
+ transition: transform .6s ease-in-out;
+
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-perspective: 1000;
+ perspective: 1000;
+ }
+ .carousel-inner > .item.next,
+ .carousel-inner > .item.active.right {
+ left: 0;
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+ }
+ .carousel-inner > .item.prev,
+ .carousel-inner > .item.active.left {
+ left: 0;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+ }
+ .carousel-inner > .item.next.left,
+ .carousel-inner > .item.prev.right,
+ .carousel-inner > .item.active {
+ left: 0;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ }
+}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
@@ -5986,9 +6118,6 @@ button.close {
}
.affix {
position: fixed;
- -webkit-transform: translate3d(0, 0, 0);
- -o-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
}
@-ms-viewport {
width: device-width;
diff --git a/library/bootstrap/css/bootstrap.min.css b/library/bootstrap/css/bootstrap.min.css
index a9f35ceed..b6fe4e0fb 100644
--- a/library/bootstrap/css/bootstrap.min.css
+++ b/library/bootstrap/css/bootstrap.min.css
@@ -1,5 +1,5 @@
/*!
- * Bootstrap v3.2.0 (http://getbootstrap.com)
+ * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file
+ *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:before,:after{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,select.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,textarea.form-group-sm .form-control,select[multiple].input-sm,select[multiple].form-group-sm .form-control{height:auto}.input-lg,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,select.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,textarea.form-group-lg .form-control,select[multiple].input-lg,select[multiple].form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important;visibility:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.next,.carousel-inner>.item.active.right{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file
diff --git a/library/bootstrap/fonts/glyphicons-halflings-regular.svg b/library/bootstrap/fonts/glyphicons-halflings-regular.svg
index e3e2dc739..25691af8f 100644
--- a/library/bootstrap/fonts/glyphicons-halflings-regular.svg
+++ b/library/bootstrap/fonts/glyphicons-halflings-regular.svg
@@ -226,4 +226,4 @@
<glyph unicode="&#xe199;" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
<glyph unicode="&#xe200;" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
</font>
-</defs></svg> \ No newline at end of file
+</defs></svg> \ No newline at end of file
diff --git a/library/bootstrap/js/bootbox.js b/library/bootstrap/js/bootbox.js
new file mode 100644
index 000000000..a002e4a35
--- /dev/null
+++ b/library/bootstrap/js/bootbox.js
@@ -0,0 +1,894 @@
+/**
+ * bootbox.js [v4.3.0]
+ *
+ * http://bootboxjs.com/license.txt
+ */
+
+// @see https://github.com/makeusabrew/bootbox/issues/180
+// @see https://github.com/makeusabrew/bootbox/issues/186
+(function (root, factory) {
+
+ "use strict";
+ if (typeof define === "function" && define.amd) {
+ // AMD. Register as an anonymous module.
+ define(["jquery"], factory);
+ } else if (typeof exports === "object") {
+ // Node. Does not work with strict CommonJS, but
+ // only CommonJS-like environments that support module.exports,
+ // like Node.
+ module.exports = factory(require("jquery"));
+ } else {
+ // Browser globals (root is window)
+ root.bootbox = factory(root.jQuery);
+ }
+
+}(this, function init($, undefined) {
+
+ "use strict";
+
+ // the base DOM structure needed to create a modal
+ var templates = {
+ dialog:
+ "<div class='bootbox modal' tabindex='-1' role='dialog'>" +
+ "<div class='modal-dialog'>" +
+ "<div class='modal-content'>" +
+ "<div class='modal-body'><div class='bootbox-body'></div></div>" +
+ "</div>" +
+ "</div>" +
+ "</div>",
+ header:
+ "<div class='modal-header'>" +
+ "<h4 class='modal-title'></h4>" +
+ "</div>",
+ footer:
+ "<div class='modal-footer'></div>",
+ closeButton:
+ "<button type='button' class='bootbox-close-button close' data-dismiss='modal' aria-hidden='true'>&times;</button>",
+ form:
+ "<form class='bootbox-form'></form>",
+ inputs: {
+ text:
+ "<input class='bootbox-input bootbox-input-text form-control' autocomplete=off type=text />",
+ textarea:
+ "<textarea class='bootbox-input bootbox-input-textarea form-control'></textarea>",
+ email:
+ "<input class='bootbox-input bootbox-input-email form-control' autocomplete='off' type='email' />",
+ select:
+ "<select class='bootbox-input bootbox-input-select form-control'></select>",
+ checkbox:
+ "<div class='checkbox'><label><input class='bootbox-input bootbox-input-checkbox' type='checkbox' /></label></div>",
+ date:
+ "<input class='bootbox-input bootbox-input-date form-control' autocomplete=off type='date' />",
+ time:
+ "<input class='bootbox-input bootbox-input-time form-control' autocomplete=off type='time' />",
+ number:
+ "<input class='bootbox-input bootbox-input-number form-control' autocomplete=off type='number' />",
+ password:
+ "<input class='bootbox-input bootbox-input-password form-control' autocomplete='off' type='password' />"
+ }
+ };
+
+ var defaults = {
+ // default language
+ locale: "en",
+ // show backdrop or not
+ backdrop: true,
+ // animate the modal in/out
+ animate: true,
+ // additional class string applied to the top level dialog
+ className: null,
+ // whether or not to include a close button
+ closeButton: true,
+ // show the dialog immediately by default
+ show: true,
+ // dialog container
+ container: "body"
+ };
+
+ // our public object; augmented after our private API
+ var exports = {};
+
+ /**
+ * @private
+ */
+ function _t(key) {
+ var locale = locales[defaults.locale];
+ return locale ? locale[key] : locales.en[key];
+ }
+
+ function processCallback(e, dialog, callback) {
+ e.stopPropagation();
+ e.preventDefault();
+
+ // by default we assume a callback will get rid of the dialog,
+ // although it is given the opportunity to override this
+
+ // so, if the callback can be invoked and it *explicitly returns false*
+ // then we'll set a flag to keep the dialog active...
+ var preserveDialog = $.isFunction(callback) && callback(e) === false;
+
+ // ... otherwise we'll bin it
+ if (!preserveDialog) {
+ dialog.modal("hide");
+ }
+ }
+
+ function getKeyLength(obj) {
+ // @TODO defer to Object.keys(x).length if available?
+ var k, t = 0;
+ for (k in obj) {
+ t ++;
+ }
+ return t;
+ }
+
+ function each(collection, iterator) {
+ var index = 0;
+ $.each(collection, function(key, value) {
+ iterator(key, value, index++);
+ });
+ }
+
+ function sanitize(options) {
+ var buttons;
+ var total;
+
+ if (typeof options !== "object") {
+ throw new Error("Please supply an object of options");
+ }
+
+ if (!options.message) {
+ throw new Error("Please specify a message");
+ }
+
+ // make sure any supplied options take precedence over defaults
+ options = $.extend({}, defaults, options);
+
+ if (!options.buttons) {
+ options.buttons = {};
+ }
+
+ // we only support Bootstrap's "static" and false backdrop args
+ // supporting true would mean you could dismiss the dialog without
+ // explicitly interacting with it
+ options.backdrop = options.backdrop ? "static" : false;
+
+ buttons = options.buttons;
+
+ total = getKeyLength(buttons);
+
+ each(buttons, function(key, button, index) {
+
+ if ($.isFunction(button)) {
+ // short form, assume value is our callback. Since button
+ // isn't an object it isn't a reference either so re-assign it
+ button = buttons[key] = {
+ callback: button
+ };
+ }
+
+ // before any further checks make sure by now button is the correct type
+ if ($.type(button) !== "object") {
+ throw new Error("button with key " + key + " must be an object");
+ }
+
+ if (!button.label) {
+ // the lack of an explicit label means we'll assume the key is good enough
+ button.label = key;
+ }
+
+ if (!button.className) {
+ if (total <= 2 && index === total-1) {
+ // always add a primary to the main option in a two-button dialog
+ button.className = "btn-primary";
+ } else {
+ button.className = "btn-default";
+ }
+ }
+ });
+
+ return options;
+ }
+
+ /**
+ * map a flexible set of arguments into a single returned object
+ * if args.length is already one just return it, otherwise
+ * use the properties argument to map the unnamed args to
+ * object properties
+ * so in the latter case:
+ * mapArguments(["foo", $.noop], ["message", "callback"])
+ * -> { message: "foo", callback: $.noop }
+ */
+ function mapArguments(args, properties) {
+ var argn = args.length;
+ var options = {};
+
+ if (argn < 1 || argn > 2) {
+ throw new Error("Invalid argument length");
+ }
+
+ if (argn === 2 || typeof args[0] === "string") {
+ options[properties[0]] = args[0];
+ options[properties[1]] = args[1];
+ } else {
+ options = args[0];
+ }
+
+ return options;
+ }
+
+ /**
+ * merge a set of default dialog options with user supplied arguments
+ */
+ function mergeArguments(defaults, args, properties) {
+ return $.extend(
+ // deep merge
+ true,
+ // ensure the target is an empty, unreferenced object
+ {},
+ // the base options object for this type of dialog (often just buttons)
+ defaults,
+ // args could be an object or array; if it's an array properties will
+ // map it to a proper options object
+ mapArguments(
+ args,
+ properties
+ )
+ );
+ }
+
+ /**
+ * this entry-level method makes heavy use of composition to take a simple
+ * range of inputs and return valid options suitable for passing to bootbox.dialog
+ */
+ function mergeDialogOptions(className, labels, properties, args) {
+ // build up a base set of dialog properties
+ var baseOptions = {
+ className: "bootbox-" + className,
+ buttons: createLabels.apply(null, labels)
+ };
+
+ // ensure the buttons properties generated, *after* merging
+ // with user args are still valid against the supplied labels
+ return validateButtons(
+ // merge the generated base properties with user supplied arguments
+ mergeArguments(
+ baseOptions,
+ args,
+ // if args.length > 1, properties specify how each arg maps to an object key
+ properties
+ ),
+ labels
+ );
+ }
+
+ /**
+ * from a given list of arguments return a suitable object of button labels
+ * all this does is normalise the given labels and translate them where possible
+ * e.g. "ok", "confirm" -> { ok: "OK, cancel: "Annuleren" }
+ */
+ function createLabels() {
+ var buttons = {};
+
+ for (var i = 0, j = arguments.length; i < j; i++) {
+ var argument = arguments[i];
+ var key = argument.toLowerCase();
+ var value = argument.toUpperCase();
+
+ buttons[key] = {
+ label: _t(value)
+ };
+ }
+
+ return buttons;
+ }
+
+ function validateButtons(options, buttons) {
+ var allowedButtons = {};
+ each(buttons, function(key, value) {
+ allowedButtons[value] = true;
+ });
+
+ each(options.buttons, function(key) {
+ if (allowedButtons[key] === undefined) {
+ throw new Error("button key " + key + " is not allowed (options are " + buttons.join("\n") + ")");
+ }
+ });
+
+ return options;
+ }
+
+ exports.alert = function() {
+ var options;
+
+ options = mergeDialogOptions("alert", ["ok"], ["message", "callback"], arguments);
+
+ if (options.callback && !$.isFunction(options.callback)) {
+ throw new Error("alert requires callback property to be a function when provided");
+ }
+
+ /**
+ * overrides
+ */
+ options.buttons.ok.callback = options.onEscape = function() {
+ if ($.isFunction(options.callback)) {
+ return options.callback();
+ }
+ return true;
+ };
+
+ return exports.dialog(options);
+ };
+
+ exports.confirm = function() {
+ var options;
+
+ options = mergeDialogOptions("confirm", ["cancel", "confirm"], ["message", "callback"], arguments);
+
+ /**
+ * overrides; undo anything the user tried to set they shouldn't have
+ */
+ options.buttons.cancel.callback = options.onEscape = function() {
+ return options.callback(false);
+ };
+
+ options.buttons.confirm.callback = function() {
+ return options.callback(true);
+ };
+
+ // confirm specific validation
+ if (!$.isFunction(options.callback)) {
+ throw new Error("confirm requires a callback");
+ }
+
+ return exports.dialog(options);
+ };
+
+ exports.prompt = function() {
+ var options;
+ var defaults;
+ var dialog;
+ var form;
+ var input;
+ var shouldShow;
+ var inputOptions;
+
+ // we have to create our form first otherwise
+ // its value is undefined when gearing up our options
+ // @TODO this could be solved by allowing message to
+ // be a function instead...
+ form = $(templates.form);
+
+ // prompt defaults are more complex than others in that
+ // users can override more defaults
+ // @TODO I don't like that prompt has to do a lot of heavy
+ // lifting which mergeDialogOptions can *almost* support already
+ // just because of 'value' and 'inputType' - can we refactor?
+ defaults = {
+ className: "bootbox-prompt",
+ buttons: createLabels("cancel", "confirm"),
+ value: "",
+ inputType: "text"
+ };
+
+ options = validateButtons(
+ mergeArguments(defaults, arguments, ["title", "callback"]),
+ ["cancel", "confirm"]
+ );
+
+ // capture the user's show value; we always set this to false before
+ // spawning the dialog to give us a chance to attach some handlers to
+ // it, but we need to make sure we respect a preference not to show it
+ shouldShow = (options.show === undefined) ? true : options.show;
+
+ /**
+ * overrides; undo anything the user tried to set they shouldn't have
+ */
+ options.message = form;
+
+ options.buttons.cancel.callback = options.onEscape = function() {
+ return options.callback(null);
+ };
+
+ options.buttons.confirm.callback = function() {
+ var value;
+
+ switch (options.inputType) {
+ case "text":
+ case "textarea":
+ case "email":
+ case "select":
+ case "date":
+ case "time":
+ case "number":
+ case "password":
+ value = input.val();
+ break;
+
+ case "checkbox":
+ var checkedItems = input.find("input:checked");
+
+ // we assume that checkboxes are always multiple,
+ // hence we default to an empty array
+ value = [];
+
+ each(checkedItems, function(_, item) {
+ value.push($(item).val());
+ });
+ break;
+ }
+
+ return options.callback(value);
+ };
+
+ options.show = false;
+
+ // prompt specific validation
+ if (!options.title) {
+ throw new Error("prompt requires a title");
+ }
+
+ if (!$.isFunction(options.callback)) {
+ throw new Error("prompt requires a callback");
+ }
+
+ if (!templates.inputs[options.inputType]) {
+ throw new Error("invalid prompt type");
+ }
+
+ // create the input based on the supplied type
+ input = $(templates.inputs[options.inputType]);
+
+ switch (options.inputType) {
+ case "text":
+ case "textarea":
+ case "email":
+ case "date":
+ case "time":
+ case "number":
+ case "password":
+ input.val(options.value);
+ break;
+
+ case "select":
+ var groups = {};
+ inputOptions = options.inputOptions || [];
+
+ if (!inputOptions.length) {
+ throw new Error("prompt with select requires options");
+ }
+
+ each(inputOptions, function(_, option) {
+
+ // assume the element to attach to is the input...
+ var elem = input;
+
+ if (option.value === undefined || option.text === undefined) {
+ throw new Error("given options in wrong format");
+ }
+
+
+ // ... but override that element if this option sits in a group
+
+ if (option.group) {
+ // initialise group if necessary
+ if (!groups[option.group]) {
+ groups[option.group] = $("<optgroup/>").attr("label", option.group);
+ }
+
+ elem = groups[option.group];
+ }
+
+ elem.append("<option value='" + option.value + "'>" + option.text + "</option>");
+ });
+
+ each(groups, function(_, group) {
+ input.append(group);
+ });
+
+ // safe to set a select's value as per a normal input
+ input.val(options.value);
+ break;
+
+ case "checkbox":
+ var values = $.isArray(options.value) ? options.value : [options.value];
+ inputOptions = options.inputOptions || [];
+
+ if (!inputOptions.length) {
+ throw new Error("prompt with checkbox requires options");
+ }
+
+ if (!inputOptions[0].value || !inputOptions[0].text) {
+ throw new Error("given options in wrong format");
+ }
+
+ // checkboxes have to nest within a containing element, so
+ // they break the rules a bit and we end up re-assigning
+ // our 'input' element to this container instead
+ input = $("<div/>");
+
+ each(inputOptions, function(_, option) {
+ var checkbox = $(templates.inputs[options.inputType]);
+
+ checkbox.find("input").attr("value", option.value);
+ checkbox.find("label").append(option.text);
+
+ // we've ensured values is an array so we can always iterate over it
+ each(values, function(_, value) {
+ if (value === option.value) {
+ checkbox.find("input").prop("checked", true);
+ }
+ });
+
+ input.append(checkbox);
+ });
+ break;
+ }
+
+ if (options.placeholder) {
+ input.attr("placeholder", options.placeholder);
+ }
+
+ if(options.pattern){
+ input.attr("pattern", options.pattern);
+ }
+
+ // now place it in our form
+ form.append(input);
+
+ form.on("submit", function(e) {
+ e.preventDefault();
+ // Fix for SammyJS (or similar JS routing library) hijacking the form post.
+ e.stopPropagation();
+ // @TODO can we actually click *the* button object instead?
+ // e.g. buttons.confirm.click() or similar
+ dialog.find(".btn-primary").click();
+ });
+
+ dialog = exports.dialog(options);
+
+ // clear the existing handler focusing the submit button...
+ dialog.off("shown.bs.modal");
+
+ // ...and replace it with one focusing our input, if possible
+ dialog.on("shown.bs.modal", function() {
+ input.focus();
+ });
+
+ if (shouldShow === true) {
+ dialog.modal("show");
+ }
+
+ return dialog;
+ };
+
+ exports.dialog = function(options) {
+ options = sanitize(options);
+
+ var dialog = $(templates.dialog);
+ var innerDialog = dialog.find(".modal-dialog");
+ var body = dialog.find(".modal-body");
+ var buttons = options.buttons;
+ var buttonStr = "";
+ var callbacks = {
+ onEscape: options.onEscape
+ };
+
+ each(buttons, function(key, button) {
+
+ // @TODO I don't like this string appending to itself; bit dirty. Needs reworking
+ // can we just build up button elements instead? slower but neater. Then button
+ // can just become a template too
+ buttonStr += "<button data-bb-handler='" + key + "' type='button' class='btn " + button.className + "'>" + button.label + "</button>";
+ callbacks[key] = button.callback;
+ });
+
+ body.find(".bootbox-body").html(options.message);
+
+ if (options.animate === true) {
+ dialog.addClass("fade");
+ }
+
+ if (options.className) {
+ dialog.addClass(options.className);
+ }
+
+ if (options.size === "large") {
+ innerDialog.addClass("modal-lg");
+ }
+
+ if (options.size === "small") {
+ innerDialog.addClass("modal-sm");
+ }
+
+ if (options.title) {
+ body.before(templates.header);
+ }
+
+ if (options.closeButton) {
+ var closeButton = $(templates.closeButton);
+
+ if (options.title) {
+ dialog.find(".modal-header").prepend(closeButton);
+ } else {
+ closeButton.css("margin-top", "-10px").prependTo(body);
+ }
+ }
+
+ if (options.title) {
+ dialog.find(".modal-title").html(options.title);
+ }
+
+ if (buttonStr.length) {
+ body.after(templates.footer);
+ dialog.find(".modal-footer").html(buttonStr);
+ }
+
+
+ /**
+ * Bootstrap event listeners; used handle extra
+ * setup & teardown required after the underlying
+ * modal has performed certain actions
+ */
+
+ dialog.on("hidden.bs.modal", function(e) {
+ // ensure we don't accidentally intercept hidden events triggered
+ // by children of the current dialog. We shouldn't anymore now BS
+ // namespaces its events; but still worth doing
+ if (e.target === this) {
+ dialog.remove();
+ }
+ });
+
+ /*
+ dialog.on("show.bs.modal", function() {
+ // sadly this doesn't work; show is called *just* before
+ // the backdrop is added so we'd need a setTimeout hack or
+ // otherwise... leaving in as would be nice
+ if (options.backdrop) {
+ dialog.next(".modal-backdrop").addClass("bootbox-backdrop");
+ }
+ });
+ */
+
+ dialog.on("shown.bs.modal", function() {
+ dialog.find(".btn-primary:first").focus();
+ });
+
+ /**
+ * Bootbox event listeners; experimental and may not last
+ * just an attempt to decouple some behaviours from their
+ * respective triggers
+ */
+
+ dialog.on("escape.close.bb", function(e) {
+ if (callbacks.onEscape) {
+ processCallback(e, dialog, callbacks.onEscape);
+ }
+ });
+
+ /**
+ * Standard jQuery event listeners; used to handle user
+ * interaction with our dialog
+ */
+
+ dialog.on("click", ".modal-footer button", function(e) {
+ var callbackKey = $(this).data("bb-handler");
+
+ processCallback(e, dialog, callbacks[callbackKey]);
+
+ });
+
+ dialog.on("click", ".bootbox-close-button", function(e) {
+ // onEscape might be falsy but that's fine; the fact is
+ // if the user has managed to click the close button we
+ // have to close the dialog, callback or not
+ processCallback(e, dialog, callbacks.onEscape);
+ });
+
+ dialog.on("keyup", function(e) {
+ if (e.which === 27) {
+ dialog.trigger("escape.close.bb");
+ }
+ });
+
+ // the remainder of this method simply deals with adding our
+ // dialogent to the DOM, augmenting it with Bootstrap's modal
+ // functionality and then giving the resulting object back
+ // to our caller
+
+ $(options.container).append(dialog);
+
+ dialog.modal({
+ backdrop: options.backdrop,
+ keyboard: false,
+ show: false
+ });
+
+ if (options.show) {
+ dialog.modal("show");
+ }
+
+ // @TODO should we return the raw element here or should
+ // we wrap it in an object on which we can expose some neater
+ // methods, e.g. var d = bootbox.alert(); d.hide(); instead
+ // of d.modal("hide");
+
+ /*
+ function BBDialog(elem) {
+ this.elem = elem;
+ }
+
+ BBDialog.prototype = {
+ hide: function() {
+ return this.elem.modal("hide");
+ },
+ show: function() {
+ return this.elem.modal("show");
+ }
+ };
+ */
+
+ return dialog;
+
+ };
+
+ exports.setDefaults = function() {
+ var values = {};
+
+ if (arguments.length === 2) {
+ // allow passing of single key/value...
+ values[arguments[0]] = arguments[1];
+ } else {
+ // ... and as an object too
+ values = arguments[0];
+ }
+
+ $.extend(defaults, values);
+ };
+
+ exports.hideAll = function() {
+ $(".bootbox").modal("hide");
+
+ return exports;
+ };
+
+
+ /**
+ * standard locales. Please add more according to ISO 639-1 standard. Multiple language variants are
+ * unlikely to be required. If this gets too large it can be split out into separate JS files.
+ */
+ var locales = {
+ br : {
+ OK : "OK",
+ CANCEL : "Cancelar",
+ CONFIRM : "Sim"
+ },
+ cs : {
+ OK : "OK",
+ CANCEL : "Zrušit",
+ CONFIRM : "Potvrdit"
+ },
+ da : {
+ OK : "OK",
+ CANCEL : "Annuller",
+ CONFIRM : "Accepter"
+ },
+ de : {
+ OK : "OK",
+ CANCEL : "Abbrechen",
+ CONFIRM : "Akzeptieren"
+ },
+ el : {
+ OK : "Εντάξει",
+ CANCEL : "ΑκÏÏωση",
+ CONFIRM : "Επιβεβαίωση"
+ },
+ en : {
+ OK : "OK",
+ CANCEL : "Cancel",
+ CONFIRM : "OK"
+ },
+ es : {
+ OK : "OK",
+ CANCEL : "Cancelar",
+ CONFIRM : "Aceptar"
+ },
+ et : {
+ OK : "OK",
+ CANCEL : "Katkesta",
+ CONFIRM : "OK"
+ },
+ fi : {
+ OK : "OK",
+ CANCEL : "Peruuta",
+ CONFIRM : "OK"
+ },
+ fr : {
+ OK : "OK",
+ CANCEL : "Annuler",
+ CONFIRM : "D'accord"
+ },
+ he : {
+ OK : "×ישור",
+ CANCEL : "ביטול",
+ CONFIRM : "×ישור"
+ },
+ id : {
+ OK : "OK",
+ CANCEL : "Batal",
+ CONFIRM : "OK"
+ },
+ it : {
+ OK : "OK",
+ CANCEL : "Annulla",
+ CONFIRM : "Conferma"
+ },
+ ja : {
+ OK : "OK",
+ CANCEL : "キャンセル",
+ CONFIRM : "確èª"
+ },
+ lt : {
+ OK : "Gerai",
+ CANCEL : "Atšaukti",
+ CONFIRM : "Patvirtinti"
+ },
+ lv : {
+ OK : "Labi",
+ CANCEL : "Atcelt",
+ CONFIRM : "ApstiprinÄt"
+ },
+ nl : {
+ OK : "OK",
+ CANCEL : "Annuleren",
+ CONFIRM : "Accepteren"
+ },
+ no : {
+ OK : "OK",
+ CANCEL : "Avbryt",
+ CONFIRM : "OK"
+ },
+ pl : {
+ OK : "OK",
+ CANCEL : "Anuluj",
+ CONFIRM : "Potwierdź"
+ },
+ pt : {
+ OK : "OK",
+ CANCEL : "Cancelar",
+ CONFIRM : "Confirmar"
+ },
+ ru : {
+ OK : "OK",
+ CANCEL : "Отмена",
+ CONFIRM : "Применить"
+ },
+ sv : {
+ OK : "OK",
+ CANCEL : "Avbryt",
+ CONFIRM : "OK"
+ },
+ tr : {
+ OK : "Tamam",
+ CANCEL : "Ä°ptal",
+ CONFIRM : "Onayla"
+ },
+ zh_CN : {
+ OK : "OK",
+ CANCEL : "å–消",
+ CONFIRM : "确认"
+ },
+ zh_TW : {
+ OK : "OK",
+ CANCEL : "å–消",
+ CONFIRM : "確èª"
+ }
+ };
+
+ exports.init = function(_$) {
+ return init(_$ || $);
+ };
+
+ return exports;
+}));
diff --git a/library/bootstrap/js/bootbox.min.js b/library/bootstrap/js/bootbox.min.js
index 4ea792f3a..a7ea24fe7 100644
--- a/library/bootstrap/js/bootbox.min.js
+++ b/library/bootstrap/js/bootbox.min.js
@@ -1,6 +1,6 @@
/**
- * bootbox.js v4.1.0
+ * bootbox.js v4.3.0
*
* http://bootboxjs.com/license.txt
*/
-window.bootbox=window.bootbox||function a(b,c){"use strict";function d(a){var b=r[p.locale];return b?b[a]:r.en[a]}function e(a,c,d){a.preventDefault();var e=b.isFunction(d)&&d(a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},p,a),a.buttons||(a.buttons={}),a.backdrop=a.backdrop?"static":!1,c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c,d){var e={className:"bootbox-"+a,buttons:l.apply(null,b)};return m(j(e,d,c),b)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var n={dialog:"<div class='bootbox modal' tabindex='-1' role='dialog'><div class='modal-dialog'><div class='modal-content'><div class='modal-body'><div class='bootbox-body'></div></div></div></div></div>",header:"<div class='modal-header'><h4 class='modal-title'></h4></div>",footer:"<div class='modal-footer'></div>",closeButton:"<button type='button' class='bootbox-close-button close'>&times;</button>",form:"<form class='bootbox-form'></form>",inputs:{text:"<input class='bootbox-input bootbox-input-text form-control' autocomplete=off type=text />",email:"<input class='bootbox-input bootbox-input-email form-control' autocomplete='off' type='email' />",select:"<select class='bootbox-input bootbox-input-select form-control'></select>",checkbox:"<div class='checkbox'><label><input class='bootbox-input bootbox-input-checkbox' type='checkbox' /></label></div>"}},o=b("body"),p={locale:"en",backdrop:!0,animate:!0,className:null,closeButton:!0,show:!0},q={};q.alert=function(){var a;if(a=k("alert",["ok"],["message","callback"],arguments),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback():!0},q.dialog(a)},q.confirm=function(){var a;if(a=k("confirm",["cancel","confirm"],["message","callback"],arguments),a.buttons.cancel.callback=a.onEscape=function(){return a.callback(!1)},a.buttons.confirm.callback=function(){return a.callback(!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return q.dialog(a)},q.prompt=function(){var a,d,e,f,h,i,k;if(f=b(n.form),d={className:"bootbox-prompt",buttons:l("cancel","confirm"),value:"",inputType:"text"},a=m(j(d,arguments,["title","callback"]),["cancel","confirm"]),i=a.show===c?!0:a.show,a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback(null)},a.buttons.confirm.callback=function(){var c;switch(a.inputType){case"text":case"email":case"select":c=h.val();break;case"checkbox":var d=h.find("input:checked");c=[],g(d,function(a,d){c.push(b(d).val())})}return a.callback(c)},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");if(!n.inputs[a.inputType])throw new Error("invalid prompt type");switch(h=b(n.inputs[a.inputType]),a.inputType){case"text":case"email":h.val(a.value);break;case"select":var o={};if(k=a.inputOptions||[],!k.length)throw new Error("prompt with select requires options");g(k,function(a,d){var e=h;if(d.value===c||d.text===c)throw new Error("given options in wrong format");d.group&&(o[d.group]||(o[d.group]=b("<optgroup/>").attr("label",d.group)),e=o[d.group]),e.append("<option value='"+d.value+"'>"+d.text+"</option>")}),g(o,function(a,b){h.append(b)}),h.val(a.value);break;case"checkbox":var p=b.isArray(a.value)?a.value:[a.value];if(k=a.inputOptions||[],!k.length)throw new Error("prompt with checkbox requires options");if(!k[0].value||!k[0].text)throw new Error("given options in wrong format");h=b("<div/>"),g(k,function(c,d){var e=b(n.inputs[a.inputType]);e.find("input").attr("value",d.value),e.find("label").append(d.text),g(p,function(a,b){b===d.value&&e.find("input").prop("checked",!0)}),h.append(e)})}return a.placeholder&&h.attr("placeholder",a.placeholder),f.append(h),f.on("submit",function(a){a.preventDefault(),e.find(".btn-primary").click()}),e=q.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){h.focus()}),i===!0&&e.modal("show"),e},q.dialog=function(a){a=h(a);var c=b(n.dialog),d=c.find(".modal-body"),f=a.buttons,i="",j={onEscape:a.onEscape};if(g(f,function(a,b){i+="<button data-bb-handler='"+a+"' type='button' class='btn "+b.className+"'>"+b.label+"</button>",j[a]=b.callback}),d.find(".bootbox-body").html(a.message),a.animate===!0&&c.addClass("fade"),a.className&&c.addClass(a.className),a.title&&d.before(n.header),a.closeButton){var k=b(n.closeButton);a.title?c.find(".modal-header").prepend(k):k.css("margin-top","-10px").prependTo(d)}return a.title&&c.find(".modal-title").html(a.title),i.length&&(d.after(n.footer),c.find(".modal-footer").html(i)),c.on("hidden.bs.modal",function(a){a.target===this&&c.remove()}),c.on("shown.bs.modal",function(){c.find(".btn-primary:first").focus()}),c.on("escape.close.bb",function(a){j.onEscape&&e(a,c,j.onEscape)}),c.on("click",".modal-footer button",function(a){var d=b(this).data("bb-handler");e(a,c,j[d])}),c.on("click",".bootbox-close-button",function(a){e(a,c,j.onEscape)}),c.on("keyup",function(a){27===a.which&&c.trigger("escape.close.bb")}),o.append(c),c.modal({backdrop:a.backdrop,keyboard:!1,show:!1}),a.show&&c.modal("show"),c},q.setDefaults=function(){var a={};2===arguments.length?a[arguments[0]]=arguments[1]:a=arguments[0],b.extend(p,a)},q.hideAll=function(){b(".bootbox").modal("hide")};var r={br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},zh_CN:{OK:"OK",CANCEL:"å–消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"å–消",CONFIRM:"確èª"}};return q.init=function(c){window.bootbox=a(c||b)},q}(window.jQuery); \ No newline at end of file
+!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.bootbox=b(a.jQuery)}(this,function a(b,c){"use strict";function d(a){var b=q[o.locale];return b?b[a]:q.en[a]}function e(a,c,d){a.stopPropagation(),a.preventDefault();var e=b.isFunction(d)&&d(a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},o,a),a.buttons||(a.buttons={}),a.backdrop=a.backdrop?"static":!1,c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c,d){var e={className:"bootbox-"+a,buttons:l.apply(null,b)};return m(j(e,d,c),b)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var n={dialog:"<div class='bootbox modal' tabindex='-1' role='dialog'><div class='modal-dialog'><div class='modal-content'><div class='modal-body'><div class='bootbox-body'></div></div></div></div></div>",header:"<div class='modal-header'><h4 class='modal-title'></h4></div>",footer:"<div class='modal-footer'></div>",closeButton:"<button type='button' class='bootbox-close-button close' data-dismiss='modal' aria-hidden='true'>&times;</button>",form:"<form class='bootbox-form'></form>",inputs:{text:"<input class='bootbox-input bootbox-input-text form-control' autocomplete=off type=text />",textarea:"<textarea class='bootbox-input bootbox-input-textarea form-control'></textarea>",email:"<input class='bootbox-input bootbox-input-email form-control' autocomplete='off' type='email' />",select:"<select class='bootbox-input bootbox-input-select form-control'></select>",checkbox:"<div class='checkbox'><label><input class='bootbox-input bootbox-input-checkbox' type='checkbox' /></label></div>",date:"<input class='bootbox-input bootbox-input-date form-control' autocomplete=off type='date' />",time:"<input class='bootbox-input bootbox-input-time form-control' autocomplete=off type='time' />",number:"<input class='bootbox-input bootbox-input-number form-control' autocomplete=off type='number' />",password:"<input class='bootbox-input bootbox-input-password form-control' autocomplete='off' type='password' />"}},o={locale:"en",backdrop:!0,animate:!0,className:null,closeButton:!0,show:!0,container:"body"},p={};p.alert=function(){var a;if(a=k("alert",["ok"],["message","callback"],arguments),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback():!0},p.dialog(a)},p.confirm=function(){var a;if(a=k("confirm",["cancel","confirm"],["message","callback"],arguments),a.buttons.cancel.callback=a.onEscape=function(){return a.callback(!1)},a.buttons.confirm.callback=function(){return a.callback(!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return p.dialog(a)},p.prompt=function(){var a,d,e,f,h,i,k;if(f=b(n.form),d={className:"bootbox-prompt",buttons:l("cancel","confirm"),value:"",inputType:"text"},a=m(j(d,arguments,["title","callback"]),["cancel","confirm"]),i=a.show===c?!0:a.show,a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback(null)},a.buttons.confirm.callback=function(){var c;switch(a.inputType){case"text":case"textarea":case"email":case"select":case"date":case"time":case"number":case"password":c=h.val();break;case"checkbox":var d=h.find("input:checked");c=[],g(d,function(a,d){c.push(b(d).val())})}return a.callback(c)},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");if(!n.inputs[a.inputType])throw new Error("invalid prompt type");switch(h=b(n.inputs[a.inputType]),a.inputType){case"text":case"textarea":case"email":case"date":case"time":case"number":case"password":h.val(a.value);break;case"select":var o={};if(k=a.inputOptions||[],!k.length)throw new Error("prompt with select requires options");g(k,function(a,d){var e=h;if(d.value===c||d.text===c)throw new Error("given options in wrong format");d.group&&(o[d.group]||(o[d.group]=b("<optgroup/>").attr("label",d.group)),e=o[d.group]),e.append("<option value='"+d.value+"'>"+d.text+"</option>")}),g(o,function(a,b){h.append(b)}),h.val(a.value);break;case"checkbox":var q=b.isArray(a.value)?a.value:[a.value];if(k=a.inputOptions||[],!k.length)throw new Error("prompt with checkbox requires options");if(!k[0].value||!k[0].text)throw new Error("given options in wrong format");h=b("<div/>"),g(k,function(c,d){var e=b(n.inputs[a.inputType]);e.find("input").attr("value",d.value),e.find("label").append(d.text),g(q,function(a,b){b===d.value&&e.find("input").prop("checked",!0)}),h.append(e)})}return a.placeholder&&h.attr("placeholder",a.placeholder),a.pattern&&h.attr("pattern",a.pattern),f.append(h),f.on("submit",function(a){a.preventDefault(),a.stopPropagation(),e.find(".btn-primary").click()}),e=p.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){h.focus()}),i===!0&&e.modal("show"),e},p.dialog=function(a){a=h(a);var c=b(n.dialog),d=c.find(".modal-dialog"),f=c.find(".modal-body"),i=a.buttons,j="",k={onEscape:a.onEscape};if(g(i,function(a,b){j+="<button data-bb-handler='"+a+"' type='button' class='btn "+b.className+"'>"+b.label+"</button>",k[a]=b.callback}),f.find(".bootbox-body").html(a.message),a.animate===!0&&c.addClass("fade"),a.className&&c.addClass(a.className),"large"===a.size&&d.addClass("modal-lg"),"small"===a.size&&d.addClass("modal-sm"),a.title&&f.before(n.header),a.closeButton){var l=b(n.closeButton);a.title?c.find(".modal-header").prepend(l):l.css("margin-top","-10px").prependTo(f)}return a.title&&c.find(".modal-title").html(a.title),j.length&&(f.after(n.footer),c.find(".modal-footer").html(j)),c.on("hidden.bs.modal",function(a){a.target===this&&c.remove()}),c.on("shown.bs.modal",function(){c.find(".btn-primary:first").focus()}),c.on("escape.close.bb",function(a){k.onEscape&&e(a,c,k.onEscape)}),c.on("click",".modal-footer button",function(a){var d=b(this).data("bb-handler");e(a,c,k[d])}),c.on("click",".bootbox-close-button",function(a){e(a,c,k.onEscape)}),c.on("keyup",function(a){27===a.which&&c.trigger("escape.close.bb")}),b(a.container).append(c),c.modal({backdrop:a.backdrop,keyboard:!1,show:!1}),a.show&&c.modal("show"),c},p.setDefaults=function(){var a={};2===arguments.length?a[arguments[0]]=arguments[1]:a=arguments[0],b.extend(o,a)},p.hideAll=function(){return b(".bootbox").modal("hide"),p};var q={br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},cs:{OK:"OK",CANCEL:"ZruÅ¡it",CONFIRM:"Potvrdit"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},el:{OK:"Εντάξει",CANCEL:"ΑκÏÏωση",CONFIRM:"Επιβεβαίωση"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},et:{OK:"OK",CANCEL:"Katkesta",CONFIRM:"OK"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},he:{OK:"×ישור",CANCEL:"ביטול",CONFIRM:"×ישור"},id:{OK:"OK",CANCEL:"Batal",CONFIRM:"OK"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},ja:{OK:"OK",CANCEL:"キャンセル",CONFIRM:"確èª"},lt:{OK:"Gerai",CANCEL:"AtÅ¡aukti",CONFIRM:"Patvirtinti"},lv:{OK:"Labi",CANCEL:"Atcelt",CONFIRM:"ApstiprinÄt"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},pt:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Confirmar"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},sv:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},tr:{OK:"Tamam",CANCEL:"Ä°ptal",CONFIRM:"Onayla"},zh_CN:{OK:"OK",CANCEL:"å–消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"å–消",CONFIRM:"確èª"}};return p.init=function(c){return a(c||b)},p}); \ No newline at end of file
diff --git a/library/bootstrap/js/bootstrap.js b/library/bootstrap/js/bootstrap.js
index 53da1c77c..b6ac8d990 100644
--- a/library/bootstrap/js/bootstrap.js
+++ b/library/bootstrap/js/bootstrap.js
@@ -1,13 +1,22 @@
/*!
- * Bootstrap v3.2.0 (http://getbootstrap.com)
+ * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') }
+if (typeof jQuery === 'undefined') {
+ throw new Error('Bootstrap\'s JavaScript requires jQuery')
+}
+
++function ($) {
+ var version = $.fn.jquery.split(' ')[0].split('.')
+ if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
+ throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
+ }
+}(jQuery);
/* ========================================================================
- * Bootstrap: transition.js v3.2.0
+ * Bootstrap: transition.js v3.3.1
* http://getbootstrap.com/javascript/#transitions
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -67,7 +76,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}(jQuery);
/* ========================================================================
- * Bootstrap: alert.js v3.2.0
+ * Bootstrap: alert.js v3.3.1
* http://getbootstrap.com/javascript/#alerts
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -86,7 +95,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
$(el).on('click', dismiss, this.close)
}
- Alert.VERSION = '3.2.0'
+ Alert.VERSION = '3.3.1'
+
+ Alert.TRANSITION_DURATION = 150
Alert.prototype.close = function (e) {
var $this = $(this)
@@ -102,7 +113,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (e) e.preventDefault()
if (!$parent.length) {
- $parent = $this.hasClass('alert') ? $this : $this.parent()
+ $parent = $this.closest('.alert')
}
$parent.trigger(e = $.Event('close.bs.alert'))
@@ -119,7 +130,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
$.support.transition && $parent.hasClass('fade') ?
$parent
.one('bsTransitionEnd', removeElement)
- .emulateTransitionEnd(150) :
+ .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
removeElement()
}
@@ -160,7 +171,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}(jQuery);
/* ========================================================================
- * Bootstrap: button.js v3.2.0
+ * Bootstrap: button.js v3.3.1
* http://getbootstrap.com/javascript/#buttons
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -180,7 +191,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.isLoading = false
}
- Button.VERSION = '3.2.0'
+ Button.VERSION = '3.3.1'
Button.DEFAULTS = {
loadingText: 'loading...'
@@ -196,10 +207,10 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (data.resetText == null) $el.data('resetText', $el[val]())
- $el[val](data[state] == null ? this.options[state] : data[state])
-
// push to event loop to allow forms to submit
setTimeout($.proxy(function () {
+ $el[val](data[state] == null ? this.options[state] : data[state])
+
if (state == 'loadingText') {
this.isLoading = true
$el.addClass(d).attr(d, d)
@@ -221,6 +232,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
else $parent.find('.active').removeClass('active')
}
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
+ } else {
+ this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
}
if (changed) this.$element.toggleClass('active')
@@ -261,17 +274,21 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
// BUTTON DATA-API
// ===============
- $(document).on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
- var $btn = $(e.target)
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
- Plugin.call($btn, 'toggle')
- e.preventDefault()
- })
+ $(document)
+ .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+ var $btn = $(e.target)
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+ Plugin.call($btn, 'toggle')
+ e.preventDefault()
+ })
+ .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+ $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
+ })
}(jQuery);
/* ========================================================================
- * Bootstrap: carousel.js v3.2.0
+ * Bootstrap: carousel.js v3.3.1
* http://getbootstrap.com/javascript/#carousel
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -286,7 +303,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
// =========================
var Carousel = function (element, options) {
- this.$element = $(element).on('keydown.bs.carousel', $.proxy(this.keydown, this))
+ this.$element = $(element)
this.$indicators = this.$element.find('.carousel-indicators')
this.options = options
this.paused =
@@ -295,20 +312,26 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.$active =
this.$items = null
- this.options.pause == 'hover' && this.$element
+ this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
+
+ this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
.on('mouseenter.bs.carousel', $.proxy(this.pause, this))
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
}
- Carousel.VERSION = '3.2.0'
+ Carousel.VERSION = '3.3.1'
+
+ Carousel.TRANSITION_DURATION = 600
Carousel.DEFAULTS = {
interval: 5000,
pause: 'hover',
- wrap: true
+ wrap: true,
+ keyboard: true
}
Carousel.prototype.keydown = function (e) {
+ if (/input|textarea/i.test(e.target.tagName)) return
switch (e.which) {
case 37: this.prev(); break
case 39: this.next(); break
@@ -335,6 +358,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
return this.$items.index(item || this.$active)
}
+ Carousel.prototype.getItemForDirection = function (direction, active) {
+ var delta = direction == 'prev' ? -1 : 1
+ var activeIndex = this.getItemIndex(active)
+ var itemIndex = (activeIndex + delta) % this.$items.length
+ return this.$items.eq(itemIndex)
+ }
+
Carousel.prototype.to = function (pos) {
var that = this
var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
@@ -344,7 +374,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
if (activeIndex == pos) return this.pause().cycle()
- return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
+ return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
}
Carousel.prototype.pause = function (e) {
@@ -372,7 +402,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
Carousel.prototype.slide = function (type, next) {
var $active = this.$element.find('.item.active')
- var $next = next || $active[type]()
+ var $next = next || this.getItemForDirection(type, $active)
var isCycling = this.interval
var direction = type == 'next' ? 'left' : 'right'
var fallback = type == 'next' ? 'first' : 'last'
@@ -418,7 +448,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
that.$element.trigger(slidEvent)
}, 0)
})
- .emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)
+ .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
} else {
$active.removeClass('active')
$next.addClass('active')
@@ -467,7 +497,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
// CAROUSEL DATA-API
// =================
- $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
+ var clickHandler = function (e) {
var href
var $this = $(this)
var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
@@ -483,7 +513,11 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}
e.preventDefault()
- })
+ }
+
+ $(document)
+ .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
+ .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
$(window).on('load', function () {
$('[data-ride="carousel"]').each(function () {
@@ -495,7 +529,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}(jQuery);
/* ========================================================================
- * Bootstrap: collapse.js v3.2.0
+ * Bootstrap: collapse.js v3.3.1
* http://getbootstrap.com/javascript/#collapse
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -512,16 +546,25 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var Collapse = function (element, options) {
this.$element = $(element)
this.options = $.extend({}, Collapse.DEFAULTS, options)
+ this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]')
this.transitioning = null
- if (this.options.parent) this.$parent = $(this.options.parent)
+ if (this.options.parent) {
+ this.$parent = this.getParent()
+ } else {
+ this.addAriaAndCollapsedClass(this.$element, this.$trigger)
+ }
+
if (this.options.toggle) this.toggle()
}
- Collapse.VERSION = '3.2.0'
+ Collapse.VERSION = '3.3.1'
+
+ Collapse.TRANSITION_DURATION = 350
Collapse.DEFAULTS = {
- toggle: true
+ toggle: true,
+ trigger: '[data-toggle="collapse"]'
}
Collapse.prototype.dimension = function () {
@@ -532,17 +575,21 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
Collapse.prototype.show = function () {
if (this.transitioning || this.$element.hasClass('in')) return
+ var activesData
+ var actives = this.$parent && this.$parent.find('> .panel').children('.in, .collapsing')
+
+ if (actives && actives.length) {
+ activesData = actives.data('bs.collapse')
+ if (activesData && activesData.transitioning) return
+ }
+
var startEvent = $.Event('show.bs.collapse')
this.$element.trigger(startEvent)
if (startEvent.isDefaultPrevented()) return
- var actives = this.$parent && this.$parent.find('> .panel > .in')
-
if (actives && actives.length) {
- var hasData = actives.data('bs.collapse')
- if (hasData && hasData.transitioning) return
Plugin.call(actives, 'hide')
- hasData || actives.data('bs.collapse', null)
+ activesData || actives.data('bs.collapse', null)
}
var dimension = this.dimension()
@@ -550,6 +597,11 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.$element
.removeClass('collapse')
.addClass('collapsing')[dimension](0)
+ .attr('aria-expanded', true)
+
+ this.$trigger
+ .removeClass('collapsed')
+ .attr('aria-expanded', true)
this.transitioning = 1
@@ -568,7 +620,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.$element
.one('bsTransitionEnd', $.proxy(complete, this))
- .emulateTransitionEnd(350)[dimension](this.$element[0][scrollSize])
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
}
Collapse.prototype.hide = function () {
@@ -584,17 +636,21 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.$element
.addClass('collapsing')
- .removeClass('collapse')
- .removeClass('in')
+ .removeClass('collapse in')
+ .attr('aria-expanded', false)
+
+ this.$trigger
+ .addClass('collapsed')
+ .attr('aria-expanded', false)
this.transitioning = 1
var complete = function () {
this.transitioning = 0
this.$element
- .trigger('hidden.bs.collapse')
.removeClass('collapsing')
.addClass('collapse')
+ .trigger('hidden.bs.collapse')
}
if (!$.support.transition) return complete.call(this)
@@ -602,13 +658,40 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.$element
[dimension](0)
.one('bsTransitionEnd', $.proxy(complete, this))
- .emulateTransitionEnd(350)
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
}
Collapse.prototype.toggle = function () {
this[this.$element.hasClass('in') ? 'hide' : 'show']()
}
+ Collapse.prototype.getParent = function () {
+ return $(this.options.parent)
+ .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
+ .each($.proxy(function (i, element) {
+ var $element = $(element)
+ this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
+ }, this))
+ .end()
+ }
+
+ Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
+ var isOpen = $element.hasClass('in')
+
+ $element.attr('aria-expanded', isOpen)
+ $trigger
+ .toggleClass('collapsed', !isOpen)
+ .attr('aria-expanded', isOpen)
+ }
+
+ function getTargetFromTrigger($trigger) {
+ var href
+ var target = $trigger.attr('data-target')
+ || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+
+ return $(target)
+ }
+
// COLLAPSE PLUGIN DEFINITION
// ==========================
@@ -619,7 +702,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var data = $this.data('bs.collapse')
var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
- if (!data && options.toggle && option == 'show') option = !option
+ if (!data && options.toggle && option == 'show') options.toggle = false
if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]()
})
@@ -644,21 +727,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
// =================
$(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
- var href
var $this = $(this)
- var target = $this.attr('data-target')
- || e.preventDefault()
- || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
- var $target = $(target)
- var data = $target.data('bs.collapse')
- var option = data ? 'toggle' : $this.data()
- var parent = $this.attr('data-parent')
- var $parent = parent && $(parent)
- if (!data || !data.transitioning) {
- if ($parent) $parent.find('[data-toggle="collapse"][data-parent="' + parent + '"]').not($this).addClass('collapsed')
- $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
- }
+ if (!$this.attr('data-target')) e.preventDefault()
+
+ var $target = getTargetFromTrigger($this)
+ var data = $target.data('bs.collapse')
+ var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this })
Plugin.call($target, option)
})
@@ -666,7 +741,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}(jQuery);
/* ========================================================================
- * Bootstrap: dropdown.js v3.2.0
+ * Bootstrap: dropdown.js v3.3.1
* http://getbootstrap.com/javascript/#dropdowns
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -686,7 +761,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
$(element).on('click.bs.dropdown', this.toggle)
}
- Dropdown.VERSION = '3.2.0'
+ Dropdown.VERSION = '3.3.1'
Dropdown.prototype.toggle = function (e) {
var $this = $(this)
@@ -709,7 +784,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (e.isDefaultPrevented()) return
- $this.trigger('focus')
+ $this
+ .trigger('focus')
+ .attr('aria-expanded', 'true')
$parent
.toggleClass('open')
@@ -720,7 +797,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}
Dropdown.prototype.keydown = function (e) {
- if (!/(38|40|27)/.test(e.keyCode)) return
+ if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
var $this = $(this)
@@ -732,7 +809,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var $parent = getParent($this)
var isActive = $parent.hasClass('open')
- if (!isActive || (isActive && e.keyCode == 27)) {
+ if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
if (e.which == 27) $parent.find(toggle).trigger('focus')
return $this.trigger('click')
}
@@ -742,10 +819,10 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (!$items.length) return
- var index = $items.index($items.filter(':focus'))
+ var index = $items.index(e.target)
- if (e.keyCode == 38 && index > 0) index-- // up
- if (e.keyCode == 40 && index < $items.length - 1) index++ // down
+ if (e.which == 38 && index > 0) index-- // up
+ if (e.which == 40 && index < $items.length - 1) index++ // down
if (!~index) index = 0
$items.eq(index).trigger('focus')
@@ -755,11 +832,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (e && e.which === 3) return
$(backdrop).remove()
$(toggle).each(function () {
- var $parent = getParent($(this))
+ var $this = $(this)
+ var $parent = getParent($this)
var relatedTarget = { relatedTarget: this }
+
if (!$parent.hasClass('open')) return
+
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
+
if (e.isDefaultPrevented()) return
+
+ $this.attr('aria-expanded', 'false')
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
})
}
@@ -813,12 +896,14 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
.on('click.bs.dropdown.data-api', clearMenus)
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
- .on('keydown.bs.dropdown.data-api', toggle + ', [role="menu"], [role="listbox"]', Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
}(jQuery);
/* ========================================================================
- * Bootstrap: modal.js v3.2.0
+ * Bootstrap: modal.js v3.3.1
* http://getbootstrap.com/javascript/#modals
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -849,7 +934,10 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}
}
- Modal.VERSION = '3.2.0'
+ Modal.VERSION = '3.3.1'
+
+ Modal.TRANSITION_DURATION = 300
+ Modal.BACKDROP_TRANSITION_DURATION = 150
Modal.DEFAULTS = {
backdrop: true,
@@ -872,10 +960,11 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.isShown = true
this.checkScrollbar()
+ this.setScrollbar()
this.$body.addClass('modal-open')
- this.setScrollbar()
this.escape()
+ this.resize()
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
@@ -890,6 +979,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
.show()
.scrollTop(0)
+ if (that.options.backdrop) that.adjustBackdrop()
+ that.adjustDialog()
+
if (transition) {
that.$element[0].offsetWidth // force reflow
}
@@ -907,7 +999,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
.one('bsTransitionEnd', function () {
that.$element.trigger('focus').trigger(e)
})
- .emulateTransitionEnd(300) :
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
that.$element.trigger('focus').trigger(e)
})
}
@@ -923,10 +1015,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.isShown = false
- this.$body.removeClass('modal-open')
-
- this.resetScrollbar()
this.escape()
+ this.resize()
$(document).off('focusin.bs.modal')
@@ -938,7 +1028,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
$.support.transition && this.$element.hasClass('fade') ?
this.$element
.one('bsTransitionEnd', $.proxy(this.hideModal, this))
- .emulateTransitionEnd(300) :
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
this.hideModal()
}
@@ -954,11 +1044,19 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
Modal.prototype.escape = function () {
if (this.isShown && this.options.keyboard) {
- this.$element.on('keyup.dismiss.bs.modal', $.proxy(function (e) {
+ this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
e.which == 27 && this.hide()
}, this))
} else if (!this.isShown) {
- this.$element.off('keyup.dismiss.bs.modal')
+ this.$element.off('keydown.dismiss.bs.modal')
+ }
+ }
+
+ Modal.prototype.resize = function () {
+ if (this.isShown) {
+ $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
+ } else {
+ $(window).off('resize.bs.modal')
}
}
@@ -966,6 +1064,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var that = this
this.$element.hide()
this.backdrop(function () {
+ that.$body.removeClass('modal-open')
+ that.resetAdjustments()
+ that.resetScrollbar()
that.$element.trigger('hidden.bs.modal')
})
}
@@ -983,14 +1084,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var doAnimate = $.support.transition && animate
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
- .appendTo(this.$body)
-
- this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
- if (e.target !== e.currentTarget) return
- this.options.backdrop == 'static'
- ? this.$element[0].focus.call(this.$element[0])
- : this.hide.call(this)
- }, this))
+ .prependTo(this.$element)
+ .on('click.dismiss.bs.modal', $.proxy(function (e) {
+ if (e.target !== e.currentTarget) return
+ this.options.backdrop == 'static'
+ ? this.$element[0].focus.call(this.$element[0])
+ : this.hide.call(this)
+ }, this))
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
@@ -1001,7 +1101,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
doAnimate ?
this.$backdrop
.one('bsTransitionEnd', callback)
- .emulateTransitionEnd(150) :
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
callback()
} else if (!this.isShown && this.$backdrop) {
@@ -1014,7 +1114,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
$.support.transition && this.$element.hasClass('fade') ?
this.$backdrop
.one('bsTransitionEnd', callbackRemove)
- .emulateTransitionEnd(150) :
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
callbackRemove()
} else if (callback) {
@@ -1022,14 +1122,43 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}
}
+ // these following methods are used to handle overflowing modals
+
+ Modal.prototype.handleUpdate = function () {
+ if (this.options.backdrop) this.adjustBackdrop()
+ this.adjustDialog()
+ }
+
+ Modal.prototype.adjustBackdrop = function () {
+ this.$backdrop
+ .css('height', 0)
+ .css('height', this.$element[0].scrollHeight)
+ }
+
+ Modal.prototype.adjustDialog = function () {
+ var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
+
+ this.$element.css({
+ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
+ paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
+ })
+ }
+
+ Modal.prototype.resetAdjustments = function () {
+ this.$element.css({
+ paddingLeft: '',
+ paddingRight: ''
+ })
+ }
+
Modal.prototype.checkScrollbar = function () {
- if (document.body.clientWidth >= window.innerWidth) return
- this.scrollbarWidth = this.scrollbarWidth || this.measureScrollbar()
+ this.bodyIsOverflowing = document.body.scrollHeight > document.documentElement.clientHeight
+ this.scrollbarWidth = this.measureScrollbar()
}
Modal.prototype.setScrollbar = function () {
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
- if (this.scrollbarWidth) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
+ if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
}
Modal.prototype.resetScrollbar = function () {
@@ -1099,7 +1228,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}(jQuery);
/* ========================================================================
- * Bootstrap: tooltip.js v3.2.0
+ * Bootstrap: tooltip.js v3.3.1
* http://getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame
* ========================================================================
@@ -1125,7 +1254,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.init('tooltip', element, options)
}
- Tooltip.VERSION = '3.2.0'
+ Tooltip.VERSION = '3.3.1'
+
+ Tooltip.TRANSITION_DURATION = 150
Tooltip.DEFAULTS = {
animation: true,
@@ -1203,6 +1334,11 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var self = obj instanceof this.constructor ?
obj : $(obj.currentTarget).data('bs.' + this.type)
+ if (self && self.$tip && self.$tip.is(':visible')) {
+ self.hoverState = 'in'
+ return
+ }
+
if (!self) {
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
$(obj.currentTarget).data('bs.' + this.type, self)
@@ -1245,7 +1381,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (this.hasContent() && this.enabled) {
this.$element.trigger(e)
- var inDom = $.contains(document.documentElement, this.$element[0])
+ var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
if (e.isDefaultPrevented() || !inDom) return
var that = this
@@ -1281,13 +1417,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (autoPlace) {
var orgPlacement = placement
- var $parent = this.$element.parent()
- var parentDim = this.getPosition($parent)
+ var $container = this.options.container ? $(this.options.container) : this.$element.parent()
+ var containerDim = this.getPosition($container)
- placement = placement == 'bottom' && pos.top + pos.height + actualHeight - parentDim.scroll > parentDim.height ? 'top' :
- placement == 'top' && pos.top - parentDim.scroll - actualHeight < 0 ? 'bottom' :
- placement == 'right' && pos.right + actualWidth > parentDim.width ? 'left' :
- placement == 'left' && pos.left - actualWidth < parentDim.left ? 'right' :
+ placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' :
+ placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' :
+ placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' :
+ placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' :
placement
$tip
@@ -1300,14 +1436,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.applyPlacement(calculatedOffset, placement)
var complete = function () {
+ var prevHoverState = that.hoverState
that.$element.trigger('shown.bs.' + that.type)
that.hoverState = null
+
+ if (prevHoverState == 'out') that.leave(that)
}
$.support.transition && this.$tip.hasClass('fade') ?
$tip
.one('bsTransitionEnd', complete)
- .emulateTransitionEnd(150) :
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
complete()
}
}
@@ -1354,16 +1493,18 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (delta.left) offset.left += delta.left
else offset.top += delta.top
- var arrowDelta = delta.left ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
- var arrowPosition = delta.left ? 'left' : 'top'
- var arrowOffsetPosition = delta.left ? 'offsetWidth' : 'offsetHeight'
+ var isVertical = /top|bottom/.test(placement)
+ var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
+ var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
$tip.offset(offset)
- this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], arrowPosition)
+ this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
}
- Tooltip.prototype.replaceArrow = function (delta, dimension, position) {
- this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + '%') : '')
+ Tooltip.prototype.replaceArrow = function (delta, dimension, isHorizontal) {
+ this.arrow()
+ .css(isHorizontal ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
+ .css(isHorizontal ? 'top' : 'left', '')
}
Tooltip.prototype.setContent = function () {
@@ -1374,16 +1515,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
$tip.removeClass('fade in top bottom left right')
}
- Tooltip.prototype.hide = function () {
+ Tooltip.prototype.hide = function (callback) {
var that = this
var $tip = this.tip()
var e = $.Event('hide.bs.' + this.type)
- this.$element.removeAttr('aria-describedby')
-
function complete() {
if (that.hoverState != 'in') $tip.detach()
- that.$element.trigger('hidden.bs.' + that.type)
+ that.$element
+ .removeAttr('aria-describedby')
+ .trigger('hidden.bs.' + that.type)
+ callback && callback()
}
this.$element.trigger(e)
@@ -1395,7 +1537,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
$.support.transition && this.$tip.hasClass('fade') ?
$tip
.one('bsTransitionEnd', complete)
- .emulateTransitionEnd(150) :
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
complete()
this.hoverState = null
@@ -1416,13 +1558,20 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
Tooltip.prototype.getPosition = function ($element) {
$element = $element || this.$element
+
var el = $element[0]
var isBody = el.tagName == 'BODY'
- return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : null, {
- scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop(),
- width: isBody ? $(window).width() : $element.outerWidth(),
- height: isBody ? $(window).height() : $element.outerHeight()
- }, isBody ? { top: 0, left: 0 } : $element.offset())
+
+ var elRect = el.getBoundingClientRect()
+ if (elRect.width == null) {
+ // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
+ elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
+ }
+ var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
+ var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
+ var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
+
+ return $.extend({}, elRect, scroll, outerDims, elOffset)
}
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
@@ -1486,14 +1635,6 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
}
- Tooltip.prototype.validate = function () {
- if (!this.$element[0].parentNode) {
- this.hide()
- this.$element = null
- this.options = null
- }
- }
-
Tooltip.prototype.enable = function () {
this.enabled = true
}
@@ -1520,8 +1661,11 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}
Tooltip.prototype.destroy = function () {
+ var that = this
clearTimeout(this.timeout)
- this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
+ this.hide(function () {
+ that.$element.off('.' + that.type).removeData('bs.' + that.type)
+ })
}
@@ -1530,12 +1674,18 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
function Plugin(option) {
return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.tooltip')
- var options = typeof option == 'object' && option
+ var $this = $(this)
+ var data = $this.data('bs.tooltip')
+ var options = typeof option == 'object' && option
+ var selector = options && options.selector
if (!data && option == 'destroy') return
- if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
+ if (selector) {
+ if (!data) $this.data('bs.tooltip', (data = {}))
+ if (!data[selector]) data[selector] = new Tooltip(this, options)
+ } else {
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
+ }
if (typeof option == 'string') data[option]()
})
}
@@ -1557,7 +1707,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}(jQuery);
/* ========================================================================
- * Bootstrap: popover.js v3.2.0
+ * Bootstrap: popover.js v3.3.1
* http://getbootstrap.com/javascript/#popovers
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -1577,7 +1727,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
- Popover.VERSION = '3.2.0'
+ Popover.VERSION = '3.3.1'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right',
@@ -1604,7 +1754,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var content = this.getContent()
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
- $tip.find('.popover-content').empty()[ // we use append for html objects to maintain js events
+ $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
](content)
@@ -1644,12 +1794,18 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
function Plugin(option) {
return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.popover')
- var options = typeof option == 'object' && option
+ var $this = $(this)
+ var data = $this.data('bs.popover')
+ var options = typeof option == 'object' && option
+ var selector = options && options.selector
if (!data && option == 'destroy') return
- if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
+ if (selector) {
+ if (!data) $this.data('bs.popover', (data = {}))
+ if (!data[selector]) data[selector] = new Popover(this, options)
+ } else {
+ if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
+ }
if (typeof option == 'string') data[option]()
})
}
@@ -1671,7 +1827,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}(jQuery);
/* ========================================================================
- * Bootstrap: scrollspy.js v3.2.0
+ * Bootstrap: scrollspy.js v3.3.1
* http://getbootstrap.com/javascript/#scrollspy
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -1702,7 +1858,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.process()
}
- ScrollSpy.VERSION = '3.2.0'
+ ScrollSpy.VERSION = '3.3.1'
ScrollSpy.DEFAULTS = {
offset: 10
@@ -1763,8 +1919,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
}
- if (activeTarget && scrollTop <= offsets[0]) {
- return activeTarget != (i = targets[0]) && this.activate(i)
+ if (activeTarget && scrollTop < offsets[0]) {
+ this.activeTarget = null
+ return this.clear()
}
for (i = offsets.length; i--;) {
@@ -1778,9 +1935,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
ScrollSpy.prototype.activate = function (target) {
this.activeTarget = target
- $(this.selector)
- .parentsUntil(this.options.target, '.active')
- .removeClass('active')
+ this.clear()
var selector = this.selector +
'[data-target="' + target + '"],' +
@@ -1799,6 +1954,12 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
active.trigger('activate.bs.scrollspy')
}
+ ScrollSpy.prototype.clear = function () {
+ $(this.selector)
+ .parentsUntil(this.options.target, '.active')
+ .removeClass('active')
+ }
+
// SCROLLSPY PLUGIN DEFINITION
// ===========================
@@ -1842,7 +2003,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}(jQuery);
/* ========================================================================
- * Bootstrap: tab.js v3.2.0
+ * Bootstrap: tab.js v3.3.1
* http://getbootstrap.com/javascript/#tabs
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -1860,7 +2021,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.element = $(element)
}
- Tab.VERSION = '3.2.0'
+ Tab.VERSION = '3.3.1'
+
+ Tab.TRANSITION_DURATION = 150
Tab.prototype.show = function () {
var $this = this.element
@@ -1874,22 +2037,30 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if ($this.parent('li').hasClass('active')) return
- var previous = $ul.find('.active:last a')[0]
- var e = $.Event('show.bs.tab', {
- relatedTarget: previous
+ var $previous = $ul.find('.active:last a')
+ var hideEvent = $.Event('hide.bs.tab', {
+ relatedTarget: $this[0]
+ })
+ var showEvent = $.Event('show.bs.tab', {
+ relatedTarget: $previous[0]
})
- $this.trigger(e)
+ $previous.trigger(hideEvent)
+ $this.trigger(showEvent)
- if (e.isDefaultPrevented()) return
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
var $target = $(selector)
this.activate($this.closest('li'), $ul)
this.activate($target, $target.parent(), function () {
+ $previous.trigger({
+ type: 'hidden.bs.tab',
+ relatedTarget: $this[0]
+ })
$this.trigger({
type: 'shown.bs.tab',
- relatedTarget: previous
+ relatedTarget: $previous[0]
})
})
}
@@ -1898,15 +2069,21 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var $active = container.find('> .active')
var transition = callback
&& $.support.transition
- && $active.hasClass('fade')
+ && (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
function next() {
$active
.removeClass('active')
.find('> .dropdown-menu > .active')
- .removeClass('active')
+ .removeClass('active')
+ .end()
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', false)
- element.addClass('active')
+ element
+ .addClass('active')
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', true)
if (transition) {
element[0].offsetWidth // reflow for transition
@@ -1916,16 +2093,21 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}
if (element.parent('.dropdown-menu')) {
- element.closest('li.dropdown').addClass('active')
+ element
+ .closest('li.dropdown')
+ .addClass('active')
+ .end()
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', true)
}
callback && callback()
}
- transition ?
+ $active.length && transition ?
$active
.one('bsTransitionEnd', next)
- .emulateTransitionEnd(150) :
+ .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
next()
$active.removeClass('in')
@@ -1963,15 +2145,19 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
// TAB DATA-API
// ============
- $(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
+ var clickHandler = function (e) {
e.preventDefault()
Plugin.call($(this), 'show')
- })
+ }
+
+ $(document)
+ .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
+ .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
}(jQuery);
/* ========================================================================
- * Bootstrap: affix.js v3.2.0
+ * Bootstrap: affix.js v3.3.1
* http://getbootstrap.com/javascript/#affix
* ========================================================================
* Copyright 2011-2014 Twitter, Inc.
@@ -2000,7 +2186,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.checkPosition()
}
- Affix.VERSION = '3.2.0'
+ Affix.VERSION = '3.3.1'
Affix.RESET = 'affix affix-top affix-bottom'
@@ -2009,6 +2195,28 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
target: window
}
+ Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
+ var scrollTop = this.$target.scrollTop()
+ var position = this.$element.offset()
+ var targetHeight = this.$target.height()
+
+ if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
+
+ if (this.affixed == 'bottom') {
+ if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
+ return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
+ }
+
+ var initializing = this.affixed == null
+ var colliderTop = initializing ? scrollTop : position.top
+ var colliderHeight = initializing ? targetHeight : height
+
+ if (offsetTop != null && colliderTop <= offsetTop) return 'top'
+ if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
+
+ return false
+ }
+
Affix.prototype.getPinnedOffset = function () {
if (this.pinnedOffset) return this.pinnedOffset
this.$element.removeClass(Affix.RESET).addClass('affix')
@@ -2024,42 +2232,40 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
Affix.prototype.checkPosition = function () {
if (!this.$element.is(':visible')) return
- var scrollHeight = $(document).height()
- var scrollTop = this.$target.scrollTop()
- var position = this.$element.offset()
+ var height = this.$element.height()
var offset = this.options.offset
var offsetTop = offset.top
var offsetBottom = offset.bottom
+ var scrollHeight = $('body').height()
if (typeof offset != 'object') offsetBottom = offsetTop = offset
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
- var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
- offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
- offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false
+ var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
- if (this.affixed === affix) return
- if (this.unpin != null) this.$element.css('top', '')
+ if (this.affixed != affix) {
+ if (this.unpin != null) this.$element.css('top', '')
- var affixType = 'affix' + (affix ? '-' + affix : '')
- var e = $.Event(affixType + '.bs.affix')
+ var affixType = 'affix' + (affix ? '-' + affix : '')
+ var e = $.Event(affixType + '.bs.affix')
- this.$element.trigger(e)
+ this.$element.trigger(e)
- if (e.isDefaultPrevented()) return
+ if (e.isDefaultPrevented()) return
- this.affixed = affix
- this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
+ this.affixed = affix
+ this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
- this.$element
- .removeClass(Affix.RESET)
- .addClass(affixType)
- .trigger($.Event(affixType.replace('affix', 'affixed')))
+ this.$element
+ .removeClass(Affix.RESET)
+ .addClass(affixType)
+ .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
+ }
if (affix == 'bottom') {
this.$element.offset({
- top: scrollHeight - this.$element.height() - offsetBottom
+ top: scrollHeight - height - offsetBottom
})
}
}
@@ -2104,8 +2310,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
data.offset = data.offset || {}
- if (data.offsetBottom) data.offset.bottom = data.offsetBottom
- if (data.offsetTop) data.offset.top = data.offsetTop
+ if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
+ if (data.offsetTop != null) data.offset.top = data.offsetTop
Plugin.call($spy, data)
})
diff --git a/library/bootstrap/js/bootstrap.min.js b/library/bootstrap/js/bootstrap.min.js
index 7c1561a8b..d83986590 100644
--- a/library/bootstrap/js/bootstrap.min.js
+++ b/library/bootstrap/js/bootstrap.min.js
@@ -1,6 +1,7 @@
/*!
- * Bootstrap v3.2.0 (http://getbootstrap.com)
+ * Bootstrap v3.3.1 (http://getbootstrap.com)
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.1",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.1",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c="prev"==a?-1:1,d=this.getItemIndex(b),e=(d+c)%this.$items.length;return this.$items.eq(e)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i="next"==b?"first":"last",j=this;if(!f.length){if(!this.options.wrap)return;f=this.$element.find(".item")[i]()}if(f.hasClass("active"))return this.sliding=!1;var k=f[0],l=a.Event("slide.bs.carousel",{relatedTarget:k,direction:h});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var m=a(this.$indicators.children()[this.getItemIndex(f)]);m&&m.addClass("active")}var n=a.Event("slid.bs.carousel",{relatedTarget:k,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),j.sliding=!1,setTimeout(function(){j.$element.trigger(n)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(n)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.1",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.find("> .panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.1",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.options.backdrop&&d.adjustBackdrop(),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in").attr("aria-hidden",!1),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$element.find(".modal-dialog").one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a('<div class="modal-backdrop '+e+'" />').prependTo(this.$element).on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},c.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.tooltip",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=this.tip(),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.popover",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.1",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.1",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})
+})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.1",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=i?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a("body").height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file
diff --git a/library/cacert.pem b/library/cacert.pem
index 67f696abc..633005921 100644
--- a/library/cacert.pem
+++ b/library/cacert.pem
@@ -1,18 +1,21 @@
##
-## ca-bundle.crt -- Bundle of CA Root Certificates
+## Bundle of CA Root Certificates
##
-## Certificate data from Mozilla as of: Tue Jan 28 09:38:07 2014
+## Certificate data from Mozilla downloaded on: Wed Sep 3 03:12:03 2014
##
## This is a bundle of X.509 certificates of public Certificate Authorities
## (CA). These were automatically extracted from Mozilla's root certificates
## file (certdata.txt). This file can be found in the mozilla source tree:
-## http://mxr.mozilla.org/mozilla-release/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1
+## http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
##
## It contains the certificates in PEM format and therefore
## can be directly used with curl / libcurl / php_curl, or with
## an Apache+mod_ssl webserver for SSL client authentication.
## Just configure this file as the SSLCACertificateFile.
##
+## Conversion done with mk-ca-bundle.pl verison 1.22.
+## SHA1: c4540021427a6fa29e5f50db9f12d48c97d33889
+##
GTE CyberTrust Global Root
@@ -90,22 +93,6 @@ BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
70+sB3c4
-----END CERTIFICATE-----
-Verisign Class 3 Public Primary Certification Authority
-=======================================================
------BEGIN CERTIFICATE-----
-MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
-FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
-IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
-XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
-IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
-A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
-f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
-hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA
-TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah
-WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf
-Tqj/ZA1k
------END CERTIFICATE-----
-
Verisign Class 3 Public Primary Certification Authority - G2
============================================================
-----BEGIN CERTIFICATE-----
@@ -168,63 +155,6 @@ BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
-----END CERTIFICATE-----
-ValiCert Class 1 VA
-===================
------BEGIN CERTIFICATE-----
-MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
-b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
-YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
-bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy
-MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
-d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg
-UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
-LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
-A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi
-GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm
-DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG
-lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX
-icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP
-Orf1LXLI
------END CERTIFICATE-----
-
-ValiCert Class 2 VA
-===================
------BEGIN CERTIFICATE-----
-MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
-b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
-YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
-bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
-MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
-d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg
-UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
-LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
-A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC
-CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf
-ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ
-SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV
-UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8
-W9ViH0Pd
------END CERTIFICATE-----
-
-RSA Root Certificate 1
-======================
------BEGIN CERTIFICATE-----
-MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
-b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
-YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
-bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
-MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
-d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg
-UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
-LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
-A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td
-3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H
-BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs
-3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF
-V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r
-on+jjBXu
------END CERTIFICATE-----
-
Verisign Class 3 Public Primary Certification Authority - G3
============================================================
-----BEGIN CERTIFICATE-----
@@ -273,33 +203,6 @@ RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG
UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
-----END CERTIFICATE-----
-Entrust.net Secure Server CA
-============================
------BEGIN CERTIFICATE-----
-MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV
-BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg
-cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl
-ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv
-cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG
-A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi
-eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p
-dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0
-aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ
-aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5
-gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw
-ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw
-CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l
-dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
-bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl
-cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
-dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw
-NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow
-HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA
-BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN
-Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9
-n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
------END CERTIFICATE-----
-
Entrust.net Premium 2048 Secure Server CA
=========================================
-----BEGIN CERTIFICATE-----
@@ -953,30 +856,6 @@ nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
-----END CERTIFICATE-----
-TDC Internet Root CA
-====================
------BEGIN CERTIFICATE-----
-MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE
-ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx
-NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu
-ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
-MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j
-xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL
-znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc
-5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6
-otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI
-AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM
-VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM
-MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC
-AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe
-UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G
-CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m
-gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+
-2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb
-O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU
-Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l
------END CERTIFICATE-----
-
UTN DATACorp SGC Root CA
========================
-----BEGIN CERTIFICATE-----
@@ -1117,64 +996,6 @@ KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
8CgHrTwXZoi1/baI
-----END CERTIFICATE-----
-NetLock Business (Class B) Root
-===============================
------BEGIN CERTIFICATE-----
-MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
-CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
-BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg
-VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD
-VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv
-bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg
-VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
-iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S
-o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr
-1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
-HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ
-RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh
-dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0
-ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv
-c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg
-YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh
-c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz
-Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA
-bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl
-IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2
-YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj
-cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM
-43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR
-stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI
------END CERTIFICATE-----
-
-NetLock Express (Class C) Root
-==============================
------BEGIN CERTIFICATE-----
-MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT
-CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
-BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD
-KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ
-BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
-dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j
-ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB
-jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z
-W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63
-euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw
-DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN
-RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn
-YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB
-IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i
-aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0
-ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs
-ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo
-dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y
-emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k
-IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ
-UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg
-YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2
-xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW
-gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A==
------END CERTIFICATE-----
-
XRamp Global CA Root
====================
-----BEGIN CERTIFICATE-----
@@ -1318,31 +1139,6 @@ CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
+fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
-----END CERTIFICATE-----
-Firmaprofesional Root CA
-========================
------BEGIN CERTIFICATE-----
-MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT
-GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp
-Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA
-ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL
-MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT
-OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2
-ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB
-AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V
-j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH
-lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf
-3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8
-NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww
-KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG
-AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud
-DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD
-ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq
-u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf
-wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm
-7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG
-VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA=
------END CERTIFICATE-----
-
Swisscom Root CA 1
==================
-----BEGIN CERTIFICATE-----
@@ -1954,40 +1750,6 @@ PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
-----END CERTIFICATE-----
-AC Ra\xC3\xADz Certic\xC3\xA1mara S.A.
-======================================
------BEGIN CERTIFICATE-----
-MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT
-AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg
-LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w
-HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+
-U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh
-IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B
-AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN
-yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU
-2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3
-4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP
-2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm
-8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf
-HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa
-Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK
-5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b
-czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
-AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g
-ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF
-BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug
-cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf
-AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX
-EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v
-/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3
-MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4
-3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk
-eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f
-/RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h
-RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU
-Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ==
------END CERTIFICATE-----
-
TC TrustCenter Class 2 CA II
============================
-----BEGIN CERTIFICATE-----
@@ -2635,22 +2397,6 @@ MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
-----END CERTIFICATE-----
-Verisign Class 3 Public Primary Certification Authority
-=======================================================
------BEGIN CERTIFICATE-----
-MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
-FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
-IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
-XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
-IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
-A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
-f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
-hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky
-CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX
-bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/
-D/xwzoiQ
------END CERTIFICATE-----
-
Microsec e-Szigno Root CA 2009
==============================
-----BEGIN CERTIFICATE-----
@@ -3783,3 +3529,458 @@ i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
-----END CERTIFICATE-----
+
+TeliaSonera Root CA v1
+======================
+-----BEGIN CERTIFICATE-----
+MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE
+CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4
+MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW
+VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+
+6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA
+3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k
+B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn
+Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH
+oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3
+F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ
+oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7
+gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc
+TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB
+AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW
+DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm
+zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx
+0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW
+pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV
+G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc
+c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT
+JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2
+qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6
+Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems
+WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
+-----END CERTIFICATE-----
+
+E-Tugra Certification Authority
+===============================
+-----BEGIN CERTIFICATE-----
+MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
+DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
+ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
+ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw
+NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx
+QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl
+cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD
+DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd
+hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K
+CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g
+ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ
+BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0
+E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz
+rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq
+jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
+rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5
+dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB
+/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG
+MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK
+kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO
+XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807
+VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo
+a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc
+dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV
+KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT
+Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0
+8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
+C7TbO6Orb1wdtn7os4I07QZcJA==
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 2
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx
+MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ
+SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F
+vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970
+2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV
+WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy
+YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4
+r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf
+vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
+3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
+9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
+-----END CERTIFICATE-----
+
+Atos TrustedRoot 2011
+=====================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
+cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
+MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG
+A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
+hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr
+54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+
+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320
+HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR
+z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R
+l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ
+bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
+CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h
+k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh
+TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
+61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
+3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 1 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE
+PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm
+PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6
+Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN
+ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l
+g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV
+7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX
+9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f
+iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg
+t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI
+hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC
+MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3
+GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct
+Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP
++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh
+3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa
+wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6
+O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0
+FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV
+hMJKzRwuJIczYOXD
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh
+ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY
+NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t
+oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o
+MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l
+V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo
+L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ
+sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD
+6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh
+lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI
+hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
+AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K
+pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9
+x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz
+dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X
+U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw
+mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD
+zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN
+JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr
+O3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286
+IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL
+Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe
+6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3
+I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U
+VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7
+5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi
+Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM
+dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt
+rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI
+hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px
+KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS
+t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ
+TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du
+DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib
+Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD
+hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX
+0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW
+dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2
+PpxxVJkES/1Y+Zj0
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw
+MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH
+35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq
+bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw
+VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP
+YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn
+lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO
+w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv
+0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz
+d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW
+hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M
+jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
+IhNzbM8m9Yop5w==
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
+VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ
+BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb
+RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs
+KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF
+UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy
+YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy
+1vUhZscv6pZjamVFkpUBtA==
+-----END CERTIFICATE-----
+
+DigiCert Global Root G2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx
+MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ
+kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO
+3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV
+BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM
+UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB
+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu
+5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr
+F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U
+WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH
+QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/
+iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
+MrY=
+-----END CERTIFICATE-----
+
+DigiCert Global Root G3
+=======================
+-----BEGIN CERTIFICATE-----
+MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD
+VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw
+MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k
+aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C
+AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O
+YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP
+BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp
+Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y
+3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34
+VOKa5Vt8sycX
+-----END CERTIFICATE-----
+
+DigiCert Trusted Root G4
+========================
+-----BEGIN CERTIFICATE-----
+MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
+HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G
+CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp
+pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o
+k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa
+vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY
+QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6
+MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm
+mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7
+f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH
+dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8
+oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
+DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
+ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY
+ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr
+yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy
+7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah
+ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN
+5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb
+/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa
+5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK
+G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP
+82Z+
+-----END CERTIFICATE-----
+
+WoSign
+======
+-----BEGIN CERTIFICATE-----
+MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG
+EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g
+QXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJ
+BgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
+vcqNrLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1UfcIiePyO
+CbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcSccf+Hb0v1naMQFXQoOXXDX
+2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2ZjC1vt7tj/id07sBMOby8w7gLJKA84X5
+KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4Mx1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR
++ScPewavVIMYe+HdVHpRaG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ez
+EC8wQjchzDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDaruHqk
+lWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221KmYo0SLwX3OSACCK2
+8jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvASh0JWzko/amrzgD5LkhLJuYwTKVY
+yrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWvHYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0C
+AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R
+8bNLtwYgFP6HEtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1
+LOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJMuYhOZO9sxXq
+T2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2eJXLOC62qx1ViC777Y7NhRCOj
+y+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VNg64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC
+2nz4SNAzqfkHx5Xh9T71XXG68pWpdIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes
+5cVAWubXbHssw1abR80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/
+EaEQPkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGcexGATVdVh
+mVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+J7x6v+Db9NpSvd4MVHAx
+kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi
+kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w==
+-----END CERTIFICATE-----
+
+WoSign China
+============
+-----BEGIN CERTIFICATE-----
+MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQG
+EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMMEkNBIOayg+mAmuagueiv
+geS5pjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMEYxCzAJBgNVBAYTAkNOMRowGAYD
+VQQKExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAwwSQ0Eg5rKD6YCa5qC56K+B5LmmMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0EkhHiX8h8EqwqzbdoYGTufQdDTc7WU1/FDWiD+k
+8H/rD195L4mx/bxjWDeTmzj4t1up+thxx7S8gJeNbEvxUNUqKaqoGXqW5pWOdO2XCld19AXbbQs5
+uQF/qvbW2mzmBeCkTVL829B0txGMe41P/4eDrv8FAxNXUDf+jJZSEExfv5RxadmWPgxDT74wwJ85
+dE8GRV2j1lY5aAfMh09Qd5Nx2UQIsYo06Yms25tO4dnkUkWMLhQfkWsZHWgpLFbE4h4TV2TwYeO5
+Ed+w4VegG63XX9Gv2ystP9Bojg/qnw+LNVgbExz03jWhCl3W6t8Sb8D7aQdGctyB9gQjF+BNdeFy
+b7Ao65vh4YOhn0pdr8yb+gIgthhid5E7o9Vlrdx8kHccREGkSovrlXLp9glk3Kgtn3R46MGiCWOc
+76DbT52VqyBPt7D3h1ymoOQ3OMdc4zUPLK2jgKLsLl3Az+2LBcLmc272idX10kaO6m1jGx6KyX2m
++Jzr5dVjhU1zZmkR/sgO9MHHZklTfuQZa/HpelmjbX7FF+Ynxu8b22/8DU0GAbQOXDBGVWCvOGU6
+yke6rCzMRh+yRpY/8+0mBe53oWprfi1tWFxK1I5nuPHa1UaKJ/kR8slC/k7e3x9cxKSGhxYzoacX
+GKUN5AXlK8IrC6KVkLn9YDxOiT7nnO4fuwECAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFOBNv9ybQV0T6GTwp+kVpOGBwboxMA0GCSqGSIb3DQEBCwUA
+A4ICAQBqinA4WbbaixjIvirTthnVZil6Xc1bL3McJk6jfW+rtylNpumlEYOnOXOvEESS5iVdT2H6
+yAa+Tkvv/vMx/sZ8cApBWNromUuWyXi8mHwCKe0JgOYKOoICKuLJL8hWGSbueBwj/feTZU7n85iY
+r83d2Z5AiDEoOqsuC7CsDCT6eiaY8xJhEPRdF/d+4niXVOKM6Cm6jBAyvd0zaziGfjk9DgNyp115
+j0WKWa5bIW4xRtVZjc8VX90xJc/bYNaBRHIpAlf2ltTW/+op2znFuCyKGo3Oy+dCMYYFaA6eFN0A
+kLppRQjbbpCBhqcqBT/mhDn4t/lXX0ykeVoQDF7Va/81XwVRHmyjdanPUIPTfPRm94KNPQx96N97
+qA4bLJyuQHCH2u2nFoJavjVsIE4iYdm8UXrNemHcSxH5/mc0zy4EZmFcV5cjjPOGG0jfKq+nwf/Y
+jj4Du9gqsPoUJbJRa4ZDhS4HIxaAjUz7tGM7zMN07RujHv41D198HRaG9Q7DlfEvr10lO1Hm13ZB
+ONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Leie2uPAmvylezkolwQOQv
+T8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR12KvxAmLBsX5VYc8T1yaw15zLKYs4SgsO
+kI26oQ==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCB
+hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
+A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
+BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMjEy
+MDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
+EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
+Q09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZh
+bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAI7CAhnhoFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28Sh
+bXcDow+G+eMGnD4LgYqbSRutA776S9uMIO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0
+Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4TgllfQcBhglo/uLQeTnaG6
+ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh7lgUq/51
+UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0n
+c13cRTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQY
+MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz
+30O0Oija5zAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
+HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgG
+BmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNv
+bS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB
+AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9E
+T1JTQUFkZFRydXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v
+ZG9jYS5jb20wDQYJKoZIhvcNAQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2p
+mj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/
+e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsItG8kO3KdY3RYPBps
+P0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdoltMY
+dVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc
+2bXhc3js9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxG
+V/Iz2tDIY+3GH5QFlkoakdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4
+HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBmGqW5prU5wfWYQ//u+aen/e7KJD2AFsQX
+j4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODcQgPmlKidrv0PJFGUzpII
+0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje3WYkN5Ap
+lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf
++AZxAeKCINT+b72x
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
+MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
+ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
+eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
+gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
+BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
+VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
+hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
+AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
+2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
+ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
+4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
+m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
+vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
+8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
+IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
+KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
+GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
+s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
+JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
+AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
+MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
+bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
+Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
+zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
+Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
+Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
+B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
+PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
+pu/xO28QOG8=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
+MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
+IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
+MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
+FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
+bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
+dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
+H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
+uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
+mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
+a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
+E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
+WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
+VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
+Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
+cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
+IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
+AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
+YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
+6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
+Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
+c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
+mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
+-----END CERTIFICATE-----
diff --git a/library/certs/README.md b/library/certs/README.md
new file mode 100644
index 000000000..9a2ca7eca
--- /dev/null
+++ b/library/certs/README.md
@@ -0,0 +1 @@
+This directory contains *browser valid* certs for use with redmatrix when using curl (server to server communication). The cacert.pem file in this directory is downloaded (when necessary) from the curl repository and tracks the Mozilla built-in certs. Additionally we've discovered we occasionally require intermediate certs from some cert providers which Mozilla and other browsers obtain automatically but curl does not. You may add these here if required. All these files are concatenated to create the library/cacert.pem file which we will use. \ No newline at end of file
diff --git a/library/certs/cacert.pem b/library/certs/cacert.pem
new file mode 100644
index 000000000..fa9df81f7
--- /dev/null
+++ b/library/certs/cacert.pem
@@ -0,0 +1,3894 @@
+##
+## Bundle of CA Root Certificates
+##
+## Certificate data from Mozilla downloaded on: Wed Sep 3 03:12:03 2014
+##
+## This is a bundle of X.509 certificates of public Certificate Authorities
+## (CA). These were automatically extracted from Mozilla's root certificates
+## file (certdata.txt). This file can be found in the mozilla source tree:
+## http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
+##
+## It contains the certificates in PEM format and therefore
+## can be directly used with curl / libcurl / php_curl, or with
+## an Apache+mod_ssl webserver for SSL client authentication.
+## Just configure this file as the SSLCACertificateFile.
+##
+## Conversion done with mk-ca-bundle.pl verison 1.22.
+## SHA1: c4540021427a6fa29e5f50db9f12d48c97d33889
+##
+
+
+GTE CyberTrust Global Root
+==========================
+-----BEGIN CERTIFICATE-----
+MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
+Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG
+A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz
+MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL
+Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0
+IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u
+sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql
+HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID
+AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW
+M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF
+NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
+-----END CERTIFICATE-----
+
+Thawte Server CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
+DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
+dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE
+AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j
+b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV
+BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u
+c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG
+A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0
+ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl
+/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7
+1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR
+MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J
+GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ
+GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc=
+-----END CERTIFICATE-----
+
+Thawte Premium Server CA
+========================
+-----BEGIN CERTIFICATE-----
+MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT
+DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
+dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE
+AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl
+ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT
+AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU
+VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
+aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ
+cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
+aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh
+Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/
+qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm
+SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf
+8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t
+UCemDaYj+bvLpgcUQg==
+-----END CERTIFICATE-----
+
+Equifax Secure CA
+=================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
+ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
+MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
+B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
+fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
+8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
+A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
+CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
+A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
+spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
+Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
+zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
+BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
+70+sB3c4
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority - G2
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
+MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
+biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
+dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
+MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
+biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
+dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO
+FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71
+lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB
+MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT
+1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD
+Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9
+-----END CERTIFICATE-----
+
+GlobalSign Root CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
+GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
+b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
+BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
+VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
+DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
+THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
+Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
+c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
+gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
+AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
+Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
+j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
+hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
+X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
+ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
+s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
+S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
+TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
+ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
+FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
+YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
+BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
+9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
+01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
+9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
+TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
+CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
+dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
+EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
+cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
+EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
+055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
+ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
+j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
+/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
+xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
+t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
+-----END CERTIFICATE-----
+
+Verisign Class 4 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
+CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
+dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS
+tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM
+8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW
+Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX
+Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
+j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt
+mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
+fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd
+RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG
+UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
+-----END CERTIFICATE-----
+
+Entrust.net Premium 2048 Secure Server CA
+=========================================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
+ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
+bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
+BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
+NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
+d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
+MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
+ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
+Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
+hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
+nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
+VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ
+KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy
+T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
+zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
+J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
+nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
+-----END CERTIFICATE-----
+
+Baltimore CyberTrust Root
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
+ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
+ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
+SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
+dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
+uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
+UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
+G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
+XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
+l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
+VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
+cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
+hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
+Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
+RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
+-----END CERTIFICATE-----
+
+Equifax Secure Global eBusiness CA
+==================================
+-----BEGIN CERTIFICATE-----
+MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp
+bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx
+HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds
+b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV
+PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN
+qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn
+hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
+BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs
+MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN
+I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY
+NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
+-----END CERTIFICATE-----
+
+Equifax Secure eBusiness CA 1
+=============================
+-----BEGIN CERTIFICATE-----
+MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB
+LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE
+ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz
+IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ
+1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a
+IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk
+MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW
+Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF
+AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5
+lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+
+KpYrtWKmpj29f5JZzVoqgrI3eQ==
+-----END CERTIFICATE-----
+
+AddTrust Low-Value Services Root
+================================
+-----BEGIN CERTIFICATE-----
+MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
+cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
+CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
+ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
+54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
+oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
+Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
+GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
+HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
+AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
+RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
+HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
+ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
+iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
+eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
+mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
+ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
+-----END CERTIFICATE-----
+
+AddTrust External Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
+VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
+NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
+cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
+Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
+Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
+aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
+2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
+7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
+BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
+VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
+VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
+IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
+j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
+6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
+e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
+G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
+-----END CERTIFICATE-----
+
+AddTrust Public Services Root
+=============================
+-----BEGIN CERTIFICATE-----
+MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
+cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
+BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
+dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
+nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
+d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
+Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
+HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
+A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
+FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
+A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
+JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
++YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
+GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
+Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
+EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
+-----END CERTIFICATE-----
+
+AddTrust Qualified Certificates Root
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
+cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
+CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
+IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
+64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
+KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
+L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
+wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
+MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
+BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
+BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
+azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
+ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
+GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
+dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
+RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
+iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
+BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
+b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
+A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
+MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
+MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
+Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
+dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
+A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
+Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
+j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
+rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
+MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
+hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
+A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
+Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
+v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
+W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
+tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
+-----END CERTIFICATE-----
+
+RSA Security 2048 v3
+====================
+-----BEGIN CERTIFICATE-----
+MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
+ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
+MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
+BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
+AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
+Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
+WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
+KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
++Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
+MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
+FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
+v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
+0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
+VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
+nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
+pKnXwiJPZ9d37CAFYd4=
+-----END CERTIFICATE-----
+
+GeoTrust Global CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
+Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
+MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
+LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
+BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
+8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
+T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
+vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
+AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
+DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
+zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
+d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
+mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
+XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
+Mw==
+-----END CERTIFICATE-----
+
+GeoTrust Global CA 2
+====================
+-----BEGIN CERTIFICATE-----
+MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
+MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
+LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
+NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
+LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
+Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
+HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
+MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
+K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
+srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
+ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
+OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
+x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
+H4z1Ir+rzoPz4iIprn2DQKi6bA==
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
+MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
+Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
+ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
+JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
+RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
+7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
+8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
+qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
+Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
+Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
+KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
+ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
+XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
+hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
+aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
+qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
+oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
+xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
+KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
+DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
+xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
+p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
+P/rmMuGNG2+k5o7Y+SlIis5z/iw=
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA 2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
+MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
+SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
+A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
+DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
+j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
+JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
+QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
+WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
+20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
+ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
+SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
+8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
+BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
+dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
+4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
+A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
+Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
+pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
+FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
+gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
+X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
+-----END CERTIFICATE-----
+
+America Online Root Certification Authority 1
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
+Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG
+A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
+T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG
+v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z
+DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh
+sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP
+8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T
+AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z
+o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf
+GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF
+VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft
+3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g
+Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
+sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
+-----END CERTIFICATE-----
+
+America Online Root Certification Authority 2
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
+QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
+Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG
+A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
+T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en
+fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8
+f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO
+qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN
+RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0
+gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn
+6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid
+FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6
+Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj
+B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op
+aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
+AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY
+T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p
++DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg
+JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy
+zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO
+ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh
+1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf
+GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff
+Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP
+cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk=
+-----END CERTIFICATE-----
+
+Visa eCommerce Root
+===================
+-----BEGIN CERTIFICATE-----
+MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
+EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
+QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
+WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
+VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
+bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
+F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
+RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
+TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
+/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
+GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
+MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
+CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
+YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
+zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
+YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
+398znM/jra6O1I7mT1GvFpLgXPYHDw==
+-----END CERTIFICATE-----
+
+Certum Root CA
+==============
+-----BEGIN CERTIFICATE-----
+MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
+ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
+Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
+by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
+wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
+kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
+89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
+Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
+NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
+hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
+GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
+GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
+0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
+qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
+-----END CERTIFICATE-----
+
+Comodo AAA Services root
+========================
+-----BEGIN CERTIFICATE-----
+MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
+MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
+c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
+BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
+C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
+i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
+Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
+Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
+Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
+BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
+cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
+LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
+7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
+Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
+8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
+12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
+-----END CERTIFICATE-----
+
+Comodo Secure Services root
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
+MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
+Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
+BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
+9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
+rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
+oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
+p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
+FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
+gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
+YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
+aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
+4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
+Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
+DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
+pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
+RR3B7Hzs/Sk=
+-----END CERTIFICATE-----
+
+Comodo Trusted Services root
+============================
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
+MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
+bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
+IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
+3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
+/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
+juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
+ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
+DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
+/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
+ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
+cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
+uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
+pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
+BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
+R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
+9y5Xt5hwXsjEeLBi
+-----END CERTIFICATE-----
+
+QuoVadis Root CA
+================
+-----BEGIN CERTIFICATE-----
+MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
+ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
+eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
+MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
+cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
+EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
+J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
+F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
+YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
+AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
+PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
+ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
+MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
+YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
+ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
+Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
+Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
+BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
+FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
+tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
+fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
+LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
+gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
+5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
+5nrQNiOKSnQ2+Q==
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2
+==================
+-----BEGIN CERTIFICATE-----
+MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
+EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
+ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
+XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
+lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
+lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
+lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
+66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
+wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
+D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
+BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
+J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
+DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
+a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
+ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
+Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
+UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
+VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
++JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
+IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
+WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
+f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
+4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
+VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3
+==================
+-----BEGIN CERTIFICATE-----
+MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
+EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
+OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
+aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
+DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
+KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
+DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
+BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
+p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
+nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
+MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
+Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
+uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
+BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
+YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
+aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
+BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
+VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
+ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
+AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
+qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
+hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
+POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
+Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
+8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
+bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
+g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
+vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
+qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
+-----END CERTIFICATE-----
+
+Security Communication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
+8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
+DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
+5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
+DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
+JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
+0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
+mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
+s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
+6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
+FL39vmwLAw==
+-----END CERTIFICATE-----
+
+Sonera Class 2 Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
+U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
+NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
+IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
+/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
+dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
+f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
+tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
+nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
+XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
+0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
+cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
+Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
+EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
+llpwrN9M
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA
+=============================
+-----BEGIN CERTIFICATE-----
+MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE
+ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w
+HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh
+bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt
+vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P
+jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca
+C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth
+vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6
+22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV
+HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v
+dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN
+BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR
+EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw
+MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y
+nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
+iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
+-----END CERTIFICATE-----
+
+UTN DATACorp SGC Root CA
+========================
+-----BEGIN CERTIFICATE-----
+MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
+IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ
+BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa
+MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w
+HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy
+dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys
+raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo
+wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA
+9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv
+33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud
+DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9
+BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD
+LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3
+DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
+Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0
+I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx
+EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
+DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
+-----END CERTIFICATE-----
+
+UTN USERFirst Hardware Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
+BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
+IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
+BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
+OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
+eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
+ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
+wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
+tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
+i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
+Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
+gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
+lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
+UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
+BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
+//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
+XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
+lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
+iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
+nfhmqA==
+-----END CERTIFICATE-----
+
+Camerfirma Chambers of Commerce Root
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
+QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
+ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
+NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
+cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
+MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
+AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
+xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
+NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
+DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
+d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
+EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
+cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
+AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
+bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
+VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
+aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
+fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
+L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
+UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
+ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
+erfutGWaIZDgqtCYvDi1czyL+Nw=
+-----END CERTIFICATE-----
+
+Camerfirma Global Chambersign Root
+==================================
+-----BEGIN CERTIFICATE-----
+MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
+QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
+ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
+NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
+YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
+MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
+ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
+1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
+by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
+6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
+8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
+BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
+aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
+Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
+aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
+ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
+bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
+PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
+gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
+PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
+IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
+t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
+-----END CERTIFICATE-----
+
+NetLock Notary (Class A) Root
+=============================
+-----BEGIN CERTIFICATE-----
+MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI
+EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
+dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j
+ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX
+DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH
+EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD
+VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz
+cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM
+D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ
+z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC
+/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7
+tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6
+4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG
+A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC
+Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv
+bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
+IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn
+LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0
+ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz
+IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh
+IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu
+b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh
+bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg
+Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp
+bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5
+ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP
+ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB
+CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr
+KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
+8CgHrTwXZoi1/baI
+-----END CERTIFICATE-----
+
+XRamp Global CA Root
+====================
+-----BEGIN CERTIFICATE-----
+MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
+BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
+dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
+HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
+U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
+IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
+foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
+zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
+AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
+xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
+oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
+AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
+/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
+qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
+nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
+8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
+-----END CERTIFICATE-----
+
+Go Daddy Class 2 CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
+VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
+A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
+RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
+ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
+2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
+qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
+YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
+vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
+BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
+atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
+MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
+PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
+I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
+HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
+Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
+vZ8=
+-----END CERTIFICATE-----
+
+Starfield Class 2 CA
+====================
+-----BEGIN CERTIFICATE-----
+MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
+U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
+MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
+A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
+SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
+bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
+JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
+epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
+F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
+MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
+hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
+bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
+QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
+afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
+PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
+xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
+KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
+QBFGmh95DmK/D5fs4C8fF5Q=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority
+================================
+-----BEGIN CERTIFICATE-----
+MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
+ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
+NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
+LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
+U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
+o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
+Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
+eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
+2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
+6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
+osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
+untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
+UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
+37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
+FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
+Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
+YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
+AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
+Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
+U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
+LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
+cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
+dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
+AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
+3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
+vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
+fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
+fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
+EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
+yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
+1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
+lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
+g14=
+-----END CERTIFICATE-----
+
+Taiwan GRCA
+===========
+-----BEGIN CERTIFICATE-----
+MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
+EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
+DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
+dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
+w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
+BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
+1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
+htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
+J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
+Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
+B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
+O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
+lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
+HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
+09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
+TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
+Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
+Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
+D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
+DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
+Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
+7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
+CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
+-----END CERTIFICATE-----
+
+Swisscom Root CA 1
+==================
+-----BEGIN CERTIFICATE-----
+MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
+EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
+dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4
+MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
+aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC
+IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM
+MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF
+NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe
+AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC
+b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn
+7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN
+cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp
+WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5
+haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY
+MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
+HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
+BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9
+MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn
+jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ
+MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H
+VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl
+vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl
+OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3
+1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq
+nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
+x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
+NY6E0F/6MBr1mmz0DlP5OlvRHA==
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
+MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
+9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
+UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
+/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
+oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
+GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
+66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
+hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
+EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
+SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
+8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
+-----END CERTIFICATE-----
+
+DigiCert Global Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
+MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
+TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
+BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
+4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
+7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
+o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
+8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
+BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
+EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
+tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
+UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
+CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
+-----END CERTIFICATE-----
+
+DigiCert High Assurance EV Root CA
+==================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
+KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
+MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
+MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
+Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
+Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
+OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
+MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
+NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
+h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
+Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
+JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
+V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
+myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
+mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
+vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
+-----END CERTIFICATE-----
+
+Certplus Class 2 Primary CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
+BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
+OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
+dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
+5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
+Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
+YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
+e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
+CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
+YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
+L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
+P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
+TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
+7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
+//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
+l7+ijrRU
+-----END CERTIFICATE-----
+
+DST Root CA X3
+==============
+-----BEGIN CERTIFICATE-----
+MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
+ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
+DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
+cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
+rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
+UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
+xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
+utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
+MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
+dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
+GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
+RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
+fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
+-----END CERTIFICATE-----
+
+DST ACES CA X6
+==============
+-----BEGIN CERTIFICATE-----
+MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
+MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
+MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
+CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
+DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
+pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
+GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
+MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
+EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
+Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
+dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
+CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
+5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
+Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
+nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
+vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
+oKfN5XozNmr6mis=
+-----END CERTIFICATE-----
+
+TURKTRUST Certificate Services Provider Root 1
+==============================================
+-----BEGIN CERTIFICATE-----
+MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP
+MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0
+acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx
+MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg
+U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB
+TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC
+aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX
+yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i
+Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ
+8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4
+W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME
+BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46
+sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE
+q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy
+B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY
+nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H
+-----END CERTIFICATE-----
+
+TURKTRUST Certificate Services Provider Root 2
+==============================================
+-----BEGIN CERTIFICATE-----
+MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
+MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
+QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN
+MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr
+dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G
+A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
+acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe
+LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI
+x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g
+QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr
+5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB
+AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G
+A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt
+Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4
+Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+
+hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
+9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5
+UrbnBEI=
+-----END CERTIFICATE-----
+
+SwissSign Gold CA - G2
+======================
+-----BEGIN CERTIFICATE-----
+MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
+EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
+MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
+c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
+t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
+jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
+vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
+ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
+AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
+jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
+peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
+7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
+GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
+OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
+L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
+5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
+44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
+Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
+Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
+mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
+vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
+KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
+NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
+viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
+-----END CERTIFICATE-----
+
+SwissSign Silver CA - G2
+========================
+-----BEGIN CERTIFICATE-----
+MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
+BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
+DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
+aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
+9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
+N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
++/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
+6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
+MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
+qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
+FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
+ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
+celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
+CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
+tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
+cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
+4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
+kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
+3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
+/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
+DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
+e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
+WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
+DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
+DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
+EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
+cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
+b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
+nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
+RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
+tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
+hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
+Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
+NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
+Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
+1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
+-----END CERTIFICATE-----
+
+thawte Primary Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
+MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
+SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
+KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
+FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
+oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
+1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
+q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
+aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
+afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
+VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
+AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
+uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
+xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
+jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
+z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G5
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
+yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
+biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
+dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
+YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
+j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
+Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
+Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
+fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
+BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
+Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
+aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
+SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
+KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
+Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
+ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
+-----END CERTIFICATE-----
+
+SecureTrust CA
+==============
+-----BEGIN CERTIFICATE-----
+MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
+dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
+BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
+ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
+OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
+DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
+GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
+01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
+ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
+aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
+SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
+mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
+nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
+3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
+-----END CERTIFICATE-----
+
+Secure Global CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
+bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
+MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
+Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
+YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
+bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
+8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
+HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
+0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
+oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
+MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
+CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
+3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
+f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
+-----END CERTIFICATE-----
+
+COMODO Certification Authority
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
+BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
+A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
+dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
+MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
+T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
+xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
+4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
+1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
+rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
+b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
+AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
+OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
+RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
+IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
+-----END CERTIFICATE-----
+
+Network Solutions Certificate Authority
+=======================================
+-----BEGIN CERTIFICATE-----
+MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
+EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
+IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
+MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
+MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
+jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
+aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
+crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
+/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
+AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
+bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
+A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
+4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
+GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
+wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
+ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
+-----END CERTIFICATE-----
+
+WellsSecure Public Root Certificate Authority
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
+F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
+NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
+MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl
+bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD
+VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1
+iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13
+i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8
+bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB
+K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB
+AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu
+cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm
+lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB
+i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww
+GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg
+Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI
+K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0
+bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj
+qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es
+E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
+tylv2G0xffX8oRAHh84vWdw+WNs=
+-----END CERTIFICATE-----
+
+COMODO ECC Certification Authority
+==================================
+-----BEGIN CERTIFICATE-----
+MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
+R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
+ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
+GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
+Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
+b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
+4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
+wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
+FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
+U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
+-----END CERTIFICATE-----
+
+IGC/A
+=====
+-----BEGIN CERTIFICATE-----
+MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD
+VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE
+Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy
+MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI
+EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT
+STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2
+TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW
+So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy
+HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd
+frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ
+tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB
+egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC
+iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK
+q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q
+MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg
+Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI
+lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF
+0mBWWg==
+-----END CERTIFICATE-----
+
+Security Communication EV RootCA1
+=================================
+-----BEGIN CERTIFICATE-----
+MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
+U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
+dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE
+BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl
+Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO
+/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX
+WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z
+ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4
+bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK
+9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
+SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm
+iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG
+Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW
+mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
+T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
+-----END CERTIFICATE-----
+
+OISTE WISeKey Global Root GA CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
+BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
+A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
+bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
+VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
+IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
+IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
+Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
+Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
+d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
+/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
+LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
+MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
+hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
+okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
+-----END CERTIFICATE-----
+
+Microsec e-Szigno Root CA
+=========================
+-----BEGIN CERTIFICATE-----
+MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE
+BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL
+EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0
+MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz
+dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT
+GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG
+d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N
+oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc
+QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ
+PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb
+MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG
+IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD
+VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3
+LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A
+dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn
+AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA
+4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg
+AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA
+egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6
+Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO
+PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv
+c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h
+cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw
+IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT
+WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV
+MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER
+MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp
+Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal
+HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT
+nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE
+aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a
+86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK
+yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB
+S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=
+-----END CERTIFICATE-----
+
+Certigna
+========
+-----BEGIN CERTIFICATE-----
+MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
+EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
+MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
+Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
+XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
+GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
+ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
+DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
+Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
+tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
+BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
+SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
+hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
+PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
+1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
+WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
+-----END CERTIFICATE-----
+
+TC TrustCenter Class 2 CA II
+============================
+-----BEGIN CERTIFICATE-----
+MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
+REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
+IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw
+MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
+c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE
+AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw
+IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2
+xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ
+Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u
+SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB
+7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
+Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
+cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
+SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
+TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G
+dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ
+KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj
+TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP
+JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk
+vQ==
+-----END CERTIFICATE-----
+
+TC TrustCenter Class 3 CA II
+============================
+-----BEGIN CERTIFICATE-----
+MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
+REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
+IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw
+MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
+c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE
+AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W
+yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo
+6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ
+uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk
+2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB
+7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
+Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
+cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
+SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
+TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE
+O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8
+yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9
+IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal
+092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc
+5A==
+-----END CERTIFICATE-----
+
+TC TrustCenter Universal CA I
+=============================
+-----BEGIN CERTIFICATE-----
+MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC
+REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
+IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN
+MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg
+VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw
+JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC
+qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv
+xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw
+ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O
+gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j
+BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG
+1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy
+vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3
+ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT
+ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a
+7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY
+-----END CERTIFICATE-----
+
+Deutsche Telekom Root CA 2
+==========================
+-----BEGIN CERTIFICATE-----
+MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
+RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
+A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
+MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
+A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
+b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
+bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
+KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
+AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
+Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
+jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
+HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
+E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
+zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
+rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
+dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
+Cm26OWMohpLzGITY+9HPBVZkVw==
+-----END CERTIFICATE-----
+
+ComSign Secured CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE
+AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w
+NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD
+QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs
+49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH
+7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB
+kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1
+9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw
+AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t
+U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA
+j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC
+AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a
+BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp
+FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP
+51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz
+OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw==
+-----END CERTIFICATE-----
+
+Cybertrust Global Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
+ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
+MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
+ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
+0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
+AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
+89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
+8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
+MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
+A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
+lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
+5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
+hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
+X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
+WL1WMRJOEcgh4LMRkWXbtKaIOM5V
+-----END CERTIFICATE-----
+
+ePKI Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
+EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
+Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
+MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq
+MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs
+IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi
+lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
+qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX
+12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O
+WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+
+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
+lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/
+vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi
+Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi
+MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
+ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
+1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq
+KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV
+xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP
+NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r
+GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
+xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx
+gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
+sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
+BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
+-----END CERTIFICATE-----
+
+T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
+=============================================================================================================================
+-----BEGIN CERTIFICATE-----
+MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
+DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
+aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry
+b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV
+BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg
+S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4
+MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl
+IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF
+n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl
+IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft
+dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl
+cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO
+Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1
+xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR
+6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL
+hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd
+BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
+MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4
+N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT
+y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh
+LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
+dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
+-----END CERTIFICATE-----
+
+Buypass Class 2 CA 1
+====================
+-----BEGIN CERTIFICATE-----
+MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2
+MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
+c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M
+cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83
+0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4
+0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R
+uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P
+AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV
+1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt
+7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2
+fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w
+wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho
+-----END CERTIFICATE-----
+
+Buypass Class 3 CA 1
+====================
+-----BEGIN CERTIFICATE-----
+MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1
+MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
+c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx
+ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0
+n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia
+AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c
+1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P
+AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7
+pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA
+EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5
+htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj
+el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915
+-----END CERTIFICATE-----
+
+EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1
+==========================================================================
+-----BEGIN CERTIFICATE-----
+MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg
+QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe
+Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p
+ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt
+IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG
+SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by
+X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b
+gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr
+eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ
+TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy
+Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn
+uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI
+qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm
+ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0
+Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
+/wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW
+Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t
+FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm
+zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k
+XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT
+bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU
+RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK
+1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt
+2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ
+Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9
+AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT
+-----END CERTIFICATE-----
+
+certSIGN ROOT CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
+VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
+Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
+CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
+JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
+rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
+ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
+0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
+AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
+Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
+AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
+SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
+x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
+vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
+TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
+-----END CERTIFICATE-----
+
+CNNIC ROOT
+==========
+-----BEGIN CERTIFICATE-----
+MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
+ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
+OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD
+o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz
+VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT
+VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or
+czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK
+y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC
+wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S
+lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5
+Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM
+O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8
+BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2
+G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
+mxE=
+-----END CERTIFICATE-----
+
+ApplicationCA - Japanese Government
+===================================
+-----BEGIN CERTIFICATE-----
+MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT
+SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw
+MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl
+cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4
+fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN
+wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE
+jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu
+nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU
+WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV
+BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD
+vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs
+o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g
+/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD
+io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW
+dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL
+rosot4LKGAfmt1t06SAZf7IbiVQ=
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G3
+=============================================
+-----BEGIN CERTIFICATE-----
+MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
+BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
+IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
+NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
+YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
+LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
+K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
+c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
+IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
+dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
+2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
+cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
+Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
+AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
+t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
+VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
+IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
+Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
+MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
+b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
+IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
+LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
+8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
+mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
+G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
+rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
+ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
+d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
+VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
+A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
+P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
+7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
+vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
+KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
+A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
+t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
+8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
+er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G2
+=============================================
+-----BEGIN CERTIFICATE-----
+MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
+VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
+Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
+OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
+MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
+b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
+BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
+KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
+VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
+EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
+ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
+npaqBA+K
+-----END CERTIFICATE-----
+
+VeriSign Universal Root Certification Authority
+===============================================
+-----BEGIN CERTIFICATE-----
+MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
+IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
+1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
+MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
+9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
+AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
+tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
+CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
+a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
+DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
+Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
+Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
+P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
+wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
+mJO37M2CYfE45k+XmCpajQ==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G4
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
+VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
+b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
+ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
+MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
+cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
+b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
+IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
+Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
+rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
+/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
+HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
+Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
+A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
+AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
+-----END CERTIFICATE-----
+
+NetLock Arany (Class Gold) Főtanúsítvány
+============================================
+-----BEGIN CERTIFICATE-----
+MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
+A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
+dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
+cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
+MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
+ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
+biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
+c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
+0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
+/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
+H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
+fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
+neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
+BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
+qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
+YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
+bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
+NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
+dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA - G2
+==================================
+-----BEGIN CERTIFICATE-----
+MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC
+TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
+ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ
+5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn
+vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj
+CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil
+e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR
+OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI
+CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65
+48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
+trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737
+qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB
+AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC
+ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
+HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA
+A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz
++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj
+f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN
+kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk
+CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF
+URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb
+CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h
+oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
+IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
+66+KAQ==
+-----END CERTIFICATE-----
+
+CA Disig
+========
+-----BEGIN CERTIFICATE-----
+MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK
+QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw
+MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz
+bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm
+GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD
+Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo
+hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt
+ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w
+gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P
+AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz
+aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff
+ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa
+BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t
+WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3
+mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/
+CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K
+ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA
+4Z7CRneC9VkGjCFMhwnN5ag=
+-----END CERTIFICATE-----
+
+Juur-SK
+=======
+-----BEGIN CERTIFICATE-----
+MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA
+c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw
+DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG
+SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy
+aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf
+TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC
++Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw
+UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa
+Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF
+MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD
+HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh
+AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA
+cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr
+AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw
+cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE
+FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G
+A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo
+ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL
+abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678
+IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh
+Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2
+yyqcjg==
+-----END CERTIFICATE-----
+
+Hongkong Post Root CA 1
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
+DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
+NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
+IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
+ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
+auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
+qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
+V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
+HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
+h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
+l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
+IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
+T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
+c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
+-----END CERTIFICATE-----
+
+SecureSign RootCA11
+===================
+-----BEGIN CERTIFICATE-----
+MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
+SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
+b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
+KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
+cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
+TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
+wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
+g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
+O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
+bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
+t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
+OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
+bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
+Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
+y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
+lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
+-----END CERTIFICATE-----
+
+ACEDICOM Root
+=============
+-----BEGIN CERTIFICATE-----
+MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD
+T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4
+MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG
+A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk
+WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD
+YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew
+MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb
+m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk
+HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT
+xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2
+3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9
+2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq
+TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz
+4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU
+9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv
+bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg
+aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP
+eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk
+zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1
+ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI
+KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq
+nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE
+I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp
+MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
+tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
+-----END CERTIFICATE-----
+
+Microsec e-Szigno Root CA 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
+MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
+c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
+dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
+BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
+U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
+fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
+0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
+pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
+1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
+AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
+QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
+FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
+lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
+I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
+tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
+yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
+LXpUq3DDfSJlgnCW
+-----END CERTIFICATE-----
+
+E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi
+===================================================
+-----BEGIN CERTIFICATE-----
+MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
+EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz
+ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3
+MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0
+cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u
+aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY
+8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y
+jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI
+JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk
+9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD
+AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG
+SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d
+F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq
+D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4
+Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq
+fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R3
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
+iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
+0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
+rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
+OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
+xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
+FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
+lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
+EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
+bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
+YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
+kpeDMdmztcpHWD9f
+-----END CERTIFICATE-----
+
+Autoridad de Certificacion Firmaprofesional CIF A62634068
+=========================================================
+-----BEGIN CERTIFICATE-----
+MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
+BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
+MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
+QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
+NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
+Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
+B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
+7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
+ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
+plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
+MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
+LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
+bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
+vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
+EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
+DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
+cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
+bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
+ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
+51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
+R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
+T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
+Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
+osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
+crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
+saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
+KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
+6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
+-----END CERTIFICATE-----
+
+Izenpe.com
+==========
+-----BEGIN CERTIFICATE-----
+MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
+EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
+MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu
+QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
+03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK
+ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU
++zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
+PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT
+OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK
+F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK
+0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+
+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB
+leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID
+AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+
+SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG
+NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
+MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
+BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l
+Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga
+kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q
+hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs
+g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5
+aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5
+nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC
+ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
+Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
+WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
+-----END CERTIFICATE-----
+
+Chambers of Commerce Root - 2008
+================================
+-----BEGIN CERTIFICATE-----
+MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
+Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
+ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
+EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
+cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
+AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
+XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
+h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
+ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
+NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
+D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
+lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
+0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
+ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
+EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
+G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
+BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
+bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
+bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
+CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
+AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
+wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
+3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
+RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
+M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
+YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
+9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
+zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
+nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
+OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
+-----END CERTIFICATE-----
+
+Global Chambersign Root - 2008
+==============================
+-----BEGIN CERTIFICATE-----
+MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
+NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
+Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
+QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
+aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
+VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
+XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
+ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
+/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
+TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
+H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
+Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
+HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
+wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
+AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
+BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
+BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
+aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
+aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
+1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
+dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
+/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
+ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
+dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
+9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
+foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
+qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
+P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
+c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
+09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
+-----END CERTIFICATE-----
+
+Go Daddy Root Certificate Authority - G2
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
+MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
+MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
+b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
+A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
+9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
+fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
+NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
+BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
+vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
+5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
+N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
+LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
+-----END CERTIFICATE-----
+
+Starfield Root Certificate Authority - G2
+=========================================
+-----BEGIN CERTIFICATE-----
+MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
+eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
+DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
+VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
+dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
+W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
+bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
+N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
+ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
+JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
+TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
+4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
+F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
+pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
+c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
+-----END CERTIFICATE-----
+
+Starfield Services Root Certificate Authority - G2
+==================================================
+-----BEGIN CERTIFICATE-----
+MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
+IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
+BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
+dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
+Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
+h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
+hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
+LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
+rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
+SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
+E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
+xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
+iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
+YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
+-----END CERTIFICATE-----
+
+AffirmTrust Commercial
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
+MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
+DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
+C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
+BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
+MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
+HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
+hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
+qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
+0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
+sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
+-----END CERTIFICATE-----
+
+AffirmTrust Networking
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
+MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
+Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
+dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
+/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
+h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
+HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
+UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
+12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
+WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
+/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
+-----END CERTIFICATE-----
+
+AffirmTrust Premium
+===================
+-----BEGIN CERTIFICATE-----
+MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
+OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy
+dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn
+BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV
+5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd
+GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R
+p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI
+S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04
+6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5
+/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo
++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv
+MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
+Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
+6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S
+L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK
++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV
+BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg
+IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
+g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
+zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
+-----END CERTIFICATE-----
+
+AffirmTrust Premium ECC
+=======================
+-----BEGIN CERTIFICATE-----
+MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
+BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
+MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
+cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
+IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
+N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
+BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
+BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
+57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
+eQ==
+-----END CERTIFICATE-----
+
+Certum Trusted Network CA
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
+ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
+MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
+ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
+l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
+J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
+fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
+cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
+Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
+DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
+jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
+mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
+Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
+03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
+-----END CERTIFICATE-----
+
+Certinomis - Autorité Racine
+=============================
+-----BEGIN CERTIFICATE-----
+MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
+Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
+LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG
+A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw
+JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa
+wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly
+Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw
+2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N
+jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q
+c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC
+lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb
+xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g
+530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna
+4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
+A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ
+KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x
+WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva
+R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40
+nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B
+CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv
+JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE
+qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b
+WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE
+wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
+vgt2Fl43N+bYdJeimUV5
+-----END CERTIFICATE-----
+
+Root CA Generalitat Valenciana
+==============================
+-----BEGIN CERTIFICATE-----
+MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE
+ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290
+IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3
+WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE
+CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2
+F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B
+ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ
+D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte
+JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB
+AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n
+dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB
+ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl
+AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA
+YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy
+AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA
+aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt
+AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA
+YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu
+AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA
+OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0
+dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV
+BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G
+A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S
+b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh
+TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz
+Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63
+NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH
+iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt
++GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=
+-----END CERTIFICATE-----
+
+A-Trust-nQual-03
+================
+-----BEGIN CERTIFICATE-----
+MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE
+Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy
+a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R
+dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw
+RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0
+ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1
+c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA
+zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n
+yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE
+SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4
+iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V
+cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV
+eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40
+ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr
+sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd
+JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS
+mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6
+ahq97BvIxYSazQ==
+-----END CERTIFICATE-----
+
+TWCA Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
+VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
+EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
+IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
+QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
+oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
+4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
+y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
+BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
+9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
+mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
+QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
+T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
+Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
+-----END CERTIFICATE-----
+
+Security Communication RootCA2
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
+U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
+dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC
+SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy
+aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++
++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R
+3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV
+spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K
+EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8
+QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
+CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj
+u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
+3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q
+tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
+mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
+-----END CERTIFICATE-----
+
+EC-ACC
+======
+-----BEGIN CERTIFICATE-----
+MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
+BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
+ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD
+VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE
+CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT
+BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7
+MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt
+SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl
+Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh
+cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK
+w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT
+ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4
+HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a
+E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw
+0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD
+VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
+Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l
+dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ
+lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
+Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe
+l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
+E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
+5EI=
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions RootCA 2011
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
+O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
+aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
+AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
+IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
+1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
+71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
+8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
+3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
+MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
+MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
+b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
+XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
+TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
+/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
+7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
+-----END CERTIFICATE-----
+
+Actalis Authentication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
+BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
+AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky
+MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz
+IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
+IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ
+wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa
+by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6
+zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f
+YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2
+oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l
+EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7
+hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
+EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5
+jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY
+iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
+ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI
+WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0
+JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx
+K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+
+Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC
+4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo
+2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
+lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
+OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
+vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
+-----END CERTIFICATE-----
+
+Trustis FPS Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
+EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
+IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
+BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
+RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
+H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
+cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
+o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
+AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
+BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
+GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
+yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
+8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
+l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
+iB6XzCGcKQENZetX2fNXlrtIzYE=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority
+================================
+-----BEGIN CERTIFICATE-----
+MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
+ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
+NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
+LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
+U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
+ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
+o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
+Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
+eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
+2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
+6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
+osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
+untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
+UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
+37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
+VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ
+Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0
+dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
+c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv
+bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0
+aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0
+aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t
+L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG
+cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5
+fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm
+N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN
+Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T
+tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX
+e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA
+2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs
+HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
+JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
+D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
+-----END CERTIFICATE-----
+
+StartCom Certification Authority G2
+===================================
+-----BEGIN CERTIFICATE-----
+MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
+U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
+RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE
+ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O
+o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG
+4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi
+Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul
+Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs
+O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H
+vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L
+nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS
+FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa
+z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ
+KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K
+2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk
+J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+
+JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG
+/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc
+nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld
+blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc
+l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm
+7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm
+obp573PYtlNXLfbQ4ddI
+-----END CERTIFICATE-----
+
+Buypass Class 2 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
+DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
+g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
+9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
+/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
+CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
+awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
+zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
+Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
+Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
+M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
+A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
+osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
+aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
+DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
+LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
+oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
+wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
+CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
+rJgWVqA=
+-----END CERTIFICATE-----
+
+Buypass Class 3 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
+DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH
+sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR
+5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh
+7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ
+ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
+2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV
+/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ
+RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA
+Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq
+j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
+cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G
+uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG
+Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8
+ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2
+KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
+6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug
+UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
+eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
+Cp/HuZc=
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 3
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
+MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
+9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
+NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
+iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
+0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
+AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
+fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
+ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
+P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
+e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
+-----END CERTIFICATE-----
+
+EE Certification Centre Root CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
+EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
+dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
+MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
+UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
+ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
+TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
+rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
+93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
+P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
+MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
+BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
+xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
+lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
+uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
+3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
+dcGWxZ0=
+-----END CERTIFICATE-----
+
+TURKTRUST Certificate Services Provider Root 2007
+=================================================
+-----BEGIN CERTIFICATE-----
+MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
+bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
+MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
+QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X
+DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl
+a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN
+BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
+bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N
+YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv
+KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya
+KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT
+rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC
+AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s
+Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I
+aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO
+Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb
+BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK
+poRq0Tl9
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
+Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE
+LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD
+ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA
+BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv
+KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z
+p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC
+AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ
+4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y
+eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw
+MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G
+PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw
+OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm
+2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
+o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV
+dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
+X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 EV 2009
+=================================
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS
+egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh
+zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T
+7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60
+sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35
+11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv
+cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v
+ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El
+MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp
+b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh
+c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+
+PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
+nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX
+ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA
+NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
+w9y4AyHqnxbxLFS1
+-----END CERTIFICATE-----
+
+PSCProcert
+==========
+-----BEGIN CERTIFICATE-----
+MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk
+ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ
+MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz
+dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl
+cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw
+IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw
+MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w
+DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD
+ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp
+Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC
+wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA
+3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh
+RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO
+EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2
+0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH
+0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU
+td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw
+Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp
+r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/
+AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz
+Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId
+xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp
+ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH
+EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h
+Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k
+ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG
+9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG
+MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG
+LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52
+ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy
+YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v
+Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o
+dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq
+T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN
+g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q
+uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1
+n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn
+FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo
+5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq
+3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5
+poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y
+eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
+-----END CERTIFICATE-----
+
+China Internet Network Information Center EV Certificates Root
+==============================================================
+-----BEGIN CERTIFICATE-----
+MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV
+BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D
+aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg
+Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG
+A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM
+PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl
+cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y
+jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV
+98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H
+klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23
+KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC
+7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD
+glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5
+0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM
+7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws
+ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0
+5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8=
+-----END CERTIFICATE-----
+
+Swisscom Root CA 2
+==================
+-----BEGIN CERTIFICATE-----
+MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG
+EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
+dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMjAeFw0xMTA2MjQwODM4MTRaFw0zMTA2
+MjUwNzM4MTRaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
+aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAyMIIC
+IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlUJOhJ1R5tMJ6HJaI2nbeHCOFvErjw0DzpPM
+LgAIe6szjPTpQOYXTKueuEcUMncy3SgM3hhLX3af+Dk7/E6J2HzFZ++r0rk0X2s682Q2zsKwzxNo
+ysjL67XiPS4h3+os1OD5cJZM/2pYmLcX5BtS5X4HAB1f2uY+lQS3aYg5oUFgJWFLlTloYhyxCwWJ
+wDaCFCE/rtuh/bxvHGCGtlOUSbkrRsVPACu/obvLP+DHVxxX6NZp+MEkUp2IVd3Chy50I9AU/SpH
+Wrumnf2U5NGKpV+GY3aFy6//SSj8gO1MedK75MDvAe5QQQg1I3ArqRa0jG6F6bYRzzHdUyYb3y1a
+SgJA/MTAtukxGggo5WDDH8SQjhBiYEQN7Aq+VRhxLKX0srwVYv8c474d2h5Xszx+zYIdkeNL6yxS
+NLCK/RJOlrDrcH+eOfdmQrGrrFLadkBXeyq96G4DsguAhYidDMfCd7Camlf0uPoTXGiTOmekl9Ab
+mbeGMktg2M7v0Ax/lZ9vh0+Hio5fCHyqW/xavqGRn1V9TrALacywlKinh/LTSlDcX3KwFnUey7QY
+Ypqwpzmqm59m2I2mbJYV4+by+PGDYmy7Velhk6M99bFXi08jsJvllGov34zflVEpYKELKeRcVVi3
+qPyZ7iVNTA6z00yPhOgpD/0QVAKFyPnlw4vP5w8CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
+HQYDVR0hBBYwFDASBgdghXQBUwIBBgdghXQBUwIBMBIGA1UdEwEB/wQIMAYBAf8CAQcwHQYDVR0O
+BBYEFE0mICKJS9PVpAqhb97iEoHF8TwuMB8GA1UdIwQYMBaAFE0mICKJS9PVpAqhb97iEoHF8Twu
+MA0GCSqGSIb3DQEBCwUAA4ICAQAyCrKkG8t9voJXiblqf/P0wS4RfbgZPnm3qKhyN2abGu2sEzsO
+v2LwnN+ee6FTSA5BesogpxcbtnjsQJHzQq0Qw1zv/2BZf82Fo4s9SBwlAjxnffUy6S8w5X2lejjQ
+82YqZh6NM4OKb3xuqFp1mrjX2lhIREeoTPpMSQpKwhI3qEAMw8jh0FcNlzKVxzqfl9NX+Ave5XLz
+o9v/tdhZsnPdTSpxsrpJ9csc1fV5yJmz/MFMdOO0vSk3FQQoHt5FRnDsr7p4DooqzgB53MBfGWcs
+a0vvaGgLQ+OswWIJ76bdZWGgr4RVSJFSHMYlkSrQwSIjYVmvRRGFHQEkNI/Ps/8XciATwoCqISxx
+OQ7Qj1zB09GOInJGTB2Wrk9xseEFKZZZ9LuedT3PDTcNYtsmjGOpI99nBjx8Oto0QuFmtEYE3saW
+mA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5Wt6NlUe07qxS/TFED6F+KBZvuim6c779o
++sjaC+NCydAXFJy3SuCvkychVSa1ZC+N8f+mQAWFBVzKBxlcCxMoTFh/wqXvRdpg065lYZ1Tg3TC
+rvJcwhbtkj6EPnNgiLx29CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX
+5OfNeOI5wSsSnqaeG8XmDtkx2Q==
+-----END CERTIFICATE-----
+
+Swisscom Root EV CA 2
+=====================
+-----BEGIN CERTIFICATE-----
+MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE
+BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl
+cnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290IEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcN
+MzEwNjI1MDg0NTA4WjBnMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsT
+HERpZ2l0YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYg
+Q0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7BxUglgRCgz
+o3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD1ycfMQ4jFrclyxy0uYAy
+Xhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPHoCE2G3pXKSinLr9xJZDzRINpUKTk4Rti
+GZQJo/PDvO/0vezbE53PnUgJUmfANykRHvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8Li
+qG12W0OfvrSdsyaGOx9/5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaH
+Za0zKcQvidm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHLOdAG
+alNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaCNYGu+HuB5ur+rPQa
+m3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f46Fq9mDU5zXNysRojddxyNMkM3Ox
+bPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCBUWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDi
+xzgHcgplwLa7JSnaFp6LNYth7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/
+BAQDAgGGMB0GA1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED
+MB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWBbj2ITY1x0kbB
+bkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6xXCX5145v9Ydkn+0UjrgEjihL
+j6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98TPLr+flaYC/NUn81ETm484T4VvwYmneTwkLbU
+wp4wLh/vx3rEUMfqe9pQy3omywC0Wqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7
+XwgiG/W9mR4U9s70WBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH
+59yLGn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm7JFe3VE/
+23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4Snr8PyQUQ3nqjsTzyP6Wq
+J3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VNvBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyA
+HmBR3NdUIR7KYndP+tiPsys6DXhyyWhBWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/gi
+uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW
+l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc=
+-----END CERTIFICATE-----
+
+CA Disig Root R1
+================
+-----BEGIN CERTIFICATE-----
+MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw
+EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
+ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx
+EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
+c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy
+3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8
+u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2
+m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk
+CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa
+YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6
+vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL
+LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX
+ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is
+XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ
+04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR
+xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B
+LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM
+CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb
+VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85
+YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS
+ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix
+lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N
+UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ
+a7+h89n07eLw4+1knj0vllJPgFOL
+-----END CERTIFICATE-----
+
+CA Disig Root R2
+================
+-----BEGIN CERTIFICATE-----
+MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw
+EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
+ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx
+EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
+c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC
+w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia
+xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7
+A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S
+GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV
+g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa
+5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE
+koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A
+Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i
+Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u
+Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM
+tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV
+sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je
+dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8
+1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx
+mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01
+utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0
+sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg
+UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV
+7+ZtsH8tZ/3zbBt1RqPlShfppNcL
+-----END CERTIFICATE-----
+
+ACCVRAIZ1
+=========
+-----BEGIN CERTIFICATE-----
+MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
+SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
+MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH
+UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM
+jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0
+RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD
+aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ
+0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG
+WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7
+8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR
+5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J
+9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK
+Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw
+Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu
+Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
+VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM
+Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA
+QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh
+AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA
+YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj
+AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA
+IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk
+aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0
+dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2
+MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI
+hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E
+R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN
+YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49
+nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ
+TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3
+sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
+I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg
+Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
+3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
+EfbRD0tVNEYqi4Y7
+-----END CERTIFICATE-----
+
+TWCA Global Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
+CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
+QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK
+EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg
+Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C
+nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV
+r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR
+Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV
+tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W
+KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99
+sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p
+yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn
+kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI
+zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g
+cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
+LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M
+8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg
+/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg
+lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP
+A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m
+i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
+EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
+zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
+-----END CERTIFICATE-----
+
+TeliaSonera Root CA v1
+======================
+-----BEGIN CERTIFICATE-----
+MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE
+CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4
+MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW
+VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+
+6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA
+3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k
+B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn
+Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH
+oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3
+F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ
+oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7
+gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc
+TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB
+AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW
+DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm
+zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx
+0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW
+pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV
+G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc
+c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT
+JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2
+qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6
+Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems
+WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
+-----END CERTIFICATE-----
+
+E-Tugra Certification Authority
+===============================
+-----BEGIN CERTIFICATE-----
+MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
+DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
+ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
+ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw
+NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx
+QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl
+cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD
+DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd
+hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K
+CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g
+ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ
+BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0
+E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz
+rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq
+jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
+rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5
+dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB
+/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG
+MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK
+kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO
+XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807
+VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo
+a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc
+dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV
+KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT
+Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0
+8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
+C7TbO6Orb1wdtn7os4I07QZcJA==
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 2
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx
+MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ
+SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F
+vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970
+2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV
+WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy
+YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4
+r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf
+vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
+3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
+9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
+-----END CERTIFICATE-----
+
+Atos TrustedRoot 2011
+=====================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
+cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
+MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG
+A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
+hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr
+54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+
+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320
+HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR
+z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R
+l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ
+bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
+CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h
+k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh
+TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
+61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
+3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 1 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE
+PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm
+PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6
+Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN
+ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l
+g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV
+7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX
+9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f
+iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg
+t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI
+hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC
+MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3
+GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct
+Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP
++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh
+3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa
+wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6
+O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0
+FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV
+hMJKzRwuJIczYOXD
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh
+ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY
+NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t
+oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o
+MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l
+V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo
+L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ
+sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD
+6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh
+lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI
+hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
+AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K
+pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9
+x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz
+dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X
+U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw
+mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD
+zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN
+JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr
+O3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286
+IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL
+Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe
+6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3
+I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U
+VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7
+5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi
+Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM
+dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt
+rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI
+hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px
+KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS
+t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ
+TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du
+DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib
+Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD
+hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX
+0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW
+dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2
+PpxxVJkES/1Y+Zj0
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw
+MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH
+35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq
+bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw
+VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP
+YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn
+lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO
+w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv
+0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz
+d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW
+hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M
+jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
+IhNzbM8m9Yop5w==
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
+VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ
+BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb
+RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs
+KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF
+UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy
+YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy
+1vUhZscv6pZjamVFkpUBtA==
+-----END CERTIFICATE-----
+
+DigiCert Global Root G2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx
+MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ
+kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO
+3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV
+BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM
+UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB
+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu
+5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr
+F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U
+WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH
+QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/
+iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
+MrY=
+-----END CERTIFICATE-----
+
+DigiCert Global Root G3
+=======================
+-----BEGIN CERTIFICATE-----
+MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD
+VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw
+MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k
+aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C
+AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O
+YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP
+BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp
+Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y
+3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34
+VOKa5Vt8sycX
+-----END CERTIFICATE-----
+
+DigiCert Trusted Root G4
+========================
+-----BEGIN CERTIFICATE-----
+MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
+HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G
+CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp
+pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o
+k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa
+vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY
+QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6
+MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm
+mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7
+f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH
+dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8
+oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
+DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
+ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY
+ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr
+yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy
+7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah
+ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN
+5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb
+/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa
+5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK
+G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP
+82Z+
+-----END CERTIFICATE-----
+
+WoSign
+======
+-----BEGIN CERTIFICATE-----
+MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG
+EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g
+QXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJ
+BgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
+vcqNrLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1UfcIiePyO
+CbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcSccf+Hb0v1naMQFXQoOXXDX
+2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2ZjC1vt7tj/id07sBMOby8w7gLJKA84X5
+KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4Mx1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR
++ScPewavVIMYe+HdVHpRaG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ez
+EC8wQjchzDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDaruHqk
+lWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221KmYo0SLwX3OSACCK2
+8jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvASh0JWzko/amrzgD5LkhLJuYwTKVY
+yrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWvHYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0C
+AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R
+8bNLtwYgFP6HEtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1
+LOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJMuYhOZO9sxXq
+T2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2eJXLOC62qx1ViC777Y7NhRCOj
+y+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VNg64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC
+2nz4SNAzqfkHx5Xh9T71XXG68pWpdIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes
+5cVAWubXbHssw1abR80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/
+EaEQPkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGcexGATVdVh
+mVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+J7x6v+Db9NpSvd4MVHAx
+kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi
+kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w==
+-----END CERTIFICATE-----
+
+WoSign China
+============
+-----BEGIN CERTIFICATE-----
+MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQG
+EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMMEkNBIOayg+mAmuagueiv
+geS5pjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMEYxCzAJBgNVBAYTAkNOMRowGAYD
+VQQKExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAwwSQ0Eg5rKD6YCa5qC56K+B5LmmMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0EkhHiX8h8EqwqzbdoYGTufQdDTc7WU1/FDWiD+k
+8H/rD195L4mx/bxjWDeTmzj4t1up+thxx7S8gJeNbEvxUNUqKaqoGXqW5pWOdO2XCld19AXbbQs5
+uQF/qvbW2mzmBeCkTVL829B0txGMe41P/4eDrv8FAxNXUDf+jJZSEExfv5RxadmWPgxDT74wwJ85
+dE8GRV2j1lY5aAfMh09Qd5Nx2UQIsYo06Yms25tO4dnkUkWMLhQfkWsZHWgpLFbE4h4TV2TwYeO5
+Ed+w4VegG63XX9Gv2ystP9Bojg/qnw+LNVgbExz03jWhCl3W6t8Sb8D7aQdGctyB9gQjF+BNdeFy
+b7Ao65vh4YOhn0pdr8yb+gIgthhid5E7o9Vlrdx8kHccREGkSovrlXLp9glk3Kgtn3R46MGiCWOc
+76DbT52VqyBPt7D3h1ymoOQ3OMdc4zUPLK2jgKLsLl3Az+2LBcLmc272idX10kaO6m1jGx6KyX2m
++Jzr5dVjhU1zZmkR/sgO9MHHZklTfuQZa/HpelmjbX7FF+Ynxu8b22/8DU0GAbQOXDBGVWCvOGU6
+yke6rCzMRh+yRpY/8+0mBe53oWprfi1tWFxK1I5nuPHa1UaKJ/kR8slC/k7e3x9cxKSGhxYzoacX
+GKUN5AXlK8IrC6KVkLn9YDxOiT7nnO4fuwECAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFOBNv9ybQV0T6GTwp+kVpOGBwboxMA0GCSqGSIb3DQEBCwUA
+A4ICAQBqinA4WbbaixjIvirTthnVZil6Xc1bL3McJk6jfW+rtylNpumlEYOnOXOvEESS5iVdT2H6
+yAa+Tkvv/vMx/sZ8cApBWNromUuWyXi8mHwCKe0JgOYKOoICKuLJL8hWGSbueBwj/feTZU7n85iY
+r83d2Z5AiDEoOqsuC7CsDCT6eiaY8xJhEPRdF/d+4niXVOKM6Cm6jBAyvd0zaziGfjk9DgNyp115
+j0WKWa5bIW4xRtVZjc8VX90xJc/bYNaBRHIpAlf2ltTW/+op2znFuCyKGo3Oy+dCMYYFaA6eFN0A
+kLppRQjbbpCBhqcqBT/mhDn4t/lXX0ykeVoQDF7Va/81XwVRHmyjdanPUIPTfPRm94KNPQx96N97
+qA4bLJyuQHCH2u2nFoJavjVsIE4iYdm8UXrNemHcSxH5/mc0zy4EZmFcV5cjjPOGG0jfKq+nwf/Y
+jj4Du9gqsPoUJbJRa4ZDhS4HIxaAjUz7tGM7zMN07RujHv41D198HRaG9Q7DlfEvr10lO1Hm13ZB
+ONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Leie2uPAmvylezkolwQOQv
+T8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR12KvxAmLBsX5VYc8T1yaw15zLKYs4SgsO
+kI26oQ==
+-----END CERTIFICATE-----
diff --git a/library/certs/comodo.pem b/library/certs/comodo.pem
new file mode 100644
index 000000000..67de1292c
--- /dev/null
+++ b/library/certs/comodo.pem
@@ -0,0 +1,92 @@
+-----BEGIN CERTIFICATE-----
+MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCB
+hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
+A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
+BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMjEy
+MDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
+EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
+Q09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZh
+bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAI7CAhnhoFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28Sh
+bXcDow+G+eMGnD4LgYqbSRutA776S9uMIO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0
+Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4TgllfQcBhglo/uLQeTnaG6
+ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh7lgUq/51
+UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0n
+c13cRTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQY
+MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz
+30O0Oija5zAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
+HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgG
+BmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNv
+bS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB
+AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9E
+T1JTQUFkZFRydXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v
+ZG9jYS5jb20wDQYJKoZIhvcNAQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2p
+mj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/
+e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsItG8kO3KdY3RYPBps
+P0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdoltMY
+dVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc
+2bXhc3js9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxG
+V/Iz2tDIY+3GH5QFlkoakdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4
+HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBmGqW5prU5wfWYQ//u+aen/e7KJD2AFsQX
+j4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODcQgPmlKidrv0PJFGUzpII
+0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje3WYkN5Ap
+lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf
++AZxAeKCINT+b72x
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
+MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
+ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
+eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
+gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
+BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
+VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
+hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
+AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
+2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
+ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
+4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
+m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
+vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
+8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
+IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
+KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
+GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
+s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
+JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
+AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
+MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
+bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
+Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
+zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
+Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
+Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
+B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
+PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
+pu/xO28QOG8=
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
+MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
+IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
+MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
+FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
+bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
+dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
+H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
+uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
+mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
+a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
+E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
+WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
+VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
+Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
+cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
+IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
+AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
+YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
+6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
+Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
+c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
+mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
+-----END CERTIFICATE-----
diff --git a/library/colorbox/README.md b/library/colorbox/README.md
index bc002381e..5e7c1a379 100644
--- a/library/colorbox/README.md
+++ b/library/colorbox/README.md
@@ -1,11 +1,231 @@
-## About ColorBox:
+## About Colorbox:
A customizable lightbox plugin for jQuery. See the [project page](http://jacklmoore.com/colorbox/) for documentation and a demonstration, and the [FAQ](http://jacklmoore.com/colorbox/faq/) for solutions and examples to common issues. Released under the [MIT license](http://www.opensource.org/licenses/mit-license.php).
-## Translations Welcome
-Send me your language configuration files. See /i18n/jquery.colorbox-de.js as an example.
-
## Changelog:
+### Version 1.5.14 - 2014/9/9
+
+* When opening, append Colorbox to the DOM if it was detached for whatever reason. Fixes #645.
+
+### Version 1.5.13 - 2014/8/4
+
+* Fixed regression introduced with v1.5.12 with legacy versions of jQuery (1.3x-1.6x). References #628.
+
+### Version 1.5.12 - 2014/7/31
+
+* Allowed setting the overlay opacity via CSS, by setting Colorbox's opacity property to false. References #628.
+
+### Version 1.5.11 - 2014/7/31
+
+* Fixed bug where setting opacity to 0 was ignored. Fixes #628.
+
+### Version 1.5.10 - 2014/6/26
+
+* Minor misc. tweaks (merging pull requests #611, #612, #615, #619, #620).
+
+### Version 1.5.9 - 2014/4/25
+
+* Fixed inline content bug when using child selectors. Fixes #599
+
+### Version 1.5.8 - 2014/4/15
+
+* Fixed accidental leak of global variable. References #591
+* Enabled strict mode. Fixes #597
+
+### Version 1.5.7 - 2014/4/15
+
+* Fix potential error when calling Colorbox directly. References #591
+* Potentially worked around browser limitation of reporting that an image height and width is 0 immediately after onload. Fixes #535
+
+### Version 1.5.6 - 2014/4/4
+
+* Applied maxWidth and maxHeight to the initialWidth and initialHeight. Fixes #391
+
+### Version 1.5.5 - 2014/3/13
+
+* Allow setting the overlay opacity through CSS, rather than having to use Colorbox's opacity property. Fixes #580
+
+### Version 1.5.4 - 2014/3/7
+
+* Fixed potential issue where IE9+ wouldn't close the modal when clicking on the overlay. Fixes #576
+
+### Version 1.5.3 - 2014/3/4
+
+* Added access to settings object in callbacks.
+
+### Version 1.5.2 - 2014/2/28
+
+* Added svg to image types regex.
+
+### Version 1.5.1 - 2014/2/27
+
+* Fixed regression that broke direct calls to Colorbox, ie. $.colorbox(…)
+
+### Version 1.5.0 - 2014/2/27
+
+* Changed when the className is applied: immediately on open, but only updated immediately prior to transition. Fixes #565
+* Fixed potential style flash if #cboxLoadedContent is given a background. Fixes #567
+* Misc. code cleanup
+
+### Version 1.4.37 - 2014/2/11
+
+* Fixed potential error when resizing. Fixes #254
+* Added Microsoft's JPEG XR to photo detection regex.
+
+### Version 1.4.33 - 2013/10/31
+
+* Fixed an issue where private events propagated to the document in versions of jQuery prior to 1.7. Fixes #525, Fixes #526
+
+### Version 1.4.32 - 2013/10/16
+
+* Updated stylesheets to avoid issue with using `div {max-width:100%}` (Fixes #520)
+
+### Version 1.4.31 - 2013/9/25
+
+* Used setAttribute to set londesc, so that the value is accessible via DOM Node longDesc property #508
+
+### Version 1.4.30 - 2013/9/24
+
+* Added longdesc and aria-describedby attributes to photos. Fixes #508
+
+### Version 1.4.29 - 2013/9/10
+
+* Fixed a slideshow regression from 1.4.27
+* Fixed a potential issue with the starting size of #cboxLoadedContent
+
+### Version 1.4.28 - 2013/9/4
+
+* Fixed a potential issue with using the open property with mixed slideshow and non-slideshow groups
+
+### Version 1.4.27 - 2013/7/16
+
+* Fixed a width calculation issue relating to using margin:auto on #cboxLoadedContent.
+
+### Version 1.4.26 - 2013/6/30
+
+* Fixed a regression in IE7 and IE8 that was causing an error.
+
+### Version 1.4.25 - 2013/6/28
+
+* Use an animation speed of zero between same-sized content (fixed).
+* Removed temporary fix for jQuery UI 1.8
+
+### Version 1.4.24 - 2013/6/24
+
+* Added closeButton option. Set to false to remove the close button.
+
+### Version 1.4.23 - 2013/6/23
+
+* Bugfix loading overlay/graphic append order
+
+### Version 1.4.22 - 2013/6/19
+
+* Updated manifest files for the jQuery plugin repository and Bower (no changes to plugin)
+
+### Version 1.4.21 - 2013/6/6
+
+* Replaced new Image() with document.createElement('img') to avoid a potential bug in Chrome 27.
+
+### Version 1.4.20 - 2013/6/5
+
+* Fixing bug/typo from last update.
+
+### Version 1.4.19 - 2013/6/3
+
+* Fixed bug where Colorbox was capturing ctrl+click on assigned links on windows browsers with jQuery 1.7+, rather than ignoring.
+
+### Version 1.4.18 - 2013/5/30
+
+* Fixed a scroll position issue when using $.colorbox.resize()
+
+### Version 1.4.17 - 2013/5/23
+
+* Possible fix for a Chrome 27 issue (https://github.com/jackmoore/colorbox/pull/438#issuecomment-18334804)
+
+### Version 1.4.16 - 2013/5/20
+
+* Added trapFocus setting to allow disabling of focus trapping
+
+### Version 1.4.15 - 2013/4/22
+
+* Added .webp to list of recognized image extensions
+
+### Version 1.4.14 - 2013/4/16
+
+* Added fadeOut property to control the closing fadeOut speed.
+* Removed longdesc attribute for now.
+
+### Version 1.4.13 - 2013/4/11
+
+* Fixed an error involving IE7/IE8 and legacy versions of jQuery
+
+### Version 1.4.12 - 2013/4/9
+
+* Fixed a potential conflict with Twitter Bootstrap default img styles.
+
+### Version 1.4.11 - 2013/4/9
+
+* Added `type='button'` to buttons to prevent accidental form submission
+* Added alt and longdesc attributes to photo content if they are present on the calling element.
+
+### Version 1.4.10 - 2013/4/2
+
+* Better 'old IE' feature detection that fixes an error with jQuery 2.0.0pre.
+
+### Version 1.4.9 - 2013/4/2
+
+* Fixes bug introduced in previous version.
+
+### Version 1.4.8 - 2013/4/2
+
+* Dropped IE6 support.
+* Fixed other issues with $.colorbox.remove.
+
+### Version 1.4.7 - 2013/4/1
+
+* Prevented an error if $.colorbox.remove is called during the transition.
+
+### Version 1.4.6 - 2013/3/19
+
+* Minor change to work around a jQuery 1.4.2 bug for legacy users.
+
+### Version 1.4.5 - 2013/3/10
+
+* Minor change to apply the close and className properties sooner.
+
+### Version 1.4.4 - 2013/3/10
+
+* Fixed an issue with percent-based heights in iOS
+* Fixed an issue with ajax requests being applied at the wrong time.
+
+### Version 1.4.3 - 2013/2/18
+
+* Made image preloading aware of retina settings.
+
+### Version 1.4.2 - 2013/2/18
+
+* Removed $.contains for compatibility with jQuery 1.3.x
+
+### Version 1.4.1 - 2013/2/14
+
+* Ignored left and right arrow keypresses if combined with the alt key.
+
+### Version 1.4.0 - 2013/2/12
+
+* Better accessibility:
+ * Replaced div controls with buttons
+ * Tabbed navigation confined to modal window
+ * Added aria role
+
+### Version 1.3.34 - 2013/2/4
+
+* Updated manifest for plugins.jquery.com
+
+### Version 1.3.33 - 2013/2/4
+
+* Added retina display properties: retinaImage, retinaUrl, retinaSuffix
+* Fixed iframe scrolling on iOS devices.
+
### Version 1.3.32 - 2013/1/31
* Improved internal event subscribing & fixed event bug introduced in v1.3.21
@@ -16,7 +236,7 @@ Send me your language configuration files. See /i18n/jquery.colorbox-de.js as a
### Version 1.3.30 - 2013/1/25
-* Delayed border-width calculations until after opening, to avoid a bug in FF when using ColorBox in a hidden iframe.
+* Delayed border-width calculations until after opening, to avoid a bug in FF when using Colorbox in a hidden iframe.
### Version 1.3.29 - 2013/1/24
@@ -44,7 +264,7 @@ Send me your language configuration files. See /i18n/jquery.colorbox-de.js as a
### Version 1.3.23 - 2013/1/18
-* Minor bugfix for calling ColorBox on empty jQuery collections without a selector.
+* Minor bugfix for calling Colorbox on empty jQuery collections without a selector.
### Version 1.3.22 - 2013/1/17
@@ -53,7 +273,7 @@ Send me your language configuration files. See /i18n/jquery.colorbox-de.js as a
### Version 1.3.21 - 2013/1/15
Files Changed: *.js
-* Fixed compatability issues with jQuery 1.9
+* Fixed compatibility issues with jQuery 1.9
### Version 1.3.20 - August 15 2012
Files Changed:jquery.colorbox.js
@@ -72,8 +292,8 @@ Files Changed:jquery.colorbox.js, colorbox.css (all)
### Version 1.3.18 - October 07 2011
Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and example 1's controls.png
-* Fixed a regression where Flash content displayed in ColorBox would be reloaded if the browser window was resized.
-* Added safety check to make sure that ColorBox's markup is only added to the DOM a single time, even if $.colorbox.init() is called multiple times. This will allow site owners to manually initialize ColorBox if they need it before the DOM has finished loading.
+* Fixed a regression where Flash content displayed in Colorbox would be reloaded if the browser window was resized.
+* Added safety check to make sure that Colorbox's markup is only added to the DOM a single time, even if $.colorbox.init() is called multiple times. This will allow site owners to manually initialize Colorbox if they need it before the DOM has finished loading.
* Updated the example index.html files to be HTML5 compliant.
* Changed the slideshow behavior so that it immediately moves to the next slide when the slideshow is started.
* Minor regex bugfix to allow automatic detection of image URLs that include fragments.
@@ -82,8 +302,8 @@ Files Changed:jquery.colorbox.js/jquery.colorbox-min.js, colorbox.css (all) and
Files Changed:jquery.colorbox.js/jquery.colorbox-min.js
* Added properties "top", "bottom", "left" and "right" to specify a position relative to the viewport, rather than using the default centering.
-* Added property "data" to specify GET or POST data when using Ajax. ColorBox's ajax functionality is handled by jQuery's .load() method, so the data property works the same way as it does with .load().
-* Added property "fixed" which can provide fixed positioning for ColorBox, rather than absolute positioning. This will allow ColorBox to remain in a fixed position within the visitors viewport, despite scrolling. IE6 support for this was not added, it will continue to use the default absolute positioning.
+* Added property "data" to specify GET or POST data when using Ajax. Colorbox's ajax functionality is handled by jQuery's .load() method, so the data property works the same way as it does with .load().
+* Added property "fixed" which can provide fixed positioning for Colorbox, rather than absolute positioning. This will allow Colorbox to remain in a fixed position within the visitors viewport, despite scrolling. IE6 support for this was not added, it will continue to use the default absolute positioning.
* Fixed ClearType problem with IE7.
* Minor fixes.
@@ -109,7 +329,7 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Changed the index.html example files to use YouTube's new embedded link format.
-* By default, ColorBox returns focus to the element it was launched from once it closes. This can now be disabled by setting the 'returnFocus' property to false. Focus was causing problems for some users who had their anchor elements inside animated containers.
+* By default, Colorbox returns focus to the element it was launched from once it closes. This can now be disabled by setting the 'returnFocus' property to false. Focus was causing problems for some users who had their anchor elements inside animated containers.
* Minor bug fix involved in using a combination of slideshow and non-slideshow content.
### Version 1.3.12 - October 20 2010
@@ -129,8 +349,8 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Fixed compatibility with jQuery 1.4.3
* The 'open' property now accepts a function as a value, like all of the other properties.
* Preloading now loads the correct href for images when using a dynamic (function) value for the href property.
-* Fixed bug in Safari 3 for Win where ColorBox centered on the document, rather than the visitor's viewport.
-* May have fixed an issue in Opera 10.6+ where ColorBox would rarely/randomly freeze up while switching between photos in a group.
+* Fixed bug in Safari 3 for Win where Colorbox centered on the document, rather than the visitor's viewport.
+* May have fixed an issue in Opera 10.6+ where Colorbox would rarely/randomly freeze up while switching between photos in a group.
* Some functionality better encapsulated & minor performance improvements.
### Version 1.3.9 - July 7 2010
@@ -145,7 +365,7 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Fixed a bug in Chrome where it would sometimes render photos at 0 by 0 width and height (behavior introduced in recent update to Chrome).
* Fixed a bug where the onClosed callback would fire twice (only affected 1.3.7).
-* Fixed a bug in IE7 that existed with some iframed websites that use JS to reposition the viewport caused ColorBox to move out of position.
+* Fixed a bug in IE7 that existed with some iframed websites that use JS to reposition the viewport caused Colorbox to move out of position.
* Abstracted the identifiers (HTML ids & classes, and JS plugin name, method, and events) so that the plugin can be easily rebranded.
* Small changes to improve either code readability or compression.
@@ -156,7 +376,7 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/index.html
* Resize now accepts 'width', 'innerWidth', 'height' and 'innerHeight'. Example: $.colorbox.resize({width:"100%"})
* Added option (loop:false) to disable looping in a group.
* Added options (escKey:false, arrowKey:false) to disable esc-key and arrow-key bindings.
-* Added method for removing ColorBox from a document: $.colorbox.remove();
+* Added method for removing Colorbox from a document: $.colorbox.remove();
* Fixed a bug where iframed URLs would be truncated if they contained an unencoded apostrophe.
* Now uses the exact href specified on an anchor, rather than the version returned by 'this.href'. This was causing "#example" to be normalized to "http://domain/#example" which interfered with how some users were setting up links to inline content.
* Changed example documents over to HTML5.
@@ -164,7 +384,7 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/index.html
### Version 1.3.6 - Jan 13 2010
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
-* Small change to make ColorBox compatible with jQuery 1.4
+* Small change to make Colorbox compatible with jQuery 1.4
### Version 1.3.5 - December 15 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
@@ -176,27 +396,27 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
### Version 1.3.4 - December 5 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
-* Event delegation is now used for elements that ColorBox is assigned to, rather than individual click events.
-* Additional callbacks have been added to represent other stages of ColorBox's lifecycle. Available callbacks, in order of their execution: onOpen, onLoad, onComplete, onCleanup, onClosed These take place at the same time as the event hooks, but will be better suited than the hooks for targeting specific instances of ColorBox.
+* Event delegation is now used for elements that Colorbox is assigned to, rather than individual click events.
+* Additional callbacks have been added to represent other stages of Colorbox's lifecycle. Available callbacks, in order of their execution: onOpen, onLoad, onComplete, onCleanup, onClosed These take place at the same time as the event hooks, but will be better suited than the hooks for targeting specific instances of Colorbox.
* Ajax content is now immediately added to the DOM to be more compatible if that content contains script tags.
* Focus is now returned to the calling element on closing.
* Fixed a bug where maxHeight and maxWidth did not work for non-photo content.
-* Direct calls no longer need 'open:true', it is assumed. Example: `$.fn.colorbox({html:'<p>Hi</p>'});`
+* Direct calls no longer need 'open:true', it is assumed. Example: `$.colorbox({html:'<p>Hi</p>'});`
### Version 1.3.3 - November 7 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
-* Changed $.fn.colorbox.element() to return a jQuery object rather the DOM element.
+* Changed $.colorbox.element() to return a jQuery object rather the DOM element.
* jQuery.colorbox-min.js is compressed with Google's Closure Compiler rather than YUI Compressor.
### Version 1.3.2 - October 27 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
-* Added 'innerWidth' and 'innerHeight' options to allow people to easily set the size dimensions for ColorBox, without having to anticipate the size of the borders and buttons.
+* Added 'innerWidth' and 'innerHeight' options to allow people to easily set the size dimensions for Colorbox, without having to anticipate the size of the borders and buttons.
* Renamed 'scrollbars' option to 'scrolling' to be in keeping with the existing HTML attribute. The option now also applies to iframes.
* Bug fix: In Safari, positioning occassionally incorrect when using '100%' dimensions.
* Bug fix: In IE6, the background overlay is briefly not full size when first viewing.
-* Bug fix: In Firefox, opening ColorBox causes a split second shift with a small minority of webpage layouts.
+* Bug fix: In Firefox, opening Colorbox causes a split second shift with a small minority of webpage layouts.
* Simplified code in a few areas.
### Version 1.3.1 - September 16 2009
@@ -208,11 +428,11 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css/colorbox-i
### Version 1.3.0 - September 15 2009
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js/colorbox.css
-* Added $.fn.colorbox.resize() method to allow ColorBox to resize it's height if it's contents change.
+* Added $.colorbox.resize() method to allow Colorbox to resize it's height if it's contents change.
* Added 'scrollbars' option to allow users to turn off scrollbars when using the resize() method.
* Renamed the 'resize' option to be less ambiguous. It's now 'scalePhotos'.
* Renamed the 'cbox_close' event to be less ambiguous. It's now 'cbox_cleanup'. It is the first thing to happen in the close method while the 'cbox_closed' event is the last to happen.
-* Fixed a bug with the slideshow mouseover graphics that appeared after ColorBox is opened a 2nd time.
+* Fixed a bug with the slideshow mouseover graphics that appeared after Colorbox is opened a 2nd time.
* Fixed a bug where ClearType may not work in IE6&7 if using the fade transition.
* Minor code optimizations to increase compression.
@@ -233,12 +453,12 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js, example stylesheets and background images (core styles have not changed and the updates will not affect existing user themes / old example themes)
* Code cleanup and reduction, better organization and documentation in the full source.
-* Added ability to use functions in place of static values for ColorBox's options (thanks Ken!).
-* Added an option for straight HTML. Example: `$.fn.colorbox({html:'<p>Howdy</p>', open:true})`
-* Added an event for the beginning of the closing process. This is in addition to the event that already existed for when ColorBox had completely closed. 'cbox_close' and 'cbox_closed' respectively.
-* Fixed a minor bug in IE6 that would cause a brief content shift in the parent document when opening ColorBox.
-* Fixed a minor bug in IE6 that would reveal select elements that had a hidden visibility after closing ColorBox.
-* The 'esc' key is unbound now when ColorBox is not open, to avoid any potential conflicts.
+* Added ability to use functions in place of static values for Colorbox's options (thanks Ken!).
+* Added an option for straight HTML. Example: `$.colorbox({html:'<p>Howdy</p>', open:true})`
+* Added an event for the beginning of the closing process. This is in addition to the event that already existed for when Colorbox had completely closed. 'cbox_close' and 'cbox_closed' respectively.
+* Fixed a minor bug in IE6 that would cause a brief content shift in the parent document when opening Colorbox.
+* Fixed a minor bug in IE6 that would reveal select elements that had a hidden visibility after closing Colorbox.
+* The 'esc' key is unbound now when Colorbox is not open, to avoid any potential conflicts.
* Used background sprites for examples 1 & 4. Put IE-only (non-sprite) background images in a separate folder.
* Example themes 1, 3, & 4 received slight visual tweaks.
* Optimized pngs for smaller file size.
@@ -248,8 +468,8 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js, example stylesheets an
Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
* Fixed a bug with fixed width/height images in Opera 9.64.
-* Fixed a bug with trying to set a value for rel during a direct call to ColorBox. Example: `$.fn.colorbox({rel:'foo', open:true});`
-* Changed how href/rel/title settings are determined to avoid users having to manually update ColorBox settings if they use JavaScript to update any of those attributes, after ColorBox has been defined.
+* Fixed a bug with trying to set a value for rel during a direct call to Colorbox. Example: `$.colorbox({rel:'foo', open:true});`
+* Changed how href/rel/title settings are determined to avoid users having to manually update Colorbox settings if they use JavaScript to update any of those attributes, after Colorbox has been defined.
* Fixed a FF3 bug where the back button was disabled after closing an iframe.
### Version 1.2.5 - June 23 2009
@@ -261,13 +481,13 @@ Files Changed: jquery.colorbox.js/jquery.colorbox-min.js
### Version 1.2.4 - June 9 2009
Files Changed: jquery.colorbox.js, jquery.colorbox-min.js
-* Fixed an issue where ColorBox may not close completely if it is closed during a transition animation.
+* Fixed an issue where Colorbox may not close completely if it is closed during a transition animation.
* Minor code reduction.
### Version 1.2.3 - June 4 2009
* Fixed a png transparency stacking issue in IE.
* More accurate Ajax auto-sizing if the user was depending on the #cboxLoadedContent ID for CSS styling.
-* Added a public function for returning the current html element that ColorBox is associated with. Example use: var that = $.fn.colorbox.element();
+* Added a public function for returning the current html element that Colorbox is associated with. Example use: var that = $.colorbox.element();
* Added bicubic scaling for resized images in the original IE7.
* Removed the IE6 stylesheet and png files from Example 3. It now uses the same png file for the controls that the rest of the browsers use (an alpha transparency PNG8). This example now only has 2 graphics files and 1 stylesheet.
@@ -277,19 +497,19 @@ Files Changed: jquery.colorbox.js, jquery.colorbox-min.js
### Version 1.2.1 - May 28 2009
* Note: If you are upgrading, update your jquery.colorbox.js and colorbox.css files.
* Added photo resizing.
-* Added a maximum width and maximum height. Example: {height:800, maxHeight:'100%'}, would allow the box to be a maximum potential height of 800px, instead of a fixed height of 800px. With maxHeight of 100% the height of ColorBox cannot exceed the height of the browser window.
-* Added 'rel' setting to add the ability to set an alternative rel for any ColorBox call. This allows the user to group any combination of elements together for a gallery, or to override an existing rel. attribute so those element are not grouped together, without having to alter their rel in the HTML.
-* Added a 'photo' setting to force ColorBox to display a link as a photo. Use this when automatic photo detection fails (such as using a url like 'photo.php' instead of 'photo.jpg', 'photo.jpg#1', or 'photo.jpg?pic=1')
-* Removed the need to ever create disposable elements to call colorbox on. ColorBox can now be called directly, without being associated with any existing element, by using the following format:
- `$.fn.colorbox({open:true, href:'yourLink.xxx'});`
-* ColorBox settings are now persistent and unique for each element. This allows for extremely flexible options for individual elements. You could use this to create a gallery in which each page in the gallery has different settings. One could be a photo with a fade transition, next could be an inline element with an elastic transition with a set width and height, etc.
+* Added a maximum width and maximum height. Example: {height:800, maxHeight:'100%'}, would allow the box to be a maximum potential height of 800px, instead of a fixed height of 800px. With maxHeight of 100% the height of Colorbox cannot exceed the height of the browser window.
+* Added 'rel' setting to add the ability to set an alternative rel for any Colorbox call. This allows the user to group any combination of elements together for a gallery, or to override an existing rel. attribute so those element are not grouped together, without having to alter their rel in the HTML.
+* Added a 'photo' setting to force Colorbox to display a link as a photo. Use this when automatic photo detection fails (such as using a url like 'photo.php' instead of 'photo.jpg', 'photo.jpg#1', or 'photo.jpg?pic=1')
+* Removed the need to ever create disposable elements to call colorbox on. Colorbox can now be called directly, without being associated with any existing element, by using the following format:
+ `$.colorbox({open:true, href:'yourLink.xxx'});`
+* Colorbox settings are now persistent and unique for each element. This allows for extremely flexible options for individual elements. You could use this to create a gallery in which each page in the gallery has different settings. One could be a photo with a fade transition, next could be an inline element with an elastic transition with a set width and height, etc.
* For user callbacks, 'this' now refers to the element colorbox was opened from.
* Fixed a minor grouping issue with IE6, when transition type is set to 'none'.
* Added an Adobe Illustrator file that contains the borders and buttons used in the various examples.
### Version 1.2 - May 13 2009
* Added a slideshow feature.
-* Added re-positioning on browser resize. If the browser is resized, ColorBox will recenter itself onscreen.
+* Added re-positioning on browser resize. If the browser is resized, Colorbox will recenter itself onscreen.
* Added hooks for key events: cbox_open, cbox_load, cbox_complete, cbox_closed.
* Fixed an IE transparency-stacking problem, where transparent PNGs would show through to the background overlay.
* Fixed an IE iframe issue where the ifame might shift up and to the left under certain circumstances.
@@ -299,54 +519,54 @@ Files Changed: jquery.colorbox.js, jquery.colorbox-min.js
* Changed how the JS is structured to be better organized and increase compression. Increased documentation.
* Changed CSS :hover states to a .hover class. This sidesteps a minor IE8 bug with css hover states and allows easier access to hover state user styles from the JavaScript.
* Changed: elements added to the DOM have new ID's. The naming is more consistent and less likely to cause conflicts with existing website stylesheets. All stylesheets have been updated.
-* Changed the behavior for prev/next links so that ColorBox does not get hung up on broken links. A visitor can now skip through broken or long-loading links by clicking prev/next buttons.
+* Changed the behavior for prev/next links so that Colorbox does not get hung up on broken links. A visitor can now skip through broken or long-loading links by clicking prev/next buttons.
* Changed the naming of variables in the parameter map to be more concise and intuitive.
* Removed colorbox.css. Combined the colorbox.css styles with jquery.colorbox.js: the css file was not large enough to warrant being a separate file.
### Version 1.1.6 - April 28 2009
* Prevented the default action of the next & previous anchors and the left and right keys for gallery mode.
-* Fixed a bug where the title element was being added back to the DOM when closing ColorBox while using inline content.
+* Fixed a bug where the title element was being added back to the DOM when closing Colorbox while using inline content.
* Fixed a bug where IE7 would crash for example 2.
* Smaller filesize: removed a small amount of unused code and rewrote the HTML injection with less syntax.
-* Added a public method for closing ColorBox: $.fn.colorbox.close(). This will allow iframe users to add an event to close ColorBox without having to create an additional function.
+* Added a public method for closing Colorbox: $.colorbox.close(). This will allow iframe users to add an event to close Colorbox without having to create an additional function.
### Version 1.1.5 - April 11 2009
-* Fixed minor issues with exiting ColorBox.
+* Fixed minor issues with exiting Colorbox.
### Version 1.1.4 - April 08 2009
-* Fixed a bug in the fade transition where ColorBox not close completely if instructed to close during the fade-in portion of the transition.
+* Fixed a bug in the fade transition where Colorbox not close completely if instructed to close during the fade-in portion of the transition.
### Version 1.1.3 - April 06 2009
-* Fixed an IE6&7 issue with using ColorBox to display animated GIFs.
+* Fixed an IE6&7 issue with using Colorbox to display animated GIFs.
### Version 1.1.2 - April 05 2009
-* Added ability to change content when ColorBox is already open.
+* Added ability to change content when Colorbox is already open.
* Added vertical photo centering now works for all browsers (this feature previously excluded IE6&7).
* Added namespacing to the esc-key keydown event for people who want to disable it: "keydown.colorClose"
-* Added 'title' setting to add the ability to set an alternative title for any ColorBox call.
+* Added 'title' setting to add the ability to set an alternative title for any Colorbox call.
* Fixed rollover navigation issue with IE8. (Added JS-based rollover state due to a browser-bug.)
* Fixed an overflow issue for when the fixed width/height is smaller than the size of a photo.
-* Fixed a bug in the fade transition where the border would still come up if ColorBox was closed mid-transition.
+* Fixed a bug in the fade transition where the border would still come up if Colorbox was closed mid-transition.
* Switch from JSMin to Yui Compressor for minification. Minified code now under 7KB.
### Version 1.1.1 - March 31 2009
* More robust image detection regex. Now detects image file types with url fragments and/or query strings.
* Added 'nofollow' exception to rel grouping.
-* Changed how images are loaded into the DOM to prevent premature size calculation by ColorBox.
+* Changed how images are loaded into the DOM to prevent premature size calculation by Colorbox.
* Added timestamp to iframe name to prevent caching - this was a problem in some browsers if the user had multiple iframes and the visitor left the page and came back, or if they refreshed the page.
### Version 1.1.0 - March 21 2009
* Animation is now much smoother and less resource intensive.
* Added support for % sizing.
* Callback option added.
-* Inline content now preserves JavaScript events, and changes made while ColorBox is open are also preserved.
-* Added 'href' setting to add the ability to set an alternative href for any anchor, or to assign the ColorBox event to non-anchors.
+* Inline content now preserves JavaScript events, and changes made while Colorbox is open are also preserved.
+* Added 'href' setting to add the ability to set an alternative href for any anchor, or to assign the Colorbox event to non-anchors.
Example: $('button').colorbox({'href':'process.php'})
Example: $('a[href='http://msn.com']).colorbox({'href':'http://google.com', iframe:true});
* Photos are now horizontally centered if they are smaller than the lightbox size. Also vertically centered for browsers newer than IE7.
* Buttons in the examples are now included in the 'protected zone'. The lightbox will never expand it's borders or buttons beyond an accessible area of the screen.
* Keypress events don't queue up by holding down the arrow keys.
-* Added option to close ColorBox by clicking on the background overlay.
+* Added option to close Colorbox by clicking on the background overlay.
* Added 'none' transition setting.
* Changed 'contentIframe' and 'contentInline' to 'inline' and 'iframe'. Removed 'contentAjax' because it is automatically assumed for non-image file types.
* Changed 'contentWidth' and 'contentHeight' to 'fixedWidth' and 'fixedHeight'. These sizes now reflect the total size of the lightbox, not just the inner content. This is so users can accurately anticipate % sizes without fear of creating scrollbars.
diff --git a/library/colorbox/bower.json b/library/colorbox/bower.json
new file mode 100644
index 000000000..6cdfb9bab
--- /dev/null
+++ b/library/colorbox/bower.json
@@ -0,0 +1,42 @@
+{
+ "name": "jquery-colorbox",
+ "description": "jQuery lightbox and modal window plugin",
+ "version": "1.5.14",
+ "dependencies": {
+ "jquery": ">=1.3.2"
+ },
+ "keywords": [
+ "modal",
+ "lightbox",
+ "window",
+ "popup",
+ "ui",
+ "jQuery",
+ "jquery-plugin"
+ ],
+ "authors": [
+ {
+ "name": "Jack Moore",
+ "url": "http://www.jacklmoore.com",
+ "email": "hello@jacklmoore.com"
+ }
+ ],
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://www.opensource.org/licenses/mit-license.php"
+ }
+ ],
+ "homepage": "http://www.jacklmoore.com/colorbox",
+ "main": "jquery.colorbox.js",
+ "ignore": [
+ "colorbox.jquery.json",
+ "colorbox.ai",
+ "content",
+ "example1/index.html",
+ "example2/index.html",
+ "example3/index.html",
+ "example4/index.html",
+ "example5/index.html"
+ ]
+} \ No newline at end of file
diff --git a/library/colorbox/colorbox.css b/library/colorbox/colorbox.css
deleted file mode 100644
index 544a76f3b..000000000
--- a/library/colorbox/colorbox.css
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- ColorBox Core Style:
- The following CSS is consistent between example themes and should not be altered.
-*/
-#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
-#cboxOverlay{position:fixed; width:100%; height:100%;}
-#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
-#cboxContent{position:relative;}
-#cboxLoadedContent{overflow:auto;}
-#cboxTitle{margin:0;}
-#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
-#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
-.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
-.cboxIframe{width:100%; height:100%; display:block; border:0;}
-#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
-
-/*
- User Style:
- Change the following styles to modify the appearance of ColorBox. They are
- ordered & tabbed in a way that represents the nesting of the generated HTML.
-*/
-#cboxOverlay{background:#000;}
-#colorbox{}
- #cboxTopLeft{width:14px; height:14px; background:url(images/controls.png) no-repeat 0 0;}
- #cboxTopCenter{height:14px; background:url(images/border.png) repeat-x top left;}
- #cboxTopRight{width:14px; height:14px; background:url(images/controls.png) no-repeat -36px 0;}
- #cboxBottomLeft{width:14px; height:43px; background:url(images/controls.png) no-repeat 0 -32px;}
- #cboxBottomCenter{height:43px; background:url(images/border.png) repeat-x bottom left;}
- #cboxBottomRight{width:14px; height:43px; background:url(images/controls.png) no-repeat -36px -32px;}
- #cboxMiddleLeft{width:14px; background:url(images/controls.png) repeat-y -175px 0;}
- #cboxMiddleRight{width:14px; background:url(images/controls.png) repeat-y -211px 0;}
- #cboxContent{background:#fff; overflow:visible;}
- .cboxIframe{background:#fff;}
- #cboxError{padding:50px; border:1px solid #ccc;}
- #cboxLoadedContent{margin-bottom:5px;}
- #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;}
- #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
- #cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
- #cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
-
- #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(images/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
- #cboxPrevious{left:0px; background-position: -51px -25px;}
- #cboxPrevious:hover{background-position:-51px 0px;}
- #cboxNext{left:27px; background-position:-75px -25px;}
- #cboxNext:hover{background-position:-75px 0px;}
- #cboxClose{right:0; background-position:-100px -25px;}
- #cboxClose:hover{background-position:-100px 0px;}
-
- .cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
- .cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
- .cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
- .cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;} \ No newline at end of file
diff --git a/library/colorbox/colorbox.jquery.json b/library/colorbox/colorbox.jquery.json
deleted file mode 100644
index dd517a5f4..000000000
--- a/library/colorbox/colorbox.jquery.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "name": "colorbox",
- "title": "ColorBox",
- "description": "A lightweight customizable lightbox plugin",
- "keywords": [
- "modal",
- "lightbox",
- "window",
- "popup",
- "ui"
- ],
- "version": "1.3.32",
- "author": {
- "name": "Jack Moore",
- "url": "http://www.jacklmoore.com",
- "email": "jack@colorpowered.com"
- },
- "licenses": [
- {
- "type": "MIT",
- "url": "http://www.opensource.org/licenses/mit-license.php"
- }
- ],
- "homepage": "http://jacklmoore.com/colorbox",
- "demo": "http://jacklmoore.com/colorbox",
- "download": "http://jacklmoore.com/colorbox/colorbox.zip",
- "dependencies": {
- "jquery": ">=1.3.2"
- }
-} \ No newline at end of file
diff --git a/library/colorbox/component.json b/library/colorbox/component.json
deleted file mode 100644
index 171764fbf..000000000
--- a/library/colorbox/component.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "jquery-autosize",
- "version": "1.3.32",
- "main": "./jquery.autosize.js",
- "dependencies": {
- "jquery": ">=1.3.2"
- }
-} \ No newline at end of file
diff --git a/library/colorbox/content/daisy.jpg b/library/colorbox/content/daisy.jpg
new file mode 100644
index 000000000..16da6bdb0
--- /dev/null
+++ b/library/colorbox/content/daisy.jpg
Binary files differ
diff --git a/library/colorbox/content/daisy@2x.jpg b/library/colorbox/content/daisy@2x.jpg
new file mode 100644
index 000000000..f2e688dc2
--- /dev/null
+++ b/library/colorbox/content/daisy@2x.jpg
Binary files differ
diff --git a/library/colorbox/content/homer.jpg b/library/colorbox/content/homer.jpg
index 87ec76c99..864c17a9f 100644
--- a/library/colorbox/content/homer.jpg
+++ b/library/colorbox/content/homer.jpg
Binary files differ
diff --git a/library/colorbox/content/marylou.jpg b/library/colorbox/content/marylou.jpg
index 4c717d276..f113fbf6c 100644
--- a/library/colorbox/content/marylou.jpg
+++ b/library/colorbox/content/marylou.jpg
Binary files differ
diff --git a/library/colorbox/content/ohoopee1.jpg b/library/colorbox/content/ohoopee1.jpg
index aae19a3e6..007fa58a8 100644
--- a/library/colorbox/content/ohoopee1.jpg
+++ b/library/colorbox/content/ohoopee1.jpg
Binary files differ
diff --git a/library/colorbox/content/ohoopee2.jpg b/library/colorbox/content/ohoopee2.jpg
index 206894489..e56bb0f32 100644
--- a/library/colorbox/content/ohoopee2.jpg
+++ b/library/colorbox/content/ohoopee2.jpg
Binary files differ
diff --git a/library/colorbox/content/ohoopee3.jpg b/library/colorbox/content/ohoopee3.jpg
index 4d64d2400..7cc1c7f97 100644
--- a/library/colorbox/content/ohoopee3.jpg
+++ b/library/colorbox/content/ohoopee3.jpg
Binary files differ
diff --git a/library/colorbox/example1/colorbox.css b/library/colorbox/example1/colorbox.css
index 5ee3feba9..8a4ff998c 100644
--- a/library/colorbox/example1/colorbox.css
+++ b/library/colorbox/example1/colorbox.css
@@ -1,26 +1,27 @@
/*
- ColorBox Core Style:
+ Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
-#cboxLoadedContent{overflow:auto;}
+#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
-.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
-.cboxIframe{width:100%; height:100%; display:block; border:0;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
+.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
/*
User Style:
- Change the following styles to modify the appearance of ColorBox. They are
+ Change the following styles to modify the appearance of Colorbox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
-#cboxOverlay{background:url(images/overlay.png) repeat 0 0;}
-#colorbox{}
+#cboxOverlay{background:url(images/overlay.png) repeat 0 0; opacity: 0.9; filter: alpha(opacity = 90);}
+#colorbox{outline:0;}
#cboxTopLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px 0;}
#cboxTopRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px 0;}
#cboxBottomLeft{width:21px; height:21px; background:url(images/controls.png) no-repeat -101px -29px;}
@@ -35,13 +36,20 @@
#cboxLoadedContent{margin-bottom:28px;}
#cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;}
#cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494;}
+ #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;}
+ #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
+
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
+
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
+
#cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
#cboxPrevious{position:absolute; bottom:0; left:0; background:url(images/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
#cboxPrevious:hover{background-position:-75px -25px;}
#cboxNext{position:absolute; bottom:0; left:27px; background:url(images/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
#cboxNext:hover{background-position:-50px -25px;}
- #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;}
- #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
#cboxClose{position:absolute; bottom:0; right:0; background:url(images/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
#cboxClose:hover{background-position:-25px -25px;}
@@ -59,28 +67,4 @@
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
-}
-
-/*
- The following provides PNG transparency support for IE6
- Feel free to remove this and the /ie6/ directory if you have dropped IE6 support.
-*/
-.cboxIE6 #cboxTopLeft{background:url(images/ie6/borderTopLeft.png);}
-.cboxIE6 #cboxTopCenter{background:url(images/ie6/borderTopCenter.png);}
-.cboxIE6 #cboxTopRight{background:url(images/ie6/borderTopRight.png);}
-.cboxIE6 #cboxBottomLeft{background:url(images/ie6/borderBottomLeft.png);}
-.cboxIE6 #cboxBottomCenter{background:url(images/ie6/borderBottomCenter.png);}
-.cboxIE6 #cboxBottomRight{background:url(images/ie6/borderBottomRight.png);}
-.cboxIE6 #cboxMiddleLeft{background:url(images/ie6/borderMiddleLeft.png);}
-.cboxIE6 #cboxMiddleRight{background:url(images/ie6/borderMiddleRight.png);}
-
-.cboxIE6 #cboxTopLeft,
-.cboxIE6 #cboxTopCenter,
-.cboxIE6 #cboxTopRight,
-.cboxIE6 #cboxBottomLeft,
-.cboxIE6 #cboxBottomCenter,
-.cboxIE6 #cboxBottomRight,
-.cboxIE6 #cboxMiddleLeft,
-.cboxIE6 #cboxMiddleRight {
- _behavior: expression(this.src = this.src ? this.src : this.currentStyle.backgroundImage.split('"')[1], this.style.background = "none", this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.src + ", sizingMethod='scale')");
-}
+} \ No newline at end of file
diff --git a/library/colorbox/example1/images/border.png b/library/colorbox/example1/images/border.png
index f463a10d8..9386f3504 100644
--- a/library/colorbox/example1/images/border.png
+++ b/library/colorbox/example1/images/border.png
Binary files differ
diff --git a/library/colorbox/example1/images/controls.png b/library/colorbox/example1/images/controls.png
index dcfd6fb9f..1ec3cb1c8 100644
--- a/library/colorbox/example1/images/controls.png
+++ b/library/colorbox/example1/images/controls.png
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderBottomCenter.png b/library/colorbox/example1/images/ie6/borderBottomCenter.png
deleted file mode 100644
index 0d4475edf..000000000
--- a/library/colorbox/example1/images/ie6/borderBottomCenter.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderBottomLeft.png b/library/colorbox/example1/images/ie6/borderBottomLeft.png
deleted file mode 100644
index 2775eba89..000000000
--- a/library/colorbox/example1/images/ie6/borderBottomLeft.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderBottomRight.png b/library/colorbox/example1/images/ie6/borderBottomRight.png
deleted file mode 100644
index f7f51379c..000000000
--- a/library/colorbox/example1/images/ie6/borderBottomRight.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderMiddleLeft.png b/library/colorbox/example1/images/ie6/borderMiddleLeft.png
deleted file mode 100644
index a2d63d156..000000000
--- a/library/colorbox/example1/images/ie6/borderMiddleLeft.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderMiddleRight.png b/library/colorbox/example1/images/ie6/borderMiddleRight.png
deleted file mode 100644
index fd7c3e849..000000000
--- a/library/colorbox/example1/images/ie6/borderMiddleRight.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderTopCenter.png b/library/colorbox/example1/images/ie6/borderTopCenter.png
deleted file mode 100644
index 2937a9cf9..000000000
--- a/library/colorbox/example1/images/ie6/borderTopCenter.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderTopLeft.png b/library/colorbox/example1/images/ie6/borderTopLeft.png
deleted file mode 100644
index f9d458b5b..000000000
--- a/library/colorbox/example1/images/ie6/borderTopLeft.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example1/images/ie6/borderTopRight.png b/library/colorbox/example1/images/ie6/borderTopRight.png
deleted file mode 100644
index 74b8583cf..000000000
--- a/library/colorbox/example1/images/ie6/borderTopRight.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example1/images/loading.gif b/library/colorbox/example1/images/loading.gif
index b4695d811..0325c8dbf 100644
--- a/library/colorbox/example1/images/loading.gif
+++ b/library/colorbox/example1/images/loading.gif
Binary files differ
diff --git a/library/colorbox/example1/images/loading_background.png b/library/colorbox/example1/images/loading_background.png
index 6ae83e697..23a336b39 100644
--- a/library/colorbox/example1/images/loading_background.png
+++ b/library/colorbox/example1/images/loading_background.png
Binary files differ
diff --git a/library/colorbox/example1/images/overlay.png b/library/colorbox/example1/images/overlay.png
index 53ea98f70..10362a423 100644
--- a/library/colorbox/example1/images/overlay.png
+++ b/library/colorbox/example1/images/overlay.png
Binary files differ
diff --git a/library/colorbox/example1/index.html b/library/colorbox/example1/index.html
index 727fe78d7..8f10b9306 100644
--- a/library/colorbox/example1/index.html
+++ b/library/colorbox/example1/index.html
@@ -2,24 +2,24 @@
<html>
<head>
<meta charset='utf-8'/>
- <title>ColorBox Examples</title>
+ <title>Colorbox Examples</title>
<style>
body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
h2{font-size:13px; margin:15px 0 0 0;}
</style>
<link rel="stylesheet" href="colorbox.css" />
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="../jquery.colorbox.js"></script>
<script>
$(document).ready(function(){
- //Examples of how to assign the ColorBox event to elements
+ //Examples of how to assign the Colorbox event to elements
$(".group1").colorbox({rel:'group1'});
$(".group2").colorbox({rel:'group2', transition:"fade"});
$(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
$(".group4").colorbox({rel:'group4', slideshow:true});
$(".ajax").colorbox();
- $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
+ $(".youtube").colorbox({iframe:true, innerWidth:640, innerHeight:390});
$(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
$(".inline").colorbox({inline:true, width:"50%"});
@@ -30,6 +30,9 @@
onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
});
+
+ $('.non-retina').colorbox({rel:'group5', transition:'none'})
+ $('.retina').colorbox({rel:'group5', transition:'none', retinaImage:true, retinaUrl:true});
//Example of preserving a JavaScript event for inline calls.
$("#click").click(function(){
@@ -40,7 +43,7 @@
</script>
</head>
<body>
- <h1>ColorBox Demonstration</h1>
+ <h1>Colorbox Demonstration</h1>
<h2>Elastic Transition</h2>
<p><a class="group1" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
<p><a class="group1" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
@@ -63,7 +66,7 @@
<h2>Other Content Types</h2>
<p><a class='ajax' href="../content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
- <p><a class='youtube' href="http://www.youtube.com/embed/617ANIA5Rqs?rel=0&amp;wmode=transparent" title="The Knife: We Share Our Mother's Health">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
+ <p><a class='youtube' href="http://www.youtube.com/embed/VOJyrQa_WR4?rel=0&amp;wmode=transparent">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
<p><a class='vimeo' href="http://player.vimeo.com/video/2285902" title="R&ouml;yksopp: Remind Me">Flash / Video (Iframe/Direct Link To Vimeo)</a></p>
<p><a class='iframe' href="http://wikipedia.com">Outside Webpage (Iframe)</a></p>
<p><a class='inline' href="#inline_content">Inline HTML</a></p>
@@ -71,6 +74,11 @@
<h2>Demonstration of using callbacks</h2>
<p><a class='callbacks' href="../content/marylou.jpg" title="Marylou on Cumberland Island">Example with alerts</a>. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.</p>
+
+ <h2>Retina Images</h2>
+ <p><a class="retina" href="../content/daisy.jpg" title="Retina">Retina</a></p>
+ <p><a class="non-retina" href="../content/daisy.jpg" title="Non-Retina">Non-Retina</a></p>
+
<!-- This contains the hidden content for inline calls -->
<div style='display:none'>
<div id='inline_content' style='padding:10px; background:#fff;'>
@@ -78,7 +86,7 @@
<p>The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.</p>
<p><a id="click" href="#" style='padding:5px; background:#ccc;'>Click me, it will be preserved!</a></p>
- <p><strong>If you try to open a new ColorBox while it is already open, it will update itself with the new content.</strong></p>
+ <p><strong>If you try to open a new Colorbox while it is already open, it will update itself with the new content.</strong></p>
<p>Updating Content Example:<br />
<a class="ajax" href="../content/ajax.html">Click here to load new content</a></p>
</div>
diff --git a/library/colorbox/example2/colorbox.css b/library/colorbox/example2/colorbox.css
index 3bb3d8121..0a6710404 100644
--- a/library/colorbox/example2/colorbox.css
+++ b/library/colorbox/example2/colorbox.css
@@ -1,27 +1,28 @@
/*
- ColorBox Core Style:
+ Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
-#cboxLoadedContent{overflow:auto;}
+#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
-.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
-.cboxIframe{width:100%; height:100%; display:block; border:0;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
+.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
/*
User Style:
- Change the following styles to modify the appearance of ColorBox. They are
+ Change the following styles to modify the appearance of Colorbox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
-#cboxOverlay{background:#fff;}
-#colorbox{}
- #cboxContent{margin-top:32px; overflow:visible;}
+#cboxOverlay{background:#fff; opacity: 0.9; filter: alpha(opacity = 90);}
+#colorbox{outline:0;}
+ #cboxContent{margin-top:32px; overflow:visible; background:#000;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{background:#000; padding:1px;}
@@ -29,7 +30,13 @@
#cboxLoadingOverlay{background:#000;}
#cboxTitle{position:absolute; top:-22px; left:0; color:#000;}
#cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}
- #cboxSlideshow, #cboxPrevious, #cboxNext, #cboxClose{text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(images/controls.png) no-repeat 0 0;}
+
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(images/controls.png) no-repeat 0 0;}
+
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
+
#cboxPrevious{background-position:0px 0px; right:44px;}
#cboxPrevious:hover{background-position:0px -25px;}
#cboxNext{background-position:-25px 0px; right:22px;}
diff --git a/library/colorbox/example2/images/controls.png b/library/colorbox/example2/images/controls.png
index 8569b57f1..36f526992 100644
--- a/library/colorbox/example2/images/controls.png
+++ b/library/colorbox/example2/images/controls.png
Binary files differ
diff --git a/library/colorbox/example2/images/loading.gif b/library/colorbox/example2/images/loading.gif
index 19c67bbd0..a32df5c08 100644
--- a/library/colorbox/example2/images/loading.gif
+++ b/library/colorbox/example2/images/loading.gif
Binary files differ
diff --git a/library/colorbox/example2/index.html b/library/colorbox/example2/index.html
index 727fe78d7..8f10b9306 100644
--- a/library/colorbox/example2/index.html
+++ b/library/colorbox/example2/index.html
@@ -2,24 +2,24 @@
<html>
<head>
<meta charset='utf-8'/>
- <title>ColorBox Examples</title>
+ <title>Colorbox Examples</title>
<style>
body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
h2{font-size:13px; margin:15px 0 0 0;}
</style>
<link rel="stylesheet" href="colorbox.css" />
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="../jquery.colorbox.js"></script>
<script>
$(document).ready(function(){
- //Examples of how to assign the ColorBox event to elements
+ //Examples of how to assign the Colorbox event to elements
$(".group1").colorbox({rel:'group1'});
$(".group2").colorbox({rel:'group2', transition:"fade"});
$(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
$(".group4").colorbox({rel:'group4', slideshow:true});
$(".ajax").colorbox();
- $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
+ $(".youtube").colorbox({iframe:true, innerWidth:640, innerHeight:390});
$(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
$(".inline").colorbox({inline:true, width:"50%"});
@@ -30,6 +30,9 @@
onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
});
+
+ $('.non-retina').colorbox({rel:'group5', transition:'none'})
+ $('.retina').colorbox({rel:'group5', transition:'none', retinaImage:true, retinaUrl:true});
//Example of preserving a JavaScript event for inline calls.
$("#click").click(function(){
@@ -40,7 +43,7 @@
</script>
</head>
<body>
- <h1>ColorBox Demonstration</h1>
+ <h1>Colorbox Demonstration</h1>
<h2>Elastic Transition</h2>
<p><a class="group1" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
<p><a class="group1" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
@@ -63,7 +66,7 @@
<h2>Other Content Types</h2>
<p><a class='ajax' href="../content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
- <p><a class='youtube' href="http://www.youtube.com/embed/617ANIA5Rqs?rel=0&amp;wmode=transparent" title="The Knife: We Share Our Mother's Health">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
+ <p><a class='youtube' href="http://www.youtube.com/embed/VOJyrQa_WR4?rel=0&amp;wmode=transparent">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
<p><a class='vimeo' href="http://player.vimeo.com/video/2285902" title="R&ouml;yksopp: Remind Me">Flash / Video (Iframe/Direct Link To Vimeo)</a></p>
<p><a class='iframe' href="http://wikipedia.com">Outside Webpage (Iframe)</a></p>
<p><a class='inline' href="#inline_content">Inline HTML</a></p>
@@ -71,6 +74,11 @@
<h2>Demonstration of using callbacks</h2>
<p><a class='callbacks' href="../content/marylou.jpg" title="Marylou on Cumberland Island">Example with alerts</a>. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.</p>
+
+ <h2>Retina Images</h2>
+ <p><a class="retina" href="../content/daisy.jpg" title="Retina">Retina</a></p>
+ <p><a class="non-retina" href="../content/daisy.jpg" title="Non-Retina">Non-Retina</a></p>
+
<!-- This contains the hidden content for inline calls -->
<div style='display:none'>
<div id='inline_content' style='padding:10px; background:#fff;'>
@@ -78,7 +86,7 @@
<p>The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.</p>
<p><a id="click" href="#" style='padding:5px; background:#ccc;'>Click me, it will be preserved!</a></p>
- <p><strong>If you try to open a new ColorBox while it is already open, it will update itself with the new content.</strong></p>
+ <p><strong>If you try to open a new Colorbox while it is already open, it will update itself with the new content.</strong></p>
<p>Updating Content Example:<br />
<a class="ajax" href="../content/ajax.html">Click here to load new content</a></p>
</div>
diff --git a/library/colorbox/example3/colorbox.css b/library/colorbox/example3/colorbox.css
index 153e32e6f..1cebdffd6 100644
--- a/library/colorbox/example3/colorbox.css
+++ b/library/colorbox/example3/colorbox.css
@@ -1,38 +1,45 @@
/*
- ColorBox Core Style:
+ Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
-#cboxLoadedContent{overflow:auto;}
+#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
-.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
-.cboxIframe{width:100%; height:100%; display:block; border:0;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
+.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
/*
User Style:
- Change the following styles to modify the appearance of ColorBox. They are
+ Change the following styles to modify the appearance of Colorbox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
-#cboxOverlay{background:#000;}
-#colorbox{}
- #cboxContent{margin-top:20px;}
+#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
+#colorbox{outline:0;}
+ #cboxContent{margin-top:20px;background:#000;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{border:5px solid #000; background:#fff;}
#cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
#cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
+ #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
+
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
+
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
+
#cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
#cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(images/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
#cboxPrevious:hover{background-position:bottom left;}
#cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(images/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
#cboxNext:hover{background-position:bottom right;}
- #cboxLoadingOverlay{background:#000;}
- #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
#cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(images/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
- #cboxClose:hover{background-position:bottom center;} \ No newline at end of file
+ #cboxClose:hover{background-position:bottom center;}
diff --git a/library/colorbox/example3/images/loading.gif b/library/colorbox/example3/images/loading.gif
index 19c67bbd0..a32df5c08 100644
--- a/library/colorbox/example3/images/loading.gif
+++ b/library/colorbox/example3/images/loading.gif
Binary files differ
diff --git a/library/colorbox/example3/index.html b/library/colorbox/example3/index.html
index 727fe78d7..8f10b9306 100644
--- a/library/colorbox/example3/index.html
+++ b/library/colorbox/example3/index.html
@@ -2,24 +2,24 @@
<html>
<head>
<meta charset='utf-8'/>
- <title>ColorBox Examples</title>
+ <title>Colorbox Examples</title>
<style>
body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
h2{font-size:13px; margin:15px 0 0 0;}
</style>
<link rel="stylesheet" href="colorbox.css" />
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="../jquery.colorbox.js"></script>
<script>
$(document).ready(function(){
- //Examples of how to assign the ColorBox event to elements
+ //Examples of how to assign the Colorbox event to elements
$(".group1").colorbox({rel:'group1'});
$(".group2").colorbox({rel:'group2', transition:"fade"});
$(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
$(".group4").colorbox({rel:'group4', slideshow:true});
$(".ajax").colorbox();
- $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
+ $(".youtube").colorbox({iframe:true, innerWidth:640, innerHeight:390});
$(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
$(".inline").colorbox({inline:true, width:"50%"});
@@ -30,6 +30,9 @@
onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
});
+
+ $('.non-retina').colorbox({rel:'group5', transition:'none'})
+ $('.retina').colorbox({rel:'group5', transition:'none', retinaImage:true, retinaUrl:true});
//Example of preserving a JavaScript event for inline calls.
$("#click").click(function(){
@@ -40,7 +43,7 @@
</script>
</head>
<body>
- <h1>ColorBox Demonstration</h1>
+ <h1>Colorbox Demonstration</h1>
<h2>Elastic Transition</h2>
<p><a class="group1" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
<p><a class="group1" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
@@ -63,7 +66,7 @@
<h2>Other Content Types</h2>
<p><a class='ajax' href="../content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
- <p><a class='youtube' href="http://www.youtube.com/embed/617ANIA5Rqs?rel=0&amp;wmode=transparent" title="The Knife: We Share Our Mother's Health">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
+ <p><a class='youtube' href="http://www.youtube.com/embed/VOJyrQa_WR4?rel=0&amp;wmode=transparent">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
<p><a class='vimeo' href="http://player.vimeo.com/video/2285902" title="R&ouml;yksopp: Remind Me">Flash / Video (Iframe/Direct Link To Vimeo)</a></p>
<p><a class='iframe' href="http://wikipedia.com">Outside Webpage (Iframe)</a></p>
<p><a class='inline' href="#inline_content">Inline HTML</a></p>
@@ -71,6 +74,11 @@
<h2>Demonstration of using callbacks</h2>
<p><a class='callbacks' href="../content/marylou.jpg" title="Marylou on Cumberland Island">Example with alerts</a>. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.</p>
+
+ <h2>Retina Images</h2>
+ <p><a class="retina" href="../content/daisy.jpg" title="Retina">Retina</a></p>
+ <p><a class="non-retina" href="../content/daisy.jpg" title="Non-Retina">Non-Retina</a></p>
+
<!-- This contains the hidden content for inline calls -->
<div style='display:none'>
<div id='inline_content' style='padding:10px; background:#fff;'>
@@ -78,7 +86,7 @@
<p>The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.</p>
<p><a id="click" href="#" style='padding:5px; background:#ccc;'>Click me, it will be preserved!</a></p>
- <p><strong>If you try to open a new ColorBox while it is already open, it will update itself with the new content.</strong></p>
+ <p><strong>If you try to open a new Colorbox while it is already open, it will update itself with the new content.</strong></p>
<p>Updating Content Example:<br />
<a class="ajax" href="../content/ajax.html">Click here to load new content</a></p>
</div>
diff --git a/library/colorbox/example4/colorbox.css b/library/colorbox/example4/colorbox.css
index 54560688a..d475a343a 100644
--- a/library/colorbox/example4/colorbox.css
+++ b/library/colorbox/example4/colorbox.css
@@ -1,26 +1,27 @@
/*
- ColorBox Core Style:
+ Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
-#cboxLoadedContent{overflow:auto;}
+#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
-.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
-.cboxIframe{width:100%; height:100%; display:block; border:0;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
+.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
/*
User Style:
- Change the following styles to modify the appearance of ColorBox. They are
+ Change the following styles to modify the appearance of Colorbox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
-#cboxOverlay{background:#fff;}
-#colorbox{}
+#cboxOverlay{background:#fff; opacity: 0.9; filter: alpha(opacity = 90);}
+#colorbox{outline:0;}
#cboxTopLeft{width:25px; height:25px; background:url(images/border1.png) no-repeat 0 0;}
#cboxTopCenter{height:25px; background:url(images/border1.png) repeat-x 0 -50px;}
#cboxTopRight{width:25px; height:25px; background:url(images/border1.png) no-repeat -25px 0;}
@@ -35,10 +36,17 @@
#cboxLoadedContent{margin-bottom:20px;}
#cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;}
#cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;}
+ #cboxLoadingOverlay{background:#fff url(images/loading.gif) no-repeat 5px 5px;}
+
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
+
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
+
#cboxSlideshow{position:absolute; bottom:0px; right:42px; color:#444;}
#cboxPrevious{position:absolute; bottom:0px; left:0; color:#444;}
#cboxNext{position:absolute; bottom:0px; left:63px; color:#444;}
- #cboxLoadingOverlay{background:#fff url(images/loading.gif) no-repeat 5px 5px;}
#cboxClose{position:absolute; bottom:0; right:0; display:block; color:#444;}
/*
@@ -55,28 +63,4 @@
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
-}
-
-/*
- The following provides PNG transparency support for IE6
- Feel free to remove this and the /ie6/ directory if you have dropped IE6 support.
-*/
-.cboxIE6 #cboxTopLeft{background:url(images/ie6/borderTopLeft.png);}
-.cboxIE6 #cboxTopCenter{background:url(images/ie6/borderTopCenter.png);}
-.cboxIE6 #cboxTopRight{background:url(images/ie6/borderTopRight.png);}
-.cboxIE6 #cboxBottomLeft{background:url(images/ie6/borderBottomLeft.png);}
-.cboxIE6 #cboxBottomCenter{background:url(images/ie6/borderBottomCenter.png);}
-.cboxIE6 #cboxBottomRight{background:url(images/ie6/borderBottomRight.png);}
-.cboxIE6 #cboxMiddleLeft{background:url(images/ie6/borderMiddleLeft.png);}
-.cboxIE6 #cboxMiddleRight{background:url(images/ie6/borderMiddleRight.png);}
-
-.cboxIE6 #cboxTopLeft,
-.cboxIE6 #cboxTopCenter,
-.cboxIE6 #cboxTopRight,
-.cboxIE6 #cboxBottomLeft,
-.cboxIE6 #cboxBottomCenter,
-.cboxIE6 #cboxBottomRight,
-.cboxIE6 #cboxMiddleLeft,
-.cboxIE6 #cboxMiddleRight {
- _behavior: expression(this.src = this.src ? this.src : this.currentStyle.backgroundImage.split('"')[1], this.style.background = "none", this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + this.src + ", sizingMethod='scale')");
-}
+} \ No newline at end of file
diff --git a/library/colorbox/example4/images/border1.png b/library/colorbox/example4/images/border1.png
index 0ddc70405..ea73e1592 100644
--- a/library/colorbox/example4/images/border1.png
+++ b/library/colorbox/example4/images/border1.png
Binary files differ
diff --git a/library/colorbox/example4/images/border2.png b/library/colorbox/example4/images/border2.png
index aa62a0b72..72cad44ce 100644
--- a/library/colorbox/example4/images/border2.png
+++ b/library/colorbox/example4/images/border2.png
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderBottomCenter.png b/library/colorbox/example4/images/ie6/borderBottomCenter.png
deleted file mode 100644
index 12e0e9ac0..000000000
--- a/library/colorbox/example4/images/ie6/borderBottomCenter.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderBottomLeft.png b/library/colorbox/example4/images/ie6/borderBottomLeft.png
deleted file mode 100644
index b7a474ae0..000000000
--- a/library/colorbox/example4/images/ie6/borderBottomLeft.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderBottomRight.png b/library/colorbox/example4/images/ie6/borderBottomRight.png
deleted file mode 100644
index 6b6cb159b..000000000
--- a/library/colorbox/example4/images/ie6/borderBottomRight.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderMiddleLeft.png b/library/colorbox/example4/images/ie6/borderMiddleLeft.png
deleted file mode 100644
index 8d0eb739d..000000000
--- a/library/colorbox/example4/images/ie6/borderMiddleLeft.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderMiddleRight.png b/library/colorbox/example4/images/ie6/borderMiddleRight.png
deleted file mode 100644
index d65509e30..000000000
--- a/library/colorbox/example4/images/ie6/borderMiddleRight.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderTopCenter.png b/library/colorbox/example4/images/ie6/borderTopCenter.png
deleted file mode 100644
index 35d8da2d0..000000000
--- a/library/colorbox/example4/images/ie6/borderTopCenter.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderTopLeft.png b/library/colorbox/example4/images/ie6/borderTopLeft.png
deleted file mode 100644
index ae9bda040..000000000
--- a/library/colorbox/example4/images/ie6/borderTopLeft.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example4/images/ie6/borderTopRight.png b/library/colorbox/example4/images/ie6/borderTopRight.png
deleted file mode 100644
index 0d8868399..000000000
--- a/library/colorbox/example4/images/ie6/borderTopRight.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/example4/images/loading.gif b/library/colorbox/example4/images/loading.gif
index 602ce3c3a..1f3a2c0ab 100644
--- a/library/colorbox/example4/images/loading.gif
+++ b/library/colorbox/example4/images/loading.gif
Binary files differ
diff --git a/library/colorbox/example4/index.html b/library/colorbox/example4/index.html
index 727fe78d7..8f10b9306 100644
--- a/library/colorbox/example4/index.html
+++ b/library/colorbox/example4/index.html
@@ -2,24 +2,24 @@
<html>
<head>
<meta charset='utf-8'/>
- <title>ColorBox Examples</title>
+ <title>Colorbox Examples</title>
<style>
body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
h2{font-size:13px; margin:15px 0 0 0;}
</style>
<link rel="stylesheet" href="colorbox.css" />
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="../jquery.colorbox.js"></script>
<script>
$(document).ready(function(){
- //Examples of how to assign the ColorBox event to elements
+ //Examples of how to assign the Colorbox event to elements
$(".group1").colorbox({rel:'group1'});
$(".group2").colorbox({rel:'group2', transition:"fade"});
$(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
$(".group4").colorbox({rel:'group4', slideshow:true});
$(".ajax").colorbox();
- $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
+ $(".youtube").colorbox({iframe:true, innerWidth:640, innerHeight:390});
$(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
$(".inline").colorbox({inline:true, width:"50%"});
@@ -30,6 +30,9 @@
onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
});
+
+ $('.non-retina').colorbox({rel:'group5', transition:'none'})
+ $('.retina').colorbox({rel:'group5', transition:'none', retinaImage:true, retinaUrl:true});
//Example of preserving a JavaScript event for inline calls.
$("#click").click(function(){
@@ -40,7 +43,7 @@
</script>
</head>
<body>
- <h1>ColorBox Demonstration</h1>
+ <h1>Colorbox Demonstration</h1>
<h2>Elastic Transition</h2>
<p><a class="group1" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
<p><a class="group1" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
@@ -63,7 +66,7 @@
<h2>Other Content Types</h2>
<p><a class='ajax' href="../content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
- <p><a class='youtube' href="http://www.youtube.com/embed/617ANIA5Rqs?rel=0&amp;wmode=transparent" title="The Knife: We Share Our Mother's Health">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
+ <p><a class='youtube' href="http://www.youtube.com/embed/VOJyrQa_WR4?rel=0&amp;wmode=transparent">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
<p><a class='vimeo' href="http://player.vimeo.com/video/2285902" title="R&ouml;yksopp: Remind Me">Flash / Video (Iframe/Direct Link To Vimeo)</a></p>
<p><a class='iframe' href="http://wikipedia.com">Outside Webpage (Iframe)</a></p>
<p><a class='inline' href="#inline_content">Inline HTML</a></p>
@@ -71,6 +74,11 @@
<h2>Demonstration of using callbacks</h2>
<p><a class='callbacks' href="../content/marylou.jpg" title="Marylou on Cumberland Island">Example with alerts</a>. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.</p>
+
+ <h2>Retina Images</h2>
+ <p><a class="retina" href="../content/daisy.jpg" title="Retina">Retina</a></p>
+ <p><a class="non-retina" href="../content/daisy.jpg" title="Non-Retina">Non-Retina</a></p>
+
<!-- This contains the hidden content for inline calls -->
<div style='display:none'>
<div id='inline_content' style='padding:10px; background:#fff;'>
@@ -78,7 +86,7 @@
<p>The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.</p>
<p><a id="click" href="#" style='padding:5px; background:#ccc;'>Click me, it will be preserved!</a></p>
- <p><strong>If you try to open a new ColorBox while it is already open, it will update itself with the new content.</strong></p>
+ <p><strong>If you try to open a new Colorbox while it is already open, it will update itself with the new content.</strong></p>
<p>Updating Content Example:<br />
<a class="ajax" href="../content/ajax.html">Click here to load new content</a></p>
</div>
diff --git a/library/colorbox/example5/colorbox.css b/library/colorbox/example5/colorbox.css
index 544a76f3b..889f20fea 100644
--- a/library/colorbox/example5/colorbox.css
+++ b/library/colorbox/example5/colorbox.css
@@ -1,26 +1,27 @@
/*
- ColorBox Core Style:
+ Colorbox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
-#cboxLoadedContent{overflow:auto;}
+#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
-.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
-.cboxIframe{width:100%; height:100%; display:block; border:0;}
+.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
+.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}
/*
User Style:
- Change the following styles to modify the appearance of ColorBox. They are
+ Change the following styles to modify the appearance of Colorbox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
-#cboxOverlay{background:#000;}
-#colorbox{}
+#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
+#colorbox{outline:0;}
#cboxTopLeft{width:14px; height:14px; background:url(images/controls.png) no-repeat 0 0;}
#cboxTopCenter{height:14px; background:url(images/border.png) repeat-x top left;}
#cboxTopRight{width:14px; height:14px; background:url(images/controls.png) no-repeat -36px 0;}
@@ -38,7 +39,12 @@
#cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
#cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
- #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(images/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
+ /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
+ #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; position:absolute; bottom:-29px; background:url(images/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
+
+ /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
+ #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}
+
#cboxPrevious{left:0px; background-position: -51px -25px;}
#cboxPrevious:hover{background-position:-51px 0px;}
#cboxNext{left:27px; background-position:-75px -25px;}
diff --git a/library/colorbox/example5/images/border.png b/library/colorbox/example5/images/border.png
index df13bb6da..c1cd1a2a4 100644
--- a/library/colorbox/example5/images/border.png
+++ b/library/colorbox/example5/images/border.png
Binary files differ
diff --git a/library/colorbox/example5/images/controls.png b/library/colorbox/example5/images/controls.png
index 65cfd1dc9..259130cd5 100644
--- a/library/colorbox/example5/images/controls.png
+++ b/library/colorbox/example5/images/controls.png
Binary files differ
diff --git a/library/colorbox/example5/images/loading.gif b/library/colorbox/example5/images/loading.gif
index b4695d811..dba33c816 100644
--- a/library/colorbox/example5/images/loading.gif
+++ b/library/colorbox/example5/images/loading.gif
Binary files differ
diff --git a/library/colorbox/example5/images/loading_background.png b/library/colorbox/example5/images/loading_background.png
index 9de11f467..23a336b39 100644
--- a/library/colorbox/example5/images/loading_background.png
+++ b/library/colorbox/example5/images/loading_background.png
Binary files differ
diff --git a/library/colorbox/example5/index.html b/library/colorbox/example5/index.html
index 727fe78d7..8f10b9306 100644
--- a/library/colorbox/example5/index.html
+++ b/library/colorbox/example5/index.html
@@ -2,24 +2,24 @@
<html>
<head>
<meta charset='utf-8'/>
- <title>ColorBox Examples</title>
+ <title>Colorbox Examples</title>
<style>
body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
h2{font-size:13px; margin:15px 0 0 0;}
</style>
<link rel="stylesheet" href="colorbox.css" />
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="../jquery.colorbox.js"></script>
<script>
$(document).ready(function(){
- //Examples of how to assign the ColorBox event to elements
+ //Examples of how to assign the Colorbox event to elements
$(".group1").colorbox({rel:'group1'});
$(".group2").colorbox({rel:'group2', transition:"fade"});
$(".group3").colorbox({rel:'group3', transition:"none", width:"75%", height:"75%"});
$(".group4").colorbox({rel:'group4', slideshow:true});
$(".ajax").colorbox();
- $(".youtube").colorbox({iframe:true, innerWidth:425, innerHeight:344});
+ $(".youtube").colorbox({iframe:true, innerWidth:640, innerHeight:390});
$(".vimeo").colorbox({iframe:true, innerWidth:500, innerHeight:409});
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
$(".inline").colorbox({inline:true, width:"50%"});
@@ -30,6 +30,9 @@
onCleanup:function(){ alert('onCleanup: colorbox has begun the close process'); },
onClosed:function(){ alert('onClosed: colorbox has completely closed'); }
});
+
+ $('.non-retina').colorbox({rel:'group5', transition:'none'})
+ $('.retina').colorbox({rel:'group5', transition:'none', retinaImage:true, retinaUrl:true});
//Example of preserving a JavaScript event for inline calls.
$("#click").click(function(){
@@ -40,7 +43,7 @@
</script>
</head>
<body>
- <h1>ColorBox Demonstration</h1>
+ <h1>Colorbox Demonstration</h1>
<h2>Elastic Transition</h2>
<p><a class="group1" href="../content/ohoopee1.jpg" title="Me and my grandfather on the Ohoopee.">Grouped Photo 1</a></p>
<p><a class="group1" href="../content/ohoopee2.jpg" title="On the Ohoopee as a child">Grouped Photo 2</a></p>
@@ -63,7 +66,7 @@
<h2>Other Content Types</h2>
<p><a class='ajax' href="../content/ajax.html" title="Homer Defined">Outside HTML (Ajax)</a></p>
- <p><a class='youtube' href="http://www.youtube.com/embed/617ANIA5Rqs?rel=0&amp;wmode=transparent" title="The Knife: We Share Our Mother's Health">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
+ <p><a class='youtube' href="http://www.youtube.com/embed/VOJyrQa_WR4?rel=0&amp;wmode=transparent">Flash / Video (Iframe/Direct Link To YouTube)</a></p>
<p><a class='vimeo' href="http://player.vimeo.com/video/2285902" title="R&ouml;yksopp: Remind Me">Flash / Video (Iframe/Direct Link To Vimeo)</a></p>
<p><a class='iframe' href="http://wikipedia.com">Outside Webpage (Iframe)</a></p>
<p><a class='inline' href="#inline_content">Inline HTML</a></p>
@@ -71,6 +74,11 @@
<h2>Demonstration of using callbacks</h2>
<p><a class='callbacks' href="../content/marylou.jpg" title="Marylou on Cumberland Island">Example with alerts</a>. Callbacks and event-hooks allow users to extend functionality without having to rewrite parts of the plugin.</p>
+
+ <h2>Retina Images</h2>
+ <p><a class="retina" href="../content/daisy.jpg" title="Retina">Retina</a></p>
+ <p><a class="non-retina" href="../content/daisy.jpg" title="Non-Retina">Non-Retina</a></p>
+
<!-- This contains the hidden content for inline calls -->
<div style='display:none'>
<div id='inline_content' style='padding:10px; background:#fff;'>
@@ -78,7 +86,7 @@
<p>The inline option preserves bound JavaScript events and changes, and it puts the content back where it came from when it is closed.</p>
<p><a id="click" href="#" style='padding:5px; background:#ccc;'>Click me, it will be preserved!</a></p>
- <p><strong>If you try to open a new ColorBox while it is already open, it will update itself with the new content.</strong></p>
+ <p><strong>If you try to open a new Colorbox while it is already open, it will update itself with the new content.</strong></p>
<p>Updating Content Example:<br />
<a class="ajax" href="../content/ajax.html">Click here to load new content</a></p>
</div>
diff --git a/library/colorbox/i18n/jquery.colorbox-ar.js b/library/colorbox/i18n/jquery.colorbox-ar.js
new file mode 100644
index 000000000..6c4228cd1
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-ar.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Arabic (ar)
+ translated by: A.Rhman Sayes
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "الصورة {current} من {total}",
+ previous: "السابق",
+ next: "التالي",
+ close: "إغلاق",
+ xhrError: "حدث خطأ أثناء تحميل المحتوى.",
+ imgError: "حدث خطأ أثناء تحميل الصورة.",
+ slideshowStart: "تشغيل العرض",
+ slideshowStop: "إيقا٠العرض"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-bg.js b/library/colorbox/i18n/jquery.colorbox-bg.js
new file mode 100644
index 000000000..de7e4a1d0
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-bg.js
@@ -0,0 +1,16 @@
+/*
+ jQuery Colorbox language configuration
+ language: Bulgarian (bg)
+ translated by: Marian M.Bida
+ site: webmax.bg
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "изображение {current} от {total}",
+ previous: "предишна",
+ next: "Ñледваща",
+ close: "затвори",
+ xhrError: "ÐеуÑпешно зареждане на Ñъдържанието.",
+ imgError: "ÐеуÑпешно зареждане на изображението.",
+ slideshowStart: "пуÑни Ñлайд-шоу",
+ slideshowStop: "Ñпри Ñлайд-шоу"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-bn.js b/library/colorbox/i18n/jquery.colorbox-bn.js
new file mode 100644
index 000000000..946229d4c
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-bn.js
@@ -0,0 +1,16 @@
+/*
+jQuery Colorbox language configuration
+language: Bengali (bn)
+translated by: Arkaprava Majumder
+http://github.com/arkaindas
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+current: "ছবি {current} à¦à¦° {total}",
+previous: "আগে",
+next: "পরে",
+close: "বনà§à¦§",
+xhrError: "à¦à¦‡ কনà§à¦Ÿà§‡à¦¨à§à¦Ÿ লোড করা যায়নি.",
+imgError: "à¦à¦‡ ছবিটি লোড করা যায়নি.",
+slideshowStart: "সà§à¦²à¦¾à¦‡à¦¡à¦¶à§‹ শà§à¦°à§",
+slideshowStop: "সà§à¦²à¦¾à¦‡à¦¡à¦¶à§‹ বনà§à¦§"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-ca.js b/library/colorbox/i18n/jquery.colorbox-ca.js
new file mode 100644
index 000000000..173c05fdf
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-ca.js
@@ -0,0 +1,13 @@
+/*
+ jQuery Colorbox language configuration
+ language: Catala (ca)
+ translated by: eduard salla
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Imatge {current} de {total}",
+ previous: "Anterior",
+ next: "Següent",
+ close: "Tancar",
+ xhrError: "Error en la càrrega del contingut.",
+ imgError: "Error en la càrrega de la imatge."
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-cs.js b/library/colorbox/i18n/jquery.colorbox-cs.js
index 42114c0a7..9649fd455 100644
--- a/library/colorbox/i18n/jquery.colorbox-cs.js
+++ b/library/colorbox/i18n/jquery.colorbox-cs.js
@@ -1,5 +1,5 @@
/*
- jQuery ColorBox language configuration
+ jQuery Colorbox language configuration
language: Czech (cs)
translated by: Filip Novak
site: mame.napilno.cz/filip-novak
@@ -10,5 +10,7 @@ jQuery.extend(jQuery.colorbox.settings, {
next: "Následující",
close: "Zavřít",
xhrError: "Obsah se nepodaÅ™ilo naÄíst.",
- imgError: "Obrázek se nepodaÅ™ilo naÄíst."
+ imgError: "Obrázek se nepodaÅ™ilo naÄíst.",
+ slideshowStart: "Spustit slideshow",
+ slideshowStop: "Zastavit slideshow"
}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-da.js b/library/colorbox/i18n/jquery.colorbox-da.js
index 66bfb6cd0..676fffed2 100644
--- a/library/colorbox/i18n/jquery.colorbox-da.js
+++ b/library/colorbox/i18n/jquery.colorbox-da.js
@@ -1,5 +1,5 @@
/*
- jQuery ColorBox language configuration
+ jQuery Colorbox language configuration
language: Danish (da)
translated by: danieljuhl
site: danieljuhl.dk
@@ -10,5 +10,7 @@ jQuery.extend(jQuery.colorbox.settings, {
next: "Næste",
close: "Luk",
xhrError: "Indholdet fejlede i indlæsningen.",
- imgError: "Billedet fejlede i indlæsningen."
+ imgError: "Billedet fejlede i indlæsningen.",
+ slideshowStart: "Start slideshow",
+ slideshowStop: "Stop slideshow"
});
diff --git a/library/colorbox/i18n/jquery.colorbox-de.js b/library/colorbox/i18n/jquery.colorbox-de.js
index 3d6e2e147..d489379bc 100644
--- a/library/colorbox/i18n/jquery.colorbox-de.js
+++ b/library/colorbox/i18n/jquery.colorbox-de.js
@@ -1,5 +1,5 @@
/*
- jQuery ColorBox language configuration
+ jQuery Colorbox language configuration
language: German (de)
translated by: wallenium
*/
@@ -9,5 +9,7 @@ jQuery.extend(jQuery.colorbox.settings, {
next: "Vor",
close: "Schließen",
xhrError: "Dieser Inhalt konnte nicht geladen werden.",
- imgError: "Dieses Bild konnte nicht geladen werden."
+ imgError: "Dieses Bild konnte nicht geladen werden.",
+ slideshowStart: "Slideshow starten",
+ slideshowStop: "Slideshow anhalten"
}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-es.js b/library/colorbox/i18n/jquery.colorbox-es.js
index 6449c66f8..11296fc94 100644
--- a/library/colorbox/i18n/jquery.colorbox-es.js
+++ b/library/colorbox/i18n/jquery.colorbox-es.js
@@ -1,5 +1,5 @@
/*
- jQuery ColorBox language configuration
+ jQuery Colorbox language configuration
language: Spanish (es)
translated by: migolo
*/
diff --git a/library/colorbox/i18n/jquery.colorbox-et.js b/library/colorbox/i18n/jquery.colorbox-et.js
new file mode 100644
index 000000000..60a4e888e
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-et.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Estonian (et)
+ translated by: keevitaja
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "{current}/{total}",
+ previous: "eelmine",
+ next: "järgmine",
+ close: "sulge",
+ xhrError: "Sisu ei õnnestunud laadida.",
+ imgError: "Pilti ei õnnestunud laadida.",
+ slideshowStart: "Käivita slaidid",
+ slideshowStop: "Peata slaidid"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-fa.js b/library/colorbox/i18n/jquery.colorbox-fa.js
new file mode 100644
index 000000000..32869a4c8
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-fa.js
@@ -0,0 +1,18 @@
+/*
+ jQuery Colorbox language configuration
+ language: Persian (Farsi)
+ translated by: Mahdi Jaberzadeh Ansari (MJZSoft)
+ site: www.mjzsoft.ir
+ email: mahdijaberzadehansari (at) yahoo.co.uk
+ Please note : Persian language is right to left like arabic.
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "تصویر {current} از {total}",
+ previous: "قبلی",
+ next: "بعدی",
+ close: "بستن",
+ xhrError: "متاسÙانه محتویات مورد نظر قابل نمایش نیست.",
+ imgError: "متاسÙانه بارگذاری این عکس با مشکل مواجه شده است.",
+ slideshowStart: "آغاز نمایش خودکار",
+ slideshowStop: "توق٠نمایش خودکار"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-fi.js b/library/colorbox/i18n/jquery.colorbox-fi.js
new file mode 100644
index 000000000..ac03fe021
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-fi.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Finnish (fi)
+ translated by: Mikko
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Kuva {current} / {total}",
+ previous: "Edellinen",
+ next: "Seuraava",
+ close: "Sulje",
+ xhrError: "Sisällön lataaminen epäonnistui.",
+ imgError: "Kuvan lataaminen epäonnistui.",
+ slideshowStart: "Aloita kuvaesitys.",
+ slideshowStop: "Lopeta kuvaesitys."
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-fr.js b/library/colorbox/i18n/jquery.colorbox-fr.js
index f6afe3fd4..f76352bd4 100644
--- a/library/colorbox/i18n/jquery.colorbox-fr.js
+++ b/library/colorbox/i18n/jquery.colorbox-fr.js
@@ -1,14 +1,15 @@
/*
- jQuery ColorBox language configuration
+ jQuery Colorbox language configuration
language: French (fr)
translated by: oaubert
*/
jQuery.extend(jQuery.colorbox.settings, {
-current: "image {current} sur {total}",
-previous: "pr&eacute;c&eacute;dente",
-next: "suivante",
-close: "fermer",
-xhrError: "Impossible de charger ce contenu.",
-imgError: "Impossible de charger cette image."
+ current: "image {current} sur {total}",
+ previous: "pr&eacute;c&eacute;dente",
+ next: "suivante",
+ close: "fermer",
+ xhrError: "Impossible de charger ce contenu.",
+ imgError: "Impossible de charger cette image.",
+ slideshowStart: "d&eacute;marrer la pr&eacute;sentation",
+ slideshowStop: "arr&ecirc;ter la pr&eacute;sentation"
});
-
diff --git a/library/colorbox/i18n/jquery.colorbox-gl.js b/library/colorbox/i18n/jquery.colorbox-gl.js
new file mode 100644
index 000000000..3641b51b1
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-gl.js
@@ -0,0 +1,13 @@
+/*
+ jQuery Colorbox language configuration
+ language: Galician (gl)
+ translated by: donatorouco
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Imaxe {current} de {total}",
+ previous: "Anterior",
+ next: "Seguinte",
+ close: "Pechar",
+ xhrError: "Erro na carga do contido.",
+ imgError: "Erro na carga da imaxe."
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-gr.js b/library/colorbox/i18n/jquery.colorbox-gr.js
new file mode 100644
index 000000000..0d2c1bb76
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-gr.js
@@ -0,0 +1,16 @@
+/*
+ jQuery Colorbox language configuration
+ language: Greek (gr)
+ translated by: S.Demirtzoglou
+ site: webiq.gr
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Εικόνα {current} από {total}",
+ previous: "ΠÏοηγοÏμενη",
+ next: "Επόμενη",
+ close: "ΑπόκÏυψη",
+ xhrError: "Το πεÏιεχόμενο δεν μπόÏεσε να φοÏτωθεί.",
+ imgError: "Απέτυχε η φόÏτωση της εικόνας.",
+ slideshowStart: "ΈναÏξη παÏουσίασης",
+ slideshowStop: "ΠαÏση παÏουσίασης"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-he.js b/library/colorbox/i18n/jquery.colorbox-he.js
new file mode 100644
index 000000000..78908e39f
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-he.js
@@ -0,0 +1,16 @@
+/*
+ jQuery Colorbox language configuration
+ language: Hebrew (he)
+ translated by: DavidCo
+ site: DavidCo.me
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "תמונה {current} מתוך {total}",
+ previous: "הקוד×",
+ next: "הב×",
+ close: "סגור",
+ xhrError: "שגי××” בטעינת התוכן.",
+ imgError: "שגי××” בטעינת התמונה.",
+ slideshowStart: "התחל מצגת",
+ slideshowStop: "עצור מצגת"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-hr.js b/library/colorbox/i18n/jquery.colorbox-hr.js
new file mode 100644
index 000000000..7eb62becd
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-hr.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Croatian (hr)
+ translated by: Mladen Bicanic (base.hr)
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Slika {current} od {total}",
+ previous: "Prethodna",
+ next: "Sljedeća",
+ close: "Zatvori",
+ xhrError: "NeuspjeÅ¡no uÄitavanje sadržaja.",
+ imgError: "NeuspjeÅ¡no uÄitavanje slike.",
+ slideshowStart: "Pokreni slideshow",
+ slideshowStop: "Zaustavi slideshow"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-hu.js b/library/colorbox/i18n/jquery.colorbox-hu.js
new file mode 100644
index 000000000..72e9d36b1
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-hu.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Hungarian (hu)
+ translated by: kovadani
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "{current}/{total} kép",
+ previous: "Előző",
+ next: "Következő",
+ close: "Bezár",
+ xhrError: "A tartalmat nem sikerült betölteni.",
+ imgError: "A képet nem sikerült betölteni.",
+ slideshowStart: "Diavetítés indítása",
+ slideshowStop: "Diavetítés leállítása"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-id.js b/library/colorbox/i18n/jquery.colorbox-id.js
new file mode 100644
index 000000000..81a62df34
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-id.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Indonesian (id)
+ translated by: sarwasunda
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "ke {current} dari {total}",
+ previous: "Sebelumnya",
+ next: "Berikutnya",
+ close: "Tutup",
+ xhrError: "Konten ini tidak dapat dimuat.",
+ imgError: "Gambar ini tidak dapat dimuat.",
+ slideshowStart: "Putar",
+ slideshowStop: "Berhenti"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-it.js b/library/colorbox/i18n/jquery.colorbox-it.js
index d67d76cf7..2a4af6453 100644
--- a/library/colorbox/i18n/jquery.colorbox-it.js
+++ b/library/colorbox/i18n/jquery.colorbox-it.js
@@ -1,5 +1,5 @@
/*
- jQuery ColorBox language configuration
+ jQuery Colorbox language configuration
language: Italian (it)
translated by: maur8ino
*/
@@ -9,5 +9,7 @@ jQuery.extend(jQuery.colorbox.settings, {
next: "Successiva",
close: "Chiudi",
xhrError: "Errore nel caricamento del contenuto.",
- imgError: "Errore nel caricamento dell'immagine."
+ imgError: "Errore nel caricamento dell'immagine.",
+ slideshowStart: "Inizia la presentazione",
+ slideshowStop: "Termina la presentazione"
});
diff --git a/library/colorbox/i18n/jquery.colorbox-ja.js b/library/colorbox/i18n/jquery.colorbox-ja.js
new file mode 100644
index 000000000..5480de336
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-ja.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Japanaese (ja)
+ translated by: Hajime Fujimoto
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "{total}枚中{current}枚目",
+ previous: "å‰",
+ next: "次",
+ close: "é–‰ã˜ã‚‹",
+ xhrError: "コンテンツã®èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ",
+ imgError: "ç”»åƒã®èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ",
+ slideshowStart: "スライドショー開始",
+ slideshowStop: "スライドショー終了"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-kr.js b/library/colorbox/i18n/jquery.colorbox-kr.js
new file mode 100644
index 000000000..b95702bc0
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-kr.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Korean (kr)
+ translated by: lunareffect
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "ì´ {total} 중 {current}",
+ previous: "ì´ì „",
+ next: "다ìŒ",
+ close: "닫기",
+ xhrError: "컨í…츠를 불러오는 ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.",
+ imgError: "ì´ë¯¸ì§€ë¥¼ 불러오는 ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤.",
+ slideshowStart: "슬ë¼ì´ë“œì‡¼ 시작",
+ slideshowStop: "슬ë¼ì´ë“œì‡¼ 중지"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-lt.js b/library/colorbox/i18n/jquery.colorbox-lt.js
new file mode 100644
index 000000000..a513fcf62
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-lt.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Lithuanian (lt)
+ translated by: Tomas Norkūnas
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Nuotrauka {current} iš {total}",
+ previous: "Atgal",
+ next: "Pirmyn",
+ close: "Uždaryti",
+ xhrError: "Nepavyko užkrauti turinio.",
+ imgError: "Nepavyko užkrauti nuotraukos.",
+ slideshowStart: "Pradėti automatinę peržiūrą",
+ slideshowStop: "Sustabdyti automatinę peržiūrą"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-lv.js b/library/colorbox/i18n/jquery.colorbox-lv.js
new file mode 100644
index 000000000..e376366b9
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-lv.js
@@ -0,0 +1,16 @@
+/*
+ jQuery Colorbox language configuration
+ language: Latvian (lv)
+ translated by: Matiss Roberts Treinis
+ site: x0.lv
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "attēls {current} no {total}",
+ previous: "iepriekšējais",
+ next: "nÄkamais",
+ close: "aizvērt",
+ xhrError: "NeizdevÄs ielÄdÄ“t saturu.",
+ imgError: "NeizdevÄs ielÄdÄ“t attÄ“lu.",
+ slideshowStart: "sÄkt slaidrÄdi",
+ slideshowStop: "apturÄ“t slaidrÄdi"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-my.js b/library/colorbox/i18n/jquery.colorbox-my.js
new file mode 100644
index 000000000..216e252cc
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-my.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Myanmar (my)
+ translated by: Yan Naing
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "ပုံ {total} မှာ {current} မြောက်ပုံ",
+ previous: "ရှေ့သို့",
+ next: "နောက်သို့",
+ close: "ပိá€á€ºá€™á€Šá€º",
+ xhrError: "ပါá€á€„်သော အကြောင်းအရာများ ဖော်ပြရာá€á€½á€„် အနည်းငယ် á€á€»á€­á€¯á€·á€šá€½á€„်းမှုရှိနေပါသည်",
+ imgError: "ပုံပြသရာá€á€½á€„် အနည်းငယ် á€á€»á€­á€¯á€·á€šá€½á€„်းá€á€»á€€á€º ရှိနေပါသည်",
+ slideshowStart: "ပုံများ စá€á€„်ပြသမည်",
+ slideshowStop: "ပုံပြသá€á€¼á€„်း ရပ်ဆိုင်မည်"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-nl.js b/library/colorbox/i18n/jquery.colorbox-nl.js
new file mode 100644
index 000000000..dfc658ec9
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-nl.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Dutch (nl)
+ translated by: barryvdh
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Afbeelding {current} van {total}",
+ previous: "Vorige",
+ next: "Volgende",
+ close: "Sluiten",
+ xhrError: "Deze inhoud kan niet geladen worden.",
+ imgError: "Deze afbeelding kan niet geladen worden.",
+ slideshowStart: "Diashow starten",
+ slideshowStop: "Diashow stoppen"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-no.js b/library/colorbox/i18n/jquery.colorbox-no.js
new file mode 100644
index 000000000..277c5d3f9
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-no.js
@@ -0,0 +1,16 @@
+/*
+ jQuery Colorbox language configuration
+ language: Norwegian (no)
+ translated by: lars-erik
+ site: markedspartner.no
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Bilde {current} av {total}",
+ previous: "Forrige",
+ next: "Neste",
+ close: "Lukk",
+ xhrError: "Feil ved lasting av innhold.",
+ imgError: "Feil ved lasting av bilde.",
+ slideshowStart: "Start lysbildefremvisning",
+ slideshowStop: "Stopp lysbildefremvisning"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-pl.js b/library/colorbox/i18n/jquery.colorbox-pl.js
new file mode 100644
index 000000000..1c04dae18
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-pl.js
@@ -0,0 +1,16 @@
+/*
+ jQuery Colorbox language configuration
+ language: Polski (pl)
+ translated by: Tomasz Wasiński
+ site: 2bevisible.pl
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "{current}. obrazek z {total}",
+ previous: "Poprzedni",
+ next: "Następny",
+ close: "Zamknij",
+ xhrError: "Nie udało się załadować treści.",
+ imgError: "Nie udało się załadować obrazka.",
+ slideshowStart: "rozpocznij pokaz slajdów",
+ slideshowStop: "zatrzymaj pokaz slajdów"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-pt-BR.js b/library/colorbox/i18n/jquery.colorbox-pt-BR.js
new file mode 100644
index 000000000..a405d93df
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-pt-BR.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Brazilian Portuguese (pt-BR)
+ translated by: ReinaldoMT
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Imagem {current} de {total}",
+ previous: "Anterior",
+ next: "Próxima",
+ close: "Fechar",
+ slideshowStart: "iniciar apresentação de slides",
+ slideshowStop: "parar apresentação de slides",
+ xhrError: "Erro ao carregar o conteúdo.",
+ imgError: "Erro ao carregar a imagem."
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-ro.js b/library/colorbox/i18n/jquery.colorbox-ro.js
new file mode 100644
index 000000000..0a461e28a
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-ro.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Romanian (ro)
+ translated by: shurub3l
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "imagine {current} din {total}",
+ previous: "precedenta",
+ next: "următoarea",
+ close: "închideți",
+ xhrError: "Acest conținut nu poate fi încărcat.",
+ imgError: "Această imagine nu poate fi încărcată",
+ slideshowStart: "începeți prezentarea (slideshow)",
+ slideshowStop: "opriți prezentarea (slideshow)"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-ru.js b/library/colorbox/i18n/jquery.colorbox-ru.js
index c9c220068..1d88b8cda 100644
--- a/library/colorbox/i18n/jquery.colorbox-ru.js
+++ b/library/colorbox/i18n/jquery.colorbox-ru.js
@@ -1,14 +1,16 @@
/*
- jQuery ColorBox language configuration
+ jQuery Colorbox language configuration
language: Russian (ru)
translated by: Marfa
- site: themarfa.name
+ site: themarfa.name
*/
jQuery.extend(jQuery.colorbox.settings, {
current: "изображение {current} из {total}",
- previous: "предыдущее",
- next: "Ñледующее",
+ previous: "назад",
+ next: "вперёд",
close: "закрыть",
xhrError: "Ðе удалоÑÑŒ загрузить Ñодержимое.",
- imgError: "Ðе удалоÑÑŒ загрузить изображение."
+ imgError: "Ðе удалоÑÑŒ загрузить изображение.",
+ slideshowStart: "начать Ñлайд-шоу",
+ slideshowStop: "оÑтановить Ñлайд-шоу"
}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-si.js b/library/colorbox/i18n/jquery.colorbox-si.js
new file mode 100644
index 000000000..034b5b3c4
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-si.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Slovenian (si)
+ translated by: Boštjan Pišler (pisler.si)
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Slika {current} od {total}",
+ previous: "Prejšnja",
+ next: "Naslednja",
+ close: "Zapri",
+ xhrError: "Vsebine ni bilo mogoÄe naložiti.",
+ imgError: "Slike ni bilo mogoÄe naložiti.",
+ slideshowStart: "Zaženi prezentacijo",
+ slideshowStop: "Zaustavi prezentacijo"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-sk.js b/library/colorbox/i18n/jquery.colorbox-sk.js
new file mode 100644
index 000000000..faa9291cb
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-sk.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Slovak (sk)
+ translated by: Jaroslav Kostal
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "{current}. obrázok z {total}",
+ previous: "Predchádzajúci",
+ next: "Následujúci",
+ close: "Zatvoriť",
+ xhrError: "Obsah sa nepodarilo naÄítaÅ¥.",
+ imgError: "Obrázok sa nepodarilo naÄítaÅ¥.",
+ slideshowStart: "Spustiť slideshow",
+ slideshowStop: "zastaviť slideshow"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-sr.js b/library/colorbox/i18n/jquery.colorbox-sr.js
new file mode 100644
index 000000000..618e73c4a
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-sr.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Serbian (sr)
+ translated by: Sasa Stefanovic (baguje.com)
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Slika {current} od {total}",
+ previous: "Prethodna",
+ next: "Sledeća",
+ close: "Zatvori",
+ xhrError: "NeuspeÅ¡no uÄitavanje sadržaja.",
+ imgError: "NeuspeÅ¡no uÄitavanje slike.",
+ slideshowStart: "Pokreni slideshow",
+ slideshowStop: "Zaustavi slideshow"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-sv.js b/library/colorbox/i18n/jquery.colorbox-sv.js
new file mode 100644
index 000000000..01bb1d8c6
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-sv.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Swedish (sv)
+ translated by: Mattias Reichel
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Bild {current} av {total}",
+ previous: "Föregående",
+ next: "Nästa",
+ close: "Stäng",
+ xhrError: "Innehållet kunde inte laddas.",
+ imgError: "Den här bilden kunde inte laddas.",
+ slideshowStart: "Starta bildspel",
+ slideshowStop: "Stoppa bildspel"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-tr.js b/library/colorbox/i18n/jquery.colorbox-tr.js
new file mode 100644
index 000000000..d467c2ef1
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-tr.js
@@ -0,0 +1,19 @@
+/*
+ jQuery Colorbox language configuration
+ language: Turkish (tr)
+ translated by: Caner ÖNCEL
+ site: egonomik.com
+
+ edited by: Sinan Eldem
+ www.sinaneldem.com.tr
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Görsel {current} / {total}",
+ previous: "Önceki",
+ next: "Sonraki",
+ close: "Kapat",
+ xhrError: "İçerik yüklenirken hata meydana geldi.",
+ imgError: "Resim yüklenirken hata meydana geldi.",
+ slideshowStart: "Slaytı Başlat",
+ slideshowStop: "Slaytı Durdur"
+});
diff --git a/library/colorbox/i18n/jquery.colorbox-uk.js b/library/colorbox/i18n/jquery.colorbox-uk.js
new file mode 100644
index 000000000..3f786d3f4
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-uk.js
@@ -0,0 +1,16 @@
+/*
+ jQuery ColorBox language configuration
+ language: Ukrainian (uk)
+ translated by: Andrew
+ http://acisoftware.com.ua
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ {current} з {total}",
+ previous: "попереднє",
+ next: "наÑтупне",
+ close: "закрити",
+ xhrError: "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ вміÑÑ‚.",
+ imgError: "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ зображеннÑ.",
+ slideshowStart: "почати Ñлайд-шоу",
+ slideshowStop: "зупинити Ñлайд-шоу"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-zh-CN.js b/library/colorbox/i18n/jquery.colorbox-zh-CN.js
new file mode 100644
index 000000000..770d8eacf
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-zh-CN.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Chinese Simplified (zh-CN)
+ translated by: zhao weiming
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "当å‰å›¾åƒ {current} 总共 {total}",
+ previous: "å‰ä¸€é¡µ",
+ next: "åŽä¸€é¡µ",
+ close: "关闭",
+ xhrError: "此内容无法加载",
+ imgError: "此图片无法加载",
+ slideshowStart: "开始播放幻ç¯ç‰‡",
+ slideshowStop: "åœæ­¢æ’­æ”¾å¹»ç¯ç‰‡"
+}); \ No newline at end of file
diff --git a/library/colorbox/i18n/jquery.colorbox-zh-TW.js b/library/colorbox/i18n/jquery.colorbox-zh-TW.js
new file mode 100644
index 000000000..b0c4f123d
--- /dev/null
+++ b/library/colorbox/i18n/jquery.colorbox-zh-TW.js
@@ -0,0 +1,15 @@
+/*
+ jQuery Colorbox language configuration
+ language: Chinese Traditional (zh-TW)
+ translated by: Atans Chiu
+*/
+jQuery.extend(jQuery.colorbox.settings, {
+ current: "圖片 {current} 總共 {total}",
+ previous: "上一é ",
+ next: "下一é ",
+ close: "關閉",
+ xhrError: "此內容加載失敗.",
+ imgError: "此圖片加載失敗.",
+ slideshowStart: "開始幻燈片",
+ slideshowStop: "çµæŸå¹»ç‡ˆç‰‡"
+}); \ No newline at end of file
diff --git a/library/colorbox/images/border.png b/library/colorbox/images/border.png
deleted file mode 100644
index df13bb6da..000000000
--- a/library/colorbox/images/border.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/images/controls.png b/library/colorbox/images/controls.png
deleted file mode 100644
index 65cfd1dc9..000000000
--- a/library/colorbox/images/controls.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/images/loading.gif b/library/colorbox/images/loading.gif
deleted file mode 100644
index b4695d811..000000000
--- a/library/colorbox/images/loading.gif
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/images/loading_background.png b/library/colorbox/images/loading_background.png
deleted file mode 100644
index 9de11f467..000000000
--- a/library/colorbox/images/loading_background.png
+++ /dev/null
Binary files differ
diff --git a/library/colorbox/jquery.colorbox-min.js b/library/colorbox/jquery.colorbox-min.js
index 969064042..c0cbe5cb7 100644
--- a/library/colorbox/jquery.colorbox-min.js
+++ b/library/colorbox/jquery.colorbox-min.js
@@ -1 +1,6 @@
-(function($,document,window){var defaults={transition:"elastic",speed:300,width:false,initialWidth:"600",innerWidth:false,maxWidth:false,height:false,initialHeight:"450",innerHeight:false,maxHeight:false,scalePhotos:true,scrolling:true,inline:false,html:false,iframe:false,fastIframe:true,photo:false,href:false,title:false,rel:false,opacity:.9,preloading:true,className:false,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",open:false,returnFocus:true,reposition:true,loop:true,slideshow:false,slideshowAuto:true,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:false,onLoad:false,onComplete:false,onCleanup:false,onClosed:false,overlayClose:true,escKey:true,arrowKey:true,top:false,bottom:false,left:false,right:false,fixed:false,data:undefined},colorbox="colorbox",prefix="cbox",boxElement=prefix+"Element",event_open=prefix+"_open",event_load=prefix+"_load",event_complete=prefix+"_complete",event_cleanup=prefix+"_cleanup",event_closed=prefix+"_closed",event_purge=prefix+"_purge",isIE=!$.support.leadingWhitespace,isIE6=isIE&&!window.XMLHttpRequest,event_ie6=prefix+"_IE6",$overlay,$box,$wrap,$content,$topBorder,$leftBorder,$rightBorder,$bottomBorder,$related,$window,$loaded,$loadingBay,$loadingOverlay,$title,$current,$slideshow,$next,$prev,$close,$groupControls,$events=$({}),settings,interfaceHeight,interfaceWidth,loadedHeight,loadedWidth,element,index,photo,open,active,closing,loadingTimer,publicMethod,div="div",className,init;function $tag(tag,id,css){var element=document.createElement(tag);if(id){element.id=prefix+id}if(css){element.style.cssText=css}return $(element)}function getIndex(increment){var max=$related.length,newIndex=(index+increment)%max;return newIndex<0?max+newIndex:newIndex}function setSize(size,dimension){return Math.round((/%/.test(size)?(dimension==="x"?$window.width():$window.height())/100:1)*parseInt(size,10))}function isImage(url){return settings.photo||/\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i.test(url)}function makeSettings(){var i,data=$.data(element,colorbox);if(data==null){settings=$.extend({},defaults);if(console&&console.log){console.log("Error: cboxElement missing settings object")}}else{settings=$.extend({},data)}for(i in settings){if($.isFunction(settings[i])&&i.slice(0,2)!=="on"){settings[i]=settings[i].call(element)}}settings.rel=settings.rel||element.rel||$(element).data("rel")||"nofollow";settings.href=settings.href||$(element).attr("href");settings.title=settings.title||element.title;if(typeof settings.href==="string"){settings.href=$.trim(settings.href)}}function trigger(event,callback){$(document).trigger(event);$events.trigger(event);if($.isFunction(callback)){callback.call(element)}}function slideshow(){var timeOut,className=prefix+"Slideshow_",click="click."+prefix,clear,set,start,stop;if(settings.slideshow&&$related[1]){clear=function(){clearTimeout(timeOut)};set=function(){if(settings.loop||$related[index+1]){timeOut=setTimeout(publicMethod.next,settings.slideshowSpeed)}};start=function(){$slideshow.html(settings.slideshowStop).unbind(click).one(click,stop);$events.bind(event_complete,set).bind(event_load,clear).bind(event_cleanup,stop);$box.removeClass(className+"off").addClass(className+"on")};stop=function(){clear();$events.unbind(event_complete,set).unbind(event_load,clear).unbind(event_cleanup,stop);$slideshow.html(settings.slideshowStart).unbind(click).one(click,function(){publicMethod.next();start()});$box.removeClass(className+"on").addClass(className+"off")};if(settings.slideshowAuto){start()}else{stop()}}else{$box.removeClass(className+"off "+className+"on")}}function launch(target){if(!closing){element=target;makeSettings();$related=$(element);index=0;if(settings.rel!=="nofollow"){$related=$("."+boxElement).filter(function(){var data=$.data(this,colorbox),relRelated;if(data){relRelated=$(this).data("rel")||data.rel||this.rel}return relRelated===settings.rel});index=$related.index(element);if(index===-1){$related=$related.add(element);index=$related.length-1}}if(!open){open=active=true;$box.css({visibility:"hidden",display:"block"});$loaded=$tag(div,"LoadedContent","width:0; height:0; overflow:hidden").appendTo($content);interfaceHeight=$topBorder.height()+$bottomBorder.height()+$content.outerHeight(true)-$content.height();interfaceWidth=$leftBorder.width()+$rightBorder.width()+$content.outerWidth(true)-$content.width();loadedHeight=$loaded.outerHeight(true);loadedWidth=$loaded.outerWidth(true);if(settings.returnFocus){$(element).blur();$events.one(event_closed,function(){$(element).focus()})}$overlay.css({opacity:parseFloat(settings.opacity),cursor:settings.overlayClose?"pointer":"auto",visibility:"visible"}).show();settings.w=setSize(settings.initialWidth,"x");settings.h=setSize(settings.initialHeight,"y");publicMethod.position();if(isIE6){$window.bind("resize."+event_ie6+" scroll."+event_ie6,function(){$overlay.css({width:$window.width(),height:$window.height(),top:$window.scrollTop(),left:$window.scrollLeft()})}).trigger("resize."+event_ie6)}slideshow();trigger(event_open,settings.onOpen);$groupControls.add($title).hide();$close.html(settings.close).show()}publicMethod.load(true)}}function appendHTML(){if(!$box&&document.body){init=false;$window=$(window);$box=$tag(div).attr({id:colorbox,"class":isIE?prefix+(isIE6?"IE6":"IE"):""}).hide();$overlay=$tag(div,"Overlay",isIE6?"position:absolute":"").hide();$loadingOverlay=$tag(div,"LoadingOverlay").add($tag(div,"LoadingGraphic"));$wrap=$tag(div,"Wrapper");$content=$tag(div,"Content").append($title=$tag(div,"Title"),$current=$tag(div,"Current"),$next=$tag(div,"Next"),$prev=$tag(div,"Previous"),$slideshow=$tag(div,"Slideshow"),$close=$tag(div,"Close"));$wrap.append($tag(div).append($tag(div,"TopLeft"),$topBorder=$tag(div,"TopCenter"),$tag(div,"TopRight")),$tag(div,false,"clear:left").append($leftBorder=$tag(div,"MiddleLeft"),$content,$rightBorder=$tag(div,"MiddleRight")),$tag(div,false,"clear:left").append($tag(div,"BottomLeft"),$bottomBorder=$tag(div,"BottomCenter"),$tag(div,"BottomRight"))).find("div div").css({"float":"left"});$loadingBay=$tag(div,false,"position:absolute; width:9999px; visibility:hidden; display:none");$groupControls=$next.add($prev).add($current).add($slideshow);$(document.body).append($overlay,$box.append($wrap,$loadingBay))}}function addBindings(){function clickHandler(e){if(!(e.which>1||e.shiftKey||e.altKey||e.metaKey)){e.preventDefault();launch(this)}}if($box){if(!init){init=true;$next.click(function(){publicMethod.next()});$prev.click(function(){publicMethod.prev()});$close.click(function(){publicMethod.close()});$overlay.click(function(){if(settings.overlayClose){publicMethod.close()}});$(document).bind("keydown."+prefix,function(e){var key=e.keyCode;if(open&&settings.escKey&&key===27){e.preventDefault();publicMethod.close()}if(open&&settings.arrowKey&&$related[1]){if(key===37){e.preventDefault();$prev.click()}else if(key===39){e.preventDefault();$next.click()}}});if($.isFunction($.fn.on)){$(document).on("click."+prefix,"."+boxElement,clickHandler)}else{$("."+boxElement).live("click."+prefix,clickHandler)}}return true}return false}if($.colorbox){return}$(appendHTML);publicMethod=$.fn[colorbox]=$[colorbox]=function(options,callback){var $this=this;options=options||{};appendHTML();if(addBindings()){if($.isFunction($this)){$this=$("<a/>");options.open=true}else if(!$this[0]){return $this}if(callback){options.onComplete=callback}$this.each(function(){$.data(this,colorbox,$.extend({},$.data(this,colorbox)||defaults,options))}).addClass(boxElement);if($.isFunction(options.open)&&options.open.call($this)||options.open){launch($this[0])}}return $this};publicMethod.position=function(speed,loadedCallback){var css,top=0,left=0,offset=$box.offset(),scrollTop,scrollLeft;$window.unbind("resize."+prefix);$box.css({top:-9e4,left:-9e4});scrollTop=$window.scrollTop();scrollLeft=$window.scrollLeft();if(settings.fixed&&!isIE6){offset.top-=scrollTop;offset.left-=scrollLeft;$box.css({position:"fixed"})}else{top=scrollTop;left=scrollLeft;$box.css({position:"absolute"})}if(settings.right!==false){left+=Math.max($window.width()-settings.w-loadedWidth-interfaceWidth-setSize(settings.right,"x"),0)}else if(settings.left!==false){left+=setSize(settings.left,"x")}else{left+=Math.round(Math.max($window.width()-settings.w-loadedWidth-interfaceWidth,0)/2)}if(settings.bottom!==false){top+=Math.max($window.height()-settings.h-loadedHeight-interfaceHeight-setSize(settings.bottom,"y"),0)}else if(settings.top!==false){top+=setSize(settings.top,"y")}else{top+=Math.round(Math.max($window.height()-settings.h-loadedHeight-interfaceHeight,0)/2)}$box.css({top:offset.top,left:offset.left,visibility:"visible"});speed=$box.width()===settings.w+loadedWidth&&$box.height()===settings.h+loadedHeight?0:speed||0;$wrap[0].style.width=$wrap[0].style.height="9999px";function modalDimensions(that){$topBorder[0].style.width=$bottomBorder[0].style.width=$content[0].style.width=parseInt(that.style.width,10)-interfaceWidth+"px";$content[0].style.height=$leftBorder[0].style.height=$rightBorder[0].style.height=parseInt(that.style.height,10)-interfaceHeight+"px"}css={width:settings.w+loadedWidth+interfaceWidth,height:settings.h+loadedHeight+interfaceHeight,top:top,left:left};if(speed===0){$box.css(css)}$box.dequeue().animate(css,{duration:speed,complete:function(){modalDimensions(this);active=false;$wrap[0].style.width=settings.w+loadedWidth+interfaceWidth+"px";$wrap[0].style.height=settings.h+loadedHeight+interfaceHeight+"px";if(settings.reposition){setTimeout(function(){$window.bind("resize."+prefix,publicMethod.position)},1)}if(loadedCallback){loadedCallback()}},step:function(){modalDimensions(this)}})};publicMethod.resize=function(options){if(open){options=options||{};if(options.width){settings.w=setSize(options.width,"x")-loadedWidth-interfaceWidth}if(options.innerWidth){settings.w=setSize(options.innerWidth,"x")}$loaded.css({width:settings.w});if(options.height){settings.h=setSize(options.height,"y")-loadedHeight-interfaceHeight}if(options.innerHeight){settings.h=setSize(options.innerHeight,"y")}if(!options.innerHeight&&!options.height){$loaded.css({height:"auto"});settings.h=$loaded.height()}$loaded.css({height:settings.h});publicMethod.position(settings.transition==="none"?0:settings.speed)}};publicMethod.prep=function(object){if(!open){return}var callback,speed=settings.transition==="none"?0:settings.speed;$loaded.empty().remove();$loaded=$tag(div,"LoadedContent").append(object);function getWidth(){settings.w=settings.w||$loaded.width();settings.w=settings.mw&&settings.mw<settings.w?settings.mw:settings.w;return settings.w}function getHeight(){settings.h=settings.h||$loaded.height();settings.h=settings.mh&&settings.mh<settings.h?settings.mh:settings.h;return settings.h}$loaded.hide().appendTo($loadingBay.show()).css({width:getWidth(),overflow:settings.scrolling?"auto":"hidden"}).css({height:getHeight()}).prependTo($content);$loadingBay.hide();$(photo).css({"float":"none"});callback=function(){var total=$related.length,iframe,frameBorder="frameBorder",allowTransparency="allowTransparency",complete;if(!open){return}function removeFilter(){if(isIE){$box[0].style.removeAttribute("filter")}}complete=function(){clearTimeout(loadingTimer);$loadingOverlay.remove();trigger(event_complete,settings.onComplete)};if(isIE){if(photo){$loaded.fadeIn(100)}}$title.html(settings.title).add($loaded).show();if(total>1){if(typeof settings.current==="string"){$current.html(settings.current.replace("{current}",index+1).replace("{total}",total)).show()}$next[settings.loop||index<total-1?"show":"hide"]().html(settings.next);$prev[settings.loop||index?"show":"hide"]().html(settings.previous);if(settings.slideshow){$slideshow.show()}if(settings.preloading){$.each([getIndex(-1),getIndex(1)],function(){var src,img,i=$related[this],data=$.data(i,colorbox);if(data&&data.href){src=data.href;if($.isFunction(src)){src=src.call(i)}}else{src=$(i).attr("href")}if(src&&(isImage(src)||data.photo)){img=new Image;img.src=src}})}}else{$groupControls.hide()}if(settings.iframe){iframe=$tag("iframe")[0];if(frameBorder in iframe){iframe[frameBorder]=0}if(allowTransparency in iframe){iframe[allowTransparency]="true"}if(!settings.scrolling){iframe.scrolling="no"}$(iframe).attr({src:settings.href,name:(new Date).getTime(),"class":prefix+"Iframe",allowFullScreen:true,webkitAllowFullScreen:true,mozallowfullscreen:true}).one("load",complete).appendTo($loaded);$events.one(event_purge,function(){iframe.src="//about:blank"});if(settings.fastIframe){$(iframe).trigger("load")}}else{complete()}if(settings.transition==="fade"){$box.fadeTo(speed,1,removeFilter)}else{removeFilter()}};if(settings.transition==="fade"){$box.fadeTo(speed,0,function(){publicMethod.position(0,callback)})}else{publicMethod.position(speed,callback)}};publicMethod.load=function(launched){var href,setResize,prep=publicMethod.prep,$inline;active=true;photo=false;element=$related[index];if(!launched){makeSettings()}if(className){$box.add($overlay).removeClass(className)}if(settings.className){$box.add($overlay).addClass(settings.className)}className=settings.className;trigger(event_purge);trigger(event_load,settings.onLoad);settings.h=settings.height?setSize(settings.height,"y")-loadedHeight-interfaceHeight:settings.innerHeight&&setSize(settings.innerHeight,"y");settings.w=settings.width?setSize(settings.width,"x")-loadedWidth-interfaceWidth:settings.innerWidth&&setSize(settings.innerWidth,"x");settings.mw=settings.w;settings.mh=settings.h;if(settings.maxWidth){settings.mw=setSize(settings.maxWidth,"x")-loadedWidth-interfaceWidth;settings.mw=settings.w&&settings.w<settings.mw?settings.w:settings.mw}if(settings.maxHeight){settings.mh=setSize(settings.maxHeight,"y")-loadedHeight-interfaceHeight;settings.mh=settings.h&&settings.h<settings.mh?settings.h:settings.mh}href=settings.href;loadingTimer=setTimeout(function(){$loadingOverlay.appendTo($content)},100);if(settings.inline){$inline=$tag(div).hide().insertBefore($(href)[0]);$events.one(event_purge,function(){$inline.replaceWith($loaded.children())});prep($(href))}else if(settings.iframe){prep(" ")}else if(settings.html){prep(settings.html)}else if(isImage(href)){$(photo=new Image).addClass(prefix+"Photo").bind("error",function(){settings.title=false;prep($tag(div,"Error").html(settings.imgError))}).one("load",function(){var percent;if(settings.scalePhotos){setResize=function(){photo.height-=photo.height*percent;photo.width-=photo.width*percent};if(settings.mw&&photo.width>settings.mw){percent=(photo.width-settings.mw)/photo.width;setResize()}if(settings.mh&&photo.height>settings.mh){percent=(photo.height-settings.mh)/photo.height;setResize()}}if(settings.h){photo.style.marginTop=Math.max(settings.mh-photo.height,0)/2+"px"}if($related[1]&&(settings.loop||$related[index+1])){photo.style.cursor="pointer";photo.onclick=function(){publicMethod.next()}}if(isIE){photo.style.msInterpolationMode="bicubic"}setTimeout(function(){prep(photo)},1)});setTimeout(function(){photo.src=href},1)}else if(href){$loadingBay.load(href,settings.data,function(data,status){prep(status==="error"?$tag(div,"Error").html(settings.xhrError):$(this).contents())})}};publicMethod.next=function(){if(!active&&$related[1]&&(settings.loop||$related[index+1])){index=getIndex(1);publicMethod.load()}};publicMethod.prev=function(){if(!active&&$related[1]&&(settings.loop||index)){index=getIndex(-1);publicMethod.load()}};publicMethod.close=function(){if(open&&!closing){closing=true;open=false;trigger(event_cleanup,settings.onCleanup);$window.unbind("."+prefix+" ."+event_ie6);$overlay.fadeTo(200,0);$box.stop().fadeTo(300,0,function(){$box.add($overlay).css({opacity:1,cursor:"auto"}).hide();trigger(event_purge);$loaded.empty().remove();setTimeout(function(){closing=false;trigger(event_closed,settings.onClosed)},1)})}};publicMethod.remove=function(){$([]).add($box).add($overlay).remove();$box=null;$("."+boxElement).removeData(colorbox).removeClass(boxElement);$(document).unbind("click."+prefix)};publicMethod.element=function(){return $(element)};publicMethod.settings=defaults})(jQuery,document,window); \ No newline at end of file
+/*!
+ Colorbox 1.5.14
+ license: MIT
+ http://www.jacklmoore.com/colorbox
+*/
+(function(t,e,i){function n(i,n,o){var r=e.createElement(i);return n&&(r.id=Z+n),o&&(r.style.cssText=o),t(r)}function o(){return i.innerHeight?i.innerHeight:t(i).height()}function r(e,i){i!==Object(i)&&(i={}),this.cache={},this.el=e,this.value=function(e){var n;return void 0===this.cache[e]&&(n=t(this.el).attr("data-cbox-"+e),void 0!==n?this.cache[e]=n:void 0!==i[e]?this.cache[e]=i[e]:void 0!==X[e]&&(this.cache[e]=X[e])),this.cache[e]},this.get=function(e){var i=this.value(e);return t.isFunction(i)?i.call(this.el,this):i}}function h(t){var e=W.length,i=(z+t)%e;return 0>i?e+i:i}function a(t,e){return Math.round((/%/.test(t)?("x"===e?E.width():o())/100:1)*parseInt(t,10))}function s(t,e){return t.get("photo")||t.get("photoRegex").test(e)}function l(t,e){return t.get("retinaUrl")&&i.devicePixelRatio>1?e.replace(t.get("photoRegex"),t.get("retinaSuffix")):e}function d(t){"contains"in y[0]&&!y[0].contains(t.target)&&t.target!==v[0]&&(t.stopPropagation(),y.focus())}function c(t){c.str!==t&&(y.add(v).removeClass(c.str).addClass(t),c.str=t)}function g(e){z=0,e&&e!==!1&&"nofollow"!==e?(W=t("."+te).filter(function(){var i=t.data(this,Y),n=new r(this,i);return n.get("rel")===e}),z=W.index(_.el),-1===z&&(W=W.add(_.el),z=W.length-1)):W=t(_.el)}function u(i){t(e).trigger(i),ae.triggerHandler(i)}function f(i){var o;if(!G){if(o=t(i).data(Y),_=new r(i,o),g(_.get("rel")),!$){$=q=!0,c(_.get("className")),y.css({visibility:"hidden",display:"block",opacity:""}),L=n(se,"LoadedContent","width:0; height:0; overflow:hidden; visibility:hidden"),b.css({width:"",height:""}).append(L),D=T.height()+k.height()+b.outerHeight(!0)-b.height(),j=C.width()+H.width()+b.outerWidth(!0)-b.width(),A=L.outerHeight(!0),N=L.outerWidth(!0);var h=a(_.get("initialWidth"),"x"),s=a(_.get("initialHeight"),"y"),l=_.get("maxWidth"),f=_.get("maxHeight");_.w=(l!==!1?Math.min(h,a(l,"x")):h)-N-j,_.h=(f!==!1?Math.min(s,a(f,"y")):s)-A-D,L.css({width:"",height:_.h}),J.position(),u(ee),_.get("onOpen"),O.add(F).hide(),y.focus(),_.get("trapFocus")&&e.addEventListener&&(e.addEventListener("focus",d,!0),ae.one(re,function(){e.removeEventListener("focus",d,!0)})),_.get("returnFocus")&&ae.one(re,function(){t(_.el).focus()})}var p=parseFloat(_.get("opacity"));v.css({opacity:p===p?p:"",cursor:_.get("overlayClose")?"pointer":"",visibility:"visible"}).show(),_.get("closeButton")?B.html(_.get("close")).appendTo(b):B.appendTo("<div/>"),w()}}function p(){y||(V=!1,E=t(i),y=n(se).attr({id:Y,"class":t.support.opacity===!1?Z+"IE":"",role:"dialog",tabindex:"-1"}).hide(),v=n(se,"Overlay").hide(),S=t([n(se,"LoadingOverlay")[0],n(se,"LoadingGraphic")[0]]),x=n(se,"Wrapper"),b=n(se,"Content").append(F=n(se,"Title"),I=n(se,"Current"),P=t('<button type="button"/>').attr({id:Z+"Previous"}),K=t('<button type="button"/>').attr({id:Z+"Next"}),R=n("button","Slideshow"),S),B=t('<button type="button"/>').attr({id:Z+"Close"}),x.append(n(se).append(n(se,"TopLeft"),T=n(se,"TopCenter"),n(se,"TopRight")),n(se,!1,"clear:left").append(C=n(se,"MiddleLeft"),b,H=n(se,"MiddleRight")),n(se,!1,"clear:left").append(n(se,"BottomLeft"),k=n(se,"BottomCenter"),n(se,"BottomRight"))).find("div div").css({"float":"left"}),M=n(se,!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),O=K.add(P).add(I).add(R)),e.body&&!y.parent().length&&t(e.body).append(v,y.append(x,M))}function m(){function i(t){t.which>1||t.shiftKey||t.altKey||t.metaKey||t.ctrlKey||(t.preventDefault(),f(this))}return y?(V||(V=!0,K.click(function(){J.next()}),P.click(function(){J.prev()}),B.click(function(){J.close()}),v.click(function(){_.get("overlayClose")&&J.close()}),t(e).bind("keydown."+Z,function(t){var e=t.keyCode;$&&_.get("escKey")&&27===e&&(t.preventDefault(),J.close()),$&&_.get("arrowKey")&&W[1]&&!t.altKey&&(37===e?(t.preventDefault(),P.click()):39===e&&(t.preventDefault(),K.click()))}),t.isFunction(t.fn.on)?t(e).on("click."+Z,"."+te,i):t("."+te).live("click."+Z,i)),!0):!1}function w(){var e,o,r,h=J.prep,d=++le;if(q=!0,U=!1,u(he),u(ie),_.get("onLoad"),_.h=_.get("height")?a(_.get("height"),"y")-A-D:_.get("innerHeight")&&a(_.get("innerHeight"),"y"),_.w=_.get("width")?a(_.get("width"),"x")-N-j:_.get("innerWidth")&&a(_.get("innerWidth"),"x"),_.mw=_.w,_.mh=_.h,_.get("maxWidth")&&(_.mw=a(_.get("maxWidth"),"x")-N-j,_.mw=_.w&&_.w<_.mw?_.w:_.mw),_.get("maxHeight")&&(_.mh=a(_.get("maxHeight"),"y")-A-D,_.mh=_.h&&_.h<_.mh?_.h:_.mh),e=_.get("href"),Q=setTimeout(function(){S.show()},100),_.get("inline")){var c=t(e);r=t("<div>").hide().insertBefore(c),ae.one(he,function(){r.replaceWith(c)}),h(c)}else _.get("iframe")?h(" "):_.get("html")?h(_.get("html")):s(_,e)?(e=l(_,e),U=new Image,t(U).addClass(Z+"Photo").bind("error",function(){h(n(se,"Error").html(_.get("imgError")))}).one("load",function(){d===le&&setTimeout(function(){var e;t.each(["alt","longdesc","aria-describedby"],function(e,i){var n=t(_.el).attr(i)||t(_.el).attr("data-"+i);n&&U.setAttribute(i,n)}),_.get("retinaImage")&&i.devicePixelRatio>1&&(U.height=U.height/i.devicePixelRatio,U.width=U.width/i.devicePixelRatio),_.get("scalePhotos")&&(o=function(){U.height-=U.height*e,U.width-=U.width*e},_.mw&&U.width>_.mw&&(e=(U.width-_.mw)/U.width,o()),_.mh&&U.height>_.mh&&(e=(U.height-_.mh)/U.height,o())),_.h&&(U.style.marginTop=Math.max(_.mh-U.height,0)/2+"px"),W[1]&&(_.get("loop")||W[z+1])&&(U.style.cursor="pointer",U.onclick=function(){J.next()}),U.style.width=U.width+"px",U.style.height=U.height+"px",h(U)},1)}),U.src=e):e&&M.load(e,_.get("data"),function(e,i){d===le&&h("error"===i?n(se,"Error").html(_.get("xhrError")):t(this).contents())})}var v,y,x,b,T,C,H,k,W,E,L,M,S,F,I,R,K,P,B,O,_,D,j,A,N,z,U,$,q,G,Q,J,V,X={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,rel:function(){return this.rel},href:function(){return t(this).attr("href")},title:function(){return this.title}},Y="colorbox",Z="cbox",te=Z+"Element",ee=Z+"_open",ie=Z+"_load",ne=Z+"_complete",oe=Z+"_cleanup",re=Z+"_closed",he=Z+"_purge",ae=t("<a/>"),se="div",le=0,de={},ce=function(){function t(){clearTimeout(h)}function e(){(_.get("loop")||W[z+1])&&(t(),h=setTimeout(J.next,_.get("slideshowSpeed")))}function i(){R.html(_.get("slideshowStop")).unbind(s).one(s,n),ae.bind(ne,e).bind(ie,t),y.removeClass(a+"off").addClass(a+"on")}function n(){t(),ae.unbind(ne,e).unbind(ie,t),R.html(_.get("slideshowStart")).unbind(s).one(s,function(){J.next(),i()}),y.removeClass(a+"on").addClass(a+"off")}function o(){r=!1,R.hide(),t(),ae.unbind(ne,e).unbind(ie,t),y.removeClass(a+"off "+a+"on")}var r,h,a=Z+"Slideshow_",s="click."+Z;return function(){r?_.get("slideshow")||(ae.unbind(oe,o),o()):_.get("slideshow")&&W[1]&&(r=!0,ae.one(oe,o),_.get("slideshowAuto")?i():n(),R.show())}}();t[Y]||(t(p),J=t.fn[Y]=t[Y]=function(e,i){var n,o=this;if(e=e||{},t.isFunction(o))o=t("<a/>"),e.open=!0;else if(!o[0])return o;return o[0]?(p(),m()&&(i&&(e.onComplete=i),o.each(function(){var i=t.data(this,Y)||{};t.data(this,Y,t.extend(i,e))}).addClass(te),n=new r(o[0],e),n.get("open")&&f(o[0])),o):o},J.position=function(e,i){function n(){T[0].style.width=k[0].style.width=b[0].style.width=parseInt(y[0].style.width,10)-j+"px",b[0].style.height=C[0].style.height=H[0].style.height=parseInt(y[0].style.height,10)-D+"px"}var r,h,s,l=0,d=0,c=y.offset();if(E.unbind("resize."+Z),y.css({top:-9e4,left:-9e4}),h=E.scrollTop(),s=E.scrollLeft(),_.get("fixed")?(c.top-=h,c.left-=s,y.css({position:"fixed"})):(l=h,d=s,y.css({position:"absolute"})),d+=_.get("right")!==!1?Math.max(E.width()-_.w-N-j-a(_.get("right"),"x"),0):_.get("left")!==!1?a(_.get("left"),"x"):Math.round(Math.max(E.width()-_.w-N-j,0)/2),l+=_.get("bottom")!==!1?Math.max(o()-_.h-A-D-a(_.get("bottom"),"y"),0):_.get("top")!==!1?a(_.get("top"),"y"):Math.round(Math.max(o()-_.h-A-D,0)/2),y.css({top:c.top,left:c.left,visibility:"visible"}),x[0].style.width=x[0].style.height="9999px",r={width:_.w+N+j,height:_.h+A+D,top:l,left:d},e){var g=0;t.each(r,function(t){return r[t]!==de[t]?(g=e,void 0):void 0}),e=g}de=r,e||y.css(r),y.dequeue().animate(r,{duration:e||0,complete:function(){n(),q=!1,x[0].style.width=_.w+N+j+"px",x[0].style.height=_.h+A+D+"px",_.get("reposition")&&setTimeout(function(){E.bind("resize."+Z,J.position)},1),t.isFunction(i)&&i()},step:n})},J.resize=function(t){var e;$&&(t=t||{},t.width&&(_.w=a(t.width,"x")-N-j),t.innerWidth&&(_.w=a(t.innerWidth,"x")),L.css({width:_.w}),t.height&&(_.h=a(t.height,"y")-A-D),t.innerHeight&&(_.h=a(t.innerHeight,"y")),t.innerHeight||t.height||(e=L.scrollTop(),L.css({height:"auto"}),_.h=L.height()),L.css({height:_.h}),e&&L.scrollTop(e),J.position("none"===_.get("transition")?0:_.get("speed")))},J.prep=function(i){function o(){return _.w=_.w||L.width(),_.w=_.mw&&_.mw<_.w?_.mw:_.w,_.w}function a(){return _.h=_.h||L.height(),_.h=_.mh&&_.mh<_.h?_.mh:_.h,_.h}if($){var d,g="none"===_.get("transition")?0:_.get("speed");L.remove(),L=n(se,"LoadedContent").append(i),L.hide().appendTo(M.show()).css({width:o(),overflow:_.get("scrolling")?"auto":"hidden"}).css({height:a()}).prependTo(b),M.hide(),t(U).css({"float":"none"}),c(_.get("className")),d=function(){function i(){t.support.opacity===!1&&y[0].style.removeAttribute("filter")}var n,o,a=W.length;$&&(o=function(){clearTimeout(Q),S.hide(),u(ne),_.get("onComplete")},F.html(_.get("title")).show(),L.show(),a>1?("string"==typeof _.get("current")&&I.html(_.get("current").replace("{current}",z+1).replace("{total}",a)).show(),K[_.get("loop")||a-1>z?"show":"hide"]().html(_.get("next")),P[_.get("loop")||z?"show":"hide"]().html(_.get("previous")),ce(),_.get("preloading")&&t.each([h(-1),h(1)],function(){var i,n=W[this],o=new r(n,t.data(n,Y)),h=o.get("href");h&&s(o,h)&&(h=l(o,h),i=e.createElement("img"),i.src=h)})):O.hide(),_.get("iframe")?(n=e.createElement("iframe"),"frameBorder"in n&&(n.frameBorder=0),"allowTransparency"in n&&(n.allowTransparency="true"),_.get("scrolling")||(n.scrolling="no"),t(n).attr({src:_.get("href"),name:(new Date).getTime(),"class":Z+"Iframe",allowFullScreen:!0}).one("load",o).appendTo(L),ae.one(he,function(){n.src="//about:blank"}),_.get("fastIframe")&&t(n).trigger("load")):o(),"fade"===_.get("transition")?y.fadeTo(g,1,i):i())},"fade"===_.get("transition")?y.fadeTo(g,0,function(){J.position(0,d)}):J.position(g,d)}},J.next=function(){!q&&W[1]&&(_.get("loop")||W[z+1])&&(z=h(1),f(W[z]))},J.prev=function(){!q&&W[1]&&(_.get("loop")||z)&&(z=h(-1),f(W[z]))},J.close=function(){$&&!G&&(G=!0,$=!1,u(oe),_.get("onCleanup"),E.unbind("."+Z),v.fadeTo(_.get("fadeOut")||0,0),y.stop().fadeTo(_.get("fadeOut")||0,0,function(){y.hide(),v.hide(),u(he),L.remove(),setTimeout(function(){G=!1,u(re),_.get("onClosed")},1)}))},J.remove=function(){y&&(y.stop(),t[Y].close(),y.stop(!1,!0).remove(),v.remove(),G=!1,y=null,t("."+te).removeData(Y).removeClass(te),t(e).unbind("click."+Z).unbind("keydown."+Z))},J.element=function(){return t(_.el)},J.settings=X)})(jQuery,document,window); \ No newline at end of file
diff --git a/library/colorbox/jquery.colorbox.js b/library/colorbox/jquery.colorbox.js
index 5b9aecdc2..c0348849e 100644
--- a/library/colorbox/jquery.colorbox.js
+++ b/library/colorbox/jquery.colorbox.js
@@ -1,15 +1,23 @@
-/*
- jQuery ColorBox v1.3.32 - 2013-01-31
- (c) 2013 Jack Moore - jacklmoore.com/colorbox
- license: http://www.opensource.org/licenses/mit-license.php
+/*!
+ Colorbox 1.5.14
+ license: MIT
+ http://www.jacklmoore.com/colorbox
*/
(function ($, document, window) {
var
// Default settings object.
// See http://jacklmoore.com/colorbox for details.
defaults = {
+ // data sources
+ html: false,
+ photo: false,
+ iframe: false,
+ inline: false,
+
+ // behavior and appearance
transition: "elastic",
speed: 300,
+ fadeOut: 300,
width: false,
initialWidth: "600",
innerWidth: false,
@@ -20,18 +28,36 @@
maxHeight: false,
scalePhotos: true,
scrolling: true,
- inline: false,
- html: false,
- iframe: false,
- fastIframe: true,
- photo: false,
- href: false,
- title: false,
- rel: false,
opacity: 0.9,
preloading: true,
className: false,
+ overlayClose: true,
+ escKey: true,
+ arrowKey: true,
+ top: false,
+ bottom: false,
+ left: false,
+ right: false,
+ fixed: false,
+ data: undefined,
+ closeButton: true,
+ fastIframe: true,
+ open: false,
+ reposition: true,
+ loop: true,
+ slideshow: false,
+ slideshowAuto: true,
+ slideshowSpeed: 2500,
+ slideshowStart: "start slideshow",
+ slideshowStop: "stop slideshow",
+ photoRegex: /\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,
+
+ // alternate image paths for high-res displays
+ retinaImage: false,
+ retinaUrl: false,
+ retinaSuffix: '@2x.$1',
+ // internationalization
current: "image {current} of {total}",
previous: "previous",
next: "next",
@@ -39,31 +65,29 @@
xhrError: "This content failed to load.",
imgError: "This image failed to load.",
- open: false,
+ // accessbility
returnFocus: true,
- reposition: true,
- loop: true,
- slideshow: false,
- slideshowAuto: true,
- slideshowSpeed: 2500,
- slideshowStart: "start slideshow",
- slideshowStop: "stop slideshow",
+ trapFocus: true,
+
+ // callbacks
onOpen: false,
onLoad: false,
onComplete: false,
onCleanup: false,
onClosed: false,
- overlayClose: true,
- escKey: true,
- arrowKey: true,
- top: false,
- bottom: false,
- left: false,
- right: false,
- fixed: false,
- data: undefined
+
+ rel: function() {
+ return this.rel;
+ },
+ href: function() {
+ // using this.href would give the absolute url, when the href may have been inteded as a selector (e.g. '#container')
+ return $(this).attr('href');
+ },
+ title: function() {
+ return this.title;
+ }
},
-
+
// Abstracting the HTML and event identifiers for easy rebranding
colorbox = 'colorbox',
prefix = 'cbox',
@@ -76,11 +100,6 @@
event_cleanup = prefix + '_cleanup',
event_closed = prefix + '_closed',
event_purge = prefix + '_purge',
-
- // Special Handling for IE
- isIE = !$.support.leadingWhitespace, // IE6 to IE8
- isIE6 = isIE && !window.XMLHttpRequest, // IE6
- event_ie6 = prefix + '_IE6',
// Cached jQuery Object Variables
$overlay,
@@ -103,7 +122,7 @@
$prev,
$close,
$groupControls,
- $events = $({}),
+ $events = $('<a/>'), // $({}) would be prefered, but there is an issue with jQuery 1.4.2
// Variables for cached values or use across multiple functions
settings,
@@ -111,7 +130,6 @@
interfaceWidth,
loadedHeight,
loadedWidth,
- element,
index,
photo,
open,
@@ -120,14 +138,15 @@
loadingTimer,
publicMethod,
div = "div",
- className,
+ requests = 0,
+ previousCSS = {},
init;
// ****************
// HELPER FUNCTIONS
// ****************
- // Convience function for creating new jQuery objects
+ // Convenience function for creating new jQuery objects
function $tag(tag, id, css) {
var element = document.createElement(tag);
@@ -141,6 +160,44 @@
return $(element);
}
+
+ // Get the window height using innerHeight when available to avoid an issue with iOS
+ // http://bugs.jquery.com/ticket/6724
+ function winheight() {
+ return window.innerHeight ? window.innerHeight : $(window).height();
+ }
+
+ function Settings(element, options) {
+ if (options !== Object(options)) {
+ options = {};
+ }
+
+ this.cache = {};
+ this.el = element;
+
+ this.value = function(key) {
+ var dataAttr;
+
+ if (this.cache[key] === undefined) {
+ dataAttr = $(this.el).attr('data-cbox-'+key);
+
+ if (dataAttr !== undefined) {
+ this.cache[key] = dataAttr;
+ } else if (options[key] !== undefined) {
+ this.cache[key] = options[key];
+ } else if (defaults[key] !== undefined) {
+ this.cache[key] = defaults[key];
+ }
+ }
+
+ return this.cache[key];
+ };
+
+ this.get = function(key) {
+ var value = this.value(key);
+ return $.isFunction(value) ? value.call(this.el, this) : value;
+ };
+ }
// Determine the next and previous members in a group.
function getIndex(increment) {
@@ -153,224 +210,254 @@
// Convert '%' and 'px' values to integers
function setSize(size, dimension) {
- return Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : $window.height()) / 100) : 1) * parseInt(size, 10));
+ return Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : winheight()) / 100) : 1) * parseInt(size, 10));
}
// Checks an href to see if it is a photo.
- // There is a force photo option (photo: true) for hrefs that cannot be matched by this regex.
- function isImage(url) {
- return settings.photo || /\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i.test(url);
+ // There is a force photo option (photo: true) for hrefs that cannot be matched by the regex.
+ function isImage(settings, url) {
+ return settings.get('photo') || settings.get('photoRegex').test(url);
}
- // Assigns function results to their respective properties
- function makeSettings() {
- var i,
- data = $.data(element, colorbox);
-
- if (data == null) {
- settings = $.extend({}, defaults);
- if (console && console.log) {
- console.log('Error: cboxElement missing settings object');
- }
- } else {
- settings = $.extend({}, data);
+ function retinaUrl(settings, url) {
+ return settings.get('retinaUrl') && window.devicePixelRatio > 1 ? url.replace(settings.get('photoRegex'), settings.get('retinaSuffix')) : url;
+ }
+
+ function trapFocus(e) {
+ if ('contains' in $box[0] && !$box[0].contains(e.target) && e.target !== $overlay[0]) {
+ e.stopPropagation();
+ $box.focus();
}
-
- for (i in settings) {
- if ($.isFunction(settings[i]) && i.slice(0, 2) !== 'on') { // checks to make sure the function isn't one of the callbacks, they will be handled at the appropriate time.
- settings[i] = settings[i].call(element);
- }
+ }
+
+ function setClass(str) {
+ if (setClass.str !== str) {
+ $box.add($overlay).removeClass(setClass.str).addClass(str);
+ setClass.str = str;
}
+ }
+
+ function getRelated(rel) {
+ index = 0;
- settings.rel = settings.rel || element.rel || $(element).data('rel') || 'nofollow';
- settings.href = settings.href || $(element).attr('href');
- settings.title = settings.title || element.title;
-
- if (typeof settings.href === "string") {
- settings.href = $.trim(settings.href);
+ if (rel && rel !== false && rel !== 'nofollow') {
+ $related = $('.' + boxElement).filter(function () {
+ var options = $.data(this, colorbox);
+ var settings = new Settings(this, options);
+ return (settings.get('rel') === rel);
+ });
+ index = $related.index(settings.el);
+
+ // Check direct calls to Colorbox.
+ if (index === -1) {
+ $related = $related.add(settings.el);
+ index = $related.length - 1;
+ }
+ } else {
+ $related = $(settings.el);
}
}
- function trigger(event, callback) {
+ function trigger(event) {
// for external use
$(document).trigger(event);
-
// for internal use
- $events.trigger(event);
+ $events.triggerHandler(event);
+ }
+
+ var slideshow = (function(){
+ var active,
+ className = prefix + "Slideshow_",
+ click = "click." + prefix,
+ timeOut;
- if ($.isFunction(callback)) {
- callback.call(element);
+ function clear () {
+ clearTimeout(timeOut);
}
- }
- // Slideshow functionality
- function slideshow() {
- var
- timeOut,
- className = prefix + "Slideshow_",
- click = "click." + prefix,
- clear,
- set,
- start,
- stop;
-
- if (settings.slideshow && $related[1]) {
- clear = function () {
- clearTimeout(timeOut);
- };
+ function set() {
+ if (settings.get('loop') || $related[index + 1]) {
+ clear();
+ timeOut = setTimeout(publicMethod.next, settings.get('slideshowSpeed'));
+ }
+ }
- set = function () {
- if (settings.loop || $related[index + 1]) {
- timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed);
- }
- };
+ function start() {
+ $slideshow
+ .html(settings.get('slideshowStop'))
+ .unbind(click)
+ .one(click, stop);
- start = function () {
- $slideshow
- .html(settings.slideshowStop)
- .unbind(click)
- .one(click, stop);
+ $events
+ .bind(event_complete, set)
+ .bind(event_load, clear);
- $events
- .bind(event_complete, set)
- .bind(event_load, clear)
- .bind(event_cleanup, stop);
+ $box.removeClass(className + "off").addClass(className + "on");
+ }
- $box.removeClass(className + "off").addClass(className + "on");
- };
+ function stop() {
+ clear();
- stop = function () {
- clear();
-
- $events
- .unbind(event_complete, set)
- .unbind(event_load, clear)
- .unbind(event_cleanup, stop);
-
- $slideshow
- .html(settings.slideshowStart)
- .unbind(click)
- .one(click, function () {
- publicMethod.next();
- start();
- });
+ $events
+ .unbind(event_complete, set)
+ .unbind(event_load, clear);
+
+ $slideshow
+ .html(settings.get('slideshowStart'))
+ .unbind(click)
+ .one(click, function () {
+ publicMethod.next();
+ start();
+ });
- $box.removeClass(className + "on").addClass(className + "off");
- };
-
- if (settings.slideshowAuto) {
- start();
- } else {
- stop();
- }
- } else {
- $box.removeClass(className + "off " + className + "on");
+ $box.removeClass(className + "on").addClass(className + "off");
}
- }
- function launch(target) {
- if (!closing) {
-
- element = target;
-
- makeSettings();
-
- $related = $(element);
-
- index = 0;
-
- if (settings.rel !== 'nofollow') {
- $related = $('.' + boxElement).filter(function () {
- var data = $.data(this, colorbox),
- relRelated;
+ function reset() {
+ active = false;
+ $slideshow.hide();
+ clear();
+ $events
+ .unbind(event_complete, set)
+ .unbind(event_load, clear);
+ $box.removeClass(className + "off " + className + "on");
+ }
- if (data) {
- relRelated = $(this).data('rel') || data.rel || this.rel;
+ return function(){
+ if (active) {
+ if (!settings.get('slideshow')) {
+ $events.unbind(event_cleanup, reset);
+ reset();
+ }
+ } else {
+ if (settings.get('slideshow') && $related[1]) {
+ active = true;
+ $events.one(event_cleanup, reset);
+ if (settings.get('slideshowAuto')) {
+ start();
+ } else {
+ stop();
}
-
- return (relRelated === settings.rel);
- });
- index = $related.index(element);
-
- // Check direct calls to ColorBox.
- if (index === -1) {
- $related = $related.add(element);
- index = $related.length - 1;
+ $slideshow.show();
}
}
+ };
+
+ }());
+
+
+ function launch(element) {
+ var options;
+
+ if (!closing) {
+
+ options = $(element).data(colorbox);
+
+ settings = new Settings(element, options);
+ getRelated(settings.get('rel'));
+
if (!open) {
open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.
+
+ setClass(settings.get('className'));
// Show colorbox so the sizes can be calculated in older versions of jQuery
- $box.css({visibility:'hidden', display:'block'});
+ $box.css({visibility:'hidden', display:'block', opacity:''});
- $loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden').appendTo($content);
+ $loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden; visibility:hidden');
+ $content.css({width:'', height:''}).append($loaded);
// Cache values needed for size calculations
- interfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();//Subtraction needed for IE6
+ interfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();
interfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width();
loadedHeight = $loaded.outerHeight(true);
loadedWidth = $loaded.outerWidth(true);
- if (settings.returnFocus) {
- $(element).blur();
- $events.one(event_closed, function () {
- $(element).focus();
- });
- }
-
- $overlay.css({
- opacity: parseFloat(settings.opacity),
- cursor: settings.overlayClose ? "pointer" : "auto",
- visibility: 'visible'
- }).show();
-
- // Opens inital empty ColorBox prior to content being loaded.
- settings.w = setSize(settings.initialWidth, 'x');
- settings.h = setSize(settings.initialHeight, 'y');
+ // Opens inital empty Colorbox prior to content being loaded.
+ var initialWidth = setSize(settings.get('initialWidth'), 'x');
+ var initialHeight = setSize(settings.get('initialHeight'), 'y');
+ var maxWidth = settings.get('maxWidth');
+ var maxHeight = settings.get('maxHeight');
+
+ settings.w = (maxWidth !== false ? Math.min(initialWidth, setSize(maxWidth, 'x')) : initialWidth) - loadedWidth - interfaceWidth;
+ settings.h = (maxHeight !== false ? Math.min(initialHeight, setSize(maxHeight, 'y')) : initialHeight) - loadedHeight - interfaceHeight;
+
+ $loaded.css({width:'', height:settings.h});
publicMethod.position();
- if (isIE6) {
- $window.bind('resize.' + event_ie6 + ' scroll.' + event_ie6, function () {
- $overlay.css({width: $window.width(), height: $window.height(), top: $window.scrollTop(), left: $window.scrollLeft()});
- }).trigger('resize.' + event_ie6);
- }
-
- slideshow();
+ trigger(event_open);
+ settings.get('onOpen');
- trigger(event_open, settings.onOpen);
-
$groupControls.add($title).hide();
+
+ $box.focus();
- $close.html(settings.close).show();
+ if (settings.get('trapFocus')) {
+ // Confine focus to the modal
+ // Uses event capturing that is not supported in IE8-
+ if (document.addEventListener) {
+
+ document.addEventListener('focus', trapFocus, true);
+
+ $events.one(event_closed, function () {
+ document.removeEventListener('focus', trapFocus, true);
+ });
+ }
+ }
+
+ // Return focus on closing
+ if (settings.get('returnFocus')) {
+ $events.one(event_closed, function () {
+ $(settings.el).focus();
+ });
+ }
}
+
+ var opacity = parseFloat(settings.get('opacity'));
+ $overlay.css({
+ opacity: opacity === opacity ? opacity : '',
+ cursor: settings.get('overlayClose') ? 'pointer' : '',
+ visibility: 'visible'
+ }).show();
- publicMethod.load(true);
+ if (settings.get('closeButton')) {
+ $close.html(settings.get('close')).appendTo($content);
+ } else {
+ $close.appendTo('<div/>'); // replace with .detach() when dropping jQuery < 1.4
+ }
+
+ load();
}
}
- // ColorBox's markup needs to be added to the DOM prior to being called
+ // Colorbox's markup needs to be added to the DOM prior to being called
// so that the browser will go ahead and load the CSS background images.
function appendHTML() {
- if (!$box && document.body) {
+ if (!$box) {
init = false;
-
$window = $(window);
- $box = $tag(div).attr({id: colorbox, 'class': isIE ? prefix + (isIE6 ? 'IE6' : 'IE') : ''}).hide();
- $overlay = $tag(div, "Overlay", isIE6 ? 'position:absolute' : '').hide();
- $loadingOverlay = $tag(div, "LoadingOverlay").add($tag(div, "LoadingGraphic"));
+ $box = $tag(div).attr({
+ id: colorbox,
+ 'class': $.support.opacity === false ? prefix + 'IE' : '', // class for optional IE8 & lower targeted CSS.
+ role: 'dialog',
+ tabindex: '-1'
+ }).hide();
+ $overlay = $tag(div, "Overlay").hide();
+ $loadingOverlay = $([$tag(div, "LoadingOverlay")[0],$tag(div, "LoadingGraphic")[0]]);
$wrap = $tag(div, "Wrapper");
$content = $tag(div, "Content").append(
$title = $tag(div, "Title"),
$current = $tag(div, "Current"),
- $next = $tag(div, "Next"),
- $prev = $tag(div, "Previous"),
- $slideshow = $tag(div, "Slideshow"),
- $close = $tag(div, "Close")
+ $prev = $('<button type="button"/>').attr({id:prefix+'Previous'}),
+ $next = $('<button type="button"/>').attr({id:prefix+'Next'}),
+ $slideshow = $tag('button', "Slideshow"),
+ $loadingOverlay
);
+
+ $close = $('<button type="button"/>').attr({id:prefix+'Close'});
- $wrap.append( // The 3x3 Grid that makes up ColorBox
+ $wrap.append( // The 3x3 Grid that makes up Colorbox
$tag(div).append(
$tag(div, "TopLeft"),
$topBorder = $tag(div, "TopCenter"),
@@ -388,20 +475,21 @@
)
).find('div div').css({'float': 'left'});
- $loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none');
+ $loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;');
$groupControls = $next.add($prev).add($current).add($slideshow);
-
+ }
+ if (document.body && !$box.parent().length) {
$(document.body).append($overlay, $box.append($wrap, $loadingBay));
}
}
- // Add ColorBox's event bindings
+ // Add Colorbox's event bindings
function addBindings() {
function clickHandler(e) {
// ignore non-left-mouse-clicks and clicks modified with ctrl / command, shift, or alt.
// See: http://jacklmoore.com/notes/click-events/
- if (!(e.which > 1 || e.shiftKey || e.altKey || e.metaKey)) {
+ if (!(e.which > 1 || e.shiftKey || e.altKey || e.metaKey || e.ctrlKey)) {
e.preventDefault();
launch(this);
}
@@ -422,7 +510,7 @@
publicMethod.close();
});
$overlay.click(function () {
- if (settings.overlayClose) {
+ if (settings.get('overlayClose')) {
publicMethod.close();
}
});
@@ -430,11 +518,11 @@
// Key Bindings
$(document).bind('keydown.' + prefix, function (e) {
var key = e.keyCode;
- if (open && settings.escKey && key === 27) {
+ if (open && settings.get('escKey') && key === 27) {
e.preventDefault();
publicMethod.close();
}
- if (open && settings.arrowKey && $related[1]) {
+ if (open && settings.get('arrowKey') && $related[1] && !e.altKey) {
if (key === 37) {
e.preventDefault();
$prev.click();
@@ -446,8 +534,12 @@
});
if ($.isFunction($.fn.on)) {
+ // For jQuery 1.7+
$(document).on('click.'+prefix, '.'+boxElement, clickHandler);
- } else { // For jQuery 1.3.x -> 1.6.x
+ } else {
+ // For jQuery 1.3.x -> 1.6.x
+ // This code is never reached in jQuery 1.9, so do not contact me about 'live' being removed.
+ // This is not here for jQuery 1.9, it's here for legacy users.
$('.'+boxElement).live('click.'+prefix, clickHandler);
}
}
@@ -456,8 +548,8 @@
return false;
}
- // Don't do anything if ColorBox already exists.
- if ($.colorbox) {
+ // Don't do anything if Colorbox already exists.
+ if ($[colorbox]) {
return;
}
@@ -467,39 +559,49 @@
// ****************
// PUBLIC FUNCTIONS
- // Usage format: $.fn.colorbox.close();
- // Usage from within an iframe: parent.$.fn.colorbox.close();
+ // Usage format: $.colorbox.close();
+ // Usage from within an iframe: parent.jQuery.colorbox.close();
// ****************
publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) {
- var $this = this;
-
+ var settings;
+ var $obj = this;
+
options = options || {};
+
+ if ($.isFunction($obj)) { // assume a call to $.colorbox
+ $obj = $('<a/>');
+ options.open = true;
+ } else if (!$obj[0]) { // colorbox being applied to empty collection
+ return $obj;
+ }
+
+
+ if (!$obj[0]) { // colorbox being applied to empty collection
+ return $obj;
+ }
appendHTML();
if (addBindings()) {
- if ($.isFunction($this)) { // assume a call to $.colorbox
- $this = $('<a/>');
- options.open = true;
- } else if (!$this[0]) { // colorbox being applied to empty collection
- return $this;
- }
-
+
if (callback) {
options.onComplete = callback;
}
-
- $this.each(function () {
- $.data(this, colorbox, $.extend({}, $.data(this, colorbox) || defaults, options));
+
+ $obj.each(function () {
+ var old = $.data(this, colorbox) || {};
+ $.data(this, colorbox, $.extend(old, options));
}).addClass(boxElement);
+
+ settings = new Settings($obj[0], options);
- if (($.isFunction(options.open) && options.open.call($this)) || options.open) {
- launch($this[0]);
+ if (settings.get('open')) {
+ launch($obj[0]);
}
}
- return $this;
+ return $obj;
};
publicMethod.position = function (speed, loadedCallback) {
@@ -519,7 +621,7 @@
scrollTop = $window.scrollTop();
scrollLeft = $window.scrollLeft();
- if (settings.fixed && !isIE6) {
+ if (settings.get('fixed')) {
offset.top -= scrollTop;
offset.left -= scrollLeft;
$box.css({position: 'fixed'});
@@ -530,46 +632,58 @@
}
// keeps the top and left positions within the browser's viewport.
- if (settings.right !== false) {
- left += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.right, 'x'), 0);
- } else if (settings.left !== false) {
- left += setSize(settings.left, 'x');
+ if (settings.get('right') !== false) {
+ left += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.get('right'), 'x'), 0);
+ } else if (settings.get('left') !== false) {
+ left += setSize(settings.get('left'), 'x');
} else {
left += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2);
}
- if (settings.bottom !== false) {
- top += Math.max($window.height() - settings.h - loadedHeight - interfaceHeight - setSize(settings.bottom, 'y'), 0);
- } else if (settings.top !== false) {
- top += setSize(settings.top, 'y');
+ if (settings.get('bottom') !== false) {
+ top += Math.max(winheight() - settings.h - loadedHeight - interfaceHeight - setSize(settings.get('bottom'), 'y'), 0);
+ } else if (settings.get('top') !== false) {
+ top += setSize(settings.get('top'), 'y');
} else {
- top += Math.round(Math.max($window.height() - settings.h - loadedHeight - interfaceHeight, 0) / 2);
+ top += Math.round(Math.max(winheight() - settings.h - loadedHeight - interfaceHeight, 0) / 2);
}
$box.css({top: offset.top, left: offset.left, visibility:'visible'});
-
- // setting the speed to 0 to reduce the delay between same-sized content.
- speed = ($box.width() === settings.w + loadedWidth && $box.height() === settings.h + loadedHeight) ? 0 : speed || 0;
// this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly,
// but it has to be shrank down around the size of div#colorbox when it's done. If not,
// it can invoke an obscure IE bug when using iframes.
$wrap[0].style.width = $wrap[0].style.height = "9999px";
- function modalDimensions(that) {
- $topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = (parseInt(that.style.width,10) - interfaceWidth)+'px';
- $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = (parseInt(that.style.height,10) - interfaceHeight)+'px';
+ function modalDimensions() {
+ $topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = (parseInt($box[0].style.width,10) - interfaceWidth)+'px';
+ $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = (parseInt($box[0].style.height,10) - interfaceHeight)+'px';
}
css = {width: settings.w + loadedWidth + interfaceWidth, height: settings.h + loadedHeight + interfaceHeight, top: top, left: left};
- if(speed===0){ // temporary workaround to side-step jQuery-UI 1.8 bug (http://bugs.jquery.com/ticket/12273)
+ // setting the speed to 0 if the content hasn't changed size or position
+ if (speed) {
+ var tempSpeed = 0;
+ $.each(css, function(i){
+ if (css[i] !== previousCSS[i]) {
+ tempSpeed = speed;
+ return;
+ }
+ });
+ speed = tempSpeed;
+ }
+
+ previousCSS = css;
+
+ if (!speed) {
$box.css(css);
}
+
$box.dequeue().animate(css, {
- duration: speed,
+ duration: speed || 0,
complete: function () {
- modalDimensions(this);
+ modalDimensions();
active = false;
@@ -577,47 +691,57 @@
$wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px";
$wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px";
- if (settings.reposition) {
+ if (settings.get('reposition')) {
setTimeout(function () { // small delay before binding onresize due to an IE8 bug.
$window.bind('resize.' + prefix, publicMethod.position);
}, 1);
}
- if (loadedCallback) {
+ if ($.isFunction(loadedCallback)) {
loadedCallback();
}
},
- step: function () {
- modalDimensions(this);
- }
+ step: modalDimensions
});
};
publicMethod.resize = function (options) {
+ var scrolltop;
+
if (open) {
options = options || {};
if (options.width) {
settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;
}
+
if (options.innerWidth) {
settings.w = setSize(options.innerWidth, 'x');
}
+
$loaded.css({width: settings.w});
if (options.height) {
settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;
}
+
if (options.innerHeight) {
settings.h = setSize(options.innerHeight, 'y');
}
+
if (!options.innerHeight && !options.height) {
+ scrolltop = $loaded.scrollTop();
$loaded.css({height: "auto"});
settings.h = $loaded.height();
}
+
$loaded.css({height: settings.h});
+
+ if(scrolltop) {
+ $loaded.scrollTop(scrolltop);
+ }
- publicMethod.position(settings.transition === "none" ? 0 : settings.speed);
+ publicMethod.position(settings.get('transition') === "none" ? 0 : settings.get('speed'));
}
};
@@ -626,9 +750,9 @@
return;
}
- var callback, speed = settings.transition === "none" ? 0 : settings.speed;
-
- $loaded.empty().remove(); // Using empty first may prevent some IE7 issues.
+ var callback, speed = settings.get('transition') === "none" ? 0 : settings.get('speed');
+
+ $loaded.remove();
$loaded = $tag(div, 'LoadedContent').append(object);
@@ -645,81 +769,65 @@
$loaded.hide()
.appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations.
- .css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'})
+ .css({width: getWidth(), overflow: settings.get('scrolling') ? 'auto' : 'hidden'})
.css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height.
.prependTo($content);
$loadingBay.hide();
// floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width.
- //$(photo).css({'float': 'none', marginLeft: 'auto', marginRight: 'auto'});
$(photo).css({'float': 'none'});
-
+ setClass(settings.get('className'));
+
callback = function () {
var total = $related.length,
iframe,
- frameBorder = 'frameBorder',
- allowTransparency = 'allowTransparency',
complete;
if (!open) {
return;
}
- function removeFilter() {
- if (isIE) {
+ function removeFilter() { // Needed for IE8 in versions of jQuery prior to 1.7.2
+ if ($.support.opacity === false) {
$box[0].style.removeAttribute('filter');
}
}
complete = function () {
clearTimeout(loadingTimer);
- $loadingOverlay.remove();
- trigger(event_complete, settings.onComplete);
+ $loadingOverlay.hide();
+ trigger(event_complete);
+ settings.get('onComplete');
};
+
- if (isIE) {
- //This fadeIn helps the bicubic resampling to kick-in.
- if (photo) {
- $loaded.fadeIn(100);
- }
- }
-
- $title.html(settings.title).add($loaded).show();
+ $title.html(settings.get('title')).show();
+ $loaded.show();
if (total > 1) { // handle grouping
- if (typeof settings.current === "string") {
- $current.html(settings.current.replace('{current}', index + 1).replace('{total}', total)).show();
+ if (typeof settings.get('current') === "string") {
+ $current.html(settings.get('current').replace('{current}', index + 1).replace('{total}', total)).show();
}
- $next[(settings.loop || index < total - 1) ? "show" : "hide"]().html(settings.next);
- $prev[(settings.loop || index) ? "show" : "hide"]().html(settings.previous);
+ $next[(settings.get('loop') || index < total - 1) ? "show" : "hide"]().html(settings.get('next'));
+ $prev[(settings.get('loop') || index) ? "show" : "hide"]().html(settings.get('previous'));
- if (settings.slideshow) {
- $slideshow.show();
- }
+ slideshow();
// Preloads images within a rel group
- if (settings.preloading) {
+ if (settings.get('preloading')) {
$.each([getIndex(-1), getIndex(1)], function(){
- var src,
- img,
+ var img,
i = $related[this],
- data = $.data(i, colorbox);
-
- if (data && data.href) {
- src = data.href;
- if ($.isFunction(src)) {
- src = src.call(i);
- }
- } else {
- src = $(i).attr('href');
- }
+ settings = new Settings(i, $.data(i, colorbox)),
+ src = settings.get('href');
- if (src && (isImage(src) || data.photo)) {
- img = new Image();
+ if (src && isImage(settings, src)) {
+ src = retinaUrl(settings, src);
+ img = document.createElement('img');
img.src = src;
}
});
@@ -728,29 +836,27 @@
$groupControls.hide();
}
- if (settings.iframe) {
- iframe = $tag('iframe')[0];
+ if (settings.get('iframe')) {
+ iframe = document.createElement('iframe');
- if (frameBorder in iframe) {
- iframe[frameBorder] = 0;
+ if ('frameBorder' in iframe) {
+ iframe.frameBorder = 0;
}
- if (allowTransparency in iframe) {
- iframe[allowTransparency] = "true";
+ if ('allowTransparency' in iframe) {
+ iframe.allowTransparency = "true";
}
- if (!settings.scrolling) {
+ if (!settings.get('scrolling')) {
iframe.scrolling = "no";
}
$(iframe)
.attr({
- src: settings.href,
+ src: settings.get('href'),
name: (new Date()).getTime(), // give the iframe a unique name to prevent caching
'class': prefix + 'Iframe',
- allowFullScreen : true, // allow HTML5 video to go fullscreen
- webkitAllowFullScreen : true,
- mozallowfullscreen : true
+ allowFullScreen : true // allow HTML5 video to go fullscreen
})
.one('load', complete)
.appendTo($loaded);
@@ -759,21 +865,21 @@
iframe.src = "//about:blank";
});
- if (settings.fastIframe) {
+ if (settings.get('fastIframe')) {
$(iframe).trigger('load');
}
} else {
complete();
}
- if (settings.transition === 'fade') {
+ if (settings.get('transition') === 'fade') {
$box.fadeTo(speed, 1, removeFilter);
} else {
removeFilter();
}
};
- if (settings.transition === 'fade') {
+ if (settings.get('transition') === 'fade') {
$box.fadeTo(speed, 0, function () {
publicMethod.position(0, callback);
});
@@ -782,38 +888,24 @@
}
};
- publicMethod.load = function (launched) {
- var href, setResize, prep = publicMethod.prep, $inline;
+ function load () {
+ var href, setResize, prep = publicMethod.prep, $inline, request = ++requests;
active = true;
photo = false;
- element = $related[index];
-
- if (!launched) {
- makeSettings();
- }
-
- if (className) {
- $box.add($overlay).removeClass(className);
- }
- if (settings.className) {
- $box.add($overlay).addClass(settings.className);
- }
- className = settings.className;
-
trigger(event_purge);
+ trigger(event_load);
+ settings.get('onLoad');
- trigger(event_load, settings.onLoad);
+ settings.h = settings.get('height') ?
+ setSize(settings.get('height'), 'y') - loadedHeight - interfaceHeight :
+ settings.get('innerHeight') && setSize(settings.get('innerHeight'), 'y');
- settings.h = settings.height ?
- setSize(settings.height, 'y') - loadedHeight - interfaceHeight :
- settings.innerHeight && setSize(settings.innerHeight, 'y');
-
- settings.w = settings.width ?
- setSize(settings.width, 'x') - loadedWidth - interfaceWidth :
- settings.innerWidth && setSize(settings.innerWidth, 'x');
+ settings.w = settings.get('width') ?
+ setSize(settings.get('width'), 'x') - loadedWidth - interfaceWidth :
+ settings.get('innerWidth') && setSize(settings.get('innerWidth'), 'x');
// Sets the minimum dimensions for use in image scaling
settings.mw = settings.w;
@@ -821,153 +913,176 @@
// Re-evaluate the minimum width and height based on maxWidth and maxHeight values.
// If the width or height exceed the maxWidth or maxHeight, use the maximum values instead.
- if (settings.maxWidth) {
- settings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth;
+ if (settings.get('maxWidth')) {
+ settings.mw = setSize(settings.get('maxWidth'), 'x') - loadedWidth - interfaceWidth;
settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw;
}
- if (settings.maxHeight) {
- settings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight;
+ if (settings.get('maxHeight')) {
+ settings.mh = setSize(settings.get('maxHeight'), 'y') - loadedHeight - interfaceHeight;
settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh;
}
- href = settings.href;
+ href = settings.get('href');
loadingTimer = setTimeout(function () {
- $loadingOverlay.appendTo($content);
+ $loadingOverlay.show();
}, 100);
- if (settings.inline) {
+ if (settings.get('inline')) {
+ var $target = $(href);
// Inserts an empty placeholder where inline content is being pulled from.
- // An event is bound to put inline content back when ColorBox closes or loads new content.
- $inline = $tag(div).hide().insertBefore($(href)[0]);
+ // An event is bound to put inline content back when Colorbox closes or loads new content.
+ $inline = $('<div>').hide().insertBefore($target);
$events.one(event_purge, function () {
- $inline.replaceWith($loaded.children());
+ $inline.replaceWith($target);
});
- prep($(href));
- } else if (settings.iframe) {
+ prep($target);
+ } else if (settings.get('iframe')) {
// IFrame element won't be added to the DOM until it is ready to be displayed,
// to avoid problems with DOM-ready JS that might be trying to run in that iframe.
prep(" ");
- } else if (settings.html) {
- prep(settings.html);
- } else if (isImage(href)) {
- $(photo = new Image())
+ } else if (settings.get('html')) {
+ prep(settings.get('html'));
+ } else if (isImage(settings, href)) {
+
+ href = retinaUrl(settings, href);
+
+ photo = new Image();
+
+ $(photo)
.addClass(prefix + 'Photo')
.bind('error',function () {
- settings.title = false;
- prep($tag(div, 'Error').html(settings.imgError));
+ prep($tag(div, 'Error').html(settings.get('imgError')));
})
.one('load', function () {
- var percent;
-
- if (settings.scalePhotos) {
- setResize = function () {
- photo.height -= photo.height * percent;
- photo.width -= photo.width * percent;
- };
- if (settings.mw && photo.width > settings.mw) {
- percent = (photo.width - settings.mw) / photo.width;
- setResize();
+ if (request !== requests) {
+ return;
+ }
+
+ // A small pause because some browsers will occassionaly report a
+ // img.width and img.height of zero immediately after the img.onload fires
+ setTimeout(function(){
+ var percent;
+
+ $.each(['alt', 'longdesc', 'aria-describedby'], function(i,val){
+ var attr = $(settings.el).attr(val) || $(settings.el).attr('data-'+val);
+ if (attr) {
+ photo.setAttribute(val, attr);
+ }
+ });
+
+ if (settings.get('retinaImage') && window.devicePixelRatio > 1) {
+ photo.height = photo.height / window.devicePixelRatio;
+ photo.width = photo.width / window.devicePixelRatio;
}
- if (settings.mh && photo.height > settings.mh) {
- percent = (photo.height - settings.mh) / photo.height;
- setResize();
+
+ if (settings.get('scalePhotos')) {
+ setResize = function () {
+ photo.height -= photo.height * percent;
+ photo.width -= photo.width * percent;
+ };
+ if (settings.mw && photo.width > settings.mw) {
+ percent = (photo.width - settings.mw) / photo.width;
+ setResize();
+ }
+ if (settings.mh && photo.height > settings.mh) {
+ percent = (photo.height - settings.mh) / photo.height;
+ setResize();
+ }
}
- }
-
- if (settings.h) {
- photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px';
- }
-
- if ($related[1] && (settings.loop || $related[index + 1])) {
- photo.style.cursor = 'pointer';
- photo.onclick = function () {
- publicMethod.next();
- };
- }
-
- if (isIE) {
- photo.style.msInterpolationMode = 'bicubic';
- }
-
- setTimeout(function () { // A pause because Chrome will sometimes report a 0 by 0 size otherwise.
+
+ if (settings.h) {
+ photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px';
+ }
+
+ if ($related[1] && (settings.get('loop') || $related[index + 1])) {
+ photo.style.cursor = 'pointer';
+ photo.onclick = function () {
+ publicMethod.next();
+ };
+ }
+
+ photo.style.width = photo.width + 'px';
+ photo.style.height = photo.height + 'px';
prep(photo);
}, 1);
});
- setTimeout(function () { // A pause because Opera 10.6+ will sometimes not run the onload function otherwise.
- photo.src = href;
- }, 1);
+ photo.src = href;
+
} else if (href) {
- $loadingBay.load(href, settings.data, function (data, status) {
- prep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(this).contents());
+ $loadingBay.load(href, settings.get('data'), function (data, status) {
+ if (request === requests) {
+ prep(status === 'error' ? $tag(div, 'Error').html(settings.get('xhrError')) : $(this).contents());
+ }
});
}
- };
+ }
// Navigates to the next page/image in a set.
publicMethod.next = function () {
- if (!active && $related[1] && (settings.loop || $related[index + 1])) {
+ if (!active && $related[1] && (settings.get('loop') || $related[index + 1])) {
index = getIndex(1);
- publicMethod.load();
+ launch($related[index]);
}
};
publicMethod.prev = function () {
- if (!active && $related[1] && (settings.loop || index)) {
+ if (!active && $related[1] && (settings.get('loop') || index)) {
index = getIndex(-1);
- publicMethod.load();
+ launch($related[index]);
}
};
- // Note: to use this within an iframe use the following format: parent.$.fn.colorbox.close();
+ // Note: to use this within an iframe use the following format: parent.jQuery.colorbox.close();
publicMethod.close = function () {
if (open && !closing) {
closing = true;
-
open = false;
+ trigger(event_cleanup);
+ settings.get('onCleanup');
+ $window.unbind('.' + prefix);
+ $overlay.fadeTo(settings.get('fadeOut') || 0, 0);
- trigger(event_cleanup, settings.onCleanup);
-
- $window.unbind('.' + prefix + ' .' + event_ie6);
-
- $overlay.fadeTo(200, 0);
-
- $box.stop().fadeTo(300, 0, function () {
-
- $box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide();
-
+ $box.stop().fadeTo(settings.get('fadeOut') || 0, 0, function () {
+ $box.hide();
+ $overlay.hide();
trigger(event_purge);
-
- $loaded.empty().remove(); // Using empty first may prevent some IE7 issues.
+ $loaded.remove();
setTimeout(function () {
closing = false;
- trigger(event_closed, settings.onClosed);
+ trigger(event_closed);
+ settings.get('onClosed');
}, 1);
});
}
};
- // Removes changes ColorBox made to the document, but does not remove the plugin
- // from jQuery.
+ // Removes changes Colorbox made to the document, but does not remove the plugin.
publicMethod.remove = function () {
- $([]).add($box).add($overlay).remove();
+ if (!$box) { return; }
+
+ $box.stop();
+ $[colorbox].close();
+ $box.stop(false, true).remove();
+ $overlay.remove();
+ closing = false;
$box = null;
$('.' + boxElement)
.removeData(colorbox)
.removeClass(boxElement);
- $(document).unbind('click.'+prefix);
+ $(document).unbind('click.'+prefix).unbind('keydown.'+prefix);
};
- // A method for fetching the current element ColorBox is referencing.
+ // A method for fetching the current element Colorbox is referencing.
// returns a jQuery object.
publicMethod.element = function () {
- return $(element);
+ return $(settings.el);
};
publicMethod.settings = defaults;
diff --git a/library/colorpicker/css/colorpicker.css b/library/colorpicker/css/colorpicker.css
deleted file mode 100644
index 05b02b485..000000000
--- a/library/colorpicker/css/colorpicker.css
+++ /dev/null
@@ -1,161 +0,0 @@
-.colorpicker {
- width: 356px;
- height: 176px;
- overflow: hidden;
- position: absolute;
- background: url(../images/colorpicker_background.png);
- font-family: Arial, Helvetica, sans-serif;
- display: none;
-}
-.colorpicker_color {
- width: 150px;
- height: 150px;
- left: 14px;
- top: 13px;
- position: absolute;
- background: #f00;
- overflow: hidden;
- cursor: crosshair;
-}
-.colorpicker_color div {
- position: absolute;
- top: 0;
- left: 0;
- width: 150px;
- height: 150px;
- background: url(../images/colorpicker_overlay.png);
-}
-.colorpicker_color div div {
- position: absolute;
- top: 0;
- left: 0;
- width: 11px;
- height: 11px;
- overflow: hidden;
- background: url(../images/colorpicker_select.gif);
- margin: -5px 0 0 -5px;
-}
-.colorpicker_hue {
- position: absolute;
- top: 13px;
- left: 171px;
- width: 35px;
- height: 150px;
- cursor: n-resize;
-}
-.colorpicker_hue div {
- position: absolute;
- width: 35px;
- height: 9px;
- overflow: hidden;
- background: url(../images/colorpicker_indic.gif) left top;
- margin: -4px 0 0 0;
- left: 0px;
-}
-.colorpicker_new_color {
- position: absolute;
- width: 60px;
- height: 30px;
- left: 213px;
- top: 13px;
- background: #f00;
-}
-.colorpicker_current_color {
- position: absolute;
- width: 60px;
- height: 30px;
- left: 283px;
- top: 13px;
- background: #f00;
-}
-.colorpicker input {
- background-color: transparent;
- border: 1px solid transparent;
- position: absolute;
- font-size: 10px;
- font-family: Arial, Helvetica, sans-serif;
- color: #898989;
- top: 4px;
- right: 11px;
- text-align: right;
- margin: 0;
- padding: 0;
- height: 11px;
-}
-.colorpicker_hex {
- position: absolute;
- width: 72px;
- height: 22px;
- background: url(../images/colorpicker_hex.png) top;
- left: 212px;
- top: 142px;
-}
-.colorpicker_hex input {
- right: 6px;
-}
-.colorpicker_field {
- height: 22px;
- width: 62px;
- background-position: top;
- position: absolute;
-}
-.colorpicker_field span {
- position: absolute;
- width: 12px;
- height: 22px;
- overflow: hidden;
- top: 0;
- right: 0;
- cursor: n-resize;
-}
-.colorpicker_rgb_r {
- background-image: url(../images/colorpicker_rgb_r.png);
- top: 52px;
- left: 212px;
-}
-.colorpicker_rgb_g {
- background-image: url(../images/colorpicker_rgb_g.png);
- top: 82px;
- left: 212px;
-}
-.colorpicker_rgb_b {
- background-image: url(../images/colorpicker_rgb_b.png);
- top: 112px;
- left: 212px;
-}
-.colorpicker_hsb_h {
- background-image: url(../images/colorpicker_hsb_h.png);
- top: 52px;
- left: 282px;
-}
-.colorpicker_hsb_s {
- background-image: url(../images/colorpicker_hsb_s.png);
- top: 82px;
- left: 282px;
-}
-.colorpicker_hsb_b {
- background-image: url(../images/colorpicker_hsb_b.png);
- top: 112px;
- left: 282px;
-}
-.colorpicker_submit {
- position: absolute;
- width: 22px;
- height: 22px;
- background: url(../images/colorpicker_submit.png) top;
- left: 322px;
- top: 142px;
- overflow: hidden;
-}
-.colorpicker_focus {
- background-position: center;
-}
-.colorpicker_hex.colorpicker_focus {
- background-position: bottom;
-}
-.colorpicker_submit.colorpicker_focus {
- background-position: bottom;
-}
-.colorpicker_slider {
- background-position: bottom;
-}
diff --git a/library/colorpicker/css/layout.css b/library/colorpicker/css/layout.css
deleted file mode 100644
index 8b3f00ff3..000000000
--- a/library/colorpicker/css/layout.css
+++ /dev/null
@@ -1,218 +0,0 @@
-body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
- margin:0;
- padding:0;
-}
-table {
- border-collapse:collapse;
- border-spacing:0;
-}
-fieldset,img {
- border:0;
-}
-address,caption,cite,code,dfn,em,strong,th,var {
- font-style:normal;
- font-weight:normal;
-}
-ol,ul {
- list-style:none;
-}
-caption,th {
- text-align:left;
-}
-h1,h2,h3,h4,h5,h6 {
- font-size:100%;
- font-weight:normal;
-}
-q:before,q:after {
- content:'';
-}
-abbr,acronym { border:0;
-}
-html, body {
- background-color: #fff;
- font-family: Arial, Helvetica, sans-serif;
- font-size: 12px;
- line-height: 18px;
- color: #52697E;
-}
-body {
- text-align: center;
- overflow: auto;
-}
-.wrapper {
- width: 700px;
- margin: 0 auto;
- text-align: left;
-}
-h1 {
- font-size: 21px;
- height: 47px;
- line-height: 47px;
- text-transform: uppercase;
-}
-.navigationTabs {
- height: 23px;
- line-height: 23px;
- border-bottom: 1px solid #ccc;
-}
-.navigationTabs li {
- float: left;
- height: 23px;
- line-height: 23px;
- padding-right: 3px;
-}
-.navigationTabs li a{
- float: left;
- dispaly: block;
- height: 23px;
- line-height: 23px;
- padding: 0 10px;
- overflow: hidden;
- color: #52697E;
- background-color: #eee;
- position: relative;
- text-decoration: none;
-}
-.navigationTabs li a:hover {
- background-color: #f0f0f0;
-}
-.navigationTabs li a.active {
- background-color: #fff;
- border: 1px solid #ccc;
- border-bottom: 0px solid;
-}
-.tabsContent {
- border: 1px solid #ccc;
- border-top: 0px solid;
- width: 698px;
- overflow: hidden;
-}
-.tab {
- padding: 16px;
- display: none;
-}
-.tab h2 {
- font-weight: bold;
- font-size: 16px;
-}
-.tab h3 {
- font-weight: bold;
- font-size: 14px;
- margin-top: 20px;
-}
-.tab p {
- margin-top: 16px;
- clear: both;
-}
-.tab ul {
- margin-top: 16px;
- list-style: disc;
-}
-.tab li {
- margin: 10px 0 0 35px;
-}
-.tab a {
- color: #8FB0CF;
-}
-.tab strong {
- font-weight: bold;
-}
-.tab pre {
- font-size: 11px;
- margin-top: 20px;
- width: 668px;
- overflow: auto;
- clear: both;
-}
-.tab table {
- width: 100%;
-}
-.tab table td {
- padding: 6px 10px 6px 0;
- vertical-align: top;
-}
-.tab dt {
- margin-top: 16px;
-}
-
-#colorSelector {
- position: relative;
- width: 36px;
- height: 36px;
- background: url(../images/select.png);
-}
-#colorSelector div {
- position: absolute;
- top: 3px;
- left: 3px;
- width: 30px;
- height: 30px;
- background: url(../images/select.png) center;
-}
-#colorSelector2 {
- position: absolute;
- top: 0;
- left: 0;
- width: 36px;
- height: 36px;
- background: url(../images/select2.png);
-}
-#colorSelector2 div {
- position: absolute;
- top: 4px;
- left: 4px;
- width: 28px;
- height: 28px;
- background: url(../images/select2.png) center;
-}
-#colorpickerHolder2 {
- top: 32px;
- left: 0;
- width: 356px;
- height: 0;
- overflow: hidden;
- position: absolute;
-}
-#colorpickerHolder2 .colorpicker {
- background-image: url(../images/custom_background.png);
- position: absolute;
- bottom: 0;
- left: 0;
-}
-#colorpickerHolder2 .colorpicker_hue div {
- background-image: url(../images/custom_indic.gif);
-}
-#colorpickerHolder2 .colorpicker_hex {
- background-image: url(../images/custom_hex.png);
-}
-#colorpickerHolder2 .colorpicker_rgb_r {
- background-image: url(../images/custom_rgb_r.png);
-}
-#colorpickerHolder2 .colorpicker_rgb_g {
- background-image: url(../images/custom_rgb_g.png);
-}
-#colorpickerHolder2 .colorpicker_rgb_b {
- background-image: url(../images/custom_rgb_b.png);
-}
-#colorpickerHolder2 .colorpicker_hsb_s {
- background-image: url(../images/custom_hsb_s.png);
- display: none;
-}
-#colorpickerHolder2 .colorpicker_hsb_h {
- background-image: url(../images/custom_hsb_h.png);
- display: none;
-}
-#colorpickerHolder2 .colorpicker_hsb_b {
- background-image: url(../images/custom_hsb_b.png);
- display: none;
-}
-#colorpickerHolder2 .colorpicker_submit {
- background-image: url(../images/custom_submit.png);
-}
-#colorpickerHolder2 .colorpicker input {
- color: #778398;
-}
-#customWidget {
- position: relative;
- height: 36px;
-}
diff --git a/library/colorpicker/images/blank.gif b/library/colorpicker/images/blank.gif
deleted file mode 100644
index 75b945d25..000000000
--- a/library/colorpicker/images/blank.gif
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_background.png b/library/colorpicker/images/colorpicker_background.png
deleted file mode 100644
index 8401572f1..000000000
--- a/library/colorpicker/images/colorpicker_background.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_hex.png b/library/colorpicker/images/colorpicker_hex.png
deleted file mode 100644
index 4e532d7c6..000000000
--- a/library/colorpicker/images/colorpicker_hex.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_hsb_b.png b/library/colorpicker/images/colorpicker_hsb_b.png
deleted file mode 100644
index dfac595d0..000000000
--- a/library/colorpicker/images/colorpicker_hsb_b.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_hsb_h.png b/library/colorpicker/images/colorpicker_hsb_h.png
deleted file mode 100644
index 3977ed9f2..000000000
--- a/library/colorpicker/images/colorpicker_hsb_h.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_hsb_s.png b/library/colorpicker/images/colorpicker_hsb_s.png
deleted file mode 100644
index a2a699736..000000000
--- a/library/colorpicker/images/colorpicker_hsb_s.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_indic.gif b/library/colorpicker/images/colorpicker_indic.gif
deleted file mode 100644
index f9fa95e28..000000000
--- a/library/colorpicker/images/colorpicker_indic.gif
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_overlay.png b/library/colorpicker/images/colorpicker_overlay.png
deleted file mode 100644
index 561cdd9c5..000000000
--- a/library/colorpicker/images/colorpicker_overlay.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_rgb_b.png b/library/colorpicker/images/colorpicker_rgb_b.png
deleted file mode 100644
index dfac595d0..000000000
--- a/library/colorpicker/images/colorpicker_rgb_b.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_rgb_g.png b/library/colorpicker/images/colorpicker_rgb_g.png
deleted file mode 100644
index 72b32760a..000000000
--- a/library/colorpicker/images/colorpicker_rgb_g.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_rgb_r.png b/library/colorpicker/images/colorpicker_rgb_r.png
deleted file mode 100644
index 4855fe03f..000000000
--- a/library/colorpicker/images/colorpicker_rgb_r.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_select.gif b/library/colorpicker/images/colorpicker_select.gif
deleted file mode 100644
index 599f7f13a..000000000
--- a/library/colorpicker/images/colorpicker_select.gif
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/colorpicker_submit.png b/library/colorpicker/images/colorpicker_submit.png
deleted file mode 100644
index 7f4c0825f..000000000
--- a/library/colorpicker/images/colorpicker_submit.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/custom_background.png b/library/colorpicker/images/custom_background.png
deleted file mode 100644
index cf55ffdd6..000000000
--- a/library/colorpicker/images/custom_background.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/custom_hex.png b/library/colorpicker/images/custom_hex.png
deleted file mode 100644
index 888f44449..000000000
--- a/library/colorpicker/images/custom_hex.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/custom_hsb_b.png b/library/colorpicker/images/custom_hsb_b.png
deleted file mode 100644
index 2f99dae8e..000000000
--- a/library/colorpicker/images/custom_hsb_b.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/custom_hsb_h.png b/library/colorpicker/images/custom_hsb_h.png
deleted file mode 100644
index a217e9218..000000000
--- a/library/colorpicker/images/custom_hsb_h.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/custom_hsb_s.png b/library/colorpicker/images/custom_hsb_s.png
deleted file mode 100644
index 7826b4150..000000000
--- a/library/colorpicker/images/custom_hsb_s.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/custom_indic.gif b/library/colorpicker/images/custom_indic.gif
deleted file mode 100644
index 222fb94cf..000000000
--- a/library/colorpicker/images/custom_indic.gif
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/custom_rgb_b.png b/library/colorpicker/images/custom_rgb_b.png
deleted file mode 100644
index 80764e5d6..000000000
--- a/library/colorpicker/images/custom_rgb_b.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/custom_rgb_g.png b/library/colorpicker/images/custom_rgb_g.png
deleted file mode 100644
index fc9778be1..000000000
--- a/library/colorpicker/images/custom_rgb_g.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/custom_rgb_r.png b/library/colorpicker/images/custom_rgb_r.png
deleted file mode 100644
index 91b0cd4c5..000000000
--- a/library/colorpicker/images/custom_rgb_r.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/custom_submit.png b/library/colorpicker/images/custom_submit.png
deleted file mode 100644
index cd202cd93..000000000
--- a/library/colorpicker/images/custom_submit.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/select.png b/library/colorpicker/images/select.png
deleted file mode 100644
index 21213bfd5..000000000
--- a/library/colorpicker/images/select.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/select2.png b/library/colorpicker/images/select2.png
deleted file mode 100644
index 2cd2cabeb..000000000
--- a/library/colorpicker/images/select2.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/images/slider.png b/library/colorpicker/images/slider.png
deleted file mode 100644
index 8b03da96e..000000000
--- a/library/colorpicker/images/slider.png
+++ /dev/null
Binary files differ
diff --git a/library/colorpicker/index.html b/library/colorpicker/index.html
deleted file mode 100644
index e1ad5782d..000000000
--- a/library/colorpicker/index.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
- <link rel="stylesheet" href="css/colorpicker.css" type="text/css" />
- <link rel="stylesheet" media="screen" type="text/css" href="css/layout.css" />
- <title>ColorPicker - jQuery plugin</title>
- <script type="text/javascript" src="js/jquery.js"></script>
- <script type="text/javascript" src="js/colorpicker.js"></script>
- <script type="text/javascript" src="js/eye.js"></script>
- <script type="text/javascript" src="js/utils.js"></script>
- <script type="text/javascript" src="js/layout.js?ver=1.0.2"></script>
-</head>
-<body>
- <div class="wrapper">
- <h1>Color Picker - jQuery plugin</h1>
- <ul class="navigationTabs">
- <li><a href="#about" rel="about">About</a></li>
- <li><a href="#download" rel="download">Download</a></li>
- <li><a href="#implement" rel="implement">Implement</a></li>
- </ul>
- <div class="tabsContent">
- <div class="tab">
- <h2>About</h2>
- <p>A simple component to select color in the same way you select color in Adobe Photoshop</p>
- <h3>Last update</h3>
- <p>23.05.2009 - Check Download tab</p>
- <h3>Features</h3>
- <ul>
- <li>Flat mode - as element in page</li>
- <li>Powerful controls for color selection</li>
- <li>Easy to customize the look by changing some images</li>
- <li>Fits into the viewport</li>
- </ul>
- <h3>License</h3>
- <p>Dual licensed under the MIT and GPL licenses.</p>
- <h3>Examples</h3>
- <p>Flat mode.</p>
- <p id="colorpickerHolder">
- </p>
- <pre>
-$('#colorpickerHolder').ColorPicker({flat: true});
- </pre>
- <p>Custom skin and using flat mode to display the color picker in a custom widget.</p>
- <div id="customWidget">
- <div id="colorSelector2"><div style="background-color: #00ff00"></div></div>
- <div id="colorpickerHolder2">
- </div>
- </div>
-
- <p>Attached to an text field and using callback functions to update the color with field's value and set the value back in the field by submiting the color.</p>
- <p><input type="text" maxlength="6" size="6" id="colorpickerField1" value="00ff00" /></p>
- <p><input type="text" maxlength="6" size="6" id="colorpickerField3" value="0000ff" /></p>
- <p><input type="text" maxlength="6" size="6" id="colorpickerField2" value="ff0000" /></p>
- <pre>$('#colorpickerField1, #colorpickerField2, #colorpickerField3').ColorPicker({
- onSubmit: function(hsb, hex, rgb, el) {
- $(el).val(hex);
- $(el).ColorPickerHide();
- },
- onBeforeShow: function () {
- $(this).ColorPickerSetColor(this.value);
- }
-})
-.bind('keyup', function(){
- $(this).ColorPickerSetColor(this.value);
-});
-</pre>
- <p>Attached to DOMElement and using callbacks to live preview the color and adding animation.</p>
- <p>
- <div id="colorSelector"><div style="background-color: #0000ff"></div></div>
- </p>
- <pre>
-$('#colorSelector').ColorPicker({
- color: '#0000ff',
- onShow: function (colpkr) {
- $(colpkr).fadeIn(500);
- return false;
- },
- onHide: function (colpkr) {
- $(colpkr).fadeOut(500);
- return false;
- },
- onChange: function (hsb, hex, rgb) {
- $('#colorSelector div').css('backgroundColor', '#' + hex);
- }
-});
-</pre>
- </div>
- <div class="tab">
- <h2>Download</h2>
- <p><a href="colorpicker.zip">colorpicker.zip (73 kb)</a>: jQuery, Javscript files, CSS files, images, examples and instructions.</p>
- <h3>Changelog</h3>
- <dl>
- <dt>23.05.2009</dt>
- <dd>Added: close on color selection example</dd>
- <dd>Added: restore original color option</dd>
- <dd>Changed: color update on key up event</dd>
- <dd>Fixed: colorpicker hide and show methods</dd>
- <dd>Fixed: reference to options. Multiple fields with colorpickers is possible now.</dd>
- <dd>Fixed: RGB to HSB convertion</dd>
- <dt>22.08.2008</dt>
- <dd>Fixed bug: where some events were not canceled right on Safari</dd>
- <dd>Fixed bug: where teh view port was not detected right on Safari</dd>
- <dt>16-07-2008</dt>
- <dd>Fixed bug where the letter 'F' could not be typed in the Hex field</dd>
- <dd>Fixed bug where the changes on Hex field where not parsed</dd>
- <dd>Added new option 'livePreview'</dd>
- <dt>08-07-2008</dt>
- <dd>Fixed typo in the code, both JavaScript and CSS</dd>
- <dd>Changed the cursor for some elements</dd>
- <dd>Added new demo explaining how to implement custom skin</dd>
- <dt>07.07.2008</dt>
- <dd>The first release.</dd>
- </dl>
- </div>
- <div class="tab">
- <h2>Implement</h2>
- <p>Attach the Javascript and CSS files to your document. Edit CSS file and fix the paths to images and change colors to fit your site theme.</p>
- <pre>
-&lt;link rel="stylesheet" media="screen" type="text/css" href="css/colorpicker.css" /&gt;
-&lt;script type="text/javascript" src="js/colorpicker.js"&gt;&lt;/script&gt;
- </pre>
- <h3>Invocation code</h3>
- <p>All you have to do is to select the elements in a jQuery way and call the plugin.</p>
- <pre>
- $('input').ColorPicker(options);
- </pre>
- <h3>Options</h3>
- <p>A hash of parameters. All parameters are optional.</p>
- <table>
- <tr>
- <td><strong>eventName</strong></td>
- <td>string</td>
- <td>The desired event to trigger the colorpicker. Default: 'click'</td>
- </tr>
- <tr>
- <td><strong>color</strong></td>
- <td>string or hash</td>
- <td>The default color. String for hex color or hash for RGB and HSB ({r:255, r:0, b:0}) . Default: 'ff0000'</td>
- </tr>
- <tr>
- <td><strong>flat</strong></td>
- <td>boolean</td>
- <td>Whatever if the color picker is appended to the element or triggered by an event. Default false</td>
- </tr>
- <tr>
- <td><strong>livePreview</strong></td>
- <td>boolean</td>
- <td>Whatever if the color values are filled in the fields while changing values on selector or a field. If false it may improve speed. Default true</td>
- </tr>
- <tr>
- <td><strong>onShow</strong></td>
- <td>function</td>
- <td>Callback function triggered when the color picker is shown</td>
- </tr>
- <tr>
- <td><strong>onBeforeShow</strong></td>
- <td>function</td>
- <td>Callback function triggered before the color picker is shown</td>
- </tr>
- <tr>
- <td><strong>onHide</strong></td>
- <td>function</td>
- <td>Callback function triggered when the color picker is hidden</td>
- </tr>
- <tr>
- <td><strong>onChange</strong></td>
- <td>function</td>
- <td>Callback function triggered when the color is changed</td>
- </tr>
- <tr>
- <td><strong>onSubmit</strong></td>
- <td>function</td>
- <td>Callback function triggered when the color it is chosen</td>
- </tr>
- </table>
- <h3>Set color</h3>
- <p>If you want to set a new color.</p>
- <pre>$('input').ColorPickerSetColor(color);</pre>
- <p>The 'color' argument is the same format as the option color, string for hex color or hash for RGB and HSB ({r:255, r:0, b:0}).</p>
- </div>
- </div>
- </div>
-</body>
-</html>
diff --git a/library/colorpicker/js/colorpicker.js b/library/colorpicker/js/colorpicker.js
deleted file mode 100644
index 10a2b2244..000000000
--- a/library/colorpicker/js/colorpicker.js
+++ /dev/null
@@ -1,484 +0,0 @@
-/**
- *
- * Color picker
- * Author: Stefan Petre www.eyecon.ro
- *
- * Dual licensed under the MIT and GPL licenses
- *
- */
-(function ($) {
- var ColorPicker = function () {
- var
- ids = {},
- inAction,
- charMin = 65,
- visible,
- tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
- defaults = {
- eventName: 'click',
- onShow: function () {},
- onBeforeShow: function(){},
- onHide: function () {},
- onChange: function () {},
- onSubmit: function () {},
- color: 'ff0000',
- livePreview: true,
- flat: false
- },
- fillRGBFields = function (hsb, cal) {
- var rgb = HSBToRGB(hsb);
- $(cal).data('colorpicker').fields
- .eq(1).val(rgb.r).end()
- .eq(2).val(rgb.g).end()
- .eq(3).val(rgb.b).end();
- },
- fillHSBFields = function (hsb, cal) {
- $(cal).data('colorpicker').fields
- .eq(4).val(hsb.h).end()
- .eq(5).val(hsb.s).end()
- .eq(6).val(hsb.b).end();
- },
- fillHexFields = function (hsb, cal) {
- $(cal).data('colorpicker').fields
- .eq(0).val(HSBToHex(hsb)).end();
- },
- setSelector = function (hsb, cal) {
- $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
- $(cal).data('colorpicker').selectorIndic.css({
- left: parseInt(150 * hsb.s/100, 10),
- top: parseInt(150 * (100-hsb.b)/100, 10)
- });
- },
- setHue = function (hsb, cal) {
- $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
- },
- setCurrentColor = function (hsb, cal) {
- $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
- },
- setNewColor = function (hsb, cal) {
- $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
- },
- keyDown = function (ev) {
- var pressedKey = ev.charCode || ev.keyCode || -1;
- if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
- return false;
- }
- var cal = $(this).parent().parent();
- if (cal.data('colorpicker').livePreview === true) {
- change.apply(this);
- }
- },
- change = function (ev) {
- var cal = $(this).parent().parent(), col;
- if (this.parentNode.className.indexOf('_hex') > 0) {
- cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
- } else if (this.parentNode.className.indexOf('_hsb') > 0) {
- cal.data('colorpicker').color = col = fixHSB({
- h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
- s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
- b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
- });
- } else {
- cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
- r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
- g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
- b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
- }));
- }
- if (ev) {
- fillRGBFields(col, cal.get(0));
- fillHexFields(col, cal.get(0));
- fillHSBFields(col, cal.get(0));
- }
- setSelector(col, cal.get(0));
- setHue(col, cal.get(0));
- setNewColor(col, cal.get(0));
- cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
- },
- blur = function (ev) {
- var cal = $(this).parent().parent();
- cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
- },
- focus = function () {
- charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
- $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
- $(this).parent().addClass('colorpicker_focus');
- },
- downIncrement = function (ev) {
- var field = $(this).parent().find('input').focus();
- var current = {
- el: $(this).parent().addClass('colorpicker_slider'),
- max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
- y: ev.pageY,
- field: field,
- val: parseInt(field.val(), 10),
- preview: $(this).parent().parent().data('colorpicker').livePreview
- };
- $(document).bind('mouseup', current, upIncrement);
- $(document).bind('mousemove', current, moveIncrement);
- },
- moveIncrement = function (ev) {
- ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
- if (ev.data.preview) {
- change.apply(ev.data.field.get(0), [true]);
- }
- return false;
- },
- upIncrement = function (ev) {
- change.apply(ev.data.field.get(0), [true]);
- ev.data.el.removeClass('colorpicker_slider').find('input').focus();
- $(document).unbind('mouseup', upIncrement);
- $(document).unbind('mousemove', moveIncrement);
- return false;
- },
- downHue = function (ev) {
- var current = {
- cal: $(this).parent(),
- y: $(this).offset().top
- };
- current.preview = current.cal.data('colorpicker').livePreview;
- $(document).bind('mouseup', current, upHue);
- $(document).bind('mousemove', current, moveHue);
- },
- moveHue = function (ev) {
- change.apply(
- ev.data.cal.data('colorpicker')
- .fields
- .eq(4)
- .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
- .get(0),
- [ev.data.preview]
- );
- return false;
- },
- upHue = function (ev) {
- fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
- fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
- $(document).unbind('mouseup', upHue);
- $(document).unbind('mousemove', moveHue);
- return false;
- },
- downSelector = function (ev) {
- var current = {
- cal: $(this).parent(),
- pos: $(this).offset()
- };
- current.preview = current.cal.data('colorpicker').livePreview;
- $(document).bind('mouseup', current, upSelector);
- $(document).bind('mousemove', current, moveSelector);
- },
- moveSelector = function (ev) {
- change.apply(
- ev.data.cal.data('colorpicker')
- .fields
- .eq(6)
- .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
- .end()
- .eq(5)
- .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
- .get(0),
- [ev.data.preview]
- );
- return false;
- },
- upSelector = function (ev) {
- fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
- fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
- $(document).unbind('mouseup', upSelector);
- $(document).unbind('mousemove', moveSelector);
- return false;
- },
- enterSubmit = function (ev) {
- $(this).addClass('colorpicker_focus');
- },
- leaveSubmit = function (ev) {
- $(this).removeClass('colorpicker_focus');
- },
- clickSubmit = function (ev) {
- var cal = $(this).parent();
- var col = cal.data('colorpicker').color;
- cal.data('colorpicker').origColor = col;
- setCurrentColor(col, cal.get(0));
- cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
- },
- show = function (ev) {
- var cal = $('#' + $(this).data('colorpickerId'));
- cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
- var pos = $(this).offset();
- var viewPort = getViewport();
- var top = pos.top + this.offsetHeight;
- var left = pos.left;
- if (top + 176 > viewPort.t + viewPort.h) {
- top -= this.offsetHeight + 176;
- }
- if (left + 356 > viewPort.l + viewPort.w) {
- left -= 356;
- }
- cal.css({left: left + 'px', top: top + 'px'});
- if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
- cal.show();
- }
- $(document).bind('mousedown', {cal: cal}, hide);
- return false;
- },
- hide = function (ev) {
- if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
- if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
- ev.data.cal.hide();
- }
- $(document).unbind('mousedown', hide);
- }
- },
- isChildOf = function(parentEl, el, container) {
- if (parentEl == el) {
- return true;
- }
- if (parentEl.contains) {
- return parentEl.contains(el);
- }
- if ( parentEl.compareDocumentPosition ) {
- return !!(parentEl.compareDocumentPosition(el) & 16);
- }
- var prEl = el.parentNode;
- while(prEl && prEl != container) {
- if (prEl == parentEl)
- return true;
- prEl = prEl.parentNode;
- }
- return false;
- },
- getViewport = function () {
- var m = document.compatMode == 'CSS1Compat';
- return {
- l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
- t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
- w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
- h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
- };
- },
- fixHSB = function (hsb) {
- return {
- h: Math.min(360, Math.max(0, hsb.h)),
- s: Math.min(100, Math.max(0, hsb.s)),
- b: Math.min(100, Math.max(0, hsb.b))
- };
- },
- fixRGB = function (rgb) {
- return {
- r: Math.min(255, Math.max(0, rgb.r)),
- g: Math.min(255, Math.max(0, rgb.g)),
- b: Math.min(255, Math.max(0, rgb.b))
- };
- },
- fixHex = function (hex) {
- var len = 6 - hex.length;
- if (len > 0) {
- var o = [];
- for (var i=0; i<len; i++) {
- o.push('0');
- }
- o.push(hex);
- hex = o.join('');
- }
- return hex;
- },
- HexToRGB = function (hex) {
- var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
- return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
- },
- HexToHSB = function (hex) {
- return RGBToHSB(HexToRGB(hex));
- },
- RGBToHSB = function (rgb) {
- var hsb = {
- h: 0,
- s: 0,
- b: 0
- };
- var min = Math.min(rgb.r, rgb.g, rgb.b);
- var max = Math.max(rgb.r, rgb.g, rgb.b);
- var delta = max - min;
- hsb.b = max;
- if (max != 0) {
-
- }
- hsb.s = max != 0 ? 255 * delta / max : 0;
- if (hsb.s != 0) {
- if (rgb.r == max) {
- hsb.h = (rgb.g - rgb.b) / delta;
- } else if (rgb.g == max) {
- hsb.h = 2 + (rgb.b - rgb.r) / delta;
- } else {
- hsb.h = 4 + (rgb.r - rgb.g) / delta;
- }
- } else {
- hsb.h = -1;
- }
- hsb.h *= 60;
- if (hsb.h < 0) {
- hsb.h += 360;
- }
- hsb.s *= 100/255;
- hsb.b *= 100/255;
- return hsb;
- },
- HSBToRGB = function (hsb) {
- var rgb = {};
- var h = Math.round(hsb.h);
- var s = Math.round(hsb.s*255/100);
- var v = Math.round(hsb.b*255/100);
- if(s == 0) {
- rgb.r = rgb.g = rgb.b = v;
- } else {
- var t1 = v;
- var t2 = (255-s)*v/255;
- var t3 = (t1-t2)*(h%60)/60;
- if(h==360) h = 0;
- if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3}
- else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3}
- else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3}
- else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3}
- else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3}
- else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3}
- else {rgb.r=0; rgb.g=0; rgb.b=0}
- }
- return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
- },
- RGBToHex = function (rgb) {
- var hex = [
- rgb.r.toString(16),
- rgb.g.toString(16),
- rgb.b.toString(16)
- ];
- $.each(hex, function (nr, val) {
- if (val.length == 1) {
- hex[nr] = '0' + val;
- }
- });
- return hex.join('');
- },
- HSBToHex = function (hsb) {
- return RGBToHex(HSBToRGB(hsb));
- },
- restoreOriginal = function () {
- var cal = $(this).parent();
- var col = cal.data('colorpicker').origColor;
- cal.data('colorpicker').color = col;
- fillRGBFields(col, cal.get(0));
- fillHexFields(col, cal.get(0));
- fillHSBFields(col, cal.get(0));
- setSelector(col, cal.get(0));
- setHue(col, cal.get(0));
- setNewColor(col, cal.get(0));
- };
- return {
- init: function (opt) {
- opt = $.extend({}, defaults, opt||{});
- if (typeof opt.color == 'string') {
- opt.color = HexToHSB(opt.color);
- } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
- opt.color = RGBToHSB(opt.color);
- } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
- opt.color = fixHSB(opt.color);
- } else {
- return this;
- }
- return this.each(function () {
- if (!$(this).data('colorpickerId')) {
- var options = $.extend({}, opt);
- options.origColor = opt.color;
- var id = 'collorpicker_' + parseInt(Math.random() * 1000);
- $(this).data('colorpickerId', id);
- var cal = $(tpl).attr('id', id);
- if (options.flat) {
- cal.appendTo(this).show();
- } else {
- cal.appendTo(document.body);
- }
- options.fields = cal
- .find('input')
- .bind('keyup', keyDown)
- .bind('change', change)
- .bind('blur', blur)
- .bind('focus', focus);
- cal
- .find('span').bind('mousedown', downIncrement).end()
- .find('>div.colorpicker_current_color').bind('click', restoreOriginal);
- options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
- options.selectorIndic = options.selector.find('div div');
- options.el = this;
- options.hue = cal.find('div.colorpicker_hue div');
- cal.find('div.colorpicker_hue').bind('mousedown', downHue);
- options.newColor = cal.find('div.colorpicker_new_color');
- options.currentColor = cal.find('div.colorpicker_current_color');
- cal.data('colorpicker', options);
- cal.find('div.colorpicker_submit')
- .bind('mouseenter', enterSubmit)
- .bind('mouseleave', leaveSubmit)
- .bind('click', clickSubmit);
- fillRGBFields(options.color, cal.get(0));
- fillHSBFields(options.color, cal.get(0));
- fillHexFields(options.color, cal.get(0));
- setHue(options.color, cal.get(0));
- setSelector(options.color, cal.get(0));
- setCurrentColor(options.color, cal.get(0));
- setNewColor(options.color, cal.get(0));
- if (options.flat) {
- cal.css({
- position: 'relative',
- display: 'block'
- });
- } else {
- $(this).bind(options.eventName, show);
- }
- }
- });
- },
- showPicker: function() {
- return this.each( function () {
- if ($(this).data('colorpickerId')) {
- show.apply(this);
- }
- });
- },
- hidePicker: function() {
- return this.each( function () {
- if ($(this).data('colorpickerId')) {
- $('#' + $(this).data('colorpickerId')).hide();
- }
- });
- },
- setColor: function(col) {
- if (typeof col == 'string') {
- col = HexToHSB(col);
- } else if (col.r != undefined && col.g != undefined && col.b != undefined) {
- col = RGBToHSB(col);
- } else if (col.h != undefined && col.s != undefined && col.b != undefined) {
- col = fixHSB(col);
- } else {
- return this;
- }
- return this.each(function(){
- if ($(this).data('colorpickerId')) {
- var cal = $('#' + $(this).data('colorpickerId'));
- cal.data('colorpicker').color = col;
- cal.data('colorpicker').origColor = col;
- fillRGBFields(col, cal.get(0));
- fillHSBFields(col, cal.get(0));
- fillHexFields(col, cal.get(0));
- setHue(col, cal.get(0));
- setSelector(col, cal.get(0));
- setCurrentColor(col, cal.get(0));
- setNewColor(col, cal.get(0));
- }
- });
- }
- };
- }();
- $.fn.extend({
- ColorPicker: ColorPicker.init,
- ColorPickerHide: ColorPicker.hidePicker,
- ColorPickerShow: ColorPicker.showPicker,
- ColorPickerSetColor: ColorPicker.setColor
- });
-})(jQuery) \ No newline at end of file
diff --git a/library/colorpicker/js/eye.js b/library/colorpicker/js/eye.js
deleted file mode 100644
index ea70e643f..000000000
--- a/library/colorpicker/js/eye.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- *
- * Zoomimage
- * Author: Stefan Petre www.eyecon.ro
- *
- */
-(function($){
- var EYE = window.EYE = function() {
- var _registered = {
- init: []
- };
- return {
- init: function() {
- $.each(_registered.init, function(nr, fn){
- fn.call();
- });
- },
- extend: function(prop) {
- for (var i in prop) {
- if (prop[i] != undefined) {
- this[i] = prop[i];
- }
- }
- },
- register: function(fn, type) {
- if (!_registered[type]) {
- _registered[type] = [];
- }
- _registered[type].push(fn);
- }
- };
- }();
- $(EYE.init);
-})(jQuery);
diff --git a/library/colorpicker/js/layout.js b/library/colorpicker/js/layout.js
deleted file mode 100644
index e0dfb8f33..000000000
--- a/library/colorpicker/js/layout.js
+++ /dev/null
@@ -1,67 +0,0 @@
-(function($){
- var initLayout = function() {
- var hash = window.location.hash.replace('#', '');
- var currentTab = $('ul.navigationTabs a')
- .bind('click', showTab)
- .filter('a[rel=' + hash + ']');
- if (currentTab.size() == 0) {
- currentTab = $('ul.navigationTabs a:first');
- }
- showTab.apply(currentTab.get(0));
- $('#colorpickerHolder').ColorPicker({flat: true});
- $('#colorpickerHolder2').ColorPicker({
- flat: true,
- color: '#00ff00',
- onSubmit: function(hsb, hex, rgb) {
- $('#colorSelector2 div').css('backgroundColor', '#' + hex);
- }
- });
- $('#colorpickerHolder2>div').css('position', 'absolute');
- var widt = false;
- $('#colorSelector2').bind('click', function() {
- $('#colorpickerHolder2').stop().animate({height: widt ? 0 : 173}, 500);
- widt = !widt;
- });
- $('#colorpickerField1, #colorpickerField2, #colorpickerField3').ColorPicker({
- onSubmit: function(hsb, hex, rgb, el) {
- $(el).val(hex);
- $(el).ColorPickerHide();
- },
- onBeforeShow: function () {
- $(this).ColorPickerSetColor(this.value);
- }
- })
- .bind('keyup', function(){
- $(this).ColorPickerSetColor(this.value);
- });
- $('#colorSelector').ColorPicker({
- color: '#0000ff',
- onShow: function (colpkr) {
- $(colpkr).fadeIn(500);
- return false;
- },
- onHide: function (colpkr) {
- $(colpkr).fadeOut(500);
- return false;
- },
- onChange: function (hsb, hex, rgb) {
- $('#colorSelector div').css('backgroundColor', '#' + hex);
- }
- });
- };
-
- var showTab = function(e) {
- var tabIndex = $('ul.navigationTabs a')
- .removeClass('active')
- .index(this);
- $(this)
- .addClass('active')
- .blur();
- $('div.tab')
- .hide()
- .eq(tabIndex)
- .show();
- };
-
- EYE.register(initLayout, 'init');
-})(jQuery) \ No newline at end of file
diff --git a/library/colorpicker/js/utils.js b/library/colorpicker/js/utils.js
deleted file mode 100644
index cc7ce14ec..000000000
--- a/library/colorpicker/js/utils.js
+++ /dev/null
@@ -1,252 +0,0 @@
-/**
- *
- * Utilities
- * Author: Stefan Petre www.eyecon.ro
- *
- */
-(function($) {
-EYE.extend({
- getPosition : function(e, forceIt)
- {
- var x = 0;
- var y = 0;
- var es = e.style;
- var restoreStyles = false;
- if (forceIt && jQuery.curCSS(e,'display') == 'none') {
- var oldVisibility = es.visibility;
- var oldPosition = es.position;
- restoreStyles = true;
- es.visibility = 'hidden';
- es.display = 'block';
- es.position = 'absolute';
- }
- var el = e;
- if (el.getBoundingClientRect) { // IE
- var box = el.getBoundingClientRect();
- x = box.left + Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) - 2;
- y = box.top + Math.max(document.documentElement.scrollTop, document.body.scrollTop) - 2;
- } else {
- x = el.offsetLeft;
- y = el.offsetTop;
- el = el.offsetParent;
- if (e != el) {
- while (el) {
- x += el.offsetLeft;
- y += el.offsetTop;
- el = el.offsetParent;
- }
- }
- if (jQuery.browser.safari && jQuery.curCSS(e, 'position') == 'absolute' ) {
- x -= document.body.offsetLeft;
- y -= document.body.offsetTop;
- }
- el = e.parentNode;
- while (el && el.tagName.toUpperCase() != 'BODY' && el.tagName.toUpperCase() != 'HTML')
- {
- if (jQuery.curCSS(el, 'display') != 'inline') {
- x -= el.scrollLeft;
- y -= el.scrollTop;
- }
- el = el.parentNode;
- }
- }
- if (restoreStyles == true) {
- es.display = 'none';
- es.position = oldPosition;
- es.visibility = oldVisibility;
- }
- return {x:x, y:y};
- },
- getSize : function(e)
- {
- var w = parseInt(jQuery.curCSS(e,'width'), 10);
- var h = parseInt(jQuery.curCSS(e,'height'), 10);
- var wb = 0;
- var hb = 0;
- if (jQuery.curCSS(e, 'display') != 'none') {
- wb = e.offsetWidth;
- hb = e.offsetHeight;
- } else {
- var es = e.style;
- var oldVisibility = es.visibility;
- var oldPosition = es.position;
- es.visibility = 'hidden';
- es.display = 'block';
- es.position = 'absolute';
- wb = e.offsetWidth;
- hb = e.offsetHeight;
- es.display = 'none';
- es.position = oldPosition;
- es.visibility = oldVisibility;
- }
- return {w:w, h:h, wb:wb, hb:hb};
- },
- getClient : function(e)
- {
- var h, w;
- if (e) {
- w = e.clientWidth;
- h = e.clientHeight;
- } else {
- var de = document.documentElement;
- w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
- h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
- }
- return {w:w,h:h};
- },
- getScroll : function (e)
- {
- var t=0, l=0, w=0, h=0, iw=0, ih=0;
- if (e && e.nodeName.toLowerCase() != 'body') {
- t = e.scrollTop;
- l = e.scrollLeft;
- w = e.scrollWidth;
- h = e.scrollHeight;
- } else {
- if (document.documentElement) {
- t = document.documentElement.scrollTop;
- l = document.documentElement.scrollLeft;
- w = document.documentElement.scrollWidth;
- h = document.documentElement.scrollHeight;
- } else if (document.body) {
- t = document.body.scrollTop;
- l = document.body.scrollLeft;
- w = document.body.scrollWidth;
- h = document.body.scrollHeight;
- }
- if (typeof pageYOffset != 'undefined') {
- t = pageYOffset;
- l = pageXOffset;
- }
- iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;
- ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;
- }
- return { t: t, l: l, w: w, h: h, iw: iw, ih: ih };
- },
- getMargins : function(e, toInteger)
- {
- var t = jQuery.curCSS(e,'marginTop') || '';
- var r = jQuery.curCSS(e,'marginRight') || '';
- var b = jQuery.curCSS(e,'marginBottom') || '';
- var l = jQuery.curCSS(e,'marginLeft') || '';
- if (toInteger)
- return {
- t: parseInt(t, 10)||0,
- r: parseInt(r, 10)||0,
- b: parseInt(b, 10)||0,
- l: parseInt(l, 10)
- };
- else
- return {t: t, r: r, b: b, l: l};
- },
- getPadding : function(e, toInteger)
- {
- var t = jQuery.curCSS(e,'paddingTop') || '';
- var r = jQuery.curCSS(e,'paddingRight') || '';
- var b = jQuery.curCSS(e,'paddingBottom') || '';
- var l = jQuery.curCSS(e,'paddingLeft') || '';
- if (toInteger)
- return {
- t: parseInt(t, 10)||0,
- r: parseInt(r, 10)||0,
- b: parseInt(b, 10)||0,
- l: parseInt(l, 10)
- };
- else
- return {t: t, r: r, b: b, l: l};
- },
- getBorder : function(e, toInteger)
- {
- var t = jQuery.curCSS(e,'borderTopWidth') || '';
- var r = jQuery.curCSS(e,'borderRightWidth') || '';
- var b = jQuery.curCSS(e,'borderBottomWidth') || '';
- var l = jQuery.curCSS(e,'borderLeftWidth') || '';
- if (toInteger)
- return {
- t: parseInt(t, 10)||0,
- r: parseInt(r, 10)||0,
- b: parseInt(b, 10)||0,
- l: parseInt(l, 10)||0
- };
- else
- return {t: t, r: r, b: b, l: l};
- },
- traverseDOM : function(nodeEl, func)
- {
- func(nodeEl);
- nodeEl = nodeEl.firstChild;
- while(nodeEl){
- EYE.traverseDOM(nodeEl, func);
- nodeEl = nodeEl.nextSibling;
- }
- },
- getInnerWidth : function(el, scroll) {
- var offsetW = el.offsetWidth;
- return scroll ? Math.max(el.scrollWidth,offsetW) - offsetW + el.clientWidth:el.clientWidth;
- },
- getInnerHeight : function(el, scroll) {
- var offsetH = el.offsetHeight;
- return scroll ? Math.max(el.scrollHeight,offsetH) - offsetH + el.clientHeight:el.clientHeight;
- },
- getExtraWidth : function(el) {
- if($.boxModel)
- return (parseInt($.curCSS(el, 'paddingLeft'))||0)
- + (parseInt($.curCSS(el, 'paddingRight'))||0)
- + (parseInt($.curCSS(el, 'borderLeftWidth'))||0)
- + (parseInt($.curCSS(el, 'borderRightWidth'))||0);
- return 0;
- },
- getExtraHeight : function(el) {
- if($.boxModel)
- return (parseInt($.curCSS(el, 'paddingTop'))||0)
- + (parseInt($.curCSS(el, 'paddingBottom'))||0)
- + (parseInt($.curCSS(el, 'borderTopWidth'))||0)
- + (parseInt($.curCSS(el, 'borderBottomWidth'))||0);
- return 0;
- },
- isChildOf: function(parentEl, el, container) {
- if (parentEl == el) {
- return true;
- }
- if (!el || !el.nodeType || el.nodeType != 1) {
- return false;
- }
- if (parentEl.contains && !$.browser.safari) {
- return parentEl.contains(el);
- }
- if ( parentEl.compareDocumentPosition ) {
- return !!(parentEl.compareDocumentPosition(el) & 16);
- }
- var prEl = el.parentNode;
- while(prEl && prEl != container) {
- if (prEl == parentEl)
- return true;
- prEl = prEl.parentNode;
- }
- return false;
- },
- centerEl : function(el, axis)
- {
- var clientScroll = EYE.getScroll();
- var size = EYE.getSize(el);
- if (!axis || axis == 'vertically')
- $(el).css(
- {
- top: clientScroll.t + ((Math.min(clientScroll.h,clientScroll.ih) - size.hb)/2) + 'px'
- }
- );
- if (!axis || axis == 'horizontally')
- $(el).css(
- {
- left: clientScroll.l + ((Math.min(clientScroll.w,clientScroll.iw) - size.wb)/2) + 'px'
- }
- );
- }
-});
-if (!$.easing.easeout) {
- $.easing.easeout = function(p, n, firstNum, delta, duration) {
- return -delta * ((n=n/duration-1)*n*n*n - 1) + firstNum;
- };
-}
-
-})(jQuery); \ No newline at end of file
diff --git a/library/datetimepicker/.gitignore b/library/datetimepicker/.gitignore
new file mode 100644
index 000000000..0012f7d23
--- /dev/null
+++ b/library/datetimepicker/.gitignore
@@ -0,0 +1 @@
+index.php \ No newline at end of file
diff --git a/library/datetimepicker/MIT-LICENSE.txt b/library/datetimepicker/MIT-LICENSE.txt
new file mode 100644
index 000000000..2e68e7d6a
--- /dev/null
+++ b/library/datetimepicker/MIT-LICENSE.txt
@@ -0,0 +1,19 @@
+Copyright (c) 2013 http://xdsoft.net
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE. \ No newline at end of file
diff --git a/library/datetimepicker/README.md b/library/datetimepicker/README.md
new file mode 100644
index 000000000..f0d3f40e3
--- /dev/null
+++ b/library/datetimepicker/README.md
@@ -0,0 +1,20 @@
+datetimepicker
+==============
+[Documentation][doc]
+
+
+jQuery Plugin Date and Time Picker
+
+DateTimePicker
+
+![ScreenShot](https://raw2.github.com/xdan/datetimepicker/master/screen/1.png)
+
+DatePicker
+
+![ScreenShot](https://raw2.github.com/xdan/datetimepicker/master/screen/2.png)
+
+TimePicker
+
+![ScreenShot](https://raw2.github.com/xdan/datetimepicker/master/screen/3.png)
+
+[doc]: http://xdsoft.net/jqplugins/datetimepicker/
diff --git a/library/datetimepicker/jquery.datetimepicker.css b/library/datetimepicker/jquery.datetimepicker.css
new file mode 100644
index 000000000..acf674af7
--- /dev/null
+++ b/library/datetimepicker/jquery.datetimepicker.css
@@ -0,0 +1,418 @@
+.xdsoft_datetimepicker{
+ box-shadow: 0px 5px 15px -5px rgba(0, 0, 0, 0.506);
+ background: #FFFFFF;
+ border-bottom: 1px solid #BBBBBB;
+ border-left: 1px solid #CCCCCC;
+ border-right: 1px solid #CCCCCC;
+ border-top: 1px solid #CCCCCC;
+ color: #333333;
+ font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
+ padding: 8px;
+ padding-left: 0px;
+ padding-top: 2px;
+ position: absolute;
+ z-index: 9999;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ display:none;
+}
+
+.xdsoft_datetimepicker iframe {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 75px;
+ height: 210px;
+ background: transparent;
+ border:none;
+}
+/*For IE8 or lower*/
+.xdsoft_datetimepicker button {
+ border:none !important;
+}
+
+.xdsoft_noselect{
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -o-user-select: none;
+ user-select: none;
+}
+.xdsoft_noselect::selection { background: transparent; }
+.xdsoft_noselect::-moz-selection { background: transparent; }
+.xdsoft_datetimepicker.xdsoft_inline{
+ display: inline-block;
+ position: static;
+ box-shadow: none;
+}
+.xdsoft_datetimepicker *{
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ padding:0px;
+ margin:0px;
+}
+.xdsoft_datetimepicker .xdsoft_datepicker, .xdsoft_datetimepicker .xdsoft_timepicker{
+ display:none;
+}
+.xdsoft_datetimepicker .xdsoft_datepicker.active, .xdsoft_datetimepicker .xdsoft_timepicker.active{
+ display:block;
+}
+.xdsoft_datetimepicker .xdsoft_datepicker{
+ width: 224px;
+ float:left;
+ margin-left:8px;
+}
+.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker{
+ width: 256px;
+}
+.xdsoft_datetimepicker .xdsoft_timepicker{
+ width: 58px;
+ float:left;
+ text-align:center;
+ margin-left:8px;
+ margin-top:0px;
+}
+.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker{
+ margin-top:8px;
+ margin-bottom:3px
+}
+.xdsoft_datetimepicker .xdsoft_mounthpicker{
+ position: relative;
+ text-align: center;
+}
+
+.xdsoft_datetimepicker .xdsoft_label i,
+.xdsoft_datetimepicker .xdsoft_prev,
+.xdsoft_datetimepicker .xdsoft_next,
+.xdsoft_datetimepicker .xdsoft_today_button{
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC);
+}
+
+.xdsoft_datetimepicker .xdsoft_label i{
+ opacity:0.5;
+ background-position:-92px -19px;
+ display: inline-block;
+ width: 9px;
+ height: 20px;
+ vertical-align: middle;
+}
+
+.xdsoft_datetimepicker .xdsoft_prev{
+ float: left;
+ background-position:-20px 0px;
+}
+.xdsoft_datetimepicker .xdsoft_today_button{
+ float: left;
+ background-position:-70px 0px;
+ margin-left:5px;
+}
+
+.xdsoft_datetimepicker .xdsoft_next{
+ float: right;
+ background-position:0px 0px;
+}
+
+.xdsoft_datetimepicker .xdsoft_next,
+.xdsoft_datetimepicker .xdsoft_prev ,
+.xdsoft_datetimepicker .xdsoft_today_button{
+ background-color: transparent;
+ background-repeat: no-repeat;
+ border: 0px none currentColor;
+ cursor: pointer;
+ display: block;
+ height: 30px;
+ opacity: 0.5;
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
+ outline: medium none currentColor;
+ overflow: hidden;
+ padding: 0px;
+ position: relative;
+ text-indent: 100%;
+ white-space: nowrap;
+ width: 20px;
+}
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next{
+ float:none;
+ background-position:-40px -15px;
+ height: 15px;
+ width: 30px;
+ display: block;
+ margin-left:14px;
+ margin-top:7px;
+}
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev{
+ background-position:-40px 0px;
+ margin-bottom:7px;
+ margin-top:0px;
+}
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{
+ height:151px;
+ overflow:hidden;
+ border-bottom:1px solid #DDDDDD;
+}
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div{
+ background: #F5F5F5;
+ border-top:1px solid #DDDDDD;
+ color: #666666;
+ font-size: 12px;
+ text-align: center;
+ border-collapse:collapse;
+ cursor:pointer;
+ border-bottom-width:0px;
+ height:25px;
+ line-height:25px;
+}
+
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div > div:first-child{
+ border-top-width:0px;
+}
+.xdsoft_datetimepicker .xdsoft_today_button:hover,
+.xdsoft_datetimepicker .xdsoft_next:hover,
+.xdsoft_datetimepicker .xdsoft_prev:hover {
+ opacity: 1;
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+}
+.xdsoft_datetimepicker .xdsoft_label{
+ display: inline;
+ position: relative;
+ z-index: 9999;
+ margin: 0;
+ padding: 5px 3px;
+ font-size: 14px;
+ line-height: 20px;
+ font-weight: bold;
+ background-color: #fff;
+ float:left;
+ width:182px;
+ text-align:center;
+ cursor:pointer;
+}
+.xdsoft_datetimepicker .xdsoft_label:hover>span{
+ text-decoration:underline;
+}
+.xdsoft_datetimepicker .xdsoft_label:hover i{
+ opacity:1.0;
+}
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select{
+ border:1px solid #ccc;
+ position:absolute;
+ right:0px;
+ top:30px;
+ z-index:101;
+ display:none;
+ background:#fff;
+ max-height:160px;
+ overflow-y:hidden;
+}
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_monthselect{right:-7px;}
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_yearselect{right:2px;}
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover{
+ color: #fff;
+ background: #ff8000;
+}
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option{
+ padding:2px 10px 2px 5px;
+ text-decoration:none !important;
+}
+.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current{
+ background: #33AAFF;
+ box-shadow: #178FE5 0px 1px 3px 0px inset;
+ color:#fff;
+ font-weight: 700;
+}
+.xdsoft_datetimepicker .xdsoft_month{
+ width:100px;
+ text-align:right;
+}
+.xdsoft_datetimepicker .xdsoft_calendar{
+ clear:both;
+}
+.xdsoft_datetimepicker .xdsoft_year{
+ width: 48px;
+ margin-left: 5px;
+}
+.xdsoft_datetimepicker .xdsoft_calendar table{
+ border-collapse:collapse;
+ width:100%;
+
+}
+.xdsoft_datetimepicker .xdsoft_calendar td > div{
+ padding-right:5px;
+}
+.xdsoft_datetimepicker .xdsoft_calendar th{
+ height: 25px;
+}
+.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th{
+ width:14.2857142%;
+ background: #F5F5F5;
+ border:1px solid #DDDDDD;
+ color: #666666;
+ font-size: 12px;
+ text-align: right;
+ vertical-align: middle;
+ padding:0px;
+ border-collapse:collapse;
+ cursor:pointer;
+ height: 25px;
+}
+.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th{
+ width:12.5%;
+}
+.xdsoft_datetimepicker .xdsoft_calendar th{
+ background: #F1F1F1;
+}
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today{
+ color:#33AAFF;
+}
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current{
+ background: #33AAFF;
+ box-shadow: #178FE5 0px 1px 3px 0px inset;
+ color:#fff;
+ font-weight: 700;
+}
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,
+.xdsoft_datetimepicker .xdsoft_time_box >div >div.xdsoft_disabled{
+ opacity:0.5;
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
+}
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled{
+ opacity:0.2;
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
+}
+.xdsoft_datetimepicker .xdsoft_calendar td:hover,
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover{
+ color: #fff !important;
+ background: #ff8000 !important;
+ box-shadow: none !important;
+}
+.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,
+.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_disabled:hover{
+ color: inherit !important;
+ background: inherit !important;
+ box-shadow: inherit !important;
+}
+.xdsoft_datetimepicker .xdsoft_calendar th{
+ font-weight: 700;
+ text-align: center;
+ color: #999;
+ cursor:default;
+}
+.xdsoft_datetimepicker .xdsoft_copyright{ color:#ccc !important; font-size:10px;clear:both;float:none;margin-left:8px;}
+.xdsoft_datetimepicker .xdsoft_copyright a{ color:#eee !important;}
+.xdsoft_datetimepicker .xdsoft_copyright a:hover{ color:#aaa !important;}
+
+
+.xdsoft_time_box{
+ position:relative;
+ border:1px solid #ccc;
+}
+.xdsoft_scrollbar >.xdsoft_scroller{
+ background:#ccc !important;
+ height:20px;
+ border-radius:3px;
+}
+.xdsoft_scrollbar{
+ position:absolute;
+ width:7px;
+ right:0px;
+ top:0px;
+ bottom:0px;
+ cursor:pointer;
+}
+.xdsoft_scroller_box{
+position:relative;
+}
+
+
+.xdsoft_datetimepicker.xdsoft_dark{
+ box-shadow: 0px 5px 15px -5px rgba(255, 255, 255, 0.506);
+ background: #000000;
+ border-bottom: 1px solid #444444;
+ border-left: 1px solid #333333;
+ border-right: 1px solid #333333;
+ border-top: 1px solid #333333;
+ color: #cccccc;
+}
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box{
+ border-bottom:1px solid #222222;
+}
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div{
+ background: #0a0a0a;
+ border-top:1px solid #222222;
+ color: #999999;
+}
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label{
+ background-color: #000;
+}
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select{
+ border:1px solid #333;
+ background:#000;
+}
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover{
+ color: #000;
+ background: #007fff;
+}
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current{
+ background: #cc5500;
+ box-shadow: #b03e00 0px 1px 3px 0px inset;
+ color:#000;
+}
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button{
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==);
+}
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{
+ background: #0a0a0a;
+ border:1px solid #222222;
+ color: #999999;
+}
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{
+ background: #0e0e0e;
+}
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today{
+ color:#cc5500;
+}
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current{
+ background: #cc5500;
+ box-shadow: #b03e00 0px 1px 3px 0px inset;
+ color:#000;
+}
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div:hover{
+ color: #000 !important;
+ background: #007fff !important;
+}
+
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th{
+ color: #666;
+}
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright{ color:#333 !important;}
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a{ color:#111 !important;}
+.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover{ color:#555 !important;}
+
+
+.xdsoft_dark .xdsoft_time_box{
+ border:1px solid #333;
+}
+.xdsoft_dark .xdsoft_scrollbar >.xdsoft_scroller{
+ background:#333 !important;
+}
diff --git a/library/datetimepicker/jquery.datetimepicker.js b/library/datetimepicker/jquery.datetimepicker.js
new file mode 100644
index 000000000..d4e93dd13
--- /dev/null
+++ b/library/datetimepicker/jquery.datetimepicker.js
@@ -0,0 +1,1661 @@
+/**
+ * @preserve jQuery DateTimePicker plugin v2.4.0
+ * @homepage http://xdsoft.net/jqplugins/datetimepicker/
+ * (c) 2014, Chupurnov Valeriy.
+ */
+/*global document,window,jQuery,setTimeout,clearTimeout*/
+(function ($) {
+ 'use strict';
+ var default_options = {
+ i18n: {
+ ar: { // Arabic
+ months: [
+ "كانون الثاني", "شباط", "آذار", "نيسان", "مايو", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"
+ ],
+ dayOfWeek: [
+ "ن", "ث", "ع", "خ", "ج", "س", "ح"
+ ]
+ },
+ ro: { // Romanian
+ months: [
+ "ianuarie", "februarie", "martie", "aprilie", "mai", "iunie", "iulie", "august", "septembrie", "octombrie", "noiembrie", "decembrie"
+ ],
+ dayOfWeek: [
+ "l", "ma", "mi", "j", "v", "s", "d"
+ ]
+ },
+ id: { // Indonesian
+ months: [
+ "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"
+ ],
+ dayOfWeek: [
+ "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Min"
+ ]
+ },
+ bg: { // Bulgarian
+ months: [
+ "Януари", "Февруари", "Март", "Ðприл", "Май", "Юни", "Юли", "ÐвгуÑÑ‚", "Септември", "Октомври", "Ðоември", "Декември"
+ ],
+ dayOfWeek: [
+ "Ðд", "Пн", "Ð’Ñ‚", "Ср", "Чт", "Пт", "Сб"
+ ]
+ },
+ fa: { // Persian/Farsi
+ months: [
+ 'Ùروردین', 'اردیبهشت', 'خرداد', 'تیر', 'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسÙند'
+ ],
+ dayOfWeek: [
+ 'یکشنبه', 'دوشنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'
+ ]
+ },
+ ru: { // Russian
+ months: [
+ 'Январь', 'Февраль', 'Март', 'Ðпрель', 'Май', 'Июнь', 'Июль', 'ÐвгуÑÑ‚', 'СентÑбрь', 'ОктÑбрь', 'ÐоÑбрь', 'Декабрь'
+ ],
+ dayOfWeek: [
+ "Ð’Ñк", "Пн", "Ð’Ñ‚", "Ср", "Чт", "Пт", "Сб"
+ ]
+ },
+ uk: { // Ukrainian
+ months: [
+ 'Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Липень', 'Серпень', 'ВереÑень', 'Жовтень', 'ЛиÑтопад', 'Грудень'
+ ],
+ dayOfWeek: [
+ "Ðдл", "Пнд", "Ð’Ñ‚Ñ€", "Срд", "Чтв", "Птн", "Сбт"
+ ]
+ },
+ en: { // English
+ months: [
+ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
+ ],
+ dayOfWeek: [
+ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+ ]
+ },
+ el: { // Ελληνικά
+ months: [
+ "ΙανουάÏιος", "ΦεβÏουάÏιος", "ΜάÏτιος", "ΑπÏίλιος", "Μάιος", "ΙοÏνιος", "ΙοÏλιος", "ΑÏγουστος", "ΣεπτέμβÏιος", "ΟκτώβÏιος", "ÎοέμβÏιος", "ΔεκέμβÏιος"
+ ],
+ dayOfWeek: [
+ "ΚυÏ", "Δευ", "ΤÏι", "Τετ", "Πεμ", "ΠαÏ", "Σαβ"
+ ]
+ },
+ de: { // German
+ months: [
+ 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'
+ ],
+ dayOfWeek: [
+ "So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"
+ ]
+ },
+ nl: { // Dutch
+ months: [
+ "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"
+ ],
+ dayOfWeek: [
+ "zo", "ma", "di", "wo", "do", "vr", "za"
+ ]
+ },
+ tr: { // Turkish
+ months: [
+ "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"
+ ],
+ dayOfWeek: [
+ "Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts"
+ ]
+ },
+ fr: { //French
+ months: [
+ "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"
+ ],
+ dayOfWeek: [
+ "Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"
+ ]
+ },
+ es: { // Spanish
+ months: [
+ "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"
+ ],
+ dayOfWeek: [
+ "Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"
+ ]
+ },
+ th: { // Thai
+ months: [
+ 'มà¸à¸£à¸²à¸„ม', 'à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'à¸à¸£à¸à¸Žà¸²à¸„ม', 'สิงหาคม', 'à¸à¸±à¸™à¸¢à¸²à¸¢à¸™', 'ตุลาคม', 'พฤศจิà¸à¸²à¸¢à¸™', 'ธันวาคม'
+ ],
+ dayOfWeek: [
+ 'อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.'
+ ]
+ },
+ pl: { // Polish
+ months: [
+ "styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień"
+ ],
+ dayOfWeek: [
+ "nd", "pn", "wt", "śr", "cz", "pt", "sb"
+ ]
+ },
+ pt: { // Portuguese
+ months: [
+ "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"
+ ],
+ dayOfWeek: [
+ "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"
+ ]
+ },
+ ch: { // Simplified Chinese
+ months: [
+ "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "ä¹æœˆ", "å月", "å一月", "å二月"
+ ],
+ dayOfWeek: [
+ "日", "一", "二", "三", "四", "五", "六"
+ ]
+ },
+ se: { // Swedish
+ months: [
+ "Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"
+ ],
+ dayOfWeek: [
+ "Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"
+ ]
+ },
+ kr: { // Korean
+ months: [
+ "1ì›”", "2ì›”", "3ì›”", "4ì›”", "5ì›”", "6ì›”", "7ì›”", "8ì›”", "9ì›”", "10ì›”", "11ì›”", "12ì›”"
+ ],
+ dayOfWeek: [
+ "ì¼", "ì›”", "í™”", "수", "목", "금", "토"
+ ]
+ },
+ it: { // Italian
+ months: [
+ "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"
+ ],
+ dayOfWeek: [
+ "Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"
+ ]
+ },
+ da: { // Dansk
+ months: [
+ "January", "Februar", "Marts", "April", "Maj", "Juni", "July", "August", "September", "Oktober", "November", "December"
+ ],
+ dayOfWeek: [
+ "Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"
+ ]
+ },
+ no: { // Norwegian
+ months: [
+ "Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"
+ ],
+ dayOfWeek: [
+ "Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"
+ ]
+ },
+ ja: { // Japanese
+ months: [
+ "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"
+ ],
+ dayOfWeek: [
+ "æ—¥", "月", "ç«", "æ°´", "木", "金", "土"
+ ]
+ },
+ vi: { // Vietnamese
+ months: [
+ "Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"
+ ],
+ dayOfWeek: [
+ "CN", "T2", "T3", "T4", "T5", "T6", "T7"
+ ]
+ },
+ sl: { // SlovenÅ¡Äina
+ months: [
+ "Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"
+ ],
+ dayOfWeek: [
+ "Ned", "Pon", "Tor", "Sre", "ÄŒet", "Pet", "Sob"
+ ]
+ },
+ cs: { // Čeština
+ months: [
+ "Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"
+ ],
+ dayOfWeek: [
+ "Ne", "Po", "Út", "St", "Čt", "Pá", "So"
+ ]
+ },
+ hu: { // Hungarian
+ months: [
+ "Január", "Február", "Március", "Ãprilis", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"
+ ],
+ dayOfWeek: [
+ "Va", "Hé", "Ke", "Sze", "Cs", "Pé", "Szo"
+ ]
+ }
+ },
+ value: '',
+ lang: 'en',
+
+ format: 'Y/m/d H:i',
+ formatTime: 'H:i',
+ formatDate: 'Y/m/d',
+
+ startDate: false, // new Date(), '1986/12/08', '-1970/01/05','-1970/01/05',
+ step: 60,
+ monthChangeSpinner: true,
+
+ closeOnDateSelect: false,
+ closeOnWithoutClick: true,
+ closeOnInputClick: true,
+
+ timepicker: true,
+ datepicker: true,
+ weeks: false,
+
+ defaultTime: false, // use formatTime format (ex. '10:00' for formatTime: 'H:i')
+ defaultDate: false, // use formatDate format (ex new Date() or '1986/12/08' or '-1970/01/05' or '-1970/01/05')
+
+ minDate: false,
+ maxDate: false,
+ minTime: false,
+ maxTime: false,
+
+ allowTimes: [],
+ opened: false,
+ initTime: true,
+ inline: false,
+ theme: '',
+
+ onSelectDate: function () {},
+ onSelectTime: function () {},
+ onChangeMonth: function () {},
+ onChangeYear: function () {},
+ onChangeDateTime: function () {},
+ onShow: function () {},
+ onClose: function () {},
+ onGenerate: function () {},
+
+ withoutCopyright: true,
+ inverseButton: false,
+ hours12: false,
+ next: 'xdsoft_next',
+ prev : 'xdsoft_prev',
+ dayOfWeekStart: 0,
+ parentID: 'body',
+ timeHeightInTimePicker: 25,
+ timepickerScrollbar: true,
+ todayButton: true,
+ defaultSelect: true,
+
+ scrollMonth: true,
+ scrollTime: true,
+ scrollInput: true,
+
+ lazyInit: false,
+ mask: false,
+ validateOnBlur: true,
+ allowBlank: true,
+ yearStart: 1950,
+ yearEnd: 2050,
+ style: '',
+ id: '',
+ fixed: false,
+ roundTime: 'round', // ceil, floor
+ className: '',
+ weekends: [],
+ disabledDates : [],
+ yearOffset: 0,
+ beforeShowDay: null,
+
+ enterLikeTab: true
+ };
+ // fix for ie8
+ if (!Array.prototype.indexOf) {
+ Array.prototype.indexOf = function (obj, start) {
+ var i, j;
+ for (i = (start || 0), j = this.length; i < j; i += 1) {
+ if (this[i] === obj) { return i; }
+ }
+ return -1;
+ };
+ }
+ Date.prototype.countDaysInMonth = function () {
+ return new Date(this.getFullYear(), this.getMonth() + 1, 0).getDate();
+ };
+ $.fn.xdsoftScroller = function (percent) {
+ return this.each(function () {
+ var timeboxparent = $(this),
+ pointerEventToXY = function (e) {
+ var out = {x: 0, y: 0},
+ touch;
+ if (e.type === 'touchstart' || e.type === 'touchmove' || e.type === 'touchend' || e.type === 'touchcancel') {
+ touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
+ out.x = touch.clientX;
+ out.y = touch.clientY;
+ } else if (e.type === 'mousedown' || e.type === 'mouseup' || e.type === 'mousemove' || e.type === 'mouseover' || e.type === 'mouseout' || e.type === 'mouseenter' || e.type === 'mouseleave') {
+ out.x = e.clientX;
+ out.y = e.clientY;
+ }
+ return out;
+ },
+ move = 0,
+ timebox,
+ parentHeight,
+ height,
+ scrollbar,
+ scroller,
+ maximumOffset = 100,
+ start = false,
+ startY = 0,
+ startTop = 0,
+ h1 = 0,
+ touchStart = false,
+ startTopScroll = 0,
+ calcOffset = function () {};
+ if (percent === 'hide') {
+ timeboxparent.find('.xdsoft_scrollbar').hide();
+ return;
+ }
+ if (!$(this).hasClass('xdsoft_scroller_box')) {
+ timebox = timeboxparent.children().eq(0);
+ parentHeight = timeboxparent[0].clientHeight;
+ height = timebox[0].offsetHeight;
+ scrollbar = $('<div class="xdsoft_scrollbar"></div>');
+ scroller = $('<div class="xdsoft_scroller"></div>');
+ scrollbar.append(scroller);
+
+ timeboxparent.addClass('xdsoft_scroller_box').append(scrollbar);
+ calcOffset = function calcOffset(event) {
+ var offset = pointerEventToXY(event).y - startY + startTopScroll;
+ if (offset < 0) {
+ offset = 0;
+ }
+ if (offset + scroller[0].offsetHeight > h1) {
+ offset = h1 - scroller[0].offsetHeight;
+ }
+ timeboxparent.trigger('scroll_element.xdsoft_scroller', [maximumOffset ? offset / maximumOffset : 0]);
+ };
+
+ scroller
+ .on('touchstart.xdsoft_scroller mousedown.xdsoft_scroller', function (event) {
+ if (!parentHeight) {
+ timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percent]);
+ }
+
+ startY = pointerEventToXY(event).y;
+ startTopScroll = parseInt(scroller.css('margin-top'), 10);
+ h1 = scrollbar[0].offsetHeight;
+
+ if (event.type === 'mousedown') {
+ if (document) {
+ $(document.body).addClass('xdsoft_noselect');
+ }
+ $([document.body, window]).on('mouseup.xdsoft_scroller', function arguments_callee() {
+ $([document.body, window]).off('mouseup.xdsoft_scroller', arguments_callee)
+ .off('mousemove.xdsoft_scroller', calcOffset)
+ .removeClass('xdsoft_noselect');
+ });
+ $(document.body).on('mousemove.xdsoft_scroller', calcOffset);
+ } else {
+ touchStart = true;
+ event.stopPropagation();
+ event.preventDefault();
+ }
+ })
+ .on('touchmove', function (event) {
+ if (touchStart) {
+ event.preventDefault();
+ calcOffset(event);
+ }
+ })
+ .on('touchend touchcancel', function (event) {
+ touchStart = false;
+ startTopScroll = 0;
+ });
+
+ timeboxparent
+ .on('scroll_element.xdsoft_scroller', function (event, percentage) {
+ if (!parentHeight) {
+ timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percentage, true]);
+ }
+ percentage = percentage > 1 ? 1 : (percentage < 0 || isNaN(percentage)) ? 0 : percentage;
+
+ scroller.css('margin-top', maximumOffset * percentage);
+
+ setTimeout(function () {
+ timebox.css('marginTop', -parseInt((timebox[0].offsetHeight - parentHeight) * percentage, 10));
+ }, 10);
+ })
+ .on('resize_scroll.xdsoft_scroller', function (event, percentage, noTriggerScroll) {
+ var percent, sh;
+ parentHeight = timeboxparent[0].clientHeight;
+ height = timebox[0].offsetHeight;
+ percent = parentHeight / height;
+ sh = percent * scrollbar[0].offsetHeight;
+ if (percent > 1) {
+ scroller.hide();
+ } else {
+ scroller.show();
+ scroller.css('height', parseInt(sh > 10 ? sh : 10, 10));
+ maximumOffset = scrollbar[0].offsetHeight - scroller[0].offsetHeight;
+ if (noTriggerScroll !== true) {
+ timeboxparent.trigger('scroll_element.xdsoft_scroller', [percentage || Math.abs(parseInt(timebox.css('marginTop'), 10)) / (height - parentHeight)]);
+ }
+ }
+ });
+
+ timeboxparent.on('mousewheel', function (event) {
+ var top = Math.abs(parseInt(timebox.css('marginTop'), 10));
+
+ top = top - (event.deltaY * 20);
+ if (top < 0) {
+ top = 0;
+ }
+
+ timeboxparent.trigger('scroll_element.xdsoft_scroller', [top / (height - parentHeight)]);
+ event.stopPropagation();
+ return false;
+ });
+
+ timeboxparent.on('touchstart', function (event) {
+ start = pointerEventToXY(event);
+ startTop = Math.abs(parseInt(timebox.css('marginTop'), 10));
+ });
+
+ timeboxparent.on('touchmove', function (event) {
+ if (start) {
+ event.preventDefault();
+ var coord = pointerEventToXY(event);
+ timeboxparent.trigger('scroll_element.xdsoft_scroller', [(startTop - (coord.y - start.y)) / (height - parentHeight)]);
+ }
+ });
+
+ timeboxparent.on('touchend touchcancel', function (event) {
+ start = false;
+ startTop = 0;
+ });
+ }
+ timeboxparent.trigger('resize_scroll.xdsoft_scroller', [percent]);
+ });
+ };
+
+ $.fn.datetimepicker = function (opt) {
+ var KEY0 = 48,
+ KEY9 = 57,
+ _KEY0 = 96,
+ _KEY9 = 105,
+ CTRLKEY = 17,
+ DEL = 46,
+ ENTER = 13,
+ ESC = 27,
+ BACKSPACE = 8,
+ ARROWLEFT = 37,
+ ARROWUP = 38,
+ ARROWRIGHT = 39,
+ ARROWDOWN = 40,
+ TAB = 9,
+ F5 = 116,
+ AKEY = 65,
+ CKEY = 67,
+ VKEY = 86,
+ ZKEY = 90,
+ YKEY = 89,
+ ctrlDown = false,
+ options = ($.isPlainObject(opt) || !opt) ? $.extend(true, {}, default_options, opt) : $.extend(true, {}, default_options),
+
+ lazyInitTimer = 0,
+ createDateTimePicker,
+ destroyDateTimePicker,
+ _xdsoft_datetime,
+
+ lazyInit = function (input) {
+ input
+ .on('open.xdsoft focusin.xdsoft mousedown.xdsoft', function initOnActionCallback(event) {
+ if (input.is(':disabled') || input.is(':hidden') || !input.is(':visible') || input.data('xdsoft_datetimepicker')) {
+ return;
+ }
+ clearTimeout(lazyInitTimer);
+ lazyInitTimer = setTimeout(function () {
+
+ if (!input.data('xdsoft_datetimepicker')) {
+ createDateTimePicker(input);
+ }
+ input
+ .off('open.xdsoft focusin.xdsoft mousedown.xdsoft', initOnActionCallback)
+ .trigger('open.xdsoft');
+ }, 100);
+ });
+ };
+
+ createDateTimePicker = function (input) {
+ var datetimepicker = $('<div ' + (options.id ? 'id="' + options.id + '"' : '') + ' ' + (options.style ? 'style="' + options.style + '"' : '') + ' class="xdsoft_datetimepicker xdsoft_' + options.theme + ' xdsoft_noselect ' + (options.weeks ? ' xdsoft_showweeks' : '') + options.className + '"></div>'),
+ xdsoft_copyright = $('<div class="xdsoft_copyright"><a target="_blank" href="http://xdsoft.net/jqplugins/datetimepicker/">xdsoft.net</a></div>'),
+ datepicker = $('<div class="xdsoft_datepicker active"></div>'),
+ mounth_picker = $('<div class="xdsoft_mounthpicker"><button type="button" class="xdsoft_prev"></button><button type="button" class="xdsoft_today_button"></button>' +
+ '<div class="xdsoft_label xdsoft_month"><span></span><i></i></div>' +
+ '<div class="xdsoft_label xdsoft_year"><span></span><i></i></div>' +
+ '<button type="button" class="xdsoft_next"></button></div>'),
+ calendar = $('<div class="xdsoft_calendar"></div>'),
+ timepicker = $('<div class="xdsoft_timepicker active"><button type="button" class="xdsoft_prev"></button><div class="xdsoft_time_box"></div><button type="button" class="xdsoft_next"></button></div>'),
+ timeboxparent = timepicker.find('.xdsoft_time_box').eq(0),
+ timebox = $('<div class="xdsoft_time_variant"></div>'),
+ /*scrollbar = $('<div class="xdsoft_scrollbar"></div>'),
+ scroller = $('<div class="xdsoft_scroller"></div>'),*/
+ monthselect = $('<div class="xdsoft_select xdsoft_monthselect"><div></div></div>'),
+ yearselect = $('<div class="xdsoft_select xdsoft_yearselect"><div></div></div>'),
+ triggerAfterOpen = false,
+ XDSoft_datetime,
+ //scroll_element,
+ xchangeTimer,
+ timerclick,
+ current_time_index,
+ setPos,
+ timer = 0,
+ timer1 = 0;
+
+ mounth_picker
+ .find('.xdsoft_month span')
+ .after(monthselect);
+ mounth_picker
+ .find('.xdsoft_year span')
+ .after(yearselect);
+
+ mounth_picker
+ .find('.xdsoft_month,.xdsoft_year')
+ .on('mousedown.xdsoft', function (event) {
+ var select = $(this).find('.xdsoft_select').eq(0),
+ val = 0,
+ top = 0,
+ visible = select.is(':visible'),
+ items,
+ i;
+
+ mounth_picker
+ .find('.xdsoft_select')
+ .hide();
+ if (_xdsoft_datetime.currentTime) {
+ val = _xdsoft_datetime.currentTime[$(this).hasClass('xdsoft_month') ? 'getMonth' : 'getFullYear']();
+ }
+
+ select[visible ? 'hide' : 'show']();
+ for (items = select.find('div.xdsoft_option'), i = 0; i < items.length; i += 1) {
+ if (items.eq(i).data('value') === val) {
+ break;
+ } else {
+ top += items[0].offsetHeight;
+ }
+ }
+
+ select.xdsoftScroller(top / (select.children()[0].offsetHeight - (select[0].clientHeight)));
+ event.stopPropagation();
+ return false;
+ });
+
+ mounth_picker
+ .find('.xdsoft_select')
+ .xdsoftScroller()
+ .on('mousedown.xdsoft', function (event) {
+ event.stopPropagation();
+ event.preventDefault();
+ })
+ .on('mousedown.xdsoft', '.xdsoft_option', function (event) {
+ var year = _xdsoft_datetime.currentTime.getFullYear();
+ if (_xdsoft_datetime && _xdsoft_datetime.currentTime) {
+ _xdsoft_datetime.currentTime[$(this).parent().parent().hasClass('xdsoft_monthselect') ? 'setMonth' : 'setFullYear']($(this).data('value'));
+ }
+
+ $(this).parent().parent().hide();
+
+ datetimepicker.trigger('xchange.xdsoft');
+ if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) {
+ options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
+ }
+
+ if (year !== _xdsoft_datetime.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) {
+ options.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
+ }
+ });
+
+ datetimepicker.setOptions = function (_options) {
+ options = $.extend(true, {}, options, _options);
+
+ if (_options.allowTimes && $.isArray(_options.allowTimes) && _options.allowTimes.length) {
+ options.allowTimes = $.extend(true, [], _options.allowTimes);
+ }
+
+ if (_options.weekends && $.isArray(_options.weekends) && _options.weekends.length) {
+ options.weekends = $.extend(true, [], _options.weekends);
+ }
+
+ if (_options.disabledDates && $.isArray(_options.disabledDates) && _options.disabledDates.length) {
+ options.disabledDates = $.extend(true, [], _options.disabledDates);
+ }
+
+ if ((options.open || options.opened) && (!options.inline)) {
+ input.trigger('open.xdsoft');
+ }
+
+ if (options.inline) {
+ triggerAfterOpen = true;
+ datetimepicker.addClass('xdsoft_inline');
+ input.after(datetimepicker).hide();
+ }
+
+ if (options.inverseButton) {
+ options.next = 'xdsoft_prev';
+ options.prev = 'xdsoft_next';
+ }
+
+ if (options.datepicker) {
+ datepicker.addClass('active');
+ } else {
+ datepicker.removeClass('active');
+ }
+
+ if (options.timepicker) {
+ timepicker.addClass('active');
+ } else {
+ timepicker.removeClass('active');
+ }
+
+ if (options.value) {
+ if (input && input.val) {
+ input.val(options.value);
+ }
+ _xdsoft_datetime.setCurrentTime(options.value);
+ }
+
+ if (isNaN(options.dayOfWeekStart)) {
+ options.dayOfWeekStart = 0;
+ } else {
+ options.dayOfWeekStart = parseInt(options.dayOfWeekStart, 10) % 7;
+ }
+
+ if (!options.timepickerScrollbar) {
+ timeboxparent.xdsoftScroller('hide');
+ }
+
+ if (options.minDate && /^-(.*)$/.test(options.minDate)) {
+ options.minDate = _xdsoft_datetime.strToDateTime(options.minDate).dateFormat(options.formatDate);
+ }
+
+ if (options.maxDate && /^\+(.*)$/.test(options.maxDate)) {
+ options.maxDate = _xdsoft_datetime.strToDateTime(options.maxDate).dateFormat(options.formatDate);
+ }
+
+ mounth_picker
+ .find('.xdsoft_today_button')
+ .css('visibility', !options.todayButton ? 'hidden' : 'visible');
+
+ if (options.mask) {
+ var e,
+ getCaretPos = function (input) {
+ try {
+ if (document.selection && document.selection.createRange) {
+ var range = document.selection.createRange();
+ return range.getBookmark().charCodeAt(2) - 2;
+ }
+ if (input.setSelectionRange) {
+ return input.selectionStart;
+ }
+ } catch (e) {
+ return 0;
+ }
+ },
+ setCaretPos = function (node, pos) {
+ node = (typeof node === "string" || node instanceof String) ? document.getElementById(node) : node;
+ if (!node) {
+ return false;
+ }
+ if (node.createTextRange) {
+ var textRange = node.createTextRange();
+ textRange.collapse(true);
+ textRange.moveEnd('character', pos);
+ textRange.moveStart('character', pos);
+ textRange.select();
+ return true;
+ }
+ if (node.setSelectionRange) {
+ node.setSelectionRange(pos, pos);
+ return true;
+ }
+ return false;
+ },
+ isValidValue = function (mask, value) {
+ var reg = mask
+ .replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g, '\\$1')
+ .replace(/_/g, '{digit+}')
+ .replace(/([0-9]{1})/g, '{digit$1}')
+ .replace(/\{digit([0-9]{1})\}/g, '[0-$1_]{1}')
+ .replace(/\{digit[\+]\}/g, '[0-9_]{1}');
+ return (new RegExp(reg)).test(value);
+ };
+ input.off('keydown.xdsoft');
+
+ if (options.mask === true) {
+ options.mask = options.format
+ .replace(/Y/g, '9999')
+ .replace(/F/g, '9999')
+ .replace(/m/g, '19')
+ .replace(/d/g, '39')
+ .replace(/H/g, '29')
+ .replace(/i/g, '59')
+ .replace(/s/g, '59');
+ }
+
+ if ($.type(options.mask) === 'string') {
+ if (!isValidValue(options.mask, input.val())) {
+ input.val(options.mask.replace(/[0-9]/g, '_'));
+ }
+
+ input.on('keydown.xdsoft', function (event) {
+ var val = this.value,
+ key = event.which,
+ pos,
+ digit;
+
+ if (((key >= KEY0 && key <= KEY9) || (key >= _KEY0 && key <= _KEY9)) || (key === BACKSPACE || key === DEL)) {
+ pos = getCaretPos(this);
+ digit = (key !== BACKSPACE && key !== DEL) ? String.fromCharCode((_KEY0 <= key && key <= _KEY9) ? key - KEY0 : key) : '_';
+
+ if ((key === BACKSPACE || key === DEL) && pos) {
+ pos -= 1;
+ digit = '_';
+ }
+
+ while (/[^0-9_]/.test(options.mask.substr(pos, 1)) && pos < options.mask.length && pos > 0) {
+ pos += (key === BACKSPACE || key === DEL) ? -1 : 1;
+ }
+
+ val = val.substr(0, pos) + digit + val.substr(pos + 1);
+ if ($.trim(val) === '') {
+ val = options.mask.replace(/[0-9]/g, '_');
+ } else {
+ if (pos === options.mask.length) {
+ event.preventDefault();
+ return false;
+ }
+ }
+
+ pos += (key === BACKSPACE || key === DEL) ? 0 : 1;
+ while (/[^0-9_]/.test(options.mask.substr(pos, 1)) && pos < options.mask.length && pos > 0) {
+ pos += (key === BACKSPACE || key === DEL) ? -1 : 1;
+ }
+
+ if (isValidValue(options.mask, val)) {
+ this.value = val;
+ setCaretPos(this, pos);
+ } else if ($.trim(val) === '') {
+ this.value = options.mask.replace(/[0-9]/g, '_');
+ } else {
+ input.trigger('error_input.xdsoft');
+ }
+ } else {
+ if (([AKEY, CKEY, VKEY, ZKEY, YKEY].indexOf(key) !== -1 && ctrlDown) || [ESC, ARROWUP, ARROWDOWN, ARROWLEFT, ARROWRIGHT, F5, CTRLKEY, TAB, ENTER].indexOf(key) !== -1) {
+ return true;
+ }
+ }
+
+ event.preventDefault();
+ return false;
+ });
+ }
+ }
+ if (options.validateOnBlur) {
+ input
+ .off('blur.xdsoft')
+ .on('blur.xdsoft', function () {
+ if (options.allowBlank && !$.trim($(this).val()).length) {
+ $(this).val(null);
+ datetimepicker.data('xdsoft_datetime').empty();
+ } else if (!Date.parseDate($(this).val(), options.format)) {
+ $(this).val((_xdsoft_datetime.now()).dateFormat(options.format));
+ datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());
+ } else {
+ datetimepicker.data('xdsoft_datetime').setCurrentTime($(this).val());
+ }
+ datetimepicker.trigger('changedatetime.xdsoft');
+ });
+ }
+ options.dayOfWeekStartPrev = (options.dayOfWeekStart === 0) ? 6 : options.dayOfWeekStart - 1;
+
+ datetimepicker
+ .trigger('xchange.xdsoft')
+ .trigger('afterOpen.xdsoft');
+ };
+
+ datetimepicker
+ .data('options', options)
+ .on('mousedown.xdsoft', function (event) {
+ event.stopPropagation();
+ event.preventDefault();
+ yearselect.hide();
+ monthselect.hide();
+ return false;
+ });
+
+ //scroll_element = timepicker.find('.xdsoft_time_box');
+ timeboxparent.append(timebox);
+ timeboxparent.xdsoftScroller();
+
+ datetimepicker.on('afterOpen.xdsoft', function () {
+ timeboxparent.xdsoftScroller();
+ });
+
+ datetimepicker
+ .append(datepicker)
+ .append(timepicker);
+
+ if (options.withoutCopyright !== true) {
+ datetimepicker
+ .append(xdsoft_copyright);
+ }
+
+ datepicker
+ .append(mounth_picker)
+ .append(calendar);
+
+ $(options.parentID)
+ .append(datetimepicker);
+
+ XDSoft_datetime = function () {
+ var _this = this;
+ _this.now = function (norecursion) {
+ var d = new Date(),
+ date,
+ time;
+
+ if (!norecursion && options.defaultDate) {
+ date = _this.strToDate(options.defaultDate);
+ d.setFullYear(date.getFullYear());
+ d.setMonth(date.getMonth());
+ d.setDate(date.getDate());
+ }
+
+ if (options.yearOffset) {
+ d.setFullYear(d.getFullYear() + options.yearOffset);
+ }
+
+ if (!norecursion && options.defaultTime) {
+ time = _this.strtotime(options.defaultTime);
+ d.setHours(time.getHours());
+ d.setMinutes(time.getMinutes());
+ }
+
+ return d;
+ };
+
+ _this.isValidDate = function (d) {
+ if (Object.prototype.toString.call(d) !== "[object Date]") {
+ return false;
+ }
+ return !isNaN(d.getTime());
+ };
+
+ _this.setCurrentTime = function (dTime) {
+ _this.currentTime = (typeof dTime === 'string') ? _this.strToDateTime(dTime) : _this.isValidDate(dTime) ? dTime : _this.now();
+ datetimepicker.trigger('xchange.xdsoft');
+ };
+
+ _this.empty = function () {
+ _this.currentTime = null;
+ };
+
+ _this.getCurrentTime = function (dTime) {
+ return _this.currentTime;
+ };
+
+ _this.nextMonth = function () {
+ var month = _this.currentTime.getMonth() + 1,
+ year;
+ if (month === 12) {
+ _this.currentTime.setFullYear(_this.currentTime.getFullYear() + 1);
+ month = 0;
+ }
+
+ year = _this.currentTime.getFullYear();
+
+ _this.currentTime.setDate(
+ Math.min(
+ new Date(_this.currentTime.getFullYear(), month + 1, 0).getDate(),
+ _this.currentTime.getDate()
+ )
+ );
+ _this.currentTime.setMonth(month);
+
+ if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) {
+ options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
+ }
+
+ if (year !== _this.currentTime.getFullYear() && $.isFunction(options.onChangeYear)) {
+ options.onChangeYear.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
+ }
+
+ datetimepicker.trigger('xchange.xdsoft');
+ return month;
+ };
+
+ _this.prevMonth = function () {
+ var month = _this.currentTime.getMonth() - 1;
+ if (month === -1) {
+ _this.currentTime.setFullYear(_this.currentTime.getFullYear() - 1);
+ month = 11;
+ }
+ _this.currentTime.setDate(
+ Math.min(
+ new Date(_this.currentTime.getFullYear(), month + 1, 0).getDate(),
+ _this.currentTime.getDate()
+ )
+ );
+ _this.currentTime.setMonth(month);
+ if (options.onChangeMonth && $.isFunction(options.onChangeMonth)) {
+ options.onChangeMonth.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
+ }
+ datetimepicker.trigger('xchange.xdsoft');
+ return month;
+ };
+
+ _this.getWeekOfYear = function (datetime) {
+ var onejan = new Date(datetime.getFullYear(), 0, 1);
+ return Math.ceil((((datetime - onejan) / 86400000) + onejan.getDay() + 1) / 7);
+ };
+
+ _this.strToDateTime = function (sDateTime) {
+ var tmpDate = [], timeOffset, currentTime;
+
+ if (sDateTime && sDateTime instanceof Date && _this.isValidDate(sDateTime)) {
+ return sDateTime;
+ }
+
+ tmpDate = /^(\+|\-)(.*)$/.exec(sDateTime);
+ if (tmpDate) {
+ tmpDate[2] = Date.parseDate(tmpDate[2], options.formatDate);
+ }
+ if (tmpDate && tmpDate[2]) {
+ timeOffset = tmpDate[2].getTime() - (tmpDate[2].getTimezoneOffset()) * 60000;
+ currentTime = new Date((_xdsoft_datetime.now()).getTime() + parseInt(tmpDate[1] + '1', 10) * timeOffset);
+ } else {
+ currentTime = sDateTime ? Date.parseDate(sDateTime, options.format) : _this.now();
+ }
+
+ if (!_this.isValidDate(currentTime)) {
+ currentTime = _this.now();
+ }
+
+ return currentTime;
+ };
+
+ _this.strToDate = function (sDate) {
+ if (sDate && sDate instanceof Date && _this.isValidDate(sDate)) {
+ return sDate;
+ }
+
+ var currentTime = sDate ? Date.parseDate(sDate, options.formatDate) : _this.now(true);
+ if (!_this.isValidDate(currentTime)) {
+ currentTime = _this.now(true);
+ }
+ return currentTime;
+ };
+
+ _this.strtotime = function (sTime) {
+ if (sTime && sTime instanceof Date && _this.isValidDate(sTime)) {
+ return sTime;
+ }
+ var currentTime = sTime ? Date.parseDate(sTime, options.formatTime) : _this.now(true);
+ if (!_this.isValidDate(currentTime)) {
+ currentTime = _this.now(true);
+ }
+ return currentTime;
+ };
+
+ _this.str = function () {
+ return _this.currentTime.dateFormat(options.format);
+ };
+ _this.currentTime = this.now();
+ };
+
+ _xdsoft_datetime = new XDSoft_datetime();
+
+ mounth_picker
+ .find('.xdsoft_today_button')
+ .on('mousedown.xdsoft', function () {
+ datetimepicker.data('changed', true);
+ _xdsoft_datetime.setCurrentTime(0);
+ datetimepicker.trigger('afterOpen.xdsoft');
+ }).on('dblclick.xdsoft', function () {
+ input.val(_xdsoft_datetime.str());
+ datetimepicker.trigger('close.xdsoft');
+ });
+ mounth_picker
+ .find('.xdsoft_prev,.xdsoft_next')
+ .on('mousedown.xdsoft', function () {
+ var $this = $(this),
+ timer = 0,
+ stop = false;
+
+ (function arguments_callee1(v) {
+ var month = _xdsoft_datetime.currentTime.getMonth();
+ if ($this.hasClass(options.next)) {
+ _xdsoft_datetime.nextMonth();
+ } else if ($this.hasClass(options.prev)) {
+ _xdsoft_datetime.prevMonth();
+ }
+ if (options.monthChangeSpinner) {
+ if (!stop) {
+ timer = setTimeout(arguments_callee1, v || 100);
+ }
+ }
+ }(500));
+
+ $([document.body, window]).on('mouseup.xdsoft', function arguments_callee2() {
+ clearTimeout(timer);
+ stop = true;
+ $([document.body, window]).off('mouseup.xdsoft', arguments_callee2);
+ });
+ });
+
+ timepicker
+ .find('.xdsoft_prev,.xdsoft_next')
+ .on('mousedown.xdsoft', function () {
+ var $this = $(this),
+ timer = 0,
+ stop = false,
+ period = 110;
+ (function arguments_callee4(v) {
+ var pheight = timeboxparent[0].clientHeight,
+ height = timebox[0].offsetHeight,
+ top = Math.abs(parseInt(timebox.css('marginTop'), 10));
+ if ($this.hasClass(options.next) && (height - pheight) - options.timeHeightInTimePicker >= top) {
+ timebox.css('marginTop', '-' + (top + options.timeHeightInTimePicker) + 'px');
+ } else if ($this.hasClass(options.prev) && top - options.timeHeightInTimePicker >= 0) {
+ timebox.css('marginTop', '-' + (top - options.timeHeightInTimePicker) + 'px');
+ }
+ timeboxparent.trigger('scroll_element.xdsoft_scroller', [Math.abs(parseInt(timebox.css('marginTop'), 10) / (height - pheight))]);
+ period = (period > 10) ? 10 : period - 10;
+ if (!stop) {
+ timer = setTimeout(arguments_callee4, v || period);
+ }
+ }(500));
+ $([document.body, window]).on('mouseup.xdsoft', function arguments_callee5() {
+ clearTimeout(timer);
+ stop = true;
+ $([document.body, window])
+ .off('mouseup.xdsoft', arguments_callee5);
+ });
+ });
+
+ xchangeTimer = 0;
+ // base handler - generating a calendar and timepicker
+ datetimepicker
+ .on('xchange.xdsoft', function (event) {
+ clearTimeout(xchangeTimer);
+ xchangeTimer = setTimeout(function () {
+ var table = '',
+ start = new Date(_xdsoft_datetime.currentTime.getFullYear(), _xdsoft_datetime.currentTime.getMonth(), 1, 12, 0, 0),
+ i = 0,
+ j,
+ today = _xdsoft_datetime.now(),
+ maxDate = false,
+ minDate = false,
+ d,
+ y,
+ m,
+ w,
+ classes = [],
+ customDateSettings,
+ newRow = true,
+ time = '',
+ h = '',
+ line_time;
+
+ while (start.getDay() !== options.dayOfWeekStart) {
+ start.setDate(start.getDate() - 1);
+ }
+
+ table += '<table><thead><tr>';
+
+ if (options.weeks) {
+ table += '<th></th>';
+ }
+
+ for (j = 0; j < 7; j += 1) {
+ table += '<th>' + options.i18n[options.lang].dayOfWeek[(j + options.dayOfWeekStart) % 7] + '</th>';
+ }
+
+ table += '</tr></thead>';
+ table += '<tbody>';
+
+ if (options.maxDate !== false) {
+ maxDate = _xdsoft_datetime.strToDate(options.maxDate);
+ maxDate = new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate(), 23, 59, 59, 999);
+ }
+
+ if (options.minDate !== false) {
+ minDate = _xdsoft_datetime.strToDate(options.minDate);
+ minDate = new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate());
+ }
+
+ while (i < _xdsoft_datetime.currentTime.countDaysInMonth() || start.getDay() !== options.dayOfWeekStart || _xdsoft_datetime.currentTime.getMonth() === start.getMonth()) {
+ classes = [];
+ i += 1;
+
+ d = start.getDate();
+ y = start.getFullYear();
+ m = start.getMonth();
+ w = _xdsoft_datetime.getWeekOfYear(start);
+
+ classes.push('xdsoft_date');
+
+ if (options.beforeShowDay && $.isFunction(options.beforeShowDay.call)) {
+ customDateSettings = options.beforeShowDay.call(datetimepicker, start);
+ } else {
+ customDateSettings = null;
+ }
+
+ if ((maxDate !== false && start > maxDate) || (minDate !== false && start < minDate) || (customDateSettings && customDateSettings[0] === false)) {
+ classes.push('xdsoft_disabled');
+ } else if (options.disabledDates.indexOf(start.dateFormat(options.formatDate)) !== -1) {
+ classes.push('xdsoft_disabled');
+ }
+
+ if (customDateSettings && customDateSettings[1] !== "") {
+ classes.push(customDateSettings[1]);
+ }
+
+ if (_xdsoft_datetime.currentTime.getMonth() !== m) {
+ classes.push('xdsoft_other_month');
+ }
+
+ if ((options.defaultSelect || datetimepicker.data('changed')) && _xdsoft_datetime.currentTime.dateFormat(options.formatDate) === start.dateFormat(options.formatDate)) {
+ classes.push('xdsoft_current');
+ }
+
+ if (today.dateFormat(options.formatDate) === start.dateFormat(options.formatDate)) {
+ classes.push('xdsoft_today');
+ }
+
+ if (start.getDay() === 0 || start.getDay() === 6 || options.weekends.indexOf(start.dateFormat(options.formatDate)) === -1) {
+ classes.push('xdsoft_weekend');
+ }
+
+ if (options.beforeShowDay && $.isFunction(options.beforeShowDay)) {
+ classes.push(options.beforeShowDay(start));
+ }
+
+ if (newRow) {
+ table += '<tr>';
+ newRow = false;
+ if (options.weeks) {
+ table += '<th>' + w + '</th>';
+ }
+ }
+
+ table += '<td data-date="' + d + '" data-month="' + m + '" data-year="' + y + '"' + ' class="xdsoft_date xdsoft_day_of_week' + start.getDay() + ' ' + classes.join(' ') + '">' +
+ '<div>' + d + '</div>' +
+ '</td>';
+
+ if (start.getDay() === options.dayOfWeekStartPrev) {
+ table += '</tr>';
+ newRow = true;
+ }
+
+ start.setDate(d + 1);
+ }
+ table += '</tbody></table>';
+
+ calendar.html(table);
+
+ mounth_picker.find('.xdsoft_label span').eq(0).text(options.i18n[options.lang].months[_xdsoft_datetime.currentTime.getMonth()]);
+ mounth_picker.find('.xdsoft_label span').eq(1).text(_xdsoft_datetime.currentTime.getFullYear());
+
+ // generate timebox
+ time = '';
+ h = '';
+ m = '';
+ line_time = function line_time(h, m) {
+ var now = _xdsoft_datetime.now();
+ now.setHours(h);
+ h = parseInt(now.getHours(), 10);
+ now.setMinutes(m);
+ m = parseInt(now.getMinutes(), 10);
+
+ classes = [];
+ if ((options.maxTime !== false && _xdsoft_datetime.strtotime(options.maxTime).getTime() < now.getTime()) || (options.minTime !== false && _xdsoft_datetime.strtotime(options.minTime).getTime() > now.getTime())) {
+ classes.push('xdsoft_disabled');
+ }
+ if ((options.initTime || options.defaultSelect || datetimepicker.data('changed')) && parseInt(_xdsoft_datetime.currentTime.getHours(), 10) === parseInt(h, 10) && (options.step > 59 || Math[options.roundTime](_xdsoft_datetime.currentTime.getMinutes() / options.step) * options.step === parseInt(m, 10))) {
+ if (options.defaultSelect || datetimepicker.data('changed')) {
+ classes.push('xdsoft_current');
+ } else if (options.initTime) {
+ classes.push('xdsoft_init_time');
+ }
+ }
+ if (parseInt(today.getHours(), 10) === parseInt(h, 10) && parseInt(today.getMinutes(), 10) === parseInt(m, 10)) {
+ classes.push('xdsoft_today');
+ }
+ time += '<div class="xdsoft_time ' + classes.join(' ') + '" data-hour="' + h + '" data-minute="' + m + '">' + now.dateFormat(options.formatTime) + '</div>';
+ };
+
+ if (!options.allowTimes || !$.isArray(options.allowTimes) || !options.allowTimes.length) {
+ for (i = 0, j = 0; i < (options.hours12 ? 12 : 24); i += 1) {
+ for (j = 0; j < 60; j += options.step) {
+ h = (i < 10 ? '0' : '') + i;
+ m = (j < 10 ? '0' : '') + j;
+ line_time(h, m);
+ }
+ }
+ } else {
+ for (i = 0; i < options.allowTimes.length; i += 1) {
+ h = _xdsoft_datetime.strtotime(options.allowTimes[i]).getHours();
+ m = _xdsoft_datetime.strtotime(options.allowTimes[i]).getMinutes();
+ line_time(h, m);
+ }
+ }
+
+ timebox.html(time);
+
+ opt = '';
+ i = 0;
+
+ for (i = parseInt(options.yearStart, 10) + options.yearOffset; i <= parseInt(options.yearEnd, 10) + options.yearOffset; i += 1) {
+ opt += '<div class="xdsoft_option ' + (_xdsoft_datetime.currentTime.getFullYear() === i ? 'xdsoft_current' : '') + '" data-value="' + i + '">' + i + '</div>';
+ }
+ yearselect.children().eq(0)
+ .html(opt);
+
+ for (i = 0, opt = ''; i <= 11; i += 1) {
+ opt += '<div class="xdsoft_option ' + (_xdsoft_datetime.currentTime.getMonth() === i ? 'xdsoft_current' : '') + '" data-value="' + i + '">' + options.i18n[options.lang].months[i] + '</div>';
+ }
+ monthselect.children().eq(0).html(opt);
+ $(datetimepicker)
+ .trigger('generate.xdsoft');
+ }, 10);
+ event.stopPropagation();
+ })
+ .on('afterOpen.xdsoft', function () {
+ if (options.timepicker) {
+ var classType, pheight, height, top;
+ if (timebox.find('.xdsoft_current').length) {
+ classType = '.xdsoft_current';
+ } else if (timebox.find('.xdsoft_init_time').length) {
+ classType = '.xdsoft_init_time';
+ }
+ if (classType) {
+ pheight = timeboxparent[0].clientHeight;
+ height = timebox[0].offsetHeight;
+ top = timebox.find(classType).index() * options.timeHeightInTimePicker + 1;
+ if ((height - pheight) < top) {
+ top = height - pheight;
+ }
+ timeboxparent.trigger('scroll_element.xdsoft_scroller', [parseInt(top, 10) / (height - pheight)]);
+ } else {
+ timeboxparent.trigger('scroll_element.xdsoft_scroller', [0]);
+ }
+ }
+ });
+
+ timerclick = 0;
+ calendar
+ .on('click.xdsoft', 'td', function (xdevent) {
+ xdevent.stopPropagation(); // Prevents closing of Pop-ups, Modals and Flyouts in Bootstrap
+ timerclick += 1;
+ var $this = $(this),
+ currentTime = _xdsoft_datetime.currentTime;
+
+ if (currentTime === undefined || currentTime === null) {
+ _xdsoft_datetime.currentTime = _xdsoft_datetime.now();
+ currentTime = _xdsoft_datetime.currentTime;
+ }
+
+ if ($this.hasClass('xdsoft_disabled')) {
+ return false;
+ }
+
+ currentTime.setDate(1);
+ currentTime.setFullYear($this.data('year'));
+ currentTime.setMonth($this.data('month'));
+ currentTime.setDate($this.data('date'));
+
+ datetimepicker.trigger('select.xdsoft', [currentTime]);
+
+ input.val(_xdsoft_datetime.str());
+ if ((timerclick > 1 || (options.closeOnDateSelect === true || (options.closeOnDateSelect === 0 && !options.timepicker))) && !options.inline) {
+ datetimepicker.trigger('close.xdsoft');
+ }
+
+ if (options.onSelectDate && $.isFunction(options.onSelectDate)) {
+ options.onSelectDate.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent);
+ }
+
+ datetimepicker.data('changed', true);
+ datetimepicker.trigger('xchange.xdsoft');
+ datetimepicker.trigger('changedatetime.xdsoft');
+ setTimeout(function () {
+ timerclick = 0;
+ }, 200);
+ });
+
+ timebox
+ .on('click.xdsoft', 'div', function (xdevent) {
+ xdevent.stopPropagation();
+ var $this = $(this),
+ currentTime = _xdsoft_datetime.currentTime;
+
+ if (currentTime === undefined || currentTime === null) {
+ _xdsoft_datetime.currentTime = _xdsoft_datetime.now();
+ currentTime = _xdsoft_datetime.currentTime;
+ }
+
+ if ($this.hasClass('xdsoft_disabled')) {
+ return false;
+ }
+ currentTime.setHours($this.data('hour'));
+ currentTime.setMinutes($this.data('minute'));
+ datetimepicker.trigger('select.xdsoft', [currentTime]);
+
+ datetimepicker.data('input').val(_xdsoft_datetime.str());
+ if (!options.inline) {
+ datetimepicker.trigger('close.xdsoft');
+ }
+
+ if (options.onSelectTime && $.isFunction(options.onSelectTime)) {
+ options.onSelectTime.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), xdevent);
+ }
+ datetimepicker.data('changed', true);
+ datetimepicker.trigger('xchange.xdsoft');
+ datetimepicker.trigger('changedatetime.xdsoft');
+ });
+
+
+ datepicker
+ .on('mousewheel.xdsoft', function (event) {
+ if (!options.scrollMonth) {
+ return true;
+ }
+ if (event.deltaY < 0) {
+ _xdsoft_datetime.nextMonth();
+ } else {
+ _xdsoft_datetime.prevMonth();
+ }
+ return false;
+ });
+
+ input
+ .on('mousewheel.xdsoft', function (event) {
+ if (!options.scrollInput) {
+ return true;
+ }
+ if (!options.datepicker && options.timepicker) {
+ current_time_index = timebox.find('.xdsoft_current').length ? timebox.find('.xdsoft_current').eq(0).index() : 0;
+ if (current_time_index + event.deltaY >= 0 && current_time_index + event.deltaY < timebox.children().length) {
+ current_time_index += event.deltaY;
+ }
+ if (timebox.children().eq(current_time_index).length) {
+ timebox.children().eq(current_time_index).trigger('mousedown');
+ }
+ return false;
+ }
+ if (options.datepicker && !options.timepicker) {
+ datepicker.trigger(event, [event.deltaY, event.deltaX, event.deltaY]);
+ if (input.val) {
+ input.val(_xdsoft_datetime.str());
+ }
+ datetimepicker.trigger('changedatetime.xdsoft');
+ return false;
+ }
+ });
+
+ datetimepicker
+ .on('changedatetime.xdsoft', function (event) {
+ if (options.onChangeDateTime && $.isFunction(options.onChangeDateTime)) {
+ var $input = datetimepicker.data('input');
+ options.onChangeDateTime.call(datetimepicker, _xdsoft_datetime.currentTime, $input, event);
+ delete options.value;
+ $input.trigger('change');
+ }
+ })
+ .on('generate.xdsoft', function () {
+ if (options.onGenerate && $.isFunction(options.onGenerate)) {
+ options.onGenerate.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'));
+ }
+ if (triggerAfterOpen) {
+ datetimepicker.trigger('afterOpen.xdsoft');
+ triggerAfterOpen = false;
+ }
+ })
+ .on('click.xdsoft', function (xdevent) {
+ xdevent.stopPropagation();
+ });
+
+ current_time_index = 0;
+
+ setPos = function () {
+ var offset = datetimepicker.data('input').offset(), top = offset.top + datetimepicker.data('input')[0].offsetHeight - 1, left = offset.left, position = "absolute";
+ if (options.fixed) {
+ top -= $(window).scrollTop();
+ left -= $(window).scrollLeft();
+ position = "fixed";
+ } else {
+ if (top + datetimepicker[0].offsetHeight > $(window).height() + $(window).scrollTop()) {
+ top = offset.top - datetimepicker[0].offsetHeight + 1;
+ }
+ if (top < 0) {
+ top = 0;
+ }
+ if (left + datetimepicker[0].offsetWidth > $(window).width()) {
+ left = $(window).width() - datetimepicker[0].offsetWidth;
+ }
+ }
+ datetimepicker.css({
+ left: left,
+ top: top,
+ position: position
+ });
+ };
+ datetimepicker
+ .on('open.xdsoft', function (event) {
+ var onShow = true;
+ if (options.onShow && $.isFunction(options.onShow)) {
+ onShow = options.onShow.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), event);
+ }
+ if (onShow !== false) {
+ datetimepicker.show();
+ setPos();
+ $(window)
+ .off('resize.xdsoft', setPos)
+ .on('resize.xdsoft', setPos);
+
+ if (options.closeOnWithoutClick) {
+ $([document.body, window]).on('mousedown.xdsoft', function arguments_callee6() {
+ datetimepicker.trigger('close.xdsoft');
+ $([document.body, window]).off('mousedown.xdsoft', arguments_callee6);
+ });
+ }
+ }
+ })
+ .on('close.xdsoft', function (event) {
+ var onClose = true;
+ mounth_picker
+ .find('.xdsoft_month,.xdsoft_year')
+ .find('.xdsoft_select')
+ .hide();
+ if (options.onClose && $.isFunction(options.onClose)) {
+ onClose = options.onClose.call(datetimepicker, _xdsoft_datetime.currentTime, datetimepicker.data('input'), event);
+ }
+ if (onClose !== false && !options.opened && !options.inline) {
+ datetimepicker.hide();
+ }
+ event.stopPropagation();
+ })
+ .on('toggle.xdsoft', function (event) {
+ datetimepicker.is(':visible') ? datetimepicker.trigger('close.xdsoft') : datetimepicker.trigger('open.xdsoft');
+ })
+ .data('input', input);
+
+ timer = 0;
+ timer1 = 0;
+
+ datetimepicker.data('xdsoft_datetime', _xdsoft_datetime);
+ datetimepicker.setOptions(options);
+
+ function getCurrentValue() {
+
+ var ct = false, time;
+
+ if (options.startDate) {
+ ct = _xdsoft_datetime.strToDate(options.startDate);
+ } else {
+ ct = options.value || ((input && input.val && input.val()) ? input.val() : '');
+ if (ct) {
+ ct = _xdsoft_datetime.strToDateTime(ct);
+ } else if (options.defaultDate) {
+ ct = _xdsoft_datetime.strToDate(options.defaultDate);
+ if (options.defaultTime) {
+ time = _xdsoft_datetime.strtotime(options.defaultTime);
+ ct.setHours(time.getHours());
+ ct.setMinutes(time.getMinutes());
+ }
+ }
+ }
+
+ if (ct && _xdsoft_datetime.isValidDate(ct)) {
+ datetimepicker.data('changed', true);
+ } else {
+ ct = '';
+ }
+
+ return ct || 0;
+ }
+
+ _xdsoft_datetime.setCurrentTime(getCurrentValue());
+
+ input
+ .data('xdsoft_datetimepicker', datetimepicker)
+ .on('open.xdsoft focusin.xdsoft mousedown.xdsoft', function (event) {
+ if (input.is(':disabled') || input.is(':hidden') || !input.is(':visible') || (input.data('xdsoft_datetimepicker').is(':visible') && options.closeOnInputClick)) {
+ return;
+ }
+ clearTimeout(timer);
+ timer = setTimeout(function () {
+ if (input.is(':disabled') || input.is(':hidden') || !input.is(':visible')) {
+ return;
+ }
+
+ triggerAfterOpen = true;
+ _xdsoft_datetime.setCurrentTime(getCurrentValue());
+
+ datetimepicker.trigger('open.xdsoft');
+ }, 100);
+ })
+ .on('keydown.xdsoft', function (event) {
+ var val = this.value, elementSelector,
+ key = event.which;
+ if ([ENTER].indexOf(key) !== -1 && options.enterLikeTab) {
+ elementSelector = $("input:visible,textarea:visible");
+ datetimepicker.trigger('close.xdsoft');
+ elementSelector.eq(elementSelector.index(this) + 1).focus();
+ return false;
+ }
+ if ([TAB].indexOf(key) !== -1) {
+ datetimepicker.trigger('close.xdsoft');
+ return true;
+ }
+ });
+ };
+ destroyDateTimePicker = function (input) {
+ var datetimepicker = input.data('xdsoft_datetimepicker');
+ if (datetimepicker) {
+ datetimepicker.data('xdsoft_datetime', null);
+ datetimepicker.remove();
+ input
+ .data('xdsoft_datetimepicker', null)
+ .off('.xdsoft');
+ $(window).off('resize.xdsoft');
+ $([window, document.body]).off('mousedown.xdsoft');
+ if (input.unmousewheel) {
+ input.unmousewheel();
+ }
+ }
+ };
+ $(document)
+ .off('keydown.xdsoftctrl keyup.xdsoftctrl')
+ .on('keydown.xdsoftctrl', function (e) {
+ if (e.keyCode === CTRLKEY) {
+ ctrlDown = true;
+ }
+ })
+ .on('keyup.xdsoftctrl', function (e) {
+ if (e.keyCode === CTRLKEY) {
+ ctrlDown = false;
+ }
+ });
+ return this.each(function () {
+ var datetimepicker = $(this).data('xdsoft_datetimepicker');
+ if (datetimepicker) {
+ if ($.type(opt) === 'string') {
+ switch (opt) {
+ case 'show':
+ $(this).select().focus();
+ datetimepicker.trigger('open.xdsoft');
+ break;
+ case 'hide':
+ datetimepicker.trigger('close.xdsoft');
+ break;
+ case 'toggle':
+ datetimepicker.trigger('toggle.xdsoft');
+ break;
+ case 'destroy':
+ destroyDateTimePicker($(this));
+ break;
+ case 'reset':
+ this.value = this.defaultValue;
+ if (!this.value || !datetimepicker.data('xdsoft_datetime').isValidDate(Date.parseDate(this.value, options.format))) {
+ datetimepicker.data('changed', false);
+ }
+ datetimepicker.data('xdsoft_datetime').setCurrentTime(this.value);
+ break;
+ }
+ } else {
+ datetimepicker
+ .setOptions(opt);
+ }
+ return 0;
+ }
+ if ($.type(opt) !== 'string') {
+ if (!options.lazyInit || options.open || options.inline) {
+ createDateTimePicker($(this));
+ } else {
+ lazyInit($(this));
+ }
+ }
+ });
+ };
+ $.fn.datetimepicker.defaults = default_options;
+}(jQuery));
+(function () {
+
+/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
+ * Licensed under the MIT License (LICENSE.txt).
+ *
+ * Version: 3.1.12
+ *
+ * Requires: jQuery 1.2.2+
+ */
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});
+
+// Parse and Format Library
+//http://www.xaprb.com/blog/2005/12/12/javascript-closures-for-runtime-efficiency/
+/*
+ * Copyright (C) 2004 Baron Schwartz <baron at sequent dot org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by the
+ * Free Software Foundation, version 2.1.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+Date.parseFunctions={count:0};Date.parseRegexes=[];Date.formatFunctions={count:0};Date.prototype.dateFormat=function(b){if(b=="unixtime"){return parseInt(this.getTime()/1000);}if(Date.formatFunctions[b]==null){Date.createNewFormat(b);}var a=Date.formatFunctions[b];return this[a]();};Date.createNewFormat=function(format){var funcName="format"+Date.formatFunctions.count++;Date.formatFunctions[format]=funcName;var code="Date.prototype."+funcName+" = function() {return ";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true;}else{if(special){special=false;code+="'"+String.escape(ch)+"' + ";}else{code+=Date.getFormatCode(ch);}}}eval(code.substring(0,code.length-3)+";}");};Date.getFormatCode=function(a){switch(a){case"d":return"String.leftPad(this.getDate(), 2, '0') + ";case"D":return"Date.dayNames[this.getDay()].substring(0, 3) + ";case"j":return"this.getDate() + ";case"l":return"Date.dayNames[this.getDay()] + ";case"S":return"this.getSuffix() + ";case"w":return"this.getDay() + ";case"z":return"this.getDayOfYear() + ";case"W":return"this.getWeekOfYear() + ";case"F":return"Date.monthNames[this.getMonth()] + ";case"m":return"String.leftPad(this.getMonth() + 1, 2, '0') + ";case"M":return"Date.monthNames[this.getMonth()].substring(0, 3) + ";case"n":return"(this.getMonth() + 1) + ";case"t":return"this.getDaysInMonth() + ";case"L":return"(this.isLeapYear() ? 1 : 0) + ";case"Y":return"this.getFullYear() + ";case"y":return"('' + this.getFullYear()).substring(2, 4) + ";case"a":return"(this.getHours() < 12 ? 'am' : 'pm') + ";case"A":return"(this.getHours() < 12 ? 'AM' : 'PM') + ";case"g":return"((this.getHours() %12) ? this.getHours() % 12 : 12) + ";case"G":return"this.getHours() + ";case"h":return"String.leftPad((this.getHours() %12) ? this.getHours() % 12 : 12, 2, '0') + ";case"H":return"String.leftPad(this.getHours(), 2, '0') + ";case"i":return"String.leftPad(this.getMinutes(), 2, '0') + ";case"s":return"String.leftPad(this.getSeconds(), 2, '0') + ";case"O":return"this.getGMTOffset() + ";case"T":return"this.getTimezone() + ";case"Z":return"(this.getTimezoneOffset() * -60) + ";default:return"'"+String.escape(a)+"' + ";}};Date.parseDate=function(a,c){if(c=="unixtime"){return new Date(!isNaN(parseInt(a))?parseInt(a)*1000:0);}if(Date.parseFunctions[c]==null){Date.createParser(c);}var b=Date.parseFunctions[c];return Date[b](a);};Date.createParser=function(format){var funcName="parse"+Date.parseFunctions.count++;var regexNum=Date.parseRegexes.length;var currentGroup=1;Date.parseFunctions[format]=funcName;var code="Date."+funcName+" = function(input) {\nvar y = -1, m = -1, d = -1, h = -1, i = -1, s = -1, z = -1;\nvar d = new Date();\ny = d.getFullYear();\nm = d.getMonth();\nd = d.getDate();\nvar results = input.match(Date.parseRegexes["+regexNum+"]);\nif (results && results.length > 0) {";var regex="";var special=false;var ch="";for(var i=0;i<format.length;++i){ch=format.charAt(i);if(!special&&ch=="\\"){special=true;}else{if(special){special=false;regex+=String.escape(ch);}else{obj=Date.formatCodeToRegex(ch,currentGroup);currentGroup+=obj.g;regex+=obj.s;if(obj.g&&obj.c){code+=obj.c;}}}}code+="if (y > 0 && z > 0){\nvar doyDate = new Date(y,0);\ndoyDate.setDate(z);\nm = doyDate.getMonth();\nd = doyDate.getDate();\n}";code+="if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0)\n{return new Date(y, m, d, h, i, s);}\nelse if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0)\n{return new Date(y, m, d, h, i);}\nelse if (y > 0 && m >= 0 && d > 0 && h >= 0)\n{return new Date(y, m, d, h);}\nelse if (y > 0 && m >= 0 && d > 0)\n{return new Date(y, m, d);}\nelse if (y > 0 && m >= 0)\n{return new Date(y, m);}\nelse if (y > 0)\n{return new Date(y);}\n}return null;}";Date.parseRegexes[regexNum]=new RegExp("^"+regex+"$");eval(code);};Date.formatCodeToRegex=function(b,a){switch(b){case"D":return{g:0,c:null,s:"(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)"};case"j":case"d":return{g:1,c:"d = parseInt(results["+a+"], 10);\n",s:"(\\d{1,2})"};case"l":return{g:0,c:null,s:"(?:"+Date.dayNames.join("|")+")"};case"S":return{g:0,c:null,s:"(?:st|nd|rd|th)"};case"w":return{g:0,c:null,s:"\\d"};case"z":return{g:1,c:"z = parseInt(results["+a+"], 10);\n",s:"(\\d{1,3})"};case"W":return{g:0,c:null,s:"(?:\\d{2})"};case"F":return{g:1,c:"m = parseInt(Date.monthNumbers[results["+a+"].substring(0, 3)], 10);\n",s:"("+Date.monthNames.join("|")+")"};case"M":return{g:1,c:"m = parseInt(Date.monthNumbers[results["+a+"]], 10);\n",s:"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)"};case"n":case"m":return{g:1,c:"m = parseInt(results["+a+"], 10) - 1;\n",s:"(\\d{1,2})"};case"t":return{g:0,c:null,s:"\\d{1,2}"};case"L":return{g:0,c:null,s:"(?:1|0)"};case"Y":return{g:1,c:"y = parseInt(results["+a+"], 10);\n",s:"(\\d{4})"};case"y":return{g:1,c:"var ty = parseInt(results["+a+"], 10);\ny = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n",s:"(\\d{1,2})"};case"a":return{g:1,c:"if (results["+a+"] == 'am') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(am|pm)"};case"A":return{g:1,c:"if (results["+a+"] == 'AM') {\nif (h == 12) { h = 0; }\n} else { if (h < 12) { h += 12; }}",s:"(AM|PM)"};case"g":case"G":case"h":case"H":return{g:1,c:"h = parseInt(results["+a+"], 10);\n",s:"(\\d{1,2})"};case"i":return{g:1,c:"i = parseInt(results["+a+"], 10);\n",s:"(\\d{2})"};case"s":return{g:1,c:"s = parseInt(results["+a+"], 10);\n",s:"(\\d{2})"};case"O":return{g:0,c:null,s:"[+-]\\d{4}"};case"T":return{g:0,c:null,s:"[A-Z]{3}"};case"Z":return{g:0,c:null,s:"[+-]\\d{1,5}"};default:return{g:0,c:null,s:String.escape(b)};}};Date.prototype.getTimezone=function(){return this.toString().replace(/^.*? ([A-Z]{3}) [0-9]{4}.*$/,"$1").replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,"$1$2$3");};Date.prototype.getGMTOffset=function(){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.floor(Math.abs(this.getTimezoneOffset())/60),2,"0")+String.leftPad(Math.abs(this.getTimezoneOffset())%60,2,"0");};Date.prototype.getDayOfYear=function(){var a=0;Date.daysInMonth[1]=this.isLeapYear()?29:28;for(var b=0;b<this.getMonth();++b){a+=Date.daysInMonth[b];}return a+this.getDate();};Date.prototype.getWeekOfYear=function(){var b=this.getDayOfYear()+(4-this.getDay());var a=new Date(this.getFullYear(),0,1);var c=(7-a.getDay()+4);return String.leftPad(Math.ceil((b-c)/7)+1,2,"0");};Date.prototype.isLeapYear=function(){var a=this.getFullYear();return((a&3)==0&&(a%100||(a%400==0&&a)));};Date.prototype.getFirstDayOfMonth=function(){var a=(this.getDay()-(this.getDate()-1))%7;return(a<0)?(a+7):a;};Date.prototype.getLastDayOfMonth=function(){var a=(this.getDay()+(Date.daysInMonth[this.getMonth()]-this.getDate()))%7;return(a<0)?(a+7):a;};Date.prototype.getDaysInMonth=function(){Date.daysInMonth[1]=this.isLeapYear()?29:28;return Date.daysInMonth[this.getMonth()];};Date.prototype.getSuffix=function(){switch(this.getDate()){case 1:case 21:case 31:return"st";case 2:case 22:return"nd";case 3:case 23:return"rd";default:return"th";}};String.escape=function(a){return a.replace(/('|\\)/g,"\\$1");};String.leftPad=function(d,b,c){var a=new String(d);if(c==null){c=" ";}while(a.length<b){a=c+a;}return a;};Date.daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31];Date.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"];Date.dayNames=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];Date.y2kYear=50;Date.monthNumbers={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};Date.patterns={ISO8601LongPattern:"Y-m-d H:i:s",ISO8601ShortPattern:"Y-m-d",ShortDatePattern:"n/j/Y",LongDatePattern:"l, F d, Y",FullDateTimePattern:"l, F d, Y g:i:s A",MonthDayPattern:"F d",ShortTimePattern:"g:i A",LongTimePattern:"g:i:s A",SortableDateTimePattern:"Y-m-d\\TH:i:s",UniversalSortableDateTimePattern:"Y-m-d H:i:sO",YearMonthPattern:"F, Y"};
+}());
diff --git a/library/fancybox/blank.gif b/library/fancybox/blank.gif
deleted file mode 100644
index 35d42e808..000000000
--- a/library/fancybox/blank.gif
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_close.png b/library/fancybox/fancy_close.png
deleted file mode 100644
index 07035307a..000000000
--- a/library/fancybox/fancy_close.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_loading.png b/library/fancybox/fancy_loading.png
deleted file mode 100644
index 250301796..000000000
--- a/library/fancybox/fancy_loading.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_nav_left.png b/library/fancybox/fancy_nav_left.png
deleted file mode 100644
index ebaa6a4fd..000000000
--- a/library/fancybox/fancy_nav_left.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_nav_right.png b/library/fancybox/fancy_nav_right.png
deleted file mode 100644
index 873294e96..000000000
--- a/library/fancybox/fancy_nav_right.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_shadow_e.png b/library/fancybox/fancy_shadow_e.png
deleted file mode 100644
index 2eda08936..000000000
--- a/library/fancybox/fancy_shadow_e.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_shadow_n.png b/library/fancybox/fancy_shadow_n.png
deleted file mode 100644
index 69aa10e23..000000000
--- a/library/fancybox/fancy_shadow_n.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_shadow_ne.png b/library/fancybox/fancy_shadow_ne.png
deleted file mode 100644
index 79f6980a3..000000000
--- a/library/fancybox/fancy_shadow_ne.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_shadow_nw.png b/library/fancybox/fancy_shadow_nw.png
deleted file mode 100644
index 7182cd938..000000000
--- a/library/fancybox/fancy_shadow_nw.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_shadow_s.png b/library/fancybox/fancy_shadow_s.png
deleted file mode 100644
index d8858bfb7..000000000
--- a/library/fancybox/fancy_shadow_s.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_shadow_se.png b/library/fancybox/fancy_shadow_se.png
deleted file mode 100644
index 541e3ffd3..000000000
--- a/library/fancybox/fancy_shadow_se.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_shadow_sw.png b/library/fancybox/fancy_shadow_sw.png
deleted file mode 100644
index b451689fa..000000000
--- a/library/fancybox/fancy_shadow_sw.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_shadow_w.png b/library/fancybox/fancy_shadow_w.png
deleted file mode 100644
index 8a4e4a887..000000000
--- a/library/fancybox/fancy_shadow_w.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_title_left.png b/library/fancybox/fancy_title_left.png
deleted file mode 100644
index 6049223d1..000000000
--- a/library/fancybox/fancy_title_left.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_title_main.png b/library/fancybox/fancy_title_main.png
deleted file mode 100644
index 8044271f2..000000000
--- a/library/fancybox/fancy_title_main.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_title_over.png b/library/fancybox/fancy_title_over.png
deleted file mode 100644
index d9f458f4b..000000000
--- a/library/fancybox/fancy_title_over.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancy_title_right.png b/library/fancybox/fancy_title_right.png
deleted file mode 100644
index e36d9db2a..000000000
--- a/library/fancybox/fancy_title_right.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancybox-x.png b/library/fancybox/fancybox-x.png
deleted file mode 100644
index c2130f869..000000000
--- a/library/fancybox/fancybox-x.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancybox-y.png b/library/fancybox/fancybox-y.png
deleted file mode 100644
index 7ef399b99..000000000
--- a/library/fancybox/fancybox-y.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/fancybox.png b/library/fancybox/fancybox.png
deleted file mode 100644
index 65e14f68f..000000000
--- a/library/fancybox/fancybox.png
+++ /dev/null
Binary files differ
diff --git a/library/fancybox/jquery.easing-1.3.pack.js b/library/fancybox/jquery.easing-1.3.pack.js
deleted file mode 100644
index 9028179e7..000000000
--- a/library/fancybox/jquery.easing-1.3.pack.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
- *
- * Uses the built in easing capabilities added In jQuery 1.1
- * to offer multiple easing options
- *
- * TERMS OF USE - jQuery Easing
- *
- * Open source under the BSD License.
- *
- * Copyright © 2008 George McGinley Smith
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * Redistributions of source code must retain the above copyright notice, this list of
- * conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice, this list
- * of conditions and the following disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * Neither the name of the author nor the names of contributors may be used to endorse
- * or promote products derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- *
-*/
-
-// t: current time, b: begInnIng value, c: change In value, d: duration
-eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t<d/2)6 h.i.A(x,t*2,0,c,d)*.5+b;6 h.i.v(x,t*2-d,0,c,d)*.5+c*.5+b}});',62,74,'||||||return||Math|function|||||if|var|PI|jQuery|easing|pow|75|70158|else|sin|sqrt||5625|asin|||undefined|easeOutBounce|abs||def|swing|easeInBounce|525|cos|easeOutQuad|easeOutBack|easeInBack|easeInSine|easeOutElastic|easeInOutQuint|easeOutQuint|easeInQuint|easeInOutQuart|easeOutQuart|easeInQuart|extend|easeInElastic|easeInOutCirc|easeInOutCubic|easeOutCirc|easeInOutElastic|easeOutCubic|easeInCirc|easeInOutExpo|easeInCubic|easeOutExpo|easeInExpo||9375|easeInOutSine|easeInOutQuad|25|easeOutSine|easeInOutBack|easeInQuad|625|984375|jswing|easeInOutBounce'.split('|'),0,{}))
-
-/*
- *
- * TERMS OF USE - EASING EQUATIONS
- *
- * Open source under the BSD License.
- *
- * Copyright © 2001 Robert Penner
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *
- * Redistributions of source code must retain the above copyright notice, this list of
- * conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice, this list
- * of conditions and the following disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * Neither the name of the author nor the names of contributors may be used to endorse
- * or promote products derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
diff --git a/library/fancybox/jquery.fancybox-1.3.4.css b/library/fancybox/jquery.fancybox-1.3.4.css
deleted file mode 100644
index 6f53d8f4a..000000000
--- a/library/fancybox/jquery.fancybox-1.3.4.css
+++ /dev/null
@@ -1,359 +0,0 @@
-/*
- * FancyBox - jQuery Plugin
- * Simple and fancy lightbox alternative
- *
- * Examples and documentation at: http://fancybox.net
- *
- * Copyright (c) 2008 - 2010 Janis Skarnelis
- * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
- *
- * Version: 1.3.4 (11/11/2010)
- * Requires: jQuery v1.3+
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- */
-
-#fancybox-loading {
- position: fixed;
- top: 50%;
- left: 50%;
- width: 40px;
- height: 40px;
- margin-top: -20px;
- margin-left: -20px;
- cursor: pointer;
- overflow: hidden;
- z-index: 1104;
- display: none;
-}
-
-#fancybox-loading div {
- position: absolute;
- top: 0;
- left: 0;
- width: 40px;
- height: 480px;
- background-image: url('fancybox.png');
-}
-
-#fancybox-overlay {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- z-index: 1100;
- display: none;
-}
-
-#fancybox-tmp {
- padding: 0;
- margin: 0;
- border: 0;
- overflow: auto;
- display: none;
-}
-
-#fancybox-wrap {
- position: absolute;
- top: 0;
- left: 0;
- padding: 20px;
- z-index: 1101;
- outline: none;
- display: none;
-}
-
-#fancybox-outer {
- position: relative;
- width: 100%;
- height: 100%;
- background: #fff;
-}
-
-#fancybox-content {
- width: 0;
- height: 0;
- padding: 0;
- outline: none;
- position: relative;
- overflow: hidden;
- z-index: 1102;
- border: 0px solid #fff;
-}
-
-#fancybox-hide-sel-frame {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: transparent;
- z-index: 1101;
-}
-
-#fancybox-close {
- position: absolute;
- top: -15px;
- right: -15px;
- width: 30px;
- height: 30px;
- background: transparent url('fancybox.png') -40px 0px;
- cursor: pointer;
- z-index: 1103;
- display: none;
-}
-
-#fancybox-error {
- color: #444;
- font: normal 12px/20px Arial;
- padding: 14px;
- margin: 0;
-}
-
-#fancybox-img {
- width: 100%;
- height: 100%;
- padding: 0;
- margin: 0;
- border: none;
- outline: none;
- line-height: 0;
- vertical-align: top;
-}
-
-#fancybox-frame {
- width: 100%;
- height: 100%;
- border: none;
- display: block;
-}
-
-#fancybox-left, #fancybox-right {
- position: absolute;
- bottom: 0px;
- height: 100%;
- width: 35%;
- cursor: pointer;
- outline: none;
- background: transparent url('blank.gif');
- z-index: 1102;
- display: none;
-}
-
-#fancybox-left {
- left: 0px;
-}
-
-#fancybox-right {
- right: 0px;
-}
-
-#fancybox-left-ico, #fancybox-right-ico {
- position: absolute;
- top: 50%;
- left: -9999px;
- width: 30px;
- height: 30px;
- margin-top: -15px;
- cursor: pointer;
- z-index: 1102;
- display: block;
-}
-
-#fancybox-left-ico {
- background-image: url('fancybox.png');
- background-position: -40px -30px;
-}
-
-#fancybox-right-ico {
- background-image: url('fancybox.png');
- background-position: -40px -60px;
-}
-
-#fancybox-left:hover, #fancybox-right:hover {
- visibility: visible; /* IE6 */
-}
-
-#fancybox-left:hover span {
- left: 20px;
-}
-
-#fancybox-right:hover span {
- left: auto;
- right: 20px;
-}
-
-.fancybox-bg {
- position: absolute;
- padding: 0;
- margin: 0;
- border: 0;
- width: 20px;
- height: 20px;
- z-index: 1001;
-}
-
-#fancybox-bg-n {
- top: -20px;
- left: 0;
- width: 100%;
- background-image: url('fancybox-x.png');
-}
-
-#fancybox-bg-ne {
- top: -20px;
- right: -20px;
- background-image: url('fancybox.png');
- background-position: -40px -162px;
-}
-
-#fancybox-bg-e {
- top: 0;
- right: -20px;
- height: 100%;
- background-image: url('fancybox-y.png');
- background-position: -20px 0px;
-}
-
-#fancybox-bg-se {
- bottom: -20px;
- right: -20px;
- background-image: url('fancybox.png');
- background-position: -40px -182px;
-}
-
-#fancybox-bg-s {
- bottom: -20px;
- left: 0;
- width: 100%;
- background-image: url('fancybox-x.png');
- background-position: 0px -20px;
-}
-
-#fancybox-bg-sw {
- bottom: -20px;
- left: -20px;
- background-image: url('fancybox.png');
- background-position: -40px -142px;
-}
-
-#fancybox-bg-w {
- top: 0;
- left: -20px;
- height: 100%;
- background-image: url('fancybox-y.png');
-}
-
-#fancybox-bg-nw {
- top: -20px;
- left: -20px;
- background-image: url('fancybox.png');
- background-position: -40px -122px;
-}
-
-#fancybox-title {
- font-family: Helvetica;
- font-size: 12px;
- z-index: 1102;
-}
-
-.fancybox-title-inside {
- padding-bottom: 10px;
- text-align: center;
- color: #333;
- background: #fff;
- position: relative;
-}
-
-.fancybox-title-outside {
- padding-top: 10px;
- color: #fff;
-}
-
-.fancybox-title-over {
- position: absolute;
- bottom: 0;
- left: 0;
- color: #FFF;
- text-align: left;
-}
-
-#fancybox-title-over {
- padding: 10px;
- background-image: url('fancy_title_over.png');
- display: block;
-}
-
-.fancybox-title-float {
- position: absolute;
- left: 0;
- bottom: -20px;
- height: 32px;
-}
-
-#fancybox-title-float-wrap {
- border: none;
- border-collapse: collapse;
- width: auto;
-}
-
-#fancybox-title-float-wrap td {
- border: none;
- white-space: nowrap;
-}
-
-#fancybox-title-float-left {
- padding: 0 0 0 15px;
- background: url('fancybox.png') -40px -90px no-repeat;
-}
-
-#fancybox-title-float-main {
- color: #FFF;
- line-height: 29px;
- font-weight: bold;
- padding: 0 0 3px 0;
- background: url('fancybox-x.png') 0px -40px;
-}
-
-#fancybox-title-float-right {
- padding: 0 0 0 15px;
- background: url('fancybox.png') -55px -90px no-repeat;
-}
-
-/* IE6 */
-
-.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); }
-
-.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); }
-.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); }
-
-.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; }
-.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); }
-.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); }
-.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); }
-
-.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame {
- height: expression(this.parentNode.clientHeight + "px");
-}
-
-#fancybox-loading.fancybox-ie6 {
- position: absolute; margin-top: 0;
- top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px');
-}
-
-#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); }
-
-/* IE6, IE7, IE8 */
-
-.fancybox-ie .fancybox-bg { background: transparent !important; }
-
-.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); }
-.fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); } \ No newline at end of file
diff --git a/library/fancybox/jquery.fancybox-1.3.4.js b/library/fancybox/jquery.fancybox-1.3.4.js
deleted file mode 100644
index 43e2cd56b..000000000
--- a/library/fancybox/jquery.fancybox-1.3.4.js
+++ /dev/null
@@ -1,1157 +0,0 @@
-/*
- * FancyBox - jQuery Plugin
- * Simple and fancy lightbox alternative
- *
- * Examples and documentation at: http://fancybox.net
- *
- * Copyright (c) 2008 - 2010 Janis Skarnelis
- * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
- *
- * Version: 1.3.4 (11/11/2010)
- * Requires: jQuery v1.3+
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- */
-
-;(function($) {
- var tmp, loading, overlay, wrap, outer, content, close, title, nav_left, nav_right,
-
- selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [],
-
- ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i,
-
- loadingTimer, loadingFrame = 1,
-
- titleHeight = 0, titleStr = '', start_pos, final_pos, busy = false, fx = $.extend($('<div/>')[0], { prop: 0 }),
-
- isIE6 = false,
-// $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest,
-
- /*
- * Private methods
- */
-
- _abort = function() {
- loading.hide();
-
- imgPreloader.onerror = imgPreloader.onload = null;
-
- if (ajaxLoader) {
- ajaxLoader.abort();
- }
-
- tmp.empty();
- },
-
- _error = function() {
- if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) {
- loading.hide();
- busy = false;
- return;
- }
-
- selectedOpts.titleShow = false;
-
- selectedOpts.width = 'auto';
- selectedOpts.height = 'auto';
-
- tmp.html( '<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>' );
-
- _process_inline();
- },
-
- _start = function() {
- var obj = selectedArray[ selectedIndex ],
- href,
- type,
- title,
- str,
- emb,
- ret;
-
- _abort();
-
- selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox')));
-
- ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts);
-
- if (ret === false) {
- busy = false;
- return;
- } else if (typeof ret == 'object') {
- selectedOpts = $.extend(selectedOpts, ret);
- }
-
- title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || '';
-
- if (obj.nodeName && !selectedOpts.orig) {
- selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj);
- }
-
- if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) {
- title = selectedOpts.orig.attr('alt');
- }
-
- href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null;
-
- if ((/^(?:javascript)/i).test(href) || href == '#') {
- href = null;
- }
-
- if (selectedOpts.type) {
- type = selectedOpts.type;
-
- if (!href) {
- href = selectedOpts.content;
- }
-
- } else if (selectedOpts.content) {
- type = 'html';
-
- } else if (href) {
- if (href.match(imgRegExp)) {
- type = 'image';
-
- } else if (href.match(swfRegExp)) {
- type = 'swf';
-
- } else if ($(obj).hasClass("iframe")) {
- type = 'iframe';
-
- } else if (href.indexOf("#") === 0) {
- type = 'inline';
-
- } else {
- type = 'ajax';
- }
- }
-
- if (!type) {
- _error();
- return;
- }
-
- if (type == 'inline') {
- obj = href.substr(href.indexOf("#"));
- type = $(obj).length > 0 ? 'inline' : 'ajax';
- }
-
- selectedOpts.type = type;
- selectedOpts.href = href;
- selectedOpts.title = title;
-
- if (selectedOpts.autoDimensions) {
- if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') {
- selectedOpts.width = 'auto';
- selectedOpts.height = 'auto';
- } else {
- selectedOpts.autoDimensions = false;
- }
- }
-
- if (selectedOpts.modal) {
- selectedOpts.overlayShow = true;
- selectedOpts.hideOnOverlayClick = false;
- selectedOpts.hideOnContentClick = false;
- selectedOpts.enableEscapeButton = false;
- selectedOpts.showCloseButton = false;
- }
-
- selectedOpts.padding = parseInt(selectedOpts.padding, 10);
- selectedOpts.margin = parseInt(selectedOpts.margin, 10);
-
- tmp.css('padding', (selectedOpts.padding + selectedOpts.margin));
-
- $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() {
- $(this).replaceWith(content.children());
- });
-
- switch (type) {
- case 'html' :
- tmp.html( selectedOpts.content );
- _process_inline();
- break;
-
- case 'inline' :
- if ( $(obj).parent().is('#fancybox-content') === true) {
- busy = false;
- return;
- }
-
- $('<div class="fancybox-inline-tmp" />')
- .hide()
- .insertBefore( $(obj) )
- .bind('fancybox-cleanup', function() {
- $(this).replaceWith(content.children());
- }).bind('fancybox-cancel', function() {
- $(this).replaceWith(tmp.children());
- });
-
- $(obj).appendTo(tmp);
-
- _process_inline();
- break;
-
- case 'image':
- busy = false;
-
- $.fancybox.showActivity();
-
- imgPreloader = new Image();
-
- imgPreloader.onerror = function() {
- _error();
- };
-
- imgPreloader.onload = function() {
- busy = true;
-
- imgPreloader.onerror = imgPreloader.onload = null;
-
- _process_image();
- };
-
- imgPreloader.src = href;
- break;
-
- case 'swf':
- selectedOpts.scrolling = 'no';
-
- str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';
- emb = '';
-
- $.each(selectedOpts.swf, function(name, val) {
- str += '<param name="' + name + '" value="' + val + '"></param>';
- emb += ' ' + name + '="' + val + '"';
- });
-
- str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';
-
- tmp.html(str);
-
- _process_inline();
- break;
-
- case 'ajax':
- busy = false;
-
- $.fancybox.showActivity();
-
- selectedOpts.ajax.win = selectedOpts.ajax.success;
-
- ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, {
- url : href,
- data : selectedOpts.ajax.data || {},
- error : function(XMLHttpRequest, textStatus, errorThrown) {
- if ( XMLHttpRequest.status > 0 ) {
- _error();
- }
- },
- success : function(data, textStatus, XMLHttpRequest) {
- var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader;
- if (o.status == 200) {
- if ( typeof selectedOpts.ajax.win == 'function' ) {
- ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest);
-
- if (ret === false) {
- loading.hide();
- return;
- } else if (typeof ret == 'string' || typeof ret == 'object') {
- data = ret;
- }
- }
-
- tmp.html( data );
- _process_inline();
- }
- }
- }));
-
- break;
-
- case 'iframe':
- _show();
- break;
- }
- },
-
- _process_inline = function() {
- var
- w = selectedOpts.width,
- h = selectedOpts.height;
-
- if (w.toString().indexOf('%') > -1) {
- w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px';
-
- } else {
- w = w == 'auto' ? 'auto' : w + 'px';
- }
-
- if (h.toString().indexOf('%') > -1) {
- h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px';
-
- } else {
- h = h == 'auto' ? 'auto' : h + 'px';
- }
-
- tmp.wrapInner('<div style="width:' + w + ';height:' + h + ';overflow: ' + (selectedOpts.scrolling == 'auto' ? 'auto' : (selectedOpts.scrolling == 'yes' ? 'scroll' : 'hidden')) + ';position:relative;"></div>');
-
- selectedOpts.width = tmp.width();
- selectedOpts.height = tmp.height();
-
- _show();
- },
-
- _process_image = function() {
- selectedOpts.width = imgPreloader.width;
- selectedOpts.height = imgPreloader.height;
-
- $("<img />").attr({
- 'id' : 'fancybox-img',
- 'src' : imgPreloader.src,
- 'alt' : selectedOpts.title
- }).appendTo( tmp );
-
- _show();
- },
-
- _show = function() {
- var pos, equal;
-
- loading.hide();
-
- if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) {
- $.event.trigger('fancybox-cancel');
-
- busy = false;
- return;
- }
-
- busy = true;
-
- $(content.add( overlay )).unbind();
-
- $(window).unbind("resize.fb scroll.fb");
- $(document).unbind('keydown.fb');
-
- if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') {
- wrap.css('height', wrap.height());
- }
-
- currentArray = selectedArray;
- currentIndex = selectedIndex;
- currentOpts = selectedOpts;
-
- if (currentOpts.overlayShow) {
- overlay.css({
- 'background-color' : currentOpts.overlayColor,
- 'opacity' : currentOpts.overlayOpacity,
- 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto',
- 'height' : $(document).height()
- });
-
- if (!overlay.is(':visible')) {
- if (isIE6) {
- $('select:not(#fancybox-tmp select)').filter(function() {
- return this.style.visibility !== 'hidden';
- }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() {
- this.style.visibility = 'inherit';
- });
- }
-
- overlay.show();
- }
- } else {
- overlay.hide();
- }
-
- final_pos = _get_zoom_to();
-
- _process_title();
-
- if (wrap.is(":visible")) {
- $( close.add( nav_left ).add( nav_right ) ).hide();
-
- pos = wrap.position(),
-
- start_pos = {
- top : pos.top,
- left : pos.left,
- width : wrap.width(),
- height : wrap.height()
- };
-
- equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height);
-
- content.fadeTo(currentOpts.changeFade, 0.3, function() {
- var finish_resizing = function() {
- content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish);
- };
-
- $.event.trigger('fancybox-change');
-
- content
- .empty()
- .removeAttr('filter')
- .css({
- 'border-width' : currentOpts.padding,
- 'width' : final_pos.width - currentOpts.padding * 2,
- 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2
- });
-
- if (equal) {
- finish_resizing();
-
- } else {
- fx.prop = 0;
-
- $(fx).animate({prop: 1}, {
- duration : currentOpts.changeSpeed,
- easing : currentOpts.easingChange,
- step : _draw,
- complete : finish_resizing
- });
- }
- });
-
- return;
- }
-
- wrap.removeAttr("style");
-
- content.css('border-width', currentOpts.padding);
-
- if (currentOpts.transitionIn == 'elastic') {
- start_pos = _get_zoom_from();
-
- content.html( tmp.contents() );
-
- wrap.show();
-
- if (currentOpts.opacity) {
- final_pos.opacity = 0;
- }
-
- fx.prop = 0;
-
- $(fx).animate({prop: 1}, {
- duration : currentOpts.speedIn,
- easing : currentOpts.easingIn,
- step : _draw,
- complete : _finish
- });
-
- return;
- }
-
- if (currentOpts.titlePosition == 'inside' && titleHeight > 0) {
- title.show();
- }
-
- content
- .css({
- 'width' : final_pos.width - currentOpts.padding * 2,
- 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2
- })
- .html( tmp.contents() );
-
- wrap
- .css(final_pos)
- .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish );
- },
-
- _format_title = function(title) {
- if (title && title.length) {
- if (currentOpts.titlePosition == 'float') {
- return '<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">' + title + '</td><td id="fancybox-title-float-right"></td></tr></table>';
- }
-
- return '<div id="fancybox-title-' + currentOpts.titlePosition + '">' + title + '</div>';
- }
-
- return false;
- },
-
- _process_title = function() {
- titleStr = currentOpts.title || '';
- titleHeight = 0;
-
- title
- .empty()
- .removeAttr('style')
- .removeClass();
-
- if (currentOpts.titleShow === false) {
- title.hide();
- return;
- }
-
- titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr);
-
- if (!titleStr || titleStr === '') {
- title.hide();
- return;
- }
-
- title
- .addClass('fancybox-title-' + currentOpts.titlePosition)
- .html( titleStr )
- .appendTo( 'body' )
- .show();
-
- switch (currentOpts.titlePosition) {
- case 'inside':
- title
- .css({
- 'width' : final_pos.width - (currentOpts.padding * 2),
- 'marginLeft' : currentOpts.padding,
- 'marginRight' : currentOpts.padding
- });
-
- titleHeight = title.outerHeight(true);
-
- title.appendTo( outer );
-
- final_pos.height += titleHeight;
- break;
-
- case 'over':
- title
- .css({
- 'marginLeft' : currentOpts.padding,
- 'width' : final_pos.width - (currentOpts.padding * 2),
- 'bottom' : currentOpts.padding
- })
- .appendTo( outer );
- break;
-
- case 'float':
- title
- .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1)
- .appendTo( wrap );
- break;
-
- default:
- title
- .css({
- 'width' : final_pos.width - (currentOpts.padding * 2),
- 'paddingLeft' : currentOpts.padding,
- 'paddingRight' : currentOpts.padding
- })
- .appendTo( wrap );
- break;
- }
-
- title.hide();
- },
-
- _set_navigation = function() {
- if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) {
- $(document).bind('keydown.fb', function(e) {
- if (e.keyCode == 27 && currentOpts.enableEscapeButton) {
- e.preventDefault();
- $.fancybox.close();
-
- } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') {
- e.preventDefault();
- $.fancybox[ e.keyCode == 37 ? 'prev' : 'next']();
- }
- });
- }
-
- if (!currentOpts.showNavArrows) {
- nav_left.hide();
- nav_right.hide();
- return;
- }
-
- if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) {
- nav_left.show();
- }
-
- if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) {
- nav_right.show();
- }
- },
-
- _finish = function () {
- if (!$.support.opacity) {
- content.get(0).style.removeAttribute('filter');
- wrap.get(0).style.removeAttribute('filter');
- }
-
- if (selectedOpts.autoDimensions) {
- content.css('height', 'auto');
- }
-
- wrap.css('height', 'auto');
-
- if (titleStr && titleStr.length) {
- title.show();
- }
-
- if (currentOpts.showCloseButton) {
- close.show();
- }
-
- _set_navigation();
-
- if (currentOpts.hideOnContentClick) {
- content.bind('click', $.fancybox.close);
- }
-
- if (currentOpts.hideOnOverlayClick) {
- overlay.bind('click', $.fancybox.close);
- }
-
- $(window).bind("resize.fb", $.fancybox.resize);
-
- if (currentOpts.centerOnScroll) {
- $(window).bind("scroll.fb", $.fancybox.center);
- }
-
- if (currentOpts.type == 'iframe') {
- $('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' + ' scrolling="' + selectedOpts.scrolling + '" src="' + currentOpts.href + '"></iframe>').appendTo(content);
- }
-
- wrap.show();
-
- busy = false;
-
- $.fancybox.center();
-
- currentOpts.onComplete(currentArray, currentIndex, currentOpts);
-
- _preload_images();
- },
-
- _preload_images = function() {
- var href,
- objNext;
-
- if ((currentArray.length -1) > currentIndex) {
- href = currentArray[ currentIndex + 1 ].href;
-
- if (typeof href !== 'undefined' && href.match(imgRegExp)) {
- objNext = new Image();
- objNext.src = href;
- }
- }
-
- if (currentIndex > 0) {
- href = currentArray[ currentIndex - 1 ].href;
-
- if (typeof href !== 'undefined' && href.match(imgRegExp)) {
- objNext = new Image();
- objNext.src = href;
- }
- }
- },
-
- _draw = function(pos) {
- var dim = {
- width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10),
- height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10),
-
- top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10),
- left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10)
- };
-
- if (typeof final_pos.opacity !== 'undefined') {
- dim.opacity = pos < 0.5 ? 0.5 : pos;
- }
-
- wrap.css(dim);
-
- content.css({
- 'width' : dim.width - currentOpts.padding * 2,
- 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2
- });
- },
-
- _get_viewport = function() {
- return [
- $(window).width() - (currentOpts.margin * 2),
- $(window).height() - (currentOpts.margin * 2),
- $(document).scrollLeft() + currentOpts.margin,
- $(document).scrollTop() + currentOpts.margin
- ];
- },
-
- _get_zoom_to = function () {
- var view = _get_viewport(),
- to = {},
- resize = currentOpts.autoScale,
- double_padding = currentOpts.padding * 2,
- ratio;
-
- if (currentOpts.width.toString().indexOf('%') > -1) {
- to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10);
- } else {
- to.width = currentOpts.width + double_padding;
- }
-
- if (currentOpts.height.toString().indexOf('%') > -1) {
- to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10);
- } else {
- to.height = currentOpts.height + double_padding;
- }
-
- if (resize && (to.width > view[0] || to.height > view[1])) {
- if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') {
- ratio = (currentOpts.width ) / (currentOpts.height );
-
- if ((to.width ) > view[0]) {
- to.width = view[0];
- to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10);
- }
-
- if ((to.height) > view[1]) {
- to.height = view[1];
- to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10);
- }
-
- } else {
- to.width = Math.min(to.width, view[0]);
- to.height = Math.min(to.height, view[1]);
- }
- }
-
- to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10);
- to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10);
-
- return to;
- },
-
- _get_obj_pos = function(obj) {
- var pos = obj.offset();
-
- pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0;
- pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0;
-
- pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0;
- pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0;
-
- pos.width = obj.width();
- pos.height = obj.height();
-
- return pos;
- },
-
- _get_zoom_from = function() {
- var orig = selectedOpts.orig ? $(selectedOpts.orig) : false,
- from = {},
- pos,
- view;
-
- if (orig && orig.length) {
- pos = _get_obj_pos(orig);
-
- from = {
- width : pos.width + (currentOpts.padding * 2),
- height : pos.height + (currentOpts.padding * 2),
- top : pos.top - currentOpts.padding - 20,
- left : pos.left - currentOpts.padding - 20
- };
-
- } else {
- view = _get_viewport();
-
- from = {
- width : currentOpts.padding * 2,
- height : currentOpts.padding * 2,
- top : parseInt(view[3] + view[1] * 0.5, 10),
- left : parseInt(view[2] + view[0] * 0.5, 10)
- };
- }
-
- return from;
- },
-
- _animate_loading = function() {
- if (!loading.is(':visible')){
- clearInterval(loadingTimer);
- return;
- }
-
- $('div', loading).css('top', (loadingFrame * -40) + 'px');
-
- loadingFrame = (loadingFrame + 1) % 12;
- };
-
- /*
- * Public methods
- */
-
- $.fn.fancybox = function(options) {
- if (!$(this).length) {
- return this;
- }
-
- $(this)
- .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {})))
- .unbind('click.fb')
- .bind('click.fb', function(e) {
- e.preventDefault();
-
- if (busy) {
- return;
- }
-
- busy = true;
-
- $(this).blur();
-
- selectedArray = [];
- selectedIndex = 0;
-
- var rel = $(this).attr('rel') || '';
-
- if (!rel || rel == '' || rel === 'nofollow') {
- selectedArray.push(this);
-
- } else {
- selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]");
- selectedIndex = selectedArray.index( this );
- }
-
- _start();
-
- return;
- });
-
- return this;
- };
-
- $.fancybox = function(obj) {
- var opts;
-
- if (busy) {
- return;
- }
-
- busy = true;
- opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {};
-
- selectedArray = [];
- selectedIndex = parseInt(opts.index, 10) || 0;
-
- if ($.isArray(obj)) {
- for (var i = 0, j = obj.length; i < j; i++) {
- if (typeof obj[i] == 'object') {
- $(obj[i]).data('fancybox', $.extend({}, opts, obj[i]));
- } else {
- obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts));
- }
- }
-
- selectedArray = jQuery.merge(selectedArray, obj);
-
- } else {
- if (typeof obj == 'object') {
- $(obj).data('fancybox', $.extend({}, opts, obj));
- } else {
- obj = $({}).data('fancybox', $.extend({content : obj}, opts));
- }
-
- selectedArray.push(obj);
- }
-
- if (selectedIndex > selectedArray.length || selectedIndex < 0) {
- selectedIndex = 0;
- }
-
- _start();
- };
-
- $.fancybox.showActivity = function() {
- clearInterval(loadingTimer);
-
- loading.show();
- loadingTimer = setInterval(_animate_loading, 66);
- };
-
- $.fancybox.hideActivity = function() {
- loading.hide();
- };
-
- $.fancybox.next = function() {
- return $.fancybox.pos( currentIndex + 1);
- };
-
- $.fancybox.prev = function() {
- return $.fancybox.pos( currentIndex - 1);
- };
-
- $.fancybox.pos = function(pos) {
- if (busy) {
- return;
- }
-
- pos = parseInt(pos);
-
- selectedArray = currentArray;
-
- if (pos > -1 && pos < currentArray.length) {
- selectedIndex = pos;
- _start();
-
- } else if (currentOpts.cyclic && currentArray.length > 1) {
- selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1;
- _start();
- }
-
- return;
- };
-
- $.fancybox.cancel = function() {
- if (busy) {
- return;
- }
-
- busy = true;
-
- $.event.trigger('fancybox-cancel');
-
- _abort();
-
- selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts);
-
- busy = false;
- };
-
- // Note: within an iframe use - parent.$.fancybox.close();
- $.fancybox.close = function() {
- if (busy || wrap.is(':hidden')) {
- return;
- }
-
- busy = true;
-
- if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) {
- busy = false;
- return;
- }
-
- _abort();
-
- $(close.add( nav_left ).add( nav_right )).hide();
-
- $(content.add( overlay )).unbind();
-
- $(window).unbind("resize.fb scroll.fb");
- $(document).unbind('keydown.fb');
-
- content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank');
-
- if (currentOpts.titlePosition !== 'inside') {
- title.empty();
- }
-
- wrap.stop();
-
- function _cleanup() {
- overlay.fadeOut('fast');
-
- title.empty().hide();
- wrap.hide();
-
- $.event.trigger('fancybox-cleanup');
-
- content.empty();
-
- currentOpts.onClosed(currentArray, currentIndex, currentOpts);
-
- currentArray = selectedOpts = [];
- currentIndex = selectedIndex = 0;
- currentOpts = selectedOpts = {};
-
- busy = false;
- }
-
- if (currentOpts.transitionOut == 'elastic') {
- start_pos = _get_zoom_from();
-
- var pos = wrap.position();
-
- final_pos = {
- top : pos.top ,
- left : pos.left,
- width : wrap.width(),
- height : wrap.height()
- };
-
- if (currentOpts.opacity) {
- final_pos.opacity = 1;
- }
-
- title.empty().hide();
-
- fx.prop = 1;
-
- $(fx).animate({ prop: 0 }, {
- duration : currentOpts.speedOut,
- easing : currentOpts.easingOut,
- step : _draw,
- complete : _cleanup
- });
-
- } else {
- wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup);
- }
- };
-
- $.fancybox.resize = function() {
- if (overlay.is(':visible')) {
- overlay.css('height', $(document).height());
- }
-
- $.fancybox.center(true);
- };
-
- $.fancybox.center = function() {
- var view, align;
-
- if (busy) {
- return;
- }
-
- align = arguments[0] === true ? 1 : 0;
- view = _get_viewport();
-
- if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) {
- return;
- }
-
- wrap
- .stop()
- .animate({
- 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)),
- 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding))
- }, typeof arguments[0] == 'number' ? arguments[0] : 200);
- };
-
- $.fancybox.init = function() {
- if ($("#fancybox-wrap").length) {
- return;
- }
-
- $('body').append(
- tmp = $('<div id="fancybox-tmp"></div>'),
- loading = $('<div id="fancybox-loading"><div></div></div>'),
- overlay = $('<div id="fancybox-overlay"></div>'),
- wrap = $('<div id="fancybox-wrap"></div>')
- );
-
- outer = $('<div id="fancybox-outer"></div>')
- .append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>')
- .appendTo( wrap );
-
- outer.append(
- content = $('<div id="fancybox-content"></div>'),
- close = $('<a id="fancybox-close"></a>'),
- title = $('<div id="fancybox-title"></div>'),
-
- nav_left = $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
- nav_right = $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
- );
-
- close.click($.fancybox.close);
- loading.click($.fancybox.cancel);
-
- nav_left.click(function(e) {
- e.preventDefault();
- $.fancybox.prev();
- });
-
- nav_right.click(function(e) {
- e.preventDefault();
- $.fancybox.next();
- });
-
- if ($.fn.mousewheel) {
- wrap.bind('mousewheel.fb', function(e, delta) {
- if (busy) {
- e.preventDefault();
-
- } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) {
- e.preventDefault();
- $.fancybox[ delta > 0 ? 'prev' : 'next']();
- }
- });
- }
-
- if (!$.support.opacity) {
- wrap.addClass('fancybox-ie');
- }
-
- if (isIE6) {
- loading.addClass('fancybox-ie6');
- wrap.addClass('fancybox-ie6');
-
- $('<iframe id="fancybox-hide-sel-frame" src="' + (/^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank' ) + '" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(outer);
- }
- };
-
- $.fn.fancybox.defaults = {
- padding : 10,
- margin : 40,
- opacity : false,
- modal : false,
- cyclic : false,
- scrolling : 'auto', // 'auto', 'yes' or 'no'
-
- width : 560,
- height : 340,
-
- autoScale : true,
- autoDimensions : true,
- centerOnScroll : false,
-
- ajax : {},
- swf : { wmode: 'transparent' },
-
- hideOnOverlayClick : true,
- hideOnContentClick : false,
-
- overlayShow : true,
- overlayOpacity : 0.7,
- overlayColor : '#777',
-
- titleShow : true,
- titlePosition : 'float', // 'float', 'outside', 'inside' or 'over'
- titleFormat : null,
- titleFromAlt : false,
-
- transitionIn : 'fade', // 'elastic', 'fade' or 'none'
- transitionOut : 'fade', // 'elastic', 'fade' or 'none'
-
- speedIn : 300,
- speedOut : 300,
-
- changeSpeed : 300,
- changeFade : 'fast',
-
- easingIn : 'swing',
- easingOut : 'swing',
-
- showCloseButton : true,
- showNavArrows : true,
- enableEscapeButton : true,
- enableKeyboardNav : true,
-
- onStart : function(){},
- onCancel : function(){},
- onComplete : function(){},
- onCleanup : function(){},
- onClosed : function(){},
- onError : function(){}
- };
-
- $(document).ready(function() {
- $.fancybox.init();
- });
-
-})(jQuery); \ No newline at end of file
diff --git a/library/fancybox/jquery.fancybox-1.3.4.pack.js b/library/fancybox/jquery.fancybox-1.3.4.pack.js
deleted file mode 100644
index 1373ed083..000000000
--- a/library/fancybox/jquery.fancybox-1.3.4.pack.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * FancyBox - jQuery Plugin
- * Simple and fancy lightbox alternative
- *
- * Examples and documentation at: http://fancybox.net
- *
- * Copyright (c) 2008 - 2010 Janis Skarnelis
- * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
- *
- * Version: 1.3.4 (11/11/2010)
- * Requires: jQuery v1.3+
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- */
-
-;(function(b){var m,t,u,f,D,j,E,n,z,A,q=0,e={},o=[],p=0,d={},l=[],G=null,v=new Image,J=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,W=/[^\.]\.(swf)\s*$/i,K,L=1,y=0,s="",r,i,h=false,B=b.extend(b("<div/>")[0],{prop:0}),M=b.browser.msie&&b.browser.version<7&&!window.XMLHttpRequest,N=function(){t.hide();v.onerror=v.onload=null;G&&G.abort();m.empty()},O=function(){if(false===e.onError(o,q,e)){t.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";m.html('<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>');
-F()}},I=function(){var a=o[q],c,g,k,C,P,w;N();e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));w=e.onStart(o,q,e);if(w===false)h=false;else{if(typeof w=="object")e=b.extend(e,w);k=e.title||(a.nodeName?b(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(k===""&&e.orig&&e.titleFromAlt)k=e.orig.attr("alt");c=e.href||(a.nodeName?b(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)||
-c=="#")c=null;if(e.type){g=e.type;if(!c)c=e.content}else if(e.content)g="html";else if(c)g=c.match(J)?"image":c.match(W)?"swf":b(a).hasClass("iframe")?"iframe":c.indexOf("#")===0?"inline":"ajax";if(g){if(g=="inline"){a=c.substr(c.indexOf("#"));g=b(a).length>0?"inline":"ajax"}e.type=g;e.href=c;e.title=k;if(e.autoDimensions)if(e.type=="html"||e.type=="inline"||e.type=="ajax"){e.width="auto";e.height="auto"}else e.autoDimensions=false;if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick=
-false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);m.css("padding",e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(j.children())});switch(g){case "html":m.html(e.content);F();break;case "inline":if(b(a).parent().is("#fancybox-content")===true){h=false;break}b('<div class="fancybox-inline-tmp" />').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(j.children())}).bind("fancybox-cancel",
-function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();v=new Image;v.onerror=function(){O()};v.onload=function(){h=true;v.onerror=v.onload=null;e.width=v.width;e.height=v.height;b("<img />").attr({id:"fancybox-img",src:v.src,alt:e.title}).appendTo(m);Q()};v.src=c;break;case "swf":e.scrolling="no";C='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+e.width+'" height="'+e.height+'"><param name="movie" value="'+c+
-'"></param>';P="";b.each(e.swf,function(x,H){C+='<param name="'+x+'" value="'+H+'"></param>';P+=" "+x+'="'+H+'"'});C+='<embed src="'+c+'" type="application/x-shockwave-flash" width="'+e.width+'" height="'+e.height+'"'+P+"></embed></object>";m.html(C);F();break;case "ajax":h=false;b.fancybox.showActivity();e.ajax.win=e.ajax.success;G=b.ajax(b.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(x){x.status>0&&O()},success:function(x,H,R){if((typeof R=="object"?R:G).status==200){if(typeof e.ajax.win==
-"function"){w=e.ajax.win(c,x,H,R);if(w===false){t.hide();return}else if(typeof w=="string"||typeof w=="object")x=w}m.html(x);F()}}}));break;case "iframe":Q()}}else O()}},F=function(){var a=e.width,c=e.height;a=a.toString().indexOf("%")>-1?parseInt((b(window).width()-e.margin*2)*parseFloat(a)/100,10)+"px":a=="auto"?"auto":a+"px";c=c.toString().indexOf("%")>-1?parseInt((b(window).height()-e.margin*2)*parseFloat(c)/100,10)+"px":c=="auto"?"auto":c+"px";m.wrapInner('<div style="width:'+a+";height:"+c+
-";overflow: "+(e.scrolling=="auto"?"auto":e.scrolling=="yes"?"scroll":"hidden")+';position:relative;"></div>');e.width=m.width();e.height=m.height();Q()},Q=function(){var a,c;t.hide();if(f.is(":visible")&&false===d.onCleanup(l,p,d)){b.event.trigger("fancybox-cancel");h=false}else{h=true;b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");f.is(":visible")&&d.titlePosition!=="outside"&&f.css("height",f.height());l=o;p=q;d=e;if(d.overlayShow){u.css({"background-color":d.overlayColor,
-opacity:d.overlayOpacity,cursor:d.hideOnOverlayClick?"pointer":"auto",height:b(document).height()});if(!u.is(":visible")){M&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});u.show()}}else u.hide();i=X();s=d.title||"";y=0;n.empty().removeAttr("style").removeClass();if(d.titleShow!==false){if(b.isFunction(d.titleFormat))a=d.titleFormat(s,l,p,d);else a=s&&s.length?
-d.titlePosition=="float"?'<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">'+s+'</td><td id="fancybox-title-float-right"></td></tr></table>':'<div id="fancybox-title-'+d.titlePosition+'">'+s+"</div>":false;s=a;if(!(!s||s==="")){n.addClass("fancybox-title-"+d.titlePosition).html(s).appendTo("body").show();switch(d.titlePosition){case "inside":n.css({width:i.width-d.padding*2,marginLeft:d.padding,marginRight:d.padding});
-y=n.outerHeight(true);n.appendTo(D);i.height+=y;break;case "over":n.css({marginLeft:d.padding,width:i.width-d.padding*2,bottom:d.padding}).appendTo(D);break;case "float":n.css("left",parseInt((n.width()-i.width-40)/2,10)*-1).appendTo(f);break;default:n.css({width:i.width-d.padding*2,paddingLeft:d.padding,paddingRight:d.padding}).appendTo(f)}}}n.hide();if(f.is(":visible")){b(E.add(z).add(A)).hide();a=f.position();r={top:a.top,left:a.left,width:f.width(),height:f.height()};c=r.width==i.width&&r.height==
-i.height;j.fadeTo(d.changeFade,0.3,function(){var g=function(){j.html(m.contents()).fadeTo(d.changeFade,1,S)};b.event.trigger("fancybox-change");j.empty().removeAttr("filter").css({"border-width":d.padding,width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2});if(c)g();else{B.prop=0;b(B).animate({prop:1},{duration:d.changeSpeed,easing:d.easingChange,step:T,complete:g})}})}else{f.removeAttr("style");j.css("border-width",d.padding);if(d.transitionIn=="elastic"){r=V();j.html(m.contents());
-f.show();if(d.opacity)i.opacity=0;B.prop=0;b(B).animate({prop:1},{duration:d.speedIn,easing:d.easingIn,step:T,complete:S})}else{d.titlePosition=="inside"&&y>0&&n.show();j.css({width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2}).html(m.contents());f.css(i).fadeIn(d.transitionIn=="none"?0:d.speedIn,S)}}}},Y=function(){if(d.enableEscapeButton||d.enableKeyboardNav)b(document).bind("keydown.fb",function(a){if(a.keyCode==27&&d.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if((a.keyCode==
-37||a.keyCode==39)&&d.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();b.fancybox[a.keyCode==37?"prev":"next"]()}});if(d.showNavArrows){if(d.cyclic&&l.length>1||p!==0)z.show();if(d.cyclic&&l.length>1||p!=l.length-1)A.show()}else{z.hide();A.hide()}},S=function(){if(!b.support.opacity){j.get(0).style.removeAttribute("filter");f.get(0).style.removeAttribute("filter")}e.autoDimensions&&j.css("height","auto");f.css("height","auto");
-s&&s.length&&n.show();d.showCloseButton&&E.show();Y();d.hideOnContentClick&&j.bind("click",b.fancybox.close);d.hideOnOverlayClick&&u.bind("click",b.fancybox.close);b(window).bind("resize.fb",b.fancybox.resize);d.centerOnScroll&&b(window).bind("scroll.fb",b.fancybox.center);if(d.type=="iframe")b('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" '+(b.browser.msie?'allowtransparency="true""':"")+' scrolling="'+e.scrolling+'" src="'+d.href+'"></iframe>').appendTo(j);
-f.show();h=false;b.fancybox.center();d.onComplete(l,p,d);var a,c;if(l.length-1>p){a=l[p+1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}if(p>0){a=l[p-1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}},T=function(a){var c={width:parseInt(r.width+(i.width-r.width)*a,10),height:parseInt(r.height+(i.height-r.height)*a,10),top:parseInt(r.top+(i.top-r.top)*a,10),left:parseInt(r.left+(i.left-r.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;f.css(c);
-j.css({width:c.width-d.padding*2,height:c.height-y*a-d.padding*2})},U=function(){return[b(window).width()-d.margin*2,b(window).height()-d.margin*2,b(document).scrollLeft()+d.margin,b(document).scrollTop()+d.margin]},X=function(){var a=U(),c={},g=d.autoScale,k=d.padding*2;c.width=d.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(d.width)/100,10):d.width+k;c.height=d.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(d.height)/100,10):d.height+k;if(g&&(c.width>a[0]||c.height>a[1]))if(e.type==
-"image"||e.type=="swf"){g=d.width/d.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-k)/g+k,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-k)*g+k,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c},V=function(){var a=e.orig?b(e.orig):false,c={};if(a&&a.length){c=a.offset();c.top+=parseInt(a.css("paddingTop"),
-10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();c={width:c.width+d.padding*2,height:c.height+d.padding*2,top:c.top-d.padding-20,left:c.left-d.padding-20}}else{a=U();c={width:d.padding*2,height:d.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c},Z=function(){if(t.is(":visible")){b("div",t).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)};
-b.fn.fancybox=function(a){if(!b(this).length)return this;b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(c){c.preventDefault();if(!h){h=true;b(this).blur();o=[];q=0;c=b(this).attr("rel")||"";if(!c||c==""||c==="nofollow")o.push(this);else{o=b("a[rel="+c+"], area[rel="+c+"]");q=o.index(this)}I()}});return this};b.fancybox=function(a,c){var g;if(!h){h=true;g=typeof c!=="undefined"?c:{};o=[];q=parseInt(g.index,10)||0;if(b.isArray(a)){for(var k=
-0,C=a.length;k<C;k++)if(typeof a[k]=="object")b(a[k]).data("fancybox",b.extend({},g,a[k]));else a[k]=b({}).data("fancybox",b.extend({content:a[k]},g));o=jQuery.merge(o,a)}else{if(typeof a=="object")b(a).data("fancybox",b.extend({},g,a));else a=b({}).data("fancybox",b.extend({content:a},g));o.push(a)}if(q>o.length||q<0)q=0;I()}};b.fancybox.showActivity=function(){clearInterval(K);t.show();K=setInterval(Z,66)};b.fancybox.hideActivity=function(){t.hide()};b.fancybox.next=function(){return b.fancybox.pos(p+
-1)};b.fancybox.prev=function(){return b.fancybox.pos(p-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a);o=l;if(a>-1&&a<l.length){q=a;I()}else if(d.cyclic&&l.length>1){q=a>=l.length?0:l.length-1;I()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");N();e.onCancel(o,q,e);h=false}};b.fancybox.close=function(){function a(){u.fadeOut("fast");n.empty().hide();f.hide();b.event.trigger("fancybox-cleanup");j.empty();d.onClosed(l,p,d);l=e=[];p=q=0;d=e={};h=false}if(!(h||f.is(":hidden"))){h=
-true;if(d&&false===d.onCleanup(l,p,d))h=false;else{N();b(E.add(z).add(A)).hide();b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");j.find("iframe").attr("src",M&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank");d.titlePosition!=="inside"&&n.empty();f.stop();if(d.transitionOut=="elastic"){r=V();var c=f.position();i={top:c.top,left:c.left,width:f.width(),height:f.height()};if(d.opacity)i.opacity=1;n.empty().hide();B.prop=1;
-b(B).animate({prop:0},{duration:d.speedOut,easing:d.easingOut,step:T,complete:a})}else f.fadeOut(d.transitionOut=="none"?0:d.speedOut,a)}}};b.fancybox.resize=function(){u.is(":visible")&&u.css("height",b(document).height());b.fancybox.center(true)};b.fancybox.center=function(a){var c,g;if(!h){g=a===true?1:0;c=U();!g&&(f.width()>c[0]||f.height()>c[1])||f.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-j.height()-40)*0.5-d.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-j.width()-40)*0.5-
-d.padding))},typeof a=="number"?a:200)}};b.fancybox.init=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('<div id="fancybox-tmp"></div>'),t=b('<div id="fancybox-loading"><div></div></div>'),u=b('<div id="fancybox-overlay"></div>'),f=b('<div id="fancybox-wrap"></div>'));D=b('<div id="fancybox-outer"></div>').append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>').appendTo(f);
-D.append(j=b('<div id="fancybox-content"></div>'),E=b('<a id="fancybox-close"></a>'),n=b('<div id="fancybox-title"></div>'),z=b('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),A=b('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));E.click(b.fancybox.close);t.click(b.fancybox.cancel);z.click(function(a){a.preventDefault();b.fancybox.prev()});A.click(function(a){a.preventDefault();b.fancybox.next()});
-b.fn.mousewheel&&f.bind("mousewheel.fb",function(a,c){if(h)a.preventDefault();else if(b(a.target).get(0).clientHeight==0||b(a.target).get(0).scrollHeight===b(a.target).get(0).clientHeight){a.preventDefault();b.fancybox[c>0?"prev":"next"]()}});b.support.opacity||f.addClass("fancybox-ie");if(M){t.addClass("fancybox-ie6");f.addClass("fancybox-ie6");b('<iframe id="fancybox-hide-sel-frame" src="'+(/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank")+'" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').prependTo(D)}}};
-b.fn.fancybox.defaults={padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",
-easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}};b(document).ready(function(){b.fancybox.init()})})(jQuery); \ No newline at end of file
diff --git a/library/fancybox/jquery.mousewheel-3.0.4.pack.js b/library/fancybox/jquery.mousewheel-3.0.4.pack.js
deleted file mode 100644
index cb66588e2..000000000
--- a/library/fancybox/jquery.mousewheel-3.0.4.pack.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
-* Licensed under the MIT License (LICENSE.txt).
-*
-* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
-* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
-* Thanks to: Seamus Leahy for adding deltaX and deltaY
-*
-* Version: 3.0.4
-*
-* Requires: 1.2.2+
-*/
-
-(function(d){function g(a){var b=a||window.event,i=[].slice.call(arguments,1),c=0,h=0,e=0;a=d.event.fix(b);a.type="mousewheel";if(a.wheelDelta)c=a.wheelDelta/120;if(a.detail)c=-a.detail/3;e=c;if(b.axis!==undefined&&b.axis===b.HORIZONTAL_AXIS){e=0;h=-1*c}if(b.wheelDeltaY!==undefined)e=b.wheelDeltaY/120;if(b.wheelDeltaX!==undefined)h=-1*b.wheelDeltaX/120;i.unshift(a,c,h,e);return d.event.handle.apply(this,i)}var f=["DOMMouseScroll","mousewheel"];d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=
-f.length;a;)this.addEventListener(f[--a],g,false);else this.onmousewheel=g},teardown:function(){if(this.removeEventListener)for(var a=f.length;a;)this.removeEventListener(f[--a],g,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); \ No newline at end of file
diff --git a/library/ical.php b/library/ical.php
new file mode 100644
index 000000000..6bb26bad8
--- /dev/null
+++ b/library/ical.php
@@ -0,0 +1,379 @@
+<?php
+/**
+ * This PHP-Class should only read a iCal-File (*.ics), parse it and give an
+ * array with its content.
+ *
+ * PHP Version 5
+ *
+ * @category Parser
+ * @package Ics-parser
+ * @author Martin Thoma <info@martin-thoma.de>
+ * @license http://www.opensource.org/licenses/mit-license.php MIT License
+ * @version SVN: <svn_id>
+ * @link http://code.google.com/p/ics-parser/
+ * @example $ical = new ical('MyCal.ics');
+ * print_r( $ical->events() );
+ */
+
+/**
+ * This example demonstrates how the Ics-Parser should be used.
+ *
+ * PHP Version 5
+ *
+ * @category Example
+ * @package Ics-parser
+ * @author Martin Thoma <info@martin-thoma.de>
+ * @license http://www.opensource.org/licenses/mit-license.php MIT License
+ * @version SVN: <svn_id>
+ * @link http://code.google.com/p/ics-parser/
+ * @example $ical = new ical('MyCal.ics');
+ * print_r( $ical->get_event_array() );
+
+require 'class.iCalReader.php';
+
+$ical = new ICal('MyCal.ics');
+$events = $ical->events();
+
+$date = $events[0]['DTSTART'];
+echo "The ical date: ";
+echo $date;
+echo "<br/>";
+
+echo "The Unix timestamp: ";
+echo $ical->iCalDateToUnixTimestamp($date);
+echo "<br/>";
+
+echo "The number of events: ";
+echo $ical->event_count;
+echo "<br/>";
+
+echo "The number of todos: ";
+echo $ical->todo_count;
+echo "<br/>";
+echo "<hr/><hr/>";
+
+foreach ($events as $event) {
+ echo "SUMMARY: ".$event['SUMMARY']."<br/>";
+ echo "DTSTART: ".$event['DTSTART']." - UNIX-Time: ".$ical->iCalDateToUnixTimestamp($event['DTSTART'])."<br/>";
+ echo "DTEND: ".$event['DTEND']."<br/>";
+ echo "DTSTAMP: ".$event['DTSTAMP']."<br/>";
+ echo "UID: ".$event['UID']."<br/>";
+ echo "CREATED: ".$event['CREATED']."<br/>";
+ echo "DESCRIPTION: ".$event['DESCRIPTION']."<br/>";
+ echo "LAST-MODIFIED: ".$event['LAST-MODIFIED']."<br/>";
+ echo "LOCATION: ".$event['LOCATION']."<br/>";
+ echo "SEQUENCE: ".$event['SEQUENCE']."<br/>";
+ echo "STATUS: ".$event['STATUS']."<br/>";
+ echo "TRANSP: ".$event['TRANSP']."<br/>";
+ echo "<hr/>";
+}
+
+ (end example)
+ *
+ *
+ */
+
+// error_reporting(E_ALL);
+
+/**
+ * This is the iCal-class
+ *
+ * @category Parser
+ * @package Ics-parser
+ * @author Martin Thoma <info@martin-thoma.de>
+ * @license http://www.opensource.org/licenses/mit-license.php MIT License
+ * @link http://code.google.com/p/ics-parser/
+ *
+ * @param {string} filename The name of the file which should be parsed
+ * @constructor
+ */
+class ICal
+{
+ /* How many ToDos are in this ical? */
+ public /** @type {int} */ $todo_count = 0;
+
+ /* How many events are in this ical? */
+ public /** @type {int} */ $event_count = 0;
+
+ /* The parsed calendar */
+ public /** @type {Array} */ $cal;
+
+ /* Which keyword has been added to cal at last? */
+ private /** @type {string} */ $_lastKeyWord;
+
+ /**
+ * Creates the iCal-Object
+ *
+ * @param {string} $filename The path to the iCal-file
+ *
+ * @return Object The iCal-Object
+ */
+ public function __construct($filename)
+ {
+ if (!$filename) {
+ return false;
+ }
+
+ $lines = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
+ if (stristr($lines[0], 'BEGIN:VCALENDAR') === false) {
+ return false;
+ } else {
+ // TODO: Fix multiline-description problem (see http://tools.ietf.org/html/rfc2445#section-4.8.1.5)
+ foreach ($lines as $line) {
+ $line = trim($line);
+ $add = $this->keyValueFromString($line);
+ if ($add === false) {
+ $this->addCalendarComponentWithKeyAndValue($type, false, $line);
+ continue;
+ }
+
+ list($keyword, $value) = $add;
+
+ switch ($line) {
+ // http://www.kanzaki.com/docs/ical/vtodo.html
+ case "BEGIN:VTODO":
+ $this->todo_count++;
+ $type = "VTODO";
+ break;
+
+ // http://www.kanzaki.com/docs/ical/vevent.html
+ case "BEGIN:VEVENT":
+ //echo "vevent gematcht";
+ $this->event_count++;
+ $type = "VEVENT";
+ break;
+
+ //all other special strings
+ case "BEGIN:VCALENDAR":
+ case "BEGIN:DAYLIGHT":
+ // http://www.kanzaki.com/docs/ical/vtimezone.html
+ case "BEGIN:VTIMEZONE":
+ case "BEGIN:STANDARD":
+ $type = $value;
+ break;
+ case "END:VTODO": // end special text - goto VCALENDAR key
+ case "END:VEVENT":
+ case "END:VCALENDAR":
+ case "END:DAYLIGHT":
+ case "END:VTIMEZONE":
+ case "END:STANDARD":
+ $type = "VCALENDAR";
+ break;
+ default:
+ $this->addCalendarComponentWithKeyAndValue($type,
+ $keyword,
+ $value);
+ break;
+ }
+ }
+ return $this->cal;
+ }
+ }
+
+ /**
+ * Add to $this->ical array one value and key.
+ *
+ * @param {string} $component This could be VTODO, VEVENT, VCALENDAR, ...
+ * @param {string} $keyword The keyword, for example DTSTART
+ * @param {string} $value The value, for example 20110105T090000Z
+ *
+ * @return {None}
+ */
+ public function addCalendarComponentWithKeyAndValue($component,
+ $keyword,
+ $value)
+ {
+ if ($keyword == false) {
+ $keyword = $this->last_keyword;
+ switch ($component) {
+ case 'VEVENT':
+ $value = $this->cal[$component][$this->event_count - 1]
+ [$keyword].$value;
+ break;
+ case 'VTODO' :
+ $value = $this->cal[$component][$this->todo_count - 1]
+ [$keyword].$value;
+ break;
+ }
+ }
+
+ if (stristr($keyword, "DTSTART") or stristr($keyword, "DTEND")) {
+ $keyword = explode(";", $keyword);
+ $keyword = $keyword[0];
+ }
+
+ switch ($component) {
+ case "VTODO":
+ $this->cal[$component][$this->todo_count - 1][$keyword] = $value;
+ //$this->cal[$component][$this->todo_count]['Unix'] = $unixtime;
+ break;
+ case "VEVENT":
+ $this->cal[$component][$this->event_count - 1][$keyword] = $value;
+ break;
+ default:
+ $this->cal[$component][$keyword] = $value;
+ break;
+ }
+ $this->last_keyword = $keyword;
+ }
+
+ /**
+ * Get a key-value pair of a string.
+ *
+ * @param {string} $text which is like "VCALENDAR:Begin" or "LOCATION:"
+ *
+ * @return {array} array("VCALENDAR", "Begin")
+ */
+ public function keyValueFromString($text)
+ {
+ preg_match("/([^:]+)[:]([\w\W]*)/", $text, $matches);
+ if (count($matches) == 0) {
+ return false;
+ }
+ $matches = array_splice($matches, 1, 2);
+ return $matches;
+ }
+
+ /**
+ * Return Unix timestamp from ical date time format
+ *
+ * @param {string} $icalDate A Date in the format YYYYMMDD[T]HHMMSS[Z] or
+ * YYYYMMDD[T]HHMMSS
+ *
+ * @return {int}
+ */
+ public function iCalDateToUnixTimestamp($icalDate)
+ {
+ $icalDate = str_replace('T', '', $icalDate);
+ $icalDate = str_replace('Z', '', $icalDate);
+
+ $pattern = '/([0-9]{4})'; // 1: YYYY
+ $pattern .= '([0-9]{2})'; // 2: MM
+ $pattern .= '([0-9]{2})'; // 3: DD
+ $pattern .= '([0-9]{0,2})'; // 4: HH
+ $pattern .= '([0-9]{0,2})'; // 5: MM
+ $pattern .= '([0-9]{0,2})/'; // 6: SS
+ preg_match($pattern, $icalDate, $date);
+
+ // Unix timestamp can't represent dates before 1970
+ if ($date[1] <= 1970) {
+ return false;
+ }
+ // Unix timestamps after 03:14:07 UTC 2038-01-19 might cause an overflow
+ // if 32 bit integers are used.
+ $timestamp = mktime((int)$date[4],
+ (int)$date[5],
+ (int)$date[6],
+ (int)$date[2],
+ (int)$date[3],
+ (int)$date[1]);
+ return $timestamp;
+ }
+
+ /**
+ * Returns an array of arrays with all events. Every event is an associative
+ * array and each property is an element it.
+ *
+ * @return {array}
+ */
+ public function events()
+ {
+ $array = $this->cal;
+ return $array['VEVENT'];
+ }
+
+ /**
+ * Returns a boolean value whether thr current calendar has events or not
+ *
+ * @return {boolean}
+ */
+ public function hasEvents()
+ {
+ return ( count($this->events()) > 0 ? true : false );
+ }
+
+ /**
+ * Returns false when the current calendar has no events in range, else the
+ * events.
+ *
+ * Note that this function makes use of a UNIX timestamp. This might be a
+ * problem on January the 29th, 2038.
+ * See http://en.wikipedia.org/wiki/Unix_time#Representing_the_number
+ *
+ * @param {boolean} $rangeStart Either true or false
+ * @param {boolean} $rangeEnd Either true or false
+ *
+ * @return {mixed}
+ */
+ public function eventsFromRange($rangeStart = false, $rangeEnd = false)
+ {
+ $events = $this->sortEventsWithOrder($this->events(), SORT_ASC);
+
+ if (!$events) {
+ return false;
+ }
+
+ $extendedEvents = array();
+
+ if ($rangeStart !== false) {
+ $rangeStart = new DateTime();
+ }
+
+ if ($rangeEnd !== false or $rangeEnd <= 0) {
+ $rangeEnd = new DateTime('2038/01/18');
+ } else {
+ $rangeEnd = new DateTime($rangeEnd);
+ }
+
+ $rangeStart = $rangeStart->format('U');
+ $rangeEnd = $rangeEnd->format('U');
+
+
+
+ // loop through all events by adding two new elements
+ foreach ($events as $anEvent) {
+ $timestamp = $this->iCalDateToUnixTimestamp($anEvent['DTSTART']);
+ if ($timestamp >= $rangeStart && $timestamp <= $rangeEnd) {
+ $extendedEvents[] = $anEvent;
+ }
+ }
+
+ return $extendedEvents;
+ }
+
+ /**
+ * Returns a boolean value whether thr current calendar has events or not
+ *
+ * @param {array} $events An array with events.
+ * @param {array} $sortOrder Either SORT_ASC, SORT_DESC, SORT_REGULAR,
+ * SORT_NUMERIC, SORT_STRING
+ *
+ * @return {boolean}
+ */
+ public function sortEventsWithOrder($events, $sortOrder = SORT_ASC)
+ {
+ $extendedEvents = array();
+
+ // loop through all events by adding two new elements
+ foreach ($events as $anEvent) {
+ if (!array_key_exists('UNIX_TIMESTAMP', $anEvent)) {
+ $anEvent['UNIX_TIMESTAMP'] =
+ $this->iCalDateToUnixTimestamp($anEvent['DTSTART']);
+ }
+
+ if (!array_key_exists('REAL_DATETIME', $anEvent)) {
+ $anEvent['REAL_DATETIME'] =
+ date("d.m.Y", $anEvent['UNIX_TIMESTAMP']);
+ }
+
+ $extendedEvents[] = $anEvent;
+ }
+
+ foreach ($extendedEvents as $key => $value) {
+ $timestamp[$key] = $value['UNIX_TIMESTAMP'];
+ }
+ array_multisort($timestamp, $sortOrder, $extendedEvents);
+
+ return $extendedEvents;
+ }
+}
diff --git a/library/intl/.gitignore b/library/intl/.gitignore
new file mode 100644
index 000000000..2659611c8
--- /dev/null
+++ b/library/intl/.gitignore
@@ -0,0 +1 @@
+composer.lock
diff --git a/library/intl/.travis.yml b/library/intl/.travis.yml
new file mode 100644
index 000000000..20bf1805d
--- /dev/null
+++ b/library/intl/.travis.yml
@@ -0,0 +1,14 @@
+language: php
+
+php:
+ - 5.4
+ - 5.5
+ - 5.6
+ - hhvm
+
+install:
+ - composer self-update
+ - composer install
+
+script:
+ - ./vendor/bin/phpunit -c ./phpunit.xml --coverage-text --strict
diff --git a/library/intl/LICENSE b/library/intl/LICENSE
new file mode 100644
index 000000000..e4ef21420
--- /dev/null
+++ b/library/intl/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 Commerce Guys
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/library/intl/README.md b/library/intl/README.md
new file mode 100644
index 000000000..8de2de4d9
--- /dev/null
+++ b/library/intl/README.md
@@ -0,0 +1,163 @@
+intl
+=====
+
+[![Build Status](https://travis-ci.org/commerceguys/intl.svg?branch=master)](https://travis-ci.org/commerceguys/intl)
+
+A PHP 5.4+ internationalization library, powered by CLDR data.
+
+Features:
+- NumberFormatter, inspired by [intl](http://php.net/manual/en/class.numberformatter.php).
+- Currencies
+- Countries
+- Languages
+
+Coming soon: date formatting.
+
+Why not use the intl extension?
+-------------------------------
+The intl extension isn't present by default on PHP installs, requiring
+it can hurt software adoption.
+Behind the scenes the extension relies on libicu which includes the CLDR dataset,
+but depending on the OS/distribution used, could be several major CLDR releases behind.
+
+Since the CLDR dataset is freely available in JSON form, it is possible to
+reimplement the intl functionality in pure PHP code while ensuring that the
+dataset is always fresh.
+
+Having access to the CLDR dataset also makes it possible to offer additional APIs,
+such as listing all currencies.
+
+More backstory can be found in [this blog post](https://drupalcommerce.org/blog/15916/commerce-2x-stories-internationalization).
+
+Formatting numbers
+------------------
+Formats numbers (decimals, percents, currency amounts) using locale-specific rules.
+
+This ensures that the decimal and grouping separators, the position of the currency
+symbol, as well as the actual symbol used match what the user is expecting.
+
+The amounts passed for formatting should already be rounded, because the
+formatter doesn't do any rounding of its own.
+
+```php
+use CommerceGuys\Intl\Currency\CurrencyRepository;
+use CommerceGuys\Intl\NumberFormat\NumberFormatRepository;
+use CommerceGuys\Intl\Formatter\NumberFormatter;
+
+$currencyRepository = new CurrencyRepository;
+$numberFormatRepository = new NumberFormatRepository;
+
+$currency = $currencyRepository->get('USD');
+$numberFormat = $numberFormatRepository->get('en');
+
+$decimalFormatter = new NumberFormatter($numberFormat);
+echo $decimalFormatter->format('1234.99'); // 123,456.99
+
+$percentFormatter = new NumberFormatter($numberFormat, NumberFormatter::PERCENT);
+echo $percentFormatter->format('0.75'); // 75%
+
+$currencyFormatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY);
+echo $currencyFormatter->formatCurrency('2.99', $currency); // $2.99
+
+// The accounting pattern shows negative numbers differently and is used
+// primarily for amounts shown on invoices.
+$invoiceCurrencyFormatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY_ACCOUNTING);
+echo $invoiceCurrencyFormatter->formatCurrency('-2.99', $currency); // (2.99$)
+
+// Arabic, Arabic extended, Bengali, Devanagari digits are supported as expected.
+$currency = $currencyRepository->get('USD', 'ar');
+$numberFormat = $numberFormatRepository->get('ar');
+$currencyFormatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY);
+echo $currencyFormatter->formatCurrency('1230.99', $currency); // US$ ١٬٢٣٠٫٩٩
+
+// Parse formatted values into numeric values.
+echo $currencyFormatter->parseCurrency('US$ ١٬٢٣٠٫٩٩', $currency); // 1230.99
+```
+
+Currencies
+----------
+```php
+use CommerceGuys\Intl\Currency\CurrencyRepository;
+
+// Reads the currency definitions from resources/currency.
+$currencyRepository = new CurrencyRepository;
+
+// Get the USD currency using the default locale (en).
+$currency = $currencyRepository->get('USD');
+echo $currency->getCurrencyCode(); // USD
+echo $currency->getNumericCode(); // 840
+echo $currency->getFractionDigits(); // 2
+echo $currency->getName(); // US Dollar
+echo $currency->getSymbol(); // $
+echo $currency->getLocale(); // en
+
+// Get the USD currency using the fr-FR locale.
+$currency = $currencyRepository->get('USD', 'fr-FR');
+echo $currency->getName(); // dollar des États-Unis
+echo $currency->getSymbol(); // $US
+echo $currency->getLocale(); // fr-FR
+
+$allCurrencies = $currencyRepository->getAll();
+```
+
+Countries
+---------
+```php
+use CommerceGuys\Intl\Country\CountryRepository;
+
+// Reads the country definitions from resources/country.
+$countryRepository = new CountryRepository;
+
+// Get the US country using the default locale (en).
+$country = $countryRepository->get('US');
+echo $country->getCountryCode(); // US
+echo $country->getTelephoneCode(); // 1
+echo $country->getName(); // United States
+
+// Get the US country using the fr-FR locale.
+$country = $countryRepository->get('US', 'fr-FR');
+echo $country->getName(); // États-Unis
+
+$allCountries = $countryRepository->getAll();
+```
+
+Languages
+---------
+```php
+use CommerceGuys\Intl\Language\LanguageRepository;
+
+// Reads the language definitions from resources/language.
+$languageRepository = new LanguageRepository;
+
+// Get the german language using the default locale (en).
+$language = $languageRepository->get('de');
+echo $language->getLanguageCode(); // de
+echo $language->getName(); // German
+
+// Get the german language using the fr-FR locale.
+$language = $languageRepository->get('de', 'fr-FR');
+echo $language->getName(); // allemand
+
+$allLanguages = $languageRepository->getAll();
+```
+
+Implementing the library
+------------------------
+While the library can be used as-is, most applications will want to store the
+relevant definitions (currencies, countries, etc) in the database.
+This allows for better performance while giving users the ability to modify and
+expand the data.
+
+Taking currencies as an example, a merchant frequently wants to be able to:
+
+- Define custom currencies.
+- Enable/disable existing currencies
+- Modify an existing currency (changing the default number of fraction digits, for example).
+
+This would be accomplished by using the CurrencyRepository to get all default currencies and
+insert them into the database. The doctrine entity (or any similar data object) would then implement
+the CurrencyInterface so that the NumberFormatter can continue to work.
+
+Related projects
+----------------
+[commerceguys/pricing](http://github.com/commerceguys/pricing) provides a Price object.
diff --git a/library/intl/phpunit.xml b/library/intl/phpunit.xml
new file mode 100644
index 000000000..82bf2b096
--- /dev/null
+++ b/library/intl/phpunit.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<phpunit backupGlobals="false"
+ backupStaticAttributes="false"
+ colors="true"
+ convertErrorsToExceptions="true"
+ convertNoticesToExceptions="true"
+ convertWarningsToExceptions="true"
+ stopOnFailure="false"
+ bootstrap="vendor/autoload.php"
+>
+ <testsuites>
+ <testsuite name="CommerceGuys Intl Test Suite">
+ <directory>./tests/</directory>
+ </testsuite>
+ </testsuites>
+
+ <filter>
+ <whitelist>
+ <directory suffix=".php">./src/</directory>
+ </whitelist>
+ </filter>
+</phpunit>
diff --git a/library/intl/resources/country/af.json b/library/intl/resources/country/af.json
new file mode 100644
index 000000000..a12a35891
--- /dev/null
+++ b/library/intl/resources/country/af.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ã…landeilande"
+ },
+ "AL": {
+ "name": "Albanië"
+ },
+ "DZ": {
+ "name": "Algerië"
+ },
+ "AS": {
+ "name": "Amerikaans-Samoa"
+ },
+ "VI": {
+ "name": "Amerikaanse Maagde-eilande"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua en Barbuda"
+ },
+ "AR": {
+ "name": "Argentinië"
+ },
+ "AM": {
+ "name": "Armenië"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascensioneiland"
+ },
+ "AU": {
+ "name": "Australië"
+ },
+ "AZ": {
+ "name": "Azerbeidjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesj"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "België"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhoetan"
+ },
+ "BO": {
+ "name": "Bolivië"
+ },
+ "BA": {
+ "name": "Bosnië en Herzegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilië"
+ },
+ "IO": {
+ "name": "Britse Indiese Oseaangebied"
+ },
+ "VG": {
+ "name": "Britse Maagde-eilande"
+ },
+ "BN": {
+ "name": "Broenei"
+ },
+ "BG": {
+ "name": "Bulgarye"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta en Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CC": {
+ "name": "Cocos- (Keeling) eilande"
+ },
+ "CO": {
+ "name": "Colombië"
+ },
+ "KM": {
+ "name": "Comore"
+ },
+ "CK": {
+ "name": "Cookeilande"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CD": {
+ "name": "Demokratiese Republiek van die Kongo"
+ },
+ "DK": {
+ "name": "Denemarke"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djiboeti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikaanse Republiek"
+ },
+ "DE": {
+ "name": "Duitsland"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipte"
+ },
+ "IM": {
+ "name": "Eiland Man"
+ },
+ "GQ": {
+ "name": "Ekwatoriaal-Guinee"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Ethiopië"
+ },
+ "FK": {
+ "name": "Falklandeilande"
+ },
+ "FO": {
+ "name": "Faroëreilande"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "PH": {
+ "name": "Filippyne"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankryk"
+ },
+ "GF": {
+ "name": "Frans-Guyana"
+ },
+ "PF": {
+ "name": "Frans-Polinesië"
+ },
+ "TF": {
+ "name": "Franse Suidelike Gebiede"
+ },
+ "GA": {
+ "name": "Gaboen"
+ },
+ "GM": {
+ "name": "Gambië"
+ },
+ "GE": {
+ "name": "Georgië"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griekeland"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinee"
+ },
+ "GW": {
+ "name": "Guinee-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongarye"
+ },
+ "HK": {
+ "name": "Hongkong SAS Sjina"
+ },
+ "IE": {
+ "name": "Ierland"
+ },
+ "IN": {
+ "name": "Indië"
+ },
+ "ID": {
+ "name": "Indonesië"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italië"
+ },
+ "CI": {
+ "name": "Ivoorkus"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanië"
+ },
+ "KY": {
+ "name": "Kaaimanseilande"
+ },
+ "CV": {
+ "name": "Kaap Verde"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kameroen"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariese Eilande"
+ },
+ "BQ": {
+ "name": "Karibiese Nederland"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CX": {
+ "name": "Kerseiland"
+ },
+ "KG": {
+ "name": "Kirgisië"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KW": {
+ "name": "Koeweit"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroasië"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberië"
+ },
+ "LY": {
+ "name": "Libië"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litaue"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macau SAS Sjina"
+ },
+ "MK": {
+ "name": "Macedonië"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maledive"
+ },
+ "MY": {
+ "name": "Maleisië"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalleilande"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritanië"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "MM": {
+ "name": "Mianmar (Birma)"
+ },
+ "FM": {
+ "name": "Mikronesië"
+ },
+ "MD": {
+ "name": "Moldowa"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolië"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambiek"
+ },
+ "NA": {
+ "name": "Namibië"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NC": {
+ "name": "Nieu-Kaledonië"
+ },
+ "NZ": {
+ "name": "Nieu-Seeland"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerië"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Noord-Korea"
+ },
+ "MP": {
+ "name": "Noordelike Mariana-eilande"
+ },
+ "NO": {
+ "name": "Noorweë"
+ },
+ "NF": {
+ "name": "Norfolkeiland"
+ },
+ "UA": {
+ "name": "Oekraïne"
+ },
+ "UZ": {
+ "name": "Oesbekistan"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TL": {
+ "name": "Oos-Timor"
+ },
+ "AT": {
+ "name": "Oostenryk"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestynse gebiede"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papoea-Nieu-Guinee"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairneilande"
+ },
+ "PL": {
+ "name": "Pole"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "CG": {
+ "name": "Republiek van die Kongo"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Roemenië"
+ },
+ "RU": {
+ "name": "Rusland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome en Principe"
+ },
+ "SA": {
+ "name": "Saoedi-Arabië"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "CF": {
+ "name": "Sentraal-Afrikaanse Republiek"
+ },
+ "RS": {
+ "name": "Serwië"
+ },
+ "SC": {
+ "name": "Seychelle"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapoer"
+ },
+ "BL": {
+ "name": "Sint Barthélemy"
+ },
+ "SH": {
+ "name": "Sint Helena"
+ },
+ "KN": {
+ "name": "Sint Kitts en Nevis"
+ },
+ "LC": {
+ "name": "Sint Lucia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "MF": {
+ "name": "Sint Martin"
+ },
+ "PM": {
+ "name": "Sint Pierre en Miquelon"
+ },
+ "VC": {
+ "name": "Sint Vincent en die Grenadine"
+ },
+ "CY": {
+ "name": "Siprus"
+ },
+ "SY": {
+ "name": "Sirië"
+ },
+ "CN": {
+ "name": "Sjina"
+ },
+ "SK": {
+ "name": "Slowakye"
+ },
+ "SI": {
+ "name": "Slowenië"
+ },
+ "SD": {
+ "name": "Soedan"
+ },
+ "SB": {
+ "name": "Solomoneilande"
+ },
+ "SO": {
+ "name": "Somalië"
+ },
+ "ES": {
+ "name": "Spanje"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "ZA": {
+ "name": "Suid-Afrika"
+ },
+ "GS": {
+ "name": "Suid-Georgië en die Suidelike Sandwicheilande"
+ },
+ "KR": {
+ "name": "Suid-Korea"
+ },
+ "SS": {
+ "name": "Suid-Soedan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard en Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Swede"
+ },
+ "CH": {
+ "name": "Switserland"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzanië"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "CZ": {
+ "name": "Tjeggiese Republiek"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad en Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsjad"
+ },
+ "TN": {
+ "name": "Tunisië"
+ },
+ "TM": {
+ "name": "Turkmenië"
+ },
+ "TC": {
+ "name": "Turks- en Caicoseilande"
+ },
+ "TR": {
+ "name": "Turkye"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikaanstad"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Verenigde Arabiese Emirate"
+ },
+ "GB": {
+ "name": "Verenigde Koninkryk"
+ },
+ "US": {
+ "name": "Verenigde State van Amerika"
+ },
+ "VN": {
+ "name": "Viëtnam"
+ },
+ "UM": {
+ "name": "VS klein omliggende eilande"
+ },
+ "WF": {
+ "name": "Wallis en Futuna"
+ },
+ "EH": {
+ "name": "Wes-Sahara"
+ },
+ "IS": {
+ "name": "Ysland"
+ },
+ "ZM": {
+ "name": "Zambië"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/agq.json b/library/intl/resources/country/agq.json
new file mode 100644
index 000000000..b95e32c0b
--- /dev/null
+++ b/library/intl/resources/country/agq.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "Àabɛnìa"
+ },
+ "DZ": {
+ "name": "Àadzɛlìa"
+ },
+ "AR": {
+ "name": "Àdzɛ̀ntinà"
+ },
+ "PS": {
+ "name": "AdzɨmÄ kɨ Å‹gùŋ kɨ PalÉ›sɨtɨnyia à kɨ Gazà kò"
+ },
+ "IE": {
+ "name": "Aelɨ̀lân"
+ },
+ "IS": {
+ "name": "Aesɨ̀lân"
+ },
+ "AF": {
+ "name": "Àfɨ̀ganìsɨ̀tân"
+ },
+ "ZA": {
+ "name": "Afɨlekà ghɨ Emàm ghò"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AW": {
+ "name": "Àlubà"
+ },
+ "AS": {
+ "name": "Àmɛlekan Samwà"
+ },
+ "AM": {
+ "name": "Àmɛnyìa"
+ },
+ "AD": {
+ "name": "Àndolà"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Àntigwà à Bàbudà"
+ },
+ "AO": {
+ "name": "Àŋgolà"
+ },
+ "AI": {
+ "name": "Àŋgwilà"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Àzɨbɛ̀dzân"
+ },
+ "BB": {
+ "name": "Bàbadòs"
+ },
+ "BS": {
+ "name": "Bàhamàs"
+ },
+ "BH": {
+ "name": "Bàlaen"
+ },
+ "BD": {
+ "name": "Baŋgɨ̀làdɛ̂"
+ },
+ "BE": {
+ "name": "Bɛɛdzwùm"
+ },
+ "BY": {
+ "name": "Bɛlàlûs"
+ },
+ "BZ": {
+ "name": "Bɛ̀lezɨ̀"
+ },
+ "BM": {
+ "name": "Bɛ̀mudà"
+ },
+ "BJ": {
+ "name": "Bɛ̀nɨ̂ŋ"
+ },
+ "BR": {
+ "name": "Bɨ̀làzîi"
+ },
+ "BN": {
+ "name": "Bɨ̀lunè"
+ },
+ "BO": {
+ "name": "Bòlevà"
+ },
+ "BA": {
+ "name": "Bosɨnyìa à Hɛ̀zɛ̀gòvinà"
+ },
+ "BW": {
+ "name": "Bòtɨ̀swǎnà"
+ },
+ "BF": {
+ "name": "Bùkinà Fasò"
+ },
+ "BI": {
+ "name": "Bùlundì"
+ },
+ "BG": {
+ "name": "Bùugɛlìa"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Châ"
+ },
+ "CN": {
+ "name": "Chaenà"
+ },
+ "CZ": {
+ "name": "Chɛ̂ Lèkpubèlè"
+ },
+ "CL": {
+ "name": "Chilè"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "FK": {
+ "name": "Chwɨlà fɨ Fakɨlàn"
+ },
+ "MH": {
+ "name": "Chwɨlà fɨ Mashà"
+ },
+ "NF": {
+ "name": "Chwɨlà fɨ Nufòʔ"
+ },
+ "SB": {
+ "name": "Chwɨlà fɨ Solomwɨ̀n"
+ },
+ "MP": {
+ "name": "Chwɨlà mÌ€ MàlÇanà mɨ̀ Ekùw mò"
+ },
+ "VG": {
+ "name": "Chwɨlà m̀ Vidzinyìa m̀ Bɨ̀letì mò"
+ },
+ "TC": {
+ "name": "Chwɨla n Tɨtê à Kaekùs"
+ },
+ "KY": {
+ "name": "Chwɨlà ŋ̀ Kaemàn"
+ },
+ "CV": {
+ "name": "Chwɨla ŋ̀ Kɛ̀b Vɛ̂ɛ"
+ },
+ "CK": {
+ "name": "Chwɨla ŋ̀ Kûʔ"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CD": {
+ "name": "Dɛ̀mùkàlatì Lèkpubèlè è Kuŋgù"
+ },
+ "DK": {
+ "name": "Dɛnɨmà"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "IO": {
+ "name": "Dɨŋò kɨ dzughùnstòʔ kɨ Endìa kɨ Bɨ̀letì kò"
+ },
+ "DM": {
+ "name": "Dòmenekà"
+ },
+ "DO": {
+ "name": "Dòmenekà Lèkpubèlè"
+ },
+ "JP": {
+ "name": "Dzàkpân"
+ },
+ "DE": {
+ "name": "Dzamanè"
+ },
+ "JM": {
+ "name": "Dzàmɛkà"
+ },
+ "GI": {
+ "name": "Dzibɨ̀latà"
+ },
+ "DJ": {
+ "name": "Dzìbuwtì"
+ },
+ "JO": {
+ "name": "Dzodàn"
+ },
+ "GE": {
+ "name": "Dzɔɔdzìa"
+ },
+ "EG": {
+ "name": "Edzì"
+ },
+ "EC": {
+ "name": "Ekwadò"
+ },
+ "GQ": {
+ "name": "Èkwɛ̀tolia Ginè"
+ },
+ "IQ": {
+ "name": "Èlâkɨ̀"
+ },
+ "IR": {
+ "name": "Èlân"
+ },
+ "ER": {
+ "name": "Èletɨ̀là"
+ },
+ "IN": {
+ "name": "Endìa"
+ },
+ "ID": {
+ "name": "Èndòneshìa"
+ },
+ "TL": {
+ "name": "Ês Taemò"
+ },
+ "SV": {
+ "name": "Esàvadò"
+ },
+ "EE": {
+ "name": "Èsɨ̀tonyìa"
+ },
+ "IT": {
+ "name": "Etalè"
+ },
+ "ET": {
+ "name": "Ètyǒpìa"
+ },
+ "IL": {
+ "name": "Ezɨ̀lɛ̂"
+ },
+ "FR": {
+ "name": "Fàlâŋnsì"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "PH": {
+ "name": "Felèkpî"
+ },
+ "FJ": {
+ "name": "Fidzi"
+ },
+ "FI": {
+ "name": "Fɨnlàn"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GH": {
+ "name": "Gaanà"
+ },
+ "GA": {
+ "name": "Gàbûn"
+ },
+ "GM": {
+ "name": "Gambìa"
+ },
+ "GF": {
+ "name": "Gàyanà è Fàlâŋnsì"
+ },
+ "GN": {
+ "name": "Ginè"
+ },
+ "GW": {
+ "name": "Ginè Bìsawù"
+ },
+ "NG": {
+ "name": "Gɨ̀anyɨ"
+ },
+ "GL": {
+ "name": "Gɨ̀lenlân"
+ },
+ "GR": {
+ "name": "Gɨ̀lês"
+ },
+ "GD": {
+ "name": "Gɨ̀lɛnadà"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Gùyanà"
+ },
+ "GP": {
+ "name": "Gwadalukpɛ̀"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwàtɨ̀malà"
+ },
+ "HT": {
+ "name": "Hǎetì"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hɔndulàs"
+ },
+ "HU": {
+ "name": "Hɔŋgàlè"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "NC": {
+ "name": "Kàlèdonyìa È fūghū"
+ },
+ "CM": {
+ "name": "Kàmàlûŋ"
+ },
+ "KH": {
+ "name": "Kàmbodìa"
+ },
+ "CA": {
+ "name": "Kanadà"
+ },
+ "QA": {
+ "name": "Katà"
+ },
+ "KZ": {
+ "name": "Kàzasɨ̀tân"
+ },
+ "KI": {
+ "name": "Kèlèbati"
+ },
+ "KG": {
+ "name": "Kìdzisɨ̀tân"
+ },
+ "KE": {
+ "name": "Kɨnyà"
+ },
+ "CO": {
+ "name": "Kòlombìa"
+ },
+ "KM": {
+ "name": "Komolòs"
+ },
+ "CR": {
+ "name": "Kòsɨ̀tà Lekà"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kòwɛshìa"
+ },
+ "PK": {
+ "name": "Kpakìsɨ̀tân"
+ },
+ "PG": {
+ "name": "Kpakpua Ginè È fūghū"
+ },
+ "PY": {
+ "name": "Kpalàgwɛ̂"
+ },
+ "PW": {
+ "name": "Kpàlawù"
+ },
+ "PA": {
+ "name": "Kpanàma"
+ },
+ "PE": {
+ "name": "Kpɛlû"
+ },
+ "PN": {
+ "name": "Kpitɨ̀kalè"
+ },
+ "PF": {
+ "name": "Kpoleneshìa è Fàlâŋnsì"
+ },
+ "PR": {
+ "name": "KpÇ’to Leko"
+ },
+ "PL": {
+ "name": "Kpulàn"
+ },
+ "PT": {
+ "name": "Kputuwgà"
+ },
+ "CI": {
+ "name": "Ku Dɨ̀vûa"
+ },
+ "CG": {
+ "name": "Kuŋgù"
+ },
+ "KP": {
+ "name": "Kùulîa, Ekùw"
+ },
+ "KR": {
+ "name": "Kùulîa, Emàm"
+ },
+ "CU": {
+ "name": "Kuuwbà"
+ },
+ "KW": {
+ "name": "Kùwɛ̂"
+ },
+ "LR": {
+ "name": "Làebɛlìa"
+ },
+ "LV": {
+ "name": "Làtɨva"
+ },
+ "LA": {
+ "name": "Làwos"
+ },
+ "LY": {
+ "name": "Lebìa"
+ },
+ "LI": {
+ "name": "Letɨnshɨ̀n"
+ },
+ "LT": {
+ "name": "Lètwǎnyìa"
+ },
+ "RE": {
+ "name": "Lèyunyɔ̀ŋ"
+ },
+ "LB": {
+ "name": "Lɛbanè"
+ },
+ "LS": {
+ "name": "Lɛ̀sotù"
+ },
+ "RU": {
+ "name": "Loshìa"
+ },
+ "RO": {
+ "name": "Lùmanyìa"
+ },
+ "RW": {
+ "name": "Lùwandà"
+ },
+ "LU": {
+ "name": "Luzɨmbùʔ"
+ },
+ "MT": {
+ "name": "Maatà"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Màdàgasɨkà"
+ },
+ "MV": {
+ "name": "Màdivè"
+ },
+ "FM": {
+ "name": "Maekòlòneshìa"
+ },
+ "MW": {
+ "name": "Màlawì"
+ },
+ "ML": {
+ "name": "Malè"
+ },
+ "MY": {
+ "name": "Màlɛshìa"
+ },
+ "MQ": {
+ "name": "Màtìnekì"
+ },
+ "YT": {
+ "name": "Màyotì"
+ },
+ "BT": {
+ "name": "Mbutàn"
+ },
+ "MX": {
+ "name": "Mɛkɨzikù"
+ },
+ "MM": {
+ "name": "MÇanmà"
+ },
+ "MK": {
+ "name": "Mɨ̀sɨ̀donyìa"
+ },
+ "MA": {
+ "name": "Mòlokò"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MD": {
+ "name": "Mòodovà"
+ },
+ "MU": {
+ "name": "Mùleshwɨ̀s"
+ },
+ "MR": {
+ "name": "Mùlètanyìa"
+ },
+ "MC": {
+ "name": "Mùnaku"
+ },
+ "MN": {
+ "name": "Mùŋgolìa"
+ },
+ "MS": {
+ "name": "Mùŋtselà"
+ },
+ "MZ": {
+ "name": "Mùzàmbî"
+ },
+ "NE": {
+ "name": "Naedzà"
+ },
+ "NA": {
+ "name": "Nàmibìa"
+ },
+ "NR": {
+ "name": "Nàwulù"
+ },
+ "NL": {
+ "name": "Nedàlân"
+ },
+ "NP": {
+ "name": "Nɛkpâa"
+ },
+ "NI": {
+ "name": "Nikàlagwà"
+ },
+ "NU": {
+ "name": "Niyu"
+ },
+ "NO": {
+ "name": "Noowɛ̂ɛ"
+ },
+ "CY": {
+ "name": "Saekpùlù"
+ },
+ "WS": {
+ "name": "Sàmowà"
+ },
+ "SM": {
+ "name": "Sàn Màlenù"
+ },
+ "ST": {
+ "name": "Sawo Tɔ̀me à Kpèlènsikpɛ̀"
+ },
+ "SA": {
+ "name": "Sawudi Alabi"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sɛchɛ̀lɛ̀s"
+ },
+ "SH": {
+ "name": "Sɛ̀n Èlenà"
+ },
+ "KN": {
+ "name": "Sɛ̀n Kî à Nevì"
+ },
+ "PM": {
+ "name": "Sɛ̀n Kpiyɛ̀ à Mikelɔŋ"
+ },
+ "LC": {
+ "name": "Sɛ̀n Lushìa"
+ },
+ "VC": {
+ "name": "Sɛ̀n Vinsɨ̀n à Gɨlenadi Ù tē"
+ },
+ "SN": {
+ "name": "Sɛ̀nɛ̀gâa"
+ },
+ "CF": {
+ "name": "Sɛnta Afɨlekan Lèkpobèlè"
+ },
+ "SZ": {
+ "name": "Shǔazìlân"
+ },
+ "SY": {
+ "name": "Silîa"
+ },
+ "SL": {
+ "name": "Silìa lûŋ"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SG": {
+ "name": "Siŋgàkpôo"
+ },
+ "ES": {
+ "name": "Sɨ̀kpɛ̂n"
+ },
+ "LK": {
+ "name": "Sɨ̀le Laŋkà"
+ },
+ "SK": {
+ "name": "Sɨ̀lòvɨkɨ̀a"
+ },
+ "SI": {
+ "name": "Sɨ̀lòvɨnyìa"
+ },
+ "SO": {
+ "name": "Sòmalìa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sùdân"
+ },
+ "SE": {
+ "name": "Suedɨ̀n"
+ },
+ "CH": {
+ "name": "Suezàlân"
+ },
+ "SR": {
+ "name": "Sulènamè"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TZ": {
+ "name": "Tàanzanyìa"
+ },
+ "TJ": {
+ "name": "Tàdzikìsɨ̀tân"
+ },
+ "TH": {
+ "name": "Taelàn"
+ },
+ "TW": {
+ "name": "Taewàn"
+ },
+ "TR": {
+ "name": "Teekì"
+ },
+ "TM": {
+ "name": "Tekɨmènèsɨ̀tân"
+ },
+ "TT": {
+ "name": "Tèlenedà à Tòbagù"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TG": {
+ "name": "Tugù"
+ },
+ "TN": {
+ "name": "Tùneshìa"
+ },
+ "TO": {
+ "name": "Tuŋgà"
+ },
+ "TK": {
+ "name": "Tuwkelawù"
+ },
+ "TV": {
+ "name": "Tuwvalùw"
+ },
+ "VI": {
+ "name": "U. S. Chwɨlà fɨ Mbuʔmbu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "OM": {
+ "name": "Umàn"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "AU": {
+ "name": "Ùsɨ̀tɛ̀lɛlìa"
+ },
+ "AT": {
+ "name": "Usɨtɨ̀là"
+ },
+ "VU": {
+ "name": "Vànǔatùw"
+ },
+ "VA": {
+ "name": "Vatikàn Sɨ̀tɛ̂"
+ },
+ "VE": {
+ "name": "Vɛ̀nɛ̀zǔɛɛlà"
+ },
+ "VN": {
+ "name": "Vìyɛnàm"
+ },
+ "WF": {
+ "name": "Wales à Fùwtuwnà"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yɛmɛ̀n"
+ },
+ "UG": {
+ "name": "Yùgandà"
+ },
+ "UA": {
+ "name": "Yùkɛ̀lɛ̂"
+ },
+ "UY": {
+ "name": "Yulùgwɛ̂"
+ },
+ "AE": {
+ "name": "Yùnaetɛ Alab ɛmelɛ̀"
+ },
+ "GB": {
+ "name": "Yùnaetɛ Kiŋdɔ̀m"
+ },
+ "UZ": {
+ "name": "Yùzɨ̀bɛkìsɨ̀tân"
+ },
+ "ZM": {
+ "name": "Zambìa"
+ },
+ "NZ": {
+ "name": "Zìlân È fūghū"
+ },
+ "ZW": {
+ "name": "Zìmbagbɛ̀"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ak.json b/library/intl/resources/country/ak.json
new file mode 100644
index 000000000..92ccb39c3
--- /dev/null
+++ b/library/intl/resources/country/ak.json
@@ -0,0 +1,761 @@
+{
+ "AM": {
+ "name": "Aamenia"
+ },
+ "IE": {
+ "name": "Aereland"
+ },
+ "IS": {
+ "name": "Aesland"
+ },
+ "AF": {
+ "name": "Afganistan"
+ },
+ "ZA": {
+ "name": "Afrika Anaafo"
+ },
+ "CF": {
+ "name": "Afrika Finimfin Man"
+ },
+ "AR": {
+ "name": "Agyɛntina"
+ },
+ "GB": {
+ "name": "Ahendiman Nkabom"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albenia"
+ },
+ "US": {
+ "name": "Amɛrika"
+ },
+ "AS": {
+ "name": "Amɛrika Samoa"
+ },
+ "VI": {
+ "name": "Amɛrika Virgin Islands"
+ },
+ "KR": {
+ "name": "Anaafo Koria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua ne Baabuda"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azebaegyan"
+ },
+ "BB": {
+ "name": "Baabados"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BD": {
+ "name": "Bangladɛhye"
+ },
+ "BH": {
+ "name": "Baren"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "BY": {
+ "name": "Bɛlarus"
+ },
+ "BE": {
+ "name": "Bɛlgyium"
+ },
+ "BM": {
+ "name": "Bɛmuda"
+ },
+ "BJ": {
+ "name": "Bɛnin"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ne Hɛzegovina"
+ },
+ "BF": {
+ "name": "Bɔkina Faso"
+ },
+ "BG": {
+ "name": "Bɔlgeria"
+ },
+ "BW": {
+ "name": "Bɔtswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britainfo Virgin Islands"
+ },
+ "IO": {
+ "name": "Britenfo Hɔn Man Wɔ India Po No Mu"
+ },
+ "BN": {
+ "name": "Brunae"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dɛnmak"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dɔmeneka"
+ },
+ "DO": {
+ "name": "Dɔmeneka Kurokɛse"
+ },
+ "KP": {
+ "name": "Etifi Koria"
+ },
+ "SV": {
+ "name": "Æl SalvadÉ”"
+ },
+ "ER": {
+ "name": "Æritrea"
+ },
+ "EE": {
+ "name": "Æstonia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Figyi"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FK": {
+ "name": "Fɔlkman Aeland"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GF": {
+ "name": "Frɛnkye Gayana"
+ },
+ "PF": {
+ "name": "Frɛnkye Pɔlenehyia"
+ },
+ "FR": {
+ "name": "Frɛnkyeman"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GA": {
+ "name": "Gabɔn"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GY": {
+ "name": "Gayana"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini Bisaw"
+ },
+ "GQ": {
+ "name": "Gini Ikuweta"
+ },
+ "GR": {
+ "name": "Greekman"
+ },
+ "GL": {
+ "name": "Greenman"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "Guwadelup"
+ },
+ "GT": {
+ "name": "Guwatemala"
+ },
+ "DE": {
+ "name": "Gyaaman"
+ },
+ "JM": {
+ "name": "Gyameka"
+ },
+ "JP": {
+ "name": "Gyapan"
+ },
+ "GI": {
+ "name": "Gyebralta"
+ },
+ "DJ": {
+ "name": "Gyibuti"
+ },
+ "JO": {
+ "name": "Gyɔdan"
+ },
+ "GE": {
+ "name": "Gyɔgyea"
+ },
+ "HU": {
+ "name": "Hangari"
+ },
+ "HT": {
+ "name": "Heiti"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hɔnduras"
+ },
+ "EC": {
+ "name": "IkuwadÉ”"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indɔnehyia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "ET": {
+ "name": "Ithiopia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "NC": {
+ "name": "Kaledonia Foforo"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kamɛrun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kata"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KY": {
+ "name": "Kemanfo Islands"
+ },
+ "CV": {
+ "name": "Kepvɛdfo Islands"
+ },
+ "KG": {
+ "name": "Kɛɛgestan"
+ },
+ "KE": {
+ "name": "Kɛnya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo (Zair)"
+ },
+ "CK": {
+ "name": "Kook Nsupɔw"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KM": {
+ "name": "Kɔmɔrɔs"
+ },
+ "CR": {
+ "name": "Kɔsta Rika"
+ },
+ "HR": {
+ "name": "Krowehyia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwete"
+ },
+ "TD": {
+ "name": "Kyad"
+ },
+ "CN": {
+ "name": "Kyaena"
+ },
+ "CZ": {
+ "name": "Kyɛk Kurokɛse"
+ },
+ "CL": {
+ "name": "Kyili"
+ },
+ "CI": {
+ "name": "La Côte d’Ivoire"
+ },
+ "LR": {
+ "name": "Laeberia"
+ },
+ "LU": {
+ "name": "Laksembɛg"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LI": {
+ "name": "Lektenstaen"
+ },
+ "LB": {
+ "name": "Lɛbanɔn"
+ },
+ "LS": {
+ "name": "Lɛsutu"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LT": {
+ "name": "Lituwenia"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaska"
+ },
+ "FM": {
+ "name": "Maekronehyia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "MY": {
+ "name": "Malehyia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MS": {
+ "name": "Mantserat"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "MQ": {
+ "name": "Matinik"
+ },
+ "YT": {
+ "name": "Mayɔte"
+ },
+ "MX": {
+ "name": "Mɛksiko"
+ },
+ "MM": {
+ "name": "Miyanma"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MD": {
+ "name": "Mɔldova"
+ },
+ "MT": {
+ "name": "Mɔlta"
+ },
+ "MC": {
+ "name": "Mɔnako"
+ },
+ "MN": {
+ "name": "Mɔngolia"
+ },
+ "MU": {
+ "name": "Mɔrehyeɔs"
+ },
+ "MR": {
+ "name": "Mɔretenia"
+ },
+ "NG": {
+ "name": "Naegyeria"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Naworu"
+ },
+ "NI": {
+ "name": "Nekaraguwa"
+ },
+ "NL": {
+ "name": "Nɛdɛland"
+ },
+ "NP": {
+ "name": "Nɛpɔl"
+ },
+ "NE": {
+ "name": "NigyÉ›"
+ },
+ "EG": {
+ "name": "Nisrim"
+ },
+ "NU": {
+ "name": "Niyu"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NF": {
+ "name": "Nɔfolk Aeland"
+ },
+ "NO": {
+ "name": "Nɔɔwe"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "DZ": {
+ "name": "Ɔlgyeria"
+ },
+ "AU": {
+ "name": "Ɔstrelia"
+ },
+ "AT": {
+ "name": "Ɔstria"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestaen West Bank ne Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Guinea Foforo"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Pɔtugal"
+ },
+ "PR": {
+ "name": "Puɛto Riko"
+ },
+ "RE": {
+ "name": "Reyuniɔn"
+ },
+ "RO": {
+ "name": "Romenia"
+ },
+ "RU": {
+ "name": "Rɔhyea"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "CY": {
+ "name": "Saeprɔs"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ne Nɛves"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre ne Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent ne Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seyhyɛl"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "SingapÉ”"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovinia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Swetzaland"
+ },
+ "TH": {
+ "name": "Taeland"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TR": {
+ "name": "Tɛɛki"
+ },
+ "TM": {
+ "name": "Tɛkmɛnistan"
+ },
+ "TL": {
+ "name": "TimÉ” Boka"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ne Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunihyia"
+ },
+ "TC": {
+ "name": "Turks ne Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukren"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "UZ": {
+ "name": "Uzbɛkistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican Man"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Viɛtnam"
+ },
+ "WF": {
+ "name": "Wallis ne Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yɛmen"
+ },
+ "UY": {
+ "name": "Yurugwae"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zembabwe"
+ },
+ "NZ": {
+ "name": "Ziland Foforo"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/am.json b/library/intl/resources/country/am.json
new file mode 100644
index 000000000..ea86c156d
--- /dev/null
+++ b/library/intl/resources/country/am.json
@@ -0,0 +1,761 @@
+{
+ "HU": {
+ "name": "ሀንጋሪ"
+ },
+ "HT": {
+ "name": "ሀይቲ"
+ },
+ "IN": {
+ "name": "ህንድ"
+ },
+ "HN": {
+ "name": "ሆንዱራስ"
+ },
+ "HK": {
+ "name": "ሆንጠኮንጠSAR ቻይና"
+ },
+ "LU": {
+ "name": "ሉክሰáˆá‰ áˆ­áŒ"
+ },
+ "LY": {
+ "name": "ሊቢያ"
+ },
+ "LB": {
+ "name": "ሊባኖስ"
+ },
+ "LT": {
+ "name": "ሊቱዌኒያ"
+ },
+ "LI": {
+ "name": "ሊችተንስታይን"
+ },
+ "LV": {
+ "name": "ላትቪያ"
+ },
+ "LA": {
+ "name": "ላኦስ"
+ },
+ "LR": {
+ "name": "ላይቤሪያ"
+ },
+ "LS": {
+ "name": "ሌሶቶ"
+ },
+ "MK": {
+ "name": "መቄዶንያ"
+ },
+ "FM": {
+ "name": "ሚክሮኔዢያ"
+ },
+ "ML": {
+ "name": "ማሊ"
+ },
+ "MW": {
+ "name": "ማላዊ"
+ },
+ "MY": {
+ "name": "ማሌዢያ"
+ },
+ "MT": {
+ "name": "ማáˆá‰³"
+ },
+ "MV": {
+ "name": "ማáˆá‹²á‰­áˆµ"
+ },
+ "MH": {
+ "name": "ማርሻሠአይላንድ"
+ },
+ "MQ": {
+ "name": "ማርቲኒክ"
+ },
+ "MO": {
+ "name": "ማካኡ áˆá‹© የአስተዳደር ክáˆáˆ ቻይና"
+ },
+ "MM": {
+ "name": "ማይናማር(በርማ)"
+ },
+ "MG": {
+ "name": "ማዳጋስካር"
+ },
+ "MX": {
+ "name": "ሜክሲኮ"
+ },
+ "YT": {
+ "name": "ሜይኦቴ"
+ },
+ "TL": {
+ "name": "áˆáˆµáˆ«á‰… ሌስት"
+ },
+ "EH": {
+ "name": "áˆá‹•áˆ«á‰£á‹Š ሳህራ"
+ },
+ "MD": {
+ "name": "ሞáˆá‹¶á‰«"
+ },
+ "MU": {
+ "name": "ሞሪሸስ"
+ },
+ "MR": {
+ "name": "ሞሪቴኒያ"
+ },
+ "MA": {
+ "name": "ሞሮኮ"
+ },
+ "MC": {
+ "name": "ሞናኮ"
+ },
+ "ME": {
+ "name": "ሞንተኔáŒáˆ®"
+ },
+ "MS": {
+ "name": "ሞንትሴራት"
+ },
+ "MN": {
+ "name": "ሞንጎሊያ"
+ },
+ "MZ": {
+ "name": "ሞዛáˆá‰¢áŠ­"
+ },
+ "RW": {
+ "name": "ሩዋንዳ"
+ },
+ "RE": {
+ "name": "ሪዩኒየን"
+ },
+ "RU": {
+ "name": "ራሺያ"
+ },
+ "RO": {
+ "name": "ሮሜኒያ"
+ },
+ "SB": {
+ "name": "ሰሎሞን ደሴት"
+ },
+ "KP": {
+ "name": "ሰሜን ኮሪያ"
+ },
+ "RS": {
+ "name": "ሰርብያ"
+ },
+ "SO": {
+ "name": "ሱማሌ"
+ },
+ "SR": {
+ "name": "ሱሪናáˆ"
+ },
+ "SZ": {
+ "name": "ሱዋዚላንድ"
+ },
+ "SD": {
+ "name": "ሱዳን"
+ },
+ "LK": {
+ "name": "ሲሪላንካ"
+ },
+ "SY": {
+ "name": "ሲሪያ"
+ },
+ "SC": {
+ "name": "ሲሼáˆáˆµ"
+ },
+ "SX": {
+ "name": "ሲንት ማርተን"
+ },
+ "SG": {
+ "name": "ሲንጋá–ር"
+ },
+ "WS": {
+ "name": "ሳሞአ"
+ },
+ "SM": {
+ "name": "ሳን ማሪኖ"
+ },
+ "ST": {
+ "name": "ሳኦ ቶሜ እና á•áˆªáŠ•áˆ²á”"
+ },
+ "SA": {
+ "name": "ሳá‹á‹µáŠ áˆ¨á‰¢á‹«"
+ },
+ "CY": {
+ "name": "ሳይá•áˆ¨áˆµ"
+ },
+ "SL": {
+ "name": "ሴራሊዮን"
+ },
+ "SN": {
+ "name": "ሴኔጋáˆ"
+ },
+ "SH": {
+ "name": "ሴንት ሄለና"
+ },
+ "LC": {
+ "name": "ሴንት ሉቺያ"
+ },
+ "MF": {
+ "name": "ሴንት ማርቲን"
+ },
+ "EA": {
+ "name": "ሴኡታና ሜሊላ"
+ },
+ "SK": {
+ "name": "ስሎቫኪያ"
+ },
+ "SI": {
+ "name": "ስሎቬኒያ"
+ },
+ "SJ": {
+ "name": "ስቫáˆá‰£áˆ­á‹µ እና ጃን ማየን"
+ },
+ "CH": {
+ "name": "ስዊዘርላንድ"
+ },
+ "SE": {
+ "name": "ስዊድን"
+ },
+ "ES": {
+ "name": "ስá”ን"
+ },
+ "BL": {
+ "name": "ቅዱስ በርቴሎሜ"
+ },
+ "VC": {
+ "name": "ቅዱስ ቪንሴንት እና áŒáˆ¬áŠ“ዲንስ"
+ },
+ "KN": {
+ "name": "ቅዱስ ኪትስ እና ኔቪስ"
+ },
+ "PM": {
+ "name": "ቅዱስ á’ዬር እና ሚኩኤሎን"
+ },
+ "BT": {
+ "name": "ቡህታን"
+ },
+ "BG": {
+ "name": "ቡáˆáŒŒáˆªá‹«"
+ },
+ "BF": {
+ "name": "ቡርኪና á‹áˆ¶"
+ },
+ "BS": {
+ "name": "ባሃማስ"
+ },
+ "BH": {
+ "name": "ባህሬን"
+ },
+ "BB": {
+ "name": "ባርቤዶስ"
+ },
+ "BD": {
+ "name": "ባንáŒáˆ‹á‹²áˆ½"
+ },
+ "BZ": {
+ "name": "ቤሊዘ"
+ },
+ "BY": {
+ "name": "ቤላሩስ"
+ },
+ "BE": {
+ "name": "ቤáˆáŒ„áˆ"
+ },
+ "BM": {
+ "name": "ቤርሙዳ"
+ },
+ "BJ": {
+ "name": "ቤኒን"
+ },
+ "BN": {
+ "name": "ብሩኒ"
+ },
+ "BI": {
+ "name": "ብሩንዲ"
+ },
+ "BR": {
+ "name": "ብራዚáˆ"
+ },
+ "BO": {
+ "name": "ቦሊቪያ"
+ },
+ "BA": {
+ "name": "ቦስኒያ እና ሄርዞጎቪኒያ"
+ },
+ "BW": {
+ "name": "ቦትስዋና"
+ },
+ "VA": {
+ "name": "ቫቲካን ከተማ"
+ },
+ "VU": {
+ "name": "ቫኑአቱ"
+ },
+ "VN": {
+ "name": "ቬትናáˆ"
+ },
+ "VE": {
+ "name": "ቬንዙዌላ"
+ },
+ "TR": {
+ "name": "ቱርክ"
+ },
+ "TM": {
+ "name": "ቱርክሜኒስታን"
+ },
+ "TV": {
+ "name": "ቱቫሉ"
+ },
+ "TN": {
+ "name": "ቱኒዚያ"
+ },
+ "TZ": {
+ "name": "ታንዛኒያ"
+ },
+ "TH": {
+ "name": "ታይላንድ"
+ },
+ "TW": {
+ "name": "ታይዋን"
+ },
+ "TJ": {
+ "name": "ታጃኪስታን"
+ },
+ "TA": {
+ "name": "ትሪስታን ዲ ኩንሃ"
+ },
+ "TT": {
+ "name": "ትሪናዳድ እና ቶቤጎ"
+ },
+ "TO": {
+ "name": "ቶንጋ"
+ },
+ "TK": {
+ "name": "ቶክላá‹"
+ },
+ "TG": {
+ "name": "ቶáŒ"
+ },
+ "CL": {
+ "name": "ቺሊ"
+ },
+ "CN": {
+ "name": "ቻይና"
+ },
+ "TD": {
+ "name": "ቻድ"
+ },
+ "CZ": {
+ "name": "ቼክ ሪá‘ብሊክ"
+ },
+ "NU": {
+ "name": "ኒኡይ"
+ },
+ "NI": {
+ "name": "ኒካራጓ"
+ },
+ "NC": {
+ "name": "ኒዠካሌዶኒያ"
+ },
+ "NZ": {
+ "name": "ኒዠዚላንድ"
+ },
+ "NE": {
+ "name": "ኒጀር"
+ },
+ "NA": {
+ "name": "ናሚቢያ"
+ },
+ "NR": {
+ "name": "ናኡሩ"
+ },
+ "NG": {
+ "name": "ናይጄሪያ"
+ },
+ "NL": {
+ "name": "ኔዘርላንድ"
+ },
+ "NP": {
+ "name": "ኔá“áˆ"
+ },
+ "NO": {
+ "name": "ኖርዌ"
+ },
+ "NF": {
+ "name": "ኖርáŽáˆáŠ­ ደሴት"
+ },
+ "AL": {
+ "name": "አáˆá‰£áŠ’á‹«"
+ },
+ "DZ": {
+ "name": "አáˆáŒ„ሪያ"
+ },
+ "AW": {
+ "name": "አሩባ"
+ },
+ "AM": {
+ "name": "አርሜኒያ"
+ },
+ "AR": {
+ "name": "አርጀንቲና"
+ },
+ "AC": {
+ "name": "አሴንሽን ደሴት"
+ },
+ "AG": {
+ "name": "አንቲጓ እና ባሩዳ"
+ },
+ "AQ": {
+ "name": "አንታርክቲካ"
+ },
+ "AD": {
+ "name": "አንዶራ"
+ },
+ "AI": {
+ "name": "አንጉኢላ"
+ },
+ "AO": {
+ "name": "አንáŒáˆ‹"
+ },
+ "AU": {
+ "name": "አá‹áˆµá‰µáˆ«áˆá‹«"
+ },
+ "AZ": {
+ "name": "አዘርባጃን"
+ },
+ "IE": {
+ "name": "አየርላንድ"
+ },
+ "IM": {
+ "name": "አይሠኦá ማን"
+ },
+ "IS": {
+ "name": "አይስላንድ"
+ },
+ "AF": {
+ "name": "አáጋኒስታን"
+ },
+ "UY": {
+ "name": "ኡራጓይ"
+ },
+ "UZ": {
+ "name": "ኡá‹á‰¤áŠªáˆµá‰³áŠ•"
+ },
+ "IQ": {
+ "name": "ኢራቅ"
+ },
+ "IR": {
+ "name": "ኢራን"
+ },
+ "ET": {
+ "name": "ኢትዮጵያ"
+ },
+ "ID": {
+ "name": "ኢንዶኔዢያ"
+ },
+ "GQ": {
+ "name": "ኢኳቶሪያሠጊኒ"
+ },
+ "EC": {
+ "name": "ኢኳዶር"
+ },
+ "SV": {
+ "name": "ኤሠሳáˆá‰«á‹¶áˆ­"
+ },
+ "ER": {
+ "name": "ኤርትራ"
+ },
+ "EE": {
+ "name": "ኤስቶኒያ"
+ },
+ "IL": {
+ "name": "እስራኤáˆ"
+ },
+ "GB": {
+ "name": "እንáŒáˆŠá‹"
+ },
+ "OM": {
+ "name": "ኦማን"
+ },
+ "AT": {
+ "name": "ኦስትሪያ"
+ },
+ "CW": {
+ "name": "ኩራሳዎ"
+ },
+ "CU": {
+ "name": "ኩባ"
+ },
+ "CK": {
+ "name": "ኩክ ደሴቶች"
+ },
+ "KI": {
+ "name": "ኪሪባቲ"
+ },
+ "KG": {
+ "name": "ኪርጊስታን"
+ },
+ "CM": {
+ "name": "ካሜሩን"
+ },
+ "KH": {
+ "name": "ካáˆá‰¦á‹²á‹«"
+ },
+ "CA": {
+ "name": "ካናዳ"
+ },
+ "KZ": {
+ "name": "ካዛኪስታን"
+ },
+ "KY": {
+ "name": "ካይማን ደሴቶች"
+ },
+ "KE": {
+ "name": "ኬንያ"
+ },
+ "CV": {
+ "name": "ኬᕠቬርዴ"
+ },
+ "HR": {
+ "name": "ክሮኤሽያ"
+ },
+ "KW": {
+ "name": "ክዌት"
+ },
+ "CO": {
+ "name": "ኮሎáˆá‰¢á‹«"
+ },
+ "KM": {
+ "name": "ኮሞሮስ"
+ },
+ "CR": {
+ "name": "ኮስታ ሪካ"
+ },
+ "XK": {
+ "name": "ኮሶቮ"
+ },
+ "CI": {
+ "name": "ኮት ዲቯር"
+ },
+ "CG": {
+ "name": "ኮንጎ ብራዛቪáˆ"
+ },
+ "CD": {
+ "name": "ኮንጎ-ኪንሻሳ"
+ },
+ "CC": {
+ "name": "ኮኮስ(ኬሊንáŒ) ደሴቶች"
+ },
+ "QA": {
+ "name": "ኳታር"
+ },
+ "WF": {
+ "name": "ዋሊስ እና á‰á‰±áŠ“ ደሴቶች"
+ },
+ "ZW": {
+ "name": "á‹šáˆá‰§á‰¤"
+ },
+ "ZM": {
+ "name": "á‹›áˆá‰¢á‹«"
+ },
+ "YE": {
+ "name": "የመን"
+ },
+ "CF": {
+ "name": "የመካከለኛዠአáሪካ ሪáብሊክ"
+ },
+ "MP": {
+ "name": "የሰሜናዊ ማሪያና ደሴቶች"
+ },
+ "IO": {
+ "name": "የብሪታኒያ ህንድ á‹á‰‚ያኖስ áŒá‹›á‰µ"
+ },
+ "AE": {
+ "name": "የተባበሩት አረብ ኤáˆáˆ¬á‰µáˆµ"
+ },
+ "TC": {
+ "name": "የቱርኮችና የካኢኮስ ደሴቶች"
+ },
+ "AX": {
+ "name": "የአላንድ ደሴቶች"
+ },
+ "AS": {
+ "name": "የአሜሪካ ሳሞአ"
+ },
+ "VI": {
+ "name": "የአሜሪካ ቨርጂን ደሴቶች"
+ },
+ "VG": {
+ "name": "የእንáŒáˆŠá‹ ቨርጂን ደሴቶች"
+ },
+ "BQ": {
+ "name": "የካሪቢያን ኔዘርላንድስ"
+ },
+ "IC": {
+ "name": "የካናሪ ደሴቶች"
+ },
+ "UM": {
+ "name": "የዩ ኤስ ጠረá ላይ ያሉ ደሴቶች"
+ },
+ "CX": {
+ "name": "የገና ደሴት"
+ },
+ "TF": {
+ "name": "የáˆáˆ¨áŠ•áˆ³á‹­ ደቡባዊ áŒá‹›á‰¶á‰½"
+ },
+ "GF": {
+ "name": "የáˆáˆ¨áŠ•áˆ³á‹­ ጉዊአና"
+ },
+ "PF": {
+ "name": "የáˆáˆ¨áŠ•áˆ³á‹­ á–ሊኔዢያ"
+ },
+ "FO": {
+ "name": "የá‹áˆ® ደሴቶች"
+ },
+ "PS": {
+ "name": "የááˆáˆµáŒ¤áˆ áŒá‹›á‰µ"
+ },
+ "FK": {
+ "name": "የáŽáŠ­áˆ‹áŠ•á‹µ ደሴቶች"
+ },
+ "US": {
+ "name": "ዩናይትድ ስቴትስ"
+ },
+ "UA": {
+ "name": "ዩክሬን"
+ },
+ "UG": {
+ "name": "ዩጋንዳ"
+ },
+ "SS": {
+ "name": "ደቡብ ሱዳን"
+ },
+ "ZA": {
+ "name": "ደቡብ አáሪካ"
+ },
+ "KR": {
+ "name": "ደቡብ ኮሪያ"
+ },
+ "GS": {
+ "name": "ደቡብ ጆርጂያ እና የደቡብ ሳንድዊች ደሴቶች"
+ },
+ "DG": {
+ "name": "ዲዬጎ ጋርሺያ"
+ },
+ "DK": {
+ "name": "ዴንማርክ"
+ },
+ "DM": {
+ "name": "ዶሚኒካ"
+ },
+ "DO": {
+ "name": "ዶሚኒክ ሪá‘ብሊክ"
+ },
+ "DE": {
+ "name": "ጀርመን"
+ },
+ "JE": {
+ "name": "ጀርሲ"
+ },
+ "DJ": {
+ "name": "ጂቡቲ"
+ },
+ "GI": {
+ "name": "ጂብራáˆá‰°áˆ­"
+ },
+ "JM": {
+ "name": "ጃማይካ"
+ },
+ "JP": {
+ "name": "ጃá“ን"
+ },
+ "JO": {
+ "name": "ጆርዳን"
+ },
+ "GE": {
+ "name": "ጆርጂያ"
+ },
+ "GG": {
+ "name": "ጉርáŠáˆ²"
+ },
+ "GU": {
+ "name": "ጉዋáˆ"
+ },
+ "GT": {
+ "name": "ጉዋቲማላ"
+ },
+ "GP": {
+ "name": "ጉዋደሉá•"
+ },
+ "GY": {
+ "name": "ጉያና"
+ },
+ "GN": {
+ "name": "ጊኒ"
+ },
+ "GW": {
+ "name": "ጊኒ ቢሳኦ"
+ },
+ "GM": {
+ "name": "ጋáˆá‰¢á‹«"
+ },
+ "GA": {
+ "name": "ጋቦን"
+ },
+ "GH": {
+ "name": "ጋና"
+ },
+ "GL": {
+ "name": "áŒáˆªáŠ•áˆ‹áŠ•á‹µ"
+ },
+ "GR": {
+ "name": "áŒáˆªáŠ­"
+ },
+ "GD": {
+ "name": "áŒáˆ¬áŠ“ዳ"
+ },
+ "EG": {
+ "name": "áŒá‰¥áŒ½"
+ },
+ "IT": {
+ "name": "ጣሊያን"
+ },
+ "FR": {
+ "name": "áˆáˆ¨áŠ•áˆ³á‹­"
+ },
+ "PH": {
+ "name": "áŠáˆŠá’ንስ"
+ },
+ "FI": {
+ "name": "áŠáŠ•áˆ‹áŠ•á‹µ"
+ },
+ "FJ": {
+ "name": "áŠáŒ‚"
+ },
+ "PN": {
+ "name": "á’ትካኢርን አይስላንድ"
+ },
+ "PW": {
+ "name": "á“ላá‹"
+ },
+ "PY": {
+ "name": "á“ራጓይ"
+ },
+ "PA": {
+ "name": "á“ናማ"
+ },
+ "PK": {
+ "name": "á“ኪስታን"
+ },
+ "PG": {
+ "name": "á“á‘á‹‹ ኒዠጊኒ"
+ },
+ "PE": {
+ "name": "á”ሩ"
+ },
+ "PL": {
+ "name": "á–ላንድ"
+ },
+ "PT": {
+ "name": "á–ርቱጋáˆ"
+ },
+ "PR": {
+ "name": "á–ርታ ሪኮ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ar.json b/library/intl/resources/country/ar.json
new file mode 100644
index 000000000..4c8763235
--- /dev/null
+++ b/library/intl/resources/country/ar.json
@@ -0,0 +1,761 @@
+{
+ "AW": {
+ "name": "آروبا"
+ },
+ "AZ": {
+ "name": "أذربيجان"
+ },
+ "AM": {
+ "name": "أرمينيا"
+ },
+ "ER": {
+ "name": "أريتريا"
+ },
+ "AU": {
+ "name": "أستراليا"
+ },
+ "EE": {
+ "name": "أستونيا"
+ },
+ "AF": {
+ "name": "Ø£Ùغانستان"
+ },
+ "AL": {
+ "name": "ألبانيا"
+ },
+ "DE": {
+ "name": "ألمانيا"
+ },
+ "AQ": {
+ "name": "أنتاركتيكا"
+ },
+ "AG": {
+ "name": "أنتيغوا وبربودا"
+ },
+ "AD": {
+ "name": "أندورا"
+ },
+ "ID": {
+ "name": "أندونيسيا"
+ },
+ "AO": {
+ "name": "أنغولا"
+ },
+ "AI": {
+ "name": "أنغويلا"
+ },
+ "UY": {
+ "name": "أورغواي"
+ },
+ "UZ": {
+ "name": "أوزبكستان"
+ },
+ "UG": {
+ "name": "أوغندا"
+ },
+ "UA": {
+ "name": "أوكرانيا"
+ },
+ "IE": {
+ "name": "أيرلندا"
+ },
+ "IS": {
+ "name": "أيسلندا"
+ },
+ "ET": {
+ "name": "إثيوبيا"
+ },
+ "ES": {
+ "name": "إسبانيا"
+ },
+ "IL": {
+ "name": "إسرائيل"
+ },
+ "IR": {
+ "name": "إيران"
+ },
+ "IT": {
+ "name": "إيطاليا"
+ },
+ "PS": {
+ "name": "الأراضي الÙلسطينية"
+ },
+ "AR": {
+ "name": "الأرجنتين"
+ },
+ "JO": {
+ "name": "الأردن"
+ },
+ "IO": {
+ "name": "الإقليم البريطاني ÙÙŠ المحيط الهندي"
+ },
+ "EC": {
+ "name": "الإكوادور"
+ },
+ "AE": {
+ "name": "الإمارات العربية المتحدة"
+ },
+ "BS": {
+ "name": "الباهاما"
+ },
+ "BH": {
+ "name": "البحرين"
+ },
+ "BR": {
+ "name": "البرازيل"
+ },
+ "PT": {
+ "name": "البرتغال"
+ },
+ "BA": {
+ "name": "البوسنة والهرسك"
+ },
+ "GA": {
+ "name": "الجابون"
+ },
+ "ME": {
+ "name": "الجبل الأسود"
+ },
+ "DZ": {
+ "name": "الجزائر"
+ },
+ "DK": {
+ "name": "الدانمرك"
+ },
+ "CV": {
+ "name": "الرأس الأخضر"
+ },
+ "SV": {
+ "name": "السلÙادور"
+ },
+ "SN": {
+ "name": "السنغال"
+ },
+ "SD": {
+ "name": "السودان"
+ },
+ "SE": {
+ "name": "السويد"
+ },
+ "EH": {
+ "name": "الصحراء الغربية"
+ },
+ "SO": {
+ "name": "الصومال"
+ },
+ "CN": {
+ "name": "الصين"
+ },
+ "IQ": {
+ "name": "العراق"
+ },
+ "VA": {
+ "name": "الÙاتيكان"
+ },
+ "PH": {
+ "name": "الÙلبين"
+ },
+ "CM": {
+ "name": "الكاميرون"
+ },
+ "CG": {
+ "name": "الكونغو - برازاÙيل"
+ },
+ "CD": {
+ "name": "الكونغو - كينشاسا"
+ },
+ "KW": {
+ "name": "الكويت"
+ },
+ "MA": {
+ "name": "المغرب"
+ },
+ "TF": {
+ "name": "المقاطعات الجنوبية الÙرنسية"
+ },
+ "MX": {
+ "name": "المكسيك"
+ },
+ "SA": {
+ "name": "المملكة العربية السعودية"
+ },
+ "GB": {
+ "name": "المملكة المتحدة"
+ },
+ "NO": {
+ "name": "النرويج"
+ },
+ "AT": {
+ "name": "النمسا"
+ },
+ "NE": {
+ "name": "النيجر"
+ },
+ "IN": {
+ "name": "الهند"
+ },
+ "US": {
+ "name": "الولايات المتحدة"
+ },
+ "JP": {
+ "name": "اليابان"
+ },
+ "YE": {
+ "name": "اليمن"
+ },
+ "GR": {
+ "name": "اليونان"
+ },
+ "PG": {
+ "name": "بابوا غينيا الجديدة"
+ },
+ "PY": {
+ "name": "باراغواي"
+ },
+ "PK": {
+ "name": "باكستان"
+ },
+ "PW": {
+ "name": "بالاو"
+ },
+ "BW": {
+ "name": "بتسوانا"
+ },
+ "BB": {
+ "name": "بربادوس"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "بروناي"
+ },
+ "BE": {
+ "name": "بلجيكا"
+ },
+ "BG": {
+ "name": "بلغاريا"
+ },
+ "BZ": {
+ "name": "بليز"
+ },
+ "BD": {
+ "name": "بنجلاديش"
+ },
+ "PA": {
+ "name": "بنما"
+ },
+ "BJ": {
+ "name": "بنين"
+ },
+ "BT": {
+ "name": "بوتان"
+ },
+ "PR": {
+ "name": "بورتوريكو"
+ },
+ "BF": {
+ "name": "بوركينا Ùاسو"
+ },
+ "BI": {
+ "name": "بوروندي"
+ },
+ "PL": {
+ "name": "بولندا"
+ },
+ "BO": {
+ "name": "بوليÙيا"
+ },
+ "PF": {
+ "name": "بولينيزيا الÙرنسية"
+ },
+ "PE": {
+ "name": "بيرو"
+ },
+ "TZ": {
+ "name": "تانزانيا"
+ },
+ "TH": {
+ "name": "تايلاند"
+ },
+ "TW": {
+ "name": "تايوان"
+ },
+ "TM": {
+ "name": "تركمانستان"
+ },
+ "TR": {
+ "name": "تركيا"
+ },
+ "TA": {
+ "name": "تريستان دي كونها"
+ },
+ "TT": {
+ "name": "ترينيداد وتوباغو"
+ },
+ "TD": {
+ "name": "تشاد"
+ },
+ "TG": {
+ "name": "توجو"
+ },
+ "TV": {
+ "name": "توÙالو"
+ },
+ "TK": {
+ "name": "توكيلو"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TO": {
+ "name": "تونغا"
+ },
+ "TL": {
+ "name": "تيمور الشرقية"
+ },
+ "JM": {
+ "name": "جامايكا"
+ },
+ "GI": {
+ "name": "جبل طارق"
+ },
+ "AX": {
+ "name": "جزر آلاند"
+ },
+ "TC": {
+ "name": "جزر الترك وجايكوس"
+ },
+ "KM": {
+ "name": "جزر القمر"
+ },
+ "KY": {
+ "name": "جزر الكايمن"
+ },
+ "IC": {
+ "name": "جزر الكناري"
+ },
+ "MH": {
+ "name": "جزر المارشال"
+ },
+ "MV": {
+ "name": "جزر المالديÙ"
+ },
+ "UM": {
+ "name": "جزر الولايات المتحدة النائية"
+ },
+ "PN": {
+ "name": "جزر بيتكيرن"
+ },
+ "SB": {
+ "name": "جزر سليمان"
+ },
+ "FO": {
+ "name": "جزر Ùارو"
+ },
+ "VI": {
+ "name": "جزر Ùرجين الأمريكية"
+ },
+ "VG": {
+ "name": "جزر Ùرجين البريطانية"
+ },
+ "FK": {
+ "name": "جزر Ùوكلاند"
+ },
+ "CK": {
+ "name": "جزر كوك"
+ },
+ "CC": {
+ "name": "جزر كوكوس"
+ },
+ "MP": {
+ "name": "جزر ماريانا الشمالية"
+ },
+ "WF": {
+ "name": "جزر والس ÙˆÙوتونا"
+ },
+ "AC": {
+ "name": "جزيرة أسينشيون"
+ },
+ "CX": {
+ "name": "جزيرة الكريسماس"
+ },
+ "IM": {
+ "name": "جزيرة مان"
+ },
+ "NF": {
+ "name": "جزيرة نورÙوك"
+ },
+ "CF": {
+ "name": "جمهورية Ø£Ùريقيا الوسطى"
+ },
+ "CZ": {
+ "name": "جمهورية التشيك"
+ },
+ "DO": {
+ "name": "جمهورية الدومينيك"
+ },
+ "ZA": {
+ "name": "جنوب Ø£Ùريقيا"
+ },
+ "SS": {
+ "name": "جنوب السودان"
+ },
+ "GP": {
+ "name": "جوادلوب"
+ },
+ "GE": {
+ "name": "جورجيا"
+ },
+ "GS": {
+ "name": "جورجيا الجنوبية وجزر ساندويتش الجنوبية"
+ },
+ "DJ": {
+ "name": "جيبوتي"
+ },
+ "JE": {
+ "name": "جيرسي"
+ },
+ "DM": {
+ "name": "دومينيكا"
+ },
+ "DG": {
+ "name": "دييغو غارسيا"
+ },
+ "RW": {
+ "name": "رواندا"
+ },
+ "RU": {
+ "name": "روسيا"
+ },
+ "BY": {
+ "name": "روسيا البيضاء"
+ },
+ "RO": {
+ "name": "رومانيا"
+ },
+ "RE": {
+ "name": "روينيون"
+ },
+ "ZM": {
+ "name": "زامبيا"
+ },
+ "ZW": {
+ "name": "زيمبابوي"
+ },
+ "CI": {
+ "name": "ساحل العاج"
+ },
+ "WS": {
+ "name": "ساموا"
+ },
+ "AS": {
+ "name": "ساموا الأمريكية"
+ },
+ "BL": {
+ "name": "سان بارتليمي"
+ },
+ "SM": {
+ "name": "سان مارينو"
+ },
+ "PM": {
+ "name": "سانت بيير وميكولون"
+ },
+ "VC": {
+ "name": "سانت Ùنسنت وغرنادين"
+ },
+ "KN": {
+ "name": "سانت كيتس ونيÙيس"
+ },
+ "LC": {
+ "name": "سانت لوسيا"
+ },
+ "MF": {
+ "name": "سانت مارتن"
+ },
+ "SH": {
+ "name": "سانت هيلنا"
+ },
+ "ST": {
+ "name": "ساو تومي وبرينسيبي"
+ },
+ "LK": {
+ "name": "سريلانكا"
+ },
+ "SJ": {
+ "name": "سÙالبارد وجان مايان"
+ },
+ "SK": {
+ "name": "سلوÙاكيا"
+ },
+ "SI": {
+ "name": "سلوÙينيا"
+ },
+ "SG": {
+ "name": "سنغاÙورة"
+ },
+ "SZ": {
+ "name": "سوازيلاند"
+ },
+ "SY": {
+ "name": "سوريا"
+ },
+ "SR": {
+ "name": "سورينام"
+ },
+ "CH": {
+ "name": "سويسرا"
+ },
+ "SL": {
+ "name": "سيراليون"
+ },
+ "SC": {
+ "name": "سيشل"
+ },
+ "SX": {
+ "name": "سينت مارتن"
+ },
+ "EA": {
+ "name": "سيوتا وميليلا"
+ },
+ "CL": {
+ "name": "شيلي"
+ },
+ "RS": {
+ "name": "صربيا"
+ },
+ "TJ": {
+ "name": "طاجكستان"
+ },
+ "OM": {
+ "name": "عÙمان"
+ },
+ "GM": {
+ "name": "غامبيا"
+ },
+ "GH": {
+ "name": "غانا"
+ },
+ "GD": {
+ "name": "غرينادا"
+ },
+ "GL": {
+ "name": "غرينلاند"
+ },
+ "GT": {
+ "name": "غواتيمالا"
+ },
+ "GU": {
+ "name": "غوام"
+ },
+ "GF": {
+ "name": "غويانا الÙرنسية"
+ },
+ "GY": {
+ "name": "غيانا"
+ },
+ "GG": {
+ "name": "غيرنزي"
+ },
+ "GN": {
+ "name": "غينيا"
+ },
+ "GQ": {
+ "name": "غينيا الإستوائية"
+ },
+ "GW": {
+ "name": "غينيا بيساو"
+ },
+ "VU": {
+ "name": "Ùانواتو"
+ },
+ "FR": {
+ "name": "Ùرنسا"
+ },
+ "VE": {
+ "name": "Ùنزويلا"
+ },
+ "FI": {
+ "name": "Ùنلندا"
+ },
+ "VN": {
+ "name": "Ùيتنام"
+ },
+ "FJ": {
+ "name": "Ùيجي"
+ },
+ "CY": {
+ "name": "قبرص"
+ },
+ "KG": {
+ "name": "قرغيزستان"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "KZ": {
+ "name": "كازاخستان"
+ },
+ "NC": {
+ "name": "كاليدونيا الجديدة"
+ },
+ "HR": {
+ "name": "كرواتيا"
+ },
+ "KH": {
+ "name": "كمبوديا"
+ },
+ "CA": {
+ "name": "كندا"
+ },
+ "CU": {
+ "name": "كوبا"
+ },
+ "CW": {
+ "name": "كوراساو"
+ },
+ "KR": {
+ "name": "كوريا الجنوبية"
+ },
+ "KP": {
+ "name": "كوريا الشمالية"
+ },
+ "CR": {
+ "name": "كوستاريكا"
+ },
+ "XK": {
+ "name": "كوسوÙÙˆ"
+ },
+ "CO": {
+ "name": "كولومبيا"
+ },
+ "KI": {
+ "name": "كيريباتي"
+ },
+ "KE": {
+ "name": "كينيا"
+ },
+ "LV": {
+ "name": "لاتÙيا"
+ },
+ "LA": {
+ "name": "لاوس"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LU": {
+ "name": "لوكسمبورغ"
+ },
+ "LY": {
+ "name": "ليبيا"
+ },
+ "LR": {
+ "name": "ليبيريا"
+ },
+ "LT": {
+ "name": "ليتوانيا"
+ },
+ "LI": {
+ "name": "ليختنشتاين"
+ },
+ "LS": {
+ "name": "ليسوتو"
+ },
+ "MQ": {
+ "name": "مارتينيك"
+ },
+ "MT": {
+ "name": "مالطا"
+ },
+ "ML": {
+ "name": "مالي"
+ },
+ "MY": {
+ "name": "ماليزيا"
+ },
+ "YT": {
+ "name": "مايوت"
+ },
+ "MG": {
+ "name": "مدغشقر"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MK": {
+ "name": "مقدونيا"
+ },
+ "MO": {
+ "name": "مكاو الصينية (منطقة إدارية خاصة)"
+ },
+ "MW": {
+ "name": "ملاوي"
+ },
+ "MN": {
+ "name": "منغوليا"
+ },
+ "MR": {
+ "name": "موريتانيا"
+ },
+ "MU": {
+ "name": "موريشيوس"
+ },
+ "MZ": {
+ "name": "موزمبيق"
+ },
+ "MD": {
+ "name": "مولداÙيا"
+ },
+ "MC": {
+ "name": "موناكو"
+ },
+ "MS": {
+ "name": "مونتسرات"
+ },
+ "MM": {
+ "name": "ميانمار -بورما"
+ },
+ "FM": {
+ "name": "ميكرونيزيا"
+ },
+ "NA": {
+ "name": "ناميبيا"
+ },
+ "NR": {
+ "name": "ناورو"
+ },
+ "NP": {
+ "name": "نيبال"
+ },
+ "NG": {
+ "name": "نيجيريا"
+ },
+ "NI": {
+ "name": "نيكاراغوا"
+ },
+ "NZ": {
+ "name": "نيوزيلاندا"
+ },
+ "NU": {
+ "name": "نيوي"
+ },
+ "HT": {
+ "name": "هايتي"
+ },
+ "HN": {
+ "name": "هندوراس"
+ },
+ "HU": {
+ "name": "هنغاريا"
+ },
+ "NL": {
+ "name": "هولندا"
+ },
+ "BQ": {
+ "name": "هولندا الكاريبية"
+ },
+ "HK": {
+ "name": "هونغ كونغ الصينية"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/asa.json b/library/intl/resources/country/asa.json
new file mode 100644
index 000000000..ef6acc8aa
--- /dev/null
+++ b/library/intl/resources/country/asa.json
@@ -0,0 +1,761 @@
+{
+ "AZ": {
+ "name": "Adhabajani"
+ },
+ "ZA": {
+ "name": "Afrika Kuthini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aithlandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Authtralia"
+ },
+ "AT": {
+ "name": "Authtria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "BB": {
+ "name": "Babadothi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belaruthi"
+ },
+ "BZ": {
+ "name": "Belidhe"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bothnia na Hedhegovina"
+ },
+ "BW": {
+ "name": "Botthwana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafatho"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "ZM": {
+ "name": "Dhambia"
+ },
+ "ZW": {
+ "name": "Dhimbabwe"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Ethtonia"
+ },
+ "AE": {
+ "name": "Falme dha Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufarantha"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hithpania"
+ },
+ "HN": {
+ "name": "Hondurathi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IO": {
+ "name": "Ieneo la Uingeredha katika Bahari Hindi"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonethia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "IL": {
+ "name": "Ithraeli"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrathia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakithtani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizithtani"
+ },
+ "NF": {
+ "name": "Kithiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korathia"
+ },
+ "KP": {
+ "name": "Korea Kathkazini"
+ },
+ "KR": {
+ "name": "Korea Kuthini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kothtarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprothi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laothi"
+ },
+ "LU": {
+ "name": "Lathembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lethoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malethia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Mathedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mekthiko"
+ },
+ "FM": {
+ "name": "Mikronethia"
+ },
+ "EG": {
+ "name": "Mithri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Monttherrati"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MU": {
+ "name": "Morithi"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Mthumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NZ": {
+ "name": "Nyudhilandi"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakithtani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestina"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufarantha"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TZ": {
+ "name": "Tadhania"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikithtani"
+ },
+ "SM": {
+ "name": "Thamarino"
+ },
+ "WS": {
+ "name": "Thamoa"
+ },
+ "AS": {
+ "name": "Thamoa ya Marekani"
+ },
+ "SH": {
+ "name": "Thantahelena"
+ },
+ "KN": {
+ "name": "Thantakitdhi na Nevith"
+ },
+ "LC": {
+ "name": "Thantaluthia"
+ },
+ "PM": {
+ "name": "Thantapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Thantavithenti na Grenadini"
+ },
+ "ST": {
+ "name": "Thao Tome na Principe"
+ },
+ "SA": {
+ "name": "Thaudi"
+ },
+ "SN": {
+ "name": "Thenegali"
+ },
+ "SL": {
+ "name": "Thiera Leoni"
+ },
+ "SG": {
+ "name": "Thingapoo"
+ },
+ "SY": {
+ "name": "Thiria"
+ },
+ "LK": {
+ "name": "Thirilanka"
+ },
+ "SI": {
+ "name": "Thlovenia"
+ },
+ "SK": {
+ "name": "Tholvakia"
+ },
+ "SO": {
+ "name": "Thomalia"
+ },
+ "SD": {
+ "name": "Thudani"
+ },
+ "SR": {
+ "name": "Thurinamu"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunithia"
+ },
+ "TM": {
+ "name": "Turukimenithtani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "UZ": {
+ "name": "Udhibekithtani"
+ },
+ "FR": {
+ "name": "Ufarantha"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholandhi"
+ },
+ "GB": {
+ "name": "Uingeredha"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Uruthi"
+ },
+ "SZ": {
+ "name": "Uthwadhi"
+ },
+ "SE": {
+ "name": "Uthwidi"
+ },
+ "CH": {
+ "name": "Uthwithi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Vithiwa vya Cook"
+ },
+ "FK": {
+ "name": "Vithiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Vithiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Vithiwa vya Mariana vya Kathkazini"
+ },
+ "MH": {
+ "name": "Vithiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Vithiwa vya Tholomon"
+ },
+ "TC": {
+ "name": "Vithiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Vithiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Vithiwa vya Virgin vya Uingeredha"
+ },
+ "WF": {
+ "name": "Walith na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ast.json b/library/intl/resources/country/ast.json
new file mode 100644
index 000000000..ab9dc8b5d
--- /dev/null
+++ b/library/intl/resources/country/ast.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudita"
+ },
+ "HK": {
+ "name": "ARE China de Ḥong Kong"
+ },
+ "MO": {
+ "name": "ARE China de Macáu"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "DZ": {
+ "name": "Arxelia"
+ },
+ "AR": {
+ "name": "Arxentina"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaixán"
+ },
+ "BH": {
+ "name": "Baḥréin"
+ },
+ "BD": {
+ "name": "Bangladex"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BE": {
+ "name": "Bélxica"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabu Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CZ": {
+ "name": "Chequia"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "VA": {
+ "name": "Ciudá del Vaticanu"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "NE": {
+ "name": "El Níxer"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Xuníos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estaos Xuníos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "EG": {
+ "name": "Exiptu"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "PH": {
+ "name": "Filipines"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Francesa"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Hondures"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AC": {
+ "name": "Islla Ascensión"
+ },
+ "CX": {
+ "name": "Islla Christmas"
+ },
+ "IM": {
+ "name": "Islla de Man"
+ },
+ "NF": {
+ "name": "Islla Norfolk"
+ },
+ "AX": {
+ "name": "Islles Aland"
+ },
+ "KY": {
+ "name": "Islles Caimán"
+ },
+ "IC": {
+ "name": "Islles Canaries"
+ },
+ "CC": {
+ "name": "Islles Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Islles Cook"
+ },
+ "FO": {
+ "name": "Islles Feroe"
+ },
+ "FJ": {
+ "name": "Islles Fixi"
+ },
+ "MP": {
+ "name": "Islles Marianes del Norte"
+ },
+ "MH": {
+ "name": "Islles Marshall"
+ },
+ "UM": {
+ "name": "Islles Perifériques Menores de los EE.XX."
+ },
+ "PN": {
+ "name": "Islles Pitcairn"
+ },
+ "SB": {
+ "name": "Islles Salomón"
+ },
+ "TC": {
+ "name": "Islles Turques y Caicos"
+ },
+ "VI": {
+ "name": "Islles Vírxenes Americanes"
+ },
+ "VG": {
+ "name": "Islles Vírxenes Britániques"
+ },
+ "GS": {
+ "name": "Islles Xeorxa del Sur y Sandwich del Sur"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazakstán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "AQ": {
+ "name": "L’Antártida"
+ },
+ "MQ": {
+ "name": "La Martinica"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "BS": {
+ "name": "Les Bahames"
+ },
+ "BM": {
+ "name": "Les Bermudes"
+ },
+ "KM": {
+ "name": "Les Comores"
+ },
+ "MV": {
+ "name": "Les Maldives"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbanu"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgu"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "ML": {
+ "name": "Malí"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MU": {
+ "name": "Mauriciu"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónacu"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegru"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NG": {
+ "name": "Nixeria"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Baxos"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Paláu"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puertu Ricu"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "GB": {
+ "name": "Reinu Xuníu"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáḥara Occidental"
+ },
+ "KN": {
+ "name": "Saint Kitts y Nevis"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre y Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "SM": {
+ "name": "San Marín"
+ },
+ "VC": {
+ "name": "San Vicente y Granadines"
+ },
+ "LC": {
+ "name": "Santa Llucía"
+ },
+ "ST": {
+ "name": "Santu Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard ya Islla Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Taxiquistán"
+ },
+ "IO": {
+ "name": "Territoriu Británicu del Océanu Ãndicu"
+ },
+ "TF": {
+ "name": "Tierres Australes Franceses"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokeláu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidá y Tobagu"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Tunicia"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucraína"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbequistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "JM": {
+ "name": "Xamaica"
+ },
+ "JP": {
+ "name": "Xapón"
+ },
+ "GE": {
+ "name": "Xeorxa"
+ },
+ "GI": {
+ "name": "Xibraltar"
+ },
+ "CY": {
+ "name": "Xipre"
+ },
+ "JO": {
+ "name": "Xordania"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/az.json b/library/intl/resources/country/az.json
new file mode 100644
index 000000000..98906a92a
--- /dev/null
+++ b/library/intl/resources/country/az.json
@@ -0,0 +1,761 @@
+{
+ "VI": {
+ "name": "ABŞ Vircin Adaları"
+ },
+ "AX": {
+ "name": "Aland Adaları"
+ },
+ "AL": {
+ "name": "Albaniya"
+ },
+ "DE": {
+ "name": "Almaniya"
+ },
+ "US": {
+ "name": "Amerika Birləşmiş Ştatları"
+ },
+ "AS": {
+ "name": "Amerika Samoası"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Angila"
+ },
+ "AO": {
+ "name": "Anqola"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antiqua vÉ™ Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Avstraliya"
+ },
+ "AT": {
+ "name": "Avstriya"
+ },
+ "AZ": {
+ "name": "Azərbaycan"
+ },
+ "BS": {
+ "name": "Baham Adaları"
+ },
+ "BD": {
+ "name": "BanqladeÅŸ"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belçika"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BH": {
+ "name": "Bəhreyn"
+ },
+ "AE": {
+ "name": "BirləşmiÅŸ ÆrÉ™b ÆmirliklÉ™ri"
+ },
+ "GB": {
+ "name": "Birləşmiş Krallıq"
+ },
+ "UM": {
+ "name": "Birləşmiş Ştatlar Uzaq Adalar"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BG": {
+ "name": "Bolqariya"
+ },
+ "BA": {
+ "name": "Bosniya vÉ™ Hersoqovina"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BR": {
+ "name": "Braziliya"
+ },
+ "IO": {
+ "name": "Britaniya Hind Okeanı Ærazisi"
+ },
+ "VG": {
+ "name": "Britaniya Vircin Adaları"
+ },
+ "BN": {
+ "name": "Bruney"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "JE": {
+ "name": "Cersi"
+ },
+ "ZA": {
+ "name": "Cənub Afrika"
+ },
+ "GS": {
+ "name": "Cənubi Corciya və Cənubi Sendviç Adaları"
+ },
+ "KR": {
+ "name": "Cənubi Koreya"
+ },
+ "SS": {
+ "name": "Cənubi Sudan"
+ },
+ "DJ": {
+ "name": "Cibuti"
+ },
+ "TD": {
+ "name": "Çad"
+ },
+ "CZ": {
+ "name": "Çexiya"
+ },
+ "CL": {
+ "name": "Çili"
+ },
+ "CN": {
+ "name": "Çin"
+ },
+ "DK": {
+ "name": "Danimarka"
+ },
+ "DG": {
+ "name": "Dieqo Qarsiya"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikan Respublikası"
+ },
+ "ET": {
+ "name": "Efiopiya"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorial Qvineya"
+ },
+ "ER": {
+ "name": "Eritreya"
+ },
+ "AM": {
+ "name": "Ermənistan"
+ },
+ "EE": {
+ "name": "Estoniya"
+ },
+ "AF": {
+ "name": "Æfqanıstan"
+ },
+ "DZ": {
+ "name": "ÆlcÉ™zair"
+ },
+ "FO": {
+ "name": "Farer Adaları"
+ },
+ "PS": {
+ "name": "FÉ™lÉ™stin ÆrazilÉ™ri"
+ },
+ "FJ": {
+ "name": "Fici"
+ },
+ "CI": {
+ "name": "Fil DiÅŸi Sahili"
+ },
+ "PH": {
+ "name": "Filippin"
+ },
+ "FI": {
+ "name": "Finlandiya"
+ },
+ "FK": {
+ "name": "Folklend Adaları"
+ },
+ "FR": {
+ "name": "Fransa"
+ },
+ "TF": {
+ "name": "Fransa CÉ™nub ÆrazilÉ™ri"
+ },
+ "GF": {
+ "name": "Fransız Qviyanası"
+ },
+ "PF": {
+ "name": "Fransız Polineziyası"
+ },
+ "GG": {
+ "name": "Gernsey"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GE": {
+ "name": "Gürcüstan"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "IN": {
+ "name": "Hindistan"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Honq Konq Xüsusi Ä°nzibati Ærazi Çin"
+ },
+ "HR": {
+ "name": "Xorvatiya"
+ },
+ "ID": {
+ "name": "Ä°ndoneziya"
+ },
+ "JO": {
+ "name": "Ä°ordaniya"
+ },
+ "IQ": {
+ "name": "Ä°raq"
+ },
+ "IR": {
+ "name": "Ä°ran"
+ },
+ "IE": {
+ "name": "Ä°rlandiya"
+ },
+ "IS": {
+ "name": "Ä°slandiya"
+ },
+ "ES": {
+ "name": "Ä°spaniya"
+ },
+ "IL": {
+ "name": "Ä°srail"
+ },
+ "SE": {
+ "name": "İsveç"
+ },
+ "CH": {
+ "name": "İsveçrə"
+ },
+ "IT": {
+ "name": "Ä°taliya"
+ },
+ "KH": {
+ "name": "Kamboca"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanar Adaları"
+ },
+ "CV": {
+ "name": "Kape Verde"
+ },
+ "BQ": {
+ "name": "Karib Niderlandı"
+ },
+ "KY": {
+ "name": "Kayman Adaları"
+ },
+ "KE": {
+ "name": "Keniya"
+ },
+ "CY": {
+ "name": "Kipr"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokos Adaları"
+ },
+ "CO": {
+ "name": "Kolumbiya"
+ },
+ "KM": {
+ "name": "Komor Adaları"
+ },
+ "CG": {
+ "name": "Konqo - Brazzavil"
+ },
+ "CD": {
+ "name": "Konqo - KinÅŸasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuk Adaları"
+ },
+ "CW": {
+ "name": "Kurasao"
+ },
+ "KW": {
+ "name": "Küveyt"
+ },
+ "GA": {
+ "name": "Qabon"
+ },
+ "GM": {
+ "name": "Qambiya"
+ },
+ "GH": {
+ "name": "Qana"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "KZ": {
+ "name": "Qazaxıstan"
+ },
+ "EH": {
+ "name": "Qərbi Sahara"
+ },
+ "KG": {
+ "name": "Qırğızıstan"
+ },
+ "GD": {
+ "name": "Qrenada"
+ },
+ "GL": {
+ "name": "Qrenlandiya"
+ },
+ "GU": {
+ "name": "Quam"
+ },
+ "GP": {
+ "name": "Qvadelupa"
+ },
+ "GT": {
+ "name": "Qvatemala"
+ },
+ "GN": {
+ "name": "Qvineya"
+ },
+ "GW": {
+ "name": "Qvineya-Bisau"
+ },
+ "GY": {
+ "name": "Qviyana"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latviya"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LI": {
+ "name": "LixtenÅŸteyn"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LB": {
+ "name": "Livan"
+ },
+ "LY": {
+ "name": "Liviya"
+ },
+ "LU": {
+ "name": "Lüksemburq"
+ },
+ "HU": {
+ "name": "Macarıstan"
+ },
+ "MG": {
+ "name": "Madaqaskar"
+ },
+ "MO": {
+ "name": "Makao Xüsusi Ä°nzibati Ærazi Çin"
+ },
+ "MK": {
+ "name": "Makedoniya"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MY": {
+ "name": "Malayziya"
+ },
+ "MV": {
+ "name": "Maldiv Adaları"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marşal Adaları"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mavriki"
+ },
+ "MR": {
+ "name": "Mavritaniya"
+ },
+ "YT": {
+ "name": "Mayot"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "IM": {
+ "name": "Men Adası"
+ },
+ "MA": {
+ "name": "Mərakeş"
+ },
+ "CF": {
+ "name": "Mərkəzi Afrika Respublikası"
+ },
+ "FM": {
+ "name": "Mikroneziya"
+ },
+ "CX": {
+ "name": "Milad Adası"
+ },
+ "EG": {
+ "name": "Misir"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Monqoliya"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "ME": {
+ "name": "Monteneqro"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "SH": {
+ "name": "Müqəddəs Yelena"
+ },
+ "MM": {
+ "name": "Myanma"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Niderland"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeriya"
+ },
+ "NI": {
+ "name": "Nikaraqua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Adası"
+ },
+ "NO": {
+ "name": "Norveç"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UZ": {
+ "name": "Özbəkistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Yeni Qvineya"
+ },
+ "PY": {
+ "name": "Paraqvay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern Adaları"
+ },
+ "PL": {
+ "name": "PolÅŸa"
+ },
+ "PT": {
+ "name": "Portuqal"
+ },
+ "PR": {
+ "name": "Puerto Riko"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumıniya"
+ },
+ "RU": {
+ "name": "Rusiya"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "BL": {
+ "name": "San Bartolomey"
+ },
+ "KN": {
+ "name": "San Kits vÉ™ Nevis"
+ },
+ "LC": {
+ "name": "San Lüsiya"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martin"
+ },
+ "PM": {
+ "name": "San Pier vÉ™ Mikelon"
+ },
+ "VC": {
+ "name": "San Vinsent vÉ™ Qrenada"
+ },
+ "ST": {
+ "name": "Sao Tome vÉ™ Prinsip"
+ },
+ "SN": {
+ "name": "Seneqal"
+ },
+ "RS": {
+ "name": "Serbiya"
+ },
+ "EA": {
+ "name": "Seuta vÉ™ Melilya"
+ },
+ "SC": {
+ "name": "Seyşel Adaları"
+ },
+ "SA": {
+ "name": "SÉ™udiyyÉ™ ÆrÉ™bistanı"
+ },
+ "SL": {
+ "name": "Siera Leon"
+ },
+ "SG": {
+ "name": "Sinqapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakiya"
+ },
+ "SI": {
+ "name": "Sloveniya"
+ },
+ "SB": {
+ "name": "Solomon Adaları"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SY": {
+ "name": "Suriya"
+ },
+ "SJ": {
+ "name": "Svalbard vÉ™ Yan Mayen"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "TL": {
+ "name": "Şərqi Timor"
+ },
+ "KP": {
+ "name": "Åžimali Koreya"
+ },
+ "MP": {
+ "name": "Şimali Mariana Adaları"
+ },
+ "LK": {
+ "name": "Åžri Lanka"
+ },
+ "TJ": {
+ "name": "Tacikistan"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TH": {
+ "name": "Tayland"
+ },
+ "TW": {
+ "name": "Tayvan"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TG": {
+ "name": "Toqo"
+ },
+ "TO": {
+ "name": "Tonqa"
+ },
+ "TT": {
+ "name": "Trinidad vÉ™ Tobaqo"
+ },
+ "TA": {
+ "name": "Tristan da Kunya"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TC": {
+ "name": "Turks və Kaikos Adaları"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Türkiya"
+ },
+ "TM": {
+ "name": "Türkmənistan"
+ },
+ "UA": {
+ "name": "Ukrayna"
+ },
+ "UG": {
+ "name": "Uqanda"
+ },
+ "WF": {
+ "name": "Uolis vÉ™ Futuna"
+ },
+ "UY": {
+ "name": "Uruqvay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "VN": {
+ "name": "Vyetnam"
+ },
+ "JM": {
+ "name": "Yamayka"
+ },
+ "JP": {
+ "name": "Yaponiya"
+ },
+ "NC": {
+ "name": "Yeni Kaledoniya"
+ },
+ "NZ": {
+ "name": "Yeni Zelandiya"
+ },
+ "YE": {
+ "name": "Yəmən"
+ },
+ "GR": {
+ "name": "Yunanıstan"
+ },
+ "AC": {
+ "name": "Yüksəliş Adası"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/bas.json b/library/intl/resources/country/bas.json
new file mode 100644
index 000000000..4c7ff3212
--- /dev/null
+++ b/library/intl/resources/country/bas.json
@@ -0,0 +1,761 @@
+{
+ "US": {
+ "name": "Àdnà i Bilɔ̀ŋ bi Amerkà"
+ },
+ "AE": {
+ "name": "Àdnà i Bilɔ̀ŋ bi ArÄbìà"
+ },
+ "GB": {
+ "name": "Àdnà i Lɔ̂ŋ"
+ },
+ "AF": {
+ "name": "Àfgànìstâŋ"
+ },
+ "ZA": {
+ "name": "ÀfrÇkà Sɔ̀"
+ },
+ "HT": {
+ "name": "Àitì"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Àlbanìà"
+ },
+ "DZ": {
+ "name": "Àlgerìà"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AD": {
+ "name": "Àŋdɔ̂r"
+ },
+ "AI": {
+ "name": "Àŋgiyà"
+ },
+ "AO": {
+ "name": "Àŋgolà"
+ },
+ "AG": {
+ "name": "Àŋtigà ɓɔ Bàrbudà"
+ },
+ "AR": {
+ "name": "Àrgàŋtinà"
+ },
+ "AM": {
+ "name": "Àrmenìà"
+ },
+ "AW": {
+ "name": "Àrubà"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Àzɛ̀rbajàŋ"
+ },
+ "BS": {
+ "name": "Bàhamàs"
+ },
+ "BD": {
+ "name": "Bàŋglàdɛ̂s"
+ },
+ "BH": {
+ "name": "Bàraìn"
+ },
+ "BB": {
+ "name": "Bàrbadò"
+ },
+ "BY": {
+ "name": "Bèlarùs"
+ },
+ "BZ": {
+ "name": "Bèlîs"
+ },
+ "BJ": {
+ "name": "Bènɛ̂ŋ"
+ },
+ "BE": {
+ "name": "Bɛlgyùm"
+ },
+ "BM": {
+ "name": "Bɛ̀rmudà"
+ },
+ "FK": {
+ "name": "Bìòn bi Falkland"
+ },
+ "KY": {
+ "name": "Bìòn bi Kaymàn"
+ },
+ "CK": {
+ "name": "Bìòn bi Kook"
+ },
+ "VG": {
+ "name": "Bìòn bi kɔnji bi Ŋgisì"
+ },
+ "VI": {
+ "name": "Bìòn bi kɔnji bi U.S."
+ },
+ "MH": {
+ "name": "Bìòn bi Marcàl"
+ },
+ "MP": {
+ "name": "Bìòn bi Marìanà ŋ̀ɔmbɔk"
+ },
+ "SB": {
+ "name": "Bìòn bi SalÅmò"
+ },
+ "TC": {
+ "name": "Bìòn bi Tûrks nì Kalkòs"
+ },
+ "IO": {
+ "name": "Bìtèk bi Ŋgisì i Tūyɛ Īndìà"
+ },
+ "BW": {
+ "name": "Bòdsùanà"
+ },
+ "BA": {
+ "name": "Bòhnià Ærzègòvinà"
+ },
+ "BO": {
+ "name": "Bòlivìà"
+ },
+ "BR": {
+ "name": "Bràsîl"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bùlgarìà"
+ },
+ "BF": {
+ "name": "Bùrkìnà Fasò"
+ },
+ "BI": {
+ "name": "Bùrundì"
+ },
+ "BT": {
+ "name": "Bùtân"
+ },
+ "TD": {
+ "name": "Câd"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Dànmârk"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dòmnîk"
+ },
+ "DO": {
+ "name": "Dòmnikà"
+ },
+ "EG": {
+ "name": "Ègîptò"
+ },
+ "EC": {
+ "name": "Èkwàtorìà"
+ },
+ "ER": {
+ "name": "Èrìtrěà"
+ },
+ "EE": {
+ "name": "Èstonìà"
+ },
+ "ET": {
+ "name": "Ètìopìà"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Fìlìpîn"
+ },
+ "FI": {
+ "name": "Fìnlând"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gàbɔ̂ŋ"
+ },
+ "GM": {
+ "name": "Gàmbià"
+ },
+ "GH": {
+ "name": "Ganà"
+ },
+ "GE": {
+ "name": "Gèɔrgìà"
+ },
+ "GI": {
+ "name": "Gìlbràtâr"
+ },
+ "GN": {
+ "name": "Gìnê"
+ },
+ "GW": {
+ "name": "Gìne Bìsàô"
+ },
+ "GQ": {
+ "name": "Gìne Èkwàtorìà"
+ },
+ "PG": {
+ "name": "Gìne ì Pàpu"
+ },
+ "GD": {
+ "name": "Grènadà"
+ },
+ "GR": {
+ "name": "GrÇkyà"
+ },
+ "GL": {
+ "name": "GrÇnlànd"
+ },
+ "GU": {
+ "name": "Gùâm"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Gùyanà"
+ },
+ "GF": {
+ "name": "Gùyanà Pùlàsi"
+ },
+ "GP": {
+ "name": "Gwàdèlûp"
+ },
+ "GT": {
+ "name": "Gwàtèmalà"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IN": {
+ "name": "Indìà"
+ },
+ "ID": {
+ "name": "Indònèsià"
+ },
+ "IQ": {
+ "name": "Ìrâk"
+ },
+ "IR": {
+ "name": "Ìrâŋ"
+ },
+ "IE": {
+ "name": "Ìrlând"
+ },
+ "IS": {
+ "name": "Ìslandìà"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Isràɛ̂l"
+ },
+ "IT": {
+ "name": "Ìtalìà"
+ },
+ "JM": {
+ "name": "Jàmàikà"
+ },
+ "DE": {
+ "name": "Jamân"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jìbutì"
+ },
+ "CV": {
+ "name": "Kabwɛ᷆r"
+ },
+ "NC": {
+ "name": "Kàlèdonìà Yɔ̀ndɔ"
+ },
+ "KH": {
+ "name": "Kàmbodìà"
+ },
+ "CM": {
+ "name": "Kàmɛ̀rûn"
+ },
+ "CA": {
+ "name": "Kànadà"
+ },
+ "QA": {
+ "name": "Kàtâr"
+ },
+ "KZ": {
+ "name": "Kàzàkstâŋ"
+ },
+ "KE": {
+ "name": "Kenìà"
+ },
+ "CL": {
+ "name": "Kìlî"
+ },
+ "CN": {
+ "name": "Kinà"
+ },
+ "CY": {
+ "name": "Kiprò"
+ },
+ "KG": {
+ "name": "Kìrgìzìstàŋ"
+ },
+ "KI": {
+ "name": "Kìrìbatì"
+ },
+ "CG": {
+ "name": "Kòŋgo"
+ },
+ "CD": {
+ "name": "Kòŋgo ìkɛŋi"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kòstà Rikà"
+ },
+ "KW": {
+ "name": "Kòwêt"
+ },
+ "CO": {
+ "name": "Kɔ̀lɔmbìà"
+ },
+ "KM": {
+ "name": "Kɔ̀mɔ̂r"
+ },
+ "KP": {
+ "name": "Kɔ̀re ì Ŋ̀ɔmbɔk"
+ },
+ "KR": {
+ "name": "Kɔ̀re ì Ŋ̀wɛ̀lmbɔk"
+ },
+ "HR": {
+ "name": "Kròasìà"
+ },
+ "CU": {
+ "name": "Kubà"
+ },
+ "LV": {
+ "name": "Làdvià"
+ },
+ "LA": {
+ "name": "Làôs"
+ },
+ "LB": {
+ "name": "Lèbanòn"
+ },
+ "LS": {
+ "name": "Lesòtò"
+ },
+ "LR": {
+ "name": "Lìberìà"
+ },
+ "LY": {
+ "name": "Libìà"
+ },
+ "LI": {
+ "name": "Ligstɛntàn"
+ },
+ "LT": {
+ "name": "Lìtùanìà"
+ },
+ "LU": {
+ "name": "Lùgsàmbûr"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Màdàgàskâr"
+ },
+ "MW": {
+ "name": "Màlàwi"
+ },
+ "MV": {
+ "name": "Màldîf"
+ },
+ "MY": {
+ "name": "Màlɛ̀sìà"
+ },
+ "ML": {
+ "name": "Màli"
+ },
+ "MT": {
+ "name": "Maltà"
+ },
+ "CI": {
+ "name": "Màŋ mi Njɔ̂k"
+ },
+ "MA": {
+ "name": "Màrokò"
+ },
+ "MQ": {
+ "name": "Màrtìnîk"
+ },
+ "MK": {
+ "name": "Màsèdonìà"
+ },
+ "YT": {
+ "name": "Màyɔ̂t"
+ },
+ "MX": {
+ "name": "Mɛ̀gsîk"
+ },
+ "FM": {
+ "name": "Mìkrònesìà"
+ },
+ "MD": {
+ "name": "Moldavìà"
+ },
+ "MC": {
+ "name": "Mònakò"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MN": {
+ "name": "Mòŋgolìà"
+ },
+ "MU": {
+ "name": "Mòrîs"
+ },
+ "MR": {
+ "name": "Mòrìtanìà"
+ },
+ "MZ": {
+ "name": "Mòsàmbîk"
+ },
+ "MS": {
+ "name": "Mɔ̀ŋseràt"
+ },
+ "MM": {
+ "name": "Myànmâr"
+ },
+ "NA": {
+ "name": "Nàmibìà"
+ },
+ "NP": {
+ "name": "Nèpâl"
+ },
+ "NR": {
+ "name": "Nerù"
+ },
+ "NG": {
+ "name": "Nìgerìà"
+ },
+ "NE": {
+ "name": "Nìjɛ̂r"
+ },
+ "NI": {
+ "name": "Nìkàragwà"
+ },
+ "NU": {
+ "name": "Nìuɛ̀"
+ },
+ "NL": {
+ "name": "Ǹlɛndi"
+ },
+ "NO": {
+ "name": "Nɔ̀rvegìà"
+ },
+ "SH": {
+ "name": "Nûmpubi ÆlÄ“nà"
+ },
+ "KN": {
+ "name": "Nûmpubi Kîts nì Nevìs"
+ },
+ "LC": {
+ "name": "Nûmpubi Lusì"
+ },
+ "SM": {
+ "name": "Nûmpubi MÄatìn"
+ },
+ "PM": {
+ "name": "Nûmpubi Petrò nì Mikèlôn"
+ },
+ "VC": {
+ "name": "Nûmpubi Vɛ̂ŋsâŋ nì grènàdîn"
+ },
+ "CF": {
+ "name": "Ŋ̀ɛm Afrīkà"
+ },
+ "OM": {
+ "name": "Òmân"
+ },
+ "NF": {
+ "name": "Òn i Nɔrfɔ̂k"
+ },
+ "AU": {
+ "name": "Òstralìà"
+ },
+ "AT": {
+ "name": "Ã’strÇk"
+ },
+ "HN": {
+ "name": "Ɔ̀ŋduràs"
+ },
+ "HU": {
+ "name": "Ɔ̀ŋgriì"
+ },
+ "PK": {
+ "name": "Pàkìstân"
+ },
+ "PW": {
+ "name": "Pàlaù"
+ },
+ "PS": {
+ "name": "Pàlɛ̀htinà Hyɔ̀ŋg nì Gazà"
+ },
+ "PA": {
+ "name": "Pànàma"
+ },
+ "ES": {
+ "name": "Pànya"
+ },
+ "PY": {
+ "name": "Pàràgwê"
+ },
+ "PE": {
+ "name": "Pèrû"
+ },
+ "PN": {
+ "name": "Pìdkaìrn"
+ },
+ "PL": {
+ "name": "Pòlànd"
+ },
+ "PF": {
+ "name": "Pòlìnesìà Pùlàsi"
+ },
+ "PR": {
+ "name": "Pɔ̀rtò Rikò"
+ },
+ "PT": {
+ "name": "Pɔ̀tɔkì"
+ },
+ "FR": {
+ "name": "Pùlàsi \/ Fɛ̀lɛ̀nsi \/"
+ },
+ "RE": {
+ "name": "Rèunyɔ̂ŋ"
+ },
+ "RW": {
+ "name": "Rùandà"
+ },
+ "RO": {
+ "name": "Rùmanìà"
+ },
+ "RU": {
+ "name": "Ruslànd"
+ },
+ "SV": {
+ "name": "Sàlvàdɔ̂r"
+ },
+ "WS": {
+ "name": "Sàmoà"
+ },
+ "ST": {
+ "name": "Sào Tòme ɓɔ Prɛ̀ŋcipè"
+ },
+ "SA": {
+ "name": "Sàudi Àrabìà"
+ },
+ "SN": {
+ "name": "Sènègâl"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sèsɛ̂l"
+ },
+ "SL": {
+ "name": "Sièra Lèɔ̂n"
+ },
+ "NZ": {
+ "name": "Sìlând Yɔ̀ndɔ"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SG": {
+ "name": "Sìŋgàpûr"
+ },
+ "SY": {
+ "name": "Sirìà"
+ },
+ "SK": {
+ "name": "Slòvakìà"
+ },
+ "SI": {
+ "name": "Slòvanìà"
+ },
+ "SO": {
+ "name": "Sòmalìà"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srìlaŋkà"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sùdâŋ"
+ },
+ "SR": {
+ "name": "Sùrinâm"
+ },
+ "CH": {
+ "name": "Sùwîs"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swàzìlând"
+ },
+ "SE": {
+ "name": "Swedɛ̀n"
+ },
+ "TJ": {
+ "name": "Tàjìkìstaŋ"
+ },
+ "TZ": {
+ "name": "Tànzànià"
+ },
+ "TH": {
+ "name": "Taylànd"
+ },
+ "TW": {
+ "name": "Tàywân"
+ },
+ "TL": {
+ "name": "Tìmɔ̂r lìkòl"
+ },
+ "TG": {
+ "name": "Tògo"
+ },
+ "TK": {
+ "name": "Tòkèlaò"
+ },
+ "TO": {
+ "name": "Tɔŋgà"
+ },
+ "TT": {
+ "name": "Trìnidàd ɓɔ Tòbagò"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tùnisìà"
+ },
+ "TM": {
+ "name": "Tùrgmènìstân"
+ },
+ "TR": {
+ "name": "Tùrkây"
+ },
+ "TV": {
+ "name": "Tùvàlù"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Ùgandà"
+ },
+ "UA": {
+ "name": "Ùkrɛ̌n"
+ },
+ "UY": {
+ "name": "Ùrùgwêy"
+ },
+ "UZ": {
+ "name": "Ùzbèkìstân"
+ },
+ "VU": {
+ "name": "Vànùatù"
+ },
+ "VA": {
+ "name": "Vàtìkâŋ"
+ },
+ "VE": {
+ "name": "Vènèzùelà"
+ },
+ "VN": {
+ "name": "Vìɛ̀dnâm"
+ },
+ "WF": {
+ "name": "Wàlîs nì Fùtunà"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yèmɛ̂n"
+ },
+ "JO": {
+ "name": "Yɔ̀rdanià"
+ },
+ "ZM": {
+ "name": "Zàmbià"
+ },
+ "ZW": {
+ "name": "Zìmbàbwê"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/base.json b/library/intl/resources/country/base.json
new file mode 100644
index 000000000..20100624b
--- /dev/null
+++ b/library/intl/resources/country/base.json
@@ -0,0 +1,1511 @@
+{
+ "AC": {
+ "code": "AC",
+ "three_letter_code": "ASC",
+ "telephone_code": "247"
+ },
+ "AD": {
+ "code": "AD",
+ "three_letter_code": "AND",
+ "numeric_code": "020",
+ "telephone_code": "376"
+ },
+ "AE": {
+ "code": "AE",
+ "three_letter_code": "ARE",
+ "numeric_code": "784",
+ "telephone_code": "971"
+ },
+ "AF": {
+ "code": "AF",
+ "three_letter_code": "AFG",
+ "numeric_code": "004",
+ "telephone_code": "93"
+ },
+ "AG": {
+ "code": "AG",
+ "three_letter_code": "ATG",
+ "numeric_code": "028",
+ "telephone_code": "1"
+ },
+ "AI": {
+ "code": "AI",
+ "three_letter_code": "AIA",
+ "numeric_code": "660",
+ "telephone_code": "1"
+ },
+ "AL": {
+ "code": "AL",
+ "three_letter_code": "ALB",
+ "numeric_code": "008",
+ "telephone_code": "355"
+ },
+ "AM": {
+ "code": "AM",
+ "three_letter_code": "ARM",
+ "numeric_code": "051",
+ "telephone_code": "374"
+ },
+ "AO": {
+ "code": "AO",
+ "three_letter_code": "AGO",
+ "numeric_code": "024",
+ "telephone_code": "244"
+ },
+ "AQ": {
+ "code": "AQ",
+ "three_letter_code": "ATA",
+ "numeric_code": "010",
+ "telephone_code": "672"
+ },
+ "AR": {
+ "code": "AR",
+ "three_letter_code": "ARG",
+ "numeric_code": "032",
+ "telephone_code": "54"
+ },
+ "AS": {
+ "code": "AS",
+ "three_letter_code": "ASM",
+ "numeric_code": "016",
+ "telephone_code": "1"
+ },
+ "AT": {
+ "code": "AT",
+ "three_letter_code": "AUT",
+ "numeric_code": "040",
+ "telephone_code": "43"
+ },
+ "AU": {
+ "code": "AU",
+ "three_letter_code": "AUS",
+ "numeric_code": "036",
+ "telephone_code": "61"
+ },
+ "AW": {
+ "code": "AW",
+ "three_letter_code": "ABW",
+ "numeric_code": "533",
+ "telephone_code": "297"
+ },
+ "AX": {
+ "code": "AX",
+ "three_letter_code": "ALA",
+ "numeric_code": "248",
+ "telephone_code": "358"
+ },
+ "AZ": {
+ "code": "AZ",
+ "three_letter_code": "AZE",
+ "numeric_code": "031",
+ "telephone_code": "994"
+ },
+ "BA": {
+ "code": "BA",
+ "three_letter_code": "BIH",
+ "numeric_code": "070",
+ "telephone_code": "387"
+ },
+ "BB": {
+ "code": "BB",
+ "three_letter_code": "BRB",
+ "numeric_code": "052",
+ "telephone_code": "1"
+ },
+ "BD": {
+ "code": "BD",
+ "three_letter_code": "BGD",
+ "numeric_code": "050",
+ "telephone_code": "880"
+ },
+ "BE": {
+ "code": "BE",
+ "three_letter_code": "BEL",
+ "numeric_code": "056",
+ "telephone_code": "32"
+ },
+ "BF": {
+ "code": "BF",
+ "three_letter_code": "BFA",
+ "numeric_code": "854",
+ "telephone_code": "226"
+ },
+ "BG": {
+ "code": "BG",
+ "three_letter_code": "BGR",
+ "numeric_code": "100",
+ "telephone_code": "359"
+ },
+ "BH": {
+ "code": "BH",
+ "three_letter_code": "BHR",
+ "numeric_code": "048",
+ "telephone_code": "973"
+ },
+ "BI": {
+ "code": "BI",
+ "three_letter_code": "BDI",
+ "numeric_code": "108",
+ "telephone_code": "257"
+ },
+ "BJ": {
+ "code": "BJ",
+ "three_letter_code": "BEN",
+ "numeric_code": "204",
+ "telephone_code": "229"
+ },
+ "BL": {
+ "code": "BL",
+ "three_letter_code": "BLM",
+ "numeric_code": "652",
+ "telephone_code": "590"
+ },
+ "BM": {
+ "code": "BM",
+ "three_letter_code": "BMU",
+ "numeric_code": "060",
+ "telephone_code": "1"
+ },
+ "BN": {
+ "code": "BN",
+ "three_letter_code": "BRN",
+ "numeric_code": "096",
+ "telephone_code": "673"
+ },
+ "BO": {
+ "code": "BO",
+ "three_letter_code": "BOL",
+ "numeric_code": "068",
+ "telephone_code": "591"
+ },
+ "BQ": {
+ "code": "BQ",
+ "three_letter_code": "BES",
+ "numeric_code": "535",
+ "telephone_code": "599"
+ },
+ "BR": {
+ "code": "BR",
+ "three_letter_code": "BRA",
+ "numeric_code": "076",
+ "telephone_code": "55"
+ },
+ "BS": {
+ "code": "BS",
+ "three_letter_code": "BHS",
+ "numeric_code": "044",
+ "telephone_code": "1"
+ },
+ "BT": {
+ "code": "BT",
+ "three_letter_code": "BTN",
+ "numeric_code": "064",
+ "telephone_code": "975"
+ },
+ "BW": {
+ "code": "BW",
+ "three_letter_code": "BWA",
+ "numeric_code": "072",
+ "telephone_code": "267"
+ },
+ "BY": {
+ "code": "BY",
+ "three_letter_code": "BLR",
+ "numeric_code": "112",
+ "telephone_code": "375"
+ },
+ "BZ": {
+ "code": "BZ",
+ "three_letter_code": "BLZ",
+ "numeric_code": "084",
+ "telephone_code": "501"
+ },
+ "CA": {
+ "code": "CA",
+ "three_letter_code": "CAN",
+ "numeric_code": "124",
+ "telephone_code": "1"
+ },
+ "CC": {
+ "code": "CC",
+ "three_letter_code": "CCK",
+ "numeric_code": "166",
+ "telephone_code": "61"
+ },
+ "CD": {
+ "code": "CD",
+ "three_letter_code": "COD",
+ "numeric_code": "180",
+ "telephone_code": "243"
+ },
+ "CF": {
+ "code": "CF",
+ "three_letter_code": "CAF",
+ "numeric_code": "140",
+ "telephone_code": "236"
+ },
+ "CG": {
+ "code": "CG",
+ "three_letter_code": "COG",
+ "numeric_code": "178",
+ "telephone_code": "242"
+ },
+ "CH": {
+ "code": "CH",
+ "three_letter_code": "CHE",
+ "numeric_code": "756",
+ "telephone_code": "41"
+ },
+ "CI": {
+ "code": "CI",
+ "three_letter_code": "CIV",
+ "numeric_code": "384",
+ "telephone_code": "225"
+ },
+ "CK": {
+ "code": "CK",
+ "three_letter_code": "COK",
+ "numeric_code": "184",
+ "telephone_code": "682"
+ },
+ "CL": {
+ "code": "CL",
+ "three_letter_code": "CHL",
+ "numeric_code": "152",
+ "telephone_code": "56"
+ },
+ "CM": {
+ "code": "CM",
+ "three_letter_code": "CMR",
+ "numeric_code": "120",
+ "telephone_code": "237"
+ },
+ "CN": {
+ "code": "CN",
+ "three_letter_code": "CHN",
+ "numeric_code": "156",
+ "telephone_code": "86"
+ },
+ "CO": {
+ "code": "CO",
+ "three_letter_code": "COL",
+ "numeric_code": "170",
+ "telephone_code": "57"
+ },
+ "CR": {
+ "code": "CR",
+ "three_letter_code": "CRI",
+ "numeric_code": "188",
+ "telephone_code": "506"
+ },
+ "CU": {
+ "code": "CU",
+ "three_letter_code": "CUB",
+ "numeric_code": "192",
+ "telephone_code": "53"
+ },
+ "CV": {
+ "code": "CV",
+ "three_letter_code": "CPV",
+ "numeric_code": "132",
+ "telephone_code": "238"
+ },
+ "CW": {
+ "code": "CW",
+ "three_letter_code": "CUW",
+ "numeric_code": "531",
+ "telephone_code": "599"
+ },
+ "CX": {
+ "code": "CX",
+ "three_letter_code": "CXR",
+ "numeric_code": "162",
+ "telephone_code": "61"
+ },
+ "CY": {
+ "code": "CY",
+ "three_letter_code": "CYP",
+ "numeric_code": "196",
+ "telephone_code": "357"
+ },
+ "CZ": {
+ "code": "CZ",
+ "three_letter_code": "CZE",
+ "numeric_code": "203",
+ "telephone_code": "420"
+ },
+ "DE": {
+ "code": "DE",
+ "three_letter_code": "DEU",
+ "numeric_code": "276",
+ "telephone_code": "49"
+ },
+ "DG": {
+ "code": "DG",
+ "three_letter_code": "DGA"
+ },
+ "DJ": {
+ "code": "DJ",
+ "three_letter_code": "DJI",
+ "numeric_code": "262",
+ "telephone_code": "253"
+ },
+ "DK": {
+ "code": "DK",
+ "three_letter_code": "DNK",
+ "numeric_code": "208",
+ "telephone_code": "45"
+ },
+ "DM": {
+ "code": "DM",
+ "three_letter_code": "DMA",
+ "numeric_code": "212",
+ "telephone_code": "1"
+ },
+ "DO": {
+ "code": "DO",
+ "three_letter_code": "DOM",
+ "numeric_code": "214",
+ "telephone_code": "1"
+ },
+ "DZ": {
+ "code": "DZ",
+ "three_letter_code": "DZA",
+ "numeric_code": "012",
+ "telephone_code": "213"
+ },
+ "EA": {
+ "code": "EA",
+ "telephone_code": "34"
+ },
+ "EC": {
+ "code": "EC",
+ "three_letter_code": "ECU",
+ "numeric_code": "218",
+ "telephone_code": "593"
+ },
+ "EE": {
+ "code": "EE",
+ "three_letter_code": "EST",
+ "numeric_code": "233",
+ "telephone_code": "372"
+ },
+ "EG": {
+ "code": "EG",
+ "three_letter_code": "EGY",
+ "numeric_code": "818",
+ "telephone_code": "20"
+ },
+ "EH": {
+ "code": "EH",
+ "three_letter_code": "ESH",
+ "numeric_code": "732",
+ "telephone_code": "212"
+ },
+ "ER": {
+ "code": "ER",
+ "three_letter_code": "ERI",
+ "numeric_code": "232",
+ "telephone_code": "291"
+ },
+ "ES": {
+ "code": "ES",
+ "three_letter_code": "ESP",
+ "numeric_code": "724",
+ "telephone_code": "34"
+ },
+ "ET": {
+ "code": "ET",
+ "three_letter_code": "ETH",
+ "numeric_code": "231",
+ "telephone_code": "251"
+ },
+ "FI": {
+ "code": "FI",
+ "three_letter_code": "FIN",
+ "numeric_code": "246",
+ "telephone_code": "358"
+ },
+ "FJ": {
+ "code": "FJ",
+ "three_letter_code": "FJI",
+ "numeric_code": "242",
+ "telephone_code": "679"
+ },
+ "FK": {
+ "code": "FK",
+ "three_letter_code": "FLK",
+ "numeric_code": "238",
+ "telephone_code": "500"
+ },
+ "FM": {
+ "code": "FM",
+ "three_letter_code": "FSM",
+ "numeric_code": "583",
+ "telephone_code": "691"
+ },
+ "FO": {
+ "code": "FO",
+ "three_letter_code": "FRO",
+ "numeric_code": "234",
+ "telephone_code": "298"
+ },
+ "FR": {
+ "code": "FR",
+ "three_letter_code": "FRA",
+ "numeric_code": "250",
+ "telephone_code": "33"
+ },
+ "GA": {
+ "code": "GA",
+ "three_letter_code": "GAB",
+ "numeric_code": "266",
+ "telephone_code": "241"
+ },
+ "GB": {
+ "code": "GB",
+ "three_letter_code": "GBR",
+ "numeric_code": "826",
+ "telephone_code": "44"
+ },
+ "GD": {
+ "code": "GD",
+ "three_letter_code": "GRD",
+ "numeric_code": "308",
+ "telephone_code": "1"
+ },
+ "GE": {
+ "code": "GE",
+ "three_letter_code": "GEO",
+ "numeric_code": "268",
+ "telephone_code": "995"
+ },
+ "GF": {
+ "code": "GF",
+ "three_letter_code": "GUF",
+ "numeric_code": "254",
+ "telephone_code": "594"
+ },
+ "GG": {
+ "code": "GG",
+ "three_letter_code": "GGY",
+ "numeric_code": "831",
+ "telephone_code": "44"
+ },
+ "GH": {
+ "code": "GH",
+ "three_letter_code": "GHA",
+ "numeric_code": "288",
+ "telephone_code": "233"
+ },
+ "GI": {
+ "code": "GI",
+ "three_letter_code": "GIB",
+ "numeric_code": "292",
+ "telephone_code": "350"
+ },
+ "GL": {
+ "code": "GL",
+ "three_letter_code": "GRL",
+ "numeric_code": "304",
+ "telephone_code": "299"
+ },
+ "GM": {
+ "code": "GM",
+ "three_letter_code": "GMB",
+ "numeric_code": "270",
+ "telephone_code": "220"
+ },
+ "GN": {
+ "code": "GN",
+ "three_letter_code": "GIN",
+ "numeric_code": "324",
+ "telephone_code": "224"
+ },
+ "GP": {
+ "code": "GP",
+ "three_letter_code": "GLP",
+ "numeric_code": "312",
+ "telephone_code": "590"
+ },
+ "GQ": {
+ "code": "GQ",
+ "three_letter_code": "GNQ",
+ "numeric_code": "226",
+ "telephone_code": "240"
+ },
+ "GR": {
+ "code": "GR",
+ "three_letter_code": "GRC",
+ "numeric_code": "300",
+ "telephone_code": "30"
+ },
+ "GS": {
+ "code": "GS",
+ "three_letter_code": "SGS",
+ "numeric_code": "239",
+ "telephone_code": "500"
+ },
+ "GT": {
+ "code": "GT",
+ "three_letter_code": "GTM",
+ "numeric_code": "320",
+ "telephone_code": "502"
+ },
+ "GU": {
+ "code": "GU",
+ "three_letter_code": "GUM",
+ "numeric_code": "316",
+ "telephone_code": "1"
+ },
+ "GW": {
+ "code": "GW",
+ "three_letter_code": "GNB",
+ "numeric_code": "624",
+ "telephone_code": "245"
+ },
+ "GY": {
+ "code": "GY",
+ "three_letter_code": "GUY",
+ "numeric_code": "328",
+ "telephone_code": "592"
+ },
+ "HK": {
+ "code": "HK",
+ "three_letter_code": "HKG",
+ "numeric_code": "344",
+ "telephone_code": "852"
+ },
+ "HN": {
+ "code": "HN",
+ "three_letter_code": "HND",
+ "numeric_code": "340",
+ "telephone_code": "504"
+ },
+ "HR": {
+ "code": "HR",
+ "three_letter_code": "HRV",
+ "numeric_code": "191",
+ "telephone_code": "385"
+ },
+ "HT": {
+ "code": "HT",
+ "three_letter_code": "HTI",
+ "numeric_code": "332",
+ "telephone_code": "509"
+ },
+ "HU": {
+ "code": "HU",
+ "three_letter_code": "HUN",
+ "numeric_code": "348",
+ "telephone_code": "36"
+ },
+ "IC": {
+ "code": "IC",
+ "telephone_code": "34"
+ },
+ "ID": {
+ "code": "ID",
+ "three_letter_code": "IDN",
+ "numeric_code": "360",
+ "telephone_code": "62"
+ },
+ "IE": {
+ "code": "IE",
+ "three_letter_code": "IRL",
+ "numeric_code": "372",
+ "telephone_code": "353"
+ },
+ "IL": {
+ "code": "IL",
+ "three_letter_code": "ISR",
+ "numeric_code": "376",
+ "telephone_code": "972"
+ },
+ "IM": {
+ "code": "IM",
+ "three_letter_code": "IMN",
+ "numeric_code": "833",
+ "telephone_code": "44"
+ },
+ "IN": {
+ "code": "IN",
+ "three_letter_code": "IND",
+ "numeric_code": "356",
+ "telephone_code": "91"
+ },
+ "IO": {
+ "code": "IO",
+ "three_letter_code": "IOT",
+ "numeric_code": "086",
+ "telephone_code": "246"
+ },
+ "IQ": {
+ "code": "IQ",
+ "three_letter_code": "IRQ",
+ "numeric_code": "368",
+ "telephone_code": "964"
+ },
+ "IR": {
+ "code": "IR",
+ "three_letter_code": "IRN",
+ "numeric_code": "364",
+ "telephone_code": "98"
+ },
+ "IS": {
+ "code": "IS",
+ "three_letter_code": "ISL",
+ "numeric_code": "352",
+ "telephone_code": "354"
+ },
+ "IT": {
+ "code": "IT",
+ "three_letter_code": "ITA",
+ "numeric_code": "380",
+ "telephone_code": "39"
+ },
+ "JE": {
+ "code": "JE",
+ "three_letter_code": "JEY",
+ "numeric_code": "832",
+ "telephone_code": "44"
+ },
+ "JM": {
+ "code": "JM",
+ "three_letter_code": "JAM",
+ "numeric_code": "388",
+ "telephone_code": "1"
+ },
+ "JO": {
+ "code": "JO",
+ "three_letter_code": "JOR",
+ "numeric_code": "400",
+ "telephone_code": "962"
+ },
+ "JP": {
+ "code": "JP",
+ "three_letter_code": "JPN",
+ "numeric_code": "392",
+ "telephone_code": "81"
+ },
+ "KE": {
+ "code": "KE",
+ "three_letter_code": "KEN",
+ "numeric_code": "404",
+ "telephone_code": "254"
+ },
+ "KG": {
+ "code": "KG",
+ "three_letter_code": "KGZ",
+ "numeric_code": "417",
+ "telephone_code": "996"
+ },
+ "KH": {
+ "code": "KH",
+ "three_letter_code": "KHM",
+ "numeric_code": "116",
+ "telephone_code": "855"
+ },
+ "KI": {
+ "code": "KI",
+ "three_letter_code": "KIR",
+ "numeric_code": "296",
+ "telephone_code": "686"
+ },
+ "KM": {
+ "code": "KM",
+ "three_letter_code": "COM",
+ "numeric_code": "174",
+ "telephone_code": "269"
+ },
+ "KN": {
+ "code": "KN",
+ "three_letter_code": "KNA",
+ "numeric_code": "659",
+ "telephone_code": "1"
+ },
+ "KP": {
+ "code": "KP",
+ "three_letter_code": "PRK",
+ "numeric_code": "408",
+ "telephone_code": "850"
+ },
+ "KR": {
+ "code": "KR",
+ "three_letter_code": "KOR",
+ "numeric_code": "410",
+ "telephone_code": "82"
+ },
+ "KW": {
+ "code": "KW",
+ "three_letter_code": "KWT",
+ "numeric_code": "414",
+ "telephone_code": "965"
+ },
+ "KY": {
+ "code": "KY",
+ "three_letter_code": "CYM",
+ "numeric_code": "136",
+ "telephone_code": "1"
+ },
+ "KZ": {
+ "code": "KZ",
+ "three_letter_code": "KAZ",
+ "numeric_code": "398",
+ "telephone_code": "7"
+ },
+ "LA": {
+ "code": "LA",
+ "three_letter_code": "LAO",
+ "numeric_code": "418",
+ "telephone_code": "856"
+ },
+ "LB": {
+ "code": "LB",
+ "three_letter_code": "LBN",
+ "numeric_code": "422",
+ "telephone_code": "961"
+ },
+ "LC": {
+ "code": "LC",
+ "three_letter_code": "LCA",
+ "numeric_code": "662",
+ "telephone_code": "1"
+ },
+ "LI": {
+ "code": "LI",
+ "three_letter_code": "LIE",
+ "numeric_code": "438",
+ "telephone_code": "423"
+ },
+ "LK": {
+ "code": "LK",
+ "three_letter_code": "LKA",
+ "numeric_code": "144",
+ "telephone_code": "94"
+ },
+ "LR": {
+ "code": "LR",
+ "three_letter_code": "LBR",
+ "numeric_code": "430",
+ "telephone_code": "231"
+ },
+ "LS": {
+ "code": "LS",
+ "three_letter_code": "LSO",
+ "numeric_code": "426",
+ "telephone_code": "266"
+ },
+ "LT": {
+ "code": "LT",
+ "three_letter_code": "LTU",
+ "numeric_code": "440",
+ "telephone_code": "370"
+ },
+ "LU": {
+ "code": "LU",
+ "three_letter_code": "LUX",
+ "numeric_code": "442",
+ "telephone_code": "352"
+ },
+ "LV": {
+ "code": "LV",
+ "three_letter_code": "LVA",
+ "numeric_code": "428",
+ "telephone_code": "371"
+ },
+ "LY": {
+ "code": "LY",
+ "three_letter_code": "LBY",
+ "numeric_code": "434",
+ "telephone_code": "218"
+ },
+ "MA": {
+ "code": "MA",
+ "three_letter_code": "MAR",
+ "numeric_code": "504",
+ "telephone_code": "212"
+ },
+ "MC": {
+ "code": "MC",
+ "three_letter_code": "MCO",
+ "numeric_code": "492",
+ "telephone_code": "377"
+ },
+ "MD": {
+ "code": "MD",
+ "three_letter_code": "MDA",
+ "numeric_code": "498",
+ "telephone_code": "373"
+ },
+ "ME": {
+ "code": "ME",
+ "three_letter_code": "MNE",
+ "numeric_code": "499",
+ "telephone_code": "382"
+ },
+ "MF": {
+ "code": "MF",
+ "three_letter_code": "MAF",
+ "numeric_code": "663",
+ "telephone_code": "590"
+ },
+ "MG": {
+ "code": "MG",
+ "three_letter_code": "MDG",
+ "numeric_code": "450",
+ "telephone_code": "261"
+ },
+ "MH": {
+ "code": "MH",
+ "three_letter_code": "MHL",
+ "numeric_code": "584",
+ "telephone_code": "692"
+ },
+ "MK": {
+ "code": "MK",
+ "three_letter_code": "MKD",
+ "numeric_code": "807",
+ "telephone_code": "389"
+ },
+ "ML": {
+ "code": "ML",
+ "three_letter_code": "MLI",
+ "numeric_code": "466",
+ "telephone_code": "223"
+ },
+ "MM": {
+ "code": "MM",
+ "three_letter_code": "MMR",
+ "numeric_code": "104",
+ "telephone_code": "95"
+ },
+ "MN": {
+ "code": "MN",
+ "three_letter_code": "MNG",
+ "numeric_code": "496",
+ "telephone_code": "976"
+ },
+ "MO": {
+ "code": "MO",
+ "three_letter_code": "MAC",
+ "numeric_code": "446",
+ "telephone_code": "853"
+ },
+ "MP": {
+ "code": "MP",
+ "three_letter_code": "MNP",
+ "numeric_code": "580",
+ "telephone_code": "1"
+ },
+ "MQ": {
+ "code": "MQ",
+ "three_letter_code": "MTQ",
+ "numeric_code": "474",
+ "telephone_code": "596"
+ },
+ "MR": {
+ "code": "MR",
+ "three_letter_code": "MRT",
+ "numeric_code": "478",
+ "telephone_code": "222"
+ },
+ "MS": {
+ "code": "MS",
+ "three_letter_code": "MSR",
+ "numeric_code": "500",
+ "telephone_code": "1"
+ },
+ "MT": {
+ "code": "MT",
+ "three_letter_code": "MLT",
+ "numeric_code": "470",
+ "telephone_code": "356"
+ },
+ "MU": {
+ "code": "MU",
+ "three_letter_code": "MUS",
+ "numeric_code": "480",
+ "telephone_code": "230"
+ },
+ "MV": {
+ "code": "MV",
+ "three_letter_code": "MDV",
+ "numeric_code": "462",
+ "telephone_code": "960"
+ },
+ "MW": {
+ "code": "MW",
+ "three_letter_code": "MWI",
+ "numeric_code": "454",
+ "telephone_code": "265"
+ },
+ "MX": {
+ "code": "MX",
+ "three_letter_code": "MEX",
+ "numeric_code": "484",
+ "telephone_code": "52"
+ },
+ "MY": {
+ "code": "MY",
+ "three_letter_code": "MYS",
+ "numeric_code": "458",
+ "telephone_code": "60"
+ },
+ "MZ": {
+ "code": "MZ",
+ "three_letter_code": "MOZ",
+ "numeric_code": "508",
+ "telephone_code": "258"
+ },
+ "NA": {
+ "code": "NA",
+ "three_letter_code": "NAM",
+ "numeric_code": "516",
+ "telephone_code": "264"
+ },
+ "NC": {
+ "code": "NC",
+ "three_letter_code": "NCL",
+ "numeric_code": "540",
+ "telephone_code": "687"
+ },
+ "NE": {
+ "code": "NE",
+ "three_letter_code": "NER",
+ "numeric_code": "562",
+ "telephone_code": "227"
+ },
+ "NF": {
+ "code": "NF",
+ "three_letter_code": "NFK",
+ "numeric_code": "574",
+ "telephone_code": "672"
+ },
+ "NG": {
+ "code": "NG",
+ "three_letter_code": "NGA",
+ "numeric_code": "566",
+ "telephone_code": "234"
+ },
+ "NI": {
+ "code": "NI",
+ "three_letter_code": "NIC",
+ "numeric_code": "558",
+ "telephone_code": "505"
+ },
+ "NL": {
+ "code": "NL",
+ "three_letter_code": "NLD",
+ "numeric_code": "528",
+ "telephone_code": "31"
+ },
+ "NO": {
+ "code": "NO",
+ "three_letter_code": "NOR",
+ "numeric_code": "578",
+ "telephone_code": "47"
+ },
+ "NP": {
+ "code": "NP",
+ "three_letter_code": "NPL",
+ "numeric_code": "524",
+ "telephone_code": "977"
+ },
+ "NR": {
+ "code": "NR",
+ "three_letter_code": "NRU",
+ "numeric_code": "520",
+ "telephone_code": "674"
+ },
+ "NU": {
+ "code": "NU",
+ "three_letter_code": "NIU",
+ "numeric_code": "570",
+ "telephone_code": "683"
+ },
+ "NZ": {
+ "code": "NZ",
+ "three_letter_code": "NZL",
+ "numeric_code": "554",
+ "telephone_code": "64"
+ },
+ "OM": {
+ "code": "OM",
+ "three_letter_code": "OMN",
+ "numeric_code": "512",
+ "telephone_code": "968"
+ },
+ "PA": {
+ "code": "PA",
+ "three_letter_code": "PAN",
+ "numeric_code": "591",
+ "telephone_code": "507"
+ },
+ "PE": {
+ "code": "PE",
+ "three_letter_code": "PER",
+ "numeric_code": "604",
+ "telephone_code": "51"
+ },
+ "PF": {
+ "code": "PF",
+ "three_letter_code": "PYF",
+ "numeric_code": "258",
+ "telephone_code": "689"
+ },
+ "PG": {
+ "code": "PG",
+ "three_letter_code": "PNG",
+ "numeric_code": "598",
+ "telephone_code": "675"
+ },
+ "PH": {
+ "code": "PH",
+ "three_letter_code": "PHL",
+ "numeric_code": "608",
+ "telephone_code": "63"
+ },
+ "PK": {
+ "code": "PK",
+ "three_letter_code": "PAK",
+ "numeric_code": "586",
+ "telephone_code": "92"
+ },
+ "PL": {
+ "code": "PL",
+ "three_letter_code": "POL",
+ "numeric_code": "616",
+ "telephone_code": "48"
+ },
+ "PM": {
+ "code": "PM",
+ "three_letter_code": "SPM",
+ "numeric_code": "666",
+ "telephone_code": "508"
+ },
+ "PN": {
+ "code": "PN",
+ "three_letter_code": "PCN",
+ "numeric_code": "612",
+ "telephone_code": "870"
+ },
+ "PR": {
+ "code": "PR",
+ "three_letter_code": "PRI",
+ "numeric_code": "630",
+ "telephone_code": "1"
+ },
+ "PS": {
+ "code": "PS",
+ "three_letter_code": "PSE",
+ "numeric_code": "275",
+ "telephone_code": "970"
+ },
+ "PT": {
+ "code": "PT",
+ "three_letter_code": "PRT",
+ "numeric_code": "620",
+ "telephone_code": "351"
+ },
+ "PW": {
+ "code": "PW",
+ "three_letter_code": "PLW",
+ "numeric_code": "585",
+ "telephone_code": "680"
+ },
+ "PY": {
+ "code": "PY",
+ "three_letter_code": "PRY",
+ "numeric_code": "600",
+ "telephone_code": "595"
+ },
+ "QA": {
+ "code": "QA",
+ "three_letter_code": "QAT",
+ "numeric_code": "634",
+ "telephone_code": "974"
+ },
+ "RE": {
+ "code": "RE",
+ "three_letter_code": "REU",
+ "numeric_code": "638",
+ "telephone_code": "262"
+ },
+ "RO": {
+ "code": "RO",
+ "three_letter_code": "ROU",
+ "numeric_code": "642",
+ "telephone_code": "40"
+ },
+ "RS": {
+ "code": "RS",
+ "three_letter_code": "SRB",
+ "numeric_code": "688",
+ "telephone_code": "381"
+ },
+ "RU": {
+ "code": "RU",
+ "three_letter_code": "RUS",
+ "numeric_code": "643",
+ "telephone_code": "7"
+ },
+ "RW": {
+ "code": "RW",
+ "three_letter_code": "RWA",
+ "numeric_code": "646",
+ "telephone_code": "250"
+ },
+ "SA": {
+ "code": "SA",
+ "three_letter_code": "SAU",
+ "numeric_code": "682",
+ "telephone_code": "966"
+ },
+ "SB": {
+ "code": "SB",
+ "three_letter_code": "SLB",
+ "numeric_code": "090",
+ "telephone_code": "677"
+ },
+ "SC": {
+ "code": "SC",
+ "three_letter_code": "SYC",
+ "numeric_code": "690",
+ "telephone_code": "248"
+ },
+ "SD": {
+ "code": "SD",
+ "three_letter_code": "SDN",
+ "numeric_code": "729",
+ "telephone_code": "249"
+ },
+ "SE": {
+ "code": "SE",
+ "three_letter_code": "SWE",
+ "numeric_code": "752",
+ "telephone_code": "46"
+ },
+ "SG": {
+ "code": "SG",
+ "three_letter_code": "SGP",
+ "numeric_code": "702",
+ "telephone_code": "65"
+ },
+ "SH": {
+ "code": "SH",
+ "three_letter_code": "SHN",
+ "numeric_code": "654",
+ "telephone_code": "290"
+ },
+ "SI": {
+ "code": "SI",
+ "three_letter_code": "SVN",
+ "numeric_code": "705",
+ "telephone_code": "386"
+ },
+ "SJ": {
+ "code": "SJ",
+ "three_letter_code": "SJM",
+ "numeric_code": "744",
+ "telephone_code": "47"
+ },
+ "SK": {
+ "code": "SK",
+ "three_letter_code": "SVK",
+ "numeric_code": "703",
+ "telephone_code": "421"
+ },
+ "SL": {
+ "code": "SL",
+ "three_letter_code": "SLE",
+ "numeric_code": "694",
+ "telephone_code": "232"
+ },
+ "SM": {
+ "code": "SM",
+ "three_letter_code": "SMR",
+ "numeric_code": "674",
+ "telephone_code": "378"
+ },
+ "SN": {
+ "code": "SN",
+ "three_letter_code": "SEN",
+ "numeric_code": "686",
+ "telephone_code": "221"
+ },
+ "SO": {
+ "code": "SO",
+ "three_letter_code": "SOM",
+ "numeric_code": "706",
+ "telephone_code": "252"
+ },
+ "SR": {
+ "code": "SR",
+ "three_letter_code": "SUR",
+ "numeric_code": "740",
+ "telephone_code": "597"
+ },
+ "SS": {
+ "code": "SS",
+ "three_letter_code": "SSD",
+ "numeric_code": "728",
+ "telephone_code": "211"
+ },
+ "ST": {
+ "code": "ST",
+ "three_letter_code": "STP",
+ "numeric_code": "678",
+ "telephone_code": "239"
+ },
+ "SV": {
+ "code": "SV",
+ "three_letter_code": "SLV",
+ "numeric_code": "222",
+ "telephone_code": "503"
+ },
+ "SX": {
+ "code": "SX",
+ "three_letter_code": "SXM",
+ "numeric_code": "534",
+ "telephone_code": "1"
+ },
+ "SY": {
+ "code": "SY",
+ "three_letter_code": "SYR",
+ "numeric_code": "760",
+ "telephone_code": "963"
+ },
+ "SZ": {
+ "code": "SZ",
+ "three_letter_code": "SWZ",
+ "numeric_code": "748",
+ "telephone_code": "268"
+ },
+ "TA": {
+ "code": "TA",
+ "three_letter_code": "TAA"
+ },
+ "TC": {
+ "code": "TC",
+ "three_letter_code": "TCA",
+ "numeric_code": "796",
+ "telephone_code": "1"
+ },
+ "TD": {
+ "code": "TD",
+ "three_letter_code": "TCD",
+ "numeric_code": "148",
+ "telephone_code": "235"
+ },
+ "TF": {
+ "code": "TF",
+ "three_letter_code": "ATF",
+ "numeric_code": "260",
+ "telephone_code": "262"
+ },
+ "TG": {
+ "code": "TG",
+ "three_letter_code": "TGO",
+ "numeric_code": "768",
+ "telephone_code": "228"
+ },
+ "TH": {
+ "code": "TH",
+ "three_letter_code": "THA",
+ "numeric_code": "764",
+ "telephone_code": "66"
+ },
+ "TJ": {
+ "code": "TJ",
+ "three_letter_code": "TJK",
+ "numeric_code": "762",
+ "telephone_code": "992"
+ },
+ "TK": {
+ "code": "TK",
+ "three_letter_code": "TKL",
+ "numeric_code": "772",
+ "telephone_code": "690"
+ },
+ "TL": {
+ "code": "TL",
+ "three_letter_code": "TLS",
+ "numeric_code": "626",
+ "telephone_code": "670"
+ },
+ "TM": {
+ "code": "TM",
+ "three_letter_code": "TKM",
+ "numeric_code": "795",
+ "telephone_code": "993"
+ },
+ "TN": {
+ "code": "TN",
+ "three_letter_code": "TUN",
+ "numeric_code": "788",
+ "telephone_code": "216"
+ },
+ "TO": {
+ "code": "TO",
+ "three_letter_code": "TON",
+ "numeric_code": "776",
+ "telephone_code": "676"
+ },
+ "TR": {
+ "code": "TR",
+ "three_letter_code": "TUR",
+ "numeric_code": "792",
+ "telephone_code": "90"
+ },
+ "TT": {
+ "code": "TT",
+ "three_letter_code": "TTO",
+ "numeric_code": "780",
+ "telephone_code": "1"
+ },
+ "TV": {
+ "code": "TV",
+ "three_letter_code": "TUV",
+ "numeric_code": "798",
+ "telephone_code": "688"
+ },
+ "TW": {
+ "code": "TW",
+ "three_letter_code": "TWN",
+ "numeric_code": "158",
+ "telephone_code": "886"
+ },
+ "TZ": {
+ "code": "TZ",
+ "three_letter_code": "TZA",
+ "numeric_code": "834",
+ "telephone_code": "255"
+ },
+ "UA": {
+ "code": "UA",
+ "three_letter_code": "UKR",
+ "numeric_code": "804",
+ "telephone_code": "380"
+ },
+ "UG": {
+ "code": "UG",
+ "three_letter_code": "UGA",
+ "numeric_code": "800",
+ "telephone_code": "256"
+ },
+ "UM": {
+ "code": "UM",
+ "three_letter_code": "UMI",
+ "numeric_code": "581",
+ "telephone_code": "1"
+ },
+ "US": {
+ "code": "US",
+ "three_letter_code": "USA",
+ "numeric_code": "840",
+ "telephone_code": "1"
+ },
+ "UY": {
+ "code": "UY",
+ "three_letter_code": "URY",
+ "numeric_code": "858",
+ "telephone_code": "598"
+ },
+ "UZ": {
+ "code": "UZ",
+ "three_letter_code": "UZB",
+ "numeric_code": "860",
+ "telephone_code": "998"
+ },
+ "VA": {
+ "code": "VA",
+ "three_letter_code": "VAT",
+ "numeric_code": "336",
+ "telephone_code": "39"
+ },
+ "VC": {
+ "code": "VC",
+ "three_letter_code": "VCT",
+ "numeric_code": "670",
+ "telephone_code": "1"
+ },
+ "VE": {
+ "code": "VE",
+ "three_letter_code": "VEN",
+ "numeric_code": "862",
+ "telephone_code": "58"
+ },
+ "VG": {
+ "code": "VG",
+ "three_letter_code": "VGB",
+ "numeric_code": "092",
+ "telephone_code": "1"
+ },
+ "VI": {
+ "code": "VI",
+ "three_letter_code": "VIR",
+ "numeric_code": "850",
+ "telephone_code": "1"
+ },
+ "VN": {
+ "code": "VN",
+ "three_letter_code": "VNM",
+ "numeric_code": "704",
+ "telephone_code": "84"
+ },
+ "VU": {
+ "code": "VU",
+ "three_letter_code": "VUT",
+ "numeric_code": "548",
+ "telephone_code": "678"
+ },
+ "WF": {
+ "code": "WF",
+ "three_letter_code": "WLF",
+ "numeric_code": "876",
+ "telephone_code": "681"
+ },
+ "WS": {
+ "code": "WS",
+ "three_letter_code": "WSM",
+ "numeric_code": "882",
+ "telephone_code": "685"
+ },
+ "XK": {
+ "code": "XK",
+ "three_letter_code": "XKK",
+ "numeric_code": "983",
+ "telephone_code": "381"
+ },
+ "YE": {
+ "code": "YE",
+ "three_letter_code": "YEM",
+ "numeric_code": "887",
+ "telephone_code": "967"
+ },
+ "YT": {
+ "code": "YT",
+ "three_letter_code": "MYT",
+ "numeric_code": "175",
+ "telephone_code": "262"
+ },
+ "ZA": {
+ "code": "ZA",
+ "three_letter_code": "ZAF",
+ "numeric_code": "710",
+ "telephone_code": "27"
+ },
+ "ZM": {
+ "code": "ZM",
+ "three_letter_code": "ZMB",
+ "numeric_code": "894",
+ "telephone_code": "260"
+ },
+ "ZW": {
+ "code": "ZW",
+ "three_letter_code": "ZWE",
+ "numeric_code": "716",
+ "telephone_code": "263"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/be.json b/library/intl/resources/country/be.json
new file mode 100644
index 000000000..ad9fe43c0
--- /dev/null
+++ b/library/intl/resources/country/be.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "AE": {
+ "name": "Ðб’ÑÐ´Ð½Ð°Ð½Ñ‹Ñ ÐрабÑÐºÑ–Ñ Ð­Ð¼Ñ–Ñ€Ð°Ñ‚Ñ‹"
+ },
+ "AZ": {
+ "name": "Ðзербайджан"
+ },
+ "AX": {
+ "name": "ÐландÑÐºÑ–Ñ Ð°Ñтравы"
+ },
+ "AL": {
+ "name": "ÐлбаніÑ"
+ },
+ "DZ": {
+ "name": "Ðлжыр"
+ },
+ "OM": {
+ "name": "Ðман"
+ },
+ "AS": {
+ "name": "ÐмерыканÑкае Самоа"
+ },
+ "VI": {
+ "name": "ÐмерыканÑÐºÑ–Ñ Ð’Ñ–Ñ€Ð³Ñ–Ð½ÑÐºÑ–Ñ Ð°Ñтравы"
+ },
+ "AI": {
+ "name": "ÐнгільÑ"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AD": {
+ "name": "Ðндора"
+ },
+ "AQ": {
+ "name": "Ðнтарктыка"
+ },
+ "AG": {
+ "name": "Ðнтыгуа Ñ– Барбуда"
+ },
+ "AR": {
+ "name": "Ðргенціна"
+ },
+ "AM": {
+ "name": "ÐрменіÑ"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "CK": {
+ "name": "ÐÑтравы Кука"
+ },
+ "PN": {
+ "name": "ÐÑтравы ПіткÑрн"
+ },
+ "AU": {
+ "name": "ÐÑžÑтраліÑ"
+ },
+ "AT": {
+ "name": "ÐÑžÑтрыÑ"
+ },
+ "AF": {
+ "name": "ÐфганіÑтан"
+ },
+ "BS": {
+ "name": "Багамы"
+ },
+ "BG": {
+ "name": "БалгарыÑ"
+ },
+ "BO": {
+ "name": "БалівіÑ"
+ },
+ "BD": {
+ "name": "БангладÑш"
+ },
+ "BB": {
+ "name": "БарбадаÑ"
+ },
+ "BW": {
+ "name": "БатÑвана"
+ },
+ "BH": {
+ "name": "БахрÑйн"
+ },
+ "BY": {
+ "name": "БеларуÑÑŒ"
+ },
+ "BZ": {
+ "name": "Беліз"
+ },
+ "BE": {
+ "name": "БельгіÑ"
+ },
+ "BJ": {
+ "name": "Бенін"
+ },
+ "BM": {
+ "name": "БермудÑÐºÑ–Ñ Ð°Ñтравы"
+ },
+ "BA": {
+ "name": "БоÑÐ½Ñ–Ñ Ñ– Герцагавіна"
+ },
+ "BR": {
+ "name": "БразіліÑ"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "IO": {
+ "name": "БрытанÑÐºÐ°Ñ Ñ‚ÑÑ€Ñ‹Ñ‚Ð¾Ñ€Ñ‹Ñ Ñž ІндыйÑкім акіÑне"
+ },
+ "VG": {
+ "name": "БрытанÑÐºÑ–Ñ Ð’Ñ–Ñ€Ð³Ñ–Ð½ÑÐºÑ–Ñ Ð°Ñтравы"
+ },
+ "BF": {
+ "name": "Буркіна-ФаÑо"
+ },
+ "BI": {
+ "name": "Бурундзі"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VN": {
+ "name": "В’етнам"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватыкан"
+ },
+ "HU": {
+ "name": "ВенгрыÑ"
+ },
+ "VE": {
+ "name": "ВенеÑуÑла"
+ },
+ "GG": {
+ "name": "ВоÑтраў ГернÑÑ–"
+ },
+ "JE": {
+ "name": "ВоÑтраў ДжÑÑ€ÑÑ–"
+ },
+ "CW": {
+ "name": "ВоÑтраў КюраÑаа"
+ },
+ "YT": {
+ "name": "ВоÑтраў Маёта"
+ },
+ "IM": {
+ "name": "ВоÑтраў ÐœÑн"
+ },
+ "NF": {
+ "name": "ВоÑтраў Ðорфалк"
+ },
+ "CX": {
+ "name": "ВоÑтраў РажÑтва"
+ },
+ "GB": {
+ "name": "Ð’ÑлікабрытаніÑ"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаіці"
+ },
+ "GM": {
+ "name": "ГамбіÑ"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "HN": {
+ "name": "ГандураÑ"
+ },
+ "GY": {
+ "name": "ГаÑна"
+ },
+ "GP": {
+ "name": "ГвадÑлупа"
+ },
+ "GT": {
+ "name": "ГватÑмала"
+ },
+ "GN": {
+ "name": "ГвінеÑ"
+ },
+ "GW": {
+ "name": "ГвінеÑ-БіÑау"
+ },
+ "DE": {
+ "name": "ГерманіÑ"
+ },
+ "GI": {
+ "name": "Гібралтар"
+ },
+ "HK": {
+ "name": "Гон-Конг, Кітай (СÐР)"
+ },
+ "GE": {
+ "name": "ГрузіÑ"
+ },
+ "GD": {
+ "name": "ГрÑнада"
+ },
+ "GL": {
+ "name": "ГрÑнландыÑ"
+ },
+ "GR": {
+ "name": "ГрÑцыÑ"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DM": {
+ "name": "Дамініка"
+ },
+ "DO": {
+ "name": "ДамініканÑÐºÐ°Ñ Ð ÑÑпубліка"
+ },
+ "DK": {
+ "name": "ДаніÑ"
+ },
+ "DJ": {
+ "name": "Джыбуці"
+ },
+ "EG": {
+ "name": "Егіпет"
+ },
+ "YE": {
+ "name": "Емен"
+ },
+ "ZM": {
+ "name": "ЗамбіÑ"
+ },
+ "EH": {
+ "name": "ЗаходнÑÑ Ð¡Ð°Ñ…Ð°Ñ€Ð°"
+ },
+ "ZW": {
+ "name": "ЗімбабвÑ"
+ },
+ "US": {
+ "name": "Ð—Ð»ÑƒÑ‡Ð°Ð½Ñ‹Ñ Ð¨Ñ‚Ð°Ñ‚Ñ‹ Ðмерыкі"
+ },
+ "JO": {
+ "name": "ІарданіÑ"
+ },
+ "IL": {
+ "name": "Ізраіль"
+ },
+ "ID": {
+ "name": "ІнданезіÑ"
+ },
+ "IN": {
+ "name": "ІндыÑ"
+ },
+ "IQ": {
+ "name": "Ірак"
+ },
+ "IR": {
+ "name": "Іран"
+ },
+ "IE": {
+ "name": "ІрландыÑ"
+ },
+ "IS": {
+ "name": "ІÑландыÑ"
+ },
+ "ES": {
+ "name": "ІÑпаніÑ"
+ },
+ "IT": {
+ "name": "ІталіÑ"
+ },
+ "CV": {
+ "name": "Каба-ВердÑ"
+ },
+ "KZ": {
+ "name": "КазахÑтан"
+ },
+ "KY": {
+ "name": "Кайманавы аÑтравы"
+ },
+ "CC": {
+ "name": "КакоÑÐ°Ð²Ñ‹Ñ Ð°Ñтравы"
+ },
+ "CO": {
+ "name": "КалумбіÑ"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "KM": {
+ "name": "КаморÑÐºÑ–Ñ ÐÑтравы"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "КеніÑ"
+ },
+ "CY": {
+ "name": "Кіпр"
+ },
+ "KI": {
+ "name": "Кірыбаці"
+ },
+ "CN": {
+ "name": "Кітай"
+ },
+ "CG": {
+ "name": "Конга"
+ },
+ "CD": {
+ "name": "Конга, ДÑÐ¼Ð°ÐºÑ€Ð°Ñ‚Ñ‹Ñ‡Ð½Ð°Ñ Ð ÑÑпубліка"
+ },
+ "CR": {
+ "name": "КоÑта-Рыка"
+ },
+ "CI": {
+ "name": "Кот-д’Івуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "KG": {
+ "name": "КыргызÑтан"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "ЛатвіÑ"
+ },
+ "LS": {
+ "name": "ЛеÑота"
+ },
+ "LR": {
+ "name": "ЛіберыÑ"
+ },
+ "LB": {
+ "name": "Ліван"
+ },
+ "LY": {
+ "name": "ЛівіÑ"
+ },
+ "LT": {
+ "name": "Літва"
+ },
+ "LI": {
+ "name": "ЛіхтÑнштÑйн"
+ },
+ "LU": {
+ "name": "ЛюкÑембург"
+ },
+ "MM": {
+ "name": "М’Ñнма"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "MZ": {
+ "name": "Мазамбік"
+ },
+ "MO": {
+ "name": "Макао, Кітай (СÐР)"
+ },
+ "MK": {
+ "name": "МакедоніÑ, БЮР"
+ },
+ "MW": {
+ "name": "Малаві"
+ },
+ "MY": {
+ "name": "МалайзіÑ"
+ },
+ "MD": {
+ "name": "Малдова"
+ },
+ "ML": {
+ "name": "Малі"
+ },
+ "MV": {
+ "name": "Мальдывы"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MC": {
+ "name": "Манака"
+ },
+ "MN": {
+ "name": "МанголіÑ"
+ },
+ "MS": {
+ "name": "МантÑерат"
+ },
+ "MA": {
+ "name": "Марока"
+ },
+ "MQ": {
+ "name": "Марцініка"
+ },
+ "MH": {
+ "name": "Маршалавы ÐÑтравы"
+ },
+ "MU": {
+ "name": "Маўрыкій"
+ },
+ "MR": {
+ "name": "МаўрытаніÑ"
+ },
+ "MX": {
+ "name": "МекÑіка"
+ },
+ "FM": {
+ "name": "МікранезіÑ"
+ },
+ "NA": {
+ "name": "ÐамібіÑ"
+ },
+ "NO": {
+ "name": "ÐарвегіÑ"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðігер"
+ },
+ "NG": {
+ "name": "ÐігерыÑ"
+ },
+ "NL": {
+ "name": "ÐідÑрланды"
+ },
+ "NI": {
+ "name": "Ðікарагуа"
+ },
+ "NU": {
+ "name": "ÐіуÑ"
+ },
+ "NZ": {
+ "name": "ÐÐ¾Ð²Ð°Ñ Ð—ÐµÐ»Ð°Ð½Ð´Ñ‹Ñ"
+ },
+ "NC": {
+ "name": "ÐÐ¾Ð²Ð°Ñ ÐšÐ°Ð»ÐµÐ´Ð¾Ð½Ñ–Ñ"
+ },
+ "PK": {
+ "name": "ПакіÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "ПалеÑтынÑÐºÑ–Ñ Ñ‚Ñрыторыі"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа — ÐÐ¾Ð²Ð°Ñ Ð“Ð²Ñ–Ð½ÐµÑ"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PT": {
+ "name": "ПартугаліÑ"
+ },
+ "ZA": {
+ "name": "Паўднёва-ÐфрыканÑÐºÐ°Ñ Ð ÑÑпубліка"
+ },
+ "GS": {
+ "name": "ÐŸÐ°ÑžÐ´Ð½Ñ‘Ð²Ð°Ñ Ð”Ð¶Ð¾Ñ€Ð´Ð¶Ñ‹Ñ Ñ– ÐŸÐ°ÑžÐ´Ð½Ñ‘Ð²Ñ‹Ñ Ð¡Ð°Ð½Ð´Ð²Ñ–Ñ‡Ð°Ð²Ñ‹ аÑтравы"
+ },
+ "KR": {
+ "name": "ÐŸÐ°ÑžÐ´Ð½Ñ‘Ð²Ð°Ñ ÐšÐ°Ñ€ÑÑ"
+ },
+ "SS": {
+ "name": "Паўднёвы Судан"
+ },
+ "KP": {
+ "name": "ÐŸÐ°ÑžÐ½Ð¾Ñ‡Ð½Ð°Ñ ÐšÐ°Ñ€ÑÑ"
+ },
+ "MP": {
+ "name": "ÐŸÐ°ÑžÐ½Ð¾Ñ‡Ð½Ñ‹Ñ ÐœÐ°Ñ€Ñ‹ÑнÑÐºÑ–Ñ Ð°Ñтравы"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PL": {
+ "name": "Польшча"
+ },
+ "PR": {
+ "name": "ПуÑрта-Рыка"
+ },
+ "RU": {
+ "name": "РаÑÑ–Ñ"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "РумыніÑ"
+ },
+ "RE": {
+ "name": "РÑюньён"
+ },
+ "SB": {
+ "name": "Саламонавы ÐÑтравы"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "SO": {
+ "name": "Самалі"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марына"
+ },
+ "ST": {
+ "name": "Сан-Ð¢Ð°Ð¼Ñ Ñ– ПрынÑіпі"
+ },
+ "SA": {
+ "name": "СаудаўÑÐºÐ°Ñ ÐравіÑ"
+ },
+ "SZ": {
+ "name": "Свазіленд"
+ },
+ "SJ": {
+ "name": "Свальбард (Паўночна-УÑходнÑÑ Ð—ÑмлÑ) Ñ– Ян-Маен"
+ },
+ "SH": {
+ "name": "СвÑтой Ðлены, ВоÑтраў"
+ },
+ "SC": {
+ "name": "СейшÑльÑÐºÑ–Ñ ÐÑтравы"
+ },
+ "BL": {
+ "name": "Сен-БартÑльмі"
+ },
+ "PM": {
+ "name": "Сен-П’ер і Мікелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-ВінÑент Ñ– ГрÑнадзіны"
+ },
+ "KN": {
+ "name": "Сент-ÐšÑ–Ñ‚Ñ Ñ– ÐевіÑ"
+ },
+ "LC": {
+ "name": "Сент-ЛюÑÑ–Ñ"
+ },
+ "RS": {
+ "name": "СербіÑ"
+ },
+ "SG": {
+ "name": "Сінгапур"
+ },
+ "SY": {
+ "name": "СірыÑ"
+ },
+ "SK": {
+ "name": "СлавакіÑ"
+ },
+ "SI": {
+ "name": "СлавеніÑ"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Сурынам"
+ },
+ "SL": {
+ "name": "Сьера-ЛеонÑ"
+ },
+ "TJ": {
+ "name": "ТаджыкіÑтан"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TH": {
+ "name": "Тайланд"
+ },
+ "TK": {
+ "name": "Такелау"
+ },
+ "TZ": {
+ "name": "ТанзаніÑ"
+ },
+ "TG": {
+ "name": "Тога"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Трынідад і Табага"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуніÑ"
+ },
+ "TM": {
+ "name": "ТуркменіÑтан"
+ },
+ "TR": {
+ "name": "ТурцыÑ"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "УзбекіÑтан"
+ },
+ "UA": {
+ "name": "Украіна"
+ },
+ "WF": {
+ "name": "Ð£Ð¾Ð»Ñ–Ñ Ñ– Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "TL": {
+ "name": "УÑходні Тымор"
+ },
+ "FO": {
+ "name": "ФарÑÑ€ÑÐºÑ–Ñ Ð°Ñтравы"
+ },
+ "FJ": {
+ "name": "Фіджы"
+ },
+ "PH": {
+ "name": "Філіпіны"
+ },
+ "FI": {
+ "name": "ФінлÑндыÑ"
+ },
+ "FK": {
+ "name": "ФолклÑндÑÐºÑ–Ñ Ð°Ñтравы"
+ },
+ "GF": {
+ "name": "ФранцузÑÐºÐ°Ñ Ð“Ð²Ñ–Ñна"
+ },
+ "PF": {
+ "name": "ФранцузÑÐºÐ°Ñ ÐŸÐ°Ð»Ñ–Ð½ÐµÐ·Ñ–Ñ"
+ },
+ "TF": {
+ "name": "ФранцузÑÐºÑ–Ñ ÐŸÐ°ÑžÐ´Ð½Ñ‘Ð²Ñ‹Ñ Ñ‚Ñрыторыі"
+ },
+ "FR": {
+ "name": "ФранцыÑ"
+ },
+ "HR": {
+ "name": "ХарватыÑ"
+ },
+ "TC": {
+ "name": "Ð¦Ñ‘Ñ€ÐºÑ Ñ– КайкаÑ"
+ },
+ "CF": {
+ "name": "ЦÑнтральна-ÐфрыканÑÐºÐ°Ñ Ð ÑÑпубліка"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "ЧарнагорыÑ"
+ },
+ "CL": {
+ "name": "Чылі"
+ },
+ "CZ": {
+ "name": "ЧÑÑ…Ñ–Ñ"
+ },
+ "CH": {
+ "name": "ШвейцарыÑ"
+ },
+ "SE": {
+ "name": "ШвецыÑ"
+ },
+ "LK": {
+ "name": "Шры-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "ЭкватарыÑÐ»ÑŒÐ½Ð°Ñ Ð“Ð²Ñ–Ð½ÐµÑ"
+ },
+ "ER": {
+ "name": "ЭрытрÑÑ"
+ },
+ "EE": {
+ "name": "ЭÑтоніÑ"
+ },
+ "ET": {
+ "name": "ЭфіопіÑ"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "ЯпоніÑ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/bez.json b/library/intl/resources/country/bez.json
new file mode 100644
index 000000000..202b446f6
--- /dev/null
+++ b/library/intl/resources/country/bez.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "ZA": {
+ "name": "Huafrika iya Hukusini"
+ },
+ "AF": {
+ "name": "Huafuganistani"
+ },
+ "IS": {
+ "name": "Huaislandi"
+ },
+ "AR": {
+ "name": "Huajendina"
+ },
+ "AL": {
+ "name": "Hualbania"
+ },
+ "DZ": {
+ "name": "Hualjelia"
+ },
+ "AW": {
+ "name": "Hualuba"
+ },
+ "AM": {
+ "name": "Huamenia"
+ },
+ "AD": {
+ "name": "Huandola"
+ },
+ "AO": {
+ "name": "Huangola"
+ },
+ "AI": {
+ "name": "Huanguila"
+ },
+ "AG": {
+ "name": "Huantigua na Hubarubuda"
+ },
+ "AT": {
+ "name": "Huastlia"
+ },
+ "AU": {
+ "name": "Huaustlalia"
+ },
+ "IE": {
+ "name": "Huayalandi"
+ },
+ "AZ": {
+ "name": "Huazabajani"
+ },
+ "BB": {
+ "name": "Hubabadosi"
+ },
+ "BH": {
+ "name": "Hubahaleni"
+ },
+ "BS": {
+ "name": "Hubahama"
+ },
+ "BD": {
+ "name": "Hubangaladeshi"
+ },
+ "BY": {
+ "name": "Hubelalusi"
+ },
+ "BZ": {
+ "name": "Hubelize"
+ },
+ "BM": {
+ "name": "Hubelmuda"
+ },
+ "BJ": {
+ "name": "Hubenini"
+ },
+ "BR": {
+ "name": "Hublazili"
+ },
+ "BO": {
+ "name": "Hubolivia"
+ },
+ "BA": {
+ "name": "Hubosinia na Huhezegovina"
+ },
+ "BW": {
+ "name": "Hubotiswana"
+ },
+ "BN": {
+ "name": "Hubrunei"
+ },
+ "BF": {
+ "name": "Hubukinafaso"
+ },
+ "MG": {
+ "name": "Hubukini"
+ },
+ "BG": {
+ "name": "Hubulgaria"
+ },
+ "BI": {
+ "name": "Huburundi"
+ },
+ "BT": {
+ "name": "Hubutani"
+ },
+ "TD": {
+ "name": "Huchadi"
+ },
+ "CL": {
+ "name": "Huchile"
+ },
+ "CN": {
+ "name": "Huchina"
+ },
+ "DK": {
+ "name": "Hudenmaki"
+ },
+ "DM": {
+ "name": "Hudominika"
+ },
+ "EC": {
+ "name": "Huekwado"
+ },
+ "SV": {
+ "name": "Huelsavado"
+ },
+ "ER": {
+ "name": "Hueritrea"
+ },
+ "EE": {
+ "name": "Huestonia"
+ },
+ "AE": {
+ "name": "Hufalme dza Hihalabu"
+ },
+ "FJ": {
+ "name": "Hufiji"
+ },
+ "PH": {
+ "name": "Hufilipino"
+ },
+ "GA": {
+ "name": "Hugaboni"
+ },
+ "GM": {
+ "name": "Hugambia"
+ },
+ "GH": {
+ "name": "Hughana"
+ },
+ "GW": {
+ "name": "Huginebisau"
+ },
+ "GQ": {
+ "name": "Huginekweta"
+ },
+ "GD": {
+ "name": "Hugrenada"
+ },
+ "GY": {
+ "name": "Huguyana"
+ },
+ "GP": {
+ "name": "Hugwadelupe"
+ },
+ "GU": {
+ "name": "Hugwam"
+ },
+ "GT": {
+ "name": "Hugwatemala"
+ },
+ "GF": {
+ "name": "Hugwiyana ya Huufaransa"
+ },
+ "HT": {
+ "name": "Huhaiti"
+ },
+ "ES": {
+ "name": "Huhispania"
+ },
+ "HN": {
+ "name": "Huhondulasi"
+ },
+ "HU": {
+ "name": "Huhungalia"
+ },
+ "IQ": {
+ "name": "Huilaki"
+ },
+ "IN": {
+ "name": "Huindia"
+ },
+ "ID": {
+ "name": "Huindonesia"
+ },
+ "IL": {
+ "name": "Huislaheli"
+ },
+ "IT": {
+ "name": "Huitalia"
+ },
+ "JM": {
+ "name": "Hujamaika"
+ },
+ "JP": {
+ "name": "Hujapani"
+ },
+ "GI": {
+ "name": "Hujiblalta"
+ },
+ "DJ": {
+ "name": "Hujibuti"
+ },
+ "GN": {
+ "name": "Hujine"
+ },
+ "GL": {
+ "name": "Hujinlandi"
+ },
+ "GE": {
+ "name": "Hujojia"
+ },
+ "KH": {
+ "name": "Hukambodia"
+ },
+ "CM": {
+ "name": "Hukameruni"
+ },
+ "CA": {
+ "name": "Hukanada"
+ },
+ "QA": {
+ "name": "Hukatali"
+ },
+ "KZ": {
+ "name": "Hukazakistani"
+ },
+ "KE": {
+ "name": "Hukenya"
+ },
+ "CV": {
+ "name": "Hukepuvede"
+ },
+ "KI": {
+ "name": "Hukilibati"
+ },
+ "KG": {
+ "name": "Hukiligizistani"
+ },
+ "CI": {
+ "name": "Hukodivaa"
+ },
+ "KP": {
+ "name": "Hukolea Kaskazini"
+ },
+ "KR": {
+ "name": "Hukolea Kusini"
+ },
+ "CO": {
+ "name": "Hukolombia"
+ },
+ "KM": {
+ "name": "Hukomoro"
+ },
+ "CG": {
+ "name": "Hukongo"
+ },
+ "HR": {
+ "name": "Hukorasia"
+ },
+ "CR": {
+ "name": "Hukostarika"
+ },
+ "CU": {
+ "name": "Hukuba"
+ },
+ "CY": {
+ "name": "Hukuprosi"
+ },
+ "KW": {
+ "name": "Hukuwaiti"
+ },
+ "LA": {
+ "name": "Hulaosi"
+ },
+ "LU": {
+ "name": "Hulasembagi"
+ },
+ "LV": {
+ "name": "Hulativia"
+ },
+ "LB": {
+ "name": "Hulebanoni"
+ },
+ "LS": {
+ "name": "Hulesoto"
+ },
+ "LR": {
+ "name": "Hulibelia"
+ },
+ "LY": {
+ "name": "Hulibiya"
+ },
+ "LI": {
+ "name": "Hulishenteni"
+ },
+ "LT": {
+ "name": "Hulitwania"
+ },
+ "RE": {
+ "name": "Huliyunioni"
+ },
+ "RO": {
+ "name": "Hulomania"
+ },
+ "RW": {
+ "name": "Hulwanda"
+ },
+ "MW": {
+ "name": "Humalawi"
+ },
+ "US": {
+ "name": "Humalekani"
+ },
+ "MY": {
+ "name": "Humalesia"
+ },
+ "ML": {
+ "name": "Humali"
+ },
+ "MT": {
+ "name": "Humalta"
+ },
+ "MQ": {
+ "name": "Humartiniki"
+ },
+ "MK": {
+ "name": "Humasedonia"
+ },
+ "YT": {
+ "name": "Humayotte"
+ },
+ "MX": {
+ "name": "Humeksiko"
+ },
+ "FM": {
+ "name": "Humikronesia"
+ },
+ "EG": {
+ "name": "Humisri"
+ },
+ "MV": {
+ "name": "Humodivu"
+ },
+ "MD": {
+ "name": "Humoldova"
+ },
+ "MU": {
+ "name": "Humolisi"
+ },
+ "MR": {
+ "name": "Humolitania"
+ },
+ "MA": {
+ "name": "Humoloko"
+ },
+ "MC": {
+ "name": "Humonako"
+ },
+ "MN": {
+ "name": "Humongolia"
+ },
+ "MS": {
+ "name": "Humontserrati"
+ },
+ "MZ": {
+ "name": "Humusumbiji"
+ },
+ "MM": {
+ "name": "Humyama"
+ },
+ "NA": {
+ "name": "Hunamibia"
+ },
+ "NR": {
+ "name": "Hunauru"
+ },
+ "NP": {
+ "name": "Hunepali"
+ },
+ "NE": {
+ "name": "Hunijeli"
+ },
+ "NG": {
+ "name": "Hunijelia"
+ },
+ "NI": {
+ "name": "Hunikaragwa"
+ },
+ "NU": {
+ "name": "Huniue"
+ },
+ "NO": {
+ "name": "Hunolwe"
+ },
+ "NC": {
+ "name": "Hunyukaledonia"
+ },
+ "NZ": {
+ "name": "Hunyuzilandi"
+ },
+ "OM": {
+ "name": "Huomani"
+ },
+ "PK": {
+ "name": "Hupakistani"
+ },
+ "PY": {
+ "name": "Hupalagwai"
+ },
+ "PW": {
+ "name": "Hupalau"
+ },
+ "PA": {
+ "name": "Hupanama"
+ },
+ "PG": {
+ "name": "Hupapua"
+ },
+ "PE": {
+ "name": "Hupelu"
+ },
+ "PN": {
+ "name": "Hupitkaini"
+ },
+ "PL": {
+ "name": "Hupolandi"
+ },
+ "PF": {
+ "name": "Hupolinesia ya Huufaransa"
+ },
+ "PR": {
+ "name": "Hupwetoriko"
+ },
+ "SM": {
+ "name": "Husamalino"
+ },
+ "WS": {
+ "name": "Husamoa"
+ },
+ "AS": {
+ "name": "Husamoa ya Humalekani"
+ },
+ "SH": {
+ "name": "Husantahelena"
+ },
+ "KN": {
+ "name": "Husantakitzi na Hunevis"
+ },
+ "LC": {
+ "name": "Husantalusia"
+ },
+ "PM": {
+ "name": "Husantapieri na Humikeloni"
+ },
+ "VC": {
+ "name": "Husantavisenti na Hugrenadini"
+ },
+ "ST": {
+ "name": "Husaotome na Huprinsipe"
+ },
+ "SA": {
+ "name": "Husaudi"
+ },
+ "SN": {
+ "name": "Husenegali"
+ },
+ "SC": {
+ "name": "Hushelisheli"
+ },
+ "SL": {
+ "name": "Husiela Lioni"
+ },
+ "SY": {
+ "name": "Husilia"
+ },
+ "SG": {
+ "name": "Husingapoo"
+ },
+ "LK": {
+ "name": "Husirilanka"
+ },
+ "SK": {
+ "name": "Huslovakia"
+ },
+ "SI": {
+ "name": "Huslovenia"
+ },
+ "SO": {
+ "name": "Husomalia"
+ },
+ "SD": {
+ "name": "Husudani"
+ },
+ "SR": {
+ "name": "Husurinamu"
+ },
+ "TH": {
+ "name": "Hutailandi"
+ },
+ "TW": {
+ "name": "Hutaiwani"
+ },
+ "TJ": {
+ "name": "Hutajikistani"
+ },
+ "TZ": {
+ "name": "Hutanzania"
+ },
+ "TL": {
+ "name": "Hutimori ya Mashariki"
+ },
+ "TG": {
+ "name": "Hutogo"
+ },
+ "TK": {
+ "name": "Hutokelau"
+ },
+ "TO": {
+ "name": "Hutonga"
+ },
+ "TT": {
+ "name": "Hutrinad na Hutobago"
+ },
+ "TN": {
+ "name": "Hutunisia"
+ },
+ "TV": {
+ "name": "Hutuvalu"
+ },
+ "IR": {
+ "name": "Huuajemi"
+ },
+ "BE": {
+ "name": "Huubelgiji"
+ },
+ "FR": {
+ "name": "Huufaransa"
+ },
+ "FI": {
+ "name": "Huufini"
+ },
+ "UG": {
+ "name": "Huuganda"
+ },
+ "GR": {
+ "name": "Huugiliki"
+ },
+ "ET": {
+ "name": "Huuhabeshi"
+ },
+ "NL": {
+ "name": "Huuholanzi"
+ },
+ "GB": {
+ "name": "Huuingereza"
+ },
+ "DE": {
+ "name": "Huujerumani"
+ },
+ "UA": {
+ "name": "Huukraini"
+ },
+ "PT": {
+ "name": "Huuleno"
+ },
+ "UY": {
+ "name": "Huulugwai"
+ },
+ "RU": {
+ "name": "Huulusi"
+ },
+ "SZ": {
+ "name": "Huuswazi"
+ },
+ "SE": {
+ "name": "Huuswidi"
+ },
+ "CH": {
+ "name": "Huuswisi"
+ },
+ "TR": {
+ "name": "Huuturuki"
+ },
+ "TM": {
+ "name": "Huuturukimenistani"
+ },
+ "UZ": {
+ "name": "Huuzibekistani"
+ },
+ "VU": {
+ "name": "Huvanuatu"
+ },
+ "VA": {
+ "name": "Huvatikani"
+ },
+ "VE": {
+ "name": "Huvenezuela"
+ },
+ "VN": {
+ "name": "Huvietinamu"
+ },
+ "WF": {
+ "name": "Huwalis na Hufutuna"
+ },
+ "YE": {
+ "name": "Huyemeni"
+ },
+ "JO": {
+ "name": "Huyolodani"
+ },
+ "ZM": {
+ "name": "Huzambia"
+ },
+ "ZW": {
+ "name": "Huzimbabwe"
+ },
+ "FK": {
+ "name": "Ifisima fya Falkland"
+ },
+ "KY": {
+ "name": "Ifisima fya Kayman"
+ },
+ "CK": {
+ "name": "Ifisima fya Kook"
+ },
+ "MP": {
+ "name": "Ifisima fya Mariana fya Hukaskazini"
+ },
+ "MH": {
+ "name": "Ifisima fya Marshal"
+ },
+ "SB": {
+ "name": "Ifisima fya Solomon"
+ },
+ "TC": {
+ "name": "Ifisima fya Turki na Kaiko"
+ },
+ "VG": {
+ "name": "Ifisima fya Virgin fya Huingereza"
+ },
+ "VI": {
+ "name": "Ifisima fya Virgin fya Humelekani"
+ },
+ "NF": {
+ "name": "Ihisima sha Norfok"
+ },
+ "CF": {
+ "name": "Ijamhuri ya Afrika ya Pagati"
+ },
+ "CZ": {
+ "name": "Ijamhuri ya Cheki"
+ },
+ "CD": {
+ "name": "Ijamhuri ya Hidemokrasi ya Hukongo"
+ },
+ "DO": {
+ "name": "Ijamhuri ya Hudominika"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IO": {
+ "name": "Ulubali lwa Hubahari ya Hindi lwa Huingereza"
+ },
+ "PS": {
+ "name": "Ulubali lwa Magharibi nu Gaza wa Hupalestina"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/bg.json b/library/intl/resources/country/bg.json
new file mode 100644
index 000000000..121709871
--- /dev/null
+++ b/library/intl/resources/country/bg.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "ÐвÑтралиÑ"
+ },
+ "AT": {
+ "name": "ÐвÑтриÑ"
+ },
+ "AZ": {
+ "name": "Ðзербайджан"
+ },
+ "AL": {
+ "name": "ÐлбаниÑ"
+ },
+ "DZ": {
+ "name": "Ðлжир"
+ },
+ "AS": {
+ "name": "ÐмериканÑка Самоа"
+ },
+ "VI": {
+ "name": "ÐмериканÑки ВирджинÑки оÑтрови"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AI": {
+ "name": "Ðнгуила"
+ },
+ "AD": {
+ "name": "Ðндора"
+ },
+ "AQ": {
+ "name": "Ðнтарктика"
+ },
+ "AG": {
+ "name": "Ðнтигуа и Барбуда"
+ },
+ "AR": {
+ "name": "Ðржентина"
+ },
+ "AM": {
+ "name": "ÐрмениÑ"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AF": {
+ "name": "ÐфганиÑтан"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "БеларуÑ"
+ },
+ "BE": {
+ "name": "БелгиÑ"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "BO": {
+ "name": "БоливиÑ"
+ },
+ "BA": {
+ "name": "БоÑна и Херцеговина"
+ },
+ "BW": {
+ "name": "БотÑвана"
+ },
+ "BR": {
+ "name": "БразилиÑ"
+ },
+ "IO": {
+ "name": "БританÑка Ñ‚ÐµÑ€Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð² ИндийÑÐºÐ¸Ñ Ð¾ÐºÐµÐ°Ð½"
+ },
+ "VG": {
+ "name": "БританÑки ВирджинÑки оÑтрови"
+ },
+ "BN": {
+ "name": "Бруней ДаруÑалам"
+ },
+ "BF": {
+ "name": "Буркина ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "BG": {
+ "name": "БългариÑ"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "GB": {
+ "name": "ВеликобританиÑ"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Виетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "ГамбиÑ"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GY": {
+ "name": "ГаÑна"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "ГвинеÑ"
+ },
+ "GW": {
+ "name": "ГвинеÑ-БиÑау"
+ },
+ "DE": {
+ "name": "ГерманиÑ"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "ГренландиÑ"
+ },
+ "GE": {
+ "name": "ГрузиÑ"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "GG": {
+ "name": "ГърнÑи"
+ },
+ "GR": {
+ "name": "ГърциÑ"
+ },
+ "DK": {
+ "name": "ДаниÑ"
+ },
+ "CD": {
+ "name": "Демократична република Конго"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "JE": {
+ "name": "ДжърÑи"
+ },
+ "DG": {
+ "name": "Диего ГарÑиÑ"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "ДоминиканÑка република"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваториална ГвинеÑ"
+ },
+ "ER": {
+ "name": "ЕритреÑ"
+ },
+ "EE": {
+ "name": "ЕÑтониÑ"
+ },
+ "ET": {
+ "name": "ЕтиопиÑ"
+ },
+ "ZM": {
+ "name": "ЗамбиÑ"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "TL": {
+ "name": "Източен Тимор"
+ },
+ "IN": {
+ "name": "ИндиÑ"
+ },
+ "ID": {
+ "name": "ИндонезиÑ"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "ИрландиÑ"
+ },
+ "IS": {
+ "name": "ИÑландиÑ"
+ },
+ "ES": {
+ "name": "ИÑпаниÑ"
+ },
+ "IT": {
+ "name": "ИталиÑ"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "JO": {
+ "name": "ЙорданиÑ"
+ },
+ "CV": {
+ "name": "Кабо Верде"
+ },
+ "KZ": {
+ "name": "КазахÑтан"
+ },
+ "KY": {
+ "name": "Кайманови оÑтрови"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "КанарÑки оÑтрови"
+ },
+ "BQ": {
+ "name": "КарибÑка ÐидерландиÑ"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "КениÑ"
+ },
+ "CY": {
+ "name": "Кипър"
+ },
+ "KG": {
+ "name": "КиргизÑтан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CN": {
+ "name": "Китай"
+ },
+ "CC": {
+ "name": "КокоÑови оÑтрови (оÑтрови Кийлинг)"
+ },
+ "CO": {
+ "name": "КолумбиÑ"
+ },
+ "KM": {
+ "name": "КоморÑки оÑтрови"
+ },
+ "CG": {
+ "name": "Конго"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑта Рика"
+ },
+ "CI": {
+ "name": "Кот д’Ивоар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CW": {
+ "name": "КюраÑао"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "ЛатвиÑ"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LR": {
+ "name": "ЛибериÑ"
+ },
+ "LY": {
+ "name": "ЛибиÑ"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенщайн"
+ },
+ "LU": {
+ "name": "ЛюкÑембург"
+ },
+ "MR": {
+ "name": "МавританиÑ"
+ },
+ "MU": {
+ "name": "Мавриций"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "YT": {
+ "name": "Майот"
+ },
+ "MO": {
+ "name": "Макао, СÐР на Китай"
+ },
+ "MK": {
+ "name": "МакедониÑ"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "МалайзиÑ"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршалови оÑтрови"
+ },
+ "MX": {
+ "name": "МекÑико"
+ },
+ "MM": {
+ "name": "Мианмар (Бирма)"
+ },
+ "FM": {
+ "name": "МикронезиÑ"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "МонголиÑ"
+ },
+ "MS": {
+ "name": "МонтÑерат"
+ },
+ "NA": {
+ "name": "ÐамибиÑ"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "ÐигериÑ"
+ },
+ "NL": {
+ "name": "ÐидерландиÑ"
+ },
+ "NI": {
+ "name": "Ðикарагуа"
+ },
+ "NU": {
+ "name": "Ðиуе"
+ },
+ "NZ": {
+ "name": "Ðова ЗеландиÑ"
+ },
+ "NC": {
+ "name": "Ðова КаледониÑ"
+ },
+ "NO": {
+ "name": "ÐорвегиÑ"
+ },
+ "AE": {
+ "name": "Обединени арабÑки емирÑтва"
+ },
+ "AX": {
+ "name": "ОландÑки оÑтрови"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "AC": {
+ "name": "оÑтров ВъзнеÑение"
+ },
+ "IM": {
+ "name": "оÑтров Ман"
+ },
+ "NF": {
+ "name": "оÑтров Ðорфолк"
+ },
+ "CX": {
+ "name": "оÑтров РождеÑтво"
+ },
+ "CK": {
+ "name": "оÑтрови Кук"
+ },
+ "PN": {
+ "name": "ОÑтрови Питкерн"
+ },
+ "TC": {
+ "name": "оÑтрови Ð¢ÑŠÑ€ÐºÑ Ð¸ КайкоÑ"
+ },
+ "UM": {
+ "name": "Отдалечени оÑтрови на СÐЩ"
+ },
+ "PK": {
+ "name": "ПакиÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "ПалеÑтинÑки територии"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Ðова ГвинеÑ"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PL": {
+ "name": "Полша"
+ },
+ "PT": {
+ "name": "ПортугалиÑ"
+ },
+ "PR": {
+ "name": "Пуерто Рико"
+ },
+ "RE": {
+ "name": "Реюнион"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "РумъниÑ"
+ },
+ "RU": {
+ "name": "РуÑиÑ"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и ПринÑипи"
+ },
+ "SA": {
+ "name": "СаудитÑка ÐрабиÑ"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Ян Майен"
+ },
+ "SH": {
+ "name": "Света Елена"
+ },
+ "KP": {
+ "name": "Северна КореÑ"
+ },
+ "MP": {
+ "name": "Северни МарианÑки оÑтрови"
+ },
+ "VC": {
+ "name": "Сейнт ВинÑънт и Гренадини"
+ },
+ "KN": {
+ "name": "Сейнт ÐšÐ¸Ñ‚Ñ Ð¸ ÐевиÑ"
+ },
+ "LC": {
+ "name": "Сейнт ЛуÑиÑ"
+ },
+ "SC": {
+ "name": "Сейшели"
+ },
+ "BL": {
+ "name": "Сен Бартелеми"
+ },
+ "MF": {
+ "name": "Сен Мартен"
+ },
+ "PM": {
+ "name": "Сен Пиер и Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "EA": {
+ "name": "Сеута и МелиÑ"
+ },
+ "SL": {
+ "name": "Сиера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт Мартен"
+ },
+ "SY": {
+ "name": "СириÑ"
+ },
+ "SK": {
+ "name": "СловакиÑ"
+ },
+ "SI": {
+ "name": "СловениÑ"
+ },
+ "SB": {
+ "name": "Соломонови оÑтрови"
+ },
+ "SO": {
+ "name": "СомалиÑ"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "US": {
+ "name": "Съединени щати"
+ },
+ "RS": {
+ "name": "СърбиÑ"
+ },
+ "TJ": {
+ "name": "ТаджикиÑтан"
+ },
+ "TW": {
+ "name": "Тайван"
+ },
+ "TH": {
+ "name": "Тайланд"
+ },
+ "TZ": {
+ "name": "ТанзаниÑ"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "ТриÑтан да КунÑ"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "TM": {
+ "name": "ТуркмениÑтан"
+ },
+ "TR": {
+ "name": "ТурциÑ"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "УзбекиÑтан"
+ },
+ "UA": {
+ "name": "Украйна"
+ },
+ "HU": {
+ "name": "УнгариÑ"
+ },
+ "WF": {
+ "name": "Ð£Ð¾Ð»Ð¸Ñ Ð¸ Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "ФарьорÑки оÑтрови"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "ФинландиÑ"
+ },
+ "FK": {
+ "name": "ФолклендÑки оÑтрови"
+ },
+ "FR": {
+ "name": "ФранциÑ"
+ },
+ "GF": {
+ "name": "ФренÑка Гвиана"
+ },
+ "PF": {
+ "name": "ФренÑка ПолинезиÑ"
+ },
+ "TF": {
+ "name": "ФренÑки южни територии"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "HN": {
+ "name": "ХондураÑ"
+ },
+ "HK": {
+ "name": "Хонконг, СÐР на Китай"
+ },
+ "HR": {
+ "name": "ХърватиÑ"
+ },
+ "CF": {
+ "name": "ЦентралноафриканÑка република"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "Черна гора"
+ },
+ "CZ": {
+ "name": "ЧехиÑ"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "ШвейцариÑ"
+ },
+ "SE": {
+ "name": "ШвециÑ"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ },
+ "SS": {
+ "name": "Южен Судан"
+ },
+ "ZA": {
+ "name": "Южна Ðфрика"
+ },
+ "GS": {
+ "name": "Южна Ð”Ð¶Ð¾Ñ€Ð´Ð¶Ð¸Ñ Ð¸ Южни Сандвичеви оÑтрови"
+ },
+ "KR": {
+ "name": "Южна КореÑ"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "ЯпониÑ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/bm.json b/library/intl/resources/country/bm.json
new file mode 100644
index 000000000..9207ce667
--- /dev/null
+++ b/library/intl/resources/country/bm.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afiganistaŋ"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Alibani"
+ },
+ "DE": {
+ "name": "Alimaɲi"
+ },
+ "DZ": {
+ "name": "Alizeri"
+ },
+ "US": {
+ "name": "Ameriki"
+ },
+ "VI": {
+ "name": "Ameriki ka Sungurunnin Gun"
+ },
+ "AD": {
+ "name": "Andɔr"
+ },
+ "IO": {
+ "name": "Angilɛ ka ɛndu dugukolo"
+ },
+ "VG": {
+ "name": "AngilÉ› ka Sungurunnin Gun"
+ },
+ "GB": {
+ "name": "Angilɛtɛri"
+ },
+ "AI": {
+ "name": "Angiya"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiga-ni-Barbuda"
+ },
+ "SA": {
+ "name": "Arabiya Sawudiya"
+ },
+ "AE": {
+ "name": "Arabu mara kafoli"
+ },
+ "AM": {
+ "name": "Arimeni"
+ },
+ "AR": {
+ "name": "Arizantin"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "HT": {
+ "name": "Ayiti"
+ },
+ "AZ": {
+ "name": "Azɛrbayjaŋ"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "KY": {
+ "name": "Bama Gun"
+ },
+ "BB": {
+ "name": "Barbadi"
+ },
+ "BH": {
+ "name": "Bareyini"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belizi"
+ },
+ "BJ": {
+ "name": "Benɛn"
+ },
+ "BR": {
+ "name": "Berezili"
+ },
+ "BM": {
+ "name": "Bermudi"
+ },
+ "BE": {
+ "name": "Bɛliziki"
+ },
+ "BD": {
+ "name": "Bɛngiladɛsi"
+ },
+ "BO": {
+ "name": "Bolivi"
+ },
+ "BA": {
+ "name": "Bozni-Ærizigovini"
+ },
+ "BW": {
+ "name": "Bɔtisiwana"
+ },
+ "BG": {
+ "name": "Buligari"
+ },
+ "BN": {
+ "name": "Burinɛyi"
+ },
+ "BF": {
+ "name": "Burukina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butaŋ"
+ },
+ "TD": {
+ "name": "Cadi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Capivɛrdi"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Ceki republiki"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CY": {
+ "name": "Cipri"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemarki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Dɔmimiki republiki"
+ },
+ "DM": {
+ "name": "Dɔminiki"
+ },
+ "EC": {
+ "name": "Ekwatɔr"
+ },
+ "ER": {
+ "name": "Eritere"
+ },
+ "EE": {
+ "name": "Esetoni"
+ },
+ "ES": {
+ "name": "Esipaɲi"
+ },
+ "ET": {
+ "name": "Etiopi"
+ },
+ "EG": {
+ "name": "Eziputi"
+ },
+ "SH": {
+ "name": "ÆlÉ›ni Senu"
+ },
+ "ID": {
+ "name": "Ændonezi"
+ },
+ "IN": {
+ "name": "Ændujamana"
+ },
+ "FR": {
+ "name": "Faransi"
+ },
+ "GF": {
+ "name": "Faransi ka gwiyani"
+ },
+ "PF": {
+ "name": "Faransi ka polinezi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finilandi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabɔŋ"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GM": {
+ "name": "Ganbi"
+ },
+ "GR": {
+ "name": "Gɛrɛsi"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine Bisawo"
+ },
+ "GQ": {
+ "name": "Gine ekwatɔri"
+ },
+ "GL": {
+ "name": "Gɔrɔhenelandi"
+ },
+ "GD": {
+ "name": "Granadi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "Gwadelup"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GY": {
+ "name": "Gwiyana"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hɔndirasi"
+ },
+ "HU": {
+ "name": "Hɔngri"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Iraŋ"
+ },
+ "IE": {
+ "name": "Irilandi"
+ },
+ "RU": {
+ "name": "Irisi"
+ },
+ "IS": {
+ "name": "Isilandi"
+ },
+ "IL": {
+ "name": "Isirayeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "NC": {
+ "name": "Kaledoni Koura"
+ },
+ "KH": {
+ "name": "Kamboji"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistaŋ"
+ },
+ "KE": {
+ "name": "Keniya"
+ },
+ "KP": {
+ "name": "Kɛɲɛka Kore"
+ },
+ "MP": {
+ "name": "Kɛɲɛka Mariyani Gun"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizisitaŋ"
+ },
+ "CI": {
+ "name": "Kodiwari"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komɔri"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo ka republiki demɔkratiki"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kowɛti"
+ },
+ "TL": {
+ "name": "Kɔrɔn Timɔr"
+ },
+ "CR": {
+ "name": "Kɔsitarika"
+ },
+ "KN": {
+ "name": "KristÉ”fo-Senu-ni-ÆevÉ›s"
+ },
+ "HR": {
+ "name": "Kroasi"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuki Gun"
+ },
+ "LA": {
+ "name": "Layosi"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "LB": {
+ "name": "Libaŋ"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LU": {
+ "name": "Likisanburu"
+ },
+ "LI": {
+ "name": "Lisɛnsitayini"
+ },
+ "LT": {
+ "name": "Lituyani"
+ },
+ "LC": {
+ "name": "Lusi-Senu"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedɔni"
+ },
+ "MG": {
+ "name": "Madagasikari"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malɛzi"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malti"
+ },
+ "FK": {
+ "name": "Maluwini Gun"
+ },
+ "SM": {
+ "name": "Marini-Senu"
+ },
+ "MH": {
+ "name": "Marisali Gun"
+ },
+ "MQ": {
+ "name": "Maritiniki"
+ },
+ "MA": {
+ "name": "Marɔku"
+ },
+ "YT": {
+ "name": "Mayoti"
+ },
+ "MX": {
+ "name": "Meksiki"
+ },
+ "FM": {
+ "name": "Mikironesi"
+ },
+ "MD": {
+ "name": "Molidavi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MN": {
+ "name": "Moŋoli"
+ },
+ "MS": {
+ "name": "Moŋsera"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MZ": {
+ "name": "Mozanbiki"
+ },
+ "MR": {
+ "name": "Mɔritani"
+ },
+ "MM": {
+ "name": "Myanimari"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nawuru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NG": {
+ "name": "Nizeriya"
+ },
+ "NE": {
+ "name": "Nizɛri"
+ },
+ "NO": {
+ "name": "Nɔriwɛzi"
+ },
+ "NF": {
+ "name": "Nɔrofoliki Gun"
+ },
+ "NU": {
+ "name": "Nyuwe"
+ },
+ "OM": {
+ "name": "Omaŋ"
+ },
+ "AU": {
+ "name": "Ositirali"
+ },
+ "AT": {
+ "name": "Otirisi"
+ },
+ "PK": {
+ "name": "Pakisitaŋ"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PS": {
+ "name": "Palesitini"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwasi-Gine-Koura"
+ },
+ "PY": {
+ "name": "Paraguwayi"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "NL": {
+ "name": "Peyiba"
+ },
+ "PN": {
+ "name": "Pitikarini"
+ },
+ "PM": {
+ "name": "Piyɛri-Senu-ni-Mikelɔŋ"
+ },
+ "PL": {
+ "name": "Poloɲi"
+ },
+ "PT": {
+ "name": "Pɔritigali"
+ },
+ "PR": {
+ "name": "Pɔrotoriko"
+ },
+ "RE": {
+ "name": "Reyuɲɔŋ"
+ },
+ "RO": {
+ "name": "Rumani"
+ },
+ "RW": {
+ "name": "Ruwanda"
+ },
+ "SV": {
+ "name": "Salivadɔr"
+ },
+ "SB": {
+ "name": "Salomo Gun"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa amerikani"
+ },
+ "CF": {
+ "name": "Santarafiriki"
+ },
+ "ST": {
+ "name": "Sawo Tome-ni-Prinicipe"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sesɛli"
+ },
+ "SG": {
+ "name": "Sɛngapuri"
+ },
+ "CL": {
+ "name": "Sili"
+ },
+ "CN": {
+ "name": "Siniwajamana"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siri"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SL": {
+ "name": "Siyera Lewɔni"
+ },
+ "SI": {
+ "name": "Sloveni"
+ },
+ "SK": {
+ "name": "Slowaki"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaŋ"
+ },
+ "SR": {
+ "name": "Surinami"
+ },
+ "SE": {
+ "name": "Suwɛdi"
+ },
+ "CH": {
+ "name": "Suwisi"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "TJ": {
+ "name": "Tajikisitani"
+ },
+ "TZ": {
+ "name": "Tanzani"
+ },
+ "TH": {
+ "name": "Tayilandi"
+ },
+ "TW": {
+ "name": "Tayiwani"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinite-ni-Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TR": {
+ "name": "Turiki"
+ },
+ "TC": {
+ "name": "Turiki Gun ni Kayiki"
+ },
+ "TM": {
+ "name": "Turikimenisitani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukɛrɛni"
+ },
+ "UY": {
+ "name": "Urugwayi"
+ },
+ "UZ": {
+ "name": "Uzebekisitani"
+ },
+ "VU": {
+ "name": "Vanuwatu"
+ },
+ "VA": {
+ "name": "Vatikaŋ"
+ },
+ "VE": {
+ "name": "Venezuwela"
+ },
+ "VC": {
+ "name": "Vinisɛn-Senu-ni-Grenadini"
+ },
+ "WF": {
+ "name": "Walisi-ni-Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "VN": {
+ "name": "Wiyɛtinamu"
+ },
+ "ZA": {
+ "name": "Worodugu Afriki"
+ },
+ "KR": {
+ "name": "Worodugu Kore"
+ },
+ "YE": {
+ "name": "Yemɛni"
+ },
+ "JM": {
+ "name": "Zamayiki"
+ },
+ "ZM": {
+ "name": "Zanbi"
+ },
+ "JP": {
+ "name": "Zapɔn"
+ },
+ "NZ": {
+ "name": "Zelandi Koura"
+ },
+ "GE": {
+ "name": "Zeyɔrzi"
+ },
+ "GI": {
+ "name": "Zibralitari"
+ },
+ "ZW": {
+ "name": "Zimbabuwe"
+ },
+ "JO": {
+ "name": "Zɔrdani"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/bn-IN.json b/library/intl/resources/country/bn-IN.json
new file mode 100644
index 000000000..f6aacc74d
--- /dev/null
+++ b/library/intl/resources/country/bn-IN.json
@@ -0,0 +1,761 @@
+{
+ "AT": {
+ "name": "অসà§à¦Ÿà§à¦°à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AU": {
+ "name": "অসà§à¦Ÿà§à¦°à§‡à¦²à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AO": {
+ "name": "অà§à¦¯à¦¾à¦™à§à¦—োলা"
+ },
+ "AQ": {
+ "name": "অà§à¦¯à¦¾à¦¨à§à¦Ÿà¦¾à¦°à§à¦•à¦Ÿà¦¿à¦•à¦¾"
+ },
+ "AC": {
+ "name": "অà§à¦¯à¦¾à¦¸à¦¸à§‡à¦¨à¦¶à¦¨ আইলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "CI": {
+ "name": "আইভরি কোসà§à¦Ÿ"
+ },
+ "IM": {
+ "name": "আইল অফ মà§à¦¯à¦¾à¦¨"
+ },
+ "IS": {
+ "name": "আইসলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "AZ": {
+ "name": "আজারবাইজান"
+ },
+ "AF": {
+ "name": "আফগানিসà§à¦¤à¦¾à¦¨"
+ },
+ "AS": {
+ "name": "আমেরিকান সামোয়া"
+ },
+ "IE": {
+ "name": "আয়ারলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "AW": {
+ "name": "আরà§à¦¬à¦¾"
+ },
+ "AR": {
+ "name": "আরà§à¦œà§‡à¦¨à§à¦Ÿà¦¿à¦¨à¦¾"
+ },
+ "AM": {
+ "name": "আরà§à¦®à§‡à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "DZ": {
+ "name": "আলজেরিয়া"
+ },
+ "AL": {
+ "name": "আলবà§à¦¯à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AX": {
+ "name": "আলানà§à¦¡ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "UA": {
+ "name": "ইউকà§à¦°à§‡à¦‡à¦¨"
+ },
+ "EC": {
+ "name": "ইকà§à¦¯à¦¼à§‡à¦¡à¦°"
+ },
+ "IT": {
+ "name": "ইতালী"
+ },
+ "ID": {
+ "name": "ইনà§à¦¦à§‹à¦¨à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "ET": {
+ "name": "ইফিওপিয়া"
+ },
+ "YE": {
+ "name": "ইয়েমেন"
+ },
+ "IQ": {
+ "name": "ইরাক"
+ },
+ "IR": {
+ "name": "ইরান"
+ },
+ "ER": {
+ "name": "ইরিতà§à¦°à¦¿à¦¯à¦¼à¦¾"
+ },
+ "IL": {
+ "name": "ইসà§à¦°à¦¾à¦¯à¦¼à§‡à¦²"
+ },
+ "UG": {
+ "name": "উগানà§à¦¡à¦¾"
+ },
+ "UZ": {
+ "name": "উজবেকিসà§à¦¤à¦¾à¦¨"
+ },
+ "KP": {
+ "name": "উতà§à¦¤à¦° কোরিয়া"
+ },
+ "MP": {
+ "name": "উতà§à¦¤à¦°à¦¾à¦žà§à¦šà¦²à§€à¦¯à¦¼ মারিয়ানা দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "UY": {
+ "name": "উরà§à¦—à§à¦¯à¦¼à§‡"
+ },
+ "AG": {
+ "name": "à¦à¦¨à§à¦Ÿà¦¿à¦—à§à¦¯à¦¼à¦¾ ও বারবà§à¦¡à¦¾"
+ },
+ "SV": {
+ "name": "à¦à¦² সালভেদর"
+ },
+ "EE": {
+ "name": "à¦à¦¸à§à¦¤à§‹à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AI": {
+ "name": "à¦à§à¦¯à¦¾à¦™à§à¦—à§à¦‡à¦²à¦¾"
+ },
+ "AD": {
+ "name": "à¦à§à¦¯à¦¾à¦¨à§à¦¡à§‹à¦°à¦¾"
+ },
+ "OM": {
+ "name": "ওমান"
+ },
+ "WF": {
+ "name": "ওয়ালিস ও ফà§à¦Ÿà§à¦¨à¦¾"
+ },
+ "CG": {
+ "name": "কঙà§à¦—ো - বà§à¦°à¦¾à¦œà¦¾à¦­à¦¿à¦²"
+ },
+ "CD": {
+ "name": "কঙà§à¦—ো-কিনশাসা"
+ },
+ "KM": {
+ "name": "কমোরোস"
+ },
+ "KH": {
+ "name": "কমà§à¦¬à§‹à¦¡à¦¿à¦¯à¦¼à¦¾"
+ },
+ "XK": {
+ "name": "কসোভো"
+ },
+ "KZ": {
+ "name": "কাজাকসà§à¦¥à¦¾à¦¨"
+ },
+ "QA": {
+ "name": "কাতার"
+ },
+ "CA": {
+ "name": "কানাডা"
+ },
+ "CU": {
+ "name": "কিউবা"
+ },
+ "CW": {
+ "name": "কিউরাসাও"
+ },
+ "KI": {
+ "name": "কিরিবাতি"
+ },
+ "KG": {
+ "name": "কিরà§à¦—িজিয়া"
+ },
+ "EA": {
+ "name": "কà§à¦‰à¦Ÿà¦¾ à¦à¦¬à¦‚ মেলিলা"
+ },
+ "CK": {
+ "name": "কà§à¦• দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "KW": {
+ "name": "কà§à¦¯à¦¼à§‡à¦¤"
+ },
+ "KE": {
+ "name": "কেনিয়া"
+ },
+ "CV": {
+ "name": "কেপভারà§à¦¦à§‡"
+ },
+ "KY": {
+ "name": "কেমà§à¦¯à¦¾à¦¨ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "CC": {
+ "name": "কোকোস (কিলিং)দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "CO": {
+ "name": "কোলোমà§à¦¬à¦¿à¦¯à¦¼à¦¾"
+ },
+ "CR": {
+ "name": "কোসà§à¦Ÿà¦¾à¦°à¦¿à¦•à¦¾"
+ },
+ "IC": {
+ "name": "কà§à¦¯à¦¾à¦¨à¦¾à¦°à¦¿ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "CM": {
+ "name": "কà§à¦¯à¦¾à¦®à§‡à¦°à§à¦¨"
+ },
+ "BQ": {
+ "name": "কà§à¦¯à¦¾à¦°à¦¿à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨ নেদারলà§à¦¯à¦¾à¦¨à§à¦¡à¦¸"
+ },
+ "CX": {
+ "name": "কà§à¦°à¦¿à¦¸à¦®à¦¾à¦¸ দà§à¦¬à§€à¦ª"
+ },
+ "HR": {
+ "name": "কà§à¦°à§‹à¦¯à¦¼à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "GM": {
+ "name": "গামà§à¦¬à¦¿à¦¯à¦¼à¦¾"
+ },
+ "GN": {
+ "name": "গিনি"
+ },
+ "GW": {
+ "name": "গিনি-বিসাউ"
+ },
+ "GY": {
+ "name": "গিয়ানা"
+ },
+ "GP": {
+ "name": "গà§à¦¯à¦¼à¦¾à¦¦à§‡à¦²à§Œà¦ª"
+ },
+ "GU": {
+ "name": "গà§à¦¯à¦¼à¦¾à¦®"
+ },
+ "GT": {
+ "name": "গোয়াতেমালা"
+ },
+ "GA": {
+ "name": "গà§à¦¯à¦¾à¦¬à¦¨"
+ },
+ "GG": {
+ "name": "গà§à¦°à¦¾à¦žà§à¦œà¦¿"
+ },
+ "GL": {
+ "name": "গà§à¦°à§€à¦¨à¦²à§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "GR": {
+ "name": "গà§à¦°à§€à¦¸"
+ },
+ "GD": {
+ "name": "গà§à¦°à§‡à¦¨à§‡à¦¡à¦¾"
+ },
+ "GH": {
+ "name": "ঘানা"
+ },
+ "TD": {
+ "name": "চাদ"
+ },
+ "CL": {
+ "name": "চিলি"
+ },
+ "CN": {
+ "name": "চীন"
+ },
+ "CZ": {
+ "name": "চেক পà§à¦°à¦œà¦¾à¦¤à¦¨à§à¦¤à§à¦°"
+ },
+ "GE": {
+ "name": "জরà§à¦œà¦¿à¦¯à¦¼à¦¾"
+ },
+ "JO": {
+ "name": "জরà§à¦¡à¦¨"
+ },
+ "JP": {
+ "name": "জাপান"
+ },
+ "JM": {
+ "name": "জামাইকা"
+ },
+ "ZM": {
+ "name": "জামà§à¦¬à¦¿à¦¯à¦¼à¦¾"
+ },
+ "DE": {
+ "name": "জারà§à¦®à¦¾à¦¨à¦¿"
+ },
+ "JE": {
+ "name": "জারà§à¦¸à¦¿"
+ },
+ "DJ": {
+ "name": "জিবà§à¦¤à¦¿"
+ },
+ "GI": {
+ "name": "জিবà§à¦°à¦¾à¦²à§à¦Ÿà¦¾à¦°"
+ },
+ "ZW": {
+ "name": "জিমà§à¦¬à¦¾à¦¬à§‹à¦¯à¦¼à§‡"
+ },
+ "TV": {
+ "name": "টà§à¦­à¦¾à¦²à§"
+ },
+ "TK": {
+ "name": "টোকেলাউ"
+ },
+ "TG": {
+ "name": "টোগো"
+ },
+ "TO": {
+ "name": "টোঙà§à¦—া"
+ },
+ "TA": {
+ "name": "টà§à¦°à¦¿à¦¸à§à¦Ÿà¦¾à¦¨ ডা কà§à¦¨à¦¹à¦¾"
+ },
+ "DK": {
+ "name": "ডেনমারà§à¦•"
+ },
+ "DM": {
+ "name": "ডোমিনিকা"
+ },
+ "DO": {
+ "name": "ডোমেনিকান পà§à¦°à¦œà¦¾à¦¤à¦¨à§à¦¤à§à¦°"
+ },
+ "TW": {
+ "name": "তাইওয়ান"
+ },
+ "TJ": {
+ "name": "তাজিকসà§à¦¥à¦¾à¦¨"
+ },
+ "TZ": {
+ "name": "তাঞà§à¦œà¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "TN": {
+ "name": "তিউনিশিয়া"
+ },
+ "TL": {
+ "name": "তিমà§à¦°-লেসà§à¦¤à§‡"
+ },
+ "TR": {
+ "name": "তà§à¦°à¦¸à§à¦•"
+ },
+ "TM": {
+ "name": "তà§à¦°à§à¦•à¦®à§‡à¦¨à¦¿à¦¸à§à¦¤à¦¾à¦¨"
+ },
+ "TC": {
+ "name": "তà§à¦°à§à¦•à¦¸ ও কাইকোস দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "TT": {
+ "name": "তà§à¦°à¦¿à¦¨à¦¿à¦¨à¦¾à¦¦ ও টোবà§à¦¯à¦¾à¦—ো"
+ },
+ "TH": {
+ "name": "থাইলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "ZA": {
+ "name": "দকà§à¦·à¦¿à¦£ আফà§à¦°à¦¿à¦•à¦¾"
+ },
+ "KR": {
+ "name": "দকà§à¦·à¦¿à¦£ কোরিয়া"
+ },
+ "GS": {
+ "name": "দকà§à¦·à¦¿à¦£ জরà§à¦œà¦¿à¦¯à¦¼à¦¾ ও দকà§à¦·à¦¿à¦£ সà§à¦¯à¦¾à¦¨à§à¦¡à¦‰à¦‡à¦š দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "SS": {
+ "name": "দকà§à¦·à¦¿à¦¨ সà§à¦¦à¦¾à¦¨"
+ },
+ "DG": {
+ "name": "দিয়েগো গারà§à¦¸à¦¿à¦¯à¦¼à¦¾"
+ },
+ "NO": {
+ "name": "নরওয়ে"
+ },
+ "NE": {
+ "name": "নাইজার"
+ },
+ "NG": {
+ "name": "নাইজেরিয়া"
+ },
+ "NR": {
+ "name": "নাউরà§"
+ },
+ "NA": {
+ "name": "নামিবিয়া"
+ },
+ "NC": {
+ "name": "নিউ কà§à¦¯à¦¾à¦²à§‡à¦¡à§‹à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "NZ": {
+ "name": "নিউজিলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "NU": {
+ "name": "নিউয়ে"
+ },
+ "NI": {
+ "name": "নিকারাগà§à¦¯à¦¼à¦¾"
+ },
+ "GQ": {
+ "name": "নিরকà§à¦·à§€à¦¯à¦¼ গিনি"
+ },
+ "NF": {
+ "name": "নিরফোক দà§à¦¬à§€à¦ª"
+ },
+ "NL": {
+ "name": "নেদারলà§à¦¯à¦¾à¦¨à§à¦¡à¦¸"
+ },
+ "NP": {
+ "name": "নেপাল"
+ },
+ "PT": {
+ "name": "পরà§à¦¤à§à¦—াল"
+ },
+ "EH": {
+ "name": "পশà§à¦šà¦¿à¦® সাহারা"
+ },
+ "PK": {
+ "name": "পাকিসà§à¦¤à¦¾à¦¨"
+ },
+ "PA": {
+ "name": "পানামা"
+ },
+ "PG": {
+ "name": "পাপà§à¦¯à¦¼à¦¾ নিউ গিনি"
+ },
+ "PW": {
+ "name": "পালাউ"
+ },
+ "PN": {
+ "name": "পিটকেয়ারà§à¦¨ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "PE": {
+ "name": "পিরà§"
+ },
+ "PR": {
+ "name": "পà§à¦¯à¦¼à§‡à¦°à§à¦¤à§‹ রিকো"
+ },
+ "PL": {
+ "name": "পোলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "PY": {
+ "name": "পà§à¦¯à¦¾à¦°à¦¾à¦—à§à¦¯à¦¼à§‡"
+ },
+ "FK": {
+ "name": "ফকলà§à¦¯à¦¾à¦¨à§à¦¡ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "GF": {
+ "name": "ফরাসী গায়ানা"
+ },
+ "TF": {
+ "name": "ফরাসী দকà§à¦·à¦¿à¦£à¦¾à¦žà§à¦šà¦²"
+ },
+ "PF": {
+ "name": "ফরাসী পলিনেশিয়া"
+ },
+ "FJ": {
+ "name": "ফিজি"
+ },
+ "FI": {
+ "name": "ফিনলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "PH": {
+ "name": "ফিলিপাইন"
+ },
+ "PS": {
+ "name": "ফিলিসà§à¦¤à¦¿à¦¨ অঞà§à¦šà¦²à¦¸à¦®à§‚হ"
+ },
+ "FO": {
+ "name": "ফà§à¦¯à¦¾à¦°à¦“ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "FR": {
+ "name": "ফà§à¦°à¦¾à¦¨à§à¦¸"
+ },
+ "BW": {
+ "name": "বতসোয়ানা"
+ },
+ "BA": {
+ "name": "বসনিয়া ও হারà§à¦œà§‡à¦—োভিনা"
+ },
+ "BD": {
+ "name": "বাংলাদেশ"
+ },
+ "BB": {
+ "name": "বারবাদোস"
+ },
+ "BM": {
+ "name": "বারমà§à¦¡à¦¾"
+ },
+ "BH": {
+ "name": "বাহরাইন"
+ },
+ "BS": {
+ "name": "বাহামা দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "BF": {
+ "name": "বà§à¦°à¦•à¦¿à¦¨à¦¾ ফাসো"
+ },
+ "BI": {
+ "name": "বà§à¦°à§à¦¨à§à¦¡à¦¿"
+ },
+ "BG": {
+ "name": "বà§à¦²à¦—েরিয়া"
+ },
+ "BJ": {
+ "name": "বেনিন"
+ },
+ "BE": {
+ "name": "বেলজিয়াম"
+ },
+ "BZ": {
+ "name": "বেলিজ"
+ },
+ "BY": {
+ "name": "বেলোরà§à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "BO": {
+ "name": "বোলিভিয়া"
+ },
+ "BR": {
+ "name": "বà§à¦°à¦¾à¦œà¦¿à¦²"
+ },
+ "IO": {
+ "name": "বà§à¦°à¦¿à¦Ÿà¦¿à¦¶ ভারত মহাসাগরীয় অঞà§à¦šà¦²"
+ },
+ "VG": {
+ "name": "বà§à¦°à¦¿à¦Ÿà¦¿à¦¶ ভারà§à¦œà¦¿à¦¨ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "BN": {
+ "name": "বà§à¦°à§à¦¨à§‡à¦‡"
+ },
+ "VU": {
+ "name": "ভানà§à¦¯à¦¼à¦¾à¦Ÿà§"
+ },
+ "IN": {
+ "name": "ভারত"
+ },
+ "VN": {
+ "name": "ভিয়েতনাম"
+ },
+ "BT": {
+ "name": "ভà§à¦Ÿà¦¾à¦¨"
+ },
+ "VE": {
+ "name": "ভেনেজà§à¦¯à¦¼à§‡à¦²à¦¾"
+ },
+ "VA": {
+ "name": "ভà§à¦¯à¦¾à¦Ÿà¦¿à¦•à¦¾à¦¨ সিটি"
+ },
+ "MN": {
+ "name": "মঙà§à¦—োলিয়া"
+ },
+ "CF": {
+ "name": "মধà§à¦¯ আফà§à¦°à¦¿à¦•à¦¾à¦° পà§à¦°à¦œà¦¾à¦¤à¦¨à§à¦¤à§à¦°"
+ },
+ "MS": {
+ "name": "মনà§à¦Ÿà¦¸à§‡à¦°à¦¾à¦Ÿ"
+ },
+ "ME": {
+ "name": "মনà§à¦Ÿà¦¿à¦¨à¦¿à¦—à§à¦°à§‹"
+ },
+ "MR": {
+ "name": "মরিতানিয়া"
+ },
+ "MU": {
+ "name": "মরিশাস"
+ },
+ "FM": {
+ "name": "মাইকà§à¦°à§‹à¦¨à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "MG": {
+ "name": "মাদাগাসà§à¦•à¦¾à¦°"
+ },
+ "MM": {
+ "name": "মায়ানমার (বারà§à¦®à¦¾)"
+ },
+ "YT": {
+ "name": "মায়োতà§à¦¤à§‡"
+ },
+ "VI": {
+ "name": "মারà§à¦•à¦¿à¦¨ ভারà§à¦œà¦¿à¦¨ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "US": {
+ "name": "মারà§à¦•à¦¿à¦¨ যà§à¦•à§à¦¤à¦°à¦¾à¦·à§à¦Ÿà§à¦°"
+ },
+ "MQ": {
+ "name": "মারà§à¦Ÿà¦¿à¦¨à¦¿à¦•"
+ },
+ "MH": {
+ "name": "মারà§à¦¶à¦¾à¦² দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "MV": {
+ "name": "মালদà§à¦¬à§€à¦ª"
+ },
+ "MY": {
+ "name": "মালয়েশিয়া"
+ },
+ "MW": {
+ "name": "মালাউই"
+ },
+ "ML": {
+ "name": "মালি"
+ },
+ "MT": {
+ "name": "মালà§à¦Ÿà¦¾"
+ },
+ "EG": {
+ "name": "মিশর"
+ },
+ "MX": {
+ "name": "মেকà§à¦¸à¦¿à¦•à§‹"
+ },
+ "MZ": {
+ "name": "মোজামà§à¦¬à¦¿à¦•"
+ },
+ "MC": {
+ "name": "মোনাকো"
+ },
+ "MA": {
+ "name": "মোরকà§à¦•à§‹"
+ },
+ "MD": {
+ "name": "মোলà§à¦¦à¦¾à¦­à¦¿à¦¯à¦¼à¦¾"
+ },
+ "MO": {
+ "name": "মà§à¦¯à¦¾à¦•à¦¾à¦“ à¦à¦¸ ঠআর চায়না"
+ },
+ "MK": {
+ "name": "মà§à¦¯à¦¾à¦¸à¦¾à¦¡à§‹à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "GB": {
+ "name": "যà§à¦•à§à¦¤à¦°à¦¾à¦œà§à¦¯"
+ },
+ "UM": {
+ "name": "যà§à¦•à§à¦¤à¦°à¦¾à¦·à§à¦Ÿà§à¦°à§‡à¦° পারà§à¦¶à§à¦¬à¦¬à¦°à§à¦¤à§€ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "RU": {
+ "name": "রাশিয়া"
+ },
+ "RE": {
+ "name": "রিইউনিয়ন"
+ },
+ "RO": {
+ "name": "রà§à¦®à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "RW": {
+ "name": "রà§à¦¯à¦¼à¦¾à¦¨à§à¦¡à¦¾"
+ },
+ "LR": {
+ "name": "লাইবেরিয়া"
+ },
+ "LA": {
+ "name": "লাওস"
+ },
+ "LU": {
+ "name": "লাকà§à¦¸à§‡à¦®à¦¬à¦¾à¦°à§à¦—"
+ },
+ "LV": {
+ "name": "লাতà§à¦­à¦¿à¦¯à¦¼à¦¾"
+ },
+ "LI": {
+ "name": "লিচেনসà§à¦Ÿà§‡à¦‡à¦¨"
+ },
+ "LT": {
+ "name": "লিথà§à¦¯à¦¼à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "LY": {
+ "name": "লিবিয়া"
+ },
+ "LB": {
+ "name": "লেবানন"
+ },
+ "LS": {
+ "name": "লেসোথো"
+ },
+ "LK": {
+ "name": "শà§à¦°à§€à¦²à¦™à§à¦•à¦¾"
+ },
+ "SK": {
+ "name": "শà§à¦²à§‹à¦­à¦¾à¦•à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AE": {
+ "name": "সংযà§à¦•à§à¦¤ আরব আমিরাত"
+ },
+ "SB": {
+ "name": "সলোমন দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "CY": {
+ "name": "সাইপà§à¦°à¦¾à¦¸"
+ },
+ "ST": {
+ "name": "সাওটোমা ও পà§à¦°à¦¿à¦¨à§à¦¸à¦¿à¦ªà¦¿"
+ },
+ "SM": {
+ "name": "সান মারিনো"
+ },
+ "WS": {
+ "name": "সামোয়া"
+ },
+ "RS": {
+ "name": "সারà§à¦¬à¦¿à¦¯à¦¼à¦¾"
+ },
+ "SG": {
+ "name": "সিঙà§à¦—াপà§à¦°"
+ },
+ "SX": {
+ "name": "সিনà§à¦Ÿ মারà§à¦Ÿà§‡à¦¨"
+ },
+ "SL": {
+ "name": "সিয়েরালিওন"
+ },
+ "SY": {
+ "name": "সিরিয়া"
+ },
+ "SC": {
+ "name": "সিসিলি"
+ },
+ "CH": {
+ "name": "সà§à¦‡à¦œà¦¾à¦°à¦²à§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "SE": {
+ "name": "সà§à¦‡à¦¡à§‡à¦¨"
+ },
+ "SD": {
+ "name": "সà§à¦¦à¦¾à¦¨"
+ },
+ "SR": {
+ "name": "সà§à¦°à¦¿à¦¨à¦¾à¦®"
+ },
+ "SN": {
+ "name": "সেনেগাল"
+ },
+ "KN": {
+ "name": "সেনà§à¦Ÿ কিটস ও নেভিস"
+ },
+ "PM": {
+ "name": "সেনà§à¦Ÿ পিয়ের ও মিকà§à¦¯à¦¼à§‡à¦²à¦¨"
+ },
+ "BL": {
+ "name": "সেনà§à¦Ÿ বারথেলিমি"
+ },
+ "VC": {
+ "name": "সেনà§à¦Ÿ ভিনসেনà§à¦Ÿ ও দà§à¦¯à¦¾ গà§à¦°à§‡à¦¨à¦¾à¦¡à¦¿à¦¨à¦¸"
+ },
+ "MF": {
+ "name": "সেনà§à¦Ÿ মারà§à¦Ÿà¦¿à¦¨"
+ },
+ "LC": {
+ "name": "সেনà§à¦Ÿ লà§à¦¸à¦¿à¦¯à¦¼à¦¾"
+ },
+ "SH": {
+ "name": "সেনà§à¦Ÿ হেলেনা"
+ },
+ "SO": {
+ "name": "সোমালিয়া"
+ },
+ "SZ": {
+ "name": "সোয়াজিলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "SA": {
+ "name": "সৌদি আরব"
+ },
+ "ES": {
+ "name": "সà§à¦ªà§‡à¦¨"
+ },
+ "SJ": {
+ "name": "সà§à¦¬à¦¾à¦²à¦¬à¦¾à¦°à§à¦¡ ও জান মেয়েন"
+ },
+ "SI": {
+ "name": "সà§à¦²à§‹à¦­à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "HK": {
+ "name": "হংকং à¦à¦¸à¦à¦†à¦° চীনা"
+ },
+ "HN": {
+ "name": "হণà§à¦¡à§à¦°à¦¾à¦¸"
+ },
+ "HT": {
+ "name": "হাইতি"
+ },
+ "HU": {
+ "name": "হাঙà§à¦—েরি"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/bn.json b/library/intl/resources/country/bn.json
new file mode 100644
index 000000000..b55778f7b
--- /dev/null
+++ b/library/intl/resources/country/bn.json
@@ -0,0 +1,761 @@
+{
+ "AT": {
+ "name": "অসà§à¦Ÿà§à¦°à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AU": {
+ "name": "অসà§à¦Ÿà§à¦°à§‡à¦²à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AO": {
+ "name": "অà§à¦¯à¦¾à¦™à§à¦—োলা"
+ },
+ "AQ": {
+ "name": "অà§à¦¯à¦¾à¦¨à§à¦Ÿà¦¾à¦°à§à¦•à¦Ÿà¦¿à¦•à¦¾"
+ },
+ "AC": {
+ "name": "অà§à¦¯à¦¾à¦¸à¦¸à§‡à¦¨à¦¶à¦¨ আইলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "CI": {
+ "name": "আইভরি কোসà§à¦Ÿ"
+ },
+ "IM": {
+ "name": "আইল অফ মà§à¦¯à¦¾à¦¨"
+ },
+ "IS": {
+ "name": "আইসলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "AZ": {
+ "name": "আজারবাইজান"
+ },
+ "AF": {
+ "name": "আফগানিসà§à¦¤à¦¾à¦¨"
+ },
+ "AS": {
+ "name": "আমেরিকান সামোয়া"
+ },
+ "IE": {
+ "name": "আয়ারলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "AW": {
+ "name": "আরà§à¦¬à¦¾"
+ },
+ "AR": {
+ "name": "আরà§à¦œà§‡à¦¨à§à¦Ÿà¦¿à¦¨à¦¾"
+ },
+ "AM": {
+ "name": "আরà§à¦®à§‡à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "DZ": {
+ "name": "আলজেরিয়া"
+ },
+ "AL": {
+ "name": "আলবà§à¦¯à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AX": {
+ "name": "আলানà§à¦¡ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "UA": {
+ "name": "ইউকà§à¦°à§‡à¦‡à¦¨"
+ },
+ "EC": {
+ "name": "ইকà§à¦¯à¦¼à§‡à¦¡à¦°"
+ },
+ "IT": {
+ "name": "ইতালী"
+ },
+ "ID": {
+ "name": "ইনà§à¦¦à§‹à¦¨à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "ET": {
+ "name": "ইফিওপিয়া"
+ },
+ "YE": {
+ "name": "ইয়েমেন"
+ },
+ "IQ": {
+ "name": "ইরাক"
+ },
+ "IR": {
+ "name": "ইরান"
+ },
+ "ER": {
+ "name": "ইরিতà§à¦°à¦¿à¦¯à¦¼à¦¾"
+ },
+ "IL": {
+ "name": "ইসà§à¦°à¦¾à¦¯à¦¼à§‡à¦²"
+ },
+ "UG": {
+ "name": "উগানà§à¦¡à¦¾"
+ },
+ "UZ": {
+ "name": "উজবেকিসà§à¦¤à¦¾à¦¨"
+ },
+ "KP": {
+ "name": "উতà§à¦¤à¦° কোরিয়া"
+ },
+ "MP": {
+ "name": "উতà§à¦¤à¦°à¦¾à¦žà§à¦šà¦²à§€à¦¯à¦¼ মারিয়ানা দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "UY": {
+ "name": "উরà§à¦—à§à¦¯à¦¼à§‡"
+ },
+ "AG": {
+ "name": "à¦à¦¨à§à¦Ÿà¦¿à¦—à§à¦¯à¦¼à¦¾ ও বারবà§à¦¡à¦¾"
+ },
+ "SV": {
+ "name": "à¦à¦² সালভেদর"
+ },
+ "EE": {
+ "name": "à¦à¦¸à§à¦¤à§‹à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AI": {
+ "name": "à¦à§à¦¯à¦¾à¦™à§à¦—à§à¦‡à¦²à¦¾"
+ },
+ "AD": {
+ "name": "à¦à§à¦¯à¦¾à¦¨à§à¦¡à§‹à¦°à¦¾"
+ },
+ "OM": {
+ "name": "ওমান"
+ },
+ "WF": {
+ "name": "ওয়ালিস ও ফà§à¦Ÿà§à¦¨à¦¾"
+ },
+ "CG": {
+ "name": "কঙà§à¦—ো - বà§à¦°à¦¾à¦œà¦¾à¦­à¦¿à¦²"
+ },
+ "CD": {
+ "name": "কঙà§à¦—ো-কিনশাসা"
+ },
+ "KM": {
+ "name": "কমোরোস"
+ },
+ "KH": {
+ "name": "কমà§à¦¬à§‹à¦¡à¦¿à¦¯à¦¼à¦¾"
+ },
+ "XK": {
+ "name": "কসোভো"
+ },
+ "KZ": {
+ "name": "কাজাকসà§à¦¥à¦¾à¦¨"
+ },
+ "QA": {
+ "name": "কাতার"
+ },
+ "CA": {
+ "name": "কানাডা"
+ },
+ "CU": {
+ "name": "কিউবা"
+ },
+ "CW": {
+ "name": "কিউরাসাও"
+ },
+ "KI": {
+ "name": "কিরিবাতি"
+ },
+ "KG": {
+ "name": "কিরà§à¦—িজিয়া"
+ },
+ "EA": {
+ "name": "কà§à¦‰à¦Ÿà¦¾ à¦à¦¬à¦‚ মেলিলা"
+ },
+ "CK": {
+ "name": "কà§à¦• দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "KW": {
+ "name": "কà§à¦¯à¦¼à§‡à¦¤"
+ },
+ "KE": {
+ "name": "কেনিয়া"
+ },
+ "CV": {
+ "name": "কেপভারà§à¦¦à§‡"
+ },
+ "KY": {
+ "name": "কেমà§à¦¯à¦¾à¦¨ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "CC": {
+ "name": "কোকোস (কিলিং)দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "CO": {
+ "name": "কোলোমà§à¦¬à¦¿à¦¯à¦¼à¦¾"
+ },
+ "CR": {
+ "name": "কোসà§à¦Ÿà¦¾à¦°à¦¿à¦•à¦¾"
+ },
+ "IC": {
+ "name": "কà§à¦¯à¦¾à¦¨à¦¾à¦°à¦¿ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "CM": {
+ "name": "কà§à¦¯à¦¾à¦®à§‡à¦°à§à¦¨"
+ },
+ "BQ": {
+ "name": "কà§à¦¯à¦¾à¦°à¦¿à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨ নেদারলà§à¦¯à¦¾à¦¨à§à¦¡à¦¸"
+ },
+ "CX": {
+ "name": "কà§à¦°à¦¿à¦¸à¦®à¦¾à¦¸ দà§à¦¬à§€à¦ª"
+ },
+ "HR": {
+ "name": "কà§à¦°à§‹à¦¯à¦¼à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "GM": {
+ "name": "গামà§à¦¬à¦¿à¦¯à¦¼à¦¾"
+ },
+ "GN": {
+ "name": "গিনি"
+ },
+ "GW": {
+ "name": "গিনি-বিসাউ"
+ },
+ "GY": {
+ "name": "গিয়ানা"
+ },
+ "GP": {
+ "name": "গà§à¦¯à¦¼à¦¾à¦¦à§‡à¦²à§Œà¦ª"
+ },
+ "GU": {
+ "name": "গà§à¦¯à¦¼à¦¾à¦®"
+ },
+ "GT": {
+ "name": "গোয়াটিমালা"
+ },
+ "GA": {
+ "name": "গà§à¦¯à¦¾à¦¬à¦¨"
+ },
+ "GG": {
+ "name": "গà§à¦°à¦¾à¦žà§à¦œà¦¿"
+ },
+ "GL": {
+ "name": "গà§à¦°à§€à¦¨à¦²à§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "GR": {
+ "name": "গà§à¦°à§€à¦¸"
+ },
+ "GD": {
+ "name": "গà§à¦°à§‡à¦¨à¦¾à¦¡à¦¾"
+ },
+ "GH": {
+ "name": "ঘানা"
+ },
+ "TD": {
+ "name": "চাদ"
+ },
+ "CL": {
+ "name": "চিলি"
+ },
+ "CN": {
+ "name": "চীন"
+ },
+ "CZ": {
+ "name": "চেক পà§à¦°à¦œà¦¾à¦¤à¦¨à§à¦¤à§à¦°"
+ },
+ "GE": {
+ "name": "জরà§à¦œà¦¿à¦¯à¦¼à¦¾"
+ },
+ "JO": {
+ "name": "জরà§à¦¡à¦¨"
+ },
+ "JP": {
+ "name": "জাপান"
+ },
+ "ZM": {
+ "name": "জামà§à¦¬à¦¿à¦¯à¦¼à¦¾"
+ },
+ "DE": {
+ "name": "জারà§à¦®à¦¾à¦¨à¦¿"
+ },
+ "JE": {
+ "name": "জারà§à¦¸à¦¿"
+ },
+ "DJ": {
+ "name": "জিবà§à¦¤à¦¿"
+ },
+ "GI": {
+ "name": "জিবà§à¦°à¦¾à¦²à§à¦Ÿà¦¾à¦°"
+ },
+ "ZW": {
+ "name": "জিমà§à¦¬à¦¾à¦¬à§‹à¦¯à¦¼à§‡"
+ },
+ "JM": {
+ "name": "জà§à¦¯à¦¾à¦®à¦¾à¦‡à¦•à¦¾"
+ },
+ "TV": {
+ "name": "টà§à¦­à¦¾à¦²à§"
+ },
+ "TK": {
+ "name": "টোকেলাউ"
+ },
+ "TG": {
+ "name": "টোগো"
+ },
+ "TO": {
+ "name": "টোঙà§à¦—া"
+ },
+ "TA": {
+ "name": "টà§à¦°à¦¿à¦¸à§à¦Ÿà¦¾à¦¨ ডা কà§à¦¨à¦¹à¦¾"
+ },
+ "DK": {
+ "name": "ডেনমারà§à¦•"
+ },
+ "DM": {
+ "name": "ডোমিনিকা"
+ },
+ "DO": {
+ "name": "ডোমেনিকান পà§à¦°à¦œà¦¾à¦¤à¦¨à§à¦¤à§à¦°"
+ },
+ "TW": {
+ "name": "তাইওয়ান"
+ },
+ "TJ": {
+ "name": "তাজিকসà§à¦¥à¦¾à¦¨"
+ },
+ "TZ": {
+ "name": "তাঞà§à¦œà¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "TN": {
+ "name": "তিউনিশিয়া"
+ },
+ "TL": {
+ "name": "তিমà§à¦°-লেসà§à¦¤à§‡"
+ },
+ "TR": {
+ "name": "তà§à¦°à¦¸à§à¦•"
+ },
+ "TM": {
+ "name": "তà§à¦°à§à¦•à¦®à§‡à¦¨à¦¿à¦¸à§à¦¤à¦¾à¦¨"
+ },
+ "TC": {
+ "name": "তà§à¦°à§à¦•à¦¸ ও কাইকোস দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "TT": {
+ "name": "তà§à¦°à¦¿à¦¨à¦¿à¦¨à¦¾à¦¦ ও টোবà§à¦¯à¦¾à¦—ো"
+ },
+ "TH": {
+ "name": "থাইলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "ZA": {
+ "name": "দকà§à¦·à¦¿à¦£ আফà§à¦°à¦¿à¦•à¦¾"
+ },
+ "KR": {
+ "name": "দকà§à¦·à¦¿à¦£ কোরিয়া"
+ },
+ "GS": {
+ "name": "দকà§à¦·à¦¿à¦£ জরà§à¦œà¦¿à¦¯à¦¼à¦¾ ও দকà§à¦·à¦¿à¦£ সà§à¦¯à¦¾à¦¨à§à¦¡à¦‰à¦‡à¦š দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "SS": {
+ "name": "দকà§à¦·à¦¿à¦¨ সà§à¦¦à¦¾à¦¨"
+ },
+ "DG": {
+ "name": "দিয়েগো গারà§à¦¸à¦¿à¦¯à¦¼à¦¾"
+ },
+ "NO": {
+ "name": "নরওয়ে"
+ },
+ "NE": {
+ "name": "নাইজার"
+ },
+ "NG": {
+ "name": "নাইজেরিয়া"
+ },
+ "NR": {
+ "name": "নাউরà§"
+ },
+ "NA": {
+ "name": "নামিবিয়া"
+ },
+ "NC": {
+ "name": "নিউ কà§à¦¯à¦¾à¦²à§‡à¦¡à§‹à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "NZ": {
+ "name": "নিউজিলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "NU": {
+ "name": "নিউয়ে"
+ },
+ "NI": {
+ "name": "নিকারাগà§à¦¯à¦¼à¦¾"
+ },
+ "GQ": {
+ "name": "নিরকà§à¦·à§€à¦¯à¦¼ গিনি"
+ },
+ "NF": {
+ "name": "নিরফোক দà§à¦¬à§€à¦ª"
+ },
+ "NL": {
+ "name": "নেদারলà§à¦¯à¦¾à¦¨à§à¦¡à¦¸"
+ },
+ "NP": {
+ "name": "নেপাল"
+ },
+ "PT": {
+ "name": "পরà§à¦¤à§à¦—াল"
+ },
+ "EH": {
+ "name": "পশà§à¦šà¦¿à¦® সাহারা"
+ },
+ "PK": {
+ "name": "পাকিসà§à¦¤à¦¾à¦¨"
+ },
+ "PA": {
+ "name": "পানামা"
+ },
+ "PG": {
+ "name": "পাপà§à¦¯à¦¼à¦¾ নিউ গিনি"
+ },
+ "PW": {
+ "name": "পালাউ"
+ },
+ "PN": {
+ "name": "পিটকেয়ারà§à¦¨ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "PE": {
+ "name": "পিরà§"
+ },
+ "PR": {
+ "name": "পà§à¦¯à¦¼à§‡à¦°à§à¦¤à§‹ রিকো"
+ },
+ "PL": {
+ "name": "পোলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "PY": {
+ "name": "পà§à¦¯à¦¾à¦°à¦¾à¦—à§à¦¯à¦¼à§‡"
+ },
+ "FK": {
+ "name": "ফকলà§à¦¯à¦¾à¦¨à§à¦¡ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "GF": {
+ "name": "ফরাসী গায়ানা"
+ },
+ "TF": {
+ "name": "ফরাসী দকà§à¦·à¦¿à¦£à¦¾à¦žà§à¦šà¦²"
+ },
+ "PF": {
+ "name": "ফরাসী পলিনেশিয়া"
+ },
+ "FJ": {
+ "name": "ফিজি"
+ },
+ "FI": {
+ "name": "ফিনলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "PH": {
+ "name": "ফিলিপাইন"
+ },
+ "PS": {
+ "name": "ফিলিসà§à¦¤à¦¿à¦¨ অঞà§à¦šà¦²à¦¸à¦®à§‚হ"
+ },
+ "FO": {
+ "name": "ফà§à¦¯à¦¾à¦°à¦“ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "FR": {
+ "name": "ফà§à¦°à¦¾à¦¨à§à¦¸"
+ },
+ "BW": {
+ "name": "বতসোয়ানা"
+ },
+ "BA": {
+ "name": "বসনিয়া ও হারà§à¦œà§‡à¦—োভিনা"
+ },
+ "BD": {
+ "name": "বাংলাদেশ"
+ },
+ "BB": {
+ "name": "বারবাদোস"
+ },
+ "BM": {
+ "name": "বারমà§à¦¡à¦¾"
+ },
+ "BH": {
+ "name": "বাহরাইন"
+ },
+ "BS": {
+ "name": "বাহামা দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "BF": {
+ "name": "বà§à¦°à¦•à¦¿à¦¨à¦¾ ফাসো"
+ },
+ "BI": {
+ "name": "বà§à¦°à§à¦¨à§à¦¡à¦¿"
+ },
+ "BG": {
+ "name": "বà§à¦²à¦—েরিয়া"
+ },
+ "BJ": {
+ "name": "বেনিন"
+ },
+ "BE": {
+ "name": "বেলজিয়াম"
+ },
+ "BZ": {
+ "name": "বেলিজ"
+ },
+ "BY": {
+ "name": "বেলোরà§à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "BO": {
+ "name": "বোলিভিয়া"
+ },
+ "BR": {
+ "name": "বà§à¦°à¦¾à¦œà¦¿à¦²"
+ },
+ "IO": {
+ "name": "বà§à¦°à¦¿à¦Ÿà¦¿à¦¶ ভারত মহাসাগরীয় অঞà§à¦šà¦²"
+ },
+ "VG": {
+ "name": "বà§à¦°à¦¿à¦Ÿà¦¿à¦¶ ভারà§à¦œà¦¿à¦¨ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "BN": {
+ "name": "বà§à¦°à§à¦¨à§‡à¦‡"
+ },
+ "VU": {
+ "name": "ভানà§à¦¯à¦¼à¦¾à¦Ÿà§"
+ },
+ "IN": {
+ "name": "ভারত"
+ },
+ "VN": {
+ "name": "ভিয়েতনাম"
+ },
+ "BT": {
+ "name": "ভà§à¦Ÿà¦¾à¦¨"
+ },
+ "VE": {
+ "name": "ভেনেজà§à¦¯à¦¼à§‡à¦²à¦¾"
+ },
+ "VA": {
+ "name": "ভà§à¦¯à¦¾à¦Ÿà¦¿à¦•à¦¾à¦¨ সিটি"
+ },
+ "MN": {
+ "name": "মঙà§à¦—োলিয়া"
+ },
+ "CF": {
+ "name": "মধà§à¦¯ আফà§à¦°à¦¿à¦•à¦¾à¦° পà§à¦°à¦œà¦¾à¦¤à¦¨à§à¦¤à§à¦°"
+ },
+ "MS": {
+ "name": "মনà§à¦Ÿà¦¸à§‡à¦°à¦¾à¦Ÿ"
+ },
+ "ME": {
+ "name": "মনà§à¦Ÿà¦¿à¦¨à¦¿à¦—à§à¦°à§‹"
+ },
+ "MR": {
+ "name": "মরিতানিয়া"
+ },
+ "MU": {
+ "name": "মরিশাস"
+ },
+ "FM": {
+ "name": "মাইকà§à¦°à§‹à¦¨à§‡à¦¶à¦¿à¦¯à¦¼à¦¾"
+ },
+ "MG": {
+ "name": "মাদাগাসà§à¦•à¦¾à¦°"
+ },
+ "MM": {
+ "name": "মায়ানমার (বারà§à¦®à¦¾)"
+ },
+ "YT": {
+ "name": "মায়োতà§à¦¤à§‡"
+ },
+ "VI": {
+ "name": "মারà§à¦•à¦¿à¦¨ ভারà§à¦œà¦¿à¦¨ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "US": {
+ "name": "মারà§à¦•à¦¿à¦¨ যà§à¦•à§à¦¤à¦°à¦¾à¦·à§à¦Ÿà§à¦°"
+ },
+ "MQ": {
+ "name": "মারà§à¦Ÿà¦¿à¦¨à¦¿à¦•"
+ },
+ "MH": {
+ "name": "মারà§à¦¶à¦¾à¦² দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "MV": {
+ "name": "মালদà§à¦¬à§€à¦ª"
+ },
+ "MY": {
+ "name": "মালয়েশিয়া"
+ },
+ "MW": {
+ "name": "মালাউই"
+ },
+ "ML": {
+ "name": "মালি"
+ },
+ "MT": {
+ "name": "মালà§à¦Ÿà¦¾"
+ },
+ "EG": {
+ "name": "মিশর"
+ },
+ "MX": {
+ "name": "মেকà§à¦¸à¦¿à¦•à§‹"
+ },
+ "MZ": {
+ "name": "মোজামà§à¦¬à¦¿à¦•"
+ },
+ "MC": {
+ "name": "মোনাকো"
+ },
+ "MA": {
+ "name": "মোরকà§à¦•à§‹"
+ },
+ "MD": {
+ "name": "মোলà§à¦¦à¦¾à¦­à¦¿à¦¯à¦¼à¦¾"
+ },
+ "MO": {
+ "name": "মà§à¦¯à¦¾à¦•à¦¾à¦“ à¦à¦¸ ঠআর চায়না"
+ },
+ "MK": {
+ "name": "মà§à¦¯à¦¾à¦¸à¦¾à¦¡à§‹à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "GB": {
+ "name": "যà§à¦•à§à¦¤à¦°à¦¾à¦œà§à¦¯"
+ },
+ "UM": {
+ "name": "যà§à¦•à§à¦¤à¦°à¦¾à¦·à§à¦Ÿà§à¦°à§‡à¦° পারà§à¦¶à§à¦¬à¦¬à¦°à§à¦¤à§€ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "RU": {
+ "name": "রাশিয়া"
+ },
+ "RE": {
+ "name": "রিইউনিয়ন"
+ },
+ "RO": {
+ "name": "রà§à¦®à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "RW": {
+ "name": "রà§à¦¯à¦¼à¦¾à¦¨à§à¦¡à¦¾"
+ },
+ "LR": {
+ "name": "লাইবেরিয়া"
+ },
+ "LA": {
+ "name": "লাওস"
+ },
+ "LU": {
+ "name": "লাকà§à¦¸à§‡à¦®à¦¬à¦¾à¦°à§à¦—"
+ },
+ "LV": {
+ "name": "লাতà§à¦­à¦¿à¦¯à¦¼à¦¾"
+ },
+ "LI": {
+ "name": "লিচেনসà§à¦Ÿà§‡à¦‡à¦¨"
+ },
+ "LT": {
+ "name": "লিথà§à¦¯à¦¼à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "LY": {
+ "name": "লিবিয়া"
+ },
+ "LB": {
+ "name": "লেবানন"
+ },
+ "LS": {
+ "name": "লেসোথো"
+ },
+ "LK": {
+ "name": "শà§à¦°à§€à¦²à¦™à§à¦•à¦¾"
+ },
+ "SK": {
+ "name": "শà§à¦²à§‹à¦­à¦¾à¦•à¦¿à¦¯à¦¼à¦¾"
+ },
+ "AE": {
+ "name": "সংযà§à¦•à§à¦¤ আরব আমিরাত"
+ },
+ "SB": {
+ "name": "সলোমন দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ"
+ },
+ "CY": {
+ "name": "সাইপà§à¦°à¦¾à¦¸"
+ },
+ "ST": {
+ "name": "সাওটোমা ও পà§à¦°à¦¿à¦¨à§à¦¸à¦¿à¦ªà¦¿"
+ },
+ "SM": {
+ "name": "সান মারিনো"
+ },
+ "WS": {
+ "name": "সামোয়া"
+ },
+ "RS": {
+ "name": "সারà§à¦¬à¦¿à¦¯à¦¼à¦¾"
+ },
+ "SG": {
+ "name": "সিঙà§à¦—াপà§à¦°"
+ },
+ "SX": {
+ "name": "সিনà§à¦Ÿ মারà§à¦Ÿà§‡à¦¨"
+ },
+ "SL": {
+ "name": "সিয়েরালিওন"
+ },
+ "SY": {
+ "name": "সিরিয়া"
+ },
+ "SC": {
+ "name": "সিসিলি"
+ },
+ "CH": {
+ "name": "সà§à¦‡à¦œà¦¾à¦°à¦²à§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "SE": {
+ "name": "সà§à¦‡à¦¡à§‡à¦¨"
+ },
+ "SD": {
+ "name": "সà§à¦¦à¦¾à¦¨"
+ },
+ "SR": {
+ "name": "সà§à¦°à¦¿à¦¨à¦¾à¦®"
+ },
+ "SN": {
+ "name": "সেনেগাল"
+ },
+ "KN": {
+ "name": "সেনà§à¦Ÿ কিটস ও নেভিস"
+ },
+ "PM": {
+ "name": "সেনà§à¦Ÿ পিয়ের ও মিকà§à¦¯à¦¼à§‡à¦²à¦¨"
+ },
+ "BL": {
+ "name": "সেনà§à¦Ÿ বারথেলিমি"
+ },
+ "VC": {
+ "name": "সেনà§à¦Ÿ ভিনসেনà§à¦Ÿ ও দà§à¦¯à¦¾ গà§à¦°à§‡à¦¨à¦¾à¦¡à¦¿à¦¨à¦¸"
+ },
+ "MF": {
+ "name": "সেনà§à¦Ÿ মারà§à¦Ÿà¦¿à¦¨"
+ },
+ "LC": {
+ "name": "সেনà§à¦Ÿ লà§à¦¸à¦¿à¦¯à¦¼à¦¾"
+ },
+ "SH": {
+ "name": "সেনà§à¦Ÿ হেলেনা"
+ },
+ "SO": {
+ "name": "সোমালিয়া"
+ },
+ "SZ": {
+ "name": "সোয়াজিলà§à¦¯à¦¾à¦¨à§à¦¡"
+ },
+ "SA": {
+ "name": "সৌদি আরব"
+ },
+ "ES": {
+ "name": "সà§à¦ªà§‡à¦¨"
+ },
+ "SJ": {
+ "name": "সà§à¦¬à¦¾à¦²à¦¬à¦¾à¦°à§à¦¡ ও জান মেয়েন"
+ },
+ "SI": {
+ "name": "সà§à¦²à§‹à¦­à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾"
+ },
+ "HK": {
+ "name": "হংকং à¦à¦¸à¦à¦†à¦° চীনা"
+ },
+ "HN": {
+ "name": "হণà§à¦¡à§à¦°à¦¾à¦¸"
+ },
+ "HT": {
+ "name": "হাইতি"
+ },
+ "HU": {
+ "name": "হাঙà§à¦—েরি"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/bo.json b/library/intl/resources/country/bo.json
new file mode 100644
index 000000000..99d61cd20
--- /dev/null
+++ b/library/intl/resources/country/bo.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "QA": {
+ "name": "ཀ་à½à½±à½¢à¼"
+ },
+ "CM": {
+ "name": "ཀ་མེ་རུནà¼"
+ },
+ "KH": {
+ "name": "ཀམ་བོ་ཌི་ཡà¼"
+ },
+ "KI": {
+ "name": "ཀི་རི་བཱ་à½à½²à¼"
+ },
+ "KW": {
+ "name": "ཀུ་à½à½ºà½‘་རྒྱལ་à½à½–à¼"
+ },
+ "HR": {
+ "name": "ཀུརོ་ཤི་ཡà¼"
+ },
+ "CK": {
+ "name": "ཀཱུག གླིང་ཕྲེན་རྒྱལ་à½à½–à¼"
+ },
+ "CI": {
+ "name": "ཀོ་ཊེ་ཌི༠ཨི་à½à½¼à¼‹à½¢à½ºà¼"
+ },
+ "KR": {
+ "name": "ཀོ་རི་ཡ༠ལྷོ་མà¼"
+ },
+ "CO": {
+ "name": "ཀོ་ལོམ་བི་ཡà¼"
+ },
+ "CR": {
+ "name": "ཀོ་ས྄ཊ་རི་ཀà¼"
+ },
+ "KZ": {
+ "name": "à½à¼‹à½›à½±à½‚་སྟཱནà¼"
+ },
+ "CU": {
+ "name": "à½à¾±à½´à½ à½´à¼‹à½–à¼"
+ },
+ "KG": {
+ "name": "à½à½²à½¢à¼‹à½‚ིཛ་སྟཱནà¼"
+ },
+ "CA": {
+ "name": "à½à½ºà¼‹à½“་ཌà¼"
+ },
+ "KY": {
+ "name": "à½à½ºà¼‹à½˜à½ºà½“་གླིང་ཕྲནà¼"
+ },
+ "KE": {
+ "name": "à½à½ºà½“་ཉི་ཡà¼"
+ },
+ "GH": {
+ "name": "གྷ་ནà¼"
+ },
+ "GD": {
+ "name": "གྷ་རི་ན་ཌà¼"
+ },
+ "GM": {
+ "name": "གྷམ་བི་ཡà¼"
+ },
+ "GW": {
+ "name": "གྷི་ནི་ཡ་བིས྄་སོà¼"
+ },
+ "GN": {
+ "name": "གྷི་ནི་ཡà¼"
+ },
+ "GR": {
+ "name": "གྷི་རཱི་སིà¼"
+ },
+ "GY": {
+ "name": "གྷུ་ཡཱ་ནà¼"
+ },
+ "GT": {
+ "name": "གྷོ་ཊེ་མ་ལà¼"
+ },
+ "GA": {
+ "name": "གེ་བཽནà¼"
+ },
+ "CL": {
+ "name": "ཅི་ལིà¼"
+ },
+ "CZ": {
+ "name": "ཅཻག་སྤྱི་མà½à½´à½“་རྒྱལ་à½à½–à¼"
+ },
+ "TD": {
+ "name": "ཅཻཌà¼"
+ },
+ "GI": {
+ "name": "ཇིབ་རཱལ་ཊརà¼"
+ },
+ "GE": {
+ "name": "ཇོར་ཇི་ཡà¼"
+ },
+ "JO": {
+ "name": "ཇོར་ཌནà¼"
+ },
+ "DK": {
+ "name": "ཌེན་མཱརà¾à¼"
+ },
+ "DM": {
+ "name": "ཌོ་མིན་ནི་ཀà¼"
+ },
+ "DO": {
+ "name": "ཌོ་མིནནི་ཀན་སྤྱི་མà½à½´à½“་རྒྱལ་à½à½–à¼"
+ },
+ "TR": {
+ "name": "à½à½´à½¢à½€à½²à¼"
+ },
+ "TV": {
+ "name": "à½à½´à¼‹à½à¼‹à½£à½´à¼"
+ },
+ "GB": {
+ "name": "དབྱིན་ཇི་"
+ },
+ "NA": {
+ "name": "ན་མི་བི་ཡà¼"
+ },
+ "NE": {
+ "name": "ནའི་ཇརà¼"
+ },
+ "NG": {
+ "name": "ནཱའི་ཇི་རི་ཡà¼"
+ },
+ "NI": {
+ "name": "ནི་ཀ་ར་གུ་ཨà¼"
+ },
+ "NZ": {
+ "name": "ནིའུ་ཛི་ལན྄ཌà¼"
+ },
+ "NU": {
+ "name": "ནིའུ་à½à¼"
+ },
+ "WS": {
+ "name": "ནུ་བ་ས་མོ་འà¼"
+ },
+ "NO": {
+ "name": "ནོར་à½à½ºà¼"
+ },
+ "NR": {
+ "name": "ནཽ་རུà¼"
+ },
+ "PA": {
+ "name": "པ་ནཱ་མà¼"
+ },
+ "PG": {
+ "name": "པ་པུ་ཨ༠ནིའུ༠གྷི་ནིà¼"
+ },
+ "PW": {
+ "name": "པ་ལཽà¼"
+ },
+ "PK": {
+ "name": "པཀི་སྟཱནà¼"
+ },
+ "PY": {
+ "name": "པཱ་ར་གེà¼"
+ },
+ "PE": {
+ "name": "པེ་རུà¼"
+ },
+ "PL": {
+ "name": "པོ་ལནྜà¼"
+ },
+ "PT": {
+ "name": "པོར་à½à½´à¼‹à½‚ྷལà¼"
+ },
+ "FR": {
+ "name": "ཕ་རཱན་སིà¼"
+ },
+ "FK": {
+ "name": "ཕལà¾à¼‹à½£à½“ྜ་གླིང་ཕྲནà¼"
+ },
+ "FJ": {
+ "name": "ཕི་ཇིà¼"
+ },
+ "PH": {
+ "name": "ཕི་ལི་པིནས྄à¼"
+ },
+ "FI": {
+ "name": "ཕིན་ལན྄ཌà¼"
+ },
+ "BR": {
+ "name": "བ་རཱ་ཛིལà¼"
+ },
+ "BD": {
+ "name": "བངྒ་ལ་དེཤà¼"
+ },
+ "BM": {
+ "name": "བར་མུ་ཌà¼"
+ },
+ "NP": {
+ "name": "བར་ཡུལ་"
+ },
+ "BF": {
+ "name": "བརཀི་ན༠ཕསོà¼"
+ },
+ "BS": {
+ "name": "བྷཱ་མས྄à¼"
+ },
+ "BH": {
+ "name": "བྷཱ་རེནà¼"
+ },
+ "BB": {
+ "name": "བཱརྦ་ཌོས྄à¼"
+ },
+ "BJ": {
+ "name": "བཱེ་ནིནà¼"
+ },
+ "VN": {
+ "name": "བི་དི་ནམà¼"
+ },
+ "BN": {
+ "name": "བུ་རུ་ནེà¼"
+ },
+ "BI": {
+ "name": "བུ་རུན་ཌིà¼"
+ },
+ "BG": {
+ "name": "བུལ་ག་རི་ཡà¼"
+ },
+ "BZ": {
+ "name": "བེ་ལིཛà¼"
+ },
+ "BY": {
+ "name": "བེ་ལུ་རུ་སུà¼"
+ },
+ "BE": {
+ "name": "བེལ་ཇི་ཡམà¼"
+ },
+ "BO": {
+ "name": "བོ་ལི་à½à½²à½¡à¼"
+ },
+ "BW": {
+ "name": "བོཙ་à½à¼‹à½“à¼"
+ },
+ "BA": {
+ "name": "བོསྣི་ཡ་དང་ཧརྫོ་གོ་à½à½²à¼‹à½“à¼"
+ },
+ "MG": {
+ "name": "མ་དཱ་གྷསà¾à½±à½¢à¼"
+ },
+ "ML": {
+ "name": "མ་ལིà¼"
+ },
+ "MY": {
+ "name": "མ་ལེ་ཤི་ཡà¼"
+ },
+ "MT": {
+ "name": "མལ་ཊà¼"
+ },
+ "MV": {
+ "name": "མལ་དྭིབà¼"
+ },
+ "MW": {
+ "name": "མཱ་ལཱ་à½à½²à¼"
+ },
+ "MH": {
+ "name": "མཱར་ཤལ་གླིང་ཕྲེནà¼"
+ },
+ "MX": {
+ "name": "མེཀ་སི་ཀོà¼"
+ },
+ "MC": {
+ "name": "མོ་ན་ཀོà¼"
+ },
+ "MZ": {
+ "name": "མོ་ཛམ་བིགà¼"
+ },
+ "MA": {
+ "name": "མོ་རོ་ཀà¾à½¼à¼"
+ },
+ "MR": {
+ "name": "མཽ་རི་à½à¼‹à½“ི་ཡà¼"
+ },
+ "MU": {
+ "name": "མཽ་རིཤས྄à¼"
+ },
+ "JM": {
+ "name": "ཛ་མེ་ཀà¼"
+ },
+ "ZM": {
+ "name": "ཛམ་བི་ཡà¼"
+ },
+ "DJ": {
+ "name": "ཛི་བུ་à½à½²à¼"
+ },
+ "ZW": {
+ "name": "ཛིམ་བྷཱ་བེà¼"
+ },
+ "VU": {
+ "name": "à½à¼‹à½“ུ་ཨ་à½à½´à¼"
+ },
+ "VA": {
+ "name": "à½à½ºà¼‹à½Šà½²à¼‹à½€à½“à¼"
+ },
+ "VE": {
+ "name": "à½à½ºà¼‹à½“ི་ཛུའེ་ལà¼"
+ },
+ "DE": {
+ "name": "འཇར་མན་"
+ },
+ "MM": {
+ "name": "འབར་མà¼"
+ },
+ "BT": {
+ "name": "འབྲུག་ཡུལà¼"
+ },
+ "UA": {
+ "name": "ཡུ་ཀྲནà¼"
+ },
+ "UG": {
+ "name": "ཡུ་གན་ཌà¼"
+ },
+ "YE": {
+ "name": "ཡེ་མེནà¼"
+ },
+ "IN": {
+ "name": "རྒྱ་གར་"
+ },
+ "CN": {
+ "name": "རྒྱ་ནག"
+ },
+ "JP": {
+ "name": "རི་པིན་"
+ },
+ "RW": {
+ "name": "རུ་à½à½“་ཌà¼"
+ },
+ "RO": {
+ "name": "རོ་མཱ་ནིཡà¼"
+ },
+ "LU": {
+ "name": "ལཀ་ཛམ་བོརྒà¼"
+ },
+ "LV": {
+ "name": "ལà½à¼‹à½–ི་ཡà¼"
+ },
+ "ZA": {
+ "name": "ལྷོ་ ཨཕྲི་ཀà¼"
+ },
+ "AQ": {
+ "name": "ལྷོ་རྩེའི་མà½à½ à¼‹à½‚ླིང་à¼"
+ },
+ "LA": {
+ "name": "ལཱ་འོསà¼"
+ },
+ "LT": {
+ "name": "ལི་à½à½´à¼‹à½¨à½ºà¼‹à½“ི་ཡà¼"
+ },
+ "LY": {
+ "name": "ལི་བི་ཡà¼"
+ },
+ "LR": {
+ "name": "ལི་བེ་རི་ཡà¼"
+ },
+ "LS": {
+ "name": "ལེ་སོ་à½à½¼à¼"
+ },
+ "LI": {
+ "name": "ལེག་à½à½ºà½“་ཚིནà¼"
+ },
+ "LB": {
+ "name": "ལེབ་ནོནà¼"
+ },
+ "LK": {
+ "name": "ཤྲཱི་ལངà¾à¼‹à¼"
+ },
+ "ST": {
+ "name": "ས་འོ་à½à½¼à½‘་མད༠དང༌༠པ྄རིན་སི་པེà¼"
+ },
+ "SK": {
+ "name": "ས་ལཽ་à½à½€à¾±à¼"
+ },
+ "SI": {
+ "name": "ས་ལཽ་à½à½ºà¼‹à½“ི་ཡà¼"
+ },
+ "SM": {
+ "name": "སན་མེ་རི་ནོà¼"
+ },
+ "SC": {
+ "name": "སཱ་ཤཻལà¼"
+ },
+ "CY": {
+ "name": "སཱཡེ་པ་རས྄à¼"
+ },
+ "ES": {
+ "name": "སི་པནà¼"
+ },
+ "SG": {
+ "name": "སིངྒ་པུརà¼"
+ },
+ "SD": {
+ "name": "སུ་དཱནà¼"
+ },
+ "SR": {
+ "name": "སུ་རི་ནཱམà¼"
+ },
+ "SN": {
+ "name": "སེ་ནི་གྷལà¼"
+ },
+ "SL": {
+ "name": "སེ་ཡར་ར༠ལིའོནà¼"
+ },
+ "KN": {
+ "name": "སེནྚ༠ཀིཊྚས྄༠དང༌༠ནེ་བིས྄à¼"
+ },
+ "VC": {
+ "name": "སེནྚ༠à½à½²à½“་སན༠དང༌༠གྷིརིན་ཌིནà¼"
+ },
+ "LC": {
+ "name": "སེནྚ༠ལུ་ཤི་ཡà¼"
+ },
+ "SH": {
+ "name": "སེནྚ༠ཧེ་ལི་ནà¼"
+ },
+ "RS": {
+ "name": "སེར་བི་ཡà¼"
+ },
+ "SO": {
+ "name": "སོ་མཱལི་ཡà¼"
+ },
+ "SB": {
+ "name": "སོ་ལོ་མོན༠གླིང་ཕྲན་ཚོ་à½à½‚à¼"
+ },
+ "MN": {
+ "name": "སོག་ཡུལà¼"
+ },
+ "SA": {
+ "name": "སཽ་དྷི་ཨ་རཱ་བི་ཡà¼"
+ },
+ "HU": {
+ "name": "ཧངྒ་རིà¼"
+ },
+ "NL": {
+ "name": "ཧའོ་ལནà¼"
+ },
+ "CH": {
+ "name": "ཧྲུད་ཧྲིà¼"
+ },
+ "SE": {
+ "name": "ཧྲུའི་à½à½“à¼"
+ },
+ "HT": {
+ "name": "ཧེ་à½à½²à¼"
+ },
+ "HN": {
+ "name": "ཧོན་དུ་རས྄à¼"
+ },
+ "US": {
+ "name": "ཨ་མེ་རི་ཀà¼"
+ },
+ "IE": {
+ "name": "ཨ་ཡར་ལནཌà¼"
+ },
+ "AE": {
+ "name": "ཨ་རབ༠ཨི་མི་རཊ྄༠ཆིག་སྒྲིལ་རྒྱལ་à½à½–à¼"
+ },
+ "AW": {
+ "name": "ཨ་རུ་བà¼"
+ },
+ "IS": {
+ "name": "ཨ་ཨི་སི་ལནདà¼"
+ },
+ "AI": {
+ "name": "ཨང་གུའི་ལà¼"
+ },
+ "AO": {
+ "name": "ཨང་གཽ་ལà¼"
+ },
+ "AF": {
+ "name": "ཨཕ་ག་ནི་སྟཱནà¼"
+ },
+ "AZ": {
+ "name": "ཨཛར་བཡེ་ཇནà¼"
+ },
+ "AR": {
+ "name": "ཨར་ཇེན་ཊི་ནà¼"
+ },
+ "AM": {
+ "name": "ཨར་མེ་ནི་ཡà¼"
+ },
+ "DZ": {
+ "name": "ཨལ་ཇི་རི་ཡà¼"
+ },
+ "AL": {
+ "name": "ཨལ་བཱ་ནི་ཡà¼"
+ },
+ "AT": {
+ "name": "ཨསྟྲི་ཡà¼"
+ },
+ "AU": {
+ "name": "ཨསྟྲེ་ལི་ཡà¼"
+ },
+ "IT": {
+ "name": "ཨི་ཀྲར་ལི་"
+ },
+ "EC": {
+ "name": "ཨི་à½à¾­à¼‹à½Œà½¼à½¢à¼"
+ },
+ "EG": {
+ "name": "ཨི་ཇིབྚà¼"
+ },
+ "ET": {
+ "name": "ཨི་à½à½²à½ à½¼à¼‹à½”ི་ཡà¼"
+ },
+ "IL": {
+ "name": "ཨི་ཛ྄་རེལà¼"
+ },
+ "IQ": {
+ "name": "ཨི་རགà¼"
+ },
+ "IR": {
+ "name": "ཨི་རཱནà¼"
+ },
+ "ID": {
+ "name": "ཨིན་ཌོ་ནེ་ཤི་ཡà¼"
+ },
+ "EE": {
+ "name": "ཨིསྟོ་ནི་ཡà¼"
+ },
+ "UY": {
+ "name": "ཨུ་རུ་གྷེà¼"
+ },
+ "RU": {
+ "name": "ཨུ་རུ་སུ་"
+ },
+ "UZ": {
+ "name": "ཨུཛ་བེ་ཀིསྟཱནà¼"
+ },
+ "ER": {
+ "name": "ཨེ་རི་à½à¾²à½ºà¼‹à½¨à¼"
+ },
+ "AG": {
+ "name": "ཨེན་ཊི་གུ་དང་༠བྷར་བུ་ཌà¼"
+ },
+ "AD": {
+ "name": "ཨེན་ཌོ་རà¼"
+ },
+ "SV": {
+ "name": "ཨེལ༠སཱལ་à½à¼‹à½Œà½¼à½¢à¼"
+ },
+ "OM": {
+ "name": "ཨོ་མནà¼"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/br.json b/library/intl/resources/country/br.json
new file mode 100644
index 000000000..7bdcdbde5
--- /dev/null
+++ b/library/intl/resources/country/br.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "DE": {
+ "name": "Alamagn"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua ha Barbuda"
+ },
+ "CI": {
+ "name": "Aod an Olifant"
+ },
+ "AU": {
+ "name": "Aostralia"
+ },
+ "AT": {
+ "name": "Aostria"
+ },
+ "SA": {
+ "name": "Arabia Saoudat"
+ },
+ "AR": {
+ "name": "Arcʼhantina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AZ": {
+ "name": "Azerbaidjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhoutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ha Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta ha Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "TF": {
+ "name": "Douaroù aostral Frañs"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipt"
+ },
+ "AE": {
+ "name": "Emirelezhioù Arab Unanet"
+ },
+ "AC": {
+ "name": "Enez Ascension"
+ },
+ "CX": {
+ "name": "Enez Christmas"
+ },
+ "NF": {
+ "name": "Enez Norfolk"
+ },
+ "PN": {
+ "name": "Enez Pitcairn"
+ },
+ "IM": {
+ "name": "Enez Vanav"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "PH": {
+ "name": "Filipinez"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frañs"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Ginea"
+ },
+ "GQ": {
+ "name": "Ginea ar Cʼheheder"
+ },
+ "GW": {
+ "name": "Ginea-Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Gres"
+ },
+ "GL": {
+ "name": "Greunland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadeloup"
+ },
+ "GG": {
+ "name": "Gwernenez"
+ },
+ "GF": {
+ "name": "Gwiana cʼhall"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong RMD Sina"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonezia"
+ },
+ "AX": {
+ "name": "Inizi Ã…land"
+ },
+ "KY": {
+ "name": "Inizi Cayman"
+ },
+ "CK": {
+ "name": "Inizi Cook"
+ },
+ "UM": {
+ "name": "Inizi diabell ar Stadoù-Unanet"
+ },
+ "FO": {
+ "name": "Inizi Faero"
+ },
+ "FK": {
+ "name": "Inizi Falkland"
+ },
+ "GS": {
+ "name": "Inizi Georgia ar Su hag Inizi Sandwich ar Su"
+ },
+ "VI": {
+ "name": "Inizi Gwercʼh ar Stadoù-Unanet"
+ },
+ "VG": {
+ "name": "Inizi Gwercʼh Breizh-Veur"
+ },
+ "IC": {
+ "name": "Inizi Kanariez"
+ },
+ "CC": {
+ "name": "Inizi Kokoz"
+ },
+ "MP": {
+ "name": "Inizi Mariana an Norzh"
+ },
+ "MH": {
+ "name": "Inizi Marshall"
+ },
+ "TC": {
+ "name": "Inizi Turks ha Caicos"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "IE": {
+ "name": "Iwerzhon"
+ },
+ "NL": {
+ "name": "Izelvroioù"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jerzenez"
+ },
+ "GI": {
+ "name": "Jibraltar"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "GE": {
+ "name": "Jorjia"
+ },
+ "CV": {
+ "name": "Kab Glas"
+ },
+ "NC": {
+ "name": "Kaledonia Nevez"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kameroun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CY": {
+ "name": "Kiprenez"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komorez"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo - Kinshasa"
+ },
+ "KP": {
+ "name": "Korea an Norzh"
+ },
+ "KR": {
+ "name": "Korea ar Su"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Koweit"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luksembourg"
+ },
+ "MO": {
+ "name": "Macau RMD Sina"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivez"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MR": {
+ "name": "Maouritania"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mecʼhiko"
+ },
+ "FM": {
+ "name": "Mikronezia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MU": {
+ "name": "Moris"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "BQ": {
+ "name": "Nederlandat Karib"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UG": {
+ "name": "Ouganda"
+ },
+ "UZ": {
+ "name": "Ouzbekistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papoua Ginea-Nevez"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perou"
+ },
+ "PF": {
+ "name": "Polinezia Cʼhall"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "DO": {
+ "name": "Republik Dominikan"
+ },
+ "CF": {
+ "name": "Republik Kreizafrikan"
+ },
+ "CZ": {
+ "name": "Republik Tchek"
+ },
+ "RE": {
+ "name": "Reünion"
+ },
+ "GB": {
+ "name": "Rouantelezh-Unanet"
+ },
+ "RO": {
+ "name": "Roumania"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara ar Cʼhornôg"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Kitts ha Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "SH": {
+ "name": "Saint-Helena"
+ },
+ "SB": {
+ "name": "Salomon"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerikan"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "VC": {
+ "name": "Sant Visant hag ar Grenadinez"
+ },
+ "PM": {
+ "name": "Sant-Pêr-ha-Mikelon"
+ },
+ "ST": {
+ "name": "São Tomé ha Príncipe"
+ },
+ "SC": {
+ "name": "Sechelez"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "CN": {
+ "name": "Sina"
+ },
+ "SG": {
+ "name": "Singapour"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "SD": {
+ "name": "Soudan"
+ },
+ "ES": {
+ "name": "Spagn"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stadoù-Unanet"
+ },
+ "ZA": {
+ "name": "Suafrika"
+ },
+ "CH": {
+ "name": "Suis"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SS": {
+ "name": "Susoudan"
+ },
+ "SJ": {
+ "name": "Svalbard"
+ },
+ "SE": {
+ "name": "Sveden"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "IO": {
+ "name": "Tiriad breizhveurat Meurvor Indez"
+ },
+ "PS": {
+ "name": "Tiriadoù Palestina"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ha Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizia"
+ },
+ "TR": {
+ "name": "Turkia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Viêt Nam"
+ },
+ "WF": {
+ "name": "Wallis ha Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "NZ": {
+ "name": "Zeland-Nevez"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/brx.json b/library/intl/resources/country/brx.json
new file mode 100644
index 000000000..772221ec7
--- /dev/null
+++ b/library/intl/resources/country/brx.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "AO": {
+ "name": "अंगोला"
+ },
+ "AZ": {
+ "name": "अज़रबैजान"
+ },
+ "AQ": {
+ "name": "अंटारà¥à¤•à¤Ÿà¤¿à¤•à¤¾"
+ },
+ "AF": {
+ "name": "अफ़ग़ानिसà¥à¤¤à¤¾à¤¨"
+ },
+ "AS": {
+ "name": "अमरिकी समोआ"
+ },
+ "AW": {
+ "name": "अरूबा"
+ },
+ "AR": {
+ "name": "अरà¥à¤œà¥‡à¤£à¥à¤Ÿà¤¿à¤¨à¤¾"
+ },
+ "DZ": {
+ "name": "अलà¥à¤œà¥€à¤°à¤¿à¤¯à¤¾"
+ },
+ "AL": {
+ "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¾"
+ },
+ "IS": {
+ "name": "आइसलैंड"
+ },
+ "IM": {
+ "name": "आईल ऑफ़ मैन"
+ },
+ "CI": {
+ "name": "आईवरी कोसà¥à¤Ÿ"
+ },
+ "IE": {
+ "name": "आयरलैंड"
+ },
+ "AM": {
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾"
+ },
+ "AX": {
+ "name": "आलाà¤à¤¡ दà¥à¤µà¥€à¤ª"
+ },
+ "GQ": {
+ "name": "इकà¥à¤µà¥‡à¤Ÿà¥‹à¤°à¤¿à¤¯à¤² गिनी"
+ },
+ "IT": {
+ "name": "इटली"
+ },
+ "ID": {
+ "name": "इंडोनेशिया"
+ },
+ "ET": {
+ "name": "इथिओपिया"
+ },
+ "IL": {
+ "name": "इसà¥à¤°à¤¾à¤‡à¤²"
+ },
+ "IQ": {
+ "name": "ईराक़"
+ },
+ "IR": {
+ "name": "ईरान"
+ },
+ "UZ": {
+ "name": "उज़बेकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "KP": {
+ "name": "उतà¥à¤¤à¤° कोरिया"
+ },
+ "MP": {
+ "name": "उतà¥à¤¤à¤°à¥€ मारियाना दà¥à¤µà¥€à¤ª"
+ },
+ "AD": {
+ "name": "à¤à¤¨à¥à¤¡à¥‹à¤°à¤¾"
+ },
+ "SV": {
+ "name": "à¤à¤² सालà¥à¤µà¤¾à¤¡à¥‹à¤°"
+ },
+ "EC": {
+ "name": "à¤à¤•à¥à¤µà¤¾à¤¡à¥‹à¤°"
+ },
+ "AI": {
+ "name": "à¤à¤‚गीला"
+ },
+ "AG": {
+ "name": "à¤à¤¨à¥à¤Ÿà¤¿à¤—à¥à¤† à¤à¤µà¤‚ बारबूडा"
+ },
+ "ER": {
+ "name": "à¤à¤°à¤¿à¤Ÿà¥à¤°à¤¿à¤¯à¤¾"
+ },
+ "EE": {
+ "name": "à¤à¤¸à¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¾"
+ },
+ "AT": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾"
+ },
+ "AU": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¾"
+ },
+ "OM": {
+ "name": "ओमान"
+ },
+ "KZ": {
+ "name": "कज़ाखसà¥à¤¤à¤¾à¤¨"
+ },
+ "QA": {
+ "name": "क़तार"
+ },
+ "KH": {
+ "name": "कमà¥à¤¬à¥‹à¤¡à¤¿à¤¯à¤¾"
+ },
+ "KI": {
+ "name": "किरिबाती"
+ },
+ "KG": {
+ "name": "किरà¥à¤—िज़"
+ },
+ "CK": {
+ "name": "कà¥à¤• दà¥à¤µà¥€à¤ª"
+ },
+ "KW": {
+ "name": "कà¥à¤µà¥ˆà¤¤"
+ },
+ "KE": {
+ "name": "केनà¥à¤¯à¤¾"
+ },
+ "KY": {
+ "name": "केमैन दà¥à¤µà¥€à¤ª"
+ },
+ "CA": {
+ "name": "कैनाडा"
+ },
+ "CV": {
+ "name": "कैप वेरà¥à¤¦à¥‡"
+ },
+ "CD": {
+ "name": "कॉंगो किनशासा"
+ },
+ "CG": {
+ "name": "कॉंगो बà¥à¤°à¤¾à¤œà¤¼à¥à¤œà¤¼à¤¾à¤µà¥€à¤²"
+ },
+ "CC": {
+ "name": "कोकोस दà¥à¤µà¥€à¤ª"
+ },
+ "CM": {
+ "name": "कोमेरान"
+ },
+ "KM": {
+ "name": "कोमोरोज़"
+ },
+ "CO": {
+ "name": "कोलमà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "CR": {
+ "name": "कोसà¥à¤Ÿà¤¾à¤°à¥€à¤•à¤¾"
+ },
+ "CU": {
+ "name": "कà¥à¤¯à¥‚बा"
+ },
+ "CX": {
+ "name": "कà¥à¤°à¤¿à¤¸à¥à¤®à¤¸ दà¥à¤µà¥€à¤ª"
+ },
+ "HR": {
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾"
+ },
+ "GM": {
+ "name": "गामà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "GN": {
+ "name": "गिनी"
+ },
+ "GW": {
+ "name": "गीनी-बिसाउ"
+ },
+ "GU": {
+ "name": "गà¥à¤†à¤®"
+ },
+ "GY": {
+ "name": "गà¥à¤¯à¤¾à¤¨à¤¾"
+ },
+ "GG": {
+ "name": "गेरà¥à¤¨à¤¸à¥‡"
+ },
+ "GA": {
+ "name": "गैबॉन"
+ },
+ "GT": {
+ "name": "गोतेदाला"
+ },
+ "GL": {
+ "name": "गà¥à¤°à¥€à¤¨à¤²à¥ˆà¤£à¥à¤¡"
+ },
+ "GR": {
+ "name": "गà¥à¤°à¥€à¤¸"
+ },
+ "GD": {
+ "name": "गà¥à¤°à¥‡à¤¨à¤¡à¤¾"
+ },
+ "GP": {
+ "name": "गà¥à¤µà¤¾à¤¦à¤²à¥à¤ª"
+ },
+ "GH": {
+ "name": "घाना"
+ },
+ "TD": {
+ "name": "चाड"
+ },
+ "CL": {
+ "name": "चिली"
+ },
+ "CN": {
+ "name": "चीन"
+ },
+ "CZ": {
+ "name": "चेक गणराजà¥à¤¯"
+ },
+ "JM": {
+ "name": "जमाइका"
+ },
+ "DE": {
+ "name": "जरà¥à¤®à¤¨à¥€"
+ },
+ "JE": {
+ "name": "जरà¥à¤¸à¥€"
+ },
+ "JP": {
+ "name": "जापान"
+ },
+ "ZM": {
+ "name": "ज़ामà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "GI": {
+ "name": "जिबà¥à¤°à¤¾à¤²à¥à¤Ÿà¤°"
+ },
+ "ZW": {
+ "name": "ज़ीमà¥à¤¬à¤¾à¤¬à¥à¤µà¥‡"
+ },
+ "GE": {
+ "name": "जॉरà¥à¤œà¤¿à¤¯à¤¾"
+ },
+ "JO": {
+ "name": "जॉरà¥à¤¡à¤¨"
+ },
+ "TO": {
+ "name": "टॉंगा"
+ },
+ "TK": {
+ "name": "टोकेलौ"
+ },
+ "TG": {
+ "name": "टोगो"
+ },
+ "TT": {
+ "name": "टà¥à¤°à¤¿à¤¨à¤¿à¤¡à¤¾à¤¡ à¤à¤µà¤‚ टोबैगो"
+ },
+ "DK": {
+ "name": "डेनमारà¥à¤•"
+ },
+ "DO": {
+ "name": "डोमिनिकन गणराजà¥à¤¯"
+ },
+ "DM": {
+ "name": "डोमिनिका"
+ },
+ "TZ": {
+ "name": "तंज़ानिया"
+ },
+ "TW": {
+ "name": "ताइवान"
+ },
+ "TJ": {
+ "name": "ताजिकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "TM": {
+ "name": "तà¥à¤°à¥à¤•à¤®à¥‡à¤¨à¥€à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "TR": {
+ "name": "तà¥à¤°à¥à¤•à¥€"
+ },
+ "TC": {
+ "name": "तà¥à¤°à¥à¤•à¥€ à¤à¤µà¤‚ कैकोज़ दà¥à¤µà¥€à¤ª"
+ },
+ "TV": {
+ "name": "तà¥à¤µà¤¾à¤²à¥"
+ },
+ "TN": {
+ "name": "तà¥à¤¯à¥à¤¨à¤¿à¤¶à¤¿à¤¯à¤¾"
+ },
+ "TH": {
+ "name": "थाइलैणà¥à¤¡"
+ },
+ "ZA": {
+ "name": "दकà¥à¤·à¤¿à¤£ अफà¥à¤°à¥€à¤•à¤¾"
+ },
+ "KR": {
+ "name": "दकà¥à¤·à¤¿à¤£ कोरिया"
+ },
+ "GS": {
+ "name": "दकà¥à¤·à¤¿à¤£ जोरà¥à¤œà¤¿à¤¯à¤¾ à¤à¤µà¤‚ दकà¥à¤·à¤¿à¤£ सैंडवीच दà¥à¤µà¥€à¤ª"
+ },
+ "DJ": {
+ "name": "दà¥à¤œà¤¿à¤¬à¥‚ती"
+ },
+ "NG": {
+ "name": "नाइजीरिया"
+ },
+ "NE": {
+ "name": "नाइजेर"
+ },
+ "NR": {
+ "name": "नाउरू"
+ },
+ "NA": {
+ "name": "नामीबिया"
+ },
+ "NI": {
+ "name": "निकारागà¥à¤†"
+ },
+ "NU": {
+ "name": "नीयूà¤"
+ },
+ "NL": {
+ "name": "नेदरलैणà¥à¤¡"
+ },
+ "NP": {
+ "name": "नेपाल"
+ },
+ "NF": {
+ "name": "नॉरफ़ॉक दà¥à¤µà¥€à¤ª"
+ },
+ "NO": {
+ "name": "नॉरà¥à¤µà¥‡"
+ },
+ "NC": {
+ "name": "नà¥à¤¯à¥‚ कैलेडोनिया"
+ },
+ "NZ": {
+ "name": "नà¥à¤¯à¥‚ज़ीलैंड"
+ },
+ "PA": {
+ "name": "पनामा"
+ },
+ "PW": {
+ "name": "पलाऊ"
+ },
+ "EH": {
+ "name": "पशà¥à¤šà¤¿à¤®à¥€ सहारा"
+ },
+ "PK": {
+ "name": "पाकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "PG": {
+ "name": "पापà¥à¤† नà¥à¤¯à¥‚ गिनी"
+ },
+ "PY": {
+ "name": "पारागà¥à¤"
+ },
+ "PN": {
+ "name": "पिटकेरà¥à¤¨"
+ },
+ "PR": {
+ "name": "पà¥à¤à¤°à¥à¤Ÿà¥‹ रीको"
+ },
+ "PT": {
+ "name": "पà¥à¤°à¥à¤¤à¤—ाल"
+ },
+ "TL": {
+ "name": "पूरà¥à¤µà¥€ तिमोर"
+ },
+ "PE": {
+ "name": "पेरू"
+ },
+ "PL": {
+ "name": "पोलैणà¥à¤¡"
+ },
+ "FO": {
+ "name": "फरो दà¥à¤µà¥€à¤ª"
+ },
+ "FJ": {
+ "name": "फिजी"
+ },
+ "FI": {
+ "name": "फिनलैंड"
+ },
+ "PS": {
+ "name": "फ़िलिसà¥à¤¤à¥€à¤¨"
+ },
+ "PH": {
+ "name": "फिलीपिनà¥à¤¸"
+ },
+ "FK": {
+ "name": "फ़ॉलà¥à¤•à¤²à¥ˆà¤‚ड दà¥à¤µà¥€à¤ª"
+ },
+ "FR": {
+ "name": "फà¥à¤°à¤¾à¤à¤¸"
+ },
+ "TF": {
+ "name": "फà¥à¤°à¤¾à¤à¤¸à¥€à¤¸à¥€ उतà¥à¤¤à¤°à¥€ कà¥à¤·à¥‡à¤¤à¥à¤°à¥‹à¤‚"
+ },
+ "GF": {
+ "name": "फà¥à¤°à¤¾à¤à¤¸à¥€à¤¸à¥€ गिआना"
+ },
+ "PF": {
+ "name": "फà¥à¤°à¤¾à¤à¤¸à¥€à¤¸à¥€ पॉलिनीशिया"
+ },
+ "BD": {
+ "name": "बंगलादेश"
+ },
+ "BM": {
+ "name": "बरमूडा"
+ },
+ "BG": {
+ "name": "बलà¥à¤—ैरिया"
+ },
+ "BH": {
+ "name": "बहरैन"
+ },
+ "BS": {
+ "name": "बहामा"
+ },
+ "BB": {
+ "name": "बारबाडोस"
+ },
+ "BI": {
+ "name": "बà¥à¤°à¥à¤‚डी"
+ },
+ "BF": {
+ "name": "बà¥à¤°à¥à¤•à¤¿à¤¨à¤¾ फासो"
+ },
+ "BJ": {
+ "name": "बेनेà¤"
+ },
+ "BY": {
+ "name": "बेलारूस"
+ },
+ "BZ": {
+ "name": "बेलिज़"
+ },
+ "BE": {
+ "name": "बेलà¥à¤œà¤¿à¤¯à¤®"
+ },
+ "BW": {
+ "name": "बोतà¥à¤¸à¥à¤µà¤¾à¤¨à¤¾"
+ },
+ "BO": {
+ "name": "बोलीविया"
+ },
+ "BA": {
+ "name": "बोसनिया हरà¥à¤œà¤¼à¥‡à¤—ोविना"
+ },
+ "BR": {
+ "name": "बà¥à¤°à¤¾à¤œà¤¼à¥€à¤²"
+ },
+ "VG": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ वरà¥à¤œà¥€à¤¨ आईलंडà¥à¤¸"
+ },
+ "IO": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ हिंद महासागरिय कà¥à¤·à¥‡à¤¤à¥à¤°"
+ },
+ "GB": {
+ "name": "बà¥à¤°à¤¿à¤¤à¤¨"
+ },
+ "BN": {
+ "name": "बà¥à¤°à¥‚नइ"
+ },
+ "IN": {
+ "name": "भारत"
+ },
+ "BT": {
+ "name": "भूटान"
+ },
+ "MO": {
+ "name": "मकाओ विशेष पà¥à¤°à¤¶à¤¾à¤¸à¤¨à¤¿à¤• कà¥à¤·à¥‡à¤¤à¥à¤° (चीन)"
+ },
+ "MN": {
+ "name": "मंगोलिया"
+ },
+ "MG": {
+ "name": "मदागासà¥à¤•à¤°"
+ },
+ "MW": {
+ "name": "मलावी"
+ },
+ "MY": {
+ "name": "मलेशिया"
+ },
+ "FM": {
+ "name": "माइकà¥à¤°à¥‹à¤¨à¥‡à¤¶à¤¿à¤¯à¤¾"
+ },
+ "MQ": {
+ "name": "मारà¥à¤Ÿà¥€à¤¨à¤¿à¤•"
+ },
+ "MH": {
+ "name": "मारà¥à¤¶à¤² दà¥à¤µà¥€à¤ª"
+ },
+ "MV": {
+ "name": "मालदीव"
+ },
+ "ML": {
+ "name": "माली"
+ },
+ "MT": {
+ "name": "मालà¥à¤Ÿà¤¾"
+ },
+ "EG": {
+ "name": "मिसà¥à¤°"
+ },
+ "MX": {
+ "name": "मैकà¥à¤¸à¤¿à¤•à¥‹"
+ },
+ "YT": {
+ "name": "मैयौट"
+ },
+ "MK": {
+ "name": "मैसेडोनिया"
+ },
+ "MR": {
+ "name": "मॉरिटेनिया"
+ },
+ "MU": {
+ "name": "मॉरिस"
+ },
+ "MS": {
+ "name": "मॉंसेरा"
+ },
+ "MZ": {
+ "name": "मोज़ामà¥à¤¬à¤¿à¤•"
+ },
+ "ME": {
+ "name": "मोंटेनेगà¥à¤°à¥‹"
+ },
+ "MC": {
+ "name": "मोनाको"
+ },
+ "MA": {
+ "name": "मोरोकà¥à¤•à¥‹"
+ },
+ "MD": {
+ "name": "मोलà¥à¤¡à¥‡à¤µà¤¿à¤¯à¤¾"
+ },
+ "MM": {
+ "name": "मà¥à¤¯à¤¾à¤¨à¤®à¤¾à¤°"
+ },
+ "YE": {
+ "name": "यमन"
+ },
+ "VI": {
+ "name": "यà¥.à¤à¤¸. वरà¥à¤œà¥€à¤¨ आईलंडà¥à¤¸"
+ },
+ "UG": {
+ "name": "यà¥à¤—ाà¤à¤¡à¤¾"
+ },
+ "UM": {
+ "name": "यà¥à¤¨à¤¾à¤‡à¤Ÿà¥‡à¤¡ सà¥à¤Ÿà¥‡à¤Ÿà¥à¤¸ के छोटे बाहरिय दà¥à¤µà¥€à¤ª"
+ },
+ "UY": {
+ "name": "यà¥à¤°à¥‚गà¥à¤"
+ },
+ "UA": {
+ "name": "यूकà¥à¤°à¥‡à¤¨"
+ },
+ "RW": {
+ "name": "रूआणà¥à¤¡à¤¾"
+ },
+ "RU": {
+ "name": "रूस"
+ },
+ "RE": {
+ "name": "रेयूनियॉं"
+ },
+ "RO": {
+ "name": "रोमानिया"
+ },
+ "LU": {
+ "name": "लकà¥à¤¸à¤®à¤¬à¤°à¥à¤—"
+ },
+ "LS": {
+ "name": "लसोथो"
+ },
+ "LR": {
+ "name": "लाइबेरिया"
+ },
+ "LA": {
+ "name": "लाओस"
+ },
+ "LV": {
+ "name": "लाटà¥à¤µà¥€à¤¯à¤¾"
+ },
+ "LI": {
+ "name": "लिकà¥à¤Ÿà¥ˆà¤¨à¤¸à¥à¤Ÿà¤¾à¤ˆà¤¨"
+ },
+ "LT": {
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¾"
+ },
+ "LY": {
+ "name": "लीबिया"
+ },
+ "LB": {
+ "name": "लेबनोन"
+ },
+ "VU": {
+ "name": "वानाऊटà¥"
+ },
+ "VN": {
+ "name": "वियतनाम"
+ },
+ "VE": {
+ "name": "वेनेज़à¥à¤à¤²à¤¾"
+ },
+ "VA": {
+ "name": "वैटिकन"
+ },
+ "WF": {
+ "name": "वॉलेस à¤à¤µà¤‚ फ़à¥à¤¯à¥‚चूना"
+ },
+ "LK": {
+ "name": "शà¥à¤°à¥€ लà¤à¤•à¤¾"
+ },
+ "SA": {
+ "name": "सऊदी अरब"
+ },
+ "WS": {
+ "name": "समोआ"
+ },
+ "AE": {
+ "name": "संयà¥à¤•à¥à¤¤ अरब अमीरात"
+ },
+ "US": {
+ "name": "संयà¥à¤•à¥à¤¤ राजà¥à¤¯ अमरिका"
+ },
+ "RS": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "CY": {
+ "name": "साइपà¥à¤°à¤¸"
+ },
+ "ST": {
+ "name": "साउà¤-तोमे à¤à¤µà¤‚ पà¥à¤°à¤¿à¤‚सिप"
+ },
+ "SG": {
+ "name": "सिंगापà¥à¤°"
+ },
+ "SL": {
+ "name": "सियेरा लेओन"
+ },
+ "SY": {
+ "name": "सीरिया"
+ },
+ "SR": {
+ "name": "सà¥à¤°à¤¿à¤¨à¤¾à¤®"
+ },
+ "SD": {
+ "name": "सूदान"
+ },
+ "PM": {
+ "name": "सेठपीà¤à¤° à¤à¤µà¤‚ मिâ€à¤•à¥‡à¤²à¥‰à¤‚"
+ },
+ "BL": {
+ "name": "सेठबारà¥à¤¥à¥‡à¤²à¥‡à¤®à¥€"
+ },
+ "MF": {
+ "name": "सेठमारà¥à¤Ÿà¥‡à¤"
+ },
+ "KN": {
+ "name": "सेंट किटà¥à¤¸ à¤à¤µà¤‚ नेविस"
+ },
+ "LC": {
+ "name": "सेंट लूसिया"
+ },
+ "VC": {
+ "name": "सेंट विंसंट à¤à¤µà¤‚ दी गà¥à¤°à¤¨à¤¾à¤¡à¥€à¤¨à¥à¤¸à¥"
+ },
+ "CF": {
+ "name": "सेंटà¥à¤°à¤² अफà¥à¤°à¥€à¤•à¤¨ रिपबà¥à¤²à¤¿à¤•"
+ },
+ "SH": {
+ "name": "सेणà¥â€à¤Ÿ हेलेना"
+ },
+ "SN": {
+ "name": "सेनेगाल"
+ },
+ "SC": {
+ "name": "सेशेलà¥à¤¸"
+ },
+ "SM": {
+ "name": "सैन मरीनो"
+ },
+ "SB": {
+ "name": "सॉलोमन दà¥à¤µà¥€à¤ª"
+ },
+ "SO": {
+ "name": "सोमालिया"
+ },
+ "ES": {
+ "name": "सà¥à¤ªà¥‡à¤¨"
+ },
+ "SK": {
+ "name": "सà¥à¤²à¥‹à¤µà¤¾à¤•à¤¿à¤¯à¤¾"
+ },
+ "SI": {
+ "name": "सà¥à¤²à¥‹à¤µà¥‡à¤¨à¤¿à¤¯à¤¾"
+ },
+ "SZ": {
+ "name": "सà¥à¤µà¤¾à¤œà¤¼à¥€à¤²à¥ˆà¤‚ड"
+ },
+ "SJ": {
+ "name": "सà¥à¤µà¤¾à¤²à¥à¤¬à¤¾à¤°à¥à¤¡ à¤à¤µà¤‚ यान मायेन"
+ },
+ "CH": {
+ "name": "सà¥à¤µà¤¿à¤¤à¥à¤œà¤¼à¤°à¤²à¥ˆà¤‚ड"
+ },
+ "SE": {
+ "name": "सà¥à¤µà¥€à¤¡à¤¨"
+ },
+ "HU": {
+ "name": "हंगरी"
+ },
+ "HT": {
+ "name": "हाइती"
+ },
+ "HK": {
+ "name": "हाà¤à¤—काà¤à¤— विशेष पà¥à¤°à¤¶à¤¾à¤¸à¤¨à¤¿à¤• कà¥à¤·à¥‡à¤¤à¥à¤° चीन"
+ },
+ "HN": {
+ "name": "हौणà¥à¤¡à¥‚रास"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/bs-Cyrl.json b/library/intl/resources/country/bs-Cyrl.json
new file mode 100644
index 000000000..70810fd3c
--- /dev/null
+++ b/library/intl/resources/country/bs-Cyrl.json
@@ -0,0 +1,761 @@
+{
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "AF": {
+ "name": "ÐвганиÑтан"
+ },
+ "AZ": {
+ "name": "Ðзербејџан"
+ },
+ "AX": {
+ "name": "ÐландÑка оÑтрва"
+ },
+ "AL": {
+ "name": "Ðлбанија"
+ },
+ "DZ": {
+ "name": "Ðлжир"
+ },
+ "AS": {
+ "name": "Ðмеричка Самоа"
+ },
+ "AI": {
+ "name": "Ðнгвила"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AD": {
+ "name": "Ðндора"
+ },
+ "AQ": {
+ "name": "Ðнтарктик"
+ },
+ "AG": {
+ "name": "Ðнтигве и Барбуда"
+ },
+ "AR": {
+ "name": "Ðргентина"
+ },
+ "AM": {
+ "name": "Ðрменија"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AU": {
+ "name": "ÐуÑтралија"
+ },
+ "AT": {
+ "name": "ÐуÑтрија"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахреин"
+ },
+ "BE": {
+ "name": "Белгија"
+ },
+ "BZ": {
+ "name": "Белизе"
+ },
+ "BY": {
+ "name": "БелоруÑија"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "CX": {
+ "name": "Божићна оÑтрва"
+ },
+ "BO": {
+ "name": "Боливија"
+ },
+ "BA": {
+ "name": "БоÑна и Херцеговина"
+ },
+ "BW": {
+ "name": "Боцвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "VG": {
+ "name": "БританÑка ДевичанÑка ОÑтрва"
+ },
+ "IO": {
+ "name": "БританÑка територија у ИндијÑком океану"
+ },
+ "BN": {
+ "name": "Брунеј"
+ },
+ "BG": {
+ "name": "БугарÑка"
+ },
+ "BF": {
+ "name": "Буркина ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "WF": {
+ "name": "Ð’Ð°Ð»Ð¸Ñ Ð¸ Футуна ОÑтрва"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "GB": {
+ "name": "Велика Британија"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Вијетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "Гамбија"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупе"
+ },
+ "GY": {
+ "name": "Гвајана"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинеја"
+ },
+ "GW": {
+ "name": "Гвинеја-БиÑао"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GE": {
+ "name": "Грузија"
+ },
+ "GR": {
+ "name": "Грчка"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "GG": {
+ "name": "ГурнÑи"
+ },
+ "DK": {
+ "name": "ДанÑка"
+ },
+ "DG": {
+ "name": "Дијего ГарÑија"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "ДоминиканÑка Република"
+ },
+ "EG": {
+ "name": "Египат"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваторијална Гвинеја"
+ },
+ "ER": {
+ "name": "Еритреја"
+ },
+ "EE": {
+ "name": "ЕÑтонија"
+ },
+ "ET": {
+ "name": "Етиопија"
+ },
+ "ZM": {
+ "name": "Замбија"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "IN": {
+ "name": "Индија"
+ },
+ "ID": {
+ "name": "Индонезија"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "ИрÑка"
+ },
+ "IS": {
+ "name": "ИÑланд"
+ },
+ "TL": {
+ "name": "ИÑточни Тимор"
+ },
+ "IT": {
+ "name": "Италија"
+ },
+ "JM": {
+ "name": "Јамајка"
+ },
+ "JP": {
+ "name": "Јапан"
+ },
+ "YE": {
+ "name": "Јемен"
+ },
+ "JO": {
+ "name": "Јордан"
+ },
+ "KR": {
+ "name": "Јужна Кореја"
+ },
+ "GS": {
+ "name": "Јужна Ðорџија и Јужна Сендвич ОÑтрва"
+ },
+ "SS": {
+ "name": "Јужни Судан"
+ },
+ "ZA": {
+ "name": "Јужноафричка Република"
+ },
+ "KZ": {
+ "name": "КазахÑтан"
+ },
+ "KY": {
+ "name": "КајманÑка ОÑтрва"
+ },
+ "KH": {
+ "name": "Камбоџа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "КанарÑка оÑтрва"
+ },
+ "CV": {
+ "name": "Капе Верде"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенија"
+ },
+ "CN": {
+ "name": "Кина"
+ },
+ "CY": {
+ "name": "Кипар"
+ },
+ "KG": {
+ "name": "КиргизÑтан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "ÐšÐ¾ÐºÐ¾Ñ (Келинг) ОÑтрва"
+ },
+ "CO": {
+ "name": "Колумбија"
+ },
+ "KM": {
+ "name": "КоморÑка ОÑтрва"
+ },
+ "CG": {
+ "name": "Конго - Бразавил"
+ },
+ "CD": {
+ "name": "Конго - КиншаÑа"
+ },
+ "CR": {
+ "name": "КоÑтарика"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувајт"
+ },
+ "CK": {
+ "name": "Кукова ОÑтрва"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LV": {
+ "name": "Летонија"
+ },
+ "LB": {
+ "name": "Либан"
+ },
+ "LR": {
+ "name": "Либерија"
+ },
+ "LY": {
+ "name": "Либија"
+ },
+ "LT": {
+ "name": "Литванија"
+ },
+ "LI": {
+ "name": "Лихтенштајн"
+ },
+ "LU": {
+ "name": "ЛукÑембург"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "HU": {
+ "name": "МађарÑка"
+ },
+ "YT": {
+ "name": "Мајоте"
+ },
+ "MO": {
+ "name": "Макао С. Ð. Р. Кина"
+ },
+ "MK": {
+ "name": "Македонија"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "MY": {
+ "name": "Малезија"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "UM": {
+ "name": "Мања удаљена оÑтрва СÐД"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "МаршалÑка ОÑтрва"
+ },
+ "MR": {
+ "name": "Мауританија"
+ },
+ "MU": {
+ "name": "МаурицијуÑ"
+ },
+ "MX": {
+ "name": "МекÑико"
+ },
+ "MM": {
+ "name": "Мијанмар (Бурма)"
+ },
+ "FM": {
+ "name": "Микронезија"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдавија"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголија"
+ },
+ "MS": {
+ "name": "МонÑерат"
+ },
+ "NA": {
+ "name": "Ðамибија"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "DE": {
+ "name": "Ðемачка"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "Ðигерија"
+ },
+ "NI": {
+ "name": "Ðикарагва"
+ },
+ "NU": {
+ "name": "Ðиуе"
+ },
+ "NC": {
+ "name": "Ðова Каледонија"
+ },
+ "NZ": {
+ "name": "Ðови Зеланд"
+ },
+ "NO": {
+ "name": "Ðорвешка"
+ },
+ "NF": {
+ "name": "Ðорфолк ОÑтрво"
+ },
+ "CI": {
+ "name": "Обала Слоноваче"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "AC": {
+ "name": "ОÑтрво ÐÑенÑион"
+ },
+ "IM": {
+ "name": "ОÑтрво Ман"
+ },
+ "PK": {
+ "name": "ПакиÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "ПалеÑтинÑке територије"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Ðова Гвинеја"
+ },
+ "PY": {
+ "name": "Парагвај"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкерн"
+ },
+ "PL": {
+ "name": "ПољÑка"
+ },
+ "PR": {
+ "name": "Порто Рико"
+ },
+ "PT": {
+ "name": "Португалија"
+ },
+ "RE": {
+ "name": "Реинион"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румунија"
+ },
+ "RU": {
+ "name": "РуÑија"
+ },
+ "VI": {
+ "name": "С.Ð.Д. ДевичанÑка ОÑтрва"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и Принципе"
+ },
+ "SA": {
+ "name": "СаудијÑка Ðрабија"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Јанмајен ОÑтрва"
+ },
+ "SH": {
+ "name": "Света Јелена"
+ },
+ "BL": {
+ "name": "Свети Бартоломеј"
+ },
+ "KP": {
+ "name": "Северна Кореја"
+ },
+ "MP": {
+ "name": "Северна МаријанÑка ОÑтрва"
+ },
+ "SC": {
+ "name": "Сејшели"
+ },
+ "PM": {
+ "name": "Сен Пјер и Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент ВинÑент и Гренадини"
+ },
+ "KN": {
+ "name": "Сент ÐšÐ¸Ñ‚Ñ Ð¸ ÐевиÑ"
+ },
+ "LC": {
+ "name": "Сент Луција"
+ },
+ "MF": {
+ "name": "Сент Мартин"
+ },
+ "EA": {
+ "name": "Сеута и Мелиља"
+ },
+ "SL": {
+ "name": "Сијера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SY": {
+ "name": "Сирија"
+ },
+ "US": {
+ "name": "Сједињене Ðмеричке Државе"
+ },
+ "SK": {
+ "name": "Словачка"
+ },
+ "SI": {
+ "name": "Словенија"
+ },
+ "SB": {
+ "name": "СоломонÑка ОÑтрва"
+ },
+ "SO": {
+ "name": "Сомалија"
+ },
+ "RS": {
+ "name": "Србија"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TW": {
+ "name": "Тајван"
+ },
+ "TH": {
+ "name": "Тајланд"
+ },
+ "TZ": {
+ "name": "Танзанија"
+ },
+ "TJ": {
+ "name": "ТаџикиÑтан"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "ТриÑтан да Куња"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "TM": {
+ "name": "ТуркмениÑтан"
+ },
+ "TC": {
+ "name": "Ð¢ÑƒÑ€ÐºÑ Ð¸ ÐšÐ°Ñ˜ÐºÐ¾Ñ ÐžÑтрва"
+ },
+ "TR": {
+ "name": "ТурÑка"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "УзбекиÑтан"
+ },
+ "AE": {
+ "name": "Уједињени ÐрапÑки Емирати"
+ },
+ "UA": {
+ "name": "Украјина"
+ },
+ "UY": {
+ "name": "Уругвај"
+ },
+ "FO": {
+ "name": "ФарÑка ОÑтрва"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "ФинÑка"
+ },
+ "FJ": {
+ "name": "Фиџи"
+ },
+ "FK": {
+ "name": "ФокландÑка оÑтрва"
+ },
+ "FR": {
+ "name": "ФранцуÑка"
+ },
+ "GF": {
+ "name": "ФранцуÑка Гвајана"
+ },
+ "PF": {
+ "name": "ФранцуÑка Полинезија"
+ },
+ "TF": {
+ "name": "ФранцуÑке Јужне Територије"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "NL": {
+ "name": "Холандија"
+ },
+ "HK": {
+ "name": "Хонг Конг С. Ð. Р. Кина"
+ },
+ "HN": {
+ "name": "ХондураÑ"
+ },
+ "HR": {
+ "name": "ХрватÑка"
+ },
+ "CF": {
+ "name": "Централно Ðфричка Република"
+ },
+ "ME": {
+ "name": "Црна Гора"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "Чешка"
+ },
+ "CL": {
+ "name": "Чиле"
+ },
+ "JE": {
+ "name": "ÐерÑи"
+ },
+ "DJ": {
+ "name": "Ðибути"
+ },
+ "CH": {
+ "name": "ШвајцарÑка"
+ },
+ "SE": {
+ "name": "ШведÑка"
+ },
+ "ES": {
+ "name": "Шпанија"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/bs.json b/library/intl/resources/country/bs.json
new file mode 100644
index 000000000..7b76f80cc
--- /dev/null
+++ b/library/intl/resources/country/bs.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Alandska Ostrva"
+ },
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžir"
+ },
+ "AS": {
+ "name": "AmeriÄka Samoa"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigva i Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AZ": {
+ "name": "Azerbejdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Bjelorusija"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna i Hercegovina"
+ },
+ "CX": {
+ "name": "Božićna Ostrva"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britanska DjeviÄanska Ostrva"
+ },
+ "IO": {
+ "name": "Britanska Territorija u Indijskom Okeanu"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bugarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CF": {
+ "name": "CentralnoafriÄka Republika"
+ },
+ "ME": {
+ "name": "Crna Gora"
+ },
+ "TD": {
+ "name": "ÄŒad"
+ },
+ "CZ": {
+ "name": "Češka"
+ },
+ "CL": {
+ "name": "ÄŒile"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "CD": {
+ "name": "Demokratska Republika Kongo"
+ },
+ "DG": {
+ "name": "Dijego Garsija"
+ },
+ "VI": {
+ "name": "DjeviÄanska Ostrva SAD"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska Republika"
+ },
+ "JE": {
+ "name": "Džersi"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipat"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorijalna Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "Farska Ostrva"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FK": {
+ "name": "Folklandska Ostrva"
+ },
+ "FR": {
+ "name": "Francuska"
+ },
+ "GF": {
+ "name": "Francuska Gvajana"
+ },
+ "PF": {
+ "name": "Francuska Polinezija"
+ },
+ "TF": {
+ "name": "Francuske Južne Teritorije"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gernzi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "GrÄka"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenland"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GP": {
+ "name": "Gvadelupe"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja-Bisao"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandija"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong (S. A. R. Kina)"
+ },
+ "HR": {
+ "name": "Hrvatska"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "AM": {
+ "name": "Jermenija"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "GS": {
+ "name": "Južna Džordžija i Južna SendviÄ Ostrva"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "JužnoafriÄka Republika"
+ },
+ "KY": {
+ "name": "Kajmanska Ostrva"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarska ostrva"
+ },
+ "CV": {
+ "name": "Kape Verde"
+ },
+ "BQ": {
+ "name": "Karipska Holandija"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "CY": {
+ "name": "Kipar"
+ },
+ "KG": {
+ "name": "Kirgizstan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokos (Keling) Ostrva"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komorska Ostrva"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kukova Ostrva"
+ },
+ "CW": {
+ "name": "Kurasao"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonija"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litvanija"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Mađarska"
+ },
+ "YT": {
+ "name": "Majote"
+ },
+ "MO": {
+ "name": "Makao (S. A. R. Kina)"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "UM": {
+ "name": "Manja Udaljena Ostrva SAD"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalska Ostrva"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauricius"
+ },
+ "MR": {
+ "name": "Mauritanija"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "MM": {
+ "name": "Mijanmar"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Ostrvo"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Novi Zeland"
+ },
+ "DE": {
+ "name": "NjemaÄka"
+ },
+ "CI": {
+ "name": "Obala SlonovaÄe"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AC": {
+ "name": "Ostrvo Asension"
+ },
+ "IM": {
+ "name": "Ostrvo Man"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinska Teritorija"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "RE": {
+ "name": "Rejunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunija"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome i Principe"
+ },
+ "SA": {
+ "name": "Saudijska Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "PM": {
+ "name": "Sen Pjer i Mikelon"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KN": {
+ "name": "Sent Kits i Nevis"
+ },
+ "LC": {
+ "name": "Sent Lucija"
+ },
+ "VC": {
+ "name": "Sent Vinsent i Grenadini"
+ },
+ "EA": {
+ "name": "Seuta i Melilja"
+ },
+ "SL": {
+ "name": "Sijera Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Marten"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "US": {
+ "name": "Sjedinjene AmeriÄke Države"
+ },
+ "KP": {
+ "name": "Sjeverna Koreja"
+ },
+ "MP": {
+ "name": "Sjeverna Marijanska Ostrva"
+ },
+ "SK": {
+ "name": "SlovaÄka"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SB": {
+ "name": "Solomonska Ostrva"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "BL": {
+ "name": "Sv. Bartolomej"
+ },
+ "MF": {
+ "name": "Sv. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard i Janmajen Ostrva"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "SH": {
+ "name": "Sveta Helena"
+ },
+ "ES": {
+ "name": "Å panija"
+ },
+ "LK": {
+ "name": "Å ri Lanka"
+ },
+ "SE": {
+ "name": "Å vedska"
+ },
+ "CH": {
+ "name": "Å vicarska"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajland"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TL": {
+ "name": "Timor Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Kunja"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks i Kajkos Ostrva"
+ },
+ "TR": {
+ "name": "Turska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "Ujedinjeni Arapski Emirati"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "WF": {
+ "name": "Valis i Futuna Ostrva"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "GB": {
+ "name": "Velika Britanija"
+ },
+ "VE": {
+ "name": "Venecuela"
+ },
+ "VN": {
+ "name": "Vijetnam"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ca.json b/library/intl/resources/country/ca.json
new file mode 100644
index 000000000..862cc0125
--- /dev/null
+++ b/library/intl/resources/country/ca.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AL": {
+ "name": "Albània"
+ },
+ "DE": {
+ "name": "Alemanya"
+ },
+ "DZ": {
+ "name": "Algèria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antàrtida"
+ },
+ "AG": {
+ "name": "Antigua i Barbuda"
+ },
+ "SA": {
+ "name": "Aràbia Saudita"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armènia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austràlia"
+ },
+ "AT": {
+ "name": "Àustria"
+ },
+ "AZ": {
+ "name": "Azerbaidjan"
+ },
+ "BS": {
+ "name": "Bahames"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangla Desh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Bèlgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudes"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bielorússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bòsnia i Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgària"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodja"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canadà"
+ },
+ "CV": {
+ "name": "Cap Verd"
+ },
+ "BQ": {
+ "name": "Carib Neerlandès"
+ },
+ "EA": {
+ "name": "Ceuta i Melilla"
+ },
+ "VA": {
+ "name": "Ciutat del Vaticà"
+ },
+ "CO": {
+ "name": "Colòmbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "KP": {
+ "name": "Corea del Nord"
+ },
+ "KR": {
+ "name": "Corea del Sud"
+ },
+ "CI": {
+ "name": "Costa d’Ivori"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croàcia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EG": {
+ "name": "Egipte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirats Àrabs Units"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovàquia"
+ },
+ "SI": {
+ "name": "Eslovènia"
+ },
+ "ES": {
+ "name": "Espanya"
+ },
+ "US": {
+ "name": "Estats Units"
+ },
+ "EE": {
+ "name": "Estònia"
+ },
+ "ET": {
+ "name": "Etiòpia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipines"
+ },
+ "FI": {
+ "name": "Finlàndia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gàmbia"
+ },
+ "GE": {
+ "name": "Geòrgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grècia"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlàndia"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GF": {
+ "name": "Guaiana Francesa"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea Bissau"
+ },
+ "GQ": {
+ "name": "Guinea Equatorial"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Hondures"
+ },
+ "HK": {
+ "name": "Hong Kong (RAE Xina)"
+ },
+ "HU": {
+ "name": "Hongria"
+ },
+ "YE": {
+ "name": "Iemen"
+ },
+ "CX": {
+ "name": "illa Christmas"
+ },
+ "AC": {
+ "name": "illa de l’Ascensió"
+ },
+ "RE": {
+ "name": "Illa de la Reunió"
+ },
+ "IM": {
+ "name": "illa de Man"
+ },
+ "AX": {
+ "name": "illes Ã…land"
+ },
+ "KY": {
+ "name": "Illes Caiman"
+ },
+ "IC": {
+ "name": "illes Canàries"
+ },
+ "CC": {
+ "name": "illes Cocos"
+ },
+ "CK": {
+ "name": "illes Cook"
+ },
+ "FO": {
+ "name": "illes Fèroe"
+ },
+ "GS": {
+ "name": "illes Geòrgia del Sud i Sandwich del Sud"
+ },
+ "FK": {
+ "name": "Illes Malvines"
+ },
+ "MP": {
+ "name": "illes Mariannes del Nord"
+ },
+ "MH": {
+ "name": "illes Marshall"
+ },
+ "UM": {
+ "name": "illes Perifèriques Menors dels EUA"
+ },
+ "PN": {
+ "name": "illes Pitcairn"
+ },
+ "SB": {
+ "name": "illes Salomó"
+ },
+ "TC": {
+ "name": "Illes Turks i Caicos"
+ },
+ "VG": {
+ "name": "Illes Verges Britàniques"
+ },
+ "VI": {
+ "name": "Illes Verges Nord-americanes"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonèsia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islàndia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itàlia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japó"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordània"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirguizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letònia"
+ },
+ "LB": {
+ "name": "Líban"
+ },
+ "LR": {
+ "name": "Libèria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituània"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macau (RAE Xina)"
+ },
+ "MK": {
+ "name": "Macedònia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malàisia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marroc"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurici"
+ },
+ "MR": {
+ "name": "Mauritània"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mèxic"
+ },
+ "FM": {
+ "name": "Micronèsia"
+ },
+ "MZ": {
+ "name": "Moçambic"
+ },
+ "MD": {
+ "name": "Moldàvia"
+ },
+ "MC": {
+ "name": "Mònaco"
+ },
+ "MN": {
+ "name": "Mongòlia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MM": {
+ "name": "Myanmar (Birmània)"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigèria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledònia"
+ },
+ "NZ": {
+ "name": "Nova Zelanda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "NL": {
+ "name": "Països Baixos"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestina"
+ },
+ "PA": {
+ "name": "Panamà"
+ },
+ "PG": {
+ "name": "Papua Nova Guinea"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinèsia Francesa"
+ },
+ "PL": {
+ "name": "Polònia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "GB": {
+ "name": "Regne Unit"
+ },
+ "CF": {
+ "name": "República Centreafricana"
+ },
+ "ZA": {
+ "name": "República de Sud-àfrica"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "CZ": {
+ "name": "República Txeca"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Sàhara Occidental"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Christopher i Nevis"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "VC": {
+ "name": "Saint Vincent i les Grenadines"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Nord-americana"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé i Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Sèrbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somàlia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan del Sud"
+ },
+ "SE": {
+ "name": "Suècia"
+ },
+ "CH": {
+ "name": "Suïssa"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilàndia"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TH": {
+ "name": "Tailàndia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzània"
+ },
+ "IO": {
+ "name": "Territori Britànic de l’Oceà Ãndic"
+ },
+ "TF": {
+ "name": "Territoris Francesos del Sud"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinitat i Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TD": {
+ "name": "Txad"
+ },
+ "UA": {
+ "name": "Ucraïna"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Veneçuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis i Futuna"
+ },
+ "CL": {
+ "name": "Xile"
+ },
+ "CN": {
+ "name": "Xina"
+ },
+ "CY": {
+ "name": "Xipre"
+ },
+ "ZM": {
+ "name": "Zàmbia"
+ },
+ "ZW": {
+ "name": "Zimbàbue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/cgg.json b/library/intl/resources/country/cgg.json
new file mode 100644
index 000000000..7d1d151c7
--- /dev/null
+++ b/library/intl/resources/country/cgg.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aisilandi"
+ },
+ "CI": {
+ "name": "Aivore Kositi"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AE": {
+ "name": "Amahanga ga Buharabu ageeteereine"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AG": {
+ "name": "Angiguwa na Babuda"
+ },
+ "AO": {
+ "name": "Angora"
+ },
+ "AI": {
+ "name": "Angwira"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AR": {
+ "name": "Arigentina"
+ },
+ "DZ": {
+ "name": "Arigyeriya"
+ },
+ "AM": {
+ "name": "Arimeniya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AL": {
+ "name": "Arubania"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azabagyani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangaradeshi"
+ },
+ "BY": {
+ "name": "Bararusi"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Berimuda"
+ },
+ "BZ": {
+ "name": "Berize"
+ },
+ "BF": {
+ "name": "Bokina Faso"
+ },
+ "BO": {
+ "name": "Boriiviya"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BA": {
+ "name": "Boziniya na Hezegovina"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "BE": {
+ "name": "Bubirigi"
+ },
+ "FR": {
+ "name": "Bufaransa"
+ },
+ "FI": {
+ "name": "Bufini"
+ },
+ "DE": {
+ "name": "Bugirimaani"
+ },
+ "GB": {
+ "name": "Bungyereza"
+ },
+ "BR": {
+ "name": "Buraziiri"
+ },
+ "BG": {
+ "name": "Burugariya"
+ },
+ "TL": {
+ "name": "Burugweizooba bwa Timori"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Burunei"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "TR": {
+ "name": "Buturuki \/Take"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Deenimaaka"
+ },
+ "CD": {
+ "name": "Demokoratika Ripaaburika ya Kongo"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "MP": {
+ "name": "Ebizinga by’amatemba ga Mariana"
+ },
+ "TC": {
+ "name": "Ebizinga bya Buturuki na Kaiko"
+ },
+ "FK": {
+ "name": "Ebizinga bya Faakilanda"
+ },
+ "KY": {
+ "name": "Ebizinga bya Kayimani"
+ },
+ "CV": {
+ "name": "Ebizinga bya Kepuvade"
+ },
+ "CK": {
+ "name": "Ebizinga bya Kuuku"
+ },
+ "MH": {
+ "name": "Ebizinga bya Marshaa"
+ },
+ "SB": {
+ "name": "Ebizinga bya Surimaani"
+ },
+ "VI": {
+ "name": "Ebizinga bya Virigini ebya Amerika"
+ },
+ "VG": {
+ "name": "Ebizinga bya Virigini ebya Bungyereza"
+ },
+ "CF": {
+ "name": "Eihanga rya Rwagati ya Afirika"
+ },
+ "NF": {
+ "name": "Ekizinga Norifoko"
+ },
+ "SV": {
+ "name": "Eri Salivado"
+ },
+ "ER": {
+ "name": "Eriteriya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "ET": {
+ "name": "Ethiyopiya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Figyi"
+ },
+ "PH": {
+ "name": "Firipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabooni"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GI": {
+ "name": "Giburaata"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GQ": {
+ "name": "Guni"
+ },
+ "GD": {
+ "name": "Gurenada"
+ },
+ "GL": {
+ "name": "Guriinirandi"
+ },
+ "GR": {
+ "name": "Guriisi"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana ya Bufaransa"
+ },
+ "GP": {
+ "name": "Gwaderupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemara"
+ },
+ "JM": {
+ "name": "Gyamaika"
+ },
+ "JP": {
+ "name": "Gyapaani"
+ },
+ "DJ": {
+ "name": "Gyibuti"
+ },
+ "GE": {
+ "name": "Gyogiya"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HU": {
+ "name": "Hangare"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "NL": {
+ "name": "Hoorandi"
+ },
+ "EC": {
+ "name": "Ikweda"
+ },
+ "IN": {
+ "name": "Indiya"
+ },
+ "ID": {
+ "name": "Indoneeziya"
+ },
+ "IQ": {
+ "name": "Iraaka"
+ },
+ "IR": {
+ "name": "Iraani"
+ },
+ "IE": {
+ "name": "Irerandi"
+ },
+ "IL": {
+ "name": "Isirairi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itare"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kambodiya"
+ },
+ "CM": {
+ "name": "Kameruuni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kata"
+ },
+ "KZ": {
+ "name": "Kazakisitani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasiya"
+ },
+ "KR": {
+ "name": "Koreya Amashuuma"
+ },
+ "KP": {
+ "name": "Koreya Amatemba"
+ },
+ "CO": {
+ "name": "Korombiya"
+ },
+ "KM": {
+ "name": "Koromo"
+ },
+ "CR": {
+ "name": "Kositarika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuweiti"
+ },
+ "LU": {
+ "name": "Lakizembaaga"
+ },
+ "LV": {
+ "name": "Latviya"
+ },
+ "LA": {
+ "name": "Layosi"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasika"
+ },
+ "MW": {
+ "name": "Marawi"
+ },
+ "MY": {
+ "name": "marayizia"
+ },
+ "ML": {
+ "name": "Mari"
+ },
+ "MV": {
+ "name": "Maridives"
+ },
+ "MT": {
+ "name": "Marita"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MK": {
+ "name": "Masedoonia"
+ },
+ "MU": {
+ "name": "Maurishiasi"
+ },
+ "MR": {
+ "name": "Mauriteeniya"
+ },
+ "YT": {
+ "name": "Mayote"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Mikironesiya"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoria"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MD": {
+ "name": "Moridova"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanamar"
+ },
+ "NE": {
+ "name": "Naigya"
+ },
+ "NG": {
+ "name": "Naigyeriya"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepo"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NC": {
+ "name": "Niukaredonia"
+ },
+ "NZ": {
+ "name": "Niuzirandi"
+ },
+ "NO": {
+ "name": "Noorwe"
+ },
+ "OM": {
+ "name": "Omaani"
+ },
+ "AU": {
+ "name": "Ositureeriya"
+ },
+ "AT": {
+ "name": "Osituria"
+ },
+ "PK": {
+ "name": "Pakisitaani"
+ },
+ "PW": {
+ "name": "Palaawu"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkaini"
+ },
+ "PT": {
+ "name": "Pocugo"
+ },
+ "PF": {
+ "name": "Polinesia ya Bufaransa"
+ },
+ "PL": {
+ "name": "Poorandi"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "DO": {
+ "name": "Ripaaburika ya Dominica"
+ },
+ "CZ": {
+ "name": "Ripaaburika ya Zeeki"
+ },
+ "RE": {
+ "name": "Riyuniyoni"
+ },
+ "RO": {
+ "name": "Romaniya"
+ },
+ "RU": {
+ "name": "Rrasha"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "CY": {
+ "name": "Saipurasi"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa ya Ameerika"
+ },
+ "SA": {
+ "name": "Saudi Areebiya"
+ },
+ "ZA": {
+ "name": "Sausi Afirika"
+ },
+ "ST": {
+ "name": "Sawo Tome na Purinsipo"
+ },
+ "SN": {
+ "name": "Senego"
+ },
+ "SH": {
+ "name": "Senti Herena"
+ },
+ "KN": {
+ "name": "Senti Kittis na Nevisi"
+ },
+ "PM": {
+ "name": "Senti Piyerre na Mikweron"
+ },
+ "LC": {
+ "name": "Senti Rusiya"
+ },
+ "VC": {
+ "name": "Senti Vinsent na Gurenadini"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shesheresi"
+ },
+ "SG": {
+ "name": "Singapo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Sipeyini"
+ },
+ "LK": {
+ "name": "Siriranka"
+ },
+ "SY": {
+ "name": "Siriya"
+ },
+ "SK": {
+ "name": "Sirovaakiya"
+ },
+ "SI": {
+ "name": "Sirovaaniya"
+ },
+ "SL": {
+ "name": "Sirra Riyooni"
+ },
+ "SO": {
+ "name": "Somaariya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinaamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazirandi"
+ },
+ "SE": {
+ "name": "Swideni"
+ },
+ "CH": {
+ "name": "Swisi"
+ },
+ "TH": {
+ "name": "Tairandi"
+ },
+ "TJ": {
+ "name": "Tajikisitani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TW": {
+ "name": "Tayiwaani"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokerawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizia"
+ },
+ "TT": {
+ "name": "Turinidad na Tobago"
+ },
+ "TM": {
+ "name": "Turukimenisitani"
+ },
+ "TV": {
+ "name": "Tuvaru"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukureini"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "UZ": {
+ "name": "Uzibekisitani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuwera"
+ },
+ "VN": {
+ "name": "Viyetinaamu"
+ },
+ "WF": {
+ "name": "Warris na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yorudaani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/chr.json b/library/intl/resources/country/chr.json
new file mode 100644
index 000000000..a42342766
--- /dev/null
+++ b/library/intl/resources/country/chr.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé & Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "IE": {
+ "name": "ᎠᎢᎴá‚á—"
+ },
+ "AM": {
+ "name": "ᎠᎵᎻá‚Ꭰ"
+ },
+ "AL": {
+ "name": "ᎠᎵá‡á‚á¯"
+ },
+ "DZ": {
+ "name": "ᎠᎵá¥áŽµá¯"
+ },
+ "AW": {
+ "name": "ᎠᎷá†"
+ },
+ "US": {
+ "name": "ᎠᎹá°áŸ"
+ },
+ "AS": {
+ "name": "ᎠᎺᎵᎧ áŒáŽ¼áŽ "
+ },
+ "PF": {
+ "name": "Ꭰá‚ᎦᎸᣠá†áŽµá‚áᎠ"
+ },
+ "GF": {
+ "name": "Ꭰá‚ᎦᎸᥠᎩᎠ"
+ },
+ "AI": {
+ "name": "Ꭰá‚ᎩᎳ"
+ },
+ "AO": {
+ "name": "Ꭰá‚ᎪᎳ"
+ },
+ "PH": {
+ "name": "Ꭰá‚áˆáŽµáŽ©áƒ"
+ },
+ "ES": {
+ "name": "Ꭰá‚áá†á‚á±"
+ },
+ "AD": {
+ "name": "Ꭰá‚á™áŽ³"
+ },
+ "DE": {
+ "name": "Ꭰá‚á›á¥"
+ },
+ "AT": {
+ "name": "ᎠááŸá¯"
+ },
+ "AZ": {
+ "name": "ᎠáᎵá†áŒá‚"
+ },
+ "CK": {
+ "name": "Ꭰá“áá“á´áŽ²áᎩ ᎤᎦášá›"
+ },
+ "SH": {
+ "name": "Ꭰá¥áŽ¸á‰á— ᎮᎵᎾ"
+ },
+ "BL": {
+ "name": "Ꭰá¥áŽ¸á‰á— á†á•áŽ³áŽ»"
+ },
+ "MF": {
+ "name": "Ꭰá¥áŽ¸á‰á— á¡á¡"
+ },
+ "AR": {
+ "name": "Ꭰá¥á‚á˜á‚Ꭰ"
+ },
+ "AF": {
+ "name": "Ꭰá«áŽ¨á‚áá–á‚"
+ },
+ "KN": {
+ "name": "Ꭰá°áŸ ᎾᎿ Ꭸá¥áŽ¸á‰á— Ꭰá‚áªáŒ ᎠᎴ Ꭰá‚áá«á"
+ },
+ "FM": {
+ "name": "Ꭰá°áŸ á§áŽ¾áŽµáŽªáŽ¯ ᎾᎿ ᎹᎢá‰á‚áá¯"
+ },
+ "AU": {
+ "name": "ᎡᎳá—áœ"
+ },
+ "ER": {
+ "name": "ᎡᎵáŸá¯"
+ },
+ "EC": {
+ "name": "Ꭱá†á™áŽµ"
+ },
+ "GQ": {
+ "name": "Ꭱá†á™áŽµáŽ áŽµ ᎩᎢá‚"
+ },
+ "EE": {
+ "name": "Ꭱáá™á‚á¯"
+ },
+ "CV": {
+ "name": "ᎢᎬᎾá•áŽ¾ Ꭲá¤á³áá—"
+ },
+ "IQ": {
+ "name": "ᎢᎳᎩ"
+ },
+ "IR": {
+ "name": "ᎢᎴá‚"
+ },
+ "ID": {
+ "name": "Ꭲá‚á™á‚áá¯"
+ },
+ "IN": {
+ "name": "Ꭲá…á—Ꮎ"
+ },
+ "IL": {
+ "name": "ᎢáᎵá±"
+ },
+ "NC": {
+ "name": "ᎢᤠᎧᎵá™á‚Ꭰá‚"
+ },
+ "NZ": {
+ "name": "ᎢᤠáᎢᎴá‚á—"
+ },
+ "GL": {
+ "name": "Ꭲá¤áá›á±"
+ },
+ "EG": {
+ "name": "Ꭲá¥áˆáŽ¢"
+ },
+ "CI": {
+ "name": "Ꭲá¬áŽµ ᎾᎿ ᎠᎹá³áŽ¶á—"
+ },
+ "AX": {
+ "name": "ᎣᎴá…á“ ášáŽ¦ášá›"
+ },
+ "OM": {
+ "name": "ᎣᎺá‚"
+ },
+ "IM": {
+ "name": "ᎤáᗠᎤᎦášá› ᎾᎿ ᎠáᎦá¯"
+ },
+ "AG": {
+ "name": "Ꭴáªá˜ ᎠᎴ á†áŠá“"
+ },
+ "GH": {
+ "name": "ᎦᎠᎾ"
+ },
+ "FR": {
+ "name": "ᎦᎸá¥á±"
+ },
+ "GM": {
+ "name": "ᎦᎹáˆáŽ¢áŽ "
+ },
+ "GA": {
+ "name": "Ꭶá‰á‚"
+ },
+ "GY": {
+ "name": "Ꭶá¯áŽ¾"
+ },
+ "KI": {
+ "name": "ᎧᎵá†á˜"
+ },
+ "HR": {
+ "name": "ᎧᎶᎡáᎠ"
+ },
+ "CM": {
+ "name": "ᎧᎹᎷá‚"
+ },
+ "KH": {
+ "name": "ᎧᎹá‰á—Ꭰá‚"
+ },
+ "CD": {
+ "name": "Ꭷá‚Ꭺ"
+ },
+ "CG": {
+ "name": "Ꭷá‚Ꭺ (áᎦášáŽ©)"
+ },
+ "KZ": {
+ "name": "ᎧáŽáŽ§áá•á‚"
+ },
+ "QA": {
+ "name": "Ꭷá”Ꮅ"
+ },
+ "KY": {
+ "name": "ᎨᎢᎹႠášáŽ¦ášá›áŽ¢"
+ },
+ "CA": {
+ "name": "ᎨᎾá“"
+ },
+ "KE": {
+ "name": "Ꭸá‚á¯"
+ },
+ "GB": {
+ "name": "ᎩᎵáá²"
+ },
+ "KG": {
+ "name": "ᎩᎵá£áŽ¢á"
+ },
+ "GR": {
+ "name": "ᎪᎢᎯ"
+ },
+ "CC": {
+ "name": "ᎪᎪá (ᎩᎵá‚) ášáŽ¦ášá›"
+ },
+ "CO": {
+ "name": "ᎪᎸᎻáˆáŽ¢áŽ "
+ },
+ "KM": {
+ "name": "ᎪᎼᎳá"
+ },
+ "CR": {
+ "name": "ᎪáᓠᎵᎧ"
+ },
+ "CU": {
+ "name": "Ꭻá†"
+ },
+ "GN": {
+ "name": "Ꭻá‡"
+ },
+ "GW": {
+ "name": "Ꭻá‡-áˆáŒáŽ¤á«"
+ },
+ "KW": {
+ "name": "ᎫáªáŽ¢á˜"
+ },
+ "CF": {
+ "name": "ᎬᎿᎨáᛠᎠá°áŸ áᎦášáŽ©"
+ },
+ "GG": {
+ "name": "Ꭼá‚á"
+ },
+ "HT": {
+ "name": "ᎮᎢá˜"
+ },
+ "HK": {
+ "name": "Ꮀá‚Ꭹ Ꭺá‚Ꭹ"
+ },
+ "HU": {
+ "name": "Ꮂá‚ᎦᎵ"
+ },
+ "LR": {
+ "name": "ᎳáˆáŽµá¯"
+ },
+ "LV": {
+ "name": "Ꮃá˜á«áŽ "
+ },
+ "LA": {
+ "name": "ᎴᎣá"
+ },
+ "LB": {
+ "name": "Ꮄá†áŽ¾á‚"
+ },
+ "LS": {
+ "name": "Ꮄáá™"
+ },
+ "LI": {
+ "name": "ᎵᎦá—á‚áá“á‚"
+ },
+ "LY": {
+ "name": "Ꮅáˆá¯"
+ },
+ "LT": {
+ "name": "Ꮅá—áªá‚Ꭰ"
+ },
+ "RO": {
+ "name": "ᎶᎹá‚á¯"
+ },
+ "RW": {
+ "name": "Ꮆá©á‚á“"
+ },
+ "LU": {
+ "name": "ᎸᎧáŽá‹áŽ©"
+ },
+ "MO": {
+ "name": "ᎹᎧᎣ (Ꭴá“á¤áŽµá“ á§á‚Ꮈá«áá“áᗠᎢᎬᎾá•áŽ¾) á£áŽ¢"
+ },
+ "MW": {
+ "name": "ᎹᎳá«"
+ },
+ "MY": {
+ "name": "ᎹᎴáᎢᎠ"
+ },
+ "ML": {
+ "name": "ᎹᎵ"
+ },
+ "MT": {
+ "name": "ᎹᎵá”"
+ },
+ "MV": {
+ "name": "ᎹᎵá—á«á"
+ },
+ "MD": {
+ "name": "ᎹᎵá™á«áŽ "
+ },
+ "MC": {
+ "name": "ᎹᎾᎪ"
+ },
+ "MN": {
+ "name": "Ꮉá‚ᎪᎵᎠ"
+ },
+ "MS": {
+ "name": "Ꮉá‚á˜áŒáŽ³á—"
+ },
+ "MH": {
+ "name": "ᎹáŒáŽµ ášáŽªášá›"
+ },
+ "MK": {
+ "name": "Ꮉáá™á‚ᎢᎠ"
+ },
+ "MG": {
+ "name": "Ꮉá“ᎦáᎧᎵ"
+ },
+ "MR": {
+ "name": "Ꮉá˜áŽ¢á¯"
+ },
+ "MQ": {
+ "name": "Ꮉá˜á‚Ꭸ"
+ },
+ "MM": {
+ "name": "Ꮉá¯áŽ¹áŽµ"
+ },
+ "MU": {
+ "name": "ᎼᎵáᎥá"
+ },
+ "MA": {
+ "name": "ᎼᎶᎪ"
+ },
+ "ME": {
+ "name": "Ꮌá‚á”áᎦᎶ"
+ },
+ "MZ": {
+ "name": "ᎼáŽáŽ»á‡áŽ©"
+ },
+ "NA": {
+ "name": "ᎾᎻáˆáŽ¢á¯"
+ },
+ "MP": {
+ "name": "ᎾáᎩ Ꭴá´á¢ á—ᜠᎹᎵᎠᎾ ášáŽ¦ášá›"
+ },
+ "BS": {
+ "name": "ᎾáᎩ á†áŽ­áŽ¹á"
+ },
+ "NP": {
+ "name": "áá†áŽµ"
+ },
+ "NL": {
+ "name": "áá›áŽ³á‚"
+ },
+ "CW": {
+ "name": "á‚ᎦᓠᎤá‚Ꮂ ᎾᎿ ᎫᎳᎨᎣ"
+ },
+ "NI": {
+ "name": "á‚ᎧᎳá†"
+ },
+ "NG": {
+ "name": "á‚á¥áŽµá¯"
+ },
+ "NU": {
+ "name": "á‚á³"
+ },
+ "NR": {
+ "name": "áƒáŽ¤áŽ·"
+ },
+ "NF": {
+ "name": "áƒáŽµá¬áŽµáŽ© ᎤᎦášá›"
+ },
+ "NO": {
+ "name": "áƒáª"
+ },
+ "PK": {
+ "name": "á†áŽ©áá–á‚"
+ },
+ "BH": {
+ "name": "á†áŽ­áŽ´áŽ¢á‚"
+ },
+ "PY": {
+ "name": "á†áŽ³á‡áŽ¢á¯"
+ },
+ "PW": {
+ "name": "á†áŽ´áŽ á«"
+ },
+ "PS": {
+ "name": "á†áŽ´áá—á‚ᎠႠá„Ꭼá«á³áŒá•áŽ©"
+ },
+ "GU": {
+ "name": "á†áŽ»"
+ },
+ "PA": {
+ "name": "á†áŽ¾áŽ¹"
+ },
+ "BJ": {
+ "name": "á†á‚Ꭲá‚"
+ },
+ "BD": {
+ "name": "á†á‚ᎦᎵá•á"
+ },
+ "PG": {
+ "name": "á†á‡ ᎢᤠᎩá‚"
+ },
+ "BB": {
+ "name": "á†á‡á™á"
+ },
+ "BM": {
+ "name": "á†áŠá“"
+ },
+ "BR": {
+ "name": "á†áᎵᎢ"
+ },
+ "BW": {
+ "name": "á†á£á©áŽ¾"
+ },
+ "PR": {
+ "name": "á‡áŽ¡á™ ᎵᎢᎪ"
+ },
+ "BY": {
+ "name": "á‡áŽ³áŽ·á"
+ },
+ "BZ": {
+ "name": "á‡áŽµá"
+ },
+ "BE": {
+ "name": "á‡áŽµá¥áŽ¥áŽ»"
+ },
+ "PE": {
+ "name": "á‡áŽ·"
+ },
+ "PN": {
+ "name": "áˆáŽ§áŽµá‚ ᎤᎦášá›áŽ¢"
+ },
+ "IO": {
+ "name": "áˆá—á á´á«á¯ ᎠᎺበᎢᎬᎾá•á…"
+ },
+ "PL": {
+ "name": "á‰áŽ³á‚"
+ },
+ "BO": {
+ "name": "á‰áŽµá«áŽ "
+ },
+ "BA": {
+ "name": "á‰áá‚Ꭰ ᎠᎴ Ꮂá¤áŽªá«"
+ },
+ "PT": {
+ "name": "á‰á¥áŽ¦áŽ³"
+ },
+ "BG": {
+ "name": "áŠáŽµáŽ¨áŽµáŽ "
+ },
+ "BN": {
+ "name": "áŠáŽ¾áŽ¢"
+ },
+ "BT": {
+ "name": "áŠá”á‚"
+ },
+ "BF": {
+ "name": "á‹áŽ©áŽ¾ á©á"
+ },
+ "BI": {
+ "name": "á‹áŽ·á‚á—"
+ },
+ "GD": {
+ "name": "á‹áŽ¾á“"
+ },
+ "CY": {
+ "name": "áŒáŽ¢á†á"
+ },
+ "SA": {
+ "name": "áŒáŽ¤á— ᎡᎴáˆáŽ "
+ },
+ "AE": {
+ "name": "áŒáŠ Ꭲá³áŽ¾áŽµáá”á… áŽ¡áŽ³áˆ áŽ¢áŽ¹áŽµá˜á"
+ },
+ "LK": {
+ "name": "áᎵ Ꮃá‚Ꭷ"
+ },
+ "SK": {
+ "name": "áᎶá©áŽ©áŽ "
+ },
+ "SI": {
+ "name": "áᎶá«á‚Ꭰ"
+ },
+ "MX": {
+ "name": "áá†á‚á±"
+ },
+ "CH": {
+ "name": "áá«á"
+ },
+ "SE": {
+ "name": "áá«á•á‚"
+ },
+ "PM": {
+ "name": "áŽá‚ᘠáˆá“ ᎠᎴ Ꮋá‡áŽ¶á‚"
+ },
+ "SL": {
+ "name": "áᎡᎳ ᎴᎣá‚"
+ },
+ "SC": {
+ "name": "áᎡá¥áŽµá"
+ },
+ "SG": {
+ "name": "áá‚Ꭶá‰áŽµ"
+ },
+ "SB": {
+ "name": "áᎶᎹႠášáŽ¦ášá›"
+ },
+ "SD": {
+ "name": "á‘á•á‚"
+ },
+ "RS": {
+ "name": "á’áˆá¯"
+ },
+ "CN": {
+ "name": "á“Ꮆá‚Ꭸáá›"
+ },
+ "CX": {
+ "name": "á“á‚áá“á²áŽ¯áŽ² ᎤᎦášá›"
+ },
+ "DK": {
+ "name": "á—á‚ᎹᎦ"
+ },
+ "DM": {
+ "name": "á™áŽ»á‚Ꭷ"
+ },
+ "DO": {
+ "name": "á™áŽ»á‚ᎧႠáᎦášáŽ©"
+ },
+ "GE": {
+ "name": "á£áŽ á¥áŽ¢"
+ },
+ "JM": {
+ "name": "á£áŽºáŽ¢áŽ§"
+ },
+ "JP": {
+ "name": "á£á©á‚á"
+ },
+ "CZ": {
+ "name": "á¤áŽ© áᎦášáŽ©"
+ },
+ "CL": {
+ "name": "á¥áŽµ"
+ },
+ "GI": {
+ "name": "á¥á†áŽµá“"
+ },
+ "DJ": {
+ "name": "á¥áŠá—"
+ },
+ "JO": {
+ "name": "á¦á“á‚"
+ },
+ "KR": {
+ "name": "á§áŽ¦áƒá® ᎪᎵᎠ"
+ },
+ "GS": {
+ "name": "á§áŽ¦áƒá® á£á¥á± ᎠᎴ ᎾáᎩ á§áŽ¦áƒá® Ꭰáá›áŽ­áŸ ášáŽ¦ášá›"
+ },
+ "AQ": {
+ "name": "á§ááá“Ꮈ"
+ },
+ "IS": {
+ "name": "á§ááá“ᎸᎯ"
+ },
+ "KP": {
+ "name": "á§á´á¢ ᎪᎵᎠ"
+ },
+ "JE": {
+ "name": "á¨áŽµá"
+ },
+ "FK": {
+ "name": "á©áŽ© ᎤᎦášá›"
+ },
+ "GP": {
+ "name": "á©á“Ꮇá‡"
+ },
+ "GT": {
+ "name": "á©á”ᎹᎳ"
+ },
+ "FO": {
+ "name": "áªáŽ¶ ášáŽ¦ášá›"
+ },
+ "FI": {
+ "name": "á«á‚Ꭶá™áŽ¯"
+ },
+ "FJ": {
+ "name": "á«á¥"
+ },
+ "IT": {
+ "name": "á²áŽ¶"
+ },
+ "RU": {
+ "name": "á²á‚Ꭲ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/cs.json b/library/intl/resources/country/cs.json
new file mode 100644
index 000000000..d7a21b6fa
--- /dev/null
+++ b/library/intl/resources/country/cs.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghánistán"
+ },
+ "AX": {
+ "name": "Ã…landy"
+ },
+ "AL": {
+ "name": "Albánie"
+ },
+ "DZ": {
+ "name": "Alžírsko"
+ },
+ "AS": {
+ "name": "Americká Samoa"
+ },
+ "VI": {
+ "name": "Americké Panenské ostrovy"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktida"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Austrálie"
+ },
+ "AZ": {
+ "name": "Ãzerbájdžán"
+ },
+ "BS": {
+ "name": "Bahamy"
+ },
+ "BH": {
+ "name": "Bahrajn"
+ },
+ "BD": {
+ "name": "Bangladéš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgie"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BY": {
+ "name": "Bělorusko"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudy"
+ },
+ "BT": {
+ "name": "Bhútán"
+ },
+ "BO": {
+ "name": "Bolívie"
+ },
+ "BA": {
+ "name": "Bosna a Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazílie"
+ },
+ "IO": {
+ "name": "Britské indickooceánské území"
+ },
+ "VG": {
+ "name": "Britské Panenské ostrovy"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bulharsko"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CK": {
+ "name": "Cookovy ostrovy"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "ÄŒad"
+ },
+ "ME": {
+ "name": "Černá Hora"
+ },
+ "CZ": {
+ "name": "Česká republika"
+ },
+ "CN": {
+ "name": "Čína"
+ },
+ "DK": {
+ "name": "Dánsko"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikánská republika"
+ },
+ "DJ": {
+ "name": "Džibutsko"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "EC": {
+ "name": "Ekvádor"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonsko"
+ },
+ "ET": {
+ "name": "Etiopie"
+ },
+ "FO": {
+ "name": "Faerské ostrovy"
+ },
+ "FK": {
+ "name": "Falklandské ostrovy"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipíny"
+ },
+ "FI": {
+ "name": "Finsko"
+ },
+ "FR": {
+ "name": "Francie"
+ },
+ "GF": {
+ "name": "Francouzská Guyana"
+ },
+ "TF": {
+ "name": "Francouzská jižní území"
+ },
+ "PF": {
+ "name": "Francouzská Polynésie"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambie"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grónsko"
+ },
+ "GE": {
+ "name": "Gruzie"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong – ZAO Číny"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "HR": {
+ "name": "Chorvatsko"
+ },
+ "IN": {
+ "name": "Indie"
+ },
+ "ID": {
+ "name": "Indonésie"
+ },
+ "IQ": {
+ "name": "Irák"
+ },
+ "IR": {
+ "name": "Ãrán"
+ },
+ "IE": {
+ "name": "Irsko"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IT": {
+ "name": "Itálie"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japonsko"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "ZA": {
+ "name": "Jihoafrická republika"
+ },
+ "GS": {
+ "name": "Jižní Georgie a Jižní Sandwichovy ostrovy"
+ },
+ "KR": {
+ "name": "Jižní Korea"
+ },
+ "SS": {
+ "name": "Jižní Súdán"
+ },
+ "JO": {
+ "name": "Jordánsko"
+ },
+ "KY": {
+ "name": "Kajmanské ostrovy"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanárské ostrovy"
+ },
+ "CV": {
+ "name": "Kapverdy"
+ },
+ "BQ": {
+ "name": "Karibské Nizozemsko"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazachstán"
+ },
+ "KE": {
+ "name": "Keňa"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosové ostrovy"
+ },
+ "CO": {
+ "name": "Kolumbie"
+ },
+ "KM": {
+ "name": "Komory"
+ },
+ "CG": {
+ "name": "Kongo – Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo – Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "CY": {
+ "name": "Kypr"
+ },
+ "KG": {
+ "name": "Kyrgyzstán"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Libérie"
+ },
+ "LY": {
+ "name": "Libye"
+ },
+ "LI": {
+ "name": "Lichtenštejnsko"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LV": {
+ "name": "Lotyšsko"
+ },
+ "LU": {
+ "name": "Lucembursko"
+ },
+ "MO": {
+ "name": "Macao – ZAO Číny"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "MaÄarsko"
+ },
+ "MK": {
+ "name": "Makedonie"
+ },
+ "MY": {
+ "name": "Malajsie"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maledivy"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marshallovy ostrovy"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauricius"
+ },
+ "MR": {
+ "name": "Mauritánie"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "UM": {
+ "name": "Menší odlehlé ostrovy USA"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronésie"
+ },
+ "MD": {
+ "name": "Moldavsko"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolsko"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Barma)"
+ },
+ "NA": {
+ "name": "Namibie"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "Německo"
+ },
+ "NP": {
+ "name": "Nepál"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigérie"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NL": {
+ "name": "Nizozemsko"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "NO": {
+ "name": "Norsko"
+ },
+ "NC": {
+ "name": "Nová Kaledonie"
+ },
+ "NZ": {
+ "name": "Nový Zéland"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "IM": {
+ "name": "Ostrov Man"
+ },
+ "PK": {
+ "name": "Pákistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinská území"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Nová Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnovy ostrovy"
+ },
+ "CI": {
+ "name": "Pobřeží slonoviny"
+ },
+ "PL": {
+ "name": "Polsko"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugalsko"
+ },
+ "AT": {
+ "name": "Rakousko"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "GQ": {
+ "name": "Rovníková Guinea"
+ },
+ "RO": {
+ "name": "Rumunsko"
+ },
+ "RU": {
+ "name": "Rusko"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "GR": {
+ "name": "Řecko"
+ },
+ "PM": {
+ "name": "Saint-Pierre a Miquelon"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SA": {
+ "name": "Saúdská Arábie"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KP": {
+ "name": "Severní Korea"
+ },
+ "MP": {
+ "name": "Severní Mariany"
+ },
+ "SC": {
+ "name": "Seychely"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SK": {
+ "name": "Slovensko"
+ },
+ "SI": {
+ "name": "Slovinsko"
+ },
+ "SO": {
+ "name": "Somálsko"
+ },
+ "AE": {
+ "name": "Spojené arabské emiráty"
+ },
+ "US": {
+ "name": "Spojené státy"
+ },
+ "RS": {
+ "name": "Srbsko"
+ },
+ "LK": {
+ "name": "Srí Lanka"
+ },
+ "CF": {
+ "name": "Středoafrická republika"
+ },
+ "SD": {
+ "name": "Súdán"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SH": {
+ "name": "Svatá Helena"
+ },
+ "LC": {
+ "name": "Svatá Lucie"
+ },
+ "BL": {
+ "name": "Svatý Bartoloměj"
+ },
+ "KN": {
+ "name": "Svatý Kryštof a Nevis"
+ },
+ "MF": {
+ "name": "Svatý Martin (Francie)"
+ },
+ "SX": {
+ "name": "Svatý Martin (Nizozemsko)"
+ },
+ "ST": {
+ "name": "Svatý Tomáš a Princův ostrov"
+ },
+ "VC": {
+ "name": "Svatý Vincenc a Grenadiny"
+ },
+ "SZ": {
+ "name": "Svazijsko"
+ },
+ "SY": {
+ "name": "Sýrie"
+ },
+ "SB": {
+ "name": "Å alamounovy ostrovy"
+ },
+ "ES": {
+ "name": "Španělsko"
+ },
+ "SJ": {
+ "name": "Å picberky a Jan Mayen"
+ },
+ "SE": {
+ "name": "Švédsko"
+ },
+ "CH": {
+ "name": "Švýcarsko"
+ },
+ "TJ": {
+ "name": "Tádžikistán"
+ },
+ "TZ": {
+ "name": "Tanzanie"
+ },
+ "TH": {
+ "name": "Thajsko"
+ },
+ "TW": {
+ "name": "Tchaj-wan"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad a Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisko"
+ },
+ "TR": {
+ "name": "Turecko"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TC": {
+ "name": "Turks a Caicos"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "CX": {
+ "name": "VánoÄní ostrov"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikán"
+ },
+ "GB": {
+ "name": "Velká Británie"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "TL": {
+ "name": "Východní Timor"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "ZM": {
+ "name": "Zambie"
+ },
+ "EH": {
+ "name": "Západní Sahara"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/cy.json b/library/intl/resources/country/cy.json
new file mode 100644
index 000000000..d89800008
--- /dev/null
+++ b/library/intl/resources/country/cy.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "BQ": {
+ "name": "Antilles yr Iseldiroedd"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Awstralia"
+ },
+ "AT": {
+ "name": "Awstria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarws"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolifia"
+ },
+ "BA": {
+ "name": "Bosnia a Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BG": {
+ "name": "Bwlgaria"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "NC": {
+ "name": "Caledonia Newydd"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Camerŵn"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CU": {
+ "name": "Ciwba"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "ZA": {
+ "name": "De Affrica"
+ },
+ "GS": {
+ "name": "De Georgia ac Ynysoedd Sandwich y De"
+ },
+ "KR": {
+ "name": "De Korea"
+ },
+ "SS": {
+ "name": "De Swdan"
+ },
+ "DK": {
+ "name": "Denmarc"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiradau Arabaidd Unedig"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "VN": {
+ "name": "Fietnam"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FO": {
+ "name": "Føroyar"
+ },
+ "FR": {
+ "name": "Ffrainc"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "KP": {
+ "name": "Gogledd Korea"
+ },
+ "EH": {
+ "name": "Gorllewin Sahara"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "GQ": {
+ "name": "Guinea Gyhydeddol"
+ },
+ "GN": {
+ "name": "Guinée"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyane Ffrengig"
+ },
+ "CF": {
+ "name": "Gweriniaeth Canolbarth Affrica"
+ },
+ "DO": {
+ "name": "Gweriniaeth Dominica"
+ },
+ "CZ": {
+ "name": "Gweriniaeth Tsiec"
+ },
+ "BE": {
+ "name": "Gwlad Belg"
+ },
+ "GR": {
+ "name": "Gwlad Groeg"
+ },
+ "JO": {
+ "name": "Gwlad Iorddonen"
+ },
+ "PL": {
+ "name": "Gwlad Pwyl"
+ },
+ "SZ": {
+ "name": "Gwlad Swazi"
+ },
+ "TH": {
+ "name": "Gwlad Thai"
+ },
+ "IS": {
+ "name": "Gwlad yr Iâ"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HK": {
+ "name": "Hong Kong RhGA Tsieina"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hwngari"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irac"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IE": {
+ "name": "Iwerddon"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latfia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanus"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Lwcsembwrg"
+ },
+ "MO": {
+ "name": "Macau RhGA Tsieina"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mecsico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MD": {
+ "name": "Moldofa"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Moroco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwy"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Guinea Newydd"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Periw"
+ },
+ "PH": {
+ "name": "Pilipinas"
+ },
+ "PF": {
+ "name": "Polynesia Ffrengig"
+ },
+ "PT": {
+ "name": "Portiwgal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "RO": {
+ "name": "Rwmania"
+ },
+ "RU": {
+ "name": "Rwsia"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts a Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "VC": {
+ "name": "Saint Vincent a’r Grenadines"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa America"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé a Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "ES": {
+ "name": "Sbaen"
+ },
+ "NZ": {
+ "name": "Seland Newydd"
+ },
+ "SN": {
+ "name": "Sénégal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slofacia"
+ },
+ "SI": {
+ "name": "Slofenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard a Jan Mayen"
+ },
+ "SD": {
+ "name": "Swdan"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "IO": {
+ "name": "Tiriogaeth Brydeinig Cefnfor India"
+ },
+ "PS": {
+ "name": "Tiriogaethau Palesteinaidd"
+ },
+ "TF": {
+ "name": "Tiroedd Deheuol ac Antarctig Ffrainc"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TT": {
+ "name": "Trinidad a Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "CN": {
+ "name": "Tsieina"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Twrci"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "UA": {
+ "name": "Wcráin"
+ },
+ "BS": {
+ "name": "Y Bahamas"
+ },
+ "CG": {
+ "name": "Y Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Y Congo - Kinshasa"
+ },
+ "GB": {
+ "name": "Y Deyrnas Unedig"
+ },
+ "VA": {
+ "name": "Y Fatican"
+ },
+ "FI": {
+ "name": "Y Ffindir"
+ },
+ "MV": {
+ "name": "Y Maldives"
+ },
+ "CH": {
+ "name": "Y Swistir"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "AC": {
+ "name": "Ynys Ascension"
+ },
+ "IM": {
+ "name": "Ynys Manaw"
+ },
+ "NF": {
+ "name": "Ynys Norfolk"
+ },
+ "GG": {
+ "name": "Ynys y Garn"
+ },
+ "CX": {
+ "name": "Ynys y Nadolig"
+ },
+ "AX": {
+ "name": "Ynysoedd Ã…land"
+ },
+ "KY": {
+ "name": "Ynysoedd Cayman"
+ },
+ "CC": {
+ "name": "Ynysoedd Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Ynysoedd Cook"
+ },
+ "MP": {
+ "name": "Ynysoedd Gogledd Mariana"
+ },
+ "VG": {
+ "name": "Ynysoedd Gwyryf Prydain"
+ },
+ "VI": {
+ "name": "Ynysoedd Gwyryf yr Unol Daleithiau"
+ },
+ "MH": {
+ "name": "Ynysoedd Marshall"
+ },
+ "UM": {
+ "name": "Ynysoedd Pellennig UDA"
+ },
+ "PN": {
+ "name": "Ynysoedd Pitcairn"
+ },
+ "SB": {
+ "name": "Ynysoedd Solomon"
+ },
+ "TC": {
+ "name": "Ynysoedd Turks a Caicos"
+ },
+ "FK": {
+ "name": "Ynysoedd y Falkland\/Malvinas"
+ },
+ "EG": {
+ "name": "Yr Aifft"
+ },
+ "DE": {
+ "name": "Yr Almaen"
+ },
+ "AR": {
+ "name": "Yr Ariannin"
+ },
+ "IT": {
+ "name": "Yr Eidal"
+ },
+ "NL": {
+ "name": "Yr Iseldiroedd"
+ },
+ "US": {
+ "name": "Yr Unol Daleithiau"
+ },
+ "GL": {
+ "name": "Yr Ynys Las"
+ },
+ "IC": {
+ "name": "Yr Ynysoedd Dedwydd"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/da.json b/library/intl/resources/country/da.json
new file mode 100644
index 000000000..252132661
--- /dev/null
+++ b/library/intl/resources/country/da.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algeriet"
+ },
+ "AS": {
+ "name": "Amerikansk Samoa"
+ },
+ "UM": {
+ "name": "Amerikanske oversøiske øer"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua og Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascensionøen"
+ },
+ "AZ": {
+ "name": "Aserbajdsjan"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgien"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnien-Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodja"
+ },
+ "CM": {
+ "name": "Cameroun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "KY": {
+ "name": "Caymanøerne"
+ },
+ "CF": {
+ "name": "Centralafrikanske Republik"
+ },
+ "EA": {
+ "name": "Ceuta og Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CC": {
+ "name": "Cocosøerne"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comorerne"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "CK": {
+ "name": "Cookøerne"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypern"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "VI": {
+ "name": "De Amerikanske Jomfruøer"
+ },
+ "VG": {
+ "name": "De Britiske Jomfruøer"
+ },
+ "TF": {
+ "name": "De franske besiddelser i Det Sydlige Indiske Ocean"
+ },
+ "PS": {
+ "name": "De palæstinensiske områder"
+ },
+ "DO": {
+ "name": "Den Dominikanske Republik"
+ },
+ "IO": {
+ "name": "Det britiske territorium i Det Indiske Ocean"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypten"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenskysten"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopien"
+ },
+ "FK": {
+ "name": "Falklandsøerne"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippinerne"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "AE": {
+ "name": "Forenede Arabiske Emirater"
+ },
+ "FR": {
+ "name": "Frankrig"
+ },
+ "GF": {
+ "name": "Fransk Guyana"
+ },
+ "PF": {
+ "name": "Fransk Polynesien"
+ },
+ "FO": {
+ "name": "Færøerne"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grækenland"
+ },
+ "GL": {
+ "name": "Grønland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holland"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong SAR"
+ },
+ "BY": {
+ "name": "Hviderusland"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "CX": {
+ "name": "Juleøen"
+ },
+ "IC": {
+ "name": "Kanariske øer"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "Kasakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macao SAR"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonien"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldiverne"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalløerne"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Mikronesiens Forenede Stater"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoliet"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "BQ": {
+ "name": "Nederlandske antiller"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "MP": {
+ "name": "Nordmarianerne"
+ },
+ "NF": {
+ "name": "Norfolkøen"
+ },
+ "NO": {
+ "name": "Norge"
+ },
+ "NC": {
+ "name": "Ny Caledonien"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ny Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumænien"
+ },
+ "RU": {
+ "name": "Rusland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Kitts og Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre og Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent og Grenadinerne"
+ },
+ "SB": {
+ "name": "Salomonøerne"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome og Principe"
+ },
+ "SA": {
+ "name": "Saudi-Arabien"
+ },
+ "CH": {
+ "name": "Schweiz"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellerne"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakiet"
+ },
+ "SI": {
+ "name": "Slovenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia og South Sandwich Islands"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "GB": {
+ "name": "Storbritannien"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard og Jan Mayen"
+ },
+ "SE": {
+ "name": "Sverige"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "ZA": {
+ "name": "Sydafrika"
+ },
+ "KR": {
+ "name": "Sydkorea"
+ },
+ "SS": {
+ "name": "Sydsudan"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadsjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "CZ": {
+ "name": "Tjekkiet"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad og Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunesien"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- og Caicosøerne"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Tyrkiet"
+ },
+ "DE": {
+ "name": "Tyskland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstaten"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "EH": {
+ "name": "Vestsahara"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis og Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "GQ": {
+ "name": "Ækvatorialguinea"
+ },
+ "AT": {
+ "name": "Østrig"
+ },
+ "AX": {
+ "name": "Ålandsøerne"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/dav.json b/library/intl/resources/country/dav.json
new file mode 100644
index 000000000..e57db8007
--- /dev/null
+++ b/library/intl/resources/country/dav.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/de-CH.json b/library/intl/resources/country/de-CH.json
new file mode 100644
index 000000000..515874b31
--- /dev/null
+++ b/library/intl/resources/country/de-CH.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "EG": {
+ "name": "Ägypten"
+ },
+ "AX": {
+ "name": "Ã…land-Inseln"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algerien"
+ },
+ "UM": {
+ "name": "Amerikanisch-Ozeanien"
+ },
+ "AS": {
+ "name": "Amerikanisch-Samoa"
+ },
+ "VI": {
+ "name": "Amerikanische Jungferninseln"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua und Barbuda"
+ },
+ "GQ": {
+ "name": "Äquatorialguinea"
+ },
+ "AR": {
+ "name": "Argentinien"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaidschan"
+ },
+ "ET": {
+ "name": "Äthiopien"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgien"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivien"
+ },
+ "BA": {
+ "name": "Bosnien und Herzegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "VG": {
+ "name": "Britische Jungferninseln"
+ },
+ "IO": {
+ "name": "Britisches Territorium im Indischen Ozean"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta und Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CK": {
+ "name": "Cookinseln"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "KP": {
+ "name": "Demokratische Volksrepublik Korea"
+ },
+ "DE": {
+ "name": "Deutschland"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikanische Republik"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "FK": {
+ "name": "Falklandinseln"
+ },
+ "FO": {
+ "name": "Färöer"
+ },
+ "FJ": {
+ "name": "Fidschi"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frankreich"
+ },
+ "GF": {
+ "name": "Französisch-Guayana"
+ },
+ "PF": {
+ "name": "Französisch-Polynesien"
+ },
+ "TF": {
+ "name": "Französische Süd- und Antarktisgebiete"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griechenland"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GB": {
+ "name": "Grossbritannien"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanien"
+ },
+ "KY": {
+ "name": "Kaimaninseln"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarische Inseln"
+ },
+ "CV": {
+ "name": "Kapverden"
+ },
+ "BQ": {
+ "name": "Karibische Niederlande"
+ },
+ "KZ": {
+ "name": "Kasachstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosinseln"
+ },
+ "CO": {
+ "name": "Kolumbien"
+ },
+ "KM": {
+ "name": "Komoren"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Malediven"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshall-Inseln"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MK": {
+ "name": "Mazedonien"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesien"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NC": {
+ "name": "Neukaledonien"
+ },
+ "NZ": {
+ "name": "Neuseeland"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NL": {
+ "name": "Niederlande"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "MP": {
+ "name": "Nördliche Marianen"
+ },
+ "NF": {
+ "name": "Norfolkinsel"
+ },
+ "NO": {
+ "name": "Norwegen"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AT": {
+ "name": "Österreich"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "Palästinensische Autonomiegebiete"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neuguinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippinen"
+ },
+ "PN": {
+ "name": "Pitcairninseln"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "KR": {
+ "name": "Republik Korea"
+ },
+ "MD": {
+ "name": "Republik Moldau"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumänien"
+ },
+ "RU": {
+ "name": "Russische Föderation"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SB": {
+ "name": "Salomon-Inseln"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé und Principe"
+ },
+ "SA": {
+ "name": "Saudi-Arabien"
+ },
+ "SE": {
+ "name": "Schweden"
+ },
+ "CH": {
+ "name": "Schweiz"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakei"
+ },
+ "SI": {
+ "name": "Slowenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "MO": {
+ "name": "Sonderverwaltungsregion Macau"
+ },
+ "HK": {
+ "name": "Sonderverwaltungszone Hongkong"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts und Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre und Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent und die Grenadinen"
+ },
+ "ZA": {
+ "name": "Südafrika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "GS": {
+ "name": "Südgeorgien und die Südlichen Sandwichinseln"
+ },
+ "SS": {
+ "name": "Südsudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard und Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadschikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad und Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "CZ": {
+ "name": "Tschechische Republik"
+ },
+ "TN": {
+ "name": "Tunesien"
+ },
+ "TR": {
+ "name": "Türkei"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- und Caicosinseln"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstadt"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereinigte Arabische Emirate"
+ },
+ "US": {
+ "name": "Vereinigte Staaten"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis und Futuna"
+ },
+ "CX": {
+ "name": "Weihnachtsinsel"
+ },
+ "BY": {
+ "name": "Weissrussland"
+ },
+ "EH": {
+ "name": "Westsahara"
+ },
+ "CF": {
+ "name": "Zentralafrikanische Republik"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "CY": {
+ "name": "Zypern"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/de.json b/library/intl/resources/country/de.json
new file mode 100644
index 000000000..30777eaaf
--- /dev/null
+++ b/library/intl/resources/country/de.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "EG": {
+ "name": "Ägypten"
+ },
+ "AX": {
+ "name": "Ã…land-Inseln"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algerien"
+ },
+ "UM": {
+ "name": "Amerikanisch-Ozeanien"
+ },
+ "AS": {
+ "name": "Amerikanisch-Samoa"
+ },
+ "VI": {
+ "name": "Amerikanische Jungferninseln"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua und Barbuda"
+ },
+ "GQ": {
+ "name": "Äquatorialguinea"
+ },
+ "AR": {
+ "name": "Argentinien"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaidschan"
+ },
+ "ET": {
+ "name": "Äthiopien"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgien"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivien"
+ },
+ "BA": {
+ "name": "Bosnien und Herzegowina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "VG": {
+ "name": "Britische Jungferninseln"
+ },
+ "IO": {
+ "name": "Britisches Territorium im Indischen Ozean"
+ },
+ "BN": {
+ "name": "Brunei Darussalam"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta und Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CK": {
+ "name": "Cookinseln"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "KP": {
+ "name": "Demokratische Volksrepublik Korea"
+ },
+ "DE": {
+ "name": "Deutschland"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikanische Republik"
+ },
+ "DJ": {
+ "name": "Dschibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "FK": {
+ "name": "Falklandinseln"
+ },
+ "FO": {
+ "name": "Färöer"
+ },
+ "FJ": {
+ "name": "Fidschi"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frankreich"
+ },
+ "GF": {
+ "name": "Französisch-Guayana"
+ },
+ "PF": {
+ "name": "Französisch-Polynesien"
+ },
+ "TF": {
+ "name": "Französische Süd- und Antarktisgebiete"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griechenland"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanien"
+ },
+ "KY": {
+ "name": "Kaimaninseln"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarische Inseln"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibische Niederlande"
+ },
+ "KZ": {
+ "name": "Kasachstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosinseln"
+ },
+ "CO": {
+ "name": "Kolumbien"
+ },
+ "KM": {
+ "name": "Komoren"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Malediven"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallinseln"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MK": {
+ "name": "Mazedonien"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesien"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NC": {
+ "name": "Neukaledonien"
+ },
+ "NZ": {
+ "name": "Neuseeland"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NL": {
+ "name": "Niederlande"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "MP": {
+ "name": "Nördliche Marianen"
+ },
+ "NF": {
+ "name": "Norfolkinsel"
+ },
+ "NO": {
+ "name": "Norwegen"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AT": {
+ "name": "Österreich"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "Palästinensische Autonomiegebiete"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neuguinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippinen"
+ },
+ "PN": {
+ "name": "Pitcairninseln"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "KR": {
+ "name": "Republik Korea"
+ },
+ "MD": {
+ "name": "Republik Moldau"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumänien"
+ },
+ "RU": {
+ "name": "Russische Föderation"
+ },
+ "SB": {
+ "name": "Salomonen"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé und Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabien"
+ },
+ "SE": {
+ "name": "Schweden"
+ },
+ "CH": {
+ "name": "Schweiz"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakei"
+ },
+ "SI": {
+ "name": "Slowenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "MO": {
+ "name": "Sonderverwaltungsregion Macau"
+ },
+ "HK": {
+ "name": "Sonderverwaltungszone Hongkong"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts und Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre und Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent und die Grenadinen"
+ },
+ "ZA": {
+ "name": "Südafrika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "GS": {
+ "name": "Südgeorgien und die Südlichen Sandwichinseln"
+ },
+ "SS": {
+ "name": "Südsudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard und Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadschikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad und Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "CZ": {
+ "name": "Tschechische Republik"
+ },
+ "TN": {
+ "name": "Tunesien"
+ },
+ "TR": {
+ "name": "Türkei"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- und Caicosinseln"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstadt"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereinigte Arabische Emirate"
+ },
+ "US": {
+ "name": "Vereinigte Staaten"
+ },
+ "GB": {
+ "name": "Vereinigtes Königreich"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis und Futuna"
+ },
+ "CX": {
+ "name": "Weihnachtsinsel"
+ },
+ "EH": {
+ "name": "Westsahara"
+ },
+ "CF": {
+ "name": "Zentralafrikanische Republik"
+ },
+ "CY": {
+ "name": "Zypern"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/dje.json b/library/intl/resources/country/dje.json
new file mode 100644
index 000000000..2610631cb
--- /dev/null
+++ b/library/intl/resources/country/dje.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgaanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albaani"
+ },
+ "GB": {
+ "name": "Albaasalaama Marganta"
+ },
+ "DE": {
+ "name": "Almaaɲe"
+ },
+ "DZ": {
+ "name": "Alžeeri"
+ },
+ "VI": {
+ "name": "Ameerik Virgin Gungey"
+ },
+ "US": {
+ "name": "Ameriki Laabu Margantey"
+ },
+ "AS": {
+ "name": "Ameriki Samoa"
+ },
+ "AD": {
+ "name": "Andoora"
+ },
+ "AI": {
+ "name": "Angiiya"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua nda Barbuuda"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Armeeni"
+ },
+ "AW": {
+ "name": "Aruuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IS": {
+ "name": "Ayseland"
+ },
+ "AZ": {
+ "name": "Azerbaayijaŋ"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahareen"
+ },
+ "BD": {
+ "name": "Bangladeši"
+ },
+ "BB": {
+ "name": "Barbaados"
+ },
+ "BE": {
+ "name": "Belgiiki"
+ },
+ "BZ": {
+ "name": "Beliizi"
+ },
+ "BJ": {
+ "name": "Beniŋ"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Biloriši"
+ },
+ "BO": {
+ "name": "Boolivi"
+ },
+ "BA": {
+ "name": "Bosni nda Herzegovine"
+ },
+ "BW": {
+ "name": "Botswaana"
+ },
+ "BR": {
+ "name": "Breezil"
+ },
+ "IO": {
+ "name": "Britiši Indu teekoo laama"
+ },
+ "VG": {
+ "name": "Britiši Virgin gungey"
+ },
+ "BN": {
+ "name": "Bruunee"
+ },
+ "BG": {
+ "name": "Bulgaari"
+ },
+ "BF": {
+ "name": "Burkina faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Buutaŋ"
+ },
+ "TD": {
+ "name": "Caadu"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Cek labo"
+ },
+ "CF": {
+ "name": "Centraafriki koyra"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Doominiki laboo"
+ },
+ "ET": {
+ "name": "Ecioopi"
+ },
+ "EC": {
+ "name": "Ekwateer"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "ES": {
+ "name": "Espaaɲe"
+ },
+ "EE": {
+ "name": "Estooni"
+ },
+ "FR": {
+ "name": "Faransi"
+ },
+ "GF": {
+ "name": "Faransi Guyaan"
+ },
+ "PF": {
+ "name": "Faransi Polineezi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlandu"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaabon"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bisso"
+ },
+ "GQ": {
+ "name": "Ginee Ekwatorial"
+ },
+ "GE": {
+ "name": "Gorgi"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GD": {
+ "name": "Grenaada"
+ },
+ "GL": {
+ "name": "Grinland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "KP": {
+ "name": "Gurma Kooree"
+ },
+ "GY": {
+ "name": "Guyaane"
+ },
+ "GP": {
+ "name": "Gwadeluup"
+ },
+ "GT": {
+ "name": "Gwatemaala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ZA": {
+ "name": "Hawsa Afriki Laboo"
+ },
+ "KR": {
+ "name": "Hawsa Kooree"
+ },
+ "NL": {
+ "name": "Hollandu"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaari"
+ },
+ "ID": {
+ "name": "Indoneezi"
+ },
+ "IN": {
+ "name": "Indu laboo"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "RU": {
+ "name": "Iriši laboo"
+ },
+ "IE": {
+ "name": "Irlandu"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israyel"
+ },
+ "IT": {
+ "name": "Itaali"
+ },
+ "JP": {
+ "name": "Jaapoŋ"
+ },
+ "JM": {
+ "name": "Jamaayik"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuuti"
+ },
+ "NC": {
+ "name": "Kaaledooni Taagaa"
+ },
+ "KZ": {
+ "name": "Kaazakstan"
+ },
+ "FK": {
+ "name": "Kalkan gungey"
+ },
+ "KH": {
+ "name": "kamboogi"
+ },
+ "CM": {
+ "name": "Kameruun"
+ },
+ "CA": {
+ "name": "Kanaada"
+ },
+ "CV": {
+ "name": "Kapuver gungey"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "KY": {
+ "name": "Kayman gungey"
+ },
+ "KE": {
+ "name": "Keeniya"
+ },
+ "KI": {
+ "name": "Kiribaati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "CG": {
+ "name": "Kongoo"
+ },
+ "CD": {
+ "name": "Kongoo demookaratiki laboo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta rika"
+ },
+ "HR": {
+ "name": "Krwaasi"
+ },
+ "CI": {
+ "name": "Kudwar"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "CK": {
+ "name": "Kuuk gungey"
+ },
+ "KW": {
+ "name": "Kuweet"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "AE": {
+ "name": "Laaraw Imaarawey Margantey"
+ },
+ "LA": {
+ "name": "Laawos"
+ },
+ "LS": {
+ "name": "Leesoto"
+ },
+ "LV": {
+ "name": "Letooni"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LY": {
+ "name": "Liibi"
+ },
+ "LT": {
+ "name": "Lituaani"
+ },
+ "LB": {
+ "name": "Lubnaan"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Maacedooni"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MA": {
+ "name": "Maarok"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MV": {
+ "name": "Maldiivu"
+ },
+ "MY": {
+ "name": "Maleezi"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Mariana Gurma Gungey"
+ },
+ "MH": {
+ "name": "Maršal gungey"
+ },
+ "MQ": {
+ "name": "Martiniiki"
+ },
+ "MM": {
+ "name": "Maynamar"
+ },
+ "YT": {
+ "name": "Mayooti"
+ },
+ "MX": {
+ "name": "Mexiki"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "EG": {
+ "name": "Misra"
+ },
+ "MD": {
+ "name": "Moldovi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongooli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MU": {
+ "name": "Mooris gungey"
+ },
+ "MR": {
+ "name": "Mooritaani"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NG": {
+ "name": "Naajiriia"
+ },
+ "NA": {
+ "name": "Naamibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Neepal"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Nižer"
+ },
+ "NF": {
+ "name": "Norfolk Gungoo"
+ },
+ "NO": {
+ "name": "Norveej"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "AU": {
+ "name": "Ostraali"
+ },
+ "AT": {
+ "name": "Otriši"
+ },
+ "PK": {
+ "name": "Paakistan"
+ },
+ "PS": {
+ "name": "Palestine Dangay nda Gaaza"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ginee Taaga"
+ },
+ "PY": {
+ "name": "Paraguwey"
+ },
+ "PE": {
+ "name": "Peeru"
+ },
+ "PN": {
+ "name": "Pitikarin"
+ },
+ "PL": {
+ "name": "Poloɲe"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugaal"
+ },
+ "RE": {
+ "name": "Reenioŋ"
+ },
+ "RO": {
+ "name": "Rumaani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SV": {
+ "name": "Salvador laboo"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome nda Prinsipe"
+ },
+ "SA": {
+ "name": "Saudiya"
+ },
+ "SL": {
+ "name": "Seera Leon"
+ },
+ "SC": {
+ "name": "Seešel"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SH": {
+ "name": "Seŋ Helena"
+ },
+ "KN": {
+ "name": "Seŋ Kitts nda Nevis"
+ },
+ "LC": {
+ "name": "Seŋ Lussia"
+ },
+ "PM": {
+ "name": "Seŋ Piyer nda Mikelon"
+ },
+ "VC": {
+ "name": "Seŋvinsaŋ nda Grenadine"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CL": {
+ "name": "Å iili"
+ },
+ "CN": {
+ "name": "Å iin"
+ },
+ "CY": {
+ "name": "Å iipur"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaaki"
+ },
+ "SI": {
+ "name": "Sloveeni"
+ },
+ "SB": {
+ "name": "Solomon Gungey"
+ },
+ "SO": {
+ "name": "Somaali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srilanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinaam"
+ },
+ "SD": {
+ "name": "Suudaŋ"
+ },
+ "SY": {
+ "name": "Suuria"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweede"
+ },
+ "CH": {
+ "name": "Swisu"
+ },
+ "TH": {
+ "name": "Taayiland"
+ },
+ "TW": {
+ "name": "Taayiwan"
+ },
+ "TJ": {
+ "name": "Taažikistan"
+ },
+ "TZ": {
+ "name": "Tanzaani"
+ },
+ "TL": {
+ "name": "Timoor hawsa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad nda Tobaago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TC": {
+ "name": "Turk nda Kayikos Gungey"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistaŋ"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreen"
+ },
+ "JO": {
+ "name": "Urdun"
+ },
+ "UY": {
+ "name": "Uruguwey"
+ },
+ "UZ": {
+ "name": "Uzbeekistan"
+ },
+ "VA": {
+ "name": "Vaatikan Laama"
+ },
+ "VU": {
+ "name": "Vanautu"
+ },
+ "VE": {
+ "name": "Veneezuyeela"
+ },
+ "VN": {
+ "name": "Vietnaam"
+ },
+ "WF": {
+ "name": "Wallis nda Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zeelandu Taaga"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/dsb.json b/library/intl/resources/country/dsb.json
new file mode 100644
index 000000000..fadf1e4c7
--- /dev/null
+++ b/library/intl/resources/country/dsb.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land"
+ },
+ "AL": {
+ "name": "Albańska"
+ },
+ "DZ": {
+ "name": "Algeriska"
+ },
+ "UM": {
+ "name": "Ameriska Oceaniska"
+ },
+ "AS": {
+ "name": "Ameriska Samoa"
+ },
+ "VI": {
+ "name": "Ameriske kněžniske kupy"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "AR": {
+ "name": "Argentinska"
+ },
+ "AM": {
+ "name": "Armeńska"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Awstralska"
+ },
+ "AT": {
+ "name": "Awstriska"
+ },
+ "AZ": {
+ "name": "Azerbajdžan"
+ },
+ "BS": {
+ "name": "Bahamy"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgiska"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BY": {
+ "name": "Běłoruska"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudy"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Boliwiska"
+ },
+ "BA": {
+ "name": "Bosniska a Hercegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilska"
+ },
+ "VG": {
+ "name": "Britiske kněžniske kupy"
+ },
+ "IO": {
+ "name": "Britiski indiskooceaniski teritorium"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "TD": {
+ "name": "ÄŒad"
+ },
+ "ME": {
+ "name": "Carna Góra"
+ },
+ "CF": {
+ "name": "Centralnoafriska republika"
+ },
+ "CZ": {
+ "name": "ÄŒeska republika"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CL": {
+ "name": "Chilska"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "HR": {
+ "name": "Chorwatska"
+ },
+ "CK": {
+ "name": "Cookowe kupy"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypriska"
+ },
+ "DK": {
+ "name": "Dańska"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikańska republika"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egyptojska"
+ },
+ "EC": {
+ "name": "Ekwador"
+ },
+ "GQ": {
+ "name": "Ekwatorialna Gineja"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estniska"
+ },
+ "ET": {
+ "name": "Etiopiska"
+ },
+ "FK": {
+ "name": "Falklandske kupy"
+ },
+ "FO": {
+ "name": "Färöje"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipiny"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FR": {
+ "name": "Francojska"
+ },
+ "GF": {
+ "name": "Francojska Guyana"
+ },
+ "PF": {
+ "name": "Francojska Polyneziska"
+ },
+ "TF": {
+ "name": "Francojski pódpołdnjowy a antarktiski teritorium"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GE": {
+ "name": "Georgiska"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gineja"
+ },
+ "GW": {
+ "name": "Gineja-Bissau"
+ },
+ "CX": {
+ "name": "Gódowne kupy"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grichiska"
+ },
+ "GL": {
+ "name": "Grönlandska"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungorska"
+ },
+ "IN": {
+ "name": "Indiska"
+ },
+ "ID": {
+ "name": "Indoneziska"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Islandska"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italska"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japańska"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordaniska"
+ },
+ "KY": {
+ "name": "Kajmaniske kupy"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariske kupy"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibiska Nižozemska"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosowe kupy"
+ },
+ "CO": {
+ "name": "Kolumbiska"
+ },
+ "KM": {
+ "name": "Komory"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosowo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letiska"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libyska"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litawska"
+ },
+ "LU": {
+ "name": "Luxemburgska"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedońska"
+ },
+ "MY": {
+ "name": "Malajzija"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediwy"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Man"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallowe kupy"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "MR": {
+ "name": "Mawretańska"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikroneziska"
+ },
+ "MD": {
+ "name": "Moldawska"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolska"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "DE": {
+ "name": "Nimska"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NL": {
+ "name": "Nižozemska"
+ },
+ "NF": {
+ "name": "Norfolkowa kupa"
+ },
+ "NO": {
+ "name": "Norwegska"
+ },
+ "NC": {
+ "name": "Nowa Kaledoniska"
+ },
+ "NZ": {
+ "name": "Nowoseelandska"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinski awtonomny teritorium"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neuguinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnowe kupy"
+ },
+ "ZA": {
+ "name": "Pódpołdnjowa Afrika (Republika)"
+ },
+ "GS": {
+ "name": "Pódpołdnjowa Georgiska a Pódpołdnjowe Sandwichowe kupy"
+ },
+ "KR": {
+ "name": "Pódpołdnjowa Koreja"
+ },
+ "SS": {
+ "name": "Pódpołdnjowy Sudan"
+ },
+ "KP": {
+ "name": "Pódpołnocna Koreja"
+ },
+ "MP": {
+ "name": "Pódpołnocne Mariany"
+ },
+ "EH": {
+ "name": "Pódwjacorna Sahara"
+ },
+ "PL": {
+ "name": "Pólska"
+ },
+ "PT": {
+ "name": "Portugalska"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumuńska"
+ },
+ "RU": {
+ "name": "Ruska"
+ },
+ "SB": {
+ "name": "Salomony"
+ },
+ "ZM": {
+ "name": "Sambija"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé a Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabiska"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbiska"
+ },
+ "SC": {
+ "name": "Seychelle"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "SÅ‚owakska"
+ },
+ "SI": {
+ "name": "Słowjeńska"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "ES": {
+ "name": "Špańska"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts a Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre a Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent a Grenadiny"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinamska"
+ },
+ "SJ": {
+ "name": "Svalbard a Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swasiska"
+ },
+ "SE": {
+ "name": "Å wedska"
+ },
+ "CH": {
+ "name": "Å wicarska"
+ },
+ "SY": {
+ "name": "Syriska"
+ },
+ "TJ": {
+ "name": "Tadźikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansanija"
+ },
+ "TH": {
+ "name": "Thailandska"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad a Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tuneziska"
+ },
+ "TM": {
+ "name": "Turkmeniska"
+ },
+ "TR": {
+ "name": "Turkojska"
+ },
+ "TC": {
+ "name": "Turks a Caicos kupy"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikańske město"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "HK": {
+ "name": "Wósebna zastojnstwowa cona Hongkong"
+ },
+ "MO": {
+ "name": "Wósebna zastojnstwowa cona Macao"
+ },
+ "AE": {
+ "name": "Zjadnośone arabiske emiraty"
+ },
+ "GB": {
+ "name": "Zjadnośone kralejstwo"
+ },
+ "US": {
+ "name": "Zjadnośone staty Ameriki"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/dyo.json b/library/intl/resources/country/dyo.json
new file mode 100644
index 000000000..f4352b339
--- /dev/null
+++ b/library/intl/resources/country/dyo.json
@@ -0,0 +1,761 @@
+{
+ "SA": {
+ "name": "Abari Saudi"
+ },
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albani"
+ },
+ "DE": {
+ "name": "Almaañ"
+ },
+ "DZ": {
+ "name": "Alseri"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Angiiya"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua di Barbuda"
+ },
+ "AM": {
+ "name": "Armeni"
+ },
+ "AR": {
+ "name": "Arsantin"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Aserbaysan"
+ },
+ "HT": {
+ "name": "Ayti"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahrayn"
+ },
+ "BD": {
+ "name": "Banglades"
+ },
+ "BB": {
+ "name": "Barbad"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BZ": {
+ "name": "Beliis"
+ },
+ "BE": {
+ "name": "Belsik"
+ },
+ "BJ": {
+ "name": "Bene"
+ },
+ "BM": {
+ "name": "Bermud"
+ },
+ "BO": {
+ "name": "Boliivi"
+ },
+ "BA": {
+ "name": "Bosni di Hersegovin"
+ },
+ "BW": {
+ "name": "Boswana"
+ },
+ "BR": {
+ "name": "Bresil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BG": {
+ "name": "Bulgari"
+ },
+ "BF": {
+ "name": "Burukiina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Buruney"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "TD": {
+ "name": "Cad"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cili"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "NF": {
+ "name": "Ecinkey yati Noorfok"
+ },
+ "ET": {
+ "name": "Ecoopi"
+ },
+ "EC": {
+ "name": "Ekuador"
+ },
+ "IN": {
+ "name": "End"
+ },
+ "ID": {
+ "name": "Endonesi"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "EG": {
+ "name": "Esípt"
+ },
+ "ES": {
+ "name": "Espaañ"
+ },
+ "EE": {
+ "name": "Estoni"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frans"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GN": {
+ "name": "Giné"
+ },
+ "GW": {
+ "name": "Giné Bisaau"
+ },
+ "GY": {
+ "name": "Giyan"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Gres"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "Guwadalup"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IS": {
+ "name": "Iisland"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KH": {
+ "name": "Kamboj"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "CV": {
+ "name": "Kap Ver"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Keniya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CI": {
+ "name": "Koddiwar"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komor"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "HR": {
+ "name": "Kroasi"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaskaar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "CD": {
+ "name": "Mofam demokratik mati Kongo"
+ },
+ "CZ": {
+ "name": "Mofam mati Cek"
+ },
+ "DO": {
+ "name": "Mofam mati Dominik"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "HN": {
+ "name": "Onduras"
+ },
+ "HU": {
+ "name": "OÅ‹ri"
+ },
+ "AU": {
+ "name": "Ostraalia"
+ },
+ "AT": {
+ "name": "Otris"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SV": {
+ "name": "Salvadoor"
+ },
+ "JM": {
+ "name": "Samaik"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa yati Amerik"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "LC": {
+ "name": "Saŋ Lusia"
+ },
+ "ST": {
+ "name": "São Tomé & Príncipe"
+ },
+ "JP": {
+ "name": "Sapoŋ"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "GE": {
+ "name": "Seorsi"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Serra Leon"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "CN": {
+ "name": "Siin"
+ },
+ "CY": {
+ "name": "Siipr"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GI": {
+ "name": "Sipraltaar"
+ },
+ "LK": {
+ "name": "Siri Lanka"
+ },
+ "SK": {
+ "name": "Slovaki"
+ },
+ "SI": {
+ "name": "Sloveni"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TH": {
+ "name": "Tailand"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/dz.json b/library/intl/resources/country/dz.json
new file mode 100644
index 000000000..991766ec2
--- /dev/null
+++ b/library/intl/resources/country/dz.json
@@ -0,0 +1,761 @@
+{
+ "XK": {
+ "name": "Kosovo"
+ },
+ "QA": {
+ "name": "ཀ་ཊར"
+ },
+ "IC": {
+ "name": "ཀ་ནེ་རི་གླིང་ཚོམ"
+ },
+ "KZ": {
+ "name": "ཀ་ཛགས་སà½à½±à½“"
+ },
+ "KH": {
+ "name": "ཀམ་བྷོ་ཌི་ཡ"
+ },
+ "CW": {
+ "name": "ཀྱཱུར་ར་ཀོ"
+ },
+ "HR": {
+ "name": "ཀྲོ་ཨེ་ཤ"
+ },
+ "KI": {
+ "name": "ཀི་རི་བ་à½à½²à¼‹à½˜à½šà½¼à¼‹à½‚ླིང"
+ },
+ "CU": {
+ "name": "ཀིའུ་བྷ"
+ },
+ "KG": {
+ "name": "ཀིར་གིས་སà½à½±à½“"
+ },
+ "KW": {
+ "name": "ཀུ་à½à½ºà½Š"
+ },
+ "CK": {
+ "name": "ཀུག་གླིང་ཚོམ"
+ },
+ "CA": {
+ "name": "ཀེ་ན་ཌ"
+ },
+ "CM": {
+ "name": "ཀེ་མ་རུན"
+ },
+ "BQ": {
+ "name": "ཀེ་རི་བི་ཡེན་ནེ་དར་ལནཌས྄"
+ },
+ "KE": {
+ "name": "ཀེན་ཡ"
+ },
+ "CV": {
+ "name": "ཀེཔ་བཱཌ"
+ },
+ "CC": {
+ "name": "ཀོ་ཀོས་གླིང་ཚོམ"
+ },
+ "CI": {
+ "name": "ཀོ་ཊེ་ ཌི་ཨི་à½à½¼à¼‹à½¢à½º"
+ },
+ "KM": {
+ "name": "ཀོ་མོ་རོས"
+ },
+ "CO": {
+ "name": "ཀོ་ལོམ་བྷི་ཡ"
+ },
+ "CD": {
+ "name": "ཀོང་གྷོ ཀིན་ཤ་ས"
+ },
+ "CG": {
+ "name": "ཀོང་གྷོ བྷྲ་ཛ་བིལ"
+ },
+ "CR": {
+ "name": "ཀོས་ཊ་རི་ཀ"
+ },
+ "CX": {
+ "name": "à½à½²à¼‹à½¢à½²à½¦à¾Ÿà¼‹à½˜à½ºà½¦à¼‹à½˜à½šà½¼à¼‹à½‚ླིང"
+ },
+ "KY": {
+ "name": "à½à½ºà¼‹à½˜à½ºà½“་གླིང་ཚོམ"
+ },
+ "GH": {
+ "name": "གྷ་ན"
+ },
+ "GA": {
+ "name": "གྷ་བྷོན"
+ },
+ "GY": {
+ "name": "གྷ་ཡ་ན"
+ },
+ "GN": {
+ "name": "གྷི་ནི"
+ },
+ "GW": {
+ "name": "གྷི་ནི་ བྷི་སཱའུ"
+ },
+ "GM": {
+ "name": "གྷེམ་བི་ཡ"
+ },
+ "GT": {
+ "name": "གྷོ་ཊ་མ་ལ"
+ },
+ "GR": {
+ "name": "གིརིས྄"
+ },
+ "GL": {
+ "name": "གིརཱིན་ལནཌ྄"
+ },
+ "GU": {
+ "name": "གུ་འམ་ མཚོ་གླིང"
+ },
+ "GG": {
+ "name": "གུ་ཨེརྣ་སི"
+ },
+ "GF": {
+ "name": "གུའི་ཡ་ན་ ཕྲནས྄་མངའ་à½à½¼à½„ས"
+ },
+ "GD": {
+ "name": "གྲྀ་ན་ཌ"
+ },
+ "GP": {
+ "name": "གོ་ཌེ་ལུ་པེ"
+ },
+ "TD": {
+ "name": "ཅཱཌ"
+ },
+ "CL": {
+ "name": "ཅི་ལི"
+ },
+ "CZ": {
+ "name": "ཅེཀ་ རི་པབ་ལིཀ"
+ },
+ "JP": {
+ "name": "ཇ་པཱན"
+ },
+ "JM": {
+ "name": "ཇཱ་མཻ་ཀ"
+ },
+ "DE": {
+ "name": "ཇཱར་མ་ནི"
+ },
+ "DJ": {
+ "name": "ཇི་བྷུ་ཊི"
+ },
+ "GI": {
+ "name": "ཇིབ་རཱལ་ཊར"
+ },
+ "JE": {
+ "name": "ཇེར་སི"
+ },
+ "JO": {
+ "name": "ཇོར་ཌན"
+ },
+ "GE": {
+ "name": "ཇཽར་ཇཱ"
+ },
+ "TZ": {
+ "name": "ཊཱན་ཛཱ་ནི་ཡ"
+ },
+ "TW": {
+ "name": "ཊཱའི་à½à½±à½“"
+ },
+ "TR": {
+ "name": "ཊཱར་ཀི"
+ },
+ "TM": {
+ "name": "ཊཱརཀ་མེནའི་སà½à½±à½“"
+ },
+ "TT": {
+ "name": "ཊི་ནི་ཌཱཌ་ ཨེནཌ་ ཊོ་བྷེ་གྷོ"
+ },
+ "TN": {
+ "name": "ཊུ་ནི་ཤི་ཡ"
+ },
+ "TG": {
+ "name": "ཊོ་གྷོ"
+ },
+ "TO": {
+ "name": "ཊོང་གྷ"
+ },
+ "DG": {
+ "name": "ཌི་ཡེ་གོ་གར་སིའོ"
+ },
+ "DK": {
+ "name": "ཌེན་མཱཀ"
+ },
+ "DM": {
+ "name": "ཌོ་མི་ནི་ཀ"
+ },
+ "DO": {
+ "name": "ཌོ་མི་ནི་ཀཱན་ རི་པབ་ལིཀ"
+ },
+ "TJ": {
+ "name": "à½à¼‹à½‡à½²à½‚་གི་སà½à½±à½“"
+ },
+ "TA": {
+ "name": "à½à¾²à½²à½¦à¼‹à½à½“་ད་ཀུན་ཧ"
+ },
+ "TL": {
+ "name": "à½à½²à¼‹à¼‹à½˜à½¼à½¢à¼‹à½£à½ºà¼‹à½¨à½ºà½¦à½Š"
+ },
+ "TV": {
+ "name": "à½à½´à¼‹à½à¼‹à½£à½´"
+ },
+ "TC": {
+ "name": "à½à½´à½¢à¾à½¦à¾„་ ཨེནཌ་ ཀ་ཀོས་གླིང་ཚོམ"
+ },
+ "TK": {
+ "name": "à½à½¼à¼‹à½€à½ºà¼‹à½£à½ à½´à¼‹ མཚོ་གླིང"
+ },
+ "TH": {
+ "name": "à½à½±à½ à½²à¼‹à½£à½ºà½“ཌ"
+ },
+ "NA": {
+ "name": "ན་མི་བི་ཡ"
+ },
+ "NR": {
+ "name": "ནའུ་རུ་"
+ },
+ "NE": {
+ "name": "ནཱའི་ཇཱ"
+ },
+ "NG": {
+ "name": "ནཱའི་ཇི་རི་ཡ"
+ },
+ "NI": {
+ "name": "ནི་ཀྲ་à½à¼‹à½‚"
+ },
+ "NU": {
+ "name": "ནི་ཨུ་ཨཻ"
+ },
+ "NC": {
+ "name": "ནིའུ་ཀ་ལི་དོ་ནི་ཡ"
+ },
+ "NZ": {
+ "name": "ནིའུ་ཛི་ལེནཌ"
+ },
+ "EH": {
+ "name": "ནུབ་ཕྱོགས་ ས་ཧཱ་ར"
+ },
+ "NL": {
+ "name": "ནེ་དར་ལནཌས྄"
+ },
+ "NF": {
+ "name": "ནོར་ཕོལཀ་མཚོ་གླིང༌"
+ },
+ "NO": {
+ "name": "ནོར་à½à½º"
+ },
+ "PK": {
+ "name": "པ་ཀི་སà½à½±à½“"
+ },
+ "PA": {
+ "name": "པ་ན་མ"
+ },
+ "PG": {
+ "name": "པ་པུ་ ནིའུ་གི་ནི"
+ },
+ "PY": {
+ "name": "པ་ར་གུ་à½à½ à½²"
+ },
+ "PW": {
+ "name": "པ་ལའུ"
+ },
+ "PN": {
+ "name": "པིཊ་ཀེ་ཡེརན་གླིང་ཚོམ"
+ },
+ "PR": {
+ "name": "པུ་འེར་ཊོ་རི་à½à½¼"
+ },
+ "PE": {
+ "name": "པེ་རུ"
+ },
+ "PS": {
+ "name": "པེ་ལིསི་ཊི་ནི་ཡན་ཊེ་རི་à½à½¼à¼‹à½¢à½²"
+ },
+ "PL": {
+ "name": "པོ་ལེནཌ"
+ },
+ "PT": {
+ "name": "པོར་ཅུ་གཱལ"
+ },
+ "TF": {
+ "name": "ཕྲནཅ་གི་ལྷོ་ཕྱོགས་མངའ་à½à½¼à½„ས"
+ },
+ "FR": {
+ "name": "ཕྲཱནས"
+ },
+ "PF": {
+ "name": "ཕྲཱནས྄་ཀྱི་པོ་ལི་ནི་ཤི་ཡ"
+ },
+ "FK": {
+ "name": "ཕལà¾à¼‹à½£à½“ྜ་གླིང་ཚོམ"
+ },
+ "FO": {
+ "name": "ཕཱའེ་རོ་གླིང་ཚོམ"
+ },
+ "FJ": {
+ "name": "ཕི་ཇི"
+ },
+ "PH": {
+ "name": "ཕི་ལི་པིནས"
+ },
+ "FI": {
+ "name": "ཕིན་ལེནཌ"
+ },
+ "VA": {
+ "name": "བ་ཊི་ཀཱན་ སི་ཊི"
+ },
+ "BD": {
+ "name": "བངྒ་ལ་དེཤ"
+ },
+ "KP": {
+ "name": "བྱང་ ཀོ་རི་ཡ"
+ },
+ "MP": {
+ "name": "བྱང་ཕྱོགས་ཀྱི་མ་ར་ཡ་ན་གླིང་ཚོམ"
+ },
+ "BM": {
+ "name": "བར་མུ་ཌ"
+ },
+ "BR": {
+ "name": "བྲ་ཛིལ"
+ },
+ "IO": {
+ "name": "བྲི་ཊིཤ་རྒྱ་གར་གྱི་རྒྱ་མཚོ་ས་à½à½¼à½„ས"
+ },
+ "NP": {
+ "name": "བལ་ཡུལ"
+ },
+ "BH": {
+ "name": "བྷ་རེན"
+ },
+ "BS": {
+ "name": "བྷ་ཧ་མས྄"
+ },
+ "BF": {
+ "name": "བྷར་ཀི་ན་ ཕེ་སོ"
+ },
+ "BB": {
+ "name": "བྷར་བེ་ཌོས"
+ },
+ "BN": {
+ "name": "བྷྲུ་ནའི"
+ },
+ "BI": {
+ "name": "བྷུ་རུན་ཌི"
+ },
+ "BJ": {
+ "name": "བྷེ་ནིན"
+ },
+ "BO": {
+ "name": "བྷེ་ལི་བི་ཡ"
+ },
+ "BZ": {
+ "name": "བྷེ་ལིཛ"
+ },
+ "BE": {
+ "name": "བྷེལ་ཇམ"
+ },
+ "BW": {
+ "name": "བྷོཙ་à½à¼‹à½“"
+ },
+ "BA": {
+ "name": "བྷོས་ནི་ཡ་ ཨེནཌ་ ཧར་ཛི་གྷོ་བི་ན"
+ },
+ "BG": {
+ "name": "བུལ་ག་རི་ཡ"
+ },
+ "VE": {
+ "name": "བེ་ནི་ཛུ་à½à½ºà¼‹à½£"
+ },
+ "VN": {
+ "name": "བེཊ་ནཱམ"
+ },
+ "BY": {
+ "name": "བེལ་ཨ་རུ་སུ"
+ },
+ "MG": {
+ "name": "མ་དཱ་གེས་ཀར"
+ },
+ "MW": {
+ "name": "མ་ལ་à½à½²"
+ },
+ "MY": {
+ "name": "མ་ལེ་ཤི་ཡ"
+ },
+ "MK": {
+ "name": "མ་སེ་ཌོ་ནི་ཡ"
+ },
+ "MO": {
+ "name": "མཀ་ཨའུ་ཅཱའི་ན"
+ },
+ "FM": {
+ "name": "མའི་ཀྲོ་ནི་ཤི་ཡ"
+ },
+ "MH": {
+ "name": "མར་ཤེལ་གླིང་ཚོམ"
+ },
+ "ML": {
+ "name": "མཱ་ལི"
+ },
+ "MQ": {
+ "name": "མཱར་ཊི་ནིཀ"
+ },
+ "MT": {
+ "name": "མཱལ་ཊ"
+ },
+ "MV": {
+ "name": "མཱལ་དིབས"
+ },
+ "MM": {
+ "name": "མི་ཡཱན་མར་ (བྷར་མ)"
+ },
+ "YT": {
+ "name": "མེ་ཡོཊ"
+ },
+ "MX": {
+ "name": "མེཀ་སི་ཀོ"
+ },
+ "MC": {
+ "name": "མོ་ན་ཀོ"
+ },
+ "MZ": {
+ "name": "མོ་ཛམ་བྷིཀ"
+ },
+ "MR": {
+ "name": "མོ་རི་ཊེ་ནི་ཡ"
+ },
+ "MU": {
+ "name": "མོ་རི་ཤཱས"
+ },
+ "MA": {
+ "name": "མོ་རོ་ཀོ"
+ },
+ "ME": {
+ "name": "མོན་ཊི་ནེག་རོ"
+ },
+ "MS": {
+ "name": "མོན་ས་རཊ"
+ },
+ "MD": {
+ "name": "མོལ་དོ་བཱ"
+ },
+ "ZM": {
+ "name": "ཛམ་བྷི་ཡ"
+ },
+ "ZW": {
+ "name": "ཛིམ་བྷབ་à½à½º"
+ },
+ "VU": {
+ "name": "à½à¼‹à½“ུ་ཨ་à½à½´"
+ },
+ "VG": {
+ "name": "à½à½¢à½‡à½²à½“་གླིང་ཚོམ་ བྲཱི་ཊིཤ་མངའ་à½à½¼à½„ས"
+ },
+ "VI": {
+ "name": "à½à½¢à½‡à½²à½“་གླིང་ཚོམ་ ཡུ་ཨེས་ཨེ་མངའ་à½à½¼à½„ས"
+ },
+ "WF": {
+ "name": "à½à½£à¼‹à½£à½²à½¦à¾„་ ཨེནཌ་ ཕུ་à½à½´à¼‹à½“་"
+ },
+ "BT": {
+ "name": "འབྲུག"
+ },
+ "AQ": {
+ "name": "འཛམ་གླིང་ལྷོ་མà½à½ à½²à¼‹à½à¾±à½‚ས་གླིང"
+ },
+ "UA": {
+ "name": "ཡུ་ཀརེན"
+ },
+ "UG": {
+ "name": "ཡུ་གྷན་ཌ"
+ },
+ "GB": {
+ "name": "ཡུ་ནཱའི་ཊེཌ་ ཀིང་ཌམ"
+ },
+ "AE": {
+ "name": "ཡུ་ནཱའི་ཊེཌ་ ཨ་རབ་ ཨེ་མེ་རེཊས"
+ },
+ "UY": {
+ "name": "ཡུ་རུ་གུ་à½à½ à½²"
+ },
+ "UM": {
+ "name": "ཡུ་ཨེས་གྱི་མà½à½ à¼‹à½˜à½šà½˜à½¦à¼‹à½˜à½šà½¼à¼‹à½‚ླིང་"
+ },
+ "US": {
+ "name": "ཡུ་ཨེས་ཨེ"
+ },
+ "YE": {
+ "name": "ཡེ་མེན"
+ },
+ "IN": {
+ "name": "རྒྱ་གར"
+ },
+ "CN": {
+ "name": "རྒྱ་ནག"
+ },
+ "RW": {
+ "name": "རུ་à½à½“་ཌ"
+ },
+ "RE": {
+ "name": "རེ་ཡུ་ནི་ཡོན"
+ },
+ "RO": {
+ "name": "རོ་མེ་ནི་ཡ"
+ },
+ "LU": {
+ "name": "ལག་ཛམ་བོརྒ"
+ },
+ "LV": {
+ "name": "ལཊ་བི་ཡ"
+ },
+ "KR": {
+ "name": "ལྷོ་ ཀོ་རི་ཡ"
+ },
+ "LA": {
+ "name": "ལཱ་à½à½¼à½¦"
+ },
+ "LR": {
+ "name": "ལཱའི་བེ་རི་ཡ"
+ },
+ "LT": {
+ "name": "ལི་à½à½´à¼‹à½à½ºà¼‹à½“ི་ཡ"
+ },
+ "LY": {
+ "name": "ལི་བི་ཡ"
+ },
+ "LI": {
+ "name": "ལིཀ་à½à½“ས་à½à¼‹à½¡à½²à½“"
+ },
+ "LB": {
+ "name": "ལེ་བ་ནོན"
+ },
+ "LS": {
+ "name": "ལཻ་སོ་à½à½¼"
+ },
+ "LK": {
+ "name": "ཤྲཱི་ལང་ཀ"
+ },
+ "WS": {
+ "name": "ས་མོ་ཨ"
+ },
+ "AS": {
+ "name": "ས་མོ་ཨ་ཡུ་ཨེས་ཨེ་མངའ་à½à½¼à½„ས"
+ },
+ "ST": {
+ "name": "སà½à¼‹ ཊོ་མེ་ ཨེནཌ་ པྲྀན་སི་པེ"
+ },
+ "SJ": {
+ "name": "སྭཱལ་བྷརྡ་ ཨེནཌ་ ཇཱན་མ་ཡེན"
+ },
+ "SM": {
+ "name": "སཱན་མ་རི་ནོ"
+ },
+ "SA": {
+ "name": "སཱà½à¼‹à½‘ི་ ཨ་རེ་བྷི་ཡ"
+ },
+ "CY": {
+ "name": "སཱའི་པྲས"
+ },
+ "SS": {
+ "name": "སཱའུà½à¼‹ སུ་ཌཱན"
+ },
+ "ZA": {
+ "name": "སཱའུà½à¼‹ ཨཕ་རི་ཀ"
+ },
+ "GS": {
+ "name": "སཱའུà½à¼‹à½‡à½½à½¢à¼‹à½‡à½±à¼‹ དང་ སཱའུà½à¼‹à½¦à½ºà½“ཌ྄་à½à½²à½…་གླིང་ཚོམ"
+ },
+ "RS": {
+ "name": "སཱར་བྷི་ཡ"
+ },
+ "SL": {
+ "name": "སི་ར་ ལི་འོན"
+ },
+ "SY": {
+ "name": "སི་རི་ཡ"
+ },
+ "SG": {
+ "name": "སིང་ག་པོར"
+ },
+ "SX": {
+ "name": "སིནཊ་ མཱར་ཊེན"
+ },
+ "PM": {
+ "name": "སིནཊ་པི་ཡེར་ ཨེནཌ་ མིཀོ་ལེན"
+ },
+ "SD": {
+ "name": "སུ་ཌཱན"
+ },
+ "SZ": {
+ "name": "སུ་à½à¼‹à½›à½²à¼‹à½£à½ºà½“ཌ"
+ },
+ "CH": {
+ "name": "སུ་à½à½²à½Šà¼‹à½›à½¢à¼‹à½£à½ºà½“ཌ"
+ },
+ "SR": {
+ "name": "སུ་རི་ནཱམ"
+ },
+ "SK": {
+ "name": "སུ་ལོ་བཱ་ཀི་ཡ"
+ },
+ "SI": {
+ "name": "སུ་ལོ་བི་ནི་ཡ"
+ },
+ "SE": {
+ "name": "སུའི་ཌེན"
+ },
+ "SN": {
+ "name": "སེ་ནི་གྷལ"
+ },
+ "SC": {
+ "name": "སེ་ཤཱལས"
+ },
+ "EA": {
+ "name": "སེ་ཨུ་à½à¼‹ ཨེནཌ་ མེལ་ལི་ལ"
+ },
+ "CF": {
+ "name": "སེན་ཊལ་ ཨཕ་རི་ཀཱན་ རི་པབ་ལིཀ"
+ },
+ "KN": {
+ "name": "སེནཊ་ ཀིཊས་ དང་ ནེ་བིས"
+ },
+ "BL": {
+ "name": "སེནཊ་ བར་à½à½¼à¼‹à½£à½¼à½˜à¼‹à½˜à½²à½ à½´"
+ },
+ "MF": {
+ "name": "སེནཊ་ མཱར་ཊིན"
+ },
+ "LC": {
+ "name": "སེནཊ་ ལུ་སི་ཡ"
+ },
+ "SH": {
+ "name": "སེནཊ་ ཧེ་ལི་ན"
+ },
+ "VC": {
+ "name": "སེནཊ་à½à½²à½“་སེནཌ྄ ཨེནཌ་ གི་རེ་ན་དིནས྄"
+ },
+ "SO": {
+ "name": "སོ་མ་ལི་ཡ"
+ },
+ "SB": {
+ "name": "སོ་ལོ་མོན་ གླིང་ཚོམ"
+ },
+ "MN": {
+ "name": "སོག་པོ་ཡུལ"
+ },
+ "HU": {
+ "name": "ཧཱང་གྷ་རི"
+ },
+ "HN": {
+ "name": "ཧཱན་ཌུ་རཱས྄"
+ },
+ "HT": {
+ "name": "ཧེ་ཊི"
+ },
+ "HK": {
+ "name": "ཧོང་ཀོང་ཅཱའི་ན"
+ },
+ "AZ": {
+ "name": "ཨ་ཛར་བྷའི་ཇཱན"
+ },
+ "IM": {
+ "name": "ཨ་ཡུལ་ ཨོཕ་ མཱན"
+ },
+ "AW": {
+ "name": "ཨ་རུ་བཱ"
+ },
+ "AX": {
+ "name": "ཨ་ལནཌ་གླིང་ཚོམ"
+ },
+ "AO": {
+ "name": "ཨང་གྷོ་ལ"
+ },
+ "AI": {
+ "name": "ཨང་གི་ལ"
+ },
+ "AG": {
+ "name": "ཨན་ཊི་གུ་à½à¼‹ ཨེནཌ་ བྷར་བྷུ་ཌ"
+ },
+ "AF": {
+ "name": "ཨཕ་གྷ་ནི་སà½à½±à½“"
+ },
+ "AR": {
+ "name": "ཨར་ཇེན་ཊི་ན"
+ },
+ "AM": {
+ "name": "ཨར་མི་ནི་ཡ"
+ },
+ "IE": {
+ "name": "ཨཱ་ཡ་ལེནཌ"
+ },
+ "AD": {
+ "name": "ཨཱན་དོ་ར"
+ },
+ "IS": {
+ "name": "ཨཱའིས་ལེནཌ"
+ },
+ "DZ": {
+ "name": "ཨཱལ་ཇི་རི་ཡ"
+ },
+ "AL": {
+ "name": "ཨཱལ་བེ་ནི་ཡ"
+ },
+ "AT": {
+ "name": "ཨཱོས་ཊྲི་ཡ"
+ },
+ "AU": {
+ "name": "ཨཱོས་ཊྲེལ་ལི་ཡ"
+ },
+ "EG": {
+ "name": "ཨི་ཇིབཊ"
+ },
+ "IT": {
+ "name": "ཨི་ཊ་ལི"
+ },
+ "ET": {
+ "name": "ཨི་à½à½²à¼‹à½¡à½¼à¼‹à½”ི་ཡ"
+ },
+ "IQ": {
+ "name": "ཨི་རཱཀ"
+ },
+ "IR": {
+ "name": "ཨི་རཱན"
+ },
+ "ID": {
+ "name": "ཨིན་ཌོ་ནེ་ཤི་ཡ"
+ },
+ "ES": {
+ "name": "ཨིས་པེན"
+ },
+ "IL": {
+ "name": "ཨིས་ར་ཡེལ"
+ },
+ "RU": {
+ "name": "ཨུ་རུ་སུ"
+ },
+ "UZ": {
+ "name": "ཨུས་བེག་གི་སà½à½±à½“"
+ },
+ "GQ": {
+ "name": "ཨེ་ཀུ་ཊོ་རེལ་ གི་ནི"
+ },
+ "EC": {
+ "name": "ཨེ་à½à¾­à¼‹à½Œà½¼à½¢"
+ },
+ "ER": {
+ "name": "ཨེ་རི་ཊྲེ་ཡ"
+ },
+ "AC": {
+ "name": "ཨེ་སེན་ཤུན་ཚོ་གླིང༌"
+ },
+ "SV": {
+ "name": "ཨེལ་སལ་བ་ཌོར"
+ },
+ "EE": {
+ "name": "ཨེས་ཊོ་ནི་ཡ"
+ },
+ "OM": {
+ "name": "ཨོ་མཱན"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ebu.json b/library/intl/resources/country/ebu.json
new file mode 100644
index 000000000..e57db8007
--- /dev/null
+++ b/library/intl/resources/country/ebu.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ee.json b/library/intl/resources/country/ee.json
new file mode 100644
index 000000000..e9ef0a4a0
--- /dev/null
+++ b/library/intl/resources/country/ee.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan nutome"
+ },
+ "IS": {
+ "name": "Aiseland nutome"
+ },
+ "IM": {
+ "name": "Aisle of Man nutome"
+ },
+ "AX": {
+ "name": "Ã…land Æ’udomekpo nutome"
+ },
+ "AL": {
+ "name": "Albania nutome"
+ },
+ "DZ": {
+ "name": "Algeria nutome"
+ },
+ "AS": {
+ "name": "Amerika Samoa nutome"
+ },
+ "AD": {
+ "name": "Andorra nutome"
+ },
+ "AO": {
+ "name": "Angola nutome"
+ },
+ "AI": {
+ "name": "Anguilla nutome"
+ },
+ "AQ": {
+ "name": "Antartica nutome"
+ },
+ "AG": {
+ "name": "ÌAntigua kple Barbuda nutome"
+ },
+ "ZA": {
+ "name": "Anyiehe Afrika nutome"
+ },
+ "TF": {
+ "name": "Anyiehe Franseme nutome"
+ },
+ "GS": {
+ "name": "Anyiehe Georgia kple Anyiehe Sandwich Æ’udomekpowo nutome"
+ },
+ "KR": {
+ "name": "Anyiehe Korea nutome"
+ },
+ "SS": {
+ "name": "Anyiehe Sudan nutome"
+ },
+ "AR": {
+ "name": "Argentina nutome"
+ },
+ "AM": {
+ "name": "Armenia nutome"
+ },
+ "AW": {
+ "name": "Aruba nutome"
+ },
+ "AC": {
+ "name": "Ascension Æ’udomekpo nutome"
+ },
+ "AU": {
+ "name": "Australia nutome"
+ },
+ "AT": {
+ "name": "Austria nutome"
+ },
+ "AZ": {
+ "name": "Azerbaijan nutome"
+ },
+ "BS": {
+ "name": "Bahamas nutome"
+ },
+ "BH": {
+ "name": "Bahrain nutome"
+ },
+ "BD": {
+ "name": "Bangladesh nutome"
+ },
+ "BB": {
+ "name": "Barbados nutome"
+ },
+ "BY": {
+ "name": "Belarus nutome"
+ },
+ "BE": {
+ "name": "Belgium nutome"
+ },
+ "BZ": {
+ "name": "Belize nutome"
+ },
+ "BJ": {
+ "name": "Benin nutome"
+ },
+ "BM": {
+ "name": "Bermuda nutome"
+ },
+ "BT": {
+ "name": "Bhutan nutome"
+ },
+ "BO": {
+ "name": "Bolivia nutome"
+ },
+ "BA": {
+ "name": "Bosnia kple Herzergovina nutome"
+ },
+ "BW": {
+ "name": "Botswana nutome"
+ },
+ "BR": {
+ "name": "Brazil nutome"
+ },
+ "IO": {
+ "name": "Britaintɔwo ƒe india ƒudome nutome"
+ },
+ "VG": {
+ "name": "Britaintɔwo ƒe Virgin ƒudomekpowo nutome"
+ },
+ "BN": {
+ "name": "Brunei nutome"
+ },
+ "BG": {
+ "name": "Bulgaria nutome"
+ },
+ "BF": {
+ "name": "Burkina Faso nutome"
+ },
+ "BI": {
+ "name": "Burundi nutome"
+ },
+ "DK": {
+ "name": "Denmark nutome"
+ },
+ "DG": {
+ "name": "Diego Garsia nutome"
+ },
+ "DM": {
+ "name": "Dominika nutome"
+ },
+ "DO": {
+ "name": "Dominika repɔblik nutome"
+ },
+ "JM": {
+ "name": "Dzamaika nutome"
+ },
+ "JP": {
+ "name": "Dzapan nutome"
+ },
+ "JE": {
+ "name": "Dzɛse nutome"
+ },
+ "DJ": {
+ "name": "Dzibuti nutome"
+ },
+ "KP": {
+ "name": "Dziehe Korea nutome"
+ },
+ "MP": {
+ "name": "Dziehe Marina Æ’udomekpowo nutome"
+ },
+ "EG": {
+ "name": "Egypte nutome"
+ },
+ "EC": {
+ "name": "EkuadÉ” nutome"
+ },
+ "GQ": {
+ "name": "Ekuatorial Guini nutome"
+ },
+ "SV": {
+ "name": "El SalvadÉ” nutome"
+ },
+ "ER": {
+ "name": "Eritrea nutome"
+ },
+ "EE": {
+ "name": "Estonia nutome"
+ },
+ "ET": {
+ "name": "Etiopia nutome"
+ },
+ "FK": {
+ "name": "Falkland Æ’udomekpowo nutome"
+ },
+ "FO": {
+ "name": "Faroe Æ’udomekpowo nutome"
+ },
+ "FJ": {
+ "name": "Fidzi nutome"
+ },
+ "PH": {
+ "name": "Filipini nutome"
+ },
+ "FI": {
+ "name": "Finland nutome"
+ },
+ "FR": {
+ "name": "Frans nutome"
+ },
+ "GF": {
+ "name": "Frentsi Gayana nutome"
+ },
+ "PF": {
+ "name": "Frentsi Pɔlinesia nutome"
+ },
+ "GA": {
+ "name": "Gabɔn nutome"
+ },
+ "GM": {
+ "name": "Gambia nutome"
+ },
+ "GE": {
+ "name": "Georgia nutome"
+ },
+ "DE": {
+ "name": "Germania nutome"
+ },
+ "GH": {
+ "name": "Ghana nutome"
+ },
+ "GI": {
+ "name": "Gibraltar nutome"
+ },
+ "GW": {
+ "name": "Gini-Bisao nutome"
+ },
+ "GD": {
+ "name": "Grenada nutome"
+ },
+ "GL": {
+ "name": "Grinland nutome"
+ },
+ "GR": {
+ "name": "Grisi nutome"
+ },
+ "GP": {
+ "name": "Guadelupe nutome"
+ },
+ "GU": {
+ "name": "Guam nutome"
+ },
+ "GT": {
+ "name": "Guatemala nutome"
+ },
+ "GG": {
+ "name": "Guernse nutome"
+ },
+ "GN": {
+ "name": "Guini nutome"
+ },
+ "GY": {
+ "name": "Guyanadu"
+ },
+ "EH": {
+ "name": "Ɣetoɖoƒe Sahara nutome"
+ },
+ "HT": {
+ "name": "Haiti nutome"
+ },
+ "HN": {
+ "name": "Hondurasdu"
+ },
+ "HK": {
+ "name": "Hɔng Kɔng SAR Tsaina nutome"
+ },
+ "HU": {
+ "name": "Hungari nutome"
+ },
+ "IN": {
+ "name": "India nutome"
+ },
+ "ID": {
+ "name": "Indonesia nutome"
+ },
+ "IR": {
+ "name": "Iran nutome"
+ },
+ "IQ": {
+ "name": "iraqdukÉ”"
+ },
+ "IE": {
+ "name": "Ireland nutome"
+ },
+ "IL": {
+ "name": "Israel nutome"
+ },
+ "IT": {
+ "name": "Italia nutome"
+ },
+ "KH": {
+ "name": "Kambodia nutome"
+ },
+ "CM": {
+ "name": "Kamerun nutome"
+ },
+ "CA": {
+ "name": "Kanada nutome"
+ },
+ "IC": {
+ "name": "Kanari Æ’udomekpowo nutome"
+ },
+ "CV": {
+ "name": "Kape Verde nutome"
+ },
+ "BQ": {
+ "name": "Karibbeatɔwo ƒe Nedalanɖs nutome"
+ },
+ "QA": {
+ "name": "Katar nutome"
+ },
+ "KY": {
+ "name": "Kayman Æ’udomekpowo nutome"
+ },
+ "KZ": {
+ "name": "Kazakstan nutome"
+ },
+ "KE": {
+ "name": "Kenya nutome"
+ },
+ "EA": {
+ "name": "Keuta and Melilla nutome"
+ },
+ "KG": {
+ "name": "Kirgizstan nutome"
+ },
+ "KI": {
+ "name": "Kiribati nutome"
+ },
+ "CC": {
+ "name": "Kokos (Kiling) fudomekpo nutome"
+ },
+ "CO": {
+ "name": "Kolombia nutome"
+ },
+ "KM": {
+ "name": "Komoros nutome"
+ },
+ "CG": {
+ "name": "Kongo Brazzaville nutome"
+ },
+ "CD": {
+ "name": "Kongo Kinshasa nutome"
+ },
+ "CK": {
+ "name": "Kook Æ’udomekpo nutome"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika nutome"
+ },
+ "CI": {
+ "name": "Kote d’Ivoire nutome"
+ },
+ "CX": {
+ "name": "Kristmas Æ’udomekpo nutome"
+ },
+ "HR": {
+ "name": "Kroatsia nutome"
+ },
+ "CU": {
+ "name": "Kuba nutome"
+ },
+ "CW": {
+ "name": "Kurakao nutome"
+ },
+ "KW": {
+ "name": "Kuwait nutome"
+ },
+ "LA": {
+ "name": "Laos nutome"
+ },
+ "LV": {
+ "name": "Latvia nutome"
+ },
+ "LU": {
+ "name": "Lazembɔg nutome"
+ },
+ "LB": {
+ "name": "Lebanɔn nutome"
+ },
+ "LS": {
+ "name": "Lɛsoto nutome"
+ },
+ "LR": {
+ "name": "Liberia nutome"
+ },
+ "LY": {
+ "name": "Libya nutome"
+ },
+ "LI": {
+ "name": "Litsenstein nutome"
+ },
+ "LT": {
+ "name": "Lituania nutome"
+ },
+ "MO": {
+ "name": "Macau SAR Tsaina nutome"
+ },
+ "MG": {
+ "name": "Madagaska nutome"
+ },
+ "MK": {
+ "name": "Makedonia nutome"
+ },
+ "MW": {
+ "name": "Malawi nutome"
+ },
+ "MY": {
+ "name": "Malaysia nutome"
+ },
+ "MV": {
+ "name": "maldivesdukÉ”"
+ },
+ "ML": {
+ "name": "Mali nutome"
+ },
+ "MT": {
+ "name": "Malta nutome"
+ },
+ "MH": {
+ "name": "Marshal Æ’udomekpowo nutome"
+ },
+ "MQ": {
+ "name": "Martiniki nutome"
+ },
+ "MR": {
+ "name": "Mauritania nutome"
+ },
+ "MU": {
+ "name": "mauritiusdukÉ”"
+ },
+ "YT": {
+ "name": "Mayotte nutome"
+ },
+ "MX": {
+ "name": "Meksico nutome"
+ },
+ "FM": {
+ "name": "Mikronesia nutome"
+ },
+ "MD": {
+ "name": "Moldova nutome"
+ },
+ "MC": {
+ "name": "Monako nutome"
+ },
+ "MN": {
+ "name": "Mongolia nutome"
+ },
+ "ME": {
+ "name": "Montenegro nutome"
+ },
+ "MS": {
+ "name": "Montserrat nutome"
+ },
+ "MA": {
+ "name": "Moroko nutome"
+ },
+ "MZ": {
+ "name": "Mozambiki nutome"
+ },
+ "MM": {
+ "name": "Myanmar (Burma) nutome"
+ },
+ "NA": {
+ "name": "Namibia nutome"
+ },
+ "NR": {
+ "name": "Nauru nutome"
+ },
+ "NL": {
+ "name": "Nedalands nutome"
+ },
+ "NP": {
+ "name": "Nepal nutome"
+ },
+ "NC": {
+ "name": "New Kaledonia nutome"
+ },
+ "NZ": {
+ "name": "New Zealand nutome"
+ },
+ "NI": {
+ "name": "NicaraguadukÉ”"
+ },
+ "NE": {
+ "name": "Niger nutome"
+ },
+ "NG": {
+ "name": "Nigeria nutome"
+ },
+ "NU": {
+ "name": "Niue nutome"
+ },
+ "NF": {
+ "name": "Norfolk Æ’udomekpo nutome"
+ },
+ "NO": {
+ "name": "Norway nutome"
+ },
+ "OM": {
+ "name": "Oman nutome"
+ },
+ "PK": {
+ "name": "Pakistan nutome"
+ },
+ "PW": {
+ "name": "Palau nutome"
+ },
+ "PS": {
+ "name": "Palestinia nutome"
+ },
+ "PA": {
+ "name": "Panama nutome"
+ },
+ "PG": {
+ "name": "Papua New Gini nutome"
+ },
+ "PY": {
+ "name": "Paragua nutome"
+ },
+ "PE": {
+ "name": "Peru nutome"
+ },
+ "PN": {
+ "name": "Pitkairn Æ’udomekpo nutome"
+ },
+ "PL": {
+ "name": "Poland nutome"
+ },
+ "PT": {
+ "name": "Portugal nutome"
+ },
+ "PR": {
+ "name": "Puerto Riko nutome"
+ },
+ "RE": {
+ "name": "Réunion nutome"
+ },
+ "RO": {
+ "name": "Romania nutome"
+ },
+ "RU": {
+ "name": "Russia nutome"
+ },
+ "RW": {
+ "name": "Rwanda nutome"
+ },
+ "BL": {
+ "name": "Saint Barthélemy nutome"
+ },
+ "SH": {
+ "name": "Saint Helena nutome"
+ },
+ "KN": {
+ "name": "Saint Kitis kple Nevis nutome"
+ },
+ "LC": {
+ "name": "Saint Lusia nutome"
+ },
+ "MF": {
+ "name": "Saint Martin nutome"
+ },
+ "PM": {
+ "name": "Saint Pierre kple Mikelɔn nutome"
+ },
+ "VC": {
+ "name": "Saint Vincent kple Grenadine nutome"
+ },
+ "CY": {
+ "name": "Saiprus nutome"
+ },
+ "WS": {
+ "name": "Samoa nutome"
+ },
+ "SM": {
+ "name": "San Marino nutome"
+ },
+ "ST": {
+ "name": "São Tomé kple Príncipe nutome"
+ },
+ "SA": {
+ "name": "Saudi Arabia nutome"
+ },
+ "SN": {
+ "name": "Senegal nutome"
+ },
+ "RS": {
+ "name": "Serbia nutome"
+ },
+ "SC": {
+ "name": "Seshɛls nutome"
+ },
+ "SL": {
+ "name": "Sierra Leone nutome"
+ },
+ "SG": {
+ "name": "Singapɔr nutome"
+ },
+ "SX": {
+ "name": "Sint Maarten nutome"
+ },
+ "SY": {
+ "name": "Siria nutome"
+ },
+ "SK": {
+ "name": "Slovakia nutome"
+ },
+ "SI": {
+ "name": "Slovenia nutome"
+ },
+ "SB": {
+ "name": "Solomon Æ’udomekpowo nutome"
+ },
+ "SO": {
+ "name": "Somalia nutome"
+ },
+ "ES": {
+ "name": "Spania nutome"
+ },
+ "LK": {
+ "name": "Sri Lanka nutome"
+ },
+ "SD": {
+ "name": "Sudan nutome"
+ },
+ "SR": {
+ "name": "Suriname nutome"
+ },
+ "SJ": {
+ "name": "Svalbard kple Yan Mayen nutome"
+ },
+ "SZ": {
+ "name": "Swaziland nutome"
+ },
+ "SE": {
+ "name": "Sweden nutome"
+ },
+ "CH": {
+ "name": "Switzerland nutome"
+ },
+ "TH": {
+ "name": "Tailand nutome"
+ },
+ "TW": {
+ "name": "Taiwan nutome"
+ },
+ "TJ": {
+ "name": "Tajikistan nutome"
+ },
+ "TZ": {
+ "name": "Tanzania nutome"
+ },
+ "TR": {
+ "name": "Tɛki nutome"
+ },
+ "TM": {
+ "name": "Tɛkmenistan nutome"
+ },
+ "TC": {
+ "name": "Tɛks kple Kaikos ƒudomekpowo nutome"
+ },
+ "TL": {
+ "name": "Timor-Leste nutome"
+ },
+ "CF": {
+ "name": "Titina Afrika repɔblik nutome"
+ },
+ "TG": {
+ "name": "Togo nutome"
+ },
+ "TK": {
+ "name": "Tokelau nutome"
+ },
+ "TO": {
+ "name": "Tonga nutome"
+ },
+ "TT": {
+ "name": "Trinidad kple Tobago nutome"
+ },
+ "TA": {
+ "name": "Tristan da Kunha nutome"
+ },
+ "TD": {
+ "name": "Tsad nutome"
+ },
+ "CN": {
+ "name": "Tsaina nutome"
+ },
+ "CZ": {
+ "name": "Tsɛk repɔblik nutome"
+ },
+ "CL": {
+ "name": "Tsile nutome"
+ },
+ "TN": {
+ "name": "Tunisia nutome"
+ },
+ "TV": {
+ "name": "Tuvalu nutome"
+ },
+ "UM": {
+ "name": "U.S. Minor Outlaying Æ’udomekpowo nutome"
+ },
+ "VI": {
+ "name": "U.S. Vɛrgin ƒudomekpowo nutome"
+ },
+ "UG": {
+ "name": "Uganda nutome"
+ },
+ "UA": {
+ "name": "Ukraine nutome"
+ },
+ "AE": {
+ "name": "United Arab Emirates nutome"
+ },
+ "GB": {
+ "name": "United Kingdom nutome"
+ },
+ "UY": {
+ "name": "uruguaydukÉ”"
+ },
+ "US": {
+ "name": "USA nutome"
+ },
+ "UZ": {
+ "name": "Uzbekistan nutome"
+ },
+ "VU": {
+ "name": "Vanuatu nutome"
+ },
+ "VA": {
+ "name": "Vatikandu nutome"
+ },
+ "VE": {
+ "name": "Venezuela nutome"
+ },
+ "VN": {
+ "name": "Vietnam nutome"
+ },
+ "WF": {
+ "name": "Wallis kple Futuna nutome"
+ },
+ "YE": {
+ "name": "Yemen nutome"
+ },
+ "JO": {
+ "name": "Yordan nutome"
+ },
+ "ZM": {
+ "name": "Zambia nutome"
+ },
+ "ZW": {
+ "name": "Zimbabwe nutome"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/el.json b/library/intl/resources/country/el.json
new file mode 100644
index 000000000..807ae358d
--- /dev/null
+++ b/library/intl/resources/country/el.json
@@ -0,0 +1,761 @@
+{
+ "SH": {
+ "name": "Αγία Ελένη"
+ },
+ "LC": {
+ "name": "Αγία Λουκία"
+ },
+ "BL": {
+ "name": "Άγιος ΒαÏθολομαίος"
+ },
+ "VC": {
+ "name": "Άγιος Βικέντιος και ΓÏεναδίνες"
+ },
+ "SM": {
+ "name": "Άγιος ΜαÏίνος"
+ },
+ "MF": {
+ "name": "Άγιος ΜαÏτίνος (Γαλλικό τμήμα)"
+ },
+ "SX": {
+ "name": "Άγιος ΜαÏτίνος (Ολλανδικό τμήμα)"
+ },
+ "KN": {
+ "name": "Άγιος ΧÏιστόφοÏος και Îέβις"
+ },
+ "AZ": {
+ "name": "ΑζεÏμπαϊτζάν"
+ },
+ "EG": {
+ "name": "Αίγυπτος"
+ },
+ "ET": {
+ "name": "Αιθιοπία"
+ },
+ "HT": {
+ "name": "Αϊτή"
+ },
+ "CI": {
+ "name": "Ακτή ΕλεφαντοστοÏ"
+ },
+ "AL": {
+ "name": "Αλβανία"
+ },
+ "DZ": {
+ "name": "ΑλγεÏία"
+ },
+ "VI": {
+ "name": "ΑμεÏικανικές ΠαÏθένοι Îήσοι"
+ },
+ "AS": {
+ "name": "ΑμεÏικανική Σαμόα"
+ },
+ "AO": {
+ "name": "Ανγκόλα"
+ },
+ "AI": {
+ "name": "Ανγκουίλα"
+ },
+ "AD": {
+ "name": "ΑνδόÏα"
+ },
+ "AQ": {
+ "name": "ΑνταÏκτική"
+ },
+ "AG": {
+ "name": "Αντίγκουα και ΜπαÏμποÏντα"
+ },
+ "UM": {
+ "name": "ΑπομακÏυσμένες Îησίδες Η.Π.Α."
+ },
+ "AR": {
+ "name": "ΑÏγεντινή"
+ },
+ "AM": {
+ "name": "ΑÏμενία"
+ },
+ "AW": {
+ "name": "ΑÏοÏμπα"
+ },
+ "AU": {
+ "name": "ΑυστÏαλία"
+ },
+ "AT": {
+ "name": "ΑυστÏία"
+ },
+ "AF": {
+ "name": "Αφγανιστάν"
+ },
+ "VU": {
+ "name": "Βανουάτου"
+ },
+ "VA": {
+ "name": "Βατικανό"
+ },
+ "BE": {
+ "name": "Βέλγιο"
+ },
+ "VE": {
+ "name": "Βενεζουέλα"
+ },
+ "BM": {
+ "name": "ΒεÏμοÏδες"
+ },
+ "VN": {
+ "name": "Βιετνάμ"
+ },
+ "BO": {
+ "name": "Βολιβία"
+ },
+ "KP": {
+ "name": "Î’ÏŒÏεια ΚοÏέα"
+ },
+ "BA": {
+ "name": "Βοσνία - ΕÏζεγοβίνη"
+ },
+ "BG": {
+ "name": "ΒουλγαÏία"
+ },
+ "BR": {
+ "name": "Î’Ïαζιλία"
+ },
+ "IO": {
+ "name": "Î’Ïετανικά Εδάφη Î™Î½Î´Î¹ÎºÎ¿Ï Î©ÎºÎµÎ±Î½Î¿Ï"
+ },
+ "VG": {
+ "name": "Î’Ïετανικές ΠαÏθένοι Îήσοι"
+ },
+ "FR": {
+ "name": "Γαλλία"
+ },
+ "TF": {
+ "name": "Γαλλικές πεÏιοχές του νοτίου ημισφαιÏίου"
+ },
+ "GF": {
+ "name": "Γαλλική Γουιάνα"
+ },
+ "PF": {
+ "name": "Γαλλική Πολυνησία"
+ },
+ "DE": {
+ "name": "ΓεÏμανία"
+ },
+ "GE": {
+ "name": "ΓεωÏγία"
+ },
+ "GI": {
+ "name": "ΓιβÏαλτάÏ"
+ },
+ "GM": {
+ "name": "Γκάμπια"
+ },
+ "GA": {
+ "name": "Γκαμπόν"
+ },
+ "GH": {
+ "name": "Γκάνα"
+ },
+ "GG": {
+ "name": "ΓκέÏνζι"
+ },
+ "GU": {
+ "name": "Γκουάμ"
+ },
+ "GP": {
+ "name": "ΓουαδελοÏπη"
+ },
+ "GT": {
+ "name": "Γουατεμάλα"
+ },
+ "GY": {
+ "name": "Γουιάνα"
+ },
+ "GN": {
+ "name": "Γουινέα"
+ },
+ "GW": {
+ "name": "Γουινέα Μπισάου"
+ },
+ "GD": {
+ "name": "ΓÏενάδα"
+ },
+ "GL": {
+ "name": "ΓÏοιλανδία"
+ },
+ "DK": {
+ "name": "Δανία"
+ },
+ "DO": {
+ "name": "Δομινικανή ΔημοκÏατία"
+ },
+ "EH": {
+ "name": "Δυτική ΣαχάÏα"
+ },
+ "EC": {
+ "name": "ΕκουαδόÏ"
+ },
+ "SV": {
+ "name": "Ελ ΣαλβαδόÏ"
+ },
+ "CH": {
+ "name": "Ελβετία"
+ },
+ "GR": {
+ "name": "Ελλάδα"
+ },
+ "ER": {
+ "name": "ΕÏυθÏαία"
+ },
+ "EE": {
+ "name": "Εσθονία"
+ },
+ "ZM": {
+ "name": "Ζάμπια"
+ },
+ "ZW": {
+ "name": "Ζιμπάμπουε"
+ },
+ "AE": {
+ "name": "Ηνωμένα ΑÏαβικά ΕμιÏάτα"
+ },
+ "US": {
+ "name": "Ηνωμένες Πολιτείες"
+ },
+ "GB": {
+ "name": "Ηνωμένο Βασίλειο"
+ },
+ "EA": {
+ "name": "ΘεοÏτα και Μελίλα"
+ },
+ "JP": {
+ "name": "Ιαπωνία"
+ },
+ "IN": {
+ "name": "Ινδία"
+ },
+ "ID": {
+ "name": "Ινδονησία"
+ },
+ "JO": {
+ "name": "ΙοÏδανία"
+ },
+ "IQ": {
+ "name": "ΙÏάκ"
+ },
+ "IR": {
+ "name": "ΙÏάν"
+ },
+ "IE": {
+ "name": "ΙÏλανδία"
+ },
+ "GQ": {
+ "name": "ΙσημεÏινή Γουινέα"
+ },
+ "IS": {
+ "name": "Ισλανδία"
+ },
+ "ES": {
+ "name": "Ισπανία"
+ },
+ "IL": {
+ "name": "ΙσÏαήλ"
+ },
+ "IT": {
+ "name": "Ιταλία"
+ },
+ "KZ": {
+ "name": "Καζακστάν"
+ },
+ "CM": {
+ "name": "ΚαμεÏοÏν"
+ },
+ "KH": {
+ "name": "Καμπότζη"
+ },
+ "CA": {
+ "name": "Καναδάς"
+ },
+ "IC": {
+ "name": "ΚανάÏιοι Îήσοι"
+ },
+ "QA": {
+ "name": "ΚατάÏ"
+ },
+ "CF": {
+ "name": "ΚεντÏοαφÏικανική ΔημοκÏατία"
+ },
+ "KE": {
+ "name": "Κένυα"
+ },
+ "CN": {
+ "name": "Κίνα"
+ },
+ "KG": {
+ "name": "ΚιÏγιστάν"
+ },
+ "KI": {
+ "name": "ΚιÏιμπάτι"
+ },
+ "CO": {
+ "name": "Κολομβία"
+ },
+ "KM": {
+ "name": "ΚομόÏες"
+ },
+ "CD": {
+ "name": "Κονγκό - Κινσάσα"
+ },
+ "CG": {
+ "name": "Κονγκό - ΜπÏαζαβίλ"
+ },
+ "XK": {
+ "name": "Κόσοβο"
+ },
+ "CR": {
+ "name": "Κόστα Ρίκα"
+ },
+ "CU": {
+ "name": "ΚοÏβα"
+ },
+ "KW": {
+ "name": "Κουβέιτ"
+ },
+ "CW": {
+ "name": "ΚουÏασάο"
+ },
+ "HR": {
+ "name": "ΚÏοατία"
+ },
+ "CY": {
+ "name": "ΚÏÏ€Ïος"
+ },
+ "LA": {
+ "name": "Λάος"
+ },
+ "LS": {
+ "name": "Λεσότο"
+ },
+ "LV": {
+ "name": "Λετονία"
+ },
+ "BY": {
+ "name": "ΛευκοÏωσία"
+ },
+ "LB": {
+ "name": "Λίβανος"
+ },
+ "LR": {
+ "name": "ΛιβεÏία"
+ },
+ "LY": {
+ "name": "ΛιβÏη"
+ },
+ "LT": {
+ "name": "Λιθουανία"
+ },
+ "LI": {
+ "name": "Λιχτενστάιν"
+ },
+ "LU": {
+ "name": "ΛουξεμβοÏÏγο"
+ },
+ "YT": {
+ "name": "Μαγιότ"
+ },
+ "MG": {
+ "name": "ΜαδαγασκάÏη"
+ },
+ "MO": {
+ "name": "Μακάο ΕΔΠ Κίνας"
+ },
+ "MY": {
+ "name": "Μαλαισία"
+ },
+ "MW": {
+ "name": "Μαλάουι"
+ },
+ "MV": {
+ "name": "Μαλδίβες"
+ },
+ "ML": {
+ "name": "Μάλι"
+ },
+ "MT": {
+ "name": "Μάλτα"
+ },
+ "MA": {
+ "name": "ΜαÏόκο"
+ },
+ "MQ": {
+ "name": "ΜαÏτινίκα"
+ },
+ "MU": {
+ "name": "ΜαυÏίκιος"
+ },
+ "MR": {
+ "name": "ΜαυÏιτανία"
+ },
+ "ME": {
+ "name": "ΜαυÏοβοÏνιο"
+ },
+ "MX": {
+ "name": "Μεξικό"
+ },
+ "MM": {
+ "name": "ΜιανμάÏ\/ΒιÏμανία"
+ },
+ "FM": {
+ "name": "ΜικÏονησία"
+ },
+ "MN": {
+ "name": "Μογγολία"
+ },
+ "MZ": {
+ "name": "Μοζαμβίκη"
+ },
+ "MD": {
+ "name": "Μολδαβία"
+ },
+ "MC": {
+ "name": "Μονακό"
+ },
+ "MS": {
+ "name": "ΜονσεÏάτ"
+ },
+ "BD": {
+ "name": "Μπανγκλαντές"
+ },
+ "BB": {
+ "name": "ΜπαÏμπάντος"
+ },
+ "BS": {
+ "name": "Μπαχάμες"
+ },
+ "BH": {
+ "name": "ΜπαχÏέιν"
+ },
+ "BZ": {
+ "name": "Μπελίζ"
+ },
+ "BJ": {
+ "name": "Μπενίν"
+ },
+ "BW": {
+ "name": "Μποτσουάνα"
+ },
+ "BF": {
+ "name": "ΜπουÏκίνα Φάσο"
+ },
+ "BI": {
+ "name": "ΜπουÏοÏντι"
+ },
+ "BT": {
+ "name": "Μπουτάν"
+ },
+ "BN": {
+ "name": "ΜπÏουνέι"
+ },
+ "NA": {
+ "name": "Îαμίμπια"
+ },
+ "NR": {
+ "name": "ÎαουÏοÏ"
+ },
+ "NZ": {
+ "name": "Îέα Ζηλανδία"
+ },
+ "NC": {
+ "name": "Îέα Καληδονία"
+ },
+ "NP": {
+ "name": "Îεπάλ"
+ },
+ "MP": {
+ "name": "Îήσοι Î’ÏŒÏειες ΜαÏιάνες"
+ },
+ "KY": {
+ "name": "Îήσοι Κάιμαν"
+ },
+ "CC": {
+ "name": "Îήσοι Κόκος (Κίλινγκ)"
+ },
+ "CK": {
+ "name": "Îήσοι Κουκ"
+ },
+ "MH": {
+ "name": "Îήσοι ΜάÏσαλ"
+ },
+ "GS": {
+ "name": "Îήσοι Îότια ΓεωÏγία και Îότιες Σάντουιτς"
+ },
+ "AX": {
+ "name": "Îήσοι Όλαντ"
+ },
+ "PN": {
+ "name": "Îήσοι ΠίτκεÏν"
+ },
+ "SB": {
+ "name": "Îήσοι Σολομώντος"
+ },
+ "TC": {
+ "name": "Îήσοι ΤεÏκ και Κάικος"
+ },
+ "FO": {
+ "name": "Îήσοι ΦεÏόες"
+ },
+ "FK": {
+ "name": "Îήσοι Φόκλαντ"
+ },
+ "AC": {
+ "name": "Îήσος Ασενσιόν"
+ },
+ "IM": {
+ "name": "Îήσος Μαν"
+ },
+ "NF": {
+ "name": "Îήσος ÎÏŒÏφολκ"
+ },
+ "CX": {
+ "name": "Îήσος των ΧÏιστουγέννων"
+ },
+ "NE": {
+ "name": "ÎίγηÏας"
+ },
+ "NG": {
+ "name": "ÎιγηÏία"
+ },
+ "NI": {
+ "name": "ÎικαÏάγουα"
+ },
+ "NU": {
+ "name": "ÎιοÏε"
+ },
+ "NO": {
+ "name": "ÎοÏβηγία"
+ },
+ "ZA": {
+ "name": "Îότια ΑφÏική"
+ },
+ "KR": {
+ "name": "Îότια ΚοÏέα"
+ },
+ "SS": {
+ "name": "Îότιο Σουδάν"
+ },
+ "DG": {
+ "name": "Îτιέγκο ΓκαÏσία"
+ },
+ "DM": {
+ "name": "Îτομίνικα"
+ },
+ "NL": {
+ "name": "Ολλανδία"
+ },
+ "BQ": {
+ "name": "Ολλανδία ΚαÏαϊβικής"
+ },
+ "OM": {
+ "name": "Ομάν"
+ },
+ "HN": {
+ "name": "ΟνδοÏÏα"
+ },
+ "WF": {
+ "name": "Ουάλις και ΦουτοÏνα"
+ },
+ "HU": {
+ "name": "ΟυγγαÏία"
+ },
+ "UG": {
+ "name": "Ουγκάντα"
+ },
+ "UZ": {
+ "name": "Ουζμπεκιστάν"
+ },
+ "UA": {
+ "name": "ΟυκÏανία"
+ },
+ "UY": {
+ "name": "ΟυÏουγουάη"
+ },
+ "PK": {
+ "name": "Πακιστάν"
+ },
+ "PS": {
+ "name": "Παλαιστινιακά Εδάφη"
+ },
+ "PW": {
+ "name": "Παλάου"
+ },
+ "PA": {
+ "name": "Παναμάς"
+ },
+ "PG": {
+ "name": "ΠαποÏα Îέα Γουινέα"
+ },
+ "PY": {
+ "name": "ΠαÏαγουάη"
+ },
+ "PE": {
+ "name": "ΠεÏοÏ"
+ },
+ "PL": {
+ "name": "Πολωνία"
+ },
+ "PT": {
+ "name": "ΠοÏτογαλία"
+ },
+ "PR": {
+ "name": "ΠουέÏτο Ρίκο"
+ },
+ "CV": {
+ "name": "ΠÏάσινο ΑκÏωτήÏιο"
+ },
+ "MK": {
+ "name": "ΠÏώην Γιουγκοσλαβική ΔημοκÏατία της Μακεδονίας"
+ },
+ "RE": {
+ "name": "Ρεϊνιόν"
+ },
+ "RW": {
+ "name": "Ρουάντα"
+ },
+ "RO": {
+ "name": "Ρουμανία"
+ },
+ "RU": {
+ "name": "Ρωσία"
+ },
+ "WS": {
+ "name": "Σαμόα"
+ },
+ "ST": {
+ "name": "Σάο Τομέ και ΠÏίνσιπε"
+ },
+ "SA": {
+ "name": "Σαουδική ΑÏαβία"
+ },
+ "SJ": {
+ "name": "ΣβάλμπαÏντ και Γιαν Μαγιέν"
+ },
+ "PM": {
+ "name": "Σεν Î Î¹ÎµÏ ÎºÎ±Î¹ Μικελόν"
+ },
+ "SN": {
+ "name": "Σενεγάλη"
+ },
+ "RS": {
+ "name": "ΣεÏβία"
+ },
+ "SC": {
+ "name": "Σεϋχέλλες"
+ },
+ "SG": {
+ "name": "ΣιγκαποÏÏη"
+ },
+ "SL": {
+ "name": "ΣιέÏα Λεόνε"
+ },
+ "SK": {
+ "name": "Σλοβακία"
+ },
+ "SI": {
+ "name": "Σλοβενία"
+ },
+ "SO": {
+ "name": "Σομαλία"
+ },
+ "SZ": {
+ "name": "Σουαζιλάνδη"
+ },
+ "SD": {
+ "name": "Σουδάν"
+ },
+ "SE": {
+ "name": "Σουηδία"
+ },
+ "SR": {
+ "name": "ΣουÏινάμ"
+ },
+ "LK": {
+ "name": "ΣÏι Λάνκα"
+ },
+ "SY": {
+ "name": "ΣυÏία"
+ },
+ "TW": {
+ "name": "Ταϊβάν"
+ },
+ "TH": {
+ "name": "Ταϊλάνδη"
+ },
+ "TZ": {
+ "name": "Τανζανία"
+ },
+ "TJ": {
+ "name": "Τατζικιστάν"
+ },
+ "JM": {
+ "name": "Τζαμάικα"
+ },
+ "JE": {
+ "name": "ΤζέÏζι"
+ },
+ "DJ": {
+ "name": "Τζιμπουτί"
+ },
+ "TL": {
+ "name": "ΤιμόÏ-Λέστε"
+ },
+ "TG": {
+ "name": "Τόγκο"
+ },
+ "TK": {
+ "name": "Τοκελάου"
+ },
+ "TO": {
+ "name": "Τόνγκα"
+ },
+ "TV": {
+ "name": "ΤουβαλοÏ"
+ },
+ "TR": {
+ "name": "ΤουÏκία"
+ },
+ "TM": {
+ "name": "ΤουÏκμενιστάν"
+ },
+ "TT": {
+ "name": "ΤÏινιντάντ και Τομπάγκο"
+ },
+ "TA": {
+ "name": "ΤÏιστάν ντα ΚοÏνια"
+ },
+ "TD": {
+ "name": "Τσαντ"
+ },
+ "CZ": {
+ "name": "Τσεχική ΔημοκÏατία"
+ },
+ "TN": {
+ "name": "Τυνησία"
+ },
+ "YE": {
+ "name": "Υεμένη"
+ },
+ "PH": {
+ "name": "Φιλιππίνες"
+ },
+ "FI": {
+ "name": "Φινλανδία"
+ },
+ "FJ": {
+ "name": "Φίτζι"
+ },
+ "CL": {
+ "name": "Χιλή"
+ },
+ "HK": {
+ "name": "Χονγκ Κονγκ ΕΔΠ Κίνας"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-AU.json b/library/intl/resources/country/en-AU.json
new file mode 100644
index 000000000..b75648523
--- /dev/null
+++ b/library/intl/resources/country/en-AU.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia and the South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Minor Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-BE.json b/library/intl/resources/country/en-BE.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-BE.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-DG.json b/library/intl/resources/country/en-DG.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-DG.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-FK.json b/library/intl/resources/country/en-FK.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-FK.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-GB.json b/library/intl/resources/country/en-GB.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-GB.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-GG.json b/library/intl/resources/country/en-GG.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-GG.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-GI.json b/library/intl/resources/country/en-GI.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-GI.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-HK.json b/library/intl/resources/country/en-HK.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-HK.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-IE.json b/library/intl/resources/country/en-IE.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-IE.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-IM.json b/library/intl/resources/country/en-IM.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-IM.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-IN.json b/library/intl/resources/country/en-IN.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-IN.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-IO.json b/library/intl/resources/country/en-IO.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-IO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-JE.json b/library/intl/resources/country/en-JE.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-JE.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-MO.json b/library/intl/resources/country/en-MO.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-MO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-MT.json b/library/intl/resources/country/en-MT.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-MT.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-NZ.json b/library/intl/resources/country/en-NZ.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-NZ.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-PK.json b/library/intl/resources/country/en-PK.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-PK.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-SG.json b/library/intl/resources/country/en-SG.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-SG.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-SH.json b/library/intl/resources/country/en-SH.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-SH.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en-VG.json b/library/intl/resources/country/en-VG.json
new file mode 100644
index 000000000..081d5f4c0
--- /dev/null
+++ b/library/intl/resources/country/en-VG.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/en.json b/library/intl/resources/country/en.json
new file mode 100644
index 000000000..ec4919eb8
--- /dev/null
+++ b/library/intl/resources/country/en.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia & Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé & Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/eo.json b/library/intl/resources/country/eo.json
new file mode 100644
index 000000000..8d760b59d
--- /dev/null
+++ b/library/intl/resources/country/eo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganujo"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albanujo"
+ },
+ "DZ": {
+ "name": "AlÄerio"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andoro"
+ },
+ "AO": {
+ "name": "Angolo"
+ },
+ "AI": {
+ "name": "Angvilo"
+ },
+ "AQ": {
+ "name": "Antarkto"
+ },
+ "AG": {
+ "name": "Antigvo-Barbudo"
+ },
+ "AR": {
+ "name": "Argentino"
+ },
+ "AM": {
+ "name": "Armenujo"
+ },
+ "AW": {
+ "name": "Arubo"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "AÅ­stralio"
+ },
+ "AT": {
+ "name": "AÅ­strujo"
+ },
+ "AZ": {
+ "name": "AzerbajÄano"
+ },
+ "BS": {
+ "name": "Bahamoj"
+ },
+ "BD": {
+ "name": "BangladeÅo"
+ },
+ "BB": {
+ "name": "Barbado"
+ },
+ "BH": {
+ "name": "Barejno"
+ },
+ "PW": {
+ "name": "BelaÅ­o"
+ },
+ "BE": {
+ "name": "Belgujo"
+ },
+ "BZ": {
+ "name": "Belizo"
+ },
+ "BY": {
+ "name": "Belorusujo"
+ },
+ "BJ": {
+ "name": "Benino"
+ },
+ "BM": {
+ "name": "Bermudoj"
+ },
+ "BW": {
+ "name": "Bocvano"
+ },
+ "BO": {
+ "name": "Bolivio"
+ },
+ "BA": {
+ "name": "Bosnio-Hercegovino"
+ },
+ "BR": {
+ "name": "Brazilo"
+ },
+ "IO": {
+ "name": "Brita Hindoceana Teritorio"
+ },
+ "VG": {
+ "name": "Britaj Virgulininsuloj"
+ },
+ "BN": {
+ "name": "Brunejo"
+ },
+ "BG": {
+ "name": "Bulgarujo"
+ },
+ "BF": {
+ "name": "Burkino"
+ },
+ "BI": {
+ "name": "Burundo"
+ },
+ "BT": {
+ "name": "Butano"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CF": {
+ "name": "Centr-Afrika Respubliko"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "Ĉado"
+ },
+ "CZ": {
+ "name": "Ĉeĥujo"
+ },
+ "CL": {
+ "name": "Ĉilio"
+ },
+ "CN": {
+ "name": "Ĉinujo"
+ },
+ "DK": {
+ "name": "Danujo"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Domingo"
+ },
+ "DM": {
+ "name": "Dominiko"
+ },
+ "CI": {
+ "name": "Ebur-Bordo"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "EC": {
+ "name": "Ekvadoro"
+ },
+ "GQ": {
+ "name": "Ekvatora Gvineo"
+ },
+ "ER": {
+ "name": "Eritreo"
+ },
+ "EE": {
+ "name": "Estonujo"
+ },
+ "ET": {
+ "name": "Etiopujo"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Ferooj"
+ },
+ "FJ": {
+ "name": "FiÄoj"
+ },
+ "PH": {
+ "name": "Filipinoj"
+ },
+ "FI": {
+ "name": "Finnlando"
+ },
+ "GF": {
+ "name": "Franca Gviano"
+ },
+ "PF": {
+ "name": "Franca Polinezio"
+ },
+ "FR": {
+ "name": "Francujo"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabono"
+ },
+ "GM": {
+ "name": "Gambio"
+ },
+ "GH": {
+ "name": "Ganao"
+ },
+ "DE": {
+ "name": "Germanujo"
+ },
+ "GR": {
+ "name": "Grekujo"
+ },
+ "GD": {
+ "name": "Grenado"
+ },
+ "GL": {
+ "name": "Gronlando"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Gujano"
+ },
+ "GP": {
+ "name": "Gvadelupo"
+ },
+ "GU": {
+ "name": "Gvamo"
+ },
+ "GT": {
+ "name": "Gvatemalo"
+ },
+ "GN": {
+ "name": "Gvineo"
+ },
+ "GW": {
+ "name": "Gvineo-BisaÅ­o"
+ },
+ "GI": {
+ "name": "Äœibraltaro"
+ },
+ "DJ": {
+ "name": "Äœibutio"
+ },
+ "HT": {
+ "name": "Haitio"
+ },
+ "IN": {
+ "name": "Hindujo"
+ },
+ "ES": {
+ "name": "Hispanujo"
+ },
+ "HN": {
+ "name": "Honduro"
+ },
+ "HK": {
+ "name": "Honkongo"
+ },
+ "HU": {
+ "name": "Hungarujo"
+ },
+ "ID": {
+ "name": "Indonezio"
+ },
+ "IQ": {
+ "name": "Irako"
+ },
+ "IR": {
+ "name": "Irano"
+ },
+ "IE": {
+ "name": "Irlando"
+ },
+ "IS": {
+ "name": "Islando"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israelo"
+ },
+ "IT": {
+ "name": "Italujo"
+ },
+ "JM": {
+ "name": "Jamajko"
+ },
+ "JP": {
+ "name": "Japanujo"
+ },
+ "YE": {
+ "name": "Jemeno"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanio"
+ },
+ "CV": {
+ "name": "Kabo-Verdo"
+ },
+ "KH": {
+ "name": "KamboÄo"
+ },
+ "CM": {
+ "name": "Kameruno"
+ },
+ "CA": {
+ "name": "Kanado"
+ },
+ "GE": {
+ "name": "Kartvelujo"
+ },
+ "QA": {
+ "name": "Kataro"
+ },
+ "KZ": {
+ "name": "Kazaĥstano"
+ },
+ "KY": {
+ "name": "Kejmanoj"
+ },
+ "KE": {
+ "name": "Kenjo"
+ },
+ "CY": {
+ "name": "Kipro"
+ },
+ "KG": {
+ "name": "Kirgizistano"
+ },
+ "KI": {
+ "name": "Kiribato"
+ },
+ "CO": {
+ "name": "Kolombio"
+ },
+ "KM": {
+ "name": "Komoroj"
+ },
+ "CG": {
+ "name": "Kongolo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostariko"
+ },
+ "HR": {
+ "name": "Kroatujo"
+ },
+ "CU": {
+ "name": "Kubo"
+ },
+ "CK": {
+ "name": "Kukinsuloj"
+ },
+ "KW": {
+ "name": "Kuvajto"
+ },
+ "LA": {
+ "name": "Laoso"
+ },
+ "LV": {
+ "name": "Latvujo"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Libano"
+ },
+ "LR": {
+ "name": "Liberio"
+ },
+ "LY": {
+ "name": "Libio"
+ },
+ "LI": {
+ "name": "LiÄ¥tenÅtejno"
+ },
+ "LT": {
+ "name": "Litovujo"
+ },
+ "LU": {
+ "name": "Luksemburgo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskaro"
+ },
+ "YT": {
+ "name": "Majoto"
+ },
+ "MK": {
+ "name": "Makedonujo"
+ },
+ "MY": {
+ "name": "Malajzio"
+ },
+ "MW": {
+ "name": "Malavio"
+ },
+ "MV": {
+ "name": "Maldivoj"
+ },
+ "ML": {
+ "name": "Malio"
+ },
+ "MT": {
+ "name": "Malto"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "MarÅaloj"
+ },
+ "MQ": {
+ "name": "Martiniko"
+ },
+ "MU": {
+ "name": "MaÅ­ricio"
+ },
+ "MR": {
+ "name": "MaÅ­ritanujo"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronezio"
+ },
+ "MM": {
+ "name": "Mjanmao"
+ },
+ "MD": {
+ "name": "Moldavujo"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolujo"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambiko"
+ },
+ "NA": {
+ "name": "Namibio"
+ },
+ "NR": {
+ "name": "Nauro"
+ },
+ "NL": {
+ "name": "Nederlando"
+ },
+ "NP": {
+ "name": "Nepalo"
+ },
+ "NG": {
+ "name": "NiÄerio"
+ },
+ "NE": {
+ "name": "NiÄero"
+ },
+ "NI": {
+ "name": "Nikaragvo"
+ },
+ "NU": {
+ "name": "Niuo"
+ },
+ "KP": {
+ "name": "Nord-Koreo"
+ },
+ "MP": {
+ "name": "Nord-Marianoj"
+ },
+ "NF": {
+ "name": "Norfolkinsulo"
+ },
+ "NO": {
+ "name": "Norvegujo"
+ },
+ "NC": {
+ "name": "Nov-Kaledonio"
+ },
+ "NZ": {
+ "name": "Nov-Zelando"
+ },
+ "EH": {
+ "name": "Okcidenta Saharo"
+ },
+ "OM": {
+ "name": "Omano"
+ },
+ "PK": {
+ "name": "Pakistano"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panamo"
+ },
+ "PG": {
+ "name": "Papuo-Nov-Gvineo"
+ },
+ "PY": {
+ "name": "Paragvajo"
+ },
+ "PE": {
+ "name": "Peruo"
+ },
+ "PN": {
+ "name": "Pitkarna Insulo"
+ },
+ "PL": {
+ "name": "Pollando"
+ },
+ "PT": {
+ "name": "Portugalujo"
+ },
+ "PR": {
+ "name": "Puerto-Riko"
+ },
+ "RE": {
+ "name": "Reunio"
+ },
+ "RW": {
+ "name": "Ruando"
+ },
+ "RO": {
+ "name": "Rumanujo"
+ },
+ "RU": {
+ "name": "Rusujo"
+ },
+ "SB": {
+ "name": "Salomonoj"
+ },
+ "SV": {
+ "name": "Salvadoro"
+ },
+ "WS": {
+ "name": "Samoo"
+ },
+ "SM": {
+ "name": "San-Marino"
+ },
+ "ST": {
+ "name": "Sao-Tomeo kaj Principeo"
+ },
+ "SA": {
+ "name": "SaÅ­da Arabujo"
+ },
+ "SC": {
+ "name": "SejÅeloj"
+ },
+ "SN": {
+ "name": "Senegalo"
+ },
+ "SH": {
+ "name": "Sent-Heleno"
+ },
+ "KN": {
+ "name": "Sent-Kristofo kaj Neviso"
+ },
+ "LC": {
+ "name": "Sent-Lucio"
+ },
+ "PM": {
+ "name": "Sent-Piero kaj Mikelono"
+ },
+ "VC": {
+ "name": "Sent-Vincento kaj la Grenadinoj"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Siera-Leono"
+ },
+ "SG": {
+ "name": "Singapuro"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Sirio"
+ },
+ "SK": {
+ "name": "Slovakujo"
+ },
+ "SI": {
+ "name": "Slovenujo"
+ },
+ "SO": {
+ "name": "Somalujo"
+ },
+ "LK": {
+ "name": "Sri-Lanko"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "ZA": {
+ "name": "Sud-Afriko"
+ },
+ "GS": {
+ "name": "Sud-Georgio kaj Sud-Sandviĉinsuloj"
+ },
+ "KR": {
+ "name": "Sud-Koreo"
+ },
+ "SS": {
+ "name": "Sud-Sudano"
+ },
+ "SD": {
+ "name": "Sudano"
+ },
+ "SR": {
+ "name": "Surinamo"
+ },
+ "SJ": {
+ "name": "Svalbardo kaj Jan-Majen-insulo"
+ },
+ "SZ": {
+ "name": "Svazilando"
+ },
+ "SE": {
+ "name": "Svedujo"
+ },
+ "CH": {
+ "name": "Svisujo"
+ },
+ "TJ": {
+ "name": "TaÄikujo"
+ },
+ "TH": {
+ "name": "Tajlando"
+ },
+ "TW": {
+ "name": "Tajvano"
+ },
+ "TZ": {
+ "name": "Tanzanio"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togolo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tongo"
+ },
+ "TT": {
+ "name": "Trinidado kaj Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizio"
+ },
+ "TM": {
+ "name": "Turkmenujo"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TR": {
+ "name": "Turkujo"
+ },
+ "TV": {
+ "name": "Tuvalo"
+ },
+ "UG": {
+ "name": "Ugando"
+ },
+ "UA": {
+ "name": "Ukrajno"
+ },
+ "GB": {
+ "name": "UnuiÄinta ReÄlando"
+ },
+ "AE": {
+ "name": "UnuiÄintaj Arabaj Emirlandos"
+ },
+ "UY": {
+ "name": "Urugvajo"
+ },
+ "UM": {
+ "name": "Usonaj malgrandaj insuloj"
+ },
+ "VI": {
+ "name": "Usonaj Virgulininsuloj"
+ },
+ "US": {
+ "name": "Usono"
+ },
+ "UZ": {
+ "name": "Uzbekujo"
+ },
+ "WF": {
+ "name": "Valiso kaj Futuno"
+ },
+ "VU": {
+ "name": "Vanuatuo"
+ },
+ "VA": {
+ "name": "Vatikano"
+ },
+ "VE": {
+ "name": "Venezuelo"
+ },
+ "VN": {
+ "name": "Vjetnamo"
+ },
+ "ZM": {
+ "name": "Zambio"
+ },
+ "ZW": {
+ "name": "Zimbabvo"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-AR.json b/library/intl/resources/country/es-AR.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-AR.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-BO.json b/library/intl/resources/country/es-BO.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-BO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-CL.json b/library/intl/resources/country/es-CL.json
new file mode 100644
index 000000000..3d5e8080b
--- /dev/null
+++ b/library/intl/resources/country/es-CL.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudita"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbayán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumania"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sahara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "PS": {
+ "name": "Territorio Palestino"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-CO.json b/library/intl/resources/country/es-CO.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-CO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-CR.json b/library/intl/resources/country/es-CR.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-CR.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-CU.json b/library/intl/resources/country/es-CU.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-CU.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-DO.json b/library/intl/resources/country/es-DO.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-DO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-EC.json b/library/intl/resources/country/es-EC.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-EC.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-GT.json b/library/intl/resources/country/es-GT.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-GT.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-HN.json b/library/intl/resources/country/es-HN.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-HN.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-MX.json b/library/intl/resources/country/es-MX.json
new file mode 100644
index 000000000..7d7df13bc
--- /dev/null
+++ b/library/intl/resources/country/es-MX.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "CG": {
+ "name": "Congo Brazzaville"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "CX": {
+ "name": "Isla de Navidad"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "Islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgias del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "UM": {
+ "name": "Islas UltramarinasMenores de Estados Unidos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de los Estados Unidos"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "Región Administrativa Especial de Hong Kong de la República Popular China"
+ },
+ "MO": {
+ "name": "Región Administrativa Especial de Macao de la República Popular China"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán de Acuña"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-NI.json b/library/intl/resources/country/es-NI.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-NI.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-PA.json b/library/intl/resources/country/es-PA.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-PA.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-PE.json b/library/intl/resources/country/es-PE.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-PE.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-PR.json b/library/intl/resources/country/es-PR.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-PR.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-PY.json b/library/intl/resources/country/es-PY.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-PY.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-SV.json b/library/intl/resources/country/es-SV.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-SV.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-US.json b/library/intl/resources/country/es-US.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-US.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-UY.json b/library/intl/resources/country/es-UY.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-UY.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es-VE.json b/library/intl/resources/country/es-VE.json
new file mode 100644
index 000000000..6a02f5aec
--- /dev/null
+++ b/library/intl/resources/country/es-VE.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia y Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "AC": {
+ "name": "Isla Ascensión"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/es.json b/library/intl/resources/country/es.json
new file mode 100644
index 000000000..12f040042
--- /dev/null
+++ b/library/intl/resources/country/es.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antigua y Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudí"
+ },
+ "DZ": {
+ "name": "Argelia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaiyán"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladés"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Baréin"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunéi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboya"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta y Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Ciudad del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "KP": {
+ "name": "Corea del Norte"
+ },
+ "KR": {
+ "name": "Corea del Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curazao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fiyi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayana Francesa"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bisáu"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "CX": {
+ "name": "Isla Christmas"
+ },
+ "AC": {
+ "name": "Isla de la Ascensión"
+ },
+ "IM": {
+ "name": "Isla de Man"
+ },
+ "NU": {
+ "name": "Isla Niue"
+ },
+ "NF": {
+ "name": "Isla Norfolk"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "AX": {
+ "name": "Islas Ã…land"
+ },
+ "KY": {
+ "name": "Islas Caimán"
+ },
+ "IC": {
+ "name": "islas Canarias"
+ },
+ "CC": {
+ "name": "Islas Cocos"
+ },
+ "CK": {
+ "name": "Islas Cook"
+ },
+ "FO": {
+ "name": "Islas Feroe"
+ },
+ "GS": {
+ "name": "Islas Georgia del Sur y Sandwich del Sur"
+ },
+ "FK": {
+ "name": "Islas Malvinas"
+ },
+ "MP": {
+ "name": "Islas Marianas del Norte"
+ },
+ "MH": {
+ "name": "Islas Marshall"
+ },
+ "UM": {
+ "name": "Islas menores alejadas de EE. UU."
+ },
+ "PN": {
+ "name": "Islas Pitcairn"
+ },
+ "SB": {
+ "name": "Islas Salomón"
+ },
+ "TC": {
+ "name": "Islas Turcas y Caicos"
+ },
+ "VG": {
+ "name": "Islas Vírgenes Británicas"
+ },
+ "VI": {
+ "name": "Islas Vírgenes de EE. UU."
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japón"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kazajistán"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirguistán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malasia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marruecos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nueva Caledonia"
+ },
+ "NZ": {
+ "name": "Nueva Zelanda"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Bajos"
+ },
+ "PK": {
+ "name": "Pakistán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nueva Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "HK": {
+ "name": "RAE de Hong Kong (China)"
+ },
+ "MO": {
+ "name": "RAE de Macao (China)"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centroafricana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CG": {
+ "name": "República del Congo"
+ },
+ "CD": {
+ "name": "República Democrática del Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumanía"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sáhara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristóbal y Nieves"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martín"
+ },
+ "PM": {
+ "name": "San Pedro y Miquelón"
+ },
+ "VC": {
+ "name": "San Vicente y las Granadinas"
+ },
+ "SH": {
+ "name": "Santa Elena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "ST": {
+ "name": "Santo Tomé y Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán del Sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suiza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard y Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Tayikistán"
+ },
+ "IO": {
+ "name": "Territorio Británico del Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Australes Franceses"
+ },
+ "PS": {
+ "name": "Territorios Palestinos"
+ },
+ "TL": {
+ "name": "Timor Oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad y Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Túnez"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrania"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis y Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "DJ": {
+ "name": "Yibuti"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/et.json b/library/intl/resources/country/et.json
new file mode 100644
index 000000000..85758bcff
--- /dev/null
+++ b/library/intl/resources/country/et.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ahvenamaa"
+ },
+ "AL": {
+ "name": "Albaania"
+ },
+ "DZ": {
+ "name": "Alžeeria"
+ },
+ "AS": {
+ "name": "Ameerika Samoa"
+ },
+ "US": {
+ "name": "Ameerika Ãœhendriigid"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua ja Barbuda"
+ },
+ "AE": {
+ "name": "Araabia Ãœhendemiraadid"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armeenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascensioni saar"
+ },
+ "AZ": {
+ "name": "Aserbaidžaan"
+ },
+ "AU": {
+ "name": "Austraalia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "PW": {
+ "name": "Belau"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Boliivia"
+ },
+ "BA": {
+ "name": "Bosnia ja Hertsegoviina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasiilia"
+ },
+ "IO": {
+ "name": "Briti India ookeani ala"
+ },
+ "VG": {
+ "name": "Briti Neitsisaared"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta ja Melilla"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CK": {
+ "name": "Cooki saared"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikaani Vabariik"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EE": {
+ "name": "Eesti"
+ },
+ "EG": {
+ "name": "Egiptus"
+ },
+ "GQ": {
+ "name": "Ekvatoriaal-Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "ET": {
+ "name": "Etioopia"
+ },
+ "FK": {
+ "name": "Falklandi saared"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipiinid"
+ },
+ "FO": {
+ "name": "Fääri saared"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GE": {
+ "name": "Gruusia"
+ },
+ "GL": {
+ "name": "Gröönimaa"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "CN": {
+ "name": "Hiina"
+ },
+ "ES": {
+ "name": "Hispaania"
+ },
+ "NL": {
+ "name": "Holland"
+ },
+ "BQ": {
+ "name": "Hollandi Kariibi mere saared"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong - Hiina erihalduspiirkond"
+ },
+ "HR": {
+ "name": "Horvaatia"
+ },
+ "TL": {
+ "name": "Ida-Timor"
+ },
+ "IE": {
+ "name": "Iirimaa"
+ },
+ "IL": {
+ "name": "Iisrael"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indoneesia"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IT": {
+ "name": "Itaalia"
+ },
+ "JP": {
+ "name": "Jaapan"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "YE": {
+ "name": "Jeemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordaania"
+ },
+ "CX": {
+ "name": "Jõulusaar"
+ },
+ "KY": {
+ "name": "Kaimanisaared"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "IC": {
+ "name": "Kanaari saared"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kasahstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CF": {
+ "name": "Kesk-Aafrika Vabariik"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KM": {
+ "name": "Komoorid"
+ },
+ "CD": {
+ "name": "Kongo DV"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CC": {
+ "name": "Kookossaared"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "GR": {
+ "name": "Kreeka"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "KW": {
+ "name": "Kuveit"
+ },
+ "KG": {
+ "name": "Kõrgõzstan"
+ },
+ "CY": {
+ "name": "Küpros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LT": {
+ "name": "Leedu"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Libeeria"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LB": {
+ "name": "Liibanon"
+ },
+ "LY": {
+ "name": "Liibüa"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "ZA": {
+ "name": "Lõuna-Aafrika Vabariik"
+ },
+ "GS": {
+ "name": "Lõuna-Georgia ja Lõuna-Sandwichi saared"
+ },
+ "KR": {
+ "name": "Lõuna-Korea"
+ },
+ "SS": {
+ "name": "Lõuna-Sudaan"
+ },
+ "LV": {
+ "name": "Läti"
+ },
+ "EH": {
+ "name": "Lääne-Sahara"
+ },
+ "MO": {
+ "name": "Macau - Hiina erihalduspiirkond"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedoonia"
+ },
+ "MY": {
+ "name": "Malaisia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiivid"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Mani saar"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marshalli saared"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritaania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mehhiko"
+ },
+ "FM": {
+ "name": "Mikroneesia Liiduriigid"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambiik"
+ },
+ "MM": {
+ "name": "Myanmar (Birma)"
+ },
+ "NA": {
+ "name": "Namiibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NG": {
+ "name": "Nigeeria"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "NO": {
+ "name": "Norra"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "PG": {
+ "name": "Paapua Uus-Guinea"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "Palestiina alad"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peruu"
+ },
+ "PN": {
+ "name": "Pitcairni saared"
+ },
+ "PL": {
+ "name": "Poola"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "GF": {
+ "name": "Prantsuse Guajaana"
+ },
+ "TF": {
+ "name": "Prantsuse Lõunaalad"
+ },
+ "PF": {
+ "name": "Prantsuse Polüneesia"
+ },
+ "FR": {
+ "name": "Prantsusmaa"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "KP": {
+ "name": "Põhja-Korea"
+ },
+ "MP": {
+ "name": "Põhja-Mariaanid"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "CV": {
+ "name": "Roheneemesaared"
+ },
+ "SE": {
+ "name": "Rootsi"
+ },
+ "RO": {
+ "name": "Rumeenia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SB": {
+ "name": "Saalomoni Saared"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ja Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre ja Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent ja Grenadiinid"
+ },
+ "DE": {
+ "name": "Saksamaa"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé ja Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Araabia"
+ },
+ "SC": {
+ "name": "Seišellid"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakkia"
+ },
+ "SI": {
+ "name": "Sloveenia"
+ },
+ "SO": {
+ "name": "Somaalia"
+ },
+ "FI": {
+ "name": "Soome"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudaan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "GB": {
+ "name": "Suurbritannia"
+ },
+ "SZ": {
+ "name": "Svaasimaa"
+ },
+ "SJ": {
+ "name": "Svalbard ja Jan Mayen"
+ },
+ "SY": {
+ "name": "Süüria"
+ },
+ "CH": {
+ "name": "Å veits"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "DK": {
+ "name": "Taani"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tai"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansaania"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ja Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "TÅ¡aad"
+ },
+ "CZ": {
+ "name": "TÅ¡ehhi"
+ },
+ "CL": {
+ "name": "TÅ¡iili"
+ },
+ "TN": {
+ "name": "Tuneesia"
+ },
+ "TC": {
+ "name": "Turks ja Caicos"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Türgi"
+ },
+ "TM": {
+ "name": "Türkmenistan"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungari"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VI": {
+ "name": "USA Neitsisaared"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "NC": {
+ "name": "Uus-Kaledoonia"
+ },
+ "NZ": {
+ "name": "Uus-Meremaa"
+ },
+ "BY": {
+ "name": "Valgevene"
+ },
+ "WF": {
+ "name": "Wallis ja Futuna"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "RU": {
+ "name": "Venemaa"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "UM": {
+ "name": "Ãœhendriikide hajasaared"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/eu.json b/library/intl/resources/country/eu.json
new file mode 100644
index 000000000..2e210783f
--- /dev/null
+++ b/library/intl/resources/country/eu.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "CF": {
+ "name": "Afrika Erdiko Errepublika"
+ },
+ "AX": {
+ "name": "Aland uharteak"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AS": {
+ "name": "Amerikar Samoa"
+ },
+ "US": {
+ "name": "Ameriketako Estatu Batuak"
+ },
+ "UM": {
+ "name": "Ameriketako Estatu Batuetako Kanpoaldeko Uharte Txikiak"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Angila"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antartika"
+ },
+ "AG": {
+ "name": "Antigua eta Barbuda"
+ },
+ "AE": {
+ "name": "Arabiar Emirrerri Batuak"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension uhartea"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamak"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgika"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "VI": {
+ "name": "Birjina uharte amerikarrak"
+ },
+ "VG": {
+ "name": "Birjina uharte britainiarrak"
+ },
+ "CI": {
+ "name": "Boli Kosta"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "EA": {
+ "name": "Ceuta eta Melilla"
+ },
+ "CX": {
+ "name": "Christmas uhartea"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) uharteak"
+ },
+ "CK": {
+ "name": "Cook uharteak"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimarka"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikar Errepublika"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "TL": {
+ "name": "Ekialdeko Timor"
+ },
+ "EC": {
+ "name": "Ekuador"
+ },
+ "GQ": {
+ "name": "Ekuatore Ginea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "GB": {
+ "name": "Erresuma Batua"
+ },
+ "RO": {
+ "name": "Errumania"
+ },
+ "RU": {
+ "name": "Errusia"
+ },
+ "SK": {
+ "name": "Eslovakia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "Espainia"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FO": {
+ "name": "Faroe uharteak"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinak"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FR": {
+ "name": "Frantzia"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Ginea"
+ },
+ "GW": {
+ "name": "Ginea-Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grezia"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Frantsesa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "KR": {
+ "name": "Hego Korea"
+ },
+ "SS": {
+ "name": "Hego Sudan"
+ },
+ "ZA": {
+ "name": "Hegoafrika"
+ },
+ "GS": {
+ "name": "Hegoaldeko Georgia eta Hegoaldeko Sandwich uharteak"
+ },
+ "TF": {
+ "name": "Hegoaldeko lurralde frantsesak"
+ },
+ "NL": {
+ "name": "Herbehereak"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong AEB Txina"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "IO": {
+ "name": "Indiako Ozeanoko lurralde britainiarra"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "KP": {
+ "name": "Ipar Korea"
+ },
+ "MP": {
+ "name": "Iparraldeko Mariana uharteak"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japonia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KY": {
+ "name": "Kaiman uharteak"
+ },
+ "NC": {
+ "name": "Kaledonia Berria"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariak"
+ },
+ "KH": {
+ "name": "Kanbodia"
+ },
+ "BQ": {
+ "name": "Karibeko Herbehereak"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolonbia"
+ },
+ "KM": {
+ "name": "Komoreak"
+ },
+ "CG": {
+ "name": "Kongo (Brazzaville)"
+ },
+ "CD": {
+ "name": "Kongoko Errepublika Demokratikoa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroazia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Libano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxenburgo"
+ },
+ "MO": {
+ "name": "Macau AEB Txina"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivak"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "FK": {
+ "name": "Malvinak"
+ },
+ "IM": {
+ "name": "Man uhartea"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marshall uharteak"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Maurizio"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MK": {
+ "name": "Mazedonia"
+ },
+ "EH": {
+ "name": "Mendebaldeko Sahara"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambike"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk uhartea"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinako Lurraldeak"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ginea Berria"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn uharteak"
+ },
+ "PF": {
+ "name": "Polinesia Frantsesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts eta Nevis"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "VC": {
+ "name": "Saint Vincent eta Grenadinak"
+ },
+ "PM": {
+ "name": "Saint-Pierre eta Mikelune"
+ },
+ "SB": {
+ "name": "Salomon uharteak"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "BL": {
+ "name": "San Bartolome"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "LC": {
+ "name": "Santa Luzia"
+ },
+ "ST": {
+ "name": "Sao Tome eta Principe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelleak"
+ },
+ "SL": {
+ "name": "Sierra Leona"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SE": {
+ "name": "Suedia"
+ },
+ "CH": {
+ "name": "Suitza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard eta Jan Mayen uharteak"
+ },
+ "SZ": {
+ "name": "Swazilandia"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailandia"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad eta Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TC": {
+ "name": "Turk eta Caicos uharteak"
+ },
+ "TR": {
+ "name": "Turkia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TD": {
+ "name": "Txad"
+ },
+ "CZ": {
+ "name": "Txekiar Errepublika"
+ },
+ "CL": {
+ "name": "Txile"
+ },
+ "CN": {
+ "name": "Txina"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikano Hiria"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis eta Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "NZ": {
+ "name": "Zeelanda Berria"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "CY": {
+ "name": "Zipre"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ewo.json b/library/intl/resources/country/ewo.json
new file mode 100644
index 000000000..48ae55a50
--- /dev/null
+++ b/library/intl/resources/country/ewo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afəganisətán"
+ },
+ "ZA": {
+ "name": "Afiríka yá Súd"
+ },
+ "HT": {
+ "name": "Aití"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Aləbánia"
+ },
+ "DZ": {
+ "name": "Aləyéria"
+ },
+ "AD": {
+ "name": "Andór"
+ },
+ "AI": {
+ "name": "Angíyə"
+ },
+ "AO": {
+ "name": "Angolá"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antígwa ai Barəbúda"
+ },
+ "SA": {
+ "name": "Arabí Saudí"
+ },
+ "AR": {
+ "name": "Arəhenətína"
+ },
+ "AM": {
+ "name": "Arəménia"
+ },
+ "AW": {
+ "name": "Arúba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azɛrəbaidzáŋ"
+ },
+ "BS": {
+ "name": "Bahámas"
+ },
+ "BH": {
+ "name": "BahÉ™rÉ›Ìn"
+ },
+ "BD": {
+ "name": "BangaladÉ›Ìs"
+ },
+ "BB": {
+ "name": "Barəbád"
+ },
+ "AE": {
+ "name": "Bemirá yá Arábə uní"
+ },
+ "BY": {
+ "name": "Bəlarús"
+ },
+ "BR": {
+ "name": "Bəlazíl"
+ },
+ "BZ": {
+ "name": "Bəlís"
+ },
+ "BJ": {
+ "name": "Bəníŋ"
+ },
+ "AS": {
+ "name": "BÉ™samóa yá AmÉ™ÌrÉ™ka"
+ },
+ "BE": {
+ "name": "Bɛləhíg"
+ },
+ "BM": {
+ "name": "Bɛrəmúd"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bosəní ai ɛrəzegovín"
+ },
+ "BW": {
+ "name": "Botswaná"
+ },
+ "BG": {
+ "name": "Buləgarí"
+ },
+ "BF": {
+ "name": "Buləkiná Fasó"
+ },
+ "BN": {
+ "name": "Buluné"
+ },
+ "BI": {
+ "name": "Burundí"
+ },
+ "BT": {
+ "name": "Butáŋ"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danəmárəg"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dómənika"
+ },
+ "DJ": {
+ "name": "Dzibutí"
+ },
+ "EG": {
+ "name": "Ehíbətɛn"
+ },
+ "EC": {
+ "name": "Ekwatór"
+ },
+ "ER": {
+ "name": "Elitəlé"
+ },
+ "EE": {
+ "name": "Esetoní"
+ },
+ "ET": {
+ "name": "Etiopí"
+ },
+ "IN": {
+ "name": "É›ÌndÉ™"
+ },
+ "ID": {
+ "name": "ɛndonésia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fidzí"
+ },
+ "PH": {
+ "name": "Filipín"
+ },
+ "FI": {
+ "name": "Finəlán"
+ },
+ "PL": {
+ "name": "fólis"
+ },
+ "PT": {
+ "name": "fÉ”rÉ™tugÉ›Ìs"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "FR": {
+ "name": "Fulɛnsí"
+ },
+ "GA": {
+ "name": "Gabóŋ"
+ },
+ "GM": {
+ "name": "Gambí"
+ },
+ "GH": {
+ "name": "Ganá"
+ },
+ "GD": {
+ "name": "Gələnádə"
+ },
+ "GR": {
+ "name": "GÉ™lÉ›Ìs"
+ },
+ "GN": {
+ "name": "Giné"
+ },
+ "GW": {
+ "name": "Giné Bisaó"
+ },
+ "GQ": {
+ "name": "Giné Ekwató"
+ },
+ "GL": {
+ "name": "Goelán"
+ },
+ "GP": {
+ "name": "Guadəlúb"
+ },
+ "GU": {
+ "name": "Guám"
+ },
+ "GT": {
+ "name": "Guatemalá"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyán"
+ },
+ "GF": {
+ "name": "Guyán yá Fulɛnsí"
+ },
+ "JM": {
+ "name": "Hamaíka"
+ },
+ "JP": {
+ "name": "HapÉ”Ìn"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "JO": {
+ "name": "Horədaní"
+ },
+ "GE": {
+ "name": "HorÉ™Ìyia"
+ },
+ "IQ": {
+ "name": "Irág"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Irəlándə"
+ },
+ "IS": {
+ "name": "Isəlándə"
+ },
+ "IL": {
+ "name": "IsÉ™raÉ›Ìl"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itáliɛn"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "kambodía"
+ },
+ "CM": {
+ "name": "Kamərún"
+ },
+ "CA": {
+ "name": "kanadá"
+ },
+ "QA": {
+ "name": "Katár"
+ },
+ "KZ": {
+ "name": "Kazakətáŋ"
+ },
+ "KE": {
+ "name": "Keniá"
+ },
+ "HR": {
+ "name": "Kəlowásia"
+ },
+ "KI": {
+ "name": "Kiribatí"
+ },
+ "KG": {
+ "name": "Kirigisətán"
+ },
+ "CI": {
+ "name": "Kód DivÉ”Ìr"
+ },
+ "CO": {
+ "name": "Kolɔmbí"
+ },
+ "KM": {
+ "name": "KomÉ”Ìr"
+ },
+ "CG": {
+ "name": "Kongó"
+ },
+ "KP": {
+ "name": "Koré yá Nór"
+ },
+ "KR": {
+ "name": "Koré yá Súd"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Ríka"
+ },
+ "KW": {
+ "name": "KowÉ›Ìd"
+ },
+ "ES": {
+ "name": "Kpənyá"
+ },
+ "CU": {
+ "name": "Kubá"
+ },
+ "LA": {
+ "name": "Laós"
+ },
+ "LS": {
+ "name": "Ləsotó"
+ },
+ "LV": {
+ "name": "Lətoní"
+ },
+ "LB": {
+ "name": "Libáŋ"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Libí"
+ },
+ "LI": {
+ "name": "LísÉ™ÌsÉ™Ìtáin"
+ },
+ "LT": {
+ "name": "Lituaní"
+ },
+ "LU": {
+ "name": "Lukəzambúd"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasəkárə"
+ },
+ "MW": {
+ "name": "Malawí"
+ },
+ "MV": {
+ "name": "Malədívə"
+ },
+ "MT": {
+ "name": "Málətə"
+ },
+ "MY": {
+ "name": "MalÉ›Ìzia"
+ },
+ "ML": {
+ "name": "Malí"
+ },
+ "MQ": {
+ "name": "Marətiníg"
+ },
+ "MA": {
+ "name": "MarÉ”Ìg"
+ },
+ "MK": {
+ "name": "Masedónia"
+ },
+ "YT": {
+ "name": "MayÉ”Ìd"
+ },
+ "MX": {
+ "name": "Mɛkəsíg"
+ },
+ "MM": {
+ "name": "Mianəmár"
+ },
+ "FM": {
+ "name": "Mikoronésia"
+ },
+ "VI": {
+ "name": "Minlán Mi Amɛrəkə"
+ },
+ "FK": {
+ "name": "Minlán Mi Fóləkəlan"
+ },
+ "CV": {
+ "name": "Minlán Mí Káb Vɛr"
+ },
+ "KY": {
+ "name": "Minlán Mí Kalimáŋ"
+ },
+ "CK": {
+ "name": "Minlán Mí kúg"
+ },
+ "MH": {
+ "name": "Minlán Mí Maresál"
+ },
+ "MP": {
+ "name": "Minlán Mi Marián yá Nór"
+ },
+ "SB": {
+ "name": "Minlán Mí SolomÉ”Ìn"
+ },
+ "TC": {
+ "name": "Minlán Mí túrÉ™Ìg-ai-Kaíg"
+ },
+ "NF": {
+ "name": "Minlán NÉ”rÉ™fÉ”ÌlÉ™kÉ™"
+ },
+ "MD": {
+ "name": "Molədaví"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MU": {
+ "name": "Morís"
+ },
+ "MR": {
+ "name": "Moritaní"
+ },
+ "MZ": {
+ "name": "Mozambíg"
+ },
+ "MC": {
+ "name": "Mɔnakó"
+ },
+ "MN": {
+ "name": "MÉ”ngÉ”Ìlia"
+ },
+ "MS": {
+ "name": "MÉ”Ìntserád"
+ },
+ "NA": {
+ "name": "Namibí"
+ },
+ "NR": {
+ "name": "Naurú"
+ },
+ "DE": {
+ "name": "Ndzáman"
+ },
+ "NP": {
+ "name": "Nepál"
+ },
+ "SM": {
+ "name": "Ǹfúfúb Maríno"
+ },
+ "SH": {
+ "name": "Ǹfúfúb-ÆlÉ›Ìna"
+ },
+ "KN": {
+ "name": "Ǹfúfúb-Kilisətóv-ai-Nevis"
+ },
+ "LC": {
+ "name": "Ǹfúfúb-Lúsia"
+ },
+ "PM": {
+ "name": "Ǹfúfúb-Píɛr-ai-MikÉ™lÉ”ÌÅ‹"
+ },
+ "VC": {
+ "name": "Ǹfúfúb-Vɛngəsáŋ-ai-Bə Gələnadín"
+ },
+ "NG": {
+ "name": "Nihéria"
+ },
+ "NE": {
+ "name": "NihÉ›Ìr"
+ },
+ "NI": {
+ "name": "Nikarágua"
+ },
+ "NU": {
+ "name": "Niué"
+ },
+ "NC": {
+ "name": "Ǹkpámɛn Kaledónia"
+ },
+ "NZ": {
+ "name": "Ǹkpámɛn Zeláŋ"
+ },
+ "US": {
+ "name": "Ǹnam Amɛrəkə"
+ },
+ "GB": {
+ "name": "Ǹnam Engəlis"
+ },
+ "IO": {
+ "name": "ǹnam É›ngÉ™lís yá Máŋ mÉ™Ì É›ÌndÉ™"
+ },
+ "CD": {
+ "name": "ǹnam Kongó Demokəlatíg"
+ },
+ "VG": {
+ "name": "Å„nam Minlán É›ÌngÉ™lís"
+ },
+ "PS": {
+ "name": "Ǹnam Palɛsətín"
+ },
+ "CZ": {
+ "name": "Ǹnam TsÉ›Ìg"
+ },
+ "VA": {
+ "name": "Ǹnam Vatikán"
+ },
+ "CF": {
+ "name": "ǹnam Zǎŋ Afiriká"
+ },
+ "NO": {
+ "name": "NÉ”rÉ™vÉ›Ìs"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "HN": {
+ "name": "Ondurás"
+ },
+ "HU": {
+ "name": "Ongirí"
+ },
+ "AU": {
+ "name": "Osətəlalí"
+ },
+ "AT": {
+ "name": "Osətəlía"
+ },
+ "PK": {
+ "name": "Pakisətán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papwazi yá ǸkpámÉ›Ìn Giné"
+ },
+ "PY": {
+ "name": "Paragué"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "NL": {
+ "name": "Pɛíbá"
+ },
+ "PN": {
+ "name": "PítÉ™ÌkÉ›ÌrÉ›nÉ™"
+ },
+ "PF": {
+ "name": "Polinesí yá Fulɛnsí"
+ },
+ "PR": {
+ "name": "Pwɛrəto Ríko"
+ },
+ "DO": {
+ "name": "République dominicaine"
+ },
+ "RE": {
+ "name": "ReuniÉ”ÌÅ‹"
+ },
+ "RO": {
+ "name": "Rumaní"
+ },
+ "RU": {
+ "name": "Rúsian"
+ },
+ "RW": {
+ "name": "Ruwandá"
+ },
+ "SV": {
+ "name": "Saləvadór"
+ },
+ "WS": {
+ "name": "Samoá"
+ },
+ "ST": {
+ "name": "Saó Tomé ai Pəlinəsípe"
+ },
+ "SN": {
+ "name": "Senegál"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SK": {
+ "name": "Səlovakí"
+ },
+ "SI": {
+ "name": "Səlovénia"
+ },
+ "LK": {
+ "name": "Səri Laŋká"
+ },
+ "SC": {
+ "name": "SÉ›sÉ›Ìl"
+ },
+ "SL": {
+ "name": "Sierá-leónə"
+ },
+ "SG": {
+ "name": "Singapúr"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Sipəlús"
+ },
+ "SY": {
+ "name": "Sirí"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudáŋ"
+ },
+ "CH": {
+ "name": "Suís"
+ },
+ "SR": {
+ "name": "Surinám"
+ },
+ "SE": {
+ "name": "SuwÉ›Ìd"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilándə"
+ },
+ "TJ": {
+ "name": "Tadzikisətáŋ"
+ },
+ "TH": {
+ "name": "Tailán"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Taŋəzaní"
+ },
+ "TT": {
+ "name": "Təlinité-ai-Tobágo"
+ },
+ "TL": {
+ "name": "Timôr"
+ },
+ "TG": {
+ "name": "Togó"
+ },
+ "TK": {
+ "name": "Tokeló"
+ },
+ "TO": {
+ "name": "Tɔngá"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsád"
+ },
+ "CN": {
+ "name": "Tsáina"
+ },
+ "CL": {
+ "name": "Tsilí"
+ },
+ "TN": {
+ "name": "Tunisí"
+ },
+ "TM": {
+ "name": "Turəkəmənisətáŋ"
+ },
+ "TR": {
+ "name": "Turəkí"
+ },
+ "TV": {
+ "name": "Tuvalú"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Ugandá"
+ },
+ "UA": {
+ "name": "UkÉ™rÉ›Ìn"
+ },
+ "UY": {
+ "name": "Urugué"
+ },
+ "UZ": {
+ "name": "Uzubekisətán"
+ },
+ "VU": {
+ "name": "Vanuátu"
+ },
+ "VE": {
+ "name": "Venezuéla"
+ },
+ "VN": {
+ "name": "Viɛdənám"
+ },
+ "WF": {
+ "name": "Walís-ai-Futúna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "YemÉ›Ìn"
+ },
+ "GI": {
+ "name": "Yiləbalatár"
+ },
+ "ZM": {
+ "name": "Zambí"
+ },
+ "ZW": {
+ "name": "Zimbabwé"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/fa-AF.json b/library/intl/resources/country/fa-AF.json
new file mode 100644
index 000000000..f85b42df4
--- /dev/null
+++ b/library/intl/resources/country/fa-AF.json
@@ -0,0 +1,761 @@
+{
+ "AW": {
+ "name": "آروبا"
+ },
+ "AU": {
+ "name": "آسترالیا"
+ },
+ "DE": {
+ "name": "آلمان"
+ },
+ "AI": {
+ "name": "آنگویلا"
+ },
+ "IE": {
+ "name": "آیرلند"
+ },
+ "IS": {
+ "name": "آیسلند"
+ },
+ "AT": {
+ "name": "اتریش"
+ },
+ "AR": {
+ "name": "ارجنتاین"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AM": {
+ "name": "ارمنستان"
+ },
+ "ER": {
+ "name": "اریتریا"
+ },
+ "UZ": {
+ "name": "ازبکستان"
+ },
+ "EE": {
+ "name": "استونیا"
+ },
+ "IL": {
+ "name": "اسرائیل"
+ },
+ "SJ": {
+ "name": "اسوالبارد و جان‌ماین"
+ },
+ "ZA": {
+ "name": "اÙریقای جنوبی"
+ },
+ "CF": {
+ "name": "اÙریقای مرکزی"
+ },
+ "AF": {
+ "name": "اÙغانستان"
+ },
+ "UA": {
+ "name": "اکراین"
+ },
+ "EC": {
+ "name": "اکوادور"
+ },
+ "AL": {
+ "name": "البانیا"
+ },
+ "DZ": {
+ "name": "الجزایر"
+ },
+ "SV": {
+ "name": "السلوادور"
+ },
+ "AE": {
+ "name": "امارات متحدهٔ عربی"
+ },
+ "AG": {
+ "name": "انتیگوا و باربودا"
+ },
+ "AD": {
+ "name": "اندورا"
+ },
+ "ID": {
+ "name": "اندونیزیا"
+ },
+ "AO": {
+ "name": "انگولا"
+ },
+ "UG": {
+ "name": "اوگاندا"
+ },
+ "US": {
+ "name": "ایالات متحدهٔ امریکا"
+ },
+ "IT": {
+ "name": "ایتالیا"
+ },
+ "ET": {
+ "name": "ایتوپیا"
+ },
+ "IR": {
+ "name": "ایران"
+ },
+ "BB": {
+ "name": "باربادوس"
+ },
+ "BH": {
+ "name": "بحرین"
+ },
+ "BR": {
+ "name": "برازیل"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "برونی"
+ },
+ "GB": {
+ "name": "بریتانیا"
+ },
+ "BE": {
+ "name": "بلجیم"
+ },
+ "BG": {
+ "name": "بلغاریا"
+ },
+ "BZ": {
+ "name": "بلیز"
+ },
+ "BD": {
+ "name": "بنگله‌دیش"
+ },
+ "BJ": {
+ "name": "بنین"
+ },
+ "BS": {
+ "name": "بهاماس"
+ },
+ "BT": {
+ "name": "بوتان"
+ },
+ "BW": {
+ "name": "بوتسوانا"
+ },
+ "BF": {
+ "name": "بورکیناÙاسو"
+ },
+ "BI": {
+ "name": "بوروندی"
+ },
+ "BA": {
+ "name": "بوسنیا و هرزه‌گوینا"
+ },
+ "BO": {
+ "name": "بولیویا"
+ },
+ "PG": {
+ "name": "پاپوا نیو گینیا"
+ },
+ "PY": {
+ "name": "پاراگوای"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PW": {
+ "name": "پالائو"
+ },
+ "PA": {
+ "name": "پانامه"
+ },
+ "PT": {
+ "name": "پرتگال"
+ },
+ "PF": {
+ "name": "پلی‌نزی Ùرانسه"
+ },
+ "PR": {
+ "name": "پورتوریکو"
+ },
+ "PL": {
+ "name": "پولند"
+ },
+ "PE": {
+ "name": "پیرو"
+ },
+ "TJ": {
+ "name": "تاجکستان"
+ },
+ "TZ": {
+ "name": "تانزانیا"
+ },
+ "TH": {
+ "name": "تایلند"
+ },
+ "TW": {
+ "name": "تایوان"
+ },
+ "TM": {
+ "name": "ترکمنستان"
+ },
+ "TR": {
+ "name": "ترکیه"
+ },
+ "TA": {
+ "name": "تریستان دا کونا"
+ },
+ "TT": {
+ "name": "ترینیداد و توباگو"
+ },
+ "TK": {
+ "name": "توکلائو"
+ },
+ "TG": {
+ "name": "توگو"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TO": {
+ "name": "تونگا"
+ },
+ "TV": {
+ "name": "تووالو"
+ },
+ "TL": {
+ "name": "تیمور شرقی"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "JM": {
+ "name": "جامائیکا"
+ },
+ "GI": {
+ "name": "جبل‌الطارق"
+ },
+ "JE": {
+ "name": "جرزی"
+ },
+ "AC": {
+ "name": "جزایر آسنسیون"
+ },
+ "AX": {
+ "name": "جزایر اÙلند"
+ },
+ "PN": {
+ "name": "جزایر پیت‌کرن"
+ },
+ "TC": {
+ "name": "جزایر تورکس و کایکوس"
+ },
+ "GS": {
+ "name": "جزایر جورجیای جنوبی و ساندویچ جنوبی"
+ },
+ "UM": {
+ "name": "جزایر دوراÙتادهٔ ایالات متحده"
+ },
+ "SB": {
+ "name": "جزایر سلومون"
+ },
+ "FO": {
+ "name": "جزایر Ùارو"
+ },
+ "FK": {
+ "name": "جزایر Ùالکلند"
+ },
+ "IC": {
+ "name": "جزایر قناری"
+ },
+ "BQ": {
+ "name": "جزایر کارائیب هلند"
+ },
+ "CK": {
+ "name": "جزایر کوک"
+ },
+ "CC": {
+ "name": "جزایر کوکوس (کیلینگ)"
+ },
+ "KY": {
+ "name": "جزایر Ú©Ùیمن"
+ },
+ "MH": {
+ "name": "جزایر مارشال"
+ },
+ "MP": {
+ "name": "جزایر ماریانای شمالی"
+ },
+ "VI": {
+ "name": "جزایر ویرجین ایالات متحده"
+ },
+ "VG": {
+ "name": "جزایر ویرجین بریتانیا"
+ },
+ "CX": {
+ "name": "جزیرهٔ کریسمس"
+ },
+ "IM": {
+ "name": "جزیرهٔ من"
+ },
+ "NF": {
+ "name": "جزیره نورÙÚ©"
+ },
+ "AZ": {
+ "name": "جمهوری آذربایجان"
+ },
+ "CZ": {
+ "name": "جمهوری چک"
+ },
+ "CD": {
+ "name": "جمهوری دموکراتیک کانگو"
+ },
+ "DO": {
+ "name": "جمهوری دومینیکن"
+ },
+ "AQ": {
+ "name": "جنوبگان"
+ },
+ "DJ": {
+ "name": "جیبوتی"
+ },
+ "TD": {
+ "name": "چاد"
+ },
+ "CL": {
+ "name": "چلی"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "DK": {
+ "name": "دنمارک"
+ },
+ "DM": {
+ "name": "دومینیکا"
+ },
+ "DG": {
+ "name": "دیه‌گو گارسیا"
+ },
+ "RW": {
+ "name": "روآندا"
+ },
+ "RU": {
+ "name": "روسیه"
+ },
+ "BY": {
+ "name": "روسیهٔ سÙید"
+ },
+ "RO": {
+ "name": "رومانیا"
+ },
+ "RE": {
+ "name": "رئونیون"
+ },
+ "ZM": {
+ "name": "زامبیا"
+ },
+ "NZ": {
+ "name": "زیلاند جدید"
+ },
+ "ZW": {
+ "name": "زیمبابوی"
+ },
+ "CI": {
+ "name": "ساحل عاج"
+ },
+ "WS": {
+ "name": "ساموآ"
+ },
+ "AS": {
+ "name": "ساموآی آمریکا"
+ },
+ "ST": {
+ "name": "سائو تومه و پرینسیپ"
+ },
+ "EA": {
+ "name": "سبته و ملیله"
+ },
+ "PS": {
+ "name": "سرزمین‌های Ùلسطینی"
+ },
+ "LK": {
+ "name": "سریلانکا"
+ },
+ "SK": {
+ "name": "سلواکیا"
+ },
+ "SI": {
+ "name": "سلونیا"
+ },
+ "BL": {
+ "name": "سن بارتلمی"
+ },
+ "PM": {
+ "name": "سن پیر و میکلن"
+ },
+ "SM": {
+ "name": "سن مارینو"
+ },
+ "KN": {
+ "name": "سنت کیتس و نیویس"
+ },
+ "LC": {
+ "name": "سنت لوسیا"
+ },
+ "SX": {
+ "name": "سنت مارتن"
+ },
+ "MF": {
+ "name": "سنت مارتین"
+ },
+ "SH": {
+ "name": "سنت هلن"
+ },
+ "VC": {
+ "name": "سنت وینسنت و گرینادین"
+ },
+ "SZ": {
+ "name": "سوازیلند"
+ },
+ "SD": {
+ "name": "سودان"
+ },
+ "SS": {
+ "name": "سودان جنوبی"
+ },
+ "SR": {
+ "name": "سورینام"
+ },
+ "SY": {
+ "name": "سوریه"
+ },
+ "SO": {
+ "name": "سومالیه"
+ },
+ "SE": {
+ "name": "سویدن"
+ },
+ "CH": {
+ "name": "سویس"
+ },
+ "SL": {
+ "name": "سیرالیون"
+ },
+ "SC": {
+ "name": "سیشل"
+ },
+ "SG": {
+ "name": "سینگاپور"
+ },
+ "SN": {
+ "name": "سینیگال"
+ },
+ "EH": {
+ "name": "صحرای غربی"
+ },
+ "RS": {
+ "name": "صربستان"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "SA": {
+ "name": "عربستان سعودی"
+ },
+ "OM": {
+ "name": "عمان"
+ },
+ "GH": {
+ "name": "غنا"
+ },
+ "FR": {
+ "name": "Ùرانسه"
+ },
+ "FI": {
+ "name": "Ùنلند"
+ },
+ "FJ": {
+ "name": "Ùیجی"
+ },
+ "PH": {
+ "name": "Ùیلیپین"
+ },
+ "CY": {
+ "name": "قبرس"
+ },
+ "KG": {
+ "name": "قرغزستان"
+ },
+ "KZ": {
+ "name": "قزاقستان"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "IO": {
+ "name": "قلمرو بریتانیا در اقیانوس هند"
+ },
+ "TF": {
+ "name": "قلمروهای جنوبی Ùرانسه"
+ },
+ "CR": {
+ "name": "کاستریکا"
+ },
+ "NC": {
+ "name": "کالدونیای جدید"
+ },
+ "CM": {
+ "name": "کامرون"
+ },
+ "CA": {
+ "name": "کانادا"
+ },
+ "CG": {
+ "name": "کانگو"
+ },
+ "HR": {
+ "name": "کروشیا"
+ },
+ "KH": {
+ "name": "کمپوچیا"
+ },
+ "CW": {
+ "name": "کوراسائو"
+ },
+ "KR": {
+ "name": "کوریای جنوبی"
+ },
+ "KP": {
+ "name": "کوریای شمالی"
+ },
+ "XK": {
+ "name": "کوزوو"
+ },
+ "CO": {
+ "name": "کولمبیا"
+ },
+ "KM": {
+ "name": "کومور"
+ },
+ "KW": {
+ "name": "کویت"
+ },
+ "CV": {
+ "name": "کیپ‌ورد"
+ },
+ "KI": {
+ "name": "کیریباتی"
+ },
+ "KE": {
+ "name": "کینیا"
+ },
+ "CU": {
+ "name": "کیوبا"
+ },
+ "GA": {
+ "name": "گابن"
+ },
+ "GM": {
+ "name": "گامبیا"
+ },
+ "GE": {
+ "name": "گرجستان"
+ },
+ "GG": {
+ "name": "گرنزی"
+ },
+ "GD": {
+ "name": "گرینادا"
+ },
+ "GL": {
+ "name": "گرینلند"
+ },
+ "GT": {
+ "name": "گواتیمالا"
+ },
+ "GP": {
+ "name": "گوادلوپ"
+ },
+ "GU": {
+ "name": "گوام"
+ },
+ "GF": {
+ "name": "گویان Ùرانسه"
+ },
+ "GY": {
+ "name": "گیانا"
+ },
+ "GN": {
+ "name": "گینیا"
+ },
+ "GQ": {
+ "name": "گینیا استوایی"
+ },
+ "GW": {
+ "name": "گینیا بیسائو"
+ },
+ "LV": {
+ "name": "لاتویا"
+ },
+ "LA": {
+ "name": "لائوس"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LT": {
+ "name": "لتوانیا"
+ },
+ "LU": {
+ "name": "لوکزامبورگ"
+ },
+ "LR": {
+ "name": "لیبریا"
+ },
+ "LY": {
+ "name": "لیبیا"
+ },
+ "LI": {
+ "name": "لیختن‌اشتاین"
+ },
+ "LS": {
+ "name": "لیسوتو"
+ },
+ "MG": {
+ "name": "مادغاسکر"
+ },
+ "MQ": {
+ "name": "مارتینیک"
+ },
+ "MO": {
+ "name": "ماکائو، ناحیهٔ ویژهٔ حکومتی چین"
+ },
+ "MW": {
+ "name": "مالاوی"
+ },
+ "MT": {
+ "name": "مالتا"
+ },
+ "MV": {
+ "name": "مالدیو"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "MY": {
+ "name": "مالیزیا"
+ },
+ "YT": {
+ "name": "مایوت"
+ },
+ "HU": {
+ "name": "مجارستان"
+ },
+ "MA": {
+ "name": "مراکش"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MK": {
+ "name": "مقدونیه"
+ },
+ "MX": {
+ "name": "مکسیکو"
+ },
+ "MN": {
+ "name": "منگولیا"
+ },
+ "MR": {
+ "name": "موریتانیا"
+ },
+ "MU": {
+ "name": "موریس"
+ },
+ "MZ": {
+ "name": "موزمبیق"
+ },
+ "MD": {
+ "name": "مولداوی"
+ },
+ "MC": {
+ "name": "موناکو"
+ },
+ "MS": {
+ "name": "مونت‌سرات"
+ },
+ "ME": {
+ "name": "مونته‌نگرو"
+ },
+ "MM": {
+ "name": "میانمار (برمه)"
+ },
+ "FM": {
+ "name": "میکرونزیا"
+ },
+ "NO": {
+ "name": "ناروی"
+ },
+ "NA": {
+ "name": "نامیبیا"
+ },
+ "NR": {
+ "name": "نائورو"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NE": {
+ "name": "نیجر"
+ },
+ "NG": {
+ "name": "نیجریا"
+ },
+ "NI": {
+ "name": "نیکاراگوا"
+ },
+ "NU": {
+ "name": "نیوئه"
+ },
+ "NL": {
+ "name": "هالند"
+ },
+ "HN": {
+ "name": "هاندوراس"
+ },
+ "HT": {
+ "name": "هایتی"
+ },
+ "ES": {
+ "name": "هسپانیه"
+ },
+ "IN": {
+ "name": "هند"
+ },
+ "HK": {
+ "name": "هنگ‌کنگ، ناحیهٔ ویژهٔ حکومتی چین"
+ },
+ "VA": {
+ "name": "واتیکان"
+ },
+ "WF": {
+ "name": "والیس Ùˆ Ùوتونا"
+ },
+ "VU": {
+ "name": "وانواتو"
+ },
+ "VE": {
+ "name": "ونزویلا"
+ },
+ "VN": {
+ "name": "ویتنام"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "UY": {
+ "name": "یوروگوای"
+ },
+ "GR": {
+ "name": "یونان"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/fa.json b/library/intl/resources/country/fa.json
new file mode 100644
index 000000000..e79fafbd8
--- /dev/null
+++ b/library/intl/resources/country/fa.json
@@ -0,0 +1,761 @@
+{
+ "AR": {
+ "name": "آرژانتین"
+ },
+ "AW": {
+ "name": "آروبا"
+ },
+ "AL": {
+ "name": "آلبانی"
+ },
+ "DE": {
+ "name": "آلمان"
+ },
+ "AG": {
+ "name": "آنتیگوا و باربودا"
+ },
+ "AD": {
+ "name": "آندورا"
+ },
+ "AO": {
+ "name": "آنگولا"
+ },
+ "AI": {
+ "name": "آنگویلا"
+ },
+ "AT": {
+ "name": "اتریش"
+ },
+ "ET": {
+ "name": "اتیوپی"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AM": {
+ "name": "ارمنستان"
+ },
+ "UY": {
+ "name": "اروگوئه"
+ },
+ "ER": {
+ "name": "اریتره"
+ },
+ "UZ": {
+ "name": "ازبکستان"
+ },
+ "ES": {
+ "name": "اسپانیا"
+ },
+ "AU": {
+ "name": "استرالیا"
+ },
+ "EE": {
+ "name": "استونی"
+ },
+ "IL": {
+ "name": "اسرائیل"
+ },
+ "SK": {
+ "name": "اسلواکی"
+ },
+ "SI": {
+ "name": "اسلوونی"
+ },
+ "SJ": {
+ "name": "اسوالبارد و جان‌ماین"
+ },
+ "ZA": {
+ "name": "اÙریقای جنوبی"
+ },
+ "AF": {
+ "name": "اÙغانستان"
+ },
+ "EC": {
+ "name": "اکوادور"
+ },
+ "DZ": {
+ "name": "الجزایر"
+ },
+ "SV": {
+ "name": "السالوادور"
+ },
+ "AE": {
+ "name": "امارات متحدهٔ عربی"
+ },
+ "ID": {
+ "name": "اندونزی"
+ },
+ "UA": {
+ "name": "اوکراین"
+ },
+ "UG": {
+ "name": "اوگاندا"
+ },
+ "US": {
+ "name": "ایالات متحدهٔ امریکا"
+ },
+ "IT": {
+ "name": "ایتالیا"
+ },
+ "IR": {
+ "name": "ایران"
+ },
+ "IE": {
+ "name": "ایرلند"
+ },
+ "IS": {
+ "name": "ایسلند"
+ },
+ "BB": {
+ "name": "باربادوس"
+ },
+ "BS": {
+ "name": "باهاما"
+ },
+ "BH": {
+ "name": "بحرین"
+ },
+ "BR": {
+ "name": "برزیل"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BN": {
+ "name": "برونئی"
+ },
+ "GB": {
+ "name": "بریتانیا"
+ },
+ "BY": {
+ "name": "بلاروس"
+ },
+ "BE": {
+ "name": "بلژیک"
+ },
+ "BG": {
+ "name": "بلغارستان"
+ },
+ "BZ": {
+ "name": "بلیز"
+ },
+ "BD": {
+ "name": "بنگلادش"
+ },
+ "BJ": {
+ "name": "بنین"
+ },
+ "BT": {
+ "name": "بوتان"
+ },
+ "BW": {
+ "name": "بوتسوانا"
+ },
+ "BF": {
+ "name": "بورکیناÙاسو"
+ },
+ "BI": {
+ "name": "بوروندی"
+ },
+ "BA": {
+ "name": "بوسنی و هرزگوین"
+ },
+ "BO": {
+ "name": "بولیوی"
+ },
+ "PG": {
+ "name": "پاپوا گینهٔ نو"
+ },
+ "PY": {
+ "name": "پاراگوئه"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PW": {
+ "name": "پالائو"
+ },
+ "PA": {
+ "name": "پاناما"
+ },
+ "PT": {
+ "name": "پرتغال"
+ },
+ "PE": {
+ "name": "پرو"
+ },
+ "PF": {
+ "name": "پلی‌نزی Ùرانسه"
+ },
+ "PR": {
+ "name": "پورتوریکو"
+ },
+ "TJ": {
+ "name": "تاجیکستان"
+ },
+ "TZ": {
+ "name": "تانزانیا"
+ },
+ "TH": {
+ "name": "تایلند"
+ },
+ "TW": {
+ "name": "تایوان"
+ },
+ "TM": {
+ "name": "ترکمنستان"
+ },
+ "TR": {
+ "name": "ترکیه"
+ },
+ "TA": {
+ "name": "تریستان دا کونا"
+ },
+ "TT": {
+ "name": "ترینیداد و توباگو"
+ },
+ "TK": {
+ "name": "توکلائو"
+ },
+ "TG": {
+ "name": "توگو"
+ },
+ "TN": {
+ "name": "تونس"
+ },
+ "TO": {
+ "name": "تونگا"
+ },
+ "TV": {
+ "name": "تووالو"
+ },
+ "TL": {
+ "name": "تیمور شرقی"
+ },
+ "JM": {
+ "name": "جامائیکا"
+ },
+ "GI": {
+ "name": "جبل‌الطارق"
+ },
+ "JE": {
+ "name": "جرزی"
+ },
+ "AC": {
+ "name": "جزایر آسنسیون"
+ },
+ "AX": {
+ "name": "جزایر اÙلند"
+ },
+ "PN": {
+ "name": "جزایر پیت‌کرن"
+ },
+ "TC": {
+ "name": "جزایر تورکس و کایکوس"
+ },
+ "GS": {
+ "name": "جزایر جورجیای جنوبی و ساندویچ جنوبی"
+ },
+ "UM": {
+ "name": "جزایر دوراÙتادهٔ ایالات متحده"
+ },
+ "SB": {
+ "name": "جزایر سلیمان"
+ },
+ "FO": {
+ "name": "جزایر Ùارو"
+ },
+ "FK": {
+ "name": "جزایر Ùالکلند"
+ },
+ "IC": {
+ "name": "جزایر قناری"
+ },
+ "BQ": {
+ "name": "جزایر کارائیب هلند"
+ },
+ "CK": {
+ "name": "جزایر کوک"
+ },
+ "CC": {
+ "name": "جزایر کوکوس (کیلینگ)"
+ },
+ "KY": {
+ "name": "جزایر Ú©Ùیمن"
+ },
+ "MH": {
+ "name": "جزایر مارشال"
+ },
+ "MP": {
+ "name": "جزایر ماریانای شمالی"
+ },
+ "VI": {
+ "name": "جزایر ویرجین ایالات متحده"
+ },
+ "VG": {
+ "name": "جزایر ویرجین بریتانیا"
+ },
+ "CX": {
+ "name": "جزیرهٔ کریسمس"
+ },
+ "IM": {
+ "name": "جزیرهٔ من"
+ },
+ "NF": {
+ "name": "جزیره نورÙÚ©"
+ },
+ "AZ": {
+ "name": "جمهوری آذربایجان"
+ },
+ "CF": {
+ "name": "جمهوری اÙریقای مرکزی"
+ },
+ "CZ": {
+ "name": "جمهوری چک"
+ },
+ "DO": {
+ "name": "جمهوری دومینیکن"
+ },
+ "AQ": {
+ "name": "جنوبگان"
+ },
+ "DJ": {
+ "name": "جیبوتی"
+ },
+ "TD": {
+ "name": "چاد"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "DK": {
+ "name": "دانمارک"
+ },
+ "DM": {
+ "name": "دومینیکا"
+ },
+ "DG": {
+ "name": "دیه‌گو گارسیا"
+ },
+ "RE": {
+ "name": "رئونیون"
+ },
+ "RW": {
+ "name": "رواندا"
+ },
+ "RU": {
+ "name": "روسیه"
+ },
+ "RO": {
+ "name": "رومانی"
+ },
+ "ZM": {
+ "name": "زامبیا"
+ },
+ "NZ": {
+ "name": "زلاند نو"
+ },
+ "ZW": {
+ "name": "زیمبابوه"
+ },
+ "JP": {
+ "name": "ژاپن"
+ },
+ "ST": {
+ "name": "سائوتومه و پرینسیپ"
+ },
+ "CI": {
+ "name": "ساحل عاج"
+ },
+ "WS": {
+ "name": "ساموآ"
+ },
+ "AS": {
+ "name": "ساموآی آمریکا"
+ },
+ "EA": {
+ "name": "سبته و ملیله"
+ },
+ "PS": {
+ "name": "سرزمین‌های Ùلسطینی"
+ },
+ "LK": {
+ "name": "سری‌لانکا"
+ },
+ "BL": {
+ "name": "سن بارتلمی"
+ },
+ "PM": {
+ "name": "سن پیر و میکلن"
+ },
+ "SM": {
+ "name": "سن مارینو"
+ },
+ "KN": {
+ "name": "سنت کیتس و نویس"
+ },
+ "LC": {
+ "name": "سنت لوسیا"
+ },
+ "SX": {
+ "name": "سنت مارتن"
+ },
+ "MF": {
+ "name": "سنت مارتین"
+ },
+ "VC": {
+ "name": "سنت وینسنت و گرنادین‌ها"
+ },
+ "SH": {
+ "name": "سنت هلن"
+ },
+ "SG": {
+ "name": "سنگاپور"
+ },
+ "SN": {
+ "name": "سنگال"
+ },
+ "SZ": {
+ "name": "سوازیلند"
+ },
+ "SE": {
+ "name": "سوئد"
+ },
+ "CH": {
+ "name": "سوئیس"
+ },
+ "SD": {
+ "name": "سودان"
+ },
+ "SS": {
+ "name": "سودان جنوبی"
+ },
+ "SR": {
+ "name": "سورینام"
+ },
+ "SY": {
+ "name": "سوریه"
+ },
+ "SO": {
+ "name": "سومالی"
+ },
+ "SL": {
+ "name": "سیرالئون"
+ },
+ "SC": {
+ "name": "سیشل"
+ },
+ "CL": {
+ "name": "شیلی"
+ },
+ "EH": {
+ "name": "صحرای غربی"
+ },
+ "RS": {
+ "name": "صربستان"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "SA": {
+ "name": "عربستان سعودی"
+ },
+ "OM": {
+ "name": "عمان"
+ },
+ "GH": {
+ "name": "غنا"
+ },
+ "FR": {
+ "name": "Ùرانسه"
+ },
+ "FI": {
+ "name": "Ùنلاند"
+ },
+ "FJ": {
+ "name": "Ùیجی"
+ },
+ "PH": {
+ "name": "Ùیلیپین"
+ },
+ "CY": {
+ "name": "قبرس"
+ },
+ "KG": {
+ "name": "قرقیزستان"
+ },
+ "KZ": {
+ "name": "قزاقستان"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "IO": {
+ "name": "قلمرو بریتانیا در اقیانوس هند"
+ },
+ "TF": {
+ "name": "قلمروهای جنوبی Ùرانسه"
+ },
+ "CR": {
+ "name": "کاستاریکا"
+ },
+ "NC": {
+ "name": "کالدونیای جدید"
+ },
+ "KH": {
+ "name": "کامبوج"
+ },
+ "CM": {
+ "name": "کامرون"
+ },
+ "CA": {
+ "name": "کانادا"
+ },
+ "HR": {
+ "name": "کرواسی"
+ },
+ "KR": {
+ "name": "کرهٔ جنوبی"
+ },
+ "KP": {
+ "name": "کرهٔ شمالی"
+ },
+ "CO": {
+ "name": "کلمبیا"
+ },
+ "CG": {
+ "name": "کنگو - برازویل"
+ },
+ "CD": {
+ "name": "کنگو - کینشاسا"
+ },
+ "KE": {
+ "name": "کنیا"
+ },
+ "CU": {
+ "name": "کوبا"
+ },
+ "CW": {
+ "name": "کوراسائو"
+ },
+ "XK": {
+ "name": "کوزوو"
+ },
+ "KM": {
+ "name": "کومور"
+ },
+ "KW": {
+ "name": "کویت"
+ },
+ "CV": {
+ "name": "کیپ‌ورد"
+ },
+ "KI": {
+ "name": "کیریباتی"
+ },
+ "GA": {
+ "name": "گابن"
+ },
+ "GM": {
+ "name": "گامبیا"
+ },
+ "GE": {
+ "name": "گرجستان"
+ },
+ "GD": {
+ "name": "گرنادا"
+ },
+ "GG": {
+ "name": "گرنزی"
+ },
+ "GL": {
+ "name": "گرینلند"
+ },
+ "GT": {
+ "name": "گواتمالا"
+ },
+ "GP": {
+ "name": "گوادلوپ"
+ },
+ "GU": {
+ "name": "گوام"
+ },
+ "GY": {
+ "name": "گویان"
+ },
+ "GF": {
+ "name": "گویان Ùرانسه"
+ },
+ "GN": {
+ "name": "گینه"
+ },
+ "GQ": {
+ "name": "گینهٔ استوایی"
+ },
+ "GW": {
+ "name": "گینهٔ بیسائو"
+ },
+ "LA": {
+ "name": "لائوس"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LV": {
+ "name": "لتونی"
+ },
+ "LS": {
+ "name": "لسوتو"
+ },
+ "LU": {
+ "name": "لوکزامبورگ"
+ },
+ "PL": {
+ "name": "لهستان"
+ },
+ "LR": {
+ "name": "لیبریا"
+ },
+ "LY": {
+ "name": "لیبی"
+ },
+ "LT": {
+ "name": "لیتوانی"
+ },
+ "LI": {
+ "name": "لیختن‌اشتاین"
+ },
+ "MG": {
+ "name": "ماداگاسکار"
+ },
+ "MQ": {
+ "name": "مارتینیک"
+ },
+ "MO": {
+ "name": "ماکائو، ناحیهٔ ویژهٔ حکومتی چین"
+ },
+ "MW": {
+ "name": "مالاوی"
+ },
+ "MT": {
+ "name": "مالت"
+ },
+ "MV": {
+ "name": "مالدیو"
+ },
+ "MY": {
+ "name": "مالزی"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "YT": {
+ "name": "مایوت"
+ },
+ "HU": {
+ "name": "مجارستان"
+ },
+ "MA": {
+ "name": "مراکش"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MN": {
+ "name": "مغولستان"
+ },
+ "MK": {
+ "name": "مقدونیه"
+ },
+ "MX": {
+ "name": "مکزیک"
+ },
+ "MR": {
+ "name": "موریتانی"
+ },
+ "MU": {
+ "name": "موریس"
+ },
+ "MZ": {
+ "name": "موزامبیک"
+ },
+ "MD": {
+ "name": "مولداوی"
+ },
+ "MC": {
+ "name": "موناکو"
+ },
+ "MS": {
+ "name": "مونت‌سرات"
+ },
+ "ME": {
+ "name": "مونته‌نگرو"
+ },
+ "MM": {
+ "name": "میانمار (برمه)"
+ },
+ "FM": {
+ "name": "میکرونزی"
+ },
+ "NR": {
+ "name": "نائورو"
+ },
+ "NA": {
+ "name": "نامیبیا"
+ },
+ "NP": {
+ "name": "نپال"
+ },
+ "NO": {
+ "name": "نروژ"
+ },
+ "NE": {
+ "name": "نیجر"
+ },
+ "NG": {
+ "name": "نیجریه"
+ },
+ "NI": {
+ "name": "نیکاراگوئه"
+ },
+ "NU": {
+ "name": "نیوئه"
+ },
+ "VA": {
+ "name": "واتیکان"
+ },
+ "WF": {
+ "name": "والیس Ùˆ Ùوتونا"
+ },
+ "VU": {
+ "name": "وانواتو"
+ },
+ "VE": {
+ "name": "ونزوئلا"
+ },
+ "VN": {
+ "name": "ویتنام"
+ },
+ "HT": {
+ "name": "هائیتی"
+ },
+ "NL": {
+ "name": "هلند"
+ },
+ "IN": {
+ "name": "هند"
+ },
+ "HN": {
+ "name": "هندوراس"
+ },
+ "HK": {
+ "name": "هنگ‌کنگ، ناحیهٔ ویژهٔ حکومتی چین"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "GR": {
+ "name": "یونان"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ff.json b/library/intl/resources/country/ff.json
new file mode 100644
index 000000000..28bb49c37
--- /dev/null
+++ b/library/intl/resources/country/ff.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistaan"
+ },
+ "ZA": {
+ "name": "Afrik bŋ Worgo"
+ },
+ "AZ": {
+ "name": "Ajerbayjaan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "DZ": {
+ "name": "Alaseri"
+ },
+ "AL": {
+ "name": "Albanii"
+ },
+ "DE": {
+ "name": "Almaañ"
+ },
+ "AD": {
+ "name": "Anndoora"
+ },
+ "AI": {
+ "name": "Anngiyaa"
+ },
+ "AO": {
+ "name": "Anngolaa"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiguwaa e Barbudaa"
+ },
+ "SA": {
+ "name": "Arabii Sawdit"
+ },
+ "AR": {
+ "name": "Arjantiin"
+ },
+ "AM": {
+ "name": "Armenii"
+ },
+ "AW": {
+ "name": "Aruuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "BS": {
+ "name": "Bahamaas"
+ },
+ "BH": {
+ "name": "Bahreyn"
+ },
+ "BD": {
+ "name": "Banglaadees"
+ },
+ "BB": {
+ "name": "Barbadoos"
+ },
+ "BY": {
+ "name": "Belaruus"
+ },
+ "BZ": {
+ "name": "Beliise"
+ },
+ "BE": {
+ "name": "Beljik"
+ },
+ "BJ": {
+ "name": "Benee"
+ },
+ "BR": {
+ "name": "Beresiil"
+ },
+ "BM": {
+ "name": "Bermudaa"
+ },
+ "BO": {
+ "name": "Boliwii"
+ },
+ "BA": {
+ "name": "Bosnii Hersegowiin"
+ },
+ "BW": {
+ "name": "Botswaana"
+ },
+ "BG": {
+ "name": "Bulgarii"
+ },
+ "BF": {
+ "name": "Burkibaa Faaso"
+ },
+ "BN": {
+ "name": "Burnaay"
+ },
+ "BI": {
+ "name": "Burunndi"
+ },
+ "BT": {
+ "name": "Butaan"
+ },
+ "TD": {
+ "name": "Caad"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cilii"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "VA": {
+ "name": "Dowla Waticaan"
+ },
+ "US": {
+ "name": "Dowlaaji DentuÉ—i Amerik"
+ },
+ "FK": {
+ "name": "DuuÉ—e Falkland"
+ },
+ "CV": {
+ "name": "DuuÉ—e Kap Weer"
+ },
+ "KY": {
+ "name": "DuuÉ—e Kaymaa"
+ },
+ "VI": {
+ "name": "DuuÉ—e Kecce Amerik"
+ },
+ "VG": {
+ "name": "duuÉ—e kecce britanii"
+ },
+ "CK": {
+ "name": "DuuÉ—e Kuuk"
+ },
+ "MP": {
+ "name": "DuuÉ—e Mariyaana Rewo"
+ },
+ "MH": {
+ "name": "DuuÉ—e Marsaal"
+ },
+ "NF": {
+ "name": "DuuÉ—e Norfolk"
+ },
+ "SB": {
+ "name": "DuuÉ—e Solomon"
+ },
+ "TC": {
+ "name": "DuuÉ—e Turke e Keikoos"
+ },
+ "ET": {
+ "name": "Ecoppi"
+ },
+ "EG": {
+ "name": "Ejipt"
+ },
+ "EC": {
+ "name": "Ekuwatoor"
+ },
+ "SV": {
+ "name": "El Salwador"
+ },
+ "AE": {
+ "name": "Emiraat Araab DenntuÉ—e"
+ },
+ "IN": {
+ "name": "Enndo"
+ },
+ "ID": {
+ "name": "Enndonesii"
+ },
+ "ER": {
+ "name": "Eriteree"
+ },
+ "ES": {
+ "name": "Espaañ"
+ },
+ "EE": {
+ "name": "Estoni"
+ },
+ "FR": {
+ "name": "Farayse"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FI": {
+ "name": "Fenland"
+ },
+ "FJ": {
+ "name": "Fijji"
+ },
+ "PH": {
+ "name": "Filipiin"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboo"
+ },
+ "GM": {
+ "name": "Gammbi"
+ },
+ "GH": {
+ "name": "Ganaa"
+ },
+ "GD": {
+ "name": "Garnaad"
+ },
+ "GR": {
+ "name": "Gerees"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bisaawo"
+ },
+ "GQ": {
+ "name": "Ginee Ekuwaatoriyaal"
+ },
+ "GY": {
+ "name": "Giyaan"
+ },
+ "GF": {
+ "name": "Giyaan Farayse"
+ },
+ "GL": {
+ "name": "Gorwendland"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GU": {
+ "name": "Guwam"
+ },
+ "GP": {
+ "name": "Gwaadalup"
+ },
+ "GT": {
+ "name": "Gwaatemalaa"
+ },
+ "HT": {
+ "name": "Haytii"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "IE": {
+ "name": "Irlannda"
+ },
+ "IS": {
+ "name": "Islannda"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israa’iila"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JM": {
+ "name": "Jamayka"
+ },
+ "GE": {
+ "name": "Jeorgii"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibraltaar"
+ },
+ "DJ": {
+ "name": "Jibutii"
+ },
+ "JO": {
+ "name": "Jordani"
+ },
+ "KH": {
+ "name": "Kambodso"
+ },
+ "CM": {
+ "name": "Kameruun"
+ },
+ "CA": {
+ "name": "Kanadaa"
+ },
+ "KZ": {
+ "name": "Kasakstaan"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "IO": {
+ "name": "Keeriindi britaani to maayo enndo"
+ },
+ "KE": {
+ "name": "Keñaa"
+ },
+ "KG": {
+ "name": "Kirgistaan"
+ },
+ "KI": {
+ "name": "Kiribari"
+ },
+ "CI": {
+ "name": "Kodduwaar"
+ },
+ "CO": {
+ "name": "Kolombiya"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "CG": {
+ "name": "Konngo"
+ },
+ "KP": {
+ "name": "Koree Rewo"
+ },
+ "KR": {
+ "name": "Koree Worgo"
+ },
+ "HR": {
+ "name": "Korwasii"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rikaa"
+ },
+ "CU": {
+ "name": "Kubaa"
+ },
+ "KW": {
+ "name": "Kuweyti"
+ },
+ "GB": {
+ "name": "Laamateeri Rentundi"
+ },
+ "LA": {
+ "name": "Lawoos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonii"
+ },
+ "LB": {
+ "name": "Libaa"
+ },
+ "LR": {
+ "name": "Liberiyaa"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LU": {
+ "name": "Liksembuur"
+ },
+ "LI": {
+ "name": "Lincenstayn"
+ },
+ "LT": {
+ "name": "Lituaanii"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskaar"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MV": {
+ "name": "Maldiiwe"
+ },
+ "MY": {
+ "name": "Malesii"
+ },
+ "MT": {
+ "name": "Malte"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MA": {
+ "name": "Maruk"
+ },
+ "YT": {
+ "name": "Mayoot"
+ },
+ "MK": {
+ "name": "Meceduwaan"
+ },
+ "MX": {
+ "name": "Meksik"
+ },
+ "FM": {
+ "name": "Mikoronesii"
+ },
+ "MM": {
+ "name": "Miyamaar"
+ },
+ "MD": {
+ "name": "Moldawii"
+ },
+ "MC": {
+ "name": "Monaakoo"
+ },
+ "MN": {
+ "name": "Monngolii"
+ },
+ "MS": {
+ "name": "Monseraat"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MU": {
+ "name": "Moriis"
+ },
+ "MZ": {
+ "name": "Mosammbik"
+ },
+ "MR": {
+ "name": "Muritani"
+ },
+ "NA": {
+ "name": "Namibii"
+ },
+ "NR": {
+ "name": "Nawuru"
+ },
+ "CZ": {
+ "name": "Ndenndaandi Cek"
+ },
+ "CD": {
+ "name": "Ndenndaandi Demokaraasiire Konngo"
+ },
+ "CF": {
+ "name": "Ndenndaandi Santarafrik"
+ },
+ "DO": {
+ "name": "Ndenndanndi Dominika"
+ },
+ "NL": {
+ "name": "Nederlannda"
+ },
+ "NP": {
+ "name": "Nepaal"
+ },
+ "NE": {
+ "name": "Nijeer"
+ },
+ "NG": {
+ "name": "Nijeriyaa"
+ },
+ "NI": {
+ "name": "Nikaraguwaa"
+ },
+ "NU": {
+ "name": "Niuwe"
+ },
+ "NO": {
+ "name": "Norwees"
+ },
+ "NC": {
+ "name": "Nuwel Kaledonii"
+ },
+ "NZ": {
+ "name": "Nuwel Selannda"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "HN": {
+ "name": "Onnduraas"
+ },
+ "HU": {
+ "name": "Onngiri"
+ },
+ "AU": {
+ "name": "Ostaraalii"
+ },
+ "AT": {
+ "name": "Otiriis"
+ },
+ "PK": {
+ "name": "Pakistaan"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PS": {
+ "name": "Palestiin Sisjordani e Gaasaa"
+ },
+ "PA": {
+ "name": "Panamaa"
+ },
+ "PG": {
+ "name": "Papuwaa Nuwel Gine"
+ },
+ "PY": {
+ "name": "Paraguwaay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern"
+ },
+ "PF": {
+ "name": "Polinesii Farayse"
+ },
+ "PL": {
+ "name": "Poloñ"
+ },
+ "PR": {
+ "name": "Porto Rikoo"
+ },
+ "PT": {
+ "name": "Purtugaal"
+ },
+ "RE": {
+ "name": "Rewiñoo"
+ },
+ "RU": {
+ "name": "Riisii"
+ },
+ "RO": {
+ "name": "Rumanii"
+ },
+ "RW": {
+ "name": "Ruwanndaa"
+ },
+ "ZM": {
+ "name": "Sammbi"
+ },
+ "AS": {
+ "name": "Samowa Amerik"
+ },
+ "WS": {
+ "name": "Samowaa"
+ },
+ "JP": {
+ "name": "Sapoo"
+ },
+ "ST": {
+ "name": "Sawo Tome e Perensipe"
+ },
+ "SM": {
+ "name": "See Maree"
+ },
+ "PM": {
+ "name": "See Piyeer e Mikeloo"
+ },
+ "VC": {
+ "name": "See Weesaa e Garnadiin"
+ },
+ "SN": {
+ "name": "Senegaal"
+ },
+ "SH": {
+ "name": "Sent Helen"
+ },
+ "KN": {
+ "name": "Sent Kits e Newis"
+ },
+ "LC": {
+ "name": "Sent Lusiyaa"
+ },
+ "SL": {
+ "name": "Seraa liyon"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seysel"
+ },
+ "CN": {
+ "name": "Siin"
+ },
+ "CY": {
+ "name": "Siipar"
+ },
+ "ZW": {
+ "name": "Simbaabuwe"
+ },
+ "SG": {
+ "name": "Sinngapuur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "LK": {
+ "name": "Siri Lanka"
+ },
+ "SY": {
+ "name": "Sirii"
+ },
+ "SK": {
+ "name": "Slowakii"
+ },
+ "SI": {
+ "name": "Slowenii"
+ },
+ "SO": {
+ "name": "Somalii"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaan"
+ },
+ "SR": {
+ "name": "Surinaam"
+ },
+ "SE": {
+ "name": "Suweed"
+ },
+ "CH": {
+ "name": "Suwiis"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaasilannda"
+ },
+ "TJ": {
+ "name": "Tajikistaan"
+ },
+ "TZ": {
+ "name": "Tansanii"
+ },
+ "TH": {
+ "name": "Taylannda"
+ },
+ "TW": {
+ "name": "Taywaan"
+ },
+ "TL": {
+ "name": "Timoor FuÉ—naange"
+ },
+ "TT": {
+ "name": "Tirnidaad e Tobaago"
+ },
+ "TG": {
+ "name": "Togoo"
+ },
+ "TK": {
+ "name": "Tokelaaw"
+ },
+ "TO": {
+ "name": "Tonngaa"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisii"
+ },
+ "TR": {
+ "name": "Turkii"
+ },
+ "TM": {
+ "name": "Turkmenistaan"
+ },
+ "TV": {
+ "name": "Tuwaluu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UA": {
+ "name": "Ukereen"
+ },
+ "UG": {
+ "name": "Unganndaa"
+ },
+ "UY": {
+ "name": "Uruguwaay"
+ },
+ "UZ": {
+ "name": "Usbekistaan"
+ },
+ "WF": {
+ "name": "Walis e Futuna"
+ },
+ "VU": {
+ "name": "Wanuwaatuu"
+ },
+ "VE": {
+ "name": "Wenesuwelaa"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "VN": {
+ "name": "Wiyetnaam"
+ },
+ "YE": {
+ "name": "Yemen"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/fi.json b/library/intl/resources/country/fi.json
new file mode 100644
index 000000000..03f847ac1
--- /dev/null
+++ b/library/intl/resources/country/fi.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ahvenanmaa"
+ },
+ "NL": {
+ "name": "Alankomaat"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "Amerikan Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua ja Barbuda"
+ },
+ "AE": {
+ "name": "Arabiemiirikunnat"
+ },
+ "AR": {
+ "name": "Argentiina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension-saari"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AZ": {
+ "name": "Azerbaidžan"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ja Hertsegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilia"
+ },
+ "IO": {
+ "name": "Brittiläinen Intian valtameren alue"
+ },
+ "VG": {
+ "name": "Brittiläiset Neitsytsaaret"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KY": {
+ "name": "Caymansaaret"
+ },
+ "EA": {
+ "name": "Ceuta ja Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CK": {
+ "name": "Cookinsaaret"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikaaninen tasavalta"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypti"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "ES": {
+ "name": "Espanja"
+ },
+ "ZA": {
+ "name": "Etelä-Afrikka"
+ },
+ "GS": {
+ "name": "Etelä-Georgia ja Eteläiset Sandwichsaaret"
+ },
+ "KR": {
+ "name": "Etelä-Korea"
+ },
+ "SS": {
+ "name": "Etelä-Sudan"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandinsaaret"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filippiinit"
+ },
+ "FO": {
+ "name": "Färsaaret"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grönlanti"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong – Kiinan e.h.a."
+ },
+ "SJ": {
+ "name": "Huippuvuoret ja Jan Mayen"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IN": {
+ "name": "Intia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlanti"
+ },
+ "IS": {
+ "name": "Islanti"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "TL": {
+ "name": "Itä-Timor"
+ },
+ "AT": {
+ "name": "Itävalta"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "CX": {
+ "name": "Joulusaari"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariansaaret"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibian Alankomaat"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CF": {
+ "name": "Keski-Afrikan tasavalta"
+ },
+ "CN": {
+ "name": "Kiina"
+ },
+ "KG": {
+ "name": "Kirgisia"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolumbia"
+ },
+ "KM": {
+ "name": "Komorit"
+ },
+ "CD": {
+ "name": "Kongon demokraattinen tasavalta"
+ },
+ "CG": {
+ "name": "Kongon tasavalta"
+ },
+ "CC": {
+ "name": "Kookossaaret (Keelingsaaret)"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "GR": {
+ "name": "Kreikka"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Liettua"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "EH": {
+ "name": "Länsi-Sahara"
+ },
+ "MO": {
+ "name": "Macao – Kiinan e.h.a."
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediivit"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Mansaari"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallinsaaret"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesian liittovaltio"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolkinsaari"
+ },
+ "NO": {
+ "name": "Norja"
+ },
+ "CI": {
+ "name": "Norsunluurannikko"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestiinalaisalueet"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Uusi-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "KP": {
+ "name": "Pohjois-Korea"
+ },
+ "MP": {
+ "name": "Pohjois-Mariaanit"
+ },
+ "PT": {
+ "name": "Portugali"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "PL": {
+ "name": "Puola"
+ },
+ "GQ": {
+ "name": "Päiväntasaajan Guinea"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "FR": {
+ "name": "Ranska"
+ },
+ "GF": {
+ "name": "Ranskan Guayana"
+ },
+ "PF": {
+ "name": "Ranskan Polynesia"
+ },
+ "TF": {
+ "name": "Ranskan ulkopuoliset eteläiset alueet"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "SE": {
+ "name": "Ruotsi"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ja Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "VC": {
+ "name": "Saint Vincent ja Grenadiinit"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre ja Miquelon"
+ },
+ "DE": {
+ "name": "Saksa"
+ },
+ "SB": {
+ "name": "Salomonsaaret"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé ja Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellit"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "FI": {
+ "name": "Suomi"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "CH": {
+ "name": "Sveitsi"
+ },
+ "SZ": {
+ "name": "Swazimaa"
+ },
+ "SY": {
+ "name": "Syyria"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "DK": {
+ "name": "Tanska"
+ },
+ "TH": {
+ "name": "Thaimaa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ja Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "TÅ¡ad"
+ },
+ "CZ": {
+ "name": "TÅ¡ekki"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkki"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- ja Caicossaaret"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Unkari"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "NC": {
+ "name": "Uusi-Kaledonia"
+ },
+ "NZ": {
+ "name": "Uusi-Seelanti"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "BY": {
+ "name": "Valko-Venäjä"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikaani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "RU": {
+ "name": "Venäjä"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "EE": {
+ "name": "Viro"
+ },
+ "WF": {
+ "name": "Wallis ja Futuna"
+ },
+ "GB": {
+ "name": "Yhdistynyt kuningaskunta"
+ },
+ "US": {
+ "name": "Yhdysvallat"
+ },
+ "UM": {
+ "name": "Yhdysvaltain erillissaaret"
+ },
+ "VI": {
+ "name": "Yhdysvaltain Neitsytsaaret"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/fil.json b/library/intl/resources/country/fil.json
new file mode 100644
index 000000000..1013ed4fb
--- /dev/null
+++ b/library/intl/resources/country/fil.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Acsencion island"
+ },
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia and Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Island"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta and Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "EH": {
+ "name": "Kanlurang Sahara"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Pilipinas"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia and the South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "SS": {
+ "name": "Timog Sudan"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan de Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/fo.json b/library/intl/resources/country/fo.json
new file mode 100644
index 000000000..d60f0301f
--- /dev/null
+++ b/library/intl/resources/country/fo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ãland"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "Amerikanska Sámoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua og Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascensionoyggjin"
+ },
+ "AZ": {
+ "name": "Aserbajdsjan"
+ },
+ "AU": {
+ "name": "Avstralia"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesj"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belis"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Hersegovina"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BR": {
+ "name": "Brasilia"
+ },
+ "IO": {
+ "name": "Bretsku Indiahavsoyggjarnar"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "KY": {
+ "name": "Caymanoyggjarnar"
+ },
+ "EA": {
+ "name": "Ceuta og Melilla"
+ },
+ "CK": {
+ "name": "Cooksoyggjarnar"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmørk"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DO": {
+ "name": "Domingo lýðveldið"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EG": {
+ "name": "Egyptaland"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvator Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "TL": {
+ "name": "Eystur-Timor"
+ },
+ "AT": {
+ "name": "Eysturríki"
+ },
+ "FK": {
+ "name": "Falklandsoyggjarnar"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "CI": {
+ "name": "Fílabeinsstrondin"
+ },
+ "PH": {
+ "name": "Filipsoyggjar"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frakland"
+ },
+ "GF": {
+ "name": "Fransk Gujana"
+ },
+ "MF": {
+ "name": "Fransk Saint Martin"
+ },
+ "PF": {
+ "name": "Franska Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "FO": {
+ "name": "Føroyar"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grikkaland"
+ },
+ "CV": {
+ "name": "Grønhøvdaoyggjarnar"
+ },
+ "GL": {
+ "name": "Grønland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea Bissau"
+ },
+ "GY": {
+ "name": "Gujana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong"
+ },
+ "BY": {
+ "name": "Hvítarussland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Ãrland"
+ },
+ "IS": {
+ "name": "Ãsland"
+ },
+ "IL": {
+ "name": "Ãsrael"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jameika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "CX": {
+ "name": "Jólaoyggjin"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanaríoyggjarnar"
+ },
+ "KZ": {
+ "name": "Kasakstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "CZ": {
+ "name": "Kekkia"
+ },
+ "KE": {
+ "name": "Kenja"
+ },
+ "CL": {
+ "name": "Kili"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgisia"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "TD": {
+ "name": "Kjad"
+ },
+ "CC": {
+ "name": "Kokosoyggjarnar"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komorooyggjarnar"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvait"
+ },
+ "CY": {
+ "name": "Kýpros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liktenstein"
+ },
+ "LT": {
+ "name": "Litava"
+ },
+ "LU": {
+ "name": "Luksemborg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makao"
+ },
+ "MK": {
+ "name": "Makedónia"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivuoyggjarnar"
+ },
+ "MY": {
+ "name": "Maleisia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Mann"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalloyggjarnar"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "CF": {
+ "name": "Miðafrikalýðveldið"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MR": {
+ "name": "Móritania"
+ },
+ "MU": {
+ "name": "Móritius"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Niðurlond"
+ },
+ "BQ": {
+ "name": "Niðurlonds Karibia"
+ },
+ "SX": {
+ "name": "Niðurlonds Saint Martin"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Norður-Korea"
+ },
+ "MP": {
+ "name": "Norðurmarianoyggjarnar"
+ },
+ "SD": {
+ "name": "Norðursudan"
+ },
+ "NO": {
+ "name": "Noreg"
+ },
+ "NF": {
+ "name": "Norfolkoyggjin"
+ },
+ "NZ": {
+ "name": "Ný Sæland"
+ },
+ "NC": {
+ "name": "Ný-Kaledonia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinskt territorium"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nýguinea"
+ },
+ "PY": {
+ "name": "Paraguei"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Pólland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumenia"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts og Nevis"
+ },
+ "LC": {
+ "name": "Saint Lusia"
+ },
+ "PM": {
+ "name": "Saint Pierre og Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vinsent og Grenadinoyggjar"
+ },
+ "SB": {
+ "name": "Sálomonoyggjarnar"
+ },
+ "US": {
+ "name": "Sambandsríki Amerika"
+ },
+ "VI": {
+ "name": "Sambandsríki Amerikas Jómfrúoyggjarnar"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "AE": {
+ "name": "Sameindu Emirríkini"
+ },
+ "WS": {
+ "name": "Sámoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome og Prinsipi"
+ },
+ "SA": {
+ "name": "Saudi-Arábia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seyskelloyggjarnar"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabvi"
+ },
+ "SG": {
+ "name": "Singapor"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spania"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "GB": {
+ "name": "Stóra Bretland"
+ },
+ "VG": {
+ "name": "Stóra Bretlands Jómfrúoyggjarnar"
+ },
+ "KR": {
+ "name": "Suður-Korea"
+ },
+ "ZA": {
+ "name": "Suðurafrikalýðveldið"
+ },
+ "GS": {
+ "name": "Suðurgeorgia"
+ },
+ "SS": {
+ "name": "Suðursudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard og Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svasiland"
+ },
+ "CH": {
+ "name": "Sveis"
+ },
+ "SE": {
+ "name": "Svøríki"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TJ": {
+ "name": "Tadsjikistan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TH": {
+ "name": "Teiland"
+ },
+ "TW": {
+ "name": "Teivan"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad og Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunesia"
+ },
+ "TR": {
+ "name": "Turkaland"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- og Caicosoyggjarnar"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "DE": {
+ "name": "Týskland"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreina"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguei"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "EH": {
+ "name": "Vestursahara"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis og Futuna"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/fr-CA.json b/library/intl/resources/country/fr-CA.json
new file mode 100644
index 000000000..2b7ccbcf7
--- /dev/null
+++ b/library/intl/resources/country/fr-CA.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrique du Sud"
+ },
+ "AL": {
+ "name": "Albanie"
+ },
+ "DZ": {
+ "name": "Algérie"
+ },
+ "DE": {
+ "name": "Allemagne"
+ },
+ "AD": {
+ "name": "Andorre"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctique"
+ },
+ "AG": {
+ "name": "Antigua-et-Barbuda"
+ },
+ "SA": {
+ "name": "Arabie saoudite"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Arménie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australie"
+ },
+ "AT": {
+ "name": "Autriche"
+ },
+ "AZ": {
+ "name": "Azerbaïdjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahreïn"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbade"
+ },
+ "BY": {
+ "name": "Bélarus"
+ },
+ "BE": {
+ "name": "Belgique"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Bénin"
+ },
+ "BM": {
+ "name": "Bermudes"
+ },
+ "BT": {
+ "name": "Bhoutan"
+ },
+ "BO": {
+ "name": "Bolivie"
+ },
+ "BA": {
+ "name": "Bosnie-Herzégovine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brésil"
+ },
+ "BN": {
+ "name": "Brunéi Darussalam"
+ },
+ "BG": {
+ "name": "Bulgarie"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodge"
+ },
+ "CM": {
+ "name": "Cameroun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Cap-Vert"
+ },
+ "EA": {
+ "name": "Ceuta et Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CN": {
+ "name": "Chine"
+ },
+ "CY": {
+ "name": "Chypre"
+ },
+ "CO": {
+ "name": "Colombie"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Corée du Nord"
+ },
+ "KR": {
+ "name": "Corée du Sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatie"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominique"
+ },
+ "EG": {
+ "name": "Égypte"
+ },
+ "AE": {
+ "name": "Émirats arabes unis"
+ },
+ "EC": {
+ "name": "Équateur"
+ },
+ "ER": {
+ "name": "Érythrée"
+ },
+ "ES": {
+ "name": "Espagne"
+ },
+ "EE": {
+ "name": "Estonie"
+ },
+ "VA": {
+ "name": "État de la Cité du Vatican"
+ },
+ "US": {
+ "name": "États-Unis"
+ },
+ "ET": {
+ "name": "Éthiopie"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "FI": {
+ "name": "Finlande"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambie"
+ },
+ "GE": {
+ "name": "Géorgie"
+ },
+ "GS": {
+ "name": "Géorgie du Sud et les îles Sandwich du Sud"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grèce"
+ },
+ "GD": {
+ "name": "Grenade"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinée"
+ },
+ "GQ": {
+ "name": "Guinée équatoriale"
+ },
+ "GW": {
+ "name": "Guinée-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyane française"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongrie"
+ },
+ "CX": {
+ "name": "ÃŽle Christmas"
+ },
+ "AC": {
+ "name": "Île de l’Ascension"
+ },
+ "IM": {
+ "name": "ÃŽle de Man"
+ },
+ "NF": {
+ "name": "ÃŽle Norfolk"
+ },
+ "AX": {
+ "name": "ÃŽles Ã…land"
+ },
+ "KY": {
+ "name": "Îles Caïmans"
+ },
+ "IC": {
+ "name": "ÃŽles Canaries"
+ },
+ "CC": {
+ "name": "ÃŽles Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "ÃŽles Cook"
+ },
+ "FO": {
+ "name": "Îles Féroé"
+ },
+ "FK": {
+ "name": "ÃŽles Malouines"
+ },
+ "MP": {
+ "name": "ÃŽles Mariannes du Nord"
+ },
+ "MH": {
+ "name": "ÃŽles Marshall"
+ },
+ "UM": {
+ "name": "Îles mineures éloignées des États-Unis"
+ },
+ "SB": {
+ "name": "ÃŽles Salomon"
+ },
+ "TC": {
+ "name": "Îles Turques-et-Caïques"
+ },
+ "VG": {
+ "name": "ÃŽles Vierges britanniques"
+ },
+ "VI": {
+ "name": "Îles Vierges des États-Unis"
+ },
+ "IN": {
+ "name": "Inde"
+ },
+ "ID": {
+ "name": "Indonésie"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlande"
+ },
+ "IS": {
+ "name": "Islande"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italie"
+ },
+ "JM": {
+ "name": "Jamaïque"
+ },
+ "JP": {
+ "name": "Japon"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanie"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Koweït"
+ },
+ "RE": {
+ "name": "La Réunion"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettonie"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Libye"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituanie"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Macédoine"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaisie"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malte"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Maurice"
+ },
+ "MR": {
+ "name": "Mauritanie"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexique"
+ },
+ "FM": {
+ "name": "Micronésie"
+ },
+ "MD": {
+ "name": "Moldavie"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolie"
+ },
+ "ME": {
+ "name": "Monténégro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibie"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Népal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvège"
+ },
+ "NC": {
+ "name": "Nouvelle-Calédonie"
+ },
+ "NZ": {
+ "name": "Nouvelle-Zélande"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UG": {
+ "name": "Ouganda"
+ },
+ "UZ": {
+ "name": "Ouzbékistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papouasie-Nouvelle-Guinée"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "NL": {
+ "name": "Pays-Bas"
+ },
+ "BQ": {
+ "name": "Pays-Bas caribéens"
+ },
+ "PE": {
+ "name": "Pérou"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Pologne"
+ },
+ "PF": {
+ "name": "Polynésie française"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "R.A.S. chinoise de Hong Kong"
+ },
+ "MO": {
+ "name": "R.A.S. chinoise de Macao"
+ },
+ "CF": {
+ "name": "République centrafricaine"
+ },
+ "DO": {
+ "name": "République dominicaine"
+ },
+ "CZ": {
+ "name": "République tchèque"
+ },
+ "RO": {
+ "name": "Roumanie"
+ },
+ "GB": {
+ "name": "Royaume-Uni"
+ },
+ "RU": {
+ "name": "Russie"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara occidental"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "KN": {
+ "name": "Saint-Christophe-et-Niévès"
+ },
+ "SM": {
+ "name": "Saint-Marin"
+ },
+ "MF": {
+ "name": "Saint-Martin (France)"
+ },
+ "SX": {
+ "name": "Saint-Martin (Pays-Bas)"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "VC": {
+ "name": "Saint-Vincent-et-les Grenadines"
+ },
+ "SH": {
+ "name": "Sainte-Hélène"
+ },
+ "LC": {
+ "name": "Sainte-Lucie"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa américaines"
+ },
+ "ST": {
+ "name": "Sao Tomé-et-Principe"
+ },
+ "SN": {
+ "name": "Sénégal"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapour"
+ },
+ "SK": {
+ "name": "Slovaquie"
+ },
+ "SI": {
+ "name": "Slovénie"
+ },
+ "SO": {
+ "name": "Somalie"
+ },
+ "SD": {
+ "name": "Soudan"
+ },
+ "SS": {
+ "name": "Soudan du Sud"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SE": {
+ "name": "Suède"
+ },
+ "CH": {
+ "name": "Suisse"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard et Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syrie"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taïwan"
+ },
+ "TZ": {
+ "name": "Tanzanie"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TF": {
+ "name": "Terres australes françaises"
+ },
+ "IO": {
+ "name": "Territoire britannique de l’océan Indien"
+ },
+ "PS": {
+ "name": "Territoires palestiniens"
+ },
+ "TH": {
+ "name": "Thaïlande"
+ },
+ "TL": {
+ "name": "Timor oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinité-et-Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisie"
+ },
+ "TM": {
+ "name": "Turkménistan"
+ },
+ "TR": {
+ "name": "Turquie"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis-et-Futuna"
+ },
+ "YE": {
+ "name": "Yémen"
+ },
+ "ZM": {
+ "name": "Zambie"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/fr-CH.json b/library/intl/resources/country/fr-CH.json
new file mode 100644
index 000000000..d274eb795
--- /dev/null
+++ b/library/intl/resources/country/fr-CH.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrique du Sud"
+ },
+ "AL": {
+ "name": "Albanie"
+ },
+ "DZ": {
+ "name": "Algérie"
+ },
+ "DE": {
+ "name": "Allemagne"
+ },
+ "AD": {
+ "name": "Andorre"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctique"
+ },
+ "AG": {
+ "name": "Antigua-et-Barbuda"
+ },
+ "SA": {
+ "name": "Arabie saoudite"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Arménie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australie"
+ },
+ "AT": {
+ "name": "Autriche"
+ },
+ "AZ": {
+ "name": "Azerbaïdjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahreïn"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbade"
+ },
+ "BE": {
+ "name": "Belgique"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Bénin"
+ },
+ "BM": {
+ "name": "Bermudes"
+ },
+ "BT": {
+ "name": "Bhoutan"
+ },
+ "BY": {
+ "name": "Biélorussie"
+ },
+ "BO": {
+ "name": "Bolivie"
+ },
+ "BA": {
+ "name": "Bosnie-Herzégovine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brésil"
+ },
+ "BN": {
+ "name": "Brunéi Darussalam"
+ },
+ "BG": {
+ "name": "Bulgarie"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodge"
+ },
+ "CM": {
+ "name": "Cameroun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Cap-Vert"
+ },
+ "EA": {
+ "name": "Ceuta et Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CN": {
+ "name": "Chine"
+ },
+ "CY": {
+ "name": "Chypre"
+ },
+ "CO": {
+ "name": "Colombie"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Corée du Nord"
+ },
+ "KR": {
+ "name": "Corée du Sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatie"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominique"
+ },
+ "EG": {
+ "name": "Égypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Émirats arabes unis"
+ },
+ "EC": {
+ "name": "Équateur"
+ },
+ "ER": {
+ "name": "Érythrée"
+ },
+ "ES": {
+ "name": "Espagne"
+ },
+ "EE": {
+ "name": "Estonie"
+ },
+ "VA": {
+ "name": "État de la Cité du Vatican"
+ },
+ "FM": {
+ "name": "États fédérés de Micronésie"
+ },
+ "US": {
+ "name": "États-Unis"
+ },
+ "ET": {
+ "name": "Éthiopie"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "FI": {
+ "name": "Finlande"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambie"
+ },
+ "GE": {
+ "name": "Géorgie"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grèce"
+ },
+ "GD": {
+ "name": "Grenade"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinée"
+ },
+ "GQ": {
+ "name": "Guinée équatoriale"
+ },
+ "GW": {
+ "name": "Guinée-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyane française"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongrie"
+ },
+ "CX": {
+ "name": "ÃŽle Christmas"
+ },
+ "AC": {
+ "name": "Île de l’Ascension"
+ },
+ "IM": {
+ "name": "ÃŽle de Man"
+ },
+ "NF": {
+ "name": "ÃŽle Norfolk"
+ },
+ "AX": {
+ "name": "ÃŽles Ã…land"
+ },
+ "KY": {
+ "name": "Îles Caïmans"
+ },
+ "IC": {
+ "name": "ÃŽles Canaries"
+ },
+ "CC": {
+ "name": "ÃŽles Cocos"
+ },
+ "CK": {
+ "name": "ÃŽles Cook"
+ },
+ "FO": {
+ "name": "Îles Féroé"
+ },
+ "GS": {
+ "name": "Îles Géorgie du Sud et Sandwich du Sud"
+ },
+ "FK": {
+ "name": "ÃŽles Malouines"
+ },
+ "MP": {
+ "name": "ÃŽles Mariannes du Nord"
+ },
+ "MH": {
+ "name": "ÃŽles Marshall"
+ },
+ "UM": {
+ "name": "Îles mineures éloignées des États-Unis"
+ },
+ "SB": {
+ "name": "ÃŽles Salomon"
+ },
+ "TC": {
+ "name": "Îles Turques-et-Caïques"
+ },
+ "VG": {
+ "name": "ÃŽles Vierges britanniques"
+ },
+ "VI": {
+ "name": "Îles Vierges des États-Unis"
+ },
+ "IN": {
+ "name": "Inde"
+ },
+ "ID": {
+ "name": "Indonésie"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlande"
+ },
+ "IS": {
+ "name": "Islande"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italie"
+ },
+ "JM": {
+ "name": "Jamaïque"
+ },
+ "JP": {
+ "name": "Japon"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanie"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Koweït"
+ },
+ "RE": {
+ "name": "La Réunion"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettonie"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Libye"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituanie"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Macédoine"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaisie"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malte"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Maurice"
+ },
+ "MR": {
+ "name": "Mauritanie"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexique"
+ },
+ "MD": {
+ "name": "Moldavie"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolie"
+ },
+ "ME": {
+ "name": "Monténégro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibie"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Népal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvège"
+ },
+ "NC": {
+ "name": "Nouvelle-Calédonie"
+ },
+ "NZ": {
+ "name": "Nouvelle-Zélande"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UG": {
+ "name": "Ouganda"
+ },
+ "UZ": {
+ "name": "Ouzbékistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papouasie-Nouvelle-Guinée"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "NL": {
+ "name": "Pays-Bas"
+ },
+ "BQ": {
+ "name": "Pays-Bas caribéens"
+ },
+ "PE": {
+ "name": "Pérou"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Pologne"
+ },
+ "PF": {
+ "name": "Polynésie française"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "R.A.S. chinoise de Hong Kong"
+ },
+ "MO": {
+ "name": "R.A.S. chinoise de Macao"
+ },
+ "CF": {
+ "name": "République centrafricaine"
+ },
+ "DO": {
+ "name": "République dominicaine"
+ },
+ "CZ": {
+ "name": "République tchèque"
+ },
+ "RO": {
+ "name": "Roumanie"
+ },
+ "GB": {
+ "name": "Royaume-Uni"
+ },
+ "RU": {
+ "name": "Russie"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara occidental"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "KN": {
+ "name": "Saint-Christophe-et-Niévès"
+ },
+ "SM": {
+ "name": "Saint-Marin"
+ },
+ "MF": {
+ "name": "Saint-Martin (partie française)"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "VC": {
+ "name": "Saint-Vincent-et-les-Grenadines"
+ },
+ "SH": {
+ "name": "Sainte-Hélène"
+ },
+ "LC": {
+ "name": "Sainte-Lucie"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa américaines"
+ },
+ "ST": {
+ "name": "Sao Tomé-et-Principe"
+ },
+ "SN": {
+ "name": "Sénégal"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapour"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaquie"
+ },
+ "SI": {
+ "name": "Slovénie"
+ },
+ "SO": {
+ "name": "Somalie"
+ },
+ "SD": {
+ "name": "Soudan"
+ },
+ "SS": {
+ "name": "Soudan du Sud"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SE": {
+ "name": "Suède"
+ },
+ "CH": {
+ "name": "Suisse"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard et Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syrie"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taïwan"
+ },
+ "TZ": {
+ "name": "Tanzanie"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TF": {
+ "name": "Terres australes françaises"
+ },
+ "IO": {
+ "name": "Territoire britannique de l’océan Indien"
+ },
+ "PS": {
+ "name": "Territoires palestiniens"
+ },
+ "TH": {
+ "name": "Thaïlande"
+ },
+ "TL": {
+ "name": "Timor oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinité-et-Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisie"
+ },
+ "TM": {
+ "name": "Turkménistan"
+ },
+ "TR": {
+ "name": "Turquie"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis-et-Futuna"
+ },
+ "YE": {
+ "name": "Yémen"
+ },
+ "ZM": {
+ "name": "Zambie"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/fr.json b/library/intl/resources/country/fr.json
new file mode 100644
index 000000000..db6e0d8f2
--- /dev/null
+++ b/library/intl/resources/country/fr.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrique du Sud"
+ },
+ "AL": {
+ "name": "Albanie"
+ },
+ "DZ": {
+ "name": "Algérie"
+ },
+ "DE": {
+ "name": "Allemagne"
+ },
+ "AD": {
+ "name": "Andorre"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctique"
+ },
+ "AG": {
+ "name": "Antigua-et-Barbuda"
+ },
+ "SA": {
+ "name": "Arabie saoudite"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Arménie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australie"
+ },
+ "AT": {
+ "name": "Autriche"
+ },
+ "AZ": {
+ "name": "Azerbaïdjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahreïn"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbade"
+ },
+ "BE": {
+ "name": "Belgique"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Bénin"
+ },
+ "BM": {
+ "name": "Bermudes"
+ },
+ "BT": {
+ "name": "Bhoutan"
+ },
+ "BY": {
+ "name": "Biélorussie"
+ },
+ "BO": {
+ "name": "Bolivie"
+ },
+ "BA": {
+ "name": "Bosnie-Herzégovine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brésil"
+ },
+ "BN": {
+ "name": "Brunéi Darussalam"
+ },
+ "BG": {
+ "name": "Bulgarie"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodge"
+ },
+ "CM": {
+ "name": "Cameroun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Cap-Vert"
+ },
+ "EA": {
+ "name": "Ceuta et Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CN": {
+ "name": "Chine"
+ },
+ "CY": {
+ "name": "Chypre"
+ },
+ "CO": {
+ "name": "Colombie"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Corée du Nord"
+ },
+ "KR": {
+ "name": "Corée du Sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatie"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominique"
+ },
+ "EG": {
+ "name": "Égypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Émirats arabes unis"
+ },
+ "EC": {
+ "name": "Équateur"
+ },
+ "ER": {
+ "name": "Érythrée"
+ },
+ "ES": {
+ "name": "Espagne"
+ },
+ "EE": {
+ "name": "Estonie"
+ },
+ "VA": {
+ "name": "État de la Cité du Vatican"
+ },
+ "FM": {
+ "name": "États fédérés de Micronésie"
+ },
+ "US": {
+ "name": "États-Unis"
+ },
+ "ET": {
+ "name": "Éthiopie"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "FI": {
+ "name": "Finlande"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambie"
+ },
+ "GE": {
+ "name": "Géorgie"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grèce"
+ },
+ "GD": {
+ "name": "Grenade"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GN": {
+ "name": "Guinée"
+ },
+ "GQ": {
+ "name": "Guinée équatoriale"
+ },
+ "GW": {
+ "name": "Guinée-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyane française"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongrie"
+ },
+ "CX": {
+ "name": "ÃŽle Christmas"
+ },
+ "AC": {
+ "name": "Île de l’Ascension"
+ },
+ "IM": {
+ "name": "ÃŽle de Man"
+ },
+ "NF": {
+ "name": "ÃŽle Norfolk"
+ },
+ "AX": {
+ "name": "ÃŽles Ã…land"
+ },
+ "KY": {
+ "name": "Îles Caïmans"
+ },
+ "IC": {
+ "name": "ÃŽles Canaries"
+ },
+ "CC": {
+ "name": "ÃŽles Cocos"
+ },
+ "CK": {
+ "name": "ÃŽles Cook"
+ },
+ "FO": {
+ "name": "Îles Féroé"
+ },
+ "GS": {
+ "name": "Îles Géorgie du Sud et Sandwich du Sud"
+ },
+ "FK": {
+ "name": "ÃŽles Malouines"
+ },
+ "MP": {
+ "name": "ÃŽles Mariannes du Nord"
+ },
+ "MH": {
+ "name": "ÃŽles Marshall"
+ },
+ "UM": {
+ "name": "Îles mineures éloignées des États-Unis"
+ },
+ "SB": {
+ "name": "ÃŽles Salomon"
+ },
+ "TC": {
+ "name": "Îles Turques-et-Caïques"
+ },
+ "VG": {
+ "name": "ÃŽles Vierges britanniques"
+ },
+ "VI": {
+ "name": "Îles Vierges des États-Unis"
+ },
+ "IN": {
+ "name": "Inde"
+ },
+ "ID": {
+ "name": "Indonésie"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlande"
+ },
+ "IS": {
+ "name": "Islande"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italie"
+ },
+ "JM": {
+ "name": "Jamaïque"
+ },
+ "JP": {
+ "name": "Japon"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanie"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Koweït"
+ },
+ "RE": {
+ "name": "La Réunion"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettonie"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Libye"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituanie"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Macédoine"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaisie"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malte"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Maurice"
+ },
+ "MR": {
+ "name": "Mauritanie"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexique"
+ },
+ "MD": {
+ "name": "Moldavie"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolie"
+ },
+ "ME": {
+ "name": "Monténégro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibie"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Népal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvège"
+ },
+ "NC": {
+ "name": "Nouvelle-Calédonie"
+ },
+ "NZ": {
+ "name": "Nouvelle-Zélande"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UG": {
+ "name": "Ouganda"
+ },
+ "UZ": {
+ "name": "Ouzbékistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palaos"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papouasie-Nouvelle-Guinée"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "NL": {
+ "name": "Pays-Bas"
+ },
+ "BQ": {
+ "name": "Pays-Bas caribéens"
+ },
+ "PE": {
+ "name": "Pérou"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Pologne"
+ },
+ "PF": {
+ "name": "Polynésie française"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "R.A.S. chinoise de Hong Kong"
+ },
+ "MO": {
+ "name": "R.A.S. chinoise de Macao"
+ },
+ "CF": {
+ "name": "République centrafricaine"
+ },
+ "DO": {
+ "name": "République dominicaine"
+ },
+ "CZ": {
+ "name": "République tchèque"
+ },
+ "RO": {
+ "name": "Roumanie"
+ },
+ "GB": {
+ "name": "Royaume-Uni"
+ },
+ "RU": {
+ "name": "Russie"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara occidental"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "KN": {
+ "name": "Saint-Christophe-et-Niévès"
+ },
+ "SM": {
+ "name": "Saint-Marin"
+ },
+ "MF": {
+ "name": "Saint-Martin (partie française)"
+ },
+ "SX": {
+ "name": "Saint-Martin (partie néerlandaise)"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "VC": {
+ "name": "Saint-Vincent-et-les-Grenadines"
+ },
+ "SH": {
+ "name": "Sainte-Hélène"
+ },
+ "LC": {
+ "name": "Sainte-Lucie"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa américaines"
+ },
+ "ST": {
+ "name": "Sao Tomé-et-Principe"
+ },
+ "SN": {
+ "name": "Sénégal"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapour"
+ },
+ "SK": {
+ "name": "Slovaquie"
+ },
+ "SI": {
+ "name": "Slovénie"
+ },
+ "SO": {
+ "name": "Somalie"
+ },
+ "SD": {
+ "name": "Soudan"
+ },
+ "SS": {
+ "name": "Soudan du Sud"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SE": {
+ "name": "Suède"
+ },
+ "CH": {
+ "name": "Suisse"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard et Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syrie"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taïwan"
+ },
+ "TZ": {
+ "name": "Tanzanie"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TF": {
+ "name": "Terres australes françaises"
+ },
+ "IO": {
+ "name": "Territoire britannique de l’océan Indien"
+ },
+ "PS": {
+ "name": "Territoires palestiniens"
+ },
+ "TH": {
+ "name": "Thaïlande"
+ },
+ "TL": {
+ "name": "Timor oriental"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinité-et-Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisie"
+ },
+ "TM": {
+ "name": "Turkménistan"
+ },
+ "TR": {
+ "name": "Turquie"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis-et-Futuna"
+ },
+ "YE": {
+ "name": "Yémen"
+ },
+ "ZM": {
+ "name": "Zambie"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/fur.json b/library/intl/resources/country/fur.json
new file mode 100644
index 000000000..44bce8a36
--- /dev/null
+++ b/library/intl/resources/country/fur.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albanie"
+ },
+ "DZ": {
+ "name": "Alzerie"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antartic"
+ },
+ "AG": {
+ "name": "Antigua e Barbuda"
+ },
+ "SA": {
+ "name": "Arabie Saudide"
+ },
+ "AR": {
+ "name": "Argjentine"
+ },
+ "AM": {
+ "name": "Armenie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australie"
+ },
+ "AT": {
+ "name": "Austrie"
+ },
+ "AZ": {
+ "name": "Azerbaigian"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgjiche"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bielorussie"
+ },
+ "MM": {
+ "name": "Birmanie"
+ },
+ "BO": {
+ "name": "Bolivie"
+ },
+ "BA": {
+ "name": "Bosnie e Ercegovine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasîl"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarie"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "TD": {
+ "name": "Çad"
+ },
+ "KH": {
+ "name": "Camboze"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canade"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta e Melilla"
+ },
+ "CL": {
+ "name": "Cile"
+ },
+ "CN": {
+ "name": "Cine"
+ },
+ "CY": {
+ "name": "Cipri"
+ },
+ "CV": {
+ "name": "Cjâf vert"
+ },
+ "CO": {
+ "name": "Colombie"
+ },
+ "KM": {
+ "name": "Comoris"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "KP": {
+ "name": "Coree dal nord"
+ },
+ "KR": {
+ "name": "Coree dal sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Cravuazie"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CI": {
+ "name": "Cueste di Avoli"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimarcje"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominiche"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egjit"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirâts araps unîts"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "EE": {
+ "name": "Estonie"
+ },
+ "ET": {
+ "name": "Etiopie"
+ },
+ "PH": {
+ "name": "Filipinis"
+ },
+ "FI": {
+ "name": "Finlandie"
+ },
+ "FJ": {
+ "name": "Fizi"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GS": {
+ "name": "Georgia dal Sud e Isulis Sandwich dal Sud"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "DJ": {
+ "name": "Gibuti"
+ },
+ "JM": {
+ "name": "Gjamaiche"
+ },
+ "JP": {
+ "name": "Gjapon"
+ },
+ "GE": {
+ "name": "Gjeorgjie"
+ },
+ "DE": {
+ "name": "Gjermanie"
+ },
+ "GI": {
+ "name": "Gjibraltar"
+ },
+ "NC": {
+ "name": "Gnove Caledonie"
+ },
+ "NZ": {
+ "name": "Gnove Zelande"
+ },
+ "GR": {
+ "name": "Grecie"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Groenlande"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GF": {
+ "name": "Guiana francês"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GN": {
+ "name": "Guinee"
+ },
+ "GQ": {
+ "name": "Guinee ecuatoriâl"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesie"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlande"
+ },
+ "IS": {
+ "name": "Islande"
+ },
+ "NF": {
+ "name": "Isole Norfolk"
+ },
+ "IL": {
+ "name": "Israêl"
+ },
+ "CX": {
+ "name": "Isule Christmas"
+ },
+ "IM": {
+ "name": "Isule di Man"
+ },
+ "AX": {
+ "name": "Isulis Aland"
+ },
+ "IC": {
+ "name": "Isulis Canariis"
+ },
+ "KY": {
+ "name": "Isulis Cayman"
+ },
+ "CC": {
+ "name": "Isulis Cocos"
+ },
+ "CK": {
+ "name": "Isulis Cook"
+ },
+ "FK": {
+ "name": "Isulis Falkland"
+ },
+ "FO": {
+ "name": "Isulis Faroe"
+ },
+ "MP": {
+ "name": "Isulis Mariana dal Nord"
+ },
+ "MH": {
+ "name": "Isulis Marshall"
+ },
+ "UM": {
+ "name": "Isulis periferichis minôrs dai Stâts Unîts"
+ },
+ "SB": {
+ "name": "Isulis Salomon"
+ },
+ "TC": {
+ "name": "Isulis Turks e Caicos"
+ },
+ "VI": {
+ "name": "Isulis vergjinis americanis"
+ },
+ "VG": {
+ "name": "Isulis vergjinis britanichis"
+ },
+ "IT": {
+ "name": "Italie"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanie"
+ },
+ "KZ": {
+ "name": "Kazachistan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizstan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonie"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberie"
+ },
+ "LY": {
+ "name": "Libie"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituanie"
+ },
+ "LU": {
+ "name": "Lussemburc"
+ },
+ "MK": {
+ "name": "Macedonie"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivis"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martiniche"
+ },
+ "MR": {
+ "name": "Mauritanie"
+ },
+ "MU": {
+ "name": "Maurizi"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Messic"
+ },
+ "FM": {
+ "name": "Micronesie"
+ },
+ "MD": {
+ "name": "Moldavie"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolie"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambic"
+ },
+ "NA": {
+ "name": "Namibie"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerie"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegje"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "HU": {
+ "name": "Ongjarie"
+ },
+ "NL": {
+ "name": "Paîs bas"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamà"
+ },
+ "PG": {
+ "name": "Papue Gnove Guinee"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perù"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinesie francês"
+ },
+ "PL": {
+ "name": "Polonie"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "GB": {
+ "name": "Ream unît"
+ },
+ "HK": {
+ "name": "Regjon aministrative speciâl de Cine di Hong Kong"
+ },
+ "MO": {
+ "name": "Regjon aministrative speciâl de Cine di Macao"
+ },
+ "CZ": {
+ "name": "Republiche ceche"
+ },
+ "CF": {
+ "name": "Republiche centri africane"
+ },
+ "CD": {
+ "name": "Republiche Democratiche dal Congo"
+ },
+ "DO": {
+ "name": "Republiche dominicane"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RO": {
+ "name": "Romanie"
+ },
+ "RW": {
+ "name": "Ruande"
+ },
+ "RU": {
+ "name": "Russie"
+ },
+ "EH": {
+ "name": "Sahara ocidentâl"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa merecanis"
+ },
+ "KN": {
+ "name": "San Kitts e Nevis"
+ },
+ "SM": {
+ "name": "San Marin"
+ },
+ "PM": {
+ "name": "San Pierre e Miquelon"
+ },
+ "VC": {
+ "name": "San Vincent e lis Grenadinis"
+ },
+ "BL": {
+ "name": "Sant Barthélemy"
+ },
+ "MF": {
+ "name": "Sant Martin"
+ },
+ "SH": {
+ "name": "Sante Eline"
+ },
+ "LC": {
+ "name": "Sante Lusie"
+ },
+ "ST": {
+ "name": "Sao Tomè e Principe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Sirie"
+ },
+ "SK": {
+ "name": "Slovachie"
+ },
+ "SI": {
+ "name": "Slovenie"
+ },
+ "SO": {
+ "name": "Somalie"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spagne"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stâts Unîts"
+ },
+ "ZA": {
+ "name": "Sud Afriche"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "SE": {
+ "name": "Svezie"
+ },
+ "CH": {
+ "name": "Svuizare"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TH": {
+ "name": "Tailandie"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzanie"
+ },
+ "TJ": {
+ "name": "Tazikistan"
+ },
+ "IO": {
+ "name": "Teritori britanic dal Ocean Indian"
+ },
+ "TF": {
+ "name": "Teritoris meridionâi francês"
+ },
+ "PS": {
+ "name": "Teritoris palestinês"
+ },
+ "TL": {
+ "name": "Timor orientâl"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisie"
+ },
+ "TR": {
+ "name": "Turchie"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucraine"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbechistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/fy.json b/library/intl/resources/country/fy.json
new file mode 100644
index 000000000..ae3b71d81
--- /dev/null
+++ b/library/intl/resources/country/fy.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ålân"
+ },
+ "AL": {
+ "name": "Albanië"
+ },
+ "DZ": {
+ "name": "Algerije"
+ },
+ "AS": {
+ "name": "Amerikaansk Samoa"
+ },
+ "VI": {
+ "name": "Amerikaanske Maagdeneilannen"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua en Barbuda"
+ },
+ "AR": {
+ "name": "Argentinië"
+ },
+ "AM": {
+ "name": "Armenië"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Australië"
+ },
+ "AZ": {
+ "name": "Azerbeidzjan"
+ },
+ "BS": {
+ "name": "Bahama’s"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "België"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnië en Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilië"
+ },
+ "IO": {
+ "name": "Britse Gebieden yn de Indyske Oseaan"
+ },
+ "VG": {
+ "name": "Britse Maagdeneilannen"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarije"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodja"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "KY": {
+ "name": "Caymaneilannen"
+ },
+ "EA": {
+ "name": "Ceuta en Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "KM": {
+ "name": "Comoren"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "CK": {
+ "name": "Cookeilannen"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denemarken"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikaanske Republyk"
+ },
+ "DE": {
+ "name": "Dútslân"
+ },
+ "TL": {
+ "name": "East-Timor"
+ },
+ "AT": {
+ "name": "Eastenryk"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatoriaal-Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estlân"
+ },
+ "ET": {
+ "name": "Ethiopië"
+ },
+ "FO": {
+ "name": "Faeröer"
+ },
+ "FK": {
+ "name": "Falklâneilannen"
+ },
+ "US": {
+ "name": "Ferienigde Staten"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipijnen"
+ },
+ "FI": {
+ "name": "Finlân"
+ },
+ "FR": {
+ "name": "Frankrijk"
+ },
+ "GF": {
+ "name": "Frans-Guyana"
+ },
+ "PF": {
+ "name": "Frans-Polynesië"
+ },
+ "TF": {
+ "name": "Franse Gebieden in de zuidelijke Indyske Oseaan"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgië"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grienlân"
+ },
+ "GR": {
+ "name": "Grikelân"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinee"
+ },
+ "GW": {
+ "name": "Guinee-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongarije"
+ },
+ "HK": {
+ "name": "Hongkong SAR van Sina"
+ },
+ "IE": {
+ "name": "Ierlân"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italië"
+ },
+ "CI": {
+ "name": "Ivoorkust"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanië"
+ },
+ "CV": {
+ "name": "Kaapverdië"
+ },
+ "CM": {
+ "name": "Kameroen"
+ },
+ "IC": {
+ "name": "Kanaryske Eilânnen"
+ },
+ "BQ": {
+ "name": "Karibysk Nederlân"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgizië"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KW": {
+ "name": "Koeweit"
+ },
+ "CC": {
+ "name": "Kokosilanen"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatië"
+ },
+ "CX": {
+ "name": "Krysteilan"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letlân"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libië"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litouwen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "UM": {
+ "name": "Lyts ôflizzen eilannen fan de Ferienigde Staten"
+ },
+ "MO": {
+ "name": "Macao SAR van Sina"
+ },
+ "MK": {
+ "name": "Macedonië"
+ },
+ "MG": {
+ "name": "Madeiaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiven"
+ },
+ "MY": {
+ "name": "Maleisië"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalleilannen"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritanië"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesië"
+ },
+ "MD": {
+ "name": "Moldavië"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolië"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birma)"
+ },
+ "NA": {
+ "name": "Namibië"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederlân"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NC": {
+ "name": "Nij-Caledonië"
+ },
+ "NZ": {
+ "name": "Nij-Seelân"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Noard-Korea"
+ },
+ "MP": {
+ "name": "Noardlike Marianeneilannen"
+ },
+ "NO": {
+ "name": "Noarwegen"
+ },
+ "NF": {
+ "name": "Norfolkeilân"
+ },
+ "UG": {
+ "name": "Oeganda"
+ },
+ "UA": {
+ "name": "Oekraïne"
+ },
+ "UZ": {
+ "name": "Oezbekistan"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestynske gebieten"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papoea-Nij-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairneilannen"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Roemenië"
+ },
+ "RU": {
+ "name": "Ruslân"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Kitts en Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "VC": {
+ "name": "Saint Vincent en de Grenadines"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre en Miquelon"
+ },
+ "SB": {
+ "name": "Salomonseilannen"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé en Principe"
+ },
+ "SA": {
+ "name": "Saoedi-Arabië"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Servië"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "CN": {
+ "name": "Sina"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SH": {
+ "name": "Sint-Helena"
+ },
+ "SX": {
+ "name": "Sint-Maarten"
+ },
+ "CF": {
+ "name": "Sintraal-Afrikaanske Republyk"
+ },
+ "SI": {
+ "name": "Slovenië"
+ },
+ "SK": {
+ "name": "Slowakije"
+ },
+ "SD": {
+ "name": "Soedan"
+ },
+ "SO": {
+ "name": "Somalië"
+ },
+ "ES": {
+ "name": "Spanje"
+ },
+ "SJ": {
+ "name": "Spitsbergen en Jan Mayen"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "ZA": {
+ "name": "Sûd-Afrika"
+ },
+ "GS": {
+ "name": "Sûd-Georgia en Sûdlike Sandwicheilannen"
+ },
+ "KR": {
+ "name": "Sûd-Korea"
+ },
+ "SS": {
+ "name": "Sûd-Soedan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Swazilân"
+ },
+ "CH": {
+ "name": "Switserlân"
+ },
+ "CY": {
+ "name": "Syprus"
+ },
+ "SY": {
+ "name": "Syrië"
+ },
+ "TJ": {
+ "name": "Tadzjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailân"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad en Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsjaad"
+ },
+ "CZ": {
+ "name": "Tsjechje"
+ },
+ "TN": {
+ "name": "Tunesië"
+ },
+ "TR": {
+ "name": "Turkije"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- en Caicoseilannen"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vaticaanstêd"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "GB": {
+ "name": "Verenigd Koninkrijk"
+ },
+ "AE": {
+ "name": "Verenigde Arabyske Emiraten"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis en Futuna"
+ },
+ "EH": {
+ "name": "Westelijke Sahara"
+ },
+ "BY": {
+ "name": "Wit-Ruslân"
+ },
+ "ID": {
+ "name": "Yndonesië"
+ },
+ "IS": {
+ "name": "Yslân"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "SE": {
+ "name": "Zweden"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ga.json b/library/intl/resources/country/ga.json
new file mode 100644
index 000000000..c43deae91
--- /dev/null
+++ b/library/intl/resources/country/ga.json
@@ -0,0 +1,761 @@
+{
+ "ET": {
+ "name": "An Aetóip"
+ },
+ "AF": {
+ "name": "An Afganastáin"
+ },
+ "ZA": {
+ "name": "An Afraic Theas"
+ },
+ "DZ": {
+ "name": "An Ailgéir"
+ },
+ "AR": {
+ "name": "An Airgintín"
+ },
+ "AM": {
+ "name": "An Airméin"
+ },
+ "AL": {
+ "name": "An Albáin"
+ },
+ "AQ": {
+ "name": "An Antartaice"
+ },
+ "SA": {
+ "name": "An Araib Shádach"
+ },
+ "AZ": {
+ "name": "An Asarbaiseáin"
+ },
+ "AU": {
+ "name": "An Astráil"
+ },
+ "BD": {
+ "name": "An Bhanglaidéis"
+ },
+ "BY": {
+ "name": "An Bhealarúis"
+ },
+ "BE": {
+ "name": "An Bheilg"
+ },
+ "BZ": {
+ "name": "An Bheilís"
+ },
+ "BA": {
+ "name": "An Bhoisnia agus An Heirseagaivéin"
+ },
+ "BO": {
+ "name": "An Bholaiv"
+ },
+ "BW": {
+ "name": "An Bhotsuáin"
+ },
+ "BR": {
+ "name": "An Bhrasaíl"
+ },
+ "BG": {
+ "name": "An Bhulgáir"
+ },
+ "BI": {
+ "name": "An Bhurúin"
+ },
+ "BT": {
+ "name": "An Bhútáin"
+ },
+ "KH": {
+ "name": "An Chambóid"
+ },
+ "KZ": {
+ "name": "An Chasacstáin"
+ },
+ "KE": {
+ "name": "An Chéinia"
+ },
+ "CY": {
+ "name": "An Chipir"
+ },
+ "KG": {
+ "name": "An Chirgeastáin"
+ },
+ "KR": {
+ "name": "An Chóiré Theas"
+ },
+ "KP": {
+ "name": "An Chóiré Thuaidh"
+ },
+ "CO": {
+ "name": "An Cholóim"
+ },
+ "XK": {
+ "name": "An Chosaiv"
+ },
+ "HR": {
+ "name": "An Chróit"
+ },
+ "CG": {
+ "name": "An Congó"
+ },
+ "CI": {
+ "name": "An Cósta Eabhair"
+ },
+ "DK": {
+ "name": "An Danmhairg"
+ },
+ "EE": {
+ "name": "An Eastóin"
+ },
+ "EG": {
+ "name": "An Éigipt"
+ },
+ "CH": {
+ "name": "An Eilvéis"
+ },
+ "ER": {
+ "name": "An Eiritré"
+ },
+ "FI": {
+ "name": "An Fhionlainn"
+ },
+ "FR": {
+ "name": "An Fhrainc"
+ },
+ "GA": {
+ "name": "An Ghabúin"
+ },
+ "GM": {
+ "name": "An Ghaimbia"
+ },
+ "DE": {
+ "name": "An Ghearmáin"
+ },
+ "GL": {
+ "name": "An Ghraonlainn"
+ },
+ "GR": {
+ "name": "An Ghréig"
+ },
+ "GY": {
+ "name": "An Ghuáin"
+ },
+ "GN": {
+ "name": "An Ghuine"
+ },
+ "GQ": {
+ "name": "An Ghuine Mheánchriosach"
+ },
+ "IQ": {
+ "name": "An Iaráic"
+ },
+ "IR": {
+ "name": "An Iaráin"
+ },
+ "IN": {
+ "name": "An India"
+ },
+ "ID": {
+ "name": "An Indinéis"
+ },
+ "IT": {
+ "name": "An Iodáil"
+ },
+ "JO": {
+ "name": "An Iordáin"
+ },
+ "NO": {
+ "name": "An Iorua"
+ },
+ "IS": {
+ "name": "An Ãoslainn"
+ },
+ "NL": {
+ "name": "An Ãsiltír"
+ },
+ "BQ": {
+ "name": "An Ãsiltír Chairibeach"
+ },
+ "LV": {
+ "name": "An Laitvia"
+ },
+ "LR": {
+ "name": "An Libéir"
+ },
+ "LY": {
+ "name": "An Libia"
+ },
+ "LB": {
+ "name": "An Liobáin"
+ },
+ "LT": {
+ "name": "An Liotuáin"
+ },
+ "MK": {
+ "name": "An Mhacadóin"
+ },
+ "MY": {
+ "name": "An Mhalaeisia"
+ },
+ "MW": {
+ "name": "An Mhaláiv"
+ },
+ "MR": {
+ "name": "An Mháratáin"
+ },
+ "FM": {
+ "name": "An Mhicrinéis"
+ },
+ "MD": {
+ "name": "An Mholdóiv"
+ },
+ "MN": {
+ "name": "An Mhongóil"
+ },
+ "NA": {
+ "name": "An Namaib"
+ },
+ "NG": {
+ "name": "An Nigéir"
+ },
+ "NE": {
+ "name": "An Nígir"
+ },
+ "NC": {
+ "name": "An Nua-Chaladóin"
+ },
+ "NZ": {
+ "name": "An Nua-Shéalainn"
+ },
+ "AT": {
+ "name": "An Ostair"
+ },
+ "PK": {
+ "name": "An Phacastáin"
+ },
+ "DO": {
+ "name": "An Phoblacht Dhoiminiceach"
+ },
+ "PL": {
+ "name": "An Pholainn"
+ },
+ "PT": {
+ "name": "An Phortaingéil"
+ },
+ "GB": {
+ "name": "An Ríocht Aontaithe"
+ },
+ "RO": {
+ "name": "An Rómáin"
+ },
+ "RU": {
+ "name": "An Rúis"
+ },
+ "EH": {
+ "name": "An Sahára Thiar"
+ },
+ "ES": {
+ "name": "An Spáinn"
+ },
+ "TJ": {
+ "name": "An Táidsíceastáin"
+ },
+ "TZ": {
+ "name": "An Tansáin"
+ },
+ "TH": {
+ "name": "An Téalainn"
+ },
+ "TW": {
+ "name": "An Téaváin"
+ },
+ "ZM": {
+ "name": "An tSaimbia"
+ },
+ "SV": {
+ "name": "An tSalvadóir"
+ },
+ "JP": {
+ "name": "An tSeapáin"
+ },
+ "SN": {
+ "name": "An tSeineagáil"
+ },
+ "RS": {
+ "name": "An tSeirbia"
+ },
+ "GE": {
+ "name": "An tSeoirsia"
+ },
+ "GS": {
+ "name": "An tSeoirsia Theas agus Oileáin Sandwich Theas"
+ },
+ "CL": {
+ "name": "An tSile"
+ },
+ "CN": {
+ "name": "An tSín"
+ },
+ "ZW": {
+ "name": "An tSiombáib"
+ },
+ "SY": {
+ "name": "An tSiria"
+ },
+ "SI": {
+ "name": "An tSlóivéin"
+ },
+ "SK": {
+ "name": "An tSlóvaic"
+ },
+ "SO": {
+ "name": "An tSomáil"
+ },
+ "SE": {
+ "name": "An tSualainn"
+ },
+ "SZ": {
+ "name": "An tSuasalainn"
+ },
+ "SD": {
+ "name": "An tSúdáin"
+ },
+ "SS": {
+ "name": "An tSúdáin Theas"
+ },
+ "TN": {
+ "name": "An Túinéis"
+ },
+ "TR": {
+ "name": "An Tuirc"
+ },
+ "TM": {
+ "name": "An Tuircméanastáin"
+ },
+ "UA": {
+ "name": "An Úcráin"
+ },
+ "UZ": {
+ "name": "An Úisbéiceastáin"
+ },
+ "HU": {
+ "name": "An Ungáir"
+ },
+ "VA": {
+ "name": "An Vatacáin"
+ },
+ "AD": {
+ "name": "Andóra"
+ },
+ "AI": {
+ "name": "Angaíle"
+ },
+ "AO": {
+ "name": "Angóla"
+ },
+ "AG": {
+ "name": "Antigua agus Barbúda"
+ },
+ "AE": {
+ "name": "Aontas na nÉimíríochtaí Arabacha"
+ },
+ "AW": {
+ "name": "Arúba"
+ },
+ "BH": {
+ "name": "Bairéin"
+ },
+ "BB": {
+ "name": "Barbadós"
+ },
+ "BJ": {
+ "name": "Beinin"
+ },
+ "BM": {
+ "name": "Beirmiúda"
+ },
+ "BN": {
+ "name": "Brúiné"
+ },
+ "BF": {
+ "name": "Buircíne Fasó"
+ },
+ "CM": {
+ "name": "Camarún"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "CA": {
+ "name": "Ceanada"
+ },
+ "EA": {
+ "name": "Ceuta agus Melilla"
+ },
+ "KI": {
+ "name": "Cireabaití"
+ },
+ "CR": {
+ "name": "Cósta Ríce"
+ },
+ "IO": {
+ "name": "Críoch Aigéan Indiach na Breataine"
+ },
+ "TF": {
+ "name": "Críocha Francacha Dheisceart an Domhain"
+ },
+ "KW": {
+ "name": "Cuáit"
+ },
+ "CU": {
+ "name": "Cúba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Doiminice"
+ },
+ "EC": {
+ "name": "Eacuadór"
+ },
+ "YE": {
+ "name": "Éimin"
+ },
+ "IE": {
+ "name": "Éire"
+ },
+ "FJ": {
+ "name": "Fidsí"
+ },
+ "GH": {
+ "name": "Gána"
+ },
+ "GG": {
+ "name": "Geansaí"
+ },
+ "JE": {
+ "name": "Geirsí"
+ },
+ "GI": {
+ "name": "Giobráltar"
+ },
+ "GD": {
+ "name": "Greanáda"
+ },
+ "GP": {
+ "name": "Guadalúip"
+ },
+ "GF": {
+ "name": "Guáin na Fraince"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatamala"
+ },
+ "GW": {
+ "name": "Guine Bissau"
+ },
+ "HT": {
+ "name": "Háítí"
+ },
+ "HN": {
+ "name": "Hondúras"
+ },
+ "JM": {
+ "name": "Iamáice"
+ },
+ "IL": {
+ "name": "Iosrael"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Leosóta"
+ },
+ "LI": {
+ "name": "Lichtinstéin"
+ },
+ "LU": {
+ "name": "Lucsamburg"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MM": {
+ "name": "Maenmar (Burma)"
+ },
+ "ML": {
+ "name": "Mailí"
+ },
+ "MT": {
+ "name": "Málta"
+ },
+ "MA": {
+ "name": "Maracó"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meicsiceo"
+ },
+ "MC": {
+ "name": "Monacó"
+ },
+ "ME": {
+ "name": "Montainéagró"
+ },
+ "MS": {
+ "name": "Montsarat"
+ },
+ "MZ": {
+ "name": "Mósaimbíc"
+ },
+ "BS": {
+ "name": "Na Bahámaí"
+ },
+ "PS": {
+ "name": "Na Críocha Palaistíneacha"
+ },
+ "IC": {
+ "name": "Na hOileáin Chanáracha"
+ },
+ "PH": {
+ "name": "Na hOileáin Fhilipíneacha"
+ },
+ "MP": {
+ "name": "Na hOileáin Mháirianacha Thuaidh"
+ },
+ "SC": {
+ "name": "Na Séiséil"
+ },
+ "NR": {
+ "name": "Nárú"
+ },
+ "NP": {
+ "name": "Neipeal"
+ },
+ "NI": {
+ "name": "Nicearagua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "PG": {
+ "name": "Nua-Ghuine Phapua"
+ },
+ "AX": {
+ "name": "Oileáin Åland"
+ },
+ "VG": {
+ "name": "Oileáin Bhriotanacha na Maighdean"
+ },
+ "KY": {
+ "name": "Oileáin Cayman"
+ },
+ "KM": {
+ "name": "Oileáin Chomóra"
+ },
+ "CC": {
+ "name": "Oileáin Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Oileáin Cook"
+ },
+ "FK": {
+ "name": "Oileáin Fháclainne"
+ },
+ "FO": {
+ "name": "Oileáin Fharó"
+ },
+ "UM": {
+ "name": "Oileáin Imeallacha S.A.M."
+ },
+ "MH": {
+ "name": "Oileáin Marshall"
+ },
+ "MV": {
+ "name": "Oileáin Mhaildíve"
+ },
+ "VI": {
+ "name": "Oileáin Mheiriceánacha na Maighdean"
+ },
+ "TC": {
+ "name": "Oileáin na dTurcach agus Caicos"
+ },
+ "PN": {
+ "name": "Oileáin Pitcairn"
+ },
+ "SB": {
+ "name": "Oileáin Sholomón"
+ },
+ "IM": {
+ "name": "Oileán Mhanann"
+ },
+ "MU": {
+ "name": "Oileán Mhuirís"
+ },
+ "AC": {
+ "name": "Oileán na Deascabhála"
+ },
+ "CX": {
+ "name": "Oileán na Nollag"
+ },
+ "TT": {
+ "name": "Oileán na Tríonóide agus Tobága"
+ },
+ "NF": {
+ "name": "Oileán Norfolk"
+ },
+ "OM": {
+ "name": "Óman"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PY": {
+ "name": "Paragua"
+ },
+ "PE": {
+ "name": "Peiriú"
+ },
+ "CD": {
+ "name": "Poblacht Dhaonlathach an Chongó"
+ },
+ "CF": {
+ "name": "Poblacht na hAfraice Láir"
+ },
+ "CZ": {
+ "name": "Poblacht na Seice"
+ },
+ "PF": {
+ "name": "Polainéis na Fraince"
+ },
+ "PR": {
+ "name": "Portó Ríce"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "CV": {
+ "name": "Rinn Verde"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "HK": {
+ "name": "S.R.R. na Síne Hong Cong"
+ },
+ "MO": {
+ "name": "S.R.R. na Síne Macao"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "WS": {
+ "name": "Samó"
+ },
+ "AS": {
+ "name": "Samó Meiriceánach"
+ },
+ "KN": {
+ "name": "San Críostóir-Nimheas"
+ },
+ "SH": {
+ "name": "San Héilin"
+ },
+ "SM": {
+ "name": "San Mairíne"
+ },
+ "VC": {
+ "name": "San Uinseann agus na Greanáidíní"
+ },
+ "ST": {
+ "name": "São Tomé agus Príncipe"
+ },
+ "TD": {
+ "name": "Sead"
+ },
+ "SL": {
+ "name": "Siarra Leon"
+ },
+ "SG": {
+ "name": "Singeapór"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "LK": {
+ "name": "Srí Lanca"
+ },
+ "US": {
+ "name": "Stáit Aontaithe Mheiriceá"
+ },
+ "SR": {
+ "name": "Suranam"
+ },
+ "SJ": {
+ "name": "Svalbard agus Jan Mayen"
+ },
+ "TL": {
+ "name": "Tíomór Thoir"
+ },
+ "TK": {
+ "name": "Tócalá"
+ },
+ "TG": {
+ "name": "Tóga"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Urugua"
+ },
+ "WF": {
+ "name": "Vailís agus Futúna"
+ },
+ "VU": {
+ "name": "Vanuatú"
+ },
+ "VE": {
+ "name": "Veiniséala"
+ },
+ "VN": {
+ "name": "Vítneam"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/gd.json b/library/intl/resources/country/gd.json
new file mode 100644
index 000000000..9c5898cea
--- /dev/null
+++ b/library/intl/resources/country/gd.json
@@ -0,0 +1,761 @@
+{
+ "BY": {
+ "name": "A’ Bhealaruis"
+ },
+ "BE": {
+ "name": "A’ Bheilg"
+ },
+ "BZ": {
+ "name": "A’ Bheilìs"
+ },
+ "VE": {
+ "name": "A’ Bheiniseala"
+ },
+ "BG": {
+ "name": "A’ Bhulgair"
+ },
+ "GE": {
+ "name": "A’ Chairtbheil"
+ },
+ "CG": {
+ "name": "A’ Chongo - Brazzaville"
+ },
+ "XK": {
+ "name": "A’ Chosobho"
+ },
+ "HR": {
+ "name": "A’ Chròthais"
+ },
+ "GM": {
+ "name": "A’ Ghaimbia"
+ },
+ "DE": {
+ "name": "A’ Ghearmailt"
+ },
+ "GL": {
+ "name": "A’ Ghraonlann"
+ },
+ "GR": {
+ "name": "A’ Ghreug"
+ },
+ "MK": {
+ "name": "A’ Mhasadon"
+ },
+ "MD": {
+ "name": "A’ Mholdobha"
+ },
+ "DO": {
+ "name": "A’ Phoblachd Dhoiminiceach"
+ },
+ "PL": {
+ "name": "A’ Phòlainn"
+ },
+ "PT": {
+ "name": "A’ Phortagail"
+ },
+ "AF": {
+ "name": "Afghanastàn"
+ },
+ "ZA": {
+ "name": "Afraga a Deas"
+ },
+ "DZ": {
+ "name": "Aildiria"
+ },
+ "AG": {
+ "name": "Aintìoga is Barbuda"
+ },
+ "AM": {
+ "name": "Airmeinia"
+ },
+ "AL": {
+ "name": "Albàinia"
+ },
+ "ME": {
+ "name": "Am Monadh Neagrach"
+ },
+ "AQ": {
+ "name": "An Antartaig"
+ },
+ "AR": {
+ "name": "An Argantain"
+ },
+ "CV": {
+ "name": "An Ceap Uaine"
+ },
+ "DK": {
+ "name": "An Danmhairg"
+ },
+ "IT": {
+ "name": "An Eadailt"
+ },
+ "YE": {
+ "name": "An Eaman"
+ },
+ "EE": {
+ "name": "An Eastoin"
+ },
+ "CH": {
+ "name": "An Eilbheis"
+ },
+ "EG": {
+ "name": "An Èiphit"
+ },
+ "FI": {
+ "name": "An Fhionnlann"
+ },
+ "FR": {
+ "name": "An Fhraing"
+ },
+ "ET": {
+ "name": "An Itiop"
+ },
+ "LV": {
+ "name": "An Laitbhe"
+ },
+ "LT": {
+ "name": "An Liotuain"
+ },
+ "NA": {
+ "name": "An Namaib"
+ },
+ "NO": {
+ "name": "An Nirribhidh"
+ },
+ "AT": {
+ "name": "An Ostair"
+ },
+ "GB": {
+ "name": "An Rìoghachd Aonaichte"
+ },
+ "RU": {
+ "name": "An Ruis"
+ },
+ "SV": {
+ "name": "An Salbhador"
+ },
+ "ES": {
+ "name": "An Spàinn"
+ },
+ "TD": {
+ "name": "An t-Seàd"
+ },
+ "JP": {
+ "name": "An t-Seapan"
+ },
+ "RS": {
+ "name": "An t-Sèirb"
+ },
+ "CL": {
+ "name": "An t-Sile"
+ },
+ "CN": {
+ "name": "An t-Sìn"
+ },
+ "ZW": {
+ "name": "An t-Sìombab"
+ },
+ "SK": {
+ "name": "An t-Slòbhac"
+ },
+ "SI": {
+ "name": "An t-Slòbhain"
+ },
+ "SE": {
+ "name": "An t-Suain"
+ },
+ "TZ": {
+ "name": "An Tansan"
+ },
+ "TR": {
+ "name": "An Tuirc"
+ },
+ "UA": {
+ "name": "An Ucràin"
+ },
+ "HU": {
+ "name": "An Ungair"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angòla"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "SA": {
+ "name": "Aràibia nan Sabhd"
+ },
+ "AW": {
+ "name": "Arùba"
+ },
+ "AZ": {
+ "name": "Asarbaideàn"
+ },
+ "AU": {
+ "name": "Astràilia"
+ },
+ "BH": {
+ "name": "Bachrain"
+ },
+ "BD": {
+ "name": "Bangladais"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BM": {
+ "name": "Bearmùda"
+ },
+ "BJ": {
+ "name": "Beinin"
+ },
+ "VN": {
+ "name": "Bhiet-Nam"
+ },
+ "BO": {
+ "name": "Boilibhia"
+ },
+ "BA": {
+ "name": "Bosna agus Hearsagobhana"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Braisil"
+ },
+ "BN": {
+ "name": "Brùnaigh"
+ },
+ "BF": {
+ "name": "Buirciona Faso"
+ },
+ "BI": {
+ "name": "Burundaidh"
+ },
+ "BT": {
+ "name": "Butàn"
+ },
+ "NC": {
+ "name": "Cailleann Nuadh"
+ },
+ "CM": {
+ "name": "Camarun"
+ },
+ "KH": {
+ "name": "Cambuidea"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "KZ": {
+ "name": "Casachstàn"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "VA": {
+ "name": "Cathair na Bhatacain"
+ },
+ "KE": {
+ "name": "Ceinia"
+ },
+ "EA": {
+ "name": "Ceuta agus Melilla"
+ },
+ "CY": {
+ "name": "Cìopras"
+ },
+ "KG": {
+ "name": "Cìorgastan"
+ },
+ "KI": {
+ "name": "Ciribeas"
+ },
+ "KR": {
+ "name": "Coirèa a Deas"
+ },
+ "KP": {
+ "name": "Coirèa a Tuath"
+ },
+ "CO": {
+ "name": "Coloimbia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CR": {
+ "name": "Costa Rìcea"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CU": {
+ "name": "Cùba"
+ },
+ "KW": {
+ "name": "Cuibhèit"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "JE": {
+ "name": "Deàrsaidh"
+ },
+ "JM": {
+ "name": "Diameuga"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "GI": {
+ "name": "Diobraltar"
+ },
+ "DJ": {
+ "name": "Diobùtaidh"
+ },
+ "DM": {
+ "name": "Doiminicea"
+ },
+ "MN": {
+ "name": "Dùthaich nam Mongol"
+ },
+ "SZ": {
+ "name": "Dùthaich nan Suasaidh"
+ },
+ "TH": {
+ "name": "Dùthaich nan Tàidh"
+ },
+ "EC": {
+ "name": "Eacuador"
+ },
+ "ER": {
+ "name": "Eartra"
+ },
+ "IM": {
+ "name": "Eilean Mhanainn"
+ },
+ "AC": {
+ "name": "Eilean na Deasgabhalach"
+ },
+ "CX": {
+ "name": "Eilean na Nollaig"
+ },
+ "SH": {
+ "name": "Eilean Naomh Eilidh"
+ },
+ "NF": {
+ "name": "Eilean Norfolk"
+ },
+ "PN": {
+ "name": "Eilean Peit a’ Chàirn"
+ },
+ "VI": {
+ "name": "Eileanan Aimeireagach na Maighdinn"
+ },
+ "VG": {
+ "name": "Eileanan Breatannach na Maighdinn"
+ },
+ "CK": {
+ "name": "Eileanan Cook"
+ },
+ "MH": {
+ "name": "Eileanan Mharshall"
+ },
+ "SB": {
+ "name": "Eileanan Sholaimh"
+ },
+ "IE": {
+ "name": "Èirinn"
+ },
+ "FJ": {
+ "name": "Fìdi"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GH": {
+ "name": "Gàna"
+ },
+ "GG": {
+ "name": "Geàrnsaidh"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GQ": {
+ "name": "Gini Mheadhan-Chriosach"
+ },
+ "PG": {
+ "name": "Gini Nuadh Phaputhach"
+ },
+ "GW": {
+ "name": "Gini-Bioso"
+ },
+ "GD": {
+ "name": "Greanàda"
+ },
+ "GP": {
+ "name": "Guadalup"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatamala"
+ },
+ "GY": {
+ "name": "Guidheàna"
+ },
+ "GF": {
+ "name": "Guidheàna na Frainge"
+ },
+ "HT": {
+ "name": "Haidhti"
+ },
+ "HN": {
+ "name": "Hondùras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR na Sìne"
+ },
+ "IS": {
+ "name": "Innis Tìle"
+ },
+ "IQ": {
+ "name": "Ioràc"
+ },
+ "IR": {
+ "name": "Ioràn"
+ },
+ "JO": {
+ "name": "Iòrdan"
+ },
+ "IL": {
+ "name": "Iosrael"
+ },
+ "LA": {
+ "name": "Làthos"
+ },
+ "LB": {
+ "name": "Leabanon"
+ },
+ "LS": {
+ "name": "Leasoto"
+ },
+ "LR": {
+ "name": "Libèir"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Lichtenstein"
+ },
+ "LU": {
+ "name": "Lugsamburg"
+ },
+ "MO": {
+ "name": "Macàthu SAR na Sìne"
+ },
+ "MG": {
+ "name": "Madagasgar"
+ },
+ "ML": {
+ "name": "Màili"
+ },
+ "MQ": {
+ "name": "Mairtinic"
+ },
+ "MW": {
+ "name": "Malabhaidh"
+ },
+ "MY": {
+ "name": "Malaidhsea"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meagsago"
+ },
+ "UM": {
+ "name": "Meanbh-Eileanan Iomallach nan Stàitean Aonaichte"
+ },
+ "MM": {
+ "name": "Miànmar (Burma)"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MS": {
+ "name": "Montsarat"
+ },
+ "MR": {
+ "name": "Moratàinea"
+ },
+ "MA": {
+ "name": "Moroco"
+ },
+ "MZ": {
+ "name": "Mòsaimbic"
+ },
+ "AX": {
+ "name": "Na h-Eileanan Ã…land"
+ },
+ "BS": {
+ "name": "Na h-Eileanan Bhathama"
+ },
+ "KY": {
+ "name": "Na h-Eileanan Caimean"
+ },
+ "IC": {
+ "name": "Na h-Eileanan Canàrach"
+ },
+ "CC": {
+ "name": "Na h-Eileanan Cocos (Keeling)"
+ },
+ "FK": {
+ "name": "Na h-Eileanan Fàclannach"
+ },
+ "FO": {
+ "name": "Na h-Eileanan Fàro"
+ },
+ "PH": {
+ "name": "Na h-Eileanan Filipineach"
+ },
+ "MP": {
+ "name": "Na h-Eileanan Mairianach a Tuath"
+ },
+ "MV": {
+ "name": "Na h-Eileanan Mhaladaibh"
+ },
+ "MU": {
+ "name": "Na h-Eileanan Mhoiriseas"
+ },
+ "SC": {
+ "name": "Na h-Eileanan Sheiseall"
+ },
+ "TC": {
+ "name": "Na h-Eileanan Turcach is Caiceo"
+ },
+ "ID": {
+ "name": "Na h-Innd Innse"
+ },
+ "IN": {
+ "name": "Na h-Innseachan"
+ },
+ "AE": {
+ "name": "Na h-Iomaratan Arabach Aonaichte"
+ },
+ "FM": {
+ "name": "Na Meanbh-Eileanan"
+ },
+ "PS": {
+ "name": "Na Ranntairean Palastaineach"
+ },
+ "US": {
+ "name": "Na Stàitean Aonaichte"
+ },
+ "NL": {
+ "name": "Na Tìrean Ìsle"
+ },
+ "BQ": {
+ "name": "Na Tìrean Ìsle Caraibeach"
+ },
+ "NR": {
+ "name": "Nabhru"
+ },
+ "VC": {
+ "name": "Naomh Bhionsant agus Eileanan Greanadach"
+ },
+ "KN": {
+ "name": "Naomh Crìstean is Nibheis"
+ },
+ "LC": {
+ "name": "Naomh Lùisea"
+ },
+ "MF": {
+ "name": "Naomh Màrtainn"
+ },
+ "NP": {
+ "name": "Neapàl"
+ },
+ "NE": {
+ "name": "Nìgeir"
+ },
+ "NG": {
+ "name": "Nigèiria"
+ },
+ "NI": {
+ "name": "Niocaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "OM": {
+ "name": "Omàn"
+ },
+ "PK": {
+ "name": "Pagastàn"
+ },
+ "PW": {
+ "name": "Palabh"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PY": {
+ "name": "Paraguaidh"
+ },
+ "PE": {
+ "name": "Pearù"
+ },
+ "CF": {
+ "name": "Poblachd Meadhan Afraga"
+ },
+ "CZ": {
+ "name": "Poblachd na Seice"
+ },
+ "PF": {
+ "name": "Poilinèis na Frainge"
+ },
+ "PR": {
+ "name": "Porto Rìceo"
+ },
+ "IO": {
+ "name": "Ranntair Breatannach Cuan nan Innseachan"
+ },
+ "TF": {
+ "name": "Ranntairean a Deas na Frainge"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romàinia"
+ },
+ "RW": {
+ "name": "Rubhanda"
+ },
+ "ZM": {
+ "name": "Sàimbia"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "PM": {
+ "name": "Saint Pierre agus Miquelon"
+ },
+ "WS": {
+ "name": "Samotha"
+ },
+ "AS": {
+ "name": "Samotha na h-Aimeireaga"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé agus Príncipe"
+ },
+ "EH": {
+ "name": "Sathara an Iar"
+ },
+ "NZ": {
+ "name": "Sealainn Nuadh"
+ },
+ "SN": {
+ "name": "Seanagal"
+ },
+ "GS": {
+ "name": "Seòrsea a Deas is na h-Eileanan Sandwich a Deas"
+ },
+ "SL": {
+ "name": "Siarra Leòmhann"
+ },
+ "SG": {
+ "name": "Singeapòr"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siridhea"
+ },
+ "SO": {
+ "name": "Somàilia"
+ },
+ "LK": {
+ "name": "Sri Lanca"
+ },
+ "SD": {
+ "name": "Sudàn"
+ },
+ "SS": {
+ "name": "Sudàn a Deas"
+ },
+ "SR": {
+ "name": "Suranam"
+ },
+ "SJ": {
+ "name": "Svalbard agus Jan Mayen"
+ },
+ "TW": {
+ "name": "Taidh-Bhàn"
+ },
+ "TJ": {
+ "name": "Taidigeastàn"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trianaid agus Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "Tubhalu"
+ },
+ "TN": {
+ "name": "Tuinisea"
+ },
+ "TM": {
+ "name": "Turcmanastàn"
+ },
+ "WF": {
+ "name": "Uallas agus Futuna"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguaidh"
+ },
+ "UZ": {
+ "name": "Usbagastàn"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/gl.json b/library/intl/resources/country/gl.json
new file mode 100644
index 000000000..f230e9d10
--- /dev/null
+++ b/library/intl/resources/country/gl.json
@@ -0,0 +1,761 @@
+{
+ "AZ": {
+ "name": "Acerbaixán"
+ },
+ "AF": {
+ "name": "Afganistán"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemaña"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antiga e Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudita"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "DZ": {
+ "name": "Arxelia"
+ },
+ "AR": {
+ "name": "Arxentina"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BZ": {
+ "name": "Belice"
+ },
+ "BE": {
+ "name": "Bélxica"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrusia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia e Hercegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Bután"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Camerún"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "BQ": {
+ "name": "Caribe neerlandés"
+ },
+ "EA": {
+ "name": "Ceuta e Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "ZW": {
+ "name": "Cimbabue"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo"
+ },
+ "KP": {
+ "name": "Corea do Norte"
+ },
+ "KR": {
+ "name": "Corea do Sur"
+ },
+ "CI": {
+ "name": "Costa de Marfil"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croacia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratos Ãrabes Unidos"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "SK": {
+ "name": "Eslovaquia"
+ },
+ "SI": {
+ "name": "Eslovenia"
+ },
+ "ES": {
+ "name": "España"
+ },
+ "US": {
+ "name": "Estados Unidos de América"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopía"
+ },
+ "EG": {
+ "name": "Exipto"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FJ": {
+ "name": "Fixi"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabón"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GL": {
+ "name": "Grenlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Güiana"
+ },
+ "GF": {
+ "name": "Güiana Francesa"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ecuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "HT": {
+ "name": "Haití"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong RAE de China"
+ },
+ "HU": {
+ "name": "Hungría"
+ },
+ "YE": {
+ "name": "Iemen"
+ },
+ "CX": {
+ "name": "Illa Christmas"
+ },
+ "AC": {
+ "name": "Illa de Ascensión"
+ },
+ "IM": {
+ "name": "Illa de Man"
+ },
+ "NF": {
+ "name": "Illa Norfolk"
+ },
+ "AX": {
+ "name": "Illas Aland"
+ },
+ "KY": {
+ "name": "Illas Caimán"
+ },
+ "IC": {
+ "name": "Illas Canarias"
+ },
+ "CC": {
+ "name": "Illas Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Illas Cook"
+ },
+ "FO": {
+ "name": "Illas Feroe"
+ },
+ "FK": {
+ "name": "Illas Malvinas"
+ },
+ "MP": {
+ "name": "Illas Marianas do norte"
+ },
+ "MH": {
+ "name": "Illas Marshall"
+ },
+ "UM": {
+ "name": "Illas Menores Distantes dos EUA."
+ },
+ "PN": {
+ "name": "Illas Pitcairn"
+ },
+ "SB": {
+ "name": "Illas Salomón"
+ },
+ "TC": {
+ "name": "Illas Turks e Caicos"
+ },
+ "VG": {
+ "name": "Illas Virxes Británicas"
+ },
+ "VI": {
+ "name": "Illas Virxes Estadounidenses"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau RAE de China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaisia"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Mauricio"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Níxer"
+ },
+ "NG": {
+ "name": "Nixeria"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledonia"
+ },
+ "NZ": {
+ "name": "Nova Celandia"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papúa Nova Guinea"
+ },
+ "PK": {
+ "name": "Paquistán"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PF": {
+ "name": "Polinesia Francesa"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "KE": {
+ "name": "Quenia"
+ },
+ "KG": {
+ "name": "Quirguicistán"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Africana Central"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "CD": {
+ "name": "República Democrática do Congo"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunión"
+ },
+ "RO": {
+ "name": "Romanía"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "EH": {
+ "name": "Sahara Occidental"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "BL": {
+ "name": "San Bartolomé"
+ },
+ "KN": {
+ "name": "San Cristovo e Nevis"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "MF": {
+ "name": "San Martiño"
+ },
+ "PM": {
+ "name": "San Pedro e Miguelón"
+ },
+ "ST": {
+ "name": "San Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "San Vicente e Granadinas"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lucía"
+ },
+ "SC": {
+ "name": "Seixeles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suacilandia"
+ },
+ "ZA": {
+ "name": "Sudáfrica"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SS": {
+ "name": "Sudán do sur"
+ },
+ "SE": {
+ "name": "Suecia"
+ },
+ "CH": {
+ "name": "Suíza"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwán"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TJ": {
+ "name": "Taxiquistán"
+ },
+ "IO": {
+ "name": "Territorio Británico do Océano Ãndico"
+ },
+ "TF": {
+ "name": "Territorios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territorios palestinos"
+ },
+ "TL": {
+ "name": "Timor Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristán da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistán"
+ },
+ "TR": {
+ "name": "Turquía"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucraína"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbekistán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "JM": {
+ "name": "Xamaica"
+ },
+ "JP": {
+ "name": "Xapón"
+ },
+ "GE": {
+ "name": "Xeorxia"
+ },
+ "GS": {
+ "name": "Xeorxia do Sur e Illas Sandwich"
+ },
+ "GI": {
+ "name": "Xibraltar"
+ },
+ "DJ": {
+ "name": "Xibuti"
+ },
+ "JO": {
+ "name": "Xordania"
+ },
+ "ZM": {
+ "name": "Zambia"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/gsw.json b/library/intl/resources/country/gsw.json
new file mode 100644
index 000000000..719beca7b
--- /dev/null
+++ b/library/intl/resources/country/gsw.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Aaland-Insle"
+ },
+ "AF": {
+ "name": "Afganischtan"
+ },
+ "EG": {
+ "name": "Ägüpte"
+ },
+ "AL": {
+ "name": "Albaanie"
+ },
+ "DZ": {
+ "name": "Algeerie"
+ },
+ "AS": {
+ "name": "Amerikaanisch-Samoa"
+ },
+ "VI": {
+ "name": "Amerikaanischi Jungfere-Insle"
+ },
+ "UM": {
+ "name": "Amerikanisch-Ozeaanie"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua und Barbuda"
+ },
+ "GQ": {
+ "name": "Äquatoriaalgineea"
+ },
+ "AR": {
+ "name": "Argentiinie"
+ },
+ "ER": {
+ "name": "Äritreea"
+ },
+ "AM": {
+ "name": "Armeenie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbäidschan"
+ },
+ "ET": {
+ "name": "Äthiopie"
+ },
+ "AU": {
+ "name": "Auschtraalie"
+ },
+ "BH": {
+ "name": "Bachräin"
+ },
+ "BS": {
+ "name": "Bahaamas"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgie"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Boliivie"
+ },
+ "BA": {
+ "name": "Bosnie und Herzegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilie"
+ },
+ "VG": {
+ "name": "Britischi Jungfere-Insle"
+ },
+ "IO": {
+ "name": "Britischs Territoorium im Indische Oozean"
+ },
+ "BN": {
+ "name": "Brunäi Tarussalam"
+ },
+ "BG": {
+ "name": "Bulgaarie"
+ },
+ "BF": {
+ "name": "Burkina Faaso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "IC": {
+ "name": "Canarische Eilanden"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta und Melilla"
+ },
+ "CN": {
+ "name": "Chiina"
+ },
+ "CK": {
+ "name": "Cook-Insle"
+ },
+ "CR": {
+ "name": "Coschta Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "KP": {
+ "name": "Demokraatischi Volksrepublik Koreea"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "JM": {
+ "name": "Dschamäika"
+ },
+ "JE": {
+ "name": "Dschörsi"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EE": {
+ "name": "Eestland"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfebäiküschte"
+ },
+ "FK": {
+ "name": "Falkland-Insle"
+ },
+ "FO": {
+ "name": "Färöer"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FJ": {
+ "name": "Fitschi"
+ },
+ "FR": {
+ "name": "Frankriich"
+ },
+ "GF": {
+ "name": "Französisch-Guäjaana"
+ },
+ "PF": {
+ "name": "Französisch-Polineesie"
+ },
+ "TF": {
+ "name": "Französischi Süüd- und Antarktisgebiet"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GG": {
+ "name": "Gäärnsi"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Geoorgie"
+ },
+ "QA": {
+ "name": "Ggatar"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gineea"
+ },
+ "GW": {
+ "name": "Gineea-Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griecheland"
+ },
+ "GL": {
+ "name": "Gröönland"
+ },
+ "GP": {
+ "name": "Guadälup"
+ },
+ "GY": {
+ "name": "Guäjaana"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemaala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holland"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IS": {
+ "name": "Iisland"
+ },
+ "IN": {
+ "name": "Indie"
+ },
+ "ID": {
+ "name": "Indoneesie"
+ },
+ "IM": {
+ "name": "Insle vo Män"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itaalie"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jeeme"
+ },
+ "JO": {
+ "name": "Jordaanie"
+ },
+ "KY": {
+ "name": "Käimän-Insle"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "Kasachschtan"
+ },
+ "KE": {
+ "name": "Keenia"
+ },
+ "KG": {
+ "name": "Kirgiisischtan"
+ },
+ "KI": {
+ "name": "Kiribaati"
+ },
+ "CC": {
+ "name": "Kokos-Insle"
+ },
+ "CO": {
+ "name": "Kolumbie"
+ },
+ "KM": {
+ "name": "Komoore"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroaazie"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwäit"
+ },
+ "LA": {
+ "name": "Laaos"
+ },
+ "LS": {
+ "name": "Lesooto"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LI": {
+ "name": "Liächteschtäi"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Libeeria"
+ },
+ "LT": {
+ "name": "Littaue"
+ },
+ "LY": {
+ "name": "Lüübie"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MG": {
+ "name": "Madagaschkar"
+ },
+ "YT": {
+ "name": "Majott"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MY": {
+ "name": "Maläisia"
+ },
+ "MV": {
+ "name": "Malediiwe"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallinsle"
+ },
+ "MQ": {
+ "name": "Martinigg"
+ },
+ "MR": {
+ "name": "Mauretaanie"
+ },
+ "MU": {
+ "name": "Mauriizius"
+ },
+ "MK": {
+ "name": "Mazedoonie"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikroneesie"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "ME": {
+ "name": "Monteneegro"
+ },
+ "MS": {
+ "name": "Moosörrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namiibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Neepal"
+ },
+ "NI": {
+ "name": "Nicaraagua"
+ },
+ "NG": {
+ "name": "Nigeeria"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NC": {
+ "name": "Nöikaledoonie"
+ },
+ "NZ": {
+ "name": "Nöiseeland"
+ },
+ "MP": {
+ "name": "Nördlichi Mariaane"
+ },
+ "NF": {
+ "name": "Norfolk-Insle"
+ },
+ "NO": {
+ "name": "Norweege"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "AT": {
+ "name": "Ööschtriich"
+ },
+ "TL": {
+ "name": "Oschttimor"
+ },
+ "PK": {
+ "name": "Pakischtan"
+ },
+ "PS": {
+ "name": "Paläschtinänsischi Gebiet"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neuguinea"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippiine"
+ },
+ "PN": {
+ "name": "Pitggäärn"
+ },
+ "PL": {
+ "name": "Poole"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Riggo"
+ },
+ "KR": {
+ "name": "Republik Koreea"
+ },
+ "MD": {
+ "name": "Republik Moldau"
+ },
+ "RE": {
+ "name": "Reünioon"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumäänie"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "SB": {
+ "name": "Salomoone"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samooa"
+ },
+ "SM": {
+ "name": "San Mariino"
+ },
+ "ST": {
+ "name": "Sao Tome und Prinssipe"
+ },
+ "RS": {
+ "name": "Särbie"
+ },
+ "SA": {
+ "name": "Saudi-Araabie"
+ },
+ "ES": {
+ "name": "Schpanie"
+ },
+ "LK": {
+ "name": "Schri Lanka"
+ },
+ "SE": {
+ "name": "Schweede"
+ },
+ "CH": {
+ "name": "Schwiiz"
+ },
+ "SC": {
+ "name": "Seischälle"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Sierra Leoone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapuur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakäi"
+ },
+ "SI": {
+ "name": "Sloweenie"
+ },
+ "SO": {
+ "name": "Somaalie"
+ },
+ "HK": {
+ "name": "Sonderverwaltigszone Hongkong"
+ },
+ "MO": {
+ "name": "Sonderverwaltigszone Macao"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthelemi"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts und Niuwis"
+ },
+ "LC": {
+ "name": "St. Lutschiia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierr und Miggelo"
+ },
+ "VC": {
+ "name": "St. Vincent und d’Grönadiine"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "ZA": {
+ "name": "Süüdafrika"
+ },
+ "GS": {
+ "name": "Süüdgeorgie und d’süüdlichi Sändwitsch-Insle"
+ },
+ "SY": {
+ "name": "Süürie"
+ },
+ "SJ": {
+ "name": "Svalbard und Jaan Määie"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "TJ": {
+ "name": "Tadschikischtan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "DK": {
+ "name": "Tänemark"
+ },
+ "TZ": {
+ "name": "Tansaniia"
+ },
+ "CD": {
+ "name": "Temokraatischi Republik Kongo"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "DM": {
+ "name": "Tominica"
+ },
+ "DO": {
+ "name": "Tominikaanischi Republik"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TG": {
+ "name": "Toogo"
+ },
+ "TC": {
+ "name": "Törks- und Gaiggos-Insle"
+ },
+ "TT": {
+ "name": "Trinidad und Tobaago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "CZ": {
+ "name": "Tschechischi Republik"
+ },
+ "DJ": {
+ "name": "Tschibuuti"
+ },
+ "CL": {
+ "name": "Tschile"
+ },
+ "TN": {
+ "name": "Tuneesie"
+ },
+ "TR": {
+ "name": "Türggei"
+ },
+ "TM": {
+ "name": "Turkmeenischtan"
+ },
+ "DE": {
+ "name": "Tüütschland"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraiine"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uschbeekischtan"
+ },
+ "VA": {
+ "name": "Vatikanstadt"
+ },
+ "VE": {
+ "name": "Venezueela"
+ },
+ "AE": {
+ "name": "Veräinigti Arabischi Emirate"
+ },
+ "US": {
+ "name": "Veräinigti Schtaate"
+ },
+ "GB": {
+ "name": "Veräinigts Chönigriich"
+ },
+ "WF": {
+ "name": "Wallis und Futuuna"
+ },
+ "VU": {
+ "name": "Wanuatu"
+ },
+ "EH": {
+ "name": "Weschtsahara"
+ },
+ "CX": {
+ "name": "Wienachts-Insle"
+ },
+ "VN": {
+ "name": "Wietnam"
+ },
+ "BY": {
+ "name": "Wiissrussland"
+ },
+ "CF": {
+ "name": "Zentraalafrikaanischi Republik"
+ },
+ "CY": {
+ "name": "Zypere"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/gu.json b/library/intl/resources/country/gu.json
new file mode 100644
index 000000000..00bbacc90
--- /dev/null
+++ b/library/intl/resources/country/gu.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "અંગોલા"
+ },
+ "AZ": {
+ "name": "અàªàª°àª¬à«ˆàªœàª¾àª¨"
+ },
+ "AF": {
+ "name": "અફઘાનિસà«àª¤àª¾àª¨"
+ },
+ "AS": {
+ "name": "અમેરીકન સમોઆ"
+ },
+ "AW": {
+ "name": "અરà«àª¬àª¾"
+ },
+ "DZ": {
+ "name": "અલà«àªœà«€àª°àª¿àª¯àª¾"
+ },
+ "AL": {
+ "name": "અલà«àª¬à«‡àª¨àª¿àª¯àª¾"
+ },
+ "IS": {
+ "name": "આઇસલેનà«àª¡"
+ },
+ "IM": {
+ "name": "આઈલ ઓફ મૅન"
+ },
+ "IE": {
+ "name": "આયરà«àª²à«‡àª‚ડ"
+ },
+ "AR": {
+ "name": "આરà«àªœà«‡àª¨à«àªŸà«€àª¨àª¾"
+ },
+ "AM": {
+ "name": "આરà«àª®à«‡àª¨àª¿àª¯àª¾"
+ },
+ "GQ": {
+ "name": "ઇકà«àªµà«‡àªŸà«‹àª°àª¿àª¯àª² ગિની"
+ },
+ "EG": {
+ "name": "ઇજિપà«àª¤"
+ },
+ "IL": {
+ "name": "ઇàªàª°àª¾àª‡àª²"
+ },
+ "IT": {
+ "name": "ઇટાલી"
+ },
+ "ET": {
+ "name": "ઇથિઓપિયા"
+ },
+ "ID": {
+ "name": "ઇનà«àª¡à«‹àª¨à«‡àª¶àª¿àª¯àª¾"
+ },
+ "IQ": {
+ "name": "ઇરાક"
+ },
+ "IR": {
+ "name": "ઈરાન"
+ },
+ "UZ": {
+ "name": "ઉàªà«àª¬à«‡àª•àª¿àª¸à«àª¤àª¾àª¨"
+ },
+ "KP": {
+ "name": "ઉતà«àª¤àª° કોરિયા"
+ },
+ "MP": {
+ "name": "ઉતà«àª¤àª°à«€àª¯ મારિયાના આઇલેનà«àª¡à«àª¸"
+ },
+ "UY": {
+ "name": "ઉરà«àª—à«àªµà«‡"
+ },
+ "AI": {
+ "name": "àªàª‚ગà«àªµàª¿àª²àª¾"
+ },
+ "AD": {
+ "name": "àªàª‚ડોરા"
+ },
+ "EC": {
+ "name": "àªàª•à«àªµàª¾àª¡à«‹àª°"
+ },
+ "AQ": {
+ "name": "àªàª¨à«àªŸàª¾àª°à«àª•àªŸàª¿àª•àª¾"
+ },
+ "AG": {
+ "name": "àªàª¨à«àªŸà«€àª—à«àª† અને બરબà«àª¡àª¾"
+ },
+ "ER": {
+ "name": "àªàª°àª¿àªŸà«àª°àª¿àª¯àª¾"
+ },
+ "SV": {
+ "name": "àªàª² સેલà«àªµàª¾àª¡à«‹àª°"
+ },
+ "AX": {
+ "name": "àªàª²à«‡àª‚ડ આઇલેનà«àª¡à«àª¸"
+ },
+ "AC": {
+ "name": "àªàª¸à«‡àª¨à«àª¶àª¨ આઇલેનà«àª¡"
+ },
+ "EE": {
+ "name": "àªàª¸à«àªŸà«‹àª¨àª¿àª¯àª¾"
+ },
+ "AT": {
+ "name": "ઑસà«àªŸà«àª°àª¿àª¯àª¾"
+ },
+ "AU": {
+ "name": "ઑસà«àªŸà«àª°à«‡àª²àª¿àª¯àª¾"
+ },
+ "OM": {
+ "name": "ઓમાન"
+ },
+ "KH": {
+ "name": "કંબોડિયા"
+ },
+ "KZ": {
+ "name": "કàªàª¾àª•àª¿àª¸à«àª¤àª¾àª¨"
+ },
+ "QA": {
+ "name": "કતાર"
+ },
+ "KI": {
+ "name": "કિરિબાટી"
+ },
+ "KG": {
+ "name": "કિરà«àª—િàªà«àª¸à«àª¤àª¾àª¨"
+ },
+ "CK": {
+ "name": "કà«àª• આઇલેનà«àª¡à«àª¸"
+ },
+ "CW": {
+ "name": "કà«àª°àª¾àª•àª¾àª“"
+ },
+ "KW": {
+ "name": "કà«àªµà«ˆàª¤"
+ },
+ "IC": {
+ "name": "કૅનેરી આઇલેનà«àª¡à«àª¸"
+ },
+ "CV": {
+ "name": "કૅપ વરà«àª¡à«‡"
+ },
+ "CM": {
+ "name": "કૅમરૂન"
+ },
+ "CA": {
+ "name": "કેનેડા"
+ },
+ "KE": {
+ "name": "કેનà«àª¯àª¾"
+ },
+ "KY": {
+ "name": "કેયમેન આઇલેનà«àª¡à«àª¸"
+ },
+ "BQ": {
+ "name": "કેરેબિયન નેધરલેનà«àª¡à«àª"
+ },
+ "CD": {
+ "name": "કોંગો - કિંશાસા"
+ },
+ "CG": {
+ "name": "કોંગો - બà«àª°àª¾àªàª¾àªµàª¿àª²à«‡"
+ },
+ "CC": {
+ "name": "કોકોઠ(કીલીંગ) આઇલેનà«àª¡à«àª¸"
+ },
+ "CI": {
+ "name": "કોટ ડી આઇવરી"
+ },
+ "KM": {
+ "name": "કોમોરસ"
+ },
+ "CO": {
+ "name": "કોલમà«àª¬àª¿àª¯àª¾"
+ },
+ "XK": {
+ "name": "કોસોવો"
+ },
+ "CR": {
+ "name": "કોસà«àªŸàª¾ રિકા"
+ },
+ "CU": {
+ "name": "કà«àª¯à«àª¬àª¾"
+ },
+ "CX": {
+ "name": "કà«àª°àª¿àª¸àª®àª¸ આઇલેનà«àª¡"
+ },
+ "HR": {
+ "name": "કà«àª°à«‹àªàª¶àª¿àª¯àª¾"
+ },
+ "GY": {
+ "name": "ગયાના"
+ },
+ "GN": {
+ "name": "ગિની"
+ },
+ "GW": {
+ "name": "ગિની-બિસાઉ"
+ },
+ "GA": {
+ "name": "ગેબન"
+ },
+ "GM": {
+ "name": "ગેમà«àª¬àª¿àª¯àª¾"
+ },
+ "GL": {
+ "name": "ગà«àª°à«€àª¨àª²à«‡àª¨à«àª¡"
+ },
+ "GR": {
+ "name": "ગà«àª°à«€àª¸"
+ },
+ "GD": {
+ "name": "ગà«àª°à«‡àª¨à«‡àª¡àª¾"
+ },
+ "GT": {
+ "name": "ગà«àªµàª¾àªŸà«‡àª®àª¾àª²àª¾"
+ },
+ "GP": {
+ "name": "ગà«àªµàª¾àª¡à«‡àª²à«‹àªª"
+ },
+ "GU": {
+ "name": "ગà«àªµàª¾àª®"
+ },
+ "GG": {
+ "name": "ગà«àªµà«‡àª°à«àª¨àª¸à«‡"
+ },
+ "GH": {
+ "name": "ઘાના"
+ },
+ "TD": {
+ "name": "ચાડ"
+ },
+ "CL": {
+ "name": "ચિલી"
+ },
+ "CN": {
+ "name": "ચીન"
+ },
+ "CZ": {
+ "name": "ચેક રીપબà«àª²àª¿àª•"
+ },
+ "JM": {
+ "name": "જમૈકા"
+ },
+ "DE": {
+ "name": "જરà«àª®àª¨à«€"
+ },
+ "JE": {
+ "name": "જરà«àª¸à«€"
+ },
+ "JP": {
+ "name": "જાપાન"
+ },
+ "DJ": {
+ "name": "જીબૌટી"
+ },
+ "GI": {
+ "name": "જીબà«àª°àª¾àª²à«àªŸàª°"
+ },
+ "JO": {
+ "name": "જોરà«àª¡àª¨"
+ },
+ "GE": {
+ "name": "જà«àª¯à«‹àª°à«àªœà«€àª¯àª¾"
+ },
+ "ZM": {
+ "name": "àªàª¾àª®à«àª¬àª¿àª¯àª¾"
+ },
+ "ZW": {
+ "name": "àªàª¿àª®à«àª¬àª¾àª¬à«àªµà«‡"
+ },
+ "TC": {
+ "name": "ટરà«àª•à«àª¸ àªàª¨à«àª¡ કૈકોસ આઇલેનà«àª¡à«àª¸"
+ },
+ "TO": {
+ "name": "ટોંગા"
+ },
+ "TK": {
+ "name": "ટોકેલાઉ"
+ },
+ "TG": {
+ "name": "ટોગો"
+ },
+ "TN": {
+ "name": "ટà«àª¯à«àª¨àª¿àª¶àª¿àª¯àª¾"
+ },
+ "DG": {
+ "name": "ડિàªàª—à«‹ ગારસિઆ"
+ },
+ "DK": {
+ "name": "ડેનમારà«àª•"
+ },
+ "DO": {
+ "name": "ડોમિનિકન રીપબà«àª²àª¿àª•"
+ },
+ "DM": {
+ "name": "ડોમિનિકા"
+ },
+ "TZ": {
+ "name": "તાંàªàª¾àª¨àª¿àª¯àª¾"
+ },
+ "TW": {
+ "name": "તાઇવાન"
+ },
+ "TJ": {
+ "name": "તાજીકિસà«àª¤àª¾àª¨"
+ },
+ "TL": {
+ "name": "તિમોર-લેસà«àª¤à«‡"
+ },
+ "TM": {
+ "name": "તà«àª°à«àª•àª®à«‡àª¨àª¿àª¸à«àª¤àª¾àª¨"
+ },
+ "TR": {
+ "name": "તà«àª°à«àª•à«€"
+ },
+ "TV": {
+ "name": "તà«àªµàª¾àª²à«"
+ },
+ "TT": {
+ "name": "તà«àª°àª¿àª¨àª¿àª¦àª¾àª¦ અને ટોબેગો"
+ },
+ "TA": {
+ "name": "તà«àª°àª¿àª¸à«àª¤àª¾àª¨ દા કà«àª¨à«àª¹àª¾"
+ },
+ "TH": {
+ "name": "થાઇલેંડ"
+ },
+ "ZA": {
+ "name": "દકà«àª·àª¿àª£ આફà«àª°àª¿àª•àª¾"
+ },
+ "KR": {
+ "name": "દકà«àª·àª¿àª£ કોરિયા"
+ },
+ "GS": {
+ "name": "દકà«àª·àª¿àª£ જà«àª¯à«‹àª°à«àªœà«€àª¯àª¾ અને દકà«àª·àª¿àª£ સેનà«àª¡àªµàª¿àªš આઇલેનà«àª¡à«àª¸"
+ },
+ "SS": {
+ "name": "દકà«àª·àª¿àª£ સà«àª¦àª¾àª¨"
+ },
+ "NE": {
+ "name": "નાઇજર"
+ },
+ "NG": {
+ "name": "નાઇજીરીયા"
+ },
+ "NA": {
+ "name": "નામિબિયા"
+ },
+ "NI": {
+ "name": "નિકારાગà«àª†"
+ },
+ "NU": {
+ "name": "નીયà«"
+ },
+ "NL": {
+ "name": "નેધરલેનà«àª¡"
+ },
+ "NP": {
+ "name": "નેપાળ"
+ },
+ "NO": {
+ "name": "નૉરà«àªµà«‡"
+ },
+ "NF": {
+ "name": "નોરફૉક આઇલેનà«àª¡"
+ },
+ "NR": {
+ "name": "નૌરà«"
+ },
+ "NC": {
+ "name": "નà«àª¯à« સેલેડોનિયા"
+ },
+ "NZ": {
+ "name": "નà«àª¯à«àªà«€àª²à«‡àª¨à«àª¡"
+ },
+ "PA": {
+ "name": "પનામા"
+ },
+ "PW": {
+ "name": "પલાઉ"
+ },
+ "EH": {
+ "name": "પશà«àªšàª¿àª®à«€ સહારા"
+ },
+ "PK": {
+ "name": "પાકિસà«àª¤àª¾àª¨"
+ },
+ "PG": {
+ "name": "પાપà«àª† નà«àª¯à«‚ ગિની"
+ },
+ "PN": {
+ "name": "પીટકૈરà«àª¨ આઇલેનà«àª¡à«àª¸"
+ },
+ "PY": {
+ "name": "પેરાગà«àªµà«‡"
+ },
+ "PE": {
+ "name": "પેરà«"
+ },
+ "PS": {
+ "name": "પેલેસà«àªŸàª¿àª¨àª¿àª¯àª¨ ટેરિટરી"
+ },
+ "PT": {
+ "name": "પોરà«àªŸà«àª—લ"
+ },
+ "PL": {
+ "name": "પોલેંડ"
+ },
+ "PR": {
+ "name": "પà«àª¯à«àª…રà«àªŸà«‹ રિકો"
+ },
+ "FI": {
+ "name": "ફિનલેનà«àª¡"
+ },
+ "PH": {
+ "name": "ફિલીપાઇનà«àª¸"
+ },
+ "FJ": {
+ "name": "ફીજી"
+ },
+ "FO": {
+ "name": "ફૅરો આઇલેનà«àª¡à«àª¸"
+ },
+ "FK": {
+ "name": "ફૉકલેનà«àª¡ આઇલેનà«àª¡à«àª¸"
+ },
+ "FR": {
+ "name": "ફà«àª°àª¾àª‚સ"
+ },
+ "GF": {
+ "name": "ફà«àª°à«‡àª‚ચ ગયાના"
+ },
+ "PF": {
+ "name": "ફà«àª°à«‡àª‚ચ પોલિનેશિયા"
+ },
+ "TF": {
+ "name": "ફà«àª°à«‡àª‚ચ સદરà«àª¨ ટેરિટરીàª"
+ },
+ "BM": {
+ "name": "બરà«àª®à«àª¡àª¾"
+ },
+ "BG": {
+ "name": "બલà«àª—ેરિયા"
+ },
+ "BS": {
+ "name": "બહામાસ"
+ },
+ "BD": {
+ "name": "બાંગà«àª²àª¾àª¦à«‡àª¶"
+ },
+ "BB": {
+ "name": "બારà«àª¬àª¾àª¡à«‹àª¸"
+ },
+ "BI": {
+ "name": "બà«àª°à«àª‚ડી"
+ },
+ "BF": {
+ "name": "બà«àª°à«àª•àª¿àª¨àª¾ ફાસો"
+ },
+ "BJ": {
+ "name": "બેનિન"
+ },
+ "BY": {
+ "name": "બેલારà«àª¸"
+ },
+ "BZ": {
+ "name": "બેલીàª"
+ },
+ "BE": {
+ "name": "બેલà«àªœà«€àª¯àª®"
+ },
+ "BH": {
+ "name": "બેહરીન"
+ },
+ "BW": {
+ "name": "બોતà«àª¸à«àªµàª¾àª¨àª¾"
+ },
+ "BO": {
+ "name": "બોલિવિયા"
+ },
+ "BA": {
+ "name": "બોસà«àª¨àª¿àª¯àª¾ અને હરà«àªà«‡àª—ોવિના"
+ },
+ "BR": {
+ "name": "બà«àª°àª¾àªàª¿àª²"
+ },
+ "IO": {
+ "name": "બà«àª°àª¿àªŸàª¿àª¶ ઇનà«àª¡àª¿àª¯àª¨ ઓશન ટેરિટરી"
+ },
+ "VG": {
+ "name": "બà«àª°àª¿àªŸàª¿àª¶ વરà«àªœàª¿àª¨ આઇલેનà«àª¡à«àª¸"
+ },
+ "BN": {
+ "name": "બà«àª°à«àª¨à«‡àª‡"
+ },
+ "IN": {
+ "name": "ભારત"
+ },
+ "BT": {
+ "name": "ભૂટાન"
+ },
+ "MN": {
+ "name": "મંગોલિયા"
+ },
+ "MO": {
+ "name": "મકાઉ SAR ચીન"
+ },
+ "MY": {
+ "name": "મલેશિયા"
+ },
+ "FM": {
+ "name": "માઇકà«àª°à«‹àª¨à«‡àª¶àª¿àª¯àª¾"
+ },
+ "MQ": {
+ "name": "મારà«àªŸà«€àª¨à«€àª•"
+ },
+ "MH": {
+ "name": "મારà«àª¶àª² આઇલેનà«àª¡à«àª¸"
+ },
+ "MV": {
+ "name": "માલદિવà«àª¸"
+ },
+ "MW": {
+ "name": "માલાવી"
+ },
+ "ML": {
+ "name": "માલી"
+ },
+ "MT": {
+ "name": "માલà«àªŸàª¾"
+ },
+ "MX": {
+ "name": "મેકà«àª¸àª¿àª•à«‹"
+ },
+ "MG": {
+ "name": "મેડાગાસà«àª•àª°"
+ },
+ "YT": {
+ "name": "મેયોટ"
+ },
+ "MK": {
+ "name": "મેસેડોનિયા"
+ },
+ "ME": {
+ "name": "મૉનà«àªŸà«‡àª‚નેગà«àª°à«‹"
+ },
+ "MS": {
+ "name": "મોંટસેરાત"
+ },
+ "MZ": {
+ "name": "મોàªàª¾àª®à«àª¬àª¿àª•"
+ },
+ "MC": {
+ "name": "મોનાકો"
+ },
+ "MU": {
+ "name": "મોરિશિયસ"
+ },
+ "MA": {
+ "name": "મોરોકà«àª•à«‹"
+ },
+ "MD": {
+ "name": "મોલડોવા"
+ },
+ "MR": {
+ "name": "મૌરિટાનિયા"
+ },
+ "MM": {
+ "name": "મà«àª¯àª¾àª‚માર (બરà«àª®àª¾)"
+ },
+ "VI": {
+ "name": "યà«.àªàª¸ વરà«àªœàª¿àª¨ આઇલેનà«àª¡à«àª¸"
+ },
+ "UA": {
+ "name": "યà«àª•à«àª°à«‡àª¨"
+ },
+ "UG": {
+ "name": "યà«àª—ાંડા"
+ },
+ "AE": {
+ "name": "યà«àª¨àª¾àª‡àªŸà«‡àª¡ આરબ અમીરાત"
+ },
+ "GB": {
+ "name": "યà«àª¨àª¾àª‡àªŸà«‡àª¡ કિંગડમ"
+ },
+ "YE": {
+ "name": "યેમેન"
+ },
+ "RW": {
+ "name": "રવાંડા"
+ },
+ "RU": {
+ "name": "રશિયા"
+ },
+ "RE": {
+ "name": "રીયà«àª¨àª¿àª¯àª¨"
+ },
+ "RO": {
+ "name": "રોમાનિયા"
+ },
+ "LU": {
+ "name": "લકà«àªàª®àª¬àª°à«àª—"
+ },
+ "LR": {
+ "name": "લાઇબેરિયા"
+ },
+ "LA": {
+ "name": "લાઓસ"
+ },
+ "LV": {
+ "name": "લાતà«àªµàª¿àª¯àª¾"
+ },
+ "LT": {
+ "name": "લિથà«àª†àª¨àª¿àª¯àª¾"
+ },
+ "LY": {
+ "name": "લિબિયા"
+ },
+ "LB": {
+ "name": "લેબનોન"
+ },
+ "LS": {
+ "name": "લેસોથો"
+ },
+ "LI": {
+ "name": "લૈચટેંસà«àªŸà«‡àª‡àª¨"
+ },
+ "VU": {
+ "name": "વાનà«àª†àª¤à«"
+ },
+ "VN": {
+ "name": "વિયેતનામ"
+ },
+ "VA": {
+ "name": "વેટિકન સિટી"
+ },
+ "VE": {
+ "name": "વેનેàªà«àªàª²àª¾"
+ },
+ "WF": {
+ "name": "વૉલિસ àªàª‚ડ ફà«àª¯à«àªšà«àª¨àª¾"
+ },
+ "SC": {
+ "name": "શેશેલà«àª¸"
+ },
+ "LK": {
+ "name": "શà«àª°à«€àª²àª‚કા"
+ },
+ "US": {
+ "name": "સંયà«àª•àª¤ રાજà«àª¯ અમેરિકા"
+ },
+ "UM": {
+ "name": "સંયà«àª•à«àª¤ રાજà«àª¯ આઉટલાઇંગ આયલેનà«àª¡à«àª¸"
+ },
+ "WS": {
+ "name": "સમોઆ"
+ },
+ "RS": {
+ "name": "સરà«àª¬àª¿àª¯àª¾"
+ },
+ "SA": {
+ "name": "સાઉદી અરેબિયા"
+ },
+ "ST": {
+ "name": "સાઓ ટૉમ અને પà«àª°àª¿àª‚સિપે"
+ },
+ "CY": {
+ "name": "સાયપà«àª°àª¸"
+ },
+ "SG": {
+ "name": "સિંગાપà«àª°"
+ },
+ "SX": {
+ "name": "સિંટ મારà«àªŸà«‡àª¨"
+ },
+ "SL": {
+ "name": "સીàªàª°àª¾ લેઓન"
+ },
+ "SY": {
+ "name": "સીરિયા"
+ },
+ "SD": {
+ "name": "સà«àª¦àª¾àª¨"
+ },
+ "SR": {
+ "name": "સà«àª°à«€àª¨àª¾àª®"
+ },
+ "SM": {
+ "name": "સૅન મેરિનો"
+ },
+ "KN": {
+ "name": "સેંટ કિટà«àª¸ àªàª‚ડ નેવિસ"
+ },
+ "PM": {
+ "name": "સેંટ પીàªàª°à«‡ àªàª¨à«àª¡ મિકીલોન"
+ },
+ "BL": {
+ "name": "સેંટ બારà«àª¥àª²à«‡àª®à«€"
+ },
+ "MF": {
+ "name": "સેંટ મારà«àªŸàª¿àª¨"
+ },
+ "LC": {
+ "name": "સેંટ લà«àª¸àª¿àª¯àª¾"
+ },
+ "SH": {
+ "name": "સેંટ હેલેના"
+ },
+ "CF": {
+ "name": "સેંટà«àª°àª² આફà«àª°àª¿àª•àª¨ રીપબà«àª²àª¿àª•"
+ },
+ "SN": {
+ "name": "સેનેગલ"
+ },
+ "VC": {
+ "name": "સેનà«àªŸ વિનà«àª¸à«‡àª¨à«àªŸ àªàª¨à«àª¡ ગà«àª°à«‡àª¨à«‡àª¡à«€àª¨à«àª¸"
+ },
+ "SO": {
+ "name": "સોમાલિયા"
+ },
+ "SB": {
+ "name": "સોલોમન આઇલેનà«àª¡à«àª¸"
+ },
+ "ES": {
+ "name": "સà«àªªà«‡àª¨"
+ },
+ "EA": {
+ "name": "સà«àª¯à«àªŸàª¾ અને મેલિલા"
+ },
+ "SK": {
+ "name": "સà«àª²à«‹àªµà«‡àª•àª¿àª¯àª¾"
+ },
+ "SI": {
+ "name": "સà«àª²à«‹àªµà«‡àª¨àª¿àª¯àª¾"
+ },
+ "SZ": {
+ "name": "સà«àªµàª¾àªàª¿àª²à«‡àª¨à«àª¡"
+ },
+ "SJ": {
+ "name": "સà«àªµàª¾àª²àª¬àª°à«àª¡ àªàª¨à«àª¡ જેન મેયન"
+ },
+ "CH": {
+ "name": "સà«àªµàª¿àªŸà«àªàª°à«àª²à«…નà«àª¡"
+ },
+ "SE": {
+ "name": "સà«àªµà«€àª¡àª¨"
+ },
+ "HU": {
+ "name": "હંગેરી"
+ },
+ "HT": {
+ "name": "હૈતિ"
+ },
+ "HK": {
+ "name": "હોંગકોંગ SAR ચીન"
+ },
+ "HN": {
+ "name": "હોનà«àª¡à«àª°àª¸"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/guz.json b/library/intl/resources/country/guz.json
new file mode 100644
index 000000000..e57db8007
--- /dev/null
+++ b/library/intl/resources/country/guz.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ha.json b/library/intl/resources/country/ha.json
new file mode 100644
index 000000000..0c4103141
--- /dev/null
+++ b/library/intl/resources/country/ha.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afaganistan"
+ },
+ "ZA": {
+ "name": "Afirka Ta Kudu"
+ },
+ "CI": {
+ "name": "Aibari Kwas"
+ },
+ "IS": {
+ "name": "Aisalan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albaniya"
+ },
+ "DZ": {
+ "name": "Aljeriya"
+ },
+ "US": {
+ "name": "Amurka"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AI": {
+ "name": "Angila"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigwa da Barbuba"
+ },
+ "AR": {
+ "name": "Arjantiniya"
+ },
+ "AM": {
+ "name": "Armeniya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IE": {
+ "name": "Ayalan"
+ },
+ "AZ": {
+ "name": "Azarbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Baharan"
+ },
+ "BD": {
+ "name": "Bangiladas"
+ },
+ "VU": {
+ "name": "Banuwatu"
+ },
+ "BB": {
+ "name": "Barbadas"
+ },
+ "BM": {
+ "name": "Barmuda"
+ },
+ "BW": {
+ "name": "Baswana"
+ },
+ "VA": {
+ "name": "Batikan"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgiyom"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "VE": {
+ "name": "Benezuwela"
+ },
+ "BJ": {
+ "name": "Binin"
+ },
+ "BR": {
+ "name": "Birazil"
+ },
+ "GB": {
+ "name": "Birtaniya"
+ },
+ "VN": {
+ "name": "Biyetinam"
+ },
+ "BO": {
+ "name": "Bolibiya"
+ },
+ "BA": {
+ "name": "Bosniya Harzagobina"
+ },
+ "BG": {
+ "name": "Bulgariya"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma, Miyamar"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Burune"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "TD": {
+ "name": "Cadi"
+ },
+ "CN": {
+ "name": "Caina, Sin"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CL": {
+ "name": "Cayile"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwador"
+ },
+ "SV": {
+ "name": "El Salbador"
+ },
+ "ER": {
+ "name": "Eritireya"
+ },
+ "EE": {
+ "name": "Estoniya"
+ },
+ "FR": {
+ "name": "Faransa"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipin"
+ },
+ "FI": {
+ "name": "Finlan"
+ },
+ "PF": {
+ "name": "Folinesiya Ta Faransa"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini Bisau"
+ },
+ "GF": {
+ "name": "Gini Ta Faransa"
+ },
+ "GQ": {
+ "name": "Gini Ta Ikwaita"
+ },
+ "GR": {
+ "name": "Girka"
+ },
+ "GD": {
+ "name": "Girnada"
+ },
+ "GL": {
+ "name": "Grinlan"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadaluf"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatamala"
+ },
+ "ET": {
+ "name": "Habasha"
+ },
+ "AE": {
+ "name": "HaÉ—aÉ—É—iyar Daular Larabawa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holan"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungari"
+ },
+ "IN": {
+ "name": "Indiya"
+ },
+ "ID": {
+ "name": "Indunusiya"
+ },
+ "IQ": {
+ "name": "Iraƙi"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italiya"
+ },
+ "IL": {
+ "name": "Iziraʼila"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuriyar Afirka Ta Tsakiya"
+ },
+ "CZ": {
+ "name": "Jamhuriyar Cak"
+ },
+ "CD": {
+ "name": "Jamhuriyar DimokuraÉ—iyyar Kongo"
+ },
+ "DO": {
+ "name": "Jamhuriyar Dominika"
+ },
+ "DE": {
+ "name": "Jamus"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibaraltar"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jiwarjiya"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "NC": {
+ "name": "Kaledoniya Sabuwa"
+ },
+ "CM": {
+ "name": "Kamaru"
+ },
+ "KH": {
+ "name": "Kambodiya"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazakistan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolambiya"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KP": {
+ "name": "Koreya Ta Arewa"
+ },
+ "KR": {
+ "name": "Koreya Ta Kudu"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kurowaishiya"
+ },
+ "KM": {
+ "name": "Kwamoras"
+ },
+ "CR": {
+ "name": "Kwasta Rika"
+ },
+ "QA": {
+ "name": "Kwatar"
+ },
+ "KW": {
+ "name": "Kwiyat"
+ },
+ "CU": {
+ "name": "Kyuba"
+ },
+ "SA": {
+ "name": "Ƙasar Makka"
+ },
+ "LB": {
+ "name": "Labanan"
+ },
+ "LR": {
+ "name": "Laberiya"
+ },
+ "LV": {
+ "name": "latibiya"
+ },
+ "LA": {
+ "name": "Lawas"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LY": {
+ "name": "Libiya"
+ },
+ "LI": {
+ "name": "Licansitan"
+ },
+ "LT": {
+ "name": "Lituweniya"
+ },
+ "LU": {
+ "name": "Lukusambur"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MX": {
+ "name": "Makasiko"
+ },
+ "MY": {
+ "name": "Malaisiya"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldibi"
+ },
+ "MD": {
+ "name": "Maldoba"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MN": {
+ "name": "Mangoliya"
+ },
+ "MS": {
+ "name": "Manserati"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "EG": {
+ "name": "Masar, Misira"
+ },
+ "MK": {
+ "name": "Masedoniya"
+ },
+ "YT": {
+ "name": "Mayoti"
+ },
+ "FM": {
+ "name": "Mikuronesiya"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MR": {
+ "name": "Moritaniya"
+ },
+ "MU": {
+ "name": "Moritus"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NG": {
+ "name": "Najeriya"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nefal"
+ },
+ "NE": {
+ "name": "Nijar"
+ },
+ "NI": {
+ "name": "Nikaraguwa"
+ },
+ "NU": {
+ "name": "Niyu"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NZ": {
+ "name": "Nuzilan"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AU": {
+ "name": "Ostareliya"
+ },
+ "AT": {
+ "name": "Ostiriya"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "PalasÉ—inu"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwa Nugini"
+ },
+ "PY": {
+ "name": "Paragai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitakarin"
+ },
+ "PL": {
+ "name": "Polan"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "RU": {
+ "name": "Rasha"
+ },
+ "RE": {
+ "name": "Rawuniyan"
+ },
+ "RO": {
+ "name": "Romaniya"
+ },
+ "RW": {
+ "name": "Ruwanda"
+ },
+ "SC": {
+ "name": "Saishal"
+ },
+ "SL": {
+ "name": "Salewo"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa Ta Amurka"
+ },
+ "VC": {
+ "name": "San Binsan Da Girnadin"
+ },
+ "SH": {
+ "name": "San Helena"
+ },
+ "KN": {
+ "name": "San Kiti Da Nebis"
+ },
+ "LC": {
+ "name": "San Lusiya"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "PM": {
+ "name": "San Piyar Da Mikelan"
+ },
+ "ST": {
+ "name": "Sawo Tome Da Paransip"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CY": {
+ "name": "Sifurus"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SN": {
+ "name": "Sinigal"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Sipen"
+ },
+ "LK": {
+ "name": "Siri Lanka"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SK": {
+ "name": "Sulobakiya"
+ },
+ "SI": {
+ "name": "Sulobeniya"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Suwazilan"
+ },
+ "SE": {
+ "name": "Suwedan"
+ },
+ "CH": {
+ "name": "Suwizalan"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SY": {
+ "name": "Sham, Siriya"
+ },
+ "TH": {
+ "name": "Tailan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TK": {
+ "name": "Takelau"
+ },
+ "TO": {
+ "name": "Tanga"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TL": {
+ "name": "Timor Ta Gabas"
+ },
+ "TT": {
+ "name": "Tirinidad Da Tobago"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "Tubalu"
+ },
+ "TN": {
+ "name": "Tunisiya"
+ },
+ "TC": {
+ "name": "Turkis Da Tsibiran Kaikwas"
+ },
+ "TR": {
+ "name": "Turkiyya"
+ },
+ "TM": {
+ "name": "Turkumenistan"
+ },
+ "VI": {
+ "name": "Tsibiran Birjin Ta Amurka"
+ },
+ "FK": {
+ "name": "Tsibiran Falkilan"
+ },
+ "KY": {
+ "name": "Tsibiran Kaiman"
+ },
+ "CV": {
+ "name": "Tsibiran Kap Barde"
+ },
+ "CK": {
+ "name": "Tsibiran Kuku"
+ },
+ "MP": {
+ "name": "Tsibiran Mariyana Na Arewa"
+ },
+ "MH": {
+ "name": "Tsibiran Marshal"
+ },
+ "SB": {
+ "name": "Tsibiran Salaman"
+ },
+ "VG": {
+ "name": "Tsibirin Birjin Na Birtaniya"
+ },
+ "NF": {
+ "name": "Tsibirin Narfalk"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UZ": {
+ "name": "Uzubekistan"
+ },
+ "WF": {
+ "name": "Walis Da Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yamal"
+ },
+ "IO": {
+ "name": "Yankin Birtaniya Na Tekun Indiya"
+ },
+ "UG": {
+ "name": "Yuganda"
+ },
+ "UA": {
+ "name": "Yukaran"
+ },
+ "UY": {
+ "name": "Yurugai"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabuwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/he.json b/library/intl/resources/country/he.json
new file mode 100644
index 000000000..bf9160592
--- /dev/null
+++ b/library/intl/resources/country/he.json
@@ -0,0 +1,761 @@
+{
+ "UG": {
+ "name": "×וגנדה"
+ },
+ "UZ": {
+ "name": "×וזבקיסטן"
+ },
+ "AT": {
+ "name": "×וסטריה"
+ },
+ "AU": {
+ "name": "×וסטרליה"
+ },
+ "UA": {
+ "name": "×וקר××™× ×”"
+ },
+ "UY": {
+ "name": "×ורוגוו××™"
+ },
+ "AZ": {
+ "name": "×זרבייג׳ן"
+ },
+ "CX": {
+ "name": "××™ ×—×’ המולד"
+ },
+ "AE": {
+ "name": "×יחוד ×”×מירויות הערביות"
+ },
+ "IT": {
+ "name": "×יטליה"
+ },
+ "AX": {
+ "name": "××™×™ ×ולנד"
+ },
+ "BS": {
+ "name": "××™×™ בה×מה"
+ },
+ "VI": {
+ "name": "××™×™ הבתולה ×”×מריקניי×"
+ },
+ "VG": {
+ "name": "××™×™ הבתולה הבריטיי×"
+ },
+ "WF": {
+ "name": "××™×™ ווליס ופוטונה"
+ },
+ "TC": {
+ "name": "××™×™ טורקס וק×יקוס"
+ },
+ "MP": {
+ "name": "××™×™ מרי×× ×” הצפוניי×"
+ },
+ "MH": {
+ "name": "××™×™ מרשל"
+ },
+ "NF": {
+ "name": "××™×™ נורפוק"
+ },
+ "SC": {
+ "name": "××™×™ סיישל"
+ },
+ "FO": {
+ "name": "××™×™ פ×רו"
+ },
+ "FK": {
+ "name": "××™×™ פוקלנד"
+ },
+ "PN": {
+ "name": "××™×™ פיטקרן"
+ },
+ "CK": {
+ "name": "××™×™ קוק"
+ },
+ "CC": {
+ "name": "××™×™ קוקוס (קילינג)"
+ },
+ "KY": {
+ "name": "××™×™ קיימן"
+ },
+ "SB": {
+ "name": "××™×™ שלמה"
+ },
+ "UM": {
+ "name": "××™×™× ×œ×—×•×£ ×רצות הברית"
+ },
+ "ID": {
+ "name": "×ינדונזיה"
+ },
+ "IS": {
+ "name": "×יסלנד"
+ },
+ "IR": {
+ "name": "×יר×ן"
+ },
+ "IE": {
+ "name": "×ירלנד"
+ },
+ "SV": {
+ "name": "×ל סלבדור"
+ },
+ "AL": {
+ "name": "×לבניה"
+ },
+ "DZ": {
+ "name": "×לג׳יריה"
+ },
+ "AO": {
+ "name": "×נגולה"
+ },
+ "AI": {
+ "name": "×נגילה"
+ },
+ "AD": {
+ "name": "×נדורה"
+ },
+ "AQ": {
+ "name": "×נט×רקטיקה"
+ },
+ "AG": {
+ "name": "×נטיגו××” וברבודה"
+ },
+ "EE": {
+ "name": "×סטוניה"
+ },
+ "AF": {
+ "name": "×פגניסטן"
+ },
+ "EC": {
+ "name": "×קוודור"
+ },
+ "AR": {
+ "name": "×רגנטינה"
+ },
+ "AW": {
+ "name": "×רובה"
+ },
+ "ER": {
+ "name": "×ריתרי××”"
+ },
+ "AM": {
+ "name": "×רמניה"
+ },
+ "US": {
+ "name": "×רצות הברית"
+ },
+ "ET": {
+ "name": "×תיופיה"
+ },
+ "BT": {
+ "name": "בהוטן"
+ },
+ "BW": {
+ "name": "בוטסוו×× ×”"
+ },
+ "BG": {
+ "name": "בולגריה"
+ },
+ "BO": {
+ "name": "בוליביה"
+ },
+ "BA": {
+ "name": "בוסניה והרצגובינה"
+ },
+ "BI": {
+ "name": "בורונדי"
+ },
+ "BF": {
+ "name": "בורקינה פ×סו"
+ },
+ "BH": {
+ "name": "בחריין"
+ },
+ "BY": {
+ "name": "בל×רוס"
+ },
+ "BE": {
+ "name": "בלגיה"
+ },
+ "BZ": {
+ "name": "בליז"
+ },
+ "BD": {
+ "name": "בנגלדש"
+ },
+ "BJ": {
+ "name": "בנין"
+ },
+ "BB": {
+ "name": "ברבדוס"
+ },
+ "BN": {
+ "name": "ברוניי"
+ },
+ "BR": {
+ "name": "ברזיל"
+ },
+ "BM": {
+ "name": "ברמודה"
+ },
+ "GS": {
+ "name": "ג׳ורג׳יה הדרומית ו××™×™ סנדוויץ׳ הדרומיי×"
+ },
+ "DJ": {
+ "name": "ג׳יבוטי"
+ },
+ "JM": {
+ "name": "ג׳מייקה"
+ },
+ "JE": {
+ "name": "ג׳רסי"
+ },
+ "GA": {
+ "name": "×’×בון"
+ },
+ "GE": {
+ "name": "×’×ורגיה"
+ },
+ "GH": {
+ "name": "×’×× ×”"
+ },
+ "GT": {
+ "name": "גו×טמלה"
+ },
+ "GU": {
+ "name": "גו××"
+ },
+ "GP": {
+ "name": "גוו×דלופ"
+ },
+ "GY": {
+ "name": "×’×™×× ×”"
+ },
+ "GF": {
+ "name": "×’×™×× ×” הצרפתית"
+ },
+ "GI": {
+ "name": "גיברלטר"
+ },
+ "GN": {
+ "name": "×’×™× ×™××”"
+ },
+ "GQ": {
+ "name": "×’×™× ×™××” המשוונית"
+ },
+ "GW": {
+ "name": "×’×™× ×™××”-ביס×ו"
+ },
+ "GM": {
+ "name": "גמביה"
+ },
+ "GL": {
+ "name": "גרינלנד"
+ },
+ "DE": {
+ "name": "גרמניה"
+ },
+ "GD": {
+ "name": "גרנדה"
+ },
+ "GG": {
+ "name": "גרנסי"
+ },
+ "DM": {
+ "name": "דומיניקה"
+ },
+ "DG": {
+ "name": "דייגו גרסיה"
+ },
+ "DK": {
+ "name": "דנמרק"
+ },
+ "ZA": {
+ "name": "×“×¨×•× ×פריקה"
+ },
+ "SS": {
+ "name": "×“×¨×•× ×¡×•×“×Ÿ"
+ },
+ "AC": {
+ "name": "×”××™ ×סנשן"
+ },
+ "IM": {
+ "name": "×”××™ מ×ן"
+ },
+ "HT": {
+ "name": "×”×יטי"
+ },
+ "MV": {
+ "name": "×”××™×™× ×”×ž×œ×“×™×‘×™×™×"
+ },
+ "IC": {
+ "name": "×”××™×™× ×”×§× ×¨×™×™×"
+ },
+ "BQ": {
+ "name": "×”××™×™× ×”×§×¨×™×‘×™×™× ×”×”×•×œ× ×“×™×™×"
+ },
+ "IN": {
+ "name": "הודו"
+ },
+ "VA": {
+ "name": "הוותיקן"
+ },
+ "NL": {
+ "name": "הולנד"
+ },
+ "HK": {
+ "name": "הונג קונג - מחוז מנהלי מיוחד של סין"
+ },
+ "HU": {
+ "name": "הונגריה"
+ },
+ "HN": {
+ "name": "הונדורס"
+ },
+ "GB": {
+ "name": "הממלכה המ×וחדת"
+ },
+ "DO": {
+ "name": "הרפובליקה הדומיניקנית"
+ },
+ "CF": {
+ "name": "הרפובליקה של מרכז ×פריקה"
+ },
+ "PS": {
+ "name": "×”×©×˜×—×™× ×”×¤×œ×¡×˜×™× ×™×™×"
+ },
+ "VN": {
+ "name": "וייטנ××"
+ },
+ "VU": {
+ "name": "ונו×טו"
+ },
+ "VE": {
+ "name": "ונצו×לה"
+ },
+ "ZW": {
+ "name": "זימב×בווה"
+ },
+ "ZM": {
+ "name": "זמביה"
+ },
+ "CI": {
+ "name": "חוף השנהב"
+ },
+ "TJ": {
+ "name": "טג׳יקיסטן"
+ },
+ "TV": {
+ "name": "טובלו"
+ },
+ "TG": {
+ "name": "טוגו"
+ },
+ "TO": {
+ "name": "טונגה"
+ },
+ "TK": {
+ "name": "טוקל×ו"
+ },
+ "TR": {
+ "name": "טורקיה"
+ },
+ "TM": {
+ "name": "טורקמניסטן"
+ },
+ "TW": {
+ "name": "טייוו×ן"
+ },
+ "TL": {
+ "name": "טימור לסטה"
+ },
+ "TZ": {
+ "name": "טנזניה"
+ },
+ "IO": {
+ "name": "טריטוריה בריטית ב×וקי×נוס ההודי"
+ },
+ "TF": {
+ "name": "טריטוריות דרומיות של צרפת"
+ },
+ "TT": {
+ "name": "טרינידד וטובגו"
+ },
+ "TA": {
+ "name": "טריסטן דה קונה"
+ },
+ "GR": {
+ "name": "יוון"
+ },
+ "JP": {
+ "name": "יפן"
+ },
+ "JO": {
+ "name": "ירדן"
+ },
+ "IL": {
+ "name": "ישר×ל"
+ },
+ "KW": {
+ "name": "כווית"
+ },
+ "CV": {
+ "name": "כף ורדה"
+ },
+ "LA": {
+ "name": "ל×וס"
+ },
+ "LB": {
+ "name": "לבנון"
+ },
+ "LY": {
+ "name": "לוב"
+ },
+ "LU": {
+ "name": "לוקסמבורג"
+ },
+ "LV": {
+ "name": "לטביה"
+ },
+ "LR": {
+ "name": "ליבריה"
+ },
+ "LT": {
+ "name": "ליט×"
+ },
+ "LI": {
+ "name": "ליכטנשטיין"
+ },
+ "LS": {
+ "name": "לסוטו"
+ },
+ "MR": {
+ "name": "מ×וריטניה"
+ },
+ "MU": {
+ "name": "מ×וריציוס"
+ },
+ "YT": {
+ "name": "מ×יוט"
+ },
+ "ML": {
+ "name": "מ×לי"
+ },
+ "MG": {
+ "name": "מדגסקר"
+ },
+ "MZ": {
+ "name": "מוזמביק"
+ },
+ "MD": {
+ "name": "מולדובה"
+ },
+ "MN": {
+ "name": "מונגוליה"
+ },
+ "ME": {
+ "name": "מונטנגרו"
+ },
+ "MS": {
+ "name": "מונסר×ט"
+ },
+ "MC": {
+ "name": "מונקו"
+ },
+ "MM": {
+ "name": "מי×נמ×ר (בורמה)‎"
+ },
+ "FM": {
+ "name": "מיקרונזיה"
+ },
+ "MW": {
+ "name": "מל×ווי"
+ },
+ "MY": {
+ "name": "מלזיה"
+ },
+ "MT": {
+ "name": "מלטה"
+ },
+ "EG": {
+ "name": "מצרי×"
+ },
+ "MO": {
+ "name": "מק×ו - מחוז מנהלי מיוחד של סין"
+ },
+ "MK": {
+ "name": "מקדוניה"
+ },
+ "MX": {
+ "name": "מקסיקו"
+ },
+ "MA": {
+ "name": "מרוקו"
+ },
+ "MQ": {
+ "name": "מרטיניק"
+ },
+ "NR": {
+ "name": "× ×ורו"
+ },
+ "NO": {
+ "name": "נורווגיה"
+ },
+ "NG": {
+ "name": "ניגריה"
+ },
+ "NZ": {
+ "name": "ניו זילנד"
+ },
+ "NU": {
+ "name": "ניווה"
+ },
+ "NE": {
+ "name": "ניז׳ר"
+ },
+ "NI": {
+ "name": "ניקרגו××”"
+ },
+ "NA": {
+ "name": "נמיביה"
+ },
+ "NP": {
+ "name": "נפ×ל"
+ },
+ "ST": {
+ "name": "ס×ו טומה ופרינסיפה"
+ },
+ "EA": {
+ "name": "ס×וטה ומלייה"
+ },
+ "EH": {
+ "name": "סהרה המערבית"
+ },
+ "SD": {
+ "name": "סודן"
+ },
+ "SZ": {
+ "name": "סווזילנד"
+ },
+ "SJ": {
+ "name": "סוולב×רד וי×ן מ×יין"
+ },
+ "SO": {
+ "name": "סומליה"
+ },
+ "SY": {
+ "name": "סוריה"
+ },
+ "SR": {
+ "name": "סורינ×"
+ },
+ "SL": {
+ "name": "סיירה ל×ונה"
+ },
+ "CN": {
+ "name": "סין"
+ },
+ "SG": {
+ "name": "סינגפור"
+ },
+ "SX": {
+ "name": "סינט מ×רטן"
+ },
+ "SI": {
+ "name": "סלובניה"
+ },
+ "SK": {
+ "name": "סלובקיה"
+ },
+ "WS": {
+ "name": "סמו××”"
+ },
+ "AS": {
+ "name": "סמו××” ×”×מריקנית"
+ },
+ "SM": {
+ "name": "סן מרינו"
+ },
+ "SN": {
+ "name": "סנגל"
+ },
+ "BL": {
+ "name": "סנט ברתולומי×ו"
+ },
+ "SH": {
+ "name": "סנט הלנה"
+ },
+ "VC": {
+ "name": "סנט וינסנט והגרנדיני×"
+ },
+ "LC": {
+ "name": "סנט לוסיה"
+ },
+ "MF": {
+ "name": "סנט מרטין"
+ },
+ "PM": {
+ "name": "סנט פייר ומיקלון"
+ },
+ "KN": {
+ "name": "סנט קיטס ונוויס"
+ },
+ "ES": {
+ "name": "ספרד"
+ },
+ "RS": {
+ "name": "סרביה"
+ },
+ "LK": {
+ "name": "סרי לנקה"
+ },
+ "OM": {
+ "name": "עומ×ן"
+ },
+ "IQ": {
+ "name": "עיר×ק"
+ },
+ "SA": {
+ "name": "ערב הסעודית"
+ },
+ "PW": {
+ "name": "פ×ל×ו"
+ },
+ "PL": {
+ "name": "פולין"
+ },
+ "PF": {
+ "name": "פולינזיה הצרפתית"
+ },
+ "PR": {
+ "name": "פורטו ריקו"
+ },
+ "PT": {
+ "name": "פורטוגל"
+ },
+ "FJ": {
+ "name": "פיג׳י"
+ },
+ "PH": {
+ "name": "פיליפיני×"
+ },
+ "FI": {
+ "name": "פינלנד"
+ },
+ "PA": {
+ "name": "פנמה"
+ },
+ "PG": {
+ "name": "פפו××” ×’×™× ×™××” החדשה"
+ },
+ "PK": {
+ "name": "פקיסטן"
+ },
+ "PY": {
+ "name": "פרגוו××™"
+ },
+ "PE": {
+ "name": "פרו"
+ },
+ "TD": {
+ "name": "צ׳×ד"
+ },
+ "CL": {
+ "name": "צ׳ילה"
+ },
+ "CZ": {
+ "name": "צ׳כיה"
+ },
+ "FR": {
+ "name": "צרפת"
+ },
+ "CU": {
+ "name": "קובה"
+ },
+ "CO": {
+ "name": "קולומביה"
+ },
+ "KM": {
+ "name": "קומורוס"
+ },
+ "CG": {
+ "name": "קונגו - ברז×ויל"
+ },
+ "CD": {
+ "name": "קונגו - קינש×סה"
+ },
+ "XK": {
+ "name": "קוסובו"
+ },
+ "CR": {
+ "name": "קוסטה ריקה"
+ },
+ "CW": {
+ "name": "קור×ס×ו"
+ },
+ "KR": {
+ "name": "קורי××” הדרומית"
+ },
+ "KP": {
+ "name": "קורי××” הצפונית"
+ },
+ "KZ": {
+ "name": "קזחסטן"
+ },
+ "QA": {
+ "name": "קט×ר"
+ },
+ "KG": {
+ "name": "קירגיזסטן"
+ },
+ "KI": {
+ "name": "קיריב×טי"
+ },
+ "NC": {
+ "name": "קלדוניה החדשה"
+ },
+ "KH": {
+ "name": "קמבודיה"
+ },
+ "CM": {
+ "name": "קמרון"
+ },
+ "CA": {
+ "name": "קנדה"
+ },
+ "KE": {
+ "name": "קניה"
+ },
+ "CY": {
+ "name": "קפריסין"
+ },
+ "HR": {
+ "name": "קרו×טיה"
+ },
+ "RE": {
+ "name": "ר×וניון"
+ },
+ "RW": {
+ "name": "רו×נדה"
+ },
+ "RO": {
+ "name": "רומניה"
+ },
+ "RU": {
+ "name": "רוסיה"
+ },
+ "SE": {
+ "name": "שוודיה"
+ },
+ "CH": {
+ "name": "שווייץ"
+ },
+ "TH": {
+ "name": "ת×ילנד"
+ },
+ "TN": {
+ "name": "תוניסיה"
+ },
+ "YE": {
+ "name": "תימן"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/hi.json b/library/intl/resources/country/hi.json
new file mode 100644
index 000000000..1e9ff1e75
--- /dev/null
+++ b/library/intl/resources/country/hi.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "अंगोला"
+ },
+ "AQ": {
+ "name": "अंटारà¥à¤•à¤Ÿà¤¿à¤•à¤¾"
+ },
+ "AZ": {
+ "name": "अज़रबैजान"
+ },
+ "AF": {
+ "name": "अफ़गानिसà¥à¤¤à¤¾à¤¨"
+ },
+ "AS": {
+ "name": "अमेरिकी समोआ"
+ },
+ "AW": {
+ "name": "अरूबा"
+ },
+ "AR": {
+ "name": "अरà¥à¤œà¥‡à¤‚टीना"
+ },
+ "SV": {
+ "name": "अल सलà¥à¤µà¤¾à¤¡à¥‹à¤°"
+ },
+ "DZ": {
+ "name": "अलà¥à¤œà¥€à¤°à¤¿à¤¯à¤¾"
+ },
+ "AL": {
+ "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¾"
+ },
+ "AC": {
+ "name": "असेंशन दà¥à¤µà¥€à¤ª"
+ },
+ "IM": {
+ "name": "आइल ऑफ़ मैन"
+ },
+ "IS": {
+ "name": "आइसलैंड"
+ },
+ "IE": {
+ "name": "आयरलैंड"
+ },
+ "AM": {
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾"
+ },
+ "ID": {
+ "name": "इंडोनेशिया"
+ },
+ "EC": {
+ "name": "इकà¥à¤µà¤¾à¤¡à¥‹à¤°"
+ },
+ "GQ": {
+ "name": "इकà¥à¤µà¥‡à¤Ÿà¥‹à¤°à¤¿à¤¯à¤² गिनी"
+ },
+ "IT": {
+ "name": "इटली"
+ },
+ "ET": {
+ "name": "इथियोपिया"
+ },
+ "IQ": {
+ "name": "इराक"
+ },
+ "ER": {
+ "name": "इरिटà¥à¤°à¤¿à¤¯à¤¾"
+ },
+ "IL": {
+ "name": "इसराइल"
+ },
+ "IR": {
+ "name": "ईरान"
+ },
+ "UZ": {
+ "name": "उज़à¥à¤¬à¥‡à¤•à¤¿à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "KP": {
+ "name": "उतà¥à¤¤à¤° कोरिया"
+ },
+ "MP": {
+ "name": "उतà¥à¤¤à¤°à¥€ मारियाना दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "UY": {
+ "name": "उरूगà¥à¤µà¥‡"
+ },
+ "AI": {
+ "name": "à¤à¤‚गà¥à¤µà¤¿à¤²à¤¾"
+ },
+ "AG": {
+ "name": "à¤à¤‚टिगà¥à¤† और बरबà¥à¤¡à¤¾"
+ },
+ "AD": {
+ "name": "à¤à¤‚डोरा"
+ },
+ "AX": {
+ "name": "à¤à¤²à¥ˆà¤‚ड दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "EE": {
+ "name": "à¤à¤¸à¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¾"
+ },
+ "AT": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾"
+ },
+ "AU": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¾"
+ },
+ "OM": {
+ "name": "ओमान"
+ },
+ "KH": {
+ "name": "कंबोडिया"
+ },
+ "KZ": {
+ "name": "कज़ाखसà¥à¤¤à¤¾à¤¨"
+ },
+ "QA": {
+ "name": "क़तर"
+ },
+ "CA": {
+ "name": "कनाडा"
+ },
+ "CD": {
+ "name": "कांगो - किंशासा"
+ },
+ "CG": {
+ "name": "कांगो – बà¥à¤°à¤¾à¤œà¤¼à¤¾à¤µà¤¿à¤²"
+ },
+ "KI": {
+ "name": "किरिबाती"
+ },
+ "KG": {
+ "name": "किरà¥à¤—िज़सà¥à¤¤à¤¾à¤¨"
+ },
+ "CK": {
+ "name": "कà¥à¤• दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "KW": {
+ "name": "कà¥à¤µà¥ˆà¤¤"
+ },
+ "KE": {
+ "name": "केनà¥à¤¯à¤¾"
+ },
+ "CV": {
+ "name": "केप वरà¥à¤¡"
+ },
+ "KY": {
+ "name": "केमैन दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "IC": {
+ "name": "कैनेरी दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "CM": {
+ "name": "कैमरून"
+ },
+ "BQ": {
+ "name": "कैरिबियन नीदरलैंड"
+ },
+ "CC": {
+ "name": "कोकोस (कीलिंग) दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "CI": {
+ "name": "कोट डी आइवर"
+ },
+ "KM": {
+ "name": "कोमोरोस"
+ },
+ "CO": {
+ "name": "कोलंबिया"
+ },
+ "XK": {
+ "name": "कोसोवो"
+ },
+ "CR": {
+ "name": "कोसà¥à¤Ÿà¤¾à¤°à¤¿à¤•à¤¾"
+ },
+ "CU": {
+ "name": "कà¥à¤¯à¥‚बा"
+ },
+ "CW": {
+ "name": "कà¥à¤¯à¥‚रासाओ"
+ },
+ "CX": {
+ "name": "कà¥à¤°à¤¿à¤¸à¤®à¤¸ दà¥à¤µà¥€à¤ª"
+ },
+ "HR": {
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾"
+ },
+ "GY": {
+ "name": "गयाना"
+ },
+ "GG": {
+ "name": "गरà¥à¤¨à¤¸à¥€"
+ },
+ "GM": {
+ "name": "गामà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "GN": {
+ "name": "गिनी"
+ },
+ "GW": {
+ "name": "गिनी-बिसाउ"
+ },
+ "GU": {
+ "name": "गà¥à¤†à¤®"
+ },
+ "GA": {
+ "name": "गैबॉन"
+ },
+ "GL": {
+ "name": "गà¥à¤°à¥€à¤¨à¤²à¥ˆà¤‚ड"
+ },
+ "GD": {
+ "name": "गà¥à¤°à¥‡à¤¨à¤¾à¤¡à¤¾"
+ },
+ "GT": {
+ "name": "गà¥à¤µà¤¾à¤Ÿà¥‡à¤®à¤¾à¤²à¤¾"
+ },
+ "GP": {
+ "name": "गà¥à¤µà¤¾à¤¡à¥‡à¤²à¥‚प"
+ },
+ "GH": {
+ "name": "घाना"
+ },
+ "TD": {
+ "name": "चाड"
+ },
+ "CL": {
+ "name": "चिली"
+ },
+ "CN": {
+ "name": "चीन"
+ },
+ "CZ": {
+ "name": "चेक गणराजà¥à¤¯"
+ },
+ "JM": {
+ "name": "जमैका"
+ },
+ "DE": {
+ "name": "जरà¥à¤®à¤¨à¥€"
+ },
+ "JE": {
+ "name": "जरà¥à¤¸à¥€"
+ },
+ "JP": {
+ "name": "जापान"
+ },
+ "ZM": {
+ "name": "ज़ामà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "DJ": {
+ "name": "जिबूती"
+ },
+ "GI": {
+ "name": "जिबà¥à¤°à¤¾à¤²à¥à¤Ÿà¤°"
+ },
+ "ZW": {
+ "name": "ज़िमà¥à¤¬à¤¾à¤¬à¥à¤µà¥‡"
+ },
+ "GE": {
+ "name": "जॉरà¥à¤œà¤¿à¤¯à¤¾"
+ },
+ "JO": {
+ "name": "जॉरà¥à¤¡à¤¨"
+ },
+ "TO": {
+ "name": "टोंगा"
+ },
+ "TG": {
+ "name": "टोगो"
+ },
+ "TN": {
+ "name": "टà¥à¤¯à¥‚नीशिया"
+ },
+ "DG": {
+ "name": "डिà¤à¤—ो गारà¥à¤¸à¤¿à¤¯à¤¾"
+ },
+ "DK": {
+ "name": "डेनमारà¥à¤•"
+ },
+ "DO": {
+ "name": "डोमिनिकन गणराजà¥à¤¯"
+ },
+ "DM": {
+ "name": "डोमिनिका"
+ },
+ "TZ": {
+ "name": "तंज़ानिया"
+ },
+ "TW": {
+ "name": "ताइवान"
+ },
+ "TJ": {
+ "name": "ताजिकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "TL": {
+ "name": "तिमोर-लेसà¥à¤¤"
+ },
+ "TC": {
+ "name": "तà¥à¤°à¥à¤• और कैकोज़ दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "TM": {
+ "name": "तà¥à¤°à¥à¤•à¤®à¥‡à¤¨à¤¿à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "TR": {
+ "name": "तà¥à¤°à¥à¤•à¥€"
+ },
+ "TV": {
+ "name": "तà¥à¤µà¤¾à¤²à¥‚"
+ },
+ "TK": {
+ "name": "तोकेलाउ"
+ },
+ "TT": {
+ "name": "तà¥à¤°à¤¿à¤¨à¤¿à¤¦à¤¾à¤¦ और टोबैगो"
+ },
+ "TA": {
+ "name": "तà¥à¤°à¤¿à¤¸à¥à¤Ÿà¤¾à¤¨ डा कà¥à¤¨à¤¾"
+ },
+ "TH": {
+ "name": "थाईलैंड"
+ },
+ "ZA": {
+ "name": "दकà¥à¤·à¤¿à¤£ अफ़à¥à¤°à¥€à¤•à¤¾"
+ },
+ "KR": {
+ "name": "दकà¥à¤·à¤¿à¤£ कोरिया"
+ },
+ "GS": {
+ "name": "दकà¥à¤·à¤¿à¤£ जॉरà¥à¤œà¤¿à¤¯à¤¾ और दकà¥à¤·à¤¿à¤£ सैंडविच दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "SS": {
+ "name": "दकà¥à¤·à¤¿à¤£ सूडान"
+ },
+ "NE": {
+ "name": "नाइजर"
+ },
+ "NG": {
+ "name": "नाइजीरिया"
+ },
+ "NR": {
+ "name": "नाउरà¥"
+ },
+ "NA": {
+ "name": "नामीबिया"
+ },
+ "NI": {
+ "name": "निकारागà¥à¤†"
+ },
+ "NL": {
+ "name": "नीदरलैंड"
+ },
+ "NU": {
+ "name": "नीयू"
+ },
+ "NP": {
+ "name": "नेपाल"
+ },
+ "NF": {
+ "name": "नॉरफ़ॉक दà¥à¤µà¥€à¤ª"
+ },
+ "NO": {
+ "name": "नॉरà¥à¤µà¥‡"
+ },
+ "NC": {
+ "name": "नà¥à¤¯à¥‚ कैलेडोनिया"
+ },
+ "NZ": {
+ "name": "नà¥à¤¯à¥‚ज़ीलैंड"
+ },
+ "PA": {
+ "name": "पनामा"
+ },
+ "PW": {
+ "name": "पलाऊ"
+ },
+ "EH": {
+ "name": "पशà¥à¤šà¤¿à¤®à¥€ सहारा"
+ },
+ "PK": {
+ "name": "पाकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "PG": {
+ "name": "पापà¥à¤† नà¥à¤¯à¥‚ गिनी"
+ },
+ "PN": {
+ "name": "पिटकैरà¥à¤¨ दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "PT": {
+ "name": "पà¥à¤°à¥à¤¤à¤—ाल"
+ },
+ "PY": {
+ "name": "पेरागà¥à¤µà¥‡"
+ },
+ "PE": {
+ "name": "पेरू"
+ },
+ "PR": {
+ "name": "पोरà¥à¤Ÿà¥‹ रिको"
+ },
+ "PL": {
+ "name": "पोलैंड"
+ },
+ "FJ": {
+ "name": "फ़िजी"
+ },
+ "FI": {
+ "name": "फ़िनलैंड"
+ },
+ "PH": {
+ "name": "फ़िलिपींस"
+ },
+ "PS": {
+ "name": "फ़िलिसà¥à¤¤à¥€à¤¨à¥€ कà¥à¤·à¥‡à¤¤à¥à¤°"
+ },
+ "FO": {
+ "name": "फ़ेरो दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "FK": {
+ "name": "फ़ॉकलैंड दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "FR": {
+ "name": "फ़à¥à¤°à¤¾à¤‚स"
+ },
+ "TF": {
+ "name": "फ़à¥à¤°à¤¾à¤‚सीसी दकà¥à¤·à¤¿à¤£à¥€ कà¥à¤·à¥‡à¤¤à¥à¤°"
+ },
+ "GF": {
+ "name": "फ़à¥à¤°à¥‡à¤‚च गयाना"
+ },
+ "PF": {
+ "name": "फ़à¥à¤°à¥‡à¤‚च पोलिनेशिया"
+ },
+ "BM": {
+ "name": "बरमूडा"
+ },
+ "BH": {
+ "name": "बहरीन"
+ },
+ "BS": {
+ "name": "बहामास"
+ },
+ "BD": {
+ "name": "बांगà¥à¤²à¤¾à¤¦à¥‡à¤¶"
+ },
+ "BB": {
+ "name": "बारबाडोस"
+ },
+ "BI": {
+ "name": "बà¥à¤°à¥à¤‚डी"
+ },
+ "BF": {
+ "name": "बà¥à¤°à¥à¤•à¤¿à¤¨à¤¾ फ़ासो"
+ },
+ "BG": {
+ "name": "बà¥à¤²à¥à¤—ारिया"
+ },
+ "BJ": {
+ "name": "बेनिन"
+ },
+ "BY": {
+ "name": "बेलारूस"
+ },
+ "BZ": {
+ "name": "बेलीज़"
+ },
+ "BE": {
+ "name": "बेलà¥à¤œà¤¿à¤¯à¤®"
+ },
+ "BW": {
+ "name": "बोतà¥à¤¸à¥à¤µà¤¾à¤¨à¤¾"
+ },
+ "BO": {
+ "name": "बोलीविया"
+ },
+ "BA": {
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾ और हरà¥à¤œà¤¼à¥‡à¤—ोविना"
+ },
+ "BR": {
+ "name": "बà¥à¤°à¤¾à¤œà¤¼à¥€à¤²"
+ },
+ "VG": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ वरà¥à¤œà¤¿à¤¨ दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "IO": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ हिंद महासागरीय कà¥à¤·à¥‡à¤¤à¥à¤°"
+ },
+ "BN": {
+ "name": "बà¥à¤°à¥‚नेई"
+ },
+ "IN": {
+ "name": "भारत"
+ },
+ "BT": {
+ "name": "भूटान"
+ },
+ "MN": {
+ "name": "मंगोलिया"
+ },
+ "MO": {
+ "name": "मकाऊ (विशेष पà¥à¤°à¤¶à¤¾à¤¸à¤¨à¤¿à¤• कà¥à¤·à¥‡à¤¤à¥à¤° चीन)"
+ },
+ "CF": {
+ "name": "मधà¥à¤¯ अफ़à¥à¤°à¥€à¤•à¥€ गणराजà¥à¤¯"
+ },
+ "MW": {
+ "name": "मलावी"
+ },
+ "MY": {
+ "name": "मलेशिया"
+ },
+ "FM": {
+ "name": "माइकà¥à¤°à¥‹à¤¨à¥‡à¤¶à¤¿à¤¯à¤¾"
+ },
+ "YT": {
+ "name": "मायोते"
+ },
+ "MQ": {
+ "name": "मारà¥à¤Ÿà¥€à¤¨à¤¿à¤•"
+ },
+ "MH": {
+ "name": "मारà¥à¤¶à¤² दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "MV": {
+ "name": "मालदीव"
+ },
+ "ML": {
+ "name": "माली"
+ },
+ "MT": {
+ "name": "मालà¥à¤Ÿà¤¾"
+ },
+ "EG": {
+ "name": "मिसà¥à¤°"
+ },
+ "MG": {
+ "name": "मेडागासà¥à¤•à¤°"
+ },
+ "MX": {
+ "name": "मैकà¥à¤¸à¤¿à¤•à¥‹"
+ },
+ "MK": {
+ "name": "मैसिडोनिया"
+ },
+ "MR": {
+ "name": "मॉरिटानिया"
+ },
+ "MU": {
+ "name": "मॉरिशस"
+ },
+ "MD": {
+ "name": "मॉलà¥à¤¡à¥‹à¤µà¤¾"
+ },
+ "MS": {
+ "name": "मोंटसेरात"
+ },
+ "ME": {
+ "name": "मोंटेनेगà¥à¤°à¥‹"
+ },
+ "MZ": {
+ "name": "मोज़ांबिक"
+ },
+ "MC": {
+ "name": "मोनाको"
+ },
+ "MA": {
+ "name": "मोरकà¥à¤•à¥‹"
+ },
+ "MM": {
+ "name": "मà¥à¤¯à¤¾à¤‚मार (बरà¥à¤®à¤¾)"
+ },
+ "YE": {
+ "name": "यमन"
+ },
+ "UG": {
+ "name": "यà¥à¤—ांडा"
+ },
+ "UM": {
+ "name": "यू.à¤à¤¸. आउटलाइंग दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "VI": {
+ "name": "यू.à¤à¤¸. वरà¥à¤œà¤¿à¤¨ दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "UA": {
+ "name": "यूकà¥à¤°à¥‡à¤¨"
+ },
+ "GB": {
+ "name": "यूनाइटेड किंगडम"
+ },
+ "GR": {
+ "name": "यूनान"
+ },
+ "RW": {
+ "name": "रवांडा"
+ },
+ "RE": {
+ "name": "रियूनियन"
+ },
+ "RU": {
+ "name": "रूस"
+ },
+ "RO": {
+ "name": "रोमानिया"
+ },
+ "LU": {
+ "name": "लगà¥à¤œà¤¼à¤®à¤¬à¤°à¥à¤—"
+ },
+ "LR": {
+ "name": "लाइबेरिया"
+ },
+ "LA": {
+ "name": "लाओस"
+ },
+ "LV": {
+ "name": "लातविया"
+ },
+ "LI": {
+ "name": "लिचेंसà¥à¤Ÿà¥€à¤¨"
+ },
+ "LT": {
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¾"
+ },
+ "LY": {
+ "name": "लीबिया"
+ },
+ "LB": {
+ "name": "लेबनान"
+ },
+ "LS": {
+ "name": "लेसोथो"
+ },
+ "VU": {
+ "name": "वनà¥à¤†à¤¤à¥‚"
+ },
+ "WF": {
+ "name": "वालिस और फ़à¥à¤¯à¥‚चूना"
+ },
+ "VN": {
+ "name": "वियतनाम"
+ },
+ "VA": {
+ "name": "वेटिकन सिटी"
+ },
+ "VE": {
+ "name": "वेनेज़à¥à¤à¤²à¤¾"
+ },
+ "LK": {
+ "name": "शà¥à¤°à¥€à¤²à¤‚का"
+ },
+ "AE": {
+ "name": "संयà¥à¤•à¥à¤¤ अरब अमीरात"
+ },
+ "US": {
+ "name": "संयà¥à¤•à¥à¤¤ राजà¥à¤¯"
+ },
+ "SA": {
+ "name": "सऊदी अरब"
+ },
+ "WS": {
+ "name": "समोआ"
+ },
+ "RS": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "CY": {
+ "name": "साइपà¥à¤°à¤¸"
+ },
+ "ST": {
+ "name": "साओ टोम और पà¥à¤°à¤¿à¤‚सिपे"
+ },
+ "SG": {
+ "name": "सिंगापà¥à¤°"
+ },
+ "SX": {
+ "name": "सिंट मारà¥à¤Ÿà¤¿à¤¨"
+ },
+ "SL": {
+ "name": "सिà¤à¤°à¤¾ लियोन"
+ },
+ "SY": {
+ "name": "सीरिया"
+ },
+ "SD": {
+ "name": "सूडान"
+ },
+ "SR": {
+ "name": "सूरीनाम"
+ },
+ "KN": {
+ "name": "सेंट किटà¥à¤¸ और नेविस"
+ },
+ "PM": {
+ "name": "सेंट पिà¤à¤°à¥‡ और मिकà¥à¤µà¥‡à¤²à¤¾à¤¨"
+ },
+ "BL": {
+ "name": "सेंट बारà¥à¤¥à¥‡à¤²à¥‡à¤®à¥€"
+ },
+ "MF": {
+ "name": "सेंट मारà¥à¤Ÿà¤¿à¤¨"
+ },
+ "LC": {
+ "name": "सेंट लूसिया"
+ },
+ "VC": {
+ "name": "सेंट विंसेंट और गà¥à¤°à¥‡à¤¨à¤¾à¤¡à¤¾à¤‡à¤‚स"
+ },
+ "SH": {
+ "name": "सेंट हेलेना"
+ },
+ "EA": {
+ "name": "सेउटा और मेलिला"
+ },
+ "SN": {
+ "name": "सेनेगल"
+ },
+ "SC": {
+ "name": "सेशेलà¥à¤¸"
+ },
+ "SM": {
+ "name": "सैन मेरीनो"
+ },
+ "SO": {
+ "name": "सोमालिया"
+ },
+ "SB": {
+ "name": "सोलोमन दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह"
+ },
+ "ES": {
+ "name": "सà¥à¤ªà¥‡à¤¨"
+ },
+ "SK": {
+ "name": "सà¥à¤²à¥‹à¤µà¤¾à¤•à¤¿à¤¯à¤¾"
+ },
+ "SI": {
+ "name": "सà¥à¤²à¥‹à¤µà¥‡à¤¨à¤¿à¤¯à¤¾"
+ },
+ "SZ": {
+ "name": "सà¥à¤µà¤¾à¤œà¤¼à¥€à¤²à¥ˆà¤‚ड"
+ },
+ "SJ": {
+ "name": "सà¥à¤µà¤¾à¤²à¤¬à¤¾à¤°à¥à¤¡ और जान मायेन"
+ },
+ "CH": {
+ "name": "सà¥à¤µà¤¿à¤Ÿà¥à¤œà¤¼à¤°à¤²à¥ˆà¤‚ड"
+ },
+ "SE": {
+ "name": "सà¥à¤µà¥€à¤¡à¤¨"
+ },
+ "HU": {
+ "name": "हंगरी"
+ },
+ "HK": {
+ "name": "हाà¤à¤— काà¤à¤— (चीन विशेष पà¥à¤°à¤¶à¤¾à¤¸à¤¨à¤¿à¤• कà¥à¤·à¥‡à¤¤à¥à¤°)"
+ },
+ "HT": {
+ "name": "हैती"
+ },
+ "HN": {
+ "name": "होंडूरास"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/hr.json b/library/intl/resources/country/hr.json
new file mode 100644
index 000000000..ce93f3fcf
--- /dev/null
+++ b/library/intl/resources/country/hr.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžir"
+ },
+ "AS": {
+ "name": "AmeriÄka Samoa"
+ },
+ "VI": {
+ "name": "AmeriÄki DjeviÄanski Otoci"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua i Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenija"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AZ": {
+ "name": "Azerbajdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Bjelorusija"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna i Hercegovina"
+ },
+ "CX": {
+ "name": "Božićni Otok"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britanski DjeviÄanski Otoci"
+ },
+ "IO": {
+ "name": "Britanski Indijskooceanski Teritorij"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bugarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "EA": {
+ "name": "Ceuta i Melilla"
+ },
+ "CY": {
+ "name": "Cipar"
+ },
+ "CK": {
+ "name": "Cookovi Otoci"
+ },
+ "ME": {
+ "name": "Crna Gora"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "ÄŒad"
+ },
+ "CZ": {
+ "name": "Češka Republika"
+ },
+ "CL": {
+ "name": "ÄŒile"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska Republika"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipat"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorska Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FK": {
+ "name": "Falklandski Otoci"
+ },
+ "FO": {
+ "name": "Farski Otoci"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FR": {
+ "name": "Francuska"
+ },
+ "GF": {
+ "name": "Francuska Gvajana"
+ },
+ "PF": {
+ "name": "Francuska Polinezija"
+ },
+ "TF": {
+ "name": "Francuske Južne i AntarktiÄke Zemlje"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "GrÄka"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenland"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GP": {
+ "name": "Guadalupa"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja Bisau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong PUP Kina"
+ },
+ "HR": {
+ "name": "Hrvatska"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "TL": {
+ "name": "IstoÄni Timor"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "GS": {
+ "name": "Južna Georgija i Južni SendviÄki Otoci"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "JužnoafriÄka Republika"
+ },
+ "KY": {
+ "name": "Kajmanski Otoci"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarski Otoci"
+ },
+ "BQ": {
+ "name": "Karipski otoci Nizozemske"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosovi (Keeling) Otoci"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komori"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo - Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvija"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Mađarska"
+ },
+ "MO": {
+ "name": "Makao PUP Kina"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "UM": {
+ "name": "Mali udaljeni otoci SAD-a"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalovi Otoci"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Mauricijus"
+ },
+ "MR": {
+ "name": "Mauritanija"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "MM": {
+ "name": "Mijanmar (Burma)"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NL": {
+ "name": "Nizozemska"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Novi Zeland"
+ },
+ "DE": {
+ "name": "NjemaÄka"
+ },
+ "CI": {
+ "name": "Obala Bjelokosti"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AX": {
+ "name": "Otoci Aland"
+ },
+ "PN": {
+ "name": "Otoci Pitcairn"
+ },
+ "TC": {
+ "name": "Otoci Turks i Caicos"
+ },
+ "AC": {
+ "name": "Otok Ascension"
+ },
+ "IM": {
+ "name": "Otok Man"
+ },
+ "NF": {
+ "name": "Otok Norfolk"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinsko PodruÄje"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunjska"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "SB": {
+ "name": "Salomonski Otoci"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SA": {
+ "name": "Saudijska Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Sijera Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "US": {
+ "name": "Sjedinjene AmeriÄke Države"
+ },
+ "KP": {
+ "name": "Sjeverna Koreja"
+ },
+ "MP": {
+ "name": "Sjeverni Marijanski Otoci"
+ },
+ "SK": {
+ "name": "SlovaÄka"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "CF": {
+ "name": "SrednjoafriÄka Republika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svazi"
+ },
+ "SH": {
+ "name": "Sveta Helena"
+ },
+ "LC": {
+ "name": "Sveta Lucija"
+ },
+ "VA": {
+ "name": "Sveta Stolica"
+ },
+ "BL": {
+ "name": "Sveti Bartolomej"
+ },
+ "KN": {
+ "name": "Sveti Kristofor i Nevis"
+ },
+ "MF": {
+ "name": "Sveti Martin"
+ },
+ "PM": {
+ "name": "Sveti Petar i Mikelon"
+ },
+ "ST": {
+ "name": "Sveti Toma i Princip"
+ },
+ "VC": {
+ "name": "Sveti Vincent i Grenadini"
+ },
+ "ES": {
+ "name": "Å panjolska"
+ },
+ "LK": {
+ "name": "Å ri Lanka"
+ },
+ "SE": {
+ "name": "Å vedska"
+ },
+ "CH": {
+ "name": "Å vicarska"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajland"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "Ujedinjeni Arapski Emirati"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "GB": {
+ "name": "Velika Britanija"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vijetnam"
+ },
+ "WF": {
+ "name": "Wallis i Futuna"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "CV": {
+ "name": "Zelenortska Republika"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/hsb.json b/library/intl/resources/country/hsb.json
new file mode 100644
index 000000000..75614ad74
--- /dev/null
+++ b/library/intl/resources/country/hsb.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land"
+ },
+ "AL": {
+ "name": "Albanska"
+ },
+ "DZ": {
+ "name": "Algeriska"
+ },
+ "UM": {
+ "name": "Ameriska Oceaniska"
+ },
+ "AS": {
+ "name": "Ameriska Samoa"
+ },
+ "VI": {
+ "name": "Ameriske knježniske kupy"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "AR": {
+ "name": "Argentinska"
+ },
+ "AM": {
+ "name": "Armenska"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Awstralska"
+ },
+ "AT": {
+ "name": "Awstriska"
+ },
+ "AZ": {
+ "name": "Azerbajdźan"
+ },
+ "BS": {
+ "name": "Bahamy"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgiska"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BY": {
+ "name": "Běłoruska"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudy"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BG": {
+ "name": "Bołharska"
+ },
+ "BO": {
+ "name": "Boliwiska"
+ },
+ "BA": {
+ "name": "Bosniska a Hercegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilska"
+ },
+ "VG": {
+ "name": "Britiske knježniske kupy"
+ },
+ "IO": {
+ "name": "Britiski teritorij w Indiskim oceanje"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "TD": {
+ "name": "ÄŒad"
+ },
+ "CF": {
+ "name": "Centralnoafriska republika"
+ },
+ "CZ": {
+ "name": "Čěska republika"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CL": {
+ "name": "Chilska"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "HR": {
+ "name": "Chorwatska"
+ },
+ "CK": {
+ "name": "Cookowe kupy"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypern"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska republika"
+ },
+ "DJ": {
+ "name": "Dźibuti"
+ },
+ "EG": {
+ "name": "Egyptowska"
+ },
+ "EC": {
+ "name": "Ekwador"
+ },
+ "GQ": {
+ "name": "Ekwatorialna Gineja"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estiska"
+ },
+ "ET": {
+ "name": "Etiopiska"
+ },
+ "FK": {
+ "name": "Falklandske kupy"
+ },
+ "FO": {
+ "name": "Färöske kupy"
+ },
+ "FJ": {
+ "name": "Fidźi"
+ },
+ "PH": {
+ "name": "Filipiny"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FR": {
+ "name": "Francoska"
+ },
+ "GF": {
+ "name": "Francoska Guyana"
+ },
+ "PF": {
+ "name": "Francoska Polyneziska"
+ },
+ "TF": {
+ "name": "Francoski južny a antarktiski teritorij"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GE": {
+ "name": "Georgiska"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gineja"
+ },
+ "GW": {
+ "name": "Gineja-Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grjekska"
+ },
+ "GL": {
+ "name": "Grönlandska"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "CX": {
+ "name": "Hodowna kupa"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indiska"
+ },
+ "ID": {
+ "name": "Indoneska"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Islandska"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italska"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japanska"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordaniska"
+ },
+ "ZA": {
+ "name": "Južna Afrika (Republika)"
+ },
+ "GS": {
+ "name": "Južna Georgiska a Južne Sandwichowe kupy"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južny Sudan"
+ },
+ "KY": {
+ "name": "Kajmanske kupy"
+ },
+ "KH": {
+ "name": "Kambodźa"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariske kupy"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibiska Nižozemska"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosowe kupy"
+ },
+ "CO": {
+ "name": "Kolumbiska"
+ },
+ "KM": {
+ "name": "Komory"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosowo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "TC": {
+ "name": "kupy Turks a Caicos"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letiska"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libyska"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litawska"
+ },
+ "LU": {
+ "name": "Luxemburgska"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Madźarska"
+ },
+ "MK": {
+ "name": "Makedonska"
+ },
+ "MY": {
+ "name": "Malajzija"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediwy"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Man"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallowe kupy"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "MR": {
+ "name": "Mawretanska"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikroneziska"
+ },
+ "MD": {
+ "name": "Moldawska"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolska"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "Němska"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NL": {
+ "name": "Nižozemska"
+ },
+ "NF": {
+ "name": "Norfolkowa kupa"
+ },
+ "NO": {
+ "name": "Norwegska"
+ },
+ "NC": {
+ "name": "Nowa Kaledoniska"
+ },
+ "NZ": {
+ "name": "Nowoseelandska"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinski awtonomny teritorij"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwa-Nowa Gineja"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnowe kupy"
+ },
+ "PL": {
+ "name": "Pólska"
+ },
+ "PT": {
+ "name": "Portugalska"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunska"
+ },
+ "RU": {
+ "name": "Ruska"
+ },
+ "SB": {
+ "name": "Salomony"
+ },
+ "ZM": {
+ "name": "Sambija"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé a Príncipe"
+ },
+ "SA": {
+ "name": "Sawdi-Arabska"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbiska"
+ },
+ "KP": {
+ "name": "Sewjerna Koreja"
+ },
+ "MP": {
+ "name": "Sewjerne Mariany"
+ },
+ "SC": {
+ "name": "Seychelle"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "SÅ‚owakska"
+ },
+ "SI": {
+ "name": "SÅ‚owjenska"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "ES": {
+ "name": "Å paniska"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts a Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre a Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent a Grenadiny"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard a Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziska"
+ },
+ "SE": {
+ "name": "Å wedska"
+ },
+ "CH": {
+ "name": "Å wicarska"
+ },
+ "SY": {
+ "name": "Syriska"
+ },
+ "TJ": {
+ "name": "Tadźikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansanija"
+ },
+ "TH": {
+ "name": "Thailandska"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad a Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tuneziska"
+ },
+ "TM": {
+ "name": "Turkmeniska"
+ },
+ "TR": {
+ "name": "Turkowska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanske město"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "HK": {
+ "name": "Wosebita zarjadniska cona Hongkong"
+ },
+ "MO": {
+ "name": "Wosebita zarjadniska cona Macao"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "AE": {
+ "name": "Zjednoćene arabske emiraty"
+ },
+ "GB": {
+ "name": "Zjednoćene kralestwo"
+ },
+ "US": {
+ "name": "Zjednoćene staty Ameriki"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/hu.json b/library/intl/resources/country/hu.json
new file mode 100644
index 000000000..f08b47017
--- /dev/null
+++ b/library/intl/resources/country/hu.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganisztán"
+ },
+ "AX": {
+ "name": "Ã…land-szigetek"
+ },
+ "AL": {
+ "name": "Albánia"
+ },
+ "DZ": {
+ "name": "Algéria"
+ },
+ "UM": {
+ "name": "Amerikai Csendes-óceáni Szigetek"
+ },
+ "AS": {
+ "name": "Amerikai Szamoa"
+ },
+ "VI": {
+ "name": "Amerikai Virgin-szigetek"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktisz"
+ },
+ "AG": {
+ "name": "Antigua és Barbuda"
+ },
+ "AR": {
+ "name": "Argentína"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension-sziget"
+ },
+ "AU": {
+ "name": "Ausztrália"
+ },
+ "AT": {
+ "name": "Ausztria"
+ },
+ "AZ": {
+ "name": "Azerbajdzsán"
+ },
+ "BS": {
+ "name": "Bahama-szigetek"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Banglades"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhután"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bosznia-Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazília"
+ },
+ "IO": {
+ "name": "Brit Indiai-óceáni Terület"
+ },
+ "VG": {
+ "name": "Brit Virgin-szigetek"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta és Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CY": {
+ "name": "Ciprus"
+ },
+ "KM": {
+ "name": "Comore-szigetek"
+ },
+ "CK": {
+ "name": "Cook-szigetek"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "Csád"
+ },
+ "CZ": {
+ "name": "Csehország"
+ },
+ "DK": {
+ "name": "Dánia"
+ },
+ "ZA": {
+ "name": "Dél-afrikai Köztársaság"
+ },
+ "KR": {
+ "name": "Dél-Korea"
+ },
+ "SS": {
+ "name": "Dél-Szudán"
+ },
+ "GS": {
+ "name": "Déli-Georgia és Déli-Sandwich-szigetek"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikai Köztársaság"
+ },
+ "DJ": {
+ "name": "Dzsibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "GQ": {
+ "name": "Egyenlítői-Guinea"
+ },
+ "US": {
+ "name": "Egyesült Ãllamok"
+ },
+ "AE": {
+ "name": "Egyesült Arab Emirátus"
+ },
+ "GB": {
+ "name": "Egyesült Királyság"
+ },
+ "EG": {
+ "name": "Egyiptom"
+ },
+ "CI": {
+ "name": "Elefántcsontpart"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "KP": {
+ "name": "Észak-Korea"
+ },
+ "MP": {
+ "name": "Északi Mariana-szigetek"
+ },
+ "EE": {
+ "name": "Észtország"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FK": {
+ "name": "Falkland-szigetek"
+ },
+ "BY": {
+ "name": "Fehéroroszország"
+ },
+ "FO": {
+ "name": "Feröer-szigetek"
+ },
+ "FJ": {
+ "name": "Fidzsi-szigetek"
+ },
+ "FI": {
+ "name": "Finnország"
+ },
+ "TF": {
+ "name": "Francia Déli Területek"
+ },
+ "GF": {
+ "name": "Francia Guyana"
+ },
+ "PF": {
+ "name": "Francia Polinézia"
+ },
+ "FR": {
+ "name": "Franciaország"
+ },
+ "PH": {
+ "name": "Fülöp-szigetek"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghána"
+ },
+ "GI": {
+ "name": "Gibraltár"
+ },
+ "GR": {
+ "name": "Görögország"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GE": {
+ "name": "Grúzia"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "BQ": {
+ "name": "Holland Karib-térség"
+ },
+ "NL": {
+ "name": "Hollandia"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong SAR Kína"
+ },
+ "HR": {
+ "name": "Horvátország"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonézia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Ãrország"
+ },
+ "IS": {
+ "name": "Izland"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japán"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordánia"
+ },
+ "KY": {
+ "name": "Kajmán-szigetek"
+ },
+ "KH": {
+ "name": "Kambodzsa"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanári-szigetek"
+ },
+ "CX": {
+ "name": "Karácsony-sziget"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahsztán"
+ },
+ "TL": {
+ "name": "Kelet-Timor"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kína"
+ },
+ "KG": {
+ "name": "Kirgizisztán"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kókusz-szigetek"
+ },
+ "CO": {
+ "name": "Kolumbia"
+ },
+ "CG": {
+ "name": "Kongó - Brazzaville"
+ },
+ "CD": {
+ "name": "Kongó - Kinshasa"
+ },
+ "XK": {
+ "name": "Koszovó"
+ },
+ "CF": {
+ "name": "Közép-afrikai Köztársaság"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvait"
+ },
+ "LA": {
+ "name": "Laosz"
+ },
+ "PL": {
+ "name": "Lengyelország"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettország"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litvánia"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagaszkár"
+ },
+ "HU": {
+ "name": "Magyarország"
+ },
+ "MO": {
+ "name": "Makaó SAR Kína"
+ },
+ "MY": {
+ "name": "Malajzia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldív-szigetek"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Málta"
+ },
+ "IM": {
+ "name": "Man-sziget"
+ },
+ "MA": {
+ "name": "Marokkó"
+ },
+ "MH": {
+ "name": "Marshall-szigetek"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritánia"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexikó"
+ },
+ "MM": {
+ "name": "Mianmar (Burma)"
+ },
+ "FM": {
+ "name": "Mikronézia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "ME": {
+ "name": "Montenegró"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "Németország"
+ },
+ "NP": {
+ "name": "Nepál"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk-sziget"
+ },
+ "NO": {
+ "name": "Norvégia"
+ },
+ "EH": {
+ "name": "Nyugat-Szahara"
+ },
+ "IT": {
+ "name": "Olaszország"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "RU": {
+ "name": "Oroszország"
+ },
+ "AM": {
+ "name": "Örményország"
+ },
+ "PK": {
+ "name": "Pakisztán"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palesztin Terület"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Pápua Új-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn-szigetek"
+ },
+ "PT": {
+ "name": "Portugália"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RO": {
+ "name": "Románia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "KN": {
+ "name": "Saint Kitts és Nevis"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre és Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent és a Grenadine-szigetek"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "SB": {
+ "name": "Salamon-szigetek"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "LC": {
+ "name": "Santa Lucia"
+ },
+ "ST": {
+ "name": "Sao Tomé és Príncipe"
+ },
+ "SC": {
+ "name": "Seychelle-szigetek"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Spanyolország"
+ },
+ "SJ": {
+ "name": "Spitzbergák és Jan Mayen-szigetek"
+ },
+ "LK": {
+ "name": "Srí Lanka"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "CH": {
+ "name": "Svájc"
+ },
+ "SE": {
+ "name": "Svédország"
+ },
+ "WS": {
+ "name": "Szamoa"
+ },
+ "SA": {
+ "name": "Szaúd-Arábia"
+ },
+ "SN": {
+ "name": "Szenegál"
+ },
+ "SH": {
+ "name": "Szent Ilona"
+ },
+ "RS": {
+ "name": "Szerbia"
+ },
+ "SG": {
+ "name": "Szingapúr"
+ },
+ "SY": {
+ "name": "Szíria"
+ },
+ "SK": {
+ "name": "Szlovákia"
+ },
+ "SI": {
+ "name": "Szlovénia"
+ },
+ "SO": {
+ "name": "Szomália"
+ },
+ "SD": {
+ "name": "Szudán"
+ },
+ "SZ": {
+ "name": "Szváziföld"
+ },
+ "TJ": {
+ "name": "Tádzsikisztán"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzánia"
+ },
+ "TH": {
+ "name": "Thaiföld"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TR": {
+ "name": "Törökország"
+ },
+ "TT": {
+ "name": "Trinidad és Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunézia"
+ },
+ "TC": {
+ "name": "Turks- és Caicos-szigetek"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TM": {
+ "name": "Türkmenisztán"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "NC": {
+ "name": "Új-Kaledónia"
+ },
+ "NZ": {
+ "name": "Új-Zéland"
+ },
+ "UA": {
+ "name": "Ukrajna"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Üzbegisztán"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikán"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis- és Futuna-szigetek"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "CV": {
+ "name": "Zöld-foki Köztársaság"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/hy.json b/library/intl/resources/country/hy.json
new file mode 100644
index 000000000..09401a166
--- /dev/null
+++ b/library/intl/resources/country/hy.json
@@ -0,0 +1,761 @@
+{
+ "AZ": {
+ "name": "Ô±Õ¤Ö€Õ¢Õ¥Õ»Õ¡Õ¶"
+ },
+ "AX": {
+ "name": "Ô±Õ¬Õ¡Õ¶Õ¤ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "AL": {
+ "name": "Ô±Õ¬Õ¢Õ¡Õ¶Õ«Õ¡"
+ },
+ "DZ": {
+ "name": "Ô±Õ¬ÕªÕ«Ö€"
+ },
+ "US": {
+ "name": "Ô±Õ´Õ¥Ö€Õ«Õ¯Õ¡ÕµÕ« Õ„Õ«Õ¡ÖÕµÕ¡Õ¬ Õ†Õ¡Õ°Õ¡Õ¶Õ£Õ¶Õ¥Ö€"
+ },
+ "AS": {
+ "name": "Ô±Õ´Õ¥Ö€Õ«Õ¯ÕµÕ¡Õ¶ ÕÕ¡Õ´Õ¸Õ¡"
+ },
+ "VI": {
+ "name": "Ô±Õ´Õ¥Ö€Õ«Õ¯ÕµÕ¡Õ¶ ÕŽÕ«Ö€Õ»Õ«Õ¶ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "AI": {
+ "name": "Ô±Õ¶Õ£Õ«Õ¬Õ«Õ¡"
+ },
+ "AO": {
+ "name": "Ô±Õ¶Õ£Õ¸Õ¬Õ¡"
+ },
+ "AD": {
+ "name": "Ô±Õ¶Õ¤Õ¸Ö€Õ¡"
+ },
+ "AQ": {
+ "name": "Ô±Õ¶Õ¿Õ¡Ö€Õ¯Õ¿Õ«Õ¤Õ¡"
+ },
+ "AG": {
+ "name": "Ô±Õ¶Õ¿Õ«Õ£Õ¸Ö‚Õ¡ Ö‡ Ô²Õ¡Ö€Õ¢Õ¸Ö‚Õ¤Õ¡"
+ },
+ "AU": {
+ "name": "Ô±Õ¾Õ½Õ¿Ö€Õ¡Õ¬Õ«Õ¡"
+ },
+ "AT": {
+ "name": "Ô±Õ¾Õ½Õ¿Ö€Õ«Õ¡"
+ },
+ "AR": {
+ "name": "Ô±Ö€Õ£Õ¥Õ¶Õ¿Õ«Õ¶Õ¡"
+ },
+ "AW": {
+ "name": "Ô±Ö€Õ¸Ö‚Õ¢Õ¡"
+ },
+ "UM": {
+ "name": "Ô±Ö€Õ¿Õ¡Ö„Õ«Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€ (Ô±Õ„Õ†)"
+ },
+ "EH": {
+ "name": "Ô±Ö€Ö‡Õ´Õ¿ÕµÕ¡Õ¶ ÕÕ¡Õ°Õ¡Ö€Õ¡"
+ },
+ "AF": {
+ "name": "Ô±Ö†Õ²Õ¡Õ¶Õ½Õ¿Õ¡Õ¶"
+ },
+ "BS": {
+ "name": "Ô²Õ¡Õ°Õ¡Õ´ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "BH": {
+ "name": "Ô²Õ¡Õ°Ö€Õ¥ÕµÕ¶"
+ },
+ "BD": {
+ "name": "Ô²Õ¡Õ¶Õ£Õ¬Õ¡Õ¤Õ¥Õ·"
+ },
+ "BB": {
+ "name": "Ô²Õ¡Ö€Õ¢Õ¡Õ¤Õ¸Õ½"
+ },
+ "BY": {
+ "name": "Ô²Õ¥Õ¬Õ¡Õ¼Õ¸Ö‚Õ½"
+ },
+ "BE": {
+ "name": "Ô²Õ¥Õ¬Õ£Õ«Õ¡"
+ },
+ "BZ": {
+ "name": "Ô²Õ¥Õ¬Õ«Õ¦"
+ },
+ "BJ": {
+ "name": "Ô²Õ¥Õ¶Õ«Õ¶"
+ },
+ "BM": {
+ "name": "Ô²Õ¥Ö€Õ´Õ¸Ö‚Õ¤ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "BO": {
+ "name": "Ô²Õ¸Õ¬Õ«Õ¾Õ«Õ¡"
+ },
+ "BA": {
+ "name": "Ô²Õ¸Õ½Õ¶Õ«Õ¡ Ö‡ Õ€Õ¥Ö€ÖÕ¥Õ£Õ¸Õ¾Õ«Õ¶Õ¡"
+ },
+ "BW": {
+ "name": "Ô²Õ¸Õ¿Õ½Õ¾Õ¡Õ¶Õ¡"
+ },
+ "BT": {
+ "name": "Ô²Õ¸Ö‚Õ©Õ¡Õ¶"
+ },
+ "BG": {
+ "name": "Ô²Õ¸Ö‚Õ¬Õ²Õ¡Ö€Õ«Õ¡"
+ },
+ "BF": {
+ "name": "Ô²Õ¸Ö‚Ö€Õ¯Õ«Õ¶Õ¡ Õ–Õ¡Õ½Õ¸"
+ },
+ "BI": {
+ "name": "Ô²Õ¸Ö‚Ö€Õ¸Ö‚Õ¶Õ¤Õ«"
+ },
+ "BR": {
+ "name": "Ô²Ö€Õ¡Õ¦Õ«Õ¬Õ«Õ¡"
+ },
+ "VG": {
+ "name": "Ô²Ö€Õ«Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ ÕŽÕ«Ö€Õ»Õ«Õ¶ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "BN": {
+ "name": "Ô²Ö€Õ¸Ö‚Õ¶Õ¥Õµ"
+ },
+ "GA": {
+ "name": "Ô³Õ¡Õ¢Õ¸Õ¶"
+ },
+ "GM": {
+ "name": "Ô³Õ¡Õ´Õ¢Õ«Õ¡"
+ },
+ "GY": {
+ "name": "Ô³Õ¡ÕµÕ¡Õ¶Õ¡"
+ },
+ "GH": {
+ "name": "Ô³Õ¡Õ¶Õ¡"
+ },
+ "DE": {
+ "name": "Ô³Õ¥Ö€Õ´Õ¡Õ¶Õ«Õ¡"
+ },
+ "GG": {
+ "name": "Ô³Õ¥Ö€Õ¶Õ½Õ«"
+ },
+ "GU": {
+ "name": "Ô³Õ¸Ö‚Õ¡Õ´"
+ },
+ "GP": {
+ "name": "Ô³Õ¾Õ¡Õ¤Õ¥Õ¬Õ¸Ö‚ÕºÕ¡"
+ },
+ "GT": {
+ "name": "Ô³Õ¾Õ¡Õ¿Õ¥Õ´Õ¡Õ¬Õ¡"
+ },
+ "GN": {
+ "name": "Ô³Õ¾Õ«Õ¶Õ¥Õ¡"
+ },
+ "GW": {
+ "name": "Ô³Õ¾Õ«Õ¶Õ¥Õ¡-Ô²Õ«Õ½Õ¡Õ¸Ö‚"
+ },
+ "GD": {
+ "name": "Ô³Ö€Õ¥Õ¶Õ¡Õ¤Õ¡"
+ },
+ "GL": {
+ "name": "Ô³Ö€Õ¥Õ¶Õ¬Õ¡Õ¶Õ¤Õ«Õ¡"
+ },
+ "DK": {
+ "name": "Ô´Õ¡Õ¶Õ«Õ¡"
+ },
+ "DG": {
+ "name": "Ô´Õ«Õ¥Õ£Õ¸ Ô³Õ¡Ö€Õ½Õ«Õ¡"
+ },
+ "DM": {
+ "name": "Ô´Õ¸Õ´Õ«Õ¶Õ«Õ¯Õ¡"
+ },
+ "DO": {
+ "name": "Ô´Õ¸Õ´Õ«Õ¶Õ«Õ¯ÕµÕ¡Õ¶ Õ€Õ¡Õ¶Ö€Õ¡ÕºÕ¥Õ¿Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶"
+ },
+ "EG": {
+ "name": "ÔµÕ£Õ«ÕºÕ¿Õ¸Õ½"
+ },
+ "ET": {
+ "name": "ÔµÕ©Õ¸Õ¾ÕºÕ«Õ¡"
+ },
+ "YE": {
+ "name": "ÔµÕ´Õ¥Õ¶"
+ },
+ "ZM": {
+ "name": "Ô¶Õ¡Õ´Õ¢Õ«Õ¡"
+ },
+ "ZW": {
+ "name": "Ô¶Õ«Õ´Õ¢Õ¡Õ¢Õ¾Õ¥"
+ },
+ "EC": {
+ "name": "Ô·Õ¯Õ¾Õ¡Õ¤Õ¸Ö€"
+ },
+ "EE": {
+ "name": "Ô·Õ½Õ¿Õ¸Õ¶Õ«Õ¡"
+ },
+ "ER": {
+ "name": "Ô·Ö€Õ«Õ¿Ö€Õ¥Õ¡"
+ },
+ "TH": {
+ "name": "Ô¹Õ¡Õ«Õ¬Õ¡Õ¶Õ¤"
+ },
+ "TW": {
+ "name": "Ô¹Õ¡ÕµÕ¾Õ¡Õ¶"
+ },
+ "TL": {
+ "name": "Ô¹Õ«Õ´Õ¸Ö€-Ô¼Õ¥Õ½Õ¿Õ¥"
+ },
+ "TN": {
+ "name": "Ô¹Õ¸Ö‚Õ¶Õ«Õ½"
+ },
+ "TR": {
+ "name": "Ô¹Õ¸Ö‚Ö€Ö„Õ«Õ¡"
+ },
+ "TM": {
+ "name": "Ô¹Õ¸Ö‚Ö€Ö„Õ´Õ¥Õ¶Õ½Õ¿Õ¡Õ¶"
+ },
+ "ID": {
+ "name": "Ô»Õ¶Õ¤Õ¸Õ¶Õ¥Õ¦Õ«Õ¡"
+ },
+ "IE": {
+ "name": "Ô»Õ¼Õ¬Õ¡Õ¶Õ¤Õ«Õ¡"
+ },
+ "IS": {
+ "name": "Ô»Õ½Õ¬Õ¡Õ¶Õ¤Õ«Õ¡"
+ },
+ "ES": {
+ "name": "Ô»Õ½ÕºÕ¡Õ¶Õ«Õ¡"
+ },
+ "IL": {
+ "name": "Ô»Õ½Ö€Õ¡ÕµÕ¥Õ¬"
+ },
+ "IT": {
+ "name": "Ô»Õ¿Õ¡Õ¬Õ«Õ¡"
+ },
+ "IR": {
+ "name": "Ô»Ö€Õ¡Õ¶"
+ },
+ "IQ": {
+ "name": "Ô»Ö€Õ¡Ö„"
+ },
+ "LA": {
+ "name": "Ô¼Õ¡Õ¸Õ½"
+ },
+ "LV": {
+ "name": "Ô¼Õ¡Õ¿Õ¾Õ«Õ¡"
+ },
+ "PL": {
+ "name": "Ô¼Õ¥Õ°Õ¡Õ½Õ¿Õ¡Õ¶"
+ },
+ "LS": {
+ "name": "Ô¼Õ¥Õ½Õ¸Õ¿Õ¸"
+ },
+ "LB": {
+ "name": "Ô¼Õ«Õ¢Õ¡Õ¶Õ¡Õ¶"
+ },
+ "LR": {
+ "name": "Ô¼Õ«Õ¢Õ¥Ö€Õ«Õ¡"
+ },
+ "LY": {
+ "name": "Ô¼Õ«Õ¢Õ«Õ¡"
+ },
+ "LI": {
+ "name": "Ô¼Õ«Õ­Õ¿Õ¥Õ¶Õ·Õ¿Õ¥ÕµÕ¶"
+ },
+ "LT": {
+ "name": "Ô¼Õ«Õ¿Õ¾Õ¡"
+ },
+ "LU": {
+ "name": "Ô¼ÕµÕ¸Ö‚Ö„Õ½Õ¥Õ´Õ¢Õ¸Ö‚Ö€Õ£"
+ },
+ "HR": {
+ "name": "Ô½Õ¸Ö€Õ¾Õ¡Õ©Õ«Õ¡"
+ },
+ "CX": {
+ "name": "Ô¾Õ¶Õ¶Õ¤ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«"
+ },
+ "CV": {
+ "name": "Ô¿Õ¡Õ¢Õ¸ ÕŽÕ¥Ö€Õ¤Õ¥"
+ },
+ "KH": {
+ "name": "Ô¿Õ¡Õ´Õ¢Õ¸Õ»Õ¡"
+ },
+ "CM": {
+ "name": "Ô¿Õ¡Õ´Õ¥Ö€Õ¸Ö‚Õ¶"
+ },
+ "KY": {
+ "name": "Ô¿Õ¡ÕµÕ´Õ¡Õ¶ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "CA": {
+ "name": "Ô¿Õ¡Õ¶Õ¡Õ¤Õ¡"
+ },
+ "IC": {
+ "name": "Ô¿Õ¡Õ¶Õ¡Ö€ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "QA": {
+ "name": "Ô¿Õ¡Õ¿Õ¡Ö€"
+ },
+ "BQ": {
+ "name": "Ô¿Õ¡Ö€Õ«Õ¢ÕµÕ¡Õ¶ Õ†Õ«Õ¤Õ¥Ö€Õ¬Õ¡Õ¶Õ¤Õ¶Õ¥Ö€"
+ },
+ "CF": {
+ "name": "Ô¿Õ¥Õ¶Õ¿Ö€Õ¸Õ¶Õ¡Õ¯Õ¡Õ¶ Ô±Ö†Ö€Õ«Õ¯ÕµÕ¡Õ¶ Õ€Õ¡Õ¶Ö€Õ¡ÕºÕ¥Õ¿Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶"
+ },
+ "CY": {
+ "name": "Ô¿Õ«ÕºÖ€Õ¸Õ½"
+ },
+ "KI": {
+ "name": "Ô¿Õ«Ö€Õ«Õ¢Õ¡Õ¿Õ«"
+ },
+ "CW": {
+ "name": "Ô¿ÕµÕ¸Ö‚Ö€Õ¡Õ½Õ¡Õ¸"
+ },
+ "CO": {
+ "name": "Ô¿Õ¸Õ¬Õ¸Ö‚Õ´Õ¢Õ«Õ¡"
+ },
+ "CC": {
+ "name": "Ô¿Õ¸Õ¯Õ¸Õ½ÕµÕ¡Õ¶ (Õ”Õ«Õ¬Õ«Õ¶Õ£) Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "KM": {
+ "name": "Ô¿Õ¸Õ´Õ¸Ö€ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "CG": {
+ "name": "Ô¿Õ¸Õ¶Õ£Õ¸ - Ô²Ö€Õ¡Õ¦Õ¡Õ¾Õ«Õ¬"
+ },
+ "CD": {
+ "name": "Ô¿Õ¸Õ¶Õ£Õ¸ - Ô¿Õ«Õ¶Õ·Õ¡Õ½Õ¡"
+ },
+ "XK": {
+ "name": "Ô¿Õ¸Õ½Õ¸Õ¾Õ¸"
+ },
+ "CR": {
+ "name": "Կոստա-Ռիկա"
+ },
+ "CU": {
+ "name": "Ô¿Õ¸Ö‚Õ¢Õ¡"
+ },
+ "CK": {
+ "name": "Ô¿Õ¸Ö‚Õ¯Õ« Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "HT": {
+ "name": "Õ€Õ¡Õ«Õ©Õ«"
+ },
+ "AC": {
+ "name": "Õ€Õ¡Õ´Õ¢Õ¡Ö€Õ±Õ´Õ¡Õ¶ Õ¯Õ²Õ¦Õ«"
+ },
+ "AM": {
+ "name": "Õ€Õ¡ÕµÕ¡Õ½Õ¿Õ¡Õ¶"
+ },
+ "GQ": {
+ "name": "Õ€Õ¡Õ½Õ¡Ö€Õ¡Õ¯Õ¡Õ®Õ¡ÕµÕ«Õ¶ Ô³Õ¾Õ«Õ¶Õ¥Õ¡"
+ },
+ "KR": {
+ "name": "Õ€Õ¡Ö€Õ¡Õ¾Õ¡ÕµÕ«Õ¶ Ô¿Õ¸Ö€Õ¥Õ¡"
+ },
+ "GS": {
+ "name": "Õ€Õ¡Ö€Õ¡Õ¾Õ¡ÕµÕ«Õ¶ Õ‹Õ¸Ö€Õ»Õ«Õ¡ Ö‡ Õ€Õ¡Ö€Õ¡Õ¾Õ¡ÕµÕ«Õ¶ ÕÕ¥Õ¶Õ¤Õ¾Õ«Õ¹ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "SS": {
+ "name": "Õ€Õ¡Ö€Õ¡Õ¾Õ¡ÕµÕ«Õ¶ ÕÕ¸Ö‚Õ¤Õ¡Õ¶"
+ },
+ "ZA": {
+ "name": "Õ€Õ¡Ö€Õ¡Õ¾Õ¡Ö†Ö€Õ«Õ¯ÕµÕ¡Õ¶ Õ€Õ¡Õ¶Ö€Õ¡ÕºÕ¥Õ¿Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶"
+ },
+ "KP": {
+ "name": "Õ€ÕµÕ¸Ö‚Õ½Õ«Õ½Õ¡ÕµÕ«Õ¶ Ô¿Õ¸Ö€Õ¥Õ¡"
+ },
+ "MP": {
+ "name": "Õ€ÕµÕ¸Ö‚Õ½Õ«Õ½Õ¡ÕµÕ«Õ¶ Õ„Õ¡Ö€Õ«Õ¡Õ¶ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "IO": {
+ "name": "Õ€Õ¶Õ¤Õ¯Õ¡Õ¯Õ¡Õ¶ Õ•Õ¾Õ¯Õ«Õ¡Õ¶Õ¸Õ½Õ¸Ö‚Õ´ Ô²Ö€Õ«Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ ÕÕ¡Ö€Õ¡Õ®Ö„"
+ },
+ "IN": {
+ "name": "Õ€Õ¶Õ¤Õ¯Õ¡Õ½Õ¿Õ¡Õ¶"
+ },
+ "HN": {
+ "name": "Õ€Õ¸Õ¶Õ¤Õ¸Ö‚Ö€Õ¡Õ½"
+ },
+ "HK": {
+ "name": "Õ€Õ¸Õ¶Õ¯Õ¸Õ¶Õ£Õ« Õ€ÕŽÕ‡"
+ },
+ "JO": {
+ "name": "Õ€Õ¸Ö€Õ¤Õ¡Õ¶Õ¡Õ¶"
+ },
+ "GR": {
+ "name": "Õ€Õ¸Ö‚Õ¶Õ¡Õ½Õ¿Õ¡Õ¶"
+ },
+ "HU": {
+ "name": "Õ€Õ¸Ö‚Õ¶Õ£Õ¡Ö€Õ«Õ¡"
+ },
+ "KZ": {
+ "name": "Õ‚Õ¡Õ¦Õ¡Õ­Õ½Õ¿Õ¡Õ¶"
+ },
+ "KG": {
+ "name": "Õ‚Ö€Õ²Õ¦Õ½Õ¿Õ¡Õ¶"
+ },
+ "JP": {
+ "name": "ÕƒÕ¡ÕºÕ¸Õ¶Õ«Õ¡"
+ },
+ "MG": {
+ "name": "Õ„Õ¡Õ¤Õ¡Õ£Õ¡Õ½Õ¯Õ¡Ö€"
+ },
+ "MY": {
+ "name": "Õ„Õ¡Õ¬Õ¡ÕµÕ¦Õ«Õ¡"
+ },
+ "MW": {
+ "name": "Õ„Õ¡Õ¬Õ¡Õ¾Õ«"
+ },
+ "MV": {
+ "name": "Õ„Õ¡Õ¬Õ¤Õ«Õ¾Õ¶Õ¥Ö€"
+ },
+ "MT": {
+ "name": "Õ„Õ¡Õ¬Õ©Õ¡"
+ },
+ "ML": {
+ "name": "Õ„Õ¡Õ¬Õ«"
+ },
+ "MK": {
+ "name": "Õ„Õ¡Õ¯Õ¥Õ¤Õ¸Õ¶Õ«Õ¡"
+ },
+ "YT": {
+ "name": "Õ„Õ¡ÕµÕ¸Õ¿"
+ },
+ "MU": {
+ "name": "Õ„Õ¡Õ¾Ö€Õ«Õ¯Õ«Õ¸Õ½"
+ },
+ "MR": {
+ "name": "Õ„Õ¡Õ¾Ö€Õ«Õ¿Õ¡Õ¶Õ«Õ¡"
+ },
+ "MH": {
+ "name": "Õ„Õ¡Ö€Õ·Õ¡Õ¬ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "MA": {
+ "name": "Õ„Õ¡Ö€Õ¸Õ¯Õ¸"
+ },
+ "MQ": {
+ "name": "Õ„Õ¡Ö€Õ¿Õ«Õ¶Õ«Õ¯Õ¡"
+ },
+ "IM": {
+ "name": "Õ„Õ¥Õ¶ Õ¯Õ²Õ¦Õ«"
+ },
+ "MX": {
+ "name": "Õ„Õ¥Ö„Õ½Õ«Õ¯Õ¡"
+ },
+ "AE": {
+ "name": "Õ„Õ«Õ¡ÖÕµÕ¡Õ¬ Ô±Ö€Õ¡Õ¢Õ¡Õ¯Õ¡Õ¶ Ô·Õ´Õ«Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€"
+ },
+ "GB": {
+ "name": "Õ„Õ«Õ¡ÖÕµÕ¡Õ¬ Ô¹Õ¡Õ£Õ¡Õ¾Õ¸Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶"
+ },
+ "FM": {
+ "name": "Õ„Õ«Õ¯Ö€Õ¸Õ¶Õ¥Õ¦Õ«Õ¡"
+ },
+ "MM": {
+ "name": "Õ„ÕµÕ¡Õ¶Õ´Õ¡ (Ô²Õ«Ö€Õ´Õ¡)"
+ },
+ "MZ": {
+ "name": "Õ„Õ¸Õ¦Õ¡Õ´Õ¢Õ«Õ¯"
+ },
+ "MD": {
+ "name": "Õ„Õ¸Õ¬Õ¤Õ¸Õ¾Õ¡"
+ },
+ "MC": {
+ "name": "Õ„Õ¸Õ¶Õ¡Õ¯Õ¸"
+ },
+ "MN": {
+ "name": "Õ„Õ¸Õ¶Õ²Õ¸Õ¬Õ«Õ¡"
+ },
+ "MS": {
+ "name": "Õ„Õ¸Õ¶Õ¿Õ½Õ¥Ö€Õ¡Õ¿"
+ },
+ "NA": {
+ "name": "Õ†Õ¡Õ´Õ«Õ¢Õ«Õ¡"
+ },
+ "NR": {
+ "name": "Õ†Õ¡Õ¸Ö‚Ö€Õ¸Ö‚"
+ },
+ "NP": {
+ "name": "Õ†Õ¥ÕºÕ¡Õ¬"
+ },
+ "NE": {
+ "name": "Õ†Õ«Õ£Õ¥Ö€"
+ },
+ "NG": {
+ "name": "Õ†Õ«Õ£Õ¥Ö€Õ«Õ¡"
+ },
+ "NL": {
+ "name": "Õ†Õ«Õ¤Õ¥Ö€Õ¬Õ¡Õ¶Õ¤Õ¥Ö€"
+ },
+ "NI": {
+ "name": "Õ†Õ«Õ¯Õ¡Ö€Õ¡Õ£Õ¸Ö‚Õ¡"
+ },
+ "NU": {
+ "name": "Õ†Õ«Õ¸Ö‚Õ¥"
+ },
+ "NZ": {
+ "name": "Õ†Õ¸Ö€ Ô¶Õ¥Õ¬Õ¡Õ¶Õ¤Õ«Õ¡"
+ },
+ "NC": {
+ "name": "Õ†Õ¸Ö€ Ô¿Õ¡Õ¬Õ¥Õ¤Õ¸Õ¶Õ«Õ¡"
+ },
+ "NO": {
+ "name": "Õ†Õ¸Ö€Õ¾Õ¥Õ£Õ«Õ¡"
+ },
+ "NF": {
+ "name": "Õ†Õ¸Ö€Ö†Õ¸Õ¬Õ¯ Õ¯Õ²Õ¦Õ«"
+ },
+ "SE": {
+ "name": "Õ‡Õ¾Õ¥Õ¤Õ«Õ¡"
+ },
+ "CH": {
+ "name": "Õ‡Õ¾Õ¥ÕµÖÕ¡Ö€Õ«Õ¡"
+ },
+ "LK": {
+ "name": "Õ‡Ö€Õ« Ô¼Õ¡Õ¶Õ¯Õ¡"
+ },
+ "UG": {
+ "name": "ÕˆÖ‚Õ£Õ¡Õ¶Õ¤Õ¡"
+ },
+ "UZ": {
+ "name": "ÕˆÖ‚Õ¦Õ¢Õ¥Õ¯Õ½Õ¿Õ¡Õ¶"
+ },
+ "UA": {
+ "name": "ÕˆÖ‚Õ¯Ö€Õ¡Õ«Õ¶Õ¡"
+ },
+ "WF": {
+ "name": "ÕˆÖ‚Õ¸Õ¬Õ«Õ½ Ö‡ Õ–Õ¸Ö‚Õ¿Õ¸Ö‚Õ¶Õ¡"
+ },
+ "UY": {
+ "name": "ÕˆÖ‚Ö€Õ¸Ö‚Õ£Õ¾Õ¡Õµ"
+ },
+ "TD": {
+ "name": "Õ‰Õ¡Õ¤"
+ },
+ "CZ": {
+ "name": "Õ‰Õ¥Õ­Õ«Õ¡"
+ },
+ "ME": {
+ "name": "Õ‰Õ¥Õ¼Õ¶Õ¸Õ£Õ¸Ö€Õ«Õ¡"
+ },
+ "CL": {
+ "name": "Õ‰Õ«Õ¬Õ«"
+ },
+ "CN": {
+ "name": "Õ‰Õ«Õ¶Õ¡Õ½Õ¿Õ¡Õ¶"
+ },
+ "MO": {
+ "name": "Õ‰Õ«Õ¶Õ¡Õ½Õ¿Õ¡Õ¶Õ« Õ„Õ¡Õ¯Õ¡Õ¸ Õ€ÕŽÕ‡"
+ },
+ "PW": {
+ "name": "ÕŠÕ¡Õ¬Õ¡Õ¸Ö‚"
+ },
+ "PK": {
+ "name": "ÕŠÕ¡Õ¯Õ«Õ½Õ¿Õ¡Õ¶"
+ },
+ "PS": {
+ "name": "ÕŠÕ¡Õ²Õ¥Õ½Õ¿Õ«Õ¶ÕµÕ¡Õ¶ Õ¿Õ¡Ö€Õ¡Õ®Ö„Õ¶Õ¥Ö€"
+ },
+ "PA": {
+ "name": "ÕŠÕ¡Õ¶Õ¡Õ´Õ¡"
+ },
+ "PG": {
+ "name": "ÕŠÕ¡ÕºÕ¸Ö‚Õ¡ Õ†Õ¸Ö€ Ô³Õ¾Õ«Õ¶Õ¥Õ¡"
+ },
+ "PY": {
+ "name": "ÕŠÕ¡Ö€Õ¡Õ£Õ¾Õ¡Õµ"
+ },
+ "PE": {
+ "name": "ÕŠÕ¥Ö€Õ¸Ö‚"
+ },
+ "PN": {
+ "name": "ÕŠÕ«Õ¿Õ¯Õ¥Õ¼Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "PT": {
+ "name": "ÕŠÕ¸Ö€Õ¿Õ¸Ö‚Õ£Õ¡Õ¬Õ«Õ¡"
+ },
+ "PR": {
+ "name": "Պուերտո Ռիկո"
+ },
+ "JM": {
+ "name": "Õ‹Õ¡Õ´Õ¡ÕµÕ¯Õ¡"
+ },
+ "JE": {
+ "name": "Õ‹Õ¥Ö€Õ½Õ«"
+ },
+ "DJ": {
+ "name": "Õ‹Õ«Õ¢Õ¸Ö‚Õ¿Õ«"
+ },
+ "GI": {
+ "name": "Õ‹Õ«Õ¢Ö€Õ¡Õ¬Õ©Õ¡Ö€"
+ },
+ "RE": {
+ "name": "Ռեյունիոն"
+ },
+ "RW": {
+ "name": "Ռուանդա"
+ },
+ "RO": {
+ "name": "Ռումինիա"
+ },
+ "RU": {
+ "name": "Ռուսաստան"
+ },
+ "SV": {
+ "name": "ÕÕ¡Õ¬Õ¾Õ¡Õ¤Õ¸Ö€"
+ },
+ "WS": {
+ "name": "ÕÕ¡Õ´Õ¸Õ¡"
+ },
+ "SM": {
+ "name": "ÕÕ¡Õ¶ Õ„Õ¡Ö€Õ«Õ¶Õ¸"
+ },
+ "ST": {
+ "name": "ÕÕ¡Õ¶ ÕÕ¸Õ´Õ¥ Ö‡ ÕŠÖ€Õ«Õ¶Õ½Õ«ÕºÕ«"
+ },
+ "SA": {
+ "name": "ÕÕ¡Õ¸Ö‚Õ¤ÕµÕ¡Õ¶ Ô±Ö€Õ¡Õ¢Õ«Õ¡"
+ },
+ "SC": {
+ "name": "ÕÕ¥ÕµÕ·Õ¥Õ¬ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "MF": {
+ "name": "ÕÕ¥Õ¶ Õ„Õ¡Ö€Õ¿Õ¥Õ¶"
+ },
+ "PM": {
+ "name": "ÕÕ¥Õ¶ ÕŠÕ«Õ¥Ö€ Ö‡ Õ„Õ«Õ¯Õ¥Õ¬Õ¸Õ¶"
+ },
+ "SN": {
+ "name": "ÕÕ¥Õ¶Õ¥Õ£Õ¡Õ¬"
+ },
+ "LC": {
+ "name": "ÕÕ¥Õ¶Õ© Ô¼ÕµÕ¸Ö‚Õ½Õ«Õ¡"
+ },
+ "VC": {
+ "name": "ÕÕ¥Õ¶Õ© ÕŽÕ«Õ½Õ¥Õ¶Õ¿ Ö‡ Ô³Ö€Õ¥Õ¶Õ¡Õ¤Õ«Õ¶Õ¶Õ¥Ö€"
+ },
+ "KN": {
+ "name": "ÕÕ¥Õ¶Õ© Õ”Õ«Õ©Õ½ Ö‡ Õ†Ö‡Õ«Õ½"
+ },
+ "EA": {
+ "name": "ÕÕ¥Õ¸Ö‚Õ¿Õ¡ Ö‡ Õ„Õ¥Õ¬Õ«Õ¬ÕµÕ¡"
+ },
+ "RS": {
+ "name": "ÕÕ¥Ö€Õ¢Õ«Õ¡"
+ },
+ "SG": {
+ "name": "ÕÕ«Õ¶Õ£Õ¡ÕºÕ¸Ö‚Ö€"
+ },
+ "SX": {
+ "name": "ÕÕ«Õ¶Õ¿ Õ„Õ¡Ö€Õ¿Õ¥Õ¶"
+ },
+ "SY": {
+ "name": "ÕÕ«Ö€Õ«Õ¡"
+ },
+ "SK": {
+ "name": "ÕÕ¬Õ¸Õ¾Õ¡Õ¯Õ«Õ¡"
+ },
+ "SI": {
+ "name": "ÕÕ¬Õ¸Õ¾Õ¥Õ¶Õ«Õ¡"
+ },
+ "SL": {
+ "name": "ÕÕµÕ¥Ö€Õ¡-Ô¼Õ¥Õ¸Õ¶Õ¥"
+ },
+ "SB": {
+ "name": "ÕÕ¸Õ²Õ¸Õ´Õ¸Õ¶ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "SO": {
+ "name": "ÕÕ¸Õ´Õ¡Õ¬Õ«"
+ },
+ "SD": {
+ "name": "ÕÕ¸Ö‚Õ¤Õ¡Õ¶"
+ },
+ "BL": {
+ "name": "ÕÕ¸Ö‚Ö€Õ¢ Ô²Õ¡Ö€Õ©Õ¸Õ²Õ¸Õ´Õ¥Õ¸Õ½Õ« Õ¯Õ²Õ¦Õ«"
+ },
+ "SH": {
+ "name": "ÕÕ¸Ö‚Ö€Õ¢ Õ€Õ¥Õ²Õ«Õ¶Õ¥Õ« Õ¯Õ²Õ¦Õ«"
+ },
+ "SR": {
+ "name": "ÕÕ¸Ö‚Ö€Õ«Õ¶Õ¡Õ´"
+ },
+ "SZ": {
+ "name": "ÕÕ¾Õ¡Õ¦Õ«Õ¬Õ¥Õ¶Õ¤"
+ },
+ "SJ": {
+ "name": "ÕÕ¾Õ¡Õ¬Õ¢Õ¡Ö€Õ¤ Ö‡ Õ…Õ¡Õ¶-Õ„Õ¡ÕµÕ¥Õ¶"
+ },
+ "VU": {
+ "name": "ÕŽÕ¡Õ¶Õ¸Ö‚Õ¡Õ¿Õ¸Ö‚"
+ },
+ "VA": {
+ "name": "ÕŽÕ¡Õ¿Õ«Õ¯Õ¡Õ¶ Ö„Õ¡Õ²Õ¡Ö„-ÕºÕ¥Õ¿Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶"
+ },
+ "VE": {
+ "name": "ÕŽÕ¥Õ¶Õ¥Õ½Õ¸Ö‚Õ¥Õ¬Õ¡"
+ },
+ "VN": {
+ "name": "ÕŽÕ«Õ¥Õ¿Õ¶Õ¡Õ´"
+ },
+ "GE": {
+ "name": "ÕŽÖ€Õ¡Õ½Õ¿Õ¡Õ¶"
+ },
+ "TZ": {
+ "name": "ÕÕ¡Õ¶Õ¦Õ¡Õ¶Õ«Õ¡"
+ },
+ "TJ": {
+ "name": "ÕÕ¡Õ»Õ«Õ¯Õ½Õ¿Õ¡Õ¶"
+ },
+ "TC": {
+ "name": "ÕÕ¥Ö€Õ¯Õ½ Ö‡ Ô¿Õ¡ÕµÕ¯Õ¸Õ½ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "TG": {
+ "name": "ÕÕ¸Õ£Õ¸"
+ },
+ "TK": {
+ "name": "ÕÕ¸Õ¯Õ¥Õ¬Õ¡Õ¸Ö‚"
+ },
+ "TO": {
+ "name": "ÕÕ¸Õ¶Õ£Õ¡"
+ },
+ "TV": {
+ "name": "ÕÕ¸Ö‚Õ¾Õ¡Õ¬Õ¸Ö‚"
+ },
+ "TT": {
+ "name": "ÕÖ€Õ«Õ¶Õ«Õ¤Õ¡Õ¤ Ö‡ ÕÕ¸Õ¢Õ¡Õ£Õ¸"
+ },
+ "TA": {
+ "name": "ÕÖ€Õ«Õ½Õ¿Õ¡Õ¶ Õ¤Õ¡ Ô¿Õ¸Ö‚Õ¶ÕµÕ¡"
+ },
+ "CI": {
+ "name": "Õ“Õ²Õ¸Õ½Õ¯Ö€Õ« Ô±Öƒ"
+ },
+ "KE": {
+ "name": "Õ”Õ¥Õ¶Õ«Õ¡"
+ },
+ "KW": {
+ "name": "Õ”Õ¸Ö‚Õ¾Õ¥ÕµÕ©"
+ },
+ "OM": {
+ "name": "Õ•Õ´Õ¡Õ¶"
+ },
+ "FO": {
+ "name": "Õ–Õ¡Ö€Õ¥Ö€ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "PH": {
+ "name": "Õ–Õ«Õ¬Õ«ÕºÕ«Õ¶Õ¶Õ¥Ö€"
+ },
+ "FI": {
+ "name": "Õ–Õ«Õ¶Õ¬Õ¡Õ¶Õ¤Õ«Õ¡"
+ },
+ "FJ": {
+ "name": "Õ–Õ«Õ»Õ«"
+ },
+ "FK": {
+ "name": "Õ–Õ¸Õ¬Õ¯Õ¬Õ¥Õ¶Õ¤ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€"
+ },
+ "FR": {
+ "name": "Õ–Ö€Õ¡Õ¶Õ½Õ«Õ¡"
+ },
+ "GF": {
+ "name": "Õ–Ö€Õ¡Õ¶Õ½Õ«Õ¡Õ¯Õ¡Õ¶ Ô³Õ¾Õ«Õ¡Õ¶Õ¡"
+ },
+ "TF": {
+ "name": "Õ–Ö€Õ¡Õ¶Õ½Õ«Õ¡Õ¯Õ¡Õ¶ Õ€Õ¡Ö€Õ¡Õ¾Õ¡ÕµÕ«Õ¶ ÕÕ¡Ö€Õ¡Õ®Ö„Õ¶Õ¥Ö€"
+ },
+ "PF": {
+ "name": "Õ–Ö€Õ¡Õ¶Õ½Õ«Õ¡Õ¯Õ¡Õ¶ ÕŠÕ¸Õ¬Õ«Õ¶Õ¥Õ¦Õ«Õ¡"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/id.json b/library/intl/resources/country/id.json
new file mode 100644
index 000000000..c75b113fc
--- /dev/null
+++ b/library/intl/resources/country/id.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "ZA": {
+ "name": "Afrika Selatan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljazair"
+ },
+ "US": {
+ "name": "Amerika Serikat"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua dan Barbuda"
+ },
+ "SA": {
+ "name": "Arab Saudi"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "NL": {
+ "name": "Belanda"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia dan Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "TD": {
+ "name": "Cad"
+ },
+ "EA": {
+ "name": "Ceuta dan Melilla"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CL": {
+ "name": "Cile"
+ },
+ "CI": {
+ "name": "Cote d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipina"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GS": {
+ "name": "Georgia Selatan dan Kepulauan Sandwich Selatan"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandia"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Ekuatorial"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Prancis"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "GB": {
+ "name": "Inggris"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlandia"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Jepang"
+ },
+ "DE": {
+ "name": "Jerman"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "NC": {
+ "name": "Kaledonia Baru"
+ },
+ "KH": {
+ "name": "Kamboja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "BQ": {
+ "name": "Karibia Belanda"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "AX": {
+ "name": "Kepulauan Aland"
+ },
+ "IC": {
+ "name": "Kepulauan Canary"
+ },
+ "KY": {
+ "name": "Kepulauan Cayman"
+ },
+ "CC": {
+ "name": "Kepulauan Cocos"
+ },
+ "CK": {
+ "name": "Kepulauan Cook"
+ },
+ "FO": {
+ "name": "Kepulauan Faroe"
+ },
+ "FK": {
+ "name": "Kepulauan Malvinas"
+ },
+ "MP": {
+ "name": "Kepulauan Mariana Utara"
+ },
+ "MH": {
+ "name": "Kepulauan Marshall"
+ },
+ "NF": {
+ "name": "Kepulauan Norfolk"
+ },
+ "PN": {
+ "name": "Kepulauan Pitcairn"
+ },
+ "SB": {
+ "name": "Kepulauan Solomon"
+ },
+ "SJ": {
+ "name": "Kepulauan Svalbard dan Jan Mayen"
+ },
+ "UM": {
+ "name": "Kepulauan Terluar A.S."
+ },
+ "TC": {
+ "name": "Kepulauan Turks dan Caicos"
+ },
+ "VI": {
+ "name": "Kepulauan Virgin A.S."
+ },
+ "VG": {
+ "name": "Kepulauan Virgin Inggris"
+ },
+ "WF": {
+ "name": "Kepulauan Wallis dan Futuna"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo - Kinshasa"
+ },
+ "KR": {
+ "name": "Korea Selatan"
+ },
+ "KP": {
+ "name": "Korea Utara"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "HR": {
+ "name": "Kroasia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makau SAR China"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MV": {
+ "name": "Maladewa"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "EG": {
+ "name": "Mesir"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwegia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nugini"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PL": {
+ "name": "Polandia"
+ },
+ "PF": {
+ "name": "Polinesia Prancis"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "FR": {
+ "name": "Prancis"
+ },
+ "PR": {
+ "name": "Puerto Riko"
+ },
+ "AC": {
+ "name": "Pulau Ascension"
+ },
+ "CX": {
+ "name": "Pulau Christmas"
+ },
+ "IM": {
+ "name": "Pulau Man"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "CF": {
+ "name": "Republik Afrika Tengah"
+ },
+ "CZ": {
+ "name": "Republik Cheska"
+ },
+ "DO": {
+ "name": "Republik Dominika"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumania"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Barat"
+ },
+ "BL": {
+ "name": "Saint Barthelemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts dan Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre dan Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent dan Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerika"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome dan Principe"
+ },
+ "NZ": {
+ "name": "Selandia Baru"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Siprus"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spanyol"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan Selatan"
+ },
+ "SY": {
+ "name": "Suriah"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Swedia"
+ },
+ "CH": {
+ "name": "Swiss"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "CV": {
+ "name": "Tanjung Verde"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad dan Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkimenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "AE": {
+ "name": "Uni Emirat Arab"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "IO": {
+ "name": "Wilayah Inggris di Samudra Hindia"
+ },
+ "TF": {
+ "name": "Wilayah Kutub Selatan Prancis"
+ },
+ "PS": {
+ "name": "Wilayah Palestina"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "JO": {
+ "name": "Yordania"
+ },
+ "GR": {
+ "name": "Yunani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/is.json b/library/intl/resources/country/is.json
new file mode 100644
index 000000000..00b3c4b7c
--- /dev/null
+++ b/library/intl/resources/country/is.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AL": {
+ "name": "Albanía"
+ },
+ "DZ": {
+ "name": "Alsír"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angóla"
+ },
+ "AI": {
+ "name": "Angvilla"
+ },
+ "AG": {
+ "name": "Antígva og Barbúda"
+ },
+ "AR": {
+ "name": "Argentína"
+ },
+ "AM": {
+ "name": "Armenía"
+ },
+ "AW": {
+ "name": "Arúba"
+ },
+ "AC": {
+ "name": "Ascension-eyja"
+ },
+ "AZ": {
+ "name": "Aserbaídsjan"
+ },
+ "AT": {
+ "name": "Austurríki"
+ },
+ "AX": {
+ "name": "Ãlandseyjar"
+ },
+ "AU": {
+ "name": "Ãstralía"
+ },
+ "BS": {
+ "name": "Bahamaeyjar"
+ },
+ "US": {
+ "name": "Bandaríkin"
+ },
+ "AS": {
+ "name": "Bandaríska Samóa"
+ },
+ "VI": {
+ "name": "Bandarísku Jómfrúaeyjar"
+ },
+ "BD": {
+ "name": "Bangladess"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barein"
+ },
+ "BE": {
+ "name": "Belgía"
+ },
+ "BZ": {
+ "name": "Belís"
+ },
+ "BJ": {
+ "name": "Benín"
+ },
+ "BM": {
+ "name": "Bermúdaeyjar"
+ },
+ "BA": {
+ "name": "Bosnía og Hersegóvína"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BO": {
+ "name": "Bólivía"
+ },
+ "BR": {
+ "name": "Brasilía"
+ },
+ "IO": {
+ "name": "Bresku Indlandshafseyjar"
+ },
+ "VG": {
+ "name": "Bresku Jómfrúaeyjar"
+ },
+ "GB": {
+ "name": "Bretland"
+ },
+ "BN": {
+ "name": "Brúnei"
+ },
+ "BG": {
+ "name": "Búlgaría"
+ },
+ "BF": {
+ "name": "Búrkína Fasó"
+ },
+ "BI": {
+ "name": "Búrúndí"
+ },
+ "BT": {
+ "name": "Bútan"
+ },
+ "KY": {
+ "name": "Caymaneyjar"
+ },
+ "EA": {
+ "name": "Ceuta og Melilla"
+ },
+ "CK": {
+ "name": "Cooks-eyjar"
+ },
+ "CW": {
+ "name": "Curacao"
+ },
+ "DK": {
+ "name": "Danmörk"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djíbútí"
+ },
+ "DM": {
+ "name": "Dóminíka"
+ },
+ "DO": {
+ "name": "Dóminíska lýðveldið"
+ },
+ "EG": {
+ "name": "Egyptaland"
+ },
+ "EE": {
+ "name": "Eistland"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Erítrea"
+ },
+ "ET": {
+ "name": "Eþíópía"
+ },
+ "FK": {
+ "name": "Falklandseyjar"
+ },
+ "PH": {
+ "name": "Filippseyjar"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FJ": {
+ "name": "Fídjieyjar"
+ },
+ "CI": {
+ "name": "Fílabeinsströndin"
+ },
+ "FR": {
+ "name": "Frakkland"
+ },
+ "GF": {
+ "name": "Franska Gvæjana"
+ },
+ "PF": {
+ "name": "Franska Pólýnesía"
+ },
+ "TF": {
+ "name": "Frönsku suðlægu landsvæðin"
+ },
+ "FO": {
+ "name": "Færeyjar"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambía"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Georgía"
+ },
+ "GI": {
+ "name": "Gíbraltar"
+ },
+ "GN": {
+ "name": "Gínea"
+ },
+ "GW": {
+ "name": "Gínea-Bissá"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grikkland"
+ },
+ "CV": {
+ "name": "Grænhöfðaeyjar"
+ },
+ "GL": {
+ "name": "Grænland"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "Gvadelúpeyjar"
+ },
+ "GU": {
+ "name": "Gvam"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GY": {
+ "name": "Gvæjana"
+ },
+ "HT": {
+ "name": "Haítí"
+ },
+ "PS": {
+ "name": "Heimastjórnarsvæði Palestínumanna"
+ },
+ "NL": {
+ "name": "Holland"
+ },
+ "HN": {
+ "name": "Hondúras"
+ },
+ "BY": {
+ "name": "Hvíta-Rússland"
+ },
+ "IN": {
+ "name": "Indland"
+ },
+ "ID": {
+ "name": "Indónesía"
+ },
+ "IQ": {
+ "name": "Ãrak"
+ },
+ "IR": {
+ "name": "Ãran"
+ },
+ "IE": {
+ "name": "Ãrland"
+ },
+ "IS": {
+ "name": "Ãsland"
+ },
+ "IL": {
+ "name": "Ãsrael"
+ },
+ "IT": {
+ "name": "Ãtalía"
+ },
+ "JM": {
+ "name": "Jamaíka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "CX": {
+ "name": "Jólaey"
+ },
+ "JO": {
+ "name": "Jórdanía"
+ },
+ "KH": {
+ "name": "Kambódía"
+ },
+ "CM": {
+ "name": "Kamerún"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanaríeyjar"
+ },
+ "BQ": {
+ "name": "Karíbahafshluti Hollands"
+ },
+ "KZ": {
+ "name": "Kasakstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenía"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "CN": {
+ "name": "Kína"
+ },
+ "KI": {
+ "name": "Kíribatí"
+ },
+ "CG": {
+ "name": "Kongó-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongó-Kinshasa"
+ },
+ "CR": {
+ "name": "Kostaríka"
+ },
+ "CC": {
+ "name": "Kókoseyjar (Keeling)"
+ },
+ "CO": {
+ "name": "Kólumbía"
+ },
+ "KM": {
+ "name": "Kómoreyjar"
+ },
+ "XK": {
+ "name": "Kósóvó"
+ },
+ "HR": {
+ "name": "Króatía"
+ },
+ "CU": {
+ "name": "Kúba"
+ },
+ "KW": {
+ "name": "Kúveit"
+ },
+ "CY": {
+ "name": "Kýpur"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesótó"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litháen"
+ },
+ "LB": {
+ "name": "Líbanon"
+ },
+ "LR": {
+ "name": "Líbería"
+ },
+ "LY": {
+ "name": "Líbía"
+ },
+ "LU": {
+ "name": "Lúxemborg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedónía"
+ },
+ "MY": {
+ "name": "Malasía"
+ },
+ "MW": {
+ "name": "Malaví"
+ },
+ "MV": {
+ "name": "Maldíveyjar"
+ },
+ "ML": {
+ "name": "Malí"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokkó"
+ },
+ "MH": {
+ "name": "Marshalleyjar"
+ },
+ "MQ": {
+ "name": "Martiník"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MR": {
+ "name": "Máritanía"
+ },
+ "MU": {
+ "name": "Máritíus"
+ },
+ "MX": {
+ "name": "Mexíkó"
+ },
+ "CF": {
+ "name": "Mið-Afríkulýðveldið"
+ },
+ "GQ": {
+ "name": "Miðbaugs-Gínea"
+ },
+ "FM": {
+ "name": "Míkrónesía"
+ },
+ "MM": {
+ "name": "Mjanmar (Búrma)"
+ },
+ "MD": {
+ "name": "Moldóva"
+ },
+ "MN": {
+ "name": "Mongólía"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MC": {
+ "name": "Mónakó"
+ },
+ "MZ": {
+ "name": "Mósambík"
+ },
+ "IM": {
+ "name": "Mön"
+ },
+ "NA": {
+ "name": "Namibía"
+ },
+ "NR": {
+ "name": "Nárú"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nígería"
+ },
+ "NI": {
+ "name": "Níkaragva"
+ },
+ "KP": {
+ "name": "Norður-Kórea"
+ },
+ "MP": {
+ "name": "Norður-Maríanaeyjar"
+ },
+ "NO": {
+ "name": "Noregur"
+ },
+ "NF": {
+ "name": "Norfolkeyja"
+ },
+ "NC": {
+ "name": "Nýja-Kaledónía"
+ },
+ "NZ": {
+ "name": "Nýja-Sjáland"
+ },
+ "OM": {
+ "name": "Óman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palá"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papúa Nýja-Gínea"
+ },
+ "PY": {
+ "name": "Paragvæ"
+ },
+ "PE": {
+ "name": "Perú"
+ },
+ "PN": {
+ "name": "Pitcairn-eyjar"
+ },
+ "PT": {
+ "name": "Portúgal"
+ },
+ "PL": {
+ "name": "Pólland"
+ },
+ "PR": {
+ "name": "Púertó Ríkó"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Rúanda"
+ },
+ "RO": {
+ "name": "Rúmenía"
+ },
+ "RU": {
+ "name": "Rússland"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "SB": {
+ "name": "Salómonseyjar"
+ },
+ "ZM": {
+ "name": "Sambía"
+ },
+ "AE": {
+ "name": "Sameinuðu arabísku furstadæmin"
+ },
+ "WS": {
+ "name": "Samóa"
+ },
+ "SM": {
+ "name": "San Marínó"
+ },
+ "SH": {
+ "name": "Sankti Helena"
+ },
+ "KN": {
+ "name": "Sankti Kitts og Nevis"
+ },
+ "LC": {
+ "name": "Sankti Lúsía"
+ },
+ "PM": {
+ "name": "Sankti Pierre og Miquelon"
+ },
+ "VC": {
+ "name": "Sankti Vinsent og Grenadíneyjar"
+ },
+ "ST": {
+ "name": "Saó Tóme og Prinsípe"
+ },
+ "SA": {
+ "name": "Sádi-Arabía"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbía"
+ },
+ "SC": {
+ "name": "Seychelles-eyjar"
+ },
+ "ZW": {
+ "name": "Simbabve"
+ },
+ "SG": {
+ "name": "Singapúr"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SL": {
+ "name": "Síerra Leóne"
+ },
+ "CL": {
+ "name": "Síle"
+ },
+ "HK": {
+ "name": "Sjálfstjórnarsvæðið Hong Kong"
+ },
+ "MO": {
+ "name": "Sjálfstjórnarsvæðið Makaó"
+ },
+ "SK": {
+ "name": "Slóvakía"
+ },
+ "SI": {
+ "name": "Slóvenía"
+ },
+ "UM": {
+ "name": "Smáeyjar Bandaríkjanna"
+ },
+ "SO": {
+ "name": "Sómalía"
+ },
+ "ES": {
+ "name": "Spánn"
+ },
+ "LK": {
+ "name": "Srí Lanka"
+ },
+ "ZA": {
+ "name": "Suður-Afríka"
+ },
+ "GS": {
+ "name": "Suður-Georgía og Suður-Sandvíkureyjar"
+ },
+ "KR": {
+ "name": "Suður-Kórea"
+ },
+ "SS": {
+ "name": "Suður-Súdan"
+ },
+ "AQ": {
+ "name": "Suðurskautslandið"
+ },
+ "SD": {
+ "name": "Súdan"
+ },
+ "SR": {
+ "name": "Súrínam"
+ },
+ "SJ": {
+ "name": "Svalbarði og Jan Mayen"
+ },
+ "ME": {
+ "name": "Svartfjallaland"
+ },
+ "SZ": {
+ "name": "Svasíland"
+ },
+ "CH": {
+ "name": "Sviss"
+ },
+ "SE": {
+ "name": "Svíþjóð"
+ },
+ "SY": {
+ "name": "Sýrland"
+ },
+ "TJ": {
+ "name": "Tadsjikistan"
+ },
+ "TH": {
+ "name": "Taíland"
+ },
+ "TW": {
+ "name": "Taívan"
+ },
+ "TZ": {
+ "name": "Tansanía"
+ },
+ "CZ": {
+ "name": "Tékkland"
+ },
+ "TL": {
+ "name": "Tímor-Leste"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TG": {
+ "name": "Tógó"
+ },
+ "TK": {
+ "name": "Tókelá"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TT": {
+ "name": "Trínidad og Tóbagó"
+ },
+ "TD": {
+ "name": "Tsjad"
+ },
+ "TC": {
+ "name": "Turks- og Caicoseyjar"
+ },
+ "TN": {
+ "name": "Túnis"
+ },
+ "TM": {
+ "name": "Túrkmenistan"
+ },
+ "TV": {
+ "name": "Túvalú"
+ },
+ "TR": {
+ "name": "Tyrkland"
+ },
+ "HU": {
+ "name": "Ungverjaland"
+ },
+ "UG": {
+ "name": "Úganda"
+ },
+ "UA": {
+ "name": "Úkraína"
+ },
+ "UY": {
+ "name": "Úrúgvæ"
+ },
+ "UZ": {
+ "name": "Úsbekistan"
+ },
+ "VU": {
+ "name": "Vanúatú"
+ },
+ "VA": {
+ "name": "Vatíkanið"
+ },
+ "VE": {
+ "name": "Venesúela"
+ },
+ "EH": {
+ "name": "Vestur-Sahara"
+ },
+ "VN": {
+ "name": "Víetnam"
+ },
+ "WF": {
+ "name": "Wallis- og Fútúnaeyjar"
+ },
+ "DE": {
+ "name": "Þýskaland"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/it.json b/library/intl/resources/country/it.json
new file mode 100644
index 000000000..779d0b18d
--- /dev/null
+++ b/library/intl/resources/country/it.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antartide"
+ },
+ "AG": {
+ "name": "Antigua e Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudita"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaigian"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgio"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bielorussia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Erzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasile"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambogia"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Capo Verde"
+ },
+ "BQ": {
+ "name": "Caraibi Olandesi"
+ },
+ "EA": {
+ "name": "Ceuta e Melilla"
+ },
+ "TD": {
+ "name": "Ciad"
+ },
+ "CL": {
+ "name": "Cile"
+ },
+ "CN": {
+ "name": "Cina"
+ },
+ "CY": {
+ "name": "Cipro"
+ },
+ "VA": {
+ "name": "Città del Vaticano"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comore"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "KP": {
+ "name": "Corea del Nord"
+ },
+ "KR": {
+ "name": "Corea del Sud"
+ },
+ "CI": {
+ "name": "Costa d’Avorio"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croazia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimarca"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egitto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirati Arabi Uniti"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "RU": {
+ "name": "Federazione Russa"
+ },
+ "FJ": {
+ "name": "Figi"
+ },
+ "PH": {
+ "name": "Filippine"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FR": {
+ "name": "Francia"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GS": {
+ "name": "Georgia del Sud e isole Sandwich meridionali"
+ },
+ "DE": {
+ "name": "Germania"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "JM": {
+ "name": "Giamaica"
+ },
+ "JP": {
+ "name": "Giappone"
+ },
+ "GI": {
+ "name": "Gibilterra"
+ },
+ "DJ": {
+ "name": "Gibuti"
+ },
+ "JO": {
+ "name": "Giordania"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Groenlandia"
+ },
+ "GP": {
+ "name": "Guadalupa"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GF": {
+ "name": "Guiana Francese"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Equatoriale"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islanda"
+ },
+ "AC": {
+ "name": "Isola di Ascensione"
+ },
+ "CX": {
+ "name": "Isola di Christmas"
+ },
+ "IM": {
+ "name": "Isola di Man"
+ },
+ "NF": {
+ "name": "Isola Norfolk"
+ },
+ "AX": {
+ "name": "Isole Aland"
+ },
+ "IC": {
+ "name": "Isole Canarie"
+ },
+ "KY": {
+ "name": "Isole Cayman"
+ },
+ "CC": {
+ "name": "Isole Cocos"
+ },
+ "CK": {
+ "name": "Isole Cook"
+ },
+ "FK": {
+ "name": "Isole Falkland"
+ },
+ "FO": {
+ "name": "Isole Faroe"
+ },
+ "MP": {
+ "name": "Isole Marianne Settentrionali"
+ },
+ "MH": {
+ "name": "Isole Marshall"
+ },
+ "UM": {
+ "name": "Isole minori lontane dagli USA"
+ },
+ "PN": {
+ "name": "Isole Pitcairn"
+ },
+ "SB": {
+ "name": "Isole Solomon"
+ },
+ "TC": {
+ "name": "Isole Turks e Caicos"
+ },
+ "VI": {
+ "name": "Isole Vergini Americane"
+ },
+ "VG": {
+ "name": "Isole Vergini Britanniche"
+ },
+ "IL": {
+ "name": "Israele"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazakistan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettonia"
+ },
+ "LB": {
+ "name": "Libano"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Lussemburgo"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldive"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marocco"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Messico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambico"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "NC": {
+ "name": "Nuova Caledonia"
+ },
+ "NZ": {
+ "name": "Nuova Zelanda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "NL": {
+ "name": "Paesi Bassi"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua Nuova Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perù"
+ },
+ "PF": {
+ "name": "Polinesia Francese"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portogallo"
+ },
+ "PR": {
+ "name": "Portorico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "RAS di Hong Kong"
+ },
+ "MO": {
+ "name": "RAS di Macao"
+ },
+ "GB": {
+ "name": "Regno Unito"
+ },
+ "CZ": {
+ "name": "Repubblica Ceca"
+ },
+ "CF": {
+ "name": "Repubblica Centrafricana"
+ },
+ "MK": {
+ "name": "Repubblica di Macedonia"
+ },
+ "DO": {
+ "name": "Repubblica Dominicana"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "EH": {
+ "name": "Sahara Occidentale"
+ },
+ "KN": {
+ "name": "Saint Kitts e Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent e Grenadines"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americane"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SH": {
+ "name": "Sant’Elena"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovacchia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spagna"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stati Uniti"
+ },
+ "ZA": {
+ "name": "Sudafrica"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan del Sud"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "SE": {
+ "name": "Svezia"
+ },
+ "CH": {
+ "name": "Svizzera"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tagikistan"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TF": {
+ "name": "Territori australi francesi"
+ },
+ "PS": {
+ "name": "Territori palestinesi"
+ },
+ "IO": {
+ "name": "Territorio Britannico dell’Oceano Indiano"
+ },
+ "TL": {
+ "name": "Timor Est"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turchia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucraina"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "HU": {
+ "name": "Ungheria"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ja.json b/library/intl/resources/country/ja.json
new file mode 100644
index 000000000..2ba91fa11
--- /dev/null
+++ b/library/intl/resources/country/ja.json
@@ -0,0 +1,761 @@
+{
+ "IS": {
+ "name": "アイスランド"
+ },
+ "IE": {
+ "name": "アイルランド"
+ },
+ "AZ": {
+ "name": "アゼルãƒã‚¤ã‚¸ãƒ£ãƒ³"
+ },
+ "AC": {
+ "name": "アセンション島"
+ },
+ "AF": {
+ "name": "アフガニスタン"
+ },
+ "US": {
+ "name": "アメリカåˆè¡†å›½"
+ },
+ "AE": {
+ "name": "アラブ首長国連邦"
+ },
+ "DZ": {
+ "name": "アルジェリア"
+ },
+ "AR": {
+ "name": "アルゼンãƒãƒ³"
+ },
+ "AW": {
+ "name": "アルãƒ"
+ },
+ "AL": {
+ "name": "アルãƒãƒ‹ã‚¢"
+ },
+ "AM": {
+ "name": "アルメニア"
+ },
+ "AI": {
+ "name": "アンギラ"
+ },
+ "AO": {
+ "name": "アンゴラ"
+ },
+ "AG": {
+ "name": "アンティグア・ãƒãƒ¼ãƒ–ーダ"
+ },
+ "AD": {
+ "name": "アンドラ"
+ },
+ "YE": {
+ "name": "イエメン"
+ },
+ "GB": {
+ "name": "イギリス"
+ },
+ "IL": {
+ "name": "イスラエル"
+ },
+ "IT": {
+ "name": "イタリア"
+ },
+ "IQ": {
+ "name": "イラク"
+ },
+ "IR": {
+ "name": "イラン"
+ },
+ "IN": {
+ "name": "インド"
+ },
+ "ID": {
+ "name": "インドãƒã‚·ã‚¢"
+ },
+ "WF": {
+ "name": "ウォリス・フツナ"
+ },
+ "UG": {
+ "name": "ウガンダ"
+ },
+ "UA": {
+ "name": "ウクライナ"
+ },
+ "UZ": {
+ "name": "ウズベキスタン"
+ },
+ "UY": {
+ "name": "ウルグアイ"
+ },
+ "EC": {
+ "name": "エクアドル"
+ },
+ "EG": {
+ "name": "エジプト"
+ },
+ "EE": {
+ "name": "エストニア"
+ },
+ "ET": {
+ "name": "エãƒã‚ªãƒ”ã‚¢"
+ },
+ "ER": {
+ "name": "エリトリア"
+ },
+ "SV": {
+ "name": "エルサルãƒãƒ‰ãƒ«"
+ },
+ "AU": {
+ "name": "オーストラリア"
+ },
+ "AT": {
+ "name": "オーストリア"
+ },
+ "AX": {
+ "name": "オーランド諸島"
+ },
+ "OM": {
+ "name": "オマーン"
+ },
+ "NL": {
+ "name": "オランダ"
+ },
+ "BQ": {
+ "name": "オランダ領カリブ"
+ },
+ "GH": {
+ "name": "ガーナ"
+ },
+ "CV": {
+ "name": "カーボベルデ"
+ },
+ "GG": {
+ "name": "ガーンジー"
+ },
+ "GY": {
+ "name": "ガイアナ"
+ },
+ "KZ": {
+ "name": "カザフスタン"
+ },
+ "QA": {
+ "name": "カタール"
+ },
+ "CA": {
+ "name": "カナダ"
+ },
+ "IC": {
+ "name": "カナリア諸島"
+ },
+ "GA": {
+ "name": "ガボン"
+ },
+ "CM": {
+ "name": "カメルーン"
+ },
+ "GM": {
+ "name": "ガンビア"
+ },
+ "KH": {
+ "name": "カンボジア"
+ },
+ "GN": {
+ "name": "ギニア"
+ },
+ "GW": {
+ "name": "ギニアビサウ"
+ },
+ "CY": {
+ "name": "キプロス"
+ },
+ "CU": {
+ "name": "キューãƒ"
+ },
+ "CW": {
+ "name": "キュラソー"
+ },
+ "GR": {
+ "name": "ギリシャ"
+ },
+ "KI": {
+ "name": "キリãƒã‚¹"
+ },
+ "KG": {
+ "name": "キルギス"
+ },
+ "GT": {
+ "name": "グアテマラ"
+ },
+ "GP": {
+ "name": "グアドループ"
+ },
+ "GU": {
+ "name": "グアム"
+ },
+ "KW": {
+ "name": "クウェート"
+ },
+ "CK": {
+ "name": "クック諸島"
+ },
+ "GL": {
+ "name": "グリーンランド"
+ },
+ "CX": {
+ "name": "クリスマス島"
+ },
+ "GE": {
+ "name": "グルジア"
+ },
+ "GD": {
+ "name": "グレナダ"
+ },
+ "HR": {
+ "name": "クロアãƒã‚¢"
+ },
+ "KY": {
+ "name": "ケイマン諸島"
+ },
+ "KE": {
+ "name": "ケニア"
+ },
+ "CI": {
+ "name": "コートジボワール"
+ },
+ "CC": {
+ "name": "ココス(キーリング)諸島"
+ },
+ "CR": {
+ "name": "コスタリカ"
+ },
+ "XK": {
+ "name": "コソボ"
+ },
+ "KM": {
+ "name": "コモロ"
+ },
+ "CO": {
+ "name": "コロンビア"
+ },
+ "CG": {
+ "name": "コンゴ共和国(ブラザビル)"
+ },
+ "CD": {
+ "name": "コンゴ民主共和国(キンシャサ)"
+ },
+ "SA": {
+ "name": "サウジアラビア"
+ },
+ "WS": {
+ "name": "サモア"
+ },
+ "BL": {
+ "name": "サン・ãƒãƒ«ãƒ†ãƒ«ãƒŸãƒ¼å³¶"
+ },
+ "MF": {
+ "name": "サン・マルタン"
+ },
+ "ST": {
+ "name": "サントメ・プリンシペ"
+ },
+ "ZM": {
+ "name": "ザンビア"
+ },
+ "PM": {
+ "name": "サンピエール島・ミクロン島"
+ },
+ "SM": {
+ "name": "サンマリノ"
+ },
+ "SL": {
+ "name": "シエラレオãƒ"
+ },
+ "DJ": {
+ "name": "ジブãƒ"
+ },
+ "GI": {
+ "name": "ジブラルタル"
+ },
+ "JE": {
+ "name": "ジャージー"
+ },
+ "JM": {
+ "name": "ジャマイカ"
+ },
+ "SY": {
+ "name": "シリア"
+ },
+ "SG": {
+ "name": "シンガãƒãƒ¼ãƒ«"
+ },
+ "SX": {
+ "name": "シント・マールテン"
+ },
+ "ZW": {
+ "name": "ジンãƒãƒ–エ"
+ },
+ "CH": {
+ "name": "スイス"
+ },
+ "SE": {
+ "name": "スウェーデン"
+ },
+ "SD": {
+ "name": "スーダン"
+ },
+ "SJ": {
+ "name": "スãƒãƒ¼ãƒ«ãƒãƒ«è«¸å³¶ãƒ»ãƒ¤ãƒ³ãƒžã‚¤ã‚¨ãƒ³å³¶"
+ },
+ "ES": {
+ "name": "スペイン"
+ },
+ "SR": {
+ "name": "スリナム"
+ },
+ "LK": {
+ "name": "スリランカ"
+ },
+ "SK": {
+ "name": "スロãƒã‚­ã‚¢"
+ },
+ "SI": {
+ "name": "スロベニア"
+ },
+ "SZ": {
+ "name": "スワジランド"
+ },
+ "EA": {
+ "name": "セウタ・メリリャ"
+ },
+ "SC": {
+ "name": "セーシェル"
+ },
+ "SN": {
+ "name": "ã‚»ãƒã‚¬ãƒ«"
+ },
+ "RS": {
+ "name": "セルビア"
+ },
+ "KN": {
+ "name": "セントクリストファー・ãƒã‚¤ãƒ“ス"
+ },
+ "VC": {
+ "name": "セントビンセント・グレナディーン諸島"
+ },
+ "SH": {
+ "name": "セントヘレナ"
+ },
+ "LC": {
+ "name": "セントルシア"
+ },
+ "SO": {
+ "name": "ソマリア"
+ },
+ "SB": {
+ "name": "ソロモン諸島"
+ },
+ "TC": {
+ "name": "タークス・カイコス諸島"
+ },
+ "TH": {
+ "name": "タイ"
+ },
+ "TJ": {
+ "name": "タジキスタン"
+ },
+ "TZ": {
+ "name": "タンザニア"
+ },
+ "CZ": {
+ "name": "ãƒã‚§ã‚³å…±å’Œå›½"
+ },
+ "TD": {
+ "name": "ãƒãƒ£ãƒ‰"
+ },
+ "TN": {
+ "name": "ãƒãƒ¥ãƒ‹ã‚¸ã‚¢"
+ },
+ "CL": {
+ "name": "ãƒãƒª"
+ },
+ "TV": {
+ "name": "ツãƒãƒ«"
+ },
+ "DG": {
+ "name": "ディエゴガルシア島"
+ },
+ "DK": {
+ "name": "デンマーク"
+ },
+ "DE": {
+ "name": "ドイツ"
+ },
+ "TG": {
+ "name": "トーゴ"
+ },
+ "TK": {
+ "name": "トケラウ"
+ },
+ "DO": {
+ "name": "ドミニカ共和国"
+ },
+ "DM": {
+ "name": "ドミニカ国"
+ },
+ "TA": {
+ "name": "トリスタン・ダ・クーニャ"
+ },
+ "TT": {
+ "name": "トリニダード・トãƒã‚´"
+ },
+ "TM": {
+ "name": "トルクメニスタン"
+ },
+ "TR": {
+ "name": "トルコ"
+ },
+ "TO": {
+ "name": "トンガ"
+ },
+ "NG": {
+ "name": "ナイジェリア"
+ },
+ "NR": {
+ "name": "ナウル"
+ },
+ "NA": {
+ "name": "ナミビア"
+ },
+ "NU": {
+ "name": "ニウエ島"
+ },
+ "NI": {
+ "name": "ニカラグア"
+ },
+ "NE": {
+ "name": "ニジェール"
+ },
+ "NC": {
+ "name": "ニューカレドニア"
+ },
+ "NZ": {
+ "name": "ニュージーランド"
+ },
+ "NP": {
+ "name": "ãƒãƒ‘ール"
+ },
+ "NF": {
+ "name": "ノーフォーク島"
+ },
+ "NO": {
+ "name": "ノルウェー"
+ },
+ "BH": {
+ "name": "ãƒãƒ¼ãƒ¬ãƒ¼ãƒ³"
+ },
+ "HT": {
+ "name": "ãƒã‚¤ãƒ"
+ },
+ "PK": {
+ "name": "パキスタン"
+ },
+ "VA": {
+ "name": "ãƒãƒã‚«ãƒ³å¸‚国"
+ },
+ "PA": {
+ "name": "パナマ"
+ },
+ "VU": {
+ "name": "ãƒãƒŒã‚¢ãƒ„"
+ },
+ "BS": {
+ "name": "ãƒãƒãƒž"
+ },
+ "PG": {
+ "name": "パプアニューギニア"
+ },
+ "BM": {
+ "name": "ãƒãƒŸãƒ¥ãƒ¼ãƒ€"
+ },
+ "PW": {
+ "name": "パラオ"
+ },
+ "PY": {
+ "name": "パラグアイ"
+ },
+ "BB": {
+ "name": "ãƒãƒ«ãƒãƒ‰ã‚¹"
+ },
+ "PS": {
+ "name": "パレスãƒãƒŠ"
+ },
+ "HU": {
+ "name": "ãƒãƒ³ã‚¬ãƒªãƒ¼"
+ },
+ "BD": {
+ "name": "ãƒãƒ³ã‚°ãƒ©ãƒ‡ã‚·ãƒ¥"
+ },
+ "PN": {
+ "name": "ピトケアン諸島"
+ },
+ "FJ": {
+ "name": "フィジー"
+ },
+ "PH": {
+ "name": "フィリピン"
+ },
+ "FI": {
+ "name": "フィンランド"
+ },
+ "BT": {
+ "name": "ブータン"
+ },
+ "PR": {
+ "name": "プエルトリコ"
+ },
+ "FO": {
+ "name": "フェロー諸島"
+ },
+ "FK": {
+ "name": "フォークランド諸島"
+ },
+ "BR": {
+ "name": "ブラジル"
+ },
+ "FR": {
+ "name": "フランス"
+ },
+ "BG": {
+ "name": "ブルガリア"
+ },
+ "BF": {
+ "name": "ブルキナファソ"
+ },
+ "BN": {
+ "name": "ブルãƒã‚¤"
+ },
+ "BI": {
+ "name": "ブルンジ"
+ },
+ "VN": {
+ "name": "ベトナム"
+ },
+ "BJ": {
+ "name": "ベナン"
+ },
+ "VE": {
+ "name": "ベãƒã‚ºã‚¨ãƒ©"
+ },
+ "BY": {
+ "name": "ベラルーシ"
+ },
+ "BZ": {
+ "name": "ベリーズ"
+ },
+ "PE": {
+ "name": "ペルー"
+ },
+ "BE": {
+ "name": "ベルギー"
+ },
+ "PL": {
+ "name": "ãƒãƒ¼ãƒ©ãƒ³ãƒ‰"
+ },
+ "BA": {
+ "name": "ボスニア・ヘルツェゴビナ"
+ },
+ "BW": {
+ "name": "ボツワナ"
+ },
+ "BO": {
+ "name": "ボリビア"
+ },
+ "PT": {
+ "name": "ãƒãƒ«ãƒˆã‚¬ãƒ«"
+ },
+ "HN": {
+ "name": "ホンジュラス"
+ },
+ "MH": {
+ "name": "マーシャル諸島"
+ },
+ "MK": {
+ "name": "マケドニア"
+ },
+ "MG": {
+ "name": "マダガスカル"
+ },
+ "YT": {
+ "name": "マヨット島"
+ },
+ "MW": {
+ "name": "マラウイ"
+ },
+ "ML": {
+ "name": "マリ"
+ },
+ "MT": {
+ "name": "マルタ"
+ },
+ "MQ": {
+ "name": "マルティニーク"
+ },
+ "MY": {
+ "name": "マレーシア"
+ },
+ "IM": {
+ "name": "マン島"
+ },
+ "FM": {
+ "name": "ミクロãƒã‚·ã‚¢é€£é‚¦"
+ },
+ "MM": {
+ "name": "ミャンマー"
+ },
+ "MX": {
+ "name": "メキシコ"
+ },
+ "MU": {
+ "name": "モーリシャス"
+ },
+ "MR": {
+ "name": "モーリタニア"
+ },
+ "MZ": {
+ "name": "モザンビーク"
+ },
+ "MC": {
+ "name": "モナコ"
+ },
+ "MV": {
+ "name": "モルディブ"
+ },
+ "MD": {
+ "name": "モルドãƒ"
+ },
+ "MA": {
+ "name": "モロッコ"
+ },
+ "MN": {
+ "name": "モンゴル"
+ },
+ "ME": {
+ "name": "モンテãƒã‚°ãƒ­"
+ },
+ "MS": {
+ "name": "モントセラト"
+ },
+ "JO": {
+ "name": "ヨルダン"
+ },
+ "LA": {
+ "name": "ラオス"
+ },
+ "LV": {
+ "name": "ラトビア"
+ },
+ "LT": {
+ "name": "リトアニア"
+ },
+ "LY": {
+ "name": "リビア"
+ },
+ "LI": {
+ "name": "リヒテンシュタイン"
+ },
+ "LR": {
+ "name": "リベリア"
+ },
+ "RO": {
+ "name": "ルーマニア"
+ },
+ "LU": {
+ "name": "ルクセンブルグ"
+ },
+ "RW": {
+ "name": "ルワンダ"
+ },
+ "LS": {
+ "name": "レソト"
+ },
+ "LB": {
+ "name": "レãƒãƒŽãƒ³"
+ },
+ "RE": {
+ "name": "レユニオン島"
+ },
+ "RU": {
+ "name": "ロシア"
+ },
+ "IO": {
+ "name": "英領インド洋地域"
+ },
+ "VG": {
+ "name": "英領ヴァージン諸島"
+ },
+ "EH": {
+ "name": "西サãƒãƒ©"
+ },
+ "GQ": {
+ "name": "赤é“ギニア"
+ },
+ "TW": {
+ "name": "å°æ¹¾"
+ },
+ "KR": {
+ "name": "大韓民国"
+ },
+ "CF": {
+ "name": "中央アフリカ共和国"
+ },
+ "MO": {
+ "name": "中è¯äººæ°‘共和国マカオ特別行政区"
+ },
+ "HK": {
+ "name": "中è¯äººæ°‘共和国香港特別行政区"
+ },
+ "CN": {
+ "name": "中国"
+ },
+ "KP": {
+ "name": "æœé®®æ°‘主主義人民共和国"
+ },
+ "TL": {
+ "name": "æ±ãƒ†ã‚£ãƒ¢ãƒ¼ãƒ«"
+ },
+ "ZA": {
+ "name": "å—アフリカ"
+ },
+ "GS": {
+ "name": "å—ジョージア島・å—サンドイッãƒè«¸å³¶"
+ },
+ "SS": {
+ "name": "å—スーダン"
+ },
+ "AQ": {
+ "name": "å—極"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "GF": {
+ "name": "ä»é ˜ã‚®ã‚¢ãƒŠ"
+ },
+ "PF": {
+ "name": "ä»é ˜ãƒãƒªãƒã‚·ã‚¢"
+ },
+ "TF": {
+ "name": "ä»é ˜æ¥µå—諸島"
+ },
+ "VI": {
+ "name": "米領ヴァージン諸島"
+ },
+ "AS": {
+ "name": "米領サモア"
+ },
+ "UM": {
+ "name": "米領太平洋諸島"
+ },
+ "MP": {
+ "name": "北マリアナ諸島"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/jgo.json b/library/intl/resources/country/jgo.json
new file mode 100644
index 000000000..f8f649e53
--- /dev/null
+++ b/library/intl/resources/country/jgo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AR": {
+ "name": "Ajɛntîn"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljɛlî"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "IN": {
+ "name": "ÃndÉ›"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AO": {
+ "name": "AÅ‹gÉ”Ìla"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BA": {
+ "name": "Bosnia & Herzegovina"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "TD": {
+ "name": "Cât"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cíllɛ"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "EG": {
+ "name": "ÆjíptÉ›"
+ },
+ "EC": {
+ "name": "Ækwandɔ̂"
+ },
+ "ER": {
+ "name": "ÆlitÉ›lÉ›Ìya"
+ },
+ "ES": {
+ "name": "Æspániya"
+ },
+ "ET": {
+ "name": "ÆtiyÉ”pî"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FR": {
+ "name": "Fɛlánci"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IQ": {
+ "name": "Ilâk"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IL": {
+ "name": "Islayɛ̂l"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italî"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japɔ̂n"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "CM": {
+ "name": "Kamɛlûn"
+ },
+ "CA": {
+ "name": "Kanadâ"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "KÉ›Ìnya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CO": {
+ "name": "Kɔllɔmbî"
+ },
+ "KM": {
+ "name": "KÉ”mÉ”ÌlÉ”shi"
+ },
+ "CD": {
+ "name": "KÉ”ÌÅ‹gÉ”-Kinshása"
+ },
+ "CG": {
+ "name": "KÉ”ÌÅ‹gÉ”-MbÉ›lazavîl"
+ },
+ "CI": {
+ "name": "KÉ”Ìt Ndivwâ"
+ },
+ "CU": {
+ "name": "Kúba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "LÉ›sÉ”ÌtÉ”"
+ },
+ "RE": {
+ "name": "LÉ›Ìuniyɔ̂n"
+ },
+ "LR": {
+ "name": "Libɛrî"
+ },
+ "LY": {
+ "name": "Libî"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "RU": {
+ "name": "Lusî"
+ },
+ "RW": {
+ "name": "Luwánda"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MW": {
+ "name": "Maláwi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Malî"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MG": {
+ "name": "Mándaŋgasɛkâ"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayɔ̂t"
+ },
+ "BR": {
+ "name": "Mbɛlazîl"
+ },
+ "BJ": {
+ "name": "Mbɛnɛ̂ŋ"
+ },
+ "BO": {
+ "name": "Mbɔlivî"
+ },
+ "BW": {
+ "name": "Mbɔtswána"
+ },
+ "BF": {
+ "name": "Mbulukína Fásɔ"
+ },
+ "BI": {
+ "name": "Mbulundí"
+ },
+ "MX": {
+ "name": "Mɛksîk"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MR": {
+ "name": "Mɔlitanî"
+ },
+ "MA": {
+ "name": "Mɔlɔ̂k"
+ },
+ "MZ": {
+ "name": "Mɔzambîk"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namimbî"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Nijɛ̂"
+ },
+ "NG": {
+ "name": "Ninjɛliyâ"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "DE": {
+ "name": "Njáman"
+ },
+ "DJ": {
+ "name": "Njimbúti"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "NÉ”lÉ›vÉ›ÌjÉ›"
+ },
+ "GA": {
+ "name": "Ŋgabɔ̂ŋ"
+ },
+ "GM": {
+ "name": "Ŋgambî"
+ },
+ "GH": {
+ "name": "Ŋgána"
+ },
+ "GR": {
+ "name": "Ŋgɛlɛ̂k"
+ },
+ "GN": {
+ "name": "Ŋginɛ̂"
+ },
+ "GQ": {
+ "name": "ÅŠginɛ̂ ÆkwatÉ”liyâl"
+ },
+ "GW": {
+ "name": "Ŋginɛ̂ Mbisáwu"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Pɛlû"
+ },
+ "SC": {
+ "name": "PÉ›sÉ›ÌshÉ›l"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "ST": {
+ "name": "Sáwɔŋ TÉ”mÉ›Ì nÉ›Ì PÉ›línsipÉ›"
+ },
+ "RS": {
+ "name": "Sɛlɛbî"
+ },
+ "SN": {
+ "name": "Sɛnɛgâl"
+ },
+ "CN": {
+ "name": "Shîn"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SL": {
+ "name": "SiyÉ›Ìla Lɛɔ̂n"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "SO": {
+ "name": "Sɔmalî"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sundân"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilân"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Sẅísɛ"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzanî"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TG": {
+ "name": "TÉ”ÌÅ‹gÉ”"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizî"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UG": {
+ "name": "Uŋgánda"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "VÉ›nÉ›zwÉ›Ìla"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambî"
+ },
+ "ZW": {
+ "name": "Zimbámbwɛ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/jmc.json b/library/intl/resources/country/jmc.json
new file mode 100644
index 000000000..e57db8007
--- /dev/null
+++ b/library/intl/resources/country/jmc.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ka.json b/library/intl/resources/country/ka.json
new file mode 100644
index 000000000..72d5d68da
--- /dev/null
+++ b/library/intl/resources/country/ka.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "áƒáƒ•áƒ¡áƒ¢áƒ áƒáƒšáƒ˜áƒ"
+ },
+ "AT": {
+ "name": "áƒáƒ•áƒ¡áƒ¢áƒ áƒ˜áƒ"
+ },
+ "AF": {
+ "name": "áƒáƒ•áƒ¦áƒáƒœáƒ”თი"
+ },
+ "AZ": {
+ "name": "áƒáƒ–ერბáƒáƒ˜áƒ¯áƒáƒœáƒ˜"
+ },
+ "AX": {
+ "name": "áƒáƒšáƒáƒœáƒ“ის კუნძულები"
+ },
+ "AL": {
+ "name": "áƒáƒšáƒ‘áƒáƒœáƒ”თი"
+ },
+ "DZ": {
+ "name": "áƒáƒšáƒŸáƒ˜áƒ áƒ˜"
+ },
+ "AC": {
+ "name": "áƒáƒ›áƒáƒ¦áƒšáƒ”ბის კუნძული"
+ },
+ "US": {
+ "name": "áƒáƒ›áƒ”რიკის შეერთებული შტáƒáƒ¢áƒ”ბი"
+ },
+ "AS": {
+ "name": "áƒáƒ›áƒ”რიკული სáƒáƒ›áƒáƒ"
+ },
+ "AI": {
+ "name": "áƒáƒœáƒ’ვილáƒ"
+ },
+ "AO": {
+ "name": "áƒáƒœáƒ’áƒáƒšáƒ"
+ },
+ "AD": {
+ "name": "áƒáƒœáƒ“áƒáƒ áƒ"
+ },
+ "AQ": {
+ "name": "áƒáƒœáƒ¢áƒáƒ áƒ¥áƒ¢áƒ˜áƒ™áƒ"
+ },
+ "AG": {
+ "name": "áƒáƒœáƒ¢áƒ˜áƒ’ურდრბáƒáƒ áƒ‘უდáƒ"
+ },
+ "AE": {
+ "name": "áƒáƒ áƒáƒ‘თრგáƒáƒ”რთიáƒáƒœáƒ”ბული სáƒáƒáƒ›áƒ˜áƒ áƒáƒ”ბი"
+ },
+ "AR": {
+ "name": "áƒáƒ áƒ’ენტინáƒ"
+ },
+ "AW": {
+ "name": "áƒáƒ áƒ£áƒ‘áƒ"
+ },
+ "VI": {
+ "name": "áƒáƒ¨áƒ¨-ის ვირჯინიის კუნძულები"
+ },
+ "UM": {
+ "name": "áƒáƒ¨áƒ¨-ის შáƒáƒ áƒ”ული კუნძულები"
+ },
+ "NZ": {
+ "name": "áƒáƒ®áƒáƒšáƒ˜ ზელáƒáƒœáƒ“იáƒ"
+ },
+ "NC": {
+ "name": "áƒáƒ®áƒáƒšáƒ˜ კáƒáƒšáƒ”დáƒáƒœáƒ˜áƒ"
+ },
+ "BD": {
+ "name": "ბáƒáƒœáƒ’ლáƒáƒ“ეში"
+ },
+ "BB": {
+ "name": "ბáƒáƒ áƒ‘áƒáƒ“áƒáƒ¡áƒ˜"
+ },
+ "BS": {
+ "name": "ბáƒáƒ°áƒáƒ›áƒ˜áƒ¡ კუნძულები"
+ },
+ "BH": {
+ "name": "ბáƒáƒ°áƒ áƒ”ინი"
+ },
+ "BE": {
+ "name": "ბელგიáƒ"
+ },
+ "BZ": {
+ "name": "ბელიზი"
+ },
+ "BY": {
+ "name": "ბელáƒáƒ áƒ£áƒ¡áƒ˜áƒ"
+ },
+ "BJ": {
+ "name": "ბენინი"
+ },
+ "BM": {
+ "name": "ბერმუდი"
+ },
+ "BO": {
+ "name": "ბáƒáƒšáƒ˜áƒ•áƒ˜áƒ"
+ },
+ "BA": {
+ "name": "ბáƒáƒ¡áƒœáƒ˜áƒ დრჰერცეგáƒáƒ•áƒ˜áƒœáƒ"
+ },
+ "BW": {
+ "name": "ბáƒáƒ¢áƒ¡áƒ•áƒáƒœáƒ"
+ },
+ "BR": {
+ "name": "ბრáƒáƒ–ილიáƒ"
+ },
+ "VG": {
+ "name": "ბრიტáƒáƒœáƒ”თის ვირჯინიის კუნძულები"
+ },
+ "IO": {
+ "name": "ბრიტáƒáƒœáƒ£áƒšáƒ˜ ტერიტáƒáƒ áƒ˜áƒ ინდáƒáƒ”თის áƒáƒ™áƒ”áƒáƒœáƒ”ში"
+ },
+ "BN": {
+ "name": "ბრუნეი"
+ },
+ "BG": {
+ "name": "ბულგáƒáƒ áƒ”თი"
+ },
+ "BF": {
+ "name": "ბურკინáƒ-ფáƒáƒ¡áƒ"
+ },
+ "BI": {
+ "name": "ბურუნდი"
+ },
+ "BT": {
+ "name": "ბუტáƒáƒœáƒ˜"
+ },
+ "GA": {
+ "name": "გáƒáƒ‘áƒáƒœáƒ˜"
+ },
+ "GY": {
+ "name": "გáƒáƒ˜áƒáƒœáƒ"
+ },
+ "GM": {
+ "name": "გáƒáƒ›áƒ‘იáƒ"
+ },
+ "GH": {
+ "name": "გáƒáƒœáƒ"
+ },
+ "DE": {
+ "name": "გერმáƒáƒœáƒ˜áƒ"
+ },
+ "GG": {
+ "name": "გერნსი"
+ },
+ "GP": {
+ "name": "გვáƒáƒ“ელუპე"
+ },
+ "GT": {
+ "name": "გვáƒáƒ¢áƒ”მáƒáƒšáƒ"
+ },
+ "GN": {
+ "name": "გვინეáƒ"
+ },
+ "GW": {
+ "name": "გვინეáƒ-ბისáƒáƒ£"
+ },
+ "GI": {
+ "name": "გიბრáƒáƒšáƒ¢áƒáƒ áƒ˜"
+ },
+ "GD": {
+ "name": "გრენáƒáƒ“áƒ"
+ },
+ "GL": {
+ "name": "გრენლáƒáƒœáƒ“იáƒ"
+ },
+ "GU": {
+ "name": "გუáƒáƒ›áƒ˜"
+ },
+ "DK": {
+ "name": "დáƒáƒœáƒ˜áƒ"
+ },
+ "EH": {
+ "name": "დáƒáƒ¡áƒáƒ•áƒšáƒ”თი სáƒáƒ°áƒáƒ áƒ"
+ },
+ "GB": {
+ "name": "დიდი ბრიტáƒáƒœáƒ”თი"
+ },
+ "DG": {
+ "name": "დიეგáƒ-გáƒáƒ áƒ¡áƒ˜áƒ"
+ },
+ "DM": {
+ "name": "დáƒáƒ›áƒ˜áƒœáƒ˜áƒ™áƒ"
+ },
+ "DO": {
+ "name": "დáƒáƒ›áƒ˜áƒœáƒ˜áƒ™áƒáƒœáƒ˜áƒ¡ რესპუბლიკáƒ"
+ },
+ "EG": {
+ "name": "ეგვიპტე"
+ },
+ "ET": {
+ "name": "ეთიáƒáƒžáƒ˜áƒ"
+ },
+ "EC": {
+ "name": "ეკვáƒáƒ“áƒáƒ áƒ˜"
+ },
+ "GQ": {
+ "name": "ეკვáƒáƒ¢áƒáƒ áƒ£áƒšáƒ˜ გვინეáƒ"
+ },
+ "IQ": {
+ "name": "ერáƒáƒ§áƒ˜"
+ },
+ "ER": {
+ "name": "ერიტრეáƒ"
+ },
+ "ES": {
+ "name": "ესპáƒáƒœáƒ”თი"
+ },
+ "EE": {
+ "name": "ესტáƒáƒœáƒ”თი"
+ },
+ "VU": {
+ "name": "ვáƒáƒœáƒ£áƒáƒ¢áƒ£"
+ },
+ "VE": {
+ "name": "ვენესუელáƒ"
+ },
+ "VN": {
+ "name": "ვიეტნáƒáƒ›áƒ˜"
+ },
+ "ZM": {
+ "name": "ზáƒáƒ›áƒ‘იáƒ"
+ },
+ "ZW": {
+ "name": "ზიმბáƒáƒ‘ვე"
+ },
+ "TR": {
+ "name": "თურქეთი"
+ },
+ "TM": {
+ "name": "თურქმენეთი"
+ },
+ "JM": {
+ "name": "იáƒáƒ›áƒáƒ˜áƒ™áƒ"
+ },
+ "JP": {
+ "name": "იáƒáƒžáƒáƒœáƒ˜áƒ"
+ },
+ "YE": {
+ "name": "იემენი"
+ },
+ "IN": {
+ "name": "ინდáƒáƒ”თი"
+ },
+ "ID": {
+ "name": "ინდáƒáƒœáƒ”ზიáƒ"
+ },
+ "JO": {
+ "name": "იáƒáƒ áƒ“áƒáƒœáƒ˜áƒ"
+ },
+ "IR": {
+ "name": "ირáƒáƒœáƒ˜"
+ },
+ "IE": {
+ "name": "ირლáƒáƒœáƒ“იáƒ"
+ },
+ "IS": {
+ "name": "ისლáƒáƒœáƒ“იáƒ"
+ },
+ "IL": {
+ "name": "ისრáƒáƒ”ლი"
+ },
+ "IT": {
+ "name": "იტáƒáƒšáƒ˜áƒ"
+ },
+ "CV": {
+ "name": "კáƒáƒ‘áƒ-ვერდე"
+ },
+ "KY": {
+ "name": "კáƒáƒ˜áƒ›áƒáƒœáƒ˜áƒ¡ კუნძულები"
+ },
+ "KH": {
+ "name": "კáƒáƒ›áƒ‘áƒáƒ¯áƒ"
+ },
+ "CM": {
+ "name": "კáƒáƒ›áƒ”რუნი"
+ },
+ "CA": {
+ "name": "კáƒáƒœáƒáƒ“áƒ"
+ },
+ "IC": {
+ "name": "კáƒáƒœáƒáƒ áƒ˜áƒ¡ კუნძულები"
+ },
+ "BQ": {
+ "name": "კáƒáƒ áƒ˜áƒ‘ის ნიდერლáƒáƒœáƒ“ები"
+ },
+ "QA": {
+ "name": "კáƒáƒ¢áƒáƒ áƒ˜"
+ },
+ "KE": {
+ "name": "კენიáƒ"
+ },
+ "CY": {
+ "name": "კვიპრáƒáƒ¡áƒ˜"
+ },
+ "KI": {
+ "name": "კირიბáƒáƒ¢áƒ˜"
+ },
+ "CW": {
+ "name": "კიურáƒáƒ¡áƒáƒ"
+ },
+ "CO": {
+ "name": "კáƒáƒšáƒ£áƒ›áƒ‘იáƒ"
+ },
+ "KM": {
+ "name": "კáƒáƒ›áƒáƒ áƒ˜áƒ¡ კუნძულები"
+ },
+ "CG": {
+ "name": "კáƒáƒœáƒ’რ- ბრáƒáƒ–áƒáƒ•áƒ˜áƒšáƒ˜"
+ },
+ "CD": {
+ "name": "კáƒáƒœáƒ’რ- კინშáƒáƒ¡áƒ"
+ },
+ "XK": {
+ "name": "კáƒáƒ¡áƒáƒ•áƒ"
+ },
+ "CR": {
+ "name": "კáƒáƒ¡áƒ¢áƒ-რიკáƒ"
+ },
+ "CI": {
+ "name": "კáƒáƒ¢-დივუáƒáƒ áƒ˜"
+ },
+ "CU": {
+ "name": "კუბáƒ"
+ },
+ "CK": {
+ "name": "კუკის კუნძულები"
+ },
+ "LA": {
+ "name": "ლáƒáƒáƒ¡áƒ˜"
+ },
+ "LV": {
+ "name": "ლáƒáƒ¢áƒ•áƒ˜áƒ"
+ },
+ "LS": {
+ "name": "ლესáƒáƒ—áƒ"
+ },
+ "LB": {
+ "name": "ლიბáƒáƒœáƒ˜"
+ },
+ "LR": {
+ "name": "ლიბერიáƒ"
+ },
+ "LY": {
+ "name": "ლიბიáƒ"
+ },
+ "LT": {
+ "name": "ლიტვáƒ"
+ },
+ "LI": {
+ "name": "ლიხტენშტეინი"
+ },
+ "LU": {
+ "name": "ლუქსემბურგი"
+ },
+ "MG": {
+ "name": "მáƒáƒ“áƒáƒ’áƒáƒ¡áƒ™áƒáƒ áƒ˜"
+ },
+ "MU": {
+ "name": "მáƒáƒ•áƒ áƒ˜áƒ™áƒ˜"
+ },
+ "MR": {
+ "name": "მáƒáƒ•áƒ áƒ˜áƒ¢áƒáƒœáƒ˜áƒ"
+ },
+ "YT": {
+ "name": "მáƒáƒ˜áƒáƒ¢áƒ"
+ },
+ "MO": {
+ "name": "მáƒáƒ™áƒáƒáƒ¡ სპეციáƒáƒšáƒ£áƒ áƒ˜ áƒáƒ“მინისტრáƒáƒªáƒ˜áƒ£áƒšáƒ˜ რეგიáƒáƒœáƒ˜ ჩინეთი"
+ },
+ "MK": {
+ "name": "მáƒáƒ™áƒ”დáƒáƒœáƒ˜áƒ"
+ },
+ "MW": {
+ "name": "მáƒáƒšáƒáƒ•áƒ˜"
+ },
+ "MY": {
+ "name": "მáƒáƒšáƒáƒ˜áƒ–იáƒ"
+ },
+ "MV": {
+ "name": "მáƒáƒšáƒ“ივის კუნძულები"
+ },
+ "ML": {
+ "name": "მáƒáƒšáƒ˜"
+ },
+ "MT": {
+ "name": "მáƒáƒšáƒ¢áƒ"
+ },
+ "MA": {
+ "name": "მáƒáƒ áƒáƒ™áƒ"
+ },
+ "MQ": {
+ "name": "მáƒáƒ áƒ¢áƒ˜áƒœáƒ˜áƒ™áƒ"
+ },
+ "MH": {
+ "name": "მáƒáƒ áƒ¨áƒáƒšáƒ˜áƒ¡ კუნძულები"
+ },
+ "IM": {
+ "name": "მენის კუნძული"
+ },
+ "MX": {
+ "name": "მექსიკáƒ"
+ },
+ "MM": {
+ "name": "მიáƒáƒœáƒ›áƒáƒ áƒ˜ (ბირმáƒ)"
+ },
+ "FM": {
+ "name": "მიკრáƒáƒœáƒ”ზიáƒ"
+ },
+ "MZ": {
+ "name": "მáƒáƒ–áƒáƒ›áƒ‘იკი"
+ },
+ "MD": {
+ "name": "მáƒáƒšáƒ“áƒáƒ•áƒ"
+ },
+ "MC": {
+ "name": "მáƒáƒœáƒáƒ™áƒ"
+ },
+ "MS": {
+ "name": "მáƒáƒœáƒ¡áƒ”რáƒáƒ¢áƒ˜"
+ },
+ "ME": {
+ "name": "მáƒáƒœáƒ¢áƒ”ნეგრáƒ"
+ },
+ "MN": {
+ "name": "მáƒáƒœáƒ¦áƒáƒšáƒ”თი"
+ },
+ "NA": {
+ "name": "ნáƒáƒ›áƒ˜áƒ‘იáƒ"
+ },
+ "NR": {
+ "name": "ნáƒáƒ£áƒ áƒ£"
+ },
+ "NP": {
+ "name": "ნეპáƒáƒšáƒ˜"
+ },
+ "NE": {
+ "name": "ნიგერი"
+ },
+ "NG": {
+ "name": "ნიგერიáƒ"
+ },
+ "NL": {
+ "name": "ნიდერლáƒáƒœáƒ“ები"
+ },
+ "NI": {
+ "name": "ნიკáƒáƒ áƒáƒ’უáƒ"
+ },
+ "NU": {
+ "name": "ნიუე"
+ },
+ "NO": {
+ "name": "ნáƒáƒ áƒ•áƒ”გიáƒ"
+ },
+ "NF": {
+ "name": "ნáƒáƒ áƒ¤áƒáƒšáƒ™áƒ˜áƒ¡ კუნძული"
+ },
+ "OM": {
+ "name": "áƒáƒ›áƒáƒœáƒ˜"
+ },
+ "PK": {
+ "name": "პáƒáƒ™áƒ˜áƒ¡áƒ¢áƒáƒœáƒ˜"
+ },
+ "PW": {
+ "name": "პáƒáƒšáƒáƒ£"
+ },
+ "PS": {
+ "name": "პáƒáƒšáƒ”სტინის ტერიტáƒáƒ áƒ˜áƒ”ბი"
+ },
+ "PA": {
+ "name": "პáƒáƒœáƒáƒ›áƒ"
+ },
+ "PG": {
+ "name": "პáƒáƒžáƒ£áƒ-áƒáƒ®áƒáƒšáƒ˜ გვინეáƒ"
+ },
+ "PY": {
+ "name": "პáƒáƒ áƒáƒ’ვáƒáƒ˜"
+ },
+ "PE": {
+ "name": "პერუ"
+ },
+ "PN": {
+ "name": "პიტკერნის კუნძულები"
+ },
+ "PL": {
+ "name": "პáƒáƒšáƒáƒœáƒ”თი"
+ },
+ "PT": {
+ "name": "პáƒáƒ áƒ¢áƒ£áƒ’áƒáƒšáƒ˜áƒ"
+ },
+ "PR": {
+ "name": "პუერტáƒ-რიკáƒ"
+ },
+ "RE": {
+ "name": "რეუნიáƒáƒœáƒ˜"
+ },
+ "RW": {
+ "name": "რუáƒáƒœáƒ“áƒ"
+ },
+ "RO": {
+ "name": "რუმინეთი"
+ },
+ "RU": {
+ "name": "რუსეთი"
+ },
+ "GR": {
+ "name": "სáƒáƒ‘ერძნეთი"
+ },
+ "SV": {
+ "name": "სáƒáƒšáƒ•áƒáƒ“áƒáƒ áƒ˜"
+ },
+ "WS": {
+ "name": "სáƒáƒ›áƒáƒ"
+ },
+ "ZA": {
+ "name": "სáƒáƒ›áƒ®áƒ áƒ”თ áƒáƒ¤áƒ áƒ˜áƒ™áƒ"
+ },
+ "GS": {
+ "name": "სáƒáƒ›áƒ®áƒ áƒ”თი გეáƒáƒ áƒ’ირდრსáƒáƒ›áƒ®áƒ áƒ”თ სენდვიჩის კუნძულები"
+ },
+ "KR": {
+ "name": "სáƒáƒ›áƒ®áƒ áƒ”თი კáƒáƒ áƒ”áƒ"
+ },
+ "SS": {
+ "name": "სáƒáƒ›áƒ®áƒ áƒ”თი სუდáƒáƒœáƒ˜"
+ },
+ "SM": {
+ "name": "სáƒáƒœ-მáƒáƒ áƒ˜áƒœáƒ"
+ },
+ "ST": {
+ "name": "სáƒáƒœ-ტáƒáƒ›áƒ” დრპრინსიპი"
+ },
+ "SA": {
+ "name": "სáƒáƒ£áƒ“ის áƒáƒ áƒáƒ‘ეთი"
+ },
+ "FR": {
+ "name": "სáƒáƒ¤áƒ áƒáƒœáƒ’ეთი"
+ },
+ "GE": {
+ "name": "სáƒáƒ¥áƒáƒ áƒ—ველáƒ"
+ },
+ "SC": {
+ "name": "სეიშელის კუნძულები"
+ },
+ "BL": {
+ "name": "სენ-ბáƒáƒ áƒ—ლემი"
+ },
+ "MF": {
+ "name": "სენ-მáƒáƒ áƒ¢áƒ”ნი"
+ },
+ "PM": {
+ "name": "სენ-პიერი დრმიკელáƒáƒœáƒ˜"
+ },
+ "SN": {
+ "name": "სენეგáƒáƒšáƒ˜"
+ },
+ "VC": {
+ "name": "სენტ-ვინსენტი დრგრენáƒáƒ“ინები"
+ },
+ "KN": {
+ "name": "სენტ-კიტსი დრნევისი"
+ },
+ "LC": {
+ "name": "სენტ-ლუსიáƒ"
+ },
+ "RS": {
+ "name": "სერბეთი"
+ },
+ "EA": {
+ "name": "სეუტრდრმელილáƒ"
+ },
+ "SZ": {
+ "name": "სვáƒáƒ–ილენდი"
+ },
+ "SL": {
+ "name": "სიერáƒ-ლეáƒáƒœáƒ”"
+ },
+ "SG": {
+ "name": "სინგáƒáƒžáƒ£áƒ áƒ˜"
+ },
+ "SX": {
+ "name": "სინტ-მáƒáƒ áƒ¢áƒ”ნი"
+ },
+ "SY": {
+ "name": "სირიáƒ"
+ },
+ "SK": {
+ "name": "სლáƒáƒ•áƒáƒ™áƒ”თი"
+ },
+ "SI": {
+ "name": "სლáƒáƒ•áƒ”ნიáƒ"
+ },
+ "SB": {
+ "name": "სáƒáƒšáƒáƒ›áƒáƒœáƒ˜áƒ¡ კუნძულები"
+ },
+ "SO": {
+ "name": "სáƒáƒ›áƒáƒšáƒ˜"
+ },
+ "AM": {
+ "name": "სáƒáƒ›áƒ®áƒ”თი"
+ },
+ "SD": {
+ "name": "სუდáƒáƒœáƒ˜"
+ },
+ "SR": {
+ "name": "სურინáƒáƒ›áƒ˜"
+ },
+ "TW": {
+ "name": "ტáƒáƒ˜áƒ•áƒáƒœáƒ˜"
+ },
+ "TH": {
+ "name": "ტáƒáƒ˜áƒšáƒáƒœáƒ“ი"
+ },
+ "TZ": {
+ "name": "ტáƒáƒœáƒ–áƒáƒœáƒ˜áƒ"
+ },
+ "TJ": {
+ "name": "ტáƒáƒ¯áƒ˜áƒ™áƒ”თი"
+ },
+ "TC": {
+ "name": "ტერკსის დრკáƒáƒ˜áƒ™áƒáƒ¡áƒ˜áƒ¡ კუნძულები"
+ },
+ "TL": {
+ "name": "ტიმáƒáƒ -ლეშტი"
+ },
+ "TG": {
+ "name": "ტáƒáƒ’áƒ"
+ },
+ "TK": {
+ "name": "ტáƒáƒ™áƒ”ლáƒáƒ£"
+ },
+ "TO": {
+ "name": "ტáƒáƒœáƒ’áƒ"
+ },
+ "TT": {
+ "name": "ტრინიდáƒáƒ“ი დრტáƒáƒ‘áƒáƒ’áƒ"
+ },
+ "TA": {
+ "name": "ტრისტáƒáƒœ-დáƒ-კუნიáƒ"
+ },
+ "TV": {
+ "name": "ტუვáƒáƒšáƒ£"
+ },
+ "TN": {
+ "name": "ტუნისი"
+ },
+ "UG": {
+ "name": "უგáƒáƒœáƒ“áƒ"
+ },
+ "UZ": {
+ "name": "უზბეკეთი"
+ },
+ "UA": {
+ "name": "უკრáƒáƒ˜áƒœáƒ"
+ },
+ "HU": {
+ "name": "უნგრეთი"
+ },
+ "WF": {
+ "name": "უáƒáƒšáƒ˜áƒ¡áƒ˜ დრფუტუნáƒ"
+ },
+ "UY": {
+ "name": "ურუგვáƒáƒ˜"
+ },
+ "FO": {
+ "name": "ფáƒáƒ áƒ”რის კუნძულები"
+ },
+ "PH": {
+ "name": "ფილიპინები"
+ },
+ "FI": {
+ "name": "ფინეთი"
+ },
+ "FJ": {
+ "name": "ფიჯი"
+ },
+ "FK": {
+ "name": "ფáƒáƒšáƒ™áƒšáƒ”ნდის კუნძულები"
+ },
+ "GF": {
+ "name": "ფრáƒáƒœáƒ’ული გვიáƒáƒœáƒ"
+ },
+ "PF": {
+ "name": "ფრáƒáƒœáƒ’ული პáƒáƒšáƒ˜áƒœáƒ”ზიáƒ"
+ },
+ "TF": {
+ "name": "ფრáƒáƒœáƒ’ული სáƒáƒ›áƒ®áƒ áƒ”თის ტერიტáƒáƒ áƒ˜áƒ”ბი"
+ },
+ "VA": {
+ "name": "ქáƒáƒšáƒáƒ¥áƒ˜ ვáƒáƒ¢áƒ˜áƒ™áƒáƒœáƒ˜"
+ },
+ "CC": {
+ "name": "ქáƒáƒ¥áƒáƒ¡áƒ˜áƒ¡ (კილინგის) კუნძულები"
+ },
+ "KW": {
+ "name": "ქუვეითი"
+ },
+ "KZ": {
+ "name": "ყáƒáƒ–áƒáƒ®áƒ”თი"
+ },
+ "KG": {
+ "name": "ყირგიზეთი"
+ },
+ "SE": {
+ "name": "შვედეთი"
+ },
+ "CH": {
+ "name": "შვეიცáƒáƒ áƒ˜áƒ"
+ },
+ "CX": {
+ "name": "შáƒáƒ‘ის კუნძული"
+ },
+ "SJ": {
+ "name": "შპიცბერგენი დრიáƒáƒœ-მáƒáƒ˜áƒ”ნი"
+ },
+ "LK": {
+ "name": "შრი-ლáƒáƒœáƒ™áƒ"
+ },
+ "TD": {
+ "name": "ჩáƒáƒ“ი"
+ },
+ "CZ": {
+ "name": "ჩეხეთის რესპუბლიკáƒ"
+ },
+ "CL": {
+ "name": "ჩილე"
+ },
+ "CN": {
+ "name": "ჩინეთი"
+ },
+ "MP": {
+ "name": "ჩრდილáƒáƒ”თ მáƒáƒ áƒ˜áƒáƒœáƒáƒ¡ კუნძულები"
+ },
+ "KP": {
+ "name": "ჩრდილáƒáƒ”თი კáƒáƒ áƒ”áƒ"
+ },
+ "CF": {
+ "name": "ცენტრáƒáƒšáƒ£áƒ áƒ˜ áƒáƒ¤áƒ áƒ˜áƒ™áƒ˜áƒ¡ რესპუბლიკáƒ"
+ },
+ "SH": {
+ "name": "წმინდრელენეს კუნძული"
+ },
+ "HR": {
+ "name": "ხáƒáƒ áƒ•áƒáƒ¢áƒ˜áƒ"
+ },
+ "JE": {
+ "name": "ჯერსი"
+ },
+ "DJ": {
+ "name": "ჯიბუტი"
+ },
+ "HT": {
+ "name": "ჰáƒáƒ˜áƒ¢áƒ˜"
+ },
+ "HN": {
+ "name": "ჰáƒáƒœáƒ“ურáƒáƒ¡áƒ˜"
+ },
+ "HK": {
+ "name": "ჰáƒáƒœáƒ™áƒáƒœáƒ’ის სპეციáƒáƒšáƒ£áƒ áƒ˜ áƒáƒ“მინისტრáƒáƒªáƒ˜áƒ£áƒšáƒ˜ რეგიáƒáƒœáƒ˜ ჩინეთი"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/kab.json b/library/intl/resources/country/kab.json
new file mode 100644
index 000000000..e247f8ebf
--- /dev/null
+++ b/library/intl/resources/country/kab.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afɣanistan"
+ },
+ "IO": {
+ "name": "Akal Aglizi deg Ugaraw Ahendi"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AR": {
+ "name": "Arjuntin"
+ },
+ "AM": {
+ "name": "Arminya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "VA": {
+ "name": "Awanek n Vatikan"
+ },
+ "AZ": {
+ "name": "Azrabijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Baḥrin"
+ },
+ "BD": {
+ "name": "Bangladac"
+ },
+ "BB": {
+ "name": "Barbadus"
+ },
+ "BE": {
+ "name": "Belǧik"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bilarus"
+ },
+ "BZ": {
+ "name": "Biliz"
+ },
+ "BJ": {
+ "name": "Binin"
+ },
+ "BR": {
+ "name": "Brizil"
+ },
+ "BN": {
+ "name": "Bruney"
+ },
+ "BG": {
+ "name": "Bulgari"
+ },
+ "BO": {
+ "name": "Bulivi"
+ },
+ "BI": {
+ "name": "Burandi"
+ },
+ "BF": {
+ "name": "Burkina Fasu"
+ },
+ "BA": {
+ "name": "Busna d Hersek"
+ },
+ "BW": {
+ "name": "Bustwana"
+ },
+ "TD": {
+ "name": "ÄŒad"
+ },
+ "KH": {
+ "name": "Cambudya"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "ÄŒÄek"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cili"
+ },
+ "CY": {
+ "name": "Cipr"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Duminik"
+ },
+ "OM": {
+ "name": "Æuman"
+ },
+ "PS": {
+ "name": "Falisṭin d Ɣezza"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipin"
+ },
+ "FI": {
+ "name": "Finlund"
+ },
+ "FR": {
+ "name": "Fransa"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambya"
+ },
+ "DJ": {
+ "name": "Ǧibuti"
+ },
+ "GD": {
+ "name": "Grunad"
+ },
+ "GL": {
+ "name": "Grunland"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guwana"
+ },
+ "GP": {
+ "name": "Gwadalupi"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatimala"
+ },
+ "GH": {
+ "name": "Ɣana"
+ },
+ "GF": {
+ "name": "Ɣana tafransist"
+ },
+ "GN": {
+ "name": "Ɣinya"
+ },
+ "PG": {
+ "name": "Ɣinya Tamaynut Tapaput"
+ },
+ "GQ": {
+ "name": "Ɣinya Tasebgast"
+ },
+ "GW": {
+ "name": "Ɣinya-Bisaw"
+ },
+ "HT": {
+ "name": "Hayti"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hunduras"
+ },
+ "HU": {
+ "name": "Hungri"
+ },
+ "EC": {
+ "name": "Ikwaá¹­ur"
+ },
+ "ID": {
+ "name": "Indunizi"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "ER": {
+ "name": "Iritiria"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "EE": {
+ "name": "Istunya"
+ },
+ "IL": {
+ "name": "Izrayil"
+ },
+ "JM": {
+ "name": "Jamyika"
+ },
+ "JP": {
+ "name": "Jappu"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibraltar"
+ },
+ "GE": {
+ "name": "Jiyurji"
+ },
+ "NC": {
+ "name": "Kalidunya Tamaynut"
+ },
+ "CM": {
+ "name": "Kamirun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazaxistan"
+ },
+ "HR": {
+ "name": "Kerwasya"
+ },
+ "KE": {
+ "name": "Kinya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigistan"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CO": {
+ "name": "Kulumbi"
+ },
+ "KM": {
+ "name": "Kumur"
+ },
+ "CG": {
+ "name": "Kungu"
+ },
+ "KP": {
+ "name": "Kurya, Ufella"
+ },
+ "KR": {
+ "name": "Kurya, Wadda"
+ },
+ "CR": {
+ "name": "Kusta Rika"
+ },
+ "CI": {
+ "name": "Kuá¹­ Divwar"
+ },
+ "KW": {
+ "name": "Kuwayt"
+ },
+ "CN": {
+ "name": "Lacin"
+ },
+ "GR": {
+ "name": "Lagris"
+ },
+ "JO": {
+ "name": "Lajurdani"
+ },
+ "AL": {
+ "name": "Lalbani"
+ },
+ "DE": {
+ "name": "Lalman"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LA": {
+ "name": "Laws"
+ },
+ "LI": {
+ "name": "Layctenstan"
+ },
+ "DZ": {
+ "name": "Lezzayer"
+ },
+ "IQ": {
+ "name": "Lɛiraq"
+ },
+ "IN": {
+ "name": "Lhend"
+ },
+ "LR": {
+ "name": "Libirya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "IE": {
+ "name": "Lirlund"
+ },
+ "LT": {
+ "name": "Liá¹­wanya"
+ },
+ "LS": {
+ "name": "Lizuá¹­u"
+ },
+ "MA": {
+ "name": "Lmerruk"
+ },
+ "LB": {
+ "name": "Lubnan"
+ },
+ "LU": {
+ "name": "Luksamburg"
+ },
+ "YE": {
+ "name": "Lyamen"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madaɣecqer"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldib"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MY": {
+ "name": "Malizya"
+ },
+ "MT": {
+ "name": "Malá¹­"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MK": {
+ "name": "Masidwan"
+ },
+ "EG": {
+ "name": "Maá¹£r"
+ },
+ "YT": {
+ "name": "Mayuá¹­"
+ },
+ "MX": {
+ "name": "Meksik"
+ },
+ "FM": {
+ "name": "Mikrunizya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MD": {
+ "name": "Muldabi"
+ },
+ "MC": {
+ "name": "Munaku"
+ },
+ "MN": {
+ "name": "Mungulya"
+ },
+ "MS": {
+ "name": "Munsirat"
+ },
+ "MU": {
+ "name": "Muris"
+ },
+ "MR": {
+ "name": "Muriá¹­anya"
+ },
+ "MZ": {
+ "name": "Muzembiq"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibya"
+ },
+ "NE": {
+ "name": "Nijer"
+ },
+ "NG": {
+ "name": "Nijirya"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NP": {
+ "name": "Nipal"
+ },
+ "NU": {
+ "name": "Niwi"
+ },
+ "NR": {
+ "name": "Nuru"
+ },
+ "NO": {
+ "name": "Nurvij"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panam"
+ },
+ "PY": {
+ "name": "Paragway"
+ },
+ "PE": {
+ "name": "Piru"
+ },
+ "PN": {
+ "name": "Pitkarin"
+ },
+ "PL": {
+ "name": "Pulund"
+ },
+ "PF": {
+ "name": "Pulunizi tafransist"
+ },
+ "PR": {
+ "name": "Purtu Riku"
+ },
+ "PT": {
+ "name": "Purtugal"
+ },
+ "QA": {
+ "name": "Qaá¹­ar"
+ },
+ "RU": {
+ "name": "Rrus"
+ },
+ "RO": {
+ "name": "Rumani"
+ },
+ "RW": {
+ "name": "Ruwanda"
+ },
+ "SV": {
+ "name": "Salvadur"
+ },
+ "WS": {
+ "name": "Samwa"
+ },
+ "AS": {
+ "name": "Samwa Tamarikanit"
+ },
+ "KN": {
+ "name": "San Kits d Nivis"
+ },
+ "LC": {
+ "name": "San LuÄya"
+ },
+ "SM": {
+ "name": "San Marinu"
+ },
+ "PM": {
+ "name": "San Pyar d Miklun"
+ },
+ "VC": {
+ "name": "San Vansu d Grunadin"
+ },
+ "SH": {
+ "name": "Sant Ilina"
+ },
+ "ST": {
+ "name": "Saw Tumi d Pransip"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seycel"
+ },
+ "SG": {
+ "name": "Singafur"
+ },
+ "SN": {
+ "name": "Sinigal"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SL": {
+ "name": "Sira Lyun"
+ },
+ "SK": {
+ "name": "Sluvakya"
+ },
+ "SI": {
+ "name": "Sluvinya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spanya"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SA": {
+ "name": "Suɛudiya Taɛrabt"
+ },
+ "SO": {
+ "name": "á¹¢umal"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SY": {
+ "name": "Surya"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilund"
+ },
+ "SE": {
+ "name": "Swid"
+ },
+ "CH": {
+ "name": "Swis"
+ },
+ "ZA": {
+ "name": "Tafriqt Wadda"
+ },
+ "GB": {
+ "name": "Tagelda Yedduklen"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Ṭanzanya"
+ },
+ "TH": {
+ "name": "Ṭayland"
+ },
+ "TW": {
+ "name": "Ṭaywan"
+ },
+ "IT": {
+ "name": "Ṭelyan"
+ },
+ "CF": {
+ "name": "Tigduda n Tefriqt Talemmast"
+ },
+ "DO": {
+ "name": "Tigduda Taduminikit"
+ },
+ "CD": {
+ "name": "Tigduda Tagdudant n Kungu"
+ },
+ "AE": {
+ "name": "Tigeldunin Yedduklen Taɛrabin"
+ },
+ "FK": {
+ "name": "Tigzirin n Falkland"
+ },
+ "KY": {
+ "name": "Tigzirin n Kamyan"
+ },
+ "CK": {
+ "name": "Tigzirin n Kuk"
+ },
+ "MH": {
+ "name": "Tigzirin n Marcal"
+ },
+ "MP": {
+ "name": "Tigzirin n Maryan Ufella"
+ },
+ "SB": {
+ "name": "Tigzirin n Sulumun"
+ },
+ "CV": {
+ "name": "Tigzirin n yixef azegzaw"
+ },
+ "NF": {
+ "name": "Tigzirin Tinawfukin"
+ },
+ "VG": {
+ "name": "Tigzirin Tiverjiniyin Tigliziyin"
+ },
+ "RE": {
+ "name": "Timlilit"
+ },
+ "NL": {
+ "name": "Timura-Yessakesren"
+ },
+ "TT": {
+ "name": "Ṭrindad d Ṭubagu"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TG": {
+ "name": "Ṭugu"
+ },
+ "TK": {
+ "name": "Ṭuklu"
+ },
+ "TL": {
+ "name": "Tumur Asamar"
+ },
+ "TN": {
+ "name": "Tunes"
+ },
+ "TO": {
+ "name": "Ṭunga"
+ },
+ "TR": {
+ "name": "Ṭurk"
+ },
+ "TC": {
+ "name": "Ṭurk d Tegzirin n Kaykus"
+ },
+ "TM": {
+ "name": "Ṭurkmanistan"
+ },
+ "TV": {
+ "name": "Ṭuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "UÉ£anda"
+ },
+ "UA": {
+ "name": "Ukran"
+ },
+ "AD": {
+ "name": "Undura"
+ },
+ "AI": {
+ "name": "Ungiya"
+ },
+ "AO": {
+ "name": "Ungula"
+ },
+ "AG": {
+ "name": "Untiga d Barbuda"
+ },
+ "UY": {
+ "name": "Urugway"
+ },
+ "AU": {
+ "name": "Ustrali"
+ },
+ "AT": {
+ "name": "Ustriya"
+ },
+ "ET": {
+ "name": "Utyupi"
+ },
+ "UZ": {
+ "name": "Uzbaxistan"
+ },
+ "VU": {
+ "name": "Vanwatu"
+ },
+ "VE": {
+ "name": "Venzwila"
+ },
+ "VN": {
+ "name": "Vyeá¹­nam"
+ },
+ "VI": {
+ "name": "W.D. Tigzirin n Virginya"
+ },
+ "WF": {
+ "name": "Wallis d Futuna"
+ },
+ "US": {
+ "name": "WDM"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "ZM": {
+ "name": "Zambya"
+ },
+ "NZ": {
+ "name": "Ziland Tamaynut"
+ },
+ "ZW": {
+ "name": "Zimbabwi"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/kam.json b/library/intl/resources/country/kam.json
new file mode 100644
index 000000000..f14e98d5e
--- /dev/null
+++ b/library/intl/resources/country/kam.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "CK": {
+ "name": "Isiwa sya Cook"
+ },
+ "KY": {
+ "name": "Isiwa sya Kayman"
+ },
+ "SB": {
+ "name": "Isiwa sya Solomon"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameluni"
+ },
+ "CA": {
+ "name": "Kananda"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "CN": {
+ "name": "Kyaina"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "RW": {
+ "name": "Lwanda"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "BI": {
+ "name": "Mbulundi"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misili"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "ZM": {
+ "name": "Nzambia"
+ },
+ "ZW": {
+ "name": "Nzimbambwe"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "UG": {
+ "name": "Ukanda"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "FR": {
+ "name": "Uvalanza"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/kde.json b/library/intl/resources/country/kde.json
new file mode 100644
index 000000000..6f68bfaed
--- /dev/null
+++ b/library/intl/resources/country/kde.json
@@ -0,0 +1,761 @@
+{
+ "AR": {
+ "name": "Adyentina"
+ },
+ "ZA": {
+ "name": "Afilika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljelia"
+ },
+ "AM": {
+ "name": "Almenia"
+ },
+ "AW": {
+ "name": "Aluba"
+ },
+ "AD": {
+ "name": "Andola"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angwila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Balbuda"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Austlalia"
+ },
+ "AT": {
+ "name": "Austlia"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabadyani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BH": {
+ "name": "Bahaleni"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belalusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Belmuda"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BR": {
+ "name": "Blazili"
+ },
+ "BN": {
+ "name": "Blunei"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BF": {
+ "name": "Buchinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgalia"
+ },
+ "BI": {
+ "name": "Bulundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CK": {
+ "name": "Chisiwa cha Cook"
+ },
+ "FK": {
+ "name": "Chisiwa cha Falkland"
+ },
+ "KY": {
+ "name": "Chisiwa cha Kemen"
+ },
+ "MH": {
+ "name": "Chisiwa cha Malushal"
+ },
+ "MP": {
+ "name": "Chisiwa cha Marian cha Kasikazini"
+ },
+ "NF": {
+ "name": "Chisiwa cha Nolufok"
+ },
+ "SB": {
+ "name": "Chisiwa cha Solomon"
+ },
+ "TC": {
+ "name": "Chisiwa cha Tuluchi na Kaiko"
+ },
+ "VI": {
+ "name": "Chisiwa Chivihi cha Malekani"
+ },
+ "VG": {
+ "name": "Chisiwa Chivihi cha Wingalesa"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "GI": {
+ "name": "Diblalta"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "AE": {
+ "name": "Dimiliki dya Vakulungwa va Chalabu"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "JM": {
+ "name": "Dyamaika"
+ },
+ "JP": {
+ "name": "Dyapani"
+ },
+ "DJ": {
+ "name": "Dyibuti"
+ },
+ "GE": {
+ "name": "Dyodya"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "ER": {
+ "name": "Elitilea"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Glenada"
+ },
+ "GL": {
+ "name": "Glinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufalansa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondulasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungalia"
+ },
+ "IQ": {
+ "name": "Ilaki"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IL": {
+ "name": "Islaeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "CF": {
+ "name": "Jamuhuli ya Afilika ya Paching’ati"
+ },
+ "CZ": {
+ "name": "Jamuhuli ya Chechi"
+ },
+ "CD": {
+ "name": "Jamuhuli ya Chidemoklasia ya kuKongo"
+ },
+ "DO": {
+ "name": "Jamuhuli ya Dominika"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameluni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katali"
+ },
+ "KZ": {
+ "name": "Kazachistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kilibati"
+ },
+ "KG": {
+ "name": "Kiligizistani"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "HR": {
+ "name": "Kolasia"
+ },
+ "KP": {
+ "name": "Kolea Kasikazini"
+ },
+ "KR": {
+ "name": "Kolea Kusini"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komolo"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostalika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuplosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Libelia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "IO": {
+ "name": "Lieneo lyaki Nngalesa Nbahali ya Hindi"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "RE": {
+ "name": "Liyunioni"
+ },
+ "RO": {
+ "name": "Lomania"
+ },
+ "RW": {
+ "name": "Lwanda"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "US": {
+ "name": "Malekani"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MQ": {
+ "name": "Malitiniki"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "YT": {
+ "name": "Maole"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikilonesia"
+ },
+ "EG": {
+ "name": "Misli"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MU": {
+ "name": "Molisi"
+ },
+ "MR": {
+ "name": "Molitania"
+ },
+ "MA": {
+ "name": "Moloko"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MS": {
+ "name": "Monselati"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Naulu"
+ },
+ "PS": {
+ "name": "Nchingu wa Magalibi wa Mpanda wa kuGaza wa kuPales"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nidyeli"
+ },
+ "NG": {
+ "name": "Nidyelia"
+ },
+ "NI": {
+ "name": "Nikalagwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "GB": {
+ "name": "Nngalesa"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PY": {
+ "name": "Palagwai"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PE": {
+ "name": "Pelu"
+ },
+ "PN": {
+ "name": "Pitikeluni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufalansa"
+ },
+ "PR": {
+ "name": "Pwetoliko"
+ },
+ "SM": {
+ "name": "Samalino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Malekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieli na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Glenadini"
+ },
+ "ST": {
+ "name": "Saotome na Prinsipe"
+ },
+ "SA": {
+ "name": "Saudia"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siela Leoni"
+ },
+ "SY": {
+ "name": "Silia"
+ },
+ "LK": {
+ "name": "Sililanka"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Sulinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TJ": {
+ "name": "Tadikistani"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TT": {
+ "name": "Tilinidad na Tobago"
+ },
+ "TL": {
+ "name": "Timoli ya Mashaliki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Tuluchimenistani"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uadyemi"
+ },
+ "BE": {
+ "name": "Ubelgidi"
+ },
+ "DE": {
+ "name": "Udyerumani"
+ },
+ "FR": {
+ "name": "Ufalansa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugilichi"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "UA": {
+ "name": "Uklaini"
+ },
+ "PT": {
+ "name": "Uleno"
+ },
+ "UY": {
+ "name": "Ulugwai"
+ },
+ "RU": {
+ "name": "Ulusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Utuluchi"
+ },
+ "UZ": {
+ "name": "Uzibechistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/kea.json b/library/intl/resources/country/kea.json
new file mode 100644
index 000000000..426744a03
--- /dev/null
+++ b/library/intl/resources/country/kea.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistãu"
+ },
+ "ZA": {
+ "name": "Afrika di Sul"
+ },
+ "HT": {
+ "name": "Aiti"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alimanha"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AI": {
+ "name": "Angila"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antartika"
+ },
+ "AG": {
+ "name": "Antigua i Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudita"
+ },
+ "DZ": {
+ "name": "Arjelia"
+ },
+ "AR": {
+ "name": "Arjentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijãu"
+ },
+ "BS": {
+ "name": "Baamas"
+ },
+ "BD": {
+ "name": "Bangladexi"
+ },
+ "BH": {
+ "name": "Barain"
+ },
+ "BB": {
+ "name": "Barbadus"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BZ": {
+ "name": "Belizi"
+ },
+ "BE": {
+ "name": "Béljika"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Erzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Fasu"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butãu"
+ },
+ "DG": {
+ "name": "Diegu Garsia"
+ },
+ "DK": {
+ "name": "Dinamarka"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EG": {
+ "name": "Ejitu"
+ },
+ "EC": {
+ "name": "Ekuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiradus Arabi Unidu"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FR": {
+ "name": "Fransa"
+ },
+ "GA": {
+ "name": "Gabãu"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gernzi"
+ },
+ "GY": {
+ "name": "Giana"
+ },
+ "GF": {
+ "name": "Giana Franseza"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GQ": {
+ "name": "Gine Ekuatorial"
+ },
+ "GW": {
+ "name": "Gine-Bisau"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Gresia"
+ },
+ "GL": {
+ "name": "Gronelandia"
+ },
+ "GP": {
+ "name": "Guadalupi"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatimala"
+ },
+ "YE": {
+ "name": "Iemen"
+ },
+ "AC": {
+ "name": "Ilha di Asensãu"
+ },
+ "IM": {
+ "name": "Ilha di Man"
+ },
+ "CX": {
+ "name": "Ilha di Natal"
+ },
+ "AX": {
+ "name": "Ilhas Ã…land"
+ },
+ "IO": {
+ "name": "Ilhas Britanika di Indiku"
+ },
+ "FO": {
+ "name": "Ilhas Faroe"
+ },
+ "KY": {
+ "name": "Ilhas Kaimãu"
+ },
+ "CC": {
+ "name": "Ilhas Kokus"
+ },
+ "CK": {
+ "name": "Ilhas Kuk"
+ },
+ "FK": {
+ "name": "Ilhas Malvinas"
+ },
+ "MP": {
+ "name": "Ilhas Marianas di Norti"
+ },
+ "MH": {
+ "name": "Ilhas Marxal"
+ },
+ "MU": {
+ "name": "Ilhas Maurisia"
+ },
+ "UM": {
+ "name": "Ilhas Minoris Distantis de Stadus Unidus"
+ },
+ "NF": {
+ "name": "Ilhas Norfolk"
+ },
+ "SB": {
+ "name": "Ilhas Salumon"
+ },
+ "TC": {
+ "name": "Ilhas Turkas i Kaikus"
+ },
+ "VG": {
+ "name": "Ilhas Virjens Britanikas"
+ },
+ "VI": {
+ "name": "Ilhas Virjens Merkanu"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonezia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "ER": {
+ "name": "Iritreia"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IR": {
+ "name": "Iron"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "ET": {
+ "name": "Itiopia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japãu"
+ },
+ "GS": {
+ "name": "Jeórjia di Sul i Ilhas di Sanduixi di Sul"
+ },
+ "JE": {
+ "name": "Jersi"
+ },
+ "GI": {
+ "name": "Jibraltar"
+ },
+ "GE": {
+ "name": "Jiorjia"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "CV": {
+ "name": "Kabu Verdi"
+ },
+ "CM": {
+ "name": "Kamarõis"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "KM": {
+ "name": "Kamoris"
+ },
+ "CA": {
+ "name": "Kanadá"
+ },
+ "IC": {
+ "name": "Kanárias"
+ },
+ "BQ": {
+ "name": "Karaibas olandes"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakistãu"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgiston"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CG": {
+ "name": "Kongu - Brazavili"
+ },
+ "CD": {
+ "name": "Kongu - Kinxasa"
+ },
+ "KP": {
+ "name": "Koreia di Norti"
+ },
+ "KR": {
+ "name": "Koreia di Sul"
+ },
+ "CI": {
+ "name": "Kosta di Marfin"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "XK": {
+ "name": "Kozovu"
+ },
+ "HR": {
+ "name": "Kroasia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kueiti"
+ },
+ "CO": {
+ "name": "Kulombia"
+ },
+ "CW": {
+ "name": "Kurasau"
+ },
+ "LA": {
+ "name": "Laus"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LS": {
+ "name": "Lezotu"
+ },
+ "LB": {
+ "name": "Libanu"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LI": {
+ "name": "Lixenstain"
+ },
+ "LU": {
+ "name": "Luxemburgu"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MY": {
+ "name": "Malazia"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokus"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MK": {
+ "name": "Masidonia"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MX": {
+ "name": "Mexiku"
+ },
+ "MM": {
+ "name": "Mianmar"
+ },
+ "FM": {
+ "name": "Mikronezia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Monaku"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "ME": {
+ "name": "Montenegru"
+ },
+ "MZ": {
+ "name": "Musambiki"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Nijer"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Kalidonia"
+ },
+ "NZ": {
+ "name": "Nova Zilandia"
+ },
+ "NL": {
+ "name": "Olanda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "HN": {
+ "name": "Onduras"
+ },
+ "PK": {
+ "name": "Pakistãu"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palistina"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Nova Gine"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pirkairn"
+ },
+ "PF": {
+ "name": "Polinezia Franseza"
+ },
+ "PR": {
+ "name": "Portu Riku"
+ },
+ "PL": {
+ "name": "Pulonia"
+ },
+ "PT": {
+ "name": "Purtugal"
+ },
+ "GB": {
+ "name": "Reinu Unidu"
+ },
+ "MO": {
+ "name": "Rejiãu Administrativu Special di Makau"
+ },
+ "HK": {
+ "name": "Rejiãu Administrativu Special di Ong Kong"
+ },
+ "DO": {
+ "name": "Repúblika Dominikana"
+ },
+ "CF": {
+ "name": "Republika Sentru-Afrikanu"
+ },
+ "CZ": {
+ "name": "Republika Txeka"
+ },
+ "RO": {
+ "name": "Romenia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RE": {
+ "name": "Runion"
+ },
+ "RU": {
+ "name": "Rúsia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Merkanu"
+ },
+ "SM": {
+ "name": "San Marinu"
+ },
+ "PM": {
+ "name": "San Piere i Mikelon"
+ },
+ "SH": {
+ "name": "Santa Ilena"
+ },
+ "LC": {
+ "name": "Santa Lúsia"
+ },
+ "EH": {
+ "name": "Sara Osidental"
+ },
+ "BL": {
+ "name": "Sãu Bartolomeu"
+ },
+ "VC": {
+ "name": "Sãu Bisenti i Granadinas"
+ },
+ "KN": {
+ "name": "Sãu Kristovãu i Nevis"
+ },
+ "MF": {
+ "name": "Sãu Martinhu di Fransa"
+ },
+ "SX": {
+ "name": "Sãu Martinhu di Olanda"
+ },
+ "ST": {
+ "name": "Sãu Tume i Prinsipi"
+ },
+ "SC": {
+ "name": "Seixelis"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Sera Lioa"
+ },
+ "RS": {
+ "name": "Servia"
+ },
+ "EA": {
+ "name": "Seuta i Melila"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "ES": {
+ "name": "Spanha"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stadus Unidos di Merka"
+ },
+ "EE": {
+ "name": "Stonia"
+ },
+ "SZ": {
+ "name": "Suazilándia"
+ },
+ "SD": {
+ "name": "Sudãu"
+ },
+ "SS": {
+ "name": "Sudãu di Sul"
+ },
+ "SE": {
+ "name": "Suesia"
+ },
+ "CH": {
+ "name": "Suisa"
+ },
+ "SO": {
+ "name": "Sumalia"
+ },
+ "SR": {
+ "name": "Surinami"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Maien"
+ },
+ "TJ": {
+ "name": "Tadjikistãu"
+ },
+ "TH": {
+ "name": "Tailandia"
+ },
+ "TW": {
+ "name": "Taiuan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TF": {
+ "name": "Terras Franses di Sul"
+ },
+ "TL": {
+ "name": "Timor Lesti"
+ },
+ "TG": {
+ "name": "Togu"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobagu"
+ },
+ "TA": {
+ "name": "Tristan da Kunha"
+ },
+ "TN": {
+ "name": "Tunizia"
+ },
+ "TR": {
+ "name": "Turkia"
+ },
+ "TM": {
+ "name": "Turkumenistãu"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TD": {
+ "name": "Txadi"
+ },
+ "WF": {
+ "name": "Ualis i Futuna"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrania"
+ },
+ "HU": {
+ "name": "Ungria"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbekistãu"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanu"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "VE": {
+ "name": "Vinizuela"
+ },
+ "CL": {
+ "name": "Xili"
+ },
+ "CN": {
+ "name": "Xina"
+ },
+ "CY": {
+ "name": "Xipri"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabui"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/khq.json b/library/intl/resources/country/khq.json
new file mode 100644
index 000000000..bdbd80aee
--- /dev/null
+++ b/library/intl/resources/country/khq.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgaanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albaani"
+ },
+ "GB": {
+ "name": "Albaasalaama Marganta"
+ },
+ "DE": {
+ "name": "Almaaɲe"
+ },
+ "DZ": {
+ "name": "Alžeeri"
+ },
+ "VI": {
+ "name": "Ameerik Virgin Gungey"
+ },
+ "US": {
+ "name": "Ameriki Laabu Margantey"
+ },
+ "AS": {
+ "name": "Ameriki Samoa"
+ },
+ "AD": {
+ "name": "Andoora"
+ },
+ "AI": {
+ "name": "Angiiya"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua nda Barbuuda"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Armeeni"
+ },
+ "AW": {
+ "name": "Aruuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IS": {
+ "name": "Ayceland"
+ },
+ "AZ": {
+ "name": "Azerbaayijaŋ"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahareen"
+ },
+ "BD": {
+ "name": "Bangladeši"
+ },
+ "BB": {
+ "name": "Barbaados"
+ },
+ "BE": {
+ "name": "Belgiiki"
+ },
+ "BZ": {
+ "name": "Beliizi"
+ },
+ "BJ": {
+ "name": "Beniŋ"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Biloriši"
+ },
+ "BO": {
+ "name": "Boolivi"
+ },
+ "BA": {
+ "name": "Bosni nda Herzegovine"
+ },
+ "BW": {
+ "name": "Botswaana"
+ },
+ "BR": {
+ "name": "Breezil"
+ },
+ "IO": {
+ "name": "Britiši Indu teekoo laama"
+ },
+ "VG": {
+ "name": "Britiši Virgin gungey"
+ },
+ "BN": {
+ "name": "Bruunee"
+ },
+ "BG": {
+ "name": "Bulgaari"
+ },
+ "BF": {
+ "name": "Burkina faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Buutaŋ"
+ },
+ "TD": {
+ "name": "Caadu"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Cek labo"
+ },
+ "CF": {
+ "name": "Centraafriki koyra"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Doominiki"
+ },
+ "DO": {
+ "name": "Doominiki laboo"
+ },
+ "ET": {
+ "name": "Ecioopi"
+ },
+ "EC": {
+ "name": "Ekwateer"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "ES": {
+ "name": "Espaaɲe"
+ },
+ "EE": {
+ "name": "Estooni"
+ },
+ "FR": {
+ "name": "Faransi"
+ },
+ "GF": {
+ "name": "Faransi Guyaan"
+ },
+ "PF": {
+ "name": "Faransi Polineezi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlandu"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaabon"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bisso"
+ },
+ "GQ": {
+ "name": "Ginee Ekwatorial"
+ },
+ "GE": {
+ "name": "Gorgi"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GD": {
+ "name": "Grenaada"
+ },
+ "GL": {
+ "name": "Grinland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyaane"
+ },
+ "GP": {
+ "name": "Gwadeluup"
+ },
+ "GT": {
+ "name": "Gwatemaala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ZA": {
+ "name": "Hawsa Afriki Laboo"
+ },
+ "NL": {
+ "name": "Hollandu"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaari"
+ },
+ "ID": {
+ "name": "Indoneezi"
+ },
+ "IN": {
+ "name": "Indu laboo"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "RU": {
+ "name": "Iriši laboo"
+ },
+ "IE": {
+ "name": "Irlandu"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israyel"
+ },
+ "IT": {
+ "name": "Itaali"
+ },
+ "JP": {
+ "name": "Jaapoŋ"
+ },
+ "JM": {
+ "name": "Jamaayik"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuuti"
+ },
+ "NC": {
+ "name": "Kaaledooni Taagaa"
+ },
+ "KZ": {
+ "name": "Kaazakstan"
+ },
+ "FK": {
+ "name": "Kalkan gungey"
+ },
+ "KH": {
+ "name": "Kamboogi"
+ },
+ "CM": {
+ "name": "Kameruun"
+ },
+ "CA": {
+ "name": "Kanaada"
+ },
+ "CV": {
+ "name": "Kapuver gungey"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "KY": {
+ "name": "Kayman gungey"
+ },
+ "KE": {
+ "name": "Keeniya"
+ },
+ "KI": {
+ "name": "Kiribaati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "CG": {
+ "name": "Kongoo"
+ },
+ "CD": {
+ "name": "Kongoo demookaratiki laboo"
+ },
+ "KP": {
+ "name": "Kooree, Gurma"
+ },
+ "KR": {
+ "name": "Kooree, Hawsa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta rika"
+ },
+ "HR": {
+ "name": "Krwaasi"
+ },
+ "CI": {
+ "name": "Kudwar"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "CK": {
+ "name": "Kuuk gungey"
+ },
+ "KW": {
+ "name": "Kuweet"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "AE": {
+ "name": "Laaraw Imaarawey Margantey"
+ },
+ "LA": {
+ "name": "Laawos"
+ },
+ "LS": {
+ "name": "Leesoto"
+ },
+ "LV": {
+ "name": "Letooni"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LY": {
+ "name": "Liibi"
+ },
+ "LT": {
+ "name": "Lituaani"
+ },
+ "LB": {
+ "name": "Lubnaan"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Maacedooni"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MA": {
+ "name": "Maarok"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MV": {
+ "name": "Maldiivu"
+ },
+ "MY": {
+ "name": "Maleezi"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Mariana Gurma Gungey"
+ },
+ "MH": {
+ "name": "Maršal gungey"
+ },
+ "MQ": {
+ "name": "Martiniiki"
+ },
+ "MM": {
+ "name": "Maynamar"
+ },
+ "YT": {
+ "name": "Mayooti"
+ },
+ "MX": {
+ "name": "Mexiki"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "EG": {
+ "name": "Misra"
+ },
+ "MD": {
+ "name": "Moldovi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongooli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MU": {
+ "name": "Mooris gungey"
+ },
+ "MR": {
+ "name": "Mooritaani"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NG": {
+ "name": "Naajiriia"
+ },
+ "NA": {
+ "name": "Naamibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Neepal"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Nižer"
+ },
+ "NF": {
+ "name": "Norfolk Gungoo"
+ },
+ "NO": {
+ "name": "Norveej"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "AU": {
+ "name": "Ostraali"
+ },
+ "AT": {
+ "name": "Otriši"
+ },
+ "PK": {
+ "name": "Paakistan"
+ },
+ "PS": {
+ "name": "Palestine Dangay nda Gaaza"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ginee Taaga"
+ },
+ "PY": {
+ "name": "Paraguwey"
+ },
+ "PE": {
+ "name": "Peeru"
+ },
+ "PN": {
+ "name": "Pitikarin"
+ },
+ "PL": {
+ "name": "Poloɲe"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugaal"
+ },
+ "RE": {
+ "name": "Reenioŋ"
+ },
+ "RO": {
+ "name": "Rumaani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SV": {
+ "name": "Salvador laboo"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome nda Prinsipe"
+ },
+ "SA": {
+ "name": "Saudiya"
+ },
+ "SL": {
+ "name": "Seera Leon"
+ },
+ "SC": {
+ "name": "Seešel"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SH": {
+ "name": "Seŋ Helena"
+ },
+ "KN": {
+ "name": "Seŋ Kitts nda Nevis"
+ },
+ "LC": {
+ "name": "Seŋ Lussia"
+ },
+ "PM": {
+ "name": "Seŋ Piyer nda Mikelon"
+ },
+ "VC": {
+ "name": "Seŋvinsaŋ nda Grenadine"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CL": {
+ "name": "Å iili"
+ },
+ "CN": {
+ "name": "Å iin"
+ },
+ "CY": {
+ "name": "Å iipur"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaaki"
+ },
+ "SI": {
+ "name": "Sloveeni"
+ },
+ "SB": {
+ "name": "Solomon Gungey"
+ },
+ "SO": {
+ "name": "Somaali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srilanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinaam"
+ },
+ "SD": {
+ "name": "Suudaŋ"
+ },
+ "SY": {
+ "name": "Suuria"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweede"
+ },
+ "CH": {
+ "name": "Swisu"
+ },
+ "TH": {
+ "name": "Taayiland"
+ },
+ "TW": {
+ "name": "Taayiwan"
+ },
+ "TJ": {
+ "name": "Taažikistan"
+ },
+ "TZ": {
+ "name": "Tanzaani"
+ },
+ "TL": {
+ "name": "Timoor hawsa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad nda Tobaago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TC": {
+ "name": "Turk nda Kayikos Gungey"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistaŋ"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreen"
+ },
+ "JO": {
+ "name": "Urdun"
+ },
+ "UY": {
+ "name": "Uruguwey"
+ },
+ "UZ": {
+ "name": "Uzbeekistan"
+ },
+ "VA": {
+ "name": "Vaatikan Laama"
+ },
+ "VU": {
+ "name": "Vanautu"
+ },
+ "VE": {
+ "name": "Veneezuyeela"
+ },
+ "VN": {
+ "name": "Vietnaam"
+ },
+ "WF": {
+ "name": "Wallis nda Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zeelandu Taaga"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ki.json b/library/intl/resources/country/ki.json
new file mode 100644
index 000000000..0d37a4225
--- /dev/null
+++ b/library/intl/resources/country/ki.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "CN": {
+ "name": "Caina"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CU": {
+ "name": "Kiumba"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "BI": {
+ "name": "Mburundi"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NG": {
+ "name": "Nainjeria"
+ },
+ "NA": {
+ "name": "Namimbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "GH": {
+ "name": "Ngana"
+ },
+ "GB": {
+ "name": "Ngeretha"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "JP": {
+ "name": "Njabani"
+ },
+ "DE": {
+ "name": "Njeremani"
+ },
+ "JO": {
+ "name": "Njorondani"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somaria"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "FR": {
+ "name": "Ubaranja"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/kk.json b/library/intl/resources/country/kk.json
new file mode 100644
index 000000000..5262049b3
--- /dev/null
+++ b/library/intl/resources/country/kk.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "ÐвÑтралиÑ"
+ },
+ "AT": {
+ "name": "ÐвÑтриÑ"
+ },
+ "US": {
+ "name": "ÐҚШ"
+ },
+ "VI": {
+ "name": "ÐҚШ-Ñ‚Ñ‹Ò£ Виргин аралдары"
+ },
+ "UM": {
+ "name": "ÐҚШ-Ñ‚Ñ‹Ò£ ішкі кіші аралдары"
+ },
+ "AX": {
+ "name": "Ðланд аралдары"
+ },
+ "AL": {
+ "name": "ÐлбаниÑ"
+ },
+ "DZ": {
+ "name": "Ðлжир"
+ },
+ "AS": {
+ "name": "Ðмерикан СамоаÑÑ‹"
+ },
+ "AI": {
+ "name": "ÐнгильÑ"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AD": {
+ "name": "Ðндорра"
+ },
+ "AQ": {
+ "name": "Ðнтарктика"
+ },
+ "AG": {
+ "name": "Ðнтигуа мен Барбуда"
+ },
+ "AR": {
+ "name": "Ðргентина"
+ },
+ "AM": {
+ "name": "ÐрмениÑ"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AF": {
+ "name": "ÐуғанÑтан"
+ },
+ "AZ": {
+ "name": "Әзербайжан"
+ },
+ "SH": {
+ "name": "Әулие Елена аралы"
+ },
+ "BS": {
+ "name": "Багам аралдары"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "EH": {
+ "name": "Ð‘Ð°Ñ‚Ñ‹Ñ Ð¡Ð°Ñ…Ð°Ñ€Ð°"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "БеларуÑÑŒ"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BE": {
+ "name": "БельгиÑ"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуд аралдары"
+ },
+ "BG": {
+ "name": "БолгариÑ"
+ },
+ "BO": {
+ "name": "БоливиÑ"
+ },
+ "BA": {
+ "name": "БоÑÐ½Ð¸Ñ Ð¶Ó™Ð½Ðµ Герцеговина"
+ },
+ "BW": {
+ "name": "БотÑвана"
+ },
+ "BR": {
+ "name": "БразилиÑ"
+ },
+ "VG": {
+ "name": "Британдық Виргин аралдары"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркина-ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "AE": {
+ "name": "Біріккен Ðраб Эмираттары"
+ },
+ "GB": {
+ "name": "Бірікккен Корольдік"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "HU": {
+ "name": "ВенгриÑ"
+ },
+ "VE": {
+ "name": "ВенеÑуÑла"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "ГамбиÑ"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "ГвинеÑ"
+ },
+ "GW": {
+ "name": "ГвинеÑ-БиÑау"
+ },
+ "DE": {
+ "name": "ГерманиÑ"
+ },
+ "GG": {
+ "name": "ГернÑи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "NL": {
+ "name": "ГолландиÑ"
+ },
+ "HN": {
+ "name": "ГондураÑ"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "ГренландиÑ"
+ },
+ "GR": {
+ "name": "ГрециÑ"
+ },
+ "GE": {
+ "name": "ГрузиÑ"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "AC": {
+ "name": "Ғибадат аралы"
+ },
+ "DK": {
+ "name": "ДаниÑ"
+ },
+ "JE": {
+ "name": "ДжерÑи"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего-ГарÑиÑ"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминикан РеÑпубликаÑÑ‹"
+ },
+ "NZ": {
+ "name": "Жаңа ЗеландиÑ"
+ },
+ "NC": {
+ "name": "Жаңа КаледониÑ"
+ },
+ "JP": {
+ "name": "ЖапониÑ"
+ },
+ "ZM": {
+ "name": "ЗамбиÑ"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "ID": {
+ "name": "ИндонезиÑ"
+ },
+ "JO": {
+ "name": "ИорданиÑ"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "ИрландиÑ"
+ },
+ "IS": {
+ "name": "ИÑландиÑ"
+ },
+ "ES": {
+ "name": "ИÑпаниÑ"
+ },
+ "IT": {
+ "name": "ИталиÑ"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KY": {
+ "name": "Кайман аралдары"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канар аралдары"
+ },
+ "BQ": {
+ "name": "Кариб ÐидерландыÑÑ‹"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "КениÑ"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "ÐšÐ¾ÐºÐ¾Ñ Ð°Ñ€Ð°Ð»Ð´Ð°Ñ€Ñ‹"
+ },
+ "CO": {
+ "name": "КолумбиÑ"
+ },
+ "KM": {
+ "name": "Комор"
+ },
+ "CD": {
+ "name": "Конго"
+ },
+ "CG": {
+ "name": "Конго-Браззавиль РеÑпубликаÑÑ‹"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑта-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Ивуар"
+ },
+ "CX": {
+ "name": "КриÑÑ‚Ð¼Ð°Ñ Ð°Ñ€Ð°Ð»Ñ‹"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CK": {
+ "name": "Кук аралдары"
+ },
+ "CW": {
+ "name": "КюраÑао"
+ },
+ "KZ": {
+ "name": "ҚазақÑтан"
+ },
+ "KG": {
+ "name": "ҚырғызÑтан"
+ },
+ "CN": {
+ "name": "Қытай"
+ },
+ "HK": {
+ "name": "Қытай Халық РеÑпубликаÑының Гонг-Конг арнайы әкімшілік ауданы"
+ },
+ "MO": {
+ "name": "Қытай Халық РеÑпубликаÑының Макао арнайы әкімшілік ауданы"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "ЛатвиÑ"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LR": {
+ "name": "ЛибериÑ"
+ },
+ "LY": {
+ "name": "ЛибиÑ"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "ЛюкÑембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "МавританиÑ"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MK": {
+ "name": "МакедониÑ"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "МалайзиÑ"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MV": {
+ "name": "Мальдив РеÑпубликаÑÑ‹"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршалл аралдары"
+ },
+ "MX": {
+ "name": "МекÑика"
+ },
+ "FM": {
+ "name": "МикронезиÑ"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MS": {
+ "name": "МонтÑеррат"
+ },
+ "MN": {
+ "name": "МоңғолиÑ"
+ },
+ "MA": {
+ "name": "Морокко"
+ },
+ "EG": {
+ "name": "МыÑÑ‹Ñ€"
+ },
+ "MM": {
+ "name": "МьÑнма (Бирма)"
+ },
+ "IM": {
+ "name": "ÐœÑн аралы"
+ },
+ "NA": {
+ "name": "ÐамибиÑ"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "ÐигериÑ"
+ },
+ "NI": {
+ "name": "Ðикарагуа"
+ },
+ "NU": {
+ "name": "ÐиуÑ"
+ },
+ "NO": {
+ "name": "ÐорвегиÑ"
+ },
+ "NF": {
+ "name": "Ðорфолк аралы"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "ZA": {
+ "name": "ОңтүÑтік Ðфрика реÑпубликаÑÑ‹"
+ },
+ "GS": {
+ "name": "ОңтүÑтік Ð“ÐµÐ¾Ñ€Ð³Ð¸Ñ Ð¶Ó™Ð½Ðµ ОңтүÑтік Сандвичев аралы"
+ },
+ "KP": {
+ "name": "ОңтүÑтік КореÑ"
+ },
+ "SS": {
+ "name": "ОңтүÑтік Судан"
+ },
+ "CF": {
+ "name": "Орталық Ðфрика РеÑпубликаÑÑ‹"
+ },
+ "UZ": {
+ "name": "ӨзбекÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "ПалеÑтина аймақтары"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа — Жаңа ГвинеÑ"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PK": {
+ "name": "ПәкіÑтан"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "ПиткÑрн аралдары"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "ПортугалиÑ"
+ },
+ "PR": {
+ "name": "ПуÑрто-Рико"
+ },
+ "RU": {
+ "name": "РеÑей"
+ },
+ "RE": {
+ "name": "Реюньон"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "РумыниÑ"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе мен ПринÑипи"
+ },
+ "SA": {
+ "name": "Сауд ÐрабиÑÑÑ‹"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SC": {
+ "name": "Сейшель аралдары"
+ },
+ "BL": {
+ "name": "Сен-Бартелеми"
+ },
+ "MF": {
+ "name": "Сен-Мартен"
+ },
+ "PM": {
+ "name": "Сен-Пьер және Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-ВинÑент және Гренадиндер"
+ },
+ "KN": {
+ "name": "Сент-ÐšÐ¸Ñ‚Ñ Ð¶Ó™Ð½Ðµ ÐевиÑ"
+ },
+ "LC": {
+ "name": "Сент-ЛюÑиÑ"
+ },
+ "RS": {
+ "name": "СербиÑ"
+ },
+ "EA": {
+ "name": "Сеута мен МелильÑ"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Мартен"
+ },
+ "SY": {
+ "name": "СириÑ"
+ },
+ "SK": {
+ "name": "СловакиÑ"
+ },
+ "SI": {
+ "name": "СловениÑ"
+ },
+ "SB": {
+ "name": "Соломон аралдары"
+ },
+ "KR": {
+ "name": "СолтүÑтік КореÑ"
+ },
+ "MP": {
+ "name": "СолтүÑтік Мариан аралдары"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TH": {
+ "name": "Тайланд"
+ },
+ "TZ": {
+ "name": "ТанзаниÑ"
+ },
+ "TJ": {
+ "name": "ТәжікÑтан"
+ },
+ "TL": {
+ "name": "Тимор-ЛеÑте"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад пен Тобаго"
+ },
+ "TA": {
+ "name": "ТриÑтан-да-КуньÑ"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "TC": {
+ "name": "Ð¢ÑƒÑ€ÐºÑ Ð¿ÐµÐ½ КайкоÑ"
+ },
+ "TR": {
+ "name": "ТүркиÑ"
+ },
+ "TM": {
+ "name": "ТүрікменÑтан"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "WF": {
+ "name": "Ð£Ð¾Ð»Ð»Ð¸Ñ Ð¿ÐµÐ½ Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "IO": {
+ "name": "Үнді мұхитындағы Британ аймағы"
+ },
+ "IN": {
+ "name": "ҮндіÑтан"
+ },
+ "FO": {
+ "name": "Фарер аралдары"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филиппиндер"
+ },
+ "FI": {
+ "name": "ФинлÑндиÑ"
+ },
+ "FK": {
+ "name": "Фолкленд аралдары"
+ },
+ "FR": {
+ "name": "ФранциÑ"
+ },
+ "TF": {
+ "name": "ФранциÑның ÑолтүÑтік аймағы"
+ },
+ "GF": {
+ "name": "Француз ГвианаÑÑ‹"
+ },
+ "PF": {
+ "name": "Француз ПолинезиÑÑÑ‹"
+ },
+ "HR": {
+ "name": "ХорватиÑ"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "ЧерногориÑ"
+ },
+ "CZ": {
+ "name": "Чех РеÑпубликаÑÑ‹"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "ШвейцариÑ"
+ },
+ "SE": {
+ "name": "ШвециÑ"
+ },
+ "SJ": {
+ "name": "Шпицберген мен Ян-Майен"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваторлық ГвинеÑ"
+ },
+ "ER": {
+ "name": "ЭритреÑ"
+ },
+ "EE": {
+ "name": "ЭÑтониÑ"
+ },
+ "ET": {
+ "name": "ЭфиопиÑ"
+ },
+ "JM": {
+ "name": "Ямайка"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/kl.json b/library/intl/resources/country/kl.json
new file mode 100644
index 000000000..a770f7ee2
--- /dev/null
+++ b/library/intl/resources/country/kl.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistani"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeriet"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AG": {
+ "name": "Antigua aamma Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension qeqertaq"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "SD": {
+ "name": "Avannarleqsudan"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia aamma Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Cap Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman qeqertaq"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta aamma Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CC": {
+ "name": "Cocos qeqertaq"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CK": {
+ "name": "Cook qeqertaq"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypern"
+ },
+ "DK": {
+ "name": "Danmarki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypten"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estlandi"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falklandi qeqertaq"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finlandi"
+ },
+ "FR": {
+ "name": "Frankrigi"
+ },
+ "MF": {
+ "name": "Frankrigi Saint Martin"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grækenlandi"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Hollandi"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong"
+ },
+ "BY": {
+ "name": "Hvideruslandi"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlandi"
+ },
+ "IS": {
+ "name": "Islandi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordani"
+ },
+ "CX": {
+ "name": "Jul-qeqertaq"
+ },
+ "GL": {
+ "name": "Kalaallit Nunaat"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "IC": {
+ "name": "Kanaria qeqertaq"
+ },
+ "KZ": {
+ "name": "Kasakhstani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "KP": {
+ "name": "Korea Avannarleq"
+ },
+ "KR": {
+ "name": "Korea Kujalleq"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "ZA": {
+ "name": "Kujalleqafrika"
+ },
+ "SS": {
+ "name": "Kujalleqsudan"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letlandi"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtensteini"
+ },
+ "LT": {
+ "name": "Litaueni"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macao"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marocko"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "US": {
+ "name": "Naalagaaffeqatigiit"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "NO": {
+ "name": "Norge"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NC": {
+ "name": "Nutaaq Caledonia"
+ },
+ "NZ": {
+ "name": "Nutaaq Zeelandi"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nutaaq Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poleni"
+ },
+ "PT": {
+ "name": "Portugali"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "AQ": {
+ "name": "Qalasersuaq Kujalleq"
+ },
+ "QA": {
+ "name": "Quatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumænia"
+ },
+ "RU": {
+ "name": "Ruslandi"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Killiit"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts aamma Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre aamma Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé aamma Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "FO": {
+ "name": "Savalimmiut"
+ },
+ "CH": {
+ "name": "Schweizi"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "ES": {
+ "name": "Spania"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard aamma Jan Mayen"
+ },
+ "SE": {
+ "name": "Sverige"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailandi"
+ },
+ "TL": {
+ "name": "Timor Kangilliit"
+ },
+ "CZ": {
+ "name": "Tjekkia"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad aamma Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "GB": {
+ "name": "Tuluit Nunaat"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistani"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Tyrkia"
+ },
+ "DE": {
+ "name": "Tysklandi"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungarni"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis aamma Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "AT": {
+ "name": "Østrigi"
+ },
+ "AX": {
+ "name": "Ã…landi"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/kln.json b/library/intl/resources/country/kln.json
new file mode 100644
index 000000000..ee8ae7c39
--- /dev/null
+++ b/library/intl/resources/country/kln.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "AF": {
+ "name": "Emetab Afghanistan"
+ },
+ "CF": {
+ "name": "Emetab Afrika nebo Kwen"
+ },
+ "ZA": {
+ "name": "Emetab Afrika nebo Murot tai"
+ },
+ "AL": {
+ "name": "Emetab Albania"
+ },
+ "DZ": {
+ "name": "Emetab Algeria"
+ },
+ "AS": {
+ "name": "Emetab American Samoa"
+ },
+ "US": {
+ "name": "Emetab amerika"
+ },
+ "AD": {
+ "name": "Emetab Andorra"
+ },
+ "AO": {
+ "name": "Emetab Angola"
+ },
+ "AI": {
+ "name": "Emetab Anguilla"
+ },
+ "AG": {
+ "name": "Emetab Antigua ak Barbuda"
+ },
+ "AR": {
+ "name": "Emetab Argentina"
+ },
+ "AM": {
+ "name": "Emetab Armenia"
+ },
+ "AW": {
+ "name": "Emetab Aruba"
+ },
+ "AU": {
+ "name": "Emetab Australia"
+ },
+ "AT": {
+ "name": "Emetab Austria"
+ },
+ "AZ": {
+ "name": "Emetab Azerbaijan"
+ },
+ "BS": {
+ "name": "Emetab Bahamas"
+ },
+ "BH": {
+ "name": "Emetab Bahrain"
+ },
+ "BD": {
+ "name": "Emetab Bangladesh"
+ },
+ "BB": {
+ "name": "Emetab Barbados"
+ },
+ "BY": {
+ "name": "Emetab Belarus"
+ },
+ "BE": {
+ "name": "Emetab Belgium"
+ },
+ "BZ": {
+ "name": "Emetab Belize"
+ },
+ "BJ": {
+ "name": "Emetab Benin"
+ },
+ "BM": {
+ "name": "Emetab Bermuda"
+ },
+ "BT": {
+ "name": "Emetab Bhutan"
+ },
+ "BO": {
+ "name": "Emetab Bolivia"
+ },
+ "BA": {
+ "name": "Emetab Bosnia ak Herzegovina"
+ },
+ "BW": {
+ "name": "Emetab Botswana"
+ },
+ "BR": {
+ "name": "Emetab Brazil"
+ },
+ "BN": {
+ "name": "Emetab Brunei"
+ },
+ "BG": {
+ "name": "Emetab Bulgaria"
+ },
+ "BF": {
+ "name": "Emetab Burkina Faso"
+ },
+ "BI": {
+ "name": "Emetab Burundi"
+ },
+ "KH": {
+ "name": "Emetab Cambodia"
+ },
+ "CM": {
+ "name": "Emetab Cameroon"
+ },
+ "CA": {
+ "name": "Emetab Canada"
+ },
+ "TD": {
+ "name": "Emetab Chad"
+ },
+ "CL": {
+ "name": "Emetab Chile"
+ },
+ "CN": {
+ "name": "Emetab China"
+ },
+ "CO": {
+ "name": "Emetab Colombia"
+ },
+ "KM": {
+ "name": "Emetab Comoros"
+ },
+ "CG": {
+ "name": "Emetab Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Emetab Congo - Kinshasa"
+ },
+ "CR": {
+ "name": "Emetab Costa Rica"
+ },
+ "CI": {
+ "name": "Emetab Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Emetab Croatia"
+ },
+ "CU": {
+ "name": "Emetab Cuba"
+ },
+ "CY": {
+ "name": "Emetab Cyprus"
+ },
+ "CZ": {
+ "name": "Emetab Czech Republic"
+ },
+ "DK": {
+ "name": "Emetab Denmark"
+ },
+ "DJ": {
+ "name": "Emetab Djibouti"
+ },
+ "DM": {
+ "name": "Emetab Dominica"
+ },
+ "DO": {
+ "name": "Emetab Dominican Republic"
+ },
+ "EC": {
+ "name": "Emetab Ecuador"
+ },
+ "SV": {
+ "name": "Emetab El Salvador"
+ },
+ "GQ": {
+ "name": "Emetab Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Emetab Eritrea"
+ },
+ "EE": {
+ "name": "Emetab Estonia"
+ },
+ "ET": {
+ "name": "Emetab Ethiopia"
+ },
+ "FJ": {
+ "name": "Emetab Fiji"
+ },
+ "FI": {
+ "name": "Emetab Finland"
+ },
+ "FR": {
+ "name": "Emetab France"
+ },
+ "GA": {
+ "name": "Emetab Gabon"
+ },
+ "GM": {
+ "name": "Emetab Gambia"
+ },
+ "GE": {
+ "name": "Emetab Georgia"
+ },
+ "DE": {
+ "name": "Emetab Geruman"
+ },
+ "GH": {
+ "name": "Emetab Ghana"
+ },
+ "GI": {
+ "name": "Emetab Gibraltar"
+ },
+ "GR": {
+ "name": "Emetab Greece"
+ },
+ "GL": {
+ "name": "Emetab Greenland"
+ },
+ "GD": {
+ "name": "Emetab Grenada"
+ },
+ "GP": {
+ "name": "Emetab Guadeloupe"
+ },
+ "GU": {
+ "name": "Emetab Guam"
+ },
+ "GT": {
+ "name": "Emetab Guatemala"
+ },
+ "GF": {
+ "name": "Emetab Guiana nebo Ufaransa"
+ },
+ "GN": {
+ "name": "Emetab Guinea"
+ },
+ "GW": {
+ "name": "Emetab Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Emetab Guyana"
+ },
+ "HT": {
+ "name": "Emetab Haiti"
+ },
+ "SH": {
+ "name": "Emetab Helena Ne tilil"
+ },
+ "NL": {
+ "name": "Emetab Holand"
+ },
+ "HN": {
+ "name": "Emetab Honduras"
+ },
+ "HU": {
+ "name": "Emetab Hungary"
+ },
+ "IS": {
+ "name": "Emetab Iceland"
+ },
+ "IN": {
+ "name": "Emetab India"
+ },
+ "ID": {
+ "name": "Emetab Indonesia"
+ },
+ "IR": {
+ "name": "Emetab Iran"
+ },
+ "IQ": {
+ "name": "Emetab Iraq"
+ },
+ "IE": {
+ "name": "Emetab Ireland"
+ },
+ "IL": {
+ "name": "Emetab Israel"
+ },
+ "IT": {
+ "name": "Emetab Italy"
+ },
+ "JM": {
+ "name": "Emetab Jamaica"
+ },
+ "JP": {
+ "name": "Emetab Japan"
+ },
+ "JO": {
+ "name": "Emetab Jordan"
+ },
+ "KZ": {
+ "name": "Emetab Kazakhstan"
+ },
+ "KE": {
+ "name": "Emetab Kenya"
+ },
+ "AE": {
+ "name": "Emetab kibagenge nebo arabuk"
+ },
+ "GB": {
+ "name": "Emetab Kibagenge nebo Uingereza"
+ },
+ "KI": {
+ "name": "Emetab Kiribati"
+ },
+ "KP": {
+ "name": "Emetab Korea nebo murot katam"
+ },
+ "KR": {
+ "name": "Emetab korea nebo murot tai"
+ },
+ "KW": {
+ "name": "Emetab Kuwait"
+ },
+ "KG": {
+ "name": "Emetab Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Emetab Laos"
+ },
+ "LV": {
+ "name": "Emetab Latvia"
+ },
+ "LB": {
+ "name": "Emetab Lebanon"
+ },
+ "LS": {
+ "name": "Emetab Lesotho"
+ },
+ "LR": {
+ "name": "Emetab Liberia"
+ },
+ "LY": {
+ "name": "Emetab Libya"
+ },
+ "LI": {
+ "name": "Emetab Liechtenstein"
+ },
+ "LT": {
+ "name": "Emetab Lithuania"
+ },
+ "LC": {
+ "name": "Emetab Lucia Ne"
+ },
+ "LU": {
+ "name": "Emetab Luxembourg"
+ },
+ "MK": {
+ "name": "Emetab Macedonia"
+ },
+ "MG": {
+ "name": "Emetab Madagascar"
+ },
+ "MW": {
+ "name": "Emetab Malawi"
+ },
+ "MY": {
+ "name": "Emetab Malaysia"
+ },
+ "MV": {
+ "name": "Emetab Maldives"
+ },
+ "ML": {
+ "name": "Emetab Mali"
+ },
+ "MT": {
+ "name": "Emetab Malta"
+ },
+ "MQ": {
+ "name": "Emetab Martinique"
+ },
+ "MR": {
+ "name": "Emetab Mauritania"
+ },
+ "MU": {
+ "name": "Emetab Mauritius"
+ },
+ "YT": {
+ "name": "Emetab Mayotte"
+ },
+ "MX": {
+ "name": "Emetab Mexico"
+ },
+ "FM": {
+ "name": "Emetab Micronesia"
+ },
+ "EG": {
+ "name": "Emetab Misiri"
+ },
+ "MD": {
+ "name": "Emetab Moldova"
+ },
+ "MC": {
+ "name": "Emetab Monaco"
+ },
+ "MN": {
+ "name": "Emetab Mongolia"
+ },
+ "MS": {
+ "name": "Emetab Montserrat"
+ },
+ "MA": {
+ "name": "Emetab Morocco"
+ },
+ "MZ": {
+ "name": "Emetab Mozambique"
+ },
+ "MM": {
+ "name": "Emetab Myanmar"
+ },
+ "NA": {
+ "name": "Emetab Namibia"
+ },
+ "NR": {
+ "name": "Emetab Nauru"
+ },
+ "NP": {
+ "name": "Emetab Nepal"
+ },
+ "NC": {
+ "name": "Emetab New Caledonia"
+ },
+ "NZ": {
+ "name": "Emetab New Zealand"
+ },
+ "NI": {
+ "name": "Emetab Nicaragua"
+ },
+ "NE": {
+ "name": "Emetab niger"
+ },
+ "NG": {
+ "name": "Emetab Nigeria"
+ },
+ "NU": {
+ "name": "Emetab Niue"
+ },
+ "NO": {
+ "name": "Emetab Norway"
+ },
+ "OM": {
+ "name": "Emetab Oman"
+ },
+ "PK": {
+ "name": "Emetab Pakistan"
+ },
+ "PW": {
+ "name": "Emetab Palau"
+ },
+ "PS": {
+ "name": "Emetab Palestine"
+ },
+ "PA": {
+ "name": "Emetab Panama"
+ },
+ "PG": {
+ "name": "Emetab Papua New Guinea"
+ },
+ "PY": {
+ "name": "Emetab Paraguay"
+ },
+ "PE": {
+ "name": "Emetab Peru"
+ },
+ "PM": {
+ "name": "Emetab Peter Ne titil ak Miquelon"
+ },
+ "PH": {
+ "name": "Emetab Philippines"
+ },
+ "PN": {
+ "name": "Emetab Pitcairn"
+ },
+ "PL": {
+ "name": "Emetab Poland"
+ },
+ "PF": {
+ "name": "Emetab Polynesia nebo ufaransa"
+ },
+ "PT": {
+ "name": "Emetab Portugal"
+ },
+ "PR": {
+ "name": "Emetab Puerto Rico"
+ },
+ "QA": {
+ "name": "Emetab Qatar"
+ },
+ "RE": {
+ "name": "Emetab Réunion"
+ },
+ "RO": {
+ "name": "Emetab Romania"
+ },
+ "RU": {
+ "name": "Emetab Russia"
+ },
+ "RW": {
+ "name": "Emetab Rwanda"
+ },
+ "KN": {
+ "name": "Emetab Saint Kitts ak Nevis"
+ },
+ "WS": {
+ "name": "Emetab Samoa"
+ },
+ "SM": {
+ "name": "Emetab San Marino"
+ },
+ "ST": {
+ "name": "Emetab São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Emetab Saudi Arabia"
+ },
+ "SN": {
+ "name": "Emetab Senegal"
+ },
+ "SC": {
+ "name": "Emetab Seychelles"
+ },
+ "SL": {
+ "name": "Emetab Sierra Leone"
+ },
+ "SG": {
+ "name": "Emetab Singapore"
+ },
+ "SK": {
+ "name": "Emetab Slovakia"
+ },
+ "SI": {
+ "name": "Emetab Slovenia"
+ },
+ "SO": {
+ "name": "Emetab Somalia"
+ },
+ "ES": {
+ "name": "Emetab Spain"
+ },
+ "LK": {
+ "name": "Emetab Sri Lanka"
+ },
+ "SD": {
+ "name": "Emetab Sudan"
+ },
+ "SR": {
+ "name": "Emetab Suriname"
+ },
+ "SZ": {
+ "name": "Emetab Swaziland"
+ },
+ "SE": {
+ "name": "Emetab Sweden"
+ },
+ "CH": {
+ "name": "Emetab Switzerland"
+ },
+ "SY": {
+ "name": "Emetab Syria"
+ },
+ "TW": {
+ "name": "Emetab Taiwan"
+ },
+ "TJ": {
+ "name": "Emetab Tajikistan"
+ },
+ "TZ": {
+ "name": "Emetab Tanzania"
+ },
+ "TH": {
+ "name": "Emetab Thailand"
+ },
+ "TL": {
+ "name": "Emetab Timor nebo Murot tai"
+ },
+ "TG": {
+ "name": "Emetab Togo"
+ },
+ "TK": {
+ "name": "Emetab Tokelau"
+ },
+ "TO": {
+ "name": "Emetab Tonga"
+ },
+ "TT": {
+ "name": "Emetab Trinidad ak Tobago"
+ },
+ "TN": {
+ "name": "Emetab Tunisia"
+ },
+ "TR": {
+ "name": "Emetab Turkey"
+ },
+ "TM": {
+ "name": "Emetab Turkmenistan"
+ },
+ "TV": {
+ "name": "Emetab Tuvalu"
+ },
+ "UG": {
+ "name": "Emetab Uganda"
+ },
+ "UA": {
+ "name": "Emetab Ukrainie"
+ },
+ "UY": {
+ "name": "Emetab Uruguay"
+ },
+ "UZ": {
+ "name": "Emetab Uzibekistani"
+ },
+ "VU": {
+ "name": "Emetab Vanuatu"
+ },
+ "VA": {
+ "name": "Emetab Vatican"
+ },
+ "VE": {
+ "name": "Emetab Venezuela"
+ },
+ "VN": {
+ "name": "Emetab Vietnam"
+ },
+ "VC": {
+ "name": "Emetab Vincent netilil ak Grenadines"
+ },
+ "WF": {
+ "name": "Emetab Walis ak Futuna"
+ },
+ "YE": {
+ "name": "Emetab Yemen"
+ },
+ "ZM": {
+ "name": "Emetab Zambia"
+ },
+ "ZW": {
+ "name": "Emetab Zimbabwe"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "MP": {
+ "name": "Ikwembeiyotab Mariana nebo murot katam"
+ },
+ "MH": {
+ "name": "Ikwembeiyotab Marshall"
+ },
+ "NF": {
+ "name": "Ikwembeiyotab Norfork"
+ },
+ "SB": {
+ "name": "Ikwembeiyotab Solomon"
+ },
+ "TC": {
+ "name": "Ikwembeiyotab Turks ak Caicos"
+ },
+ "VG": {
+ "name": "Ikwembeyotab British Virgin"
+ },
+ "CV": {
+ "name": "Ikwembeyotab Cape Verde"
+ },
+ "KY": {
+ "name": "Ikwembeyotab Cayman"
+ },
+ "CK": {
+ "name": "Ikwembeyotab Cook"
+ },
+ "FK": {
+ "name": "Ikwembeyotab Falkland"
+ },
+ "VI": {
+ "name": "Ikwemweiyotab Amerika"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "IO": {
+ "name": "Kebebertab araraitab indian Ocean nebo Uingeresa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/km.json b/library/intl/resources/country/km.json
new file mode 100644
index 000000000..96beeb1b7
--- /dev/null
+++ b/library/intl/resources/country/km.json
@@ -0,0 +1,761 @@
+{
+ "KH": {
+ "name": "កម្ពុជា"
+ },
+ "CA": {
+ "name": "កាណាដា"
+ },
+ "QA": {
+ "name": "កាážáž¶ážš"
+ },
+ "CV": {
+ "name": "កាបវែរ"
+ },
+ "CM": {
+ "name": "កាមáŸážšáž¼áž“"
+ },
+ "KZ": {
+ "name": "កាហ្សាក់ស្ážáž¶áž„់់"
+ },
+ "CG": {
+ "name": "កុងហ្គោ - ប្រាហ្សាវីល"
+ },
+ "CD": {
+ "name": "កុងហ្គោ- គីនស្ហាសា"
+ },
+ "CI": {
+ "name": "កូដឌីវáŸážš"
+ },
+ "CW": {
+ "name": "កូរ៉ាកៅ"
+ },
+ "KP": {
+ "name": "កូរ៉áŸâ€‹ážáž¶áž„​ជើង"
+ },
+ "KR": {
+ "name": "កូរ៉áŸâ€‹ážáž¶áž„​ážáŸ’បូង"
+ },
+ "XK": {
+ "name": "កូសូវ៉ូ"
+ },
+ "CR": {
+ "name": "កូស្ážáž¶ážšáž¸áž€áž¶"
+ },
+ "CO": {
+ "name": "កូឡុំប៊ី"
+ },
+ "KE": {
+ "name": "កáŸáž“យ៉ា"
+ },
+ "KM": {
+ "name": "កុំម៉ូរ៉ូស"
+ },
+ "IC": {
+ "name": "កោះ​កាណារី"
+ },
+ "CC": {
+ "name": "កោះ​កូកូស"
+ },
+ "TC": {
+ "name": "កោះ​កៃកូស និងទូក"
+ },
+ "KY": {
+ "name": "កោះ​កៃម៉ង់"
+ },
+ "CK": {
+ "name": "កោះ​ážáž¼áž€"
+ },
+ "CX": {
+ "name": "កោះ​គ្រីស្មាស"
+ },
+ "NF": {
+ "name": "កោះ​ណáŸážšáž áŸ’វក់"
+ },
+ "PN": {
+ "name": "កោះ​ភីážážáž¶ážšáž·áž“"
+ },
+ "MP": {
+ "name": "កោះ​ម៉ារីណា​ážáž¶áž„​ជើង"
+ },
+ "MH": {
+ "name": "កោះ​ម៉ាស់សល"
+ },
+ "VG": {
+ "name": "កោះ​វឺជិន​ចក្រភព​អង់គ្លáŸážŸ"
+ },
+ "VI": {
+ "name": "កោះ​វឺជីន​អាមáŸážšáž·áž€"
+ },
+ "SB": {
+ "name": "កោះ​ស៊ូឡូម៉ុង"
+ },
+ "FK": {
+ "name": "កោះ​ហ្វក់ឡែន"
+ },
+ "FO": {
+ "name": "កោះ​ហ្វារ៉ូ"
+ },
+ "GS": {
+ "name": "កោះ​ហ្សកហ្ស៊ី​ážáž¶áž„​ážáŸ’បូង និង​សាន់វិច​ážáž¶áž„​ážáŸ’បូង"
+ },
+ "AC": {
+ "name": "កោះ​អាសáŸáž“សិន"
+ },
+ "AX": {
+ "name": "កោះ​អាឡាំង"
+ },
+ "UM": {
+ "name": "កោះ​អៅឡាយីង​អាមáŸážšáž·áž€"
+ },
+ "GR": {
+ "name": "ក្រិច"
+ },
+ "HR": {
+ "name": "ក្រូអាáž"
+ },
+ "KI": {
+ "name": "គិរិបាទី"
+ },
+ "CU": {
+ "name": "គុយបា"
+ },
+ "KW": {
+ "name": "គុយវ៉ែáž"
+ },
+ "KG": {
+ "name": "គៀរហ្គីស្ážáž„់"
+ },
+ "GB": {
+ "name": "ចក្រភព​អង់គ្លáŸážŸ"
+ },
+ "CN": {
+ "name": "áž…áž·áž“"
+ },
+ "TD": {
+ "name": "ឆាដ"
+ },
+ "JP": {
+ "name": "ជប៉ុន"
+ },
+ "EA": {
+ "name": "ជឺážáž¶ និង​ម៉áŸáž›áž¸áž¡áž¶"
+ },
+ "JE": {
+ "name": "ជឺស៊ី"
+ },
+ "NC": {
+ "name": "ញូកាឡáŸážŠáž¼áž“ៀ"
+ },
+ "DK": {
+ "name": "ដាណឺម៉ាក"
+ },
+ "DM": {
+ "name": "ដូមីនីកា"
+ },
+ "TF": {
+ "name": "ដែន​បារាំង​ážáž¶áž„​ážáŸ’បូង"
+ },
+ "PS": {
+ "name": "ដែន​ប៉ាលáŸážŸáŸ’ទីន"
+ },
+ "IO": {
+ "name": "ដែន​មហា​សមុទ្រ​ឥណ្ឌា ចក្រភព​អង់គ្លáŸážŸ"
+ },
+ "DG": {
+ "name": "ឌៀហ្គោហ្គាស៊ី"
+ },
+ "NA": {
+ "name": "ណាមីប៊ី"
+ },
+ "NR": {
+ "name": "ណូរូ"
+ },
+ "NU": {
+ "name": "ណៀ"
+ },
+ "TZ": {
+ "name": "ážáž„់ហ្សានី"
+ },
+ "TJ": {
+ "name": "ážáž¶ážŠáž áŸ’ស៉ីគីស្ážáž„់"
+ },
+ "TO": {
+ "name": "ážáž»áž„ហ្គា"
+ },
+ "TK": {
+ "name": "ážáž¼ážáŸáž¡áŸ…"
+ },
+ "TG": {
+ "name": "ážáž¼áž áŸ’áž‚áž¼"
+ },
+ "TW": {
+ "name": "ážáŸƒážœáŸ‰áž¶áž“់"
+ },
+ "TH": {
+ "name": "ážáŸƒ"
+ },
+ "VA": {
+ "name": "ទីក្រុងវ៉ាទីកង់"
+ },
+ "TL": {
+ "name": "ទីមáŸážš"
+ },
+ "TN": {
+ "name": "ទុយនáŸážŸáŸŠáž¸"
+ },
+ "TV": {
+ "name": "ទូវ៉ាលូ"
+ },
+ "TM": {
+ "name": "ទួគមáŸáž“ីស្ážáž„់"
+ },
+ "TR": {
+ "name": "ទួរគី"
+ },
+ "TT": {
+ "name": "ទ្រីនីដាហនិង​ážáž¼áž”ាហ្គោ"
+ },
+ "TA": {
+ "name": "ទ្រីស្ážáž„់​ដា​ចូនហា"
+ },
+ "NO": {
+ "name": "áž“áŸážšážœáŸ‚ស"
+ },
+ "NI": {
+ "name": "នីការ៉ាហ្គáŸážš"
+ },
+ "NE": {
+ "name": "នីហ្សáŸážš"
+ },
+ "NG": {
+ "name": "នីហ្សáŸážšáž¸áž™áŸ‰áž¶"
+ },
+ "NZ": {
+ "name": "នូវែលហ្សáŸáž¡áž„់"
+ },
+ "NP": {
+ "name": "áž“áŸáž”៉ាល់"
+ },
+ "BD": {
+ "name": "បង់ក្លាដáŸážŸáŸ’áž "
+ },
+ "PK": {
+ "name": "ប៉ាគីស្ážáž¶áž“"
+ },
+ "PA": {
+ "name": "ប៉ាណាម៉ា"
+ },
+ "PG": {
+ "name": "ប៉ាពូអានូវែលហ្គីណáŸ"
+ },
+ "BB": {
+ "name": "បារបាដូស"
+ },
+ "PY": {
+ "name": "ប៉ារ៉ាហ្គាយ"
+ },
+ "BH": {
+ "name": "បារ៉ែន"
+ },
+ "FR": {
+ "name": "បារាំង"
+ },
+ "BS": {
+ "name": "បាហាម៉ា"
+ },
+ "BM": {
+ "name": "ប៊ឺមុយដា"
+ },
+ "BW": {
+ "name": "បុážážŸáŸ’វាណា"
+ },
+ "BG": {
+ "name": "ប៊ុលហ្គារី"
+ },
+ "BT": {
+ "name": "ប៊ូážáž¶áž“"
+ },
+ "BF": {
+ "name": "ប៊ូរគីណាហ្វាសូ"
+ },
+ "BI": {
+ "name": "ប៊ូរុនឌី"
+ },
+ "BO": {
+ "name": "បូលីវី"
+ },
+ "PL": {
+ "name": "ប៉ូលូញ"
+ },
+ "BA": {
+ "name": "បូស្ន៉ី"
+ },
+ "BJ": {
+ "name": "áž”áŸážŽáž¶áŸ†áž„"
+ },
+ "PE": {
+ "name": "ប៉áŸážšáž¼"
+ },
+ "BZ": {
+ "name": "áž”áŸáž›áž¸áž áŸ’ស"
+ },
+ "BY": {
+ "name": "áž”áŸáž¡áž¶ážšáž»ážŸáŸ’ស"
+ },
+ "BE": {
+ "name": "បែលហ្ស៉ិក"
+ },
+ "BR": {
+ "name": "ប្រáŸážŸáŸŠáž¸áž›"
+ },
+ "PW": {
+ "name": "ផៅឡូ"
+ },
+ "PR": {
+ "name": "áž–áŸážšážáž¼ážšáž¸áž€áž¼"
+ },
+ "PT": {
+ "name": "áž–áŸážšáž‘ុយហ្កាល់"
+ },
+ "BN": {
+ "name": "ព្រុយណáŸ"
+ },
+ "MO": {
+ "name": "ម៉ាកាវ"
+ },
+ "MG": {
+ "name": "ម៉ាដាហ្កាស្ការ"
+ },
+ "MQ": {
+ "name": "ម៉ាទីនីក"
+ },
+ "YT": {
+ "name": "ម៉ាយុáž"
+ },
+ "MA": {
+ "name": "ម៉ារ៉ុក"
+ },
+ "MV": {
+ "name": "ម៉ាល់ឌីវ"
+ },
+ "MT": {
+ "name": "ម៉ាល់ážáž¶"
+ },
+ "ML": {
+ "name": "ម៉ាលី"
+ },
+ "MK": {
+ "name": "ម៉ាសáŸážŠáž“"
+ },
+ "MW": {
+ "name": "ម៉ាឡាវី"
+ },
+ "MY": {
+ "name": "ម៉ាឡáŸážŸáŸŠáž¸"
+ },
+ "FM": {
+ "name": "មិក្រូនáŸážŸáŸŠáž¸"
+ },
+ "MX": {
+ "name": "ម៉ិចសិក"
+ },
+ "MM": {
+ "name": "មីយ៉ាន់ម៉ា (ភូមា)"
+ },
+ "ME": {
+ "name": "ម៉ុងážáŸážŽáŸáž áŸ’គ្រោ"
+ },
+ "MS": {
+ "name": "ម៉ុង​សáŸážšáŸ‰áž„់"
+ },
+ "MN": {
+ "name": "ម៉ុងហ្គោលី"
+ },
+ "MC": {
+ "name": "ម៉ូណាកូ"
+ },
+ "MR": {
+ "name": "ម៉ូរីážáž¶áž“ី"
+ },
+ "MU": {
+ "name": "ម៉ូរីទុស"
+ },
+ "MZ": {
+ "name": "ម៉ូហ្សាំប៊ិក"
+ },
+ "YE": {
+ "name": "áž™áŸáž˜áŸ‚áž“"
+ },
+ "RW": {
+ "name": "រវ៉ាន់ដា"
+ },
+ "RU": {
+ "name": "រុស្ស៊ី"
+ },
+ "RO": {
+ "name": "រូម៉ានី"
+ },
+ "RE": {
+ "name": "រ៉áŸáž¢áŸŠáž»áž™áŸ‰áž»áž„"
+ },
+ "LI": {
+ "name": "លិចទáŸáž“ស្ážáŸ‚áž“"
+ },
+ "LT": {
+ "name": "លីទុយអានី"
+ },
+ "LB": {
+ "name": "លីបង់"
+ },
+ "LY": {
+ "name": "លីប៊ី"
+ },
+ "LR": {
+ "name": "លីបáŸážšáž¸áž™áŸ‰áž¶"
+ },
+ "LU": {
+ "name": "លុចហ្សំបួរ"
+ },
+ "LS": {
+ "name": "លើសូážáž¼"
+ },
+ "VU": {
+ "name": "វ៉ាន់ណៅទូ"
+ },
+ "WF": {
+ "name": "វ៉ាលីស និង​ហ្វូទូណា"
+ },
+ "VN": {
+ "name": "វៀážážŽáž¶áž˜"
+ },
+ "VE": {
+ "name": "ážœáŸáž“áŸáž áŸ’ស៊ុយឡា"
+ },
+ "BL": {
+ "name": "សង់ បាážáŸáž¡áŸáž˜áŸ‰áž¸"
+ },
+ "KN": {
+ "name": "សង់ឃីហនិង​ណáŸážœáž¸ážŸ"
+ },
+ "PM": {
+ "name": "សង់ព្យែរ និង​មីគីឡុង"
+ },
+ "MF": {
+ "name": "សង់​ម៉ាទីន"
+ },
+ "LC": {
+ "name": "សង់​លូសៀ"
+ },
+ "SH": {
+ "name": "សង់​ហáŸáž¡áŸážŽáž¶"
+ },
+ "US": {
+ "name": "សហរដ្ឋអាមáŸážšáž·áž€"
+ },
+ "CZ": {
+ "name": "សាធារណរដ្ឋឆáŸáž€"
+ },
+ "DO": {
+ "name": "សាធារណរដ្ឋដូមីនីកែន"
+ },
+ "MD": {
+ "name": "សាធារណរដ្ឋម៉ុលដាវី"
+ },
+ "CF": {
+ "name": "សាធារណរដ្ឋអាហ្វ្រិកកណ្ដាល"
+ },
+ "SM": {
+ "name": "សាន​ម៉ារីណូ"
+ },
+ "WS": {
+ "name": "សាមូអា"
+ },
+ "EH": {
+ "name": "សាហារ៉ាážáž¶áž„លិច"
+ },
+ "SG": {
+ "name": "សិង្ហបុរី"
+ },
+ "SX": {
+ "name": "សីង​ម៉ាធីន"
+ },
+ "CY": {
+ "name": "ស៉ីពរáŸ"
+ },
+ "SY": {
+ "name": "ស៊ីរី"
+ },
+ "CL": {
+ "name": "ស៊ីលី"
+ },
+ "SC": {
+ "name": "សីសែល"
+ },
+ "SE": {
+ "name": "ស៊ុយអែដ"
+ },
+ "SD": {
+ "name": "ស៊ូដង់"
+ },
+ "SS": {
+ "name": "ស៊ូដង់​ážáž¶áž„​ážáŸ’បូង"
+ },
+ "SO": {
+ "name": "សូម៉ាលី"
+ },
+ "SR": {
+ "name": "សូរីណាម"
+ },
+ "SZ": {
+ "name": "សូហ្ស៉ីឡង់"
+ },
+ "RS": {
+ "name": "សើប"
+ },
+ "SN": {
+ "name": "សáŸáž“áŸáž áŸ’កាល់"
+ },
+ "SL": {
+ "name": "សáŸážšáŸ‰áž¶áž¡áŸáž¢áž¼áž“"
+ },
+ "ST": {
+ "name": "សៅ​ážáž»áŸ† និង​ព្រីនស៊ីប៉áŸ"
+ },
+ "AS": {
+ "name": "សៅម៉ៅ អាមáŸážšáž·áž€"
+ },
+ "VC": {
+ "name": "សាំង​វីនសáŸáž“ និង​ឌឹ​ហ្គ្រីណាឌីនីស"
+ },
+ "LK": {
+ "name": "ស្រីលង្កា"
+ },
+ "SK": {
+ "name": "ស្លូវ៉ាគី"
+ },
+ "SI": {
+ "name": "ស្លូវáŸáž“ី"
+ },
+ "SJ": {
+ "name": "ស្វាប៊ឺហនិង​ហ្យង់ម៉ាយáŸáž“"
+ },
+ "CH": {
+ "name": "ស្វីស"
+ },
+ "HK": {
+ "name": "ហុងកុង"
+ },
+ "HU": {
+ "name": "ហុងគ្រី"
+ },
+ "HN": {
+ "name": "ហុងឌួរ៉ាស់"
+ },
+ "NL": {
+ "name": "ហុល្លង់"
+ },
+ "BQ": {
+ "name": "ហុល្លង់ ការ៉ាប៊ីន"
+ },
+ "HT": {
+ "name": "ហៃទី"
+ },
+ "GH": {
+ "name": "ហ្គាណា"
+ },
+ "GT": {
+ "name": "ហ្គាážáŸáž˜áŸ‰áž¶áž¡áž¶"
+ },
+ "GA": {
+ "name": "ហ្គាបុង"
+ },
+ "GN": {
+ "name": "ហ្គីណáŸ"
+ },
+ "GW": {
+ "name": "ហ្គីណáŸáž”៊ីសូ"
+ },
+ "GQ": {
+ "name": "ហ្គីណáŸáž¢áŸáž€áŸ’វាទáŸážš"
+ },
+ "GI": {
+ "name": "ហ្គីប្រាលážáž¶"
+ },
+ "GY": {
+ "name": "ហ្គីយ៉ាណា"
+ },
+ "GG": {
+ "name": "ហ្គáŸáž“ស៊ី"
+ },
+ "GP": {
+ "name": "ហ្គោដឺឡុប"
+ },
+ "GU": {
+ "name": "ហ្គាំ"
+ },
+ "GM": {
+ "name": "ហ្គាំប៊ី"
+ },
+ "GD": {
+ "name": "ហ្គ្រើណាដ"
+ },
+ "GL": {
+ "name": "ហ្គ្រោអង់ឡង់"
+ },
+ "FJ": {
+ "name": "ហ្វីជី"
+ },
+ "PH": {
+ "name": "ហ្វីលីពីន"
+ },
+ "FI": {
+ "name": "ហ្វាំងឡង់"
+ },
+ "PF": {
+ "name": "ហ្វ្រáŸáž“​ប៉ូលី​ណáŸážŸáŸŠáž¸"
+ },
+ "GF": {
+ "name": "ហ្វ្វáŸáž“​ហ្គៀណា"
+ },
+ "JO": {
+ "name": "ហ៊្សកដានី"
+ },
+ "GE": {
+ "name": "ហ្សកហ្ស៉ី"
+ },
+ "JM": {
+ "name": "ហ្សាម៉ាអ៉ិគ"
+ },
+ "DJ": {
+ "name": "ហ្ស៉ីបូទី"
+ },
+ "ZW": {
+ "name": "ហ្ស៊ីមបាបវ៉áŸ"
+ },
+ "ZM": {
+ "name": "ហ្សាំប៊ី"
+ },
+ "LV": {
+ "name": "ឡាážážœáž¸áž™áŸ‰áž¶"
+ },
+ "LA": {
+ "name": "ឡាវ"
+ },
+ "AI": {
+ "name": "អង់កូឡា"
+ },
+ "AD": {
+ "name": "អង់ដូរ៉ា"
+ },
+ "AQ": {
+ "name": "អង់ážáž¶áž‘ីកា"
+ },
+ "AG": {
+ "name": "អង់ទីគáŸážš និង​បាបុយដា"
+ },
+ "AO": {
+ "name": "អង់ហ្គោឡា"
+ },
+ "ZA": {
+ "name": "អាព្រិក​ភាគ​ážáž¶áž„​ážáŸ’បូង"
+ },
+ "AM": {
+ "name": "អារមáŸáž“ី"
+ },
+ "SA": {
+ "name": "អារ៉ាប៊ីសាអ៊ូឌីáž"
+ },
+ "AW": {
+ "name": "អារូបា"
+ },
+ "AL": {
+ "name": "អាល់បានី"
+ },
+ "DZ": {
+ "name": "អាល់ហ្សáŸážšáž¸"
+ },
+ "DE": {
+ "name": "អាល្លឺម៉ង់"
+ },
+ "AF": {
+ "name": "អាហ្វហ្គានីស្ážáž¶áž“"
+ },
+ "AR": {
+ "name": "អាហ្សង់ទីន"
+ },
+ "AZ": {
+ "name": "អាហ៊្សែរបែហ្សង់"
+ },
+ "IN": {
+ "name": "ឥណ្ឌា"
+ },
+ "ID": {
+ "name": "ឥណ្ឌូណáŸážŸáŸŠáž¸"
+ },
+ "IT": {
+ "name": "អ៊ីážáž¶áž›áž¸"
+ },
+ "IR": {
+ "name": "អ៊ីរ៉ង់"
+ },
+ "IQ": {
+ "name": "អ៊ីរ៉ាក់"
+ },
+ "IL": {
+ "name": "អ៊ីស្រាអែល"
+ },
+ "IS": {
+ "name": "អ៊ីស្លង់"
+ },
+ "UA": {
+ "name": "អ៊ុយក្រែន"
+ },
+ "UY": {
+ "name": "អ៊ុយរុយហ្គាយ"
+ },
+ "AT": {
+ "name": "អូទ្រីស"
+ },
+ "OM": {
+ "name": "អូម៉ង់"
+ },
+ "AU": {
+ "name": "អូស្ážáŸ’រាលី"
+ },
+ "UG": {
+ "name": "អ៊ូហ្កង់ដា"
+ },
+ "UZ": {
+ "name": "អ៊ូហ្សបáŸáž‚ីស្ážáž„់"
+ },
+ "IE": {
+ "name": "អៀរឡង់"
+ },
+ "EC": {
+ "name": "អáŸáž€áŸ’វាឌáŸážš"
+ },
+ "ET": {
+ "name": "អáŸážáŸ’យូពី"
+ },
+ "AE": {
+ "name": "អáŸáž˜áž¸ážšáŸ‰áŸ‚ទអារ៉ាប់រួម"
+ },
+ "ER": {
+ "name": "អáŸážšáž¸áž‘្រា"
+ },
+ "EE": {
+ "name": "អáŸážŸáŸ’ážáž¼áž“ី"
+ },
+ "ES": {
+ "name": "អáŸážŸáŸ’ប៉ាញ"
+ },
+ "EG": {
+ "name": "អáŸáž áŸ’ស៉ីប"
+ },
+ "SV": {
+ "name": "អែលសាល់វ៉ាឌáŸážš"
+ },
+ "IM": {
+ "name": "អែលអុហ្វមែន"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/kn.json b/library/intl/resources/country/kn.json
new file mode 100644
index 000000000..e4aa7fceb
--- /dev/null
+++ b/library/intl/resources/country/kn.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "ಅಂಗೋಲಾ"
+ },
+ "AQ": {
+ "name": "ಅಂಟಾರà³à²Ÿà²¿à²•à²¾"
+ },
+ "AD": {
+ "name": "ಅಂಡೋರಾ"
+ },
+ "AZ": {
+ "name": "ಅಜರà³à²¬à³ˆà²œà²¾à²¨à³"
+ },
+ "AF": {
+ "name": "ಅಫಘಾನಿಸà³à²¥à²¾à²¨à³"
+ },
+ "AS": {
+ "name": "ಅಮೇರಿಕನೠಸಮೋವಾ"
+ },
+ "US": {
+ "name": "ಅಮೇರಿಕಾ ಸಂಯà³à²•à³à²¤ ಸಂಸà³à²¥à²¾à²¨"
+ },
+ "AW": {
+ "name": "ಅರà³à²¬à²¾"
+ },
+ "AR": {
+ "name": "ಅರà³à²œà³†à²‚ಟಿನಾ"
+ },
+ "AM": {
+ "name": "ಅರà³à²®à³‡à²¨à²¿à²¯à²¾"
+ },
+ "DZ": {
+ "name": "ಅಲà³à²—ೇರಿಯಾ"
+ },
+ "AL": {
+ "name": "ಅಲà³à²¬à³‡à²¨à²¿à²¯à²¾"
+ },
+ "AC": {
+ "name": "ಅಸೆನà³à²¶à²¨à³ ದà³à²µà³€à²ª"
+ },
+ "AI": {
+ "name": "ಆಂಗà³à²¯à²¿à²²à³à²²à²¾"
+ },
+ "AG": {
+ "name": "ಆಂಟಿಗà³à²µà²¾ ಮತà³à²¤à³ ಬರà³à²¬à³à²¡à²¾"
+ },
+ "AX": {
+ "name": "ಆಲà³à²¯à²¾à²‚ಡೠದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "AT": {
+ "name": "ಆಸà³à²Ÿà³à²°à²¿à²¯à²¾"
+ },
+ "AU": {
+ "name": "ಆಸà³à²Ÿà³à²°à³‡à²²à²¿à²¯"
+ },
+ "ID": {
+ "name": "ಇಂಡೋನೇಶಿಯಾ"
+ },
+ "IT": {
+ "name": "ಇಟಲಿ"
+ },
+ "ET": {
+ "name": "ಇಥಿಯೋಪಿಯಾ"
+ },
+ "IQ": {
+ "name": "ಇರಾಕà³"
+ },
+ "IR": {
+ "name": "ಇರಾನà³"
+ },
+ "IL": {
+ "name": "ಇಸà³à²°à³‡à²²à³"
+ },
+ "GQ": {
+ "name": "ಈಕà³à²µà³†à²Ÿà³‹à²°à²¿à²¯à²²à³ ಗಿನಿ"
+ },
+ "EC": {
+ "name": "ಈಕà³à²µà³†à²¡à²¾à²°à³"
+ },
+ "EG": {
+ "name": "ಈಜಿಪà³à²Ÿà³"
+ },
+ "UA": {
+ "name": "ಉಕà³à²°à³ˆà²¨à³"
+ },
+ "UG": {
+ "name": "ಉಗಾಂಡಾ"
+ },
+ "UZ": {
+ "name": "ಉಜà³à²¬à³‡à²•à²¿à²¸à³à²¥à²¾à²¨à³"
+ },
+ "KP": {
+ "name": "ಉತà³à²¤à²° ಕೋರಿಯಾ"
+ },
+ "MP": {
+ "name": "ಉತà³à²¤à²° ಮರಿಯಾನಾ ದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "UY": {
+ "name": "ಉರà³à²—à³à²µà³‡"
+ },
+ "SV": {
+ "name": "ಎಲೠಸಾಲà³à²µà³‡à²¡à²¾à²°à³"
+ },
+ "EE": {
+ "name": "ಎಸà³à²Ÿà³‹à²¨à²¿à²¯à²¾"
+ },
+ "ER": {
+ "name": "à²à²°à²¿à²Ÿà³à²°à²¿à²¯à²¾"
+ },
+ "IE": {
+ "name": "à²à²°à³à²²à³†à²‚ಡà³"
+ },
+ "IM": {
+ "name": "à²à²²à³ ಆಫೠಮà³à²¯à²¾à²¨à³"
+ },
+ "IS": {
+ "name": "à²à²¸à³â€Œà²²à³à²¯à²¾à²‚ಡà³"
+ },
+ "OM": {
+ "name": "ಓಮನà³"
+ },
+ "KZ": {
+ "name": "ಕà²à²¾à²•à²¿à²¸à³à²¥à²¾à²¨à³"
+ },
+ "CD": {
+ "name": "ಕಾಂಗೋ - ಕಿನà³à²¶à²¾à²¸à²¾"
+ },
+ "CG": {
+ "name": "ಕಾಂಗೋ - ಬà³à²°à²¾à²œà²¾à²µà²¿à²²à³à²²à³‡"
+ },
+ "KH": {
+ "name": "ಕಾಂಬೋಡಿಯಾ"
+ },
+ "KI": {
+ "name": "ಕಿರಿಬಾತಿ"
+ },
+ "KG": {
+ "name": "ಕಿರà³à²—ಿಸà³à²¥à²¾à²¨à³"
+ },
+ "KE": {
+ "name": "ಕೀನà³à²¯à²¾"
+ },
+ "CK": {
+ "name": "ಕà³à²•à³ ದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "CW": {
+ "name": "ಕà³à²°à²¾à²•à²¾à²µà³"
+ },
+ "KW": {
+ "name": "ಕà³à²µà³ˆà²¤à³"
+ },
+ "CA": {
+ "name": "ಕೆನಡಾ"
+ },
+ "BQ": {
+ "name": "ಕೆರೀಬಿಯನೠನೆದರà³â€Œà²²à³à²¯à²¾à²‚ಡà³à²¸à³"
+ },
+ "CV": {
+ "name": "ಕೇಪೠವರà³à²¡à³†"
+ },
+ "KY": {
+ "name": "ಕೇಮನೠದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "CC": {
+ "name": "ಕೊಕೊಸೠ(ಕೀಲಿಂಗà³) ದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "KM": {
+ "name": "ಕೊಮೊರೊಸà³"
+ },
+ "CO": {
+ "name": "ಕೊಲಂಬಿಯಾ"
+ },
+ "XK": {
+ "name": "ಕೊಸೊವೊ"
+ },
+ "CR": {
+ "name": "ಕೊಸà³à²Ÿà²¾ ರಿಕಾ"
+ },
+ "CI": {
+ "name": "ಕೋತà³â€Œ ದಿವಾರà³â€"
+ },
+ "IC": {
+ "name": "ಕà³à²¯à²¾à²¨à²°à²¿ ದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "CM": {
+ "name": "ಕà³à²¯à²¾à²®à²°à³‹à²¨à³"
+ },
+ "CU": {
+ "name": "ಕà³à²¯à³‚ಬಾ"
+ },
+ "CX": {
+ "name": "ಕà³à²°à²¿à²¸à³à²®à²¸à³ ದà³à²µà³€à²ª"
+ },
+ "HR": {
+ "name": "ಕà³à²°à³Šà²¯à³‡à²¶à²¿à²¯à²¾"
+ },
+ "QA": {
+ "name": "ಖತಾರà³"
+ },
+ "GY": {
+ "name": "ಗಯಾನಾ"
+ },
+ "GN": {
+ "name": "ಗಿನಿ"
+ },
+ "GW": {
+ "name": "ಗಿನಿ-ಬಿಸà³à²¸à²¾à²µà³"
+ },
+ "GI": {
+ "name": "ಗಿಬà³à²°à²¾à²²à³à²Ÿà²°à³"
+ },
+ "GP": {
+ "name": "ಗà³à²¡à³†à²²à³‹à²ªà³"
+ },
+ "GU": {
+ "name": "ಗà³à²¯à²¾à²®à³"
+ },
+ "GG": {
+ "name": "ಗà³à²°à³à²¨à³â€Œà²¸à³†"
+ },
+ "GA": {
+ "name": "ಗೆಬೊನà³"
+ },
+ "GM": {
+ "name": "ಗà³à²¯à²¾à²‚ಬಿಯಾ"
+ },
+ "GL": {
+ "name": "ಗà³à²°à³€à²¨à³â€Œà²²à³à²¯à²¾à²‚ಡà³"
+ },
+ "GR": {
+ "name": "ಗà³à²°à³€à²¸à³"
+ },
+ "GD": {
+ "name": "ಗà³à²°à³†à²¨à³†à²¡à²¾"
+ },
+ "GT": {
+ "name": "ಗà³à²µà²¾à²Ÿà³†à²®à²¾à²²à²¾"
+ },
+ "GH": {
+ "name": "ಘಾನಾ"
+ },
+ "TD": {
+ "name": "ಚಾದà³"
+ },
+ "CL": {
+ "name": "ಚಿಲಿ"
+ },
+ "CN": {
+ "name": "ಚೀನಾ"
+ },
+ "CZ": {
+ "name": "ಚೆಕೠರಿಪಬà³à²²à²¿à²•à³"
+ },
+ "JP": {
+ "name": "ಜಪಾನà³"
+ },
+ "JM": {
+ "name": "ಜಮೈಕಾ"
+ },
+ "DE": {
+ "name": "ಜರà³à²®à²¨à²¿"
+ },
+ "GE": {
+ "name": "ಜಾರà³à²œà²¿à²¯à²¾"
+ },
+ "ZW": {
+ "name": "ಜಿಂಬಾಬà³à²µà³†"
+ },
+ "DJ": {
+ "name": "ಜಿಬೋಟಿ"
+ },
+ "JE": {
+ "name": "ಜೆರà³à²¸à²¿"
+ },
+ "JO": {
+ "name": "ಜೋರà³à²¡à²¾à²¨à³"
+ },
+ "ZM": {
+ "name": "à²à²¾à²‚ಬಿಯಾ"
+ },
+ "TR": {
+ "name": "ಟರà³à²•à²¿"
+ },
+ "TC": {
+ "name": "ಟರà³à²•à³à²¸à³ ಮತà³à²¤à³ ಕೈಕೋಸೠದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "TN": {
+ "name": "ಟà³à²¨à²¿à²¶à²¿à²¯à²¾"
+ },
+ "TV": {
+ "name": "ಟà³à²µà²¾à²²à³"
+ },
+ "TO": {
+ "name": "ಟೊಂಗ"
+ },
+ "TK": {
+ "name": "ಟೊಕೆಲಾವà³"
+ },
+ "TG": {
+ "name": "ಟೋಗೋ"
+ },
+ "TT": {
+ "name": "ಟà³à²°à²¿à²¨à²¿à²¡à²¾à²¡à³ ಮತà³à²¤à³ ಟೊಬಾಗೊ"
+ },
+ "TA": {
+ "name": "ಟà³à²°à²¿à²¸à³à²¤à²¨à³ ಡಾ ಕà³à²¨à³à²¹à²¾"
+ },
+ "DK": {
+ "name": "ಡೆನà³à²®à²¾à²°à³à²•à³"
+ },
+ "DG": {
+ "name": "ಡೈಗೋ ಗಾರà³à²¸à²¿à²¯"
+ },
+ "DM": {
+ "name": "ಡೊಮಿನಿಕಾ"
+ },
+ "DO": {
+ "name": "ಡೊಮೆನಿಕನೠರಿಪಬà³à²²à²¿à²•à³"
+ },
+ "TJ": {
+ "name": "ತಜಾಕಿಸà³à²¥à²¾à²¨à³"
+ },
+ "TZ": {
+ "name": "ತಾಂಜೇನಿಯಾ"
+ },
+ "TM": {
+ "name": "ತà³à²°à³à²•à³à²®à³‡à²¨à²¿à²¸à³à²¥à²¾à²¨à³"
+ },
+ "TH": {
+ "name": "ಥೈಲà³à²¯à²¾à²‚ಡà³"
+ },
+ "TW": {
+ "name": "ಥೈವಾನà³"
+ },
+ "ZA": {
+ "name": "ದಕà³à²·à²¿à²£ ಆಫà³à²°à²¿à²•à²¾"
+ },
+ "KR": {
+ "name": "ದಕà³à²·à²¿à²£ ಕೋರಿಯಾ"
+ },
+ "GS": {
+ "name": "ದಕà³à²·à²¿à²£ ಜಾರà³à²œà²¿à²¯à²¾ ಮತà³à²¤à³ ದಕà³à²·à²¿à²£ ಸà³à²¯à²¾à²‚ಡà³â€à²µà²¿à²šà³ ದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "SS": {
+ "name": "ದಕà³à²·à²¿à²£ ಸೂಡಾನà³"
+ },
+ "NA": {
+ "name": "ನಮೀಬಿಯಾ"
+ },
+ "NF": {
+ "name": "ನಾರà³à²«à³‹à²•à³ ದà³à²µà³€à²ª"
+ },
+ "NO": {
+ "name": "ನಾರà³à²µà³‡"
+ },
+ "NI": {
+ "name": "ನಿಕಾರಾಗà³à²µà²¾"
+ },
+ "NU": {
+ "name": "ನಿಯà³"
+ },
+ "NL": {
+ "name": "ನೆದರà³â€Œà²²à³à²¯à²¾à²‚ಡà³à²¸à³"
+ },
+ "NP": {
+ "name": "ನೇಪಾಳ"
+ },
+ "NE": {
+ "name": "ನೈಜರà³"
+ },
+ "NG": {
+ "name": "ನೈಜೀರಿಯಾ"
+ },
+ "NR": {
+ "name": "ನೌರà³"
+ },
+ "NC": {
+ "name": "ನà³à²¯à³‚ ಕà³à²¯à²¾à²²à²¿à²¡à³‹à²¨à²¿à²¯à²¾"
+ },
+ "NZ": {
+ "name": "ನà³à²¯à³‚ಜಿಲೆಂಡà³"
+ },
+ "PA": {
+ "name": "ಪನಾಮಾ"
+ },
+ "PG": {
+ "name": "ಪಪà³à²µà²¾ ನà³à²¯à³‚ಗಿನಿಯಾ"
+ },
+ "PY": {
+ "name": "ಪರಾಗà³à²µà³‡"
+ },
+ "PW": {
+ "name": "ಪಲಾವà³"
+ },
+ "EH": {
+ "name": "ಪಶà³à²šà²¿à²® ಸಹಾರಾ"
+ },
+ "PK": {
+ "name": "ಪಾಕಿಸà³à²¤à²¾à²¨"
+ },
+ "PN": {
+ "name": "ಪಿಟà³â€Œà²•à³ˆà²°à³à²¨à³ ದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "TL": {
+ "name": "ಪೂರà³à²µ ತಿಮೋರà³"
+ },
+ "PE": {
+ "name": "ಪೆರà³"
+ },
+ "PT": {
+ "name": "ಪೋರà³à²šà³à²—ಲà³"
+ },
+ "PL": {
+ "name": "ಪೋಲà³à²¯à²¾à²‚ಡà³"
+ },
+ "PS": {
+ "name": "ಪà³à²¯à²¾à²²à³‡à²¸à³à²Ÿà³‡à²¨à²¿à²¯à²¨à³ ಪà³à²°à²¦à³‡à²¶"
+ },
+ "PR": {
+ "name": "ಪà³à²¯à³‚ರà³à²Ÿà³‹ ರಿಕೊ"
+ },
+ "FO": {
+ "name": "ಫರೋ ದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "FK": {
+ "name": "ಫಾಲà³à²•à³â€Œà²²à³à²¯à²¾à²‚ಡೠದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "FJ": {
+ "name": "ಫಿಜಿ"
+ },
+ "FI": {
+ "name": "ಫಿನà³â€Œà²²à³à²¯à²¾à²‚ಡà³"
+ },
+ "PH": {
+ "name": "ಫಿಲಿಫೈನà³à²¸à³"
+ },
+ "FR": {
+ "name": "ಫà³à²°à²¾à²¨à³à²¸à³"
+ },
+ "GF": {
+ "name": "ಫà³à²°à³†à²‚ಚೠಗಯಾನಾ"
+ },
+ "TF": {
+ "name": "ಫà³à²°à³†à²‚ಚೠದಕà³à²·à²¿à²£ ಪà³à²°à²¦à³‡à²¶à²—ಳà³"
+ },
+ "PF": {
+ "name": "ಫà³à²°à³†à²‚ಚೠಪಾಲಿನೇಷà³à²¯à²¾"
+ },
+ "BM": {
+ "name": "ಬರà³à²®à³à²¡à²¾"
+ },
+ "BG": {
+ "name": "ಬಲà³à²—ೇರಿಯಾ"
+ },
+ "BH": {
+ "name": "ಬಹರೈನà³"
+ },
+ "BS": {
+ "name": "ಬಹಾಮಾಸà³"
+ },
+ "BD": {
+ "name": "ಬಾಂಗà³à²²à²¾à²¦à³‡à²¶à³"
+ },
+ "BB": {
+ "name": "ಬಾರà³à²¬à²¡à³‹à²¸à³"
+ },
+ "BI": {
+ "name": "ಬà³à²°à³à²‚ಡಿ"
+ },
+ "BF": {
+ "name": "ಬà³à²°à³à²•à²¿à²¨à²¾ ಫಾಸೋ"
+ },
+ "BJ": {
+ "name": "ಬೆನಿನà³"
+ },
+ "BY": {
+ "name": "ಬೆಲಾರಸà³"
+ },
+ "BZ": {
+ "name": "ಬೆಲಿಜà³"
+ },
+ "BE": {
+ "name": "ಬೆಲà³à²œà²¿à²¯à²®à³"
+ },
+ "BO": {
+ "name": "ಬೊಲಿವಿಯಾ"
+ },
+ "BW": {
+ "name": "ಬೋಟà³à²¸à³â€Œà²µà²¾à²¨à²¾"
+ },
+ "BA": {
+ "name": "ಬೋಸà³à²¨à²¿à²¯à²¾ ಮತà³à²¤à³ ಹರà³à²œà³†à²—ೋವಿನಾ"
+ },
+ "GB": {
+ "name": "ಬà³à²°à²¿à²Ÿà²¨à³\/ಇಂಗà³à²²à³†à²‚ಡà³"
+ },
+ "VG": {
+ "name": "ಬà³à²°à²¿à²Ÿà²¿à²·à³ ವರà³à²œà²¿à²¨à³ ದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "IO": {
+ "name": "ಬà³à²°à²¿à²Ÿà³€à²¶à³ ಇಂಡಿಯನೠಮಹಾಸಾಗರ ಪà³à²°à²¦à³‡à²¶"
+ },
+ "BN": {
+ "name": "ಬà³à²°à³‚ನಿ"
+ },
+ "BR": {
+ "name": "ಬà³à²°à³†à²œà²¿à²²à³"
+ },
+ "IN": {
+ "name": "ಭಾರತ"
+ },
+ "BT": {
+ "name": "ಭೂತಾನà³"
+ },
+ "MO": {
+ "name": "ಮಖಾವೠ(SAR) ಚೈನಾ"
+ },
+ "MG": {
+ "name": "ಮಡಗಾಸà³à²•à²°à³"
+ },
+ "CF": {
+ "name": "ಮಧà³à²¯ ಆಫà³à²°à²¿à²•à²¾ ಗಣರಾಜà³à²¯"
+ },
+ "MM": {
+ "name": "ಮಯನà³à²®à²¾à²°à³ (ಬರà³à²®à²¾)"
+ },
+ "YT": {
+ "name": "ಮಯೊಟà³à²Ÿà³†"
+ },
+ "MW": {
+ "name": "ಮಲಾವಿ"
+ },
+ "MY": {
+ "name": "ಮಲೇಶಿಯಾ"
+ },
+ "MS": {
+ "name": "ಮಾಂಟà³â€Œà²¸à³†à²°à³‡à²Ÿà³"
+ },
+ "MR": {
+ "name": "ಮಾರಿಟೇನಿಯಾ"
+ },
+ "MU": {
+ "name": "ಮಾರಿಶಿಯಸà³"
+ },
+ "MQ": {
+ "name": "ಮಾರà³à²Ÿà²¿à²¨à²¿à²•à³"
+ },
+ "MH": {
+ "name": "ಮಾರà³à²·à²²à³ ದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "ML": {
+ "name": "ಮಾಲಿ"
+ },
+ "MT": {
+ "name": "ಮಾಲà³à²Ÿà²¾"
+ },
+ "MV": {
+ "name": "ಮಾಲà³à²¡à²¿à²µà³à²¸à³"
+ },
+ "MX": {
+ "name": "ಮೆಕà³à²¸à²¿à²•à³Š"
+ },
+ "FM": {
+ "name": "ಮೈಕà³à²°à³‹à²¨à³‡à²¶à²¿à²¯à²¾"
+ },
+ "MN": {
+ "name": "ಮೊಂಗೋಲಿಯಾ"
+ },
+ "ME": {
+ "name": "ಮೊಂಟೆನೆಗà³à²°à³‹"
+ },
+ "MZ": {
+ "name": "ಮೊಜಾಂಬಿಕà³"
+ },
+ "MC": {
+ "name": "ಮೊನಾಕೊ"
+ },
+ "MA": {
+ "name": "ಮೊರಾಕà³à²•à³Š"
+ },
+ "MD": {
+ "name": "ಮೊಲà³à²¡à³‹à²µà²¾"
+ },
+ "MK": {
+ "name": "ಮà³à²¯à²¾à²¸à²¿à²¡à³‹à²¨à²¿à²¯à²¾"
+ },
+ "VI": {
+ "name": "ಯà³.ಎಸà³. ವರà³à²œà²¿à²¨à³ ದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "UM": {
+ "name": "ಯà³à²Žà²¸à³â€Œ. ಔಟà³â€Œà²²à³‡à²¯à²¿à²‚ಗೠದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "YE": {
+ "name": "ಯೆಮನà³"
+ },
+ "RU": {
+ "name": "ರಷà³à²¯à²¾"
+ },
+ "RE": {
+ "name": "ರೀಯೂನಿಯನà³"
+ },
+ "RW": {
+ "name": "ರà³à²µà²¾à²‚ಡಾ"
+ },
+ "RO": {
+ "name": "ರೊಮೇನಿಯಾ"
+ },
+ "LU": {
+ "name": "ಲಕà³à²¸à²‚ಬರà³à²—à³"
+ },
+ "LV": {
+ "name": "ಲಾಟà³à²µà²¿à²¯à²¾"
+ },
+ "LA": {
+ "name": "ಲಾವೋಸà³"
+ },
+ "LI": {
+ "name": "ಲಿಚೆನà³â€Œà²¸à³à²Ÿà³ˆà²¨à³"
+ },
+ "LT": {
+ "name": "ಲಿಥà³à²µà³‡à²¨à²¿à²¯à²¾"
+ },
+ "LY": {
+ "name": "ಲಿಬಿಯಾ"
+ },
+ "LR": {
+ "name": "ಲಿಬೇರಿಯಾ"
+ },
+ "LB": {
+ "name": "ಲೆಬನಾನà³"
+ },
+ "LS": {
+ "name": "ಲೆಸೊಥೋ"
+ },
+ "VU": {
+ "name": "ವನೌಟà³"
+ },
+ "WF": {
+ "name": "ವಾಲಿಸೠಮತà³à²¤à³ ಫà³à²Ÿà³à²¨à²¾"
+ },
+ "VN": {
+ "name": "ವಿಯೇಟà³à²¨à²¾à²®à³"
+ },
+ "VE": {
+ "name": "ವೆನೆಜà³à²µà³†à²²à²¾"
+ },
+ "VA": {
+ "name": "ವà³à²¯à²¾à²Ÿà²¿à²•à²¨à³"
+ },
+ "LK": {
+ "name": "ಶà³à²°à³€à²²à²‚ಕಾ"
+ },
+ "AE": {
+ "name": "ಸಂಯà³à²•à³à²¤ ಅರಬೠಎಮಿರೇಟಸà³"
+ },
+ "WS": {
+ "name": "ಸಮೋವಾ"
+ },
+ "ST": {
+ "name": "ಸಾವೋ ಟೋಮೠಮತà³à²¤à³ ಪà³à²°à²¿à²¨à³à²¸à²¿à²ªà²¿"
+ },
+ "SG": {
+ "name": "ಸಿಂಗಾಪà³à²°à³"
+ },
+ "SX": {
+ "name": "ಸಿಂಟೠಮಾರà³à²Ÿà³†à²¨à³"
+ },
+ "SL": {
+ "name": "ಸಿಯೆರà³à²°à²¾ ಲಿಯೋನà³"
+ },
+ "SY": {
+ "name": "ಸಿರಿಯಾ"
+ },
+ "SC": {
+ "name": "ಸೀಶೆಲà³à²²à³†à²¸à³"
+ },
+ "SR": {
+ "name": "ಸà³à²°à²¿à²¨à²¾à²®"
+ },
+ "SD": {
+ "name": "ಸೂಡಾನà³"
+ },
+ "SN": {
+ "name": "ಸೆನೆಗಲà³"
+ },
+ "EA": {
+ "name": "ಸೆಯà³à²Ÿà²¾ ಹಾಗೂ ಮೆಲಿಲà³à²²à²¾"
+ },
+ "RS": {
+ "name": "ಸೆರà³à²¬à²¿à²¯à²¾"
+ },
+ "KN": {
+ "name": "ಸೇಂಟೠಕಿಟà³à²¸à³ ಮತà³à²¤à³ ನೆವಿಸà³"
+ },
+ "PM": {
+ "name": "ಸೇಂಟೠಪಿಯರೆ ಮತà³à²¤à³ ಮಿಕೆಲನà³"
+ },
+ "BL": {
+ "name": "ಸೇಂಟೠಬಾರà³à²¥à³†à²²à³†à²®à²¿"
+ },
+ "MF": {
+ "name": "ಸೇಂಟೠಮಾರà³à²Ÿà²¿à²¨à³"
+ },
+ "LC": {
+ "name": "ಸೇಂಟೠಲೂಸಿಯಾ"
+ },
+ "SH": {
+ "name": "ಸೇಂಟೠಹೆಲೆನಾ"
+ },
+ "VC": {
+ "name": "ಸೇಂಟà³. ವಿನà³à²¸à³†à²‚ಟೠಮತà³à²¤à³ ಗà³à²°à³†à²¨à³†à²¡à³ˆà²¨à³à²¸à³"
+ },
+ "CY": {
+ "name": "ಸೈಪà³à²°à²¸à³"
+ },
+ "SO": {
+ "name": "ಸೊಮಾಲಿಯಾ"
+ },
+ "SB": {
+ "name": "ಸೊಲೊಮನೠದà³à²µà³€à²ªà²—ಳà³"
+ },
+ "SA": {
+ "name": "ಸೌದಿ ಅರೇಬಿಯಾ"
+ },
+ "ES": {
+ "name": "ಸà³à²ªà³‡à²¨à³"
+ },
+ "SM": {
+ "name": "ಸà³à²¯à²¾à²¨à³ ಮೆರಿನೋ"
+ },
+ "SK": {
+ "name": "ಸà³à²²à³‹à²µà³‡à²•à²¿à²¯à²¾"
+ },
+ "SI": {
+ "name": "ಸà³à²²à³‹à²µà³‡à²¨à²¿à²¯à²¾"
+ },
+ "SZ": {
+ "name": "ಸà³à²µà²¾à²œà²¿à²²à³à²¯à²¾à²‚ಡà³"
+ },
+ "SJ": {
+ "name": "ಸà³à²µà²¾à²²à³à²¬à²¾à²°à³à²¡à³ ಮತà³à²¤à³ ಜಾನೠಮೆಯನà³"
+ },
+ "CH": {
+ "name": "ಸà³à²µà²¿à²Ÿà³à²œà²°à³à²²à³à²¯à²¾à²‚ಡà³"
+ },
+ "SE": {
+ "name": "ಸà³à²µà³€à²¡à²¨à³"
+ },
+ "HU": {
+ "name": "ಹಂಗಾರಿ"
+ },
+ "HK": {
+ "name": "ಹಾಂಕà³â€Œ ಕಾಂಗೠSAR ಚೈನಾ"
+ },
+ "HT": {
+ "name": "ಹೈಟಿ"
+ },
+ "HN": {
+ "name": "ಹೊಂಡà³à²°à²¾à²¸à³"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ko.json b/library/intl/resources/country/ko.json
new file mode 100644
index 000000000..3b621be9f
--- /dev/null
+++ b/library/intl/resources/country/ko.json
@@ -0,0 +1,761 @@
+{
+ "GH": {
+ "name": "가나"
+ },
+ "GA": {
+ "name": "가봉"
+ },
+ "GY": {
+ "name": "ê°€ì´ì•„나"
+ },
+ "GM": {
+ "name": "ê°ë¹„ì•„"
+ },
+ "GG": {
+ "name": "건지"
+ },
+ "GP": {
+ "name": "과들루프"
+ },
+ "GT": {
+ "name": "과테ë§ë¼"
+ },
+ "GU": {
+ "name": "괌"
+ },
+ "GD": {
+ "name": "그레나다"
+ },
+ "GR": {
+ "name": "그리스"
+ },
+ "GL": {
+ "name": "그린란드"
+ },
+ "GW": {
+ "name": "기네비ì˜"
+ },
+ "GN": {
+ "name": "기니"
+ },
+ "CV": {
+ "name": "까뽀베르ë°"
+ },
+ "NA": {
+ "name": "나미비아"
+ },
+ "NR": {
+ "name": "나우루"
+ },
+ "NG": {
+ "name": "나ì´ì§€ë¦¬ì•„"
+ },
+ "AQ": {
+ "name": "남극 대륙"
+ },
+ "SS": {
+ "name": "남수단"
+ },
+ "ZA": {
+ "name": "남아프리카"
+ },
+ "NL": {
+ "name": "네ëœëž€ë“œ"
+ },
+ "BQ": {
+ "name": "네ëœëž€ë“œë ¹ 카리브"
+ },
+ "NP": {
+ "name": "네팔"
+ },
+ "NO": {
+ "name": "노르웨ì´"
+ },
+ "NF": {
+ "name": "ë…¸í½ì„¬"
+ },
+ "NC": {
+ "name": "뉴 칼레ë„니아"
+ },
+ "NZ": {
+ "name": "뉴질랜드"
+ },
+ "NU": {
+ "name": "니우ì—"
+ },
+ "NE": {
+ "name": "니제르"
+ },
+ "NI": {
+ "name": "니카ë¼ê³¼"
+ },
+ "TW": {
+ "name": "대만"
+ },
+ "KR": {
+ "name": "대한민국"
+ },
+ "DK": {
+ "name": "ë´ë§ˆí¬"
+ },
+ "DM": {
+ "name": "ë„미니카"
+ },
+ "DO": {
+ "name": "ë„미니카 공화국"
+ },
+ "DE": {
+ "name": "ë…ì¼"
+ },
+ "TL": {
+ "name": "ë™í‹°ëª¨ë¥´"
+ },
+ "DG": {
+ "name": "ë””ì—ê³  가르시아"
+ },
+ "LA": {
+ "name": "ë¼ì˜¤ìŠ¤"
+ },
+ "LR": {
+ "name": "ë¼ì´ë² ë¦¬ì•„"
+ },
+ "LV": {
+ "name": "ë¼íŠ¸ë¹„ì•„"
+ },
+ "RU": {
+ "name": "러시아"
+ },
+ "LB": {
+ "name": "레바논"
+ },
+ "LS": {
+ "name": "레소토"
+ },
+ "RO": {
+ "name": "루마니아"
+ },
+ "LU": {
+ "name": "룩셈부르í¬"
+ },
+ "RW": {
+ "name": "르완다"
+ },
+ "LY": {
+ "name": "리비아"
+ },
+ "RE": {
+ "name": "리유니온"
+ },
+ "LT": {
+ "name": "리투아니아"
+ },
+ "LI": {
+ "name": "리히í…슈타ì¸"
+ },
+ "MG": {
+ "name": "마다가스카르"
+ },
+ "MH": {
+ "name": "마샬 êµ°ë„"
+ },
+ "YT": {
+ "name": "마요티"
+ },
+ "MO": {
+ "name": "마카오, 중국 특별행정구"
+ },
+ "MK": {
+ "name": "마케ë„니아"
+ },
+ "MW": {
+ "name": "ë§ë¼ìœ„"
+ },
+ "MY": {
+ "name": "ë§ë ˆì´ì‹œì•„"
+ },
+ "ML": {
+ "name": "ë§ë¦¬"
+ },
+ "MQ": {
+ "name": "ë§í‹°ë‹ˆí¬"
+ },
+ "IM": {
+ "name": "맨 섬"
+ },
+ "MX": {
+ "name": "멕시코"
+ },
+ "MC": {
+ "name": "모나코"
+ },
+ "MA": {
+ "name": "모로코"
+ },
+ "MU": {
+ "name": "모리셔스"
+ },
+ "MR": {
+ "name": "모리타니"
+ },
+ "MZ": {
+ "name": "모잠비í¬"
+ },
+ "ME": {
+ "name": "몬테네그로"
+ },
+ "MS": {
+ "name": "몬트세ë¼íŠ¸"
+ },
+ "MD": {
+ "name": "몰ë„ë°”"
+ },
+ "MV": {
+ "name": "몰디브"
+ },
+ "MT": {
+ "name": "몰타"
+ },
+ "MN": {
+ "name": "몽골"
+ },
+ "US": {
+ "name": "미국"
+ },
+ "VI": {
+ "name": "미국령 버진 ì•„ì¼ëžœë“œ"
+ },
+ "UM": {
+ "name": "미국령 해외 ì œë„"
+ },
+ "MM": {
+ "name": "미얀마"
+ },
+ "FM": {
+ "name": "미í¬ë¡œë„¤ì‹œì•„"
+ },
+ "VU": {
+ "name": "바누아투"
+ },
+ "BH": {
+ "name": "바레ì¸"
+ },
+ "BB": {
+ "name": "바베ì´ë„스"
+ },
+ "VA": {
+ "name": "바티칸"
+ },
+ "BS": {
+ "name": "바하마"
+ },
+ "BD": {
+ "name": "방글ë¼ë°ì‹œ"
+ },
+ "BM": {
+ "name": "버뮤다"
+ },
+ "BJ": {
+ "name": "베냉"
+ },
+ "VE": {
+ "name": "베네수엘ë¼"
+ },
+ "VN": {
+ "name": "베트남"
+ },
+ "BE": {
+ "name": "벨기ì—"
+ },
+ "BY": {
+ "name": "벨ë¼ë£¨ìŠ¤"
+ },
+ "BZ": {
+ "name": "벨리즈"
+ },
+ "BA": {
+ "name": "보스니아 헤르체고비나"
+ },
+ "BW": {
+ "name": "보츠와나"
+ },
+ "BO": {
+ "name": "볼리비아"
+ },
+ "BI": {
+ "name": "부룬디"
+ },
+ "BF": {
+ "name": "부르키나파소"
+ },
+ "BT": {
+ "name": "부탄"
+ },
+ "MP": {
+ "name": "ë¶ë§ˆë¦¬ì•„나제ë„"
+ },
+ "BG": {
+ "name": "불가리아"
+ },
+ "BR": {
+ "name": "브ë¼ì§ˆ"
+ },
+ "BN": {
+ "name": "브루나ì´"
+ },
+ "WS": {
+ "name": "사모아"
+ },
+ "SA": {
+ "name": "사우디아ë¼ë¹„ì•„"
+ },
+ "GS": {
+ "name": "사우스조지아 사우스샌드위치 ì œë„"
+ },
+ "CY": {
+ "name": "사ì´í”„러스"
+ },
+ "SM": {
+ "name": "산마리노"
+ },
+ "ST": {
+ "name": "ìƒíˆ¬ë©” 프린시페"
+ },
+ "MF": {
+ "name": "ìƒ ë§ˆë¥´íƒ±"
+ },
+ "BL": {
+ "name": "ìƒ ë°”ë¥´í…”ë¥´ë¯¸"
+ },
+ "PM": {
+ "name": "ìƒí”¼ì—르 미í´ë¡±"
+ },
+ "EH": {
+ "name": "서사하ë¼"
+ },
+ "SN": {
+ "name": "세네갈"
+ },
+ "RS": {
+ "name": "세르비아"
+ },
+ "EA": {
+ "name": "세우타 ë° ë©œë¦¬ì•¼"
+ },
+ "KN": {
+ "name": "세ì¸íŠ¸ 키츠 네비스"
+ },
+ "LC": {
+ "name": "세ì¸íŠ¸ë£¨ì‹œì•„"
+ },
+ "VC": {
+ "name": "세ì¸íŠ¸ë¹ˆì„¼íŠ¸ê·¸ë ˆë‚˜ë”˜"
+ },
+ "SH": {
+ "name": "세ì¸íŠ¸í—¬ë ˆë‚˜"
+ },
+ "SO": {
+ "name": "소ë§ë¦¬ì•„"
+ },
+ "SB": {
+ "name": "솔로몬 ì œë„"
+ },
+ "SD": {
+ "name": "수단"
+ },
+ "SR": {
+ "name": "수리남"
+ },
+ "SC": {
+ "name": "ì‰ì´ì‰˜"
+ },
+ "LK": {
+ "name": "스리랑카"
+ },
+ "SJ": {
+ "name": "스발바르제ë„-얀마웬섬"
+ },
+ "SZ": {
+ "name": "스와질랜드"
+ },
+ "SE": {
+ "name": "스웨ë´"
+ },
+ "CH": {
+ "name": "스위스"
+ },
+ "ES": {
+ "name": "스페ì¸"
+ },
+ "SK": {
+ "name": "슬로바키아"
+ },
+ "SI": {
+ "name": "슬로베니아"
+ },
+ "SY": {
+ "name": "시리아"
+ },
+ "SL": {
+ "name": "ì‹œì—ë¼ë¦¬ì˜¨"
+ },
+ "SX": {
+ "name": "신트마르턴"
+ },
+ "SG": {
+ "name": "싱가í¬ë¥´"
+ },
+ "AE": {
+ "name": "ì•„ëžì—미리트 ì—°í•©"
+ },
+ "AW": {
+ "name": "아루바"
+ },
+ "AM": {
+ "name": "아르메니아"
+ },
+ "AR": {
+ "name": "아르헨티나"
+ },
+ "AS": {
+ "name": "아메리칸 사모아"
+ },
+ "IS": {
+ "name": "ì•„ì´ìŠ¬ëž€ë“œ"
+ },
+ "HT": {
+ "name": "ì•„ì´í‹°"
+ },
+ "IE": {
+ "name": "ì•„ì¼ëžœë“œ"
+ },
+ "AZ": {
+ "name": "아제르바ì´ìž”"
+ },
+ "AF": {
+ "name": "아프가니스탄"
+ },
+ "AI": {
+ "name": "안길ë¼"
+ },
+ "AD": {
+ "name": "안ë„ë¼"
+ },
+ "AL": {
+ "name": "알바니아"
+ },
+ "DZ": {
+ "name": "알제리"
+ },
+ "AO": {
+ "name": "앙골ë¼"
+ },
+ "AG": {
+ "name": "앤티가 바부다"
+ },
+ "AC": {
+ "name": "어센션 섬"
+ },
+ "ER": {
+ "name": "ì—리트리아"
+ },
+ "EE": {
+ "name": "ì—스토니아"
+ },
+ "EC": {
+ "name": "ì—ì½°ë„르"
+ },
+ "SV": {
+ "name": "엘살바ë„르"
+ },
+ "GB": {
+ "name": "ì˜êµ­"
+ },
+ "VG": {
+ "name": "ì˜êµ­ë ¹ 버진 ì•„ì¼ëžœë“œ"
+ },
+ "IO": {
+ "name": "ì˜êµ­ë ¹ì¸ë„ì–‘ì‹ë¯¼ì§€"
+ },
+ "YE": {
+ "name": "예멘"
+ },
+ "OM": {
+ "name": "오만"
+ },
+ "AU": {
+ "name": "오스트레ì¼ë¦¬ì•„"
+ },
+ "AT": {
+ "name": "오스트리아"
+ },
+ "HN": {
+ "name": "온ë‘ë¼ìŠ¤"
+ },
+ "AX": {
+ "name": "올란드 ì œë„"
+ },
+ "WF": {
+ "name": "왈리스-푸투나 ì œë„"
+ },
+ "JO": {
+ "name": "요르단"
+ },
+ "UG": {
+ "name": "우간다"
+ },
+ "UY": {
+ "name": "우루과ì´"
+ },
+ "UZ": {
+ "name": "우즈베키스탄"
+ },
+ "UA": {
+ "name": "ìš°í¬ë¼ì´ë‚˜"
+ },
+ "ET": {
+ "name": "ì´ë””오피아"
+ },
+ "IQ": {
+ "name": "ì´ë¼í¬"
+ },
+ "IR": {
+ "name": "ì´ëž€"
+ },
+ "IL": {
+ "name": "ì´ìŠ¤ë¼ì—˜"
+ },
+ "EG": {
+ "name": "ì´ì§‘트"
+ },
+ "IT": {
+ "name": "ì´íƒˆë¦¬ì•„"
+ },
+ "IN": {
+ "name": "ì¸ë„"
+ },
+ "ID": {
+ "name": "ì¸ë„네시아"
+ },
+ "JP": {
+ "name": "ì¼ë³¸"
+ },
+ "JM": {
+ "name": "ìžë©”ì´ì¹´"
+ },
+ "ZM": {
+ "name": "잠비아"
+ },
+ "JE": {
+ "name": "저지"
+ },
+ "GQ": {
+ "name": "ì ë„ 기니"
+ },
+ "KP": {
+ "name": "ì¡°ì„  ë¯¼ì£¼ì£¼ì˜ ì¸ë¯¼ 공화국"
+ },
+ "GE": {
+ "name": "조지아"
+ },
+ "CN": {
+ "name": "중국"
+ },
+ "CF": {
+ "name": "중앙 아프리카 공화국"
+ },
+ "DJ": {
+ "name": "지부티"
+ },
+ "GI": {
+ "name": "지브롤터"
+ },
+ "ZW": {
+ "name": "ì§ë°”브웨"
+ },
+ "TD": {
+ "name": "차드"
+ },
+ "CZ": {
+ "name": "ì²´ì½”"
+ },
+ "CL": {
+ "name": "ì¹ ë ˆ"
+ },
+ "IC": {
+ "name": "카나리아 ì œë„"
+ },
+ "CM": {
+ "name": "카메룬"
+ },
+ "KZ": {
+ "name": "ì¹´ìží스탄"
+ },
+ "QA": {
+ "name": "카타르"
+ },
+ "KH": {
+ "name": "캄보디아"
+ },
+ "CA": {
+ "name": "ìºë‚˜ë‹¤"
+ },
+ "KE": {
+ "name": "ì¼€ëƒ"
+ },
+ "KY": {
+ "name": "ì¼€ì´ë§¨ì œë„"
+ },
+ "KM": {
+ "name": "코모로스"
+ },
+ "XK": {
+ "name": "코소보"
+ },
+ "CR": {
+ "name": "코스타리카"
+ },
+ "CC": {
+ "name": "코코스제ë„"
+ },
+ "CI": {
+ "name": "코트디부아르"
+ },
+ "CO": {
+ "name": "콜롬비아"
+ },
+ "CG": {
+ "name": "콩고"
+ },
+ "CD": {
+ "name": "콩고-킨샤사"
+ },
+ "CU": {
+ "name": "ì¿ ë°”"
+ },
+ "KW": {
+ "name": "쿠웨ì´íŠ¸"
+ },
+ "CK": {
+ "name": "ì¿¡ì œë„"
+ },
+ "CW": {
+ "name": "퀴ë¼ì†Œ"
+ },
+ "HR": {
+ "name": "í¬ë¡œì•„í‹°ì•„"
+ },
+ "CX": {
+ "name": "í¬ë¦¬ìŠ¤ë§ˆìŠ¤ì„¬"
+ },
+ "KG": {
+ "name": "키르기스스탄"
+ },
+ "KI": {
+ "name": "키리바시"
+ },
+ "TJ": {
+ "name": "타지키스탄"
+ },
+ "TZ": {
+ "name": "탄ìžë‹ˆì•„"
+ },
+ "TH": {
+ "name": "태국"
+ },
+ "TC": {
+ "name": "í„°í¬ìŠ¤ì¼€ì´ì»¤ìŠ¤ì œë„"
+ },
+ "TR": {
+ "name": "터키"
+ },
+ "TG": {
+ "name": "토고"
+ },
+ "TK": {
+ "name": "토켈ë¼ìš°"
+ },
+ "TO": {
+ "name": "통가"
+ },
+ "TM": {
+ "name": "투르í¬ë©”니스탄"
+ },
+ "TV": {
+ "name": "투발루"
+ },
+ "TN": {
+ "name": "튀니지"
+ },
+ "TT": {
+ "name": "트리니다드 토바고"
+ },
+ "TA": {
+ "name": "트리스탄다쿠나"
+ },
+ "PA": {
+ "name": "파나마"
+ },
+ "PY": {
+ "name": "파ë¼ê³¼ì´"
+ },
+ "PK": {
+ "name": "파키스탄"
+ },
+ "PG": {
+ "name": "파푸아뉴기니"
+ },
+ "PW": {
+ "name": "팔ë¼ìš°"
+ },
+ "PS": {
+ "name": "íŒ”ë ˆìŠ¤íƒ€ì¸ ì§€êµ¬"
+ },
+ "FO": {
+ "name": "페로제ë„"
+ },
+ "PE": {
+ "name": "페루"
+ },
+ "PT": {
+ "name": "í¬ë¥´íˆ¬ê°ˆ"
+ },
+ "FK": {
+ "name": "í¬í´ëžœë“œ ì œë„"
+ },
+ "PL": {
+ "name": "í´ëž€ë“œ"
+ },
+ "PR": {
+ "name": "푸ì—르토리코"
+ },
+ "FR": {
+ "name": "프랑스"
+ },
+ "TF": {
+ "name": "프랑스 남부 지방"
+ },
+ "GF": {
+ "name": "프랑스령 기아나"
+ },
+ "PF": {
+ "name": "프랑스령 í´ë¦¬ë„¤ì‹œì•„"
+ },
+ "FJ": {
+ "name": "피지"
+ },
+ "FI": {
+ "name": "핀란드"
+ },
+ "PH": {
+ "name": "필리핀"
+ },
+ "PN": {
+ "name": "í•ì¼€ì–¸ 섬"
+ },
+ "HU": {
+ "name": "í—가리"
+ },
+ "HK": {
+ "name": "í™ì½©, 중국 특별행정구"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ks.json b/library/intl/resources/country/ks.json
new file mode 100644
index 000000000..08e833978
--- /dev/null
+++ b/library/intl/resources/country/ks.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "AZ": {
+ "name": "آزَرباجان"
+ },
+ "AU": {
+ "name": "آسٹریلÙیا"
+ },
+ "AT": {
+ "name": "آسٹÙیا"
+ },
+ "IM": {
+ "name": "Ø¢ÛŒÙÙ„ آ٠میٛن"
+ },
+ "AR": {
+ "name": "أرجَنٹینا"
+ },
+ "SV": {
+ "name": "اٮ۪ل سَلواڑور"
+ },
+ "AL": {
+ "name": "اٮ۪لبانÙیا"
+ },
+ "DZ": {
+ "name": "اٮ۪لجیرÙیا"
+ },
+ "AG": {
+ "name": "اٮ۪نٹÙÚ¯Ùوا تÛÙ• باربوڑا"
+ },
+ "AD": {
+ "name": "اٮ۪نڑورا"
+ },
+ "ET": {
+ "name": "اÙتھوپÙیا"
+ },
+ "IT": {
+ "name": "اÙٹلی"
+ },
+ "ER": {
+ "name": "اÙرٕٹÙیا"
+ },
+ "AM": {
+ "name": "اَرمانÙیا"
+ },
+ "AW": {
+ "name": "اَروٗبا"
+ },
+ "UZ": {
+ "name": "اÙزبÙÚ©Ùستان"
+ },
+ "IL": {
+ "name": "اÙسرایٖل"
+ },
+ "AF": {
+ "name": "اَÙغانَستان"
+ },
+ "EC": {
+ "name": "اÙکواڑور"
+ },
+ "GQ": {
+ "name": "اÙÚ©ÙˆÙٹورÙیَل Ú¯ÙÙ†ÛŒ"
+ },
+ "AS": {
+ "name": "اَمریٖکَن سَموا"
+ },
+ "ID": {
+ "name": "اÙنڑونیشÙیا"
+ },
+ "AI": {
+ "name": "انگوئیلا"
+ },
+ "AO": {
+ "name": "انگولا"
+ },
+ "OM": {
+ "name": "اومان"
+ },
+ "IQ": {
+ "name": "ایٖراق"
+ },
+ "IR": {
+ "name": "ایٖران"
+ },
+ "IE": {
+ "name": "اَیَرلینٛڑ"
+ },
+ "EE": {
+ "name": "ایسٹونÙیا"
+ },
+ "IS": {
+ "name": "اَیÙسلینٛڑ"
+ },
+ "AX": {
+ "name": "ایلینٛڑ جٔزیٖرٕ"
+ },
+ "AQ": {
+ "name": "اینٹارٹÙکا"
+ },
+ "CI": {
+ "name": "اَیوٕری کوسٹ"
+ },
+ "BB": {
+ "name": "باربیڈاس"
+ },
+ "BH": {
+ "name": "بحریٖن"
+ },
+ "BR": {
+ "name": "برٛازÙÙ„"
+ },
+ "VG": {
+ "name": "بَرطانوی ؤرجÙÙ† جٔزیٖرٕ"
+ },
+ "IO": {
+ "name": "برطانوی بحر٠ÛÙÙ†Ù›Ø¯Û Ø¹Ù„Ø§Ù‚ÛÙ•"
+ },
+ "BQ": {
+ "name": "برطانوی Ù‚ÙطبÛ٠جَنوٗبی علاقÛÙ•"
+ },
+ "BF": {
+ "name": "بÙرکÙنا Ùیسو"
+ },
+ "BM": {
+ "name": "بٔرمیوڈا"
+ },
+ "BN": {
+ "name": "بÙرنٔے"
+ },
+ "BG": {
+ "name": "بَلجیرÙیا"
+ },
+ "BD": {
+ "name": "بَنٛگلادیش"
+ },
+ "BJ": {
+ "name": "بÙÙ†ÙÙ†"
+ },
+ "BS": {
+ "name": "بَÛامَس"
+ },
+ "BW": {
+ "name": "بوتَسوانا"
+ },
+ "BT": {
+ "name": "بوٗٹان"
+ },
+ "BI": {
+ "name": "بورَنڈÙ"
+ },
+ "BA": {
+ "name": "بوسنÙیا تÛÙ• ÛَرزÙگووÙنا"
+ },
+ "BO": {
+ "name": "بولÙÙˆÙیا"
+ },
+ "BY": {
+ "name": "بیلاروٗس"
+ },
+ "BZ": {
+ "name": "بیلÙج"
+ },
+ "BE": {
+ "name": "بیٛلجÙیَم"
+ },
+ "PG": {
+ "name": "پاپÙوا نیوٗ گیٖنی"
+ },
+ "PK": {
+ "name": "پاکÙستان"
+ },
+ "PN": {
+ "name": "Ù¾ÙÙ¹Ú©ÛŒØ±Ù•Ù†Û Ø¬Ù”Ø²ÛŒÙ–Ø±Ù•"
+ },
+ "PY": {
+ "name": "پَراگÙÛ’"
+ },
+ "PT": {
+ "name": "Ù¾ÙرتÙگال"
+ },
+ "PR": {
+ "name": "پٔرٹو رÙÚ©Ùˆ"
+ },
+ "PW": {
+ "name": "پَلاو"
+ },
+ "PA": {
+ "name": "پَناما"
+ },
+ "PL": {
+ "name": "پولینٛڑ"
+ },
+ "PE": {
+ "name": "پیٖروٗ"
+ },
+ "TJ": {
+ "name": "تاجکÙستان"
+ },
+ "TW": {
+ "name": "تایوان"
+ },
+ "TC": {
+ "name": "تÙرÙÚ© تÛÙ• کیکوس جٔزیٖرٕ"
+ },
+ "TR": {
+ "name": "تÙرکی"
+ },
+ "TM": {
+ "name": "تÙرمÙÙ†Ùستان"
+ },
+ "TZ": {
+ "name": "تَنجانÙیا"
+ },
+ "TH": {
+ "name": "تھایلینٛڑ"
+ },
+ "TK": {
+ "name": "توکیلاو"
+ },
+ "TV": {
+ "name": "توٗوالوٗ"
+ },
+ "TT": {
+ "name": "ٹرٛنÙنداد تÛÙ• ٹوبیگو"
+ },
+ "TG": {
+ "name": "ٹوگو"
+ },
+ "TO": {
+ "name": "ٹونٛگا"
+ },
+ "TN": {
+ "name": "ٹونیشÙیا"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "GE": {
+ "name": "جارجÙیا"
+ },
+ "ZM": {
+ "name": "جامبÙیا"
+ },
+ "GI": {
+ "name": "جÙبرالٹَر"
+ },
+ "DJ": {
+ "name": "جÙبوٗتی"
+ },
+ "JE": {
+ "name": "جٔرسی"
+ },
+ "DE": {
+ "name": "جرمٔنی"
+ },
+ "JM": {
+ "name": "جَمایکا"
+ },
+ "ZA": {
+ "name": "جَنوٗبی اَÙریٖکا"
+ },
+ "GS": {
+ "name": "جنوٗبی جارجÙیا تÛÙ• جنوٗبی سینٛڑوٕچ جٔزیٖرٕ"
+ },
+ "KR": {
+ "name": "جنوٗبی کورÙیا"
+ },
+ "TD": {
+ "name": "چاڑ"
+ },
+ "CL": {
+ "name": "Ú†ÙÙ„ÛŒ"
+ },
+ "CZ": {
+ "name": "چیک جَموٗرÙیَت"
+ },
+ "CN": {
+ "name": "چیٖن"
+ },
+ "DM": {
+ "name": "ڈومÙÙ†Ùکا"
+ },
+ "DO": {
+ "name": "ڈومÙÙ†ÙÚ©ÙŽÙ† جموٗرÙیَت"
+ },
+ "DK": {
+ "name": "ڈینٛمارٕک"
+ },
+ "RU": {
+ "name": "روٗس"
+ },
+ "RO": {
+ "name": "رومانÙیا"
+ },
+ "RW": {
+ "name": "روٗوانٛڈا"
+ },
+ "RE": {
+ "name": "رÙیوٗنÙیَن"
+ },
+ "ZW": {
+ "name": "زÙمبابے"
+ },
+ "ST": {
+ "name": "ساو توم تÛÙ• پرٛنسÙÙ¾ÛŒ"
+ },
+ "CY": {
+ "name": "سایÙرٛس"
+ },
+ "ES": {
+ "name": "سٕپین"
+ },
+ "RS": {
+ "name": "سَربÙیا"
+ },
+ "SR": {
+ "name": "سÙرÙنام"
+ },
+ "LK": {
+ "name": "سÙریٖلَنٛکا"
+ },
+ "SK": {
+ "name": "سَلوواکÙیا"
+ },
+ "SI": {
+ "name": "سَلووینÙیا"
+ },
+ "SG": {
+ "name": "ٛسÙنٛگاپوٗر"
+ },
+ "SJ": {
+ "name": "سَوالبریڑ تÛÙ• جان ماییڑ"
+ },
+ "SA": {
+ "name": "سوٗدی عربÙÛŒÛ"
+ },
+ "SD": {
+ "name": "سوٗڈان"
+ },
+ "SE": {
+ "name": "سÙÙˆÙÚˆÙŽÙ†"
+ },
+ "CH": {
+ "name": "سÙÙˆÙزَرلینٛڑ"
+ },
+ "SZ": {
+ "name": "سÙوزÙلینٛڑ"
+ },
+ "SB": {
+ "name": "سولامان جٔزیٖرٕ"
+ },
+ "SO": {
+ "name": "سومالÙیا"
+ },
+ "SL": {
+ "name": "سیٖرالیوون"
+ },
+ "SC": {
+ "name": "سیشَلÙس"
+ },
+ "WS": {
+ "name": "سیمووا"
+ },
+ "SM": {
+ "name": "سین میرÙنو"
+ },
+ "BL": {
+ "name": "سینٛٹ بارتَھیلمی"
+ },
+ "PM": {
+ "name": "سینٛٹ پیٖری تÛÙ• موکیلÙیَن"
+ },
+ "KN": {
+ "name": "سینٛٹ Ú©Ùٹَس تÛÙ• نیوÙس"
+ },
+ "LC": {
+ "name": "سینٛٹ لوٗسÙیا"
+ },
+ "MF": {
+ "name": "سینٛٹ مارٹÙÙ†"
+ },
+ "SH": {
+ "name": "سینٛٹ ÛÙ®ÛªÙ„Ùنا"
+ },
+ "VC": {
+ "name": "سینٛٹ وینسٮ۪ٹ تÛÙ• گرٛیناڑاینٕز"
+ },
+ "SN": {
+ "name": "سینیگَل"
+ },
+ "SY": {
+ "name": "شام"
+ },
+ "KP": {
+ "name": "Ø´Ùمٲلی کورÙیا"
+ },
+ "MP": {
+ "name": "Ø´Ùمٲلی مارÙیانا جٔزیٖرٕ"
+ },
+ "FJ": {
+ "name": "ÙÙجی"
+ },
+ "FR": {
+ "name": "Ùرٛانس"
+ },
+ "TF": {
+ "name": "ÙرٛانسÙسی جَنوٗبی عَلاقÛÙ•"
+ },
+ "GF": {
+ "name": "ÙرٛانسÙسی Ú¯Ùانا"
+ },
+ "PF": {
+ "name": "Ùرٛانسی پولÙنیشÙیا"
+ },
+ "FK": {
+ "name": "Ùٕلاکلینٛڑ جٔزیٖرٕ"
+ },
+ "PH": {
+ "name": "ÙÙÙ„ÙÙ¾Ùینس"
+ },
+ "PS": {
+ "name": "Ùَلَستیٖن"
+ },
+ "FI": {
+ "name": "ÙÙنلینٛڑ"
+ },
+ "QA": {
+ "name": "Ù‚ÙŽØ·Ùر"
+ },
+ "KI": {
+ "name": "Ú©Ùرٕباتی"
+ },
+ "CX": {
+ "name": "کرÙسمَس جٔزیٖرٕ"
+ },
+ "KG": {
+ "name": "Ú©ÙرگÙستان"
+ },
+ "HR": {
+ "name": "کرٛوشÙیا"
+ },
+ "KZ": {
+ "name": "کَزاکÙستان"
+ },
+ "CK": {
+ "name": "Ú©ÙÚ© جٔزیٖرٕ"
+ },
+ "KH": {
+ "name": "کَمبوڑÙیا"
+ },
+ "KM": {
+ "name": "کَمورَس"
+ },
+ "KE": {
+ "name": "Ú©Ùنٛیا"
+ },
+ "CR": {
+ "name": "کوسٹا رÙکا"
+ },
+ "CC": {
+ "name": "کوکَس کیٖلÙÙ†Ù›Ú¯ جٔزیٖرٕ"
+ },
+ "CO": {
+ "name": "کولَمبÙیا"
+ },
+ "CG": {
+ "name": "کونٛگو بٔرٛزاوÙÙ„ÛŒ"
+ },
+ "CD": {
+ "name": "کونٛگو Ú©Ùنشاسا"
+ },
+ "KW": {
+ "name": "Ú©Ùویت"
+ },
+ "CV": {
+ "name": "کیپ ؤرڑی"
+ },
+ "CM": {
+ "name": "کیٚمÙروٗن"
+ },
+ "KY": {
+ "name": "کیمَن جٔزیٖرٕ"
+ },
+ "CA": {
+ "name": "کینَڑا"
+ },
+ "CU": {
+ "name": "کیوٗبا"
+ },
+ "GH": {
+ "name": "گانا"
+ },
+ "GD": {
+ "name": "گرٛنیڑا"
+ },
+ "GR": {
+ "name": "گریٖس"
+ },
+ "GL": {
+ "name": "گریٖنلینٛڑ"
+ },
+ "GM": {
+ "name": "گَمبÙیا"
+ },
+ "GN": {
+ "name": "Ú¯ÙÙ†ÛŒ"
+ },
+ "GP": {
+ "name": "گَواڑیلوپ"
+ },
+ "GU": {
+ "name": "Ú¯Ùوام"
+ },
+ "GT": {
+ "name": "گوتیدالا"
+ },
+ "GY": {
+ "name": "Ú¯Ùیانا"
+ },
+ "GA": {
+ "name": "گیبان"
+ },
+ "GW": {
+ "name": "گیٖنی بÙساو"
+ },
+ "GG": {
+ "name": "گیوَنَرسے"
+ },
+ "LA": {
+ "name": "لاس"
+ },
+ "LR": {
+ "name": "لایبیرÙیا"
+ },
+ "LB": {
+ "name": "لٮ۪بنان"
+ },
+ "LY": {
+ "name": "Ù„Ùبیا"
+ },
+ "LT": {
+ "name": "Ù„ÙتھÙوانÙیا"
+ },
+ "LI": {
+ "name": "Ù„Ùکٹیٛسٹیٖن"
+ },
+ "LU": {
+ "name": "لَکسَمبٔرٕگ"
+ },
+ "LV": {
+ "name": "لیٛٹوÙیا"
+ },
+ "LS": {
+ "name": "لیسوتھو"
+ },
+ "MR": {
+ "name": "مارٕٹانÙیا"
+ },
+ "MQ": {
+ "name": "مارٹÙÙ†ÙÚ©"
+ },
+ "MH": {
+ "name": "مارشَل جٔزیٖرٕ"
+ },
+ "MT": {
+ "name": "مالٹا"
+ },
+ "MV": {
+ "name": "مالدیٖو"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "MS": {
+ "name": "مانٛٹسیراٹ"
+ },
+ "MK": {
+ "name": "مٮ۪سوڑونÙیا"
+ },
+ "MX": {
+ "name": "مٮ۪کسÙÚ©Ùˆ"
+ },
+ "AE": {
+ "name": "Ù…ÙØªØ­Ø¯Û Ø¹Ø±ÙŽØ¨ امارات"
+ },
+ "CF": {
+ "name": "مرکٔزی اَÙریٖکی جموٗریَت"
+ },
+ "EG": {
+ "name": "Ù…Ùسٔر"
+ },
+ "TL": {
+ "name": "مَشرÙÙ‚ÛŒ تایمور"
+ },
+ "EH": {
+ "name": "مشرÙÙ‚ÛŒ سَÛارا"
+ },
+ "MO": {
+ "name": "مَکاوو ایس اے آر چیٖن"
+ },
+ "MW": {
+ "name": "ملاوی"
+ },
+ "MY": {
+ "name": "مَلیشÙیا"
+ },
+ "MN": {
+ "name": "مَنٛگولÙیا"
+ },
+ "ME": {
+ "name": "موٹونیٛگÙریو"
+ },
+ "MU": {
+ "name": "مورÙشَس"
+ },
+ "MA": {
+ "name": "موروکو"
+ },
+ "MZ": {
+ "name": "موزَمبÙÚ©"
+ },
+ "MD": {
+ "name": "مولڑاوÙیا"
+ },
+ "MC": {
+ "name": "مونیٚکو"
+ },
+ "MG": {
+ "name": "میڑاگاسکار"
+ },
+ "MM": {
+ "name": "مَیَنما بٔرما"
+ },
+ "YT": {
+ "name": "مَییٹ"
+ },
+ "NF": {
+ "name": "نارÙاک جٔزیٖرٕ"
+ },
+ "NR": {
+ "name": "نارووٗ"
+ },
+ "NO": {
+ "name": "ناروے"
+ },
+ "NI": {
+ "name": "ناکاراگÙوا"
+ },
+ "NA": {
+ "name": "نامÙبÙیا"
+ },
+ "NE": {
+ "name": "نایجَر"
+ },
+ "NG": {
+ "name": "نایجیرÙیا"
+ },
+ "NC": {
+ "name": "Ù†ÙÙˆ کیلÙڑونÙیا"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NL": {
+ "name": "نیٖدَرلینٛڑ"
+ },
+ "NU": {
+ "name": "نیوٗ"
+ },
+ "NZ": {
+ "name": "نیوٗزÙلینٛڑ"
+ },
+ "HN": {
+ "name": "ÛانٛڈوٗرÙس"
+ },
+ "HK": {
+ "name": "Ûانٛگ کانٛگ ایس اے آر چیٖن"
+ },
+ "HT": {
+ "name": "Ûایتی"
+ },
+ "IN": {
+ "name": "ÛÙنٛدوستان"
+ },
+ "HU": {
+ "name": "Ûَنٛگری"
+ },
+ "WF": {
+ "name": "والÙس تÛÙ• Ùیوٗچوٗنا"
+ },
+ "VU": {
+ "name": "وانوٗتوٗ"
+ },
+ "VA": {
+ "name": "ویٹÙÚ©ÙŽÙ† سÙÙ¹ÛŒ"
+ },
+ "VN": {
+ "name": "ویٹÙنام"
+ },
+ "VE": {
+ "name": "وینازوٗلا"
+ },
+ "YE": {
+ "name": "یَمَن"
+ },
+ "GB": {
+ "name": "ÛŒÙنایٹÙÚ‘ Ú©ÙÙ†Ù›Ú¯ÚˆÙŽÙ…"
+ },
+ "VI": {
+ "name": "یوٗ ایس ؤرجÙÙ† جٔزیٖرٕ"
+ },
+ "UA": {
+ "name": "یوٗرÙکین"
+ },
+ "UY": {
+ "name": "یوٗروگے"
+ },
+ "UG": {
+ "name": "یوٗگانٛڑا"
+ },
+ "US": {
+ "name": "یوٗنایٹÙÚ‘ سÙٹیٹÙس"
+ },
+ "UM": {
+ "name": "یوٗنایٹÙÚ‘ سÙٹیٹÙس ماینَر آوÙٹلییÙÙ†Ù›Ú¯ جٔزیٖرٕ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ksb.json b/library/intl/resources/country/ksb.json
new file mode 100644
index 000000000..ee91470b3
--- /dev/null
+++ b/library/intl/resources/country/ksb.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Aflika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljelia"
+ },
+ "AM": {
+ "name": "Almenia"
+ },
+ "AW": {
+ "name": "Aluba"
+ },
+ "AD": {
+ "name": "Andola"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Balbuda"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Austlalia"
+ },
+ "AT": {
+ "name": "Austlia"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BH": {
+ "name": "Bahaleni"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belalusi"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Belmuda"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BR": {
+ "name": "Blazili"
+ },
+ "BN": {
+ "name": "Blunei"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgalia"
+ },
+ "BI": {
+ "name": "Bulundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "ER": {
+ "name": "Elitlea"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo ja Uingeeza mwe Bahali Hindi"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kialabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Glenada"
+ },
+ "GL": {
+ "name": "Glinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufalansa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Honduasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungalia"
+ },
+ "IQ": {
+ "name": "Ilaki"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IL": {
+ "name": "Islaeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuli ya Afrika ya Gati"
+ },
+ "CZ": {
+ "name": "Jamhuli ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuli ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuli ya Kidemoklasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jiblalta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameluni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katali"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiibati"
+ },
+ "KG": {
+ "name": "Kiigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Nolfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "HR": {
+ "name": "Kolasia"
+ },
+ "KP": {
+ "name": "Kolea Kaskazini"
+ },
+ "KR": {
+ "name": "Kolea Kusini"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komolo"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostalika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuplosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Libelia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "RE": {
+ "name": "Liyunioni"
+ },
+ "RO": {
+ "name": "Lomania"
+ },
+ "RW": {
+ "name": "Lwanda"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "US": {
+ "name": "Malekani"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Maltiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "MR": {
+ "name": "Maulitania"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Miklonesia"
+ },
+ "EG": {
+ "name": "Misli"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MU": {
+ "name": "Molisi"
+ },
+ "MA": {
+ "name": "Moloko"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montselati"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NE": {
+ "name": "Naija"
+ },
+ "NG": {
+ "name": "Naijelia"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Naulu"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NI": {
+ "name": "Nikalagwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Nolwei"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PY": {
+ "name": "Palagwai"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PE": {
+ "name": "Pelu"
+ },
+ "PN": {
+ "name": "Pitkailni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufalansa"
+ },
+ "PR": {
+ "name": "Pwetoliko"
+ },
+ "SM": {
+ "name": "Samalino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Malekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieli na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Glenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Plincipe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siela Leoni"
+ },
+ "SY": {
+ "name": "Silia"
+ },
+ "LK": {
+ "name": "Sililanka"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Sulinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timoli ya Mashaliki"
+ },
+ "TT": {
+ "name": "Tlinidad na Tobago"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Tulukimenistani"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "FR": {
+ "name": "Ufalansa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiiki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingeeza"
+ },
+ "DE": {
+ "name": "Ujeumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Maghalibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Uklaini"
+ },
+ "PT": {
+ "name": "Uleno"
+ },
+ "UY": {
+ "name": "Ulugwai"
+ },
+ "RU": {
+ "name": "Ulusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Utuluki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Maliana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Mashal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Tulki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Vilgin vya Malekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Vilgin vya Uingeeza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yoldani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ksf.json b/library/intl/resources/country/ksf.json
new file mode 100644
index 000000000..172636405
--- /dev/null
+++ b/library/intl/resources/country/ksf.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "afganistáŋ"
+ },
+ "ZA": {
+ "name": "afrik anÇ a sud"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "albaní"
+ },
+ "DZ": {
+ "name": "aljɛrí"
+ },
+ "US": {
+ "name": "amɛrika"
+ },
+ "AD": {
+ "name": "andÉ”rÇ"
+ },
+ "AI": {
+ "name": "angiya"
+ },
+ "AO": {
+ "name": "angóla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "antiga ri barbúda"
+ },
+ "SA": {
+ "name": "arabí saodí"
+ },
+ "AR": {
+ "name": "arjÇntín"
+ },
+ "AM": {
+ "name": "armɛní"
+ },
+ "AW": {
+ "name": "aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "HT": {
+ "name": "ayiti"
+ },
+ "AZ": {
+ "name": "azabecán"
+ },
+ "BB": {
+ "name": "baabaadÇ"
+ },
+ "BS": {
+ "name": "baamás"
+ },
+ "BD": {
+ "name": "baÅ‹ladÉ›Ìc"
+ },
+ "BH": {
+ "name": "barÇÌn"
+ },
+ "AE": {
+ "name": "bÇlɔŋ bÇ kaksa bÉ› táatáaÅ‹zÇn"
+ },
+ "BM": {
+ "name": "bɛɛmúdÇ"
+ },
+ "BY": {
+ "name": "bɛlaris"
+ },
+ "BZ": {
+ "name": "bɛliz"
+ },
+ "BE": {
+ "name": "bɛljík"
+ },
+ "BJ": {
+ "name": "bÉ›nÇÌn"
+ },
+ "BW": {
+ "name": "botswana"
+ },
+ "BO": {
+ "name": "bɔɔlíví"
+ },
+ "BA": {
+ "name": "bÉ”snyÉ› ri hÉ›rsÇgÉ”vín"
+ },
+ "BR": {
+ "name": "brɛsíl"
+ },
+ "BN": {
+ "name": "brunÇÌ"
+ },
+ "BF": {
+ "name": "bukína fÇÌ asÉ”"
+ },
+ "BG": {
+ "name": "bulgarí"
+ },
+ "BI": {
+ "name": "burundí"
+ },
+ "BT": {
+ "name": "bután"
+ },
+ "TD": {
+ "name": "caád"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CZ": {
+ "name": "cÉ›Ìk"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "cíli"
+ },
+ "CN": {
+ "name": "cín"
+ },
+ "CY": {
+ "name": "cíprɛ"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "danmak"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DE": {
+ "name": "djɛrman"
+ },
+ "DM": {
+ "name": "dɔminik"
+ },
+ "DO": {
+ "name": "dɔminik rɛpublík"
+ },
+ "DJ": {
+ "name": "dyibutí"
+ },
+ "EG": {
+ "name": "ɛjípt"
+ },
+ "EC": {
+ "name": "É›kwatÉ›ÇÌ"
+ },
+ "ER": {
+ "name": "É›ritrÉ›Ì"
+ },
+ "EE": {
+ "name": "ɛstoní"
+ },
+ "ET": {
+ "name": "ɛtyɔpí"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "fíji"
+ },
+ "PH": {
+ "name": "filipÇÌn"
+ },
+ "FI": {
+ "name": "fínlan"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "gabɔŋ"
+ },
+ "GM": {
+ "name": "gambí"
+ },
+ "GH": {
+ "name": "gána"
+ },
+ "GN": {
+ "name": "ginÉ›Ì"
+ },
+ "GW": {
+ "name": "ginÉ›Ì bisÉ”Ì"
+ },
+ "GQ": {
+ "name": "ginÉ›Ì É›kwatÉ”rial"
+ },
+ "GR": {
+ "name": "grÉ›Ìk"
+ },
+ "GD": {
+ "name": "grÉ›nadÇ"
+ },
+ "GL": {
+ "name": "grínlan"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "guyán"
+ },
+ "GF": {
+ "name": "guyán i pÉ›rÉ›sÇÌ"
+ },
+ "GP": {
+ "name": "gwadɛlúp"
+ },
+ "GU": {
+ "name": "gwám"
+ },
+ "GT": {
+ "name": "gwátÇmala"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IE": {
+ "name": "ilán"
+ },
+ "IN": {
+ "name": "indí"
+ },
+ "ID": {
+ "name": "indonɛsí"
+ },
+ "IQ": {
+ "name": "irák"
+ },
+ "IR": {
+ "name": "iráŋ"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "israÉ›Ìl"
+ },
+ "IT": {
+ "name": "italí"
+ },
+ "JM": {
+ "name": "jamaík"
+ },
+ "JP": {
+ "name": "japÉ”ÌÅ‹"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "jibraltá"
+ },
+ "JO": {
+ "name": "jɔrdán"
+ },
+ "GE": {
+ "name": "jɔrjí"
+ },
+ "NC": {
+ "name": "kalÉ›doní anyÉ”Ìn"
+ },
+ "KH": {
+ "name": "kambodj"
+ },
+ "CM": {
+ "name": "kamɛrún"
+ },
+ "CA": {
+ "name": "kanada"
+ },
+ "CV": {
+ "name": "kapvɛr"
+ },
+ "QA": {
+ "name": "katá"
+ },
+ "KZ": {
+ "name": "kazakstáŋ"
+ },
+ "NL": {
+ "name": "kÇlɔŋ kÇ Ã¡zÇ"
+ },
+ "GB": {
+ "name": "kÇlɔŋ kÇ kÇtáatáaÅ‹zÇn"
+ },
+ "KE": {
+ "name": "kɛnya"
+ },
+ "KG": {
+ "name": "kigistáŋ"
+ },
+ "KI": {
+ "name": "kiribáti"
+ },
+ "CO": {
+ "name": "kolɔmbí"
+ },
+ "KM": {
+ "name": "komɔr"
+ },
+ "KP": {
+ "name": "korÉ›anÉ”Ìr"
+ },
+ "KR": {
+ "name": "korɛasud"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CG": {
+ "name": "kɔngó"
+ },
+ "CD": {
+ "name": "kÉ”ngó anyÉ”Ìn"
+ },
+ "CR": {
+ "name": "kɔstaríka"
+ },
+ "CI": {
+ "name": "kɔtiwuár"
+ },
+ "ES": {
+ "name": "kpanyá"
+ },
+ "HR": {
+ "name": "krwasí"
+ },
+ "CU": {
+ "name": "kuba"
+ },
+ "KW": {
+ "name": "kuwɛit"
+ },
+ "LA": {
+ "name": "laɔs"
+ },
+ "LS": {
+ "name": "lÇsóto"
+ },
+ "LV": {
+ "name": "lɛtoní"
+ },
+ "LB": {
+ "name": "libáŋ"
+ },
+ "LR": {
+ "name": "libɛrya"
+ },
+ "LY": {
+ "name": "libí"
+ },
+ "LI": {
+ "name": "lictÉ›nstÉ›Ìn"
+ },
+ "LT": {
+ "name": "litwaní"
+ },
+ "LU": {
+ "name": "luksɛmbúr"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "madagaska"
+ },
+ "MW": {
+ "name": "malawi"
+ },
+ "MV": {
+ "name": "maldivÇ"
+ },
+ "MY": {
+ "name": "malɛsí"
+ },
+ "ML": {
+ "name": "mali"
+ },
+ "MT": {
+ "name": "maltÇ"
+ },
+ "MA": {
+ "name": "marɔk"
+ },
+ "MK": {
+ "name": "másÇdwán"
+ },
+ "MQ": {
+ "name": "matiník"
+ },
+ "YT": {
+ "name": "mayÉ”Ìt"
+ },
+ "MX": {
+ "name": "mɛksík"
+ },
+ "FM": {
+ "name": "mikronÉ›Ìsi"
+ },
+ "MC": {
+ "name": "monako"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "mosambík"
+ },
+ "MD": {
+ "name": "mɔldaví"
+ },
+ "MS": {
+ "name": "mɔnsɛrat"
+ },
+ "MN": {
+ "name": "mɔŋolí"
+ },
+ "MU": {
+ "name": "mwarís"
+ },
+ "MR": {
+ "name": "mwaritaní"
+ },
+ "MM": {
+ "name": "myanmár"
+ },
+ "NA": {
+ "name": "namibí"
+ },
+ "NP": {
+ "name": "nɛpal"
+ },
+ "NE": {
+ "name": "nijÉ›Ìr"
+ },
+ "NG": {
+ "name": "nijÉ›Ìrya"
+ },
+ "NI": {
+ "name": "níkarágwa"
+ },
+ "NU": {
+ "name": "niwÉ›Ì"
+ },
+ "NO": {
+ "name": "nÉ”rvÉ›jÇ"
+ },
+ "NR": {
+ "name": "nwarú"
+ },
+ "OM": {
+ "name": "oman"
+ },
+ "AT": {
+ "name": "otric"
+ },
+ "HN": {
+ "name": "ɔnduras"
+ },
+ "HU": {
+ "name": "ɔngrí"
+ },
+ "AU": {
+ "name": "ɔstralí"
+ },
+ "PK": {
+ "name": "pakistáŋ"
+ },
+ "PW": {
+ "name": "palwa"
+ },
+ "PA": {
+ "name": "panama"
+ },
+ "PG": {
+ "name": "papwazí ginÉ›Ì anyÉ”Ìn"
+ },
+ "PY": {
+ "name": "paragwÉ›Ì"
+ },
+ "FR": {
+ "name": "pÉ›rÉ›sÇÌ"
+ },
+ "PE": {
+ "name": "pɛrú"
+ },
+ "PN": {
+ "name": "pitkÉ›Ìn"
+ },
+ "PL": {
+ "name": "polÉ”Ìn"
+ },
+ "PT": {
+ "name": "portugál"
+ },
+ "PF": {
+ "name": "pÉ”linÉ›sí a pÉ›rÉ›sÇÌ"
+ },
+ "PR": {
+ "name": "pɔtoríko"
+ },
+ "RE": {
+ "name": "rɛunyɔŋ"
+ },
+ "RU": {
+ "name": "risí"
+ },
+ "RO": {
+ "name": "rɔmaní"
+ },
+ "RW": {
+ "name": "rwanda"
+ },
+ "SV": {
+ "name": "salvadɔr"
+ },
+ "WS": {
+ "name": "samɔa"
+ },
+ "AS": {
+ "name": "samɔa a amɛrika"
+ },
+ "CF": {
+ "name": "santrafrík"
+ },
+ "ST": {
+ "name": "saotomÉ›Ì ri priÅ‹sib"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "sɛcɛl"
+ },
+ "SN": {
+ "name": "sɛnɛgal"
+ },
+ "KN": {
+ "name": "sÉ›nkrÇstÉ”Ìf ri nyÉ›ÌvÇ"
+ },
+ "SM": {
+ "name": "sÉ›nmarÇn"
+ },
+ "PM": {
+ "name": "sɛnpyɛr ri mikɛlɔŋ"
+ },
+ "SH": {
+ "name": "sÉ›ntÉ›Ìlen"
+ },
+ "LC": {
+ "name": "sɛntlísí"
+ },
+ "VC": {
+ "name": "sÉ›nvÇnsÇÅ‹ ri grÉ›nadín"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SG": {
+ "name": "siŋapó"
+ },
+ "SY": {
+ "name": "sirí"
+ },
+ "SK": {
+ "name": "slovakí"
+ },
+ "SI": {
+ "name": "slovɛní"
+ },
+ "SO": {
+ "name": "somalí"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "srílaŋka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "sudan"
+ },
+ "SR": {
+ "name": "surinam"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "swazilan"
+ },
+ "SE": {
+ "name": "swÉ›dÇ"
+ },
+ "CH": {
+ "name": "swís"
+ },
+ "SL": {
+ "name": "syɛraleon"
+ },
+ "TJ": {
+ "name": "tadjikistaŋ"
+ },
+ "TZ": {
+ "name": "tanzaní"
+ },
+ "TH": {
+ "name": "tɛlan"
+ },
+ "TT": {
+ "name": "tɛrinitɛ ri tobago"
+ },
+ "TW": {
+ "name": "tɛwán"
+ },
+ "TL": {
+ "name": "timor anÇ Ã¡ É›st"
+ },
+ "TR": {
+ "name": "tirkí"
+ },
+ "TM": {
+ "name": "tirkmɛnistaŋ"
+ },
+ "TG": {
+ "name": "togo"
+ },
+ "TK": {
+ "name": "tokÇlao"
+ },
+ "TO": {
+ "name": "tɔŋa"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "tunɛsí"
+ },
+ "TV": {
+ "name": "tuwalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "uganda"
+ },
+ "UA": {
+ "name": "ukrain"
+ },
+ "UY": {
+ "name": "urugwÉ›Ì"
+ },
+ "UZ": {
+ "name": "usbɛkistaŋ"
+ },
+ "WF": {
+ "name": "walis ri futuna"
+ },
+ "VU": {
+ "name": "wanwatu"
+ },
+ "VA": {
+ "name": "watikáŋ"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "VE": {
+ "name": "wÉ›nÇzwÉ›la"
+ },
+ "VN": {
+ "name": "wyɛtnám"
+ },
+ "YE": {
+ "name": "yɛmɛn"
+ },
+ "ZM": {
+ "name": "zambí"
+ },
+ "VI": {
+ "name": "zÇ bÉ› gÉ”n inÉ› á amÉ›rika"
+ },
+ "VG": {
+ "name": "zÇ bÉ› gÉ”n inÉ› a ingÉ›rís"
+ },
+ "KY": {
+ "name": "zÇ i gan"
+ },
+ "IS": {
+ "name": "zÇ i glás"
+ },
+ "MH": {
+ "name": "zÇ i marcál"
+ },
+ "IO": {
+ "name": "zÇ ingÉ›rís ncÉ”Ìm wa indi"
+ },
+ "FK": {
+ "name": "zÇ maalwín"
+ },
+ "MP": {
+ "name": "zÇ maryánnÉ”Ìr"
+ },
+ "PS": {
+ "name": "zÇ palÉ›stínÇ"
+ },
+ "SB": {
+ "name": "zÇ salomÉ”Ìn"
+ },
+ "TC": {
+ "name": "zÇ tirk ri kakÉ”s"
+ },
+ "CK": {
+ "name": "zɛ i kúk"
+ },
+ "NF": {
+ "name": "zÉ› nÉ”ÌfÉ”lk"
+ },
+ "NZ": {
+ "name": "zÉ›lan anyÉ”Ìn"
+ },
+ "ZW": {
+ "name": "zimbabwÉ›Ì"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ksh.json b/library/intl/resources/country/ksh.json
new file mode 100644
index 000000000..3d9c7bbac
--- /dev/null
+++ b/library/intl/resources/country/ksh.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afjaanistahn"
+ },
+ "AR": {
+ "name": "Ajjentiinije"
+ },
+ "EG": {
+ "name": "Äjüpte"
+ },
+ "EC": {
+ "name": "Äkwador"
+ },
+ "SV": {
+ "name": "Äl Slavadoor"
+ },
+ "AL": {
+ "name": "Albaanije"
+ },
+ "CI": {
+ "name": "Älfebeijn-Köß"
+ },
+ "DZ": {
+ "name": "Alljeerije"
+ },
+ "AS": {
+ "name": "Ammerikaanesch Sammoha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Anggwilla"
+ },
+ "AO": {
+ "name": "Angjoola"
+ },
+ "AG": {
+ "name": "Antigwa un Barbuda"
+ },
+ "GQ": {
+ "name": "Äquatorial Jineeja"
+ },
+ "ER": {
+ "name": "Äritreja"
+ },
+ "AM": {
+ "name": "Arrmeenije"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Aßension"
+ },
+ "AZ": {
+ "name": "Asserbaidschahn"
+ },
+ "EE": {
+ "name": "Äßland"
+ },
+ "ET": {
+ "name": "Ättijoopije"
+ },
+ "AU": {
+ "name": "Austraalije"
+ },
+ "BH": {
+ "name": "Bachrain"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BE": {
+ "name": "Bellje"
+ },
+ "MM": {
+ "name": "Birma"
+ },
+ "BO": {
+ "name": "Bolliivije"
+ },
+ "BA": {
+ "name": "Boßnije un Herzegovina"
+ },
+ "BW": {
+ "name": "Bozwaana"
+ },
+ "BR": {
+ "name": "Brasilije"
+ },
+ "IO": {
+ "name": "Brettesche Besezunge em indesche Oozejahn"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukkinna-Faase"
+ },
+ "BG": {
+ "name": "Bulljaarije"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Buttaan"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "BJ": {
+ "name": "dä Benin"
+ },
+ "CG": {
+ "name": "dä Konggo (Brassavill)"
+ },
+ "CD": {
+ "name": "dä Konggo (Kinschasa)"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "VI": {
+ "name": "de ammärrikahnesche Juffer-Enselle"
+ },
+ "BS": {
+ "name": "de Bahamas"
+ },
+ "BM": {
+ "name": "de Bermudas"
+ },
+ "VG": {
+ "name": "de brettesche Juffer-Enselle"
+ },
+ "DG": {
+ "name": "de Diego-Garcia-Ensel"
+ },
+ "DO": {
+ "name": "de Dommenekaanesche Reppublik"
+ },
+ "BB": {
+ "name": "de Ensel Barbados"
+ },
+ "IM": {
+ "name": "de Ensel Män"
+ },
+ "SH": {
+ "name": "de Ensel Zint Hellena"
+ },
+ "LC": {
+ "name": "de Ensel Zint-Lutscha"
+ },
+ "SJ": {
+ "name": "de Enselle Svalbard un Jan Mayen"
+ },
+ "TC": {
+ "name": "de Enselle Turks un Kaikos"
+ },
+ "FK": {
+ "name": "de Falkland-Enselle"
+ },
+ "FO": {
+ "name": "de Färrör-Enselle"
+ },
+ "FJ": {
+ "name": "de Fidschi-Endelle"
+ },
+ "KY": {
+ "name": "de Kaiman-Enselle"
+ },
+ "IC": {
+ "name": "de Kannaresche Enselle"
+ },
+ "CV": {
+ "name": "de kapvärdesche Enselle"
+ },
+ "BQ": {
+ "name": "de karribbesche Nederläng"
+ },
+ "CC": {
+ "name": "de Kokkos-Enselle"
+ },
+ "KM": {
+ "name": "de Kommoore"
+ },
+ "CK": {
+ "name": "de Kuuk-Enselle"
+ },
+ "MH": {
+ "name": "de Machschall-Enselle"
+ },
+ "NL": {
+ "name": "de Nederläng"
+ },
+ "MP": {
+ "name": "de nöödlijje Marijanne-Enselle"
+ },
+ "NF": {
+ "name": "de Noofok-Ensel"
+ },
+ "AX": {
+ "name": "de Ohland-Enselle"
+ },
+ "PN": {
+ "name": "de Pitkärn-Ensel"
+ },
+ "ZA": {
+ "name": "de Republik Södaffrika"
+ },
+ "CH": {
+ "name": "de Schweiz"
+ },
+ "SC": {
+ "name": "de Seischälle"
+ },
+ "SB": {
+ "name": "de Solomone-Enselle"
+ },
+ "TR": {
+ "name": "de Törkei"
+ },
+ "CZ": {
+ "name": "de Tschäschei"
+ },
+ "UA": {
+ "name": "de Ukra’iine"
+ },
+ "UM": {
+ "name": "de Vereineschte Schtaate vun Amärrika ier ußerhallef jelääje Enselsche"
+ },
+ "US": {
+ "name": "de vereineschte Schtaate vun Ammärrika"
+ },
+ "CX": {
+ "name": "de Weihnaachs-Ensel"
+ },
+ "CF": {
+ "name": "de Zäntraalaffrikaanesche Republik"
+ },
+ "BL": {
+ "name": "de Zint Battälmi-Enselle"
+ },
+ "MF": {
+ "name": "de Zint-Määtes-Ensel"
+ },
+ "SN": {
+ "name": "der Sennejall"
+ },
+ "AQ": {
+ "name": "der Södpol"
+ },
+ "TD": {
+ "name": "der Tschadd"
+ },
+ "VA": {
+ "name": "der Vattikahn"
+ },
+ "DM": {
+ "name": "Dominnika"
+ },
+ "DE": {
+ "name": "Doütschland"
+ },
+ "DJ": {
+ "name": "Dschibutti"
+ },
+ "ME": {
+ "name": "et Monteneejro"
+ },
+ "PH": {
+ "name": "Fillipiine"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frankrisch"
+ },
+ "GF": {
+ "name": "Franzüüsesch Jujaana"
+ },
+ "PF": {
+ "name": "Franzüüsesch Pollineesije"
+ },
+ "TF": {
+ "name": "Franzüüsesche Södsee-Enselle"
+ },
+ "HT": {
+ "name": "Ha’itti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong"
+ },
+ "IN": {
+ "name": "Indije"
+ },
+ "ID": {
+ "name": "Indoneesije"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IE": {
+ "name": "Irrland"
+ },
+ "IS": {
+ "name": "Ißland"
+ },
+ "IL": {
+ "name": "Ißraäl"
+ },
+ "IT": {
+ "name": "Itaalije"
+ },
+ "GH": {
+ "name": "Jaana"
+ },
+ "GA": {
+ "name": "Jabuhn"
+ },
+ "GM": {
+ "name": "Jambija"
+ },
+ "JM": {
+ "name": "Jammaika"
+ },
+ "YE": {
+ "name": "Jämme"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "GE": {
+ "name": "Jeorrjije"
+ },
+ "GI": {
+ "name": "Jibralltaa"
+ },
+ "GN": {
+ "name": "Jinneha"
+ },
+ "GW": {
+ "name": "Jinneha_Bißau"
+ },
+ "GG": {
+ "name": "Jöönsei"
+ },
+ "JE": {
+ "name": "Jööseh"
+ },
+ "JO": {
+ "name": "Jordaanije"
+ },
+ "GD": {
+ "name": "Jrenaada"
+ },
+ "GR": {
+ "name": "Jriescheland"
+ },
+ "GL": {
+ "name": "Jröhnland"
+ },
+ "GB": {
+ "name": "Jruußbrettannije"
+ },
+ "GP": {
+ "name": "Juadelupp"
+ },
+ "GU": {
+ "name": "Juham"
+ },
+ "GY": {
+ "name": "Jujaana"
+ },
+ "GT": {
+ "name": "Juwatemaala"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kammeruhn"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kassakstahn"
+ },
+ "QA": {
+ "name": "Kataa"
+ },
+ "KE": {
+ "name": "Keenija"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirrjiisije"
+ },
+ "CO": {
+ "name": "Kolumbije"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "HR": {
+ "name": "Krowazije"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuweit"
+ },
+ "LA": {
+ "name": "La’os"
+ },
+ "LV": {
+ "name": "Lätland"
+ },
+ "LB": {
+ "name": "Lebbannon"
+ },
+ "LS": {
+ "name": "Lesooto"
+ },
+ "LY": {
+ "name": "Libbije"
+ },
+ "LR": {
+ "name": "Libeerija"
+ },
+ "LI": {
+ "name": "Lischteschtein"
+ },
+ "LT": {
+ "name": "Littaue"
+ },
+ "LU": {
+ "name": "Luxembursch"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MQ": {
+ "name": "Machtinik"
+ },
+ "MG": {
+ "name": "Maddajaska"
+ },
+ "YT": {
+ "name": "Majott"
+ },
+ "MO": {
+ "name": "Makau"
+ },
+ "MY": {
+ "name": "Malaisije"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Mallediive"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MU": {
+ "name": "Maurizijus"
+ },
+ "MR": {
+ "name": "Mautitaanije"
+ },
+ "MX": {
+ "name": "Mäxiko"
+ },
+ "MK": {
+ "name": "Mazedoonije"
+ },
+ "FM": {
+ "name": "Mikroneesije"
+ },
+ "MD": {
+ "name": "Moldaavije"
+ },
+ "MC": {
+ "name": "Monakko"
+ },
+ "MN": {
+ "name": "Mongjolei"
+ },
+ "MS": {
+ "name": "Mongßerrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "NA": {
+ "name": "Namiibije"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepall"
+ },
+ "NC": {
+ "name": "Neuschottland"
+ },
+ "NZ": {
+ "name": "Neuseeland"
+ },
+ "NE": {
+ "name": "Nijer"
+ },
+ "NG": {
+ "name": "Nikaraagua"
+ },
+ "NI": {
+ "name": "Nikaraaguwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nood-Koreja"
+ },
+ "SD": {
+ "name": "Noodsudahn"
+ },
+ "NO": {
+ "name": "Norrweeje"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AT": {
+ "name": "Öösterisch"
+ },
+ "TL": {
+ "name": "Oß-Timor"
+ },
+ "PK": {
+ "name": "Pakistahn"
+ },
+ "PS": {
+ "name": "Palästina"
+ },
+ "PW": {
+ "name": "Pallau"
+ },
+ "PA": {
+ "name": "Pannama"
+ },
+ "PG": {
+ "name": "Papuwa Neujineeja"
+ },
+ "PY": {
+ "name": "Parraguwai"
+ },
+ "PE": {
+ "name": "Perruh"
+ },
+ "IR": {
+ "name": "Persije"
+ },
+ "PT": {
+ "name": "Pochtojall"
+ },
+ "PR": {
+ "name": "Pochtoriko"
+ },
+ "PL": {
+ "name": "Pole"
+ },
+ "RE": {
+ "name": "Rehunjohn"
+ },
+ "RO": {
+ "name": "Romäänije"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rußland"
+ },
+ "ZM": {
+ "name": "Sambija"
+ },
+ "WS": {
+ "name": "Sammoha"
+ },
+ "SM": {
+ "name": "San-Marino"
+ },
+ "RS": {
+ "name": "Särbije"
+ },
+ "SA": {
+ "name": "Saudi Arraabije"
+ },
+ "CL": {
+ "name": "Schiile"
+ },
+ "CN": {
+ "name": "Schiina"
+ },
+ "ES": {
+ "name": "Schpaanije"
+ },
+ "SE": {
+ "name": "Schweede"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singjapuur"
+ },
+ "SL": {
+ "name": "Sjärra Lejone"
+ },
+ "GS": {
+ "name": "Söd-Jeorjie un de södlijje Botteramms-Enselle"
+ },
+ "KR": {
+ "name": "Söd-Koreja"
+ },
+ "SS": {
+ "name": "Södsudahn"
+ },
+ "SO": {
+ "name": "Somaalije"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SK": {
+ "name": "ẞlovakei"
+ },
+ "SI": {
+ "name": "ẞloveenije"
+ },
+ "SZ": {
+ "name": "ẞwaasiland"
+ },
+ "SY": {
+ "name": "Sürije"
+ },
+ "SR": {
+ "name": "Sürinamm"
+ },
+ "TJ": {
+ "name": "Tadschikistahn"
+ },
+ "TH": {
+ "name": "Tailand"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansanija"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tongga"
+ },
+ "TG": {
+ "name": "Toojo"
+ },
+ "TT": {
+ "name": "Trinidad un Tobääjo"
+ },
+ "TA": {
+ "name": "Tristan da Cunja"
+ },
+ "TN": {
+ "name": "Tuneesije"
+ },
+ "TM": {
+ "name": "Turkmenistahn"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Ujanda"
+ },
+ "HU": {
+ "name": "Unjann"
+ },
+ "UY": {
+ "name": "Urrujwai"
+ },
+ "UZ": {
+ "name": "Ußbeekistahn"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereinschte Arrabesche Emmirate"
+ },
+ "VN": {
+ "name": "Vijätnamm"
+ },
+ "WF": {
+ "name": "Wallis un Futuna"
+ },
+ "EH": {
+ "name": "Wäß-Sahara"
+ },
+ "BY": {
+ "name": "Wießrußland"
+ },
+ "EA": {
+ "name": "Ze’uta un Meliija"
+ },
+ "KN": {
+ "name": "Zint Kitts un Nevis"
+ },
+ "SX": {
+ "name": "Zint Maarten"
+ },
+ "PM": {
+ "name": "Zint Pjäär un Mikelong"
+ },
+ "ST": {
+ "name": "Zint Tommeh un Printschipe"
+ },
+ "VC": {
+ "name": "Zint Vinzänz un de Jrenadines-Enselle"
+ },
+ "CY": {
+ "name": "Züppere"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ky.json b/library/intl/resources/country/ky.json
new file mode 100644
index 000000000..4944f4888
--- /dev/null
+++ b/library/intl/resources/country/ky.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "ÐвÑтралиÑ"
+ },
+ "AT": {
+ "name": "ÐвÑтриÑ"
+ },
+ "AZ": {
+ "name": "Ðзербайжан"
+ },
+ "UM": {
+ "name": "ÐКШнын Ñырткы аралдары"
+ },
+ "AX": {
+ "name": "Ðланд аралдары"
+ },
+ "AL": {
+ "name": "ÐлбаниÑ"
+ },
+ "DZ": {
+ "name": "Ðлжир"
+ },
+ "US": {
+ "name": "Ðмерика Кошмо Штаттары"
+ },
+ "AS": {
+ "name": "Ðмерика СамоаÑÑ‹"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AI": {
+ "name": "Ðнгуила"
+ },
+ "AD": {
+ "name": "Ðндорра"
+ },
+ "AQ": {
+ "name": "Ðнтарктика"
+ },
+ "AG": {
+ "name": "Ðнтигуа жана Барбуда"
+ },
+ "AR": {
+ "name": "Ðргентина"
+ },
+ "AM": {
+ "name": "ÐрмениÑ"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AC": {
+ "name": "ÐÑÑеншин аралы"
+ },
+ "AF": {
+ "name": "ÐфганиÑтан"
+ },
+ "BS": {
+ "name": "Багам аралдары"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "EH": {
+ "name": "Батыш Сахара"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "БеларуÑÑŒ"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BE": {
+ "name": "БельгиÑ"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуд аралдары"
+ },
+ "AE": {
+ "name": "Бириккен Ðраб Эмираттары"
+ },
+ "BG": {
+ "name": "БолгариÑ"
+ },
+ "BO": {
+ "name": "БоливиÑ"
+ },
+ "CF": {
+ "name": "Борбордук Ðфрика РеÑпубликаÑÑ‹"
+ },
+ "BA": {
+ "name": "БоÑÐ½Ð¸Ñ Ð¶Ð°Ð½Ð° Герцеговина"
+ },
+ "BW": {
+ "name": "БотÑвана"
+ },
+ "BR": {
+ "name": "БразилиÑ"
+ },
+ "IO": {
+ "name": "БританиÑнын Ð˜Ð½Ð´Ð¸Ñ Ð¾ÐºÐµÐ°Ð½Ñ‹Ð½Ð´Ð°Ð³Ñ‹ аймагы"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркина-ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "HU": {
+ "name": "ВенгриÑ"
+ },
+ "VE": {
+ "name": "ВенеÑуÑла"
+ },
+ "VI": {
+ "name": "Виргин аралдары (ÐКШ)"
+ },
+ "VG": {
+ "name": "Виргин аралдары (БританиÑ)"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "ГамбиÑ"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GF": {
+ "name": "Гвиана (ФранциÑ)"
+ },
+ "GN": {
+ "name": "ГвинеÑ"
+ },
+ "GW": {
+ "name": "ГвинеÑ-БиÑау"
+ },
+ "DE": {
+ "name": "ГерманиÑ"
+ },
+ "GG": {
+ "name": "ГернÑи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "ГондураÑ"
+ },
+ "HK": {
+ "name": "Гонконг Кытай ÐÐÐ"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "ГренландиÑ"
+ },
+ "GR": {
+ "name": "ГрециÑ"
+ },
+ "GE": {
+ "name": "ГрузиÑ"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "ДаниÑ"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего ГарÑиÑ"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминика РеÑпубликаÑÑ‹"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "NZ": {
+ "name": "Жаӊы ЗеландиÑ"
+ },
+ "NC": {
+ "name": "Жаӊы КаледониÑ"
+ },
+ "JE": {
+ "name": "ЖерÑи"
+ },
+ "ZM": {
+ "name": "ЗамбиÑ"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "IN": {
+ "name": "ИндиÑ"
+ },
+ "ID": {
+ "name": "ИндонезиÑ"
+ },
+ "JO": {
+ "name": "ИорданиÑ"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "ИрландиÑ"
+ },
+ "IS": {
+ "name": "ИÑландиÑ"
+ },
+ "ES": {
+ "name": "ИÑпаниÑ"
+ },
+ "IT": {
+ "name": "ИталиÑ"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "KZ": {
+ "name": "КазакÑтан"
+ },
+ "KY": {
+ "name": "Кайман Ðралдары"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канар аралдары"
+ },
+ "CV": {
+ "name": "Капе Верде"
+ },
+ "BQ": {
+ "name": "Кариб Ðидерланддары"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "КениÑ"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "ÐšÐ¾ÐºÐ¾Ñ (Килиӊ) аралдары"
+ },
+ "CO": {
+ "name": "КолумбиÑ"
+ },
+ "KM": {
+ "name": "КомороÑ"
+ },
+ "CG": {
+ "name": "Конго-Браззавил"
+ },
+ "CD": {
+ "name": "Конго-КиншаÑа"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑта-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Ивуар"
+ },
+ "CX": {
+ "name": "КриÑÐ¼Ð°Ñ Ð°Ñ€Ð°Ð»Ñ‹"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CK": {
+ "name": "Кук аралдары"
+ },
+ "KG": {
+ "name": "КыргызÑтан"
+ },
+ "CN": {
+ "name": "Кытай"
+ },
+ "CW": {
+ "name": "КюраÑао"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "ЛатвиÑ"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LR": {
+ "name": "ЛибериÑ"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "ЛивиÑ"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "ЛюкÑембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "МавританиÑ"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макау Кытай ÐÐÐ"
+ },
+ "MK": {
+ "name": "МакедониÑ"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "МалайзиÑ"
+ },
+ "MV": {
+ "name": "Малдив аралдары"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршалл аралдары"
+ },
+ "MX": {
+ "name": "МекÑика"
+ },
+ "FM": {
+ "name": "МикронезиÑ"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "МонголиÑ"
+ },
+ "MS": {
+ "name": "МонÑеррат"
+ },
+ "MM": {
+ "name": "МьÑнма (Бирма)"
+ },
+ "IM": {
+ "name": "ÐœÑн аралы"
+ },
+ "NA": {
+ "name": "ÐамибиÑ"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "ÐигериÑ"
+ },
+ "NL": {
+ "name": "Ðидерланддар"
+ },
+ "NI": {
+ "name": "Ðикарагуа"
+ },
+ "NU": {
+ "name": "ÐиуÑ"
+ },
+ "NO": {
+ "name": "ÐорвегиÑ"
+ },
+ "NF": {
+ "name": "Ðорфолк аралы"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "UZ": {
+ "name": "ӨзбекÑтан"
+ },
+ "PK": {
+ "name": "ПакиÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "ПалеÑтина аймактары"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Жаңы-ГвинеÑ"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "ПиткÑрн аралдары"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "ПортугалиÑ"
+ },
+ "PR": {
+ "name": "ПуÑрто-Рико"
+ },
+ "RE": {
+ "name": "Реюнион"
+ },
+ "RU": {
+ "name": "РоÑÑиÑ"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "РумыниÑ"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе жана ПринÑипи"
+ },
+ "SA": {
+ "name": "Сауд ÐрабиÑÑÑ‹"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард жана Жан Майен"
+ },
+ "SC": {
+ "name": "Сейшелдер"
+ },
+ "PM": {
+ "name": "Сен-Пьер жана Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "BL": {
+ "name": "Сент Бартелеми"
+ },
+ "VC": {
+ "name": "Сент-ВинÑент жана Гренадиналар"
+ },
+ "KN": {
+ "name": "Сент-ÐšÐ¸Ñ‚Ñ Ð¶Ð°Ð½Ð° ÐевиÑ"
+ },
+ "LC": {
+ "name": "Сент-ЛюÑиÑ"
+ },
+ "MF": {
+ "name": "Сент-Мартин"
+ },
+ "RS": {
+ "name": "СербиÑ"
+ },
+ "EA": {
+ "name": "Сеута жана Мелилла"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт Маартен"
+ },
+ "SY": {
+ "name": "СириÑ"
+ },
+ "SK": {
+ "name": "СловакиÑ"
+ },
+ "SI": {
+ "name": "СловениÑ"
+ },
+ "SB": {
+ "name": "Соломон аралдары"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринаме"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "TJ": {
+ "name": "ТажикÑтан"
+ },
+ "TH": {
+ "name": "Таиланд"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TZ": {
+ "name": "ТанзаниÑ"
+ },
+ "TL": {
+ "name": "Тимор-ЛеÑте"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад жана Тобаго"
+ },
+ "TA": {
+ "name": "ТриÑтан да КуньÑ"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "KP": {
+ "name": "Түндүк КореÑ"
+ },
+ "MP": {
+ "name": "Түндүк Мариана аралдары"
+ },
+ "TR": {
+ "name": "ТүркиÑ"
+ },
+ "TM": {
+ "name": "ТүркмөнÑтан"
+ },
+ "TC": {
+ "name": "Ð¢Ò¯Ñ€ÐºÑ Ð¶Ð°Ð½Ð° ÐšÐ°Ð¹ÐºÐ¾Ñ Ð°Ñ€Ð°Ð»Ð´Ð°Ñ€Ñ‹"
+ },
+ "ZA": {
+ "name": "Түштүк Ðфрика РеÑпубликаÑÑ‹"
+ },
+ "GS": {
+ "name": "Түштүк Ð–Ð¾Ñ€Ð¶Ð¸Ñ Ð¶Ð°Ð½Ð° Түштүк СÑндвич аралдары"
+ },
+ "KR": {
+ "name": "Түштүк КореÑ"
+ },
+ "SS": {
+ "name": "Түштүк Судан"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "GB": {
+ "name": "Улуу БританиÑ"
+ },
+ "WF": {
+ "name": "Ð£Ð¾Ð»Ð»Ð¸Ñ Ð¶Ð°Ð½Ð° Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "Фарер аралдары"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филлипин"
+ },
+ "FI": {
+ "name": "ФинлÑндиÑ"
+ },
+ "FK": {
+ "name": "ФолклÑнд аралдары"
+ },
+ "FR": {
+ "name": "ФранциÑ"
+ },
+ "TF": {
+ "name": "ФранциÑнын Түштүктөгү аймактары"
+ },
+ "PF": {
+ "name": "Француз ПолинезиÑÑÑ‹"
+ },
+ "HR": {
+ "name": "ХорватиÑ"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "ЧерногориÑ"
+ },
+ "CZ": {
+ "name": "ЧехиÑ"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "ШвейцариÑ"
+ },
+ "SE": {
+ "name": "ШвециÑ"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "SH": {
+ "name": "Ыйык Елена"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваториалдык ГвинеÑ"
+ },
+ "SV": {
+ "name": "Эл Салвадор"
+ },
+ "ER": {
+ "name": "ЭритреÑ"
+ },
+ "EE": {
+ "name": "ЭÑтониÑ"
+ },
+ "ET": {
+ "name": "ЭфиопиÑ"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "ЯпониÑ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/lag.json b/library/intl/resources/country/lag.json
new file mode 100644
index 000000000..ad82eee91
--- /dev/null
+++ b/library/intl/resources/country/lag.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afɨrɨka ya Saame"
+ },
+ "AF": {
+ "name": "Afuganisitáani"
+ },
+ "IS": {
+ "name": "Aisiláandi"
+ },
+ "AR": {
+ "name": "Ajentíina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "DZ": {
+ "name": "Alijéria"
+ },
+ "AL": {
+ "name": "Alubánia"
+ },
+ "US": {
+ "name": "Amerɨka"
+ },
+ "AD": {
+ "name": "Andóra"
+ },
+ "AO": {
+ "name": "Angóola"
+ },
+ "AI": {
+ "name": "Anguíila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigúua na Baribúuda"
+ },
+ "AM": {
+ "name": "Ariménia"
+ },
+ "AW": {
+ "name": "Arúuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Ausiteréelia"
+ },
+ "AT": {
+ "name": "Ãusitiria"
+ },
+ "IE": {
+ "name": "Ayaláandi"
+ },
+ "AZ": {
+ "name": "Azabajáani"
+ },
+ "BB": {
+ "name": "Babadóosi"
+ },
+ "BS": {
+ "name": "Baháama"
+ },
+ "BH": {
+ "name": "Baharéeni"
+ },
+ "BD": {
+ "name": "Bangaladéeshi"
+ },
+ "BY": {
+ "name": "Belarúusi"
+ },
+ "BZ": {
+ "name": "Belíise"
+ },
+ "BJ": {
+ "name": "Beníini"
+ },
+ "BM": {
+ "name": "Berimúuda"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósinia"
+ },
+ "BW": {
+ "name": "Botiswáana"
+ },
+ "BR": {
+ "name": "Brasíili"
+ },
+ "MG": {
+ "name": "Bukíini"
+ },
+ "BF": {
+ "name": "Bukinafáaso"
+ },
+ "BG": {
+ "name": "Buligaría"
+ },
+ "BN": {
+ "name": "Burunéei"
+ },
+ "BI": {
+ "name": "Burúundi"
+ },
+ "BT": {
+ "name": "Butáani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Cháadi"
+ },
+ "CL": {
+ "name": "Chíile"
+ },
+ "CN": {
+ "name": "Chíina"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denimaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Domínɨka"
+ },
+ "SV": {
+ "name": "Elisalivado"
+ },
+ "ER": {
+ "name": "Eriterea"
+ },
+ "EE": {
+ "name": "Estonía"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fíiji"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GH": {
+ "name": "Gáana"
+ },
+ "GA": {
+ "name": "Gabóoni"
+ },
+ "GM": {
+ "name": "Gámbia"
+ },
+ "GN": {
+ "name": "Gíine"
+ },
+ "GW": {
+ "name": "Gíine Bisáau"
+ },
+ "GQ": {
+ "name": "Gíine Ikwéeta"
+ },
+ "GD": {
+ "name": "Girenáada"
+ },
+ "GL": {
+ "name": "Giriniláandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyáana"
+ },
+ "GP": {
+ "name": "Gwadelúupe"
+ },
+ "GU": {
+ "name": "Gwani"
+ },
+ "GT": {
+ "name": "Gwatemáala"
+ },
+ "GF": {
+ "name": "Gwiyáana yʉ Ʉfaráansa"
+ },
+ "HT": {
+ "name": "Haíiti"
+ },
+ "ES": {
+ "name": "Hisipánia"
+ },
+ "HN": {
+ "name": "Honduráasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungária"
+ },
+ "EC": {
+ "name": "Ãkwado"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IQ": {
+ "name": "Iráaki"
+ },
+ "IL": {
+ "name": "Isiraéeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "CI": {
+ "name": "Ivori Kositi"
+ },
+ "IO": {
+ "name": "Ɨsɨ yʉ Ʉɨngeréesa irivii ra Híindi"
+ },
+ "JM": {
+ "name": "Jamáika"
+ },
+ "CZ": {
+ "name": "Jamuhúuri ya Chéeki"
+ },
+ "DO": {
+ "name": "Jamuhúuri ya Dominɨka"
+ },
+ "CD": {
+ "name": "Jamuhúuri ya Kɨdemokurasía ya Kóongo"
+ },
+ "JP": {
+ "name": "Japáani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jiburálita"
+ },
+ "DJ": {
+ "name": "Jibúuti"
+ },
+ "JO": {
+ "name": "Jódani"
+ },
+ "GE": {
+ "name": "Jójia"
+ },
+ "CF": {
+ "name": "Juhúuri ya Afɨrɨka ya katɨ katɨ"
+ },
+ "NC": {
+ "name": "Kaledónia Ifya"
+ },
+ "KH": {
+ "name": "Kambódia"
+ },
+ "CM": {
+ "name": "Kamerúuni"
+ },
+ "CA": {
+ "name": "Kánada"
+ },
+ "QA": {
+ "name": "Katáari"
+ },
+ "KZ": {
+ "name": "Kazakasitáani"
+ },
+ "KE": {
+ "name": "Kéenya"
+ },
+ "CV": {
+ "name": "Kepuvéede"
+ },
+ "KI": {
+ "name": "Kiribáati"
+ },
+ "KG": {
+ "name": "Kirigisitáani"
+ },
+ "NF": {
+ "name": "Kisíiwa cha Nofifóoki"
+ },
+ "CO": {
+ "name": "Kolómbia"
+ },
+ "KM": {
+ "name": "Komóoro"
+ },
+ "CG": {
+ "name": "Kóongo"
+ },
+ "KR": {
+ "name": "Koréa ya Saame"
+ },
+ "KP": {
+ "name": "Koréa yʉ ʉtʉrʉko"
+ },
+ "HR": {
+ "name": "Koréshia"
+ },
+ "CR": {
+ "name": "Kósita RɨÌɨka"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CY": {
+ "name": "Kupuróosi"
+ },
+ "KW": {
+ "name": "Kʉwáiti"
+ },
+ "CU": {
+ "name": "Kyúuba"
+ },
+ "LA": {
+ "name": "Laóosi"
+ },
+ "LU": {
+ "name": "Lasembáagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanóoni"
+ },
+ "LS": {
+ "name": "Lesóoto"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LR": {
+ "name": "Liibéria"
+ },
+ "LI": {
+ "name": "Lishentéeni"
+ },
+ "LT": {
+ "name": "Lisuánia"
+ },
+ "ML": {
+ "name": "Máali"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Maláawi"
+ },
+ "MY": {
+ "name": "Maleísia"
+ },
+ "MT": {
+ "name": "Málita"
+ },
+ "MQ": {
+ "name": "Maritiníiki"
+ },
+ "MK": {
+ "name": "Masedónia"
+ },
+ "YT": {
+ "name": "Mayóote"
+ },
+ "MX": {
+ "name": "Mekisiko"
+ },
+ "MM": {
+ "name": "Miáama"
+ },
+ "FM": {
+ "name": "Mikironésia"
+ },
+ "EG": {
+ "name": "Mísiri"
+ },
+ "MV": {
+ "name": "Modíivu"
+ },
+ "MD": {
+ "name": "Molidóova"
+ },
+ "MC": {
+ "name": "Monáako"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Monteráati"
+ },
+ "MU": {
+ "name": "Moríisi"
+ },
+ "MR": {
+ "name": "Moritánia"
+ },
+ "MA": {
+ "name": "Moróoko"
+ },
+ "MZ": {
+ "name": "Musumbíiji"
+ },
+ "SH": {
+ "name": "Mʉtakatíifu Heléena"
+ },
+ "KN": {
+ "name": "Mʉtakatíifu kitisi na Nevíisi"
+ },
+ "LC": {
+ "name": "Mʉtakatíifu Lusíia"
+ },
+ "PM": {
+ "name": "Mʉtakatíifu Peéteri na Mɨkaéeli"
+ },
+ "VC": {
+ "name": "Mʉtakatíifu Viséenti na Gernadíini"
+ },
+ "PS": {
+ "name": "Mweemberera wa kʉmweeri wa Gáaza"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Naúuru"
+ },
+ "NP": {
+ "name": "Nepáali"
+ },
+ "NE": {
+ "name": "Níija"
+ },
+ "NG": {
+ "name": "Niijéria"
+ },
+ "NI": {
+ "name": "Nikarágʉa"
+ },
+ "NU": {
+ "name": "Niúue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NZ": {
+ "name": "Nyuzílandi"
+ },
+ "OM": {
+ "name": "Ómani"
+ },
+ "PK": {
+ "name": "Pakisitáani"
+ },
+ "PW": {
+ "name": "Paláau"
+ },
+ "PA": {
+ "name": "Panáama"
+ },
+ "PG": {
+ "name": "Papúua"
+ },
+ "PY": {
+ "name": "Paraguáai"
+ },
+ "PN": {
+ "name": "Patikaírini"
+ },
+ "PE": {
+ "name": "Péeru"
+ },
+ "PL": {
+ "name": "Pólandi"
+ },
+ "PF": {
+ "name": "Polinésia yʉ Ʉfaráansa"
+ },
+ "PR": {
+ "name": "PwetorɨÌɨko"
+ },
+ "RE": {
+ "name": "Reyunióoni"
+ },
+ "RO": {
+ "name": "Romaníia"
+ },
+ "RW": {
+ "name": "Rwáanda"
+ },
+ "SM": {
+ "name": "Samaríino"
+ },
+ "ZM": {
+ "name": "Sámbia"
+ },
+ "WS": {
+ "name": "Samóoa"
+ },
+ "AS": {
+ "name": "Samóoa ya AmerɨÌka"
+ },
+ "ST": {
+ "name": "Sao Tóome na Pirinsipe"
+ },
+ "SA": {
+ "name": "Saudíia Arabíia"
+ },
+ "SN": {
+ "name": "Senegáali"
+ },
+ "SL": {
+ "name": "Seraleóoni"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelishéeli"
+ },
+ "ZW": {
+ "name": "Simbáabwe"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "LK": {
+ "name": "Siriláanka"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudáani"
+ },
+ "SK": {
+ "name": "Sulováakia"
+ },
+ "SI": {
+ "name": "Sulovénia"
+ },
+ "SR": {
+ "name": "Surináamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TZ": {
+ "name": "Taansanía"
+ },
+ "TH": {
+ "name": "Táilandi"
+ },
+ "TW": {
+ "name": "Taiwáani"
+ },
+ "TJ": {
+ "name": "Tajikisitáani"
+ },
+ "TL": {
+ "name": "Timóori yi Itʉʉmba"
+ },
+ "TT": {
+ "name": "Tiriníida ya Tobáago"
+ },
+ "TK": {
+ "name": "Tokeláau"
+ },
+ "TG": {
+ "name": "Tóogo"
+ },
+ "TO": {
+ "name": "Tóonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TV": {
+ "name": "Tuváalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "FI": {
+ "name": "Ufíini"
+ },
+ "PH": {
+ "name": "Ufilipíino"
+ },
+ "GR": {
+ "name": "Ugiríki"
+ },
+ "UY": {
+ "name": "Uruguáai"
+ },
+ "RU": {
+ "name": "Urúusi"
+ },
+ "UZ": {
+ "name": "Usibekisitáani"
+ },
+ "SE": {
+ "name": "Uswíidi"
+ },
+ "CH": {
+ "name": "Uswíisi"
+ },
+ "TM": {
+ "name": "Uturukimenisitáani"
+ },
+ "TR": {
+ "name": "Uturúuki"
+ },
+ "IR": {
+ "name": "Ʉajéemi"
+ },
+ "BE": {
+ "name": "Ʉbeligíiji"
+ },
+ "FR": {
+ "name": "Ʉfaráansa"
+ },
+ "UG": {
+ "name": "Ʉgáanda"
+ },
+ "ET": {
+ "name": "Ʉhabéeshi"
+ },
+ "NL": {
+ "name": "Ʉholáanzi"
+ },
+ "GB": {
+ "name": "Ʉɨngeréesa"
+ },
+ "DE": {
+ "name": "Ʉjerumáani"
+ },
+ "UA": {
+ "name": "Ʉkɨréeni"
+ },
+ "PT": {
+ "name": "Ʉréeno"
+ },
+ "SZ": {
+ "name": "Ʉswáazi"
+ },
+ "AE": {
+ "name": "Ʉtemi wa Kɨaráabu"
+ },
+ "VU": {
+ "name": "Vanuáatu"
+ },
+ "VA": {
+ "name": "Vatikáani"
+ },
+ "VE": {
+ "name": "Venezuéela"
+ },
+ "VN": {
+ "name": "Vietináamu"
+ },
+ "FK": {
+ "name": "Visíiwa vya Fakulandi"
+ },
+ "KY": {
+ "name": "Visíiwa vya Kayimani"
+ },
+ "CK": {
+ "name": "Visíiwa vya Kúuku"
+ },
+ "MH": {
+ "name": "Visíiwa vya Marisháali"
+ },
+ "SB": {
+ "name": "Visíiwa vya Solomóoni"
+ },
+ "TC": {
+ "name": "Visíiwa vya Turíiki na Kaíiko"
+ },
+ "VI": {
+ "name": "Visíiwa vya Vigíini vya AmerɨÌka"
+ },
+ "VG": {
+ "name": "Visíiwa vya Vigíini vya Ʉɨngeréesa"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "WF": {
+ "name": "Walíisi na Futúuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yémeni"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/lb.json b/library/intl/resources/country/lb.json
new file mode 100644
index 000000000..b073e04f6
--- /dev/null
+++ b/library/intl/resources/country/lb.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…landinselen"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algerien"
+ },
+ "VI": {
+ "name": "Amerikanesch Joffereninselen"
+ },
+ "UM": {
+ "name": "Amerikanesch-Ozeanien"
+ },
+ "AS": {
+ "name": "Amerikanesch-Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "AR": {
+ "name": "Argentinien"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaidschan"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BE": {
+ "name": "Belsch"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivien"
+ },
+ "BA": {
+ "name": "Bosnien an Herzegowina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "VG": {
+ "name": "Britesch Joffereninselen"
+ },
+ "IO": {
+ "name": "Britescht Territorium am Indeschen Ozean"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Chrëschtdagsinsel"
+ },
+ "CK": {
+ "name": "Cookinselen"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DE": {
+ "name": "Däitschland"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikanesch Republik"
+ },
+ "DJ": {
+ "name": "Dschibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypten"
+ },
+ "AT": {
+ "name": "Éisträich"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfebeeküst"
+ },
+ "GQ": {
+ "name": "Equatorialguinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Ethiopien"
+ },
+ "FK": {
+ "name": "Falklandinselen"
+ },
+ "FO": {
+ "name": "Färöer"
+ },
+ "FJ": {
+ "name": "Fidschi"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "Frankräich"
+ },
+ "TF": {
+ "name": "Franséisch Süd- an Antarktisgebidder"
+ },
+ "PF": {
+ "name": "Franséisch-Polynesien"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griicheland"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GB": {
+ "name": "Groussbritannien"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GF": {
+ "name": "Guayane"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holland"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanien"
+ },
+ "KY": {
+ "name": "Kaimaninselen"
+ },
+ "KH": {
+ "name": "Kambodscha"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanaresch Inselen"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibescht Holland"
+ },
+ "KZ": {
+ "name": "Kasachstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosinselen"
+ },
+ "CO": {
+ "name": "Kolumbien"
+ },
+ "KM": {
+ "name": "Komoren"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LU": {
+ "name": "Lëtzebuerg"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldiven"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallinselen"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MK": {
+ "name": "Mazedonien"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesien"
+ },
+ "MD": {
+ "name": "Moldawien"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NC": {
+ "name": "Neikaledonien"
+ },
+ "NZ": {
+ "name": "Neiséiland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "MP": {
+ "name": "Nërdlech Marianen"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "NF": {
+ "name": "Norfolkinsel"
+ },
+ "NO": {
+ "name": "Norwegen"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TL": {
+ "name": "Osttimor"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinensesch Autonomiegebidder"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Neiguinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippinnen"
+ },
+ "PN": {
+ "name": "Pitcairninselen"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumänien"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "SB": {
+ "name": "Salomonen"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé a Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabien"
+ },
+ "CH": {
+ "name": "Schwäiz"
+ },
+ "SE": {
+ "name": "Schweden"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakei"
+ },
+ "SI": {
+ "name": "Slowenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "HK": {
+ "name": "Spezialverwaltungszon Hong Kong"
+ },
+ "MO": {
+ "name": "Spezialverwaltungszon Macau"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts an Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre a Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent an d’Grenadinnen"
+ },
+ "ZA": {
+ "name": "Südafrika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "GS": {
+ "name": "Südgeorgien an déi Südlech Sandwichinselen"
+ },
+ "KR": {
+ "name": "Südkorea"
+ },
+ "SS": {
+ "name": "Südsudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard a Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadschikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TR": {
+ "name": "Tierkei"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad an Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "CZ": {
+ "name": "Tschechien"
+ },
+ "TN": {
+ "name": "Tunesien"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- a Caicosinselen"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrain"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstad"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereenegt Arabesch Emirater"
+ },
+ "US": {
+ "name": "Vereenegt Staate vun Amerika"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "BY": {
+ "name": "Wäissrussland"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "EH": {
+ "name": "Westsahara"
+ },
+ "CF": {
+ "name": "Zentralafrikanesch Republik"
+ },
+ "CY": {
+ "name": "Zypern"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/lg.json b/library/intl/resources/country/lg.json
new file mode 100644
index 000000000..d2cf82dc0
--- /dev/null
+++ b/library/intl/resources/country/lg.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afaganisitani"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Alibaniya"
+ },
+ "DZ": {
+ "name": "Aligerya"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angwila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigwa ne Barabuda"
+ },
+ "AM": {
+ "name": "Arameniya"
+ },
+ "AR": {
+ "name": "Arigentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Awusitureliya"
+ },
+ "AT": {
+ "name": "Awusituriya"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "IS": {
+ "name": "Ayisirandi"
+ },
+ "AZ": {
+ "name": "Azerebayijaani"
+ },
+ "BH": {
+ "name": "Baareeni"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "BD": {
+ "name": "Bangaladesi"
+ },
+ "BB": {
+ "name": "Barabadosi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Beremuda"
+ },
+ "SB": {
+ "name": "Bizanga by’eSolomooni"
+ },
+ "CV": {
+ "name": "Bizinga by’e Kepu Veredi"
+ },
+ "IO": {
+ "name": "Bizinga by’eCago"
+ },
+ "FK": {
+ "name": "Bizinga by’eFalikalandi"
+ },
+ "KM": {
+ "name": "Bizinga by’eKomoro"
+ },
+ "MV": {
+ "name": "Bizinga by’eMalidive"
+ },
+ "TC": {
+ "name": "Bizinga by’eTaaka ne Kayikosi"
+ },
+ "PH": {
+ "name": "Bizinga bya Firipino"
+ },
+ "CK": {
+ "name": "Bizinga bya Kkuki"
+ },
+ "MH": {
+ "name": "Bizinga bya Mariso"
+ },
+ "MP": {
+ "name": "Bizinga bya Mariyana eby’omumambuka"
+ },
+ "VI": {
+ "name": "Bizinga bya Virigini eby’Amerika"
+ },
+ "KY": {
+ "name": "Bizinga ebya Kayimaani"
+ },
+ "VG": {
+ "name": "Bizinga ebya Virigini ebitwalibwa Bungereza"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BW": {
+ "name": "Botiswana"
+ },
+ "BA": {
+ "name": "Boziniya Hezegovina"
+ },
+ "BE": {
+ "name": "Bubirigi"
+ },
+ "DE": {
+ "name": "Budaaki"
+ },
+ "FR": {
+ "name": "Bufalansa"
+ },
+ "GR": {
+ "name": "Bugereeki\/Buyonaani"
+ },
+ "BG": {
+ "name": "Bulugariya"
+ },
+ "GB": {
+ "name": "Bungereza"
+ },
+ "BR": {
+ "name": "Buraziiri"
+ },
+ "BF": {
+ "name": "Burukina Faso"
+ },
+ "BN": {
+ "name": "Burunayi"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butaani"
+ },
+ "IN": {
+ "name": "Buyindi"
+ },
+ "TD": {
+ "name": "Caadi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CN": {
+ "name": "Cayina"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cile"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denimaaka"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "El salivado"
+ },
+ "AE": {
+ "name": "Emireeti"
+ },
+ "ER": {
+ "name": "Eritureya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "ET": {
+ "name": "Esyopya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finilandi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GY": {
+ "name": "Gayana"
+ },
+ "GQ": {
+ "name": "Gayana ey’oku ekweta"
+ },
+ "GI": {
+ "name": "Giburalita"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini-Bisawu"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GD": {
+ "name": "Gurenada"
+ },
+ "GL": {
+ "name": "Gurenelandi"
+ },
+ "GF": {
+ "name": "Guyana enfalansa"
+ },
+ "GP": {
+ "name": "Gwadalupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GE": {
+ "name": "Gyogya"
+ },
+ "HU": {
+ "name": "Hangare"
+ },
+ "HT": {
+ "name": "Hayiti"
+ },
+ "NL": {
+ "name": "Holandi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hundurasi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JM": {
+ "name": "Jamayika"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jjibuti"
+ },
+ "NC": {
+ "name": "Kaledonya mupya"
+ },
+ "KH": {
+ "name": "Kambodya"
+ },
+ "CM": {
+ "name": "Kameruuni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kataa"
+ },
+ "KZ": {
+ "name": "Kazakisitaani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizisitaani"
+ },
+ "NF": {
+ "name": "Kizinga ky’eNorofoko"
+ },
+ "CO": {
+ "name": "Kolombya"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo - Zayire"
+ },
+ "KP": {
+ "name": "Koreya ey’omumambuka"
+ },
+ "KR": {
+ "name": "Koreya ey’omumaserengeta"
+ },
+ "CR": {
+ "name": "Kosita Rika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CI": {
+ "name": "Kote Divwa"
+ },
+ "HR": {
+ "name": "Kurowesya"
+ },
+ "KW": {
+ "name": "Kuweti"
+ },
+ "RU": {
+ "name": "Lasa"
+ },
+ "LV": {
+ "name": "Lativya"
+ },
+ "LA": {
+ "name": "Lawosi"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoso"
+ },
+ "RE": {
+ "name": "Leyunyoni"
+ },
+ "LR": {
+ "name": "Liberya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Licitensitayini"
+ },
+ "CF": {
+ "name": "Lipubulika eya Senturafiriki"
+ },
+ "CZ": {
+ "name": "Lipubulika ya Ceeka"
+ },
+ "DO": {
+ "name": "Lipubulika ya Dominika"
+ },
+ "LT": {
+ "name": "Lisuwenya"
+ },
+ "RO": {
+ "name": "Lomaniya"
+ },
+ "LU": {
+ "name": "Lukisembaaga"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasika"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malezya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MQ": {
+ "name": "Maritiniiki"
+ },
+ "MK": {
+ "name": "Masedoniya"
+ },
+ "MU": {
+ "name": "Mawulisyasi"
+ },
+ "MR": {
+ "name": "Mawulitenya"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mekisiko"
+ },
+ "FM": {
+ "name": "Mikuronezya"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MD": {
+ "name": "Molodova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Monteseraati"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Mozambiiki"
+ },
+ "MM": {
+ "name": "Myanima"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nawuru"
+ },
+ "NG": {
+ "name": "Nayijerya"
+ },
+ "NP": {
+ "name": "Nepalo"
+ },
+ "NE": {
+ "name": "Nije"
+ },
+ "NI": {
+ "name": "Nikaraguwa"
+ },
+ "NU": {
+ "name": "Niyuwe"
+ },
+ "NZ": {
+ "name": "Niyuziirandi"
+ },
+ "NO": {
+ "name": "Nowe"
+ },
+ "OM": {
+ "name": "Omaani"
+ },
+ "PK": {
+ "name": "Pakisitaani"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PS": {
+ "name": "Palesitayini"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwa Nyugini"
+ },
+ "PY": {
+ "name": "Paragwayi"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitikeeni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesiya enfalansa"
+ },
+ "PR": {
+ "name": "Potoriko"
+ },
+ "PT": {
+ "name": "Potugaali"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa omumerika"
+ },
+ "SM": {
+ "name": "Sanimarino"
+ },
+ "ST": {
+ "name": "Sanitome ne Purincipe"
+ },
+ "SA": {
+ "name": "Sawudarebya - Buwarabu"
+ },
+ "ZA": {
+ "name": "Sawusafirika"
+ },
+ "SN": {
+ "name": "Senegaalo"
+ },
+ "SH": {
+ "name": "Senti Herena"
+ },
+ "KN": {
+ "name": "Senti Kitisi ne Nevisi"
+ },
+ "LC": {
+ "name": "Senti Luciya"
+ },
+ "PM": {
+ "name": "Senti Piyere ne Mikeloni"
+ },
+ "VC": {
+ "name": "Senti Vinsenti ne Gurendadiini"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sesere"
+ },
+ "SG": {
+ "name": "Singapowa"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Sipeyini"
+ },
+ "CY": {
+ "name": "Sipuriya"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SY": {
+ "name": "Siriya"
+ },
+ "SK": {
+ "name": "Sirovakya"
+ },
+ "SI": {
+ "name": "Sirovenya"
+ },
+ "SL": {
+ "name": "Siyeralewone"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaani"
+ },
+ "SR": {
+ "name": "Surinaamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazirandi"
+ },
+ "SE": {
+ "name": "Swideni"
+ },
+ "CH": {
+ "name": "Switizirandi"
+ },
+ "TJ": {
+ "name": "Tajikisitaani"
+ },
+ "TM": {
+ "name": "Takimenesitaani"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TH": {
+ "name": "Tayirandi"
+ },
+ "TW": {
+ "name": "Tayiwani"
+ },
+ "TL": {
+ "name": "Timowa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TR": {
+ "name": "Ttake"
+ },
+ "TN": {
+ "name": "Tunisya"
+ },
+ "TT": {
+ "name": "Turindaadi ne Tobago"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VU": {
+ "name": "Vanawuwatu"
+ },
+ "VA": {
+ "name": "Vatikaani"
+ },
+ "VE": {
+ "name": "Venzwera"
+ },
+ "VN": {
+ "name": "Vyetinaamu"
+ },
+ "WF": {
+ "name": "Walisi ne Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "UY": {
+ "name": "Wurugwayi"
+ },
+ "UZ": {
+ "name": "Wuzibekisitaani"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "ID": {
+ "name": "Yindonezya"
+ },
+ "IQ": {
+ "name": "Yiraaka"
+ },
+ "IR": {
+ "name": "Yiraani"
+ },
+ "IL": {
+ "name": "Yisirayeri"
+ },
+ "IT": {
+ "name": "Yitale"
+ },
+ "JO": {
+ "name": "Yorodani"
+ },
+ "UG": {
+ "name": "Yuganda"
+ },
+ "UA": {
+ "name": "Yukurayine"
+ },
+ "ZM": {
+ "name": "Zambya"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ln.json b/library/intl/resources/country/ln.json
new file mode 100644
index 000000000..4918e72a4
--- /dev/null
+++ b/library/intl/resources/country/ln.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afiganisitá"
+ },
+ "ZA": {
+ "name": "Afríka ya Súdi"
+ },
+ "SA": {
+ "name": "Alabi SawuditÉ›"
+ },
+ "DE": {
+ "name": "Alemani"
+ },
+ "AL": {
+ "name": "Alibani"
+ },
+ "DZ": {
+ "name": "Alizɛri"
+ },
+ "US": {
+ "name": "Ameriki"
+ },
+ "AM": {
+ "name": "Amɛni"
+ },
+ "AD": {
+ "name": "AndorÉ›"
+ },
+ "GB": {
+ "name": "AngÉ›lÉ›tÉ›ÌlÉ›"
+ },
+ "AI": {
+ "name": "AngiyÉ›"
+ },
+ "AO": {
+ "name": "Angóla"
+ },
+ "AQ": {
+ "name": "Antarctique"
+ },
+ "AG": {
+ "name": "Antiga mpé Barbuda"
+ },
+ "AR": {
+ "name": "ArizantinÉ›"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "HT": {
+ "name": "Ayiti"
+ },
+ "AZ": {
+ "name": "Azɛlɛbaizá"
+ },
+ "BS": {
+ "name": "BahamasÉ›"
+ },
+ "BH": {
+ "name": "Bahrɛnɛ"
+ },
+ "BB": {
+ "name": "Barɛbadɛ"
+ },
+ "BE": {
+ "name": "Beleziki"
+ },
+ "BZ": {
+ "name": "BelizÉ›"
+ },
+ "BJ": {
+ "name": "BenÉ›"
+ },
+ "BD": {
+ "name": "Bengalidɛsi"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BG": {
+ "name": "Biligari"
+ },
+ "MM": {
+ "name": "Birmanie"
+ },
+ "IC": {
+ "name": "Bisanga bya Kanári"
+ },
+ "CV": {
+ "name": "Bisanga bya Kapevɛrɛ"
+ },
+ "KY": {
+ "name": "Bisanga bya Kayíma"
+ },
+ "CK": {
+ "name": "Bisanga bya KookÉ›"
+ },
+ "FK": {
+ "name": "Bisanga bya Maluni"
+ },
+ "MP": {
+ "name": "Bisanga bya MarianÉ› ya nÉ”Ìrdi"
+ },
+ "MH": {
+ "name": "Bisanga bya MarishalÉ›"
+ },
+ "TC": {
+ "name": "Bisanga bya Turki mpé Kaiko"
+ },
+ "VI": {
+ "name": "Bisanga bya Vierzi ya Ameriki"
+ },
+ "VG": {
+ "name": "Bisanga bya Vierzi ya AngÉ›lÉ›tÉ›ÌlÉ›"
+ },
+ "AX": {
+ "name": "Bisanga Æland"
+ },
+ "CC": {
+ "name": "Bisanga Kokos"
+ },
+ "SB": {
+ "name": "Bisanga SolomÉ”"
+ },
+ "FO": {
+ "name": "Bisanga ya Fɛróa"
+ },
+ "BO": {
+ "name": "Bolivi"
+ },
+ "BA": {
+ "name": "Bosini mpé Hezegovine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brezílɛ"
+ },
+ "BN": {
+ "name": "Brineyi"
+ },
+ "BF": {
+ "name": "Bukina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butáni"
+ },
+ "BY": {
+ "name": "Byelorisi"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danɛmarike"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Domínike"
+ },
+ "DJ": {
+ "name": "Dzibuti"
+ },
+ "EC": {
+ "name": "EkwatÉ›ÌlÉ›"
+ },
+ "ER": {
+ "name": "ElitelÉ›"
+ },
+ "NF": {
+ "name": "Esanga NorfokÉ›"
+ },
+ "IM": {
+ "name": "Esanga ya Man"
+ },
+ "CX": {
+ "name": "Esenga ya Mbótama"
+ },
+ "AC": {
+ "name": "Esenga ya Mbuta o likoló"
+ },
+ "ES": {
+ "name": "Esipanye"
+ },
+ "EE": {
+ "name": "Esitoni"
+ },
+ "ET": {
+ "name": "Etsíopi"
+ },
+ "EG": {
+ "name": "Ezípite"
+ },
+ "FR": {
+ "name": "Falánsɛ"
+ },
+ "FJ": {
+ "name": "Fidzi"
+ },
+ "FI": {
+ "name": "FilandÉ›"
+ },
+ "PH": {
+ "name": "FilipinÉ›"
+ },
+ "GA": {
+ "name": "GabÉ”"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GR": {
+ "name": "Geleki"
+ },
+ "GD": {
+ "name": "GelenadÉ›"
+ },
+ "GN": {
+ "name": "GinÉ›"
+ },
+ "GW": {
+ "name": "Ginɛbisau"
+ },
+ "GQ": {
+ "name": "GinÉ›ÌkwatÉ›ÌlÉ›"
+ },
+ "GY": {
+ "name": "Giyane"
+ },
+ "GF": {
+ "name": "Giyanɛ ya Falánsɛ"
+ },
+ "GL": {
+ "name": "Gowelande"
+ },
+ "GG": {
+ "name": "Guernesey"
+ },
+ "GP": {
+ "name": "Gwadɛlupɛ"
+ },
+ "GU": {
+ "name": "GwamÉ›"
+ },
+ "GT": {
+ "name": "Gwatémala"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "UA": {
+ "name": "Ikrɛni"
+ },
+ "GS": {
+ "name": "Îles de Géorgie du Sud et Sandwich du Sud"
+ },
+ "IN": {
+ "name": "ÃndÉ›"
+ },
+ "ID": {
+ "name": "Indonezi"
+ },
+ "IR": {
+ "name": "Irâ"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IE": {
+ "name": "IrelandÉ›"
+ },
+ "UY": {
+ "name": "Irigwei"
+ },
+ "IS": {
+ "name": "IsilandÉ›"
+ },
+ "IL": {
+ "name": "IsirayelÉ›"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "NC": {
+ "name": "Kaledoni ya sika"
+ },
+ "KH": {
+ "name": "Kambodza"
+ },
+ "CM": {
+ "name": "Kamɛrune"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakisitá"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CU": {
+ "name": "Kiba"
+ },
+ "KG": {
+ "name": "Kigizisitá"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "KomorÉ›"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KP": {
+ "name": "KorÉ› ya nÉ”Ìrdi"
+ },
+ "KR": {
+ "name": "Korɛ ya súdi"
+ },
+ "CR": {
+ "name": "Kositarika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CI": {
+ "name": "Kotídivualɛ"
+ },
+ "KW": {
+ "name": "Koweti"
+ },
+ "HR": {
+ "name": "Krowasi"
+ },
+ "LA": {
+ "name": "Lawosi"
+ },
+ "RE": {
+ "name": "Lenyo"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "AE": {
+ "name": "Lɛmila alabo"
+ },
+ "LB": {
+ "name": "Libá"
+ },
+ "LR": {
+ "name": "Libériya"
+ },
+ "LY": {
+ "name": "Libí"
+ },
+ "LU": {
+ "name": "Likisambulu"
+ },
+ "LI": {
+ "name": "Lishɛteni"
+ },
+ "LT": {
+ "name": "Litwani"
+ },
+ "IO": {
+ "name": "Mabelé ya AngÉ›lÉ›tÉ›ÌlÉ› na mbú ya Indiya"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasikari"
+ },
+ "MV": {
+ "name": "Madívɛ"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malezi"
+ },
+ "ML": {
+ "name": "Malí"
+ },
+ "MT": {
+ "name": "MalitÉ›"
+ },
+ "MA": {
+ "name": "MarokÉ›"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "MasedwanÉ›"
+ },
+ "YT": {
+ "name": "MayotÉ›"
+ },
+ "MX": {
+ "name": "Meksike"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "MD": {
+ "name": "Molidavi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolí"
+ },
+ "ME": {
+ "name": "Monténégro"
+ },
+ "MU": {
+ "name": "MorisÉ›"
+ },
+ "MR": {
+ "name": "Moritani"
+ },
+ "MS": {
+ "name": "Mɔsera"
+ },
+ "MZ": {
+ "name": "Mozambíki"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepálɛ"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NG": {
+ "name": "Nizerya"
+ },
+ "NE": {
+ "name": "Nizɛrɛ"
+ },
+ "NO": {
+ "name": "NorivezÉ›"
+ },
+ "NU": {
+ "name": "Nyué"
+ },
+ "NL": {
+ "name": "OlandÉ›"
+ },
+ "OM": {
+ "name": "Ománɛ"
+ },
+ "HN": {
+ "name": "OndurasÉ›"
+ },
+ "HU": {
+ "name": "Ongili"
+ },
+ "AU": {
+ "name": "Ositáli"
+ },
+ "AT": {
+ "name": "Otilisi"
+ },
+ "PK": {
+ "name": "Pakisitá"
+ },
+ "PY": {
+ "name": "Palagwei"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palɛsine"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwazi GinÉ› ya sika"
+ },
+ "PE": {
+ "name": "Péru"
+ },
+ "PN": {
+ "name": "Pikairni"
+ },
+ "PF": {
+ "name": "Polinezi ya Falánsɛ"
+ },
+ "PL": {
+ "name": "Poloni"
+ },
+ "PR": {
+ "name": "Pɔtoriko"
+ },
+ "PT": {
+ "name": "Putúlugɛsi"
+ },
+ "CD": {
+ "name": "Repibiki demokratiki ya Kongó"
+ },
+ "CZ": {
+ "name": "Repibiki TsekÉ›"
+ },
+ "CF": {
+ "name": "Repibiki ya Afríka ya Káti"
+ },
+ "DO": {
+ "name": "Repibiki ya Domínikɛ"
+ },
+ "RU": {
+ "name": "Risí"
+ },
+ "RO": {
+ "name": "Romani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara ya LimbÉ›"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Ameriki"
+ },
+ "SH": {
+ "name": "Sántu eleni"
+ },
+ "KN": {
+ "name": "Sántu krístofe mpé Nevɛ̀s"
+ },
+ "LC": {
+ "name": "Sántu lisi"
+ },
+ "SM": {
+ "name": "Sántu Marinɛ"
+ },
+ "PM": {
+ "name": "Sántu pététo mpé Mikelɔ"
+ },
+ "VC": {
+ "name": "Sántu vesá mpé Gelenadinɛ"
+ },
+ "ST": {
+ "name": "Sao Tomé mpé Presipɛ"
+ },
+ "SV": {
+ "name": "Savadɔrɛ"
+ },
+ "SN": {
+ "name": "SenegalÉ›"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SC": {
+ "name": "Sɛshɛlɛ"
+ },
+ "SL": {
+ "name": "Siera LeonÉ›"
+ },
+ "CL": {
+ "name": "Síli"
+ },
+ "SK": {
+ "name": "Silovaki"
+ },
+ "SI": {
+ "name": "Siloveni"
+ },
+ "CN": {
+ "name": "SinÉ›"
+ },
+ "SG": {
+ "name": "SingapurÉ›"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Sípɛlɛ"
+ },
+ "SY": {
+ "name": "Sirí"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudá"
+ },
+ "SS": {
+ "name": "Sudani ya Sidi"
+ },
+ "SR": {
+ "name": "SurinamÉ›"
+ },
+ "SJ": {
+ "name": "Svalbard mpé Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "SE": {
+ "name": "Swédɛ"
+ },
+ "CH": {
+ "name": "SwisÉ›"
+ },
+ "TH": {
+ "name": "TailandÉ›"
+ },
+ "TW": {
+ "name": "Taiwanin"
+ },
+ "TZ": {
+ "name": "Tanzani"
+ },
+ "TJ": {
+ "name": "Tazikisitá"
+ },
+ "TF": {
+ "name": "Terres australes et antarctiques françaises"
+ },
+ "TM": {
+ "name": "Tikɛménisitá"
+ },
+ "TR": {
+ "name": "Tiliki"
+ },
+ "TL": {
+ "name": "Timorɛ ya Moniɛlɛ"
+ },
+ "TT": {
+ "name": "Tinidadɛ mpé Tobago"
+ },
+ "TN": {
+ "name": "Tinizi"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsádi"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UZ": {
+ "name": "Uzibɛkisitá"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatiká"
+ },
+ "VE": {
+ "name": "Venézuela"
+ },
+ "VN": {
+ "name": "ViyetinamÉ›"
+ },
+ "WF": {
+ "name": "Walisɛ mpé Futuna"
+ },
+ "YE": {
+ "name": "Yemɛnɛ"
+ },
+ "JM": {
+ "name": "Zamaiki"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "JP": {
+ "name": "ZapÉ”"
+ },
+ "NZ": {
+ "name": "ZelandÉ› ya sika"
+ },
+ "EA": {
+ "name": "Zewta mpé Melílla"
+ },
+ "GI": {
+ "name": "ZibatalÉ›"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "JO": {
+ "name": "Zɔdani"
+ },
+ "GE": {
+ "name": "Zorzi"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/lo.json b/library/intl/resources/country/lo.json
new file mode 100644
index 000000000..e0dc93bb9
--- /dev/null
+++ b/library/intl/resources/country/lo.json
@@ -0,0 +1,761 @@
+{
+ "GR": {
+ "name": "àºàº£àºµàºŠ"
+ },
+ "GL": {
+ "name": "àºàº£àºµàº™à»àº¥àº™"
+ },
+ "GU": {
+ "name": "àºàº§àº¡"
+ },
+ "GY": {
+ "name": "àºàº²àºàº¢àº²àº™àº²"
+ },
+ "QA": {
+ "name": "àºàº²àº•àº²"
+ },
+ "GH": {
+ "name": "àºàº²àº™àº²"
+ },
+ "GA": {
+ "name": "àºàº²àºšàº­àº™"
+ },
+ "KH": {
+ "name": "àºàº³àº›àº¹à»€àºˆàº"
+ },
+ "GN": {
+ "name": "àºàº´àº™àºµ"
+ },
+ "GW": {
+ "name": "àºàº´àº™àºµ-ບິສເຊົາ"
+ },
+ "GP": {
+ "name": "àºàº»àº§àº”າລູບ"
+ },
+ "GT": {
+ "name": "àºàº»àº§à»€àº—ມາລາ"
+ },
+ "GD": {
+ "name": "ເàºàº£à»€àº™àº”າ"
+ },
+ "CX": {
+ "name": "ເàºàº²àº°àº„ຣິສມາດ"
+ },
+ "NF": {
+ "name": "ເàºàº²àº°àº™à»à»‚ຟàº"
+ },
+ "AC": {
+ "name": "ເàºàº²àº°àº­àº²à»€àºŠàº™àºŠàº±àº™"
+ },
+ "GG": {
+ "name": "ເàºàºµàº™àºŠàºµ"
+ },
+ "KR": {
+ "name": "ເàºàº»àº²àº«àº¥àºµà»ƒàº•à»‰"
+ },
+ "KP": {
+ "name": "ເàºàº»àº²àº«àº¥àºµà»€à»œàº·àº­"
+ },
+ "TF": {
+ "name": "ເຂດà»àº”ນທາງໃຕ້ຂອàºàº®àº±à»ˆàº‡"
+ },
+ "IO": {
+ "name": "ເຂດà»àº”ນບຣິທິສອິນດຽນໂອຊຽນ"
+ },
+ "CD": {
+ "name": "ຄອງໂຠ- ຄິນຊາຊາ"
+ },
+ "CG": {
+ "name": "ຄອງໂຠ- ບຣາຊາວິວ"
+ },
+ "KZ": {
+ "name": "ຄາຊັàºàºªàº°àº–ານ"
+ },
+ "CM": {
+ "name": "ຄາເມຣູນ"
+ },
+ "BQ": {
+ "name": "ຄາຣິບບຽນ ເນເທີà»àº¥àº™"
+ },
+ "KI": {
+ "name": "ຄິຣິບາທິ"
+ },
+ "CU": {
+ "name": "ຄິວບາ"
+ },
+ "KG": {
+ "name": "ຄີàºàº´àºªàº–ານ"
+ },
+ "CW": {
+ "name": "ຄູຣາຊາວ"
+ },
+ "KW": {
+ "name": "ຄູເວດ"
+ },
+ "KE": {
+ "name": "ເຄນຢາ"
+ },
+ "CV": {
+ "name": "ເຄບ ເວີດ"
+ },
+ "KY": {
+ "name": "ເຄà»àº¡àº™ ໄອà»àº¥àº™"
+ },
+ "CA": {
+ "name": "à»àº„ນາດາ"
+ },
+ "CR": {
+ "name": "ໂຄສຕາ ຣິàºàº²"
+ },
+ "XK": {
+ "name": "ໂຄໂຊໂວ"
+ },
+ "CI": {
+ "name": "ໂຄຕີ ວົວ"
+ },
+ "KM": {
+ "name": "ໂຄໂມໂຣສ"
+ },
+ "HR": {
+ "name": "ໂຄຣເອເທàº"
+ },
+ "CO": {
+ "name": "ໂຄລົມເບàº"
+ },
+ "GE": {
+ "name": "ຈà»à»€àºˆàº"
+ },
+ "JO": {
+ "name": "ຈà»à»àº”ນ"
+ },
+ "JM": {
+ "name": "ຈາໄມຄາ"
+ },
+ "GI": {
+ "name": "ຈິບບຣອນທາ"
+ },
+ "DJ": {
+ "name": "ຈິບູຕິ"
+ },
+ "CN": {
+ "name": "ຈີນ"
+ },
+ "JE": {
+ "name": "ເຈີຊີ"
+ },
+ "ES": {
+ "name": "ສະເປນ"
+ },
+ "SK": {
+ "name": "ສະໂລວາເàºàº"
+ },
+ "SI": {
+ "name": "ສະໂລເວເນàº"
+ },
+ "SZ": {
+ "name": "ສະວາຊິà»àº¥àº™"
+ },
+ "SJ": {
+ "name": "ສະວາບາ à»àº¥àº° à»àº¢àº™ ມາເຢນ"
+ },
+ "CH": {
+ "name": "ສະວິດເຊີà»àº¥àº™"
+ },
+ "SE": {
+ "name": "ສະວີເດັນ"
+ },
+ "US": {
+ "name": "ສະຫະລັດ"
+ },
+ "AE": {
+ "name": "ສະຫະລັດອາຣັບເອມິເຣດ"
+ },
+ "GB": {
+ "name": "ສະຫະລາດຊະອະນາຈັàº"
+ },
+ "DO": {
+ "name": "ສາທາລະນະລັດ ໂດມິນິàºàº±àº™"
+ },
+ "GM": {
+ "name": "ສາທາລະນະລັດà»àºàº¡à»€àºšàº"
+ },
+ "CZ": {
+ "name": "ສາທາລະນະລັດເຊàº"
+ },
+ "CF": {
+ "name": "ສາທາລະນະລັດອາຟຣິàºàº²àºàº²àº‡"
+ },
+ "SG": {
+ "name": "ສິງàºàº°à»‚ປ"
+ },
+ "LK": {
+ "name": "ສີລັງàºàº²"
+ },
+ "TD": {
+ "name": "ຊາດ"
+ },
+ "WS": {
+ "name": "ຊາມົວ"
+ },
+ "SA": {
+ "name": "ຊາອຸດິ ອາຣາເບàº"
+ },
+ "EH": {
+ "name": "ຊາຮາຣາຕາເວັນຕົàº"
+ },
+ "SX": {
+ "name": "ຊິນ ມາເທັນ"
+ },
+ "ZW": {
+ "name": "ຊິມບັບເວ"
+ },
+ "CL": {
+ "name": "ຊິລີ"
+ },
+ "SY": {
+ "name": "ຊີເຣàº"
+ },
+ "SD": {
+ "name": "ຊູດານ"
+ },
+ "SS": {
+ "name": "ຊູດານໃຕ້"
+ },
+ "SR": {
+ "name": "ຊູຣິນາມ"
+ },
+ "SC": {
+ "name": "ເຊເຊວເລສ"
+ },
+ "SL": {
+ "name": "ເຊàºàº£àº² ລີໂອນ"
+ },
+ "KN": {
+ "name": "ເຊນ ຄິດ à»àº¥àº° ເນວິສ"
+ },
+ "BL": {
+ "name": "ເຊນ ບາເທເລມີ"
+ },
+ "PM": {
+ "name": "ເຊນ ປີà»àº­ ມິເàºàº§àº¥àº­àº™"
+ },
+ "MF": {
+ "name": "ເຊນ ມາທິນ"
+ },
+ "LC": {
+ "name": "ເຊນ ລູເຊàº"
+ },
+ "VC": {
+ "name": "ເຊນ ວິນເຊນ & ເàºàº£à»€àº™àº”ິນ"
+ },
+ "SH": {
+ "name": "ເຊນ ເຮເລນາ"
+ },
+ "SN": {
+ "name": "ເຊນີໂàºàº¥"
+ },
+ "EA": {
+ "name": "ເຊວຕາ à»àº¥àº°à»€àº¡àº¥àº´àº™àº¥àº²"
+ },
+ "RS": {
+ "name": "ເຊີເບàº"
+ },
+ "ST": {
+ "name": "ເຊົາທູເມ à»àº¥àº° ພຣິນຊິບ"
+ },
+ "SM": {
+ "name": "à»àºŠàº™ ມາຣິໂນ"
+ },
+ "ZM": {
+ "name": "à»àºŠàº¡à»€àºšàº"
+ },
+ "SO": {
+ "name": "ໂຊມາເລàº"
+ },
+ "CY": {
+ "name": "ໄຊປຣັສ"
+ },
+ "JP": {
+ "name": "àºàºµà»ˆàº›àº¸à»ˆàº™"
+ },
+ "PS": {
+ "name": "ດິນà»àº”ນ ປາເລສຕິນຽນ"
+ },
+ "DG": {
+ "name": "ດິເອໂຠàºàº²à»€àºŠàº"
+ },
+ "DK": {
+ "name": "ເດນມາàº"
+ },
+ "DM": {
+ "name": "ໂດມີນິຄາ"
+ },
+ "TN": {
+ "name": "ຕູນິເຊàº"
+ },
+ "TV": {
+ "name": "ຕູວາລູ"
+ },
+ "TK": {
+ "name": "ໂຕເàºà»€àº¥àº»àº²"
+ },
+ "TG": {
+ "name": "ໂຕໂàº"
+ },
+ "TW": {
+ "name": "ໄຕ້ຫວັນ"
+ },
+ "TA": {
+ "name": "ທຣິສຕັນ ດາ àºàº±àº™àº®àº²"
+ },
+ "TT": {
+ "name": "ທຣິນິà»àº”ດ à»àº¥àº° ໂທà»àºšà»‚àº"
+ },
+ "TO": {
+ "name": "ທອງàºàº²"
+ },
+ "TJ": {
+ "name": "ທາຈິàºàº´àºªàº–ານ"
+ },
+ "TZ": {
+ "name": "ທານຊາເນàº"
+ },
+ "TL": {
+ "name": "ທິມà»-ເລສເຕ"
+ },
+ "TM": {
+ "name": "ເທີàºà»€àº¡àº™àº´àºªàº–ານ"
+ },
+ "TR": {
+ "name": "ເທີຄີ"
+ },
+ "TH": {
+ "name": "ໄທ"
+ },
+ "NO": {
+ "name": "ນà»à»€àº§"
+ },
+ "VA": {
+ "name": "ນະຄອນ ວາຕິàºàº±àº™"
+ },
+ "NA": {
+ "name": "ນາມີເບàº"
+ },
+ "NR": {
+ "name": "ນາອູຣູ"
+ },
+ "NI": {
+ "name": "ນິàºàº„າຣາàºàº»àº§"
+ },
+ "NE": {
+ "name": "ນິເຈີ"
+ },
+ "NC": {
+ "name": "ນິວ ຄາເລໂດເນàº"
+ },
+ "NZ": {
+ "name": "ນິວຊີà»àº¥àº™"
+ },
+ "NU": {
+ "name": "ນີອູເອ"
+ },
+ "NL": {
+ "name": "ເນເທີà»àº¥àº™"
+ },
+ "NP": {
+ "name": "ເນປານ"
+ },
+ "NG": {
+ "name": "ໄນຈີເຣàº"
+ },
+ "BR": {
+ "name": "ບຣາຊິວ"
+ },
+ "BN": {
+ "name": "ບຣູໄນ"
+ },
+ "BA": {
+ "name": "ບອດສະເນຠà»àº¥àº° à»àº®àºªà»‚àºàº§àºµàº™àº²"
+ },
+ "BW": {
+ "name": "ບອດສະວານາ"
+ },
+ "BD": {
+ "name": "ບັງàºàº°àº¥àº²à»€àº—ດ"
+ },
+ "BG": {
+ "name": "ບັງàºàº²à»€àº£àº"
+ },
+ "BB": {
+ "name": "ບາບາໂດສ"
+ },
+ "BH": {
+ "name": "ບາເຣນ"
+ },
+ "BS": {
+ "name": "ບາຮາມາສ"
+ },
+ "BI": {
+ "name": "ບູຣຸນດິ"
+ },
+ "BJ": {
+ "name": "ເບນິນ"
+ },
+ "BZ": {
+ "name": "ເບລີຊ"
+ },
+ "BY": {
+ "name": "ເບວບາຣຸສ"
+ },
+ "BE": {
+ "name": "ເບວຢຽມ"
+ },
+ "BF": {
+ "name": "ເບີàºàº´àº™àº² ຟາໂຊ"
+ },
+ "BM": {
+ "name": "ເບີມິວດາ"
+ },
+ "BO": {
+ "name": "ໂບລິເວàº"
+ },
+ "PK": {
+ "name": "ປາàºàº´àºªàº–ານ"
+ },
+ "PG": {
+ "name": "ປາປົວນິວàºàºµàº™àºµ"
+ },
+ "PW": {
+ "name": "ປາເລົາ"
+ },
+ "PE": {
+ "name": "ເປຣູ"
+ },
+ "PL": {
+ "name": "ໂປà»àº¥àº™"
+ },
+ "FR": {
+ "name": "àºàº£àº±à»ˆàº‡"
+ },
+ "PT": {
+ "name": "ພອລທູໂàº"
+ },
+ "PA": {
+ "name": "ພານາມາ"
+ },
+ "PY": {
+ "name": "ພາຣາàºàº§àº"
+ },
+ "BT": {
+ "name": "ພູຖານ"
+ },
+ "PR": {
+ "name": "ເພືອໂຕ ຣິໂàº"
+ },
+ "FJ": {
+ "name": "ຟິຈິ"
+ },
+ "FI": {
+ "name": "ຟິນà»àº¥àº™"
+ },
+ "PH": {
+ "name": "ຟິລິບປິນ"
+ },
+ "GF": {
+ "name": "ເຟຣນຊ໌ àºàº¸àºàº­àº²àº™àº²"
+ },
+ "PF": {
+ "name": "ເຟຣນຊ໌ ໂພລີນີເຊàº"
+ },
+ "MN": {
+ "name": "ມອງໂàºà»€àº¥àº"
+ },
+ "MS": {
+ "name": "ມອນເຊີຣາດ"
+ },
+ "ME": {
+ "name": "ມອນເຕເນໂàºàº£"
+ },
+ "MT": {
+ "name": "ມອນທາ"
+ },
+ "MV": {
+ "name": "ມັນດິຟ"
+ },
+ "MO": {
+ "name": "ມາເàºàº»à»‰àº² ເຂດປົàºàº„ອງພິເສດ ຈີນ"
+ },
+ "MG": {
+ "name": "ມາດາàºàº²àºªàºàº²"
+ },
+ "MQ": {
+ "name": "ມາຕິນີàº"
+ },
+ "YT": {
+ "name": "ມາຢັອດ"
+ },
+ "MW": {
+ "name": "ມາລາວີ"
+ },
+ "ML": {
+ "name": "ມາລິ"
+ },
+ "MY": {
+ "name": "ມາເລເຊàº"
+ },
+ "MU": {
+ "name": "ມົວຣິຊຽສ"
+ },
+ "MR": {
+ "name": "ມົວຣິເທເນàº"
+ },
+ "MM": {
+ "name": "ມຽນມາ (ເບີມາ)"
+ },
+ "MX": {
+ "name": "ເມັàºàºŠàº´à»‚àº"
+ },
+ "MK": {
+ "name": "à»àº¡àºŠàº´à»‚ດເນàº"
+ },
+ "MZ": {
+ "name": "ໂມà»àºŠàº¡àºšàº´àº"
+ },
+ "MD": {
+ "name": "ໂມນໂດວາ"
+ },
+ "MC": {
+ "name": "ໂມນາໂຄ"
+ },
+ "MA": {
+ "name": "ໂມຣັອàºà»‚ຄ"
+ },
+ "FM": {
+ "name": "ໄມໂຄຣນີເຊàº"
+ },
+ "UA": {
+ "name": "ຢູເຄຣນ"
+ },
+ "DE": {
+ "name": "ເຢàºàº¥àº°àº¡àº±àº™"
+ },
+ "YE": {
+ "name": "ເຢເມນ"
+ },
+ "RW": {
+ "name": "ຣວັນດາ"
+ },
+ "RU": {
+ "name": "ຣັດເຊàº"
+ },
+ "RE": {
+ "name": "ເຣອູນິàºàº»àº‡"
+ },
+ "RO": {
+ "name": "ໂຣà»àº¡à»€àº™àº"
+ },
+ "LV": {
+ "name": "ລັດເວàº"
+ },
+ "LA": {
+ "name": "ລາວ"
+ },
+ "LI": {
+ "name": "ລິດເທນສະຕາàº"
+ },
+ "LT": {
+ "name": "ລິທົວເນàº"
+ },
+ "LY": {
+ "name": "ລິເບàº"
+ },
+ "LR": {
+ "name": "ລິເບີເຣàº"
+ },
+ "LU": {
+ "name": "ລຸàºà»àºŠàº¡à»€àºšàºµàº"
+ },
+ "LS": {
+ "name": "ເລໂຊໂທ"
+ },
+ "LB": {
+ "name": "ເລບານອນ"
+ },
+ "VU": {
+ "name": "ວານົວຕູ"
+ },
+ "WF": {
+ "name": "ວາລິສ à»àº¥àº° ຟຸຕູນາ"
+ },
+ "VE": {
+ "name": "ເວເນຊູເອລາ"
+ },
+ "TC": {
+ "name": "à»àº¹à»ˆà»€àºàº²àº° ເທີຠà»àº¥àº° ໄຄໂຄສ"
+ },
+ "VG": {
+ "name": "à»àº¹à»ˆà»€àºàº²àº° ບຣິທິຊ ເວີຈິນ"
+ },
+ "VI": {
+ "name": "à»àº¹à»ˆà»€àºàº²àº° ຢູເອສ ເວີຈິນ"
+ },
+ "CC": {
+ "name": "ຫມູ່ເàºàº²àº°à»‚àºà»‚àºàºª"
+ },
+ "IC": {
+ "name": "à»àº¹à»ˆà»€àºàº²àº°àº„ານາຣີ"
+ },
+ "CK": {
+ "name": "à»àº¹à»ˆà»€àºàº²àº°àº„ຸàº"
+ },
+ "GS": {
+ "name": "à»àº¹à»ˆà»€àºàº²àº°àºˆà»à»€àºˆàº & ເຊົາ à»àºŠàº™àº§àº´àº”"
+ },
+ "SB": {
+ "name": "ຫມູ່ເàºàº²àº°à»‚ຊໂລມອນ"
+ },
+ "PN": {
+ "name": "à»àº¹à»ˆà»€àºàº²àº°àºžàº´àº”à»àº„ນ"
+ },
+ "FK": {
+ "name": "ຫມູ່ເàºàº²àº°àºŸàº­àºà»àº¥àº™"
+ },
+ "FO": {
+ "name": "ຫມູ່ເàºàº²àº°à»àºŸà»‚ຣ"
+ },
+ "MH": {
+ "name": "ຫມູ່ເàºàº²àº°àº¡àº²à»àºŠàº§"
+ },
+ "MP": {
+ "name": "ຫມູ່ເàºàº²àº°àº¡àº²à»àºŠàº§àº•àº­àº™à»€àº«àº™àº·àº­"
+ },
+ "AX": {
+ "name": "ຫມູ່ເàºàº²àº°à»‚ອລັນ"
+ },
+ "UM": {
+ "name": "à»àº¹à»ˆà»€àºàº²àº°àº®àº­àºšàº™àº­àºàº‚ອງສະຫະລັດຯ"
+ },
+ "VN": {
+ "name": "ຫວຽດນາມ"
+ },
+ "AW": {
+ "name": "ອà»àº£àº¹àºšàº²"
+ },
+ "AU": {
+ "name": "ອອສເຕຣເລàº"
+ },
+ "AT": {
+ "name": "ອອສເທຣàº"
+ },
+ "AO": {
+ "name": "ອັນໂàºàº¥àº²"
+ },
+ "AD": {
+ "name": "ອັນດà»àº£àº²"
+ },
+ "DZ": {
+ "name": "ອັລຈິເຣàº"
+ },
+ "AR": {
+ "name": "ອາເຈນທິນາ"
+ },
+ "AZ": {
+ "name": "ອາເຊີໄບຈານ"
+ },
+ "AG": {
+ "name": "ອາທິàºàº»àº§ ບາບູດາ"
+ },
+ "AF": {
+ "name": "ອາຟàºàº²àº™àº´àºªàº–ານ"
+ },
+ "ZA": {
+ "name": "ອາຟະລິàºàº²à»ƒàº•à»‰"
+ },
+ "AM": {
+ "name": "ອາເມເນàº"
+ },
+ "AS": {
+ "name": "ອາເມຣິàºàº² ຊາມົວ"
+ },
+ "IL": {
+ "name": "ອິສຣາເອວ"
+ },
+ "IT": {
+ "name": "ອິຕາລີ"
+ },
+ "IN": {
+ "name": "ອິນເດàº"
+ },
+ "ID": {
+ "name": "ອິນໂດເນເຊàº"
+ },
+ "GQ": {
+ "name": "ອີຄົວໂຕຣຽວ àºàºµàº™àºµ"
+ },
+ "ET": {
+ "name": "ອີທິໂອເປàº"
+ },
+ "EG": {
+ "name": "ອີຢິບ"
+ },
+ "IQ": {
+ "name": "ອີຣັàº"
+ },
+ "IR": {
+ "name": "ອີຣ່ານ"
+ },
+ "UZ": {
+ "name": "ອຸສເບàºàº´àºªàº–ານ"
+ },
+ "UG": {
+ "name": "ອູàºàº²àº™àº”າ"
+ },
+ "UY": {
+ "name": "ອູຣຸàºàº§àº"
+ },
+ "EC": {
+ "name": "ເອàºàºàº§àº²àº”à»"
+ },
+ "EE": {
+ "name": "ເອສໂຕເນàº"
+ },
+ "ER": {
+ "name": "ເອຣິເທຣàº"
+ },
+ "SV": {
+ "name": "ເອວ ຊà»àº§àº²àº”à»"
+ },
+ "IM": {
+ "name": "ເອວ ອອບ à»àº¡àº™"
+ },
+ "AI": {
+ "name": "à»àº­àº™àºàº¸àºàº¥àº²"
+ },
+ "AQ": {
+ "name": "à»àº­àº™àº•àº²àº”ຕິàºàº²"
+ },
+ "AL": {
+ "name": "à»àº­àº§à»€àºšà»€àº™àº"
+ },
+ "OM": {
+ "name": "ໂອມານ"
+ },
+ "IS": {
+ "name": "ໄອສà»àº¥àº™"
+ },
+ "IE": {
+ "name": "ໄອຣ໌à»àº¥àº™"
+ },
+ "HK": {
+ "name": "ຮອງàºàº»àº‡ ເຂດປົàºàº„ອງພິເສດ ຈີນ"
+ },
+ "HN": {
+ "name": "ຮອນດູຣັສ"
+ },
+ "HU": {
+ "name": "ຮັງàºàº²àº£àºµ"
+ },
+ "HT": {
+ "name": "ໄຮຕິ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/lt.json b/library/intl/resources/country/lt.json
new file mode 100644
index 000000000..dd17a5ab3
--- /dev/null
+++ b/library/intl/resources/country/lt.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistanas"
+ },
+ "IE": {
+ "name": "Airija"
+ },
+ "AX": {
+ "name": "Alandų Salos"
+ },
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžyras"
+ },
+ "AS": {
+ "name": "Amerikos Samoa"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AI": {
+ "name": "Angilija"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarktida"
+ },
+ "AG": {
+ "name": "Antigva ir Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "ArmÄ—nija"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AZ": {
+ "name": "Azerbaidžanas"
+ },
+ "BS": {
+ "name": "Bahamos"
+ },
+ "BH": {
+ "name": "Bahreinas"
+ },
+ "BY": {
+ "name": "Baltarusija"
+ },
+ "BD": {
+ "name": "Bangladešas"
+ },
+ "BB": {
+ "name": "Barbadosas"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belizas"
+ },
+ "BJ": {
+ "name": "Beninas"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "GW": {
+ "name": "Bisau GvinÄ—ja"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosnija ir Hercegovina"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BR": {
+ "name": "Brazilija"
+ },
+ "BN": {
+ "name": "BrunÄ—jus"
+ },
+ "BG": {
+ "name": "Bulgarija"
+ },
+ "BF": {
+ "name": "Burkina Fasas"
+ },
+ "BI": {
+ "name": "Burundis"
+ },
+ "BT": {
+ "name": "Butanas"
+ },
+ "CF": {
+ "name": "CentrinÄ—s Afrikos Respublika"
+ },
+ "TD": {
+ "name": "ÄŒadas"
+ },
+ "CZ": {
+ "name": "ÄŒekija"
+ },
+ "CL": {
+ "name": "ÄŒilÄ—"
+ },
+ "AC": {
+ "name": "Dangun Žengimo sala"
+ },
+ "DK": {
+ "name": "Danija"
+ },
+ "GB": {
+ "name": "Didžioji Britanija"
+ },
+ "VG": {
+ "name": "Didžiosios Britanijos Mergelių Salos"
+ },
+ "DG": {
+ "name": "Diego Garsija"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikos Respublika"
+ },
+ "CI": {
+ "name": "Dramblio Kaulo Krantas"
+ },
+ "JE": {
+ "name": "Džersis"
+ },
+ "DJ": {
+ "name": "Džibutis"
+ },
+ "EG": {
+ "name": "Egiptas"
+ },
+ "EC": {
+ "name": "Ekvadoras"
+ },
+ "ER": {
+ "name": "EritrÄ—ja"
+ },
+ "EE": {
+ "name": "Estija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "Farerų Salos"
+ },
+ "FJ": {
+ "name": "Fidžis"
+ },
+ "PH": {
+ "name": "Filipinai"
+ },
+ "FK": {
+ "name": "Folklando Salos"
+ },
+ "GA": {
+ "name": "Gabonas"
+ },
+ "GY": {
+ "name": "Gajana"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "Gernsis"
+ },
+ "GI": {
+ "name": "Gibraltaras"
+ },
+ "GR": {
+ "name": "Graikija"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlandija"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guamas"
+ },
+ "GP": {
+ "name": "Gvadelupa"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "GvinÄ—ja"
+ },
+ "HT": {
+ "name": "Haitis"
+ },
+ "HN": {
+ "name": "Hondūras"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "IO": {
+ "name": "Indijos Vandenyno Britų Sritis"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "HK": {
+ "name": "Ypatingasis Administracinis Kinijos Regionas Honkongas"
+ },
+ "MO": {
+ "name": "Ypatingasis Administracinis Kinijos Regionas Makao"
+ },
+ "IQ": {
+ "name": "Irakas"
+ },
+ "IR": {
+ "name": "Iranas"
+ },
+ "IS": {
+ "name": "Islandija"
+ },
+ "ES": {
+ "name": "Ispanija"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izraelis"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japonija"
+ },
+ "YE": {
+ "name": "Jemenas"
+ },
+ "JO": {
+ "name": "Jordanija"
+ },
+ "US": {
+ "name": "JungtinÄ—s Valstijos"
+ },
+ "AE": {
+ "name": "Jungtiniai Arabų Emyratai"
+ },
+ "UM": {
+ "name": "Jungtinių Valstijų Mažosios Tolimosios Salos"
+ },
+ "VI": {
+ "name": "Jungtinių Valstijų Mergelių Salos"
+ },
+ "ME": {
+ "name": "Juodkalnija"
+ },
+ "KY": {
+ "name": "Kaimanų Salos"
+ },
+ "CX": {
+ "name": "Kalėdų Sala"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerūnas"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarų salos"
+ },
+ "BQ": {
+ "name": "Karibų Nyderlandai"
+ },
+ "QA": {
+ "name": "Kataras"
+ },
+ "KZ": {
+ "name": "Kazachstanas"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kinija"
+ },
+ "CY": {
+ "name": "Kipras"
+ },
+ "KG": {
+ "name": "Kirgizija"
+ },
+ "KI": {
+ "name": "Kiribatis"
+ },
+ "CW": {
+ "name": "Kiurasao"
+ },
+ "CC": {
+ "name": "Kokosų (Kilingo) Salos"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komorai"
+ },
+ "CG": {
+ "name": "Kongas-Brazavilis"
+ },
+ "CD": {
+ "name": "Kongas-Kinšasa"
+ },
+ "XK": {
+ "name": "Kosovas"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "HR": {
+ "name": "Kroatija"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuko Salos"
+ },
+ "KW": {
+ "name": "Kuveitas"
+ },
+ "LA": {
+ "name": "Laosas"
+ },
+ "LV": {
+ "name": "Latvija"
+ },
+ "PL": {
+ "name": "Lenkija"
+ },
+ "LS": {
+ "name": "Lesotas"
+ },
+ "LB": {
+ "name": "Libanas"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lichtenšteinas"
+ },
+ "LT": {
+ "name": "Lietuva"
+ },
+ "LU": {
+ "name": "Liuksemburgas"
+ },
+ "MG": {
+ "name": "Madagaskaras"
+ },
+ "YT": {
+ "name": "Majotas"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MY": {
+ "name": "Malaizija"
+ },
+ "MW": {
+ "name": "Malavis"
+ },
+ "MV": {
+ "name": "Maldyvai"
+ },
+ "ML": {
+ "name": "Malis"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Marianos Å iaurinÄ—s Salos"
+ },
+ "MA": {
+ "name": "Marokas"
+ },
+ "MH": {
+ "name": "Maršalo Salos"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MU": {
+ "name": "Mauricijus"
+ },
+ "MR": {
+ "name": "Mauritanija"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "IM": {
+ "name": "Meno Sala"
+ },
+ "MM": {
+ "name": "Mianmaras (Birma)"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monakas"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Montseratas"
+ },
+ "MZ": {
+ "name": "Mozambikas"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NC": {
+ "name": "Naujoji Kaledonija"
+ },
+ "NZ": {
+ "name": "Naujoji Zelandija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepalas"
+ },
+ "NL": {
+ "name": "Nyderlandai"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NE": {
+ "name": "Nigeris"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "NiujÄ—"
+ },
+ "NF": {
+ "name": "Norfolko sala"
+ },
+ "NO": {
+ "name": "Norvegija"
+ },
+ "OM": {
+ "name": "Omanas"
+ },
+ "PK": {
+ "name": "Pakistanas"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinos teritorija"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Naujoji GvinÄ—ja"
+ },
+ "PY": {
+ "name": "Paragvajus"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "ZA": {
+ "name": "Pietų Afrika"
+ },
+ "GS": {
+ "name": "Pietų Džordžija ir Pietų SandviÄo salos"
+ },
+ "KR": {
+ "name": "Pietų Korėja"
+ },
+ "SS": {
+ "name": "Pietų Sudanas"
+ },
+ "PN": {
+ "name": "Pitkernas"
+ },
+ "PT": {
+ "name": "Portugalija"
+ },
+ "FR": {
+ "name": "Prancūzija"
+ },
+ "GF": {
+ "name": "Prancūzijos Gviana"
+ },
+ "TF": {
+ "name": "Prancūzijos Pietų sritys"
+ },
+ "PF": {
+ "name": "Prancūzų Polinezija"
+ },
+ "PR": {
+ "name": "Puerto Rikas"
+ },
+ "GQ": {
+ "name": "Pusiaujo GvinÄ—ja"
+ },
+ "RE": {
+ "name": "Reunjonas"
+ },
+ "TL": {
+ "name": "Rytų Timoras"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunija"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "SB": {
+ "name": "Saliamono Salos"
+ },
+ "SV": {
+ "name": "Salvadoras"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marinas"
+ },
+ "ST": {
+ "name": "San TomÄ— ir PrinsipÄ—"
+ },
+ "SA": {
+ "name": "Saudo Arabija"
+ },
+ "SC": {
+ "name": "Seišeliai"
+ },
+ "BL": {
+ "name": "Sen Bartelemi"
+ },
+ "MF": {
+ "name": "Sen Martenas"
+ },
+ "PM": {
+ "name": "Sen Pjeras ir Mikelonas"
+ },
+ "SN": {
+ "name": "Senegalas"
+ },
+ "KN": {
+ "name": "Sent Kitsas ir Nevis"
+ },
+ "RS": {
+ "name": "Serbija"
+ },
+ "EA": {
+ "name": "Seuta ir Melila"
+ },
+ "SL": {
+ "name": "Siera LeonÄ—"
+ },
+ "SG": {
+ "name": "Singapūras"
+ },
+ "SX": {
+ "name": "Sint Martenas"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "SK": {
+ "name": "Slovakija"
+ },
+ "SI": {
+ "name": "SlovÄ—nija"
+ },
+ "SO": {
+ "name": "Somalis"
+ },
+ "SD": {
+ "name": "Sudanas"
+ },
+ "FI": {
+ "name": "Suomija"
+ },
+ "SR": {
+ "name": "Surinamas"
+ },
+ "SJ": {
+ "name": "Svalbardas ir Janas Majenas"
+ },
+ "SZ": {
+ "name": "Svazilandas"
+ },
+ "KP": {
+ "name": "Å iaurÄ—s KorÄ—ja"
+ },
+ "LK": {
+ "name": "Å ri Lanka"
+ },
+ "SH": {
+ "name": "Å v. Elenos Sala"
+ },
+ "SE": {
+ "name": "Å vedija"
+ },
+ "CH": {
+ "name": "Å veicarija"
+ },
+ "VC": {
+ "name": "Å ventasis Vincentas ir Grenadinai"
+ },
+ "LC": {
+ "name": "Å ventoji Liucija"
+ },
+ "TJ": {
+ "name": "Tadžikija"
+ },
+ "TH": {
+ "name": "Tailandas"
+ },
+ "TW": {
+ "name": "Taivanas"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TC": {
+ "name": "Terkso ir Kaikoso Salos"
+ },
+ "TG": {
+ "name": "Togas"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidadas ir Tobagas"
+ },
+ "TA": {
+ "name": "Tristanas da Kunja"
+ },
+ "TN": {
+ "name": "Tunisas"
+ },
+ "TR": {
+ "name": "Turkija"
+ },
+ "TM": {
+ "name": "TurkmÄ—nistanas"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Urugvajus"
+ },
+ "UZ": {
+ "name": "Uzbekistanas"
+ },
+ "EH": {
+ "name": "Vakarų Sachara"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikano Miesto ValstybÄ—"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "HU": {
+ "name": "Vengrija"
+ },
+ "VN": {
+ "name": "Vietnamas"
+ },
+ "DE": {
+ "name": "Vokietija"
+ },
+ "WF": {
+ "name": "Volisas ir Futuna"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "ZW": {
+ "name": "ZimbabvÄ—"
+ },
+ "CV": {
+ "name": "Žaliasis Kyšulys"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/lu.json b/library/intl/resources/country/lu.json
new file mode 100644
index 000000000..e01eb6f8a
--- /dev/null
+++ b/library/intl/resources/country/lu.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika ya Súdi"
+ },
+ "AF": {
+ "name": "Afuganisita"
+ },
+ "AZ": {
+ "name": "Ajelbayidja"
+ },
+ "SA": {
+ "name": "Alabu Nsawudi"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "DE": {
+ "name": "Alemanu"
+ },
+ "AR": {
+ "name": "Alijantine"
+ },
+ "DZ": {
+ "name": "Alijeri"
+ },
+ "AL": {
+ "name": "Alubani"
+ },
+ "AM": {
+ "name": "Ameni"
+ },
+ "US": {
+ "name": "Ameriki"
+ },
+ "AD": {
+ "name": "Andore"
+ },
+ "GB": {
+ "name": "Angeletele"
+ },
+ "AI": {
+ "name": "Angiye"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiga ne Barbuda"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "HT": {
+ "name": "Ayiti"
+ },
+ "BS": {
+ "name": "Bahamase"
+ },
+ "BH": {
+ "name": "Bahrene"
+ },
+ "BB": {
+ "name": "Barebade"
+ },
+ "BE": {
+ "name": "Belejiki"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Bene"
+ },
+ "BD": {
+ "name": "Benguladeshi"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BG": {
+ "name": "Biligari"
+ },
+ "BN": {
+ "name": "Brineyi"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "BY": {
+ "name": "Byelorisi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemalaku"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "CF": {
+ "name": "Ditunga dya Afrika wa munkatshi"
+ },
+ "CZ": {
+ "name": "Ditunga dya Tsheka"
+ },
+ "DO": {
+ "name": "Ditunga wa Duminiku"
+ },
+ "CD": {
+ "name": "Ditunga wa Kongu"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Duminiku"
+ },
+ "EC": {
+ "name": "Ekwatele"
+ },
+ "ER": {
+ "name": "Elitele"
+ },
+ "EE": {
+ "name": "Esitoni"
+ },
+ "ET": {
+ "name": "Etshiopi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FI": {
+ "name": "Filande"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "FJ": {
+ "name": "Fuji"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GQ": {
+ "name": "Gine Ekwatele"
+ },
+ "GF": {
+ "name": "Giyane wa Nfalanse"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IN": {
+ "name": "Inde"
+ },
+ "ID": {
+ "name": "Indonezi"
+ },
+ "IR": {
+ "name": "Ira"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IE": {
+ "name": "Irelande"
+ },
+ "UY": {
+ "name": "Irigwei"
+ },
+ "IS": {
+ "name": "Isilande"
+ },
+ "IL": {
+ "name": "Isirayele"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JM": {
+ "name": "Jamaiki"
+ },
+ "JP": {
+ "name": "Japu"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibeletale"
+ },
+ "JO": {
+ "name": "Jodani"
+ },
+ "GE": {
+ "name": "Joriji"
+ },
+ "NC": {
+ "name": "Kaledoni wa mumu"
+ },
+ "KH": {
+ "name": "Kambodza"
+ },
+ "CM": {
+ "name": "Kamerune"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakusita"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kigizisita"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoru"
+ },
+ "CG": {
+ "name": "Kongu"
+ },
+ "KP": {
+ "name": "Kore wa muulu"
+ },
+ "KR": {
+ "name": "Kore wa mwinshi"
+ },
+ "CR": {
+ "name": "Kositarika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CI": {
+ "name": "Kotedivuale"
+ },
+ "KW": {
+ "name": "Koweti"
+ },
+ "HR": {
+ "name": "Krowasi"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "LA": {
+ "name": "Lawosi"
+ },
+ "AE": {
+ "name": "Lemila alabu"
+ },
+ "RE": {
+ "name": "Lenyo"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "LB": {
+ "name": "Liba"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LU": {
+ "name": "Likisambulu"
+ },
+ "LI": {
+ "name": "Lishuteni"
+ },
+ "LT": {
+ "name": "Litwani"
+ },
+ "CV": {
+ "name": "Lutanda lua Kapevele"
+ },
+ "KY": {
+ "name": "Lutanda lua Kayima"
+ },
+ "CK": {
+ "name": "Lutanda lua KookÉ›"
+ },
+ "FK": {
+ "name": "Lutanda lua Maluni"
+ },
+ "MP": {
+ "name": "Lutanda lua Mariane wa muulu"
+ },
+ "MH": {
+ "name": "Lutanda lua Marishale"
+ },
+ "NF": {
+ "name": "Lutanda lua Norfok"
+ },
+ "SB": {
+ "name": "Lutanda lua Solomu"
+ },
+ "TC": {
+ "name": "Lutanda lua Tuluki ne Kaiko"
+ },
+ "VI": {
+ "name": "Lutanda lua Vierzi wa Ameriki"
+ },
+ "VG": {
+ "name": "Lutanda lua Vierzi wa Angeletele"
+ },
+ "IO": {
+ "name": "Lutanda lwa Angeletele ku mbu wa Indiya"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasikari"
+ },
+ "MV": {
+ "name": "Madive"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malezi"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malite"
+ },
+ "MA": {
+ "name": "Maroke"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedwane"
+ },
+ "YT": {
+ "name": "Mayote"
+ },
+ "BO": {
+ "name": "Mbolivi"
+ },
+ "BA": {
+ "name": "Mbosini ne Hezegovine"
+ },
+ "BW": {
+ "name": "Mbotswana"
+ },
+ "MX": {
+ "name": "Meksike"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "BR": {
+ "name": "Mnulezile"
+ },
+ "MD": {
+ "name": "Molidavi"
+ },
+ "MC": {
+ "name": "Monaku"
+ },
+ "MN": {
+ "name": "Mongoli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MU": {
+ "name": "Morise"
+ },
+ "MR": {
+ "name": "Moritani"
+ },
+ "MZ": {
+ "name": "Mozambiki"
+ },
+ "PL": {
+ "name": "Mpoloni"
+ },
+ "PR": {
+ "name": "Mpotoriku"
+ },
+ "PT": {
+ "name": "Mputulugeshi"
+ },
+ "MS": {
+ "name": "Musera"
+ },
+ "EG": {
+ "name": "Mushidi"
+ },
+ "MM": {
+ "name": "Myamare"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepálɛ"
+ },
+ "FR": {
+ "name": "Nfalanse"
+ },
+ "PH": {
+ "name": "Nfilipi"
+ },
+ "GA": {
+ "name": "Ngabu"
+ },
+ "GH": {
+ "name": "Ngana"
+ },
+ "GR": {
+ "name": "Ngeleka"
+ },
+ "GD": {
+ "name": "Ngelenade"
+ },
+ "GN": {
+ "name": "Ngine"
+ },
+ "GW": {
+ "name": "Nginebisau"
+ },
+ "GY": {
+ "name": "Ngiyane"
+ },
+ "GL": {
+ "name": "Ngowelande"
+ },
+ "GP": {
+ "name": "Ngwadelupe"
+ },
+ "GU": {
+ "name": "Ngwame"
+ },
+ "GT": {
+ "name": "Ngwatemala"
+ },
+ "NE": {
+ "name": "Nijere"
+ },
+ "NG": {
+ "name": "Nijerya"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NO": {
+ "name": "Noriveje"
+ },
+ "ES": {
+ "name": "Nsipani"
+ },
+ "VA": {
+ "name": "Nvatika"
+ },
+ "NU": {
+ "name": "Nyue"
+ },
+ "NL": {
+ "name": "OlandÉ›"
+ },
+ "OM": {
+ "name": "Omane"
+ },
+ "HN": {
+ "name": "Ondurase"
+ },
+ "HU": {
+ "name": "Ongili"
+ },
+ "AU": {
+ "name": "Ositali"
+ },
+ "AT": {
+ "name": "Otilisi"
+ },
+ "PK": {
+ "name": "Pakisita"
+ },
+ "PY": {
+ "name": "Palagwei"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palesine"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwazi wa NginÉ› wa mumu"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pikairni"
+ },
+ "PF": {
+ "name": "Polinezi wa Nfalanse"
+ },
+ "RU": {
+ "name": "Risi"
+ },
+ "RO": {
+ "name": "Romani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa wa Ameriki"
+ },
+ "SH": {
+ "name": "Santu eleni"
+ },
+ "KN": {
+ "name": "Santu krístofe ne Neves"
+ },
+ "LC": {
+ "name": "Santu lisi"
+ },
+ "SM": {
+ "name": "Santu Marine"
+ },
+ "PM": {
+ "name": "Santu pététo ne Mikelu"
+ },
+ "VC": {
+ "name": "Santu vesa ne Ngelenadine"
+ },
+ "ST": {
+ "name": "Sao Tome ne PresipÉ›"
+ },
+ "SV": {
+ "name": "Savadore"
+ },
+ "SN": {
+ "name": "Senegale"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seshele"
+ },
+ "CL": {
+ "name": "Shili"
+ },
+ "CN": {
+ "name": "Shine"
+ },
+ "CY": {
+ "name": "Shipele"
+ },
+ "SL": {
+ "name": "Siera Leone"
+ },
+ "SK": {
+ "name": "Silovaki"
+ },
+ "SI": {
+ "name": "Siloveni"
+ },
+ "SG": {
+ "name": "Singapure"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siri"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Suda"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SE": {
+ "name": "Suwedi"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "CH": {
+ "name": "Swise"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TZ": {
+ "name": "Tanzani"
+ },
+ "TH": {
+ "name": "Tayilanda"
+ },
+ "TJ": {
+ "name": "Tazikisita"
+ },
+ "TL": {
+ "name": "Timoru wa diboku"
+ },
+ "TT": {
+ "name": "Tinidade ne Tobago"
+ },
+ "TN": {
+ "name": "Tinizi"
+ },
+ "TG": {
+ "name": "Togu"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tshadi"
+ },
+ "TM": {
+ "name": "Tukemenisita"
+ },
+ "TR": {
+ "name": "Tuluki"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreni"
+ },
+ "UZ": {
+ "name": "Uzibekisita"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Viyetiname"
+ },
+ "WF": {
+ "name": "Walise ne Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemenu"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zelanda wa mumu"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/luo.json b/library/intl/resources/country/luo.json
new file mode 100644
index 000000000..10ab8cebc
--- /dev/null
+++ b/library/intl/resources/country/luo.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua gi Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia gi Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "FK": {
+ "name": "Chuia mar Falkland"
+ },
+ "MH": {
+ "name": "Chuia mar Marshall"
+ },
+ "NF": {
+ "name": "Chuia mar Norfolk"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "CD": {
+ "name": "Democratic Republic of the Congo"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "TL": {
+ "name": "East Timor"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KP": {
+ "name": "Korea Masawa"
+ },
+ "KR": {
+ "name": "Korea Milambo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian West Bank gi Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts gi Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre gi Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent gi Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé gi Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad gi Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks gi Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican State"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis gi Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/luy.json b/library/intl/resources/country/luy.json
new file mode 100644
index 000000000..9b0be889b
--- /dev/null
+++ b/library/intl/resources/country/luy.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa lya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/lv.json b/library/intl/resources/country/lv.json
new file mode 100644
index 000000000..ff93d7605
--- /dev/null
+++ b/library/intl/resources/country/lv.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "AfganistÄna"
+ },
+ "AL": {
+ "name": "AlbÄnija"
+ },
+ "DZ": {
+ "name": "Alžīrija"
+ },
+ "AS": {
+ "name": "AmerikÄņu Samoa"
+ },
+ "US": {
+ "name": "Amerikas SavienotÄs Valstis"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AI": {
+ "name": "Angilja"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigva un Barbuda"
+ },
+ "AE": {
+ "name": "Apvienotie ArÄbu EmirÄti"
+ },
+ "AR": {
+ "name": "Argentīna"
+ },
+ "AM": {
+ "name": "Armēnija"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "UM": {
+ "name": "ASV Aizjūras salas"
+ },
+ "VI": {
+ "name": "ASV Virdžīnas"
+ },
+ "AU": {
+ "name": "AustrÄlija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "TL": {
+ "name": "Austrumtimora"
+ },
+ "AZ": {
+ "name": "AzerbaidžÄna"
+ },
+ "BS": {
+ "name": "Bahamu salas"
+ },
+ "BH": {
+ "name": "Bahreina"
+ },
+ "BY": {
+ "name": "Baltkrievija"
+ },
+ "BD": {
+ "name": "Bangladeša"
+ },
+ "BB": {
+ "name": "Barbadosa"
+ },
+ "BZ": {
+ "name": "Beliza"
+ },
+ "BE": {
+ "name": "Beļģija"
+ },
+ "BJ": {
+ "name": "Benina"
+ },
+ "BM": {
+ "name": "Bermudu salas"
+ },
+ "BO": {
+ "name": "Bolīvija"
+ },
+ "BA": {
+ "name": "Bosnija un Hercegovina"
+ },
+ "BW": {
+ "name": "BotsvÄna"
+ },
+ "BR": {
+ "name": "Brazīlija"
+ },
+ "VG": {
+ "name": "Britu Virdžīnas"
+ },
+ "BN": {
+ "name": "Bruneja"
+ },
+ "BG": {
+ "name": "BulgÄrija"
+ },
+ "BF": {
+ "name": "Burkinafaso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "ButÄna"
+ },
+ "CF": {
+ "name": "CentrÄlÄfrikas Republika"
+ },
+ "TD": {
+ "name": "ÄŒada"
+ },
+ "CZ": {
+ "name": "ÄŒehija"
+ },
+ "CL": {
+ "name": "Čīle"
+ },
+ "DK": {
+ "name": "DÄnija"
+ },
+ "AC": {
+ "name": "Debesbraukšanas sala"
+ },
+ "ZA": {
+ "name": "DienvidÄfrikas Republika"
+ },
+ "GS": {
+ "name": "Dienviddžordžija un DienvidsendviÄu salas"
+ },
+ "KR": {
+ "name": "Dienvidkoreja"
+ },
+ "SS": {
+ "name": "DienvidsudÄna"
+ },
+ "DG": {
+ "name": "Djego Garsijas atols"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "DominikÄna"
+ },
+ "JE": {
+ "name": "Džērsija"
+ },
+ "DJ": {
+ "name": "Džibutija"
+ },
+ "EG": {
+ "name": "Ä’Ä£ipte"
+ },
+ "EC": {
+ "name": "Ekvadora"
+ },
+ "GQ": {
+ "name": "EkvatoriÄlÄ Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "FÄ“ru Salas"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipīnas"
+ },
+ "FK": {
+ "name": "Folklenda salas"
+ },
+ "FR": {
+ "name": "Francija"
+ },
+ "TF": {
+ "name": "Francijas Dienvidjūru Zemes"
+ },
+ "GF": {
+ "name": "FranÄu GviÄna"
+ },
+ "PF": {
+ "name": "FranÄu PolinÄ“zija"
+ },
+ "GA": {
+ "name": "Gabona"
+ },
+ "GY": {
+ "name": "GajÄna"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GG": {
+ "name": "GÄ“rnsija"
+ },
+ "GI": {
+ "name": "GibraltÄrs"
+ },
+ "GD": {
+ "name": "GrenÄda"
+ },
+ "GL": {
+ "name": "Grenlande"
+ },
+ "GR": {
+ "name": "GrieÄ·ija"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guama"
+ },
+ "GP": {
+ "name": "Gvadelupa"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja-Bisava"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Hondurasa"
+ },
+ "HR": {
+ "name": "HorvÄtija"
+ },
+ "EE": {
+ "name": "Igaunija"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "IO": {
+ "name": "Indijas okeÄna Britu teritorija"
+ },
+ "ID": {
+ "name": "Indonēzija"
+ },
+ "IQ": {
+ "name": "IrÄka"
+ },
+ "IR": {
+ "name": "IrÄna"
+ },
+ "IE": {
+ "name": "Īrija"
+ },
+ "IS": {
+ "name": "Īslande"
+ },
+ "IT": {
+ "name": "ItÄlija"
+ },
+ "IL": {
+ "name": "Izraēla"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "JapÄna"
+ },
+ "NC": {
+ "name": "Jaunkaledonija"
+ },
+ "NZ": {
+ "name": "Jaunzēlande"
+ },
+ "YE": {
+ "name": "Jemena"
+ },
+ "JO": {
+ "name": "JordÄnija"
+ },
+ "CV": {
+ "name": "Kaboverde"
+ },
+ "KY": {
+ "name": "Kaimanu salas"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerūna"
+ },
+ "CA": {
+ "name": "KanÄda"
+ },
+ "IC": {
+ "name": "KanÄriju salas"
+ },
+ "QA": {
+ "name": "Katara"
+ },
+ "KZ": {
+ "name": "KazahstÄna"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CY": {
+ "name": "Kipra"
+ },
+ "CW": {
+ "name": "Kirasao"
+ },
+ "KG": {
+ "name": "KirgizstÄna"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosu jeb KÄ«linga salas"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komoru salas"
+ },
+ "CG": {
+ "name": "Kongo - Brazavila"
+ },
+ "CD": {
+ "name": "Kongo-Kinšasa"
+ },
+ "XK": {
+ "name": "Kosova"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CI": {
+ "name": "KotdivuÄra"
+ },
+ "RU": {
+ "name": "Krievija"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuka salas"
+ },
+ "KW": {
+ "name": "Kuveita"
+ },
+ "CN": {
+ "name": "Ķīna"
+ },
+ "HK": {
+ "name": "Ķīnas Ä«paÅ¡Äs pÄrvaldes apgabals Honkonga"
+ },
+ "MO": {
+ "name": "Ķīnas Ä«paÅ¡Äs pÄrvaldes apgabals Makao"
+ },
+ "LA": {
+ "name": "Laosa"
+ },
+ "LV": {
+ "name": "Latvija"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "LibÄna"
+ },
+ "LR": {
+ "name": "Libērija"
+ },
+ "LY": {
+ "name": "LÄ«bija"
+ },
+ "GB": {
+ "name": "LielbritÄnija"
+ },
+ "LT": {
+ "name": "Lietuva"
+ },
+ "LI": {
+ "name": "Lihtenšteina"
+ },
+ "LU": {
+ "name": "Luksemburga"
+ },
+ "MG": {
+ "name": "Madagaskara"
+ },
+ "YT": {
+ "name": "Majota"
+ },
+ "MK": {
+ "name": "MaÄ·edonija"
+ },
+ "MY": {
+ "name": "Malaizija"
+ },
+ "MW": {
+ "name": "MalÄvija"
+ },
+ "MV": {
+ "name": "Maldīvija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroka"
+ },
+ "MH": {
+ "name": "MÄrÅ¡ala salas"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MU": {
+ "name": "Maurīcija"
+ },
+ "MR": {
+ "name": "MauritÄnija"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "ME": {
+ "name": "Melnkalne"
+ },
+ "IM": {
+ "name": "Mena"
+ },
+ "FM": {
+ "name": "Mikronēzija"
+ },
+ "MM": {
+ "name": "Mjanma (Birma)"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Montserrata"
+ },
+ "MZ": {
+ "name": "Mozambika"
+ },
+ "NA": {
+ "name": "Namībija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "NepÄla"
+ },
+ "NL": {
+ "name": "NÄ«derlande"
+ },
+ "BQ": {
+ "name": "Nīderlandes Karību salas"
+ },
+ "NE": {
+ "name": "Nigēra"
+ },
+ "NG": {
+ "name": "Nigērija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolkas sala"
+ },
+ "NO": {
+ "name": "Norvēģija"
+ },
+ "AX": {
+ "name": "Olandes salas"
+ },
+ "OM": {
+ "name": "OmÄna"
+ },
+ "PK": {
+ "name": "PakistÄna"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestīna"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Jaungvineja"
+ },
+ "PY": {
+ "name": "Paragvaja"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkērna"
+ },
+ "PL": {
+ "name": "Polija"
+ },
+ "PT": {
+ "name": "PortugÄle"
+ },
+ "PR": {
+ "name": "Puertoriko"
+ },
+ "RE": {
+ "name": "Reinjona"
+ },
+ "EH": {
+ "name": "RietumsahÄra"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "RumÄnija"
+ },
+ "SV": {
+ "name": "Salvadora"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "Sanmarīno"
+ },
+ "ST": {
+ "name": "Santome un Prinsipi"
+ },
+ "SA": {
+ "name": "SaÅ«da ArÄbija"
+ },
+ "BL": {
+ "name": "Senbartelmī"
+ },
+ "SN": {
+ "name": "SenegÄla"
+ },
+ "MF": {
+ "name": "Senmartēna"
+ },
+ "PM": {
+ "name": "Senpjēra un Mikelona"
+ },
+ "KN": {
+ "name": "Sentkitsa un Nevisa"
+ },
+ "LC": {
+ "name": "Sentlūsija"
+ },
+ "VC": {
+ "name": "Sentvinsenta un Grenadīnas"
+ },
+ "RS": {
+ "name": "Serbija"
+ },
+ "EA": {
+ "name": "Seūta un Melilja"
+ },
+ "SG": {
+ "name": "Singapūra"
+ },
+ "SX": {
+ "name": "SintmÄrtena"
+ },
+ "SY": {
+ "name": "SÄ«rija"
+ },
+ "SL": {
+ "name": "Sjerraleone"
+ },
+ "SK": {
+ "name": "SlovÄkija"
+ },
+ "SI": {
+ "name": "Slovēnija"
+ },
+ "SO": {
+ "name": "SomÄlija"
+ },
+ "FI": {
+ "name": "Somija"
+ },
+ "ES": {
+ "name": "SpÄnija"
+ },
+ "SD": {
+ "name": "SudÄna"
+ },
+ "SR": {
+ "name": "Surinama"
+ },
+ "SH": {
+ "name": "Sv.Helēnas sala"
+ },
+ "SJ": {
+ "name": "SvalbÄra un Jana Majena sala"
+ },
+ "SZ": {
+ "name": "Svazilenda"
+ },
+ "SC": {
+ "name": "Šeišelu salas"
+ },
+ "LK": {
+ "name": "Å rilanka"
+ },
+ "CH": {
+ "name": "Å veice"
+ },
+ "TJ": {
+ "name": "TadžikistÄna"
+ },
+ "TW": {
+ "name": "TaivÄna"
+ },
+ "TH": {
+ "name": "Taizeme"
+ },
+ "TZ": {
+ "name": "TanzÄnija"
+ },
+ "TC": {
+ "name": "TÄ“rksas un Kaikosas salas"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "TrinidÄda un TobÄgo"
+ },
+ "TA": {
+ "name": "Tristana da Kuņas salas"
+ },
+ "TN": {
+ "name": "Tunisija"
+ },
+ "TR": {
+ "name": "Turcija"
+ },
+ "TM": {
+ "name": "TurkmenistÄna"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "UngÄrija"
+ },
+ "UY": {
+ "name": "Urugvaja"
+ },
+ "UZ": {
+ "name": "UzbekistÄna"
+ },
+ "DE": {
+ "name": "VÄcija"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "VatikÄns"
+ },
+ "VE": {
+ "name": "Venecuēla"
+ },
+ "VN": {
+ "name": "Vjetnama"
+ },
+ "WF": {
+ "name": "Volisa un Futuna"
+ },
+ "SB": {
+ "name": "ZÄlamana salas"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "KP": {
+ "name": "Ziemeļkoreja"
+ },
+ "MP": {
+ "name": "Ziemeļu Marianas salas"
+ },
+ "CX": {
+ "name": "Ziemsvētku sala"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ },
+ "SE": {
+ "name": "Zviedrija"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/mas.json b/library/intl/resources/country/mas.json
new file mode 100644
index 000000000..5ad80c6ba
--- /dev/null
+++ b/library/intl/resources/country/mas.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/mer.json b/library/intl/resources/country/mer.json
new file mode 100644
index 000000000..222406ed9
--- /dev/null
+++ b/library/intl/resources/country/mer.json
@@ -0,0 +1,761 @@
+{
+ "IE": {
+ "name": "Aelandi"
+ },
+ "ZA": {
+ "name": "Afrika ya Southi"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "CK": {
+ "name": "AÄ©randi cia Cook"
+ },
+ "FK": {
+ "name": "AÄ©randi cia Falklandi"
+ },
+ "KY": {
+ "name": "AÄ©randi cia Kayman"
+ },
+ "MP": {
+ "name": "AÄ©randi cia Mariana ya nothi"
+ },
+ "MH": {
+ "name": "AÄ©randi cia Marshal"
+ },
+ "NF": {
+ "name": "AÄ©randi cia Norfok"
+ },
+ "SB": {
+ "name": "Airandi Cia Solomon"
+ },
+ "TC": {
+ "name": "Aĩrandi cia Takĩ na Kaiko"
+ },
+ "VI": {
+ "name": "AÄ©randi cia Virgin cia Amerika"
+ },
+ "VG": {
+ "name": "AÄ©randi cia Virgin cia Ngeretha"
+ },
+ "IS": {
+ "name": "Aisilandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Alubania"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "DZ": {
+ "name": "Angiria"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AT": {
+ "name": "Austiria"
+ },
+ "AU": {
+ "name": "Austrĩlia"
+ },
+ "AZ": {
+ "name": "Azebaijani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "BH": {
+ "name": "Baharini"
+ },
+ "BM": {
+ "name": "Bamuda"
+ },
+ "BD": {
+ "name": "Bangiradeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BE": {
+ "name": "Beronjiamu"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilu"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "CY": {
+ "name": "Caipurasi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denimaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme cia Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "FI": {
+ "name": "Finilandi"
+ },
+ "FR": {
+ "name": "Fransi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GQ": {
+ "name": "Gine ya Iquita"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Fransi"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HU": {
+ "name": "Hangarĩ"
+ },
+ "NL": {
+ "name": "Holandi"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Irani"
+ },
+ "IL": {
+ "name": "Isiraeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italĩ"
+ },
+ "ET": {
+ "name": "Ithiopia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "JO": {
+ "name": "Jorondani"
+ },
+ "NC": {
+ "name": "Kalendoia Ĩnjeru"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kata"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "CU": {
+ "name": "Kiuba"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KP": {
+ "name": "Korea Nothi"
+ },
+ "KR": {
+ "name": "Korea Saũthi"
+ },
+ "HR": {
+ "name": "Koroashia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "KW": {
+ "name": "Kuwĩ ti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "LÄ©bia"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembogu"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagasika"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MY": {
+ "name": "Malĩsia"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Maurĩtiasi"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Mozambiki"
+ },
+ "MM": {
+ "name": "Myanima"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "GB": {
+ "name": "Ngeretha"
+ },
+ "GI": {
+ "name": "Ngĩbrata"
+ },
+ "GR": {
+ "name": "Ngiriki"
+ },
+ "GL": {
+ "name": "Ngirinilandi"
+ },
+ "NE": {
+ "name": "Nija"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NZ": {
+ "name": "Niuzilandi"
+ },
+ "DE": {
+ "name": "Njamanĩ"
+ },
+ "NO": {
+ "name": "Norwi"
+ },
+ "IO": {
+ "name": "Nthĩ cia Ngeretha gatagatĩ ka ĩria ria Hindi"
+ },
+ "CF": {
+ "name": "Nthĩ ya Afrika gatĩgatĩ"
+ },
+ "CZ": {
+ "name": "Nthĩ ya Cheki"
+ },
+ "DO": {
+ "name": "Nthĩ ya Dominika"
+ },
+ "CD": {
+ "name": "Nthĩ ya Kidemokrasĩ ya Kongo"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Fransi"
+ },
+ "PT": {
+ "name": "Potogo"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RU": {
+ "name": "Rashia"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "PS": {
+ "name": "RÅ©tere rwa Westi banki na Gaza cia Palestina"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Amerika"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senego"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spĩni"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "SE": {
+ "name": "Swideni"
+ },
+ "CH": {
+ "name": "Swizilandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TR": {
+ "name": "Takĩ"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thaĩlandi"
+ },
+ "TL": {
+ "name": "Timori ya Isti"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Tukumenistani"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukirĩni"
+ },
+ "UY": {
+ "name": "Urugwĩ"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/mfe.json b/library/intl/resources/country/mfe.json
new file mode 100644
index 000000000..cdb6195a9
--- /dev/null
+++ b/library/intl/resources/country/mfe.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albani"
+ },
+ "DE": {
+ "name": "Almagn"
+ },
+ "DZ": {
+ "name": "Alzeri"
+ },
+ "AD": {
+ "name": "Andor"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua-ek-Barbuda"
+ },
+ "AM": {
+ "name": "Armeni"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "HT": {
+ "name": "Ayti"
+ },
+ "AZ": {
+ "name": "Azerbaïdjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahreïn"
+ },
+ "BD": {
+ "name": "Banglades"
+ },
+ "BB": {
+ "name": "Barbad"
+ },
+ "BY": {
+ "name": "Belaris"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "BE": {
+ "name": "Belzik"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermid"
+ },
+ "BG": {
+ "name": "Bilgari"
+ },
+ "BO": {
+ "name": "Bolivi"
+ },
+ "BA": {
+ "name": "Bosni-Herzegovinn"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BT": {
+ "name": "Boutan"
+ },
+ "BR": {
+ "name": "Brezil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "DK": {
+ "name": "Dannmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominik"
+ },
+ "EC": {
+ "name": "Ekwater"
+ },
+ "AE": {
+ "name": "Emira arab ini"
+ },
+ "ER": {
+ "name": "Erythre"
+ },
+ "EE": {
+ "name": "Estoni"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "PH": {
+ "name": "Filipinn"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GQ": {
+ "name": "Gine ekwatoryal"
+ },
+ "GW": {
+ "name": "Gine-Bisau"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenad"
+ },
+ "GR": {
+ "name": "Gres"
+ },
+ "GP": {
+ "name": "Guadloup"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Gwiyann franse"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "UA": {
+ "name": "Ikrenn"
+ },
+ "ID": {
+ "name": "Indonezi"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kambodj"
+ },
+ "CM": {
+ "name": "Kamerounn"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "CV": {
+ "name": "Kap-Ver"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirghizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolonbi"
+ },
+ "KM": {
+ "name": "Komor"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Koweit"
+ },
+ "HR": {
+ "name": "Kroasi"
+ },
+ "FR": {
+ "name": "Lafrans"
+ },
+ "KP": {
+ "name": "Lakore-dinor"
+ },
+ "KR": {
+ "name": "Lakore-disid"
+ },
+ "US": {
+ "name": "Lamerik"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "SA": {
+ "name": "Larabi Saoudit"
+ },
+ "RE": {
+ "name": "Larenion"
+ },
+ "RU": {
+ "name": "Larisi"
+ },
+ "AR": {
+ "name": "Larzantinn"
+ },
+ "CN": {
+ "name": "Lasinn"
+ },
+ "SY": {
+ "name": "Lasiri"
+ },
+ "SE": {
+ "name": "Laswed"
+ },
+ "CH": {
+ "name": "Laswis"
+ },
+ "VA": {
+ "name": "Lata Vatikan"
+ },
+ "IN": {
+ "name": "Lenn"
+ },
+ "ES": {
+ "name": "Lespagn"
+ },
+ "ET": {
+ "name": "Letiopi"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "EG": {
+ "name": "Lezipt"
+ },
+ "LS": {
+ "name": "Lezoto"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "NF": {
+ "name": "Lil Norfolk"
+ },
+ "LT": {
+ "name": "Lituani"
+ },
+ "AU": {
+ "name": "Lostrali"
+ },
+ "AT": {
+ "name": "Lostris"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiv"
+ },
+ "MY": {
+ "name": "Malezi"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malt"
+ },
+ "MA": {
+ "name": "Marok"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MK": {
+ "name": "Masedwann"
+ },
+ "YT": {
+ "name": "Mayot"
+ },
+ "MX": {
+ "name": "Mexik"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "MD": {
+ "name": "Moldavi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montsera"
+ },
+ "MU": {
+ "name": "Moris"
+ },
+ "MR": {
+ "name": "Moritani"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NU": {
+ "name": "Niowe"
+ },
+ "NE": {
+ "name": "Nizer"
+ },
+ "NG": {
+ "name": "Nizeria"
+ },
+ "NO": {
+ "name": "Norvez"
+ },
+ "NZ": {
+ "name": "Nouvel Zeland"
+ },
+ "NC": {
+ "name": "Nouvel-Kaledoni"
+ },
+ "NL": {
+ "name": "Oland"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "HU": {
+ "name": "Ongri"
+ },
+ "UG": {
+ "name": "Ouganda"
+ },
+ "UZ": {
+ "name": "Ouzbekistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papouazi-Nouvel-Gine"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Perou"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinezi franse"
+ },
+ "PL": {
+ "name": "Pologn"
+ },
+ "PT": {
+ "name": "Portigal"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "CZ": {
+ "name": "Repiblik Chek"
+ },
+ "CD": {
+ "name": "Repiblik demokratik Kongo"
+ },
+ "DO": {
+ "name": "Repiblik dominikin"
+ },
+ "CF": {
+ "name": "Repiblik Lafrik Santral"
+ },
+ "RO": {
+ "name": "Roumani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "KN": {
+ "name": "Saint-Christophe-ek-Niévès"
+ },
+ "SM": {
+ "name": "Saint-Marin"
+ },
+ "PM": {
+ "name": "Saint-Pierre-ek-Miquelon"
+ },
+ "VC": {
+ "name": "Saint-Vincent-ek-Grenadines"
+ },
+ "SH": {
+ "name": "Sainte-Hélène"
+ },
+ "LC": {
+ "name": "Sainte-Lucie"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa amerikin"
+ },
+ "ST": {
+ "name": "São Tome-ek-Prínsip"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sesel"
+ },
+ "CL": {
+ "name": "Shili"
+ },
+ "ZA": {
+ "name": "Sid-Afrik"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapour"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaki"
+ },
+ "SI": {
+ "name": "Sloveni"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "SD": {
+ "name": "Soudan"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzani"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "IO": {
+ "name": "Teritwar Britanik Losean Indien"
+ },
+ "PS": {
+ "name": "Teritwar Palestinn"
+ },
+ "TH": {
+ "name": "Thayland"
+ },
+ "TL": {
+ "name": "Timor oriantal"
+ },
+ "TN": {
+ "name": "Tinizi"
+ },
+ "TR": {
+ "name": "Tirki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinite-ek-Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis-ek-Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemenn"
+ },
+ "JM": {
+ "name": "Zamaik"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "JP": {
+ "name": "Zapon"
+ },
+ "GE": {
+ "name": "Zeorzi"
+ },
+ "GI": {
+ "name": "Zibraltar"
+ },
+ "CK": {
+ "name": "Zil Cook"
+ },
+ "KY": {
+ "name": "Zil Kayman"
+ },
+ "FK": {
+ "name": "Zil malwinn"
+ },
+ "MH": {
+ "name": "Zil Marshall"
+ },
+ "MP": {
+ "name": "Zil Maryann dinor"
+ },
+ "SB": {
+ "name": "Zil Salomon"
+ },
+ "TC": {
+ "name": "Zil Tirk ek Caïcos"
+ },
+ "VG": {
+ "name": "Zil vierz britanik"
+ },
+ "VI": {
+ "name": "Zil Vierz Lamerik"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "JO": {
+ "name": "Zordani"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/mg.json b/library/intl/resources/country/mg.json
new file mode 100644
index 000000000..b2d229987
--- /dev/null
+++ b/library/intl/resources/country/mg.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrika Atsimo"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DE": {
+ "name": "Alemaina"
+ },
+ "DZ": {
+ "name": "Alzeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "GB": {
+ "name": "Angletera"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiga sy Barboda"
+ },
+ "AU": {
+ "name": "Aostralia"
+ },
+ "AT": {
+ "name": "Aotrisy"
+ },
+ "SA": {
+ "name": "Arabia saodita"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Arobà"
+ },
+ "AR": {
+ "name": "Arzantina"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azerbaidjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesy"
+ },
+ "BB": {
+ "name": "Barbady"
+ },
+ "BY": {
+ "name": "Belarosy"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BE": {
+ "name": "Belzika"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermioda"
+ },
+ "BT": {
+ "name": "Bhotana"
+ },
+ "BG": {
+ "name": "Biolgaria"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BF": {
+ "name": "Borkina Faso"
+ },
+ "BI": {
+ "name": "Borondi"
+ },
+ "BA": {
+ "name": "Bosnia sy Herzegovina"
+ },
+ "BW": {
+ "name": "Botsoana"
+ },
+ "BR": {
+ "name": "Brezila"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmarka"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djiboti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EG": {
+ "name": "Ejypta"
+ },
+ "EC": {
+ "name": "Ekoatera"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirà Arabo mitambatra"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "ES": {
+ "name": "Espaina"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "US": {
+ "name": "Etazonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "IO": {
+ "name": "Faridranomasina indiana britanika"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fidji"
+ },
+ "PH": {
+ "name": "Filipina"
+ },
+ "FI": {
+ "name": "Finlandy"
+ },
+ "VA": {
+ "name": "Firenen’i Vatikana"
+ },
+ "FR": {
+ "name": "Frantsa"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GW": {
+ "name": "Giné-Bisao"
+ },
+ "GN": {
+ "name": "Ginea"
+ },
+ "GP": {
+ "name": "Goadelopy"
+ },
+ "GT": {
+ "name": "Goatemalà"
+ },
+ "GD": {
+ "name": "Grenady"
+ },
+ "GR": {
+ "name": "Gresy"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GQ": {
+ "name": "Guinea Ekoatera"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana frantsay"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holanda"
+ },
+ "HN": {
+ "name": "Hondiorasy"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hongria"
+ },
+ "ID": {
+ "name": "Indonezia"
+ },
+ "IN": {
+ "name": "Indy"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlandy"
+ },
+ "IS": {
+ "name": "Islandy"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israely"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaïka"
+ },
+ "JP": {
+ "name": "Japana"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KH": {
+ "name": "Kambôdja"
+ },
+ "CM": {
+ "name": "Kamerona"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CU": {
+ "name": "Kiobà"
+ },
+ "KG": {
+ "name": "Kiordistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KW": {
+ "name": "Kôeity"
+ },
+ "CO": {
+ "name": "Kôlômbia"
+ },
+ "KM": {
+ "name": "Kômaoro"
+ },
+ "CG": {
+ "name": "Kôngô"
+ },
+ "KR": {
+ "name": "Korea Atsimo"
+ },
+ "KP": {
+ "name": "Korea Avaratra"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rikà"
+ },
+ "HR": {
+ "name": "Kroasia"
+ },
+ "LA": {
+ "name": "Laôs"
+ },
+ "RE": {
+ "name": "Larenion"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Libana"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LU": {
+ "name": "Lioksamboro"
+ },
+ "LI": {
+ "name": "Listenstein"
+ },
+ "LT": {
+ "name": "Litoania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasikara"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MY": {
+ "name": "Malaizia"
+ },
+ "MW": {
+ "name": "Malaoì"
+ },
+ "MV": {
+ "name": "Maldiva"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MU": {
+ "name": "Maorisy"
+ },
+ "MR": {
+ "name": "Maoritania"
+ },
+ "MA": {
+ "name": "Marôka"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "YT": {
+ "name": "Mayôty"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "FM": {
+ "name": "Mikrônezia"
+ },
+ "MD": {
+ "name": "Môldavia"
+ },
+ "MC": {
+ "name": "Mônakô"
+ },
+ "MN": {
+ "name": "Môngôlia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambika"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Naorò"
+ },
+ "NP": {
+ "name": "Nepala"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NI": {
+ "name": "Nikaragoà"
+ },
+ "NU": {
+ "name": "Nioé"
+ },
+ "NG": {
+ "name": "Nizeria"
+ },
+ "NO": {
+ "name": "Nôrvezy"
+ },
+ "VG": {
+ "name": "Nosy britanika virijiny"
+ },
+ "CV": {
+ "name": "Nosy Cap-Vert"
+ },
+ "FK": {
+ "name": "Nosy Falkand"
+ },
+ "KY": {
+ "name": "Nosy Kayman"
+ },
+ "CK": {
+ "name": "Nosy Kook"
+ },
+ "MP": {
+ "name": "Nosy Mariana Atsinanana"
+ },
+ "MH": {
+ "name": "Nosy Marshall"
+ },
+ "NF": {
+ "name": "Nosy Norfolk"
+ },
+ "SB": {
+ "name": "Nosy Salomona"
+ },
+ "TC": {
+ "name": "Nosy Turks sy Caïques"
+ },
+ "VI": {
+ "name": "Nosy Virijiny Etazonia"
+ },
+ "NC": {
+ "name": "Nouvelle-Calédonie"
+ },
+ "NZ": {
+ "name": "Nouvelle-Zélande"
+ },
+ "UG": {
+ "name": "Oganda"
+ },
+ "UA": {
+ "name": "Okraina"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "UY": {
+ "name": "Orogoay"
+ },
+ "UZ": {
+ "name": "Ozbekistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palao"
+ },
+ "PS": {
+ "name": "Palestina"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papouasie-Nouvelle-Guinée"
+ },
+ "PY": {
+ "name": "Paragoay"
+ },
+ "PE": {
+ "name": "Peroa"
+ },
+ "PN": {
+ "name": "Pitkairn"
+ },
+ "PL": {
+ "name": "Pôlôna"
+ },
+ "PF": {
+ "name": "Polynezia frantsay"
+ },
+ "PT": {
+ "name": "Pôrtiogala"
+ },
+ "PR": {
+ "name": "Pôrtô Rikô"
+ },
+ "DO": {
+ "name": "Repoblika Dominikanina"
+ },
+ "CF": {
+ "name": "Repoblika Ivon’Afrika"
+ },
+ "CD": {
+ "name": "Repoblikan’i Kongo"
+ },
+ "CZ": {
+ "name": "Repoblikan’i Tseky"
+ },
+ "RW": {
+ "name": "Roanda"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Rosia"
+ },
+ "KN": {
+ "name": "Saint-Christophe-et-Niévès"
+ },
+ "SM": {
+ "name": "Saint-Marin"
+ },
+ "PM": {
+ "name": "Saint-Pierre-et-Miquelon"
+ },
+ "VC": {
+ "name": "Saint-Vincent-et-les Grenadines"
+ },
+ "SH": {
+ "name": "Sainte-Hélène"
+ },
+ "LC": {
+ "name": "Sainte-Lucie"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa amerikanina"
+ },
+ "ST": {
+ "name": "São Tomé-et-Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seyshela"
+ },
+ "CL": {
+ "name": "Shili"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "CN": {
+ "name": "Sina"
+ },
+ "SG": {
+ "name": "Singaporo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SZ": {
+ "name": "Soazilandy"
+ },
+ "SD": {
+ "name": "Sodan"
+ },
+ "SE": {
+ "name": "Soedy"
+ },
+ "CH": {
+ "name": "Soisa"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "SR": {
+ "name": "Sorinam"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "CY": {
+ "name": "Sypra"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taioana"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailandy"
+ },
+ "TL": {
+ "name": "Timor Atsinanana"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelao"
+ },
+ "TO": {
+ "name": "Tongà"
+ },
+ "TN": {
+ "name": "Tonizia"
+ },
+ "TR": {
+ "name": "Torkia"
+ },
+ "TM": {
+ "name": "Torkmenistan"
+ },
+ "TV": {
+ "name": "Tovalò"
+ },
+ "TT": {
+ "name": "Trinidad sy Tobagô"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsady"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VU": {
+ "name": "Vanoatò"
+ },
+ "VE": {
+ "name": "Venezoelà"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis sy Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "GE": {
+ "name": "Zeorzia"
+ },
+ "GI": {
+ "name": "Zibraltara"
+ },
+ "ZW": {
+ "name": "Zimbaboe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/mgh.json b/library/intl/resources/country/mgh.json
new file mode 100644
index 000000000..516a1a273
--- /dev/null
+++ b/library/intl/resources/country/mgh.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika du Sulu"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "DZ": {
+ "name": "Alujeria"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia & Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "AL": {
+ "name": "Ualbania"
+ },
+ "AD": {
+ "name": "Uandora"
+ },
+ "IE": {
+ "name": "Uayalandi"
+ },
+ "AZ": {
+ "name": "Uazabajani"
+ },
+ "BJ": {
+ "name": "Ubelin"
+ },
+ "MG": {
+ "name": "Ubukini"
+ },
+ "TD": {
+ "name": "Uchadi"
+ },
+ "CZ": {
+ "name": "Ucheki"
+ },
+ "CL": {
+ "name": "Uchile"
+ },
+ "CN": {
+ "name": "Uchina"
+ },
+ "DK": {
+ "name": "Udenimaka"
+ },
+ "DM": {
+ "name": "Udominika"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "GF": {
+ "name": "Ufaransa yo Gwaya"
+ },
+ "PF": {
+ "name": "Ufaransa yo Potina"
+ },
+ "FJ": {
+ "name": "Ufiji"
+ },
+ "PH": {
+ "name": "Ufilipino"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "AF": {
+ "name": "Ufugustani"
+ },
+ "GA": {
+ "name": "Ugaboni"
+ },
+ "GM": {
+ "name": "Ugambia"
+ },
+ "GH": {
+ "name": "Ugana"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GN": {
+ "name": "Ugine"
+ },
+ "GW": {
+ "name": "Uginebisau"
+ },
+ "GD": {
+ "name": "Ugrenada"
+ },
+ "GL": {
+ "name": "Ugrinlandi"
+ },
+ "GY": {
+ "name": "Uguyana"
+ },
+ "GP": {
+ "name": "Ugwadelupe"
+ },
+ "GU": {
+ "name": "Ugwam"
+ },
+ "GT": {
+ "name": "Ugwatemala"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "HT": {
+ "name": "Uhaiti"
+ },
+ "IN": {
+ "name": "Uhindini"
+ },
+ "ES": {
+ "name": "Uhispania"
+ },
+ "HN": {
+ "name": "Uhondurasi"
+ },
+ "HU": {
+ "name": "Uhungaria"
+ },
+ "IL": {
+ "name": "Uisraeli"
+ },
+ "JM": {
+ "name": "Ujamaika"
+ },
+ "JP": {
+ "name": "Ujapani"
+ },
+ "GI": {
+ "name": "Ujibralta"
+ },
+ "DJ": {
+ "name": "Ujibuti"
+ },
+ "TJ": {
+ "name": "Ujikistani"
+ },
+ "GE": {
+ "name": "Ujojia"
+ },
+ "KH": {
+ "name": "Ukambodia"
+ },
+ "CA": {
+ "name": "Ukanada"
+ },
+ "QA": {
+ "name": "Ukatari"
+ },
+ "KZ": {
+ "name": "Ukazakistani"
+ },
+ "KE": {
+ "name": "Ukenya"
+ },
+ "CI": {
+ "name": "Ukodiva"
+ },
+ "CO": {
+ "name": "Ukolombia"
+ },
+ "KM": {
+ "name": "Ukomoro"
+ },
+ "CG": {
+ "name": "Ukongo"
+ },
+ "HR": {
+ "name": "Ukorasia"
+ },
+ "KP": {
+ "name": "Ukorea Kaskazini"
+ },
+ "KR": {
+ "name": "Ukorea Kusini"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "CU": {
+ "name": "Ukuba"
+ },
+ "CY": {
+ "name": "Ukuprosi"
+ },
+ "LV": {
+ "name": "Ulativia"
+ },
+ "LB": {
+ "name": "Ulebanoni"
+ },
+ "LS": {
+ "name": "Ulesoto"
+ },
+ "LR": {
+ "name": "Uliberia"
+ },
+ "LY": {
+ "name": "Ulibya"
+ },
+ "MW": {
+ "name": "Umalawi"
+ },
+ "ME": {
+ "name": "Umantegro"
+ },
+ "US": {
+ "name": "Umarekani"
+ },
+ "MK": {
+ "name": "Umasedonia"
+ },
+ "EG": {
+ "name": "Umisiri"
+ },
+ "MZ": {
+ "name": "Umozambiki"
+ },
+ "ID": {
+ "name": "Undonesia"
+ },
+ "NE": {
+ "name": "Unijeri"
+ },
+ "NG": {
+ "name": "Unijeria"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "NO": {
+ "name": "Unorwe"
+ },
+ "OM": {
+ "name": "Uomani"
+ },
+ "PK": {
+ "name": "Upakistani"
+ },
+ "PA": {
+ "name": "Upanama"
+ },
+ "PG": {
+ "name": "Upapua"
+ },
+ "PE": {
+ "name": "Uperuu"
+ },
+ "PN": {
+ "name": "Upitkairni"
+ },
+ "PL": {
+ "name": "Upolandi"
+ },
+ "PR": {
+ "name": "Upwetoriko"
+ },
+ "ER": {
+ "name": "Uriterea"
+ },
+ "RE": {
+ "name": "Uriyunioni"
+ },
+ "RO": {
+ "name": "Uromania"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "BI": {
+ "name": "Urundi"
+ },
+ "RW": {
+ "name": "Urwanda"
+ },
+ "SV": {
+ "name": "Usalavado"
+ },
+ "SM": {
+ "name": "Usamarino"
+ },
+ "WS": {
+ "name": "Usamoa"
+ },
+ "AS": {
+ "name": "Usamoa ya Marekani"
+ },
+ "SH": {
+ "name": "Usantahelena"
+ },
+ "KN": {
+ "name": "Usantakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Usantalusia"
+ },
+ "PM": {
+ "name": "Usantapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Usantavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Usao Tome na Principe"
+ },
+ "SA": {
+ "name": "Usaudi"
+ },
+ "LU": {
+ "name": "Usembaji"
+ },
+ "SN": {
+ "name": "Usenegali"
+ },
+ "SC": {
+ "name": "Ushelisheli"
+ },
+ "LI": {
+ "name": "Ushenteni"
+ },
+ "SG": {
+ "name": "Usingapoo"
+ },
+ "SY": {
+ "name": "Usiria"
+ },
+ "LK": {
+ "name": "Usirilanka"
+ },
+ "SK": {
+ "name": "Uslovakia"
+ },
+ "SI": {
+ "name": "Uslovenia"
+ },
+ "SO": {
+ "name": "Usomalia"
+ },
+ "SD": {
+ "name": "Usudani"
+ },
+ "SR": {
+ "name": "Usurinamu"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TH": {
+ "name": "Utailandi"
+ },
+ "TZ": {
+ "name": "Utanzania"
+ },
+ "TL": {
+ "name": "Utimo Mashariki"
+ },
+ "TG": {
+ "name": "Utogo"
+ },
+ "TK": {
+ "name": "Utokelau"
+ },
+ "TO": {
+ "name": "Utonga"
+ },
+ "TT": {
+ "name": "Utrinidad na Tobago"
+ },
+ "TR": {
+ "name": "Utuki"
+ },
+ "TN": {
+ "name": "Utunisia"
+ },
+ "TM": {
+ "name": "Uturukimenistani"
+ },
+ "TV": {
+ "name": "Utuvalu"
+ },
+ "LT": {
+ "name": "Utwania"
+ },
+ "VU": {
+ "name": "Uvanuatu"
+ },
+ "VA": {
+ "name": "Uvatikani"
+ },
+ "VE": {
+ "name": "Uvenezuela"
+ },
+ "VN": {
+ "name": "Uvietinamu"
+ },
+ "WF": {
+ "name": "Uwalis na Futuna"
+ },
+ "YE": {
+ "name": "Uyemeni"
+ },
+ "JO": {
+ "name": "Uyordani"
+ },
+ "ZM": {
+ "name": "Uzambia"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "ZW": {
+ "name": "Uzimbabwe"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "IQ": {
+ "name": "Wiraki"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/mk.json b/library/intl/resources/country/mk.json
new file mode 100644
index 000000000..0dae5e0d8
--- /dev/null
+++ b/library/intl/resources/country/mk.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "ÐвганиÑтан"
+ },
+ "AU": {
+ "name": "ÐвÑтралија"
+ },
+ "AT": {
+ "name": "ÐвÑтрија"
+ },
+ "AZ": {
+ "name": "Ðзербејџан"
+ },
+ "AL": {
+ "name": "Ðлбанија"
+ },
+ "DZ": {
+ "name": "Ðлжир"
+ },
+ "AS": {
+ "name": "ÐмериканÑка Самоа"
+ },
+ "VI": {
+ "name": "ÐмериканÑки ДевÑтвени ОÑтрови"
+ },
+ "UM": {
+ "name": "ÐмериканÑки територии во Пацификот"
+ },
+ "AI": {
+ "name": "Ðнгвила"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AD": {
+ "name": "Ðндора"
+ },
+ "AQ": {
+ "name": "Ðнтарктик"
+ },
+ "AG": {
+ "name": "Ðнтигва и Барбуда"
+ },
+ "AR": {
+ "name": "Ðргентина"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахреин"
+ },
+ "BE": {
+ "name": "Белгија"
+ },
+ "BZ": {
+ "name": "Белизе"
+ },
+ "BY": {
+ "name": "БелоруÑија"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуди"
+ },
+ "CX": {
+ "name": "Божиќен ОÑтров"
+ },
+ "BO": {
+ "name": "Боливија"
+ },
+ "BA": {
+ "name": "БоÑна и Херцеговина"
+ },
+ "BW": {
+ "name": "Боцвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "CI": {
+ "name": "Брегот на Слоновата КоÑка"
+ },
+ "IO": {
+ "name": "БританÑка ИндоокеанÑка Територија"
+ },
+ "VG": {
+ "name": "БританÑки ДевÑтвени ОÑтрови"
+ },
+ "BN": {
+ "name": "Брунеј"
+ },
+ "BG": {
+ "name": "Бугарија"
+ },
+ "BF": {
+ "name": "Буркина ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Виетнам"
+ },
+ "WF": {
+ "name": "Ð’Ð¾Ð»Ð¸Ñ Ð¸ Футуна"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "Гамбија"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гвадалупе"
+ },
+ "GY": {
+ "name": "Гвајана"
+ },
+ "GU": {
+ "name": "Гвам"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинеја"
+ },
+ "GW": {
+ "name": "Гвинеја-БиÑау"
+ },
+ "DE": {
+ "name": "Германија"
+ },
+ "GG": {
+ "name": "Гернзи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GE": {
+ "name": "Грузија"
+ },
+ "GR": {
+ "name": "Грција"
+ },
+ "DK": {
+ "name": "ДанÑка"
+ },
+ "DG": {
+ "name": "Диего ГарÑија"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "ДоминиканÑка Република"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "ЕкваторÑка Гвинеја"
+ },
+ "SV": {
+ "name": "Ел Салвадор"
+ },
+ "ER": {
+ "name": "Еритреја"
+ },
+ "AM": {
+ "name": "Ерменија"
+ },
+ "EE": {
+ "name": "ЕÑтонија"
+ },
+ "ET": {
+ "name": "Етиопија"
+ },
+ "ZM": {
+ "name": "Замбија"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "CV": {
+ "name": "Зелен ’Рт"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "IN": {
+ "name": "Индија"
+ },
+ "ID": {
+ "name": "Индонезија"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "ИрÑка"
+ },
+ "IS": {
+ "name": "ИÑланд"
+ },
+ "TL": {
+ "name": "ИÑточен Тимор (Тимор ЛеÑте)"
+ },
+ "IT": {
+ "name": "Италија"
+ },
+ "JM": {
+ "name": "Јамајка"
+ },
+ "JP": {
+ "name": "Јапонија"
+ },
+ "YE": {
+ "name": "Јемен"
+ },
+ "JO": {
+ "name": "Јордан"
+ },
+ "SS": {
+ "name": "Јужен Судан"
+ },
+ "KR": {
+ "name": "Јужна Кореја"
+ },
+ "GS": {
+ "name": "Јужна Ðорџија и Јужни Сендвички ОÑтрови"
+ },
+ "ZA": {
+ "name": "ЈужноафриканÑка Република"
+ },
+ "KZ": {
+ "name": "КазахÑтан"
+ },
+ "KY": {
+ "name": "КајманÑки ОÑтрови"
+ },
+ "KH": {
+ "name": "Камбоџа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "КанарÑки ОÑтрови"
+ },
+ "BQ": {
+ "name": "КарипÑка Холандија"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенија"
+ },
+ "CN": {
+ "name": "Кина"
+ },
+ "CY": {
+ "name": "Кипар"
+ },
+ "KG": {
+ "name": "КиргиÑтан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "КокоÑови (Килиншки) ОÑтрови"
+ },
+ "CO": {
+ "name": "Колумбија"
+ },
+ "KM": {
+ "name": "КоморÑки ОÑтрови"
+ },
+ "CG": {
+ "name": "Конго - Бразавил"
+ },
+ "CD": {
+ "name": "Конго - КиншаÑа"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑтарика"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувајт"
+ },
+ "CK": {
+ "name": "Кукови ОÑтрови"
+ },
+ "CW": {
+ "name": "КураÑао"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "Латвија"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LB": {
+ "name": "Либан"
+ },
+ "LR": {
+ "name": "Либерија"
+ },
+ "LY": {
+ "name": "Либија"
+ },
+ "LT": {
+ "name": "Литванија"
+ },
+ "LI": {
+ "name": "Лихтенштајн"
+ },
+ "LU": {
+ "name": "ЛукÑембург"
+ },
+ "MR": {
+ "name": "Мавританија"
+ },
+ "MU": {
+ "name": "МаврициуÑ"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "YT": {
+ "name": "Мајот"
+ },
+ "MO": {
+ "name": "Макао С.Ð.Р Кина"
+ },
+ "MK": {
+ "name": "Македонија"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "MY": {
+ "name": "Малезија"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "МаршалÑки ОÑтрови"
+ },
+ "MX": {
+ "name": "МекÑико"
+ },
+ "FM": {
+ "name": "Микронезија"
+ },
+ "MM": {
+ "name": "Мјанмар (Бурма)"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдавија"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголија"
+ },
+ "MS": {
+ "name": "МонÑерат"
+ },
+ "NA": {
+ "name": "Ðамибија"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "Ðигерија"
+ },
+ "NI": {
+ "name": "Ðикарагва"
+ },
+ "NU": {
+ "name": "Ðиуе"
+ },
+ "NZ": {
+ "name": "Ðов Зеланд"
+ },
+ "NC": {
+ "name": "Ðова Каледонија"
+ },
+ "NO": {
+ "name": "Ðорвешка"
+ },
+ "NF": {
+ "name": "Ðорфолшки ОÑтров"
+ },
+ "AE": {
+ "name": "Обединети ÐрапÑки Емирати"
+ },
+ "GB": {
+ "name": "Обединето КралÑтво"
+ },
+ "AX": {
+ "name": "ОландÑки оÑтрови"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "AC": {
+ "name": "ОÑтров ÐÑенÑион"
+ },
+ "IM": {
+ "name": "ОÑтров Ман"
+ },
+ "TC": {
+ "name": "ОÑтрови Ð¢ÑƒÑ€ÐºÑ Ð¸ КајкоÑ"
+ },
+ "PK": {
+ "name": "ПакиÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "ПалеÑтинÑки територии"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Ðова Гвинеја"
+ },
+ "PY": {
+ "name": "Парагвај"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "ПиткернÑки ОÑтрови"
+ },
+ "PL": {
+ "name": "ПолÑка"
+ },
+ "PR": {
+ "name": "Порторико"
+ },
+ "PT": {
+ "name": "Португалија"
+ },
+ "CZ": {
+ "name": "Република Чешка"
+ },
+ "RE": {
+ "name": "Ријунион"
+ },
+ "RO": {
+ "name": "Романија"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RU": {
+ "name": "РуÑија"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и ПринÑипе"
+ },
+ "SA": {
+ "name": "СаудиÑка Ðрабија"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Жан Мејен"
+ },
+ "SH": {
+ "name": "Света Елена"
+ },
+ "LC": {
+ "name": "Света Луција"
+ },
+ "BL": {
+ "name": "Свети Вартоломеј"
+ },
+ "VC": {
+ "name": "Свети ВинÑент и Гренадините"
+ },
+ "KN": {
+ "name": "Свети КриÑтофер и ÐевиÑ"
+ },
+ "SX": {
+ "name": "Свети Мартин"
+ },
+ "KP": {
+ "name": "Северна Кореја"
+ },
+ "MP": {
+ "name": "Северни МаријанÑки ОÑтрови"
+ },
+ "SC": {
+ "name": "Сејшели"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "MF": {
+ "name": "Сент Мартин"
+ },
+ "PM": {
+ "name": "Сент Пјер и Микелан"
+ },
+ "EA": {
+ "name": "Сеута и Мелиља"
+ },
+ "SL": {
+ "name": "Сиера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SY": {
+ "name": "Сирија"
+ },
+ "SK": {
+ "name": "Словачка"
+ },
+ "SI": {
+ "name": "Словенија"
+ },
+ "US": {
+ "name": "Соединети ÐмериканÑки Држави"
+ },
+ "SB": {
+ "name": "СоломонÑки ОÑтрови"
+ },
+ "SO": {
+ "name": "Сомалија"
+ },
+ "RS": {
+ "name": "Србија"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TW": {
+ "name": "Тајван"
+ },
+ "TH": {
+ "name": "Тајланд"
+ },
+ "TZ": {
+ "name": "Танзанија"
+ },
+ "TJ": {
+ "name": "ТаџикиÑтан"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "ТриÑтан да Куња"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "TM": {
+ "name": "ТуркмениÑтан"
+ },
+ "TR": {
+ "name": "Турција"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "УзбекиÑтан"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "HU": {
+ "name": "Унгарија"
+ },
+ "UY": {
+ "name": "Уругвај"
+ },
+ "FO": {
+ "name": "ФарÑки ОÑтрови"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "ФинÑка"
+ },
+ "FJ": {
+ "name": "Фиџи"
+ },
+ "FK": {
+ "name": "ФолкландÑки ОÑтрови"
+ },
+ "FR": {
+ "name": "Франција"
+ },
+ "GF": {
+ "name": "ФранцуÑка Гвајана"
+ },
+ "PF": {
+ "name": "ФранцуÑка Полинезија"
+ },
+ "TF": {
+ "name": "ФранцуÑки Јужни територии"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "NL": {
+ "name": "Холандија"
+ },
+ "HK": {
+ "name": "Хонг Конг С.Ð.Р Кина"
+ },
+ "HN": {
+ "name": "ХондураÑ"
+ },
+ "HR": {
+ "name": "ХрватÑка"
+ },
+ "CF": {
+ "name": "ЦентралноафриканÑка Република"
+ },
+ "ME": {
+ "name": "Црна Гора"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CL": {
+ "name": "Чиле"
+ },
+ "JE": {
+ "name": "ÐерÑи"
+ },
+ "DJ": {
+ "name": "Ðибути"
+ },
+ "CH": {
+ "name": "Швајцарија"
+ },
+ "SE": {
+ "name": "ШведÑка"
+ },
+ "ES": {
+ "name": "Шпанија"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ml.json b/library/intl/resources/country/ml.json
new file mode 100644
index 000000000..398c97dd3
--- /dev/null
+++ b/library/intl/resources/country/ml.json
@@ -0,0 +1,761 @@
+{
+ "AQ": {
+ "name": "അൻറാർടàµà´Ÿà´¿à´•àµà´•"
+ },
+ "AD": {
+ "name": "à´…à´¨àµà´±àµ‹à´±"
+ },
+ "AF": {
+ "name": "à´…à´«àµâ€Œà´—ാനിസàµà´¥à´¾àµ»"
+ },
+ "US": {
+ "name": "അമേരികàµà´•àµ» à´à´•àµà´¯à´¨à´¾à´Ÿàµà´•àµ¾"
+ },
+ "AS": {
+ "name": "അമേരികàµà´•àµ» സമോവ"
+ },
+ "AO": {
+ "name": "അംഗോള"
+ },
+ "IE": {
+ "name": "അയർലാൻഡàµ"
+ },
+ "AR": {
+ "name": "അർജൻറീന"
+ },
+ "AM": {
+ "name": "അർമേനിയ"
+ },
+ "AX": {
+ "name": "അലൻഡൠദàµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "AL": {
+ "name": "അൽബേനിയ"
+ },
+ "AC": {
+ "name": "അസൻഷൻ à´¦àµà´µàµ€à´ªàµ"
+ },
+ "AZ": {
+ "name": "അസർബൈജാൻ"
+ },
+ "DZ": {
+ "name": "അൾജീരിയ"
+ },
+ "AW": {
+ "name": "അറൂബ"
+ },
+ "AI": {
+ "name": "ആൻഗàµà´µà´¿à´²àµà´²"
+ },
+ "AG": {
+ "name": "ആൻറിഗàµà´µà´¯àµà´‚ ബർബàµà´¡à´¯àµà´‚"
+ },
+ "EC": {
+ "name": "ഇകàµà´µà´¡àµ‹àµ¼"
+ },
+ "GQ": {
+ "name": "ഇകàµà´µà´±àµà´±àµ‹à´±à´¿à´¯àµ½ ഗിനിയ"
+ },
+ "ID": {
+ "name": "ഇനàµà´¤àµ‹à´¨àµ‡à´·àµà´¯"
+ },
+ "IN": {
+ "name": "ഇനàµà´¤àµà´¯"
+ },
+ "IL": {
+ "name": "ഇസàµà´°à´¾à´¯àµ‡àµ½"
+ },
+ "IQ": {
+ "name": "ഇറാഖàµ"
+ },
+ "IR": {
+ "name": "ഇറാൻ"
+ },
+ "IT": {
+ "name": "ഇറàµà´±à´²à´¿"
+ },
+ "EG": {
+ "name": "ഈജിപàµà´¤àµ"
+ },
+ "UA": {
+ "name": "ഉകàµà´°àµ†à´¯àµâ€Œàµ»"
+ },
+ "UG": {
+ "name": "ഉഗാണàµà´Ÿ"
+ },
+ "MP": {
+ "name": "ഉതàµà´¤à´° മറിയാനാ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "KP": {
+ "name": "ഉതàµà´¤à´°à´•àµŠà´±à´¿à´¯"
+ },
+ "UZ": {
+ "name": "ഉസàµâ€Œà´¬àµ†à´•àµà´•à´¿à´¸àµà´¥à´¾àµ»"
+ },
+ "UY": {
+ "name": "ഉറàµà´—àµà´µàµ‡"
+ },
+ "ET": {
+ "name": "à´Žà´¤àµà´¯àµ‹à´ªàµà´¯"
+ },
+ "SV": {
+ "name": "എൽ സാൽവദോർ"
+ },
+ "EE": {
+ "name": "à´Žà´¸àµà´±àµà´±àµ‹à´£à´¿à´¯â€"
+ },
+ "ER": {
+ "name": "എറിതàµà´°à´¿à´¯"
+ },
+ "IM": {
+ "name": "à´àµ½ ഓഫൠമാൻ"
+ },
+ "IS": {
+ "name": "à´à´¸àµâ€Œà´²à´¾à´¨àµà´±àµ"
+ },
+ "OM": {
+ "name": "ഒമാൻ"
+ },
+ "AT": {
+ "name": "à´“à´¸àµà´Ÿàµà´°à´¿à´¯"
+ },
+ "AU": {
+ "name": "à´“à´¸àµâ€Œà´Ÿàµà´°àµ‡à´²à´¿à´¯"
+ },
+ "KH": {
+ "name": "കംബോഡിയ"
+ },
+ "KZ": {
+ "name": "കസാഖിസàµà´¥à´¾àµ»"
+ },
+ "CA": {
+ "name": "കാനഡ"
+ },
+ "IC": {
+ "name": "കാനറി à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "CM": {
+ "name": "കാമറൂൺ"
+ },
+ "KI": {
+ "name": "കിരിബാടàµà´Ÿà´¿"
+ },
+ "KG": {
+ "name": "കിർഗിസàµà´¥à´¾àµ»"
+ },
+ "CK": {
+ "name": "à´•àµà´•àµà´•àµ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "KW": {
+ "name": "à´•àµà´µàµˆà´±àµà´±àµ"
+ },
+ "CW": {
+ "name": "à´•àµà´±à´¾à´•à´¾à´µàµ‹"
+ },
+ "KE": {
+ "name": "കെനിയ"
+ },
+ "CV": {
+ "name": "കേപàµà´ªàµ വെർദെ"
+ },
+ "KY": {
+ "name": "കേമാൻ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "XK": {
+ "name": "കൊസോവൊ"
+ },
+ "CO": {
+ "name": "കൊളംബിയ"
+ },
+ "CC": {
+ "name": "കോകàµà´•à´¸àµ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "CI": {
+ "name": "കോടàµà´Ÿàµ à´¡à´¿ വാർ"
+ },
+ "KM": {
+ "name": "കോമൊറോസàµ"
+ },
+ "CD": {
+ "name": "കോംഗോ - കിൻഷാസ"
+ },
+ "CG": {
+ "name": "കോംഗോ - à´¬àµà´°à´¾à´¸à´µà´¿à´²àµà´²à´¿"
+ },
+ "CR": {
+ "name": "കോസàµà´±àµà´±à´±à´¿à´•àµà´•"
+ },
+ "CU": {
+ "name": "à´•àµà´¯àµ‚à´¬"
+ },
+ "CX": {
+ "name": "à´•àµà´°à´¿à´¸àµà´®à´¸àµ à´¦àµà´µàµ€à´ªàµ"
+ },
+ "HR": {
+ "name": "à´•àµà´°àµŠà´¯àµ‡à´·àµà´¯"
+ },
+ "QA": {
+ "name": "à´–à´¤àµà´¤àµ¼"
+ },
+ "GY": {
+ "name": "ഗയാന"
+ },
+ "GA": {
+ "name": "ഗാബൺ"
+ },
+ "GM": {
+ "name": "ഗാംബിയ"
+ },
+ "GN": {
+ "name": "ഗിനിയ"
+ },
+ "GW": {
+ "name": "ഗിനിയ-ബിസൗ"
+ },
+ "GG": {
+ "name": "ഗേൺസി"
+ },
+ "GD": {
+ "name": "à´—àµà´°à´¨àµ‡à´¡"
+ },
+ "GL": {
+ "name": "à´—àµà´°àµ€àµ»à´²à´¾àµ»à´±àµ"
+ },
+ "GR": {
+ "name": "à´—àµà´°àµ€à´¸àµ"
+ },
+ "GT": {
+ "name": "à´—àµà´µà´¾à´Ÿàµà´Ÿà´¿à´®à´¾à´²"
+ },
+ "GP": {
+ "name": "à´—àµà´µà´¾à´¡à´²àµ‚à´ªàµà´ªàµ"
+ },
+ "GU": {
+ "name": "à´—àµà´µà´¾à´‚"
+ },
+ "GH": {
+ "name": "ഘാന"
+ },
+ "CL": {
+ "name": "ചിലി"
+ },
+ "CZ": {
+ "name": "ചെകàµà´•àµ റിപàµà´ªà´¬àµà´²à´¿à´•àµ"
+ },
+ "CN": {
+ "name": "ചൈന"
+ },
+ "TD": {
+ "name": "ഛാഡàµ"
+ },
+ "JP": {
+ "name": "ജപàµà´ªà´¾àµ»"
+ },
+ "JM": {
+ "name": "ജമൈകàµà´•"
+ },
+ "DE": {
+ "name": "ജർമനി"
+ },
+ "GI": {
+ "name": "ജിബàµà´°à´¾àµ¾à´Ÿàµà´Ÿàµ¼"
+ },
+ "JE": {
+ "name": "ജേഴàµà´¸à´¿"
+ },
+ "GE": {
+ "name": "ജോർജàµà´œà´¿à´¯"
+ },
+ "JO": {
+ "name": "ജോർദàµà´¦à´¾àµ»"
+ },
+ "TC": {
+ "name": "ടർകàµà´•àµâ€Œà´¸àµà´‚ കെയàµâ€Œà´•àµà´•àµ‹ à´¦àµà´µàµ€à´ªàµà´•à´³àµà´‚"
+ },
+ "TZ": {
+ "name": "ടാൻസാനിയ"
+ },
+ "TN": {
+ "name": "à´Ÿàµà´£àµ€à´·àµà´¯"
+ },
+ "TV": {
+ "name": "à´Ÿàµà´µà´¾à´²àµ"
+ },
+ "TK": {
+ "name": "ടോകàµà´•àµ†à´²àµ‚"
+ },
+ "TG": {
+ "name": "ടോഗോ"
+ },
+ "TO": {
+ "name": "ടോംഗ"
+ },
+ "TA": {
+ "name": "à´Ÿàµà´°à´¸àµà´±àµà´±àµ» à´¡ കൂന"
+ },
+ "TT": {
+ "name": "à´Ÿàµà´°à´¿à´¨à´¿à´¡à´¾à´¡àµà´‚ à´Ÿàµà´¬à´¾à´—ോയàµà´‚"
+ },
+ "DG": {
+ "name": "ഡീഗോ à´—àµà´°à´¾à´·àµà´¯"
+ },
+ "DK": {
+ "name": "ഡെൻമാർകàµà´•àµ"
+ },
+ "DM": {
+ "name": "ഡൊമിനികàµà´•"
+ },
+ "DO": {
+ "name": "ഡൊമിനികàµà´•àµ» റിപàµà´ªà´¬àµà´²à´¿à´•àµ"
+ },
+ "TJ": {
+ "name": "താജികàµà´•à´¿à´¸àµà´¥à´¾àµ»"
+ },
+ "TH": {
+ "name": "തായàµâ€Œà´²à´¾àµ»à´¡àµ"
+ },
+ "TW": {
+ "name": "തായàµâ€Œà´µà´¾àµ»"
+ },
+ "TL": {
+ "name": "തിമോർ-ലെസàµà´±àµà´±àµ†"
+ },
+ "TR": {
+ "name": "à´¤àµàµ¼à´•àµà´•à´¿"
+ },
+ "TM": {
+ "name": "à´¤àµàµ¼à´•àµà´•àµà´®àµ†à´¨à´¿à´¸àµà´¥à´¾àµ»"
+ },
+ "GS": {
+ "name": "ദകàµà´·à´¿à´£ ജോർജàµà´œà´¿à´¯à´¯àµà´‚ ദകàµà´·à´¿à´£ സാൻഡàµâ€Œà´µà´¿à´šàµà´šàµ à´¦àµà´µàµ€à´ªàµà´•à´³àµà´‚"
+ },
+ "SS": {
+ "name": "ദകàµà´·à´¿à´£ à´¸àµà´¡à´¾àµ»"
+ },
+ "KR": {
+ "name": "ദകàµà´·à´¿à´£à´•àµŠà´±à´¿à´¯"
+ },
+ "ZA": {
+ "name": "ദകàµà´·à´¿à´£à´¾à´«àµà´°à´¿à´•àµà´•"
+ },
+ "DJ": {
+ "name": "ദിജിബൗടàµà´Ÿà´¿"
+ },
+ "NA": {
+ "name": "നമീബിയ"
+ },
+ "NI": {
+ "name": "നികàµà´•à´°à´¾à´—àµà´µ"
+ },
+ "NL": {
+ "name": "നെതർലാൻഡàµâ€Œà´¸àµ"
+ },
+ "NP": {
+ "name": "നേപàµà´ªà´¾àµ¾"
+ },
+ "NE": {
+ "name": "നൈജർ"
+ },
+ "NG": {
+ "name": "നൈജീരിയ"
+ },
+ "NF": {
+ "name": "നോർഫോകൠദàµà´µàµ€à´ªàµ"
+ },
+ "NO": {
+ "name": "നോർവെ"
+ },
+ "NR": {
+ "name": "നൗറàµ"
+ },
+ "NU": {
+ "name": "à´¨àµà´¯àµ‚യി"
+ },
+ "NZ": {
+ "name": "à´¨àµà´¯àµ‚സിലാൻറàµ"
+ },
+ "PA": {
+ "name": "പനാമ"
+ },
+ "PY": {
+ "name": "പരാഗàµà´µàµ‡"
+ },
+ "PW": {
+ "name": "പലാവàµ"
+ },
+ "EH": {
+ "name": "പശàµà´šà´¿à´® സഹാറ"
+ },
+ "PK": {
+ "name": "പാകàµà´•à´¿à´¸àµà´¥à´¾àµ»"
+ },
+ "PG": {
+ "name": "പാപàµà´ªàµà´µ à´¨àµà´¯àµ‚ ഗിനിയ"
+ },
+ "PS": {
+ "name": "പാലസàµâ€Œà´¤àµ€àµ» à´ªàµà´°à´¦àµ‡à´¶à´™àµà´™àµ¾"
+ },
+ "PN": {
+ "name": "പിറàµà´±àµâ€Œà´•àµ†à´¯àµâ€Œàµ» à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "NC": {
+ "name": "à´ªàµà´¤à´¿à´¯ കാലിഡോണിയ"
+ },
+ "PE": {
+ "name": "പെറàµ"
+ },
+ "PT": {
+ "name": "പോർചàµà´šàµà´—ൽ"
+ },
+ "PL": {
+ "name": "പോളണàµà´Ÿàµ"
+ },
+ "PR": {
+ "name": "à´ªàµà´¯àµ‚ർടàµà´Ÿàµ‹ റികàµà´•àµ‹"
+ },
+ "FO": {
+ "name": "ഫറോ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "FK": {
+ "name": "ഫാകàµà´•àµâ€Œà´²à´¾à´¨àµà´±àµ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "FJ": {
+ "name": "ഫിജി"
+ },
+ "FI": {
+ "name": "ഫിൻലാൻഡàµ"
+ },
+ "PH": {
+ "name": "ഫിലിപàµà´ªàµˆàµ»à´¸àµ"
+ },
+ "GF": {
+ "name": "à´«àµà´°à´žàµà´šàµ ഗയാന"
+ },
+ "TF": {
+ "name": "à´«àµà´°à´žàµà´šàµ ദകàµà´·à´¿à´£ ഭൂപàµà´°à´¦àµ‡à´¶à´‚"
+ },
+ "PF": {
+ "name": "à´«àµà´°à´žàµà´šàµ പോളിനേഷàµà´¯"
+ },
+ "FR": {
+ "name": "à´«àµà´°à´¾àµ»à´¸àµ"
+ },
+ "BD": {
+ "name": "ബംഗàµà´²à´¾à´¦àµ‡à´¶àµ"
+ },
+ "BM": {
+ "name": "ബർമàµà´¡"
+ },
+ "BS": {
+ "name": "ബഹാമാസàµ"
+ },
+ "BH": {
+ "name": "ബഹàµà´±à´¿àµ»"
+ },
+ "BG": {
+ "name": "ബൾഗേറിയ"
+ },
+ "BI": {
+ "name": "ബറàµà´£àµà´Ÿà´¿"
+ },
+ "BB": {
+ "name": "ബാർബഡോസàµ"
+ },
+ "BF": {
+ "name": "à´¬àµàµ¼à´•àµà´•à´¿à´¨à´¾ ഫാസോ"
+ },
+ "BJ": {
+ "name": "ബെനിൻ"
+ },
+ "BY": {
+ "name": "ബെലറൂസàµ"
+ },
+ "BZ": {
+ "name": "ബെലീസàµ"
+ },
+ "BE": {
+ "name": "ബെൽജിയം"
+ },
+ "BQ": {
+ "name": "ബൊണെയàµàµ¼, സിനàµà´±àµ à´¯àµà´¸àµà´±àµà´±àµ‡à´·àµà´¯à´¸àµ, സാബ à´Žà´¨àµà´¨à´¿à´µ"
+ },
+ "BO": {
+ "name": "ബൊളീവിയ"
+ },
+ "BW": {
+ "name": "ബോടàµà´¸àµà´µà´¾à´¨"
+ },
+ "BA": {
+ "name": "ബോസàµà´¨à´¿à´¯à´¯àµà´‚ ഹെർസഗോവിനയàµà´‚"
+ },
+ "BR": {
+ "name": "à´¬àµà´°à´¸àµ€àµ½"
+ },
+ "GB": {
+ "name": "à´¬àµà´°à´¿à´Ÿàµà´Ÿàµ»"
+ },
+ "IO": {
+ "name": "à´¬àµà´°à´¿à´Ÿàµà´Ÿàµ€à´·àµ ഇനàµà´¤àµà´¯àµ» മഹാസമàµà´¦àµà´° à´ªàµà´°à´¦àµ‡à´¶à´‚"
+ },
+ "VG": {
+ "name": "à´¬àµà´°à´¿à´Ÿàµà´Ÿàµ€à´·àµ വെർജിൻ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "BN": {
+ "name": "à´¬àµà´°àµ‚ണൈ"
+ },
+ "BT": {
+ "name": "ഭൂടàµà´Ÿà´¾àµ»"
+ },
+ "MO": {
+ "name": "മകàµà´•à´¾à´µàµ‹ SAR ചൈന"
+ },
+ "MG": {
+ "name": "മഡഗാസàµà´•àµ¼"
+ },
+ "MN": {
+ "name": "മംഗോളിയ"
+ },
+ "YT": {
+ "name": "മയോടàµà´Ÿà´¿"
+ },
+ "MW": {
+ "name": "മലാവി"
+ },
+ "MY": {
+ "name": "മലേഷàµà´¯"
+ },
+ "MD": {
+ "name": "മൾഡോവ"
+ },
+ "MQ": {
+ "name": "മാർടàµà´Ÿà´¿à´¨à´¿à´•àµà´•àµ"
+ },
+ "MH": {
+ "name": "മാർഷൽâ€â€ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "ML": {
+ "name": "മാലി"
+ },
+ "MV": {
+ "name": "മാലിദàµà´µàµ€à´ªàµ"
+ },
+ "MK": {
+ "name": "മാസിഡോണിയ"
+ },
+ "MT": {
+ "name": "മാൾടàµà´Ÿ"
+ },
+ "MX": {
+ "name": "മെകàµà´¸à´¿à´•àµà´•àµ‹"
+ },
+ "FM": {
+ "name": "മൈകàµà´°àµ‹à´¨àµ‡à´·àµà´¯"
+ },
+ "MC": {
+ "name": "മൊണാകàµà´•àµ‹"
+ },
+ "MS": {
+ "name": "മൊണàµà´Ÿàµ†à´¸à´°à´¤àµà´¤àµ"
+ },
+ "MZ": {
+ "name": "മൊസാംബികàµà´•àµ"
+ },
+ "MA": {
+ "name": "മൊറോകàµà´•àµŠ"
+ },
+ "ME": {
+ "name": "മോണàµà´Ÿàµ†à´¨àµ†à´—àµà´°àµ‹"
+ },
+ "MR": {
+ "name": "മൗറിറàµà´±à´¾à´¨à´¿à´¯"
+ },
+ "MU": {
+ "name": "മൗറീഷàµà´¯à´¸àµ"
+ },
+ "MM": {
+ "name": "à´®àµà´¯à´¾àµ»à´®à´¾àµ¼ (ബർമàµà´®)"
+ },
+ "UM": {
+ "name": "à´¯àµ.à´Žà´¸àµ. à´¦àµà´µàµ€à´ªà´¸à´®àµ‚ഹങàµà´™àµ¾"
+ },
+ "VI": {
+ "name": "à´¯àµ.à´Žà´¸àµ. വെർജിൻ à´¦àµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "AE": {
+ "name": "à´¯àµà´£àµˆà´±àµà´±à´¡àµ അറബൠഎമിറൈറàµà´±àµâ€Œà´¸àµ"
+ },
+ "YE": {
+ "name": "യെമൻ"
+ },
+ "LU": {
+ "name": "ലകàµà´¸à´‚ബർഗàµ"
+ },
+ "LA": {
+ "name": "ലാവോസàµ"
+ },
+ "LV": {
+ "name": "ലാറàµà´±àµà´µà´¿à´¯"
+ },
+ "LI": {
+ "name": "ലിചàµà´šàµºà´¸àµà´±àµà´±àµˆàµ»"
+ },
+ "LT": {
+ "name": "ലിതàµà´µà´¾à´¨à´¿à´¯"
+ },
+ "LY": {
+ "name": "ലിബിയ"
+ },
+ "LB": {
+ "name": "ലെബനൻ"
+ },
+ "LS": {
+ "name": "ലെസോതോ"
+ },
+ "LR": {
+ "name": "ലൈബീരിയ"
+ },
+ "VA": {
+ "name": "വതàµà´¤à´¿à´•àµà´•à´¾àµ»"
+ },
+ "VU": {
+ "name": "വനàµà´µà´¾à´¤àµ"
+ },
+ "WF": {
+ "name": "വാലിസൠആനàµà´±àµ à´«àµà´¯àµ‚à´šàµà´¯àµà´¨"
+ },
+ "VN": {
+ "name": "വിയറàµà´±àµà´¨à´¾à´‚"
+ },
+ "VE": {
+ "name": "വെനിസàµà´µàµ‡à´²"
+ },
+ "LK": {
+ "name": "à´¶àµà´°àµ€à´²à´™àµà´•"
+ },
+ "WS": {
+ "name": "സമോവ"
+ },
+ "SM": {
+ "name": "സാൻ മറിനോ"
+ },
+ "ZM": {
+ "name": "സാംബിയ"
+ },
+ "ST": {
+ "name": "സാവോ ടോമàµà´‚ à´ªàµà´°à´¿àµ»à´¸à´¿à´ªàµ†à´¯àµà´‚"
+ },
+ "SX": {
+ "name": "സിനàµà´±àµ മാർടàµà´Ÿàµ†àµ»"
+ },
+ "SG": {
+ "name": "സിംഗപàµà´ªàµàµ¼"
+ },
+ "ZW": {
+ "name": "സിംബാബàµâ€Œà´µàµ‡"
+ },
+ "SL": {
+ "name": "സിയെറ ലിയോൺ"
+ },
+ "SY": {
+ "name": "സിറിയ"
+ },
+ "SD": {
+ "name": "à´¸àµà´¡à´¾àµ»"
+ },
+ "SR": {
+ "name": "à´¸àµà´°à´¿à´¨àµ†à´¯à´¿à´‚"
+ },
+ "SN": {
+ "name": "സെനഗൽ"
+ },
+ "CF": {
+ "name": "സെൻടàµà´°àµ½ ആഫàµà´°à´¿à´•àµà´•àµ» റിപàµà´ªà´¬àµà´²à´¿à´•àµ"
+ },
+ "KN": {
+ "name": "സെനàµà´±àµ à´•à´¿à´±àµà´±àµâ€Œà´¸àµà´‚ നെവിസàµà´‚"
+ },
+ "PM": {
+ "name": "സെനàµà´±àµ പിയറിയàµà´‚ മികàµà´•à´²à´£àµà´‚"
+ },
+ "BL": {
+ "name": "സെനàµà´±àµ ബാർതàµà´¤à´²à´®à´¿"
+ },
+ "MF": {
+ "name": "സെൻറൠമാർടàµà´Ÿà´¿àµ»"
+ },
+ "LC": {
+ "name": "സെൻറൠലൂസിയ"
+ },
+ "VC": {
+ "name": "സെനàµà´±àµ വിൻസെനàµà´±àµà´‚ à´—àµà´°à´¨àµ†à´¡àµˆàµ»à´¸àµà´‚"
+ },
+ "SH": {
+ "name": "സെൻറൠഹെലീന"
+ },
+ "EA": {
+ "name": "സെയൂതàµà´¤ ആൻഡൠമെലിയ"
+ },
+ "SC": {
+ "name": "സെയàµâ€Œà´·àµ†àµ½à´¸àµ"
+ },
+ "RS": {
+ "name": "സെർബിയ"
+ },
+ "CY": {
+ "name": "സൈപàµà´°à´¸àµ"
+ },
+ "SO": {
+ "name": "സോമാലിയ"
+ },
+ "SB": {
+ "name": "സോളമൻ†ദàµà´µàµ€à´ªàµà´•àµ¾"
+ },
+ "SA": {
+ "name": "സൗദി അറേബàµà´¯"
+ },
+ "ES": {
+ "name": "à´¸àµâ€Œà´ªàµ†à´¯à´¿àµ»"
+ },
+ "SK": {
+ "name": "à´¸àµà´²àµ‹à´µà´¾à´•àµà´¯"
+ },
+ "SI": {
+ "name": "à´¸àµà´²àµ‹à´µàµ‡à´¨à´¿à´¯"
+ },
+ "SJ": {
+ "name": "à´¸àµà´µà´¾àµ½à´¬à´¾à´¡àµà´‚ ജാൻ മായേനàµà´‚"
+ },
+ "SZ": {
+ "name": "à´¸àµà´µà´¾à´¸à´¿à´²à´¾àµ»à´±àµ"
+ },
+ "CH": {
+ "name": "à´¸àµà´µà´¿à´±àµà´±àµà´¸àµ¼à´²à´¾àµ»à´¡àµ"
+ },
+ "SE": {
+ "name": "à´¸àµà´µàµ€à´¡àµ»"
+ },
+ "HU": {
+ "name": "ഹംഗറി"
+ },
+ "HT": {
+ "name": "ഹെയàµà´¤à´¿"
+ },
+ "HK": {
+ "name": "ഹോങൠകോങൠഎസàµ.à´.ആർ. ചൈന"
+ },
+ "HN": {
+ "name": "ഹോണàµà´Ÿàµà´±à´¾à´¸àµ"
+ },
+ "RU": {
+ "name": "റഷàµà´¯"
+ },
+ "RE": {
+ "name": "റീയൂണിയൻ"
+ },
+ "RW": {
+ "name": "à´±àµà´µà´¾à´£àµà´Ÿ"
+ },
+ "RO": {
+ "name": "റൊമാനിയ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/mn.json b/library/intl/resources/country/mn.json
new file mode 100644
index 000000000..7497cd6da
--- /dev/null
+++ b/library/intl/resources/country/mn.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "ÐвÑтрали"
+ },
+ "AT": {
+ "name": "ÐвÑтри"
+ },
+ "AZ": {
+ "name": "Ðзербайжан"
+ },
+ "AX": {
+ "name": "Ðландын Ðрлууд"
+ },
+ "AL": {
+ "name": "Ðлбани"
+ },
+ "DZ": {
+ "name": "Ðлжир"
+ },
+ "US": {
+ "name": "Ðмерикийн ÐÑгдÑÑн УлÑ"
+ },
+ "AS": {
+ "name": "Ðмерикийн Самоа"
+ },
+ "AI": {
+ "name": "Ðнгила"
+ },
+ "AO": {
+ "name": "Ðнгол"
+ },
+ "AD": {
+ "name": "Ðндорра"
+ },
+ "AQ": {
+ "name": "Ðнтарктик"
+ },
+ "AG": {
+ "name": "Ðнтигуа ба Барбуда"
+ },
+ "VI": {
+ "name": "ÐÐУ-ын Виржиний Ðрлууд"
+ },
+ "UM": {
+ "name": "ÐÐУ-ын тойрÑон арлууд"
+ },
+ "AE": {
+ "name": "Ðрабын ÐÑгдÑÑн Эмират"
+ },
+ "AR": {
+ "name": "Ðргентин"
+ },
+ "AM": {
+ "name": "Ðрмен"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AC": {
+ "name": "ÐÑкенÑион Ðрал"
+ },
+ "AF": {
+ "name": "ÐфганиÑтан"
+ },
+ "BS": {
+ "name": "Багам"
+ },
+ "NP": {
+ "name": "Балба"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "EH": {
+ "name": "Баруун Сахар"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "БеларуÑ"
+ },
+ "BE": {
+ "name": "Белги"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуд"
+ },
+ "MO": {
+ "name": "БÐÐ¥ÐУ-ын ТуÑгай захиргааны Ð±Ò¯Ñ ÐœÐ°ÐºÐ°Ð¾"
+ },
+ "HK": {
+ "name": "БÐÐ¥ÐУ-ын ТуÑгай захиргааны Ð±Ò¯Ñ Ð¥Ð¾Ð½Ð³ Конг"
+ },
+ "BG": {
+ "name": "Болгар"
+ },
+ "BO": {
+ "name": "Боливи"
+ },
+ "BA": {
+ "name": "БоÑни Херцеговин"
+ },
+ "BW": {
+ "name": "БотÑвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "VG": {
+ "name": "Британийн Виржиний Ðрлууд"
+ },
+ "IO": {
+ "name": "Британийн харьÑа ЭнÑÑ‚Ñ…Ñгийн далай дахь нутаг дÑвÑгÑрүүд"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркина фаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "DO": {
+ "name": "Бүгд Ðайрамдах Доминикан"
+ },
+ "CZ": {
+ "name": "Бүгд Ðайрамдах Чех УлÑ"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан хот улÑ"
+ },
+ "VE": {
+ "name": "ВенеÑуÑл"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "Гамби"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделуп"
+ },
+ "GT": {
+ "name": "Гватемал"
+ },
+ "GN": {
+ "name": "Гвиней"
+ },
+ "GW": {
+ "name": "Гвиней-БиÑау"
+ },
+ "DE": {
+ "name": "Герман"
+ },
+ "GG": {
+ "name": "ГернÑи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "NL": {
+ "name": "Голланд"
+ },
+ "HN": {
+ "name": "ГондураÑ"
+ },
+ "GR": {
+ "name": "Грек"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "GE": {
+ "name": "Гүрж"
+ },
+ "DK": {
+ "name": "Дани"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего ГарÑиа"
+ },
+ "DM": {
+ "name": "Доминик"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "JE": {
+ "name": "ЖерÑи"
+ },
+ "ZM": {
+ "name": "Замби"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "CX": {
+ "name": "Зул Сарын Ðрал"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "ID": {
+ "name": "Индонези"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "Ирланд"
+ },
+ "IS": {
+ "name": "ИÑланд"
+ },
+ "ES": {
+ "name": "ИÑпани"
+ },
+ "IT": {
+ "name": "Итали"
+ },
+ "GB": {
+ "name": "Их Британи"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "JO": {
+ "name": "Йордан"
+ },
+ "KZ": {
+ "name": "КазахÑтан"
+ },
+ "KY": {
+ "name": "Кайманы Ðрлууд"
+ },
+ "KH": {
+ "name": "Камбож"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канад"
+ },
+ "IC": {
+ "name": "Канарын арлууд"
+ },
+ "CV": {
+ "name": "Капе Верде"
+ },
+ "BQ": {
+ "name": "Карибын Ðидерланд"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кени"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "ÐšÐ¾ÐºÐ¾Ñ (Кийлинг) Ðрлууд"
+ },
+ "CO": {
+ "name": "Колумб"
+ },
+ "KM": {
+ "name": "КомороÑ"
+ },
+ "CG": {
+ "name": "Конго Браззавиль"
+ },
+ "CD": {
+ "name": "Конго-КиншаÑа"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑта Рика"
+ },
+ "CI": {
+ "name": "Кот д’Ивуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CW": {
+ "name": "Куракао"
+ },
+ "CK": {
+ "name": "Күүкийн Ðрлууд"
+ },
+ "KG": {
+ "name": "КыргызÑтан"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "Латви"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LR": {
+ "name": "Либери"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "Ливи"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "ЛюкÑембург"
+ },
+ "MR": {
+ "name": "Мавритани"
+ },
+ "MU": {
+ "name": "МавритуÑ"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "YT": {
+ "name": "Майотте"
+ },
+ "MK": {
+ "name": "Македон"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "Малайз"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MV": {
+ "name": "Мальдив"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "Маршаллын Ðрлууд"
+ },
+ "MX": {
+ "name": "МекÑик"
+ },
+ "FM": {
+ "name": "Микронези"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдав"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монгол"
+ },
+ "ME": {
+ "name": "Монтенегро"
+ },
+ "MS": {
+ "name": "МонтÑеррат"
+ },
+ "MM": {
+ "name": "МьÑнмар (Бурма)"
+ },
+ "IM": {
+ "name": "ÐœÑн Ðрал"
+ },
+ "NA": {
+ "name": "Ðамиби"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "Ðигери"
+ },
+ "NI": {
+ "name": "Ðикарагуа"
+ },
+ "NU": {
+ "name": "ÐиуÑ"
+ },
+ "NO": {
+ "name": "Ðорвеги"
+ },
+ "NF": {
+ "name": "Ðорфолк Ðрлууд"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "RU": {
+ "name": "ОроÑ"
+ },
+ "ZA": {
+ "name": "Өмнөд Ðфрик тив"
+ },
+ "GS": {
+ "name": "Өмнөд Жоржиа ба Өмнөд СÑндвичийн Ðрлууд"
+ },
+ "KR": {
+ "name": "Өмнөд СолонгоÑ"
+ },
+ "SS": {
+ "name": "Өмнөд Судан"
+ },
+ "PK": {
+ "name": "ПакиÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "ПалеÑтины нутаг дÑвÑгÑрүүд"
+ },
+ "PA": {
+ "name": "Панам"
+ },
+ "PG": {
+ "name": "Папуа Ð¨Ð¸Ð½Ñ Ð“Ð²Ð¸Ð½ÐµÐ¹"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "ПиткÑрн Ðрлууд"
+ },
+ "PL": {
+ "name": "Польш"
+ },
+ "PT": {
+ "name": "Португал"
+ },
+ "PR": {
+ "name": "ПуÑрто Рико"
+ },
+ "RE": {
+ "name": "Реюньон"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румын"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе ба ПринÑипи"
+ },
+ "SA": {
+ "name": "Саудын Ðраб"
+ },
+ "SZ": {
+ "name": "Свазиланд"
+ },
+ "SJ": {
+ "name": "Свалбард ба Ян Майен"
+ },
+ "SC": {
+ "name": "Сейшел"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "BL": {
+ "name": "Сент Бартельми"
+ },
+ "LC": {
+ "name": "Сент ЛюÑиа"
+ },
+ "SH": {
+ "name": "Сент Хелена"
+ },
+ "KN": {
+ "name": "Сент-ÐšÐ¸Ñ‚Ñ‚Ñ Ð±Ð° ÐевиÑ"
+ },
+ "MF": {
+ "name": "Сент-Мартин"
+ },
+ "RS": {
+ "name": "Серби"
+ },
+ "EA": {
+ "name": "Сеута ба МелильÑ"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт Мартен"
+ },
+ "SY": {
+ "name": "Сири"
+ },
+ "SK": {
+ "name": "Словак"
+ },
+ "SI": {
+ "name": "Словени"
+ },
+ "SB": {
+ "name": "Соломоны Ðрлууд"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "VC": {
+ "name": "СÑнт ВинÑÑнт ба Гренадин"
+ },
+ "PM": {
+ "name": "СÑнт Пьер ба Микелон"
+ },
+ "TJ": {
+ "name": "ТажикиÑтан"
+ },
+ "TW": {
+ "name": "Тайван"
+ },
+ "TH": {
+ "name": "Тайланд"
+ },
+ "TZ": {
+ "name": "Танзани"
+ },
+ "TL": {
+ "name": "Тимор-ЛеÑте"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "CF": {
+ "name": "Төв Ðфрикийн Бүгд Ðайрамдах УлÑ"
+ },
+ "TT": {
+ "name": "Тринидад ба Тобаго"
+ },
+ "TA": {
+ "name": "ТриÑтан да КуньÑ"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "TR": {
+ "name": "Турк"
+ },
+ "TC": {
+ "name": "Турк ба КайкоÑын Ðрлууд"
+ },
+ "TM": {
+ "name": "ТуркмениÑтан"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "УзбекиÑтан"
+ },
+ "UA": {
+ "name": "Украйн"
+ },
+ "HU": {
+ "name": "Унгар"
+ },
+ "WF": {
+ "name": "Ð£Ð¾Ð»Ð»Ð¸Ñ Ð±Ð° Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "Ð¤Ð°Ñ€Ð¾Ñ Ðрлууд"
+ },
+ "FJ": {
+ "name": "Фижи"
+ },
+ "PH": {
+ "name": "Филиппин"
+ },
+ "FI": {
+ "name": "Финланд"
+ },
+ "FK": {
+ "name": "Фолькландын Ðрлууд"
+ },
+ "FR": {
+ "name": "Франц"
+ },
+ "GF": {
+ "name": "Францын Гайана"
+ },
+ "TF": {
+ "name": "Францын өмнөд газар нутаг"
+ },
+ "PF": {
+ "name": "Францын Полинез"
+ },
+ "MP": {
+ "name": "Хойд Марианы Ðрлууд"
+ },
+ "KP": {
+ "name": "Хойд СолонгоÑ"
+ },
+ "HR": {
+ "name": "Хорват"
+ },
+ "CN": {
+ "name": "Ð¥Ñтад"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "SE": {
+ "name": "Швед"
+ },
+ "CH": {
+ "name": "Швейцари"
+ },
+ "NZ": {
+ "name": "Ð¨Ð¸Ð½Ñ Ð—ÐµÐ»Ð°Ð½Ð´"
+ },
+ "NC": {
+ "name": "Ð¨Ð¸Ð½Ñ ÐšÐ°Ð»ÐµÐ´Ð¾Ð½Ð¸"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваторын Гвиней"
+ },
+ "SV": {
+ "name": "Эль Сальвадор"
+ },
+ "IN": {
+ "name": "ЭнÑÑ‚Ñ…Ñг"
+ },
+ "ER": {
+ "name": "Эритри"
+ },
+ "EE": {
+ "name": "ЭÑтон"
+ },
+ "ET": {
+ "name": "Этиоп"
+ },
+ "JM": {
+ "name": "Ямайк"
+ },
+ "JP": {
+ "name": "Япон"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/mr.json b/library/intl/resources/country/mr.json
new file mode 100644
index 000000000..b8eb8c84c
--- /dev/null
+++ b/library/intl/resources/country/mr.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "अंगोला"
+ },
+ "AI": {
+ "name": "अà¤à¤—à¥à¤µà¤¿à¤²à¤¾"
+ },
+ "AQ": {
+ "name": "अंटारà¥à¤•à¥à¤Ÿà¤¿à¤•à¤¾"
+ },
+ "AG": {
+ "name": "अà¤à¤Ÿà¤¿à¤—à¥à¤µà¤¾ आणि बरà¥à¤¬à¥à¤¡à¤¾"
+ },
+ "AD": {
+ "name": "अà¤à¤¡à¥‹à¤°à¤¾"
+ },
+ "AZ": {
+ "name": "अà¤à¤°à¤¬à¥ˆà¤œà¤¾à¤¨"
+ },
+ "AF": {
+ "name": "अफगाणिसà¥à¤¤à¤¾à¤¨"
+ },
+ "AS": {
+ "name": "अमेरिकन सामोआ"
+ },
+ "AW": {
+ "name": "अरà¥à¤¬à¤¾"
+ },
+ "AR": {
+ "name": "अरà¥à¤œà¥‡à¤‚टिना"
+ },
+ "AM": {
+ "name": "अरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾"
+ },
+ "SV": {
+ "name": "अल सालà¥à¤µà¤¾à¤¡à¥‹à¤°"
+ },
+ "DZ": {
+ "name": "अलà¥à¤œà¥€à¤°à¤¿à¤¯à¤¾"
+ },
+ "AL": {
+ "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¾"
+ },
+ "AX": {
+ "name": "अâ€à¥…लà¤à¤¡ बेटे"
+ },
+ "AC": {
+ "name": "अâ€à¥…सेनà¥à¤¶à¤¿à¤¯à¤¨ बेट"
+ },
+ "IS": {
+ "name": "आइसलà¤à¤¡"
+ },
+ "IE": {
+ "name": "आयरà¥à¤²à¤‚ड"
+ },
+ "CI": {
+ "name": "आयवà¥à¤¹à¤°à¥€ कोसà¥à¤Ÿ"
+ },
+ "ID": {
+ "name": "इंडोनेशिया"
+ },
+ "EC": {
+ "name": "इकà¥à¤µà¤¾à¤¡à¥‹à¤°"
+ },
+ "GQ": {
+ "name": "इकà¥à¤µà¥‡à¤Ÿà¥‹à¤°à¤¿à¤¯à¤² गिनी"
+ },
+ "EG": {
+ "name": "इजिपà¥à¤¤"
+ },
+ "IT": {
+ "name": "इटली"
+ },
+ "ET": {
+ "name": "इथिओपिया"
+ },
+ "IQ": {
+ "name": "इराक"
+ },
+ "IL": {
+ "name": "इसà¥à¤¤à¥à¤°à¤¾à¤‡à¤²"
+ },
+ "IM": {
+ "name": "इसà¥à¤²à¥‡ ऑफ मॅन"
+ },
+ "IR": {
+ "name": "ईराण"
+ },
+ "UZ": {
+ "name": "उà¤à¤¬à¥‡à¤•à¤¿à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "KP": {
+ "name": "उतà¥à¤¤à¤° कोरिया"
+ },
+ "MP": {
+ "name": "उतà¥à¤¤à¤°à¥€ मारियाना बेटे"
+ },
+ "UY": {
+ "name": "उरà¥à¤—à¥à¤µà¥‡"
+ },
+ "ER": {
+ "name": "à¤à¤°à¤¿à¤Ÿà¥à¤°à¤¿à¤¯à¤¾"
+ },
+ "EE": {
+ "name": "à¤à¤¸à¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¾"
+ },
+ "AT": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾"
+ },
+ "AU": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¾"
+ },
+ "OM": {
+ "name": "ओमान"
+ },
+ "KH": {
+ "name": "कंबोडिया"
+ },
+ "KZ": {
+ "name": "कà¤à¤¾à¤•à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "QA": {
+ "name": "कतार"
+ },
+ "CD": {
+ "name": "काà¤à¤—ो - किंशासा"
+ },
+ "CG": {
+ "name": "काà¤à¤—ो - बà¥à¤°à¤¾à¤à¤¾à¤µà¤¿à¤²à¥‡"
+ },
+ "KG": {
+ "name": "किरगिà¤à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "KI": {
+ "name": "किरीबाटी"
+ },
+ "CK": {
+ "name": "कà¥à¤• बेटे"
+ },
+ "CW": {
+ "name": "कà¥à¤°à¥…को"
+ },
+ "KW": {
+ "name": "कà¥à¤µà¥‡à¤¤"
+ },
+ "CA": {
+ "name": "कॅनडा"
+ },
+ "IC": {
+ "name": "कॅनरी बेटे"
+ },
+ "CM": {
+ "name": "कॅमेरून"
+ },
+ "BQ": {
+ "name": "कॅरिबियन नेदरलà¤à¤¡à¥à¤¸"
+ },
+ "CF": {
+ "name": "केंदà¥à¤°à¥€à¤¯ अफà¥à¤°à¤¿à¤•à¥€ पà¥à¤°à¤œà¤¾à¤¸à¤¤à¥à¤¤à¤¾à¤•"
+ },
+ "KE": {
+ "name": "केनिया"
+ },
+ "CV": {
+ "name": "केप वà¥à¤¹à¤°à¥à¤¡à¥‡"
+ },
+ "KY": {
+ "name": "केमन बेटे"
+ },
+ "CC": {
+ "name": "कोकोस (कीलिंग) बेटे"
+ },
+ "KM": {
+ "name": "कोमोरोज"
+ },
+ "CO": {
+ "name": "कोलमà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "XK": {
+ "name": "कोसोवà¥à¤¹à¥‹"
+ },
+ "CR": {
+ "name": "कोसà¥à¤Ÿà¤¾ रिका"
+ },
+ "CU": {
+ "name": "कà¥à¤¯à¥‚बा"
+ },
+ "HR": {
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾"
+ },
+ "CX": {
+ "name": "खà¥à¤°à¤¿à¤¸à¤®à¤¸ बेट"
+ },
+ "GY": {
+ "name": "गयाना"
+ },
+ "GM": {
+ "name": "गामà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "GN": {
+ "name": "गिनी"
+ },
+ "GW": {
+ "name": "गिनी-बिसाउ"
+ },
+ "GU": {
+ "name": "गà¥à¤†à¤®"
+ },
+ "GA": {
+ "name": "गॅबॉन"
+ },
+ "GL": {
+ "name": "गà¥à¤°à¥€à¤¨à¤²à¤‚ड"
+ },
+ "GR": {
+ "name": "गà¥à¤°à¥€à¤¸"
+ },
+ "GD": {
+ "name": "गà¥à¤°à¥‡à¤¨à¥‡à¤¡à¤¾"
+ },
+ "GT": {
+ "name": "गà¥à¤µà¤¾à¤Ÿà¥‡à¤®à¤¾à¤²à¤¾"
+ },
+ "GP": {
+ "name": "गà¥à¤µà¤¾à¤¡à¥‡à¤²à¥‹à¤‰à¤ªà¥‡"
+ },
+ "GG": {
+ "name": "गà¥à¤µà¥‡à¤°à¥à¤¨à¤¸à¥‡"
+ },
+ "GH": {
+ "name": "घाना"
+ },
+ "TD": {
+ "name": "चाड"
+ },
+ "CL": {
+ "name": "चिली"
+ },
+ "CN": {
+ "name": "चीन"
+ },
+ "JP": {
+ "name": "जपान"
+ },
+ "JM": {
+ "name": "जमैका"
+ },
+ "DE": {
+ "name": "जरà¥à¤®à¤¨à¥€"
+ },
+ "JE": {
+ "name": "जरà¥à¤¸à¥€"
+ },
+ "DJ": {
+ "name": "जिबौटी"
+ },
+ "GI": {
+ "name": "जिबà¥à¤°à¤¾à¤²à¥à¤Ÿà¤°"
+ },
+ "GE": {
+ "name": "जॉरà¥à¤œà¤¿à¤¯à¤¾"
+ },
+ "JO": {
+ "name": "जॉरà¥à¤¡à¤¨"
+ },
+ "ZM": {
+ "name": "à¤à¤¾à¤®à¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "ZW": {
+ "name": "à¤à¤¿à¤®à¥à¤¬à¤¾à¤¬à¥à¤µà¥‡"
+ },
+ "CZ": {
+ "name": "à¤à¥‡à¤• पà¥à¤°à¤œà¤¾à¤¸à¤¤à¥à¤¤à¤¾à¤•"
+ },
+ "TC": {
+ "name": "टरà¥à¤•à¥à¤¸ आणि कैकोस बेटे"
+ },
+ "TZ": {
+ "name": "टांà¤à¤¾à¤¨à¤¿à¤¯à¤¾"
+ },
+ "TV": {
+ "name": "टà¥à¤µà¤¾à¤²à¥"
+ },
+ "TO": {
+ "name": "टोंगा"
+ },
+ "TG": {
+ "name": "टोगो"
+ },
+ "TN": {
+ "name": "टà¥à¤¯à¥‚निशिया"
+ },
+ "TA": {
+ "name": "टà¥à¤°à¤¿à¤¸à¥à¤Ÿà¤¨ दा कà¥à¤¨à¥à¤¹à¤¾"
+ },
+ "DK": {
+ "name": "डेनà¥à¤®à¤¾à¤°à¥à¤•"
+ },
+ "DO": {
+ "name": "डोमिनिकन पà¥à¤°à¤œà¤¾à¤¸à¤¤à¥à¤¤à¤¾à¤•"
+ },
+ "DM": {
+ "name": "डोमिनिका"
+ },
+ "TJ": {
+ "name": "ताजिकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "TM": {
+ "name": "तà¥à¤°à¥à¤•à¤®à¥‡à¤¨à¤¿à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "TR": {
+ "name": "तà¥à¤°à¥à¤•à¥€"
+ },
+ "TW": {
+ "name": "तैवान"
+ },
+ "TK": {
+ "name": "तोकेलाउ"
+ },
+ "TT": {
+ "name": "तà¥à¤°à¤¿à¤¨à¤¿à¤¦à¤¾à¤¦ आणि टोबॅगो"
+ },
+ "TH": {
+ "name": "थायलंड"
+ },
+ "ZA": {
+ "name": "दकà¥à¤·à¤¿à¤£ आफà¥à¤°à¤¿à¤•à¤¾"
+ },
+ "KR": {
+ "name": "दकà¥à¤·à¤¿à¤£ कोरिया"
+ },
+ "GS": {
+ "name": "दकà¥à¤·à¤¿à¤£ जॉरà¥à¤œà¤¿à¤¯à¤¾ आणि दकà¥à¤·à¤¿à¤£ सà¤à¤¡à¤µà¤¿à¤š बेटे"
+ },
+ "SS": {
+ "name": "दकà¥à¤·à¤¿à¤£ सà¥à¤¦à¤¾à¤¨"
+ },
+ "DG": {
+ "name": "दिà¤à¤—ो गारà¥à¤¸à¤¿à¤¯à¤¾"
+ },
+ "NR": {
+ "name": "नऊरà¥"
+ },
+ "NE": {
+ "name": "नाइजर"
+ },
+ "NA": {
+ "name": "नामिबिया"
+ },
+ "NG": {
+ "name": "नायजेरिया"
+ },
+ "NI": {
+ "name": "निकारागà¥à¤µà¤¾"
+ },
+ "NU": {
+ "name": "नीयू"
+ },
+ "NL": {
+ "name": "नेदरलà¤à¤¡"
+ },
+ "NP": {
+ "name": "नेपाळ"
+ },
+ "NF": {
+ "name": "नॉरफॉक बेट"
+ },
+ "NO": {
+ "name": "नॉरà¥à¤µà¥‡"
+ },
+ "NC": {
+ "name": "नà¥à¤¯à¥‚ कॅलेडोनिया"
+ },
+ "NZ": {
+ "name": "नà¥à¤¯à¥‚à¤à¥€à¤²à¤‚ड"
+ },
+ "PA": {
+ "name": "पनामा"
+ },
+ "PY": {
+ "name": "परागà¥à¤µà¥‡"
+ },
+ "PW": {
+ "name": "पलाऊ"
+ },
+ "EH": {
+ "name": "पशà¥à¤šà¤¿à¤® सहारा"
+ },
+ "PK": {
+ "name": "पाकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "PG": {
+ "name": "पापà¥à¤† नà¥à¤¯à¥‚ गिनी"
+ },
+ "PN": {
+ "name": "पिटकैरà¥à¤¨ बेटे"
+ },
+ "TL": {
+ "name": "पूरà¥à¤µ तिमोर"
+ },
+ "PS": {
+ "name": "पॅलेसà¥à¤Ÿà¤¿à¤¨à¤¿à¤¯à¤¨ पà¥à¤°à¤¦à¥‡à¤¶"
+ },
+ "PE": {
+ "name": "पेरू"
+ },
+ "PT": {
+ "name": "पोरà¥à¤¤à¥à¤—ाल"
+ },
+ "PL": {
+ "name": "पोलंड"
+ },
+ "PR": {
+ "name": "पà¥à¤¯à¥à¤à¤°à¥à¤¤à¥‹ रिको"
+ },
+ "FJ": {
+ "name": "फिजी"
+ },
+ "FI": {
+ "name": "फिनलंड"
+ },
+ "PH": {
+ "name": "फिलिपिनà¥à¤¸"
+ },
+ "FO": {
+ "name": "फेरो बेटे"
+ },
+ "FK": {
+ "name": "फॉकलंड बेटे"
+ },
+ "FR": {
+ "name": "फà¥à¤°à¤¾à¤¨à¥à¤¸"
+ },
+ "GF": {
+ "name": "फà¥à¤°à¥‡à¤‚च गयाना"
+ },
+ "TF": {
+ "name": "फà¥à¤°à¥‡à¤‚च दाकà¥à¤·à¤¿à¤£à¤¾à¤¤à¥à¤¯ पà¥à¤°à¤¦à¥‡à¤¶"
+ },
+ "PF": {
+ "name": "फà¥à¤°à¥‡à¤‚च पॉलिनेशिया"
+ },
+ "BM": {
+ "name": "बरà¥à¤®à¥à¤¡à¤¾"
+ },
+ "BZ": {
+ "name": "बलिà¤"
+ },
+ "BG": {
+ "name": "बलà¥à¤—ेरिया"
+ },
+ "BS": {
+ "name": "बहामाज"
+ },
+ "BH": {
+ "name": "बहारीन"
+ },
+ "BD": {
+ "name": "बांगलादेश"
+ },
+ "BB": {
+ "name": "बारà¥à¤¬à¤¾à¤¡à¥‹à¤¸"
+ },
+ "BI": {
+ "name": "बà¥à¤°à¥à¤‚डी"
+ },
+ "BF": {
+ "name": "बà¥à¤°à¥à¤•à¤¿à¤¨à¤¾ फासो"
+ },
+ "BJ": {
+ "name": "बेनिन"
+ },
+ "BY": {
+ "name": "बेलारूस"
+ },
+ "BE": {
+ "name": "बेलà¥à¤œà¤¿à¤¯à¤®"
+ },
+ "BW": {
+ "name": "बोटà¥à¤¸à¤µà¤¾à¤¨à¤¾"
+ },
+ "BO": {
+ "name": "बोलिवà¥à¤¹à¤¿à¤¯à¤¾"
+ },
+ "BA": {
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾ अणि हरà¥à¤œà¥‡à¤—ोविना"
+ },
+ "BR": {
+ "name": "बà¥à¤°à¤¾à¤à¤¿à¤²"
+ },
+ "VG": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ वà¥à¤¹à¤°à¥à¤œà¤¿à¤¨ बेटे"
+ },
+ "IO": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ हिंदी महासागर कà¥à¤·à¥‡à¤¤à¥à¤°"
+ },
+ "BN": {
+ "name": "बà¥à¤°à¥à¤¨à¥‡à¤ˆ"
+ },
+ "IN": {
+ "name": "भारत"
+ },
+ "BT": {
+ "name": "भूतान"
+ },
+ "MN": {
+ "name": "मंगोलिया"
+ },
+ "MO": {
+ "name": "मकाओ à¤à¤¸à¤à¤†à¤° चीन"
+ },
+ "MW": {
+ "name": "मलावी"
+ },
+ "MY": {
+ "name": "मलेशिया"
+ },
+ "MG": {
+ "name": "मादागासà¥à¤•à¤°"
+ },
+ "FM": {
+ "name": "मायकà¥à¤°à¥‹à¤¨à¥‡à¤¶à¤¿à¤¯à¤¾"
+ },
+ "YT": {
+ "name": "मायोटà¥à¤Ÿà¥‡"
+ },
+ "MQ": {
+ "name": "मारà¥à¤Ÿà¤¿à¤¨à¤¿à¤•"
+ },
+ "MH": {
+ "name": "मारà¥à¤¶à¤² बेटे"
+ },
+ "MV": {
+ "name": "मालदीव"
+ },
+ "ML": {
+ "name": "माली"
+ },
+ "MT": {
+ "name": "मालà¥à¤Ÿà¤¾"
+ },
+ "MK": {
+ "name": "मॅसेडोनिया"
+ },
+ "MX": {
+ "name": "मेकà¥à¤¸à¤¿à¤•à¥‹"
+ },
+ "MS": {
+ "name": "मॉनà¥à¤Ÿà¥à¤¸à¥‡à¤°à¤¾à¤Ÿ"
+ },
+ "MR": {
+ "name": "मॉरिटानिया"
+ },
+ "MU": {
+ "name": "मॉरिशस"
+ },
+ "ME": {
+ "name": "मोंटेनेगà¥à¤°à¥‹"
+ },
+ "MZ": {
+ "name": "मोà¤à¤¾à¤®à¥à¤¬à¤¿à¤•"
+ },
+ "MC": {
+ "name": "मोनॅको"
+ },
+ "MA": {
+ "name": "मोरोकà¥à¤•à¥‹"
+ },
+ "MD": {
+ "name": "मोलà¥à¤¡à¥‹à¤µà¥à¤¹à¤¾"
+ },
+ "MM": {
+ "name": "मà¥à¤¯à¤¾à¤¨à¤®à¤¾à¤° (बरà¥à¤®à¤¾)"
+ },
+ "UA": {
+ "name": "यà¥à¤•à¥à¤°à¥‡à¤¨"
+ },
+ "UG": {
+ "name": "यà¥à¤—ांडा"
+ },
+ "GB": {
+ "name": "यà¥à¤¨à¤¾à¤¯à¤Ÿà¥‡à¤¡ किंगडम"
+ },
+ "US": {
+ "name": "यà¥à¤¨à¤¾à¤¯à¤Ÿà¥‡à¤¡ सà¥à¤Ÿà¥‡à¤Ÿà¥à¤¸"
+ },
+ "UM": {
+ "name": "यू.à¤à¤¸. आउटलाइंग बेटे"
+ },
+ "VI": {
+ "name": "यू.à¤à¤¸. वà¥à¤¹à¤°à¥à¤œà¤¿à¤¨ बेटे"
+ },
+ "YE": {
+ "name": "येमेन"
+ },
+ "RW": {
+ "name": "रवांडा"
+ },
+ "RU": {
+ "name": "रशिया"
+ },
+ "RE": {
+ "name": "रियà¥à¤¨à¤¿à¤¯à¤¨"
+ },
+ "RO": {
+ "name": "रोमानिया"
+ },
+ "LU": {
+ "name": "लकà¥à¤à¥‡à¤‚बरà¥à¤—"
+ },
+ "LA": {
+ "name": "लाओस"
+ },
+ "LV": {
+ "name": "लातà¥à¤µà¤¿à¤¯à¤¾"
+ },
+ "LR": {
+ "name": "लायबेरिया"
+ },
+ "LI": {
+ "name": "लिकà¥à¤Ÿà¥‡à¤¨à¤¸à¥à¤Ÿà¤¾à¤‡à¤¨"
+ },
+ "LT": {
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¾"
+ },
+ "LY": {
+ "name": "लिबिया"
+ },
+ "LB": {
+ "name": "लेबनॉन"
+ },
+ "LS": {
+ "name": "लेसोथो"
+ },
+ "VU": {
+ "name": "वानौटà¥"
+ },
+ "WF": {
+ "name": "वालिस आणि फà¥à¤¯à¥‚चूना"
+ },
+ "VN": {
+ "name": "वà¥à¤¹à¤¿à¤à¤¤à¤¨à¤¾à¤®"
+ },
+ "VA": {
+ "name": "वà¥à¤¹à¥…टिकन सिटी"
+ },
+ "VE": {
+ "name": "वà¥à¤¹à¥‡à¤¨à¥‡à¤à¥à¤à¤²à¤¾"
+ },
+ "LK": {
+ "name": "शà¥à¤°à¥€à¤²à¤‚का"
+ },
+ "AE": {
+ "name": "संयà¥à¤•à¥à¤¤ अरब अमीरात"
+ },
+ "RS": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "ST": {
+ "name": "साओ टोम आणि पà¥à¤°à¤¿à¤‚सिपे"
+ },
+ "WS": {
+ "name": "सामोआ"
+ },
+ "CY": {
+ "name": "सायपà¥à¤°à¤¸"
+ },
+ "SG": {
+ "name": "सिंगापूर"
+ },
+ "SX": {
+ "name": "सिंट मारà¥à¤Ÿà¥‡à¤¨"
+ },
+ "SL": {
+ "name": "सिà¤à¤°à¤¾ लिओन"
+ },
+ "SY": {
+ "name": "सीरिया"
+ },
+ "SD": {
+ "name": "सà¥à¤¦à¤¾à¤¨"
+ },
+ "SR": {
+ "name": "सà¥à¤°à¤¿à¤¨à¤¾à¤®"
+ },
+ "SM": {
+ "name": "सॅन मरीनो"
+ },
+ "KN": {
+ "name": "सेंट किटà¥à¤¸ आणि नेवà¥à¤¹à¤¿à¤¸"
+ },
+ "PM": {
+ "name": "सेंट पियरे आणि मिकà¥à¤µà¥‡à¤²à¥‹à¤¨"
+ },
+ "BL": {
+ "name": "सेंट बारà¥à¤¥à¥‡à¤²à¥‡à¤®à¥€"
+ },
+ "MF": {
+ "name": "सेंट मारà¥à¤Ÿà¤¿à¤¨"
+ },
+ "LC": {
+ "name": "सेंट लà¥à¤¯à¥‚सिया"
+ },
+ "VC": {
+ "name": "सेंट वà¥à¤¹à¤¿à¤¨à¥à¤¸à¥‡à¤‚ट आणि गà¥à¤°à¥‡à¤¨à¤¡à¤¾à¤‡à¤¨à¥à¤¸"
+ },
+ "SH": {
+ "name": "सेंट हेलेना"
+ },
+ "SN": {
+ "name": "सेनेगल"
+ },
+ "SC": {
+ "name": "सेशेलà¥à¤¸"
+ },
+ "SO": {
+ "name": "सोमालिया"
+ },
+ "SB": {
+ "name": "सोलोमन बेटे"
+ },
+ "SA": {
+ "name": "सौदी अरब"
+ },
+ "ES": {
+ "name": "सà¥à¤ªà¥‡à¤¨"
+ },
+ "EA": {
+ "name": "सà¥à¤¯à¥‚टा आणि मेलिला"
+ },
+ "SK": {
+ "name": "सà¥à¤²à¥‹à¤µà¥à¤¹à¤¾à¤•à¤¿à¤¯à¤¾"
+ },
+ "SI": {
+ "name": "सà¥à¤²à¥‹à¤µà¥à¤¹à¥‡à¤¨à¤¿à¤¯à¤¾"
+ },
+ "SZ": {
+ "name": "सà¥à¤µà¤¾à¤à¤¿à¤²à¤à¤¡"
+ },
+ "SJ": {
+ "name": "सà¥à¤µà¤¾à¤²à¤¬à¤°à¥à¤¡ आणि जान मायेन"
+ },
+ "CH": {
+ "name": "सà¥à¤µà¤¿à¤¤à¥à¤à¤°à¥à¤²à¤‚ड"
+ },
+ "SE": {
+ "name": "सà¥à¤µà¥€à¤¡à¤¨"
+ },
+ "HU": {
+ "name": "हंगेरी"
+ },
+ "HK": {
+ "name": "हाà¤à¤—काà¤à¤— à¤à¤¸à¤à¤†à¤° चीन"
+ },
+ "HT": {
+ "name": "हैती"
+ },
+ "HN": {
+ "name": "होंडà¥à¤°à¤¾à¤¸"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ms.json b/library/intl/resources/country/ms.json
new file mode 100644
index 000000000..736c47018
--- /dev/null
+++ b/library/intl/resources/country/ms.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrika Selatan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "US": {
+ "name": "Amerika Syarikat"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antartika"
+ },
+ "AG": {
+ "name": "Antigua dan Barbuda"
+ },
+ "SA": {
+ "name": "Arab Saudi"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "NL": {
+ "name": "Belanda"
+ },
+ "BQ": {
+ "name": "Belanda Caribbean"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia dan Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "EA": {
+ "name": "Ceuta dan Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Cote d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curacao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiriah Arab Bersatu"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipina"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GF": {
+ "name": "Guiana Perancis"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea Bissau"
+ },
+ "GQ": {
+ "name": "Guinea Khatulistiwa"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Jepun"
+ },
+ "DE": {
+ "name": "Jerman"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KH": {
+ "name": "Kemboja"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "AX": {
+ "name": "Kepulauan Aland"
+ },
+ "IC": {
+ "name": "Kepulauan Canary"
+ },
+ "KY": {
+ "name": "Kepulauan Cayman"
+ },
+ "CC": {
+ "name": "Kepulauan Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Kepulauan Cook"
+ },
+ "FK": {
+ "name": "Kepulauan Falkland"
+ },
+ "FO": {
+ "name": "Kepulauan Faroe"
+ },
+ "GS": {
+ "name": "Kepulauan Georgia Selatan & Sandwich Selatan"
+ },
+ "MP": {
+ "name": "Kepulauan Mariana Utara"
+ },
+ "MH": {
+ "name": "Kepulauan Marshall"
+ },
+ "PN": {
+ "name": "Kepulauan Pitcairn"
+ },
+ "SB": {
+ "name": "Kepulauan Solomon"
+ },
+ "UM": {
+ "name": "Kepulauan Terpencil A.S."
+ },
+ "TC": {
+ "name": "Kepulauan Turks dan Caicos"
+ },
+ "VI": {
+ "name": "Kepulauan Virgin A.S."
+ },
+ "VG": {
+ "name": "Kepulauan Virgin British"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KR": {
+ "name": "Korea Selatan"
+ },
+ "KP": {
+ "name": "Korea Utara"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "VA": {
+ "name": "Kota Vatican"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LB": {
+ "name": "Lubnan"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MA": {
+ "name": "Maghribi"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "EG": {
+ "name": "Mesir"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "FR": {
+ "name": "Perancis"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PF": {
+ "name": "Polinesia Perancis"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "AC": {
+ "name": "Pulau Ascension"
+ },
+ "CX": {
+ "name": "Pulau Krismas"
+ },
+ "NF": {
+ "name": "Pulau Norfolk"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "CF": {
+ "name": "Republik Afrika Tengah"
+ },
+ "CZ": {
+ "name": "Republik Czech"
+ },
+ "DO": {
+ "name": "Republik Dominica"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Barat"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts dan Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre dan Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent dan Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerika"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome dan Principe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "ES": {
+ "name": "Sepanyol"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan Selatan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard dan Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad dan Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis dan Futuna"
+ },
+ "IO": {
+ "name": "Wilayah Lautan Hindi British"
+ },
+ "PS": {
+ "name": "Wilayah Palestin"
+ },
+ "TF": {
+ "name": "Wilayah Selatan Perancis"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "GR": {
+ "name": "Yunani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/mt.json b/library/intl/resources/country/mt.json
new file mode 100644
index 000000000..e471f732e
--- /dev/null
+++ b/library/intl/resources/country/mt.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "ZA": {
+ "name": "Afrika t’Isfel"
+ },
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alġerija"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angwilla"
+ },
+ "AQ": {
+ "name": "Antartika"
+ },
+ "AG": {
+ "name": "Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "Arġentina"
+ },
+ "AM": {
+ "name": "Armenja"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Awstralja"
+ },
+ "AT": {
+ "name": "Awstrija"
+ },
+ "AZ": {
+ "name": "Ażerbajġan"
+ },
+ "BS": {
+ "name": "Baħamas"
+ },
+ "BH": {
+ "name": "Baħrajn"
+ },
+ "BD": {
+ "name": "Bangladexx"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belġju"
+ },
+ "BZ": {
+ "name": "Beliże"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Bjelorussja"
+ },
+ "BO": {
+ "name": "Bolivja"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BA": {
+ "name": "Bożnija Ħerżegovina"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bulgarija"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "TD": {
+ "name": "ÄŠad"
+ },
+ "CL": {
+ "name": "ÄŠili"
+ },
+ "CY": {
+ "name": "ÄŠipru"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimarka"
+ },
+ "CD": {
+ "name": "Democratic Republic of the Congo"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EG": {
+ "name": "EÄ¡ittu"
+ },
+ "EC": {
+ "name": "Ekwador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirati Għarab Maqgħuda"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonja"
+ },
+ "ET": {
+ "name": "Etijopja"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FJ": {
+ "name": "Fiġi"
+ },
+ "PH": {
+ "name": "Filippini"
+ },
+ "FI": {
+ "name": "Finlandja"
+ },
+ "FR": {
+ "name": "Franza"
+ },
+ "JM": {
+ "name": "Ä amajka"
+ },
+ "DJ": {
+ "name": "Ä ibuti"
+ },
+ "JO": {
+ "name": "Ä ordan"
+ },
+ "GE": {
+ "name": "Ġorġja"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambja"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GQ": {
+ "name": "Ginea Ekwatorjali"
+ },
+ "GW": {
+ "name": "Ginea-Bissaw"
+ },
+ "GN": {
+ "name": "Gineja"
+ },
+ "GR": {
+ "name": "Greċja"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandja"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Gujana"
+ },
+ "GF": {
+ "name": "Gujana Franċiża"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "AX": {
+ "name": "Gżejjer Aland"
+ },
+ "FO": {
+ "name": "Gżejjer Faroe"
+ },
+ "KY": {
+ "name": "Gżejjer Kajmani"
+ },
+ "MP": {
+ "name": "Gżejjer Marjana ta’ Fuq"
+ },
+ "MH": {
+ "name": "Gżejjer ta’ Marshall"
+ },
+ "SA": {
+ "name": "Għarabja Sawdita"
+ },
+ "HT": {
+ "name": "Ħaiti"
+ },
+ "HN": {
+ "name": "Ħonduras"
+ },
+ "HK": {
+ "name": "Ħong Kong S.A.R. Ċina"
+ },
+ "CN": {
+ "name": "IÄ‹-ÄŠina"
+ },
+ "BR": {
+ "name": "Il-Brażil"
+ },
+ "JP": {
+ "name": "Il-Ä appun"
+ },
+ "DE": {
+ "name": "Il-Ä ermanja"
+ },
+ "ID": {
+ "name": "Indoneżja"
+ },
+ "RU": {
+ "name": "Ir-Russja"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islanda"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Iżrael"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "CV": {
+ "name": "Kape Verde"
+ },
+ "KZ": {
+ "name": "Każakstan"
+ },
+ "KE": {
+ "name": "Kenja"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolumbja"
+ },
+ "KM": {
+ "name": "Komoros"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KR": {
+ "name": "Koreja t’Isfel"
+ },
+ "KP": {
+ "name": "Koreja ta’ Fuq"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "CI": {
+ "name": "Kosta ta’ l-Avorju"
+ },
+ "HR": {
+ "name": "Kroazja"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwajt"
+ },
+ "IN": {
+ "name": "L-Indja"
+ },
+ "GB": {
+ "name": "L-Ingilterra"
+ },
+ "US": {
+ "name": "L-Istati Uniti"
+ },
+ "IT": {
+ "name": "L-Italja"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvja"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Libanu"
+ },
+ "LR": {
+ "name": "Liberja"
+ },
+ "LY": {
+ "name": "Libja"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litwanja"
+ },
+ "LU": {
+ "name": "Lussemburgu"
+ },
+ "MK": {
+ "name": "Maċedonja"
+ },
+ "MO": {
+ "name": "Macao S.A.R., China"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "YT": {
+ "name": "Majotte"
+ },
+ "MY": {
+ "name": "Malasja"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "MD": {
+ "name": "Maldova"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokk"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MR": {
+ "name": "Mawritanja"
+ },
+ "MU": {
+ "name": "Mawrizju"
+ },
+ "MX": {
+ "name": "Messiku"
+ },
+ "FM": {
+ "name": "Mikronesja"
+ },
+ "MM": {
+ "name": "Mjanmar"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolja"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Możambik"
+ },
+ "NA": {
+ "name": "Namibja"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NE": {
+ "name": "Niġer"
+ },
+ "NG": {
+ "name": "Niġerja"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "NO": {
+ "name": "Norveġja"
+ },
+ "NL": {
+ "name": "Olanda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwa-Ginea Ä dida"
+ },
+ "PY": {
+ "name": "Paragwaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinesja Franċiża"
+ },
+ "PL": {
+ "name": "Polonja"
+ },
+ "PT": {
+ "name": "Portugall"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "CF": {
+ "name": "Repubblika Afrikana ÄŠentrali"
+ },
+ "CZ": {
+ "name": "Repubblika ÄŠeka"
+ },
+ "DO": {
+ "name": "Republikka Domenikana"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumanija"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara tal-Punent"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerikana"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "LC": {
+ "name": "Santa Luċija"
+ },
+ "ST": {
+ "name": "Sao Tome and Principe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapor"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Sirja"
+ },
+ "SK": {
+ "name": "Slovakkja"
+ },
+ "SI": {
+ "name": "Slovenja"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalja"
+ },
+ "GS": {
+ "name": "South Georgia and the South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spanja"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard and Jan Mayen"
+ },
+ "CH": {
+ "name": "Svizzera"
+ },
+ "SZ": {
+ "name": "Sważiland"
+ },
+ "TJ": {
+ "name": "Taġikistan"
+ },
+ "TH": {
+ "name": "Tajlandja"
+ },
+ "TW": {
+ "name": "Tajwan"
+ },
+ "TZ": {
+ "name": "Tanżanija"
+ },
+ "TF": {
+ "name": "Territorji Franċiżi ta’ Nofsinhar"
+ },
+ "PS": {
+ "name": "Territorju Palestinjan"
+ },
+ "TL": {
+ "name": "Timor tal-Lvant"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelaw"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad u Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tuneż"
+ },
+ "TR": {
+ "name": "Turkija"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungerija"
+ },
+ "UM": {
+ "name": "United States Minor Outlying Islands"
+ },
+ "UY": {
+ "name": "Urugwaj"
+ },
+ "UZ": {
+ "name": "Użbekistan"
+ },
+ "VU": {
+ "name": "Vanwatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezwela"
+ },
+ "VN": {
+ "name": "Vjetnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "ZM": {
+ "name": "Żambja"
+ },
+ "ZW": {
+ "name": "Żimbabwe"
+ },
+ "SE": {
+ "name": "Żvezja"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/mua.json b/library/intl/resources/country/mua.json
new file mode 100644
index 000000000..6bfd0b550
--- /dev/null
+++ b/library/intl/resources/country/mua.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "afghanistaŋ"
+ },
+ "ZA": {
+ "name": "Afrika nekÇsÇÅ‹"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "albaniya"
+ },
+ "DZ": {
+ "name": "algeriya"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "andorra"
+ },
+ "IO": {
+ "name": "anglofoŋ ma Indiya"
+ },
+ "AO": {
+ "name": "angola"
+ },
+ "AI": {
+ "name": "anguiya"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "antiguan ne Barbuda"
+ },
+ "AR": {
+ "name": "argentiniya"
+ },
+ "AM": {
+ "name": "armeniya"
+ },
+ "AW": {
+ "name": "aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "australiya"
+ },
+ "AT": {
+ "name": "austriya"
+ },
+ "AZ": {
+ "name": "azerbaijaŋ"
+ },
+ "BS": {
+ "name": "bahamas"
+ },
+ "BH": {
+ "name": "bahraiŋ"
+ },
+ "BD": {
+ "name": "bangladeshiya"
+ },
+ "BB": {
+ "name": "barbadiya"
+ },
+ "BY": {
+ "name": "belarussiya"
+ },
+ "BE": {
+ "name": "belgika"
+ },
+ "BZ": {
+ "name": "beliziya"
+ },
+ "BJ": {
+ "name": "beniŋ"
+ },
+ "BM": {
+ "name": "bermudiya"
+ },
+ "BO": {
+ "name": "boliviya"
+ },
+ "BA": {
+ "name": "bosniya ne Herzegovina"
+ },
+ "BW": {
+ "name": "botswana"
+ },
+ "BR": {
+ "name": "brazilya"
+ },
+ "BN": {
+ "name": "bruniya"
+ },
+ "BG": {
+ "name": "bulgariya"
+ },
+ "BF": {
+ "name": "burkina Faso"
+ },
+ "BI": {
+ "name": "burundi"
+ },
+ "BT": {
+ "name": "butaŋ"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CF": {
+ "name": "centrafrika"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Daŋmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominik"
+ },
+ "EC": {
+ "name": "EkwatÇr"
+ },
+ "ES": {
+ "name": "Espaŋiya"
+ },
+ "EE": {
+ "name": "Estoniya"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "PH": {
+ "name": "Filipiŋ"
+ },
+ "FR": {
+ "name": "FranssÇ"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboŋ"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Georgiya"
+ },
+ "DE": {
+ "name": "Germaniya"
+ },
+ "GD": {
+ "name": "GrenadÇ"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guine"
+ },
+ "GW": {
+ "name": "Guine ma Bissao"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungriya"
+ },
+ "ID": {
+ "name": "Indonesiya"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iraŋ"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italiya"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japaŋ"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordaniya"
+ },
+ "NC": {
+ "name": "Kaledoniya mafuu"
+ },
+ "KH": {
+ "name": "kambodiya"
+ },
+ "CM": {
+ "name": "kameruŋ"
+ },
+ "CA": {
+ "name": "kanada"
+ },
+ "CV": {
+ "name": "kap ma laŋne"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KY": {
+ "name": "kayman ma laŋne"
+ },
+ "KZ": {
+ "name": "Kazakstaŋ"
+ },
+ "KG": {
+ "name": "Kirgizstaŋ"
+ },
+ "CO": {
+ "name": "kolombiya"
+ },
+ "KM": {
+ "name": "komora"
+ },
+ "CG": {
+ "name": "kongo"
+ },
+ "CK": {
+ "name": "kook ma laŋne"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "kosta Rika"
+ },
+ "HR": {
+ "name": "kroatiya"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "LV": {
+ "name": "Letoniya"
+ },
+ "LB": {
+ "name": "Libaŋ"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libiya"
+ },
+ "LI": {
+ "name": "LichtÇnsteiÅ‹"
+ },
+ "LT": {
+ "name": "Lituaniya"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedoniya"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MY": {
+ "name": "Malaysiya"
+ },
+ "MV": {
+ "name": "MaldivÇ"
+ },
+ "MA": {
+ "name": "Marok"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MR": {
+ "name": "Mauritaniya"
+ },
+ "YT": {
+ "name": "Mayot"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Micronesiya"
+ },
+ "MD": {
+ "name": "Moldoviya"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "Mozambika"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NG": {
+ "name": "Nigeriya"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niwe"
+ },
+ "NF": {
+ "name": "Norfolk ma laŋne"
+ },
+ "NO": {
+ "name": "NorvegÇ"
+ },
+ "OM": {
+ "name": "Omaŋ"
+ },
+ "PK": {
+ "name": "Pakistaŋ"
+ },
+ "PG": {
+ "name": "Papuasiya Guine mafuu"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairn"
+ },
+ "PL": {
+ "name": "Pologŋ"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "RO": {
+ "name": "Romaniya"
+ },
+ "RU": {
+ "name": "Russiya"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SC": {
+ "name": "Saichel"
+ },
+ "AS": {
+ "name": "samoa Amerika"
+ },
+ "ST": {
+ "name": "Sao Tome ne Principe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "VG": {
+ "name": "ser Anglofon ma laŋne"
+ },
+ "CI": {
+ "name": "ser Ivoiriya"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "VI": {
+ "name": "SÇr amerika ma laÅ‹ne"
+ },
+ "GB": {
+ "name": "SÇr AnglofoÅ‹"
+ },
+ "SA": {
+ "name": "SÇr Arabiya"
+ },
+ "AE": {
+ "name": "SÇr Arabiya ma taini"
+ },
+ "DO": {
+ "name": "SÇr Dominik ma lii"
+ },
+ "EG": {
+ "name": "SÇr Egypt"
+ },
+ "ER": {
+ "name": "SÇr Eritre"
+ },
+ "FJ": {
+ "name": "SÇr Fiji"
+ },
+ "FI": {
+ "name": "SÇr Finland"
+ },
+ "GI": {
+ "name": "SÇr Gibraltar"
+ },
+ "GR": {
+ "name": "SÇr Grek"
+ },
+ "GL": {
+ "name": "SÇr Groenland"
+ },
+ "GQ": {
+ "name": "SÇr Guine"
+ },
+ "GF": {
+ "name": "SÇr Guyana ma FranssÇ"
+ },
+ "GP": {
+ "name": "SÇr GwadeloupÇ"
+ },
+ "HT": {
+ "name": "SÇr Haiti"
+ },
+ "SH": {
+ "name": "SÇr Helena"
+ },
+ "HN": {
+ "name": "SÇr Honduras"
+ },
+ "IN": {
+ "name": "SÇr IndÇ"
+ },
+ "IE": {
+ "name": "SÇr Ireland"
+ },
+ "IS": {
+ "name": "SÇr Island"
+ },
+ "IL": {
+ "name": "SÇr Israel"
+ },
+ "KE": {
+ "name": "SÇr Kenya"
+ },
+ "KI": {
+ "name": "SÇr Kiribati"
+ },
+ "CD": {
+ "name": "SÇr Kongo ma dii ne zair"
+ },
+ "KP": {
+ "name": "SÇr Kore fah sÇÅ‹"
+ },
+ "KR": {
+ "name": "SÇr Kore nekÇsÇÅ‹"
+ },
+ "KW": {
+ "name": "SÇr Kowait"
+ },
+ "KN": {
+ "name": "SÇr Kristof ne NievÇ"
+ },
+ "LK": {
+ "name": "SÇr Lanka"
+ },
+ "LA": {
+ "name": "SÇr Laos"
+ },
+ "LS": {
+ "name": "SÇr Lesotho"
+ },
+ "LC": {
+ "name": "SÇr Lucia"
+ },
+ "LU": {
+ "name": "SÇr Luxemburg"
+ },
+ "NL": {
+ "name": "SÇr ma kasÇÅ‹"
+ },
+ "MW": {
+ "name": "SÇr Malawi"
+ },
+ "ML": {
+ "name": "SÇr Mali"
+ },
+ "FK": {
+ "name": "SÇr malouniya ma laÅ‹ne"
+ },
+ "MT": {
+ "name": "SÇr Malta"
+ },
+ "MP": {
+ "name": "SÇr Maria ma laÅ‹ne"
+ },
+ "SM": {
+ "name": "SÇr Marino"
+ },
+ "MH": {
+ "name": "SÇr Marshall ma laÅ‹ne"
+ },
+ "MU": {
+ "name": "SÇr MauricÇ"
+ },
+ "MS": {
+ "name": "SÇr Montserrat"
+ },
+ "MM": {
+ "name": "SÇr Myanmar"
+ },
+ "NR": {
+ "name": "SÇr Nauru"
+ },
+ "NP": {
+ "name": "SÇr Nepal"
+ },
+ "NE": {
+ "name": "SÇr Niger"
+ },
+ "PW": {
+ "name": "SÇr Palau"
+ },
+ "PS": {
+ "name": "SÇr Palestiniya"
+ },
+ "PA": {
+ "name": "SÇr Panama"
+ },
+ "PM": {
+ "name": "SÇr PÇtar ne MikÇlon"
+ },
+ "PF": {
+ "name": "SÇr Polynesiya ma FranssÇ"
+ },
+ "PT": {
+ "name": "SÇr Portugal"
+ },
+ "RE": {
+ "name": "SÇr Reunion"
+ },
+ "SB": {
+ "name": "SÇr Salomon ma laÅ‹ne"
+ },
+ "SV": {
+ "name": "SÇr Salvador"
+ },
+ "WS": {
+ "name": "SÇr Samoa"
+ },
+ "SE": {
+ "name": "SÇr Sued"
+ },
+ "SR": {
+ "name": "SÇr Surinam"
+ },
+ "SZ": {
+ "name": "SÇr Swaziland"
+ },
+ "CH": {
+ "name": "SÇr Swiss"
+ },
+ "CZ": {
+ "name": "SÇr Syek"
+ },
+ "TG": {
+ "name": "SÇr Togo"
+ },
+ "TK": {
+ "name": "SÇr Tokelau"
+ },
+ "TO": {
+ "name": "SÇr Tonga"
+ },
+ "TV": {
+ "name": "SÇr Tuvalu"
+ },
+ "VU": {
+ "name": "SÇr Vanuatu"
+ },
+ "VE": {
+ "name": "SÇr Venezuela"
+ },
+ "VN": {
+ "name": "SÇr Vietnam"
+ },
+ "VC": {
+ "name": "SÇr VinceÅ‹ ne GrenadiÅ‹"
+ },
+ "SL": {
+ "name": "Sierra LeonÇ"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakiya"
+ },
+ "SI": {
+ "name": "Sloveniya"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaŋ"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TD": {
+ "name": "syad"
+ },
+ "CL": {
+ "name": "syili"
+ },
+ "CN": {
+ "name": "syiŋ"
+ },
+ "CY": {
+ "name": "Syipriya"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TH": {
+ "name": "Tailand"
+ },
+ "TW": {
+ "name": "Taiwaŋ"
+ },
+ "TJ": {
+ "name": "Tajikistaŋ"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TL": {
+ "name": "Timoriya"
+ },
+ "TT": {
+ "name": "Trinite ne Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisiya"
+ },
+ "TR": {
+ "name": "Turkiya"
+ },
+ "TC": {
+ "name": "Turkiya ne kaicos ma laŋne"
+ },
+ "TM": {
+ "name": "Turkmenistaŋ"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraiŋ"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "UZ": {
+ "name": "Uzbekistaŋ"
+ },
+ "VA": {
+ "name": "Vaticaŋ"
+ },
+ "WF": {
+ "name": "Wallis ne Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeŋ"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "NZ": {
+ "name": "Zeland mafuu"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/my.json b/library/intl/resources/country/my.json
new file mode 100644
index 000000000..100b0d425
--- /dev/null
+++ b/library/intl/resources/country/my.json
@@ -0,0 +1,761 @@
+{
+ "CA": {
+ "name": "ကနေဒါ"
+ },
+ "KZ": {
+ "name": "ကာဇက်စá€á€”်"
+ },
+ "QA": {
+ "name": "ကာá€á€¬"
+ },
+ "IC": {
+ "name": "ကာနာရီကျွန်းစု"
+ },
+ "BQ": {
+ "name": "ကာရီဘီယံနယ်သာလန်"
+ },
+ "KW": {
+ "name": "ကူá€á€­á€á€º"
+ },
+ "KY": {
+ "name": "ကေမန် ကျွန်းစု"
+ },
+ "CR": {
+ "name": "ကော့စ်á€á€¬á€›á€®á€€á€¬"
+ },
+ "CC": {
+ "name": "ကိုကိုး ကျွန်းစု"
+ },
+ "XK": {
+ "name": "ကိုဆိုဗို"
+ },
+ "KM": {
+ "name": "ကိုမိုရိုစ်"
+ },
+ "CO": {
+ "name": "ကိုလံဘီယာ"
+ },
+ "KE": {
+ "name": "ကင်ညာ"
+ },
+ "CM": {
+ "name": "ကင်မရွန်း"
+ },
+ "KH": {
+ "name": "ကမ္ဘောဒီးယား"
+ },
+ "CU": {
+ "name": "ကျူးဘား"
+ },
+ "CK": {
+ "name": "ကွá€á€º ကျွန်းစု"
+ },
+ "CD": {
+ "name": "ကွန်ဂို-ကင်ရှာစ"
+ },
+ "CG": {
+ "name": "ကွန်ဂို-ဘရာဇာဗီလ်"
+ },
+ "KG": {
+ "name": "á€á€›á€°á€‚စ်စá€á€”်"
+ },
+ "HR": {
+ "name": "á€á€›á€­á€¯á€¡á€±á€¸á€›á€¾á€¬á€¸"
+ },
+ "CX": {
+ "name": "á€á€›á€…်စမá€á€º ကျွန်း"
+ },
+ "KI": {
+ "name": "á€á€®á€›á€®á€˜á€¬á€á€®"
+ },
+ "CW": {
+ "name": "á€á€°á€›á€¬á€€á€¬á€¡á€­á€¯"
+ },
+ "CV": {
+ "name": "á€á€±á€·á€•á€ºá€—ာဒူ"
+ },
+ "CL": {
+ "name": "á€á€»á€®á€œá€®"
+ },
+ "CZ": {
+ "name": "á€á€»á€€á€º ပြည်ထောင်စု"
+ },
+ "TD": {
+ "name": "á€á€»á€’်"
+ },
+ "GR": {
+ "name": "ဂရိ"
+ },
+ "GD": {
+ "name": "ဂရီနာဒါ"
+ },
+ "GL": {
+ "name": "ဂရင်းလန်း"
+ },
+ "GH": {
+ "name": "ဂါနာ"
+ },
+ "GA": {
+ "name": "ဂါဘွန်"
+ },
+ "GW": {
+ "name": "ဂီရာနာ-ဘီစ်စာဥ"
+ },
+ "GN": {
+ "name": "ဂီးနီ"
+ },
+ "GY": {
+ "name": "ဂူရာနာ"
+ },
+ "GP": {
+ "name": "ဂူအာဒီလုပ်"
+ },
+ "GU": {
+ "name": "ဂူအမ်"
+ },
+ "GM": {
+ "name": "ဂန်ဘီရာ"
+ },
+ "JP": {
+ "name": "ဂျပန်"
+ },
+ "JM": {
+ "name": "ဂျမေကာ"
+ },
+ "JE": {
+ "name": "ဂျာစီ"
+ },
+ "DE": {
+ "name": "ဂျာမá€á€®"
+ },
+ "GI": {
+ "name": "ဂျီဘရော်လ်á€á€¬"
+ },
+ "DJ": {
+ "name": "ဂျီဘူá€á€®"
+ },
+ "GE": {
+ "name": "ဂျော်ဂျီယာ"
+ },
+ "JO": {
+ "name": "ဂျော်ဒန်"
+ },
+ "GT": {
+ "name": "ဂွာá€á€®á€™á€¬á€œá€¬"
+ },
+ "GG": {
+ "name": "ဂွန်းဇီ"
+ },
+ "ES": {
+ "name": "စပိန်"
+ },
+ "SJ": {
+ "name": "စဗိုလ်ဘá€á€ºá€”ှင့်ဂျန်မေရန်"
+ },
+ "SK": {
+ "name": "စလိုဗေးကီးယား"
+ },
+ "SI": {
+ "name": "စလိုဗေးနီးယား"
+ },
+ "SG": {
+ "name": "စင်္ကာပူ"
+ },
+ "KN": {
+ "name": "စိန့်ကစ်နှင့်နီဗီစ်"
+ },
+ "ST": {
+ "name": "စိန့်á€á€­á€¯á€™á€®á€”ှင့်ပရင်စီပ့်"
+ },
+ "PM": {
+ "name": "စိန့်ပီအဲရီနှင့်မီကွီလွန်"
+ },
+ "VC": {
+ "name": "စိန့်ဗင့်ဆင့်နှင့် သည်ဂရဲနာဒင်းစ်"
+ },
+ "BL": {
+ "name": "စိန့်ဘာသီလီမိုင်"
+ },
+ "MF": {
+ "name": "စိန့်မာá€á€„်"
+ },
+ "LC": {
+ "name": "စိန့်လူစီအာ"
+ },
+ "SH": {
+ "name": "စိန့်ဟဲလီနာ"
+ },
+ "SZ": {
+ "name": "စွာဇီလန်"
+ },
+ "WS": {
+ "name": "ဆာမိုအာ"
+ },
+ "RS": {
+ "name": "ဆားဘီးယား"
+ },
+ "SN": {
+ "name": "ဆီနီဂေါ"
+ },
+ "SL": {
+ "name": "ဆီအဲရာ လီအိုနီ"
+ },
+ "SY": {
+ "name": "ဆီးရီးယား"
+ },
+ "SD": {
+ "name": "ဆူဒန်"
+ },
+ "SR": {
+ "name": "ဆူရီနိမ်း"
+ },
+ "SC": {
+ "name": "ဆေးရှလ်"
+ },
+ "SM": {
+ "name": "ဆော့န်မာရီနို"
+ },
+ "SA": {
+ "name": "ဆော်ဒီအာရေးဗီးယား"
+ },
+ "SB": {
+ "name": "ဆော်လမွန်ကျွန်းစု"
+ },
+ "SO": {
+ "name": "ဆိုမာလီယာ"
+ },
+ "CY": {
+ "name": "ဆိုက်ပရက်စ်"
+ },
+ "SX": {
+ "name": "ဆင့်မာအာá€á€„်"
+ },
+ "EA": {
+ "name": "ဆယ်ဥá€á€¬á€”ှင့်မယ်လီလ်လာ"
+ },
+ "SE": {
+ "name": "ဆွီဒင်"
+ },
+ "CH": {
+ "name": "ဆွစ်ဇလန်"
+ },
+ "ZW": {
+ "name": "ဇင်ဘာဘွေ"
+ },
+ "ZM": {
+ "name": "ဇမ်ဘီယာ"
+ },
+ "CN": {
+ "name": "á€á€›á€¯á€á€º"
+ },
+ "MO": {
+ "name": "á€á€›á€¯á€á€ºá အထူးအုပ်á€á€»á€¯á€•á€ºá€á€½á€„့်ရ မကာအို"
+ },
+ "HK": {
+ "name": "á€á€›á€¯á€á€ºá အထူးအုပ်á€á€»á€¯á€•á€ºá€á€½á€„့်ရ ဟောင်ကောင်"
+ },
+ "TJ": {
+ "name": "á€á€¬á€‚ျီကစ္စá€á€”်"
+ },
+ "TN": {
+ "name": "á€á€°á€”ီးရှား"
+ },
+ "TR": {
+ "name": "á€á€°á€›á€€á€®"
+ },
+ "TG": {
+ "name": "á€á€­á€¯á€‚ို"
+ },
+ "TC": {
+ "name": "á€á€á€ºá€…်နှင့်ကာအီကိုစ်ကျွန်းစု"
+ },
+ "TM": {
+ "name": "á€á€¬á€á€ºá€™á€®á€”့စ်á€á€”်"
+ },
+ "GS": {
+ "name": "á€á€±á€¬á€„် ဂျော်ဂျီယာ နှင့် á€á€±á€¬á€„် ဆင်းဒá€á€…်ဂျ် ကျွန်းစုများ"
+ },
+ "KR": {
+ "name": "á€á€±á€¬á€„်ကိုရီးယား"
+ },
+ "MP": {
+ "name": "á€á€±á€¬á€„်ပိုင်းမာရီအာနာကျွန်းစု"
+ },
+ "ZA": {
+ "name": "á€á€±á€¬á€„်အာဖရိက"
+ },
+ "TZ": {
+ "name": "á€á€”်ဇန်းနီးယား"
+ },
+ "TO": {
+ "name": "á€á€½á€”်ဂါ"
+ },
+ "TT": {
+ "name": "ထရိုင်နီဒá€á€ºá€”ှင့်á€á€­á€¯á€˜á€¬á€‚ို"
+ },
+ "TA": {
+ "name": "ထရစ်á€á€”်ဒါကွန်ဟာ"
+ },
+ "TV": {
+ "name": "ထူးဗလူ"
+ },
+ "TK": {
+ "name": "ထိုးá€á€«á€œá€°"
+ },
+ "TW": {
+ "name": "ထိုင်á€á€™á€º"
+ },
+ "TH": {
+ "name": "ထိုင်း"
+ },
+ "DG": {
+ "name": "ဒီအေဂိုဂရာစီအာ"
+ },
+ "DM": {
+ "name": "ဒိုမီနီကာ"
+ },
+ "DO": {
+ "name": "ဒိုမီနီကန်"
+ },
+ "DK": {
+ "name": "ဒိန်းမá€á€º"
+ },
+ "NC": {
+ "name": "နယူး ကယ်လီဒိုနီးယား"
+ },
+ "NZ": {
+ "name": "နယူးဇီလန်"
+ },
+ "NR": {
+ "name": "နာဥူရူ"
+ },
+ "NI": {
+ "name": "နီကာရာဂွာ"
+ },
+ "NP": {
+ "name": "နီပေါ"
+ },
+ "NU": {
+ "name": "နီဥူအေ"
+ },
+ "NF": {
+ "name": "နောဖော့á€á€ºá€€á€»á€½á€”်း"
+ },
+ "NO": {
+ "name": "နော်á€á€±"
+ },
+ "NE": {
+ "name": "နိုင်ဂျာ"
+ },
+ "NG": {
+ "name": "နိုင်ဂျီးရီးယား"
+ },
+ "NA": {
+ "name": "နမ်မီးဘီးယား"
+ },
+ "NL": {
+ "name": "နယ်သာလန်"
+ },
+ "PA": {
+ "name": "ပနားမား"
+ },
+ "PW": {
+ "name": "ပလောင်"
+ },
+ "PK": {
+ "name": "ပါကစ္စá€á€”်"
+ },
+ "PG": {
+ "name": "ပါပူရာနယူးဂီနီ"
+ },
+ "PY": {
+ "name": "ပါရာဂွေး"
+ },
+ "PS": {
+ "name": "ပါလက်စá€á€­á€¯á€„်း ပိုင်နက်"
+ },
+ "PE": {
+ "name": "ပီရူး"
+ },
+ "PT": {
+ "name": "ပေါ်á€á€°á€‚ီ"
+ },
+ "PR": {
+ "name": "ပေါ်á€á€°á€›á€®á€€á€­á€¯"
+ },
+ "PL": {
+ "name": "ပိုလန်"
+ },
+ "PN": {
+ "name": "ပစ်á€á€ºá€€á€­á€”်းကျွန်းစု"
+ },
+ "FR": {
+ "name": "ပြင်သစ်"
+ },
+ "GF": {
+ "name": "ပြင်သစ် ဂီယာနာ"
+ },
+ "TF": {
+ "name": "ပြင်သစ် á€á€±á€¬á€„်ပိုင်း ပိုင်နက်များ"
+ },
+ "PF": {
+ "name": "ပြင်သစ် ပေါ်လီနေးရှား"
+ },
+ "FO": {
+ "name": "ဖာရိုး ကျွန်းစုများ"
+ },
+ "PH": {
+ "name": "ဖိလစ်ပိုင်"
+ },
+ "FJ": {
+ "name": "ဖီဂျီ"
+ },
+ "FK": {
+ "name": "ဖောက်ကလန် ကျွန်းစု"
+ },
+ "FI": {
+ "name": "ဖင်လန်"
+ },
+ "VA": {
+ "name": "ဗာá€á€®á€€á€”်စီá€á€®á€¸"
+ },
+ "VU": {
+ "name": "ဗာနုအာá€á€°"
+ },
+ "VN": {
+ "name": "ဗီယက်နမ်"
+ },
+ "VE": {
+ "name": "ဗင်နီဇွဲလား"
+ },
+ "VG": {
+ "name": "ဗြိá€á€­á€žá€»á€¾ ဗာဂျင်း ကျွန်းစု"
+ },
+ "IO": {
+ "name": "ဗြိá€á€­á€žá€»á€¾ အိန္ဒြိယ သမုဒ္ဒရာ ပိုင်နက်"
+ },
+ "BR": {
+ "name": "ဘရာဇီး"
+ },
+ "BN": {
+ "name": "ဘရူနိုင်း"
+ },
+ "BS": {
+ "name": "ဘဟားမား"
+ },
+ "BF": {
+ "name": "ဘာကီနာ ဖာဆို"
+ },
+ "BB": {
+ "name": "ဘာဘဒိုးစ်"
+ },
+ "BM": {
+ "name": "ဘာမူဒါ"
+ },
+ "BH": {
+ "name": "ဘာရိန်း"
+ },
+ "BJ": {
+ "name": "ဘီနင်"
+ },
+ "BY": {
+ "name": "ဘီလာရုစ်"
+ },
+ "BG": {
+ "name": "ဘူဂေးရီးယား"
+ },
+ "BT": {
+ "name": "ဘူá€á€”်"
+ },
+ "BI": {
+ "name": "ဘူရွန်ဒီ"
+ },
+ "BZ": {
+ "name": "ဘေလီဇ်"
+ },
+ "BA": {
+ "name": "ဘော့စနီးယား နှင့် ဟာဇီဂိုဘီးနား"
+ },
+ "BW": {
+ "name": "ဘော့စ်á€á€«á€”ာ"
+ },
+ "BO": {
+ "name": "ဘိုလီးဘီးယား"
+ },
+ "BD": {
+ "name": "ဘင်္ဂလားဒေ့ရှ်"
+ },
+ "BE": {
+ "name": "ဘယ်လ်ဂျီယမ်"
+ },
+ "MY": {
+ "name": "မလေးရှား"
+ },
+ "MK": {
+ "name": "မာစီဒိုးနီးယား"
+ },
+ "MQ": {
+ "name": "မာá€á€®á€”ီကီ"
+ },
+ "MG": {
+ "name": "မာဒါဂá€á€ºá€…ကာ"
+ },
+ "MH": {
+ "name": "မာရှယ် ကျွန်းစု"
+ },
+ "MW": {
+ "name": "မာလာá€á€®"
+ },
+ "ML": {
+ "name": "မာလီ"
+ },
+ "YT": {
+ "name": "မေအိုá€á€®"
+ },
+ "MR": {
+ "name": "မောရီá€á€¬á€”ီအာ"
+ },
+ "MU": {
+ "name": "မော်ရေရှားစ်"
+ },
+ "MA": {
+ "name": "မော်ရိုကို"
+ },
+ "MV": {
+ "name": "မော်လ်ဒိုက်"
+ },
+ "MZ": {
+ "name": "မိုဇန်ဘစ်"
+ },
+ "MC": {
+ "name": "မိုနာကို"
+ },
+ "MX": {
+ "name": "မက္ကဆီကို"
+ },
+ "MS": {
+ "name": "မောင့်စဲရက်"
+ },
+ "FM": {
+ "name": "မိုင်á€á€›á€­á€¯á€”ီရှား"
+ },
+ "IM": {
+ "name": "မန်ကျွန်း"
+ },
+ "MT": {
+ "name": "မောလ်á€á€¬"
+ },
+ "MD": {
+ "name": "မောလ်ဒိုဗာ"
+ },
+ "KP": {
+ "name": "မြောက်ကိုရီးယား"
+ },
+ "SS": {
+ "name": "မြောက်ဆူဒန်"
+ },
+ "MM": {
+ "name": "မြန်မာ"
+ },
+ "MN": {
+ "name": "မွန်ဂိုးလီးယား"
+ },
+ "ME": {
+ "name": "မွန်á€á€®á€”ိဂရိုး"
+ },
+ "YE": {
+ "name": "ယီမင်"
+ },
+ "UA": {
+ "name": "ယူကရိန်း"
+ },
+ "UG": {
+ "name": "ယူဂန္ဓာ"
+ },
+ "GB": {
+ "name": "ယူနိုက်á€á€€á€ºá€€á€„်းဒမ်း"
+ },
+ "US": {
+ "name": "ယူနိုက်á€á€€á€ºá€…á€á€­á€á€º"
+ },
+ "UM": {
+ "name": "ယူနိုက်á€á€€á€ºá€…á€á€­á€á€º အပြင်ထွက် နေသည့် သေးငယ်သောကျွန်းများ"
+ },
+ "AE": {
+ "name": "ယူအေအီး"
+ },
+ "VI": {
+ "name": "ယူအက်စ် ဗာဂျင်း ကျွန်းစု"
+ },
+ "RW": {
+ "name": "ရá€á€”်ဒါ"
+ },
+ "RU": {
+ "name": "ရုရှ"
+ },
+ "RE": {
+ "name": "ရဲအူနီရွန်"
+ },
+ "RO": {
+ "name": "ရိုမေးနီးယား"
+ },
+ "LA": {
+ "name": "လာအို"
+ },
+ "LS": {
+ "name": "လီဆိုသို"
+ },
+ "LY": {
+ "name": "လီဗရာ"
+ },
+ "LU": {
+ "name": "လူဇင်ဘá€á€º"
+ },
+ "LB": {
+ "name": "လက်ဘနွန်"
+ },
+ "LR": {
+ "name": "လိုင်ဘေးရီးယား"
+ },
+ "LT": {
+ "name": "လစ်သူယေးနီးယား"
+ },
+ "LI": {
+ "name": "လစ်á€á€ºá€‘င်စá€á€­á€¯á€„်"
+ },
+ "LV": {
+ "name": "လá€á€ºá€—ီးယား"
+ },
+ "WF": {
+ "name": "á€á€±á€«á€œá€…်နှင့်ဖူထူးနား"
+ },
+ "LK": {
+ "name": "သီရိလင်္ကာ"
+ },
+ "HT": {
+ "name": "ဟေá€á€®"
+ },
+ "HU": {
+ "name": "ဟန်ဂေရီ"
+ },
+ "HN": {
+ "name": "ဟွန်ဒူးရပ်စ်"
+ },
+ "AZ": {
+ "name": "အဇာဘိုင်ဂျန်"
+ },
+ "EH": {
+ "name": "အနောက်ပိုင်း ဆာဟာရ"
+ },
+ "AS": {
+ "name": "အမေရိကန် စမိုအ"
+ },
+ "TL": {
+ "name": "အရှေ့á€á€®á€™á€±á€¬"
+ },
+ "CF": {
+ "name": "အလယ်ပိုင်း အာဖရိက ပြည်ထောင်စု"
+ },
+ "AR": {
+ "name": "အာဂျင်á€á€®á€¸á€”ား"
+ },
+ "AF": {
+ "name": "အာဖဂန်နစ္စá€á€”်"
+ },
+ "AM": {
+ "name": "အာမေနီးယား"
+ },
+ "AW": {
+ "name": "အာရုဘာ"
+ },
+ "AX": {
+ "name": "အာလန်ကျွန်း"
+ },
+ "GQ": {
+ "name": "အီကွေá€á€¬ ဂီရာနာ"
+ },
+ "EC": {
+ "name": "အီကွေဒေါ"
+ },
+ "EG": {
+ "name": "အီဂျစ်"
+ },
+ "IT": {
+ "name": "အီá€á€œá€®"
+ },
+ "ER": {
+ "name": "အီရီá€á€›á€®á€¡á€¬"
+ },
+ "IQ": {
+ "name": "အီရá€á€º"
+ },
+ "IR": {
+ "name": "အီရန်"
+ },
+ "ET": {
+ "name": "အီသီယိုးပီးယား"
+ },
+ "UZ": {
+ "name": "ဥဘက်ကစ္စá€á€”်"
+ },
+ "UY": {
+ "name": "ဥရုဂွေး"
+ },
+ "AL": {
+ "name": "အဲလ်ဘာနီအာ"
+ },
+ "AT": {
+ "name": "ဩစá€á€¼á€®á€¸á€šá€¬á€¸"
+ },
+ "AU": {
+ "name": "ဩစá€á€¼á€±á€¸á€œá€»"
+ },
+ "OM": {
+ "name": "အိုမန်"
+ },
+ "EE": {
+ "name": "အက်စá€á€­á€¯á€¸á€”ီးယား"
+ },
+ "AC": {
+ "name": "အက်စ်စင်ရှီအွန်ကျွန်း"
+ },
+ "IS": {
+ "name": "အိုက်စလန်"
+ },
+ "AO": {
+ "name": "အင်ဂိုလာ"
+ },
+ "ID": {
+ "name": "အင်ဒိုနီးရှား"
+ },
+ "CI": {
+ "name": "အိုင်ဗရီကိုစ့်"
+ },
+ "IE": {
+ "name": "အိုင်ယာလန်"
+ },
+ "IL": {
+ "name": "အစ္စရေး"
+ },
+ "AI": {
+ "name": "အန်ဂွီလာ"
+ },
+ "AQ": {
+ "name": "အန္á€á€¬á€á€­á€€"
+ },
+ "AG": {
+ "name": "အန်á€á€®á€‚ုအာနှင့်ဘာဘုဒါ"
+ },
+ "AD": {
+ "name": "အန်ဒိုရာ"
+ },
+ "IN": {
+ "name": "အိန္ဒိယ"
+ },
+ "DZ": {
+ "name": "အယ်လ်ဂျီးရီးယား"
+ },
+ "SV": {
+ "name": "အယ်လ်ဆာဗေးဒိုး"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/naq.json b/library/intl/resources/country/naq.json
new file mode 100644
index 000000000..1d7584f11
--- /dev/null
+++ b/library/intl/resources/country/naq.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistanni"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albaniab"
+ },
+ "DZ": {
+ "name": "Algeriab"
+ },
+ "AS": {
+ "name": "Americab Samoab"
+ },
+ "US": {
+ "name": "Amerikab"
+ },
+ "AD": {
+ "name": "Andorrab"
+ },
+ "AO": {
+ "name": "Angolab"
+ },
+ "AI": {
+ "name": "Anguillab"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiguab tsî Barbudab"
+ },
+ "AR": {
+ "name": "Argentinab"
+ },
+ "AM": {
+ "name": "Armeniab"
+ },
+ "AW": {
+ "name": "Arubab"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australieb"
+ },
+ "AT": {
+ "name": "Austriab"
+ },
+ "AZ": {
+ "name": "Azerbaijanni"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Banglades"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgiummi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benins"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BT": {
+ "name": "Bhutans"
+ },
+ "BO": {
+ "name": "Boliviab"
+ },
+ "BA": {
+ "name": "Bosniab tsî Herzegovinab"
+ },
+ "BW": {
+ "name": "Botswanab"
+ },
+ "BR": {
+ "name": "Braziliab"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgariab"
+ },
+ "BF": {
+ "name": "Burkina Fasob"
+ },
+ "BI": {
+ "name": "Burundib"
+ },
+ "KH": {
+ "name": "Cambodiab"
+ },
+ "CM": {
+ "name": "Cameroonni"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republiki"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chilib"
+ },
+ "CN": {
+ "name": "Chinab"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colombiab"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congob"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croatiab"
+ },
+ "CU": {
+ "name": "Cubab"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republiki"
+ },
+ "CD": {
+ "name": "Democratic Republic of the Congo"
+ },
+ "DK": {
+ "name": "Denmarki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominicab"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "DE": {
+ "name": "Duitslandi"
+ },
+ "TL": {
+ "name": "East Timor"
+ },
+ "EC": {
+ "name": "Ecuadori"
+ },
+ "EG": {
+ "name": "Egipteb"
+ },
+ "SV": {
+ "name": "El Salvadori"
+ },
+ "GQ": {
+ "name": "Equatorial Guineab"
+ },
+ "ER": {
+ "name": "Eritreab"
+ },
+ "EE": {
+ "name": "Estoniab"
+ },
+ "ET": {
+ "name": "Ethiopiab"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fijib"
+ },
+ "FI": {
+ "name": "Finlandi"
+ },
+ "FR": {
+ "name": "Frankreiki"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambiab"
+ },
+ "GE": {
+ "name": "Georgiab"
+ },
+ "GH": {
+ "name": "Ghanab"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GN": {
+ "name": "Guineab"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hongareieb"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "Indiab"
+ },
+ "ID": {
+ "name": "Indonesiab"
+ },
+ "IR": {
+ "name": "Iranni"
+ },
+ "IQ": {
+ "name": "Iraqi"
+ },
+ "IE": {
+ "name": "Irlandi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italiab"
+ },
+ "CI": {
+ "name": "Ivoorkusi"
+ },
+ "JM": {
+ "name": "Jamaicab"
+ },
+ "JP": {
+ "name": "Japanni"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanni"
+ },
+ "CA": {
+ "name": "Kanadab"
+ },
+ "KZ": {
+ "name": "Kazakhstanni"
+ },
+ "KE": {
+ "name": "Kenyab"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KP": {
+ "name": "Koreab, Noord"
+ },
+ "KR": {
+ "name": "Koreab, Suid"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "KG": {
+ "name": "Kyrgyzstanni"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanonni"
+ },
+ "LS": {
+ "name": "Lesothob"
+ },
+ "LR": {
+ "name": "Liberiab"
+ },
+ "LY": {
+ "name": "Libyab"
+ },
+ "LI": {
+ "name": "Liechtensteinni"
+ },
+ "LT": {
+ "name": "Lithuaniab"
+ },
+ "LU": {
+ "name": "Luxembourgi"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedoniab"
+ },
+ "MG": {
+ "name": "Madagascari"
+ },
+ "MW": {
+ "name": "Malawib"
+ },
+ "MY": {
+ "name": "Malaysiab"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Malib"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexicob"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambiki"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibiab"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealandi"
+ },
+ "NI": {
+ "name": "Nicaraguab"
+ },
+ "NE": {
+ "name": "Nigeri"
+ },
+ "NG": {
+ "name": "Nigerieb"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noorweeb"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistanni"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian West Bank and Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guineab"
+ },
+ "PY": {
+ "name": "Paraguaib"
+ },
+ "PE": {
+ "name": "Perub"
+ },
+ "PH": {
+ "name": "Philippinni"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PT": {
+ "name": "Portugali"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RU": {
+ "name": "Rasiab"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwandab"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabiab"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somaliab"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spanieb"
+ },
+ "LK": {
+ "name": "Sri Lankab"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudanni"
+ },
+ "ZA": {
+ "name": "Suid Afrikab"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilandi"
+ },
+ "SE": {
+ "name": "Swedeb"
+ },
+ "CH": {
+ "name": "Switzerlandi"
+ },
+ "SY": {
+ "name": "Syriab"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzaniab"
+ },
+ "TH": {
+ "name": "Thailandi"
+ },
+ "TG": {
+ "name": "Togob"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisiab"
+ },
+ "TR": {
+ "name": "Turkeieb"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Ugandab"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguaib"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican State"
+ },
+ "VE": {
+ "name": "Venezuelab"
+ },
+ "VN": {
+ "name": "Vietnammi"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "GR": {
+ "name": "Xrikelandi"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambiab"
+ },
+ "ZW": {
+ "name": "Zimbabweb"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/nb.json b/library/intl/resources/country/nb.json
new file mode 100644
index 000000000..0e4154e07
--- /dev/null
+++ b/library/intl/resources/country/nb.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algerie"
+ },
+ "AS": {
+ "name": "Amerikansk Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua og Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbajdsjan"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "IO": {
+ "name": "Britiske territorier i Indiahavet"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "KY": {
+ "name": "Caymanøyene"
+ },
+ "EA": {
+ "name": "Ceuta og Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CX": {
+ "name": "Christmasøya"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CK": {
+ "name": "Cookøyene"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "VI": {
+ "name": "De amerikanske jomfruøyene"
+ },
+ "VG": {
+ "name": "De britiske jomfruøyene"
+ },
+ "AE": {
+ "name": "De forente arabiske emirater"
+ },
+ "TF": {
+ "name": "De franske sørterritorier"
+ },
+ "DO": {
+ "name": "Den dominikanske republikk"
+ },
+ "CF": {
+ "name": "Den sentralafrikanske republikk"
+ },
+ "PS": {
+ "name": "Det palestinske området"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "GQ": {
+ "name": "Ekvatorial-Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenskysten"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandsøyene"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippinene"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrike"
+ },
+ "GF": {
+ "name": "Fransk Guyana"
+ },
+ "PF": {
+ "name": "Fransk Polynesia"
+ },
+ "FO": {
+ "name": "Færøyene"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grønland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "GR": {
+ "name": "Hellas"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong S.A.R. Kina"
+ },
+ "BY": {
+ "name": "Hviterussland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KH": {
+ "name": "Kambodsja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "IC": {
+ "name": "Kanariøyene"
+ },
+ "CV": {
+ "name": "Kapp Verde"
+ },
+ "BQ": {
+ "name": "Karibisk Nederland"
+ },
+ "KZ": {
+ "name": "Kasakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosøyene"
+ },
+ "KM": {
+ "name": "Komorene"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macao S.A.R. Kina"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivene"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Man"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalløyene"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Mikronesiaføderasjonen"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nord-Korea"
+ },
+ "MP": {
+ "name": "Nord-Marianene"
+ },
+ "NF": {
+ "name": "Norfolkøya"
+ },
+ "NO": {
+ "name": "Norge"
+ },
+ "NC": {
+ "name": "Ny-Caledonia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ny-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "SB": {
+ "name": "Salomonøyene"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé og Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellene"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spania"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts og Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "PM": {
+ "name": "St. Pierre og Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent og Grenadinene"
+ },
+ "GB": {
+ "name": "Storbritannia"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard og Jan Mayen"
+ },
+ "CH": {
+ "name": "Sveits"
+ },
+ "SE": {
+ "name": "Sverige"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "ZA": {
+ "name": "Sør-Afrika"
+ },
+ "GS": {
+ "name": "Sør-Georgia og Sør-Sandwichøyene"
+ },
+ "KR": {
+ "name": "Sør-Korea"
+ },
+ "SS": {
+ "name": "Sør-Sudan"
+ },
+ "TJ": {
+ "name": "Tadsjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad og Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsjad"
+ },
+ "CZ": {
+ "name": "Tsjekkia"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- og Caicosøyene"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Tyrkia"
+ },
+ "DE": {
+ "name": "Tyskland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "UM": {
+ "name": "USAs ytre øyer"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstaten"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "EH": {
+ "name": "Vest-Sahara"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis og Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "TL": {
+ "name": "Øst-Timor"
+ },
+ "AT": {
+ "name": "Østerrike"
+ },
+ "AX": {
+ "name": "Ã…land"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/nd.json b/library/intl/resources/country/nd.json
new file mode 100644
index 000000000..8fe088957
--- /dev/null
+++ b/library/intl/resources/country/nd.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeriya"
+ },
+ "US": {
+ "name": "Amelika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua le Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Arubha"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BB": {
+ "name": "Bhabhadosi"
+ },
+ "BS": {
+ "name": "Bhahamas"
+ },
+ "BH": {
+ "name": "Bhahareni"
+ },
+ "BD": {
+ "name": "Bhangiladeshi"
+ },
+ "BY": {
+ "name": "Bhelarusi"
+ },
+ "BE": {
+ "name": "Bhelgium"
+ },
+ "BZ": {
+ "name": "Bhelize"
+ },
+ "BM": {
+ "name": "Bhemuda"
+ },
+ "BJ": {
+ "name": "Bhenini"
+ },
+ "BO": {
+ "name": "Bholiviya"
+ },
+ "BA": {
+ "name": "Bhosnia le Herzegovina"
+ },
+ "BF": {
+ "name": "Bhukina Faso"
+ },
+ "BG": {
+ "name": "Bhulgariya"
+ },
+ "BI": {
+ "name": "Bhurundi"
+ },
+ "BT": {
+ "name": "Bhutani"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "KH": {
+ "name": "Cambodia"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "CD": {
+ "name": "Democratic Republic of the Congo"
+ },
+ "DK": {
+ "name": "Denmakhi"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "DM": {
+ "name": "Dominikha"
+ },
+ "TL": {
+ "name": "East Timor"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "FR": {
+ "name": "Furansi"
+ },
+ "GA": {
+ "name": "Gabhoni"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Gwiyana ye Furansi"
+ },
+ "HT": {
+ "name": "Hayiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "Indiya"
+ },
+ "ID": {
+ "name": "Indonesiya"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Isuraeli"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "CI": {
+ "name": "Ivory Coast"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jodani"
+ },
+ "QA": {
+ "name": "Kathari"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "CM": {
+ "name": "Khameruni"
+ },
+ "CA": {
+ "name": "Khanada"
+ },
+ "KE": {
+ "name": "Khenya"
+ },
+ "KI": {
+ "name": "Khiribati"
+ },
+ "CO": {
+ "name": "Kholombiya"
+ },
+ "KM": {
+ "name": "Khomoro"
+ },
+ "CG": {
+ "name": "Khongo"
+ },
+ "CR": {
+ "name": "Khosta Rikha"
+ },
+ "KW": {
+ "name": "Khuweiti"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebhanoni"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Libheriya"
+ },
+ "LY": {
+ "name": "Libhiya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaska"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "MY": {
+ "name": "Malezhiya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksikho"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monakho"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morokho"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "ZA": {
+ "name": "Mzansi ye Afrika"
+ },
+ "NA": {
+ "name": "Namibhiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nephali"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeriya"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Noweyi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian West Bank and Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PK": {
+ "name": "Phakistani"
+ },
+ "PE": {
+ "name": "Pheru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PL": {
+ "name": "Pholandi"
+ },
+ "PF": {
+ "name": "Pholinesiya ye Fulansi"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RU": {
+ "name": "Rashiya"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Ruwanda"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "AS": {
+ "name": "Samoa ye Amelika"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TH": {
+ "name": "Thayilandi"
+ },
+ "TW": {
+ "name": "Thayiwani"
+ },
+ "TR": {
+ "name": "Thekhi"
+ },
+ "TG": {
+ "name": "Thogo"
+ },
+ "TK": {
+ "name": "Thokelawu"
+ },
+ "TO": {
+ "name": "Thonga"
+ },
+ "TV": {
+ "name": "Thuvalu"
+ },
+ "TT": {
+ "name": "Trinidad le Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisiya"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VA": {
+ "name": "Vatican State"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VU": {
+ "name": "Vhanuatu"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "UA": {
+ "name": "Yukreini"
+ },
+ "UY": {
+ "name": "Yurugwai"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ne.json b/library/intl/resources/country/ne.json
new file mode 100644
index 000000000..01db81abb
--- /dev/null
+++ b/library/intl/resources/country/ne.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "अङà¥à¤—ोला"
+ },
+ "AZ": {
+ "name": "अजरबैजान"
+ },
+ "AQ": {
+ "name": "अनà¥à¤Ÿà¤¾à¤°à¤¤à¤¿à¤•à¤¾"
+ },
+ "AD": {
+ "name": "अनà¥à¤¡à¥‹à¤°à¥à¤°à¤¾"
+ },
+ "AF": {
+ "name": "अफगानिसà¥à¤¤à¤¾à¤¨"
+ },
+ "AS": {
+ "name": "अमेरिकी समोआ"
+ },
+ "AR": {
+ "name": "अरà¥à¤œà¥‡à¤¨à¥à¤Ÿà¤¿à¤¨à¤¾"
+ },
+ "AX": {
+ "name": "अलानà¥à¤¡ टापà¥à¤¹à¤°à¥"
+ },
+ "DZ": {
+ "name": "अलà¥à¤œà¥‡à¤°à¤¿à¤¯à¤¾"
+ },
+ "AL": {
+ "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¾"
+ },
+ "AT": {
+ "name": "अषà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾"
+ },
+ "AU": {
+ "name": "अषà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¾"
+ },
+ "IM": {
+ "name": "आइजà¥à¤²à¥‡ अफॠमà¥à¤¯à¤¾à¤¨"
+ },
+ "CI": {
+ "name": "आइभरी कोसà¥à¤Ÿ"
+ },
+ "IS": {
+ "name": "आइसà¥à¤²à¥à¤¯à¤¾à¤£à¥à¤¡"
+ },
+ "AI": {
+ "name": "आङà¥à¤—à¥à¤‡à¤²à¤¾"
+ },
+ "IE": {
+ "name": "आयरलà¥à¤¯à¤¾à¤£à¥à¤¡"
+ },
+ "AW": {
+ "name": "आरूबा"
+ },
+ "AM": {
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾"
+ },
+ "EC": {
+ "name": "इकà¥à¤µà¤¡à¥‡à¤°"
+ },
+ "IL": {
+ "name": "इजरायल"
+ },
+ "EG": {
+ "name": "इजिपà¥à¤Ÿ"
+ },
+ "IT": {
+ "name": "इटाली"
+ },
+ "ET": {
+ "name": "इथियोपिया"
+ },
+ "ID": {
+ "name": "इनà¥à¤¡à¥‹à¤¨à¥‡à¤¶à¤¿à¤¯à¤¾"
+ },
+ "IQ": {
+ "name": "इराक"
+ },
+ "IR": {
+ "name": "इरान"
+ },
+ "EE": {
+ "name": "इसà¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¾"
+ },
+ "UZ": {
+ "name": "उजà¥à¤¬à¥‡à¤•à¤¿à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "KP": {
+ "name": "उतà¥à¤¤à¤° कोरिया"
+ },
+ "MP": {
+ "name": "उतà¥à¤¤à¤°à¥€ मारिआना टापà¥"
+ },
+ "UY": {
+ "name": "उरूगà¥à¤µà¥‡"
+ },
+ "AG": {
+ "name": "à¤à¤¨à¥à¤Ÿà¤¿à¤—à¥à¤† र बारबà¥à¤¡à¤¾"
+ },
+ "ER": {
+ "name": "à¤à¤°à¤¿à¤¤à¥à¤°à¤¿à¤¯à¤¾"
+ },
+ "SV": {
+ "name": "à¤à¤²à¥ सालà¥à¤­à¤¾à¤¡à¥‹à¤°"
+ },
+ "AC": {
+ "name": "à¤à¤¸à¥à¤•à¥‡à¤¨à¥à¤¸à¤¨ टापà¥"
+ },
+ "OM": {
+ "name": "ओमन"
+ },
+ "QA": {
+ "name": "कतार"
+ },
+ "KH": {
+ "name": "कमà¥à¤¬à¥‹à¤¡à¤¿à¤¯à¤¾"
+ },
+ "KZ": {
+ "name": "काजाकसà¥à¤¤à¤¾à¤¨"
+ },
+ "KI": {
+ "name": "किरिबाटी"
+ },
+ "KG": {
+ "name": "किरà¥à¤—िसà¥à¤¥à¤¾à¤¨"
+ },
+ "CK": {
+ "name": "कà¥à¤• टापà¥à¤¹à¤°à¥"
+ },
+ "CW": {
+ "name": "कà¥à¤°à¤¾à¤•à¤¾à¤“"
+ },
+ "KW": {
+ "name": "कà¥à¤µà¥‡à¤¤"
+ },
+ "CF": {
+ "name": "केनà¥à¤¦à¥à¤°à¥€à¤¯ अफà¥à¤°à¤¿à¤•à¥€ गणतनà¥à¤¤à¥à¤°"
+ },
+ "KE": {
+ "name": "केनà¥à¤¯à¤¾"
+ },
+ "CV": {
+ "name": "केप भरà¥à¤¡à¥‡"
+ },
+ "KY": {
+ "name": "केयमान टापà¥"
+ },
+ "CC": {
+ "name": "कोकोस (किलिंग) टापà¥à¤¹à¤°à¥"
+ },
+ "CG": {
+ "name": "कोङà¥à¤—ो - बà¥à¤°à¤¾à¤œà¥à¤œà¤¾à¤­à¤¿à¤²à¥à¤²à¥‡"
+ },
+ "CD": {
+ "name": "कोङà¥à¤—ो-किनà¥à¤¶à¤¾à¤¸à¤¾"
+ },
+ "KM": {
+ "name": "कोमोरोस"
+ },
+ "CO": {
+ "name": "कोलोमà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "CR": {
+ "name": "कोषà¥à¤Ÿà¤¾à¤°à¤¿à¤•à¤¾"
+ },
+ "XK": {
+ "name": "कोसोवो"
+ },
+ "CA": {
+ "name": "कà¥à¤¯à¤¾à¤¨à¤¾à¤¡à¤¾"
+ },
+ "IC": {
+ "name": "कà¥à¤¯à¤¾à¤¨à¤¾à¤°à¥€ टापà¥à¤¹à¤°à¥‚"
+ },
+ "CM": {
+ "name": "कà¥à¤¯à¤¾à¤®à¤°à¥‚न"
+ },
+ "BQ": {
+ "name": "कà¥à¤¯à¤¾à¤°à¤¿à¤µà¤¿à¤¯à¤¨ नेदरलà¥à¤¯à¤¾à¤£à¥à¤¡à¥à¤¸"
+ },
+ "CU": {
+ "name": "कà¥à¤¯à¥à¤¬à¤¾"
+ },
+ "CX": {
+ "name": "कà¥à¤°à¤¿à¤·à¥à¤Ÿà¤®à¤¸ टापà¥"
+ },
+ "HR": {
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾"
+ },
+ "GM": {
+ "name": "गामà¥à¤µà¤¿à¤¯à¤¾"
+ },
+ "GA": {
+ "name": "गावोन"
+ },
+ "GN": {
+ "name": "गिनी"
+ },
+ "GW": {
+ "name": "गिनी-बिसाउ"
+ },
+ "GG": {
+ "name": "गà¥à¤à¤°à¥à¤¨à¤¸à¥‡"
+ },
+ "GY": {
+ "name": "गà¥à¤¯à¤¾à¤¨à¤¾"
+ },
+ "GU": {
+ "name": "गà¥à¤µà¤¾à¤®"
+ },
+ "GL": {
+ "name": "गà¥à¤°à¤¿à¤¨à¤²à¥à¤¯à¤¾à¤£à¥à¤¡"
+ },
+ "GR": {
+ "name": "गà¥à¤°à¤¿à¤¸"
+ },
+ "GD": {
+ "name": "गà¥à¤°à¥‡à¤¨à¤¾à¤¡à¤¾"
+ },
+ "GT": {
+ "name": "गà¥à¤µà¤¾à¤Ÿà¥‡à¤®à¤¾à¤²à¤¾"
+ },
+ "GP": {
+ "name": "गà¥à¤µà¤¾à¤¡à¥‡à¤²à¥à¤ª"
+ },
+ "GH": {
+ "name": "घाना"
+ },
+ "TD": {
+ "name": "चाड"
+ },
+ "CL": {
+ "name": "चिली"
+ },
+ "CN": {
+ "name": "चीन"
+ },
+ "CZ": {
+ "name": "चेक गणतनà¥à¤¤à¥à¤°"
+ },
+ "JM": {
+ "name": "जमाइका"
+ },
+ "GE": {
+ "name": "जरà¥à¤œà¤¿à¤¯à¤¾"
+ },
+ "DE": {
+ "name": "जरà¥à¤®à¤¨à¥€"
+ },
+ "JE": {
+ "name": "जरà¥à¤¸à¥€"
+ },
+ "JP": {
+ "name": "जापान"
+ },
+ "ZM": {
+ "name": "जामà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "GI": {
+ "name": "जिबà¥à¤°à¤¾à¤²à¥à¤Ÿà¤¾à¤°"
+ },
+ "ZW": {
+ "name": "जिमà¥à¤¬à¤¾à¤¬à¥‡"
+ },
+ "JO": {
+ "name": "जोरà¥à¤¡à¤¨"
+ },
+ "TR": {
+ "name": "टरà¥à¤•à¥€"
+ },
+ "TL": {
+ "name": "टिमोर-लेसà¥à¤Ÿà¥‡"
+ },
+ "TO": {
+ "name": "टोंगा"
+ },
+ "TG": {
+ "name": "टोगो"
+ },
+ "TN": {
+ "name": "टà¥à¤¯à¥à¤¨à¤¿à¤¸à¤¿à¤¯à¤¾"
+ },
+ "TA": {
+ "name": "टà¥à¤°à¤¿à¤¸à¥à¤Ÿà¤¾à¤¨ डा कà¥à¤¨à¥à¤¹à¤¾"
+ },
+ "DJ": {
+ "name": "डिजिबà¥à¤Ÿà¥€"
+ },
+ "DG": {
+ "name": "डियगो गारà¥à¤¸à¤¿à¤¯à¤¾"
+ },
+ "DK": {
+ "name": "डेनमारà¥à¤•"
+ },
+ "DO": {
+ "name": "डोमिनिकन गणतनà¥à¤¤à¥à¤°"
+ },
+ "DM": {
+ "name": "डोमिनिका"
+ },
+ "TW": {
+ "name": "ताइवान"
+ },
+ "TJ": {
+ "name": "ताजिकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "TZ": {
+ "name": "तानà¥à¤œà¤¾à¤¨à¤¿à¤¯à¤¾"
+ },
+ "TV": {
+ "name": "तà¥à¤­à¤¾à¤²à¥"
+ },
+ "TC": {
+ "name": "तà¥à¤°à¥à¤• र काइकोस टापà¥"
+ },
+ "TM": {
+ "name": "तà¥à¤°à¥à¤•à¤®à¥‡à¤¨à¤¿à¤¸à¥à¤¤à¤¾à¤¨"
+ },
+ "TK": {
+ "name": "तोकेलाउ"
+ },
+ "TT": {
+ "name": "तà¥à¤°à¤¿à¤¨à¤¿à¤¡à¤¾à¤¡ à¤à¤£à¥à¤¡ टोबागो"
+ },
+ "TH": {
+ "name": "थाइलà¥à¤¯à¤¾à¤£à¥à¤¡"
+ },
+ "ZA": {
+ "name": "दकà¥à¤·à¤¿à¤£ अफà¥à¤°à¤¿à¤•à¤¾"
+ },
+ "KR": {
+ "name": "दकà¥à¤·à¤¿à¤£ कोरिया"
+ },
+ "GS": {
+ "name": "दकà¥à¤·à¤¿à¤£ जरà¥à¤œà¤¿à¤¯à¤¾ र दकà¥à¤·à¤¿à¤£ सà¥à¤¯à¤¾à¤¨à¥à¤¡à¤µà¥€à¤š टापà¥à¤¹à¤°à¥‚"
+ },
+ "SS": {
+ "name": "दकà¥à¤·à¤¿à¤£à¥€ सà¥à¤¡à¤¾à¤¨"
+ },
+ "NC": {
+ "name": "नयाठकालेडोनिया"
+ },
+ "NO": {
+ "name": "नरà¥à¤µà¥‡"
+ },
+ "NE": {
+ "name": "नाइजर"
+ },
+ "NG": {
+ "name": "नाइजेरिया"
+ },
+ "NR": {
+ "name": "नाउरू"
+ },
+ "NA": {
+ "name": "नामिबिया"
+ },
+ "NI": {
+ "name": "निकारागà¥à¤µà¤¾"
+ },
+ "NU": {
+ "name": "नियà¥à¤‡"
+ },
+ "NL": {
+ "name": "नेदरलà¥à¤¯à¤¾à¤£à¥à¤¡à¥à¤¸"
+ },
+ "NP": {
+ "name": "नेपाल"
+ },
+ "NF": {
+ "name": "नोरफोलà¥à¤• टापà¥"
+ },
+ "NZ": {
+ "name": "नà¥à¤¯à¥à¤œà¤¿à¤²à¥à¤¯à¤¾à¤£à¥à¤¡"
+ },
+ "PA": {
+ "name": "पनामा"
+ },
+ "PG": {
+ "name": "पपà¥à¤† नà¥à¤¯à¥‚ गाइनिया"
+ },
+ "PW": {
+ "name": "पलाउ"
+ },
+ "EH": {
+ "name": "पशà¥à¤šà¤¿à¤®à¥€ साहारा"
+ },
+ "PK": {
+ "name": "पाकिसà¥à¤¤à¤¾à¤¨"
+ },
+ "PN": {
+ "name": "पिटकाइरà¥à¤¨ टापà¥à¤¹à¤°à¥"
+ },
+ "PR": {
+ "name": "पà¥à¤à¤°à¥à¤Ÿà¥‹ रिको"
+ },
+ "PE": {
+ "name": "पेरू"
+ },
+ "PT": {
+ "name": "पोरà¥à¤šà¥à¤—ल"
+ },
+ "PL": {
+ "name": "पोलà¥à¤¯à¤¾à¤£à¥à¤¡"
+ },
+ "PY": {
+ "name": "पà¥à¤¯à¤¾à¤°à¤¾à¤—à¥à¤µà¥‡"
+ },
+ "PS": {
+ "name": "पà¥à¤¯à¤¾à¤²à¥‡à¤¸à¥à¤Ÿà¤¨à¥€ भू-भागहरà¥"
+ },
+ "FK": {
+ "name": "फकलà¥à¤¯à¤¾à¤£à¥à¤¡ टापà¥à¤¹à¤°à¥"
+ },
+ "FO": {
+ "name": "फारोर टापà¥à¤¹à¤°à¥"
+ },
+ "FJ": {
+ "name": "फिजी"
+ },
+ "FI": {
+ "name": "फिनà¥à¤²à¥à¤¯à¤¾à¤£à¥à¤¡"
+ },
+ "PH": {
+ "name": "फिलिपिनà¥à¤¸"
+ },
+ "FR": {
+ "name": "फà¥à¤°à¤¾à¤¨à¥à¤¸"
+ },
+ "GF": {
+ "name": "फà¥à¤°à¤¾à¤¨à¥à¤¸à¥‡à¤²à¥€ गायना"
+ },
+ "TF": {
+ "name": "फà¥à¤°à¤¾à¤¨à¥à¤¸à¥‡à¤²à¥€ दकà¥à¤·à¤¿à¤£à¥€ कà¥à¤·à¥‡à¤¤à¥à¤°à¤¹à¤°à¥"
+ },
+ "PF": {
+ "name": "फà¥à¤°à¤¾à¤¨à¥à¤¸à¥‡à¤²à¥€ पोलिनेसिया"
+ },
+ "BD": {
+ "name": "बङà¥à¤—लादेश"
+ },
+ "BF": {
+ "name": "बरà¥à¤•à¤¿à¤¨à¤¾ फासो"
+ },
+ "BM": {
+ "name": "बरà¥à¤®à¥à¤¡à¤¾"
+ },
+ "BH": {
+ "name": "बहराइन"
+ },
+ "BS": {
+ "name": "बहामास"
+ },
+ "BB": {
+ "name": "बारà¥à¤¬à¤¾à¤¡à¥‹à¤¸"
+ },
+ "BI": {
+ "name": "बà¥à¤°à¥‚णà¥à¤¡à¥€"
+ },
+ "BG": {
+ "name": "बà¥à¤²à¥à¤—ेरिया"
+ },
+ "BJ": {
+ "name": "बेनिन"
+ },
+ "GB": {
+ "name": "बेलायत"
+ },
+ "VG": {
+ "name": "बेलायती भरà¥à¤œà¤¿à¤¨ टापà¥à¤¹à¤°à¥"
+ },
+ "IO": {
+ "name": "बेलायती हिनà¥à¤¦ महासागर कà¥à¤·à¥‡à¤¤à¥à¤°"
+ },
+ "BY": {
+ "name": "बेलारूस"
+ },
+ "BZ": {
+ "name": "बेलिज"
+ },
+ "BE": {
+ "name": "बेलà¥à¤œà¤¿à¤¯à¤®"
+ },
+ "BW": {
+ "name": "बोटà¥à¤¸à¥à¤µà¤¾à¤¨à¤¾"
+ },
+ "BO": {
+ "name": "बोलिभिया"
+ },
+ "BA": {
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾ à¤à¤£à¥à¤¡ हरà¥à¤œà¤—ोभिनिया"
+ },
+ "BR": {
+ "name": "बà¥à¤°à¤¾à¤œà¤¿à¤²"
+ },
+ "BN": {
+ "name": "बà¥à¤°à¥à¤¨à¤¾à¤‡"
+ },
+ "VU": {
+ "name": "भानà¥à¤†à¤¤à¥"
+ },
+ "IN": {
+ "name": "भारत"
+ },
+ "VN": {
+ "name": "भिà¤à¤¤à¤¨à¤¾à¤®"
+ },
+ "BT": {
+ "name": "भà¥à¤Ÿà¤¾à¤¨"
+ },
+ "GQ": {
+ "name": "भू-मधà¥à¤¯à¥€à¤¯ गिनी"
+ },
+ "VA": {
+ "name": "भेटिकन सिटी"
+ },
+ "VE": {
+ "name": "भेनेजà¥à¤à¤²à¤¾"
+ },
+ "MO": {
+ "name": "मकावो चिनिà¤à¤¯à¤¾ सà¥à¤µà¤¶à¤¾à¤¸à¤¿à¤¤ कà¥à¤·à¥‡à¤¤à¥à¤°"
+ },
+ "MN": {
+ "name": "मङà¥à¤—ोलिया"
+ },
+ "MG": {
+ "name": "मडागासà¥à¤•à¤°"
+ },
+ "MY": {
+ "name": "मलेसिया"
+ },
+ "FM": {
+ "name": "माइकà¥à¤°à¥‹à¤¨à¥‡à¤¸à¤¿à¤¯à¤¾"
+ },
+ "MU": {
+ "name": "माउरिटस"
+ },
+ "MR": {
+ "name": "माउरिटानिया"
+ },
+ "YT": {
+ "name": "मायोटà¥à¤Ÿ"
+ },
+ "MQ": {
+ "name": "मारà¥à¤Ÿà¤¿à¤¨à¤¿à¤•"
+ },
+ "MH": {
+ "name": "मारà¥à¤¶à¤² टापà¥à¤¹à¤°à¥"
+ },
+ "MW": {
+ "name": "मालावी"
+ },
+ "ML": {
+ "name": "माली"
+ },
+ "MT": {
+ "name": "मालà¥à¤Ÿà¤¾"
+ },
+ "MD": {
+ "name": "मालà¥à¤¡à¥‹à¤­à¤¾"
+ },
+ "MV": {
+ "name": "मालà¥à¤¦à¤¿à¤­à¥à¤¸"
+ },
+ "MX": {
+ "name": "मेकà¥à¤¸à¤¿à¤•à¥‹"
+ },
+ "MZ": {
+ "name": "मोजामà¥à¤¬à¤¿à¤•"
+ },
+ "MC": {
+ "name": "मोनाको"
+ },
+ "MS": {
+ "name": "मोनà¥à¤Ÿà¤¸à¥‡à¤°à¥à¤°à¤¾à¤Ÿ"
+ },
+ "ME": {
+ "name": "मोनà¥à¤Ÿà¥‡à¤¨à¥‡à¤—à¥à¤°à¥‹"
+ },
+ "MA": {
+ "name": "मोरोकà¥à¤•à¥‹"
+ },
+ "MK": {
+ "name": "मà¥à¤¯à¤¾à¤•à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¾"
+ },
+ "MM": {
+ "name": "मà¥à¤¯à¤¾à¤¨à¥à¤®à¤¾à¤° (बरà¥à¤®à¤¾)"
+ },
+ "UA": {
+ "name": "यà¥à¤•à¥à¤°à¥‡à¤¨"
+ },
+ "UG": {
+ "name": "यà¥à¤—ाणà¥à¤¡à¤¾"
+ },
+ "YE": {
+ "name": "येमेन"
+ },
+ "RW": {
+ "name": "रवाणà¥à¤¡à¤¾"
+ },
+ "RE": {
+ "name": "रियà¥à¤¨à¤¿à¤¯à¤¨"
+ },
+ "RU": {
+ "name": "रूस"
+ },
+ "RO": {
+ "name": "रोमानिया"
+ },
+ "LU": {
+ "name": "लकà¥à¤œà¥‡à¤®à¤¬à¤°à¥à¤—"
+ },
+ "LR": {
+ "name": "लाइबेरिया"
+ },
+ "LA": {
+ "name": "लाओस"
+ },
+ "LV": {
+ "name": "लाटà¥à¤­à¤¿à¤¯à¤¾"
+ },
+ "LI": {
+ "name": "लिà¤à¤–टेनà¥à¤¸à¥à¤Ÿà¤¾à¤‡à¤¨"
+ },
+ "LT": {
+ "name": "लिथà¥à¤…निया"
+ },
+ "LY": {
+ "name": "लिबिया"
+ },
+ "LB": {
+ "name": "लेबनन"
+ },
+ "LS": {
+ "name": "लेसोथो"
+ },
+ "WF": {
+ "name": "वालिस र फà¥à¤Ÿà¥à¤¨à¤¾"
+ },
+ "LK": {
+ "name": "शà¥à¤°à¥€à¤²à¤™à¥à¤•à¤¾"
+ },
+ "SJ": {
+ "name": "सभालà¥à¤¬à¤¾à¤°à¥à¤¡ र जान मायेन"
+ },
+ "AE": {
+ "name": "संयà¥à¤•à¥à¤¤ अरब इमिराटà¥à¤¸"
+ },
+ "US": {
+ "name": "संयà¥à¤•à¥à¤¤ राजà¥à¤¯"
+ },
+ "UM": {
+ "name": "संयà¥à¤•à¥à¤¤ राजà¥à¤¯ बाहà¥à¤¯ टापà¥à¤¹à¤°à¥"
+ },
+ "VI": {
+ "name": "संयà¥à¤•à¥à¤¤ राजà¥à¤¯ भरà¥à¤œà¤¿à¤¨ टापà¥à¤¹à¤°à¥"
+ },
+ "RS": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾"
+ },
+ "CY": {
+ "name": "साइपà¥à¤°à¤¸"
+ },
+ "SA": {
+ "name": "साउदी अरब"
+ },
+ "ST": {
+ "name": "साओ टोमे र पà¥à¤°à¤¿à¤¨à¥à¤¸à¤¿à¤ª"
+ },
+ "SM": {
+ "name": "सानॠमारिनो"
+ },
+ "WS": {
+ "name": "सामोआ"
+ },
+ "EA": {
+ "name": "सिउटा र मेलिला"
+ },
+ "SL": {
+ "name": "सिà¤à¤°à¥à¤°à¤¾ लिओन"
+ },
+ "SG": {
+ "name": "सिङà¥à¤—ापà¥à¤°"
+ },
+ "SX": {
+ "name": "सिनà¥à¤Ÿ मारà¥à¤Ÿà¥‡à¤¨"
+ },
+ "SY": {
+ "name": "सिरिया"
+ },
+ "SD": {
+ "name": "सà¥à¤¡à¤¾à¤¨"
+ },
+ "SR": {
+ "name": "सà¥à¤°à¤¿à¤¨à¥‡à¤®"
+ },
+ "SC": {
+ "name": "सेचेलेस"
+ },
+ "SN": {
+ "name": "सेनेगाल"
+ },
+ "KN": {
+ "name": "सेनà¥à¤Ÿ किटà¥à¤¸ र नेभिस"
+ },
+ "PM": {
+ "name": "सेनà¥à¤Ÿ पिरà¥à¤°à¥‡ र मिकà¥à¤•à¥‡à¤²à¥‹à¤¨"
+ },
+ "BL": {
+ "name": "सेनà¥à¤Ÿ बारà¥à¤¥à¤¾à¤²à¥‡à¤®à¥€"
+ },
+ "VC": {
+ "name": "सेनà¥à¤Ÿ भिनà¥à¤¸à¥‡à¤¨à¥à¤Ÿ र गà¥à¤°à¥‡à¤¨à¤¾à¤¡à¤¿à¤¨à¥à¤¸"
+ },
+ "MF": {
+ "name": "सेनà¥à¤Ÿ मारà¥à¤Ÿà¤¿à¤¨"
+ },
+ "LC": {
+ "name": "सेनà¥à¤Ÿ लà¥à¤¸à¤¿à¤¯à¤¾"
+ },
+ "SH": {
+ "name": "सेनà¥à¤Ÿ हेलेना"
+ },
+ "SO": {
+ "name": "सोमालिया"
+ },
+ "SB": {
+ "name": "सोलोमोन टापà¥à¤¹à¤°à¥"
+ },
+ "ES": {
+ "name": "सà¥à¤ªà¥‡à¤¨"
+ },
+ "SK": {
+ "name": "सà¥à¤²à¥‹à¤­à¤¾à¤•à¤¿à¤¯à¤¾"
+ },
+ "SI": {
+ "name": "सà¥à¤²à¥‹à¤­à¥‡à¤¨à¤¿à¤¯à¤¾"
+ },
+ "SZ": {
+ "name": "सà¥à¤µà¤¾à¤œà¤¿à¤²à¥à¤¯à¤¾à¤£à¥à¤¡"
+ },
+ "CH": {
+ "name": "सà¥à¤µà¤¿à¤œà¤°à¤²à¥à¤¯à¤¾à¤£à¥à¤¡"
+ },
+ "SE": {
+ "name": "सà¥à¤µà¤¿à¤¡à¥‡à¤¨"
+ },
+ "HK": {
+ "name": "हङकङ चिनिया समाजवादी सà¥à¤µà¤¾à¤¯à¤¤à¥à¤¤ कà¥à¤·à¥‡à¤¤à¥à¤°"
+ },
+ "HU": {
+ "name": "हङà¥à¤—ेरी"
+ },
+ "HN": {
+ "name": "हनà¥à¤¡à¥à¤°à¤¾à¤¸"
+ },
+ "HT": {
+ "name": "हैटी"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/nl-BE.json b/library/intl/resources/country/nl-BE.json
new file mode 100644
index 000000000..57f2522e5
--- /dev/null
+++ b/library/intl/resources/country/nl-BE.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land"
+ },
+ "AL": {
+ "name": "Albanië"
+ },
+ "DZ": {
+ "name": "Algerije"
+ },
+ "AS": {
+ "name": "Amerikaans-Samoa"
+ },
+ "VI": {
+ "name": "Amerikaanse Maagdeneilanden"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua en Barbuda"
+ },
+ "AR": {
+ "name": "Argentinië"
+ },
+ "AM": {
+ "name": "Armenië"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Australië"
+ },
+ "AZ": {
+ "name": "Azerbeidzjan"
+ },
+ "BS": {
+ "name": "Bahama’s"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "België"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnië en Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilië"
+ },
+ "IO": {
+ "name": "Britse Gebieden in de Indische Oceaan"
+ },
+ "VG": {
+ "name": "Britse Maagdeneilanden"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarije"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodja"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canarische Eilanden"
+ },
+ "BQ": {
+ "name": "Caribisch Nederland"
+ },
+ "KY": {
+ "name": "Caymaneilanden"
+ },
+ "CF": {
+ "name": "Centraal-Afrikaanse Republiek"
+ },
+ "EA": {
+ "name": "Ceuta en Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmaseiland"
+ },
+ "CC": {
+ "name": "Cocoseilanden"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoren"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "CK": {
+ "name": "Cookeilanden"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "DK": {
+ "name": "Denemarken"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominicaanse Republiek"
+ },
+ "DE": {
+ "name": "Duitsland"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatoriaal-Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Ethiopië"
+ },
+ "FO": {
+ "name": "Faeröer"
+ },
+ "FK": {
+ "name": "Falklandeilanden"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipijnen"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrijk"
+ },
+ "GF": {
+ "name": "Frans-Guyana"
+ },
+ "PF": {
+ "name": "Frans-Polynesië"
+ },
+ "TF": {
+ "name": "Franse Gebieden in de zuidelijke Indische Oceaan"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgië"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griekenland"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinee"
+ },
+ "GW": {
+ "name": "Guinee-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "IM": {
+ "name": "Het Eiland Man"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongarije"
+ },
+ "HK": {
+ "name": "Hongkong SAR van China"
+ },
+ "IE": {
+ "name": "Ierland"
+ },
+ "IS": {
+ "name": "IJsland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesië"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italië"
+ },
+ "CI": {
+ "name": "Ivoorkust"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanië"
+ },
+ "CV": {
+ "name": "Kaapverdië"
+ },
+ "CM": {
+ "name": "Kameroen"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgizië"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "UM": {
+ "name": "Kleine afgelegen eilanden van de Verenigde Staten"
+ },
+ "KW": {
+ "name": "Koeweit"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatië"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libië"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litouwen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macau SAR van China"
+ },
+ "MK": {
+ "name": "Macedonië"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediven"
+ },
+ "MY": {
+ "name": "Maleisië"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalleilanden"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritanië"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavië"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolië"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birma)"
+ },
+ "NA": {
+ "name": "Namibië"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NC": {
+ "name": "Nieuw-Caledonië"
+ },
+ "NZ": {
+ "name": "Nieuw-Zeeland"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Noord-Korea"
+ },
+ "MP": {
+ "name": "Noordelijke Marianen"
+ },
+ "NO": {
+ "name": "Noorwegen"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "UG": {
+ "name": "Oeganda"
+ },
+ "UA": {
+ "name": "Oekraïne"
+ },
+ "UZ": {
+ "name": "Oezbekistan"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TL": {
+ "name": "Oost-Timor"
+ },
+ "AT": {
+ "name": "Oostenrijk"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestijnse gebieden"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papoea-Nieuw-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairneilanden"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Roemenië"
+ },
+ "RU": {
+ "name": "Rusland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "KN": {
+ "name": "Saint Kitts en Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "VC": {
+ "name": "Saint Vincent en de Grenadines"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre en Miquelon"
+ },
+ "SB": {
+ "name": "Salomoneilanden"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé en Principe"
+ },
+ "SA": {
+ "name": "Saoedi-Arabië"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Servië"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SH": {
+ "name": "Sint-Helena"
+ },
+ "SX": {
+ "name": "Sint-Maarten"
+ },
+ "SI": {
+ "name": "Slovenië"
+ },
+ "SK": {
+ "name": "Slowakije"
+ },
+ "SD": {
+ "name": "Soedan"
+ },
+ "SO": {
+ "name": "Somalië"
+ },
+ "ES": {
+ "name": "Spanje"
+ },
+ "SJ": {
+ "name": "Spitsbergen en Jan Mayen"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syrië"
+ },
+ "TJ": {
+ "name": "Tadzjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad en Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsjaad"
+ },
+ "CZ": {
+ "name": "Tsjechië"
+ },
+ "TN": {
+ "name": "Tunesië"
+ },
+ "TR": {
+ "name": "Turkije"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- en Caicoseilanden"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vaticaanstad"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "GB": {
+ "name": "Verenigd Koninkrijk"
+ },
+ "AE": {
+ "name": "Verenigde Arabische Emiraten"
+ },
+ "US": {
+ "name": "Verenigde Staten"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis en Futuna"
+ },
+ "EH": {
+ "name": "Westelijke Sahara"
+ },
+ "BY": {
+ "name": "Wit-Rusland"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "ZA": {
+ "name": "Zuid-Afrika"
+ },
+ "GS": {
+ "name": "Zuid-Georgia en Zuidelijke Sandwicheilanden"
+ },
+ "KR": {
+ "name": "Zuid-Korea"
+ },
+ "SS": {
+ "name": "Zuid-Soedan"
+ },
+ "SE": {
+ "name": "Zweden"
+ },
+ "CH": {
+ "name": "Zwitserland"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/nl.json b/library/intl/resources/country/nl.json
new file mode 100644
index 000000000..a6facca87
--- /dev/null
+++ b/library/intl/resources/country/nl.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ã…land"
+ },
+ "AL": {
+ "name": "Albanië"
+ },
+ "DZ": {
+ "name": "Algerije"
+ },
+ "AS": {
+ "name": "Amerikaans-Samoa"
+ },
+ "VI": {
+ "name": "Amerikaanse Maagdeneilanden"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua en Barbuda"
+ },
+ "AR": {
+ "name": "Argentinië"
+ },
+ "AM": {
+ "name": "Armenië"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Australië"
+ },
+ "AZ": {
+ "name": "Azerbeidzjan"
+ },
+ "BS": {
+ "name": "Bahama’s"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "België"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnië en Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilië"
+ },
+ "IO": {
+ "name": "Britse Gebieden in de Indische Oceaan"
+ },
+ "VG": {
+ "name": "Britse Maagdeneilanden"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarije"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodja"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canarische Eilanden"
+ },
+ "BQ": {
+ "name": "Caribisch Nederland"
+ },
+ "KY": {
+ "name": "Caymaneilanden"
+ },
+ "CF": {
+ "name": "Centraal-Afrikaanse Republiek"
+ },
+ "EA": {
+ "name": "Ceuta en Melilla"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmaseiland"
+ },
+ "CC": {
+ "name": "Cocoseilanden"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoren"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "CK": {
+ "name": "Cookeilanden"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "DK": {
+ "name": "Denemarken"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominicaanse Republiek"
+ },
+ "DE": {
+ "name": "Duitsland"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatoriaal-Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Ethiopië"
+ },
+ "FO": {
+ "name": "Faeröer"
+ },
+ "FK": {
+ "name": "Falklandeilanden"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipijnen"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrijk"
+ },
+ "GF": {
+ "name": "Frans-Guyana"
+ },
+ "PF": {
+ "name": "Frans-Polynesië"
+ },
+ "TF": {
+ "name": "Franse Gebieden in de zuidelijke Indische Oceaan"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgië"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Griekenland"
+ },
+ "GL": {
+ "name": "Groenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinee"
+ },
+ "GW": {
+ "name": "Guinee-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hongarije"
+ },
+ "HK": {
+ "name": "Hongkong SAR van China"
+ },
+ "IE": {
+ "name": "Ierland"
+ },
+ "IS": {
+ "name": "IJsland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesië"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israël"
+ },
+ "IT": {
+ "name": "Italië"
+ },
+ "CI": {
+ "name": "Ivoorkust"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanië"
+ },
+ "CV": {
+ "name": "Kaapverdië"
+ },
+ "CM": {
+ "name": "Kameroen"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgizië"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "UM": {
+ "name": "Kleine afgelegen eilanden van de Verenigde Staten"
+ },
+ "KW": {
+ "name": "Koeweit"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatië"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libië"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litouwen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macau SAR van China"
+ },
+ "MK": {
+ "name": "Macedonië"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiven"
+ },
+ "MY": {
+ "name": "Maleisië"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalleilanden"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritanië"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavië"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolië"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Birma)"
+ },
+ "NA": {
+ "name": "Namibië"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NC": {
+ "name": "Nieuw-Caledonië"
+ },
+ "NZ": {
+ "name": "Nieuw-Zeeland"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Noord-Korea"
+ },
+ "MP": {
+ "name": "Noordelijke Marianen"
+ },
+ "NO": {
+ "name": "Noorwegen"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "UG": {
+ "name": "Oeganda"
+ },
+ "UA": {
+ "name": "Oekraïne"
+ },
+ "UZ": {
+ "name": "Oezbekistan"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TL": {
+ "name": "Oost-Timor"
+ },
+ "AT": {
+ "name": "Oostenrijk"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestijnse gebieden"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papoea-Nieuw-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairneilanden"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Roemenië"
+ },
+ "RU": {
+ "name": "Rusland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "KN": {
+ "name": "Saint Kitts en Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "VC": {
+ "name": "Saint Vincent en de Grenadines"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre en Miquelon"
+ },
+ "SB": {
+ "name": "Salomonseilanden"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé en Principe"
+ },
+ "SA": {
+ "name": "Saoedi-Arabië"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Servië"
+ },
+ "SC": {
+ "name": "Seychellen"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SH": {
+ "name": "Sint-Helena"
+ },
+ "SX": {
+ "name": "Sint-Maarten"
+ },
+ "SI": {
+ "name": "Slovenië"
+ },
+ "SK": {
+ "name": "Slowakije"
+ },
+ "SD": {
+ "name": "Soedan"
+ },
+ "SO": {
+ "name": "Somalië"
+ },
+ "ES": {
+ "name": "Spanje"
+ },
+ "SJ": {
+ "name": "Spitsbergen en Jan Mayen"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syrië"
+ },
+ "TJ": {
+ "name": "Tadzjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad en Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tsjaad"
+ },
+ "CZ": {
+ "name": "Tsjechië"
+ },
+ "TN": {
+ "name": "Tunesië"
+ },
+ "TR": {
+ "name": "Turkije"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- en Caicoseilanden"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vaticaanstad"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "GB": {
+ "name": "Verenigd Koninkrijk"
+ },
+ "AE": {
+ "name": "Verenigde Arabische Emiraten"
+ },
+ "US": {
+ "name": "Verenigde Staten"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis en Futuna"
+ },
+ "EH": {
+ "name": "Westelijke Sahara"
+ },
+ "BY": {
+ "name": "Wit-Rusland"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "ZA": {
+ "name": "Zuid-Afrika"
+ },
+ "GS": {
+ "name": "Zuid-Georgia en Zuidelijke Sandwicheilanden"
+ },
+ "KR": {
+ "name": "Zuid-Korea"
+ },
+ "SS": {
+ "name": "Zuid-Soedan"
+ },
+ "SE": {
+ "name": "Zweden"
+ },
+ "CH": {
+ "name": "Zwitserland"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/nmg.json b/library/intl/resources/country/nmg.json
new file mode 100644
index 000000000..63e8d7fb9
--- /dev/null
+++ b/library/intl/resources/country/nmg.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistaŋ"
+ },
+ "ZA": {
+ "name": "Afríka yí sí"
+ },
+ "EG": {
+ "name": "Ägyptɛn"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "US": {
+ "name": "Amɛŕka"
+ },
+ "AD": {
+ "name": "AndÉ”Ìra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguílla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antíga bá Barbúda"
+ },
+ "AR": {
+ "name": "Argentína"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Ãrúba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IL": {
+ "name": "Äsrɛl"
+ },
+ "AZ": {
+ "name": "Azerbaïjaŋ"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BB": {
+ "name": "Barbado"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BE": {
+ "name": "Bɛlgik"
+ },
+ "BZ": {
+ "name": "Bɛliz"
+ },
+ "BD": {
+ "name": "Bɛŋgladɛsh"
+ },
+ "BM": {
+ "name": "Bɛrmuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Ærzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brésil"
+ },
+ "BN": {
+ "name": "Brunɛi"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butaŋ"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominíka"
+ },
+ "EC": {
+ "name": "Ekuateur"
+ },
+ "ER": {
+ "name": "Erytrea"
+ },
+ "ET": {
+ "name": "Ethiopiá"
+ },
+ "EE": {
+ "name": "Æstonia"
+ },
+ "FR": {
+ "name": "Fala"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fijiá"
+ },
+ "PH": {
+ "name": "Filipin"
+ },
+ "FI": {
+ "name": "Finlande"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabɔŋ"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Gána"
+ },
+ "GI": {
+ "name": "Gilbratar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grɛce"
+ },
+ "GP": {
+ "name": "Guadeloup"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guine"
+ },
+ "GW": {
+ "name": "Guine Bisso"
+ },
+ "GQ": {
+ "name": "Guine Ekuatorial"
+ },
+ "PG": {
+ "name": "Guine Papuasi"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyane Fala"
+ },
+ "HT": {
+ "name": "Haïti"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "DE": {
+ "name": "Jaman"
+ },
+ "JP": {
+ "name": "Japɔn"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibúti"
+ },
+ "JO": {
+ "name": "Jɔrdania"
+ },
+ "GE": {
+ "name": "Jɔrgia"
+ },
+ "NC": {
+ "name": "Kaledoni nwanah"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakstaŋ"
+ },
+ "KE": {
+ "name": "Kɛnya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongó Zaïre"
+ },
+ "KP": {
+ "name": "Koré yí bvuɔ"
+ },
+ "KR": {
+ "name": "Koré yí sí"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Ríka"
+ },
+ "CI": {
+ "name": "Kote d´Ivoire"
+ },
+ "KW": {
+ "name": "Kowɛit"
+ },
+ "CO": {
+ "name": "KÉ”lÉ”Ìmbia"
+ },
+ "KM": {
+ "name": "Kɔmɔr"
+ },
+ "HR": {
+ "name": "Kroasia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KG": {
+ "name": "Kyrgystaŋ"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Libaŋ"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenstein"
+ },
+ "LT": {
+ "name": "Lituaniá"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "FK": {
+ "name": "Maŋ má Falkland"
+ },
+ "CV": {
+ "name": "MaÅ‹Ì má KapvÉ›r"
+ },
+ "CK": {
+ "name": "MaÅ‹Ì má Kook"
+ },
+ "KY": {
+ "name": "MaÅ‹Ì má kumbi"
+ },
+ "MH": {
+ "name": "MaÅ‹Ì má Marshall"
+ },
+ "NF": {
+ "name": "MaÅ‹Ì má NÉ”rfÉ”rk"
+ },
+ "SB": {
+ "name": "MaÅ‹Ì má SalomÉ”n"
+ },
+ "TC": {
+ "name": "MaÅ‹Ì má Turk na Kaiko"
+ },
+ "MP": {
+ "name": "MaÅ‹Ì Mariá"
+ },
+ "MA": {
+ "name": "Marɔk"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "YT": {
+ "name": "Mayɔt"
+ },
+ "MX": {
+ "name": "Mɛxik"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "AE": {
+ "name": "MinlambÉ”Ì NsaÅ‹Ìnsa mí Arabia"
+ },
+ "VI": {
+ "name": "MinsilÉ› mí maÅ‹Ì m´AmÉ›rka"
+ },
+ "VG": {
+ "name": "MinsilÉ›Ì mímaÅ‹ mí ngɛ̄lɛ̄n"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MU": {
+ "name": "Morisse"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MD": {
+ "name": "Mɔldavia"
+ },
+ "MN": {
+ "name": "Mɔngolia"
+ },
+ "MS": {
+ "name": "Mɔnserrat"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NL": {
+ "name": "Nedɛrland"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "NiuÉ›"
+ },
+ "CZ": {
+ "name": "NlambÉ”Ì bó tschÉ›k"
+ },
+ "DO": {
+ "name": "NlambÉ”Ì Dominíka"
+ },
+ "GB": {
+ "name": "NlambÉ”Ì NgÉ›lÉ›n"
+ },
+ "IO": {
+ "name": "NlambÉ”Ì ngÉ›lÉ›n ma yí maÅ‹ ntsiÉ›h"
+ },
+ "NR": {
+ "name": "Noru"
+ },
+ "NO": {
+ "name": "Nɔrvɛg"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AU": {
+ "name": "Östraliá"
+ },
+ "AT": {
+ "name": "Ötrish"
+ },
+ "HN": {
+ "name": "Ɔndúras"
+ },
+ "HU": {
+ "name": "Ɔngría"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PS": {
+ "name": "Palɛstin"
+ },
+ "PW": {
+ "name": "Palo"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "ES": {
+ "name": "Paŋá"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairn"
+ },
+ "PF": {
+ "name": "Polynesia Fala"
+ },
+ "PL": {
+ "name": "Pɔlɔŋ"
+ },
+ "PT": {
+ "name": "Pɔrtugal"
+ },
+ "PR": {
+ "name": "Puɛrto Riko"
+ },
+ "RE": {
+ "name": "Réuniɔn"
+ },
+ "RO": {
+ "name": "Roumania"
+ },
+ "RU": {
+ "name": "Russi"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "KN": {
+ "name": "Saint Kitts na Nevis"
+ },
+ "SH": {
+ "name": "Saint Lina"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Peter ba Mikelɔn"
+ },
+ "VC": {
+ "name": "Saint Vincent ba Grenadines"
+ },
+ "SV": {
+ "name": "Salvadɔr"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa m ÌAmÉ›Ìrka"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tomé ba Prinship"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "CF": {
+ "name": "Sentrafríka"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychɛlle"
+ },
+ "CN": {
+ "name": "Shine"
+ },
+ "SL": {
+ "name": "Sierra Leɔn"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Sipria"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaŋ"
+ },
+ "SE": {
+ "name": "Suɛd"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "CH": {
+ "name": "Switzɛrland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TH": {
+ "name": "Taïland"
+ },
+ "TW": {
+ "name": "Taïwan"
+ },
+ "TJ": {
+ "name": "Tajikistaŋ"
+ },
+ "TZ": {
+ "name": "Tanzánía"
+ },
+ "TL": {
+ "name": "Timɔr tsindikēh"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelo"
+ },
+ "TO": {
+ "name": "Tɔnga"
+ },
+ "TT": {
+ "name": "Trinidad ba Tobágó"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tshad"
+ },
+ "CL": {
+ "name": "Tshili"
+ },
+ "TN": {
+ "name": "Tunisiá"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmɛnistaŋ"
+ },
+ "TV": {
+ "name": "Tuvalú"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrɛn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "UsbÇkistaÅ‹"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikaŋ"
+ },
+ "VE": {
+ "name": "VÇnÇzuela"
+ },
+ "VN": {
+ "name": "Viɛtnam"
+ },
+ "WF": {
+ "name": "Wallis ba Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "YÇmÉ›n"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "NZ": {
+ "name": "Zeland nwanah"
+ },
+ "ZW": {
+ "name": "ZimbabwÇ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/nn.json b/library/intl/resources/country/nn.json
new file mode 100644
index 000000000..f6188d1de
--- /dev/null
+++ b/library/intl/resources/country/nn.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algerie"
+ },
+ "AS": {
+ "name": "Amerikansk Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua og Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbajdsjan"
+ },
+ "TL": {
+ "name": "Aust-Timor"
+ },
+ "AT": {
+ "name": "Austerrike"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia og Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "IO": {
+ "name": "Britiske område i Det indiske hav"
+ },
+ "BN": {
+ "name": "Brunei Darussalam"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "KY": {
+ "name": "Caymanøyane"
+ },
+ "EA": {
+ "name": "Ceuta og Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CX": {
+ "name": "Christmasøya"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CK": {
+ "name": "Cookøyane"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "VI": {
+ "name": "Dei amerikanske jomfruøyane"
+ },
+ "VG": {
+ "name": "Dei britiske jomfruøyane"
+ },
+ "AE": {
+ "name": "Dei sameinte arabiske emirata"
+ },
+ "DO": {
+ "name": "Den dominikanske republikken"
+ },
+ "CF": {
+ "name": "Den sentralafrikanske republikken"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "GQ": {
+ "name": "Ekvatorial-Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbeinskysten"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandsøyane"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippinane"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrike"
+ },
+ "GF": {
+ "name": "Fransk Guyana"
+ },
+ "PF": {
+ "name": "Fransk Polynesia"
+ },
+ "TF": {
+ "name": "Franske sørområde"
+ },
+ "FO": {
+ "name": "Færøyane"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grønland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "GR": {
+ "name": "Hellas"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong S.A.R. Kina"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KH": {
+ "name": "Kambodsja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "IC": {
+ "name": "Kanariøyane"
+ },
+ "CV": {
+ "name": "Kapp Verde"
+ },
+ "BQ": {
+ "name": "Karibisk Nederland"
+ },
+ "KZ": {
+ "name": "Kasakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosøyane"
+ },
+ "KM": {
+ "name": "Komorene"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatia"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "BY": {
+ "name": "Kviterussland"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macao S.A.R. Kina"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldivane"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Man"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshalløyane"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Mikronesiaføderasjonen"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederland"
+ },
+ "SX": {
+ "name": "Nederlandsk St. Martin"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nord-Korea"
+ },
+ "MP": {
+ "name": "Nord-Marianane"
+ },
+ "NO": {
+ "name": "Noreg"
+ },
+ "NF": {
+ "name": "Norfolkøyane"
+ },
+ "NC": {
+ "name": "Ny-Caledonia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinsk territorium"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ny-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "SB": {
+ "name": "Salomonøyane"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé og Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellane"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spania"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "KN": {
+ "name": "St. Christopher og Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "PM": {
+ "name": "St. Pierre og Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent og Grenadinane"
+ },
+ "GB": {
+ "name": "Storbritannia"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard og Jan Mayen"
+ },
+ "CH": {
+ "name": "Sveits"
+ },
+ "SE": {
+ "name": "Sverige"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "ZA": {
+ "name": "Sør-Afrika"
+ },
+ "GS": {
+ "name": "Sør-Georgia og Sør-Sandwich-øyane"
+ },
+ "KR": {
+ "name": "Sør-Korea"
+ },
+ "SS": {
+ "name": "Sør-Sudan"
+ },
+ "TJ": {
+ "name": "Tadsjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad og Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "CZ": {
+ "name": "Tsjekkia"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- og Caicosøyane"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Tyrkia"
+ },
+ "DE": {
+ "name": "Tyskland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungarn"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "UM": {
+ "name": "USAs ytre småøyar"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstaten"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "EH": {
+ "name": "Vest-Sahara"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis og Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "AX": {
+ "name": "Ã…land"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/nus.json b/library/intl/resources/country/nus.json
new file mode 100644
index 000000000..e48b5158b
--- /dev/null
+++ b/library/intl/resources/country/nus.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Abganithtan"
+ },
+ "AZ": {
+ "name": "Adhe̱rbe̱ja̱n"
+ },
+ "AR": {
+ "name": "Aɛrgentin"
+ },
+ "AM": {
+ "name": "Aɛrmänia"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albänia"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AS": {
+ "name": "Amerika thamow"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antiguaa kɛnɛ Barbuda"
+ },
+ "AO": {
+ "name": "AÅ‹gola"
+ },
+ "AI": {
+ "name": "Aŋguɛla"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Athɔra̱lia"
+ },
+ "AT": {
+ "name": "Athtɛria"
+ },
+ "BS": {
+ "name": "Bämuɔth"
+ },
+ "BR": {
+ "name": "Bäraadhiil"
+ },
+ "BB": {
+ "name": "Bärbadoth"
+ },
+ "BH": {
+ "name": "Ba̱reen"
+ },
+ "BY": {
+ "name": "Be̱lɛruth"
+ },
+ "BE": {
+ "name": "Be̱lgim"
+ },
+ "BD": {
+ "name": "Bengeladiec"
+ },
+ "BJ": {
+ "name": "Be̱ni̱n"
+ },
+ "BM": {
+ "name": "Be̱rmudaa"
+ },
+ "BZ": {
+ "name": "Bilidha"
+ },
+ "BW": {
+ "name": "Bothiwaana"
+ },
+ "BA": {
+ "name": "Bothnia kɛnɛ ɣärgobinia"
+ },
+ "BG": {
+ "name": "Bulga̱a̱ria"
+ },
+ "BO": {
+ "name": "Bulibia"
+ },
+ "BF": {
+ "name": "Burkinɛ pa̱thu"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Burunɛy"
+ },
+ "VG": {
+ "name": "Burutic dhuɔ̱ɔ̱l be̱rgin"
+ },
+ "IO": {
+ "name": "Burutic ɣe̱ndian oce̱n"
+ },
+ "BT": {
+ "name": "Buta̱n"
+ },
+ "TD": {
+ "name": "Ca̱d"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CN": {
+ "name": "Cayna"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CF": {
+ "name": "Cɛntrɔl aprika repuɔblic"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cili̱"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "CA": {
+ "name": "Känɛda"
+ },
+ "KY": {
+ "name": "Kaymɛn ɣa̱ylɛn"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CM": {
+ "name": "Kɛmɛrun"
+ },
+ "CV": {
+ "name": "Kɛp bedi ɣa̱ylɛn"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CI": {
+ "name": "Kodibo̱o̱"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KH": {
+ "name": "Kombodia"
+ },
+ "KM": {
+ "name": "Komruth"
+ },
+ "HR": {
+ "name": "Korwaatia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kothtirika"
+ },
+ "CG": {
+ "name": "Kɔŋgɔ"
+ },
+ "CK": {
+ "name": "Kuk ɣa̱ylɛn"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé & Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/nyn.json b/library/intl/resources/country/nyn.json
new file mode 100644
index 000000000..3340bf9ca
--- /dev/null
+++ b/library/intl/resources/country/nyn.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aisilandi"
+ },
+ "CI": {
+ "name": "Aivore Kositi"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AE": {
+ "name": "Amahanga ga Buharabu ageeteereine"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AG": {
+ "name": "Angiguwa na Babuda"
+ },
+ "AO": {
+ "name": "Angora"
+ },
+ "AI": {
+ "name": "Angwira"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AR": {
+ "name": "Arigentina"
+ },
+ "DZ": {
+ "name": "Arigyeriya"
+ },
+ "AM": {
+ "name": "Arimeniya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AL": {
+ "name": "Arubania"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Azabagyani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangaradeshi"
+ },
+ "BY": {
+ "name": "Bararusi"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Berimuda"
+ },
+ "BZ": {
+ "name": "Berize"
+ },
+ "BF": {
+ "name": "Bokina Faso"
+ },
+ "BO": {
+ "name": "Boriiviya"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BA": {
+ "name": "Boziniya na Hezegovina"
+ },
+ "BE": {
+ "name": "Bubirigi"
+ },
+ "FR": {
+ "name": "Bufaransa"
+ },
+ "FI": {
+ "name": "Bufini"
+ },
+ "DE": {
+ "name": "Bugirimaani"
+ },
+ "GB": {
+ "name": "Bungyereza"
+ },
+ "BR": {
+ "name": "Buraziiri"
+ },
+ "BG": {
+ "name": "Burugariya"
+ },
+ "TL": {
+ "name": "Burugweizooba bwa Timori"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Burunei"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "TR": {
+ "name": "Buturuki \/Take"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Deenimaaka"
+ },
+ "CD": {
+ "name": "Demokoratika Ripaaburika ya Kongo"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "MP": {
+ "name": "Ebizinga by’amatemba ga Mariana"
+ },
+ "TC": {
+ "name": "Ebizinga bya Buturuki na Kaiko"
+ },
+ "FK": {
+ "name": "Ebizinga bya Faakilanda"
+ },
+ "IO": {
+ "name": "Ebizinga bya Indian ebya Bungyereza"
+ },
+ "KY": {
+ "name": "Ebizinga bya Kayimani"
+ },
+ "CV": {
+ "name": "Ebizinga bya Kepuvade"
+ },
+ "CK": {
+ "name": "Ebizinga bya Kuuku"
+ },
+ "MH": {
+ "name": "Ebizinga bya Marshaa"
+ },
+ "SB": {
+ "name": "Ebizinga bya Surimaani"
+ },
+ "VI": {
+ "name": "Ebizinga bya Virigini ebya Amerika"
+ },
+ "VG": {
+ "name": "Ebizinga bya Virigini ebya Bungyereza"
+ },
+ "CF": {
+ "name": "Eihanga rya Rwagati ya Afirika"
+ },
+ "NF": {
+ "name": "Ekizinga Norifoko"
+ },
+ "SV": {
+ "name": "Eri Salivado"
+ },
+ "ER": {
+ "name": "Eriteriya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "ET": {
+ "name": "Ethiyopiya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Figyi"
+ },
+ "PH": {
+ "name": "Firipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabooni"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GI": {
+ "name": "Giburaata"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GQ": {
+ "name": "Guni"
+ },
+ "GD": {
+ "name": "Gurenada"
+ },
+ "GL": {
+ "name": "Guriinirandi"
+ },
+ "GR": {
+ "name": "Guriisi"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana ya Bufaransa"
+ },
+ "GP": {
+ "name": "Gwaderupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemara"
+ },
+ "JM": {
+ "name": "Gyamaika"
+ },
+ "JP": {
+ "name": "Gyapaani"
+ },
+ "DJ": {
+ "name": "Gyibuti"
+ },
+ "GE": {
+ "name": "Gyogiya"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HU": {
+ "name": "Hangare"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "NL": {
+ "name": "Hoorandi"
+ },
+ "EC": {
+ "name": "Ikweda"
+ },
+ "IN": {
+ "name": "Indiya"
+ },
+ "ID": {
+ "name": "Indoneeziya"
+ },
+ "IQ": {
+ "name": "Iraaka"
+ },
+ "IR": {
+ "name": "Iraani"
+ },
+ "IE": {
+ "name": "Irerandi"
+ },
+ "IL": {
+ "name": "Isirairi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Itare"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kambodiya"
+ },
+ "CM": {
+ "name": "Kameruuni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kata"
+ },
+ "KZ": {
+ "name": "Kazakisitani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasiya"
+ },
+ "KR": {
+ "name": "Koreya Amashuuma"
+ },
+ "KP": {
+ "name": "Koreya Amatemba"
+ },
+ "CO": {
+ "name": "Korombiya"
+ },
+ "KM": {
+ "name": "Koromo"
+ },
+ "CR": {
+ "name": "Kositarika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuweiti"
+ },
+ "LU": {
+ "name": "Lakizembaaga"
+ },
+ "LV": {
+ "name": "Latviya"
+ },
+ "LA": {
+ "name": "Layosi"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasika"
+ },
+ "MW": {
+ "name": "Marawi"
+ },
+ "MY": {
+ "name": "marayizia"
+ },
+ "ML": {
+ "name": "Mari"
+ },
+ "MV": {
+ "name": "Maridives"
+ },
+ "MT": {
+ "name": "Marita"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MK": {
+ "name": "Masedoonia"
+ },
+ "MU": {
+ "name": "Maurishiasi"
+ },
+ "MR": {
+ "name": "Mauriteeniya"
+ },
+ "YT": {
+ "name": "Mayote"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Mikironesiya"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoria"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MD": {
+ "name": "Moridova"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanamar"
+ },
+ "NE": {
+ "name": "Naigya"
+ },
+ "NG": {
+ "name": "Naigyeriya"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepo"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NC": {
+ "name": "Niukaredonia"
+ },
+ "NZ": {
+ "name": "Niuzirandi"
+ },
+ "NO": {
+ "name": "Noorwe"
+ },
+ "OM": {
+ "name": "Omaani"
+ },
+ "AU": {
+ "name": "Ositureeriya"
+ },
+ "AT": {
+ "name": "Osituria"
+ },
+ "PK": {
+ "name": "Pakisitaani"
+ },
+ "PW": {
+ "name": "Palaawu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PS": {
+ "name": "Parestiina na Gaza"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkaini"
+ },
+ "PT": {
+ "name": "Pocugo"
+ },
+ "PF": {
+ "name": "Polinesia ya Bufaransa"
+ },
+ "PL": {
+ "name": "Poorandi"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "DO": {
+ "name": "Ripaaburika ya Dominica"
+ },
+ "CZ": {
+ "name": "Ripaaburika ya Zeeki"
+ },
+ "RE": {
+ "name": "Riyuniyoni"
+ },
+ "RO": {
+ "name": "Romaniya"
+ },
+ "RU": {
+ "name": "Rrasha"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "CY": {
+ "name": "Saipurasi"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa ya Ameerika"
+ },
+ "SA": {
+ "name": "Saudi Areebiya"
+ },
+ "ZA": {
+ "name": "Sausi Afirika"
+ },
+ "ST": {
+ "name": "Sawo Tome na Purinsipo"
+ },
+ "SN": {
+ "name": "Senego"
+ },
+ "SH": {
+ "name": "Senti Herena"
+ },
+ "KN": {
+ "name": "Senti Kittis na Nevisi"
+ },
+ "PM": {
+ "name": "Senti Piyerre na Mikweron"
+ },
+ "LC": {
+ "name": "Senti Rusiya"
+ },
+ "VC": {
+ "name": "Senti Vinsent na Gurenadini"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shesheresi"
+ },
+ "SG": {
+ "name": "Singapo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Sipeyini"
+ },
+ "LK": {
+ "name": "Siriranka"
+ },
+ "SY": {
+ "name": "Siriya"
+ },
+ "SK": {
+ "name": "Sirovaakiya"
+ },
+ "SI": {
+ "name": "Sirovaaniya"
+ },
+ "SL": {
+ "name": "Sirra Riyooni"
+ },
+ "SO": {
+ "name": "Somaariya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinaamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazirandi"
+ },
+ "SE": {
+ "name": "Swideni"
+ },
+ "CH": {
+ "name": "Swisi"
+ },
+ "TH": {
+ "name": "Tairandi"
+ },
+ "TJ": {
+ "name": "Tajikisitani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TW": {
+ "name": "Tayiwaani"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokerawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizia"
+ },
+ "TT": {
+ "name": "Turinidad na Tobago"
+ },
+ "TM": {
+ "name": "Turukimenisitani"
+ },
+ "TV": {
+ "name": "Tuvaru"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukureini"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "UZ": {
+ "name": "Uzibekisitani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuwera"
+ },
+ "VN": {
+ "name": "Viyetinaamu"
+ },
+ "WF": {
+ "name": "Warris na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yorudaani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/or.json b/library/intl/resources/country/or.json
new file mode 100644
index 000000000..4b225825b
--- /dev/null
+++ b/library/intl/resources/country/or.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "AT": {
+ "name": "ଅଷà­à¬Ÿà­à¬°à¬¿à¬†"
+ },
+ "AU": {
+ "name": "ଅଷà­à¬Ÿà­à¬°à­‡à¬²à¬¿à¬†"
+ },
+ "CI": {
+ "name": "ଆଇବରୀ କୋଷà­à¬Ÿ"
+ },
+ "IM": {
+ "name": "ଆଇଲୠଅଫୠମୈନà­"
+ },
+ "IS": {
+ "name": "ଆଇସଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "AI": {
+ "name": "ଆଙà­à¬—à­à¬‡à¬²à­à¬²à¬¾"
+ },
+ "AO": {
+ "name": "ଆଙà­à¬—ୋଲା"
+ },
+ "AZ": {
+ "name": "ଆଜେରବାଇଜାନà­"
+ },
+ "AG": {
+ "name": "ଆଣà­à¬Ÿà¬¿à¬—à­à¬† à¬à¬¬à¬‚ ବାରବà­à¬¦à¬¾"
+ },
+ "AD": {
+ "name": "ଆଣà­à¬¡à­‹à¬°à¬¾"
+ },
+ "AF": {
+ "name": "ଆଫାଗାନିସà­à¬¤à¬¾à¬¨à­"
+ },
+ "AS": {
+ "name": "ଆମେରିକାନୠସାମୋଆ"
+ },
+ "IE": {
+ "name": "ଆୟରଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "AW": {
+ "name": "ଆରà­à¬¬à¬¾"
+ },
+ "AR": {
+ "name": "ଆରà­à¬œà­‡à¬£à­à¬Ÿà¬¿à¬¨à¬¾"
+ },
+ "AQ": {
+ "name": "ଆରà­à¬£à­à¬Ÿà¬•à¬Ÿà¬¿à¬•à¬¾"
+ },
+ "AM": {
+ "name": "ଆରà­à¬®à­‡à¬¨à¬¿à¬†"
+ },
+ "DZ": {
+ "name": "ଆଲଜେରିଆ"
+ },
+ "AL": {
+ "name": "ଆଲବାନିଆ"
+ },
+ "AX": {
+ "name": "ଆଲାଣà­à¬¡ ଆଇସଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "GQ": {
+ "name": "ଇକà­à¬¬à¬¾à¬Ÿà­‡à¬°à¬¿à¬†à¬²à­ ଗà­à¬‡à¬¨à¬¿à¬†"
+ },
+ "EC": {
+ "name": "ଇକà­à­±à¬¾à¬¡à­‹à¬°à­"
+ },
+ "EG": {
+ "name": "ଇଜିପà­à¬Ÿ"
+ },
+ "IT": {
+ "name": "ଇଟାଲୀ"
+ },
+ "ID": {
+ "name": "ଇଣà­à¬¡à­‹à¬¨à­‡à¬¸à¬¿à¬†"
+ },
+ "ET": {
+ "name": "ଇଥିଓପିଆ"
+ },
+ "IQ": {
+ "name": "ଇରାକà­"
+ },
+ "IR": {
+ "name": "ଇରାନà­"
+ },
+ "ER": {
+ "name": "ଇରିଟà­à¬°à¬¿à­Ÿà¬¾"
+ },
+ "IL": {
+ "name": "ଇସà­à¬°à¬¾à¬à¬²à­"
+ },
+ "UG": {
+ "name": "ଉଗାଣà­à¬¡à¬¾"
+ },
+ "UZ": {
+ "name": "ଉଜବେକିସà­à¬¥à¬¾à¬¨à­"
+ },
+ "KP": {
+ "name": "ଉତà­à¬¤à¬° କୋରିଆ"
+ },
+ "MP": {
+ "name": "ଉତà­à¬¤à¬° ମାରିଆନା ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "UY": {
+ "name": "ଉରà­à¬—à­à¬"
+ },
+ "SV": {
+ "name": "à¬à¬²à­ ସାଲଭାଡୋରà­"
+ },
+ "EE": {
+ "name": "à¬à¬¸à­à¬¤à­‹à¬¨à¬¿à¬†"
+ },
+ "OM": {
+ "name": "ଓମାନà­"
+ },
+ "CD": {
+ "name": "କଙà­à¬—à­‹-କିନସାସା"
+ },
+ "CG": {
+ "name": "କଙà­à¬—à­‹-ବà­à¬°à¬¾à¬œà¬¿à¬­à¬¿à¬²à­à¬²à­‡"
+ },
+ "QA": {
+ "name": "କତାରà­"
+ },
+ "KZ": {
+ "name": "କାଜାକାସà­à¬¥à¬¾à¬¨à­"
+ },
+ "CA": {
+ "name": "କାନାଡା"
+ },
+ "CM": {
+ "name": "କାମେରà­à¬¨à­"
+ },
+ "KM": {
+ "name": "କାମୋରସà­"
+ },
+ "KH": {
+ "name": "କାମà­à¬¬à­‹à¬¡à¬¿à¬†"
+ },
+ "KI": {
+ "name": "କିରିବାଟୀ"
+ },
+ "KG": {
+ "name": "କିରà­à¬—ିଜିସà­à¬¥à¬¾à¬¨"
+ },
+ "KW": {
+ "name": "କà­à¬à¬¤à­"
+ },
+ "CK": {
+ "name": "କà­à¬•à­ ଆଇସଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "KE": {
+ "name": "କେନିୟା"
+ },
+ "CV": {
+ "name": "କେପୠଭରà­à¬¦à­‡"
+ },
+ "KY": {
+ "name": "କେମà­à­Ÿà¬¾à¬¨à­ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "CC": {
+ "name": "କୋକୋସୠଆଇସଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "CO": {
+ "name": "କୋଲମà­à¬¬à¬¿à¬†"
+ },
+ "CR": {
+ "name": "କୋଷà­à¬Ÿà¬¾ ରିକା"
+ },
+ "HR": {
+ "name": "କà­à¬°à­‹à¬†à¬Ÿà¬¿à¬†"
+ },
+ "CU": {
+ "name": "କà­à­±à¬¿à¬¬à¬¾"
+ },
+ "CX": {
+ "name": "ଖà­à¬°à­€à¬·à­à¬Ÿà¬®à¬¾à¬¸ ଆଇଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "GA": {
+ "name": "ଗାବୋନà­"
+ },
+ "GM": {
+ "name": "ଗାମà­à¬¬à¬¿à¬†"
+ },
+ "GU": {
+ "name": "ଗà­à¬†à¬®à­"
+ },
+ "GY": {
+ "name": "ଗà­à¬‡à¬¨à¬¾"
+ },
+ "GW": {
+ "name": "ଗà­à¬‡à¬¨à¬¿à¬†-ବିସାଉ"
+ },
+ "GT": {
+ "name": "ଗà­à¬à¬¤à¬®à¬¾à¬²à¬¾"
+ },
+ "GN": {
+ "name": "ଗà­à¬à¬¨à­‡à¬†"
+ },
+ "GG": {
+ "name": "ଗà­à¬à¬°à¬¨à­‡à¬¸à¬¿"
+ },
+ "GP": {
+ "name": "ଗୌଡେଲୌପେ"
+ },
+ "GL": {
+ "name": "ଗà­à¬°à­€à¬¨à¬²à­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "GR": {
+ "name": "ଗà­à¬°à­€à¬¸à­"
+ },
+ "GD": {
+ "name": "ଗà­à¬°à­‡à¬¨à¬¾à¬¡à¬¾"
+ },
+ "GH": {
+ "name": "ଘାନା"
+ },
+ "TD": {
+ "name": "ଚାଦà­"
+ },
+ "CN": {
+ "name": "ଚିନà­"
+ },
+ "CL": {
+ "name": "ଚିଲà­à¬²à­€"
+ },
+ "CZ": {
+ "name": "ଚେକୠସାଧାରଣତନà­à¬¤à­à¬°"
+ },
+ "GE": {
+ "name": "ଜରà­à¬œà¬¿à¬†"
+ },
+ "DE": {
+ "name": "ଜରà­à¬®à¬¾à¬¨à­€"
+ },
+ "JE": {
+ "name": "ଜରà­à¬¸à¬¿"
+ },
+ "JP": {
+ "name": "ଜାପାନà­"
+ },
+ "JM": {
+ "name": "ଜାମାଇକା"
+ },
+ "ZM": {
+ "name": "ଜାମà­à¬¬à¬¿à¬†"
+ },
+ "GI": {
+ "name": "ଜିବà­à¬°à¬¾à¬²à­à¬Ÿà¬°à­"
+ },
+ "ZW": {
+ "name": "ଜିମà­à¬¬à¬¾à­±à­‡"
+ },
+ "JO": {
+ "name": "ଜୋରà­à¬¡à¬¾à¬¨à­"
+ },
+ "TV": {
+ "name": "ଟà­à¬­à¬¾à¬²à­"
+ },
+ "TK": {
+ "name": "ଟୋକେଲାଉ"
+ },
+ "TG": {
+ "name": "ଟୋଗୋ"
+ },
+ "TO": {
+ "name": "ଟୋଙà­à¬—ା"
+ },
+ "DJ": {
+ "name": "ଡିବୌଟି"
+ },
+ "DK": {
+ "name": "ଡେନମାରà­à¬•"
+ },
+ "DO": {
+ "name": "ଡୋମିନକାନୠପà­à¬°à¬œà¬¾à¬¤à¬¨à­à¬¤à­à¬°"
+ },
+ "DM": {
+ "name": "ଡୋମିନାକା"
+ },
+ "TW": {
+ "name": "ତାଇୱାନà­"
+ },
+ "TJ": {
+ "name": "ତାଜିକିସà­à¬¥à¬¾à¬¨à­"
+ },
+ "TZ": {
+ "name": "ତାଞà­à¬œà¬¾à¬¨à¬¿à¬†"
+ },
+ "TN": {
+ "name": "ତà­à¬¨à¬¿à¬¸à¬¿à¬†"
+ },
+ "TM": {
+ "name": "ତà­à¬°à­à¬•à¬®à­‡à¬¨à¬¿à¬¸à­à¬¤à¬¾à¬¨à­"
+ },
+ "TC": {
+ "name": "ତà­à¬°à­à¬•à¬¸à­ à¬à¬¬à¬‚ ସାଇକସୠଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "TR": {
+ "name": "ତà­à¬°à­à¬•à­€"
+ },
+ "TT": {
+ "name": "ତà­à¬°à¬¿à¬¨à¬¿à¬¦à¬¾à¬¦à­ à¬à¬¬à¬‚ ଟୋବାଗୋ"
+ },
+ "TH": {
+ "name": "ଥାଇଲାଣà­à¬¡"
+ },
+ "ZA": {
+ "name": "ଦକà­à¬·à¬¿à¬£ ଆଫà­à¬°à¬¿à¬•à¬¾"
+ },
+ "KR": {
+ "name": "ଦକà­à¬·à¬¿à¬£ କୋରିଆ"
+ },
+ "GS": {
+ "name": "ଦକà­à¬·à¬¿à¬£ ଜରà­à¬œà¬¿à¬† à¬à¬¬à¬‚ ଦକà­à¬·à¬¿à¬£ ସାଣà­à¬¡à­±à¬¿à¬šà­ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "SS": {
+ "name": "ଦକà­à¬·à¬¿à¬¨ ସà­à¬¦à¬¾à¬¨"
+ },
+ "NF": {
+ "name": "ନରଫà­à¬²à¬•à­ ଦà­à¬¬à­€à¬ª"
+ },
+ "NO": {
+ "name": "ନରୱେ"
+ },
+ "NE": {
+ "name": "ନାଇଜରà­"
+ },
+ "NG": {
+ "name": "ନାଇଜେରିଆ"
+ },
+ "NR": {
+ "name": "ନାଉରà­"
+ },
+ "NA": {
+ "name": "ନାମà­à¬¬à¬¿à¬†"
+ },
+ "NU": {
+ "name": "ନିଉ"
+ },
+ "NI": {
+ "name": "ନିକାରାଗà­à¬†"
+ },
+ "NC": {
+ "name": "ନୂତନ କାଲେଡୋନିଆ"
+ },
+ "NL": {
+ "name": "ନେଦରଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "NP": {
+ "name": "ନେପାଳ"
+ },
+ "NZ": {
+ "name": "ନà­à­Ÿà­à¬œà¬¿à¬²à¬¾à¬£à­à¬¡"
+ },
+ "PG": {
+ "name": "ପପà­à¬† ନà­à­Ÿà­ ଗà­à¬à¬¨à¬¿à¬†"
+ },
+ "PT": {
+ "name": "ପରà­à¬¤à­à¬¤à­à¬—ାଲà­"
+ },
+ "EH": {
+ "name": "ପଶà­à¬šà¬¿à¬® ସାହାରା"
+ },
+ "PK": {
+ "name": "ପାକିସà­à¬¤à¬¾à¬¨"
+ },
+ "PA": {
+ "name": "ପାନାମା"
+ },
+ "PY": {
+ "name": "ପାରାଗà­à¬"
+ },
+ "PW": {
+ "name": "ପାଲାଉ"
+ },
+ "PS": {
+ "name": "ପାଲେସà­à¬¤à­‡à¬¨à¬¿à¬†"
+ },
+ "PN": {
+ "name": "ପିଟକାଇରିନà­"
+ },
+ "PR": {
+ "name": "ପà­à¬à¬°à­à¬¤à­à¬¤à­‹ ରିକୋ"
+ },
+ "TL": {
+ "name": "ପà­à¬°à­à¬¬ ତିମୋରà­"
+ },
+ "PE": {
+ "name": "ପେରà­"
+ },
+ "PL": {
+ "name": "ପୋଲାଣà­à¬¡"
+ },
+ "TF": {
+ "name": "ଫରାସୀ ଦକà­à¬·à¬¿à¬£ କà­à¬·à­‡à¬¤à­à¬°"
+ },
+ "FK": {
+ "name": "ଫଲà­à¬•à¬²à­à­Ÿà¬¾à¬£à­à¬¡ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "FO": {
+ "name": "ଫାରୋଇ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "FJ": {
+ "name": "ଫିଜି"
+ },
+ "FI": {
+ "name": "ଫିନଲà­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "PH": {
+ "name": "ଫିଲିପାଇନସà­"
+ },
+ "FR": {
+ "name": "ଫà­à¬°à¬¾à¬¨à­à¬¸"
+ },
+ "GF": {
+ "name": "ଫà­à¬°à­‡à¬žà­à¬š ଗà­à¬‡à¬¨à¬¾"
+ },
+ "PF": {
+ "name": "ଫà­à¬°à­‡à¬žà­à¬š ପଲିନେସିଆ"
+ },
+ "BM": {
+ "name": "ବରମà­à¬¡à¬¾"
+ },
+ "BD": {
+ "name": "ବାଙà­à¬—ଲାଦେଶà­"
+ },
+ "BB": {
+ "name": "ବାରବାଡୋସà­"
+ },
+ "BS": {
+ "name": "ବାହାମାସà­"
+ },
+ "BH": {
+ "name": "ବାହାରିନà­"
+ },
+ "BI": {
+ "name": "ବà­à¬°à­à¬¨à­à¬¦à¬¿"
+ },
+ "BF": {
+ "name": "ବà­à¬°à­à¬•à¬¿à¬¨à­‹ ଫାସୋ"
+ },
+ "BG": {
+ "name": "ବà­à¬²à¬—େରିଆ"
+ },
+ "BJ": {
+ "name": "ବେନିନà­"
+ },
+ "BE": {
+ "name": "ବେଲଜିୟମà­"
+ },
+ "BY": {
+ "name": "ବେଲାରà­à¬·à­"
+ },
+ "BZ": {
+ "name": "ବେଲିଜà­"
+ },
+ "BW": {
+ "name": "ବୋଟସà­à¬¬à¬¾à¬¨à­"
+ },
+ "BO": {
+ "name": "ବୋଲଭିଆ"
+ },
+ "BA": {
+ "name": "ବୋସନିଆ à¬à¬¬à¬‚ ହରà­à¬œà¬—ୋଭିନା"
+ },
+ "BR": {
+ "name": "ବà­à¬°à¬¾à¬œà¬¿à¬²à­"
+ },
+ "VG": {
+ "name": "ବà­à¬°à¬¿à¬Ÿà¬¿à¬¶à­ ଭରà­à¬œà¬¿à¬¨à­ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "IO": {
+ "name": "ବà­à¬°à¬¿à¬Ÿà¬¿à¬¶à­ ଭାରତୀୟ ସାମà­à¬¦à­à¬°à¬¿à¬• କà­à¬·à­‡à¬¤à­à¬°"
+ },
+ "GB": {
+ "name": "ବà­à¬°à¬¿à¬Ÿà­‡à¬¨à­"
+ },
+ "BN": {
+ "name": "ବà­à¬°à­à¬¨à­‡à¬‡"
+ },
+ "VA": {
+ "name": "ଭାଟିକାନà­"
+ },
+ "VU": {
+ "name": "ଭାନà­à¬†à¬¤à­"
+ },
+ "IN": {
+ "name": "ଭାରତ"
+ },
+ "VN": {
+ "name": "ଭିà¬à¬¤à¬¨à¬¾à¬®à­"
+ },
+ "BT": {
+ "name": "ଭà­à¬Ÿà¬¾à¬¨à­"
+ },
+ "VE": {
+ "name": "ଭେନଜà­à¬à¬²à¬¾"
+ },
+ "MN": {
+ "name": "ମଙà­à¬—ୋଲିଆ"
+ },
+ "ME": {
+ "name": "ମଣà­à¬Ÿà­‡à¬—à­à¬°à­‹"
+ },
+ "MS": {
+ "name": "ମଣà­à¬Ÿà­‡à¬¸à­‡à¬°à¬¾à¬Ÿà­"
+ },
+ "CF": {
+ "name": "ମଧà­à­Ÿ ଆଫà­à¬°à¬¿à¬•à­€à­Ÿ ଗଣତନà­à¬¤à­à¬°"
+ },
+ "FM": {
+ "name": "ମାଇକà­à¬°à­‹à¬¨à­‡à¬¸à¬¿à¬†"
+ },
+ "MR": {
+ "name": "ମାଉରିଟାନିଆ"
+ },
+ "MO": {
+ "name": "ମାକାଉ SAR ଚିନà­"
+ },
+ "MG": {
+ "name": "ମାଡାଗାସà­à¬•à¬°à­"
+ },
+ "YT": {
+ "name": "ମାୟୋଟେ"
+ },
+ "MQ": {
+ "name": "ମାରà­à¬Ÿà¬¿à¬¨à¬¿à¬•à­à­Ÿà­"
+ },
+ "MH": {
+ "name": "ମାରà­à¬¶à¬²à­ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "MD": {
+ "name": "ମାଲଡୋଭା"
+ },
+ "MW": {
+ "name": "ମାଲୱି"
+ },
+ "MY": {
+ "name": "ମାଲେସିଆ"
+ },
+ "MT": {
+ "name": "ମାଲà­à¬Ÿà¬¾"
+ },
+ "MV": {
+ "name": "ମାଳଦà­à¬¬à­€à¬ª"
+ },
+ "ML": {
+ "name": "ମାଳୀ"
+ },
+ "MK": {
+ "name": "ମାସେଡୋନିଆ"
+ },
+ "MM": {
+ "name": "ମିୟାମାରà­"
+ },
+ "MX": {
+ "name": "ମେକà­à¬¸à¬¿à¬•à­‹"
+ },
+ "MZ": {
+ "name": "ମୋଜାମà­à¬¬à¬¿à¬•à­à­Ÿà­"
+ },
+ "MC": {
+ "name": "ମୋନାକୋ"
+ },
+ "MA": {
+ "name": "ମୋରୋକà­à¬•à­‹"
+ },
+ "MU": {
+ "name": "ମୌରିସସà­"
+ },
+ "VI": {
+ "name": "à­Ÿà­à¬à¬¸à­ ଭରà­à¬œà¬¿à¬¨à­ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "US": {
+ "name": "ଯà­à¬•à­à¬¤ ରାଷà­à¬Ÿà­à¬° ଆମେରିକା"
+ },
+ "UA": {
+ "name": "à­Ÿà­à¬•à­à¬°à¬¾à¬‡à¬¨à­"
+ },
+ "UM": {
+ "name": "à­Ÿà­à¬¨à¬¾à¬‡à¬Ÿà­‡à¬¡à­ ଷà­à¬Ÿà­‡à¬Ÿà¬¸à­ ମାଇନରୠଆଉଟଲେଇଂ ଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "YE": {
+ "name": "ୟେମେନà­"
+ },
+ "RW": {
+ "name": "ରାୱାଣà­à¬¡à¬¾"
+ },
+ "RE": {
+ "name": "ରିୟà­à¬¨à¬¿à¬…ନà­"
+ },
+ "RU": {
+ "name": "ରà­à¬·à¬¿à¬†"
+ },
+ "RO": {
+ "name": "ରୋମାନିଆ"
+ },
+ "LU": {
+ "name": "ଲକà­à¬¸à­‡à¬®à¬¬à¬°à­à¬—"
+ },
+ "LA": {
+ "name": "ଲାଓସà­"
+ },
+ "LV": {
+ "name": "ଲାଟଭିଆ"
+ },
+ "LI": {
+ "name": "ଲିଚେସà­à¬¤à¬¿à¬†à¬¨à¬¾à¬¨à­"
+ },
+ "LT": {
+ "name": "ଲିଥାଆନିଆ"
+ },
+ "LY": {
+ "name": "ଲିବିଆ"
+ },
+ "LR": {
+ "name": "ଲିବେରିଆ"
+ },
+ "LB": {
+ "name": "ଲେବାନନà­"
+ },
+ "LS": {
+ "name": "ଲେସୋଥୋ"
+ },
+ "WF": {
+ "name": "ୱାଲିସୠà¬à¬¬à¬‚ ଫà­à¬¤à­à¬¨à¬¾"
+ },
+ "LK": {
+ "name": "ଶà­à¬°à­€à¬²à¬™à­à¬•à¬¾"
+ },
+ "AE": {
+ "name": "ସଂଯà­à¬•à­à¬¤ ଆରବ à¬à¬®à¬¿à¬°à­‡à¬Ÿà¬¸à­"
+ },
+ "RS": {
+ "name": "ସରà­à¬¬à¬¿à¬†"
+ },
+ "CY": {
+ "name": "ସାଇପà­à¬°à¬¸à­"
+ },
+ "SA": {
+ "name": "ସାଉଦି ଆରବିଆ"
+ },
+ "ST": {
+ "name": "ସାଓ ଟୋମେ à¬à¬¬à¬‚ ପà­à¬°à¬¿à¬¨à¬¸à¬¿à¬ªà¬¿"
+ },
+ "SM": {
+ "name": "ସାନୠମାରିନୋ"
+ },
+ "WS": {
+ "name": "ସାମୋଆ"
+ },
+ "SJ": {
+ "name": "ସାଲà­à¬­à¬¾à¬°à­à¬¡ à¬à¬¬à¬‚ ଜାନୠମାୟୋନà­"
+ },
+ "SL": {
+ "name": "ସିଓରା ଲିଓନà­"
+ },
+ "SG": {
+ "name": "ସିଙà­à¬—ାପà­à¬°à­"
+ },
+ "SY": {
+ "name": "ସିରିଆ"
+ },
+ "SD": {
+ "name": "ସà­à¬¦à¬¾à¬¨à­"
+ },
+ "SR": {
+ "name": "ସà­à¬°à¬¿à¬¨à¬¾à¬®"
+ },
+ "SC": {
+ "name": "ସେଚେଲସà­"
+ },
+ "KN": {
+ "name": "ସେଣà­à¬Ÿ କିଟସୠà¬à¬£à­à¬¡ ନେଭିସà­"
+ },
+ "PM": {
+ "name": "ସେଣà­à¬Ÿ ପିà¬à¬°à­‡ à¬à¬¬à¬‚ ମିକà­à¬¬à¬¾à¬²à­‹à¬¨à­"
+ },
+ "BL": {
+ "name": "ସେଣà­à¬Ÿ ବାରà­à¬¥à­‡à¬²à­‡à¬®à¬¿"
+ },
+ "VC": {
+ "name": "ସେଣà­à¬Ÿ ଭିନସେଣà­à¬Ÿ à¬à¬¬à¬‚ ଦି ଗà­à¬°à­‡à¬¨à¬¾à¬¡à¬¿à¬¸à­"
+ },
+ "MF": {
+ "name": "ସେଣà­à¬Ÿ ମାରà­à¬Ÿà¬¿à¬¨à­"
+ },
+ "LC": {
+ "name": "ସେଣà­à¬Ÿ ଲà­à¬¸à¬¿à¬†"
+ },
+ "SH": {
+ "name": "ସେଣà­à¬Ÿ ହେଲେନା"
+ },
+ "SN": {
+ "name": "ସେନେଗାଲà­"
+ },
+ "SO": {
+ "name": "ସୋମାଲିଆ"
+ },
+ "SB": {
+ "name": "ସୋଲୋମନୠଦà­à¬¬à­€à¬ªà¬ªà­à¬žà­à¬œ"
+ },
+ "ES": {
+ "name": "ସà­à¬ªà­‡à¬¨à­"
+ },
+ "SZ": {
+ "name": "ସà­à¬¬à¬¾à¬œà¬¿à¬²à¬¾à¬£à­à¬¡"
+ },
+ "CH": {
+ "name": "ସà­à¬¬à¬¿à¬œà¬°à¬²à­à­Ÿà¬¾à¬£à­à¬¡"
+ },
+ "SK": {
+ "name": "ସà­à¬²à­‹à¬­à¬¾à¬•à¬¿à¬†"
+ },
+ "SI": {
+ "name": "ସà­à¬²à­‹à¬­à­‡à¬¨à¬¿à¬†"
+ },
+ "SE": {
+ "name": "ସà­à­±à­‡à¬¡à­‡à¬¨à­"
+ },
+ "HK": {
+ "name": "ହଂକଂ ବିଶେଷ ପà­à¬°à¬¶à¬¾à¬¸à¬¨à¬¿à¬• କà­à¬·à­‡à¬¤à­à¬° ଚୀନà­"
+ },
+ "HU": {
+ "name": "ହଙà­à¬—େରୀ"
+ },
+ "HT": {
+ "name": "ହାଇତି"
+ },
+ "HN": {
+ "name": "ହୋଣà­à¬¡à¬¾à¬°à­à¬¸à­"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pa.json b/library/intl/resources/country/pa.json
new file mode 100644
index 000000000..cd7671ca5
--- /dev/null
+++ b/library/intl/resources/country/pa.json
@@ -0,0 +1,761 @@
+{
+ "UZ": {
+ "name": "ਉਜ਼ਬੇਕਿਸਤਾਨ"
+ },
+ "KP": {
+ "name": "ਉੱਤਰੀ ਕੋਰੀਆ"
+ },
+ "MP": {
+ "name": "ਉੱਤਰੀ ਮਾਰੀਆਨਾ ਟਾਪੂ"
+ },
+ "UY": {
+ "name": "ਉਰੂਗਵੇ"
+ },
+ "OM": {
+ "name": "ਓਮਾਨ"
+ },
+ "AC": {
+ "name": "ਅਸੈਂਸ਼ਨ ਟਾਪੂ"
+ },
+ "AI": {
+ "name": "ਅੰਗà©à¨‡à¨²à¨¾"
+ },
+ "AO": {
+ "name": "ਅੰਗੋਲਾ"
+ },
+ "AZ": {
+ "name": "ਅਜ਼ਰਬਾਈਜਾਨ"
+ },
+ "AQ": {
+ "name": "ਅੰਟਾਰਕਟਿਕਾ"
+ },
+ "AD": {
+ "name": "ਅੰਡੋਰਾ"
+ },
+ "AF": {
+ "name": "ਅਫ਼ਗਾਨਿਸਤਾਨ"
+ },
+ "AS": {
+ "name": "ਅਮੈਰੀਕਨ ਸਮੋਆ"
+ },
+ "AR": {
+ "name": "ਅਰਜਨਟੀਨਾ"
+ },
+ "AM": {
+ "name": "ਅਰਮੀਨੀਆ"
+ },
+ "AW": {
+ "name": "ਅਰੂਬਾ"
+ },
+ "SV": {
+ "name": "ਅਲ ਸਲਵਾਡੋਰ"
+ },
+ "DZ": {
+ "name": "ਅਲਜੀਰੀਆ"
+ },
+ "AL": {
+ "name": "ਅਲਬਾਨੀਆ"
+ },
+ "AX": {
+ "name": "ਅਲੈਂਡ ਟਾਪੂ"
+ },
+ "IE": {
+ "name": "ਆਇਰਲੈਂਡ"
+ },
+ "IM": {
+ "name": "ਆਇਲ ਆਫ ਮੈਨ"
+ },
+ "IS": {
+ "name": "ਆਈਸਲੈਂਡ"
+ },
+ "AT": {
+ "name": "ਆਸਟਰੀਆ"
+ },
+ "AU": {
+ "name": "ਆਸਟà©à¨°à©‡à¨²à©€à¨†"
+ },
+ "AG": {
+ "name": "à¨à¨‚ਟੀਗà©à¨† ਅਤੇ ਬਾਰਬà©à¨¡à¨¾"
+ },
+ "EE": {
+ "name": "ਇਸਟੋਨੀਆ"
+ },
+ "EC": {
+ "name": "ਇਕਵੇਡੋਰ"
+ },
+ "IL": {
+ "name": "ਇਜ਼ਰਾਈਲ"
+ },
+ "IT": {
+ "name": "ਇਟਲੀ"
+ },
+ "ID": {
+ "name": "ਇੰਡੋਨੇਸ਼ੀਆ"
+ },
+ "ET": {
+ "name": "ਇਥੋਪੀਆ"
+ },
+ "IQ": {
+ "name": "ਇਰਾਕ"
+ },
+ "ER": {
+ "name": "ਇਰੀਟà©à¨°à¨¿à¨†"
+ },
+ "IR": {
+ "name": "ਈਰਾਨ"
+ },
+ "ES": {
+ "name": "ਸਪੇਨ"
+ },
+ "AE": {
+ "name": "ਸੰਯà©à¨•à¨¤ ਅਰਬ ਅਮੀਰਾਤ"
+ },
+ "US": {
+ "name": "ਸੰਯà©à¨•à¨¤ ਰਾਜ"
+ },
+ "RS": {
+ "name": "ਸਰਬੀਆ"
+ },
+ "SK": {
+ "name": "ਸਲੋਵਾਕੀਆ"
+ },
+ "SI": {
+ "name": "ਸਲੋਵੇਨੀਆ"
+ },
+ "SZ": {
+ "name": "ਸਵਾਜ਼ੀਲੈਂਡ"
+ },
+ "SJ": {
+ "name": "ਸਵਾਲਬਰਡ ਅਤੇ ਜਾਨ ਮਾਯੇਨ"
+ },
+ "CH": {
+ "name": "ਸਵਿਟਜ਼ਰਲੈਂਡ"
+ },
+ "SE": {
+ "name": "ਸਵੀਡਨ"
+ },
+ "LK": {
+ "name": "ਸà©à¨°à©€ ਲੰਕਾ"
+ },
+ "SA": {
+ "name": "ਸਾਊਦੀ ਅਰਬ"
+ },
+ "ST": {
+ "name": "ਸਾਓ ਟੋਮ ਅਤੇ ਪà©à¨°à¨¿à©°à¨¸à©€à¨ªà©‡"
+ },
+ "CY": {
+ "name": "ਸਾਇਪà©à¨°à¨¸"
+ },
+ "WS": {
+ "name": "ਸਾਮੋਆ"
+ },
+ "EA": {
+ "name": "ਸਿਓਟਾ ਅਤੇ ਮੇਲਿੱਲਾ"
+ },
+ "SL": {
+ "name": "ਸਿà¨à¨°à¨¾ ਲਿਓਨ"
+ },
+ "SG": {
+ "name": "ਸਿੰਗਾਪà©à¨°"
+ },
+ "SX": {
+ "name": "ਸਿੰਟ ਮਾਰਟੀਨ"
+ },
+ "SY": {
+ "name": "ਸੀਰੀਆ"
+ },
+ "SD": {
+ "name": "ਸੂਡਾਨ"
+ },
+ "SR": {
+ "name": "ਸੂਰੀਨਾਮ"
+ },
+ "SC": {
+ "name": "ਸੇਸ਼ਲਸ"
+ },
+ "SH": {
+ "name": "ਸੇਂਟ ਹੇਲੇਨਾ"
+ },
+ "BL": {
+ "name": "ਸੇਂਟ ਬਾਰਥੇਲੇਮੀ"
+ },
+ "MF": {
+ "name": "ਸੇਂਟ ਮਾਰਟਿਨ"
+ },
+ "LC": {
+ "name": "ਸੇਂਟ ਲੂਸੀਆ"
+ },
+ "VC": {
+ "name": "ਸੇਂਟ ਵਿਨਸੈਂਟ à¨à¨‚ਡ ਗà©à¨°à©‡à¨¨à¨¾à¨¡à©€à¨¨à¨¸"
+ },
+ "SN": {
+ "name": "ਸੇਨੇਗਲ"
+ },
+ "KN": {
+ "name": "ਸੈਂਟ ਕਿਟਸ à¨à¨‚ਡ ਨੇਵਿਸ"
+ },
+ "PM": {
+ "name": "ਸੈਂਟ ਪੀਅਰੇ à¨à¨‚ਡ ਮਿਕੇਲਨ"
+ },
+ "SM": {
+ "name": "ਸੈਨ ਮਰੀਨੋ"
+ },
+ "SO": {
+ "name": "ਸੋਮਾਲੀਆ"
+ },
+ "SB": {
+ "name": "ਸੋਲੋਮਨ ਟਾਪੂ"
+ },
+ "HU": {
+ "name": "ਹੰਗਰੀ"
+ },
+ "HK": {
+ "name": "ਹਾਂਗ ਕਾਂਗ à¨à¨¸à¨à¨†à¨° ਚੀਨ"
+ },
+ "HT": {
+ "name": "ਹੈਤੀ"
+ },
+ "HN": {
+ "name": "ਹੋਂਡà©à¨°à¨¸"
+ },
+ "KZ": {
+ "name": "ਕਜ਼ਾਖਸਤਾਨ"
+ },
+ "QA": {
+ "name": "ਕਤਰ"
+ },
+ "KH": {
+ "name": "ਕੰਬੋਡੀਆ"
+ },
+ "HR": {
+ "name": "ਕਰੋà¨à¨¸à¨¼à©€à¨†"
+ },
+ "CX": {
+ "name": "ਕà©à¨°à¨¿à¨¸à¨®à¨¿à¨¸ ਟਾਪੂ"
+ },
+ "CD": {
+ "name": "ਕਾਂਗੋ - ਕਿੰਸ਼ਾਸਾ"
+ },
+ "CG": {
+ "name": "ਕਾਂਗੋ - ਬà©à¨°à¨¾à¨œà¨¼à¨¾à¨µà¨¿à¨²à©‡"
+ },
+ "CU": {
+ "name": "ਕਿਊਬਾ"
+ },
+ "KG": {
+ "name": "ਕਿਰਗਿਜ਼ਸਤਾਨ"
+ },
+ "KI": {
+ "name": "ਕਿਰਬਾਤੀ"
+ },
+ "KE": {
+ "name": "ਕੀਨੀਆ"
+ },
+ "CK": {
+ "name": "ਕà©à©±à¨• ਟਾਪੂ"
+ },
+ "CW": {
+ "name": "ਕà©à¨°à¨¾à¨•à¨¾à¨“"
+ },
+ "KW": {
+ "name": "ਕà©à¨µà©ˆà¨¤"
+ },
+ "CF": {
+ "name": "ਕੇਂਦਰੀ ਅਫ਼ਰੀਕੀ ਗਣਰਾਜ"
+ },
+ "IC": {
+ "name": "ਕੇਨਾਰੀ ਟਾਪੂ"
+ },
+ "CV": {
+ "name": "ਕੇਪ ਵਰਡੇ"
+ },
+ "KY": {
+ "name": "ਕੇਮੈਨ ਟਾਪੂ"
+ },
+ "CA": {
+ "name": "ਕੈਨੇਡਾ"
+ },
+ "CM": {
+ "name": "ਕੈਮਰੂਨ"
+ },
+ "BQ": {
+ "name": "ਕੈਰੇਬੀਆਈ ਨੀਦਰਲੈਂਡ"
+ },
+ "CR": {
+ "name": "ਕੋਸਟਾ ਰੀਕਾ"
+ },
+ "XK": {
+ "name": "ਕੋਸੋਵੋ"
+ },
+ "CC": {
+ "name": "ਕੋਕੋਸ (ਕੀਲਿੰਗ) ਟਾਪੂ"
+ },
+ "CI": {
+ "name": "ਕੋਟ ਡੀਵੋਆਰ"
+ },
+ "KM": {
+ "name": "ਕੋਮੋਰੋਸ"
+ },
+ "CO": {
+ "name": "ਕੋਲੰਬੀਆ"
+ },
+ "GA": {
+ "name": "ਗਬੋਨ"
+ },
+ "GG": {
+ "name": "ਗਰਨਜੀ"
+ },
+ "GR": {
+ "name": "ਗà©à¨°à©€à¨¸"
+ },
+ "GL": {
+ "name": "ਗà©à¨°à©€à¨¨à¨²à©ˆà¨‚ਡ"
+ },
+ "GD": {
+ "name": "ਗà©à¨°à©‡à¨¨à¨¾à¨¡à¨¾"
+ },
+ "GN": {
+ "name": "ਗਿਨੀ"
+ },
+ "GW": {
+ "name": "ਗਿਨੀ-ਬਿਸਾਉ"
+ },
+ "GT": {
+ "name": "ਗà©à¨†à¨Ÿà©‡à¨®à¨¾à¨²à¨¾"
+ },
+ "GP": {
+ "name": "ਗà©à¨†à¨¡à©‡à¨²à©‹à¨ª"
+ },
+ "GU": {
+ "name": "ਗà©à¨†à¨®"
+ },
+ "GY": {
+ "name": "ਗà©à¨¯à¨¾à¨¨à¨¾"
+ },
+ "GM": {
+ "name": "ਗੈਂਬੀਆ"
+ },
+ "GH": {
+ "name": "ਘਾਨਾ"
+ },
+ "TD": {
+ "name": "ਚਾਡ"
+ },
+ "CL": {
+ "name": "ਚਿਲੀ"
+ },
+ "CN": {
+ "name": "ਚੀਨ"
+ },
+ "CZ": {
+ "name": "ਚੈਕ ਗਣਰਾਜ"
+ },
+ "JP": {
+ "name": "ਜਪਾਨ"
+ },
+ "JM": {
+ "name": "ਜਮਾਇਕਾ"
+ },
+ "JE": {
+ "name": "ਜਰਸੀ"
+ },
+ "DE": {
+ "name": "ਜਰਮਨੀ"
+ },
+ "ZM": {
+ "name": "ਜ਼ਾਮਬੀਆ"
+ },
+ "GE": {
+ "name": "ਜਾਰਜੀਆ"
+ },
+ "JO": {
+ "name": "ਜਾਰਡਨ"
+ },
+ "GI": {
+ "name": "ਜਿਬਰਾਲਟਰ"
+ },
+ "ZW": {
+ "name": "ਜ਼ਿੰਬਾਬਵੇ"
+ },
+ "DJ": {
+ "name": "ਜ਼ੀਬੂਤੀ"
+ },
+ "TA": {
+ "name": "ਟà©à¨°à¨¿à¨¸à¨Ÿà¨¾à¨¨ ਦਾ ਕà©à©°à¨¹à¨¾"
+ },
+ "TT": {
+ "name": "ਟà©à¨°à¨¿à¨¨à©€à¨¡à¨¾à¨¡ ਅਤੇ ਟੋਬਾਗੋ"
+ },
+ "TN": {
+ "name": "ਟਿਊਨੀਸ਼ੀਆ"
+ },
+ "TC": {
+ "name": "ਟà©à¨°à¨•à¨¸ ਅਤੇ ਕੈਕੋਸ ਟਾਪੂ"
+ },
+ "TV": {
+ "name": "ਟà©à¨µà¨¾à¨²à©‚"
+ },
+ "TK": {
+ "name": "ਟੋਕੇਲਾਉ"
+ },
+ "TG": {
+ "name": "ਟੋਗੋ"
+ },
+ "TO": {
+ "name": "ਟੌਂਗਾ"
+ },
+ "DG": {
+ "name": "ਡੀਇਗੋ ਗਾਰਸੀਆ"
+ },
+ "DK": {
+ "name": "ਡੈਨਮਾਰਕ"
+ },
+ "DM": {
+ "name": "ਡੋਮੀਨਿਕਾ"
+ },
+ "DO": {
+ "name": "ਡੋਮੀਨਿਕਾਈ ਗਣਰਾਜ"
+ },
+ "TZ": {
+ "name": "ਤਨਜ਼ਾਨੀਆ"
+ },
+ "TW": {
+ "name": "ਤਾਇਵਾਨ"
+ },
+ "TJ": {
+ "name": "ਤਾਜਿਕਿਸਤਾਨ"
+ },
+ "TL": {
+ "name": "ਤਿਮੋਰ-ਲੇਸਤੇ"
+ },
+ "TM": {
+ "name": "ਤà©à¨°à¨•à¨®à©‡à¨¨à¨¿à¨¸à¨¤à¨¾à¨¨"
+ },
+ "TR": {
+ "name": "ਤà©à¨°à¨•à©€"
+ },
+ "TH": {
+ "name": "ਥਾਈਲੈਂਡ"
+ },
+ "ZA": {
+ "name": "ਦੱਖਣੀ ਅਫਰੀਕਾ"
+ },
+ "SS": {
+ "name": "ਦੱਖਣੀ ਸੂਡਾਨ"
+ },
+ "KR": {
+ "name": "ਦੱਖਣੀ ਕੋਰੀਆ"
+ },
+ "GS": {
+ "name": "ਦੱਖਣੀ ਜਾਰਜੀਆ ਅਤੇ ਦੱਖਣੀ ਸੈਂਡਵਿਚ ਟਾਪੂ"
+ },
+ "NR": {
+ "name": "ਨਾਉਰੂ"
+ },
+ "NE": {
+ "name": "ਨਾਈਜਰ"
+ },
+ "NG": {
+ "name": "ਨਾਈਜੀਰੀਆ"
+ },
+ "NA": {
+ "name": "ਨਾਮੀਬੀਆ"
+ },
+ "NO": {
+ "name": "ਨਾਰਵੇ"
+ },
+ "NC": {
+ "name": "ਨਿਊ ਕੈਲੇਡੋਨੀਆ"
+ },
+ "NZ": {
+ "name": "ਨਿਊਜ਼ੀਲੈਂਡ"
+ },
+ "NI": {
+ "name": "ਨਿਕਾਰਾਗà©à¨†"
+ },
+ "NU": {
+ "name": "ਨਿਯੂ"
+ },
+ "NL": {
+ "name": "ਨੀਦਰਲੈਂਡ"
+ },
+ "NP": {
+ "name": "ਨੇਪਾਲ"
+ },
+ "NF": {
+ "name": "ਨੋਰਫੌਕ ਟਾਪੂ"
+ },
+ "EH": {
+ "name": "ਪੱਛਮੀ ਸਹਾਰਾ"
+ },
+ "PA": {
+ "name": "ਪਨਾਮਾ"
+ },
+ "PW": {
+ "name": "ਪਲਾਉ"
+ },
+ "PK": {
+ "name": "ਪਾਕਿਸਤਾਨ"
+ },
+ "PG": {
+ "name": "ਪਾਪੂਆ ਨਿਊ ਗਿਨੀ"
+ },
+ "PR": {
+ "name": "ਪਿਊਰਟੋ ਰਿਕੋ"
+ },
+ "PN": {
+ "name": "ਪਿਟਕੇਰਨ ਟਾਪੂ"
+ },
+ "PT": {
+ "name": "ਪà©à¨°à¨¤à¨—ਾਲ"
+ },
+ "PE": {
+ "name": "ਪੇਰੂ"
+ },
+ "PY": {
+ "name": "ਪੈਰਾਗਵੇ"
+ },
+ "PL": {
+ "name": "ਪੋਲੈਂਡ"
+ },
+ "FR": {
+ "name": "ਫ਼ਰਾਂਸ"
+ },
+ "GF": {
+ "name": "ਫ਼ਰੈਂਚ ਗà©à¨†à¨¨à¨¾"
+ },
+ "TF": {
+ "name": "ਫਰੈਂਚ ਦੱਖਣੀ ਪà©à¨°à¨¦à©‡à¨¸à¨¼"
+ },
+ "PF": {
+ "name": "ਫਰੈਂਚ ਪੋਲੀਨੇਸ਼ੀਆ"
+ },
+ "FK": {
+ "name": "ਫ਼ਾਕਲੈਂਡ ਟਾਪੂ"
+ },
+ "FJ": {
+ "name": "ਫ਼ਿਜੀ"
+ },
+ "FI": {
+ "name": "ਫਿਨਲੈਂਡ"
+ },
+ "PS": {
+ "name": "ਫਿਲੀਸਤੀਨੀ ਖੇਤਰ"
+ },
+ "PH": {
+ "name": "ਫਿਲੀਪੀਂਸ"
+ },
+ "FO": {
+ "name": "ਫੈਰੋ ਟਾਪੂ"
+ },
+ "BS": {
+ "name": "ਬਹਾਮਾਸ"
+ },
+ "BH": {
+ "name": "ਬਹਿਰੀਨ"
+ },
+ "BD": {
+ "name": "ਬੰਗਲਾਦੇਸ਼"
+ },
+ "IO": {
+ "name": "ਬਰਤਾਨਵੀ ਹਿੰਦ ਮਹਾਂਸਾਗਰ ਪà©à¨°à¨¦à©‡à¨¸à¨¼"
+ },
+ "BM": {
+ "name": "ਬਰਮੂਡਾ"
+ },
+ "BN": {
+ "name": "ਬਰੂਨੇਈ"
+ },
+ "BR": {
+ "name": "ਬà©à¨°à¨¾à¨œà¨¼à©€à¨²"
+ },
+ "VG": {
+ "name": "ਬà©à¨°à¨¿à¨Ÿà¨¿à¨¸à¨¼ ਵਰਜਿਨ ਟਾਪੂ"
+ },
+ "BB": {
+ "name": "ਬਾਰਬਾਡੋਸ"
+ },
+ "BF": {
+ "name": "ਬà©à¨°à¨•à©€à¨¨à¨¾ ਫ਼ਾਸੋ"
+ },
+ "BI": {
+ "name": "ਬà©à¨°à©à©°à¨¡à©€"
+ },
+ "BG": {
+ "name": "ਬà©à¨²à¨—ਾਰੀਆ"
+ },
+ "BJ": {
+ "name": "ਬੇਨਿਨ"
+ },
+ "BY": {
+ "name": "ਬੇਲਾਰੂਸ"
+ },
+ "BZ": {
+ "name": "ਬੇਲੀਜ਼"
+ },
+ "BE": {
+ "name": "ਬੈਲਜੀਅਮ"
+ },
+ "BA": {
+ "name": "ਬੋਸਨੀਆ ਅਤੇ ਹਰਜ਼ੇਗੋਵੀਨਾ"
+ },
+ "BW": {
+ "name": "ਬੋਟਸਵਾਨਾ"
+ },
+ "BO": {
+ "name": "ਬੋਲੀਵੀਆ"
+ },
+ "IN": {
+ "name": "ਭਾਰਤ"
+ },
+ "GQ": {
+ "name": "ਭੂ-ਖੰਡੀ ਗਿਨੀ"
+ },
+ "BT": {
+ "name": "ਭੂਟਾਨ"
+ },
+ "MO": {
+ "name": "ਮਕਾਉ à¨à¨¸à¨à¨†à¨° ਚੀਨ"
+ },
+ "MN": {
+ "name": "ਮੰਗੋਲੀਆ"
+ },
+ "MW": {
+ "name": "ਮਲਾਵੀ"
+ },
+ "MY": {
+ "name": "ਮਲੇਸ਼ੀਆ"
+ },
+ "FM": {
+ "name": "ਮਾਇਕà©à¨°à©‹à¨¨à©‡à¨¸à¨¼à©€à¨†"
+ },
+ "YT": {
+ "name": "ਮਾਯੋਟੀ"
+ },
+ "MH": {
+ "name": "ਮਾਰਸ਼ਲ ਟਾਪੂ"
+ },
+ "MQ": {
+ "name": "ਮਾਰਟੀਨਿਕ"
+ },
+ "MT": {
+ "name": "ਮਾਲਟਾ"
+ },
+ "MV": {
+ "name": "ਮਾਲਦੀਵ"
+ },
+ "ML": {
+ "name": "ਮਾਲੀ"
+ },
+ "MM": {
+ "name": "ਮਿਆਂਮਾਰ (ਬਰਮਾ)"
+ },
+ "EG": {
+ "name": "ਮਿਸਰ"
+ },
+ "MX": {
+ "name": "ਮੈਕਸੀਕੋ"
+ },
+ "MK": {
+ "name": "ਮੈਕਡੋਨੀਆ"
+ },
+ "MG": {
+ "name": "ਮੈਡਾਗਾਸਕਰ"
+ },
+ "MZ": {
+ "name": "ਮੋਜ਼ਾਮਬੀਕ"
+ },
+ "MS": {
+ "name": "ਮੋਂਟਸੇਰਾਤ"
+ },
+ "ME": {
+ "name": "ਮੋਂਟੇਨੇਗਰੋ"
+ },
+ "MC": {
+ "name": "ਮੋਨਾਕੋ"
+ },
+ "MA": {
+ "name": "ਮੋਰੱਕੋ"
+ },
+ "MR": {
+ "name": "ਮੋਰਿਟਾਨੀਆ"
+ },
+ "MD": {
+ "name": "ਮੋਲਡੋਵਾ"
+ },
+ "MU": {
+ "name": "ਮੌਰਿਸ਼ਸ"
+ },
+ "YE": {
+ "name": "ਯਮਨ"
+ },
+ "VI": {
+ "name": "ਯੂ à¨à¨¸ ਵਰਜਿਨ ਟਾਪੂ"
+ },
+ "UM": {
+ "name": "ਯੂ.à¨à¨¸. ਦੂਰ-ਦà©à¨°à¨¾à¨¡à©‡ ਟਾਪੂ"
+ },
+ "UA": {
+ "name": "ਯੂਕਰੇਨ"
+ },
+ "UG": {
+ "name": "ਯੂਗਾਂਡਾ"
+ },
+ "GB": {
+ "name": "ਯੂਨਾਈਟਡ ਕਿੰਗਡਮ"
+ },
+ "RW": {
+ "name": "ਰਵਾਂਡਾ"
+ },
+ "RE": {
+ "name": "ਰਿਯੂਨੀਅਨ"
+ },
+ "RU": {
+ "name": "ਰੂਸ"
+ },
+ "RO": {
+ "name": "ਰੋਮਾਨੀਆ"
+ },
+ "LU": {
+ "name": "ਲਕਜ਼ਮਬਰਗ"
+ },
+ "LA": {
+ "name": "ਲਾਓਸ"
+ },
+ "LR": {
+ "name": "ਲਾਈਬੀਰੀਆ"
+ },
+ "LV": {
+ "name": "ਲਾਟਵੀਆ"
+ },
+ "LI": {
+ "name": "ਲਿਚੇਂਸਟਾਇਨ"
+ },
+ "LT": {
+ "name": "ਲਿਥà©à¨†à¨¨à©€à¨†"
+ },
+ "LY": {
+ "name": "ਲੀਬੀਆ"
+ },
+ "LS": {
+ "name": "ਲੇਸੋਥੋ"
+ },
+ "LB": {
+ "name": "ਲੈਬਨਾਨ"
+ },
+ "VU": {
+ "name": "ਵਾਨੂਆਟੂ"
+ },
+ "WF": {
+ "name": "ਵਾਲਿਸ ਅਤੇ ਫੂਟੂਨਾ"
+ },
+ "VN": {
+ "name": "ਵੀਅਤਨਾਮ"
+ },
+ "VE": {
+ "name": "ਵੇਨੇਜ਼ੂà¨à¨²à¨¾"
+ },
+ "VA": {
+ "name": "ਵੈਟੀਕਨ ਸਿਟੀ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pl.json b/library/intl/resources/country/pl.json
new file mode 100644
index 000000000..52e02228e
--- /dev/null
+++ b/library/intl/resources/country/pl.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algieria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktyka"
+ },
+ "AG": {
+ "name": "Antigua i Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudyjska"
+ },
+ "AR": {
+ "name": "Argentyna"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbejdżan"
+ },
+ "BS": {
+ "name": "Bahamy"
+ },
+ "BH": {
+ "name": "Bahrajn"
+ },
+ "BD": {
+ "name": "Bangladesz"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudy"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Białoruś"
+ },
+ "BO": {
+ "name": "Boliwia"
+ },
+ "BA": {
+ "name": "Bośnia i Hercegowina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazylia"
+ },
+ "BN": {
+ "name": "Brunei Darussalam"
+ },
+ "IO": {
+ "name": "Brytyjskie Terytorium Oceanu Indyjskiego"
+ },
+ "VG": {
+ "name": "Brytyjskie Wyspy Dziewicze"
+ },
+ "BG": {
+ "name": "Bułgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta i Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "Chiny"
+ },
+ "HR": {
+ "name": "Chorwacja"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypr"
+ },
+ "TD": {
+ "name": "Czad"
+ },
+ "ME": {
+ "name": "Czarnogóra"
+ },
+ "CZ": {
+ "name": "Czechy"
+ },
+ "UM": {
+ "name": "Dalekie Wyspy Mniejsze Stanów Zjednoczonych"
+ },
+ "DK": {
+ "name": "Dania"
+ },
+ "CD": {
+ "name": "Demokratyczna Republika Konga"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikana"
+ },
+ "DJ": {
+ "name": "Dżibuti"
+ },
+ "EG": {
+ "name": "Egipt"
+ },
+ "EC": {
+ "name": "Ekwador"
+ },
+ "ER": {
+ "name": "Erytrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandy"
+ },
+ "FJ": {
+ "name": "Fidżi"
+ },
+ "PH": {
+ "name": "Filipiny"
+ },
+ "FI": {
+ "name": "Finlandia"
+ },
+ "FR": {
+ "name": "Francja"
+ },
+ "TF": {
+ "name": "Francuskie Terytoria Południowe"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GS": {
+ "name": "Georgia Południowa i Sandwich Południowy"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grecja"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlandia"
+ },
+ "GE": {
+ "name": "Gruzja"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GY": {
+ "name": "Gujana"
+ },
+ "GF": {
+ "name": "Gujana Francuska"
+ },
+ "GP": {
+ "name": "Gwadelupa"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GN": {
+ "name": "Gwinea"
+ },
+ "GW": {
+ "name": "Gwinea Bissau"
+ },
+ "GQ": {
+ "name": "Gwinea Równikowa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hiszpania"
+ },
+ "NL": {
+ "name": "Holandia"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indie"
+ },
+ "ID": {
+ "name": "Indonezja"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlandia"
+ },
+ "IS": {
+ "name": "Islandia"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japonia"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KY": {
+ "name": "Kajmany"
+ },
+ "KH": {
+ "name": "Kambodża"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolumbia"
+ },
+ "KM": {
+ "name": "Komory"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KR": {
+ "name": "Korea Południowa"
+ },
+ "KP": {
+ "name": "Korea Północna"
+ },
+ "XK": {
+ "name": "Kosowo"
+ },
+ "CR": {
+ "name": "Kostaryka"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwejt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litwa"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "LV": {
+ "name": "Åotwa"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "YT": {
+ "name": "Majotta"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediwy"
+ },
+ "MY": {
+ "name": "Malezja"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Mariany Północne"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MQ": {
+ "name": "Martynika"
+ },
+ "MR": {
+ "name": "Mauretania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "MX": {
+ "name": "Meksyk"
+ },
+ "FM": {
+ "name": "Mikronezja"
+ },
+ "MM": {
+ "name": "Mjanma (Birma)"
+ },
+ "MD": {
+ "name": "Mołdawia"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "BQ": {
+ "name": "Niderlandy Karaibskie"
+ },
+ "DE": {
+ "name": "Niemcy"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "NO": {
+ "name": "Norwegia"
+ },
+ "NC": {
+ "name": "Nowa Kaledonia"
+ },
+ "NZ": {
+ "name": "Nowa Zelandia"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Nowa Gwinea"
+ },
+ "PY": {
+ "name": "Paragwaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinezja Francuska"
+ },
+ "PL": {
+ "name": "Polska"
+ },
+ "PR": {
+ "name": "Portoryko"
+ },
+ "PT": {
+ "name": "Portugalia"
+ },
+ "ZA": {
+ "name": "Republika Południowej Afryki"
+ },
+ "CF": {
+ "name": "Republika Środkowoafrykańska"
+ },
+ "CV": {
+ "name": "Republika Zielonego PrzylÄ…dka"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RU": {
+ "name": "Rosja"
+ },
+ "RO": {
+ "name": "Rumunia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Zachodnia"
+ },
+ "KN": {
+ "name": "Saint Kitts i Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "VC": {
+ "name": "Saint Vincent i Grenadyny"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "MF": {
+ "name": "Saint-Martin"
+ },
+ "PM": {
+ "name": "Saint-Pierre i Miquelon"
+ },
+ "SV": {
+ "name": "Salwador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerykańskie"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seszele"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "SÅ‚owacja"
+ },
+ "SI": {
+ "name": "SÅ‚owenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "HK": {
+ "name": "SRA Hongkong (Chiny)"
+ },
+ "MO": {
+ "name": "SRA Makau (Chiny)"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stany Zjednoczone"
+ },
+ "SZ": {
+ "name": "Suazi"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan Południowy"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Mayen"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "CH": {
+ "name": "Szwajcaria"
+ },
+ "SE": {
+ "name": "Szwecja"
+ },
+ "TJ": {
+ "name": "Tadżykistan"
+ },
+ "TH": {
+ "name": "Tajlandia"
+ },
+ "TW": {
+ "name": "Tajwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "PS": {
+ "name": "Terytoria Palestyńskie"
+ },
+ "TL": {
+ "name": "Timor Wschodni"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TT": {
+ "name": "Trynidad i Tobago"
+ },
+ "TN": {
+ "name": "Tunezja"
+ },
+ "TR": {
+ "name": "Turcja"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks i Caicos"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Urugwaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "WF": {
+ "name": "Wallis i Futuna"
+ },
+ "VA": {
+ "name": "Watykan"
+ },
+ "VE": {
+ "name": "Wenezuela"
+ },
+ "HU": {
+ "name": "Węgry"
+ },
+ "GB": {
+ "name": "Wielka Brytania"
+ },
+ "VN": {
+ "name": "Wietnam"
+ },
+ "IT": {
+ "name": "WÅ‚ochy"
+ },
+ "CX": {
+ "name": "Wyspa Bożego Narodzenia"
+ },
+ "GG": {
+ "name": "Wyspa Guernsey"
+ },
+ "JE": {
+ "name": "Wyspa Jersey"
+ },
+ "IM": {
+ "name": "Wyspa Man"
+ },
+ "SH": {
+ "name": "Wyspa Świętej Heleny"
+ },
+ "AC": {
+ "name": "Wyspa WniebowstÄ…pienia"
+ },
+ "AX": {
+ "name": "Wyspy Alandzkie"
+ },
+ "CK": {
+ "name": "Wyspy Cooka"
+ },
+ "VI": {
+ "name": "Wyspy Dziewicze Stanów Zjednoczonych"
+ },
+ "IC": {
+ "name": "Wyspy Kanaryjskie"
+ },
+ "CC": {
+ "name": "Wyspy Kokosowe"
+ },
+ "MH": {
+ "name": "Wyspy Marshalla"
+ },
+ "FO": {
+ "name": "Wyspy Owcze"
+ },
+ "SB": {
+ "name": "Wyspy Salomona"
+ },
+ "ST": {
+ "name": "Wyspy Świętego Tomasza i Książęca"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "AE": {
+ "name": "Zjednoczone Emiraty Arabskie"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ps.json b/library/intl/resources/country/ps.json
new file mode 100644
index 000000000..454e4ce05
--- /dev/null
+++ b/library/intl/resources/country/ps.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AS": {
+ "name": "American Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AG": {
+ "name": "Antigua & Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgium"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia & Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "Cook Islands"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "FK": {
+ "name": "Falkland Islands"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "KP": {
+ "name": "North Korea"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn Islands"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé & Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "KR": {
+ "name": "South Korea"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts & Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre & Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent & Grenadines"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad & Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks & Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "US": {
+ "name": "United States"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis & Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "IS": {
+ "name": "آیسلینډ"
+ },
+ "AT": {
+ "name": "اتریش"
+ },
+ "AF": {
+ "name": "اÙغانستان"
+ },
+ "AL": {
+ "name": "البانیه"
+ },
+ "DZ": {
+ "name": "الجزایر"
+ },
+ "DE": {
+ "name": "المان"
+ },
+ "AQ": {
+ "name": "انتارکتیکا"
+ },
+ "ID": {
+ "name": "اندونیزیا"
+ },
+ "AO": {
+ "name": "انګولا"
+ },
+ "IT": {
+ "name": "ایټالیه"
+ },
+ "GB": {
+ "name": "برتانیه"
+ },
+ "BG": {
+ "name": "بلغاریه"
+ },
+ "BD": {
+ "name": "بنګله‌دیش"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PT": {
+ "name": "پورتګال"
+ },
+ "PL": {
+ "name": "پولنډ"
+ },
+ "TJ": {
+ "name": "تاجکستان"
+ },
+ "TZ": {
+ "name": "تنزانیا"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "JM": {
+ "name": "جمیکا"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "ET": {
+ "name": "حبشه"
+ },
+ "DK": {
+ "name": "ډنمارک"
+ },
+ "RU": {
+ "name": "روسیه"
+ },
+ "RW": {
+ "name": "روندا"
+ },
+ "SV": {
+ "name": "سالوÛډور"
+ },
+ "SA": {
+ "name": "سعودی عربستان"
+ },
+ "SY": {
+ "name": "سوریه"
+ },
+ "SE": {
+ "name": "سویډن"
+ },
+ "CH": {
+ "name": "سویس"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "FR": {
+ "name": "Ùرانسه"
+ },
+ "PS": {
+ "name": "Ùلسطین"
+ },
+ "FI": {
+ "name": "Ùنلینډ"
+ },
+ "CA": {
+ "name": "کاناډا"
+ },
+ "KH": {
+ "name": "کمبودیا"
+ },
+ "CO": {
+ "name": "کولمبیا"
+ },
+ "KW": {
+ "name": "کویټ"
+ },
+ "CU": {
+ "name": "کیوبا"
+ },
+ "GH": {
+ "name": "ګانا"
+ },
+ "GT": {
+ "name": "ګواتیمالا"
+ },
+ "GN": {
+ "name": "ګیانا"
+ },
+ "LA": {
+ "name": "لاوس"
+ },
+ "LR": {
+ "name": "لایبریا"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LY": {
+ "name": "لیبیا"
+ },
+ "MY": {
+ "name": "مالیزیا"
+ },
+ "HU": {
+ "name": "مجارستان"
+ },
+ "MA": {
+ "name": "مراکش"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "MN": {
+ "name": "مغولستان"
+ },
+ "NO": {
+ "name": "ناروÛ"
+ },
+ "NG": {
+ "name": "نایجیریا"
+ },
+ "NI": {
+ "name": "نکاراګوا"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NZ": {
+ "name": "نیوزیلنډ"
+ },
+ "NL": {
+ "name": "هالÛÙ†Ú‰"
+ },
+ "HN": {
+ "name": "هانډوراس"
+ },
+ "ES": {
+ "name": "هسپانیه"
+ },
+ "IN": {
+ "name": "هند"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "UY": {
+ "name": "یوروګوای"
+ },
+ "GR": {
+ "name": "یونان"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pt-AO.json b/library/intl/resources/country/pt-AO.json
new file mode 100644
index 000000000..0b59b2b6f
--- /dev/null
+++ b/library/intl/resources/country/pt-AO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "Ãfrica do Sul"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Ãustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Ãrabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "AX": {
+ "name": "Ilhas Ã…land"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CC": {
+ "name": "Ilhas Cocos"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "UM": {
+ "name": "Ilhas Distantes dos EUA"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Nevis"
+ },
+ "SM": {
+ "name": "São Marino"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Ãndico"
+ },
+ "PS": {
+ "name": "Território Palestiniano"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pt-CV.json b/library/intl/resources/country/pt-CV.json
new file mode 100644
index 000000000..0b59b2b6f
--- /dev/null
+++ b/library/intl/resources/country/pt-CV.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "Ãfrica do Sul"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Ãustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Ãrabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "AX": {
+ "name": "Ilhas Ã…land"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CC": {
+ "name": "Ilhas Cocos"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "UM": {
+ "name": "Ilhas Distantes dos EUA"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Nevis"
+ },
+ "SM": {
+ "name": "São Marino"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Ãndico"
+ },
+ "PS": {
+ "name": "Território Palestiniano"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pt-GW.json b/library/intl/resources/country/pt-GW.json
new file mode 100644
index 000000000..0b59b2b6f
--- /dev/null
+++ b/library/intl/resources/country/pt-GW.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "Ãfrica do Sul"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Ãustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Ãrabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "AX": {
+ "name": "Ilhas Ã…land"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CC": {
+ "name": "Ilhas Cocos"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "UM": {
+ "name": "Ilhas Distantes dos EUA"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Nevis"
+ },
+ "SM": {
+ "name": "São Marino"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Ãndico"
+ },
+ "PS": {
+ "name": "Território Palestiniano"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pt-MO.json b/library/intl/resources/country/pt-MO.json
new file mode 100644
index 000000000..0b59b2b6f
--- /dev/null
+++ b/library/intl/resources/country/pt-MO.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "Ãfrica do Sul"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Ãustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Ãrabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "AX": {
+ "name": "Ilhas Ã…land"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CC": {
+ "name": "Ilhas Cocos"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "UM": {
+ "name": "Ilhas Distantes dos EUA"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Nevis"
+ },
+ "SM": {
+ "name": "São Marino"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Ãndico"
+ },
+ "PS": {
+ "name": "Território Palestiniano"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pt-MZ.json b/library/intl/resources/country/pt-MZ.json
new file mode 100644
index 000000000..0b59b2b6f
--- /dev/null
+++ b/library/intl/resources/country/pt-MZ.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "Ãfrica do Sul"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Ãustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Ãrabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "AX": {
+ "name": "Ilhas Ã…land"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CC": {
+ "name": "Ilhas Cocos"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "UM": {
+ "name": "Ilhas Distantes dos EUA"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Nevis"
+ },
+ "SM": {
+ "name": "São Marino"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Ãndico"
+ },
+ "PS": {
+ "name": "Território Palestiniano"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pt-PT.json b/library/intl/resources/country/pt-PT.json
new file mode 100644
index 000000000..0b59b2b6f
--- /dev/null
+++ b/library/intl/resources/country/pt-PT.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "Ãfrica do Sul"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Ãustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Ãrabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "AX": {
+ "name": "Ilhas Ã…land"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CC": {
+ "name": "Ilhas Cocos"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "UM": {
+ "name": "Ilhas Distantes dos EUA"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Nevis"
+ },
+ "SM": {
+ "name": "São Marino"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Ãndico"
+ },
+ "PS": {
+ "name": "Território Palestiniano"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pt-ST.json b/library/intl/resources/country/pt-ST.json
new file mode 100644
index 000000000..0b59b2b6f
--- /dev/null
+++ b/library/intl/resources/country/pt-ST.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "Ãfrica do Sul"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Ãustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Ãrabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "AX": {
+ "name": "Ilhas Ã…land"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CC": {
+ "name": "Ilhas Cocos"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "UM": {
+ "name": "Ilhas Distantes dos EUA"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Nevis"
+ },
+ "SM": {
+ "name": "São Marino"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Ãndico"
+ },
+ "PS": {
+ "name": "Território Palestiniano"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pt-TL.json b/library/intl/resources/country/pt-TL.json
new file mode 100644
index 000000000..0b59b2b6f
--- /dev/null
+++ b/library/intl/resources/country/pt-TL.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "Ãfrica do Sul"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Arménia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Ãustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BH": {
+ "name": "Barém"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benim"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "CM": {
+ "name": "Camarões"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo-Brazzaville"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçau"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DM": {
+ "name": "Domínica"
+ },
+ "EG": {
+ "name": "Egipto"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Ãrabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovénia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estónia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Gronelândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guame"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "GW": {
+ "name": "Guiné-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iémen"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "CX": {
+ "name": "Ilha do Natal"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "AX": {
+ "name": "Ilhas Ã…land"
+ },
+ "KY": {
+ "name": "Ilhas Caimão"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CC": {
+ "name": "Ilhas Cocos"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "UM": {
+ "name": "Ilhas Distantes dos EUA"
+ },
+ "FK": {
+ "name": "Ilhas Falkland"
+ },
+ "FO": {
+ "name": "Ilhas Faroé"
+ },
+ "GS": {
+ "name": "Ilhas Geórgia do Sul e Sandwich do Sul"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turcas e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irão"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letónia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedónia"
+ },
+ "MG": {
+ "name": "Madagáscar"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurícia"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mónaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "MS": {
+ "name": "Monserrate"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledónia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "NL": {
+ "name": "Países Baixos"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polónia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quénia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "CZ": {
+ "name": "República Checa"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Roménia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Nevis"
+ },
+ "SM": {
+ "name": "São Marino"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SC": {
+ "name": "Seicheles"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SG": {
+ "name": "Singapura"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Ãndico"
+ },
+ "PS": {
+ "name": "Território Palestiniano"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TK": {
+ "name": "Toquelau"
+ },
+ "TT": {
+ "name": "Trindade e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turquemenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietname"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbabué"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/pt.json b/library/intl/resources/country/pt.json
new file mode 100644
index 000000000..12a4d3d65
--- /dev/null
+++ b/library/intl/resources/country/pt.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "Ãfrica do Sul"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antártida"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armênia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Ãustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BY": {
+ "name": "Bielorrússia"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia e Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "KZ": {
+ "name": "Cazaquistão"
+ },
+ "EA": {
+ "name": "Ceuta e Melilha"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "VA": {
+ "name": "Cidade do Vaticano"
+ },
+ "SG": {
+ "name": "Cingapura"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "KP": {
+ "name": "Coreia do Norte"
+ },
+ "KR": {
+ "name": "Coreia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Ãrabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritreia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovênia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estônia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GS": {
+ "name": "Geórgia do Sul e Ilhas Sandwich do Sul"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Groenlândia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GW": {
+ "name": "Guiné Bissau"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holanda"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong, RAE da China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iêmen"
+ },
+ "CX": {
+ "name": "Ilha Christmas"
+ },
+ "AC": {
+ "name": "Ilha de Ascensão"
+ },
+ "IM": {
+ "name": "Ilha de Man"
+ },
+ "NF": {
+ "name": "Ilha Norfolk"
+ },
+ "AX": {
+ "name": "Ilhas Ã…land"
+ },
+ "KY": {
+ "name": "Ilhas Caiman"
+ },
+ "IC": {
+ "name": "Ilhas Canárias"
+ },
+ "CC": {
+ "name": "Ilhas Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "UM": {
+ "name": "Ilhas Distantes dos EUA"
+ },
+ "FO": {
+ "name": "Ilhas Faroe"
+ },
+ "FK": {
+ "name": "Ilhas Malvinas"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "PN": {
+ "name": "Ilhas Pitcairn"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turks e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irã"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letônia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau, RAE da China"
+ },
+ "MK": {
+ "name": "Macedônia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurício"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar (Birmânia)"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mônaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledônia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "BQ": {
+ "name": "Países Baixos Caribenhos"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polônia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quênia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "CM": {
+ "name": "República dos Camarões"
+ },
+ "CZ": {
+ "name": "República Tcheca"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Romênia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "EH": {
+ "name": "Saara Ocidental"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "BL": {
+ "name": "São Bartolomeu"
+ },
+ "KN": {
+ "name": "São Cristóvão e Nevis"
+ },
+ "MF": {
+ "name": "São Martinho"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "RS": {
+ "name": "Sérvia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SS": {
+ "name": "Sudão do Sul"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajiquistão"
+ },
+ "TZ": {
+ "name": "Tanzânia"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Ãndico"
+ },
+ "TF": {
+ "name": "Territórios Franceses do Sul"
+ },
+ "PS": {
+ "name": "Territórios palestinos"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristão da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turcomenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnã"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbábue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/rm.json b/library/intl/resources/country/rm.json
new file mode 100644
index 000000000..e6ffadbe8
--- /dev/null
+++ b/library/intl/resources/country/rm.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Africa dal Sid"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua e Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudita"
+ },
+ "AR": {
+ "name": "Argentinia"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Aserbaidschan"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesch"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BY": {
+ "name": "Bielorussia"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ed Erzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasila"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodscha"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cap Verd"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Cipra"
+ },
+ "VA": {
+ "name": "Citad dal Vatican"
+ },
+ "CO": {
+ "name": "Columbia"
+ },
+ "KM": {
+ "name": "Comoras"
+ },
+ "CG": {
+ "name": "Congo"
+ },
+ "KP": {
+ "name": "Corea dal Nord"
+ },
+ "KR": {
+ "name": "Corea dal Sid"
+ },
+ "CI": {
+ "name": "Costa d’Ivur"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croazia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemarc"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DJ": {
+ "name": "Dschibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipta"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirats Arabs Unids"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FJ": {
+ "name": "Fidschi"
+ },
+ "PH": {
+ "name": "Filippinas"
+ },
+ "FI": {
+ "name": "Finlanda"
+ },
+ "FR": {
+ "name": "Frantscha"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GS": {
+ "name": "Georgia dal Sid e las Inslas Sandwich dal Sid"
+ },
+ "DE": {
+ "name": "Germania"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "JM": {
+ "name": "Giamaica"
+ },
+ "JP": {
+ "name": "Giapun"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "Grezia"
+ },
+ "GL": {
+ "name": "Grönlanda"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Equatoriala"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Franzosa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "CX": {
+ "name": "Insla da Christmas"
+ },
+ "IM": {
+ "name": "Insla da Man"
+ },
+ "NF": {
+ "name": "Insla Norfolk"
+ },
+ "AX": {
+ "name": "Inslas Aland"
+ },
+ "KY": {
+ "name": "Inslas Cayman"
+ },
+ "CC": {
+ "name": "Inslas Cocos"
+ },
+ "CK": {
+ "name": "Inslas Cook"
+ },
+ "MH": {
+ "name": "Inslas da Marshall"
+ },
+ "FK": {
+ "name": "Inslas dal Falkland"
+ },
+ "FO": {
+ "name": "Inslas Feroe"
+ },
+ "MP": {
+ "name": "Inslas Mariannas dal Nord"
+ },
+ "UM": {
+ "name": "Inslas pitschnas perifericas dals Stadis Unids da l’America"
+ },
+ "TC": {
+ "name": "Inslas Turks e Caicos"
+ },
+ "VI": {
+ "name": "Inslas Verginas Americanas"
+ },
+ "VG": {
+ "name": "Inslas Verginas Britannicas"
+ },
+ "IQ": {
+ "name": "Irac"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islanda"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordania"
+ },
+ "KZ": {
+ "name": "Kasachstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "KG": {
+ "name": "Kirghisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettonia"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaisia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldavia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambic"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "NC": {
+ "name": "Nova Caledonia"
+ },
+ "NZ": {
+ "name": "Nova Zelanda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "NL": {
+ "name": "Pajais Bass"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Guinea"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinesia Franzosa"
+ },
+ "PL": {
+ "name": "Pologna"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "GB": {
+ "name": "Reginavel Unì"
+ },
+ "HK": {
+ "name": "Regiun d’administraziun speziala da Hongkong, China"
+ },
+ "MO": {
+ "name": "Regiun d’administraziun speziala Macao, China"
+ },
+ "CF": {
+ "name": "Republica Centralafricana"
+ },
+ "CD": {
+ "name": "Republica Democratica dal Congo"
+ },
+ "DO": {
+ "name": "Republica Dominicana"
+ },
+ "CZ": {
+ "name": "Republica Tscheca"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumenia"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "EH": {
+ "name": "Sahara Occidentala"
+ },
+ "KN": {
+ "name": "Saint Kitts e Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent e las Grenadinas"
+ },
+ "SB": {
+ "name": "Salomonas"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé e Principe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellas"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovachia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "BL": {
+ "name": "Son Barthélemy"
+ },
+ "SH": {
+ "name": "Sontg’Elena"
+ },
+ "ES": {
+ "name": "Spagna"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Stadis Unids da l’America"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudan dal Sid"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard e Jan Mayen"
+ },
+ "SE": {
+ "name": "Svezia"
+ },
+ "CH": {
+ "name": "Svizra"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tadschikistan"
+ },
+ "TH": {
+ "name": "Tailanda"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "IO": {
+ "name": "Territori Britannic en l’Ocean Indic"
+ },
+ "PS": {
+ "name": "Territori Palestinais"
+ },
+ "TF": {
+ "name": "Territoris Franzos Meridiunals"
+ },
+ "TL": {
+ "name": "Timor da l’Ost"
+ },
+ "TR": {
+ "name": "Tirchia"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "Tschad"
+ },
+ "TN": {
+ "name": "Tunesia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UA": {
+ "name": "Ucraina"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "HU": {
+ "name": "Ungaria"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/rn.json b/library/intl/resources/country/rn.json
new file mode 100644
index 000000000..cab94b8ef
--- /dev/null
+++ b/library/intl/resources/country/rn.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afuganisitani"
+ },
+ "ZA": {
+ "name": "Afurika y’Epfo"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "DZ": {
+ "name": "Alijeriya"
+ },
+ "AL": {
+ "name": "Alubaniya"
+ },
+ "VI": {
+ "name": "Amazinga y’Isugi y’Abanyamerika"
+ },
+ "PH": {
+ "name": "Amazinga ya Filipine"
+ },
+ "MP": {
+ "name": "Amazinga ya Mariyana ryo mu majaruguru"
+ },
+ "RE": {
+ "name": "Amazinga ya Reyiniyo"
+ },
+ "SB": {
+ "name": "Amazinga ya Salumoni"
+ },
+ "SC": {
+ "name": "Amazinga ya Seyisheli"
+ },
+ "TC": {
+ "name": "Amazinga ya Turkisi na Cayikosi"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angwila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigwa na Baribuda"
+ },
+ "SA": {
+ "name": "Arabiya Sawudite"
+ },
+ "AR": {
+ "name": "Arijantine"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AM": {
+ "name": "Arumeniya"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IS": {
+ "name": "Ayisilandi"
+ },
+ "AZ": {
+ "name": "Azerubayijani"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "BH": {
+ "name": "Bahareyini"
+ },
+ "BD": {
+ "name": "Bangaladeshi"
+ },
+ "BB": {
+ "name": "Barubadosi"
+ },
+ "BY": {
+ "name": "Belausi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Bene"
+ },
+ "BM": {
+ "name": "Berimuda"
+ },
+ "MM": {
+ "name": "Birimaniya"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BA": {
+ "name": "Bosiniya na Herigozevine"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BG": {
+ "name": "Buligariya"
+ },
+ "BR": {
+ "name": "Burezili"
+ },
+ "BF": {
+ "name": "Burukina Faso"
+ },
+ "BN": {
+ "name": "Buruneyi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "TD": {
+ "name": "Cadi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimariki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwateri"
+ },
+ "SV": {
+ "name": "Eli Saluvatori"
+ },
+ "ER": {
+ "name": "Elitereya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "ET": {
+ "name": "Etiyopiya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finilandi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabo"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GD": {
+ "name": "Gerenada"
+ },
+ "GW": {
+ "name": "Gineya Bisawu"
+ },
+ "GQ": {
+ "name": "Gineya Ekwatoriyali"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guneya"
+ },
+ "GL": {
+ "name": "Gurunilandi"
+ },
+ "GY": {
+ "name": "Guyane"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwayana y’Abafaransa"
+ },
+ "HT": {
+ "name": "Hayiti"
+ },
+ "ES": {
+ "name": "Hisipaniya"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungariya"
+ },
+ "VG": {
+ "name": "Ibirwa by’isugi by’Abongereza"
+ },
+ "CV": {
+ "name": "Ibirwa bya Kapuveri"
+ },
+ "KY": {
+ "name": "Ibirwa bya Keyimani"
+ },
+ "UA": {
+ "name": "Ikerene"
+ },
+ "ID": {
+ "name": "Indoneziya"
+ },
+ "IO": {
+ "name": "Intara y’Ubwongereza yo mu birwa by’Abahindi"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Irani"
+ },
+ "UY": {
+ "name": "Irigwe"
+ },
+ "IE": {
+ "name": "Irilandi"
+ },
+ "IL": {
+ "name": "Isiraheli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "FK": {
+ "name": "Izinga rya Filikilandi"
+ },
+ "KM": {
+ "name": "Izinga rya Komore"
+ },
+ "CK": {
+ "name": "Izinga rya Kuku"
+ },
+ "MH": {
+ "name": "Izinga rya Marishari"
+ },
+ "MU": {
+ "name": "Izinga rya Morise"
+ },
+ "NF": {
+ "name": "izinga rya Norufoluke"
+ },
+ "CY": {
+ "name": "Izinga rya Shipure"
+ },
+ "JM": {
+ "name": "Jamayika"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GE": {
+ "name": "Jeworujiya"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GI": {
+ "name": "Juburalitari"
+ },
+ "KH": {
+ "name": "Kamboje"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakisitani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CU": {
+ "name": "Kiba"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigisitani"
+ },
+ "CO": {
+ "name": "Kolombiya"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "KP": {
+ "name": "Koreya y’amajaruguru"
+ },
+ "KR": {
+ "name": "Koreya y’amajepfo"
+ },
+ "HR": {
+ "name": "Korowasiya"
+ },
+ "CR": {
+ "name": "Kositarika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CI": {
+ "name": "Kotedivuware"
+ },
+ "KW": {
+ "name": "Koweti"
+ },
+ "LV": {
+ "name": "Lativa"
+ },
+ "LA": {
+ "name": "Layosi"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "AE": {
+ "name": "Leta Zunze Ubumwe z’Abarabu"
+ },
+ "US": {
+ "name": "Leta Zunze Ubumwe za Amerika"
+ },
+ "LB": {
+ "name": "Libani"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LY": {
+ "name": "Libiya"
+ },
+ "LI": {
+ "name": "Lishyitenshitayini"
+ },
+ "LT": {
+ "name": "Lituwaniya"
+ },
+ "LU": {
+ "name": "Lukusamburu"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasikari"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Maleziya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MQ": {
+ "name": "Maritiniki"
+ },
+ "MA": {
+ "name": "Maroke"
+ },
+ "MK": {
+ "name": "Masedoniya"
+ },
+ "YT": {
+ "name": "Mayote"
+ },
+ "MX": {
+ "name": "Migizike"
+ },
+ "FM": {
+ "name": "Mikoroniziya"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MV": {
+ "name": "Moludave"
+ },
+ "MD": {
+ "name": "Moludavi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Monteserati"
+ },
+ "MR": {
+ "name": "Moritaniya"
+ },
+ "MZ": {
+ "name": "Mozambiki"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nawuru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeriya"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NC": {
+ "name": "Niyukaledoniya"
+ },
+ "NU": {
+ "name": "Niyuwe"
+ },
+ "NO": {
+ "name": "Noruveji"
+ },
+ "NZ": {
+ "name": "Nuvelizelandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "AU": {
+ "name": "Ositaraliya"
+ },
+ "AT": {
+ "name": "Otirishe"
+ },
+ "PK": {
+ "name": "Pakisitani"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PS": {
+ "name": "Palesitina Wesitibanka na Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwa Niyugineya"
+ },
+ "PY": {
+ "name": "Paragwe"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitikeyirini"
+ },
+ "PF": {
+ "name": "Polineziya y’Abafaransa"
+ },
+ "PL": {
+ "name": "Polonye"
+ },
+ "PT": {
+ "name": "Porutugali"
+ },
+ "PR": {
+ "name": "Puwetoriko"
+ },
+ "CD": {
+ "name": "Repubulika Iharanira Demokarasi ya Kongo"
+ },
+ "CZ": {
+ "name": "Repubulika ya Ceke"
+ },
+ "DO": {
+ "name": "Repubulika ya Dominika"
+ },
+ "CF": {
+ "name": "Repubulika ya Santarafurika"
+ },
+ "RO": {
+ "name": "Rumaniya"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa nyamerika"
+ },
+ "SM": {
+ "name": "Sanimarino"
+ },
+ "ST": {
+ "name": "Sawotome na Perensipe"
+ },
+ "SH": {
+ "name": "Sehelene"
+ },
+ "KN": {
+ "name": "Sekitsi na Nevisi"
+ },
+ "LC": {
+ "name": "Selusiya"
+ },
+ "PM": {
+ "name": "Sempiyeri na Mikeloni"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "VC": {
+ "name": "Sevensa na Gerenadine"
+ },
+ "CL": {
+ "name": "Shili"
+ },
+ "SK": {
+ "name": "Silovakiya"
+ },
+ "SI": {
+ "name": "Siloveniya"
+ },
+ "SG": {
+ "name": "Singapuru"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SY": {
+ "name": "Siriya"
+ },
+ "SL": {
+ "name": "Siyeralewone"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SZ": {
+ "name": "Suwazilandi"
+ },
+ "SE": {
+ "name": "Suwedi"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TJ": {
+ "name": "Tajikisitani"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TH": {
+ "name": "Tayilandi"
+ },
+ "TW": {
+ "name": "Tayiwani"
+ },
+ "TL": {
+ "name": "Timoru y’iburasirazuba"
+ },
+ "TT": {
+ "name": "Tirinidadi na Tobago"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tuniziya"
+ },
+ "TR": {
+ "name": "Turukiya"
+ },
+ "TM": {
+ "name": "Turukumenisitani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "RW": {
+ "name": "u Rwanda"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "BE": {
+ "name": "Ububiligi"
+ },
+ "DE": {
+ "name": "Ubudage"
+ },
+ "FR": {
+ "name": "Ubufaransa"
+ },
+ "UG": {
+ "name": "Ubugande"
+ },
+ "GR": {
+ "name": "Ubugereki"
+ },
+ "IN": {
+ "name": "Ubuhindi"
+ },
+ "NL": {
+ "name": "Ubuholandi"
+ },
+ "BI": {
+ "name": "Uburundi"
+ },
+ "RU": {
+ "name": "Uburusiya"
+ },
+ "CN": {
+ "name": "Ubushinwa"
+ },
+ "CH": {
+ "name": "Ubusuwisi"
+ },
+ "IT": {
+ "name": "Ubutaliyani"
+ },
+ "JP": {
+ "name": "Ubuyapani"
+ },
+ "GB": {
+ "name": "Ubwongereza"
+ },
+ "VA": {
+ "name": "Umurwa wa Vatikani"
+ },
+ "UZ": {
+ "name": "Uzubekisitani"
+ },
+ "VU": {
+ "name": "Vanuwatu"
+ },
+ "VE": {
+ "name": "Venezuwela"
+ },
+ "VN": {
+ "name": "Viyetinamu"
+ },
+ "WF": {
+ "name": "Walisi na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yorudaniya"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ro.json b/library/intl/resources/country/ro.json
new file mode 100644
index 000000000..acf273ae4
--- /dev/null
+++ b/library/intl/resources/country/ro.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "ZA": {
+ "name": "Africa de Sud"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua și Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudită"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azerbaidjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia și Herțegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazilia"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KH": {
+ "name": "Cambodgia"
+ },
+ "CM": {
+ "name": "Camerun"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Capul Verde"
+ },
+ "EA": {
+ "name": "Ceuta și Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "TD": {
+ "name": "Ciad"
+ },
+ "CY": {
+ "name": "Cipru"
+ },
+ "CO": {
+ "name": "Columbia"
+ },
+ "KM": {
+ "name": "Comore"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "KP": {
+ "name": "Coreea de Nord"
+ },
+ "KR": {
+ "name": "Coreea de Sud"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "Croația"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemarca"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egipt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CH": {
+ "name": "Elveția"
+ },
+ "AE": {
+ "name": "Emiratele Arabe Unite"
+ },
+ "ER": {
+ "name": "Eritreea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlanda"
+ },
+ "FR": {
+ "name": "Franța"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GS": {
+ "name": "Georgia de Sud și Insulele Sandwich de Sud"
+ },
+ "DE": {
+ "name": "Germania"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grecia"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Groenlanda"
+ },
+ "GP": {
+ "name": "Guadelupa"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guineea"
+ },
+ "GQ": {
+ "name": "Guineea Ecuatorială"
+ },
+ "GW": {
+ "name": "Guineea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Franceză"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonezia"
+ },
+ "AC": {
+ "name": "Insula Ascension"
+ },
+ "CX": {
+ "name": "Insula Christmas"
+ },
+ "IM": {
+ "name": "Insula Man"
+ },
+ "AX": {
+ "name": "Insulele Ã…land"
+ },
+ "IC": {
+ "name": "Insulele Canare"
+ },
+ "BQ": {
+ "name": "Insulele Caraibe Olandeze"
+ },
+ "KY": {
+ "name": "Insulele Cayman"
+ },
+ "CC": {
+ "name": "Insulele Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Insulele Cook"
+ },
+ "FK": {
+ "name": "Insulele Falkland"
+ },
+ "FO": {
+ "name": "Insulele Feroe"
+ },
+ "UM": {
+ "name": "Insulele Îndepărtate ale S.U.A."
+ },
+ "MP": {
+ "name": "Insulele Mariane de Nord"
+ },
+ "MH": {
+ "name": "Insulele Marshall"
+ },
+ "NF": {
+ "name": "Insulele Norfolk"
+ },
+ "PN": {
+ "name": "Insulele Pitcairn"
+ },
+ "SB": {
+ "name": "Insulele Solomon"
+ },
+ "TC": {
+ "name": "Insulele Turks și Caicos"
+ },
+ "VG": {
+ "name": "Insulele Virgine Britanice"
+ },
+ "VI": {
+ "name": "Insulele Virgine S.U.A."
+ },
+ "JO": {
+ "name": "Iordania"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islanda"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japonia"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KG": {
+ "name": "Kârgâzstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuweit"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Letonia"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malaezia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldive"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroc"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexic"
+ },
+ "FM": {
+ "name": "Micronezia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambic"
+ },
+ "ME": {
+ "name": "Muntenegru"
+ },
+ "MM": {
+ "name": "Myanmar (Birmania)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegia"
+ },
+ "NC": {
+ "name": "Noua Caledonie"
+ },
+ "NZ": {
+ "name": "Noua Zeelandă"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-Noua Guinee"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinezia Franceză"
+ },
+ "PL": {
+ "name": "Polonia"
+ },
+ "PT": {
+ "name": "Portugalia"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "HK": {
+ "name": "R.A.S. Hong Kong a Chinei"
+ },
+ "MO": {
+ "name": "R.A.S. Macao a Chinei"
+ },
+ "GB": {
+ "name": "Regatul Unit"
+ },
+ "CZ": {
+ "name": "Republica Cehă"
+ },
+ "CF": {
+ "name": "Republica Centrafricană"
+ },
+ "DO": {
+ "name": "Republica Dominicană"
+ },
+ "MD": {
+ "name": "Republica Moldova"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "România"
+ },
+ "RU": {
+ "name": "Rusia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Occidentală"
+ },
+ "KN": {
+ "name": "Saint Kitts și Nevis"
+ },
+ "VC": {
+ "name": "Saint Vincent și Grenadine"
+ },
+ "PM": {
+ "name": "Saint-Pierre și Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americană"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome și Principe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SH": {
+ "name": "Sfânta Elena"
+ },
+ "LC": {
+ "name": "Sfânta Lucia"
+ },
+ "BL": {
+ "name": "Sfântul Bartolomeu"
+ },
+ "MF": {
+ "name": "Sfântul Martin"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint-Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "SK": {
+ "name": "Slovacia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spania"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "US": {
+ "name": "Statele Unite ale Americii"
+ },
+ "VA": {
+ "name": "Statul Cetății Vaticanului"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudanul de Sud"
+ },
+ "SE": {
+ "name": "Suedia"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard și Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "TJ": {
+ "name": "Tadjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TF": {
+ "name": "Teritoriile Australe și Antarctice Franceze"
+ },
+ "PS": {
+ "name": "Teritoriile Palestiniene"
+ },
+ "IO": {
+ "name": "Teritoriul Britanic din Oceanul Indian"
+ },
+ "TH": {
+ "name": "Thailanda"
+ },
+ "TL": {
+ "name": "Timorul de Est"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad și Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turcia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "NL": {
+ "name": "Țările de Jos"
+ },
+ "UA": {
+ "name": "Ucraina"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "HU": {
+ "name": "Ungaria"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis și Futuna"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/rof.json b/library/intl/resources/country/rof.json
new file mode 100644
index 000000000..d88a1bcc7
--- /dev/null
+++ b/library/intl/resources/country/rof.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AM": {
+ "name": "Amenia"
+ },
+ "AD": {
+ "name": "Andoro"
+ },
+ "AO": {
+ "name": "Angolo"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Babuda"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babado"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "AT": {
+ "name": "Ostria"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kaimai"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ru.json b/library/intl/resources/country/ru.json
new file mode 100644
index 000000000..a9dabdc07
--- /dev/null
+++ b/library/intl/resources/country/ru.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "ÐвÑтралиÑ"
+ },
+ "AT": {
+ "name": "ÐвÑтриÑ"
+ },
+ "AZ": {
+ "name": "Ðзербайджан"
+ },
+ "AX": {
+ "name": "ÐландÑкие о-ва"
+ },
+ "AL": {
+ "name": "ÐлбаниÑ"
+ },
+ "DZ": {
+ "name": "Ðлжир"
+ },
+ "AS": {
+ "name": "ÐмериканÑкое Самоа"
+ },
+ "AI": {
+ "name": "ÐнгильÑ"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AD": {
+ "name": "Ðндорра"
+ },
+ "AQ": {
+ "name": "Ðнтарктида"
+ },
+ "AG": {
+ "name": "Ðнтигуа и Барбуда"
+ },
+ "AR": {
+ "name": "Ðргентина"
+ },
+ "AM": {
+ "name": "ÐрмениÑ"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AF": {
+ "name": "ÐфганиÑтан"
+ },
+ "BS": {
+ "name": "БагамÑкие о-ва"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BY": {
+ "name": "БеларуÑÑŒ"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BE": {
+ "name": "БельгиÑ"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "БермудÑкие о-ва"
+ },
+ "BG": {
+ "name": "БолгариÑ"
+ },
+ "BO": {
+ "name": "БоливиÑ"
+ },
+ "BQ": {
+ "name": "БонÑйр, Синт-ЭÑÑ‚Ð°Ñ‚Ð¸ÑƒÑ Ð¸ Саба"
+ },
+ "BA": {
+ "name": "БоÑÐ½Ð¸Ñ Ð¸ Герцеговина"
+ },
+ "BW": {
+ "name": "БотÑвана"
+ },
+ "BR": {
+ "name": "БразилиÑ"
+ },
+ "IO": {
+ "name": "БританÑÐºÐ°Ñ Ñ‚ÐµÑ€Ñ€Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð² ИндийÑком океане"
+ },
+ "BN": {
+ "name": "Бруней-ДаруÑÑалам"
+ },
+ "BF": {
+ "name": "Буркина-ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "GB": {
+ "name": "ВеликобританиÑ"
+ },
+ "HU": {
+ "name": "ВенгриÑ"
+ },
+ "VE": {
+ "name": "ВенеÑуÑла"
+ },
+ "VG": {
+ "name": "ВиргинÑкие о-ва (БританÑкие)"
+ },
+ "VI": {
+ "name": "ВиргинÑкие о-ва (СШÐ)"
+ },
+ "UM": {
+ "name": "Внешние малые о-ва (СШÐ)"
+ },
+ "TL": {
+ "name": "ВоÑточный Тимор"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GY": {
+ "name": "Гайана"
+ },
+ "GM": {
+ "name": "ГамбиÑ"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "ГвинеÑ"
+ },
+ "GW": {
+ "name": "ГвинеÑ-БиÑау"
+ },
+ "DE": {
+ "name": "ГерманиÑ"
+ },
+ "GG": {
+ "name": "ГернÑи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "ГондураÑ"
+ },
+ "HK": {
+ "name": "Гонконг (оÑобый район)"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "ГренландиÑ"
+ },
+ "GR": {
+ "name": "ГрециÑ"
+ },
+ "GE": {
+ "name": "ГрузиÑ"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "ДаниÑ"
+ },
+ "JE": {
+ "name": "ДжерÑи"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего-ГарÑиÑ"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "ДоминиканÑÐºÐ°Ñ Ð ÐµÑпублика"
+ },
+ "EG": {
+ "name": "Египет"
+ },
+ "ZM": {
+ "name": "ЗамбиÑ"
+ },
+ "EH": {
+ "name": "Ð—Ð°Ð¿Ð°Ð´Ð½Ð°Ñ Ð¡Ð°Ñ…Ð°Ñ€Ð°"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израиль"
+ },
+ "IN": {
+ "name": "ИндиÑ"
+ },
+ "ID": {
+ "name": "ИндонезиÑ"
+ },
+ "JO": {
+ "name": "ИорданиÑ"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "ИрландиÑ"
+ },
+ "IS": {
+ "name": "ИÑландиÑ"
+ },
+ "ES": {
+ "name": "ИÑпаниÑ"
+ },
+ "IT": {
+ "name": "ИталиÑ"
+ },
+ "YE": {
+ "name": "Йемен"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KZ": {
+ "name": "КазахÑтан"
+ },
+ "KY": {
+ "name": "Каймановы о-ва"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "КанарÑкие о-ва"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "КениÑ"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KG": {
+ "name": "КиргизиÑ"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CN": {
+ "name": "Китай"
+ },
+ "KP": {
+ "name": "КÐДР"
+ },
+ "CC": {
+ "name": "КокоÑовые о-ва"
+ },
+ "CO": {
+ "name": "КолумбиÑ"
+ },
+ "KM": {
+ "name": "КоморÑкие о-ва"
+ },
+ "CG": {
+ "name": "Конго - Браззавиль"
+ },
+ "CD": {
+ "name": "Конго - КиншаÑа"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑта-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Ивуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CW": {
+ "name": "КюраÑао"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "ЛатвиÑ"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LR": {
+ "name": "ЛибериÑ"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "ЛивиÑ"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "ЛюкÑембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "МавританиÑ"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макао (оÑобый район)"
+ },
+ "MK": {
+ "name": "МакедониÑ"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "МалайзиÑ"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MV": {
+ "name": "МальдивÑкие о-ва"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршалловы о-ва"
+ },
+ "MX": {
+ "name": "МекÑика"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "МонголиÑ"
+ },
+ "MS": {
+ "name": "МонтÑеррат"
+ },
+ "MM": {
+ "name": "МьÑнма (Бирма)"
+ },
+ "NA": {
+ "name": "ÐамибиÑ"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "ÐигериÑ"
+ },
+ "NL": {
+ "name": "Ðидерланды"
+ },
+ "NI": {
+ "name": "Ðикарагуа"
+ },
+ "NU": {
+ "name": "ÐиуÑ"
+ },
+ "NZ": {
+ "name": "ÐÐ¾Ð²Ð°Ñ Ð—ÐµÐ»Ð°Ð½Ð´Ð¸Ñ"
+ },
+ "NC": {
+ "name": "ÐÐ¾Ð²Ð°Ñ ÐšÐ°Ð»ÐµÐ´Ð¾Ð½Ð¸Ñ"
+ },
+ "NO": {
+ "name": "ÐорвегиÑ"
+ },
+ "AC": {
+ "name": "о-в ВознеÑениÑ"
+ },
+ "IM": {
+ "name": "О-в ÐœÑн"
+ },
+ "NF": {
+ "name": "о-в Ðорфолк"
+ },
+ "CX": {
+ "name": "о-в РождеÑтва"
+ },
+ "SH": {
+ "name": "О-в Св. Елены"
+ },
+ "CK": {
+ "name": "о-ва Кука"
+ },
+ "TC": {
+ "name": "О-ва Ð¢Ñ‘Ñ€ÐºÑ Ð¸ КайкоÑ"
+ },
+ "AE": {
+ "name": "ОÐЭ"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "PK": {
+ "name": "ПакиÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "ПалеÑтинÑкие территории"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа – ÐÐ¾Ð²Ð°Ñ Ð“Ð²Ð¸Ð½ÐµÑ"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "ПиткÑрн"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "ПортугалиÑ"
+ },
+ "PR": {
+ "name": "ПуÑрто-Рико"
+ },
+ "KR": {
+ "name": "РеÑпублика КореÑ"
+ },
+ "RE": {
+ "name": "Реюньон"
+ },
+ "RU": {
+ "name": "РоÑÑиÑ"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "РумыниÑ"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе и ПринÑипи"
+ },
+ "SA": {
+ "name": "СаудовÑÐºÐ°Ñ ÐравиÑ"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "MP": {
+ "name": "Северные МарианÑкие о-ва"
+ },
+ "SC": {
+ "name": "СейшельÑкие о-ва"
+ },
+ "BL": {
+ "name": "Сен-Бартельми"
+ },
+ "MF": {
+ "name": "Сен-Мартен"
+ },
+ "PM": {
+ "name": "Сен-Пьер и Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-ВинÑент и Гренадины"
+ },
+ "KN": {
+ "name": "Сент-ÐšÐ¸Ñ‚Ñ Ð¸ ÐевиÑ"
+ },
+ "LC": {
+ "name": "Сент-ЛюÑиÑ"
+ },
+ "RS": {
+ "name": "СербиÑ"
+ },
+ "EA": {
+ "name": "Сеута и МелильÑ"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Мартен"
+ },
+ "SY": {
+ "name": "СириÑ"
+ },
+ "SK": {
+ "name": "СловакиÑ"
+ },
+ "SI": {
+ "name": "СловениÑ"
+ },
+ "US": {
+ "name": "Соединенные Штаты"
+ },
+ "SB": {
+ "name": "Соломоновы о-ва"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "TJ": {
+ "name": "ТаджикиÑтан"
+ },
+ "TH": {
+ "name": "Таиланд"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TZ": {
+ "name": "ТанзаниÑ"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "ТриÑтан-да-КуньÑ"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "TM": {
+ "name": "ТуркмениÑтан"
+ },
+ "TR": {
+ "name": "ТурциÑ"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UZ": {
+ "name": "УзбекиÑтан"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "WF": {
+ "name": "Ð£Ð¾Ð»Ð»Ð¸Ñ Ð¸ Футуна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "ФарерÑкие о-ва"
+ },
+ "FM": {
+ "name": "Федеративные Штаты Микронезии"
+ },
+ "FJ": {
+ "name": "Фиджи"
+ },
+ "PH": {
+ "name": "Филиппины"
+ },
+ "FI": {
+ "name": "ФинлÑндиÑ"
+ },
+ "FK": {
+ "name": "ФолклендÑкие о-ва"
+ },
+ "FR": {
+ "name": "ФранциÑ"
+ },
+ "GF": {
+ "name": "ФранцузÑÐºÐ°Ñ Ð“Ð²Ð¸Ð°Ð½Ð°"
+ },
+ "PF": {
+ "name": "ФранцузÑÐºÐ°Ñ ÐŸÐ¾Ð»Ð¸Ð½ÐµÐ·Ð¸Ñ"
+ },
+ "TF": {
+ "name": "ФранцузÑкие Южные Территории"
+ },
+ "HR": {
+ "name": "ХорватиÑ"
+ },
+ "CF": {
+ "name": "ЦÐР"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "ЧерногориÑ"
+ },
+ "CZ": {
+ "name": "ЧехиÑ"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "CH": {
+ "name": "ШвейцариÑ"
+ },
+ "SE": {
+ "name": "ШвециÑ"
+ },
+ "SJ": {
+ "name": "Шпицберген и Ян-Майен"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Ð­ÐºÐ²Ð°Ñ‚Ð¾Ñ€Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð“Ð²Ð¸Ð½ÐµÑ"
+ },
+ "ER": {
+ "name": "ЭритреÑ"
+ },
+ "EE": {
+ "name": "ЭÑтониÑ"
+ },
+ "ET": {
+ "name": "ЭфиопиÑ"
+ },
+ "ZA": {
+ "name": "ЮÐР"
+ },
+ "GS": {
+ "name": "Ð®Ð¶Ð½Ð°Ñ Ð“ÐµÐ¾Ñ€Ð³Ð¸Ñ Ð¸ Южные Сандвичевы о-ва"
+ },
+ "SS": {
+ "name": "Южный Судан"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "ЯпониÑ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/rwk.json b/library/intl/resources/country/rwk.json
new file mode 100644
index 000000000..e57db8007
--- /dev/null
+++ b/library/intl/resources/country/rwk.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/saq.json b/library/intl/resources/country/saq.json
new file mode 100644
index 000000000..e57db8007
--- /dev/null
+++ b/library/intl/resources/country/saq.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sbp.json b/library/intl/resources/country/sbp.json
new file mode 100644
index 000000000..3c3a0c815
--- /dev/null
+++ b/library/intl/resources/country/sbp.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afilika Kusini"
+ },
+ "AF": {
+ "name": "Afuganisitani"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "DZ": {
+ "name": "Alijeliya"
+ },
+ "AM": {
+ "name": "Alimeniya"
+ },
+ "AW": {
+ "name": "Aluba"
+ },
+ "AL": {
+ "name": "Alubaniya"
+ },
+ "AD": {
+ "name": "Andola"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AG": {
+ "name": "Anitiguya ni Balubuda"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AZ": {
+ "name": "Asabajani"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Awusitilaliya"
+ },
+ "AT": {
+ "name": "Awusitiliya"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "IS": {
+ "name": "Ayisilendi"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BH": {
+ "name": "Bahaleni"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BD": {
+ "name": "Bangiladeshi"
+ },
+ "BY": {
+ "name": "Belalusi"
+ },
+ "BM": {
+ "name": "Belimuda"
+ },
+ "BZ": {
+ "name": "Belise"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BA": {
+ "name": "Bosiniya ni Hesegovina"
+ },
+ "BW": {
+ "name": "Botiswana"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BR": {
+ "name": "Bulasili"
+ },
+ "BG": {
+ "name": "Buligaliya"
+ },
+ "BI": {
+ "name": "Bulundi"
+ },
+ "BN": {
+ "name": "Buluneyi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denimaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elisavado"
+ },
+ "ER": {
+ "name": "Elitileya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FK": {
+ "name": "Figunguli fya Fokolendi"
+ },
+ "CK": {
+ "name": "Figunguli fya Kooki"
+ },
+ "MP": {
+ "name": "Figunguli fya Maliyana ifya luvala lwa Kunyamande"
+ },
+ "SB": {
+ "name": "Figunguli fya Solomoni"
+ },
+ "TC": {
+ "name": "Figunguli fya Tuliki ni Kaiko"
+ },
+ "VI": {
+ "name": "Figunguli fya Viliginiya ifya Malekani"
+ },
+ "KY": {
+ "name": "Figunguli ifya Kayimayi"
+ },
+ "MH": {
+ "name": "Figunguli ifya Malishali"
+ },
+ "VG": {
+ "name": "Figunguli ifya Viliginiya ifya Uwingelesa"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GD": {
+ "name": "Gilenada"
+ },
+ "GL": {
+ "name": "Gilinilandi"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisawu"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Wufalansa"
+ },
+ "HT": {
+ "name": "Hayiti"
+ },
+ "ES": {
+ "name": "Hisipaniya"
+ },
+ "HN": {
+ "name": "Hondulasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaliya"
+ },
+ "IQ": {
+ "name": "Ilaki"
+ },
+ "IN": {
+ "name": "Indiya"
+ },
+ "ID": {
+ "name": "Indonesiya"
+ },
+ "IL": {
+ "name": "Isilaeli"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italiya"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamuhuli ya Afilika ya Pakhati"
+ },
+ "DO": {
+ "name": "Jamuhuli ya Dominika"
+ },
+ "CD": {
+ "name": "Jamuhuli ya Kidemokilasiya ya Kongo"
+ },
+ "CZ": {
+ "name": "Jamuhuli ya Sheki"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibulalita"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojiya"
+ },
+ "KH": {
+ "name": "Kambodiya"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kasakisitani"
+ },
+ "QA": {
+ "name": "Katali"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "GH": {
+ "name": "Khana"
+ },
+ "KI": {
+ "name": "Kilibati"
+ },
+ "KG": {
+ "name": "Kiligisisitani"
+ },
+ "CI": {
+ "name": "Kodivaya"
+ },
+ "HR": {
+ "name": "Kolasiya"
+ },
+ "KR": {
+ "name": "Koleya ya Kusini"
+ },
+ "KP": {
+ "name": "Koleya ya luvala lwa Kunyamande"
+ },
+ "CO": {
+ "name": "Kolombiya"
+ },
+ "KM": {
+ "name": "Komolo"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CR": {
+ "name": "Kositalika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kupilosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativiya"
+ },
+ "LA": {
+ "name": "Layosi"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Libeliya"
+ },
+ "LY": {
+ "name": "Libiya"
+ },
+ "LI": {
+ "name": "Lisheniteni"
+ },
+ "LT": {
+ "name": "Litwaniya"
+ },
+ "RE": {
+ "name": "Liyunioni"
+ },
+ "RO": {
+ "name": "Lomaniya"
+ },
+ "RW": {
+ "name": "Lwanda"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "US": {
+ "name": "Malekani"
+ },
+ "MY": {
+ "name": "Malesiya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MQ": {
+ "name": "Malitiniki"
+ },
+ "MK": {
+ "name": "Masedoniya"
+ },
+ "YT": {
+ "name": "Mayote"
+ },
+ "MX": {
+ "name": "Mekisiko"
+ },
+ "FM": {
+ "name": "Mikilonesiya"
+ },
+ "EG": {
+ "name": "Misili"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Molidova"
+ },
+ "MU": {
+ "name": "Molisi"
+ },
+ "MR": {
+ "name": "Molitaniya"
+ },
+ "MA": {
+ "name": "Moloko"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "MS": {
+ "name": "Monitiselati"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "PS": {
+ "name": "Munjema gwa Kusikha nu Luvala lwa Gasa lwa Palesit"
+ },
+ "MZ": {
+ "name": "Musumbiji"
+ },
+ "MM": {
+ "name": "Muyama"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nawulu"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeli"
+ },
+ "NG": {
+ "name": "Nijeliya"
+ },
+ "NI": {
+ "name": "Nikalagwa"
+ },
+ "NU": {
+ "name": "Niwue"
+ },
+ "NO": {
+ "name": "Nolwe"
+ },
+ "NC": {
+ "name": "Nyukaledoniya"
+ },
+ "NZ": {
+ "name": "Nyusilendi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakisitani"
+ },
+ "PY": {
+ "name": "Palagwayi"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papuwa"
+ },
+ "PE": {
+ "name": "Pelu"
+ },
+ "PN": {
+ "name": "Pitikailini"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesiya ya Wufalansa"
+ },
+ "PR": {
+ "name": "Pwetoliko"
+ },
+ "SM": {
+ "name": "Samalino"
+ },
+ "ZM": {
+ "name": "Sambiya"
+ },
+ "WS": {
+ "name": "Samoya"
+ },
+ "AS": {
+ "name": "Samoya ya Malekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitisi ni Nevisi"
+ },
+ "LC": {
+ "name": "Santalusiya"
+ },
+ "PM": {
+ "name": "Santapieli ni Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Gilenadini"
+ },
+ "SA": {
+ "name": "Sawudi"
+ },
+ "ST": {
+ "name": "Sayo Tome ni Pilinikipe"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "TD": {
+ "name": "Shadi"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "NF": {
+ "name": "Shigunguli sha Nolifoki"
+ },
+ "CL": {
+ "name": "Shile"
+ },
+ "CN": {
+ "name": "Shina"
+ },
+ "SL": {
+ "name": "Siela Liyoni"
+ },
+ "LK": {
+ "name": "Sililanka"
+ },
+ "SY": {
+ "name": "Siliya"
+ },
+ "SK": {
+ "name": "Silovakiya"
+ },
+ "SI": {
+ "name": "Siloveniya"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Sulinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikisitani"
+ },
+ "TZ": {
+ "name": "Tansaniya"
+ },
+ "TT": {
+ "name": "Tilinidadi ni Tobago"
+ },
+ "TL": {
+ "name": "Timoli ya kunena"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Tulukimenisitani"
+ },
+ "TN": {
+ "name": "Tunisiya"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "BE": {
+ "name": "Ubeligiji"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "UY": {
+ "name": "Ulugwayi"
+ },
+ "IO": {
+ "name": "Uluvala lwa Uwingelesa ku Bahali ya Hindi"
+ },
+ "UZ": {
+ "name": "Usibekisitani"
+ },
+ "SZ": {
+ "name": "Uswasi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Utuluki"
+ },
+ "IR": {
+ "name": "Uwajemi"
+ },
+ "GB": {
+ "name": "Uwingelesa"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "WF": {
+ "name": "Walisi ni Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "FR": {
+ "name": "Wufalansa"
+ },
+ "FI": {
+ "name": "Wufini"
+ },
+ "GR": {
+ "name": "Wugiliki"
+ },
+ "NL": {
+ "name": "Wuholansi"
+ },
+ "DE": {
+ "name": "Wujelumani"
+ },
+ "PT": {
+ "name": "Wuleno"
+ },
+ "RU": {
+ "name": "Wulusi"
+ },
+ "AE": {
+ "name": "Wutwa wa shiyalabu"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yolodani"
+ },
+ "UA": {
+ "name": "Yukileini"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/se-FI.json b/library/intl/resources/country/se-FI.json
new file mode 100644
index 000000000..8a60295a9
--- /dev/null
+++ b/library/intl/resources/country/se-FI.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ålánda"
+ },
+ "AL": {
+ "name": "Albánia"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "US": {
+ "name": "Amerihká ovttastuvvan stáhtat"
+ },
+ "AS": {
+ "name": "Amerihká Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antárktis"
+ },
+ "AG": {
+ "name": "Antigua ja Barbuda"
+ },
+ "VI": {
+ "name": "AOS Virgin-sullot"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaižan"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia ja Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "Brittania Virgin-sullot"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman-sullot"
+ },
+ "CZ": {
+ "name": "ÄŒeahkka"
+ },
+ "EA": {
+ "name": "Ceuta ja Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "ÄŒiile"
+ },
+ "CC": {
+ "name": "Cocos-sullot"
+ },
+ "CK": {
+ "name": "Cook-sullot"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dánmárku"
+ },
+ "KP": {
+ "name": "Davvi-Korea"
+ },
+ "MP": {
+ "name": "Davvi-Mariánat"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikána dásseváldi"
+ },
+ "DE": {
+ "name": "Duiska"
+ },
+ "TR": {
+ "name": "Durka"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypta"
+ },
+ "GQ": {
+ "name": "Ekvatoriála Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenariddu"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estlánda"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandsullot"
+ },
+ "FO": {
+ "name": "Fearsullot"
+ },
+ "FJ": {
+ "name": "Fijisullot"
+ },
+ "PH": {
+ "name": "Filippiinnat"
+ },
+ "FR": {
+ "name": "Frankriika"
+ },
+ "GF": {
+ "name": "Frankriikka Guayana"
+ },
+ "PF": {
+ "name": "Frankriikka Polynesia"
+ },
+ "MF": {
+ "name": "Frankriikka Saint Martin"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gámbia"
+ },
+ "CF": {
+ "name": "Gaska-Afrihká dásseváldi"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greika"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlánda"
+ },
+ "IS": {
+ "name": "Islánda"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japána"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordánia"
+ },
+ "CX": {
+ "name": "Juovllat-sullot"
+ },
+ "GL": {
+ "name": "Kalaallit Nunaat"
+ },
+ "KH": {
+ "name": "Kamboža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanáda"
+ },
+ "IC": {
+ "name": "Kanáriasullot"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "Kasakstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CN": {
+ "name": "Kiinná"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoros"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroátia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Látvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lietuva"
+ },
+ "GS": {
+ "name": "Lulli Georgia ja Lulli Sandwich-sullot"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makáo"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediivvat"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Málta"
+ },
+ "IM": {
+ "name": "Mann-sullot"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallsullot"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "ZA": {
+ "name": "Mátta-Afrihká"
+ },
+ "KR": {
+ "name": "Mátta-Korea"
+ },
+ "SS": {
+ "name": "Máttasudan"
+ },
+ "MR": {
+ "name": "Mauretánia"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolksullot"
+ },
+ "NO": {
+ "name": "Norga"
+ },
+ "TL": {
+ "name": "Nuorta-Timor"
+ },
+ "AT": {
+ "name": "Nuortariika"
+ },
+ "EH": {
+ "name": "Oarje-Sahára"
+ },
+ "NC": {
+ "name": "OÄ‘Ä‘a-Kaledonia"
+ },
+ "NZ": {
+ "name": "Ođđa-Selánda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AE": {
+ "name": "Ovttastuvvan Arábaemiráhtat"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestina"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-OÄ‘Ä‘a-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugála"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Románia"
+ },
+ "RU": {
+ "name": "Ruošša"
+ },
+ "SE": {
+ "name": "Ruoŧŧa"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ja Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre ja Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent ja Grenadine"
+ },
+ "SB": {
+ "name": "Salomon-sullot"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé ja Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arábia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellsullot"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SK": {
+ "name": "Slovákia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "ES": {
+ "name": "Spánia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "GB": {
+ "name": "Stuorra-Británnia"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "FI": {
+ "name": "Suopma"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbárda ja Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svazieana"
+ },
+ "CH": {
+ "name": "Å veica"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzánia"
+ },
+ "TJ": {
+ "name": "Tažikistan"
+ },
+ "TH": {
+ "name": "Thaieana"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ja Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks ja Caicos-sullot"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungár"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikána"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "BY": {
+ "name": "Vilges-Ruošša"
+ },
+ "NL": {
+ "name": "Vuolleeatnamat"
+ },
+ "SX": {
+ "name": "Vuolleeatnamat Saint Martin"
+ },
+ "WF": {
+ "name": "Wallis ja Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/se.json b/library/intl/resources/country/se.json
new file mode 100644
index 000000000..5de6ab076
--- /dev/null
+++ b/library/intl/resources/country/se.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AX": {
+ "name": "Ålánda"
+ },
+ "AL": {
+ "name": "Albánia"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "US": {
+ "name": "Amerihká ovttastuvvan stáhtat"
+ },
+ "AS": {
+ "name": "Amerihká Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antárktis"
+ },
+ "AG": {
+ "name": "Antigua ja Barbuda"
+ },
+ "VI": {
+ "name": "AOS Virgin-sullot"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AZ": {
+ "name": "Aserbaižan"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgia"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia-Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "Brittania Virgin-sullot"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman-sullot"
+ },
+ "CZ": {
+ "name": "ÄŒeahkka"
+ },
+ "EA": {
+ "name": "Ceuta ja Melilla"
+ },
+ "CL": {
+ "name": "ÄŒiile"
+ },
+ "CC": {
+ "name": "Cocos-sullot"
+ },
+ "CK": {
+ "name": "Cook-sullot"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dánmárku"
+ },
+ "KP": {
+ "name": "Davvi-Korea"
+ },
+ "MP": {
+ "name": "Davvi-Mariánat"
+ },
+ "SD": {
+ "name": "Davvisudan"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikána dásseváldi"
+ },
+ "DE": {
+ "name": "Duiska"
+ },
+ "TR": {
+ "name": "Durka"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypta"
+ },
+ "GQ": {
+ "name": "Ekvatoriála Guinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenariddu"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estlánda"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FK": {
+ "name": "Falklandsullot"
+ },
+ "FO": {
+ "name": "Fearsullot"
+ },
+ "FJ": {
+ "name": "Fijisullot"
+ },
+ "PH": {
+ "name": "Filippiinnat"
+ },
+ "FR": {
+ "name": "Frankriika"
+ },
+ "GF": {
+ "name": "Frankriikka Guayana"
+ },
+ "PF": {
+ "name": "Frankriikka Polynesia"
+ },
+ "MF": {
+ "name": "Frankriikka Saint Martin"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gámbia"
+ },
+ "CF": {
+ "name": "Gaska-Afrihká dásseváldi"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greika"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlánda"
+ },
+ "IS": {
+ "name": "Islánda"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japána"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordánia"
+ },
+ "CX": {
+ "name": "Juovllat-sullot"
+ },
+ "GL": {
+ "name": "Kalaallit Nunaat"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanáda"
+ },
+ "IC": {
+ "name": "Kanáriasullot"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "Kasakstan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CN": {
+ "name": "Kiinná"
+ },
+ "KG": {
+ "name": "Kirgisistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoros"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroátia"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "CY": {
+ "name": "Kypros"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Látvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lietuva"
+ },
+ "GS": {
+ "name": "Lulli Georgia ja Lulli Sandwich-sullot"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makáo"
+ },
+ "MK": {
+ "name": "Makedonia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Malediivvat"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Málta"
+ },
+ "IM": {
+ "name": "Mann-sullot"
+ },
+ "MA": {
+ "name": "Marokko"
+ },
+ "MH": {
+ "name": "Marshallsullot"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "ZA": {
+ "name": "Mátta-Afrihká"
+ },
+ "KR": {
+ "name": "Mátta-Korea"
+ },
+ "SS": {
+ "name": "Máttasudan"
+ },
+ "MR": {
+ "name": "Mauretánia"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolksullot"
+ },
+ "NO": {
+ "name": "Norga"
+ },
+ "TL": {
+ "name": "Nuorta-Timor"
+ },
+ "AT": {
+ "name": "Nuortariika"
+ },
+ "EH": {
+ "name": "Oarje-Sahára"
+ },
+ "NC": {
+ "name": "OÄ‘Ä‘a-Kaledonia"
+ },
+ "NZ": {
+ "name": "Ođđa-Selánda"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AE": {
+ "name": "Ovttastuvvan Arábaemiráhtat"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestina"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua-OÄ‘Ä‘a-Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugála"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Románia"
+ },
+ "RU": {
+ "name": "Ruošša"
+ },
+ "SE": {
+ "name": "Ruoŧŧa"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ja Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre ja Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent ja Grenadine"
+ },
+ "SB": {
+ "name": "Salomon-sullot"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé ja Príncipe"
+ },
+ "SA": {
+ "name": "Saudi-Arábia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychellsullot"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SK": {
+ "name": "Slovákia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "ES": {
+ "name": "Spánia"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "GB": {
+ "name": "Stuorra-Británnia"
+ },
+ "FI": {
+ "name": "Suopma"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbárda ja Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svazieana"
+ },
+ "CH": {
+ "name": "Å veica"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzánia"
+ },
+ "TJ": {
+ "name": "Tažikistan"
+ },
+ "TD": {
+ "name": "TÄad"
+ },
+ "TH": {
+ "name": "Thaieana"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ja Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks ja Caicos-sullot"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungár"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Usbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikána"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "BY": {
+ "name": "Vilges-Ruošša"
+ },
+ "NL": {
+ "name": "Vuolleeatnamat"
+ },
+ "SX": {
+ "name": "Vuolleeatnamat Saint Martin"
+ },
+ "WF": {
+ "name": "Wallis ja Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/seh.json b/library/intl/resources/country/seh.json
new file mode 100644
index 000000000..aa29db556
--- /dev/null
+++ b/library/intl/resources/country/seh.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afeganistão"
+ },
+ "ZA": {
+ "name": "Ãfrica do Sul"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albânia"
+ },
+ "DE": {
+ "name": "Alemanha"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antígua e Barbuda"
+ },
+ "SA": {
+ "name": "Arábia Saudita"
+ },
+ "DZ": {
+ "name": "Argélia"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armênia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AT": {
+ "name": "Ãustria"
+ },
+ "AZ": {
+ "name": "Azerbaijão"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BE": {
+ "name": "Bélgica"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudas"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bósnia-Herzegovina"
+ },
+ "BW": {
+ "name": "Botsuana"
+ },
+ "BR": {
+ "name": "Brasil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgária"
+ },
+ "BF": {
+ "name": "Burquina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butão"
+ },
+ "CV": {
+ "name": "Cabo Verde"
+ },
+ "KH": {
+ "name": "Camboja"
+ },
+ "CA": {
+ "name": "Canadá"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KZ": {
+ "name": "Casaquistão"
+ },
+ "QA": {
+ "name": "Catar"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chade"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CY": {
+ "name": "Chipre"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "SG": {
+ "name": "Cingapura"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "Colômbia"
+ },
+ "KM": {
+ "name": "Comores"
+ },
+ "CG": {
+ "name": "Congo"
+ },
+ "CD": {
+ "name": "Congo-Kinshasa"
+ },
+ "KP": {
+ "name": "Coréia do Norte"
+ },
+ "KR": {
+ "name": "Coréia do Sul"
+ },
+ "CI": {
+ "name": "Costa do Marfim"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "HR": {
+ "name": "Croácia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DK": {
+ "name": "Dinamarca"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "EG": {
+ "name": "Egito"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emirados Ãrabes Unidos"
+ },
+ "EC": {
+ "name": "Equador"
+ },
+ "ER": {
+ "name": "Eritréia"
+ },
+ "SK": {
+ "name": "Eslováquia"
+ },
+ "SI": {
+ "name": "Eslovênia"
+ },
+ "ES": {
+ "name": "Espanha"
+ },
+ "US": {
+ "name": "Estados Unidos"
+ },
+ "EE": {
+ "name": "Estônia"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipinas"
+ },
+ "FI": {
+ "name": "Finlândia"
+ },
+ "FR": {
+ "name": "França"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabão"
+ },
+ "GM": {
+ "name": "Gâmbia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Geórgia"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GD": {
+ "name": "Granada"
+ },
+ "GR": {
+ "name": "Grécia"
+ },
+ "GL": {
+ "name": "Groênlandia"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guiana"
+ },
+ "GF": {
+ "name": "Guiana Francesa"
+ },
+ "GN": {
+ "name": "Guiné"
+ },
+ "GW": {
+ "name": "Guiné Bissau"
+ },
+ "GQ": {
+ "name": "Guiné Equatorial"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holanda"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungria"
+ },
+ "YE": {
+ "name": "Iêmen"
+ },
+ "KY": {
+ "name": "Ilhas Caiman"
+ },
+ "CK": {
+ "name": "Ilhas Cook"
+ },
+ "FK": {
+ "name": "Ilhas Malvinas"
+ },
+ "MP": {
+ "name": "Ilhas Marianas do Norte"
+ },
+ "MH": {
+ "name": "Ilhas Marshall"
+ },
+ "NF": {
+ "name": "Ilhas Norfolk"
+ },
+ "SB": {
+ "name": "Ilhas Salomão"
+ },
+ "TC": {
+ "name": "Ilhas Turks e Caicos"
+ },
+ "VG": {
+ "name": "Ilhas Virgens Britânicas"
+ },
+ "VI": {
+ "name": "Ilhas Virgens dos EUA"
+ },
+ "IN": {
+ "name": "Ãndia"
+ },
+ "ID": {
+ "name": "Indonésia"
+ },
+ "IR": {
+ "name": "Irã"
+ },
+ "IQ": {
+ "name": "Iraque"
+ },
+ "IE": {
+ "name": "Irlanda"
+ },
+ "IS": {
+ "name": "Islândia"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Itália"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japão"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordânia"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letônia"
+ },
+ "LB": {
+ "name": "Líbano"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lituânia"
+ },
+ "LU": {
+ "name": "Luxemburgo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedônia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MY": {
+ "name": "Malásia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivas"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marrocos"
+ },
+ "MQ": {
+ "name": "Martinica"
+ },
+ "MU": {
+ "name": "Maurício"
+ },
+ "MR": {
+ "name": "Mauritânia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "México"
+ },
+ "MM": {
+ "name": "Mianmar"
+ },
+ "FM": {
+ "name": "Micronésia"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldávia"
+ },
+ "MC": {
+ "name": "Mônaco"
+ },
+ "MN": {
+ "name": "Mongólia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicarágua"
+ },
+ "NE": {
+ "name": "Níger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noruega"
+ },
+ "NC": {
+ "name": "Nova Caledônia"
+ },
+ "NZ": {
+ "name": "Nova Zelândia"
+ },
+ "OM": {
+ "name": "Omã"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panamá"
+ },
+ "PG": {
+ "name": "Papua-Nova Guiné"
+ },
+ "PK": {
+ "name": "Paquistão"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PF": {
+ "name": "Polinésia Francesa"
+ },
+ "PL": {
+ "name": "Polônia"
+ },
+ "PR": {
+ "name": "Porto Rico"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "KE": {
+ "name": "Quênia"
+ },
+ "KG": {
+ "name": "Quirguistão"
+ },
+ "KI": {
+ "name": "Quiribati"
+ },
+ "GB": {
+ "name": "Reino Unido"
+ },
+ "CF": {
+ "name": "República Centro-Africana"
+ },
+ "DO": {
+ "name": "República Dominicana"
+ },
+ "CM": {
+ "name": "República dos Camarões"
+ },
+ "CZ": {
+ "name": "República Tcheca"
+ },
+ "RE": {
+ "name": "Reunião"
+ },
+ "RO": {
+ "name": "Romênia"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rússia"
+ },
+ "PM": {
+ "name": "Saint Pierre e Miquelon"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Americana"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "SH": {
+ "name": "Santa Helena"
+ },
+ "LC": {
+ "name": "Santa Lúcia"
+ },
+ "KN": {
+ "name": "São Cristovão e Nevis"
+ },
+ "ST": {
+ "name": "São Tomé e Príncipe"
+ },
+ "VC": {
+ "name": "São Vicente e Granadinas"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SL": {
+ "name": "Serra Leoa"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Síria"
+ },
+ "SO": {
+ "name": "Somália"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SZ": {
+ "name": "Suazilândia"
+ },
+ "SD": {
+ "name": "Sudão"
+ },
+ "SE": {
+ "name": "Suécia"
+ },
+ "CH": {
+ "name": "Suíça"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TJ": {
+ "name": "Tadjiquistão"
+ },
+ "TH": {
+ "name": "Tailândia"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "IO": {
+ "name": "Território Britânico do Oceano Ãndico"
+ },
+ "PS": {
+ "name": "Território da Palestina"
+ },
+ "TL": {
+ "name": "Timor Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunísia"
+ },
+ "TM": {
+ "name": "Turcomenistão"
+ },
+ "TR": {
+ "name": "Turquia"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UA": {
+ "name": "Ucrânia"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbequistão"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vaticano"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnã"
+ },
+ "WF": {
+ "name": "Wallis e Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "ZM": {
+ "name": "Zâmbia"
+ },
+ "ZW": {
+ "name": "Zimbábue"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ses.json b/library/intl/resources/country/ses.json
new file mode 100644
index 000000000..bdbd80aee
--- /dev/null
+++ b/library/intl/resources/country/ses.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgaanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albaani"
+ },
+ "GB": {
+ "name": "Albaasalaama Marganta"
+ },
+ "DE": {
+ "name": "Almaaɲe"
+ },
+ "DZ": {
+ "name": "Alžeeri"
+ },
+ "VI": {
+ "name": "Ameerik Virgin Gungey"
+ },
+ "US": {
+ "name": "Ameriki Laabu Margantey"
+ },
+ "AS": {
+ "name": "Ameriki Samoa"
+ },
+ "AD": {
+ "name": "Andoora"
+ },
+ "AI": {
+ "name": "Angiiya"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua nda Barbuuda"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Armeeni"
+ },
+ "AW": {
+ "name": "Aruuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IS": {
+ "name": "Ayceland"
+ },
+ "AZ": {
+ "name": "Azerbaayijaŋ"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahareen"
+ },
+ "BD": {
+ "name": "Bangladeši"
+ },
+ "BB": {
+ "name": "Barbaados"
+ },
+ "BE": {
+ "name": "Belgiiki"
+ },
+ "BZ": {
+ "name": "Beliizi"
+ },
+ "BJ": {
+ "name": "Beniŋ"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Biloriši"
+ },
+ "BO": {
+ "name": "Boolivi"
+ },
+ "BA": {
+ "name": "Bosni nda Herzegovine"
+ },
+ "BW": {
+ "name": "Botswaana"
+ },
+ "BR": {
+ "name": "Breezil"
+ },
+ "IO": {
+ "name": "Britiši Indu teekoo laama"
+ },
+ "VG": {
+ "name": "Britiši Virgin gungey"
+ },
+ "BN": {
+ "name": "Bruunee"
+ },
+ "BG": {
+ "name": "Bulgaari"
+ },
+ "BF": {
+ "name": "Burkina faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Buutaŋ"
+ },
+ "TD": {
+ "name": "Caadu"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Cek labo"
+ },
+ "CF": {
+ "name": "Centraafriki koyra"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Doominiki"
+ },
+ "DO": {
+ "name": "Doominiki laboo"
+ },
+ "ET": {
+ "name": "Ecioopi"
+ },
+ "EC": {
+ "name": "Ekwateer"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "ES": {
+ "name": "Espaaɲe"
+ },
+ "EE": {
+ "name": "Estooni"
+ },
+ "FR": {
+ "name": "Faransi"
+ },
+ "GF": {
+ "name": "Faransi Guyaan"
+ },
+ "PF": {
+ "name": "Faransi Polineezi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlandu"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaabon"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bisso"
+ },
+ "GQ": {
+ "name": "Ginee Ekwatorial"
+ },
+ "GE": {
+ "name": "Gorgi"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GD": {
+ "name": "Grenaada"
+ },
+ "GL": {
+ "name": "Grinland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyaane"
+ },
+ "GP": {
+ "name": "Gwadeluup"
+ },
+ "GT": {
+ "name": "Gwatemaala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ZA": {
+ "name": "Hawsa Afriki Laboo"
+ },
+ "NL": {
+ "name": "Hollandu"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaari"
+ },
+ "ID": {
+ "name": "Indoneezi"
+ },
+ "IN": {
+ "name": "Indu laboo"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "RU": {
+ "name": "Iriši laboo"
+ },
+ "IE": {
+ "name": "Irlandu"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israyel"
+ },
+ "IT": {
+ "name": "Itaali"
+ },
+ "JP": {
+ "name": "Jaapoŋ"
+ },
+ "JM": {
+ "name": "Jamaayik"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuuti"
+ },
+ "NC": {
+ "name": "Kaaledooni Taagaa"
+ },
+ "KZ": {
+ "name": "Kaazakstan"
+ },
+ "FK": {
+ "name": "Kalkan gungey"
+ },
+ "KH": {
+ "name": "Kamboogi"
+ },
+ "CM": {
+ "name": "Kameruun"
+ },
+ "CA": {
+ "name": "Kanaada"
+ },
+ "CV": {
+ "name": "Kapuver gungey"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "KY": {
+ "name": "Kayman gungey"
+ },
+ "KE": {
+ "name": "Keeniya"
+ },
+ "KI": {
+ "name": "Kiribaati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "CG": {
+ "name": "Kongoo"
+ },
+ "CD": {
+ "name": "Kongoo demookaratiki laboo"
+ },
+ "KP": {
+ "name": "Kooree, Gurma"
+ },
+ "KR": {
+ "name": "Kooree, Hawsa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta rika"
+ },
+ "HR": {
+ "name": "Krwaasi"
+ },
+ "CI": {
+ "name": "Kudwar"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "CK": {
+ "name": "Kuuk gungey"
+ },
+ "KW": {
+ "name": "Kuweet"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "AE": {
+ "name": "Laaraw Imaarawey Margantey"
+ },
+ "LA": {
+ "name": "Laawos"
+ },
+ "LS": {
+ "name": "Leesoto"
+ },
+ "LV": {
+ "name": "Letooni"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LY": {
+ "name": "Liibi"
+ },
+ "LT": {
+ "name": "Lituaani"
+ },
+ "LB": {
+ "name": "Lubnaan"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Maacedooni"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MA": {
+ "name": "Maarok"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MV": {
+ "name": "Maldiivu"
+ },
+ "MY": {
+ "name": "Maleezi"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Mariana Gurma Gungey"
+ },
+ "MH": {
+ "name": "Maršal gungey"
+ },
+ "MQ": {
+ "name": "Martiniiki"
+ },
+ "MM": {
+ "name": "Maynamar"
+ },
+ "YT": {
+ "name": "Mayooti"
+ },
+ "MX": {
+ "name": "Mexiki"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "EG": {
+ "name": "Misra"
+ },
+ "MD": {
+ "name": "Moldovi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongooli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MU": {
+ "name": "Mooris gungey"
+ },
+ "MR": {
+ "name": "Mooritaani"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NG": {
+ "name": "Naajiriia"
+ },
+ "NA": {
+ "name": "Naamibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Neepal"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Nižer"
+ },
+ "NF": {
+ "name": "Norfolk Gungoo"
+ },
+ "NO": {
+ "name": "Norveej"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "AU": {
+ "name": "Ostraali"
+ },
+ "AT": {
+ "name": "Otriši"
+ },
+ "PK": {
+ "name": "Paakistan"
+ },
+ "PS": {
+ "name": "Palestine Dangay nda Gaaza"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ginee Taaga"
+ },
+ "PY": {
+ "name": "Paraguwey"
+ },
+ "PE": {
+ "name": "Peeru"
+ },
+ "PN": {
+ "name": "Pitikarin"
+ },
+ "PL": {
+ "name": "Poloɲe"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugaal"
+ },
+ "RE": {
+ "name": "Reenioŋ"
+ },
+ "RO": {
+ "name": "Rumaani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SV": {
+ "name": "Salvador laboo"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome nda Prinsipe"
+ },
+ "SA": {
+ "name": "Saudiya"
+ },
+ "SL": {
+ "name": "Seera Leon"
+ },
+ "SC": {
+ "name": "Seešel"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SH": {
+ "name": "Seŋ Helena"
+ },
+ "KN": {
+ "name": "Seŋ Kitts nda Nevis"
+ },
+ "LC": {
+ "name": "Seŋ Lussia"
+ },
+ "PM": {
+ "name": "Seŋ Piyer nda Mikelon"
+ },
+ "VC": {
+ "name": "Seŋvinsaŋ nda Grenadine"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CL": {
+ "name": "Å iili"
+ },
+ "CN": {
+ "name": "Å iin"
+ },
+ "CY": {
+ "name": "Å iipur"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaaki"
+ },
+ "SI": {
+ "name": "Sloveeni"
+ },
+ "SB": {
+ "name": "Solomon Gungey"
+ },
+ "SO": {
+ "name": "Somaali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srilanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinaam"
+ },
+ "SD": {
+ "name": "Suudaŋ"
+ },
+ "SY": {
+ "name": "Suuria"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweede"
+ },
+ "CH": {
+ "name": "Swisu"
+ },
+ "TH": {
+ "name": "Taayiland"
+ },
+ "TW": {
+ "name": "Taayiwan"
+ },
+ "TJ": {
+ "name": "Taažikistan"
+ },
+ "TZ": {
+ "name": "Tanzaani"
+ },
+ "TL": {
+ "name": "Timoor hawsa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad nda Tobaago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TC": {
+ "name": "Turk nda Kayikos Gungey"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistaŋ"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreen"
+ },
+ "JO": {
+ "name": "Urdun"
+ },
+ "UY": {
+ "name": "Uruguwey"
+ },
+ "UZ": {
+ "name": "Uzbeekistan"
+ },
+ "VA": {
+ "name": "Vaatikan Laama"
+ },
+ "VU": {
+ "name": "Vanautu"
+ },
+ "VE": {
+ "name": "Veneezuyeela"
+ },
+ "VN": {
+ "name": "Vietnaam"
+ },
+ "WF": {
+ "name": "Wallis nda Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zeelandu Taaga"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sg.json b/library/intl/resources/country/sg.json
new file mode 100644
index 000000000..799433b59
--- /dev/null
+++ b/library/intl/resources/country/sg.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albanïi"
+ },
+ "US": {
+ "name": "ÂLeaa-Ôko tî Amerika"
+ },
+ "DZ": {
+ "name": "Alzerïi"
+ },
+ "AD": {
+ "name": "Andôro"
+ },
+ "AO": {
+ "name": "Angoläa"
+ },
+ "AI": {
+ "name": "Angûîla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antîgua na Barbûda"
+ },
+ "AE": {
+ "name": "Arâbo Emirâti Ôko"
+ },
+ "AM": {
+ "name": "Armenïi"
+ },
+ "AW": {
+ "name": "Arûba"
+ },
+ "AR": {
+ "name": "Arzantîna"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "VG": {
+ "name": "Âzôâ Viîrîggo tî Anglëe"
+ },
+ "CK": {
+ "name": "âzûâ Kûku"
+ },
+ "MP": {
+ "name": "Âzûâ Märïâni tî Banga"
+ },
+ "MH": {
+ "name": "Âzûâ Märshâl"
+ },
+ "KY": {
+ "name": "Âzûâ Ngundë, Kaimäni"
+ },
+ "CV": {
+ "name": "Azûâ tî Kâpo-Vêre"
+ },
+ "FK": {
+ "name": "Âzûâ tî Mälüîni"
+ },
+ "TC": {
+ "name": "Âzûâ Turku na Kaîki"
+ },
+ "VI": {
+ "name": "Âzûâ Virîgo tî Amerîka"
+ },
+ "BS": {
+ "name": "Bahâmasa"
+ },
+ "BH": {
+ "name": "Bahrâina"
+ },
+ "BB": {
+ "name": "Barabâda"
+ },
+ "BY": {
+ "name": "Belarüsi"
+ },
+ "BE": {
+ "name": "Bêleze, Belezîki"
+ },
+ "BZ": {
+ "name": "Belîzi"
+ },
+ "BJ": {
+ "name": "Benëen"
+ },
+ "BD": {
+ "name": "Bengladêshi"
+ },
+ "BM": {
+ "name": "Beremûda"
+ },
+ "BO": {
+ "name": "Bolivïi"
+ },
+ "BA": {
+ "name": "Bosnïi na Herzegovînni"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brezîli"
+ },
+ "BN": {
+ "name": "Brunêi"
+ },
+ "BG": {
+ "name": "Bulugarïi"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundïi"
+ },
+ "BT": {
+ "name": "Butäan"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemêrke"
+ },
+ "DJ": {
+ "name": "Dibutùii"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dömïnîka"
+ },
+ "EC": {
+ "name": "Ekuatëre"
+ },
+ "IN": {
+ "name": "Ênnde"
+ },
+ "ID": {
+ "name": "Ênndonezïi"
+ },
+ "ER": {
+ "name": "Eritrëe"
+ },
+ "ES": {
+ "name": "Espânye"
+ },
+ "EE": {
+ "name": "Estonïi"
+ },
+ "ET": {
+ "name": "Etiopïi"
+ },
+ "AF": {
+ "name": "Faganïta, Afganïstäan"
+ },
+ "FR": {
+ "name": "Farânzi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FI": {
+ "name": "Fëlânde"
+ },
+ "FJ": {
+ "name": "Fidyïi"
+ },
+ "PH": {
+ "name": "Filipîni"
+ },
+ "NC": {
+ "name": "Finî Kaledonïi"
+ },
+ "NZ": {
+ "name": "Finî Zelânde"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaböon"
+ },
+ "GM": {
+ "name": "Gambïi"
+ },
+ "GH": {
+ "name": "Ganäa"
+ },
+ "GY": {
+ "name": "Gayâna"
+ },
+ "GR": {
+ "name": "Gerêsi"
+ },
+ "GN": {
+ "name": "Ginëe"
+ },
+ "GQ": {
+ "name": "Ginëe tî Ekuatëre"
+ },
+ "GW": {
+ "name": "Gninëe-Bisau"
+ },
+ "GL": {
+ "name": "Gorolânde"
+ },
+ "GD": {
+ "name": "Grenâda"
+ },
+ "GP": {
+ "name": "Guadelûpu"
+ },
+ "GU": {
+ "name": "Guâm"
+ },
+ "GT": {
+ "name": "Guatêmälä"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GF": {
+ "name": "Güyâni tî farânzi"
+ },
+ "HT": {
+ "name": "Haitïi"
+ },
+ "NL": {
+ "name": "Holände"
+ },
+ "HN": {
+ "name": "Honduräsi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hongirùii"
+ },
+ "IR": {
+ "name": "Iräan"
+ },
+ "IQ": {
+ "name": "Irâki"
+ },
+ "IE": {
+ "name": "Irlânde"
+ },
+ "IS": {
+ "name": "Islânde"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israëli"
+ },
+ "IT": {
+ "name": "Italùii"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kämbôzi"
+ },
+ "CM": {
+ "name": "Kamerûne"
+ },
+ "EG": {
+ "name": "Kâmitâ"
+ },
+ "CA": {
+ "name": "Kanadäa"
+ },
+ "QA": {
+ "name": "Katära"
+ },
+ "KZ": {
+ "name": "Kazakisitäan"
+ },
+ "KE": {
+ "name": "Kenyäa"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizitùaan"
+ },
+ "CI": {
+ "name": "Kôdivüära"
+ },
+ "GB": {
+ "name": "Ködörögbïä--Ôko"
+ },
+ "CF": {
+ "name": "Ködörösêse tî Bêafrîka"
+ },
+ "DO": {
+ "name": "Ködörösêse tî Dominîka"
+ },
+ "CD": {
+ "name": "Ködörösêse tî Ngunuhalëzo tî kongö"
+ },
+ "CZ": {
+ "name": "Ködörösêse tî Tyêki"
+ },
+ "CO": {
+ "name": "Kolombïi"
+ },
+ "KM": {
+ "name": "Kömôro"
+ },
+ "CG": {
+ "name": "Kongö"
+ },
+ "KP": {
+ "name": "Korëe tî Banga"
+ },
+ "KR": {
+ "name": "Korëe tî Mbongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kôsta Rîka"
+ },
+ "KW": {
+ "name": "Köwêti"
+ },
+ "HR": {
+ "name": "Kroasïi"
+ },
+ "CU": {
+ "name": "Kubäa"
+ },
+ "LS": {
+ "name": "Lesôtho"
+ },
+ "VA": {
+ "name": "Letëe tî Vatikäan"
+ },
+ "LV": {
+ "name": "Letonùii"
+ },
+ "LR": {
+ "name": "Liberïa"
+ },
+ "LY": {
+ "name": "Libïi"
+ },
+ "LB": {
+ "name": "Libùaan"
+ },
+ "LI": {
+ "name": "Liechtenstein,"
+ },
+ "LT": {
+ "name": "Lituanïi"
+ },
+ "LA": {
+ "name": "Lùaôsi"
+ },
+ "LU": {
+ "name": "Lugzambûru"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskära"
+ },
+ "MW": {
+ "name": "Malawïi"
+ },
+ "MV": {
+ "name": "Maldîva"
+ },
+ "MY": {
+ "name": "Malezïi"
+ },
+ "ML": {
+ "name": "Malïi"
+ },
+ "MT": {
+ "name": "Mâlta"
+ },
+ "MA": {
+ "name": "Marôko"
+ },
+ "MQ": {
+ "name": "Märtïnîki"
+ },
+ "MK": {
+ "name": "Maseduäni"
+ },
+ "YT": {
+ "name": "Mäyôte"
+ },
+ "ZA": {
+ "name": "Mbongo-Afrîka"
+ },
+ "MX": {
+ "name": "Mekisîki"
+ },
+ "FM": {
+ "name": "Mikronezïi"
+ },
+ "MD": {
+ "name": "Moldavùii"
+ },
+ "MC": {
+ "name": "Monaköo"
+ },
+ "MN": {
+ "name": "Mongolïi"
+ },
+ "MS": {
+ "name": "Monserâte"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MU": {
+ "name": "Mörîsi"
+ },
+ "MR": {
+ "name": "Moritanïi"
+ },
+ "MZ": {
+ "name": "Mözämbîka"
+ },
+ "MM": {
+ "name": "Myämâra"
+ },
+ "NA": {
+ "name": "Namibùii"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nëpâli"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Nizëre"
+ },
+ "NG": {
+ "name": "Nizerïa"
+ },
+ "NO": {
+ "name": "Nörvêzi"
+ },
+ "OM": {
+ "name": "Omâni"
+ },
+ "AU": {
+ "name": "Ostralïi, Sotralïi"
+ },
+ "AT": {
+ "name": "Otrîsi"
+ },
+ "PK": {
+ "name": "Pakistäan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papû Finî Ginëe, Papuazïi"
+ },
+ "PY": {
+ "name": "Paraguëe"
+ },
+ "PE": {
+ "name": "Perüu"
+ },
+ "PN": {
+ "name": "Pitikêrni"
+ },
+ "PF": {
+ "name": "Polinezïi tî farânzi"
+ },
+ "PL": {
+ "name": "Pölôni"
+ },
+ "PR": {
+ "name": "Porto Rîko"
+ },
+ "PT": {
+ "name": "Pörtugäle, Ködörö Pûra"
+ },
+ "RE": {
+ "name": "Reinïon"
+ },
+ "RW": {
+ "name": "Ruandäa"
+ },
+ "RO": {
+ "name": "Rumanïi"
+ },
+ "RU": {
+ "name": "Rusïi"
+ },
+ "SV": {
+ "name": "Salvadöro"
+ },
+ "AS": {
+ "name": "Samöa tî Amerîka"
+ },
+ "WS": {
+ "name": "Samoäa"
+ },
+ "ST": {
+ "name": "Sâô Tömê na Prinsîpe"
+ },
+ "SA": {
+ "name": "Saûdi Arabïi"
+ },
+ "KN": {
+ "name": "Sên-Krïstôfo-na-Nevîsi"
+ },
+ "SM": {
+ "name": "Sên-Marëen"
+ },
+ "PM": {
+ "name": "Sên-Pyêre na Mikelöon"
+ },
+ "VC": {
+ "name": "Sên-Vensäan na âGrenadîni"
+ },
+ "SN": {
+ "name": "Senegäle"
+ },
+ "SH": {
+ "name": "Sênt-Helêna"
+ },
+ "LC": {
+ "name": "Sênt-Lisïi"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "IO": {
+ "name": "Sêse tî Anglëe na Ngûyämä tî Ênnde"
+ },
+ "PS": {
+ "name": "Sêse tî Palestîni"
+ },
+ "SC": {
+ "name": "Sëyshêle"
+ },
+ "CL": {
+ "name": "Shilïi"
+ },
+ "CN": {
+ "name": "Shîna"
+ },
+ "SL": {
+ "name": "Sierä-Leône"
+ },
+ "SG": {
+ "name": "Sïngäpûru"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Sîpri"
+ },
+ "LK": {
+ "name": "Sirî-Lanka"
+ },
+ "SY": {
+ "name": "Sirïi"
+ },
+ "SK": {
+ "name": "Solovakïi"
+ },
+ "SI": {
+ "name": "Solovenïi"
+ },
+ "SO": {
+ "name": "Somalïi"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudäan"
+ },
+ "SS": {
+ "name": "Sudäan-Mbongo"
+ },
+ "SE": {
+ "name": "Suêde"
+ },
+ "CH": {
+ "name": "Sûîsi"
+ },
+ "SR": {
+ "name": "Surinäm"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swäzïlânde"
+ },
+ "TJ": {
+ "name": "Taazikiistäan"
+ },
+ "TH": {
+ "name": "Tailânde"
+ },
+ "TW": {
+ "name": "Tâiwâni"
+ },
+ "TZ": {
+ "name": "Tanzanïi"
+ },
+ "TL": {
+ "name": "Timôro tî Tö"
+ },
+ "TG": {
+ "name": "Togö"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinitùee na Tobagö"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizïi"
+ },
+ "TM": {
+ "name": "Turkumenistäan"
+ },
+ "TR": {
+ "name": "Turukïi"
+ },
+ "TV": {
+ "name": "Tüvalü"
+ },
+ "TD": {
+ "name": "Tyâde"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Ugandäa"
+ },
+ "UA": {
+ "name": "Ukrêni"
+ },
+ "UY": {
+ "name": "Uruguëe"
+ },
+ "UZ": {
+ "name": "Uzbekistäan"
+ },
+ "VU": {
+ "name": "Vanuatü"
+ },
+ "VE": {
+ "name": "Venezueläa"
+ },
+ "VN": {
+ "name": "Vietnäm"
+ },
+ "WF": {
+ "name": "Walîsi na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yëmêni"
+ },
+ "JM": {
+ "name": "Zamaîka"
+ },
+ "DE": {
+ "name": "Zâmani"
+ },
+ "ZM": {
+ "name": "Zambïi"
+ },
+ "JP": {
+ "name": "Zapöon"
+ },
+ "AZ": {
+ "name": "Zerebaidyäan, Azerbaidyäan,"
+ },
+ "GI": {
+ "name": "Zibraltära, Zibaratära"
+ },
+ "ZW": {
+ "name": "Zimbäbwe"
+ },
+ "JO": {
+ "name": "Zordanïi"
+ },
+ "GE": {
+ "name": "Zorzïi"
+ },
+ "NF": {
+ "name": "Zûâ Nôrfôlko"
+ },
+ "SB": {
+ "name": "Zûâ Salomöon"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/shi-Latn.json b/library/intl/resources/country/shi-Latn.json
new file mode 100644
index 000000000..278dedd11
--- /dev/null
+++ b/library/intl/resources/country/shi-Latn.json
@@ -0,0 +1,761 @@
+{
+ "AZ": {
+ "name": "adrabijan"
+ },
+ "GI": {
+ "name": "adrar n á¹­aá¹›iq"
+ },
+ "AF": {
+ "name": "afɣanistan"
+ },
+ "ZA": {
+ "name": "afriqya n iffus"
+ },
+ "PS": {
+ "name": "agmmaḠn tagut d ɣzza"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "albanya"
+ },
+ "DE": {
+ "name": "almanya"
+ },
+ "ID": {
+ "name": "andunisya"
+ },
+ "AD": {
+ "name": "andura"
+ },
+ "AI": {
+ "name": "angila"
+ },
+ "AO": {
+ "name": "angula"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "antiga d brbuda"
+ },
+ "AR": {
+ "name": "arjantin"
+ },
+ "AM": {
+ "name": "arminya"
+ },
+ "AW": {
+ "name": "aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "VA": {
+ "name": "awank n fatikan"
+ },
+ "PG": {
+ "name": "babwa ɣinya tamaynut"
+ },
+ "BS": {
+ "name": "bahamas"
+ },
+ "PK": {
+ "name": "bakistan"
+ },
+ "PW": {
+ "name": "balaw"
+ },
+ "PA": {
+ "name": "banama"
+ },
+ "BD": {
+ "name": "bangladic"
+ },
+ "PY": {
+ "name": "baragway"
+ },
+ "BB": {
+ "name": "barbad"
+ },
+ "BH": {
+ "name": "bḥrayn"
+ },
+ "BT": {
+ "name": "bhutan"
+ },
+ "BY": {
+ "name": "bilarusya"
+ },
+ "BZ": {
+ "name": "biliz"
+ },
+ "BJ": {
+ "name": "binin"
+ },
+ "PE": {
+ "name": "biru"
+ },
+ "PN": {
+ "name": "bitkayrn"
+ },
+ "BG": {
+ "name": "blɣara"
+ },
+ "BE": {
+ "name": "bljika"
+ },
+ "BR": {
+ "name": "brazil"
+ },
+ "BM": {
+ "name": "brmuda"
+ },
+ "PT": {
+ "name": "bṛṭqiz"
+ },
+ "BN": {
+ "name": "bruni"
+ },
+ "BO": {
+ "name": "bulibya"
+ },
+ "PF": {
+ "name": "bulinizya tafransist"
+ },
+ "PL": {
+ "name": "bulunya"
+ },
+ "BF": {
+ "name": "burkina fasu"
+ },
+ "PR": {
+ "name": "burtu riku"
+ },
+ "BI": {
+ "name": "burundi"
+ },
+ "BA": {
+ "name": "busna d hirsik"
+ },
+ "BW": {
+ "name": "butswana"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CL": {
+ "name": "ccili"
+ },
+ "CN": {
+ "name": "ccinwa"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "culumbya"
+ },
+ "KM": {
+ "name": "cumur"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "djibuti"
+ },
+ "DM": {
+ "name": "duminik"
+ },
+ "DZ": {
+ "name": "dzayr"
+ },
+ "OM": {
+ "name": "ɛuman"
+ },
+ "VU": {
+ "name": "fanwaá¹­u"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "fidji"
+ },
+ "PH": {
+ "name": "filibbin"
+ },
+ "FI": {
+ "name": "fillanda"
+ },
+ "VE": {
+ "name": "finzwila"
+ },
+ "VN": {
+ "name": "fitnam"
+ },
+ "FR": {
+ "name": "fransa"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "gabun"
+ },
+ "GM": {
+ "name": "gambya"
+ },
+ "GL": {
+ "name": "griland"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "gwadalub"
+ },
+ "GU": {
+ "name": "gwam"
+ },
+ "GT": {
+ "name": "gwatimala"
+ },
+ "GF": {
+ "name": "gwiyan tafransist"
+ },
+ "GY": {
+ "name": "gwiyana"
+ },
+ "GH": {
+ "name": "É£ana"
+ },
+ "GN": {
+ "name": "É£inya"
+ },
+ "GW": {
+ "name": "É£inya bisaw"
+ },
+ "GQ": {
+ "name": "É£inya n ikwadur"
+ },
+ "GD": {
+ "name": "É£rnaá¹­a"
+ },
+ "HT": {
+ "name": "hayti"
+ },
+ "HU": {
+ "name": "hnɣarya"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "NL": {
+ "name": "hulanda"
+ },
+ "HN": {
+ "name": "hunduras"
+ },
+ "EC": {
+ "name": "ikwadur"
+ },
+ "IR": {
+ "name": "iran"
+ },
+ "ER": {
+ "name": "iritirya"
+ },
+ "IE": {
+ "name": "irlanda"
+ },
+ "IS": {
+ "name": "island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "israyil"
+ },
+ "EE": {
+ "name": "istunya"
+ },
+ "IT": {
+ "name": "iá¹­alya"
+ },
+ "ET": {
+ "name": "ityubya"
+ },
+ "US": {
+ "name": "iwunak munnin n mirikan"
+ },
+ "JM": {
+ "name": "jamayka"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GE": {
+ "name": "jurjya"
+ },
+ "NC": {
+ "name": "kalidunya tamaynut"
+ },
+ "KH": {
+ "name": "kambudya"
+ },
+ "CM": {
+ "name": "kamirun"
+ },
+ "CA": {
+ "name": "kanada"
+ },
+ "KZ": {
+ "name": "kazaxstan"
+ },
+ "KE": {
+ "name": "kinya"
+ },
+ "KG": {
+ "name": "kirɣizistan"
+ },
+ "KI": {
+ "name": "kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "krwatya"
+ },
+ "CU": {
+ "name": "kuba"
+ },
+ "CG": {
+ "name": "kungu"
+ },
+ "KR": {
+ "name": "kurya n iffus"
+ },
+ "KP": {
+ "name": "kurya n iẓẓlmá¸"
+ },
+ "CR": {
+ "name": "kusta rika"
+ },
+ "CI": {
+ "name": "kut difwar"
+ },
+ "LV": {
+ "name": "latfya"
+ },
+ "LA": {
+ "name": "laws"
+ },
+ "IQ": {
+ "name": "lɛiraq"
+ },
+ "IN": {
+ "name": "lhind"
+ },
+ "LR": {
+ "name": "libirya"
+ },
+ "LY": {
+ "name": "libya"
+ },
+ "LI": {
+ "name": "likinctayn"
+ },
+ "AE": {
+ "name": "limarat"
+ },
+ "LS": {
+ "name": "liá¹£uá¹­u"
+ },
+ "LT": {
+ "name": "litwanya"
+ },
+ "KW": {
+ "name": "lkwit"
+ },
+ "MA": {
+ "name": "lmɣrib"
+ },
+ "LB": {
+ "name": "lubnan"
+ },
+ "LU": {
+ "name": "luksanburg"
+ },
+ "JO": {
+ "name": "lurdun"
+ },
+ "JP": {
+ "name": "lyaban"
+ },
+ "GR": {
+ "name": "lyunan"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "madaɣacqar"
+ },
+ "MW": {
+ "name": "malawi"
+ },
+ "MV": {
+ "name": "maldif"
+ },
+ "ML": {
+ "name": "mali"
+ },
+ "MY": {
+ "name": "malizya"
+ },
+ "MT": {
+ "name": "malá¹­a"
+ },
+ "MQ": {
+ "name": "martinik"
+ },
+ "MK": {
+ "name": "masidunya"
+ },
+ "YT": {
+ "name": "mayuá¹­"
+ },
+ "FM": {
+ "name": "mikrunizya"
+ },
+ "MX": {
+ "name": "miksik"
+ },
+ "EG": {
+ "name": "miṣṛ"
+ },
+ "MN": {
+ "name": "mnɣulya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MD": {
+ "name": "muldufya"
+ },
+ "MC": {
+ "name": "munaku"
+ },
+ "MS": {
+ "name": "munsirat"
+ },
+ "MU": {
+ "name": "muris"
+ },
+ "MR": {
+ "name": "muá¹›iá¹­anya"
+ },
+ "MZ": {
+ "name": "muznbiq"
+ },
+ "MM": {
+ "name": "myanmar"
+ },
+ "NA": {
+ "name": "namibya"
+ },
+ "NR": {
+ "name": "nawru"
+ },
+ "NP": {
+ "name": "nibal"
+ },
+ "NG": {
+ "name": "nijirya"
+ },
+ "NI": {
+ "name": "nikaragwa"
+ },
+ "NU": {
+ "name": "niwi"
+ },
+ "NE": {
+ "name": "nnijir"
+ },
+ "AT": {
+ "name": "nnmsa"
+ },
+ "NO": {
+ "name": "nnrwij"
+ },
+ "NZ": {
+ "name": "nyuzilanda"
+ },
+ "QA": {
+ "name": "qatar"
+ },
+ "CY": {
+ "name": "qubrus"
+ },
+ "RE": {
+ "name": "riyunyun"
+ },
+ "RO": {
+ "name": "rumanya"
+ },
+ "RU": {
+ "name": "rusya"
+ },
+ "RW": {
+ "name": "rwanda"
+ },
+ "SV": {
+ "name": "salfadur"
+ },
+ "WS": {
+ "name": "samwa"
+ },
+ "AS": {
+ "name": "samwa tamirikanit"
+ },
+ "PM": {
+ "name": "sanbyir d miklun"
+ },
+ "VC": {
+ "name": "sanfansan d grinadin"
+ },
+ "KN": {
+ "name": "sankris d nifis"
+ },
+ "SM": {
+ "name": "sanmarinu"
+ },
+ "SH": {
+ "name": "santilin"
+ },
+ "LC": {
+ "name": "santlusi"
+ },
+ "ST": {
+ "name": "sawá¹­umi d bransib"
+ },
+ "ES": {
+ "name": "sbanya"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "slufakya"
+ },
+ "SI": {
+ "name": "slufinya"
+ },
+ "SG": {
+ "name": "snɣafura"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "srilanka"
+ },
+ "SA": {
+ "name": "ssaɛudiya"
+ },
+ "SC": {
+ "name": "ssicil"
+ },
+ "SN": {
+ "name": "ssinigal"
+ },
+ "SL": {
+ "name": "ssiralyun"
+ },
+ "SD": {
+ "name": "ssudan"
+ },
+ "SO": {
+ "name": "ṣṣumal"
+ },
+ "SE": {
+ "name": "sswid"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "surinam"
+ },
+ "SY": {
+ "name": "surya"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "swazilanda"
+ },
+ "CH": {
+ "name": "swisra"
+ },
+ "TJ": {
+ "name": "tadjakistan"
+ },
+ "CD": {
+ "name": "tagdudant tadimukratit n Kongo"
+ },
+ "DO": {
+ "name": "tagdudant taduminikt"
+ },
+ "CF": {
+ "name": "tagdudant tanammast n ifriqya"
+ },
+ "CZ": {
+ "name": "tagdudant tatcikit"
+ },
+ "GB": {
+ "name": "tagldit imunn"
+ },
+ "IO": {
+ "name": "tamnaá¸t tanglizit n ugaru ahindi"
+ },
+ "TZ": {
+ "name": "ṭanẓanya"
+ },
+ "TH": {
+ "name": "á¹­ayland"
+ },
+ "TW": {
+ "name": "á¹­aywan"
+ },
+ "TD": {
+ "name": "tcad"
+ },
+ "CV": {
+ "name": "tigzirin n kabbirdi"
+ },
+ "KY": {
+ "name": "tigzirin n kayman"
+ },
+ "CK": {
+ "name": "tigzirin n kuk"
+ },
+ "FK": {
+ "name": "tigzirin n malawi"
+ },
+ "MH": {
+ "name": "tigzirin n marcal"
+ },
+ "MP": {
+ "name": "tigzirin n maryan n iẓẓlmá¸"
+ },
+ "NF": {
+ "name": "tigzirin n nurfulk"
+ },
+ "SB": {
+ "name": "tigzirin n saluman"
+ },
+ "TC": {
+ "name": "tigzirin n turkya d kayk"
+ },
+ "VI": {
+ "name": "tigzirin timgad n iwunak munnin"
+ },
+ "VG": {
+ "name": "tigzirin timgad n nngliz"
+ },
+ "TL": {
+ "name": "timur n lqblt"
+ },
+ "TT": {
+ "name": "trinidad d á¹­ubagu"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "tufalu"
+ },
+ "TG": {
+ "name": "á¹­ugu"
+ },
+ "TK": {
+ "name": "á¹­uklaw"
+ },
+ "TO": {
+ "name": "á¹­unga"
+ },
+ "TN": {
+ "name": "tuns"
+ },
+ "TM": {
+ "name": "turkmanstan"
+ },
+ "TR": {
+ "name": "turkya"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "uɣanda"
+ },
+ "UA": {
+ "name": "ukranya"
+ },
+ "UY": {
+ "name": "urugway"
+ },
+ "AU": {
+ "name": "ustralya"
+ },
+ "UZ": {
+ "name": "uzbakistan"
+ },
+ "WF": {
+ "name": "walis d futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "yaman"
+ },
+ "ZM": {
+ "name": "zambya"
+ },
+ "ZW": {
+ "name": "zimbabwi"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/shi.json b/library/intl/resources/country/shi.json
new file mode 100644
index 000000000..bfdd20b39
--- /dev/null
+++ b/library/intl/resources/country/shi.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "PS": {
+ "name": "ⴰⴳⵎⵎⴰⴹ ⵠⵜⴰⴳⵓⵜ ⴷ ⵖⵣⵣⴰ"
+ },
+ "AZ": {
+ "name": "ⴰⴷⵔⴰⴱⵉⵊⴰâµ"
+ },
+ "GI": {
+ "name": "ⴰⴷⵔⴰⵔ ⵠⵟⴰⵕⵉⵇ"
+ },
+ "ZA": {
+ "name": "ⴰⴼⵔⵉⵇⵢⴰ ⵠⵉⴼⴼⵓⵙ"
+ },
+ "AF": {
+ "name": "ⴰⴼⵖⴰâµâµ‰âµ™âµœâ´°âµ"
+ },
+ "AL": {
+ "name": "â´°âµâ´±â´°âµâµ¢â´°"
+ },
+ "DE": {
+ "name": "â´°âµâµŽâ´°âµâµ¢â´°"
+ },
+ "AI": {
+ "name": "â´°âµâ´³âµ‰âµâ´°"
+ },
+ "AO": {
+ "name": "â´°âµâ´³âµ“âµâ´°"
+ },
+ "ID": {
+ "name": "â´°âµâ´·âµ“âµâµ‰âµ™âµ¢â´°"
+ },
+ "AD": {
+ "name": "â´°âµâ´·âµ“ⵔⴰ"
+ },
+ "AG": {
+ "name": "â´°âµâµœâµ‰â´³â´° â´· ⴱⵔⴱⵓⴷⴰ"
+ },
+ "AR": {
+ "name": "ⴰⵔⵊⴰâµâµœâµ‰âµ"
+ },
+ "AM": {
+ "name": "ⴰⵔⵎⵉâµâµ¢â´°"
+ },
+ "AW": {
+ "name": "ⴰⵔⵓⴱⴰ"
+ },
+ "VA": {
+ "name": "ⴰⵡⴰâµâ´½ ⵠⴼⴰⵜⵉⴽⴰâµ"
+ },
+ "PG": {
+ "name": "ⴱⴰⴱⵡⴰ ⵖⵉâµâµ¢â´° ⵜⴰⵎⴰⵢâµâµ“ⵜ"
+ },
+ "PK": {
+ "name": "ⴱⴰⴽⵉⵙⵜⴰâµ"
+ },
+ "BS": {
+ "name": "ⴱⴰⵀⴰⵎⴰⵙ"
+ },
+ "PW": {
+ "name": "ⴱⴰâµâ´°âµ¡"
+ },
+ "PA": {
+ "name": "ⴱⴰâµâ´°âµŽâ´°"
+ },
+ "BD": {
+ "name": "ⴱⴰâµâ´³âµâ´°â´·âµ‰âµ›"
+ },
+ "PY": {
+ "name": "ⴱⴰⵔⴰⴳⵡⴰⵢ"
+ },
+ "BB": {
+ "name": "ⴱⴰⵔⴱⴰⴷ"
+ },
+ "BT": {
+ "name": "ⴱⵀⵓⵜⴰâµ"
+ },
+ "BH": {
+ "name": "ⴱⵃⵔⴰⵢâµ"
+ },
+ "BY": {
+ "name": "ⴱⵉâµâ´°âµ”ⵓⵙⵢⴰ"
+ },
+ "BZ": {
+ "name": "ⴱⵉâµâµ‰âµ£"
+ },
+ "BJ": {
+ "name": "ⴱⵉâµâµ‰âµ"
+ },
+ "PE": {
+ "name": "ⴱⵉⵔⵓ"
+ },
+ "PN": {
+ "name": "ⴱⵉⵜⴽⴰⵢⵔâµ"
+ },
+ "BE": {
+ "name": "â´±âµâµŠâµ‰â´½â´°"
+ },
+ "BG": {
+ "name": "â´±âµâµ–ⴰⵔⵢⴰ"
+ },
+ "BO": {
+ "name": "ⴱⵓâµâµ‰â´¼âµ¢â´°"
+ },
+ "PF": {
+ "name": "ⴱⵓâµâµ‰âµâµ‰âµ£âµ¢â´° ⵜⴰⴼⵔⴰâµâµ™âµ‰âµ™âµœ"
+ },
+ "PL": {
+ "name": "ⴱⵓâµâµ“âµâµ¢â´°"
+ },
+ "BF": {
+ "name": "ⴱⵓⵔⴽⵉâµâ´° ⴼⴰⵙⵓ"
+ },
+ "BI": {
+ "name": "ⴱⵓⵔⵓâµâ´·âµ‰"
+ },
+ "PR": {
+ "name": "ⴱⵓⵔⵜⵓ ⵔⵉⴽⵓ"
+ },
+ "BA": {
+ "name": "ⴱⵓⵙâµâ´° â´· ⵀⵉⵔⵙⵉⴽ"
+ },
+ "BW": {
+ "name": "ⴱⵓⵜⵙⵡⴰâµâ´°"
+ },
+ "BR": {
+ "name": "ⴱⵔⴰⵣⵉâµ"
+ },
+ "BM": {
+ "name": "ⴱⵔⵎⵓⴷⴰ"
+ },
+ "BN": {
+ "name": "ⴱⵔⵓâµâµ‰"
+ },
+ "PT": {
+ "name": "ⴱⵕⵟⵇⵉⵣ"
+ },
+ "GA": {
+ "name": "ⴳⴰⴱⵓâµ"
+ },
+ "GM": {
+ "name": "ⴳⴰⵎⴱⵢⴰ"
+ },
+ "GL": {
+ "name": "ⴳⵔⵉâµâ´°âµâ´·"
+ },
+ "GP": {
+ "name": "ⴳⵡⴰⴷⴰâµâµ“â´±"
+ },
+ "GU": {
+ "name": "ⴳⵡⴰⵎ"
+ },
+ "GT": {
+ "name": "ⴳⵡⴰⵜⵉⵎⴰâµâ´°"
+ },
+ "GF": {
+ "name": "ⴳⵡⵉⵢⴰⵠⵜⴰⴼⵔⴰâµâµ™âµ‰âµ™âµœ"
+ },
+ "GY": {
+ "name": "ⴳⵡⵉⵢⴰâµâ´°"
+ },
+ "DK": {
+ "name": "â´·â´°âµâµŽâ´°âµ”â´½"
+ },
+ "DJ": {
+ "name": "ⴷⵊⵉⴱⵓⵜⵉ"
+ },
+ "DM": {
+ "name": "ⴷⵓⵎⵉâµâµ‰â´½"
+ },
+ "DZ": {
+ "name": "ⴷⵣⴰⵢⵔ"
+ },
+ "VU": {
+ "name": "ⴼⴰâµâµ¡â´°âµŸâµ“"
+ },
+ "FJ": {
+ "name": "ⴼⵉⴷⵊⵉ"
+ },
+ "PH": {
+ "name": "ⴼⵉâµâµ‰â´±â´±âµ‰âµ"
+ },
+ "FI": {
+ "name": "ⴼⵉâµâµâ´°âµâ´·â´°"
+ },
+ "VE": {
+ "name": "ⴼⵉâµâµ£âµ¡âµ‰âµâ´°"
+ },
+ "VN": {
+ "name": "ⴼⵉⵜâµâ´°âµŽ"
+ },
+ "FR": {
+ "name": "ⴼⵔⴰâµâµ™â´°"
+ },
+ "NC": {
+ "name": "ⴽⴰâµâµ‰â´·âµ“âµâµ¢â´° ⵜⴰⵎⴰⵢâµâµ“ⵜ"
+ },
+ "KH": {
+ "name": "ⴽⴰⵎⴱⵓⴷⵢⴰ"
+ },
+ "CM": {
+ "name": "ⴽⴰⵎⵉⵔⵓâµ"
+ },
+ "CA": {
+ "name": "ⴽⴰâµâ´°â´·â´°"
+ },
+ "KZ": {
+ "name": "ⴽⴰⵣⴰⵅⵙⵜⴰâµ"
+ },
+ "KE": {
+ "name": "ⴽⵉâµâµ¢â´°"
+ },
+ "KI": {
+ "name": "ⴽⵉⵔⵉⴱⴰⵜⵉ"
+ },
+ "KG": {
+ "name": "ⴽⵉⵔⵖⵉⵣⵉⵙⵜⴰâµ"
+ },
+ "CU": {
+ "name": "ⴽⵓⴱⴰ"
+ },
+ "CO": {
+ "name": "ⴽⵓâµâµ“ⵎⴱⵢⴰ"
+ },
+ "CG": {
+ "name": "ⴽⵓâµâ´³âµ“"
+ },
+ "KR": {
+ "name": "ⴽⵓⵔⵢⴰ ⵠⵉⴼⴼⵓⵙ"
+ },
+ "KP": {
+ "name": "ⴽⵓⵔⵢⴰ ⵠⵉⵥⵥâµâµŽâ´¹"
+ },
+ "CR": {
+ "name": "ⴽⵓⵙⵜⴰ ⵔⵉⴽⴰ"
+ },
+ "CI": {
+ "name": "ⴽⵓⵜ ⴷⵉⴼⵡⴰⵔ"
+ },
+ "HR": {
+ "name": "ⴽⵔⵡⴰⵜⵢⴰ"
+ },
+ "HT": {
+ "name": "ⵀⴰⵢⵜⵉ"
+ },
+ "HU": {
+ "name": "âµ€âµâµ–ⴰⵔⵢⴰ"
+ },
+ "NL": {
+ "name": "ⵀⵓâµâ´°âµâ´·â´°"
+ },
+ "HN": {
+ "name": "ⵀⵓâµâ´·âµ“ⵔⴰⵙ"
+ },
+ "OM": {
+ "name": "ⵄⵓⵎⴰâµ"
+ },
+ "QA": {
+ "name": "ⵇⴰⵜⴰⵔ"
+ },
+ "CY": {
+ "name": "ⵇⵓⴱⵔⵓⵙ"
+ },
+ "KM": {
+ "name": "ⵇⵓⵎⵓⵔ"
+ },
+ "EC": {
+ "name": "ⵉⴽⵡⴰⴷⵓⵔ"
+ },
+ "IR": {
+ "name": "ⵉⵔⴰâµ"
+ },
+ "ER": {
+ "name": "ⵉⵔⵉⵜⵉⵔⵢⴰ"
+ },
+ "IE": {
+ "name": "ⵉⵔâµâ´°âµâ´·â´°"
+ },
+ "IS": {
+ "name": "ⵉⵙâµâ´°âµâ´·"
+ },
+ "IL": {
+ "name": "ⵉⵙⵔⴰⵢⵉâµ"
+ },
+ "EE": {
+ "name": "ⵉⵙⵜⵓâµâµ¢â´°"
+ },
+ "ET": {
+ "name": "ⵉⵜⵢⵓⴱⵢⴰ"
+ },
+ "IT": {
+ "name": "ⵉⵟⴰâµâµ¢â´°"
+ },
+ "US": {
+ "name": "ⵉⵡⵓâµâ´°â´½ ⵎⵓâµâµâµ‰âµ ⵠⵎⵉⵔⵉⴽⴰâµ"
+ },
+ "JM": {
+ "name": "ⵊⴰⵎⴰⵢⴽⴰ"
+ },
+ "GE": {
+ "name": "ⵊⵓⵔⵊⵢⴰ"
+ },
+ "LV": {
+ "name": "âµâ´°âµœâ´¼âµ¢â´°"
+ },
+ "LA": {
+ "name": "âµâ´°âµ¡âµ™"
+ },
+ "KW": {
+ "name": "âµâ´½âµ¡âµ‰âµœ"
+ },
+ "IN": {
+ "name": "âµâµ€âµ‰âµâ´·"
+ },
+ "IQ": {
+ "name": "âµâµ„ⵉⵔⴰⵇ"
+ },
+ "LR": {
+ "name": "âµâµ‰â´±âµ‰âµ”ⵢⴰ"
+ },
+ "LY": {
+ "name": "âµâµ‰â´±âµ¢â´°"
+ },
+ "LI": {
+ "name": "âµâµ‰â´½âµ‰âµâµ›âµœâ´°âµ¢âµ"
+ },
+ "AE": {
+ "name": "âµâµ‰âµŽâ´°âµ”ⴰⵜ"
+ },
+ "LS": {
+ "name": "âµâµ‰âµšâµ“ⵟⵓ"
+ },
+ "LT": {
+ "name": "âµâµ‰âµœâµ¡â´°âµâµ¢â´°"
+ },
+ "MA": {
+ "name": "âµâµŽâµ–ⵔⵉⴱ"
+ },
+ "LB": {
+ "name": "âµâµ“â´±âµâ´°âµ"
+ },
+ "LU": {
+ "name": "âµâµ“ⴽⵙⴰâµâ´±âµ“ⵔⴳ"
+ },
+ "JO": {
+ "name": "âµâµ“ⵔⴷⵓâµ"
+ },
+ "JP": {
+ "name": "âµâµ¢â´°â´±â´°âµ"
+ },
+ "GR": {
+ "name": "âµâµ¢âµ“âµâ´°âµ"
+ },
+ "MG": {
+ "name": "ⵎⴰⴷⴰⵖⴰⵛⵇⴰⵔ"
+ },
+ "MW": {
+ "name": "ⵎⴰâµâ´°âµ¡âµ‰"
+ },
+ "MV": {
+ "name": "ⵎⴰâµâ´·âµ‰â´¼"
+ },
+ "ML": {
+ "name": "ⵎⴰâµâµ‰"
+ },
+ "MY": {
+ "name": "ⵎⴰâµâµ‰âµ£âµ¢â´°"
+ },
+ "MT": {
+ "name": "ⵎⴰâµâµŸâ´°"
+ },
+ "MQ": {
+ "name": "ⵎⴰⵔⵜⵉâµâµ‰â´½"
+ },
+ "MK": {
+ "name": "ⵎⴰⵙⵉⴷⵓâµâµ¢â´°"
+ },
+ "YT": {
+ "name": "ⵎⴰⵢⵓⵟ"
+ },
+ "FM": {
+ "name": "ⵎⵉⴽⵔⵓâµâµ‰âµ£âµ¢â´°"
+ },
+ "MX": {
+ "name": "ⵎⵉⴽⵙⵉⴽ"
+ },
+ "EG": {
+ "name": "ⵎⵉⵚⵕ"
+ },
+ "MN": {
+ "name": "ⵎâµâµ–ⵓâµâµ¢â´°"
+ },
+ "MD": {
+ "name": "ⵎⵓâµâ´·âµ“ⴼⵢⴰ"
+ },
+ "MC": {
+ "name": "ⵎⵓâµâ´°â´½âµ“"
+ },
+ "MS": {
+ "name": "ⵎⵓâµâµ™âµ‰âµ”ⴰⵜ"
+ },
+ "MU": {
+ "name": "ⵎⵓⵔⵉⵙ"
+ },
+ "MR": {
+ "name": "ⵎⵓⵕⵉⵟⴰâµâµ¢â´°"
+ },
+ "MZ": {
+ "name": "ⵎⵓⵣâµâ´±âµ‰âµ‡"
+ },
+ "MM": {
+ "name": "ⵎⵢⴰâµâµŽâ´°âµ”"
+ },
+ "NA": {
+ "name": "âµâ´°âµŽâµ‰â´±âµ¢â´°"
+ },
+ "NR": {
+ "name": "âµâ´°âµ¡âµ”ⵓ"
+ },
+ "NP": {
+ "name": "âµâµ‰â´±â´°âµ"
+ },
+ "NI": {
+ "name": "âµâµ‰â´½â´°âµ”ⴰⴳⵡⴰ"
+ },
+ "NG": {
+ "name": "âµâµ‰âµŠâµ‰âµ”ⵢⴰ"
+ },
+ "NU": {
+ "name": "âµâµ‰âµ¡âµ‰"
+ },
+ "NE": {
+ "name": "âµâµâµ‰âµŠâµ‰âµ”"
+ },
+ "AT": {
+ "name": "âµâµâµŽâµ™â´°"
+ },
+ "NO": {
+ "name": "âµâµâµ”ⵡⵉⵊ"
+ },
+ "NZ": {
+ "name": "âµâµ¢âµ“ⵣⵉâµâ´°âµâ´·â´°"
+ },
+ "UA": {
+ "name": "ⵓⴽⵔⴰâµâµ¢â´°"
+ },
+ "UY": {
+ "name": "ⵓⵔⵓⴳⵡⴰⵢ"
+ },
+ "UG": {
+ "name": "ⵓⵖⴰâµâ´·â´°"
+ },
+ "AU": {
+ "name": "ⵓⵙⵜⵔⴰâµâµ¢â´°"
+ },
+ "UZ": {
+ "name": "ⵓⵣⴱⴰⴽⵉⵙⵜⴰâµ"
+ },
+ "RE": {
+ "name": "ⵔⵉⵢⵓâµâµ¢âµ“âµ"
+ },
+ "RO": {
+ "name": "ⵔⵓⵎⴰâµâµ¢â´°"
+ },
+ "RU": {
+ "name": "ⵔⵓⵙⵢⴰ"
+ },
+ "RW": {
+ "name": "ⵔⵡⴰâµâ´·â´°"
+ },
+ "GH": {
+ "name": "âµ–â´°âµâ´°"
+ },
+ "GN": {
+ "name": "ⵖⵉâµâµ¢â´°"
+ },
+ "GW": {
+ "name": "ⵖⵉâµâµ¢â´° ⴱⵉⵙⴰⵡ"
+ },
+ "GQ": {
+ "name": "ⵖⵉâµâµ¢â´° ⵠⵉⴽⵡⴰⴷⵓⵔ"
+ },
+ "GD": {
+ "name": "âµ–âµ”âµâ´°âµŸâ´°"
+ },
+ "SV": {
+ "name": "ⵙⴰâµâ´¼â´°â´·âµ“âµ”"
+ },
+ "WS": {
+ "name": "ⵙⴰⵎⵡⴰ"
+ },
+ "AS": {
+ "name": "ⵙⴰⵎⵡⴰ ⵜⴰⵎⵉⵔⵉⴽⴰâµâµ‰âµœ"
+ },
+ "PM": {
+ "name": "ⵙⴰâµâ´±âµ¢âµ‰âµ” â´· ⵎⵉⴽâµâµ“âµ"
+ },
+ "VC": {
+ "name": "ⵙⴰâµâ´¼â´°âµâµ™â´°âµ â´· ⴳⵔⵉâµâ´°â´·âµ‰âµ"
+ },
+ "KN": {
+ "name": "ⵙⴰâµâ´½âµ”ⵉⵙ â´· âµâµ‰â´¼âµ‰âµ™"
+ },
+ "SM": {
+ "name": "ⵙⴰâµâµŽâ´°âµ”ⵉâµâµ“"
+ },
+ "SH": {
+ "name": "ⵙⴰâµâµœâµ‰âµâµ‰âµ"
+ },
+ "LC": {
+ "name": "ⵙⴰâµâµœâµâµ“ⵙⵉ"
+ },
+ "ST": {
+ "name": "ⵙⴰⵡⵟⵓⵎⵉ â´· ⴱⵔⴰâµâµ™âµ‰â´±"
+ },
+ "ES": {
+ "name": "ⵙⴱⴰâµâµ¢â´°"
+ },
+ "SK": {
+ "name": "âµ™âµâµ“ⴼⴰⴽⵢⴰ"
+ },
+ "SI": {
+ "name": "âµ™âµâµ“ⴼⵉâµâµ¢â´°"
+ },
+ "SG": {
+ "name": "âµ™âµâµ–ⴰⴼⵓⵔⴰ"
+ },
+ "SR": {
+ "name": "ⵙⵓⵔⵉâµâ´°âµŽ"
+ },
+ "SY": {
+ "name": "ⵙⵓⵔⵢⴰ"
+ },
+ "LK": {
+ "name": "ⵙⵔⵉâµâ´°âµâ´½â´°"
+ },
+ "SA": {
+ "name": "ⵙⵙⴰⵄⵓⴷⵉⵢⴰ"
+ },
+ "SN": {
+ "name": "ⵙⵙⵉâµâµ‰â´³â´°âµ"
+ },
+ "SL": {
+ "name": "ⵙⵙⵉⵔⴰâµâµ¢âµ“âµ"
+ },
+ "SC": {
+ "name": "ⵙⵙⵉⵛⵉâµ"
+ },
+ "SD": {
+ "name": "ⵙⵙⵓⴷⴰâµ"
+ },
+ "SE": {
+ "name": "ⵙⵙⵡⵉⴷ"
+ },
+ "SZ": {
+ "name": "ⵙⵡⴰⵣⵉâµâ´°âµâ´·â´°"
+ },
+ "CH": {
+ "name": "ⵙⵡⵉⵙⵔⴰ"
+ },
+ "SO": {
+ "name": "ⵚⵚⵓⵎⴰâµ"
+ },
+ "CL": {
+ "name": "ⵛⵛⵉâµâµ‰"
+ },
+ "CN": {
+ "name": "ⵛⵛⵉâµâµ¡â´°"
+ },
+ "CD": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰâµâµœ ⵜⴰⴷⵉⵎⵓⵇⵔⴰⵜⵉⵜ ⵠⴽⵓâµâ´³âµ“"
+ },
+ "DO": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰâµâµœ ⵜⴰⴷⵓⵎⵉâµâµ‰â´½âµœ"
+ },
+ "CF": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰâµâµœ ⵜⴰâµâ´°âµŽâµŽâ´°âµ™âµœ ⵠⵉⴼⵔⵉⵇⵢⴰ"
+ },
+ "CZ": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰâµâµœ ⵜⴰⵜⵛⵉⴽⵉⵜ"
+ },
+ "GB": {
+ "name": "ⵜⴰⴳâµâ´·âµ‰âµœ ⵉⵎⵓâµâµ"
+ },
+ "TJ": {
+ "name": "ⵜⴰⴷⵊⴰⴽⵉⵙⵜⴰâµ"
+ },
+ "IO": {
+ "name": "ⵜⴰⵎâµâ´°â´¹âµœ ⵜⴰâµâ´³âµâµ‰âµ£âµ‰âµœ ⵠⵓⴳⴰⵔⵓ ⴰⵀⵉâµâ´·âµ‰"
+ },
+ "CV": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⴽⴰⴱⴱⵉⵔⴷⵉ"
+ },
+ "KY": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⴽⴰⵢⵎⴰâµ"
+ },
+ "CK": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⴽⵓⴽ"
+ },
+ "FK": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⵎⴰâµâ´°âµ¡âµ‰"
+ },
+ "MH": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⵎⴰⵔⵛⴰâµ"
+ },
+ "MP": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⵎⴰⵔⵢⴰⵠⵠⵉⵥⵥâµâµŽâ´¹"
+ },
+ "NF": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠâµâµ“ⵔⴼⵓâµâ´½"
+ },
+ "SB": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⵙⴰâµâµ“ⵎⴰâµ"
+ },
+ "TC": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⵜⵓⵔⴽⵢⴰ ⴷ ⴽⴰⵢⴽ"
+ },
+ "VI": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵜⵉⵎⴳⴰⴷ ⵠⵉⵡⵓâµâ´°â´½ ⵎⵓâµâµâµ‰âµ"
+ },
+ "VG": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵜⵉⵎⴳⴰⴷ âµ âµâµâ´³âµâµ‰âµ£"
+ },
+ "TL": {
+ "name": "ⵜⵉⵎⵓⵔ âµ âµâµ‡â´±âµâµœ"
+ },
+ "TV": {
+ "name": "ⵜⵓⴼⴰâµâµ“"
+ },
+ "TN": {
+ "name": "ⵜⵓâµâµ™"
+ },
+ "TM": {
+ "name": "ⵜⵓⵔⴽⵎⴰâµâµ™âµœâ´°âµ"
+ },
+ "TR": {
+ "name": "ⵜⵓⵔⴽⵢⴰ"
+ },
+ "TT": {
+ "name": "ⵜⵔⵉâµâµ‰â´·â´°â´· â´· ⵟⵓⴱⴰⴳⵓ"
+ },
+ "TD": {
+ "name": "ⵜⵛⴰⴷ"
+ },
+ "TZ": {
+ "name": "ⵟⴰâµâµ¥â´°âµâµ¢â´°"
+ },
+ "TH": {
+ "name": "ⵟⴰⵢâµâ´°âµâ´·"
+ },
+ "TW": {
+ "name": "ⵟⴰⵢⵡⴰâµ"
+ },
+ "TG": {
+ "name": "ⵟⵓⴳⵓ"
+ },
+ "TK": {
+ "name": "ⵟⵓⴽâµâ´°âµ¡"
+ },
+ "TO": {
+ "name": "ⵟⵓâµâ´³â´°"
+ },
+ "WF": {
+ "name": "ⵡⴰâµâµ‰âµ™ â´· ⴼⵓⵜⵓâµâ´°"
+ },
+ "YE": {
+ "name": "ⵢⴰⵎⴰâµ"
+ },
+ "ZM": {
+ "name": "ⵣⴰⵎⴱⵢⴰ"
+ },
+ "ZW": {
+ "name": "ⵣⵉⵎⴱⴰⴱⵡⵉ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/si.json b/library/intl/resources/country/si.json
new file mode 100644
index 000000000..d6fad340f
--- /dev/null
+++ b/library/intl/resources/country/si.json
@@ -0,0 +1,761 @@
+{
+ "IE": {
+ "name": "අයර්ලන්තය"
+ },
+ "IM": {
+ "name": "අයිල් ඔෆ් මෑන්"
+ },
+ "IS": {
+ "name": "අයිස්ලන්තය"
+ },
+ "AW": {
+ "name": "අරුබà·à·€"
+ },
+ "AZ": {
+ "name": "අසර්බයිජà·à¶±à¶º"
+ },
+ "AR": {
+ "name": "ආර්ජෙන්ටිනà·à·€"
+ },
+ "AM": {
+ "name": "ආර්මේනියà·à·€"
+ },
+ "AI": {
+ "name": "ඇන්ගුයිලà·à·€"
+ },
+ "AO": {
+ "name": "ඇන්ගà·à¶½à·à·€"
+ },
+ "AQ": {
+ "name": "ඇන්ටà·à¶šà·Šà¶§à·’කà·à·€"
+ },
+ "AG": {
+ "name": "ඇන්ටිගුව෠සහ බà·à¶¶à·’යුඩà·à·€"
+ },
+ "AD": {
+ "name": "ඇන්ඩà·à¶»à·à·€"
+ },
+ "VI": {
+ "name": "ඇමරිකà·à¶±à·” වර්ජින් දූපත්"
+ },
+ "AS": {
+ "name": "ඇමරිකà·à¶±à·” à·ƒà·à¶¸à·à·€à·à·€"
+ },
+ "DZ": {
+ "name": "ඇල්ජීරියà·à·€"
+ },
+ "AL": {
+ "name": "ඇල්බේනියà·à·€"
+ },
+ "AC": {
+ "name": "ඇසෙන්ෂන් දිවයින"
+ },
+ "AF": {
+ "name": "ඇෆ්ගනිස්ථà·à¶±à¶º"
+ },
+ "EC": {
+ "name": "ඉක්වදà·à¶»à¶º"
+ },
+ "IT": {
+ "name": "ඉතà·à¶½à·’ය"
+ },
+ "ET": {
+ "name": "ඉතියà·à¶´à·’යà·à·€"
+ },
+ "IN": {
+ "name": "ඉන්දියà·à·€"
+ },
+ "ID": {
+ "name": "ඉන්දුනීසියà·à·€"
+ },
+ "IQ": {
+ "name": "ඉරà·à¶šà¶º"
+ },
+ "IR": {
+ "name": "ඉරà·à¶±à¶º"
+ },
+ "EG": {
+ "name": "ඊජිප්තුව"
+ },
+ "IL": {
+ "name": "ඊà·à·Šâ€à¶»à·à¶ºà¶½à¶º"
+ },
+ "UG": {
+ "name": "උගන්ඩà·à·€"
+ },
+ "KP": {
+ "name": "උතුරු කොරියà·à·€"
+ },
+ "MP": {
+ "name": "උතුරු මරියà·à¶±à· දූපත්"
+ },
+ "UY": {
+ "name": "උරුගුවේ"
+ },
+ "UZ": {
+ "name": "උස්බෙකිස්ථà·à¶±à¶º"
+ },
+ "AE": {
+ "name": "එක්සත් අරà·à¶¶à·’ එමිර් රà·à¶¢à·Šâ€à¶ºà¶º"
+ },
+ "UM": {
+ "name": "එක්සත් ජනපද ඈත දූපත්"
+ },
+ "US": {
+ "name": "එක්සත් ජනපදය"
+ },
+ "GB": {
+ "name": "එක්සත් රà·à¶¢à¶°à·à¶±à·’ය"
+ },
+ "ER": {
+ "name": "එරිත්â€à¶»à·’යà·à·€"
+ },
+ "SV": {
+ "name": "එල් à·ƒà·à¶½à·Šà·€à¶¯à·à¶»à¶º"
+ },
+ "EE": {
+ "name": "එස්තà·à¶±à·’යà·à·€"
+ },
+ "AT": {
+ "name": "ඔස්ට්â€à¶»à·’යà·à·€"
+ },
+ "OM": {
+ "name": "ඕමà·à¶±à¶º"
+ },
+ "AX": {
+ "name": "ඕලන්ඩ් දූපත්"
+ },
+ "AU": {
+ "name": "ඕස්ට්â€à¶»à·šà¶½à·’යà·à·€"
+ },
+ "QA": {
+ "name": "කටà·à¶»à·Š"
+ },
+ "KZ": {
+ "name": "කසකස්තà·à¶±à¶º"
+ },
+ "KH": {
+ "name": "කà·à¶¸à·Šà¶¶à·à¶¢à¶º"
+ },
+ "CA": {
+ "name": "කà·à¶±à¶©à·à·€"
+ },
+ "IC": {
+ "name": "කà·à¶±à¶»à·’ සූපත්"
+ },
+ "CM": {
+ "name": "කà·à¶¸à¶»à·–න්"
+ },
+ "BQ": {
+ "name": "කà·à¶»à·’බියà·à¶±à·” නෙදර්ලන්තය"
+ },
+ "CU": {
+ "name": "කියුබà·à·€"
+ },
+ "KI": {
+ "name": "කිරිබති"
+ },
+ "KG": {
+ "name": "කිර්ගිස්තà·à¶±à¶º"
+ },
+ "CK": {
+ "name": "කුක් දූපත්"
+ },
+ "CW": {
+ "name": "කුරකà·à·€à·"
+ },
+ "KW": {
+ "name": "කුවේටය"
+ },
+ "KE": {
+ "name": "කෙන්යà·à·€"
+ },
+ "CV": {
+ "name": "කේප් වර්ඩ්"
+ },
+ "KY": {
+ "name": "කේමන් දූපත්"
+ },
+ "CD": {
+ "name": "කොංගො - කින්à·à·à·ƒà·"
+ },
+ "CG": {
+ "name": "කොංගො - බ්â€à¶»à·ƒà·à·€à·’ල්"
+ },
+ "CC": {
+ "name": "කොකà·à·ƒà·Š දූපත්"
+ },
+ "KM": {
+ "name": "කොමොරà·à·ƒà·Š"
+ },
+ "XK": {
+ "name": "කොසà·à·€à·"
+ },
+ "CR": {
+ "name": "කොස්ටරිකà·à·€"
+ },
+ "CO": {
+ "name": "කොළොම්බියà·à·€"
+ },
+ "CI": {
+ "name": "කà·à¶§à·Š දි අයිවරි"
+ },
+ "CX": {
+ "name": "ක්â€à¶»à·’ස්මස් දූපත"
+ },
+ "HR": {
+ "name": "ක්â€à¶»à·œà¶’ෂියà·à·€"
+ },
+ "GY": {
+ "name": "ගයනà·à·€"
+ },
+ "GG": {
+ "name": "ගර්න්සිය"
+ },
+ "GA": {
+ "name": "ගà·à¶¶à·œà¶±à·Š"
+ },
+ "GM": {
+ "name": "ගà·à¶¸à·Šà¶¶à·’යà·à·€"
+ },
+ "GN": {
+ "name": "ගිණියà·à·€"
+ },
+ "GW": {
+ "name": "ගිනි බිසව්"
+ },
+ "GU": {
+ "name": "ගුවà·à¶¸à·Š"
+ },
+ "GT": {
+ "name": "ගà·à¶­à¶¸à·à¶½à·à·€"
+ },
+ "GD": {
+ "name": "ග්â€à¶»à·à¶±à¶©à·à·€"
+ },
+ "GL": {
+ "name": "ග්â€à¶»à·“න්ලන්තය"
+ },
+ "GR": {
+ "name": "ග්â€à¶»à·“සිය"
+ },
+ "GP": {
+ "name": "ග්වà·à¶©à¶½à·à¶´à·Š"
+ },
+ "GH": {
+ "name": "à¶à·à¶±à·à·€"
+ },
+ "TD": {
+ "name": "චà·à¶ à·Š"
+ },
+ "CL": {
+ "name": "චිලී"
+ },
+ "CN": {
+ "name": "චීනය"
+ },
+ "CZ": {
+ "name": "චෙක් ජනරජය"
+ },
+ "JP": {
+ "name": "ජපà·à¶±à¶º"
+ },
+ "DE": {
+ "name": "ජර්මනිය"
+ },
+ "JE": {
+ "name": "ජර්සි"
+ },
+ "JM": {
+ "name": "ජà·à¶¸à·™à¶ºà·’කà·à·€"
+ },
+ "DJ": {
+ "name": "ජිබුටි"
+ },
+ "GI": {
+ "name": "ජිබ්â€à¶»à·à¶½à·Šà¶§à·à·€"
+ },
+ "GE": {
+ "name": "ජà·à¶»à·Šà¶¢à·’යà·à·€"
+ },
+ "JO": {
+ "name": "ජà·à¶»à·Šà¶¯à·à¶±à¶º"
+ },
+ "TJ": {
+ "name": "ටජිකිස්තà·à¶±à¶º"
+ },
+ "TM": {
+ "name": "ටර්ක්මෙනිස්ථà·à¶±à¶º"
+ },
+ "TC": {
+ "name": "ටර්ක්ස් සහ කයිකොස් දූපත්"
+ },
+ "TZ": {
+ "name": "ටà·à¶±à·Šà·ƒà·à¶±à·’යà·à·€"
+ },
+ "TL": {
+ "name": "ටිමà·à¶»à·Š - ලෙස්ත්"
+ },
+ "TN": {
+ "name": "ටියුනීසියà·à·€"
+ },
+ "TV": {
+ "name": "ටුවà·à¶½à·–"
+ },
+ "TO": {
+ "name": "ටොංගà·"
+ },
+ "TK": {
+ "name": "ටොකලà·à·€à·”"
+ },
+ "TG": {
+ "name": "ටොගà·"
+ },
+ "TT": {
+ "name": "ට්â€à¶»à·’නිඩෑඩ් සහ ටොබà·à¶œà·"
+ },
+ "TA": {
+ "name": "ට්â€à¶»à·’ස්ටන් ද කුන්හà·"
+ },
+ "DK": {
+ "name": "ඩෙන්මà·à¶»à·Šà¶šà¶º"
+ },
+ "DO": {
+ "name": "ඩොමිනික෠ජනරජය"
+ },
+ "DM": {
+ "name": "ඩොමිනිකà·à·€"
+ },
+ "TH": {
+ "name": "තà·à¶ºà·’ලන්තය"
+ },
+ "TW": {
+ "name": "තà·à¶ºà·’à·€à·à¶±à¶º"
+ },
+ "TR": {
+ "name": "තුර්කිය"
+ },
+ "ZA": {
+ "name": "දකුණු අප්â€à¶»à·’කà·à·€"
+ },
+ "KR": {
+ "name": "දකුණු කොරියà·à·€"
+ },
+ "GS": {
+ "name": "දකුණු ජà·à¶»à·Šà¶¢à·’යà·à·€ සහ දකුණු à·ƒà·à¶±à·Šà¶©à·Šà·€à·’ච් දූපත්"
+ },
+ "TF": {
+ "name": "දකුණු ප්â€à¶»à¶‚෠දූපත් සමූහය"
+ },
+ "SS": {
+ "name": "දකුණු සුඩà·à¶±à¶º"
+ },
+ "DG": {
+ "name": "දියà·à¶œà· ගà·à¶»à·Šà·ƒà·’යà·"
+ },
+ "NE": {
+ "name": "නයිජර්"
+ },
+ "NG": {
+ "name": "නයිජීරියà·à·€"
+ },
+ "NC": {
+ "name": "නව කà·à¶½à·’ඩà·à¶±à·’යà·à·€"
+ },
+ "NZ": {
+ "name": "නවසීලන්තය"
+ },
+ "NR": {
+ "name": "නà·à·€à·”රු"
+ },
+ "NA": {
+ "name": "නà·à¶¸à·“බියà·à·€"
+ },
+ "NI": {
+ "name": "නිකරගුවà·à·€"
+ },
+ "NU": {
+ "name": "නියූ"
+ },
+ "NL": {
+ "name": "නෙදර්ලන්තය"
+ },
+ "NP": {
+ "name": "නේපà·à¶½à¶º"
+ },
+ "NO": {
+ "name": "නà·à¶»à·Šà·€à·š"
+ },
+ "NF": {
+ "name": "නà·à·†à·à¶šà·Š දූපත"
+ },
+ "PS": {
+ "name": "පලස්තීන රà·à¶¢à·Šâ€à¶ºà¶º"
+ },
+ "PW": {
+ "name": "පලà·à·€à·”"
+ },
+ "PK": {
+ "name": "පà·à¶šà·’ස්තà·à¶±à¶º"
+ },
+ "PA": {
+ "name": "පà·à¶±à¶¸à·à·€"
+ },
+ "PG": {
+ "name": "පà·à¶´à·”ව෠නිව් ගිනියà·à·€"
+ },
+ "PY": {
+ "name": "පà·à¶»à¶œà·”වේ"
+ },
+ "PN": {
+ "name": "පිට්කෙය්න් දූපත්"
+ },
+ "PH": {
+ "name": "පිලිපීනය"
+ },
+ "PR": {
+ "name": "පුවර්ට෠රිකà·"
+ },
+ "PT": {
+ "name": "පෘතුගà·à¶½à¶º"
+ },
+ "PE": {
+ "name": "පේරු"
+ },
+ "PL": {
+ "name": "පà·à¶½à¶±à·Šà¶­à¶º"
+ },
+ "GF": {
+ "name": "ප්â€à¶»à¶‚෠ගයනà·à·€"
+ },
+ "PF": {
+ "name": "ප්â€à¶»à¶‚෠පොලිනීසියà·à·€"
+ },
+ "FR": {
+ "name": "ප්â€à¶»à¶‚à·à¶º"
+ },
+ "BD": {
+ "name": "බංග්ලà·à¶¯à·šà·à¶º"
+ },
+ "EH": {
+ "name": "බටහිර සහරà·à·€"
+ },
+ "BF": {
+ "name": "බර්කින෠ෆà·à·ƒà·"
+ },
+ "BM": {
+ "name": "බර්මියුඩà·"
+ },
+ "BG": {
+ "name": "බල්ගේරියà·à·€"
+ },
+ "BS": {
+ "name": "බහමà·à·ƒà·Š"
+ },
+ "BH": {
+ "name": "බහරේන්"
+ },
+ "BB": {
+ "name": "බà·à¶»à·Šà¶¶à¶©à·à·ƒà·Š"
+ },
+ "BI": {
+ "name": "බුරුන්දි"
+ },
+ "BN": {
+ "name": "බෲනà·à¶ºà·’"
+ },
+ "BJ": {
+ "name": "බෙනින්"
+ },
+ "BY": {
+ "name": "බෙලරුස්"
+ },
+ "BZ": {
+ "name": "බෙලීස්"
+ },
+ "BE": {
+ "name": "බෙල්ජියම"
+ },
+ "BW": {
+ "name": "බොට්ස්වà·à¶±à·"
+ },
+ "BO": {
+ "name": "බොලීවියà·à·€"
+ },
+ "BA": {
+ "name": "බොස්නියà·à·€ සහ හර්සගොවීනà·à·€"
+ },
+ "BR": {
+ "name": "බ්â€à¶»à·ƒà·“ලය"
+ },
+ "IO": {
+ "name": "බ්â€à¶»à·’තà·à¶±à·Šâ€à¶º ඉන්දීය à·ƒà·à¶œà¶» බල ප්â€à¶»à¶¯à·šà·à¶º"
+ },
+ "VG": {
+ "name": "බ්â€à¶»à·’තà·à¶±à·Šâ€à¶º වර්ජින් දූපත්"
+ },
+ "BT": {
+ "name": "භූතà·à¶±à¶º"
+ },
+ "MO": {
+ "name": "මකà·à·€à·” චීන විà·à·šà·‚ පරිපà·à¶½à¶± කලà·à¶´à¶º"
+ },
+ "CF": {
+ "name": "මධ්â€à¶ºà¶¸ අප්â€à¶»à·’කà·à¶±à·” ජනරජය"
+ },
+ "FM": {
+ "name": "මයික්â€à¶»à·œà¶±à·“සියà·à·€"
+ },
+ "YT": {
+ "name": "මයà·à¶§à·Š"
+ },
+ "MQ": {
+ "name": "මර්ටිනික්"
+ },
+ "MW": {
+ "name": "මලà·à·€à·’"
+ },
+ "MV": {
+ "name": "මà·à¶½ දිවයින"
+ },
+ "ML": {
+ "name": "මà·à¶½à·’"
+ },
+ "MH": {
+ "name": "මà·à·‚ල් දූපත්"
+ },
+ "MG": {
+ "name": "මà·à¶©à¶œà·ƒà·Šà¶šà¶»à¶º"
+ },
+ "MY": {
+ "name": "මà·à¶½à·šà·ƒà·’යà·à·€"
+ },
+ "MK": {
+ "name": "මà·à·ƒà·’ඩà·à¶±à·’යà·à·€"
+ },
+ "MM": {
+ "name": "මියන්මà·à¶»à¶º (බුරුමය)"
+ },
+ "MU": {
+ "name": "මුරුසිය"
+ },
+ "MX": {
+ "name": "මෙක්සිකà·à·€"
+ },
+ "MC": {
+ "name": "මොනà·à¶šà·à·€"
+ },
+ "MN": {
+ "name": "මොන්ගà·à¶½à·’යà·à·€"
+ },
+ "ME": {
+ "name": "මොන්ටෙනීග්â€à¶»à·"
+ },
+ "MS": {
+ "name": "මොන්සෙරà·à¶§à·Š"
+ },
+ "MR": {
+ "name": "මොරිටේනියà·à·€"
+ },
+ "MA": {
+ "name": "මොරොක්කà·à·€"
+ },
+ "MD": {
+ "name": "මොල්ඩà·à·€à·à·€"
+ },
+ "MZ": {
+ "name": "මොසà·à¶¸à·Šà¶¶à·’ක්"
+ },
+ "MT": {
+ "name": "මà·à¶½à·Šà¶§à·à·€"
+ },
+ "UA": {
+ "name": "යුක්රේනය"
+ },
+ "YE": {
+ "name": "යේමනය"
+ },
+ "RE": {
+ "name": "රීයුනියන්"
+ },
+ "RO": {
+ "name": "රුමේනියà·à·€"
+ },
+ "RW": {
+ "name": "රුවන්ඩà·à·€"
+ },
+ "RU": {
+ "name": "රුසියà·à·€"
+ },
+ "LU": {
+ "name": "ලක්à·à¶¸à·Šà¶¶à¶»à·Šà¶œà·Š"
+ },
+ "LR": {
+ "name": "ලයිබීරියà·à·€"
+ },
+ "LA": {
+ "name": "ලà·à¶•à·ƒà¶º"
+ },
+ "LV": {
+ "name": "ලà·à¶§à·Šà·€à·’යà·à·€"
+ },
+ "LI": {
+ "name": "ලික්ටන්ස්ටයින්"
+ },
+ "LT": {
+ "name": "ලිතුවේනියà·à·€"
+ },
+ "LY": {
+ "name": "ලිබියà·à·€"
+ },
+ "LB": {
+ "name": "ලෙබනනය"
+ },
+ "LS": {
+ "name": "ලෙසතà·"
+ },
+ "VA": {
+ "name": "වතිකà·à¶±à·” නගරය"
+ },
+ "VU": {
+ "name": "වනුවà·à¶§à·”"
+ },
+ "WF": {
+ "name": "à·€à·à¶½à·’ස් සහ ෆුටුනà·"
+ },
+ "VN": {
+ "name": "වියට්නà·à¶¸à¶º"
+ },
+ "VE": {
+ "name": "වෙනිසියුලà·à·€"
+ },
+ "KN": {
+ "name": "à·à·à¶±à·Šà¶­ කිට්ස් සහ නේවිස්"
+ },
+ "PM": {
+ "name": "à·à·à¶±à·Šà¶­ පියරේ සහ මà·à¶šà·à¶½à¶±à·Š"
+ },
+ "BL": {
+ "name": "à·à·à¶±à·Šà¶­ බර්තලෙමි"
+ },
+ "MF": {
+ "name": "à·à·à¶±à·Šà¶­ මà·à¶»à·Šà¶§à·’න්"
+ },
+ "SX": {
+ "name": "à·à·à¶±à·Šà¶­ මà·à¶»à·Šà¶§à·™à¶±à·Š"
+ },
+ "LC": {
+ "name": "à·à·à¶±à·Šà¶­ ලුසියà·"
+ },
+ "VC": {
+ "name": "à·à·à¶±à·Šà¶­ වින්සන්ට් සහ ග්â€à¶»à·™à¶±à¶©à·’න්ස්"
+ },
+ "SH": {
+ "name": "à·à·à¶±à·Šà¶­ හෙලේනà·"
+ },
+ "LK": {
+ "name": "à·à·Šâ€à¶»à·“ ලංකà·à·€"
+ },
+ "GQ": {
+ "name": "සමක ගිනියà·à·€"
+ },
+ "CY": {
+ "name": "සයිප්â€à¶»à·ƒà¶º"
+ },
+ "RS": {
+ "name": "සර්බියà·à·€"
+ },
+ "ST": {
+ "name": "à·ƒà·à¶• තà·à¶¸à·Š සහ ප්â€à¶»à·’න්සිප්"
+ },
+ "SM": {
+ "name": "à·ƒà·à¶±à·Š මà·à¶»à·’නà·"
+ },
+ "WS": {
+ "name": "à·ƒà·à¶¸à·à·€à·"
+ },
+ "ZM": {
+ "name": "à·ƒà·à¶¸à·Šà¶¶à·’යà·à·€"
+ },
+ "SG": {
+ "name": "සිංගප්පූරුව"
+ },
+ "ZW": {
+ "name": "සිම්බà·à¶¶à·Šà·€à·š"
+ },
+ "SL": {
+ "name": "සියරà·à¶½à·’යà·à¶±à·Š"
+ },
+ "SY": {
+ "name": "සිරියà·à·€"
+ },
+ "SC": {
+ "name": "සීà·à·™à¶½à·Šà·ƒà·Š"
+ },
+ "SR": {
+ "name": "සුරිනà·à¶¸à¶º"
+ },
+ "SD": {
+ "name": "සූඩà·à¶±à¶º"
+ },
+ "SN": {
+ "name": "සෙනගà·à¶½à¶º"
+ },
+ "EA": {
+ "name": "සෙයුට෠සහ මෙලිල්ලà·"
+ },
+ "SB": {
+ "name": "සොලමන් දූපත්"
+ },
+ "SO": {
+ "name": "à·ƒà·à¶¸à·à¶½à·’යà·à·€"
+ },
+ "SA": {
+ "name": "සෞදි අරà·à¶¶à·’ය"
+ },
+ "ES": {
+ "name": "ස්පà·à¶¤à·Šà¶¤à¶º"
+ },
+ "SK": {
+ "name": "ස්ලà·à·€à·à¶šà·’යà·à·€"
+ },
+ "SI": {
+ "name": "ස්ලà·à·€à·šà¶±à·’යà·à·€"
+ },
+ "SZ": {
+ "name": "ස්වà·à·ƒà·’ලන්තය"
+ },
+ "CH": {
+ "name": "ස්විස්ටර්ලන්තය"
+ },
+ "SE": {
+ "name": "ස්වීඩනය"
+ },
+ "SJ": {
+ "name": "ස්වෙල්බර්ඩ් සහ ජේන් මයේන්"
+ },
+ "HU": {
+ "name": "හන්ගේරියà·à·€"
+ },
+ "HT": {
+ "name": "හයිටි"
+ },
+ "HK": {
+ "name": "හොංකොං චීන විà·à·šà·‚ පරිපà·à¶½à¶± කලà·à¶´à¶º"
+ },
+ "HN": {
+ "name": "හොන්ඩුරà·à·ƒà·Š"
+ },
+ "FO": {
+ "name": "à·†à·à¶»à· දූපත්"
+ },
+ "FI": {
+ "name": "ෆින්ලන්තය"
+ },
+ "FJ": {
+ "name": "ෆීජී"
+ },
+ "FK": {
+ "name": "à·†à·à¶šà·Šà¶½à¶±à·Šà¶­ දූපත්"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sk.json b/library/intl/resources/country/sk.json
new file mode 100644
index 000000000..39d670693
--- /dev/null
+++ b/library/intl/resources/country/sk.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ã…landy"
+ },
+ "AL": {
+ "name": "Albánsko"
+ },
+ "DZ": {
+ "name": "Alžírsko"
+ },
+ "AS": {
+ "name": "Americká Samoa"
+ },
+ "VI": {
+ "name": "Americké Panenské ostrovy"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktída"
+ },
+ "AG": {
+ "name": "Antigua a Barbuda"
+ },
+ "AR": {
+ "name": "Argentína"
+ },
+ "AM": {
+ "name": "Arménsko"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascensión"
+ },
+ "AU": {
+ "name": "Austrália"
+ },
+ "AZ": {
+ "name": "Azerbajdžan"
+ },
+ "BS": {
+ "name": "Bahamy"
+ },
+ "BH": {
+ "name": "Bahrajn"
+ },
+ "BD": {
+ "name": "Bangladéš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgicko"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudy"
+ },
+ "BT": {
+ "name": "Bhután"
+ },
+ "BY": {
+ "name": "Bielorusko"
+ },
+ "BO": {
+ "name": "Bolívia"
+ },
+ "BA": {
+ "name": "Bosna a Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazília"
+ },
+ "IO": {
+ "name": "Britské indickooceánske územie"
+ },
+ "VG": {
+ "name": "Britské Panenské ostrovy"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bulharsko"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "EA": {
+ "name": "Ceuta a Melilla"
+ },
+ "CK": {
+ "name": "Cookove ostrovy"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "TD": {
+ "name": "ÄŒad"
+ },
+ "CZ": {
+ "name": "Česká republika"
+ },
+ "ME": {
+ "name": "ÄŒierna Hora"
+ },
+ "CL": {
+ "name": "ÄŒile"
+ },
+ "CN": {
+ "name": "Čína"
+ },
+ "DK": {
+ "name": "Dánsko"
+ },
+ "DG": {
+ "name": "Diego García"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikánska republika"
+ },
+ "DJ": {
+ "name": "Džibutsko"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "EC": {
+ "name": "Ekvádor"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estónsko"
+ },
+ "ET": {
+ "name": "Etiópia"
+ },
+ "FO": {
+ "name": "Faerské ostrovy"
+ },
+ "FK": {
+ "name": "Falklandy"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipíny"
+ },
+ "FI": {
+ "name": "Fínsko"
+ },
+ "GF": {
+ "name": "Francúzska Guayana"
+ },
+ "PF": {
+ "name": "Francúzska Polynézia"
+ },
+ "TF": {
+ "name": "Francúzske južné a antarktické územia"
+ },
+ "FR": {
+ "name": "Francúzsko"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltár"
+ },
+ "GR": {
+ "name": "Grécko"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grónsko"
+ },
+ "GE": {
+ "name": "Gruzínsko"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GY": {
+ "name": "Guayana"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandsko"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong – OAO Číny"
+ },
+ "HR": {
+ "name": "Chorvátsko"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonézia"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Irán"
+ },
+ "IE": {
+ "name": "Ãrsko"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japonsko"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordánsko"
+ },
+ "ZA": {
+ "name": "Južná Afrika"
+ },
+ "GS": {
+ "name": "Južná Georgia a Južné Sandwichove ostrovy"
+ },
+ "KR": {
+ "name": "Južná Kórea"
+ },
+ "SS": {
+ "name": "Južný Sudán"
+ },
+ "KY": {
+ "name": "Kajmanie ostrovy"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanárske ostrovy"
+ },
+ "CV": {
+ "name": "Kapverdy"
+ },
+ "BQ": {
+ "name": "Karibské Holandsko"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazachstan"
+ },
+ "KE": {
+ "name": "Keňa"
+ },
+ "KG": {
+ "name": "Kirgizsko"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosové ostrovy"
+ },
+ "CO": {
+ "name": "Kolumbia"
+ },
+ "KM": {
+ "name": "Komory"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo - Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Libéria"
+ },
+ "LY": {
+ "name": "Líbya"
+ },
+ "LI": {
+ "name": "Lichtenštajnsko"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LV": {
+ "name": "Lotyšsko"
+ },
+ "LU": {
+ "name": "Luxembursko"
+ },
+ "MO": {
+ "name": "Macao – OAO Číny"
+ },
+ "MK": {
+ "name": "Macedónsko"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "MaÄarsko"
+ },
+ "MY": {
+ "name": "Malajzia"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldivy"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marshallove ostrovy"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Maurícius"
+ },
+ "MR": {
+ "name": "Mauritánia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "UM": {
+ "name": "Menšie odľahlé ostrovy USA"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronézia"
+ },
+ "MM": {
+ "name": "Mjanmarsko"
+ },
+ "MD": {
+ "name": "Moldavsko"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolsko"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namíbia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "Nemecko"
+ },
+ "NP": {
+ "name": "Nepál"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigéria"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk"
+ },
+ "NO": {
+ "name": "Nórsko"
+ },
+ "NC": {
+ "name": "Nová Kaledónia"
+ },
+ "NZ": {
+ "name": "Nový Zéland"
+ },
+ "OM": {
+ "name": "Omán"
+ },
+ "IM": {
+ "name": "Ostrov Man"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestínske územia"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nová Guinea"
+ },
+ "PY": {
+ "name": "Paraguaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnove ostrovy"
+ },
+ "CI": {
+ "name": "Pobrežie Slonoviny"
+ },
+ "PL": {
+ "name": "Poľsko"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugalsko"
+ },
+ "AT": {
+ "name": "Rakúsko"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "GQ": {
+ "name": "Rovníková Guinea"
+ },
+ "RO": {
+ "name": "Rumunsko"
+ },
+ "RU": {
+ "name": "Rusko"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "PM": {
+ "name": "Saint Pierre a Miquelon"
+ },
+ "SV": {
+ "name": "Salvádor"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Maríno"
+ },
+ "SA": {
+ "name": "Saudská Arábia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KP": {
+ "name": "Severná Kórea"
+ },
+ "MP": {
+ "name": "Severné Mariány"
+ },
+ "SC": {
+ "name": "Seychely"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovensko"
+ },
+ "SI": {
+ "name": "Slovinsko"
+ },
+ "SO": {
+ "name": "Somálsko"
+ },
+ "AE": {
+ "name": "Spojené arabské emiráty"
+ },
+ "GB": {
+ "name": "Spojené kráľovstvo"
+ },
+ "US": {
+ "name": "Spojené štáty"
+ },
+ "RS": {
+ "name": "Srbsko"
+ },
+ "LK": {
+ "name": "Srí Lanka"
+ },
+ "CF": {
+ "name": "Stredoafrická republika"
+ },
+ "SD": {
+ "name": "Sudán"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard a Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svazijsko"
+ },
+ "SH": {
+ "name": "Svätá Helena"
+ },
+ "LC": {
+ "name": "Svätá Lucia"
+ },
+ "BL": {
+ "name": "Svätý Bartolomej"
+ },
+ "KN": {
+ "name": "Svätý Krištof a Nevis"
+ },
+ "MF": {
+ "name": "Svätý Martin"
+ },
+ "ST": {
+ "name": "Svätý Tomáš a Princov ostrov"
+ },
+ "VC": {
+ "name": "Svätý Vincent a Grenadíny"
+ },
+ "SY": {
+ "name": "Sýria"
+ },
+ "SB": {
+ "name": "Šalamúnove ostrovy"
+ },
+ "ES": {
+ "name": "Å panielsko"
+ },
+ "CH": {
+ "name": "Å vajÄiarsko"
+ },
+ "SE": {
+ "name": "Švédsko"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "IT": {
+ "name": "Taliansko"
+ },
+ "TZ": {
+ "name": "Tanzánia"
+ },
+ "TH": {
+ "name": "Thajsko"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad a Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisko"
+ },
+ "TR": {
+ "name": "Turecko"
+ },
+ "TM": {
+ "name": "Turkménsko"
+ },
+ "TC": {
+ "name": "Turks a Caicos"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Uruguaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikán"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "CX": {
+ "name": "VianoÄný ostrov"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "TL": {
+ "name": "Východný Timor"
+ },
+ "WF": {
+ "name": "Wallis a Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "EH": {
+ "name": "Západná Sahara"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sl.json b/library/intl/resources/country/sl.json
new file mode 100644
index 000000000..3033a159c
--- /dev/null
+++ b/library/intl/resources/country/sl.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Ã…landski otoki"
+ },
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžirija"
+ },
+ "AS": {
+ "name": "Ameriška Samoa"
+ },
+ "VI": {
+ "name": "Ameriški Deviški otoki"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigva in Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenija"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Avstralija"
+ },
+ "AT": {
+ "name": "Avstrija"
+ },
+ "AZ": {
+ "name": "Azerbajdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrajn"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BY": {
+ "name": "Belorusija"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudi"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BG": {
+ "name": "Bolgarija"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna in Hercegovina"
+ },
+ "CX": {
+ "name": "BožiÄni otok"
+ },
+ "BR": {
+ "name": "Brazilija"
+ },
+ "VG": {
+ "name": "Britanski Deviški otoki"
+ },
+ "IO": {
+ "name": "Britansko ozemlje v Indijskem oceanu"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CF": {
+ "name": "Centralnoafriška republika"
+ },
+ "EA": {
+ "name": "Ceuta in Melilla"
+ },
+ "CY": {
+ "name": "Ciper"
+ },
+ "CK": {
+ "name": "Cookovi otoki"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "ÄŒad"
+ },
+ "CZ": {
+ "name": "Češka"
+ },
+ "CL": {
+ "name": "ÄŒile"
+ },
+ "ME": {
+ "name": "ÄŒrna gora"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "CD": {
+ "name": "DemokratiÄna republika Kongo"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska republika"
+ },
+ "UM": {
+ "name": "Druga ameriška ozemlja v Tihem oceanu"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipt"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorialna Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FK": {
+ "name": "Falklandski otoki"
+ },
+ "FO": {
+ "name": "Ferski otoki"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FR": {
+ "name": "Francija"
+ },
+ "GF": {
+ "name": "Francoska Gvajana"
+ },
+ "PF": {
+ "name": "Francoska Polinezija"
+ },
+ "TF": {
+ "name": "Francosko južno ozemlje"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "GrÄija"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlandija"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GP": {
+ "name": "Gvadalupe"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja Bissau"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HR": {
+ "name": "Hrvaška"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Islandija"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japonska"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanija"
+ },
+ "GS": {
+ "name": "Južna Georgia in Južni Sandwichevi otoki"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "Južnoafriška republika"
+ },
+ "KY": {
+ "name": "Kajmanski otoki"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarski otoki"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CN": {
+ "name": "Kitajska"
+ },
+ "CC": {
+ "name": "Kokosovi otoki"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komori"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvija"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Madžarska"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Marshallovi otoki"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "MR": {
+ "name": "Mavretanija"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mehika"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MM": {
+ "name": "Mjanmar (Burma)"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "NemÄija"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NL": {
+ "name": "Nizozemska"
+ },
+ "BQ": {
+ "name": "Nizozemski Karibi"
+ },
+ "NF": {
+ "name": "Norfolški otok"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Nova Zelandija"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TC": {
+ "name": "OtoÄji Turks in Caicos"
+ },
+ "AC": {
+ "name": "Otok Ascension"
+ },
+ "IM": {
+ "name": "Otok Man"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinsko ozemlje"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugalska"
+ },
+ "HK": {
+ "name": "Posebno administrativno obmoÄje LR Kitajske Hong Kong"
+ },
+ "MO": {
+ "name": "Posebno administrativno obmoÄje LR Kitajske Macao"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RO": {
+ "name": "Romunija"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "KN": {
+ "name": "Saint Kitts in Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre in Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent in Grenadine"
+ },
+ "SB": {
+ "name": "Salomonovi otoki"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome in Principe"
+ },
+ "SA": {
+ "name": "Saudova Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KP": {
+ "name": "Severna Koreja"
+ },
+ "MP": {
+ "name": "Severni Marianski otoki"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "CI": {
+ "name": "SlonokoÅ¡Äena obala"
+ },
+ "SK": {
+ "name": "Slovaška"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard in Jan Mayen"
+ },
+ "SZ": {
+ "name": "Svazi"
+ },
+ "SH": {
+ "name": "Sveta Helena"
+ },
+ "ES": {
+ "name": "Å panija"
+ },
+ "LK": {
+ "name": "Å rilanka"
+ },
+ "SE": {
+ "name": "Å vedska"
+ },
+ "CH": {
+ "name": "Å vica"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajska"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad in Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizija"
+ },
+ "TR": {
+ "name": "TurÄija"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "GB": {
+ "name": "Velika Britanija"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "TL": {
+ "name": "Vzhodni Timor"
+ },
+ "WF": {
+ "name": "Wallis in Futuna"
+ },
+ "EH": {
+ "name": "Zahodna Sahara"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "US": {
+ "name": "Združene države Amerike"
+ },
+ "AE": {
+ "name": "Združeni arabski emirati"
+ },
+ "CV": {
+ "name": "Zelenortski otoki"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sn.json b/library/intl/resources/country/sn.json
new file mode 100644
index 000000000..9d85c4fb4
--- /dev/null
+++ b/library/intl/resources/country/sn.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua ne Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Arubha"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BE": {
+ "name": "Beljium"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutani"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BA": {
+ "name": "Boznia ne Herzegovina"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Burunei"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CF": {
+ "name": "Central African Republic"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "NF": {
+ "name": "Chitsuwa cheNorfolk"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cyprus"
+ },
+ "CZ": {
+ "name": "Czech Republic"
+ },
+ "CD": {
+ "name": "Democratic Republic of the Congo"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominican Republic"
+ },
+ "TL": {
+ "name": "East Timor"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypt"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Etiopia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "France"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "DE": {
+ "name": "Germany"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungary"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IQ": {
+ "name": "Iraq"
+ },
+ "IE": {
+ "name": "Ireland"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Italy"
+ },
+ "CI": {
+ "name": "Ivory Coast"
+ },
+ "IL": {
+ "name": "Izuraeri"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea, North"
+ },
+ "KR": {
+ "name": "Korea, South"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LB": {
+ "name": "Lebanon"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lithuania"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MA": {
+ "name": "Morocco"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norway"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinian Territories"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippines"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Poland"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RU": {
+ "name": "Russia"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ye Amerika"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabia"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ZA": {
+ "name": "South Africa"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "ES": {
+ "name": "Spain"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweden"
+ },
+ "CH": {
+ "name": "Switzerland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TR": {
+ "name": "Turkey"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "AE": {
+ "name": "United Arab Emirates"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatican State"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "SB": {
+ "name": "Zvitsuwa zvaSolomon"
+ },
+ "VI": {
+ "name": "Zvitsuwa zveAmerika"
+ },
+ "CV": {
+ "name": "Zvitsuwa zveCape Verde"
+ },
+ "KY": {
+ "name": "Zvitsuwa zveCayman"
+ },
+ "CK": {
+ "name": "Zvitsuwa zveCook"
+ },
+ "FK": {
+ "name": "Zvitsuwa zveFalklands"
+ },
+ "VG": {
+ "name": "Zvitsuwa zveHingirandi"
+ },
+ "MP": {
+ "name": "Zvitsuwa zvekumaodzanyemba eMariana"
+ },
+ "MH": {
+ "name": "Zvitsuwa zveMarshall"
+ },
+ "TC": {
+ "name": "Zvitsuwa zveTurk neCaico"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/so.json b/library/intl/resources/country/so.json
new file mode 100644
index 000000000..bfc1348d4
--- /dev/null
+++ b/library/intl/resources/country/so.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgaanistaan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albaaniya"
+ },
+ "DZ": {
+ "name": "Aljeeriya"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua iyo Barbuda"
+ },
+ "AR": {
+ "name": "Arjantiin"
+ },
+ "AM": {
+ "name": "Armeeniya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Awstaraaliya"
+ },
+ "AT": {
+ "name": "Awsteriya"
+ },
+ "IE": {
+ "name": "Ayrlaand"
+ },
+ "AZ": {
+ "name": "Azerbajaan"
+ },
+ "BB": {
+ "name": "Baarbadoos"
+ },
+ "BS": {
+ "name": "Bahaamas"
+ },
+ "PK": {
+ "name": "Bakistaan"
+ },
+ "BD": {
+ "name": "Bangaaladheesh"
+ },
+ "BH": {
+ "name": "Baxreyn"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BM": {
+ "name": "Bermuuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BE": {
+ "name": "Biljam"
+ },
+ "BJ": {
+ "name": "Biniin"
+ },
+ "BO": {
+ "name": "Boliifiya"
+ },
+ "PL": {
+ "name": "Booland"
+ },
+ "PT": {
+ "name": "Bortuqaal"
+ },
+ "BA": {
+ "name": "Bosniya Hersigoviina"
+ },
+ "BW": {
+ "name": "Botuswaana"
+ },
+ "BR": {
+ "name": "Braasiil"
+ },
+ "IO": {
+ "name": "British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "British Virgin Islands"
+ },
+ "BG": {
+ "name": "Bulgaariya"
+ },
+ "BF": {
+ "name": "Burkiina Faaso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BN": {
+ "name": "Buruneeya"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "CV": {
+ "name": "Cape Verde Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "Cayman Islands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "IQ": {
+ "name": "Ciraaq"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "OM": {
+ "name": "Cumaan"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Domeenika"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "GQ": {
+ "name": "Equatorial Guinea"
+ },
+ "ER": {
+ "name": "Eretereeya"
+ },
+ "EE": {
+ "name": "Estooniya"
+ },
+ "VA": {
+ "name": "Faatikaan"
+ },
+ "PS": {
+ "name": "Falastiin Daanka galbeed iyo Qasa"
+ },
+ "FR": {
+ "name": "Faransiis"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "VE": {
+ "name": "Fenisuweela"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filibiin"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "VN": {
+ "name": "Fiyetnaam"
+ },
+ "GF": {
+ "name": "French Guiana"
+ },
+ "PF": {
+ "name": "French Polynesia"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaaboon"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini-Bisaaw"
+ },
+ "GR": {
+ "name": "Giriig"
+ },
+ "GD": {
+ "name": "Giriinaada"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GT": {
+ "name": "Guwaatamaala"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HU": {
+ "name": "Hangeri"
+ },
+ "HT": {
+ "name": "Hayti"
+ },
+ "IN": {
+ "name": "Hindiya"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IR": {
+ "name": "Iiraan"
+ },
+ "IS": {
+ "name": "Iislaand"
+ },
+ "EC": {
+ "name": "Ikuwadoor"
+ },
+ "AE": {
+ "name": "Imaaraadka Carabta ee Midoobay"
+ },
+ "ID": {
+ "name": "Indoneesiya"
+ },
+ "ES": {
+ "name": "Isbeyn"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israaʼiil"
+ },
+ "SZ": {
+ "name": "Iswaasilaand"
+ },
+ "SE": {
+ "name": "Iswidhan"
+ },
+ "ET": {
+ "name": "Itoobiya"
+ },
+ "CI": {
+ "name": "Ivory coast"
+ },
+ "TD": {
+ "name": "Jaad"
+ },
+ "JP": {
+ "name": "Jabaan"
+ },
+ "DJ": {
+ "name": "Jabuuti"
+ },
+ "JM": {
+ "name": "Jameyka"
+ },
+ "CF": {
+ "name": "Jamhuuriyadda Afrikada Dhexe"
+ },
+ "CD": {
+ "name": "Jamhuuriyadda Dimuquraadiga Kongo"
+ },
+ "DO": {
+ "name": "Jamhuuriyadda Domeenika"
+ },
+ "CZ": {
+ "name": "Jamhuuriyadda Jek"
+ },
+ "DE": {
+ "name": "Jarmal"
+ },
+ "FK": {
+ "name": "Jaziiradaha Fooklaan"
+ },
+ "CK": {
+ "name": "Jaziiradda Cook"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "CL": {
+ "name": "Jili"
+ },
+ "GE": {
+ "name": "Joorjiya"
+ },
+ "CM": {
+ "name": "Kaameruun"
+ },
+ "KH": {
+ "name": "Kamboodiya"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kasaakhistaan"
+ },
+ "KE": {
+ "name": "Kiiniya"
+ },
+ "KG": {
+ "name": "Kirgistaan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombiya"
+ },
+ "KM": {
+ "name": "Komooros"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "ZA": {
+ "name": "Koonfur Afrika"
+ },
+ "SS": {
+ "name": "Koonfur Suudaan"
+ },
+ "HR": {
+ "name": "Korweeshiya"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta Riika"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "KR": {
+ "name": "Kuuriyada Koonfureed"
+ },
+ "KP": {
+ "name": "Kuuriyada Waqooyi"
+ },
+ "KW": {
+ "name": "Kuwayt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latfiya"
+ },
+ "LR": {
+ "name": "Laybeeriya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LY": {
+ "name": "Liibiya"
+ },
+ "LT": {
+ "name": "Lituweeniya"
+ },
+ "LS": {
+ "name": "Losooto"
+ },
+ "LB": {
+ "name": "Lubnaan"
+ },
+ "LU": {
+ "name": "Luksemboorg"
+ },
+ "MT": {
+ "name": "Maalda"
+ },
+ "MV": {
+ "name": "Maaldiqeen"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makadooniya"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "US": {
+ "name": "Maraykanka"
+ },
+ "MA": {
+ "name": "Marooko"
+ },
+ "MH": {
+ "name": "Marshall Islands"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "EG": {
+ "name": "Masar"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldofa"
+ },
+ "MN": {
+ "name": "Mongooliya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MC": {
+ "name": "Moonako"
+ },
+ "MU": {
+ "name": "Murishiyoos"
+ },
+ "MR": {
+ "name": "Muritaaniya"
+ },
+ "MZ": {
+ "name": "Musambiig"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namiibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NG": {
+ "name": "Nayjeeriya"
+ },
+ "NE": {
+ "name": "Nayjer"
+ },
+ "NP": {
+ "name": "Nebaal"
+ },
+ "NL": {
+ "name": "Netherlands"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "Neyuusilaand"
+ },
+ "NI": {
+ "name": "Nikaraaguwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Noorweey"
+ },
+ "NF": {
+ "name": "Norfolk Island"
+ },
+ "MP": {
+ "name": "Northern Mariana Islands"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qadar"
+ },
+ "CY": {
+ "name": "Qubrus"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumaaniya"
+ },
+ "RU": {
+ "name": "Ruush"
+ },
+ "RW": {
+ "name": "Ruwanda"
+ },
+ "ZM": {
+ "name": "Saambiya"
+ },
+ "SA": {
+ "name": "Sacuudi Carabiya"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts and Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre and Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent and the Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samowa Ameerika"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CN": {
+ "name": "Shiinaha"
+ },
+ "ZW": {
+ "name": "Simbaabwe"
+ },
+ "SG": {
+ "name": "Singaboor"
+ },
+ "SN": {
+ "name": "Sinigaal"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SL": {
+ "name": "Siraaliyoon"
+ },
+ "LK": {
+ "name": "Sirilaanka"
+ },
+ "SC": {
+ "name": "Sishelis"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SB": {
+ "name": "Solomon Islands"
+ },
+ "SO": {
+ "name": "Soomaaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SD": {
+ "name": "Suudaan"
+ },
+ "SY": {
+ "name": "Suuriya"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "CH": {
+ "name": "Swiiserlaand"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "IT": {
+ "name": "Talyaani"
+ },
+ "TZ": {
+ "name": "Tansaaniya"
+ },
+ "TH": {
+ "name": "Taylaand"
+ },
+ "TW": {
+ "name": "Taywaan"
+ },
+ "TL": {
+ "name": "Timorka bari"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TG": {
+ "name": "Toogo"
+ },
+ "TT": {
+ "name": "Trinidad and Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tuniisiya"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VI": {
+ "name": "U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "Ugaanda"
+ },
+ "UA": {
+ "name": "Ukrayn"
+ },
+ "GB": {
+ "name": "United Kingdom"
+ },
+ "JO": {
+ "name": "Urdun"
+ },
+ "UY": {
+ "name": "Uruguwaay"
+ },
+ "UZ": {
+ "name": "Uusbakistaan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "WF": {
+ "name": "Wallis and Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sq.json b/library/intl/resources/country/sq.json
new file mode 100644
index 000000000..fe5f3fe83
--- /dev/null
+++ b/library/intl/resources/country/sq.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganistan"
+ },
+ "ZA": {
+ "name": "Afrika e Jugut"
+ },
+ "DZ": {
+ "name": "Algjeri"
+ },
+ "AD": {
+ "name": "Andorrë"
+ },
+ "AO": {
+ "name": "Angolë"
+ },
+ "AI": {
+ "name": "Anguilë"
+ },
+ "AQ": {
+ "name": "Antarktikë"
+ },
+ "AG": {
+ "name": "Antigua e Barbuda"
+ },
+ "SA": {
+ "name": "Arabia Saudite"
+ },
+ "AR": {
+ "name": "Argjentinë"
+ },
+ "AM": {
+ "name": "Armeni"
+ },
+ "AW": {
+ "name": "Arubë"
+ },
+ "AU": {
+ "name": "Australi"
+ },
+ "AT": {
+ "name": "Austri"
+ },
+ "AZ": {
+ "name": "Azerbajxhan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgjikë"
+ },
+ "BZ": {
+ "name": "Belizë"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermudë"
+ },
+ "BY": {
+ "name": "Bjellorusi"
+ },
+ "BO": {
+ "name": "Bolivi"
+ },
+ "BA": {
+ "name": "Bosnjë-Hercegovinë"
+ },
+ "BW": {
+ "name": "Botsvanë"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "CI": {
+ "name": "Bregu i Fildishtë"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bullgari"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burund"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "TD": {
+ "name": "Çad"
+ },
+ "DK": {
+ "name": "Danimarkë"
+ },
+ "DG": {
+ "name": "Diego Garsia"
+ },
+ "DM": {
+ "name": "Dominikë"
+ },
+ "EG": {
+ "name": "Egjipt"
+ },
+ "EC": {
+ "name": "Ekuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "AE": {
+ "name": "Emiratet e Bashkuara Arabe"
+ },
+ "ER": {
+ "name": "Eritre"
+ },
+ "EE": {
+ "name": "Estoni"
+ },
+ "ET": {
+ "name": "Etiopi"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlandë"
+ },
+ "FJ": {
+ "name": "Fixhi"
+ },
+ "FR": {
+ "name": "Francë"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GH": {
+ "name": "Ganë"
+ },
+ "GD": {
+ "name": "Grenadë"
+ },
+ "GL": {
+ "name": "Grenlandë"
+ },
+ "GR": {
+ "name": "Greqi"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GF": {
+ "name": "Guajana Franceze"
+ },
+ "GY": {
+ "name": "Guajanë"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemalë"
+ },
+ "GG": {
+ "name": "Guernsej"
+ },
+ "GN": {
+ "name": "Guine"
+ },
+ "GW": {
+ "name": "Guine-Bisau"
+ },
+ "GQ": {
+ "name": "Guineja Ekuatoriale"
+ },
+ "GE": {
+ "name": "Gjeorgji"
+ },
+ "DE": {
+ "name": "Gjermani"
+ },
+ "GI": {
+ "name": "Gjibraltar"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandë"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungari"
+ },
+ "IN": {
+ "name": "Indi"
+ },
+ "ID": {
+ "name": "Indonezi"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irlandë"
+ },
+ "IS": {
+ "name": "Islandë"
+ },
+ "AX": {
+ "name": "Ishujt Alandë"
+ },
+ "MP": {
+ "name": "Ishujt e Marianës Veriore"
+ },
+ "VI": {
+ "name": "Ishujt e Virgjër Amerikanë"
+ },
+ "VG": {
+ "name": "Ishujt e Virgjër Britanikë"
+ },
+ "FO": {
+ "name": "Ishujt Faroe"
+ },
+ "FK": {
+ "name": "Ishujt Folklandë"
+ },
+ "KY": {
+ "name": "Ishujt Kajmanë"
+ },
+ "IC": {
+ "name": "Ishujt Kanarie"
+ },
+ "CC": {
+ "name": "Ishujt Kokos"
+ },
+ "CK": {
+ "name": "Ishujt Kukë"
+ },
+ "MH": {
+ "name": "Ishujt Marshallë"
+ },
+ "NF": {
+ "name": "Ishujt Norfolkë"
+ },
+ "UM": {
+ "name": "Ishujt periferikë të SHBA-së"
+ },
+ "PN": {
+ "name": "Ishujt Pitkernë"
+ },
+ "SB": {
+ "name": "Ishujt Solomonë"
+ },
+ "TC": {
+ "name": "Ishujt Turke dhe Kaike"
+ },
+ "AC": {
+ "name": "Ishulli Asenshion"
+ },
+ "CX": {
+ "name": "Ishulli i Krishtlindjes"
+ },
+ "IM": {
+ "name": "Ishulli i Manit"
+ },
+ "IT": {
+ "name": "Itali"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JP": {
+ "name": "Japoni"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JO": {
+ "name": "Jordani"
+ },
+ "NC": {
+ "name": "Kaledonia e Re"
+ },
+ "KH": {
+ "name": "Kamboxhia"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "BQ": {
+ "name": "Karaibet holandeze"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakistan"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CV": {
+ "name": "Kepi i Gjelbër"
+ },
+ "CL": {
+ "name": "Kili"
+ },
+ "CN": {
+ "name": "Kinë"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "CO": {
+ "name": "Kolumbi"
+ },
+ "KM": {
+ "name": "Komore"
+ },
+ "CG": {
+ "name": "Kongo-Brazavilë"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "KR": {
+ "name": "Koreja e Jugut"
+ },
+ "KP": {
+ "name": "Koreja e Veriut"
+ },
+ "XK": {
+ "name": "Kosovë"
+ },
+ "CR": {
+ "name": "Kosta Rikë"
+ },
+ "HR": {
+ "name": "Kroaci"
+ },
+ "CU": {
+ "name": "Kubë"
+ },
+ "CW": {
+ "name": "Kuraçao"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letoni"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberi"
+ },
+ "LY": {
+ "name": "Libi"
+ },
+ "LI": {
+ "name": "Lihtënshtajn"
+ },
+ "LT": {
+ "name": "Lituani"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "YT": {
+ "name": "Majotë"
+ },
+ "MY": {
+ "name": "Malajzi"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldive"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "ME": {
+ "name": "Mali i Zi"
+ },
+ "MT": {
+ "name": "Maltë"
+ },
+ "MK": {
+ "name": "Maqedoni"
+ },
+ "MA": {
+ "name": "Marok"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MR": {
+ "name": "Mauritani"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "GB": {
+ "name": "Mbretëria e Bashkuar"
+ },
+ "MX": {
+ "name": "Meksikë"
+ },
+ "MM": {
+ "name": "Mianmar (Burma)"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "MD": {
+ "name": "Moldavi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoli"
+ },
+ "MS": {
+ "name": "Montserat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeri"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norvegji"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Guineja e Re"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PF": {
+ "name": "Polinezia Franceze"
+ },
+ "PL": {
+ "name": "Poloni"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugali"
+ },
+ "CY": {
+ "name": "Qipro"
+ },
+ "KI": {
+ "name": "Qiribati"
+ },
+ "CF": {
+ "name": "Republika Afrikano-Qendrore"
+ },
+ "CZ": {
+ "name": "Republika Çeke"
+ },
+ "DO": {
+ "name": "Republika Dominikane"
+ },
+ "RE": {
+ "name": "Reunion"
+ },
+ "RW": {
+ "name": "Ruandë"
+ },
+ "RO": {
+ "name": "Rumani"
+ },
+ "RU": {
+ "name": "Rusi"
+ },
+ "HK": {
+ "name": "RVAK i Hong Kongut"
+ },
+ "MO": {
+ "name": "RVAK i Makaos"
+ },
+ "EH": {
+ "name": "Saharaja Perëndimore"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa Amerikane"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome e Prinsipe"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbi"
+ },
+ "SL": {
+ "name": "Siera Leone"
+ },
+ "SG": {
+ "name": "Singapor"
+ },
+ "SY": {
+ "name": "Siri"
+ },
+ "SC": {
+ "name": "Sishel"
+ },
+ "SK": {
+ "name": "Sllovaki"
+ },
+ "SI": {
+ "name": "Slloveni"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "ES": {
+ "name": "Spanjë"
+ },
+ "LK": {
+ "name": "Sri Lankë"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SS": {
+ "name": "Sudani i Jugut"
+ },
+ "SE": {
+ "name": "Suedi"
+ },
+ "SR": {
+ "name": "Surinami"
+ },
+ "SJ": {
+ "name": "Svalbard e Zhan Majen"
+ },
+ "SZ": {
+ "name": "Svazilandë"
+ },
+ "BL": {
+ "name": "Shën Bartolemeo"
+ },
+ "SH": {
+ "name": "Shën Helena"
+ },
+ "KN": {
+ "name": "Shën Kits e Nevis"
+ },
+ "LC": {
+ "name": "Shën Luçia"
+ },
+ "MF": {
+ "name": "Shën Martin"
+ },
+ "SX": {
+ "name": "Shën Martin (Sint Maarten-pjesa e Mbretërisë së Holandës)"
+ },
+ "PM": {
+ "name": "Shën Peir dhe Mikuelon"
+ },
+ "VC": {
+ "name": "Shën Vinsent dhe Grenadinet"
+ },
+ "AL": {
+ "name": "Shqipëri"
+ },
+ "US": {
+ "name": "Shtetet e Bashkuara të Amerikës"
+ },
+ "TH": {
+ "name": "Tajlandë"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzani"
+ },
+ "TJ": {
+ "name": "Taxhikistan"
+ },
+ "TF": {
+ "name": "Territoret Australiane Franceze"
+ },
+ "PS": {
+ "name": "Territoret Palestineze"
+ },
+ "IO": {
+ "name": "Territori Britanik i Oqeanit Indian"
+ },
+ "TL": {
+ "name": "Timori Lindor"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad e Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Kuna"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turqi"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "EA": {
+ "name": "Theuta e Melila"
+ },
+ "UG": {
+ "name": "Ugandë"
+ },
+ "UA": {
+ "name": "Ukrainë"
+ },
+ "WF": {
+ "name": "Uollis e Futina"
+ },
+ "UY": {
+ "name": "Uruguai"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuelë"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "JM": {
+ "name": "Xhamajkë"
+ },
+ "JE": {
+ "name": "Xhersej"
+ },
+ "DJ": {
+ "name": "Xhibut"
+ },
+ "GS": {
+ "name": "Xhorxha Jugore dhe Ishujt Senduiç të Jugut"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zelanda e Re"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ },
+ "CH": {
+ "name": "Zvicër"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sr-Latn.json b/library/intl/resources/country/sr-Latn.json
new file mode 100644
index 000000000..ce8338687
--- /dev/null
+++ b/library/intl/resources/country/sr-Latn.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "Albanija"
+ },
+ "DZ": {
+ "name": "Alžir"
+ },
+ "VI": {
+ "name": "AmeriÄka DeviÄanska Ostrva"
+ },
+ "AS": {
+ "name": "AmeriÄka Samoa"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angvila"
+ },
+ "AQ": {
+ "name": "Antarktik"
+ },
+ "AG": {
+ "name": "Antigva i Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australija"
+ },
+ "AT": {
+ "name": "Austrija"
+ },
+ "AF": {
+ "name": "Avganistan"
+ },
+ "AZ": {
+ "name": "Azerbejdžan"
+ },
+ "BS": {
+ "name": "Bahami"
+ },
+ "BH": {
+ "name": "Bahrein"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgija"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BY": {
+ "name": "Belorusija"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BW": {
+ "name": "Bocvana"
+ },
+ "BO": {
+ "name": "Bolivija"
+ },
+ "BA": {
+ "name": "Bosna i Hercegovina"
+ },
+ "CX": {
+ "name": "Božićno ostrvo"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "VG": {
+ "name": "Britanska DeviÄanska Ostrva"
+ },
+ "IO": {
+ "name": "Britanska teritorija u Indijskom okeanu"
+ },
+ "BN": {
+ "name": "Brunej"
+ },
+ "BG": {
+ "name": "Bugarska"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CF": {
+ "name": "CentralnoafriÄka Republika"
+ },
+ "ME": {
+ "name": "Crna Gora"
+ },
+ "TD": {
+ "name": "ÄŒad"
+ },
+ "CZ": {
+ "name": "Češka"
+ },
+ "CL": {
+ "name": "ÄŒile"
+ },
+ "DK": {
+ "name": "Danska"
+ },
+ "DG": {
+ "name": "Dijego Garsija"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikanska Republika"
+ },
+ "JE": {
+ "name": "Džersi"
+ },
+ "DJ": {
+ "name": "Džibuti"
+ },
+ "EG": {
+ "name": "Egipat"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorijalna Gvineja"
+ },
+ "ER": {
+ "name": "Eritreja"
+ },
+ "EE": {
+ "name": "Estonija"
+ },
+ "ET": {
+ "name": "Etiopija"
+ },
+ "FO": {
+ "name": "Farska Ostrva"
+ },
+ "FJ": {
+ "name": "Fidži"
+ },
+ "PH": {
+ "name": "Filipini"
+ },
+ "FI": {
+ "name": "Finska"
+ },
+ "FK": {
+ "name": "Foklandska ostrva"
+ },
+ "FR": {
+ "name": "Francuska"
+ },
+ "GF": {
+ "name": "Francuska Gvajana"
+ },
+ "PF": {
+ "name": "Francuska Polinezija"
+ },
+ "TF": {
+ "name": "Francuske Južne Teritorije"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambija"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "GrÄka"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenland"
+ },
+ "GE": {
+ "name": "Gruzija"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Gurnsi"
+ },
+ "GP": {
+ "name": "Gvadelupe"
+ },
+ "GY": {
+ "name": "Gvajana"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineja"
+ },
+ "GW": {
+ "name": "Gvineja-Bisao"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "Holandija"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong S. A. R. Kina"
+ },
+ "HR": {
+ "name": "Hrvatska"
+ },
+ "IN": {
+ "name": "Indija"
+ },
+ "ID": {
+ "name": "Indonezija"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irska"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "TL": {
+ "name": "IstoÄni Timor"
+ },
+ "IT": {
+ "name": "Italija"
+ },
+ "IL": {
+ "name": "Izrael"
+ },
+ "JM": {
+ "name": "Jamajka"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "AM": {
+ "name": "Jermenija"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "GS": {
+ "name": "Južna Džordžija i Južna SendviÄ Ostrva"
+ },
+ "KR": {
+ "name": "Južna Koreja"
+ },
+ "SS": {
+ "name": "Južni Sudan"
+ },
+ "ZA": {
+ "name": "JužnoafriÄka Republika"
+ },
+ "KY": {
+ "name": "Kajmanska Ostrva"
+ },
+ "KH": {
+ "name": "Kambodža"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarska ostrva"
+ },
+ "BQ": {
+ "name": "Karipska Holandija"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazahstan"
+ },
+ "KE": {
+ "name": "Kenija"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "CY": {
+ "name": "Kipar"
+ },
+ "KG": {
+ "name": "Kirgistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokos (Keling) Ostrva"
+ },
+ "CO": {
+ "name": "Kolumbija"
+ },
+ "KM": {
+ "name": "Komorska Ostrva"
+ },
+ "CG": {
+ "name": "Kongo - Brazavil"
+ },
+ "CD": {
+ "name": "Kongo - Kinšasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kukova Ostrva"
+ },
+ "CW": {
+ "name": "Kurasao"
+ },
+ "KW": {
+ "name": "Kuvajt"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonija"
+ },
+ "LB": {
+ "name": "Liban"
+ },
+ "LR": {
+ "name": "Liberija"
+ },
+ "LY": {
+ "name": "Libija"
+ },
+ "LI": {
+ "name": "Lihtenštajn"
+ },
+ "LT": {
+ "name": "Litvanija"
+ },
+ "LU": {
+ "name": "Luksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "HU": {
+ "name": "Mađarska"
+ },
+ "YT": {
+ "name": "Majot"
+ },
+ "MK": {
+ "name": "Makedonija"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivi"
+ },
+ "MY": {
+ "name": "Malezija"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalska Ostrva"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauricijus"
+ },
+ "MR": {
+ "name": "Mauritanija"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "MM": {
+ "name": "Mijanmar (Burma)"
+ },
+ "FM": {
+ "name": "Mikronezija"
+ },
+ "MD": {
+ "name": "Moldavija"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolija"
+ },
+ "MS": {
+ "name": "Monserat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NA": {
+ "name": "Namibija"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "DE": {
+ "name": "NemaÄka"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigerija"
+ },
+ "NI": {
+ "name": "Nikaragva"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Ostrvo"
+ },
+ "NO": {
+ "name": "Norveška"
+ },
+ "NC": {
+ "name": "Nova Kaledonija"
+ },
+ "NZ": {
+ "name": "Novi Zeland"
+ },
+ "CI": {
+ "name": "Obala SlonovaÄe"
+ },
+ "AX": {
+ "name": "Olandska ostrva"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "TC": {
+ "name": "Ostrva Turks i Kaikos"
+ },
+ "AC": {
+ "name": "Ostrvo Asension"
+ },
+ "IM": {
+ "name": "Ostrvo Man"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinske teritorije"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nova Gvineja"
+ },
+ "PY": {
+ "name": "Paragvaj"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkern"
+ },
+ "PL": {
+ "name": "Poljska"
+ },
+ "PR": {
+ "name": "Portoriko"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "RE": {
+ "name": "Reinion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumunija"
+ },
+ "RU": {
+ "name": "Rusija"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome i Principe"
+ },
+ "MO": {
+ "name": "SAR Makao (Kina)"
+ },
+ "SA": {
+ "name": "Saudijska Arabija"
+ },
+ "SC": {
+ "name": "Sejšeli"
+ },
+ "PM": {
+ "name": "Sen Pjer i Mikelon"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KN": {
+ "name": "Sent Kits i Nevis"
+ },
+ "MF": {
+ "name": "Sent Martin"
+ },
+ "VC": {
+ "name": "Sent Vinsent i Grenadini"
+ },
+ "EA": {
+ "name": "Seuta i Melilja"
+ },
+ "KP": {
+ "name": "Severna Koreja"
+ },
+ "MP": {
+ "name": "Severna Marijanska Ostrva"
+ },
+ "SL": {
+ "name": "Sijera Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SY": {
+ "name": "Sirija"
+ },
+ "US": {
+ "name": "Sjedinjene AmeriÄke Države"
+ },
+ "SK": {
+ "name": "SlovaÄka"
+ },
+ "SI": {
+ "name": "Slovenija"
+ },
+ "SB": {
+ "name": "Solomonska Ostrva"
+ },
+ "SO": {
+ "name": "Somalija"
+ },
+ "RS": {
+ "name": "Srbija"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard i Jan Majen"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "SH": {
+ "name": "Sveta Jelena"
+ },
+ "LC": {
+ "name": "Sveta Lucija"
+ },
+ "BL": {
+ "name": "Sveti Bartolomej"
+ },
+ "SX": {
+ "name": "Sveti Martin"
+ },
+ "ES": {
+ "name": "Å panija"
+ },
+ "LK": {
+ "name": "Å ri Lanka"
+ },
+ "CH": {
+ "name": "Å vajcarska"
+ },
+ "SE": {
+ "name": "Å vedska"
+ },
+ "TJ": {
+ "name": "Tadžikistan"
+ },
+ "TH": {
+ "name": "Tajland"
+ },
+ "TW": {
+ "name": "Tajvan"
+ },
+ "TZ": {
+ "name": "Tanzanija"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad i Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Kunja"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TR": {
+ "name": "Turska"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "Udaljena ostrva SAD"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "AE": {
+ "name": "Ujedinjeni Arapski Emirati"
+ },
+ "UA": {
+ "name": "Ukrajina"
+ },
+ "UY": {
+ "name": "Urugvaj"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "WF": {
+ "name": "Valis i Futuna"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "GB": {
+ "name": "Velika Britanija"
+ },
+ "VE": {
+ "name": "Venecuela"
+ },
+ "VN": {
+ "name": "Vijetnam"
+ },
+ "ZM": {
+ "name": "Zambija"
+ },
+ "EH": {
+ "name": "Zapadna Sahara"
+ },
+ "CV": {
+ "name": "Zelenortska Ostrva"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sr.json b/library/intl/resources/country/sr.json
new file mode 100644
index 000000000..caf012760
--- /dev/null
+++ b/library/intl/resources/country/sr.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "ÐвганиÑтан"
+ },
+ "AZ": {
+ "name": "Ðзербејџан"
+ },
+ "AL": {
+ "name": "Ðлбанија"
+ },
+ "DZ": {
+ "name": "Ðлжир"
+ },
+ "VI": {
+ "name": "Ðмеричка ДевичанÑка ОÑтрва"
+ },
+ "AS": {
+ "name": "Ðмеричка Самоа"
+ },
+ "AI": {
+ "name": "Ðнгвила"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AD": {
+ "name": "Ðндора"
+ },
+ "AQ": {
+ "name": "Ðнтарктик"
+ },
+ "AG": {
+ "name": "Ðнтигва и Барбуда"
+ },
+ "AR": {
+ "name": "Ðргентина"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AU": {
+ "name": "ÐуÑтралија"
+ },
+ "AT": {
+ "name": "ÐуÑтрија"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "BS": {
+ "name": "Бахами"
+ },
+ "BH": {
+ "name": "Бахреин"
+ },
+ "BE": {
+ "name": "Белгија"
+ },
+ "BZ": {
+ "name": "Белизе"
+ },
+ "BY": {
+ "name": "БелоруÑија"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "CX": {
+ "name": "Божићно оÑтрво"
+ },
+ "BO": {
+ "name": "Боливија"
+ },
+ "BA": {
+ "name": "БоÑна и Херцеговина"
+ },
+ "BW": {
+ "name": "Боцвана"
+ },
+ "BR": {
+ "name": "Бразил"
+ },
+ "VG": {
+ "name": "БританÑка ДевичанÑка ОÑтрва"
+ },
+ "IO": {
+ "name": "БританÑка територија у ИндијÑком океану"
+ },
+ "BN": {
+ "name": "Брунеј"
+ },
+ "BG": {
+ "name": "БугарÑка"
+ },
+ "BF": {
+ "name": "Буркина ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "WF": {
+ "name": "Ð’Ð°Ð»Ð¸Ñ Ð¸ Футуна"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "GB": {
+ "name": "Велика Британија"
+ },
+ "VE": {
+ "name": "Венецуела"
+ },
+ "VN": {
+ "name": "Вијетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "GM": {
+ "name": "Гамбија"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GP": {
+ "name": "Гваделупе"
+ },
+ "GY": {
+ "name": "Гвајана"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "Гвинеја"
+ },
+ "GW": {
+ "name": "Гвинеја-БиÑао"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "Гренланд"
+ },
+ "GE": {
+ "name": "Грузија"
+ },
+ "GR": {
+ "name": "Грчка"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "GG": {
+ "name": "ГурнÑи"
+ },
+ "DK": {
+ "name": "ДанÑка"
+ },
+ "DG": {
+ "name": "Дијего ГарÑија"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "ДоминиканÑка Република"
+ },
+ "EG": {
+ "name": "Египат"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваторијална Гвинеја"
+ },
+ "ER": {
+ "name": "Еритреја"
+ },
+ "EE": {
+ "name": "ЕÑтонија"
+ },
+ "ET": {
+ "name": "Етиопија"
+ },
+ "ZM": {
+ "name": "Замбија"
+ },
+ "EH": {
+ "name": "Западна Сахара"
+ },
+ "CV": {
+ "name": "ЗеленортÑка ОÑтрва"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "IL": {
+ "name": "Израел"
+ },
+ "IN": {
+ "name": "Индија"
+ },
+ "ID": {
+ "name": "Индонезија"
+ },
+ "IQ": {
+ "name": "Ирак"
+ },
+ "IR": {
+ "name": "Иран"
+ },
+ "IE": {
+ "name": "ИрÑка"
+ },
+ "IS": {
+ "name": "ИÑланд"
+ },
+ "TL": {
+ "name": "ИÑточни Тимор"
+ },
+ "IT": {
+ "name": "Италија"
+ },
+ "JM": {
+ "name": "Јамајка"
+ },
+ "JP": {
+ "name": "Јапан"
+ },
+ "YE": {
+ "name": "Јемен"
+ },
+ "AM": {
+ "name": "Јерменија"
+ },
+ "JO": {
+ "name": "Јордан"
+ },
+ "KR": {
+ "name": "Јужна Кореја"
+ },
+ "GS": {
+ "name": "Јужна Ðорџија и Јужна Сендвич ОÑтрва"
+ },
+ "SS": {
+ "name": "Јужни Судан"
+ },
+ "ZA": {
+ "name": "Јужноафричка Република"
+ },
+ "KZ": {
+ "name": "КазахÑтан"
+ },
+ "KY": {
+ "name": "КајманÑка ОÑтрва"
+ },
+ "KH": {
+ "name": "Камбоџа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "КанарÑка оÑтрва"
+ },
+ "BQ": {
+ "name": "КарипÑка Холандија"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "Кенија"
+ },
+ "CN": {
+ "name": "Кина"
+ },
+ "CY": {
+ "name": "Кипар"
+ },
+ "KG": {
+ "name": "КиргиÑтан"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "ÐšÐ¾ÐºÐ¾Ñ (Келинг) ОÑтрва"
+ },
+ "CO": {
+ "name": "Колумбија"
+ },
+ "KM": {
+ "name": "КоморÑка ОÑтрва"
+ },
+ "CG": {
+ "name": "Конго - Бразавил"
+ },
+ "CD": {
+ "name": "Конго - КиншаÑа"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑтарика"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувајт"
+ },
+ "CK": {
+ "name": "Кукова ОÑтрва"
+ },
+ "CW": {
+ "name": "КураÑао"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LV": {
+ "name": "Летонија"
+ },
+ "LB": {
+ "name": "Либан"
+ },
+ "LR": {
+ "name": "Либерија"
+ },
+ "LY": {
+ "name": "Либија"
+ },
+ "LT": {
+ "name": "Литванија"
+ },
+ "LI": {
+ "name": "Лихтенштајн"
+ },
+ "LU": {
+ "name": "ЛукÑембург"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "HU": {
+ "name": "МађарÑка"
+ },
+ "YT": {
+ "name": "Мајот"
+ },
+ "MK": {
+ "name": "Македонија"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MV": {
+ "name": "Малдиви"
+ },
+ "MY": {
+ "name": "Малезија"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MT": {
+ "name": "Малта"
+ },
+ "MA": {
+ "name": "Мароко"
+ },
+ "MQ": {
+ "name": "Мартиник"
+ },
+ "MH": {
+ "name": "МаршалÑка ОÑтрва"
+ },
+ "MR": {
+ "name": "Мауританија"
+ },
+ "MU": {
+ "name": "МаурицијуÑ"
+ },
+ "MX": {
+ "name": "МекÑико"
+ },
+ "MM": {
+ "name": "Мијанмар (Бурма)"
+ },
+ "FM": {
+ "name": "Микронезија"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдавија"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "Монголија"
+ },
+ "MS": {
+ "name": "МонÑерат"
+ },
+ "NA": {
+ "name": "Ðамибија"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "DE": {
+ "name": "Ðемачка"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "Ðигерија"
+ },
+ "NI": {
+ "name": "Ðикарагва"
+ },
+ "NU": {
+ "name": "Ðиуе"
+ },
+ "NC": {
+ "name": "Ðова Каледонија"
+ },
+ "NZ": {
+ "name": "Ðови Зеланд"
+ },
+ "NO": {
+ "name": "Ðорвешка"
+ },
+ "NF": {
+ "name": "Ðорфолк ОÑтрво"
+ },
+ "CI": {
+ "name": "Обала Слоноваче"
+ },
+ "AX": {
+ "name": "ОландÑка оÑтрва"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "TC": {
+ "name": "ОÑтрва Ð¢ÑƒÑ€ÐºÑ Ð¸ КаикоÑ"
+ },
+ "AC": {
+ "name": "ОÑтрво ÐÑенÑион"
+ },
+ "IM": {
+ "name": "ОÑтрво Ман"
+ },
+ "PK": {
+ "name": "ПакиÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "ПалеÑтинÑке територије"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Ðова Гвинеја"
+ },
+ "PY": {
+ "name": "Парагвај"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкерн"
+ },
+ "PL": {
+ "name": "ПољÑка"
+ },
+ "PR": {
+ "name": "Порторико"
+ },
+ "PT": {
+ "name": "Португал"
+ },
+ "RE": {
+ "name": "Реинион"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "Румунија"
+ },
+ "RU": {
+ "name": "РуÑија"
+ },
+ "SV": {
+ "name": "Салвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан Марино"
+ },
+ "ST": {
+ "name": "Сао Томе и Принципе"
+ },
+ "MO": {
+ "name": "СÐР Макао (Кина)"
+ },
+ "SA": {
+ "name": "СаудијÑка Ðрабија"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "SJ": {
+ "name": "Свалбард и Јан Мајен"
+ },
+ "SH": {
+ "name": "Света Јелена"
+ },
+ "LC": {
+ "name": "Света Луција"
+ },
+ "BL": {
+ "name": "Свети Бартоломеј"
+ },
+ "SX": {
+ "name": "Свети Мартин"
+ },
+ "KP": {
+ "name": "Северна Кореја"
+ },
+ "MP": {
+ "name": "Северна МаријанÑка ОÑтрва"
+ },
+ "SC": {
+ "name": "Сејшели"
+ },
+ "PM": {
+ "name": "Сен Пјер и Микелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент ВинÑент и Гренадини"
+ },
+ "KN": {
+ "name": "Сент ÐšÐ¸Ñ‚Ñ Ð¸ ÐевиÑ"
+ },
+ "MF": {
+ "name": "Сент Мартин"
+ },
+ "EA": {
+ "name": "Сеута и Мелиља"
+ },
+ "SL": {
+ "name": "Сијера Леоне"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SY": {
+ "name": "Сирија"
+ },
+ "US": {
+ "name": "Сједињене Ðмеричке Државе"
+ },
+ "SK": {
+ "name": "Словачка"
+ },
+ "SI": {
+ "name": "Словенија"
+ },
+ "SB": {
+ "name": "СоломонÑка ОÑтрва"
+ },
+ "SO": {
+ "name": "Сомалија"
+ },
+ "RS": {
+ "name": "Србија"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TW": {
+ "name": "Тајван"
+ },
+ "TH": {
+ "name": "Тајланд"
+ },
+ "TZ": {
+ "name": "Танзанија"
+ },
+ "TJ": {
+ "name": "ТаџикиÑтан"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад и Тобаго"
+ },
+ "TA": {
+ "name": "ТриÑтан да Куња"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "TM": {
+ "name": "ТуркмениÑтан"
+ },
+ "TR": {
+ "name": "ТурÑка"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UM": {
+ "name": "Удаљена оÑтрва СÐД"
+ },
+ "UZ": {
+ "name": "УзбекиÑтан"
+ },
+ "AE": {
+ "name": "Уједињени ÐрапÑки Емирати"
+ },
+ "UA": {
+ "name": "Украјина"
+ },
+ "UY": {
+ "name": "Уругвај"
+ },
+ "FO": {
+ "name": "ФарÑка ОÑтрва"
+ },
+ "PH": {
+ "name": "Филипини"
+ },
+ "FI": {
+ "name": "ФинÑка"
+ },
+ "FJ": {
+ "name": "Фиџи"
+ },
+ "FK": {
+ "name": "ФокландÑка оÑтрва"
+ },
+ "FR": {
+ "name": "ФранцуÑка"
+ },
+ "GF": {
+ "name": "ФранцуÑка Гвајана"
+ },
+ "PF": {
+ "name": "ФранцуÑка Полинезија"
+ },
+ "TF": {
+ "name": "ФранцуÑке Јужне Територије"
+ },
+ "HT": {
+ "name": "Хаити"
+ },
+ "NL": {
+ "name": "Холандија"
+ },
+ "HK": {
+ "name": "Хонг Конг С. Ð. Р. Кина"
+ },
+ "HN": {
+ "name": "ХондураÑ"
+ },
+ "HR": {
+ "name": "ХрватÑка"
+ },
+ "CF": {
+ "name": "Централноафричка Република"
+ },
+ "ME": {
+ "name": "Црна Гора"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "Чешка"
+ },
+ "CL": {
+ "name": "Чиле"
+ },
+ "JE": {
+ "name": "ÐерÑи"
+ },
+ "DJ": {
+ "name": "Ðибути"
+ },
+ "CH": {
+ "name": "ШвајцарÑка"
+ },
+ "SE": {
+ "name": "ШведÑка"
+ },
+ "ES": {
+ "name": "Шпанија"
+ },
+ "LK": {
+ "name": "Шри Ланка"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sv-FI.json b/library/intl/resources/country/sv-FI.json
new file mode 100644
index 000000000..16e1eeded
--- /dev/null
+++ b/library/intl/resources/country/sv-FI.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algeriet"
+ },
+ "VI": {
+ "name": "Amerikanska Jungfruöarna"
+ },
+ "AS": {
+ "name": "Amerikanska Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua och Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "AZ": {
+ "name": "Azerbajdzjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgien"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BQ": {
+ "name": "Bonaire, S:t Eustatius och Saba"
+ },
+ "BA": {
+ "name": "Bosnien och Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "VG": {
+ "name": "Brittiska Jungfruöarna"
+ },
+ "IO": {
+ "name": "Brittiska territoriet i Indiska oceanen"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KY": {
+ "name": "Caymanöarna"
+ },
+ "CF": {
+ "name": "Centralafrikanska republiken"
+ },
+ "EA": {
+ "name": "Ceuta och Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CK": {
+ "name": "Cooköarna"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypern"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "CD": {
+ "name": "Demokratiska republiken Kongo"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikanska republiken"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypten"
+ },
+ "GQ": {
+ "name": "Ekvatorialguinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenskusten"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopien"
+ },
+ "FK": {
+ "name": "Falklandsöarna"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippinerna"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrike"
+ },
+ "GF": {
+ "name": "Franska Guyana"
+ },
+ "PF": {
+ "name": "Franska Polynesien"
+ },
+ "TF": {
+ "name": "Franska sydterritorierna"
+ },
+ "FO": {
+ "name": "Färöarna"
+ },
+ "AE": {
+ "name": "Förenade Arabemiraten"
+ },
+ "GB": {
+ "name": "Förenade kungariket"
+ },
+ "US": {
+ "name": "Förenta staterna"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grekland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong (S.A.R. Kina)"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanien"
+ },
+ "CX": {
+ "name": "Julön"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarieöarna"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosöarna"
+ },
+ "KM": {
+ "name": "Komorerna"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macao (S.A.R. Kina)"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonien"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldiverna"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marocko"
+ },
+ "MH": {
+ "name": "Marshallöarna"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesien"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldavien"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoliet"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederländerna"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "MP": {
+ "name": "Nordmarianerna"
+ },
+ "SD": {
+ "name": "Nordsudan"
+ },
+ "NF": {
+ "name": "Norfolkön"
+ },
+ "NO": {
+ "name": "Norge"
+ },
+ "NC": {
+ "name": "Nya Kaledonien"
+ },
+ "NZ": {
+ "name": "Nya Zeeland"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinska området"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nya Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumänien"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "RU": {
+ "name": "Ryssland"
+ },
+ "MF": {
+ "name": "S:t Martin (franska delen)"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts och Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "PM": {
+ "name": "Saint Pierre och Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent och Grenadinerna"
+ },
+ "BL": {
+ "name": "Saint-Barthélemy"
+ },
+ "SB": {
+ "name": "Salomonöarna"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé och Príncipe"
+ },
+ "SA": {
+ "name": "Saudiarabien"
+ },
+ "CH": {
+ "name": "Schweiz"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellerna"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Martin"
+ },
+ "SK": {
+ "name": "Slovakien"
+ },
+ "SI": {
+ "name": "Slovenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard och Jan Mayen"
+ },
+ "SE": {
+ "name": "Sverige"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "ZA": {
+ "name": "Sydafrika"
+ },
+ "GS": {
+ "name": "Sydgeorgien och Sydsandwichöarna"
+ },
+ "KR": {
+ "name": "Sydkorea"
+ },
+ "SS": {
+ "name": "Sydsudan"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadzjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "CZ": {
+ "name": "Tjeckien"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelauöarna"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad och Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisien"
+ },
+ "TR": {
+ "name": "Turkiet"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- och Caicosöarna"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "DE": {
+ "name": "Tyskland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungern"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UM": {
+ "name": "USA:s yttre öar"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanen"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "BY": {
+ "name": "Vitryssland"
+ },
+ "EH": {
+ "name": "Västsahara"
+ },
+ "WF": {
+ "name": "Wallis- och Futuna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "AX": {
+ "name": "Ã…land"
+ },
+ "AT": {
+ "name": "Österrike"
+ },
+ "TL": {
+ "name": "Östtimor"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sv.json b/library/intl/resources/country/sv.json
new file mode 100644
index 000000000..dac3698c6
--- /dev/null
+++ b/library/intl/resources/country/sv.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "AL": {
+ "name": "Albanien"
+ },
+ "DZ": {
+ "name": "Algeriet"
+ },
+ "VI": {
+ "name": "Amerikanska Jungfruöarna"
+ },
+ "AS": {
+ "name": "Amerikanska Samoa"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua och Barbuda"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenien"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension"
+ },
+ "AU": {
+ "name": "Australien"
+ },
+ "AZ": {
+ "name": "Azerbajdzjan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgien"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnien och Hercegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilien"
+ },
+ "VG": {
+ "name": "Brittiska Jungfruöarna"
+ },
+ "IO": {
+ "name": "Brittiska territoriet i Indiska oceanen"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarien"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "KY": {
+ "name": "Caymanöarna"
+ },
+ "CF": {
+ "name": "Centralafrikanska republiken"
+ },
+ "EA": {
+ "name": "Ceuta och Melilla"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "CK": {
+ "name": "Cooköarna"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "CY": {
+ "name": "Cypern"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "DO": {
+ "name": "Dominikanska republiken"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypten"
+ },
+ "GQ": {
+ "name": "Ekvatorialguinea"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfenbenskusten"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estland"
+ },
+ "ET": {
+ "name": "Etiopien"
+ },
+ "FK": {
+ "name": "Falklandsöarna"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippinerna"
+ },
+ "FI": {
+ "name": "Finland"
+ },
+ "FR": {
+ "name": "Frankrike"
+ },
+ "GF": {
+ "name": "Franska Guyana"
+ },
+ "PF": {
+ "name": "Franska Polynesien"
+ },
+ "TF": {
+ "name": "Franska sydterritorierna"
+ },
+ "FO": {
+ "name": "Färöarna"
+ },
+ "AE": {
+ "name": "Förenade Arabemiraten"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgien"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GR": {
+ "name": "Grekland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hongkong (S.A.R. Kina)"
+ },
+ "IN": {
+ "name": "Indien"
+ },
+ "ID": {
+ "name": "Indonesien"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italien"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jemen"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanien"
+ },
+ "CX": {
+ "name": "Julön"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarieöarna"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "BQ": {
+ "name": "Karibiska Nederländerna"
+ },
+ "KZ": {
+ "name": "Kazakstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CN": {
+ "name": "Kina"
+ },
+ "KG": {
+ "name": "Kirgizistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosöarna"
+ },
+ "KM": {
+ "name": "Komorerna"
+ },
+ "CG": {
+ "name": "Kongo-Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatien"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuwait"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libyen"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litauen"
+ },
+ "LU": {
+ "name": "Luxemburg"
+ },
+ "MO": {
+ "name": "Macao (S.A.R. Kina)"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonien"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldiverna"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Marocko"
+ },
+ "MH": {
+ "name": "Marshallöarna"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanien"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesien"
+ },
+ "MZ": {
+ "name": "Moçambique"
+ },
+ "MD": {
+ "name": "Moldavien"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "MN": {
+ "name": "Mongoliet"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NL": {
+ "name": "Nederländerna"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "MP": {
+ "name": "Nordmarianerna"
+ },
+ "NF": {
+ "name": "Norfolkön"
+ },
+ "NO": {
+ "name": "Norge"
+ },
+ "NC": {
+ "name": "Nya Kaledonien"
+ },
+ "NZ": {
+ "name": "Nya Zeeland"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Palestinska territorierna"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Nya Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairnöarna"
+ },
+ "PL": {
+ "name": "Polen"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Rumänien"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "RU": {
+ "name": "Ryssland"
+ },
+ "BL": {
+ "name": "S:t Barthélemy"
+ },
+ "SH": {
+ "name": "S:t Helena"
+ },
+ "KN": {
+ "name": "S:t Kitts och Nevis"
+ },
+ "LC": {
+ "name": "S:t Lucia"
+ },
+ "MF": {
+ "name": "S:t Martin"
+ },
+ "PM": {
+ "name": "S:t Pierre och Miquelon"
+ },
+ "VC": {
+ "name": "S:t Vincent och Grenadinerna"
+ },
+ "SB": {
+ "name": "Salomonöarna"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé och Príncipe"
+ },
+ "SA": {
+ "name": "Saudiarabien"
+ },
+ "CH": {
+ "name": "Schweiz"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbien"
+ },
+ "SC": {
+ "name": "Seychellerna"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakien"
+ },
+ "SI": {
+ "name": "Slovenien"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "ES": {
+ "name": "Spanien"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "GB": {
+ "name": "Storbritannien"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SJ": {
+ "name": "Svalbard och Jan Mayen"
+ },
+ "SE": {
+ "name": "Sverige"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "ZA": {
+ "name": "Sydafrika"
+ },
+ "GS": {
+ "name": "Sydgeorgien och Sydsandwichöarna"
+ },
+ "KR": {
+ "name": "Sydkorea"
+ },
+ "SS": {
+ "name": "Sydsudan"
+ },
+ "SY": {
+ "name": "Syrien"
+ },
+ "TJ": {
+ "name": "Tadzjikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TD": {
+ "name": "Tchad"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "CZ": {
+ "name": "Tjeckien"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad och Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisien"
+ },
+ "TR": {
+ "name": "Turkiet"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TC": {
+ "name": "Turks- och Caicosöarna"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "DE": {
+ "name": "Tyskland"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "HU": {
+ "name": "Ungern"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "US": {
+ "name": "USA"
+ },
+ "UM": {
+ "name": "USA:s yttre öar"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikanstaten"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "BY": {
+ "name": "Vitryssland"
+ },
+ "EH": {
+ "name": "Västsahara"
+ },
+ "WF": {
+ "name": "Wallis- och Futunaöarna"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ },
+ "AX": {
+ "name": "Ã…land"
+ },
+ "AT": {
+ "name": "Österrike"
+ },
+ "TL": {
+ "name": "Östtimor"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/sw.json b/library/intl/resources/country/sw.json
new file mode 100644
index 000000000..850cefc29
--- /dev/null
+++ b/library/intl/resources/country/sw.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antaktika"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "EA": {
+ "name": "Ceuta na Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CI": {
+ "name": "Côte d’Ivoire"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "GS": {
+ "name": "Jojia Kusini na Visiwa vya Sandwich Kusini"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "AC": {
+ "name": "Kisiwa cha Ascension"
+ },
+ "CX": {
+ "name": "Kisiwa cha Krismasi"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfolk"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo - Brazzaville"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CW": {
+ "name": "Kurakao"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagaska"
+ },
+ "TF": {
+ "name": "Maeneo ya Kusini ya Ufaransa"
+ },
+ "PS": {
+ "name": "Maeneo ya Palestina"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "EH": {
+ "name": "Sahara Magharibi"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "CY": {
+ "name": "Saiprasi"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "BL": {
+ "name": "Santabathelemi"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "SX": {
+ "name": "Santamatini"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "São Tomé na Príncipe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SS": {
+ "name": "Sudani Kusini"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard na Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timor ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "BQ": {
+ "name": "Uholanzi ya Karibiani"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "UM": {
+ "name": "Visiwa Vidogo vya Nje vya Marekani"
+ },
+ "AX": {
+ "name": "Visiwa vya Alandi"
+ },
+ "CC": {
+ "name": "Visiwa vya Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "FO": {
+ "name": "Visiwa vya Faroe"
+ },
+ "IC": {
+ "name": "Visiwa vya Kanari"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/swc.json b/library/intl/resources/country/swc.json
new file mode 100644
index 000000000..e57db8007
--- /dev/null
+++ b/library/intl/resources/country/swc.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ta.json b/library/intl/resources/country/ta.json
new file mode 100644
index 000000000..611ae6d63
--- /dev/null
+++ b/library/intl/resources/country/ta.json
@@ -0,0 +1,761 @@
+{
+ "AI": {
+ "name": "à®…à®™à¯à®•à¯à®¯à¯à®²à®¾"
+ },
+ "AO": {
+ "name": "à®…à®™à¯à®•à¯‹à®²à®¾"
+ },
+ "AZ": {
+ "name": "அசரà¯à®ªà¯ˆà®œà®¾à®©à¯"
+ },
+ "AQ": {
+ "name": "அணà¯à®Ÿà®¾à®°à¯à®Ÿà®¿à®•à®¾"
+ },
+ "AS": {
+ "name": "அமெரிகà¯à®• சமோவா"
+ },
+ "US": {
+ "name": "அமெரிகà¯à®•à®¾"
+ },
+ "IE": {
+ "name": "அயரà¯à®²à®¾à®¨à¯à®¤à¯"
+ },
+ "AR": {
+ "name": "à®…à®°à¯à®œà¯†à®©à¯à®Ÿà®¿à®©à®¾"
+ },
+ "AW": {
+ "name": "அரூபா"
+ },
+ "AL": {
+ "name": "அலà¯à®ªà¯‡à®©à®¿à®¯à®¾"
+ },
+ "DZ": {
+ "name": "அலà¯à®œà¯€à®°à®¿à®¯à®¾"
+ },
+ "AD": {
+ "name": "அனà¯à®Ÿà¯‹à®°à®¾"
+ },
+ "AC": {
+ "name": "அஷனà¯à®·à®¿à®¯à®©à¯ தீவà¯"
+ },
+ "AG": {
+ "name": "ஆணà¯à®Ÿà®¿à®•à¯à®µà®¾ மறà¯à®±à¯à®®à¯ பாரà¯à®ªà¯à®Ÿà®¾"
+ },
+ "AF": {
+ "name": "ஆபà¯à®•à®¾à®©à®¿à®¸à¯à®¤à®¾à®©à¯"
+ },
+ "AM": {
+ "name": "ஆரà¯à®®à¯‡à®©à®¿à®¯à®¾"
+ },
+ "AX": {
+ "name": "ஆலநà¯à®¤à¯ தீவà¯à®•à®³à¯"
+ },
+ "AT": {
+ "name": "ஆஸà¯à®¤à®¿à®°à®¿à®¯à®¾"
+ },
+ "AU": {
+ "name": "ஆஸà¯à®¤à®¿à®°à¯‡à®²à®¿à®¯à®¾"
+ },
+ "IT": {
+ "name": "இதà¯à®¤à®¾à®²à®¿"
+ },
+ "IN": {
+ "name": "இநà¯à®¤à®¿à®¯à®¾"
+ },
+ "ID": {
+ "name": "இநà¯à®¤à¯‹à®©à¯‡à®·à®¿à®¯à®¾"
+ },
+ "LK": {
+ "name": "இலஙà¯à®•à¯ˆ"
+ },
+ "IL": {
+ "name": "இஸà¯à®°à¯‡à®²à¯"
+ },
+ "GQ": {
+ "name": "ஈகà¯à®•à¯à®µà®¾à®Ÿà¯‹à®°à®¿à®¯à®²à¯ கினியா"
+ },
+ "EC": {
+ "name": "ஈகà¯à®µà®Ÿà®¾à®°à¯"
+ },
+ "IQ": {
+ "name": "ஈராகà¯"
+ },
+ "IR": {
+ "name": "ஈரானà¯"
+ },
+ "UA": {
+ "name": "உகà¯à®°à¯ˆà®©à¯"
+ },
+ "UG": {
+ "name": "உகாணà¯à®Ÿà®¾"
+ },
+ "UY": {
+ "name": "உரà¯à®•à¯à®µà¯‡"
+ },
+ "UZ": {
+ "name": "உஸà¯à®ªà¯†à®•à®¿à®¸à¯à®¤à®¾à®©à¯"
+ },
+ "EG": {
+ "name": "எகிபà¯à®¤à¯"
+ },
+ "ET": {
+ "name": "எதியோபà¯à®ªà®¿à®¯à®¾"
+ },
+ "ER": {
+ "name": "எரிடà¯à®°à®¿à®¯à®¾"
+ },
+ "SV": {
+ "name": "எல௠சாலà¯à®µà®Ÿà®¾à®°à¯"
+ },
+ "EE": {
+ "name": "எஸà¯à®Ÿà¯‹à®©à®¿à®¯à®¾"
+ },
+ "YE": {
+ "name": "à®à®®à®©à¯"
+ },
+ "AE": {
+ "name": "à®à®•à¯à®•à®¿à®¯ அரப௠எமிரேடà¯à®¸à¯"
+ },
+ "GB": {
+ "name": "à®à®•à¯à®•à®¿à®¯ பேரரசà¯"
+ },
+ "IM": {
+ "name": "à®à®²à¯ ஆஃப௠மேனà¯"
+ },
+ "IS": {
+ "name": "à®à®¸à¯à®²à®¾à®¨à¯à®¤à¯"
+ },
+ "OM": {
+ "name": "ஓமனà¯"
+ },
+ "FK": {
+ "name": "ஃபாகà¯à®²à®¾à®¨à¯à®¤à¯ தீவà¯à®•à®³à¯"
+ },
+ "FO": {
+ "name": "ஃபாரோ தீவà¯à®•à®³à¯"
+ },
+ "FJ": {
+ "name": "ஃபிஜி"
+ },
+ "GP": {
+ "name": "கà¯à®µà®¾à®¤à¯‡à®²à¯‹à®ªà¯"
+ },
+ "QA": {
+ "name": "கதà¯à®¤à®¾à®°à¯"
+ },
+ "KH": {
+ "name": "கமà¯à®ªà¯‹à®Ÿà®¿à®¯à®¾"
+ },
+ "GY": {
+ "name": "கயானா"
+ },
+ "BQ": {
+ "name": "கரீபியன௠நெதரà¯à®²à®¾à®¨à¯à®¤à¯"
+ },
+ "GT": {
+ "name": "கவà¯à®¤à®®à®¾à®²à®¾"
+ },
+ "CA": {
+ "name": "கனடா"
+ },
+ "KZ": {
+ "name": "கஸகஸà¯à®¤à®¾à®©à¯"
+ },
+ "CD": {
+ "name": "காஙà¯à®•à¯‹ - கினà¯à®·à®¾à®šà®¾"
+ },
+ "CG": {
+ "name": "காஙà¯à®•à¯‹ - பà¯à®°à®¾à®¸à®¾à®µà®¿à®²à¯à®²à¯‡"
+ },
+ "GM": {
+ "name": "காமà¯à®ªà®¿à®¯à®¾"
+ },
+ "GH": {
+ "name": "கானா"
+ },
+ "CU": {
+ "name": "கியூபா"
+ },
+ "KG": {
+ "name": "கிரà¯à®•à®¿à®¸à¯à®¤à®¾à®©à¯"
+ },
+ "GD": {
+ "name": "கிரனெடா"
+ },
+ "KI": {
+ "name": "கிரிபடி"
+ },
+ "GL": {
+ "name": "கிரீனà¯à®²à®¾à®¨à¯à®¤à¯"
+ },
+ "GR": {
+ "name": "கிரீஸà¯"
+ },
+ "CX": {
+ "name": "கிறிஸà¯à®¤à¯à®®à®¸à¯ தீவà¯"
+ },
+ "GW": {
+ "name": "கினி-பிஸà¯à®¸à®¾à®µà¯"
+ },
+ "GN": {
+ "name": "கினியா"
+ },
+ "CK": {
+ "name": "கà¯à®•à¯ தீவà¯à®•à®³à¯"
+ },
+ "CW": {
+ "name": "கà¯à®°à®¾à®•à®µà¯"
+ },
+ "HR": {
+ "name": "கà¯à®°à¯‹à®šà®¿à®¯à®¾"
+ },
+ "GU": {
+ "name": "கà¯à®µà®¾à®®à¯"
+ },
+ "KW": {
+ "name": "கà¯à®µà¯ˆà®¤à¯"
+ },
+ "GG": {
+ "name": "கெரà¯à®©à¯à®šà®¿"
+ },
+ "KE": {
+ "name": "கெனà¯à®¯à®¾"
+ },
+ "CV": {
+ "name": "கேப௠வெரà¯à®Ÿà¯‡"
+ },
+ "GA": {
+ "name": "கேபானà¯"
+ },
+ "CM": {
+ "name": "கேமரூனà¯"
+ },
+ "KY": {
+ "name": "கேமென௠தீவà¯à®•à®³à¯"
+ },
+ "IC": {
+ "name": "கேனரி தீவà¯à®•à®³à¯"
+ },
+ "XK": {
+ "name": "கொசோவோ"
+ },
+ "CO": {
+ "name": "கொலமà¯à®ªà®¿à®¯à®¾"
+ },
+ "CC": {
+ "name": "கோகோஸ௠(கீலிஙà¯) தீவà¯à®•à®³à¯"
+ },
+ "CI": {
+ "name": "கோட௠தி’வாயரà¯"
+ },
+ "KM": {
+ "name": "கோமரோஸà¯"
+ },
+ "CR": {
+ "name": "கோஸà¯à®Ÿà®¾à®°à®¿à®•à®¾"
+ },
+ "WS": {
+ "name": "சமோவா"
+ },
+ "SA": {
+ "name": "சவூதி அரேபியா"
+ },
+ "TD": {
+ "name": "சாடà¯"
+ },
+ "SB": {
+ "name": "சாலமன௠தீவà¯à®•à®³à¯"
+ },
+ "ST": {
+ "name": "சாவ௠தோம௠மறà¯à®±à¯à®®à¯ பà¯à®°à®¿à®©à¯à®šà®¿à®ªà®¿"
+ },
+ "SM": {
+ "name": "சான௠மெரினோ"
+ },
+ "SG": {
+ "name": "சிஙà¯à®•à®ªà¯à®ªà¯‚à®°à¯"
+ },
+ "SL": {
+ "name": "சியரà¯à®°à®¾ லியோனà¯"
+ },
+ "EA": {
+ "name": "சியூடா மறà¯à®±à¯à®®à¯ மெலிலà¯à®²à®¾"
+ },
+ "SY": {
+ "name": "சிரியா"
+ },
+ "CL": {
+ "name": "சிலி"
+ },
+ "SX": {
+ "name": "சினà¯à®Ÿà¯ மாரà¯à®Ÿà¯†à®©à¯"
+ },
+ "CN": {
+ "name": "சீனா"
+ },
+ "SR": {
+ "name": "சà¯à®°à®¿à®©à®¾à®®à¯"
+ },
+ "SD": {
+ "name": "சூடானà¯"
+ },
+ "CZ": {
+ "name": "செக௠கà¯à®Ÿà®¿à®¯à®°à®šà¯"
+ },
+ "KN": {
+ "name": "செயினà¯à®Ÿà¯ கிடà¯à®¸à¯ மறà¯à®±à¯à®®à¯ நெவிஸà¯"
+ },
+ "BL": {
+ "name": "செயினà¯à®Ÿà¯ பாரà¯à®¤à¯‡à®²à¯†à®®à®¿"
+ },
+ "PM": {
+ "name": "செயினà¯à®Ÿà¯ பியர௠மறà¯à®±à¯à®®à¯ மிகà¯à®µà¯‡à®²à®¾à®©à¯"
+ },
+ "MF": {
+ "name": "செயினà¯à®Ÿà¯ மாரà¯à®Ÿà¯à®Ÿà¯€à®©à¯"
+ },
+ "LC": {
+ "name": "செயினà¯à®Ÿà¯ லூசியா"
+ },
+ "VC": {
+ "name": "செயினà¯à®Ÿà¯ வினà¯à®šà¯†à®©à¯à®Ÿà¯ மறà¯à®±à¯à®®à¯ கிரெனடைனà¯à®¸à¯"
+ },
+ "SH": {
+ "name": "செயினà¯à®Ÿà¯ ஹெலெனா"
+ },
+ "RS": {
+ "name": "செரà¯à®ªà®¿à®¯à®¾"
+ },
+ "SN": {
+ "name": "செனெகலà¯"
+ },
+ "CY": {
+ "name": "சைபà¯à®°à®¸à¯"
+ },
+ "SO": {
+ "name": "சோமாலியா"
+ },
+ "TT": {
+ "name": "டà¯à®°à®¿à®©à®¿à®Ÿà®¾à®Ÿà¯ மறà¯à®±à¯à®®à¯ டà¯à®ªà®¾à®•à¯‹"
+ },
+ "TC": {
+ "name": "டரà¯à®•à¯à®¸à¯ மறà¯à®±à¯à®®à¯ கைகோஸ௠தீவà¯à®•à®³à¯"
+ },
+ "DG": {
+ "name": "டியகோ காரà¯à®·à®¿à®¯à®¾"
+ },
+ "TA": {
+ "name": "டிரிஸà¯à®Ÿà®©à¯ டா கà¯à®©à¯à®¹à®¾"
+ },
+ "TN": {
+ "name": "டà¯à®©à®¿à®šà®¿à®¯à®¾"
+ },
+ "DK": {
+ "name": "டெனà¯à®®à®¾à®°à¯à®•à¯"
+ },
+ "DO": {
+ "name": "டொமினிகன௠கà¯à®Ÿà®¿à®¯à®°à®šà¯"
+ },
+ "DM": {
+ "name": "டொமினிகா"
+ },
+ "TK": {
+ "name": "டோகேலோ"
+ },
+ "TG": {
+ "name": "டோகோ"
+ },
+ "TO": {
+ "name": "டோஙà¯à®•à®¾"
+ },
+ "TH": {
+ "name": "தாயà¯à®²à®¾à®¨à¯à®¤à¯"
+ },
+ "TZ": {
+ "name": "தானà¯à®šà®¾à®©à®¿à®¯à®¾"
+ },
+ "TJ": {
+ "name": "தாஜிகிஸà¯à®¤à®¾à®©à¯"
+ },
+ "TM": {
+ "name": "தà¯à®°à¯à®•à¯à®®à¯†à®©à®¿à®¸à¯à®¤à®¾à®©à¯"
+ },
+ "TR": {
+ "name": "தà¯à®°à¯à®•à¯à®•à®¿"
+ },
+ "TV": {
+ "name": "தà¯à®µà®¾à®²à¯‚"
+ },
+ "SS": {
+ "name": "தெறà¯à®•à¯ சூடானà¯"
+ },
+ "ZA": {
+ "name": "தென௠ஆபà¯à®ªà®¿à®°à®¿à®•à¯à®•à®¾"
+ },
+ "KR": {
+ "name": "தென௠கொரியா"
+ },
+ "GS": {
+ "name": "தென௠ஜியாரà¯à®œà®¿à®¯à®¾ மறà¯à®±à¯à®®à¯ தென௠சானà¯à®Ÿà¯à®µà®¿à®šà¯ தீவà¯à®•à®³à¯"
+ },
+ "TL": {
+ "name": "தைமூரà¯-லெஸà¯à®¤à¯‡"
+ },
+ "TW": {
+ "name": "தைவானà¯"
+ },
+ "NA": {
+ "name": "நமீபியா"
+ },
+ "NF": {
+ "name": "நாரà¯à®ƒà®ªà®¾à®•à¯ தீவà¯à®•à®³à¯"
+ },
+ "NO": {
+ "name": "நாரà¯à®µà¯‡"
+ },
+ "NI": {
+ "name": "நிகரகà¯à®µà®¾"
+ },
+ "NU": {
+ "name": "நியூ"
+ },
+ "NC": {
+ "name": "நியூ கேலிடோனியா"
+ },
+ "NZ": {
+ "name": "நியூசிலாநà¯à®¤à¯"
+ },
+ "NL": {
+ "name": "நெதரà¯à®²à®¾à®¨à¯à®¤à¯"
+ },
+ "NP": {
+ "name": "நேபாளமà¯"
+ },
+ "NE": {
+ "name": "நைஜரà¯"
+ },
+ "NG": {
+ "name": "நைஜீரியா"
+ },
+ "NR": {
+ "name": "நௌரà¯"
+ },
+ "BD": {
+ "name": "பஙà¯à®•à®³à®¾à®¤à¯‡à®·à¯"
+ },
+ "PY": {
+ "name": "பராகà¯à®µà¯‡"
+ },
+ "BG": {
+ "name": "பலà¯à®•à¯‡à®°à®¿à®¯à®¾"
+ },
+ "PA": {
+ "name": "பனாமா"
+ },
+ "BH": {
+ "name": "பஹà¯à®°à¯ˆà®©à¯"
+ },
+ "BS": {
+ "name": "பஹாமாஸà¯"
+ },
+ "PK": {
+ "name": "பாகிஸà¯à®¤à®¾à®©à¯"
+ },
+ "PG": {
+ "name": "பாபà¯à®ªà¯à®µà®¾ நியூ கினி"
+ },
+ "BB": {
+ "name": "பாரà¯à®ªà®Ÿà¯‹à®¸à¯"
+ },
+ "PS": {
+ "name": "பாலஸà¯à®¤à¯€à®©à®¿à®¯ பிரதேசஙà¯à®•à®³à¯"
+ },
+ "PW": {
+ "name": "பாலோ"
+ },
+ "PN": {
+ "name": "பிடà¯à®•à¯†à®¯à¯à®°à¯à®©à¯ தீவà¯à®•à®³à¯"
+ },
+ "PR": {
+ "name": "பியூரà¯à®Ÿà¯‹ ரிகோ"
+ },
+ "FR": {
+ "name": "பிரானà¯à®¸à¯"
+ },
+ "IO": {
+ "name": "பிரிடà¯à®Ÿà®¿à®·à¯ இநà¯à®¤à®¿à®¯à®ªà¯ பெரà¯à®™à¯à®•à®Ÿà®²à¯ பிரதேசமà¯"
+ },
+ "VG": {
+ "name": "பிரிடà¯à®Ÿà¯€à®·à¯ கனà¯à®©à®¿à®¤à¯ தீவà¯à®•à®³à¯"
+ },
+ "GF": {
+ "name": "பிரெஞà¯à®šà¯ கயானா"
+ },
+ "TF": {
+ "name": "பிரெஞà¯à®šà¯ தெறà¯à®•à¯ பிரதேசஙà¯à®•à®³à¯"
+ },
+ "PF": {
+ "name": "பிரெஞà¯à®šà¯ பாலினேஷியா"
+ },
+ "BR": {
+ "name": "பிரேசிலà¯"
+ },
+ "PH": {
+ "name": "பிலிபà¯à®ªà¯ˆà®©à¯à®¸à¯"
+ },
+ "FI": {
+ "name": "பினà¯à®²à®¾à®¨à¯à®¤à¯"
+ },
+ "BF": {
+ "name": "பà¯à®°à¯à®•à®¿à®©à®¾ ஃபாஸோ"
+ },
+ "BI": {
+ "name": "பà¯à®°à¯à®£à¯à®Ÿà®¿"
+ },
+ "BN": {
+ "name": "பà¯à®°à¯‚னேயà¯"
+ },
+ "BT": {
+ "name": "பூடானà¯"
+ },
+ "BM": {
+ "name": "பெரà¯à®®à¯à®Ÿà®¾"
+ },
+ "PE": {
+ "name": "பெரà¯"
+ },
+ "BE": {
+ "name": "பெலà¯à®œà®¿à®¯à®®à¯"
+ },
+ "BY": {
+ "name": "பெலாரூஸà¯"
+ },
+ "BZ": {
+ "name": "பெலிஸà¯"
+ },
+ "BJ": {
+ "name": "பெனினà¯"
+ },
+ "BO": {
+ "name": "பொலிவியா"
+ },
+ "BW": {
+ "name": "போடà¯à®¸à¯à®µà®¾à®©à®¾"
+ },
+ "PT": {
+ "name": "போரà¯à®šà¯à®šà¯à®•à¯à®•à®²à¯"
+ },
+ "PL": {
+ "name": "போலநà¯à®¤à¯"
+ },
+ "BA": {
+ "name": "போஸà¯à®©à®¿à®¯à®¾ மறà¯à®±à¯à®®à¯ ஹெரà¯à®¸à®¿à®•à¯‹à®µà®¿à®©à®¾"
+ },
+ "MO": {
+ "name": "மகாவோ எஸà¯à®à®†à®°à¯ சீனா"
+ },
+ "MN": {
+ "name": "மஙà¯à®•à¯‹à®²à®¿à®¯à®¾"
+ },
+ "MG": {
+ "name": "மடகாஸà¯à®•à®°à¯"
+ },
+ "CF": {
+ "name": "மதà¯à®¤à®¿à®¯ ஆபà¯à®°à®¿à®•à¯à®•à®•à¯ கà¯à®Ÿà®¿à®¯à®°à®šà¯"
+ },
+ "YT": {
+ "name": "மயோதà¯"
+ },
+ "MY": {
+ "name": "மலேஷியா"
+ },
+ "MK": {
+ "name": "மாசிடோனியா"
+ },
+ "MQ": {
+ "name": "மாரà¯à®Ÿà®¿à®©à®¿à®•à¯"
+ },
+ "MH": {
+ "name": "மாரà¯à®·à®²à¯ தீவà¯à®•à®³à¯"
+ },
+ "MT": {
+ "name": "மாலà¯à®Ÿà®¾"
+ },
+ "MD": {
+ "name": "மாலà¯à®Ÿà¯‹à®µà®¾"
+ },
+ "MV": {
+ "name": "மாலதà¯à®¤à¯€à®µà¯"
+ },
+ "MW": {
+ "name": "மாலவி"
+ },
+ "ML": {
+ "name": "மாலி"
+ },
+ "ME": {
+ "name": "மானà¯à®Ÿà¯‡à®©à¯†à®•à¯à®°à¯‹"
+ },
+ "MM": {
+ "name": "மியானà¯à®®à®¾à®°à¯ (பரà¯à®®à®¾)"
+ },
+ "MX": {
+ "name": "மெகà¯à®šà®¿à®•à¯‹"
+ },
+ "EH": {
+ "name": "மேறà¯à®•à¯ சஹாரா"
+ },
+ "FM": {
+ "name": "மைகà¯à®°à¯‹à®©à¯‡à®·à®¿à®¯à®¾"
+ },
+ "MZ": {
+ "name": "மொசாமà¯à®ªà®¿à®•à¯"
+ },
+ "MA": {
+ "name": "மொராகà¯à®•à¯‹"
+ },
+ "MU": {
+ "name": "மொரிசியஸà¯"
+ },
+ "MC": {
+ "name": "மொனாகà¯à®•à¯‹"
+ },
+ "MR": {
+ "name": "மௌரிடானியா"
+ },
+ "MS": {
+ "name": "மௌனà¯à®Ÿà¯à®šà¯†à®°à®¾à®Ÿà¯"
+ },
+ "VI": {
+ "name": "யூ.எஸà¯. கனà¯à®©à®¿à®¤à¯ தீவà¯à®•à®³à¯"
+ },
+ "UM": {
+ "name": "யூஎஸ௠அவà¯à®Ÿà¯à®²à¯‡à®¯à®¿à®™à¯ தீவà¯à®•à®³à¯"
+ },
+ "RU": {
+ "name": "à®°à®·à¯à®¯à®¾"
+ },
+ "RE": {
+ "name": "ரீயூனியனà¯"
+ },
+ "RO": {
+ "name": "à®°à¯à®®à¯‡à®©à®¿à®¯à®¾"
+ },
+ "RW": {
+ "name": "à®°à¯à®µà®¾à®©à¯à®Ÿà®¾"
+ },
+ "LU": {
+ "name": "லகà¯à®¸à¯à®šà®®à¯à®ªà®°à¯à®•à¯"
+ },
+ "LV": {
+ "name": "லாடà¯à®µà®¿à®¯à®¾"
+ },
+ "LA": {
+ "name": "லாவோஸà¯"
+ },
+ "LI": {
+ "name": "லிசà¯à®šà¯†à®£à¯à®¸à¯à®Ÿà¯†à®¯à¯à®©à¯"
+ },
+ "LT": {
+ "name": "லிதà¯à®µà¯‡à®©à®¿à®¯à®¾"
+ },
+ "LY": {
+ "name": "லிபியா"
+ },
+ "LS": {
+ "name": "லெசோதோ"
+ },
+ "LB": {
+ "name": "லெபனானà¯"
+ },
+ "LR": {
+ "name": "லைபீரியா"
+ },
+ "KP": {
+ "name": "வட கொரியா"
+ },
+ "MP": {
+ "name": "வடகà¯à®•à¯ மரியானா தீவà¯à®•à®³à¯"
+ },
+ "VU": {
+ "name": "வனà¯à®µà®¾à®Ÿà¯à®Ÿà¯"
+ },
+ "VA": {
+ "name": "வாடிகன௠நகரமà¯"
+ },
+ "WF": {
+ "name": "வாலிஸ௠மறà¯à®±à¯à®®à¯ ஃபà¯à®Ÿà¯à®©à®¾"
+ },
+ "VN": {
+ "name": "வியடà¯à®¨à®¾à®®à¯"
+ },
+ "VE": {
+ "name": "வெனிசà¯à®²à®¾"
+ },
+ "JP": {
+ "name": "ஜபà¯à®ªà®¾à®©à¯"
+ },
+ "JM": {
+ "name": "ஜமைகா"
+ },
+ "ZM": {
+ "name": "ஜாமà¯à®ªà®¿à®¯à®¾"
+ },
+ "GE": {
+ "name": "ஜாரà¯à®œà®¿à®¯à®¾"
+ },
+ "GI": {
+ "name": "ஜிபà¯à®°à®¾à®²à¯à®Ÿà®°à¯"
+ },
+ "DJ": {
+ "name": "ஜிபௌடà¯à®Ÿà®¿"
+ },
+ "ZW": {
+ "name": "ஜிமà¯à®ªà®¾à®ªà¯à®µà¯‡"
+ },
+ "JE": {
+ "name": "ஜெரà¯à®šà®¿"
+ },
+ "DE": {
+ "name": "ஜெரà¯à®®à®©à®¿"
+ },
+ "JO": {
+ "name": "ஜோரà¯à®Ÿà®¾à®©à¯"
+ },
+ "ES": {
+ "name": "ஸà¯à®ªà¯†à®¯à®¿à®©à¯"
+ },
+ "SK": {
+ "name": "ஸà¯à®²à¯‹à®µà®¾à®•à®¿à®¯à®¾"
+ },
+ "SI": {
+ "name": "ஸà¯à®²à¯‹à®µà¯‡à®©à®¿à®¯à®¾"
+ },
+ "SJ": {
+ "name": "ஸà¯à®µà®²à¯à®ªà®¾à®°à¯à®Ÿà¯ மறà¯à®±à¯à®®à¯ ஜான௠மேயனà¯"
+ },
+ "SZ": {
+ "name": "ஸà¯à®µà®¾à®¸à®¿à®²à®¾à®¨à¯à®¤à¯"
+ },
+ "CH": {
+ "name": "ஸà¯à®µà®¿à®Ÿà¯à®šà®°à¯à®²à®¾à®¨à¯à®¤à¯"
+ },
+ "SE": {
+ "name": "ஸà¯à®µà¯€à®Ÿà®©à¯"
+ },
+ "SC": {
+ "name": "ஸேசேலà¯à®¸à¯"
+ },
+ "HU": {
+ "name": "ஹஙà¯à®•à¯‡à®°à®¿"
+ },
+ "HK": {
+ "name": "ஹாஙà¯à®•à®¾à®™à¯ எஸà¯à®à®†à®°à¯ சீனா"
+ },
+ "HT": {
+ "name": "ஹெயà¯à®¤à®¿"
+ },
+ "HN": {
+ "name": "ஹோணà¯à®Ÿà¯‚ராஸà¯"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/te.json b/library/intl/resources/country/te.json
new file mode 100644
index 000000000..199750306
--- /dev/null
+++ b/library/intl/resources/country/te.json
@@ -0,0 +1,761 @@
+{
+ "AO": {
+ "name": "అంగోలా"
+ },
+ "AQ": {
+ "name": "అంటారà±à°•à°Ÿà°¿à°•à°¾"
+ },
+ "AD": {
+ "name": "అండొరà±à°°à°¾"
+ },
+ "AZ": {
+ "name": "అజరà±à°¬à±ˆà°œà°¾à°¨à±"
+ },
+ "AS": {
+ "name": "అమెరికనౠసమోవా"
+ },
+ "US": {
+ "name": "అమెరికా సంయà±à°•à±à°¤ రాషà±à°Ÿà±à°°à°¾à°²à±"
+ },
+ "AW": {
+ "name": "à°…à°°à±à°¬à°¾"
+ },
+ "AR": {
+ "name": "à°…à°°à±à°œà±†à°‚టీనా"
+ },
+ "DZ": {
+ "name": "à°…à°²à±à°œà±€à°°à°¿à°¯à°¾"
+ },
+ "AL": {
+ "name": "à°…à°²à±à°¬à±‡à°¨à°¿à°¯à°¾"
+ },
+ "AI": {
+ "name": "ఆంగవిలà±à°²à°¾"
+ },
+ "AG": {
+ "name": "ఆంటిగà±à°µà°¾ మరియౠబారà±à°¬à±à°¡à°¾"
+ },
+ "AF": {
+ "name": "ఆఫà±à°˜à°¨à°¿à°¸à±à°¤à°¾à°¨à±"
+ },
+ "AM": {
+ "name": "ఆరà±à°®à±‡à°¨à°¿à°¯à°¾"
+ },
+ "AX": {
+ "name": "ఆలేండౠదీవà±à°²à±"
+ },
+ "AT": {
+ "name": "ఆసà±à°Ÿà±à°°à°¿à°¯à°¾"
+ },
+ "AU": {
+ "name": "ఆసà±à°Ÿà±à°°à±‡à°²à°¿à°¯à°¾"
+ },
+ "ID": {
+ "name": "ఇండోనేషియా"
+ },
+ "IL": {
+ "name": "ఇజà±à°°à°¾à°¯à°¿à°²à±"
+ },
+ "IT": {
+ "name": "ఇటలీ"
+ },
+ "ET": {
+ "name": "ఇథియోపియా"
+ },
+ "IQ": {
+ "name": "ఇరాకà±"
+ },
+ "IR": {
+ "name": "ఇరానà±"
+ },
+ "GQ": {
+ "name": "ఈకà±à°µà°Ÿà±‹à°°à°¿à°¯à°²à± గినియా"
+ },
+ "EC": {
+ "name": "ఈకà±à°µà°¡à°¾à°°à±"
+ },
+ "EG": {
+ "name": "ఈజిపà±à°Ÿà±"
+ },
+ "UA": {
+ "name": "ఉకà±à°°à±†à°¯à°¿à°¨à±"
+ },
+ "UG": {
+ "name": "ఉగాండా"
+ },
+ "UZ": {
+ "name": "ఉజà±à°¬à±†à°•à°¿à°¸à±à°¤à°¾à°¨à±"
+ },
+ "KP": {
+ "name": "ఉతà±à°¤à°° కొరియా"
+ },
+ "MP": {
+ "name": "ఉతà±à°¤à°° మరియానా దీవà±à°²à±"
+ },
+ "UY": {
+ "name": "ఉరà±à°—à±à°µà±‡"
+ },
+ "ER": {
+ "name": "à°Žà°°à°¿à°Ÿà±à°°à°¿à°¯à°¾"
+ },
+ "SV": {
+ "name": "ఎలౠసాలà±à°µà°¡à±‹à°°à±"
+ },
+ "AC": {
+ "name": "ఎసెషనౠదీవి"
+ },
+ "EE": {
+ "name": "à°Žà°¸à±à°Ÿà±‹à°¨à°¿à°¯à°¾"
+ },
+ "IE": {
+ "name": "à°à°°à±à°²à°¾à°‚à°¡à±"
+ },
+ "IM": {
+ "name": "à°à°²à± ఆఫౠమానà±"
+ },
+ "CI": {
+ "name": "à°à°µà°°à±€ కోసà±à°Ÿà±"
+ },
+ "IS": {
+ "name": "à°à°¸à±à°²à°¾à°‚à°¡à±"
+ },
+ "OM": {
+ "name": "ఒమనà±"
+ },
+ "KH": {
+ "name": "కంబోడియా"
+ },
+ "KZ": {
+ "name": "కజకసà±à°¤à°¾à°¨à±"
+ },
+ "QA": {
+ "name": "కతరà±"
+ },
+ "BQ": {
+ "name": "కరీబియనౠనెదరà±à°²à°¾à°‚à°¡à±à°¸à±"
+ },
+ "CD": {
+ "name": "కాంగో- à°•à°¿à°¨à±à°·à°¾à°¸à°¾"
+ },
+ "CG": {
+ "name": "కాంగో- à°¬à±à°°à°¾à°œà°¾à°µà°¿à°²à±à°²à°¿"
+ },
+ "CM": {
+ "name": "కామెరూనà±"
+ },
+ "KI": {
+ "name": "కిరిబాటి"
+ },
+ "KG": {
+ "name": "à°•à°¿à°°à±à°—ిజిసà±à°¤à°¾à°¨à±"
+ },
+ "CK": {
+ "name": "à°•à±à°•à± దీవà±à°²à±"
+ },
+ "CW": {
+ "name": "à°•à±à°°à°¾à°•à°µà±‹"
+ },
+ "KW": {
+ "name": "à°•à±à°µà±ˆà°Ÿà±"
+ },
+ "CA": {
+ "name": "కెనడా"
+ },
+ "KE": {
+ "name": "కెనà±à°¯à°¾"
+ },
+ "IC": {
+ "name": "కేనరీ దీవà±à°²à±"
+ },
+ "CV": {
+ "name": "కేపౠవెరà±à°¡à±‡"
+ },
+ "KY": {
+ "name": "కేమానౠదీవà±à°²à±"
+ },
+ "KM": {
+ "name": "కొమొరోసà±"
+ },
+ "CO": {
+ "name": "కొలంబియా"
+ },
+ "XK": {
+ "name": "కొసోవో"
+ },
+ "CC": {
+ "name": "కోకోసౠ(కీలింగà±) దీవà±à°²à±"
+ },
+ "CR": {
+ "name": "కోసà±à°Ÿà°¾ à°°à°¿à°•à°¾"
+ },
+ "CU": {
+ "name": "à°•à±à°¯à±‚బా"
+ },
+ "CX": {
+ "name": "à°•à±à°°à°¿à°¸à±à°®à°¸à± దీవి"
+ },
+ "NC": {
+ "name": "à°•à±à°°à±Šà°¤à±à°¤ కాలెడోనియా"
+ },
+ "HR": {
+ "name": "à°•à±à°°à±‹à°¯à±‡à°·à°¿à°¯à°¾"
+ },
+ "GY": {
+ "name": "గయానా"
+ },
+ "GM": {
+ "name": "గాంబియా"
+ },
+ "GA": {
+ "name": "గాబనà±"
+ },
+ "GN": {
+ "name": "గినియా"
+ },
+ "GW": {
+ "name": "గినియా-బిసà±à°¸à°¾à°µà±"
+ },
+ "GL": {
+ "name": "à°—à±à°°à±€à°¨à±â€Œà°²à°¾à°‚à°¡à±"
+ },
+ "GR": {
+ "name": "à°—à±à°°à±€à°¸à±"
+ },
+ "GD": {
+ "name": "à°—à±à°°à±†à°¨à±†à°¡à°¾"
+ },
+ "GT": {
+ "name": "à°—à±à°µà°¾à°Ÿà°¿à°®à°¾à°²"
+ },
+ "GP": {
+ "name": "à°—à±à°µà°¾à°¡à±‡à°²à±‹à°ªà±"
+ },
+ "GU": {
+ "name": "à°—à±à°µà°¾à°®à±"
+ },
+ "GG": {
+ "name": "à°—à±à°µà±‡à°°à±à°¨à°¸à±‡"
+ },
+ "GH": {
+ "name": "ఘనా"
+ },
+ "TD": {
+ "name": "చాదà±"
+ },
+ "CL": {
+ "name": "చిలీ"
+ },
+ "CZ": {
+ "name": "చెకౠరిపబà±à°²à°¿à°•à±"
+ },
+ "CN": {
+ "name": "చైనా"
+ },
+ "JP": {
+ "name": "జపానà±"
+ },
+ "JM": {
+ "name": "జమైకా"
+ },
+ "DE": {
+ "name": "జరà±à°®à°¨à±€"
+ },
+ "ZM": {
+ "name": "జాంబియా"
+ },
+ "GE": {
+ "name": "జారà±à°œà°¿à°¯à°¾"
+ },
+ "ZW": {
+ "name": "జింబాబà±à°µà±‡"
+ },
+ "DJ": {
+ "name": "జిబౌటి"
+ },
+ "GI": {
+ "name": "జిబà±à°°à°¾à°²à±à°Ÿà°¾à°°à±"
+ },
+ "JE": {
+ "name": "జెరà±à°¸à±€"
+ },
+ "JO": {
+ "name": "జోరà±à°¡à°¾à°¨à±"
+ },
+ "TR": {
+ "name": "à°Ÿà°°à±à°•à±€"
+ },
+ "TZ": {
+ "name": "టాంజానియా"
+ },
+ "TL": {
+ "name": "టిమోరà±-లెసà±à°Ÿà±†"
+ },
+ "TV": {
+ "name": "à°Ÿà±à°µà°¾à°²à±"
+ },
+ "TO": {
+ "name": "టోంగా"
+ },
+ "TK": {
+ "name": "టోకేలావà±"
+ },
+ "TG": {
+ "name": "టోగో"
+ },
+ "TN": {
+ "name": "à°Ÿà±à°¯à±à°¨à±€à°·à°¿à°¯à°¾"
+ },
+ "TT": {
+ "name": "à°Ÿà±à°°à°¿à°¨à°¿à°¡à°¾à°¡à± మరియౠటొబాగో"
+ },
+ "TA": {
+ "name": "à°Ÿà±à°°à°¿à°¸à±à°Ÿà°¨à± à°¡ à°•à°¨à±à°¹à°¾"
+ },
+ "DG": {
+ "name": "డియాగో గారà±à°¸à°¿à°¯à°¾"
+ },
+ "DK": {
+ "name": "డెనà±à°®à°¾à°°à±à°•à±"
+ },
+ "DO": {
+ "name": "డొమెనికనౠరిపబà±à°²à°¿à°•à±"
+ },
+ "DM": {
+ "name": "డోమెనిక"
+ },
+ "TJ": {
+ "name": "తజికిసà±à°¤à°¾à°¨à±"
+ },
+ "TM": {
+ "name": "à°¤à±à°°à±à°•à°®à±‡à°¨à°¿à°¸à±à°¤à°¾à°¨à±"
+ },
+ "TC": {
+ "name": "à°¤à±à°°à±à°•à± మరియౠకాలికోసౠదీవà±à°²à±"
+ },
+ "TW": {
+ "name": "తైవానà±"
+ },
+ "TH": {
+ "name": "థాయిలాండà±"
+ },
+ "ZA": {
+ "name": "దకà±à°·à°¿à°£ ఆఫà±à°°à°¿à°•à°¾"
+ },
+ "KR": {
+ "name": "దకà±à°·à°¿à°£ కొరియా"
+ },
+ "GS": {
+ "name": "దకà±à°·à°¿à°£ జారà±à°œà°¿à°¯à°¾ & దకà±à°·à°¿à°£ శాండà±à°µà°¿à°šà± దీవà±à°²à±"
+ },
+ "SS": {
+ "name": "దకà±à°·à°¿à°£ సూడానà±"
+ },
+ "NA": {
+ "name": "నమీబియా"
+ },
+ "NF": {
+ "name": "నారà±à°«à°¾à°•à± దీవి"
+ },
+ "NO": {
+ "name": "నారà±à°µà±‡"
+ },
+ "NI": {
+ "name": "నికరాగà±à°µà°¾"
+ },
+ "NU": {
+ "name": "నియà±"
+ },
+ "NL": {
+ "name": "నెదరà±à°²à°¾à°‚à°¡à±à°¸à±"
+ },
+ "NP": {
+ "name": "నేపాలà±"
+ },
+ "NE": {
+ "name": "నైజరà±"
+ },
+ "NG": {
+ "name": "నైజీరియా"
+ },
+ "NR": {
+ "name": "నౌరà±"
+ },
+ "NZ": {
+ "name": "à°¨à±à°¯à±‚జిలాండà±"
+ },
+ "EH": {
+ "name": "పడమటి సహారా"
+ },
+ "PA": {
+ "name": "పనామా"
+ },
+ "PY": {
+ "name": "పరాగà±à°µà±‡"
+ },
+ "PW": {
+ "name": "పలావà±"
+ },
+ "PK": {
+ "name": "పాకిసà±à°¤à°¾à°¨à±"
+ },
+ "PG": {
+ "name": "పాపà±à°µà°¾ à°¨à±à°¯à± గినియా"
+ },
+ "PS": {
+ "name": "పాలసà±à°¤à±€à°¨à°¿à°¯à°¨à± à°ªà±à°°à°¾à°‚తాలà±"
+ },
+ "PN": {
+ "name": "పిటà±â€Œà°•à±†à°¯à°¿à°°à±à°¨à± దీవà±à°²à±"
+ },
+ "PE": {
+ "name": "పెరూ"
+ },
+ "PT": {
+ "name": "పోరà±à°šà±à°—à°²à±"
+ },
+ "PL": {
+ "name": "పోలాండà±"
+ },
+ "FK": {
+ "name": "ఫాకà±â€Œà°²à±à°¯à°¾à°‚డౠదీవà±à°²à±"
+ },
+ "FO": {
+ "name": "ఫారో దీవà±à°²à±"
+ },
+ "FJ": {
+ "name": "ఫిజీ"
+ },
+ "FI": {
+ "name": "à°«à°¿à°¨à±à°²à°¾à°‚à°¡à±"
+ },
+ "PH": {
+ "name": "ఫిలిపà±à°ªà±€à°¨à±à°¸à±"
+ },
+ "PR": {
+ "name": "à°«à±à°¯à±‚à°°à±à°Ÿà±‹ రికో"
+ },
+ "FR": {
+ "name": "à°«à±à°°à°¾à°¨à±à°¸à±â€Œ"
+ },
+ "GF": {
+ "name": "à°«à±à°°à±†à°‚చౠగియానా"
+ },
+ "TF": {
+ "name": "à°«à±à°°à±†à°‚చౠదకà±à°·à°¿à°£ à°ªà±à°°à°¾à°‚తాలà±"
+ },
+ "PF": {
+ "name": "à°«à±à°°à±†à°‚చౠపోలినిషియా"
+ },
+ "BD": {
+ "name": "బంగà±à°²à°¾à°¦à±‡à°¶à±"
+ },
+ "BG": {
+ "name": "బలà±à°—ేరియా"
+ },
+ "BS": {
+ "name": "బహామాసà±"
+ },
+ "BH": {
+ "name": "బహà±à°°à±†à°¯à°¿à°¨à±"
+ },
+ "BB": {
+ "name": "బారà±à°¬à°¡à±‹à°¸à±"
+ },
+ "BI": {
+ "name": "à°¬à±à°°à±à°‚à°¡à°¿"
+ },
+ "BF": {
+ "name": "à°¬à±à°°à±à°•à°¿à°¨à°¾ ఫాసో"
+ },
+ "BJ": {
+ "name": "బెనినà±"
+ },
+ "BM": {
+ "name": "బెరà±à°®à±à°¡à°¾"
+ },
+ "BY": {
+ "name": "బెలారసà±"
+ },
+ "BZ": {
+ "name": "బెలిజà±"
+ },
+ "BE": {
+ "name": "బెలà±à°œà°¿à°¯à°‚"
+ },
+ "BO": {
+ "name": "బొలీవియా"
+ },
+ "BW": {
+ "name": "బోటà±à°¸à±à°µà°¾à°¨à°¾"
+ },
+ "BA": {
+ "name": "బోసà±à°¨à°¿à°¯à°¾ మరియౠహెరà±à°œà±†à°—ొవీనా"
+ },
+ "VG": {
+ "name": "à°¬à±à°°à°¿à°Ÿà°¿à°·à± వరà±à°œà°¿à°¨à± దీవà±à°²à±"
+ },
+ "IO": {
+ "name": "à°¬à±à°°à°¿à°Ÿà±€à°·à± భారతీయ సమà±à°¦à±à°°à°ªà± à°ªà±à°°à°¾à°‚తం"
+ },
+ "BN": {
+ "name": "à°¬à±à°°à±‚నై"
+ },
+ "BR": {
+ "name": "à°¬à±à°°à±†à°œà°¿à°²à±"
+ },
+ "IN": {
+ "name": "భారత దేశం"
+ },
+ "BT": {
+ "name": "భూటానà±"
+ },
+ "MN": {
+ "name": "మంగోలియా"
+ },
+ "MG": {
+ "name": "మడగాసà±à°•à°°à±"
+ },
+ "MM": {
+ "name": "మయనà±à°®à°¾à°°à± (బరà±à°®à°¾)"
+ },
+ "MY": {
+ "name": "మలేషియా"
+ },
+ "MO": {
+ "name": "మాకావౠఎసà±à°à°†à°°à± చైనా"
+ },
+ "YT": {
+ "name": "మాయొటà±à°Ÿà°¿"
+ },
+ "MU": {
+ "name": "మారిషసà±"
+ },
+ "MQ": {
+ "name": "మారà±à°Ÿà°¿à°¨à°¿à°•à±"
+ },
+ "MH": {
+ "name": "మారà±à°·à°²à± దీవà±à°²à±"
+ },
+ "MW": {
+ "name": "మాలావి"
+ },
+ "ML": {
+ "name": "మాలి"
+ },
+ "MT": {
+ "name": "మాలà±à°Ÿà°¾"
+ },
+ "MV": {
+ "name": "మాలà±à°¦à±€à°µà±à°²à±"
+ },
+ "MX": {
+ "name": "మెకà±à°¸à°¿à°•à±‹"
+ },
+ "MK": {
+ "name": "మేసిడోనియా"
+ },
+ "FM": {
+ "name": "మైకà±à°°à±‹à°¨à±‡à°¶à°¿à°¯"
+ },
+ "MZ": {
+ "name": "మొజాంబికà±"
+ },
+ "MC": {
+ "name": "మొనాకో"
+ },
+ "MA": {
+ "name": "మొరాకà±à°•à±‹"
+ },
+ "ME": {
+ "name": "మోంటేనేగà±à°°à±‹"
+ },
+ "MS": {
+ "name": "మోంటà±à°¸à±‡à°°à±à°°à°¾à°Ÿà±"
+ },
+ "MD": {
+ "name": "మోలà±à°¡à±‹à°µà°¾"
+ },
+ "MR": {
+ "name": "మౌరిటేనియా"
+ },
+ "VI": {
+ "name": "à°¯à±.à°Žà°¸à±. వరà±à°œà°¿à°¨à± దీవà±à°²à±"
+ },
+ "AE": {
+ "name": "à°¯à±à°¨à±ˆà°Ÿà±†à°¡à± అరబౠఎమిరేటà±à°¸à±"
+ },
+ "GB": {
+ "name": "à°¯à±à°¨à±ˆà°Ÿà±†à°¡à± à°•à°¿à°‚à°—à±â€Œà°¡à°®à±"
+ },
+ "YE": {
+ "name": "యెమెనà±"
+ },
+ "RU": {
+ "name": "à°°à°·à±à°¯à°¾"
+ },
+ "RE": {
+ "name": "రియూనియనà±"
+ },
+ "RW": {
+ "name": "à°°à±à°µà°¾à°‚à°¡à°¾"
+ },
+ "RO": {
+ "name": "రోమానియా"
+ },
+ "LU": {
+ "name": "లకà±à°¸à°‚బరà±à°—à±"
+ },
+ "LV": {
+ "name": "లాతà±à°µà°¿à°¯à°¾"
+ },
+ "LA": {
+ "name": "లావోసà±"
+ },
+ "LI": {
+ "name": "లికà±à°Ÿà±†à°¸à±à°Ÿà±‡à°¨à±"
+ },
+ "LT": {
+ "name": "లిథà±à°µà±‡à°¨à°¿à°¯à°¾"
+ },
+ "LY": {
+ "name": "లిబియా"
+ },
+ "LB": {
+ "name": "లెబనానà±"
+ },
+ "LS": {
+ "name": "లెసోతో"
+ },
+ "LR": {
+ "name": "లైబీరియా"
+ },
+ "VU": {
+ "name": "వనాటà±"
+ },
+ "VA": {
+ "name": "వాటికనౠనగరం"
+ },
+ "WF": {
+ "name": "వాలిసౠమరియౠఫà±à°¯à±à°¤à±à°¯à±à°¨à°¾"
+ },
+ "VN": {
+ "name": "వియతà±à°¨à°¾à°‚"
+ },
+ "VE": {
+ "name": "వెనà±à°œà±à°µà±‡à°²à°¾"
+ },
+ "LK": {
+ "name": "à°¶à±à°°à±€à°²à°‚à°•"
+ },
+ "UM": {
+ "name": "సంయà±à°•à±à°¤ రాజà±à°¯ అమెరికా బయట ఉనà±à°¨ దీవà±à°²à±"
+ },
+ "WS": {
+ "name": "సమోవా"
+ },
+ "SM": {
+ "name": "సానౠమారినో"
+ },
+ "ST": {
+ "name": "సావోటోమౠమరియౠపà±à°°à°¿à°¨à±à°¸à°¿à°ªà±‡"
+ },
+ "SG": {
+ "name": "సింగపూరà±"
+ },
+ "SX": {
+ "name": "సింటౠమారà±à°Ÿà±†à°¨à±"
+ },
+ "SL": {
+ "name": "సియెరà±à°°à°¾ లియానà±"
+ },
+ "SY": {
+ "name": "సిరియా"
+ },
+ "SC": {
+ "name": "సీషెలà±à°¸à±"
+ },
+ "SR": {
+ "name": "à°¸à±à°°à°¿à°¨à°¾à°®à±"
+ },
+ "SD": {
+ "name": "సూడానà±"
+ },
+ "KN": {
+ "name": "సెంటౠకిటà±à°Ÿà±à°¸à± మరియౠనెవిసà±"
+ },
+ "PM": {
+ "name": "సెంటౠపియెరౠమరియౠమికెలానà±"
+ },
+ "BL": {
+ "name": "సెంటౠబరà±à°¤à±‡à°²à±†à°®à±€"
+ },
+ "MF": {
+ "name": "సెంటౠమారà±à°Ÿà°¿à°¨à±"
+ },
+ "LC": {
+ "name": "సెంటౠలూసియా"
+ },
+ "VC": {
+ "name": "సెంటౠవినà±à°¸à±†à°‚టౠమరియౠగà±à°°à±†à°¨à°¡à±€à°¨à±à°¸à±"
+ },
+ "SH": {
+ "name": "సెంటౠహెలినా"
+ },
+ "CF": {
+ "name": "సెంటà±à°°à°²à± ఆఫà±à°°à°¿à°•à°¨à± రిపబà±à°²à°¿à°•à±"
+ },
+ "SN": {
+ "name": "సెనెగలà±"
+ },
+ "RS": {
+ "name": "సెరà±à°¬à°¿à°¯à°¾"
+ },
+ "CY": {
+ "name": "సైపà±à°°à°¸à±"
+ },
+ "SO": {
+ "name": "సోమాలియా"
+ },
+ "SB": {
+ "name": "సోలమనౠదీవà±à°²à±"
+ },
+ "SA": {
+ "name": "సౌదీ అరేబియా"
+ },
+ "ES": {
+ "name": "à°¸à±à°ªà±†à°¯à°¿à°¨à±"
+ },
+ "EA": {
+ "name": "à°¸à±à°¯à±‚à°Ÿà°¾ మరియౠమెలిలà±à°²à°¾"
+ },
+ "SK": {
+ "name": "à°¸à±à°²à±‹à°µà±‡à°•à°¿à°¯à°¾"
+ },
+ "SI": {
+ "name": "à°¸à±à°²à±‹à°µà±‡à°¨à°¿à°¯à°¾"
+ },
+ "SZ": {
+ "name": "à°¸à±à°µà°¾à°œà°¿à°²à±à°¯à°¾à°‚à°¡à±"
+ },
+ "SJ": {
+ "name": "à°¸à±à°µà°¾à°²à±à°¬à°¾à°°à±à°¡à± మరియౠయానౠమాయేనà±"
+ },
+ "CH": {
+ "name": "à°¸à±à°µà°¿à°Ÿà±à°œà°°à±à°²à°¾à°‚à°¡à±"
+ },
+ "SE": {
+ "name": "à°¸à±à°µà±€à°¡à°¨à±"
+ },
+ "HU": {
+ "name": "హంగేరీ"
+ },
+ "HK": {
+ "name": "హాంకాంగౠఎసà±à°à°†à°°à± చైనా"
+ },
+ "HT": {
+ "name": "హైటి"
+ },
+ "HN": {
+ "name": "హోండà±à°°à°¾à°¸à±"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/teo.json b/library/intl/resources/country/teo.json
new file mode 100644
index 000000000..a5fb3b516
--- /dev/null
+++ b/library/intl/resources/country/teo.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenia"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/th.json b/library/intl/resources/country/th.json
new file mode 100644
index 000000000..f849e92a2
--- /dev/null
+++ b/library/intl/resources/country/th.json
@@ -0,0 +1,761 @@
+{
+ "GR": {
+ "name": "à¸à¸£à¸µà¸‹"
+ },
+ "GL": {
+ "name": "à¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์"
+ },
+ "GU": {
+ "name": "à¸à¸§à¸¡"
+ },
+ "GP": {
+ "name": "à¸à¸§à¸²à¹€à¸”อลูป"
+ },
+ "KH": {
+ "name": "à¸à¸±à¸¡à¸žà¸¹à¸Šà¸²"
+ },
+ "GT": {
+ "name": "à¸à¸±à¸§à¹€à¸•à¸¡à¸²à¸¥à¸²"
+ },
+ "QA": {
+ "name": "à¸à¸²à¸•à¸²à¸£à¹Œ"
+ },
+ "GH": {
+ "name": "à¸à¸²à¸™à¸²"
+ },
+ "GA": {
+ "name": "à¸à¸²à¸šà¸­à¸‡"
+ },
+ "GY": {
+ "name": "à¸à¸²à¸¢à¸­à¸²à¸™à¸²"
+ },
+ "GN": {
+ "name": "à¸à¸´à¸™à¸µ"
+ },
+ "GW": {
+ "name": "à¸à¸´à¸™à¸µ-บิสเซา"
+ },
+ "GD": {
+ "name": "เà¸à¸£à¹€à¸™à¸”า"
+ },
+ "KR": {
+ "name": "เà¸à¸²à¸«à¸¥à¸µà¹ƒà¸•à¹‰"
+ },
+ "KP": {
+ "name": "เà¸à¸²à¸«à¸¥à¸µà¹€à¸«à¸™à¸·à¸­"
+ },
+ "CX": {
+ "name": "เà¸à¸²à¸°à¸„ริสต์มาส"
+ },
+ "GS": {
+ "name": "เà¸à¸²à¸°à¹€à¸‹à¸²à¸—์จอร์เจียà¹à¸¥à¸°à¸«à¸¡à¸¹à¹ˆà¹€à¸à¸²à¸°à¹€à¸‹à¸²à¸—์à¹à¸‹à¸™à¸”์วิช"
+ },
+ "NF": {
+ "name": "เà¸à¸²à¸°à¸™à¸­à¸£à¹Œà¸Ÿà¸­à¸¥à¹Œà¸"
+ },
+ "IM": {
+ "name": "เà¸à¸²à¸°à¹à¸¡à¸™"
+ },
+ "AC": {
+ "name": "เà¸à¸²à¸°à¹à¸­à¸ªà¹€à¸‹à¸™à¸Šà¸±à¸™"
+ },
+ "GG": {
+ "name": "เà¸à¸´à¸£à¹Œà¸™à¸‹à¸µà¸¢à¹Œ"
+ },
+ "GM": {
+ "name": "à¹à¸à¸¡à¹€à¸šà¸µà¸¢"
+ },
+ "MO": {
+ "name": "เขตปà¸à¸„รองพิเศษมาเà¸à¹Šà¸²à¹à¸«à¹ˆà¸‡à¸ªà¸²à¸˜à¸²à¸£à¸“รัà¸à¸›à¸£à¸°à¸Šà¸²à¸Šà¸™à¸ˆà¸µà¸™"
+ },
+ "HK": {
+ "name": "เขตปà¸à¸„รองพิเศษฮ่องà¸à¸‡à¹à¸«à¹ˆà¸‡à¸ªà¸²à¸˜à¸²à¸£à¸“รัà¸à¸›à¸£à¸°à¸Šà¸²à¸Šà¸™à¸ˆà¸µà¸™"
+ },
+ "CD": {
+ "name": "คองโà¸-à¸à¸´à¸™à¸Šà¸²à¸‹à¸²"
+ },
+ "CG": {
+ "name": "คองโà¸-บราซซาวิล"
+ },
+ "KM": {
+ "name": "คอโมโรส"
+ },
+ "CR": {
+ "name": "คอสตาริà¸à¸²"
+ },
+ "KZ": {
+ "name": "คาซัคสถาน"
+ },
+ "KI": {
+ "name": "คิริบาส"
+ },
+ "CU": {
+ "name": "คิวบา"
+ },
+ "KG": {
+ "name": "คีร์à¸à¸µà¸‹à¸ªà¸–าน"
+ },
+ "CW": {
+ "name": "คูราเซา"
+ },
+ "KW": {
+ "name": "คูเวต"
+ },
+ "KE": {
+ "name": "เคนยา"
+ },
+ "CV": {
+ "name": "เคปเวิร์ด"
+ },
+ "CA": {
+ "name": "à¹à¸„นาดา"
+ },
+ "CM": {
+ "name": "à¹à¸„เมอรูน"
+ },
+ "XK": {
+ "name": "โคโซโว"
+ },
+ "HR": {
+ "name": "โครเอเชีย"
+ },
+ "CO": {
+ "name": "โคลอมเบีย"
+ },
+ "GE": {
+ "name": "จอร์เจีย"
+ },
+ "JO": {
+ "name": "จอร์à¹à¸”น"
+ },
+ "JM": {
+ "name": "จาเมà¸à¸²"
+ },
+ "DJ": {
+ "name": "จิบูตี"
+ },
+ "CN": {
+ "name": "จีน"
+ },
+ "JE": {
+ "name": "เจอร์ซีย์"
+ },
+ "TD": {
+ "name": "ชาด"
+ },
+ "CL": {
+ "name": "ชิลี"
+ },
+ "SM": {
+ "name": "ซานมารีโน"
+ },
+ "WS": {
+ "name": "ซามัว"
+ },
+ "SA": {
+ "name": "ซาอุดีอาระเบีย"
+ },
+ "EH": {
+ "name": "ซาฮาราตะวันตà¸"
+ },
+ "ZW": {
+ "name": "ซิมบับเว"
+ },
+ "SY": {
+ "name": "ซีเรีย"
+ },
+ "EA": {
+ "name": "ซีโอตาà¹à¸¥à¸°à¹€à¸¡à¸¥à¸´à¸¥à¸¥à¸²"
+ },
+ "SD": {
+ "name": "ซูดาน"
+ },
+ "SS": {
+ "name": "ซูดานใต้"
+ },
+ "SR": {
+ "name": "ซูรินาเม"
+ },
+ "SC": {
+ "name": "เซเชลส์"
+ },
+ "KN": {
+ "name": "เซนต์คิตส์à¹à¸¥à¸°à¹€à¸™à¸§à¸´à¸ª"
+ },
+ "BL": {
+ "name": "เซนต์บาร์เธเลมี"
+ },
+ "MF": {
+ "name": "เซนต์มาติน"
+ },
+ "SX": {
+ "name": "เซนต์มาร์ติน"
+ },
+ "LC": {
+ "name": "เซนต์ลูเซีย"
+ },
+ "VC": {
+ "name": "เซนต์วินเซนต์à¹à¸¥à¸°à¹€à¸à¸£à¸™à¸²à¸”ีนส์"
+ },
+ "SH": {
+ "name": "เซนต์เฮเลนา"
+ },
+ "SN": {
+ "name": "เซเนà¸à¸±à¸¥"
+ },
+ "RS": {
+ "name": "เซอร์เบีย"
+ },
+ "ST": {
+ "name": "เซาตูเมà¹à¸¥à¸°à¸›à¸£à¸´à¸™à¸‹à¸´à¸›à¸µ"
+ },
+ "SL": {
+ "name": "เซียร์ราลีโอน"
+ },
+ "PM": {
+ "name": "à¹à¸‹à¸‡à¸›à¸µà¹à¸¢à¸£à¹Œà¹à¸¥à¸°à¸¡à¸µà¹€à¸à¸­à¸¥à¸‡"
+ },
+ "ZM": {
+ "name": "à¹à¸‹à¸¡à¹€à¸šà¸µà¸¢"
+ },
+ "SO": {
+ "name": "โซมาเลีย"
+ },
+ "CY": {
+ "name": "ไซปรัส"
+ },
+ "JP": {
+ "name": "à¸à¸µà¹ˆà¸›à¸¸à¹ˆà¸™"
+ },
+ "PS": {
+ "name": "ดินà¹à¸”นปาเลสไตน์"
+ },
+ "DG": {
+ "name": "ดิเอโà¸à¸à¸²à¸£à¹Œà¹€à¸‹à¸µà¸¢"
+ },
+ "DK": {
+ "name": "เดนมาร์à¸"
+ },
+ "DM": {
+ "name": "โดมินิà¸à¸²"
+ },
+ "TT": {
+ "name": "ตรินิà¹à¸”ดà¹à¸¥à¸°à¹‚ตเบโà¸"
+ },
+ "TO": {
+ "name": "ตองà¸à¸²"
+ },
+ "TL": {
+ "name": "ติมอร์-เลสเต"
+ },
+ "TR": {
+ "name": "ตุรà¸à¸µ"
+ },
+ "TN": {
+ "name": "ตูนิเซีย"
+ },
+ "TV": {
+ "name": "ตูวาลู"
+ },
+ "TM": {
+ "name": "เติร์à¸à¹€à¸¡à¸™à¸´à¸ªà¸–าน"
+ },
+ "TK": {
+ "name": "โตเà¸à¹€à¸¥à¸²"
+ },
+ "TG": {
+ "name": "โตโà¸"
+ },
+ "TW": {
+ "name": "ไต้หวัน"
+ },
+ "TA": {
+ "name": "ทริสตัน เดอ คูนา"
+ },
+ "TJ": {
+ "name": "ทาจิà¸à¸´à¸ªà¸–าน"
+ },
+ "TZ": {
+ "name": "à¹à¸—นซาเนีย"
+ },
+ "TH": {
+ "name": "ไทย"
+ },
+ "VA": {
+ "name": "นครวาติà¸à¸±à¸™"
+ },
+ "NO": {
+ "name": "นอร์เวย์"
+ },
+ "NA": {
+ "name": "นามิเบีย"
+ },
+ "NR": {
+ "name": "นาอูรู"
+ },
+ "NI": {
+ "name": "นิà¸à¸²à¸£à¸²à¸à¸±à¸§"
+ },
+ "NC": {
+ "name": "นิวà¹à¸„ลิโดเนีย"
+ },
+ "NZ": {
+ "name": "นิวซีà¹à¸¥à¸™à¸”์"
+ },
+ "NU": {
+ "name": "นีอูเอ"
+ },
+ "NL": {
+ "name": "เนเธอร์à¹à¸¥à¸™à¸”์"
+ },
+ "BQ": {
+ "name": "เนเธอร์à¹à¸¥à¸™à¸”์à¹à¸„ริบเบียน"
+ },
+ "NP": {
+ "name": "เนปาล"
+ },
+ "NG": {
+ "name": "ไนจีเรีย"
+ },
+ "NE": {
+ "name": "ไนเจอร์"
+ },
+ "BR": {
+ "name": "บราซิล"
+ },
+ "IO": {
+ "name": "บริติชอินเดียนโอเชียนเทร์ริทอรี"
+ },
+ "BN": {
+ "name": "บรูไน"
+ },
+ "BW": {
+ "name": "บอตสวานา"
+ },
+ "BA": {
+ "name": "บอสเนียà¹à¸¥à¸°à¹€à¸®à¸­à¸£à¹Œà¹€à¸‹à¹‚à¸à¸§à¸µà¸™à¸²"
+ },
+ "BD": {
+ "name": "บังà¸à¸¥à¸²à¹€à¸—ศ"
+ },
+ "BG": {
+ "name": "บัลà¹à¸à¹€à¸£à¸µà¸¢"
+ },
+ "BB": {
+ "name": "บาร์เบโดส"
+ },
+ "BH": {
+ "name": "บาห์เรน"
+ },
+ "BS": {
+ "name": "บาฮามาส"
+ },
+ "BI": {
+ "name": "บุรุนดี"
+ },
+ "BF": {
+ "name": "บูร์à¸à¸´à¸™à¸²à¸Ÿà¸²à¹‚ซ"
+ },
+ "BJ": {
+ "name": "เบนิน"
+ },
+ "BE": {
+ "name": "เบลเยียม"
+ },
+ "BY": {
+ "name": "เบลารุส"
+ },
+ "BZ": {
+ "name": "เบลีซ"
+ },
+ "BM": {
+ "name": "เบอร์มิวดา"
+ },
+ "BO": {
+ "name": "โบลิเวีย"
+ },
+ "PK": {
+ "name": "ปาà¸à¸µà¸ªà¸–าน"
+ },
+ "PA": {
+ "name": "ปานามา"
+ },
+ "PG": {
+ "name": "ปาปัวนิวà¸à¸´à¸™à¸µ"
+ },
+ "PY": {
+ "name": "ปาราà¸à¸§à¸±à¸¢"
+ },
+ "PW": {
+ "name": "ปาเลา"
+ },
+ "PE": {
+ "name": "เปรู"
+ },
+ "PR": {
+ "name": "เปอร์โตริโà¸"
+ },
+ "PT": {
+ "name": "โปรตุเà¸à¸ª"
+ },
+ "PL": {
+ "name": "โปà¹à¸¥à¸™à¸”์"
+ },
+ "FR": {
+ "name": "à¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ª"
+ },
+ "FJ": {
+ "name": "ฟิจิ"
+ },
+ "FI": {
+ "name": "ฟินà¹à¸¥à¸™à¸”์"
+ },
+ "PH": {
+ "name": "ฟิลิปปินส์"
+ },
+ "GF": {
+ "name": "เฟรนช์เà¸à¸µà¸¢à¸™à¸²"
+ },
+ "TF": {
+ "name": "เฟรนช์เซาเทิร์นเทร์ริทอรีส์"
+ },
+ "PF": {
+ "name": "เฟรนช์โปลินีเซีย"
+ },
+ "BT": {
+ "name": "ภูà¸à¸²à¸™"
+ },
+ "MN": {
+ "name": "มองโà¸à¹€à¸¥à¸µà¸¢"
+ },
+ "MS": {
+ "name": "มอนต์เซอร์รัต"
+ },
+ "ME": {
+ "name": "มอนเตเนโà¸à¸£"
+ },
+ "MU": {
+ "name": "มอริเชียส"
+ },
+ "MR": {
+ "name": "มอริเตเนีย"
+ },
+ "MD": {
+ "name": "มอลโดวา"
+ },
+ "MT": {
+ "name": "มอลตา"
+ },
+ "MV": {
+ "name": "มัลดีฟส์"
+ },
+ "MK": {
+ "name": "มาซิโดเนีย"
+ },
+ "MG": {
+ "name": "มาดาà¸à¸±à¸ªà¸à¸²à¸£à¹Œ"
+ },
+ "YT": {
+ "name": "มายอต"
+ },
+ "MQ": {
+ "name": "มาร์ตินีà¸"
+ },
+ "MW": {
+ "name": "มาลาวี"
+ },
+ "ML": {
+ "name": "มาลี"
+ },
+ "MY": {
+ "name": "มาเลเซีย"
+ },
+ "MX": {
+ "name": "เม็à¸à¸‹à¸´à¹‚à¸"
+ },
+ "MM": {
+ "name": "เมียนม่าร์ (พม่า)"
+ },
+ "MZ": {
+ "name": "โมซัมบิà¸"
+ },
+ "MC": {
+ "name": "โมนาโà¸"
+ },
+ "MA": {
+ "name": "โมร็อà¸à¹‚à¸"
+ },
+ "FM": {
+ "name": "ไมโครนีเซีย"
+ },
+ "GI": {
+ "name": "ยิบรอลตาร์"
+ },
+ "UG": {
+ "name": "ยูà¸à¸±à¸™à¸”า"
+ },
+ "UA": {
+ "name": "ยูเครน"
+ },
+ "YE": {
+ "name": "เยเมน"
+ },
+ "DE": {
+ "name": "เยอรมนี"
+ },
+ "RW": {
+ "name": "รวันดา"
+ },
+ "RU": {
+ "name": "รัสเซีย"
+ },
+ "RE": {
+ "name": "เรอูนียง"
+ },
+ "RO": {
+ "name": "โรมาเนีย"
+ },
+ "LU": {
+ "name": "ลัà¸à¹€à¸‹à¸¡à¹€à¸šà¸´à¸£à¹Œà¸"
+ },
+ "LV": {
+ "name": "ลัตเวีย"
+ },
+ "LA": {
+ "name": "ลาว"
+ },
+ "LI": {
+ "name": "ลิà¸à¹€à¸•à¸™à¸ªà¹„ตน์"
+ },
+ "LT": {
+ "name": "ลิทัวเนีย"
+ },
+ "LY": {
+ "name": "ลิเบีย"
+ },
+ "LS": {
+ "name": "เลโซโท"
+ },
+ "LB": {
+ "name": "เลบานอน"
+ },
+ "LR": {
+ "name": "ไลบีเรีย"
+ },
+ "VU": {
+ "name": "วานูอาตู"
+ },
+ "WF": {
+ "name": "วาลลิสà¹à¸¥à¸°à¸Ÿà¸¸à¸•à¸¹à¸™à¸²"
+ },
+ "VE": {
+ "name": "เวเนซุเอลา"
+ },
+ "VN": {
+ "name": "เวียดนาม"
+ },
+ "LK": {
+ "name": "ศรีลังà¸à¸²"
+ },
+ "ES": {
+ "name": "สเปน"
+ },
+ "SJ": {
+ "name": "สฟาลบาร์à¹à¸¥à¸°à¸¢à¸²à¸™à¹„มเอน"
+ },
+ "SK": {
+ "name": "สโลวะเà¸à¸µà¸¢"
+ },
+ "SI": {
+ "name": "สโลวีเนีย"
+ },
+ "SZ": {
+ "name": "สวาซิà¹à¸¥à¸™à¸”์"
+ },
+ "CH": {
+ "name": "สวิตเซอร์à¹à¸¥à¸™à¸”์"
+ },
+ "SE": {
+ "name": "สวีเดน"
+ },
+ "US": {
+ "name": "สหรัà¸à¸­à¹€à¸¡à¸£à¸´à¸à¸²"
+ },
+ "AE": {
+ "name": "สหรัà¸à¸­à¸²à¸«à¸£à¸±à¸šà¹€à¸­à¸¡à¸´à¹€à¸£à¸•à¸ªà¹Œ"
+ },
+ "GB": {
+ "name": "สหราชอาณาจัà¸à¸£"
+ },
+ "CZ": {
+ "name": "สาธารณรัà¸à¹€à¸Šà¹‡à¸"
+ },
+ "DO": {
+ "name": "สาธารณรัà¸à¹‚ดมินิà¸à¸±à¸™"
+ },
+ "CF": {
+ "name": "สาธารณรัà¸à¹à¸­à¸Ÿà¸£à¸´à¸à¸²à¸à¸¥à¸²à¸‡"
+ },
+ "SG": {
+ "name": "สิงคโปร์"
+ },
+ "IC": {
+ "name": "หมู่เà¸à¸²à¸°à¸„านารี"
+ },
+ "CK": {
+ "name": "หมู่เà¸à¸²à¸°à¸„ุà¸"
+ },
+ "KY": {
+ "name": "หมู่เà¸à¸²à¸°à¹€à¸„ย์à¹à¸¡à¸™"
+ },
+ "CC": {
+ "name": "หมู่เà¸à¸²à¸°à¹‚คโคส (คีลิง)"
+ },
+ "SB": {
+ "name": "หมู่เà¸à¸²à¸°à¹‚ซโลมอน"
+ },
+ "TC": {
+ "name": "หมู่เà¸à¸²à¸°à¹€à¸•à¸´à¸à¸ªà¹Œà¹à¸¥à¸°à¸«à¸¡à¸¹à¹ˆà¹€à¸à¸²à¸°à¹€à¸„คอส"
+ },
+ "MP": {
+ "name": "หมู่เà¸à¸²à¸°à¸™à¸­à¸£à¹Œà¹€à¸—ิร์นมาเรียนา"
+ },
+ "VG": {
+ "name": "หมู่เà¸à¸²à¸°à¸šà¸£à¸´à¸•à¸´à¸Šà¹€à¸§à¸­à¸£à¹Œà¸ˆà¸´à¸™"
+ },
+ "PN": {
+ "name": "หมู่เà¸à¸²à¸°à¸žà¸´à¸•à¹à¸„ร์น"
+ },
+ "FK": {
+ "name": "หมู่เà¸à¸²à¸°à¸Ÿà¸­à¸¥à¹Œà¸à¹à¸¥à¸™à¸”์"
+ },
+ "FO": {
+ "name": "หมู่เà¸à¸²à¸°à¹à¸Ÿà¹‚ร"
+ },
+ "MH": {
+ "name": "หมู่เà¸à¸²à¸°à¸¡à¸²à¸£à¹Œà¹à¸Šà¸¥à¸¥à¹Œ"
+ },
+ "VI": {
+ "name": "หมู่เà¸à¸²à¸°à¸¢à¸¹à¹€à¸­à¸ªà¹€à¸§à¸­à¸£à¹Œà¸ˆà¸´à¸™"
+ },
+ "UM": {
+ "name": "หมู่เà¸à¸²à¸°à¸£à¸­à¸šà¸™à¸­à¸à¸‚องสหรัà¸à¸­à¹€à¸¡à¸£à¸´à¸à¸²"
+ },
+ "AX": {
+ "name": "หมู่เà¸à¸²à¸°à¹‚อลันด์"
+ },
+ "AS": {
+ "name": "อเมริà¸à¸±à¸™à¸‹à¸²à¸¡à¸±à¸§"
+ },
+ "AU": {
+ "name": "ออสเตรเลีย"
+ },
+ "AT": {
+ "name": "ออสเตรีย"
+ },
+ "AD": {
+ "name": "อันดอร์รา"
+ },
+ "AF": {
+ "name": "อัฟà¸à¸²à¸™à¸´à¸ªà¸–าน"
+ },
+ "AZ": {
+ "name": "อาเซอร์ไบจาน"
+ },
+ "AR": {
+ "name": "อาร์เจนตินา"
+ },
+ "AM": {
+ "name": "อาร์เมเนีย"
+ },
+ "AW": {
+ "name": "อารูบา"
+ },
+ "GQ": {
+ "name": "อิเควทอเรียลà¸à¸´à¸™à¸µ"
+ },
+ "IT": {
+ "name": "อิตาลี"
+ },
+ "IN": {
+ "name": "อินเดีย"
+ },
+ "ID": {
+ "name": "อินโดนีเซีย"
+ },
+ "IQ": {
+ "name": "อิรัà¸"
+ },
+ "IL": {
+ "name": "อิสราเอล"
+ },
+ "IR": {
+ "name": "อิหร่าน"
+ },
+ "EG": {
+ "name": "อียิปต์"
+ },
+ "UZ": {
+ "name": "อุซเบà¸à¸´à¸ªà¸–าน"
+ },
+ "UY": {
+ "name": "อุรุà¸à¸§à¸±à¸¢"
+ },
+ "EC": {
+ "name": "เอà¸à¸§à¸²à¸”อร์"
+ },
+ "ET": {
+ "name": "เอธิโอเปีย"
+ },
+ "ER": {
+ "name": "เอริเทรีย"
+ },
+ "SV": {
+ "name": "เอลซัลวาดอร์"
+ },
+ "EE": {
+ "name": "เอสโตเนีย"
+ },
+ "AI": {
+ "name": "à¹à¸­à¸‡à¸à¸§à¸´à¸¥à¸¥à¸²"
+ },
+ "AO": {
+ "name": "à¹à¸­à¸‡à¹‚à¸à¸¥à¸²"
+ },
+ "AQ": {
+ "name": "à¹à¸­à¸™à¸•à¸²à¸£à¹Œà¸à¸•à¸´à¸à¸²"
+ },
+ "AG": {
+ "name": "à¹à¸­à¸™à¸•à¸´à¸à¸²à¹à¸¥à¸°à¸šà¸²à¸£à¹Œà¸šà¸¹à¸”า"
+ },
+ "ZA": {
+ "name": "à¹à¸­à¸Ÿà¸£à¸´à¸à¸²à¹ƒà¸•à¹‰"
+ },
+ "DZ": {
+ "name": "à¹à¸­à¸¥à¸ˆà¸µà¹€à¸£à¸µà¸¢"
+ },
+ "AL": {
+ "name": "à¹à¸­à¸¥à¹€à¸šà¹€à¸™à¸µà¸¢"
+ },
+ "OM": {
+ "name": "โอมาน"
+ },
+ "IS": {
+ "name": "ไอซ์à¹à¸¥à¸™à¸”์"
+ },
+ "IE": {
+ "name": "ไอร์à¹à¸¥à¸™à¸”์"
+ },
+ "CI": {
+ "name": "ไอวอรี่โคสต์"
+ },
+ "HN": {
+ "name": "ฮอนดูรัส"
+ },
+ "HU": {
+ "name": "ฮังà¸à¸²à¸£à¸µ"
+ },
+ "HT": {
+ "name": "เฮติ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ti.json b/library/intl/resources/country/ti.json
new file mode 100644
index 000000000..6cf5bfa3d
--- /dev/null
+++ b/library/intl/resources/country/ti.json
@@ -0,0 +1,761 @@
+{
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "HU": {
+ "name": "ሀንጋሪ"
+ },
+ "HT": {
+ "name": "ሀይቲ"
+ },
+ "IN": {
+ "name": "ህንድ"
+ },
+ "HN": {
+ "name": "ሆንዱራስ"
+ },
+ "HK": {
+ "name": "ሆንጠኮንáŒ"
+ },
+ "LU": {
+ "name": "ሉክሰáˆá‰ áˆ­áŒ"
+ },
+ "LY": {
+ "name": "ሊቢያ"
+ },
+ "LB": {
+ "name": "ሊባኖስ"
+ },
+ "LT": {
+ "name": "ሊቱዌኒያ"
+ },
+ "LI": {
+ "name": "ሊችተንስታይን"
+ },
+ "LV": {
+ "name": "ላትቪያ"
+ },
+ "LA": {
+ "name": "ላኦስ"
+ },
+ "LR": {
+ "name": "ላይቤሪያ"
+ },
+ "LS": {
+ "name": "ሌሶቶ"
+ },
+ "FM": {
+ "name": "ሚክሮኔዢያ"
+ },
+ "ML": {
+ "name": "ማሊ"
+ },
+ "MW": {
+ "name": "ማላዊ"
+ },
+ "MY": {
+ "name": "ማሌዢያ"
+ },
+ "MT": {
+ "name": "ማáˆá‰³"
+ },
+ "MV": {
+ "name": "ማáˆá‹²á‰­áˆµ"
+ },
+ "MU": {
+ "name": "ማሩሸስ"
+ },
+ "MH": {
+ "name": "ማርሻሠአይላንድ"
+ },
+ "MQ": {
+ "name": "ማርቲኒክ"
+ },
+ "MK": {
+ "name": "ማከዶኒያ"
+ },
+ "MO": {
+ "name": "ማካዎ"
+ },
+ "MM": {
+ "name": "ማያንማር"
+ },
+ "MG": {
+ "name": "ማዳጋስካር"
+ },
+ "MX": {
+ "name": "ሜክሲኮ"
+ },
+ "YT": {
+ "name": "ሜይኦቴ"
+ },
+ "TL": {
+ "name": "áˆáˆµáˆ«á‰… ቲሞር"
+ },
+ "EH": {
+ "name": "áˆá‹•áˆ«á‰£á‹Š ሳህራ"
+ },
+ "MD": {
+ "name": "ሞáˆá‹¶á‰«"
+ },
+ "MR": {
+ "name": "ሞሪቴኒያ"
+ },
+ "MA": {
+ "name": "ሞሮኮ"
+ },
+ "MC": {
+ "name": "ሞናኮ"
+ },
+ "MS": {
+ "name": "ሞንትሴራት"
+ },
+ "MN": {
+ "name": "ሞንጎሊያ"
+ },
+ "MZ": {
+ "name": "ሞዛáˆá‰¢áŠ­"
+ },
+ "RW": {
+ "name": "ሩዋንዳ"
+ },
+ "RE": {
+ "name": "ሪዩኒየን"
+ },
+ "RU": {
+ "name": "ራሺያ"
+ },
+ "RO": {
+ "name": "ሮሜኒያ"
+ },
+ "SB": {
+ "name": "ሰሎሞን ደሴት"
+ },
+ "KP": {
+ "name": "ሰሜን ኮሪያ"
+ },
+ "SO": {
+ "name": "ሱማሌ"
+ },
+ "SR": {
+ "name": "ሱሪናáˆ"
+ },
+ "SZ": {
+ "name": "ሱዋዚላንድ"
+ },
+ "SD": {
+ "name": "ሱዳን"
+ },
+ "LK": {
+ "name": "ሲሪላንካ"
+ },
+ "SY": {
+ "name": "ሲሪያ"
+ },
+ "SC": {
+ "name": "ሲሼáˆáˆµ"
+ },
+ "SG": {
+ "name": "ሲንጋá–ር"
+ },
+ "WS": {
+ "name": "ሳሞአ"
+ },
+ "SM": {
+ "name": "ሳን ማሪኖ"
+ },
+ "ST": {
+ "name": "ሳኦ ቶሜ እና á•áˆªáŠ•áˆ²á”"
+ },
+ "SA": {
+ "name": "ሳá‹á‹µáŠ áˆ¨á‰¢á‹«"
+ },
+ "CY": {
+ "name": "ሳይá•áˆ¨áˆµ"
+ },
+ "SL": {
+ "name": "ሴራሊዮን"
+ },
+ "SN": {
+ "name": "ሴኔጋáˆ"
+ },
+ "SH": {
+ "name": "ሴንት ሄለና"
+ },
+ "LC": {
+ "name": "ሴንት ሉቺያ"
+ },
+ "SK": {
+ "name": "ስሎቫኪያ"
+ },
+ "SI": {
+ "name": "ስሎቬኒያ"
+ },
+ "CH": {
+ "name": "ስዊዘርላንድ"
+ },
+ "SE": {
+ "name": "ስዊድን"
+ },
+ "ES": {
+ "name": "ስá”ን"
+ },
+ "VC": {
+ "name": "ቅዱስ ቪንሴንት እና áŒáˆ¬áŠ“ዲንስ"
+ },
+ "KN": {
+ "name": "ቅዱስ ኪትስ እና ኔቪስ"
+ },
+ "PM": {
+ "name": "ቅዱስ á’ዬር እና ሚኩኤሎን"
+ },
+ "BT": {
+ "name": "ቡህታን"
+ },
+ "BG": {
+ "name": "ቡáˆáŒŒáˆªá‹«"
+ },
+ "BF": {
+ "name": "ቡርኪና á‹áˆ¶"
+ },
+ "GW": {
+ "name": "ቢሳዎ"
+ },
+ "BS": {
+ "name": "ባሃማስ"
+ },
+ "BH": {
+ "name": "ባህሬን"
+ },
+ "BB": {
+ "name": "ባርቤዶስ"
+ },
+ "BD": {
+ "name": "ባንáŒáˆ‹á‹²áˆ½"
+ },
+ "BZ": {
+ "name": "ቤሊዘ"
+ },
+ "BY": {
+ "name": "ቤላሩስ"
+ },
+ "BE": {
+ "name": "ቤáˆáŒ„áˆ"
+ },
+ "BM": {
+ "name": "ቤርሙዳ"
+ },
+ "BJ": {
+ "name": "ቤኒን"
+ },
+ "BN": {
+ "name": "ብሩኒ"
+ },
+ "BI": {
+ "name": "ብሩንዲ"
+ },
+ "BR": {
+ "name": "ብራዚáˆ"
+ },
+ "BO": {
+ "name": "ቦሊቪያ"
+ },
+ "BA": {
+ "name": "ቦስኒያ እና ሄርዞጎቪኒያ"
+ },
+ "BW": {
+ "name": "ቦትስዋና"
+ },
+ "VA": {
+ "name": "ቫቲካን"
+ },
+ "VU": {
+ "name": "ቫኑአቱ"
+ },
+ "VN": {
+ "name": "ቬትናáˆ"
+ },
+ "VE": {
+ "name": "ቬንዙዌላ"
+ },
+ "TR": {
+ "name": "ቱርክ"
+ },
+ "TM": {
+ "name": "ቱርክሜኒስታን"
+ },
+ "TV": {
+ "name": "ቱቫሉ"
+ },
+ "TN": {
+ "name": "ቱኒዚያ"
+ },
+ "TZ": {
+ "name": "ታንዛኒያ"
+ },
+ "TH": {
+ "name": "ታይላንድ"
+ },
+ "TW": {
+ "name": "ታይዋን"
+ },
+ "TJ": {
+ "name": "ታጃኪስታን"
+ },
+ "TT": {
+ "name": "ትሪኒዳድ እና ቶባጎ"
+ },
+ "TO": {
+ "name": "ቶንጋ"
+ },
+ "TK": {
+ "name": "ቶክላá‹"
+ },
+ "TG": {
+ "name": "ቶáŒ"
+ },
+ "CL": {
+ "name": "ቺሊ"
+ },
+ "CN": {
+ "name": "ቻይና"
+ },
+ "TD": {
+ "name": "ቻድ"
+ },
+ "CZ": {
+ "name": "ቼክ ሪá‘ብሊክ"
+ },
+ "NU": {
+ "name": "ኒኡይ"
+ },
+ "NI": {
+ "name": "ኒካራጓ"
+ },
+ "NC": {
+ "name": "ኒዠካሌዶኒያ"
+ },
+ "NZ": {
+ "name": "ኒዠዚላንድ"
+ },
+ "NE": {
+ "name": "ኒጀር"
+ },
+ "NA": {
+ "name": "ናሚቢያ"
+ },
+ "NR": {
+ "name": "ናኡሩ"
+ },
+ "NG": {
+ "name": "ናይጄሪያ"
+ },
+ "NL": {
+ "name": "ኔዘርላንድ"
+ },
+ "NP": {
+ "name": "ኔá“áˆ"
+ },
+ "NO": {
+ "name": "ኖርዌ"
+ },
+ "NF": {
+ "name": "ኖርáŽáˆáŠ­ ደሴት"
+ },
+ "AL": {
+ "name": "አáˆá‰£áŠ’á‹«"
+ },
+ "DZ": {
+ "name": "አáˆáŒ„ሪያ"
+ },
+ "US": {
+ "name": "አሜሪካ"
+ },
+ "AW": {
+ "name": "አሩባ"
+ },
+ "AM": {
+ "name": "አርሜኒያ"
+ },
+ "AR": {
+ "name": "አርጀንቲና"
+ },
+ "AG": {
+ "name": "አንቲጓ እና ባሩዳ"
+ },
+ "AQ": {
+ "name": "አንታርክቲካ"
+ },
+ "AD": {
+ "name": "አንዶራ"
+ },
+ "AI": {
+ "name": "አንጉኢላ"
+ },
+ "AO": {
+ "name": "አንáŒáˆ‹"
+ },
+ "AU": {
+ "name": "አá‹áˆµá‰µáˆ¬áˆŠá‹«"
+ },
+ "AZ": {
+ "name": "አዘርባጃን"
+ },
+ "IE": {
+ "name": "አየርላንድ"
+ },
+ "IS": {
+ "name": "አይስላንድ"
+ },
+ "AF": {
+ "name": "አáጋኒስታን"
+ },
+ "UY": {
+ "name": "ኡራጓይ"
+ },
+ "IQ": {
+ "name": "ኢራቅ"
+ },
+ "IR": {
+ "name": "ኢራን"
+ },
+ "ET": {
+ "name": "ኢትዮጵያ"
+ },
+ "ID": {
+ "name": "ኢንዶኔዢያ"
+ },
+ "GQ": {
+ "name": "ኢኳቶሪያሠጊኒ"
+ },
+ "EC": {
+ "name": "ኢኳዶር"
+ },
+ "SV": {
+ "name": "ኤሠሳáˆá‰«á‹¶áˆ­"
+ },
+ "ER": {
+ "name": "ኤርትራ"
+ },
+ "EE": {
+ "name": "ኤስቶኒያ"
+ },
+ "IL": {
+ "name": "እስራኤáˆ"
+ },
+ "GB": {
+ "name": "እንáŒáˆŠá‹"
+ },
+ "OM": {
+ "name": "ኦማን"
+ },
+ "AT": {
+ "name": "ኦስትሪያ"
+ },
+ "CU": {
+ "name": "ኩባ"
+ },
+ "CK": {
+ "name": "ኩክ ደሴቶች"
+ },
+ "KI": {
+ "name": "ኪሪባቲ"
+ },
+ "CM": {
+ "name": "ካሜሩን"
+ },
+ "KH": {
+ "name": "ካáˆá‰¦á‹²á‹«"
+ },
+ "CA": {
+ "name": "ካናዳ"
+ },
+ "KY": {
+ "name": "ካይማን ደሴቶች"
+ },
+ "KE": {
+ "name": "ኬንያ"
+ },
+ "CV": {
+ "name": "ኬᕠቬርዴ"
+ },
+ "HR": {
+ "name": "ክሮኤሽያ"
+ },
+ "KW": {
+ "name": "ክዌት"
+ },
+ "CO": {
+ "name": "ኮሎáˆá‰¢á‹«"
+ },
+ "KM": {
+ "name": "ኮሞሮስ"
+ },
+ "CR": {
+ "name": "ኮስታ ሪካ"
+ },
+ "CI": {
+ "name": "ኮት ዲቯር"
+ },
+ "CD": {
+ "name": "ኮንጎ"
+ },
+ "CG": {
+ "name": "ኮንáŒ"
+ },
+ "CC": {
+ "name": "ኮኮስ ኬሊንጠደሴቶች"
+ },
+ "QA": {
+ "name": "ኳታር"
+ },
+ "WF": {
+ "name": "ዋሊስ እና á‰á‰±áŠ“ ደሴቶች"
+ },
+ "ZW": {
+ "name": "á‹šáˆá‰§á‰¤"
+ },
+ "ZM": {
+ "name": "á‹›áˆá‰¢á‹«"
+ },
+ "YE": {
+ "name": "የመን"
+ },
+ "CF": {
+ "name": "የመካከለኛዠአáሪካ ሪáብሊክ"
+ },
+ "MP": {
+ "name": "የሰሜናዊ ማሪያና ደሴቶች"
+ },
+ "SJ": {
+ "name": "የስቫáˆá‰£áˆ­á‹µ እና ዣን ማየን ደሴቶች"
+ },
+ "IO": {
+ "name": "የብሪታኒያ ህንድ á‹á‰‚ያኖስ áŒá‹›á‰µ"
+ },
+ "AE": {
+ "name": "የተባበሩት አረብ ኤáˆáˆ¬á‰µáˆµ"
+ },
+ "TC": {
+ "name": "የቱርኮችና የካኢኮስ ደሴቶች"
+ },
+ "AX": {
+ "name": "የአላንድ ደሴቶች"
+ },
+ "UM": {
+ "name": "የአሜሪካ ራቅ ያሉ አናሳ ደሴቶች"
+ },
+ "AS": {
+ "name": "የአሜሪካ ሳሞአ"
+ },
+ "VI": {
+ "name": "የአሜሪካ ቨርጂን ደሴቶች"
+ },
+ "VG": {
+ "name": "የእንáŒáˆŠá‹ ድንáŒáˆ ደሴቶች"
+ },
+ "CX": {
+ "name": "የገና ደሴቶች"
+ },
+ "TF": {
+ "name": "የáˆáˆ¨áŠ•áˆ³á‹­ ደቡባዊ áŒá‹›á‰¶á‰½"
+ },
+ "GF": {
+ "name": "የáˆáˆ¨áŠ•áˆ³á‹­ ጉዊአና"
+ },
+ "PF": {
+ "name": "የáˆáˆ¨áŠ•áˆ³á‹­ á–ሊኔዢያ"
+ },
+ "FO": {
+ "name": "የá‹áˆ®á‹­ ደሴቶች"
+ },
+ "PS": {
+ "name": "የááˆáˆµáŒ¤áˆ áŒá‹›á‰µ"
+ },
+ "FK": {
+ "name": "የáŽáˆáŠ­áˆ‹áŠ•á‹µ ደሴቶች"
+ },
+ "UA": {
+ "name": "ዩክሬን"
+ },
+ "UZ": {
+ "name": "á‹©á‹á‰ áŠªáˆµá‰³áŠ•"
+ },
+ "UG": {
+ "name": "ዩጋንዳ"
+ },
+ "ZA": {
+ "name": "ደቡብ አáሪካ"
+ },
+ "KR": {
+ "name": "ደቡብ ኮሪያ"
+ },
+ "GS": {
+ "name": "ደቡብ ጆርጂያ እና የደቡድ ሳንድዊች ደሴቶች"
+ },
+ "DK": {
+ "name": "ዴንማርክ"
+ },
+ "DM": {
+ "name": "ዶሚኒካ"
+ },
+ "DO": {
+ "name": "ዶሚኒክ ሪá‘ብሊክ"
+ },
+ "DE": {
+ "name": "ጀርመን"
+ },
+ "DJ": {
+ "name": "ጂቡቲ"
+ },
+ "JM": {
+ "name": "ጃማይካ"
+ },
+ "JP": {
+ "name": "ጃá“ን"
+ },
+ "JO": {
+ "name": "ጆርዳን"
+ },
+ "GE": {
+ "name": "ጆርጂያ"
+ },
+ "GU": {
+ "name": "ጉዋáˆ"
+ },
+ "GT": {
+ "name": "ጉዋቲማላ"
+ },
+ "GP": {
+ "name": "ጉዋደሉá•"
+ },
+ "GY": {
+ "name": "ጉያና"
+ },
+ "GI": {
+ "name": "ጊብራáˆá‰³áˆ­"
+ },
+ "GN": {
+ "name": "ጊኒ"
+ },
+ "GM": {
+ "name": "ጋáˆá‰¢á‹«"
+ },
+ "GA": {
+ "name": "ጋቦን"
+ },
+ "GH": {
+ "name": "ጋና"
+ },
+ "GL": {
+ "name": "áŒáˆªáŠ•áˆ‹áŠ•á‹µ"
+ },
+ "GR": {
+ "name": "áŒáˆªáŠ­"
+ },
+ "GD": {
+ "name": "áŒáˆ¬áŠ“ዳ"
+ },
+ "EG": {
+ "name": "áŒá‰¥áŒ½"
+ },
+ "IT": {
+ "name": "ጣሊያን"
+ },
+ "FR": {
+ "name": "áˆáˆ¨áŠ•áˆ³á‹­"
+ },
+ "PH": {
+ "name": "áŠáˆŠá’ንስ"
+ },
+ "FI": {
+ "name": "áŠáŠ•áˆ‹áŠ•á‹µ"
+ },
+ "FJ": {
+ "name": "áŠáŒ‚"
+ },
+ "PN": {
+ "name": "á’ትካኢርን"
+ },
+ "PW": {
+ "name": "á“ላá‹"
+ },
+ "PY": {
+ "name": "á“ራጓይ"
+ },
+ "PA": {
+ "name": "á“ናማ"
+ },
+ "PK": {
+ "name": "á“ኪስታን"
+ },
+ "PG": {
+ "name": "á“á‘á‹‹ ኒዠጊኒ"
+ },
+ "PE": {
+ "name": "á”ሩ"
+ },
+ "PL": {
+ "name": "á–ላንድ"
+ },
+ "PT": {
+ "name": "á–ርቱጋáˆ"
+ },
+ "PR": {
+ "name": "á–ርታ ሪኮ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/to.json b/library/intl/resources/country/to.json
new file mode 100644
index 000000000..645648731
--- /dev/null
+++ b/library/intl/resources/country/to.json
@@ -0,0 +1,761 @@
+{
+ "AI": {
+ "name": "Anikuila"
+ },
+ "AG": {
+ "name": "Anitikua mo Palaputa"
+ },
+ "FR": {
+ "name": "Falanisē"
+ },
+ "PH": {
+ "name": "Filipaini"
+ },
+ "FI": {
+ "name": "Finilani"
+ },
+ "FJ": {
+ "name": "Fisi"
+ },
+ "WS": {
+ "name": "Haʻamoa"
+ },
+ "AS": {
+ "name": "Haʻamoa ʻAmelika"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "NL": {
+ "name": "HÅlani"
+ },
+ "HK": {
+ "name": "Hongi Kongi SAR Siaina"
+ },
+ "HN": {
+ "name": "Honitulasi"
+ },
+ "HU": {
+ "name": "Hungakalia"
+ },
+ "IE": {
+ "name": "ʻAealani"
+ },
+ "AF": {
+ "name": "Ê»AfikÄnisitani"
+ },
+ "ZA": {
+ "name": "ʻAfilika tonga"
+ },
+ "IS": {
+ "name": "ʻAisilani"
+ },
+ "DZ": {
+ "name": "ʻAisilia"
+ },
+ "AE": {
+ "name": "ʻAlepea Fakatahataha"
+ },
+ "AL": {
+ "name": "ʻAlipania"
+ },
+ "AW": {
+ "name": "ʻAlupa"
+ },
+ "AM": {
+ "name": "ʻĀmenia"
+ },
+ "AO": {
+ "name": "ʻAngikola"
+ },
+ "AQ": {
+ "name": "Ê»AnitÄtika"
+ },
+ "AD": {
+ "name": "ʻAnitola"
+ },
+ "AU": {
+ "name": "ʻAositelēlia"
+ },
+ "AT": {
+ "name": "ʻAositulia"
+ },
+ "AZ": {
+ "name": "ʻAsapaisani"
+ },
+ "AR": {
+ "name": "ʻAsenitina"
+ },
+ "GQ": {
+ "name": "ʻEkueta Kini"
+ },
+ "EC": {
+ "name": "ʻEkuetoa"
+ },
+ "SV": {
+ "name": "ʻEle Salavatoa"
+ },
+ "ER": {
+ "name": "ʻElitulia"
+ },
+ "EE": {
+ "name": "Ê»EsitÅnia"
+ },
+ "IQ": {
+ "name": "ʻIlaaki"
+ },
+ "IR": {
+ "name": "ʻIlaani"
+ },
+ "IN": {
+ "name": "ʻInitia"
+ },
+ "ID": {
+ "name": "ʻInitonēsia"
+ },
+ "IL": {
+ "name": "ʻIsileli"
+ },
+ "EG": {
+ "name": "ʻIsipite"
+ },
+ "IT": {
+ "name": "ʻĪtali"
+ },
+ "ET": {
+ "name": "ʻĪtiÅpia"
+ },
+ "UG": {
+ "name": "Ê»IukanitÄ"
+ },
+ "OM": {
+ "name": "ʻOmani"
+ },
+ "FO": {
+ "name": "ʻOtumotu Faloe"
+ },
+ "FK": {
+ "name": "ʻOtumotu Fokulani"
+ },
+ "AX": {
+ "name": "ʻOtumotu ʻAlani"
+ },
+ "IC": {
+ "name": "ʻOtumotu Kaneli"
+ },
+ "KY": {
+ "name": "ʻOtumotu Keimeni"
+ },
+ "CC": {
+ "name": "ʻOtumotu Koko"
+ },
+ "CK": {
+ "name": "ʻOtumotu Kuki"
+ },
+ "MP": {
+ "name": "ʻOtumotu Maliana tokelau"
+ },
+ "MH": {
+ "name": "Ê»Otumotu MÄsolo"
+ },
+ "PN": {
+ "name": "ʻOtumotu Pitikeni"
+ },
+ "SC": {
+ "name": "ʻOtumotu Seiseli"
+ },
+ "GS": {
+ "name": "Ê»Otumotu SeÅsia-tonga mo Saniuisi-tonga"
+ },
+ "UM": {
+ "name": "ʻOtumotu siʻi ʻo ʻAmelika"
+ },
+ "SB": {
+ "name": "ʻOtumotu Solomone"
+ },
+ "TC": {
+ "name": "ʻOtumotu Tuki mo Kaikosi"
+ },
+ "VI": {
+ "name": "ʻOtumotu Vilikini fakaʻamelika"
+ },
+ "VG": {
+ "name": "Ê»Otumotu Vilikini fakapilitÄnia"
+ },
+ "UA": {
+ "name": "ʻŪkalaʻine"
+ },
+ "UY": {
+ "name": "ʻUlukuai"
+ },
+ "UZ": {
+ "name": "ʻUsipekitani"
+ },
+ "WF": {
+ "name": "ʻUvea mo Futuna"
+ },
+ "YE": {
+ "name": "Iemeni"
+ },
+ "BQ": {
+ "name": "Kalipiane fakahÅlani"
+ },
+ "GR": {
+ "name": "Kalisi"
+ },
+ "CM": {
+ "name": "Kameluni"
+ },
+ "GM": {
+ "name": "Kamipia"
+ },
+ "KH": {
+ "name": "KamipÅtia"
+ },
+ "GH": {
+ "name": "Kana"
+ },
+ "CA": {
+ "name": "KÄnata"
+ },
+ "GA": {
+ "name": "Kaponi"
+ },
+ "KZ": {
+ "name": "Kasakitani"
+ },
+ "QA": {
+ "name": "KatÄ"
+ },
+ "GD": {
+ "name": "KelenatÄ"
+ },
+ "KE": {
+ "name": "KeniÄ"
+ },
+ "KG": {
+ "name": "KÄ«kisitani"
+ },
+ "KI": {
+ "name": "Kilipasi"
+ },
+ "GN": {
+ "name": "Kini"
+ },
+ "GW": {
+ "name": "Kini-Pisau"
+ },
+ "CU": {
+ "name": "Kiupa"
+ },
+ "KP": {
+ "name": "KÅlea tokelau"
+ },
+ "KR": {
+ "name": "KÅlea tonga"
+ },
+ "VA": {
+ "name": "Kolo Vatikani"
+ },
+ "CO": {
+ "name": "Kolomipia"
+ },
+ "KM": {
+ "name": "Komolosi"
+ },
+ "CD": {
+ "name": "Kongo - Kinisasa"
+ },
+ "CG": {
+ "name": "Kongo - Palasavila"
+ },
+ "CR": {
+ "name": "Kosita Lika"
+ },
+ "XK": {
+ "name": "KÅsovo"
+ },
+ "GU": {
+ "name": "Kuamu"
+ },
+ "GP": {
+ "name": "Kuatalupe"
+ },
+ "GT": {
+ "name": "Kuatamala"
+ },
+ "KW": {
+ "name": "Kueiti"
+ },
+ "GG": {
+ "name": "Kuenisī"
+ },
+ "GY": {
+ "name": "Kuiana"
+ },
+ "GF": {
+ "name": "Kuiana fakafalanisē"
+ },
+ "CW": {
+ "name": "Kulasao"
+ },
+ "GL": {
+ "name": "Kulinilani"
+ },
+ "HR": {
+ "name": "Kuloisia"
+ },
+ "LR": {
+ "name": "Laipelia"
+ },
+ "LU": {
+ "name": "Lakisimipeki"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LA": {
+ "name": "Lau"
+ },
+ "LB": {
+ "name": "Lepanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "RE": {
+ "name": "LÄ“unioni"
+ },
+ "LI": {
+ "name": "Likitenisiteini"
+ },
+ "CF": {
+ "name": "Lipapilika ʻAfilika Lotoloto"
+ },
+ "CZ": {
+ "name": "Lipapilika Seki"
+ },
+ "DO": {
+ "name": "Lipapilika Tominika"
+ },
+ "LY": {
+ "name": "LÄ«pia"
+ },
+ "LT": {
+ "name": "Lituania"
+ },
+ "RO": {
+ "name": "Lomēnia"
+ },
+ "RW": {
+ "name": "LuanitÄ"
+ },
+ "RU": {
+ "name": "LÅ«sia"
+ },
+ "YT": {
+ "name": "Maiote"
+ },
+ "MO": {
+ "name": "Makau SAR Siaina"
+ },
+ "MV": {
+ "name": "Malativisi"
+ },
+ "MW": {
+ "name": "Malaui"
+ },
+ "MY": {
+ "name": "Malēsia"
+ },
+ "ML": {
+ "name": "MÄli"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MK": {
+ "name": "MasetÅnia"
+ },
+ "CI": {
+ "name": "Matafonua ʻAivolī"
+ },
+ "MG": {
+ "name": "Matakasika"
+ },
+ "MQ": {
+ "name": "MÄteniki"
+ },
+ "MR": {
+ "name": "Maulitenia"
+ },
+ "MU": {
+ "name": "Maulitiusi"
+ },
+ "MX": {
+ "name": "Mekisikou"
+ },
+ "FM": {
+ "name": "Mikolonīsia"
+ },
+ "MS": {
+ "name": "Moʻungaselati"
+ },
+ "MA": {
+ "name": "Moloko"
+ },
+ "MD": {
+ "name": "Molotova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "MongokÅlia"
+ },
+ "ME": {
+ "name": "Monitenikalo"
+ },
+ "MZ": {
+ "name": "Mosēmipiki"
+ },
+ "AC": {
+ "name": "Motu ʻAsenisini"
+ },
+ "CX": {
+ "name": "Motu Kilisimasi"
+ },
+ "IM": {
+ "name": "Motu Mani"
+ },
+ "NF": {
+ "name": "Motu NÅfoliki"
+ },
+ "CV": {
+ "name": "Muiʻi Vēte"
+ },
+ "NG": {
+ "name": "Naisilia"
+ },
+ "NA": {
+ "name": "Namipia"
+ },
+ "NR": {
+ "name": "Naulu"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NI": {
+ "name": "Nikalakua"
+ },
+ "NE": {
+ "name": "Nisia"
+ },
+ "NC": {
+ "name": "Niu KaletÅnia"
+ },
+ "NU": {
+ "name": "Niuē"
+ },
+ "NO": {
+ "name": "Noauē"
+ },
+ "NZ": {
+ "name": "Nuʻusila"
+ },
+ "BS": {
+ "name": "Pahama"
+ },
+ "PK": {
+ "name": "PÄkisitani"
+ },
+ "PY": {
+ "name": "Palakuai"
+ },
+ "BR": {
+ "name": "PalÄsili"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "BH": {
+ "name": "Paleini"
+ },
+ "PA": {
+ "name": "PanamÄ"
+ },
+ "BB": {
+ "name": "PÄpeitosi"
+ },
+ "PG": {
+ "name": "Papuaniukini"
+ },
+ "BF": {
+ "name": "Pekano Faso"
+ },
+ "BY": {
+ "name": "Pelalusi"
+ },
+ "BE": {
+ "name": "Pelesiume"
+ },
+ "BZ": {
+ "name": "Pelise"
+ },
+ "PE": {
+ "name": "Pelū"
+ },
+ "MM": {
+ "name": "Pema"
+ },
+ "BM": {
+ "name": "PÄ“muta"
+ },
+ "BD": {
+ "name": "PengilÄtesi"
+ },
+ "BJ": {
+ "name": "Penini"
+ },
+ "GB": {
+ "name": "PilitÄnia"
+ },
+ "PL": {
+ "name": "Polani"
+ },
+ "PF": {
+ "name": "Polinisia fakafalanisē"
+ },
+ "BO": {
+ "name": "Polīvia"
+ },
+ "BA": {
+ "name": "Posinia mo HesikÅvina"
+ },
+ "BW": {
+ "name": "Potisiuana"
+ },
+ "IO": {
+ "name": "Potu fonua moana Ê»Initia fakapilitÄnia"
+ },
+ "TF": {
+ "name": "Potu fonua tonga fakafalanisē"
+ },
+ "PS": {
+ "name": "Potu Palesitaine"
+ },
+ "PT": {
+ "name": "Potukali"
+ },
+ "PR": {
+ "name": "Pueto Liko"
+ },
+ "US": {
+ "name": "Puleʻanga fakatahataha ʻAmelika"
+ },
+ "BG": {
+ "name": "Pulukalia"
+ },
+ "BN": {
+ "name": "Pulunei"
+ },
+ "BI": {
+ "name": "Puluniti"
+ },
+ "BT": {
+ "name": "PÅ«tani"
+ },
+ "SH": {
+ "name": "SÄ Helena"
+ },
+ "KN": {
+ "name": "SÄ Kitisi mo Nevisi"
+ },
+ "LC": {
+ "name": "SÄ LÅ«sia"
+ },
+ "SM": {
+ "name": "SÄ Malino"
+ },
+ "MF": {
+ "name": "SÄ MÄtini (fakafalanisÄ“)"
+ },
+ "SX": {
+ "name": "SÄ MÄtini (fakahÅlani)"
+ },
+ "BL": {
+ "name": "SÄ PatÄ“lemi"
+ },
+ "PM": {
+ "name": "SÄ Piea mo Mikeloni"
+ },
+ "VC": {
+ "name": "SÄ Viniseni mo Kulenatini"
+ },
+ "EH": {
+ "name": "Sahala fakahihifo"
+ },
+ "CY": {
+ "name": "Saipalesi"
+ },
+ "JM": {
+ "name": "Samaika"
+ },
+ "ST": {
+ "name": "Sao Tomē mo Pilinisipe"
+ },
+ "TD": {
+ "name": "SÄti"
+ },
+ "SA": {
+ "name": "Saute ʻAlepea"
+ },
+ "JE": {
+ "name": "Selusī"
+ },
+ "ZM": {
+ "name": "Semipia"
+ },
+ "SN": {
+ "name": "Senekalo"
+ },
+ "GE": {
+ "name": "SeÅsia"
+ },
+ "RS": {
+ "name": "SÄ“pia"
+ },
+ "CN": {
+ "name": "Siaina"
+ },
+ "DE": {
+ "name": "Siamane"
+ },
+ "JP": {
+ "name": "Siapani"
+ },
+ "SL": {
+ "name": "Siela Leone"
+ },
+ "LK": {
+ "name": "SÄ«langikÄ"
+ },
+ "CL": {
+ "name": "Sili"
+ },
+ "SY": {
+ "name": "SÄ«lia"
+ },
+ "SK": {
+ "name": "SilÅvakia"
+ },
+ "SI": {
+ "name": "SilÅvenia"
+ },
+ "ZW": {
+ "name": "Simipapuei"
+ },
+ "SG": {
+ "name": "Singapoa"
+ },
+ "GI": {
+ "name": "SipalÄlitÄ"
+ },
+ "ES": {
+ "name": "Sipeini"
+ },
+ "DJ": {
+ "name": "Siputi"
+ },
+ "EA": {
+ "name": "Siuta mo Melila"
+ },
+ "SJ": {
+ "name": "SivolopÄti mo Sani Maieni"
+ },
+ "JO": {
+ "name": "Soatane"
+ },
+ "SO": {
+ "name": "SÅmalia"
+ },
+ "SZ": {
+ "name": "Suasilani"
+ },
+ "SE": {
+ "name": "Suēteni"
+ },
+ "CH": {
+ "name": "Suisilani"
+ },
+ "SR": {
+ "name": "Suliname"
+ },
+ "SS": {
+ "name": "SÅ«tani fakatonga"
+ },
+ "SD": {
+ "name": "SÅ«teni"
+ },
+ "TH": {
+ "name": "Tailani"
+ },
+ "TW": {
+ "name": "Taiuani"
+ },
+ "TJ": {
+ "name": "Tasikitani"
+ },
+ "DK": {
+ "name": "Tenimaʻake"
+ },
+ "TZ": {
+ "name": "TenisÄnia"
+ },
+ "DG": {
+ "name": "Tieko KÄsia"
+ },
+ "TT": {
+ "name": "Tilinitati mo Topako"
+ },
+ "TL": {
+ "name": "Timoa Hahake"
+ },
+ "TR": {
+ "name": "Toake"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TG": {
+ "name": "Toko"
+ },
+ "DM": {
+ "name": "Tominika"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TM": {
+ "name": "TÅ«kimenisitani"
+ },
+ "TA": {
+ "name": "Tulisiteni ta Kunuha"
+ },
+ "TN": {
+ "name": "Tunīsia"
+ },
+ "TV": {
+ "name": "TÅ«valu"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "VN": {
+ "name": "Vietinami"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/tr.json b/library/intl/resources/country/tr.json
new file mode 100644
index 000000000..1db15e74b
--- /dev/null
+++ b/library/intl/resources/country/tr.json
@@ -0,0 +1,761 @@
+{
+ "US": {
+ "name": "ABD"
+ },
+ "UM": {
+ "name": "ABD Uzak Adaları"
+ },
+ "VI": {
+ "name": "ABD Virjin Adaları"
+ },
+ "AF": {
+ "name": "Afganistan"
+ },
+ "AX": {
+ "name": "Åland Adaları"
+ },
+ "DE": {
+ "name": "Almanya"
+ },
+ "AS": {
+ "name": "Amerikan Samoası"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua ve Barbuda"
+ },
+ "AR": {
+ "name": "Arjantin"
+ },
+ "AL": {
+ "name": "Arnavutluk"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Adası"
+ },
+ "AU": {
+ "name": "Avustralya"
+ },
+ "AT": {
+ "name": "Avusturya"
+ },
+ "AZ": {
+ "name": "Azerbaycan"
+ },
+ "BS": {
+ "name": "Bahamalar"
+ },
+ "BH": {
+ "name": "Bahreyn"
+ },
+ "BD": {
+ "name": "BangladeÅŸ"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "EH": {
+ "name": "Batı Sahara"
+ },
+ "BE": {
+ "name": "Belçika"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Beyaz Rusya"
+ },
+ "AE": {
+ "name": "BirleÅŸik Arap Emirlikleri"
+ },
+ "GB": {
+ "name": "Birleşik Krallık"
+ },
+ "BO": {
+ "name": "Bolivya"
+ },
+ "BA": {
+ "name": "Bosna Hersek"
+ },
+ "BW": {
+ "name": "Botsvana"
+ },
+ "BR": {
+ "name": "Brezilya"
+ },
+ "IO": {
+ "name": "Britanya Hint Okyanusu Toprakları"
+ },
+ "VG": {
+ "name": "Britanya Virjin Adaları"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgaristan"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "KY": {
+ "name": "Cayman Adaları"
+ },
+ "GI": {
+ "name": "Cebelitarık"
+ },
+ "DZ": {
+ "name": "Cezayir"
+ },
+ "CX": {
+ "name": "Christmas Adası"
+ },
+ "DJ": {
+ "name": "Cibuti"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Adaları"
+ },
+ "CK": {
+ "name": "Cook Adaları"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "TD": {
+ "name": "Çad"
+ },
+ "CZ": {
+ "name": "Çek Cumhuriyeti"
+ },
+ "CN": {
+ "name": "Çin"
+ },
+ "HK": {
+ "name": "Çin Hong Kong ÖYB"
+ },
+ "MO": {
+ "name": "Çin Makao ÖYB"
+ },
+ "DK": {
+ "name": "Danimarka"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Dominik Cumhuriyeti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvator Ginesi"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ID": {
+ "name": "Endonezya"
+ },
+ "ER": {
+ "name": "Eritre"
+ },
+ "AM": {
+ "name": "Ermenistan"
+ },
+ "EE": {
+ "name": "Estonya"
+ },
+ "ET": {
+ "name": "Etiyopya"
+ },
+ "FK": {
+ "name": "Falkland Adaları"
+ },
+ "FO": {
+ "name": "Faroe Adaları"
+ },
+ "MA": {
+ "name": "Fas"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "CI": {
+ "name": "FildiÅŸi Sahili"
+ },
+ "PH": {
+ "name": "Filipinler"
+ },
+ "PS": {
+ "name": "Filistin Bölgeleri"
+ },
+ "FI": {
+ "name": "Finlandiya"
+ },
+ "FR": {
+ "name": "Fransa"
+ },
+ "GF": {
+ "name": "Fransız Guyanası"
+ },
+ "TF": {
+ "name": "Fransız Güney Toprakları"
+ },
+ "PF": {
+ "name": "Fransız Polinezyası"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadalupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "ZA": {
+ "name": "Güney Afrika"
+ },
+ "GS": {
+ "name": "Güney Georgia ve Güney Sandwich Adaları"
+ },
+ "CY": {
+ "name": "Güney Kıbrıs Rum Kesimi"
+ },
+ "KR": {
+ "name": "Güney Kore"
+ },
+ "SS": {
+ "name": "Güney Sudan"
+ },
+ "GE": {
+ "name": "Gürcistan"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "HR": {
+ "name": "Hırvatistan"
+ },
+ "IN": {
+ "name": "Hindistan"
+ },
+ "NL": {
+ "name": "Hollanda"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Ä°ran"
+ },
+ "IE": {
+ "name": "Ä°rlanda"
+ },
+ "ES": {
+ "name": "Ä°spanya"
+ },
+ "IL": {
+ "name": "Ä°srail"
+ },
+ "SE": {
+ "name": "İsveç"
+ },
+ "CH": {
+ "name": "İsviçre"
+ },
+ "IT": {
+ "name": "Ä°talya"
+ },
+ "IS": {
+ "name": "Ä°zlanda"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japonya"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "KH": {
+ "name": "Kamboçya"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanarya Adaları"
+ },
+ "ME": {
+ "name": "KaradaÄŸ"
+ },
+ "BQ": {
+ "name": "Karayip Hollanda"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KZ": {
+ "name": "Kazakistan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kırgızistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CO": {
+ "name": "Kolombiya"
+ },
+ "KM": {
+ "name": "Komorlar"
+ },
+ "CG": {
+ "name": "Kongo - Brazavil"
+ },
+ "CD": {
+ "name": "Kongo - KinÅŸasa"
+ },
+ "XK": {
+ "name": "Kosova"
+ },
+ "CR": {
+ "name": "Kosta Rika"
+ },
+ "KW": {
+ "name": "Kuveyt"
+ },
+ "KP": {
+ "name": "Kuzey Kore"
+ },
+ "MP": {
+ "name": "Kuzey Mariana Adaları"
+ },
+ "CU": {
+ "name": "Küba"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LV": {
+ "name": "Letonya"
+ },
+ "LR": {
+ "name": "Liberya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Litvanya"
+ },
+ "LB": {
+ "name": "Lübnan"
+ },
+ "LU": {
+ "name": "Lüksemburg"
+ },
+ "HU": {
+ "name": "Macaristan"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MK": {
+ "name": "Makedonya"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MV": {
+ "name": "Maldivler"
+ },
+ "MY": {
+ "name": "Malezya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "IM": {
+ "name": "Man Adası"
+ },
+ "MH": {
+ "name": "Marshall Adaları"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "EG": {
+ "name": "Mısır"
+ },
+ "FM": {
+ "name": "Mikronezya"
+ },
+ "MN": {
+ "name": "MoÄŸolistan"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MR": {
+ "name": "Moritanya"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "MM": {
+ "name": "Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "Namibya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NE": {
+ "name": "Nijer"
+ },
+ "NG": {
+ "name": "Nijerya"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NF": {
+ "name": "Norfolk Adası"
+ },
+ "NO": {
+ "name": "Norveç"
+ },
+ "CF": {
+ "name": "Orta Afrika Cumhuriyeti"
+ },
+ "UZ": {
+ "name": "Özbekistan"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Yeni Gine"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitcairn Adaları"
+ },
+ "PL": {
+ "name": "Polonya"
+ },
+ "PT": {
+ "name": "Portekiz"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romanya"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RU": {
+ "name": "Rusya"
+ },
+ "BL": {
+ "name": "Saint Barthelemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts ve Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre ve Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent ve Grenadinler"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé ve Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "EA": {
+ "name": "Septe ve Melilla"
+ },
+ "SC": {
+ "name": "SeyÅŸeller"
+ },
+ "RS": {
+ "name": "Sırbistan"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovakya"
+ },
+ "SI": {
+ "name": "Slovenya"
+ },
+ "SB": {
+ "name": "Solomon Adaları"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SY": {
+ "name": "Suriye"
+ },
+ "SA": {
+ "name": "Suudi Arabistan"
+ },
+ "SJ": {
+ "name": "Svalbard ve Jan Mayen Adaları"
+ },
+ "SZ": {
+ "name": "Svaziland"
+ },
+ "CL": {
+ "name": "Åžili"
+ },
+ "TJ": {
+ "name": "Tacikistan"
+ },
+ "TZ": {
+ "name": "Tanzanya"
+ },
+ "TH": {
+ "name": "Tayland"
+ },
+ "TW": {
+ "name": "Tayvan"
+ },
+ "TL": {
+ "name": "Timor-Leste"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad ve Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunus"
+ },
+ "TC": {
+ "name": "Turks ve Caicos Adaları"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "TR": {
+ "name": "Türkiye"
+ },
+ "TM": {
+ "name": "Türkmenistan"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukrayna"
+ },
+ "OM": {
+ "name": "Umman"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "JO": {
+ "name": "Ürdün"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis ve Futuna Adaları"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "NC": {
+ "name": "Yeni Kaledonya"
+ },
+ "NZ": {
+ "name": "Yeni Zelanda"
+ },
+ "GR": {
+ "name": "Yunanistan"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/twq.json b/library/intl/resources/country/twq.json
new file mode 100644
index 000000000..7d2210638
--- /dev/null
+++ b/library/intl/resources/country/twq.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgaanistan"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albaani"
+ },
+ "GB": {
+ "name": "Albaasalaama Marganta"
+ },
+ "DE": {
+ "name": "Almaaɲe"
+ },
+ "DZ": {
+ "name": "Alžeeri"
+ },
+ "VI": {
+ "name": "Ameerik Virgin Gungey"
+ },
+ "US": {
+ "name": "Ameriki Laabu Margantey"
+ },
+ "AS": {
+ "name": "Ameriki Samoa"
+ },
+ "AD": {
+ "name": "Andoora"
+ },
+ "AI": {
+ "name": "Angiiya"
+ },
+ "AO": {
+ "name": "Angoola"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua nda Barbuuda"
+ },
+ "AR": {
+ "name": "Argentine"
+ },
+ "AM": {
+ "name": "Armeeni"
+ },
+ "AW": {
+ "name": "Aruuba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IS": {
+ "name": "Ayseland"
+ },
+ "AZ": {
+ "name": "Azerbaayijaŋ"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahareen"
+ },
+ "BD": {
+ "name": "Bangladeši"
+ },
+ "BB": {
+ "name": "Barbaados"
+ },
+ "BE": {
+ "name": "Belgiiki"
+ },
+ "BZ": {
+ "name": "Beliizi"
+ },
+ "BJ": {
+ "name": "Beniŋ"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BY": {
+ "name": "Biloriši"
+ },
+ "BO": {
+ "name": "Boolivi"
+ },
+ "BA": {
+ "name": "Bosni nda Herzegovine"
+ },
+ "BW": {
+ "name": "Botswaana"
+ },
+ "BR": {
+ "name": "Breezil"
+ },
+ "IO": {
+ "name": "Britiši Indu teekoo laama"
+ },
+ "VG": {
+ "name": "Britiši Virgin gungey"
+ },
+ "BN": {
+ "name": "Bruunee"
+ },
+ "BG": {
+ "name": "Bulgaari"
+ },
+ "BF": {
+ "name": "Burkina faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Buutaŋ"
+ },
+ "TD": {
+ "name": "Caadu"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CZ": {
+ "name": "Cek labo"
+ },
+ "CF": {
+ "name": "Centraafriki koyra"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Doominiki"
+ },
+ "DO": {
+ "name": "Doominiki laboo"
+ },
+ "ET": {
+ "name": "Ecioopi"
+ },
+ "EC": {
+ "name": "Ekwateer"
+ },
+ "ER": {
+ "name": "Eritree"
+ },
+ "ES": {
+ "name": "Espaaɲe"
+ },
+ "EE": {
+ "name": "Estooni"
+ },
+ "FR": {
+ "name": "Faransi"
+ },
+ "GF": {
+ "name": "Faransi Guyaan"
+ },
+ "PF": {
+ "name": "Faransi Polineezi"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipine"
+ },
+ "FI": {
+ "name": "Finlandu"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaabon"
+ },
+ "GH": {
+ "name": "Gaana"
+ },
+ "GM": {
+ "name": "Gambi"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Gine-Bisso"
+ },
+ "GQ": {
+ "name": "Ginee Ekwatorial"
+ },
+ "GE": {
+ "name": "Gorgi"
+ },
+ "GR": {
+ "name": "Greece"
+ },
+ "GD": {
+ "name": "Grenaada"
+ },
+ "GL": {
+ "name": "Grinland"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyaane"
+ },
+ "GP": {
+ "name": "Gwadeluup"
+ },
+ "GT": {
+ "name": "Gwatemaala"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ZA": {
+ "name": "Hawsa Afriki Laboo"
+ },
+ "NL": {
+ "name": "Hollandu"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaari"
+ },
+ "ID": {
+ "name": "Indoneezi"
+ },
+ "IN": {
+ "name": "Indu laboo"
+ },
+ "IQ": {
+ "name": "Iraak"
+ },
+ "IR": {
+ "name": "Iraan"
+ },
+ "RU": {
+ "name": "Iriši laboo"
+ },
+ "IE": {
+ "name": "Irlandu"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israyel"
+ },
+ "IT": {
+ "name": "Itaali"
+ },
+ "JP": {
+ "name": "Jaapoŋ"
+ },
+ "JM": {
+ "name": "Jamaayik"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jibuuti"
+ },
+ "NC": {
+ "name": "Kaaledooni Taagaa"
+ },
+ "KZ": {
+ "name": "Kaazakstan"
+ },
+ "FK": {
+ "name": "Kalkan gungey"
+ },
+ "KH": {
+ "name": "kamboogi"
+ },
+ "CM": {
+ "name": "Kameruun"
+ },
+ "CA": {
+ "name": "Kanaada"
+ },
+ "CV": {
+ "name": "Kapuver gungey"
+ },
+ "QA": {
+ "name": "Kataar"
+ },
+ "KY": {
+ "name": "Kayman gungey"
+ },
+ "KE": {
+ "name": "Keeniya"
+ },
+ "KI": {
+ "name": "Kiribaati"
+ },
+ "CO": {
+ "name": "Kolombi"
+ },
+ "KM": {
+ "name": "Komoor"
+ },
+ "CG": {
+ "name": "Kongoo"
+ },
+ "CD": {
+ "name": "Kongoo demookaratiki laboo"
+ },
+ "KP": {
+ "name": "Kooree, Gurma"
+ },
+ "KR": {
+ "name": "Kooree, Hawsa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta rika"
+ },
+ "HR": {
+ "name": "Krwaasi"
+ },
+ "CI": {
+ "name": "Kudwar"
+ },
+ "CU": {
+ "name": "Kuuba"
+ },
+ "CK": {
+ "name": "Kuuk gungey"
+ },
+ "KW": {
+ "name": "Kuweet"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "AE": {
+ "name": "Laaraw Imaarawey Margantey"
+ },
+ "LA": {
+ "name": "Laawos"
+ },
+ "LS": {
+ "name": "Leesoto"
+ },
+ "LV": {
+ "name": "Letooni"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LY": {
+ "name": "Liibi"
+ },
+ "LT": {
+ "name": "Lituaani"
+ },
+ "LB": {
+ "name": "Lubnaan"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MK": {
+ "name": "Maacedooni"
+ },
+ "ML": {
+ "name": "Maali"
+ },
+ "MA": {
+ "name": "Maarok"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malaawi"
+ },
+ "MV": {
+ "name": "Maldiivu"
+ },
+ "MY": {
+ "name": "Maleezi"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MP": {
+ "name": "Mariana Gurma Gungey"
+ },
+ "MH": {
+ "name": "Maršal gungey"
+ },
+ "MQ": {
+ "name": "Martiniiki"
+ },
+ "MM": {
+ "name": "Maynamar"
+ },
+ "YT": {
+ "name": "Mayooti"
+ },
+ "MX": {
+ "name": "Mexiki"
+ },
+ "FM": {
+ "name": "Mikronezi"
+ },
+ "EG": {
+ "name": "Misra"
+ },
+ "MD": {
+ "name": "Moldovi"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongooli"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MU": {
+ "name": "Mooris gungey"
+ },
+ "MR": {
+ "name": "Mooritaani"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "NG": {
+ "name": "Naajiriia"
+ },
+ "NA": {
+ "name": "Naamibi"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Neepal"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NE": {
+ "name": "Nižer"
+ },
+ "NF": {
+ "name": "Norfolk Gungoo"
+ },
+ "NO": {
+ "name": "Norveej"
+ },
+ "OM": {
+ "name": "Omaan"
+ },
+ "AU": {
+ "name": "Ostraali"
+ },
+ "AT": {
+ "name": "Otriši"
+ },
+ "PK": {
+ "name": "Paakistan"
+ },
+ "PS": {
+ "name": "Palestine Dangay nda Gaaza"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Ginee Taaga"
+ },
+ "PY": {
+ "name": "Paraguwey"
+ },
+ "PE": {
+ "name": "Peeru"
+ },
+ "PN": {
+ "name": "Pitikarin"
+ },
+ "PL": {
+ "name": "Poloɲe"
+ },
+ "PR": {
+ "name": "Porto Riko"
+ },
+ "PT": {
+ "name": "Portugaal"
+ },
+ "RE": {
+ "name": "Reenioŋ"
+ },
+ "RO": {
+ "name": "Rumaani"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SV": {
+ "name": "Salvador laboo"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "Sao Tome nda Prinsipe"
+ },
+ "SA": {
+ "name": "Saudiya"
+ },
+ "SL": {
+ "name": "Seera Leon"
+ },
+ "SC": {
+ "name": "Seešel"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "SH": {
+ "name": "Seŋ Helena"
+ },
+ "KN": {
+ "name": "Seŋ Kitts nda Nevis"
+ },
+ "LC": {
+ "name": "Seŋ Lussia"
+ },
+ "PM": {
+ "name": "Seŋ Piyer nda Mikelon"
+ },
+ "VC": {
+ "name": "Seŋvinsaŋ nda Grenadine"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "CL": {
+ "name": "Å iili"
+ },
+ "CN": {
+ "name": "Å iin"
+ },
+ "CY": {
+ "name": "Å iipur"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slovaaki"
+ },
+ "SI": {
+ "name": "Sloveeni"
+ },
+ "SB": {
+ "name": "Solomon Gungey"
+ },
+ "SO": {
+ "name": "Somaali"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srilanka"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinaam"
+ },
+ "SD": {
+ "name": "Suudaŋ"
+ },
+ "SY": {
+ "name": "Suuria"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SE": {
+ "name": "Sweede"
+ },
+ "CH": {
+ "name": "Swisu"
+ },
+ "TH": {
+ "name": "Taayiland"
+ },
+ "TW": {
+ "name": "Taayiwan"
+ },
+ "TJ": {
+ "name": "Taažikistan"
+ },
+ "TZ": {
+ "name": "Tanzaani"
+ },
+ "TL": {
+ "name": "Timoor hawsa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad nda Tobaago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunizi"
+ },
+ "TC": {
+ "name": "Turk nda Kayikos Gungey"
+ },
+ "TR": {
+ "name": "Turki"
+ },
+ "TM": {
+ "name": "Turkmenistaŋ"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukreen"
+ },
+ "JO": {
+ "name": "Urdun"
+ },
+ "UY": {
+ "name": "Uruguwey"
+ },
+ "UZ": {
+ "name": "Uzbeekistan"
+ },
+ "VA": {
+ "name": "Vaatikan Laama"
+ },
+ "VU": {
+ "name": "Vanautu"
+ },
+ "VE": {
+ "name": "Veneezuyeela"
+ },
+ "VN": {
+ "name": "Vietnaam"
+ },
+ "WF": {
+ "name": "Wallis nda Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "ZM": {
+ "name": "Zambi"
+ },
+ "NZ": {
+ "name": "Zeelandu Taaga"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/tzm.json b/library/intl/resources/country/tzm.json
new file mode 100644
index 000000000..edefc2295
--- /dev/null
+++ b/library/intl/resources/country/tzm.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afɣanistan"
+ },
+ "PS": {
+ "name": "AgemmaḠUgut d Ɣazza Ifilisṭiniyen"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albanya"
+ },
+ "DE": {
+ "name": "Almanya"
+ },
+ "IO": {
+ "name": "Amur n Agaraw Uhindi Ubá¹›iá¹­ani"
+ },
+ "AD": {
+ "name": "Aná¸urra"
+ },
+ "AO": {
+ "name": "Angula"
+ },
+ "AI": {
+ "name": "Angwilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigwa d Barbuda"
+ },
+ "AR": {
+ "name": "Arjuntin"
+ },
+ "AM": {
+ "name": "Arminya"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "VA": {
+ "name": "Awank iɣrem n Vatikan"
+ },
+ "AZ": {
+ "name": "Azerbiǧan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Baḥrayn"
+ },
+ "BD": {
+ "name": "Bangladic"
+ },
+ "BB": {
+ "name": "Barbadus"
+ },
+ "BG": {
+ "name": "Belɣarya"
+ },
+ "BE": {
+ "name": "Beljika"
+ },
+ "BY": {
+ "name": "Bilarusya"
+ },
+ "BZ": {
+ "name": "Biliz"
+ },
+ "BJ": {
+ "name": "Binin"
+ },
+ "BM": {
+ "name": "Birmuda"
+ },
+ "BR": {
+ "name": "Bá¹›azil"
+ },
+ "BN": {
+ "name": "Brunay"
+ },
+ "BO": {
+ "name": "Bulivya"
+ },
+ "BF": {
+ "name": "Burkina Fasu"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BA": {
+ "name": "Busna-d-Hirsik"
+ },
+ "BT": {
+ "name": "Buá¹­an"
+ },
+ "BW": {
+ "name": "Butswana"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CL": {
+ "name": "Ccili"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danmark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Ḍuminika"
+ },
+ "DZ": {
+ "name": "Dzayer"
+ },
+ "IQ": {
+ "name": "Æiraq"
+ },
+ "OM": {
+ "name": "Æumman"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filippin"
+ },
+ "FI": {
+ "name": "Finlaná¸a"
+ },
+ "FR": {
+ "name": "Fá¹›ansa"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabun"
+ },
+ "GM": {
+ "name": "Gambya"
+ },
+ "DJ": {
+ "name": "Ǧibuti"
+ },
+ "GD": {
+ "name": "Grinada"
+ },
+ "GL": {
+ "name": "Grinlaná¸a"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GF": {
+ "name": "Guyana Tafransist"
+ },
+ "GP": {
+ "name": "Gwadalup"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatimala"
+ },
+ "GH": {
+ "name": "Ɣana"
+ },
+ "GN": {
+ "name": "Ɣinya"
+ },
+ "GQ": {
+ "name": "Ɣinya Tikwaṭur it"
+ },
+ "GW": {
+ "name": "Ɣinya-Bissaw"
+ },
+ "HT": {
+ "name": "Hayti"
+ },
+ "HU": {
+ "name": "Henɣarya"
+ },
+ "IN": {
+ "name": "Hind"
+ },
+ "HN": {
+ "name": "Hinduras"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "NL": {
+ "name": "Hulaná¸a"
+ },
+ "EC": {
+ "name": "Ikwaá¸ur"
+ },
+ "AE": {
+ "name": "Imarat Tiεrabin Tidduklin"
+ },
+ "ID": {
+ "name": "Indunizya"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "ER": {
+ "name": "Iritrya"
+ },
+ "IE": {
+ "name": "Irlaná¸a"
+ },
+ "IS": {
+ "name": "Islaná¸a"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeil"
+ },
+ "EE": {
+ "name": "Isá¹­unya"
+ },
+ "IT": {
+ "name": "Iá¹­alya"
+ },
+ "ET": {
+ "name": "Ityupya"
+ },
+ "US": {
+ "name": "Iwunak Idduklen n Amirika"
+ },
+ "JM": {
+ "name": "Jamayka"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralá¹­ar"
+ },
+ "JP": {
+ "name": "Jjappun"
+ },
+ "GE": {
+ "name": "Jyurjya"
+ },
+ "NC": {
+ "name": "kalidunya Tamaynut"
+ },
+ "KH": {
+ "name": "Kambudj"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "KZ": {
+ "name": "Kazaxistan"
+ },
+ "KE": {
+ "name": "Kinya"
+ },
+ "KG": {
+ "name": "Kirɣistan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Krwatya"
+ },
+ "CU": {
+ "name": "kuba"
+ },
+ "CO": {
+ "name": "Kulumbya"
+ },
+ "CG": {
+ "name": "Kungu"
+ },
+ "KP": {
+ "name": "Kurya Tugafat"
+ },
+ "KR": {
+ "name": "Kurya Tunẓult"
+ },
+ "CR": {
+ "name": "Kusá¹­a Rika"
+ },
+ "KW": {
+ "name": "Kuwwayt"
+ },
+ "LA": {
+ "name": "Laws"
+ },
+ "LR": {
+ "name": "Libirya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lictencá¹­ayn"
+ },
+ "LU": {
+ "name": "Liksumburg"
+ },
+ "LS": {
+ "name": "Lisuá¹­u"
+ },
+ "LV": {
+ "name": "Liá¹­á¹­unya"
+ },
+ "LT": {
+ "name": "Litwanya"
+ },
+ "LB": {
+ "name": "Lubnan"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madaɣacqar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MV": {
+ "name": "Maldiv"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MY": {
+ "name": "Malizya"
+ },
+ "MT": {
+ "name": "Malá¹­a"
+ },
+ "MN": {
+ "name": "Manɣulya"
+ },
+ "MK": {
+ "name": "Maqdunya"
+ },
+ "MQ": {
+ "name": "Martinik"
+ },
+ "YT": {
+ "name": "Mayuá¹­"
+ },
+ "MA": {
+ "name": "Meṛṛuk"
+ },
+ "FM": {
+ "name": "Mikrunizya"
+ },
+ "MX": {
+ "name": "Miksik"
+ },
+ "EG": {
+ "name": "Miá¹£r"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MD": {
+ "name": "Mulá¸avya"
+ },
+ "MC": {
+ "name": "Munaku"
+ },
+ "MS": {
+ "name": "Muntsirra"
+ },
+ "MU": {
+ "name": "Muris"
+ },
+ "MR": {
+ "name": "Muritanya"
+ },
+ "MZ": {
+ "name": "Muzambiq"
+ },
+ "MM": {
+ "name": "Myanmar"
+ },
+ "NA": {
+ "name": "Namibya"
+ },
+ "NR": {
+ "name": "Nawru"
+ },
+ "NG": {
+ "name": "Nijiria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NP": {
+ "name": "Nippal"
+ },
+ "NU": {
+ "name": "Niwi"
+ },
+ "NE": {
+ "name": "Nnijer"
+ },
+ "NO": {
+ "name": "Nnurwij"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palu"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwa Ɣinya Tamaynut"
+ },
+ "PY": {
+ "name": "Paragway"
+ },
+ "PE": {
+ "name": "Piru"
+ },
+ "PN": {
+ "name": "Pitkirn"
+ },
+ "PF": {
+ "name": "Pulinizya Tafransist"
+ },
+ "PL": {
+ "name": "Pulunya"
+ },
+ "PT": {
+ "name": "Purtuɣal"
+ },
+ "PR": {
+ "name": "Purturiku"
+ },
+ "QA": {
+ "name": "Qaá¹­ar"
+ },
+ "CY": {
+ "name": "Qubrus"
+ },
+ "KM": {
+ "name": "Qumur"
+ },
+ "RE": {
+ "name": "Riyyunyun"
+ },
+ "RO": {
+ "name": "Ṛumanya"
+ },
+ "RU": {
+ "name": "Rusya"
+ },
+ "RW": {
+ "name": "Ruwwaná¸a"
+ },
+ "SV": {
+ "name": "Salvaá¸ur"
+ },
+ "WS": {
+ "name": "Samwa"
+ },
+ "AS": {
+ "name": "Samwa Imirikaniyyin"
+ },
+ "SG": {
+ "name": "Sanɣafura"
+ },
+ "SM": {
+ "name": "Sanmarinu"
+ },
+ "SH": {
+ "name": "Santehilin"
+ },
+ "KN": {
+ "name": "Santekits d Nivis"
+ },
+ "LC": {
+ "name": "Santelusya"
+ },
+ "PM": {
+ "name": "Santepyir d Mikelun"
+ },
+ "VC": {
+ "name": "Santevinsent d Grinadin"
+ },
+ "ST": {
+ "name": "Sawá¹­umi d Prinsip"
+ },
+ "ES": {
+ "name": "Sbanya"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SL": {
+ "name": "Siralyun"
+ },
+ "SK": {
+ "name": "Sluvakya"
+ },
+ "SI": {
+ "name": "Sluvinya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Srilanka"
+ },
+ "SA": {
+ "name": "Ssaεudiyya Taεrabt"
+ },
+ "SE": {
+ "name": "Ssewwid"
+ },
+ "SC": {
+ "name": "Ssicil"
+ },
+ "CN": {
+ "name": "Ṣṣin"
+ },
+ "SN": {
+ "name": "Ssiniɣal"
+ },
+ "SD": {
+ "name": "Ssudan"
+ },
+ "SO": {
+ "name": "Ṣṣumal"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SY": {
+ "name": "Surya"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazilaná¸a"
+ },
+ "CH": {
+ "name": "Swisra"
+ },
+ "ZA": {
+ "name": "Tafrikt Tunẓul"
+ },
+ "CF": {
+ "name": "Tagduda n Afrika Wammas"
+ },
+ "CZ": {
+ "name": "Tagduda n ÄŒik"
+ },
+ "DO": {
+ "name": "Tagduda n Ḍuminikan"
+ },
+ "CD": {
+ "name": "Tagduda Tadimuqraá¹­it n Kungu"
+ },
+ "GB": {
+ "name": "Tagelda Taddukelt"
+ },
+ "TJ": {
+ "name": "Ṭaǧikistan"
+ },
+ "CI": {
+ "name": "Taɣazut n Uszer"
+ },
+ "TZ": {
+ "name": "Ṭanzanya"
+ },
+ "TH": {
+ "name": "Ṭaylaná¸a"
+ },
+ "TW": {
+ "name": "Ṭaywan"
+ },
+ "TD": {
+ "name": "Tcad"
+ },
+ "VG": {
+ "name": "Tigzirin (Virgin) Tibá¹›iá¹­aniyin"
+ },
+ "FK": {
+ "name": "Tigzirin n Falkland"
+ },
+ "CV": {
+ "name": "Tigzirin n IÉ£f Uzegzaw"
+ },
+ "KY": {
+ "name": "Tigzirin n Kayman"
+ },
+ "CK": {
+ "name": "Tigzirin n Kuk"
+ },
+ "MH": {
+ "name": "Tigzirin n Marcal"
+ },
+ "MP": {
+ "name": "Tigzirin n Maryana Tugafat"
+ },
+ "SB": {
+ "name": "Tigzirin n Salumun"
+ },
+ "VI": {
+ "name": "Tigzirin n Virjin n Iwunak Yedduklen"
+ },
+ "TC": {
+ "name": "Tigzirin Turkiyyin d Tikaykusin"
+ },
+ "NF": {
+ "name": "Tigzirt Nurfulk"
+ },
+ "TL": {
+ "name": "Timur Tagmuá¹­"
+ },
+ "TT": {
+ "name": "Trinidad d Ṭubagu"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TG": {
+ "name": "Ṭṭugu"
+ },
+ "TK": {
+ "name": "Tuklu"
+ },
+ "TN": {
+ "name": "Tunes"
+ },
+ "TO": {
+ "name": "Ṭunga"
+ },
+ "TM": {
+ "name": "Turkmanistan"
+ },
+ "TR": {
+ "name": "Turkya"
+ },
+ "TV": {
+ "name": "Ṭuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "UÉ£anda"
+ },
+ "UA": {
+ "name": "Ukranya"
+ },
+ "JO": {
+ "name": "Urá¸un"
+ },
+ "UY": {
+ "name": "Urugway"
+ },
+ "AU": {
+ "name": "Usá¹­ralya"
+ },
+ "AT": {
+ "name": "Ustriyya"
+ },
+ "UZ": {
+ "name": "Uzbakistan"
+ },
+ "VU": {
+ "name": "Vanwatu"
+ },
+ "VE": {
+ "name": "Vinzwilla"
+ },
+ "VN": {
+ "name": "Viá¹­nam"
+ },
+ "WF": {
+ "name": "Walis d Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "GR": {
+ "name": "Yunan"
+ },
+ "ZM": {
+ "name": "Zambya"
+ },
+ "NZ": {
+ "name": "Zilaná¸a Tamaynut"
+ },
+ "ZW": {
+ "name": "Zimbabwi"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ug.json b/library/intl/resources/country/ug.json
new file mode 100644
index 000000000..a9a86b1ce
--- /dev/null
+++ b/library/intl/resources/country/ug.json
@@ -0,0 +1,761 @@
+{
+ "AR": {
+ "name": "ئارگÛنتىنا"
+ },
+ "AW": {
+ "name": "ئارۇبا"
+ },
+ "AC": {
+ "name": "ئاسسÛنسىيون ئارىلى"
+ },
+ "AF": {
+ "name": "ئاÙغانىستان"
+ },
+ "AX": {
+ "name": "ئالاند ئاراللىرى"
+ },
+ "AL": {
+ "name": "ئالبانىيە"
+ },
+ "DZ": {
+ "name": "ئالجىرىيە"
+ },
+ "AS": {
+ "name": "ئامÛرىكا تەۋەلىكىدىكى ساموئا"
+ },
+ "UM": {
+ "name": "ئامÛرىكا تەۋەلىكىدىكى سىرتقى كىچىك ئاراللار"
+ },
+ "VI": {
+ "name": "ئامÛرىكا تەۋەلىكىدىكى ۋىرجىن تاقىم ئاراللىرى"
+ },
+ "US": {
+ "name": "ئامÛرىكا قوشما شتاتلىرى"
+ },
+ "AQ": {
+ "name": "ئانتاركتىكا"
+ },
+ "AG": {
+ "name": "ئانتىگۋا ۋە باربۇدا"
+ },
+ "AD": {
+ "name": "ئاندوررا"
+ },
+ "AO": {
+ "name": "ئانگولا"
+ },
+ "AI": {
+ "name": "ئانگۋىللا"
+ },
+ "AU": {
+ "name": "ئاۋسترالىيە"
+ },
+ "AT": {
+ "name": "ئاۋسترىيە"
+ },
+ "MO": {
+ "name": "ئاۋمÛÙ† ئالاھىدە مەمۇرىي رايونى (جۇڭگو)"
+ },
+ "AM": {
+ "name": "ئەرمÛنىيە"
+ },
+ "AE": {
+ "name": "ئەرەب بىرلەشمە خەلىپىلىكى"
+ },
+ "AZ": {
+ "name": "ئەزەربەيجان"
+ },
+ "SV": {
+ "name": "ئەل سالۋادور"
+ },
+ "GB": {
+ "name": "ئەنگلىيە پادىشاھلىقى"
+ },
+ "VG": {
+ "name": "ئەنگلىيەگە قاراشلىق ۋىرجىن ئارىلى"
+ },
+ "IO": {
+ "name": "ئەنگلىيەنىڭ ھىندى ئوكياندىكى تەۋەلىكى"
+ },
+ "CF": {
+ "name": "ئوتتۇرا ئاÙرىقا جۇمھۇرىيىتى"
+ },
+ "OM": {
+ "name": "ئومان"
+ },
+ "UZ": {
+ "name": "ئۆزبÛكىستان"
+ },
+ "UY": {
+ "name": "ئۇرۇگۋاي"
+ },
+ "UA": {
+ "name": "ئۇكرائىنا"
+ },
+ "UG": {
+ "name": "ئۇگاندا"
+ },
+ "IT": {
+ "name": "ئىتالىيە"
+ },
+ "IQ": {
+ "name": "ئىراق"
+ },
+ "IR": {
+ "name": "ئىران"
+ },
+ "IE": {
+ "name": "ئىرÛلاندىيە"
+ },
+ "ES": {
+ "name": "ئىسپانىيە"
+ },
+ "IL": {
+ "name": "ئىسرائىلىيە"
+ },
+ "IS": {
+ "name": "ئىسلاندىيە"
+ },
+ "JO": {
+ "name": "ئىيوردانىيە"
+ },
+ "ER": {
+ "name": "ئÛرىترÛÙŠÛ•"
+ },
+ "EE": {
+ "name": "ئÛستونىيە"
+ },
+ "ET": {
+ "name": "ئÛÙىيوپىيە"
+ },
+ "GQ": {
+ "name": "ئÛكۋاتور گىۋىنÛيەسى"
+ },
+ "EC": {
+ "name": "ئÛكۋادور"
+ },
+ "BB": {
+ "name": "باربادوس"
+ },
+ "BD": {
+ "name": "باڭلادىش"
+ },
+ "BS": {
+ "name": "باھاما"
+ },
+ "BH": {
+ "name": "بەھرەين"
+ },
+ "BW": {
+ "name": "بوتسۋانا"
+ },
+ "BA": {
+ "name": "بوسنىيە-Ú¯ÛرتسÛگوۋىنا"
+ },
+ "BO": {
+ "name": "بولىۋىيە"
+ },
+ "BT": {
+ "name": "بۇتان"
+ },
+ "BF": {
+ "name": "بۇركىنا-Ùاسو"
+ },
+ "BI": {
+ "name": "بۇرۇندى"
+ },
+ "BG": {
+ "name": "بۇلغارىيە"
+ },
+ "BR": {
+ "name": "بىرازىلىيە"
+ },
+ "MM": {
+ "name": "بىرما"
+ },
+ "BN": {
+ "name": "بىرۇنÛÙŠ"
+ },
+ "BM": {
+ "name": "بÛرمۇدا"
+ },
+ "BY": {
+ "name": "بÛلارۇسىيە"
+ },
+ "BE": {
+ "name": "بÛلگىيە"
+ },
+ "BZ": {
+ "name": "بÛلىز"
+ },
+ "BJ": {
+ "name": "بÛنىن"
+ },
+ "PG": {
+ "name": "پاپۇئا ÙŠÛÚ­Ù‰ گىۋىنÛيەسى"
+ },
+ "PY": {
+ "name": "پاراگۋاي"
+ },
+ "PK": {
+ "name": "پاكىستان"
+ },
+ "PW": {
+ "name": "پالاۋ"
+ },
+ "PA": {
+ "name": "پاناما"
+ },
+ "PS": {
+ "name": "پەلەستىن زÛمىنى"
+ },
+ "PT": {
+ "name": "پورتۇگالىيە"
+ },
+ "PL": {
+ "name": "پولشا"
+ },
+ "PR": {
+ "name": "پۇئÛرتو-رىكو"
+ },
+ "PN": {
+ "name": "پىتكاير ئاراللىرى"
+ },
+ "PE": {
+ "name": "Ù¾Ûرۇ"
+ },
+ "TJ": {
+ "name": "تاجىكىستان"
+ },
+ "TZ": {
+ "name": "تانزانىيە"
+ },
+ "TH": {
+ "name": "تايلاند"
+ },
+ "TA": {
+ "name": "ترىستان داكۇنھا"
+ },
+ "TW": {
+ "name": "تەيۋەن"
+ },
+ "TK": {
+ "name": "توكÛلاۋ"
+ },
+ "TG": {
+ "name": "توگو"
+ },
+ "TO": {
+ "name": "تونگا"
+ },
+ "TC": {
+ "name": "تۇركس ۋە كايكوس ئاراللىرى"
+ },
+ "TN": {
+ "name": "تۇنىس"
+ },
+ "TV": {
+ "name": "تۇۋالۇ"
+ },
+ "TM": {
+ "name": "تۈركمەنىستان"
+ },
+ "TR": {
+ "name": "تۈركىيە"
+ },
+ "TT": {
+ "name": "تىرىنىداد ۋە توباگو"
+ },
+ "GI": {
+ "name": "جەبىلتارىق"
+ },
+ "ZA": {
+ "name": "جەنۇبىي ئاÙرىقا"
+ },
+ "GS": {
+ "name": "جەنۇبىي جورجىيە ۋە جەنۇبىي ساندىۋىچ ئاراللىرى"
+ },
+ "SS": {
+ "name": "جەنۇبىي سۇدان"
+ },
+ "KR": {
+ "name": "جەنۇبىي كورىيە"
+ },
+ "CN": {
+ "name": "جۇڭگو"
+ },
+ "DJ": {
+ "name": "جىبۇتى"
+ },
+ "JE": {
+ "name": "جÛرسÛÙŠ"
+ },
+ "TD": {
+ "name": "چاد"
+ },
+ "CL": {
+ "name": "چىلى"
+ },
+ "CZ": {
+ "name": "Ú†ÛØ® جۇمھۇرىيىتى"
+ },
+ "DK": {
+ "name": "دانىيە"
+ },
+ "DM": {
+ "name": "دومىنىكا"
+ },
+ "DO": {
+ "name": "دومىنىكا جۇمھۇرىيىتى"
+ },
+ "DG": {
+ "name": "دÛÚ¯Ùˆ-گارشىيا"
+ },
+ "CX": {
+ "name": "روژدÛستۋو ئارىلى"
+ },
+ "RU": {
+ "name": "رۇسىيە"
+ },
+ "RO": {
+ "name": "رۇمىنىيە"
+ },
+ "RW": {
+ "name": "رىۋاندا"
+ },
+ "RE": {
+ "name": "رÛئونىيون"
+ },
+ "ZM": {
+ "name": "زامبىيە"
+ },
+ "ZW": {
+ "name": "زىمبابۋÛ"
+ },
+ "WS": {
+ "name": "ساموئا"
+ },
+ "ST": {
+ "name": "سان ØªÙˆÙ…Û Û‹Û• پرىنسىپÛ"
+ },
+ "SM": {
+ "name": "سان-مارىنو"
+ },
+ "SH": {
+ "name": "ساينىت Ú¾ÛÙ„Ûنا"
+ },
+ "BL": {
+ "name": "ساينىت-بارتھÛلەمي ئاراللىرى"
+ },
+ "PM": {
+ "name": "ساينىت-پىئÛر Û‹Û• مىكÛلون ئاراللىرى"
+ },
+ "KN": {
+ "name": "ساينىت-كىرىستوÙÛر Û‹Û• Ù†Ûۋىس"
+ },
+ "LC": {
+ "name": "ساينىت-لۇسىيە"
+ },
+ "MF": {
+ "name": "ساينىت-مارتÛÙ†"
+ },
+ "VC": {
+ "name": "ساينىت-ۋىنسÛنت Û‹Û• گىرÛنادىنÛس"
+ },
+ "SA": {
+ "name": "سەئۇدى ئەرەبىستان"
+ },
+ "SB": {
+ "name": "سولومون ئاراللىرى"
+ },
+ "SO": {
+ "name": "سومالى"
+ },
+ "SD": {
+ "name": "سۇدان"
+ },
+ "SR": {
+ "name": "سۇرىنام"
+ },
+ "SY": {
+ "name": "سۈرىيە"
+ },
+ "CY": {
+ "name": "سىپرۇس"
+ },
+ "LK": {
+ "name": "سىرىلانكا"
+ },
+ "SK": {
+ "name": "سىلوۋاكىيە"
+ },
+ "SI": {
+ "name": "سىلوۋÛنىيە"
+ },
+ "SX": {
+ "name": "سىنت مارتÛÙ†"
+ },
+ "SG": {
+ "name": "سىنگاپور"
+ },
+ "SJ": {
+ "name": "سىۋالبارد Û‹Û• يان-مايÛÙ† ئارىلى"
+ },
+ "SZ": {
+ "name": "سىۋÛزىلاند"
+ },
+ "RS": {
+ "name": "سÛربىيە"
+ },
+ "SL": {
+ "name": "سÛررالÛئون"
+ },
+ "SN": {
+ "name": "سÛÙ†Ûگال"
+ },
+ "EA": {
+ "name": "سÛيتا Û‹Û• Ù…Ûلىلا"
+ },
+ "SC": {
+ "name": "سÛيشÛÙ„"
+ },
+ "TL": {
+ "name": "شەرقىي تىمور"
+ },
+ "KP": {
+ "name": "شىمالىي كورىيە"
+ },
+ "MP": {
+ "name": "شىمالىي مارىيانا ئاراللىرى"
+ },
+ "CH": {
+ "name": "شىۋىتسارىيە"
+ },
+ "SE": {
+ "name": "شىۋÛتسىيە"
+ },
+ "HK": {
+ "name": "شياڭگاڭ ئالاھىدە مەمۇرىي رايونى (جۇڭگو)"
+ },
+ "EH": {
+ "name": "غەربىي ساخارا"
+ },
+ "FO": {
+ "name": "ÙائÛرو ئاراللىرى"
+ },
+ "FK": {
+ "name": "Ùالكلاند ئاراللىرى"
+ },
+ "FJ": {
+ "name": "Ùىجى"
+ },
+ "FR": {
+ "name": "Ùىرانسىيە"
+ },
+ "PF": {
+ "name": "Ùىرانسىيەگە قاراشلىق پولىنÛزىيە"
+ },
+ "TF": {
+ "name": "Ùىرانسىيەگە قاراشلىق جەنۇبتىكى زÛمىنلىرى"
+ },
+ "GF": {
+ "name": "Ùىرانسىيەگە قاراشلىق گىۋىيانا"
+ },
+ "PH": {
+ "name": "Ùىلىپپىن"
+ },
+ "FI": {
+ "name": "Ùىنلاندىيە"
+ },
+ "QA": {
+ "name": "قاتار"
+ },
+ "KZ": {
+ "name": "قازاقىستان"
+ },
+ "KG": {
+ "name": "قىرغىزىستان"
+ },
+ "BQ": {
+ "name": "كارىب دÛڭىزى گوللاندىيە"
+ },
+ "KH": {
+ "name": "كامبودژا"
+ },
+ "CM": {
+ "name": "كامÛرون"
+ },
+ "CA": {
+ "name": "كانادا"
+ },
+ "IC": {
+ "name": "كانارى ئاراللىرى"
+ },
+ "KY": {
+ "name": "كايمان ئاراللىرى"
+ },
+ "CC": {
+ "name": "كەئەلىڭ كوكۇس ئاراللىرى"
+ },
+ "CI": {
+ "name": "ÙƒÙˆØªÛ Ø¯Û Ø¦Ù‰Û‹ÙˆØ¦Ù‰Ø±"
+ },
+ "CR": {
+ "name": "كوستارىكا"
+ },
+ "XK": {
+ "name": "كوسوۋو"
+ },
+ "CO": {
+ "name": "كولومبىيە"
+ },
+ "KM": {
+ "name": "كومورو"
+ },
+ "CG": {
+ "name": "كونگو - بىراززاۋىل"
+ },
+ "CD": {
+ "name": "كونگو - كىنشاسا"
+ },
+ "CU": {
+ "name": "كۇبا"
+ },
+ "CW": {
+ "name": "كۇراسو"
+ },
+ "CK": {
+ "name": "كۇك ئاراللىرى"
+ },
+ "KW": {
+ "name": "كۇۋەيت"
+ },
+ "HR": {
+ "name": "كىرودىيە"
+ },
+ "KI": {
+ "name": "كىرىباتى"
+ },
+ "KE": {
+ "name": "ÙƒÛنىيە"
+ },
+ "GA": {
+ "name": "گابون"
+ },
+ "GM": {
+ "name": "گامبىيە"
+ },
+ "GH": {
+ "name": "گانا"
+ },
+ "NL": {
+ "name": "گوللاندىيە"
+ },
+ "GU": {
+ "name": "گۇئام"
+ },
+ "GE": {
+ "name": "گىروزىيە"
+ },
+ "GR": {
+ "name": "گىرÛتسىيە"
+ },
+ "GD": {
+ "name": "گىرÛنادا"
+ },
+ "GL": {
+ "name": "گىرÛنلاند"
+ },
+ "GT": {
+ "name": "گىۋاتÛمالا"
+ },
+ "GP": {
+ "name": "گىۋادÛÙ„Û‡Ù¾"
+ },
+ "GN": {
+ "name": "گىۋىنÛÙŠÛ•"
+ },
+ "GW": {
+ "name": "گىۋىنÛÙŠÛ•-بىسسائۇ"
+ },
+ "GY": {
+ "name": "گىۋىيانا"
+ },
+ "DE": {
+ "name": "Ú¯Ûرمانىيە"
+ },
+ "GG": {
+ "name": "Ú¯Ûرىنسى"
+ },
+ "LA": {
+ "name": "لائوس"
+ },
+ "LV": {
+ "name": "لاتۋىيە"
+ },
+ "LR": {
+ "name": "لىبÛرىيە"
+ },
+ "LT": {
+ "name": "لىتۋانىيە"
+ },
+ "LI": {
+ "name": "لىچتÛنشتÛين بەگلىكى"
+ },
+ "LB": {
+ "name": "لىۋان"
+ },
+ "LY": {
+ "name": "لىۋىيە"
+ },
+ "LU": {
+ "name": "لىيۇكسÛمبۇرگ"
+ },
+ "LS": {
+ "name": "Ù„Ûسوتو"
+ },
+ "MG": {
+ "name": "ماداغاسقار"
+ },
+ "MA": {
+ "name": "ماراكەش"
+ },
+ "MQ": {
+ "name": "مارتىنىكا"
+ },
+ "MH": {
+ "name": "مارشال ئاراللىرى"
+ },
+ "MK": {
+ "name": "ماكÛدونىيە"
+ },
+ "MW": {
+ "name": "مالاۋى"
+ },
+ "MY": {
+ "name": "مالايشىيا"
+ },
+ "MT": {
+ "name": "مالتا"
+ },
+ "MV": {
+ "name": "مالدىۋÛ"
+ },
+ "ML": {
+ "name": "مالى"
+ },
+ "MR": {
+ "name": "ماۋرىتانىيە"
+ },
+ "MU": {
+ "name": "ماۋرىتىئۇس"
+ },
+ "YT": {
+ "name": "مايوتتÛ"
+ },
+ "MZ": {
+ "name": "موزامبىك"
+ },
+ "MN": {
+ "name": "موڭغۇلىيە"
+ },
+ "MD": {
+ "name": "مولدوۋا"
+ },
+ "MC": {
+ "name": "موناكو"
+ },
+ "MS": {
+ "name": "مونتسÛررات"
+ },
+ "ME": {
+ "name": "مونتÛÙ†Ûگرو"
+ },
+ "EG": {
+ "name": "مىسىر"
+ },
+ "FM": {
+ "name": "مىكرونÛزىيە"
+ },
+ "MX": {
+ "name": "Ù…Ûكسىكا"
+ },
+ "IM": {
+ "name": "Ù…ÛÙ† ئارىلى"
+ },
+ "NA": {
+ "name": "نامىبىيە"
+ },
+ "NR": {
+ "name": "ناۋرۇ"
+ },
+ "NF": {
+ "name": "نورÙولك ئارىلى"
+ },
+ "NO": {
+ "name": "نورۋÛگىيە"
+ },
+ "NI": {
+ "name": "نىكاراگۇئا"
+ },
+ "NG": {
+ "name": "نىگÛرىيە"
+ },
+ "NU": {
+ "name": "نىيۇئÛ"
+ },
+ "NP": {
+ "name": "Ù†Ûپال"
+ },
+ "NE": {
+ "name": "Ù†Ûگىر"
+ },
+ "HT": {
+ "name": "ھايتى"
+ },
+ "HN": {
+ "name": "ھوندۇراس"
+ },
+ "ID": {
+ "name": "ھىندونÛزىيە"
+ },
+ "IN": {
+ "name": "ھىندىستان"
+ },
+ "VA": {
+ "name": "ۋاتىكان شەھىرى"
+ },
+ "WF": {
+ "name": "ۋالىس Û‹Û• Ùۇتۇنا"
+ },
+ "VU": {
+ "name": "ۋانۇئاتۇ"
+ },
+ "VN": {
+ "name": "ۋىيÛتنام"
+ },
+ "HU": {
+ "name": "Û‹Ûنگىرىيە"
+ },
+ "VE": {
+ "name": "Û‹ÛÙ†ÛزۇئÛلا"
+ },
+ "JP": {
+ "name": "ياپونىيە"
+ },
+ "JM": {
+ "name": "يامايكا"
+ },
+ "YE": {
+ "name": "ÙŠÛ•Ù…Û•Ù†"
+ },
+ "CV": {
+ "name": "ÙŠÛشىل تۇمشۇق"
+ },
+ "NZ": {
+ "name": "ÙŠÛÚ­Ù‰ زÛلاندىيە"
+ },
+ "NC": {
+ "name": "ÙŠÛÚ­Ù‰ كالÛدونىيە"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/uk.json b/library/intl/resources/country/uk.json
new file mode 100644
index 000000000..48ab986ba
--- /dev/null
+++ b/library/intl/resources/country/uk.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "ÐвÑтраліÑ"
+ },
+ "AT": {
+ "name": "ÐвÑтріÑ"
+ },
+ "AZ": {
+ "name": "Ðзербайджан"
+ },
+ "AX": {
+ "name": "ÐландÑькі оÑтрови"
+ },
+ "AL": {
+ "name": "ÐлбаніÑ"
+ },
+ "DZ": {
+ "name": "Ðлжир"
+ },
+ "AS": {
+ "name": "ÐмериканÑьке Самоа"
+ },
+ "AI": {
+ "name": "ÐнгільÑ"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AD": {
+ "name": "Ðндорра"
+ },
+ "AQ": {
+ "name": "Ðнтарктика"
+ },
+ "AG": {
+ "name": "Ðнтигуа Ñ– Барбуда"
+ },
+ "AR": {
+ "name": "Ðргентина"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AF": {
+ "name": "ÐфганіÑтан"
+ },
+ "BS": {
+ "name": "Багами"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "BH": {
+ "name": "Бахрейн"
+ },
+ "BZ": {
+ "name": "Беліз"
+ },
+ "BE": {
+ "name": "БельгіÑ"
+ },
+ "BJ": {
+ "name": "Бенін"
+ },
+ "BM": {
+ "name": "Бермуди"
+ },
+ "BY": {
+ "name": "БілоруÑÑŒ"
+ },
+ "BG": {
+ "name": "БолгаріÑ"
+ },
+ "BO": {
+ "name": "БолівіÑ"
+ },
+ "BA": {
+ "name": "БоÑÐ½Ñ–Ñ Ñ– Герцоговина"
+ },
+ "BW": {
+ "name": "БотÑвана"
+ },
+ "BR": {
+ "name": "БразиліÑ"
+ },
+ "VG": {
+ "name": "БританÑькі ВіргінÑькі оÑтрови"
+ },
+ "IO": {
+ "name": "БританÑькі території в ІндійÑькому океані"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркіна-ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунді"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VN": {
+ "name": "Вʼєтнам"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "GB": {
+ "name": "Велика БританіÑ"
+ },
+ "VE": {
+ "name": "ВенеÑуела"
+ },
+ "UM": {
+ "name": "Віддалені оÑтрови СШÐ"
+ },
+ "VI": {
+ "name": "ВіргінÑькі оÑтрови, СШÐ"
+ },
+ "AM": {
+ "name": "ВірменіÑ"
+ },
+ "WF": {
+ "name": "Ð’Ð¾Ð»Ð»Ñ–Ñ Ñ– Футуна"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаїті"
+ },
+ "GM": {
+ "name": "ГамбіÑ"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GY": {
+ "name": "ГаÑна"
+ },
+ "GP": {
+ "name": "Гваделупа"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "ГвінеÑ"
+ },
+ "GW": {
+ "name": "ГвінеÑ-БіÑау"
+ },
+ "GG": {
+ "name": "ГернÑÑ–"
+ },
+ "GI": {
+ "name": "Гібралтар"
+ },
+ "HN": {
+ "name": "ГондураÑ"
+ },
+ "HK": {
+ "name": "Гонконг, О.Ð.Р. Китаю"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "ГренландіÑ"
+ },
+ "GR": {
+ "name": "ГреціÑ"
+ },
+ "GE": {
+ "name": "ГрузіÑ"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "DK": {
+ "name": "ДаніÑ"
+ },
+ "JE": {
+ "name": "ДжерÑÑ–"
+ },
+ "DJ": {
+ "name": "Джибуті"
+ },
+ "DG": {
+ "name": "Дієго-ГарÑÑ–Ñ"
+ },
+ "DM": {
+ "name": "Домініка"
+ },
+ "DO": {
+ "name": "ДомініканÑька РеÑпубліка"
+ },
+ "EC": {
+ "name": "Еквадор"
+ },
+ "GQ": {
+ "name": "Екваторіальна ГвінеÑ"
+ },
+ "ER": {
+ "name": "ЕритреÑ"
+ },
+ "EE": {
+ "name": "ЕÑтоніÑ"
+ },
+ "ET": {
+ "name": "ЕфіопіÑ"
+ },
+ "EG": {
+ "name": "Єгипет"
+ },
+ "YE": {
+ "name": "Ємен"
+ },
+ "ZM": {
+ "name": "ЗамбіÑ"
+ },
+ "EH": {
+ "name": "Західна Сахара"
+ },
+ "ZW": {
+ "name": "Зімбабве"
+ },
+ "IL": {
+ "name": "Ізраїль"
+ },
+ "IN": {
+ "name": "ІндіÑ"
+ },
+ "ID": {
+ "name": "ІндонезіÑ"
+ },
+ "IQ": {
+ "name": "Ірак"
+ },
+ "IR": {
+ "name": "Іран"
+ },
+ "IE": {
+ "name": "ІрландіÑ"
+ },
+ "IS": {
+ "name": "ІÑландіÑ"
+ },
+ "ES": {
+ "name": "ІÑпаніÑ"
+ },
+ "IT": {
+ "name": "ІталіÑ"
+ },
+ "JO": {
+ "name": "ЙорданіÑ"
+ },
+ "CV": {
+ "name": "Кабо Верде"
+ },
+ "KZ": {
+ "name": "КазахÑтан"
+ },
+ "KY": {
+ "name": "Кайманові оÑтрови"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "КанарÑькі оÑтрови"
+ },
+ "QA": {
+ "name": "Катар"
+ },
+ "KE": {
+ "name": "КеніÑ"
+ },
+ "KG": {
+ "name": "КиргизÑтан"
+ },
+ "CN": {
+ "name": "Китай"
+ },
+ "CY": {
+ "name": "Кіпр"
+ },
+ "KI": {
+ "name": "Кірибаті"
+ },
+ "CC": {
+ "name": "КокоÑові (Кілінгові) оÑтрови"
+ },
+ "CO": {
+ "name": "КолумбіÑ"
+ },
+ "KM": {
+ "name": "КоморÑькі оÑтрови"
+ },
+ "CG": {
+ "name": "Конго – Браззавіль"
+ },
+ "CD": {
+ "name": "Конго – КіншаÑа"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑта-Рика"
+ },
+ "CI": {
+ "name": "Кот-д’Івуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувейт"
+ },
+ "CW": {
+ "name": "КюраÑао"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "ЛатвіÑ"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LR": {
+ "name": "ЛіберіÑ"
+ },
+ "LB": {
+ "name": "Ліван"
+ },
+ "LY": {
+ "name": "ЛівіÑ"
+ },
+ "LI": {
+ "name": "Ліхтенштейн"
+ },
+ "LU": {
+ "name": "ЛюкÑембург"
+ },
+ "MM": {
+ "name": "МʼÑнма (Бірма)"
+ },
+ "MU": {
+ "name": "Маврикій"
+ },
+ "MR": {
+ "name": "МавританіÑ"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макао О.Ð.Р. Китаю"
+ },
+ "MK": {
+ "name": "МакедоніÑ"
+ },
+ "MW": {
+ "name": "Малаві"
+ },
+ "MY": {
+ "name": "МалайзіÑ"
+ },
+ "ML": {
+ "name": "Малі"
+ },
+ "MV": {
+ "name": "Мальдіви"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "MA": {
+ "name": "Марокко"
+ },
+ "MQ": {
+ "name": "Мартиніка"
+ },
+ "MH": {
+ "name": "Маршаллові ОÑтрови"
+ },
+ "MX": {
+ "name": "МекÑика"
+ },
+ "FM": {
+ "name": "МікронезіÑ"
+ },
+ "MZ": {
+ "name": "Мозамбік"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MN": {
+ "name": "МонголіÑ"
+ },
+ "MS": {
+ "name": "МонтÑеррат"
+ },
+ "NA": {
+ "name": "ÐамібіÑ"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðігер"
+ },
+ "NG": {
+ "name": "ÐігеріÑ"
+ },
+ "NL": {
+ "name": "Ðідерланди"
+ },
+ "BQ": {
+ "name": "ÐідерландÑькі КарибÑькі оÑтрови"
+ },
+ "NI": {
+ "name": "Ðікарагуа"
+ },
+ "DE": {
+ "name": "Ðімеччина"
+ },
+ "NU": {
+ "name": "Ðіуе"
+ },
+ "NZ": {
+ "name": "Ðова ЗеландіÑ"
+ },
+ "NC": {
+ "name": "Ðова КаледоніÑ"
+ },
+ "NO": {
+ "name": "ÐорвегіÑ"
+ },
+ "AE": {
+ "name": "Обʼєднані ÐрабÑькі Емірати"
+ },
+ "OM": {
+ "name": "Оман"
+ },
+ "AC": {
+ "name": "ОÑтрів ВознеÑіннÑ"
+ },
+ "IM": {
+ "name": "ОÑтрів Мен"
+ },
+ "NF": {
+ "name": "ОÑтрів Ðорфолк"
+ },
+ "CX": {
+ "name": "ОÑтрів Різдва"
+ },
+ "SH": {
+ "name": "ОÑтрів СвÑтої Єлени"
+ },
+ "CK": {
+ "name": "ОÑтрови Кука"
+ },
+ "PN": {
+ "name": "ОÑтрови Піткерн"
+ },
+ "SJ": {
+ "name": "ОÑтрови Свальбард Ñ– Ян-Маєн"
+ },
+ "TC": {
+ "name": "ОÑтрови Ð¢ÐµÑ€ÐºÑ Ñ– КайкоÑ"
+ },
+ "PK": {
+ "name": "ПакиÑтан"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PS": {
+ "name": "ПалеÑтинÑькі території"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Ðова ГвінеÑ"
+ },
+ "ZA": {
+ "name": "ПÐР"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "GS": {
+ "name": "Південна Ð”Ð¶Ð¾Ñ€Ð´Ð¶Ñ–Ñ Ñ‚Ð° Південні Сандвічеві оÑтрови"
+ },
+ "KR": {
+ "name": "Південна КореÑ"
+ },
+ "SS": {
+ "name": "Південний Судан"
+ },
+ "KP": {
+ "name": "Північна КореÑ"
+ },
+ "MP": {
+ "name": "Північні МаріанÑькі оÑтрови"
+ },
+ "PL": {
+ "name": "Польща"
+ },
+ "PT": {
+ "name": "ПортугаліÑ"
+ },
+ "PR": {
+ "name": "Пуерто-Рико"
+ },
+ "RE": {
+ "name": "Реюньйон"
+ },
+ "RU": {
+ "name": "РоÑÑ–Ñ"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "РумуніÑ"
+ },
+ "SV": {
+ "name": "Сальвадор"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе Ñ– ПрінÑіпі"
+ },
+ "SA": {
+ "name": "СаудівÑька ÐравіÑ"
+ },
+ "SZ": {
+ "name": "Свазіленд"
+ },
+ "SC": {
+ "name": "СейшельÑькі оÑтрови"
+ },
+ "BL": {
+ "name": "Сен-Бартельмі"
+ },
+ "MF": {
+ "name": "Сен-Мартен"
+ },
+ "PM": {
+ "name": "Сен-Пʼєр і Мікелон"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-ВінÑент Ñ– Гренадини"
+ },
+ "KN": {
+ "name": "Сент-ÐšÑ–Ñ‚Ñ Ñ– ÐевіÑ"
+ },
+ "LC": {
+ "name": "Сент-ЛюÑÑ–Ñ"
+ },
+ "RS": {
+ "name": "СербіÑ"
+ },
+ "EA": {
+ "name": "Сеута Ñ– МелільÑ"
+ },
+ "SY": {
+ "name": "СиріÑ"
+ },
+ "SG": {
+ "name": "Сінгапур"
+ },
+ "SX": {
+ "name": "Сінт-Мартен"
+ },
+ "SK": {
+ "name": "Словаччина"
+ },
+ "SI": {
+ "name": "СловеніÑ"
+ },
+ "SB": {
+ "name": "Соломонові ОÑтрови"
+ },
+ "SO": {
+ "name": "Сомалі"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "TL": {
+ "name": "Східний Тимор"
+ },
+ "US": {
+ "name": "СШÐ"
+ },
+ "SL": {
+ "name": "Сьєрра-Леоне"
+ },
+ "TJ": {
+ "name": "ТаджикиÑтан"
+ },
+ "TH": {
+ "name": "Таїланд"
+ },
+ "TW": {
+ "name": "Тайвань"
+ },
+ "TZ": {
+ "name": "ТанзаніÑ"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринідад і Тобаго"
+ },
+ "TA": {
+ "name": "ТріÑтан-да-КуньÑ"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуніÑ"
+ },
+ "TR": {
+ "name": "Туреччина"
+ },
+ "TM": {
+ "name": "ТуркменіÑтан"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "HU": {
+ "name": "Угорщина"
+ },
+ "UZ": {
+ "name": "УзбекиÑтан"
+ },
+ "UA": {
+ "name": "Україна"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "FO": {
+ "name": "ФарерÑькі оÑтрови"
+ },
+ "FJ": {
+ "name": "Фіджі"
+ },
+ "PH": {
+ "name": "Філіппіни"
+ },
+ "FI": {
+ "name": "ФінлÑндіÑ"
+ },
+ "FK": {
+ "name": "ФолклендÑькі оÑтрови"
+ },
+ "FR": {
+ "name": "ФранціÑ"
+ },
+ "GF": {
+ "name": "Французька Гвіана"
+ },
+ "PF": {
+ "name": "Французька ПолінезіÑ"
+ },
+ "TF": {
+ "name": "Французькі Південні Території"
+ },
+ "HR": {
+ "name": "ХорватіÑ"
+ },
+ "CF": {
+ "name": "ЦентральноафриканÑька РеÑпубліка"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "CZ": {
+ "name": "ЧехіÑ"
+ },
+ "CL": {
+ "name": "Чилі"
+ },
+ "ME": {
+ "name": "ЧорногоріÑ"
+ },
+ "CH": {
+ "name": "ШвейцаріÑ"
+ },
+ "SE": {
+ "name": "ШвеціÑ"
+ },
+ "LK": {
+ "name": "Шрі-Ланка"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "JP": {
+ "name": "ЯпоніÑ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ur-IN.json b/library/intl/resources/country/ur-IN.json
new file mode 100644
index 000000000..536cec452
--- /dev/null
+++ b/library/intl/resources/country/ur-IN.json
@@ -0,0 +1,761 @@
+{
+ "IT": {
+ "name": "اٹلی"
+ },
+ "AR": {
+ "name": "ارجنٹینا"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AW": {
+ "name": "اروبا"
+ },
+ "ER": {
+ "name": "اریٹیریا"
+ },
+ "UZ": {
+ "name": "ازبکستان"
+ },
+ "GQ": {
+ "name": "استوائی گیانا"
+ },
+ "EE": {
+ "name": "اسٹونیا"
+ },
+ "IL": {
+ "name": "اسرائیل"
+ },
+ "AF": {
+ "name": "اÙغانستان"
+ },
+ "SV": {
+ "name": "ال سلواڈور"
+ },
+ "AL": {
+ "name": "البانیÛ"
+ },
+ "DZ": {
+ "name": "الجیریا"
+ },
+ "UM": {
+ "name": "امریکی بیرونی جزائر"
+ },
+ "VI": {
+ "name": "امریکی جزائر ورجن"
+ },
+ "AS": {
+ "name": "امریکی ساموآ"
+ },
+ "AQ": {
+ "name": "انٹارکٹیکا"
+ },
+ "AG": {
+ "name": "انٹیگوا اور باربودا"
+ },
+ "AD": {
+ "name": "انڈورا"
+ },
+ "ID": {
+ "name": "انڈونیشیا"
+ },
+ "AO": {
+ "name": "انگولا"
+ },
+ "AI": {
+ "name": "انگوئیلا"
+ },
+ "ET": {
+ "name": "ایتھوپیا"
+ },
+ "IR": {
+ "name": "ایران"
+ },
+ "EC": {
+ "name": "ایکواڈور"
+ },
+ "AZ": {
+ "name": "آذربائجان"
+ },
+ "AM": {
+ "name": "آرمینیا"
+ },
+ "AT": {
+ "name": "آسٹریا"
+ },
+ "AU": {
+ "name": "آسٹریلیا"
+ },
+ "IE": {
+ "name": "آئرلینڈ"
+ },
+ "IS": {
+ "name": "آئس لینڈ"
+ },
+ "IM": {
+ "name": "آئل آ٠مین"
+ },
+ "BB": {
+ "name": "بارباڈوس"
+ },
+ "BH": {
+ "name": "بحرین"
+ },
+ "BR": {
+ "name": "برازیل"
+ },
+ "IO": {
+ "name": "برطانوی بحرÛند خطÛ"
+ },
+ "VG": {
+ "name": "برطانوی جزائر ورجن"
+ },
+ "BF": {
+ "name": "برکینا Ùاسو"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BI": {
+ "name": "برونڈی"
+ },
+ "BN": {
+ "name": "برونئی"
+ },
+ "BG": {
+ "name": "بلغاریÛ"
+ },
+ "BD": {
+ "name": "Ø¨Ù†Ú¯Ù„Û Ø¯ÛŒØ´"
+ },
+ "BW": {
+ "name": "بوتسوانا"
+ },
+ "BA": {
+ "name": "بوسنیا اور Ûرزیگووینا"
+ },
+ "BO": {
+ "name": "بولیویا"
+ },
+ "BS": {
+ "name": "بÛاماس"
+ },
+ "BY": {
+ "name": "بیلاروس"
+ },
+ "BZ": {
+ "name": "بیلائز"
+ },
+ "BE": {
+ "name": "بیلجیم"
+ },
+ "BJ": {
+ "name": "بینن"
+ },
+ "IN": {
+ "name": "بھارت"
+ },
+ "BT": {
+ "name": "بھوٹان"
+ },
+ "PG": {
+ "name": "پاپوآ نیو گنی"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PT": {
+ "name": "پرتگال"
+ },
+ "PW": {
+ "name": "پلاؤ"
+ },
+ "PA": {
+ "name": "پنامÛ"
+ },
+ "PL": {
+ "name": "پولینڈ"
+ },
+ "PY": {
+ "name": "پیراگوئے"
+ },
+ "PE": {
+ "name": "پیرو"
+ },
+ "PR": {
+ "name": "پیورٹو ریکو"
+ },
+ "TJ": {
+ "name": "تاجکستان"
+ },
+ "TW": {
+ "name": "تائیوان"
+ },
+ "TA": {
+ "name": "ترسٹان دا کونیا"
+ },
+ "TM": {
+ "name": "ترکمانستان"
+ },
+ "TR": {
+ "name": "ترکی"
+ },
+ "TT": {
+ "name": "ترینیداد اور ٹوباگو"
+ },
+ "TZ": {
+ "name": "تنزانیÛ"
+ },
+ "TL": {
+ "name": "تیمور لیسٹ"
+ },
+ "TN": {
+ "name": "تیونیسیا"
+ },
+ "TH": {
+ "name": "تھائی لینڈ"
+ },
+ "TK": {
+ "name": "ٹوکیلاؤ"
+ },
+ "TG": {
+ "name": "ٹوگو"
+ },
+ "TO": {
+ "name": "ٹونگا"
+ },
+ "TV": {
+ "name": "ٹووالو"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "GE": {
+ "name": "جارجیا"
+ },
+ "GI": {
+ "name": "جبل الطارق"
+ },
+ "DJ": {
+ "name": "جبوتی"
+ },
+ "JE": {
+ "name": "جرسی"
+ },
+ "DE": {
+ "name": "جرمنی"
+ },
+ "CC": {
+ "name": "جزائر (کیلنگ) کوکوس"
+ },
+ "AX": {
+ "name": "جزائر ایلانڈ"
+ },
+ "PN": {
+ "name": "جزائر پٹکیرن"
+ },
+ "SB": {
+ "name": "جزائر سلیمان"
+ },
+ "MP": {
+ "name": "جزائر شمالی ماریانا"
+ },
+ "FK": {
+ "name": "جزائر Ùاکلینڈ"
+ },
+ "CK": {
+ "name": "جزائر کک"
+ },
+ "IC": {
+ "name": "جزائر کناری"
+ },
+ "TC": {
+ "name": "جزائر کیکس Ùˆ ترکیÛ"
+ },
+ "MH": {
+ "name": "جزائر مارشل"
+ },
+ "FO": {
+ "name": "جزائرÙارو"
+ },
+ "AC": {
+ "name": "Ø¬Ø²ÛŒØ±Û Ø§Ø³ÛŒÙ†Ø´Ù†"
+ },
+ "NF": {
+ "name": "Ø¬Ø²ÛŒØ±Û Ù†Ø§Ø±Ùولک"
+ },
+ "JM": {
+ "name": "جمائیکا"
+ },
+ "ZA": {
+ "name": "جنوبی اÙریقÛ"
+ },
+ "GS": {
+ "name": "جنوبی جارجیا اور جنوبی سینڈوچ جزائر"
+ },
+ "SS": {
+ "name": "جنوبی سوڈان"
+ },
+ "KR": {
+ "name": "جنوبی کوریا"
+ },
+ "TD": {
+ "name": "چاڈ"
+ },
+ "CL": {
+ "name": "چلی"
+ },
+ "CZ": {
+ "name": "چیک جمÛوریÛ"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "DK": {
+ "name": "ڈنمارک"
+ },
+ "DM": {
+ "name": "ڈومنیکا"
+ },
+ "DO": {
+ "name": "ڈومنیکن جمÛوریÛ"
+ },
+ "DG": {
+ "name": "ڈیگو گارشیا"
+ },
+ "RW": {
+ "name": "روانڈا"
+ },
+ "RU": {
+ "name": "روس"
+ },
+ "RO": {
+ "name": "رومانیا"
+ },
+ "RE": {
+ "name": "ری یونین"
+ },
+ "US": {
+ "name": "ریاستÛائے متحدÛ"
+ },
+ "ZM": {
+ "name": "زامبیا"
+ },
+ "ZW": {
+ "name": "زمبابوے"
+ },
+ "WS": {
+ "name": "ساموآ"
+ },
+ "SM": {
+ "name": "سان مارینو"
+ },
+ "ST": {
+ "name": "ساؤ ٹوم اور پرنسپے"
+ },
+ "RS": {
+ "name": "سربیا"
+ },
+ "LK": {
+ "name": "سری لنکا"
+ },
+ "SC": {
+ "name": "سشلیز"
+ },
+ "SA": {
+ "name": "سعودی عرب"
+ },
+ "GB": {
+ "name": "سلطنت متحدÛ"
+ },
+ "SK": {
+ "name": "سلوواکیÛ"
+ },
+ "SI": {
+ "name": "سلووینیا"
+ },
+ "SX": {
+ "name": "سنٹ مارٹن"
+ },
+ "SG": {
+ "name": "سنگاپور"
+ },
+ "SZ": {
+ "name": "سوازی لینڈ"
+ },
+ "SJ": {
+ "name": "سوالبرڈ اور جان ماین"
+ },
+ "SD": {
+ "name": "سوڈان"
+ },
+ "SR": {
+ "name": "سورینام"
+ },
+ "CH": {
+ "name": "سوئٹزر لینڈ"
+ },
+ "SE": {
+ "name": "سویڈن"
+ },
+ "BL": {
+ "name": "سینٹ برتھلیمی"
+ },
+ "PM": {
+ "name": "سینٹ پیئر اور میکلیئون"
+ },
+ "KN": {
+ "name": "سینٹ کٹس اور نیویس"
+ },
+ "LC": {
+ "name": "سینٹ لوسیا"
+ },
+ "MF": {
+ "name": "سینٹ مارٹن"
+ },
+ "VC": {
+ "name": "سینٹ ونسنٹ اور گرینیڈائنز"
+ },
+ "SH": {
+ "name": "سینٹ Ûیلینا"
+ },
+ "SN": {
+ "name": "سینیگل"
+ },
+ "SL": {
+ "name": "سیئر لیون"
+ },
+ "EA": {
+ "name": "سیئوٹا اور میلیلا"
+ },
+ "SY": {
+ "name": "شام"
+ },
+ "KP": {
+ "name": "شمالی کوریا"
+ },
+ "SO": {
+ "name": "صومالیÛ"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "OM": {
+ "name": "عمان"
+ },
+ "FJ": {
+ "name": "Ùجی"
+ },
+ "FR": {
+ "name": "Ùرانس"
+ },
+ "PF": {
+ "name": "Ùرانسیسی پولینیشیا"
+ },
+ "TF": {
+ "name": "Ùرانسیسی جنوبی خطے"
+ },
+ "GF": {
+ "name": "Ùرانسیسی گیانا"
+ },
+ "PH": {
+ "name": "Ùلپائن"
+ },
+ "PS": {
+ "name": "Ùلسطینی خطے"
+ },
+ "FI": {
+ "name": "ÙÙ† لینڈ"
+ },
+ "CY": {
+ "name": "قبرص"
+ },
+ "KZ": {
+ "name": "قزاخستان"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "CG": {
+ "name": "کانگو - برازاویلے"
+ },
+ "CD": {
+ "name": "کانگو - کنشاسا"
+ },
+ "CX": {
+ "name": "کرسمس آئلینڈ"
+ },
+ "KG": {
+ "name": "کرغزستان"
+ },
+ "HR": {
+ "name": "کروشیا"
+ },
+ "KI": {
+ "name": "کریباتی"
+ },
+ "BQ": {
+ "name": "کریبیائی نیدرلینڈز"
+ },
+ "KH": {
+ "name": "کمبوڈیا"
+ },
+ "CI": {
+ "name": "کوت داوواغ"
+ },
+ "CR": {
+ "name": "کوسٹا ریکا"
+ },
+ "XK": {
+ "name": "کوسووو"
+ },
+ "CO": {
+ "name": "کولمبیا"
+ },
+ "KM": {
+ "name": "کوموروس"
+ },
+ "KW": {
+ "name": "کویت"
+ },
+ "CV": {
+ "name": "کیپ ورڈی"
+ },
+ "CM": {
+ "name": "کیمرون"
+ },
+ "KY": {
+ "name": "کیمین آئلینڈز"
+ },
+ "KE": {
+ "name": "کینیا"
+ },
+ "CA": {
+ "name": "کینیڈا"
+ },
+ "CU": {
+ "name": "کیوبا"
+ },
+ "CW": {
+ "name": "کیوراکاؤ"
+ },
+ "GM": {
+ "name": "گامبیا"
+ },
+ "GL": {
+ "name": "گرین لینڈ"
+ },
+ "GD": {
+ "name": "گریناڈا"
+ },
+ "GN": {
+ "name": "گنی"
+ },
+ "GW": {
+ "name": "گنی بساؤ"
+ },
+ "GT": {
+ "name": "گواٹے مالا"
+ },
+ "GP": {
+ "name": "گواڈیلوپ"
+ },
+ "GU": {
+ "name": "گوآم"
+ },
+ "GG": {
+ "name": "گوئرنسی"
+ },
+ "GY": {
+ "name": "گیانا"
+ },
+ "GA": {
+ "name": "گیبون"
+ },
+ "GH": {
+ "name": "گھانا"
+ },
+ "LA": {
+ "name": "لاؤس"
+ },
+ "LR": {
+ "name": "لائبیریا"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LT": {
+ "name": "لتھوانیا"
+ },
+ "LV": {
+ "name": "لٹویا"
+ },
+ "LU": {
+ "name": "لگژمبرگ"
+ },
+ "LY": {
+ "name": "لیبیا"
+ },
+ "LS": {
+ "name": "لیسوتھو"
+ },
+ "LI": {
+ "name": "لیشٹنسٹائن"
+ },
+ "MQ": {
+ "name": "مارٹینک"
+ },
+ "MU": {
+ "name": "ماریشس"
+ },
+ "MT": {
+ "name": "مالٹا"
+ },
+ "MD": {
+ "name": "مالدووا"
+ },
+ "MV": {
+ "name": "مالدیپ"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "FM": {
+ "name": "مائکرونیشیا"
+ },
+ "YT": {
+ "name": "مایوٹ"
+ },
+ "AE": {
+ "name": "Ù…ØªØ­Ø¯Û Ø¹Ø±Ø¨ امارات"
+ },
+ "MG": {
+ "name": "مڈغاسکر"
+ },
+ "MA": {
+ "name": "مراقش"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "EH": {
+ "name": "مغربی صحارا"
+ },
+ "MK": {
+ "name": "مقدونیÛ"
+ },
+ "MO": {
+ "name": "مکاؤ SAR چین"
+ },
+ "MW": {
+ "name": "ملاوی"
+ },
+ "MY": {
+ "name": "ملیشیا"
+ },
+ "MN": {
+ "name": "منگولیا"
+ },
+ "MR": {
+ "name": "موریطانیÛ"
+ },
+ "MZ": {
+ "name": "موزمبیق"
+ },
+ "MC": {
+ "name": "موناکو"
+ },
+ "MS": {
+ "name": "مونٹسیراٹ"
+ },
+ "ME": {
+ "name": "مونٹے نیگرو"
+ },
+ "MM": {
+ "name": "میانمار (برما)"
+ },
+ "MX": {
+ "name": "میکسیکو"
+ },
+ "NO": {
+ "name": "ناروے"
+ },
+ "NA": {
+ "name": "نامیبیا"
+ },
+ "NR": {
+ "name": "ناورو"
+ },
+ "NE": {
+ "name": "نائجر"
+ },
+ "NG": {
+ "name": "نائجیریا"
+ },
+ "NI": {
+ "name": "نکاراگووا"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NL": {
+ "name": "نیدر لینڈز"
+ },
+ "NC": {
+ "name": "نیو کلیڈونیا"
+ },
+ "NZ": {
+ "name": "نیوزی ینڈ"
+ },
+ "NU": {
+ "name": "نیئو"
+ },
+ "VA": {
+ "name": "واٹیکن سٹی"
+ },
+ "CF": {
+ "name": "وسط اÙریقی جمÛوریÛ"
+ },
+ "VN": {
+ "name": "ویتنام"
+ },
+ "WF": {
+ "name": "ویلیز اور Ùیوٹیونا"
+ },
+ "VE": {
+ "name": "وینزوئیلا"
+ },
+ "VU": {
+ "name": "وینوآٹو"
+ },
+ "HK": {
+ "name": "Ûانگ کانگ SAR چین"
+ },
+ "ES": {
+ "name": "ÛسپانیÛ"
+ },
+ "HU": {
+ "name": "Ûنگری"
+ },
+ "HN": {
+ "name": "Ûونڈاروس"
+ },
+ "HT": {
+ "name": "Ûیتی"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "UY": {
+ "name": "یوروگوئے"
+ },
+ "UA": {
+ "name": "یوکرین"
+ },
+ "UG": {
+ "name": "یوگانڈا"
+ },
+ "GR": {
+ "name": "یونان"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/ur.json b/library/intl/resources/country/ur.json
new file mode 100644
index 000000000..5bb85870b
--- /dev/null
+++ b/library/intl/resources/country/ur.json
@@ -0,0 +1,761 @@
+{
+ "IT": {
+ "name": "اٹلی"
+ },
+ "AR": {
+ "name": "ارجنٹینا"
+ },
+ "JO": {
+ "name": "اردن"
+ },
+ "AW": {
+ "name": "اروبا"
+ },
+ "ER": {
+ "name": "اریٹیریا"
+ },
+ "UZ": {
+ "name": "ازبکستان"
+ },
+ "GQ": {
+ "name": "استوائی گیانا"
+ },
+ "EE": {
+ "name": "اسٹونیا"
+ },
+ "IL": {
+ "name": "اسرائیل"
+ },
+ "AC": {
+ "name": "اسکینسیئن آئلینڈ"
+ },
+ "AF": {
+ "name": "اÙغانستان"
+ },
+ "SV": {
+ "name": "ال سلواڈور"
+ },
+ "AL": {
+ "name": "البانیÛ"
+ },
+ "DZ": {
+ "name": "الجیریا"
+ },
+ "UM": {
+ "name": "Ø§Ù…Ø±ÛŒÚ©Û Ø³Û’ باÛر Ú©Û’ چھوٹے جزائز"
+ },
+ "AS": {
+ "name": "امریکی ساموآ"
+ },
+ "VI": {
+ "name": "امریکی ورجن آئلینڈز"
+ },
+ "AQ": {
+ "name": "انٹارکٹیکا"
+ },
+ "AG": {
+ "name": "انٹیگوا اور باربودا"
+ },
+ "AD": {
+ "name": "انڈورا"
+ },
+ "ID": {
+ "name": "انڈونیشیا"
+ },
+ "AO": {
+ "name": "انگولا"
+ },
+ "AI": {
+ "name": "انگوئیلا"
+ },
+ "ET": {
+ "name": "ایتھوپیا"
+ },
+ "IR": {
+ "name": "ایران"
+ },
+ "EC": {
+ "name": "ایکواڈور"
+ },
+ "AZ": {
+ "name": "آذربائجان"
+ },
+ "AM": {
+ "name": "آرمینیا"
+ },
+ "AT": {
+ "name": "آسٹریا"
+ },
+ "AU": {
+ "name": "آسٹریلیا"
+ },
+ "AX": {
+ "name": "آلینڈ آئلینڈز"
+ },
+ "IE": {
+ "name": "آئرلینڈ"
+ },
+ "IS": {
+ "name": "آئس لینڈ"
+ },
+ "IM": {
+ "name": "آئل آ٠مین"
+ },
+ "BB": {
+ "name": "باربادوس"
+ },
+ "BH": {
+ "name": "بحرین"
+ },
+ "BR": {
+ "name": "برازیلی"
+ },
+ "VG": {
+ "name": "برٹش ورجن آئلینڈز"
+ },
+ "IO": {
+ "name": "برطانوی Ûندوستانی سمندری خطÛ"
+ },
+ "BF": {
+ "name": "برکینا Ùاسو"
+ },
+ "BM": {
+ "name": "برمودا"
+ },
+ "BI": {
+ "name": "برونڈی"
+ },
+ "BN": {
+ "name": "برونئی"
+ },
+ "BG": {
+ "name": "بلغاریÛ"
+ },
+ "BD": {
+ "name": "Ø¨Ù†Ú¯Ù„Û Ø¯ÛŒØ´"
+ },
+ "BW": {
+ "name": "بوتسوانا"
+ },
+ "BA": {
+ "name": "بوسنیا اور Ûرزیگووینا"
+ },
+ "BO": {
+ "name": "بولیویا"
+ },
+ "BS": {
+ "name": "بÛاماس"
+ },
+ "BY": {
+ "name": "بیلاروس"
+ },
+ "BZ": {
+ "name": "بیلائز"
+ },
+ "BE": {
+ "name": "بیلجیم"
+ },
+ "BJ": {
+ "name": "بینن"
+ },
+ "IN": {
+ "name": "بھارت"
+ },
+ "BT": {
+ "name": "بھوٹان"
+ },
+ "PG": {
+ "name": "پاپوآ نیو گنی"
+ },
+ "PK": {
+ "name": "پاکستان"
+ },
+ "PN": {
+ "name": "پٹکائرن جزائر"
+ },
+ "PT": {
+ "name": "پرتگال"
+ },
+ "PW": {
+ "name": "پلاؤ"
+ },
+ "PA": {
+ "name": "پنامÛ"
+ },
+ "PL": {
+ "name": "پولینڈ"
+ },
+ "PY": {
+ "name": "پیراگوئے"
+ },
+ "PE": {
+ "name": "پیرو"
+ },
+ "PR": {
+ "name": "پیورٹو ریکو"
+ },
+ "TJ": {
+ "name": "تاجکستان"
+ },
+ "TW": {
+ "name": "تائیوان"
+ },
+ "TC": {
+ "name": "ترکس اور کیکاؤس جزائر"
+ },
+ "TM": {
+ "name": "ترکمانستان"
+ },
+ "TR": {
+ "name": "ترکی"
+ },
+ "TT": {
+ "name": "ترینیداد اور ٹوباگو"
+ },
+ "TZ": {
+ "name": "تنزانیÛ"
+ },
+ "TL": {
+ "name": "تیمور لیسٹ"
+ },
+ "TN": {
+ "name": "تیونیسیا"
+ },
+ "TH": {
+ "name": "تھائی لینڈ"
+ },
+ "TA": {
+ "name": "ٹرسٹن ڈا کیونÛا"
+ },
+ "TK": {
+ "name": "ٹوکیلاؤ"
+ },
+ "TG": {
+ "name": "ٹوگو"
+ },
+ "TO": {
+ "name": "ٹونگا"
+ },
+ "TV": {
+ "name": "ٹووالو"
+ },
+ "JP": {
+ "name": "جاپان"
+ },
+ "GE": {
+ "name": "جارجیا"
+ },
+ "GI": {
+ "name": "جبل الطارق"
+ },
+ "DJ": {
+ "name": "جبوتی"
+ },
+ "JE": {
+ "name": "جرسی"
+ },
+ "DE": {
+ "name": "جرمنی"
+ },
+ "JM": {
+ "name": "جمائیکا"
+ },
+ "ZA": {
+ "name": "جنوبی اÙریقÛ"
+ },
+ "GS": {
+ "name": "جنوبی جارجیا اور جنوبی سینڈوچ جزائر"
+ },
+ "SS": {
+ "name": "جنوبی سوڈان"
+ },
+ "KR": {
+ "name": "جنوبی کوریا"
+ },
+ "TD": {
+ "name": "چاڈ"
+ },
+ "CL": {
+ "name": "چلی"
+ },
+ "CZ": {
+ "name": "چیک جمÛوریÛ"
+ },
+ "CN": {
+ "name": "چین"
+ },
+ "DG": {
+ "name": "ڈائجو گارسیا"
+ },
+ "DK": {
+ "name": "ڈنمارک"
+ },
+ "DM": {
+ "name": "ڈومنیکا"
+ },
+ "DO": {
+ "name": "ڈومنیکن جمÛوریÛ"
+ },
+ "RW": {
+ "name": "روانڈا"
+ },
+ "RU": {
+ "name": "روسی"
+ },
+ "RO": {
+ "name": "رومانیا"
+ },
+ "RE": {
+ "name": "ری یونین"
+ },
+ "US": {
+ "name": "ریاستÛائے متحدÛ"
+ },
+ "ZM": {
+ "name": "زامبیا"
+ },
+ "ZW": {
+ "name": "زمبابوے"
+ },
+ "WS": {
+ "name": "ساموآ"
+ },
+ "SM": {
+ "name": "سان مارینو"
+ },
+ "ST": {
+ "name": "ساؤ ٹوم اور پرنسپے"
+ },
+ "RS": {
+ "name": "سربیا"
+ },
+ "LK": {
+ "name": "سری لنکا"
+ },
+ "SC": {
+ "name": "سشلیز"
+ },
+ "SA": {
+ "name": "سعودی عرب"
+ },
+ "GB": {
+ "name": "سلطنت متحدÛ"
+ },
+ "SK": {
+ "name": "سلوواکیÛ"
+ },
+ "SI": {
+ "name": "سلووینیا"
+ },
+ "SX": {
+ "name": "سنٹ مارٹن"
+ },
+ "SG": {
+ "name": "سنگاپور"
+ },
+ "SZ": {
+ "name": "سوازی لینڈ"
+ },
+ "SJ": {
+ "name": "سوالبرڈ اور جان ماین"
+ },
+ "SD": {
+ "name": "سوڈان"
+ },
+ "SR": {
+ "name": "سورینام"
+ },
+ "SB": {
+ "name": "سولومن آئلینڈز"
+ },
+ "CH": {
+ "name": "سوئٹزر لینڈ"
+ },
+ "SE": {
+ "name": "سویڈن"
+ },
+ "BL": {
+ "name": "سینٹ برتھلیمی"
+ },
+ "PM": {
+ "name": "سینٹ پیئر اور میکلیئون"
+ },
+ "KN": {
+ "name": "سینٹ کٹس اور نیویس"
+ },
+ "LC": {
+ "name": "سینٹ لوسیا"
+ },
+ "MF": {
+ "name": "سینٹ مارٹن"
+ },
+ "VC": {
+ "name": "سینٹ ونسنٹ اور گرینیڈائنز"
+ },
+ "SH": {
+ "name": "سینٹ Ûیلینا"
+ },
+ "SN": {
+ "name": "سینیگل"
+ },
+ "SL": {
+ "name": "سیئر لیون"
+ },
+ "EA": {
+ "name": "سیئوٹا اور میلیلا"
+ },
+ "SY": {
+ "name": "شام"
+ },
+ "KP": {
+ "name": "شمالی کوریا"
+ },
+ "MP": {
+ "name": "شمالی ماریانا آئلینڈز"
+ },
+ "SO": {
+ "name": "صومالیÛ"
+ },
+ "IQ": {
+ "name": "عراق"
+ },
+ "OM": {
+ "name": "عمان"
+ },
+ "GD": {
+ "name": "غرناطÛ"
+ },
+ "FK": {
+ "name": "Ùاکلینڈ جزائر"
+ },
+ "FJ": {
+ "name": "Ùجی"
+ },
+ "FR": {
+ "name": "Ùرانس"
+ },
+ "PF": {
+ "name": "Ùرانسیسی پولینیشیا"
+ },
+ "TF": {
+ "name": "Ùرانسیسی جنوبی خطے"
+ },
+ "FO": {
+ "name": "Ùروئی آئلینڈز"
+ },
+ "GF": {
+ "name": "Ùرینچ گیانا"
+ },
+ "PH": {
+ "name": "Ùلپائنی"
+ },
+ "PS": {
+ "name": "Ùلسطینی خطے"
+ },
+ "FI": {
+ "name": "ÙÙ† لینڈ"
+ },
+ "CY": {
+ "name": "قبرص"
+ },
+ "KZ": {
+ "name": "قزاخستان"
+ },
+ "QA": {
+ "name": "قطر"
+ },
+ "CG": {
+ "name": "کانگو - برازاویلے"
+ },
+ "CD": {
+ "name": "کانگو - کنشاسا"
+ },
+ "CX": {
+ "name": "کرسمس آئلینڈ"
+ },
+ "KG": {
+ "name": "کرغزستان"
+ },
+ "HR": {
+ "name": "کروشیا"
+ },
+ "KI": {
+ "name": "کریباتی"
+ },
+ "BQ": {
+ "name": "کریبیائی نیدرلینڈز"
+ },
+ "CK": {
+ "name": "کک آئلینڈز"
+ },
+ "KH": {
+ "name": "کمبوڈیا"
+ },
+ "CI": {
+ "name": "کوٹ ڈی آئیوری"
+ },
+ "CR": {
+ "name": "کوسٹا ریکا"
+ },
+ "XK": {
+ "name": "کوسووو"
+ },
+ "CC": {
+ "name": "کوکوس (کیلنگ) جزائر"
+ },
+ "CO": {
+ "name": "کولمبیا"
+ },
+ "KM": {
+ "name": "کوموروس"
+ },
+ "KW": {
+ "name": "کویت"
+ },
+ "CV": {
+ "name": "کیپ ورڈی"
+ },
+ "CM": {
+ "name": "کیمرون"
+ },
+ "KY": {
+ "name": "کیمین آئلینڈز"
+ },
+ "IC": {
+ "name": "کینری آئلینڈز"
+ },
+ "KE": {
+ "name": "کینیا"
+ },
+ "CA": {
+ "name": "کینیڈا"
+ },
+ "CU": {
+ "name": "کیوبا"
+ },
+ "CW": {
+ "name": "کیوراکاؤ"
+ },
+ "GM": {
+ "name": "گامبیا"
+ },
+ "GL": {
+ "name": "گرین لینڈ"
+ },
+ "GN": {
+ "name": "گنی"
+ },
+ "GW": {
+ "name": "گنی بساؤ"
+ },
+ "GT": {
+ "name": "گواٹے مالا"
+ },
+ "GP": {
+ "name": "گواڈیلوپ"
+ },
+ "GU": {
+ "name": "گوآم"
+ },
+ "GG": {
+ "name": "گوئرنسی"
+ },
+ "GY": {
+ "name": "گیانا"
+ },
+ "GA": {
+ "name": "گیبون"
+ },
+ "GH": {
+ "name": "گھانا"
+ },
+ "LA": {
+ "name": "لاؤس"
+ },
+ "LR": {
+ "name": "لائبیریا"
+ },
+ "LB": {
+ "name": "لبنان"
+ },
+ "LT": {
+ "name": "لتھوانیا"
+ },
+ "LV": {
+ "name": "لٹویا"
+ },
+ "LU": {
+ "name": "لگژمبرگ"
+ },
+ "LY": {
+ "name": "لیبیا"
+ },
+ "LS": {
+ "name": "لیسوتھو"
+ },
+ "LI": {
+ "name": "لیشٹنسٹائن"
+ },
+ "MQ": {
+ "name": "مارٹینک"
+ },
+ "MH": {
+ "name": "مارشل آئلینڈز"
+ },
+ "MU": {
+ "name": "ماریشس"
+ },
+ "MT": {
+ "name": "مالٹا"
+ },
+ "MD": {
+ "name": "مالدووا"
+ },
+ "MV": {
+ "name": "مالدیپ"
+ },
+ "ML": {
+ "name": "مالی"
+ },
+ "FM": {
+ "name": "مائکرونیشیا"
+ },
+ "YT": {
+ "name": "مایوٹ"
+ },
+ "AE": {
+ "name": "Ù…ØªØ­Ø¯Û Ø¹Ø±Ø¨ امارات"
+ },
+ "MG": {
+ "name": "مڈغاسکر"
+ },
+ "MA": {
+ "name": "مراقش"
+ },
+ "EG": {
+ "name": "مصر"
+ },
+ "EH": {
+ "name": "مغربی صحارا"
+ },
+ "MK": {
+ "name": "مقدونیÛ"
+ },
+ "MO": {
+ "name": "مکاؤ SAR چین"
+ },
+ "MW": {
+ "name": "ملاوی"
+ },
+ "MY": {
+ "name": "ملیشیا"
+ },
+ "MN": {
+ "name": "منگولیا"
+ },
+ "MR": {
+ "name": "موریطانیÛ"
+ },
+ "MZ": {
+ "name": "موزمبیق"
+ },
+ "MC": {
+ "name": "موناکو"
+ },
+ "MS": {
+ "name": "مونٹسیراٹ"
+ },
+ "ME": {
+ "name": "مونٹے نیگرو"
+ },
+ "MM": {
+ "name": "میانمار (برما)"
+ },
+ "MX": {
+ "name": "میکسیکو"
+ },
+ "NF": {
+ "name": "نار Ùاک آئلینڈ"
+ },
+ "NO": {
+ "name": "ناروے"
+ },
+ "NA": {
+ "name": "نامیبیا"
+ },
+ "NE": {
+ "name": "نائجر"
+ },
+ "NG": {
+ "name": "نائجیریا"
+ },
+ "NI": {
+ "name": "نکاراگووا"
+ },
+ "NR": {
+ "name": "نؤرو"
+ },
+ "NP": {
+ "name": "نیپال"
+ },
+ "NL": {
+ "name": "نیدر لینڈز"
+ },
+ "NC": {
+ "name": "نیو کلیڈونیا"
+ },
+ "NZ": {
+ "name": "نیوزی ینڈ"
+ },
+ "NU": {
+ "name": "نیئو"
+ },
+ "VA": {
+ "name": "واٹیکن سٹی"
+ },
+ "CF": {
+ "name": "وسط اÙریقی جمÛوریÛ"
+ },
+ "VN": {
+ "name": "ویتنام"
+ },
+ "WF": {
+ "name": "ویلیز اور Ùیوٹیونا"
+ },
+ "VE": {
+ "name": "وینزوئیلا"
+ },
+ "VU": {
+ "name": "وینوآٹو"
+ },
+ "HK": {
+ "name": "Ûانگ کانگ SAR چین"
+ },
+ "ES": {
+ "name": "ÛسپانیÛ"
+ },
+ "HU": {
+ "name": "Ûنگری"
+ },
+ "HN": {
+ "name": "Ûونڈاروس"
+ },
+ "HT": {
+ "name": "Ûیتی"
+ },
+ "YE": {
+ "name": "یمن"
+ },
+ "UY": {
+ "name": "یوروگوئے"
+ },
+ "UA": {
+ "name": "یوکرین"
+ },
+ "UG": {
+ "name": "یوگانڈا"
+ },
+ "GR": {
+ "name": "یونان"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/uz-Cyrl.json b/library/intl/resources/country/uz-Cyrl.json
new file mode 100644
index 000000000..7952cce87
--- /dev/null
+++ b/library/intl/resources/country/uz-Cyrl.json
@@ -0,0 +1,761 @@
+{
+ "AU": {
+ "name": "ÐвÑтралиÑ"
+ },
+ "AT": {
+ "name": "ÐвÑтриÑ"
+ },
+ "VI": {
+ "name": "ÐҚШ Ð’Ð¸Ñ€Ð´Ð¶Ð¸Ð½Ð¸Ñ Ð¾Ñ€Ð¾Ð»Ð»Ð°Ñ€Ð¸"
+ },
+ "UM": {
+ "name": "ÐҚШ ёндош ороллари"
+ },
+ "AX": {
+ "name": "Ðланд ороллари"
+ },
+ "AL": {
+ "name": "ÐлбаниÑ"
+ },
+ "AS": {
+ "name": "Ðмерика СамоаÑи"
+ },
+ "AI": {
+ "name": "Ðнгила"
+ },
+ "AO": {
+ "name": "Ðнгола"
+ },
+ "AD": {
+ "name": "Ðндорра"
+ },
+ "AQ": {
+ "name": "Ðнтарктика"
+ },
+ "AG": {
+ "name": "Ðнтигуа ва БарбадоÑ"
+ },
+ "AR": {
+ "name": "Ðргентина"
+ },
+ "AM": {
+ "name": "ÐрманиÑтон"
+ },
+ "AW": {
+ "name": "Ðруба"
+ },
+ "AF": {
+ "name": "ÐфғониÑтон"
+ },
+ "BS": {
+ "name": "Багама ороллари"
+ },
+ "BD": {
+ "name": "Бангладеш"
+ },
+ "BB": {
+ "name": "БарбадоÑ"
+ },
+ "BH": {
+ "name": "Баҳрайн"
+ },
+ "BZ": {
+ "name": "Белиз"
+ },
+ "BY": {
+ "name": "БелоруÑиÑ"
+ },
+ "BE": {
+ "name": "БельгиÑ"
+ },
+ "BJ": {
+ "name": "Бенин"
+ },
+ "BM": {
+ "name": "Бермуда"
+ },
+ "AE": {
+ "name": "Бирлашган Ðраб Ðмирликлари"
+ },
+ "GB": {
+ "name": "Бирлашган Қироллик"
+ },
+ "BG": {
+ "name": "БолгариÑ"
+ },
+ "BO": {
+ "name": "БоливиÑ"
+ },
+ "BA": {
+ "name": "БоÑÐ½Ð¸Ñ Ð²Ð° Герцеговина"
+ },
+ "BW": {
+ "name": "БотÑванна"
+ },
+ "BR": {
+ "name": "БразилиÑ"
+ },
+ "VG": {
+ "name": "Ð‘Ñ€Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð’Ð¸Ñ€Ð´Ð¶Ð¸Ð½Ð¸Ñ Ð¾Ñ€Ð¾Ð»Ð»Ð°Ñ€Ð¸"
+ },
+ "IO": {
+ "name": "Ð‘Ñ€Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ò²Ð¸Ð½Ð´ океани ҳудуди"
+ },
+ "BN": {
+ "name": "Бруней"
+ },
+ "BF": {
+ "name": "Буркина-ФаÑо"
+ },
+ "BI": {
+ "name": "Бурунди"
+ },
+ "BT": {
+ "name": "Бутан"
+ },
+ "VU": {
+ "name": "Вануату"
+ },
+ "VA": {
+ "name": "Ватикан"
+ },
+ "HU": {
+ "name": "ВенгриÑ"
+ },
+ "VE": {
+ "name": "ВенеÑуÑла"
+ },
+ "AC": {
+ "name": "ВознеÑение ороли"
+ },
+ "VN": {
+ "name": "Вьетнам"
+ },
+ "GA": {
+ "name": "Габон"
+ },
+ "HT": {
+ "name": "Гаити"
+ },
+ "GM": {
+ "name": "ГамбиÑ"
+ },
+ "GH": {
+ "name": "Гана"
+ },
+ "GY": {
+ "name": "ГаÑна"
+ },
+ "GP": {
+ "name": "Гваделупе"
+ },
+ "GT": {
+ "name": "Гватемала"
+ },
+ "GN": {
+ "name": "ГвинеÑ"
+ },
+ "GW": {
+ "name": "ГвинеÑ-БиÑау"
+ },
+ "GG": {
+ "name": "ГернÑи"
+ },
+ "GI": {
+ "name": "Гибралтар"
+ },
+ "HN": {
+ "name": "ГондураÑ"
+ },
+ "HK": {
+ "name": "Гонконг Хитой ММҲ"
+ },
+ "GD": {
+ "name": "Гренада"
+ },
+ "GL": {
+ "name": "ГренландиÑ"
+ },
+ "GR": {
+ "name": "ГрециÑ"
+ },
+ "GE": {
+ "name": "ГрузиÑ"
+ },
+ "GU": {
+ "name": "Гуам"
+ },
+ "EH": {
+ "name": "Ғарбий Саҳрои Кабир"
+ },
+ "DK": {
+ "name": "ДаниÑ"
+ },
+ "JE": {
+ "name": "ДжерÑи"
+ },
+ "DJ": {
+ "name": "Джибути"
+ },
+ "DG": {
+ "name": "Диего ГарÑиÑ"
+ },
+ "DM": {
+ "name": "Доминика"
+ },
+ "DO": {
+ "name": "Доминикан РеÑпубликаÑи"
+ },
+ "DZ": {
+ "name": "Жазоир"
+ },
+ "ZA": {
+ "name": "Жанубий Ðфрика"
+ },
+ "GS": {
+ "name": "Жанубий Ð”Ð¶Ð¾Ñ€Ð´Ð¶Ð¸Ñ Ð²Ð° Жанубий Сендвич ороллари"
+ },
+ "KR": {
+ "name": "Жанубий КореÑ"
+ },
+ "SS": {
+ "name": "Жанубий Судан"
+ },
+ "ZM": {
+ "name": "ЗамбиÑ"
+ },
+ "ZW": {
+ "name": "Зимбабве"
+ },
+ "ID": {
+ "name": "ИндонезиÑ"
+ },
+ "JO": {
+ "name": "ИорданиÑ"
+ },
+ "IE": {
+ "name": "ИрландиÑ"
+ },
+ "IQ": {
+ "name": "Ироқ"
+ },
+ "IS": {
+ "name": "ИÑландиÑ"
+ },
+ "ES": {
+ "name": "ИÑпаниÑ"
+ },
+ "IL": {
+ "name": "ИÑроил"
+ },
+ "IT": {
+ "name": "ИталиÑ"
+ },
+ "CV": {
+ "name": "Кабо-Верде"
+ },
+ "KY": {
+ "name": "Кайман ороллари"
+ },
+ "KH": {
+ "name": "Камбоджа"
+ },
+ "CM": {
+ "name": "Камерун"
+ },
+ "CA": {
+ "name": "Канада"
+ },
+ "IC": {
+ "name": "Канар ороллари"
+ },
+ "BQ": {
+ "name": "Кариб ÐидерландиÑÑи"
+ },
+ "KE": {
+ "name": "КениÑ"
+ },
+ "CY": {
+ "name": "Кипр"
+ },
+ "KI": {
+ "name": "Кирибати"
+ },
+ "CC": {
+ "name": "ÐšÐ¾ÐºÐ¾Ñ (Килинг) ороллари"
+ },
+ "CO": {
+ "name": "КолумбиÑ"
+ },
+ "KM": {
+ "name": "Комор ороллари"
+ },
+ "CG": {
+ "name": "Конго Браззавиль"
+ },
+ "CD": {
+ "name": "Конго-КиншаÑа"
+ },
+ "XK": {
+ "name": "КоÑово"
+ },
+ "CR": {
+ "name": "КоÑта-Рика"
+ },
+ "CI": {
+ "name": "Кот-д-Ивуар"
+ },
+ "CU": {
+ "name": "Куба"
+ },
+ "KW": {
+ "name": "Кувайт"
+ },
+ "CK": {
+ "name": "Кук ороллари"
+ },
+ "CW": {
+ "name": "КураÑао"
+ },
+ "QA": {
+ "name": "Қатар"
+ },
+ "KG": {
+ "name": "ҚирғизиÑтон"
+ },
+ "KZ": {
+ "name": "ҚозоғиÑтон"
+ },
+ "US": {
+ "name": "Қўшма Штатлар"
+ },
+ "LA": {
+ "name": "ЛаоÑ"
+ },
+ "LV": {
+ "name": "ЛатвиÑ"
+ },
+ "LS": {
+ "name": "ЛеÑото"
+ },
+ "LR": {
+ "name": "ЛибериÑ"
+ },
+ "LB": {
+ "name": "Ливан"
+ },
+ "LY": {
+ "name": "ЛивиÑ"
+ },
+ "LT": {
+ "name": "Литва"
+ },
+ "LI": {
+ "name": "Лихтенштейн"
+ },
+ "LU": {
+ "name": "ЛюкÑембург"
+ },
+ "MU": {
+ "name": "Маврикий"
+ },
+ "MR": {
+ "name": "МавританиÑ"
+ },
+ "MG": {
+ "name": "МадагаÑкар"
+ },
+ "YT": {
+ "name": "Майотта"
+ },
+ "MO": {
+ "name": "Макао Хитой ММҲ"
+ },
+ "MK": {
+ "name": "МакедониÑ"
+ },
+ "MW": {
+ "name": "Малави"
+ },
+ "MY": {
+ "name": "МалайзиÑ"
+ },
+ "ML": {
+ "name": "Мали"
+ },
+ "MV": {
+ "name": "Мальдив ороллари"
+ },
+ "MT": {
+ "name": "Мальта"
+ },
+ "CF": {
+ "name": "Марказий Ðфрика РеÑпубликаÑи"
+ },
+ "MA": {
+ "name": "Марокаш"
+ },
+ "MQ": {
+ "name": "Мартиника"
+ },
+ "MH": {
+ "name": "Маршал ороллари"
+ },
+ "MX": {
+ "name": "МекÑика"
+ },
+ "FM": {
+ "name": "МикронезиÑ"
+ },
+ "EG": {
+ "name": "МиÑÑ€"
+ },
+ "MZ": {
+ "name": "Мозамбик"
+ },
+ "MD": {
+ "name": "Молдова"
+ },
+ "MC": {
+ "name": "Монако"
+ },
+ "MS": {
+ "name": "МонтÑеррат"
+ },
+ "MN": {
+ "name": "МуғулиÑтон"
+ },
+ "BL": {
+ "name": "ÐœÑƒÒ›Ð°Ð´Ð´Ð°Ñ Ð’Ð°Ñ€Ñ„Ð°Ð»Ð¾Ð¼ÐµÐ¹"
+ },
+ "SH": {
+ "name": "ÐœÑƒÒ›Ð°Ð´Ð´Ð°Ñ Ð•Ð»ÐµÐ½Ð° ороллари"
+ },
+ "MM": {
+ "name": "МьÑнма (Бирма)"
+ },
+ "IM": {
+ "name": "ÐœÑн ороли"
+ },
+ "NA": {
+ "name": "ÐамибиÑ"
+ },
+ "NR": {
+ "name": "Ðауру"
+ },
+ "NP": {
+ "name": "Ðепал"
+ },
+ "NE": {
+ "name": "Ðигер"
+ },
+ "NG": {
+ "name": "ÐигериÑ"
+ },
+ "NL": {
+ "name": "ÐидерландиÑ"
+ },
+ "NI": {
+ "name": "Ðикарагуа"
+ },
+ "NU": {
+ "name": "Ðиуе"
+ },
+ "NO": {
+ "name": "ÐорвегиÑ"
+ },
+ "NF": {
+ "name": "Ðорфолк ороллари"
+ },
+ "AZ": {
+ "name": "Озарбайжон"
+ },
+ "DE": {
+ "name": "ОлмониÑ"
+ },
+ "PW": {
+ "name": "Палау"
+ },
+ "PA": {
+ "name": "Панама"
+ },
+ "PG": {
+ "name": "Папуа Янги ГвинеÑ"
+ },
+ "PY": {
+ "name": "Парагвай"
+ },
+ "PE": {
+ "name": "Перу"
+ },
+ "PN": {
+ "name": "Питкарин ороллари"
+ },
+ "PK": {
+ "name": "ПокиÑтон"
+ },
+ "PL": {
+ "name": "Польша"
+ },
+ "PT": {
+ "name": "ПортугалиÑ"
+ },
+ "PR": {
+ "name": "ПуÑрто-Рико"
+ },
+ "RE": {
+ "name": "Реюньон"
+ },
+ "CX": {
+ "name": "РождеÑтво ороли"
+ },
+ "RU": {
+ "name": "РоÑÑиÑ"
+ },
+ "RW": {
+ "name": "Руанда"
+ },
+ "RO": {
+ "name": "РуминиÑ"
+ },
+ "SJ": {
+ "name": "Савльбард ва Жан Маен"
+ },
+ "WS": {
+ "name": "Самоа"
+ },
+ "SM": {
+ "name": "Сан-Марино"
+ },
+ "ST": {
+ "name": "Сан-Томе ва ПринÑипи"
+ },
+ "SA": {
+ "name": "Ð¡Ð°ÑƒÐ´Ð¸Ñ ÐрабиÑтони"
+ },
+ "SZ": {
+ "name": "Свазиленд"
+ },
+ "EA": {
+ "name": "Сейта ва Мелилла"
+ },
+ "SC": {
+ "name": "Сейшел ороллари"
+ },
+ "SN": {
+ "name": "Сенегал"
+ },
+ "VC": {
+ "name": "Сент-ВинÑент ва Гренадин"
+ },
+ "KN": {
+ "name": "Сент-ÐšÐ¸Ñ‚Ñ Ð²Ð° ÐевиÑ"
+ },
+ "LC": {
+ "name": "Сент-ЛюÑиÑ"
+ },
+ "MF": {
+ "name": "Сент-Мартин"
+ },
+ "PM": {
+ "name": "Сент-Пьер ва Микелон"
+ },
+ "RS": {
+ "name": "СербиÑ"
+ },
+ "SG": {
+ "name": "Сингапур"
+ },
+ "SX": {
+ "name": "Синт-Маартен"
+ },
+ "SK": {
+ "name": "СловакиÑ"
+ },
+ "SI": {
+ "name": "СловениÑ"
+ },
+ "SB": {
+ "name": "Соломон ороллари"
+ },
+ "SO": {
+ "name": "Сомали"
+ },
+ "SD": {
+ "name": "Судан"
+ },
+ "SR": {
+ "name": "Суринам"
+ },
+ "SY": {
+ "name": "СуриÑ"
+ },
+ "SL": {
+ "name": "Сьерра-Леоне"
+ },
+ "TW": {
+ "name": "Тайван"
+ },
+ "TH": {
+ "name": "Тайланд"
+ },
+ "TZ": {
+ "name": "ТанзаниÑ"
+ },
+ "TG": {
+ "name": "Того"
+ },
+ "TJ": {
+ "name": "ТожикиÑтон"
+ },
+ "TK": {
+ "name": "Токелау"
+ },
+ "TO": {
+ "name": "Тонга"
+ },
+ "TT": {
+ "name": "Тринидад ва Тобаго"
+ },
+ "TA": {
+ "name": "ТриÑтан де Куна"
+ },
+ "TV": {
+ "name": "Тувалу"
+ },
+ "TN": {
+ "name": "ТуниÑ"
+ },
+ "TR": {
+ "name": "ТуркиÑ"
+ },
+ "TM": {
+ "name": "ТуркманиÑтон"
+ },
+ "TC": {
+ "name": "Ð¢ÑƒÑ€ÐºÑ Ð²Ð° ÐšÐ°Ð¹ÐºÐ¾Ñ Ð¾Ñ€Ð¾Ð»Ð»Ð°Ñ€Ð¸"
+ },
+ "UG": {
+ "name": "Уганда"
+ },
+ "UA": {
+ "name": "Украина"
+ },
+ "OM": {
+ "name": "Уммон"
+ },
+ "UY": {
+ "name": "Уругвай"
+ },
+ "WF": {
+ "name": "УÑÐ»Ð»Ð¸Ñ Ð²Ð° Футуна"
+ },
+ "UZ": {
+ "name": "ЎзбекиÑтон"
+ },
+ "PS": {
+ "name": "ФалаÑтин ҳудуди"
+ },
+ "FO": {
+ "name": "Фарер ороллари"
+ },
+ "FJ": {
+ "name": "Фижи ороллари"
+ },
+ "PH": {
+ "name": "Филиппин"
+ },
+ "FI": {
+ "name": "ФинлÑндиÑ"
+ },
+ "FK": {
+ "name": "Фолькленд ороллари"
+ },
+ "FR": {
+ "name": "ФранциÑ"
+ },
+ "TF": {
+ "name": "Ð¤Ñ€Ð°Ð½Ñ†Ð¸Ñ Ð¶Ð°Ð½ÑƒÐ±Ð¸Ð¹ худудлари"
+ },
+ "GF": {
+ "name": "Француз ГвианаÑи"
+ },
+ "PF": {
+ "name": "Француз ПолинезиÑÑи"
+ },
+ "CN": {
+ "name": "Хитой"
+ },
+ "HR": {
+ "name": "ХорватиÑ"
+ },
+ "IN": {
+ "name": "ҲиндиÑтон"
+ },
+ "TD": {
+ "name": "Чад"
+ },
+ "ME": {
+ "name": "ЧерногориÑ"
+ },
+ "CZ": {
+ "name": "Ð§ÐµÑ…Ð¸Ñ Ð ÐµÑпубликаÑи"
+ },
+ "CL": {
+ "name": "Чили"
+ },
+ "TL": {
+ "name": "Шарқий-Тимор"
+ },
+ "CH": {
+ "name": "ШвейцариÑ"
+ },
+ "SE": {
+ "name": "ШвециÑ"
+ },
+ "KP": {
+ "name": "Шимолий КореÑ"
+ },
+ "MP": {
+ "name": "Шимолий Марианна ороллари"
+ },
+ "LK": {
+ "name": "Шри-Ланка"
+ },
+ "EC": {
+ "name": "Эквадор"
+ },
+ "GQ": {
+ "name": "Экваториал ГвинеÑ"
+ },
+ "SV": {
+ "name": "Эль-Сальвадор"
+ },
+ "ER": {
+ "name": "ЭритреÑ"
+ },
+ "IR": {
+ "name": "Эрон"
+ },
+ "EE": {
+ "name": "ЭÑтониÑ"
+ },
+ "ET": {
+ "name": "ЭфиопиÑ"
+ },
+ "JM": {
+ "name": "Ямайка"
+ },
+ "YE": {
+ "name": "Яман"
+ },
+ "NZ": {
+ "name": "Янги ЗеландиÑ"
+ },
+ "NC": {
+ "name": "Янги КаледониÑ"
+ },
+ "JP": {
+ "name": "ЯпониÑ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/uz.json b/library/intl/resources/country/uz.json
new file mode 100644
index 000000000..9d0ba0099
--- /dev/null
+++ b/library/intl/resources/country/uz.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afgʻoniston"
+ },
+ "AX": {
+ "name": "Aland orollari"
+ },
+ "AL": {
+ "name": "Albaniya"
+ },
+ "AS": {
+ "name": "Amerika Samoasi"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AI": {
+ "name": "Angila"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AQ": {
+ "name": "Antarktika"
+ },
+ "AG": {
+ "name": "Antigua va Barbados"
+ },
+ "VI": {
+ "name": "AQSH Virdjiniya orollari"
+ },
+ "UM": {
+ "name": "AQSH yondosh orollari"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armaniston"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "BL": {
+ "name": "Avliyo Varfolomey"
+ },
+ "AU": {
+ "name": "Avstraliya"
+ },
+ "AT": {
+ "name": "Avstriya"
+ },
+ "BS": {
+ "name": "Bagama orollari"
+ },
+ "BH": {
+ "name": "Bahrayn"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgiya"
+ },
+ "BZ": {
+ "name": "Beliz"
+ },
+ "BY": {
+ "name": "Belorusiya"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "AE": {
+ "name": "Birlashgan Arab Amirliklari"
+ },
+ "GB": {
+ "name": "Birlashgan Qirollik"
+ },
+ "BG": {
+ "name": "Bolgariya"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BA": {
+ "name": "Bosniya va Gertsegovina"
+ },
+ "BW": {
+ "name": "Botsvanna"
+ },
+ "BR": {
+ "name": "Braziliya"
+ },
+ "IO": {
+ "name": "Britaniya Hind okeani hududi"
+ },
+ "VG": {
+ "name": "Britaniya Virdjiniya orollari"
+ },
+ "BN": {
+ "name": "Bruney"
+ },
+ "BF": {
+ "name": "Burkina-Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butan"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "ME": {
+ "name": "Chernogoriya"
+ },
+ "CZ": {
+ "name": "Chexiya Respublikasi"
+ },
+ "CL": {
+ "name": "Chili"
+ },
+ "DK": {
+ "name": "Daniya"
+ },
+ "DG": {
+ "name": "Diyego Garsiya"
+ },
+ "JE": {
+ "name": "Djersi"
+ },
+ "DJ": {
+ "name": "Djibuti"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "DO": {
+ "name": "Dominikan Respublikasi"
+ },
+ "ET": {
+ "name": "Efiopiya"
+ },
+ "EC": {
+ "name": "Ekvador"
+ },
+ "GQ": {
+ "name": "Ekvatorial Gvineya"
+ },
+ "ER": {
+ "name": "Eritreya"
+ },
+ "IR": {
+ "name": "Eron"
+ },
+ "EE": {
+ "name": "Estoniya"
+ },
+ "PS": {
+ "name": "Falastin hududi"
+ },
+ "FO": {
+ "name": "Farer orollari"
+ },
+ "FJ": {
+ "name": "Fiji orollari"
+ },
+ "PH": {
+ "name": "Filippin"
+ },
+ "FI": {
+ "name": "Finlyandiya"
+ },
+ "FK": {
+ "name": "Folklend orollari"
+ },
+ "FR": {
+ "name": "Fransiya"
+ },
+ "TF": {
+ "name": "Frantsiya janubiy xududlari"
+ },
+ "GF": {
+ "name": "Frantsuz Gvianasi"
+ },
+ "PF": {
+ "name": "Frantsuz Polineziyasi"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "HT": {
+ "name": "Gaiti"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GY": {
+ "name": "Gayana"
+ },
+ "DE": {
+ "name": "Germaniya"
+ },
+ "GG": {
+ "name": "Gernsi"
+ },
+ "EH": {
+ "name": "Gʻarbiy Sahroi Kabir"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "HN": {
+ "name": "Gonduras"
+ },
+ "HK": {
+ "name": "Gonkong Xitoy MMH"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grenlandiya"
+ },
+ "GR": {
+ "name": "Gretsiya"
+ },
+ "GE": {
+ "name": "Gruziya"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GP": {
+ "name": "Gvadelupe"
+ },
+ "GT": {
+ "name": "Gvatemala"
+ },
+ "GN": {
+ "name": "Gvineya"
+ },
+ "GW": {
+ "name": "Gvineya-Bisau"
+ },
+ "IN": {
+ "name": "Hindiston"
+ },
+ "ID": {
+ "name": "Indoneziya"
+ },
+ "JO": {
+ "name": "Iordaniya"
+ },
+ "IE": {
+ "name": "Irlandiya"
+ },
+ "IQ": {
+ "name": "Iroq"
+ },
+ "IS": {
+ "name": "Islandiya"
+ },
+ "ES": {
+ "name": "Ispaniya"
+ },
+ "IL": {
+ "name": "Isroil"
+ },
+ "IT": {
+ "name": "Italiya"
+ },
+ "ZA": {
+ "name": "Janubi-Afrika"
+ },
+ "GS": {
+ "name": "Janubiy Djordjiya va Janubiy Sendvich orollari"
+ },
+ "KR": {
+ "name": "Janubiy Koreya"
+ },
+ "SS": {
+ "name": "Janubiy Sudan"
+ },
+ "DZ": {
+ "name": "Jazoir"
+ },
+ "CV": {
+ "name": "Kabo-Verde"
+ },
+ "KH": {
+ "name": "Kambodja"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanar orollari"
+ },
+ "BQ": {
+ "name": "Karib Niderlandiyasi"
+ },
+ "KY": {
+ "name": "Kayman orollari"
+ },
+ "KE": {
+ "name": "Keniya"
+ },
+ "CY": {
+ "name": "Kipr"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokos (Kiling) orollari"
+ },
+ "CO": {
+ "name": "Kolumbiya"
+ },
+ "KM": {
+ "name": "Komor orollari"
+ },
+ "CG": {
+ "name": "Kongo Brazzavil"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kosta-Rika"
+ },
+ "CI": {
+ "name": "Kot-d-Ivuar"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CK": {
+ "name": "Kuk orollari"
+ },
+ "CW": {
+ "name": "Kurasao"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LV": {
+ "name": "Latviya"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberiya"
+ },
+ "LT": {
+ "name": "Litva"
+ },
+ "LB": {
+ "name": "Livan"
+ },
+ "LY": {
+ "name": "Liviya"
+ },
+ "LI": {
+ "name": "Lixtenshteyn"
+ },
+ "LU": {
+ "name": "Lyuksemburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MO": {
+ "name": "Makao Xitoy MMH"
+ },
+ "MK": {
+ "name": "Makedoniya"
+ },
+ "MW": {
+ "name": "Malavi"
+ },
+ "MY": {
+ "name": "Malayziya"
+ },
+ "MV": {
+ "name": "Maldiv orollari"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "CF": {
+ "name": "Markaziy Afrika Respublikasi"
+ },
+ "MA": {
+ "name": "Marokash"
+ },
+ "MH": {
+ "name": "Marshal orollari"
+ },
+ "MQ": {
+ "name": "Martinika"
+ },
+ "MU": {
+ "name": "Mavrikiy"
+ },
+ "MR": {
+ "name": "Mavritaniya"
+ },
+ "YT": {
+ "name": "Mayotta"
+ },
+ "MX": {
+ "name": "Meksika"
+ },
+ "IM": {
+ "name": "Men oroli"
+ },
+ "FM": {
+ "name": "Mikroneziya"
+ },
+ "EG": {
+ "name": "Misr"
+ },
+ "MN": {
+ "name": "Mo‘g‘uliston"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambik"
+ },
+ "SH": {
+ "name": "Muqaddas Yelena orollari"
+ },
+ "MM": {
+ "name": "Myanma (Birma)"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NL": {
+ "name": "Niderlandiya"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeriya"
+ },
+ "NI": {
+ "name": "Nikaragua"
+ },
+ "NU": {
+ "name": "Niuye"
+ },
+ "NF": {
+ "name": "Norfolk orollari"
+ },
+ "NO": {
+ "name": "Norvegiya"
+ },
+ "UZ": {
+ "name": "Oʻzbekiston"
+ },
+ "OM": {
+ "name": "Omon"
+ },
+ "AZ": {
+ "name": "Ozarbayjon"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Yangi Gvineya"
+ },
+ "PY": {
+ "name": "Paragvay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkarin orollari"
+ },
+ "PK": {
+ "name": "Pokiston"
+ },
+ "PL": {
+ "name": "Polsha"
+ },
+ "PT": {
+ "name": "Portugaliya"
+ },
+ "PR": {
+ "name": "Puerto-Riko"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "KG": {
+ "name": "Qirgʻiziston"
+ },
+ "US": {
+ "name": "Qoʻshma Shtatlar"
+ },
+ "KZ": {
+ "name": "Qozogʻiston"
+ },
+ "KW": {
+ "name": "Quveyt"
+ },
+ "RE": {
+ "name": "Reyunon"
+ },
+ "CX": {
+ "name": "Rojdestvo oroli"
+ },
+ "RU": {
+ "name": "Rossiya"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Ruminiya"
+ },
+ "SV": {
+ "name": "Salvador"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San-Marino"
+ },
+ "ST": {
+ "name": "San-Tome va Prinsipi"
+ },
+ "SA": {
+ "name": "Saudiya Arabistoni"
+ },
+ "SJ": {
+ "name": "Savlbard va Jan Mayen"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "KN": {
+ "name": "Sent-Kits va Nevis"
+ },
+ "LC": {
+ "name": "Sent-Lyusiya"
+ },
+ "MF": {
+ "name": "Sent-Martin"
+ },
+ "PM": {
+ "name": "Sent-Pyer va Mikelon"
+ },
+ "VC": {
+ "name": "Sent-Vinsent va Grenadin"
+ },
+ "RS": {
+ "name": "Serbiya"
+ },
+ "SC": {
+ "name": "Seyshel orollari"
+ },
+ "EA": {
+ "name": "Seyta va Melilla"
+ },
+ "TL": {
+ "name": "Sharqiy-Timor"
+ },
+ "KP": {
+ "name": "Shimoliy Koreya"
+ },
+ "MP": {
+ "name": "Shimoliy Marianna orollari"
+ },
+ "LK": {
+ "name": "Shri-Lanka"
+ },
+ "SE": {
+ "name": "Shvetsiya"
+ },
+ "CH": {
+ "name": "Shveysariya"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Martin"
+ },
+ "SK": {
+ "name": "Slovakiya"
+ },
+ "SI": {
+ "name": "Sloveniya"
+ },
+ "SB": {
+ "name": "Solomon orollari"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Surinam"
+ },
+ "SY": {
+ "name": "Suriya"
+ },
+ "SZ": {
+ "name": "Svazilend"
+ },
+ "SL": {
+ "name": "Syerra-Leone"
+ },
+ "TZ": {
+ "name": "Tanzaniya"
+ },
+ "TH": {
+ "name": "Tayland"
+ },
+ "TW": {
+ "name": "Tayvan"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TJ": {
+ "name": "Tojikiston"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad va Tobago"
+ },
+ "TA": {
+ "name": "Tristan de Kuna"
+ },
+ "TN": {
+ "name": "Tunis"
+ },
+ "TR": {
+ "name": "Turkiya"
+ },
+ "TM": {
+ "name": "Turkmaniston"
+ },
+ "TC": {
+ "name": "Turks va Kaykos orollari"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "WF": {
+ "name": "Uellis va Futuna"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Urugvay"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venesuela"
+ },
+ "HU": {
+ "name": "Vengriya"
+ },
+ "AC": {
+ "name": "Vozneseniye oroli"
+ },
+ "VN": {
+ "name": "Vyetnam"
+ },
+ "CN": {
+ "name": "Xitoy"
+ },
+ "HR": {
+ "name": "Xorvatiya"
+ },
+ "YE": {
+ "name": "Yaman"
+ },
+ "JM": {
+ "name": "Yamayka"
+ },
+ "NC": {
+ "name": "Yangi Kaledoniya"
+ },
+ "NZ": {
+ "name": "Yangi Zelandiya"
+ },
+ "JP": {
+ "name": "Yaponiya"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "ZW": {
+ "name": "Zimbabve"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/vai-Latn.json b/library/intl/resources/country/vai-Latn.json
new file mode 100644
index 000000000..c03ea40b4
--- /dev/null
+++ b/library/intl/resources/country/vai-Latn.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "Abhaniya"
+ },
+ "AF": {
+ "name": "Afigándesitaŋ"
+ },
+ "ZA": {
+ "name": "Afirika Kɔi Leŋŋɛ Lɔ"
+ },
+ "CF": {
+ "name": "Ãfíríka Lumaã TÉ› Boloe"
+ },
+ "DZ": {
+ "name": "Agiriya"
+ },
+ "IS": {
+ "name": "Ãisi Lumaã"
+ },
+ "AR": {
+ "name": "Ajɛŋtína"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AM": {
+ "name": "Améniya"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AD": {
+ "name": "Aŋdóra"
+ },
+ "AI": {
+ "name": "Aŋgíla"
+ },
+ "AO": {
+ "name": "Aŋgóla"
+ },
+ "AG": {
+ "name": "AÅ‹tígwa Æahabhuda"
+ },
+ "IE": {
+ "name": "Ãre Lumaã"
+ },
+ "AW": {
+ "name": "Arubha"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "CD": {
+ "name": "Avorekoo"
+ },
+ "AZ": {
+ "name": "Azabhaijaŋ"
+ },
+ "BS": {
+ "name": "Bahámasi"
+ },
+ "BB": {
+ "name": "Bhabhedo"
+ },
+ "BD": {
+ "name": "Bhangiladɛ̀shi"
+ },
+ "IL": {
+ "name": "Bhanísiláila"
+ },
+ "BH": {
+ "name": "Bharɛŋ"
+ },
+ "BZ": {
+ "name": "Bheliz"
+ },
+ "BE": {
+ "name": "Bhɛgiyɔŋ"
+ },
+ "BY": {
+ "name": "Bhɛlarusi"
+ },
+ "BM": {
+ "name": "Bhɛmuda"
+ },
+ "BJ": {
+ "name": "Bhɛni"
+ },
+ "BF": {
+ "name": "Bhokina Fáso"
+ },
+ "BO": {
+ "name": "Bholiviya"
+ },
+ "BW": {
+ "name": "Bhosuwana"
+ },
+ "BG": {
+ "name": "Bhɔgeriya"
+ },
+ "BA": {
+ "name": "Bhɔsiniya"
+ },
+ "BR": {
+ "name": "Bhurazeli"
+ },
+ "BI": {
+ "name": "Bhurundi"
+ },
+ "BN": {
+ "name": "Bhurunɛĩ"
+ },
+ "BT": {
+ "name": "Bhutaŋ"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chádi"
+ },
+ "CN": {
+ "name": "Cháína"
+ },
+ "CL": {
+ "name": "Chéli"
+ },
+ "CZ": {
+ "name": "Chɛki Boloe"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Danimaha"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Domíiníka"
+ },
+ "DO": {
+ "name": "Domíiníka Æoloe"
+ },
+ "GQ": {
+ "name": "Dúúnyá Tɛ Giini"
+ },
+ "EC": {
+ "name": "ÆÌkúwédÉ”"
+ },
+ "SV": {
+ "name": "ÆlÉ› SávádÉ”"
+ },
+ "ER": {
+ "name": "Æritera"
+ },
+ "EE": {
+ "name": "Æsitóninya"
+ },
+ "FK": {
+ "name": "Fáháki Luma Tiŋŋɛ"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "PH": {
+ "name": "Félepiŋ"
+ },
+ "FR": {
+ "name": "Fɛŋsi"
+ },
+ "GF": {
+ "name": "Fɛŋsi Giwana"
+ },
+ "PF": {
+ "name": "Fɛŋsi Polinísiya"
+ },
+ "FJ": {
+ "name": "Fíji"
+ },
+ "FI": {
+ "name": "Fiŋlɛŋ"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gabhɔŋ"
+ },
+ "GM": {
+ "name": "Gambiya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "SL": {
+ "name": "Gbeya BahawÉ”"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini Bhisawo"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GD": {
+ "name": "Gurinéda"
+ },
+ "GP": {
+ "name": "Guwadelupe"
+ },
+ "GU": {
+ "name": "Guwami"
+ },
+ "GT": {
+ "name": "Guwatɛmala"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Háiti"
+ },
+ "GR": {
+ "name": "Hɛlɛŋ"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hɔndura"
+ },
+ "HU": {
+ "name": "HÉ”Ìngare"
+ },
+ "IN": {
+ "name": "Ãndiya"
+ },
+ "ID": {
+ "name": "Ãndonisiya"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IR": {
+ "name": "Iraŋ"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "Ãtali"
+ },
+ "ET": {
+ "name": "Ãtiyópiya"
+ },
+ "DE": {
+ "name": "Jamáĩ"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "GL": {
+ "name": "Jamba Kuwa Lumaã"
+ },
+ "JP": {
+ "name": "Japaŋ"
+ },
+ "VG": {
+ "name": "Jengéesi Bhɛɛ Lɔ Musu Tiŋŋɛ"
+ },
+ "IO": {
+ "name": "Jengéesi Gbawoe Ãndiya KÉ”iyÉ› LÉ”"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibhurata"
+ },
+ "DJ": {
+ "name": "Jibhuti"
+ },
+ "JO": {
+ "name": "Jɔɔdaŋ"
+ },
+ "GE": {
+ "name": "Jɔɔjiya"
+ },
+ "NC": {
+ "name": "Kalidoninya Námaá"
+ },
+ "CM": {
+ "name": "Kameruŋ"
+ },
+ "CA": {
+ "name": "Kánáda"
+ },
+ "KH": {
+ "name": "Kaŋbhodiya"
+ },
+ "QA": {
+ "name": "Kataha"
+ },
+ "KZ": {
+ "name": "Kazasitaŋ"
+ },
+ "KY": {
+ "name": "Keemaŋ Tiŋŋɛ"
+ },
+ "KE": {
+ "name": "Kénya"
+ },
+ "CV": {
+ "name": "Kepi Vɛdi Tiŋŋɛ"
+ },
+ "KG": {
+ "name": "Kigisitaŋ"
+ },
+ "KI": {
+ "name": "Kiribhati"
+ },
+ "CU": {
+ "name": "Kiyubha"
+ },
+ "CI": {
+ "name": "Kódivówa"
+ },
+ "CK": {
+ "name": "Kóki Tiŋŋɛ"
+ },
+ "KM": {
+ "name": "Komorosi"
+ },
+ "CG": {
+ "name": "Kóngo"
+ },
+ "HR": {
+ "name": "Koresiya"
+ },
+ "KP": {
+ "name": "Koriya Kɔi Kaŋndɔ"
+ },
+ "KR": {
+ "name": "Koriya Kɔi Leŋŋɛ Lɔ"
+ },
+ "CR": {
+ "name": "Kósíta Ríko"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MP": {
+ "name": "Kɔi Kaŋndɔ Mariyana Tiŋŋɛ"
+ },
+ "CO": {
+ "name": "Kɔlɔmbiya"
+ },
+ "KW": {
+ "name": "Kuweti"
+ },
+ "SA": {
+ "name": "Lahabu"
+ },
+ "LR": {
+ "name": "Laibhiya"
+ },
+ "LV": {
+ "name": "Lativiya"
+ },
+ "LA": {
+ "name": "Lawosi"
+ },
+ "LB": {
+ "name": "LebhanÉ”"
+ },
+ "LY": {
+ "name": "Lebhiya"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LS": {
+ "name": "Lisóto"
+ },
+ "LT": {
+ "name": "Lituweninya"
+ },
+ "LU": {
+ "name": "LusimbÉ”"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasita"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesiya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MV": {
+ "name": "Malidavi"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MK": {
+ "name": "Masedoninya"
+ },
+ "MH": {
+ "name": "Masha Tiŋŋɛ"
+ },
+ "MQ": {
+ "name": "Matiniki"
+ },
+ "YT": {
+ "name": "Mavote"
+ },
+ "MX": {
+ "name": "Mɛsíko"
+ },
+ "FM": {
+ "name": "Mikonisiya"
+ },
+ "EG": {
+ "name": "Míséla"
+ },
+ "MM": {
+ "name": "Miyamaha"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "Mozambiki"
+ },
+ "MD": {
+ "name": "Mɔlidova"
+ },
+ "MC": {
+ "name": "Mɔnako"
+ },
+ "MN": {
+ "name": "Mɔngoliya"
+ },
+ "MU": {
+ "name": "Mɔreshɔ"
+ },
+ "MR": {
+ "name": "Mɔretaninya"
+ },
+ "MA": {
+ "name": "Mɔroko"
+ },
+ "MS": {
+ "name": "Mɔserati"
+ },
+ "NE": {
+ "name": "Naĩja"
+ },
+ "NG": {
+ "name": "Naĩjiriya"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NP": {
+ "name": "Nepa"
+ },
+ "NL": {
+ "name": "Nidɔlɛŋ"
+ },
+ "NI": {
+ "name": "Nikaraguwa"
+ },
+ "NU": {
+ "name": "Niwe"
+ },
+ "NR": {
+ "name": "Noru"
+ },
+ "NF": {
+ "name": "Nɔfɔ Tiŋŋɛ"
+ },
+ "NO": {
+ "name": "Nɔɔwe"
+ },
+ "OM": {
+ "name": "Omaŋ"
+ },
+ "AT": {
+ "name": "ƆÌsituwa"
+ },
+ "AU": {
+ "name": "Ɔsituwéeliya"
+ },
+ "PK": {
+ "name": "Pakisitaŋ"
+ },
+ "PS": {
+ "name": "Palesitininya Tele Jii Kɔiyɛ lá hĩ Gaza"
+ },
+ "PW": {
+ "name": "Palo"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "ES": {
+ "name": "Panyɛĩ"
+ },
+ "PG": {
+ "name": "Papuwa Gini Námaá"
+ },
+ "PY": {
+ "name": "Paragɔe"
+ },
+ "PE": {
+ "name": "Pɛru"
+ },
+ "PN": {
+ "name": "Pitikɛŋ"
+ },
+ "PR": {
+ "name": "Piyuto Riko"
+ },
+ "PL": {
+ "name": "Pólɛŋ"
+ },
+ "US": {
+ "name": "Poo"
+ },
+ "VI": {
+ "name": "Poo Bhɛɛ lɔ Musu Tiŋŋɛ"
+ },
+ "AS": {
+ "name": "Poo Sambowa"
+ },
+ "PT": {
+ "name": "Potokíi"
+ },
+ "RW": {
+ "name": "Rawunda"
+ },
+ "RE": {
+ "name": "Renyɔɔ̃"
+ },
+ "RO": {
+ "name": "Romininya"
+ },
+ "RU": {
+ "name": "Rɔshiya"
+ },
+ "CY": {
+ "name": "Saɛpurɔ"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "SM": {
+ "name": "Saŋ Marindo"
+ },
+ "ST": {
+ "name": "Sawo Tombe É“É› a Gbawoe"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seshɛɛ"
+ },
+ "SG": {
+ "name": "Síingapoo"
+ },
+ "SN": {
+ "name": "Sinigaha"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SH": {
+ "name": "Siŋ Hɛlina"
+ },
+ "KN": {
+ "name": "SiÅ‹ Kisi É“É›Ì Nevisi"
+ },
+ "LC": {
+ "name": "Siŋ Lusiya"
+ },
+ "PM": {
+ "name": "SiÅ‹ PiiyÉ› É“É›Ì Mikelɔŋ"
+ },
+ "VC": {
+ "name": "Siŋ Viŋsi"
+ },
+ "SY": {
+ "name": "Síyaŋ"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudɛŋ"
+ },
+ "SB": {
+ "name": "Sulaimaãna Tiŋŋɛ"
+ },
+ "SK": {
+ "name": "Sulovakiya"
+ },
+ "SI": {
+ "name": "Suloveninya"
+ },
+ "LK": {
+ "name": "Suri Laŋka"
+ },
+ "SR": {
+ "name": "Surinambe"
+ },
+ "SZ": {
+ "name": "Suwazi Lumaã"
+ },
+ "CH": {
+ "name": "Suweza Lumaã"
+ },
+ "SE": {
+ "name": "Suwidɛŋ"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tai Lumaã"
+ },
+ "TW": {
+ "name": "Taiwaŋ"
+ },
+ "TJ": {
+ "name": "Tajikisitaŋ"
+ },
+ "TZ": {
+ "name": "Taŋzaninya"
+ },
+ "TL": {
+ "name": "Tele ÆÉ”Ì Timɔɔ̃"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelo"
+ },
+ "TO": {
+ "name": "Tɔnga"
+ },
+ "TR": {
+ "name": "TÉ”ÌÉ”Ìki"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TM": {
+ "name": "Tukimɛnisitaŋ"
+ },
+ "TC": {
+ "name": "Tukisi ɓɛ̀ Kaikóosi Tiŋŋɛ"
+ },
+ "TN": {
+ "name": "Tunisiya"
+ },
+ "TT": {
+ "name": "Turindeda É“É›Ì Tobhego"
+ },
+ "TV": {
+ "name": "Tuválu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VU": {
+ "name": "Vanuwátu"
+ },
+ "VA": {
+ "name": "VatikaÅ‹ Æoloe"
+ },
+ "VE": {
+ "name": "Vɛnɛzuwela"
+ },
+ "VN": {
+ "name": "Viyanami"
+ },
+ "WF": {
+ "name": "Walísi"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemɛni"
+ },
+ "UZ": {
+ "name": "Yubhɛkisitaŋ"
+ },
+ "UG": {
+ "name": "Yuganda"
+ },
+ "UA": {
+ "name": "Yukuréŋ"
+ },
+ "AE": {
+ "name": "YunaitÉ› Arabhi Æmire"
+ },
+ "GB": {
+ "name": "Yunaitɛ Kíŋdɔŋ"
+ },
+ "UY": {
+ "name": "Yuwegɔwe"
+ },
+ "ZM": {
+ "name": "Zambiya"
+ },
+ "NZ": {
+ "name": "Zilɛŋ Námaá"
+ },
+ "ZW": {
+ "name": "Zimbabhuwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/vai.json b/library/intl/resources/country/vai.json
new file mode 100644
index 000000000..108a35283
--- /dev/null
+++ b/library/intl/resources/country/vai.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VA": {
+ "name": "Vatican City"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "ER": {
+ "name": "ꔀꔸꔳꕟ"
+ },
+ "BZ": {
+ "name": "ꔆꔷꔘ"
+ },
+ "SL": {
+ "name": "ꔋꕩ ꕒꕌꖺ ꕸꖃꔀ"
+ },
+ "TL": {
+ "name": "ꔎꔒ ꗃ ꔳꗞꖻ"
+ },
+ "LY": {
+ "name": "ꔒꔫꕩ"
+ },
+ "LB": {
+ "name": "ꔒꕑꗟꘋ"
+ },
+ "RE": {
+ "name": "ꔓꗠꖻ"
+ },
+ "SC": {
+ "name": "ꔖꗼꔷ"
+ },
+ "CL": {
+ "name": "ꔚꔷ"
+ },
+ "IO": {
+ "name": "ꔛꔟꔻ ꔤꔺꕩ ꗛꔤꘂ ꕗꕴꔀ ꕮ"
+ },
+ "VG": {
+ "name": "ꔛꔟꔻ ê—©ê—¡ ê— ê–·ê–¬ ꔳꘋꗣ"
+ },
+ "JP": {
+ "name": "ꔛꗨꗢ"
+ },
+ "YE": {
+ "name": "ê”ꘈꘋ"
+ },
+ "KY": {
+ "name": "ꔞꔀꕮꘋ ꔳꘋꗣ"
+ },
+ "CV": {
+ "name": "ꔞꔪ ꗲꔵ ꔳꘋꗣ"
+ },
+ "KE": {
+ "name": "ꔞꕰ"
+ },
+ "ET": {
+ "name": "ꔤꔳꖎꔪꕩ"
+ },
+ "IN": {
+ "name": "ꔤꔺꕩ"
+ },
+ "IT": {
+ "name": "ꔤꕚꔷ"
+ },
+ "IQ": {
+ "name": "ꔤꕟꕃ"
+ },
+ "IR": {
+ "name": "ꔤꕟꘋ"
+ },
+ "ID": {
+ "name": "ꔤꖆꕇꔻꕩ"
+ },
+ "PN": {
+ "name": "ꔪꔳꕪꕆ"
+ },
+ "PR": {
+ "name": "ꔪꖳꕿ ꔸê–"
+ },
+ "PH": {
+ "name": "ꔱꔒꔪꘋ"
+ },
+ "FJ": {
+ "name": "ꔱꔤꕀ"
+ },
+ "FI": {
+ "name": "ꔱꘋ ꖨꕮꕊ"
+ },
+ "LS": {
+ "name": "ꔷꖇꕿ"
+ },
+ "LT": {
+ "name": "ꔷꖤꔃꕇꕰ"
+ },
+ "LI": {
+ "name": "ꔷꗿꘋꔻꗳꘋ"
+ },
+ "SN": {
+ "name": "ꔻꕇꕭꕌ"
+ },
+ "SY": {
+ "name": "ꔻꕩꘋ"
+ },
+ "SG": {
+ "name": "ꔻꕬꕶꕱ"
+ },
+ "SI": {
+ "name": "ꔻꖃê”ꕇꕰ"
+ },
+ "SK": {
+ "name": "ꔻꖃꕙꕃꕩ"
+ },
+ "PM": {
+ "name": "ꔻꘋ ꔪꘂ ê—ª ꕆꔞê—ꘋ"
+ },
+ "VC": {
+ "name": "ꔻꘋ ꔲꘋꔻꘋ ꗪ ꖶꔓꕯꔵꘋ ꖸ"
+ },
+ "KN": {
+ "name": "ꔻꘋ ꕃꔳꔻ ꗪ ꔕꔲꔻ"
+ },
+ "LC": {
+ "name": "ꔻꘋ ꖨꔻꕩ"
+ },
+ "SH": {
+ "name": "ꔻꘋ ꗥꔷꕯ"
+ },
+ "NZ": {
+ "name": "ꔽꔤ ꖨꕮ ꕯꕮꕊ"
+ },
+ "ZW": {
+ "name": "ꔽꕓꖜꔃ"
+ },
+ "DJ": {
+ "name": "ꕀꖜꔳ"
+ },
+ "GI": {
+ "name": "ꕀꖜꕟꕚ"
+ },
+ "KI": {
+ "name": "ꕃꔸꕑꔳ"
+ },
+ "KG": {
+ "name": "ꕃꕅꔻꕚꘋ"
+ },
+ "CU": {
+ "name": "ꕃꖳꕑ"
+ },
+ "GN": {
+ "name": "ꕅꔤꕇ"
+ },
+ "GW": {
+ "name": "ꕅꔤꕇ ꔫꕢꕴ"
+ },
+ "EG": {
+ "name": "ꕆꔖꕞ"
+ },
+ "MM": {
+ "name": "ꕆꕩꘋꕮ"
+ },
+ "FM": {
+ "name": "ꕆê–ꕇꔻꕩ"
+ },
+ "NP": {
+ "name": "ꕇê•ê”·"
+ },
+ "NI": {
+ "name": "ꕇꕪꕟꖶꕎ"
+ },
+ "IE": {
+ "name": "ꕉꔓ ꖨꕮꕊ"
+ },
+ "IS": {
+ "name": "ꕉꔤꔻ ꖨꕮꕊ"
+ },
+ "ZA": {
+ "name": "ꕉꔱꔸꕪ ꗛꔤ ꔒꘋꗣ ê— ê•¸ê–ƒê”€"
+ },
+ "CF": {
+ "name": "ꕉꔱꔸꕪ ꗳ ꗳ ꕸꖃꔀ"
+ },
+ "AF": {
+ "name": "ꕉꔱꕭꔕꔻꕚꘋ"
+ },
+ "DZ": {
+ "name": "ꕉꔷꔠꔸꕩ"
+ },
+ "AL": {
+ "name": "ꕉꔷꕑꕇꕩ"
+ },
+ "AI": {
+ "name": "ꕉꕄꕞ"
+ },
+ "AM": {
+ "name": "ꕉꕆꕯ"
+ },
+ "AZ": {
+ "name": "ꕉꕤꕑꔤꕧꘋ"
+ },
+ "AD": {
+ "name": "ꕉꖆꕟ"
+ },
+ "AO": {
+ "name": "ꕉê–ê•ž"
+ },
+ "AW": {
+ "name": "ꕉꖩꕑ"
+ },
+ "AR": {
+ "name": "ꕉꘀꘋꔳꕯ"
+ },
+ "AG": {
+ "name": "ꕉꘋꔳꖶꕎ ꗪ ꕑꖜꕜ"
+ },
+ "HT": {
+ "name": "ꕌꔤꔳ"
+ },
+ "WF": {
+ "name": "ꕎꔷꔻ ꗪ ꖢꖤꕯ"
+ },
+ "PS": {
+ "name": "ê•ê”’ꔻꔳꕯ ꔎꔒ ꕀꔤ ꗛꔤ ê•ž ê—± ê—ª ꕭꕌꕤ"
+ },
+ "PK": {
+ "name": "ê•ê•ƒê”»ê•šê˜‹"
+ },
+ "PY": {
+ "name": "ê•ê•Ÿê—ꔀ"
+ },
+ "PA": {
+ "name": "ê•ê•¯ê•®"
+ },
+ "PW": {
+ "name": "ê•ê–ƒ"
+ },
+ "PG": {
+ "name": "ê•ê–›ê•Ž ꕅꔤꕇ ꕯꕮꕊ"
+ },
+ "ES": {
+ "name": "ê•ê˜Šê”§"
+ },
+ "BB": {
+ "name": "ꕑꔆê–ê”»"
+ },
+ "BD": {
+ "name": "ꕑꕅꕞꗵꔼ"
+ },
+ "IL": {
+ "name": "ꕑꕇꔻꕞꔤꕞ"
+ },
+ "BS": {
+ "name": "ꕑꕌꕮꔻ"
+ },
+ "BH": {
+ "name": "ꕑꗸꘋ"
+ },
+ "FK": {
+ "name": "ꕘꔷꕃ ꖨꕮ ꔳꘋꗣ"
+ },
+ "VE": {
+ "name": "ꕙꔳꕪꘋ ꕸꖃꔀ"
+ },
+ "VU": {
+ "name": "ꕙꖸꕎꖤ"
+ },
+ "TH": {
+ "name": "ꕚꔤ ꖨꕮꕊ"
+ },
+ "TW": {
+ "name": "ꕚꔤꕎꘋ"
+ },
+ "TJ": {
+ "name": "ꕚꕀꕃꔻꕚꘋ"
+ },
+ "TV": {
+ "name": "ꕚꖣꖨ"
+ },
+ "TZ": {
+ "name": "ꕚꘋꕤꕇꕰ"
+ },
+ "DK": {
+ "name": "ꕜꕇꕮꕃ"
+ },
+ "LR": {
+ "name": "ꕞꔤꔫꕩ"
+ },
+ "LV": {
+ "name": "ꕞꔳꔲꕩ"
+ },
+ "SA": {
+ "name": "ê•žê•Œê– ê•¸ê–ƒê”€"
+ },
+ "LA": {
+ "name": "ê•žê•´ê”»"
+ },
+ "RW": {
+ "name": "ꕟꖙꕡ"
+ },
+ "ST": {
+ "name": "ꕢꕴ ꕿꔈ ꗪ ꕉ ꕮꔧ ꕗꕴꔀ"
+ },
+ "WS": {
+ "name": "ꕢꕹꖙꕉ"
+ },
+ "CY": {
+ "name": "ꕢꗡꖛê—ê”»"
+ },
+ "ZM": {
+ "name": "ꕤꔭꕩ"
+ },
+ "CN": {
+ "name": "ꕦꔤꕯ"
+ },
+ "TD": {
+ "name": "ꕦꔵ"
+ },
+ "GL": {
+ "name": "ꕧꕓ ꖴꕎ ꖨꕮꕊ"
+ },
+ "DE": {
+ "name": "ꕧꕮꔧ"
+ },
+ "JM": {
+ "name": "ꕧꕮꔧꕪ"
+ },
+ "CM": {
+ "name": "ꕪꔈꖩꘋ"
+ },
+ "NC": {
+ "name": "ꕪꔷê–ꕇꕰ ꕯꕮꕊ"
+ },
+ "QA": {
+ "name": "ꕪꕚꕌ"
+ },
+ "KZ": {
+ "name": "ꕪꕤꔻꕚꘋ"
+ },
+ "CA": {
+ "name": "ꕪꕯꕜ"
+ },
+ "KH": {
+ "name": "ꕪꕹꔵꕩ"
+ },
+ "GM": {
+ "name": "ê•­ê”­ê•©"
+ },
+ "GH": {
+ "name": "ꕭꕌꕯ"
+ },
+ "GA": {
+ "name": "ꕭꕷꘋ"
+ },
+ "MY": {
+ "name": "ꕮꔒꔻꕩ"
+ },
+ "MK": {
+ "name": "ꕮꔖê–ꕇꕰ"
+ },
+ "MQ": {
+ "name": "ꕮꔳꕇꕃ"
+ },
+ "ML": {
+ "name": "ꕮꔷ"
+ },
+ "MV": {
+ "name": "ꕮꔷꕜê”"
+ },
+ "SM": {
+ "name": "ꕮꔸꖆ ꕢꘋ"
+ },
+ "MT": {
+ "name": "ꕮꕊꕚ"
+ },
+ "MH": {
+ "name": "ꕮꕊꕣ ꔳꘋꗣ"
+ },
+ "MG": {
+ "name": "ꕮꕜꕭꔻꕪ"
+ },
+ "MW": {
+ "name": "ꕮꕞꕌꔨ"
+ },
+ "YT": {
+ "name": "ꕮꗚꔎ"
+ },
+ "NG": {
+ "name": "ꕯꔤꕀꔸꕩ"
+ },
+ "NE": {
+ "name": "ꕯꔤꕧ"
+ },
+ "NA": {
+ "name": "ꕯꕆꔫꕩ"
+ },
+ "OM": {
+ "name": "ꕱꕮꘋ"
+ },
+ "US": {
+ "name": "ꕶꕱ"
+ },
+ "AS": {
+ "name": "ꕶꕱ ꕢꕹꕎ"
+ },
+ "VI": {
+ "name": "ꕶꕱ ê—©ê—¡ ê— ê–·ê–¬ ꔳꘋꗣ"
+ },
+ "PT": {
+ "name": "ꕶꕿꕃꔤ ꕸꖃꔀ"
+ },
+ "PL": {
+ "name": "ꕶꗷꘋ"
+ },
+ "BO": {
+ "name": "ꕷꔷꔲꕩ"
+ },
+ "BA": {
+ "name": "ꕷꔻꕇꕰ ꗪ ꗥꕤꖑꔲꕯ"
+ },
+ "BF": {
+ "name": "ꕷꕃꕯ ꕘꖇ"
+ },
+ "BW": {
+ "name": "ꕷꖬꕎꕯ"
+ },
+ "MZ": {
+ "name": "ꕹꕤꔭꕃ"
+ },
+ "TK": {
+ "name": "ꕿꔞꖃ"
+ },
+ "TG": {
+ "name": "ê•¿ê–‘"
+ },
+ "DM": {
+ "name": "ê–ꕆꕇꕪ"
+ },
+ "DO": {
+ "name": "ê–ꕆꕇꕪꘋ ꕸꕱꔀ"
+ },
+ "RO": {
+ "name": "ꖄꕆꕇꕰ"
+ },
+ "NR": {
+ "name": "ꖆꖩ"
+ },
+ "SO": {
+ "name": "ꖇꕮꔷꕩ"
+ },
+ "HR": {
+ "name": "ê–ꔓꔻꕩ"
+ },
+ "CI": {
+ "name": "ê–ꔳ ꕾꕎ"
+ },
+ "KR": {
+ "name": "ê–ꔸꕩ ꗛꔤ ꔒꘋꗣ ê—"
+ },
+ "KP": {
+ "name": "ê–ꔸꕩ ꗛꔤ ꕪꘋꗒ"
+ },
+ "CR": {
+ "name": "ê–ꔻꕚ ꔸꕪ"
+ },
+ "CK": {
+ "name": "ê–ꕃ ꔳꘋꗣ"
+ },
+ "KM": {
+ "name": "ê–ꕹꖄꔻ"
+ },
+ "CG": {
+ "name": "ê–ê–"
+ },
+ "CD": {
+ "name": "ê–ê– ê—µê—žê–´ê•Ÿê”Ž ꕸꖃꔀ"
+ },
+ "MD": {
+ "name": "ê–’ê”·ê–ê•™"
+ },
+ "GB": {
+ "name": "ꖕꕯꔤꗳ"
+ },
+ "BT": {
+ "name": "ꖜꕚꘋ"
+ },
+ "BR": {
+ "name": "ꖜꕟꔘꔀ"
+ },
+ "BI": {
+ "name": "ꖜꖩꔺ"
+ },
+ "BN": {
+ "name": "ꖜꖩꘉꔧ"
+ },
+ "FR": {
+ "name": "ꖢꕟꘋꔻ"
+ },
+ "TT": {
+ "name": "ꖤꔸꔕꕜ ꗪ ꕿꔆꖑ"
+ },
+ "TN": {
+ "name": "ꖤꕇꔻꕩ"
+ },
+ "GQ": {
+ "name": "ꖦꕰꕊ ꗳ ꕅꔤꕇ"
+ },
+ "CH": {
+ "name": "ꖬꔃꕤ ꖨꕮꕊ"
+ },
+ "SE": {
+ "name": "ꖬꔨꗵꘋ"
+ },
+ "LK": {
+ "name": "ꖬꔸ ꕞꘋꕪ"
+ },
+ "SR": {
+ "name": "ꖬꔸꕯꔈ"
+ },
+ "SZ": {
+ "name": "ꖬꕎꔽ ꖨꕮꕊ"
+ },
+ "SB": {
+ "name": "ꖬꕞꔤꕮꕊꕯ ꔳꘋꗣ"
+ },
+ "SD": {
+ "name": "ꖬꗵꘋ"
+ },
+ "UY": {
+ "name": "ꖳꔓê—ꔀ"
+ },
+ "UG": {
+ "name": "ꖳꕭꕡ"
+ },
+ "AE": {
+ "name": "ꖳꕯꔤꗳ ꕉꕟꔬ ꗡꕆꔓꔻ"
+ },
+ "UA": {
+ "name": "ꖳꖴꔓꘋ"
+ },
+ "UZ": {
+ "name": "ꖳꗩꕃꔻꕚꘋ"
+ },
+ "KW": {
+ "name": "ꖴꔃꔳ"
+ },
+ "GT": {
+ "name": "ꖶꕎꔎꕮꕞ"
+ },
+ "GP": {
+ "name": "ꖶꕎê”ꖨꔅ"
+ },
+ "GU": {
+ "name": "ꖶꕎꕆ"
+ },
+ "GD": {
+ "name": "ꖶꕟꕯꕜ"
+ },
+ "GY": {
+ "name": "ꖶꕩꕯ"
+ },
+ "NU": {
+ "name": "ꖸꔃꔤ"
+ },
+ "AT": {
+ "name": "ꖺꔻꖤꕎ"
+ },
+ "AU": {
+ "name": "ꖺꖬꖤꔃꔷꕩ"
+ },
+ "HN": {
+ "name": "ꖽꖫꕟ"
+ },
+ "HU": {
+ "name": "ꖽꘋꕭꔓ"
+ },
+ "BG": {
+ "name": "ꗂꔠꔸꕩ"
+ },
+ "TO": {
+ "name": "ꗋꕬ"
+ },
+ "TR": {
+ "name": "ꗋꖺꕃ"
+ },
+ "TC": {
+ "name": "ꗋꖺꕃꔻ ê—ª ꕪꔤê–ê”» ꔳꘋꗣ"
+ },
+ "TM": {
+ "name": "ꗋꖺꕃꕮꕇꔻꕚꘋ"
+ },
+ "LU": {
+ "name": "ê—ꔻꘋꗂꖺ"
+ },
+ "RU": {
+ "name": "ê—ꖺꔻꕩ"
+ },
+ "GE": {
+ "name": "ꗘꖺꕀꕩ"
+ },
+ "JO": {
+ "name": "ꗘꖺꗵꘋ"
+ },
+ "MP": {
+ "name": "ꗛꔤ ꕪꘋꗒ ꕮꔸꕩꕯ ꔳꘋꗣ"
+ },
+ "CO": {
+ "name": "ê—›ê—ê”­ê•©"
+ },
+ "MR": {
+ "name": "ꗞꔓꔎꕇꕰ"
+ },
+ "MU": {
+ "name": "ꗞꔓꗔ"
+ },
+ "MA": {
+ "name": "ê—žê•Ÿê–"
+ },
+ "MC": {
+ "name": "ꗞꕯê–"
+ },
+ "MN": {
+ "name": "ê—žê–ê”·ê•©"
+ },
+ "MS": {
+ "name": "ꗞꘋꔖꕟꔳ"
+ },
+ "NO": {
+ "name": "ꗟꖺꔃ"
+ },
+ "NF": {
+ "name": "ꗟꖺꗉ ꔳꘋꗣ"
+ },
+ "EE": {
+ "name": "ꗡꔻꕿꕇꕰ"
+ },
+ "EC": {
+ "name": "ꗡꖴꔃê—"
+ },
+ "SV": {
+ "name": "ê—¡ê—· ê•¢ê”ê—ê–º"
+ },
+ "GR": {
+ "name": "ꗥꗷꘋ"
+ },
+ "PE": {
+ "name": "ꗨꗡꖩ"
+ },
+ "BE": {
+ "name": "ꗩꕀꗚꘋ"
+ },
+ "BJ": {
+ "name": "ꗩꕇꘋ"
+ },
+ "BY": {
+ "name": "ê—©ê•žê–©ê”»"
+ },
+ "BM": {
+ "name": "ꗩꖷꕜ"
+ },
+ "PF": {
+ "name": "ꗱꘋꔻ ꕶꔷꕇꔻꕩ"
+ },
+ "GF": {
+ "name": "ꗱꘋꔻ ꖶꕎꕯ"
+ },
+ "VN": {
+ "name": "ꗲꕇꖮꔃꕞ"
+ },
+ "CZ": {
+ "name": "ꗿꕃ ꕸꖃꔀ"
+ },
+ "MX": {
+ "name": "ꘈꔻê–"
+ },
+ "NL": {
+ "name": "ꘉꕜ ꖨꕮꕊ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/vi.json b/library/intl/resources/country/vi.json
new file mode 100644
index 000000000..985ab0e48
--- /dev/null
+++ b/library/intl/resources/country/vi.json
@@ -0,0 +1,761 @@
+{
+ "SA": {
+ "name": "Ả Rập Xê-út"
+ },
+ "AF": {
+ "name": "Afghanistan"
+ },
+ "EG": {
+ "name": "Ai Cập"
+ },
+ "IE": {
+ "name": "Ai-len"
+ },
+ "AL": {
+ "name": "Albani"
+ },
+ "DZ": {
+ "name": "Algeria"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AG": {
+ "name": "Antigua và Barbuda"
+ },
+ "AT": {
+ "name": "Ão"
+ },
+ "AR": {
+ "name": "Argentina"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AZ": {
+ "name": "Azerbaijan"
+ },
+ "IN": {
+ "name": "Ấn Äá»™"
+ },
+ "PL": {
+ "name": "Ba Lan"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BH": {
+ "name": "Bahrain"
+ },
+ "BD": {
+ "name": "Bangladesh"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BY": {
+ "name": "Belarus"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BE": {
+ "name": "Bỉ"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia và Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "PT": {
+ "name": "Bồ Äào Nha"
+ },
+ "CI": {
+ "name": "BỠBiển Ngà"
+ },
+ "BR": {
+ "name": "Brazil"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bungari"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BQ": {
+ "name": "Ca-ri-bê Hà Lan"
+ },
+ "UM": {
+ "name": "Các đảo nhỠxa t.tâm thuộc Mỹ"
+ },
+ "AE": {
+ "name": "Các Tiểu V.quốc Ả Rập T.nhất"
+ },
+ "CM": {
+ "name": "Cameroon"
+ },
+ "KH": {
+ "name": "Campuchia"
+ },
+ "CA": {
+ "name": "Canada"
+ },
+ "CV": {
+ "name": "Cape Verde"
+ },
+ "EA": {
+ "name": "Ceuta và Melilla"
+ },
+ "TD": {
+ "name": "Chad"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CO": {
+ "name": "Colombia"
+ },
+ "KM": {
+ "name": "Comoros"
+ },
+ "CG": {
+ "name": "Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "Congo - Kinshasa"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "KW": {
+ "name": "Cô-oét"
+ },
+ "DO": {
+ "name": "Cộng hòa Dominica"
+ },
+ "CZ": {
+ "name": "Cộng hòa Séc"
+ },
+ "CF": {
+ "name": "Cộng hòa Trung Phi"
+ },
+ "HR": {
+ "name": "Croatia"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DJ": {
+ "name": "Djibouti"
+ },
+ "DM": {
+ "name": "Dominica"
+ },
+ "TW": {
+ "name": "Äài Loan"
+ },
+ "DK": {
+ "name": "Äan Mạch"
+ },
+ "AC": {
+ "name": "Äảo Ascension"
+ },
+ "CX": {
+ "name": "Äảo Giáng Sinh"
+ },
+ "IM": {
+ "name": "Äảo Man"
+ },
+ "NF": {
+ "name": "Äảo Norfolk"
+ },
+ "AS": {
+ "name": "Äảo Somoa thuá»™c Mỹ"
+ },
+ "HK": {
+ "name": "Äặc khu hành chính Hồng Kông - Trung Quốc"
+ },
+ "MO": {
+ "name": "Äặc khu hành chính Macao - Trung Quốc"
+ },
+ "TL": {
+ "name": "Äông Timor"
+ },
+ "DE": {
+ "name": "Äức"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "ET": {
+ "name": "Ethiopia"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GE": {
+ "name": "Georgia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GL": {
+ "name": "Greenland"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GF": {
+ "name": "Guiana thuộc Pháp"
+ },
+ "GN": {
+ "name": "Guinea"
+ },
+ "GQ": {
+ "name": "Guinea Xích Äạo"
+ },
+ "GW": {
+ "name": "Guinea-Bissau"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "NL": {
+ "name": "Hà Lan"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "KR": {
+ "name": "Hàn Quốc"
+ },
+ "US": {
+ "name": "Hoa Kỳ"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "HU": {
+ "name": "Hungari"
+ },
+ "GR": {
+ "name": "Hy Lạp"
+ },
+ "IQ": {
+ "name": "I-rắc"
+ },
+ "IS": {
+ "name": "Iceland"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "JM": {
+ "name": "Jamaica"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordan"
+ },
+ "KZ": {
+ "name": "Kazakhstan"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "KG": {
+ "name": "Kyrgyzstan"
+ },
+ "TF": {
+ "name": "Lãnh thổ miá»n nam nÆ°á»›c Pháp"
+ },
+ "PS": {
+ "name": "Lãnh thổ Palestine"
+ },
+ "LA": {
+ "name": "Lào"
+ },
+ "LV": {
+ "name": "Latvia"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LB": {
+ "name": "Li-băng"
+ },
+ "LY": {
+ "name": "Li-bi"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "Liechtenstein"
+ },
+ "LT": {
+ "name": "Lít-va"
+ },
+ "LU": {
+ "name": "Luxembourg"
+ },
+ "MA": {
+ "name": "Ma-rốc"
+ },
+ "MK": {
+ "name": "Macedonia"
+ },
+ "MG": {
+ "name": "Madagascar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Maldives"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauritania"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mexico"
+ },
+ "FM": {
+ "name": "Micronesia"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monaco"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrat"
+ },
+ "MZ": {
+ "name": "Mozambique"
+ },
+ "MN": {
+ "name": "Mông Cổ"
+ },
+ "MM": {
+ "name": "Myanmar (Miến Äiện)"
+ },
+ "NO": {
+ "name": "Na Uy"
+ },
+ "AQ": {
+ "name": "Nam Cá»±c"
+ },
+ "ZA": {
+ "name": "Nam Phi"
+ },
+ "SS": {
+ "name": "Nam Sudan"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NC": {
+ "name": "New Caledonia"
+ },
+ "NZ": {
+ "name": "New Zealand"
+ },
+ "RU": {
+ "name": "Nga"
+ },
+ "JP": {
+ "name": "Nhật Bản"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "PK": {
+ "name": "Pakistan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua New Guinea"
+ },
+ "PY": {
+ "name": "Paraguay"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "FR": {
+ "name": "Pháp"
+ },
+ "FI": {
+ "name": "Phần Lan"
+ },
+ "PH": {
+ "name": "Philippin"
+ },
+ "PF": {
+ "name": "Polynesia thuộc Pháp"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "QA": {
+ "name": "Qatar"
+ },
+ "AX": {
+ "name": "Quần đảo Åland"
+ },
+ "MP": {
+ "name": "Quần đảo Bắc Mariana"
+ },
+ "IC": {
+ "name": "Quần đảo Canary"
+ },
+ "KY": {
+ "name": "Quần đảo Cayman"
+ },
+ "CC": {
+ "name": "Quần đảo Cocos (Keeling)"
+ },
+ "CK": {
+ "name": "Quần đảo Cook"
+ },
+ "FK": {
+ "name": "Quần đảo Falkland"
+ },
+ "FO": {
+ "name": "Quần đảo Faroe"
+ },
+ "MH": {
+ "name": "Quần đảo Marshall"
+ },
+ "GS": {
+ "name": "Quần đảo Nam Georgia và Nam Sandwich"
+ },
+ "PN": {
+ "name": "Quần đảo Pitcairn"
+ },
+ "SB": {
+ "name": "Quần đảo Solomon"
+ },
+ "TC": {
+ "name": "Quần đảo Turk và Caicos"
+ },
+ "VG": {
+ "name": "Quần đảo Virgin thuộc Anh"
+ },
+ "VI": {
+ "name": "Quần đảo Virgin thuộc Mỹ"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "BL": {
+ "name": "Saint Barthélemy"
+ },
+ "SH": {
+ "name": "Saint Helena"
+ },
+ "KN": {
+ "name": "Saint Kitts và Nevis"
+ },
+ "LC": {
+ "name": "Saint Lucia"
+ },
+ "MF": {
+ "name": "Saint Martin"
+ },
+ "PM": {
+ "name": "Saint Pierre và Miquelon"
+ },
+ "VC": {
+ "name": "Saint Vincent và Grenadines"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé và Príncipe"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Seychelles"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "SG": {
+ "name": "Singapore"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "Síp"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somali"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard và Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swaziland"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "TJ": {
+ "name": "Tajikistan"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "ES": {
+ "name": "Tây Ban Nha"
+ },
+ "EH": {
+ "name": "Tây Sahara"
+ },
+ "TH": {
+ "name": "Thái Lan"
+ },
+ "VA": {
+ "name": "Thành Vatican"
+ },
+ "TR": {
+ "name": "Thổ Nhĩ Kỳ"
+ },
+ "IO": {
+ "name": "Thuá»™c địa Anh tại Ấn Äá»™ DÆ°Æ¡ng"
+ },
+ "SE": {
+ "name": "Thụy Äiển"
+ },
+ "CH": {
+ "name": "Thụy Sĩ"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "KP": {
+ "name": "Triá»u Tiên"
+ },
+ "TT": {
+ "name": "Trinidad và Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "CN": {
+ "name": "Trung Quốc"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turkmenistan"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "AU": {
+ "name": "Úc"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraina"
+ },
+ "UY": {
+ "name": "Uruguay"
+ },
+ "UZ": {
+ "name": "Uzbekistan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Việt Nam"
+ },
+ "GB": {
+ "name": "Vương quốc Anh"
+ },
+ "WF": {
+ "name": "Wallis và Futuna"
+ },
+ "IT": {
+ "name": "Ã"
+ },
+ "YE": {
+ "name": "Yemen"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/vun.json b/library/intl/resources/country/vun.json
new file mode 100644
index 000000000..e57db8007
--- /dev/null
+++ b/library/intl/resources/country/vun.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "Afrika Kusini"
+ },
+ "AF": {
+ "name": "Afuganistani"
+ },
+ "IS": {
+ "name": "Aislandi"
+ },
+ "AR": {
+ "name": "Ajentina"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Albania"
+ },
+ "DZ": {
+ "name": "Aljeria"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigua na Barbuda"
+ },
+ "AM": {
+ "name": "Armenia"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Australia"
+ },
+ "AT": {
+ "name": "Austria"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "AZ": {
+ "name": "Azabajani"
+ },
+ "BB": {
+ "name": "Babadosi"
+ },
+ "BS": {
+ "name": "Bahama"
+ },
+ "BH": {
+ "name": "Bahareni"
+ },
+ "BD": {
+ "name": "Bangladeshi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BO": {
+ "name": "Bolivia"
+ },
+ "BA": {
+ "name": "Bosnia na Hezegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brazili"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BF": {
+ "name": "Bukinafaso"
+ },
+ "MG": {
+ "name": "Bukini"
+ },
+ "BG": {
+ "name": "Bulgaria"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butani"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "TD": {
+ "name": "Chadi"
+ },
+ "CL": {
+ "name": "Chile"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denmaki"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "Elsavado"
+ },
+ "IO": {
+ "name": "Eneo la Uingereza katika Bahari Hindi"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "Estonia"
+ },
+ "AE": {
+ "name": "Falme za Kiarabu"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "PH": {
+ "name": "Filipino"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Ghana"
+ },
+ "GN": {
+ "name": "Gine"
+ },
+ "GW": {
+ "name": "Ginebisau"
+ },
+ "GQ": {
+ "name": "Ginekweta"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GL": {
+ "name": "Grinlandi"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "GP": {
+ "name": "Gwadelupe"
+ },
+ "GU": {
+ "name": "Gwam"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GF": {
+ "name": "Gwiyana ya Ufaransa"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "ES": {
+ "name": "Hispania"
+ },
+ "HN": {
+ "name": "Hondurasi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "Hungaria"
+ },
+ "IN": {
+ "name": "India"
+ },
+ "ID": {
+ "name": "Indonesia"
+ },
+ "IQ": {
+ "name": "Iraki"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israeli"
+ },
+ "IT": {
+ "name": "Italia"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "CF": {
+ "name": "Jamhuri ya Afrika ya Kati"
+ },
+ "CZ": {
+ "name": "Jamhuri ya Cheki"
+ },
+ "DO": {
+ "name": "Jamhuri ya Dominika"
+ },
+ "CD": {
+ "name": "Jamhuri ya Kidemokrasia ya Kongo"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GI": {
+ "name": "Jibralta"
+ },
+ "DJ": {
+ "name": "Jibuti"
+ },
+ "GE": {
+ "name": "Jojia"
+ },
+ "KH": {
+ "name": "Kambodia"
+ },
+ "CM": {
+ "name": "Kameruni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Katari"
+ },
+ "KZ": {
+ "name": "Kazakistani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "CV": {
+ "name": "Kepuvede"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizistani"
+ },
+ "NF": {
+ "name": "Kisiwa cha Norfok"
+ },
+ "CI": {
+ "name": "Kodivaa"
+ },
+ "CO": {
+ "name": "Kolombia"
+ },
+ "KM": {
+ "name": "Komoro"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "HR": {
+ "name": "Korasia"
+ },
+ "KP": {
+ "name": "Korea Kaskazini"
+ },
+ "KR": {
+ "name": "Korea Kusini"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kostarika"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "CY": {
+ "name": "Kuprosi"
+ },
+ "KW": {
+ "name": "Kuwaiti"
+ },
+ "LA": {
+ "name": "Laosi"
+ },
+ "LU": {
+ "name": "Lasembagi"
+ },
+ "LV": {
+ "name": "Lativia"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoto"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Lishenteni"
+ },
+ "LT": {
+ "name": "Litwania"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malesia"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "US": {
+ "name": "Marekani"
+ },
+ "MQ": {
+ "name": "Martiniki"
+ },
+ "MK": {
+ "name": "Masedonia"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Meksiko"
+ },
+ "FM": {
+ "name": "Mikronesia"
+ },
+ "EG": {
+ "name": "Misri"
+ },
+ "MV": {
+ "name": "Modivu"
+ },
+ "MD": {
+ "name": "Moldova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongolia"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Montserrati"
+ },
+ "MU": {
+ "name": "Morisi"
+ },
+ "MR": {
+ "name": "Moritania"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Msumbiji"
+ },
+ "MM": {
+ "name": "Myama"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepali"
+ },
+ "NE": {
+ "name": "Nijeri"
+ },
+ "NG": {
+ "name": "Nijeria"
+ },
+ "NI": {
+ "name": "Nikaragwa"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NO": {
+ "name": "Norwe"
+ },
+ "NC": {
+ "name": "Nyukaledonia"
+ },
+ "NZ": {
+ "name": "Nyuzilandi"
+ },
+ "OM": {
+ "name": "Omani"
+ },
+ "PK": {
+ "name": "Pakistani"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua"
+ },
+ "PY": {
+ "name": "Paragwai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitkairni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesia ya Ufaransa"
+ },
+ "PR": {
+ "name": "Pwetoriko"
+ },
+ "RE": {
+ "name": "Riyunioni"
+ },
+ "RO": {
+ "name": "Romania"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "SM": {
+ "name": "Samarino"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "AS": {
+ "name": "Samoa ya Marekani"
+ },
+ "SH": {
+ "name": "Santahelena"
+ },
+ "KN": {
+ "name": "Santakitzi na Nevis"
+ },
+ "LC": {
+ "name": "Santalusia"
+ },
+ "PM": {
+ "name": "Santapieri na Mikeloni"
+ },
+ "VC": {
+ "name": "Santavisenti na Grenadini"
+ },
+ "ST": {
+ "name": "Sao Tome na Principe"
+ },
+ "SA": {
+ "name": "Saudi"
+ },
+ "SN": {
+ "name": "Senegali"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Shelisheli"
+ },
+ "SL": {
+ "name": "Siera Leoni"
+ },
+ "SG": {
+ "name": "Singapoo"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SY": {
+ "name": "Siria"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SK": {
+ "name": "Slovakia"
+ },
+ "SI": {
+ "name": "Slovenia"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudani"
+ },
+ "SR": {
+ "name": "Surinamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TH": {
+ "name": "Tailandi"
+ },
+ "TW": {
+ "name": "Taiwani"
+ },
+ "TJ": {
+ "name": "Tajikistani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TL": {
+ "name": "Timori ya Mashariki"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad na Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TN": {
+ "name": "Tunisia"
+ },
+ "TM": {
+ "name": "Turukimenistani"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "IR": {
+ "name": "Uajemi"
+ },
+ "BE": {
+ "name": "Ubelgiji"
+ },
+ "FR": {
+ "name": "Ufaransa"
+ },
+ "FI": {
+ "name": "Ufini"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "GR": {
+ "name": "Ugiriki"
+ },
+ "ET": {
+ "name": "Uhabeshi"
+ },
+ "NL": {
+ "name": "Uholanzi"
+ },
+ "GB": {
+ "name": "Uingereza"
+ },
+ "DE": {
+ "name": "Ujerumani"
+ },
+ "PS": {
+ "name": "Ukingo wa Magharibi na Ukanda wa Gaza wa Palestina"
+ },
+ "UA": {
+ "name": "Ukraini"
+ },
+ "PT": {
+ "name": "Ureno"
+ },
+ "UY": {
+ "name": "Urugwai"
+ },
+ "RU": {
+ "name": "Urusi"
+ },
+ "SZ": {
+ "name": "Uswazi"
+ },
+ "SE": {
+ "name": "Uswidi"
+ },
+ "CH": {
+ "name": "Uswisi"
+ },
+ "TR": {
+ "name": "Uturuki"
+ },
+ "UZ": {
+ "name": "Uzibekistani"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikani"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "VN": {
+ "name": "Vietinamu"
+ },
+ "CK": {
+ "name": "Visiwa vya Cook"
+ },
+ "FK": {
+ "name": "Visiwa vya Falkland"
+ },
+ "KY": {
+ "name": "Visiwa vya Kayman"
+ },
+ "MP": {
+ "name": "Visiwa vya Mariana vya Kaskazini"
+ },
+ "MH": {
+ "name": "Visiwa vya Marshal"
+ },
+ "SB": {
+ "name": "Visiwa vya Solomon"
+ },
+ "TC": {
+ "name": "Visiwa vya Turki na Kaiko"
+ },
+ "VI": {
+ "name": "Visiwa vya Virgin vya Marekani"
+ },
+ "VG": {
+ "name": "Visiwa vya Virgin vya Uingereza"
+ },
+ "WF": {
+ "name": "Walis na Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "JO": {
+ "name": "Yordani"
+ },
+ "ZM": {
+ "name": "Zambia"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/wae.json b/library/intl/resources/country/wae.json
new file mode 100644
index 000000000..103ba487f
--- /dev/null
+++ b/library/intl/resources/country/wae.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afganištan"
+ },
+ "AX": {
+ "name": "Alandinslä"
+ },
+ "AL": {
+ "name": "Albanie"
+ },
+ "DZ": {
+ "name": "Algerie"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "UM": {
+ "name": "Amerikaniš Ozeanie"
+ },
+ "AS": {
+ "name": "Amerikaniš Samoa"
+ },
+ "VI": {
+ "name": "Amerikaniši Jungfröiwinslä"
+ },
+ "AD": {
+ "name": "Andorra"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Anguilla"
+ },
+ "AQ": {
+ "name": "Antarktis"
+ },
+ "AG": {
+ "name": "Antigua und Barbuda"
+ },
+ "AR": {
+ "name": "Argentinie"
+ },
+ "AM": {
+ "name": "Armenie"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AZ": {
+ "name": "Aserbaidšan"
+ },
+ "AU": {
+ "name": "Australie"
+ },
+ "BH": {
+ "name": "BaÄrain"
+ },
+ "BS": {
+ "name": "Bahamas"
+ },
+ "BD": {
+ "name": "Bangladeš"
+ },
+ "BB": {
+ "name": "Barbados"
+ },
+ "BE": {
+ "name": "Belgie"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benin"
+ },
+ "BM": {
+ "name": "Bermuda"
+ },
+ "BT": {
+ "name": "Bhutan"
+ },
+ "BO": {
+ "name": "Boliwie"
+ },
+ "BA": {
+ "name": "Bosnie und Herzegovina"
+ },
+ "BW": {
+ "name": "Botswana"
+ },
+ "BR": {
+ "name": "Brasilie"
+ },
+ "IO": {
+ "name": "Britišes Territorium em indiše Ozean"
+ },
+ "VG": {
+ "name": "Britiši Jungfröiwinslä"
+ },
+ "BN": {
+ "name": "Brunei"
+ },
+ "BG": {
+ "name": "Bulgarie"
+ },
+ "BF": {
+ "name": "Burkina Faso"
+ },
+ "MM": {
+ "name": "Burma"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta und Melilla"
+ },
+ "CN": {
+ "name": "China"
+ },
+ "CK": {
+ "name": "Cookinslä"
+ },
+ "CR": {
+ "name": "Costa Rica"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Dänemark"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DO": {
+ "name": "Dominikaniši Rebublik"
+ },
+ "DM": {
+ "name": "Doninica"
+ },
+ "DJ": {
+ "name": "DÅ¡ibuti"
+ },
+ "EC": {
+ "name": "Ecuador"
+ },
+ "EG": {
+ "name": "Egypte"
+ },
+ "SV": {
+ "name": "El Salvador"
+ },
+ "CI": {
+ "name": "Elfebeiküšta"
+ },
+ "GB": {
+ "name": "England"
+ },
+ "GQ": {
+ "name": "Equatorialginea"
+ },
+ "ER": {
+ "name": "Eritrea"
+ },
+ "EE": {
+ "name": "EÅ¡tland"
+ },
+ "ET": {
+ "name": "Ethiopie"
+ },
+ "FK": {
+ "name": "Falklandinslä"
+ },
+ "FO": {
+ "name": "Färöe"
+ },
+ "FJ": {
+ "name": "Fidši"
+ },
+ "FI": {
+ "name": "Finnland"
+ },
+ "FR": {
+ "name": "FrankriÄ"
+ },
+ "GF": {
+ "name": "Französiš Guiana"
+ },
+ "PF": {
+ "name": "Französiš Polinesie"
+ },
+ "TF": {
+ "name": "Französiši Süd- und Antarktisgebiet"
+ },
+ "GA": {
+ "name": "Gabon"
+ },
+ "GM": {
+ "name": "Gambia"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GE": {
+ "name": "Georgie"
+ },
+ "GI": {
+ "name": "Gibraltar"
+ },
+ "GN": {
+ "name": "Ginea"
+ },
+ "GW": {
+ "name": "Ginea Bissau"
+ },
+ "GD": {
+ "name": "Grenada"
+ },
+ "GR": {
+ "name": "GriÄeland"
+ },
+ "GL": {
+ "name": "Grönland"
+ },
+ "GP": {
+ "name": "Guadeloupe"
+ },
+ "GU": {
+ "name": "Guam"
+ },
+ "GT": {
+ "name": "Guatemala"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GY": {
+ "name": "Guyana"
+ },
+ "HT": {
+ "name": "Haiti"
+ },
+ "AC": {
+ "name": "Himmelfártsinsla"
+ },
+ "NL": {
+ "name": "Holand"
+ },
+ "HN": {
+ "name": "Honduras"
+ },
+ "IN": {
+ "name": "Indie"
+ },
+ "ID": {
+ "name": "Indonesie"
+ },
+ "IQ": {
+ "name": "Irak"
+ },
+ "IR": {
+ "name": "Iran"
+ },
+ "IE": {
+ "name": "Irland"
+ },
+ "IS": {
+ "name": "Island"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IL": {
+ "name": "Israel"
+ },
+ "IT": {
+ "name": "Italie"
+ },
+ "JM": {
+ "name": "Jamaika"
+ },
+ "JP": {
+ "name": "Japan"
+ },
+ "YE": {
+ "name": "Jéme"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "JO": {
+ "name": "Jordanie"
+ },
+ "KY": {
+ "name": "Kaimaninslä"
+ },
+ "KH": {
+ "name": "Kambodša"
+ },
+ "CM": {
+ "name": "Kamerun"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "IC": {
+ "name": "Kanariše Inslä"
+ },
+ "CV": {
+ "name": "Kap Verde"
+ },
+ "KZ": {
+ "name": "KasaÄstan"
+ },
+ "QA": {
+ "name": "Katar"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KG": {
+ "name": "Kirgištan"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "CC": {
+ "name": "Kokosinslä"
+ },
+ "CO": {
+ "name": "Kolumbie"
+ },
+ "KM": {
+ "name": "Komore"
+ },
+ "CG": {
+ "name": "Kongo Brazzaville"
+ },
+ "CD": {
+ "name": "Kongo-Kinshasa"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "HR": {
+ "name": "Kroatie"
+ },
+ "CU": {
+ "name": "Kuba"
+ },
+ "KW": {
+ "name": "Kuweit"
+ },
+ "LA": {
+ "name": "Laos"
+ },
+ "LS": {
+ "name": "Lesotho"
+ },
+ "LV": {
+ "name": "Lettland"
+ },
+ "LB": {
+ "name": "Libanon"
+ },
+ "LR": {
+ "name": "Liberia"
+ },
+ "LI": {
+ "name": "LieÄteÅ¡tei"
+ },
+ "LT": {
+ "name": "Litaue"
+ },
+ "LY": {
+ "name": "Lübie"
+ },
+ "LU": {
+ "name": "Luxeburg"
+ },
+ "MG": {
+ "name": "Madagaskar"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malaysia"
+ },
+ "MV": {
+ "name": "Malediwe"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malta"
+ },
+ "MA": {
+ "name": "Maroko"
+ },
+ "MH": {
+ "name": "Maršalinslä"
+ },
+ "MQ": {
+ "name": "Martinique"
+ },
+ "MR": {
+ "name": "Mauretanie"
+ },
+ "MU": {
+ "name": "Mauritius"
+ },
+ "MK": {
+ "name": "Mazedonie"
+ },
+ "MX": {
+ "name": "Mexiko"
+ },
+ "FM": {
+ "name": "Mikronesie"
+ },
+ "MD": {
+ "name": "Moldau"
+ },
+ "MC": {
+ "name": "Monago"
+ },
+ "MN": {
+ "name": "Mongolei"
+ },
+ "MS": {
+ "name": "Monserrat"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "Mosambik"
+ },
+ "YT": {
+ "name": "Moyette"
+ },
+ "NA": {
+ "name": "Namibia"
+ },
+ "NR": {
+ "name": "Nauru"
+ },
+ "NP": {
+ "name": "Nepal"
+ },
+ "NI": {
+ "name": "Nicaragua"
+ },
+ "NE": {
+ "name": "Niger"
+ },
+ "NG": {
+ "name": "Nigeria"
+ },
+ "NU": {
+ "name": "Niue"
+ },
+ "NC": {
+ "name": "Niwkaledonie"
+ },
+ "NZ": {
+ "name": "Niwséland"
+ },
+ "KP": {
+ "name": "Nordkorea"
+ },
+ "MP": {
+ "name": "NördliÄi Mariane"
+ },
+ "NF": {
+ "name": "Norfolkinsla"
+ },
+ "NO": {
+ "name": "Norwäge"
+ },
+ "OM": {
+ "name": "Oman"
+ },
+ "AT": {
+ "name": "ÖštriÄ"
+ },
+ "TL": {
+ "name": "OÅ¡ttimor"
+ },
+ "PK": {
+ "name": "Pakištan"
+ },
+ "PW": {
+ "name": "Palau"
+ },
+ "PS": {
+ "name": "Paleština"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papua Niwginea"
+ },
+ "PY": {
+ "name": "Paraguai"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PH": {
+ "name": "Philippine"
+ },
+ "PN": {
+ "name": "Pitcairn"
+ },
+ "PL": {
+ "name": "Pole"
+ },
+ "PT": {
+ "name": "Portugal"
+ },
+ "PR": {
+ "name": "Puerto Rico"
+ },
+ "RE": {
+ "name": "Réunion"
+ },
+ "RW": {
+ "name": "Ruanda"
+ },
+ "RO": {
+ "name": "Rumänie"
+ },
+ "RU": {
+ "name": "Russland"
+ },
+ "SB": {
+ "name": "Salomone"
+ },
+ "ZM": {
+ "name": "Sambia"
+ },
+ "WS": {
+ "name": "Samoa"
+ },
+ "SM": {
+ "name": "San Marino"
+ },
+ "ST": {
+ "name": "São Tomé and Príncipe"
+ },
+ "SA": {
+ "name": "Saudi Arabie"
+ },
+ "ES": {
+ "name": "Schpanie"
+ },
+ "SE": {
+ "name": "Schwede"
+ },
+ "CH": {
+ "name": "Schwiz"
+ },
+ "SC": {
+ "name": "SeÄelle"
+ },
+ "SN": {
+ "name": "Senegal"
+ },
+ "RS": {
+ "name": "Serbie"
+ },
+ "SL": {
+ "name": "Sierra Leone"
+ },
+ "ZW": {
+ "name": "Simbabwe"
+ },
+ "SG": {
+ "name": "Singapur"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "SK": {
+ "name": "Slowakei"
+ },
+ "SI": {
+ "name": "Slowenie"
+ },
+ "SO": {
+ "name": "Somalia"
+ },
+ "HK": {
+ "name": "Sonderverwaltigszona Hongkong"
+ },
+ "MO": {
+ "name": "Sonderverwaltigszona Makau"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "LK": {
+ "name": "Sri Lanka"
+ },
+ "BL": {
+ "name": "St. Bartholomäus-Insla"
+ },
+ "SH": {
+ "name": "St. Helena"
+ },
+ "KN": {
+ "name": "St. Kitts und Nevis"
+ },
+ "LC": {
+ "name": "St. Lucia"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "PM": {
+ "name": "St. Pierre und Miquelon"
+ },
+ "VC": {
+ "name": "St. Vincent und d’Grenadine"
+ },
+ "ZA": {
+ "name": "Südafrika"
+ },
+ "SD": {
+ "name": "Sudan"
+ },
+ "GS": {
+ "name": "Südgeorgie und d’südliÄe SenwiÄinslä"
+ },
+ "KR": {
+ "name": "Südkorea"
+ },
+ "SY": {
+ "name": "Sürie"
+ },
+ "SR": {
+ "name": "Suriname"
+ },
+ "SJ": {
+ "name": "Svalbard und Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swasiland"
+ },
+ "TJ": {
+ "name": "Tadšikistan"
+ },
+ "TW": {
+ "name": "Taiwan"
+ },
+ "TZ": {
+ "name": "Tansania"
+ },
+ "TH": {
+ "name": "Thailand"
+ },
+ "DE": {
+ "name": "Titšland"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelau"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TT": {
+ "name": "Trinidad und Tobago"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TD": {
+ "name": "TÅ¡ad"
+ },
+ "CZ": {
+ "name": "TÅ¡eÄie"
+ },
+ "CL": {
+ "name": "TÅ¡ile"
+ },
+ "TN": {
+ "name": "Tunesie"
+ },
+ "TR": {
+ "name": "Türkei"
+ },
+ "TM": {
+ "name": "Turkmeništan"
+ },
+ "TC": {
+ "name": "Turks- und Caicosinslä"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UG": {
+ "name": "Uganda"
+ },
+ "UA": {
+ "name": "Ukraine"
+ },
+ "HU": {
+ "name": "Ungare"
+ },
+ "UY": {
+ "name": "Urugauy"
+ },
+ "UZ": {
+ "name": "Usbekištan"
+ },
+ "VU": {
+ "name": "Vanuatu"
+ },
+ "VA": {
+ "name": "Vatikan"
+ },
+ "VE": {
+ "name": "Venezuela"
+ },
+ "AE": {
+ "name": "Vereinigti Arabiše Emirat"
+ },
+ "VN": {
+ "name": "Vietnam"
+ },
+ "WF": {
+ "name": "Wallis und Futuna"
+ },
+ "EH": {
+ "name": "Weštsahara"
+ },
+ "CX": {
+ "name": "WienäÄtsinslä"
+ },
+ "BY": {
+ "name": "Wísrussland"
+ },
+ "CF": {
+ "name": "Zentralafrikaniši Rebublik"
+ },
+ "CY": {
+ "name": "Zypre"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/xog.json b/library/intl/resources/country/xog.json
new file mode 100644
index 000000000..d76c8706d
--- /dev/null
+++ b/library/intl/resources/country/xog.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "Afaganisitani"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AL": {
+ "name": "Alibaniya"
+ },
+ "DZ": {
+ "name": "Aligerya"
+ },
+ "US": {
+ "name": "Amerika"
+ },
+ "AD": {
+ "name": "Andora"
+ },
+ "AO": {
+ "name": "Angola"
+ },
+ "AI": {
+ "name": "Angwila"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AG": {
+ "name": "Antigwa ni Barabuda"
+ },
+ "AM": {
+ "name": "Arameniya"
+ },
+ "AR": {
+ "name": "Arigentina"
+ },
+ "AW": {
+ "name": "Aruba"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AU": {
+ "name": "Awusitureliya"
+ },
+ "AT": {
+ "name": "Awusituriya"
+ },
+ "IE": {
+ "name": "Ayalandi"
+ },
+ "IS": {
+ "name": "Ayisirandi"
+ },
+ "AZ": {
+ "name": "Azerebayijaani"
+ },
+ "BH": {
+ "name": "Baareeni"
+ },
+ "BS": {
+ "name": "Bahamasi"
+ },
+ "BD": {
+ "name": "Bangaladesi"
+ },
+ "BB": {
+ "name": "Barabadosi"
+ },
+ "BY": {
+ "name": "Belarusi"
+ },
+ "BZ": {
+ "name": "Belize"
+ },
+ "BJ": {
+ "name": "Benini"
+ },
+ "BM": {
+ "name": "Beremuda"
+ },
+ "MH": {
+ "name": "Bizinga bya Mariso"
+ },
+ "MP": {
+ "name": "Bizinga bya Mariyana ebyamumambuka"
+ },
+ "BO": {
+ "name": "Boliviya"
+ },
+ "BW": {
+ "name": "Botiswana"
+ },
+ "BA": {
+ "name": "Boziniya Hezegovina"
+ },
+ "BE": {
+ "name": "Bubirigi"
+ },
+ "DE": {
+ "name": "Budaaki"
+ },
+ "FR": {
+ "name": "Bufalansa"
+ },
+ "BG": {
+ "name": "Bulugariya"
+ },
+ "GB": {
+ "name": "Bungereza"
+ },
+ "BR": {
+ "name": "Buraziiri"
+ },
+ "BF": {
+ "name": "Burukina Faso"
+ },
+ "BN": {
+ "name": "Burunayi"
+ },
+ "BI": {
+ "name": "Burundi"
+ },
+ "BT": {
+ "name": "Butaani"
+ },
+ "IN": {
+ "name": "Buyindi"
+ },
+ "GR": {
+ "name": "Buyonaani"
+ },
+ "TD": {
+ "name": "Caadi"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "CN": {
+ "name": "Cayina"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CL": {
+ "name": "Cile"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CU": {
+ "name": "Cuba"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DK": {
+ "name": "Denimaaka"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "DM": {
+ "name": "Dominika"
+ },
+ "FK": {
+ "name": "Ebiizinga bya Falikalandi"
+ },
+ "SB": {
+ "name": "Ebizanga bya Solomooni"
+ },
+ "IO": {
+ "name": "Ebizinga bya Cago"
+ },
+ "PH": {
+ "name": "Ebizinga bya Firipino"
+ },
+ "KY": {
+ "name": "Ebizinga bya Kayimaani"
+ },
+ "CV": {
+ "name": "Ebizinga bya Kepu Veredi"
+ },
+ "CK": {
+ "name": "Ebizinga bya Kkuki"
+ },
+ "KM": {
+ "name": "Ebizinga bya Komoro"
+ },
+ "MV": {
+ "name": "Ebizinga bya Malidive"
+ },
+ "TC": {
+ "name": "Ebizinga bya Taaka ni Kayikosi"
+ },
+ "VG": {
+ "name": "Ebizinga bya Virigini ebitwalibwa Bungereza"
+ },
+ "VI": {
+ "name": "Ebizinga bya Virigini eby’Amerika"
+ },
+ "EC": {
+ "name": "Ekwado"
+ },
+ "SV": {
+ "name": "El salivado"
+ },
+ "AE": {
+ "name": "Emireeti"
+ },
+ "ER": {
+ "name": "Eritureya"
+ },
+ "EE": {
+ "name": "Esitoniya"
+ },
+ "ET": {
+ "name": "Esyopya"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "FJ": {
+ "name": "Fiji"
+ },
+ "FI": {
+ "name": "Finilandi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GA": {
+ "name": "Gaboni"
+ },
+ "GM": {
+ "name": "Gambya"
+ },
+ "GH": {
+ "name": "Gana"
+ },
+ "GY": {
+ "name": "Gayana"
+ },
+ "GQ": {
+ "name": "Gayana yaku ekweta"
+ },
+ "GI": {
+ "name": "Giburalita"
+ },
+ "GN": {
+ "name": "Gini"
+ },
+ "GW": {
+ "name": "Gini-Bisawu"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "GD": {
+ "name": "Gurenada"
+ },
+ "GL": {
+ "name": "Gurenelandi"
+ },
+ "GF": {
+ "name": "Guyana enfalansa"
+ },
+ "GP": {
+ "name": "Gwadalupe"
+ },
+ "GU": {
+ "name": "Gwamu"
+ },
+ "GT": {
+ "name": "Gwatemala"
+ },
+ "GE": {
+ "name": "Gyogya"
+ },
+ "HU": {
+ "name": "Hangare"
+ },
+ "HT": {
+ "name": "Hayiti"
+ },
+ "NL": {
+ "name": "Holandi"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "HN": {
+ "name": "Hundurasi"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JM": {
+ "name": "Jamayika"
+ },
+ "JP": {
+ "name": "Japani"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "DJ": {
+ "name": "Jjibuti"
+ },
+ "NC": {
+ "name": "Kaledonya mupya"
+ },
+ "KH": {
+ "name": "Kambodya"
+ },
+ "CM": {
+ "name": "Kameruuni"
+ },
+ "CA": {
+ "name": "Kanada"
+ },
+ "QA": {
+ "name": "Kataa"
+ },
+ "KZ": {
+ "name": "Kazakisitaani"
+ },
+ "KE": {
+ "name": "Kenya"
+ },
+ "KI": {
+ "name": "Kiribati"
+ },
+ "KG": {
+ "name": "Kirigizisitaani"
+ },
+ "NF": {
+ "name": "Kizinga ky’eNorofoko"
+ },
+ "CO": {
+ "name": "Kolombya"
+ },
+ "CG": {
+ "name": "Kongo"
+ },
+ "CD": {
+ "name": "Kongo - Zayire"
+ },
+ "KP": {
+ "name": "Koreya eya mumambuka"
+ },
+ "KR": {
+ "name": "Koreya eya mumaserengeta"
+ },
+ "CR": {
+ "name": "Kosita Rika"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CI": {
+ "name": "Kote Divwa"
+ },
+ "HR": {
+ "name": "Kurowesya"
+ },
+ "KW": {
+ "name": "Kuweti"
+ },
+ "RU": {
+ "name": "Lasa"
+ },
+ "LV": {
+ "name": "Lativya"
+ },
+ "LA": {
+ "name": "Lawosi"
+ },
+ "LB": {
+ "name": "Lebanoni"
+ },
+ "LS": {
+ "name": "Lesoso"
+ },
+ "RE": {
+ "name": "Leyunyoni"
+ },
+ "LR": {
+ "name": "Liberya"
+ },
+ "LY": {
+ "name": "Libya"
+ },
+ "LI": {
+ "name": "Licitensitayini"
+ },
+ "CZ": {
+ "name": "Lipabulika ya Ceeka"
+ },
+ "DO": {
+ "name": "Lipabulika ya Dominika"
+ },
+ "CF": {
+ "name": "Lipabulika ya Senturafiriki"
+ },
+ "LT": {
+ "name": "Lisuwenya"
+ },
+ "RO": {
+ "name": "Lomaniya"
+ },
+ "LU": {
+ "name": "Lukisembaaga"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MG": {
+ "name": "Madagasika"
+ },
+ "MW": {
+ "name": "Malawi"
+ },
+ "MY": {
+ "name": "Malezya"
+ },
+ "ML": {
+ "name": "Mali"
+ },
+ "MT": {
+ "name": "Malita"
+ },
+ "MQ": {
+ "name": "Maritiniiki"
+ },
+ "MK": {
+ "name": "Masedoniya"
+ },
+ "MU": {
+ "name": "Mawulisyasi"
+ },
+ "MR": {
+ "name": "Mawulitenya"
+ },
+ "YT": {
+ "name": "Mayotte"
+ },
+ "MX": {
+ "name": "Mekisiko"
+ },
+ "FM": {
+ "name": "Mikuronezya"
+ },
+ "EG": {
+ "name": "Misiri"
+ },
+ "MD": {
+ "name": "Molodova"
+ },
+ "MC": {
+ "name": "Monako"
+ },
+ "MN": {
+ "name": "Mongoliya"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MS": {
+ "name": "Monteseraati"
+ },
+ "MA": {
+ "name": "Moroko"
+ },
+ "MZ": {
+ "name": "Mozambiiki"
+ },
+ "MM": {
+ "name": "Myanima"
+ },
+ "NA": {
+ "name": "Namibiya"
+ },
+ "NR": {
+ "name": "Nawuru"
+ },
+ "NG": {
+ "name": "Nayijerya"
+ },
+ "NP": {
+ "name": "Nepalo"
+ },
+ "NE": {
+ "name": "Nije"
+ },
+ "NI": {
+ "name": "Nikaraguwa"
+ },
+ "NU": {
+ "name": "Niyuwe"
+ },
+ "NZ": {
+ "name": "Niyuziirandi"
+ },
+ "NO": {
+ "name": "Nowe"
+ },
+ "OM": {
+ "name": "Omaani"
+ },
+ "PK": {
+ "name": "Pakisitaani"
+ },
+ "PW": {
+ "name": "Palawu"
+ },
+ "PS": {
+ "name": "Palesitayini ni Gaza"
+ },
+ "PA": {
+ "name": "Panama"
+ },
+ "PG": {
+ "name": "Papwa Nyugini"
+ },
+ "PY": {
+ "name": "Paragwayi"
+ },
+ "PE": {
+ "name": "Peru"
+ },
+ "PN": {
+ "name": "Pitikeeni"
+ },
+ "PL": {
+ "name": "Polandi"
+ },
+ "PF": {
+ "name": "Polinesiya enfalansa"
+ },
+ "PR": {
+ "name": "Potoriko"
+ },
+ "PT": {
+ "name": "Potugaali"
+ },
+ "RW": {
+ "name": "Rwanda"
+ },
+ "WS": {
+ "name": "Samowa"
+ },
+ "AS": {
+ "name": "Samowa omumerika"
+ },
+ "SM": {
+ "name": "Sanimarino"
+ },
+ "ST": {
+ "name": "Sanitome ni Purincipe"
+ },
+ "SA": {
+ "name": "Sawudarebya"
+ },
+ "ZA": {
+ "name": "Sawusafirika"
+ },
+ "SN": {
+ "name": "Senegaalo"
+ },
+ "SH": {
+ "name": "Senti Herena"
+ },
+ "KN": {
+ "name": "Senti Kitisi ne Nevisi"
+ },
+ "LC": {
+ "name": "Senti Luciya"
+ },
+ "PM": {
+ "name": "Senti Piyere ni Mikeloni"
+ },
+ "VC": {
+ "name": "Senti Vinsenti ni Gurendadiini"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "Sesere"
+ },
+ "SG": {
+ "name": "Singapowa"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "ES": {
+ "name": "Sipeyini"
+ },
+ "CY": {
+ "name": "Sipuriya"
+ },
+ "LK": {
+ "name": "Sirilanka"
+ },
+ "SY": {
+ "name": "Siriya"
+ },
+ "SK": {
+ "name": "Sirovakya"
+ },
+ "SI": {
+ "name": "Sirovenya"
+ },
+ "SL": {
+ "name": "Siyeralewone"
+ },
+ "SO": {
+ "name": "Somaliya"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SD": {
+ "name": "Sudaani"
+ },
+ "SR": {
+ "name": "Surinaamu"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SZ": {
+ "name": "Swazirandi"
+ },
+ "SE": {
+ "name": "Swideni"
+ },
+ "CH": {
+ "name": "Switizirandi"
+ },
+ "TJ": {
+ "name": "Tajikisitaani"
+ },
+ "TM": {
+ "name": "Takimenesitaani"
+ },
+ "TZ": {
+ "name": "Tanzania"
+ },
+ "TH": {
+ "name": "Tayirandi"
+ },
+ "TW": {
+ "name": "Tayiwani"
+ },
+ "TL": {
+ "name": "Timowa"
+ },
+ "TG": {
+ "name": "Togo"
+ },
+ "TK": {
+ "name": "Tokelawu"
+ },
+ "TO": {
+ "name": "Tonga"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TR": {
+ "name": "Ttake"
+ },
+ "TN": {
+ "name": "Tunisya"
+ },
+ "TT": {
+ "name": "Turindaadi ni Tobago"
+ },
+ "TV": {
+ "name": "Tuvalu"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "VU": {
+ "name": "Vanawuwatu"
+ },
+ "VA": {
+ "name": "Vatikaani"
+ },
+ "VE": {
+ "name": "Venzwera"
+ },
+ "VN": {
+ "name": "Vyetinaamu"
+ },
+ "WF": {
+ "name": "Walisi ni Futuna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "UY": {
+ "name": "Wurugwayi"
+ },
+ "UZ": {
+ "name": "Wuzibekisitaani"
+ },
+ "YE": {
+ "name": "Yemeni"
+ },
+ "ID": {
+ "name": "Yindonezya"
+ },
+ "IQ": {
+ "name": "Yiraaka"
+ },
+ "IR": {
+ "name": "Yiraani"
+ },
+ "IL": {
+ "name": "Yisirayeri"
+ },
+ "IT": {
+ "name": "Yitale"
+ },
+ "JO": {
+ "name": "Yorodani"
+ },
+ "UG": {
+ "name": "Yuganda"
+ },
+ "UA": {
+ "name": "Yukurayine"
+ },
+ "ZM": {
+ "name": "Zambya"
+ },
+ "ZW": {
+ "name": "Zimbabwe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/yav.json b/library/intl/resources/country/yav.json
new file mode 100644
index 000000000..c1ef5c1b2
--- /dev/null
+++ b/library/intl/resources/country/yav.json
@@ -0,0 +1,761 @@
+{
+ "ZA": {
+ "name": "afilí mbátÉ›Ì"
+ },
+ "AF": {
+ "name": "Afkanistáŋ"
+ },
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "SA": {
+ "name": "alapísawutíit"
+ },
+ "AM": {
+ "name": "Almanía"
+ },
+ "AL": {
+ "name": "Alpaní"
+ },
+ "AR": {
+ "name": "Alsaŋtín"
+ },
+ "DZ": {
+ "name": "Alselí"
+ },
+ "AW": {
+ "name": "Alúpa"
+ },
+ "US": {
+ "name": "amálíka"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AI": {
+ "name": "Aŋkíla"
+ },
+ "AO": {
+ "name": "Aŋkúla"
+ },
+ "AG": {
+ "name": "Aŋtíka na Palpúta"
+ },
+ "AD": {
+ "name": "Aŋtúla"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "AZ": {
+ "name": "Asɛlpaisáŋ"
+ },
+ "HT": {
+ "name": "ayíti"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "EC": {
+ "name": "ekuatÉ›Ìl"
+ },
+ "RE": {
+ "name": "elewuniÉ”ÌÅ‹"
+ },
+ "ER": {
+ "name": "elitée"
+ },
+ "ET": {
+ "name": "etiopí"
+ },
+ "IN": {
+ "name": "É›ÌÉ›nd"
+ },
+ "ID": {
+ "name": "ɛndonesí"
+ },
+ "EE": {
+ "name": "ɛstoni"
+ },
+ "VU": {
+ "name": "fanuatú"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "VA": {
+ "name": "fatikáaŋ"
+ },
+ "FR": {
+ "name": "felensí"
+ },
+ "VE": {
+ "name": "fenesuwelá"
+ },
+ "FI": {
+ "name": "fɛnlánd"
+ },
+ "VN": {
+ "name": "fiɛtnáam"
+ },
+ "PH": {
+ "name": "filipíin"
+ },
+ "VG": {
+ "name": "Filisíin ungilís"
+ },
+ "FJ": {
+ "name": "físi"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "MP": {
+ "name": "il maliyanÉ› u muÉ›nÉ›Ì"
+ },
+ "NF": {
+ "name": "il nÉ”ÌlfÉ”ÌlÉ”k"
+ },
+ "SB": {
+ "name": "il salomÉ”ÌÅ‹"
+ },
+ "IQ": {
+ "name": "ilák"
+ },
+ "IR": {
+ "name": "iláŋ"
+ },
+ "IE": {
+ "name": "ililánd"
+ },
+ "MH": {
+ "name": "ílmalasáal"
+ },
+ "AE": {
+ "name": "imiláat i paaláap"
+ },
+ "GB": {
+ "name": "ingilíís"
+ },
+ "IL": {
+ "name": "ísilayÉ›Ìl"
+ },
+ "EG": {
+ "name": "isípit"
+ },
+ "IS": {
+ "name": "isláand"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "IT": {
+ "name": "italí"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "GM": {
+ "name": "kambíi"
+ },
+ "KH": {
+ "name": "Kámbóse"
+ },
+ "GH": {
+ "name": "kaná"
+ },
+ "CA": {
+ "name": "Kánáta"
+ },
+ "CV": {
+ "name": "Kápfɛl"
+ },
+ "GA": {
+ "name": "kapÉ”ÌÅ‹"
+ },
+ "KZ": {
+ "name": "kasaksitáŋ"
+ },
+ "QA": {
+ "name": "katáal"
+ },
+ "KY": {
+ "name": "Káyímanɛ"
+ },
+ "GD": {
+ "name": "kelenáat"
+ },
+ "CM": {
+ "name": "Kemelún"
+ },
+ "KE": {
+ "name": "kénia"
+ },
+ "GN": {
+ "name": "kiiné"
+ },
+ "GW": {
+ "name": "kiinépisaó"
+ },
+ "GR": {
+ "name": "kilÉ›ÌÉ›k"
+ },
+ "KG": {
+ "name": "kilikisistáŋ"
+ },
+ "KI": {
+ "name": "kilipatí"
+ },
+ "GQ": {
+ "name": "kinéekuatolial"
+ },
+ "CZ": {
+ "name": "kitɔŋ kí cÉ›Ìk"
+ },
+ "CD": {
+ "name": "kitɔŋ kí kongó"
+ },
+ "PS": {
+ "name": "kitɔŋ ki palɛstíin"
+ },
+ "DO": {
+ "name": "kitɔŋ kí tumunikÉ›ÌÅ‹"
+ },
+ "HR": {
+ "name": "Kolowasíi"
+ },
+ "CG": {
+ "name": "Kongó"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "CR": {
+ "name": "Kóstálíka"
+ },
+ "CI": {
+ "name": "Kótifualɛ"
+ },
+ "KW": {
+ "name": "kowéet"
+ },
+ "KP": {
+ "name": "kÉ”lé u muÉ›nÉ›Ì"
+ },
+ "KR": {
+ "name": "kɔlé wu mbát"
+ },
+ "CO": {
+ "name": "KÉ”lÉ”Ìmbía"
+ },
+ "KM": {
+ "name": "KÉ”mÉ”ÌÉ”l"
+ },
+ "IO": {
+ "name": "KɔɔÌm kí ndián yi ngilís"
+ },
+ "GU": {
+ "name": "kuamiÉ›"
+ },
+ "GP": {
+ "name": "kuatelúup"
+ },
+ "GT": {
+ "name": "kuatemalá"
+ },
+ "GL": {
+ "name": "kuluɛnlánd"
+ },
+ "CU": {
+ "name": "kúpa"
+ },
+ "CK": {
+ "name": "Kúuke"
+ },
+ "GY": {
+ "name": "kuyáan"
+ },
+ "GF": {
+ "name": "kuyáan u felensí"
+ },
+ "LA": {
+ "name": "lawós"
+ },
+ "LS": {
+ "name": "lesotó"
+ },
+ "LV": {
+ "name": "letoní"
+ },
+ "LU": {
+ "name": "liksambúul"
+ },
+ "LB": {
+ "name": "lipáŋ"
+ },
+ "LR": {
+ "name": "lipélia"
+ },
+ "LY": {
+ "name": "lipíi"
+ },
+ "LI": {
+ "name": "lístÉ›Ìnsitáyin"
+ },
+ "LT": {
+ "name": "litiyaní"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "MW": {
+ "name": "malawí"
+ },
+ "MY": {
+ "name": "malesí"
+ },
+ "MV": {
+ "name": "maletíif"
+ },
+ "MT": {
+ "name": "málÉ›Ìt"
+ },
+ "ML": {
+ "name": "malí"
+ },
+ "MA": {
+ "name": "malóok"
+ },
+ "MQ": {
+ "name": "maltiníik"
+ },
+ "FK": {
+ "name": "maluwín"
+ },
+ "MK": {
+ "name": "masetuán"
+ },
+ "MG": {
+ "name": "matakaskáal"
+ },
+ "YT": {
+ "name": "mayÉ”ÌÉ”t"
+ },
+ "MX": {
+ "name": "mɛksíik"
+ },
+ "MM": {
+ "name": "miaŋmáal"
+ },
+ "FM": {
+ "name": "mikolonesí"
+ },
+ "MU": {
+ "name": "molís"
+ },
+ "MR": {
+ "name": "molitaní"
+ },
+ "MD": {
+ "name": "moltafí"
+ },
+ "MC": {
+ "name": "monakó"
+ },
+ "MN": {
+ "name": "mongolí"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "MZ": {
+ "name": "mosambík"
+ },
+ "MS": {
+ "name": "mɔŋsilá"
+ },
+ "NA": {
+ "name": "namipí"
+ },
+ "NR": {
+ "name": "nawulú"
+ },
+ "NP": {
+ "name": "nepáal"
+ },
+ "NI": {
+ "name": "nikalaká"
+ },
+ "NG": {
+ "name": "nisélia"
+ },
+ "NE": {
+ "name": "nisÉ›ÌÉ›l"
+ },
+ "NL": {
+ "name": "nitililáand"
+ },
+ "NU": {
+ "name": "niyuwé"
+ },
+ "NO": {
+ "name": "nÉ”lfÉ›ÌÉ›s"
+ },
+ "DE": {
+ "name": "nsáman"
+ },
+ "NC": {
+ "name": "nufÉ›Ìl kaletoní"
+ },
+ "NZ": {
+ "name": "nufÉ›Ìl seláand"
+ },
+ "OM": {
+ "name": "omáŋ"
+ },
+ "AU": {
+ "name": "Otalalí"
+ },
+ "AT": {
+ "name": "Otilís"
+ },
+ "HN": {
+ "name": "ɔndúlas"
+ },
+ "HU": {
+ "name": "ɔngilí"
+ },
+ "BS": {
+ "name": "Pahámas"
+ },
+ "PK": {
+ "name": "pakistáŋ"
+ },
+ "PY": {
+ "name": "palakúé"
+ },
+ "PW": {
+ "name": "palawú"
+ },
+ "BH": {
+ "name": "Palɛŋ"
+ },
+ "BB": {
+ "name": "Palpatós"
+ },
+ "PA": {
+ "name": "panamá"
+ },
+ "ES": {
+ "name": "panyá"
+ },
+ "BD": {
+ "name": "Paŋkalatɛs"
+ },
+ "PG": {
+ "name": "papuasí nufÉ›Ìl kiiné"
+ },
+ "BY": {
+ "name": "Pelalús"
+ },
+ "BZ": {
+ "name": "Pelíse"
+ },
+ "PE": {
+ "name": "pelú"
+ },
+ "BJ": {
+ "name": "Penɛŋ"
+ },
+ "BM": {
+ "name": "Pɛlmúta"
+ },
+ "BE": {
+ "name": "Pɛlsíik"
+ },
+ "BR": {
+ "name": "Pilesíl"
+ },
+ "VI": {
+ "name": "pindisúlÉ›Ì pi amálíka"
+ },
+ "PN": {
+ "name": "pitikÉ›ÌÉ›línÉ›Ì"
+ },
+ "BO": {
+ "name": "Polífia"
+ },
+ "PF": {
+ "name": "polinesí u felensí"
+ },
+ "PR": {
+ "name": "pólótolíko"
+ },
+ "BW": {
+ "name": "Posuána"
+ },
+ "PL": {
+ "name": "pÉ”lÉ”ÌÉ”ny"
+ },
+ "PT": {
+ "name": "pɔltukáal"
+ },
+ "BF": {
+ "name": "Pulikínafásó"
+ },
+ "BG": {
+ "name": "Pulukalíi"
+ },
+ "BI": {
+ "name": "Púlúndí"
+ },
+ "BN": {
+ "name": "Pulunéy"
+ },
+ "BA": {
+ "name": "Pusiní-ɛlkofína"
+ },
+ "BT": {
+ "name": "Putaŋ"
+ },
+ "ZM": {
+ "name": "saambíi"
+ },
+ "TD": {
+ "name": "Sáat"
+ },
+ "SV": {
+ "name": "salfatÉ”ÌÉ”l"
+ },
+ "JM": {
+ "name": "samayíik"
+ },
+ "WS": {
+ "name": "samowá"
+ },
+ "AS": {
+ "name": "Sámua u Amelíka"
+ },
+ "SM": {
+ "name": "san malíno"
+ },
+ "CF": {
+ "name": "Santalafilíik"
+ },
+ "JP": {
+ "name": "sapÉ”Ìɔŋ"
+ },
+ "ST": {
+ "name": "sáwó tomé e pelensípe"
+ },
+ "SN": {
+ "name": "senekáal"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SC": {
+ "name": "sesÉ›ÌÉ›l"
+ },
+ "VC": {
+ "name": "sÉ›ÌÅ‹ fɛŋsáŋ elekelenatíin"
+ },
+ "KN": {
+ "name": "sÉ›ÌÅ‹kilistÉ”Ìf eniÉ›Ìf"
+ },
+ "PM": {
+ "name": "sÉ›ÌÅ‹piÉ›Ìl e mikelÉ”ÌÅ‹"
+ },
+ "SH": {
+ "name": "sÉ›ÌÅ‹tÉ›Ì elÉ›ÌÉ›nÉ›"
+ },
+ "LC": {
+ "name": "sÉ›ÌÅ‹tÉ›Ìlusí"
+ },
+ "SL": {
+ "name": "sieláleyÉ”ÌÉ”n"
+ },
+ "CN": {
+ "name": "Síine"
+ },
+ "CL": {
+ "name": "Silí"
+ },
+ "LK": {
+ "name": "silíláŋka"
+ },
+ "SK": {
+ "name": "silofakí"
+ },
+ "SI": {
+ "name": "silofení"
+ },
+ "GI": {
+ "name": "sílpalatáal"
+ },
+ "ZW": {
+ "name": "simbapuwé"
+ },
+ "SG": {
+ "name": "singapúul"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "CY": {
+ "name": "síplɛ"
+ },
+ "DJ": {
+ "name": "síputí"
+ },
+ "SO": {
+ "name": "somalí"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "SS": {
+ "name": "South Sudan"
+ },
+ "GE": {
+ "name": "sɔlsíi"
+ },
+ "JO": {
+ "name": "sɔltaní"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SZ": {
+ "name": "suasiláand"
+ },
+ "SE": {
+ "name": "suÉ›Ìt"
+ },
+ "SR": {
+ "name": "sulináam"
+ },
+ "SD": {
+ "name": "sutáaŋ"
+ },
+ "CH": {
+ "name": "suwíis"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "SY": {
+ "name": "Syria"
+ },
+ "DK": {
+ "name": "tanemálk"
+ },
+ "TZ": {
+ "name": "taŋsaní"
+ },
+ "TJ": {
+ "name": "tasikistáaŋ"
+ },
+ "TH": {
+ "name": "tayiláand"
+ },
+ "TW": {
+ "name": "tayiwáan"
+ },
+ "TT": {
+ "name": "tilinitáat na tupákɔ"
+ },
+ "TL": {
+ "name": "timÉ”ÌÉ”l u nipálÉ›Ìn"
+ },
+ "TK": {
+ "name": "tokeló"
+ },
+ "TG": {
+ "name": "tokó"
+ },
+ "TO": {
+ "name": "tÉ”ÌÅ‹ka"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "TV": {
+ "name": "tufalú"
+ },
+ "TC": {
+ "name": "túluk na káyiik"
+ },
+ "TR": {
+ "name": "tulukíi"
+ },
+ "TM": {
+ "name": "tulukmenisitáaŋ"
+ },
+ "DM": {
+ "name": "túmúnéke"
+ },
+ "TN": {
+ "name": "tunusí"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "UG": {
+ "name": "ukánda"
+ },
+ "UA": {
+ "name": "ukilÉ›ÌÉ›n"
+ },
+ "RW": {
+ "name": "uluándá"
+ },
+ "UY": {
+ "name": "ulukuéy"
+ },
+ "RO": {
+ "name": "ulumaní"
+ },
+ "RU": {
+ "name": "ulusí"
+ },
+ "UZ": {
+ "name": "usupekistáaŋ"
+ },
+ "WF": {
+ "name": "walíis na futúna"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "YE": {
+ "name": "yémɛn"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/yo-BJ.json b/library/intl/resources/country/yo-BJ.json
new file mode 100644
index 000000000..c37ec283b
--- /dev/null
+++ b/library/intl/resources/country/yo-BJ.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "SS": {
+ "name": "Gúúsù Sudan"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "AD": {
+ "name": "OrílÉ›Ìède Ààndórà"
+ },
+ "AO": {
+ "name": "OrílÉ›Ìède Ààngólà"
+ },
+ "AI": {
+ "name": "OrílÉ›Ìède Ààngúlílà"
+ },
+ "AG": {
+ "name": "OrílÉ›Ìède Ààntígúà àti Báríbúdà"
+ },
+ "AF": {
+ "name": "OrílÉ›Ìède Àfùgànístánì"
+ },
+ "AR": {
+ "name": "OrílÉ›Ìède Agentínà"
+ },
+ "IE": {
+ "name": "OrílÉ›Ìède Ailandi"
+ },
+ "AL": {
+ "name": "OrílÉ›Ìède Àlùbàníánì"
+ },
+ "DZ": {
+ "name": "OrílÉ›Ìède Àlùgèríánì"
+ },
+ "AM": {
+ "name": "OrílÉ›Ìède Améníà"
+ },
+ "CF": {
+ "name": "OrílÉ›Ìède Àrin gùngun Ãfíríkà"
+ },
+ "ZA": {
+ "name": "OrílÉ›Ìède Ariwa Afirika"
+ },
+ "KR": {
+ "name": "OrílÉ›Ìède Ariwa KÉ”ria"
+ },
+ "AW": {
+ "name": "OrílÉ›Ìède Ãrúbà"
+ },
+ "AZ": {
+ "name": "OrílÉ›Ìède AsÉ›Ìbájánì"
+ },
+ "IS": {
+ "name": "OrílÉ›Ìède Ashilandi"
+ },
+ "AT": {
+ "name": "OrílÉ›Ìède Asítíríà"
+ },
+ "AU": {
+ "name": "OrílÉ›Ìède Ãstràlìá"
+ },
+ "BB": {
+ "name": "OrílÉ›Ìède Bábádósì"
+ },
+ "BS": {
+ "name": "OrílÉ›Ìède Bàhámásì"
+ },
+ "BD": {
+ "name": "OrílÉ›Ìède Bángáládésì"
+ },
+ "BH": {
+ "name": "OrílÉ›Ìède Báránì"
+ },
+ "BR": {
+ "name": "OrílÉ›Ìède Bàràsílì"
+ },
+ "BE": {
+ "name": "OrílÉ›Ìède BégíɔÌmù"
+ },
+ "BY": {
+ "name": "OrílÉ›Ìède Bélárúsì"
+ },
+ "BZ": {
+ "name": "OrílÉ›Ìède Bèlísɛ̀"
+ },
+ "BM": {
+ "name": "OrílÉ›Ìède Bémúdà"
+ },
+ "BJ": {
+ "name": "OrílÉ›Ìède Bɛ̀nɛ̀"
+ },
+ "BO": {
+ "name": "OrílÉ›Ìède Bɔ̀lífíyà"
+ },
+ "BA": {
+ "name": "OrílÉ›Ìède Bɔ̀síníà àti ÆtisÉ›gófínà"
+ },
+ "BW": {
+ "name": "OrílÉ›Ìède Bɔ̀tìsúwánà"
+ },
+ "BN": {
+ "name": "OrílÉ›Ìède BúrúnÉ›Ìlì"
+ },
+ "BT": {
+ "name": "OrílÉ›Ìède Bútánì"
+ },
+ "BG": {
+ "name": "OrílÉ›Ìède Bùùgáríà"
+ },
+ "BF": {
+ "name": "OrílÉ›Ìède Bùùkíná Fasò"
+ },
+ "BI": {
+ "name": "OrílÉ›Ìède Bùùrúndì"
+ },
+ "DK": {
+ "name": "OrílÉ›Ìède DÉ›Ìmákì"
+ },
+ "DJ": {
+ "name": "OrílÉ›Ìède DíbÉ”Ìótì"
+ },
+ "DM": {
+ "name": "OrílÉ›Ìède Dòmíníkà"
+ },
+ "DO": {
+ "name": "OrilÉ›Ìède Dòmíníkánì"
+ },
+ "EG": {
+ "name": "OrílÉ›Ìède Égípítì"
+ },
+ "EC": {
+ "name": "OrílÉ›Ìède Ekuádò"
+ },
+ "GQ": {
+ "name": "OrílÉ›Ìède Ekutoria Gini"
+ },
+ "ER": {
+ "name": "OrílÉ›Ìède Eritira"
+ },
+ "EE": {
+ "name": "OrílÉ›Ìède Esitonia"
+ },
+ "VI": {
+ "name": "OrílÉ›Ìède Etikun Fagini ti AmÉ›rika"
+ },
+ "VG": {
+ "name": "OrílÉ›Ìède Etíkun Fágínì ti ìlú Bírítísì"
+ },
+ "FK": {
+ "name": "OrílÉ›Ìède Etikun Fakalandi"
+ },
+ "MP": {
+ "name": "OrílÉ›Ìède Etikun Guusu Mariana"
+ },
+ "IO": {
+ "name": "OrílÉ›Ìède Etíkun Ãndíánì ti ÃŒlú Bírítísì"
+ },
+ "MH": {
+ "name": "OrílÉ›Ìède Etikun Máshali"
+ },
+ "NF": {
+ "name": "OrílÉ›Ìède Etikun NÉ”Ìúfókì"
+ },
+ "SB": {
+ "name": "OrílÉ›Ìède Etikun Solomoni"
+ },
+ "KY": {
+ "name": "OrílÉ›Ìède Etíokun Kámánì"
+ },
+ "CV": {
+ "name": "OrílÉ›Ìède Etíokun Kápé féndè"
+ },
+ "CK": {
+ "name": "OrílÉ›Ìède Etíokun Kùúkù"
+ },
+ "ET": {
+ "name": "OrílÉ›Ìède Etopia"
+ },
+ "SV": {
+ "name": "OrílÉ›Ìède ÆÉ›sáfádò"
+ },
+ "AE": {
+ "name": "OrílÉ›Ìède Æmirate ti AwÉ”n Arabu"
+ },
+ "VU": {
+ "name": "OrílÉ›Ìède Faniatu"
+ },
+ "FR": {
+ "name": "OrílÉ›Ìède Faranse"
+ },
+ "VA": {
+ "name": "OrílÉ›Ìède Fatikani"
+ },
+ "VE": {
+ "name": "OrílÉ›Ìède FÉ›nÉ›shuÉ›la"
+ },
+ "VN": {
+ "name": "OrílÉ›Ìède FÉ›tinami"
+ },
+ "FJ": {
+ "name": "OrílÉ›Ìède Fiji"
+ },
+ "FI": {
+ "name": "OrílÉ›Ìède Filandi"
+ },
+ "PH": {
+ "name": "OrílÉ›Ìède filipini"
+ },
+ "GF": {
+ "name": "OrílÉ›Ìède Firenshi Guana"
+ },
+ "PF": {
+ "name": "OrílÉ›Ìède Firenshi Polinesia"
+ },
+ "VC": {
+ "name": "OrílÉ›Ìède FisÉ›nnti ati Genadina"
+ },
+ "GA": {
+ "name": "OrílÉ›Ìède Gabon"
+ },
+ "GP": {
+ "name": "OrílÉ›Ìède Gadelope"
+ },
+ "GM": {
+ "name": "OrílÉ›Ìède Gambia"
+ },
+ "GH": {
+ "name": "OrílÉ›Ìède Gana"
+ },
+ "DE": {
+ "name": "OrílÉ›Ìède Gemani"
+ },
+ "GD": {
+ "name": "OrílÉ›Ìède Genada"
+ },
+ "GN": {
+ "name": "OrílÉ›Ìède Gene"
+ },
+ "GW": {
+ "name": "OrílÉ›Ìède Gene-Busau"
+ },
+ "GL": {
+ "name": "OrílÉ›Ìède Gerelandi"
+ },
+ "GR": {
+ "name": "OrílÉ›Ìède Geriisi"
+ },
+ "GI": {
+ "name": "OrílÉ›Ìède Gibaratara"
+ },
+ "GE": {
+ "name": "OrílÉ›Ìède GÉ”gia"
+ },
+ "GU": {
+ "name": "OrílÉ›Ìède Guamu"
+ },
+ "GT": {
+ "name": "OrílÉ›Ìède Guatemala"
+ },
+ "KP": {
+ "name": "OrílÉ›Ìède Guusu KÉ”ria"
+ },
+ "GY": {
+ "name": "OrílÉ›Ìède Guyana"
+ },
+ "HT": {
+ "name": "OrílÉ›Ìède Haati"
+ },
+ "SH": {
+ "name": "OrílÉ›Ìède HÉ›lena"
+ },
+ "HN": {
+ "name": "OrílÉ›Ìède Hondurasi"
+ },
+ "HU": {
+ "name": "OrílÉ›Ìède Hungari"
+ },
+ "TL": {
+ "name": "OrílÉ›Ìède ÃŒlàOòrùn Tímɔ̀"
+ },
+ "IN": {
+ "name": "OrílÉ›Ìède India"
+ },
+ "ID": {
+ "name": "OrílÉ›Ìède Indonesia"
+ },
+ "IQ": {
+ "name": "OrílÉ›Ìède Iraki"
+ },
+ "IR": {
+ "name": "OrílÉ›Ìède Irani"
+ },
+ "IL": {
+ "name": "OrílÉ›Ìède IserÉ›li"
+ },
+ "IT": {
+ "name": "OrílÉ›Ìède Italiyi"
+ },
+ "PS": {
+ "name": "OrílÉ›Ìède IwÉ”orun Pakisitian ati Gasha"
+ },
+ "JM": {
+ "name": "OrílÉ›Ìède Jamaika"
+ },
+ "JP": {
+ "name": "OrílÉ›Ìède Japani"
+ },
+ "JO": {
+ "name": "OrílÉ›Ìède JÉ”dani"
+ },
+ "NC": {
+ "name": "OrílÉ›Ìède Kaledonia Titun"
+ },
+ "CM": {
+ "name": "OrílÉ›Ìède Kamerúúnì"
+ },
+ "KH": {
+ "name": "OrílÉ›Ìède Kàmùbódíà"
+ },
+ "CA": {
+ "name": "OrílÉ›Ìède Kánádà"
+ },
+ "KZ": {
+ "name": "OrílÉ›Ìède Kashashatani"
+ },
+ "KE": {
+ "name": "OrílÉ›Ìède Kenya"
+ },
+ "KN": {
+ "name": "OrílÉ›Ìède Kiiti ati Neefi"
+ },
+ "KI": {
+ "name": "OrílÉ›Ìède Kiribati"
+ },
+ "CO": {
+ "name": "OrílÉ›Ìède Kòlómíbìa"
+ },
+ "KM": {
+ "name": "OrílÉ›Ìède Kòmòrósì"
+ },
+ "CD": {
+ "name": "OrilÉ›Ìède Kóngò"
+ },
+ "CG": {
+ "name": "OrílÉ›Ìède Kóngò"
+ },
+ "HR": {
+ "name": "OrílÉ›Ìède Kòróátíà"
+ },
+ "QA": {
+ "name": "OrílÉ›Ìède Kota"
+ },
+ "CI": {
+ "name": "OrílÉ›Ìède Kóútè forà"
+ },
+ "CU": {
+ "name": "OrílÉ›Ìède Kúbà"
+ },
+ "KG": {
+ "name": "OrílÉ›Ìède Kurishisitani"
+ },
+ "CY": {
+ "name": "OrílÉ›Ìède Kúrúsì"
+ },
+ "CR": {
+ "name": "OrílÉ›Ìède Kuusita Ríkà"
+ },
+ "KW": {
+ "name": "OrílÉ›Ìède Kuweti"
+ },
+ "LR": {
+ "name": "OrílÉ›Ìède Laberia"
+ },
+ "LA": {
+ "name": "OrílÉ›Ìède Laosi"
+ },
+ "LV": {
+ "name": "OrílÉ›Ìède Latifia"
+ },
+ "LB": {
+ "name": "OrílÉ›Ìède Lebanoni"
+ },
+ "LS": {
+ "name": "OrílÉ›Ìède Lesoto"
+ },
+ "LI": {
+ "name": "OrílÉ›Ìède LÉ›shitÉ›nisiteni"
+ },
+ "LY": {
+ "name": "OrílÉ›Ìède Libiya"
+ },
+ "LT": {
+ "name": "OrílÉ›Ìède Lituania"
+ },
+ "LU": {
+ "name": "OrílÉ›Ìède Lusemogi"
+ },
+ "LC": {
+ "name": "OrílÉ›Ìède Lushia"
+ },
+ "MG": {
+ "name": "OrílÉ›Ìède Madasika"
+ },
+ "FM": {
+ "name": "OrílÉ›Ìède Makoronesia"
+ },
+ "MV": {
+ "name": "OrílÉ›Ìède Maladifi"
+ },
+ "MY": {
+ "name": "OrílÉ›Ìède Malasia"
+ },
+ "MT": {
+ "name": "OrílÉ›Ìède Malata"
+ },
+ "MW": {
+ "name": "OrílÉ›Ìède Malawi"
+ },
+ "ML": {
+ "name": "OrílÉ›Ìède Mali"
+ },
+ "MM": {
+ "name": "OrílÉ›Ìède Manamari"
+ },
+ "MR": {
+ "name": "OrílÉ›Ìède Maritania"
+ },
+ "MU": {
+ "name": "OrílÉ›Ìède Maritiusi"
+ },
+ "MK": {
+ "name": "OrílÉ›Ìède Masidonia"
+ },
+ "MQ": {
+ "name": "OrílÉ›Ìède Matinikuwi"
+ },
+ "YT": {
+ "name": "OrílÉ›Ìède Mayote"
+ },
+ "MX": {
+ "name": "OrílÉ›Ìède Mesiko"
+ },
+ "MD": {
+ "name": "OrílÉ›Ìède Modofia"
+ },
+ "MN": {
+ "name": "OrílÉ›Ìède Mogolia"
+ },
+ "MC": {
+ "name": "OrílÉ›Ìède Monako"
+ },
+ "MA": {
+ "name": "OrílÉ›Ìède Moroko"
+ },
+ "MZ": {
+ "name": "OrílÉ›Ìède Moshamibiku"
+ },
+ "MS": {
+ "name": "OrílÉ›Ìède Motserati"
+ },
+ "NE": {
+ "name": "OrílÉ›Ìède Nàìjá"
+ },
+ "NG": {
+ "name": "OrílÉ›Ìède Nàìjíríà"
+ },
+ "NA": {
+ "name": "OrílÉ›Ìède Namibia"
+ },
+ "NR": {
+ "name": "OrílÉ›Ìède Nauru"
+ },
+ "NL": {
+ "name": "OrílÉ›Ìède Nedalandi"
+ },
+ "NP": {
+ "name": "OrílÉ›Ìède Nepa"
+ },
+ "NI": {
+ "name": "OrílÉ›Ìède NIkaragua"
+ },
+ "NU": {
+ "name": "OrílÉ›Ìède Niue"
+ },
+ "NO": {
+ "name": "OrílÉ›Ìède Nɔɔwii"
+ },
+ "UY": {
+ "name": "OrílÉ›Ìède Nruguayi"
+ },
+ "UZ": {
+ "name": "OrílÉ›Ìède NshibÉ›kisitani"
+ },
+ "GB": {
+ "name": "OrílÉ›Ìède Omobabirin"
+ },
+ "US": {
+ "name": "OrílÉ›Ìède OrilÉ›ede Amerika"
+ },
+ "OM": {
+ "name": "OrílÉ›Ìède Ɔɔma"
+ },
+ "PW": {
+ "name": "OrílÉ›Ìède Paalu"
+ },
+ "PG": {
+ "name": "OrílÉ›Ìède Paapu ti Giini"
+ },
+ "PK": {
+ "name": "OrílÉ›Ìède Pakisitan"
+ },
+ "PA": {
+ "name": "OrílÉ›Ìède Panama"
+ },
+ "PY": {
+ "name": "OrílÉ›Ìède Paraguye"
+ },
+ "PE": {
+ "name": "OrílÉ›Ìède Peru"
+ },
+ "PM": {
+ "name": "OrílÉ›Ìède Pɛɛri ati mikuloni"
+ },
+ "PN": {
+ "name": "OrílÉ›Ìède Pikarini"
+ },
+ "PL": {
+ "name": "OrílÉ›Ìède Polandi"
+ },
+ "PR": {
+ "name": "OrílÉ›Ìède PÉ”to Riko"
+ },
+ "PT": {
+ "name": "OrílÉ›Ìède PÉ”tugi"
+ },
+ "RE": {
+ "name": "OrílÉ›Ìède Riuniyan"
+ },
+ "RO": {
+ "name": "OrílÉ›Ìède Romaniya"
+ },
+ "RU": {
+ "name": "OrílÉ›Ìède RÉ”shia"
+ },
+ "RW": {
+ "name": "OrílÉ›Ìède Ruwanda"
+ },
+ "WS": {
+ "name": "OrílÉ›Ìède SamÉ”"
+ },
+ "SM": {
+ "name": "OrílÉ›Ìède Sani Marino"
+ },
+ "ST": {
+ "name": "OrílÉ›Ìède Sao tomi ati piriishipi"
+ },
+ "SZ": {
+ "name": "OrílÉ›Ìède Sashiland"
+ },
+ "SA": {
+ "name": "OrílÉ›Ìède Saudi Arabia"
+ },
+ "SC": {
+ "name": "OrílÉ›Ìède seshÉ›lÉ›si"
+ },
+ "SN": {
+ "name": "OrílÉ›Ìède SÉ›nÉ›ga"
+ },
+ "TD": {
+ "name": "OrílÉ›Ìède shààdì"
+ },
+ "CN": {
+ "name": "OrílÉ›Ìède sháínà"
+ },
+ "ZM": {
+ "name": "OrílÉ›Ìède shamibia"
+ },
+ "CZ": {
+ "name": "OrílÉ›Ìède shÉ›ÌÉ›Ìkì"
+ },
+ "NZ": {
+ "name": "OrílÉ›Ìède shilandi Titun"
+ },
+ "CL": {
+ "name": "OrílÉ›Ìède shílè"
+ },
+ "ZW": {
+ "name": "OrílÉ›Ìède shimibabe"
+ },
+ "SK": {
+ "name": "OrílÉ›Ìède Silofakia"
+ },
+ "SI": {
+ "name": "OrílÉ›Ìède Silofania"
+ },
+ "SG": {
+ "name": "OrílÉ›Ìède Singapo"
+ },
+ "ES": {
+ "name": "OrílÉ›Ìède Sipani"
+ },
+ "LK": {
+ "name": "OrílÉ›Ìède Siri Lanka"
+ },
+ "SY": {
+ "name": "OrílÉ›Ìède Siria"
+ },
+ "SL": {
+ "name": "OrílÉ›Ìède Siria looni"
+ },
+ "SO": {
+ "name": "OrílÉ›Ìède Somalia"
+ },
+ "SD": {
+ "name": "OrílÉ›Ìède Sudani"
+ },
+ "SR": {
+ "name": "OrílÉ›Ìède Surinami"
+ },
+ "SE": {
+ "name": "OrílÉ›Ìède Swidini"
+ },
+ "CH": {
+ "name": "OrílÉ›Ìède switishilandi"
+ },
+ "TH": {
+ "name": "OrílÉ›Ìède Tailandi"
+ },
+ "TW": {
+ "name": "OrílÉ›Ìède Taiwani"
+ },
+ "TJ": {
+ "name": "OrílÉ›Ìède Takisitani"
+ },
+ "TZ": {
+ "name": "OrílÉ›Ìède Tanshania"
+ },
+ "TT": {
+ "name": "OrílÉ›Ìède Tirinida ati Tobaga"
+ },
+ "TG": {
+ "name": "OrílÉ›Ìède Togo"
+ },
+ "TK": {
+ "name": "OrílÉ›Ìède Tokelau"
+ },
+ "TO": {
+ "name": "OrílÉ›Ìède Tonga"
+ },
+ "TR": {
+ "name": "OrílÉ›Ìède Tɔɔki"
+ },
+ "TC": {
+ "name": "OrílÉ›Ìède Tɔɔki ati Etikun KakÉ”si"
+ },
+ "TM": {
+ "name": "OrílÉ›Ìède Tɔɔkimenisita"
+ },
+ "TV": {
+ "name": "OrílÉ›Ìède Tufalu"
+ },
+ "TN": {
+ "name": "OrílÉ›Ìède Tunishia"
+ },
+ "UG": {
+ "name": "OrílÉ›Ìède Uganda"
+ },
+ "UA": {
+ "name": "OrílÉ›Ìède Ukarini"
+ },
+ "WF": {
+ "name": "OrílÉ›Ìède Wali ati futuna"
+ },
+ "YE": {
+ "name": "OrílÉ›Ìède yemeni"
+ },
+ "AS": {
+ "name": "Sámóánì ti OrílÉ›Ìède Àméríkà"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/yo.json b/library/intl/resources/country/yo.json
new file mode 100644
index 000000000..561b81669
--- /dev/null
+++ b/library/intl/resources/country/yo.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "SS": {
+ "name": "Gúúsù Sudan"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "ME": {
+ "name": "Montenegro"
+ },
+ "AD": {
+ "name": "OrílẹÌède Ààndórà"
+ },
+ "AO": {
+ "name": "OrílẹÌède Ààngólà"
+ },
+ "AI": {
+ "name": "OrílẹÌède Ààngúlílà"
+ },
+ "AG": {
+ "name": "OrílẹÌède Ààntígúà àti Báríbúdà"
+ },
+ "AF": {
+ "name": "OrílẹÌède Àfùgànístánì"
+ },
+ "AR": {
+ "name": "OrílẹÌède Agentínà"
+ },
+ "IE": {
+ "name": "OrílẹÌède Ailandi"
+ },
+ "AL": {
+ "name": "OrílẹÌède Àlùbàníánì"
+ },
+ "DZ": {
+ "name": "OrílẹÌède Àlùgèríánì"
+ },
+ "AM": {
+ "name": "OrílẹÌède Améníà"
+ },
+ "CF": {
+ "name": "OrílẹÌède Àrin gùngun Ãfíríkà"
+ },
+ "ZA": {
+ "name": "OrílẹÌède Ariwa Afirika"
+ },
+ "KR": {
+ "name": "OrílẹÌède Ariwa Ká»ria"
+ },
+ "AW": {
+ "name": "OrílẹÌède Ãrúbà"
+ },
+ "AZ": {
+ "name": "OrílẹÌède AsẹÌbájánì"
+ },
+ "AT": {
+ "name": "OrílẹÌède Asítíríà"
+ },
+ "AU": {
+ "name": "OrílẹÌède Ãstràlìá"
+ },
+ "IS": {
+ "name": "OrílẹÌède Aá¹£ilandi"
+ },
+ "BB": {
+ "name": "OrílẹÌède Bábádósì"
+ },
+ "BS": {
+ "name": "OrílẹÌède Bàhámásì"
+ },
+ "BD": {
+ "name": "OrílẹÌède Bángáládésì"
+ },
+ "BH": {
+ "name": "OrílẹÌède Báránì"
+ },
+ "BR": {
+ "name": "OrílẹÌède Bàràsílì"
+ },
+ "BE": {
+ "name": "OrílẹÌède Bégíá»Ìmù"
+ },
+ "BY": {
+ "name": "OrílẹÌède Bélárúsì"
+ },
+ "BZ": {
+ "name": "OrílẹÌède Bèlísẹ̀"
+ },
+ "BM": {
+ "name": "OrílẹÌède Bémúdà"
+ },
+ "BJ": {
+ "name": "OrílẹÌède Bẹ̀nẹ̀"
+ },
+ "BO": {
+ "name": "OrílẹÌède Bá»Ì€lífíyà"
+ },
+ "BA": {
+ "name": "OrílẹÌède Bá»Ì€síníà àti Ẹtisẹgófínà"
+ },
+ "BW": {
+ "name": "OrílẹÌède Bá»Ì€tìsúwánà"
+ },
+ "BN": {
+ "name": "OrílẹÌède BúrúnẹÌlì"
+ },
+ "BT": {
+ "name": "OrílẹÌède Bútánì"
+ },
+ "BG": {
+ "name": "OrílẹÌède Bùùgáríà"
+ },
+ "BF": {
+ "name": "OrílẹÌède Bùùkíná Fasò"
+ },
+ "BI": {
+ "name": "OrílẹÌède Bùùrúndì"
+ },
+ "DK": {
+ "name": "OrílẹÌède DẹÌmákì"
+ },
+ "DJ": {
+ "name": "OrílẹÌède Díbá»Ìótì"
+ },
+ "DM": {
+ "name": "OrílẹÌède Dòmíníkà"
+ },
+ "DO": {
+ "name": "OrilẹÌède Dòmíníkánì"
+ },
+ "EG": {
+ "name": "OrílẹÌède Égípítì"
+ },
+ "EC": {
+ "name": "OrílẹÌède Ekuádò"
+ },
+ "GQ": {
+ "name": "OrílẹÌède Ekutoria Gini"
+ },
+ "ER": {
+ "name": "OrílẹÌède Eritira"
+ },
+ "EE": {
+ "name": "OrílẹÌède Esitonia"
+ },
+ "VI": {
+ "name": "OrílẹÌède Etikun Fagini ti Amẹrika"
+ },
+ "VG": {
+ "name": "OrílẹÌède Etíkun Fágínì ti ìlú Bírítísì"
+ },
+ "FK": {
+ "name": "OrílẹÌède Etikun Fakalandi"
+ },
+ "MP": {
+ "name": "OrílẹÌède Etikun Guusu Mariana"
+ },
+ "IO": {
+ "name": "OrílẹÌède Etíkun Ãndíánì ti ÃŒlú Bírítísì"
+ },
+ "MH": {
+ "name": "OrílẹÌède Etikun Máṣali"
+ },
+ "NF": {
+ "name": "OrílẹÌède Etikun Ná»Ìúfókì"
+ },
+ "SB": {
+ "name": "OrílẹÌède Etikun Solomoni"
+ },
+ "KY": {
+ "name": "OrílẹÌède Etíokun Kámánì"
+ },
+ "CV": {
+ "name": "OrílẹÌède Etíokun Kápé féndè"
+ },
+ "CK": {
+ "name": "OrílẹÌède Etíokun Kùúkù"
+ },
+ "ET": {
+ "name": "OrílẹÌède Etopia"
+ },
+ "SV": {
+ "name": "OrílẹÌède Ẹẹsáfádò"
+ },
+ "AE": {
+ "name": "OrílẹÌède Ẹmirate ti Awá»n Arabu"
+ },
+ "VU": {
+ "name": "OrílẹÌède Faniatu"
+ },
+ "FR": {
+ "name": "OrílẹÌède Faranse"
+ },
+ "VA": {
+ "name": "OrílẹÌède Fatikani"
+ },
+ "VE": {
+ "name": "OrílẹÌède Fẹnẹṣuẹla"
+ },
+ "VN": {
+ "name": "OrílẹÌède Fẹtinami"
+ },
+ "FJ": {
+ "name": "OrílẹÌède Fiji"
+ },
+ "FI": {
+ "name": "OrílẹÌède Filandi"
+ },
+ "PH": {
+ "name": "OrílẹÌède filipini"
+ },
+ "GF": {
+ "name": "OrílẹÌède Firená¹£i Guana"
+ },
+ "PF": {
+ "name": "OrílẹÌède Firená¹£i Polinesia"
+ },
+ "VC": {
+ "name": "OrílẹÌède Fisẹnnti ati Genadina"
+ },
+ "GA": {
+ "name": "OrílẹÌède Gabon"
+ },
+ "GP": {
+ "name": "OrílẹÌède Gadelope"
+ },
+ "GM": {
+ "name": "OrílẹÌède Gambia"
+ },
+ "GH": {
+ "name": "OrílẹÌède Gana"
+ },
+ "DE": {
+ "name": "OrílẹÌède Gemani"
+ },
+ "GD": {
+ "name": "OrílẹÌède Genada"
+ },
+ "GN": {
+ "name": "OrílẹÌède Gene"
+ },
+ "GW": {
+ "name": "OrílẹÌède Gene-Busau"
+ },
+ "GL": {
+ "name": "OrílẹÌède Gerelandi"
+ },
+ "GR": {
+ "name": "OrílẹÌède Geriisi"
+ },
+ "GI": {
+ "name": "OrílẹÌède Gibaratara"
+ },
+ "GE": {
+ "name": "OrílẹÌède Gá»gia"
+ },
+ "GU": {
+ "name": "OrílẹÌède Guamu"
+ },
+ "GT": {
+ "name": "OrílẹÌède Guatemala"
+ },
+ "KP": {
+ "name": "OrílẹÌède Guusu Ká»ria"
+ },
+ "GY": {
+ "name": "OrílẹÌède Guyana"
+ },
+ "HT": {
+ "name": "OrílẹÌède Haati"
+ },
+ "SH": {
+ "name": "OrílẹÌède Hẹlena"
+ },
+ "HN": {
+ "name": "OrílẹÌède Hondurasi"
+ },
+ "HU": {
+ "name": "OrílẹÌède Hungari"
+ },
+ "TL": {
+ "name": "OrílẹÌède ÃŒlàOòrùn Tímá»Ì€"
+ },
+ "IN": {
+ "name": "OrílẹÌède India"
+ },
+ "ID": {
+ "name": "OrílẹÌède Indonesia"
+ },
+ "IQ": {
+ "name": "OrílẹÌède Iraki"
+ },
+ "IR": {
+ "name": "OrílẹÌède Irani"
+ },
+ "IL": {
+ "name": "OrílẹÌède Iserẹli"
+ },
+ "IT": {
+ "name": "OrílẹÌède Italiyi"
+ },
+ "PS": {
+ "name": "OrílẹÌède Iwá»orun Pakisitian ati Gaá¹£a"
+ },
+ "JM": {
+ "name": "OrílẹÌède Jamaika"
+ },
+ "JP": {
+ "name": "OrílẹÌède Japani"
+ },
+ "JO": {
+ "name": "OrílẹÌède Já»dani"
+ },
+ "NC": {
+ "name": "OrílẹÌède Kaledonia Titun"
+ },
+ "CM": {
+ "name": "OrílẹÌède Kamerúúnì"
+ },
+ "KH": {
+ "name": "OrílẹÌède Kàmùbódíà"
+ },
+ "CA": {
+ "name": "OrílẹÌède Kánádà"
+ },
+ "KZ": {
+ "name": "OrílẹÌède Kaá¹£aá¹£atani"
+ },
+ "KE": {
+ "name": "OrílẹÌède Kenya"
+ },
+ "KN": {
+ "name": "OrílẹÌède Kiiti ati Neefi"
+ },
+ "KI": {
+ "name": "OrílẹÌède Kiribati"
+ },
+ "CO": {
+ "name": "OrílẹÌède Kòlómíbìa"
+ },
+ "KM": {
+ "name": "OrílẹÌède Kòmòrósì"
+ },
+ "CD": {
+ "name": "OrilẹÌède Kóngò"
+ },
+ "CG": {
+ "name": "OrílẹÌède Kóngò"
+ },
+ "HR": {
+ "name": "OrílẹÌède Kòróátíà"
+ },
+ "QA": {
+ "name": "OrílẹÌède Kota"
+ },
+ "CI": {
+ "name": "OrílẹÌède Kóútè forà"
+ },
+ "CU": {
+ "name": "OrílẹÌède Kúbà"
+ },
+ "KG": {
+ "name": "OrílẹÌède Kuriá¹£isitani"
+ },
+ "CY": {
+ "name": "OrílẹÌède Kúrúsì"
+ },
+ "CR": {
+ "name": "OrílẹÌède Kuusita Ríkà"
+ },
+ "KW": {
+ "name": "OrílẹÌède Kuweti"
+ },
+ "LR": {
+ "name": "OrílẹÌède Laberia"
+ },
+ "LA": {
+ "name": "OrílẹÌède Laosi"
+ },
+ "LV": {
+ "name": "OrílẹÌède Latifia"
+ },
+ "LB": {
+ "name": "OrílẹÌède Lebanoni"
+ },
+ "LS": {
+ "name": "OrílẹÌède Lesoto"
+ },
+ "LI": {
+ "name": "OrílẹÌède Lẹṣitẹnisiteni"
+ },
+ "LY": {
+ "name": "OrílẹÌède Libiya"
+ },
+ "LT": {
+ "name": "OrílẹÌède Lituania"
+ },
+ "LU": {
+ "name": "OrílẹÌède Lusemogi"
+ },
+ "LC": {
+ "name": "OrílẹÌède Luá¹£ia"
+ },
+ "MG": {
+ "name": "OrílẹÌède Madasika"
+ },
+ "FM": {
+ "name": "OrílẹÌède Makoronesia"
+ },
+ "MV": {
+ "name": "OrílẹÌède Maladifi"
+ },
+ "MY": {
+ "name": "OrílẹÌède Malasia"
+ },
+ "MT": {
+ "name": "OrílẹÌède Malata"
+ },
+ "MW": {
+ "name": "OrílẹÌède Malawi"
+ },
+ "ML": {
+ "name": "OrílẹÌède Mali"
+ },
+ "MM": {
+ "name": "OrílẹÌède Manamari"
+ },
+ "MR": {
+ "name": "OrílẹÌède Maritania"
+ },
+ "MU": {
+ "name": "OrílẹÌède Maritiusi"
+ },
+ "MK": {
+ "name": "OrílẹÌède Masidonia"
+ },
+ "MQ": {
+ "name": "OrílẹÌède Matinikuwi"
+ },
+ "YT": {
+ "name": "OrílẹÌède Mayote"
+ },
+ "MX": {
+ "name": "OrílẹÌède Mesiko"
+ },
+ "MD": {
+ "name": "OrílẹÌède Modofia"
+ },
+ "MN": {
+ "name": "OrílẹÌède Mogolia"
+ },
+ "MC": {
+ "name": "OrílẹÌède Monako"
+ },
+ "MA": {
+ "name": "OrílẹÌède Moroko"
+ },
+ "MZ": {
+ "name": "OrílẹÌède Moá¹£amibiku"
+ },
+ "MS": {
+ "name": "OrílẹÌède Motserati"
+ },
+ "NE": {
+ "name": "OrílẹÌède Nàìjá"
+ },
+ "NG": {
+ "name": "OrílẹÌède Nàìjíríà"
+ },
+ "NA": {
+ "name": "OrílẹÌède Namibia"
+ },
+ "NR": {
+ "name": "OrílẹÌède Nauru"
+ },
+ "NL": {
+ "name": "OrílẹÌède Nedalandi"
+ },
+ "NP": {
+ "name": "OrílẹÌède Nepa"
+ },
+ "NI": {
+ "name": "OrílẹÌède NIkaragua"
+ },
+ "NU": {
+ "name": "OrílẹÌède Niue"
+ },
+ "NO": {
+ "name": "OrílẹÌède Ná»á»wii"
+ },
+ "UY": {
+ "name": "OrílẹÌède Nruguayi"
+ },
+ "UZ": {
+ "name": "OrílẹÌède Ná¹£ibẹkisitani"
+ },
+ "GB": {
+ "name": "OrílẹÌède Omobabirin"
+ },
+ "US": {
+ "name": "OrílẹÌède Orilẹede Amerika"
+ },
+ "OM": {
+ "name": "OrílẹÌède Ọá»ma"
+ },
+ "PW": {
+ "name": "OrílẹÌède Paalu"
+ },
+ "PG": {
+ "name": "OrílẹÌède Paapu ti Giini"
+ },
+ "PK": {
+ "name": "OrílẹÌède Pakisitan"
+ },
+ "PA": {
+ "name": "OrílẹÌède Panama"
+ },
+ "PY": {
+ "name": "OrílẹÌède Paraguye"
+ },
+ "PE": {
+ "name": "OrílẹÌède Peru"
+ },
+ "PM": {
+ "name": "OrílẹÌède Pẹẹri ati mikuloni"
+ },
+ "PN": {
+ "name": "OrílẹÌède Pikarini"
+ },
+ "PL": {
+ "name": "OrílẹÌède Polandi"
+ },
+ "PR": {
+ "name": "OrílẹÌède Pá»to Riko"
+ },
+ "PT": {
+ "name": "OrílẹÌède Pá»tugi"
+ },
+ "RE": {
+ "name": "OrílẹÌède Riuniyan"
+ },
+ "RO": {
+ "name": "OrílẹÌède Romaniya"
+ },
+ "RU": {
+ "name": "OrílẹÌède Rá»á¹£ia"
+ },
+ "RW": {
+ "name": "OrílẹÌède Ruwanda"
+ },
+ "WS": {
+ "name": "OrílẹÌède Samá»"
+ },
+ "SM": {
+ "name": "OrílẹÌède Sani Marino"
+ },
+ "ST": {
+ "name": "OrílẹÌède Sao tomi ati piriiá¹£ipi"
+ },
+ "SZ": {
+ "name": "OrílẹÌède Saá¹£iland"
+ },
+ "SA": {
+ "name": "OrílẹÌède Saudi Arabia"
+ },
+ "SC": {
+ "name": "OrílẹÌède seṣẹlẹsi"
+ },
+ "SN": {
+ "name": "OrílẹÌède Sẹnẹga"
+ },
+ "SK": {
+ "name": "OrílẹÌède Silofakia"
+ },
+ "SI": {
+ "name": "OrílẹÌède Silofania"
+ },
+ "SG": {
+ "name": "OrílẹÌède Singapo"
+ },
+ "ES": {
+ "name": "OrílẹÌède Sipani"
+ },
+ "LK": {
+ "name": "OrílẹÌède Siri Lanka"
+ },
+ "SY": {
+ "name": "OrílẹÌède Siria"
+ },
+ "SL": {
+ "name": "OrílẹÌède Siria looni"
+ },
+ "SO": {
+ "name": "OrílẹÌède Somalia"
+ },
+ "SD": {
+ "name": "OrílẹÌède Sudani"
+ },
+ "SR": {
+ "name": "OrílẹÌède Surinami"
+ },
+ "SE": {
+ "name": "OrílẹÌède Swidini"
+ },
+ "CH": {
+ "name": "OrílẹÌède switiá¹£ilandi"
+ },
+ "TD": {
+ "name": "OrílẹÌède ṣààdì"
+ },
+ "CN": {
+ "name": "OrílẹÌède ṣáínà"
+ },
+ "ZM": {
+ "name": "OrílẹÌède á¹£amibia"
+ },
+ "CZ": {
+ "name": "OrílẹÌède ṣẹÌẹÌkì"
+ },
+ "NZ": {
+ "name": "OrílẹÌède á¹£ilandi Titun"
+ },
+ "CL": {
+ "name": "OrílẹÌède ṣílè"
+ },
+ "ZW": {
+ "name": "OrílẹÌède á¹£imibabe"
+ },
+ "TH": {
+ "name": "OrílẹÌède Tailandi"
+ },
+ "TW": {
+ "name": "OrílẹÌède Taiwani"
+ },
+ "TJ": {
+ "name": "OrílẹÌède Takisitani"
+ },
+ "TZ": {
+ "name": "OrílẹÌède Taná¹£ania"
+ },
+ "TT": {
+ "name": "OrílẹÌède Tirinida ati Tobaga"
+ },
+ "TG": {
+ "name": "OrílẹÌède Togo"
+ },
+ "TK": {
+ "name": "OrílẹÌède Tokelau"
+ },
+ "TO": {
+ "name": "OrílẹÌède Tonga"
+ },
+ "TR": {
+ "name": "OrílẹÌède Tá»á»ki"
+ },
+ "TC": {
+ "name": "OrílẹÌède Tá»á»ki ati Etikun Kaká»si"
+ },
+ "TM": {
+ "name": "OrílẹÌède Tá»á»kimenisita"
+ },
+ "TV": {
+ "name": "OrílẹÌède Tufalu"
+ },
+ "TN": {
+ "name": "OrílẹÌède Tuniá¹£ia"
+ },
+ "UG": {
+ "name": "OrílẹÌède Uganda"
+ },
+ "UA": {
+ "name": "OrílẹÌède Ukarini"
+ },
+ "WF": {
+ "name": "OrílẹÌède Wali ati futuna"
+ },
+ "YE": {
+ "name": "OrílẹÌède yemeni"
+ },
+ "AS": {
+ "name": "Sámóánì ti OrílẹÌède Àméríkà"
+ },
+ "RS": {
+ "name": "Serbia"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/zgh.json b/library/intl/resources/country/zgh.json
new file mode 100644
index 000000000..9aa27f8b5
--- /dev/null
+++ b/library/intl/resources/country/zgh.json
@@ -0,0 +1,761 @@
+{
+ "AX": {
+ "name": "Ã…land Islands"
+ },
+ "AQ": {
+ "name": "Antarctica"
+ },
+ "AC": {
+ "name": "Ascension Island"
+ },
+ "IC": {
+ "name": "Canary Islands"
+ },
+ "BQ": {
+ "name": "Caribbean Netherlands"
+ },
+ "EA": {
+ "name": "Ceuta & Melilla"
+ },
+ "CX": {
+ "name": "Christmas Island"
+ },
+ "CC": {
+ "name": "Cocos (Keeling) Islands"
+ },
+ "CW": {
+ "name": "Curaçao"
+ },
+ "DG": {
+ "name": "Diego Garcia"
+ },
+ "FO": {
+ "name": "Faroe Islands"
+ },
+ "TF": {
+ "name": "French Southern Territories"
+ },
+ "GG": {
+ "name": "Guernsey"
+ },
+ "HK": {
+ "name": "Hong Kong SAR China"
+ },
+ "IM": {
+ "name": "Isle of Man"
+ },
+ "JE": {
+ "name": "Jersey"
+ },
+ "XK": {
+ "name": "Kosovo"
+ },
+ "MO": {
+ "name": "Macau SAR China"
+ },
+ "SX": {
+ "name": "Sint Maarten"
+ },
+ "GS": {
+ "name": "South Georgia & South Sandwich Islands"
+ },
+ "BL": {
+ "name": "St. Barthélemy"
+ },
+ "MF": {
+ "name": "St. Martin"
+ },
+ "SJ": {
+ "name": "Svalbard & Jan Mayen"
+ },
+ "TA": {
+ "name": "Tristan da Cunha"
+ },
+ "UM": {
+ "name": "U.S. Outlying Islands"
+ },
+ "EH": {
+ "name": "Western Sahara"
+ },
+ "PS": {
+ "name": "ⴰⴳⵎⵎⴰⴹ ⵠⵜⴰⴳⵓⵜ ⴷ ⵖⵣⵣⴰ"
+ },
+ "AZ": {
+ "name": "ⴰⴷⵔⴰⴱⵉⵊⴰâµ"
+ },
+ "GI": {
+ "name": "ⴰⴷⵔⴰⵔ ⵠⵟⴰⵕⵉⵇ"
+ },
+ "ZA": {
+ "name": "ⴰⴼⵔⵉⵇⵢⴰ ⵠⵉⴼⴼⵓⵙ"
+ },
+ "AF": {
+ "name": "ⴰⴼⵖⴰâµâµ‰âµ™âµœâ´°âµ"
+ },
+ "AL": {
+ "name": "â´°âµâ´±â´°âµâµ¢â´°"
+ },
+ "DE": {
+ "name": "â´°âµâµŽâ´°âµâµ¢â´°"
+ },
+ "AI": {
+ "name": "â´°âµâ´³âµ‰âµâ´°"
+ },
+ "AO": {
+ "name": "â´°âµâ´³âµ“âµâ´°"
+ },
+ "ID": {
+ "name": "â´°âµâ´·âµ“âµâµ‰âµ™âµ¢â´°"
+ },
+ "AD": {
+ "name": "â´°âµâ´·âµ“ⵔⴰ"
+ },
+ "AG": {
+ "name": "â´°âµâµœâµ‰â´³â´° â´· ⴱⵔⴱⵓⴷⴰ"
+ },
+ "AR": {
+ "name": "ⴰⵔⵊⴰâµâµœâµ‰âµ"
+ },
+ "AM": {
+ "name": "ⴰⵔⵎⵉâµâµ¢â´°"
+ },
+ "AW": {
+ "name": "ⴰⵔⵓⴱⴰ"
+ },
+ "VA": {
+ "name": "ⴰⵡⴰâµâ´½ ⵠⴼⴰⵜⵉⴽⴰâµ"
+ },
+ "PG": {
+ "name": "ⴱⴰⴱⵡⴰ ⵖⵉâµâµ¢â´° ⵜⴰⵎⴰⵢâµâµ“ⵜ"
+ },
+ "PK": {
+ "name": "ⴱⴰⴽⵉⵙⵜⴰâµ"
+ },
+ "BS": {
+ "name": "ⴱⴰⵀⴰⵎⴰⵙ"
+ },
+ "PW": {
+ "name": "ⴱⴰâµâ´°âµ¡"
+ },
+ "PA": {
+ "name": "ⴱⴰâµâ´°âµŽâ´°"
+ },
+ "BD": {
+ "name": "ⴱⴰâµâ´³âµâ´°â´·âµ‰âµ›"
+ },
+ "PY": {
+ "name": "ⴱⴰⵔⴰⴳⵡⴰⵢ"
+ },
+ "BB": {
+ "name": "ⴱⴰⵔⴱⴰⴷ"
+ },
+ "BT": {
+ "name": "ⴱⵀⵓⵜⴰâµ"
+ },
+ "BH": {
+ "name": "ⴱⵃⵔⴰⵢâµ"
+ },
+ "BY": {
+ "name": "ⴱⵉâµâ´°âµ”ⵓⵙⵢⴰ"
+ },
+ "BZ": {
+ "name": "ⴱⵉâµâµ‰âµ£"
+ },
+ "BJ": {
+ "name": "ⴱⵉâµâµ‰âµ"
+ },
+ "PE": {
+ "name": "ⴱⵉⵔⵓ"
+ },
+ "PN": {
+ "name": "ⴱⵉⵜⴽⴰⵢⵔâµ"
+ },
+ "BE": {
+ "name": "â´±âµâµŠâµ‰â´½â´°"
+ },
+ "BG": {
+ "name": "â´±âµâµ–ⴰⵔⵢⴰ"
+ },
+ "BO": {
+ "name": "ⴱⵓâµâµ‰â´±âµ¢â´°"
+ },
+ "PF": {
+ "name": "ⴱⵓâµâµ‰âµâµ‰âµ£âµ¢â´° ⵜⴰⴼⵔⴰâµâµ™âµ‰âµ™âµœ"
+ },
+ "PL": {
+ "name": "ⴱⵓâµâµ“âµâµ¢â´°"
+ },
+ "BF": {
+ "name": "ⴱⵓⵔⴽⵉâµâ´° ⴼⴰⵙⵓ"
+ },
+ "BI": {
+ "name": "ⴱⵓⵔⵓâµâ´·âµ‰"
+ },
+ "PR": {
+ "name": "ⴱⵓⵔⵜⵓ ⵔⵉⴽⵓ"
+ },
+ "BA": {
+ "name": "ⴱⵓⵙâµâ´° â´· ⵀⵉⵔⵙⵉⴽ"
+ },
+ "BW": {
+ "name": "ⴱⵓⵜⵙⵡⴰâµâ´°"
+ },
+ "BR": {
+ "name": "ⴱⵔⴰⵣⵉâµ"
+ },
+ "BM": {
+ "name": "ⴱⵔⵎⵓⴷⴰ"
+ },
+ "BN": {
+ "name": "ⴱⵔⵓâµâµ‰"
+ },
+ "PT": {
+ "name": "ⴱⵕⵟⵇⵉⵣ"
+ },
+ "GA": {
+ "name": "ⴳⴰⴱⵓâµ"
+ },
+ "GM": {
+ "name": "ⴳⴰⵎⴱⵢⴰ"
+ },
+ "GL": {
+ "name": "ⴳⵔⵉâµâ´°âµâ´·"
+ },
+ "GP": {
+ "name": "ⴳⵡⴰⴷⴰâµâµ“â´±"
+ },
+ "GU": {
+ "name": "ⴳⵡⴰⵎ"
+ },
+ "GT": {
+ "name": "ⴳⵡⴰⵜⵉⵎⴰâµâ´°"
+ },
+ "GF": {
+ "name": "ⴳⵡⵉⵢⴰⵠⵜⴰⴼⵔⴰâµâµ™âµ‰âµ™âµœ"
+ },
+ "GY": {
+ "name": "ⴳⵡⵉⵢⴰâµâ´°"
+ },
+ "DK": {
+ "name": "â´·â´°âµâµŽâ´°âµ”â´½"
+ },
+ "DJ": {
+ "name": "ⴷⵊⵉⴱⵓⵜⵉ"
+ },
+ "DM": {
+ "name": "ⴷⵓⵎⵉâµâµ‰â´½"
+ },
+ "DZ": {
+ "name": "ⴷⵣⴰⵢⵔ"
+ },
+ "VU": {
+ "name": "ⴼⴰâµâµ¡â´°âµŸâµ“"
+ },
+ "FJ": {
+ "name": "ⴼⵉⴷⵊⵉ"
+ },
+ "PH": {
+ "name": "ⴼⵉâµâµ‰â´±â´±âµ‰âµ"
+ },
+ "FI": {
+ "name": "ⴼⵉâµâµâ´°âµâ´·â´°"
+ },
+ "VE": {
+ "name": "ⴼⵉâµâµ£âµ¡âµ‰âµâ´°"
+ },
+ "VN": {
+ "name": "ⴼⵉⵜâµâ´°âµŽ"
+ },
+ "FR": {
+ "name": "ⴼⵔⴰâµâµ™â´°"
+ },
+ "NC": {
+ "name": "ⴽⴰâµâµ‰â´·âµ“âµâµ¢â´° ⵜⴰⵎⴰⵢâµâµ“ⵜ"
+ },
+ "KH": {
+ "name": "ⴽⴰⵎⴱⵓⴷⵢⴰ"
+ },
+ "CM": {
+ "name": "ⴽⴰⵎⵉⵔⵓâµ"
+ },
+ "CA": {
+ "name": "ⴽⴰâµâ´°â´·â´°"
+ },
+ "KZ": {
+ "name": "ⴽⴰⵣⴰⵅⵙⵜⴰâµ"
+ },
+ "KE": {
+ "name": "ⴽⵉâµâµ¢â´°"
+ },
+ "KI": {
+ "name": "ⴽⵉⵔⵉⴱⴰⵜⵉ"
+ },
+ "KG": {
+ "name": "ⴽⵉⵔⵖⵉⵣⵉⵙⵜⴰâµ"
+ },
+ "CU": {
+ "name": "ⴽⵓⴱⴰ"
+ },
+ "CO": {
+ "name": "ⴽⵓâµâµ“ⵎⴱⵢⴰ"
+ },
+ "CG": {
+ "name": "ⴽⵓâµâ´³âµ“"
+ },
+ "KR": {
+ "name": "ⴽⵓⵔⵢⴰ ⵠⵉⴼⴼⵓⵙ"
+ },
+ "KP": {
+ "name": "ⴽⵓⵔⵢⴰ ⵠⵉⵥⵥâµâµŽâ´¹"
+ },
+ "CR": {
+ "name": "ⴽⵓⵙⵜⴰ ⵔⵉⴽⴰ"
+ },
+ "CI": {
+ "name": "ⴽⵓⵜ ⴷⵉⴼⵡⴰⵔ"
+ },
+ "HR": {
+ "name": "ⴽⵔⵡⴰⵜⵢⴰ"
+ },
+ "HT": {
+ "name": "ⵀⴰⵢⵜⵉ"
+ },
+ "HU": {
+ "name": "âµ€âµâµ–ⴰⵔⵢⴰ"
+ },
+ "NL": {
+ "name": "ⵀⵓâµâ´°âµâ´·â´°"
+ },
+ "HN": {
+ "name": "ⵀⵓâµâ´·âµ“ⵔⴰⵙ"
+ },
+ "OM": {
+ "name": "ⵄⵓⵎⴰâµ"
+ },
+ "QA": {
+ "name": "ⵇⴰⵜⴰⵔ"
+ },
+ "CY": {
+ "name": "ⵇⵓⴱⵔⵓⵙ"
+ },
+ "KM": {
+ "name": "ⵇⵓⵎⵓⵔ"
+ },
+ "EC": {
+ "name": "ⵉⴽⵡⴰⴷⵓⵔ"
+ },
+ "IR": {
+ "name": "ⵉⵔⴰâµ"
+ },
+ "ER": {
+ "name": "ⵉⵔⵉⵜⵉⵔⵢⴰ"
+ },
+ "IE": {
+ "name": "ⵉⵔâµâ´°âµâ´·â´°"
+ },
+ "IS": {
+ "name": "ⵉⵙâµâ´°âµâ´·"
+ },
+ "IL": {
+ "name": "ⵉⵙⵔⴰⵢⵉâµ"
+ },
+ "EE": {
+ "name": "ⵉⵙⵜⵓâµâµ¢â´°"
+ },
+ "ET": {
+ "name": "ⵉⵜⵢⵓⴱⵢⴰ"
+ },
+ "IT": {
+ "name": "ⵉⵟⴰâµâµ¢â´°"
+ },
+ "US": {
+ "name": "ⵉⵡⵓâµâ´°â´½ ⵎⵓâµâµâµ‰âµ ⵠⵎⵉⵔⵉⴽⴰâµ"
+ },
+ "JM": {
+ "name": "ⵊⴰⵎⴰⵢⴽⴰ"
+ },
+ "GE": {
+ "name": "ⵊⵓⵔⵊⵢⴰ"
+ },
+ "LV": {
+ "name": "âµâ´°âµœâ´¼âµ¢â´°"
+ },
+ "LA": {
+ "name": "âµâ´°âµ¡âµ™"
+ },
+ "KW": {
+ "name": "âµâ´½âµ¡âµ‰âµœ"
+ },
+ "IN": {
+ "name": "âµâµ€âµ‰âµâ´·"
+ },
+ "IQ": {
+ "name": "âµâµ„ⵉⵔⴰⵇ"
+ },
+ "LR": {
+ "name": "âµâµ‰â´±âµ‰âµ”ⵢⴰ"
+ },
+ "LY": {
+ "name": "âµâµ‰â´±âµ¢â´°"
+ },
+ "LI": {
+ "name": "âµâµ‰â´½âµ‰âµâµ›âµœâ´°âµ¢âµ"
+ },
+ "AE": {
+ "name": "âµâµ‰âµŽâ´°âµ”ⴰⵜ"
+ },
+ "LS": {
+ "name": "âµâµ‰âµšâµ“ⵟⵓ"
+ },
+ "LT": {
+ "name": "âµâµ‰âµœâµ¡â´°âµâµ¢â´°"
+ },
+ "MA": {
+ "name": "âµâµŽâµ–ⵔⵉⴱ"
+ },
+ "LB": {
+ "name": "âµâµ“â´±âµâ´°âµ"
+ },
+ "LU": {
+ "name": "âµâµ“ⴽⵙⴰâµâ´±âµ“ⵔⴳ"
+ },
+ "JO": {
+ "name": "âµâµ“ⵔⴷⵓâµ"
+ },
+ "JP": {
+ "name": "âµâµ¢â´°â´±â´°âµ"
+ },
+ "GR": {
+ "name": "âµâµ¢âµ“âµâ´°âµ"
+ },
+ "MG": {
+ "name": "ⵎⴰⴷⴰⵖⴰⵛⵇⴰⵔ"
+ },
+ "MW": {
+ "name": "ⵎⴰâµâ´°âµ¡âµ‰"
+ },
+ "MV": {
+ "name": "ⵎⴰâµâ´·âµ‰â´¼"
+ },
+ "ML": {
+ "name": "ⵎⴰâµâµ‰"
+ },
+ "MY": {
+ "name": "ⵎⴰâµâµ‰âµ£âµ¢â´°"
+ },
+ "MT": {
+ "name": "ⵎⴰâµâµŸâ´°"
+ },
+ "MQ": {
+ "name": "ⵎⴰⵔⵜⵉâµâµ‰â´½"
+ },
+ "MK": {
+ "name": "ⵎⴰⵙⵉⴷⵓâµâµ¢â´°"
+ },
+ "YT": {
+ "name": "ⵎⴰⵢⵓⵟ"
+ },
+ "FM": {
+ "name": "ⵎⵉⴽⵔⵓâµâµ‰âµ£âµ¢â´°"
+ },
+ "MX": {
+ "name": "ⵎⵉⴽⵙⵉⴽ"
+ },
+ "EG": {
+ "name": "ⵎⵉⵚⵕ"
+ },
+ "MN": {
+ "name": "ⵎâµâµ–ⵓâµâµ¢â´°"
+ },
+ "MD": {
+ "name": "ⵎⵓâµâ´·âµ“ⴼⵢⴰ"
+ },
+ "MC": {
+ "name": "ⵎⵓâµâ´°â´½âµ“"
+ },
+ "MS": {
+ "name": "ⵎⵓâµâµ™âµ‰âµ”ⴰⵜ"
+ },
+ "ME": {
+ "name": "ⵎⵓâµâµœâµ‰âµâµ‰â´³âµ”ⵓ"
+ },
+ "MU": {
+ "name": "ⵎⵓⵔⵉⵙ"
+ },
+ "MR": {
+ "name": "ⵎⵓⵕⵉⵟⴰâµâµ¢â´°"
+ },
+ "MZ": {
+ "name": "ⵎⵓⵣâµâ´±âµ‰âµ‡"
+ },
+ "MM": {
+ "name": "ⵎⵢⴰâµâµŽâ´°âµ”"
+ },
+ "NA": {
+ "name": "âµâ´°âµŽâµ‰â´±âµ¢â´°"
+ },
+ "NR": {
+ "name": "âµâ´°âµ¡âµ”ⵓ"
+ },
+ "NP": {
+ "name": "âµâµ‰â´±â´°âµ"
+ },
+ "NI": {
+ "name": "âµâµ‰â´½â´°âµ”ⴰⴳⵡⴰ"
+ },
+ "NG": {
+ "name": "âµâµ‰âµŠâµ‰âµ”ⵢⴰ"
+ },
+ "NU": {
+ "name": "âµâµ‰âµ¡âµ‰"
+ },
+ "NE": {
+ "name": "âµâµâµ‰âµŠâµ‰âµ”"
+ },
+ "AT": {
+ "name": "âµâµâµŽâµ™â´°"
+ },
+ "NO": {
+ "name": "âµâµâµ”ⵡⵉⵊ"
+ },
+ "NZ": {
+ "name": "âµâµ¢âµ“ⵣⵉâµâ´°âµâ´·â´°"
+ },
+ "UA": {
+ "name": "ⵓⴽⵔⴰâµâµ¢â´°"
+ },
+ "UY": {
+ "name": "ⵓⵔⵓⴳⵡⴰⵢ"
+ },
+ "UG": {
+ "name": "ⵓⵖⴰâµâ´·â´°"
+ },
+ "AU": {
+ "name": "ⵓⵙⵜⵔⴰâµâµ¢â´°"
+ },
+ "UZ": {
+ "name": "ⵓⵣⴱⴰⴽⵉⵙⵜⴰâµ"
+ },
+ "RE": {
+ "name": "ⵔⵉⵢⵓâµâµ¢âµ“âµ"
+ },
+ "RO": {
+ "name": "ⵔⵓⵎⴰâµâµ¢â´°"
+ },
+ "RU": {
+ "name": "ⵔⵓⵙⵢⴰ"
+ },
+ "RW": {
+ "name": "ⵔⵡⴰâµâ´·â´°"
+ },
+ "GH": {
+ "name": "âµ–â´°âµâ´°"
+ },
+ "GN": {
+ "name": "ⵖⵉâµâµ¢â´°"
+ },
+ "GW": {
+ "name": "ⵖⵉâµâµ¢â´° ⴱⵉⵙⴰⵡ"
+ },
+ "GQ": {
+ "name": "ⵖⵉâµâµ¢â´° ⵠⵉⴽⵡⴰⴷⵓⵔ"
+ },
+ "GD": {
+ "name": "âµ–âµ”âµâ´°âµŸâ´°"
+ },
+ "SV": {
+ "name": "ⵙⴰâµâ´¼â´°â´·âµ“âµ”"
+ },
+ "WS": {
+ "name": "ⵙⴰⵎⵡⴰ"
+ },
+ "AS": {
+ "name": "ⵙⴰⵎⵡⴰ ⵜⴰⵎⵉⵔⵉⴽⴰâµâµ‰âµœ"
+ },
+ "PM": {
+ "name": "ⵙⴰâµâ´±âµ¢âµ‰âµ” â´· ⵎⵉⴽâµâµ“âµ"
+ },
+ "VC": {
+ "name": "ⵙⴰâµâ´¼â´°âµâµ™â´°âµ â´· ⴳⵔⵉâµâ´°â´·âµ‰âµ"
+ },
+ "KN": {
+ "name": "ⵙⴰâµâ´½âµ”ⵉⵙ â´· âµâµ‰â´¼âµ‰âµ™"
+ },
+ "SM": {
+ "name": "ⵙⴰâµâµŽâ´°âµ”ⵉâµâµ“"
+ },
+ "SH": {
+ "name": "ⵙⴰâµâµœâµ‰âµâµ‰âµ"
+ },
+ "LC": {
+ "name": "ⵙⴰâµâµœâµâµ“ⵙⵉ"
+ },
+ "ST": {
+ "name": "ⵙⴰⵡⵟⵓⵎⵉ â´· ⴱⵔⴰâµâµ™âµ‰â´±"
+ },
+ "ES": {
+ "name": "ⵙⴱⴰâµâµ¢â´°"
+ },
+ "RS": {
+ "name": "ⵙⵉⵔⴱⵢⴰ"
+ },
+ "SK": {
+ "name": "âµ™âµâµ“ⴼⴰⴽⵢⴰ"
+ },
+ "SI": {
+ "name": "âµ™âµâµ“ⴼⵉâµâµ¢â´°"
+ },
+ "SG": {
+ "name": "âµ™âµâµ–ⴰⴼⵓⵔⴰ"
+ },
+ "SR": {
+ "name": "ⵙⵓⵔⵉâµâ´°âµŽ"
+ },
+ "SY": {
+ "name": "ⵙⵓⵔⵢⴰ"
+ },
+ "LK": {
+ "name": "ⵙⵔⵉâµâ´°âµâ´½â´°"
+ },
+ "SA": {
+ "name": "ⵙⵙⴰⵄⵓⴷⵉⵢⴰ"
+ },
+ "SN": {
+ "name": "ⵙⵙⵉâµâµ‰â´³â´°âµ"
+ },
+ "SL": {
+ "name": "ⵙⵙⵉⵔⴰâµâµ¢âµ“âµ"
+ },
+ "SC": {
+ "name": "ⵙⵙⵉⵛⵉâµ"
+ },
+ "SD": {
+ "name": "ⵙⵙⵓⴷⴰâµ"
+ },
+ "SS": {
+ "name": "ⵙⵙⵓⴷⴰⵠⵠⵉⴼⴼⵓⵙ"
+ },
+ "SE": {
+ "name": "ⵙⵙⵡⵉⴷ"
+ },
+ "SZ": {
+ "name": "ⵙⵡⴰⵣⵉâµâ´°âµâ´·â´°"
+ },
+ "CH": {
+ "name": "ⵙⵡⵉⵙⵔⴰ"
+ },
+ "SO": {
+ "name": "ⵚⵚⵓⵎⴰâµ"
+ },
+ "CL": {
+ "name": "ⵛⵛⵉâµâµ‰"
+ },
+ "CN": {
+ "name": "ⵛⵛⵉâµâµ¡â´°"
+ },
+ "CD": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰâµâµœ ⵜⴰⴷⵉⵎⵓⵇⵔⴰⵜⵉⵜ ⵠⴽⵓâµâ´³âµ“"
+ },
+ "DO": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰâµâµœ ⵜⴰⴷⵓⵎⵉâµâµ‰â´½âµœ"
+ },
+ "CF": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰâµâµœ ⵜⴰâµâ´°âµŽâµŽâ´°âµ™âµœ ⵠⵉⴼⵔⵉⵇⵢⴰ"
+ },
+ "CZ": {
+ "name": "ⵜⴰⴳⴷⵓⴷⴰâµâµœ ⵜⴰⵜⵛⵉⴽⵉⵜ"
+ },
+ "GB": {
+ "name": "ⵜⴰⴳâµâ´·âµ‰âµœ ⵉⵎⵓâµâµ"
+ },
+ "TJ": {
+ "name": "ⵜⴰⴷⵊⴰⴽⵉⵙⵜⴰâµ"
+ },
+ "IO": {
+ "name": "ⵜⴰⵎâµâ´°â´¹âµœ ⵜⴰâµâ´³âµâµ‰âµ£âµ‰âµœ ⵠⵓⴳⴰⵔⵓ ⴰⵀⵉâµâ´·âµ‰"
+ },
+ "CV": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⴽⴰⴱⴱⵉⵔⴷⵉ"
+ },
+ "KY": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⴽⴰⵢⵎⴰâµ"
+ },
+ "CK": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⴽⵓⴽ"
+ },
+ "FK": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⵎⴰâµâ´°âµ¡âµ‰"
+ },
+ "MH": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⵎⴰⵔⵛⴰâµ"
+ },
+ "MP": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⵎⴰⵔⵢⴰⵠⵠⵉⵥⵥâµâµŽâ´¹"
+ },
+ "NF": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠâµâµ“ⵔⴼⵓâµâ´½"
+ },
+ "SB": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⵙⴰâµâµ“ⵎⴰâµ"
+ },
+ "TC": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵠⵜⵓⵔⴽⵢⴰ ⴷ ⴽⴰⵢⴽ"
+ },
+ "VI": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵜⵉⵎⴳⴰⴷ ⵠⵉⵡⵓâµâ´°â´½ ⵎⵓâµâµâµ‰âµ"
+ },
+ "VG": {
+ "name": "ⵜⵉⴳⵣⵉⵔⵉⵠⵜⵉⵎⴳⴰⴷ âµ âµâµâ´³âµâµ‰âµ£"
+ },
+ "TL": {
+ "name": "ⵜⵉⵎⵓⵔ âµ âµâµ‡â´±âµâµœ"
+ },
+ "TV": {
+ "name": "ⵜⵓⴼⴰâµâµ“"
+ },
+ "TN": {
+ "name": "ⵜⵓâµâµ™"
+ },
+ "TM": {
+ "name": "ⵜⵓⵔⴽⵎⴰâµâµ™âµœâ´°âµ"
+ },
+ "TR": {
+ "name": "ⵜⵓⵔⴽⵢⴰ"
+ },
+ "TT": {
+ "name": "ⵜⵔⵉâµâµ‰â´·â´°â´· â´· ⵟⵓⴱⴰⴳⵓ"
+ },
+ "TD": {
+ "name": "ⵜⵛⴰⴷ"
+ },
+ "TZ": {
+ "name": "ⵟⴰâµâµ¥â´°âµâµ¢â´°"
+ },
+ "TH": {
+ "name": "ⵟⴰⵢâµâ´°âµâ´·"
+ },
+ "TW": {
+ "name": "ⵟⴰⵢⵡⴰâµ"
+ },
+ "TG": {
+ "name": "ⵟⵓⴳⵓ"
+ },
+ "TK": {
+ "name": "ⵟⵓⴽâµâ´°âµ¡"
+ },
+ "TO": {
+ "name": "ⵟⵓâµâ´³â´°"
+ },
+ "WF": {
+ "name": "ⵡⴰâµâµ‰âµ™ â´· ⴼⵓⵜⵓâµâ´°"
+ },
+ "YE": {
+ "name": "ⵢⴰⵎⴰâµ"
+ },
+ "ZM": {
+ "name": "ⵣⴰⵎⴱⵢⴰ"
+ },
+ "ZW": {
+ "name": "ⵣⵉⵎⴱⴰⴱⵡⵉ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/zh-Hans-HK.json b/library/intl/resources/country/zh-Hans-HK.json
new file mode 100644
index 000000000..b1984d291
--- /dev/null
+++ b/library/intl/resources/country/zh-Hans-HK.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "阿尔巴尼亚"
+ },
+ "DZ": {
+ "name": "阿尔åŠåˆ©äºš"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "AE": {
+ "name": "阿拉伯è”åˆé…‹é•¿å›½"
+ },
+ "AW": {
+ "name": "阿é²å·´"
+ },
+ "OM": {
+ "name": "阿曼"
+ },
+ "AZ": {
+ "name": "阿塞拜疆"
+ },
+ "AC": {
+ "name": "阿森æ¾å²›"
+ },
+ "EG": {
+ "name": "埃åŠ"
+ },
+ "ET": {
+ "name": "埃塞俄比亚"
+ },
+ "IE": {
+ "name": "爱尔兰"
+ },
+ "EE": {
+ "name": "爱沙尼亚"
+ },
+ "AD": {
+ "name": "安é“å°”"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AG": {
+ "name": "安æ瓜和巴布达"
+ },
+ "AT": {
+ "name": "奥地利"
+ },
+ "AX": {
+ "name": "奥兰群岛"
+ },
+ "AU": {
+ "name": "澳大利亚"
+ },
+ "BB": {
+ "name": "巴巴多斯"
+ },
+ "PG": {
+ "name": "巴布亚新几内亚"
+ },
+ "BS": {
+ "name": "巴哈马"
+ },
+ "PK": {
+ "name": "巴基斯å¦"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "PS": {
+ "name": "å·´å‹’æ–¯å¦é¢†åœŸ"
+ },
+ "BH": {
+ "name": "å·´æž—"
+ },
+ "PA": {
+ "name": "巴拿马"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "BY": {
+ "name": "白俄罗斯"
+ },
+ "BM": {
+ "name": "百慕大"
+ },
+ "BG": {
+ "name": "ä¿åŠ åˆ©äºš"
+ },
+ "MP": {
+ "name": "北马里亚纳群岛"
+ },
+ "BJ": {
+ "name": "è´å®"
+ },
+ "BE": {
+ "name": "比利时"
+ },
+ "IS": {
+ "name": "冰岛"
+ },
+ "PR": {
+ "name": "波多黎å„"
+ },
+ "PL": {
+ "name": "波兰"
+ },
+ "BA": {
+ "name": "波斯尼亚和黑塞哥维那"
+ },
+ "BO": {
+ "name": "玻利维亚"
+ },
+ "BZ": {
+ "name": "伯利兹"
+ },
+ "BW": {
+ "name": "åšèŒ¨ç“¦çº³"
+ },
+ "BT": {
+ "name": "ä¸ä¸¹"
+ },
+ "BF": {
+ "name": "布基纳法索"
+ },
+ "BI": {
+ "name": "布隆迪"
+ },
+ "KP": {
+ "name": "æœé²œ"
+ },
+ "GQ": {
+ "name": "赤é“几内亚"
+ },
+ "DK": {
+ "name": "丹麦"
+ },
+ "DE": {
+ "name": "德国"
+ },
+ "DG": {
+ "name": "迪戈加西亚岛"
+ },
+ "TL": {
+ "name": "东å¸æ±¶"
+ },
+ "TG": {
+ "name": "多哥"
+ },
+ "DO": {
+ "name": "多米尼加共和国"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "RU": {
+ "name": "ä¿„ç½—æ–¯"
+ },
+ "EC": {
+ "name": "厄瓜多尔"
+ },
+ "ER": {
+ "name": "厄立特里亚"
+ },
+ "FR": {
+ "name": "法国"
+ },
+ "FO": {
+ "name": "法罗群岛"
+ },
+ "PF": {
+ "name": "法属波利尼西亚"
+ },
+ "GF": {
+ "name": "法属圭亚那"
+ },
+ "TF": {
+ "name": "法属å—部领地"
+ },
+ "MF": {
+ "name": "法属圣马ä¸"
+ },
+ "VA": {
+ "name": "梵蒂冈"
+ },
+ "PH": {
+ "name": "è²å¾‹å®¾"
+ },
+ "FJ": {
+ "name": "æ–济"
+ },
+ "FI": {
+ "name": "芬兰"
+ },
+ "CV": {
+ "name": "佛得角"
+ },
+ "FK": {
+ "name": "ç¦å…‹å…°ç¾¤å²›"
+ },
+ "GM": {
+ "name": "冈比亚"
+ },
+ "CG": {
+ "name": "刚果(布)"
+ },
+ "CD": {
+ "name": "刚果(金)"
+ },
+ "CO": {
+ "name": "哥伦比亚"
+ },
+ "CR": {
+ "name": "哥斯达黎加"
+ },
+ "GD": {
+ "name": "格林纳达"
+ },
+ "GL": {
+ "name": "格陵兰"
+ },
+ "GE": {
+ "name": "æ ¼é²å‰äºš"
+ },
+ "GG": {
+ "name": "根西岛"
+ },
+ "CU": {
+ "name": "å¤å·´"
+ },
+ "GP": {
+ "name": "瓜德罗普岛"
+ },
+ "GU": {
+ "name": "关岛"
+ },
+ "GY": {
+ "name": "圭亚那"
+ },
+ "KZ": {
+ "name": "哈è¨å…‹æ–¯å¦"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "KR": {
+ "name": "韩国"
+ },
+ "NL": {
+ "name": "è·å…°"
+ },
+ "BQ": {
+ "name": "è·å…°åŠ å‹’比区"
+ },
+ "SX": {
+ "name": "è·å±žåœ£é©¬ä¸"
+ },
+ "ME": {
+ "name": "黑山"
+ },
+ "HN": {
+ "name": "洪都拉斯"
+ },
+ "KI": {
+ "name": "基里巴斯"
+ },
+ "DJ": {
+ "name": "å‰å¸ƒæ"
+ },
+ "KG": {
+ "name": "å‰å°”å‰æ–¯æ–¯å¦"
+ },
+ "GN": {
+ "name": "几内亚"
+ },
+ "GW": {
+ "name": "几内亚比ç»"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GH": {
+ "name": "加纳"
+ },
+ "IC": {
+ "name": "加纳利群岛"
+ },
+ "GA": {
+ "name": "加蓬"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "CZ": {
+ "name": "æ·å…‹å…±å’Œå›½"
+ },
+ "ZW": {
+ "name": "津巴布韦"
+ },
+ "CM": {
+ "name": "喀麦隆"
+ },
+ "QA": {
+ "name": "å¡å¡”å°”"
+ },
+ "KY": {
+ "name": "开曼群岛"
+ },
+ "CC": {
+ "name": "科科斯(基林)群岛"
+ },
+ "KM": {
+ "name": "科摩罗"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "CI": {
+ "name": "科特迪瓦"
+ },
+ "KW": {
+ "name": "科å¨ç‰¹"
+ },
+ "HR": {
+ "name": "克罗地亚"
+ },
+ "KE": {
+ "name": "肯尼亚"
+ },
+ "CK": {
+ "name": "库克群岛"
+ },
+ "CW": {
+ "name": "库拉索"
+ },
+ "LV": {
+ "name": "拉脱维亚"
+ },
+ "LS": {
+ "name": "莱索托"
+ },
+ "LA": {
+ "name": "è€æŒ"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "LR": {
+ "name": "利比里亚"
+ },
+ "LY": {
+ "name": "利比亚"
+ },
+ "LI": {
+ "name": "列支敦士登"
+ },
+ "RE": {
+ "name": "留尼汪"
+ },
+ "LU": {
+ "name": "å¢æ£®å ¡"
+ },
+ "RW": {
+ "name": "å¢æ—ºè¾¾"
+ },
+ "RO": {
+ "name": "罗马尼亚"
+ },
+ "MG": {
+ "name": "马达加斯加"
+ },
+ "MV": {
+ "name": "马尔代夫"
+ },
+ "MT": {
+ "name": "马耳他"
+ },
+ "MW": {
+ "name": "马拉维"
+ },
+ "MY": {
+ "name": "马æ¥è¥¿äºš"
+ },
+ "ML": {
+ "name": "马里"
+ },
+ "MK": {
+ "name": "马其顿"
+ },
+ "MH": {
+ "name": "马ç»å°”群岛"
+ },
+ "MQ": {
+ "name": "马æ尼克"
+ },
+ "YT": {
+ "name": "马约特"
+ },
+ "IM": {
+ "name": "曼岛"
+ },
+ "MU": {
+ "name": "毛里求斯"
+ },
+ "MR": {
+ "name": "毛里塔尼亚"
+ },
+ "US": {
+ "name": "美国"
+ },
+ "UM": {
+ "name": "美国本土外å°å²›å±¿"
+ },
+ "AS": {
+ "name": "美属è¨æ‘©äºš"
+ },
+ "VI": {
+ "name": "美属维京群岛"
+ },
+ "MN": {
+ "name": "è’™å¤"
+ },
+ "MS": {
+ "name": "蒙特塞拉特"
+ },
+ "BD": {
+ "name": "孟加拉国"
+ },
+ "PE": {
+ "name": "秘é²"
+ },
+ "FM": {
+ "name": "密克罗尼西亚"
+ },
+ "MM": {
+ "name": "缅甸"
+ },
+ "MD": {
+ "name": "摩尔多瓦"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "摩纳哥"
+ },
+ "MZ": {
+ "name": "莫桑比克"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "NA": {
+ "name": "纳米比亚"
+ },
+ "ZA": {
+ "name": "å—éž"
+ },
+ "AQ": {
+ "name": "å—æžæ´²"
+ },
+ "GS": {
+ "name": "å—乔治亚岛和å—æ¡‘å¨é½ç¾¤å²›"
+ },
+ "SS": {
+ "name": "å—è‹ä¸¹"
+ },
+ "NR": {
+ "name": "ç‘™é²"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊尔"
+ },
+ "NE": {
+ "name": "尼日尔"
+ },
+ "NG": {
+ "name": "尼日利亚"
+ },
+ "NU": {
+ "name": "纽埃"
+ },
+ "NO": {
+ "name": "挪å¨"
+ },
+ "NF": {
+ "name": "诺ç¦å…‹å²›"
+ },
+ "PW": {
+ "name": "帕劳"
+ },
+ "PN": {
+ "name": "皮特凯æ©ç¾¤å²›"
+ },
+ "PT": {
+ "name": "è‘¡è„牙"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "SE": {
+ "name": "ç‘žå…¸"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SV": {
+ "name": "è¨å°”瓦多"
+ },
+ "WS": {
+ "name": "è¨æ‘©äºš"
+ },
+ "RS": {
+ "name": "塞尔维亚"
+ },
+ "SL": {
+ "name": "塞拉利昂"
+ },
+ "SN": {
+ "name": "塞内加尔"
+ },
+ "CY": {
+ "name": "塞浦路斯"
+ },
+ "SC": {
+ "name": "塞舌尔"
+ },
+ "SA": {
+ "name": "沙特阿拉伯"
+ },
+ "BL": {
+ "name": "圣巴泰勒米"
+ },
+ "CX": {
+ "name": "圣诞岛"
+ },
+ "ST": {
+ "name": "圣多美和普林西比"
+ },
+ "SH": {
+ "name": "圣赫勒拿"
+ },
+ "KN": {
+ "name": "圣基茨和尼维斯"
+ },
+ "LC": {
+ "name": "圣å¢è¥¿äºš"
+ },
+ "SM": {
+ "name": "圣马力诺"
+ },
+ "PM": {
+ "name": "圣皮埃尔和密克隆"
+ },
+ "VC": {
+ "name": "圣文森特和格林纳ä¸æ–¯"
+ },
+ "LK": {
+ "name": "斯里兰å¡"
+ },
+ "SK": {
+ "name": "斯洛ä¼å…‹"
+ },
+ "SI": {
+ "name": "斯洛文尼亚"
+ },
+ "SJ": {
+ "name": "斯瓦尔巴特和扬马延"
+ },
+ "SZ": {
+ "name": "æ–¯å¨å£«å…°"
+ },
+ "SD": {
+ "name": "è‹ä¸¹"
+ },
+ "SR": {
+ "name": "è‹é‡Œå—"
+ },
+ "SB": {
+ "name": "所罗门群岛"
+ },
+ "SO": {
+ "name": "索马里"
+ },
+ "TJ": {
+ "name": "å¡”å‰å…‹æ–¯å¦"
+ },
+ "TW": {
+ "name": "å°æ¹¾"
+ },
+ "TH": {
+ "name": "泰国"
+ },
+ "TZ": {
+ "name": "å¦æ¡‘尼亚"
+ },
+ "TO": {
+ "name": "汤加"
+ },
+ "TC": {
+ "name": "特克斯和凯科斯群岛"
+ },
+ "TA": {
+ "name": "特里斯å¦-达库尼亚群岛"
+ },
+ "TT": {
+ "name": "特立尼达和多巴哥"
+ },
+ "TN": {
+ "name": "çªå°¼æ–¯"
+ },
+ "TV": {
+ "name": "图瓦å¢"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TM": {
+ "name": "土库曼斯å¦"
+ },
+ "TK": {
+ "name": "托克劳"
+ },
+ "WF": {
+ "name": "瓦利斯和富图纳"
+ },
+ "VU": {
+ "name": "瓦努阿图"
+ },
+ "GT": {
+ "name": "å±åœ°é©¬æ‹‰"
+ },
+ "VE": {
+ "name": "委内瑞拉"
+ },
+ "BN": {
+ "name": "文莱"
+ },
+ "UG": {
+ "name": "乌干达"
+ },
+ "UA": {
+ "name": "乌克兰"
+ },
+ "UY": {
+ "name": "乌拉圭"
+ },
+ "UZ": {
+ "name": "乌兹别克斯å¦"
+ },
+ "GR": {
+ "name": "希腊"
+ },
+ "ES": {
+ "name": "西ç­ç‰™"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "SG": {
+ "name": "新加å¡"
+ },
+ "NC": {
+ "name": "新喀里多尼亚"
+ },
+ "NZ": {
+ "name": "新西兰"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "EA": {
+ "name": "休达åŠæ¢…利利亚"
+ },
+ "SY": {
+ "name": "å™åˆ©äºš"
+ },
+ "JM": {
+ "name": "牙买加"
+ },
+ "AM": {
+ "name": "亚美尼亚"
+ },
+ "YE": {
+ "name": "也门"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IT": {
+ "name": "æ„大利"
+ },
+ "IN": {
+ "name": "å°åº¦"
+ },
+ "ID": {
+ "name": "å°åº¦å°¼è¥¿äºš"
+ },
+ "GB": {
+ "name": "英国"
+ },
+ "VG": {
+ "name": "英属维京群岛"
+ },
+ "IO": {
+ "name": "英属å°åº¦æ´‹é¢†åœ°"
+ },
+ "JO": {
+ "name": "约旦"
+ },
+ "VN": {
+ "name": "越å—"
+ },
+ "ZM": {
+ "name": "赞比亚"
+ },
+ "JE": {
+ "name": "泽西岛"
+ },
+ "TD": {
+ "name": "ä¹å¾—"
+ },
+ "GI": {
+ "name": "直布罗陀"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "CF": {
+ "name": "中éžå…±å’Œå›½"
+ },
+ "CN": {
+ "name": "中国"
+ },
+ "MO": {
+ "name": "中国澳门特别行政区"
+ },
+ "HK": {
+ "name": "中国香港特别行政区"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/zh-Hans-MO.json b/library/intl/resources/country/zh-Hans-MO.json
new file mode 100644
index 000000000..dac93f65b
--- /dev/null
+++ b/library/intl/resources/country/zh-Hans-MO.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "阿尔巴尼亚"
+ },
+ "DZ": {
+ "name": "阿尔åŠåˆ©äºš"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "AE": {
+ "name": "阿拉伯è”åˆé…‹é•¿å›½"
+ },
+ "AW": {
+ "name": "阿é²å·´"
+ },
+ "OM": {
+ "name": "阿曼"
+ },
+ "AZ": {
+ "name": "阿塞拜疆"
+ },
+ "AC": {
+ "name": "阿森æ¾å²›"
+ },
+ "EG": {
+ "name": "埃åŠ"
+ },
+ "ET": {
+ "name": "埃塞俄比亚"
+ },
+ "IE": {
+ "name": "爱尔兰"
+ },
+ "EE": {
+ "name": "爱沙尼亚"
+ },
+ "AD": {
+ "name": "安é“å°”"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AG": {
+ "name": "安æ瓜和巴布达"
+ },
+ "AT": {
+ "name": "奥地利"
+ },
+ "AX": {
+ "name": "奥兰群岛"
+ },
+ "AU": {
+ "name": "澳大利亚"
+ },
+ "BB": {
+ "name": "巴巴多斯"
+ },
+ "PG": {
+ "name": "巴布亚新几内亚"
+ },
+ "BS": {
+ "name": "巴哈马"
+ },
+ "PK": {
+ "name": "巴基斯å¦"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "PS": {
+ "name": "å·´å‹’æ–¯å¦é¢†åœŸ"
+ },
+ "BH": {
+ "name": "å·´æž—"
+ },
+ "PA": {
+ "name": "巴拿马"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "BY": {
+ "name": "白俄罗斯"
+ },
+ "BM": {
+ "name": "百慕大"
+ },
+ "BG": {
+ "name": "ä¿åŠ åˆ©äºš"
+ },
+ "MP": {
+ "name": "北马里亚纳群岛"
+ },
+ "BJ": {
+ "name": "è´å®"
+ },
+ "BE": {
+ "name": "比利时"
+ },
+ "IS": {
+ "name": "冰岛"
+ },
+ "PR": {
+ "name": "波多黎å„"
+ },
+ "PL": {
+ "name": "波兰"
+ },
+ "BA": {
+ "name": "波斯尼亚和黑塞哥维那"
+ },
+ "BO": {
+ "name": "玻利维亚"
+ },
+ "BZ": {
+ "name": "伯利兹"
+ },
+ "BW": {
+ "name": "åšèŒ¨ç“¦çº³"
+ },
+ "BT": {
+ "name": "ä¸ä¸¹"
+ },
+ "BF": {
+ "name": "布基纳法索"
+ },
+ "BI": {
+ "name": "布隆迪"
+ },
+ "KP": {
+ "name": "æœé²œ"
+ },
+ "GQ": {
+ "name": "赤é“几内亚"
+ },
+ "DK": {
+ "name": "丹麦"
+ },
+ "DE": {
+ "name": "德国"
+ },
+ "DG": {
+ "name": "迪戈加西亚岛"
+ },
+ "TL": {
+ "name": "东å¸æ±¶"
+ },
+ "TG": {
+ "name": "多哥"
+ },
+ "DO": {
+ "name": "多米尼加共和国"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "RU": {
+ "name": "ä¿„ç½—æ–¯"
+ },
+ "EC": {
+ "name": "厄瓜多尔"
+ },
+ "ER": {
+ "name": "厄立特里亚"
+ },
+ "FR": {
+ "name": "法国"
+ },
+ "FO": {
+ "name": "法罗群岛"
+ },
+ "PF": {
+ "name": "法属波利尼西亚"
+ },
+ "GF": {
+ "name": "法属圭亚那"
+ },
+ "TF": {
+ "name": "法属å—部领地"
+ },
+ "MF": {
+ "name": "法属圣马ä¸"
+ },
+ "VA": {
+ "name": "梵蒂冈"
+ },
+ "PH": {
+ "name": "è²å¾‹å®¾"
+ },
+ "FJ": {
+ "name": "æ–济"
+ },
+ "FI": {
+ "name": "芬兰"
+ },
+ "CV": {
+ "name": "佛得角"
+ },
+ "FK": {
+ "name": "ç¦å…‹å…°ç¾¤å²›"
+ },
+ "GM": {
+ "name": "冈比亚"
+ },
+ "CG": {
+ "name": "刚果(布)"
+ },
+ "CD": {
+ "name": "刚果(金)"
+ },
+ "CO": {
+ "name": "哥伦比亚"
+ },
+ "CR": {
+ "name": "哥斯达黎加"
+ },
+ "GD": {
+ "name": "格林纳达"
+ },
+ "GL": {
+ "name": "格陵兰"
+ },
+ "GE": {
+ "name": "æ ¼é²å‰äºš"
+ },
+ "GG": {
+ "name": "根西岛"
+ },
+ "CU": {
+ "name": "å¤å·´"
+ },
+ "GP": {
+ "name": "瓜德罗普"
+ },
+ "GU": {
+ "name": "关岛"
+ },
+ "GY": {
+ "name": "圭亚那"
+ },
+ "KZ": {
+ "name": "哈è¨å…‹æ–¯å¦"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "KR": {
+ "name": "韩国"
+ },
+ "NL": {
+ "name": "è·å…°"
+ },
+ "BQ": {
+ "name": "è·å…°åŠ å‹’比区"
+ },
+ "SX": {
+ "name": "è·å±žåœ£é©¬ä¸"
+ },
+ "ME": {
+ "name": "黑山"
+ },
+ "HN": {
+ "name": "洪都拉斯"
+ },
+ "KI": {
+ "name": "基里巴斯"
+ },
+ "DJ": {
+ "name": "å‰å¸ƒæ"
+ },
+ "KG": {
+ "name": "å‰å°”å‰æ–¯æ–¯å¦"
+ },
+ "GN": {
+ "name": "几内亚"
+ },
+ "GW": {
+ "name": "几内亚比ç»"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GH": {
+ "name": "加纳"
+ },
+ "IC": {
+ "name": "加纳利群岛"
+ },
+ "GA": {
+ "name": "加蓬"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "CZ": {
+ "name": "æ·å…‹å…±å’Œå›½"
+ },
+ "ZW": {
+ "name": "津巴布韦"
+ },
+ "CM": {
+ "name": "喀麦隆"
+ },
+ "QA": {
+ "name": "å¡å¡”å°”"
+ },
+ "KY": {
+ "name": "开曼群岛"
+ },
+ "CC": {
+ "name": "科科斯(基林)群岛"
+ },
+ "KM": {
+ "name": "科摩罗"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "CI": {
+ "name": "科特迪瓦"
+ },
+ "KW": {
+ "name": "科å¨ç‰¹"
+ },
+ "HR": {
+ "name": "克罗地亚"
+ },
+ "KE": {
+ "name": "肯尼亚"
+ },
+ "CK": {
+ "name": "库克群岛"
+ },
+ "CW": {
+ "name": "库拉索"
+ },
+ "LV": {
+ "name": "拉脱维亚"
+ },
+ "LS": {
+ "name": "莱索托"
+ },
+ "LA": {
+ "name": "è€æŒ"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "LR": {
+ "name": "利比里亚"
+ },
+ "LY": {
+ "name": "利比亚"
+ },
+ "LI": {
+ "name": "列支敦士登"
+ },
+ "RE": {
+ "name": "留尼汪"
+ },
+ "LU": {
+ "name": "å¢æ£®å ¡"
+ },
+ "RW": {
+ "name": "å¢æ—ºè¾¾"
+ },
+ "RO": {
+ "name": "罗马尼亚"
+ },
+ "MG": {
+ "name": "马达加斯加"
+ },
+ "MV": {
+ "name": "马尔代夫"
+ },
+ "MT": {
+ "name": "马耳他"
+ },
+ "MW": {
+ "name": "马拉维"
+ },
+ "MY": {
+ "name": "马æ¥è¥¿äºš"
+ },
+ "ML": {
+ "name": "马里"
+ },
+ "MK": {
+ "name": "马其顿"
+ },
+ "MH": {
+ "name": "马ç»å°”群岛"
+ },
+ "MQ": {
+ "name": "马æ尼克"
+ },
+ "YT": {
+ "name": "马约特"
+ },
+ "IM": {
+ "name": "曼岛"
+ },
+ "MU": {
+ "name": "毛里求斯"
+ },
+ "MR": {
+ "name": "毛里塔尼亚"
+ },
+ "US": {
+ "name": "美国"
+ },
+ "UM": {
+ "name": "美国本土外å°å²›å±¿"
+ },
+ "AS": {
+ "name": "美属è¨æ‘©äºš"
+ },
+ "VI": {
+ "name": "美属维京群岛"
+ },
+ "MN": {
+ "name": "è’™å¤"
+ },
+ "MS": {
+ "name": "蒙特塞拉特"
+ },
+ "BD": {
+ "name": "孟加拉国"
+ },
+ "PE": {
+ "name": "秘é²"
+ },
+ "FM": {
+ "name": "密克罗尼西亚"
+ },
+ "MM": {
+ "name": "缅甸"
+ },
+ "MD": {
+ "name": "摩尔多瓦"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "摩纳哥"
+ },
+ "MZ": {
+ "name": "莫桑比克"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "NA": {
+ "name": "纳米比亚"
+ },
+ "ZA": {
+ "name": "å—éž"
+ },
+ "AQ": {
+ "name": "å—æžæ´²"
+ },
+ "GS": {
+ "name": "å—乔治亚岛和å—æ¡‘å¨é½ç¾¤å²›"
+ },
+ "SS": {
+ "name": "å—è‹ä¸¹"
+ },
+ "NR": {
+ "name": "ç‘™é²"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊尔"
+ },
+ "NE": {
+ "name": "尼日尔"
+ },
+ "NG": {
+ "name": "尼日利亚"
+ },
+ "NU": {
+ "name": "纽埃"
+ },
+ "NO": {
+ "name": "挪å¨"
+ },
+ "NF": {
+ "name": "诺ç¦å…‹å²›"
+ },
+ "PW": {
+ "name": "帕劳"
+ },
+ "PN": {
+ "name": "皮特凯æ©ç¾¤å²›"
+ },
+ "PT": {
+ "name": "è‘¡è„牙"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "SE": {
+ "name": "ç‘žå…¸"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SV": {
+ "name": "è¨å°”瓦多"
+ },
+ "WS": {
+ "name": "è¨æ‘©äºš"
+ },
+ "RS": {
+ "name": "塞尔维亚"
+ },
+ "SL": {
+ "name": "塞拉利昂"
+ },
+ "SN": {
+ "name": "塞内加尔"
+ },
+ "CY": {
+ "name": "塞浦路斯"
+ },
+ "SC": {
+ "name": "塞舌尔"
+ },
+ "SA": {
+ "name": "沙特阿拉伯"
+ },
+ "BL": {
+ "name": "圣巴泰勒米"
+ },
+ "CX": {
+ "name": "圣诞岛"
+ },
+ "ST": {
+ "name": "圣多美和普林西比"
+ },
+ "SH": {
+ "name": "圣赫勒拿"
+ },
+ "KN": {
+ "name": "圣基茨和尼维斯"
+ },
+ "LC": {
+ "name": "圣å¢è¥¿äºš"
+ },
+ "SM": {
+ "name": "圣马力诺"
+ },
+ "PM": {
+ "name": "圣皮埃尔和密克隆"
+ },
+ "VC": {
+ "name": "圣文森特和格林纳ä¸æ–¯"
+ },
+ "LK": {
+ "name": "斯里兰å¡"
+ },
+ "SK": {
+ "name": "斯洛ä¼å…‹"
+ },
+ "SI": {
+ "name": "斯洛文尼亚"
+ },
+ "SJ": {
+ "name": "斯瓦尔巴特和扬马延"
+ },
+ "SZ": {
+ "name": "æ–¯å¨å£«å…°"
+ },
+ "SD": {
+ "name": "è‹ä¸¹"
+ },
+ "SR": {
+ "name": "è‹é‡Œå—"
+ },
+ "SB": {
+ "name": "所罗门群岛"
+ },
+ "SO": {
+ "name": "索马里"
+ },
+ "TJ": {
+ "name": "å¡”å‰å…‹æ–¯å¦"
+ },
+ "TW": {
+ "name": "å°æ¹¾"
+ },
+ "TH": {
+ "name": "泰国"
+ },
+ "TZ": {
+ "name": "å¦æ¡‘尼亚"
+ },
+ "TO": {
+ "name": "汤加"
+ },
+ "TC": {
+ "name": "特克斯和凯科斯群岛"
+ },
+ "TA": {
+ "name": "特里斯å¦-达库尼亚群岛"
+ },
+ "TT": {
+ "name": "特立尼达和多巴哥"
+ },
+ "TN": {
+ "name": "çªå°¼æ–¯"
+ },
+ "TV": {
+ "name": "图瓦å¢"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TM": {
+ "name": "土库曼斯å¦"
+ },
+ "TK": {
+ "name": "托克劳"
+ },
+ "WF": {
+ "name": "瓦利斯和富图纳"
+ },
+ "VU": {
+ "name": "瓦努阿图"
+ },
+ "GT": {
+ "name": "å±åœ°é©¬æ‹‰"
+ },
+ "VE": {
+ "name": "委内瑞拉"
+ },
+ "BN": {
+ "name": "文莱"
+ },
+ "UG": {
+ "name": "乌干达"
+ },
+ "UA": {
+ "name": "乌克兰"
+ },
+ "UY": {
+ "name": "乌拉圭"
+ },
+ "UZ": {
+ "name": "乌兹别克斯å¦"
+ },
+ "GR": {
+ "name": "希腊"
+ },
+ "ES": {
+ "name": "西ç­ç‰™"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "SG": {
+ "name": "新加å¡"
+ },
+ "NC": {
+ "name": "新喀里多尼亚"
+ },
+ "NZ": {
+ "name": "新西兰"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "EA": {
+ "name": "休达åŠæ¢…利利亚"
+ },
+ "SY": {
+ "name": "å™åˆ©äºš"
+ },
+ "JM": {
+ "name": "牙买加"
+ },
+ "AM": {
+ "name": "亚美尼亚"
+ },
+ "YE": {
+ "name": "也门"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IT": {
+ "name": "æ„大利"
+ },
+ "IN": {
+ "name": "å°åº¦"
+ },
+ "ID": {
+ "name": "å°åº¦å°¼è¥¿äºš"
+ },
+ "GB": {
+ "name": "英国"
+ },
+ "VG": {
+ "name": "英属维京群岛"
+ },
+ "IO": {
+ "name": "英属å°åº¦æ´‹é¢†åœ°"
+ },
+ "JO": {
+ "name": "约旦"
+ },
+ "VN": {
+ "name": "越å—"
+ },
+ "ZM": {
+ "name": "赞比亚"
+ },
+ "JE": {
+ "name": "泽西岛"
+ },
+ "TD": {
+ "name": "ä¹å¾—"
+ },
+ "GI": {
+ "name": "直布罗陀"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "CF": {
+ "name": "中éžå…±å’Œå›½"
+ },
+ "CN": {
+ "name": "中国"
+ },
+ "MO": {
+ "name": "中国澳门特别行政区"
+ },
+ "HK": {
+ "name": "中国香港特别行政区"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/zh-Hans-SG.json b/library/intl/resources/country/zh-Hans-SG.json
new file mode 100644
index 000000000..dac93f65b
--- /dev/null
+++ b/library/intl/resources/country/zh-Hans-SG.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "阿尔巴尼亚"
+ },
+ "DZ": {
+ "name": "阿尔åŠåˆ©äºš"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "AE": {
+ "name": "阿拉伯è”åˆé…‹é•¿å›½"
+ },
+ "AW": {
+ "name": "阿é²å·´"
+ },
+ "OM": {
+ "name": "阿曼"
+ },
+ "AZ": {
+ "name": "阿塞拜疆"
+ },
+ "AC": {
+ "name": "阿森æ¾å²›"
+ },
+ "EG": {
+ "name": "埃åŠ"
+ },
+ "ET": {
+ "name": "埃塞俄比亚"
+ },
+ "IE": {
+ "name": "爱尔兰"
+ },
+ "EE": {
+ "name": "爱沙尼亚"
+ },
+ "AD": {
+ "name": "安é“å°”"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AG": {
+ "name": "安æ瓜和巴布达"
+ },
+ "AT": {
+ "name": "奥地利"
+ },
+ "AX": {
+ "name": "奥兰群岛"
+ },
+ "AU": {
+ "name": "澳大利亚"
+ },
+ "BB": {
+ "name": "巴巴多斯"
+ },
+ "PG": {
+ "name": "巴布亚新几内亚"
+ },
+ "BS": {
+ "name": "巴哈马"
+ },
+ "PK": {
+ "name": "巴基斯å¦"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "PS": {
+ "name": "å·´å‹’æ–¯å¦é¢†åœŸ"
+ },
+ "BH": {
+ "name": "å·´æž—"
+ },
+ "PA": {
+ "name": "巴拿马"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "BY": {
+ "name": "白俄罗斯"
+ },
+ "BM": {
+ "name": "百慕大"
+ },
+ "BG": {
+ "name": "ä¿åŠ åˆ©äºš"
+ },
+ "MP": {
+ "name": "北马里亚纳群岛"
+ },
+ "BJ": {
+ "name": "è´å®"
+ },
+ "BE": {
+ "name": "比利时"
+ },
+ "IS": {
+ "name": "冰岛"
+ },
+ "PR": {
+ "name": "波多黎å„"
+ },
+ "PL": {
+ "name": "波兰"
+ },
+ "BA": {
+ "name": "波斯尼亚和黑塞哥维那"
+ },
+ "BO": {
+ "name": "玻利维亚"
+ },
+ "BZ": {
+ "name": "伯利兹"
+ },
+ "BW": {
+ "name": "åšèŒ¨ç“¦çº³"
+ },
+ "BT": {
+ "name": "ä¸ä¸¹"
+ },
+ "BF": {
+ "name": "布基纳法索"
+ },
+ "BI": {
+ "name": "布隆迪"
+ },
+ "KP": {
+ "name": "æœé²œ"
+ },
+ "GQ": {
+ "name": "赤é“几内亚"
+ },
+ "DK": {
+ "name": "丹麦"
+ },
+ "DE": {
+ "name": "德国"
+ },
+ "DG": {
+ "name": "迪戈加西亚岛"
+ },
+ "TL": {
+ "name": "东å¸æ±¶"
+ },
+ "TG": {
+ "name": "多哥"
+ },
+ "DO": {
+ "name": "多米尼加共和国"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "RU": {
+ "name": "ä¿„ç½—æ–¯"
+ },
+ "EC": {
+ "name": "厄瓜多尔"
+ },
+ "ER": {
+ "name": "厄立特里亚"
+ },
+ "FR": {
+ "name": "法国"
+ },
+ "FO": {
+ "name": "法罗群岛"
+ },
+ "PF": {
+ "name": "法属波利尼西亚"
+ },
+ "GF": {
+ "name": "法属圭亚那"
+ },
+ "TF": {
+ "name": "法属å—部领地"
+ },
+ "MF": {
+ "name": "法属圣马ä¸"
+ },
+ "VA": {
+ "name": "梵蒂冈"
+ },
+ "PH": {
+ "name": "è²å¾‹å®¾"
+ },
+ "FJ": {
+ "name": "æ–济"
+ },
+ "FI": {
+ "name": "芬兰"
+ },
+ "CV": {
+ "name": "佛得角"
+ },
+ "FK": {
+ "name": "ç¦å…‹å…°ç¾¤å²›"
+ },
+ "GM": {
+ "name": "冈比亚"
+ },
+ "CG": {
+ "name": "刚果(布)"
+ },
+ "CD": {
+ "name": "刚果(金)"
+ },
+ "CO": {
+ "name": "哥伦比亚"
+ },
+ "CR": {
+ "name": "哥斯达黎加"
+ },
+ "GD": {
+ "name": "格林纳达"
+ },
+ "GL": {
+ "name": "格陵兰"
+ },
+ "GE": {
+ "name": "æ ¼é²å‰äºš"
+ },
+ "GG": {
+ "name": "根西岛"
+ },
+ "CU": {
+ "name": "å¤å·´"
+ },
+ "GP": {
+ "name": "瓜德罗普"
+ },
+ "GU": {
+ "name": "关岛"
+ },
+ "GY": {
+ "name": "圭亚那"
+ },
+ "KZ": {
+ "name": "哈è¨å…‹æ–¯å¦"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "KR": {
+ "name": "韩国"
+ },
+ "NL": {
+ "name": "è·å…°"
+ },
+ "BQ": {
+ "name": "è·å…°åŠ å‹’比区"
+ },
+ "SX": {
+ "name": "è·å±žåœ£é©¬ä¸"
+ },
+ "ME": {
+ "name": "黑山"
+ },
+ "HN": {
+ "name": "洪都拉斯"
+ },
+ "KI": {
+ "name": "基里巴斯"
+ },
+ "DJ": {
+ "name": "å‰å¸ƒæ"
+ },
+ "KG": {
+ "name": "å‰å°”å‰æ–¯æ–¯å¦"
+ },
+ "GN": {
+ "name": "几内亚"
+ },
+ "GW": {
+ "name": "几内亚比ç»"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GH": {
+ "name": "加纳"
+ },
+ "IC": {
+ "name": "加纳利群岛"
+ },
+ "GA": {
+ "name": "加蓬"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "CZ": {
+ "name": "æ·å…‹å…±å’Œå›½"
+ },
+ "ZW": {
+ "name": "津巴布韦"
+ },
+ "CM": {
+ "name": "喀麦隆"
+ },
+ "QA": {
+ "name": "å¡å¡”å°”"
+ },
+ "KY": {
+ "name": "开曼群岛"
+ },
+ "CC": {
+ "name": "科科斯(基林)群岛"
+ },
+ "KM": {
+ "name": "科摩罗"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "CI": {
+ "name": "科特迪瓦"
+ },
+ "KW": {
+ "name": "科å¨ç‰¹"
+ },
+ "HR": {
+ "name": "克罗地亚"
+ },
+ "KE": {
+ "name": "肯尼亚"
+ },
+ "CK": {
+ "name": "库克群岛"
+ },
+ "CW": {
+ "name": "库拉索"
+ },
+ "LV": {
+ "name": "拉脱维亚"
+ },
+ "LS": {
+ "name": "莱索托"
+ },
+ "LA": {
+ "name": "è€æŒ"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "LR": {
+ "name": "利比里亚"
+ },
+ "LY": {
+ "name": "利比亚"
+ },
+ "LI": {
+ "name": "列支敦士登"
+ },
+ "RE": {
+ "name": "留尼汪"
+ },
+ "LU": {
+ "name": "å¢æ£®å ¡"
+ },
+ "RW": {
+ "name": "å¢æ—ºè¾¾"
+ },
+ "RO": {
+ "name": "罗马尼亚"
+ },
+ "MG": {
+ "name": "马达加斯加"
+ },
+ "MV": {
+ "name": "马尔代夫"
+ },
+ "MT": {
+ "name": "马耳他"
+ },
+ "MW": {
+ "name": "马拉维"
+ },
+ "MY": {
+ "name": "马æ¥è¥¿äºš"
+ },
+ "ML": {
+ "name": "马里"
+ },
+ "MK": {
+ "name": "马其顿"
+ },
+ "MH": {
+ "name": "马ç»å°”群岛"
+ },
+ "MQ": {
+ "name": "马æ尼克"
+ },
+ "YT": {
+ "name": "马约特"
+ },
+ "IM": {
+ "name": "曼岛"
+ },
+ "MU": {
+ "name": "毛里求斯"
+ },
+ "MR": {
+ "name": "毛里塔尼亚"
+ },
+ "US": {
+ "name": "美国"
+ },
+ "UM": {
+ "name": "美国本土外å°å²›å±¿"
+ },
+ "AS": {
+ "name": "美属è¨æ‘©äºš"
+ },
+ "VI": {
+ "name": "美属维京群岛"
+ },
+ "MN": {
+ "name": "è’™å¤"
+ },
+ "MS": {
+ "name": "蒙特塞拉特"
+ },
+ "BD": {
+ "name": "孟加拉国"
+ },
+ "PE": {
+ "name": "秘é²"
+ },
+ "FM": {
+ "name": "密克罗尼西亚"
+ },
+ "MM": {
+ "name": "缅甸"
+ },
+ "MD": {
+ "name": "摩尔多瓦"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "摩纳哥"
+ },
+ "MZ": {
+ "name": "莫桑比克"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "NA": {
+ "name": "纳米比亚"
+ },
+ "ZA": {
+ "name": "å—éž"
+ },
+ "AQ": {
+ "name": "å—æžæ´²"
+ },
+ "GS": {
+ "name": "å—乔治亚岛和å—æ¡‘å¨é½ç¾¤å²›"
+ },
+ "SS": {
+ "name": "å—è‹ä¸¹"
+ },
+ "NR": {
+ "name": "ç‘™é²"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊尔"
+ },
+ "NE": {
+ "name": "尼日尔"
+ },
+ "NG": {
+ "name": "尼日利亚"
+ },
+ "NU": {
+ "name": "纽埃"
+ },
+ "NO": {
+ "name": "挪å¨"
+ },
+ "NF": {
+ "name": "诺ç¦å…‹å²›"
+ },
+ "PW": {
+ "name": "帕劳"
+ },
+ "PN": {
+ "name": "皮特凯æ©ç¾¤å²›"
+ },
+ "PT": {
+ "name": "è‘¡è„牙"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "SE": {
+ "name": "ç‘žå…¸"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SV": {
+ "name": "è¨å°”瓦多"
+ },
+ "WS": {
+ "name": "è¨æ‘©äºš"
+ },
+ "RS": {
+ "name": "塞尔维亚"
+ },
+ "SL": {
+ "name": "塞拉利昂"
+ },
+ "SN": {
+ "name": "塞内加尔"
+ },
+ "CY": {
+ "name": "塞浦路斯"
+ },
+ "SC": {
+ "name": "塞舌尔"
+ },
+ "SA": {
+ "name": "沙特阿拉伯"
+ },
+ "BL": {
+ "name": "圣巴泰勒米"
+ },
+ "CX": {
+ "name": "圣诞岛"
+ },
+ "ST": {
+ "name": "圣多美和普林西比"
+ },
+ "SH": {
+ "name": "圣赫勒拿"
+ },
+ "KN": {
+ "name": "圣基茨和尼维斯"
+ },
+ "LC": {
+ "name": "圣å¢è¥¿äºš"
+ },
+ "SM": {
+ "name": "圣马力诺"
+ },
+ "PM": {
+ "name": "圣皮埃尔和密克隆"
+ },
+ "VC": {
+ "name": "圣文森特和格林纳ä¸æ–¯"
+ },
+ "LK": {
+ "name": "斯里兰å¡"
+ },
+ "SK": {
+ "name": "斯洛ä¼å…‹"
+ },
+ "SI": {
+ "name": "斯洛文尼亚"
+ },
+ "SJ": {
+ "name": "斯瓦尔巴特和扬马延"
+ },
+ "SZ": {
+ "name": "æ–¯å¨å£«å…°"
+ },
+ "SD": {
+ "name": "è‹ä¸¹"
+ },
+ "SR": {
+ "name": "è‹é‡Œå—"
+ },
+ "SB": {
+ "name": "所罗门群岛"
+ },
+ "SO": {
+ "name": "索马里"
+ },
+ "TJ": {
+ "name": "å¡”å‰å…‹æ–¯å¦"
+ },
+ "TW": {
+ "name": "å°æ¹¾"
+ },
+ "TH": {
+ "name": "泰国"
+ },
+ "TZ": {
+ "name": "å¦æ¡‘尼亚"
+ },
+ "TO": {
+ "name": "汤加"
+ },
+ "TC": {
+ "name": "特克斯和凯科斯群岛"
+ },
+ "TA": {
+ "name": "特里斯å¦-达库尼亚群岛"
+ },
+ "TT": {
+ "name": "特立尼达和多巴哥"
+ },
+ "TN": {
+ "name": "çªå°¼æ–¯"
+ },
+ "TV": {
+ "name": "图瓦å¢"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TM": {
+ "name": "土库曼斯å¦"
+ },
+ "TK": {
+ "name": "托克劳"
+ },
+ "WF": {
+ "name": "瓦利斯和富图纳"
+ },
+ "VU": {
+ "name": "瓦努阿图"
+ },
+ "GT": {
+ "name": "å±åœ°é©¬æ‹‰"
+ },
+ "VE": {
+ "name": "委内瑞拉"
+ },
+ "BN": {
+ "name": "文莱"
+ },
+ "UG": {
+ "name": "乌干达"
+ },
+ "UA": {
+ "name": "乌克兰"
+ },
+ "UY": {
+ "name": "乌拉圭"
+ },
+ "UZ": {
+ "name": "乌兹别克斯å¦"
+ },
+ "GR": {
+ "name": "希腊"
+ },
+ "ES": {
+ "name": "西ç­ç‰™"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "SG": {
+ "name": "新加å¡"
+ },
+ "NC": {
+ "name": "新喀里多尼亚"
+ },
+ "NZ": {
+ "name": "新西兰"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "EA": {
+ "name": "休达åŠæ¢…利利亚"
+ },
+ "SY": {
+ "name": "å™åˆ©äºš"
+ },
+ "JM": {
+ "name": "牙买加"
+ },
+ "AM": {
+ "name": "亚美尼亚"
+ },
+ "YE": {
+ "name": "也门"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IT": {
+ "name": "æ„大利"
+ },
+ "IN": {
+ "name": "å°åº¦"
+ },
+ "ID": {
+ "name": "å°åº¦å°¼è¥¿äºš"
+ },
+ "GB": {
+ "name": "英国"
+ },
+ "VG": {
+ "name": "英属维京群岛"
+ },
+ "IO": {
+ "name": "英属å°åº¦æ´‹é¢†åœ°"
+ },
+ "JO": {
+ "name": "约旦"
+ },
+ "VN": {
+ "name": "越å—"
+ },
+ "ZM": {
+ "name": "赞比亚"
+ },
+ "JE": {
+ "name": "泽西岛"
+ },
+ "TD": {
+ "name": "ä¹å¾—"
+ },
+ "GI": {
+ "name": "直布罗陀"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "CF": {
+ "name": "中éžå…±å’Œå›½"
+ },
+ "CN": {
+ "name": "中国"
+ },
+ "MO": {
+ "name": "中国澳门特别行政区"
+ },
+ "HK": {
+ "name": "中国香港特别行政区"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/zh-Hant-HK.json b/library/intl/resources/country/zh-Hant-HK.json
new file mode 100644
index 000000000..f0f5ba0cf
--- /dev/null
+++ b/library/intl/resources/country/zh-Hant-HK.json
@@ -0,0 +1,761 @@
+{
+ "YE": {
+ "name": "也門"
+ },
+ "TT": {
+ "name": "åƒé‡Œé”和多巴哥"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TM": {
+ "name": "土庫曼"
+ },
+ "BT": {
+ "name": "ä¸ä¸¹"
+ },
+ "CF": {
+ "name": "中éžå…±å’Œåœ‹"
+ },
+ "CN": {
+ "name": "中è¯äººæ°‘共和國"
+ },
+ "HK": {
+ "name": "中è¯äººæ°‘共和國香港特別行政å€"
+ },
+ "MO": {
+ "name": "中è¯äººæ°‘共和國澳門特別行政å€"
+ },
+ "DK": {
+ "name": "丹麥"
+ },
+ "EC": {
+ "name": "厄瓜多"
+ },
+ "ER": {
+ "name": "厄立特里亞"
+ },
+ "BB": {
+ "name": "巴巴多斯"
+ },
+ "PG": {
+ "name": "巴布亞新幾內亞"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "BH": {
+ "name": "å·´æž—"
+ },
+ "BS": {
+ "name": "巴哈馬"
+ },
+ "PA": {
+ "name": "巴拿馬"
+ },
+ "PS": {
+ "name": "å·´å‹’æ–¯å¦è‡ªæ²»å€"
+ },
+ "PK": {
+ "name": "巴基斯å¦"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "BE": {
+ "name": "比利時"
+ },
+ "MR": {
+ "name": "毛里塔尼亞"
+ },
+ "MU": {
+ "name": "毛里裘斯"
+ },
+ "JM": {
+ "name": "牙買加"
+ },
+ "TD": {
+ "name": "ä¹å¾—"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IC": {
+ "name": "加那利群島"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GH": {
+ "name": "加ç´"
+ },
+ "GA": {
+ "name": "加蓬"
+ },
+ "MP": {
+ "name": "北馬里亞ç´ç¾¤å³¶"
+ },
+ "KP": {
+ "name": "北韓"
+ },
+ "QA": {
+ "name": "å¡å¡”爾"
+ },
+ "CU": {
+ "name": "å¤å·´"
+ },
+ "CC": {
+ "name": "å¯å¯æ–¯ç¾¤å³¶"
+ },
+ "TW": {
+ "name": "å°ç£"
+ },
+ "NG": {
+ "name": "尼日利亞"
+ },
+ "NE": {
+ "name": "尼日爾"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊爾"
+ },
+ "BF": {
+ "name": "布å‰ç´æ³•ç´¢"
+ },
+ "BI": {
+ "name": "布隆迪"
+ },
+ "GP": {
+ "name": "瓜地洛普"
+ },
+ "WF": {
+ "name": "瓦利斯和富圖ç´ç¾¤å³¶"
+ },
+ "VU": {
+ "name": "瓦努阿圖"
+ },
+ "BY": {
+ "name": "白俄羅斯"
+ },
+ "PN": {
+ "name": "皮特凱æ©å³¶"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "EA": {
+ "name": "休é”與梅利利亞"
+ },
+ "IS": {
+ "name": "冰島"
+ },
+ "LI": {
+ "name": "列支敦士登"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "ID": {
+ "name": "å°å°¼"
+ },
+ "IN": {
+ "name": "å°åº¦"
+ },
+ "GT": {
+ "name": "å±åœ°é¦¬æ‹‰"
+ },
+ "DJ": {
+ "name": "å‰å¸ƒåœ°"
+ },
+ "KI": {
+ "name": "å‰é‡Œå·´æ–¯"
+ },
+ "KG": {
+ "name": "å‰çˆ¾å‰æ–¯"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "DO": {
+ "name": "多明尼加共和國"
+ },
+ "TG": {
+ "name": "多哥共和國"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AG": {
+ "name": "安æç“œåŠå·´å¸ƒé”"
+ },
+ "AD": {
+ "name": "安é“爾"
+ },
+ "TK": {
+ "name": "托克勞群島"
+ },
+ "BM": {
+ "name": "百慕é”"
+ },
+ "ES": {
+ "name": "西ç­ç‰™"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "BZ": {
+ "name": "伯利茲"
+ },
+ "CV": {
+ "name": "佛得角"
+ },
+ "HR": {
+ "name": "克羅地亞"
+ },
+ "LR": {
+ "name": "利比里亞"
+ },
+ "LY": {
+ "name": "利比亞"
+ },
+ "GR": {
+ "name": "希臘"
+ },
+ "BN": {
+ "name": "汶èŠ"
+ },
+ "SA": {
+ "name": "沙特阿拉伯"
+ },
+ "BJ": {
+ "name": "è²å¯§"
+ },
+ "GQ": {
+ "name": "赤é“幾內亞"
+ },
+ "AM": {
+ "name": "亞美尼亞"
+ },
+ "TZ": {
+ "name": "å¦æ¡‘尼亞"
+ },
+ "VE": {
+ "name": "委內瑞拉"
+ },
+ "BD": {
+ "name": "孟加拉"
+ },
+ "GM": {
+ "name": "岡比亞"
+ },
+ "PW": {
+ "name": "帛ç‰"
+ },
+ "SB": {
+ "name": "所羅門群島"
+ },
+ "LV": {
+ "name": "拉脫維亞"
+ },
+ "TL": {
+ "name": "æ±å¸æ±¶"
+ },
+ "FR": {
+ "name": "法國"
+ },
+ "FO": {
+ "name": "法羅群島"
+ },
+ "GF": {
+ "name": "法屬圭亞那"
+ },
+ "PF": {
+ "name": "法屬波利尼西亞"
+ },
+ "TF": {
+ "name": "法屬å—部地å€"
+ },
+ "MF": {
+ "name": "法屬è–馬ä¸"
+ },
+ "PR": {
+ "name": "波多黎å„"
+ },
+ "BA": {
+ "name": "波斯尼亞和黑塞哥維那"
+ },
+ "PL": {
+ "name": "波蘭"
+ },
+ "GI": {
+ "name": "直布羅陀"
+ },
+ "KE": {
+ "name": "肯雅"
+ },
+ "FI": {
+ "name": "芬蘭"
+ },
+ "AE": {
+ "name": "阿拉伯è¯åˆé…‹é•·åœ‹"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "OM": {
+ "name": "阿曼"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AC": {
+ "name": "阿森æ¾å³¶"
+ },
+ "AZ": {
+ "name": "阿塞拜疆"
+ },
+ "DZ": {
+ "name": "阿爾åŠåˆ©äºž"
+ },
+ "AL": {
+ "name": "阿爾巴尼亞"
+ },
+ "AW": {
+ "name": "阿魯巴"
+ },
+ "RU": {
+ "name": "ä¿„ç¾…æ–¯"
+ },
+ "BG": {
+ "name": "ä¿åŠ åˆ©äºž"
+ },
+ "GS": {
+ "name": "å—ä½æ²»äºžå³¶èˆ‡å—æ¡‘å¨å¥‡ç¾¤å³¶"
+ },
+ "ZA": {
+ "name": "å—éž"
+ },
+ "AQ": {
+ "name": "å—極洲"
+ },
+ "KR": {
+ "name": "å—韓"
+ },
+ "SS": {
+ "name": "å—蘇丹"
+ },
+ "KZ": {
+ "name": "哈薩克"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "ZW": {
+ "name": "津巴布韋"
+ },
+ "HN": {
+ "name": "洪都拉斯"
+ },
+ "BO": {
+ "name": "玻利維亞"
+ },
+ "KW": {
+ "name": "科å¨ç‰¹"
+ },
+ "CI": {
+ "name": "科特迪瓦"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "KM": {
+ "name": "科摩羅"
+ },
+ "TN": {
+ "name": "çªå°¼è¥¿äºž"
+ },
+ "JO": {
+ "name": "ç´„æ—¦"
+ },
+ "US": {
+ "name": "美國"
+ },
+ "UM": {
+ "name": "美國本土外å°å³¶å¶¼"
+ },
+ "VI": {
+ "name": "美屬維京群島"
+ },
+ "AS": {
+ "name": "美屬薩摩亞群島"
+ },
+ "GB": {
+ "name": "英國"
+ },
+ "IO": {
+ "name": "英屬å°åº¦æ´‹é ˜åœŸ"
+ },
+ "IM": {
+ "name": "英屬地曼島"
+ },
+ "VG": {
+ "name": "英屬維京群島"
+ },
+ "DG": {
+ "name": "迪亞哥加西亞島"
+ },
+ "CG": {
+ "name": "剛果 - 布拉薩"
+ },
+ "CD": {
+ "name": "剛果 - 金å¤æ²™"
+ },
+ "CO": {
+ "name": "哥倫比亞"
+ },
+ "CR": {
+ "name": "哥斯é”黎加"
+ },
+ "EG": {
+ "name": "埃åŠ"
+ },
+ "ET": {
+ "name": "埃塞俄比亞"
+ },
+ "CK": {
+ "name": "庫克群島"
+ },
+ "CW": {
+ "name": "庫拉索"
+ },
+ "NO": {
+ "name": "挪å¨"
+ },
+ "GG": {
+ "name": "根西島"
+ },
+ "GD": {
+ "name": "格林ç´é”"
+ },
+ "GL": {
+ "name": "格陵蘭"
+ },
+ "GE": {
+ "name": "格魯å‰äºž"
+ },
+ "TH": {
+ "name": "泰國"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "UG": {
+ "name": "çƒå¹²é”"
+ },
+ "UA": {
+ "name": "çƒå…‹è˜­"
+ },
+ "UY": {
+ "name": "çƒæ‹‰åœ­"
+ },
+ "UZ": {
+ "name": "çƒèŒ²åˆ¥å…‹"
+ },
+ "TC": {
+ "name": "特克斯和凱科斯群島"
+ },
+ "TA": {
+ "name": "特里斯å¦é”庫尼亞群島"
+ },
+ "RE": {
+ "name": "留尼旺"
+ },
+ "PE": {
+ "name": "秘魯"
+ },
+ "NA": {
+ "name": "ç´ç±³æ¯”亞"
+ },
+ "NZ": {
+ "name": "ç´è¥¿è˜­"
+ },
+ "NU": {
+ "name": "ç´åŸƒå³¶"
+ },
+ "SO": {
+ "name": "索馬里"
+ },
+ "MQ": {
+ "name": "馬ä¸å°¼å…‹å³¶"
+ },
+ "ML": {
+ "name": "馬里"
+ },
+ "MY": {
+ "name": "馬來西亞"
+ },
+ "MK": {
+ "name": "馬其頓"
+ },
+ "MW": {
+ "name": "馬拉å¨"
+ },
+ "YT": {
+ "name": "馬約特"
+ },
+ "MH": {
+ "name": "馬紹爾群島"
+ },
+ "MG": {
+ "name": "馬é”加斯加"
+ },
+ "MT": {
+ "name": "馬爾他"
+ },
+ "MV": {
+ "name": "馬爾代夫"
+ },
+ "FM": {
+ "name": "密克羅尼西亞群島"
+ },
+ "CZ": {
+ "name": "æ·å…‹å…±å’Œåœ‹"
+ },
+ "SY": {
+ "name": "敘利亞"
+ },
+ "VA": {
+ "name": "梵蒂岡宮城"
+ },
+ "SX": {
+ "name": "è·å±¬è–馬ä¸"
+ },
+ "NL": {
+ "name": "è·è˜­"
+ },
+ "BQ": {
+ "name": "è·è˜­åŠ å‹’比å€"
+ },
+ "MZ": {
+ "name": "莫桑比克"
+ },
+ "BW": {
+ "name": "åšèŒ¨ç“¦ç´"
+ },
+ "CM": {
+ "name": "喀麥隆"
+ },
+ "GN": {
+ "name": "幾內亞"
+ },
+ "GW": {
+ "name": "幾內亞比紹"
+ },
+ "FJ": {
+ "name": "æ–æ¿Ÿ"
+ },
+ "SJ": {
+ "name": "斯瓦爾巴群島åŠæšé¦¬å»¶å³¶"
+ },
+ "LK": {
+ "name": "斯里蘭å¡"
+ },
+ "SZ": {
+ "name": "æ–¯å¨å£«è˜­"
+ },
+ "SI": {
+ "name": "斯洛文尼亞"
+ },
+ "SK": {
+ "name": "斯洛ä¼å…‹"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "TO": {
+ "name": "湯加"
+ },
+ "PH": {
+ "name": "è²å¾‹è³“"
+ },
+ "LS": {
+ "name": "èŠç´¢æ‰˜"
+ },
+ "VN": {
+ "name": "越å—"
+ },
+ "KY": {
+ "name": "開曼群島"
+ },
+ "ME": {
+ "name": "黑山"
+ },
+ "TJ": {
+ "name": "å¡”å‰å…‹"
+ },
+ "SN": {
+ "name": "塞內加爾"
+ },
+ "SC": {
+ "name": "塞舌爾"
+ },
+ "SL": {
+ "name": "塞拉利昂"
+ },
+ "CY": {
+ "name": "塞浦路斯"
+ },
+ "RS": {
+ "name": "塞爾維亞"
+ },
+ "AT": {
+ "name": "奧地利"
+ },
+ "AX": {
+ "name": "奧蘭群島"
+ },
+ "IT": {
+ "name": "æ„大利"
+ },
+ "EE": {
+ "name": "愛沙尼亞"
+ },
+ "IE": {
+ "name": "愛爾蘭"
+ },
+ "SG": {
+ "name": "新加å¡"
+ },
+ "NC": {
+ "name": "新喀里多尼亞"
+ },
+ "NR": {
+ "name": "瑙魯"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SE": {
+ "name": "ç‘žå…¸"
+ },
+ "BL": {
+ "name": "è–å·´æ³°å‹’ç±³"
+ },
+ "VC": {
+ "name": "è–文森特和格林ç´ä¸æ–¯"
+ },
+ "PM": {
+ "name": "è–皮埃爾和密克隆群島"
+ },
+ "ST": {
+ "name": "è–多美普林西比"
+ },
+ "SM": {
+ "name": "è–馬利諾"
+ },
+ "KN": {
+ "name": "è–基茨和尼維斯"
+ },
+ "SH": {
+ "name": "è–赫勒拿島"
+ },
+ "CX": {
+ "name": "è–誕島"
+ },
+ "LC": {
+ "name": "è–盧西亞"
+ },
+ "PT": {
+ "name": "è‘¡è„牙"
+ },
+ "TV": {
+ "name": "圖瓦盧"
+ },
+ "FK": {
+ "name": "ç¦å…‹è˜­ç¾¤å³¶"
+ },
+ "MN": {
+ "name": "è’™å¤"
+ },
+ "MS": {
+ "name": "蒙塞拉特島"
+ },
+ "GY": {
+ "name": "蓋亞那"
+ },
+ "LA": {
+ "name": "寮國"
+ },
+ "DE": {
+ "name": "德國"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "æ‘©ç´å“¥"
+ },
+ "MD": {
+ "name": "摩爾多瓦"
+ },
+ "MM": {
+ "name": "緬甸"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "JE": {
+ "name": "澤西島"
+ },
+ "AU": {
+ "name": "澳洲"
+ },
+ "RW": {
+ "name": "盧旺é”"
+ },
+ "LU": {
+ "name": "盧森堡"
+ },
+ "NF": {
+ "name": "諾ç¦å…‹å³¶"
+ },
+ "SV": {
+ "name": "薩爾瓦多"
+ },
+ "WS": {
+ "name": "薩摩亞群島"
+ },
+ "RO": {
+ "name": "羅馬尼亞"
+ },
+ "ZM": {
+ "name": "贊比亞"
+ },
+ "GU": {
+ "name": "關島"
+ },
+ "SD": {
+ "name": "蘇丹"
+ },
+ "SR": {
+ "name": "蘇里å—"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/zh-Hant-MO.json b/library/intl/resources/country/zh-Hant-MO.json
new file mode 100644
index 000000000..f0f5ba0cf
--- /dev/null
+++ b/library/intl/resources/country/zh-Hant-MO.json
@@ -0,0 +1,761 @@
+{
+ "YE": {
+ "name": "也門"
+ },
+ "TT": {
+ "name": "åƒé‡Œé”和多巴哥"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TM": {
+ "name": "土庫曼"
+ },
+ "BT": {
+ "name": "ä¸ä¸¹"
+ },
+ "CF": {
+ "name": "中éžå…±å’Œåœ‹"
+ },
+ "CN": {
+ "name": "中è¯äººæ°‘共和國"
+ },
+ "HK": {
+ "name": "中è¯äººæ°‘共和國香港特別行政å€"
+ },
+ "MO": {
+ "name": "中è¯äººæ°‘共和國澳門特別行政å€"
+ },
+ "DK": {
+ "name": "丹麥"
+ },
+ "EC": {
+ "name": "厄瓜多"
+ },
+ "ER": {
+ "name": "厄立特里亞"
+ },
+ "BB": {
+ "name": "巴巴多斯"
+ },
+ "PG": {
+ "name": "巴布亞新幾內亞"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "BH": {
+ "name": "å·´æž—"
+ },
+ "BS": {
+ "name": "巴哈馬"
+ },
+ "PA": {
+ "name": "巴拿馬"
+ },
+ "PS": {
+ "name": "å·´å‹’æ–¯å¦è‡ªæ²»å€"
+ },
+ "PK": {
+ "name": "巴基斯å¦"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "BE": {
+ "name": "比利時"
+ },
+ "MR": {
+ "name": "毛里塔尼亞"
+ },
+ "MU": {
+ "name": "毛里裘斯"
+ },
+ "JM": {
+ "name": "牙買加"
+ },
+ "TD": {
+ "name": "ä¹å¾—"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IC": {
+ "name": "加那利群島"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GH": {
+ "name": "加ç´"
+ },
+ "GA": {
+ "name": "加蓬"
+ },
+ "MP": {
+ "name": "北馬里亞ç´ç¾¤å³¶"
+ },
+ "KP": {
+ "name": "北韓"
+ },
+ "QA": {
+ "name": "å¡å¡”爾"
+ },
+ "CU": {
+ "name": "å¤å·´"
+ },
+ "CC": {
+ "name": "å¯å¯æ–¯ç¾¤å³¶"
+ },
+ "TW": {
+ "name": "å°ç£"
+ },
+ "NG": {
+ "name": "尼日利亞"
+ },
+ "NE": {
+ "name": "尼日爾"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊爾"
+ },
+ "BF": {
+ "name": "布å‰ç´æ³•ç´¢"
+ },
+ "BI": {
+ "name": "布隆迪"
+ },
+ "GP": {
+ "name": "瓜地洛普"
+ },
+ "WF": {
+ "name": "瓦利斯和富圖ç´ç¾¤å³¶"
+ },
+ "VU": {
+ "name": "瓦努阿圖"
+ },
+ "BY": {
+ "name": "白俄羅斯"
+ },
+ "PN": {
+ "name": "皮特凱æ©å³¶"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "EA": {
+ "name": "休é”與梅利利亞"
+ },
+ "IS": {
+ "name": "冰島"
+ },
+ "LI": {
+ "name": "列支敦士登"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "ID": {
+ "name": "å°å°¼"
+ },
+ "IN": {
+ "name": "å°åº¦"
+ },
+ "GT": {
+ "name": "å±åœ°é¦¬æ‹‰"
+ },
+ "DJ": {
+ "name": "å‰å¸ƒåœ°"
+ },
+ "KI": {
+ "name": "å‰é‡Œå·´æ–¯"
+ },
+ "KG": {
+ "name": "å‰çˆ¾å‰æ–¯"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "DO": {
+ "name": "多明尼加共和國"
+ },
+ "TG": {
+ "name": "多哥共和國"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AG": {
+ "name": "安æç“œåŠå·´å¸ƒé”"
+ },
+ "AD": {
+ "name": "安é“爾"
+ },
+ "TK": {
+ "name": "托克勞群島"
+ },
+ "BM": {
+ "name": "百慕é”"
+ },
+ "ES": {
+ "name": "西ç­ç‰™"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "BZ": {
+ "name": "伯利茲"
+ },
+ "CV": {
+ "name": "佛得角"
+ },
+ "HR": {
+ "name": "克羅地亞"
+ },
+ "LR": {
+ "name": "利比里亞"
+ },
+ "LY": {
+ "name": "利比亞"
+ },
+ "GR": {
+ "name": "希臘"
+ },
+ "BN": {
+ "name": "汶èŠ"
+ },
+ "SA": {
+ "name": "沙特阿拉伯"
+ },
+ "BJ": {
+ "name": "è²å¯§"
+ },
+ "GQ": {
+ "name": "赤é“幾內亞"
+ },
+ "AM": {
+ "name": "亞美尼亞"
+ },
+ "TZ": {
+ "name": "å¦æ¡‘尼亞"
+ },
+ "VE": {
+ "name": "委內瑞拉"
+ },
+ "BD": {
+ "name": "孟加拉"
+ },
+ "GM": {
+ "name": "岡比亞"
+ },
+ "PW": {
+ "name": "帛ç‰"
+ },
+ "SB": {
+ "name": "所羅門群島"
+ },
+ "LV": {
+ "name": "拉脫維亞"
+ },
+ "TL": {
+ "name": "æ±å¸æ±¶"
+ },
+ "FR": {
+ "name": "法國"
+ },
+ "FO": {
+ "name": "法羅群島"
+ },
+ "GF": {
+ "name": "法屬圭亞那"
+ },
+ "PF": {
+ "name": "法屬波利尼西亞"
+ },
+ "TF": {
+ "name": "法屬å—部地å€"
+ },
+ "MF": {
+ "name": "法屬è–馬ä¸"
+ },
+ "PR": {
+ "name": "波多黎å„"
+ },
+ "BA": {
+ "name": "波斯尼亞和黑塞哥維那"
+ },
+ "PL": {
+ "name": "波蘭"
+ },
+ "GI": {
+ "name": "直布羅陀"
+ },
+ "KE": {
+ "name": "肯雅"
+ },
+ "FI": {
+ "name": "芬蘭"
+ },
+ "AE": {
+ "name": "阿拉伯è¯åˆé…‹é•·åœ‹"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "OM": {
+ "name": "阿曼"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AC": {
+ "name": "阿森æ¾å³¶"
+ },
+ "AZ": {
+ "name": "阿塞拜疆"
+ },
+ "DZ": {
+ "name": "阿爾åŠåˆ©äºž"
+ },
+ "AL": {
+ "name": "阿爾巴尼亞"
+ },
+ "AW": {
+ "name": "阿魯巴"
+ },
+ "RU": {
+ "name": "ä¿„ç¾…æ–¯"
+ },
+ "BG": {
+ "name": "ä¿åŠ åˆ©äºž"
+ },
+ "GS": {
+ "name": "å—ä½æ²»äºžå³¶èˆ‡å—æ¡‘å¨å¥‡ç¾¤å³¶"
+ },
+ "ZA": {
+ "name": "å—éž"
+ },
+ "AQ": {
+ "name": "å—極洲"
+ },
+ "KR": {
+ "name": "å—韓"
+ },
+ "SS": {
+ "name": "å—蘇丹"
+ },
+ "KZ": {
+ "name": "哈薩克"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "ZW": {
+ "name": "津巴布韋"
+ },
+ "HN": {
+ "name": "洪都拉斯"
+ },
+ "BO": {
+ "name": "玻利維亞"
+ },
+ "KW": {
+ "name": "科å¨ç‰¹"
+ },
+ "CI": {
+ "name": "科特迪瓦"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "KM": {
+ "name": "科摩羅"
+ },
+ "TN": {
+ "name": "çªå°¼è¥¿äºž"
+ },
+ "JO": {
+ "name": "ç´„æ—¦"
+ },
+ "US": {
+ "name": "美國"
+ },
+ "UM": {
+ "name": "美國本土外å°å³¶å¶¼"
+ },
+ "VI": {
+ "name": "美屬維京群島"
+ },
+ "AS": {
+ "name": "美屬薩摩亞群島"
+ },
+ "GB": {
+ "name": "英國"
+ },
+ "IO": {
+ "name": "英屬å°åº¦æ´‹é ˜åœŸ"
+ },
+ "IM": {
+ "name": "英屬地曼島"
+ },
+ "VG": {
+ "name": "英屬維京群島"
+ },
+ "DG": {
+ "name": "迪亞哥加西亞島"
+ },
+ "CG": {
+ "name": "剛果 - 布拉薩"
+ },
+ "CD": {
+ "name": "剛果 - 金å¤æ²™"
+ },
+ "CO": {
+ "name": "哥倫比亞"
+ },
+ "CR": {
+ "name": "哥斯é”黎加"
+ },
+ "EG": {
+ "name": "埃åŠ"
+ },
+ "ET": {
+ "name": "埃塞俄比亞"
+ },
+ "CK": {
+ "name": "庫克群島"
+ },
+ "CW": {
+ "name": "庫拉索"
+ },
+ "NO": {
+ "name": "挪å¨"
+ },
+ "GG": {
+ "name": "根西島"
+ },
+ "GD": {
+ "name": "格林ç´é”"
+ },
+ "GL": {
+ "name": "格陵蘭"
+ },
+ "GE": {
+ "name": "格魯å‰äºž"
+ },
+ "TH": {
+ "name": "泰國"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "UG": {
+ "name": "çƒå¹²é”"
+ },
+ "UA": {
+ "name": "çƒå…‹è˜­"
+ },
+ "UY": {
+ "name": "çƒæ‹‰åœ­"
+ },
+ "UZ": {
+ "name": "çƒèŒ²åˆ¥å…‹"
+ },
+ "TC": {
+ "name": "特克斯和凱科斯群島"
+ },
+ "TA": {
+ "name": "特里斯å¦é”庫尼亞群島"
+ },
+ "RE": {
+ "name": "留尼旺"
+ },
+ "PE": {
+ "name": "秘魯"
+ },
+ "NA": {
+ "name": "ç´ç±³æ¯”亞"
+ },
+ "NZ": {
+ "name": "ç´è¥¿è˜­"
+ },
+ "NU": {
+ "name": "ç´åŸƒå³¶"
+ },
+ "SO": {
+ "name": "索馬里"
+ },
+ "MQ": {
+ "name": "馬ä¸å°¼å…‹å³¶"
+ },
+ "ML": {
+ "name": "馬里"
+ },
+ "MY": {
+ "name": "馬來西亞"
+ },
+ "MK": {
+ "name": "馬其頓"
+ },
+ "MW": {
+ "name": "馬拉å¨"
+ },
+ "YT": {
+ "name": "馬約特"
+ },
+ "MH": {
+ "name": "馬紹爾群島"
+ },
+ "MG": {
+ "name": "馬é”加斯加"
+ },
+ "MT": {
+ "name": "馬爾他"
+ },
+ "MV": {
+ "name": "馬爾代夫"
+ },
+ "FM": {
+ "name": "密克羅尼西亞群島"
+ },
+ "CZ": {
+ "name": "æ·å…‹å…±å’Œåœ‹"
+ },
+ "SY": {
+ "name": "敘利亞"
+ },
+ "VA": {
+ "name": "梵蒂岡宮城"
+ },
+ "SX": {
+ "name": "è·å±¬è–馬ä¸"
+ },
+ "NL": {
+ "name": "è·è˜­"
+ },
+ "BQ": {
+ "name": "è·è˜­åŠ å‹’比å€"
+ },
+ "MZ": {
+ "name": "莫桑比克"
+ },
+ "BW": {
+ "name": "åšèŒ¨ç“¦ç´"
+ },
+ "CM": {
+ "name": "喀麥隆"
+ },
+ "GN": {
+ "name": "幾內亞"
+ },
+ "GW": {
+ "name": "幾內亞比紹"
+ },
+ "FJ": {
+ "name": "æ–æ¿Ÿ"
+ },
+ "SJ": {
+ "name": "斯瓦爾巴群島åŠæšé¦¬å»¶å³¶"
+ },
+ "LK": {
+ "name": "斯里蘭å¡"
+ },
+ "SZ": {
+ "name": "æ–¯å¨å£«è˜­"
+ },
+ "SI": {
+ "name": "斯洛文尼亞"
+ },
+ "SK": {
+ "name": "斯洛ä¼å…‹"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "TO": {
+ "name": "湯加"
+ },
+ "PH": {
+ "name": "è²å¾‹è³“"
+ },
+ "LS": {
+ "name": "èŠç´¢æ‰˜"
+ },
+ "VN": {
+ "name": "越å—"
+ },
+ "KY": {
+ "name": "開曼群島"
+ },
+ "ME": {
+ "name": "黑山"
+ },
+ "TJ": {
+ "name": "å¡”å‰å…‹"
+ },
+ "SN": {
+ "name": "塞內加爾"
+ },
+ "SC": {
+ "name": "塞舌爾"
+ },
+ "SL": {
+ "name": "塞拉利昂"
+ },
+ "CY": {
+ "name": "塞浦路斯"
+ },
+ "RS": {
+ "name": "塞爾維亞"
+ },
+ "AT": {
+ "name": "奧地利"
+ },
+ "AX": {
+ "name": "奧蘭群島"
+ },
+ "IT": {
+ "name": "æ„大利"
+ },
+ "EE": {
+ "name": "愛沙尼亞"
+ },
+ "IE": {
+ "name": "愛爾蘭"
+ },
+ "SG": {
+ "name": "新加å¡"
+ },
+ "NC": {
+ "name": "新喀里多尼亞"
+ },
+ "NR": {
+ "name": "瑙魯"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SE": {
+ "name": "ç‘žå…¸"
+ },
+ "BL": {
+ "name": "è–å·´æ³°å‹’ç±³"
+ },
+ "VC": {
+ "name": "è–文森特和格林ç´ä¸æ–¯"
+ },
+ "PM": {
+ "name": "è–皮埃爾和密克隆群島"
+ },
+ "ST": {
+ "name": "è–多美普林西比"
+ },
+ "SM": {
+ "name": "è–馬利諾"
+ },
+ "KN": {
+ "name": "è–基茨和尼維斯"
+ },
+ "SH": {
+ "name": "è–赫勒拿島"
+ },
+ "CX": {
+ "name": "è–誕島"
+ },
+ "LC": {
+ "name": "è–盧西亞"
+ },
+ "PT": {
+ "name": "è‘¡è„牙"
+ },
+ "TV": {
+ "name": "圖瓦盧"
+ },
+ "FK": {
+ "name": "ç¦å…‹è˜­ç¾¤å³¶"
+ },
+ "MN": {
+ "name": "è’™å¤"
+ },
+ "MS": {
+ "name": "蒙塞拉特島"
+ },
+ "GY": {
+ "name": "蓋亞那"
+ },
+ "LA": {
+ "name": "寮國"
+ },
+ "DE": {
+ "name": "德國"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "æ‘©ç´å“¥"
+ },
+ "MD": {
+ "name": "摩爾多瓦"
+ },
+ "MM": {
+ "name": "緬甸"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "JE": {
+ "name": "澤西島"
+ },
+ "AU": {
+ "name": "澳洲"
+ },
+ "RW": {
+ "name": "盧旺é”"
+ },
+ "LU": {
+ "name": "盧森堡"
+ },
+ "NF": {
+ "name": "諾ç¦å…‹å³¶"
+ },
+ "SV": {
+ "name": "薩爾瓦多"
+ },
+ "WS": {
+ "name": "薩摩亞群島"
+ },
+ "RO": {
+ "name": "羅馬尼亞"
+ },
+ "ZM": {
+ "name": "贊比亞"
+ },
+ "GU": {
+ "name": "關島"
+ },
+ "SD": {
+ "name": "蘇丹"
+ },
+ "SR": {
+ "name": "蘇里å—"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/zh-Hant.json b/library/intl/resources/country/zh-Hant.json
new file mode 100644
index 000000000..08638e361
--- /dev/null
+++ b/library/intl/resources/country/zh-Hant.json
@@ -0,0 +1,761 @@
+{
+ "TT": {
+ "name": "åƒé‡Œé”åŠæ‰˜å·´å“¥"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TC": {
+ "name": "土克斯åŠé–‹ç§‘斯群島"
+ },
+ "TM": {
+ "name": "土庫曼"
+ },
+ "BT": {
+ "name": "ä¸ä¸¹"
+ },
+ "CF": {
+ "name": "中éžå…±å’Œåœ‹"
+ },
+ "CN": {
+ "name": "中è¯äººæ°‘共和國"
+ },
+ "HK": {
+ "name": "中è¯äººæ°‘共和國香港特別行政å€"
+ },
+ "MO": {
+ "name": "中è¯äººæ°‘共和國澳門特別行政å€"
+ },
+ "DK": {
+ "name": "丹麥"
+ },
+ "EC": {
+ "name": "厄瓜多"
+ },
+ "ER": {
+ "name": "厄利垂亞"
+ },
+ "PG": {
+ "name": "巴布亞ç´å¹¾å…§äºž"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "BB": {
+ "name": "å·´è²å¤š"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "BH": {
+ "name": "å·´æž—"
+ },
+ "BS": {
+ "name": "巴哈馬"
+ },
+ "PA": {
+ "name": "巴拿馬"
+ },
+ "PS": {
+ "name": "å·´å‹’æ–¯å¦è‡ªæ²»å€"
+ },
+ "PK": {
+ "name": "巴基斯å¦"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "BE": {
+ "name": "比利時"
+ },
+ "JM": {
+ "name": "牙買加"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IC": {
+ "name": "加那利群島"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GA": {
+ "name": "加彭"
+ },
+ "MP": {
+ "name": "北馬里亞ç´ç¾¤å³¶"
+ },
+ "KP": {
+ "name": "北韓"
+ },
+ "QA": {
+ "name": "å¡é”"
+ },
+ "CU": {
+ "name": "å¤å·´"
+ },
+ "CC": {
+ "name": "å¯å¯æ–¯ç¾¤å³¶"
+ },
+ "TW": {
+ "name": "å°ç£"
+ },
+ "SZ": {
+ "name": "å²ç“¦æ¿Ÿè˜­"
+ },
+ "NE": {
+ "name": "尼日"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊爾"
+ },
+ "BF": {
+ "name": "布å‰ç´æ³•ç´¢"
+ },
+ "GP": {
+ "name": "瓜地洛普"
+ },
+ "GT": {
+ "name": "瓜地馬拉"
+ },
+ "WF": {
+ "name": "瓦利斯和富圖ç´ç¾¤å³¶"
+ },
+ "GM": {
+ "name": "甘比亞"
+ },
+ "BY": {
+ "name": "白俄羅斯"
+ },
+ "PN": {
+ "name": "皮特肯群島"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "EA": {
+ "name": "休é”與梅利利亞"
+ },
+ "IS": {
+ "name": "冰島"
+ },
+ "LI": {
+ "name": "列支敦斯登"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "ID": {
+ "name": "å°å°¼"
+ },
+ "IN": {
+ "name": "å°åº¦"
+ },
+ "DJ": {
+ "name": "å‰å¸ƒåœ°"
+ },
+ "KI": {
+ "name": "å‰é‡Œå·´æ–¯"
+ },
+ "KG": {
+ "name": "å‰çˆ¾å‰æ–¯"
+ },
+ "TV": {
+ "name": "å瓦魯"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "DO": {
+ "name": "多明尼加共和國"
+ },
+ "TG": {
+ "name": "多哥共和國"
+ },
+ "AI": {
+ "name": "安圭拉島"
+ },
+ "AG": {
+ "name": "安地å¡åŠå·´å¸ƒé”"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AD": {
+ "name": "安é“爾"
+ },
+ "TK": {
+ "name": "托克勞群島"
+ },
+ "BM": {
+ "name": "百慕é”"
+ },
+ "ET": {
+ "name": "衣索比亞"
+ },
+ "ES": {
+ "name": "西ç­ç‰™"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "HR": {
+ "name": "克羅埃西亞"
+ },
+ "SJ": {
+ "name": "冷岸åŠå¤®éº¥æ©ç¾¤å³¶"
+ },
+ "LY": {
+ "name": "利比亞"
+ },
+ "HN": {
+ "name": "å®éƒ½æ‹‰æ–¯"
+ },
+ "GR": {
+ "name": "希臘"
+ },
+ "BN": {
+ "name": "汶èŠ"
+ },
+ "SA": {
+ "name": "æ²™çƒåœ°é˜¿æ‹‰ä¼¯"
+ },
+ "BZ": {
+ "name": "è²é‡Œæ–¯"
+ },
+ "BJ": {
+ "name": "è²å—"
+ },
+ "GQ": {
+ "name": "赤é“幾內亞"
+ },
+ "ZW": {
+ "name": "辛巴å¨"
+ },
+ "AM": {
+ "name": "亞美尼亞"
+ },
+ "AZ": {
+ "name": "亞塞拜然"
+ },
+ "TZ": {
+ "name": "å¦å°šå°¼äºž"
+ },
+ "NG": {
+ "name": "奈åŠåˆ©äºž"
+ },
+ "VE": {
+ "name": "委內瑞拉"
+ },
+ "BD": {
+ "name": "孟加拉"
+ },
+ "ZM": {
+ "name": "尚比亞"
+ },
+ "PW": {
+ "name": "帛ç‰"
+ },
+ "LV": {
+ "name": "拉脫維亞"
+ },
+ "TO": {
+ "name": "æ±åŠ "
+ },
+ "TL": {
+ "name": "æ±å¸æ±¶"
+ },
+ "FR": {
+ "name": "法國"
+ },
+ "FO": {
+ "name": "法羅群島"
+ },
+ "GF": {
+ "name": "法屬圭亞那"
+ },
+ "TF": {
+ "name": "法屬å—方屬地"
+ },
+ "PF": {
+ "name": "法屬玻里尼西亞"
+ },
+ "MF": {
+ "name": "法屬è–馬ä¸"
+ },
+ "BA": {
+ "name": "波士尼亞與赫塞格維ç´"
+ },
+ "BW": {
+ "name": "波札那"
+ },
+ "PR": {
+ "name": "波多黎å„"
+ },
+ "PL": {
+ "name": "波蘭"
+ },
+ "GI": {
+ "name": "直布羅陀"
+ },
+ "KE": {
+ "name": "肯亞"
+ },
+ "FI": {
+ "name": "芬蘭"
+ },
+ "AE": {
+ "name": "阿拉伯è¯åˆå¤§å…¬åœ‹"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "OM": {
+ "name": "阿曼王國"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AC": {
+ "name": "阿森æ¾å³¶"
+ },
+ "AW": {
+ "name": "阿路巴"
+ },
+ "DZ": {
+ "name": "阿爾åŠåˆ©äºž"
+ },
+ "AL": {
+ "name": "阿爾巴尼亞"
+ },
+ "RU": {
+ "name": "ä¿„ç¾…æ–¯"
+ },
+ "BG": {
+ "name": "ä¿åŠ åˆ©äºž"
+ },
+ "ZA": {
+ "name": "å—éž"
+ },
+ "GS": {
+ "name": "å—喬治亞與å—三明治群島"
+ },
+ "AQ": {
+ "name": "å—極洲"
+ },
+ "KR": {
+ "name": "å—韓"
+ },
+ "SS": {
+ "name": "å—蘇丹"
+ },
+ "KZ": {
+ "name": "哈薩克"
+ },
+ "TD": {
+ "name": "查德"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "BO": {
+ "name": "玻利維亞"
+ },
+ "KW": {
+ "name": "科å¨ç‰¹"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "TN": {
+ "name": "çªå°¼è¥¿äºž"
+ },
+ "JO": {
+ "name": "ç´„æ—¦"
+ },
+ "US": {
+ "name": "美國"
+ },
+ "UM": {
+ "name": "美國本土外å°å³¶å¶¼"
+ },
+ "VI": {
+ "name": "美屬維京群島"
+ },
+ "AS": {
+ "name": "美屬薩摩亞群島"
+ },
+ "GB": {
+ "name": "英國"
+ },
+ "IO": {
+ "name": "英屬å°åº¦æ´‹é ˜åœŸ"
+ },
+ "VG": {
+ "name": "英屬維京群島"
+ },
+ "MR": {
+ "name": "茅利塔尼亞"
+ },
+ "GH": {
+ "name": "迦ç´"
+ },
+ "DG": {
+ "name": "迪亞哥加西亞島"
+ },
+ "CG": {
+ "name": "剛果(布拉薩)"
+ },
+ "CD": {
+ "name": "剛果(金å¤æ²™ï¼‰"
+ },
+ "CO": {
+ "name": "哥倫比亞"
+ },
+ "CR": {
+ "name": "哥斯大黎加"
+ },
+ "EG": {
+ "name": "埃åŠ"
+ },
+ "CK": {
+ "name": "庫克群島"
+ },
+ "CW": {
+ "name": "庫拉索"
+ },
+ "NO": {
+ "name": "挪å¨"
+ },
+ "GG": {
+ "name": "根西島"
+ },
+ "GL": {
+ "name": "格陵蘭"
+ },
+ "GD": {
+ "name": "格瑞那é”"
+ },
+ "TH": {
+ "name": "泰國"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "UG": {
+ "name": "çƒå¹²é”"
+ },
+ "UA": {
+ "name": "çƒå…‹è˜­"
+ },
+ "UY": {
+ "name": "çƒæ‹‰åœ­"
+ },
+ "UZ": {
+ "name": "çƒèŒ²åˆ¥å…‹"
+ },
+ "TA": {
+ "name": "特里斯å¦é”庫尼亞群島"
+ },
+ "RE": {
+ "name": "留尼旺"
+ },
+ "PE": {
+ "name": "秘魯"
+ },
+ "NA": {
+ "name": "ç´ç±³æ¯”亞"
+ },
+ "NZ": {
+ "name": "ç´è¥¿è˜­"
+ },
+ "NU": {
+ "name": "ç´åŸƒå³¶"
+ },
+ "SO": {
+ "name": "索馬利亞"
+ },
+ "SB": {
+ "name": "索羅門群島"
+ },
+ "MQ": {
+ "name": "馬ä¸å°¼å…‹å³¶"
+ },
+ "ML": {
+ "name": "馬利"
+ },
+ "MY": {
+ "name": "馬來西亞"
+ },
+ "MK": {
+ "name": "馬其頓"
+ },
+ "MW": {
+ "name": "馬拉å¨"
+ },
+ "YT": {
+ "name": "馬約特"
+ },
+ "MH": {
+ "name": "馬紹爾群島"
+ },
+ "MG": {
+ "name": "馬é”加斯加"
+ },
+ "MT": {
+ "name": "馬爾他"
+ },
+ "MV": {
+ "name": "馬爾地夫"
+ },
+ "FM": {
+ "name": "密克羅尼西亞群島"
+ },
+ "CZ": {
+ "name": "æ·å…‹å…±å’Œåœ‹"
+ },
+ "SY": {
+ "name": "敘利亞"
+ },
+ "IM": {
+ "name": "曼島"
+ },
+ "VA": {
+ "name": "梵蒂岡"
+ },
+ "SX": {
+ "name": "è·å±¬è–馬ä¸"
+ },
+ "NL": {
+ "name": "è·è˜­"
+ },
+ "BQ": {
+ "name": "è·è˜­åŠ å‹’比å€"
+ },
+ "MZ": {
+ "name": "莫三比克"
+ },
+ "CM": {
+ "name": "喀麥隆"
+ },
+ "GE": {
+ "name": "喬治亞共和國"
+ },
+ "GN": {
+ "name": "幾內亞"
+ },
+ "GW": {
+ "name": "幾內亞比紹"
+ },
+ "FJ": {
+ "name": "æ–æ¿Ÿ"
+ },
+ "LK": {
+ "name": "斯里蘭å¡"
+ },
+ "SK": {
+ "name": "斯洛ä¼å…‹"
+ },
+ "SI": {
+ "name": "斯洛維尼亞"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "PH": {
+ "name": "è²å¾‹è³“"
+ },
+ "CI": {
+ "name": "象牙海岸"
+ },
+ "VN": {
+ "name": "越å—"
+ },
+ "KY": {
+ "name": "開曼群島"
+ },
+ "TJ": {
+ "name": "å¡”å‰å…‹"
+ },
+ "SN": {
+ "name": "塞內加爾"
+ },
+ "SC": {
+ "name": "塞席爾"
+ },
+ "RS": {
+ "name": "塞爾維亞"
+ },
+ "AT": {
+ "name": "奧地利"
+ },
+ "AX": {
+ "name": "奧蘭群島"
+ },
+ "EE": {
+ "name": "愛沙尼亞"
+ },
+ "IE": {
+ "name": "愛爾蘭"
+ },
+ "SG": {
+ "name": "新加å¡"
+ },
+ "NC": {
+ "name": "新喀里多尼亞群島"
+ },
+ "SL": {
+ "name": "ç…å­å±±"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SE": {
+ "name": "ç‘žå…¸"
+ },
+ "VU": {
+ "name": "è¬é‚£æœ"
+ },
+ "IT": {
+ "name": "義大利"
+ },
+ "BL": {
+ "name": "è–å·´ç‘Ÿç±³"
+ },
+ "VC": {
+ "name": "è–文森åŠæ ¼ç‘žé‚£ä¸"
+ },
+ "PM": {
+ "name": "è–皮埃爾和密克隆群島"
+ },
+ "ST": {
+ "name": "è–多美åŠæ™®æž—西比"
+ },
+ "KN": {
+ "name": "è–克里斯多ç¦åŠå°¼ç¶­æ–¯"
+ },
+ "SM": {
+ "name": "è–馬利諾"
+ },
+ "SH": {
+ "name": "è–赫勒拿島"
+ },
+ "CX": {
+ "name": "è–誕島"
+ },
+ "LC": {
+ "name": "è–露西亞"
+ },
+ "YE": {
+ "name": "葉門"
+ },
+ "KM": {
+ "name": "葛摩"
+ },
+ "PT": {
+ "name": "è‘¡è„牙"
+ },
+ "FK": {
+ "name": "ç¦å…‹è˜­ç¾¤å³¶"
+ },
+ "CV": {
+ "name": "維德角"
+ },
+ "MN": {
+ "name": "è’™å¤"
+ },
+ "MS": {
+ "name": "蒙哲臘"
+ },
+ "ME": {
+ "name": "蒙特內哥羅"
+ },
+ "BI": {
+ "name": "蒲隆地"
+ },
+ "GY": {
+ "name": "蓋亞那"
+ },
+ "LA": {
+ "name": "寮國"
+ },
+ "DE": {
+ "name": "德國"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "æ‘©ç´å“¥"
+ },
+ "MD": {
+ "name": "摩爾多瓦"
+ },
+ "MU": {
+ "name": "模里西斯"
+ },
+ "MM": {
+ "name": "緬甸"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "JE": {
+ "name": "澤西島"
+ },
+ "AU": {
+ "name": "澳洲"
+ },
+ "RW": {
+ "name": "盧安é”"
+ },
+ "LU": {
+ "name": "盧森堡"
+ },
+ "NF": {
+ "name": "諾ç¦å…‹å³¶"
+ },
+ "NR": {
+ "name": "諾魯"
+ },
+ "LR": {
+ "name": "賴比瑞亞"
+ },
+ "LS": {
+ "name": "賴索托"
+ },
+ "CY": {
+ "name": "賽普勒斯"
+ },
+ "SV": {
+ "name": "薩爾瓦多"
+ },
+ "WS": {
+ "name": "薩摩亞群島"
+ },
+ "RO": {
+ "name": "羅馬尼亞"
+ },
+ "GU": {
+ "name": "關島"
+ },
+ "SD": {
+ "name": "蘇丹"
+ },
+ "SR": {
+ "name": "蘇利å—"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/zh.json b/library/intl/resources/country/zh.json
new file mode 100644
index 000000000..71061e76a
--- /dev/null
+++ b/library/intl/resources/country/zh.json
@@ -0,0 +1,761 @@
+{
+ "AL": {
+ "name": "阿尔巴尼亚"
+ },
+ "DZ": {
+ "name": "阿尔åŠåˆ©äºš"
+ },
+ "AF": {
+ "name": "阿富汗"
+ },
+ "AR": {
+ "name": "阿根廷"
+ },
+ "AE": {
+ "name": "阿拉伯è”åˆé…‹é•¿å›½"
+ },
+ "AW": {
+ "name": "阿é²å·´"
+ },
+ "OM": {
+ "name": "阿曼"
+ },
+ "AZ": {
+ "name": "阿塞拜疆"
+ },
+ "AC": {
+ "name": "阿森æ¾å²›"
+ },
+ "EG": {
+ "name": "埃åŠ"
+ },
+ "ET": {
+ "name": "埃塞俄比亚"
+ },
+ "IE": {
+ "name": "爱尔兰"
+ },
+ "EE": {
+ "name": "爱沙尼亚"
+ },
+ "AD": {
+ "name": "安é“å°”"
+ },
+ "AO": {
+ "name": "安哥拉"
+ },
+ "AI": {
+ "name": "安圭拉"
+ },
+ "AG": {
+ "name": "安æ瓜和巴布达"
+ },
+ "AT": {
+ "name": "奥地利"
+ },
+ "AX": {
+ "name": "奥兰群岛"
+ },
+ "AU": {
+ "name": "澳大利亚"
+ },
+ "BB": {
+ "name": "巴巴多斯"
+ },
+ "PG": {
+ "name": "巴布亚新几内亚"
+ },
+ "BS": {
+ "name": "巴哈马"
+ },
+ "PK": {
+ "name": "巴基斯å¦"
+ },
+ "PY": {
+ "name": "巴拉圭"
+ },
+ "PS": {
+ "name": "å·´å‹’æ–¯å¦é¢†åœŸ"
+ },
+ "BH": {
+ "name": "å·´æž—"
+ },
+ "PA": {
+ "name": "巴拿马"
+ },
+ "BR": {
+ "name": "巴西"
+ },
+ "BY": {
+ "name": "白俄罗斯"
+ },
+ "BM": {
+ "name": "百慕大"
+ },
+ "BG": {
+ "name": "ä¿åŠ åˆ©äºš"
+ },
+ "MP": {
+ "name": "北马里亚纳群岛"
+ },
+ "BJ": {
+ "name": "è´å®"
+ },
+ "BE": {
+ "name": "比利时"
+ },
+ "IS": {
+ "name": "冰岛"
+ },
+ "PR": {
+ "name": "波多黎å„"
+ },
+ "PL": {
+ "name": "波兰"
+ },
+ "BA": {
+ "name": "波斯尼亚和黑塞哥维那"
+ },
+ "BO": {
+ "name": "玻利维亚"
+ },
+ "BZ": {
+ "name": "伯利兹"
+ },
+ "BW": {
+ "name": "åšèŒ¨ç“¦çº³"
+ },
+ "BT": {
+ "name": "ä¸ä¸¹"
+ },
+ "BF": {
+ "name": "布基纳法索"
+ },
+ "BI": {
+ "name": "布隆迪"
+ },
+ "KP": {
+ "name": "æœé²œ"
+ },
+ "GQ": {
+ "name": "赤é“几内亚"
+ },
+ "DK": {
+ "name": "丹麦"
+ },
+ "DE": {
+ "name": "德国"
+ },
+ "DG": {
+ "name": "迪戈加西亚岛"
+ },
+ "TL": {
+ "name": "东å¸æ±¶"
+ },
+ "TG": {
+ "name": "多哥"
+ },
+ "DO": {
+ "name": "多米尼加共和国"
+ },
+ "DM": {
+ "name": "多米尼克"
+ },
+ "RU": {
+ "name": "ä¿„ç½—æ–¯"
+ },
+ "EC": {
+ "name": "厄瓜多尔"
+ },
+ "ER": {
+ "name": "厄立特里亚"
+ },
+ "FR": {
+ "name": "法国"
+ },
+ "FO": {
+ "name": "法罗群岛"
+ },
+ "PF": {
+ "name": "法属波利尼西亚"
+ },
+ "GF": {
+ "name": "法属圭亚那"
+ },
+ "TF": {
+ "name": "法属å—部领地"
+ },
+ "MF": {
+ "name": "法属圣马ä¸"
+ },
+ "VA": {
+ "name": "梵蒂冈"
+ },
+ "PH": {
+ "name": "è²å¾‹å®¾"
+ },
+ "FJ": {
+ "name": "æ–济"
+ },
+ "FI": {
+ "name": "芬兰"
+ },
+ "CV": {
+ "name": "佛得角"
+ },
+ "FK": {
+ "name": "ç¦å…‹å…°ç¾¤å²›"
+ },
+ "GM": {
+ "name": "冈比亚"
+ },
+ "CG": {
+ "name": "刚果(布)"
+ },
+ "CD": {
+ "name": "刚果(金)"
+ },
+ "CO": {
+ "name": "哥伦比亚"
+ },
+ "CR": {
+ "name": "哥斯达黎加"
+ },
+ "GD": {
+ "name": "格林纳达"
+ },
+ "GL": {
+ "name": "格陵兰"
+ },
+ "GE": {
+ "name": "æ ¼é²å‰äºš"
+ },
+ "GG": {
+ "name": "根西岛"
+ },
+ "CU": {
+ "name": "å¤å·´"
+ },
+ "GP": {
+ "name": "瓜德罗普"
+ },
+ "GU": {
+ "name": "关岛"
+ },
+ "GY": {
+ "name": "圭亚那"
+ },
+ "KZ": {
+ "name": "哈è¨å…‹æ–¯å¦"
+ },
+ "HT": {
+ "name": "海地"
+ },
+ "KR": {
+ "name": "韩国"
+ },
+ "NL": {
+ "name": "è·å…°"
+ },
+ "BQ": {
+ "name": "è·å…°åŠ å‹’比区"
+ },
+ "SX": {
+ "name": "è·å±žåœ£é©¬ä¸"
+ },
+ "ME": {
+ "name": "黑山共和国"
+ },
+ "HN": {
+ "name": "洪都拉斯"
+ },
+ "KI": {
+ "name": "基里巴斯"
+ },
+ "DJ": {
+ "name": "å‰å¸ƒæ"
+ },
+ "KG": {
+ "name": "å‰å°”å‰æ–¯æ–¯å¦"
+ },
+ "GN": {
+ "name": "几内亚"
+ },
+ "GW": {
+ "name": "几内亚比ç»"
+ },
+ "CA": {
+ "name": "加拿大"
+ },
+ "GH": {
+ "name": "加纳"
+ },
+ "IC": {
+ "name": "加纳利群岛"
+ },
+ "GA": {
+ "name": "加蓬"
+ },
+ "KH": {
+ "name": "柬埔寨"
+ },
+ "CZ": {
+ "name": "æ·å…‹å…±å’Œå›½"
+ },
+ "ZW": {
+ "name": "津巴布韦"
+ },
+ "CM": {
+ "name": "喀麦隆"
+ },
+ "QA": {
+ "name": "å¡å¡”å°”"
+ },
+ "KY": {
+ "name": "开曼群岛"
+ },
+ "CC": {
+ "name": "科科斯(基林)群岛"
+ },
+ "KM": {
+ "name": "科摩罗"
+ },
+ "XK": {
+ "name": "科索沃"
+ },
+ "CI": {
+ "name": "科特迪瓦"
+ },
+ "KW": {
+ "name": "科å¨ç‰¹"
+ },
+ "HR": {
+ "name": "克罗地亚"
+ },
+ "KE": {
+ "name": "肯尼亚"
+ },
+ "CK": {
+ "name": "库克群岛"
+ },
+ "CW": {
+ "name": "库拉索"
+ },
+ "LV": {
+ "name": "拉脱维亚"
+ },
+ "LS": {
+ "name": "莱索托"
+ },
+ "LA": {
+ "name": "è€æŒ"
+ },
+ "LB": {
+ "name": "黎巴嫩"
+ },
+ "LT": {
+ "name": "立陶宛"
+ },
+ "LR": {
+ "name": "利比里亚"
+ },
+ "LY": {
+ "name": "利比亚"
+ },
+ "LI": {
+ "name": "列支敦士登"
+ },
+ "RE": {
+ "name": "留尼汪"
+ },
+ "LU": {
+ "name": "å¢æ£®å ¡"
+ },
+ "RW": {
+ "name": "å¢æ—ºè¾¾"
+ },
+ "RO": {
+ "name": "罗马尼亚"
+ },
+ "MG": {
+ "name": "马达加斯加"
+ },
+ "MV": {
+ "name": "马尔代夫"
+ },
+ "MT": {
+ "name": "马耳他"
+ },
+ "MW": {
+ "name": "马拉维"
+ },
+ "MY": {
+ "name": "马æ¥è¥¿äºš"
+ },
+ "ML": {
+ "name": "马里"
+ },
+ "MK": {
+ "name": "马其顿"
+ },
+ "MH": {
+ "name": "马ç»å°”群岛"
+ },
+ "MQ": {
+ "name": "马æ尼克"
+ },
+ "YT": {
+ "name": "马约特"
+ },
+ "IM": {
+ "name": "曼岛"
+ },
+ "MU": {
+ "name": "毛里求斯"
+ },
+ "MR": {
+ "name": "毛里塔尼亚"
+ },
+ "US": {
+ "name": "美国"
+ },
+ "UM": {
+ "name": "美国本土外å°å²›å±¿"
+ },
+ "AS": {
+ "name": "美属è¨æ‘©äºš"
+ },
+ "VI": {
+ "name": "美属维京群岛"
+ },
+ "MN": {
+ "name": "è’™å¤"
+ },
+ "MS": {
+ "name": "蒙特塞拉特"
+ },
+ "BD": {
+ "name": "孟加拉国"
+ },
+ "PE": {
+ "name": "秘é²"
+ },
+ "FM": {
+ "name": "密克罗尼西亚"
+ },
+ "MM": {
+ "name": "缅甸"
+ },
+ "MD": {
+ "name": "摩尔多瓦"
+ },
+ "MA": {
+ "name": "摩洛哥"
+ },
+ "MC": {
+ "name": "摩纳哥"
+ },
+ "MZ": {
+ "name": "莫桑比克"
+ },
+ "MX": {
+ "name": "墨西哥"
+ },
+ "NA": {
+ "name": "纳米比亚"
+ },
+ "ZA": {
+ "name": "å—éž"
+ },
+ "AQ": {
+ "name": "å—æžæ´²"
+ },
+ "GS": {
+ "name": "å—乔治亚岛和å—æ¡‘å¨é½ç¾¤å²›"
+ },
+ "SS": {
+ "name": "å—è‹ä¸¹"
+ },
+ "NR": {
+ "name": "ç‘™é²"
+ },
+ "NI": {
+ "name": "尼加拉瓜"
+ },
+ "NP": {
+ "name": "尼泊尔"
+ },
+ "NE": {
+ "name": "尼日尔"
+ },
+ "NG": {
+ "name": "尼日利亚"
+ },
+ "NU": {
+ "name": "纽埃"
+ },
+ "NO": {
+ "name": "挪å¨"
+ },
+ "NF": {
+ "name": "诺ç¦å…‹å²›"
+ },
+ "PW": {
+ "name": "帕劳"
+ },
+ "PN": {
+ "name": "皮特凯æ©ç¾¤å²›"
+ },
+ "PT": {
+ "name": "è‘¡è„牙"
+ },
+ "JP": {
+ "name": "日本"
+ },
+ "SE": {
+ "name": "ç‘žå…¸"
+ },
+ "CH": {
+ "name": "瑞士"
+ },
+ "SV": {
+ "name": "è¨å°”瓦多"
+ },
+ "WS": {
+ "name": "è¨æ‘©äºš"
+ },
+ "RS": {
+ "name": "塞尔维亚"
+ },
+ "SL": {
+ "name": "塞拉利昂"
+ },
+ "SN": {
+ "name": "塞内加尔"
+ },
+ "CY": {
+ "name": "塞浦路斯"
+ },
+ "SC": {
+ "name": "塞舌尔"
+ },
+ "SA": {
+ "name": "沙特阿拉伯"
+ },
+ "BL": {
+ "name": "圣巴泰勒米"
+ },
+ "CX": {
+ "name": "圣诞岛"
+ },
+ "ST": {
+ "name": "圣多美和普林西比"
+ },
+ "SH": {
+ "name": "圣赫勒拿"
+ },
+ "KN": {
+ "name": "圣基茨和尼维斯"
+ },
+ "LC": {
+ "name": "圣å¢è¥¿äºš"
+ },
+ "SM": {
+ "name": "圣马力诺"
+ },
+ "PM": {
+ "name": "圣皮埃尔和密克隆群岛"
+ },
+ "VC": {
+ "name": "圣文森特和格林纳ä¸æ–¯"
+ },
+ "LK": {
+ "name": "斯里兰å¡"
+ },
+ "SK": {
+ "name": "斯洛ä¼å…‹"
+ },
+ "SI": {
+ "name": "斯洛文尼亚"
+ },
+ "SJ": {
+ "name": "斯瓦尔巴特和扬马延"
+ },
+ "SZ": {
+ "name": "æ–¯å¨å£«å…°"
+ },
+ "SD": {
+ "name": "è‹ä¸¹"
+ },
+ "SR": {
+ "name": "è‹é‡Œå—"
+ },
+ "SB": {
+ "name": "所罗门群岛"
+ },
+ "SO": {
+ "name": "索马里"
+ },
+ "TJ": {
+ "name": "å¡”å‰å…‹æ–¯å¦"
+ },
+ "TW": {
+ "name": "å°æ¹¾"
+ },
+ "TH": {
+ "name": "泰国"
+ },
+ "TZ": {
+ "name": "å¦æ¡‘尼亚"
+ },
+ "TO": {
+ "name": "汤加"
+ },
+ "TC": {
+ "name": "特克斯和凯科斯群岛"
+ },
+ "TA": {
+ "name": "特里斯å¦-达库尼亚群岛"
+ },
+ "TT": {
+ "name": "特立尼达和多巴哥"
+ },
+ "TN": {
+ "name": "çªå°¼æ–¯"
+ },
+ "TV": {
+ "name": "图瓦å¢"
+ },
+ "TR": {
+ "name": "土耳其"
+ },
+ "TM": {
+ "name": "土库曼斯å¦"
+ },
+ "TK": {
+ "name": "托克劳"
+ },
+ "WF": {
+ "name": "瓦利斯和富图纳"
+ },
+ "VU": {
+ "name": "瓦努阿图"
+ },
+ "GT": {
+ "name": "å±åœ°é©¬æ‹‰"
+ },
+ "VE": {
+ "name": "委内瑞拉"
+ },
+ "BN": {
+ "name": "文莱"
+ },
+ "UG": {
+ "name": "乌干达"
+ },
+ "UA": {
+ "name": "乌克兰"
+ },
+ "UY": {
+ "name": "乌拉圭"
+ },
+ "UZ": {
+ "name": "乌兹别克斯å¦"
+ },
+ "GR": {
+ "name": "希腊"
+ },
+ "ES": {
+ "name": "西ç­ç‰™"
+ },
+ "EH": {
+ "name": "西撒哈拉"
+ },
+ "SG": {
+ "name": "新加å¡"
+ },
+ "NC": {
+ "name": "新喀里多尼亚"
+ },
+ "NZ": {
+ "name": "新西兰"
+ },
+ "HU": {
+ "name": "匈牙利"
+ },
+ "EA": {
+ "name": "休达åŠæ¢…利利亚"
+ },
+ "SY": {
+ "name": "å™åˆ©äºš"
+ },
+ "JM": {
+ "name": "牙买加"
+ },
+ "AM": {
+ "name": "亚美尼亚"
+ },
+ "YE": {
+ "name": "也门"
+ },
+ "IQ": {
+ "name": "伊拉克"
+ },
+ "IR": {
+ "name": "伊朗"
+ },
+ "IL": {
+ "name": "以色列"
+ },
+ "IT": {
+ "name": "æ„大利"
+ },
+ "IN": {
+ "name": "å°åº¦"
+ },
+ "ID": {
+ "name": "å°åº¦å°¼è¥¿äºš"
+ },
+ "GB": {
+ "name": "英国"
+ },
+ "VG": {
+ "name": "英属维京群岛"
+ },
+ "IO": {
+ "name": "英属å°åº¦æ´‹é¢†åœ°"
+ },
+ "JO": {
+ "name": "约旦"
+ },
+ "VN": {
+ "name": "越å—"
+ },
+ "ZM": {
+ "name": "赞比亚"
+ },
+ "JE": {
+ "name": "泽西岛"
+ },
+ "TD": {
+ "name": "ä¹å¾—"
+ },
+ "GI": {
+ "name": "直布罗陀"
+ },
+ "CL": {
+ "name": "智利"
+ },
+ "CF": {
+ "name": "中éžå…±å’Œå›½"
+ },
+ "CN": {
+ "name": "中国"
+ },
+ "MO": {
+ "name": "中国澳门特别行政区"
+ },
+ "HK": {
+ "name": "中国香港特别行政区"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/country/zu.json b/library/intl/resources/country/zu.json
new file mode 100644
index 000000000..20b4d0623
--- /dev/null
+++ b/library/intl/resources/country/zu.json
@@ -0,0 +1,761 @@
+{
+ "AF": {
+ "name": "i-Afghanistan"
+ },
+ "AX": {
+ "name": "i-Ã…land Islands"
+ },
+ "AL": {
+ "name": "i-Albania"
+ },
+ "DZ": {
+ "name": "i-Algeria"
+ },
+ "AS": {
+ "name": "i-American Samoa"
+ },
+ "AD": {
+ "name": "i-Andorra"
+ },
+ "AO": {
+ "name": "i-Angola"
+ },
+ "AI": {
+ "name": "i-Anguilla"
+ },
+ "AQ": {
+ "name": "i-Antarctica"
+ },
+ "AG": {
+ "name": "i-Antigua and Barbuda"
+ },
+ "AR": {
+ "name": "i-Argentina"
+ },
+ "AM": {
+ "name": "i-Armenia"
+ },
+ "AW": {
+ "name": "i-Aruba"
+ },
+ "AC": {
+ "name": "i-Ascension Island"
+ },
+ "AU": {
+ "name": "i-Australia"
+ },
+ "AT": {
+ "name": "i-Austria"
+ },
+ "AZ": {
+ "name": "i-Azerbaijan"
+ },
+ "BS": {
+ "name": "i-Bahamas"
+ },
+ "BH": {
+ "name": "i-Bahrain"
+ },
+ "BD": {
+ "name": "i-Bangladesh"
+ },
+ "BB": {
+ "name": "i-Barbados"
+ },
+ "BY": {
+ "name": "i-Belarus"
+ },
+ "BE": {
+ "name": "i-Belgium"
+ },
+ "BZ": {
+ "name": "i-Belize"
+ },
+ "BJ": {
+ "name": "i-Benin"
+ },
+ "BM": {
+ "name": "i-Bermuda"
+ },
+ "BT": {
+ "name": "i-Bhutan"
+ },
+ "BO": {
+ "name": "i-Bolivia"
+ },
+ "BA": {
+ "name": "i-Bosnia ne-Herzegovina"
+ },
+ "BW": {
+ "name": "i-Botswana"
+ },
+ "BR": {
+ "name": "i-Brazil"
+ },
+ "IO": {
+ "name": "i-British Indian Ocean Territory"
+ },
+ "VG": {
+ "name": "i-British Virgin Islands"
+ },
+ "BN": {
+ "name": "i-Brunei"
+ },
+ "BG": {
+ "name": "i-Bulgaria"
+ },
+ "BF": {
+ "name": "i-Burkina Faso"
+ },
+ "BI": {
+ "name": "i-Burundi"
+ },
+ "KH": {
+ "name": "i-Cambodia"
+ },
+ "CM": {
+ "name": "i-Cameroon"
+ },
+ "CA": {
+ "name": "i-Canada"
+ },
+ "IC": {
+ "name": "i-Canary Islands"
+ },
+ "CV": {
+ "name": "i-Cape Verde"
+ },
+ "BQ": {
+ "name": "i-Caribbean Netherlands"
+ },
+ "KY": {
+ "name": "i-Cayman Islands"
+ },
+ "CF": {
+ "name": "i-Central African Republic"
+ },
+ "TD": {
+ "name": "i-Chad"
+ },
+ "CL": {
+ "name": "i-Chile"
+ },
+ "CN": {
+ "name": "i-China"
+ },
+ "CX": {
+ "name": "i-Christmas Island"
+ },
+ "CC": {
+ "name": "i-Cocos (Keeling) Islands"
+ },
+ "CO": {
+ "name": "i-Colombia"
+ },
+ "KM": {
+ "name": "i-Comoros"
+ },
+ "CG": {
+ "name": "i-Congo - Brazzaville"
+ },
+ "CD": {
+ "name": "i-Congo - Kinshasa"
+ },
+ "CK": {
+ "name": "i-Cook Islands"
+ },
+ "CR": {
+ "name": "i-Costa Rica"
+ },
+ "CI": {
+ "name": "i-Côte d’Ivoire"
+ },
+ "HR": {
+ "name": "i-Croatia"
+ },
+ "CU": {
+ "name": "i-Cuba"
+ },
+ "EA": {
+ "name": "i-Cueta ne-Melilla"
+ },
+ "CW": {
+ "name": "i-Curaçao"
+ },
+ "CY": {
+ "name": "i-Cyprus"
+ },
+ "CZ": {
+ "name": "i-Czech Republic"
+ },
+ "DK": {
+ "name": "i-Denmark"
+ },
+ "DG": {
+ "name": "i-Diego Garcia"
+ },
+ "DJ": {
+ "name": "i-Djibouti"
+ },
+ "DM": {
+ "name": "i-Dominica"
+ },
+ "DO": {
+ "name": "i-Dominican Republic"
+ },
+ "EC": {
+ "name": "i-Ecuador"
+ },
+ "EG": {
+ "name": "i-Egypt"
+ },
+ "SV": {
+ "name": "i-El Salvador"
+ },
+ "GQ": {
+ "name": "i-Equatorial Guinea"
+ },
+ "ER": {
+ "name": "i-Eritrea"
+ },
+ "EE": {
+ "name": "i-Estonia"
+ },
+ "ET": {
+ "name": "i-Ethiopia"
+ },
+ "FK": {
+ "name": "i-Falkland Islands"
+ },
+ "FO": {
+ "name": "i-Faroe Islands"
+ },
+ "FJ": {
+ "name": "i-Fiji"
+ },
+ "FI": {
+ "name": "i-Finland"
+ },
+ "FR": {
+ "name": "i-France"
+ },
+ "PF": {
+ "name": "i-French Polynesia"
+ },
+ "TF": {
+ "name": "i-French Southern Territories"
+ },
+ "GA": {
+ "name": "i-Gabon"
+ },
+ "GM": {
+ "name": "i-Gambia"
+ },
+ "GE": {
+ "name": "i-Georgia"
+ },
+ "DE": {
+ "name": "i-Germany"
+ },
+ "GH": {
+ "name": "i-Ghana"
+ },
+ "GI": {
+ "name": "i-Gibraltar"
+ },
+ "GR": {
+ "name": "i-Greece"
+ },
+ "GL": {
+ "name": "i-Greenland"
+ },
+ "GD": {
+ "name": "i-Grenada"
+ },
+ "GP": {
+ "name": "i-Guadeloupe"
+ },
+ "GU": {
+ "name": "i-Guam"
+ },
+ "GT": {
+ "name": "i-Guatemala"
+ },
+ "GG": {
+ "name": "i-Guernsey"
+ },
+ "GN": {
+ "name": "i-Guinea"
+ },
+ "GW": {
+ "name": "i-Guinea-Bissau"
+ },
+ "GY": {
+ "name": "i-Guyana"
+ },
+ "HT": {
+ "name": "i-Haiti"
+ },
+ "HN": {
+ "name": "i-Honduras"
+ },
+ "HK": {
+ "name": "i-Hong Kong SAR China"
+ },
+ "HU": {
+ "name": "i-Hungary"
+ },
+ "IS": {
+ "name": "i-Iceland"
+ },
+ "IN": {
+ "name": "i-India"
+ },
+ "ID": {
+ "name": "i-Indonesia"
+ },
+ "IR": {
+ "name": "i-Iran"
+ },
+ "IQ": {
+ "name": "i-Iraq"
+ },
+ "IE": {
+ "name": "i-Ireland"
+ },
+ "IM": {
+ "name": "i-Isle of Man"
+ },
+ "IL": {
+ "name": "i-Israel"
+ },
+ "IT": {
+ "name": "i-Italy"
+ },
+ "JM": {
+ "name": "i-Jamaica"
+ },
+ "JP": {
+ "name": "i-Japan"
+ },
+ "JE": {
+ "name": "i-Jersey"
+ },
+ "JO": {
+ "name": "i-Jordan"
+ },
+ "KZ": {
+ "name": "i-Kazakhstan"
+ },
+ "KE": {
+ "name": "i-Kenya"
+ },
+ "KI": {
+ "name": "i-Kiribati"
+ },
+ "XK": {
+ "name": "i-Kosovo"
+ },
+ "KW": {
+ "name": "i-Kuwait"
+ },
+ "KG": {
+ "name": "i-Kyrgyzstan"
+ },
+ "LA": {
+ "name": "i-Laos"
+ },
+ "LV": {
+ "name": "i-Latvia"
+ },
+ "LB": {
+ "name": "i-Lebanon"
+ },
+ "LS": {
+ "name": "i-Lesotho"
+ },
+ "LR": {
+ "name": "i-Liberia"
+ },
+ "LY": {
+ "name": "i-Libya"
+ },
+ "LI": {
+ "name": "i-Liechtenstein"
+ },
+ "LT": {
+ "name": "i-Lithuania"
+ },
+ "LU": {
+ "name": "i-Luxembourg"
+ },
+ "MO": {
+ "name": "i-Macau SAR China"
+ },
+ "MK": {
+ "name": "i-Macedonia"
+ },
+ "MG": {
+ "name": "i-Madagascar"
+ },
+ "MW": {
+ "name": "i-Malawi"
+ },
+ "MY": {
+ "name": "i-Malaysia"
+ },
+ "MV": {
+ "name": "i-Maldives"
+ },
+ "ML": {
+ "name": "i-Mali"
+ },
+ "MT": {
+ "name": "i-Malta"
+ },
+ "MH": {
+ "name": "i-Marshall Islands"
+ },
+ "MQ": {
+ "name": "i-Martinique"
+ },
+ "MR": {
+ "name": "i-Mauritania"
+ },
+ "MU": {
+ "name": "i-Mauritius"
+ },
+ "YT": {
+ "name": "i-Mayotte"
+ },
+ "MX": {
+ "name": "i-Mexico"
+ },
+ "FM": {
+ "name": "i-Micronesia"
+ },
+ "MD": {
+ "name": "i-Moldova"
+ },
+ "MC": {
+ "name": "i-Monaco"
+ },
+ "MN": {
+ "name": "i-Mongolia"
+ },
+ "ME": {
+ "name": "i-Montenegro"
+ },
+ "MS": {
+ "name": "i-Montserrat"
+ },
+ "MA": {
+ "name": "i-Morocco"
+ },
+ "MZ": {
+ "name": "i-Mozambique"
+ },
+ "MM": {
+ "name": "i-Myanmar (Burma)"
+ },
+ "NA": {
+ "name": "i-Namibia"
+ },
+ "NR": {
+ "name": "i-Nauru"
+ },
+ "NP": {
+ "name": "i-Nepal"
+ },
+ "NL": {
+ "name": "i-Netherlands"
+ },
+ "NC": {
+ "name": "i-New Caledonia"
+ },
+ "NZ": {
+ "name": "i-New Zealand"
+ },
+ "NI": {
+ "name": "i-Nicaragua"
+ },
+ "NE": {
+ "name": "i-Niger"
+ },
+ "NG": {
+ "name": "i-Nigeria"
+ },
+ "NU": {
+ "name": "i-Niue"
+ },
+ "NF": {
+ "name": "i-Norfolk Island"
+ },
+ "KP": {
+ "name": "i-North Korea"
+ },
+ "MP": {
+ "name": "i-Northern Mariana Islands"
+ },
+ "NO": {
+ "name": "i-Norway"
+ },
+ "OM": {
+ "name": "i-Oman"
+ },
+ "PK": {
+ "name": "i-Pakistan"
+ },
+ "PW": {
+ "name": "i-Palau"
+ },
+ "PS": {
+ "name": "i-Palestinian Territories"
+ },
+ "PA": {
+ "name": "i-Panama"
+ },
+ "PG": {
+ "name": "i-Papua New Guinea"
+ },
+ "PY": {
+ "name": "i-Paraguay"
+ },
+ "PE": {
+ "name": "i-Peru"
+ },
+ "PH": {
+ "name": "i-Philippines"
+ },
+ "PN": {
+ "name": "i-Pitcairn Islands"
+ },
+ "PL": {
+ "name": "i-Poland"
+ },
+ "PT": {
+ "name": "i-Portugal"
+ },
+ "PR": {
+ "name": "i-Puerto Rico"
+ },
+ "QA": {
+ "name": "i-Qatar"
+ },
+ "RE": {
+ "name": "i-Réunion"
+ },
+ "RO": {
+ "name": "i-Romania"
+ },
+ "RU": {
+ "name": "i-Russia"
+ },
+ "RW": {
+ "name": "i-Rwanda"
+ },
+ "BL": {
+ "name": "i-Saint Barthélemy"
+ },
+ "SH": {
+ "name": "i-Saint Helena"
+ },
+ "KN": {
+ "name": "i-Saint Kitts ne-Nevis"
+ },
+ "LC": {
+ "name": "i-Saint Lucia"
+ },
+ "MF": {
+ "name": "i-Saint Martin"
+ },
+ "PM": {
+ "name": "i-Saint Pierre kanye ne-Miquelon"
+ },
+ "VC": {
+ "name": "i-Saint Vincent ne-Grenadines"
+ },
+ "WS": {
+ "name": "i-Samoa"
+ },
+ "SM": {
+ "name": "i-San Marino"
+ },
+ "ST": {
+ "name": "i-São Tomé kanye ne-Príncipe"
+ },
+ "SA": {
+ "name": "i-Saudi Arabia"
+ },
+ "SN": {
+ "name": "i-Senegal"
+ },
+ "RS": {
+ "name": "i-Serbia"
+ },
+ "SC": {
+ "name": "i-Seychelles"
+ },
+ "SL": {
+ "name": "i-Sierra Leone"
+ },
+ "SG": {
+ "name": "i-Singapore"
+ },
+ "SX": {
+ "name": "I-Sint Maarten"
+ },
+ "SK": {
+ "name": "i-Slovakia"
+ },
+ "SI": {
+ "name": "i-Slovenia"
+ },
+ "SB": {
+ "name": "i-Solomon Islands"
+ },
+ "SO": {
+ "name": "i-Somalia"
+ },
+ "ZA": {
+ "name": "i-South Africa"
+ },
+ "GS": {
+ "name": "i-South Georgia ne-South Sandwich Islands"
+ },
+ "KR": {
+ "name": "i-South Korea"
+ },
+ "SS": {
+ "name": "i-South Sudan"
+ },
+ "ES": {
+ "name": "i-Spain"
+ },
+ "LK": {
+ "name": "i-Sri Lanka"
+ },
+ "SD": {
+ "name": "i-Sudan"
+ },
+ "SR": {
+ "name": "i-Suriname"
+ },
+ "SJ": {
+ "name": "i-Svalbard ne-Jan Mayen"
+ },
+ "SZ": {
+ "name": "i-Swaziland"
+ },
+ "SE": {
+ "name": "i-Sweden"
+ },
+ "CH": {
+ "name": "i-Switzerland"
+ },
+ "SY": {
+ "name": "i-Syria"
+ },
+ "TW": {
+ "name": "i-Taiwan"
+ },
+ "TJ": {
+ "name": "i-Tajikistan"
+ },
+ "TZ": {
+ "name": "i-Tanzania"
+ },
+ "TH": {
+ "name": "i-Thailand"
+ },
+ "TL": {
+ "name": "i-Timor-Leste"
+ },
+ "TG": {
+ "name": "i-Togo"
+ },
+ "TK": {
+ "name": "i-Tokelau"
+ },
+ "TO": {
+ "name": "i-Tonga"
+ },
+ "TT": {
+ "name": "i-Trinidad ne-Tobago"
+ },
+ "TA": {
+ "name": "i-Tristan da Cunha"
+ },
+ "TN": {
+ "name": "i-Tunisia"
+ },
+ "TR": {
+ "name": "i-Turkey"
+ },
+ "TM": {
+ "name": "i-Turkmenistan"
+ },
+ "TC": {
+ "name": "i-Turks and Caicos Islands"
+ },
+ "TV": {
+ "name": "i-Tuvalu"
+ },
+ "UM": {
+ "name": "i-U.S. Minor Outlying Islands"
+ },
+ "VI": {
+ "name": "i-U.S. Virgin Islands"
+ },
+ "UG": {
+ "name": "i-Uganda"
+ },
+ "UA": {
+ "name": "i-Ukraine"
+ },
+ "AE": {
+ "name": "i-United Arab Emirates"
+ },
+ "GB": {
+ "name": "i-United Kingdom"
+ },
+ "US": {
+ "name": "i-United States"
+ },
+ "UY": {
+ "name": "i-Uruguay"
+ },
+ "UZ": {
+ "name": "i-Uzbekistan"
+ },
+ "VU": {
+ "name": "i-Vanuatu"
+ },
+ "VA": {
+ "name": "i-Vatican City"
+ },
+ "VE": {
+ "name": "i-Venezuela"
+ },
+ "VN": {
+ "name": "i-Vietnam"
+ },
+ "WF": {
+ "name": "i-Wallis ne-Futuna"
+ },
+ "EH": {
+ "name": "i-Western Sahara"
+ },
+ "YE": {
+ "name": "i-Yemen"
+ },
+ "ZM": {
+ "name": "i-Zambia"
+ },
+ "ZW": {
+ "name": "i-Zimbabwe"
+ },
+ "GF": {
+ "name": "isi-French Guiana"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/af.json b/library/intl/resources/currency/af.json
new file mode 100644
index 000000000..b7e5c4930
--- /dev/null
+++ b/library/intl/resources/currency/af.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afgaanse afgani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanese lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algeriese dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "Amerikaanse dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angolese kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentynse peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armeense dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Arubaanse floryn",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australiese dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbeidjaanse manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamiaanse dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahreinse dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladesjiese taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbados-dollar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Beliziese dollar",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "Belo-Russiese roebel",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "Bermuda-dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhoetanese ngoeltroem",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Boliviaanse boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnies-Herzegowiniese omskakelbare marka",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswana pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brasilliaanse reaal",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britse pond",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Broeneise dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgaarse lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundiese frank",
+ "symbol": "BIF"
+ },
+ "KYD": {
+ "name": "Cayman-eilande dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA frank BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA frank BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-frank",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chileense peso",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Colombiaanse peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comoraanse frank",
+ "symbol": "KMF"
+ },
+ "CRC": {
+ "name": "Costa Ricaanse colón",
+ "symbol": "CRC"
+ },
+ "DKK": {
+ "name": "Deense kroon",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboeti frank",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominikaanse peso",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "Egiptiese pond",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrese nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Etiopiese birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-eilande pond",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fidjiaanse dollar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filippynse peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "Gambiese dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgiese lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanese cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltarese pond",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalaanse quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinese frank",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanese dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haïtiaanse gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Hondurese lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hongaarse florint",
+ "symbol": "HUF"
+ },
+ "INR": {
+ "name": "Indiese roepee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesiese roepia",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Irakse dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iranse rial",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "Israeliese nuwe sikkel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaikaanse dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japannese jen",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "Jemenitiese rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jordaniese dinar",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Kaap Verdiese escudo",
+ "symbol": "CVE"
+ },
+ "KHR": {
+ "name": "Kambodjaanse riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanadese dollar",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Katarrese rial",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "Kazakse tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Keniaanse sjieling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Kirgisiese som",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "Koeweitse dinar",
+ "symbol": "KWD"
+ },
+ "CDF": {
+ "name": "Kongolese frank",
+ "symbol": "CDF"
+ },
+ "HRK": {
+ "name": "Kroatiese kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Kubaanse omskakelbare peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Kubaanse peso",
+ "symbol": "CUP"
+ },
+ "LAK": {
+ "name": "Laosiaanse kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese pond",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberiese dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libiese dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litause litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macaose pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedoniese denar",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "Malawiese kwacha",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Malediviese rufia",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "Maleisiese ringgit",
+ "symbol": "MYR"
+ },
+ "MGA": {
+ "name": "Malgassiese ariary",
+ "symbol": "MGA"
+ },
+ "MAD": {
+ "name": "Marokkaanse dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "Mauritaniese ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritiaanse rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Meksikaanse peso",
+ "symbol": "MXN"
+ },
+ "MMK": {
+ "name": "Mianmese kyat",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "Moldowiese leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongoolse toegrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mosambiekse metical",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "Namibiese dollar",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "Nederlands-Antilliaanse gulde",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "Nepalese roepee",
+ "symbol": "NPR"
+ },
+ "NIO": {
+ "name": "Nicaraguaanse córdoba",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "Nieu-Seeland dollar",
+ "symbol": "NZ$"
+ },
+ "NGN": {
+ "name": "Nigeriese naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "Noord-Koreaanse won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Noorse kroon",
+ "symbol": "NOK"
+ },
+ "TWD": {
+ "name": "Nuwe Taiwanese dollar",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "Oekraïnse hriwna",
+ "symbol": "UAH"
+ },
+ "UZS": {
+ "name": "Oezbekiese som",
+ "symbol": "UZS"
+ },
+ "OMR": {
+ "name": "Omaanse rial",
+ "symbol": "OMR"
+ },
+ "XCD": {
+ "name": "Oos-Karibbiese dollar",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "Pakistanse roepee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamese balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papoea-Nieu-Guinese kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguaanse guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruaanse nuwe sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Poolse zloty",
+ "symbol": "PLN"
+ },
+ "RON": {
+ "name": "Roemeense leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russiese roebel",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandiese frank",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "Salomonseilande dollar",
+ "symbol": "SBD"
+ },
+ "WST": {
+ "name": "Samoaanse tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé en Príncipe dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saoedi-Arabiese riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbiese dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellese rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leoniese leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapoer dollar",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "Sint Helena pond",
+ "symbol": "SHP"
+ },
+ "SYP": {
+ "name": "Siriese pond",
+ "symbol": "SYP"
+ },
+ "CNY": {
+ "name": "Sjinese joean renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "SDG": {
+ "name": "Soedannese pond",
+ "symbol": "SDG"
+ },
+ "SOS": {
+ "name": "Somaliese sjieling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri Lankaanse roepee",
+ "symbol": "LKR"
+ },
+ "ZAR": {
+ "name": "Suid-Afrikaanse rand",
+ "symbol": "R"
+ },
+ "KRW": {
+ "name": "Suid-Koreaanse won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Suid-Soedanese pond",
+ "symbol": "SSP"
+ },
+ "SRD": {
+ "name": "Surinaamse dollar",
+ "symbol": "SRD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SZL": {
+ "name": "Swazilandse lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Sweedse kroon",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Switserse frank",
+ "symbol": "CHF"
+ },
+ "TJS": {
+ "name": "Tadjikse roebel",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzaniese sjieling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thaise baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongaanse pa’anga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad en Tobago dollar",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "Tsjeggiese kroon",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "Tunisiese dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "Turkmeense manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "Turkse lier",
+ "symbol": "TRY"
+ },
+ "UGX": {
+ "name": "Ugandese sjieling",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "Uruguaanse peso",
+ "symbol": "UYU"
+ },
+ "VUV": {
+ "name": "Vanuatuse vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezolaanse bolivar",
+ "symbol": "VEF"
+ },
+ "AED": {
+ "name": "Verenigde Arabiese Emirate dirham",
+ "symbol": "AED"
+ },
+ "VND": {
+ "name": "Viëtnamese dong",
+ "symbol": "â‚«"
+ },
+ "ISK": {
+ "name": "Yslandse kroon",
+ "symbol": "ISK"
+ },
+ "ZMW": {
+ "name": "Zambiese kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/agq.json b/library/intl/resources/currency/agq.json
new file mode 100644
index 000000000..3e769825f
--- /dev/null
+++ b/library/intl/resources/currency/agq.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ÀlÇalè è Màlàgasì",
+ "symbol": "MGA"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bîi è Etyǒkpìa",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "EGP": {
+ "name": "Bɔ̀ŋ è Edzì",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Bɔ̀ŋ è Sɛ̀n Èlenà",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Bɔ̀ŋ è Sùdànê",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "Bɔ̀ŋ Sɨ̀telè è Bèletì",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "XOF": {
+ "name": "CFA Fàlâŋ BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Fàlâŋ BEAC",
+ "symbol": "FCFA"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dàlasì è Gambìa",
+ "symbol": "GMD"
+ },
+ "MAD": {
+ "name": "Dilàm è Mòlokò",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Dilàm è Yùnaetɛ Alab Emelɛ̀",
+ "symbol": "AED"
+ },
+ "DZD": {
+ "name": "Dinà è Àdzɛlìa",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinà è Balae",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinà è Lebìa",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinà è Tùwneshìa",
+ "symbol": "TND"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "STD": {
+ "name": "Dɔbàlà è Sàwu Tɔ̀me à Pèlènsipè",
+ "symbol": "STD"
+ },
+ "CAD": {
+ "name": "Dɔlà è Kanadà",
+ "symbol": "CA$"
+ },
+ "NAD": {
+ "name": "Dɔlà è Nàmibìa",
+ "symbol": "NAD"
+ },
+ "USD": {
+ "name": "Dɔlà è US",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dɔlà e Ùsɨ̀tɛ̀lɛlìa",
+ "symbol": "A$"
+ },
+ "LRD": {
+ "name": "Dɔlà Làebɛlìa",
+ "symbol": "LRD"
+ },
+ "BIF": {
+ "name": "Fàlâŋ è Bùlundì",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Fàlâŋ è Dzìbutì",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Fàlâŋ è Komolìa",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Fàlâŋ è Kuŋgùlê",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Fàlâŋ è Lùwandà",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Fàlâŋ è Sues",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "JPY": {
+ "name": "Ghɨ̂n Dzàkpànê",
+ "symbol": "JPÂ¥"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Kàbòvàdianù è Èsùkudò",
+ "symbol": "CVE"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "BWP": {
+ "name": "Kpuwlà è Botɨshǔanà",
+ "symbol": "BWP"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwachà è Màlawè",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwachà è Zambìa",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanzà è Àŋgolà",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "ZAR": {
+ "name": "Lân è Afɨlekà ghɨ Emàm ghò",
+ "symbol": "ZAR"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SZL": {
+ "name": "Lèlàŋgenè",
+ "symbol": "SZL"
+ },
+ "SAR": {
+ "name": "Leyà è Sàwudì",
+ "symbol": "SAR"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Lɔtì Lèsutù",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "INR": {
+ "name": "Lukpì è Endìa",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Lukpìi è Mùleshòs",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Lukpìi è Sɛchɛ̀lɛ̀",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Lyɔ̂ŋ",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naelà è Gɨ̀anyɨ",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakafa è Èletɨ̀làe",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Shwɨlà è Sùmalìa",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shwɨlà è Tàanzanyìa",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shwɨlà è Yùgandà",
+ "symbol": "UGX"
+ },
+ "KES": {
+ "name": "Shwɨlà tɨ Kenyà",
+ "symbol": "KES"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ùgueya è Mùlètenyìa",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "Yulù",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "Yùwân Lèmembi è Chaenî",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ak.json b/library/intl/resources/currency/ak.json
new file mode 100644
index 000000000..6c8a24eaf
--- /dev/null
+++ b/library/intl/resources/currency/ak.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ZAR": {
+ "name": "Afrika Anaafo Rand",
+ "symbol": "ZAR"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "USD": {
+ "name": "Amɛrika Dɔla",
+ "symbol": "US$"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "Angola Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BHD": {
+ "name": "Baren Dina",
+ "symbol": "BHD"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "Botswana Pula",
+ "symbol": "BWP"
+ },
+ "GBP": {
+ "name": "Breten Pɔn",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "Burundi Frank",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "Egypt Pɔn",
+ "symbol": "EGP"
+ },
+ "AED": {
+ "name": "Æmirete Arab NkabÉ”mu Deram",
+ "symbol": "AED"
+ },
+ "ERN": {
+ "name": "Æretereya Nakfa",
+ "symbol": "ERN"
+ },
+ "CVE": {
+ "name": "Æskudo",
+ "symbol": "CVE"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambia Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghana Sidi",
+ "symbol": "GH₵"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "JPY": {
+ "name": "Gyapan Yɛn",
+ "symbol": "JPÂ¥"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "DJF": {
+ "name": "Gyebuti Frank",
+ "symbol": "DJF"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "India Rupi",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "EUR": {
+ "name": "Iro",
+ "symbol": "€"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "ETB": {
+ "name": "Itiopia Bir",
+ "symbol": "ETB"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CAD": {
+ "name": "Kanada Dɔla",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "Kenya Hyelen",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "Komoro Frank",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo Frank",
+ "symbol": "CDF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LRD": {
+ "name": "Laeberia Dɔla",
+ "symbol": "LRD"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leone",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "Lesoto Loti",
+ "symbol": "LSL"
+ },
+ "LYD": {
+ "name": "Libya Dina",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "Madagasi Frank",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawi Kwacha",
+ "symbol": "MWK"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MAD": {
+ "name": "Moroko Diram",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "Mɔrehyeɔs Rupi",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mɔretenia Ouguiya",
+ "symbol": "MRO"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naegyeria Naira",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "Namibia Dɔla",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "DZD": {
+ "name": "Ɔlgyeria Dina",
+ "symbol": "DZD"
+ },
+ "AUD": {
+ "name": "Ɔstrelia Dɔla",
+ "symbol": "A$"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RWF": {
+ "name": "Rewanda Frank",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "STD": {
+ "name": "Sao Tome ne Principe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "XAF": {
+ "name": "Sefa",
+ "symbol": "FCFA"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SCR": {
+ "name": "Seyhyɛls Rupi",
+ "symbol": "SCR"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Somailia Hyelen",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SHP": {
+ "name": "St Helena Pɔn",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Sudan Dina",
+ "symbol": "SDG"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "TZS": {
+ "name": "Tanzania Hyelen",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisia Dina",
+ "symbol": "TND"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "Uganda Hyelen",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "ZMW": {
+ "name": "Zambia Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/am.json b/library/intl/resources/currency/am.json
new file mode 100644
index 000000000..1b86003b4
--- /dev/null
+++ b/library/intl/resources/currency/am.json
@@ -0,0 +1,634 @@
+{
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "LTL": {
+ "name": "ሊቱዌንያን ሊታስ",
+ "symbol": "LTL"
+ },
+ "MMK": {
+ "name": "áˆá‹«áŠ•áˆ› ክያት",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "ሞáˆá‹¶á‰«áŠ• ሊኡ",
+ "symbol": "MDL"
+ },
+ "XPF": {
+ "name": "ሲ ኤá á’ áራንክ",
+ "symbol": "CFPF"
+ },
+ "WST": {
+ "name": "ሳሞአን ታላ",
+ "symbol": "WST"
+ },
+ "XOF": {
+ "name": "ሴኤáአ áራንክ ቤሴእአኦ",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "ሴኤáአ áራንክ ቤእአሴ",
+ "symbol": "FCFA"
+ },
+ "BTN": {
+ "name": "ብáˆá‰³áŠ’ዠንጉáˆá‰µáˆ¨áˆ",
+ "symbol": "BTN"
+ },
+ "TMT": {
+ "name": "ቱርክሜኒስታኒ ማናት",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "ቶንጋን á“’አንጋ",
+ "symbol": "TOP"
+ },
+ "CZK": {
+ "name": "ቼክ ሪáብሊክ ኮሩና",
+ "symbol": "CZK"
+ },
+ "ANG": {
+ "name": "ኔዘርላንድስ አንቲሊአን ጊáˆá‹°áˆ­",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "አሩባን áሎሪን",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "የáˆáŠ•áŒ‹áˆª áŽáˆªáŠ•á‰µ",
+ "symbol": "HUF"
+ },
+ "HNL": {
+ "name": "የሃንዱራ ሌáˆá“አይራ",
+ "symbol": "HNL"
+ },
+ "HTG": {
+ "name": "የሃያቲ ጓርዴ",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "የሆንáŒáŠ®áŠ•áŒ ዶላር",
+ "symbol": "HK$"
+ },
+ "LYD": {
+ "name": "የሊቢያ ዲናር",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "የሊባኖስ á“á‹áŠ•á‹µ",
+ "symbol": "LBP"
+ },
+ "LAK": {
+ "name": "የላኦቲ ኪá•",
+ "symbol": "LAK"
+ },
+ "LRD": {
+ "name": "የላይቤሪያ ዶላር",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "የሌሶቶ ሎቲ",
+ "symbol": "LSL"
+ },
+ "INR": {
+ "name": "የሕንድ ሩá’",
+ "symbol": "₹"
+ },
+ "MWK": {
+ "name": "የማላዊ ኩዋቻ",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "የማሌዥያ ሪንጊት",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "የማáˆá‹²á‰« ሩáŠá‹«",
+ "symbol": "MVR"
+ },
+ "MOP": {
+ "name": "የማካኔዠá“ታካ",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "የማደጋስካር ማላጋስይ አሪያርይ",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "የሜቆድንያ ዲናር",
+ "symbol": "MKD"
+ },
+ "MXN": {
+ "name": "የሜክሲኮ á”ሶ",
+ "symbol": "MX$"
+ },
+ "XCD": {
+ "name": "የáˆá‹•áˆ«á‰¥ ካሪብያን ዶላር",
+ "symbol": "EC$"
+ },
+ "MUR": {
+ "name": "የሞሪሸስ ሩá’",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "የሞሪቴኒያ ኦá‹áŒ‰á‹«",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "የሞሮኮ ዲርሀáˆ",
+ "symbol": "MAD"
+ },
+ "MNT": {
+ "name": "የሞንጎሊያን ቱáŒáˆªáŠ­",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "የሞዛáˆá‰¢áŠ­ ሜቲካáˆ",
+ "symbol": "MZN"
+ },
+ "RUB": {
+ "name": "የሩስያ ሩብáˆ",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "የሩዋንዳ áራንክ",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "የሮማኒያ ለá‹",
+ "symbol": "RON"
+ },
+ "SBD": {
+ "name": "የሰለሞን ደሴቶች ዶላር",
+ "symbol": "SBD"
+ },
+ "KPW": {
+ "name": "የሰሜን ኮሪያ ዎን",
+ "symbol": "KPW"
+ },
+ "RSD": {
+ "name": "የሰርቢያ ዲናር",
+ "symbol": "RSD"
+ },
+ "SRD": {
+ "name": "የሰርናሜዠዶላር",
+ "symbol": "SRD"
+ },
+ "SDG": {
+ "name": "የሱዳን ዲናር",
+ "symbol": "SDG"
+ },
+ "LKR": {
+ "name": "የሲሪላንካ ሩá’",
+ "symbol": "LKR"
+ },
+ "SYP": {
+ "name": "የሲሪያ á“á‹áŠ•á‹µ",
+ "symbol": "SYP"
+ },
+ "SCR": {
+ "name": "የሲሼሠሩá’",
+ "symbol": "SCR"
+ },
+ "SGD": {
+ "name": "የሲንጋá–ር ዶላር",
+ "symbol": "SGD"
+ },
+ "STD": {
+ "name": "የሳኦ ቶመ እና á•áˆªáŠ•áˆ²á ዶብራ",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "የሳá‹á‹² ሪያáˆ",
+ "symbol": "SAR"
+ },
+ "SLL": {
+ "name": "የሴራሊዎን ሊዎን",
+ "symbol": "SLL"
+ },
+ "SHP": {
+ "name": "የሴይንት ሔሌና á“á‹áŠ•á‹µ",
+ "symbol": "SHP"
+ },
+ "CHF": {
+ "name": "የስዊስ áራንክ",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "የስዊድን ክሮና",
+ "symbol": "SEK"
+ },
+ "SZL": {
+ "name": "የስዋዚላንድ ሊላንገኒ",
+ "symbol": "SZL"
+ },
+ "SOS": {
+ "name": "የሶማሌ ሺሊንáŒ",
+ "symbol": "SOS"
+ },
+ "BGN": {
+ "name": "የቡáˆáŒ‹áˆªá‹« ሌቭ",
+ "symbol": "BGN"
+ },
+ "BSD": {
+ "name": "የባሃማስ ዶላር",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "የባርቤዶስ ዶላር",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "የባንáŒáˆ‹á‹²áˆ½ ታካ",
+ "symbol": "BDT"
+ },
+ "BHD": {
+ "name": "የባኽሬን ዲናር",
+ "symbol": "BHD"
+ },
+ "BZD": {
+ "name": "የቤሊዠዶላር",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "የቤላሩስያ ሩብáˆ",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "የቤርሙዳ ዶላር",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "የብሩኔ ዶላር",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "የብሩንዲ áራንክ",
+ "symbol": "BIF"
+ },
+ "BRL": {
+ "name": "የብራዚሠሪáˆ",
+ "symbol": "R$"
+ },
+ "BOB": {
+ "name": "የቦሊቪያ ቦሊቪያኖ",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "የቦስኒያ ሄርዞጎቪና የሚመáŠá‹˜áˆ­ ማርክ",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "የቦትስዋና á‘ላ",
+ "symbol": "BWP"
+ },
+ "VUV": {
+ "name": "የቫንዋንቱ ቫቱ",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "የቬንá‹á‹Œáˆ‹ ቦሊቫር",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "የቭየትናሠዶንáŒ",
+ "symbol": "â‚«"
+ },
+ "AED": {
+ "name": "የተባበሩት የአረብ ኤáˆáˆ¨á‰µáˆµ ዲርሀáˆ",
+ "symbol": "AED"
+ },
+ "TRY": {
+ "name": "የቱርክ ሊራ",
+ "symbol": "TRY"
+ },
+ "TND": {
+ "name": "የቱኒዚያ ዲናር",
+ "symbol": "TND"
+ },
+ "TZS": {
+ "name": "የታንዛኒያ ሺሊንáŒ",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "የታይላንድ ባህት",
+ "symbol": "฿"
+ },
+ "TJS": {
+ "name": "የታጂክስታን ሶሞኒ",
+ "symbol": "TJS"
+ },
+ "TTD": {
+ "name": "የትሪንዳድ እና ቶቤጎዶላር",
+ "symbol": "TTD"
+ },
+ "CLP": {
+ "name": "የቺሊ á”ሶ",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "የቻይና የን",
+ "symbol": "CNÂ¥"
+ },
+ "NIO": {
+ "name": "የኒካራጓ ኮርዶባ",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "የኒá‹á‹šáˆ‹áŠ•á‹µ ዶላር",
+ "symbol": "NZ$"
+ },
+ "NAD": {
+ "name": "የናሚቢያ ዶላር",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "የናይጄሪያ ናይራ",
+ "symbol": "NGN"
+ },
+ "NPR": {
+ "name": "የኔá“ሠሩá’",
+ "symbol": "NPR"
+ },
+ "NOK": {
+ "name": "የኖርዌይ ክሮን",
+ "symbol": "NOK"
+ },
+ "ALL": {
+ "name": "የአáˆá‰£áŠ•á‹« ሌክ",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "የአáˆáŒ„ሪያ ዲናር",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "የአሜሪካን ዶላር",
+ "symbol": "US$"
+ },
+ "AMD": {
+ "name": "የአርመን ድራáˆ",
+ "symbol": "AMD"
+ },
+ "ARS": {
+ "name": "የአርጀንቲና á”ሶ",
+ "symbol": "ARS"
+ },
+ "AOA": {
+ "name": "የአንጎላ ኩዋንዛ",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "የአá‹áˆµá‰µáˆ«áˆŠá‹« ዶላር",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "የአዛርባጃን ማናት",
+ "symbol": "AZN"
+ },
+ "ISK": {
+ "name": "የአይስላንድ ክሮና",
+ "symbol": "ISK"
+ },
+ "TWD": {
+ "name": "የአዲሷ ታይዋን ዶላር",
+ "symbol": "NT$"
+ },
+ "AFN": {
+ "name": "የአáጋን አáጋኒ",
+ "symbol": "AFN"
+ },
+ "UYU": {
+ "name": "የኡራጓይ á”ሶ",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "የኡá‹á”ኪስታን ሶáˆ",
+ "symbol": "UZS"
+ },
+ "IQD": {
+ "name": "የኢራቅ ዲናር",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "የኢራን ሪአáˆ",
+ "symbol": "IRR"
+ },
+ "ETB": {
+ "name": "የኢትዮጵያ ብር",
+ "symbol": "ብር"
+ },
+ "IDR": {
+ "name": "የኢንዶኔዥያ ሩá’ሃ",
+ "symbol": "IDR"
+ },
+ "ERN": {
+ "name": "የኤርትራ ናቅá‹",
+ "symbol": "ERN"
+ },
+ "ILS": {
+ "name": "የእስራኤሠአዲስ ሽቅáˆ",
+ "symbol": "₪"
+ },
+ "GBP": {
+ "name": "የእንáŒáˆŠá‹ á“á‹áŠ•á‹µ ስተርሊንáŒ",
+ "symbol": "£"
+ },
+ "OMR": {
+ "name": "የኦማን ሪአáˆ",
+ "symbol": "OMR"
+ },
+ "CUC": {
+ "name": "የኩባ የሚመáŠá‹˜áˆ­ á”ሶ",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "የኩባ á”ሶ",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "የኩዌት ዲናር",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "የኪርጊስታን ሶáˆ",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "የካáˆá‰¦á‹²á‹« ሬáˆ",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "የካናዳ ዶላር",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "የካዛኪስታን ተንጌ",
+ "symbol": "KZT"
+ },
+ "KYD": {
+ "name": "የካይማን ደሴቶች ዶላር",
+ "symbol": "KYD"
+ },
+ "KES": {
+ "name": "የኬኒያ ሺሊንáŒ",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "የኬᕠቫርዲ ኤስኩዶ",
+ "symbol": "CVE"
+ },
+ "HRK": {
+ "name": "የክሮሽያ ኩና",
+ "symbol": "HRK"
+ },
+ "COP": {
+ "name": "የኮሎáˆá‰¢á‹« á”ሶ",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "የኮሞሮ áራንክ",
+ "symbol": "KMF"
+ },
+ "CRC": {
+ "name": "የኮስታሪካ ኮሎን",
+ "symbol": "CRC"
+ },
+ "CDF": {
+ "name": "የኮንጠáራንክ ኮንáŒáˆŒá‹",
+ "symbol": "CDF"
+ },
+ "QAR": {
+ "name": "የኳታር ሪአáˆ",
+ "symbol": "QAR"
+ },
+ "ZMW": {
+ "name": "የዛáˆá‰¢á‹« ክዋቻ",
+ "symbol": "ZMW"
+ },
+ "YER": {
+ "name": "የየመን ሪአáˆ",
+ "symbol": "YER"
+ },
+ "UAH": {
+ "name": "የዩክሬን ሀሪይቭኒአ",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "የዩጋንዳ ሺሊንáŒ",
+ "symbol": "UGX"
+ },
+ "SSP": {
+ "name": "የደቡብ ሱዳን á“á‹áŠ•á‹µ",
+ "symbol": "SSP"
+ },
+ "ZAR": {
+ "name": "የደቡብ አáሪካ ራንድ",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "የደቡብ ኮሪያ ዎን",
+ "symbol": "â‚©"
+ },
+ "DKK": {
+ "name": "የዴንማርክ ክሮን",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "የዶሚኒክ á”ሶ",
+ "symbol": "DOP"
+ },
+ "JMD": {
+ "name": "የጃማይካ ዶላር",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "የጃá“ን የን",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "የጅቡቲ áራንክ",
+ "symbol": "DJF"
+ },
+ "JOD": {
+ "name": "የጆርዳን ዲናር",
+ "symbol": "JOD"
+ },
+ "GEL": {
+ "name": "የጆርጅያ ላሪ",
+ "symbol": "GEL"
+ },
+ "GYD": {
+ "name": "የጉየና ዶላር",
+ "symbol": "GYD"
+ },
+ "GNF": {
+ "name": "የጊኒ áራንክ",
+ "symbol": "GNF"
+ },
+ "GMD": {
+ "name": "የጋáˆá‰¢á‹« ዳላሲ",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "የጋና ሲዲ",
+ "symbol": "GHS"
+ },
+ "EGP": {
+ "name": "የáŒá‰¥áŒ½ á“á‹áŠ•á‹µ",
+ "symbol": "EGP"
+ },
+ "PHP": {
+ "name": "የáŠáˆŠá’ንስ á”ሶ",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "የáŠáŒ‚ ዶላር",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "የáŽáŠ­áˆ‹áŠ•á‹µ ደሴቶች á“á‹áŠ•á‹µ",
+ "symbol": "FKP"
+ },
+ "PYG": {
+ "name": "የá“ራጓይ ጉአራኒ",
+ "symbol": "PYG"
+ },
+ "PKR": {
+ "name": "የá“ኪስታን ሩá’",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "የá“á•á‹‹ ኒዠጊኒ ኪና",
+ "symbol": "PGK"
+ },
+ "PEN": {
+ "name": "የá”ሩቪያ ኑኤቮ ሶáˆ",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "የá–ላንድ á‹áˆŽá‰²",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "ዩሮ",
+ "symbol": "€"
+ },
+ "GIP": {
+ "name": "ጂብራáˆá‰°áˆ­ á“á‹áŠ•á‹µ",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "ጓቲማላን ኩቲዛáˆ",
+ "symbol": "GTQ"
+ },
+ "PAB": {
+ "name": "á“ናማኒአን ባáˆá‰¦áŠ ",
+ "symbol": "PAB"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ar.json b/library/intl/resources/currency/ar.json
new file mode 100644
index 000000000..d8d56ee12
--- /dev/null
+++ b/library/intl/resources/currency/ar.json
@@ -0,0 +1,634 @@
+{
+ "MGA": {
+ "name": "أرياري مدغشقر",
+ "symbol": "MGA"
+ },
+ "AFN": {
+ "name": "Ø£Ùغاني",
+ "symbol": "AFN"
+ },
+ "MRO": {
+ "name": "أوقية موريتانية",
+ "symbol": "Ø£.Ù….â€"
+ },
+ "CVE": {
+ "name": "اسكودو الرأس الخضراء",
+ "symbol": "CVE"
+ },
+ "MOP": {
+ "name": "باتاكا ماكاوي",
+ "symbol": "MOP"
+ },
+ "THB": {
+ "name": "باخت تايلاندي",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "بالبوا بنمي",
+ "symbol": "PAB"
+ },
+ "TOP": {
+ "name": "بانغا تونغا",
+ "symbol": "TOP"
+ },
+ "BWP": {
+ "name": "بولا بتسواني",
+ "symbol": "BWP"
+ },
+ "VEF": {
+ "name": "بوليÙار Ùنزويلي",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "بوليÙيانو بوليÙÙŠ",
+ "symbol": "BOB"
+ },
+ "ETB": {
+ "name": "بير أثيوبي",
+ "symbol": "ETB"
+ },
+ "ARS": {
+ "name": "بيزو أرجنتيني",
+ "symbol": "ARS"
+ },
+ "DOP": {
+ "name": "بيزو الدومنيكان",
+ "symbol": "DOP"
+ },
+ "UYU": {
+ "name": "بيزو اوروغواي",
+ "symbol": "UYU"
+ },
+ "CLP": {
+ "name": "بيزو شيلي",
+ "symbol": "CLP"
+ },
+ "PHP": {
+ "name": "بيزو Ùلبيني",
+ "symbol": "PHP"
+ },
+ "CUP": {
+ "name": "بيزو كوبي",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "بيزو كوبي قابل للتحويل",
+ "symbol": "CUC"
+ },
+ "COP": {
+ "name": "بيزو كولومبي",
+ "symbol": "COP"
+ },
+ "MXN": {
+ "name": "بيزو مكسيكي",
+ "symbol": "MX$"
+ },
+ "BDT": {
+ "name": "تاكا بنجلاديشي",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "تالا ساموا",
+ "symbol": "WST"
+ },
+ "MNT": {
+ "name": "توغروغ منغولي",
+ "symbol": "MNT"
+ },
+ "KZT": {
+ "name": "تينغ كازاخستاني",
+ "symbol": "KZT"
+ },
+ "LBP": {
+ "name": "جنية لبناني",
+ "symbol": "Ù„.Ù„.â€"
+ },
+ "GBP": {
+ "name": "جنيه إسترليني",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "جنيه جبل طارق",
+ "symbol": "GIP"
+ },
+ "FKP": {
+ "name": "جنيه جزر Ùوكلاند",
+ "symbol": "FKP"
+ },
+ "SSP": {
+ "name": "جنيه جنوب السودان",
+ "symbol": "ج.ج.س."
+ },
+ "SHP": {
+ "name": "جنيه سانت هيلين",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "جنيه سوداني",
+ "symbol": "ج.س."
+ },
+ "EGP": {
+ "name": "جنيه مصري",
+ "symbol": "ج.Ù….â€"
+ },
+ "PYG": {
+ "name": "جواراني باراجواي",
+ "symbol": "PYG"
+ },
+ "HTG": {
+ "name": "جوردى هايتي",
+ "symbol": "HTG"
+ },
+ "AMD": {
+ "name": "درام أرميني",
+ "symbol": "AMD"
+ },
+ "AED": {
+ "name": "درهم إماراتي",
+ "symbol": "د.Ø¥.â€"
+ },
+ "MAD": {
+ "name": "درهم مغربي",
+ "symbol": "د.Ù….â€"
+ },
+ "GMD": {
+ "name": "دلاسي جامبي",
+ "symbol": "GMD"
+ },
+ "STD": {
+ "name": "دوبرا ساو تومي وبرينسيبي",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "دولار أسترالي",
+ "symbol": "AU$"
+ },
+ "USD": {
+ "name": "دولار أمريكي",
+ "symbol": "US$"
+ },
+ "BSD": {
+ "name": "دولار باهامي",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "دولار بربادوسي",
+ "symbol": "BBD"
+ },
+ "BMD": {
+ "name": "دولار برمودي",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "دولار بروناي",
+ "symbol": "BND"
+ },
+ "BZD": {
+ "name": "دولار بليزي",
+ "symbol": "BZD"
+ },
+ "TWD": {
+ "name": "دولار تايواني",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "دولار ترينداد وتوباجو",
+ "symbol": "TTD"
+ },
+ "JMD": {
+ "name": "دولار جامايكي",
+ "symbol": "JMD"
+ },
+ "SBD": {
+ "name": "دولار جزر سليمان",
+ "symbol": "SBD"
+ },
+ "KYD": {
+ "name": "دولار جزر كيمن",
+ "symbol": "KYD"
+ },
+ "ZWL": {
+ "name": "دولار زمبابوي 2009",
+ "symbol": "ZWL"
+ },
+ "SGD": {
+ "name": "دولار سنغاÙوري",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "دولار سورينامي",
+ "symbol": "SRD"
+ },
+ "XCD": {
+ "name": "دولار شرق الكاريبي",
+ "symbol": "EC$"
+ },
+ "GYD": {
+ "name": "دولار غيانا",
+ "symbol": "GYD"
+ },
+ "FJD": {
+ "name": "دولار Ùيجي",
+ "symbol": "FJD"
+ },
+ "CAD": {
+ "name": "دولار كندي",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "دولار ليبيري",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "دولار ناميبي",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "دولار نيوزيلندي",
+ "symbol": "NZ$"
+ },
+ "HKD": {
+ "name": "دولار هونج كونج",
+ "symbol": "HK$"
+ },
+ "VND": {
+ "name": "دونج Ùيتنامي",
+ "symbol": "â‚«"
+ },
+ "JOD": {
+ "name": "دينار أردني",
+ "symbol": "د.Ø£.â€"
+ },
+ "BHD": {
+ "name": "دينار بحريني",
+ "symbol": "د.ب.â€"
+ },
+ "DZD": {
+ "name": "دينار جزائري",
+ "symbol": "د.ج.â€"
+ },
+ "RSD": {
+ "name": "دينار صربي",
+ "symbol": "RSD"
+ },
+ "IQD": {
+ "name": "دينار عراقي",
+ "symbol": "د.ع.â€"
+ },
+ "KWD": {
+ "name": "دينار كويتي",
+ "symbol": "د.Ùƒ.â€"
+ },
+ "LYD": {
+ "name": "دينار ليبي",
+ "symbol": "د.Ù„.â€"
+ },
+ "MKD": {
+ "name": "دينار مقدوني",
+ "symbol": "MKD"
+ },
+ "TND": {
+ "name": "دينارتونسي",
+ "symbol": "د.ت.â€"
+ },
+ "ZAR": {
+ "name": "راند جنوب Ø£Ùريقيا",
+ "symbol": "ZAR"
+ },
+ "BYR": {
+ "name": "روبل بيلاروسي",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "روبل روسي",
+ "symbol": "RUB"
+ },
+ "IDR": {
+ "name": "روبية إندونيسية",
+ "symbol": "ر.إن."
+ },
+ "PKR": {
+ "name": "روبية باكستاني",
+ "symbol": "ر.ب."
+ },
+ "LKR": {
+ "name": "روبية سريلانكية",
+ "symbol": "LKR"
+ },
+ "SCR": {
+ "name": "روبية سيشيلية",
+ "symbol": "SCR"
+ },
+ "MUR": {
+ "name": "روبية موريشيوسية",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "روبية نيبالي",
+ "symbol": "NPR"
+ },
+ "INR": {
+ "name": "روبيه هندي",
+ "symbol": "ر.Ù‡.â€"
+ },
+ "MVR": {
+ "name": "روÙيه جزر المالديÙ",
+ "symbol": "MVR"
+ },
+ "IRR": {
+ "name": "ريال إيراني",
+ "symbol": "ر.إ."
+ },
+ "BRL": {
+ "name": "ريال برازيلي",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "ريال سعودي",
+ "symbol": "ر.س.â€"
+ },
+ "OMR": {
+ "name": "ريال عماني",
+ "symbol": "ر.ع.â€"
+ },
+ "QAR": {
+ "name": "ريال قطري",
+ "symbol": "ر.Ù‚.â€"
+ },
+ "YER": {
+ "name": "ريال يمني",
+ "symbol": "ر.ÙŠ.â€"
+ },
+ "MYR": {
+ "name": "رينغيت ماليزي",
+ "symbol": "MYR"
+ },
+ "KHR": {
+ "name": "رييال كمبودي",
+ "symbol": "KHR"
+ },
+ "PLN": {
+ "name": "زلوتي بولندي",
+ "symbol": "PLN"
+ },
+ "PEN": {
+ "name": "سول جديد البيرو",
+ "symbol": "PEN"
+ },
+ "UZS": {
+ "name": "سوم أوزبكستاني",
+ "symbol": "UZS"
+ },
+ "KGS": {
+ "name": "سوم قيرغستاني",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "سوموني طاجيكستاني",
+ "symbol": "TJS"
+ },
+ "GHS": {
+ "name": "سيدي غانا",
+ "symbol": "GHS"
+ },
+ "UGX": {
+ "name": "شلن أوغندي",
+ "symbol": "UGX"
+ },
+ "TZS": {
+ "name": "شلن تنزاني",
+ "symbol": "TZS"
+ },
+ "SOS": {
+ "name": "شلن صومالي",
+ "symbol": "SOS"
+ },
+ "KES": {
+ "name": "شلن كينيي",
+ "symbol": "KES"
+ },
+ "ILS": {
+ "name": "شيكل إسرائيلي جديد",
+ "symbol": "₪"
+ },
+ "ANG": {
+ "name": "غيلدر هولندي أنتيلي",
+ "symbol": "ANG"
+ },
+ "VUV": {
+ "name": "Ùاتو Ùانواتو",
+ "symbol": "VUV"
+ },
+ "XAF": {
+ "name": "Ùرنك Ø£Ùريقي",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Ùرنك بروندي",
+ "symbol": "BIF"
+ },
+ "KMF": {
+ "name": "Ùرنك جزر القمر",
+ "symbol": "Ù.ج.Ù‚.â€"
+ },
+ "DJF": {
+ "name": "Ùرنك جيبوتي",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Ùرنك رواندي",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Ùرنك سويسري",
+ "symbol": "CHF"
+ },
+ "XOF": {
+ "name": "Ùرنك سي إ٠إيه غرب Ø¥Ùريقيا",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "Ùرنك سي إ٠بي",
+ "symbol": "CFPF"
+ },
+ "GNF": {
+ "name": "Ùرنك غينيا",
+ "symbol": "GNF"
+ },
+ "CDF": {
+ "name": "Ùرنك كونغولي",
+ "symbol": "CDF"
+ },
+ "AWG": {
+ "name": "Ùلورن أروبي",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Ùورينت مجري",
+ "symbol": "HUF"
+ },
+ "NIO": {
+ "name": "قرطبة نيكاراغوا",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "كرونة تشيكية",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "كرونة دانماركي",
+ "symbol": "DKK"
+ },
+ "SEK": {
+ "name": "كرونة سويدية",
+ "symbol": "SEK"
+ },
+ "NOK": {
+ "name": "كرونة نرويجية",
+ "symbol": "NOK"
+ },
+ "ISK": {
+ "name": "كرونه أيسلندي",
+ "symbol": "ISK"
+ },
+ "ZMW": {
+ "name": "كواشا زامبي",
+ "symbol": "ZMW"
+ },
+ "MWK": {
+ "name": "كواشا مالاوي",
+ "symbol": "MWK"
+ },
+ "AOA": {
+ "name": "كوانزا أنجولي",
+ "symbol": "AOA"
+ },
+ "GTQ": {
+ "name": "كوتزال جواتيمالا",
+ "symbol": "GTQ"
+ },
+ "CRC": {
+ "name": "كولن كوستا ريكي",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "كولون سلÙادوري",
+ "symbol": "SVC"
+ },
+ "HRK": {
+ "name": "كونا كرواتي",
+ "symbol": "HRK"
+ },
+ "MMK": {
+ "name": "كيات ميانمار",
+ "symbol": "MMK"
+ },
+ "LAK": {
+ "name": "كيب لاوسي",
+ "symbol": "LAK"
+ },
+ "PGK": {
+ "name": "كينا بابوا غينيا الجديدة",
+ "symbol": "PGK"
+ },
+ "GEL": {
+ "name": "لارى جورجي",
+ "symbol": "GEL"
+ },
+ "LSL": {
+ "name": "لوتي ليسوتو",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "ليتا ليتوانية",
+ "symbol": "LTL"
+ },
+ "TRY": {
+ "name": "ليرة تركية",
+ "symbol": "ل.ت."
+ },
+ "SYP": {
+ "name": "ليرة سورية",
+ "symbol": "Ù„.س.â€"
+ },
+ "BGN": {
+ "name": "لي٠بلغاري",
+ "symbol": "BGN"
+ },
+ "ALL": {
+ "name": "ليك ألباني",
+ "symbol": "ALL"
+ },
+ "SZL": {
+ "name": "ليلانجيني سوازيلندي",
+ "symbol": "SZL"
+ },
+ "HNL": {
+ "name": "ليمبيرا هنداروس",
+ "symbol": "HNL"
+ },
+ "RON": {
+ "name": "ليو روماني",
+ "symbol": "RON"
+ },
+ "MDL": {
+ "name": "ليو مولدوÙÙŠ",
+ "symbol": "MDL"
+ },
+ "SLL": {
+ "name": "ليون سيراليوني",
+ "symbol": "SLL"
+ },
+ "BAM": {
+ "name": "مارك البوسنة والهرسك قابل للتحويل",
+ "symbol": "BAM"
+ },
+ "AZN": {
+ "name": "مانات أذربيجان",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "مانات تركمانستان",
+ "symbol": "TMT"
+ },
+ "MZN": {
+ "name": "متكال موزمبيقي",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "ناكÙا أريتري",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "نايرا نيجيري",
+ "symbol": "NGN"
+ },
+ "BTN": {
+ "name": "نولتوم بوتاني",
+ "symbol": "BTN"
+ },
+ "UAH": {
+ "name": "هريÙنيا أوكراني",
+ "symbol": "UAH"
+ },
+ "KRW": {
+ "name": "وون كوريا الجنوبية",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "وون كوريا الشمالية",
+ "symbol": "KPW"
+ },
+ "JPY": {
+ "name": "ين ياباني",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "يوان صيني",
+ "symbol": "ي.ص"
+ },
+ "EUR": {
+ "name": "يورو",
+ "symbol": "€"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/asa.json b/library/intl/resources/currency/asa.json
new file mode 100644
index 000000000..4936fcc9b
--- /dev/null
+++ b/library/intl/resources/currency/asa.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "dalathi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "dinari ya Thudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "dinari ya Tunithia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dirham ya Falme dha Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "dobra ya Thao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dola ya Authtralia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "ethkudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "faranga ya Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "faranga ya Uthwithi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "ZMW": {
+ "name": "kwacha ya Dhambia",
+ "symbol": "ZMW"
+ },
+ "MWK": {
+ "name": "kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "AOA": {
+ "name": "kwandha ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "loti ya Lethoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "pauni ya Mithri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "pauni ya Thantahelena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "pauni ya Uingeredha",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "pula ya Botthwana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "randi ya Afrika Kuthini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "riyal ya Thaudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "rupia ya Morithi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "shilingi ya Kenya",
+ "symbol": "KES"
+ },
+ "TZS": {
+ "name": "shilingi ya Tandhania",
+ "symbol": "TSh"
+ },
+ "SOS": {
+ "name": "shilingi ya Thomalia",
+ "symbol": "SOS"
+ },
+ "UGX": {
+ "name": "shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "JPY": {
+ "name": "tharafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "yuan renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ast.json b/library/intl/resources/currency/ast.json
new file mode 100644
index 000000000..c36cb7697
--- /dev/null
+++ b/library/intl/resources/currency/ast.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afganí afganistanu",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariary malgaxe",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "baht tailandés",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "balboa panamiegu",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolanu",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "bolivianu",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi ghanianu",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "colón costarricanu",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "córdoba nicaraguanu",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi gambianu",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "denar",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "dinar arxelín",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar baḥreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquín",
+ "symbol": "IQD"
+ },
+ "KWD": {
+ "name": "dinar kuwaitianu",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libiu",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "dinar serbiu",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecín",
+ "symbol": "TND"
+ },
+ "JOD": {
+ "name": "dinar xordanu",
+ "symbol": "JOD"
+ },
+ "AED": {
+ "name": "dirḥam de los Emiratos Ãrabes Xuníos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirḥam marroquín",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra de Santu Tomé y Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australianu",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "dólar bahamés",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadianu",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar belizianu",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "dólar bermudianu",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "dólar bruneyanu",
+ "symbol": "BND"
+ },
+ "KYD": {
+ "name": "dólar caimanés",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CA$"
+ },
+ "USD": {
+ "name": "dólar de los Estaos Xuníos",
+ "symbol": "$"
+ },
+ "TTD": {
+ "name": "dólar de Trinidá y Tobagu",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "EC$"
+ },
+ "FJD": {
+ "name": "dólar fixanu",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HK$"
+ },
+ "LRD": {
+ "name": "dólar liberianu",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibianu",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "dólar nuevu taiwanés",
+ "symbol": "NT$"
+ },
+ "SBD": {
+ "name": "dólar salomonés",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapuranu",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "JMD": {
+ "name": "dólar xamaicanu",
+ "symbol": "JMD"
+ },
+ "VND": {
+ "name": "dong vietnamín",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "dram armeniu",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudu cabuverdianu",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "florín arubanu",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "forint",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "francu burundianu",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "francu CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "francu CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "francu CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "francu comoranu",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "francu congolés",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "francu guineanu",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "francu ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "francu suizu",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "francu xibutianu",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitianu",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayu",
+ "symbol": "PYG"
+ },
+ "ANG": {
+ "name": "guilder de les Antilles Neerlandeses",
+ "symbol": "ANG"
+ },
+ "PGK": {
+ "name": "kina papuana",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip laosianu",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "kwacha malauianu",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha zambianu",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza angolanu",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "kyat de Myanmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "lari xeorxanu",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondurana",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leone sierralleonés",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavu",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumanu",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "lev",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "lilangeni suazilandés",
+ "symbol": "SZL"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "SHP": {
+ "name": "llibra de Santa Lena",
+ "symbol": "SHP"
+ },
+ "GIP": {
+ "name": "llibra de Xibraltar",
+ "symbol": "GIP"
+ },
+ "GBP": {
+ "name": "llibra esterlina",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "llibra exipciana",
+ "symbol": "EGP"
+ },
+ "LBP": {
+ "name": "llibra libanesa",
+ "symbol": "LBP"
+ },
+ "FKP": {
+ "name": "llibra malviniana",
+ "symbol": "FKP"
+ },
+ "SYP": {
+ "name": "llibra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "llibra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "llibra sursudanesa",
+ "symbol": "SSP"
+ },
+ "TRY": {
+ "name": "llira turca",
+ "symbol": "TRY"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerbaixanu",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomanu",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marcu convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical mozambicanu",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira nixeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa eritréu",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "ngultrum butanés",
+ "symbol": "BTN"
+ },
+ "MRO": {
+ "name": "ouguiya mauritanu",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "paʻanga tonganu",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca de Macáu",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "pesu arxentín",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "pesu chilenu",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "pesu colombianu",
+ "symbol": "COP"
+ },
+ "CUC": {
+ "name": "pesu convertible cubanu",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "pesu cubanu",
+ "symbol": "CUP"
+ },
+ "DOP": {
+ "name": "pesu dominicanu",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "pesu filipín",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "pesu mexicanu",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "pesu uruguayu",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula botsuaniana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal de Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand sudafricanu",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasilanu",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "rial iranín",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omanianu",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "rial qatarín",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "rial yemenín",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel camboyanu",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringgit malasiu",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "riyal saudita",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "rublu bielorrusu",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublu rusu",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiyaa maldiviana",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia de Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia paquistanina",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seixelesa",
+ "symbol": "SCR"
+ },
+ "IDR": {
+ "name": "rupiah indonesia",
+ "symbol": "IDR"
+ },
+ "KES": {
+ "name": "shilling kenianu",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "shilling somalín",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "shilling tanzanianu",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "shilling ugandés",
+ "symbol": "UGX"
+ },
+ "PEN": {
+ "name": "sol nuevu peruanu",
+ "symbol": "PEN"
+ },
+ "KGS": {
+ "name": "som kirguistanín",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "som uzbequistanín",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "somoni taxiquistanín",
+ "symbol": "TJS"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "BDT": {
+ "name": "taka bangladexí",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala samoanu",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazaquistanín",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik mongol",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "vatu vanuatuanu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreanu",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreanu",
+ "symbol": "â‚©"
+ },
+ "ILS": {
+ "name": "xequel nuevu",
+ "symbol": "₪"
+ },
+ "JPY": {
+ "name": "yen xaponés",
+ "symbol": "Â¥"
+ },
+ "CNY": {
+ "name": "yuan chinu",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "zloty",
+ "symbol": "PLN"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/az.json b/library/intl/resources/currency/az.json
new file mode 100644
index 000000000..f238801a8
--- /dev/null
+++ b/library/intl/resources/currency/az.json
@@ -0,0 +1,634 @@
+{
+ "USD": {
+ "name": "ABŞ Dolları",
+ "symbol": "US$"
+ },
+ "ALL": {
+ "name": "Albaniya Leki",
+ "symbol": "ALL"
+ },
+ "AOA": {
+ "name": "Anqola Kvanzası",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentina Pesosu",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "Aruba Florini",
+ "symbol": "AWG"
+ },
+ "EUR": {
+ "name": "Avro",
+ "symbol": "€"
+ },
+ "AUD": {
+ "name": "Avstraliya Dolları",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azərbaycan Manatı",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahama Dolları",
+ "symbol": "BSD"
+ },
+ "BDT": {
+ "name": "Banqladeş Takası",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbados Dolları",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarus Rublu",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Beliz Dolları",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermuda Dolları",
+ "symbol": "BMD"
+ },
+ "BHD": {
+ "name": "Bəhreyn Dinarı",
+ "symbol": "BHD"
+ },
+ "AED": {
+ "name": "BirləşmiÅŸ ÆrÉ™b ÆmirliklÉ™ri DirhÉ™mi",
+ "symbol": "AED"
+ },
+ "BOB": {
+ "name": "Boliviya Bolivianosu",
+ "symbol": "BOB"
+ },
+ "BGN": {
+ "name": "Bolqarıstan Levi",
+ "symbol": "BGN"
+ },
+ "BAM": {
+ "name": "Bosniya-Herseqovina Markası",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botsvana Pulası",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Braziliya Realı",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britaniya Funt Sterlinqi",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Bruney Dolları",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "Burundi Frankı",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "Butan Nqultrumu",
+ "symbol": "BTN"
+ },
+ "ZAR": {
+ "name": "Cənubi Afrika Randı",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Cənubi Koreya Vonu",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Cənubi Sudan Funtu",
+ "symbol": "SSP"
+ },
+ "DJF": {
+ "name": "Cibuti Frankı",
+ "symbol": "DJF"
+ },
+ "CZK": {
+ "name": "Çexiya Korunası",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "Çili Pesosu",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Çin Yuanı",
+ "symbol": "CNÂ¥"
+ },
+ "DKK": {
+ "name": "Danimarka Kronu",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "Dominika Pesosu",
+ "symbol": "DOP"
+ },
+ "ETB": {
+ "name": "Efiopiya Bırrı",
+ "symbol": "ETB"
+ },
+ "SVC": {
+ "name": "El Salvador kolonu",
+ "symbol": "SVC"
+ },
+ "ERN": {
+ "name": "Eritreya Nakfası",
+ "symbol": "ERN"
+ },
+ "AMD": {
+ "name": "Ermənistan Dramı",
+ "symbol": "AMD"
+ },
+ "AFN": {
+ "name": "Æfqanıstan Æfqanisi",
+ "symbol": "AFN"
+ },
+ "DZD": {
+ "name": "ÆlcÉ™zair Dinarı",
+ "symbol": "DZD"
+ },
+ "FJD": {
+ "name": "Fici Dolları",
+ "symbol": "FJD"
+ },
+ "XOF": {
+ "name": "Fil Dişi Sahili Frankı",
+ "symbol": "CFA"
+ },
+ "PHP": {
+ "name": "Filippin Pesosu",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "Folklend Adaları Funtu",
+ "symbol": "FKP"
+ },
+ "XPF": {
+ "name": "Fransız Polineziyası Frankı",
+ "symbol": "CFPF"
+ },
+ "GIP": {
+ "name": "Gibraltar Funtu",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "Gürcüstan Larisi",
+ "symbol": "GEL"
+ },
+ "HTG": {
+ "name": "Haiti Qourdu",
+ "symbol": "HTG"
+ },
+ "INR": {
+ "name": "Hindistan Rupisi",
+ "symbol": "₹"
+ },
+ "HNL": {
+ "name": "Honduras Lempirası",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Honq Konq Dolları",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "Xorvatiya Kunası",
+ "symbol": "HRK"
+ },
+ "IDR": {
+ "name": "Ä°ndoneziya Rupisi",
+ "symbol": "IDR"
+ },
+ "JOD": {
+ "name": "İordaniya Dinarı",
+ "symbol": "JOD"
+ },
+ "IQD": {
+ "name": "İraq Dinarı",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "İran Rialı",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Ä°slandiya Kronu",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "Ä°srail Yeni Åžekeli",
+ "symbol": "₪"
+ },
+ "SEK": {
+ "name": "İsveç Kronu",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "İsveçrə Frankı",
+ "symbol": "CHF"
+ },
+ "KHR": {
+ "name": "Kamboca Rieli",
+ "symbol": "KHR"
+ },
+ "XAF": {
+ "name": "Kamerun Frankı",
+ "symbol": "FCFA"
+ },
+ "CAD": {
+ "name": "Kanada Dolları",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kape Verde Eskudosu",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Kayman Adaları Dolları",
+ "symbol": "KYD"
+ },
+ "KES": {
+ "name": "Keniya Åžillinqi",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Kırğızıstan Somu",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolumbiya Pesosu",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komor Frankı",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Konqo Frankı",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Kosta Rika Kolonu",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "Kuba Çevrilən Pesosu",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Kuba Pesosu",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "Küveyt Dinarı",
+ "symbol": "KWD"
+ },
+ "GMD": {
+ "name": "Qambiya Dalasisi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Qana Sedisi",
+ "symbol": "GHS"
+ },
+ "QAR": {
+ "name": "Qatar Rialı",
+ "symbol": "QAR"
+ },
+ "GYD": {
+ "name": "Qayana Dolları",
+ "symbol": "GYD"
+ },
+ "KZT": {
+ "name": "Qazaxıstan Tengesi",
+ "symbol": "KZT"
+ },
+ "GTQ": {
+ "name": "Qvatemala Küetzalı",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Qvineya Frankı",
+ "symbol": "GNF"
+ },
+ "LAK": {
+ "name": "Laos Kipi",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesoto Lotisi",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberiya Dolları",
+ "symbol": "LRD"
+ },
+ "LTL": {
+ "name": "Litva Liti",
+ "symbol": "LTL"
+ },
+ "LBP": {
+ "name": "Livan Funtu",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "Liviya Dinarı",
+ "symbol": "LYD"
+ },
+ "HUF": {
+ "name": "Macarıstan Forinti",
+ "symbol": "HUF"
+ },
+ "MGA": {
+ "name": "Madaqaskar Ariarisi",
+ "symbol": "MGA"
+ },
+ "MOP": {
+ "name": "Makao Patakası",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Makedoniya Dinarı",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "Malavi Kvaçası",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malayziya Ringiti",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldiv Rufiyası",
+ "symbol": "MVR"
+ },
+ "MUR": {
+ "name": "Mavriki Rupisi",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mavritaniya Ugiyası",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "Meksika Pesosu",
+ "symbol": "MX$"
+ },
+ "MAD": {
+ "name": "Mərakeş Dirhəmi",
+ "symbol": "MAD"
+ },
+ "EGP": {
+ "name": "Misir Funtu",
+ "symbol": "EGP"
+ },
+ "MDL": {
+ "name": "Moldova Leyi",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Monqoliya Tuqriki",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mozambik Metikalı",
+ "symbol": "MZN"
+ },
+ "SHP": {
+ "name": "Müqəddəs Yelena Funtu",
+ "symbol": "SHP"
+ },
+ "MMK": {
+ "name": "Myanma Kiyatı",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibiya Dolları",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepal Rupisi",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Niderland Antilyası Gilderi",
+ "symbol": "ANG"
+ },
+ "NGN": {
+ "name": "Nigeriya Nairası",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "Nikaraqua Kordobası",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Norveç Kronu",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Oman Rialı",
+ "symbol": "OMR"
+ },
+ "UZS": {
+ "name": "Özbəkistan Somu",
+ "symbol": "UZS"
+ },
+ "PKR": {
+ "name": "Pakistan Rupisi",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panama Balboası",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua Yeni Qvineya Kinası",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraqvay Quaranisi",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peru Nuevo Solu",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Polşa Zlotısı",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "Ruanda Frankı",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Rumıniya Leyi",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Rusiya Rublu",
+ "symbol": "RUB"
+ },
+ "WST": {
+ "name": "Samoa Talası",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "San Tom və Prinsip Dobrası",
+ "symbol": "STD"
+ },
+ "RSD": {
+ "name": "Serbiya Dinarı",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "SeyÅŸel Rupisi",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "Səudiyyə Riyalı",
+ "symbol": "SAR"
+ },
+ "SLL": {
+ "name": "Sierra Leon Leonu",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Sinqapur Dolları",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Adaları Dolları",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Åžillinqi",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "Sudan Funtu",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinam Dolları",
+ "symbol": "SRD"
+ },
+ "SYP": {
+ "name": "Suriya Funtu",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "Svazilend Lilangenini",
+ "symbol": "SZL"
+ },
+ "XCD": {
+ "name": "Şərqi Karib Dolları",
+ "symbol": "EC$"
+ },
+ "KPW": {
+ "name": "Åžimali Koreya Vonu",
+ "symbol": "KPW"
+ },
+ "LKR": {
+ "name": "Åžri Lanka Rupisi",
+ "symbol": "LKR"
+ },
+ "TJS": {
+ "name": "Tacikistan Somonisi",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzaniya Åžillinqi",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Tayland Batı",
+ "symbol": "฿"
+ },
+ "TWD": {
+ "name": "Tayvan Yeni Dolları",
+ "symbol": "NT$"
+ },
+ "TOP": {
+ "name": "Tonqa Panqası",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad və Tobaqo Dolları",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunis Dinarı",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Türkiyə Lirəsi",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Türkmənistan Manatı",
+ "symbol": "TMT"
+ },
+ "UAH": {
+ "name": "Ukrayna Qrivnası",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "Uqanda Åžillinqi",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "Uruqvay Pesosu",
+ "symbol": "UYU"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatusu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venesuela Bolivarı",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vyetnam Donqu",
+ "symbol": "â‚«"
+ },
+ "JMD": {
+ "name": "Yamayka Dolları",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Yaponiya Yeni",
+ "symbol": "JPÂ¥"
+ },
+ "NZD": {
+ "name": "Yeni Zelandiya Dolları",
+ "symbol": "NZ$"
+ },
+ "YER": {
+ "name": "Yəmən Rialı",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambiya Kvaçası",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabve Dolları (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/bas.json b/library/intl/resources/currency/bas.json
new file mode 100644
index 000000000..06d2a4a65
--- /dev/null
+++ b/library/intl/resources/currency/bas.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bîr ètìopìà",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasì gambìà",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dìnâr àlgerìà",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinâr Bàraìn",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dìnâr libìà",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dìnâr sùdân",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dìnâr tùnîs",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirhàm èmìrâ",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dìrham màrôk",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobrà sàotòme",
+ "symbol": "STD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "USD": {
+ "name": "Dɔla àmerkà",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dɔ̀lâr kànadà",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dɔ̀lâr lìberìà",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dɔ̀lâr nàmibìà",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "Dɔ̀lâr òstralìà",
+ "symbol": "A$"
+ },
+ "EUR": {
+ "name": "Èrô",
+ "symbol": "€"
+ },
+ "CVE": {
+ "name": "Èskudò kabwe᷆r",
+ "symbol": "CVE"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "BIF": {
+ "name": "Frǎŋ bùrundì",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "FrÇŽÅ‹ CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "FrÇŽÅ‹ CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Frǎŋ jìbutì",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Frǎŋ kòmorà",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Frǎŋ kòŋgo",
+ "symbol": "CDF"
+ },
+ "MGA": {
+ "name": "Frǎŋ màlàgasì",
+ "symbol": "MGA"
+ },
+ "RWF": {
+ "name": "Frǎŋ Rùandà",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Frǎŋ sùwîs",
+ "symbol": "CHF"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwaca màlawì",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwàca sàmbià",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwànza àŋgolà",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Lèonɛ̀",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lìlàŋgeni swàzì",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Lotì lèsòtò",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "Nafkà èrìtrěà",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "Nayrà nìgerìà",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Paùnd ègîptò",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Paùnd hèlenà",
+ "symbol": "SHP"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pùla Bòtswanà",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Rân àfrÇkàsɔ̀",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Rìal sàudì",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rùpi īndìà",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupìɛ̀ mòrîs",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rùpiɛ̀ sèsɛ̂l",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Silîŋ kenìà",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Silîŋ sòmàli",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Silîŋ tànzànià",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Silîŋ ùgàndà",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "GBP": {
+ "name": "Stɛrlìŋ ŋgìsì",
+ "symbol": "£"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ùgwiya mòrìtanìa",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "JPY": {
+ "name": "Yɛ̂n yàpân",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "Yùan kinà",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/base.json b/library/intl/resources/currency/base.json
new file mode 100644
index 000000000..b99ca7ad0
--- /dev/null
+++ b/library/intl/resources/currency/base.json
@@ -0,0 +1,683 @@
+{
+ "AED": {
+ "code": "AED",
+ "numeric_code": "784"
+ },
+ "AFN": {
+ "code": "AFN",
+ "numeric_code": "971",
+ "fraction_digits": "0"
+ },
+ "ALL": {
+ "code": "ALL",
+ "numeric_code": "008",
+ "fraction_digits": "0"
+ },
+ "AMD": {
+ "code": "AMD",
+ "numeric_code": "051",
+ "fraction_digits": "0"
+ },
+ "ANG": {
+ "code": "ANG",
+ "numeric_code": "532"
+ },
+ "AOA": {
+ "code": "AOA",
+ "numeric_code": "973"
+ },
+ "ARS": {
+ "code": "ARS",
+ "numeric_code": "032"
+ },
+ "AUD": {
+ "code": "AUD",
+ "numeric_code": "036"
+ },
+ "AWG": {
+ "code": "AWG",
+ "numeric_code": "533"
+ },
+ "AZN": {
+ "code": "AZN",
+ "numeric_code": "944"
+ },
+ "BAM": {
+ "code": "BAM",
+ "numeric_code": "977"
+ },
+ "BBD": {
+ "code": "BBD",
+ "numeric_code": "052"
+ },
+ "BDT": {
+ "code": "BDT",
+ "numeric_code": "050"
+ },
+ "BGN": {
+ "code": "BGN",
+ "numeric_code": "975"
+ },
+ "BHD": {
+ "code": "BHD",
+ "numeric_code": "048",
+ "fraction_digits": "3"
+ },
+ "BIF": {
+ "code": "BIF",
+ "numeric_code": "108",
+ "fraction_digits": "0"
+ },
+ "BMD": {
+ "code": "BMD",
+ "numeric_code": "060"
+ },
+ "BND": {
+ "code": "BND",
+ "numeric_code": "096"
+ },
+ "BOB": {
+ "code": "BOB",
+ "numeric_code": "068"
+ },
+ "BRL": {
+ "code": "BRL",
+ "numeric_code": "986"
+ },
+ "BSD": {
+ "code": "BSD",
+ "numeric_code": "044"
+ },
+ "BTN": {
+ "code": "BTN",
+ "numeric_code": "064"
+ },
+ "BWP": {
+ "code": "BWP",
+ "numeric_code": "072"
+ },
+ "BYR": {
+ "code": "BYR",
+ "numeric_code": "974",
+ "fraction_digits": "0"
+ },
+ "BZD": {
+ "code": "BZD",
+ "numeric_code": "084"
+ },
+ "CAD": {
+ "code": "CAD",
+ "numeric_code": "124"
+ },
+ "CDF": {
+ "code": "CDF",
+ "numeric_code": "976"
+ },
+ "CHF": {
+ "code": "CHF",
+ "numeric_code": "756"
+ },
+ "CLP": {
+ "code": "CLP",
+ "numeric_code": "152",
+ "fraction_digits": "0"
+ },
+ "CNY": {
+ "code": "CNY",
+ "numeric_code": "156"
+ },
+ "COP": {
+ "code": "COP",
+ "numeric_code": "170",
+ "fraction_digits": "0"
+ },
+ "CRC": {
+ "code": "CRC",
+ "numeric_code": "188",
+ "fraction_digits": "0"
+ },
+ "CUC": {
+ "code": "CUC",
+ "numeric_code": "931"
+ },
+ "CUP": {
+ "code": "CUP",
+ "numeric_code": "192"
+ },
+ "CVE": {
+ "code": "CVE",
+ "numeric_code": "132"
+ },
+ "CZK": {
+ "code": "CZK",
+ "numeric_code": "203"
+ },
+ "DJF": {
+ "code": "DJF",
+ "numeric_code": "262",
+ "fraction_digits": "0"
+ },
+ "DKK": {
+ "code": "DKK",
+ "numeric_code": "208"
+ },
+ "DOP": {
+ "code": "DOP",
+ "numeric_code": "214"
+ },
+ "DZD": {
+ "code": "DZD",
+ "numeric_code": "012"
+ },
+ "EGP": {
+ "code": "EGP",
+ "numeric_code": "818"
+ },
+ "ERN": {
+ "code": "ERN",
+ "numeric_code": "232"
+ },
+ "ETB": {
+ "code": "ETB",
+ "numeric_code": "230"
+ },
+ "EUR": {
+ "code": "EUR",
+ "numeric_code": "978"
+ },
+ "FJD": {
+ "code": "FJD",
+ "numeric_code": "242"
+ },
+ "FKP": {
+ "code": "FKP",
+ "numeric_code": "238"
+ },
+ "GBP": {
+ "code": "GBP",
+ "numeric_code": "826"
+ },
+ "GEL": {
+ "code": "GEL",
+ "numeric_code": "981"
+ },
+ "GHS": {
+ "code": "GHS",
+ "numeric_code": "936"
+ },
+ "GIP": {
+ "code": "GIP",
+ "numeric_code": "292"
+ },
+ "GMD": {
+ "code": "GMD",
+ "numeric_code": "270"
+ },
+ "GNF": {
+ "code": "GNF",
+ "numeric_code": "324",
+ "fraction_digits": "0"
+ },
+ "GTQ": {
+ "code": "GTQ",
+ "numeric_code": "320"
+ },
+ "GYD": {
+ "code": "GYD",
+ "numeric_code": "328",
+ "fraction_digits": "0"
+ },
+ "HKD": {
+ "code": "HKD",
+ "numeric_code": "344"
+ },
+ "HNL": {
+ "code": "HNL",
+ "numeric_code": "340"
+ },
+ "HRK": {
+ "code": "HRK",
+ "numeric_code": "191"
+ },
+ "HTG": {
+ "code": "HTG",
+ "numeric_code": "332"
+ },
+ "HUF": {
+ "code": "HUF",
+ "numeric_code": "348"
+ },
+ "IDR": {
+ "code": "IDR",
+ "numeric_code": "360",
+ "fraction_digits": "0"
+ },
+ "ILS": {
+ "code": "ILS",
+ "numeric_code": "376"
+ },
+ "INR": {
+ "code": "INR",
+ "numeric_code": "356"
+ },
+ "IQD": {
+ "code": "IQD",
+ "numeric_code": "368",
+ "fraction_digits": "0"
+ },
+ "IRR": {
+ "code": "IRR",
+ "numeric_code": "364",
+ "fraction_digits": "0"
+ },
+ "ISK": {
+ "code": "ISK",
+ "numeric_code": "352",
+ "fraction_digits": "0"
+ },
+ "JMD": {
+ "code": "JMD",
+ "numeric_code": "388"
+ },
+ "JOD": {
+ "code": "JOD",
+ "numeric_code": "400",
+ "fraction_digits": "3"
+ },
+ "JPY": {
+ "code": "JPY",
+ "numeric_code": "392",
+ "fraction_digits": "0"
+ },
+ "KES": {
+ "code": "KES",
+ "numeric_code": "404"
+ },
+ "KGS": {
+ "code": "KGS",
+ "numeric_code": "417"
+ },
+ "KHR": {
+ "code": "KHR",
+ "numeric_code": "116"
+ },
+ "KMF": {
+ "code": "KMF",
+ "numeric_code": "174",
+ "fraction_digits": "0"
+ },
+ "KPW": {
+ "code": "KPW",
+ "numeric_code": "408",
+ "fraction_digits": "0"
+ },
+ "KRW": {
+ "code": "KRW",
+ "numeric_code": "410",
+ "fraction_digits": "0"
+ },
+ "KWD": {
+ "code": "KWD",
+ "numeric_code": "414",
+ "fraction_digits": "3"
+ },
+ "KYD": {
+ "code": "KYD",
+ "numeric_code": "136"
+ },
+ "KZT": {
+ "code": "KZT",
+ "numeric_code": "398"
+ },
+ "LAK": {
+ "code": "LAK",
+ "numeric_code": "418",
+ "fraction_digits": "0"
+ },
+ "LBP": {
+ "code": "LBP",
+ "numeric_code": "422",
+ "fraction_digits": "0"
+ },
+ "LKR": {
+ "code": "LKR",
+ "numeric_code": "144"
+ },
+ "LRD": {
+ "code": "LRD",
+ "numeric_code": "430"
+ },
+ "LSL": {
+ "code": "LSL",
+ "numeric_code": "426"
+ },
+ "LTL": {
+ "code": "LTL",
+ "numeric_code": "440"
+ },
+ "LYD": {
+ "code": "LYD",
+ "numeric_code": "434",
+ "fraction_digits": "3"
+ },
+ "MAD": {
+ "code": "MAD",
+ "numeric_code": "504"
+ },
+ "MDL": {
+ "code": "MDL",
+ "numeric_code": "498"
+ },
+ "MGA": {
+ "code": "MGA",
+ "numeric_code": "969",
+ "fraction_digits": "0"
+ },
+ "MKD": {
+ "code": "MKD",
+ "numeric_code": "807"
+ },
+ "MMK": {
+ "code": "MMK",
+ "numeric_code": "104",
+ "fraction_digits": "0"
+ },
+ "MNT": {
+ "code": "MNT",
+ "numeric_code": "496",
+ "fraction_digits": "0"
+ },
+ "MOP": {
+ "code": "MOP",
+ "numeric_code": "446"
+ },
+ "MRO": {
+ "code": "MRO",
+ "numeric_code": "478",
+ "fraction_digits": "0"
+ },
+ "MUR": {
+ "code": "MUR",
+ "numeric_code": "480",
+ "fraction_digits": "0"
+ },
+ "MVR": {
+ "code": "MVR",
+ "numeric_code": "462"
+ },
+ "MWK": {
+ "code": "MWK",
+ "numeric_code": "454"
+ },
+ "MXN": {
+ "code": "MXN",
+ "numeric_code": "484"
+ },
+ "MYR": {
+ "code": "MYR",
+ "numeric_code": "458"
+ },
+ "MZN": {
+ "code": "MZN",
+ "numeric_code": "943"
+ },
+ "NAD": {
+ "code": "NAD",
+ "numeric_code": "516"
+ },
+ "NGN": {
+ "code": "NGN",
+ "numeric_code": "566"
+ },
+ "NIO": {
+ "code": "NIO",
+ "numeric_code": "558"
+ },
+ "NOK": {
+ "code": "NOK",
+ "numeric_code": "578"
+ },
+ "NPR": {
+ "code": "NPR",
+ "numeric_code": "524"
+ },
+ "NZD": {
+ "code": "NZD",
+ "numeric_code": "554"
+ },
+ "OMR": {
+ "code": "OMR",
+ "numeric_code": "512",
+ "fraction_digits": "3"
+ },
+ "PAB": {
+ "code": "PAB",
+ "numeric_code": "590"
+ },
+ "PEN": {
+ "code": "PEN",
+ "numeric_code": "604"
+ },
+ "PGK": {
+ "code": "PGK",
+ "numeric_code": "598"
+ },
+ "PHP": {
+ "code": "PHP",
+ "numeric_code": "608"
+ },
+ "PKR": {
+ "code": "PKR",
+ "numeric_code": "586",
+ "fraction_digits": "0"
+ },
+ "PLN": {
+ "code": "PLN",
+ "numeric_code": "985"
+ },
+ "PYG": {
+ "code": "PYG",
+ "numeric_code": "600",
+ "fraction_digits": "0"
+ },
+ "QAR": {
+ "code": "QAR",
+ "numeric_code": "634"
+ },
+ "RON": {
+ "code": "RON",
+ "numeric_code": "946"
+ },
+ "RSD": {
+ "code": "RSD",
+ "numeric_code": "941",
+ "fraction_digits": "0"
+ },
+ "RUB": {
+ "code": "RUB",
+ "numeric_code": "643"
+ },
+ "RWF": {
+ "code": "RWF",
+ "numeric_code": "646",
+ "fraction_digits": "0"
+ },
+ "SAR": {
+ "code": "SAR",
+ "numeric_code": "682"
+ },
+ "SBD": {
+ "code": "SBD",
+ "numeric_code": "090"
+ },
+ "SCR": {
+ "code": "SCR",
+ "numeric_code": "690"
+ },
+ "SDG": {
+ "code": "SDG",
+ "numeric_code": "938"
+ },
+ "SEK": {
+ "code": "SEK",
+ "numeric_code": "752"
+ },
+ "SGD": {
+ "code": "SGD",
+ "numeric_code": "702"
+ },
+ "SHP": {
+ "code": "SHP",
+ "numeric_code": "654"
+ },
+ "SLL": {
+ "code": "SLL",
+ "numeric_code": "694",
+ "fraction_digits": "0"
+ },
+ "SOS": {
+ "code": "SOS",
+ "numeric_code": "706",
+ "fraction_digits": "0"
+ },
+ "SRD": {
+ "code": "SRD",
+ "numeric_code": "968"
+ },
+ "SSP": {
+ "code": "SSP",
+ "numeric_code": "728"
+ },
+ "STD": {
+ "code": "STD",
+ "numeric_code": "678",
+ "fraction_digits": "0"
+ },
+ "SVC": {
+ "code": "SVC",
+ "numeric_code": "222"
+ },
+ "SYP": {
+ "code": "SYP",
+ "numeric_code": "760",
+ "fraction_digits": "0"
+ },
+ "SZL": {
+ "code": "SZL",
+ "numeric_code": "748"
+ },
+ "THB": {
+ "code": "THB",
+ "numeric_code": "764"
+ },
+ "TJS": {
+ "code": "TJS",
+ "numeric_code": "972"
+ },
+ "TMT": {
+ "code": "TMT",
+ "numeric_code": "934"
+ },
+ "TND": {
+ "code": "TND",
+ "numeric_code": "788",
+ "fraction_digits": "3"
+ },
+ "TOP": {
+ "code": "TOP",
+ "numeric_code": "776"
+ },
+ "TRY": {
+ "code": "TRY",
+ "numeric_code": "949"
+ },
+ "TTD": {
+ "code": "TTD",
+ "numeric_code": "780"
+ },
+ "TWD": {
+ "code": "TWD",
+ "numeric_code": "901"
+ },
+ "TZS": {
+ "code": "TZS",
+ "numeric_code": "834",
+ "fraction_digits": "0"
+ },
+ "UAH": {
+ "code": "UAH",
+ "numeric_code": "980"
+ },
+ "UGX": {
+ "code": "UGX",
+ "numeric_code": "800",
+ "fraction_digits": "0"
+ },
+ "USD": {
+ "code": "USD",
+ "numeric_code": "840"
+ },
+ "UYU": {
+ "code": "UYU",
+ "numeric_code": "858"
+ },
+ "UZS": {
+ "code": "UZS",
+ "numeric_code": "860",
+ "fraction_digits": "0"
+ },
+ "VEF": {
+ "code": "VEF",
+ "numeric_code": "937"
+ },
+ "VND": {
+ "code": "VND",
+ "numeric_code": "704",
+ "fraction_digits": "0"
+ },
+ "VUV": {
+ "code": "VUV",
+ "numeric_code": "548",
+ "fraction_digits": "0"
+ },
+ "WST": {
+ "code": "WST",
+ "numeric_code": "882"
+ },
+ "XAF": {
+ "code": "XAF",
+ "numeric_code": "950",
+ "fraction_digits": "0"
+ },
+ "XCD": {
+ "code": "XCD",
+ "numeric_code": "951"
+ },
+ "XOF": {
+ "code": "XOF",
+ "numeric_code": "952",
+ "fraction_digits": "0"
+ },
+ "XPF": {
+ "code": "XPF",
+ "numeric_code": "953",
+ "fraction_digits": "0"
+ },
+ "YER": {
+ "code": "YER",
+ "numeric_code": "886",
+ "fraction_digits": "0"
+ },
+ "ZAR": {
+ "code": "ZAR",
+ "numeric_code": "710"
+ },
+ "ZMW": {
+ "code": "ZMW",
+ "numeric_code": "967"
+ },
+ "ZWL": {
+ "code": "ZWL",
+ "numeric_code": "932"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/be.json b/library/intl/resources/currency/be.json
new file mode 100644
index 000000000..fe0d366ca
--- /dev/null
+++ b/library/intl/resources/currency/be.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "GBP": {
+ "name": "англійÑкі фунт",
+ "symbol": "£"
+ },
+ "AUD": {
+ "name": "аўÑтралійÑкі далÑÑ€",
+ "symbol": "A$"
+ },
+ "BYR": {
+ "name": "беларуÑкі рубель",
+ "symbol": "Ñ€."
+ },
+ "BRL": {
+ "name": "бразільÑкі Ñ€Ñал",
+ "symbol": "R$"
+ },
+ "USD": {
+ "name": "долар ЗШÐ",
+ "symbol": "$"
+ },
+ "EUR": {
+ "name": "еўра",
+ "symbol": "€"
+ },
+ "INR": {
+ "name": "індыйÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ñ–Ñ",
+ "symbol": "₹"
+ },
+ "CNY": {
+ "name": "кітайÑкі юань",
+ "symbol": "CNÂ¥"
+ },
+ "NOK": {
+ "name": "нарвÑÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°",
+ "symbol": "NOK"
+ },
+ "RUB": {
+ "name": "руÑкі рубель",
+ "symbol": "раÑ. руб."
+ },
+ "ERN": {
+ "name": "ÑрытрÑйÑÐºÐ°Ñ Ð½Ð°ÐºÑ„Ð°",
+ "symbol": "ERN"
+ },
+ "JPY": {
+ "name": "ÑпонÑÐºÐ°Ñ Ñ–ÐµÐ½Ð°",
+ "symbol": "Â¥"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/bez.json b/library/intl/resources/currency/bez.json
new file mode 100644
index 000000000..ea896cc8f
--- /dev/null
+++ b/library/intl/resources/currency/bez.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "XOF": {
+ "name": "Lupila lwa CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Lupila lwa CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "JPY": {
+ "name": "Lupila lwa Hijapani",
+ "symbol": "JPÂ¥"
+ },
+ "ZAR": {
+ "name": "Lupila lwa Huafriaka ya Hukusini",
+ "symbol": "ZAR"
+ },
+ "DZD": {
+ "name": "Lupila lwa Hualjelia",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Lupila lwa Huangola",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "Lupila lwa Huaustlalia",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Lupila lwa Hubahareni",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "Lupila lwa Hubotswana",
+ "symbol": "BWP"
+ },
+ "MGA": {
+ "name": "Lupila lwa Hubukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "Lupila lwa Huburundi",
+ "symbol": "BIF"
+ },
+ "CNY": {
+ "name": "Lupila lwa Huchina",
+ "symbol": "CNÂ¥"
+ },
+ "ERN": {
+ "name": "Lupila lwa Hueritrea",
+ "symbol": "ERN"
+ },
+ "AED": {
+ "name": "Lupila lwa Hufalme dza Huhihalabu",
+ "symbol": "AED"
+ },
+ "GMD": {
+ "name": "Lupila lwa Hugambia",
+ "symbol": "GMD"
+ },
+ "INR": {
+ "name": "Lupila lwa Huindia",
+ "symbol": "₹"
+ },
+ "DJF": {
+ "name": "Lupila lwa Hujibuti",
+ "symbol": "DJF"
+ },
+ "CAD": {
+ "name": "Lupila lwa Hukanada",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Lupila lwa Hukepuvede",
+ "symbol": "CVE"
+ },
+ "KMF": {
+ "name": "Lupila lwa Hukomoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Lupila lwa Hukongo",
+ "symbol": "CDF"
+ },
+ "LSL": {
+ "name": "Lupila lwa Hulesoto",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Lupila lwa Hulibelia",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Lupila lwa Hulibya",
+ "symbol": "LYD"
+ },
+ "MWK": {
+ "name": "Lupila lwa Humalawi",
+ "symbol": "MWK"
+ },
+ "USD": {
+ "name": "Lupila lwa Humalekani",
+ "symbol": "US$"
+ },
+ "EGP": {
+ "name": "Lupila lwa Humisri",
+ "symbol": "EGP"
+ },
+ "MUR": {
+ "name": "Lupila lwa Humolisi",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Lupila lwa Humolitania",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "Lupila lwa Humoloko",
+ "symbol": "MAD"
+ },
+ "NAD": {
+ "name": "Lupila lwa Hunamibia",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "Lupila lwa Hunijelia",
+ "symbol": "NGN"
+ },
+ "RWF": {
+ "name": "Lupila lwa Hurwanda",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Lupila lwa Husantahelena",
+ "symbol": "SHP"
+ },
+ "STD": {
+ "name": "Lupila lwa Husaotome na Huprinisipe",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Lupila lwa Husaudi",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Lupila lwa Hushelisheli",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "Lupila lwa Husomalia",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "Lupila lwa Husudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Lupila lwa Hutunisia",
+ "symbol": "TND"
+ },
+ "ETB": {
+ "name": "Lupila lwa Huuhabeshi",
+ "symbol": "ETB"
+ },
+ "GBP": {
+ "name": "Lupila lwa Huuingereza",
+ "symbol": "£"
+ },
+ "CHF": {
+ "name": "Lupila lwa Huuswisi",
+ "symbol": "CHF"
+ },
+ "ZMW": {
+ "name": "Lupila lwa Huzambia",
+ "symbol": "ZMW"
+ },
+ "SZL": {
+ "name": "Lupila lwa Lilangeni",
+ "symbol": "SZL"
+ },
+ "SLL": {
+ "name": "Lupila lwa Lioni",
+ "symbol": "SLL"
+ },
+ "EUR": {
+ "name": "Lupila lwa Yulo",
+ "symbol": "€"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi ya Hukenya",
+ "symbol": "KES"
+ },
+ "TZS": {
+ "name": "Shilingi ya Hutanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Huuganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/bg.json b/library/intl/resources/currency/bg.json
new file mode 100644
index 000000000..b13dddefa
--- /dev/null
+++ b/library/intl/resources/currency/bg.json
@@ -0,0 +1,634 @@
+{
+ "AUD": {
+ "name": "ÐвÑтралийÑки долар",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "ÐзербайджанÑки манат",
+ "symbol": "AZN"
+ },
+ "ALL": {
+ "name": "ÐлбанÑки лек",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "ÐлжирÑки динар",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "ÐнголÑка кванза",
+ "symbol": "AOA"
+ },
+ "ANG": {
+ "name": "ÐнтилÑки гулден",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ÐржентинÑко пеÑо",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "ÐрменÑки драм",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "ÐрубÑки флорин",
+ "symbol": "AWG"
+ },
+ "AFN": {
+ "name": "ÐфганиÑтанÑки афган",
+ "symbol": "AFN"
+ },
+ "BDT": {
+ "name": "Бангладешка така",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "БарбадоÑки долар",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "БахамÑки долар",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "БахрейнÑки динар",
+ "symbol": "BHD"
+ },
+ "BYR": {
+ "name": "БеларуÑка рубла",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "БелизийÑки долар",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "БермудÑки долар",
+ "symbol": "BMD"
+ },
+ "BOB": {
+ "name": "БоливийÑко боливиано",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "БоÑненÑка конвертируема марка",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "БотÑванÑка пула",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "БразилÑки реал",
+ "symbol": "BRL"
+ },
+ "GBP": {
+ "name": "БританÑка лира",
+ "symbol": "GBP"
+ },
+ "BND": {
+ "name": "БрунейÑки долар",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "БурундийÑки франк",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "БутанÑки нгултрум",
+ "symbol": "BTN"
+ },
+ "BGN": {
+ "name": "БългарÑки лев",
+ "symbol": "лв."
+ },
+ "VUV": {
+ "name": "ВануатÑко вату",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "ВенецуелÑки боливар",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "ВиетнамÑки донг",
+ "symbol": "VND"
+ },
+ "GMD": {
+ "name": "ГамбийÑко далаÑи",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ГанайÑко Ñеди",
+ "symbol": "GHS"
+ },
+ "GYD": {
+ "name": "ГаÑнÑки долар",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "ГватемалÑки кетцал",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "ГвинейÑки франк",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "ГибралтарÑка лира",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "ГрузинÑки лари",
+ "symbol": "GEL"
+ },
+ "DKK": {
+ "name": "ДатÑка крона",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "ДжибутÑки франк",
+ "symbol": "DJF"
+ },
+ "AED": {
+ "name": "Дирхам на Обединените арабÑки емирÑтва",
+ "symbol": "AED"
+ },
+ "STD": {
+ "name": "Добра на Сао Томе и ПринÑипи",
+ "symbol": "STD"
+ },
+ "SBD": {
+ "name": "Долар на Соломоновите оÑтрови",
+ "symbol": "SBD"
+ },
+ "TTD": {
+ "name": "Долар на Тринидад и Тобаго",
+ "symbol": "TTD"
+ },
+ "DOP": {
+ "name": "ДоминиканÑко пеÑо",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "ЕгипетÑка лира",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ЕритрейÑка накфа",
+ "symbol": "ERN"
+ },
+ "CVE": {
+ "name": "ЕÑкудо на Кабо Верде",
+ "symbol": "CVE"
+ },
+ "ETB": {
+ "name": "ЕтиопÑки бир",
+ "symbol": "ETB"
+ },
+ "ZMW": {
+ "name": "ЗамбийÑка куача",
+ "symbol": "ZMW"
+ },
+ "XOF": {
+ "name": "ЗападноафриканÑки франк",
+ "symbol": "CFA"
+ },
+ "ZWL": {
+ "name": "ЗимбабвийÑки долар (2009)",
+ "symbol": "ZWL"
+ },
+ "ILS": {
+ "name": "ИзраелÑки нов шекел",
+ "symbol": "ILS"
+ },
+ "XCD": {
+ "name": "ИзточнокарибÑки долар",
+ "symbol": "XCD"
+ },
+ "INR": {
+ "name": "ИндийÑка рупиÑ",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "ИндонезийÑка рупиÑ",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "ИракÑки динар",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ИранÑки риал",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ИÑландÑка крона",
+ "symbol": "ISK"
+ },
+ "YER": {
+ "name": "ЙеменÑки риал",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "ЙорданÑки динар",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "КазахÑтанÑко тенге",
+ "symbol": "KZT"
+ },
+ "KYD": {
+ "name": "Кайманов долар",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "КамбоджанÑки риел",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "КанадÑки долар",
+ "symbol": "CAD"
+ },
+ "QAR": {
+ "name": "КатарÑки риал",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "КенийÑки шилинг",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "КиргизÑтанÑки Ñом",
+ "symbol": "KGS"
+ },
+ "CNY": {
+ "name": "КитайÑки юан",
+ "symbol": "CNY"
+ },
+ "COP": {
+ "name": "КолумбийÑко пеÑо",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "КоморÑки франк",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "КонгоанÑки франк",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "КоÑтариканÑки колон",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "КубинÑко конвертируемо пеÑо",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "КубинÑко пеÑо",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "КувейтÑки динар",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "ЛаоÑки кип",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "ЛеÑотÑко лоти",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "ЛиберийÑки долар",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "ЛибийÑки динар",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "ЛиванÑка лира",
+ "symbol": "LBP"
+ },
+ "SHP": {
+ "name": "Лира на Света Елена",
+ "symbol": "SHP"
+ },
+ "LTL": {
+ "name": "ЛитовÑки литаÑ",
+ "symbol": "LTL"
+ },
+ "MRO": {
+ "name": "МавританÑка угиÑ",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "МаврицийÑка рупиÑ",
+ "symbol": "MUR"
+ },
+ "MKD": {
+ "name": "МакедонÑки денар",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "МалавийÑка квача",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "МалайзийÑки рингит",
+ "symbol": "MYR"
+ },
+ "MGA": {
+ "name": "Малгашко ариари",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "МалдивÑка руфиÑ",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "МароканÑки дирхам",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "МекÑиканÑко пеÑо",
+ "symbol": "MXN"
+ },
+ "MMK": {
+ "name": "МианмарÑки киÑÑ‚",
+ "symbol": "MMK"
+ },
+ "MZN": {
+ "name": "МозамбикÑки метикал",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "МолдовÑко леу",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "МонголÑки тугрик",
+ "symbol": "MNT"
+ },
+ "NAD": {
+ "name": "ÐамибийÑки долар",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "ÐепалÑка рупиÑ",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ÐигерийÑка найра",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "ÐикарагуанÑка кордоба",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "ÐовозеландÑки долар",
+ "symbol": "NZD"
+ },
+ "NOK": {
+ "name": "Ðорвежка крона",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "ОманÑки риал",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "ПакиÑтанÑка рупиÑ",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "ПанамÑка балбоа",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Папуа-новогвинейÑка кина",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "ПарагвайÑко гуарани",
+ "symbol": "PYG"
+ },
+ "MOP": {
+ "name": "Патака на Макао",
+ "symbol": "MOP"
+ },
+ "PEN": {
+ "name": "ПеруанÑки нов Ñол",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "ПолÑка злота",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "РуандÑки франк",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "РумънÑка леÑ",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "РуÑка рубла",
+ "symbol": "руб."
+ },
+ "SVC": {
+ "name": "СалвадорÑки колон",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "СамоанÑка тала",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "СаудитÑкоарабÑки риал",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "СвазилендÑки лилангени",
+ "symbol": "SZL"
+ },
+ "KPW": {
+ "name": "СевернокорейÑки вон",
+ "symbol": "KPW"
+ },
+ "SCR": {
+ "name": "СейшелÑка рупиÑ",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "СиералеонÑко леоне",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "СингапурÑки долар",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "СирийÑка лира",
+ "symbol": "SYP"
+ },
+ "SOS": {
+ "name": "СомалийÑки шилинг",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "СръбÑки динар",
+ "symbol": "RSD"
+ },
+ "SDG": {
+ "name": "СуданÑка лира",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "СуринамÑки долар",
+ "symbol": "SRD"
+ },
+ "TJS": {
+ "name": "ТаджикиÑтанÑки Ñомони",
+ "symbol": "TJS"
+ },
+ "TWD": {
+ "name": "ТайванÑки долар",
+ "symbol": "TWD"
+ },
+ "THB": {
+ "name": "ТайландÑки бат",
+ "symbol": "THB"
+ },
+ "TZS": {
+ "name": "ТанзанийÑки шилинг",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "ТонганÑка паанга",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "ТунизийÑки динар",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "ТуркменÑки манат",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "ТурÑка лира",
+ "symbol": "TRY"
+ },
+ "UGX": {
+ "name": "УгандÑки шилинг",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "УзбекÑки Ñум",
+ "symbol": "UZS"
+ },
+ "UAH": {
+ "name": "УкраинÑка хривнÑ",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "УнгарÑки форинт",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "УругвайÑко пеÑо",
+ "symbol": "UYU"
+ },
+ "FJD": {
+ "name": "ФиджийÑки долар",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "ФилипинÑко пеÑо",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "ФолклендÑка лира",
+ "symbol": "FKP"
+ },
+ "XPF": {
+ "name": "ФренÑкополинезийÑки франк",
+ "symbol": "CFPF"
+ },
+ "HTG": {
+ "name": "ХаитÑки гурд",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "ХондураÑка лемпира",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "ХонконгÑки долар",
+ "symbol": "HKD"
+ },
+ "HRK": {
+ "name": "ХърватÑка куна",
+ "symbol": "HRK"
+ },
+ "XAF": {
+ "name": "ЦентралноафриканÑки франк",
+ "symbol": "FCFA"
+ },
+ "CZK": {
+ "name": "Чешка крона",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "ЧилийÑко пеÑо",
+ "symbol": "CLP"
+ },
+ "SEK": {
+ "name": "ШведÑка крона",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "ШвейцарÑки франк",
+ "symbol": "CHF"
+ },
+ "LKR": {
+ "name": "ШриланкÑка рупиÑ",
+ "symbol": "LKR"
+ },
+ "USD": {
+ "name": "ЩатÑки долар",
+ "symbol": "щ.д."
+ },
+ "ZAR": {
+ "name": "ЮжноафриканÑки ранд",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "ЮжнокорейÑки вон",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "ЮжноÑуданÑка лира",
+ "symbol": "SSP"
+ },
+ "JMD": {
+ "name": "ЯмайÑки долар",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "ЯпонÑка йена",
+ "symbol": "JPY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/bm.json b/library/intl/resources/currency/bm.json
new file mode 100644
index 000000000..069cf70b5
--- /dev/null
+++ b/library/intl/resources/currency/bm.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "DZD": {
+ "name": "alizeri Dinar",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "USD": {
+ "name": "ameriki Dolar",
+ "symbol": "US$"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "GBP": {
+ "name": "angilÉ› Livri Siterlingi",
+ "symbol": "£"
+ },
+ "AOA": {
+ "name": "angola Kwanza",
+ "symbol": "AOA"
+ },
+ "AED": {
+ "name": "arabu mara kafoli Diram",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BHD": {
+ "name": "bareyini Dinar",
+ "symbol": "BHD"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "bɔtisiwana Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "burundi Fraŋ",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CVE": {
+ "name": "capivɛrdi Esekudo",
+ "symbol": "CVE"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "ERN": {
+ "name": "eritere Nafika",
+ "symbol": "ERN"
+ },
+ "EUR": {
+ "name": "ero",
+ "symbol": "€"
+ },
+ "ETB": {
+ "name": "etiopi Bir",
+ "symbol": "ETB"
+ },
+ "EGP": {
+ "name": "eziputi Livri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "ÆlÉ›ni-Senu Livri",
+ "symbol": "SHP"
+ },
+ "INR": {
+ "name": "Ændu Rupi",
+ "symbol": "₹"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "gambi Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "DJF": {
+ "name": "jibuti Fraŋ",
+ "symbol": "DJF"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CAD": {
+ "name": "kanada Dolar",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "keniya Siling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "komɔri Fraŋ",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "kongole Fraŋ",
+ "symbol": "CDF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "lesoto Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "liberiya Dolar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libi Dinar",
+ "symbol": "LYD"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "madagasikari Fraŋ",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "malawi Kwaca",
+ "symbol": "MWK"
+ },
+ "MAD": {
+ "name": "marɔku Diram",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MUR": {
+ "name": "morisi Rupi",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "mɔritani Uguwiya",
+ "symbol": "MRO"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "namibi Dolar",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "nizeriya Nɛra",
+ "symbol": "NGN"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "AUD": {
+ "name": "ositirali Dolar",
+ "symbol": "A$"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "ruwanda Fraŋ",
+ "symbol": "RWF"
+ },
+ "STD": {
+ "name": "sawotome Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "sawudiya Riyal",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "XOF": {
+ "name": "sefa Fraŋ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "sefa Fraŋ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SCR": {
+ "name": "sesɛli Rupi",
+ "symbol": "SCR"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "CNY": {
+ "name": "siniwa Yuwan",
+ "symbol": "CNÂ¥"
+ },
+ "SLL": {
+ "name": "siyeralewɔni Lewɔni",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "somali Siling",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "ZAR": {
+ "name": "sudafriki Randi",
+ "symbol": "ZAR"
+ },
+ "SDG": {
+ "name": "sudani Dinar",
+ "symbol": "SDG"
+ },
+ "CHF": {
+ "name": "suwisi Fraŋ",
+ "symbol": "CHF"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SZL": {
+ "name": "swazilandi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "TZS": {
+ "name": "tanzani Siling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "tunizi Dinar",
+ "symbol": "TND"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "uganda Siling",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "zambi Kwaca",
+ "symbol": "ZMW"
+ },
+ "JPY": {
+ "name": "zapɔne Yɛn",
+ "symbol": "JPÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/bn.json b/library/intl/resources/currency/bn.json
new file mode 100644
index 000000000..2ce66d769
--- /dev/null
+++ b/library/intl/resources/currency/bn.json
@@ -0,0 +1,634 @@
+{
+ "AUD": {
+ "name": "অসà§à¦Ÿà§à¦°à§‡à¦²à¦¿à¦¯à¦¼à¦¾à¦¨ ডলার",
+ "symbol": "A$"
+ },
+ "ISK": {
+ "name": "আইসলà§à¦¯à¦¾à¦¨à§à¦¡ কà§à¦°à§Œà¦¨",
+ "symbol": "ISK"
+ },
+ "AZN": {
+ "name": "আজারবাইজান মানাত",
+ "symbol": "AZN"
+ },
+ "AFN": {
+ "name": "আফগান আফগানি",
+ "symbol": "AFN"
+ },
+ "AMD": {
+ "name": "আরমেনিয়ান দà§à¦°à¦¾à¦®",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "আরà§à¦¬à¦¾ গিলà§à¦¡à¦¾à¦°",
+ "symbol": "AWG"
+ },
+ "ARS": {
+ "name": "আরà§à¦œà§‡à¦¨à§à¦Ÿà¦¿à¦¨à¦¾ পেসো",
+ "symbol": "ARS"
+ },
+ "DZD": {
+ "name": "আলজেরীয় দিনার",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "আলবেনিয়ান লেক",
+ "symbol": "ALL"
+ },
+ "UAH": {
+ "name": "ইউকà§à¦°à§‡à¦‡à¦¨ হৃভনিয়া",
+ "symbol": "UAH"
+ },
+ "EUR": {
+ "name": "ইউরো",
+ "symbol": "€"
+ },
+ "ETB": {
+ "name": "ইথিওপিয়ান বির",
+ "symbol": "ETB"
+ },
+ "IDR": {
+ "name": "ইনà§à¦¦à§‹à¦¨à§‡à¦¶à¦¿à¦¯à¦¼à¦¾à¦¨ রà§à¦ªà¦¿à¦¯à¦¼à¦¾à¦¹",
+ "symbol": "IDR"
+ },
+ "YER": {
+ "name": "ইয়েমেনি রিয়াল",
+ "symbol": "YER"
+ },
+ "IQD": {
+ "name": "ইরাকি দিনার",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ইরানিয়ান রিয়াল",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "ইসà§à¦°à¦¾à¦‡à¦²à¦¿ নতà§à¦¨ শেকেল",
+ "symbol": "₪"
+ },
+ "UGX": {
+ "name": "উগানà§à¦¡à¦¾à¦¨ শিলিং",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "উজবেকিসà§à¦¤à¦¾à¦¨à¦¿ সোম",
+ "symbol": "UZS"
+ },
+ "KPW": {
+ "name": "উতà§à¦¤à¦° কোরিয়ার ওন",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "উরà§à¦—à§à¦¯à¦¼à§‡ পেসো",
+ "symbol": "UYU"
+ },
+ "ERN": {
+ "name": "à¦à¦°à¦¿à¦Ÿà§à¦°à¦¿à¦¯à¦¼à§‡à¦¨ নাকফা",
+ "symbol": "ERN"
+ },
+ "SVC": {
+ "name": "à¦à¦² সà§à¦¯à¦¾à¦²à¦­à§‹à¦¡à§‹à¦° কোলোন",
+ "symbol": "SVC"
+ },
+ "AOA": {
+ "name": "à¦à§à¦¯à¦¾à¦™à§à¦—োলান কওয়ানজা",
+ "symbol": "AOA"
+ },
+ "OMR": {
+ "name": "ওমানি রিয়াল",
+ "symbol": "OMR"
+ },
+ "CDF": {
+ "name": "কঙà§à¦—োলিস ফà§à¦°à§à¦¯à¦¾à¦™à§à¦•",
+ "symbol": "CDF"
+ },
+ "KHR": {
+ "name": "কমà§à¦¬à§‹à¦¡à¦¿à¦¯à¦¼à¦¾à¦¨ রিয়েল",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "কমà§à¦¬à§‹à¦°à§‹ ফà§à¦°à¦¾à¦™à§à¦•",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "কলোমà§à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨ পেসো",
+ "symbol": "COP"
+ },
+ "KZT": {
+ "name": "কাজাকà§à¦¸à¦Ÿà¦¾à¦¨ টেঙà§à¦—ে",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "কাতার রিয়à§à¦¯à¦¾à¦²",
+ "symbol": "QAR"
+ },
+ "CAD": {
+ "name": "কানাডিয়ান ডলার",
+ "symbol": "CA$"
+ },
+ "CUP": {
+ "name": "কিউবান পেসো",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "কিউবান রূপানà§à¦¤à¦°à¦¯à§‹à¦—à§à¦¯ পেসো",
+ "symbol": "CUC"
+ },
+ "KGS": {
+ "name": "কিরগিজসà§à¦¤à¦¾à¦¨ সোম",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "কà§à¦¯à¦¼à§‡à¦¤à¦¿ দিনার",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "কেনিয়ান শিলিং",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "কেপ ভারà§à¦¦à§‡ à¦à¦¸à¦•à§à¦¡à§‹",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "কেমà§à¦¯à¦¾à¦¨ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œà§‡à¦° ডলার",
+ "symbol": "KYD"
+ },
+ "CRC": {
+ "name": "কোসà§à¦Ÿà¦¾ রিকা কোলোন",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "কà§à¦°à§‹à¦¯à¦¼à§‡à¦¶à¦¿à¦¯à¦¼à¦¾à¦¨ কà§à¦¨à¦¾",
+ "symbol": "HRK"
+ },
+ "GYD": {
+ "name": "গাইয়েনা ডলার",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "গামà§à¦¬à¦¿à¦¯à¦¼à¦¾ ডালাসি",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "গিনি ফà§à¦°à¦¾à¦™à§à¦•",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "গà§à¦¯à¦¼à¦¾à¦¤à§‡à¦®à¦¾à¦²à¦¾ কà§à¦¯à¦¼à§‡à§Žà¦œà¦¾à¦²",
+ "symbol": "GTQ"
+ },
+ "GHS": {
+ "name": "ঘানা সেডি",
+ "symbol": "GHS"
+ },
+ "CLP": {
+ "name": "চিলি পেসো",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "চীনা য়à§à¦¯à¦¼à¦¾à¦¨",
+ "symbol": "CNÂ¥"
+ },
+ "CZK": {
+ "name": "চেকোসà§à¦²à§‹à¦­à¦¾à¦• কোরà§à¦¨à¦¾",
+ "symbol": "CZK"
+ },
+ "GEL": {
+ "name": "জরà§à¦œà¦¿à¦¯à¦¼à¦¾à¦¨ লারি",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "জরà§à¦¡à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾à¦¨ দিনার",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "জাপানি ইয়েন",
+ "symbol": "JPÂ¥"
+ },
+ "ZMW": {
+ "name": "জামà§à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨ কওয়াচা",
+ "symbol": "ZMW"
+ },
+ "DJF": {
+ "name": "জিবà§à¦¤à¦¿ ফà§à¦°à¦¾à¦™à§à¦•",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "জিবà§à¦°à¦¾à¦²à§à¦Ÿà¦¾à¦° পাউনà§à¦¡",
+ "symbol": "GIP"
+ },
+ "ZWL": {
+ "name": "জিমà§à¦¬à¦¾à¦¬à§à¦¯à¦¼à§‡ ডলার (২০০৯)",
+ "symbol": "ZWL"
+ },
+ "JMD": {
+ "name": "জà§à¦¯à¦¾à¦®à¦¾à¦‡à¦•à¦¾à¦¨ ডলার",
+ "symbol": "JMD"
+ },
+ "TOP": {
+ "name": "টোঙà§à¦—া পা’আঙà§à¦—া",
+ "symbol": "TOP"
+ },
+ "DOP": {
+ "name": "ডোমিনিকান পেসো",
+ "symbol": "DOP"
+ },
+ "DKK": {
+ "name": "ডà§à¦¯à¦¾à¦¨à¦¿à¦¶ কà§à¦°à§Œà¦¨",
+ "symbol": "DKK"
+ },
+ "TJS": {
+ "name": "তাজিকিসà§à¦¤à¦¾à¦¨ সোমোনি",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "তাঞà§à¦œà¦¨à¦¿à¦¯à¦¼à¦¾ শিলিং",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "তিউনেশিয়ান দিনার",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "তà§à¦°à§à¦•à¦®à§‡à¦¨à¦¿à¦¸à§à¦¤à¦¾à¦¨ নতà§à¦¨ মানত",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "তà§à¦°à§à¦•à¦¿ লিরা",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "তà§à¦°à¦¿à¦¨à¦¿à¦¦à¦¾à¦¦ à¦à¦¬à¦‚ টোবাগো ডলার",
+ "symbol": "TTD"
+ },
+ "THB": {
+ "name": "থাই বাত",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "দকà§à¦·à¦¿à¦£ আফà§à¦°à¦¿à¦•à¦¾à¦¨ রেনà§à¦¡",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "দকà§à¦·à¦¿à¦£ কোরিয়ান ওন",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "দকà§à¦·à¦¿à¦£ সà§à¦¦à¦¾à¦¨à¦¿ পাউনà§à¦¡",
+ "symbol": "SSP"
+ },
+ "TWD": {
+ "name": "নতà§à¦¨ তাইওয়ান ডলার",
+ "symbol": "NT$"
+ },
+ "NOK": {
+ "name": "নরওয়ে কà§à¦°à§Œà¦¨",
+ "symbol": "NOK"
+ },
+ "NGN": {
+ "name": "নাইজেরিয়ান নায়রা",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "নামিবিয়া ডলার",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "নিউজিলà§à¦¯à¦¾à¦¨à§à¦¡ ডলার",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "নিকারাগà§à¦¯à¦¼à¦¾à¦¨ করà§à¦¡à§‹à¦¬à¦¾",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "নেদারলà§à¦¯à¦¾à¦¨à§à¦¡ à¦à§à¦¯à¦¾à¦¨à§à¦Ÿà¦¿à¦²à¦¿à¦¯à¦¼à¦¾à¦¨ গà§à¦²à§à¦¡à§‡à¦°",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "নেপালি রà§à¦ªà¦¿",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "পাকিসà§à¦¤à¦¾à¦¨à¦¿ রà§à¦ªà¦¿",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "পানামা বেলবোয়া",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "পাপà§à¦¯à¦¼à¦¾ নিউ গিনিয়ান কিনা",
+ "symbol": "PGK"
+ },
+ "XCD": {
+ "name": "পূরà§à¦¬ কà§à¦¯à¦¾à¦°à¦¾à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨ ডলার",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "পেরà§à¦­à¦¿à¦¯à¦¼à¦¾à¦¨ সোল নà§à¦¯à¦¼à§‡à¦­à§‹",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "পোলিশ জà§à¦²à§‹à¦Ÿà¦¿",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "পà§à¦¯à¦¾à¦°à¦—à§à¦¯à¦¼à¦¾à¦¨",
+ "symbol": "PYG"
+ },
+ "FKP": {
+ "name": "ফকলà§à¦¯à¦¾à¦¨à§à¦¡ দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ পাউনà§à¦¡",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "ফিজি ডলার",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "ফিলিপাইন পেসো",
+ "symbol": "PHP"
+ },
+ "BWP": {
+ "name": "বতসোয়ানা পà§à¦²à¦¾",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "বলিভিয়ানো",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "বসনিয়া à¦à¦¬à¦‚ হারà§à¦œà§‡à¦—োভিনা মারà§à¦•",
+ "symbol": "BAM"
+ },
+ "BDT": {
+ "name": "বাংলাদেশী টাকা",
+ "symbol": "৳"
+ },
+ "BMD": {
+ "name": "বারমিউডান ডলার",
+ "symbol": "BMD"
+ },
+ "BBD": {
+ "name": "বারà§à¦¬à§‡à¦¡à§‹à¦œ ডলার",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "বাহরাইনি দিনার",
+ "symbol": "BHD"
+ },
+ "BSD": {
+ "name": "বাহামিয়ান ডলার",
+ "symbol": "BSD"
+ },
+ "BIF": {
+ "name": "বà§à¦°à§à¦¨à§à¦¡à¦¿ ফà§à¦°à¦¾à¦™à§à¦•",
+ "symbol": "BIF"
+ },
+ "BGN": {
+ "name": "বà§à¦²à¦—েরীয় নিউ লেভ",
+ "symbol": "BGN"
+ },
+ "BYR": {
+ "name": "বেলারà§à¦¶à¦¿à¦¯à¦¼à¦¾à¦¨ রà§à¦¬à§‡à¦²",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "বেলিজ ডলার",
+ "symbol": "BZD"
+ },
+ "BRL": {
+ "name": "বà§à¦°à¦¾à¦œà¦¿à¦²à¦¿à¦¯à¦¼à¦¾à¦¨ রিয়েল",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "বà§à¦°à¦¿à¦Ÿà¦¿à¦¶ পাউনà§à¦¡ সà§à¦Ÿà¦¾à¦°à§à¦²à¦¿à¦‚",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "বà§à¦°à§à¦¨à§‡à¦‡ ডলার",
+ "symbol": "BND"
+ },
+ "VUV": {
+ "name": "ভানà§à¦¯à¦¼à¦¾à¦¤à§ ভাতà§",
+ "symbol": "VUV"
+ },
+ "INR": {
+ "name": "ভারতীয় রà§à¦ªà¦¿",
+ "symbol": "₹"
+ },
+ "VND": {
+ "name": "ভিয়েতনামি ডঙà§à¦—",
+ "symbol": "â‚«"
+ },
+ "BTN": {
+ "name": "ভà§à¦Ÿà¦¾à¦¨à¦¿ à¦à¦¨à¦—à§à¦²à§à¦Ÿà§à¦°à§à¦®",
+ "symbol": "BTN"
+ },
+ "VEF": {
+ "name": "ভেনিজà§à¦¯à¦¼à§‡à¦²à§€à¦¯à¦¼ বলিভার",
+ "symbol": "VEF"
+ },
+ "MNT": {
+ "name": "মঙà§à¦—োলিয়ান তà§à¦—রিক",
+ "symbol": "MNT"
+ },
+ "MGA": {
+ "name": "মাদাগাসà§à¦•à¦¾à¦° আরিয়ারি",
+ "symbol": "MGA"
+ },
+ "MMK": {
+ "name": "মায়ানমার কিয়াত",
+ "symbol": "MMK"
+ },
+ "USD": {
+ "name": "মারà§à¦•à¦¿à¦¨ ডলার",
+ "symbol": "US$"
+ },
+ "MVR": {
+ "name": "মালদিভিয়ান রà§à¦«à¦¿à¦¯à¦¼à¦¾",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "মালয়েশিয়ান রিঙà§à¦—িৎ",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "মালাউইয়ান কওয়াচ",
+ "symbol": "MWK"
+ },
+ "EGP": {
+ "name": "মিশরীয় পাউনà§à¦¡",
+ "symbol": "EGP"
+ },
+ "MZN": {
+ "name": "মোজামà§à¦¬à¦¿à¦• মেটিকেল",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "মোরোকà§à¦•à¦¾à¦¨ দিরহাম",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "মোলà§à¦¡à§‹à¦­à¦¾à¦¨ লেয়à§",
+ "symbol": "MDL"
+ },
+ "MRO": {
+ "name": "মৌরিতানিয়ান ওউগà§à¦‡à¦¯à¦¼à¦¾",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "মৌরিতানিয়ান রà§à¦ªà¦¿",
+ "symbol": "MUR"
+ },
+ "MOP": {
+ "name": "মà§à¦¯à¦¾à¦•à§à¦¯à¦¾à¦“ পাটাকা",
+ "symbol": "MOP"
+ },
+ "MXN": {
+ "name": "মà§à¦¯à¦¾à¦•à§à¦¸à¦¿à¦•à¦¾à¦¨ পেসো",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "মà§à¦¯à¦¾à¦¸à§‡à¦¡à§‹à¦¨à¦¿à¦¯à¦¼à¦¾à¦¨ দিনার",
+ "symbol": "MKD"
+ },
+ "RUB": {
+ "name": "রাশিয়ান রà§à¦¬à§‡à¦²",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "রà§à¦®à¦¾à¦¨à¦¿à¦¯à¦¼à¦¾ লেয়à§",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "রà§à¦¯à¦¼à¦¾à¦¨à§à¦¡à¦¾à¦¨ ফà§à¦°à¦¾à¦™à§à¦•",
+ "symbol": "RWF"
+ },
+ "LRD": {
+ "name": "লাইবেরিয়ান ডলার",
+ "symbol": "LRD"
+ },
+ "LTL": {
+ "name": "লিথà§à¦‡à¦¨à¦¿à¦¯à¦¼à¦¾à¦¨ লিটা",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "লিবিয়ান ডলার",
+ "symbol": "LYD"
+ },
+ "LAK": {
+ "name": "লেউশান কিপ",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "লেবানিজ পাউনà§à¦¡",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "লেসà§à¦Ÿà§ লোটি",
+ "symbol": "LSL"
+ },
+ "LKR": {
+ "name": "শà§à¦°à§€à¦²à¦™à§à¦•à¦¾à¦¨ রà§à¦ªà¦¿",
+ "symbol": "LKR"
+ },
+ "AED": {
+ "name": "সংযà§à¦•à§à¦¤ আরব আমিরাত দিরহাম",
+ "symbol": "AED"
+ },
+ "SBD": {
+ "name": "সলোমন দà§à¦¬à§€à¦ªà¦ªà§à¦žà§à¦œ ডলার",
+ "symbol": "SBD"
+ },
+ "STD": {
+ "name": "সাও টোমে à¦à¦¬à¦‚ পà§à¦°à¦¿à¦¨à§à¦¸à¦¿à¦ªà§‡ ডোবরা",
+ "symbol": "STD"
+ },
+ "WST": {
+ "name": "সামোয়ান টালা",
+ "symbol": "WST"
+ },
+ "RSD": {
+ "name": "সারবিয়ান দিনার",
+ "symbol": "RSD"
+ },
+ "XAF": {
+ "name": "সিà¦à¦«à¦ ফà§à¦°à§à¦¯à¦¾à¦™à§à¦• বিইà¦à¦¸à¦¿",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "সিà¦à¦«à¦ ফà§à¦°à§à¦¯à¦¾à¦™à§à¦• বিসিইà¦à¦“",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "সিà¦à¦«à¦ªà¦¿ ফà§à¦°à§à¦¯à¦¾à¦™à§à¦•",
+ "symbol": "CFPF"
+ },
+ "SGD": {
+ "name": "সিঙà§à¦—াপà§à¦° ডলার",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "সিয়েরালিয়ন লিয়ন",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "সিরিয়ান পাউনà§à¦¡",
+ "symbol": "SYP"
+ },
+ "SEK": {
+ "name": "সà§à¦‡à¦¡à¦¿à¦¶ কà§à¦°à§‹à¦¨à¦¾",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "সà§à¦‡à¦¸ ফà§à¦°à¦¾à¦™à§à¦•",
+ "symbol": "CHF"
+ },
+ "SDG": {
+ "name": "সà§à¦¦à¦¾à¦¨à¦¿ পাউনà§à¦¡",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "সà§à¦°à¦¿à¦¨à¦¾à¦® ডলার",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "সেনà§à¦Ÿ হেলেনা পাউনà§à¦¡",
+ "symbol": "SHP"
+ },
+ "SCR": {
+ "name": "সেয়চেলà§à¦²à§‹à¦‡à¦¸ রà§à¦ªà¦¿",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "সোমালি শিলিং",
+ "symbol": "SOS"
+ },
+ "SZL": {
+ "name": "সোয়াজিলà§à¦¯à¦¾à¦¨à§à¦¡ লিলাঙà§à¦—েনি",
+ "symbol": "SZL"
+ },
+ "SAR": {
+ "name": "সৌদি রিয়à§à¦¯à¦¾à¦²",
+ "symbol": "SAR"
+ },
+ "HKD": {
+ "name": "হংকং ডলার",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "হনà§à¦¡à§à¦°à¦¾à¦¸ লেমà§à¦ªà¦¿à¦°à¦¾",
+ "symbol": "HNL"
+ },
+ "HTG": {
+ "name": "হাইতি গৌরà§à¦¦à§‡",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "হাঙà§à¦—েরিয়ান ফোরিনà§à¦Ÿ",
+ "symbol": "HUF"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/bo.json b/library/intl/resources/currency/bo.json
new file mode 100644
index 000000000..46970dd56
--- /dev/null
+++ b/library/intl/resources/currency/bo.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "EUR",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "CNY": {
+ "name": "ཡུ་ཨན་",
+ "symbol": "Â¥"
+ },
+ "INR": {
+ "name": "རྒྱ་གར་སྒོར་མོ་",
+ "symbol": "₹"
+ },
+ "USD": {
+ "name": "ཨ་རིའི་སྒོར་མོà¼",
+ "symbol": "US$"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/br.json b/library/intl/resources/currency/br.json
new file mode 100644
index 000000000..556fd5444
--- /dev/null
+++ b/library/intl/resources/currency/br.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghani Afghanistan",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariary Madagaskar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "baht Thailand",
+ "symbol": "THB"
+ },
+ "PAB": {
+ "name": "balboa Panamá",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "birr Etiopia",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolivar Venezuela",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano Bolivia",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi Ghana",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "colón Costa Rica",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón Salvador",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "cordoba Nicaragua",
+ "symbol": "NIO"
+ },
+ "GMD": {
+ "name": "dalasi Gambia",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "denar Makedonia",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "dinar Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar Bahrein",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar Iraq",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar Jordania",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar Koweit",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar Libia",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "dinar Serbia",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar Tunizia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dirham EAU",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirham Maroko",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra São Tomé ha Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dollar Aostralia",
+ "symbol": "$A"
+ },
+ "BSD": {
+ "name": "dollar Bahamas",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dollar Barbados",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dollar Belize",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "dollar Bermuda",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "dollar Brunei",
+ "symbol": "BND"
+ },
+ "FJD": {
+ "name": "dollar Fidji",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dollar Guyana",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dollar Hong Kong",
+ "symbol": "$ HK"
+ },
+ "KYD": {
+ "name": "dollar Inizi Cayman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "dollar Inizi Salomon",
+ "symbol": "SBD"
+ },
+ "JMD": {
+ "name": "dollar Jamaika",
+ "symbol": "JMD"
+ },
+ "CAD": {
+ "name": "dollar Kanada",
+ "symbol": "$CA"
+ },
+ "XCD": {
+ "name": "dollar Karib ar reter",
+ "symbol": "EC$"
+ },
+ "LRD": {
+ "name": "dollar Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dollar Namibia",
+ "symbol": "NAD"
+ },
+ "TWD": {
+ "name": "dollar nevez Taiwan",
+ "symbol": "NT$"
+ },
+ "SGD": {
+ "name": "dollar Singapour",
+ "symbol": "SGD"
+ },
+ "USD": {
+ "name": "dollar SU",
+ "symbol": "$ SU"
+ },
+ "SRD": {
+ "name": "dollar Surinam",
+ "symbol": "SRD"
+ },
+ "TTD": {
+ "name": "dollar Trinidad ha Tobago",
+ "symbol": "TTD"
+ },
+ "NZD": {
+ "name": "dollar Zeland-Nevez",
+ "symbol": "$ ZN"
+ },
+ "ZWL": {
+ "name": "dollar Zimbabwe (2009)",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong Viêt Nam",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "dram Armenia",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo Kab Glas",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "florin Antilhez nederlandat",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "florin Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "forint Hungaria",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "gourde Haiti",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "guarani Paraguay",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "hryvnia Ukraina",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "kina Papoua Ginea-Nevez",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip Laos",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "kuna Kroatia",
+ "symbol": "HRK"
+ },
+ "DKK": {
+ "name": "kurunenn Danmark",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "kurunenn Island",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "kurunenn Norvegia",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "kurunenn Sveden",
+ "symbol": "SEK"
+ },
+ "CZK": {
+ "name": "kurunenn Tchek",
+ "symbol": "CZK"
+ },
+ "MWK": {
+ "name": "kwacha Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza Angola",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "kyat Myanmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "lari Jorjia",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek Albania",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leone Sierra Leone",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu Moldova",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu Roumania",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "lev Bulgaria",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "lilangeni Swaziland",
+ "symbol": "SZL"
+ },
+ "LTL": {
+ "name": "litas Lituania",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti Lesotho",
+ "symbol": "LSL"
+ },
+ "BIF": {
+ "name": "lur Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "lur CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "lur CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "lur CFP",
+ "symbol": "CFPF"
+ },
+ "DJF": {
+ "name": "lur Djibouti",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "lur Egipt",
+ "symbol": "EGP"
+ },
+ "GNF": {
+ "name": "lur Ginea",
+ "symbol": "GNF"
+ },
+ "FKP": {
+ "name": "lur Inizi Falkland",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "lur Jibraltar",
+ "symbol": "GIP"
+ },
+ "KMF": {
+ "name": "lur Komorez",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "lur Kongo",
+ "symbol": "CDF"
+ },
+ "LBP": {
+ "name": "lur Liban",
+ "symbol": "LBP"
+ },
+ "RWF": {
+ "name": "lur Rwanda",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "lur Saint-Helena",
+ "symbol": "SHP"
+ },
+ "SYP": {
+ "name": "lur Siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "lur Soudan",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "lur sterling Breizh-Veur",
+ "symbol": "£ RU"
+ },
+ "CHF": {
+ "name": "lur Suis",
+ "symbol": "CHF"
+ },
+ "SSP": {
+ "name": "lur Susoudan",
+ "symbol": "SSP"
+ },
+ "TRY": {
+ "name": "lur Turkia",
+ "symbol": "TRY"
+ },
+ "AZN": {
+ "name": "manat Azerbaidjan",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat Turkmenistan",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "mark kemmadus Bosnia ha Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical Mozambik",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira Nigeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa Eritrea",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "ngultrum Bhoutan",
+ "symbol": "BTN"
+ },
+ "PEN": {
+ "name": "nuevo sol Perou",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "ouguiya Maouritania",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "paʻanga Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca Macau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso Arcʼhantina",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso Chile",
+ "symbol": "CLP"
+ },
+ "DOP": {
+ "name": "peso Dominikan",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso Filipinez",
+ "symbol": "PHP"
+ },
+ "CUC": {
+ "name": "peso kemmadus Kuba",
+ "symbol": "CUC"
+ },
+ "COP": {
+ "name": "peso Kolombia",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso Kuba",
+ "symbol": "CUP"
+ },
+ "MXN": {
+ "name": "peso Mecʼhiko",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "peso Uruguay",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand Suafrika",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real Brazil",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "rial Iran",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial Oman",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "rial Qatar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "rial Yemen",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel Kambodja",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringgit Malaysia",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "riyal Arabia Saoudat",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "roubl Belarus",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "roubl Rusia",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "roupi India",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "roupi Indonezia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "roupi Moris",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "roupi Nepal",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "roupi Pakistan",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "roupi Sechelez",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "roupi Sri Lanka",
+ "symbol": "LKR"
+ },
+ "MVR": {
+ "name": "rufiyaa Maldivez",
+ "symbol": "MVR"
+ },
+ "ILS": {
+ "name": "shekel nevez Israel",
+ "symbol": "₪"
+ },
+ "KES": {
+ "name": "shilling Kenya",
+ "symbol": "KES"
+ },
+ "UGX": {
+ "name": "shilling Ouganda",
+ "symbol": "UGX"
+ },
+ "SOS": {
+ "name": "shilling Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "shilling Tanzania",
+ "symbol": "TZS"
+ },
+ "KGS": {
+ "name": "som Kyrgyzstan",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "som Ouzbekistan",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "somoni Tadjikistan",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "taka Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala Samoa",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge Kazakstan",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik Mongolia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "vatu Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won Korea an Norzh",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won Korea ar Su",
+ "symbol": "â‚©"
+ },
+ "JPY": {
+ "name": "yen Japan",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "yuan Sina",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "zloty Polonia",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/brx.json b/library/intl/resources/currency/brx.json
new file mode 100644
index 000000000..f391c009c
--- /dev/null
+++ b/library/intl/resources/currency/brx.json
@@ -0,0 +1,634 @@
+{
+ "XAF": {
+ "name": "(सीà¤à¤«à¤¼à¤) फà¥à¤°à¤¾à¤¨à¤¸à¥€à¤¸à¥€ फेदरेशनी फà¥à¤°à¤¾à¤",
+ "symbol": "FCFA"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AFN": {
+ "name": "अफ़ग़ानी",
+ "symbol": "AFN"
+ },
+ "USD": {
+ "name": "अमरिकी डॉलर",
+ "symbol": "US$"
+ },
+ "AWG": {
+ "name": "अरà¥à¤¬à¤¾ गीलà¥à¤¡à¤°",
+ "symbol": "AWG"
+ },
+ "ARS": {
+ "name": "अरà¥à¤œà¥‡à¤£à¥à¤Ÿà¥€à¤¨à¥€ पेसो",
+ "symbol": "ARS"
+ },
+ "ISK": {
+ "name": "आईसलैणà¥à¤¡ कà¥à¤°à¥‹à¤¨à¤¾",
+ "symbol": "ISK"
+ },
+ "AZN": {
+ "name": "आज़रबैजानी मनात",
+ "symbol": "AZN"
+ },
+ "AMD": {
+ "name": "आरमिनियाई दिरà¥à¤¹à¤¾à¤®",
+ "symbol": "AMD"
+ },
+ "DZD": {
+ "name": "आलà¥à¤œà¥€à¤°à¥€ दीनार",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "आलà¥à¤¬à¥‡à¤¨à¤¿à¤¯à¤¾ का लेक",
+ "symbol": "ALL"
+ },
+ "IDR": {
+ "name": "इणà¥à¤¡à¥‹à¤¨à¥‡à¤¶à¤¿à¤¯à¤¾à¤ˆ रà¥à¤ªà¤¿à¤¯à¤¾",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "इसà¥à¤°à¤¾à¤‡à¤²à¥€ शेकेल",
+ "symbol": "₪"
+ },
+ "ETB": {
+ "name": "ईथिओपिया का बीरà¥à¤°",
+ "symbol": "ETB"
+ },
+ "IQD": {
+ "name": "ईराक़ी दीनार",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ईरानी रीयाल",
+ "symbol": "IRR"
+ },
+ "XCD": {
+ "name": "ईसà¥à¤Ÿ करिबियन डॉलर",
+ "symbol": "EC$"
+ },
+ "UZS": {
+ "name": "ऊज़बेक सà¥à¤®",
+ "symbol": "UZS"
+ },
+ "KPW": {
+ "name": "ऊतà¥à¤¤à¤° कोरियाई वोन",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "ऊरà¥à¤—à¥à¤ का ऊरà¥à¤—à¥à¤†à¤¯à¥‹ पेसो",
+ "symbol": "UYU"
+ },
+ "AOA": {
+ "name": "à¤à¤‚गोला कà¥à¤µà¤¾à¤¨à¤œà¤¼à¤¾",
+ "symbol": "AOA"
+ },
+ "SVC": {
+ "name": "à¤à¤² सालवादर कोलोन",
+ "symbol": "SVC"
+ },
+ "ERN": {
+ "name": "à¤à¤°à¤¿à¤¤à¥à¤°à¥€à¤¯à¤¾ का नाफ़का",
+ "symbol": "ERN"
+ },
+ "AUD": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¨ डॉलर",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "ओमानी रियाल",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "क़तारी रीयाल",
+ "symbol": "QAR"
+ },
+ "CAD": {
+ "name": "कनेडियन डॉलर",
+ "symbol": "CA$"
+ },
+ "KHR": {
+ "name": "कंबोडिया का रिà¤à¤²",
+ "symbol": "KHR"
+ },
+ "KZT": {
+ "name": "क़ाज़ाख़सà¥à¤¤à¤¾à¤¨ तेंगे",
+ "symbol": "KZT"
+ },
+ "CVE": {
+ "name": "काप वेरà¥à¤¦à¥‡ का à¤à¤¸à¥à¤•à¥à¤¦à¥‹",
+ "symbol": "CVE"
+ },
+ "KES": {
+ "name": "किनियाई शीलींग",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "क़ीरà¥à¤—़ीज़सà¥à¤¤à¤¾à¤¨à¥€ सोम",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "क़à¥à¤µà¥ˆà¤¤à¥€ दीनार",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "कैमान दà¥à¤µà¥€à¤ª का डॉलर",
+ "symbol": "KYD"
+ },
+ "CDF": {
+ "name": "कॉंगोलीज़ फà¥à¤°à¤¾à¤",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "कॉसà¥à¤Ÿà¤¾ रीका का कोलोन",
+ "symbol": "CRC"
+ },
+ "KMF": {
+ "name": "कोमोरो का फà¥à¤°à¤¾à¤",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "कोलमà¥à¤¬à¤¿à¤¯à¤¾à¤ˆ पेसो",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "कà¥à¤¯à¥à¤¬à¤¾ का पेसो",
+ "symbol": "CUP"
+ },
+ "HRK": {
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾à¤ˆ कà¥à¤¨à¤¾",
+ "symbol": "HRK"
+ },
+ "GMD": {
+ "name": "गाà¤à¤¬à¤¿à¤¯à¤¾ का दलासी",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "गीनी फà¥à¤°à¤¾à¤",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "गà¥à¤¯à¤¾à¤¨à¤¾ डॉलर",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "गà¥à¤µà¤¾à¤¤à¥‡à¤®à¤¾à¤²à¤¾ क़à¥à¤µà¥‡à¤¤à¥à¤œà¤¼à¤¾à¤²",
+ "symbol": "GTQ"
+ },
+ "GHS": {
+ "name": "घाना चेदी",
+ "symbol": "GHS"
+ },
+ "CLP": {
+ "name": "चिली पेसो",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "चीनी यà¥à¤†à¤¨ रेनमीनबी",
+ "symbol": "CNÂ¥"
+ },
+ "CZK": {
+ "name": "चेक गनतंतà¥à¤° का कोरà¥à¤¨à¤¾",
+ "symbol": "CZK"
+ },
+ "JMD": {
+ "name": "जमाईका का डॉलर",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "जापानी येन",
+ "symbol": "JPÂ¥"
+ },
+ "ZMW": {
+ "name": "ज़ामà¥à¤¬à¤¿à¤¯à¤¾à¤ˆ कà¥à¤µà¤¾à¤šà¤¾",
+ "symbol": "ZMW"
+ },
+ "DJF": {
+ "name": "जीबà¥à¤¤à¥€ फà¥à¤°à¤¾à¤",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "जीबà¥à¤°à¤¾à¤²à¤Ÿà¤° का पौणà¥à¤¡",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "जॉरà¥à¤œà¤¿à¤¯à¤¾ का लारी",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "जोरà¥à¤¡à¤¨à¥€ दीनार",
+ "symbol": "JOD"
+ },
+ "TOP": {
+ "name": "टॉंगा पाईंगा",
+ "symbol": "TOP"
+ },
+ "DKK": {
+ "name": "डेनमारà¥à¤• का कà¥à¤°à¥‹à¤¨",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "डॉमीनीकन पेसो",
+ "symbol": "DOP"
+ },
+ "TWD": {
+ "name": "ताईवानी नया डॉलर",
+ "symbol": "NT$"
+ },
+ "TJS": {
+ "name": "ताजीक़ीसà¥à¤¤à¤¾à¤¨à¥€ सोमोनी",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "तानà¥à¤œà¤¼à¥‡à¤¨à¤¿à¤¯à¤¾à¤ˆ शीलींग",
+ "symbol": "TZS"
+ },
+ "TRY": {
+ "name": "तà¥à¤°à¥à¤•à¥€ नया लीरा",
+ "symbol": "TRY"
+ },
+ "TND": {
+ "name": "तà¥à¤¯à¥à¤¨à¥€à¤¸à¥€ दीनर",
+ "symbol": "TND"
+ },
+ "TTD": {
+ "name": "तà¥à¤°à¥€à¤¨à¥€à¤¦à¤¾à¤¦ à¤à¤µà¤‚ टोबागो डॉलर",
+ "symbol": "TTD"
+ },
+ "THB": {
+ "name": "थाई बाहà¥à¤Ÿ",
+ "symbol": "THB"
+ },
+ "ZAR": {
+ "name": "दकà¥à¤·à¤¿à¤£ अफ़à¥à¤°à¥€à¤•à¥€ रॅणà¥à¤¡",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "दकà¥à¤·à¤¿à¤£ कोरियाई वोन",
+ "symbol": "â‚©"
+ },
+ "NAD": {
+ "name": "नमीबिया डॉलर",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "नाईजीरीयाई नाईरा",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "नीकारागà¥à¤†à¤ˆ सà¥à¤µà¤°à¥à¤£ कोरà¥à¤¦à¥‹à¤¬à¤¾",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "नेदरलैणà¥à¤¡ à¤à¤¨à¥à¤Ÿà¥€à¤²à¥€à¤œà¤¼ का गीलà¥à¤¡à¤°",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "नेपाली रà¥à¤ªà¥€",
+ "symbol": "NPR"
+ },
+ "NOK": {
+ "name": "नॉरà¥à¤µà¥‡ का कà¥à¤°à¥‹à¤¨",
+ "symbol": "NOK"
+ },
+ "NZD": {
+ "name": "नà¥à¤¯à¥‚ज़ीलैंड डॉलर",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "पनामा का बालबोआ",
+ "symbol": "PAB"
+ },
+ "PKR": {
+ "name": "पाकिसà¥à¤¤à¤¾à¤¨à¥€ रà¥à¤ªà¤¯à¤¾",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "पापà¥à¤† नà¥à¤¯à¥ गीनी का कीना",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "पारागà¥à¤à¤ˆ गà¥à¤†à¤°à¤¾à¤¨à¥€",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "पेरà¥à¤µà¤¾à¤ˆ नया सोल",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "पोलिश ज़à¥à¤²à¥‰à¤Ÿà¥€",
+ "symbol": "PLN"
+ },
+ "FKP": {
+ "name": "फालà¥à¤•à¤²à¥ˆà¤£à¥à¤¡ दà¥à¤µà¥€à¤ª पौणà¥à¤¡",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "फ़िजी का डॉलर",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "फ़िलिपीन का पेसो",
+ "symbol": "PHP"
+ },
+ "XPF": {
+ "name": "फà¥à¤°à¤¾à¤¨à¤¸à¥€à¤¸à¥€ फेदेरेशनी फà¥à¤°à¤¾à¤",
+ "symbol": "CFPF"
+ },
+ "XOF": {
+ "name": "फà¥à¤°à¤¾à¤¨à¤¸à¥€à¤¸à¥€ फेदेरेशनी बीसीà¤à¤†à¤“ फà¥à¤°à¤¾à¤",
+ "symbol": "CFA"
+ },
+ "BMD": {
+ "name": "बरमà¥à¤¡à¥€ डॉलर",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "बलà¥à¤—ेरियाई लेव",
+ "symbol": "BGN"
+ },
+ "BSD": {
+ "name": "बहामा डॉलर",
+ "symbol": "BSD"
+ },
+ "BDT": {
+ "name": "बांगलादेश टका",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "बारबादोस डॉलर",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "बाहरैनी दीनार",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "बà¥à¤°à¥à¤‚दी फà¥à¤°à¤¾à¤",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "बेलारà¥à¤¸à¥€ रूबल",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "बेलीज़ डॉलर",
+ "symbol": "BZD"
+ },
+ "BWP": {
+ "name": "बोटà¥à¤¸à¤µà¤¾à¤¨à¤¾ का पà¥à¤²à¤¾à¤Ÿ",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "बोलिवियानो",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "बोसनिया हेरà¥à¤œà¤¼à¥‡à¤—ोविना कनवरà¥à¤Ÿà¥€à¤¬à¤² मारà¥à¤•",
+ "symbol": "BAM"
+ },
+ "BRL": {
+ "name": "बà¥à¤°à¤œà¤¼à¥€à¤²à¥€ रेयाल",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "बà¥à¤°à¤¿à¤¤à¤¨ का पौणà¥à¤¡ सà¥à¤Ÿà¤°à¥à¤²à¤¿à¤—",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "बà¥à¤°à¥à¤¨à¤ˆ डॉलर",
+ "symbol": "BND"
+ },
+ "BTN": {
+ "name": "भà¥à¤¤à¤¾à¤¨ का नगà¥à¤²à¤¤à¥à¤°à¥à¤®",
+ "symbol": "BTN"
+ },
+ "MYR": {
+ "name": "मलेशियन रिंगित",
+ "symbol": "MYR"
+ },
+ "MKD": {
+ "name": "मसेदोनियाई दीनार",
+ "symbol": "MKD"
+ },
+ "MOP": {
+ "name": "माकाव पाताचा",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "मादागासà¥à¤•à¤°à¥€ आरिआरी",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "मालदीव दà¥à¤µà¥€à¤ª का रूफिया",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "मालवी कà¥à¤µà¤¾à¤šà¤¾",
+ "symbol": "MWK"
+ },
+ "EGP": {
+ "name": "मिसà¥à¤°à¥€ पाउणà¥à¤¡",
+ "symbol": "EGP"
+ },
+ "MXN": {
+ "name": "मेकà¥à¤¸à¤¿à¤•à¤¨ पेसो",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "मोज़ांबीक मेतीकाल",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "मोरकà¥à¤•à¤¿à¤¯ दिरà¥à¤¹à¤¾à¤®",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "मोरिशियस का रूपी",
+ "symbol": "MUR"
+ },
+ "MDL": {
+ "name": "मोलà¥à¤¡à¥‹à¤µà¤¿à¤¯à¤¾à¤ˆ ल",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "मौंगोलीयाई तà¥à¤—à¥à¤°à¥€à¤•",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "मौरिटानी ऊगà¥à¤¯à¤¾",
+ "symbol": "MRO"
+ },
+ "MMK": {
+ "name": "मà¥à¤¯à¤¾à¤¨à¤®à¤¾à¤°à¥€ कà¥à¤¯à¤¾à¤Ÿ",
+ "symbol": "MMK"
+ },
+ "YER": {
+ "name": "यमनी रीयाल",
+ "symbol": "YER"
+ },
+ "UAH": {
+ "name": "यà¥à¤•à¥à¤°à¥‡à¤¨à¥€ हà¥à¤°à¥€à¤µà¤¨à¤¿à¤¯à¤¾",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "यà¥à¤—ाà¤à¤¡à¤¾à¤ˆ शीलींग",
+ "symbol": "UGX"
+ },
+ "EUR": {
+ "name": "यà¥à¤°à¥‹",
+ "symbol": "€"
+ },
+ "INR": {
+ "name": "रां",
+ "symbol": "₹"
+ },
+ "RWF": {
+ "name": "रà¥à¤†à¤à¤¦à¤¾ फà¥à¤°à¤¾à¤",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "रूसी रूबल",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "रोमानियाई ल",
+ "symbol": "RON"
+ },
+ "LSL": {
+ "name": "लसोथो का लोटी",
+ "symbol": "LSL"
+ },
+ "LAK": {
+ "name": "लाओस का कीप",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¾à¤ˆ लिता",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "लिबियाई दीनार",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "लीबानी पौंड",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "लीबेरियाई डॉलर",
+ "symbol": "LRD"
+ },
+ "VUV": {
+ "name": "वनà¥à¤†à¤Ÿà¥ वटà¥",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "वीयतनामी डॉंग",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "वेनेज़à¥à¤à¤²à¤¾à¤ˆ बोलिवार",
+ "symbol": "VEF"
+ },
+ "WST": {
+ "name": "वेसà¥à¤Ÿà¤°à¥à¤¨ समोआ ताला",
+ "symbol": "WST"
+ },
+ "LKR": {
+ "name": "शà¥à¤°à¥€ लंका रूपी",
+ "symbol": "LKR"
+ },
+ "AED": {
+ "name": "संयà¥à¤•à¥à¤¤ अरब अमीरात का दिरà¥à¤¹à¤¾à¤®",
+ "symbol": "AED"
+ },
+ "RSD": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾à¤ˆ दिनार",
+ "symbol": "RSD"
+ },
+ "SAR": {
+ "name": "साउदी रियाल",
+ "symbol": "SAR"
+ },
+ "STD": {
+ "name": "साà¤à¤µ तोमे à¤à¤µà¤‚ पà¥à¤°à¥€à¤¨à¥à¤¸à¥€à¤ªà¥‡ का डोबà¥à¤°à¤¾",
+ "symbol": "STD"
+ },
+ "SGD": {
+ "name": "सिंगापà¥à¤° डॉलर",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "सीयेरा लीयोनेई लीयोने",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "सीरियाई पौंड",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "सà¥à¤¦à¤¾à¤¨à¥€ पौंड",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "सà¥à¤°à¥€à¤¨à¤¾à¤® डॉलर",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "सेंट हेलीना पौंड",
+ "symbol": "SHP"
+ },
+ "SCR": {
+ "name": "सेशेल रूपी",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "सोमाली शीलींग",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "सोलोमन दà¥à¤µà¥€à¤ª का डॉलर",
+ "symbol": "SBD"
+ },
+ "SZL": {
+ "name": "सà¥à¤µà¤¾à¤œà¤¼à¥€à¤²à¥ˆà¤£à¥à¤¡ लीलांगेनी",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "सà¥à¤µà¤¿à¤¸ फ़à¥à¤°à¥ˆà¤‚क",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "सà¥à¤µà¥€à¤¡à¤¨ कà¥à¤°à¥‹à¤¨à¤¾",
+ "symbol": "SEK"
+ },
+ "HUF": {
+ "name": "हंगेरियाई फ़ोरिणà¥à¤Ÿ",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "हाईती गà¥à¤°à¥à¤¦",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "हाà¤à¤— काà¤à¤— डॉलर",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "हॉंडà¥à¤°à¤¾à¤¸ लेंपीरा",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/bs-Cyrl.json b/library/intl/resources/currency/bs-Cyrl.json
new file mode 100644
index 000000000..87889b7e6
--- /dev/null
+++ b/library/intl/resources/currency/bs-Cyrl.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "CFA франак BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA франак BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP франак",
+ "symbol": "CFPF"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "AFN": {
+ "name": "ÐвганиÑтанÑки авган",
+ "symbol": "AFN"
+ },
+ "AZN": {
+ "name": "ÐзербејџанÑки манат",
+ "symbol": "AZN"
+ },
+ "ALL": {
+ "name": "ÐлбанÑки лек",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "ÐлжирÑки динар",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "Ðмерички долар",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "анголÑка кванза",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "аргентинÑки пезо",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "ÐрубанÑки флорин",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "ÐуÑтралијÑки долар",
+ "symbol": "A$"
+ },
+ "BDT": {
+ "name": "Бангладешка така",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Барбадошки долар",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "БахамÑки долар",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "БахреинÑки динар",
+ "symbol": "BHD"
+ },
+ "BZD": {
+ "name": "Белизе долар",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "БелоруÑка рубља",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "БермудÑки долар",
+ "symbol": "BMD"
+ },
+ "BOB": {
+ "name": "БоливијÑки Боливиано",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "БоцванÑка пула",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "БразилÑки Реал",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "БританÑка фунта Ñтерлинга",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "БрунејÑки долар",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "БугарÑки лев",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "БурундÑки франак",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "БутанÑки нгултрум",
+ "symbol": "BTN"
+ },
+ "VUV": {
+ "name": "ВануатÑки вату",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "ВенецуеланÑки боливар",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "ВијетнамÑки донг",
+ "symbol": "â‚«"
+ },
+ "GMD": {
+ "name": "ГамбијÑки далаÑи",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ГанÑки цеди",
+ "symbol": "GHS"
+ },
+ "GTQ": {
+ "name": "ГватемалÑки квецал",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "ГвинејÑки франак",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "Гибралташка фунта",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "ГрузијÑки лари",
+ "symbol": "GEL"
+ },
+ "GYD": {
+ "name": "ГујанÑки долар",
+ "symbol": "GYD"
+ },
+ "DKK": {
+ "name": "ДанÑка круна",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ДоминиканÑки пезо",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "ЕгипатÑка фунта",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ЕритреанÑка накфа",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "етиопијÑки бир",
+ "symbol": "ETB"
+ },
+ "ZMW": {
+ "name": "ЗамбијÑка квача",
+ "symbol": "ZMW"
+ },
+ "CVE": {
+ "name": "ЗеленортÑки еÑкудо",
+ "symbol": "CVE"
+ },
+ "ZWL": {
+ "name": "ЗимбабвеанÑки долар (2009)",
+ "symbol": "ZWL"
+ },
+ "ILS": {
+ "name": "ИзраелÑки нови шекел",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "ИндијÑки Рупи",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "ИндонезијÑка рупиа",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "ИранÑки риал",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Ирачки динар",
+ "symbol": "IQD"
+ },
+ "ISK": {
+ "name": "ИÑландÑка круна",
+ "symbol": "ISK"
+ },
+ "XCD": {
+ "name": "ИÑточно-карибÑки долар",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "ЈамајÑки долар",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "ЈапанÑки јен",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "ЈеменÑки риал",
+ "symbol": "YER"
+ },
+ "AMD": {
+ "name": "ЈерменÑки драм",
+ "symbol": "AMD"
+ },
+ "JOD": {
+ "name": "ЈорданÑки динар",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "Јужно-афрички ранд",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "ЈужнокорејÑки Вон",
+ "symbol": "â‚©"
+ },
+ "KZT": {
+ "name": "КазахÑтанÑки тенџ",
+ "symbol": "KZT"
+ },
+ "KYD": {
+ "name": "КајманÑка оÑтрва долар",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "КамбоџијÑки риел",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "КанадÑки долар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Катаршки ријал",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "КенијÑки шилинг",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "КинеÑки јуан ренминби",
+ "symbol": "CNÂ¥"
+ },
+ "KGS": {
+ "name": "КиргиÑтанÑки Ñом",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "КолумбијÑки пезо",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "КоморÑки франак",
+ "symbol": "KMF"
+ },
+ "BAM": {
+ "name": "Конвертибилна марка",
+ "symbol": "КМ"
+ },
+ "CDF": {
+ "name": "КонголÑки франак",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "КоÑтариканÑки колон",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "кубанÑки конвертибилни пеÑо",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "КубанÑки пезо",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "КувајтÑки динар",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Лаошки кип",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "ЛебанÑка фунта",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "ЛеÑото лоти",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "ЛиберијÑки долар",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "ЛибијÑки динар",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "ЛитванÑки литаÑ",
+ "symbol": "LTL"
+ },
+ "HUF": {
+ "name": "МађарÑка форинта",
+ "symbol": "HUF"
+ },
+ "MOP": {
+ "name": "Маканишка патака",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "МакедонÑки денар",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "МалавијÑка квача",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "МалагаÑијÑки ариари",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "МалдивијÑка руфија",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "МалезијÑки ринггит",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "МароканÑки дирхам",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "МауританијÑка угвија",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "МаурицијÑки рупи",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "МекÑички пезо",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Мјанмашки кјат",
+ "symbol": "MMK"
+ },
+ "MZN": {
+ "name": "МозамбијÑки метикал",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "МолдовÑки љу",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "МонголÑки тугрик",
+ "symbol": "MNT"
+ },
+ "NAD": {
+ "name": "намбијÑки долар",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "ÐепалÑки рупи",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ÐигеријÑка наира",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "ÐикарагванÑка златна кордоба",
+ "symbol": "NIO"
+ },
+ "TWD": {
+ "name": "Ðови тајванÑки долар",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ÐовозеландÑки долар",
+ "symbol": "NZ$"
+ },
+ "NOK": {
+ "name": "Ðорвешка круна",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "ОманÑки ријал",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "ПакиÑтанÑки рупи",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "ПанамÑка балбоа",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Папуа ново-гвинејшка кина",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "ПарагвајÑки гуарни",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "ПеруанÑки нуево Ñол",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "ПољÑки злот",
+ "symbol": "зл"
+ },
+ "RWF": {
+ "name": "РуанданÑки франак",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "РумунÑки леу",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "РуÑка рубља",
+ "symbol": "RUB"
+ },
+ "SVC": {
+ "name": "СалвадорÑки колон",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "СамоанÑка тала",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Сао Томе и Принципе добра",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "СаудијÑки ријал",
+ "symbol": "SAR"
+ },
+ "SHP": {
+ "name": "Св. јеленÑка фунта",
+ "symbol": "SHP"
+ },
+ "SZL": {
+ "name": "Свази лилангени",
+ "symbol": "SZL"
+ },
+ "KPW": {
+ "name": "СевернокорејÑки вон",
+ "symbol": "KPW"
+ },
+ "SCR": {
+ "name": "СејшелÑка рупија",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Сијера-леоншки леоне",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "СингапурÑки долар",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "СиријÑка фунта",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "СоломонÑко-оÑтрвÑки долар",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "СОмалијÑки шилинг",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "СрпÑки динар",
+ "symbol": "дин."
+ },
+ "SDG": {
+ "name": "СуданÑка фунта",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "СУринамÑки долар",
+ "symbol": "SRD"
+ },
+ "THB": {
+ "name": "Таи бахт",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "ТаљихиÑтанÑки Ñомони",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "ТанзанијÑки шилинг",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "Тонгоншка Панга",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Тринидад тобагошки долар",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "ТунизијÑки долар",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "ТуркмениÑтанÑки манат",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "ТурÑка лира",
+ "symbol": "Тл"
+ },
+ "UGX": {
+ "name": "УгандÑки шилинг",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "УзбекиÑтанÑки Ñом",
+ "symbol": "UZS"
+ },
+ "AED": {
+ "name": "Уједињени арапÑки емирати дирхам",
+ "symbol": "AED"
+ },
+ "UAH": {
+ "name": "УкрајинÑка хривња",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "УругвајÑки пезо",
+ "symbol": "UYU"
+ },
+ "PHP": {
+ "name": "ФилипинÑки пезо",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "Фиџи долар",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "ФокландÑка оÑтрва фунта",
+ "symbol": "FKP"
+ },
+ "HTG": {
+ "name": "ХаићанÑки гурд",
+ "symbol": "HTG"
+ },
+ "ANG": {
+ "name": "ХоландÑки антили гилдер",
+ "symbol": "ANG"
+ },
+ "HKD": {
+ "name": "Хонгконшки долар",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "Хондурашка лемпира",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "ХрватÑка куна",
+ "symbol": "HRK"
+ },
+ "CZK": {
+ "name": "Чешка круна",
+ "symbol": "Кч"
+ },
+ "CLP": {
+ "name": "ЧилеанÑки пезо",
+ "symbol": "CLP"
+ },
+ "DJF": {
+ "name": "ÐибутанÑки франак",
+ "symbol": "DJF"
+ },
+ "CHF": {
+ "name": "ШвајцарÑки франак",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "ШведÑка круна",
+ "symbol": "SEK"
+ },
+ "LKR": {
+ "name": "ШриланканÑки рупи",
+ "symbol": "LKR"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/bs.json b/library/intl/resources/currency/bs.json
new file mode 100644
index 000000000..e86f73e94
--- /dev/null
+++ b/library/intl/resources/currency/bs.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afganistanski afgan",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanski lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alžirski dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "AmeriÄki dolar",
+ "symbol": "USD"
+ },
+ "AOA": {
+ "name": "Angolska kvanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentinski pezos",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "Arubanski florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australijski dolar",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "Azerbejdžanski manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamski dolar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahreinski dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeška taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadoski dolar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belizeanski dolar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudski dolar",
+ "symbol": "BMD"
+ },
+ "BYR": {
+ "name": "Bjeloruska rublja",
+ "symbol": "BYR"
+ },
+ "BWP": {
+ "name": "Bocvanska pula",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "Bolivijski boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosansko-HercegovaÄka konvertibilna marka",
+ "symbol": "KM"
+ },
+ "BRL": {
+ "name": "Brazilski real",
+ "symbol": "BRL"
+ },
+ "GBP": {
+ "name": "Britanska funta sterlinga",
+ "symbol": "GBP"
+ },
+ "BND": {
+ "name": "Brunejski dolar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bugarski lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundski franak",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "Butanski ngultrum",
+ "symbol": "BTN"
+ },
+ "XOF": {
+ "name": "CFA franak BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA franak BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franak",
+ "symbol": "XPF"
+ },
+ "CZK": {
+ "name": "Češka kruna",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "ÄŒileanski pezos",
+ "symbol": "CLP"
+ },
+ "DKK": {
+ "name": "Danska kruna",
+ "symbol": "DKK"
+ },
+ "AED": {
+ "name": "Dirham Ujedinjenih Arapskih Emirata",
+ "symbol": "AED"
+ },
+ "STD": {
+ "name": "Dobra Sao Toma i Principa",
+ "symbol": "STD"
+ },
+ "DOP": {
+ "name": "Dominikanski pezos",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "Džibutski franak",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "Egipatska funta",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrejska nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Etiopski bir",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "Fidži dolar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filipinski pezos",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "Folklandska funta",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambijski dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Ganski cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltarska funta",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "Gruzijski lari",
+ "symbol": "GEL"
+ },
+ "ANG": {
+ "name": "Gulden Holandskih Antila",
+ "symbol": "ANG"
+ },
+ "GYD": {
+ "name": "Gvajanski dolar",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "Gvatemalski kecal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Gvinejski franak",
+ "symbol": "GNF"
+ },
+ "HTG": {
+ "name": "Haićanski gurd",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduraska lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Honkonški dolar",
+ "symbol": "HKD"
+ },
+ "HRK": {
+ "name": "Hrvatska kuna",
+ "symbol": "kn"
+ },
+ "INR": {
+ "name": "Indijska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonežanska rupija",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "IraÄki dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iranski rijal",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Islandska kruna",
+ "symbol": "ISK"
+ },
+ "XCD": {
+ "name": "IstoÄnokaripski dolar",
+ "symbol": "XCD"
+ },
+ "ILS": {
+ "name": "Izraelski novi Å¡ekel",
+ "symbol": "ILS"
+ },
+ "JMD": {
+ "name": "Jamajski dolar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanski jen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "Jemenski rijal",
+ "symbol": "YER"
+ },
+ "AMD": {
+ "name": "Jermenski dram",
+ "symbol": "AMD"
+ },
+ "JOD": {
+ "name": "Jordanski dinar",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "JužnoafriÄki rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Južnokorejski von",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Južnosudanska funta",
+ "symbol": "SSP"
+ },
+ "KYD": {
+ "name": "Kajmanski dolar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "Kambodžanski rijel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanadski dolar",
+ "symbol": "CAD"
+ },
+ "QAR": {
+ "name": "Katarski rijal",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "Kazahstanski tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenijski Å¡iling",
+ "symbol": "KES"
+ },
+ "PGK": {
+ "name": "Kina Papue Nove Gvineje",
+ "symbol": "PGK"
+ },
+ "CNY": {
+ "name": "Kineski juan",
+ "symbol": "CNY"
+ },
+ "KGS": {
+ "name": "Kirgistanski som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolumbijski pezos",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komorski franak",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongoanski franak",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Kostarikanski kolon",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "Kubanski konvertibilni pezos",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "kubanski pezos",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "Kuvajtski dinar",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Laoski kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesotski loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "Libanska funta",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberijski dolar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libijski dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litvanski litas",
+ "symbol": "LTL"
+ },
+ "HUF": {
+ "name": "Mađarska forinta",
+ "symbol": "HUF"
+ },
+ "MOP": {
+ "name": "Makaonska pataka",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Makedonski denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagaski ariari",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malavska kvaÄa",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Maldivska rufija",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "Malezijski ringit",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "Marokanski dirham",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "Mauricijska rupija",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mauritanijska ugvija",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "MeksiÄki pezos",
+ "symbol": "MXN"
+ },
+ "MMK": {
+ "name": "Mijanmarski kjat",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "Moldavski lev",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolski tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mozambijski metikal",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "Namibijski dolar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalska rupija",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "Nigerijska naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "Nikaragvanska kordoba",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Norveška kruna",
+ "symbol": "NOK"
+ },
+ "TWD": {
+ "name": "Novi tajvanski dolar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Novozelandski dolar",
+ "symbol": "NZD"
+ },
+ "OMR": {
+ "name": "Omanski rijal",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistanska rupija",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamska balboa",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "Paragvajski gvarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruanski novi sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Poljski zlot",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "Ruandski franak",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Rumunski lev",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Ruska rublja",
+ "symbol": "RUB"
+ },
+ "SVC": {
+ "name": "Salvadorski kolon",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoanska tala",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "Saudijski rijal",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Sejšelska rupija",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sijeraleonski leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapurski dolar",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "Sirijska funta",
+ "symbol": "SYP"
+ },
+ "KPW": {
+ "name": "Sjevernokorejski von",
+ "symbol": "KPW"
+ },
+ "SBD": {
+ "name": "Solomonski dolar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somalski Å¡iling",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "Srpski dinar",
+ "symbol": "din."
+ },
+ "SDG": {
+ "name": "Sudanska funta",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamski dolar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Svazilendski lilangeni",
+ "symbol": "SZL"
+ },
+ "SHP": {
+ "name": "Svetohelenska funta",
+ "symbol": "SHP"
+ },
+ "LKR": {
+ "name": "Å rilankanska rupija",
+ "symbol": "LKR"
+ },
+ "SEK": {
+ "name": "Å vedska kruna",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Å vicarski franak",
+ "symbol": "CHF"
+ },
+ "TJS": {
+ "name": "Tadžikistanski somoni",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "Tajlandski baht",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "Tanzanski Å¡iling",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "Tonganska panga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidadtobaški dolar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tuniski dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "Turkmenistanski manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "Turska lira",
+ "symbol": "TRY"
+ },
+ "UGX": {
+ "name": "Ugandski Å¡iling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrajinska grivna",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "Urugvajski pezos",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "Uzbekistanski som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatski vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venecuelanski bolivar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vijetnamski dong",
+ "symbol": "â‚«"
+ },
+ "ZMW": {
+ "name": "Zambijska kvaÄa",
+ "symbol": "ZMW"
+ },
+ "CVE": {
+ "name": "Zelenortski eskudo",
+ "symbol": "CVE"
+ },
+ "ZWL": {
+ "name": "Zimbabvejski dolar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ca.json b/library/intl/resources/currency/ca.json
new file mode 100644
index 000000000..ec73887e6
--- /dev/null
+++ b/library/intl/resources/currency/ca.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani afganès",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariary malgaix",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "baht tailandès",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "balboa panameny",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "birr etíop",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar veneçolà",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "bolivià",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi ghanès",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "colón costa-riqueny",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadorenc",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba oro nicaragüenca",
+ "symbol": "NIO"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "CZK": {
+ "name": "corona txeca",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "dalasi gambià",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "denar macedoni",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "dinar algerià",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar de Bahrain",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquià",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordà",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaitià",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libi",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "dinar serbi",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunisià",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de la UEA",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra de São Tomé i Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dòlar australià",
+ "symbol": "AU$"
+ },
+ "CAD": {
+ "name": "dòlar canadenc",
+ "symbol": "CAD"
+ },
+ "BBD": {
+ "name": "dòlar de Barbados",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dòlar de Belize",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dòlar de Brunei",
+ "symbol": "BND"
+ },
+ "GYD": {
+ "name": "dòlar de Guyana",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dòlar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "BSD": {
+ "name": "dòlar de les Bahames",
+ "symbol": "BSD"
+ },
+ "BMD": {
+ "name": "dòlar de les Bermudes",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dòlar de les illes Caiman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "dòlar de les illes Salomó",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dòlar de Singapur",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dòlar de Surinam",
+ "symbol": "SRD"
+ },
+ "TTD": {
+ "name": "dòlar de Trinitat i Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dòlar del Carib Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dòlar dels Estats Units",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dòlar fijià",
+ "symbol": "FJD"
+ },
+ "JMD": {
+ "name": "dòlar jamaicà",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dòlar liberià",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dòlar namibià",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dòlar neozelandès",
+ "symbol": "NZ$"
+ },
+ "ZWL": {
+ "name": "dòlar zimbabuès (2009)",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "dram armeni",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escut de Cap Verd",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "florí d’Aruba",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florí de les Antilles Neerlandeses",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "fòrint hongarès",
+ "symbol": "HUF"
+ },
+ "XOF": {
+ "name": "franc CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franc CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "franc CFP",
+ "symbol": "CFPF"
+ },
+ "CDF": {
+ "name": "franc congolès",
+ "symbol": "CDF"
+ },
+ "BIF": {
+ "name": "franc de Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "franc de Djibouti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "franc de les Comores",
+ "symbol": "KMF"
+ },
+ "RWF": {
+ "name": "franc de Ruanda",
+ "symbol": "RWF"
+ },
+ "GNF": {
+ "name": "franc guineà",
+ "symbol": "GNF"
+ },
+ "CHF": {
+ "name": "franc suís",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "gourde haitià",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "guaraní paraguaià",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "hrívnia ucraïnesa",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "ien japonès",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "iuan xinès",
+ "symbol": "Â¥"
+ },
+ "PGK": {
+ "name": "kina de Papua Nova Guinea",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip laosià",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "kwacha malawià",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha zambià",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza angolès",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "kyat de Myanmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "lari georgià",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek albanès",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondurenya",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leone de Sierra Leone",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldau",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu romanès",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "lev búlgar",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "lilangeni swazi",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas lituà",
+ "symbol": "LTL"
+ },
+ "GIP": {
+ "name": "lliura de Gibraltar",
+ "symbol": "GIP"
+ },
+ "FKP": {
+ "name": "lliura de les illes Malvines",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "lliura de Santa Helena",
+ "symbol": "SHP"
+ },
+ "SSP": {
+ "name": "lliura del Sudan del Sud",
+ "symbol": "SSP"
+ },
+ "EGP": {
+ "name": "lliura egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "lliura esterlina britànica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "lliura libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "lliura síria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "lliura sudanesa",
+ "symbol": "SDG"
+ },
+ "LSL": {
+ "name": "loti de Lesotho",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerbaidjanès",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcman",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marc convertible de Bòsnia i Hercegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical moçambiquès",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira nigerià",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa eritreu",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "ngultrum de Bhutan",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "nou dòlar de Taiwan",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "nou sol peruà",
+ "symbol": "PEN"
+ },
+ "ILS": {
+ "name": "nou xéquel israelià",
+ "symbol": "₪"
+ },
+ "MRO": {
+ "name": "ouguiya maurità",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "pa‘anga tongà",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca de Macau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentí",
+ "symbol": "ARS"
+ },
+ "COP": {
+ "name": "peso colombià",
+ "symbol": "COP"
+ },
+ "CUC": {
+ "name": "peso convertible cubà",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "peso cubà",
+ "symbol": "CUP"
+ },
+ "DOP": {
+ "name": "peso dominicà",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipí",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicà",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguaià",
+ "symbol": "UYU"
+ },
+ "CLP": {
+ "name": "peso xilè",
+ "symbol": "CLP"
+ },
+ "BWP": {
+ "name": "pula de Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalenc",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand sud-africà",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasiler",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial de Qatar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "rial iemenita",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "rial iranià",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omanita",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudita",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "riel cambodjà",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringgit de Malàisia",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "ruble bielorús",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "ruble rus",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rupia de les Maldives",
+ "symbol": "MVR"
+ },
+ "SCR": {
+ "name": "rupia de les Seychelles",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "rupia de Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia índia",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "rupia indonèsia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistanesa",
+ "symbol": "PKR"
+ },
+ "KGS": {
+ "name": "som kirguís",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "som uzbek",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "somoni tadjik",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "taka de Bangla Desh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala samoà",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazakh",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tögrög mongol",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "vatu de Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won nord-coreà",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won sud-coreà",
+ "symbol": "â‚©"
+ },
+ "KES": {
+ "name": "xíling kenyà",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "xíling somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "xíling tanzà",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "xíling ugandès",
+ "symbol": "UGX"
+ },
+ "PLN": {
+ "name": "zloty polonès",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/cgg.json b/library/intl/resources/currency/cgg.json
new file mode 100644
index 000000000..351a9d9bf
--- /dev/null
+++ b/library/intl/resources/currency/cgg.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariari ya Maragariita",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Birr ya Ethiopiya",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Arigyeriya",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham za Buharabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirram ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Purinsipo",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Doora ya America",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Doora ya Austureeriya",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Doora ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Doora ya Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Doora ya Namibiya",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "SOS": {
+ "name": "Eshiringi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Eshiringi ya Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Eshiringi ya Uganda",
+ "symbol": "USh"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Faranga ya CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga ya CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Faranga ya Gyibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Swisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwaca ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angora",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leone",
+ "symbol": "SLL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Naigyeriya",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritireya",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "MRO": {
+ "name": "Ougwiya ya Mouriteeniya",
+ "symbol": "MRO"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "GBP": {
+ "name": "Paundi ya Bungyereza",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Paundi ya Misiri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Paundi ya Senti Herena",
+ "symbol": "SHP"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pura ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Sausi Afirika",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riya ya Saudi",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "MUR": {
+ "name": "Rupiiha ya Mauritiasi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupiiha ya Sherisheri",
+ "symbol": "SCR"
+ },
+ "INR": {
+ "name": "Rupiya ya India",
+ "symbol": "₹"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shiringi ya Kenya",
+ "symbol": "KES"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yeni ya Japaani",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/chr.json b/library/intl/resources/currency/chr.json
new file mode 100644
index 000000000..0360e743d
--- /dev/null
+++ b/library/intl/resources/currency/chr.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "INR": {
+ "name": "Ꭲá…á—Ꮎ Ꭰá•áŽ³",
+ "symbol": "₹"
+ },
+ "USD": {
+ "name": "Ꭴáƒáá—",
+ "symbol": "$"
+ },
+ "CAD": {
+ "name": "ᎧᎾᓠᎠá•áŽ³",
+ "symbol": "CA$"
+ },
+ "GBP": {
+ "name": "ᎩᎵáᲠᎠá•áŽ³",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "á†áᎵᎢ Ꭰá•áŽ³",
+ "symbol": "R$"
+ },
+ "MXN": {
+ "name": "áá†á‚ Ꭰá•áŽ³",
+ "symbol": "MX$"
+ },
+ "CNY": {
+ "name": "á“Ꮆá‚Ꭸ Ꭰá•áŽ³",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "á£á©á‚á Ꭰá•áŽ³",
+ "symbol": "JPÂ¥"
+ },
+ "RUB": {
+ "name": "á²á‚Ꭲ Ꭰá•áŽ³",
+ "symbol": "RUB"
+ },
+ "EUR": {
+ "name": "á³áŽ³á›",
+ "symbol": "€"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/cs.json b/library/intl/resources/currency/cs.json
new file mode 100644
index 000000000..274a38487
--- /dev/null
+++ b/library/intl/resources/currency/cs.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghánský afghán",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "albánský lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "alžírský dinár",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "americký dolar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "angolská kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "argentinské peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "arménský dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "arubský zlatý",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "australský dolar",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "ázerbájdžánský manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "bahamský dolar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "bahrajnský dinár",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladéšská taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "barbadoský dolar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "belizský dolar",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "běloruský rubl",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "bermudský dolar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "bhútánský ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "bolivijský boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "bosenská konvertibilní marka",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "botswanská pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "brazilský real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britská libra",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "brunejský dolar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "bulharský lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "burundský frank",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "CFA\/BCEAO frank",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA\/BEAC frank",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP frank",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "Äeská koruna",
+ "symbol": "KÄ"
+ },
+ "CNY": {
+ "name": "Äínský jüan",
+ "symbol": "CNÂ¥"
+ },
+ "DKK": {
+ "name": "dánská koruna",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "dominikánské peso",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "džibutský frank",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "egyptská libra",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "eritrejská nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "etiopský birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandská libra",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "fidžijský dolar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "filipínské peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "gambijský dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ghanský cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "gibraltarská libra",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "gruzínské lari",
+ "symbol": "GEL"
+ },
+ "GTQ": {
+ "name": "guatemalský quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "guinejský frank",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "guyanský dolar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "haitský gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "honduraská lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "hongkongský dolar",
+ "symbol": "HK$"
+ },
+ "CLP": {
+ "name": "chilské peso",
+ "symbol": "CLP"
+ },
+ "HRK": {
+ "name": "chorvatská kuna",
+ "symbol": "HRK"
+ },
+ "INR": {
+ "name": "indická rupie",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "indonéská rupie",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "irácký dinár",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "íránský rijál",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "islandská koruna",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "izraelský nový šekel",
+ "symbol": "ILS"
+ },
+ "JMD": {
+ "name": "jamajský dolar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "japonský jen",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "jemenský rijál",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "jihoafrický rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "jihokorejský won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "jihosúdánská libra",
+ "symbol": "SSP"
+ },
+ "JOD": {
+ "name": "jordánský dinár",
+ "symbol": "JOD"
+ },
+ "KYD": {
+ "name": "kajmanský dolar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "kambodžský riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadský dolar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kapverdské escudo",
+ "symbol": "CVE"
+ },
+ "QAR": {
+ "name": "katarský rijál",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "kazašské tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "keňský šilink",
+ "symbol": "KES"
+ },
+ "COP": {
+ "name": "kolumbijské peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "komorský frank",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "konžský frank",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "kostarický colón",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "kubánské konvertibilní peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "kubánské peso",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuvajtský dinár",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "kyrgyzský som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "laoský kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "lesothský loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "libanonská libra",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "liberijský dolar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libyjský dinár",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "litevský litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "macajská pataca",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "madagaskarský ariary",
+ "symbol": "MGA"
+ },
+ "HUF": {
+ "name": "maÄarský forint",
+ "symbol": "HUF"
+ },
+ "MKD": {
+ "name": "makedonský denár",
+ "symbol": "MKD"
+ },
+ "MYR": {
+ "name": "malajsijský ringgit",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "malawijská kwacha",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "maledivská rupie",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "marocký dinár",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "mauricijská rupie",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "mauritánská ouguiya",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "mexické peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldavský leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongolský tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "mozambický metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "myanmarský kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "namibijský dolar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "nepálská rupie",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "nigerijská naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "nikaragujská córdoba",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "nizozemskoantilský gulden",
+ "symbol": "ANG"
+ },
+ "NOK": {
+ "name": "norská koruna",
+ "symbol": "NOK"
+ },
+ "NZD": {
+ "name": "novozélandský dolar",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "ománský rijál",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "pákistánská rupie",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamská balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "papuánská nová kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "paraguajské guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "peruánský nový sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "polský zlotý",
+ "symbol": "PLN"
+ },
+ "RON": {
+ "name": "rumunské leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "ruský rubl",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "rwandský frank",
+ "symbol": "RWF"
+ },
+ "AED": {
+ "name": "SAE dirham",
+ "symbol": "AED"
+ },
+ "SVC": {
+ "name": "salvadorský colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "samojská tala",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "saúdský rijál",
+ "symbol": "SAR"
+ },
+ "KPW": {
+ "name": "severokorejský won",
+ "symbol": "KPW"
+ },
+ "SCR": {
+ "name": "seychelská rupie",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "sierro-leonský leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "singapurský dolar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "somálský šilink",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "srbský dinár",
+ "symbol": "RSD"
+ },
+ "LKR": {
+ "name": "srílanská rupie",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "súdánská libra",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "surinamský dolar",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "svatohelenská libra",
+ "symbol": "SHP"
+ },
+ "STD": {
+ "name": "svatotomášská dobra",
+ "symbol": "STD"
+ },
+ "SZL": {
+ "name": "svazijský lilangeni",
+ "symbol": "SZL"
+ },
+ "SYP": {
+ "name": "syrská libra",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "šalamounský dolar",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "švédská koruna",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "švýcarský frank",
+ "symbol": "CHF"
+ },
+ "TJS": {
+ "name": "tádžické somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "tanzanský šilink",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "thajský baht",
+ "symbol": "THB"
+ },
+ "TWD": {
+ "name": "tchajwanský dolar",
+ "symbol": "NT$"
+ },
+ "TOP": {
+ "name": "tonžská paanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "trinidadský dolar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "tuniský dinár",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "turecká lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "turkmenský manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "ugandský šilink",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukrajinská hřivna",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "uruguayské peso",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "uzbecký sum",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatský vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelský bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "vietnamský dong",
+ "symbol": "VND"
+ },
+ "XCD": {
+ "name": "východokaribský dolar",
+ "symbol": "EC$"
+ },
+ "ZMW": {
+ "name": "zambijská kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "zimbabwský dolar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/cy.json b/library/intl/resources/currency/cy.json
new file mode 100644
index 000000000..33ad977af
--- /dev/null
+++ b/library/intl/resources/currency/cy.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghani Afghanistan",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariary Madagascar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht Gwlad Thai",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa Panama",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr Ethiopia",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar Venezuela",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano Bolifia",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi Ghana",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "Colón Costa Rica",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba Nicaragua",
+ "symbol": "NIO"
+ },
+ "GMD": {
+ "name": "Dalasi Gambia",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "Denar Macedonia",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "Dinar Algeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar Bahrain",
+ "symbol": "BHD"
+ },
+ "JOD": {
+ "name": "Dinar Gwlad yr Iorddonen",
+ "symbol": "JOD"
+ },
+ "IQD": {
+ "name": "Dinar Irac",
+ "symbol": "IQD"
+ },
+ "KWD": {
+ "name": "Dinar Kuwait",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar Libya",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "Dinar Serbia",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar Tunisia",
+ "symbol": "TND"
+ },
+ "MAD": {
+ "name": "Dirham Moroco",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Dirham Yr Emiradau Arabaidd Unedig",
+ "symbol": "AED"
+ },
+ "STD": {
+ "name": "Dobra São Tomé a Príncipe",
+ "symbol": "STD"
+ },
+ "VND": {
+ "name": "Dong Fietnam",
+ "symbol": "â‚«"
+ },
+ "AUD": {
+ "name": "Doler Awstralia",
+ "symbol": "A$"
+ },
+ "BBD": {
+ "name": "Doler Barbados",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Doler Belize",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Doler Bermuda",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Doler Brunei",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Doler Canada",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Doler Dwyrain y Caribî",
+ "symbol": "EC$"
+ },
+ "FJD": {
+ "name": "Doler Ffiji",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "Doler Guyana",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "Doler Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Doler Jamaica",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Doler Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Doler Namibia",
+ "symbol": "NAD"
+ },
+ "TWD": {
+ "name": "Doler Newydd Taiwan",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Doler Seland Newydd",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Doler Singapore",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "Doler Surinam",
+ "symbol": "SRD"
+ },
+ "TTD": {
+ "name": "Doler Trinidad a Tobago",
+ "symbol": "TTD"
+ },
+ "USD": {
+ "name": "Doler UDA",
+ "symbol": "US$"
+ },
+ "BSD": {
+ "name": "Doler y Bahamas",
+ "symbol": "BSD"
+ },
+ "KYD": {
+ "name": "Doler Ynysoedd Cayman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Doler Ynysoedd Solomon",
+ "symbol": "SBD"
+ },
+ "AMD": {
+ "name": "Dram Armenia",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Esgwdo Cabo Verde",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Ewro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Fflorin Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Fforint Hwngari",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Ffranc Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Ffranc CFA y BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Ffranc CFA y BEAC",
+ "symbol": "FCFA"
+ },
+ "CDF": {
+ "name": "Ffranc Congo",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "Ffranc Comoros",
+ "symbol": "KMF"
+ },
+ "XPF": {
+ "name": "Ffranc CPF",
+ "symbol": "CFPF"
+ },
+ "DJF": {
+ "name": "Ffranc Djibouti",
+ "symbol": "DJF"
+ },
+ "GNF": {
+ "name": "Ffranc Guinée",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "Ffranc Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Ffranc y Swistir",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde Haiti",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani Paraguay",
+ "symbol": "PYG"
+ },
+ "ANG": {
+ "name": "Guilder Antilles yr Iseldiroedd",
+ "symbol": "ANG"
+ },
+ "BTN": {
+ "name": "Ngultrum Bhutan",
+ "symbol": "BTN"
+ },
+ "UAH": {
+ "name": "Hryvnia Wcráin",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "Kina Papua Guinea Newydd",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip Laos",
+ "symbol": "LAK"
+ },
+ "CZK": {
+ "name": "Koruna Tsiec",
+ "symbol": "CZK"
+ },
+ "ISK": {
+ "name": "Króna Gwlad yr Iâ",
+ "symbol": "ISK"
+ },
+ "SEK": {
+ "name": "Krona Sweden",
+ "symbol": "SEK"
+ },
+ "DKK": {
+ "name": "Krone Denmarc",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "Krone Norwy",
+ "symbol": "NOK"
+ },
+ "HRK": {
+ "name": "Kuna Croatia",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza Angola",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat Myanmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari Georgia",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek Albania",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone Sierra Leone",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu Moldofa",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu Rwmania",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev Bwlgaria",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "Lilangeni Gwlad Swazi",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira Twrci",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas Lithwania",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat Azerbaijan",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat Turkmenistan",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marc Trosadwy Bosnia a Hercegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical Mozambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira Nigeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa Eritrea",
+ "symbol": "ERN"
+ },
+ "PEN": {
+ "name": "Nuevo Sol Periw",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya Mauritania",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca Macau",
+ "symbol": "MOP"
+ },
+ "COP": {
+ "name": "Peso Colombia",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso Cuba",
+ "symbol": "CUP"
+ },
+ "CLP": {
+ "name": "Peso Chile",
+ "symbol": "CLP"
+ },
+ "DOP": {
+ "name": "Peso Gweriniaeth Dominica",
+ "symbol": "DOP"
+ },
+ "MXN": {
+ "name": "Peso México",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "Peso Pilipinas",
+ "symbol": "PHP"
+ },
+ "CUC": {
+ "name": "Peso Trosadwy Cuba",
+ "symbol": "CUC"
+ },
+ "UYU": {
+ "name": "Peso Uruguay",
+ "symbol": "UYU"
+ },
+ "ARS": {
+ "name": "Peso yr Ariannin",
+ "symbol": "ARS"
+ },
+ "BWP": {
+ "name": "Pula Botswana",
+ "symbol": "BWP"
+ },
+ "SSP": {
+ "name": "Punt De Sudan",
+ "symbol": "SSP"
+ },
+ "GIP": {
+ "name": "Punt Gibraltar",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "Punt Libanus",
+ "symbol": "LBP"
+ },
+ "SHP": {
+ "name": "Punt Saint Helena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Punt Sterling Prydain",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "Punt Sudan",
+ "symbol": "SDG"
+ },
+ "SYP": {
+ "name": "Punt Syria",
+ "symbol": "SYP"
+ },
+ "FKP": {
+ "name": "Punt Ynysoedd Falkland\/Malvinas",
+ "symbol": "FKP"
+ },
+ "EGP": {
+ "name": "Punt Yr Aifft",
+ "symbol": "EGP"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand De Affrica",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real Brasil",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial Iran",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "Rial Oman",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial Qatar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial Yemen",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "Riel Cambodia",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit Malaysia",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "Riyal Saudi Arabia",
+ "symbol": "SAR"
+ },
+ "MVR": {
+ "name": "Rufiyaa’r Maldives",
+ "symbol": "MVR"
+ },
+ "IDR": {
+ "name": "Rupiah Indonesia",
+ "symbol": "IDR"
+ },
+ "BYR": {
+ "name": "Rwbl Belarws",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rwbl Rwsia",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rwpî India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rwpî Mauritius",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rwpî Nepal",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rwpî Pacistan",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rwpî Seychelles",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "Rwpî Sri Lanka",
+ "symbol": "LKR"
+ },
+ "ILS": {
+ "name": "Shegel Newydd Israel",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som Kyrgyzstan",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som Uzbekistan",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni Tajikistan",
+ "symbol": "TJS"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "KES": {
+ "name": "Swllt Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Swllt Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Swllt Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Swllt Uganda",
+ "symbol": "UGX"
+ },
+ "BDT": {
+ "name": "Taka Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala Samoa",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge Kazakstan",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik Mongolia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatu",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "Won De Korea",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "Won Gogledd Corea",
+ "symbol": "KPW"
+ },
+ "JPY": {
+ "name": "Yen Japan",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "Yuan Tsieina",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloty Gwlad Pwyl",
+ "symbol": "PLN"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/da.json b/library/intl/resources/currency/da.json
new file mode 100644
index 000000000..dd9d1d3c1
--- /dev/null
+++ b/library/intl/resources/currency/da.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghansk afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albansk lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerisk dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "Amerikansk dollar",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "Angolansk kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentinsk peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armensk dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Arubansk florin",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "Aserbajdsjansk manat",
+ "symbol": "AZN"
+ },
+ "AUD": {
+ "name": "Australsk dollar",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Bahamansk dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahrainsk dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshisk taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadisk dollar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belizisk dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudansk dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutansk ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Boliviansk boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnien-Hercegovinsk konvertibel mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswansk pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brasiliansk real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britisk pund",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Bruneisk dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarsk lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundisk franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodjansk riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadisk dollar",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "Caymansk dollar",
+ "symbol": "KYD"
+ },
+ "XAF": {
+ "name": "CFA-franc (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "CFA-franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "CFP-franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilensk peso",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Colombiansk peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorisk franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolesisk franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costaricansk colón",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "Cubansk konvertibel peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cubansk peso",
+ "symbol": "CUP"
+ },
+ "DKK": {
+ "name": "Dansk krone",
+ "symbol": "kr."
+ },
+ "AED": {
+ "name": "Dirham fra de Forenede Arabiske Emirater",
+ "symbol": "AED"
+ },
+ "DJF": {
+ "name": "Djiboutisk franc",
+ "symbol": "DJF"
+ },
+ "STD": {
+ "name": "Dobra fra Sao Tome og Principe",
+ "symbol": "STD"
+ },
+ "TTD": {
+ "name": "Dollar fra Trinidad og Tobago",
+ "symbol": "TTD"
+ },
+ "DOP": {
+ "name": "Dominikansk peso",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "Egyptisk pund",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritreisk nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Etiopisk birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "Fijiansk dollar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filippinsk peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "Gambisk dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgisk lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanesisk cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltarisk pund",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalansk quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guineansk franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyansk dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitisk gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduransk lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkong dollar",
+ "symbol": "HK$"
+ },
+ "BYR": {
+ "name": "Hviderussisk rubel",
+ "symbol": "BYR"
+ },
+ "INR": {
+ "name": "Indisk rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesisk rupiah",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Irakisk dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iransk rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Islansk krone",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "Jamaicansk dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japansk yen",
+ "symbol": "JPÂ¥"
+ },
+ "JOD": {
+ "name": "Jordansk dinar",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Kapverdisk escudo",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "Kasakhisk tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyansk shilling",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "Kinesisk yuan renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "KGS": {
+ "name": "Kirgisisk som",
+ "symbol": "KGS"
+ },
+ "HRK": {
+ "name": "Kroatisk kuna",
+ "symbol": "HRK"
+ },
+ "KWD": {
+ "name": "Kuwaitisk dinar",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Laotisk kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesothisk loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "Libanesisk pund",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberisk dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libysk dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litauisk litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macaosk pataca",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "Madagaskisk ariary",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "Makedonsk denar",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "Malawisk kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysisk ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivisk rufiyaa",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Marokkansk dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "Mauritansk ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritisk rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexicansk peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovisk leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolsk tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mozambiquisk metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmarsk kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibisk dollar",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "Nederlandske Antiller-gylden",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "Nepalesisk rupee",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "New Zealandsk dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguansk cordoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigeriansk naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "Nordkoreansk won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norsk krone",
+ "symbol": "NOK"
+ },
+ "ILS": {
+ "name": "Ny israelsk shekel",
+ "symbol": "₪"
+ },
+ "TWD": {
+ "name": "Ny taiwansk dollar",
+ "symbol": "NT$"
+ },
+ "OMR": {
+ "name": "Omansk rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistansk rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamansk balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papuansk kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguaysk guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruviansk nuevo sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Polsk zloty",
+ "symbol": "PLN"
+ },
+ "FKP": {
+ "name": "Pund fra Falklandsøerne",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "Pund fra Saint Helena",
+ "symbol": "SHP"
+ },
+ "QAR": {
+ "name": "Qatarsk rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Rumænsk leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russisk rubel",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandisk franc",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "Salomonsk dollar",
+ "symbol": "SBD"
+ },
+ "SVC": {
+ "name": "Salvadoransk colon",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoansk tala",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "Saudiarabisk riyal",
+ "symbol": "SAR"
+ },
+ "CHF": {
+ "name": "Schweizisk franc",
+ "symbol": "CHF"
+ },
+ "RSD": {
+ "name": "Serbisk dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellisk rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierraleonsk leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singaporeansk dollar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Somalisk shilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Srilankansk rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudansk pund",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamsk dollar",
+ "symbol": "SRD"
+ },
+ "SEK": {
+ "name": "Svensk krone",
+ "symbol": "SEK"
+ },
+ "SZL": {
+ "name": "Swazilandsk lilangeni",
+ "symbol": "SZL"
+ },
+ "ZAR": {
+ "name": "Sydafrikansk rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Sydkoreansk won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Sydsudanske pund",
+ "symbol": "SSP"
+ },
+ "SYP": {
+ "name": "Syrisk pund",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tadsjikisk somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanisk shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thailandsk baht",
+ "symbol": "฿"
+ },
+ "CZK": {
+ "name": "Tjekkisk koruna",
+ "symbol": "CZK"
+ },
+ "TOP": {
+ "name": "Tongansk paʻanga",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "Tunesisk dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "Turkmensk manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "Tyrkisk lira",
+ "symbol": "TRY"
+ },
+ "UGX": {
+ "name": "Ugandisk shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainsk grynia",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "Ungarsk forint",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "Uruguayansk peso",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "Usbekisk sum",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuaisk vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelansk bolivar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamesisk dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemenitisk rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambisk kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwisk dollar (2009)",
+ "symbol": "ZWL"
+ },
+ "XCD": {
+ "name": "Østkaribisk dollar",
+ "symbol": "EC$"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/dav.json b/library/intl/resources/currency/dav.json
new file mode 100644
index 000000000..4401f9af7
--- /dev/null
+++ b/library/intl/resources/currency/dav.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/de-CH.json b/library/intl/resources/currency/de-CH.json
new file mode 100644
index 000000000..3518b82a8
--- /dev/null
+++ b/library/intl/resources/currency/de-CH.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghanischer Afghani",
+ "symbol": "AFN"
+ },
+ "EGP": {
+ "name": "Ägyptisches Pfund",
+ "symbol": "EGP"
+ },
+ "ALL": {
+ "name": "Albanischer Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerischer Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolanischer Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentinischer Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenischer Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruba-Florin",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "Aserbaidschan-Manat",
+ "symbol": "AZN"
+ },
+ "ETB": {
+ "name": "Äthiopischer Birr",
+ "symbol": "ETB"
+ },
+ "AUD": {
+ "name": "Australischer Dollar",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Bahamas-Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahrain-Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladesch-Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbados-Dollar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belize-Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermuda-Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutan-Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivanischer Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnien und Herzegowina Konvertierbare Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanischer Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brasilianischer Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britisches Pfund Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei-Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarischer Lew",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundi-Franc",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "CFA-Franc (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-Franc (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilenischer Peso",
+ "symbol": "CLP"
+ },
+ "CRC": {
+ "name": "Costa-Rica-Colón",
+ "symbol": "CRC"
+ },
+ "DKK": {
+ "name": "Dänische Krone",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "Dominikanischer Peso",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "Dschibuti-Franc",
+ "symbol": "DJF"
+ },
+ "SVC": {
+ "name": "El Salvador Colon",
+ "symbol": "SVC"
+ },
+ "ERN": {
+ "name": "Eritreischer Nakfa",
+ "symbol": "ERN"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-Pfund",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fidschi-Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambia-Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgischer Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaischer Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar-Pfund",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemaltekischer Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinea-Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyana-Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitianische Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduras-Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkong-Dollar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "Indische Rupie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesische Rupiah",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Irakischer Dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iranischer Rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Isländische Krone",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "Israelischer Neuer Schekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaika-Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanischer Yen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "Jemen-Rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jordanischer Dinar",
+ "symbol": "JOD"
+ },
+ "KYD": {
+ "name": "Kaiman-Dollar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "Kambodschanischer Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanadischer Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kap-Verde-Escudo",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "Kasachischer Tenge",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "Katar-Riyal",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "Kenia-Schilling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Kirgisischer Som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolumbianischer Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komoren-Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo-Franc",
+ "symbol": "CDF"
+ },
+ "HRK": {
+ "name": "Kroatischer Kuna",
+ "symbol": "HRK"
+ },
+ "CUP": {
+ "name": "Kubanischer Peso",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Kubanischer Peso (konvertibel)",
+ "symbol": "CUC"
+ },
+ "KWD": {
+ "name": "Kuwait-Dinar",
+ "symbol": "KWD"
+ },
+ "ZMW": {
+ "name": "Kwacha",
+ "symbol": "ZMW"
+ },
+ "LAK": {
+ "name": "Laotischer Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Libanesisches Pfund",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberianischer Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyscher Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litauischer Litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti",
+ "symbol": "LSL"
+ },
+ "MOP": {
+ "name": "Macao-Pataca",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "Madagaskar-Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawi-Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysischer Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Malediven-Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Marokkanischer Dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "Mauretanischer Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritius-Rupie",
+ "symbol": "MUR"
+ },
+ "MKD": {
+ "name": "Mazedonischer Denar",
+ "symbol": "MKD"
+ },
+ "MXN": {
+ "name": "Mexikanischer Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldau-Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolischer Tögrög",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mosambikanischer Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmarischer Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibia-Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalesische Rupie",
+ "symbol": "NPR"
+ },
+ "TWD": {
+ "name": "Neuer Taiwan-Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Neuseeland-Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaragua-Córdoba",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "Niederländische-Antillen-Gulden",
+ "symbol": "ANG"
+ },
+ "NGN": {
+ "name": "Nigerianischer Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "Nordkoreanischer Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegische Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omanischer Rial",
+ "symbol": "OMR"
+ },
+ "XCD": {
+ "name": "Ostkaribischer Dollar",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "Pakistanische Rupie",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamaischer Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua-Neuguineischer Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayischer Guaraní",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruanischer Neuer Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippinischer Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polnischer ZÅ‚oty",
+ "symbol": "PLN"
+ },
+ "CNY": {
+ "name": "Renminbi Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "RWF": {
+ "name": "Ruanda-Franc",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Rumänischer Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russischer Rubel",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "Salomonen-Dollar",
+ "symbol": "SBD"
+ },
+ "WST": {
+ "name": "Samoanischer Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São-toméischer Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi-Rial",
+ "symbol": "SAR"
+ },
+ "SEK": {
+ "name": "Schwedische Krone",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Schweizer Franken",
+ "symbol": "CHF"
+ },
+ "RSD": {
+ "name": "Serbischer Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellen-Rupie",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra-leonischer Leone",
+ "symbol": "SLL"
+ },
+ "ZWL": {
+ "name": "Simbabwe-Dollar (2009)",
+ "symbol": "ZWL"
+ },
+ "SGD": {
+ "name": "Singapur-Dollar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Somalia-Schilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri-Lanka-Rupie",
+ "symbol": "LKR"
+ },
+ "SHP": {
+ "name": "St. Helena-Pfund",
+ "symbol": "SHP"
+ },
+ "ZAR": {
+ "name": "Südafrikanischer Rand",
+ "symbol": "ZAR"
+ },
+ "SDG": {
+ "name": "Sudanesisches Pfund",
+ "symbol": "SDG"
+ },
+ "KRW": {
+ "name": "Südkoreanischer Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Südsudanesisches Pfund",
+ "symbol": "SSP"
+ },
+ "SRD": {
+ "name": "Suriname-Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swasiländischer Lilangeni",
+ "symbol": "SZL"
+ },
+ "SYP": {
+ "name": "Syrisches Pfund",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tadschikistan-Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tansania-Schilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thailändischer Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongaischer Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad und Tobago-Dollar",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "Tschechische Krone",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "Tunesischer Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Türkische Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistan-Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Uganda-Schilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainische Hrywnja",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "Ungarischer Forint",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "Uruguayischer Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US-Dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Usbekistan-Sum",
+ "symbol": "UZS"
+ },
+ "AED": {
+ "name": "VAE-Dirham",
+ "symbol": "AED"
+ },
+ "VUV": {
+ "name": "Vanuatu-Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezolanischer Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamesischer Dong",
+ "symbol": "â‚«"
+ },
+ "BYR": {
+ "name": "Weissrussischer Rubel",
+ "symbol": "BYR"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/de.json b/library/intl/resources/currency/de.json
new file mode 100644
index 000000000..b8b1b90d9
--- /dev/null
+++ b/library/intl/resources/currency/de.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghanischer Afghani",
+ "symbol": "AFN"
+ },
+ "EGP": {
+ "name": "Ägyptisches Pfund",
+ "symbol": "EGP"
+ },
+ "ALL": {
+ "name": "Albanischer Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerischer Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolanischer Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentinischer Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenischer Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruba-Florin",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "Aserbaidschan-Manat",
+ "symbol": "AZN"
+ },
+ "ETB": {
+ "name": "Äthiopischer Birr",
+ "symbol": "ETB"
+ },
+ "AUD": {
+ "name": "Australischer Dollar",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Bahamas-Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahrain-Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladesch-Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbados-Dollar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belize-Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermuda-Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutan-Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivanischer Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnien und Herzegowina Konvertierbare Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanischer Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brasilianischer Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britisches Pfund Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei-Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarischer Lew",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundi-Franc",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "CFA-Franc (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-Franc (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilenischer Peso",
+ "symbol": "CLP"
+ },
+ "CRC": {
+ "name": "Costa-Rica-Colón",
+ "symbol": "CRC"
+ },
+ "DKK": {
+ "name": "Dänische Krone",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "Dominikanischer Peso",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "Dschibuti-Franc",
+ "symbol": "DJF"
+ },
+ "SVC": {
+ "name": "El Salvador Colon",
+ "symbol": "SVC"
+ },
+ "ERN": {
+ "name": "Eritreischer Nakfa",
+ "symbol": "ERN"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-Pfund",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fidschi-Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambia-Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgischer Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaischer Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar-Pfund",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemaltekischer Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinea-Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyana-Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitianische Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduras-Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkong-Dollar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "Indische Rupie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesische Rupiah",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Irakischer Dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iranischer Rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Isländische Krone",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "Israelischer Neuer Schekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaika-Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanischer Yen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "Jemen-Rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jordanischer Dinar",
+ "symbol": "JOD"
+ },
+ "KYD": {
+ "name": "Kaiman-Dollar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "Kambodschanischer Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanadischer Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kap-Verde-Escudo",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "Kasachischer Tenge",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "Katar-Riyal",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "Kenia-Schilling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Kirgisischer Som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolumbianischer Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komoren-Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo-Franc",
+ "symbol": "CDF"
+ },
+ "HRK": {
+ "name": "Kroatischer Kuna",
+ "symbol": "HRK"
+ },
+ "CUP": {
+ "name": "Kubanischer Peso",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Kubanischer Peso (konvertibel)",
+ "symbol": "CUC"
+ },
+ "KWD": {
+ "name": "Kuwait-Dinar",
+ "symbol": "KWD"
+ },
+ "ZMW": {
+ "name": "Kwacha",
+ "symbol": "ZMW"
+ },
+ "LAK": {
+ "name": "Laotischer Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Libanesisches Pfund",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberianischer Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyscher Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litauischer Litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti",
+ "symbol": "LSL"
+ },
+ "MOP": {
+ "name": "Macao-Pataca",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "Madagaskar-Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawi-Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysischer Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Malediven-Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Marokkanischer Dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "Mauretanischer Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritius-Rupie",
+ "symbol": "MUR"
+ },
+ "MKD": {
+ "name": "Mazedonischer Denar",
+ "symbol": "MKD"
+ },
+ "MXN": {
+ "name": "Mexikanischer Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldau-Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolischer Tögrög",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mosambikanischer Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmarischer Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibia-Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalesische Rupie",
+ "symbol": "NPR"
+ },
+ "TWD": {
+ "name": "Neuer Taiwan-Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Neuseeland-Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaragua-Córdoba",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "Niederländische-Antillen-Gulden",
+ "symbol": "ANG"
+ },
+ "NGN": {
+ "name": "Nigerianischer Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "Nordkoreanischer Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegische Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omanischer Rial",
+ "symbol": "OMR"
+ },
+ "XCD": {
+ "name": "Ostkaribischer Dollar",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "Pakistanische Rupie",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamaischer Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua-Neuguineischer Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayischer Guaraní",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruanischer Neuer Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippinischer Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polnischer ZÅ‚oty",
+ "symbol": "PLN"
+ },
+ "CNY": {
+ "name": "Renminbi Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "RWF": {
+ "name": "Ruanda-Franc",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Rumänischer Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russischer Rubel",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "Salomonen-Dollar",
+ "symbol": "SBD"
+ },
+ "WST": {
+ "name": "Samoanischer Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São-toméischer Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi-Rial",
+ "symbol": "SAR"
+ },
+ "SEK": {
+ "name": "Schwedische Krone",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Schweizer Franken",
+ "symbol": "CHF"
+ },
+ "RSD": {
+ "name": "Serbischer Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellen-Rupie",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra-leonischer Leone",
+ "symbol": "SLL"
+ },
+ "ZWL": {
+ "name": "Simbabwe-Dollar (2009)",
+ "symbol": "ZWL"
+ },
+ "SGD": {
+ "name": "Singapur-Dollar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Somalia-Schilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri-Lanka-Rupie",
+ "symbol": "LKR"
+ },
+ "SHP": {
+ "name": "St. Helena-Pfund",
+ "symbol": "SHP"
+ },
+ "ZAR": {
+ "name": "Südafrikanischer Rand",
+ "symbol": "ZAR"
+ },
+ "SDG": {
+ "name": "Sudanesisches Pfund",
+ "symbol": "SDG"
+ },
+ "KRW": {
+ "name": "Südkoreanischer Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Südsudanesisches Pfund",
+ "symbol": "SSP"
+ },
+ "SRD": {
+ "name": "Suriname-Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swasiländischer Lilangeni",
+ "symbol": "SZL"
+ },
+ "SYP": {
+ "name": "Syrisches Pfund",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tadschikistan-Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tansania-Schilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thailändischer Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongaischer Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad und Tobago-Dollar",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "Tschechische Krone",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "Tunesischer Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Türkische Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistan-Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Uganda-Schilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainische Hrywnja",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "Ungarischer Forint",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "Uruguayischer Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US-Dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Usbekistan-Sum",
+ "symbol": "UZS"
+ },
+ "AED": {
+ "name": "VAE-Dirham",
+ "symbol": "AED"
+ },
+ "VUV": {
+ "name": "Vanuatu-Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezolanischer Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamesischer Dong",
+ "symbol": "â‚«"
+ },
+ "BYR": {
+ "name": "Weißrussischer Rubel",
+ "symbol": "BYR"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/dje.json b/library/intl/resources/currency/dje.json
new file mode 100644
index 000000000..c75824e61
--- /dev/null
+++ b/library/intl/resources/currency/dje.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alžeeri Dinar",
+ "symbol": "DZD"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "USD": {
+ "name": "Ameriki Dollar",
+ "symbol": "US$"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "Angoola Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BHD": {
+ "name": "Bahareen Dinar",
+ "symbol": "BHD"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "Botswaana Pund",
+ "symbol": "BWP"
+ },
+ "GBP": {
+ "name": "Britin Pund",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "Burundi Fraŋ",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "XOF": {
+ "name": "CFA Fraŋ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Fraŋ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "ETB": {
+ "name": "Ecioopi Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Eero",
+ "symbol": "€"
+ },
+ "ERN": {
+ "name": "Eritree Nafka",
+ "symbol": "ERN"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambi Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "ZAR": {
+ "name": "Hawasa Afriki Rand",
+ "symbol": "ZAR"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Indu Rupii",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JPY": {
+ "name": "Jaapoŋ Yen",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "Jibuuti Fraŋ",
+ "symbol": "DJF"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CAD": {
+ "name": "Kanaada Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kapuver Escudo",
+ "symbol": "CVE"
+ },
+ "KES": {
+ "name": "Keeniya Šiiliŋ",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "Komoor Fraŋ",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo Fraŋ",
+ "symbol": "CDF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "AED": {
+ "name": "Laaraw Immaara Margantey Dirham",
+ "symbol": "AED"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leeon",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "Leezoto Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberia Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Liibi Dinar",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MAD": {
+ "name": "Maarok Dirham",
+ "symbol": "MAD"
+ },
+ "MWK": {
+ "name": "Malaawi Kwaca",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "Malgaaši Fraŋ",
+ "symbol": "MGA"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "EGP": {
+ "name": "Misra Pund",
+ "symbol": "EGP"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MUR": {
+ "name": "Mooris Rupii",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mooritaani Ugiya",
+ "symbol": "MRO"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naajiriya Neera",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "Naamibi Dollar",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "AUD": {
+ "name": "Ostraali Dollar",
+ "symbol": "A$"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwanda Fraŋ",
+ "symbol": "RWF"
+ },
+ "STD": {
+ "name": "Sao Tome nda Prinsipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudiya Riyal",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "Seešel Rupii",
+ "symbol": "SCR"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SHP": {
+ "name": "Seŋ Helena Fraŋ",
+ "symbol": "SHP"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "CNY": {
+ "name": "Sinwa Yuan Renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "SOS": {
+ "name": "Somaali Šiiliŋ",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "Suudaŋ Dinar",
+ "symbol": "SDG"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "CHF": {
+ "name": "Swisu Fraŋ",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "TZS": {
+ "name": "Tanzaani Šiiliŋ",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunizi Dinar",
+ "symbol": "TND"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "Uganda Šiiliŋ",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambi Kwaca",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/dsb.json b/library/intl/resources/currency/dsb.json
new file mode 100644
index 000000000..4fc931fa3
--- /dev/null
+++ b/library/intl/resources/currency/dsb.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghaniski afgani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "albański lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "algeriski dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "ameriski dolar",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "angolska kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "argentinski peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "armeński dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "aruba-florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "awstralski dolar",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "azerbajdžaniski manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "bahamaski dolar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "bahrainski dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladešska taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "barbadoski dolar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "belizeski dolar",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "běłoruski rubl",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "bermudaski dolar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "bhutański ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "boliwiski boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "bosniska konwertibelna marka",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "botswaniska pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "brazilski real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britiski punt",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneiski dolar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "bulgarski lew",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "burundiski frank",
+ "symbol": "BIF"
+ },
+ "CZK": {
+ "name": "Äeska krona",
+ "symbol": "CZK"
+ },
+ "XOF": {
+ "name": "CFA-frank (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-frank (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-frank",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "chilski peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "chinski yuan",
+ "symbol": "CNÂ¥"
+ },
+ "HRK": {
+ "name": "chorwatska kuna",
+ "symbol": "HRK"
+ },
+ "DKK": {
+ "name": "dańska krona",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "dominikański peso",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "dźibutiski frank",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "egyptojski punt",
+ "symbol": "EGP"
+ },
+ "SVC": {
+ "name": "el-salvadorski colón",
+ "symbol": "SVC"
+ },
+ "ERN": {
+ "name": "eritrejska nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "etiopiski birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandski punt",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "fidźiski dolar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "filipinski peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "gambiski dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "georgiski lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "ghanaski cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "gibraltiski punt",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "guatemalski quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "guineski frank",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "guyański dolar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "haitiska gourda",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "honduraska lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "hongkongski dolar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "indiska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indoneska rupija",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "irakski dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "irański rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "islandska krona",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "israelski nowy Å¡ekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "jamaiski dolar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "japański yen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "jemeński rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "jordaniski dinar",
+ "symbol": "JOD"
+ },
+ "KYD": {
+ "name": "kajmaniski dolar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "kambodžaski riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadiski dolar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kapverdski escudo",
+ "symbol": "CVE"
+ },
+ "QAR": {
+ "name": "katarski rial",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "kazachski tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "keniaski Å¡iling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "kirgiski som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "kolumbiski peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "komorski frank",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "kongoski frank",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "kosta-rikański colón",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "kubański konwertibelny peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "kubański peso",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuwaitski dinar",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "laoski kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "libanoński punt",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "liberiski dolar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libyski dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "litawski litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "MOP": {
+ "name": "macaoska pataca",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "madagaskarski ariary",
+ "symbol": "MGA"
+ },
+ "HUF": {
+ "name": "madźarski forint",
+ "symbol": "HUF"
+ },
+ "MKD": {
+ "name": "makedoński denar",
+ "symbol": "MKD"
+ },
+ "MYR": {
+ "name": "malajziski ringgit",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "malawiski kwacha",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "malediwiska rupija",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "marokkoski dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "mauretański ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "mauriciska rupija",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "mexiski peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldawiski leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongolski tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "mosambikski metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "myanmarski kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "namibiski dolar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "nepalska rupija",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "nigeriska naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "nikaraguaska cordoba",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "nižozemsko-antilski gulden",
+ "symbol": "ANG"
+ },
+ "NOK": {
+ "name": "norwegska krona",
+ "symbol": "NOK"
+ },
+ "NZD": {
+ "name": "nowoseelandski dolar",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "nowy taiwański dolar",
+ "symbol": "NT$"
+ },
+ "OMR": {
+ "name": "omański rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "pakistańska rupija",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamaski balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "papua-neuguinejska kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "paraguayski guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "peruski nowy sol",
+ "symbol": "PEN"
+ },
+ "ZAR": {
+ "name": "pódpołdnjowoafriski rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "pódpołdnjowokorejski won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "pódpołdnjowosudański punt",
+ "symbol": "SSP"
+ },
+ "KPW": {
+ "name": "pódpołnocnokorejski won",
+ "symbol": "KPW"
+ },
+ "XCD": {
+ "name": "pódzajtšnokaribiski dolar",
+ "symbol": "EC$"
+ },
+ "PLN": {
+ "name": "pólski złoty",
+ "symbol": "zł"
+ },
+ "RWF": {
+ "name": "ruandiski frank",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "rumuński leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "ruski rubl",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "salomoński dolar",
+ "symbol": "SBD"
+ },
+ "ZMW": {
+ "name": "sambiska kwacha",
+ "symbol": "ZMW"
+ },
+ "WST": {
+ "name": "samoaska tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "são-tomeska dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "saudi-arabiski rial",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "serbiski dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "seychelska rupija",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "sierra-leoneski leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "singapurski dolar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "somaliski Å¡iling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "sri-lankaska rupija",
+ "symbol": "LKR"
+ },
+ "SHP": {
+ "name": "St. Helena punt",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "sudański punt",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "surinamski dolar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "swasiski lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Å¡wedska krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Å¡wicarski frank",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "syriski punt",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "tadźikiski somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "tansaniski Å¡iling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "thaiski baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "tongaski paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "trinidad-tobagoski dolar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "tuneziski dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "turkmeniski manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "turkojska lira",
+ "symbol": "TRY"
+ },
+ "UGX": {
+ "name": "ugandaski Å¡iling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukrainska griwna",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "uruguayski peso",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "usbekiski sum",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatski vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelski bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "vietnamski dong",
+ "symbol": "â‚«"
+ },
+ "AED": {
+ "name": "ZAE dirham",
+ "symbol": "AED"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/dyo.json b/library/intl/resources/currency/dyo.json
new file mode 100644
index 000000000..4b6fd80af
--- /dev/null
+++ b/library/intl/resources/currency/dyo.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "ariari yati Madagaskaar",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "birr yati Ecoopi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "dalasi yati Gambi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinaar yati Alseri",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinaar yati Bahrayn",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "dinaar yati Libia",
+ "symbol": "LYD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "CAD": {
+ "name": "dolaar yati Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "dolaar yati Liberia",
+ "symbol": "LRD"
+ },
+ "AUD": {
+ "name": "dolaar yati Ostraalia",
+ "symbol": "A$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "eskuudo yati Kap Ver",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "BIF": {
+ "name": "fraaŋ yati Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "fraaŋ yati Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "fraaŋ yati Komor",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "fraaŋ yati Kongo",
+ "symbol": "CDF"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "kwacha yati Malawi",
+ "symbol": "MWK"
+ },
+ "AOA": {
+ "name": "kwanza yati Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "EGP": {
+ "name": "liiverey yati Esípt",
+ "symbol": "EGP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "ERN": {
+ "name": "nafka yati Eritree",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "pula yati Boswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "rupii yati End",
+ "symbol": "₹"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "XAF": {
+ "name": "seefa BEAC",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "seefa yati BCEAO",
+ "symbol": "CFA"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "KES": {
+ "name": "silliŋ yati Keniya",
+ "symbol": "KES"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "ugiiya yati Mooritanii",
+ "symbol": "MRO"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "yen yati Sapoŋ",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "yuan yati Siin",
+ "symbol": "CNÂ¥"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/dz.json b/library/intl/resources/currency/dz.json
new file mode 100644
index 000000000..00a136c7c
--- /dev/null
+++ b/library/intl/resources/currency/dz.json
@@ -0,0 +1,634 @@
+{
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "XAF"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "QAR": {
+ "name": "ཀ་ཊར་གྱི་དངུལ་ རི་ཨཱལ",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "ཀ་ཛགས་à½à½±à½“་གྱི་དངུལ་ à½à½ºà½„་གེ",
+ "symbol": "KZT"
+ },
+ "CUP": {
+ "name": "ཀིའུ་བྷ་གི་དངུལ་ པེ་སོ",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "ཀུ་à½à½ºà½Šà¼‹à½‚ི་དངུལ་ ཌི་ན",
+ "symbol": "KWD"
+ },
+ "CAD": {
+ "name": "ཀེ་ན་ཌ་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "ཀེན་ཡ་གི་དངུལ་ ཤི་ལིང",
+ "symbol": "KES"
+ },
+ "KHR": {
+ "name": "ཀེམ་བྷོ་ཌི་ཡ་གི་དངུལ་ རི་ཨཱལ",
+ "symbol": "KHR"
+ },
+ "COP": {
+ "name": "ཀོ་ལོམ་བྷི་ཡ་གི་དངུལ་ པེ་སོ",
+ "symbol": "COP"
+ },
+ "CLP": {
+ "name": "ཅི་ལི་གི་དངུལ་ པེ་སོ",
+ "symbol": "CLP"
+ },
+ "JPY": {
+ "name": "ཇཱ་པཱན་གྱི་དངུལ་ ཡེན",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "ཇཱ་མཻ་ཀ་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "ཇོར་ཌན་གྱི་དངུལ་ ཌི་ན",
+ "symbol": "JOD"
+ },
+ "TZS": {
+ "name": "ཊཱན་ཛཱ་ནི་ཡ་གི་དངུལ་ ཤི་ལིང",
+ "symbol": "TZS"
+ },
+ "TWD": {
+ "name": "ཊཱའི་à½à½±à½“་གི་དངུལ ཌོ་ལར",
+ "symbol": "NT$"
+ },
+ "TRY": {
+ "name": "ཊཱར་ཀི་གི་དངུལ་ ལི་ར",
+ "symbol": "TRY"
+ },
+ "DKK": {
+ "name": "ཌེན་མཱཀ་གི་དངུལ་ ཀྲོན",
+ "symbol": "DKK"
+ },
+ "TJS": {
+ "name": "à½à¼‹à½‡à½²à¼‹à½€à½²à½¦à¼‹à½à½±à½“་གྱི་དངུལ་ སོ་མོ་ནི",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "à½à½±à½ à½²à¼‹à½£à½ºà½“ཌ་གི་དངུལ་ བཱà½",
+ "symbol": "TH฿"
+ },
+ "BTN": {
+ "name": "དངུལ་ཀྲམ",
+ "symbol": "Nu."
+ },
+ "NZD": {
+ "name": "ནིའུ་ཛི་ལེནཌ་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "NZ$"
+ },
+ "NOK": {
+ "name": "ནོར་à½à½ºà¼‹à½‚ི་དངུལ་ ཀྲོ་ན",
+ "symbol": "NOK"
+ },
+ "KPW": {
+ "name": "ནོརà½à¼‹ ཀོ་རི་ཡ་གི་དངུལ་ à½à½¼à½“",
+ "symbol": "KPW"
+ },
+ "PKR": {
+ "name": "པ་ཀིས་à½à½±à½“་གྱི་དངུལ་ རུ་པི",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "པ་ན་མ་གི་དངུལ་ བཱལ་བོ་à½",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "པ་རུ་གི་དངུལ་ ནུ་བོ་ སཱོལ",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "པོ་ལེནཌ་ཀྱི་དངུལ ཛ྄ལོ་ཊི",
+ "symbol": "PLN"
+ },
+ "PHP": {
+ "name": "ཕི་ལི་པིནས་གྱི་དངུལ་ པེ་སོ",
+ "symbol": "PHP"
+ },
+ "BMD": {
+ "name": "བར་མུ་ཌ་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "BMD"
+ },
+ "BRL": {
+ "name": "བྲ་ཛིལ་གྱི་དངུལ་ རེ་ཡལ",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "བྲི་ཊིཤ་ པ་འུནཌ་ ཨིས་ཊར་ལིང",
+ "symbol": "£"
+ },
+ "NPR": {
+ "name": "བལ་པོའི་དངུལ་ རུ་པི",
+ "symbol": "NPR"
+ },
+ "BDT": {
+ "name": "བྷང་ལ་དེཤ་གི་དངུལ་ à½à¼‹à½€",
+ "symbol": "BDT"
+ },
+ "VEF": {
+ "name": "བེ་ནི་ཛུ་à½à½ºà¼‹à½£à¼‹à½‚ི་དངུལ་ བོ་ལི་བར",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "བེཊ་ནཱམ་གྱི་དངུལ་ ཌོང",
+ "symbol": "â‚«"
+ },
+ "MYR": {
+ "name": "མ་ལེ་ཤི་ཡ་གི་དངུལ་ རིང་གིཊ",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "མཱལ་དིབས་ཀྱི་དངུལ་ རུ་ཕི་ཡ",
+ "symbol": "MVR"
+ },
+ "MMK": {
+ "name": "མི་ཡཱན་མར་གྱི་དངུལ་ ཅཱà½",
+ "symbol": "MMK"
+ },
+ "MXN": {
+ "name": "མེཀ་སི་ཀོ་གི་དངུལ་ པེ་སོ",
+ "symbol": "MX$"
+ },
+ "MAD": {
+ "name": "མོ་རོ་ཀོ་གི་དངུལ་ ཌིར་ཧཱམ",
+ "symbol": "MAD"
+ },
+ "UGX": {
+ "name": "ཡུ་གྷེན་ཌ་གི་དངུལ་ ཤི་ལིང",
+ "symbol": "UGX"
+ },
+ "AED": {
+ "name": "ཡུ་ནཱའི་ཊེཌ་ ཨ་རབ་ ཨེ་མེ་རེཊས་ཀྱི་དངུལ་ ཌིར་ཧཱམ",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "ཡུ་རུ་གུ་à½à½ à½²à¼‹à½‚ི་དངུལ་ པེ་སོ",
+ "symbol": "UYU"
+ },
+ "EUR": {
+ "name": "ཡུ་རོ༌དངུལ་",
+ "symbol": "€"
+ },
+ "USD": {
+ "name": "ཡུ་ཨེས་ ཌོ་ལར",
+ "symbol": "US$"
+ },
+ "INR": {
+ "name": "རྒྱ་གར་གྱི་དངུལ་ རུ་པི",
+ "symbol": "₹"
+ },
+ "CNY": {
+ "name": "རྒྱ་ནག་གི་དངུལ་ ཡུ་à½à½±à½“",
+ "symbol": "CNÂ¥"
+ },
+ "LAK": {
+ "name": "ལཱ་à½à½¼à½¦à¼‹à½€à¾±à½²à¼‹à½‘ངུལ་ ཀིཔ",
+ "symbol": "LAK"
+ },
+ "LRD": {
+ "name": "ལཱའི་བེ་རི་ཡ་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "ལི་བི་ཡ་གི་དངུལ་ ཌི་ན",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "ལེ་བ་ནོན་གྱི་དངུལ་ པ་འུནཌ",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "ཤྲི་ ལང་ཀ་གི་དངུལ་ རུ་པི",
+ "symbol": "LKR"
+ },
+ "SAR": {
+ "name": "སཱà½à¼‹à½‘ིའི་དངུལ་ རི་ཡཱལ",
+ "symbol": "SAR"
+ },
+ "KRW": {
+ "name": "སཱའུà½à¼‹ ཀོ་རི་ཡ་གི་དངུལ་ à½à½¼à½“",
+ "symbol": "KRâ‚©"
+ },
+ "ZAR": {
+ "name": "སཱའུà½à¼‹ ཨཕ་རི་ཀ་གི་དངུལ་ རཱནད",
+ "symbol": "ZAR"
+ },
+ "SYP": {
+ "name": "སི་རི་ཡ་གི་དངུལ་ པ་འུནཌ",
+ "symbol": "SYP"
+ },
+ "SGD": {
+ "name": "སིང་ག་པོར་གྱི་དངུལ་ ཌོ་ལར",
+ "symbol": "SGD"
+ },
+ "CHF": {
+ "name": "སུ་ཡིས་ཀྱི་དངུལ་ ཕྲངཀ",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "སུའི་ཌེན་གྱི་དངུལ་ ཀྲོ་ན",
+ "symbol": "SEK"
+ },
+ "SCR": {
+ "name": "སེ་ཤཱལས་ཀྱི་དངུལ་ རུ་པི",
+ "symbol": "SCR"
+ },
+ "MNT": {
+ "name": "སོག་པོའི་དངུལ་ à½à½´à¼‹à½‚ྲིཀ",
+ "symbol": "MNT"
+ },
+ "HKD": {
+ "name": "ཧོང་ཀོང་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "HK$"
+ },
+ "AFN": {
+ "name": "ཨཕ་གཱན་གྱི་དངུལ་ ཨཕ་ག་ནི",
+ "symbol": "AFN"
+ },
+ "ISK": {
+ "name": "ཨཱཡིས་ལེནཌ་གི་དངུལ་ ཀྲོ་ན",
+ "symbol": "ISK"
+ },
+ "DZD": {
+ "name": "ཨཱལ་ཇི་རི་ཡ་གི་དངུལ་ ཌའི་ནར",
+ "symbol": "DZD"
+ },
+ "AUD": {
+ "name": "ཨཱོས་ཊྲེ་ལི་ཡ་གི་དངུལ་ ཌོ་ལར",
+ "symbol": "AU$"
+ },
+ "EGP": {
+ "name": "ཨི་ཇིབཊ་གི་དངུལ་ པ་འུནཌ",
+ "symbol": "EGP"
+ },
+ "IQD": {
+ "name": "ཨི་རཱཀ་གི་དངུལ་ ཌི་ན",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ཨི་རཱན་གྱི་དངུལ་ རི་ཨཱལ",
+ "symbol": "IRR"
+ },
+ "IDR": {
+ "name": "ཨིན་ཌོ་ནེ་ཤི་ཡ་གི་དངུལ་ རུ་པི་ཡ",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ཨིས་རེལ་གྱི་དངུལ་གསརཔ་ ཤེ་ཀེལ",
+ "symbol": "ILS"
+ },
+ "RUB": {
+ "name": "ཨུ་རུ་སུ་གི་དངུལ་ རུ་བཱལ",
+ "symbol": "RUB"
+ },
+ "UZS": {
+ "name": "ཨུས་བེ་ཀིས་à½à½±à½“་གྱི་དངུལ་ སོམ",
+ "symbol": "UZS"
+ },
+ "OMR": {
+ "name": "ཨོ་མཱན་གྱི་དངུལ་ རི་ཨཱལ",
+ "symbol": "OMR"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ebu.json b/library/intl/resources/currency/ebu.json
new file mode 100644
index 000000000..017f934f0
--- /dev/null
+++ b/library/intl/resources/currency/ebu.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "AUD": {
+ "name": "Dora ya Australia",
+ "symbol": "A$"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ee.json b/library/intl/resources/currency/ee.json
new file mode 100644
index 000000000..4456aba62
--- /dev/null
+++ b/library/intl/resources/currency/ee.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghanistanga afghani",
+ "symbol": "AFN"
+ },
+ "ISK": {
+ "name": "aiselandga króna",
+ "symbol": "ISK"
+ },
+ "ALL": {
+ "name": "albaniaga lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "aldzeriaga dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "angolaga kwanza",
+ "symbol": "AOA"
+ },
+ "ZAR": {
+ "name": "anyiehe afrikaga rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "anyiehe koreaga won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "anyiehe sudanga pound",
+ "symbol": "SSP"
+ },
+ "ARS": {
+ "name": "argentinaga peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "armeniaga dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "arubaga lorin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "australiaga dollar",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "azerbaidzanga manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "bahamiaga dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "bahrainga dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladeshga taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "barbadiaga dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "belarusiaga ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "belizega dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "bermudaga dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "bhutanga ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "boliviaga boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "bosnia-herzegovinaga convertible mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "botswanaga pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "brazilga real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britainga pound sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneiga dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "bulgariaga lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "burundiga franc",
+ "symbol": "BIF"
+ },
+ "XPF": {
+ "name": "CFP ga franc",
+ "symbol": "CFPF"
+ },
+ "DKK": {
+ "name": "danemarkga krone",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "dominicaga peso",
+ "symbol": "DOP"
+ },
+ "JMD": {
+ "name": "dzamaikaga dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "dzapanga yen",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "dziboutiga franc",
+ "symbol": "DJF"
+ },
+ "KPW": {
+ "name": "dziehe koreaga won",
+ "symbol": "KPW"
+ },
+ "GEL": {
+ "name": "dzɔdziaga lari",
+ "symbol": "GEL"
+ },
+ "EGP": {
+ "name": "egyptega pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "eritreaga nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ethiopiaga birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklanɖ ƒudomekpo dukɔwo ƒe ga pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "fidziga dollar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "filipiniga peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "gambiaga dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ghana siÉ–i",
+ "symbol": "GH₵"
+ },
+ "GIP": {
+ "name": "gilbrataga pound",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "giniga franc",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "guatemalaga quetzal",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "guyanaga dollar",
+ "symbol": "GYD"
+ },
+ "XCD": {
+ "name": "É£edzeÆ’e caribbeaga dollar",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "É£etoÉ–ofe afrikaga CFA franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "É£etoÉ–ofe afrikaga CFA franc BEAC",
+ "symbol": "FCFA"
+ },
+ "HTG": {
+ "name": "haitiga gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "honduraga lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "hong kongga dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "hungariaga forint",
+ "symbol": "HUF"
+ },
+ "INR": {
+ "name": "indiaga rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indinesiaga rupiah",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "irakga dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "iranga rial",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "israelga yeyetÉ” sheqel",
+ "symbol": "₪"
+ },
+ "KHR": {
+ "name": "kambodiaga riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadaga dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kape verdega escudo",
+ "symbol": "CVE"
+ },
+ "QAR": {
+ "name": "katarga rial",
+ "symbol": "QAR"
+ },
+ "KYD": {
+ "name": "kayman Æ’udomekpoga dollar",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "kazakhstanga tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "kenyaga shilling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "kirgistanga som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "kolombiaga peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "komoroga franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "kongoga franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "kosta rikaga kolón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "kroatiaga kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "kubaga convertible peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "kubaga peso",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuwaitga dinar",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "laosga kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "lebanonga pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "lesotoga loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "liberiaga dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libyaga dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "lithuaniaga litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "makanesega pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "makedoniaga denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "malagasega ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "malawiga kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "malaysiaga ringit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "maldiviaga rufiyaa",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "meksikoga peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldovaga leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongoliaga tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "morokoga dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "mozambikga metikal",
+ "symbol": "MZN"
+ },
+ "MRO": {
+ "name": "mɔritaniaga ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "mɔritiusga rupee",
+ "symbol": "MUR"
+ },
+ "MMK": {
+ "name": "myanmaga kyat",
+ "symbol": "MMK"
+ },
+ "NGN": {
+ "name": "naidzeriaga naira",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "namibiaga dollar",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "nedalands antilleaga guilder",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "nepalga rupee",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "new zealanÉ–ga dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "nikaraguaga córdoba",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "norwayga krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "omanga rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "pakistaniga rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamaga balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "papua new guineaga kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "paraguayga guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "peruga nuevo sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "polanÉ–ga zloty",
+ "symbol": "PLN"
+ },
+ "RON": {
+ "name": "romaniaga leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "rɔtsiaga ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "rwandaga franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "saint helenaga pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "salvadɔga colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "samaoga tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "são tomé kple príncipega dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "saudiga riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "serbiaga dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "sɛtselsga rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "sierra leonega leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "singapɔga dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "solomon ƒudomekpo dukɔwo ƒe ga dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "somaliaga shilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "sri lankaga rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "sudanga pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "surinamga dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "swaziga lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "swedenga krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "swissga franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "syriaga pound",
+ "symbol": "SYP"
+ },
+ "TWD": {
+ "name": "taiwanga yeye dollar",
+ "symbol": "NT$"
+ },
+ "TJS": {
+ "name": "tajikistanga somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzaniatɔwofɛgadudu",
+ "symbol": "TZS"
+ },
+ "TRY": {
+ "name": "tɛkiiga lira",
+ "symbol": "TRY"
+ },
+ "THB": {
+ "name": "thaiga baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "tonagaga pa’anga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "trinidad kple tobagoga dollar",
+ "symbol": "TTD"
+ },
+ "CNY": {
+ "name": "tsainaga yuan",
+ "symbol": "CNÂ¥"
+ },
+ "CZK": {
+ "name": "tsɛk repɔblikga koruna",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "tsilega peso",
+ "symbol": "CLP"
+ },
+ "TND": {
+ "name": "tunisiaga dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "turkmenistanga manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "ugandaga shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukrainega hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "united arab emiratesga dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "uruguayga peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "us ga dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "uzbekistanga som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatuga vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelaga bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "vietnamga dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "yemeniga rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "yɔdanga dinar",
+ "symbol": "JOD"
+ },
+ "ZMW": {
+ "name": "zambiaga kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "zimbabwega dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/el.json b/library/intl/resources/currency/el.json
new file mode 100644
index 000000000..4fd78bddf
--- /dev/null
+++ b/library/intl/resources/currency/el.json
@@ -0,0 +1,634 @@
+{
+ "MGA": {
+ "name": "ΑÏιάÏι ΜαδαγασκάÏης",
+ "symbol": "MGA"
+ },
+ "AFN": {
+ "name": "Αφγάνι Αφγανιστάν",
+ "symbol": "AFN"
+ },
+ "VUV": {
+ "name": "Î’Î±Ï„Î¿Ï Î’Î±Î½Î¿Ï…Î¬Ï„Î¿Ï…",
+ "symbol": "VUV"
+ },
+ "JPY": {
+ "name": "Γιεν Ιαπωνίας",
+ "symbol": "JPÂ¥"
+ },
+ "ANG": {
+ "name": "Γκίλντα Ολλανδικών Αντιλλών",
+ "symbol": "ANG"
+ },
+ "PYG": {
+ "name": "ΓκουαÏανί ΠαÏαγουάης",
+ "symbol": "PYG"
+ },
+ "HTG": {
+ "name": "ΓκουÏντ Αϊτής",
+ "symbol": "HTG"
+ },
+ "CNY": {
+ "name": "Γουάν Κίνας",
+ "symbol": "CNÂ¥"
+ },
+ "KPW": {
+ "name": "Γουόν Î’ÏŒÏειας ΚοÏέας",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Γουόν Îότιας ΚοÏέας",
+ "symbol": "â‚©"
+ },
+ "UAH": {
+ "name": "ΓÏίβνα ΟυκÏανίας",
+ "symbol": "UAH"
+ },
+ "DZD": {
+ "name": "ΔηνάÏιο ΑλγεÏίας",
+ "symbol": "DZD"
+ },
+ "JOD": {
+ "name": "ΔηνάÏιο ΙοÏδανίας",
+ "symbol": "JOD"
+ },
+ "IQD": {
+ "name": "ΔηνάÏιο ΙÏάκ",
+ "symbol": "IQD"
+ },
+ "KWD": {
+ "name": "ΔηνάÏιο Κουβέιτ",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "ΔηνάÏιο ΛιβÏης",
+ "symbol": "LYD"
+ },
+ "BHD": {
+ "name": "ΔηνάÏιο ΜπαχÏέιν",
+ "symbol": "BHD"
+ },
+ "MKD": {
+ "name": "ΔηνάÏιο Π.Γ.Δ.Îœ.",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "ΔηνάÏιο ΣεÏβίας",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "ΔηνάÏιο Τυνησίας",
+ "symbol": "TND"
+ },
+ "XCD": {
+ "name": "ΔολάÏιο Ανατολικής ΚαÏαϊβικής",
+ "symbol": "EC$"
+ },
+ "AUD": {
+ "name": "ΔολάÏιο ΑυστÏαλίας",
+ "symbol": "A$"
+ },
+ "BMD": {
+ "name": "ΔολάÏιο ΒεÏμοÏδων",
+ "symbol": "BMD"
+ },
+ "GYD": {
+ "name": "ΔολάÏιο Γουιάνας",
+ "symbol": "GYD"
+ },
+ "ZWL": {
+ "name": "ΔολάÏιο Ζιμπάμπουε (2009)",
+ "symbol": "ZWL"
+ },
+ "USD": {
+ "name": "ΔολάÏιο ΗΠΑ",
+ "symbol": "$"
+ },
+ "CAD": {
+ "name": "ΔολάÏιο Καναδά",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "ΔολάÏιο ΛιβεÏίας",
+ "symbol": "LRD"
+ },
+ "BBD": {
+ "name": "ΔολάÏιο ΜπαÏμπάντος",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "ΔολάÏιο Μπαχάμες",
+ "symbol": "BSD"
+ },
+ "BZD": {
+ "name": "ΔολάÏιο Μπελίζ",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "ΔολάÏιο ΜπÏουνέι",
+ "symbol": "BND"
+ },
+ "NAD": {
+ "name": "ΔολάÏιο Îαμίμπια",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "ΔολάÏιο Îέας Ζηλανδίας",
+ "symbol": "NZ$"
+ },
+ "KYD": {
+ "name": "ΔολάÏιο Îήσων Κάιμαν",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "ΔολάÏιο Îήσων Σολομώντος",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "ΔολάÏιο ΣιγκαποÏÏης",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "ΔολάÏιο ΣουÏινάμ",
+ "symbol": "SRD"
+ },
+ "JMD": {
+ "name": "ΔολάÏιο Τζαμάικας",
+ "symbol": "JMD"
+ },
+ "TTD": {
+ "name": "ΔολάÏιο ΤÏινιντάντ και Τομπάγκο",
+ "symbol": "TTD"
+ },
+ "FJD": {
+ "name": "ΔολάÏιο Φίτζι",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "ΔολάÏιο Χονγκ Κονγκ",
+ "symbol": "HK$"
+ },
+ "CVE": {
+ "name": "ΕσκοÏδο ΠÏάσινου ΑκÏωτηÏίου",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "ΕυÏÏŽ",
+ "symbol": "€"
+ },
+ "PLN": {
+ "name": "Ζλότι Πολωνίας",
+ "symbol": "PLN"
+ },
+ "PGK": {
+ "name": "Κίνα ΠαποÏα Îέα Γουινέα",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Κιπ Λάος",
+ "symbol": "LAK"
+ },
+ "SVC": {
+ "name": "Κολόν Ελ ΣαλβαδόÏ",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Κολόν Κόστα Ρίκα",
+ "symbol": "CRC"
+ },
+ "DKK": {
+ "name": "ΚοÏόνα Δανίας",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "ΚοÏόνα Ισλανδίας",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "ΚοÏόνα ÎοÏβηγίας",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "ΚοÏόνα Σουηδίας",
+ "symbol": "SEK"
+ },
+ "CZK": {
+ "name": "ΚοÏόνα Τσεχίας",
+ "symbol": "CZK"
+ },
+ "AOA": {
+ "name": "Κουάνζα Ανγκόλας",
+ "symbol": "AOA"
+ },
+ "ZMW": {
+ "name": "Κουάτσα Ζάμπιας",
+ "symbol": "ZMW"
+ },
+ "MWK": {
+ "name": "Κουάτσα Μαλάουι",
+ "symbol": "MWK"
+ },
+ "GTQ": {
+ "name": "Κουετσάλ Γουατεμάλας",
+ "symbol": "GTQ"
+ },
+ "HRK": {
+ "name": "ΚοÏνα ΚÏοατίας",
+ "symbol": "HRK"
+ },
+ "MMK": {
+ "name": "Κυάτ ΜιανμάÏ",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "ΛάÏι ΓεωÏγίας",
+ "symbol": "GEL"
+ },
+ "BGN": {
+ "name": "Λεβ ΒουλγαÏίας",
+ "symbol": "BGN"
+ },
+ "ALL": {
+ "name": "Λεκ Αλβανίας",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "ΛεμπίÏα ΟνδοÏÏας",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Λεόνε ΣιέÏα Λεόνε",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Λέου Μολδαβίας",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Λέου Ρουμανίας",
+ "symbol": "RON"
+ },
+ "SZL": {
+ "name": "Λιλανγκένι Σουαζιλάνδης",
+ "symbol": "SZL"
+ },
+ "SHP": {
+ "name": "ΛίÏα Αγίας Ελένης",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "ΛίÏα ΑιγÏπτου",
+ "symbol": "EGP"
+ },
+ "GIP": {
+ "name": "ΛίÏα ΓιβÏαλτάÏ",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "ΛίÏα Λιβάνου",
+ "symbol": "LBP"
+ },
+ "FKP": {
+ "name": "ΛίÏα Îησιών Φώκλαντ",
+ "symbol": "FKP"
+ },
+ "SSP": {
+ "name": "ΛίÏα Îότιου Σουδάν",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "ΛίÏα Σουδάν",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "ΛίÏα ΣτεÏλίνα Î’Ïετανίας",
+ "symbol": "£"
+ },
+ "SYP": {
+ "name": "ΛίÏα ΣυÏίας",
+ "symbol": "SYP"
+ },
+ "LTL": {
+ "name": "Λίτα Λιθουανίας",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Λότι Λεσότο",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Μανάτ ΑζεÏμπαϊτζάν",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Μάνατ ΤουÏκμενιστάν",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "ΜετατÏέψιμο ΜάÏκο Βοσνίας-ΕÏζεγοβίνης",
+ "symbol": "BAM"
+ },
+ "CUC": {
+ "name": "ΜετατÏέψιμο πέσο ΚοÏβας",
+ "symbol": "CUC"
+ },
+ "MZN": {
+ "name": "Μετικάλ Μοζαμβίκης",
+ "symbol": "MZN"
+ },
+ "PAB": {
+ "name": "Μπαλμπόα Παναμά",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "Μπατ Ταϊλάνδης",
+ "symbol": "฿"
+ },
+ "ETB": {
+ "name": "ÎœÏ€Î¹Ï Î‘Î¹Î¸Î¹Î¿Ï€Î¯Î±Ï‚",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "ÎœÏ€Î¿Î»Î¹Î²Î¬Ï Î’ÎµÎ½ÎµÎ¶Î¿Ï…Î­Î»Î±Ï‚",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Μπολιβιάνο Βολιβίας",
+ "symbol": "BOB"
+ },
+ "NGN": {
+ "name": "ÎάιÏα ÎιγηÏίας",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Îάκφα ΕÏυθÏαίας",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "ÎγκοÏλτÏουμ Μπουτάν",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Îέο δολάÏιο Ταϊβάν",
+ "symbol": "NT$"
+ },
+ "ILS": {
+ "name": "Îέο Σέκελ ΙσÏαήλ",
+ "symbol": "₪"
+ },
+ "PEN": {
+ "name": "Îέο Σολ ΠεÏοÏ",
+ "symbol": "PEN"
+ },
+ "GMD": {
+ "name": "Îταλάσι Γκάμπιας",
+ "symbol": "GMD"
+ },
+ "AED": {
+ "name": "ÎτιÏάμ Ηνωμένων ΑÏαβικών ΕμιÏάτων",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "ÎτιÏάμ ΜαÏόκου",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "ÎτόμπÏα Σάο Τομέ και ΠÏίνσιπε",
+ "symbol": "STD"
+ },
+ "VND": {
+ "name": "Îτονγκ Βιετνάμ",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "ÎÏ„Ïαμ ΑÏμενίας",
+ "symbol": "AMD"
+ },
+ "MRO": {
+ "name": "Ουγκίγια ΜαυÏιτανίας",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Παάγκα νήσων Τόγκα",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Πατάκα Μακάο",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Πέσο ΑÏγεντινής",
+ "symbol": "ARS"
+ },
+ "DOP": {
+ "name": "Πέσο Δομινικανής ΔημοκÏατίας",
+ "symbol": "DOP"
+ },
+ "COP": {
+ "name": "Πέσο Κολομβίας",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Πέσο ΚοÏβας",
+ "symbol": "CUP"
+ },
+ "MXN": {
+ "name": "Πέσο ΜεξικοÏ",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Πέσο ΟυÏουγουάης",
+ "symbol": "UYU"
+ },
+ "PHP": {
+ "name": "Πέσο Φιλιππίνων",
+ "symbol": "PHP"
+ },
+ "CLP": {
+ "name": "Πέσο Χιλής",
+ "symbol": "CLP"
+ },
+ "BWP": {
+ "name": "ΠοÏλα Μποτσουάνας",
+ "symbol": "BWP"
+ },
+ "ZAR": {
+ "name": "Ραντ Îότιας ΑφÏικής",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Ρεάλ Î’Ïαζιλίας",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Ριάλ ΙÏάν",
+ "symbol": "IRR"
+ },
+ "QAR": {
+ "name": "Ριάλ ΚατάÏ",
+ "symbol": "QAR"
+ },
+ "OMR": {
+ "name": "Ριάλ Ομάν",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "Ριάλ Σαουδικής ΑÏαβίας",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "Ριάλ Υεμένης",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "Ρίελ Καμπότζης",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ρινγκίτ Μαλαισίας",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "ΡοÏβλι ΛευκοÏωσίας",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "ΡοÏβλι Ρωσίας",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Ρουπία Ινδίας",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Ρουπία Ινδονησίας",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Ρουπία ΜαυÏικίου",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Ρουπία Îεπάλ",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Ρουπία Πακιστάν",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Ρουπία Σεϋχελλών",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "Ρουπία ΣÏι Λάνκα",
+ "symbol": "LKR"
+ },
+ "MVR": {
+ "name": "Ρουφίγια Μαλδίβων",
+ "symbol": "MVR"
+ },
+ "KES": {
+ "name": "Σελίνι Κένυας",
+ "symbol": "KES"
+ },
+ "UGX": {
+ "name": "Σελίνι Ουγκάντας",
+ "symbol": "UGX"
+ },
+ "SOS": {
+ "name": "Σελίνι Σομαλίας",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Σελίνι Τανζανίας",
+ "symbol": "TZS"
+ },
+ "GHS": {
+ "name": "Σέντι Γκάνας",
+ "symbol": "GHS"
+ },
+ "KGS": {
+ "name": "Σομ ΚιÏγιζίας",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Σομ Ουζμπεκιστάν",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Σομόνι Τατζικιστάν",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Τάκα Μπαγκλαντές",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Τάλα Σαμόα",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Τένγκε Καζακστάν",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "ΤουγκÏίκ Μογγολίας",
+ "symbol": "MNT"
+ },
+ "TRY": {
+ "name": "ΤουÏκική ΛίÏα",
+ "symbol": "TRY"
+ },
+ "HUF": {
+ "name": "ΦιοÏίνι ΟυγγαÏίας",
+ "symbol": "HUF"
+ },
+ "AWG": {
+ "name": "ΦλοÏίνι ΑÏοÏμπα",
+ "symbol": "AWG"
+ },
+ "XOF": {
+ "name": "ΦÏάγκο CFA Δυτικής ΑφÏικής (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "ΦÏάγκο CFA ΚεντÏικής ΑφÏικής (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "ΦÏάγκο CFP",
+ "symbol": "CFPF"
+ },
+ "GNF": {
+ "name": "ΦÏάγκο Γουινέας",
+ "symbol": "GNF"
+ },
+ "CHF": {
+ "name": "ΦÏάγκο Ελβετίας",
+ "symbol": "CHF"
+ },
+ "KMF": {
+ "name": "ΦÏάγκο ΚομοÏών",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "ΦÏάγκο Κονγκό",
+ "symbol": "CDF"
+ },
+ "BIF": {
+ "name": "ΦÏάγκο ΜπουÏοÏντι",
+ "symbol": "BIF"
+ },
+ "RWF": {
+ "name": "ΦÏάγκο Ρουάντας",
+ "symbol": "RWF"
+ },
+ "DJF": {
+ "name": "ΦÏάγκο Τζιμπουτί",
+ "symbol": "DJF"
+ },
+ "NIO": {
+ "name": "ΧÏυσή ΚόÏδοβα ÎικαÏάγουας",
+ "symbol": "NIO"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-AU.json b/library/intl/resources/currency/en-AU.json
new file mode 100644
index 000000000..931c1a515
--- /dev/null
+++ b/library/intl/resources/currency/en-AU.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Rouble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XAF": {
+ "name": "Central African CFA Franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Rouble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychelles Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistani Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "XOF": {
+ "name": "West African CFA Franc",
+ "symbol": "CFA"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-BE.json b/library/intl/resources/currency/en-BE.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-BE.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-DG.json b/library/intl/resources/currency/en-DG.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-DG.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-FK.json b/library/intl/resources/currency/en-FK.json
new file mode 100644
index 000000000..23aeb894e
--- /dev/null
+++ b/library/intl/resources/currency/en-FK.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "GB£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "£"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-GB.json b/library/intl/resources/currency/en-GB.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-GB.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-GG.json b/library/intl/resources/currency/en-GG.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-GG.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-GI.json b/library/intl/resources/currency/en-GI.json
new file mode 100644
index 000000000..f29f8999a
--- /dev/null
+++ b/library/intl/resources/currency/en-GI.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "GB£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "£"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-HK.json b/library/intl/resources/currency/en-HK.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-HK.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-IE.json b/library/intl/resources/currency/en-IE.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-IE.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-IM.json b/library/intl/resources/currency/en-IM.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-IM.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-IN.json b/library/intl/resources/currency/en-IN.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-IN.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-IO.json b/library/intl/resources/currency/en-IO.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-IO.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-JE.json b/library/intl/resources/currency/en-JE.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-JE.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-MO.json b/library/intl/resources/currency/en-MO.json
new file mode 100644
index 000000000..70f96d7ad
--- /dev/null
+++ b/library/intl/resources/currency/en-MO.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP$"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-MT.json b/library/intl/resources/currency/en-MT.json
new file mode 100644
index 000000000..b618be685
--- /dev/null
+++ b/library/intl/resources/currency/en-MT.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "GB£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-NZ.json b/library/intl/resources/currency/en-NZ.json
new file mode 100644
index 000000000..00a9ef4f4
--- /dev/null
+++ b/library/intl/resources/currency/en-NZ.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-PK.json b/library/intl/resources/currency/en-PK.json
new file mode 100644
index 000000000..0a373668f
--- /dev/null
+++ b/library/intl/resources/currency/en-PK.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "Rs"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-SG.json b/library/intl/resources/currency/en-SG.json
new file mode 100644
index 000000000..9a26f42ce
--- /dev/null
+++ b/library/intl/resources/currency/en-SG.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "$"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-SH.json b/library/intl/resources/currency/en-SH.json
new file mode 100644
index 000000000..5cee5ff19
--- /dev/null
+++ b/library/intl/resources/currency/en-SH.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "GB£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "£"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en-VG.json b/library/intl/resources/currency/en-VG.json
new file mode 100644
index 000000000..2dbdae5ca
--- /dev/null
+++ b/library/intl/resources/currency/en-VG.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé and Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/en.json b/library/intl/resources/currency/en.json
new file mode 100644
index 000000000..937c7a750
--- /dev/null
+++ b/library/intl/resources/currency/en.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Cuban Convertible Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Danish Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Sheqel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SVC": {
+ "name": "Salvadoran Colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé & Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SHP": {
+ "name": "St. Helena Pound",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "THB"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad & Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UYU": {
+ "name": "Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US Dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwean Dollar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/eo.json b/library/intl/resources/currency/eo.json
new file mode 100644
index 000000000..16a868f49
--- /dev/null
+++ b/library/intl/resources/currency/eo.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AÅ­stralia dolaro",
+ "symbol": "AU$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "INR": {
+ "name": "Barata rupio",
+ "symbol": "₹"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "Brazila realo",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Brita pundo",
+ "symbol": "£"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "CNY": {
+ "name": "Ĉina juano",
+ "symbol": "CNÂ¥"
+ },
+ "DKK": {
+ "name": "Dana krono",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "EÅ­ro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Honkonga dolaro",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IDR": {
+ "name": "Indonezia rupio",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JPY": {
+ "name": "Japana eno",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CAD": {
+ "name": "Kanada dolaro",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MXN": {
+ "name": "Meksika peso",
+ "symbol": "MX$"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Norvega krono",
+ "symbol": "NOK"
+ },
+ "TWD": {
+ "name": "Nova tajvana dolaro",
+ "symbol": "NT$"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "Pola zloto",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "Rusa rublo",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "Sauda rialo",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "ZAR": {
+ "name": "Sud-afrika rando",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Sud-korea Å­ono",
+ "symbol": "â‚©"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SEK": {
+ "name": "Sveda krono",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Svisa franko",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "Taja bahto",
+ "symbol": "฿"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TRY": {
+ "name": "Turka liro",
+ "symbol": "₺"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "Usona dolaro",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-AR.json b/library/intl/resources/currency/es-AR.json
new file mode 100644
index 000000000..66ec77ec7
--- /dev/null
+++ b/library/intl/resources/currency/es-AR.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "$"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-BO.json b/library/intl/resources/currency/es-BO.json
new file mode 100644
index 000000000..a36de1ec8
--- /dev/null
+++ b/library/intl/resources/currency/es-BO.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "Bs"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-CL.json b/library/intl/resources/currency/es-CL.json
new file mode 100644
index 000000000..f4f4136e3
--- /dev/null
+++ b/library/intl/resources/currency/es-CL.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "$"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-CO.json b/library/intl/resources/currency/es-CO.json
new file mode 100644
index 000000000..f8e90ed93
--- /dev/null
+++ b/library/intl/resources/currency/es-CO.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "$"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-CR.json b/library/intl/resources/currency/es-CR.json
new file mode 100644
index 000000000..0f49bb020
--- /dev/null
+++ b/library/intl/resources/currency/es-CR.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "â‚¡"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-CU.json b/library/intl/resources/currency/es-CU.json
new file mode 100644
index 000000000..e5b0bbe16
--- /dev/null
+++ b/library/intl/resources/currency/es-CU.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "$"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-DO.json b/library/intl/resources/currency/es-DO.json
new file mode 100644
index 000000000..a7dacfdcc
--- /dev/null
+++ b/library/intl/resources/currency/es-DO.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "$"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-EC.json b/library/intl/resources/currency/es-EC.json
new file mode 100644
index 000000000..a179e61e0
--- /dev/null
+++ b/library/intl/resources/currency/es-EC.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-GT.json b/library/intl/resources/currency/es-GT.json
new file mode 100644
index 000000000..c7c365d46
--- /dev/null
+++ b/library/intl/resources/currency/es-GT.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "Q"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-HN.json b/library/intl/resources/currency/es-HN.json
new file mode 100644
index 000000000..23b5c1963
--- /dev/null
+++ b/library/intl/resources/currency/es-HN.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "L"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-MX.json b/library/intl/resources/currency/es-MX.json
new file mode 100644
index 000000000..bccac0880
--- /dev/null
+++ b/library/intl/resources/currency/es-MX.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani afgano",
+ "symbol": "Af"
+ },
+ "MGA": {
+ "name": "ariary malgache",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "baht tailandés",
+ "symbol": "THB"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi ghanés",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi gambiano",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra de Santo Tomé y Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "dólar de Brunéi",
+ "symbol": "BND"
+ },
+ "HKD": {
+ "name": "dólar de Hong Kong",
+ "symbol": "HKD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "dólar de las Islas Salomón",
+ "symbol": "SBD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "JMD": {
+ "name": "dólar jamaiquino",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong vietnamita",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram armenio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "Afl."
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "Naf"
+ },
+ "HUF": {
+ "name": "florín húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "XPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna ucraniana",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "PGK": {
+ "name": "kina de Papúa Nueva Guinea",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip laosiano",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "kwacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kwanza angoleño",
+ "symbol": "Kz"
+ },
+ "MMK": {
+ "name": "kyat de Myanmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek albanés",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leone de Sierra Leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "lev búlgaro",
+ "symbol": "BGN"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina británica",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "FKP": {
+ "name": "libra malvinense",
+ "symbol": "FKP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni suazi",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas lituano",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turkmeno",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical mozambiqueño",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira nigeriano",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa eritreo",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "ngultrum butanés",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo shéquel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "ouguiya mauritano",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "paʻanga tongano",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca de Macao",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "$a"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "$"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula botsuano",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand sudafricano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel camboyano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringgit malayo",
+ "symbol": "MYR"
+ },
+ "QAR": {
+ "name": "riyal de Qatar",
+ "symbol": "QAR"
+ },
+ "SAR": {
+ "name": "riyal saudí",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiyaa de Maldivas",
+ "symbol": "MVR"
+ },
+ "SCR": {
+ "name": "rupia de Seychelles",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "rupia de Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "KGS": {
+ "name": "som kirguís",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "som uzbeko",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "taka de Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazajo",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik mongol",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "vatu vanuatuense",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen japonés",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan chino",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "zloty polaco",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-NI.json b/library/intl/resources/currency/es-NI.json
new file mode 100644
index 000000000..03f0380c1
--- /dev/null
+++ b/library/intl/resources/currency/es-NI.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "C$"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-PA.json b/library/intl/resources/currency/es-PA.json
new file mode 100644
index 000000000..4722f6a4f
--- /dev/null
+++ b/library/intl/resources/currency/es-PA.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "B\/."
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-PE.json b/library/intl/resources/currency/es-PE.json
new file mode 100644
index 000000000..649ceafdd
--- /dev/null
+++ b/library/intl/resources/currency/es-PE.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "S\/."
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-PR.json b/library/intl/resources/currency/es-PR.json
new file mode 100644
index 000000000..a179e61e0
--- /dev/null
+++ b/library/intl/resources/currency/es-PR.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-PY.json b/library/intl/resources/currency/es-PY.json
new file mode 100644
index 000000000..77d31f30e
--- /dev/null
+++ b/library/intl/resources/currency/es-PY.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "₲"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-SV.json b/library/intl/resources/currency/es-SV.json
new file mode 100644
index 000000000..a179e61e0
--- /dev/null
+++ b/library/intl/resources/currency/es-SV.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-US.json b/library/intl/resources/currency/es-US.json
new file mode 100644
index 000000000..946b66bba
--- /dev/null
+++ b/library/intl/resources/currency/es-US.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "Â¥"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-UY.json b/library/intl/resources/currency/es-UY.json
new file mode 100644
index 000000000..848dfdeb0
--- /dev/null
+++ b/library/intl/resources/currency/es-UY.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "US$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "$"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es-VE.json b/library/intl/resources/currency/es-VE.json
new file mode 100644
index 000000000..effb954e4
--- /dev/null
+++ b/library/intl/resources/currency/es-VE.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "Bs."
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dólar bahameño",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar beliceño",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CAD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "USD"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dólar hongkonés",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMK"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo sheqel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia esrilanquesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/es.json b/library/intl/resources/currency/es.json
new file mode 100644
index 000000000..483f13004
--- /dev/null
+++ b/library/intl/resources/currency/es.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariari",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "balboa panameño",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "bat",
+ "symbol": "฿"
+ },
+ "ETB": {
+ "name": "bir",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "chelín keniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "corona checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "corona danesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "corona islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "corona noruega",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corona sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreiní",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iraquí",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunecino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dírham de los Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dírham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dólar australiano",
+ "symbol": "AUD"
+ },
+ "BND": {
+ "name": "dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dólar canadiense",
+ "symbol": "CA$"
+ },
+ "BBD": {
+ "name": "dólar de Barbados",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dólar de Belice",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "dólar de Bermudas",
+ "symbol": "BMD"
+ },
+ "HKD": {
+ "name": "dólar de Hong Kong",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dólar de Jamaica",
+ "symbol": "JMD"
+ },
+ "BSD": {
+ "name": "dólar de las Bahamas",
+ "symbol": "BSD"
+ },
+ "KYD": {
+ "name": "dólar de las Islas Caimán",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "dólar de Trinidad y Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dólar del Caribe Oriental",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "dólar fiyiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dólar guyanés",
+ "symbol": "GYD"
+ },
+ "LRD": {
+ "name": "dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dólar neozelandés",
+ "symbol": "NZD"
+ },
+ "SBD": {
+ "name": "dólar salomonense",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "dólar singapurense",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dólar surinamés",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dólar zimbabuense",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "dram armenio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo de Cabo Verde",
+ "symbol": "CVE"
+ },
+ "PLN": {
+ "name": "esloti",
+ "symbol": "PLN"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "florín de Aruba",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "florín de las Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forinto",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franco CFA BCEAO",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franco CFA BEAC",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franco congoleño",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franco suizo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "franco yibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "grivna",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "guaraní paraguayo",
+ "symbol": "PYG"
+ },
+ "BTN": {
+ "name": "gultrum",
+ "symbol": "BTN"
+ },
+ "MMK": {
+ "name": "kiat",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip",
+ "symbol": "LAK"
+ },
+ "MWK": {
+ "name": "kuacha malauí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kuacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kuanza",
+ "symbol": "AOA"
+ },
+ "HRK": {
+ "name": "kuna",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "lari",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leona",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumano",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "libra de las Islas Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "libra de Santa Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "libra egipcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "libra esterlina",
+ "symbol": "GBP"
+ },
+ "GIP": {
+ "name": "libra gibraltareña",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothense",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerí",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marco convertible de Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa eritreo",
+ "symbol": "ERN"
+ },
+ "TWD": {
+ "name": "nuevo dólar taiwanés",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "nuevo séquel israelí",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nuevo sol peruano",
+ "symbol": "PEN"
+ },
+ "TOP": {
+ "name": "paanga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca de Macao",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayo",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasileño",
+ "symbol": "BRL"
+ },
+ "QAR": {
+ "name": "rial catarí",
+ "symbol": "QAR"
+ },
+ "IRR": {
+ "name": "rial iraní",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omaní",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudí",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemení",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringit",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublo ruso",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiya",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia de Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupia india",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalí",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistaní",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seychellense",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tayiko",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tengue",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "uguiya",
+ "symbol": "MRO"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won surcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan",
+ "symbol": "CNY"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/et.json b/library/intl/resources/currency/et.json
new file mode 100644
index 000000000..47df30013
--- /dev/null
+++ b/library/intl/resources/currency/et.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "Aafrika ühisfrank BCEAO",
+ "symbol": "CFA"
+ },
+ "AFN": {
+ "name": "Afganistani afgaani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albaania lekk",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alžeeria dinaar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angola kvanza",
+ "symbol": "AOA"
+ },
+ "AED": {
+ "name": "Araabia Ãœhendemiraatide dirhem",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "Argentina peeso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armeenia dramm",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruba guilder",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "Aserbaidžaani manat",
+ "symbol": "AZN"
+ },
+ "AUD": {
+ "name": "Austraalia dollar",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Bahama dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahreini dinaar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadose dollar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belize dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermuda dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutani ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivia boliviaano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Hertsegoviina mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswana pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brasiilia reaal",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgaaria leev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundi frank",
+ "symbol": "BIF"
+ },
+ "KYD": {
+ "name": "Caymani saarte dollar",
+ "symbol": "KYD"
+ },
+ "XAF": {
+ "name": "CFA frank BEAC",
+ "symbol": "FCFA"
+ },
+ "CRC": {
+ "name": "Costa Rica colón",
+ "symbol": "CRC"
+ },
+ "DJF": {
+ "name": "Djibouti frank",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominikaani peeso",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "Egiptuse nael",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrea nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Etioopia birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklandi saarte nael",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fidži dollar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filipiinide peeso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "Gambia dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Ghana cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltari nael",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "Gruusia lari",
+ "symbol": "GEL"
+ },
+ "GTQ": {
+ "name": "Guatemala ketsal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinea frank",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyana dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haiti gurd",
+ "symbol": "HTG"
+ },
+ "CNY": {
+ "name": "Hiina jüaan",
+ "symbol": "CNÂ¥"
+ },
+ "ANG": {
+ "name": "Hollandi Antillide kulden",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "Hondurase lempiira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkongi dollar",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "Horvaatia kuna",
+ "symbol": "HRK"
+ },
+ "XCD": {
+ "name": "Ida-Kariibi dollar",
+ "symbol": "EC$"
+ },
+ "ILS": {
+ "name": "Iisraeli uus seekel",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "India ruupia",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indoneesia ruupia",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Iraagi dinaar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iraani riaal",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Islandi kroon",
+ "symbol": "ISK"
+ },
+ "JPY": {
+ "name": "Jaapani jeen",
+ "symbol": "Â¥"
+ },
+ "JMD": {
+ "name": "Jamaica dollar",
+ "symbol": "JMD"
+ },
+ "YER": {
+ "name": "Jeemeni riaal",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jordaania dinaar",
+ "symbol": "JOD"
+ },
+ "KHR": {
+ "name": "Kambodža riaal",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanada dollar",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "Kasahstani tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenya Å¡illing",
+ "symbol": "KES"
+ },
+ "COP": {
+ "name": "Kolumbia peeso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komooride frank",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo frank",
+ "symbol": "CDF"
+ },
+ "CUC": {
+ "name": "Kuuba konverteeritav peeso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Kuuba peeso",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "Kuveidi dinaar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kõrgõzstani somm",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laose kiip",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "Leedu litt",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Lesotho loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Libeeria dollar",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "Liibanoni nael",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "Liibüa dinaar",
+ "symbol": "LYD"
+ },
+ "ZAR": {
+ "name": "Lõuna-Aafrika rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Lõuna-Korea vonn",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Lõuna-Sudaani nael",
+ "symbol": "SSP"
+ },
+ "WST": {
+ "name": "Lääne-Samoa tala",
+ "symbol": "WST"
+ },
+ "MOP": {
+ "name": "Macao pataka",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "Madagaskari ariary",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "Makedoonia denaar",
+ "symbol": "MKD"
+ },
+ "MYR": {
+ "name": "Malaisia ringgit",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "Malawi kvatša",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Maldiivide ruupia",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Maroko dirhem",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "Mauritaania ugia",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritiuse ruupia",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mehhiko peeso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldova leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongoolia tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mosambiigi metikal",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmari kjatt",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namiibia dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepali ruupia",
+ "symbol": "NPR"
+ },
+ "NIO": {
+ "name": "Nicaragua kuldkordoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigeeria naira",
+ "symbol": "NGN"
+ },
+ "NOK": {
+ "name": "Norra kroon",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omaani riaal",
+ "symbol": "OMR"
+ },
+ "PGK": {
+ "name": "Paapua Uus-Guinea kina",
+ "symbol": "PGK"
+ },
+ "PKR": {
+ "name": "Pakistani ruupia",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panama balboa",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "Paraguai guaranii",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruu uus soll",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Poola zlott",
+ "symbol": "PLN"
+ },
+ "XPF": {
+ "name": "Prantsuse Vaikse-Ookeani frank",
+ "symbol": "CFPF"
+ },
+ "KPW": {
+ "name": "Põhja-Korea vonn",
+ "symbol": "KPW"
+ },
+ "QAR": {
+ "name": "Quatari riaal",
+ "symbol": "QAR"
+ },
+ "CVE": {
+ "name": "Roheneemesaarte eskuudo",
+ "symbol": "CVE"
+ },
+ "SEK": {
+ "name": "Rootsi kroon",
+ "symbol": "SEK"
+ },
+ "RON": {
+ "name": "Rumeenia lei",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "Rwanda frank",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "Saalomoni saarte dollar",
+ "symbol": "SBD"
+ },
+ "SHP": {
+ "name": "Saint Helena nael",
+ "symbol": "SHP"
+ },
+ "SVC": {
+ "name": "Salvadori koloon",
+ "symbol": "SVC"
+ },
+ "ZMW": {
+ "name": "Sambia kvatša",
+ "symbol": "ZMW"
+ },
+ "STD": {
+ "name": "São Tomé ja Príncipe dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi-Araabia riaal",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Seišelli saarte ruupia",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "Serbia dinaar",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "Sierra Leone leoone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapuri dollar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Somaalia Å¡illing",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri Lanka ruupia",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudaani nael",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinami dollar",
+ "symbol": "SRD"
+ },
+ "GBP": {
+ "name": "Suurbritannia naelsterling",
+ "symbol": "£"
+ },
+ "SZL": {
+ "name": "Svaasimaa lilangeni",
+ "symbol": "SZL"
+ },
+ "SYP": {
+ "name": "Süüria nael",
+ "symbol": "SYP"
+ },
+ "CHF": {
+ "name": "Å veitsi frank",
+ "symbol": "CHF"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "DKK": {
+ "name": "Taani kroon",
+ "symbol": "DKK"
+ },
+ "TJS": {
+ "name": "Tadžikistani somoni",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "Tai baat",
+ "symbol": "฿"
+ },
+ "TWD": {
+ "name": "Taiwani dollar",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "Tansaania Å¡illing",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "Tonga pa’anga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidadi ja Tobago dollar",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "TÅ¡ehhi kroon",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "TÅ¡iili peeso",
+ "symbol": "CLP"
+ },
+ "TND": {
+ "name": "Tuneesia dinaar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Türgi uus liir",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Türkmenistani manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Uganda Å¡illing",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukraina grivna",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "Ungari forint",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "Uruguai peeso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "USA dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Usbekistani somm",
+ "symbol": "UZS"
+ },
+ "NZD": {
+ "name": "Uus-Meremaa dollar",
+ "symbol": "NZ$"
+ },
+ "BYR": {
+ "name": "Valgevene rubla",
+ "symbol": "BYR"
+ },
+ "VUV": {
+ "name": "Vanuatu vatu",
+ "symbol": "VUV"
+ },
+ "RUB": {
+ "name": "Venemaa rubla",
+ "symbol": "RUB"
+ },
+ "VEF": {
+ "name": "Venezuela bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnami dong",
+ "symbol": "â‚«"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/eu.json b/library/intl/resources/currency/eu.json
new file mode 100644
index 000000000..7a4af1c9a
--- /dev/null
+++ b/library/intl/resources/currency/eu.json
@@ -0,0 +1,634 @@
+{
+ "USD": {
+ "name": "AEBetako dolarra",
+ "symbol": "US$"
+ },
+ "AFN": {
+ "name": "Afganistango afghania",
+ "symbol": "AFN"
+ },
+ "XOF": {
+ "name": "Afrika ekialdeko frankoa BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Afrika erdialdeko frankoa BEAC",
+ "symbol": "FCFA"
+ },
+ "ALL": {
+ "name": "Albaniako leka",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algeriako dinarra",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolako kwanza",
+ "symbol": "AOA"
+ },
+ "AED": {
+ "name": "Arabiar Emirerri Batuetako dirhama",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "Argentinako pesoa",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armeniako drama",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Arubeko florina",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australiako dolarra",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "Azerbaijango manata",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahametako dolarra",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahraingo dinarra",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladesheko taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadosetako dolarra",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belizeko dolarra",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudetako dolarra",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutango ngultruma",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "Bielorrusiako errubloa",
+ "symbol": "BYR"
+ },
+ "BOB": {
+ "name": "Boliviako bolivianoa",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovinako marko trukakorra",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Bosniako pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brasilgo erreala",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Bruneiko dolarra",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgariako leva",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundiko frankoa",
+ "symbol": "BIF"
+ },
+ "CVE": {
+ "name": "Cabo Verdeko ezkutua",
+ "symbol": "CVE"
+ },
+ "XPF": {
+ "name": "CFP frankoa",
+ "symbol": "CFPF"
+ },
+ "CRC": {
+ "name": "Costa Ricako colona",
+ "symbol": "CRC"
+ },
+ "DKK": {
+ "name": "Danimarkako koroa",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djibouteko frankoa",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominikar Errepublikako pesoa",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "Egiptoko libera",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritreako nakfa",
+ "symbol": "ERN"
+ },
+ "RON": {
+ "name": "Errumaniako leua",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Errusiako errubloa",
+ "symbol": "RUB"
+ },
+ "ETB": {
+ "name": "Etiopiako birra",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euroa",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland uharteetako libera",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijiko dolarra",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filipinetako pesoa",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "Ganbiako dalasia",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgiako laria",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanako cedia",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltarreko libera",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "Gineako frankoa",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "Guatemalako quetzala",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "Guyanako dolarra",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitiko gourdea",
+ "symbol": "HTG"
+ },
+ "KRW": {
+ "name": "Hego Koreako wona",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Hego Sudango libera",
+ "symbol": "SSP"
+ },
+ "ZAR": {
+ "name": "Hegoafrikako randa",
+ "symbol": "ZAR"
+ },
+ "ANG": {
+ "name": "Holandarren Antilletako guilderra",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "Hondurasko lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kongeko dolarra",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "Hungariako florina",
+ "symbol": "HUF"
+ },
+ "INR": {
+ "name": "Indiako errupia",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesiako errupia",
+ "symbol": "IDR"
+ },
+ "KPW": {
+ "name": "Ipar Koreako wona",
+ "symbol": "KPW"
+ },
+ "IQD": {
+ "name": "Irakeko dinarra",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Irango riala",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Islandiako koroa",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "Israeleko sheqel berria",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaikako dolarra",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japoniako yena",
+ "symbol": "JPÂ¥"
+ },
+ "JOD": {
+ "name": "Jordaniako dinarra",
+ "symbol": "JOD"
+ },
+ "KYD": {
+ "name": "Kaiman uharteetako dolarra",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "Kanadako dolarra",
+ "symbol": "CA$"
+ },
+ "KHR": {
+ "name": "Kanbodiako riela",
+ "symbol": "KHR"
+ },
+ "XCD": {
+ "name": "Karibe ekialdeko dolarra",
+ "symbol": "EC$"
+ },
+ "KZT": {
+ "name": "Kazakhstango tengea",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyako txelina",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Kirgizistango soma",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolonbiako pesoa",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komoreetako frankoa",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongoko frankoa",
+ "symbol": "CDF"
+ },
+ "HRK": {
+ "name": "Kroaziako kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Kubako peso trukakorra",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Kubako pesoa",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "Kuwaiteko dinarra",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Laoseko kipa",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesothoko lotia",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "Libanoko libera",
+ "symbol": "LBP"
+ },
+ "GBP": {
+ "name": "Libera esterlina",
+ "symbol": "£"
+ },
+ "LRD": {
+ "name": "Liberiako dolarra",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libiako dinarra",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lituaniako litasa",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanako pataca",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "Madagaskarreko ariarya",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawiko kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysiako ringgita",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivetako rufiyaa",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Marokoko dirhama",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "Mauritaniako ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Maurizio uharteetako errupia",
+ "symbol": "MUR"
+ },
+ "MKD": {
+ "name": "Mazedoniako denara",
+ "symbol": "MKD"
+ },
+ "MXN": {
+ "name": "Mexikoko pesoa",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldaviako leua",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongoliako tugrika",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mozambikeko metikala",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmarreko kyata",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibiako dolarra",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalgo errupia",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "Nigeriako naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "Nikaraguako cordoba",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Norvegiako koroa",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omango riala",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistango errupia",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamako balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua Ginea Berriko kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguaiko guarania",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruko sol berria",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Poloniako zlotya",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatarreko riala",
+ "symbol": "QAR"
+ },
+ "RWF": {
+ "name": "Ruandako frankoa",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "Salomon uharteetako dolarra",
+ "symbol": "SBD"
+ },
+ "WST": {
+ "name": "Samoko tala",
+ "symbol": "WST"
+ },
+ "SHP": {
+ "name": "Santa Helenako libera",
+ "symbol": "SHP"
+ },
+ "STD": {
+ "name": "Sao Tomeko eta Principeko dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudiko riala",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbiako dinarra",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychelleetako errupia",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonako leona",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapurreko dolarra",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "Siriako libera",
+ "symbol": "SYP"
+ },
+ "SOS": {
+ "name": "Somaliako txelina",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri Lankako errupia",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudango libera",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "Suediako koroa",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Suitzako frankoa",
+ "symbol": "CHF"
+ },
+ "SRD": {
+ "name": "Surinameko dolarra",
+ "symbol": "SRD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SZL": {
+ "name": "Swaziko lilangenia",
+ "symbol": "SZL"
+ },
+ "TWD": {
+ "name": "Taiwango dolar berria",
+ "symbol": "NT$"
+ },
+ "TJS": {
+ "name": "Tajikistango somonia",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzaniako txelina",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thailandiako bahta",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongako Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidadeko eta Tobagoko dolarra",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisiako dinarra",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkiako lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistango manata",
+ "symbol": "TMT"
+ },
+ "CZK": {
+ "name": "Txekiar Errepublikako koroa",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "Txileko pesoa",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Txinako yuana",
+ "symbol": "CNÂ¥"
+ },
+ "UGX": {
+ "name": "Ugandako txelina",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainako hryvnia",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "Uruguaiko pesoa",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "Uzbekistango soma",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatuko vatua",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelako bolivarra",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnameko donga",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemengo riala",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambiako kwacha",
+ "symbol": "ZMW"
+ },
+ "NZD": {
+ "name": "Zeelanda Berriko dolarra",
+ "symbol": "NZ$"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ewo.json b/library/intl/resources/currency/ewo.json
new file mode 100644
index 000000000..8095a4ca9
--- /dev/null
+++ b/library/intl/resources/currency/ewo.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariari yá Maləgás",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bír yá Etsiópia",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasí yá Gámbía",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinár yá Alehérí",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinár yá BahÉ™rÉ›Ìn",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinár yá Libí",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinár yá Tunisí",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirám yá Emirá Aráb Uní",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirám yá Maróg",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "DóbÉ™Ìra yá Saó Tomé ai PÉ™linÉ™sípe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Dolár yá amÉ›ÌrÉ™kÉ™",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dolár yá Kanáda",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dolár yá Libéria",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dolár yá Namibí",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "Dolár yá Osətəralí",
+ "symbol": "A$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "EsÉ™kúdo yá KápÉ™ÌvÉ›ÌrÉ™",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "əró",
+ "symbol": "€"
+ },
+ "XOF": {
+ "name": "Fəláŋ CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Fəláŋ CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Fəláŋ yá Burundí",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Fəláŋ yá dzibutí",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Fəláŋ yá Komória",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Fəláŋ yá Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Fəláŋ yá Ruwandá",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Fəláŋ yá Suís",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "AOA": {
+ "name": "Kwánəza yá Angolá",
+ "symbol": "AOA"
+ },
+ "MWK": {
+ "name": "Kwatsa yá Malawí",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwatsa yá Zambí",
+ "symbol": "ZMW"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leóne yá Sierá-leónə",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni yá Swazí",
+ "symbol": "SZL"
+ },
+ "GBP": {
+ "name": "LívÉ™ÌlÉ™ SÉ™tÉ™rÉ™líŋ",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "LívÉ™ÌlÉ™ yá EhíbÉ™tía",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "LívÉ™lÉ™ yá Ǹfúfúb ElÉ›Ìn",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Lívələ yá Sudán",
+ "symbol": "SDG"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Lotí yá Lesotó",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "Náfəka yá Eritelé",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "Náíra yá Nihéria",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Púlá yá Botswána",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Ránədə yá Afiríka",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riál yá Arabí Saudí",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupí yá É›Ìndía",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupí yá Morís",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupí yá SÉ›sÉ›Ìl",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Silíŋ yá Keniá",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Silíŋ yá Somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Silíŋ yá Tanazaní",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Silíŋ yá Ugandá (1966–1987)",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugiya yá Moritaní",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "JPY": {
+ "name": "YÉ›Ìn yá HapÉ”Ìn",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "Yuán Renəminəbí yá Tsainís",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/fa-AF.json b/library/intl/resources/currency/fa-AF.json
new file mode 100644
index 000000000..9cef5c90e
--- /dev/null
+++ b/library/intl/resources/currency/fa-AF.json
@@ -0,0 +1,634 @@
+{
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "MGA": {
+ "name": "آریاری مالاگاسی",
+ "symbol": "MGA"
+ },
+ "CVE": {
+ "name": "اسکودوی کیپ‌ورد",
+ "symbol": "CVE"
+ },
+ "AFN": {
+ "name": "اÙغانی اÙغانستان",
+ "symbol": "Ø‹"
+ },
+ "BTN": {
+ "name": "انگولتروم بوتان",
+ "symbol": "BTN"
+ },
+ "MRO": {
+ "name": "اوگوئیای موریتانی",
+ "symbol": "MRO"
+ },
+ "THB": {
+ "name": "بات تایلند",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "بالبوای پاناما",
+ "symbol": "PAB"
+ },
+ "VEF": {
+ "name": "بولیوار ونزوئلا",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "بولیویانوی بولیوی",
+ "symbol": "BOB"
+ },
+ "ETB": {
+ "name": "بیر اتیوپی",
+ "symbol": "ETB"
+ },
+ "TOP": {
+ "name": "پاآنگای تونگا",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "پاتاکای ماکائو",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "پزوی آرژانتین",
+ "symbol": "ARS"
+ },
+ "UYU": {
+ "name": "پزوی اوروگوئه",
+ "symbol": "UYU"
+ },
+ "CUC": {
+ "name": "پزوی تبدیل‌پذیر کوبا",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "پزوی جمهوری دومینیکن",
+ "symbol": "DOP"
+ },
+ "CLP": {
+ "name": "پزوی شیلی",
+ "symbol": "CLP"
+ },
+ "PHP": {
+ "name": "پزوی Ùیلیپین",
+ "symbol": "PHP"
+ },
+ "COP": {
+ "name": "پزوی کلمبیا",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "پزوی کوبا",
+ "symbol": "CUP"
+ },
+ "MXN": {
+ "name": "پزوی مکسیکو",
+ "symbol": "$MX"
+ },
+ "BWP": {
+ "name": "پولای بوتسوانا",
+ "symbol": "BWP"
+ },
+ "GBP": {
+ "name": "پوند بریتانیا",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "پوند جبل‌الطارق",
+ "symbol": "GIP"
+ },
+ "FKP": {
+ "name": "پوند جزایر Ùالکلند",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "پوند سنت هلن",
+ "symbol": "SHP"
+ },
+ "SSP": {
+ "name": "پوند سودان جنوبی",
+ "symbol": "SSP"
+ },
+ "BDT": {
+ "name": "تاکای بنگلادش",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "تالای ساموا",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "تنگهٔ قزاقستان",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "توگریک مغولستان",
+ "symbol": "MNT"
+ },
+ "GMD": {
+ "name": "دالاسی گامبیا",
+ "symbol": "GMD"
+ },
+ "AUD": {
+ "name": "دالر آسترالیا",
+ "symbol": "A$"
+ },
+ "USD": {
+ "name": "دالر امریکا",
+ "symbol": "$"
+ },
+ "BND": {
+ "name": "دالر برونی",
+ "symbol": "BND"
+ },
+ "SGD": {
+ "name": "دالر سینگاپور",
+ "symbol": "SGD"
+ },
+ "CAD": {
+ "name": "دالر کانادا",
+ "symbol": "$CA"
+ },
+ "VND": {
+ "name": "دانگ ویتنام",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "درم ارمنستان",
+ "symbol": "AMD"
+ },
+ "AED": {
+ "name": "درهم امارات متحدهٔ عربی",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "درهم مراکش",
+ "symbol": "MAD"
+ },
+ "BBD": {
+ "name": "دلار باربادوس",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "دلار باهاما",
+ "symbol": "BSD"
+ },
+ "BMD": {
+ "name": "دلار برمودا",
+ "symbol": "BMD"
+ },
+ "BZD": {
+ "name": "دلار بلیز",
+ "symbol": "BZD"
+ },
+ "TTD": {
+ "name": "دلار ترینیداد و توباگو",
+ "symbol": "TTD"
+ },
+ "JMD": {
+ "name": "دلار جامائیکا",
+ "symbol": "JMD"
+ },
+ "TWD": {
+ "name": "دلار جدید تایوان",
+ "symbol": "NT$"
+ },
+ "SBD": {
+ "name": "دلار جزایر سلیمان",
+ "symbol": "SBD"
+ },
+ "KYD": {
+ "name": "دلار جزایر Ú©Ùیمن",
+ "symbol": "KYD"
+ },
+ "NZD": {
+ "name": "دلار زلاند نو",
+ "symbol": "$NZ"
+ },
+ "ZWL": {
+ "name": "دلار زیمبابوه (۲۰۰۹)",
+ "symbol": "ZWL"
+ },
+ "SRD": {
+ "name": "دلار سورینام",
+ "symbol": "SRD"
+ },
+ "XCD": {
+ "name": "دلار شرق کارائیب",
+ "symbol": "$EC"
+ },
+ "FJD": {
+ "name": "دلار Ùیجی",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "دلار گویان",
+ "symbol": "GYD"
+ },
+ "LRD": {
+ "name": "دلار لیبریا",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "دلار نامیبیا",
+ "symbol": "NAD"
+ },
+ "HKD": {
+ "name": "دلار هنگ‌کنگ",
+ "symbol": "$HK"
+ },
+ "STD": {
+ "name": "دوبرای سائوتومه و پرنسیپ",
+ "symbol": "STD"
+ },
+ "JOD": {
+ "name": "دینار اردن",
+ "symbol": "JOD"
+ },
+ "DZD": {
+ "name": "دینار الجزایر",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "دینار بحرین",
+ "symbol": "BHD"
+ },
+ "TND": {
+ "name": "دینار تونس",
+ "symbol": "TND"
+ },
+ "RSD": {
+ "name": "دینار صربستان",
+ "symbol": "RSD"
+ },
+ "IQD": {
+ "name": "دینار عراق",
+ "symbol": "IQD"
+ },
+ "KWD": {
+ "name": "دینار کویت",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "دینار لیبی",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "دینار مقدونیه",
+ "symbol": "MKD"
+ },
+ "ZAR": {
+ "name": "راند اÙریقای جنوبی",
+ "symbol": "ZAR"
+ },
+ "RUB": {
+ "name": "روبل روسیه",
+ "symbol": "RUB"
+ },
+ "BYR": {
+ "name": "روبل روسیهٔ سÙید",
+ "symbol": "BYR"
+ },
+ "IDR": {
+ "name": "روپیهٔ اندونزی",
+ "symbol": "IDR"
+ },
+ "PKR": {
+ "name": "روپیهٔ پاکستان",
+ "symbol": "PKR"
+ },
+ "LKR": {
+ "name": "روپیهٔ سری‌لانکا",
+ "symbol": "LKR"
+ },
+ "SCR": {
+ "name": "روپیهٔ سیشل",
+ "symbol": "SCR"
+ },
+ "MVR": {
+ "name": "روپیهٔ مالدیو",
+ "symbol": "MVR"
+ },
+ "MUR": {
+ "name": "روپیهٔ موریس",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "روپیهٔ نپال",
+ "symbol": "NPR"
+ },
+ "INR": {
+ "name": "روپیهٔ هند",
+ "symbol": "₹"
+ },
+ "KHR": {
+ "name": "ری‌یل کامبوج",
+ "symbol": "KHR"
+ },
+ "IRR": {
+ "name": "ریال ایران",
+ "symbol": "ریال"
+ },
+ "BRL": {
+ "name": "رئال برزیل",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "ریال سعودی",
+ "symbol": "SAR"
+ },
+ "OMR": {
+ "name": "ریال عمان",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "ریال قطر",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "ریال یمن",
+ "symbol": "YER"
+ },
+ "MYR": {
+ "name": "رینگیت مالزی",
+ "symbol": "MYR"
+ },
+ "PLN": {
+ "name": "زواتی لهستان",
+ "symbol": "PLN"
+ },
+ "TJS": {
+ "name": "سامانی تاجکستان",
+ "symbol": "TJS"
+ },
+ "GHS": {
+ "name": "سدی غنا",
+ "symbol": "GHS"
+ },
+ "UZS": {
+ "name": "سوم ازبکستان",
+ "symbol": "UZS"
+ },
+ "KGS": {
+ "name": "سوم قرقیزستان",
+ "symbol": "KGS"
+ },
+ "ILS": {
+ "name": "شقل جدید اسرائیل",
+ "symbol": "₪"
+ },
+ "UGX": {
+ "name": "شیلینگ اوگاندا",
+ "symbol": "UGX"
+ },
+ "TZS": {
+ "name": "شیلینگ تانزانیا",
+ "symbol": "TZS"
+ },
+ "SOS": {
+ "name": "شیلینگ سومالی",
+ "symbol": "SOS"
+ },
+ "KES": {
+ "name": "شیلینگ کنیا",
+ "symbol": "KES"
+ },
+ "XOF": {
+ "name": "Ùرانک CFA غرب Ø¢Ùریقا",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Ùرانک CFA مرکز Ø¢Ùریقا",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Ùرانک CFP",
+ "symbol": "CFPF"
+ },
+ "BIF": {
+ "name": "Ùرانک بوروندی",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Ùرانک جیبوتی",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Ùرانک رواندا",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Ùرانک سویس",
+ "symbol": "CHF"
+ },
+ "CDF": {
+ "name": "Ùرانک Ú©Ù†Ú¯Ùˆ",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "Ùرانک کومورو",
+ "symbol": "KMF"
+ },
+ "GNF": {
+ "name": "Ùرانک گینه",
+ "symbol": "GNF"
+ },
+ "AWG": {
+ "name": "Ùلورین آروبا",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Ùورینت مجارستان",
+ "symbol": "HUF"
+ },
+ "GTQ": {
+ "name": "کتزال گواتمالا",
+ "symbol": "GTQ"
+ },
+ "DKK": {
+ "name": "کرون دنمارک",
+ "symbol": "DKK"
+ },
+ "SEK": {
+ "name": "کرون سویدن",
+ "symbol": "SEK"
+ },
+ "NOK": {
+ "name": "کرون ناروی",
+ "symbol": "NOK"
+ },
+ "ISK": {
+ "name": "کرونای ایسلند",
+ "symbol": "ISK"
+ },
+ "ZMW": {
+ "name": "کواچای زامبیا",
+ "symbol": "ZMW"
+ },
+ "MWK": {
+ "name": "کواچای مالاوی",
+ "symbol": "MWK"
+ },
+ "AOA": {
+ "name": "کوانزای آنگولا",
+ "symbol": "AOA"
+ },
+ "NIO": {
+ "name": "کوردوبای نیکاراگوئه",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "کورونای جمهوری چک",
+ "symbol": "CZK"
+ },
+ "CRC": {
+ "name": "کولون کاستاریکا",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "کونای کرواسی",
+ "symbol": "HRK"
+ },
+ "MMK": {
+ "name": "کیات میانمار",
+ "symbol": "MMK"
+ },
+ "LAK": {
+ "name": "کیپ لائوس",
+ "symbol": "LAK"
+ },
+ "PGK": {
+ "name": "کینای پاپوا گینهٔ نو",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "گوارانی پاراگوئه",
+ "symbol": "PYG"
+ },
+ "HTG": {
+ "name": "گورد هائیتی",
+ "symbol": "HTG"
+ },
+ "ANG": {
+ "name": "گیلدر آنتیل هلند",
+ "symbol": "ANG"
+ },
+ "GEL": {
+ "name": "لاری گرجستان",
+ "symbol": "GEL"
+ },
+ "BGN": {
+ "name": "ل٠بلغارستان",
+ "symbol": "BGN"
+ },
+ "ALL": {
+ "name": "لک آلبانی",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "لمپیرای هندوراس",
+ "symbol": "HNL"
+ },
+ "LSL": {
+ "name": "لوتی لسوتو",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "لیتاس لیتوانی",
+ "symbol": "LTL"
+ },
+ "TRY": {
+ "name": "لیرهٔ ترکیه",
+ "symbol": "TRY"
+ },
+ "SDG": {
+ "name": "لیرهٔ سودان",
+ "symbol": "SDG"
+ },
+ "SYP": {
+ "name": "لیرهٔ سوریه",
+ "symbol": "SYP"
+ },
+ "LBP": {
+ "name": "لیرهٔ لبنان",
+ "symbol": "LBP"
+ },
+ "EGP": {
+ "name": "لیرهٔ مصر",
+ "symbol": "EGP"
+ },
+ "SZL": {
+ "name": "لیلانگنی سوازیلند",
+ "symbol": "SZL"
+ },
+ "SLL": {
+ "name": "لئون سیرالئون",
+ "symbol": "SLL"
+ },
+ "RON": {
+ "name": "لئوی رومانی",
+ "symbol": "RON"
+ },
+ "MDL": {
+ "name": "لئوی مولداوی",
+ "symbol": "MDL"
+ },
+ "BAM": {
+ "name": "مارک تبدیل‌پذیر بوسنی و هرزگوین",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "متیکال موزامبیک",
+ "symbol": "MZN"
+ },
+ "TMT": {
+ "name": "منات ترکمنستان",
+ "symbol": "TMT"
+ },
+ "AZN": {
+ "name": "منات جمهوری آذربایجان",
+ "symbol": "AZN"
+ },
+ "ERN": {
+ "name": "ناکÙای اریتره",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "نایرای نیجریه",
+ "symbol": "NGN"
+ },
+ "PEN": {
+ "name": "نوئووسول پرو",
+ "symbol": "PEN"
+ },
+ "UAH": {
+ "name": "هریونیای اوکراین",
+ "symbol": "UAH"
+ },
+ "VUV": {
+ "name": "واتوی وانوواتو",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "وون کرهٔ جنوبی",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "وون کرهٔ شمالی",
+ "symbol": "KPW"
+ },
+ "JPY": {
+ "name": "ین جاپان",
+ "symbol": "Â¥"
+ },
+ "CNY": {
+ "name": "یوآن چین",
+ "symbol": "Â¥CN"
+ },
+ "EUR": {
+ "name": "یورو",
+ "symbol": "€"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/fa.json b/library/intl/resources/currency/fa.json
new file mode 100644
index 000000000..ec4a25fc1
--- /dev/null
+++ b/library/intl/resources/currency/fa.json
@@ -0,0 +1,634 @@
+{
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "MGA": {
+ "name": "آریاری مالاگاسی",
+ "symbol": "MGA"
+ },
+ "CVE": {
+ "name": "اسکودوی کیپ‌ورد",
+ "symbol": "CVE"
+ },
+ "AFN": {
+ "name": "اÙغانی اÙغانستان",
+ "symbol": "Ø‹"
+ },
+ "BTN": {
+ "name": "انگولتروم بوتان",
+ "symbol": "BTN"
+ },
+ "MRO": {
+ "name": "اوگوئیای موریتانی",
+ "symbol": "MRO"
+ },
+ "THB": {
+ "name": "بات تایلند",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "بالبوای پاناما",
+ "symbol": "PAB"
+ },
+ "VEF": {
+ "name": "بولیوار ونزوئلا",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "بولیویانوی بولیوی",
+ "symbol": "BOB"
+ },
+ "ETB": {
+ "name": "بیر اتیوپی",
+ "symbol": "ETB"
+ },
+ "TOP": {
+ "name": "پاآنگای تونگا",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "پاتاکای ماکائو",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "پزوی آرژانتین",
+ "symbol": "ARS"
+ },
+ "UYU": {
+ "name": "پزوی اوروگوئه",
+ "symbol": "UYU"
+ },
+ "CUC": {
+ "name": "پزوی تبدیل‌پذیر کوبا",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "پزوی جمهوری دومینیکن",
+ "symbol": "DOP"
+ },
+ "CLP": {
+ "name": "پزوی شیلی",
+ "symbol": "CLP"
+ },
+ "PHP": {
+ "name": "پزوی Ùیلیپین",
+ "symbol": "PHP"
+ },
+ "COP": {
+ "name": "پزوی کلمبیا",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "پزوی کوبا",
+ "symbol": "CUP"
+ },
+ "MXN": {
+ "name": "پزوی مکزیک",
+ "symbol": "$MX"
+ },
+ "BWP": {
+ "name": "پولای بوتسوانا",
+ "symbol": "BWP"
+ },
+ "GBP": {
+ "name": "پوند بریتانیا",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "پوند جبل‌الطارق",
+ "symbol": "GIP"
+ },
+ "FKP": {
+ "name": "پوند جزایر Ùالکلند",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "پوند سنت هلن",
+ "symbol": "SHP"
+ },
+ "SSP": {
+ "name": "پوند سودان جنوبی",
+ "symbol": "SSP"
+ },
+ "BDT": {
+ "name": "تاکای بنگلادش",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "تالای ساموا",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "تنگهٔ قزاقستان",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "توگریک مغولستان",
+ "symbol": "MNT"
+ },
+ "GMD": {
+ "name": "دالاسی گامبیا",
+ "symbol": "GMD"
+ },
+ "VND": {
+ "name": "دانگ ویتنام",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "درم ارمنستان",
+ "symbol": "AMD"
+ },
+ "AED": {
+ "name": "درهم امارات متحدهٔ عربی",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "درهم مراکش",
+ "symbol": "MAD"
+ },
+ "AUD": {
+ "name": "دلار استرالیا",
+ "symbol": "A$"
+ },
+ "USD": {
+ "name": "دلار امریکا",
+ "symbol": "$"
+ },
+ "BBD": {
+ "name": "دلار باربادوس",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "دلار باهاما",
+ "symbol": "BSD"
+ },
+ "BMD": {
+ "name": "دلار برمودا",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "دلار برونئی",
+ "symbol": "BND"
+ },
+ "BZD": {
+ "name": "دلار بلیز",
+ "symbol": "BZD"
+ },
+ "TTD": {
+ "name": "دلار ترینیداد و توباگو",
+ "symbol": "TTD"
+ },
+ "JMD": {
+ "name": "دلار جامائیکا",
+ "symbol": "JMD"
+ },
+ "TWD": {
+ "name": "دلار جدید تایوان",
+ "symbol": "NT$"
+ },
+ "SBD": {
+ "name": "دلار جزایر سلیمان",
+ "symbol": "SBD"
+ },
+ "KYD": {
+ "name": "دلار جزایر Ú©Ùیمن",
+ "symbol": "KYD"
+ },
+ "NZD": {
+ "name": "دلار زلاند نو",
+ "symbol": "$NZ"
+ },
+ "ZWL": {
+ "name": "دلار زیمبابوه (۲۰۰۹)",
+ "symbol": "ZWL"
+ },
+ "SGD": {
+ "name": "دلار سنگاپور",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "دلار سورینام",
+ "symbol": "SRD"
+ },
+ "XCD": {
+ "name": "دلار شرق کارائیب",
+ "symbol": "$EC"
+ },
+ "FJD": {
+ "name": "دلار Ùیجی",
+ "symbol": "FJD"
+ },
+ "CAD": {
+ "name": "دلار کانادا",
+ "symbol": "$CA"
+ },
+ "GYD": {
+ "name": "دلار گویان",
+ "symbol": "GYD"
+ },
+ "LRD": {
+ "name": "دلار لیبریا",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "دلار نامیبیا",
+ "symbol": "NAD"
+ },
+ "HKD": {
+ "name": "دلار هنگ‌کنگ",
+ "symbol": "$HK"
+ },
+ "STD": {
+ "name": "دوبرای سائوتومه و پرنسیپ",
+ "symbol": "STD"
+ },
+ "JOD": {
+ "name": "دینار اردن",
+ "symbol": "JOD"
+ },
+ "DZD": {
+ "name": "دینار الجزایر",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "دینار بحرین",
+ "symbol": "BHD"
+ },
+ "TND": {
+ "name": "دینار تونس",
+ "symbol": "TND"
+ },
+ "RSD": {
+ "name": "دینار صربستان",
+ "symbol": "RSD"
+ },
+ "IQD": {
+ "name": "دینار عراق",
+ "symbol": "IQD"
+ },
+ "KWD": {
+ "name": "دینار کویت",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "دینار لیبی",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "دینار مقدونیه",
+ "symbol": "MKD"
+ },
+ "ZAR": {
+ "name": "راند اÙریقای جنوبی",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "رئال برزیل",
+ "symbol": "R$"
+ },
+ "BYR": {
+ "name": "روبل بیلوروسی",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "روبل روسیه",
+ "symbol": "RUB"
+ },
+ "IDR": {
+ "name": "روپیهٔ اندونزی",
+ "symbol": "IDR"
+ },
+ "PKR": {
+ "name": "روپیهٔ پاکستان",
+ "symbol": "PKR"
+ },
+ "LKR": {
+ "name": "روپیهٔ سری‌لانکا",
+ "symbol": "LKR"
+ },
+ "SCR": {
+ "name": "روپیهٔ سیشل",
+ "symbol": "SCR"
+ },
+ "MVR": {
+ "name": "روپیهٔ مالدیو",
+ "symbol": "MVR"
+ },
+ "MUR": {
+ "name": "روپیهٔ موریس",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "روپیهٔ نپال",
+ "symbol": "NPR"
+ },
+ "INR": {
+ "name": "روپیهٔ هند",
+ "symbol": "₹"
+ },
+ "IRR": {
+ "name": "ریال ایران",
+ "symbol": "ریال"
+ },
+ "SAR": {
+ "name": "ریال سعودی",
+ "symbol": "SAR"
+ },
+ "OMR": {
+ "name": "ریال عمان",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "ریال قطر",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "ریال یمن",
+ "symbol": "YER"
+ },
+ "MYR": {
+ "name": "رینگیت مالزی",
+ "symbol": "MYR"
+ },
+ "KHR": {
+ "name": "ری‌یل کامبوج",
+ "symbol": "KHR"
+ },
+ "PLN": {
+ "name": "زواتی لهستان",
+ "symbol": "PLN"
+ },
+ "TJS": {
+ "name": "سامانی تاجیکستان",
+ "symbol": "TJS"
+ },
+ "GHS": {
+ "name": "سدی غنا",
+ "symbol": "GHS"
+ },
+ "UZS": {
+ "name": "سوم ازبکستان",
+ "symbol": "UZS"
+ },
+ "KGS": {
+ "name": "سوم قرقیزستان",
+ "symbol": "KGS"
+ },
+ "ILS": {
+ "name": "شقل جدید اسرائیل",
+ "symbol": "₪"
+ },
+ "UGX": {
+ "name": "شیلینگ اوگاندا",
+ "symbol": "UGX"
+ },
+ "TZS": {
+ "name": "شیلینگ تانزانیا",
+ "symbol": "TZS"
+ },
+ "SOS": {
+ "name": "شیلینگ سومالی",
+ "symbol": "SOS"
+ },
+ "KES": {
+ "name": "شیلینگ کنیا",
+ "symbol": "KES"
+ },
+ "XOF": {
+ "name": "Ùرانک CFA غرب Ø¢Ùریقا",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Ùرانک CFA مرکز Ø¢Ùریقا",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Ùرانک CFP",
+ "symbol": "CFPF"
+ },
+ "BIF": {
+ "name": "Ùرانک بوروندی",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Ùرانک جیبوتی",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Ùرانک رواندا",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Ùرانک سوئیس",
+ "symbol": "CHF"
+ },
+ "CDF": {
+ "name": "Ùرانک Ú©Ù†Ú¯Ùˆ",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "Ùرانک کومورو",
+ "symbol": "KMF"
+ },
+ "GNF": {
+ "name": "Ùرانک گینه",
+ "symbol": "GNF"
+ },
+ "AWG": {
+ "name": "Ùلورین آروبا",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Ùورینت مجارستان",
+ "symbol": "HUF"
+ },
+ "GTQ": {
+ "name": "کتزال گواتمالا",
+ "symbol": "GTQ"
+ },
+ "DKK": {
+ "name": "کرون دانمارک",
+ "symbol": "DKK"
+ },
+ "SEK": {
+ "name": "کرون سوئد",
+ "symbol": "SEK"
+ },
+ "NOK": {
+ "name": "کرون نروژ",
+ "symbol": "NOK"
+ },
+ "ISK": {
+ "name": "کرونای ایسلند",
+ "symbol": "ISK"
+ },
+ "ZMW": {
+ "name": "کواچای زامبیا",
+ "symbol": "ZMW"
+ },
+ "MWK": {
+ "name": "کواچای مالاوی",
+ "symbol": "MWK"
+ },
+ "AOA": {
+ "name": "کوانزای آنگولا",
+ "symbol": "AOA"
+ },
+ "NIO": {
+ "name": "کوردوبای نیکاراگوئه",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "کورونای جمهوری چک",
+ "symbol": "CZK"
+ },
+ "CRC": {
+ "name": "کولون کاستاریکا",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "کونای کرواسی",
+ "symbol": "HRK"
+ },
+ "MMK": {
+ "name": "کیات میانمار",
+ "symbol": "MMK"
+ },
+ "LAK": {
+ "name": "کیپ لائوس",
+ "symbol": "LAK"
+ },
+ "PGK": {
+ "name": "کینای پاپوا گینهٔ نو",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "گوارانی پاراگوئه",
+ "symbol": "PYG"
+ },
+ "HTG": {
+ "name": "گورد هائیتی",
+ "symbol": "HTG"
+ },
+ "ANG": {
+ "name": "گیلدر آنتیل هلند",
+ "symbol": "ANG"
+ },
+ "GEL": {
+ "name": "لاری گرجستان",
+ "symbol": "GEL"
+ },
+ "SLL": {
+ "name": "لئون سیرالئون",
+ "symbol": "SLL"
+ },
+ "RON": {
+ "name": "لئوی رومانی",
+ "symbol": "RON"
+ },
+ "MDL": {
+ "name": "لئوی مولداوی",
+ "symbol": "MDL"
+ },
+ "BGN": {
+ "name": "ل٠بلغارستان",
+ "symbol": "BGN"
+ },
+ "ALL": {
+ "name": "لک آلبانی",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "لمپیرای هندوراس",
+ "symbol": "HNL"
+ },
+ "LSL": {
+ "name": "لوتی لسوتو",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "لیتاس لیتوانی",
+ "symbol": "LTL"
+ },
+ "TRY": {
+ "name": "لیرهٔ ترکیه",
+ "symbol": "TRY"
+ },
+ "SDG": {
+ "name": "لیرهٔ سودان",
+ "symbol": "SDG"
+ },
+ "SYP": {
+ "name": "لیرهٔ سوریه",
+ "symbol": "SYP"
+ },
+ "LBP": {
+ "name": "لیرهٔ لبنان",
+ "symbol": "LBP"
+ },
+ "EGP": {
+ "name": "لیرهٔ مصر",
+ "symbol": "EGP"
+ },
+ "SZL": {
+ "name": "لیلانگنی سوازیلند",
+ "symbol": "SZL"
+ },
+ "BAM": {
+ "name": "مارک تبدیل‌پذیر بوسنی و هرزگوین",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "متیکال موزامبیک",
+ "symbol": "MZN"
+ },
+ "TMT": {
+ "name": "منات ترکمنستان",
+ "symbol": "TMT"
+ },
+ "AZN": {
+ "name": "منات جمهوری آذربایجان",
+ "symbol": "AZN"
+ },
+ "ERN": {
+ "name": "ناکÙای اریتره",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "نایرای نیجریه",
+ "symbol": "NGN"
+ },
+ "PEN": {
+ "name": "نوئووسول پرو",
+ "symbol": "PEN"
+ },
+ "VUV": {
+ "name": "واتوی وانوواتو",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "وون کرهٔ جنوبی",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "وون کرهٔ شمالی",
+ "symbol": "KPW"
+ },
+ "UAH": {
+ "name": "هریونیای اوکراین",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "ین ژاپن",
+ "symbol": "Â¥"
+ },
+ "CNY": {
+ "name": "یوآن چین",
+ "symbol": "Â¥CN"
+ },
+ "EUR": {
+ "name": "یورو",
+ "symbol": "€"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ff.json b/library/intl/resources/currency/ff.json
new file mode 100644
index 000000000..e3f6bbe17
--- /dev/null
+++ b/library/intl/resources/currency/ff.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariyari Madagaskaar",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Biir Ecoppi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi Gammbi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinaar Alaseri",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinaar Bahrayn",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinaar Libi",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinaar Tunisii",
+ "symbol": "TND"
+ },
+ "MAD": {
+ "name": "Diraham Maruk",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Dirham Emiraati Araab DentuÉ—i",
+ "symbol": "AED"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra Sawo Tome e Prensipe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Dolaar Dowlaaji DentuÉ—i",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dolaar Kandaaa",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dolaar Liberiyaa",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dolaar Namibii",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "Dolaar Ostaraalii",
+ "symbol": "A$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudoo Kap Weer",
+ "symbol": "CVE"
+ },
+ "DJF": {
+ "name": "Faraa Jibutii",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faraa Komoor",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faraa Konngo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faraa Ruwanndaa",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faraa Suwiis",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kuwacca Malaawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kuwacca Sammbi",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwansaa Anngolaa",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Lewoon Seraa Liyon",
+ "symbol": "SLL"
+ },
+ "EGP": {
+ "name": "Liibar Ejipt",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Liibar Sent Helen",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Liibar Sterling",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "Liibar Sudaan",
+ "symbol": "SDG"
+ },
+ "SZL": {
+ "name": "Lilangeni Swaasilannda",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti Lesotoo",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "XAF": {
+ "name": "MbuuÉ—i Seefaa BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "MbuuÉ—u Burunndi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "MbuuÉ—u Seefaa BCEAO",
+ "symbol": "CFA"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "Nafka Eriteree",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "Nayraa Nijeriyaa",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "EUR": {
+ "name": "Oroo",
+ "symbol": "€"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pulaa Botwanaa",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Rannda Afrik BÅ‹ Worgo",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyaal Arabi Sawdit",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupii Enndo",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupii Moriis",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupii Seysel",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Siling Keñaa",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Siling Soomali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Siling Tansanii",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Siling Uganndaa",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugiyya Muritani",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yen Sapoo",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuam Siin",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/fi.json b/library/intl/resources/currency/fi.json
new file mode 100644
index 000000000..c86cc0d33
--- /dev/null
+++ b/library/intl/resources/currency/fi.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afganistanin afgaani",
+ "symbol": "AFN"
+ },
+ "ANG": {
+ "name": "Alankomaiden Antillien guldeni",
+ "symbol": "ANG"
+ },
+ "ALL": {
+ "name": "Albanian lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian dinaari",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan kwanza",
+ "symbol": "AOA"
+ },
+ "AED": {
+ "name": "Arabiemiirikuntien dirhami",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "Argentiinan peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban floriini",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australian dollari",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "Azerbaidžanin manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahaman dollari",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahrainin dinaari",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshin taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadosin dollari",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belizen dollari",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudan dollari",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanin ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Hertsegovinan vaihdettava markka",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brasilian real",
+ "symbol": "BRL"
+ },
+ "BND": {
+ "name": "Brunein dollari",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarian lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundin frangi",
+ "symbol": "BIF"
+ },
+ "KYD": {
+ "name": "Caymansaarten dollari",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA-frangi BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-frangi BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-frangi",
+ "symbol": "XPF"
+ },
+ "CLP": {
+ "name": "Chilen peso",
+ "symbol": "CLP"
+ },
+ "CRC": {
+ "name": "Costa Rican colon",
+ "symbol": "CRC"
+ },
+ "DJF": {
+ "name": "Djiboutin frangi",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominikaanisen tasavallan peso",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "Egyptin punta",
+ "symbol": "EGP"
+ },
+ "SVC": {
+ "name": "El Salvadorin colon",
+ "symbol": "SVC"
+ },
+ "GBP": {
+ "name": "Englannin punta",
+ "symbol": "£"
+ },
+ "ERN": {
+ "name": "Eritrean nakfa",
+ "symbol": "ERN"
+ },
+ "ZAR": {
+ "name": "Etelä-Afrikan randi",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Etelä-Korean won",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "Etelä-Sudanin punta",
+ "symbol": "SSP"
+ },
+ "ETB": {
+ "name": "Etiopian birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklandinsaarten punta",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fidžin dollari",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filippiinien peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "Gambian dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanan cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltarin punta",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean frangi",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyanan dollari",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitin gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Hondurasin lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkongin dollari",
+ "symbol": "HKD"
+ },
+ "IDR": {
+ "name": "Indonesian rupia",
+ "symbol": "IDR"
+ },
+ "INR": {
+ "name": "Intian rupia",
+ "symbol": "INR"
+ },
+ "IQD": {
+ "name": "Irakin dinaari",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iranin rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Islannin kruunu",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "Israelin uusi sekeli",
+ "symbol": "ILS"
+ },
+ "XCD": {
+ "name": "Itä-Karibian dollari",
+ "symbol": "XCD"
+ },
+ "JMD": {
+ "name": "Jamaikan dollari",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanin jeni",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "Jemenin rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jordanian dinaari",
+ "symbol": "JOD"
+ },
+ "KHR": {
+ "name": "Kambodžan riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanadan dollari",
+ "symbol": "CAD"
+ },
+ "CVE": {
+ "name": "Kap Verden escudo",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "Kazakstanin tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenian Å¡illinki",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "Kiinan yuan",
+ "symbol": "CNY"
+ },
+ "KGS": {
+ "name": "Kirgisian som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolumbian peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komorien frangi",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongon frangi",
+ "symbol": "CDF"
+ },
+ "HRK": {
+ "name": "Kroatian kuna",
+ "symbol": "HRK"
+ },
+ "CUP": {
+ "name": "Kuuban peso",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Kuuban vaihdettava peso",
+ "symbol": "CUC"
+ },
+ "KWD": {
+ "name": "Kuwaitin dinaari",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Laosin kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesothon loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "Libanonin punta",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberian dollari",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan dinaari",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Liettuan liti",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macaon pataca",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "Madagaskarin ariary",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "Makedonian denaari",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "Malawin kwacha",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Malediivien rufiyaa",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "Malesian ringgit",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "Marokon dirhami",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "Mauritanian ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritiuksen rupia",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Meksikon peso",
+ "symbol": "MXN"
+ },
+ "MDL": {
+ "name": "Moldovan leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mosambikin metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmarin kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibian dollari",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalin rupia",
+ "symbol": "NPR"
+ },
+ "NIO": {
+ "name": "Nicaraguan cordoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian naira",
+ "symbol": "NGN"
+ },
+ "NOK": {
+ "name": "Norjan kruunu",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omanin rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistanin rupia",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panaman balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua-Uuden-Guinean kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayn guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Perun uusi sol",
+ "symbol": "PEN"
+ },
+ "KPW": {
+ "name": "Pohjois-Korean won",
+ "symbol": "KPW"
+ },
+ "PLN": {
+ "name": "Puolan zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatarin rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian leu",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "Ruandan frangi",
+ "symbol": "RWF"
+ },
+ "SEK": {
+ "name": "Ruotsin kruunu",
+ "symbol": "SEK"
+ },
+ "SHP": {
+ "name": "Saint Helenan punta",
+ "symbol": "SHP"
+ },
+ "SBD": {
+ "name": "Salomonsaarten dollari",
+ "symbol": "SBD"
+ },
+ "ZMW": {
+ "name": "Sambian kwacha",
+ "symbol": "ZMW"
+ },
+ "WST": {
+ "name": "Samoan tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomén ja Príncipen dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi-Arabian rial",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian dinaari",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellien rupia",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonen leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singaporen dollari",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Somalian Å¡illinki",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri Lankan rupia",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanin punta",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamin dollari",
+ "symbol": "SRD"
+ },
+ "CHF": {
+ "name": "Sveitsin frangi",
+ "symbol": "CHF"
+ },
+ "SZL": {
+ "name": "Swazimaan lilangeni",
+ "symbol": "SZL"
+ },
+ "SYP": {
+ "name": "Syyrian punta",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tadžikistanin somoni",
+ "symbol": "TJS"
+ },
+ "TWD": {
+ "name": "Taiwanin uusi dollari",
+ "symbol": "TWD"
+ },
+ "TZS": {
+ "name": "Tansanian Å¡illinki",
+ "symbol": "TZS"
+ },
+ "DKK": {
+ "name": "Tanskan kruunu",
+ "symbol": "DKK"
+ },
+ "THB": {
+ "name": "Thaimaan baht",
+ "symbol": "THB"
+ },
+ "TOP": {
+ "name": "Tongan pa’anga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidadin ja Tobagon dollari",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "TÅ¡ekin koruna",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "Tunisian dinaari",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkin liira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistanin manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Å¡illinki",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainan hryvnia",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "Unkarin forintti",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "Uruguayn peso",
+ "symbol": "UYU"
+ },
+ "NZD": {
+ "name": "Uuden-Seelannin dollari",
+ "symbol": "NZD"
+ },
+ "UZS": {
+ "name": "Uzbekistanin som",
+ "symbol": "UZS"
+ },
+ "BYR": {
+ "name": "Valko-Venäjän rupla",
+ "symbol": "BYR"
+ },
+ "VUV": {
+ "name": "Vanuatun vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan bolivar",
+ "symbol": "VEF"
+ },
+ "RUB": {
+ "name": "Venäjän rupla",
+ "symbol": "RUB"
+ },
+ "VND": {
+ "name": "Vietnamin dong",
+ "symbol": "VND"
+ },
+ "USD": {
+ "name": "Yhdysvaltain dollari",
+ "symbol": "$"
+ },
+ "ZWL": {
+ "name": "Zimbabwen dollari (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/fil.json b/library/intl/resources/currency/fil.json
new file mode 100644
index 000000000..78101b28e
--- /dev/null
+++ b/library/intl/resources/currency/fil.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentine Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BHD": {
+ "name": "Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BYR": {
+ "name": "Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BTN": {
+ "name": "Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanan Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "British Pound Sterling",
+ "symbol": "£"
+ },
+ "BGN": {
+ "name": "Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CVE": {
+ "name": "Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CNY": {
+ "name": "Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CUC": {
+ "name": "Convertible na Piso ng Cuba",
+ "symbol": "CUC"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CZK": {
+ "name": "Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Denmark Krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "AUD": {
+ "name": "Dolyar ng Australya",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Dolyar ng Bahamas",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "Dolyar ng Barbados",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dolyar ng Belize",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dolyar ng Bermuda",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dolyar ng Brunei",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dolyar ng Canada",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "Dolyar ng Cayman Islands",
+ "symbol": "KYD"
+ },
+ "FJD": {
+ "name": "Dolyar ng Fiji",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "Dolyar ng Guyanese",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "Dolyar ng Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Dolyar ng Jamaica",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dolyar ng Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dolyar ng Namibia",
+ "symbol": "NAD"
+ },
+ "TWD": {
+ "name": "Dolyar ng New Taiwan",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Dolyar ng New Zealand",
+ "symbol": "NZ$"
+ },
+ "XCD": {
+ "name": "Dolyar ng Silangang Caribbean",
+ "symbol": "EC$"
+ },
+ "SGD": {
+ "name": "Dolyar ng Singapore",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Dolyar ng Solomon Islands",
+ "symbol": "SBD"
+ },
+ "SRD": {
+ "name": "Dolyar ng Suriname",
+ "symbol": "SRD"
+ },
+ "TTD": {
+ "name": "Dolyar ng Trinidad and Tobago",
+ "symbol": "TTD"
+ },
+ "USD": {
+ "name": "Dolyar ng US",
+ "symbol": "$"
+ },
+ "EGP": {
+ "name": "Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinean Franc",
+ "symbol": "GNF"
+ },
+ "HTG": {
+ "name": "Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HUF": {
+ "name": "Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "Israeli New Sheqel",
+ "symbol": "₪"
+ },
+ "JPY": {
+ "name": "Japanese Yen",
+ "symbol": "Â¥"
+ },
+ "JOD": {
+ "name": "Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldivian Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MDL": {
+ "name": "Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "Mozambican Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyat",
+ "symbol": "MMK"
+ },
+ "NPR": {
+ "name": "Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "NIO": {
+ "name": "Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "CLP": {
+ "name": "Piso ng Chile",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Piso ng Colombia",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Piso ng Cuba",
+ "symbol": "CUP"
+ },
+ "DOP": {
+ "name": "Piso ng Dominican",
+ "symbol": "DOP"
+ },
+ "MXN": {
+ "name": "Piso ng Mexico",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "Piso ng Pilipinas",
+ "symbol": "₱"
+ },
+ "UYU": {
+ "name": "Piso ng Uruguay",
+ "symbol": "UYU"
+ },
+ "PLN": {
+ "name": "Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "WST": {
+ "name": "Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Sao Tome and Principe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "South Korean Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "South Sudanese Pound",
+ "symbol": "SSP"
+ },
+ "LKR": {
+ "name": "Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SZL": {
+ "name": "Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "UZS": {
+ "name": "Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/fo.json b/library/intl/resources/currency/fo.json
new file mode 100644
index 000000000..71b2801fb
--- /dev/null
+++ b/library/intl/resources/currency/fo.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "donsk króna",
+ "symbol": "kr"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "INR",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "íslendsk króna",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "norsk króna",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SEK": {
+ "name": "svensk króna",
+ "symbol": "SEK"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/fr-CA.json b/library/intl/resources/currency/fr-CA.json
new file mode 100644
index 000000000..93d2ddc07
--- /dev/null
+++ b/library/intl/resources/currency/fr-CA.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghani afghan",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariary malgache",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "baht thaïlandais",
+ "symbol": "THB"
+ },
+ "PAB": {
+ "name": "balboa panaméen",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "birr éthiopien",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolivar vénézuélien",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano bolivien",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cédi ghanéen",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "colón costaricain",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadorien",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba oro nicaraguayen",
+ "symbol": "NIO"
+ },
+ "DKK": {
+ "name": "couronne danoise",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "couronne islandaise",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "couronne norvégienne",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "couronne suédoise",
+ "symbol": "SEK"
+ },
+ "CZK": {
+ "name": "couronne tchèque",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "dalasi gambien",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "denar macédonien",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "dinar algérien",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreïni",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar irakien",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordanien",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar koweïtien",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libyen",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "dinar serbe",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunisien",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dirham des Émirats arabes unis",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirham marocain",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra santoméen",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dollar australien",
+ "symbol": "$ AU"
+ },
+ "BSD": {
+ "name": "dollar bahaméen",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dollar barbadien",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dollar bélizéen",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "dollar bermudien",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "dollar brunéien",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "dollar canadien",
+ "symbol": "$"
+ },
+ "HKD": {
+ "name": "dollar de Hong Kong",
+ "symbol": "$ HK"
+ },
+ "SGD": {
+ "name": "dollar de Singapour",
+ "symbol": "$ SG"
+ },
+ "TTD": {
+ "name": "dollar de Trinité-et-Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dollar des Caraïbes orientales",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dollar des États-Unis",
+ "symbol": "$ US"
+ },
+ "KYD": {
+ "name": "dollar des îles Caïmans",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "dollar des îles Salomon",
+ "symbol": "SBD"
+ },
+ "GYD": {
+ "name": "dollar du Guyana",
+ "symbol": "GYD"
+ },
+ "SRD": {
+ "name": "dollar du Suriname",
+ "symbol": "SRD"
+ },
+ "FJD": {
+ "name": "dollar fidjien",
+ "symbol": "FJD"
+ },
+ "JMD": {
+ "name": "dollar jamaïcain",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dollar libérien",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dollar namibien",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dollar néo-zélandais",
+ "symbol": "$ NZ"
+ },
+ "ZWL": {
+ "name": "dollar zimbabwéen (2009)",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dông vietnamien",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram arménien",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo du Cap-Vert",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "florin antillais",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "florin arubais",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "forint hongrois",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franc burundais",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franc CFA (BCEAO)",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "franc CFA (BEAC)",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "franc CFP",
+ "symbol": "XPF"
+ },
+ "KMF": {
+ "name": "franc comorien",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franc congolais",
+ "symbol": "CDF"
+ },
+ "DJF": {
+ "name": "franc djiboutien",
+ "symbol": "DJF"
+ },
+ "GNF": {
+ "name": "franc guinéen",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franc rwandais",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franc suisse",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "gourde haïtienne",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "guaraní paraguayen",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "hryvnia ukrainienne",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "kina papou-néo-guinéen",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip laotien",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "kuna croate",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "kwacha malawite",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha zambien",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza angolais",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "kyat myanmarais",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "lari géorgien",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek albanais",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondurien",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leone sierra-léonais",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldave",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu roumain",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "lev bulgare",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "lilangeni swazi",
+ "symbol": "SZL"
+ },
+ "LTL": {
+ "name": "litas lituanien",
+ "symbol": "LTL"
+ },
+ "GIP": {
+ "name": "livre de Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "livre de Sainte-Hélène",
+ "symbol": "SHP"
+ },
+ "FKP": {
+ "name": "livre des ÃŽles Malouines",
+ "symbol": "FKP"
+ },
+ "EGP": {
+ "name": "livre égyptienne",
+ "symbol": "EGP"
+ },
+ "LBP": {
+ "name": "livre libanaise",
+ "symbol": "LBP"
+ },
+ "SDG": {
+ "name": "livre soudanaise",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "livre sterling",
+ "symbol": "£"
+ },
+ "SSP": {
+ "name": "livre sud-soudanaise",
+ "symbol": "SSP"
+ },
+ "SYP": {
+ "name": "livre syrienne",
+ "symbol": "SYP"
+ },
+ "TRY": {
+ "name": "livre turque",
+ "symbol": "TRY"
+ },
+ "LSL": {
+ "name": "loti lesothan",
+ "symbol": "lLS"
+ },
+ "AZN": {
+ "name": "manat azerbaïdjanais",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "mark convertible bosniaque",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical mozambicain",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "nafka érythréen",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "naira nigérian",
+ "symbol": "NGN"
+ },
+ "BTN": {
+ "name": "ngultrum bouthanais",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "nouveau dollar taïwanais",
+ "symbol": "TWD"
+ },
+ "TMT": {
+ "name": "nouveau manat turkmène",
+ "symbol": "TMT"
+ },
+ "ILS": {
+ "name": "nouveau shekel israélien",
+ "symbol": "ILS"
+ },
+ "PEN": {
+ "name": "nouveau sol péruvien",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "ouguiya mauritanien",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "pa’anga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca macanaise",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentin",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chilien",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso colombien",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubain",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubain convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicain",
+ "symbol": "DOP"
+ },
+ "MXN": {
+ "name": "peso mexicain",
+ "symbol": "MXN"
+ },
+ "PHP": {
+ "name": "peso philippin",
+ "symbol": "PHP"
+ },
+ "UYU": {
+ "name": "peso uruguayen",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula botswanais",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatémaltèque",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand sud-africain",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "réal brésilien",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "rial iranien",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omanais",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saoudien",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yéménite",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel cambodgien",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringgit malais",
+ "symbol": "MYR"
+ },
+ "QAR": {
+ "name": "riyal du Qatar",
+ "symbol": "QAR"
+ },
+ "BYR": {
+ "name": "rouble biélorusse",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rouble russe",
+ "symbol": "RUB"
+ },
+ "SCR": {
+ "name": "roupie des Seychelles",
+ "symbol": "SCR"
+ },
+ "INR": {
+ "name": "roupie indienne",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "roupie indonésienne",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "roupie mauricienne",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "roupie népalaise",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "roupie pakistanaise",
+ "symbol": "PKR"
+ },
+ "LKR": {
+ "name": "roupie srilankaise",
+ "symbol": "LKR"
+ },
+ "MVR": {
+ "name": "rufiyaa maldivien",
+ "symbol": "MVR"
+ },
+ "KES": {
+ "name": "shilling kényan",
+ "symbol": "KES"
+ },
+ "UGX": {
+ "name": "shilling ougandais",
+ "symbol": "UGX"
+ },
+ "SOS": {
+ "name": "shilling somalien",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "shilling tanzanien",
+ "symbol": "TZS"
+ },
+ "KGS": {
+ "name": "som kirghize",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tadjik",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum ouzbek",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka bangladeshi",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazakh",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik mongol",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "vatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won nord-coréen",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won sud-coréen",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen japonais",
+ "symbol": "Â¥"
+ },
+ "CNY": {
+ "name": "yuan renminbi chinois",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "zloty polonais",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/fr.json b/library/intl/resources/currency/fr.json
new file mode 100644
index 000000000..848251d4c
--- /dev/null
+++ b/library/intl/resources/currency/fr.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghani afghan",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariary malgache",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "baht thaïlandais",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "balboa panaméen",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "birr éthiopien",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolivar vénézuélien",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano bolivien",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cédi ghanéen",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "colón costaricain",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colón salvadorien",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "córdoba oro nicaraguayen",
+ "symbol": "NIO"
+ },
+ "DKK": {
+ "name": "couronne danoise",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "couronne islandaise",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "couronne norvégienne",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "couronne suédoise",
+ "symbol": "SEK"
+ },
+ "CZK": {
+ "name": "couronne tchèque",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "dalasi gambien",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "denar macédonien",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "dinar algérien",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreïni",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar irakien",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordanien",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar koweïtien",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libyen",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "dinar serbe",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunisien",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dirham des Émirats arabes unis",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirham marocain",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra santoméen",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dollar australien",
+ "symbol": "$AU"
+ },
+ "BSD": {
+ "name": "dollar bahaméen",
+ "symbol": "$BS"
+ },
+ "BBD": {
+ "name": "dollar barbadien",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dollar bélizéen",
+ "symbol": "$BZ"
+ },
+ "BMD": {
+ "name": "dollar bermudien",
+ "symbol": "$BM"
+ },
+ "BND": {
+ "name": "dollar brunéien",
+ "symbol": "$BN"
+ },
+ "CAD": {
+ "name": "dollar canadien",
+ "symbol": "$CA"
+ },
+ "HKD": {
+ "name": "dollar de Hong Kong",
+ "symbol": "HKD"
+ },
+ "SGD": {
+ "name": "dollar de Singapour",
+ "symbol": "$SG"
+ },
+ "XCD": {
+ "name": "dollar des Caraïbes orientales",
+ "symbol": "XCD"
+ },
+ "USD": {
+ "name": "dollar des États-Unis",
+ "symbol": "$US"
+ },
+ "KYD": {
+ "name": "dollar des îles Caïmans",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "dollar des îles Salomon",
+ "symbol": "$SB"
+ },
+ "GYD": {
+ "name": "dollar du Guyana",
+ "symbol": "GYD"
+ },
+ "FJD": {
+ "name": "dollar fidjien",
+ "symbol": "$FJ"
+ },
+ "JMD": {
+ "name": "dollar jamaïcain",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dollar libérien",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dollar namibien",
+ "symbol": "$NA"
+ },
+ "NZD": {
+ "name": "dollar néo-zélandais",
+ "symbol": "$NZ"
+ },
+ "SRD": {
+ "name": "dollar surinamais",
+ "symbol": "$SR"
+ },
+ "TTD": {
+ "name": "dollar trinidadien",
+ "symbol": "$TT"
+ },
+ "ZWL": {
+ "name": "dollar zimbabwéen (2009)",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dông vietnamien",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "dram arménien",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo capverdien",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "florin antillais",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "florin arubais",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "forint hongrois",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franc burundais",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franc CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "franc CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "franc CFP",
+ "symbol": "FCFP"
+ },
+ "KMF": {
+ "name": "franc comorien",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franc congolais",
+ "symbol": "CDF"
+ },
+ "DJF": {
+ "name": "franc djiboutien",
+ "symbol": "DJF"
+ },
+ "GNF": {
+ "name": "franc guinéen",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franc rwandais",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franc suisse",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "gourde haïtienne",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "guaraní paraguayen",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "hryvnia ukrainienne",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "kina papouan-néo-guinéen",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip loatien",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "kuna croate",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "kwacha malawite",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha zambien",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza angolais",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "kyat myanmarais",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "lari géorgien",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek albanais",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondurien",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leone sierra-léonais",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldave",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu roumain",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "lev bulgare",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "lilangeni swazi",
+ "symbol": "SZL"
+ },
+ "LTL": {
+ "name": "litas lituanien",
+ "symbol": "LTL"
+ },
+ "GIP": {
+ "name": "livre de Gibraltar",
+ "symbol": "£GI"
+ },
+ "SHP": {
+ "name": "livre de Sainte-Hélène",
+ "symbol": "SHP"
+ },
+ "FKP": {
+ "name": "livre des Falkland",
+ "symbol": "£FK"
+ },
+ "EGP": {
+ "name": "livre égyptienne",
+ "symbol": "EGP"
+ },
+ "LBP": {
+ "name": "livre libanaise",
+ "symbol": "£LB"
+ },
+ "SDG": {
+ "name": "livre soudanaise",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "livre sterling",
+ "symbol": "£GB"
+ },
+ "SSP": {
+ "name": "livre sud-soudanaise",
+ "symbol": "SSP"
+ },
+ "SYP": {
+ "name": "livre syrienne",
+ "symbol": "SYP"
+ },
+ "TRY": {
+ "name": "livre turque",
+ "symbol": "TRY"
+ },
+ "LSL": {
+ "name": "loti lesothan",
+ "symbol": "lLS"
+ },
+ "AZN": {
+ "name": "manat azéri",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "mark convertible bosniaque",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical mozambicain",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "nafka érythréen",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "naira nigérian",
+ "symbol": "NGN"
+ },
+ "BTN": {
+ "name": "ngultrum bouthanais",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "nouveau dollar taïwanais",
+ "symbol": "TWD"
+ },
+ "TMT": {
+ "name": "nouveau manat turkmène",
+ "symbol": "TMT"
+ },
+ "ILS": {
+ "name": "nouveau shekel israélien",
+ "symbol": "₪"
+ },
+ "PEN": {
+ "name": "nouveau sol péruvien",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "ouguiya mauritanien",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "pa’anga tongan",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca macanaise",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentin",
+ "symbol": "$AR"
+ },
+ "CLP": {
+ "name": "peso chilien",
+ "symbol": "$CL"
+ },
+ "COP": {
+ "name": "peso colombien",
+ "symbol": "$CO"
+ },
+ "CUP": {
+ "name": "peso cubain",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubain convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominicain",
+ "symbol": "DOP"
+ },
+ "MXN": {
+ "name": "peso mexicain",
+ "symbol": "$MX"
+ },
+ "PHP": {
+ "name": "peso philippin",
+ "symbol": "PHP"
+ },
+ "UYU": {
+ "name": "peso uruguayen",
+ "symbol": "$UY"
+ },
+ "BWP": {
+ "name": "pula botswanais",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatémaltèque",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand sud-africain",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "réal brésilien",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "rial iranien",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omanais",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "rial qatari",
+ "symbol": "QAR"
+ },
+ "SAR": {
+ "name": "rial saoudien",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yéménite",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel cambodgien",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringgit malais",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rouble biélorusse",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rouble russe",
+ "symbol": "RUB"
+ },
+ "SCR": {
+ "name": "roupie des Seychelles",
+ "symbol": "SCR"
+ },
+ "INR": {
+ "name": "roupie indienne",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "roupie indonésienne",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "roupie mauricienne",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "roupie népalaise",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "roupie pakistanaise",
+ "symbol": "PKR"
+ },
+ "LKR": {
+ "name": "roupie srilankaise",
+ "symbol": "LKR"
+ },
+ "MVR": {
+ "name": "rufiyaa maldivien",
+ "symbol": "MVR"
+ },
+ "KES": {
+ "name": "shilling kényan",
+ "symbol": "KES"
+ },
+ "UGX": {
+ "name": "shilling ougandais",
+ "symbol": "UGX"
+ },
+ "SOS": {
+ "name": "shilling somalien",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "shilling tanzanien",
+ "symbol": "TZS"
+ },
+ "KGS": {
+ "name": "som kirghize",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tadjik",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum ouzbek",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka bangladeshi",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala samoan",
+ "symbol": "WS$"
+ },
+ "KZT": {
+ "name": "tenge kazakh",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik mongol",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "vatu vanuatuan",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won nord-coréen",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won sud-coréen",
+ "symbol": "â‚©"
+ },
+ "JPY": {
+ "name": "yen japonais",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan renminbi chinois",
+ "symbol": "CNY"
+ },
+ "PLN": {
+ "name": "zloty polonais",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/fur.json b/library/intl/resources/currency/fur.json
new file mode 100644
index 000000000..70f49a170
--- /dev/null
+++ b/library/intl/resources/currency/fur.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "THB": {
+ "name": "baht tailandês",
+ "symbol": "THB"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "NIO": {
+ "name": "Córdoba oro nicaraguan",
+ "symbol": "NIO"
+ },
+ "DKK": {
+ "name": "corone danese",
+ "symbol": "DKK"
+ },
+ "CZK": {
+ "name": "Corone de Republiche Ceche",
+ "symbol": "CZK"
+ },
+ "NOK": {
+ "name": "corone norvegjese",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "corone svedese",
+ "symbol": "SEK"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "DZD": {
+ "name": "Dinar algerin",
+ "symbol": "DZD"
+ },
+ "RSD": {
+ "name": "Dinar serp",
+ "symbol": "RSD"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "USD": {
+ "name": "dolar american",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "dolar australian",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "dolar canadês",
+ "symbol": "CA$"
+ },
+ "BND": {
+ "name": "Dolar dal Brunei",
+ "symbol": "BND"
+ },
+ "HKD": {
+ "name": "dolar di Hong Kong",
+ "symbol": "HK$"
+ },
+ "NAD": {
+ "name": "Dolar namibian",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "Dollar neozelandês",
+ "symbol": "NZ$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "AMD": {
+ "name": "Dram armen",
+ "symbol": "AMD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "BIF": {
+ "name": "Franc burundês",
+ "symbol": "BIF"
+ },
+ "CHF": {
+ "name": "franc svuizar",
+ "symbol": "CHF"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "TWD": {
+ "name": "gnûf dolar taiwanês",
+ "symbol": "NT$"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "HRK": {
+ "name": "Kuna cravuate",
+ "symbol": "HRK"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "TRY": {
+ "name": "lire turche",
+ "symbol": "TRY"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "ARS": {
+ "name": "Peso argjentin",
+ "symbol": "ARS"
+ },
+ "CUP": {
+ "name": "Peso cuban",
+ "symbol": "CUP"
+ },
+ "MXN": {
+ "name": "peso messican",
+ "symbol": "MX$"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "rand sudafrican",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasilian",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial iranian",
+ "symbol": "IRR"
+ },
+ "SAR": {
+ "name": "riyal de Arabie Saudite",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "BYR": {
+ "name": "Rubli bielorùs",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rubli rus",
+ "symbol": "RUB"
+ },
+ "IDR": {
+ "name": "rupiah indonesiane",
+ "symbol": "IDR"
+ },
+ "INR": {
+ "name": "rupie indiane",
+ "symbol": "₹"
+ },
+ "PKR": {
+ "name": "Rupie pachistane",
+ "symbol": "PKR"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "GBP": {
+ "name": "sterline britaniche",
+ "symbol": "£"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "won de Coree dal Sud",
+ "symbol": "â‚©"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "yen gjaponês",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "yuan cinês",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "zloty polac",
+ "symbol": "PLN"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/fy.json b/library/intl/resources/currency/fy.json
new file mode 100644
index 000000000..0c3f71931
--- /dev/null
+++ b/library/intl/resources/currency/fy.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghaanske afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanese lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerynske dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "Amerikaanske dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angolese kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentynske peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armeense dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Arubaanske gulden",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australyske dollar",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "Azerbeidzjaanske manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamaanske dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahreinse dinar",
+ "symbol": "BHD"
+ },
+ "BBD": {
+ "name": "Barbadaanske dollar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belizaanske dollar",
+ "symbol": "BZD"
+ },
+ "BDT": {
+ "name": "Bengalese taka",
+ "symbol": "BDT"
+ },
+ "BMD": {
+ "name": "Bermuda-dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutaanske ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Boliviaanske boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnyske convertibele mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswaanske pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Braziliaanske real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Brits pûn sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Bruneise dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgaarse lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundese frank",
+ "symbol": "BIF"
+ },
+ "CAD": {
+ "name": "Canadese dollar",
+ "symbol": "C$"
+ },
+ "KYD": {
+ "name": "Caymaneilânske dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA-franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-frank",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-franc",
+ "symbol": "XPF"
+ },
+ "CDF": {
+ "name": "Congolese frank",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costaricaanske colón",
+ "symbol": "CRC"
+ },
+ "DKK": {
+ "name": "Deenske kroon",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutiaanske frank",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominikaanske peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "East-Karibyske dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "Egyptysk pûn",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrese nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopyske birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklâneilânske pûn",
+ "symbol": "FKP"
+ },
+ "VEF": {
+ "name": "Fenezolaanske bolivar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Fietnameeske dong",
+ "symbol": "â‚«"
+ },
+ "FJD": {
+ "name": "Fiji-dollar",
+ "symbol": "FJ$"
+ },
+ "PHP": {
+ "name": "Filipynske peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "Gambiaanske dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgyske lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanese cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltarees pûn",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalteekse quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinese franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyaanske dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haïtiaanske gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Hondurese lempira",
+ "symbol": "HNL"
+ },
+ "HUF": {
+ "name": "Hongaarse forint",
+ "symbol": "HUF"
+ },
+ "HKD": {
+ "name": "Hongkongske dollar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "Indiase roepie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesyske roepia",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Iraakse dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iraanske rial",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "Israëlyske nieuwe shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaikaanske dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanse yen",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "Jemenityske rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jordaanske dinar",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Kaapverdyske escudo",
+ "symbol": "CVE"
+ },
+ "KHR": {
+ "name": "Kambodjaanske riel",
+ "symbol": "KHR"
+ },
+ "QAR": {
+ "name": "Katarese rial",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "Kazachstaanske tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Keniaanske shilling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Kirgizyske som",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "Koeweitse dinar",
+ "symbol": "KWD"
+ },
+ "COP": {
+ "name": "Kolombiaanske peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komorese frank",
+ "symbol": "KMF"
+ },
+ "HRK": {
+ "name": "Kroatyske kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Kubaanske convertibele peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Kubaanske peso",
+ "symbol": "CUP"
+ },
+ "LAK": {
+ "name": "Laotiaanske kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesothaanske loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "Libaneeske pûn",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberiaanske dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyske dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litouwse litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macause pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonyske denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagassyske ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawyske kwacha",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Maldivyske rufiyaa",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "Maleisyske ringgit",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "Marokkaanske dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "Mauritaanske ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritiaanske roepie",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Meksikaanske peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldavyske leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongoalske tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mozambikaanske metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmarese kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibyske dollar",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "Nederlânsk-Antilliaanske gûne",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "Nepalese roepie",
+ "symbol": "NPR"
+ },
+ "NIO": {
+ "name": "Nicaraguaanske córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigeriaanske naira",
+ "symbol": "NGN"
+ },
+ "NZD": {
+ "name": "Nij-Seelânske dollar",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "Nije Taiwanese dollar",
+ "symbol": "NT$"
+ },
+ "KPW": {
+ "name": "Noard-Koreaanske won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Noarske kroon",
+ "symbol": "NOK"
+ },
+ "UGX": {
+ "name": "Oegandese shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Oekraïense hryvnia",
+ "symbol": "UAH"
+ },
+ "UZS": {
+ "name": "Oezbekistaanske sum",
+ "symbol": "UZS"
+ },
+ "OMR": {
+ "name": "Omaanske rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistaanske roepie",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamese balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papuaanske kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayaanske guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruaanske nieuwe sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Poalske zloty",
+ "symbol": "PLN"
+ },
+ "RON": {
+ "name": "Roemeenske leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russyske roebel",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandese frank",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "Salomon-dollar",
+ "symbol": "SI$"
+ },
+ "SVC": {
+ "name": "Salvadoraanske colón",
+ "symbol": "SVC"
+ },
+ "ZMW": {
+ "name": "Sambiaanske kwacha",
+ "symbol": "ZMW"
+ },
+ "WST": {
+ "name": "Samoaanske tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Santomese dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saoedi-Arabyske riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Servyske dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychelse roepie",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierraleoonse leone",
+ "symbol": "SLL"
+ },
+ "CLP": {
+ "name": "Sileenske peso",
+ "symbol": "CLP"
+ },
+ "ZWL": {
+ "name": "Simbabwaanske dollar (2009)",
+ "symbol": "ZWL"
+ },
+ "CNY": {
+ "name": "Sineeske yuan renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "SGD": {
+ "name": "Singaporese dollar",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "Sint-Heleenske pûn",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Soedaneeske pûn",
+ "symbol": "SDG"
+ },
+ "SOS": {
+ "name": "Somalyske shilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri Lankaanske roepie",
+ "symbol": "LKR"
+ },
+ "ZAR": {
+ "name": "Sûd-Afrikaanske rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Sûd-Koreaanske won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Sûd-Soedaneeske pûn",
+ "symbol": "SSP"
+ },
+ "SRD": {
+ "name": "Surinaamske dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazyske lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "Sweedske kroon",
+ "symbol": "SEK"
+ },
+ "SYP": {
+ "name": "Syrysk pûn",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tadzjikistaanske somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzaniaanske shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thaise baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongaanske paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad en Tobago-dollar",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "Tsjechyske kroon",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "Tunesyske dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "Turkmeense manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "Turkse lira",
+ "symbol": "TRY"
+ },
+ "UYU": {
+ "name": "Uruguayaanske peso",
+ "symbol": "UYU"
+ },
+ "VUV": {
+ "name": "Vanuatuaanske vatu",
+ "symbol": "VUV"
+ },
+ "AED": {
+ "name": "Verenigde Arabyske Emiraten-dirham",
+ "symbol": "AED"
+ },
+ "BYR": {
+ "name": "Wit-Russyske roebel",
+ "symbol": "BYR"
+ },
+ "ISK": {
+ "name": "Yslânske kroon",
+ "symbol": "ISK"
+ },
+ "CHF": {
+ "name": "Zwitserse frank",
+ "symbol": "CHF"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ga.json b/library/intl/resources/currency/ga.json
new file mode 100644
index 000000000..e0ad08f53
--- /dev/null
+++ b/library/intl/resources/currency/ga.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghani na hAfganastáine",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariary Mhadagascar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht na Téalainne",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa Phanama",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr na hAetóipe",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar Veiniséala",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi Ghána",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "Colón Chósta Ríce",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "Colón na Salvadóire",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "Córdoba Nicearagua",
+ "symbol": "NIO"
+ },
+ "DKK": {
+ "name": "Coróin na Danmhairge",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "Coróin na hIorua",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coróin na Sualainne",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi na Gaimbia",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "Denar na Macadóine",
+ "symbol": "MKD"
+ },
+ "BHD": {
+ "name": "Dinar Bhairéin",
+ "symbol": "BHD"
+ },
+ "KWD": {
+ "name": "Dinar Chuáit",
+ "symbol": "KWD"
+ },
+ "DZD": {
+ "name": "Dinar na hAilgéire",
+ "symbol": "DZD"
+ },
+ "IQD": {
+ "name": "Dinar na hIaráice",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar na hIordáine",
+ "symbol": "JOD"
+ },
+ "LYD": {
+ "name": "Dinar na Libia",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "Dinar na Seirbia",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar na Túinéise",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham Aontas na nÉimíríochtaí Arabacha",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham Mharacó",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra São Tomé agus Príncipe",
+ "symbol": "STD"
+ },
+ "BBD": {
+ "name": "Dollar Bharbadós",
+ "symbol": "BBD"
+ },
+ "BMD": {
+ "name": "Dollar Bheirmiúda",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dollar Bhrúiné",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dollar Cheanada",
+ "symbol": "CA$"
+ },
+ "FJD": {
+ "name": "Dollar Fhidsí",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "Dollar Hong Cong",
+ "symbol": "HK$"
+ },
+ "BZD": {
+ "name": "Dollar na Beilíse",
+ "symbol": "BZD"
+ },
+ "XCD": {
+ "name": "Dollar na Cairibe Thoir",
+ "symbol": "EC$"
+ },
+ "GYD": {
+ "name": "Dollar na Guáine",
+ "symbol": "GYD"
+ },
+ "AUD": {
+ "name": "Dollar na hAstráile",
+ "symbol": "A$"
+ },
+ "JMD": {
+ "name": "Dollar na hIamáice",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dollar na Libéire",
+ "symbol": "LRD"
+ },
+ "BSD": {
+ "name": "Dollar na mBahámaí",
+ "symbol": "BSD"
+ },
+ "NAD": {
+ "name": "Dollar na Namaibe",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "Dollar na Nua-Shéalainne",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "Dollar Nua na Téaváine",
+ "symbol": "NT$"
+ },
+ "KYD": {
+ "name": "Dollar Oileáin Cayman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dollar Oileáin Sholomón",
+ "symbol": "SBD"
+ },
+ "TTD": {
+ "name": "Dollar Oileán na Tríonóide agus Tobága",
+ "symbol": "TTD"
+ },
+ "USD": {
+ "name": "Dollar S.A.M.",
+ "symbol": "$"
+ },
+ "SGD": {
+ "name": "Dollar Shingeapór",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "Dollar Shuranam",
+ "symbol": "SRD"
+ },
+ "VND": {
+ "name": "Dong Vítneam",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram na hAirméine",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo Rinn Verde",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Flóirín Arúba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint na hUngáire",
+ "symbol": "HUF"
+ },
+ "CDF": {
+ "name": "Franc an Chongó",
+ "symbol": "CDF"
+ },
+ "XOF": {
+ "name": "Franc CFA Iarthar na hAfraice",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franc CFA na hAfraice Láir",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franc CFP",
+ "symbol": "CFPF"
+ },
+ "DJF": {
+ "name": "Franc Djibouti",
+ "symbol": "DJF"
+ },
+ "BIF": {
+ "name": "Franc na Burúine",
+ "symbol": "BIF"
+ },
+ "GNF": {
+ "name": "Franc na Guine",
+ "symbol": "GNF"
+ },
+ "CHF": {
+ "name": "Franc na hEilvéise",
+ "symbol": "CHF"
+ },
+ "KMF": {
+ "name": "Franc Oileáin Chomóra",
+ "symbol": "KMF"
+ },
+ "RWF": {
+ "name": "Franc Ruanda",
+ "symbol": "RWF"
+ },
+ "ANG": {
+ "name": "Gildear Aintillí na hÃsiltíre",
+ "symbol": "ANG"
+ },
+ "HTG": {
+ "name": "Gourde Háítí",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guaraní Pharagua",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "Hryvnia na hÚcráine",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "Kina Nua-Ghuine Phapua",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip Laos",
+ "symbol": "LAK"
+ },
+ "CZK": {
+ "name": "Koruna Phoblacht na Seice",
+ "symbol": "CZK"
+ },
+ "ISK": {
+ "name": "Króna na hÃoslainne",
+ "symbol": "ISK"
+ },
+ "HRK": {
+ "name": "Kuna na Cróite",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha na Maláive",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha na Saimbia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza Angóla",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat Mhaenmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari na Seoirsia",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek na hAlbáine",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira Hondúras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone Shiarra Leon",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu na Moldóive",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu na Rómáine",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev na Bulgáire",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "Lilangeni na Suasalainne",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira na Tuirce",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas na Liotuáine",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti Leosóta",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat na hAsarbaiseáine",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat na Tuircméanastáine",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marg Inmhalartaithe na Boisnia-Heirseagaivéine",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical Mhósaimbíc",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira na Nigéire",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa na hEiritré",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum na Bútáine",
+ "symbol": "BTN"
+ },
+ "PEN": {
+ "name": "Nuevo Sol Pheiriú",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya na Máratáine",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga Thonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca Mhacao",
+ "symbol": "MOP"
+ },
+ "CUP": {
+ "name": "Peso Chúba",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso Inmhalartaithe Chúba",
+ "symbol": "CUC"
+ },
+ "MXN": {
+ "name": "Peso Mheicsiceo",
+ "symbol": "MX$"
+ },
+ "COP": {
+ "name": "Peso na Colóime",
+ "symbol": "COP"
+ },
+ "ARS": {
+ "name": "Peso na hAirgintíne",
+ "symbol": "ARS"
+ },
+ "PHP": {
+ "name": "Peso na nOileán Filipíneach",
+ "symbol": "PHP"
+ },
+ "DOP": {
+ "name": "Peso na Poblachta Doiminicí",
+ "symbol": "DOP"
+ },
+ "CLP": {
+ "name": "Peso na Sile",
+ "symbol": "CLP"
+ },
+ "UYU": {
+ "name": "Peso Uragua",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula na Botsuáine",
+ "symbol": "BWP"
+ },
+ "GIP": {
+ "name": "Punt Ghiobráltar",
+ "symbol": "GIP"
+ },
+ "EGP": {
+ "name": "Punt na hÉigipte",
+ "symbol": "EGP"
+ },
+ "LBP": {
+ "name": "Punt na Liobáine",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Punt na Siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Punt na Súdáine",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Punt na Súdáine Theas",
+ "symbol": "SSP"
+ },
+ "FKP": {
+ "name": "Punt Oileáin Fháclainne",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "Punt San Héilin",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Punt Steirling",
+ "symbol": "£"
+ },
+ "GTQ": {
+ "name": "Quetzal Ghuatamala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand na hAfraice Theas",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real na Brasaíle",
+ "symbol": "R$"
+ },
+ "YER": {
+ "name": "Rial Éimin",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial na hIaráine",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "Rial Óman",
+ "symbol": "OMR"
+ },
+ "KHR": {
+ "name": "Riel na Cambóide",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit na Malaeisia",
+ "symbol": "MYR"
+ },
+ "QAR": {
+ "name": "Riyal Chatar",
+ "symbol": "QAR"
+ },
+ "SAR": {
+ "name": "Riyal na hAraibe Sádaí",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "Rúbal na Bealarúise",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rúbal na Rúise",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rufiyaa Oileáin Mhaildíve",
+ "symbol": "MVR"
+ },
+ "INR": {
+ "name": "Rúipí na hIndia",
+ "symbol": "₹"
+ },
+ "PKR": {
+ "name": "Rúipí na Pacastáine",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rúipí na Séiséal",
+ "symbol": "SCR"
+ },
+ "NPR": {
+ "name": "Rúipí Neipeal",
+ "symbol": "NPR"
+ },
+ "MUR": {
+ "name": "Rúipí Oileán Mhuirís",
+ "symbol": "MUR"
+ },
+ "LKR": {
+ "name": "Rúipí Shrí Lanca",
+ "symbol": "LKR"
+ },
+ "IDR": {
+ "name": "Rupiah na hIndinéise",
+ "symbol": "IDR"
+ },
+ "KES": {
+ "name": "Scilling na Céinia",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Scilling na Somáile",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Scilling na Tansáine",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Scilling Uganda",
+ "symbol": "UGX"
+ },
+ "ILS": {
+ "name": "Seiceal Nua Iosrael",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som na Cirgeastáine",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "Somoni na Táidsíceastáine",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "Sum na hÚisbéiceastáine",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "Taka na Banglaidéise",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala Shamó",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge na Casacstáine",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik na Mongóile",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatú",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "Won na Cóiré Theas",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "Won na Cóiré Thuaidh",
+ "symbol": "KPW"
+ },
+ "JPY": {
+ "name": "Yen na Seapáine",
+ "symbol": "Â¥"
+ },
+ "CNY": {
+ "name": "Yuan na Síne",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloty na Polainne",
+ "symbol": "PLN"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/gd.json b/library/intl/resources/currency/gd.json
new file mode 100644
index 000000000..af3986af0
--- /dev/null
+++ b/library/intl/resources/currency/gd.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghani Afghanach",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariary Madagasgarach",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht Tàidheach",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa Panamach",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr Itiopach",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar Bheinisealach",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano Boilibhiach",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi Gànach",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "Colón Costa Rìceach",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "Colón Salbhadorach",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "Córdoba Niocaragach",
+ "symbol": "NIO"
+ },
+ "GMD": {
+ "name": "Dalasi Gaimbitheach",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "Denar Masadonach",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "Dinar Aildireach",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar Bachraineach",
+ "symbol": "BHD"
+ },
+ "KWD": {
+ "name": "Dinar Cuibhèiteach",
+ "symbol": "KWD"
+ },
+ "IQD": {
+ "name": "Dinar Ioràcach",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar Iòrdanach",
+ "symbol": "JOD"
+ },
+ "LYD": {
+ "name": "Dinar Libitheach",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "Dinar Sèirbeach",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar Tuiniseach",
+ "symbol": "TND"
+ },
+ "MAD": {
+ "name": "Dirham Morocach",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Dirham nan Iomaratan Arabach Aonaichte",
+ "symbol": "AED"
+ },
+ "STD": {
+ "name": "Dobra São Tomé agus Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dolar Astràilianach",
+ "symbol": "A$"
+ },
+ "BBD": {
+ "name": "Dolar Barbadach",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "Dolar Bathamach",
+ "symbol": "BSD"
+ },
+ "BMD": {
+ "name": "Dolar Bearmùdach",
+ "symbol": "BMD"
+ },
+ "BZD": {
+ "name": "Dolar Beilìseach",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "Dolar Brùnaigheach",
+ "symbol": "BND"
+ },
+ "KYD": {
+ "name": "Dolar Caimeanach",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "Dolar Canadach",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Dolar Caraibeach earach",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "Dolar Diameugach",
+ "symbol": "JMD"
+ },
+ "SBD": {
+ "name": "Dolar Eileanan Sholaimh",
+ "symbol": "SBD"
+ },
+ "FJD": {
+ "name": "Dolar Fìditheach",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "Dolar Guidheànach",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "Dolar Hong Kong",
+ "symbol": "HK$"
+ },
+ "LRD": {
+ "name": "Dolar Libèireach",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dolar Naimibitheach",
+ "symbol": "NAD"
+ },
+ "USD": {
+ "name": "Dolar nan Stàitean Aonaichte",
+ "symbol": "$"
+ },
+ "NZD": {
+ "name": "Dolar Shealainn Nuaidh",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dolar Singeapòrach",
+ "symbol": "SGD"
+ },
+ "ZWL": {
+ "name": "Dolar Sìombabuthach (2009)",
+ "symbol": "ZWL"
+ },
+ "SRD": {
+ "name": "Dolar Suranamach",
+ "symbol": "SRD"
+ },
+ "TTD": {
+ "name": "Dolar Thrianaid agus Thobago",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "Dolar ùr Taidh-Bhànach",
+ "symbol": "NT$"
+ },
+ "VND": {
+ "name": "Dong Bhiet-Namach",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram Airmeineach",
+ "symbol": "AMD"
+ },
+ "EUR": {
+ "name": "Eòro",
+ "symbol": "€"
+ },
+ "CVE": {
+ "name": "Escudo a’ Chip Uaine",
+ "symbol": "CVE"
+ },
+ "AWG": {
+ "name": "Florin Arùbach",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint Ungaireach",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franc Burundaidheach",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franc CFA Afraga an Iar",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franc CFA Meadhan-Afragach",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franc CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franc Comorosach",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franc Congothach",
+ "symbol": "CDF"
+ },
+ "DJF": {
+ "name": "Franc Diobùtaidheach",
+ "symbol": "DJF"
+ },
+ "CHF": {
+ "name": "Franc Eilbheiseach",
+ "symbol": "CHF"
+ },
+ "GNF": {
+ "name": "Franc Ginitheach",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "Franc Rubhandach",
+ "symbol": "RWF"
+ },
+ "HTG": {
+ "name": "Gourde Haidhteach",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guaraní Paraguaidheach",
+ "symbol": "PYG"
+ },
+ "ANG": {
+ "name": "Gulden Eileanan Aintilia nan Tìrean Ìsle",
+ "symbol": "ANG"
+ },
+ "UAH": {
+ "name": "Hryvnia Ucràineach",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "Kina Ghini Nuaidh Paputhaiche",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip Làthosach",
+ "symbol": "LAK"
+ },
+ "CZK": {
+ "name": "Koruna Seiceach",
+ "symbol": "CZK"
+ },
+ "ISK": {
+ "name": "Króna Innis Tìleach",
+ "symbol": "ISK"
+ },
+ "SEK": {
+ "name": "Krona Suaineach",
+ "symbol": "SEK"
+ },
+ "DKK": {
+ "name": "Krone Danmhairgeach",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "Krone Nirribheach",
+ "symbol": "NOK"
+ },
+ "HRK": {
+ "name": "Kuna Cròthaiseach",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha Malabhaidheach",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha Sàimbitheach",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza Angòlach",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat Miànmarach",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari Cairtbheileach",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek Albàineach",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira Hondùrach",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone Siarra Leòmhannach",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu Moldobhach",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu Romàineach",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev Bulgarach",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "Lilangeni Suasaidheach",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira Turcach",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas Liotuaineach",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti Leasotach",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat Asarbaideànach",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat Turcmanach",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Mark iompachail Bhosna agus Hearsagobhana",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical Mòsaimbiceach",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira Nigèiriach",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa Eartrach",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum Butànach",
+ "symbol": "BTN"
+ },
+ "MRO": {
+ "name": "Ouguiya Moratàineach",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga Tongach",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca Macàthuach",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso Argantaineach",
+ "symbol": "ARS"
+ },
+ "COP": {
+ "name": "Peso Coloimbeach",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso Cùbach",
+ "symbol": "CUP"
+ },
+ "DOP": {
+ "name": "Peso Doiminiceach",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso Filipineach",
+ "symbol": "PHP"
+ },
+ "CUC": {
+ "name": "Peso iompachail Cùbach",
+ "symbol": "CUC"
+ },
+ "MXN": {
+ "name": "Peso Meagsagach",
+ "symbol": "MX$"
+ },
+ "CLP": {
+ "name": "Peso Sileach",
+ "symbol": "CLP"
+ },
+ "UYU": {
+ "name": "Peso Uruguaidheach",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula Botsuanach",
+ "symbol": "BWP"
+ },
+ "GIP": {
+ "name": "Punnd Diobraltarach",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Punnd Eilean Naomh Eilidh",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Punnd Èipheiteach",
+ "symbol": "EGP"
+ },
+ "FKP": {
+ "name": "Punnd Fàclannach",
+ "symbol": "FKP"
+ },
+ "LBP": {
+ "name": "Punnd Leabanach",
+ "symbol": "LBP"
+ },
+ "GBP": {
+ "name": "Punnd Sasannach",
+ "symbol": "£"
+ },
+ "SYP": {
+ "name": "Punnd Siridheach",
+ "symbol": "SYP"
+ },
+ "SSP": {
+ "name": "Punnd Sudàin a Deas",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "Punnd Sudànach",
+ "symbol": "SDG"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatamalach",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand Afraga a Deas",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real Braisileach",
+ "symbol": "R$"
+ },
+ "QAR": {
+ "name": "Rial Catarach",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial Eamanach",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial Iorànach",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "Rial Omànach",
+ "symbol": "OMR"
+ },
+ "KHR": {
+ "name": "Riel Cambuideach",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit Malaidheach",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "Riyal Sabhdach",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "Rùbal Bealaruiseach",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rùbal Ruiseach",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rufiyaa Maladaibheach",
+ "symbol": "MVR"
+ },
+ "INR": {
+ "name": "Rupee Innseanach",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupee Moiriseasach",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupee Neapàlach",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupee Pagastànach",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupee Seiseallach",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "Rupee Sri Lancach",
+ "symbol": "LKR"
+ },
+ "IDR": {
+ "name": "Rupiah Innd-Innseach",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "Sheqel ùr Iosraeleach",
+ "symbol": "₪"
+ },
+ "KES": {
+ "name": "Shilling Ceineach",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Shilling Somàilitheach",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilling Tansanaidheach",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shilling Ugandach",
+ "symbol": "UGX"
+ },
+ "PEN": {
+ "name": "Sol ùr Pearùthach",
+ "symbol": "PEN"
+ },
+ "KGS": {
+ "name": "Som Cìorgasach",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som Usbagach",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni Taidigeach",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka Bangladaiseach",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala Samothach",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge Casachach",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik Mongolach",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatuthach",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "Won Choirèa a Deas",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "Won Choirèa a Tuath",
+ "symbol": "KPW"
+ },
+ "JPY": {
+ "name": "Yen Seapanach",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "Yuan Sìneach",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Złoty Pòlainneach",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/gl.json b/library/intl/resources/currency/gl.json
new file mode 100644
index 000000000..dd76c8479
--- /dev/null
+++ b/library/intl/resources/currency/gl.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afgani afgano",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariary malgaxe",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht tailandés",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa panameño",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar venezolano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi de Gana",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "Chelín kenyano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Chelín somalí",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Chelín tanzano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Chelín ugandés",
+ "symbol": "UGX"
+ },
+ "CRC": {
+ "name": "Colón costarricense",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "Colón salvadoreño",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "Córdoba de ouro nicaragüense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "Coroa checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Coroa islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coroa sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi gambiano",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar alxeriano",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar de Baréin",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar iraquí",
+ "symbol": "IQD"
+ },
+ "KWD": {
+ "name": "Dinar kuwaití",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar libio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinar macedonio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar serbio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar tunesino",
+ "symbol": "TND"
+ },
+ "JOD": {
+ "name": "Dinar xordano",
+ "symbol": "JOD"
+ },
+ "AED": {
+ "name": "Dirham dos Emiratos Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham marroquí",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra de San Tomé e Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "$A"
+ },
+ "BZD": {
+ "name": "Dólar beliceño",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "$CA"
+ },
+ "XCD": {
+ "name": "Dólar Caribe-Leste",
+ "symbol": "EC$"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas",
+ "symbol": "BSD"
+ },
+ "BMD": {
+ "name": "Dólar das Bemudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "Dólar das Illas Caimán",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dólar das Illas Salomón",
+ "symbol": "SBD"
+ },
+ "BBD": {
+ "name": "Dólar de Barbados",
+ "symbol": "BBD"
+ },
+ "BND": {
+ "name": "Dólar de Brunei",
+ "symbol": "BND"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "$HK"
+ },
+ "SGD": {
+ "name": "Dólar de Singapur",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dólar de Trinidade e Tobago",
+ "symbol": "TTD"
+ },
+ "USD": {
+ "name": "Dólar estadounidense",
+ "symbol": "$"
+ },
+ "FJD": {
+ "name": "Dólar fixiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "Dólar güianés",
+ "symbol": "GYD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dólar namibio",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "Dólar neozelandés",
+ "symbol": "NZ$"
+ },
+ "SRD": {
+ "name": "Dólar surinamés",
+ "symbol": "SRD"
+ },
+ "JMD": {
+ "name": "Dólar xamaicano",
+ "symbol": "JMD"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram armenio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo caboverdiano",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florín arubeño",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "Florín das Antillas Neerlandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "Florín húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franco burundés",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franco CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco congolés",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "Franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "Franco ruandés",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suízo",
+ "symbol": "CHF"
+ },
+ "DJF": {
+ "name": "Franco xibutiano",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "Gourde haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "Grivna ucraína",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "Guaraní paraguaio",
+ "symbol": "PYG"
+ },
+ "JPY": {
+ "name": "Ien xaponés",
+ "symbol": "Â¥JP"
+ },
+ "CNY": {
+ "name": "Iuán chinés",
+ "symbol": "CNÂ¥"
+ },
+ "MMK": {
+ "name": "Kiat birmano",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "Kina de Papúa Nova Guinea",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip laosiano",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha de Malaui",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza angoleño",
+ "symbol": "AOA"
+ },
+ "GEL": {
+ "name": "Lari xeorxiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek albanés",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira hondureño",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu romanés",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev búlgaro",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "Libra das Malvinas",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "GIP": {
+ "name": "Libra de Xibraltar",
+ "symbol": "GIP"
+ },
+ "GBP": {
+ "name": "Libra esterlina",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Libra exipcia",
+ "symbol": "EGP"
+ },
+ "LBP": {
+ "name": "Libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Libra siria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Libra sursudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "Lilanxeni de Suacilandia",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas lituana",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti de Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat acerbaixano",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat turcomano",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco convertible de Bosnia e Hercegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical de Mozambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nixeriano",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa eritreo",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum butanés",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanés",
+ "symbol": "$NT"
+ },
+ "ILS": {
+ "name": "Novo shequel israelí",
+ "symbol": "₪"
+ },
+ "MRO": {
+ "name": "Ouguiya mauritano",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca de Macau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso arxentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso cubano convertible",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "$MX"
+ },
+ "UYU": {
+ "name": "Peso uruguaio",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula botsuano",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand sudafricano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "$R"
+ },
+ "YER": {
+ "name": "Rial iemení",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial iraniano",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "Rial omaní",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial qatarí",
+ "symbol": "QAR"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "Riel camboxano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit malaio",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "Rublo bielorruso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo ruso",
+ "symbol": "RUB"
+ },
+ "MUR": {
+ "name": "Rupia de Mauricio",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia de Seixeles",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "Rupia de Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia india",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonesia",
+ "symbol": "IDR"
+ },
+ "MVR": {
+ "name": "Rupia maldiva",
+ "symbol": "MVR"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia paquistaní",
+ "symbol": "PKR"
+ },
+ "PEN": {
+ "name": "Sol novo peruano",
+ "symbol": "PEN"
+ },
+ "KGS": {
+ "name": "Som quirguizo",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som usbeco",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni taxico",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge casaco",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik mongol",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu vanuatense",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won norcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won surcoreano",
+ "symbol": "â‚©"
+ },
+ "PLN": {
+ "name": "Zloty polaco",
+ "symbol": "PLN"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/gsw.json b/library/intl/resources/currency/gsw.json
new file mode 100644
index 000000000..573c61104
--- /dev/null
+++ b/library/intl/resources/currency/gsw.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghani",
+ "symbol": "AFN"
+ },
+ "EGP": {
+ "name": "Ägüptischs Pfund",
+ "symbol": "EGP"
+ },
+ "DZD": {
+ "name": "Algeerischi Dinar",
+ "symbol": "DZD"
+ },
+ "ARS": {
+ "name": "Argentinische Peso",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "Aruba Florin",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "Aserbeidschanische Manat",
+ "symbol": "AZN"
+ },
+ "ETB": {
+ "name": "Äthiopische Birr",
+ "symbol": "ETB"
+ },
+ "AUD": {
+ "name": "Auschtralische Dollar",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Bahama-Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahrain-Dinar",
+ "symbol": "BHD"
+ },
+ "THB": {
+ "name": "Baht",
+ "symbol": "THB"
+ },
+ "PAB": {
+ "name": "Balboa",
+ "symbol": "PAB"
+ },
+ "BBD": {
+ "name": "Barbados-Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Belarus Rubel (nöi)",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Belize-Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermuda-Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutanische Ngultrum",
+ "symbol": "BTN"
+ },
+ "VEF": {
+ "name": "Bolivar",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "Botswanische Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brasilianische Real",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei-Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarische Lew",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundi-Franc",
+ "symbol": "BIF"
+ },
+ "XAF": {
+ "name": "CFA-Franc (Äquatoriaal)",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "CFA-Franc (Wescht)",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "CFP-Franc",
+ "symbol": "CFPF"
+ },
+ "CRC": {
+ "name": "Costa Rica Colon",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "MKD": {
+ "name": "Denar",
+ "symbol": "MKD"
+ },
+ "STD": {
+ "name": "Dobra",
+ "symbol": "STD"
+ },
+ "VND": {
+ "name": "Dong",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram",
+ "symbol": "AMD"
+ },
+ "DJF": {
+ "name": "Dschibuti-Franc",
+ "symbol": "DJF"
+ },
+ "SVC": {
+ "name": "El-Salvador-Colon",
+ "symbol": "SVC"
+ },
+ "ERN": {
+ "name": "Eritreische Nakfa",
+ "symbol": "ERN"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-Pfund",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fidschi Dollar",
+ "symbol": "FJD"
+ },
+ "HUF": {
+ "name": "Forint",
+ "symbol": "HUF"
+ },
+ "GMD": {
+ "name": "Gambische Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgische Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaische Cedi (GHS)",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar-Pfund",
+ "symbol": "GIP"
+ },
+ "HTG": {
+ "name": "Gourde",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani",
+ "symbol": "PYG"
+ },
+ "GNF": {
+ "name": "Guinea-Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyana-Dollar",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "Hongkong-Dollar",
+ "symbol": "HK$"
+ },
+ "UAH": {
+ "name": "Hryvnia",
+ "symbol": "UAH"
+ },
+ "ISK": {
+ "name": "Iisländischi Chroone",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indischi Rupie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesischi Rupie",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Irak-Dinar",
+ "symbol": "IQD"
+ },
+ "JMD": {
+ "name": "Jamaika-Dollar",
+ "symbol": "JMD"
+ },
+ "YER": {
+ "name": "Jeme-Rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jordaanische Dinar",
+ "symbol": "JOD"
+ },
+ "KYD": {
+ "name": "Kaiman-Dollar",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "Kanadische Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kap Verde Escudo",
+ "symbol": "CVE"
+ },
+ "QAR": {
+ "name": "Katar-Riyal",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "Kenia-Schilling",
+ "symbol": "KES"
+ },
+ "PGK": {
+ "name": "Kina",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip",
+ "symbol": "LAK"
+ },
+ "COP": {
+ "name": "Kolumbianische Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komore-Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongolesische Franc",
+ "symbol": "CDF"
+ },
+ "BAM": {
+ "name": "Konvertierbari Mark vo Bosnie und Herzegowina",
+ "symbol": "BAM"
+ },
+ "CUP": {
+ "name": "Kubanische Peso",
+ "symbol": "CUP"
+ },
+ "HRK": {
+ "name": "Kuna",
+ "symbol": "HRK"
+ },
+ "KWD": {
+ "name": "Kuwait-Dinar",
+ "symbol": "KWD"
+ },
+ "ZMW": {
+ "name": "Kwacha",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat",
+ "symbol": "MMK"
+ },
+ "ALL": {
+ "name": "Lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone",
+ "symbol": "SLL"
+ },
+ "LBP": {
+ "name": "Libaneesischs Pfund",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberiaanische Dollar",
+ "symbol": "LRD"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LTL": {
+ "name": "Litauische Litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti",
+ "symbol": "LSL"
+ },
+ "LYD": {
+ "name": "Lüübische Dinar",
+ "symbol": "LYD"
+ },
+ "MGA": {
+ "name": "Madagaschkar-Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawi-Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malaysische Ringgit",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "Marokkanische Dirham",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "Maurizius-Rupie",
+ "symbol": "MUR"
+ },
+ "MZN": {
+ "name": "Metical",
+ "symbol": "MZN"
+ },
+ "MXN": {
+ "name": "Mexikanische Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldau-Löi",
+ "symbol": "MDL"
+ },
+ "NGN": {
+ "name": "Naira",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "Namibia-Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepaleesischi Rupie",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "Neuseeland-Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "Nicaragua-Córdoba",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "Niderländischi-Antille-Gulde",
+ "symbol": "ANG"
+ },
+ "PEN": {
+ "name": "Nöie Sol",
+ "symbol": "PEN"
+ },
+ "TWD": {
+ "name": "Nöii Taiwan-Dollar",
+ "symbol": "NT$"
+ },
+ "TRY": {
+ "name": "Nöii Türkischi Liire",
+ "symbol": "TRY"
+ },
+ "KPW": {
+ "name": "Nordkoreanische Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norweegischi Chroone",
+ "symbol": "NOK"
+ },
+ "XCD": {
+ "name": "Oschtkaribische Dollar",
+ "symbol": "EC$"
+ },
+ "MRO": {
+ "name": "Ouguiya",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga",
+ "symbol": "TOP"
+ },
+ "PKR": {
+ "name": "Pakischtanischi Rupie",
+ "symbol": "PKR"
+ },
+ "MOP": {
+ "name": "Pataca",
+ "symbol": "MOP"
+ },
+ "GBP": {
+ "name": "Pfund Schtörling",
+ "symbol": "£"
+ },
+ "PHP": {
+ "name": "Philippiinische Peso",
+ "symbol": "PHP"
+ },
+ "GTQ": {
+ "name": "Quetzal",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand",
+ "symbol": "ZAR"
+ },
+ "CNY": {
+ "name": "Renminbi Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "IRR": {
+ "name": "Rial",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "Rial Omani",
+ "symbol": "OMR"
+ },
+ "KHR": {
+ "name": "Riel",
+ "symbol": "KHR"
+ },
+ "RWF": {
+ "name": "Ruanda-Franc",
+ "symbol": "RWF"
+ },
+ "MVR": {
+ "name": "Rufiyaa",
+ "symbol": "MVR"
+ },
+ "RON": {
+ "name": "Rumäänische Löi",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russische Rubel",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "Salomone-Dollar",
+ "symbol": "SBD"
+ },
+ "SAR": {
+ "name": "Saudi-Riyal",
+ "symbol": "SAR"
+ },
+ "ILS": {
+ "name": "Schekel",
+ "symbol": "₪"
+ },
+ "SEK": {
+ "name": "Schweedischi Chroone",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Schwiizer Franke",
+ "symbol": "CHF"
+ },
+ "RSD": {
+ "name": "Serbische Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seyschelle-Rupie",
+ "symbol": "SCR"
+ },
+ "SGD": {
+ "name": "Singapur-Dollar",
+ "symbol": "SGD"
+ },
+ "KGS": {
+ "name": "Som",
+ "symbol": "KGS"
+ },
+ "SOS": {
+ "name": "Somalia-Schilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri-Lanka-Rupie",
+ "symbol": "LKR"
+ },
+ "SHP": {
+ "name": "St.-Helena-Pfund",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Sudaneesischs Pfund",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamische Dollar",
+ "symbol": "SRD"
+ },
+ "KRW": {
+ "name": "Süüdkoreanische Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Süüdsudaneesischs Pfund",
+ "symbol": "SSP"
+ },
+ "SYP": {
+ "name": "Süürischs Pfund",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tadschikischtan-Somoni",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala",
+ "symbol": "WST"
+ },
+ "DKK": {
+ "name": "Tänischi Chroone",
+ "symbol": "DKK"
+ },
+ "TZS": {
+ "name": "Tansania-Schilling",
+ "symbol": "TZS"
+ },
+ "KZT": {
+ "name": "Tenge",
+ "symbol": "KZT"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "DOP": {
+ "name": "Tominikanische Peso",
+ "symbol": "DOP"
+ },
+ "TTD": {
+ "name": "Trinidad-und-Tobago-Dollar",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "Tschechischi Chroone",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "Tschileenische Peso",
+ "symbol": "CLP"
+ },
+ "MNT": {
+ "name": "Tugrik",
+ "symbol": "MNT"
+ },
+ "TND": {
+ "name": "Tuneesische Dinar",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "UAE Dirham",
+ "symbol": "AED"
+ },
+ "UGX": {
+ "name": "Uganda-Schilling",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "Uruguayische Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US-Dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Usbeekischtan-Sum",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vatu",
+ "symbol": "VUV"
+ },
+ "JPY": {
+ "name": "Yen",
+ "symbol": "Â¥"
+ },
+ "PLN": {
+ "name": "Zloty",
+ "symbol": "PLN"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/gu.json b/library/intl/resources/currency/gu.json
new file mode 100644
index 000000000..8e795a255
--- /dev/null
+++ b/library/intl/resources/currency/gu.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "[CFA] ફà«àª°à«‡àª‚ક [BCEAO]",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "[CFA] ફà«àª°à«‡àª‚ક [BEAC]",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "[CFP] ફà«àª°à«‡àª‚ક",
+ "symbol": "CFPF"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AOA": {
+ "name": "અંગોલિયન કà«àªµàª¾àª¨à«àªàª¾",
+ "symbol": "AOA"
+ },
+ "AZN": {
+ "name": "અàªàª°àª¬à«ˆàªœàª¾àª¨à«€ મનાત",
+ "symbol": "AZN"
+ },
+ "AFN": {
+ "name": "અફà«àª—ાન અફà«àª—ાની",
+ "symbol": "AFN"
+ },
+ "AWG": {
+ "name": "અરà«àª¬àª¨ ફà«àª²à«‹àª°àª¿àª¨",
+ "symbol": "AWG"
+ },
+ "ARS": {
+ "name": "અરà«àªœà«‡àª¨à«àªŸà«€àª¨àª¾ પેસો",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "અરà«àª®à«‡àª¨àª¿àª¯àª¨ ડà«àª°à«‡àª®",
+ "symbol": "AMD"
+ },
+ "DZD": {
+ "name": "અલà«àªœàª¿àª°àª¿àª¯àª¨ દિનાર",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "અલà«àª¬à«‡àª¨àª¿àª¯àª¨ લેક",
+ "symbol": "ALL"
+ },
+ "ISK": {
+ "name": "આઇસલેનà«àª¡àª¿àª• કà«àª°à«‹àª¨àª¾",
+ "symbol": "ISK"
+ },
+ "EGP": {
+ "name": "ઇજિપà«àª¤àª¿àª¯àª¨ પાઉનà«àª¡",
+ "symbol": "EGP"
+ },
+ "ILS": {
+ "name": "ઇàªàª°àª¾àª¯à«‡àª²à«€ નà«àª¯à« શેકલ",
+ "symbol": "₪"
+ },
+ "ETB": {
+ "name": "ઇથિયોપીયન બિર",
+ "symbol": "ETB"
+ },
+ "IDR": {
+ "name": "ઇનà«àª¡à«‹àª¨à«‡àª¶àª¿àª¯àª¨ રૂપિયા",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "ઇરાકી દિનાર",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ઇરાનિયન રિયાલ",
+ "symbol": "IRR"
+ },
+ "XCD": {
+ "name": "ઇસà«àªŸ કેરિબિયન ડોલર",
+ "symbol": "EC$"
+ },
+ "UZS": {
+ "name": "ઉàªà«àª¬à«‡àª•àª¿àª¸à«àª¤àª¾àª¨ સોમ",
+ "symbol": "UZS"
+ },
+ "KPW": {
+ "name": "ઉતà«àª¤àª° કોરિયન વન",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "ઉરà«àª—à«àªµà«‡àª¯àª¨ પેસો",
+ "symbol": "UYU"
+ },
+ "ERN": {
+ "name": "àªàª°àª¿àªŸà«àª°à«‡àª¯àª¨ નકà«àª«àª¾",
+ "symbol": "ERN"
+ },
+ "AUD": {
+ "name": "ઑસà«àªŸà«àª°à«‡àª²àª¿àª¯àª¨ ડૉલર",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "ઓમાની રિયાલ",
+ "symbol": "OMR"
+ },
+ "KZT": {
+ "name": "કàªàª¾àª•àª¿àª¸à«àª¤àª¾àª¨à«€ ટેંગ",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "કતારી રિયાલ",
+ "symbol": "QAR"
+ },
+ "KGS": {
+ "name": "કિરà«àª—િસà«àª¤àª¾àª¨à«€ સોમ",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "કà«àªµà«ˆàª¤à«€ દિનાર",
+ "symbol": "KWD"
+ },
+ "CAD": {
+ "name": "કેનેડિયન ડૉલર",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "કેનà«àª¯à«‡àª¨ શિલિંગ",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "કેપ વરà«àª¦àª¿àª¯àª¨ àªàª¸à«àª•à«àª¡à«‹",
+ "symbol": "CVE"
+ },
+ "KHR": {
+ "name": "કેમà«àª¬à«‹àª¡àª¿àª¯àª¨ રીઅલ",
+ "symbol": "KHR"
+ },
+ "KYD": {
+ "name": "કેયમેન આઇલેંડà«àª¸ ડોલર",
+ "symbol": "KYD"
+ },
+ "CDF": {
+ "name": "કોંગોલિઠફà«àª°à«‡àª‚ક",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "કોમોરિઅન ફà«àª°à«‡àª‚ક",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "કોલમà«àª¬àª¿àª¯àª¨ પેસો",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "કોસà«àªŸàª¾ રિકન કોલોન",
+ "symbol": "CRC"
+ },
+ "CUP": {
+ "name": "કà«àª¯à«àª¬àª¨ પેસો",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "કà«àª¯à«àª¬àª¨ રૂપાંતર યોગà«àª¯ પેસો",
+ "symbol": "CUC"
+ },
+ "HRK": {
+ "name": "કà«àª°à«‹àªàª¶àª¿àª¯àª¨ કà«àª¯à«àª¨àª¾",
+ "symbol": "HRK"
+ },
+ "GYD": {
+ "name": "ગયાનિઠડોલર",
+ "symbol": "GYD"
+ },
+ "GNF": {
+ "name": "ગિનીયન ફà«àª°à«‡àª‚ક",
+ "symbol": "GNF"
+ },
+ "GMD": {
+ "name": "ગેમà«àª¬àª¿àª¯àª¨ દલાસી",
+ "symbol": "GMD"
+ },
+ "GTQ": {
+ "name": "ગà«àªµàª¾àªŸà«‡àª®àª¾àª²àª¾ કà«àª‡àªŸà«àªàª²",
+ "symbol": "GTQ"
+ },
+ "GHS": {
+ "name": "ઘાનાઇયન સેડી",
+ "symbol": "GHS"
+ },
+ "CNY": {
+ "name": "ચાઇનિઠયà«àª†àª¨",
+ "symbol": "CNÂ¥"
+ },
+ "CLP": {
+ "name": "ચિલિઅન પેસો",
+ "symbol": "CLP"
+ },
+ "CZK": {
+ "name": "ચેક રીપબà«àª²àª¿àª• કોરà«àª¨àª¾",
+ "symbol": "CZK"
+ },
+ "JMD": {
+ "name": "જમૈકિયન ડોલર",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "જાપાનીઠયેન",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "જિબà«àªŸàª¿àª¯àª¨ ફà«àª°à«‡àª‚ક",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "જીબà«àª°àª¾àª²à«àªŸàª° પાઉનà«àª¡",
+ "symbol": "GIP"
+ },
+ "JOD": {
+ "name": "જોરà«àª¡àª¨àª¿àª¯àª¨ દિનાર",
+ "symbol": "JOD"
+ },
+ "GEL": {
+ "name": "જà«àª¯à«‹àª°à«àªœàª¿àª…ન લારી",
+ "symbol": "GEL"
+ },
+ "ZMW": {
+ "name": "àªàª¾àª®à«àª¬àª¿àª¯àª¨ કà«àªµàª¾àªšàª¾",
+ "symbol": "ZMW"
+ },
+ "TOP": {
+ "name": "ટોંગન પ’અંગા",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "ટà«àª¯à«àª¨àª¿àª¶àª¿àª¯àª¨ દિનાર",
+ "symbol": "TND"
+ },
+ "DKK": {
+ "name": "ડેનિશ કà«àª°à«‹àª¨",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ડોમિનિકન પેસો",
+ "symbol": "DOP"
+ },
+ "TJS": {
+ "name": "તાજિકિસà«àª¤àª¾àª¨à«€ સોમોની",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "તાનà«àªàª¾àª¨àª¿àª¯àª¨ શિલિંગ",
+ "symbol": "TZS"
+ },
+ "TMT": {
+ "name": "તà«àª°à«àª•àª®à«‡àª¨àª¿àª¸à«àª¤àª¾àª¨à«€ મનત",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "તà«àª°à«àª•àª¿àª¶ લિરા",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "તà«àª°àª¿àª¨àª¿àª¦àª¾àª¦ અને ટોબેગો ડોલર",
+ "symbol": "TTD"
+ },
+ "THB": {
+ "name": "થાઇ બાહà«àª¤",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "દકà«àª·àª¿àª£ આફà«àª°àª¿àª•à«€ રેંડ",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "દકà«àª·àª¿àª£ કોરિયન વન",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "દકà«àª·àª¿àª£ સà«àª¦àª¾àª¨àª¿àª પાઉનà«àª¡",
+ "symbol": "SSP"
+ },
+ "NGN": {
+ "name": "નાઇજીરિયન નૈરા",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "નામિબિયન ડોલર",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "નિકારાગà«àª…ન કોરà«àª¡à«‹àª¬àª¾",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "નેધરલેંડ àªàª‚ટિલિન ગિલà«àª¡àª°",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "નેપાલિઠરૂપી",
+ "symbol": "NPR"
+ },
+ "NOK": {
+ "name": "નૉરà«àªµà«‡àªœàª¿àª¯àª¨ કà«àª°à«‹àª¨",
+ "symbol": "NOK"
+ },
+ "TWD": {
+ "name": "નà«àª¯à« તાઇવાન ડૉલર",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "નà«àª¯à«‚àªàª¿àª²à«‡àª‚ડ ડૉલર",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "પનામેનિયન બાલà«àª¬à«‹àª†",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "પરાગà«àªµà«‡àª¯àª¨ ગà«àª†àª°àª¾àª¨à«€",
+ "symbol": "PYG"
+ },
+ "PKR": {
+ "name": "પાકિસà«àª¤àª¾àª¨à«€ રૂપી",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "પાપà«àª† નà«àª¯à«‚ ગિનીયન કિના",
+ "symbol": "PGK"
+ },
+ "PEN": {
+ "name": "પેરà«àªµàª¿àª¯àª¨ નà«àª¯à«àªµà«‹ સોલ",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "પોલિસ àªà«àª²à«‹àªŸà«€",
+ "symbol": "PLN"
+ },
+ "FJD": {
+ "name": "ફિજિઅન ડોલર",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "ફિલીપાઇન પેસો",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "ફૉકલેનà«àª¡ આઇલેંડà«àª¸ પાઉનà«àª¡",
+ "symbol": "FKP"
+ },
+ "BMD": {
+ "name": "બરà«àª®à«àª¡àª¨ ડોલર",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "બલà«àª—ેરીયન લેવ",
+ "symbol": "BGN"
+ },
+ "BSD": {
+ "name": "બહામિયન ડોલર",
+ "symbol": "BSD"
+ },
+ "BDT": {
+ "name": "બાંગલાદેશી ટાકા",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "બારà«àª¬àª¾àª¡àª¿àª¯àª¨ ડોલર",
+ "symbol": "BBD"
+ },
+ "BIF": {
+ "name": "બà«àª°à«àª¨à«àª¡àª¿àª¯àª¨ ફà«àª°à«‡àª‚ક",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "બેલારà«àª¶àª¿àª¯àª¨ રૂબલ",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "બેલિઠડોલર",
+ "symbol": "BZD"
+ },
+ "BHD": {
+ "name": "બેહરિની દિનાર",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "બોતà«àª¸àªµàª¾àª¨àª¨ પà«àª²àª¾",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "બોલિવિયન બોલિવિયાનો",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "બોસà«àª¨àª¿àª¯àª¾ અને હરà«àªà«‡àª—ોવિના રૂપાંતર યોગà«àª¯ મારà«àª•",
+ "symbol": "BAM"
+ },
+ "BRL": {
+ "name": "બà«àª°àª¾àªàª¿àª²à«€àª¯àª¨ રિઆલ",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "બà«àª°àª¿àªŸàª¿àª¶ પાઉનà«àª¡ સà«àªŸàª°à«àª²àª¿àª‚ગ",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "બà«àª°à«àª¨à«‡àª‡ ડોલર",
+ "symbol": "BND"
+ },
+ "INR": {
+ "name": "ભારતીય રૂપિયા",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "ભà«àª¤àª¾àª¨àª¿àª àªàª‚ગà«àª²à«àª¤à«àª°àª®",
+ "symbol": "BTN"
+ },
+ "MYR": {
+ "name": "મલેશિયન રિંગà«àª—ેટ",
+ "symbol": "MYR"
+ },
+ "MOP": {
+ "name": "માકાનિઠપતાકા",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "માલાગેસી અરીઆરી",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "માલાવિયન કà«àªµàª¾àªšàª¾",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "માલà«àª¦àª¿àªµàª¿àª¯àª¨ રà«àª«àª¿àª¯àª¾",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "મેકà«àª¸àª¿àª•àª¨ પેસો",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "મેસેડોનિયન દિનાર",
+ "symbol": "MKD"
+ },
+ "MNT": {
+ "name": "મોંગોલિયન ટગરિક",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "મોàªàª¾àª®à«àª¬àª¿àª•àª¨ મેટિકલ",
+ "symbol": "MZN"
+ },
+ "MRO": {
+ "name": "મોરીશેનિયન ઓગà«àª¯àª¾",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "મોરેશીઅન રૂપી",
+ "symbol": "MUR"
+ },
+ "MAD": {
+ "name": "મોરોકà«àª•àª¨ દિરહામ",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "મોલડોવેન લિયà«",
+ "symbol": "MDL"
+ },
+ "MMK": {
+ "name": "મà«àª¯àª¾àª‚માર કà«àª¯àª¾àª¤",
+ "symbol": "MMK"
+ },
+ "USD": {
+ "name": "યà«àªàª¸ ડોલર",
+ "symbol": "US$"
+ },
+ "UAH": {
+ "name": "યà«àª•à«àª°à«‡àª¨àª¿àª¯àª¨ હà«àª°àª¿àªµàª¿àª¨àª¿àª¯àª¾",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "યà«àª—ાંડન શિલિંગ",
+ "symbol": "UGX"
+ },
+ "AED": {
+ "name": "યà«àª¨àª¾àªˆàªŸà«‡àª¡ આરબ અમિરાત દિરહામ",
+ "symbol": "AED"
+ },
+ "EUR": {
+ "name": "યà«àª°à«‹",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "યેમેની રિઆલ",
+ "symbol": "YER"
+ },
+ "RWF": {
+ "name": "રવાંડન ફà«àª°à«‡àª‚ક",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "રશિયન રબલ",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "રોમાનિયન લેઉ",
+ "symbol": "RON"
+ },
+ "LAK": {
+ "name": "લાઓશિયન કિપ",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "લિથà«àªàª¨àª¿àª¯àª¨ લિતાસ",
+ "symbol": "LTL"
+ },
+ "LRD": {
+ "name": "લિબેરિયન ડોલર",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "લિબà«àª¯àª¨ દિનાર",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "લેબેનિઠપાઉનà«àª¡",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "લેસોથો લોતી",
+ "symbol": "LSL"
+ },
+ "VUV": {
+ "name": "વનૌતૠવાતà«",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "વિયેતનામીસ ડોંગ",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "વેનેàªà«àªàª²àª¨ બોલિવર",
+ "symbol": "VEF"
+ },
+ "LKR": {
+ "name": "શà«àª°à«€ લંકન રૂપી",
+ "symbol": "LKR"
+ },
+ "WST": {
+ "name": "સમોઅન તાલા",
+ "symbol": "WST"
+ },
+ "RSD": {
+ "name": "સરà«àª¬àª¿àª¯àª¨ દિનાર",
+ "symbol": "RSD"
+ },
+ "SYP": {
+ "name": "સાઇરિયન પાઉનà«àª¡",
+ "symbol": "SYP"
+ },
+ "SAR": {
+ "name": "સાઉદી રિયાલ",
+ "symbol": "SAR"
+ },
+ "STD": {
+ "name": "સાઓ ટૉમ àªàª¨à«àª¡ પà«àª°àª¿àª‚સાઇપ ડોબà«àª°àª¾",
+ "symbol": "STD"
+ },
+ "SGD": {
+ "name": "સિંગાપà«àª° ડૉલર",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "સિàªàª°àª¾ લિઓનિઅન લિઓન",
+ "symbol": "SLL"
+ },
+ "SDG": {
+ "name": "સà«àª¦àª¾àª¨àª¿àª પાઉનà«àª¡",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "સૂરીનામિઠડોલર",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "સેંટ હેલેના પાઉનà«àª¡",
+ "symbol": "SHP"
+ },
+ "SCR": {
+ "name": "સેશેલોઈ રૂપી",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "સોમાલી શિલિંગ",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "સોલોમન આઇલેંડà«àª¸ ડોલર",
+ "symbol": "SBD"
+ },
+ "SZL": {
+ "name": "સà«àªµàª¾àªà«€ લિલાનà«àª—ેની",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "સà«àªµàª¿àª¸ ફà«àª°à«‡àª‚ક",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "સà«àªµà«€àª¡àª¿àª¶ કà«àª°à«‹àª¨àª¾",
+ "symbol": "SEK"
+ },
+ "HUF": {
+ "name": "હંગેરીયન ફોરિનà«àª¤",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "હાઇટિઇન ગોરà«àª¡",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "હોંગ કોંગ ડૉલર",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "હોનà«àª¡à«àª¯à«àª°àª¨ લેમà«àªªàª¿àª°àª¾",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/guz.json b/library/intl/resources/currency/guz.json
new file mode 100644
index 000000000..4401f9af7
--- /dev/null
+++ b/library/intl/resources/currency/guz.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ha.json b/library/intl/resources/currency/ha.json
new file mode 100644
index 000000000..dfaa389e5
--- /dev/null
+++ b/library/intl/resources/currency/ha.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "USD": {
+ "name": "Dalar Amurka",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dalar Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dalar Laberiya",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dalar Namibiya",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "Dalar Ostareliya",
+ "symbol": "A$"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "GBP": {
+ "name": "Fam kin Ingila",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Fam kin Masar",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Fam kin San Helena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Fam kin Sudan",
+ "symbol": "SDG"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "ZAR": {
+ "name": "KuÉ—in Afirka Ta Kudu",
+ "symbol": "ZAR"
+ },
+ "DZD": {
+ "name": "KuÉ—in Aljeriya",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "KuÉ—in Angola",
+ "symbol": "AOA"
+ },
+ "BHD": {
+ "name": "KuÉ—in Baharan",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "KuÉ—in Baswana",
+ "symbol": "BWP"
+ },
+ "BIF": {
+ "name": "KuÉ—in Burundi",
+ "symbol": "BIF"
+ },
+ "CNY": {
+ "name": "KuÉ—in Caina\/Sin",
+ "symbol": "CNÂ¥"
+ },
+ "ERN": {
+ "name": "KuÉ—in Eritireya",
+ "symbol": "ERN"
+ },
+ "GMD": {
+ "name": "KuÉ—in Gambiya",
+ "symbol": "GMD"
+ },
+ "ETB": {
+ "name": "KuÉ—in Habasha",
+ "symbol": "ETB"
+ },
+ "AED": {
+ "name": "KuÉ—in HaÉ—aÉ—É—iyar Daular Larabawa",
+ "symbol": "AED"
+ },
+ "INR": {
+ "name": "KuÉ—in Indiya",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "KuÉ—in Japan",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "KuÉ—in Jibuti",
+ "symbol": "DJF"
+ },
+ "CDF": {
+ "name": "KuÉ—in Kongo",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "KuÉ—in Kwamoras",
+ "symbol": "KMF"
+ },
+ "LSL": {
+ "name": "KuÉ—in Lesoto",
+ "symbol": "LSL"
+ },
+ "LYD": {
+ "name": "KuÉ—in Libiya",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "KuÉ—in Lilangeni",
+ "symbol": "SZL"
+ },
+ "MGA": {
+ "name": "KuÉ—in Madagaskar",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "KuÉ—in Malawi",
+ "symbol": "MWK"
+ },
+ "MAD": {
+ "name": "KuÉ—in Maroko",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "KuÉ—in Moritaniya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "KuÉ—in Moritus",
+ "symbol": "MUR"
+ },
+ "RWF": {
+ "name": "KuÉ—in Ruwanda",
+ "symbol": "RWF"
+ },
+ "SCR": {
+ "name": "KuÉ—in Saishal",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "KuÉ—in Salewo",
+ "symbol": "SLL"
+ },
+ "STD": {
+ "name": "KuÉ—in Sawo Tome da Paransip",
+ "symbol": "STD"
+ },
+ "XAF": {
+ "name": "KuÉ—in Sefa na Afirka Ta Tsakiya",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "KuÉ—in Sefa na Afirka Ta Yamma",
+ "symbol": "CFA"
+ },
+ "CHF": {
+ "name": "KuÉ—in Suwizalan",
+ "symbol": "CHF"
+ },
+ "TND": {
+ "name": "KuÉ—in Tunisiya",
+ "symbol": "TND"
+ },
+ "CVE": {
+ "name": "KuÉ—in Tsibiran Kap Barde",
+ "symbol": "CVE"
+ },
+ "ZMW": {
+ "name": "KuÉ—in Zambiya",
+ "symbol": "ZMW"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira",
+ "symbol": "₦"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "SAR": {
+ "name": "Riyal",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "UGX": {
+ "name": "Sule Yuganda",
+ "symbol": "UGX"
+ },
+ "KES": {
+ "name": "Sulen Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Sulen Somaliya",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Sulen Tanzaniya",
+ "symbol": "TZS"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/he.json b/library/intl/resources/currency/he.json
new file mode 100644
index 000000000..2b98751c7
--- /dev/null
+++ b/library/intl/resources/currency/he.json
@@ -0,0 +1,634 @@
+{
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "MRO": {
+ "name": "×וגוויה מ×וריטני",
+ "symbol": "MRO"
+ },
+ "EUR": {
+ "name": "×ירו",
+ "symbol": "€"
+ },
+ "CVE": {
+ "name": "×סקודו ×›×£ ורדה",
+ "symbol": "CVE"
+ },
+ "AFN": {
+ "name": "×פגני ×פגני",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "×רי×רי מלגשי",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "בהט ת×ילנדי",
+ "symbol": "฿"
+ },
+ "BOB": {
+ "name": "בוליבי×נו",
+ "symbol": "BOB"
+ },
+ "VEF": {
+ "name": "בוליבר ונצו×לי",
+ "symbol": "VEF"
+ },
+ "ETB": {
+ "name": "ביר ×תיופי",
+ "symbol": "ETB"
+ },
+ "PAB": {
+ "name": "בלבו××” פנמי",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "גוורני פר×גוו××™",
+ "symbol": "PYG"
+ },
+ "HTG": {
+ "name": "גורד ×”×יטי",
+ "symbol": "HTG"
+ },
+ "ANG": {
+ "name": "גילדר של ×”×× ×˜×™×œ×™× ×”×”×•×œ× ×“×™×™×",
+ "symbol": "ANG"
+ },
+ "UAH": {
+ "name": "גריבנה ×וקר××™× ×™",
+ "symbol": "UAH"
+ },
+ "STD": {
+ "name": "דוברה של סן טומה ופרינסיפה",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "דולר ×וסטרלי",
+ "symbol": "A$"
+ },
+ "SBD": {
+ "name": "דולר ××™×™ שלמה",
+ "symbol": "SBD"
+ },
+ "USD": {
+ "name": "דולר ×מריק××™",
+ "symbol": "$"
+ },
+ "BSD": {
+ "name": "דולר בה×מי",
+ "symbol": "BSD"
+ },
+ "BZD": {
+ "name": "דולר בליזי",
+ "symbol": "BZD"
+ },
+ "BBD": {
+ "name": "דולר ברבדי×× ×™",
+ "symbol": "BBD"
+ },
+ "BND": {
+ "name": "דולר ברוניי",
+ "symbol": "BND"
+ },
+ "BMD": {
+ "name": "דולר ברמודה",
+ "symbol": "BMD"
+ },
+ "JMD": {
+ "name": "דולר ג׳מייקני",
+ "symbol": "JMD"
+ },
+ "GYD": {
+ "name": "דולר ×’×™×× ×™",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "דולר הונג קונגי",
+ "symbol": "HK$"
+ },
+ "TWD": {
+ "name": "דולר טייוו×× ×™ חדש",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "דולר טרינידדי",
+ "symbol": "TTD"
+ },
+ "LRD": {
+ "name": "דולר ליברי",
+ "symbol": "LRD"
+ },
+ "XCD": {
+ "name": "דולר מזרח קריבי",
+ "symbol": "EC$"
+ },
+ "NZD": {
+ "name": "דולר ניו זילנדי",
+ "symbol": "NZ$"
+ },
+ "NAD": {
+ "name": "דולר נמיבי",
+ "symbol": "NAD"
+ },
+ "SRD": {
+ "name": "דולר סורינ×מי",
+ "symbol": "SRD"
+ },
+ "SGD": {
+ "name": "דולר סינגפורי",
+ "symbol": "SGD"
+ },
+ "FJD": {
+ "name": "דולר פיג׳י",
+ "symbol": "FJD"
+ },
+ "KYD": {
+ "name": "דולר קיימ×× ×™",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "דולר קנדי",
+ "symbol": "CA$"
+ },
+ "VND": {
+ "name": "דונג וייטנ×מי",
+ "symbol": "â‚«"
+ },
+ "DZD": {
+ "name": "דינר ×לג׳ירי",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "דינר בחרייני",
+ "symbol": "BHD"
+ },
+ "TND": {
+ "name": "דינר טוניס××™",
+ "symbol": "TND"
+ },
+ "JOD": {
+ "name": "דינר ירדני",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "דינר כוויתי",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "דינר לובי",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "דינר מקדוני",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "דינר סרבי",
+ "symbol": "RSD"
+ },
+ "IQD": {
+ "name": "דינר עירקי",
+ "symbol": "IQD"
+ },
+ "MAD": {
+ "name": "×“×™×¨×”× ×ž×¨×•×§××™",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "×“×™×¨×”× ×©×œ ×יחוד הנסיכויות הערביות",
+ "symbol": "AED"
+ },
+ "GMD": {
+ "name": "דל×סי גמבי",
+ "symbol": "GMD"
+ },
+ "AMD": {
+ "name": "דר×× ×רמני",
+ "symbol": "AMD"
+ },
+ "VUV": {
+ "name": "ו×טו של ונו×טו",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "וון דרו×-קורי×× ×™",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "וון צפון-קורי×× ×™",
+ "symbol": "KPW"
+ },
+ "PLN": {
+ "name": "זלוטי פולני",
+ "symbol": "PLN"
+ },
+ "WST": {
+ "name": "ט×לה סמו××™",
+ "symbol": "WST"
+ },
+ "BDT": {
+ "name": "ט×קה בנגלדשי",
+ "symbol": "BDT"
+ },
+ "MNT": {
+ "name": "טוגריק מונגולי",
+ "symbol": "MNT"
+ },
+ "KZT": {
+ "name": "טנגה קזחסטני",
+ "symbol": "KZT"
+ },
+ "CNY": {
+ "name": "יו×ן סיני",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "ין יפני",
+ "symbol": "JPÂ¥"
+ },
+ "DKK": {
+ "name": "כתר דני",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "כתר נורבגי",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "כתר שוודי",
+ "symbol": "SEK"
+ },
+ "RON": {
+ "name": "ל×ו רומני",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "לב בולגרי",
+ "symbol": "BGN"
+ },
+ "LSL": {
+ "name": "לוטי לסותי",
+ "symbol": "LSL"
+ },
+ "MDL": {
+ "name": "לי×ו מולדובני",
+ "symbol": "MDL"
+ },
+ "SLL": {
+ "name": "לי×ון סיירה ל×וני",
+ "symbol": "SLL"
+ },
+ "LTL": {
+ "name": "×œ×™×˜× ×œ×™×˜××™",
+ "symbol": "LTL"
+ },
+ "SZL": {
+ "name": "לילנגני סווזי",
+ "symbol": "SZL"
+ },
+ "SSP": {
+ "name": "לירה דרו×-סודנית",
+ "symbol": "SSP"
+ },
+ "TRY": {
+ "name": "לירה טורקית חדשה",
+ "symbol": "TRY"
+ },
+ "LBP": {
+ "name": "לירה לבנונית",
+ "symbol": "LBP"
+ },
+ "EGP": {
+ "name": "לירה מצרית",
+ "symbol": "EGP"
+ },
+ "SDG": {
+ "name": "לירה סודנית",
+ "symbol": "SDG"
+ },
+ "SYP": {
+ "name": "לירה סורית",
+ "symbol": "SYP"
+ },
+ "GBP": {
+ "name": "לירה שטרלינג",
+ "symbol": "£"
+ },
+ "FKP": {
+ "name": "לירה של ××™×™ פוקלנד",
+ "symbol": "FKP"
+ },
+ "HNL": {
+ "name": "למפירה הונדורי",
+ "symbol": "HNL"
+ },
+ "ALL": {
+ "name": "לק ×לבני",
+ "symbol": "ALL"
+ },
+ "GEL": {
+ "name": "לרי ×’×ורגי",
+ "symbol": "GEL"
+ },
+ "AZN": {
+ "name": "מ×× ×ט ×זרביג׳ני",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "מ×× ×ט טורקמני",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "מ×רק בר המרה של בוסניה־הרצגובינה",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "מטיקל מוזמביני",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "× ×ירה ניגרי",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "× ×קפה ×ריתר××™",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "× ×’×•×œ×˜×¨×•× ×‘×”×•×˜× ×™",
+ "symbol": "BTN"
+ },
+ "GHS": {
+ "name": "סדי ×’×× ×™",
+ "symbol": "GHS"
+ },
+ "PEN": {
+ "name": "סול פרו×× ×™ חדש",
+ "symbol": "PEN"
+ },
+ "UZS": {
+ "name": "×¡×•× ×וזבקי",
+ "symbol": "UZS"
+ },
+ "KGS": {
+ "name": "×¡×•× ×§×™×¨×’×™×–×™",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "סומוני טג׳קיסטני",
+ "symbol": "TJS"
+ },
+ "GIP": {
+ "name": "פ×ונד גיברלטר",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "פ×ונד סנט הלני",
+ "symbol": "SHP"
+ },
+ "TOP": {
+ "name": "פ×× ×’×” טונגי",
+ "symbol": "TOP"
+ },
+ "BWP": {
+ "name": "פולה בוצוו×× ×™",
+ "symbol": "BWP"
+ },
+ "HUF": {
+ "name": "פורינט הונגרי",
+ "symbol": "HUF"
+ },
+ "DOP": {
+ "name": "פזו דומיניקני",
+ "symbol": "DOP"
+ },
+ "MXN": {
+ "name": "פזו מקסיקני",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "פזו פיליפיני",
+ "symbol": "PHP"
+ },
+ "CUP": {
+ "name": "פזו קובני",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "פזו קובני להמרה",
+ "symbol": "CUC"
+ },
+ "MOP": {
+ "name": "פטקה של מק×ו",
+ "symbol": "MOP"
+ },
+ "AWG": {
+ "name": "פלורין של ×רובה",
+ "symbol": "AWG"
+ },
+ "UYU": {
+ "name": "פסו ×ורוגוו××™",
+ "symbol": "UYU"
+ },
+ "ARS": {
+ "name": "פסו ×רגנטינ××™",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "פסו צ׳יל×× ×™",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "פסו קולומבי×× ×™",
+ "symbol": "COP"
+ },
+ "XOF": {
+ "name": "פרנק CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "פרנק CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "פרנק בורונדי",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "פרנק ג׳יבוטי",
+ "symbol": "DJF"
+ },
+ "GNF": {
+ "name": "פרנק ×’×™× ××™",
+ "symbol": "GNF"
+ },
+ "XPF": {
+ "name": "פרנק פולינזיה הצרפתית",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "פרנק קומורו××™",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "פרנק קונגולזי",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "פרנק רו×נדי",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "פרנק שוויצרי",
+ "symbol": "CHF"
+ },
+ "AOA": {
+ "name": "קו×× ×–×” ×נגולי",
+ "symbol": "AOA"
+ },
+ "MWK": {
+ "name": "קו×צ׳ה מל×וי",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "קוו×צ׳ה זמבית",
+ "symbol": "ZMW"
+ },
+ "SVC": {
+ "name": "קולון סלבדורי",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "קולון קוסטה־ריקני",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "קונה קרו×טי",
+ "symbol": "HRK"
+ },
+ "NIO": {
+ "name": "קורדובה ניקר××’×™",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "קורונה צ׳כית",
+ "symbol": "CZK"
+ },
+ "MMK": {
+ "name": "קי×ט מי×נמרי",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "קינה של פפו××” ×’×™× ××” החדשה",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "קיפ ל××™",
+ "symbol": "LAK"
+ },
+ "GTQ": {
+ "name": "קצל גו×טמלי",
+ "symbol": "GTQ"
+ },
+ "ISK": {
+ "name": "קרונה ×יסלנדית",
+ "symbol": "ISK"
+ },
+ "ZAR": {
+ "name": "ר×נד ×“×¨×•× ×פריק××™",
+ "symbol": "ZAR"
+ },
+ "BYR": {
+ "name": "רובל בלרוסי",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "רובל רוסי",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "רופי הודי",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "רופי מ×וריציני",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "רופי נפ×לי",
+ "symbol": "NPR"
+ },
+ "SCR": {
+ "name": "רופי סיישלי",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "רופי סרי לנקי",
+ "symbol": "LKR"
+ },
+ "PKR": {
+ "name": "רופי פקיסטני",
+ "symbol": "PKR"
+ },
+ "IDR": {
+ "name": "רופיה ×ינדונזית",
+ "symbol": "IDR"
+ },
+ "MVR": {
+ "name": "רופיה מלדיבית",
+ "symbol": "MVR"
+ },
+ "IRR": {
+ "name": "רי×ל ×יר×× ×™",
+ "symbol": "IRR"
+ },
+ "BRL": {
+ "name": "רי×ל ברזיל××™",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "רי×ל סעודי",
+ "symbol": "SAR"
+ },
+ "OMR": {
+ "name": "רי×ל עומ×× ×™",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "רי×ל קט×רי",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "רי×ל תימני",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "ריל קמבודי",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "רינגיט מלזי",
+ "symbol": "MYR"
+ },
+ "ILS": {
+ "name": "ש״ח",
+ "symbol": "₪"
+ },
+ "UGX": {
+ "name": "שילינג ×וגנדי",
+ "symbol": "UGX"
+ },
+ "TZS": {
+ "name": "שילינג טנזני",
+ "symbol": "TZS"
+ },
+ "SOS": {
+ "name": "שילינג סומ×לי",
+ "symbol": "SOS"
+ },
+ "KES": {
+ "name": "שילינג קניי×תי",
+ "symbol": "KES"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/hi.json b/library/intl/resources/currency/hi.json
new file mode 100644
index 000000000..cda5b772b
--- /dev/null
+++ b/library/intl/resources/currency/hi.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "[CFA] फ़à¥à¤°à¥ˆà¤‚क [BCEAO]",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "[CFA] फ़à¥à¤°à¥ˆà¤‚क [BEAC]",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "[CFP] फ़à¥à¤°à¥ˆà¤‚क",
+ "symbol": "CFPF"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AOA": {
+ "name": "अंगोला कà¥à¤µà¤¾à¤‚ज़ा",
+ "symbol": "AOA"
+ },
+ "AZN": {
+ "name": "अज़रबैजानी मैनेट",
+ "symbol": "AZN"
+ },
+ "AFN": {
+ "name": "अफ़गान अफ़गानी",
+ "symbol": "AFN"
+ },
+ "AWG": {
+ "name": "अरूबाई फ़à¥à¤²à¥‹à¤°à¤¿à¤¨",
+ "symbol": "AWG"
+ },
+ "ARS": {
+ "name": "अरà¥à¤œà¥‡à¤‚टीनी पीसो",
+ "symbol": "ARS"
+ },
+ "DZD": {
+ "name": "अलà¥à¤œà¥€à¤°à¤¿à¤¯à¤¾à¤ˆ दिनार",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¾à¤ˆ लेक",
+ "symbol": "ALL"
+ },
+ "ISK": {
+ "name": "आइसलैंडिक कà¥à¤°à¥‹à¤¨à¤¾",
+ "symbol": "ISK"
+ },
+ "AMD": {
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾à¤ˆ दà¥à¤°à¤¾à¤®",
+ "symbol": "AMD"
+ },
+ "IDR": {
+ "name": "इंडोनेशियाई रà¥à¤ªà¤¿à¤¯à¤¾",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "इज़राइली नà¥à¤¯à¥‚ शेकेल",
+ "symbol": "₪"
+ },
+ "ETB": {
+ "name": "इथियोपियन बिर",
+ "symbol": "ETB"
+ },
+ "IQD": {
+ "name": "इराकी दिनार",
+ "symbol": "IQD"
+ },
+ "ERN": {
+ "name": "इरीटà¥à¤°à¤¿à¤¯à¤¨ नाकà¥à¤«à¤¼à¤¾",
+ "symbol": "ERN"
+ },
+ "IRR": {
+ "name": "ईरानी रियाल",
+ "symbol": "IRR"
+ },
+ "UZS": {
+ "name": "उज़à¥à¤¬à¥‡à¤•à¤¿à¤¸à¥à¤¤à¤¾à¤¨ सोम",
+ "symbol": "UZS"
+ },
+ "KPW": {
+ "name": "उतà¥à¤¤à¤° कोरियाई वॉन",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "उरà¥à¤—à¥à¤µà¤¿à¤¯à¤¨ पीसो",
+ "symbol": "UYU"
+ },
+ "AUD": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¾à¤ˆ डॉलर",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "ओमानी रियाल",
+ "symbol": "OMR"
+ },
+ "KHR": {
+ "name": "कंबोडियाई रियाल",
+ "symbol": "KHR"
+ },
+ "KZT": {
+ "name": "कज़ाखिसà¥à¤¤à¤¾à¤¨à¥€ टेंज़",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "क़तरी रियाल",
+ "symbol": "QAR"
+ },
+ "CAD": {
+ "name": "कनाडाई डॉलर",
+ "symbol": "CA$"
+ },
+ "KGS": {
+ "name": "किरà¥à¤—िसà¥à¤¤à¤¾à¤¨à¥€ सोम",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "कà¥à¤µà¥ˆà¤¤à¥€ दिनार",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "केनà¥à¤¯à¤¾à¤ˆ शिलिंग",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "केप वरà¥à¤¡ à¤à¤¸à¥à¤•à¥‚डो",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "कैमेन दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह डॉलर",
+ "symbol": "KYD"
+ },
+ "CDF": {
+ "name": "कोंगोली फ़à¥à¤°à¥ˆà¤‚क",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "कोमोरियन फ़à¥à¤°à¥ˆà¤‚क",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "कोलंबियाई पीसो",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "कोसà¥à¤Ÿà¤¾ रिका कोलोन",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "कà¥à¤¯à¥‚बाई परिवरà¥à¤¤à¤¨à¥€à¤¯ पीसो",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "कà¥à¤¯à¥‚बाई पीसो",
+ "symbol": "CUP"
+ },
+ "HRK": {
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾à¤ˆ कà¥à¤¨à¤¾",
+ "symbol": "HRK"
+ },
+ "GYD": {
+ "name": "गयानीज़ डॉलर",
+ "symbol": "GYD"
+ },
+ "GNF": {
+ "name": "गिनीयन फ़à¥à¤°à¥ˆà¤‚क",
+ "symbol": "GNF"
+ },
+ "GMD": {
+ "name": "गैंबियन डलासी",
+ "symbol": "GMD"
+ },
+ "GTQ": {
+ "name": "गà¥à¤µà¤¾à¤Ÿà¥‡à¤®à¤¾à¤²à¤¾ कà¥à¤µà¥‡à¤Ÿà¤œà¤¼à¤²",
+ "symbol": "GTQ"
+ },
+ "GHS": {
+ "name": "घानियन सेडी",
+ "symbol": "GHS"
+ },
+ "CLP": {
+ "name": "चिली पीसो",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "चीनी यà¥à¤†à¤¨",
+ "symbol": "CNÂ¥"
+ },
+ "CZK": {
+ "name": "चेक गणराजà¥à¤¯ कोरà¥à¤¨à¤¾",
+ "symbol": "CZK"
+ },
+ "JMD": {
+ "name": "जमैकन डॉलर",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "जापानी येन",
+ "symbol": "JPÂ¥"
+ },
+ "ZMW": {
+ "name": "ज़ामà¥à¤¬à¤¿à¤¯à¤¨ कà¥à¤µà¤¾à¤šà¤¾",
+ "symbol": "ZMW"
+ },
+ "DJF": {
+ "name": "जिबूती फ़à¥à¤°à¥ˆà¤‚क",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "जिबà¥à¤°à¤¾à¤²à¥à¤Ÿà¤° पाउंड",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "जॉरà¥à¤œà¤¿à¤¯à¤¨ लारी",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "जॉरà¥à¤¡à¤¨à¤¿à¤¯à¤¨ दिनार",
+ "symbol": "JOD"
+ },
+ "TOP": {
+ "name": "टोंगन पांगा",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "टà¥à¤¯à¥‚नीशियाई दिनार",
+ "symbol": "TND"
+ },
+ "DKK": {
+ "name": "डैनिश कà¥à¤°à¥‹à¤¨",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "डोमिनिकन पीसो",
+ "symbol": "DOP"
+ },
+ "TZS": {
+ "name": "तंज़ानियाई शिलिंग",
+ "symbol": "TZS"
+ },
+ "TJS": {
+ "name": "ताजिकिसà¥à¤¤à¤¾à¤¨à¥€ सोमोनी",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "तà¥à¤°à¥à¤•à¤®à¥‡à¤¨à¤¿à¤¸à¥à¤¤à¤¾à¤¨à¥€ मैनत",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "तà¥à¤°à¥à¤•à¥€ लीरा",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "तà¥à¤°à¤¿à¤¨à¤¿à¤¦à¤¾à¤¦ और टोबैगो डॉलर",
+ "symbol": "TTD"
+ },
+ "THB": {
+ "name": "थाई बहत",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "दकà¥à¤·à¤¿à¤£ अफ़à¥à¤°à¥€à¤•à¥€ रैंड",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "दकà¥à¤·à¤¿à¤£ कोरियाई वॉन",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "दकà¥à¤·à¤¿à¤£ सूडानी पाउंड",
+ "symbol": "SSP"
+ },
+ "TWD": {
+ "name": "नया ताईवानी डॉलर",
+ "symbol": "NT$"
+ },
+ "NGN": {
+ "name": "नाइजीरियाई नाइरा",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "नामीबियाई डॉलर",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "निकारागà¥à¤…न कोरडोबा",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "नीदरलैंड à¤à¤‚टीलियन गिलà¥à¤¡à¤°",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "नेपाली रà¥à¤ªà¤¯à¤¾",
+ "symbol": "NPR"
+ },
+ "NOK": {
+ "name": "नॉरà¥à¤µà¥‡à¤œà¤¿à¤¯à¤¨ कà¥à¤°à¥‹à¤¨",
+ "symbol": "NOK"
+ },
+ "NZD": {
+ "name": "नà¥à¤¯à¥‚ज़ीलैंड डॉलर",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "पनामेनियन बैलà¥à¤¬à¥‹à¤†",
+ "symbol": "PAB"
+ },
+ "PKR": {
+ "name": "पाकिसà¥à¤¤à¤¾à¤¨à¥€ रà¥à¤ªà¤¯à¤¾",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "पापà¥à¤† नà¥à¤¯à¥‚ गिनीयन किना",
+ "symbol": "PGK"
+ },
+ "XCD": {
+ "name": "पूरà¥à¤µà¥€ कैरिबियाई डॉलर",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "पेरूवियन नà¥à¤à¤µà¥‹ सोल",
+ "symbol": "PEN"
+ },
+ "PYG": {
+ "name": "पैरागà¥à¤µà¤¿à¤¯à¤¨ गà¥à¤†à¤°à¤¾à¤¨à¥€",
+ "symbol": "PYG"
+ },
+ "PLN": {
+ "name": "पोलिश ज़à¥à¤²à¥‰à¤Ÿà¥€",
+ "symbol": "PLN"
+ },
+ "FJD": {
+ "name": "फ़िजी डॉलर",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "फ़िलिपीनी पीसो",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "फ़ॉकलैंड दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह पाउंड",
+ "symbol": "FKP"
+ },
+ "BMD": {
+ "name": "बरमूडा डॉलर",
+ "symbol": "BMD"
+ },
+ "BHD": {
+ "name": "बहरीनी दिनार",
+ "symbol": "BHD"
+ },
+ "BSD": {
+ "name": "बहामाई डॉलर",
+ "symbol": "BSD"
+ },
+ "BDT": {
+ "name": "बांगà¥à¤²à¤¾à¤¦à¥‡à¤¶à¥€ टका",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "बारà¥à¤¬à¥‡à¤¡à¤¿à¤¯à¤¨ डॉलर",
+ "symbol": "BBD"
+ },
+ "BIF": {
+ "name": "बà¥à¤°à¥‚ंडी फ़à¥à¤°à¥ˆà¤‚क",
+ "symbol": "BIF"
+ },
+ "BGN": {
+ "name": "बà¥à¤²à¥à¤—ारियाई लेव",
+ "symbol": "BGN"
+ },
+ "BYR": {
+ "name": "बेलारूसी रूबल",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "बेलीज़ डॉलर",
+ "symbol": "BZD"
+ },
+ "BWP": {
+ "name": "बोतà¥à¤¸à¤µà¤¾à¤¨à¤¿à¤¯à¤¾à¤ˆ पà¥à¤²à¤¾",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "बोलिवियाई बोलिवियानो",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾ हरà¥à¤œà¤¼à¥‡à¤—ोविना परिवरà¥à¤¤à¤¨à¥€à¤¯ मारà¥à¤•",
+ "symbol": "BAM"
+ },
+ "BRL": {
+ "name": "बà¥à¤°à¤¾à¤œà¤¼à¥€à¤²à¥€ रियाल",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ पाउंड सà¥à¤Ÿà¤°à¥à¤²à¤¿à¤‚ग",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "बà¥à¤°à¥‚नेई डॉलर",
+ "symbol": "BND"
+ },
+ "INR": {
+ "name": "भारतीय रà¥à¤ªà¤¯à¤¾",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "भूटानी नंगलटà¥à¤°à¤®",
+ "symbol": "BTN"
+ },
+ "MNT": {
+ "name": "मंगोलियाई टगरिक",
+ "symbol": "MNT"
+ },
+ "MYR": {
+ "name": "मलेशियाई रिंगित",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "मालदीवी रà¥à¤«à¤¼à¤¿à¤¯à¤¾",
+ "symbol": "MVR"
+ },
+ "MGA": {
+ "name": "मालागासी आरियरी",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "मालावियन कà¥à¤µà¤¾à¤šà¤¾",
+ "symbol": "MWK"
+ },
+ "EGP": {
+ "name": "मिसà¥à¤° पाउंड",
+ "symbol": "EGP"
+ },
+ "MOP": {
+ "name": "मेकानीज़ पाटाका",
+ "symbol": "MOP"
+ },
+ "MXN": {
+ "name": "मैकà¥à¤¸à¤¿à¤•à¤¨ पीसो",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "मैसीडोनियन दिनार",
+ "symbol": "MKD"
+ },
+ "MUR": {
+ "name": "मॉरिशियन रà¥à¤ªà¤¯à¤¾",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "मॉरीटेनियन ओगà¥à¤‡à¤¯à¤¾",
+ "symbol": "MRO"
+ },
+ "MZN": {
+ "name": "मोज़ामà¥à¤¬à¤¿à¤•à¤¨ मेटिकल",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "मोरकà¥à¤•à¥‹ दिरहम",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "मोलà¥à¤¡à¥‹à¤µà¤¨ लियू",
+ "symbol": "MDL"
+ },
+ "MMK": {
+ "name": "मà¥à¤¯à¤¾à¤‚मार कà¥à¤¯à¤¾à¤Ÿ",
+ "symbol": "MMK"
+ },
+ "YER": {
+ "name": "यमनी रियाल",
+ "symbol": "YER"
+ },
+ "UGX": {
+ "name": "यà¥à¤—ांडाई शिलिंग",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "यूà¤à¤¸ डॉलर",
+ "symbol": "$"
+ },
+ "UAH": {
+ "name": "यूकà¥à¤°à¥‡à¤¨à¤¿à¤¯à¤¨ रिवà¥à¤¨à¤¿à¤¯à¤¾",
+ "symbol": "UAH"
+ },
+ "EUR": {
+ "name": "यूरो",
+ "symbol": "€"
+ },
+ "RWF": {
+ "name": "रवांडाई फ़à¥à¤°à¥ˆà¤‚क",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "रूसी रूबल",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "रोमानियाई लà¥à¤¯à¥‚",
+ "symbol": "RON"
+ },
+ "LRD": {
+ "name": "लाइबेरियाई डॉलर",
+ "symbol": "LRD"
+ },
+ "LAK": {
+ "name": "लाओशियन किप",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¾à¤ˆ लितास",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "लीबियाई दिनार",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "लेबनानी पाउंड",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "लेसोथो लोटी",
+ "symbol": "LSL"
+ },
+ "VUV": {
+ "name": "वनà¥à¤†à¤¤à¥‚ वातू",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "वियतनामी डोंग",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "वेनेज़à¥à¤à¤²à¤¾ बोलिवर",
+ "symbol": "VEF"
+ },
+ "LKR": {
+ "name": "शà¥à¤°à¥€à¤²à¤‚काई रà¥à¤ªà¤¯à¤¾",
+ "symbol": "LKR"
+ },
+ "AED": {
+ "name": "संयà¥à¤•à¥à¤¤ अरब अमीरात दिरहाम",
+ "symbol": "AED"
+ },
+ "SAR": {
+ "name": "सउदी रियाल",
+ "symbol": "SAR"
+ },
+ "WST": {
+ "name": "समोआई ताला",
+ "symbol": "WST"
+ },
+ "RSD": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¨ दिनार",
+ "symbol": "RSD"
+ },
+ "STD": {
+ "name": "साओ तोम और पà¥à¤°à¤¿à¤‚सिपे डोबरा",
+ "symbol": "STD"
+ },
+ "SGD": {
+ "name": "सिंगापà¥à¤° डॉलर",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "सिà¤à¤°à¤¾ लियोनियन लियोन",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "सीरियाई पाउंड",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "सूडानी पाउंड",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "सूरीनामी डॉलर",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "सेंट हेलेना पाउंड",
+ "symbol": "SHP"
+ },
+ "SCR": {
+ "name": "सेशेलà¥à¤¸à¤¿à¤¯à¤¾à¤ˆ रà¥à¤ªà¤¯à¤¾",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "सोमाली शिलिंग",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "सोलोमन दà¥à¤µà¥€à¤ªà¤¸à¤®à¥‚ह डॉलर",
+ "symbol": "SBD"
+ },
+ "SZL": {
+ "name": "सà¥à¤µà¤¾à¤œà¤¼à¥€ लिलांजेनी",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "सà¥à¤µà¤¿à¤¸ फ़à¥à¤°à¥ˆà¤‚क",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "सà¥à¤µà¥€à¤¡à¥€à¤¶ कà¥à¤°à¥‹à¤¨à¤¾",
+ "symbol": "SEK"
+ },
+ "HUF": {
+ "name": "हंगेरियन फ़ोरिंट",
+ "symbol": "HUF"
+ },
+ "HKD": {
+ "name": "हाà¤à¤—काà¤à¤— डॉलर",
+ "symbol": "HK$"
+ },
+ "HTG": {
+ "name": "हैतियाई गरà¥à¤¡",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "होंडà¥à¤°à¤¨ लेमà¥à¤ªà¤¿à¤°à¤¾",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/hr.json b/library/intl/resources/currency/hr.json
new file mode 100644
index 000000000..6c307d952
--- /dev/null
+++ b/library/intl/resources/currency/hr.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afganistanski afgani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "albanski lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "alžirski dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "ameriÄki dolar",
+ "symbol": "USD"
+ },
+ "AOA": {
+ "name": "angolska kvanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "argentinski pezo",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "armenski dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "arupski florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "australski dolar",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "azerbajdžanski manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "bahamski dolar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "bahreinski dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladeška taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "barbadoski dolar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "belizeanski dolar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "bermudski dolar",
+ "symbol": "BMD"
+ },
+ "BYR": {
+ "name": "bjeloruska rublja",
+ "symbol": "BYR"
+ },
+ "BWP": {
+ "name": "bocvanska pula",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "bolivijski bolivijano",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "brazilski real",
+ "symbol": "BRL"
+ },
+ "GBP": {
+ "name": "britanska funta",
+ "symbol": "GBP"
+ },
+ "BND": {
+ "name": "brunejski dolar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "bugarski lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "burundski franak",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "butanski ngultrum",
+ "symbol": "BTN"
+ },
+ "XOF": {
+ "name": "CFA franak BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA franak BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franak",
+ "symbol": "XPF"
+ },
+ "CZK": {
+ "name": "ÄeÅ¡ka kruna",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "Äileanski pezo",
+ "symbol": "CLP"
+ },
+ "DKK": {
+ "name": "danska kruna",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "dobra Svetog Tome i Principa",
+ "symbol": "STD"
+ },
+ "DOP": {
+ "name": "dominikanski pezo",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "džibutski franak",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "egipatska funta",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "eritrejska nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "etiopski bir",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "FKP": {
+ "name": "falklandska funta",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "fidžijski dolar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "filipinski pezo",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "gambijski dalas",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ganski cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "gibraltarska funta",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "gruzijski lari",
+ "symbol": "GEL"
+ },
+ "GYD": {
+ "name": "gvajanski dolar",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "gvatemalski kvecal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "gvinejski franak",
+ "symbol": "GNF"
+ },
+ "HTG": {
+ "name": "haićanski gourd",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "honduraška lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "hongkonški dolar",
+ "symbol": "HKD"
+ },
+ "HRK": {
+ "name": "hrvatska kuna",
+ "symbol": "HRK"
+ },
+ "INR": {
+ "name": "indijska rupija",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "indonezijska rupija",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "iraÄki dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "iranski rijal",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "islandska kruna",
+ "symbol": "ISK"
+ },
+ "XCD": {
+ "name": "istoÄnokaripski dolar",
+ "symbol": "XCD"
+ },
+ "JMD": {
+ "name": "jamajÄanski dolar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "japanski jen",
+ "symbol": "JPY"
+ },
+ "YER": {
+ "name": "jemenski rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "jordanski dinar",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "južnoafriÄki rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "južnokorejski won",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "južnosudanska funta",
+ "symbol": "SSP"
+ },
+ "KYD": {
+ "name": "kajmanski dolar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "kambođanski rijal",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadski dolar",
+ "symbol": "CAD"
+ },
+ "QAR": {
+ "name": "katarski rial",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "kazahstanski tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "kenijski Å¡iling",
+ "symbol": "KES"
+ },
+ "PGK": {
+ "name": "kina Papue Nove Gvineje",
+ "symbol": "PGK"
+ },
+ "CNY": {
+ "name": "kineski yuan",
+ "symbol": "CNY"
+ },
+ "KGS": {
+ "name": "kirgiski som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "kolumbijski pezo",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "komorski franak",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "kongoanski franak",
+ "symbol": "CDF"
+ },
+ "BAM": {
+ "name": "konvertibilna marka",
+ "symbol": "BAM"
+ },
+ "CRC": {
+ "name": "kostarikanski kolon",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "kubanski konvertibilni pezo",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "kubanski pezo",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuvajtski dinar",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "laoski kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "lesoto loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "libanonska funta",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "liberijski dolar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libijski dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "litavski litas",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "madagaskarski ariary",
+ "symbol": "MGA"
+ },
+ "HUF": {
+ "name": "mađarska forinta",
+ "symbol": "HUF"
+ },
+ "MOP": {
+ "name": "makaoška pataka",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "makedonski denar",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "malavijska kvaÄa",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "maldivijska rufija",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "malezijski ringit",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "marokanski dirham",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "mauricijska rupija",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "mauritanijska ouguja",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "meksiÄki pezo",
+ "symbol": "MXN"
+ },
+ "MMK": {
+ "name": "mjanmarski kjat",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "moldavski lej",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongolski tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "mozambiÄki metikal",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "namibijski dolar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "nepalska rupija",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "nigerijska naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "nikaragvanska zlatna kordoba",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "nizozemskoantilski gulden",
+ "symbol": "ANG"
+ },
+ "NOK": {
+ "name": "norveška kruna",
+ "symbol": "NOK"
+ },
+ "ILS": {
+ "name": "novi izraelski Å¡ekel",
+ "symbol": "ILS"
+ },
+ "TWD": {
+ "name": "novotajvanski dolar",
+ "symbol": "TWD"
+ },
+ "NZD": {
+ "name": "novozelandski dolar",
+ "symbol": "NZD"
+ },
+ "OMR": {
+ "name": "omanski rijal",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "pakistanska rupija",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamska balboa",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "paragvajski gvarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "peruanski novi sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "poljska zlota",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "ruandski franak",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "rumunjski lej",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "ruska rublja",
+ "symbol": "RUB"
+ },
+ "SVC": {
+ "name": "salvadorski kolon",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "samoanska tala",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "saudijski rial",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "sejšelska rupija",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "sijeraleonski leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "singapurski dolar",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "sirijska funta",
+ "symbol": "SYP"
+ },
+ "KPW": {
+ "name": "sjevernokorejski won",
+ "symbol": "KPW"
+ },
+ "SBD": {
+ "name": "solmonskootoÄni dolar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "somalijski Å¡iling",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "srpski dinar",
+ "symbol": "RSD"
+ },
+ "SDG": {
+ "name": "sudanska funta",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "surinamski dolar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "svazi lilangeni",
+ "symbol": "SZL"
+ },
+ "SHP": {
+ "name": "svetohelenska funta",
+ "symbol": "SHP"
+ },
+ "LKR": {
+ "name": "Å¡rilankanska rupija",
+ "symbol": "LKR"
+ },
+ "SEK": {
+ "name": "Å¡vedska kruna",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Å¡vicarski franak",
+ "symbol": "CHF"
+ },
+ "TJS": {
+ "name": "tadžikistanski somoni",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "tajlandski baht",
+ "symbol": "THB"
+ },
+ "TZS": {
+ "name": "tanzanijski Å¡iling",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "tongaška pa’anga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "trininadtobaški dolar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "tuniski dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "turkmenistanski manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "turska lira",
+ "symbol": "TRY"
+ },
+ "AED": {
+ "name": "UAE dirham",
+ "symbol": "AED"
+ },
+ "UGX": {
+ "name": "ugandski Å¡iling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukrajinska hrivnja",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "urugvajski pezo",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "uzbekistanski som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatuški vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelanski bolivar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "vijetnamski dong",
+ "symbol": "VND"
+ },
+ "ZMW": {
+ "name": "zambijska kvaÄa",
+ "symbol": "ZMW"
+ },
+ "CVE": {
+ "name": "zelenortski eskudo",
+ "symbol": "CVE"
+ },
+ "ZWL": {
+ "name": "zimbabveanski dolar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/hsb.json b/library/intl/resources/currency/hsb.json
new file mode 100644
index 000000000..fd3873959
--- /dev/null
+++ b/library/intl/resources/currency/hsb.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghaniski afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "albanski lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "algeriski dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "ameriski dolar",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "angolska kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "argentinski peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "armenski dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "aruba-florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "awstralski dolar",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "azerbajdźanski manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "bahamaski dolar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "bahrainski dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladešska taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "barbadoski dolar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "belizeski dolar",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "běłoruski rubl",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "bermudaski dolar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "bhutanski ngultrum",
+ "symbol": "BTN"
+ },
+ "BGN": {
+ "name": "bołharski lew",
+ "symbol": "BGN"
+ },
+ "BOB": {
+ "name": "boliwiski boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "bosniska konwertibelna hriwna",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "botswanska pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "brazilski real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britiski punt",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneiski dolar",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "burundiski frank",
+ "symbol": "BIF"
+ },
+ "CZK": {
+ "name": "ÄÄ›ska króna",
+ "symbol": "CZK"
+ },
+ "XOF": {
+ "name": "CFA-frank (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-frank (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-frank",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "chilski peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "chinski yuan",
+ "symbol": "CNÂ¥"
+ },
+ "HRK": {
+ "name": "chorwatska kuna",
+ "symbol": "HRK"
+ },
+ "DKK": {
+ "name": "danska króna",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "dominikanski peso",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "dźibutiski frank",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "egyptowski punt",
+ "symbol": "EGP"
+ },
+ "SVC": {
+ "name": "el salvadorski colón",
+ "symbol": "SVC"
+ },
+ "ERN": {
+ "name": "eritrejska nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "etiopiski birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandski punt",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "fidźiski dolar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "filipinski peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "gambiski dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "georgiski lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "ghanaski cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "gibraltarski punt",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "ginejski frank",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "guatemalski quetzal",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "guyanski dolar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "haitiska gourda",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "honduraska lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "hongkongski dolar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "indiska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indoneska rupija",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "irakski dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "iranski rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "islandska króna",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "israelski nowy Å¡ekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "jamaiski dolar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "japanski yen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "jemenski rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "jordaniski dinar",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "južnoafriski rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "južnokorejski won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "južnosudanski punt",
+ "symbol": "SSP"
+ },
+ "KYD": {
+ "name": "kajmanski dolar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "kambodźaski riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadiski dolar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kapverdski escudo",
+ "symbol": "CVE"
+ },
+ "QAR": {
+ "name": "katarski rial",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "kazachski tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "keniaski Å¡iling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "kirgiski som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "kolumbiski peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "komorski frank",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "kongoski frank",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "kosta-rikaski colón",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "kubaski konwertibelny peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "kubaski peso",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuwaitski dinar",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "laoski kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "libanonski punt",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "liberiski dolar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libyski dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "litawski litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "MOP": {
+ "name": "macaoska pataka",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "madagaskarski ariary",
+ "symbol": "MGA"
+ },
+ "HUF": {
+ "name": "madźarski forint",
+ "symbol": "HUF"
+ },
+ "MKD": {
+ "name": "makedonski denar",
+ "symbol": "MKD"
+ },
+ "MYR": {
+ "name": "malajziski ringgit",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "malawiski kwacha",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "malediwiska rupija",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "marokkoski dirham",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "mauritiuska rupija",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "mawretanska ouguiya",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "mexiski peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldawski leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongolski tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "mosambikski metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "myanmarski kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "namibiski dolar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "nepalska rupija",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "nigeriski naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "nikaraguaski cordoba",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "nižozemsko-antilski gulden",
+ "symbol": "ANG"
+ },
+ "NOK": {
+ "name": "norwegska króna",
+ "symbol": "NOK"
+ },
+ "NZD": {
+ "name": "nowoseelandski dolar",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "nowy taiwanski dolar",
+ "symbol": "NT$"
+ },
+ "OMR": {
+ "name": "omanski rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "pakistanska rupija",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamaski balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "papua-nowoginejski kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "paraguayski guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "peruski nowy sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "pólski złoty",
+ "symbol": "zł"
+ },
+ "RWF": {
+ "name": "ruandiski frank",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "rumunski leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "ruski rubl",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "salomonski dolar",
+ "symbol": "SBD"
+ },
+ "ZMW": {
+ "name": "sambiski kwacha",
+ "symbol": "ZMW"
+ },
+ "WST": {
+ "name": "samoaski tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "são tomeski dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "saudi-arabski rial",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "serbiski dinar",
+ "symbol": "RSD"
+ },
+ "KPW": {
+ "name": "sewjernokorejski won",
+ "symbol": "KPW"
+ },
+ "SCR": {
+ "name": "seychellska rupija",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "sierra-leoneski leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "singapurski dolar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "somaliski Å¡iling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "sri-lankaska rupija",
+ "symbol": "LKR"
+ },
+ "SHP": {
+ "name": "St. Helenski punt",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "sudanski punt",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "surinamski dolar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "swasiski lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "šwedska króna",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Å¡wicarski frank",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "syriski punt",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "tadźikski somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "tansaniski Å¡iling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "thaiski baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "tongaski paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "trinidad-tobagoski dolar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "tuneziski dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "turkmenski manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "turkowska lira",
+ "symbol": "TRY"
+ },
+ "UGX": {
+ "name": "ugandaski Å¡iling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukrainska hriwna",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "uruguayski peso",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "uzbekski sum",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatuski vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelski bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "vietnamski dong",
+ "symbol": "â‚«"
+ },
+ "XCD": {
+ "name": "wuchodnokaribiski dolar",
+ "symbol": "EC$"
+ },
+ "AED": {
+ "name": "ZAE dirham",
+ "symbol": "AED"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/hu.json b/library/intl/resources/currency/hu.json
new file mode 100644
index 000000000..f7413c6af
--- /dev/null
+++ b/library/intl/resources/currency/hu.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgán afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "albán lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "algériai dínár",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "angolai kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "argentin peso",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "arubai florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "ausztrál dollár",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "azerbajdzsáni manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "bahamai dollár",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "bahreini dinár",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladesi taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "barbadosi dollár",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "belize-i dollár",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "bermudai dollár",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "bhutáni ngultrum",
+ "symbol": "BTN"
+ },
+ "BGN": {
+ "name": "bolgár új leva",
+ "symbol": "BGN"
+ },
+ "BOB": {
+ "name": "bolíviai boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "bosznia-hercegovinai konvertibilis márka",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "botswanai pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "brazil real",
+ "symbol": "BRL"
+ },
+ "GBP": {
+ "name": "brit font sterling",
+ "symbol": "GBP"
+ },
+ "BND": {
+ "name": "brunei dollár",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "burundi frank",
+ "symbol": "BIF"
+ },
+ "CVE": {
+ "name": "Cape Verde-i escudo",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "CFA frank BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA frank BEAC",
+ "symbol": "FCFA"
+ },
+ "CLP": {
+ "name": "chilei peso",
+ "symbol": "CLP"
+ },
+ "KMF": {
+ "name": "comorei frank",
+ "symbol": "KMF"
+ },
+ "CRC": {
+ "name": "Costa Rica-i colon",
+ "symbol": "CRC"
+ },
+ "CZK": {
+ "name": "cseh korona",
+ "symbol": "CZK"
+ },
+ "XPF": {
+ "name": "csendes-óceáni valutaközösségi frank",
+ "symbol": "CFPF"
+ },
+ "DKK": {
+ "name": "dán korona",
+ "symbol": "DKK"
+ },
+ "ZAR": {
+ "name": "dél-afrikai rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "dél-koreai won",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "dél-szudáni font",
+ "symbol": "SSP"
+ },
+ "DOP": {
+ "name": "dominikai peso",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "dzsibuti frank",
+ "symbol": "DJF"
+ },
+ "AED": {
+ "name": "EAE-dirham",
+ "symbol": "AED"
+ },
+ "EGP": {
+ "name": "egyiptomi font",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "eritreai nakfa",
+ "symbol": "ERN"
+ },
+ "KPW": {
+ "name": "észak-koreai won",
+ "symbol": "KPW"
+ },
+ "ETB": {
+ "name": "etiópiai birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euró",
+ "symbol": "EUR"
+ },
+ "FKP": {
+ "name": "falkland-szigeteki font",
+ "symbol": "FKP"
+ },
+ "BYR": {
+ "name": "fehérorosz rubel",
+ "symbol": "BYR"
+ },
+ "FJD": {
+ "name": "fidzsi dollár",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "fülöp-szigeteki peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "gambiai dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ghánai cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "gibraltári font",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "grúz lari",
+ "symbol": "GEL"
+ },
+ "GTQ": {
+ "name": "guatemalai quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "guineai frank",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "guyanai dollár",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "haiti gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "hodurasi lempira",
+ "symbol": "HNL"
+ },
+ "ANG": {
+ "name": "holland antilláki forint",
+ "symbol": "ANG"
+ },
+ "HKD": {
+ "name": "hongkongi dollár",
+ "symbol": "HKD"
+ },
+ "HRK": {
+ "name": "horvát kuna",
+ "symbol": "HRK"
+ },
+ "INR": {
+ "name": "indiai rúpia",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "indonéz rúpia",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "iraki dínár",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "iráni rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "izlandi korona",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "izraeli új sékel",
+ "symbol": "ILS"
+ },
+ "JMD": {
+ "name": "jamaicai dollár",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "japán jen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "jemeni rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "jordániai dínár",
+ "symbol": "JOD"
+ },
+ "KYD": {
+ "name": "kajmán-szigeteki dollár",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "kambodzsai riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadai dollár",
+ "symbol": "CAD"
+ },
+ "QAR": {
+ "name": "katari rial",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "kazahsztáni tenge",
+ "symbol": "KZT"
+ },
+ "XCD": {
+ "name": "kelet-karibi dollár",
+ "symbol": "XCD"
+ },
+ "KES": {
+ "name": "kenyai shilling",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "kínai jüan",
+ "symbol": "CNY"
+ },
+ "KGS": {
+ "name": "kirgizisztáni szom",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "kolumbiai peso",
+ "symbol": "COP"
+ },
+ "CDF": {
+ "name": "kongói frank",
+ "symbol": "CDF"
+ },
+ "CUC": {
+ "name": "kubai konvertibilis peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "kubai peso",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuvaiti dínár",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "laoszi kip",
+ "symbol": "LAK"
+ },
+ "PLN": {
+ "name": "lengyel zloty",
+ "symbol": "PLN"
+ },
+ "LSL": {
+ "name": "Lesothoi loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "libanoni font",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "libériai dollár",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "líbiai dínár",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "litvániai litas",
+ "symbol": "LTL"
+ },
+ "MKD": {
+ "name": "macedon dínár",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "madagaszkári ariary",
+ "symbol": "MGA"
+ },
+ "HUF": {
+ "name": "magyar forint",
+ "symbol": "HUF"
+ },
+ "MOP": {
+ "name": "makaói pataca",
+ "symbol": "MOP"
+ },
+ "MYR": {
+ "name": "malajziai ringgit",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "malawi kwacha",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "maldív-szigeteki rufiyaa",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "marokkói dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "mauritániai ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "mauritiusi rúpia",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "mexikói peso",
+ "symbol": "MXN"
+ },
+ "MMK": {
+ "name": "mianmari kyat",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "moldován lei",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongóliai tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "mozambiki metikális",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "namíbiai dollár",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "nepáli rúpia",
+ "symbol": "NPR"
+ },
+ "NIO": {
+ "name": "nicaraguai córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "nigériai naira",
+ "symbol": "NGN"
+ },
+ "NOK": {
+ "name": "norvég korona",
+ "symbol": "NOK"
+ },
+ "WST": {
+ "name": "nyugat-szamoai tala",
+ "symbol": "WST"
+ },
+ "OMR": {
+ "name": "ománi rial",
+ "symbol": "OMR"
+ },
+ "RUB": {
+ "name": "orosz rubel",
+ "symbol": "RUB"
+ },
+ "AMD": {
+ "name": "örmény dram",
+ "symbol": "AMD"
+ },
+ "PKR": {
+ "name": "pakisztáni rúpia",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamai balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "pápua új-guineai kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "paraguayi guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "perui sol nuevo",
+ "symbol": "PEN"
+ },
+ "RON": {
+ "name": "román lej",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "ruandai frank",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "salamon-szigeteki dollár",
+ "symbol": "SBD"
+ },
+ "SVC": {
+ "name": "Salvadori colón",
+ "symbol": "SVC"
+ },
+ "STD": {
+ "name": "São Tomé és Príncipe-i dobra",
+ "symbol": "STD"
+ },
+ "SCR": {
+ "name": "seychelle-szigeteki rúpia",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra Leone-i leone",
+ "symbol": "SLL"
+ },
+ "LKR": {
+ "name": "Srí Lanka-i rúpia",
+ "symbol": "LKR"
+ },
+ "SRD": {
+ "name": "suriname-i dollár",
+ "symbol": "SRD"
+ },
+ "CHF": {
+ "name": "svájci frank",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "svéd korona",
+ "symbol": "SEK"
+ },
+ "SAR": {
+ "name": "szaúdi riyal",
+ "symbol": "SAR"
+ },
+ "SHP": {
+ "name": "Szent Ilona-i font",
+ "symbol": "SHP"
+ },
+ "RSD": {
+ "name": "szerb dínár",
+ "symbol": "RSD"
+ },
+ "SGD": {
+ "name": "szingapúri dollár",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "szíriai font",
+ "symbol": "SYP"
+ },
+ "SOS": {
+ "name": "szomáli shilling",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "szudáni font",
+ "symbol": "SDG"
+ },
+ "SZL": {
+ "name": "szváziföldi lilangeni",
+ "symbol": "SZL"
+ },
+ "TJS": {
+ "name": "tádzsikisztáni somoni",
+ "symbol": "TJS"
+ },
+ "TWD": {
+ "name": "tajvani új dollár",
+ "symbol": "TWD"
+ },
+ "TZS": {
+ "name": "tanzániai shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "thai baht",
+ "symbol": "THB"
+ },
+ "TOP": {
+ "name": "tongai paanga",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "török líra",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "Trinidad és Tobago-i dollár",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "tunéziai dínár",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "türkmenisztáni manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "ugandai shilling",
+ "symbol": "UGX"
+ },
+ "NZD": {
+ "name": "új-zélandi dollár",
+ "symbol": "NZD"
+ },
+ "UAH": {
+ "name": "ukrán hrivnya",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "uruguay-i peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "USA-dollár",
+ "symbol": "USD"
+ },
+ "UZS": {
+ "name": "üzbegisztáni szum",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatui vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelai bolivar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "vietnami dong",
+ "symbol": "VND"
+ },
+ "ZMW": {
+ "name": "zambiai kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwei dollár (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/hy.json b/library/intl/resources/currency/hy.json
new file mode 100644
index 000000000..46c14a30c
--- /dev/null
+++ b/library/intl/resources/currency/hy.json
@@ -0,0 +1,634 @@
+{
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AZN": {
+ "name": "Ô±Õ¤Ö€Õ¢Õ¥Õ»Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ´Õ¡Õ¶Õ¡Õ©",
+ "symbol": "AZN"
+ },
+ "ALL": {
+ "name": "Ô±Õ¬Õ¢Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¬Õ¥Õ¯",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Ô±Õ¬ÕªÕ«Ö€Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "Ô±Õ„Õ† Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "Ô±Õ¶Õ£Õ¸Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¾Õ¡Õ¶Õ¦Õ¡",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "Ô±Õ¾Õ½Õ¿Ö€Õ¡Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "A$"
+ },
+ "AED": {
+ "name": "Ô±Ö€Õ¡Õ¢Õ¡Õ¯Õ¡Õ¶ Õ„Õ«Õ¡ÖÕµÕ¡Õ¬ Ô·Õ´Õ«Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¶Õ¥Ö€Õ« Õ¤Õ«Ö€Õ°Õ¡Õ´",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "Ô±Ö€Õ£Õ¥Õ¶Õ¿Õ«Õ¶Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "Ô±Ö€Õ¸Ö‚Õ¢Õ¡Õ¯Õ¡Õ¶ Ö†Õ¬Õ¸Ö€Õ«Õ¶",
+ "symbol": "AWG"
+ },
+ "XCD": {
+ "name": "Ô±Ö€Ö‡Õ¥Õ¬Õ¡Õ¯Õ¡Ö€Õ«Õ¢ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "EC$"
+ },
+ "AFN": {
+ "name": "Ô±Ö†Õ²Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¡Ö†Õ²Õ¡Õ¶Õ«",
+ "symbol": "AFN"
+ },
+ "XOF": {
+ "name": "Ô±Ö†Ö€Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ Ö†Õ«Õ¶Õ¡Õ¶Õ½Õ¡Õ¯Õ¡Õ¶ Õ°Õ¡Õ´Õ¡ÕµÕ¶Ö„Õ« Ö†Ö€Õ¡Õ¶Õ¯ BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Ô±Ö†Ö€Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ Ö†Õ«Õ¶Õ¡Õ¶Õ½Õ¡Õ¯Õ¡Õ¶ Õ°Õ¡Õ´Õ¡ÕµÕ¶Ö„Õ« Ö†Ö€Õ¡Õ¶Õ¯ BEAC",
+ "symbol": "FCFA"
+ },
+ "BSD": {
+ "name": "Ô²Õ¡Õ°Õ¡Õ´Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Ô²Õ¡Õ°Ö€Õ¥ÕµÕ¶Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Ô²Õ¡Õ¶Õ£Õ¬Õ¡Õ¤Õ¥Õ·Õ« Õ¿Õ¡Õ¯Õ¡",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Ô²Õ¡Ö€Õ¢Õ¡Õ¤Õ¸Õ½ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "Ô²Õ¥Õ¬Õ¡Õ¼Õ¸Ö‚Õ½Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚Õ¢Õ¬Õ«",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Ô²Õ¥Õ¬Õ«Õ¦Õ« Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Ô²Õ¥Ö€Õ´Õ¸Ö‚Õ¤ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "BMD"
+ },
+ "BWP": {
+ "name": "Ô²Õ¸Õ©Õ½Õ¾Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ ÕºÕ¸Ö‚Õ¬Õ¡",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "Ô²Õ¸Õ¬Õ«Õ¾Õ«Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¸Õ¬Õ«Õ¾Õ«Õ¡Õ¶Õ¸",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Ô²Õ¸Õ½Õ¶Õ«Õ¡ Ö‡ Õ€Õ¥Ö€ÖÕ¥Õ£Õ¸Õ¾Õ«Õ¶Õ¡ÕµÕ« ÖƒÕ¸Õ­Õ¡Ö€Õ¯Õ¥Õ¬Õ« Õ´Õ¡Ö€Õ¯Õ¡",
+ "symbol": "BAM"
+ },
+ "BTN": {
+ "name": "Ô²Õ¸Ö‚Õ©Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¶Õ£Õ¸Ö‚Õ¬Õ¿Ö€Õ¸Ö‚Õ´",
+ "symbol": "BTN"
+ },
+ "BGN": {
+ "name": "Ô²Õ¸Ö‚Õ¬Õ²Õ¡Ö€Õ¡Õ¯Õ¡Õ¶ Õ¬Ö‡",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Ô²Õ¸Ö‚Ö€Õ¸Ö‚Õ¶Õ¤Õ«Õ« Ö†Ö€Õ¡Õ¶Õ¯",
+ "symbol": "BIF"
+ },
+ "BRL": {
+ "name": "Ô²Ö€Õ¡Õ¦Õ«Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¥Õ¡Õ¬",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Ô²Ö€Õ«Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿ Õ½Õ¿Õ¥Õ¼Õ¬Õ«Õ¶Õ£",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Ô²Ö€Õ¸Ö‚Õ¶Õ¥ÕµÕ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "BND"
+ },
+ "GMD": {
+ "name": "Ô³Õ¡Õ´Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¡Õ¬Õ¡Õ½Õ«",
+ "symbol": "GMD"
+ },
+ "GYD": {
+ "name": "Ô³Õ¡ÕµÕ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "GYD"
+ },
+ "GHS": {
+ "name": "Ô³Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ½Õ¥Õ¤Õ«",
+ "symbol": "GHS"
+ },
+ "GTQ": {
+ "name": "Ô³Õ¾Õ¡Õ¿Õ¥Õ´Õ¡Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¥Õ¿Õ½Õ¡Õ¬",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Ô³Õ¾Õ«Õ¶Õ¥Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯",
+ "symbol": "GNF"
+ },
+ "DKK": {
+ "name": "Ô´Õ¡Õ¶Õ«Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶Õ¡",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "Ô´Õ¸Õ´Õ«Õ¶Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "ÔµÕ£Õ«ÕºÕ¿Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "ÔµÕ©Õ¸Õ¾ÕºÕ¡Õ¯Õ¡Õ¶ Õ¢Õ«Ö€",
+ "symbol": "ETB"
+ },
+ "YER": {
+ "name": "ÔµÕ´Õ¥Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¡Õ¬",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "ÔµÕ¾Ö€Õ¸",
+ "symbol": "€"
+ },
+ "ZMW": {
+ "name": "Ô¶Õ¡Õ´Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¾Õ¡Õ¹Õ¡",
+ "symbol": "ZMW"
+ },
+ "ERN": {
+ "name": "Ô·Ö€Õ«Õ©Ö€Õ¥Õ¡Õ¯Õ¡Õ¶ Õ¶Õ¡Õ¯Ö†Õ¡",
+ "symbol": "ERN"
+ },
+ "THB": {
+ "name": "Ô¹Õ¡Õ«Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¡Õ¿",
+ "symbol": "฿"
+ },
+ "TWD": {
+ "name": "Ô¹Õ¡ÕµÕ¾Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¶Õ¸Ö€ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "NT$"
+ },
+ "TND": {
+ "name": "Ô¹Õ¸Ö‚Õ¶Õ«Õ½Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Ô¹Õ¸Ö‚Ö€Ö„Õ¡Õ¯Õ¡Õ¶ Õ¬Õ«Ö€Õ¡",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "Ô¹Õ¸Ö‚Ö€Ö„Õ´Õ¥Õ¶Õ¡Õ¯Õ¡Õ¶ Õ´Õ¡Õ¶Õ¡Õ©",
+ "symbol": "TMT"
+ },
+ "IDR": {
+ "name": "Ô»Õ¶Õ¤Õ¸Õ¶Õ¥Õ¦Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«",
+ "symbol": "IDR"
+ },
+ "ISK": {
+ "name": "Ô»Õ½Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶Õ¡",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "Ô»Õ½Ö€Õ¡ÕµÕ¥Õ¬Õ« Õ¶Õ¸Ö€ Õ·Õ¥Õ¯Õ¥Õ¬",
+ "symbol": "₪"
+ },
+ "IRR": {
+ "name": "Ô»Ö€Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¡Õ¬",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Ô»Ö€Õ¡Ö„ÕµÕ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€",
+ "symbol": "IQD"
+ },
+ "LKR": {
+ "name": "Ô¼Õ¡Õ¶Õ¯Õ«Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«",
+ "symbol": "LKR"
+ },
+ "LAK": {
+ "name": "Ô¼Õ¡Õ¸Õ½Õ¡Õ¯Õ¡Õ¶ Õ¯Õ«Õº",
+ "symbol": "LAK"
+ },
+ "PLN": {
+ "name": "Ô¼Õ¥Õ°Õ¡Õ¯Õ¡Õ¶ Õ¦Õ¬Õ¸Õ¿Õ«",
+ "symbol": "PLN"
+ },
+ "LBP": {
+ "name": "Ô¼Õ«Õ¢Õ¡Õ¶Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Ô¼Õ«Õ¢Õ¥Ö€Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Ô¼Õ«Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Ô¼Õ«Õ¿Õ¾Õ¡Õ¯Õ¡Õ¶ Õ¬Õ«Õ¿",
+ "symbol": "LTL"
+ },
+ "HRK": {
+ "name": "Ô½Õ¸Ö€Õ¾Õ¡Õ©Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¸Ö‚Õ¶Õ¡",
+ "symbol": "HRK"
+ },
+ "CVE": {
+ "name": "Ô¿Õ¡Õ¢Õ¸ ÕŽÕ¥Ö€Õ¤Õ¥Õ« Õ§Õ½Õ¯Õ¸Ö‚Õ¤Õ¸",
+ "symbol": "CVE"
+ },
+ "KHR": {
+ "name": "Ô¿Õ¡Õ´Õ¢Õ¸Õ»Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¥Õ¬",
+ "symbol": "KHR"
+ },
+ "KYD": {
+ "name": "Ô¿Õ¡ÕµÕ´Õ¡Õ¶ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€Õ« Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "Ô¿Õ¡Õ¶Õ¡Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "CA$"
+ },
+ "KPW": {
+ "name": "Ô¿ÔºÔ´Õ€-Õ« Õ¾Õ¸Õ¶Õ¡",
+ "symbol": "KPW"
+ },
+ "COP": {
+ "name": "Ô¿Õ¸Õ¬Õ¸Ö‚Õ´Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Ô¿Õ¸Õ´Õ¸Ö€ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€Õ« Ö†Ö€Õ¡Õ¶Õ¯",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Ô¿Õ¸Õ¶Õ£Õ¸ÕµÕ« Ö†Ö€Õ¡Õ¶Õ¯",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Կոստա Ռիկայի կոլոն",
+ "symbol": "CRC"
+ },
+ "CUP": {
+ "name": "Ô¿Õ¸Ö‚Õ¢Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Ô¿Õ¸Ö‚Õ¢Õ¡Õ¯Õ¡Õ¶ ÖƒÕ¸Õ­Õ¡Ö€Õ¯Õ¥Õ¬Õ« ÕºÕ¥Õ½Õ¸",
+ "symbol": "CUC"
+ },
+ "XPF": {
+ "name": "Ô¿ÕŠÕ– Ö†Ö€Õ¡Õ¶Õ¯",
+ "symbol": "CFPF"
+ },
+ "HTG": {
+ "name": "Õ€Õ¡Õ«Õ©ÕµÕ¡Õ¶ Õ£Õ¸Ö‚Ö€Õ¤",
+ "symbol": "HTG"
+ },
+ "AMD": {
+ "name": "Õ€Õ¡ÕµÕ¯Õ¡Õ¯Õ¡Õ¶ Õ¤Ö€Õ¡Õ´",
+ "symbol": "Ö"
+ },
+ "ZAR": {
+ "name": "Õ€Õ¡Ö€Õ¡Õ¾Õ¡Ö†Ö€Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¥Õ¶Õ¤",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Õ€Õ¡Ö€Õ¡Õ¾Õ¯Õ¸Ö€Õ¥Õ¡Õ¯Õ¡Õ¶ Õ¾Õ¸Õ¶Õ¡",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Õ€Õ¡Ö€Õ¡Õ¾Õ½Õ¸Ö‚Õ¤Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿",
+ "symbol": "SSP"
+ },
+ "INR": {
+ "name": "Õ€Õ¶Õ¤Õ¯Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«",
+ "symbol": "₹"
+ },
+ "HNL": {
+ "name": "Õ€Õ¸Õ¶Õ¤Õ¸Ö‚Ö€Õ¡Õ½Õ¡Õ¯Õ¡Õ¶ Õ¬Õ¥Õ´ÕºÖ€Õ«Õ¡",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Õ€Õ¸Õ¶Õ¯Õ¸Õ¶Õ£Õ« Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "HK$"
+ },
+ "JOD": {
+ "name": "Õ€Õ¸Ö€Õ¤Õ¡Õ¶Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€",
+ "symbol": "JOD"
+ },
+ "HUF": {
+ "name": "Õ€Õ¸Ö‚Õ¶Õ£Õ¡Ö€Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö€Õ«Õ¶Õ¿",
+ "symbol": "HUF"
+ },
+ "KZT": {
+ "name": "Õ‚Õ¡Õ¦Õ¡Õ­Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¥Õ¶Õ£Õ¥",
+ "symbol": "KZT"
+ },
+ "KGS": {
+ "name": "Õ‚Ö€Õ²Õ¦Õ¡Õ¯Õ¡Õ¶ Õ½Õ¸Õ´",
+ "symbol": "KGS"
+ },
+ "JPY": {
+ "name": "ÕƒÕ¡ÕºÕ¸Õ¶Õ¡Õ¯Õ¡Õ¶ Õ«Õ¥Õ¶",
+ "symbol": "JPÂ¥"
+ },
+ "MGA": {
+ "name": "Õ„Õ¡Õ¤Õ¡Õ£Õ¡Õ½Õ¯Õ¡Ö€Õ« Õ¡Ö€Õ«Õ¡Ö€Õ«",
+ "symbol": "MGA"
+ },
+ "MYR": {
+ "name": "Õ„Õ¡Õ¬Õ¡ÕµÕ¦Õ«Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¶Õ£Õ«Õ¿",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "Õ„Õ¡Õ¬Õ¡Õ¾Õ«Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¾Õ¡Õ¹Õ¡",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Õ„Õ¡Õ¬Õ¤Õ«Õ¾ÕµÕ¡Õ¶ Õ¼Õ¸Ö‚Ö†Õ«Õ¡",
+ "symbol": "MVR"
+ },
+ "MOP": {
+ "name": "Õ„Õ¡Õ¯Õ¡Õ¸ÕµÕ« ÕºÕ¡Õ¿Õ¡Õ¯Õ¡",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Õ„Õ¡Õ¯Õ¥Õ¤Õ¸Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¥Õ¶Õ¡Ö€",
+ "symbol": "MKD"
+ },
+ "MUR": {
+ "name": "Õ„Õ¡Õ¾Ö€Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Õ„Õ¡Õ¾Ö€Õ«Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¸Ö‚Õ£Õ«ÕµÕ¡",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "Õ„Õ¡Ö€Õ¸Õ¯Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Ö€Õ°Õ¡Õ´",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "Õ„Õ¥Ö„Õ½Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Õ„ÕµÕ¡Õ¶Õ´Õ¡Õ¯Õ¡Õ¶ Õ¯ÕµÕ¡Õ¿",
+ "symbol": "MMK"
+ },
+ "MZN": {
+ "name": "Õ„Õ¸Õ¦Õ¡Õ´Õ¢Õ«Õ¯ÕµÕ¡Õ¶ Õ´Õ¥Õ¿Õ«Õ¯Õ¡Õ¬",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "Õ„Õ¸Õ¬Õ¤Õ¸Õ¾Õ¡Õ¯Õ¡Õ¶ Õ¬Õ¥Õµ",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Õ„Õ¸Õ¶Õ²Õ¸Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¸Ö‚Õ£Ö€Õ«Õ¯",
+ "symbol": "MNT"
+ },
+ "NAD": {
+ "name": "Õ†Õ¡Õ´Õ«Õ¢Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Õ†Õ¥ÕºÕ¡Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "Õ†Õ«Õ£Õ¥Ö€Õ«Õ¡Õ¯Õ¡Õ¶ Õ¶Õ¡ÕµÖ€Õ¡",
+ "symbol": "NGN"
+ },
+ "ANG": {
+ "name": "Õ†Õ«Õ¤Õ¥Ö€Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Ô±Õ¶Õ¿Õ«Õ¬Õ¶Õ¥Ö€Õ« Õ£Õ¸Ö‚Õ¬Õ¤Õ¥Õ¶",
+ "symbol": "ANG"
+ },
+ "NIO": {
+ "name": "Õ†Õ«Õ¯Õ¡Ö€Õ¡Õ£Õ¸Ö‚Õ¡Õ¯Õ¡Õ¶ Õ¯Õ¸Ö€Õ¤Õ¸Õ¢Õ¡",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "Õ†Õ¸Ö€Õ¦Õ¥Õ¬Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "NZ$"
+ },
+ "NOK": {
+ "name": "Õ†Õ¸Ö€Õ¾Õ¥Õ£Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶Õ¡",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Õ‡Õ¾Õ¥Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶Õ¡",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Õ‡Õ¾Õ¥ÕµÖÕ¡Ö€Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ¯",
+ "symbol": "CHF"
+ },
+ "UGX": {
+ "name": "ÕˆÖ‚Õ£Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "ÕˆÖ‚Õ¦Õ¢Õ¥Õ¯Õ¡Õ¯Õ¡Õ¶ Õ½Õ¸Ö‚Õ´",
+ "symbol": "UZS"
+ },
+ "UAH": {
+ "name": "ÕˆÖ‚Õ¯Ö€Õ¡Õ«Õ¶Õ¡Õ¯Õ¡Õ¶ Õ£Ö€Õ«Õ¾Õ¶Õ¡",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "ÕˆÖ‚Ö€Õ¸Ö‚Õ£Õ¾Õ¡ÕµÕ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸",
+ "symbol": "UYU"
+ },
+ "CZK": {
+ "name": "Õ‰Õ¥Õ­Õ¡Õ¯Õ¡Õ¶ Õ¯Ö€Õ¸Õ¶Õ¡",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "Õ‰Õ«Õ¬Õ«Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Õ‰Õ«Õ¶Õ¡Õ¯Õ¡Õ¶ ÕµÕ¸Ö‚Õ¡Õ¶",
+ "symbol": "CNÂ¥"
+ },
+ "PKR": {
+ "name": "ÕŠÕ¡Õ¯Õ«Õ½Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¼Õ¸Ö‚ÖƒÕ«",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "ÕŠÕ¡Õ¶Õ¡Õ´Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¡Õ¬Õ¢Õ¸Õ¡",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "ÕŠÕ¡ÕºÕ¸Ö‚Õ¡-Õ†Õ¸Ö€ Ô³Õ¾Õ«Õ¶Õ¥Õ¡ÕµÕ« Õ¯Õ«Õ¶Õ¡",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "ÕŠÕ¡Ö€Õ¡Õ£Õ¾Õ¡ÕµÕ¡Õ¯Õ¡Õ¶ Õ£Õ¸Ö‚Õ¡Ö€Õ¡Õ¶Õ«",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "ÕŠÕ¥Ö€Õ¸Ö‚Õ« Õ¶Õ¸Ö€ Õ½Õ¸Õ¬",
+ "symbol": "PEN"
+ },
+ "JMD": {
+ "name": "Õ‹Õ¡Õ´Õ¡ÕµÕ¯Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "JMD"
+ },
+ "DJF": {
+ "name": "Õ‹Õ«Õ¢Õ¸Ö‚Õ©Õ«Õ« Ö†Ö€Õ¡Õ¶Õ¯",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "Õ‹Õ«Õ¢Ö€Õ¡Õ¬Õ©Õ¡Ö€Õ« Ö†Õ¸Ö‚Õ¶Õ¿",
+ "symbol": "GIP"
+ },
+ "RWF": {
+ "name": "Ռուանդական ֆրանկ",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Ռումինական լեյ",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Ռուսական ռուբլի",
+ "symbol": "RUB"
+ },
+ "WST": {
+ "name": "ÕÕ¡Õ´Õ¸Õ¡Õ¯Õ¡Õ¶ Õ¿Õ¡Õ¬Õ¡",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "ÕÕ¡Õ¶ ÕÕ¸Õ´Õ¥ Ö‡ ÕŠÖ€Õ«Õ¶Õ½Õ«ÕºÕ«Õ« Õ¤Õ¸Õ¢Ö€Õ¡",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "ÕÕ¡Õ¸Ö‚Õ¤ÕµÕ¡Õ¶ Ô±Ö€Õ¡Õ¢Õ«Õ¡ÕµÕ« Õ¼Õ«Õ¡Õ¬",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "ÕÕ¥ÕµÕ·Õ¥Õ¬ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€Õ« Õ¼Õ¸Ö‚ÖƒÕ«",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "ÕÕ¥Ö€Õ¢Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "ÕÕ«Õ¥Ö€Õ¡-Ô¼Õ¥Õ¸Õ¶Õ¥Õ« Õ¬Õ¥Õ¸Õ¶Õ¥",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "ÕÕ«Õ¶Õ£Õ¡ÕºÕ¸Ö‚Ö€ÕµÕ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "ÕÕ«Ö€Õ«Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "ÕÕ¸Õ²Õ¸Õ´Õ¸Õ¶ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€Õ« Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "ÕÕ¸Õ´Õ¡Õ¬Õ«Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "ÕÕ¸Ö‚Õ¤Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Ö†Õ¸Ö‚Õ¶Õ¿",
+ "symbol": "SDG"
+ },
+ "SHP": {
+ "name": "ÕÕ¸Ö‚Ö€Õ¢ Õ€Õ¥Õ²Õ«Õ¶Õ¥Õ« Õ¯Õ²Õ¦Õ¸Ö‚ Ö†Õ¸Ö‚Õ¶Õ¿",
+ "symbol": "SHP"
+ },
+ "SRD": {
+ "name": "ÕÕ¸Ö‚Ö€Õ«Õ¶Õ¡Õ´Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "ÕÕ¾Õ¡Õ¦Õ«Õ¬Õ¥Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¬Õ«Õ¬Õ¡Õ¶Õ£Õ¥Õ¶Õ«",
+ "symbol": "SZL"
+ },
+ "VUV": {
+ "name": "ÕŽÕ¡Õ¶Õ¸Ö‚Õ¡Õ¿Õ¸Ö‚Õ« Õ¾Õ¡Õ¿Õ¸Ö‚",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "ÕŽÕ¥Õ¶Õ¥Õ½Õ¸Ö‚Õ¥Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¸Õ¬Õ«Õ¾Õ¡Ö€",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "ÕŽÕ«Õ¥Õ¿Õ¶Õ¡Õ´Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¶Õ£",
+ "symbol": "â‚«"
+ },
+ "GEL": {
+ "name": "ÕŽÖ€Õ¡ÖÕ¡Õ¯Õ¡Õ¶ Õ¬Õ¡Ö€Õ«",
+ "symbol": "GEL"
+ },
+ "TZS": {
+ "name": "ÕÕ¡Õ¶Õ¦Õ¡Õ¶Õ«Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£",
+ "symbol": "TZS"
+ },
+ "TJS": {
+ "name": "ÕÕ¡Õ»Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ Õ½Õ¸Õ´Õ¸Õ¶Õ«",
+ "symbol": "TJS"
+ },
+ "TOP": {
+ "name": "ÕÕ¸Õ¶Õ£Õ¡ÕµÕ« ÕºÕ¡Õ¡Õ¶Õ£Õ¡",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "ÕÖ€Õ«Õ¶Õ«Õ¤Õ¡Õ¤ Ö‡ ÕÕ¸Õ¢Õ¡Õ£Õ¸ÕµÕ« Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "TTD"
+ },
+ "QAR": {
+ "name": "Õ”Õ¡Õ©Õ¡Ö€Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¡Õ¬",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "Õ”Õ¥Õ¶Õ«Õ¡Õ¯Õ¡Õ¶ Õ·Õ«Õ¬Õ«Õ¶Õ£",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "Õ”Õ¸Ö‚Õ¾Õ¥ÕµÕ©Õ¡Õ¯Õ¡Õ¶ Õ¤Õ«Õ¶Õ¡Ö€",
+ "symbol": "KWD"
+ },
+ "OMR": {
+ "name": "Õ•Õ´Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¼Õ«Õ¡Õ¬",
+ "symbol": "OMR"
+ },
+ "PHP": {
+ "name": "Õ–Õ«Õ¬Õ«ÕºÕ«Õ¶Õ¡Õ¯Õ¡Õ¶ ÕºÕ¥Õ½Õ¸",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "Õ–Õ«Õ»Õ«Õ¡Õ¯Õ¡Õ¶ Õ¤Õ¸Õ¬Õ¡Ö€",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "Õ–Õ¸Õ¬Õ¯Õ¬Õ¥Õ¶Õ¤ÕµÕ¡Õ¶ Õ¯Õ²Õ¦Õ«Õ¶Õ¥Ö€ Ö†Õ¸Ö‚Õ¶Õ¿",
+ "symbol": "FKP"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/id.json b/library/intl/resources/currency/id.json
new file mode 100644
index 000000000..3e27f70c9
--- /dev/null
+++ b/library/intl/resources/currency/id.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afgani Afganistan",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariary Madagaskar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht Thailand",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa Panama",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr Etiopia",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolivar Venezuela",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi Ghana",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "Colon El Savador",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Colon Kosta Rika",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Cordoba Nikaragua",
+ "symbol": "NIO"
+ },
+ "GMD": {
+ "name": "Dalasi Gambia",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "Denar Makedonia",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "Dinar Algeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar Bahrain",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar Irak",
+ "symbol": "IQD"
+ },
+ "KWD": {
+ "name": "Dinar Kuwait",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar Libya",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "Dinar Serbia",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar Tunisia",
+ "symbol": "TND"
+ },
+ "JOD": {
+ "name": "Dinar Yordania",
+ "symbol": "JOD"
+ },
+ "MAD": {
+ "name": "Dirham Maroko",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Dirham Uni Emirat Arab",
+ "symbol": "AED"
+ },
+ "STD": {
+ "name": "Dobra Sao Tome dan Principe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Dolar Amerika Serikat",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dolar Australia",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Dolar Bahama",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "Dolar Barbados",
+ "symbol": "BBD"
+ },
+ "TWD": {
+ "name": "Dolar Baru Taiwan",
+ "symbol": "NT$"
+ },
+ "BZD": {
+ "name": "Dolar Belize",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dolar Bermuda",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dolar Brunei",
+ "symbol": "BND"
+ },
+ "FJD": {
+ "name": "Dolar Fiji",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "Dolar Guyana",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "Dolar Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Dolar Jamaika",
+ "symbol": "JMD"
+ },
+ "CAD": {
+ "name": "Dolar Kanada",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Dolar Karibia Timur",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dolar Kepulauan Cayman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dolar Kepulauan Solomon",
+ "symbol": "SBD"
+ },
+ "LRD": {
+ "name": "Dolar Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dolar Namibia",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "Dolar Selandia Baru",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dolar Singapura",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "Dolar Suriname",
+ "symbol": "SRD"
+ },
+ "TTD": {
+ "name": "Dolar Trinidad dan Tobago",
+ "symbol": "TTD"
+ },
+ "ZWL": {
+ "name": "Dolar Zimbabwe (2009)",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "Dong Vietnam",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram Armenia",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo Tanjung Verde",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florin Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint Hungaria",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franc Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franc CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franc CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franc CFP",
+ "symbol": "CFPF"
+ },
+ "GNF": {
+ "name": "Franc Guinea",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "Franc Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Franc Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franc Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Franc Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franc Swiss",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde Haiti",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani Paraguay",
+ "symbol": "PYG"
+ },
+ "ANG": {
+ "name": "Guilder Antilla Belanda",
+ "symbol": "ANG"
+ },
+ "UAH": {
+ "name": "Hryvnia Ukraina",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "Kina Papua Nugini",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip Laos",
+ "symbol": "LAK"
+ },
+ "CZK": {
+ "name": "Koruna Cheska",
+ "symbol": "CZK"
+ },
+ "ISK": {
+ "name": "Krona Islandia",
+ "symbol": "ISK"
+ },
+ "SEK": {
+ "name": "Krona Swedia",
+ "symbol": "SEK"
+ },
+ "DKK": {
+ "name": "Krone Denmark",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "Krone Norwegia",
+ "symbol": "NOK"
+ },
+ "HRK": {
+ "name": "Kuna Kroasia",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza Angola",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat Myanmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari Georgia",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek Albania",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone Sierra Leone",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu Moldova",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu Rumania",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev Bulgaria",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "Lilangeni Swaziland",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira Turki",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas Lituania",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti Lesotho",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat Azerbaijan",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat Turkimenistan",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Mark Konvertibel Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical Mozambik",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira Nigeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa Eritrea",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum Bhutan",
+ "symbol": "BTN"
+ },
+ "PEN": {
+ "name": "Nuevo Sol Peru",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya Mauritania",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca Makau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso Argentina",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso Cile",
+ "symbol": "CLP"
+ },
+ "DOP": {
+ "name": "Peso Dominika",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso Filipina",
+ "symbol": "PHP"
+ },
+ "COP": {
+ "name": "Peso Kolombia",
+ "symbol": "COP"
+ },
+ "CUC": {
+ "name": "Peso Konvertibel Kuba",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Peso Kuba",
+ "symbol": "CUP"
+ },
+ "MXN": {
+ "name": "Peso Meksiko",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso Uruguay",
+ "symbol": "$U"
+ },
+ "PLN": {
+ "name": "Polandia Zloty",
+ "symbol": "PLN"
+ },
+ "GIP": {
+ "name": "Pound Gibraltar",
+ "symbol": "GIP"
+ },
+ "FKP": {
+ "name": "Pound Kepulauan Falkland",
+ "symbol": "FKP"
+ },
+ "LBP": {
+ "name": "Pound Lebanon",
+ "symbol": "LBP"
+ },
+ "EGP": {
+ "name": "Pound Mesir",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pound Saint Helena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Pound Sterling Inggris",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "Pound Sudan",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Pound Sudan Selatan",
+ "symbol": "SSP"
+ },
+ "SYP": {
+ "name": "Pound Suriah",
+ "symbol": "SYP"
+ },
+ "BWP": {
+ "name": "Pula Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand Afrika Selatan",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real Brasil",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial Iran",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "Rial Oman",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial Qatar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial Yaman",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "Riel Kamboja",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit Malaysia",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "Riyal Arab Saudi",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "Rubel Belarusia",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rubel Rusia",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rufiyaa Maladewa",
+ "symbol": "MVR"
+ },
+ "INR": {
+ "name": "Rupee India",
+ "symbol": "Rs"
+ },
+ "MUR": {
+ "name": "Rupee Mauritius",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupee Nepal",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupee Pakistan",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupee Seychelles",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "Rupee Sri Lanka",
+ "symbol": "LKR"
+ },
+ "IDR": {
+ "name": "Rupiah Indonesia",
+ "symbol": "Rp"
+ },
+ "ILS": {
+ "name": "Shekel Baru Israel",
+ "symbol": "₪"
+ },
+ "KES": {
+ "name": "Shilling Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Shilling Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilling Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shilling Uganda",
+ "symbol": "UGX"
+ },
+ "KGS": {
+ "name": "Som Kirgistan",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som Uzbekistan",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni Tajikistan",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala Samoa",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge Kazakstan",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik Mongolia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatu",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "Won Korea Selatan",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "Won Korea Utara",
+ "symbol": "KPW"
+ },
+ "JPY": {
+ "name": "Yen Jepang",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "Yuan China",
+ "symbol": "CNÂ¥"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/is.json b/library/intl/resources/currency/is.json
new file mode 100644
index 000000000..e2d74d04a
--- /dev/null
+++ b/library/intl/resources/currency/is.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afgani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanskt lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alsírskur denari",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angólsk kvansa",
+ "symbol": "AOA"
+ },
+ "AED": {
+ "name": "Arabískt dírham",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "Argentínskur pesi",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armenskt dramm",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Arúbönsk flórína",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "Aserskt manat",
+ "symbol": "AZN"
+ },
+ "XCD": {
+ "name": "Austurkarabískur dalur",
+ "symbol": "EC$"
+ },
+ "AUD": {
+ "name": "Ãstralskur dalur",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "Bahamadalur",
+ "symbol": "BSD"
+ },
+ "PAB": {
+ "name": "Balbói",
+ "symbol": "PAB"
+ },
+ "USD": {
+ "name": "Bandaríkjadalur",
+ "symbol": "USD"
+ },
+ "BDT": {
+ "name": "Bangladessk taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadoskur dalur",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "Bareinskur denari",
+ "symbol": "BHD"
+ },
+ "BZD": {
+ "name": "Belískur dalur",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermúdadalur",
+ "symbol": "BMD"
+ },
+ "BWP": {
+ "name": "Botsvönsk púla",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "Bólivíani",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "Brasilískt ríal",
+ "symbol": "BRL"
+ },
+ "BND": {
+ "name": "Brúneiskur dalur",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Búlgarskt lef",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Búrúndískur franki",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "Bútanskt núltrum",
+ "symbol": "BTN"
+ },
+ "KYD": {
+ "name": "Caymaneyskur dalur",
+ "symbol": "KYD"
+ },
+ "DJF": {
+ "name": "Djíbútískur franki",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dóminískur pesi",
+ "symbol": "DOP"
+ },
+ "DKK": {
+ "name": "Dönsk króna",
+ "symbol": "DKK"
+ },
+ "EGP": {
+ "name": "Egypskt pund",
+ "symbol": "EGP"
+ },
+ "SVC": {
+ "name": "El Salvador Colon",
+ "symbol": "SVC"
+ },
+ "ERN": {
+ "name": "Erítresk nakfa",
+ "symbol": "ERN"
+ },
+ "EUR": {
+ "name": "Evra",
+ "symbol": "EUR"
+ },
+ "ETB": {
+ "name": "Eþíópískt birr",
+ "symbol": "ETB"
+ },
+ "FKP": {
+ "name": "Falklenskt pund",
+ "symbol": "FKP"
+ },
+ "PHP": {
+ "name": "Filippseyskur pesi",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "Fídjeyskur dalur",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambískur dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Ganverskur sedi",
+ "symbol": "GHS"
+ },
+ "GEL": {
+ "name": "Georgískur lari",
+ "symbol": "GEL"
+ },
+ "GIP": {
+ "name": "Gíbraltarspund",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "Gíneufranki",
+ "symbol": "GNF"
+ },
+ "CVE": {
+ "name": "Grænhöfðeyskur skúti",
+ "symbol": "CVE"
+ },
+ "GTQ": {
+ "name": "Gvatemalskt kvesal",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "Gvæjanskur dalur",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haítískur gúrdi",
+ "symbol": "HTG"
+ },
+ "SHP": {
+ "name": "Helenskt pund",
+ "symbol": "SHP"
+ },
+ "ANG": {
+ "name": "Hollenskt Antillugyllini",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "Hondúrsk lempíra",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong-dalur",
+ "symbol": "HK$"
+ },
+ "BYR": {
+ "name": "Hvítrússnesk rúbla",
+ "symbol": "BYR"
+ },
+ "IDR": {
+ "name": "Indónesísk rúpía",
+ "symbol": "IDR"
+ },
+ "INR": {
+ "name": "Indversk rúpía",
+ "symbol": "INR"
+ },
+ "IQD": {
+ "name": "Ãrakskur denari",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Ãranskt ríal",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Ãslensk króna",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "Jamaískur dalur",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanskt jen",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "Jemenskt ríal",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jórdanskur denari",
+ "symbol": "JOD"
+ },
+ "KHR": {
+ "name": "Kambódískt ríal",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanadískur dalur",
+ "symbol": "CAD"
+ },
+ "KZT": {
+ "name": "Kasakst tengi",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "Katarskt ríal",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "Kenískur skildingur",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Kirgiskt som",
+ "symbol": "KGS"
+ },
+ "CNY": {
+ "name": "Kínverskt júan",
+ "symbol": "CNÂ¥"
+ },
+ "CDF": {
+ "name": "Kongóskur franki",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Kostarískt kólon",
+ "symbol": "CRC"
+ },
+ "COP": {
+ "name": "Kólumbískur pesi",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Kómoreyskur franki",
+ "symbol": "KMF"
+ },
+ "HRK": {
+ "name": "Króatísk kúna",
+ "symbol": "HRK"
+ },
+ "CUP": {
+ "name": "Kúbverskur pesi",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Kúbverskur skiptanlegur pesi",
+ "symbol": "CUC"
+ },
+ "KWD": {
+ "name": "Kúveiskur denari",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Laoskt kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "Litháískt lít",
+ "symbol": "LTL"
+ },
+ "LBP": {
+ "name": "Líbanskt pund",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Líberískur dalur",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Líbískur denari",
+ "symbol": "LYD"
+ },
+ "MGA": {
+ "name": "Madagaskararjari",
+ "symbol": "MGA"
+ },
+ "MOP": {
+ "name": "Makaópataka",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Makedónskur denari",
+ "symbol": "MKD"
+ },
+ "MYR": {
+ "name": "Malasískt ringit",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "Malavísk kvaka",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Maldíveysk rúpía",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Marokkóskt dírham",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "Máritísk rúpía",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Máritönsk úgía",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "Mexíkóskur pesi",
+ "symbol": "MXN"
+ },
+ "XAF": {
+ "name": "Miðafrískur franki",
+ "symbol": "FCFA"
+ },
+ "MMK": {
+ "name": "Mjanmarskt kjat",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "Moldavískt lei",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongólskur túríkur",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mósambískt metikal",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "Namibískur dalur",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepölsk rúpía",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "Nígerísk næra",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "Níkarögsk kordóva",
+ "symbol": "NIO"
+ },
+ "KPW": {
+ "name": "Norðurkóreskt vonn",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norsk króna",
+ "symbol": "NOK"
+ },
+ "ILS": {
+ "name": "Nýr ísraelskur sikill",
+ "symbol": "₪"
+ },
+ "NZD": {
+ "name": "Nýsjálenskur dalur",
+ "symbol": "NZD"
+ },
+ "OMR": {
+ "name": "Ómanskt ríal",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistönsk rúpía",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "Papúsk kína",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paragvæskt gvaraní",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Perúskt sól",
+ "symbol": "PEN"
+ },
+ "XPF": {
+ "name": "Pólinesískur franki",
+ "symbol": "CFPF"
+ },
+ "PLN": {
+ "name": "Pólskt slot",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "Rúandskur franki",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Rúmenskt lei",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Rússnesk rúbla",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "Salómonseyskur dalur",
+ "symbol": "SBD"
+ },
+ "ZMW": {
+ "name": "Sambísk kvaka",
+ "symbol": "ZMW"
+ },
+ "WST": {
+ "name": "Samóatala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Saó Tóme og Prinsípe-dóbra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Sádiarabískt ríal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Serbneskur denari",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellesrúpía",
+ "symbol": "SCR"
+ },
+ "SGD": {
+ "name": "Singapúrskur dalur",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "Síerraleónsk ljóna",
+ "symbol": "SLL"
+ },
+ "CLP": {
+ "name": "Síleskur pesi",
+ "symbol": "CLP"
+ },
+ "BAM": {
+ "name": "Skiptanlegt Bosníu og Hersegóvínu-mark",
+ "symbol": "BAM"
+ },
+ "SOS": {
+ "name": "Sómalískur skildingur",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Srílönsk rúpía",
+ "symbol": "LKR"
+ },
+ "GBP": {
+ "name": "Sterlingspund",
+ "symbol": "GBP"
+ },
+ "ZAR": {
+ "name": "Suðurafrískt rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Suðurkóreskt vonn",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "Suðursúdanskt pund",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "Súdanskt pund",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Súrínamdalur",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Svasílenskur lílangeni",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "Svissneskur franki",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "Sýrlenskt pund",
+ "symbol": "SYP"
+ },
+ "SEK": {
+ "name": "Sænsk króna",
+ "symbol": "SEK"
+ },
+ "TJS": {
+ "name": "Tadsjikskur sómóni",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "Taílenskt bat",
+ "symbol": "THB"
+ },
+ "TWD": {
+ "name": "Taívanskur dalur",
+ "symbol": "TWD"
+ },
+ "TZS": {
+ "name": "Tansanískur skildingur",
+ "symbol": "TZS"
+ },
+ "CZK": {
+ "name": "Tékknesk króna",
+ "symbol": "CZK"
+ },
+ "TOP": {
+ "name": "Tongapanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trínidad og Tóbagó-dalur",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Túniskur denari",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "Túrkmenskt manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "Tyrknesk líra",
+ "symbol": "TRY"
+ },
+ "HUF": {
+ "name": "Ungversk fórinta",
+ "symbol": "HUF"
+ },
+ "UGX": {
+ "name": "Úgandskur skildingur",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Úkraínsk hrinja",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "Úrúgvæskur pesi",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "Úsbekskt súm",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanúatúskt vatú",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venesúelskur bólívari",
+ "symbol": "VEF"
+ },
+ "XOF": {
+ "name": "Vesturafrískur franki",
+ "symbol": "CFA"
+ },
+ "VND": {
+ "name": "Víetnamskt dong",
+ "symbol": "VND"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/it.json b/library/intl/resources/currency/it.json
new file mode 100644
index 000000000..7928fc3dc
--- /dev/null
+++ b/library/intl/resources/currency/it.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariary Malgascio",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht thailandese",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa di Panama",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr Etiopico",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar Venezuelano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi ghanese",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "Colón Costaricano",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "Colón Salvadoregno",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "Córdoba Nicaraguense",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "Corona Ceca",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Corona danese",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Corona islandese",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Corona norvegese",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Corona svedese",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi del Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinaro Algerino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinaro del Bahrein",
+ "symbol": "BHD"
+ },
+ "JOD": {
+ "name": "Dinaro giordano",
+ "symbol": "JOD"
+ },
+ "IQD": {
+ "name": "Dinaro iracheno",
+ "symbol": "IQD"
+ },
+ "KWD": {
+ "name": "Dinaro kuwaitiano",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinaro Libico",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinaro Macedone",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinaro Serbo",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinaro Tunisino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham degli Emirati Arabi Uniti",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham Marocchino",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra di Sao Tomé e Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dollaro Australiano",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dollaro Canadese",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Dollaro dei Caraibi Orientali",
+ "symbol": "EC$"
+ },
+ "BZD": {
+ "name": "Dollaro del Belize",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "Dollaro del Brunei",
+ "symbol": "BND"
+ },
+ "GYD": {
+ "name": "Dollaro della Guyana",
+ "symbol": "GYD"
+ },
+ "BSD": {
+ "name": "Dollaro delle Bahamas",
+ "symbol": "BSD"
+ },
+ "BMD": {
+ "name": "Dollaro delle Bermuda",
+ "symbol": "BMD"
+ },
+ "FJD": {
+ "name": "Dollaro delle Figi",
+ "symbol": "FJD"
+ },
+ "KYD": {
+ "name": "Dollaro delle Isole Cayman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dollaro delle Isole Solomon",
+ "symbol": "SBD"
+ },
+ "BBD": {
+ "name": "Dollaro di Barbados",
+ "symbol": "BBD"
+ },
+ "HKD": {
+ "name": "Dollaro di Hong Kong",
+ "symbol": "HKD"
+ },
+ "SGD": {
+ "name": "Dollaro di Singapore",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dollaro di Trinidad e Tobago",
+ "symbol": "TTD"
+ },
+ "JMD": {
+ "name": "Dollaro Giamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dollaro Liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dollaro Namibiano",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "Dollaro Neozelandese",
+ "symbol": "NZ$"
+ },
+ "USD": {
+ "name": "Dollaro Statunitense",
+ "symbol": "US$"
+ },
+ "SRD": {
+ "name": "Dollaro Surinamese",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "Dollaro Zimbabwiano (2009)",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "Dong Vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram armeno",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo del Capo Verde",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Fiorino delle Antille Olandesi",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "Fiorino di Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Fiorino Ungherese",
+ "symbol": "HUF"
+ },
+ "XOF": {
+ "name": "Franco CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco Comoriano",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco Congolese",
+ "symbol": "CDF"
+ },
+ "BIF": {
+ "name": "Franco del Burundi",
+ "symbol": "BIF"
+ },
+ "GNF": {
+ "name": "Franco della Guinea",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "Franco Gibutiano",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Franco Ruandese",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco svizzero",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde Haitiano",
+ "symbol": "HTG"
+ },
+ "UAH": {
+ "name": "Grivnia Ucraina",
+ "symbol": "UAH"
+ },
+ "PYG": {
+ "name": "Guaraní del Paraguay",
+ "symbol": "PYG"
+ },
+ "PGK": {
+ "name": "Kina della Papua Nuova Guinea",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip Laotiano",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna Croata",
+ "symbol": "HRK"
+ },
+ "ZMW": {
+ "name": "Kwacha dello Zambia",
+ "symbol": "ZMW"
+ },
+ "MWK": {
+ "name": "Kwacha Malawiano",
+ "symbol": "MWK"
+ },
+ "AOA": {
+ "name": "Kwanza Angolano",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat di Myanmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek Albanese",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira Honduregna",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone della Sierra Leone",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu Moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu Rumeno",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev bulgaro",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "Lilangeni dello Swaziland",
+ "symbol": "SZL"
+ },
+ "LBP": {
+ "name": "Lira libanese",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Lira siriana",
+ "symbol": "SYP"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas lituano",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti del Lesotho",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat azero",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat Turkmeno",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco Conv. Bosnia-Erzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical mozambicano",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira Nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa Eritreo",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum Butanese",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Nuovo dollaro taiwanese",
+ "symbol": "TWD"
+ },
+ "ILS": {
+ "name": "Nuovo siclo israeliano",
+ "symbol": "₪"
+ },
+ "MRO": {
+ "name": "Ouguiya della Mauritania",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga di Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca di Macao",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso Argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso Cileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso Colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso Cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso Cubano Convertibile",
+ "symbol": "CUC"
+ },
+ "PHP": {
+ "name": "Peso delle Filippine",
+ "symbol": "PHP"
+ },
+ "DOP": {
+ "name": "Peso Dominicano",
+ "symbol": "DOP"
+ },
+ "MXN": {
+ "name": "Peso Messicano",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "Peso Uruguaiano",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula del Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatemalteco",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand Sudafricano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real Brasiliano",
+ "symbol": "BRL"
+ },
+ "CNY": {
+ "name": "Renminbi cinese",
+ "symbol": "CNÂ¥"
+ },
+ "QAR": {
+ "name": "Rial del Qatar",
+ "symbol": "QAR"
+ },
+ "OMR": {
+ "name": "Rial dell’Oman",
+ "symbol": "OMR"
+ },
+ "IRR": {
+ "name": "Rial Iraniano",
+ "symbol": "IRR"
+ },
+ "KHR": {
+ "name": "Riel Cambogiano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit della Malesia",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "Riyal saudita",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "Riyal yemenita",
+ "symbol": "YER"
+ },
+ "BYR": {
+ "name": "Rublo Bielorussia",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo Russo",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rufiyaa delle Maldive",
+ "symbol": "MVR"
+ },
+ "PKR": {
+ "name": "Rupia del Pakistan",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupia delle Seychelles",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "Rupia di Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia Indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia Indonesiana",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Rupia Mauriziana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia Nepalese",
+ "symbol": "NPR"
+ },
+ "TZS": {
+ "name": "Scellino della Tanzania",
+ "symbol": "TZS"
+ },
+ "KES": {
+ "name": "Scellino Keniota",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Scellino Somalo",
+ "symbol": "SOS"
+ },
+ "UGX": {
+ "name": "Scellino Ugandese",
+ "symbol": "UGX"
+ },
+ "PEN": {
+ "name": "Sol Nuevo Peruviano",
+ "symbol": "PEN"
+ },
+ "KGS": {
+ "name": "Som Kirghiso",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "Somoni del Tajikistan",
+ "symbol": "TJS"
+ },
+ "FKP": {
+ "name": "Sterlina delle Falkland",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "Sterlina di Gibilterra",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Sterlina di Sant’Elena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Sterlina Egiziana",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Sterlina Inglese",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "Sterlina Sudanese",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Sterlina sudsudanese",
+ "symbol": "SSP"
+ },
+ "UZS": {
+ "name": "Sum dell’Uzbekistan",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "Taka Bangladese",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala della Samoa Occidentale",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge kazako",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik mongolo",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu di Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won Nordcoreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won Sudcoreano",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "Yen giapponese",
+ "symbol": "JPY"
+ },
+ "PLN": {
+ "name": "ZÅ‚oty polacco",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ja.json b/library/intl/resources/currency/ja.json
new file mode 100644
index 000000000..f7457feb9
--- /dev/null
+++ b/library/intl/resources/currency/ja.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "CFA フラン(BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA フラン(BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP フラン",
+ "symbol": "CFPF"
+ },
+ "ISK": {
+ "name": "アイスランド クローナ",
+ "symbol": "ISK"
+ },
+ "AZN": {
+ "name": "アゼルãƒã‚¤ã‚¸ãƒ£ãƒ³ マナト",
+ "symbol": "AZN"
+ },
+ "AFN": {
+ "name": "アフガニー",
+ "symbol": "AFN"
+ },
+ "AED": {
+ "name": "アラブ首長国連邦ディルãƒãƒ ",
+ "symbol": "AED"
+ },
+ "DZD": {
+ "name": "アルジェリア ディナール",
+ "symbol": "DZD"
+ },
+ "ARS": {
+ "name": "アルゼンãƒãƒ³ ペソ",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "アルムギルダー",
+ "symbol": "AWG"
+ },
+ "ALL": {
+ "name": "アルãƒãƒ‹ã‚¢ レク",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "アルメニア ドラム",
+ "symbol": "AMD"
+ },
+ "YER": {
+ "name": "イエメン リアル",
+ "symbol": "YER"
+ },
+ "ILS": {
+ "name": "イスラエル新シェケル",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "イラク ディナール",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "イラン リアル",
+ "symbol": "IRR"
+ },
+ "INR": {
+ "name": "インド ルピー",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "インドãƒã‚·ã‚¢ ルピア",
+ "symbol": "IDR"
+ },
+ "UGX": {
+ "name": "ウガンダ シリング",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ウクライナ グリブナ",
+ "symbol": "UAH"
+ },
+ "UZS": {
+ "name": "ウズベキスタン スム",
+ "symbol": "UZS"
+ },
+ "UYU": {
+ "name": "ウルグアイ ペソ",
+ "symbol": "UYU"
+ },
+ "EGP": {
+ "name": "エジプト ãƒãƒ³ãƒ‰",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "エãƒã‚ªãƒ”ã‚¢ ブル",
+ "symbol": "ETB"
+ },
+ "ERN": {
+ "name": "エリトリア ナクファ",
+ "symbol": "ERN"
+ },
+ "SVC": {
+ "name": "エルサルãƒãƒ‰ãƒ« コロン",
+ "symbol": "SVC"
+ },
+ "AUD": {
+ "name": "オーストラリア ドル",
+ "symbol": "AU$"
+ },
+ "OMR": {
+ "name": "オマーン リアル",
+ "symbol": "OMR"
+ },
+ "ANG": {
+ "name": "オランダ領アンティル ギルダー",
+ "symbol": "ANG"
+ },
+ "GHS": {
+ "name": "ガーナ セディ",
+ "symbol": "GHS"
+ },
+ "CVE": {
+ "name": "カーボベルデ エスクード",
+ "symbol": "CVE"
+ },
+ "GYD": {
+ "name": "ガイアナ ドル",
+ "symbol": "GYD"
+ },
+ "KZT": {
+ "name": "カザフスタン テンゲ",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "カタール リアル",
+ "symbol": "QAR"
+ },
+ "CAD": {
+ "name": "カナダ ドル",
+ "symbol": "CA$"
+ },
+ "GMD": {
+ "name": "ガンビア ダラシ",
+ "symbol": "GMD"
+ },
+ "KHR": {
+ "name": "カンボジア リエル",
+ "symbol": "KHR"
+ },
+ "GNF": {
+ "name": "ギニア フラン",
+ "symbol": "GNF"
+ },
+ "CUP": {
+ "name": "キュームペソ",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "キューム兌æ›ãƒšã‚½",
+ "symbol": "CUC"
+ },
+ "KGS": {
+ "name": "キルギスタン ソム",
+ "symbol": "KGS"
+ },
+ "GTQ": {
+ "name": "グアテマラ ケツァル",
+ "symbol": "GTQ"
+ },
+ "KWD": {
+ "name": "クウェート ディナール",
+ "symbol": "KWD"
+ },
+ "GEL": {
+ "name": "グルジア ラリ",
+ "symbol": "GEL"
+ },
+ "HRK": {
+ "name": "クロアãƒã‚¢ クーナ",
+ "symbol": "HRK"
+ },
+ "AOA": {
+ "name": "クワンザ",
+ "symbol": "AOA"
+ },
+ "KYD": {
+ "name": "ケイマン諸島 ドル",
+ "symbol": "KYD"
+ },
+ "KES": {
+ "name": "ケニア シリング",
+ "symbol": "KES"
+ },
+ "CRC": {
+ "name": "コスタリカ コロン",
+ "symbol": "CRC"
+ },
+ "KMF": {
+ "name": "コモロ フラン",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "コロンビア ペソ",
+ "symbol": "COP"
+ },
+ "CDF": {
+ "name": "コンゴ フラン",
+ "symbol": "CDF"
+ },
+ "SAR": {
+ "name": "サウジ リヤル",
+ "symbol": "SAR"
+ },
+ "WST": {
+ "name": "サモア タラ",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "サントメ・プリンシペ ドブラ",
+ "symbol": "STD"
+ },
+ "ZMW": {
+ "name": "ザンビア クワãƒãƒ£",
+ "symbol": "ZMW"
+ },
+ "SLL": {
+ "name": "シエラレオムレオン",
+ "symbol": "SLL"
+ },
+ "DJF": {
+ "name": "ジブムフラン",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "ジブラルタル ãƒãƒ³ãƒ‰",
+ "symbol": "GIP"
+ },
+ "JMD": {
+ "name": "ジャマイカ ドル",
+ "symbol": "JMD"
+ },
+ "SYP": {
+ "name": "シリア ãƒãƒ³ãƒ‰",
+ "symbol": "SYP"
+ },
+ "SGD": {
+ "name": "シンガãƒãƒ¼ãƒ« ドル",
+ "symbol": "SGD"
+ },
+ "ZWL": {
+ "name": "ジンãƒãƒ–エ ドル (2009)",
+ "symbol": "ZWL"
+ },
+ "CHF": {
+ "name": "スイス フラン",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "スウェーデン クローナ",
+ "symbol": "SEK"
+ },
+ "SDG": {
+ "name": "スーダン ãƒãƒ³ãƒ‰",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "スリナム ドル",
+ "symbol": "SRD"
+ },
+ "LKR": {
+ "name": "スリランカ ルピー",
+ "symbol": "LKR"
+ },
+ "SZL": {
+ "name": "スワジランド リランゲニ",
+ "symbol": "SZL"
+ },
+ "SCR": {
+ "name": "セーシェル ルピー",
+ "symbol": "SCR"
+ },
+ "SHP": {
+ "name": "セントヘレナ島 ãƒãƒ³ãƒ‰",
+ "symbol": "SHP"
+ },
+ "SOS": {
+ "name": "ソマリア シリング",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "ソロモン諸島 ドル",
+ "symbol": "SBD"
+ },
+ "THB": {
+ "name": "タイ ãƒãƒ¼ãƒ„",
+ "symbol": "฿"
+ },
+ "TJS": {
+ "name": "タジキスタン ソモニ",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "タンザニア シリング",
+ "symbol": "TZS"
+ },
+ "CZK": {
+ "name": "ãƒã‚§ã‚³ コルナ",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "ãƒãƒ¥ãƒ‹ã‚¸ã‚¢ ディナール",
+ "symbol": "TND"
+ },
+ "CLP": {
+ "name": "ãƒãƒª ペソ",
+ "symbol": "CLP"
+ },
+ "RSD": {
+ "name": "ディナール (セルビア)",
+ "symbol": "RSD"
+ },
+ "DKK": {
+ "name": "デンマーク クローãƒ",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ドミニカ ペソ",
+ "symbol": "DOP"
+ },
+ "TTD": {
+ "name": "トリニダードトãƒã‚´ ドル",
+ "symbol": "TTD"
+ },
+ "TMT": {
+ "name": "トルクメニスタン マナト",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "トンガ パ・アンガ",
+ "symbol": "TOP"
+ },
+ "NGN": {
+ "name": "ナイジェリア ナイラ",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "ナミビア ドル",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "ニカラグア コルドムオロ",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "ニュージーランド ドル",
+ "symbol": "NZ$"
+ },
+ "NPR": {
+ "name": "ãƒãƒ‘ール ルピー",
+ "symbol": "NPR"
+ },
+ "NOK": {
+ "name": "ノルウェー クローãƒ",
+ "symbol": "NOK"
+ },
+ "BHD": {
+ "name": "ãƒãƒ¼ãƒ¬ãƒ¼ãƒ³ ディナール",
+ "symbol": "BHD"
+ },
+ "HTG": {
+ "name": "ãƒã‚¤ãƒ グールド",
+ "symbol": "HTG"
+ },
+ "PKR": {
+ "name": "パキスタン ルピー",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "パナマ ãƒãƒ«ãƒœã‚¢",
+ "symbol": "PAB"
+ },
+ "VUV": {
+ "name": "ãƒãƒŒã‚¢ãƒ„ ãƒãƒ„",
+ "symbol": "VUV"
+ },
+ "BSD": {
+ "name": "ãƒãƒãƒž ドル",
+ "symbol": "BSD"
+ },
+ "PGK": {
+ "name": "パプアニューギニア キナ",
+ "symbol": "PGK"
+ },
+ "BMD": {
+ "name": "ãƒãƒŸãƒ¥ãƒ¼ãƒ€ ドル",
+ "symbol": "BMD"
+ },
+ "PYG": {
+ "name": "パラグアイ グアラニ",
+ "symbol": "PYG"
+ },
+ "BBD": {
+ "name": "ãƒãƒ«ãƒãƒ‰ã‚¹ ドル",
+ "symbol": "BBD"
+ },
+ "HUF": {
+ "name": "ãƒãƒ³ã‚¬ãƒªãƒ¼ フォリント",
+ "symbol": "HUF"
+ },
+ "BDT": {
+ "name": "ãƒãƒ³ã‚°ãƒ©ãƒ‡ã‚·ãƒ¥ ã‚¿ã‚«",
+ "symbol": "BDT"
+ },
+ "FJD": {
+ "name": "フィジー諸島 ドル",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "フィリピン ペソ",
+ "symbol": "PHP"
+ },
+ "BTN": {
+ "name": "ブータン ニュルタム",
+ "symbol": "BTN"
+ },
+ "FKP": {
+ "name": "フォークランド(マルビナス)諸島 ãƒãƒ³ãƒ‰",
+ "symbol": "FKP"
+ },
+ "BRL": {
+ "name": "ブラジル レアル",
+ "symbol": "R$"
+ },
+ "BGN": {
+ "name": "ブルガリア 新レフ",
+ "symbol": "BGN"
+ },
+ "BND": {
+ "name": "ブルãƒã‚¤ ドル",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "ブルンジ フラン",
+ "symbol": "BIF"
+ },
+ "VND": {
+ "name": "ベトナム ドン",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "ベãƒã‚ºã‚¨ãƒ© ボリãƒãƒ«",
+ "symbol": "VEF"
+ },
+ "BYR": {
+ "name": "ベラルーシ ルーブル",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "ベリーズ ドル",
+ "symbol": "BZD"
+ },
+ "PEN": {
+ "name": "ペルー 新ソル",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "ãƒãƒ¼ãƒ©ãƒ³ãƒ‰ ズウォティ",
+ "symbol": "PLN"
+ },
+ "BAM": {
+ "name": "ボスニア マルク (BAM)",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "ボツワナ プラ",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "ボリビア ボリビアーノ",
+ "symbol": "BOB"
+ },
+ "HNL": {
+ "name": "ホンジュラス レンピラ",
+ "symbol": "HNL"
+ },
+ "MOP": {
+ "name": "マカオ パタカ",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "マケドニア デナル",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "マダガスカル アリアリ",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "マラウィ クワãƒãƒ£",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "マレーシア リンギット",
+ "symbol": "MYR"
+ },
+ "MMK": {
+ "name": "ミャンマー ãƒãƒ£ãƒƒãƒˆ",
+ "symbol": "MMK"
+ },
+ "MXN": {
+ "name": "メキシコ ペソ",
+ "symbol": "MX$"
+ },
+ "MUR": {
+ "name": "モーリシャス ルピー",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "モーリタニア ウギア",
+ "symbol": "MRO"
+ },
+ "MZN": {
+ "name": "モザンビーク メティカル",
+ "symbol": "MZN"
+ },
+ "MVR": {
+ "name": "モルディブ諸島 ルフィア",
+ "symbol": "MVR"
+ },
+ "MDL": {
+ "name": "モルドムレイ",
+ "symbol": "MDL"
+ },
+ "MAD": {
+ "name": "モロッコ ディルãƒãƒ ",
+ "symbol": "MAD"
+ },
+ "MNT": {
+ "name": "モンゴル トグログ",
+ "symbol": "MNT"
+ },
+ "EUR": {
+ "name": "ユーロ",
+ "symbol": "€"
+ },
+ "JOD": {
+ "name": "ヨルダン ディナール",
+ "symbol": "JOD"
+ },
+ "LAK": {
+ "name": "ラオス キープ",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "リトアニア リタス",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "リビア ディナール",
+ "symbol": "LYD"
+ },
+ "LRD": {
+ "name": "リベリア ドル",
+ "symbol": "LRD"
+ },
+ "RON": {
+ "name": "ルーマニア レイ",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "ルワンダ フラン",
+ "symbol": "RWF"
+ },
+ "LSL": {
+ "name": "レソト ロティ",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "レãƒãƒŽãƒ³ ãƒãƒ³ãƒ‰",
+ "symbol": "LBP"
+ },
+ "RUB": {
+ "name": "ロシア ルーブル",
+ "symbol": "RUB"
+ },
+ "GBP": {
+ "name": "英国ãƒãƒ³ãƒ‰",
+ "symbol": "£"
+ },
+ "KRW": {
+ "name": "韓国 ウォン",
+ "symbol": "₩"
+ },
+ "HKD": {
+ "name": "香港ドル",
+ "symbol": "HK$"
+ },
+ "TRY": {
+ "name": "新トルコリラ",
+ "symbol": "TRY"
+ },
+ "TWD": {
+ "name": "æ–°å°æ¹¾ãƒ‰ãƒ«",
+ "symbol": "NT$"
+ },
+ "CNY": {
+ "name": "中国人民元",
+ "symbol": "å…ƒ"
+ },
+ "XCD": {
+ "name": "æ±ã‚«ãƒªãƒ– ドル",
+ "symbol": "EC$"
+ },
+ "ZAR": {
+ "name": "å—アフリカ ランド",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "å—スーダン・ãƒãƒ³ãƒ‰",
+ "symbol": "SSP"
+ },
+ "JPY": {
+ "name": "日本円",
+ "symbol": "ï¿¥"
+ },
+ "USD": {
+ "name": "米ドル",
+ "symbol": "$"
+ },
+ "KPW": {
+ "name": "北æœé®® ウォン",
+ "symbol": "KPW"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/jgo.json b/library/intl/resources/currency/jgo.json
new file mode 100644
index 000000000..6a68ab95c
--- /dev/null
+++ b/library/intl/resources/currency/jgo.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "XAF": {
+ "name": "Fɛlâŋ",
+ "symbol": "FCFA"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "INR",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "USD": {
+ "name": "NdÉ”Ìla-AmÉ›lîk",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "NdÉ”Ìla-Kanandâ",
+ "symbol": "CA$"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "EUR": {
+ "name": "É„ÌlÉ”",
+ "symbol": "€"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/jmc.json b/library/intl/resources/currency/jmc.json
new file mode 100644
index 000000000..655670a30
--- /dev/null
+++ b/library/intl/resources/currency/jmc.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "Faranga ya Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ka.json b/library/intl/resources/currency/ka.json
new file mode 100644
index 000000000..c9e686882
--- /dev/null
+++ b/library/intl/resources/currency/ka.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "(CFA) ფრáƒáƒœáƒ™áƒ˜ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA ფრáƒáƒœáƒ™áƒ˜ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP ფრáƒáƒœáƒ™áƒ˜",
+ "symbol": "CFPF"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AUD": {
+ "name": "áƒáƒ•áƒ¡áƒ¢áƒ áƒáƒšáƒ˜áƒ£áƒ áƒ˜ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "AUD"
+ },
+ "AFN": {
+ "name": "áƒáƒ•áƒ¦áƒáƒœáƒ£áƒ áƒ˜ áƒáƒ•áƒ¦áƒáƒœáƒ˜",
+ "symbol": "AFN"
+ },
+ "AZN": {
+ "name": "áƒáƒ–ერბáƒáƒ˜áƒ¯áƒáƒœáƒ£áƒšáƒ˜ მáƒáƒœáƒáƒ—ი",
+ "symbol": "AZN"
+ },
+ "ALL": {
+ "name": "áƒáƒšáƒ‘áƒáƒœáƒ£áƒ áƒ˜ ლეკი",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "áƒáƒšáƒŸáƒ˜áƒ áƒ£áƒšáƒ˜ დინáƒáƒ áƒ˜",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "áƒáƒœáƒ’áƒáƒšáƒ£áƒ áƒ˜ კვáƒáƒœáƒ–áƒ",
+ "symbol": "AOA"
+ },
+ "AED": {
+ "name": "áƒáƒ áƒáƒ‘თრგáƒáƒ”რთიáƒáƒœáƒ”ბული სáƒáƒáƒ›áƒ˜áƒ áƒáƒ”ბის დირჰáƒáƒ›áƒ˜",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "áƒáƒ áƒ’ენტინული პესáƒ",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "áƒáƒ áƒ£áƒ‘áƒáƒœáƒ£áƒšáƒ˜ გულდენი",
+ "symbol": "AWG"
+ },
+ "XCD": {
+ "name": "áƒáƒ¦áƒ›áƒáƒ¡áƒáƒ•áƒšáƒ”თ კáƒáƒ áƒ˜áƒ‘იული დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "EC$"
+ },
+ "USD": {
+ "name": "áƒáƒ¨áƒ¨ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "US$"
+ },
+ "NZD": {
+ "name": "áƒáƒ®áƒáƒšáƒ˜ ზელáƒáƒœáƒ“იის დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "NZD"
+ },
+ "TRY": {
+ "name": "áƒáƒ®áƒáƒšáƒ˜ თურქული ლირáƒ",
+ "symbol": "TRY"
+ },
+ "BDT": {
+ "name": "ბáƒáƒœáƒ’ლáƒáƒ“ეშური ტáƒáƒ™áƒ",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "ბáƒáƒ áƒ‘áƒáƒ“áƒáƒ¡áƒ£áƒšáƒ˜ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "ბáƒáƒ°áƒáƒ›áƒ£áƒ áƒ˜ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "ბáƒáƒ°áƒ áƒ”ინული დინáƒáƒ áƒ˜",
+ "symbol": "BHD"
+ },
+ "BZD": {
+ "name": "ბელიზის დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "ბელáƒáƒ áƒ£áƒ¡áƒ£áƒšáƒ˜ რუბლი",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "ბერმუდული დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "BMD"
+ },
+ "BOB": {
+ "name": "ბáƒáƒšáƒ˜áƒ•áƒ˜áƒ£áƒ áƒ˜ ბáƒáƒšáƒ˜áƒ•áƒ˜áƒáƒœáƒ",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "ბáƒáƒ¡áƒœáƒ˜áƒ დრჰერცáƒáƒ’áƒáƒ•áƒ˜áƒœáƒáƒ¡ კáƒáƒœáƒ•áƒ”რტირებáƒáƒ“ი მáƒáƒ áƒ™áƒ",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "ბáƒáƒªáƒ•áƒáƒœáƒ£áƒ áƒ˜ პულáƒ",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "ბრáƒáƒ–ილიური რეáƒáƒšáƒ˜",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "ბრიტáƒáƒœáƒ£áƒšáƒ˜ გირვáƒáƒœáƒ¥áƒ სტერლინგი",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "ბრუნეული დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "ბულგáƒáƒ áƒ£áƒšáƒ˜ ლევი",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "ბურუნდიული ფრáƒáƒœáƒ™áƒ˜",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "ბუტáƒáƒœáƒ£áƒ áƒ˜ ნგულტრუმი",
+ "symbol": "BTN"
+ },
+ "GYD": {
+ "name": "გáƒáƒ˜áƒáƒœáƒ£áƒ áƒ˜ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "გáƒáƒ›áƒ‘იური დáƒáƒšáƒáƒ¡áƒ˜",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "გáƒáƒœáƒ£áƒ áƒ˜ სედი",
+ "symbol": "GHS"
+ },
+ "GTQ": {
+ "name": "გვáƒáƒ¢áƒ”მáƒáƒšáƒ£áƒ áƒ˜ კეტსáƒáƒšáƒ˜",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "გვინეური ფრáƒáƒœáƒ™áƒ˜",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "გიბრáƒáƒšáƒ¢áƒáƒ áƒ£áƒšáƒ˜ ფუნტი",
+ "symbol": "GIP"
+ },
+ "DKK": {
+ "name": "დáƒáƒœáƒ˜áƒ£áƒ áƒ˜ კრáƒáƒœáƒ",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "დáƒáƒ›áƒ˜áƒœáƒ˜áƒ™áƒ£áƒ áƒ˜ პესáƒ",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "ეგვიპტური გირვáƒáƒœáƒ¥áƒ",
+ "symbol": "EGP"
+ },
+ "EUR": {
+ "name": "ევრáƒ",
+ "symbol": "€"
+ },
+ "ETB": {
+ "name": "ეთიáƒáƒžáƒ˜áƒ£áƒ áƒ˜ ბირი",
+ "symbol": "ETB"
+ },
+ "IQD": {
+ "name": "ერáƒáƒ§áƒ£áƒšáƒ˜ დინáƒáƒ áƒ˜",
+ "symbol": "IQD"
+ },
+ "ERN": {
+ "name": "ერიტრეის ნáƒáƒ™áƒ¤áƒ",
+ "symbol": "ERN"
+ },
+ "VUV": {
+ "name": "ვáƒáƒœáƒ£áƒáƒ¢áƒ£áƒ¡ ვáƒáƒ¢áƒ£",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "ვენესუელის ბáƒáƒšáƒ˜áƒ•áƒáƒ áƒ˜",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "ვიეტნáƒáƒ›áƒ£áƒ áƒ˜ დáƒáƒœáƒ’ი",
+ "symbol": "VND"
+ },
+ "ZMW": {
+ "name": "ზáƒáƒ›áƒ‘იური კვáƒáƒ­áƒ",
+ "symbol": "ZMW"
+ },
+ "TMT": {
+ "name": "თურქმენეთის მáƒáƒœáƒáƒ—ი",
+ "symbol": "TMT"
+ },
+ "JMD": {
+ "name": "იáƒáƒ›áƒáƒ˜áƒ™áƒ£áƒ áƒ˜ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "იáƒáƒžáƒáƒœáƒ£áƒ áƒ˜ იენი",
+ "symbol": "JPY"
+ },
+ "YER": {
+ "name": "იემენის რეáƒáƒšáƒ˜",
+ "symbol": "YER"
+ },
+ "IDR": {
+ "name": "ინდáƒáƒœáƒ”ზიური რუპიáƒ",
+ "symbol": "IDR"
+ },
+ "INR": {
+ "name": "ინდური რუპიáƒ",
+ "symbol": "INR"
+ },
+ "JOD": {
+ "name": "იáƒáƒ áƒ“áƒáƒœáƒ˜áƒ£áƒšáƒ˜ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "JOD"
+ },
+ "IRR": {
+ "name": "ირáƒáƒœáƒ£áƒšáƒ˜ რიáƒáƒšáƒ˜",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ისლáƒáƒœáƒ“იური კრáƒáƒœáƒ",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "ისრáƒáƒ”ლის áƒáƒ®áƒáƒšáƒ˜ შეკელი",
+ "symbol": "ILS"
+ },
+ "CVE": {
+ "name": "კáƒáƒ‘áƒ-ვერდეს ესკუდáƒ",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "კáƒáƒ˜áƒ›áƒáƒœáƒ˜áƒ¡ კუნძულების დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "კáƒáƒ›áƒ‘áƒáƒ¯áƒ£áƒ áƒ˜ რიელი",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "კáƒáƒœáƒáƒ“ური დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "კáƒáƒ¢áƒáƒ áƒ˜áƒ¡ რიáƒáƒšáƒ˜",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "კენიური შილინგი",
+ "symbol": "KES"
+ },
+ "COP": {
+ "name": "კáƒáƒšáƒ£áƒ›áƒ‘იური პესáƒ",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "კáƒáƒ›áƒáƒ áƒ£áƒšáƒ˜ ფრáƒáƒœáƒ™áƒ˜",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "კáƒáƒœáƒ’áƒáƒ¡ ფრáƒáƒœáƒ™áƒ˜",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "კáƒáƒ¡áƒ¢áƒ-რიკული კáƒáƒšáƒáƒœáƒ˜",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "კუბური კáƒáƒœáƒ•áƒ”რტირებáƒáƒ“ი პესáƒ",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "კუბური პესáƒ",
+ "symbol": "CUP"
+ },
+ "LAK": {
+ "name": "ლáƒáƒáƒ¡áƒ£áƒ áƒ˜ კიპი",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "ლიბáƒáƒœáƒ£áƒ áƒ˜ ფუნტი",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "ლიბერიული დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "ლიბიური დინáƒáƒ áƒ˜",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "ლიტვური ლიტáƒ",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "მáƒáƒ“áƒáƒ’áƒáƒ¡áƒ™áƒáƒ áƒ˜áƒ¡ áƒáƒ áƒ˜áƒáƒ áƒ˜",
+ "symbol": "MGA"
+ },
+ "MUR": {
+ "name": "მáƒáƒ•áƒ áƒ˜áƒ¢áƒáƒœáƒ£áƒšáƒ˜ რუპიáƒ",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "მáƒáƒ•áƒ áƒ˜áƒ¢áƒáƒœáƒ£áƒšáƒ˜ უგიáƒ",
+ "symbol": "MRO"
+ },
+ "MOP": {
+ "name": "მáƒáƒ™áƒáƒ£áƒ¡ პáƒáƒ¢áƒáƒ™áƒ",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "მáƒáƒ™áƒ”დáƒáƒœáƒ˜áƒ£áƒ áƒ˜ დინáƒáƒ áƒ˜",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "მáƒáƒšáƒáƒ•áƒ˜áƒ£áƒ áƒ˜ კვáƒáƒ©áƒ",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "მáƒáƒšáƒáƒ˜áƒ–იური რინგიტი",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "მáƒáƒšáƒ“ივური რუფიáƒ",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "მáƒáƒ áƒáƒ™áƒáƒ¡ დირჰáƒáƒ›áƒ˜",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "მექსიკური პესáƒ",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "მიáƒáƒœáƒ›áƒáƒ áƒ˜áƒ¡ კიáƒáƒ¢áƒ˜",
+ "symbol": "MMK"
+ },
+ "MZN": {
+ "name": "მáƒáƒ–áƒáƒ›áƒ‘იკური მეტიკáƒáƒšáƒ˜",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "მáƒáƒšáƒ“áƒáƒ•áƒ£áƒ áƒ˜ ლეუ",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "მáƒáƒœáƒ¦áƒáƒšáƒ£áƒ áƒ˜ ტუგრიკი",
+ "symbol": "MNT"
+ },
+ "NAD": {
+ "name": "ნáƒáƒ›áƒ˜áƒ‘იური დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "ნეპáƒáƒšáƒ£áƒ áƒ˜ რუპიáƒ",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ნიგერიული ნáƒáƒ˜áƒ áƒ",
+ "symbol": "NGN"
+ },
+ "ANG": {
+ "name": "ნიდერლáƒáƒœáƒ“ების áƒáƒœáƒ¢áƒ˜áƒšáƒ”ბის გულდენი",
+ "symbol": "ANG"
+ },
+ "NIO": {
+ "name": "ნიკáƒáƒ áƒáƒ’უული კáƒáƒ áƒ“áƒáƒ‘áƒ",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "ნáƒáƒ áƒ•áƒ”გიული კრáƒáƒœáƒ",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "áƒáƒ›áƒáƒœáƒ˜áƒ¡ რიáƒáƒšáƒ˜",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "პáƒáƒ™áƒ˜áƒ¡áƒ¢áƒáƒœáƒ£áƒ áƒ˜ რუპიáƒ",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "პáƒáƒœáƒáƒ›áƒ£áƒ áƒ˜ ბáƒáƒšáƒ‘áƒáƒ",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "პáƒáƒžáƒ£áƒ-áƒáƒ®áƒáƒšáƒ˜ გვინეის კინáƒ",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "პáƒáƒ áƒáƒ’ვáƒáƒ£áƒšáƒ˜ გუáƒáƒ áƒáƒœáƒ˜",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "პერუს áƒáƒ®áƒáƒšáƒ˜ სáƒáƒšáƒ˜",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "პáƒáƒšáƒáƒœáƒ£áƒ áƒ˜ ზლáƒáƒ¢áƒ˜",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "რუáƒáƒœáƒ“ული ფრáƒáƒœáƒ™áƒ˜",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "რუმინული ლეუ",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "რუსული რუბლი",
+ "symbol": "RUB"
+ },
+ "WST": {
+ "name": "სáƒáƒ›áƒáƒ£áƒ áƒ˜ ტáƒáƒšáƒ",
+ "symbol": "WST"
+ },
+ "ZAR": {
+ "name": "სáƒáƒ›áƒ®áƒ áƒ”თ áƒáƒ¤áƒ áƒ˜áƒ™áƒ£áƒšáƒ˜ რáƒáƒœáƒ“ი",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "სáƒáƒ›áƒ®áƒ áƒ”თ კáƒáƒ áƒ”ული ვáƒáƒœáƒ˜",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "სáƒáƒ›áƒ®áƒ áƒ”თ სუდáƒáƒœáƒ£áƒ áƒ˜ ფუნტი",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "სáƒáƒœ-ტáƒáƒ›áƒ” დრპრინსიპის დáƒáƒ‘რáƒ",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "სáƒáƒ£áƒ“ის áƒáƒ áƒáƒ‘ეთის რიáƒáƒšáƒ˜",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "სეიშელური რუპიáƒ",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "სერბული დინáƒáƒ áƒ˜",
+ "symbol": "RSD"
+ },
+ "SZL": {
+ "name": "სვáƒáƒ–ილენდის ლილáƒáƒœáƒ’ენი",
+ "symbol": "SZL"
+ },
+ "SLL": {
+ "name": "სიერáƒ-ლეáƒáƒœáƒ”ს ლეáƒáƒœáƒ”",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "სინგáƒáƒžáƒ£áƒ áƒ˜áƒ¡ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "სირიული ფუნტი",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "სáƒáƒšáƒáƒ›áƒáƒœáƒ˜áƒ¡ კუნძულების დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "სáƒáƒ›áƒáƒšáƒ£áƒ áƒ˜ შილინგი",
+ "symbol": "SOS"
+ },
+ "AMD": {
+ "name": "სáƒáƒ›áƒ®áƒ£áƒ áƒ˜ დრáƒáƒ›áƒ˜",
+ "symbol": "AMD"
+ },
+ "SDG": {
+ "name": "სუდáƒáƒœáƒ£áƒ áƒ˜ ფუნტი",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "სურინáƒáƒ›áƒ£áƒšáƒ˜ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "SRD"
+ },
+ "TWD": {
+ "name": "ტáƒáƒ˜áƒ•áƒáƒœáƒ£áƒ áƒ˜ áƒáƒ®áƒáƒšáƒ˜ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "NT$"
+ },
+ "THB": {
+ "name": "ტáƒáƒ˜áƒšáƒáƒœáƒ“ური ბáƒáƒ¢áƒ˜",
+ "symbol": "THB"
+ },
+ "TZS": {
+ "name": "ტáƒáƒœáƒ–áƒáƒœáƒ˜áƒ£áƒ áƒ˜ შილინგი",
+ "symbol": "TZS"
+ },
+ "TJS": {
+ "name": "ტáƒáƒ¯áƒ˜áƒ™áƒ£áƒ áƒ˜ სáƒáƒ›áƒáƒœáƒ˜",
+ "symbol": "TJS"
+ },
+ "TOP": {
+ "name": "ტáƒáƒœáƒ’áƒáƒœáƒ£áƒ áƒ˜ პáƒáƒáƒœáƒ’áƒ",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "ტრინიდáƒáƒ“ დრტáƒáƒ‘áƒáƒ’áƒáƒ¡ დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "ტუნისური დინáƒáƒ áƒ˜",
+ "symbol": "TND"
+ },
+ "UGX": {
+ "name": "უგáƒáƒœáƒ“ური შილინგი",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "უზბეკური სუმი",
+ "symbol": "UZS"
+ },
+ "UAH": {
+ "name": "უკრáƒáƒ˜áƒœáƒ£áƒšáƒ˜ გრივნáƒ",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "უნგრული ფáƒáƒ áƒ˜áƒœáƒ¢áƒ˜",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "ურუგვáƒáƒ˜áƒ¡ პესáƒ",
+ "symbol": "UYU"
+ },
+ "PHP": {
+ "name": "ფილიპინური პესáƒ",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "ფიჯის დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "ფáƒáƒšáƒ™áƒšáƒ”ნდის კუნძულების ფუნტი",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "ქáƒáƒ áƒ—ული ლáƒáƒ áƒ˜",
+ "symbol": "GEL"
+ },
+ "KWD": {
+ "name": "ქუვეითური დინáƒáƒ áƒ˜",
+ "symbol": "KWD"
+ },
+ "KZT": {
+ "name": "ყáƒáƒ–áƒáƒ®áƒ£áƒ áƒ˜ ტენგე",
+ "symbol": "KZT"
+ },
+ "KGS": {
+ "name": "ყირგიზული სáƒáƒ›áƒ˜",
+ "symbol": "KGS"
+ },
+ "SEK": {
+ "name": "შვედური კრáƒáƒœáƒ",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "შვეიცáƒáƒ áƒ˜áƒ£áƒšáƒ˜ ფრáƒáƒœáƒ™áƒ˜",
+ "symbol": "CHF"
+ },
+ "LKR": {
+ "name": "შრი-ლáƒáƒœáƒ™áƒ£áƒ áƒ˜ რუპიáƒ",
+ "symbol": "LKR"
+ },
+ "CZK": {
+ "name": "ჩეხური კრáƒáƒœáƒ",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "ჩილეს პესáƒ",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "ჩინური იუáƒáƒœáƒ˜",
+ "symbol": "CNY"
+ },
+ "KPW": {
+ "name": "ჩრდილáƒáƒ”თ კáƒáƒ áƒ”ული ვáƒáƒœáƒ˜",
+ "symbol": "KPW"
+ },
+ "SHP": {
+ "name": "წმ. ელენეს კუნძულის ფუნტი",
+ "symbol": "SHP"
+ },
+ "HRK": {
+ "name": "ხáƒáƒ áƒ•áƒáƒ¢áƒ£áƒšáƒ˜ კუნáƒ",
+ "symbol": "HRK"
+ },
+ "DJF": {
+ "name": "ჯიბუტის ფრáƒáƒœáƒ™áƒ˜",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "ჰáƒáƒ˜áƒ¢áƒ£áƒ áƒ˜ გურდი",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "ჰáƒáƒœáƒ“ურáƒáƒ¡áƒ£áƒšáƒ˜ ლემპირáƒ",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "ჰáƒáƒœáƒ™áƒáƒœáƒ’ის დáƒáƒšáƒáƒ áƒ˜",
+ "symbol": "HKD"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/kab.json b/library/intl/resources/currency/kab.json
new file mode 100644
index 000000000..5481b7680
--- /dev/null
+++ b/library/intl/resources/currency/kab.json
@@ -0,0 +1,634 @@
+{
+ "ETB": {
+ "name": "Abir Utyupi",
+ "symbol": "ETB"
+ },
+ "KES": {
+ "name": "Aciling Akini",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Aciling Aá¹£umali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Aciling Aṭanẓani",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Aciling Awgandi",
+ "symbol": "UGX"
+ },
+ "GMD": {
+ "name": "Adalasi Agambi",
+ "symbol": "GMD"
+ },
+ "BHD": {
+ "name": "Adinar Abaḥrini",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Adinar Alibi",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Adinar Atunsi",
+ "symbol": "TND"
+ },
+ "DZD": {
+ "name": "Adinar Azzayri",
+ "symbol": "DA"
+ },
+ "MAD": {
+ "name": "Adirham Amerruki",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Adirham n Tgeldunin Taɛrabin Yedduklen",
+ "symbol": "AED"
+ },
+ "CAD": {
+ "name": "Adular Akanadi",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Adular Alibiri",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Adular Anamibi",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "Adular n Lusá¹­rali",
+ "symbol": "A$"
+ },
+ "USD": {
+ "name": "Adular WD",
+ "symbol": "US$"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "BIF": {
+ "name": "Afrank Aburandi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Afrank Ajibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Afrank Akamiruni",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Afrank Akunguli",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Afrank Aruwandi",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Afrank Aswis",
+ "symbol": "CHF"
+ },
+ "XAF": {
+ "name": "Afrank BCEA CFA",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Afrank BCEAO CFA",
+ "symbol": "CFA"
+ },
+ "MRO": {
+ "name": "Agiya Amuriá¹­ani",
+ "symbol": "MRO"
+ },
+ "CVE": {
+ "name": "Akabuviradinu Askudi",
+ "symbol": "CVE"
+ },
+ "MWK": {
+ "name": "Akwaca Amalawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Akwaca Azambi",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Akwanza n Ungula",
+ "symbol": "AOA"
+ },
+ "SZL": {
+ "name": "Alilangini",
+ "symbol": "SZL"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "LSL": {
+ "name": "Aluá¹­i Alizuá¹­i",
+ "symbol": "LSL"
+ },
+ "SLL": {
+ "name": "Alyun",
+ "symbol": "SLL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ERN": {
+ "name": "Anakfa Iritiri",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "Anayra Anijiri",
+ "symbol": "NGN"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "BWP": {
+ "name": "Apula Abusá¹­wanan",
+ "symbol": "BWP"
+ },
+ "EGP": {
+ "name": "Apund Amaá¹£ri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Apund Asant Ilini",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Apund Asudani",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "Apund Sterling Aglizi",
+ "symbol": "£"
+ },
+ "ZAR": {
+ "name": "Arand Afriqi n Wadda",
+ "symbol": "ZAR"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "INR": {
+ "name": "Arupi Ahendi",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Arupi Amurisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Arupi Aseycili",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "Aryal Asuɛudi",
+ "symbol": "SAR"
+ },
+ "MGA": {
+ "name": "Aryari Amalgac",
+ "symbol": "MGA"
+ },
+ "STD": {
+ "name": "Asw Ṭum d Udubra Amenzay",
+ "symbol": "STD"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "JPY": {
+ "name": "Ayen Ajappuni",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "Ayuwan Renminbi Acinwa",
+ "symbol": "CNÂ¥"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "EUR": {
+ "name": "Uru",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/kam.json b/library/intl/resources/currency/kam.json
new file mode 100644
index 000000000..b62741d41
--- /dev/null
+++ b/library/intl/resources/currency/kam.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "GMD": {
+ "name": "Ndalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "TND": {
+ "name": "Ndinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AUD": {
+ "name": "Ndola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Ndola ya Kanada",
+ "symbol": "CA$"
+ },
+ "USD": {
+ "name": "Ndola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Ndola ya Namibia",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Silingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Silingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Silingi ya Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Silingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "EGP": {
+ "name": "Vaundi ya Misili",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Vaũndi ya Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Vaũndi ya Sudani",
+ "symbol": "SDG"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/kde.json b/library/intl/resources/currency/kde.json
new file mode 100644
index 000000000..108576f07
--- /dev/null
+++ b/library/intl/resources/currency/kde.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Chiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "Faranga ya Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Chijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/kea.json b/library/intl/resources/currency/kea.json
new file mode 100644
index 000000000..efc07ee0f
--- /dev/null
+++ b/library/intl/resources/currency/kea.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariari di Madagaskar",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "THB": {
+ "name": "Baht tailandes",
+ "symbol": "฿"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir etiopi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar arjelinu",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar di Barain",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinar libiu",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinar tunizianu",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Diren di Emiradus Arabi Unidu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Diren marokinu",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra di Sãu Tume i Prinsipi",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dola australianu",
+ "symbol": "AU$"
+ },
+ "HKD": {
+ "name": "Dola di Ong Kong",
+ "symbol": "HK$"
+ },
+ "CAD": {
+ "name": "Dola kanadianu",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola liberianu",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola merkanu",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola namibianu",
+ "symbol": "NAD"
+ },
+ "TWD": {
+ "name": "Dola Novu di Taiwan",
+ "symbol": "NT$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "BIF": {
+ "name": "Franku borundes",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franku CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franku CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Franku di Djibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Franku di Komoris",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franku kongoles",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Franku ruandes",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franku suisu",
+ "symbol": "CHF"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "JPY": {
+ "name": "Ieni japones",
+ "symbol": "JPÂ¥"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "CNY": {
+ "name": "Iuan xines",
+ "symbol": "CNÂ¥"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "AOA": {
+ "name": "Kuanza",
+ "symbol": "AOA"
+ },
+ "MWK": {
+ "name": "Kuaxa di Malaui",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kuaxa zambianu",
+ "symbol": "ZMW"
+ },
+ "DKK": {
+ "name": "Kuroa dinamarkeza",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "Kuroa norueges",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Kuroa sueku",
+ "symbol": "SEK"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leone di Sera Leoa",
+ "symbol": "SLL"
+ },
+ "SHP": {
+ "name": "Libra di Santa Ilena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra ejipsiu",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra sterlina britaniku",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "Libra sudanes",
+ "symbol": "SDG"
+ },
+ "SZL": {
+ "name": "Lilanjeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turku",
+ "symbol": "TRY"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti di Lezotu",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "Nafka di Eritreia",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "Naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "MRO": {
+ "name": "Ougia",
+ "symbol": "MRO"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "MXN": {
+ "name": "Pezu mexikanu",
+ "symbol": "MX$"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "BWP": {
+ "name": "Pula di Botsuana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Rand sulafrikanu",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Rial brazileru",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "Rublu rusu",
+ "symbol": "RUB"
+ },
+ "MUR": {
+ "name": "Rupia di Maurisias",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia di Seixelis",
+ "symbol": "SCR"
+ },
+ "INR": {
+ "name": "Rupia indianu",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indoneziu",
+ "symbol": "IDR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "CVE": {
+ "name": "Skudu Kabuverdianu",
+ "symbol": "​"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "Won sul-koreanu",
+ "symbol": "â‚©"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "TZS": {
+ "name": "Xelin di Tanzania",
+ "symbol": "TZS"
+ },
+ "KES": {
+ "name": "Xelin kenianu",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelin somalianu",
+ "symbol": "SOS"
+ },
+ "UGX": {
+ "name": "Xelin ugandensi",
+ "symbol": "UGX"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "PLN": {
+ "name": "Zloty polaku",
+ "symbol": "PLN"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/khq.json b/library/intl/resources/currency/khq.json
new file mode 100644
index 000000000..c75824e61
--- /dev/null
+++ b/library/intl/resources/currency/khq.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alžeeri Dinar",
+ "symbol": "DZD"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "USD": {
+ "name": "Ameriki Dollar",
+ "symbol": "US$"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "Angoola Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BHD": {
+ "name": "Bahareen Dinar",
+ "symbol": "BHD"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "Botswaana Pund",
+ "symbol": "BWP"
+ },
+ "GBP": {
+ "name": "Britin Pund",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "Burundi Fraŋ",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "XOF": {
+ "name": "CFA Fraŋ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Fraŋ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "ETB": {
+ "name": "Ecioopi Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Eero",
+ "symbol": "€"
+ },
+ "ERN": {
+ "name": "Eritree Nafka",
+ "symbol": "ERN"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambi Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "ZAR": {
+ "name": "Hawasa Afriki Rand",
+ "symbol": "ZAR"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Indu Rupii",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JPY": {
+ "name": "Jaapoŋ Yen",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "Jibuuti Fraŋ",
+ "symbol": "DJF"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CAD": {
+ "name": "Kanaada Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kapuver Escudo",
+ "symbol": "CVE"
+ },
+ "KES": {
+ "name": "Keeniya Šiiliŋ",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "Komoor Fraŋ",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo Fraŋ",
+ "symbol": "CDF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "AED": {
+ "name": "Laaraw Immaara Margantey Dirham",
+ "symbol": "AED"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leeon",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "Leezoto Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberia Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Liibi Dinar",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MAD": {
+ "name": "Maarok Dirham",
+ "symbol": "MAD"
+ },
+ "MWK": {
+ "name": "Malaawi Kwaca",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "Malgaaši Fraŋ",
+ "symbol": "MGA"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "EGP": {
+ "name": "Misra Pund",
+ "symbol": "EGP"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MUR": {
+ "name": "Mooris Rupii",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mooritaani Ugiya",
+ "symbol": "MRO"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naajiriya Neera",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "Naamibi Dollar",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "AUD": {
+ "name": "Ostraali Dollar",
+ "symbol": "A$"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwanda Fraŋ",
+ "symbol": "RWF"
+ },
+ "STD": {
+ "name": "Sao Tome nda Prinsipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudiya Riyal",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "Seešel Rupii",
+ "symbol": "SCR"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SHP": {
+ "name": "Seŋ Helena Fraŋ",
+ "symbol": "SHP"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "CNY": {
+ "name": "Sinwa Yuan Renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "SOS": {
+ "name": "Somaali Šiiliŋ",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "Suudaŋ Dinar",
+ "symbol": "SDG"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "CHF": {
+ "name": "Swisu Fraŋ",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "TZS": {
+ "name": "Tanzaani Šiiliŋ",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunizi Dinar",
+ "symbol": "TND"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "Uganda Šiiliŋ",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambi Kwaca",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ki.json b/library/intl/resources/currency/ki.json
new file mode 100644
index 000000000..a2b41bced
--- /dev/null
+++ b/library/intl/resources/currency/ki.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "SOS": {
+ "name": "ciringi cia cumarĩ",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "ciringi cia Tanizania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "ciringi cia Ũganda",
+ "symbol": "UGX"
+ },
+ "KES": {
+ "name": "Ciringi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "GBP": {
+ "name": "Mbauini cia Ngeretha",
+ "symbol": "£"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "USD": {
+ "name": "Ndora cia Amerika",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Ndora ya Kananda",
+ "symbol": "CA$"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani",
+ "symbol": "SDG"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rubia rwa India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/kk.json b/library/intl/resources/currency/kk.json
new file mode 100644
index 000000000..3a2e18c7f
--- /dev/null
+++ b/library/intl/resources/currency/kk.json
@@ -0,0 +1,634 @@
+{
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AUD": {
+ "name": "ÐвÑÑ‚Ñ€Ð°Ð»Ð¸Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ñ‹",
+ "symbol": "A$"
+ },
+ "USD": {
+ "name": "ÐҚШ доллары",
+ "symbol": "$"
+ },
+ "ALL": {
+ "name": "ÐÐ»Ð±Ð°Ð½Ð¸Ñ Ð»ÐµÐºÑ–",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Ðлжир динары",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Ðнгола кванзаÑÑ‹",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Ðргентина пеÑоÑÑ‹",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "ÐÑ€Ð¼ÐµÐ½Ð¸Ñ Ð´Ñ€Ð°Ð¼Ñ‹",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Ðрубан флоринÑÑ‹",
+ "symbol": "AWG"
+ },
+ "AFN": {
+ "name": "ÐуғаныÑтан афганиі",
+ "symbol": "AFN"
+ },
+ "AZN": {
+ "name": "Әзірбайжан манаты",
+ "symbol": "AZN"
+ },
+ "SHP": {
+ "name": "Әулие Елена аралы фунты",
+ "symbol": "SHP"
+ },
+ "BSD": {
+ "name": "Багам доллары",
+ "symbol": "BSD"
+ },
+ "BDT": {
+ "name": "Бангладеш такаÑÑ‹",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Ð‘Ð°Ñ€Ð±Ð°Ð´Ð¾Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ñ‹",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "Бахрейн динары",
+ "symbol": "BHD"
+ },
+ "BYR": {
+ "name": "Ð‘ÐµÐ»Ð°Ñ€ÑƒÑ Ñ€ÑƒÐ±Ð»Ñ–",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Белиз доллары",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Бермуд доллары",
+ "symbol": "БД"
+ },
+ "BGN": {
+ "name": "Болгар леві",
+ "symbol": "BGN"
+ },
+ "BOB": {
+ "name": "Ð‘Ð¾Ð»Ð¸Ð²Ð¸Ñ Ð±Ð¾Ð»Ð¸Ð²Ð¸Ð°Ð½Ð¾ÑÑ‹",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "БоÑÐ½Ð¸Ñ Ð¶Ó™Ð½Ðµ Герцеговина айырбаÑталмалы маркаÑÑ‹",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "БотÑвана пулаÑÑ‹",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Ð‘Ñ€Ð°Ð·Ð¸Ð»Ð¸Ñ Ñ€ÐµÐ°Ð»Ñ‹",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Ð‘Ñ€Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½Ñ‚Ñ‹",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Бруней доллары",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "Бурунди франкы",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "Бутан нгултрумы",
+ "symbol": "BTN"
+ },
+ "VUV": {
+ "name": "Вануату ватуы",
+ "symbol": "VUV"
+ },
+ "HUF": {
+ "name": "Венгер форинты",
+ "symbol": "HUF"
+ },
+ "VEF": {
+ "name": "ВенеÑуÑла боливары",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Вьетнам донгы",
+ "symbol": "â‚«"
+ },
+ "HTG": {
+ "name": "Гаити гурды",
+ "symbol": "HTG"
+ },
+ "GYD": {
+ "name": "Гайана доллары",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "Ð“Ð°Ð¼Ð±Ð¸Ñ Ð´Ð°Ð»Ð°Ñиі",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Гана Ñедиі",
+ "symbol": "GHS"
+ },
+ "GTQ": {
+ "name": "Гватемала кетÑалі",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Гвиней франкы",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "Гибралтар фунты",
+ "symbol": "GIP"
+ },
+ "HNL": {
+ "name": "Ð“Ð¾Ð½Ð´ÑƒÑ€Ð°Ñ Ð»ÐµÐ¼Ð¿Ð¸Ñ€Ð°cÑ‹",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Гонконг доллары",
+ "symbol": "HK$"
+ },
+ "GEL": {
+ "name": "Ð“Ñ€ÑƒÐ·Ð¸Ñ Ð»Ð°Ñ€Ð¸Ñ–",
+ "symbol": "GEL"
+ },
+ "DKK": {
+ "name": "Дат кроны",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Джибути франкы",
+ "symbol": "DJF"
+ },
+ "AED": {
+ "name": "Дихрам (БÐЭ)",
+ "symbol": "AED"
+ },
+ "DOP": {
+ "name": "Доминикан пеÑоÑÑ‹",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Еуро",
+ "symbol": "€"
+ },
+ "NZD": {
+ "name": "Жаңа Ð—ÐµÐ»Ð°Ð½Ð´Ð¸Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ñ‹",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "Жаңа Тайван доллары",
+ "symbol": "NT$"
+ },
+ "JPY": {
+ "name": "Жапон иені",
+ "symbol": "JPÂ¥"
+ },
+ "ZMW": {
+ "name": "Ð—Ð°Ð¼Ð±Ð¸Ñ ÐºÐ²Ð°Ñ‡Ð°ÑÑ‹",
+ "symbol": "ZMW"
+ },
+ "ILS": {
+ "name": "Израиль жаңа шекелі",
+ "symbol": "₪"
+ },
+ "IDR": {
+ "name": "Ð˜Ð½Ð´Ð¾Ð½ÐµÐ·Ð¸Ñ Ñ€ÑƒÐ¿Ð¸Ñ–",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Ирак динары",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Иран риалы",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ИÑÐ»Ð°Ð½Ð´Ð¸Ñ ÐºÑ€Ð¾Ð½Ð°ÑÑ‹",
+ "symbol": "ISK"
+ },
+ "YER": {
+ "name": "Йемен риалы",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Ð™Ð¾Ñ€Ð´Ð°Ð½Ð¸Ñ Ð´Ð¸Ð½Ð°Ñ€Ñ‹",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Кабо-Верде ÑÑкудоÑÑ‹",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Кайман аралдары доллары",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "Камбоджа риелі",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Канада доллары",
+ "symbol": "КД$"
+ },
+ "QAR": {
+ "name": "Катар риалы",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "ÐšÐµÐ½Ð¸Ñ ÑˆÐ¸Ð»Ð»Ð¸Ð½Ð³Ñ–",
+ "symbol": "KES"
+ },
+ "COP": {
+ "name": "ÐšÐ¾Ð»ÑƒÐ¼Ð±Ð¸Ñ Ð¿ÐµÑоÑÑ‹",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Комор аралдары франкы",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Конго франкы",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "КоÑта-рика колоны",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "Куба айырбаÑталмалы пеÑоÑÑ‹",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Куба пеÑоÑÑ‹",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "Кувейт динары",
+ "symbol": "KWD"
+ },
+ "XAF": {
+ "name": "КФРВЕÐС франкы",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "КФРВСЕÐО франкы",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "КФП франкы",
+ "symbol": "CFPF"
+ },
+ "KZT": {
+ "name": "ҚазақÑтан теңгеÑÑ–",
+ "symbol": "₸"
+ },
+ "KGS": {
+ "name": "ҚырғызÑтан Ñомы",
+ "symbol": "KGS"
+ },
+ "CNY": {
+ "name": "Қытай юаны",
+ "symbol": "CNÂ¥"
+ },
+ "LAK": {
+ "name": "Ð›Ð°Ð¾Ñ ÐºÐ¸Ð¿Ñ–",
+ "symbol": "LAK"
+ },
+ "LRD": {
+ "name": "Ð›Ð¸Ð±ÐµÑ€Ð¸Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ñ‹",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "Ливан фунты",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "Ð›Ð¸Ð²Ð¸Ñ Ð´Ð¸Ð½Ð°Ñ€Ñ‹",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Литва литы",
+ "symbol": "LTL"
+ },
+ "MUR": {
+ "name": "Маврикий рупиÑÑÑ‹",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "ÐœÐ°Ð²Ñ€Ð¸Ñ‚Ð°Ð½Ð¸Ñ ÑƒÐ³Ð¸ÑÑÑ‹",
+ "symbol": "MRO"
+ },
+ "MOP": {
+ "name": "Макао патакаÑÑ‹",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "ÐœÐ°ÐºÐµÐ´Ð¾Ð½Ð¸Ñ Ð´Ð¸Ð½Ð°Ñ€Ñ‹",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "Малави квачаÑÑ‹",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "МалагаÑи ариариы",
+ "symbol": "MGA"
+ },
+ "MYR": {
+ "name": "ÐœÐ°Ð»Ð°Ð¹Ð·Ð¸Ñ Ñ€Ð¸Ð½Ð³Ð³Ð¸Ñ‚Ñ–",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Мальдив руфиÑÑÑ‹",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Марокко дирхамы",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "МекÑика пеÑÑоÑÑ‹",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "Мозамбик метикалы",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "Молдава лейі",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "ÐœÐ¾Ò£Ò“Ð¾Ð»Ð¸Ñ Ñ‚ÑƒÐ³Ñ€Ð¸ÐºÐ°ÑÑ‹",
+ "symbol": "MNT"
+ },
+ "EGP": {
+ "name": "МыÑÑ‹Ñ€ фунты",
+ "symbol": "EGP"
+ },
+ "MMK": {
+ "name": "МьÑнма кьÑÑ‚Ñ‹",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "ÐÐ°Ð¼Ð¸Ð±Ð¸Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ñ‹",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Ðепал рупиі",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ÐÐ¸Ð³ÐµÑ€Ð¸Ñ Ð½Ð°Ð¹Ñ€Ð°ÑÑ‹",
+ "symbol": "NGN"
+ },
+ "ANG": {
+ "name": "Ðидерланд антиль гульдені",
+ "symbol": "ANG"
+ },
+ "NIO": {
+ "name": "Ðикарагуа кордобаÑÑ‹",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "ÐÐ¾Ñ€Ð²ÐµÐ³Ð¸Ñ ÐºÑ€Ð¾Ð½Ñ‹",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Оман риалы",
+ "symbol": "OMR"
+ },
+ "ZAR": {
+ "name": "ОңтүÑтік Ðфрика Ñ€Ñнді",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "ОңтүÑтік ÐšÐ¾Ñ€ÐµÑ Ð²Ð¾Ð½Ñ‹",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "ОңтүÑтік Судан фунты",
+ "symbol": "SSP"
+ },
+ "UZS": {
+ "name": "ӨзбекÑтан Ñомы",
+ "symbol": "UZS"
+ },
+ "PAB": {
+ "name": "Панама бальбоаÑÑ‹",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Папуа - Жаңа Ð“Ð²Ð¸Ð½ÐµÑ ÐºÐ¸Ð½Ð°ÑÑ‹",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Парагвай гуараниі",
+ "symbol": "PYG"
+ },
+ "PKR": {
+ "name": "ПәкіÑтан рупиі",
+ "symbol": "PKR"
+ },
+ "PEN": {
+ "name": "Перу жаңа Ñолі",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Польша злотаÑÑ‹",
+ "symbol": "PLN"
+ },
+ "RUB": {
+ "name": "РеÑей рубль",
+ "symbol": "руб."
+ },
+ "RWF": {
+ "name": "Руанда франкы",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Ð ÑƒÐ¼Ñ‹Ð½Ð¸Ñ Ð»ÐµÐ¹Ñ–",
+ "symbol": "RON"
+ },
+ "WST": {
+ "name": "Самоа талаÑÑ‹",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Сант-Томе мен ПринÑипи добраÑÑ‹",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Сауд ÐÑ€Ð°Ð±Ð¸Ñ Ñ€Ð¸Ð°Ð»Ñ‹",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "Свазиленд лилангениі",
+ "symbol": "SZL"
+ },
+ "SCR": {
+ "name": "Сейшель рупиÑÑÑ‹",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "Ð¡ÐµÑ€Ð±Ð¸Ñ Ð´Ð¸Ð½Ð°Ñ€Ñ‹",
+ "symbol": "RSD"
+ },
+ "SGD": {
+ "name": "Сингапур доллары",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "Ð¡Ð¸Ñ€Ð¸Ñ Ñ„ÑƒÐ½Ñ‚Ñ‹",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "Соломон аралдары доллары",
+ "symbol": "SBD"
+ },
+ "KPW": {
+ "name": "СолтүÑтік ÐšÐ¾Ñ€ÐµÑ Ð²Ð¾Ð½Ñ‹",
+ "symbol": "KPW"
+ },
+ "SOS": {
+ "name": "Сомали шиллингі",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "Судан фунты",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Суринам доллары",
+ "symbol": "SRD"
+ },
+ "SLL": {
+ "name": "Сьерра-Леоне леонеÑÑ‹",
+ "symbol": "SLL"
+ },
+ "THB": {
+ "name": "Тай баты",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "Ð¢Ð°Ð½Ð·Ð°Ð½Ð¸Ñ ÑˆÐ¸Ð»Ð»Ð¸Ð½Ð³Ñ–",
+ "symbol": "TZS"
+ },
+ "TJS": {
+ "name": "ТәжікÑтан Ñомониі",
+ "symbol": "TJS"
+ },
+ "TOP": {
+ "name": "Тонга паангаÑÑ‹",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Тринидад пен Тобаго доллары",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Ð¢ÑƒÐ½Ð¸Ñ Ð´Ð¸Ð½Ð°Ñ€Ñ‹",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Түрік лираÑÑ‹",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "ТүрікменÑтан манаты",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Уганда шиллингі",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Украина гривнаÑÑ‹",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "Уругвай пеÑоÑÑ‹",
+ "symbol": "UYU"
+ },
+ "INR": {
+ "name": "Үнді рупиÑÑÑ‹",
+ "symbol": "₹"
+ },
+ "FJD": {
+ "name": "Фиджи доллары",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Филиппин пеÑоÑÑ‹",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "Фолкленд аралдарының фунты",
+ "symbol": "FKP"
+ },
+ "HRK": {
+ "name": "Ð¥Ð¾Ñ€Ð²Ð°Ñ‚Ð¸Ñ ÐºÑƒÐ½Ð°ÑÑ‹",
+ "symbol": "HRK"
+ },
+ "CZK": {
+ "name": "Чех кронаÑÑ‹",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "Чили пеÑоÑÑ‹",
+ "symbol": "CLP"
+ },
+ "SEK": {
+ "name": "Швед кроны",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Ð¨Ð²ÐµÐ¹Ñ†Ð°Ñ€Ð¸Ñ Ñ„Ñ€Ð°Ð½ÐºÑ‹",
+ "symbol": "CHF"
+ },
+ "LKR": {
+ "name": "Шри-Ланка рупиÑÑÑ‹",
+ "symbol": "LKR"
+ },
+ "XCD": {
+ "name": "Ð¨Ñ‹Ò“Ñ‹Ñ ÐšÐ°Ñ€Ð¸Ð± доллары",
+ "symbol": "EC$"
+ },
+ "ERN": {
+ "name": "Эритрей накфаÑÑ‹",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ð­Ñ„Ð¸Ð¾Ð¿Ð¸Ñ Ð±Ñ‹Ñ€Ñ‹",
+ "symbol": "ETB"
+ },
+ "JMD": {
+ "name": "Ямайка доллары",
+ "symbol": "JMD"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/kl.json b/library/intl/resources/currency/kl.json
new file mode 100644
index 000000000..203a4485e
--- /dev/null
+++ b/library/intl/resources/currency/kl.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "danmarkimut koruuni",
+ "symbol": "kr."
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "INR",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "norskit koruuni",
+ "symbol": "Nkr"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SEK": {
+ "name": "svenskit koruuni",
+ "symbol": "Skr"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/kln.json b/library/intl/resources/currency/kln.json
new file mode 100644
index 000000000..f9a2db672
--- /dev/null
+++ b/library/intl/resources/currency/kln.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "AUD": {
+ "name": "Dolaitab Australian",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dolaitab Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dolaitab Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dolaitab Namibia",
+ "symbol": "NAD"
+ },
+ "USD": {
+ "name": "Dolaitab ya Amareka",
+ "symbol": "US$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "ZMW": {
+ "name": "Kwachaitab Zambia",
+ "symbol": "ZMW"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leonit",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangenit",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauditab Misri",
+ "symbol": "EGP"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "SHP": {
+ "name": "Pouditab helena ne tilil",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Pouditab Sudan",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "pounditab Uingereza",
+ "symbol": "£"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "DZD": {
+ "name": "Rabisiekab Algerian",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Rabisiekab Angolan",
+ "symbol": "AOA"
+ },
+ "BHD": {
+ "name": "Rabisiekab Bahrain",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "Rabisiekab Botswana",
+ "symbol": "BWP"
+ },
+ "BIF": {
+ "name": "Rabisiekab Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Rabisiekab CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Rabisiekab CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "Rabisiekab China",
+ "symbol": "CNÂ¥"
+ },
+ "CDF": {
+ "name": "Rabisiekab Congo",
+ "symbol": "CDF"
+ },
+ "ERN": {
+ "name": "Rabisiekab Eritrea",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Rabisiekab Ethiopia",
+ "symbol": "ETB"
+ },
+ "GMD": {
+ "name": "Rabisiekab Gambia",
+ "symbol": "GMD"
+ },
+ "INR": {
+ "name": "Rabisiekab India",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "Rabisiekab Japan",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "Rabisiekab Jibuti",
+ "symbol": "DJF"
+ },
+ "CVE": {
+ "name": "Rabisiekab Kepuvede",
+ "symbol": "CVE"
+ },
+ "AED": {
+ "name": "Rabisiekab Kibagegeitab arabuk",
+ "symbol": "AED"
+ },
+ "KMF": {
+ "name": "Rabisiekab Komoro",
+ "symbol": "KMF"
+ },
+ "LSL": {
+ "name": "Rabisiekab Lesoto",
+ "symbol": "LSL"
+ },
+ "LYD": {
+ "name": "Rabisiekab Libya",
+ "symbol": "LYD"
+ },
+ "MGA": {
+ "name": "Rabisiekab Malagasy",
+ "symbol": "MGA"
+ },
+ "MRO": {
+ "name": "Rabisiekab Mauritania",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Rabisiekab Mauritius",
+ "symbol": "MUR"
+ },
+ "MAD": {
+ "name": "Rabisiekab Moroccan",
+ "symbol": "MAD"
+ },
+ "NGN": {
+ "name": "Rabisiekab Nigeria",
+ "symbol": "NGN"
+ },
+ "RWF": {
+ "name": "Rabisiekab Rwanda",
+ "symbol": "RWF"
+ },
+ "STD": {
+ "name": "Rabisiekab Sao Tome ak Principe",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Rabisiekab Saudia",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Rabisiekab Shelisheli",
+ "symbol": "SCR"
+ },
+ "CHF": {
+ "name": "Rabisiekab Swiss",
+ "symbol": "CHF"
+ },
+ "TND": {
+ "name": "RabisiekabTunisia",
+ "symbol": "TND"
+ },
+ "MWK": {
+ "name": "Rabisiekaby Malawi",
+ "symbol": "MWK"
+ },
+ "ZAR": {
+ "name": "Randitab Afrika nebo murot tai",
+ "symbol": "ZAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "siligitab Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "silingitab Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Silingitab Uganda",
+ "symbol": "UGX"
+ },
+ "KES": {
+ "name": "Silingitab ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "Yuroit",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/km.json b/library/intl/resources/currency/km.json
new file mode 100644
index 000000000..037654774
--- /dev/null
+++ b/library/intl/resources/currency/km.json
@@ -0,0 +1,634 @@
+{
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "CZK": {
+ "name": "កូរុណា​សាធារណៈ​ឆáŸáž€",
+ "symbol": "CZK"
+ },
+ "CRC": {
+ "name": "កូឡុង​កូស្ážáž¶ážšáž¸áž€áž¶",
+ "symbol": "CRC"
+ },
+ "SEK": {
+ "name": "ក្រូណា​ស៊ុយអែáž",
+ "symbol": "SEK"
+ },
+ "ISK": {
+ "name": "ក្រូណា​អ៊ីស្លង់",
+ "symbol": "ISK"
+ },
+ "DKK": {
+ "name": "ក្រូណáŸâ€‹ážŠáž¶ážŽáž¶áž˜áŸ‰áž¶áž€áŸ‹",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "ក្រូណáŸâ€‹áž“áŸážšážœáŸ‰áŸ",
+ "symbol": "NOK"
+ },
+ "MWK": {
+ "name": "ក្វាចា​ម៉ាឡាវី",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "ក្វាចា​សំប៊ី",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "ក្វាន់ហ្សា​អង់ហ្គោឡា",
+ "symbol": "AOA"
+ },
+ "NIO": {
+ "name": "ážážŒáž¼áž”ា​នីការ៉ាហ្គា",
+ "symbol": "NIO"
+ },
+ "PGK": {
+ "name": "គីណា​ប៉ាពូនូហ្គីណáŸ",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "គីប​ឡាវ",
+ "symbol": "LAK"
+ },
+ "MMK": {
+ "name": "គីយ៉ាážâ€‹áž—ូមា",
+ "symbol": "MMK"
+ },
+ "HRK": {
+ "name": "គូណា​ក្រូអាáž",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "គោឌី​ហៃទី",
+ "symbol": "HTG"
+ },
+ "BTN": {
+ "name": "ញូលážáŸ’រឹម​ប៊ូážáž„់",
+ "symbol": "BTN"
+ },
+ "PEN": {
+ "name": "ញូវ៉ូសូល​ប៉áŸážšáž¼",
+ "symbol": "PEN"
+ },
+ "GMD": {
+ "name": "ដាឡាស៊ី​ហ្គំប៊ី",
+ "symbol": "GMD"
+ },
+ "VND": {
+ "name": "ដុង​វៀážážŽáž¶áž˜",
+ "symbol": "â‚«"
+ },
+ "CAD": {
+ "name": "ដុល្លារ​កាណាដា",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "ដុល្លារ​ការ៉ាប៊ីន​ážáž¶áž„​កើáž",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "ដុល្លារ​កោះ​កៃម៉ែន",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "ដុល្លារ​កោះ​សូឡូម៉ុង",
+ "symbol": "SBD"
+ },
+ "NAD": {
+ "name": "ដុល្លារ​ណាមីប៊ី",
+ "symbol": "NAD"
+ },
+ "TWD": {
+ "name": "ដុល្លារ​ážáŸƒážœáŸ‰áž¶áž“់",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "ដុល្លារ​ទ្រីនីដាដ áž“áž·áž„ážáž¼áž”ាហ្គោ",
+ "symbol": "TTD"
+ },
+ "NZD": {
+ "name": "ដុល្លារ​នូវែលសáŸáž¡áž„់",
+ "symbol": "NZ$"
+ },
+ "BBD": {
+ "name": "ដុល្លារ​បាបាដុស",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "ដុល្លារ​បាហាម៉ា",
+ "symbol": "BSD"
+ },
+ "BMD": {
+ "name": "ដុល្លារ​ប៊ឺមុយដា",
+ "symbol": "BMD"
+ },
+ "BZD": {
+ "name": "ដុល្លារ​បáŸáž›áž¸",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "ដុល្លារ​ប្រុយណáŸ",
+ "symbol": "BND"
+ },
+ "LRD": {
+ "name": "ដុល្លារ​លីប៊ី",
+ "symbol": "LRD"
+ },
+ "SGD": {
+ "name": "ដុល្លារ​​សិង្ហបូរី",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "ដុល្លារ​សូរីណាម",
+ "symbol": "SRD"
+ },
+ "HKD": {
+ "name": "ដុល្លារ​ហុងកុង",
+ "symbol": "HK$"
+ },
+ "GYD": {
+ "name": "ដុល្លារ​ហ្គីយ៉ាន",
+ "symbol": "GYD"
+ },
+ "FJD": {
+ "name": "ដុល្លារ​ហ្វីជី",
+ "symbol": "FJD"
+ },
+ "JMD": {
+ "name": "ដុល្លារ​ហ្សាម៉ាអ៊ីក",
+ "symbol": "JMD"
+ },
+ "USD": {
+ "name": "ដុល្លារ​អាមáŸážšáž·áž€",
+ "symbol": "$"
+ },
+ "AUD": {
+ "name": "ដុល្លារ​អូស្ážáŸ’រាលី",
+ "symbol": "A$"
+ },
+ "AMD": {
+ "name": "ដ្រាំ​អាមáŸáž“ី",
+ "symbol": "AMD"
+ },
+ "KWD": {
+ "name": "ឌីណា​គុយវ៉ែáž",
+ "symbol": "KWD"
+ },
+ "TND": {
+ "name": "ឌីណា​ទុយនីស៊ី",
+ "symbol": "TND"
+ },
+ "BHD": {
+ "name": "ឌីណា​បារ៉ែន",
+ "symbol": "BHD"
+ },
+ "MKD": {
+ "name": "ឌីណា​ម៉ាសáŸážŠáŸ’វាន",
+ "symbol": "MKD"
+ },
+ "LYD": {
+ "name": "ឌីណា​លីប៊ី",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "ឌីណា​សើប",
+ "symbol": "RSD"
+ },
+ "JOD": {
+ "name": "ឌីណា​ហ្ស៊កដានី",
+ "symbol": "JOD"
+ },
+ "DZD": {
+ "name": "ឌីណា​អាល់ស៊áŸážšáž¸",
+ "symbol": "DZD"
+ },
+ "IQD": {
+ "name": "ឌីណា​អ៊ីរ៉ាក់",
+ "symbol": "IQD"
+ },
+ "STD": {
+ "name": "ឌូប្រា​សៅážáž¼áž˜áŸ‰áŸ និងប្រាំងស៊ីប",
+ "symbol": "STD"
+ },
+ "MAD": {
+ "name": "ឌៀរហាំ​ម៉ារ៉ុក",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "ឌៀរហាំ​អáŸáž˜áž¸ážšáŸ‰áž¶ážáž¢áž¶ážšáŸ‰áž¶áž”់រួម",
+ "symbol": "AED"
+ },
+ "ERN": {
+ "name": "ណាក់ហ្វា​អáŸážšáž¸ážáŸ’ážšáŸ",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "ណៃរ៉ា​នីហ្សáŸážšáž¸áž™áŸ‰áž¶",
+ "symbol": "NGN"
+ },
+ "KZT": {
+ "name": "ážáž„់ហ្គី​កាហ្សាក់ស្ážáž¶áž“",
+ "symbol": "KZT"
+ },
+ "BDT": {
+ "name": "ážáž¶áž€áž¶â€‹áž”ង់ក្លាដែស",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "ážáž¶áž¡áž¶â€‹ážŸáž¶áž˜áŸážš",
+ "symbol": "WST"
+ },
+ "MNT": {
+ "name": "ទូរីក​ម៉ុងហ្គោលី",
+ "symbol": "MNT"
+ },
+ "ETB": {
+ "name": "ប៊áŸážšâ€‹áž¢áŸážáŸ’យូពី",
+ "symbol": "ETB"
+ },
+ "THB": {
+ "name": "បាážâ€‹ážáŸƒ",
+ "symbol": "฿"
+ },
+ "MOP": {
+ "name": "ប៉ាážáž¶áž€áž¶â€‹áž˜áŸ‰áž¶áž€áž¶ážœ",
+ "symbol": "MOP"
+ },
+ "PAB": {
+ "name": "បាល់ប៉ៅ​ប៉ាណាម៉ា",
+ "symbol": "PAB"
+ },
+ "TOP": {
+ "name": "ប៉ាអង់កា​ážáž»áž„ហ្គា",
+ "symbol": "TOP"
+ },
+ "MXN": {
+ "name": "ប៉ីហ្សូ​ម៉ិកស៉ិក",
+ "symbol": "MX$"
+ },
+ "COP": {
+ "name": "ប៉ឺហ្សូ​កូឡុំប៊ី",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "ប៉ឺហ្សូ​គុយបា",
+ "symbol": "CUP"
+ },
+ "DOP": {
+ "name": "ប៉ឺហ្សូ​ដូមីនីក",
+ "symbol": "DOP"
+ },
+ "CLP": {
+ "name": "ប៉ឺហ្សូ​ស៊ីលី",
+ "symbol": "CLP"
+ },
+ "PHP": {
+ "name": "ប៉ឺហ្សូ​ហ្វីលីពីន",
+ "symbol": "PHP"
+ },
+ "CUC": {
+ "name": "ប៉ឺហ្សូ​អាច​បម្លែង​បាន​គុយបា",
+ "symbol": "CUC"
+ },
+ "ARS": {
+ "name": "ប៉ឺហ្សូ​អាហ្សង់ទីន",
+ "symbol": "ARS"
+ },
+ "UYU": {
+ "name": "ប៉ឺហ្សូអ៊ុយរូហ្គាយ",
+ "symbol": "UYU"
+ },
+ "VEF": {
+ "name": "ប៊ូលីវ៉ា​វ៉áŸážŽáŸážŸáŸŠáž»áž™áž¢áŸáž¡áž¶",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "បូលីវីណូ​បូលីវី",
+ "symbol": "BOB"
+ },
+ "FKP": {
+ "name": "ផោន​កោះ​ហ្វក់ឡែន",
+ "symbol": "FKP"
+ },
+ "LBP": {
+ "name": "ផោន​លីបង់",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "ផោន​ស៊ីរី",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "ផោន​ស៊ូដង់",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "ផោន​ស៊ូដង់​ážáž¶áž„​ážáŸ’បូង",
+ "symbol": "SSP"
+ },
+ "SHP": {
+ "name": "ផោន​សាំងហáŸáž¡áŸážŽáž¶",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "ផោនស្ទែរលិញ​ចក្រភព​អង់គ្លáŸážŸ",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "ផោន​ហ្ស៊ីប្រាល់ážáž¶",
+ "symbol": "GIP"
+ },
+ "EGP": {
+ "name": "ផោន​​អáŸáž áŸ’សីប",
+ "symbol": "EGP"
+ },
+ "BWP": {
+ "name": "ពូឡា​បុážážŸáŸ’វាណា",
+ "symbol": "BWP"
+ },
+ "BAM": {
+ "name": "ម៉ាក​អាច​បម្លែង​បាន​បូស្នី",
+ "symbol": "BAM"
+ },
+ "TMT": {
+ "name": "ម៉ាណាážâ€‹ážáž½áž€áž˜áŸ‰áŸáž“ីស្ážáž¶áž“",
+ "symbol": "TMT"
+ },
+ "AZN": {
+ "name": "ម៉ាណាážâ€‹áž¢áž¶ážŸáŸŠáŸ‚បៃហ្សង់",
+ "symbol": "AZN"
+ },
+ "MZN": {
+ "name": "មីទីážáž›â€‹áž˜áŸ‰áž¼ážŸáŸ†áž”៊ិក",
+ "symbol": "MZN"
+ },
+ "CNY": {
+ "name": "យ៉ន់​ចិន",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "áž™áŸáž“​ជប៉ុន",
+ "symbol": "JPÂ¥"
+ },
+ "ZAR": {
+ "name": "រ៉ង់​អាព្រិក​ážáž¶áž„​ážáŸ’បូង",
+ "symbol": "ZAR"
+ },
+ "MYR": {
+ "name": "រីងហ្គីážâ€‹áž˜áŸ‰áž¶áž¡áŸážŸáŸŠáž¸",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "រីយ៉ាល​អារ៉ាប៊ីសាអូឌីáž",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "រ៉ូបល​បáŸáž¡áž¶ážšáž»ážŸ",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "រ៉ូបល​រុស្ស៊ី",
+ "symbol": "RUB"
+ },
+ "NPR": {
+ "name": "រ៉ូពី​នáŸáž”៉ាល់",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "រ៉ូពី​ប៉ាគីស្ážáž¶áž“",
+ "symbol": "PKR"
+ },
+ "MUR": {
+ "name": "រ៉ូពី​ម៉ូរីážáž¶áž“ី",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "រ៉ូពី​សីស្ហែល",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "រ៉ូពី​ស្រីលង្ការ",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "រ៉ូពី​ឥណ្ឌា",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "រ៉ូពីឥណ្ឌូណáŸážŸáŸŠáž¸",
+ "symbol": "IDR"
+ },
+ "MVR": {
+ "name": "រ៉ូហ្វីយ៉ា​ម៉ាល់ឌីវ",
+ "symbol": "MVR"
+ },
+ "KHR": {
+ "name": "រៀល​កម្ពុជា",
+ "symbol": "៛"
+ },
+ "QAR": {
+ "name": "រៀល​កាážáž¶",
+ "symbol": "QAR"
+ },
+ "BRL": {
+ "name": "រៀល​ប្រáŸážŸáŸŠáž¸áž›",
+ "symbol": "R$"
+ },
+ "YER": {
+ "name": "រៀល​យáŸáž˜áŸ‰áŸ‚áž“",
+ "symbol": "YER"
+ },
+ "OMR": {
+ "name": "រៀល​រូម៉ានី",
+ "symbol": "OMR"
+ },
+ "IRR": {
+ "name": "រៀល​អ៊ីរ៉ង់",
+ "symbol": "IRR"
+ },
+ "ALL": {
+ "name": "លិក​អាល់បានី",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "លិមពីរ៉ា​ហុងឌូរ៉ាស",
+ "symbol": "HNL"
+ },
+ "LTL": {
+ "name": "លីážáž¶â€‹áž›áž¸áž‘ុយអានី",
+ "symbol": "LTL"
+ },
+ "TRY": {
+ "name": "លីរ៉ា​ទួគី",
+ "symbol": "TRY"
+ },
+ "BGN": {
+ "name": "លីវ​ប៊ុលហ្គារី",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "លីឡាងហ្គីនី​ស្វាស៊ីឡង់",
+ "symbol": "SZL"
+ },
+ "SLL": {
+ "name": "លីអ៊ុន​សៀរ៉ាឡáŸáž¢áž¼áž“",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "លូ​ម៉ុលដាវី",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "លូ​រូម៉ានី",
+ "symbol": "RON"
+ },
+ "VUV": {
+ "name": "វ៉ាទូ​វ៉ានូទូ",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "វូន​កូរ៉áŸâ€‹ážáž¶áž„​ជើង",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "វូន​កូរ៉áŸâ€‹ážáž¶áž„​ážáŸ’បូង",
+ "symbol": "â‚©"
+ },
+ "GHS": {
+ "name": "ស៊ីឌី​ហ្គាណា",
+ "symbol": "GHS"
+ },
+ "KES": {
+ "name": "ស៊ីលិញ​កáŸáž“យ៉ា",
+ "symbol": "KES"
+ },
+ "TZS": {
+ "name": "ស៊ីលិញ​ážáž„់សានី",
+ "symbol": "TZS"
+ },
+ "SOS": {
+ "name": "ស៊ីលិញ​សូម៉ាលី",
+ "symbol": "SOS"
+ },
+ "UGX": {
+ "name": "ស៊ីលិញ​អ៊ូហ្គង់ដា",
+ "symbol": "UGX"
+ },
+ "KGS": {
+ "name": "សុម​កៀហ្ស៊ីស៊ីស្ážáž¶áž“",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "សុម​អ៊ូសបáŸáž‚ីស្ážáž¶áž“",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "សូមុនី​ážáž¶áž áŸ’ស៊ីគីស្ážáž¶áž“",
+ "symbol": "TJS"
+ },
+ "ILS": {
+ "name": "ស្ស៊ីហ្គែល​អ៊ីស្រាអែល",
+ "symbol": "₪"
+ },
+ "UAH": {
+ "name": "ហ៊ូនីយ៉ា​អ៊ុយក្រែន",
+ "symbol": "UAH"
+ },
+ "ANG": {
+ "name": "ហ្គីឌិន​ហុល្លង់​អង់ទីលៀន",
+ "symbol": "ANG"
+ },
+ "GTQ": {
+ "name": "ហ្គីស្សាល​ក្វាážáŸáž˜áŸ‰áž¶áž¡áž¶",
+ "symbol": "GTQ"
+ },
+ "PYG": {
+ "name": "ហ្គូរីនី​ប៉ារ៉ាហ្គាយ",
+ "symbol": "PYG"
+ },
+ "HUF": {
+ "name": "ហ្វូរីន​ហុងគ្រី",
+ "symbol": "HUF"
+ },
+ "XOF": {
+ "name": "ហ្វ្រង់ BCEAO CFA",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "ហ្វ្រង់ BEAC CFA",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "ហ្វ្រង់ CFP",
+ "symbol": "CFPF"
+ },
+ "CHF": {
+ "name": "ហ្វ្រង់ ស្វីស",
+ "symbol": "CHF"
+ },
+ "CDF": {
+ "name": "ហ្វ្រង់​កុងហ្គោ",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "ហ្វ្រង់​កូមáŸážš",
+ "symbol": "KMF"
+ },
+ "DJF": {
+ "name": "ហ្វ្រង់​ជីប៊ូទី",
+ "symbol": "DJF"
+ },
+ "BIF": {
+ "name": "ហ្វ្រង់​ប៊ូរុនឌី",
+ "symbol": "BIF"
+ },
+ "RWF": {
+ "name": "ហ្វ្រង់​រវ៉ាន់ដា",
+ "symbol": "RWF"
+ },
+ "GNF": {
+ "name": "ហ្វ្រង់​ហ្គីណáŸ",
+ "symbol": "GNF"
+ },
+ "AWG": {
+ "name": "ហ្វ្រáŸážšážšáž·áž‰â€‹áž¢áž¶ážšáŸ‰áž¼áž”ា",
+ "symbol": "AWG"
+ },
+ "PLN": {
+ "name": "ហ្សូទី​ប៉ូឡូញ",
+ "symbol": "PLN"
+ },
+ "GEL": {
+ "name": "ឡារី​​ហ្សកហ្ស៊ី",
+ "symbol": "GEL"
+ },
+ "MGA": {
+ "name": "អារៀរី​ម៉ាឡាហ្គាស៊ី",
+ "symbol": "MGA"
+ },
+ "AFN": {
+ "name": "អាហ្វហ្គានី​អាហ្វហ្គានីស្ážáž¶áž“",
+ "symbol": "AFN"
+ },
+ "CVE": {
+ "name": "អ៊ីស្កូឌូ​កាប់វែរ",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "អឺរ៉ូ",
+ "symbol": "€"
+ },
+ "MRO": {
+ "name": "អ៊ូហ្គីយ៉ា​ម៉ូរីážáž¶áž“ី",
+ "symbol": "MRO"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/kn.json b/library/intl/resources/currency/kn.json
new file mode 100644
index 000000000..60a4577be
--- /dev/null
+++ b/library/intl/resources/currency/kn.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "CFA ಫà³à²°à²¾à²‚ಕೠBCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA ಫà³à²°à²¾à²‚ಕೠBEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP ಫà³à²°à²¾à²‚ಕà³",
+ "symbol": "CFPF"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AOA": {
+ "name": "ಅಂಗೋಲಾದ ಕà³à²µà²¾à²¨à³à²à²¾",
+ "symbol": "AOA"
+ },
+ "AZN": {
+ "name": "ಅà²à²°à³â€Œà²¬à³ˆà²œà²¾à²¨à²¿ ಮನಾತà³",
+ "symbol": "AZN"
+ },
+ "AFN": {
+ "name": "ಅಫà³â€Œà²˜à²¨à³ ಅಫಗಾನಿ",
+ "symbol": "AFN"
+ },
+ "USD": {
+ "name": "ಅಮೆರಿಕದ ಡಾಲರà³â€Œ",
+ "symbol": "$"
+ },
+ "AWG": {
+ "name": "ಅರà³à²¬à²¨à³ ಫà³à²²à³Šà²°à³€à²¨à³â€Œâ€Œ",
+ "symbol": "AWG"
+ },
+ "ARS": {
+ "name": "ಅರà³à²œà³†à²‚ಟಿನಾ ಪೆಸೊ",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "ಅರà³à²®à³†à²¨à²¿à²¯à²¨à³ ಡà³à²°à²¾à²®à³",
+ "symbol": "AMD"
+ },
+ "DZD": {
+ "name": "ಅಲà³à²—ೇರಿಯನೠದಿನಾರà³",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "ಅಲà³â€Œà²¬à³‡à²¨à²¿à²¯à²¨à³ ಲೆಕà³",
+ "symbol": "ALL"
+ },
+ "AUD": {
+ "name": "ಆಸà³à²Ÿà³à²°à³‡à²²à²¿à²¯à²¨à³ ಡಾಲರà³â€Œ",
+ "symbol": "A$"
+ },
+ "IDR": {
+ "name": "ಇಂಡೊನೇಷà³à²¯à²¾ ರà³à²ªà³ˆ",
+ "symbol": "IDR"
+ },
+ "ETB": {
+ "name": "ಇಥಿಯೋಪಿಯನೠಬಿರà³",
+ "symbol": "ETB"
+ },
+ "IQD": {
+ "name": "ಇರಾಖಿಯನೠದಿನಾರà³",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ಇರಾನಿಯನೠರಿಯಲà³",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "ಇಸà³à²°à³‡à²²à²¿ ನà³à²¯à³‚ ಶೇಖಲà³",
+ "symbol": "₪"
+ },
+ "EGP": {
+ "name": "ಈಜಿಪà³à²·à²¿à²¯à²¨à³ ಪೌಂಡà³â€",
+ "symbol": "EGP"
+ },
+ "UAH": {
+ "name": "ಉಕà³à²°à³‡à²¨à²¿à²¯à²¨à³ ಹà³à²°à²¿à²µà³à²¨à³€à²¯",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "ಉಗಾಂಡನೠಶಿಲà³à²²à²¿à²‚ಗà³",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "ಉಜà³à²¬à³‡à²•à²¿à²¸à³à²¤à²¾à²¨à³ ಸೊಮà³",
+ "symbol": "UZS"
+ },
+ "KPW": {
+ "name": "ಉತà³à²¤à²° ಕೊರಿಯನೠವೋನà³",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "ಉರà³à²—à³à²µà³†à²¯ ಪೆಸೊ",
+ "symbol": "UYU"
+ },
+ "ERN": {
+ "name": "ಎರಿತà³à²°à²¿à²¯à²¨à³ ನಕà³à²«à²¾",
+ "symbol": "ERN"
+ },
+ "ISK": {
+ "name": "à²à²¸à³â€Œà²²à³à²¯à²¾à²‚ಡಿಕೠಕà³à²°à³‹à²¨à²¾",
+ "symbol": "ISK"
+ },
+ "OMR": {
+ "name": "ಒಮಾನಿ ರಿಯಲà³",
+ "symbol": "OMR"
+ },
+ "KZT": {
+ "name": "ಕಜಾಕಿಸà³à²¤à²¾à²¨à²¿ ತೆಂಗೆ",
+ "symbol": "KZT"
+ },
+ "CDF": {
+ "name": "ಕಾಂಗೋಲೀಸೠಫà³à²°à²¾à²‚ಕà³",
+ "symbol": "CDF"
+ },
+ "KHR": {
+ "name": "ಕಾಂಬೋಡಿಯನೠರಿಯಲà³",
+ "symbol": "KHR"
+ },
+ "KGS": {
+ "name": "ಕಿರà³à²—ಿಸà³à²¤à²¾à²¨à²¿ ಸೋಮà³",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "ಕà³à²µà³ˆà²¤à³€ ದಿನಾರà³",
+ "symbol": "KWD"
+ },
+ "CAD": {
+ "name": "ಕೆನಡಾದ ಡಾಲರà³",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "ಕೆನà³à²¯à²¨à³ ಶಿಲà³à²²à²¿à²‚ಗà³",
+ "symbol": "KES"
+ },
+ "KYD": {
+ "name": "ಕೆಮà³à²¯à²¾à²¨à³â€Œ à²à²²à³à²¯à²¾à²‚ಡà³â€Œà²¨ ಡಾಲರà³â€Œ",
+ "symbol": "KYD"
+ },
+ "CVE": {
+ "name": "ಕೇಪೠವರà³à²¡à²¿à²¨à³ ಎಸà³â€Œà²•à³‚ಡೊ",
+ "symbol": "CVE"
+ },
+ "KMF": {
+ "name": "ಕೊಮೊರಿಯನೠಫà³à²°à²¾à²‚ಕà³",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "ಕೊಲೊಂಬಿಯೋದ ಪೆಸೊ",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "ಕೋಸà³à²Ÿ ರಿಕನೠಕೊಲನà³",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "ಕà³à²¯à³à²¬à²¾à²¦ ಪರಿವರà³à²¤à²¨à³€à²¯ ಪೆಸೊ",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "ಕà³à²¯à³‚ಬಾದ ಪೆಸೊ",
+ "symbol": "CUP"
+ },
+ "HRK": {
+ "name": "ಕà³à²°à³Šà²¯à³†à²·à³à²¯à²¾à²¦ ಕೂನಾ",
+ "symbol": "HRK"
+ },
+ "QAR": {
+ "name": "ಖತಾರಿ ರಿಯಲà³",
+ "symbol": "QAR"
+ },
+ "GNF": {
+ "name": "ಗಿನಿಯನೠಫà³à²°à²¾à²‚ಕà³",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "ಗಿಬà³à²°à²¾à²²à³à²Ÿà²°à³ ಪೌಂಡà³",
+ "symbol": "GIP"
+ },
+ "GYD": {
+ "name": "ಗà³à²¯à²¾à²¨à³€à²¸à³â€Œ ಡಾಲರà³â€Œ",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "ಗà³à²¯à²¾à²‚ಬಿಯಾದ ದಲಾಸಿ",
+ "symbol": "GMD"
+ },
+ "GTQ": {
+ "name": "ಗà³à²µà²¾à²Ÿà³†à²®à²¾à²²à²¾à²¦ ಕà³à²¯à²¿à²Ÿà³à²¸à²²à³â€Œâ€Œ",
+ "symbol": "GTQ"
+ },
+ "GHS": {
+ "name": "ಘಾನಾದ ಸೆದಿ",
+ "symbol": "GHS"
+ },
+ "CLP": {
+ "name": "ಚಿಲಿಯ ಪೆಸೊ",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "ಚೈನೀಸೠಯà³à²µà²¾à²¨à³",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "ಜಪಾನೀಸೠಯೆನà³",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "ಜಮೈಕನೠಡಾಲರà³",
+ "symbol": "JMD"
+ },
+ "ZMW": {
+ "name": "ಜಾಂಬಿಯಾ ಕà³à²µà²¾à²š",
+ "symbol": "ZMW"
+ },
+ "GEL": {
+ "name": "ಜಾರà³à²œà²¿à²¯à²¾à²¦ ಲಾರಿ",
+ "symbol": "GEL"
+ },
+ "DJF": {
+ "name": "ಜಿಬೊಟಿಯನೠಫà³à²°à²¾à²‚ಕà³",
+ "symbol": "DJF"
+ },
+ "JOD": {
+ "name": "ಜೋರà³à²¡à²¾à²¨à²¿à²¯à²¨à³ ದಿನಾರà³",
+ "symbol": "JOD"
+ },
+ "CZK": {
+ "name": "à²à³†à²•à³ ಗಣರಾಜà³à²¯ ಕೊರೂನ",
+ "symbol": "CZK"
+ },
+ "TRY": {
+ "name": "ಟರà³à²•à²¿à²¶à³ ಲಿರಾ",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "ಟರà³à²•à³â€à²®à³†à²¨à²¿à²¸à³à²¤à²¾à²¨à³ ಮನಾತà³",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "ಟೊಂಗಾ ಪಾಂಗ",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "ಟà³à²°à²¿à²¨à²¿à²¡à²¾à²¡à³ ಮತà³à²¤à³ ಟೊಬಾಗೊ ಡಾಲರà³",
+ "symbol": "TTD"
+ },
+ "DOP": {
+ "name": "ಡೊಮಿನಿಕನೠಪೆಸೊ",
+ "symbol": "DOP"
+ },
+ "DKK": {
+ "name": "ಡà³à²¯à²¾à²¨à²¿à²¶à³ ಕà³à²°à³‹à²¨à³",
+ "symbol": "DKK"
+ },
+ "TJS": {
+ "name": "ತಜಕಿಸà³à²¤à²¾à²¨à²¿ ಸೊಮೋನಿ",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "ತಾನà³â€Œà²œà³‡à²¨à²¿à²¯à²¨à³ ಶಿಲà³à²²à²¿à²‚ಗà³",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "ತà³à²¨à³€à²¸à²¿à²¯à²¨à³ ದಿನಾರà³",
+ "symbol": "TND"
+ },
+ "THB": {
+ "name": "ಥಾಯೠಬಹà³à²¤à³",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "ದಕà³à²·à²¿à²£ ಆಫà³à²°à²¿à²•à²¨à³ ರಾಂಡà³",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "ದಕà³à²·à²¿à²£ ಕೊರಿಯನೠವೊನà³",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "ದಕà³à²·à²¿à²£ ಸೂಡಾನೀಸೠಪೌಂಡà³â€",
+ "symbol": "SSP"
+ },
+ "NAD": {
+ "name": "ನಮೀಬಿಯನೠಡಾಲರà³",
+ "symbol": "NAD"
+ },
+ "NOK": {
+ "name": "ನಾರà³à²µà³‡à²¯ ಕà³à²°à³‹à²¨à³",
+ "symbol": "NOK"
+ },
+ "NIO": {
+ "name": "ನಿಕಾರಗà³à²µà²¾à²¦ ಕರà³à²¦à³Šà²¬à²¾",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "ನೆದರà³à²²à³†à²‚ಡà³à²¸à³ ಆಂಟಿಲಿಯನೠಗಿಲà³à²¡à²°à³",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "ನೇಪಾಳದ ರà³à²ªà³€",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ನೈಜೀರಿಯಾದ ನೇರಾ",
+ "symbol": "NGN"
+ },
+ "TWD": {
+ "name": "ನà³à²¯à³‚ ತೈವಾನೠಡಾಲರà³",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ನà³à²¯à³‚ಜಿಲà³à²¯à²¾à²‚ಡೠಡಾಲರà³",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "ಪನಾಮಾನಿಯನೠಬಲà³à²¬à³‹à²µà²¾",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "ಪಪà³à²µà²¾ ನà³à²¯à³‚ ಗಿನಿಯನೠಕಿನಾ",
+ "symbol": "PGK"
+ },
+ "PKR": {
+ "name": "ಪಾಕಿಸà³à²¤à²¾à²¨à²¦ ರà³à²ªà³€",
+ "symbol": "PKR"
+ },
+ "XCD": {
+ "name": "ಪೂರà³à²µ ಕೆರೀಬಿಯನೠಡಾಲರà³",
+ "symbol": "EC$"
+ },
+ "PYG": {
+ "name": "ಪೆರà³à²—à³à²µà³‡à²¯ ಗà³à²µà²¾à²°à²¨à³€",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "ಪೆರà³à²µà²¿à²¯à²¨à³ ನà³à²¯à³†à²µà³Š ಸೊಲà³",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "ಪೊಲಿಶೠà²à³à²²à³‹à²Ÿà²¿",
+ "symbol": "PLN"
+ },
+ "FKP": {
+ "name": "ಫಾಲà³à²•à³â€Œà²²à³à²¯à²¾à²‚ಡೠದà³à²µà³€à²ªà²—ಳ ಪೌಂಡà³",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "ಫಿಜಿಯನೠಡಾಲರà³",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "ಫಿಲಿಪà³à²ªà³ˆà²¨à³ ಪೆಸೊ",
+ "symbol": "PHP"
+ },
+ "BBD": {
+ "name": "ಬರà³à²¬à²¾à²¡à²¿à²¯à²¨à³ ಡಾಲರà³",
+ "symbol": "BBD"
+ },
+ "BMD": {
+ "name": "ಬರà³à²®à³à²¡à²¨à³ ಡಾಲರà³",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "ಬಲà³à²—ೇರಿಯನೠಲೆವà³",
+ "symbol": "BGN"
+ },
+ "BSD": {
+ "name": "ಬಹಾಮಿಯನೠಡಾಲರà³",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "ಬಹà³â€Œâ€Œà²°à³ˆà²¨à²¿ ದಿನಾರà³",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "ಬಾಂಗà³à²²à²¾à²¦à³‡à²¶à²¦ ಟಾಕಾ",
+ "symbol": "BDT"
+ },
+ "BIF": {
+ "name": "ಬà³à²°à³à²‚ದಿಯನೠಫà³à²°à²¾à²‚ಕà³",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "ಬೆಲಾರà³à²¸à²¿à²¯à²¨à³ ರೂಬಲà³",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "ಬೆಲೀಜೠಡಾಲರà³",
+ "symbol": "BZD"
+ },
+ "BOB": {
+ "name": "ಬೊಲಿವಿಯಾದ ಬೊಲಿವಿಯಾನೊ",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "ಬೋಟà³à²¸à³â€Œà²µà²¾à²¨à²¨à³ ಪà³à²²à²¾",
+ "symbol": "BWP"
+ },
+ "BAM": {
+ "name": "ಬೋಸà³à²¨à²¿à²¯à²¾-ಹರà³à²œà³â€Œà²—ೋವಿನ ಪರಿವರà³à²¤à²¨à³€à²¯ ಗà³à²°à³à²¤à³",
+ "symbol": "BAM"
+ },
+ "GBP": {
+ "name": "ಬà³à²°à²¿à²Ÿà³€à²·à³ ಪೌಂಡೠಸà³à²Ÿà³†à²°à³à²²à²¿à²‚ಗà³",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "ಬà³à²°à³‚ನಿ ಡಾಲರà³",
+ "symbol": "BND"
+ },
+ "BRL": {
+ "name": "ಬà³à²°à³†à²œà²¿à²²à²¿à²¯à²¨à³â€Œ ರಿಯಲà³",
+ "symbol": "R$"
+ },
+ "INR": {
+ "name": "ಭಾರತೀಯ ರà³à²ªà²¾à²¯à²¿",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "ಭೂತಾನೀಸೠನà³à²²à³à²¤à²°à²®à³",
+ "symbol": "BTN"
+ },
+ "MNT": {
+ "name": "ಮಂಗೋಲಿಯಾದ ತà³à²—à³à²°à²¿à²•à³â€Œâ€Œ",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "ಮಕà³à²¯à³‚ದ ಪಟಕಾ",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "ಮಲಗಾಸಿ ಅರಿಯಾರಿ",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "ಮಲಾವಿಯ ಕà³à²µà²¾à²š",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "ಮಲೇಶಿಯನೠರಿಂಗಿಟà³à²Ÿà³",
+ "symbol": "MYR"
+ },
+ "MDL": {
+ "name": "ಮಲà³à²¦à³‹à²µà²¾à²¦ ಲೆವೂ",
+ "symbol": "MDL"
+ },
+ "MUR": {
+ "name": "ಮಾರಿಷಿಯನೠರà³à²ªà²¿",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "ಮಾಲà³à²¡à³€à²µà²¿à²¯à²¨à³ ರà³à²«à²¿à²¯à²¾",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "ಮೆಕà³à²¸à²¿à²•à³Šà²¦ ಪೆಸೊ",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "ಮೆಸಡೋನಿಯನೠದಿನಾರà³",
+ "symbol": "MKD"
+ },
+ "MZN": {
+ "name": "ಮೊà²à²¾à²‚ಬಿಕನೠಮೆಟಿಕಲà³",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "ಮೊರೊಕನೠದಿರà³â€Œà²¹à²®à³",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "ಮೌರೀಶಿಯನಿಯನೠಒಗಿಯ",
+ "symbol": "MRO"
+ },
+ "MMK": {
+ "name": "ಮà³à²¯à²¾à²¨à³à²®à²¾à²°à³ ಕà³à²¯à²¾à²Ÿà³",
+ "symbol": "MMK"
+ },
+ "EUR": {
+ "name": "ಯೂರೊ",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "ಯೆಮೆನಿ ರಿಯಲà³",
+ "symbol": "YER"
+ },
+ "RUB": {
+ "name": "ರಶಿಯನೠರೂಬಲà³",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "ರà³à²µà²¾à²‚ಡನೠಫà³à²°à²¾à²‚ಕà³",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "ರೊಮೇನಿಯನೠಲೆವà³",
+ "symbol": "RON"
+ },
+ "LTL": {
+ "name": "ಲಿಥà³à²¨à²¿à²¯à²¨à³â€Œ ಲಿತಾಸà³â€Œ",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "ಲಿಬಿಯಾದ ದಿನಾರà³â€Œ",
+ "symbol": "LYD"
+ },
+ "LRD": {
+ "name": "ಲಿಬೇರಿಯನೠಡಾಲರà³",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "ಲೆಬೆನೀಸೠಪೌಂಡà³",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "ಲೆಸೊತೊ ಲೊತಿ",
+ "symbol": "LSL"
+ },
+ "LAK": {
+ "name": "ಲೋಟಿಯನೠಕಿಪà³",
+ "symbol": "LAK"
+ },
+ "VUV": {
+ "name": "ವನೂತೠವತà³",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "ವಿಯೆಟà³à²¨à²¾à²®à³€à²¸à³ ಡಾಂಗà³",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "ವೆನಿಜà³à²²à²¿à²¯à²¨à³ ಬೊಲಿವರà³",
+ "symbol": "VEF"
+ },
+ "LKR": {
+ "name": "ಶà³à²°à³€à²²à²‚ಕಾದ ರà³à²ªà³€",
+ "symbol": "LKR"
+ },
+ "AED": {
+ "name": "ಸಂಯà³à²•à³à²¤ ಅರಬà³â€Œ ಎಮಿರೇಟà³â€Œâ€Œà²—ಳ ದಿರಾಮà³â€Œâ€Œ",
+ "symbol": "AED"
+ },
+ "WST": {
+ "name": "ಸಮೋನೠತಲಾ",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "ಸಾವೊ ಟೋಮೠಮತà³à²¤à³ ಪà³à²°à²¿à²¨à³à²¸à²¿à²ªà³ ದೊಬà³à²°à²¾",
+ "symbol": "STD"
+ },
+ "SGD": {
+ "name": "ಸಿಂಗಾಪà³à²°à³ ಡಾಲರà³â€Œ",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "ಸಿಯೆರಾ ಲಿಯೋನಿಯನೠಲಿಯೋನà³",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "ಸಿರಿಯನೠಪೌಂಡà³",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "ಸà³à²¡à²¾à²¨à³€à²¸à³ ಪೌಂಡà³",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "ಸà³à²°à²¿à²¨à²¾à²®à³€à²¸à³ ಡಾಲರà³",
+ "symbol": "SRD"
+ },
+ "SCR": {
+ "name": "ಸೆಚೊಲಿಯೊಸೠರà³à²ªà²¿",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "ಸೆರà³à²¬à²¿à²¯à²¨à³ ದಿನಾರà³",
+ "symbol": "RSD"
+ },
+ "SHP": {
+ "name": "ಸೇಂಟೠಹೆಲೇನಾ ಪೌಂಡà³",
+ "symbol": "SHP"
+ },
+ "SOS": {
+ "name": "ಸೊಮಾಲಿ ಶಿಲà³à²²à²¿à²‚ಗà³",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "ಸೊಲೊಮನೠದà³à²µà³€à²ªà²—ಳ ಡಾಲರà³",
+ "symbol": "SBD"
+ },
+ "SAR": {
+ "name": "ಸೌದಿ ರಿಯಾಲà³",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "ಸà³à²µà²¾à²œà²¿ ಲಿಲಂಗೆನಿ",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "ಸà³à²µà²¿à²¸à³ ಫà³à²°à²¾à²‚ಕà³",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "ಸà³à²µà³€à²¡à²¿à²·à³ ಕà³à²°à³‹à²¨à²¾",
+ "symbol": "SEK"
+ },
+ "HUF": {
+ "name": "ಹಂಗೇರಿಯನೠಫೋರಿಂಟà³",
+ "symbol": "HUF"
+ },
+ "HKD": {
+ "name": "ಹಾಂಗೠಕಾಂಗೠಡಾಲರà³",
+ "symbol": "HK$"
+ },
+ "HTG": {
+ "name": "ಹೈಟಿಯ ಗೋರà³à²¦à³†",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "ಹೊಂಡà³à²°à²¾à²¨à³â€Œ ಲೆಂಪಿರಾ",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ko.json b/library/intl/resources/currency/ko.json
new file mode 100644
index 000000000..82409da16
--- /dev/null
+++ b/library/intl/resources/currency/ko.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "CFA 프랑 BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA 프랑 BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP 프랑",
+ "symbol": "CFPF"
+ },
+ "GHS": {
+ "name": "가나 시디",
+ "symbol": "GHS"
+ },
+ "GYD": {
+ "name": "ê°€ì´ì•„나 달러",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "ê°ë¹„ì•„ 달ë¼ì‹œ",
+ "symbol": "GMD"
+ },
+ "GTQ": {
+ "name": "과테ë§ë¼ 케트살",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "기니 프랑",
+ "symbol": "GNF"
+ },
+ "NAD": {
+ "name": "나미비아 달러",
+ "symbol": "NAD"
+ },
+ "SSP": {
+ "name": "남수단 파운드",
+ "symbol": "SSP"
+ },
+ "ZAR": {
+ "name": "남아프리카 랜드",
+ "symbol": "ZAR"
+ },
+ "ANG": {
+ "name": "네ëœëž€ë“œë ¹ 안틸레스 길ë”",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "네팔 루피",
+ "symbol": "NPR"
+ },
+ "NOK": {
+ "name": "ë…¸ë¥´ì›¨ì´ í¬ë¡œë„¤",
+ "symbol": "NOK"
+ },
+ "NZD": {
+ "name": "뉴질랜드 달러",
+ "symbol": "NZ$"
+ },
+ "NGN": {
+ "name": "니제르 나ì´ë¼",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "니카ë¼ê³¼ 코르ë„ë°” 오로",
+ "symbol": "NIO"
+ },
+ "KRW": {
+ "name": "대한민국 ì›",
+ "symbol": "â‚©"
+ },
+ "DKK": {
+ "name": "ë´ë§ˆí¬ í¬ë¡œë„¤",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ë„미니카 페소",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "ë™ì¹´ë¦¬ë¸Œ 달러",
+ "symbol": "EC$"
+ },
+ "LAK": {
+ "name": "ë¼ì˜¤ìŠ¤ 키프",
+ "symbol": "LAK"
+ },
+ "LRD": {
+ "name": "ë¼ì´ë² ë¦¬ì•„ 달러",
+ "symbol": "LRD"
+ },
+ "RUB": {
+ "name": "러시아 루블",
+ "symbol": "RUB"
+ },
+ "LBP": {
+ "name": "레바논 파운드",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "레소토 로티",
+ "symbol": "LSL"
+ },
+ "RON": {
+ "name": "루마니아 레우",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "르완다 프랑",
+ "symbol": "RWF"
+ },
+ "LYD": {
+ "name": "리비아 디나르",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "리투아니아 리타",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "마다가스카르 아리아리",
+ "symbol": "MGA"
+ },
+ "MOP": {
+ "name": "마카오 파타카",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "마케ë„니아 디나르",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "ë§ë¼ìœ„ ì½°ì³",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "ë§ë ˆì´ì‹œì•„ ë§ê¹ƒ",
+ "symbol": "MYR"
+ },
+ "MXN": {
+ "name": "멕시코 페소",
+ "symbol": "MX$"
+ },
+ "MAD": {
+ "name": "모로코 디렘",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "모리셔스 루피",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "모리타니 우기야",
+ "symbol": "MRO"
+ },
+ "MZN": {
+ "name": "ëª¨ìž ë¹„í¬ ë©”í‹°ì¹¼",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "몰ë„ë°” ë ˆì´",
+ "symbol": "MDL"
+ },
+ "MVR": {
+ "name": "몰디브 ì œë„ ë£¨í”¼ì•„",
+ "symbol": "MVR"
+ },
+ "MNT": {
+ "name": "몽골 투그릭",
+ "symbol": "MNT"
+ },
+ "USD": {
+ "name": "미국 달러",
+ "symbol": "US$"
+ },
+ "MMK": {
+ "name": "미얀마 키ì–",
+ "symbol": "MMK"
+ },
+ "VUV": {
+ "name": "바누아투 바투",
+ "symbol": "VUV"
+ },
+ "BHD": {
+ "name": "ë°”ë ˆì¸ ë””ë‚˜ë¥´",
+ "symbol": "BHD"
+ },
+ "BBD": {
+ "name": "바베ì´ë„스 달러",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "바하마 달러",
+ "symbol": "BSD"
+ },
+ "BDT": {
+ "name": "방글ë¼ë°ì‹œ 타카",
+ "symbol": "BDT"
+ },
+ "BMD": {
+ "name": "버뮤다 달러",
+ "symbol": "BMD"
+ },
+ "VEF": {
+ "name": "ë² ë„¤ìˆ˜ì—˜ë¼ ë³¼ë¦¬ë°”ë¥´",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "베트남 ë™",
+ "symbol": "â‚«"
+ },
+ "BYR": {
+ "name": "벨ë¼ë£¨ìŠ¤ 루블",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "벨리즈 달러",
+ "symbol": "BZD"
+ },
+ "BAM": {
+ "name": "보스니아-헤르체고비나 태환 마르í¬",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "보츠와나 í´ë¼",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "볼리비아노",
+ "symbol": "BOB"
+ },
+ "BND": {
+ "name": "ë¶€ë£¨ë‚˜ì´ ë‹¬ëŸ¬",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "부룬디 프랑",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "부탄 눌투눔",
+ "symbol": "BTN"
+ },
+ "BGN": {
+ "name": "불가리아 레프",
+ "symbol": "BGN"
+ },
+ "BRL": {
+ "name": "브ë¼ì§ˆ 레알",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "사우디아ë¼ë¹„ì•„ 리얄",
+ "symbol": "SAR"
+ },
+ "STD": {
+ "name": "ìƒíˆ¬ë©” 프린시페 ë„브ë¼",
+ "symbol": "STD"
+ },
+ "WST": {
+ "name": "ì„œ 사모아 탈ë¼",
+ "symbol": "WST"
+ },
+ "RSD": {
+ "name": "세르비아 디나르",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "세ì´ì…¸ 루피",
+ "symbol": "SCR"
+ },
+ "SHP": {
+ "name": "세ì¸íŠ¸í—¬ë ˆë‚˜ 파운드",
+ "symbol": "SHP"
+ },
+ "SOS": {
+ "name": "소ë§ë¦¬ì•„ 실ë§",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "솔로몬 ì œë„ ë‹¬ëŸ¬",
+ "symbol": "SBD"
+ },
+ "SDG": {
+ "name": "수단 파운드",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "수리남 달러",
+ "symbol": "SRD"
+ },
+ "LKR": {
+ "name": "스리랑카 루피",
+ "symbol": "LKR"
+ },
+ "SZL": {
+ "name": "스와질란드 릴랑게니",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "ìŠ¤ì›¨ë´ í¬ë¡œë‚˜",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "스위스 프랑",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "시리아 파운드",
+ "symbol": "SYP"
+ },
+ "SLL": {
+ "name": "ì‹œì—ë¼ë¦¬ì˜¨ 리온",
+ "symbol": "SLL"
+ },
+ "TWD": {
+ "name": "ì‹  타ì´ì™„ 달러",
+ "symbol": "NT$"
+ },
+ "TRY": {
+ "name": "ì‹  터키 리ë¼",
+ "symbol": "TRY"
+ },
+ "SGD": {
+ "name": "ì‹±ê°€í´ ë‹¬ëŸ¬",
+ "symbol": "SGD"
+ },
+ "AED": {
+ "name": "ì•„ëžì—미리트 디르함",
+ "symbol": "AED"
+ },
+ "AWG": {
+ "name": "아루바 플로린",
+ "symbol": "AWG"
+ },
+ "AMD": {
+ "name": "아르메니아 드람",
+ "symbol": "AMD"
+ },
+ "ARS": {
+ "name": "아르헨티나 페소",
+ "symbol": "ARS"
+ },
+ "ISK": {
+ "name": "ì•„ì´ìŠ¬ëž€ë“œ í¬ë¡œë‚˜",
+ "symbol": "ISK"
+ },
+ "AZN": {
+ "name": "아제르바ì´ìž” 마나트",
+ "symbol": "AZN"
+ },
+ "AFN": {
+ "name": "아프가니스탄 아프가니",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "알바니아 ë ˆí¬",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "알제리 디나르",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "ì•™ê³¨ë¼ ì½´ìž",
+ "symbol": "AOA"
+ },
+ "ERN": {
+ "name": "ì—리트리아 나í¬íŒŒ",
+ "symbol": "ERN"
+ },
+ "SVC": {
+ "name": "엘살바ë„르 콜론",
+ "symbol": "SVC"
+ },
+ "YER": {
+ "name": "예멘 리알",
+ "symbol": "YER"
+ },
+ "OMR": {
+ "name": "오만 리얄",
+ "symbol": "OMR"
+ },
+ "HNL": {
+ "name": "온ë‘ë¼ìŠ¤ 렘피ë¼",
+ "symbol": "HNL"
+ },
+ "JOD": {
+ "name": "요르단 디나르",
+ "symbol": "JOD"
+ },
+ "UGX": {
+ "name": "우간다 실ë§",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "ìš°ë£¨ê³¼ì´ íŽ˜ì†Œ 우루과요",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "우즈베키스탄 숨",
+ "symbol": "UZS"
+ },
+ "UAH": {
+ "name": "ìš°í¬ë¼ì´ë‚˜ 그리브나",
+ "symbol": "UAH"
+ },
+ "EUR": {
+ "name": "유로",
+ "symbol": "€"
+ },
+ "ETB": {
+ "name": "ì´ë””오피아 비르",
+ "symbol": "ETB"
+ },
+ "IQD": {
+ "name": "ì´ë¼í¬ 디나르",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ì´ëž€ 리얄",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "ì´ìŠ¤ë¼ì—˜ 신권 세켈",
+ "symbol": "₪"
+ },
+ "EGP": {
+ "name": "ì´ì§‘트 파운드",
+ "symbol": "EGP"
+ },
+ "INR": {
+ "name": "ì¸ë„ 루피",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "ì¸ë„네시아 루피아",
+ "symbol": "IDR"
+ },
+ "JPY": {
+ "name": "ì¼ë³¸ 엔화",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "ìžë©”ì´ì¹´ 달러",
+ "symbol": "JMD"
+ },
+ "ZMW": {
+ "name": "잠비아 ì½°ì³",
+ "symbol": "ZMW"
+ },
+ "KPW": {
+ "name": "ì¡°ì„  ë¯¼ì£¼ì£¼ì˜ ì¸ë¯¼ 공화국 ì›",
+ "symbol": "KPW"
+ },
+ "GEL": {
+ "name": "조지아 ë¼ë¦¬",
+ "symbol": "GEL"
+ },
+ "CNY": {
+ "name": "중국 위안화",
+ "symbol": "CNÂ¥"
+ },
+ "DJF": {
+ "name": "지부티 프랑",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "지브롤터 파운드",
+ "symbol": "GIP"
+ },
+ "ZWL": {
+ "name": "ì§ë°”브웨 달러 (2009)",
+ "symbol": "ZWL"
+ },
+ "CZK": {
+ "name": "체코 공화국 코루나",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "칠레 페소",
+ "symbol": "CLP"
+ },
+ "CVE": {
+ "name": "ì¹´ë³´ë² ë¥´ë° ì—스쿠ë„",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "ì¹´ìží스탄 í…게",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "카타르 리얄",
+ "symbol": "QAR"
+ },
+ "KHR": {
+ "name": "캄보디아 리얄",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "ìºë‚˜ë‹¤ 달러",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "ì¼€ëƒ ì‹¤ë§",
+ "symbol": "KES"
+ },
+ "KYD": {
+ "name": "ì¼€ì´ë§¨ ì œë„ ë‹¬ëŸ¬",
+ "symbol": "KYD"
+ },
+ "KMF": {
+ "name": "코모르 프랑",
+ "symbol": "KMF"
+ },
+ "CRC": {
+ "name": "코스타리카 콜론",
+ "symbol": "CRC"
+ },
+ "COP": {
+ "name": "콜롬비아 페소",
+ "symbol": "COP"
+ },
+ "CDF": {
+ "name": "콩고 프랑 콩골ë¼ìŠ¤",
+ "symbol": "CDF"
+ },
+ "CUC": {
+ "name": "쿠바 태환 페소",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "쿠바 페소",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "쿠웨ì´íŠ¸ 디나르",
+ "symbol": "KWD"
+ },
+ "HRK": {
+ "name": "í¬ë¡œì•„í‹°ì•„ 쿠나",
+ "symbol": "HRK"
+ },
+ "KGS": {
+ "name": "키르기스스탄 솜",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "타지키스탄 소모니",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "탄ìžë‹ˆì•„ 실ë§",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "태국 바트",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "통가 파앙가",
+ "symbol": "TOP"
+ },
+ "TMT": {
+ "name": "투르í¬ë©”니스탄 마나트",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "튀니지 디나르",
+ "symbol": "TND"
+ },
+ "TTD": {
+ "name": "트리니다드 토바고 달러",
+ "symbol": "TTD"
+ },
+ "PAB": {
+ "name": "파나마 발보아",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "파ë¼ê³¼ì´ ê³¼ë¼ë‹ˆ",
+ "symbol": "PYG"
+ },
+ "GBP": {
+ "name": "파운드",
+ "symbol": "£"
+ },
+ "PKR": {
+ "name": "파키스탄 루피",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "파푸아뉴기니 키나",
+ "symbol": "PGK"
+ },
+ "PEN": {
+ "name": "페루 누ì—ë³´ 솔",
+ "symbol": "PEN"
+ },
+ "FKP": {
+ "name": "í¬í´ëžœë“œì œë„ 파운드",
+ "symbol": "FKP"
+ },
+ "PLN": {
+ "name": "í´ëž€ë“œ ì¦ë¡œí‹°",
+ "symbol": "PLN"
+ },
+ "FJD": {
+ "name": "피지 달러",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "필리핀 페소",
+ "symbol": "PHP"
+ },
+ "HTG": {
+ "name": "하ì´í‹° 구르드",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "í—가리 í¬ë¦°íŠ¸",
+ "symbol": "HUF"
+ },
+ "AUD": {
+ "name": "호주 달러",
+ "symbol": "AU$"
+ },
+ "HKD": {
+ "name": "í™ì½© 달러",
+ "symbol": "HK$"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ks.json b/library/intl/resources/currency/ks.json
new file mode 100644
index 000000000..0ce1b1582
--- /dev/null
+++ b/library/intl/resources/currency/ks.json
@@ -0,0 +1,634 @@
+{
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AZN": {
+ "name": "آزَرباجانی مَنَٹ",
+ "symbol": "AZN"
+ },
+ "AUD": {
+ "name": "آسٹریلÙیَن ڈالَر",
+ "symbol": "A$"
+ },
+ "ARS": {
+ "name": "أرجَنٹیٖن Ù¾Ùسو",
+ "symbol": "ARS"
+ },
+ "ALL": {
+ "name": "اٮ۪لبینÙیَن Ù„ÙÚ©",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "اٮ۪لجیرÙیَن ڈیٖنار",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "اٮ۪نگولَن کوانزا",
+ "symbol": "AOA"
+ },
+ "UZS": {
+ "name": "اÙبیکÙستان سوم",
+ "symbol": "UZS"
+ },
+ "ETB": {
+ "name": "اÙتھوپÙیَن بÙر",
+ "symbol": "ETB"
+ },
+ "EGP": {
+ "name": "اÙجÙپٹÙیَن Ù¾ÙŽÙˆÙÙ†Ú‘",
+ "symbol": "EGP"
+ },
+ "AMD": {
+ "name": "اَرمانٮ۪ن ڈرٛٮ۪م",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "اَروبَن ÙÙلورÙÙ†",
+ "symbol": "AWG"
+ },
+ "UYU": {
+ "name": "اÙروٗگایَن پیٚسو",
+ "symbol": "UYU"
+ },
+ "ILS": {
+ "name": "اÙزرٲیÙÙ„ÛŒ Ù†Ù”ÙˆÛ Ø´Ù®ÛªÙ‚Ù•Ù„",
+ "symbol": "₪"
+ },
+ "AFN": {
+ "name": "اÙغان اÙغٲنی",
+ "symbol": "AFN"
+ },
+ "UGX": {
+ "name": "اÙگاداÛÙÚ© Ø´ÙÙ„ÙÙ†Ù›Ú¯",
+ "symbol": "UGX"
+ },
+ "IDR": {
+ "name": "اÙنڑونیشیاÛÙÚ© رÙÙ¾ÙیاÛ",
+ "symbol": "IDR"
+ },
+ "OMR": {
+ "name": "اومÙÙ†ÛŒ رÙیال",
+ "symbol": "OMR"
+ },
+ "IQD": {
+ "name": "ایٖراقÙÚ© دیٖنار",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ایٖرانÙÚ© رÙیال",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "اَیسلینٛڑÙÚ© کرٛونا",
+ "symbol": "ISK"
+ },
+ "BBD": {
+ "name": "بابیڑÙیَن ڈالَر",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "بحریٖنی دیٖنار",
+ "symbol": "BHD"
+ },
+ "BRL": {
+ "name": "برٛازیٖلین رÙیَل",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "برطٲنوی پاونٛڑ سٹٔرلÙÙ†Ù›Ú¯",
+ "symbol": "£"
+ },
+ "BMD": {
+ "name": "بٔرمیوٗڑَن ڈالَر",
+ "symbol": "BMD"
+ },
+ "BIF": {
+ "name": "بÙرÙÙ†Ú‘Ùین Ùرینٛک",
+ "symbol": "BIF"
+ },
+ "BND": {
+ "name": "برٛونی ڈالَر",
+ "symbol": "BND"
+ },
+ "BZD": {
+ "name": "بÙÙ„Ùزی ڈالر",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "بÙلیروشÙیَن رÙبٕل",
+ "symbol": "BYR"
+ },
+ "BDT": {
+ "name": "بَنگلادیٖشی ٹَکا",
+ "symbol": "BDT"
+ },
+ "BSD": {
+ "name": "بÛامÙیَن ڈالر",
+ "symbol": "BSD"
+ },
+ "BWP": {
+ "name": "بوٹٕسوانَن Ù¾Ùلا",
+ "symbol": "BWP"
+ },
+ "BTN": {
+ "name": "بوٗٹینیٖز Ù†Ú¯Ùلٹرٛم",
+ "symbol": "BTN"
+ },
+ "BAM": {
+ "name": "بوزنÙیاÛَرزÙگووÙنا کَنوٲٹیبٕل مارٕک",
+ "symbol": "BAM"
+ },
+ "BOB": {
+ "name": "بولÙÙˆÙیَن بولوینو",
+ "symbol": "BOB"
+ },
+ "BGN": {
+ "name": "بیلگیرÙیَن Ûاڑ Ù„ÙÙˆ",
+ "symbol": "BGN"
+ },
+ "PKR": {
+ "name": "پاکÙØ³ØªÙ²Ù†Û Ø±Û„Ù¾ÙŽÛ’",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "پانامانÙیَن بالبوز",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "پٮ۪رٮ۪گیوٗوَیَن Ú¯Ùعارانی",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "پٔریوٗوÙیَن نیوٗاوز سولٕز",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Ù¾Ú¾ÙÙ„ÙپایÙÙ”Ù† پٮ۪سو",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "پولÙØ´ زلوٹی",
+ "symbol": "PLN"
+ },
+ "TJS": {
+ "name": "تاجÙکتانÙÚ© سَمونی",
+ "symbol": "TJS"
+ },
+ "TRY": {
+ "name": "تÙرکیÛÙÚ© لیرا",
+ "symbol": "TRY"
+ },
+ "TZS": {
+ "name": "تَنزانیاÛÙÚ© Ø´ÙÙ„ÙÙ†Ù›Ú¯",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "تھایھک بات",
+ "symbol": "THB"
+ },
+ "TTD": {
+ "name": "ٹرÙÙ†Û٠ڈیڈ تÛÙ• ٹوبیگو ڈالَر",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Ù¹ÙنیشیاÛÙÚ© دیٖنار",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "ٹونگَن پانٛگا",
+ "symbol": "TOP"
+ },
+ "JPY": {
+ "name": "جاپانÙÚ© یَن",
+ "symbol": "JPÂ¥"
+ },
+ "GEL": {
+ "name": "جارجÙیَن لاری",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "جَرڑینیاÛÙÚ© دیٖنار",
+ "symbol": "JOD"
+ },
+ "JMD": {
+ "name": "جَمَیکاÛÙÚ© ڑالَر",
+ "symbol": "JMD"
+ },
+ "KPW": {
+ "name": "جنوٗبی کورÙیَن ÙˆÙŽÙ†",
+ "symbol": "KPW"
+ },
+ "CLP": {
+ "name": "Ú†ÙÙ„ÙÙ† Ù¾Ùسو",
+ "symbol": "CLP"
+ },
+ "CZK": {
+ "name": "چیک کوریٖنا",
+ "symbol": "CZK"
+ },
+ "CNY": {
+ "name": "چینیٖز یَن رÙنمÙنبی",
+ "symbol": "CNÂ¥"
+ },
+ "HKD": {
+ "name": "حانٛگ کانٛگÙÚ© ڑالَر",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "حَنگیرÙیَن ÙورÙÙ†Ù›Ù¹",
+ "symbol": "HUF"
+ },
+ "HNL": {
+ "name": "حونڑورنÙÚ© لٮ۪مپیٖرا",
+ "symbol": "HNL"
+ },
+ "HTG": {
+ "name": "حیشَنÙÚ© Ú¯ÙˆÚ‘",
+ "symbol": "HTG"
+ },
+ "DKK": {
+ "name": "ÚˆÙ”Ù†ÙØ´ کرٛون",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ڈومÙÙ†ÙÚ©ÙŽÙ† Ù¾Ùسو",
+ "symbol": "DOP"
+ },
+ "ERN": {
+ "name": "رÙٹریٖن Ù†ÙŽÙکا",
+ "symbol": "ERN"
+ },
+ "RUB": {
+ "name": "رٔشیَن رَبٕل",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "روانٛڑَن Ùرانٛک",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "رومانÙیَن لٮ۪یوٗ",
+ "symbol": "RON"
+ },
+ "ZMW": {
+ "name": "زÙمبابیÙÚ© کواچا",
+ "symbol": "ZMW"
+ },
+ "ZAR": {
+ "name": "ساوÙتھ اÙریٖکاÛÙÚ© رینڈ",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "ساوتھ کورÙیَن ÙˆÙŽÙ†",
+ "symbol": "â‚©"
+ },
+ "RSD": {
+ "name": "سٔربÙیَن دیٖنار",
+ "symbol": "RSD"
+ },
+ "LKR": {
+ "name": "سری لَنکاÛÙ•Ú† رۄپَے",
+ "symbol": "LKR"
+ },
+ "SRD": {
+ "name": "سÙریٖنامÙÚ© ڈالَر",
+ "symbol": "SRD"
+ },
+ "SVC": {
+ "name": "سَلویدَرÙÚ© کولَن",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "سَمون تَلا",
+ "symbol": "WST"
+ },
+ "SGD": {
+ "name": "سÙنگاپورÙÚ© ڈالَر",
+ "symbol": "SGD"
+ },
+ "SZL": {
+ "name": "سوازی Ù„Ùلَنگیٚنی",
+ "symbol": "SZL"
+ },
+ "SAR": {
+ "name": "سودیٖیÙÚ© رÙیال",
+ "symbol": "SAR"
+ },
+ "SDG": {
+ "name": "سوٗڈانÙÚ© پونٛڈ",
+ "symbol": "SDG"
+ },
+ "CHF": {
+ "name": "سÙÙˆÙز Ùریک",
+ "symbol": "CHF"
+ },
+ "SBD": {
+ "name": "سولَمَن جٔزیٖرÙÚ© ڈالَر",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "سومالی Ø´ÙÙ„ÙÙ†Ù›Ú¯",
+ "symbol": "SOS"
+ },
+ "SEK": {
+ "name": "سویٖڈÙØ´ کَرونا",
+ "symbol": "SEK"
+ },
+ "XAF": {
+ "name": "سی ایٚ٠اے Ùرینک بی ایٖ اے سی",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "سی ایٚ٠اے Ùرینک بی سی ایٖ اے او",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "سی ایٚ٠پی Ùرینک",
+ "symbol": "CFPF"
+ },
+ "SYP": {
+ "name": "سیٖریاÛÙÚ© پونٛڈ",
+ "symbol": "SYP"
+ },
+ "SHP": {
+ "name": "سینٹ ÛیلÙنا پونٛڈ",
+ "symbol": "SHP"
+ },
+ "FJD": {
+ "name": "ÙÙجین ڈالر",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "ÙیکلینٛڑÙس آیلینٛڑ پونٛڑ",
+ "symbol": "FKP"
+ },
+ "QAR": {
+ "name": "قطاری رÙیال",
+ "symbol": "QAR"
+ },
+ "KWD": {
+ "name": "Ù‚ÙویتÙÚ© دیٖنار",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "کٮ۪نیَن Ø´ÙÙ„ÙÙ†Ù›Ú¯",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Ú©ÙرگÙستانÙÚ© سوم",
+ "symbol": "KGS"
+ },
+ "HRK": {
+ "name": "کروایشنÙÚ© کوٗنا",
+ "symbol": "HRK"
+ },
+ "KZT": {
+ "name": "کزاکÙستان ٹینٛج",
+ "symbol": "KZT"
+ },
+ "KHR": {
+ "name": "کَمبوڑÙیاÛÙÚ© رÙیال",
+ "symbol": "KHR"
+ },
+ "CRC": {
+ "name": "کوسٹا رÙÚ©ÙŽÙ† کولَن",
+ "symbol": "CRC"
+ },
+ "COP": {
+ "name": "کولَمبÙین Ù¾Ùسو",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "کومورÙیَن Ùرٛینٛک",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "کونٛگولیٖز Ùرٛیک",
+ "symbol": "CDF"
+ },
+ "KYD": {
+ "name": "کیمین ججیٖرÙÚ© ڑالَر",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "کینَڑÙیَن ڈالر",
+ "symbol": "CA$"
+ },
+ "CUP": {
+ "name": "کیوٗبَن Ù¾Ùسو",
+ "symbol": "CUP"
+ },
+ "GIP": {
+ "name": "Ú¯Ùبریلٹَر پَاونٛڑ",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "Ú¯ÙÙ†Ùیَن Ùرٛینٛک",
+ "symbol": "GNF"
+ },
+ "GHS": {
+ "name": "گَنیٚیَن سٮ۪ڑی",
+ "symbol": "GHS"
+ },
+ "GTQ": {
+ "name": "گواٹَمالَن قیوٗٹزَل",
+ "symbol": "GTQ"
+ },
+ "GMD": {
+ "name": "گیمبÙیاÛÙÚ© دلاسی",
+ "symbol": "GMD"
+ },
+ "GYD": {
+ "name": "گَیَنیٖزÙÚ© ڑالَر",
+ "symbol": "GYD"
+ },
+ "LYD": {
+ "name": "Ù„Ùبیَن دیٖنار",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Ù„ÙتھوینÙیَن Ù„Ùٹاس",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Ù„Ùسوتھو لوٹی",
+ "symbol": "LSL"
+ },
+ "LAK": {
+ "name": "لَوٹÙیَن Ú©ÙÙ¾",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "لیبنیٖزÙÚ© پاونٛڑ",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "لَیبیرÙیَن ڑالَر",
+ "symbol": "LRD"
+ },
+ "MVR": {
+ "name": "مالدÙیٖوÙیَن رÙÙÙیا",
+ "symbol": "MVR"
+ },
+ "MOP": {
+ "name": "مٮ۪کانیٖز پَٹاکا",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "مٮ۪کَڑونÙیَن دیٖنار",
+ "symbol": "MKD"
+ },
+ "MXN": {
+ "name": "مٮ۪کسÙÚ©ÙŽÙ† پٮ۪سو",
+ "symbol": "MX$"
+ },
+ "MGA": {
+ "name": "مٮ۪لٮ۪گیسی اٮ۪ریَری",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "مٮ۪لیوÙیَن کواچا",
+ "symbol": "MWK"
+ },
+ "AED": {
+ "name": "Ù…ÙØªØ­Ø¯Û Ø¹Ø±Ø¨ اÙمارات دÙرÛÙ…",
+ "symbol": "AED"
+ },
+ "XCD": {
+ "name": "مَشرÙÙ‚ÛŒ کیرÙبÙیَن ڈالَر",
+ "symbol": "EC$"
+ },
+ "MYR": {
+ "name": "مَلیشÙیَن رÙÙ†Ù›Ú¯ÙÙ¹",
+ "symbol": "MYR"
+ },
+ "MUR": {
+ "name": "مورٮ۪شÙیاÛÙ•Ú† رۄپَے",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "مورÙٹینÙیَن عوگیوٗیا",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "موروکَن دÙرÛÙŽÙ…",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "موزیمبÙÚ©ÙŽÙ† مٮ۪ٹÙÚ©ÙŽÙ„",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "مولڑووین لیوٗ",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "مۄنگولÙیَن Ù¹ÙگرÙÚ©",
+ "symbol": "MNT"
+ },
+ "MMK": {
+ "name": "Ù…Ùیانما کیاٹ",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "نامÙبÙیَن ڑالَر",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "نایدَرلینٛڑ اٮ۪نٹٕلیٖیَن Ú¯Ùلڑَر",
+ "symbol": "ANG"
+ },
+ "NIO": {
+ "name": "Ù†Ùکٮ۪راگÙوٮ۪ن کورڑوبا اورو",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "نورویٚیÙÙ†ÙÚ© کرٛون",
+ "symbol": "NOK"
+ },
+ "NZD": {
+ "name": "Ù†ÙوزیٖلینٛڑÙÚ© ڑالَر",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "نوٚو تیوانÙÚ© ڈالَر",
+ "symbol": "NT$"
+ },
+ "NPR": {
+ "name": "نیپالٕچ رۄپَے",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "نَیجیرÙیَن ڑالَر",
+ "symbol": "NGN"
+ },
+ "PGK": {
+ "name": "نیوٗ پیپÙعا Ú¯ÙÙ†Ùیَن کیٖنا",
+ "symbol": "PGK"
+ },
+ "INR": {
+ "name": "ÛÙندÙØ³ØªÙ²Ù†Û Ø±Û„Ù¾ÙŽÛ’",
+ "symbol": "₹"
+ },
+ "VUV": {
+ "name": "وَنوٗاَتوٗ وَتوٗ",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "وینٕزوٗلیÙÚ© بولÙوَر",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "ÙˆÙیَنَمÙÚ© ڈانٛگ",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "یَمنÙÚ© رÙیال",
+ "symbol": "YER"
+ },
+ "USD": {
+ "name": "یوٗ ایٚس ڈالَر",
+ "symbol": "US$"
+ },
+ "EUR": {
+ "name": "یوٗرو",
+ "symbol": "€"
+ },
+ "UAH": {
+ "name": "یوٗکرینیاÛÙÚ© ÛرÙÙˆÙنیا",
+ "symbol": "UAH"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ksb.json b/library/intl/resources/currency/ksb.json
new file mode 100644
index 000000000..14978eb04
--- /dev/null
+++ b/library/intl/resources/currency/ksb.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "bil ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "AED": {
+ "name": "dilham ya Falme za Kialabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dilham ya Moloko",
+ "symbol": "MAD"
+ },
+ "DZD": {
+ "name": "dinali ya Aljelia",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinali ya Bahaleni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "dinali ya Libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "dinali ya Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "dinali ya Tunisia",
+ "symbol": "TND"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "dobla ya Sao Tome na Plincipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dola ya Austlalia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "dola ya Libelia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "dola ya Malekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "falanga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "falanga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "falanga ya Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "falanga ya Bulundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "falanga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "falanga ya Komolo",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "falanga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "falanga ya Lwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "falanga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "ZAR": {
+ "name": "landi ya Aflika Kusini",
+ "symbol": "ZAR"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "SAR": {
+ "name": "liyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "INR": {
+ "name": "lupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "lupia ya Molisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "lupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naila ya Naijelia",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa ya Elitlea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "pauni ya Misli",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "pauni ya Uingeeza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "JPY": {
+ "name": "salafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "shilingi ya Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "ugwiya ya Molitania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "CNY": {
+ "name": "yaun lenminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "yulo",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ksf.json b/library/intl/resources/currency/ksf.json
new file mode 100644
index 000000000..4ac12ffae
--- /dev/null
+++ b/library/intl/resources/currency/ksf.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "XAF": {
+ "name": "fráŋ",
+ "symbol": "FCFA"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "ZAR": {
+ "name": "mÉ”ni mÇ Ã¡ afrik anÇ a sud",
+ "symbol": "ZAR"
+ },
+ "XOF": {
+ "name": "mÉ”ni mÇ Ã¡ afríka aná wÉ›s",
+ "symbol": "CFA"
+ },
+ "DZD": {
+ "name": "mÉ”ni mÇ Ã¡ aljÉ›rí",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "mÉ”ni mÇ Ã¡ amÉ›rika",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "mÉ”ni mÇ Ã¡ angóla",
+ "symbol": "AOA"
+ },
+ "SAR": {
+ "name": "mÉ”ni mÇ Ã¡ arabí saodí",
+ "symbol": "SAR"
+ },
+ "BHD": {
+ "name": "mÉ”ni mÇ Ã¡ barÇÌn",
+ "symbol": "BHD"
+ },
+ "AED": {
+ "name": "mÉ”ni mÇ Ã¡ bÇlɔŋ bÇ kaksa bÉ› táatáaÅ‹zÇn",
+ "symbol": "AED"
+ },
+ "BWP": {
+ "name": "mÉ”ni mÇ Ã¡ botswana",
+ "symbol": "BWP"
+ },
+ "BIF": {
+ "name": "mÉ”ni mÇ Ã¡ burundí",
+ "symbol": "BIF"
+ },
+ "CNY": {
+ "name": "mÉ”ni mÇ Ã¡ cín",
+ "symbol": "CNÂ¥"
+ },
+ "DJF": {
+ "name": "mÉ”ni mÇ Ã¡ dyibutí",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "mÉ”ni mÇ Ã¡ É›jípt",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "mÉ”ni mÇ Ã¡ É›ritrÉ›Ì",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "mÉ”ni mÇ Ã¡ É›tyÉ”pí",
+ "symbol": "ETB"
+ },
+ "GMD": {
+ "name": "mÉ”ni mÇ Ã¡ gambí",
+ "symbol": "GMD"
+ },
+ "INR": {
+ "name": "mÉ”ni mÇ Ã¡ indí",
+ "symbol": "₹"
+ },
+ "GBP": {
+ "name": "mÉ”ni mÇ Ã¡ ingÉ›rís",
+ "symbol": "£"
+ },
+ "JPY": {
+ "name": "mÉ”ni mÇ Ã¡ japÉ”ÌÅ‹",
+ "symbol": "JPÂ¥"
+ },
+ "CAD": {
+ "name": "mÉ”ni mÇ Ã¡ kanada",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "mÉ”ni mÇ Ã¡ kapvÉ›r",
+ "symbol": "CVE"
+ },
+ "KES": {
+ "name": "mÉ”ni mÇ Ã¡ kÉ›nya",
+ "symbol": "KES"
+ },
+ "KMF": {
+ "name": "mÉ”ni mÇ Ã¡ komÉ”r",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "mÉ”ni mÇ Ã¡ kÉ”ngó",
+ "symbol": "CDF"
+ },
+ "LSL": {
+ "name": "mÉ”ni mÇ Ã¡ lÇsóto",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "mÉ”ni mÇ Ã¡ libÉ›rya",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "mÉ”ni mÇ Ã¡ libí",
+ "symbol": "LYD"
+ },
+ "MGA": {
+ "name": "mÉ”ni mÇ Ã¡ madagaska",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "mÉ”ni mÇ Ã¡ malawi",
+ "symbol": "MWK"
+ },
+ "MAD": {
+ "name": "mÉ”ni mÇ Ã¡ marÉ”k",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "mÉ”ni mÇ Ã¡ mwarís",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "mÉ”ni mÇ Ã¡ mwaritaní",
+ "symbol": "MRO"
+ },
+ "NAD": {
+ "name": "mÉ”ni mÇ Ã¡ namibí",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "mÉ”ni mÇ Ã¡ nijÉ›Ìrya",
+ "symbol": "NGN"
+ },
+ "AUD": {
+ "name": "mÉ”ni mÇ Ã¡ É”stralí",
+ "symbol": "A$"
+ },
+ "EUR": {
+ "name": "mÉ”ni mÇ Ã¡ pÉ›rÉ›sÇÌ",
+ "symbol": "€"
+ },
+ "RWF": {
+ "name": "mÉ”ni mÇ Ã¡ rwanda",
+ "symbol": "RWF"
+ },
+ "STD": {
+ "name": "mÉ”ni mÇ Ã¡ saotomÉ›Ì ri priÅ‹sib",
+ "symbol": "STD"
+ },
+ "SCR": {
+ "name": "mÉ”ni mÇ Ã¡ sÉ›cÉ›l",
+ "symbol": "SCR"
+ },
+ "SHP": {
+ "name": "mÉ”ni mÇ Ã¡ sÉ›ntÉ›Ìlen",
+ "symbol": "SHP"
+ },
+ "SOS": {
+ "name": "mÉ”ni mÇ Ã¡ somalí",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "mÉ”ni mÇ Ã¡ sudan",
+ "symbol": "SDG"
+ },
+ "SZL": {
+ "name": "mÉ”ni mÇ Ã¡ swazilan",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "mÉ”ni mÇ Ã¡ swís",
+ "symbol": "CHF"
+ },
+ "SLL": {
+ "name": "mÉ”ni mÇ Ã¡ syÉ›raleon",
+ "symbol": "SLL"
+ },
+ "TZS": {
+ "name": "mÉ”ni mÇ Ã¡ tanzaní",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "mÉ”ni mÇ Ã¡ tunÉ›sí",
+ "symbol": "TND"
+ },
+ "UGX": {
+ "name": "mÉ”ni mÇ Ã¡ uganda",
+ "symbol": "UGX"
+ },
+ "ZMW": {
+ "name": "mÉ”ni mÇ Ã¡ zambí",
+ "symbol": "ZMW"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ksh.json b/library/intl/resources/currency/ksh.json
new file mode 100644
index 000000000..c7441e096
--- /dev/null
+++ b/library/intl/resources/currency/ksh.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afjahni",
+ "symbol": "AFN"
+ },
+ "ARS": {
+ "name": "ajentiinesche Peeso",
+ "symbol": "ARS"
+ },
+ "EGP": {
+ "name": "äjiptesche Pongk",
+ "symbol": "EGP"
+ },
+ "ALL": {
+ "name": "albaanesche Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "aljeresche Denaa",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "ammärrikaanesche Dollaa",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "angjolaanesche Kwansa",
+ "symbol": "AOA"
+ },
+ "AMD": {
+ "name": "armeenesche Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "arubesche Florin",
+ "symbol": "AWG"
+ },
+ "SVC": {
+ "name": "asalvadorejaanesche Cosan",
+ "symbol": "SVC"
+ },
+ "AZN": {
+ "name": "Asserbaidschaani Manat",
+ "symbol": "AZN"
+ },
+ "ETB": {
+ "name": "ätejoopesche Birr",
+ "symbol": "ETB"
+ },
+ "AUD": {
+ "name": "austraalesche Dollaa",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Bachrainesche Denaa",
+ "symbol": "BHD"
+ },
+ "BSD": {
+ "name": "bahama’sche Dollaa",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "Barbados-Dollaa",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "belizjaanesche Dollaa",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermuuda-Dollaa",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "bhutanesesche Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bollivijano",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "brasilljaanesche Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "brittesche £",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei-Dollaa",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "buljaaresche Lev",
+ "symbol": "BGN"
+ },
+ "MMK": {
+ "name": "burmeesesche Kyat",
+ "symbol": "MMK"
+ },
+ "BIF": {
+ "name": "burundesche Frang",
+ "symbol": "BIF"
+ },
+ "DKK": {
+ "name": "dänesche Kruhne",
+ "symbol": "DKK"
+ },
+ "AED": {
+ "name": "de vereineschte arraabesche Emiraate ier Dirham",
+ "symbol": "AED"
+ },
+ "STD": {
+ "name": "Dobra vun São Tomé un Príncipe",
+ "symbol": "STD"
+ },
+ "TTD": {
+ "name": "Dollaa uß Trinidad un Tobääjo",
+ "symbol": "TTD"
+ },
+ "DOP": {
+ "name": "dommenikaanesche Peesos",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "Fidschi-Dollaa",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "fillipiinesche Pesos",
+ "symbol": "PHP"
+ },
+ "XOF": {
+ "name": "Frang uß de Älfebeinköß",
+ "symbol": "CFA"
+ },
+ "DJF": {
+ "name": "Frang uß Dschibuti",
+ "symbol": "DJF"
+ },
+ "HTG": {
+ "name": "haiitesche Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "hondureanesche Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkong-Dollaa",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "indesche Ruupije",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indoneesesche Ruupije",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "iraakesche Denaa",
+ "symbol": "IQD"
+ },
+ "ISK": {
+ "name": "ißländesche Kruhne",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "ißraeelesche Schekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "jamaikaanesche Dollaa",
+ "symbol": "JMD"
+ },
+ "GMD": {
+ "name": "jambesche Dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "janaaesche Cedi",
+ "symbol": "GHS"
+ },
+ "JPY": {
+ "name": "japaanesche Jen",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "jemenitesche Rijal",
+ "symbol": "YER"
+ },
+ "GEL": {
+ "name": "jeorjesche Lari",
+ "symbol": "GEL"
+ },
+ "GIP": {
+ "name": "jibraltaa’sche Pongk",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "Jineea-Frang",
+ "symbol": "GNF"
+ },
+ "JOD": {
+ "name": "Jordaanesche Dollaa",
+ "symbol": "JOD"
+ },
+ "GYD": {
+ "name": "Juaana-Dollaa",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "juatemalesche Quetzal",
+ "symbol": "GTQ"
+ },
+ "KYD": {
+ "name": "Kaimann-Dollaa",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "kambodschaanesche Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kannaadesche Dollaa",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kapverdesche Eskuudos",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "kasakesche Tenge",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "kataaresche Rijal",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "Kenjaanesche Schillinge",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "kirjiisesche Som",
+ "symbol": "KGS"
+ },
+ "XAF": {
+ "name": "Kmmeruhner Frang",
+ "symbol": "FCFA"
+ },
+ "COP": {
+ "name": "kolumbesche Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "kommooresche Frang",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "kongjoleesesche Frang",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "koßtarikaanesche Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "krowaatesche Kuna",
+ "symbol": "HRK"
+ },
+ "CUP": {
+ "name": "kubaanesche Peesos",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuwaitesche Denaa",
+ "symbol": "KWD"
+ },
+ "LSL": {
+ "name": "lesoothesche Loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "libaneesesche Pongk",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "liberijaanesche Dollaa",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libesche Denaa",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "littouesche Litas",
+ "symbol": "LTL"
+ },
+ "LAK": {
+ "name": "loaatesche Kip",
+ "symbol": "LAK"
+ },
+ "MGA": {
+ "name": "madajaskesche Ariary",
+ "symbol": "MGA"
+ },
+ "MOP": {
+ "name": "makaneesesche Pataca",
+ "symbol": "MOP"
+ },
+ "MWK": {
+ "name": "malaawesche Kwache",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "malaisesche Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "mallediivesche Rufiyaa",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "marrokaanesche Dirhamm",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "mauretanesche Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "maurizjahnesche Ruupije",
+ "symbol": "MUR"
+ },
+ "MKD": {
+ "name": "mazedoonesche Denaa",
+ "symbol": "MKD"
+ },
+ "MXN": {
+ "name": "mexekaanesche Peeso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldaavesche Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongjoolesche Tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "mossambikaanesche Metical",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "Nafka uß Erritreja",
+ "symbol": "ERN"
+ },
+ "NAD": {
+ "name": "namiibesche Dollaa",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "neederlängsch antillesche Jullde",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "nepaleesesche Ruupije",
+ "symbol": "NPR"
+ },
+ "TWD": {
+ "name": "neu taiwaneesesche Dollaa",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "neuseeländesche Dollaa",
+ "symbol": "NZ$"
+ },
+ "NGN": {
+ "name": "nijerijaanesche Naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "nikarajaanesche Córdoba",
+ "symbol": "NIO"
+ },
+ "KPW": {
+ "name": "noodkorejaansche Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "norrweejesche Kruhne",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "ommaanesche Rijal",
+ "symbol": "OMR"
+ },
+ "CUC": {
+ "name": "ömtuuschbaa kubaanesche Pesos",
+ "symbol": "CUC"
+ },
+ "BAM": {
+ "name": "ömtuuschbaa Mark us Boßnije un dä Hächejovvina",
+ "symbol": "BAM"
+ },
+ "XCD": {
+ "name": "oß-karribbesche Dollaa",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "pakestaanesche Ruupije",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "pannameesesche Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "papua neujinejaanesche Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "parajuaanesche Juarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "perruaanesche Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "IRR": {
+ "name": "persesche Rial",
+ "symbol": "IRR"
+ },
+ "XPF": {
+ "name": "polineesesche Frang",
+ "symbol": "CFPF"
+ },
+ "PLN": {
+ "name": "polnesche ZÅ‚oty",
+ "symbol": "PLN"
+ },
+ "FKP": {
+ "name": "Pongk vun de Falkland-Enselle",
+ "symbol": "FKP"
+ },
+ "BWP": {
+ "name": "Pula us Bozwaana",
+ "symbol": "BWP"
+ },
+ "RON": {
+ "name": "romäänesche Leu",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "ruandesche Frang",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "russesche Ruubel",
+ "symbol": "RUB"
+ },
+ "ZMW": {
+ "name": "sambesche Kwacha",
+ "symbol": "ZMW"
+ },
+ "WST": {
+ "name": "samowaanesche Tala",
+ "symbol": "WST"
+ },
+ "RSD": {
+ "name": "särbesche Denaare",
+ "symbol": "RSD"
+ },
+ "SAR": {
+ "name": "saudesche Rijal",
+ "symbol": "SAR"
+ },
+ "CLP": {
+ "name": "schileenesche Peeso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "schineesesche Yuan Renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "LKR": {
+ "name": "schrilankesche Ruupije",
+ "symbol": "LKR"
+ },
+ "SEK": {
+ "name": "schweedesche Kruhne",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "schweijzer Fränkli",
+ "symbol": "CHF"
+ },
+ "SCR": {
+ "name": "seischellesche Ruupije",
+ "symbol": "SCR"
+ },
+ "ZWL": {
+ "name": "simbabwesche Dollaa (2009)",
+ "symbol": "ZWL"
+ },
+ "SGD": {
+ "name": "singjapurejaanesche Dollaa",
+ "symbol": "SGD"
+ },
+ "ZAR": {
+ "name": "södaffrekaanesche Rand",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "södsudaneesesche Pongk",
+ "symbol": "SSP"
+ },
+ "SBD": {
+ "name": "solomonesche Dollaa",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "somaalesche Schillenge",
+ "symbol": "SOS"
+ },
+ "KRW": {
+ "name": "söödkorejaansche Won",
+ "symbol": "â‚©"
+ },
+ "SLL": {
+ "name": "ẞjärra-lejoneesesche Leone",
+ "symbol": "SLL"
+ },
+ "SDG": {
+ "name": "sudaneesesche Pongk",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "sürinameesesche Dollaa",
+ "symbol": "SRD"
+ },
+ "SYP": {
+ "name": "süüresche Pund",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "swasiländesche Lilangeni",
+ "symbol": "SZL"
+ },
+ "TJS": {
+ "name": "tadschikißtaanesche Somoni",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "tailändesche Baht",
+ "symbol": "THB"
+ },
+ "BDT": {
+ "name": "Taka us Bangladäsch",
+ "symbol": "BDT"
+ },
+ "TZS": {
+ "name": "tansaanesche Schillenge",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "tongjanes Paʻangache",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "törkesche Liire",
+ "symbol": "TRY"
+ },
+ "CZK": {
+ "name": "tschäschesche Kruhne",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "tuneesesche Denaa",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "turkmeneßtaanesche Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "ujandesche Schillenge",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukraijnesche Hryvnia",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "unjarresche Forint",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "urrujuwaische Peeso",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "ußbeekesche Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatesche Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelaanesche Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "vijätnammeesesche Dong",
+ "symbol": "â‚«"
+ },
+ "BYR": {
+ "name": "wiißrußesche Rubel",
+ "symbol": "BYR"
+ },
+ "SHP": {
+ "name": "Zint-Hellena-Pongk",
+ "symbol": "SHP"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ky.json b/library/intl/resources/currency/ky.json
new file mode 100644
index 000000000..bdab1fa2a
--- /dev/null
+++ b/library/intl/resources/currency/ky.json
@@ -0,0 +1,634 @@
+{
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AUD": {
+ "name": "ÐвÑÑ‚Ñ€Ð°Ð»Ð¸Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ñ‹",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "Ðзербайжан манаты",
+ "symbol": "AZN"
+ },
+ "USD": {
+ "name": "ÐКШ доллары",
+ "symbol": "USD"
+ },
+ "ALL": {
+ "name": "албан леги",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Ðлжир динары",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Ðнгола кванзаÑÑ‹",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "аргентина пеÑоÑу",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "ÐÑ€Ð¼ÐµÐ½Ð¸Ñ Ð´Ñ€Ð°Ð¼Ñ‹",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "аруба флорини",
+ "symbol": "AWG"
+ },
+ "AFN": {
+ "name": "ÐфганÑтан афганиÑи",
+ "symbol": "AFN"
+ },
+ "BSD": {
+ "name": "багама доллары",
+ "symbol": "BSD"
+ },
+ "BDT": {
+ "name": "Бангладеш такаÑÑ‹",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Ð±Ð°Ñ€Ð±Ð°Ð´Ð¾Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ñ‹",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "Бахрейн динары",
+ "symbol": "BHD"
+ },
+ "BYR": {
+ "name": "беларуÑÑŒ рублу",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "белиз доллары",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "бермуд доллары",
+ "symbol": "BMD"
+ },
+ "AED": {
+ "name": "Бириккен Ðраб Эмираттары дирхамы",
+ "symbol": "AED"
+ },
+ "BGN": {
+ "name": "болгар левиÑи",
+ "symbol": "BGN"
+ },
+ "BOB": {
+ "name": "Ð±Ð¾Ð»Ð¸Ð²Ð¸Ñ Ð±Ð¾Ð»Ð¸Ð²Ð¸Ð°Ð½Ð¾Ñу",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "боÑниÑ-герцоговина жүгүртөлмөлүү маркаÑÑ‹",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "БотÑвана пулаÑÑ‹",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Ð±Ñ€Ð°Ð·Ð¸Ð»Ð¸Ñ Ñ€ÐµÐ°Ð»Ñ‹",
+ "symbol": "BRL"
+ },
+ "GBP": {
+ "name": "Ð±Ñ€Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½Ñ‚ Ñтерлинги",
+ "symbol": "GBP"
+ },
+ "BND": {
+ "name": "Бруней доллары",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "Бурунди франкы",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "Бутан нгултруму",
+ "symbol": "BTN"
+ },
+ "VUV": {
+ "name": "Вануату ватуÑу",
+ "symbol": "VUV"
+ },
+ "HUF": {
+ "name": "венгр форинти",
+ "symbol": "HUF"
+ },
+ "VEF": {
+ "name": "венеÑуÑла боливары",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Вьетнам доӊу",
+ "symbol": "â‚«"
+ },
+ "HTG": {
+ "name": "гаити гурдуÑу",
+ "symbol": "HTG"
+ },
+ "GMD": {
+ "name": "Ð“Ð°Ð¼Ð±Ð¸Ñ Ð´Ð°Ð»Ð°ÑиÑи",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Гана ÑедиÑи",
+ "symbol": "GHS"
+ },
+ "GTQ": {
+ "name": "гватемала кетÑалы",
+ "symbol": "GTQ"
+ },
+ "GIP": {
+ "name": "гибралтар фунту",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "Гине франкы",
+ "symbol": "GNF"
+ },
+ "HNL": {
+ "name": "Ð³Ð¾Ð½Ð´ÑƒÑ€Ð°Ñ Ð»ÐµÐ¼Ð¿Ð¸Ñ€Ð°ÑÑ‹",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Гоӊ Коӊ доллары",
+ "symbol": "HKD"
+ },
+ "GEL": {
+ "name": "Ð“Ñ€ÑƒÐ·Ð¸Ñ Ð»Ð°Ñ€Ð¸Ñи",
+ "symbol": "GEL"
+ },
+ "GYD": {
+ "name": "гуйана доллары",
+ "symbol": "GYD"
+ },
+ "DKK": {
+ "name": "Ð´Ð°Ð½Ð¸Ñ ÐºÑ€Ð¾Ð½Ñƒ",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "доминикан пеÑоÑу",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "NZD": {
+ "name": "Жаӊы Ð—ÐµÐ»Ð°Ð½Ð´Ð¸Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ñ‹",
+ "symbol": "NZD"
+ },
+ "JPY": {
+ "name": "Жапан йени",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "Жибути франкы",
+ "symbol": "DJF"
+ },
+ "ZMW": {
+ "name": "Ð—Ð°Ð¼Ð±Ð¸Ñ ÐºÐ²Ð°Ñ‡Ð°ÑÑ‹",
+ "symbol": "ZMW"
+ },
+ "ILS": {
+ "name": "Израил жаӊы шегели",
+ "symbol": "ILS"
+ },
+ "INR": {
+ "name": "Ð˜Ð½Ð´Ð¸Ñ Ñ€ÑƒÐ¿Ð¸Ñи",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "Ð˜Ð½Ð´Ð¾Ð½ÐµÐ·Ð¸Ñ Ñ€ÑƒÐ¿Ð¸Ð¹Ð°ÑÑ‹",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Ирак динары",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Иран риалы",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "иÑÐ»Ð°Ð½Ð´Ð¸Ñ ÐºÑ€Ð¾Ð½Ñƒ",
+ "symbol": "ISK"
+ },
+ "YER": {
+ "name": "Йемен риалы",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Ð™Ð¾Ñ€Ð´Ð°Ð½Ð¸Ñ Ð´Ð¸Ð½Ð°Ñ€Ñ‹",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Кабо-Верде ÑÑкудоÑу",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "КазакÑтан теӊгеÑи",
+ "symbol": "KZT"
+ },
+ "KYD": {
+ "name": "кайман доллары",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "Камбожа риели",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "канада доллары",
+ "symbol": "CAD"
+ },
+ "QAR": {
+ "name": "Катар риалы",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "ÐšÐµÐ½Ð¸Ñ ÑˆÐ¸Ð»Ð»Ð¸Ð½Ð³Ð¸",
+ "symbol": "KES"
+ },
+ "COP": {
+ "name": "ÐºÐ¾Ð»ÑƒÐ¼Ð±Ð¸Ñ Ð¿ÐµÑоÑу",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "ÐšÐ¾Ð¼Ð¾Ñ€Ð¾Ñ Ñ„Ñ€Ð°Ð½ÐºÑ‹",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Конго франкы",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "коÑта-рика колону",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "куба жүгүртүлмөлүү пеÑоÑу",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "куба пеÑоÑу",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "Кувейт динары",
+ "symbol": "KWD"
+ },
+ "XAF": {
+ "name": "КФРВЕÐС франкы",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "КФРВСЕÐО франкы",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "КФП франкы",
+ "symbol": "CFPF"
+ },
+ "KGS": {
+ "name": "КыргызÑтан Ñому",
+ "symbol": "Ñом"
+ },
+ "CNY": {
+ "name": "Кытай юаны",
+ "symbol": "CNÂ¥"
+ },
+ "LAK": {
+ "name": "Ð›Ð°Ð¾Ñ ÐºÐ¸Ð±Ð¸",
+ "symbol": "LAK"
+ },
+ "LRD": {
+ "name": "Ð›Ð¸Ð±ÐµÑ€Ð¸Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ñ‹",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "Ливан фунту",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "Ð›Ð¸Ð²Ð¸Ñ Ð´Ð¸Ð½Ð°Ñ€Ñ‹",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "литва литаÑÑ‹",
+ "symbol": "LTL"
+ },
+ "MUR": {
+ "name": "Мавританий рупиÑи",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "ÐœÐ°Ð²Ñ€Ð¸Ñ‚Ð°Ð½Ð¸Ñ ÑƒÐ³Ð¸ÑÑÑ‹",
+ "symbol": "MRO"
+ },
+ "MGA": {
+ "name": "МадагаÑкар ариариÑи",
+ "symbol": "MGA"
+ },
+ "MOP": {
+ "name": "Макау патакаÑÑ‹",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "македон денары",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "Малави квачаÑÑ‹",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "ÐœÐ°Ð»Ð°Ð¹Ð·Ð¸Ñ Ñ€Ð¸Ð½Ð³Ð³Ð¸Ñ‚Ð¸",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Малдив РуфийаÑÑ‹",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Марокко дирхамы",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "мекÑика пеÑоÑу",
+ "symbol": "MXN"
+ },
+ "EGP": {
+ "name": "МиÑир фунту",
+ "symbol": "EGP"
+ },
+ "MMK": {
+ "name": "Мйанмар кйаты",
+ "symbol": "MMK"
+ },
+ "MZN": {
+ "name": "Мозамбик метикалы",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "молдован лейи",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Монгол тугриги",
+ "symbol": "MNT"
+ },
+ "NAD": {
+ "name": "ÐÐ°Ð¼Ð¸Ð±Ð¸Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ñ‹",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Ðепал рупиÑи",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ÐÐ¸Ð³ÐµÑ€Ð¸Ñ Ð½Ð°Ð¹Ñ€Ð°ÑÑ‹",
+ "symbol": "NGN"
+ },
+ "ANG": {
+ "name": "нидерланд-антил гулдени",
+ "symbol": "ANG"
+ },
+ "NIO": {
+ "name": "никарагуа кордобаÑÑ‹",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Ð½Ð¾Ñ€Ð²ÐµÐ³Ð¸Ñ ÐºÑ€Ð¾Ð½Ñƒ",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Оман риалы",
+ "symbol": "OMR"
+ },
+ "RUB": {
+ "name": "Ð¾Ñ€ÑƒÑ Ñ€ÑƒÐ±Ð»Ñƒ",
+ "symbol": "RUB"
+ },
+ "UZS": {
+ "name": "ӨзбекÑтан Ñому",
+ "symbol": "UZS"
+ },
+ "PKR": {
+ "name": "ПакиÑтан рупиÑи",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "панама балбоаÑÑ‹",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Папуа Жаӊы Гине кинаÑÑ‹",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "парагвай гуараниÑи",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "перу нуÑво Ñолу",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "польша злотыйы",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "Руанда франкы",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "румын лейи",
+ "symbol": "RON"
+ },
+ "WST": {
+ "name": "Самоа талаÑÑ‹",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Сао Томе жана ПринÑипе добраÑÑ‹",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Сауд риалы",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "Свази лилангени",
+ "symbol": "SZL"
+ },
+ "SCR": {
+ "name": "Сейшел рупиÑи",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "Ñерб динары",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "Сиерра-Леоне леонеÑи",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Сингапур доллары",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "Ð¡Ð¸Ñ€Ð¸Ñ Ñ„ÑƒÐ½Ñ‚Ñƒ",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "Соломон доллары",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Сомали шиллинги",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "Судан фунту",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Ñуринам доллары",
+ "symbol": "SRD"
+ },
+ "TJS": {
+ "name": "ТажикÑтан ÑомониÑи",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "Тай баты",
+ "symbol": "฿"
+ },
+ "TWD": {
+ "name": "Тайвань жаӊы доллары",
+ "symbol": "TWD"
+ },
+ "TZS": {
+ "name": "Ð¢Ð°Ð½Ð·Ð°Ð½Ð¸Ñ ÑˆÐ¸Ð»Ð»Ð¸Ð½Ð³Ð¸",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "Тонга паангаÑÑ‹",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "тринидад жана тобаго доллары",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Ð¢ÑƒÐ½Ð¸Ñ Ð´Ð¸Ð½Ð°Ñ€Ñ‹",
+ "symbol": "TND"
+ },
+ "KPW": {
+ "name": "Түндүк ÐšÐ¾Ñ€ÐµÑ ÑƒÐ¾Ð½Ñƒ",
+ "symbol": "KPW"
+ },
+ "TRY": {
+ "name": "Ð¢Ò¯Ñ€ÐºÐ¸Ñ Ð»Ð¸Ñ€Ð°ÑÑ‹",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "ТүркмөнÑтан манаты",
+ "symbol": "TMT"
+ },
+ "ZAR": {
+ "name": "Түштүк Ðфрика ранды",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Түштүк ÐšÐ¾Ñ€ÐµÑ ÑƒÐ¾Ð½Ñƒ",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "Түштүк Судан фунту",
+ "symbol": "SSP"
+ },
+ "UGX": {
+ "name": "Уганда шиллинги",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "украин гривени",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "уругвай пеÑоÑу",
+ "symbol": "UYU"
+ },
+ "FJD": {
+ "name": "Фижи доллары",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Филиппин пеÑоÑу",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "фолкленд аралдарынын фунту",
+ "symbol": "FKP"
+ },
+ "HRK": {
+ "name": "хорват кунаÑÑ‹",
+ "symbol": "HRK"
+ },
+ "CZK": {
+ "name": "чех кронаÑÑ‹",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "чили пеÑоÑу",
+ "symbol": "CLP"
+ },
+ "XCD": {
+ "name": "чыгыш кариб доллары",
+ "symbol": "XCD"
+ },
+ "CHF": {
+ "name": "ÑˆÐ²ÐµÐ¹Ñ†Ð°Ñ€Ð¸Ñ Ñ„Ñ€Ð°Ð½ÐºÑ‹",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "ÑˆÐ²ÐµÑ†Ð¸Ñ ÐºÑ€Ð¾Ð½Ñƒ",
+ "symbol": "SEK"
+ },
+ "LKR": {
+ "name": "Шри Ланка рупиÑи",
+ "symbol": "LKR"
+ },
+ "SHP": {
+ "name": "Ыйык Елена фунту",
+ "symbol": "SHP"
+ },
+ "ERN": {
+ "name": "Эритреа накфаÑÑ‹",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ð­Ñ„Ð¸Ð¾Ð¿Ð¸Ñ Ð±Ð¸Ñ€Ñ€Ð¸",
+ "symbol": "ETB"
+ },
+ "JMD": {
+ "name": "Ñмайка доллары",
+ "symbol": "JMD"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/lag.json b/library/intl/resources/currency/lag.json
new file mode 100644
index 000000000..ddfa28c20
--- /dev/null
+++ b/library/intl/resources/currency/lag.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bíiri ya Ʉhabéeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Daláasi ya Gámbia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dináairi ya Alijéria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dináari ya Baharéeni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dináari ya Líbia",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dináari ya Tunísia",
+ "symbol": "TND"
+ },
+ "MAD": {
+ "name": "Diriháamu ya Moróoko",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Diriháamu ya Ʉtemi wa Kɨaráabu",
+ "symbol": "AED"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dóbura ya SaoTóome na Pirínsipe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Dóola ya AmerɨÌka",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dóola ya Ausitereelía",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dóola ya Kánada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dóola ya Libéria",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dóola ya Namíbia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Esikúudo ya Kepuvéede",
+ "symbol": "CVE"
+ },
+ "CHF": {
+ "name": "Faráaka ya Uswíisi",
+ "symbol": "CHF"
+ },
+ "BIF": {
+ "name": "Faráanga ya Burúundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Faráanga ya CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faráanga ya CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Faráanga ya Jibóuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faráanga ya Komóoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faráanga ya Kóongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faráanga ya Rwáanda",
+ "symbol": "RWF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwáacha ya Maláawi",
+ "symbol": "MWK"
+ },
+ "AOA": {
+ "name": "Kwáanza ya Angóola",
+ "symbol": "AOA"
+ },
+ "ZMW": {
+ "name": "Kwácha ya Sámbia",
+ "symbol": "ZMW"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leóoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilengéeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Lóoti ya Lesóoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "Mpía ya bukini",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naíira ya Niijéria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nákɨfa ya Eriterea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Páundi ya Mísiri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Páundi ya Mʉtakatíifu Heléena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Páundi ya Sudáani",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "Páundi ya Ʉɨngɨréesa",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Púula ya Botiswáana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Ráandi ya Afɨrɨka ya Saame",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyáali ya Saudía",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupía ya Ãndia",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupía ya Moríisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupía ya Shelishéeli",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilíingi ya Kéenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Shilíingi ya Somália",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilíingi ya Taansanía",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilíingi ya Ugáanda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ungwíiya ya Moritánia",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yéeni ya Japáani",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yúani Renimínibi ya Chíina",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yúuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/lb.json b/library/intl/resources/currency/lb.json
new file mode 100644
index 000000000..ea1cf873c
--- /dev/null
+++ b/library/intl/resources/currency/lb.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghanesch Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanesche Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algereschen Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolanesche Kwanza",
+ "symbol": "AOA"
+ },
+ "ANG": {
+ "name": "Antillen-Gulden",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "Argentinesche Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armeneschen Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Aruba-Florin",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "Aserbaidschan-Manat",
+ "symbol": "AZN"
+ },
+ "AUD": {
+ "name": "Australeschen Dollar",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Bahama-Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahrain-Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladesch-Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbados-Dollar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belize-Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermuda-Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutan-Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Bolivianesche Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnien an Herzegowina Konvertéierbar Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswanesch Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brasilianesche Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britescht Pond Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunei-Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgaresch Lew",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundi-Frang",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "CFA-Frang (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-Frang (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-Frang",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "Chilenesche Peso",
+ "symbol": "CLP"
+ },
+ "CRC": {
+ "name": "Costa-Rica-Colón",
+ "symbol": "CRC"
+ },
+ "DKK": {
+ "name": "Dänesch Kroun",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "Dominikanesche Peso",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "Dschibuti-Frang",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "Egyptescht Pond",
+ "symbol": "EGP"
+ },
+ "SVC": {
+ "name": "El-Salvador-Colón",
+ "symbol": "SVC"
+ },
+ "ERN": {
+ "name": "Eritréieschen Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopescht Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-Pond",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fidschi-Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "Gambia-Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgesche Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanaeschen Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar-Pond",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemaltekesche Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinea-Frang",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyana-Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haitianesch Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Honduras-Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong-Kong-Dollar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "Indesch Rupie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesesch Rupiah",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Irakeschen Dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iranesch Rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Islännesch Kroun",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "Israeleschen Neie Schekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaika-Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanesche Yen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "Jemen-Rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jordaneschen Dinar",
+ "symbol": "JOD"
+ },
+ "KYD": {
+ "name": "Kaiman-Dollar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "Kambodschanesche Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanadeschen Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kap-Verde-Escudo",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "Kasacheschen Tenge",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "Katar-Riyal",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "Kenia-Schilling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Kirgisesche Som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolumbianesche Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komore-Frang",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo-Frang",
+ "symbol": "CDF"
+ },
+ "HRK": {
+ "name": "Kroatesche Kuna",
+ "symbol": "HRK"
+ },
+ "CUP": {
+ "name": "Kubanesche Peso",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Kubanesche Peso (konvertibel)",
+ "symbol": "CUC"
+ },
+ "KWD": {
+ "name": "Kuwait-Dinar",
+ "symbol": "KWD"
+ },
+ "ZMW": {
+ "name": "Kwacha",
+ "symbol": "ZMW"
+ },
+ "LAK": {
+ "name": "Laoteschen Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "Libanesescht Pond",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberianeschen Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libeschen Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litauesche Litas",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti",
+ "symbol": "LSL"
+ },
+ "MOP": {
+ "name": "Macau-Pataca",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "Madagaskar-Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawi-Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "Malayseschen Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "Maldiven-Rupie",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Marokkaneschen Dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "Mauretaneschen Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritius-Rupie",
+ "symbol": "MUR"
+ },
+ "MKD": {
+ "name": "Mazedoneschen Denar",
+ "symbol": "MKD"
+ },
+ "MXN": {
+ "name": "Mexikanesche Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldawesche Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongoleschen Tögrög",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mosambikanesche Metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmaresche Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibia-Dollar",
+ "symbol": "NAD"
+ },
+ "TWD": {
+ "name": "Neien Taiwan-Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Neiséiland-Dollar",
+ "symbol": "NZ$"
+ },
+ "NPR": {
+ "name": "Nepalesesch Rupie",
+ "symbol": "NPR"
+ },
+ "NIO": {
+ "name": "Nicaraguanesche Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "Nigerianeschen Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "Nordkoreanesche Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Norwegesch Kroun",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "Omanesche Rial",
+ "symbol": "OMR"
+ },
+ "XCD": {
+ "name": "Ostkaribeschen Dollar",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "Pakistanesch Rupie",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamaesche Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua-Neiguinéiesche Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayeschen Guaraní",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruaneschen Neie Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "Philippinnesche Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "Polneschen Zloty",
+ "symbol": "PLN"
+ },
+ "CNY": {
+ "name": "Renminbi Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "RWF": {
+ "name": "Ruanda-Frang",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Rumänesche Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russesche Rubel",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "Salomonen-Dollar",
+ "symbol": "SBD"
+ },
+ "WST": {
+ "name": "Samoaneschen Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São-toméeschen Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi-Rial",
+ "symbol": "SAR"
+ },
+ "CHF": {
+ "name": "Schwäizer Frang",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "Schwedesch Kroun",
+ "symbol": "SEK"
+ },
+ "RSD": {
+ "name": "Serbeschen Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychellen-Rupie",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierra-leonesche Leone",
+ "symbol": "SLL"
+ },
+ "ZWL": {
+ "name": "Simbabwe-Dollar (2009)",
+ "symbol": "ZWL"
+ },
+ "SGD": {
+ "name": "Singapur-Dollar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Somalia-Schilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri-Lanka-Rupie",
+ "symbol": "LKR"
+ },
+ "SHP": {
+ "name": "St. Helena-Pond",
+ "symbol": "SHP"
+ },
+ "ZAR": {
+ "name": "Südafrikanesche Rand",
+ "symbol": "ZAR"
+ },
+ "SDG": {
+ "name": "Sudanesescht Pond",
+ "symbol": "SDG"
+ },
+ "KRW": {
+ "name": "Südkoreanesche Won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Südsudanesescht Pond",
+ "symbol": "SSP"
+ },
+ "SRD": {
+ "name": "Surinameschen Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swasilännesche Lilangeni",
+ "symbol": "SZL"
+ },
+ "SYP": {
+ "name": "Syrescht Pond",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tadschikistan-Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tansania-Schilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thailännesche Baht",
+ "symbol": "฿"
+ },
+ "TRY": {
+ "name": "Tierkesch Lira",
+ "symbol": "TRY"
+ },
+ "TOP": {
+ "name": "Tongaeschen Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad-an-Tobago-Dollar",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "Tschechesch Kroun",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "Tuneseschen Dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "Turkmenistan-Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Uganda-Schilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukraineschen Hrywnja",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "Ungaresche Forint",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "Uruguayesche Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US-Dollar",
+ "symbol": "$"
+ },
+ "UZS": {
+ "name": "Usbekistan-Sum",
+ "symbol": "UZS"
+ },
+ "AED": {
+ "name": "VAE-Dirham",
+ "symbol": "AED"
+ },
+ "VUV": {
+ "name": "Vanuatu-Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezolanesche Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnameseschen Dong",
+ "symbol": "â‚«"
+ },
+ "BYR": {
+ "name": "Wäissrussesche Rubel",
+ "symbol": "BYR"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/lg.json b/library/intl/resources/currency/lg.json
new file mode 100644
index 000000000..c5d3ebfa3
--- /dev/null
+++ b/library/intl/resources/currency/lg.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Biiru ey’Esyopya",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ey’eGambya",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinaali ey’Aligerya",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinaali ey’eBaareeni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinaali ey’eLibya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinaali ey’eSudaani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinaali ey’eTunizya",
+ "symbol": "TND"
+ },
+ "MAD": {
+ "name": "Diraamu ey’eMoroko",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Diraamu eya Emireeti",
+ "symbol": "AED"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobura ey’eSantome ne Purincipe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Doola ey’Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Doola ey’Awusiturelya",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Doola ey’eKanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Doola ey’eLiberya",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Doola ey’eNamibiya",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Esikudo ey’Keepu Veredi",
+ "symbol": "CVE"
+ },
+ "BIF": {
+ "name": "Faranga ey’eburundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ey’eJjibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ey’eKomoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ey’eKongo",
+ "symbol": "CDF"
+ },
+ "MGA": {
+ "name": "Faranga ey’eMalagase",
+ "symbol": "MGA"
+ },
+ "RWF": {
+ "name": "Faranga ey’eRwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ey’eSwitizirandi",
+ "symbol": "CHF"
+ },
+ "XOF": {
+ "name": "Faranga ey’omu Afirika ey’ebugwanjuba",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga ey’omu Afirika eya wakati",
+ "symbol": "FCFA"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwaca ey’eMalawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwaca ey’eZambya",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ey’Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Lewone",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ey’eLesoso",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "Nakifa ey’Eritureya",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "Nayira ey’eNayijerya",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "GBP": {
+ "name": "Pawundi ey’eBungereza",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Pawundi ey’eMisiri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pawundi ey’eSenti Herena",
+ "symbol": "SHP"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ey’eBotiswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ey’eSawusafirika",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyaali ey’eBuwarabu",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupiya ey’eBuyindi",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupiya ey’eMawurisyasi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupiya ey’eSesere",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Silingi ey’eKenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Silingi ey’eSomaliya",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Silingi ey’eTanzaniya",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Silingi eya Yuganda",
+ "symbol": "USh"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "MRO": {
+ "name": "Wugwiya ey’eMawritenya",
+ "symbol": "MRO"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yeni ey’eJapani",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "Yuwani Reniminibi ey’eCayina",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ln.json b/library/intl/resources/currency/ln.json
new file mode 100644
index 000000000..6bb60052f
--- /dev/null
+++ b/library/intl/resources/currency/ln.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "PAB": {
+ "name": "Balboa",
+ "symbol": "PAB"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Birɛ ya Etsiópi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "GHS": {
+ "name": "Cedi",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "Colon ya Kosta Rika",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "DinarÉ› ya Alizeri",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinarɛ ya Bahrɛnɛ",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinarɛ ya Libí",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinarɛ ya Sudá",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "DinarÉ› ya Tinizi",
+ "symbol": "TND"
+ },
+ "MAD": {
+ "name": "Dirihame ya MarokÉ›",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Dirihamɛ ya Lémila alabo",
+ "symbol": "AED"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tomé mpé Presipe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "DolarÉ› ya Ameriki",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dolarɛ ya Kanadá",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "DolarÉ› ya Liberya",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "DolarÉ› ya Namibi",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "DolarÉ› ya Ositali",
+ "symbol": "A$"
+ },
+ "CVE": {
+ "name": "Esikudo ya Kapevɛrɛ",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "ÆlÉ”Ì",
+ "symbol": "€"
+ },
+ "XOF": {
+ "name": "Falánga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Falánga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Falánga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Falánga ya Dzibuti",
+ "symbol": "DJF"
+ },
+ "GNF": {
+ "name": "Falánga ya Gine",
+ "symbol": "GNF"
+ },
+ "KMF": {
+ "name": "Falánga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Falánga ya Kongó",
+ "symbol": "FC"
+ },
+ "MGA": {
+ "name": "Falánga ya Madagasikarɛ",
+ "symbol": "MGA"
+ },
+ "RWF": {
+ "name": "Falánga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Falánga ya Swisɛ",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "PYG": {
+ "name": "Guarani",
+ "symbol": "PYG"
+ },
+ "HTG": {
+ "name": "Gurde",
+ "symbol": "HTG"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angóla",
+ "symbol": "AOA"
+ },
+ "MWK": {
+ "name": "Kwasha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwasha ya Zambi",
+ "symbol": "ZMW"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "LeonÉ›",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LTL": {
+ "name": "Litas ya Litwani",
+ "symbol": "LTL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesóto",
+ "symbol": "LSL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "CZK": {
+ "name": "Motolé Sheki",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Motolé ya Danemark",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Motolé ya Islandi",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Motolé ya Norvej",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Motolé ya Swédi",
+ "symbol": "SEK"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nizerya",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya ElitlÉ›",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "GBP": {
+ "name": "PaunÉ› ya AngÉ›lÉ›tÉ›ÌlÉ›",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Paunɛ ya Ezípitɛ",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Paunɛ ya Sántu elena",
+ "symbol": "SHP"
+ },
+ "DOP": {
+ "name": "Peso Dominikani",
+ "symbol": "DOP"
+ },
+ "ARS": {
+ "name": "Peso y’Argentina",
+ "symbol": "ARS"
+ },
+ "COP": {
+ "name": "Peso ya Kolombi",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso ya Kuba",
+ "symbol": "CUP"
+ },
+ "MXN": {
+ "name": "Peso ya Mexiko",
+ "symbol": "MX$"
+ },
+ "CLP": {
+ "name": "Peso ya Shili",
+ "symbol": "CLP"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randɛ ya Afríka Súdi",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real ya Brazil",
+ "symbol": "R$"
+ },
+ "SAR": {
+ "name": "RiyalÉ› ya Alabi SawuditÉ›",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupi ya ÃndÉ›",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupi ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupi ya Sɛshɛlɛ",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "ShilingÉ› ya Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "ShilingÉ› ya Somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "ShilingÉ› ya Tanzani",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "ShilingÉ› ya Uganda",
+ "symbol": "UGX"
+ },
+ "PEN": {
+ "name": "Sol Sika",
+ "symbol": "PEN"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritani",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yeni ya ZapÉ”",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "YuanÉ› Renminbi ya SinÉ›",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/lo.json b/library/intl/resources/currency/lo.json
new file mode 100644
index 000000000..7ce15ae01
--- /dev/null
+++ b/library/intl/resources/currency/lo.json
@@ -0,0 +1,634 @@
+{
+ "PYG": {
+ "name": "àºàº§àº²àº£àº²àº™àºµ ປາຣາàºàº§àº²àº",
+ "symbol": "PYG"
+ },
+ "GYD": {
+ "name": "àºàº²àºâ€‹àº¢àº²â€‹àº™àºµâ€‹àºª ໂດ​ລ່າ",
+ "symbol": "GYD"
+ },
+ "KHR": {
+ "name": "àºàº³â€‹àº›àº¹â€‹à»€àºˆàº ຣຽວ",
+ "symbol": "KHR"
+ },
+ "GNF": {
+ "name": "àºàº´â€‹àº™àº½àº™ ຟຣັງ",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "àºàº´àºšâ€‹àº£àº²â€‹àº—າ ພາ​ວດ໌",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "àºàº»àº§à»€àº•àº¡àº²àº¥àº²àº™ ເຄັດຊອນ",
+ "symbol": "GTQ"
+ },
+ "KRW": {
+ "name": "ເàºàº»àº²â€‹àº«àº¥àºµà»ƒàº•à»‰ ວອນ",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "ເàºàº»àº²â€‹àº«àº¥àºµâ€‹à»€à»œàº·àº­ ວອນ",
+ "symbol": "KPW"
+ },
+ "GMD": {
+ "name": "​à»àºàº¡â€‹àºšàº½àº™ ດາ​ລາ​ຊິ",
+ "symbol": "GMD"
+ },
+ "SVC": {
+ "name": "ໂàºàº¥àº­àº‡ ເອàºàº²àº§àº²àº”à»",
+ "symbol": "SVC"
+ },
+ "KGS": {
+ "name": "ຄ​ຣີ​àºàº´àºªâ€‹â€‹àº–າ​ນິ ໂຊມ",
+ "symbol": "KGS"
+ },
+ "CDF": {
+ "name": "ຄອງ​ໂàºâ€‹àº¥àºµàºª ຟຣັງ",
+ "symbol": "CDF"
+ },
+ "KZT": {
+ "name": "ຄາ​ຊັàºâ€‹àºªàº°â€‹àº–າ​ນິ ເຕັງ​ເຈ",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "ຄາ​ຕາ​ຣິ ຣຽວ",
+ "symbol": "QAR"
+ },
+ "CUC": {
+ "name": "ຄິວà»àºšàº™ ຄອນເວີດຕິໂບ ເປໂຊ",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "ຄິວà»àºšàº™ ເປໂຊ",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "ຄູ​ເວ​ຕິ ດິ​ນາ",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "ເຄນ​ຢັນ ຊິວ​ລິງ",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "ເຄບ ເວີດ​ດີນ ເອ​ສ​ຄູ​ໂດ",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "ເຄ​à»àº¡àº™ ໄອ​à»àº¥àº™ ໂດ​ລ່າ",
+ "symbol": "KYD"
+ },
+ "CRC": {
+ "name": "ໂຄສຕາ ຣິàºàº±àº™ ໂຄລອນ",
+ "symbol": "CRC"
+ },
+ "KMF": {
+ "name": "ໂຄ​ໂມ​ຣຽນ ຟຣັງ",
+ "symbol": "KMF"
+ },
+ "HRK": {
+ "name": "ໂຄຣ​ເອ​ທຽນ ຄູ​ນາ",
+ "symbol": "HRK"
+ },
+ "CZK": {
+ "name": "ໂຄ​ຣູ​ນາ ເຊàº",
+ "symbol": "CZK"
+ },
+ "COP": {
+ "name": "ໂຄ​ລົມ​ບຽນ ເປ​ໂຊ",
+ "symbol": "COP"
+ },
+ "GEL": {
+ "name": "ຈà»â€‹àºˆàº½àº™ ລາ​ຣິ",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "ຈà»â€‹à»àº”​ນຽນ ດິ​ນາ",
+ "symbol": "JOD"
+ },
+ "JMD": {
+ "name": "​ຈາ​ໄມ​àºàº±àº™ ໂດ​ລ່າ",
+ "symbol": "JMD"
+ },
+ "CNY": {
+ "name": "ຈີນ ຢວນ",
+ "symbol": "CNÂ¥"
+ },
+ "SZL": {
+ "name": "ສະ​ວາ​ຊິ ລິ​ລັນ​àºàº´â€‹àº™àºµ",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "ສະ​ວິ​ສ ຟ​ຣັງ",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "ສະ​ວີ​ດິ​ຊ ໂຄຣ​ນາ",
+ "symbol": "SEK"
+ },
+ "AED": {
+ "name": "ສະ​ຫະ​ລັດ​ອາ​ຣັບ​ອາ​ມິ​ເຣດ ເດີ​à»àº®àº¡",
+ "symbol": "AED"
+ },
+ "SGD": {
+ "name": "ສິງ​àºàº°â€‹à»‚ປ ໂດ​ລ່າ",
+ "symbol": "SGD"
+ },
+ "LKR": {
+ "name": "ສີ​ລັງ​àºàº² ຣູ​ປີ",
+ "symbol": "LKR"
+ },
+ "WST": {
+ "name": "ຊາ​ໂມນ ທາ​ລາ",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "ຊາ​ອູ​ດິ ຣິ​ຢອນ",
+ "symbol": "SAR"
+ },
+ "CLP": {
+ "name": "ຊິ​ລຽນ ເປ​ໂຊ",
+ "symbol": "CLP"
+ },
+ "SYP": {
+ "name": "ຊີ​ຣຽນ ພາວດ໌",
+ "symbol": "SYP"
+ },
+ "XPF": {
+ "name": "ຊີ​ເອັບ​ພີ ຟຣັງ",
+ "symbol": "CFPF"
+ },
+ "SDG": {
+ "name": "ຊູ​ດານ​ນີ​ສ ພາວດ໌",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "ຊູ​ຣິ​ນາ​ມີ​ສ ໂດ​ລ່າ",
+ "symbol": "SRD"
+ },
+ "SCR": {
+ "name": "ເຊ​ເຊວ​ລອàºâ€‹àºªà»Œ ຣູ​ປີ",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "ເຊàºâ€‹àº™àº² ​ເລໂອ​ນຽນ ເລ​ໂອນ",
+ "symbol": "SLL"
+ },
+ "GHS": {
+ "name": "ເຊ​ດິ àºàº²â€‹àº™àº²â€‹àº­àº½àº™",
+ "symbol": "GHS"
+ },
+ "SHP": {
+ "name": "ເຊນ ເຮ​ເລ​ນາ ພາວດ໌",
+ "symbol": "SHP"
+ },
+ "RSD": {
+ "name": "ເຊີ​ບຽນ ດິ​ນາ",
+ "symbol": "RSD"
+ },
+ "STD": {
+ "name": "ເຊົາ ໂທ​ເມ à»àº­àº™ ພ​ຣິນ​ຊິ​ປີ ໂດບຣາ",
+ "symbol": "STD"
+ },
+ "SSP": {
+ "name": "ເຊົາ​ທ໌ ຊູ​ດານ​ນີ​ສ ພາວດ໌",
+ "symbol": "SSP"
+ },
+ "ZAR": {
+ "name": "ເຊົາທ໌ ອາ​ຟຣິ​àºàº±àº™ à»àº£àº™àº”໌",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "à»àºŠàº¡â€‹àºšàº½àº™ ຄວາ​ຊາ",
+ "symbol": "ZMW"
+ },
+ "SOS": {
+ "name": "ໂຊ​ມາ​ລິ ຊິວ​ລິງ",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "ໂຊ​ໂລມອນ ໄອ​à»àº¥àº™ ໂດ​ລ່າ",
+ "symbol": "SBD"
+ },
+ "JPY": {
+ "name": "àºàºµà»ˆâ€‹àº›àº¸à»ˆàº™ ເຢນ",
+ "symbol": "JPÂ¥"
+ },
+ "ZWL": {
+ "name": "ດອນລາ ຊິມບັບເວ (2009)",
+ "symbol": "ZWL"
+ },
+ "DJF": {
+ "name": "​ດິ​ບູ​ຈຽນ ຟຣັງ",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "à»àº”ນ​ນິ​ຊ ໂຄຣນ",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ໂດ​ມິ​ນິ​àºàº±àº™ ເປ​ໂຊ",
+ "symbol": "DOP"
+ },
+ "BBD": {
+ "name": "ໂດລ່າ ບາບາດຽນ",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "ໂດລ່າ ບາຮາມຽນ",
+ "symbol": "BSD"
+ },
+ "CAD": {
+ "name": "ໂດລ່າຄານາດາ",
+ "symbol": "CA$"
+ },
+ "USD": {
+ "name": "​ໂດ​ລ່າ​ສະ​ຫະ​ລັດຯ",
+ "symbol": "US$"
+ },
+ "BZD": {
+ "name": "ໂດ​ລ່າ​ເບ​ລິ​ຊ",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "ໂດ​ລ່າ​ເບີ​ມິວ​ດາ",
+ "symbol": "BMD"
+ },
+ "TOP": {
+ "name": "ຕອງ​àºàº±àº™ ປາ​ອັງ​àºàº²",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "ຕູ​ນິ​ຊຽນ ດິ​ນາ",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "ເຕີàºâ€‹à»€àº¡â€‹àº™àº´â€‹àºªâ€‹àº–າ​ນິ ມາ​ນັດ",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "ເຕີ​àºàº´â€‹àºŠ ລິ​ຣາ",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "ທ​ຣິ​ນິ​à»àº”ດ à»àº­àº™ ໂທ​ບາ​ໂຠໂດ​ລ່າ",
+ "symbol": "TTD"
+ },
+ "TJS": {
+ "name": "ທາ​ຈິ​àºàº´â€‹â€‹àº–າ​ນິ ໂຊ​ໂມ​ນິ",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "ທານ​ຊາ​ນຽນ ຊິວ​ລິງ",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "ໄທ ບາດ",
+ "symbol": "฿"
+ },
+ "NOK": {
+ "name": "ນà»â€‹à»€àº§â€‹àºàº½àº™ ​ໂຄຣນ",
+ "symbol": "NOK"
+ },
+ "NAD": {
+ "name": "ນາ​ມິ​ບຽນ ໂດ​ລ່າ",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "ນິàºàº²àº£àº²àºàº§àº™ ໂຄໂດບາ",
+ "symbol": "NIO"
+ },
+ "TWD": {
+ "name": "ນິວ ໄຕ້​ຫວັນ ໂດ​ລ່າ",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ນິວ​ຊີ​à»àº¥àº™ ໂດ​ລ່າ",
+ "symbol": "NZ$"
+ },
+ "ANG": {
+ "name": "ເນ​ເທີ​à»àº¥àº™ à»àº­àº™â€‹àº•àº´â€‹àº¥àº½àº™ àºàº´àº§â€‹à»€àº”ີ",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "ເນ​ປານ ຣູ​ປີ",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ໄນ​ຣາ ​ໄນເຈີ​ຣຽນ",
+ "symbol": "NGN"
+ },
+ "BRL": {
+ "name": "ບຣາ​ຊິ​ລຽນ ຣຽວ",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "ບຣູ​ໄນ ໂດ​ລ່າ",
+ "symbol": "BND"
+ },
+ "BAM": {
+ "name": "ບອ​ສ​ເນàº-ເຮີ​ເຊ​ໂàºàº§àº´â€‹àº™àº² ຄອນ​ເວີດ​ຕິ​ໂບ ມາàº",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "ບອດ​ສະ​ວາ​ນານ ພູ​ລາ",
+ "symbol": "BWP"
+ },
+ "BGN": {
+ "name": "ບັງ​àºàº²â€‹àº£àº½àº™ ເລບ",
+ "symbol": "BGN"
+ },
+ "BDT": {
+ "name": "ບັງ​ຄລາ​ເທດ ຕາ​àºàº²",
+ "symbol": "BDT"
+ },
+ "BHD": {
+ "name": "ບາ​ໄຣ​ນິ ດິ​ນາ",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "ບຸ​ຣັນ​ດຽນ ຟຣັງ",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "ເບ​ລາ​ຣຸ​ສ​ຊຽນ ຣູ​ເບິນ",
+ "symbol": "BYR"
+ },
+ "BOB": {
+ "name": "ໂບ​ລິ​ວຽນ ໂບ​ລິ​ເວàºâ€‹à»‚ນ",
+ "symbol": "BOB"
+ },
+ "PKR": {
+ "name": "ປາ​àºàº´â€‹àºªàº–ານ ຣູ​ປີ",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "ປາ​ປົວ ນິວ àºàº´â€‹àº™àº½àº™ àºàº´â€‹àº™àº²",
+ "symbol": "PGK"
+ },
+ "PEN": {
+ "name": "ເປ​ຣູ​ວຽນ ນູ​ໂວ ໂຊ​ລ໌",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "ໂປ​ລິ​ຊ ຊະ​ລà»â€‹àº•àºµ",
+ "symbol": "PLN"
+ },
+ "PAB": {
+ "name": "ພານາມານຽນ ບອນບົວ",
+ "symbol": "PAB"
+ },
+ "GBP": {
+ "name": "ພາວ​ດ໌ ສະ​ເຕີ​ຣິງ (ອັງ​àºàº´àº”)",
+ "symbol": "£"
+ },
+ "BTN": {
+ "name": "ພູ​ຖານ ງຸນດຣັມ",
+ "symbol": "BTN"
+ },
+ "XAF": {
+ "name": "ຟຣັງ ເຊຟານ ທະນາຄານລັດອາຟຣິàºàº²àºàº²àº‡",
+ "symbol": "FCFA"
+ },
+ "FKP": {
+ "name": "ຟອ​ລ໌àºâ€‹à»àº¥àº™ ໄອ​à»àº¥àº™â€‹àºªà»Œ ພາວ​ດ໌",
+ "symbol": "FKP"
+ },
+ "XOF": {
+ "name": "ຟັງເຊຟານ ອາຟຣິàºàº²àº•àº²à»€àº§àº±àº™àº•àº»àº",
+ "symbol": "CFA"
+ },
+ "FJD": {
+ "name": "ຟິ​ຈຽນ ໂດ​ລ່າ",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "ຟິ​ລິບ​ປິນ ເປ​ໂຊ",
+ "symbol": "PHP"
+ },
+ "MAD": {
+ "name": "ມà»â€‹àº£àº±àº­àºâ€‹à»àº„ນ​ ເດີ​à»àº®àº¡",
+ "symbol": "MAD"
+ },
+ "MNT": {
+ "name": "ມອງ​ໂàºâ€‹àº¥àº½àº™ ຕູàºàº£àº´àº",
+ "symbol": "MNT"
+ },
+ "MDL": {
+ "name": "ມອນ​ໂດ​à»àº§àº™ ເລ​ອູ",
+ "symbol": "MDL"
+ },
+ "MVR": {
+ "name": "ມັ​ລ​ດິ​ວຽນ ຣູ​ຟິ​ຢາ",
+ "symbol": "MVR"
+ },
+ "MOP": {
+ "name": "ມາ​ເàºàº»à»‰àº² ປາ​​ຕາ​àºàº²",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "ມາ​ລາ​àºàº²â€‹àºŠàºµ ອາ​ເຣàºâ€‹àº£àºµ",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "ມາ​ລາ​ວຽນ ຄວາ​ຊາ",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "ມາ​ເລ​ເຊຠຣິງ​àºàº´àº”",
+ "symbol": "MYR"
+ },
+ "MRO": {
+ "name": "ມົວ​ຣິ​ທາ​ນຽນ ອູ​àºàº´àº§â€‹àº¢àº²",
+ "symbol": "MRO"
+ },
+ "MMK": {
+ "name": "ມຽນ​ມາ ຈ໊າດ",
+ "symbol": "MMK"
+ },
+ "MXN": {
+ "name": "ເມັàºàºŠàº´àºàº±àº™ ເປໂຊ",
+ "symbol": "MX$"
+ },
+ "MUR": {
+ "name": "ເມົາ​ຣິ​ທຽນ ຣູ​ປີ",
+ "symbol": "MUR"
+ },
+ "MKD": {
+ "name": "à»àº¡àº±àºâ€‹à»€àºŠâ€‹à»‚ດ​ນຽນ ເດ​ນາ",
+ "symbol": "MKD"
+ },
+ "MZN": {
+ "name": "ໂມ​à»àºŠàº¡â€‹àºšàº´â€‹àºàº±àº™ ເມ​ທິ​ຄອນ",
+ "symbol": "MZN"
+ },
+ "UAH": {
+ "name": "ຢູ​ເຄຣ​ນຽນ ຮະ​ຣີບ​ເນàº",
+ "symbol": "UAH"
+ },
+ "EUR": {
+ "name": "ຢູ​ໂຣ",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "ເຢ​ເມ​ນິ ຣຽວ",
+ "symbol": "YER"
+ },
+ "RWF": {
+ "name": "ຣະ​ວັນ​ດັນ ຟຣັງ",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "ຣັສ​ຊຽນ ຣູ​ເບິນ",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "ໂຣ​ມາ​ນຽນ ເລ​ອູ",
+ "symbol": "RON"
+ },
+ "LAK": {
+ "name": "ລາວ àºàºµàºš",
+ "symbol": "â‚­"
+ },
+ "LTL": {
+ "name": "ລິ​ທົວ​ນຽນ ລິ​ທັ​ສ",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "ລິບ​ບຽນ ດິ​ນາ",
+ "symbol": "LYD"
+ },
+ "LRD": {
+ "name": "ລິ​ເບີ​ຣຽນ ໂດ​ລ່າ",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "ເລ​ບາ​ນີ​ສ ພາວດ໌",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "ໂລຕິ ເລໂຊໂຕ",
+ "symbol": "LSL"
+ },
+ "VUV": {
+ "name": "​ວາ​ນົວ​ຕູ ວາ​ຕູ",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "ເວ​ເນ​ຊູ​ເອ​ລັນ ໂບ​ລິ​ວາ",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "ຫວຽດ​ນາມ ດົງ",
+ "symbol": "â‚«"
+ },
+ "AUD": {
+ "name": "ອອສ​ເຕຣ​ລຽນ ໂດ​ລ່າ",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "ອະຣູà»àºšàº™ ຟລà»àº£àº´àº™",
+ "symbol": "AWG"
+ },
+ "AFN": {
+ "name": "ອັຟ​àºàº±àº™ ອັຟ​àºàº²â€‹àº™àº´",
+ "symbol": "AFN"
+ },
+ "DZD": {
+ "name": "ອັລ​ເຈີ​ຣຽນ ດິ​ນາ",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "ອັລ​ບາ​ນຽນ ເລàº",
+ "symbol": "ALL"
+ },
+ "ARS": {
+ "name": "ອາ​ເຈນ​ທິ​ນາ ເປ​ໂຊ",
+ "symbol": "ARS"
+ },
+ "AZN": {
+ "name": "ອາ​ເຊີ​ໄບ​ຈາ​ນິ ມາ​ນັດ",
+ "symbol": "AZN"
+ },
+ "AMD": {
+ "name": "ອາ​ເມ​ນຽນ à»àº”ຣມ",
+ "symbol": "AMD"
+ },
+ "ILS": {
+ "name": "ອິສ​ຣາ​ເອວ​ລິ ນິວ ເຊ​ເàºàº§",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "ອິນ​ເດຠຣູ​ປີ",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "ອິນ​ໂດ​ເນ​ຊຽນ ໂດ​ລ່າ",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "ອິ​ຣັàºâ€‹àºàº´ ດິ​ນາ",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ອິ​ຣາ​ນິ ຣຽວ",
+ "symbol": "IRR"
+ },
+ "ERN": {
+ "name": "ອິ​ຣິ​ທຣຽນ à»àº™àºâ€‹àºŸâ€‹àº²",
+ "symbol": "ERN"
+ },
+ "XCD": {
+ "name": "ອີ​ສ ຄາ​ຣິ​ບຽນ ໂດ​ລ່າ",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "ອີ​ຢິບ​ທຽນ ພາວດ໌",
+ "symbol": "EGP"
+ },
+ "UZS": {
+ "name": "ອຸສ​ເບ​àºàº´â€‹àºªâ€‹àº–ານ ໂຊມ",
+ "symbol": "UZS"
+ },
+ "UGX": {
+ "name": "ອູ​àºàº±àº™â€‹àº”ັນ ຊິວ​ລິງ",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "ອູ​ຣຸ​àºàº»àº§â€‹àº¢àº²àº™ ເປ​ໂຊ",
+ "symbol": "UYU"
+ },
+ "ETB": {
+ "name": "ເອ​ທິ​ໂອ​ປຽນ ເບີ​ຣ໌",
+ "symbol": "ETB"
+ },
+ "AOA": {
+ "name": "à»àº­àº‡â€‹à»‚àºâ€‹àº¥àº±àº™ ຄວນ​ຊາ",
+ "symbol": "AOA"
+ },
+ "OMR": {
+ "name": "ໂອ​ມາ​ນິ ຣຽວ",
+ "symbol": "OMR"
+ },
+ "ISK": {
+ "name": "ໄອ​ສ໌​à»àº¥àº™â€‹àº”ິຠໂຄຣ​ນາ",
+ "symbol": "ISK"
+ },
+ "HKD": {
+ "name": "ຮອງ​àºàº»àº‡ ໂດ​ລ່າ",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "ຮອນດູà»àº£àº™ ເລມພິຣາ",
+ "symbol": "HNL"
+ },
+ "HUF": {
+ "name": "ຮັງ​àºàº²â€‹àº£àº½àº™ ຟà»â€‹àº£àº´àº™",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "ໄຮ​ຕຽນ àºàº»àº§â€‹à»€àº”",
+ "symbol": "HTG"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/lt.json b/library/intl/resources/currency/lt.json
new file mode 100644
index 000000000..3035cdf12
--- /dev/null
+++ b/library/intl/resources/currency/lt.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afganistano afganis",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanijos lekas",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alžyro dinaras",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolos kvanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentinos pesas",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "ArmÄ—nijos dramas",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Arubos guldenas",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australijos doleris",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "Azerbaidžano manatas",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamų doleris",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahreino dinaras",
+ "symbol": "BHD"
+ },
+ "BYR": {
+ "name": "Baltarusijos rublis",
+ "symbol": "BYR"
+ },
+ "BDT": {
+ "name": "Bangladešo taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadoso doleris",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belizo doleris",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudos doleris",
+ "symbol": "BMD"
+ },
+ "BOB": {
+ "name": "Bolivijos bolivijanas",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnijos ir Hercegovinos konvertuojamoji markÄ—",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botsvanos pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brazilijos realas",
+ "symbol": "BRL"
+ },
+ "BND": {
+ "name": "BrunÄ—jaus doleris",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgarijos levas",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundžio frankas",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "Butano ngultrumas",
+ "symbol": "BTN"
+ },
+ "XOF": {
+ "name": "CFA BCEAO frankas",
+ "symbol": "XOF"
+ },
+ "XAF": {
+ "name": "CFA BEAC frankas",
+ "symbol": "XAF"
+ },
+ "XPF": {
+ "name": "CFP frankas",
+ "symbol": "XPF"
+ },
+ "CZK": {
+ "name": "ÄŒekijos krona",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "ÄŒilÄ—s pesas",
+ "symbol": "CLP"
+ },
+ "DKK": {
+ "name": "Danijos krona",
+ "symbol": "DKK"
+ },
+ "GBP": {
+ "name": "Didžiosios Britanijos svaras sterlingų",
+ "symbol": "GBP"
+ },
+ "DOP": {
+ "name": "Dominikos pesas",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "DžibuÄio frankas",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "Egipto svaras",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "EritrÄ—jos nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Etiopijos biras",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euras",
+ "symbol": "EUR"
+ },
+ "FKP": {
+ "name": "Falklando salų svaras",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fidžio doleris",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filipinų pesas",
+ "symbol": "PHP"
+ },
+ "GYD": {
+ "name": "Gajanos doleris",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "Gambijos dalasis",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Ganos sedis",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltaro svaras",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "Gruzijos laris",
+ "symbol": "GEL"
+ },
+ "GTQ": {
+ "name": "Gvatemalos ketcalis",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "GvinÄ—jos frankas",
+ "symbol": "GNF"
+ },
+ "HTG": {
+ "name": "HaiÄio gurdas",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Hondūro lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Honkongo doleris",
+ "symbol": "HKD"
+ },
+ "INR": {
+ "name": "Indijos rupija",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "Indonezijos rupija",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Irako dinaras",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Irano rialas",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Islandijos krona",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "Izraelio naujasis Å¡ekelis",
+ "symbol": "ILS"
+ },
+ "JMD": {
+ "name": "Jamaikos doleris",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japonijos jena",
+ "symbol": "JPY"
+ },
+ "USD": {
+ "name": "JAV doleris",
+ "symbol": "USD"
+ },
+ "YER": {
+ "name": "Jemeno rialas",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jordanijos dinaras",
+ "symbol": "JOD"
+ },
+ "AED": {
+ "name": "Jungtinių Arabų Emyratų dirhamas",
+ "symbol": "AED"
+ },
+ "KYD": {
+ "name": "Kaimanų salų doleris",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "Kambodžos rielis",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanados doleris",
+ "symbol": "CAD"
+ },
+ "QAR": {
+ "name": "Kataro rialas",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "Kazachstano tengÄ—",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenijos Å¡ilingas",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "Kinijos ženminbi juanis",
+ "symbol": "CNY"
+ },
+ "KGS": {
+ "name": "Kirgizijos somas",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolumbijos pesas",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komoro frankas",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo frankas",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Kosta Rikos kolonas",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "Kroatijos kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "Kubos konvertuojamasis pesas",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Kubos pesas",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "Kuveito dinaras",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Laoso kipas",
+ "symbol": "LAK"
+ },
+ "PLN": {
+ "name": "Lenkijos zlotas",
+ "symbol": "PLN"
+ },
+ "LSL": {
+ "name": "Lesoto lotis",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "Libano svaras",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberijos doleris",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libijos dinaras",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Lietuvos litas",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "Madagaskaro ariaris",
+ "symbol": "MGA"
+ },
+ "MOP": {
+ "name": "Makao pataka",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Makedonijos denaras",
+ "symbol": "MKD"
+ },
+ "MYR": {
+ "name": "Malaizijos ringitas",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "Malavio kvaÄa",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Maldyvų rufija",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Maroko dirhamas",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "Mauricijaus rupija",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mauritanijos ugija",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "Meksikos pesas",
+ "symbol": "MXN"
+ },
+ "MMK": {
+ "name": "Mianmaro kijatas",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "Moldovos lÄ—ja",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolijos tugrikas",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mozambiko metikalis",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "Namibijos doleris",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "Naujosios Zelandijos doleris",
+ "symbol": "NZD"
+ },
+ "NPR": {
+ "name": "Nepalo rupija",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "Nigerijos naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "Nikaragvos kordoba",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Norvegijos krona",
+ "symbol": "NOK"
+ },
+ "ANG": {
+ "name": "Olandijos Antilų guldenas",
+ "symbol": "ANG"
+ },
+ "OMR": {
+ "name": "Omano rialas",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistano rupija",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamos balboja",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua Naujosios GvinÄ—jos kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paragvajaus guaranis",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peru naujasis solis",
+ "symbol": "PEN"
+ },
+ "ZAR": {
+ "name": "Pietų Afrikos Respublikos randas",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Pietų Korėjos vonas",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "Pietų Sudano svaras",
+ "symbol": "SSP"
+ },
+ "XCD": {
+ "name": "Rytų Karibų doleris",
+ "symbol": "XCD"
+ },
+ "RWF": {
+ "name": "Ruandos frankas",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Rumunijos lÄ—ja",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Rusijos rublis",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "Saliamono salų doleris",
+ "symbol": "SBD"
+ },
+ "SVC": {
+ "name": "Salvadoro kolonas",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoa tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "San TomÄ—s ir PrincipÄ—s dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudo Arabijos rijalas",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Seišelių rupija",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "Serbijos dinaras",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "Siera LeonÄ—s leonÄ—",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapūro doleris",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "Sirijos svaras",
+ "symbol": "SYP"
+ },
+ "SOS": {
+ "name": "Somalio Å¡ilingas",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "Sudano svaras",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surimano doleris",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Svazilando lilangenis",
+ "symbol": "SZL"
+ },
+ "KPW": {
+ "name": "Å iaurÄ—s KorÄ—jos vonas",
+ "symbol": "KPW"
+ },
+ "LKR": {
+ "name": "Å ri Lankos rupija",
+ "symbol": "LKR"
+ },
+ "SHP": {
+ "name": "Šv. Elenos salų svaras",
+ "symbol": "SHP"
+ },
+ "SEK": {
+ "name": "Å vedijos krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Å veicarijos frankas",
+ "symbol": "CHF"
+ },
+ "TJS": {
+ "name": "Tadžikistano somonis",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "Tailando batas",
+ "symbol": "THB"
+ },
+ "TWD": {
+ "name": "Taivano naujasis doleris",
+ "symbol": "TWD"
+ },
+ "TZS": {
+ "name": "Tanzanijos Å¡ilingas",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "Tongo paanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidado ir Tobago doleris",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tuniso dinaras",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turkijos lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "TurkmÄ—nistano manatas",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandos Å¡ilingas",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainos grivina",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "Urugvajaus pesas",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "Uzbekistano sumas",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu vatas",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venesuelos bolivaras",
+ "symbol": "VEF"
+ },
+ "HUF": {
+ "name": "Vengrijos forintas",
+ "symbol": "HUF"
+ },
+ "VND": {
+ "name": "Vietnamo dongas",
+ "symbol": "VND"
+ },
+ "ZMW": {
+ "name": "Zambijos kvaÄa",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZimbabvÄ—s doleris (2009)",
+ "symbol": "ZWL"
+ },
+ "CVE": {
+ "name": "Žaliojo Kyšulio eskudas",
+ "symbol": "CVE"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/lu.json b/library/intl/resources/currency/lu.json
new file mode 100644
index 000000000..a82c98852
--- /dev/null
+++ b/library/intl/resources/currency/lu.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bira wa Etshiopi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra wa Sao Tome ne Presipe",
+ "symbol": "STD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Esikuludo wa Kapevere",
+ "symbol": "CVE"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "EUR": {
+ "name": "Iro",
+ "symbol": "€"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "AOA": {
+ "name": "Kwanza wa Angola",
+ "symbol": "AOA"
+ },
+ "MWK": {
+ "name": "Kwasha wa Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwasha wa Zambi",
+ "symbol": "ZMW"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leone",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti wa Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira wa Nizerya",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa wa Elitle",
+ "symbol": "ERN"
+ },
+ "GMD": {
+ "name": "Ndalasi wa Ngambi",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Ndina wa Alijeri",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Ndina wa Bahrene",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Ndina wa Libi",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Ndina wa Suda",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Ndina wa Tinizi",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Ndiriha wa Lemila alabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Ndiriha wa Maroke",
+ "symbol": "MAD"
+ },
+ "USD": {
+ "name": "Ndola wa Ameriki",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Ndola wa Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Ndola wa Liberya",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Ndola wa Namibi",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "Ndola wa Ositali",
+ "symbol": "A$"
+ },
+ "XOF": {
+ "name": "Nfalanga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Nfalanga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Nfalanga wa Bulundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Nfalanga wa Dzibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Nfalanga wa Komoru",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Nfalanga wa Kongu",
+ "symbol": "FC"
+ },
+ "MGA": {
+ "name": "Nfalanga wa Madagasikare",
+ "symbol": "MGA"
+ },
+ "RWF": {
+ "name": "Nfalanga wa Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Nfalanga wa Swise",
+ "symbol": "CHF"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "KES": {
+ "name": "Nshili wa Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Nshili wa Somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Nshili wa Tanzani",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Nshili wa Uganda",
+ "symbol": "UGX"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "GBP": {
+ "name": "Pauni wa Angeletele",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Pauni wa Mushidi",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni wa Santu Elena",
+ "symbol": "SHP"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula wa Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Rande wa Afrika wa Mwinshi",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyale wa Alabu Nsawu",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupi wa Inde",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia wa Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupya wa Seshele",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya wa Moritani",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yeni wa ZapÉ”",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuani Renminbi wa Shine",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/luo.json b/library/intl/resources/currency/luo.json
new file mode 100644
index 000000000..82027831e
--- /dev/null
+++ b/library/intl/resources/currency/luo.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Birr mar Ethiopia",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Dola",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Dola mar Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola mar Liberia",
+ "symbol": "LRD"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Paund mar Misri",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Pauni mar Uingereza",
+ "symbol": "£"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani",
+ "symbol": "SDG"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula mar Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "KES": {
+ "name": "Siling mar Kenya",
+ "symbol": "Ksh"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yen mar Japan",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/luy.json b/library/intl/resources/currency/luy.json
new file mode 100644
index 000000000..b92aaa572
--- /dev/null
+++ b/library/intl/resources/currency/luy.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "KES": {
+ "name": "Sirinji ya Kenya",
+ "symbol": "Ksh"
+ },
+ "TZS": {
+ "name": "Sirinji ya Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Sirinji ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/lv.json b/library/intl/resources/currency/lv.json
new file mode 100644
index 000000000..72837602a
--- /dev/null
+++ b/library/intl/resources/currency/lv.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AfganistÄnas afgÄns",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "AlbÄnijas leks",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alžīrijas dinÄrs",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Angolas kvanza",
+ "symbol": "AOA"
+ },
+ "AED": {
+ "name": "Apvienoto ArÄbu EmirÄtu dirhÄ“ms",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "Argentīnas peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armēnijas drams",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Arubas guldenis",
+ "symbol": "AWG"
+ },
+ "USD": {
+ "name": "ASV dolÄrs",
+ "symbol": "$"
+ },
+ "AUD": {
+ "name": "AustrÄlijas dolÄrs",
+ "symbol": "AU$"
+ },
+ "XCD": {
+ "name": "AustrumkarÄ«bu dolÄrs",
+ "symbol": "EC$"
+ },
+ "AZN": {
+ "name": "AzerbaidžÄnas manats",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamu dolÄrs",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahreinas dinÄrs",
+ "symbol": "BHD"
+ },
+ "BYR": {
+ "name": "Baltkrievijas rubelis",
+ "symbol": "BYR"
+ },
+ "BDT": {
+ "name": "Bangladešas taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadosas dolÄrs",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belizas dolÄrs",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermudu dolÄrs",
+ "symbol": "BMD"
+ },
+ "BOB": {
+ "name": "Bolīvijas boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnijas un Hercogovinas marka",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botsvanas pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "BrazÄ«lijas reÄls",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunejas dolÄrs",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "BulgÄrijas leva",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundi franks",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "ButÄnas ngultrums",
+ "symbol": "BTN"
+ },
+ "XAF": {
+ "name": "CentrÄlÄfrikas CFA franks",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franks",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "ÄŒehijas krona",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "Čīles peso",
+ "symbol": "CLP"
+ },
+ "DKK": {
+ "name": "DÄnijas krona",
+ "symbol": "DKK"
+ },
+ "ZAR": {
+ "name": "DienvidÄfrikas rends",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Dienvidkorejas vona",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "DienvidsudÄnas mÄrciņa",
+ "symbol": "SSP"
+ },
+ "DOP": {
+ "name": "DominikÄnas peso",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "Džibutijas franks",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "Ä’Ä£iptes mÄrciņa",
+ "symbol": "EGP"
+ },
+ "EUR": {
+ "name": "eiro",
+ "symbol": "€"
+ },
+ "ERN": {
+ "name": "Eritrejas nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Etiopijas birs",
+ "symbol": "ETB"
+ },
+ "FJD": {
+ "name": "Fidži dolÄrs",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filipīnu peso",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "Folklenda Salu mÄrciņa",
+ "symbol": "FKP"
+ },
+ "GYD": {
+ "name": "GajÄnas dolÄrs",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "Gambijas dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Ganas sedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GibraltÄra mÄrciņa",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "Gruzijas lari",
+ "symbol": "GEL"
+ },
+ "GTQ": {
+ "name": "Gvatemalas ketsals",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Gvinejas franks",
+ "symbol": "GNF"
+ },
+ "HTG": {
+ "name": "Haiti gurds",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Hondurasas lempīra",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Honkongas dolÄrs",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "HorvÄtijas kuna",
+ "symbol": "HRK"
+ },
+ "INR": {
+ "name": "Indijas rūpija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonēzijas rūpija",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "IrÄkas dinÄrs",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IrÄnas riÄls",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Īslandes krona",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "Izraēlas šekelis",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaikas dolÄrs",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "JapÄnas jena",
+ "symbol": "Â¥"
+ },
+ "NZD": {
+ "name": "JaunzÄ“landes dolÄrs",
+ "symbol": "NZ$"
+ },
+ "YER": {
+ "name": "Jemenas riÄls",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "JordÄnas dinÄrs",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Kaboverdes eskudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Kaimanu salu dolÄrs",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "Kambodžas riels",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "KanÄdas dolÄrs",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Kataras riÄls",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "KazahstÄnas tenge",
+ "symbol": "KZT"
+ },
+ "CDF": {
+ "name": "KDR franks",
+ "symbol": "CDF"
+ },
+ "KES": {
+ "name": "Kenijas šiliņš",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KirgizstÄnas soms",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolumbijas peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komoru franks",
+ "symbol": "KMF"
+ },
+ "CRC": {
+ "name": "Kostarikas kolons",
+ "symbol": "CRC"
+ },
+ "RUB": {
+ "name": "Krievijas rublis",
+ "symbol": "RUB"
+ },
+ "CUC": {
+ "name": "Kubas konvertējamais peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Kubas peso",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "Kuveitas dinÄrs",
+ "symbol": "KWD"
+ },
+ "CNY": {
+ "name": "Ķīnas juaņs",
+ "symbol": "CNÂ¥"
+ },
+ "LAK": {
+ "name": "Laosas kips",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesoto loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "LibÄnas mÄrciņa",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "LibÄ“rijas dolÄrs",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "LÄ«bijas dinÄrs",
+ "symbol": "LYD"
+ },
+ "GBP": {
+ "name": "LielbritÄnijas sterliņu mÄrciņa",
+ "symbol": "£"
+ },
+ "LTL": {
+ "name": "Lietuvas lits",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "Madagaskaras ariari",
+ "symbol": "MGA"
+ },
+ "MOP": {
+ "name": "Makao pataka",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "MaÄ·edonijas denÄrs",
+ "symbol": "MKD"
+ },
+ "MYR": {
+ "name": "Malaizijas ringits",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "MalÄvijas kvaÄa",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Maldīvijas rūfija",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "Marokas dirhēms",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "Maurīcijas rūpija",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "MauritÄnijas ugija",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "Meksikas peso",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Mjanmas kjats",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "Moldovas leja",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolijas tugriks",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mozambikas metikals",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NamÄ«bijas dolÄrs",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "NepÄlas rÅ«pija",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "Nīderlandes Antiļu guldenis",
+ "symbol": "ANG"
+ },
+ "NGN": {
+ "name": "Nigērijas naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "Nikaragvas kordoba",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Norvēģijas krona",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "OmÄnas riÄls",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "PakistÄnas rÅ«pija",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamas balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua-Jaungvinejas kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paragvajas guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peru jaunais sols",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Polijas zlots",
+ "symbol": "PLN"
+ },
+ "XOF": {
+ "name": "RietumÄfrikas CFA franks",
+ "symbol": "CFA"
+ },
+ "RWF": {
+ "name": "Ruandas franks",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "RumÄnijas leja",
+ "symbol": "RON"
+ },
+ "SVC": {
+ "name": "Salvadoras kolons",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoa tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Santome un Prinsipi dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "SaÅ«da riÄls",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Seišelu salu rūpija",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "Serbijas dinÄrs",
+ "symbol": "RSD"
+ },
+ "SGD": {
+ "name": "SingapÅ«ras dolÄrs",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "SÄ«rijas mÄrciņa",
+ "symbol": "SYP"
+ },
+ "SLL": {
+ "name": "Sjerraleones leone",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SomÄlijas Å¡iliņš",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "SudÄnas mÄrciņa",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamas dolÄrs",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "Sv.HelÄ“nas salas mÄrciņa",
+ "symbol": "SHP"
+ },
+ "SZL": {
+ "name": "Svazilendas lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "Šrilankas rūpija",
+ "symbol": "LKR"
+ },
+ "CHF": {
+ "name": "Å veices franks",
+ "symbol": "CHF"
+ },
+ "TJS": {
+ "name": "TadžikistÄnas somons",
+ "symbol": "TJS"
+ },
+ "TWD": {
+ "name": "TaivÄnas jaunais dolÄrs",
+ "symbol": "NT$"
+ },
+ "THB": {
+ "name": "Taizemes bÄts",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "TanzÄnijas Å¡iliņš",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "Tongas paanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "TrinidÄdas un TobÄgo dolÄrs",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisijas dinÄrs",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turcijas lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "TurkmenistÄnas manats",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Ugandas šiliņš",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrainas grivna",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "UngÄrijas forints",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "Urugvajas peso",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UzbekistÄnas sums",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatu vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "VenecuÄ“las bolivÄrs",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vjetnamas dongi",
+ "symbol": "â‚«"
+ },
+ "SBD": {
+ "name": "ZÄlamana Salu dolÄrs",
+ "symbol": "SBD"
+ },
+ "ZMW": {
+ "name": "Zambijas kvaÄa",
+ "symbol": "ZMW"
+ },
+ "KPW": {
+ "name": "Ziemeļkorejas vona",
+ "symbol": "KPW"
+ },
+ "ZWL": {
+ "name": "Zimbabves dolÄrs (2009)",
+ "symbol": "ZWL"
+ },
+ "SEK": {
+ "name": "Zviedrijas krona",
+ "symbol": "SEK"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/mas.json b/library/intl/resources/currency/mas.json
new file mode 100644
index 000000000..150439fe3
--- /dev/null
+++ b/library/intl/resources/currency/mas.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "ZAR": {
+ "name": "Iropiyianí e Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "DZD": {
+ "name": "Iropiyianí e Algeria",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Iropiyianí e Angola",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "Iropiyianí e Austria",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Iropiyianí e Bahareini",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "Iropiyianí e Botswana",
+ "symbol": "BWP"
+ },
+ "MGA": {
+ "name": "Iropiyianí e Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "Iropiyianí e Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Iropiyianí e CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Iropiyianí e CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "Iropiyianí e China",
+ "symbol": "CNÂ¥"
+ },
+ "ERN": {
+ "name": "Iropiyianí e Eritrea",
+ "symbol": "ERN"
+ },
+ "GMD": {
+ "name": "Iropiyianí e Gambia",
+ "symbol": "GMD"
+ },
+ "INR": {
+ "name": "Iropiyianí e India",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "Iropiyianí e Japani",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "Iropiyianí e Jibuti",
+ "symbol": "DJF"
+ },
+ "CAD": {
+ "name": "Iropiyianí e Kanada",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "Iropiyianí e Kenya",
+ "symbol": "Ksh"
+ },
+ "CVE": {
+ "name": "Iropiyianí e Kepuvede",
+ "symbol": "CVE"
+ },
+ "KMF": {
+ "name": "Iropiyianí e Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Iropiyianí e Kongo",
+ "symbol": "CDF"
+ },
+ "SLL": {
+ "name": "Iropiyianí e leoni",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "Iropiyianí e Lesoto",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Iropiyianí e Liberia",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Iropiyianí e Libya",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "Iropiyianí e lilangeni",
+ "symbol": "SZL"
+ },
+ "MWK": {
+ "name": "Iropiyianí e Malawi",
+ "symbol": "MWK"
+ },
+ "EGP": {
+ "name": "Iropiyianí e Misri",
+ "symbol": "EGP"
+ },
+ "MUR": {
+ "name": "Iropiyianí e Morisi",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Iropiyianí e Moritania",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "Iropiyianí e Moroko",
+ "symbol": "MAD"
+ },
+ "NAD": {
+ "name": "Iropiyianí e Namibia",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "Iropiyianí e Nijeria",
+ "symbol": "NGN"
+ },
+ "GBP": {
+ "name": "Iropiyianí e NkɨÌresa",
+ "symbol": "£"
+ },
+ "RWF": {
+ "name": "Iropiyianí e Rwanda",
+ "symbol": "RWF"
+ },
+ "ZMW": {
+ "name": "Iropiyianí e Sambia",
+ "symbol": "ZMW"
+ },
+ "SHP": {
+ "name": "Iropiyianí e Santahelena",
+ "symbol": "SHP"
+ },
+ "STD": {
+ "name": "Iropiyianí e Saotome",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Iropiyianí e Saudi",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Iropiyianí e Shelisheli",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "Iropiyianí e Somalia",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "Iropiyianí e Sudani",
+ "symbol": "SDG"
+ },
+ "TZS": {
+ "name": "Iropiyianí e Tanzania",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "Iropiyianí e Tunisia",
+ "symbol": "TND"
+ },
+ "UGX": {
+ "name": "Iropiyianí e Uganda",
+ "symbol": "UGX"
+ },
+ "ETB": {
+ "name": "Iropiyianí e Uhabeshi",
+ "symbol": "ETB"
+ },
+ "CHF": {
+ "name": "Iropiyianí e Uswisi",
+ "symbol": "CHF"
+ },
+ "EUR": {
+ "name": "Iropiyianí e yuro",
+ "symbol": "€"
+ },
+ "USD": {
+ "name": "Iropiyianí É”Ìɔ̄ lamarekani",
+ "symbol": "US$"
+ },
+ "AED": {
+ "name": "Iropiyianí É”Ìɔ̄ lmarabu",
+ "symbol": "AED"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/mer.json b/library/intl/resources/currency/mer.json
new file mode 100644
index 000000000..ca2586a0c
--- /dev/null
+++ b/library/intl/resources/currency/mer.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariarĩ ya Bukini",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bĩrũ ya Ithiopia",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Anjĩria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Baharini",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme cia Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Dola ya Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dola ya Austrĩlia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Swisilandi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Paũndi ya Misri",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Paũndi ya Ngeretha",
+ "symbol": "£"
+ },
+ "SHP": {
+ "name": "Paũndi ya Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Paũndi ya Sudani",
+ "symbol": "SDG"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika ya Sauthi",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudi Arĩbia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Maurĩtiasi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya japani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Mauritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/mfe.json b/library/intl/resources/currency/mfe.json
new file mode 100644
index 000000000..9bde9c3cf
--- /dev/null
+++ b/library/intl/resources/currency/mfe.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "birr etiopien",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "dalasi gambien",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar alzerien",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahreïn",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "dinar libien",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "dinar soudane",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "dinar tinizien",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dirham Emira arab ini",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirham marokin",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "dobra santomeen",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "dolar amerikin",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "dolar kanadien",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "dolar liberien",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dolar namibien",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "dolar ostralien",
+ "symbol": "A$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "eskudo kapverdien",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "BIF": {
+ "name": "fran burunde",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "fran CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "fran CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "fran djiboutien",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "fran komorien",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "fran kongole",
+ "symbol": "CDF"
+ },
+ "MGA": {
+ "name": "fran malgas",
+ "symbol": "MGA"
+ },
+ "RWF": {
+ "name": "fran rwande",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "fran swis",
+ "symbol": "CHF"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "kwacha malawit",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha zanbien",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza angole",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "leonn Sierra-Leone",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "lilangeni swazi",
+ "symbol": "SZL"
+ },
+ "EGP": {
+ "name": "liv ezipsien",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "liv Sainte-Hélène",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "liv sterlin",
+ "symbol": "£"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "loti lezoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "nafka erythreen",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "naira nizerian",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "MRO": {
+ "name": "ouguiya moritanien",
+ "symbol": "MRO"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "pula ya botswane",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "rand sid-afrikin",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "rial saoudien",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "INR": {
+ "name": "roupi",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "roupi morisien",
+ "symbol": "Rs"
+ },
+ "SCR": {
+ "name": "roupi seselwa",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "shiling kenyan",
+ "symbol": "KES"
+ },
+ "UGX": {
+ "name": "shiling ougande",
+ "symbol": "UGX"
+ },
+ "TZS": {
+ "name": "shiling tanzanien",
+ "symbol": "TZS"
+ },
+ "SOS": {
+ "name": "shilingi somalien",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "yen zapone",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "yuan renminbi sinwa",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/mg.json b/library/intl/resources/currency/mg.json
new file mode 100644
index 000000000..d652606bb
--- /dev/null
+++ b/library/intl/resources/currency/mg.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariary",
+ "symbol": "Ar"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir etiopianina",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi gambianina",
+ "symbol": "GMD"
+ },
+ "BHD": {
+ "name": "dinar bahreïni",
+ "symbol": "BHD"
+ },
+ "TND": {
+ "name": "Dinar tonizianina",
+ "symbol": "TND"
+ },
+ "DZD": {
+ "name": "Dinara alzerianina",
+ "symbol": "DZD"
+ },
+ "LYD": {
+ "name": "Dinara Libyanina",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinara Sodaney",
+ "symbol": "SDG"
+ },
+ "AED": {
+ "name": "Dirham",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham marokianina",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Dolara amerikanina",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dolara aostralianina",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dôlara Kanadianina",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dôlara Liberianina",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dolara namibianina",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Eoro",
+ "symbol": "€"
+ },
+ "CVE": {
+ "name": "Escudo",
+ "symbol": "CVE"
+ },
+ "BIF": {
+ "name": "Farantsa Borondi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Farantsa CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Farantsa CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Farantsa Djibotianina",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Farantsa Komorianina",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Farantsa kôngôley",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Farantsa Roande",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Farantsa soisa",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "kwacha malawite",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambianina",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza angoley",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leone",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "SHP": {
+ "name": "livre de Sainte-Hélène",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "livre sterling",
+ "symbol": "£"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nigerianina",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfà Eritreanina",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "MRO": {
+ "name": "Ouguiya moritanianina",
+ "symbol": "MRO"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pola botsoaney",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Rand afrikanina tatsimo",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Rial saodianina",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "INR": {
+ "name": "Ropia Indianina",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Ropia maorisianina",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Ropia Seysheloà",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilling kenianina",
+ "symbol": "KES"
+ },
+ "UGX": {
+ "name": "Shilling ogandianina",
+ "symbol": "UGX"
+ },
+ "SOS": {
+ "name": "Shilling somalianina",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilling tanzanianina",
+ "symbol": "TZS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "EGP": {
+ "name": "vola venty ejipsiana",
+ "symbol": "EGP"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yen Japoney",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yoan sinoa Renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/mgh.json b/library/intl/resources/currency/mgh.json
new file mode 100644
index 000000000..787e5005c
--- /dev/null
+++ b/library/intl/resources/currency/mgh.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "EUR",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "INR",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MTn"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/mk.json b/library/intl/resources/currency/mk.json
new file mode 100644
index 000000000..743e02a19
--- /dev/null
+++ b/library/intl/resources/currency/mk.json
@@ -0,0 +1,634 @@
+{
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AFN": {
+ "name": "ÐвганиÑтанÑки авгани",
+ "symbol": "AFN"
+ },
+ "AUD": {
+ "name": "ÐвÑтралиÑки долар",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "ÐзербејџанÑки манат",
+ "symbol": "AZN"
+ },
+ "ALL": {
+ "name": "ÐлбанÑки Лек",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "ÐлжирÑки Динар",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "ÐмериканÑки долар",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "ÐнголÑка Кванза",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ÐргентинÑки ПезоÑ",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "ÐрубиÑки флорин",
+ "symbol": "AWG"
+ },
+ "BDT": {
+ "name": "Бангладешка така",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "БарбадоÑки долар",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "БахамÑки долар",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "БахреинÑки Динар",
+ "symbol": "BHD"
+ },
+ "BZD": {
+ "name": "БелизиÑки Долар",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "БелоруÑка рубља",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "БермудÑки долар",
+ "symbol": "BMD"
+ },
+ "BOB": {
+ "name": "БоливиÑки боливиано",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "БоÑанÑко-ХерцеговÑка конвертибилна марка",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "БоцванÑка Пула",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "БразилÑки реал",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "БританÑка Фунта",
+ "symbol": "GBP"
+ },
+ "BND": {
+ "name": "БрунејÑки долар",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "БугарÑки лев",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "БурундиÑки Франк",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "БутанÑки нгултрум",
+ "symbol": "BTN"
+ },
+ "VUV": {
+ "name": "ВанатÑки вату",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "ВенецуелÑки боливар",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "ВиетнамÑки донг",
+ "symbol": "VND"
+ },
+ "GMD": {
+ "name": "ГамбиÑки далаÑи",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ГанÑки Ñеди",
+ "symbol": "GHS"
+ },
+ "GTQ": {
+ "name": "ГватемалÑки кветцал",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "ГвијанÑки Долар",
+ "symbol": "GYD"
+ },
+ "GNF": {
+ "name": "ГвинејÑки франк",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "ГибралтарÑка фунта",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "ГрузиÑки лари",
+ "symbol": "GEL"
+ },
+ "DKK": {
+ "name": "ДанÑка круна",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Добра на Сао Томе и ПринÑипе",
+ "symbol": "STD"
+ },
+ "KYD": {
+ "name": "Долар на кајманÑки оÑтрови",
+ "symbol": "KYD"
+ },
+ "TTD": {
+ "name": "Долар на Тринидад и Тобаго",
+ "symbol": "TTD"
+ },
+ "DOP": {
+ "name": "ДоминиканÑки ПезоÑ",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "ЕгипетÑка Фунта",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ЕритрејÑка Ðакфа",
+ "symbol": "ERN"
+ },
+ "AMD": {
+ "name": "ЕрмениÑки Драм",
+ "symbol": "AMD"
+ },
+ "ETB": {
+ "name": "ЕтиопиÑки Бир",
+ "symbol": "ETB"
+ },
+ "ZMW": {
+ "name": "ЗамбијÑка квача",
+ "symbol": "ZMW"
+ },
+ "CVE": {
+ "name": "Зелено’ртÑки еÑкудо",
+ "symbol": "CVE"
+ },
+ "ILS": {
+ "name": "ИзраелÑки нов шекел",
+ "symbol": "ILS"
+ },
+ "INR": {
+ "name": "ИндијÑка рупија",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "ИндонезиÑка рупија",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "ИранÑки риал",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Ирачки динар",
+ "symbol": "IQD"
+ },
+ "ISK": {
+ "name": "ИÑландÑка крона",
+ "symbol": "ISK"
+ },
+ "XCD": {
+ "name": "ИÑточно карибиÑки долар",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "ЈамајканÑки долар",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "ЈапонÑки јен",
+ "symbol": "JPY"
+ },
+ "YER": {
+ "name": "ЈеменÑки риал",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "ЈорданÑки динар",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "Јужно афрички ранд",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Јужно корејÑки вон",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "ЈужноÑуданÑка фунта",
+ "symbol": "SSP"
+ },
+ "KZT": {
+ "name": "КазахÑтанÑка тенга",
+ "symbol": "KZT"
+ },
+ "KHR": {
+ "name": "КамбоџиÑки рел",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "КанадÑки долар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "КатарÑки риал",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "КениÑки шилинг",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "КинеÑки јуан",
+ "symbol": "CNY"
+ },
+ "KGS": {
+ "name": "КиргиÑтанÑки Ñом",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "КолумбиÑки ПезоÑ",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "КоморÑки долар",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "КонголÑки франк",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "КоÑтариканÑки колон",
+ "symbol": "CRC"
+ },
+ "CUP": {
+ "name": "КубанÑки пезоÑ",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "КубанÑки Ð¿ÐµÐ·Ð¾Ñ (конвертибилен)",
+ "symbol": "CUC"
+ },
+ "KWD": {
+ "name": "КувајтÑки динар",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "ЛаоÑки кип",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "ЛеÑотÑко лоти",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "ЛибанÑка фунта",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "ЛибериÑки долар",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "ЛибијÑки динар",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "ЛитваниÑка лита",
+ "symbol": "LTL"
+ },
+ "MUR": {
+ "name": "МавританÑка рупија",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "МавританÑка угија",
+ "symbol": "MRO"
+ },
+ "MOP": {
+ "name": "Макао патака",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "МакедонÑки денар",
+ "symbol": "ден"
+ },
+ "MWK": {
+ "name": "МалавиÑка квача",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "МалагаÑиÑки ариари",
+ "symbol": "MGA"
+ },
+ "MYR": {
+ "name": "МалазиÑки рингит",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "МалдивиÑка руфија",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "МароканÑки Дирхам",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "МекÑиканÑки пезоÑ",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "МјанмарÑки киат",
+ "symbol": "MMK"
+ },
+ "MZN": {
+ "name": "МозамбиÑки метикал",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "МолдавÑки леу",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "МонголиÑки тугрик",
+ "symbol": "MNT"
+ },
+ "NAD": {
+ "name": "ÐамибиÑки долар",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "ÐепалÑка рупија",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ÐигериÑка наира",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "ÐикарагванÑка кордоба",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "ÐовозеландÑки долар",
+ "symbol": "NZD"
+ },
+ "NOK": {
+ "name": "Ðорвешка круна",
+ "symbol": "NOK"
+ },
+ "AED": {
+ "name": "Обединети ÐрапÑки Емирати Дирхам",
+ "symbol": "AED"
+ },
+ "OMR": {
+ "name": "ОманÑки риал",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "ПакиÑтанÑка рупија",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "ПанамÑка балбоа",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Папуа новогвинејÑка кина",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "ПарагвајÑка гуарана",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "ПеруанÑки нов Ñол",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "ПолÑка злота",
+ "symbol": "PLN"
+ },
+ "RON": {
+ "name": "РоманÑка леи",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "РуандÑки франк",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "РуÑка рубља",
+ "symbol": "RUB"
+ },
+ "SVC": {
+ "name": "СалвадорÑки колон",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "СамоанÑка тала",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "СаудиÑки ријал",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "СвазилендÑки лиланген",
+ "symbol": "SZL"
+ },
+ "KPW": {
+ "name": "Северно корејÑки вон",
+ "symbol": "KPW"
+ },
+ "SCR": {
+ "name": "СејшелÑка рупија",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "СиералеонÑко леоне",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "СингапурÑки долар",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "СиријÑка фунта",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "СоломонÑки долар",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "СомалијÑки шилинг",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "СрпÑки динар",
+ "symbol": "RSD"
+ },
+ "SDG": {
+ "name": "СуданÑка фунта",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "СуринамÑки долар",
+ "symbol": "SRD"
+ },
+ "THB": {
+ "name": "Таи бат",
+ "symbol": "THB"
+ },
+ "TWD": {
+ "name": "ТајванÑки нов долар",
+ "symbol": "TWD"
+ },
+ "TZS": {
+ "name": "ТанзаниÑки шилинг",
+ "symbol": "TZS"
+ },
+ "TJS": {
+ "name": "ТаџикиÑтанÑки Ñомони",
+ "symbol": "TJS"
+ },
+ "TOP": {
+ "name": "ТонганÑка панга",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "ТунизиÑки динар",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "ТуркмениÑÑ‚. манат",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "ТурÑка лира",
+ "symbol": "TRY"
+ },
+ "UGX": {
+ "name": "УгандиÑки шилинг",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "УзбекиÑтанÑки Ñом",
+ "symbol": "UZS"
+ },
+ "UAH": {
+ "name": "УкраинÑка хривнија",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "УнгарÑка форинта",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "УругвајÑки пезоÑ",
+ "symbol": "UYU"
+ },
+ "PHP": {
+ "name": "ФилипинÑки пезоÑ",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "ФиџиÑки долар",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "ФолкландÑка фунта",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "Фунта на Света Елена",
+ "symbol": "SHP"
+ },
+ "HTG": {
+ "name": "ХаитÑки гурд",
+ "symbol": "HTG"
+ },
+ "ANG": {
+ "name": "ХоландÑки антилÑки гилдер",
+ "symbol": "ANG"
+ },
+ "HKD": {
+ "name": "Хонгконшки долар",
+ "symbol": "HKD"
+ },
+ "HNL": {
+ "name": "ХондурÑка лемпира",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "ХрватÑка Куна",
+ "symbol": "HRK"
+ },
+ "XPF": {
+ "name": "ЦФП франк",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "Чешка корона",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "ЧилеанÑки пезоÑ",
+ "symbol": "CLP"
+ },
+ "DJF": {
+ "name": "Ðибути франк",
+ "symbol": "DJF"
+ },
+ "CHF": {
+ "name": "ШвајцарÑки Франк",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "ШведÑка круна",
+ "symbol": "SEK"
+ },
+ "LKR": {
+ "name": "ШриланканÑка рупија",
+ "symbol": "LKR"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ml.json b/library/intl/resources/currency/ml.json
new file mode 100644
index 000000000..ec7c58867
--- /dev/null
+++ b/library/intl/resources/currency/ml.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "CFA à´«àµà´°à´¾à´™àµà´•àµ BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA à´«àµà´°à´¾à´™àµà´•àµ BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP à´«àµà´°à´¾à´™àµà´•àµ",
+ "symbol": "CFPF"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AFN": {
+ "name": "à´…à´«àµâ€Œà´—ാൻ à´…à´«àµâ€Œâ€Œà´—ാനി",
+ "symbol": "AFN"
+ },
+ "AOA": {
+ "name": "അംഗോളൻ â€à´•àµà´µà´¾àµ»à´¸",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "അർജൻറീൻ പെസോ",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "അർമേനിയൻ à´¡àµà´°à´¾à´‚",
+ "symbol": "AMD"
+ },
+ "ALL": {
+ "name": "അൽബേനിയൻ ലെകàµ",
+ "symbol": "ALL"
+ },
+ "AZN": {
+ "name": "അസർബൈജാനി മനതàµ",
+ "symbol": "AZN"
+ },
+ "DZD": {
+ "name": "അൾജീരിയൻ ദിനാർ",
+ "symbol": "DZD"
+ },
+ "AWG": {
+ "name": "അറൂബൻ à´«àµà´²àµ‹à´±à´¿àµ»",
+ "symbol": "AWG"
+ },
+ "IDR": {
+ "name": "ഇനàµà´¤àµ‹à´¨àµ‡à´·àµà´¯àµ» à´±àµà´ªà´¿à´¯",
+ "symbol": "IDR"
+ },
+ "INR": {
+ "name": "ഇനàµà´¤àµà´¯àµ» രൂപ",
+ "symbol": "₹"
+ },
+ "ILS": {
+ "name": "ഇസàµà´°à´¾à´¯àµ‡à´²à´¿ à´¨àµà´¯àµ‚ ഷെകàµà´•àµ†àµ½",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "ഇറാഖി ദിനാർ",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ഇറാനിയൻ റിയാൽ",
+ "symbol": "IRR"
+ },
+ "EGP": {
+ "name": "ഈജിപàµâ€Œà´·àµà´¯àµ» പൗണàµà´Ÿàµ",
+ "symbol": "EGP"
+ },
+ "UAH": {
+ "name": "ഉകàµà´°àµ‡à´¨à´¿à´¯àµ» à´¹àµà´°à´¿à´µàµâ€Œà´¨à´¿à´¯",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "ഉഗാണàµà´Ÿàµ» à´·à´¿à´²àµà´²à´¿à´‚à´—àµ",
+ "symbol": "UGX"
+ },
+ "KPW": {
+ "name": "ഉതàµà´¤à´° കൊറിയൻ വോൺ",
+ "symbol": "KPW"
+ },
+ "UZS": {
+ "name": "ഉസàµâ€Œà´¬àµ†à´•àµà´•à´¿à´¸àµà´¥à´¾àµ» സോം",
+ "symbol": "UZS"
+ },
+ "UYU": {
+ "name": "ഉറàµà´—àµà´µàµ‡à´¯àµ» പെസോ",
+ "symbol": "UYU"
+ },
+ "ETB": {
+ "name": "à´Žà´¤àµà´¯àµ‹à´ªàµà´¯àµ» ബിർ",
+ "symbol": "ETB"
+ },
+ "SVC": {
+ "name": "എൽ സാൽവഡോർ കോളൻ",
+ "symbol": "SVC"
+ },
+ "ERN": {
+ "name": "എറിതàµà´°à´¿à´¯àµ» നകàµà´«",
+ "symbol": "ERN"
+ },
+ "ISK": {
+ "name": "à´à´¸àµâ€Œà´²à´¾àµ»à´¡à´¿à´•àµ à´•àµà´°àµ‹à´£",
+ "symbol": "ISK"
+ },
+ "OMR": {
+ "name": "ഒമാനി റിയാൽ",
+ "symbol": "OMR"
+ },
+ "AUD": {
+ "name": "à´“à´¸àµà´Ÿàµà´°àµ‡à´²à´¿à´¯àµ» ഡോളർ",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "കനേഡിയൻ ഡോളർ",
+ "symbol": "CA$"
+ },
+ "KHR": {
+ "name": "കംബോഡിയൻ റീൽ",
+ "symbol": "KHR"
+ },
+ "KZT": {
+ "name": "കസാകàµà´•à´¿à´¸àµà´¥à´¾àµ» ടെംഗെ",
+ "symbol": "KZT"
+ },
+ "KGS": {
+ "name": "കിർഗിസàµà´¥à´¾à´¨à´¿ സോം",
+ "symbol": "KGS"
+ },
+ "XCD": {
+ "name": "à´•à´¿à´´à´•àµà´•àµ» കരീബിയൻ ഡോളർ",
+ "symbol": "EC$"
+ },
+ "KWD": {
+ "name": "à´•àµà´µàµˆà´±àµà´±à´¿ ദിനാർ",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "കെനിയൻ à´·à´¿à´²àµà´²à´¿à´‚à´—àµ",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "കേപൠവെർദിയൻ à´Žà´¸àµâ€Œà´•àµà´¯àµà´¡àµ‹",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "കേമാൻ à´à´²àµ»à´¡àµâ€Œà´¸àµ ഡോളർ",
+ "symbol": "KYD"
+ },
+ "KMF": {
+ "name": "കൊമോറിയൻ à´«àµà´°à´¾à´™àµà´•àµ",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "കൊളംബിയൻ പെസോ",
+ "symbol": "COP"
+ },
+ "CDF": {
+ "name": "കോങàµà´•à´³àµ€à´¸àµ à´«àµà´°à´¾à´™àµà´•àµ",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "കോസàµà´±àµà´±à´¾ റികàµà´•àµ» കോളൻ",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "à´•àµà´¯àµ‚ബൻ കൺവേർടàµà´Ÿà´¬à´¿àµ¾ പെസോ",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "à´•àµà´¯àµ‚ബൻ പെസോ",
+ "symbol": "CUP"
+ },
+ "HRK": {
+ "name": "à´•àµà´°àµŠà´¯àµ‡à´·àµ» à´•àµà´¯àµà´¨",
+ "symbol": "HRK"
+ },
+ "QAR": {
+ "name": "à´–à´¤àµà´¤àµ¼ റിയാൽ",
+ "symbol": "QAR"
+ },
+ "GYD": {
+ "name": "ഗയാനീസൠഡോളർ",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "ഗാംബിയൻ ദലാസി",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "ഗിനിയൻ à´«àµà´°à´¾à´™àµà´•àµ",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "à´—àµà´µà´¾à´Ÿàµà´Ÿà´¿à´®à´¾à´²àµ» à´•àµà´µàµ†à´±àµà´±àµâ€Œà´¸àµ½",
+ "symbol": "GTQ"
+ },
+ "GHS": {
+ "name": "ഘാനയൻ കെഡി",
+ "symbol": "GHS"
+ },
+ "CLP": {
+ "name": "ചിലിയൻ പെസോ",
+ "symbol": "CLP"
+ },
+ "CZK": {
+ "name": "ചെകàµà´•àµ റിപàµà´ªà´¬àµà´²à´¿à´•àµ കൊരàµà´£",
+ "symbol": "CZK"
+ },
+ "CNY": {
+ "name": "ചൈനീസൠയàµà´µà´¾àµ»",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "ജപàµà´ªà´¾à´¨àµ€à´¸àµ യെൻ",
+ "symbol": "Â¥"
+ },
+ "JMD": {
+ "name": "ജമൈകàµà´•àµ» ഡോളർ",
+ "symbol": "JMD"
+ },
+ "GIP": {
+ "name": "ജിബàµà´°à´¾àµ¾à´Ÿàµà´Ÿàµ¼ പൗണàµà´Ÿàµ",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "ജോർജàµà´œà´¿à´¯àµ» ലാറി",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "ജോർദàµà´¦à´¾à´¨à´¿à´¯àµ» ദിനാർ",
+ "symbol": "JOD"
+ },
+ "TRY": {
+ "name": "ടർകàµà´•à´¿à´·àµ ലിറ",
+ "symbol": "TRY"
+ },
+ "TZS": {
+ "name": "ടാൻസാനിയൻ à´·à´¿à´²àµà´²à´¿à´‚à´—àµ",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "à´Ÿàµà´£àµ€à´·àµà´¯àµ» ദിനാർ",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "ടോംഗൻ പാംഗ",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "à´Ÿàµà´°à´¿à´¨à´¿à´¡à´¾à´¡àµ à´…à´¨àµà´±àµ à´Ÿàµà´¬à´¾à´—ോ ഡോളർ",
+ "symbol": "TTD"
+ },
+ "DKK": {
+ "name": "ഡാനിഷൠകàµà´°àµ‹à´£àµ†",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ഡൊമിനികàµà´•àµ» പെസോ",
+ "symbol": "DOP"
+ },
+ "TJS": {
+ "name": "താജികàµà´•à´¿à´¸àµà´¥à´¾à´¨à´¿ സൊമോനി",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "തായൠബടàµà´Ÿàµ",
+ "symbol": "฿"
+ },
+ "TMT": {
+ "name": "à´¤àµàµ¼à´•àµà´•àµâ€Œà´®àµ†à´¨à´¿à´¸àµà´¥à´¾à´¨à´¿ മനതàµ",
+ "symbol": "TMT"
+ },
+ "KRW": {
+ "name": "ദകàµà´·à´¿à´£ കൊറിയൻ വോൺ",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "ദകàµà´·à´¿à´£ à´¸àµà´¡à´¾à´¨àµ€à´¸àµ പൗണàµà´Ÿàµ",
+ "symbol": "SSP"
+ },
+ "ZAR": {
+ "name": "ദകàµà´·à´¿à´£à´¾à´«àµà´°à´¿à´•àµà´•àµ» റാൻഡàµ",
+ "symbol": "ZAR"
+ },
+ "DJF": {
+ "name": "ദിജിബൗടàµà´Ÿà´¿à´¯àµ» à´«àµà´°à´¾à´™àµà´•àµ",
+ "symbol": "DJF"
+ },
+ "NAD": {
+ "name": "നമീബിയൻ ഡോളർ",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "നികàµà´•à´°à´¾à´—àµà´µàµ» കോർഡോബ",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "നെതർലാൻഡàµâ€Œà´¸àµ ആനàµà´±à´¿à´²àµ» ഗിൽഡർ",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "നേപàµà´ªà´¾à´³àµ€à´¸àµ à´±àµà´ªàµà´ªàµ€",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "നൈജീരിയൻ നൈറ",
+ "symbol": "NGN"
+ },
+ "NOK": {
+ "name": "നോർവീജിയൻ à´•àµà´°àµ‹à´£àµ†",
+ "symbol": "NOK"
+ },
+ "TWD": {
+ "name": "à´¨àµà´¯àµ‚ തായàµâ€Œà´µà´¾àµ» ഡോളർ",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "à´¨àµà´¯àµ‚സിലാനàµà´±àµ ഡോളർ",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "പനാമനിയൻ ബാൽബോവ",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "പരാഗàµà´µàµ‡à´¯àµ» à´—àµà´µà´°à´¨àµ€",
+ "symbol": "PYG"
+ },
+ "PKR": {
+ "name": "പാകàµà´•à´¿à´¸àµà´¥à´¾à´¨à´¿ à´±àµà´ªàµà´ªàµ€",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "പാപàµà´ªàµà´µ à´¨àµà´¯àµ‚ ഗിനിയൻ à´•à´¿à´¨",
+ "symbol": "PGK"
+ },
+ "PEN": {
+ "name": "പെറàµà´µà´¿à´¯àµ» à´¨àµà´¯àµ‚വോ സോൾ",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "പോളിഷൠസàµà´²àµ‹à´Ÿàµà´Ÿà´¿",
+ "symbol": "PLN"
+ },
+ "FKP": {
+ "name": "ഫാകàµà´•àµâ€Œà´²à´¾à´¨àµà´±àµ à´¦àµà´µàµ€à´ªàµà´•à´³àµà´Ÿàµ† പൗണàµà´Ÿàµ",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "ഫിജിയൻ ഡോളർ",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "ഫിലിപàµà´ªàµ€à´¨à´¿ പെസോ",
+ "symbol": "PHP"
+ },
+ "BDT": {
+ "name": "ബംഗàµà´²à´¾à´¦àµ‡à´¶à´¿ ടാകàµà´•",
+ "symbol": "BDT"
+ },
+ "BSD": {
+ "name": "ബഹാമിയൻ ഡോളർ",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "ബഹàµà´±àµˆà´¨à´¿ ദിനാർ",
+ "symbol": "BHD"
+ },
+ "BGN": {
+ "name": "ബൾഗേറിയൻ ലെവàµ",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "ബറàµà´£àµà´Ÿà´¿à´¯àµ» à´«àµà´°à´¾à´™àµà´•àµ",
+ "symbol": "BIF"
+ },
+ "BBD": {
+ "name": "ബാർബഡോസൠഡോളർ",
+ "symbol": "BBD"
+ },
+ "BMD": {
+ "name": "ബെർമàµà´¡àµ» ഡോളർ",
+ "symbol": "BMD"
+ },
+ "BYR": {
+ "name": "ബെലാറàµà´·àµà´¯àµ» റൂബിൾ",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "ബെലീസൠഡോളർ",
+ "symbol": "BZD"
+ },
+ "BOB": {
+ "name": "ബൊളീവിയൻ ബൊളിവിയാനോ",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "ബോടàµâ€Œà´¸àµà´µà´¾à´¨àµ» à´ªàµà´¯àµà´²",
+ "symbol": "BWP"
+ },
+ "BAM": {
+ "name": "ബോസàµâ€Œà´¨à´¿à´¯-ഹെർസഗോവിന കൺവേർടàµà´Ÿà´¬à´¿àµ¾ മാർകàµà´•àµ",
+ "symbol": "BAM"
+ },
+ "BRL": {
+ "name": "à´¬àµà´°à´¸àµ€à´²à´¿à´¯àµ» റിയാൽ",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "à´¬àµà´°à´¿à´Ÿàµà´Ÿàµ€à´·àµ പൗണàµà´Ÿàµ à´¸àµâ€Œà´±àµà´±àµ†àµ¼à´²à´¿à´‚à´—àµ",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "à´¬àµà´°àµ‚ണൈ ഡോളർ",
+ "symbol": "BND"
+ },
+ "BTN": {
+ "name": "ഭൂടàµà´Ÿà´¾à´¨àµ€à´¸àµ ഗൾടàµà´°à´‚",
+ "symbol": "BTN"
+ },
+ "MOP": {
+ "name": "മകാനീസൠപതാകàµà´•",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "മഡഗാസി à´à´°à´¿à´¯à´±à´¿",
+ "symbol": "MGA"
+ },
+ "MNT": {
+ "name": "മംഗോളിയൻ à´¤àµà´—àµà´°à´¿à´•àµ",
+ "symbol": "MNT"
+ },
+ "MWK": {
+ "name": "മലാവിയൻ à´•àµà´µà´šàµà´šà´¾",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "മലേഷàµà´¯àµ» റിംഗിറàµà´±àµ",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "മാൽദീവിയൻ à´±àµà´«à´¿à´¯",
+ "symbol": "MVR"
+ },
+ "MKD": {
+ "name": "മാസിഡോണിയൻ ദിനാർ",
+ "symbol": "MKD"
+ },
+ "MXN": {
+ "name": "മെകàµà´¸à´¿à´•àµà´•àµ» പെസോ",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "മൊസാംബികàµà´•àµ» മെറàµà´±à´¿à´•àµà´•àµ½",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "മൊൾഡോവൻ ലിയàµ",
+ "symbol": "MDL"
+ },
+ "MAD": {
+ "name": "മൊറോകàµà´•àµ» ദിർഹം",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "മൗറിറàµà´±àµ‡à´¨à´¿à´¯àµ» ഔഗിയ",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "മൗറീഷàµà´¯àµ» à´±àµà´ªàµà´ªàµ€",
+ "symbol": "MUR"
+ },
+ "MMK": {
+ "name": "à´®àµà´¯à´¾àµ»à´®à´¾àµ¼ à´•àµà´¯à´¾à´Ÿàµ",
+ "symbol": "MMK"
+ },
+ "USD": {
+ "name": "à´¯àµ.à´Žà´¸àµ. ഡോളർ",
+ "symbol": "$"
+ },
+ "AED": {
+ "name": "à´¯àµà´£àµˆà´±àµà´±à´¡àµ അറബൠഎമിറേറàµà´±àµà´¸àµ ദിർഹം",
+ "symbol": "AED"
+ },
+ "EUR": {
+ "name": "യൂറോ",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "യെമനി റിയാൽ",
+ "symbol": "YER"
+ },
+ "LAK": {
+ "name": "ലാവോഷിയൻ à´•à´¿à´ªàµ",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "ലിതàµà´µà´¾à´¨à´¿à´¯àµ» ലിറàµà´±à´¾à´¸àµ",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "ലിബിയൻ ദിനാർ",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "ലെബനീസൠപൗണàµà´Ÿàµ",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "ലെസോതോ ലോതàµà´¤à´¿",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "ലൈബീരിയൻ ഡോളർ",
+ "symbol": "LRD"
+ },
+ "VUV": {
+ "name": "വനàµà´µà´¾à´¤àµ വാതàµ",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "വിയറàµà´±àµà´¨à´¾à´®àµ€à´¸àµ ഡോങàµ",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "വെനിസàµà´µàµ‡à´²àµ» ബൊളീവർ",
+ "symbol": "VEF"
+ },
+ "LKR": {
+ "name": "à´¶àµà´°àµ€à´²à´™àµà´•àµ» à´±àµà´ªàµà´ªàµ€",
+ "symbol": "LKR"
+ },
+ "WST": {
+ "name": "സമോവൻ താല",
+ "symbol": "WST"
+ },
+ "ZMW": {
+ "name": "സാംബിയൻ à´•àµà´µà´¾à´šàµà´š",
+ "symbol": "ZMW"
+ },
+ "STD": {
+ "name": "സാവോ ടോമി ആൻഡൠപàµà´°à´¿àµ»à´¸à´¿à´ªàµ† ഡോബàµà´°",
+ "symbol": "STD"
+ },
+ "SGD": {
+ "name": "സിംഗപàµà´ªàµ‚ർ ഡോളർ",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "സിയെറ ലിയോണിയൻ ലിയോൺ",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "സിറിയൻ പൗണàµà´Ÿàµ",
+ "symbol": "SYP"
+ },
+ "SCR": {
+ "name": "സീഷെലോയിസൠറàµà´ªàµà´ªàµ€",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "à´¸àµà´¡à´¾à´¨àµ€à´¸àµ പൗണàµà´Ÿàµ",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "à´¸àµà´°à´¿à´¨àµ†à´¯à´¿à´®à´¿à´¸àµ ഡോളർ",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "സെനàµà´±àµ ഹെലീന പൗണàµà´Ÿàµ",
+ "symbol": "SHP"
+ },
+ "RSD": {
+ "name": "സെർബിയൻ ദിനാർ",
+ "symbol": "RSD"
+ },
+ "SOS": {
+ "name": "സോമാലി à´·à´¿à´²àµà´²à´¿à´‚à´—àµ",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "സോളമൻ à´¦àµà´µàµ€à´ªàµà´•à´³àµà´Ÿàµ† ഡോളർ",
+ "symbol": "SBD"
+ },
+ "SAR": {
+ "name": "സൗദി റിയാൽ",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "à´¸àµà´µà´¾à´¸à´¿ ലിലാംഗനി",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "à´¸àµà´µà´¿à´¸àµ à´«àµà´°à´¾à´™àµà´•àµ",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "à´¸àµà´µàµ€à´¡à´¿à´·àµ à´•àµà´°àµ‹à´£",
+ "symbol": "SEK"
+ },
+ "HUF": {
+ "name": "ഹംഗേറിയൻ ഫോറിനàµà´±àµ",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "ഹെയàµâ€Œà´¤à´¿à´¯àµ» ഗൂർഡàµ",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "ഹോങàµà´•àµ‹à´™àµà´™àµ ഡോളർ",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "ഹോണàµà´Ÿàµà´±àµ» ലെംപിറ",
+ "symbol": "HNL"
+ },
+ "RUB": {
+ "name": "റഷàµà´¯àµ» റൂബിൾ",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "à´±àµà´µà´¾à´£àµà´Ÿàµ» à´«àµà´°à´¾à´™àµà´•àµ",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "റൊമാനിയൻ ലെയàµ",
+ "symbol": "RON"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/mn.json b/library/intl/resources/currency/mn.json
new file mode 100644
index 000000000..f0f2c73e2
--- /dev/null
+++ b/library/intl/resources/currency/mn.json
@@ -0,0 +1,634 @@
+{
+ "XPF": {
+ "name": "CFP франк",
+ "symbol": "CFPF"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AUD": {
+ "name": "авÑтрали доллар",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "азербайжаны манат",
+ "symbol": "AZN"
+ },
+ "ALL": {
+ "name": "албанийн лек",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "алжир доллар",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "америк доллар",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "Ðнгол кванза",
+ "symbol": "AOA"
+ },
+ "AED": {
+ "name": "арабын нÑгдÑÑн Ñмиратын дирхам",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "аргентин пеÑо",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "арменийн драм",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "арубын флорин",
+ "symbol": "AWG"
+ },
+ "AFN": {
+ "name": "афганиÑтаний афгани",
+ "symbol": "AFN"
+ },
+ "BSD": {
+ "name": "багам доллар",
+ "symbol": "BSD"
+ },
+ "NPR": {
+ "name": "балба рупи",
+ "symbol": "NPR"
+ },
+ "BDT": {
+ "name": "бангладешийн така",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Ð±Ð°Ñ€Ð±Ð°Ð´Ð¾Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "бахрейн динар",
+ "symbol": "BHD"
+ },
+ "BYR": {
+ "name": "Ð±ÐµÐ»Ð°Ñ€ÑƒÑ Ñ€ÑƒÐ±Ð»ÑŒ",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "белиз доллар",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "бермуд доллар",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "болгарийн лев",
+ "symbol": "BGN"
+ },
+ "BOB": {
+ "name": "боливи боливиано",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "боÑни-герцеговин хөрвөгч марк",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "БотÑвани пула",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "бразилийн рил",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "британийн фунт Ñтерлинг",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "бруней доллар",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "Бурунд франк",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "бутаны нгултрум",
+ "symbol": "BTN"
+ },
+ "VUV": {
+ "name": "вануатугийн вату",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "венеÑуÑлийн боливар",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "вьетнамын донг",
+ "symbol": "â‚«"
+ },
+ "GYD": {
+ "name": "гайана доллар",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "гайтийн гоурд",
+ "symbol": "HTG"
+ },
+ "GMD": {
+ "name": "Гамби далаÑи",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Гана Ñеди",
+ "symbol": "GHS"
+ },
+ "GTQ": {
+ "name": "гватемалийн кецал",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Гвиней франк",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "гибралтар паунд",
+ "symbol": "GIP"
+ },
+ "HNL": {
+ "name": "гондураÑын лемпира",
+ "symbol": "HNL"
+ },
+ "GEL": {
+ "name": "гүржийн лари",
+ "symbol": "GEL"
+ },
+ "DKK": {
+ "name": "данийн крон",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "доминикын пеÑо",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "египет паунд",
+ "symbol": "EGP"
+ },
+ "DJF": {
+ "name": "Жибоути франк",
+ "symbol": "DJF"
+ },
+ "ZMW": {
+ "name": "Замби квача",
+ "symbol": "ZMW"
+ },
+ "XCD": {
+ "name": "зүүн карибийн доллар",
+ "symbol": "EC$"
+ },
+ "ILS": {
+ "name": "израйлийн ÑˆÐ¸Ð½Ñ ÑˆÐµÐºÐµÐ»",
+ "symbol": "₪"
+ },
+ "IDR": {
+ "name": "индонези рупи",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "ирак динар",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "иран риал",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "иÑландийн крон",
+ "symbol": "ISK"
+ },
+ "YER": {
+ "name": "йемен риал",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "йордан динар",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Кабо-Верде ÑÑкудо",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "казахын Ñ‚ÑнгÑ",
+ "symbol": "KZT"
+ },
+ "KYD": {
+ "name": "кайман арлын доллар",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "камбож риел",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "канад доллар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "катар риал",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "Кени шиллинг",
+ "symbol": "KES"
+ },
+ "COP": {
+ "name": "колумбын пеÑо",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Комор франк",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Конго франк",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "коÑта рикагийн колон",
+ "symbol": "CRC"
+ },
+ "CUP": {
+ "name": "кубийн пеÑо",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "кубийн хөрвөгч пеÑо",
+ "symbol": "CUC"
+ },
+ "KWD": {
+ "name": "кувейт динар",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "кыргызын Ñом",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "лаоÑын кип",
+ "symbol": "LAK"
+ },
+ "LRD": {
+ "name": "Либери доллар",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "ливан паунд",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "ливи доллар",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "литвийн литаÑ",
+ "symbol": "LTL"
+ },
+ "MRO": {
+ "name": "Мавритан угиÑ",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Мавритын рупи",
+ "symbol": "MUR"
+ },
+ "MOP": {
+ "name": "макаогийн патака",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "македони динар",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "Малави квача",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "малайзын рингит",
+ "symbol": "MYR"
+ },
+ "MGA": {
+ "name": "Малайн ариари",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "мальдив руфиÑ",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "мароккогийн дирхам",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "мекÑикийн пеÑо",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "Мозамбик метикал",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "молдавийн леу",
+ "symbol": "MDL"
+ },
+ "MMK": {
+ "name": "мьÑнмарын киат",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Ðамиби доллар",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "Ðигери найра",
+ "symbol": "NGN"
+ },
+ "ANG": {
+ "name": "нидерландын Ð°Ð½Ñ‚Ð¸Ð»Ð»ÑŠÑ Ð³ÑƒÐ»Ð´ÐµÑ€",
+ "symbol": "ANG"
+ },
+ "NIO": {
+ "name": "никарагуагийн кордоба",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "норвегийн крон",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "омани риал",
+ "symbol": "OMR"
+ },
+ "RUB": {
+ "name": "Ð¾Ñ€Ð¾Ñ Ñ€ÑƒÐ±Ð»ÑŒ",
+ "symbol": "RUB"
+ },
+ "ZAR": {
+ "name": "Өмнөд Ðфрикийн ранд",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "өмнөд ÑÐ¾Ð»Ð¾Ð½Ð³Ð¾Ñ Ð²Ð¾Ð½",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "өмнөд Ñудан паунд",
+ "symbol": "SSP"
+ },
+ "PKR": {
+ "name": "пакиÑтан рупи",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "панамын бальбоа",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "папуа-ÑˆÐ¸Ð½Ñ Ð³Ð²Ð¸Ð½ÐµÐ¹Ð½ кина",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "парагвайн гуарани",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "перугийн невоÑоль",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "польшийн злот",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "Руанд франк",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "румыны леу",
+ "symbol": "RON"
+ },
+ "WST": {
+ "name": "Ñамоагийн тала",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Сан-Томе ба ПринÑипи добра",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Ñауди риал",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "Свазиланд лилангени",
+ "symbol": "SZL"
+ },
+ "SCR": {
+ "name": "Сейшел рупи",
+ "symbol": "SCR"
+ },
+ "SHP": {
+ "name": "Сент Хелена паунд",
+ "symbol": "SHP"
+ },
+ "RSD": {
+ "name": "Ñерб динар",
+ "symbol": "RSD"
+ },
+ "SGD": {
+ "name": "Ñингапур доллар",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "Ñири паунд",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "Ñоломон арлын доллар",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Сомали шиллинг",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "Ñудан паунд",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Ñуринам доллар",
+ "symbol": "SRD"
+ },
+ "SLL": {
+ "name": "Сьерра Леоне леоне",
+ "symbol": "SLL"
+ },
+ "TJS": {
+ "name": "тажикийн Ñомон",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "тайландын бат",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "Танзани шиллинг",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "тонгагийн панга",
+ "symbol": "TOP"
+ },
+ "MNT": {
+ "name": "төгрөг",
+ "symbol": "â‚®"
+ },
+ "TTD": {
+ "name": "тринидад ба тобаго доллар",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Ñ‚ÑƒÐ½Ð¸Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "туркийн лира",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "туркмен манат",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Уганд шиллинг",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "узбекын Ñом",
+ "symbol": "UZS"
+ },
+ "UAH": {
+ "name": "украйны гривнÑ",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "унгарийн форинт",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "уругвайн пеÑо",
+ "symbol": "UYU"
+ },
+ "FJD": {
+ "name": "фижи доллар",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "филиппин пеÑо",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "фолклÑнд арлын паунд",
+ "symbol": "FKP"
+ },
+ "XOF": {
+ "name": "Франк КФРBCЕÐО",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Франк КФРBEAC",
+ "symbol": "FCFA"
+ },
+ "KPW": {
+ "name": "хойд ÑÐ¾Ð»Ð¾Ð½Ð³Ð¾Ñ Ð²Ð¾Ð½",
+ "symbol": "KPW"
+ },
+ "HKD": {
+ "name": "хонгконг доллар",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "хорватын куна",
+ "symbol": "HRK"
+ },
+ "CNY": {
+ "name": "Ñ…Ñтад юань",
+ "symbol": "CNÂ¥"
+ },
+ "CZK": {
+ "name": "чехийн коруна",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "чилийн пеÑо",
+ "symbol": "CLP"
+ },
+ "SEK": {
+ "name": "шведийн крон",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "швейцарь франк",
+ "symbol": "CHF"
+ },
+ "NZD": {
+ "name": "ÑˆÐ¸Ð½Ñ Ð·ÐµÐ»Ð°Ð½Ð´ доллар",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "ÑˆÐ¸Ð½Ñ Ñ‚Ð°Ð¹Ð²Ð°Ð½ доллар",
+ "symbol": "NT$"
+ },
+ "LKR": {
+ "name": "шри-ланк рупи",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "ÑнÑÑ‚Ñ…Ñг рупи",
+ "symbol": "₹"
+ },
+ "ERN": {
+ "name": "Эритрей накфа",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Этиоп бирр",
+ "symbol": "ETB"
+ },
+ "JMD": {
+ "name": "Ñмайк доллар",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Ñпон иен",
+ "symbol": "JPÂ¥"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/mr.json b/library/intl/resources/currency/mr.json
new file mode 100644
index 000000000..df2614e5b
--- /dev/null
+++ b/library/intl/resources/currency/mr.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "[CFA] फà¥à¤°à¤à¤• [BCEAO]",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "[CFA] फà¥à¤°à¤à¤• [BEAC]",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "[CFP] फà¥à¤°à¤à¤•",
+ "symbol": "CFPF"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AOA": {
+ "name": "अà¤à¤—ोलन कà¥à¤µà¥…नà¥à¤à¤¾",
+ "symbol": "AOA"
+ },
+ "AZN": {
+ "name": "अà¤à¤°à¤¬à¥ˆà¤à¤¾à¤¨à¥€ मानाट",
+ "symbol": "AZN"
+ },
+ "AFN": {
+ "name": "अफगाण अफगाणी",
+ "symbol": "AFN"
+ },
+ "AWG": {
+ "name": "अरà¥à¤¬à¤¾ फà¥à¤²à¥‹à¤°à¤¿à¤¨",
+ "symbol": "AWG"
+ },
+ "ARS": {
+ "name": "अरà¥à¤œà¥‡à¤‚टाइन पेसो",
+ "symbol": "ARS"
+ },
+ "DZD": {
+ "name": "अलà¥à¤œà¥‡à¤°à¤¿à¤¯à¤¨ दिनार",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¨ लेक",
+ "symbol": "ALL"
+ },
+ "ISK": {
+ "name": "आइसलà¤à¤¡à¤¿à¤• कà¥à¤°à¥‹à¤¨à¤¾",
+ "symbol": "ISK"
+ },
+ "AMD": {
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¨ दà¥à¤°à¥…म",
+ "symbol": "AMD"
+ },
+ "IDR": {
+ "name": "इंडोनेशियन रà¥à¤ªà¥ˆà¤¯à¤¾à¤¹",
+ "symbol": "IDR"
+ },
+ "EGP": {
+ "name": "इजिपà¥à¤¶à¤¿à¤¯à¤¨ पाउंड",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "इथिओपियन बिर",
+ "symbol": "ETB"
+ },
+ "IQD": {
+ "name": "इराकी दिनार",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "इराणी रियाल",
+ "symbol": "IRR"
+ },
+ "ERN": {
+ "name": "इरिटà¥à¤°à¤¿à¤¯à¤¨ नाफà¥à¤•à¤¾",
+ "symbol": "ERN"
+ },
+ "ILS": {
+ "name": "ईसà¥à¤¤à¥à¤°à¤¾à¤¯à¤²à¥€ नà¥à¤¯à¥‚ शेकेल",
+ "symbol": "₪"
+ },
+ "UZS": {
+ "name": "उà¤à¤¬à¥‡à¤•à¤¿à¤¸à¥à¤¤à¤¾à¤¨ सॉम",
+ "symbol": "UZS"
+ },
+ "KPW": {
+ "name": "उतà¥à¤¤à¤° कोरियन वॉन",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "उरà¥à¤—à¥à¤µà¥‡à¤šà¤¾ पेसो",
+ "symbol": "UYU"
+ },
+ "AUD": {
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¨ डॉलर",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "ओमानी रियाल",
+ "symbol": "OMR"
+ },
+ "KHR": {
+ "name": "कंबोडियन रियेल",
+ "symbol": "KHR"
+ },
+ "KZT": {
+ "name": "कà¤à¤¾à¤•à¤¿à¤¸à¥à¤¤à¤¾à¤¨à¥€ तेंगे",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "कतारी रियाल",
+ "symbol": "QAR"
+ },
+ "CDF": {
+ "name": "काà¤à¤—ोलीज फà¥à¤°à¤à¤•",
+ "symbol": "CDF"
+ },
+ "KGS": {
+ "name": "किरगिसà¥à¤¤à¤¾à¤¨à¥€ सॉम",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "कà¥à¤µà¥ˆà¤¤à¥€ दिनार",
+ "symbol": "KWD"
+ },
+ "CAD": {
+ "name": "कॅनडियन डॉलर",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "केनियन शिलिंग",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "केप वà¥à¤¹à¤°à¥à¤¡à¥‡à¤¯à¤¨ à¤à¤¸à¥à¤•à¥à¤¡à¥‹",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "केमेन आयलॅंड डॉलर",
+ "symbol": "KYD"
+ },
+ "COP": {
+ "name": "कोलंबियन पेसो",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "कोलोरियन फà¥à¤°à¤à¤•",
+ "symbol": "KMF"
+ },
+ "CRC": {
+ "name": "कोसà¥à¤Ÿà¤¾ रिका कोलोन",
+ "symbol": "CRC"
+ },
+ "CUP": {
+ "name": "कà¥à¤¯à¥‚बन पेसो",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "कà¥à¤¯à¥‚बन विनिमय पेसो",
+ "symbol": "CUC"
+ },
+ "HRK": {
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¨ कूना",
+ "symbol": "HRK"
+ },
+ "GYD": {
+ "name": "गयाना डॉलर",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "गामà¥à¤¬à¤¿à¤¯à¤¨ डालासी",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "गिनी फà¥à¤°à¤à¤•",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "गà¥à¤µà¤¾à¤Ÿà¥‡à¤®à¤¾à¤²à¤¾à¤šà¥‡ कà¥à¤µà¥‡à¤¤à¥à¤à¤¾à¤²",
+ "symbol": "GTQ"
+ },
+ "GHS": {
+ "name": "घानीयन सेडी",
+ "symbol": "GHS"
+ },
+ "CLP": {
+ "name": "चिली पेसो",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "चीनी यà¥à¤†à¤¨",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "जपानी येन",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "जमैकन डॉलर",
+ "symbol": "JMD"
+ },
+ "DJF": {
+ "name": "जिबौटियन फà¥à¤°à¤à¤•",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "जिबà¥à¤°à¤¾à¤²à¥à¤Ÿà¤° पाउंड",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "जॉरà¥à¤œà¤¿à¤¯à¤¨ लारी",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "जॉरà¥à¤¡à¤¨à¤¿à¤¯à¤¨ दिनार",
+ "symbol": "JOD"
+ },
+ "ZMW": {
+ "name": "à¤à¤¾à¤‚बियन कà¥à¤µà¤¾à¤šà¤¾",
+ "symbol": "ZMW"
+ },
+ "CZK": {
+ "name": "à¤à¥‡à¤• पà¥à¤°à¤œà¤¾à¤¸à¤¤à¥à¤¤à¤¾à¤• कोरà¥à¤¨à¤¾",
+ "symbol": "CZK"
+ },
+ "TZS": {
+ "name": "टांà¤à¤¾à¤¨à¤¿à¤¯à¤¨ शिलिंग",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "टोंगा पाआंगा",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "टà¥à¤¯à¥‚निशियन दिनार",
+ "symbol": "TND"
+ },
+ "DKK": {
+ "name": "डॅनिश कà¥à¤°à¥‹à¤¨",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "डोमिनिकन पेसो",
+ "symbol": "DOP"
+ },
+ "TJS": {
+ "name": "ताजकीसà¥à¤¤à¤¾à¤¨à¥€ सोमोनी",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "तà¥à¤°à¥à¤•à¤®à¥‡à¤¨à¤¿à¤¸à¥à¤¤à¤¾à¤¨à¥€ मानाट",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "तà¥à¤°à¥à¤•à¥€ लिरा",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "तà¥à¤°à¤¿à¤¨à¤¿à¤¦à¤¾à¤¦ आणि टोबॅगो डॉलर",
+ "symbol": "TTD"
+ },
+ "THB": {
+ "name": "थाई बाहत",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "दकà¥à¤·à¤¿à¤£ आफà¥à¤°à¤¿à¤•à¥€ रà¤à¤¡",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "दकà¥à¤·à¤¿à¤£ कोरियन वॉन",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "दकà¥à¤·à¤¿à¤£ सà¥à¤¦à¤¾à¤¨à¥€ पाउंड",
+ "symbol": "SSP"
+ },
+ "NAD": {
+ "name": "नमिबियन डॉलर",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "नायजेरियन नायरा",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "निकारागà¥à¤µà¥‡à¤šà¤¾ कोरà¥à¤¡à¥‹à¤¬à¤¾",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "नेदरलà¤à¤¡à¤šà¤¾ अà¤à¤Ÿà¤¿à¤²à¥€à¤¨ गिलà¥à¤¡à¤°",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "नेपाळी रà¥à¤ªà¤¯à¤¾",
+ "symbol": "NPR"
+ },
+ "NOK": {
+ "name": "नॉरà¥à¤µà¥‡à¤œà¤¿à¤¯à¤¨ कà¥à¤°à¥‹à¤¨",
+ "symbol": "NOK"
+ },
+ "TWD": {
+ "name": "नà¥à¤¯à¥‚ तैवान डॉलर",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "नà¥à¤¯à¥‚à¤à¥€à¤²à¤à¤¡ डॉलर",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "पनामा बालà¥à¤¬à¥‹à¤†",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "परागà¥à¤µà¥‡ गà¥à¤µà¤¾à¤°à¤¾à¤¨à¥€",
+ "symbol": "PYG"
+ },
+ "PKR": {
+ "name": "पाकिसà¥à¤¤à¤¾à¤¨à¥€ रà¥à¤ªà¤¯à¤¾",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "पापà¥à¤† नà¥à¤¯à¥‚ गिनीयन किना",
+ "symbol": "PGK"
+ },
+ "XCD": {
+ "name": "पूरà¥à¤µ कॅरीबियन डॉलर",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "पेरà¥à¤µà¤¿à¤¯à¤¨ नà¥à¤‡à¤µà¥à¤¹à¥‹ सोल",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "पोलिश à¤à¥à¤²à¥‰à¤Ÿà¥€",
+ "symbol": "PLN"
+ },
+ "FJD": {
+ "name": "फिजियन डॉलर",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "फिलिपिनी पेसो",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "फॉकलंड आयलंड पाउंड",
+ "symbol": "FKP"
+ },
+ "BMD": {
+ "name": "बरà¥à¤®à¥à¤¡à¤¾ डॉलर",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "बलà¥à¤—ेरियन लेव",
+ "symbol": "BGN"
+ },
+ "BSD": {
+ "name": "बहामी डॉलर",
+ "symbol": "BSD"
+ },
+ "BDT": {
+ "name": "बांगलादेशी टका",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "बारà¥à¤¬à¤¾à¤¡à¤¿à¤¯à¤¨ डॉलर",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "बाहरिनी दिनार",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "बà¥à¤°à¥à¤¡à¤¿à¤¯à¤¨ फà¥à¤°à¤à¤•",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "बेलारà¥à¤¶à¤¿à¤¯à¤¨ रà¥à¤¬à¤²",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "बेलीठडॉलर",
+ "symbol": "BZD"
+ },
+ "BWP": {
+ "name": "बोटà¥à¤¸à¤µà¤¾à¤¨à¤¾ पà¥à¤²à¤¾",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "बोलिवà¥à¤¹à¤¿à¤¯à¤¨ बोलिवà¥à¤¹à¤¿à¤¯à¤¾à¤¨à¥‹",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾-हरà¥à¤œà¥‡à¤—ोविना विनिमय मारà¥à¤•",
+ "symbol": "BAM"
+ },
+ "BRL": {
+ "name": "बà¥à¤°à¤¾à¤à¤¿à¤²à¤¿à¤¯à¤¨ रियाल",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ पाऊंड सà¥à¤Ÿà¤°à¥à¤²à¤¿à¤‚ग",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "बà¥à¤°à¥à¤¨à¥‡à¤ˆ डॉलर",
+ "symbol": "BND"
+ },
+ "INR": {
+ "name": "भारतीय रà¥à¤ªà¤¯à¤¾",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "भूतानी à¤à¤‚गलà¥à¤Ÿà¥à¤°à¤®",
+ "symbol": "BTN"
+ },
+ "MNT": {
+ "name": "मंगोलियन टà¥à¤—à¥à¤°à¤¿à¤•",
+ "symbol": "MNT"
+ },
+ "MYR": {
+ "name": "मलेशियन रिंगिट",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "मालदीवियन रà¥à¤«à¤¿à¤¯à¤¾",
+ "symbol": "MVR"
+ },
+ "MGA": {
+ "name": "मालागासी à¤à¤°à¤¿à¤¯à¤¾à¤°à¥€",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "मालावियन कà¥à¤µà¤¾à¤šà¤¾",
+ "symbol": "MWK"
+ },
+ "MOP": {
+ "name": "मॅकॅनीजॠपटाका",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "मॅसेडोनियन देनार",
+ "symbol": "MKD"
+ },
+ "MXN": {
+ "name": "मेकà¥à¤¸à¤¿à¤•à¥‹ पेसो",
+ "symbol": "MX$"
+ },
+ "MRO": {
+ "name": "मॉरिटानियन ओगिया",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "मॉरिशियन रà¥à¤ªà¥€",
+ "symbol": "MUR"
+ },
+ "MZN": {
+ "name": "मोà¤à¤¾à¤‚बिकन मेटिकल",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "मोरोकà¥à¤•à¥‹ दिरहॅम",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "मोलà¥à¤¡à¥‹à¤µà¤¨ लेउ",
+ "symbol": "MDL"
+ },
+ "MMK": {
+ "name": "मà¥à¤¯à¤¾à¤¨à¤®à¤¾à¤° कà¥à¤¯à¤¾à¤Ÿ",
+ "symbol": "MMK"
+ },
+ "UAH": {
+ "name": "यà¥à¤•à¥à¤°à¥‡à¤¨à¤¿à¤¯à¤¨ रिवनिया",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "यà¥à¤—ांडा शिलिंग",
+ "symbol": "UGX"
+ },
+ "EUR": {
+ "name": "यà¥à¤°à¥‹",
+ "symbol": "€"
+ },
+ "USD": {
+ "name": "यूà¤à¤¸ डॉलर",
+ "symbol": "$"
+ },
+ "YER": {
+ "name": "येमेनी रियाल",
+ "symbol": "YER"
+ },
+ "RWF": {
+ "name": "रवांडा फà¥à¤°à¤à¤•",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "रशियन रà¥à¤¬à¤²",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "रोमानियन लेऊ",
+ "symbol": "RON"
+ },
+ "LRD": {
+ "name": "लाइबेरियन डॉलर",
+ "symbol": "LRD"
+ },
+ "LTL": {
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¨ लिटास",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "लिबियाचा दिनार",
+ "symbol": "LYD"
+ },
+ "LAK": {
+ "name": "लेओशियन किप",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "लेबनीज पाउंड",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "लेसोटो लोटी",
+ "symbol": "LSL"
+ },
+ "VUV": {
+ "name": "वानाटॠवाटà¥",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "वà¥à¤¹à¤¿à¤à¤¤à¤¨à¤¾à¤®à¥€ डोंग",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "वà¥à¤¹à¥‡à¤¨à¥‡à¤à¥à¤à¤²à¤¾ बोलिवà¥à¤¹à¤¾à¤°",
+ "symbol": "VEF"
+ },
+ "LKR": {
+ "name": "शà¥à¤°à¥€à¤²à¤‚कन रà¥à¤ªà¥€",
+ "symbol": "LKR"
+ },
+ "AED": {
+ "name": "संयà¥à¤•à¥à¤¤ अरब अमीरात दिरहॅम",
+ "symbol": "AED"
+ },
+ "RSD": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¨ दिनार",
+ "symbol": "RSD"
+ },
+ "STD": {
+ "name": "साओ टोम आणि पà¥à¤°à¤¿à¤¨à¥à¤¸à¤¿à¤ªà¥‡ डोबरा",
+ "symbol": "STD"
+ },
+ "WST": {
+ "name": "सामोअन टाला",
+ "symbol": "WST"
+ },
+ "SGD": {
+ "name": "सिंगापूर डॉलर",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "सिà¤à¤°à¤¾ लिऑनचा लिऑन",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "सीरियन पाउंड",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "सà¥à¤¦à¤¾à¤¨à¥€ पाउंड",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "सà¥à¤°à¤¿à¤¨à¤¾à¤®à¥€ डॉलर",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "सेंट हेलेना पाउंड",
+ "symbol": "SHP"
+ },
+ "SCR": {
+ "name": "सेशेलोईस रà¥à¤ªà¥€",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "सोमाली शिलिंग",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "सोलोमन आयलà¤à¤¡à¥à¤¸ डॉलर",
+ "symbol": "SBD"
+ },
+ "SAR": {
+ "name": "सौदी रियाल",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "सà¥à¤µà¤¾à¤à¥€ लीलांगेनी",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "सà¥à¤µà¤¿à¤¸ फà¥à¤°à¤à¤•",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "सà¥à¤µà¥€à¤¡à¤¿à¤¶ कà¥à¤°à¥‹à¤¨à¤¾",
+ "symbol": "SEK"
+ },
+ "HUF": {
+ "name": "हंगेरियन फॉरिनà¥à¤Ÿ",
+ "symbol": "HUF"
+ },
+ "HKD": {
+ "name": "हाà¤à¤—काà¤à¤— डॉलर",
+ "symbol": "HK$"
+ },
+ "HTG": {
+ "name": "हैती गोअरà¥à¤¡",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "होंडà¥à¤°à¤¾ लेमà¥à¤ªà¤¿à¤¯à¤°à¤¾",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ms.json b/library/intl/resources/currency/ms.json
new file mode 100644
index 000000000..cbecbb720
--- /dev/null
+++ b/library/intl/resources/currency/ms.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghani Afghanistan",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariary Malagasy",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht Thai",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa Panama",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr Ethiopia",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolivar Venezuela",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano Bolivia",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi Ghana",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "Colon Costa Rica",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Cordoba Nicaragua",
+ "symbol": "NIO"
+ },
+ "GMD": {
+ "name": "Dalasi Gambia",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "Denar Macedonia",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "Dinar Algeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar Bahrain",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar Iraq",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar Jordan",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar Kuwait",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar Libya",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "Dinar Serbia",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham Emiriah Arab Bersatu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham Maghribi",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra Sao Tome dan Principe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Dolar AS",
+ "symbol": "USD"
+ },
+ "AUD": {
+ "name": "Dolar Australia",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Dolar Bahamas",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "Dolar Barbados",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dolar Belize",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dolar Bermuda",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dolar Brunei",
+ "symbol": "BND"
+ },
+ "XCD": {
+ "name": "Dolar Caribbean Timur",
+ "symbol": "EC$"
+ },
+ "FJD": {
+ "name": "Dolar Fiji",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "Dolar Guyana",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "Dolar Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Dolar Jamaica",
+ "symbol": "JMD"
+ },
+ "CAD": {
+ "name": "Dolar Kanada",
+ "symbol": "CAD"
+ },
+ "KYD": {
+ "name": "Dolar Kepulauan Cayman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dolar Kepulauan Solomon",
+ "symbol": "SBD"
+ },
+ "LRD": {
+ "name": "Dolar Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dolar Namibia",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "Dolar New Zealand",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dolar Singapura",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "Dolar Surinam",
+ "symbol": "SRD"
+ },
+ "TWD": {
+ "name": "Dolar Taiwan Baru",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "Dolar Trinidad dan Tobago",
+ "symbol": "TTD"
+ },
+ "VND": {
+ "name": "Dong Vietnam",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram Armenia",
+ "symbol": "AMD"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "CVE": {
+ "name": "Escudo Tanjung Verde",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florin Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint Hungary",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franc Burundia",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franc CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franc CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franc CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franc Comoria",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franc Congo",
+ "symbol": "CDF"
+ },
+ "DJF": {
+ "name": "Franc Djibouti",
+ "symbol": "DJF"
+ },
+ "GNF": {
+ "name": "Franc Guinea",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "Franc Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franc Switzerland",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde Haiti",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani Paraguay",
+ "symbol": "PYG"
+ },
+ "ANG": {
+ "name": "Guilder Antillean Netherland",
+ "symbol": "ANG"
+ },
+ "UAH": {
+ "name": "Hryvnia Ukraine",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "Kina Papua New Guinea",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip Laos",
+ "symbol": "LAK"
+ },
+ "CZK": {
+ "name": "Koruna Republik Czech",
+ "symbol": "CZK"
+ },
+ "ISK": {
+ "name": "Krona Iceland",
+ "symbol": "ISK"
+ },
+ "SEK": {
+ "name": "Krona Sweden",
+ "symbol": "SEK"
+ },
+ "DKK": {
+ "name": "Krone Denmark",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "Krone Norway",
+ "symbol": "NOK"
+ },
+ "HRK": {
+ "name": "Kuna Croatia",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza Angola",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat Myanma",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari Georgia",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek Albania",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone Sierra Leone",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu Moldova",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu Romania",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev Bulgaria",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "Lilangeni Swazi",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira Turki",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas Lithuania",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti Lesotho",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat Azerbaijan",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat Turkmenistan",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Mark Boleh Tukar Bosnia-Herzegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metikal Mozambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira Nigeria",
+ "symbol": "NGN"
+ },
+ "BTN": {
+ "name": "Ngultrum Bhutan",
+ "symbol": "BTN"
+ },
+ "PEN": {
+ "name": "Nuevo Sol Peru",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya Mauritania",
+ "symbol": "MRO"
+ },
+ "MOP": {
+ "name": "Pataca Macau",
+ "symbol": "MOP"
+ },
+ "GIP": {
+ "name": "Paun Gibraltar",
+ "symbol": "GIP"
+ },
+ "FKP": {
+ "name": "Paun Kepulauan Falkland",
+ "symbol": "FKP"
+ },
+ "LBP": {
+ "name": "Paun Lubnan",
+ "symbol": "LBP"
+ },
+ "EGP": {
+ "name": "Paun Mesir",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Paun Saint Helena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Paun Sterling British",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "Paun Sudan",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Paun Sudan selatan",
+ "symbol": "SSP"
+ },
+ "SYP": {
+ "name": "Paun Syria",
+ "symbol": "SYP"
+ },
+ "ARS": {
+ "name": "Peso Argentina",
+ "symbol": "ARS"
+ },
+ "CUC": {
+ "name": "Peso Boleh Tukar Cuba",
+ "symbol": "CUC"
+ },
+ "CLP": {
+ "name": "Peso Chile",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso Colombia",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso Cuba",
+ "symbol": "CUP"
+ },
+ "DOP": {
+ "name": "Peso Dominican",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso Filipina",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso Mexico",
+ "symbol": "MXN"
+ },
+ "BWP": {
+ "name": "Pula Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand Afrika Selatan",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real Brazil",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial Iran",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "Rial Oman",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial Qatar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial Yaman",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "Riel Kemboja",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit Malaysia",
+ "symbol": "RM"
+ },
+ "SAR": {
+ "name": "Riyal Saudi",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "Ruble Belarus",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Ruble Rusia",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rufiyaa Maldives",
+ "symbol": "MVR"
+ },
+ "INR": {
+ "name": "Rupee India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupee Mauritia",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupee Nepal",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupee Pakistan",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupee Seychelles",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "Rupee Sri Lanka",
+ "symbol": "LKR"
+ },
+ "IDR": {
+ "name": "Rupiah Indonesia",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "Sheqel Baru Israel",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som Kyrgystani",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som Uzbekistan",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni Tajikistan",
+ "symbol": "TJS"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "KES": {
+ "name": "Syiling Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Syiling Somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Syiling Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Syiling Uganda",
+ "symbol": "UGX"
+ },
+ "BDT": {
+ "name": "Taka Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala Samoa",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge Kazakhstan",
+ "symbol": "KZT"
+ },
+ "TOP": {
+ "name": "Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "MNT": {
+ "name": "Tugrik Mongolia",
+ "symbol": "MNT"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatu",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "Won Korea Selatan",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "Won Korea Utara",
+ "symbol": "KPW"
+ },
+ "JPY": {
+ "name": "Yen Jepun",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "Yuan Cina",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloty Poland",
+ "symbol": "PLN"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/mt.json b/library/intl/resources/currency/mt.json
new file mode 100644
index 000000000..18f1b4991
--- /dev/null
+++ b/library/intl/resources/currency/mt.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "ewro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "INR",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/mua.json b/library/intl/resources/currency/mua.json
new file mode 100644
index 000000000..135efb022
--- /dev/null
+++ b/library/intl/resources/currency/mua.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "ZAR": {
+ "name": "Solai Africa nekÇsÇÅ‹",
+ "symbol": "ZAR"
+ },
+ "DZD": {
+ "name": "solai Algerya",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "Solai Amerika",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "solai Angola",
+ "symbol": "AOA"
+ },
+ "AED": {
+ "name": "Solai Arabiya",
+ "symbol": "AED"
+ },
+ "AUD": {
+ "name": "solai Australya",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "solai Barenya",
+ "symbol": "BHD"
+ },
+ "XOF": {
+ "name": "solai BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "solai BEAC",
+ "symbol": "FCFA"
+ },
+ "BWP": {
+ "name": "solai Botswana",
+ "symbol": "BWP"
+ },
+ "GBP": {
+ "name": "solai Britaniya",
+ "symbol": "£"
+ },
+ "BIF": {
+ "name": "solai Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "solai Djibouti",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "solai Egypt",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "solai Eritre",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "solai Etiopia",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "solai Euro",
+ "symbol": "€"
+ },
+ "GMD": {
+ "name": "solai Gambiya",
+ "symbol": "GMD"
+ },
+ "SHP": {
+ "name": "Solai Helena",
+ "symbol": "SHP"
+ },
+ "INR": {
+ "name": "solai India",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "solai Japoŋ",
+ "symbol": "JPÂ¥"
+ },
+ "CAD": {
+ "name": "solai Kanada",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "solai Kapverdiya",
+ "symbol": "CVE"
+ },
+ "KES": {
+ "name": "solai Kenia",
+ "symbol": "KES"
+ },
+ "KMF": {
+ "name": "solai Komorya",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "solai Kongo",
+ "symbol": "CDF"
+ },
+ "LSL": {
+ "name": "solai Lesotho",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "solai Liberiya",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "solai Libya",
+ "symbol": "LYD"
+ },
+ "MGA": {
+ "name": "Solai Malagasya",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Solai Malawi",
+ "symbol": "MWK"
+ },
+ "MAD": {
+ "name": "Solai Marok",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "Solai MauricÇ",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Solai Mauritaniya",
+ "symbol": "MRO"
+ },
+ "NAD": {
+ "name": "Solai Namibiya",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "Solai Nigeriya",
+ "symbol": "NGN"
+ },
+ "RWF": {
+ "name": "Solai Rwanda",
+ "symbol": "RWF"
+ },
+ "SCR": {
+ "name": "Solai Saichel",
+ "symbol": "SCR"
+ },
+ "STD": {
+ "name": "Solai Sao Tome",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Solai Saudiya",
+ "symbol": "SAR"
+ },
+ "SLL": {
+ "name": "solai Sierra leonÇ",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "Solai Somaliya",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "Solai Sudaŋ ma dii ne dinar",
+ "symbol": "SDG"
+ },
+ "SZL": {
+ "name": "solai Swaziland",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "Solai Swiss",
+ "symbol": "CHF"
+ },
+ "CNY": {
+ "name": "solai Syiŋ",
+ "symbol": "CNÂ¥"
+ },
+ "TZS": {
+ "name": "Solai Tanzaniya",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "Solai Tunisiya",
+ "symbol": "TND"
+ },
+ "UGX": {
+ "name": "Solai Uganda",
+ "symbol": "UGX"
+ },
+ "ZMW": {
+ "name": "Solai Zambiya",
+ "symbol": "ZMW"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/my.json b/library/intl/resources/currency/my.json
new file mode 100644
index 000000000..0b184fdbe
--- /dev/null
+++ b/library/intl/resources/currency/my.json
@@ -0,0 +1,634 @@
+{
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "XPF": {
+ "name": "XPFဖရန့်",
+ "symbol": "CFPF"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "CAD": {
+ "name": "ကနေဒါ ဒေါ်လာ",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "ကာá€á€¬á€›á€®á€¡á€±á€¬á€ºá€œá€º",
+ "symbol": "QAR"
+ },
+ "KWD": {
+ "name": "ကူá€á€­á€á€ºá€’ီနာ",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "ကေမန် ကျွန်းစု ဒေါ်လာ",
+ "symbol": "KYD"
+ },
+ "CRC": {
+ "name": "ကော့စ်á€á€¬á€›á€®á€€á€¬ á€á€­á€¯á€œá€¯á€¶á€¸",
+ "symbol": "CRC"
+ },
+ "KMF": {
+ "name": "ကိုမိုရိုစ် ဖရန့်",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "ကိုလံဘီယာ ပီဆို",
+ "symbol": "COP"
+ },
+ "KES": {
+ "name": "ကင်ညာသျှီလင်",
+ "symbol": "KES"
+ },
+ "XAF": {
+ "name": "ကင်မရွန်းဖရန့်",
+ "symbol": "FCFA"
+ },
+ "KHR": {
+ "name": "ကမ္ဘောဒီးယား ရီးယဲ",
+ "symbol": "KHR"
+ },
+ "CUP": {
+ "name": "ကျူးဘား ပီဆို",
+ "symbol": "CUP"
+ },
+ "CDF": {
+ "name": "ကွန်ဂို ဖရန့်",
+ "symbol": "CDF"
+ },
+ "KGS": {
+ "name": "á€á€›á€°á€‚စ်စá€á€”်ဆော်မ်",
+ "symbol": "KGS"
+ },
+ "KZT": {
+ "name": "á€á€›á€°á€‚စ်စá€á€”်ထိန်ဂျီ",
+ "symbol": "KZT"
+ },
+ "HRK": {
+ "name": "á€á€›á€­á€¯á€¡á€±á€¸á€›á€¾á€¬á€¸á€á€°á€¸á€”ာ",
+ "symbol": "HRK"
+ },
+ "CVE": {
+ "name": "á€á€±á€·á€•á€ºá€—ာဒူ အက်စ်á€á€°á€’ို",
+ "symbol": "CVE"
+ },
+ "CLP": {
+ "name": "á€á€»á€®á€œá€® ပီဆို",
+ "symbol": "CLP"
+ },
+ "CZK": {
+ "name": "á€á€»á€€á€ºá€á€­á€¯á€›á€­á€¯á€”ာ",
+ "symbol": "CZK"
+ },
+ "GHS": {
+ "name": "ဂါနာ ဆဲဒီ",
+ "symbol": "GHS"
+ },
+ "GNF": {
+ "name": "ဂီးနီ ဖရန့်",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "ဂူရာနာ ဒေါ်လာ",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "ဂန်ဘီယာ ဒါလာစီ",
+ "symbol": "GMD"
+ },
+ "JPY": {
+ "name": "ဂျပန်ယန်း",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "ဂျမေကာ ဒေါ်လာ",
+ "symbol": "JMD"
+ },
+ "GIP": {
+ "name": "ဂျီဘရော်လ်á€á€¬ ပေါင်",
+ "symbol": "GIP"
+ },
+ "DJF": {
+ "name": "ဂျီဘူá€á€® ဖရန့်",
+ "symbol": "DJF"
+ },
+ "GEL": {
+ "name": "ဂျော်ဂျီယာလားရီ",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "ဂျော်ဒန်ဒီနား",
+ "symbol": "JOD"
+ },
+ "GTQ": {
+ "name": "ဂွာá€á€®á€™á€¬á€œá€¬ á€á€€á€ºá€‡á€±á€¬á€ºá€œá€º",
+ "symbol": "GTQ"
+ },
+ "WST": {
+ "name": "စမိုအထားလာ",
+ "symbol": "WST"
+ },
+ "SGD": {
+ "name": "စင်္ကာပူ ဒေါ်လာ",
+ "symbol": "SGD"
+ },
+ "STD": {
+ "name": "စိန့်á€á€­á€¯á€™á€®á€”ှင့်ပရင်စီပ့် ဒိုဘရာ",
+ "symbol": "STD"
+ },
+ "SHP": {
+ "name": "စိန့်ဟဲလီနာ ပေါင်",
+ "symbol": "SHP"
+ },
+ "SZL": {
+ "name": "စွာဇီလန်လီလန်းဂီနီ",
+ "symbol": "SZL"
+ },
+ "RSD": {
+ "name": "ဆားဘီးယားဒယ်နား",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "ဆီအဲရာ လီအိုနီယန် လီအိုနီ",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "ဆီးရီးယား ပေါင်",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "ဆူဒန် ပေါင်",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "ဆူရီနိမ်း ဒေါ်လာ",
+ "symbol": "SRD"
+ },
+ "SCR": {
+ "name": "ဆေးရှလ်ရူးပီး",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "ဆော်ဒီအာရေးဗီးယားရီယော်လ်",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "ဆော်လမွန်ကျွန်းစု ဒေါ်လာ",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "ဆိုမာလီသျှီလင်",
+ "symbol": "SOS"
+ },
+ "SEK": {
+ "name": "ဆွီဒင် á€á€›á€­á€¯á€á€¬",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "ဆွစ် ဖရန့်",
+ "symbol": "CHF"
+ },
+ "ZMW": {
+ "name": "ဇင်ဘာဘွေá€á€½á€«á€¸á€á€»á€¬",
+ "symbol": "ZMW"
+ },
+ "CNY": {
+ "name": "á€á€›á€¯á€á€º ယွမ်",
+ "symbol": "CNÂ¥"
+ },
+ "TJS": {
+ "name": "á€á€¬á€‚ျီကစ္စá€á€”်ဆိုမိုနီ",
+ "symbol": "TJS"
+ },
+ "TND": {
+ "name": "á€á€°á€”ီရှားဒီနာ",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "á€á€°á€›á€€á€® လိုင်ရာ",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "á€á€¬á€á€ºá€™á€®á€”့စ်á€á€”်မာနá€á€º",
+ "symbol": "TMT"
+ },
+ "KRW": {
+ "name": "á€á€±á€¬á€„်ကိုးရီးယား á€á€™á€º",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "á€á€±á€¬á€„်ဆူဒန်ပေါင်",
+ "symbol": "SSP"
+ },
+ "ZAR": {
+ "name": "á€á€±á€¬á€„်အဖရိက ရန်း",
+ "symbol": "ZAR"
+ },
+ "TZS": {
+ "name": "á€á€”်ဇန်းနီးယားသျှီလင်",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "á€á€½á€”်ဂါဗန်ဂါ",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "ထရိုင်နီဒá€á€ºá€”ှင့်á€á€­á€¯á€˜á€¬á€‚ိုဒေါ်လာ",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "ထိုင်á€á€™á€º ဒေါ်လာအသစ်",
+ "symbol": "NT$"
+ },
+ "THB": {
+ "name": "ထိုင်းဘá€á€º",
+ "symbol": "฿"
+ },
+ "DOP": {
+ "name": "ဒိုမီနီကန် ပီဆို",
+ "symbol": "DOP"
+ },
+ "DKK": {
+ "name": "ဒိန်းမá€á€ºá€á€›á€­á€¯á€á€¬",
+ "symbol": "DKK"
+ },
+ "NZD": {
+ "name": "နယူးဇီလန် ဒေါ်လာ",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "နီကာရာဂွာ á€á€­á€¯á€¸á€’ိုဘာ",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "နီပေါ ရူပီး",
+ "symbol": "NPR"
+ },
+ "NOK": {
+ "name": "နော်á€á€± á€á€›á€­á€¯á€á€¬",
+ "symbol": "NOK"
+ },
+ "NGN": {
+ "name": "နိုင်ဂျီးရီးယားနိုင်းရာ",
+ "symbol": "NGN"
+ },
+ "CUC": {
+ "name": "နိုင်ငံá€á€¼á€¬á€¸á€„ွေလဲလှယ်နိုင်သော ကျူးဘားပီဆိုငွေ",
+ "symbol": "CUC"
+ },
+ "NAD": {
+ "name": "နမ်မီးဘီးယား ဒေါ်လာ",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "နယ်သာလန် အန်á€á€®á€œá€”် ဂင်းဒါး",
+ "symbol": "ANG"
+ },
+ "PAB": {
+ "name": "ပနားမား ဘလ်ဘိုးအာ",
+ "symbol": "PAB"
+ },
+ "PKR": {
+ "name": "ပါကစ္စá€á€”် ရူပီး",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "ပါပူရာနယူးဂီနီá€á€®á€¸á€”ာ",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "ပါရာဂွေးဂွါးအ်နီး",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "ပီရူး နူအီဗိုဆိုးလ်",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "ပိုလန် ဇ‌လော့á€á€®",
+ "symbol": "PLN"
+ },
+ "PHP": {
+ "name": "ဖိလစ်ပိုင် ပီဆို",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "ဖီဂျီ ဒေါ်လာ",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "ဖောက်ကလန် ကျွန်းစု ပေါင်",
+ "symbol": "FKP"
+ },
+ "VUV": {
+ "name": "ဗာနုအာá€á€°á€—ားထူ",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "ဗီယက်နမ် ဒေါင်",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "ဗင်နီဇွဲလား ဘိုလီဗာ",
+ "symbol": "VEF"
+ },
+ "GBP": {
+ "name": "ဗြိá€á€­á€žá€»á€¾ ပေါင်",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "ဘရာဇီး ရီးယဲ",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "ဘရူနိုင်း ဒေါ်လာ",
+ "symbol": "BND"
+ },
+ "BSD": {
+ "name": "ဘဟားမား ဒေါ်လာ",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "ဘာဘဒီယံဒေါ်လာ",
+ "symbol": "BBD"
+ },
+ "BMD": {
+ "name": "ဘာမူဒါ ဒေါ်လာ",
+ "symbol": "BMD"
+ },
+ "BHD": {
+ "name": "ဘာရိန်းဒီနား",
+ "symbol": "BHD"
+ },
+ "BYR": {
+ "name": "ဘီလာရုစ် ရူဘယ်",
+ "symbol": "BYR"
+ },
+ "BGN": {
+ "name": "ဘူဂေးရီးယားလက်ဖ်",
+ "symbol": "BGN"
+ },
+ "BTN": {
+ "name": "ဘူá€á€”်အံဂါလ်ထရန်",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "ဘူရွန်ဒီ ဖရန့်",
+ "symbol": "BIF"
+ },
+ "BZD": {
+ "name": "ဘေလီဇ် ဒေါ်လာ",
+ "symbol": "BZD"
+ },
+ "BAM": {
+ "name": "ဘော့စနီးယား နှင့် ဟာဇီဂိုဘီးနားမá€á€ºá€€á€º",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "ဘော့စ်á€á€«á€”ာ ပုလ",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "ဘိုလီဘီယံ ဘိုလီဘီအားနို",
+ "symbol": "BOB"
+ },
+ "BDT": {
+ "name": "ဘင်္ဂလားဒေ့ရှ် á€á€¬á€€á€¬",
+ "symbol": "BDT"
+ },
+ "MOP": {
+ "name": "မကာအိုပါá€á€¬á€¸á€€á€¬á€¸",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "မလာဂစ်စီ အရီရရီ ငွေကြေး",
+ "symbol": "MGA"
+ },
+ "MYR": {
+ "name": "မလေးရှား ရင်းဂစ်",
+ "symbol": "MYR"
+ },
+ "MKD": {
+ "name": "မာစီဒိုးနီးယားဒီနာ",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "မာလာá€á€®á€á€½á€«á€¸á€á€»á€¬",
+ "symbol": "MWK"
+ },
+ "MRO": {
+ "name": "မောရီá€á€¬á€”ီအာအူဂီးယာ",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "မော်ရေရှားစ် ရူပီ",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "မော်လ်ဒိုက်ရူးဖီရာ",
+ "symbol": "MVR"
+ },
+ "MZN": {
+ "name": "မိုဇန်ဘစ်မက်á€á€®á€á€šá€ºá€œá€º",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "မိုရိုကို ဒရမ်",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "မက္ကဆီကို ပီဆို",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "မောလ်ဒိုဗာလယ်အို",
+ "symbol": "MDL"
+ },
+ "KPW": {
+ "name": "မြောက်ကိုးရီးယား á€á€™á€º",
+ "symbol": "KPW"
+ },
+ "MMK": {
+ "name": "မြန်မာကျပ်",
+ "symbol": "K"
+ },
+ "MNT": {
+ "name": "မွန်ဂိုးလီးယားထူးဂရá€á€º",
+ "symbol": "MNT"
+ },
+ "YER": {
+ "name": "ယီမင်ရီအော်လ်",
+ "symbol": "YER"
+ },
+ "UAH": {
+ "name": "ယူကရိန်း",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "ယူဂန္ဓာသျှီလင်",
+ "symbol": "UGX"
+ },
+ "EUR": {
+ "name": "ယူရို",
+ "symbol": "€"
+ },
+ "RWF": {
+ "name": "ရá€á€”်ဒါ ဖရန့်",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "ရုရှ ရူဘယ်",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "ရိုမေးနီယားလယ်အို",
+ "symbol": "RON"
+ },
+ "LAK": {
+ "name": "လာအိုá€á€­á€•á€º",
+ "symbol": "LAK"
+ },
+ "LYD": {
+ "name": "လီဗျာ ဒီနာ",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "လက်ဘနွန် ပေါင်",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "လိုင်ဘေးရီးယား ဒေါ်လာ",
+ "symbol": "LRD"
+ },
+ "LTL": {
+ "name": "လစ်သူယေးနီးယားလီá€á€¬á€¸á€…်",
+ "symbol": "LTL"
+ },
+ "LKR": {
+ "name": "သီရိလင်္ကာ ရူပီး",
+ "symbol": "LKR"
+ },
+ "HTG": {
+ "name": "ဟေá€á€®á€‚ူးအော်ဒ်",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "ဟောင်ကောင် ဒေါ်လာ",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "ဟန်ဂေရီယံဖော်ရင့်á€á€º",
+ "symbol": "HUF"
+ },
+ "HNL": {
+ "name": "ဟွန်ဒူးရပ်စ် လန်းပီးရာ",
+ "symbol": "HNL"
+ },
+ "AZN": {
+ "name": "အဇာဘိုင်ဂျန်မာနá€á€º",
+ "symbol": "AZN"
+ },
+ "USD": {
+ "name": "အမေရိကန် ဒေါ်လာ",
+ "symbol": "US$"
+ },
+ "AWG": {
+ "name": "အရူဘန် ဂင်းဒါး",
+ "symbol": "AWG"
+ },
+ "XCD": {
+ "name": "အရှေ့ကာရီဘီယံဒေါ်လာ",
+ "symbol": "EC$"
+ },
+ "ARS": {
+ "name": "အာဂျင်á€á€®á€¸á€”ား ပီဆို",
+ "symbol": "ARS"
+ },
+ "AFN": {
+ "name": "အာဖဂန်အာဖဂါနီ",
+ "symbol": "AFN"
+ },
+ "AMD": {
+ "name": "အာမေးနီးယားဒရမ်း",
+ "symbol": "AMD"
+ },
+ "AED": {
+ "name": "အာရပ်ဒူဟမ်း",
+ "symbol": "AED"
+ },
+ "EGP": {
+ "name": "အီဂျစ် ပေါင်",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "အီရီá€á€›á€®á€¡á€¬á€”ာ့á€á€ºá€–ာ",
+ "symbol": "ERN"
+ },
+ "IRR": {
+ "name": "အီရန်ရီအော်လ်",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "အီရပ်ဒီနား",
+ "symbol": "IQD"
+ },
+ "ETB": {
+ "name": "အီသီယိုးပီးယားဘီးယာ",
+ "symbol": "ETB"
+ },
+ "UZS": {
+ "name": "ဥဘက်ကစ္စá€á€”်ဆော်မ်",
+ "symbol": "UZS"
+ },
+ "UYU": {
+ "name": "ဥရုဂွေးပီဆို",
+ "symbol": "UYU"
+ },
+ "DZD": {
+ "name": "အဲလ်ဂျီရီယန် ဒီနာ",
+ "symbol": "DZD"
+ },
+ "AUD": {
+ "name": "ဩစá€á€¼á€±á€¸á€œá€» ဒေါ်လာ",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "အိုမန်ရီအော်လ်",
+ "symbol": "OMR"
+ },
+ "ISK": {
+ "name": "အိုက်စလန် á€á€›á€­á€¯á€á€¬",
+ "symbol": "ISK"
+ },
+ "AOA": {
+ "name": "အင်ဂိုလာ ကန်ဇာ",
+ "symbol": "AOA"
+ },
+ "IDR": {
+ "name": "အင်ဒိုနီးရှား ရူပီးယား",
+ "symbol": "IDR"
+ },
+ "XOF": {
+ "name": "အိုင်ဗရီးကိုးစ်ဖရန့်",
+ "symbol": "CFA"
+ },
+ "ILS": {
+ "name": "အစ္စရေးရှဲကလ်အသစ်",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "အိန္ဒိယ ရူပီး",
+ "symbol": "₹"
+ },
+ "ALL": {
+ "name": "အယ်လ်ဘီးနီးယားလီá€á€º",
+ "symbol": "ALL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/naq.json b/library/intl/resources/currency/naq.json
new file mode 100644
index 000000000..c6d0c0180
--- /dev/null
+++ b/library/intl/resources/currency/naq.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "DZD": {
+ "name": "Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "Angolan Kwanzab",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "Australian Dollari",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BHD": {
+ "name": "Bahrain Dinar",
+ "symbol": "BHD"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "Botswanan Pulab",
+ "symbol": "BWP"
+ },
+ "GBP": {
+ "name": "British Ponds",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "Burundi Franc",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "Canadian Dollari",
+ "symbol": "CA$"
+ },
+ "XOF": {
+ "name": "CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "Chinese Yuan Renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "KMF": {
+ "name": "Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese Franc",
+ "symbol": "CDF"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "Djibouti Franc",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "Egytian Ponds",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritreian Nakfa",
+ "symbol": "ERN"
+ },
+ "CVE": {
+ "name": "Escudo Caboverdiano",
+ "symbol": "CVE"
+ },
+ "ETB": {
+ "name": "Ethiopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Eurob",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambia Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Indian Rupee",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JPY": {
+ "name": "Japanese Yenni",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KES": {
+ "name": "Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leone",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "Malagasy Franc",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawian Kwachab",
+ "symbol": "MWK"
+ },
+ "MRO": {
+ "name": "Mauritania Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritius Rupeeb",
+ "symbol": "MUR"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MAD": {
+ "name": "Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "Namibia Dollari",
+ "symbol": "$"
+ },
+ "NGN": {
+ "name": "Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwanda Franci",
+ "symbol": "RWF"
+ },
+ "STD": {
+ "name": "Sao Tome and Principe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SCR": {
+ "name": "Seychelles Rupee",
+ "symbol": "SCR"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Somali Shillings",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "South African Randi",
+ "symbol": "ZAR"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SHP": {
+ "name": "St Helena Ponds",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Sudanese Dinar",
+ "symbol": "SDG"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "CHF": {
+ "name": "Swiss Franci",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "TZS": {
+ "name": "Tanzanian Shillings",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "Ugandan Shillings",
+ "symbol": "UGX"
+ },
+ "AED": {
+ "name": "United Arab Emirates Dirham",
+ "symbol": "AED"
+ },
+ "USD": {
+ "name": "US Dollari",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambian Kwachab",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/nb.json b/library/intl/resources/currency/nb.json
new file mode 100644
index 000000000..4c47f844d
--- /dev/null
+++ b/library/intl/resources/currency/nb.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghansk afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "albanske lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "algeriske dinarer",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "amerikanske dollar",
+ "symbol": "USD"
+ },
+ "AOA": {
+ "name": "angolanske kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "argentinske pesos",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "armenske dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "arubiske floriner",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "aserbajdsjanske manat",
+ "symbol": "AZN"
+ },
+ "AUD": {
+ "name": "australske dollar",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "bahamanske dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "bahrainske dinarer",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladeshiske taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "barbadiske dollar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "beliziske dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "bermudiske dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "bhutanske ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "bolivianske boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "bosnisk-hercegovinske konvertible mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "botswanske pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "brasilianske real",
+ "symbol": "BRL"
+ },
+ "GBP": {
+ "name": "britiske pund sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneiske dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "bulgarske lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "burundiske franc",
+ "symbol": "BIF"
+ },
+ "KYD": {
+ "name": "caymanske dollar",
+ "symbol": "KYD"
+ },
+ "XPF": {
+ "name": "CFP-franc",
+ "symbol": "XPF"
+ },
+ "CLP": {
+ "name": "chilenske pesos",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "colombianske pesos",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "costaricanske colón",
+ "symbol": "CRC"
+ },
+ "DKK": {
+ "name": "danske kroner",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "djiboutiske franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "dominikanske pesos",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "egyptiske pund",
+ "symbol": "EGP"
+ },
+ "AED": {
+ "name": "emiratarabiske dirham",
+ "symbol": "AED"
+ },
+ "ERN": {
+ "name": "eritreiske nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "etiopiske birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandspund",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "fijianske dollar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "filippinske pesos",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "gambiske dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "georgiske lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "ghanesiske cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "gibraltarske pund",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "guatemalanske quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "guineanske franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "guyanske dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "haitiske gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "honduranske lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkong-dollar",
+ "symbol": "HKD"
+ },
+ "BYR": {
+ "name": "hviterussiske rubler",
+ "symbol": "BYR"
+ },
+ "INR": {
+ "name": "indiske rupier",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "indonesiske rupier",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "irakske dinarer",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "iranske rialer",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "islandske kroner",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "jamaikanske dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "japanske yen",
+ "symbol": "JPY"
+ },
+ "YER": {
+ "name": "jemenittiske rialer",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "jordanske dinarer",
+ "symbol": "JOD"
+ },
+ "KHR": {
+ "name": "kambodsjanske riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadiske dollar",
+ "symbol": "CAD"
+ },
+ "CVE": {
+ "name": "kappverdiske escudos",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "kasakhstanske tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "kenyanske shilling",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "kinesiske yuan",
+ "symbol": "CNY"
+ },
+ "KGS": {
+ "name": "kirgisiske som",
+ "symbol": "KGS"
+ },
+ "KMF": {
+ "name": "komoriske franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "kongolesiske franc",
+ "symbol": "CDF"
+ },
+ "HRK": {
+ "name": "kroatiske kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "kubanske konvertible pesos",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "kubanske pesos",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuwaitiske dinarer",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "laotiske kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "lesothiske loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "libanesiske pund",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "liberiske dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libyske dinarer",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "litauiske lita",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "madagassiske ariary",
+ "symbol": "MGA"
+ },
+ "MOP": {
+ "name": "makaoiske pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "makedonske denarer",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "malawiske kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "malaysiske ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "maldiviske rufiyaa",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "marokkanske dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "mauritanske ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "mauritiske rupier",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "meksikanske pesos",
+ "symbol": "MXN"
+ },
+ "MDL": {
+ "name": "moldovske leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongolske tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "mosambikiske metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "myanmarske kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "namibiske dollar",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "nederlandske antillegylden",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "nepalske rupier",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "newzealandske dollar",
+ "symbol": "NZD"
+ },
+ "NIO": {
+ "name": "nicaraguanske córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "nigerianske naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "nordkoreanske won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "norske kroner",
+ "symbol": "kr"
+ },
+ "ILS": {
+ "name": "nye israelske shekler",
+ "symbol": "ILS"
+ },
+ "TWD": {
+ "name": "nye taiwanske dollar",
+ "symbol": "TWD"
+ },
+ "OMR": {
+ "name": "omanske rialer",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "pakistanske rupier",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamanske balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "papuanske kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "paraguayanske guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "peruanske nuevo sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "polske zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "qatarske rialer",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "rumenske leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "russiske rubler",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "rwandiske franc",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "salomonske dollar",
+ "symbol": "SBD"
+ },
+ "SVC": {
+ "name": "salvadoranske colon",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "samoanske tala",
+ "symbol": "WST"
+ },
+ "SHP": {
+ "name": "sankthelenske pund",
+ "symbol": "SHP"
+ },
+ "STD": {
+ "name": "São Tomé og Príncipe-dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "saudiarabiske riyaler",
+ "symbol": "SAR"
+ },
+ "XAF": {
+ "name": "sentralafrikanske CFA-franc",
+ "symbol": "XAF"
+ },
+ "RSD": {
+ "name": "serbiske dinarer",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "seychelliske rupier",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "sierraleonske leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "singaporske dollar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "somaliske shilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "srilankiske rupier",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "sudanske pund",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "surinamske dollar",
+ "symbol": "SRD"
+ },
+ "CHF": {
+ "name": "sveitsiske franc",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "svenske kroner",
+ "symbol": "SEK"
+ },
+ "SZL": {
+ "name": "swazilandske lilangeni",
+ "symbol": "SZL"
+ },
+ "SYP": {
+ "name": "syriske pund",
+ "symbol": "SYP"
+ },
+ "ZAR": {
+ "name": "sørafrikanske rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "sørkoreanske won",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "sørsudanske pund",
+ "symbol": "SSP"
+ },
+ "TJS": {
+ "name": "tadsjikiske somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "tanzanianske shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "thailandske baht",
+ "symbol": "THB"
+ },
+ "TOP": {
+ "name": "tonganske paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "trinidadiske dollar",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "tsjekkiske koruna",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "tunisiske dinarer",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "turkmenske manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "tyrkiske lire",
+ "symbol": "TRY"
+ },
+ "UGX": {
+ "name": "ugandiske shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukrainske hryvnia",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "ungarske forinter",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "uruguayanske pesos",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "usbekiske som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatiske vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelanske bolivar",
+ "symbol": "VEF"
+ },
+ "XOF": {
+ "name": "vestafrikanske CFA-franc",
+ "symbol": "CFA"
+ },
+ "VND": {
+ "name": "vietnamesiske dong",
+ "symbol": "VND"
+ },
+ "ZMW": {
+ "name": "zambiske kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "zimbabwisk dollar (2009)",
+ "symbol": "ZWL"
+ },
+ "XCD": {
+ "name": "østkaribiske dollar",
+ "symbol": "XCD"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/nd.json b/library/intl/resources/currency/nd.json
new file mode 100644
index 000000000..21a9284a1
--- /dev/null
+++ b/library/intl/resources/currency/nd.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi yase Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinali yase Aljeriya",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari yase Bhahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari yase Libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinari yase Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinari yase Tunisiya",
+ "symbol": "TND"
+ },
+ "MAD": {
+ "name": "Dirham yase Morokho",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra yase Sao Tome lo Principe",
+ "symbol": "STD"
+ },
+ "AED": {
+ "name": "Dola laseArab",
+ "symbol": "AED"
+ },
+ "ETB": {
+ "name": "Dola laseEthiopia",
+ "symbol": "ETB"
+ },
+ "USD": {
+ "name": "Dola yase Amelika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dola yase Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola yase Khanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola yase Libheriya",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dola yase Namibiya",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Escudo Caboverdiano",
+ "symbol": "CVE"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "XOF": {
+ "name": "Fulenki CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Fulenki CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Fulenki yase Bhurundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Fulenki yase Jibhuthi",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Fulenki yase Khomoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Fulenki yase Khongo",
+ "symbol": "CDF"
+ },
+ "MGA": {
+ "name": "Fulenki yase Malagasi",
+ "symbol": "MGA"
+ },
+ "RWF": {
+ "name": "Fulenki yase Ruwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Fulenki yase Swisi",
+ "symbol": "CHF"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha yase Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha yase Zambiya",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza yase Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leyoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Lothi yase Lesotho",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "Nakfa yase Eritrea",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "Nayira yase Nijeriya",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "EGP": {
+ "name": "Phawundi laseGibhide",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Phawundi yase Ngilandi",
+ "symbol": "£"
+ },
+ "SHP": {
+ "name": "Phawundindi laseSt Helena",
+ "symbol": "SHP"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "BWP": {
+ "name": "Phula yase Botswana",
+ "symbol": "BWP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi yase Afrika ye Zanzi",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal yase Saudi",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupi yase Indiya",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupi yase Morishasi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupi yase Seyisheli",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi yase Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Shilingi yase Somaliya",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi yase Tanzaniya",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shilingi yase Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya yase Moritaniya",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yeni yase Japhani",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi yase China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ne-IN.json b/library/intl/resources/currency/ne-IN.json
new file mode 100644
index 000000000..a4703e899
--- /dev/null
+++ b/library/intl/resources/currency/ne-IN.json
@@ -0,0 +1,634 @@
+{
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AZN": {
+ "name": "अजरबैजानी मानात",
+ "symbol": "AZN"
+ },
+ "AFN": {
+ "name": "अफà¥à¤—ान अफà¥à¤—ानी",
+ "symbol": "AFN"
+ },
+ "USD": {
+ "name": "अमेरिकी डलर",
+ "symbol": "US$"
+ },
+ "ARS": {
+ "name": "अरà¥à¤œà¥‡à¤¨à¥à¤Ÿà¤¿à¤¨à¥€ पेसो",
+ "symbol": "ARS"
+ },
+ "DZD": {
+ "name": "अलà¥à¤œà¥‡à¤°à¤¿à¤¯à¤¾à¤²à¥€ डिनार",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¨ लेक",
+ "symbol": "ALL"
+ },
+ "AUD": {
+ "name": "अषà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¨ डलर",
+ "symbol": "A$"
+ },
+ "ISK": {
+ "name": "आइसलà¥à¤¯à¤¾à¤£à¥à¤¡à¤¿à¤• कà¥à¤°à¥‹à¤¨à¤¾",
+ "symbol": "ISK"
+ },
+ "AWG": {
+ "name": "आरूबन फà¥à¤²à¥‹à¤°à¤¿à¤¨",
+ "symbol": "AWG"
+ },
+ "AMD": {
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾à¤²à¥€ डà¥à¤°à¤¾à¤®",
+ "symbol": "AMD"
+ },
+ "ILS": {
+ "name": "इजरायली नयाठशेकेल",
+ "symbol": "₪"
+ },
+ "EGP": {
+ "name": "इजिपà¥à¤¸à¤¿à¤¯à¤¨ पाउनà¥à¤¡",
+ "symbol": "EGP"
+ },
+ "IDR": {
+ "name": "इणà¥à¤¡à¥‹à¤¨à¥‡à¤¶à¤¿à¤¯à¤¾à¤²à¥€ रूपियाà¤",
+ "symbol": "IDR"
+ },
+ "ETB": {
+ "name": "इथियोपियाली बिर",
+ "symbol": "ETB"
+ },
+ "IQD": {
+ "name": "इराकी डिनार",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "इरानियाली रियाल",
+ "symbol": "IRR"
+ },
+ "UZS": {
+ "name": "उजà¥à¤¬à¥‡à¤•à¤¿à¤¸à¥à¤¤à¤¾à¤¨ सोम",
+ "symbol": "UZS"
+ },
+ "KPW": {
+ "name": "उतà¥à¤¤à¤° कोरियाली वन",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "उरूगà¥à¤µà¤¾à¤¯à¤¾à¤²à¥€ पेसो",
+ "symbol": "UYU"
+ },
+ "AOA": {
+ "name": "à¤à¤™à¥à¤—ोलान कà¥à¤µà¤¾à¤¨à¥à¤œà¤¾",
+ "symbol": "AOA"
+ },
+ "ERN": {
+ "name": "à¤à¤°à¤¿à¤Ÿà¥à¤°à¤¿à¤¯à¤¨ नाकà¥à¤«à¤¾",
+ "symbol": "ERN"
+ },
+ "OMR": {
+ "name": "ओमनी रियल",
+ "symbol": "OMR"
+ },
+ "CDF": {
+ "name": "कङà¥à¤—ोली फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "CDF"
+ },
+ "QAR": {
+ "name": "कतारी रियल",
+ "symbol": "QAR"
+ },
+ "KHR": {
+ "name": "कमà¥à¤¬à¥‹à¤¡à¤¿à¤¨à¥‡à¤¯à¤¾à¤²à¥€ रियल",
+ "symbol": "KHR"
+ },
+ "KZT": {
+ "name": "काजाखसà¥à¤¤à¤¾à¤¨à¥€ टेनà¥à¤œ",
+ "symbol": "KZT"
+ },
+ "KGS": {
+ "name": "किरà¥à¤—िसà¥à¤¤à¤¾à¤¨à¥€ सोम",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "कà¥à¤µà¥‡à¤¤à¥€ डिनार",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "केनà¥à¤¯à¤¾à¤²à¥€ शिलिङ",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "केप भरà¥à¤¡à¤¿à¤¯à¤¨ à¤à¤¸à¥à¤•à¥à¤¡à¥‹",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "केमà¥à¤¯à¤¾à¤¨ टापà¥à¤¹à¤°à¥‚का डलर",
+ "symbol": "KYD"
+ },
+ "KMF": {
+ "name": "कोमोरियन फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "कोलमà¥à¤µà¤¿à¤¯à¤¨ पेसो",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "कोषà¥à¤Ÿà¤¾à¤°à¤¿à¤•à¤¨ कोलोन",
+ "symbol": "CRC"
+ },
+ "CAD": {
+ "name": "कà¥à¤¯à¤¾à¤¨à¤¾à¤¡à¤¿à¤¯à¤¾à¤²à¥€ डलर",
+ "symbol": "CA$"
+ },
+ "CUP": {
+ "name": "कà¥à¤¯à¥‚वाली पेसो",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "कà¥à¤¯à¥‚वाली रूपानà¥à¤¤à¤°à¤£à¤¯à¥‹à¤—à¥à¤¯ पेसो",
+ "symbol": "CUC"
+ },
+ "HRK": {
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾à¤²à¥€ कà¥à¤¨à¤¾",
+ "symbol": "HRK"
+ },
+ "GYD": {
+ "name": "गाइनिज डलर",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "गामà¥à¤µà¤¿à¤¯à¤¾à¤²à¥€ डालासी",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "गिनियाली फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "गà¥à¤µà¤¾à¤Ÿà¥‡à¤®à¤¾à¤²à¤¾ कà¥à¤µà¥‡à¤Ÿà¥à¤œà¤¾à¤²",
+ "symbol": "GTQ"
+ },
+ "GHS": {
+ "name": "घानाली सेडी",
+ "symbol": "GHS"
+ },
+ "CNY": {
+ "name": "चिनिà¤à¤¯à¤¾ यà¥à¤†à¤¨",
+ "symbol": "CNÂ¥"
+ },
+ "CLP": {
+ "name": "चिलियन पेसो",
+ "symbol": "CLP"
+ },
+ "CZK": {
+ "name": "चेख गणतञà¥à¤¤à¥à¤° कोरूना",
+ "symbol": "CZK"
+ },
+ "JMD": {
+ "name": "जमाइकाली डलर",
+ "symbol": "JMD"
+ },
+ "GEL": {
+ "name": "जरà¥à¤œà¤¿à¤¯à¤¾à¤²à¥€ लारी",
+ "symbol": "GEL"
+ },
+ "JPY": {
+ "name": "जापानी येन",
+ "symbol": "JPÂ¥"
+ },
+ "ZMW": {
+ "name": "जामà¥à¤¬à¤¿à¤¯à¤¾à¤²à¥€ कà¥à¤µà¤¾à¤šà¤¾",
+ "symbol": "ZMW"
+ },
+ "DJF": {
+ "name": "जिबौंटियाली फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "जिबà¥à¤°à¤¾à¤²à¥à¤Ÿà¤° पाउणà¥à¤¡",
+ "symbol": "GIP"
+ },
+ "JOD": {
+ "name": "जोरà¥à¤¡à¤¾à¤¨à¤¿à¤¯à¤¾à¤²à¥€ डलर",
+ "symbol": "JOD"
+ },
+ "TOP": {
+ "name": "टङà¥à¤—न पाङà¥à¤—ा",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "टरà¥à¤•à¤¿à¤¶ लिरा",
+ "symbol": "TRY"
+ },
+ "TND": {
+ "name": "टà¥à¤¨à¤¿à¤¸à¤¿à¤¯à¤¾à¤²à¥€ डिनार",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "टà¥à¤°à¥à¤•à¥à¤®à¥‡à¤¨à¤¿à¤¸à¥à¤¤à¤¾à¤¨à¥€ मानात",
+ "symbol": "TMT"
+ },
+ "DOP": {
+ "name": "डोमिनिकन पेसो",
+ "symbol": "DOP"
+ },
+ "DKK": {
+ "name": "डà¥à¤¯à¤¾à¤¨à¤¿à¤¶ कà¥à¤°à¥‹à¤¨",
+ "symbol": "DKK"
+ },
+ "TJS": {
+ "name": "ताजिकà¥à¤¸à¥à¤¤à¤¾à¤¨à¥€ सोमोनी",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "ताञà¥à¤œà¤¾à¤¨à¤¿à¤¯à¤¾à¤²à¥€ शिलिङ",
+ "symbol": "TZS"
+ },
+ "TTD": {
+ "name": "तà¥à¤°à¤¿à¤¨à¤¿à¤¡à¤¾à¤¡ र टोबागो डलर",
+ "symbol": "TTD"
+ },
+ "THB": {
+ "name": "थाई भाट",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "दकà¥à¤·à¤¿à¤£ अफà¥à¤°à¤¿à¤•à¥€ रà¥â€à¤¯à¤¾à¤¨à¥à¤¡",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "दकà¥à¤·à¤¿à¤£ कोरियाली वन",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "दकà¥à¤·à¤¿à¤£ सà¥à¤¡à¤¾à¤¨à¥€ पाउनà¥à¤¡",
+ "symbol": "SSP"
+ },
+ "TWD": {
+ "name": "नयाठताइवान डलर",
+ "symbol": "NT$"
+ },
+ "NOK": {
+ "name": "नरà¥à¤µà¥‡à¤œà¤¿à¤¯à¤¾à¤²à¥€ कà¥à¤°à¥‹à¤¨",
+ "symbol": "NOK"
+ },
+ "NGN": {
+ "name": "नाइजेरियन नाइरा",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "नामिबियन डलर",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "निकारागà¥à¤µà¤¾à¤¨ कोरà¥à¤¡à¥‹à¤µà¤¾",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "नेदरलà¥à¤¯à¤¾à¤£à¥à¤¡à¥à¤¸ à¤à¤¨à¥à¤Ÿà¤¿à¤²à¤¿à¤¯à¤¨ गिलà¥à¤¡à¤°",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "नेपाली रूपैयाà¤",
+ "symbol": "नेरू"
+ },
+ "NZD": {
+ "name": "नà¥à¤¯à¥‚जिलà¥à¤¯à¤¾à¤£à¥à¤¡ डलर",
+ "symbol": "NZ$"
+ },
+ "PGK": {
+ "name": "पपà¥à¤† नà¥à¤¯à¥‚ गिनियाली किना",
+ "symbol": "PGK"
+ },
+ "PKR": {
+ "name": "पाकिसà¥à¤¤à¤¾à¤¨à¥€ रूपियाà¤",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "पानामानियाली बालà¥à¤¬à¥‹à¤†",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "पारागà¥à¤¯à¤¾à¤²à¥€ गà¥à¤°à¤¾à¤¨à¥€",
+ "symbol": "PYG"
+ },
+ "XCD": {
+ "name": "पूरà¥à¤µà¥€ कà¥à¤¯à¤¾à¤°à¤¿à¤¬à¤¿à¤¯à¤¨ डलर",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "पेरूभियाली नà¥à¤¯à¥‚भो सोल",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "पोलिश जà¥à¤²à¥‹à¤Ÿà¤¾à¤ˆ",
+ "symbol": "PLN"
+ },
+ "FKP": {
+ "name": "फकà¥â€Œà¤²à¥à¤¯à¤¾à¤£à¥à¤¡ टापà¥à¤¹à¤°à¥‚का पाउनà¥à¤¡",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "फिजीयाली डलर",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "फिलिपिनी पेसो",
+ "symbol": "PHP"
+ },
+ "BDT": {
+ "name": "बङà¥à¤—लादेशी टाका",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "बरà¥à¤¬à¤¾à¤¡à¤¿à¤¯à¤¨ डलर",
+ "symbol": "BBD"
+ },
+ "BMD": {
+ "name": "बरà¥à¤®à¥à¤¡à¤¨ डलर",
+ "symbol": "BMD"
+ },
+ "BSD": {
+ "name": "बहामियाली डलर",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "बाहारैनी डिनार",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "बà¥à¤°à¥‚णà¥à¤¡à¤¿à¤¯à¤¾à¤²à¥€ फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "BIF"
+ },
+ "BGN": {
+ "name": "बà¥à¤²à¥à¤—ारियाली लेभ",
+ "symbol": "BGN"
+ },
+ "GBP": {
+ "name": "बेलायती पाउणà¥à¤¡ सà¥à¤Ÿà¤°à¥à¤²à¤¿à¤™",
+ "symbol": "£"
+ },
+ "BYR": {
+ "name": "बेलारूसी रूबल",
+ "symbol": "BYR"
+ },
+ "BWP": {
+ "name": "बोटà¥à¤¸à¤µà¤¾à¤¨à¤¾à¤¨ पà¥à¤²à¤¾",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "बोलिभियन बोलिभियानो",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾-हरà¥à¤œà¤—ोभिनिया रूपानà¥à¤¤à¤°à¤¯à¥‹à¤—à¥à¤¯ मारà¥à¤•",
+ "symbol": "BAM"
+ },
+ "BRL": {
+ "name": "बà¥à¤°à¤¾à¤œà¤¿à¤²à¤¿à¤¯à¤¨ रियल",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "बà¥à¤°à¥à¤¨à¤¾à¤ˆ डलर",
+ "symbol": "BND"
+ },
+ "VUV": {
+ "name": "भानà¥à¤†à¤¤à¥‚ भातà¥",
+ "symbol": "VUV"
+ },
+ "INR": {
+ "name": "भारतीय रूपिà¤à¤¯à¤¾",
+ "symbol": "₹"
+ },
+ "VND": {
+ "name": "भियतनामी डङà¥",
+ "symbol": "â‚«"
+ },
+ "BTN": {
+ "name": "भà¥à¤Ÿà¤¾à¤¨à¥€ à¤à¤¨à¥â€Œà¤—à¥à¤²à¥à¤Ÿà¥à¤°à¥à¤®",
+ "symbol": "BTN"
+ },
+ "VEF": {
+ "name": "भेनेजà¥à¤à¤²à¤¨ बोलिभर",
+ "symbol": "VEF"
+ },
+ "MNT": {
+ "name": "मङà¥à¤—ोलियाली टà¥à¤—à¥à¤°à¤¿à¤•",
+ "symbol": "MNT"
+ },
+ "MWK": {
+ "name": "मलाविअन कà¥à¤µà¤¾à¤šà¤¾",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "मलेशियाली रिङà¥à¤—ेट",
+ "symbol": "MYR"
+ },
+ "MRO": {
+ "name": "माउरिटानियानली औगà¥à¤‡à¤¯à¤¾",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "माउरिटियन रूपी",
+ "symbol": "MUR"
+ },
+ "MOP": {
+ "name": "माकानिज पटाका",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "मालडिभियाली रूफियाà¤",
+ "symbol": "MVR"
+ },
+ "MGA": {
+ "name": "मालागासी à¤à¤°à¤¿à¤†à¤°à¥€",
+ "symbol": "MGA"
+ },
+ "MDL": {
+ "name": "मालà¥à¤¡à¥‹à¤­à¤¨ लेउ",
+ "symbol": "MDL"
+ },
+ "MXN": {
+ "name": "मेकà¥à¤¸à¤¿à¤•à¤¨ पेसो",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "मोजामà¥à¤µà¤¿à¤•à¤¨ मेटिकल",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "मोरोकà¥à¤•à¤¾à¤²à¥€ डिरà¥â€Œà¤¹à¤¾à¤®",
+ "symbol": "MAD"
+ },
+ "MMK": {
+ "name": "मà¥à¤¯à¤¾à¤¨à¥à¤®à¤¾ कà¥à¤¯à¤¾à¤Ÿ",
+ "symbol": "MMK"
+ },
+ "MKD": {
+ "name": "मà¥à¤¯à¤¾à¤¸à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¾à¤²à¥€ डेनार",
+ "symbol": "MKD"
+ },
+ "UAH": {
+ "name": "यà¥à¤•à¥à¤°à¥‡à¤¨à¥€ हिरà¥à¤­à¤¿à¤¨à¤¿à¤¯à¤¾",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "यà¥à¤—ाणà¥à¤¡à¤¾à¤²à¥€ शिलिङ",
+ "symbol": "UGX"
+ },
+ "EUR": {
+ "name": "यà¥à¤°à¥‹",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "येमेनी रियाल",
+ "symbol": "YER"
+ },
+ "RUB": {
+ "name": "रूसी रूबल",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "रोमानियाली लेऊ",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "रà¥â€Œà¤µà¤¾à¤£à¥à¤¡à¤¾à¤²à¥€ फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "RWF"
+ },
+ "LAK": {
+ "name": "लाओशियन किप",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "लिथà¥à¤¨à¤¿à¤¯à¤¾à¤²à¥€ लिटास",
+ "symbol": "LTL"
+ },
+ "LRD": {
+ "name": "लिबेरियाली डलर",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "लिवियाली डिनार",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "लेबनाली पाउनà¥à¤¡",
+ "symbol": "LBP"
+ },
+ "BZD": {
+ "name": "वेलिज डलर",
+ "symbol": "BZD"
+ },
+ "LKR": {
+ "name": "शà¥à¤°à¥€à¤²à¤™à¥à¤•à¤¾à¤²à¥€ रूपिया",
+ "symbol": "LKR"
+ },
+ "AED": {
+ "name": "संयà¥à¤•à¥à¤¤ अरब à¤à¤®à¤¿à¤°à¤¾à¤Ÿà¥à¤¸ डिरà¥à¤¹à¤¾à¤®",
+ "symbol": "AED"
+ },
+ "RSD": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾à¤²à¥€ डिनार",
+ "symbol": "RSD"
+ },
+ "SAR": {
+ "name": "साउदी रियालहरू",
+ "symbol": "SAR"
+ },
+ "STD": {
+ "name": "साओ टोम र पà¥à¤°à¤¿à¤¨à¥à¤¸à¤¿à¤ª डोबà¥à¤°à¤¾",
+ "symbol": "STD"
+ },
+ "WST": {
+ "name": "सामोआन ताला",
+ "symbol": "WST"
+ },
+ "SGD": {
+ "name": "सिङà¥à¤—ापà¥à¤° डलर",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "सियरा लियोनेन लियोन",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "सिरियाली पाउनà¥à¤¡",
+ "symbol": "SYP"
+ },
+ "XAF": {
+ "name": "सीà¤à¤«à¥â€Œà¤ फà¥à¤°à¤¾à¤¨à¥à¤• बीइà¤à¤¸à¥€",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "सीà¤à¤«à¥â€Œà¤ फà¥à¤°à¤¾à¤¨à¥à¤• बीसीइà¤à¤“",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "सीà¤à¤«à¥â€Œà¤ªà¥€ फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "CFPF"
+ },
+ "SDG": {
+ "name": "सà¥à¤¡à¤¾à¤¨à¥€ पाउनà¥à¤¡",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "सà¥à¤°à¤¿à¤¨à¤¾à¤®à¤¿à¤œ डलर",
+ "symbol": "SRD"
+ },
+ "SCR": {
+ "name": "सेचेलोइस रूपी",
+ "symbol": "SCR"
+ },
+ "SHP": {
+ "name": "सेनà¥à¤Ÿ हेलेना पाउनà¥à¤¡",
+ "symbol": "SHP"
+ },
+ "SOS": {
+ "name": "सोमाली शिलिङ",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "सोलोमन टापà¥à¤¹à¤°à¥‚का डलर",
+ "symbol": "SBD"
+ },
+ "SZL": {
+ "name": "सà¥à¤µà¤¾à¤œà¥€ लिलानà¥à¤—ेनी",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "सà¥à¤µà¤¿à¤¡à¤¿à¤¶ कà¥à¤°à¥‹à¤¨à¤¾",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "सà¥à¤µà¤¿à¤¸à¥ फà¥à¤°à¥ˆà¤™à¥à¤•",
+ "symbol": "CHF"
+ },
+ "HKD": {
+ "name": "हङकङ डलर",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "हङà¥à¤—ेरियन फोरिनà¥à¤Ÿ",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "हैटियाली गà¥à¤°à¥à¤¡",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "होनà¥à¤¡à¥à¤°à¤¾à¤¨ लेमà¥à¤ªà¤¿à¤°à¤¾",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ne.json b/library/intl/resources/currency/ne.json
new file mode 100644
index 000000000..2cebfcca8
--- /dev/null
+++ b/library/intl/resources/currency/ne.json
@@ -0,0 +1,634 @@
+{
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AZN": {
+ "name": "अजरबैजानी मानात",
+ "symbol": "AZN"
+ },
+ "AFN": {
+ "name": "अफà¥à¤—ान अफà¥à¤—ानी",
+ "symbol": "AFN"
+ },
+ "USD": {
+ "name": "अमेरिकी डलर",
+ "symbol": "US$"
+ },
+ "ARS": {
+ "name": "अरà¥à¤œà¥‡à¤¨à¥à¤Ÿà¤¿à¤¨à¥€ पेसो",
+ "symbol": "ARS"
+ },
+ "DZD": {
+ "name": "अलà¥à¤œà¥‡à¤°à¤¿à¤¯à¤¾à¤²à¥€ डिनार",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¨ लेक",
+ "symbol": "ALL"
+ },
+ "AUD": {
+ "name": "अषà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¨ डलर",
+ "symbol": "A$"
+ },
+ "ISK": {
+ "name": "आइसलà¥à¤¯à¤¾à¤£à¥à¤¡à¤¿à¤• कà¥à¤°à¥‹à¤¨à¤¾",
+ "symbol": "ISK"
+ },
+ "AWG": {
+ "name": "आरूबन फà¥à¤²à¥‹à¤°à¤¿à¤¨",
+ "symbol": "AWG"
+ },
+ "AMD": {
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾à¤²à¥€ डà¥à¤°à¤¾à¤®",
+ "symbol": "AMD"
+ },
+ "ILS": {
+ "name": "इजरायली नयाठशेकेल",
+ "symbol": "₪"
+ },
+ "EGP": {
+ "name": "इजिपà¥à¤¸à¤¿à¤¯à¤¨ पाउनà¥à¤¡",
+ "symbol": "EGP"
+ },
+ "IDR": {
+ "name": "इणà¥à¤¡à¥‹à¤¨à¥‡à¤¶à¤¿à¤¯à¤¾à¤²à¥€ रूपियाà¤",
+ "symbol": "IDR"
+ },
+ "ETB": {
+ "name": "इथियोपियाली बिर",
+ "symbol": "ETB"
+ },
+ "IQD": {
+ "name": "इराकी डिनार",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "इरानियाली रियाल",
+ "symbol": "IRR"
+ },
+ "UZS": {
+ "name": "उजà¥à¤¬à¥‡à¤•à¤¿à¤¸à¥à¤¤à¤¾à¤¨ सोम",
+ "symbol": "UZS"
+ },
+ "KPW": {
+ "name": "उतà¥à¤¤à¤° कोरियाली वन",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "उरूगà¥à¤µà¤¾à¤¯à¤¾à¤²à¥€ पेसो",
+ "symbol": "UYU"
+ },
+ "AOA": {
+ "name": "à¤à¤™à¥à¤—ोलान कà¥à¤µà¤¾à¤¨à¥à¤œà¤¾",
+ "symbol": "AOA"
+ },
+ "ERN": {
+ "name": "à¤à¤°à¤¿à¤Ÿà¥à¤°à¤¿à¤¯à¤¨ नाकà¥à¤«à¤¾",
+ "symbol": "ERN"
+ },
+ "OMR": {
+ "name": "ओमनी रियल",
+ "symbol": "OMR"
+ },
+ "CDF": {
+ "name": "कङà¥à¤—ोली फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "CDF"
+ },
+ "QAR": {
+ "name": "कतारी रियल",
+ "symbol": "QAR"
+ },
+ "KHR": {
+ "name": "कमà¥à¤¬à¥‹à¤¡à¤¿à¤¨à¥‡à¤¯à¤¾à¤²à¥€ रियल",
+ "symbol": "KHR"
+ },
+ "KZT": {
+ "name": "काजाखसà¥à¤¤à¤¾à¤¨à¥€ टेनà¥à¤œ",
+ "symbol": "KZT"
+ },
+ "KGS": {
+ "name": "किरà¥à¤—िसà¥à¤¤à¤¾à¤¨à¥€ सोम",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "कà¥à¤µà¥‡à¤¤à¥€ डिनार",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "केनà¥à¤¯à¤¾à¤²à¥€ शिलिङ",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "केप भरà¥à¤¡à¤¿à¤¯à¤¨ à¤à¤¸à¥à¤•à¥à¤¡à¥‹",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "केमà¥à¤¯à¤¾à¤¨ टापà¥à¤¹à¤°à¥‚का डलर",
+ "symbol": "KYD"
+ },
+ "KMF": {
+ "name": "कोमोरियन फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "कोलमà¥à¤µà¤¿à¤¯à¤¨ पेसो",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "कोषà¥à¤Ÿà¤¾à¤°à¤¿à¤•à¤¨ कोलोन",
+ "symbol": "CRC"
+ },
+ "CAD": {
+ "name": "कà¥à¤¯à¤¾à¤¨à¤¾à¤¡à¤¿à¤¯à¤¾à¤²à¥€ डलर",
+ "symbol": "CA$"
+ },
+ "CUP": {
+ "name": "कà¥à¤¯à¥‚वाली पेसो",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "कà¥à¤¯à¥‚वाली रूपानà¥à¤¤à¤°à¤£à¤¯à¥‹à¤—à¥à¤¯ पेसो",
+ "symbol": "CUC"
+ },
+ "HRK": {
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾à¤²à¥€ कà¥à¤¨à¤¾",
+ "symbol": "HRK"
+ },
+ "GYD": {
+ "name": "गाइनिज डलर",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "गामà¥à¤µà¤¿à¤¯à¤¾à¤²à¥€ डालासी",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "गिनियाली फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "गà¥à¤µà¤¾à¤Ÿà¥‡à¤®à¤¾à¤²à¤¾ कà¥à¤µà¥‡à¤Ÿà¥à¤œà¤¾à¤²",
+ "symbol": "GTQ"
+ },
+ "GHS": {
+ "name": "घानाली सेडी",
+ "symbol": "GHS"
+ },
+ "CNY": {
+ "name": "चिनिà¤à¤¯à¤¾ यà¥à¤†à¤¨",
+ "symbol": "CNÂ¥"
+ },
+ "CLP": {
+ "name": "चिलियन पेसो",
+ "symbol": "CLP"
+ },
+ "CZK": {
+ "name": "चेख गणतञà¥à¤¤à¥à¤° कोरूना",
+ "symbol": "CZK"
+ },
+ "JMD": {
+ "name": "जमाइकाली डलर",
+ "symbol": "JMD"
+ },
+ "GEL": {
+ "name": "जरà¥à¤œà¤¿à¤¯à¤¾à¤²à¥€ लारी",
+ "symbol": "GEL"
+ },
+ "JPY": {
+ "name": "जापानी येन",
+ "symbol": "JPÂ¥"
+ },
+ "ZMW": {
+ "name": "जामà¥à¤¬à¤¿à¤¯à¤¾à¤²à¥€ कà¥à¤µà¤¾à¤šà¤¾",
+ "symbol": "ZMW"
+ },
+ "DJF": {
+ "name": "जिबौंटियाली फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "जिबà¥à¤°à¤¾à¤²à¥à¤Ÿà¤° पाउणà¥à¤¡",
+ "symbol": "GIP"
+ },
+ "JOD": {
+ "name": "जोरà¥à¤¡à¤¾à¤¨à¤¿à¤¯à¤¾à¤²à¥€ डलर",
+ "symbol": "JOD"
+ },
+ "TOP": {
+ "name": "टङà¥à¤—न पाङà¥à¤—ा",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "टरà¥à¤•à¤¿à¤¶ लिरा",
+ "symbol": "TRY"
+ },
+ "TND": {
+ "name": "टà¥à¤¨à¤¿à¤¸à¤¿à¤¯à¤¾à¤²à¥€ डिनार",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "टà¥à¤°à¥à¤•à¥à¤®à¥‡à¤¨à¤¿à¤¸à¥à¤¤à¤¾à¤¨à¥€ मानात",
+ "symbol": "TMT"
+ },
+ "DOP": {
+ "name": "डोमिनिकन पेसो",
+ "symbol": "DOP"
+ },
+ "DKK": {
+ "name": "डà¥à¤¯à¤¾à¤¨à¤¿à¤¶ कà¥à¤°à¥‹à¤¨",
+ "symbol": "DKK"
+ },
+ "TJS": {
+ "name": "ताजिकà¥à¤¸à¥à¤¤à¤¾à¤¨à¥€ सोमोनी",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "ताञà¥à¤œà¤¾à¤¨à¤¿à¤¯à¤¾à¤²à¥€ शिलिङ",
+ "symbol": "TZS"
+ },
+ "TTD": {
+ "name": "तà¥à¤°à¤¿à¤¨à¤¿à¤¡à¤¾à¤¡ र टोबागो डलर",
+ "symbol": "TTD"
+ },
+ "THB": {
+ "name": "थाई भाट",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "दकà¥à¤·à¤¿à¤£ अफà¥à¤°à¤¿à¤•à¥€ रà¥â€à¤¯à¤¾à¤¨à¥à¤¡",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "दकà¥à¤·à¤¿à¤£ कोरियाली वन",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "दकà¥à¤·à¤¿à¤£ सà¥à¤¡à¤¾à¤¨à¥€ पाउनà¥à¤¡",
+ "symbol": "SSP"
+ },
+ "TWD": {
+ "name": "नयाठताइवान डलर",
+ "symbol": "NT$"
+ },
+ "NOK": {
+ "name": "नरà¥à¤µà¥‡à¤œà¤¿à¤¯à¤¾à¤²à¥€ कà¥à¤°à¥‹à¤¨",
+ "symbol": "NOK"
+ },
+ "NGN": {
+ "name": "नाइजेरियन नाइरा",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "नामिबियन डलर",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "निकारागà¥à¤µà¤¾à¤¨ कोरà¥à¤¡à¥‹à¤µà¤¾",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "नेदरलà¥à¤¯à¤¾à¤£à¥à¤¡à¥à¤¸ à¤à¤¨à¥à¤Ÿà¤¿à¤²à¤¿à¤¯à¤¨ गिलà¥à¤¡à¤°",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "नेपाली रूपैयाà¤",
+ "symbol": "नेरू"
+ },
+ "NZD": {
+ "name": "नà¥à¤¯à¥‚जिलà¥à¤¯à¤¾à¤£à¥à¤¡ डलर",
+ "symbol": "NZ$"
+ },
+ "PGK": {
+ "name": "पपà¥à¤† नà¥à¤¯à¥‚ गिनियाली किना",
+ "symbol": "PGK"
+ },
+ "PKR": {
+ "name": "पाकिसà¥à¤¤à¤¾à¤¨à¥€ रूपियाà¤",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "पानामानियाली बालà¥à¤¬à¥‹à¤†",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "पारागà¥à¤¯à¤¾à¤²à¥€ गà¥à¤°à¤¾à¤¨à¥€",
+ "symbol": "PYG"
+ },
+ "XCD": {
+ "name": "पूरà¥à¤µà¥€ कà¥à¤¯à¤¾à¤°à¤¿à¤¬à¤¿à¤¯à¤¨ डलर",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "पेरूभियाली नà¥à¤¯à¥‚भो सोल",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "पोलिश जà¥à¤²à¥‹à¤Ÿà¤¾à¤ˆ",
+ "symbol": "PLN"
+ },
+ "FKP": {
+ "name": "फकà¥â€Œà¤²à¥à¤¯à¤¾à¤£à¥à¤¡ टापà¥à¤¹à¤°à¥‚का पाउनà¥à¤¡",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "फिजीयाली डलर",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "फिलिपिनी पेसो",
+ "symbol": "PHP"
+ },
+ "BDT": {
+ "name": "बङà¥à¤—लादेशी टाका",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "बरà¥à¤¬à¤¾à¤¡à¤¿à¤¯à¤¨ डलर",
+ "symbol": "BBD"
+ },
+ "BMD": {
+ "name": "बरà¥à¤®à¥à¤¡à¤¨ डलर",
+ "symbol": "BMD"
+ },
+ "BSD": {
+ "name": "बहामियाली डलर",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "बाहारैनी डिनार",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "बà¥à¤°à¥‚णà¥à¤¡à¤¿à¤¯à¤¾à¤²à¥€ फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "BIF"
+ },
+ "BGN": {
+ "name": "बà¥à¤²à¥à¤—ारियाली लेभ",
+ "symbol": "BGN"
+ },
+ "GBP": {
+ "name": "बेलायती पाउणà¥à¤¡ सà¥à¤Ÿà¤°à¥à¤²à¤¿à¤™",
+ "symbol": "£"
+ },
+ "BYR": {
+ "name": "बेलारूसी रूबल",
+ "symbol": "BYR"
+ },
+ "BWP": {
+ "name": "बोटà¥à¤¸à¤µà¤¾à¤¨à¤¾à¤¨ पà¥à¤²à¤¾",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "बोलिभियन बोलिभियानो",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾-हरà¥à¤œà¤—ोभिनिया रूपानà¥à¤¤à¤°à¤¯à¥‹à¤—à¥à¤¯ मारà¥à¤•",
+ "symbol": "BAM"
+ },
+ "BRL": {
+ "name": "बà¥à¤°à¤¾à¤œà¤¿à¤²à¤¿à¤¯à¤¨ रियल",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "बà¥à¤°à¥à¤¨à¤¾à¤ˆ डलर",
+ "symbol": "BND"
+ },
+ "VUV": {
+ "name": "भानà¥à¤†à¤¤à¥‚ भातà¥",
+ "symbol": "VUV"
+ },
+ "INR": {
+ "name": "भारती रूपिà¤à¤¯à¤¾",
+ "symbol": "₹"
+ },
+ "VND": {
+ "name": "भियतनामी डङà¥",
+ "symbol": "â‚«"
+ },
+ "BTN": {
+ "name": "भà¥à¤Ÿà¤¾à¤¨à¥€ à¤à¤¨à¥â€Œà¤—à¥à¤²à¥à¤Ÿà¥à¤°à¥à¤®",
+ "symbol": "BTN"
+ },
+ "VEF": {
+ "name": "भेनेजà¥à¤à¤²à¤¨ बोलिभर",
+ "symbol": "VEF"
+ },
+ "MNT": {
+ "name": "मङà¥à¤—ोलियाली टà¥à¤—à¥à¤°à¤¿à¤•",
+ "symbol": "MNT"
+ },
+ "MWK": {
+ "name": "मलाविअन कà¥à¤µà¤¾à¤šà¤¾",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "मलेशियाली रिङà¥à¤—ेट",
+ "symbol": "MYR"
+ },
+ "MRO": {
+ "name": "माउरिटानियानली औगà¥à¤‡à¤¯à¤¾",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "माउरिटियन रूपी",
+ "symbol": "MUR"
+ },
+ "MOP": {
+ "name": "माकानिज पटाका",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "मालडिभियाली रूफियाà¤",
+ "symbol": "MVR"
+ },
+ "MGA": {
+ "name": "मालागासी à¤à¤°à¤¿à¤†à¤°à¥€",
+ "symbol": "MGA"
+ },
+ "MDL": {
+ "name": "मालà¥à¤¡à¥‹à¤­à¤¨ लेउ",
+ "symbol": "MDL"
+ },
+ "MXN": {
+ "name": "मेकà¥à¤¸à¤¿à¤•à¤¨ पेसो",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "मोजामà¥à¤µà¤¿à¤•à¤¨ मेटिकल",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "मोरोकà¥à¤•à¤¾à¤²à¥€ डिरà¥â€Œà¤¹à¤¾à¤®",
+ "symbol": "MAD"
+ },
+ "MMK": {
+ "name": "मà¥à¤¯à¤¾à¤¨à¥à¤®à¤¾ कà¥à¤¯à¤¾à¤Ÿ",
+ "symbol": "MMK"
+ },
+ "MKD": {
+ "name": "मà¥à¤¯à¤¾à¤¸à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¾à¤²à¥€ डेनार",
+ "symbol": "MKD"
+ },
+ "UAH": {
+ "name": "यà¥à¤•à¥à¤°à¥‡à¤¨à¥€ हिरà¥à¤­à¤¿à¤¨à¤¿à¤¯à¤¾",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "यà¥à¤—ाणà¥à¤¡à¤¾à¤²à¥€ शिलिङ",
+ "symbol": "UGX"
+ },
+ "EUR": {
+ "name": "यà¥à¤°à¥‹",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "येमेनी रियाल",
+ "symbol": "YER"
+ },
+ "RUB": {
+ "name": "रूसी रूबल",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "रोमानियाली लेऊ",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "रà¥â€Œà¤µà¤¾à¤£à¥à¤¡à¤¾à¤²à¥€ फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "RWF"
+ },
+ "LAK": {
+ "name": "लाओशियन किप",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "लिथà¥à¤¨à¤¿à¤¯à¤¾à¤²à¥€ लिटास",
+ "symbol": "LTL"
+ },
+ "LRD": {
+ "name": "लिबेरियाली डलर",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "लिवियाली डिनार",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "लेबनाली पाउनà¥à¤¡",
+ "symbol": "LBP"
+ },
+ "BZD": {
+ "name": "वेलिज डलर",
+ "symbol": "BZD"
+ },
+ "LKR": {
+ "name": "शà¥à¤°à¥€à¤²à¤™à¥à¤•à¤¾à¤²à¥€ रूपिया",
+ "symbol": "LKR"
+ },
+ "AED": {
+ "name": "संयà¥à¤•à¥à¤¤ अरब à¤à¤®à¤¿à¤°à¤¾à¤Ÿà¥à¤¸ डिरà¥à¤¹à¤¾à¤®",
+ "symbol": "AED"
+ },
+ "RSD": {
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾à¤²à¥€ डिनार",
+ "symbol": "RSD"
+ },
+ "SAR": {
+ "name": "साउदी रियालहरू",
+ "symbol": "SAR"
+ },
+ "STD": {
+ "name": "साओ टोम र पà¥à¤°à¤¿à¤¨à¥à¤¸à¤¿à¤ª डोबà¥à¤°à¤¾",
+ "symbol": "STD"
+ },
+ "WST": {
+ "name": "सामोआन ताला",
+ "symbol": "WST"
+ },
+ "SGD": {
+ "name": "सिङà¥à¤—ापà¥à¤° डलर",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "सियरा लियोनेन लियोन",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "सिरियाली पाउनà¥à¤¡",
+ "symbol": "SYP"
+ },
+ "XAF": {
+ "name": "सीà¤à¤«à¥â€Œà¤ फà¥à¤°à¤¾à¤¨à¥à¤• बीइà¤à¤¸à¥€",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "सीà¤à¤«à¥â€Œà¤ फà¥à¤°à¤¾à¤¨à¥à¤• बीसीइà¤à¤“",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "सीà¤à¤«à¥â€Œà¤ªà¥€ फà¥à¤°à¤¾à¤¨à¥à¤•",
+ "symbol": "CFPF"
+ },
+ "SDG": {
+ "name": "सà¥à¤¡à¤¾à¤¨à¥€ पाउनà¥à¤¡",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "सà¥à¤°à¤¿à¤¨à¤¾à¤®à¤¿à¤œ डलर",
+ "symbol": "SRD"
+ },
+ "SCR": {
+ "name": "सेचेलोइस रूपी",
+ "symbol": "SCR"
+ },
+ "SHP": {
+ "name": "सेनà¥à¤Ÿ हेलेना पाउनà¥à¤¡",
+ "symbol": "SHP"
+ },
+ "SOS": {
+ "name": "सोमाली शिलिङ",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "सोलोमन टापà¥à¤¹à¤°à¥‚का डलर",
+ "symbol": "SBD"
+ },
+ "SZL": {
+ "name": "सà¥à¤µà¤¾à¤œà¥€ लिलानà¥à¤—ेनी",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "सà¥à¤µà¤¿à¤¡à¤¿à¤¶ कà¥à¤°à¥‹à¤¨à¤¾",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "सà¥à¤µà¤¿à¤¸à¥ फà¥à¤°à¥ˆà¤™à¥à¤•",
+ "symbol": "CHF"
+ },
+ "HKD": {
+ "name": "हङकङ डलर",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "हङà¥à¤—ेरियन फोरिनà¥à¤Ÿ",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "हैटियाली गà¥à¤°à¥à¤¡",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "होनà¥à¤¡à¥à¤°à¤¾à¤¨ लेमà¥à¤ªà¤¿à¤°à¤¾",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/nl.json b/library/intl/resources/currency/nl.json
new file mode 100644
index 000000000..5b8db07bd
--- /dev/null
+++ b/library/intl/resources/currency/nl.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghaanse afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Albanese lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Algerijnse dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "Amerikaanse dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angolese kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentijnse peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "Armeense dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "Arubaanse gulden",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australische dollar",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "Azerbeidzjaanse manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamaanse dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahreinse dinar",
+ "symbol": "BHD"
+ },
+ "BBD": {
+ "name": "Barbadaanse dollar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belizaanse dollar",
+ "symbol": "BZD"
+ },
+ "BDT": {
+ "name": "Bengalese taka",
+ "symbol": "BDT"
+ },
+ "BMD": {
+ "name": "Bermuda-dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "Bhutaanse ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "Boliviaanse boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosnische convertibele mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "Botswaanse pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Braziliaanse real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Brits pond sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Bruneise dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgaarse lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundese frank",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "Cambodjaanse riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Canadese dollar",
+ "symbol": "C$"
+ },
+ "KYD": {
+ "name": "Caymaneilandse dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA-franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA-frank",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-franc",
+ "symbol": "XPF"
+ },
+ "CLP": {
+ "name": "Chileense peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Chinese yuan renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "Colombiaanse peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Comorese frank",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Congolese frank",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Costa Ricaanse colon",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "Cubaanse convertibele peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Cubaanse peso",
+ "symbol": "CUP"
+ },
+ "DKK": {
+ "name": "Deense kroon",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "Djiboutiaanse frank",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominicaanse peso",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "Egyptisch pond",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrese nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Ethiopische birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklandeilands pond",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fiji-dollar",
+ "symbol": "FJ$"
+ },
+ "PHP": {
+ "name": "Filipijnse peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "Gambiaanse dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "Georgische lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "Ghanese cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltarees pond",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "Guatemalteekse quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Guinese franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "Guyaanse dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "Haïtiaanse gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "Hondurese lempira",
+ "symbol": "HNL"
+ },
+ "HUF": {
+ "name": "Hongaarse forint",
+ "symbol": "HUF"
+ },
+ "HKD": {
+ "name": "Hongkongse dollar",
+ "symbol": "HK$"
+ },
+ "ISK": {
+ "name": "IJslandse kroon",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "Indiase roepie",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonesische roepia",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "Iraakse dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iraanse rial",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "Israëlische nieuwe shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaicaanse dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanse yen",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "Jemenitische rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "Jordaanse dinar",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Kaapverdische escudo",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "Kazachse tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Keniaanse shilling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Kirgizische som",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "Koeweitse dinar",
+ "symbol": "KWD"
+ },
+ "HRK": {
+ "name": "Kroatische kuna",
+ "symbol": "HRK"
+ },
+ "LAK": {
+ "name": "Laotiaanse kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesothaanse loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "Libanees pond",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberiaanse dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libische dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litouwse litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "Macause pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Macedonische denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagassische ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawische kwacha",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Maldivische rufiyaa",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "Maleisische ringgit",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "Marokkaanse dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "Mauritaanse ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "Mauritiaanse roepie",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Mexicaanse peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "Moldavische leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongoolse tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mozambikaanse metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmarese kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibische dollar",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "Nederlands-Antilliaanse gulden",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "Nepalese roepie",
+ "symbol": "NPR"
+ },
+ "NIO": {
+ "name": "Nicaraguaanse córdoba",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "Nieuw-Zeelandse dollar",
+ "symbol": "NZ$"
+ },
+ "TWD": {
+ "name": "Nieuwe Taiwanese dollar",
+ "symbol": "NT$"
+ },
+ "NGN": {
+ "name": "Nigeriaanse naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "Noord-Koreaanse won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "Noorse kroon",
+ "symbol": "NOK"
+ },
+ "UGX": {
+ "name": "Oegandese shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Oekraïense hryvnia",
+ "symbol": "UAH"
+ },
+ "UZS": {
+ "name": "Oezbeekse sum",
+ "symbol": "UZS"
+ },
+ "OMR": {
+ "name": "Omaanse rial",
+ "symbol": "OMR"
+ },
+ "XCD": {
+ "name": "Oost-Caribische dollar",
+ "symbol": "EC$"
+ },
+ "PKR": {
+ "name": "Pakistaanse roepie",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamese balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papoea-Nieuw-Guinese kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguayaanse guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruaanse nieuwe sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Poolse zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "Qatarese rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Roemeense leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Russische roebel",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwandese frank",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "Salomon-dollar",
+ "symbol": "SI$"
+ },
+ "SVC": {
+ "name": "Salvadoraanse colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoaanse tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Santomese dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saoedi-Arabische riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "Servische dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "Seychelse roepie",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Sierraleoonse leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singaporese dollar",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "Sint-Heleens pond",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Soedanees pond",
+ "symbol": "SDG"
+ },
+ "SOS": {
+ "name": "Somalische shilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri Lankaanse roepie",
+ "symbol": "LKR"
+ },
+ "SRD": {
+ "name": "Surinaamse dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "Swazische lilangeni",
+ "symbol": "SZL"
+ },
+ "SYP": {
+ "name": "Syrisch pond",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "Tadzjiekse somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzaniaanse shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Thaise baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tongaanse paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad en Tobago-dollar",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "Tsjechische kroon",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "Tunesische dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "Turkmeense manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "Turkse lira",
+ "symbol": "TRY"
+ },
+ "UYU": {
+ "name": "Uruguayaanse peso",
+ "symbol": "UYU"
+ },
+ "VUV": {
+ "name": "Vanuatuaanse vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezolaanse bolivar",
+ "symbol": "VEF"
+ },
+ "AED": {
+ "name": "Verenigde Arabische Emiraten-dirham",
+ "symbol": "AED"
+ },
+ "VND": {
+ "name": "Vietnamese dong",
+ "symbol": "â‚«"
+ },
+ "BYR": {
+ "name": "Wit-Russische roebel",
+ "symbol": "BYR"
+ },
+ "ZMW": {
+ "name": "Zambiaanse kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwaanse dollar (2009)",
+ "symbol": "ZWL"
+ },
+ "ZAR": {
+ "name": "Zuid-Afrikaanse rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Zuid-Koreaanse won",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Zuid-Soedanees pond",
+ "symbol": "SSP"
+ },
+ "SEK": {
+ "name": "Zweedse kroon",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Zwitserse frank",
+ "symbol": "CHF"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/nmg.json b/library/intl/resources/currency/nmg.json
new file mode 100644
index 000000000..06722f742
--- /dev/null
+++ b/library/intl/resources/currency/nmg.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "USD": {
+ "name": "DÉ”ÌllÉ” Amɛŕka",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "DÉ”ÌllÉ” Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "DÉ”ÌllÉ” Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "DÉ”ÌllÉ” Namibia",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "DÉ”ÌllÉ” Ɔstralia",
+ "symbol": "A$"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "CDF": {
+ "name": "Fraŋ bó Kongolɛ̌",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "Fraŋ bó Kɔmɔr",
+ "symbol": "KMF"
+ },
+ "BIF": {
+ "name": "Fraŋ Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Fraŋ CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Fraŋ CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Fraŋ Jibuti",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Fraŋ Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Fraŋ Suisse",
+ "symbol": "CHF"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "ZAR": {
+ "name": "Mɔn Afrik yí sí",
+ "symbol": "ZAR"
+ },
+ "EGP": {
+ "name": "Mɔn Ägyptɛn",
+ "symbol": "EGP"
+ },
+ "DZD": {
+ "name": "Mɔn Algeria",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Mɔn Angola",
+ "symbol": "AOA"
+ },
+ "AED": {
+ "name": "Mɔn B ´Arabe",
+ "symbol": "AED"
+ },
+ "BHD": {
+ "name": "Mɔn Bahrein",
+ "symbol": "BHD"
+ },
+ "CNY": {
+ "name": "Mɔn bó Chinois",
+ "symbol": "CNÂ¥"
+ },
+ "BWP": {
+ "name": "Mɔn Botswana",
+ "symbol": "BWP"
+ },
+ "ERN": {
+ "name": "Mɔn Erytré",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Mɔn Ethiopia",
+ "symbol": "ETB"
+ },
+ "GMD": {
+ "name": "Mɔn Gambia",
+ "symbol": "GMD"
+ },
+ "INR": {
+ "name": "Mɔn India",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "Mɔn Japɔn",
+ "symbol": "JPÂ¥"
+ },
+ "CVE": {
+ "name": "Mɔn Kapvɛrt",
+ "symbol": "CVE"
+ },
+ "KES": {
+ "name": "Mɔn Kɛnya",
+ "symbol": "KES"
+ },
+ "SLL": {
+ "name": "Mɔn Leɔne",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "Mɔn Lesoto",
+ "symbol": "LSL"
+ },
+ "LYD": {
+ "name": "Mɔn Libya",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "Mɔn Ligangeni",
+ "symbol": "SZL"
+ },
+ "SHP": {
+ "name": "Mɔn má Saint Lina",
+ "symbol": "SHP"
+ },
+ "MGA": {
+ "name": "Mɔn Madagaskar",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Mɔn Malawi",
+ "symbol": "MWK"
+ },
+ "MAD": {
+ "name": "Mɔn Marɔk",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "Mɔn Moriss",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mɔn Moritania",
+ "symbol": "MRO"
+ },
+ "GBP": {
+ "name": "Mɔn Ngɛ̄lɛ̄n",
+ "symbol": "£"
+ },
+ "STD": {
+ "name": "Mɔn Sao tomé na prinship",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Mɔn Saudi Arabia",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Mɔn Seychɛlle",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "Mɔn Somalía",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "Mɔn Sudan",
+ "symbol": "SDG"
+ },
+ "TZS": {
+ "name": "Mɔn Tanzania",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "Mɔn Tunisia",
+ "symbol": "TND"
+ },
+ "UGX": {
+ "name": "Mɔn Uganda",
+ "symbol": "UGX"
+ },
+ "ZMW": {
+ "name": "Mɔn Zambia",
+ "symbol": "ZMW"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naïra Nigeria",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/nn.json b/library/intl/resources/currency/nn.json
new file mode 100644
index 000000000..cc9301092
--- /dev/null
+++ b/library/intl/resources/currency/nn.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "albansk lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "algerisk dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "amerikansk dollar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "angolsk kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "argentinsk peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "armensk dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "arubisk gylden",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "aserbajdsjansk manat",
+ "symbol": "AZN"
+ },
+ "XCD": {
+ "name": "austkaribisk dollar",
+ "symbol": "EC$"
+ },
+ "AUD": {
+ "name": "australsk dollar",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "bahamisk dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "bahrainsk dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladeshisk taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "barbadisk dollar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "belizisk dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "bermudisk dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "bhutansk ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "bosnisk-hercegovinsk mark (konvertibel)",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "botswansk pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "brasiliansk real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britisk pund sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "bruneisk dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "bulgarsk ny lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "burundisk franc",
+ "symbol": "BIF"
+ },
+ "KYD": {
+ "name": "caymansk dollar",
+ "symbol": "KYD"
+ },
+ "XOF": {
+ "name": "CFA franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA franc BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "chilensk peso",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "colombiansk peso",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "costaricansk colon",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "DKK": {
+ "name": "dansk krone",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "djiboutisk franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "dominikansk peso",
+ "symbol": "DOP"
+ },
+ "EGP": {
+ "name": "egyptisk pund",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "eritreisk nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "etiopisk birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland-pund",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "fijiansk dollar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "filippinsk peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "gambisk dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "georgisk lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "ghanesisk cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "gibraltarsk pund",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "guatemalansk quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "guineansk franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "guyansk dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "haitisk gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "honduransk lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkong-dollar",
+ "symbol": "HK$"
+ },
+ "INR": {
+ "name": "indisk rupi",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indonesisk rupi",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "iraksk dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "iransk rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "islandsk krone",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "israelsk ny shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "jamaikansk dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "japansk yen",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "jemenittisk rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "jordansk dinar",
+ "symbol": "JOD"
+ },
+ "KHR": {
+ "name": "kambodsjansk riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadisk dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "kappverdisk escudo",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "kasakhstansk tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "kenyansk shilling",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "kinesisk yuan renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "KGS": {
+ "name": "kirgisisk som",
+ "symbol": "KGS"
+ },
+ "KMF": {
+ "name": "komorisk franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "kongolesisk franc",
+ "symbol": "CDF"
+ },
+ "HRK": {
+ "name": "kroatisk kuna",
+ "symbol": "HRK"
+ },
+ "CUP": {
+ "name": "kubansk peso",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuwaitisk dinar",
+ "symbol": "KWD"
+ },
+ "BYR": {
+ "name": "kviterussisk rubel",
+ "symbol": "BYR"
+ },
+ "LAK": {
+ "name": "laotisk kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "lesothisk loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "libanesisk pund",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "liberisk dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libysk dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "litauisk lita",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "madagassisk ariary",
+ "symbol": "MGA"
+ },
+ "MOP": {
+ "name": "makaosk pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "makedonsk denar",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "malawisk kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "malaysisk ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "maldivisk rufiyaa",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "marokkansk dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "mauritansk ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "mauritansk rupi",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "meksikansk peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "moldovsk leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongolsk tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "mosambikisk metical",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "myanmarsk kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "namibisk dollar",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "nederlansk antillegylden",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "nepalsk rupi",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "new zealandsk dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "nicaraguansk cordoba oro",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "nigeriansk naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "nordkoreansk won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "norsk krone",
+ "symbol": "kr"
+ },
+ "OMR": {
+ "name": "omansk rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "pakistansk rupi",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamansk balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "papuansk kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "paraguayansk guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "peruansk nuevo sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "polsk zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "qatarsk rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "rumensk leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "russisk rubel",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "rwandisk franc",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "salomonsk dollar",
+ "symbol": "SBD"
+ },
+ "SVC": {
+ "name": "salvadoransk colon",
+ "symbol": "SVC"
+ },
+ "SHP": {
+ "name": "sankthelensk pund",
+ "symbol": "SHP"
+ },
+ "STD": {
+ "name": "Sao Tome og Principe-dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "saudiarabisk rial",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "serbisk dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "seychellisk rupi",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "sierraleonsk leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "singaporsk dollar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "somalisk shilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "srilankisk rupi",
+ "symbol": "LKR"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "sudansk pund",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "surinamsk dollar",
+ "symbol": "SRD"
+ },
+ "CHF": {
+ "name": "sveitsisk franc",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "svensk krone",
+ "symbol": "SEK"
+ },
+ "SZL": {
+ "name": "swazilandsk lilangeni",
+ "symbol": "SZL"
+ },
+ "SYP": {
+ "name": "syrisk pund",
+ "symbol": "SYP"
+ },
+ "ZAR": {
+ "name": "sørafrikansk rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "sørkoreansk won",
+ "symbol": "â‚©"
+ },
+ "TJS": {
+ "name": "tadsjikisk somoni",
+ "symbol": "TJS"
+ },
+ "TWD": {
+ "name": "taiwansk ny dollar",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "tanzaniansk shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "thailandsk baht",
+ "symbol": "THB"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "tongansk paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "trinidadisk dollar",
+ "symbol": "TTD"
+ },
+ "CZK": {
+ "name": "tsjekkisk koruna",
+ "symbol": "CZK"
+ },
+ "TND": {
+ "name": "tunisisk dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "tyrkisk lire",
+ "symbol": "TRY"
+ },
+ "AED": {
+ "name": "UAE dirham",
+ "symbol": "AED"
+ },
+ "UGX": {
+ "name": "ugandisk shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukrainsk hryvnia",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "ungarsk forint",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "uruguayansk peso",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "usbekisk sum",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatuisk vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelansk bolivar",
+ "symbol": "VEF"
+ },
+ "WST": {
+ "name": "vestsamoisk tala",
+ "symbol": "WST"
+ },
+ "VND": {
+ "name": "vietnamesisk dong",
+ "symbol": "â‚«"
+ },
+ "ZMW": {
+ "name": "zambisk kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/nus.json b/library/intl/resources/currency/nus.json
new file mode 100644
index 000000000..d7e43ee93
--- /dev/null
+++ b/library/intl/resources/currency/nus.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "EUR",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "INR",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/nyn.json b/library/intl/resources/currency/nyn.json
new file mode 100644
index 000000000..38f4d562b
--- /dev/null
+++ b/library/intl/resources/currency/nyn.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariari ya Maragariita",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Birr ya Ethiopiya",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Arigyeriya",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham za Buharabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirram ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Purinsipo",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Doora ya America",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Doora ya Austureeriya",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Doora ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Doora ya Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Doora ya Namibiya",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "SOS": {
+ "name": "Eshiringi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Eshiringi ya Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Eshiringi ya Uganda",
+ "symbol": "USh"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Faranga ya CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga ya CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "DJF": {
+ "name": "Faranga ya Gyibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Swisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwaca ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angora",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leone",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Naigyeriya",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritireya",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "MRO": {
+ "name": "Ougwiya ya Mouriteeniya",
+ "symbol": "MRO"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "GBP": {
+ "name": "Paundi ya Bungyereza",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Paundi ya Misiri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Paundi ya Senti Herena",
+ "symbol": "SHP"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pura ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Sausi Afirika",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riya ya Saudi",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "MUR": {
+ "name": "Rupiiha ya Mauritiasi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupiiha ya Sherisheri",
+ "symbol": "SCR"
+ },
+ "INR": {
+ "name": "Rupiya ya India",
+ "symbol": "₹"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shiringi ya Kenya",
+ "symbol": "KES"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yeni ya Japaani",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/or.json b/library/intl/resources/currency/or.json
new file mode 100644
index 000000000..3366914d6
--- /dev/null
+++ b/library/intl/resources/currency/or.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "EUR",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "INR": {
+ "name": "ଟଙକା",
+ "symbol": "₹"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pa.json b/library/intl/resources/currency/pa.json
new file mode 100644
index 000000000..9c0bf94be
--- /dev/null
+++ b/library/intl/resources/currency/pa.json
@@ -0,0 +1,634 @@
+{
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "UZS": {
+ "name": "ਉਜ਼ਬੇਕਿਸਤਾਨ ਸੋਮ",
+ "symbol": "UZS"
+ },
+ "KPW": {
+ "name": "ਉੱਤਰੀ ਕੋਰੀਆਈ ਵੋਨ",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "ਉਰੂਗà©à¨µà¨¾à¨‡à¨¨ ਪੇਸੋ",
+ "symbol": "UYU"
+ },
+ "OMR": {
+ "name": "ਓਮਾਨੀ ਰਿਆਲ",
+ "symbol": "OMR"
+ },
+ "AOA": {
+ "name": "ਅੰਗੋਲਾ ਕਵਾਂਜਾ",
+ "symbol": "AOA"
+ },
+ "AZN": {
+ "name": "ਅਜ਼ਰਬਾਈਜਾਨ ਮਾਨਤ",
+ "symbol": "AZN"
+ },
+ "AFN": {
+ "name": "ਅਫ਼ਗਾਨ ਅਫ਼ਗਾਨੀ",
+ "symbol": "AFN"
+ },
+ "ARS": {
+ "name": "ਅਰਜਨਟੀਨੀ ਪੇਸੋ",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "ਅਰਮੀਨੀਆਈ ਦਰਮ",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "ਅਰੂਬਨ ਫਲੋਰਿਨ",
+ "symbol": "AWG"
+ },
+ "DZD": {
+ "name": "ਅਲਜੀਰਿਆਈ ਦਿਨਾਰ",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "ਅਲਬਾਨੀਆਈ ਲੇਕ",
+ "symbol": "ALL"
+ },
+ "ISK": {
+ "name": "ਆਈਸਲੈਂਡਿਕ ਕਰੌਨ",
+ "symbol": "ISK"
+ },
+ "AUD": {
+ "name": "ਆਸਟà©à¨°à©‡à¨²à©€à¨†à¨ˆ ਡਾਲਰ",
+ "symbol": "A$"
+ },
+ "ILS": {
+ "name": "ਇਜ਼ਰਾਈਲੀ ਨਵੀਂ ਸ਼ੇਕੇਲ",
+ "symbol": "₪"
+ },
+ "IDR": {
+ "name": "ਇੰਡੋਨੇਸ਼ੀਆਈ ਰà©à¨ªà¨¿à¨†à¨¹",
+ "symbol": "IDR"
+ },
+ "ETB": {
+ "name": "ਇਥੋਪੀਆਈ ਬਿਰ",
+ "symbol": "ETB"
+ },
+ "IQD": {
+ "name": "ਇਰਾਕੀ ਦਿਨਾਰ",
+ "symbol": "IQD"
+ },
+ "ERN": {
+ "name": "ਇਰੀਟà©à¨°à¨¿à¨†à¨ˆ ਨਾਫ਼ਾ",
+ "symbol": "ERN"
+ },
+ "IRR": {
+ "name": "ਈਰਾਨੀ ਰਿਆਲ",
+ "symbol": "IRR"
+ },
+ "AED": {
+ "name": "ਸੰਯà©à¨•à¨¤ ਅਰਬ ਅਮੀਰਾਤ ਦਿਰਹਾਮ",
+ "symbol": "AED"
+ },
+ "RSD": {
+ "name": "ਸਰਬੀਆਈ ਦਿਨਾਰ",
+ "symbol": "RSD"
+ },
+ "SZL": {
+ "name": "ਸਵਾਜ਼ੀ ਲਾਇਲੈਂਗਨੀ",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "ਸਵਿਸ ਫà©à¨°à©ˆà¨‚ਕ",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "ਸਵੀਡਿਸ਼ ਕਰੋਨਾ",
+ "symbol": "SEK"
+ },
+ "LKR": {
+ "name": "ਸà©à¨°à©€à¨²à©°à¨•à¨¾à¨ˆ ਰà©à¨ªà¨‡à¨†",
+ "symbol": "LKR"
+ },
+ "STD": {
+ "name": "ਸਾਉ ਟੋਮੀ à¨à¨‚ਡ ਪà©à¨°à¨¿à©°à¨¸à¨ªà©€ ਡੋਬਰਾ",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "ਸਾਊਦੀ ਰਿਆਲ",
+ "symbol": "SAR"
+ },
+ "WST": {
+ "name": "ਸਾਮੋਆਈ ਤਾਲਾ",
+ "symbol": "WST"
+ },
+ "SLL": {
+ "name": "ਸਿà¨à¨°à¨¾ ਲਿਓਨੀਅਨ ਲਿਓਨ",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "ਸਿੰਗਾਪà©à¨° ਡਾਲਰ",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "ਸੀਰੀਆਈ ਪੌਂਡ",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "ਸੂਡਾਨੀ ਪੌਂਡ",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "ਸੂਰੀਨਾਮੀ ਡਾਲਰ",
+ "symbol": "SRD"
+ },
+ "SCR": {
+ "name": "ਸੇਸ਼ਲਸ ਰà©à¨ªà¨‡à¨†",
+ "symbol": "SCR"
+ },
+ "SHP": {
+ "name": "ਸੇਂਟ ਹੇਲੇਨਾ ਪੌਂਡ",
+ "symbol": "SHP"
+ },
+ "SOS": {
+ "name": "ਸੋਮਾਲੀ ਸ਼ਿਲਿੰਗ",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "ਸੋਲੋਮਨ ਆਈਲੈਂਡਸ ਡਾਲਰ",
+ "symbol": "SBD"
+ },
+ "HUF": {
+ "name": "ਹੰਗਰੀ ਫੋਰਿੰਟ",
+ "symbol": "HUF"
+ },
+ "HKD": {
+ "name": "ਹਾਂਗ ਕਾਂਗ ਡਾਲਰ",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "ਹਾਨਡੂਰਨ ਲੇਮਪਿਰਾ",
+ "symbol": "HNL"
+ },
+ "HTG": {
+ "name": "ਹੈਤੀ ਗੌਰਡੇ",
+ "symbol": "HTG"
+ },
+ "KZT": {
+ "name": "ਕਜ਼ਾਖਸਤਾਨੀ ਤੇਂਗੇ",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "ਕਤਰੀ ਰਿਆਲ",
+ "symbol": "QAR"
+ },
+ "KHR": {
+ "name": "ਕੰਬੋਡੀਆਈ ਰੀਅਲ",
+ "symbol": "KHR"
+ },
+ "HRK": {
+ "name": "ਕਰੋà¨à¨¸à¨¼à©€à¨†à¨ˆ ਕà©à¨¨à¨¾",
+ "symbol": "HRK"
+ },
+ "CDF": {
+ "name": "ਕਾਂਗੋਲੀਜ਼ ਫà©à¨°à©ˆà¨‚ਕ",
+ "symbol": "CDF"
+ },
+ "CUP": {
+ "name": "ਕਿਊਬਨ ਪੇਸੋ",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "ਕਿਊਬਨ ਬਦਲਣਯੋਗ ਪੇਸੋ",
+ "symbol": "CUC"
+ },
+ "KGS": {
+ "name": "ਕਿਰਗਿਸਤਾਨੀ ਸੋਮ",
+ "symbol": "KGS"
+ },
+ "KES": {
+ "name": "ਕੀਨੀਆਈ ਸ਼ਿਲਿੰਗ",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "ਕà©à¨µà©ˆà¨¤à©€ ਦਿਨਾਰ",
+ "symbol": "KWD"
+ },
+ "CAD": {
+ "name": "ਕੇਨੇਡਿਆਈ ਡਾਲਰ",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "ਕੇਪ ਵਰਡੀਅਨ ਸਕੂਡੋ",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "ਕੇਮੈਨ ਆਈਲੈਂਡਸ ਡਾਲਰ",
+ "symbol": "KYD"
+ },
+ "CRC": {
+ "name": "ਕੋਸਟਾ ਰੀਕਨ ਕੋਲਨ",
+ "symbol": "CRC"
+ },
+ "KMF": {
+ "name": "ਕੋਮੋਰੀਅਨ ਫà©à¨°à©ˆà¨‚ਕ",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "ਕੋਲੰਬਿਆਈ ਪੇਸੋ",
+ "symbol": "COP"
+ },
+ "GNF": {
+ "name": "ਗਿਨੀ ਫà©à¨°à©ˆà¨‚ਕ",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "ਗà©à¨†à¨Ÿà©‡à¨®à¨¾à¨²à¨¾ ਕà©à¨à¨Ÿà¨œà¨¼à¨²",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "ਗà©à¨†à¨¨à¨¾à¨†à¨ˆ ਡਾਲਰ",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "ਗੈਂਬੀਆਈ ਦਲਾਸੀ",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ਘਾਨਾਈ ਸੇਡੀ",
+ "symbol": "GHS"
+ },
+ "CLP": {
+ "name": "ਚਿਲੀ ਪੇਸੋ",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "ਚੀਨੀ ਯà©à¨†à¨¨",
+ "symbol": "CNÂ¥"
+ },
+ "CZK": {
+ "name": "ਚੈਕ ਗਣਰਾਜ ਕੋਰà©à¨¨à¨¾",
+ "symbol": "CZK"
+ },
+ "JPY": {
+ "name": "ਜਪਾਨੀ ਯੇਨ",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "ਜਮਾਇਕਨ ਡਾਲਰ",
+ "symbol": "JMD"
+ },
+ "ZMW": {
+ "name": "ਜ਼ਾਮਬੀਆਈ ਕਵਾਚਾ",
+ "symbol": "ZMW"
+ },
+ "GEL": {
+ "name": "ਜਾਰਜੀਆਈ ਲਾਰੀ",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "ਜਾਰਡਨ ਦਿਨਾਰ",
+ "symbol": "JOD"
+ },
+ "GIP": {
+ "name": "ਜਿਬਰਾਲਟਰ ਪੌਂਡ",
+ "symbol": "GIP"
+ },
+ "DJF": {
+ "name": "ਜ਼ੀਬੂਤੀਅਨ ਫà©à¨°à©ˆà¨‚ਕ",
+ "symbol": "DJF"
+ },
+ "TTD": {
+ "name": "ਟà©à¨°à¨¿à¨¨à©€à¨¡à¨¾à¨¡ ਅਤੇ ਟੋਬਾਗੋ ਡਾਲਰ",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "ਟਿਉਨੀਸ਼ੀਆਈ ਦਿਨਾਰ",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "ਟੌਂਗਨ ਪੈਂਗਾ",
+ "symbol": "TOP"
+ },
+ "DKK": {
+ "name": "ਡੈਨਿਸ਼ ਕਰੌਨ",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ਡੌਮਿਨਿਕਨ ਪੇਸੋ",
+ "symbol": "DOP"
+ },
+ "TZS": {
+ "name": "ਤਨਜ਼ਾਨੀਆਈ ਸ਼ਿਲਿੰਗ",
+ "symbol": "TZS"
+ },
+ "TJS": {
+ "name": "ਤਾਜਿਕਿਸਤਾਨੀ ਸੋਮੋਨੀ",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "ਤà©à¨°à¨•à¨®à©‡à¨¨à¨¿à¨¸à¨¤à¨¾à¨¨à©€ ਮਾਨਤ",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "ਤà©à¨°à¨•à©€ ਲੀਰਾ",
+ "symbol": "TRY"
+ },
+ "THB": {
+ "name": "ਥਾਈ ਬਾਹਤ",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "ਦੱਖਣੀ ਅਫਰੀਕੀ ਰੈਂਡ",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "ਦੱਖਣੀ ਸੂਡਾਨੀ ਪੌਂਡ",
+ "symbol": "SSP"
+ },
+ "KRW": {
+ "name": "ਦੱਖਣੀ ਕੋਰੀਆਈ ਵੋਨ",
+ "symbol": "â‚©"
+ },
+ "TWD": {
+ "name": "ਨਵਾਂ ਤਾਇਵਾਨ ਡਾਲਰ",
+ "symbol": "NT$"
+ },
+ "NGN": {
+ "name": "ਨਾਇਜੀਰੀਆਈ ਨਾਇਰਾ",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "ਨਾਮੀਬੀਆਈ ਡਾਲਰ",
+ "symbol": "NAD"
+ },
+ "NOK": {
+ "name": "ਨਾਰਵੇਜੀਆਈ ਕਰੌਨ",
+ "symbol": "NOK"
+ },
+ "NZD": {
+ "name": "ਨਿਊਜ਼ੀਲੈਂਡ ਡਾਲਰ",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "ਨਿਕਾਰਾਗà©à¨†à¨ˆ ਕੋਰਡੋਬਾ",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "ਨੀਦਰਲੈਂਡਸ à¨à¨‚ਟੀਲੀਅਨ ਗਿਲਡਰ",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "ਨੇਪਾਲੀ ਰà©à¨ªà¨‡à¨†",
+ "symbol": "NPR"
+ },
+ "PAB": {
+ "name": "ਪਨਾਮੇਨੀਅਨ ਬਾਲਬੋਆ",
+ "symbol": "PAB"
+ },
+ "PKR": {
+ "name": "ਪਾਕਿਸਤਾਨੀ ਰà©à¨ªà¨‡à¨†",
+ "symbol": "PKR"
+ },
+ "PGK": {
+ "name": "ਪਾਪੂਆ ਨਿਊ ਗਿਨੀਆਈ ਕੀਨਾ",
+ "symbol": "PGK"
+ },
+ "XCD": {
+ "name": "ਪੂਰਬੀ ਕੈਰੇਬੀਅਨ ਡਾਲਰ",
+ "symbol": "EC$"
+ },
+ "PEN": {
+ "name": "ਪੇਰੂਵੀਅਨ ਨਿਊਵੋ ਸੋਲ",
+ "symbol": "PEN"
+ },
+ "PYG": {
+ "name": "ਪੈਰਾਗà©à¨µà¨¾à¨‡à¨¨ ਗà©à¨†à¨°à¨¾à¨¨à©€",
+ "symbol": "PYG"
+ },
+ "PLN": {
+ "name": "ਪੋਲੈਂਡੀ ਜ਼ਲੌਟੀ",
+ "symbol": "PLN"
+ },
+ "XOF": {
+ "name": "ਫà©à¨°à©ˆà¨‚ਕ (CFA BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "ਫà©à¨°à©ˆà¨‚ਕ (CFA BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "ਫà©à¨°à©ˆà¨‚ਕ (CFP)",
+ "symbol": "CFPF"
+ },
+ "FKP": {
+ "name": "ਫ਼ਾਕਲੈਂਡ ਆਈਲੈਂਡਸ ਪੌਂਡ",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "ਫ਼ਿਜ਼ੀ ਡਾਲਰ",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "ਫਿਲਿਪੀਨੀ ਪੇਸੋ",
+ "symbol": "PHP"
+ },
+ "BHD": {
+ "name": "ਬਹਿਰੀਨੀ ਦਿਨਾਰ",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "ਬੰਗਲਾਦੇਸ਼ੀ ਟਕਾ",
+ "symbol": "BDT"
+ },
+ "BMD": {
+ "name": "ਬਰਮੂਡਾ ਡਾਲਰ",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "ਬਰੂਨੇਈ ਡਾਲਰ",
+ "symbol": "BND"
+ },
+ "BRL": {
+ "name": "ਬà©à¨°à¨¾à¨œà¨¼à©€à¨²à©€à¨†à¨ˆ ਰੀਅਲ",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "ਬà©à¨°à¨¿à¨Ÿà¨¿à¨¸à¨¼ ਪੌਂਡ ਸਟਰਲਿੰਗ",
+ "symbol": "£"
+ },
+ "BSD": {
+ "name": "ਬਾਹਾਮੀਅਨ ਡਾਲਰ",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "ਬਾਰਬਾਡੀਅਨ ਡਾਲਰ",
+ "symbol": "BBD"
+ },
+ "BIF": {
+ "name": "ਬà©à¨°à©à©°à¨¡à©€à¨†à¨ˆ ਫà©à¨°à©ˆà¨‚ਕ",
+ "symbol": "BIF"
+ },
+ "BGN": {
+ "name": "ਬà©à¨²à¨—ਾਰੀਆਈ ਲੇਵ",
+ "symbol": "BGN"
+ },
+ "BYR": {
+ "name": "ਬੇਲਾਰੂਸੀ ਰੂਬਲ",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "ਬੇਲੀਜ਼ ਡਾਲਰ",
+ "symbol": "BZD"
+ },
+ "BAM": {
+ "name": "ਬੋਸਨੀਆ-ਹਰਜ਼ੇਗੋਵੀਨਾ ਬਦਲਣਯੋਗ ਮਾਰਕ",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "ਬੋਟਸਵਾਨਾ ਪà©à¨²à¨¾",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "ਬੋਲੀਵੀਅਨ ਬੋਲੀਵੀਅਨੋ",
+ "symbol": "BOB"
+ },
+ "INR": {
+ "name": "ਭਾਰਤੀ ਰà©à¨ªà¨‡à¨†",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "ਭੂਟਾਨੀ à¨à¨‚ਗਲਟà©à¨°à¨®",
+ "symbol": "BTN"
+ },
+ "MNT": {
+ "name": "ਮੰਗੋਲੀਆਈ ਤà©à¨—ਰਿਕ",
+ "symbol": "MNT"
+ },
+ "MYR": {
+ "name": "ਮਲੇਸ਼ੀਆਈ ਰਿੰਗਿਟ",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "ਮਾਲਦੀਵੀ ਰà©à¨«à©€à¨†",
+ "symbol": "MVR"
+ },
+ "MGA": {
+ "name": "ਮਾਲਾਗਾਸੀ ਅਰਾਇਰੀ",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "ਮਾਲਾਵੀਆਈ ਕਵਾਚਾ",
+ "symbol": "MWK"
+ },
+ "MMK": {
+ "name": "ਮਿਆਂਮਾਰ ਕਿਆਤ",
+ "symbol": "MMK"
+ },
+ "EGP": {
+ "name": "ਮਿਸਰੀ ਪੌਂਡ",
+ "symbol": "EGP"
+ },
+ "MOP": {
+ "name": "ਮੇਕਾਨੀ ਪਟਾਕਾ",
+ "symbol": "MOP"
+ },
+ "MXN": {
+ "name": "ਮੈਕਸੀਕਨ ਪੇਸੋ",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "ਮੈਕਡੋਨੀਆਈ ਡੇਨਾਰ",
+ "symbol": "MKD"
+ },
+ "MZN": {
+ "name": "ਮੋਜ਼ਾਮਬੀਕਨ ਮੈਟੀਕਲ",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "ਮੋਰੱਕਨ ਦਿਰਹਾਮ",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "ਮੋਰਿਟਾਨੀਆਈ ਊਗੀਆ",
+ "symbol": "MRO"
+ },
+ "MDL": {
+ "name": "ਮੋਲਡੋਵਨ ਲੇਉ",
+ "symbol": "MDL"
+ },
+ "MUR": {
+ "name": "ਮੌਰਿਸ਼ੀਆਈ ਰà©à¨ªà¨‡à¨†",
+ "symbol": "MUR"
+ },
+ "YER": {
+ "name": "ਯਮਨੀ ਰਿਆਲ",
+ "symbol": "YER"
+ },
+ "USD": {
+ "name": "ਯੂ.à¨à¨¸. ਡਾਲਰ",
+ "symbol": "US$"
+ },
+ "UAH": {
+ "name": "ਯੂਕਰੇਨੀਆਈ ਰਿਵਨਿਆ",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "ਯੂਗਾਂਡੀਆਈ ਸ਼ਿਲਿੰਗ",
+ "symbol": "UGX"
+ },
+ "EUR": {
+ "name": "ਯੂਰੋ",
+ "symbol": "€"
+ },
+ "RWF": {
+ "name": "ਰਵਾਂਡਨ ਫà©à¨°à©ˆà¨‚ਕ",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "ਰੂਸੀ ਰੂਬਲ",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "ਰੋਮਾਨੀਆਈ ਲੇਉ",
+ "symbol": "RON"
+ },
+ "LAK": {
+ "name": "ਲਾਓਟਿਆਈ ਕਿਪ",
+ "symbol": "LAK"
+ },
+ "LRD": {
+ "name": "ਲਾਈਬੀਰੀਆਈ ਡਾਲਰ",
+ "symbol": "LRD"
+ },
+ "LTL": {
+ "name": "ਲਿਥà©à¨†à¨¨à©€à¨†à¨ˆ ਲਿਤਾਸ",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "ਲੀਬੀਅਨ ਦਿਨਾਰ",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "ਲੈਬਨਾਨੀ ਪੌਂਡ",
+ "symbol": "LBP"
+ },
+ "VUV": {
+ "name": "ਵਾਨੂਆਟੂ ਵਾਟੂ",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "ਵੀਅਤਨਾਮੀ ਡੋਂਗ",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "ਵੇਨੇਜ਼ੂà¨à¨²à¨¨ ਬੋਲੀਵਰ",
+ "symbol": "VEF"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pl.json b/library/intl/resources/currency/pl.json
new file mode 100644
index 000000000..a83973d7a
--- /dev/null
+++ b/library/intl/resources/currency/pl.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariary malgaski",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "baht tajski",
+ "symbol": "THB"
+ },
+ "PAB": {
+ "name": "balboa panamski",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "birr etiopski",
+ "symbol": "ETB"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "VEF": {
+ "name": "boliwar wenezuelski",
+ "symbol": "VEF"
+ },
+ "GHS": {
+ "name": "cedi ghański",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "colon kostarykański",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colon salwadorski",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "cordoba nikaraguańska",
+ "symbol": "NIO"
+ },
+ "GMD": {
+ "name": "dalasi gambijskie",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "denar macedoński",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "dinar algierski",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar bahrański",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "dinar iracki",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordański",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "dinar kuwejcki",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libijski",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "dinar serbski",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunezyjski",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dirham arabski",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirham marokański",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra Wysp Świętego Tomasza i Książęcej",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "dolar amerykański",
+ "symbol": "USD"
+ },
+ "AUD": {
+ "name": "dolar australijski",
+ "symbol": "AUD"
+ },
+ "BSD": {
+ "name": "dolar bahamski",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "dolar Barbadosu",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "dolar belizeński",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "dolar bermudzki",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "dolar brunejski",
+ "symbol": "BND"
+ },
+ "FJD": {
+ "name": "dolar fidżi",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dolar gujański",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "dolar hongkoński",
+ "symbol": "HKD"
+ },
+ "JMD": {
+ "name": "dolar jamajski",
+ "symbol": "JMD"
+ },
+ "KYD": {
+ "name": "dolar kajmański",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "dolar kanadyjski",
+ "symbol": "CAD"
+ },
+ "LRD": {
+ "name": "dolar liberyjski",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dolar namibijski",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dolar nowozelandzki",
+ "symbol": "NZD"
+ },
+ "SGD": {
+ "name": "dolar singapurski",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dolar surinamski",
+ "symbol": "SRD"
+ },
+ "TTD": {
+ "name": "dolar Trynidadu i Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "dolar wschodniokaraibski",
+ "symbol": "EC$"
+ },
+ "SBD": {
+ "name": "dolar Wysp Salomona",
+ "symbol": "SBD"
+ },
+ "ZWL": {
+ "name": "dolar Zimbabwe (2009)",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong wietnamski",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram armeński",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo zielonoprzylÄ…dkowe",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "florin arubański",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "forint węgierski",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "frank burundyjski",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "frank CFA",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "frank CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "frank CFP",
+ "symbol": "CFPF"
+ },
+ "DJF": {
+ "name": "frank dżibutyjski",
+ "symbol": "DJF"
+ },
+ "GNF": {
+ "name": "frank gwinejski",
+ "symbol": "GNF"
+ },
+ "KMF": {
+ "name": "frank komoryjski",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "frank kongijski",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "frank ruandyjski",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "frank szwajcarski",
+ "symbol": "CHF"
+ },
+ "EGP": {
+ "name": "funt egipski",
+ "symbol": "EGP"
+ },
+ "FKP": {
+ "name": "funt falklandzki",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "funt gibraltarski",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "funt libański",
+ "symbol": "LBP"
+ },
+ "SSP": {
+ "name": "funt południowosudański",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "funt sudański",
+ "symbol": "SDG"
+ },
+ "SYP": {
+ "name": "funt syryjski",
+ "symbol": "SYP"
+ },
+ "GBP": {
+ "name": "funt szterling",
+ "symbol": "GBP"
+ },
+ "SHP": {
+ "name": "funt Wyspy Świętej Heleny",
+ "symbol": "SHP"
+ },
+ "HTG": {
+ "name": "gourde haitańskie",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "guarani paragwajskie",
+ "symbol": "PYG"
+ },
+ "ANG": {
+ "name": "gulden antylski",
+ "symbol": "ANG"
+ },
+ "UAH": {
+ "name": "hrywna ukraińska",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "jen japoński",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "juan chiński",
+ "symbol": "CNY"
+ },
+ "MMK": {
+ "name": "kiat birmański",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "kina Papua Nowa Gwinea",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip laotański",
+ "symbol": "LAK"
+ },
+ "CZK": {
+ "name": "korona czeska",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "korona duńska",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "korona islandzka",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "korona norweska",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "korona szwedzka",
+ "symbol": "SEK"
+ },
+ "HRK": {
+ "name": "kuna chorwacka",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "kwacha malawska",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha zambijska",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza angolańska",
+ "symbol": "AOA"
+ },
+ "GEL": {
+ "name": "lari gruzińskie",
+ "symbol": "GEL"
+ },
+ "MDL": {
+ "name": "lej mołdawski",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "lej rumuński",
+ "symbol": "RON"
+ },
+ "ALL": {
+ "name": "lek albański",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira honduraska",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leone sierraleoński",
+ "symbol": "SLL"
+ },
+ "BGN": {
+ "name": "lew bułgarski",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "lilangeni Suazi",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "lira turecka",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "lit litewski",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azerski",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turkmeński",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marka zamienna Bośni i Hercegowiny",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical mozambicki",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira nigeryjska",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa erytrejska",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "ngultrum bhutański",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "nowy dolar tajwański",
+ "symbol": "TWD"
+ },
+ "PEN": {
+ "name": "nowy sol peruwiański",
+ "symbol": "PEN"
+ },
+ "ILS": {
+ "name": "nowy szekel izraelski",
+ "symbol": "ILS"
+ },
+ "MRO": {
+ "name": "ouguiya mauretańska",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "pa’anga tongijska",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca Makau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentyńskie",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chilijskie",
+ "symbol": "CLP"
+ },
+ "DOP": {
+ "name": "peso dominikańskie",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipińskie",
+ "symbol": "PHP"
+ },
+ "COP": {
+ "name": "peso kolumbijskie",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso kubańskie",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso kubańskie wymienialne",
+ "symbol": "CUC"
+ },
+ "MXN": {
+ "name": "peso meksykańskie",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso urugwajskie",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula botswańska",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal gwatemalski",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand południowoafrykański",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brazylijski",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "rial irański",
+ "symbol": "IRR"
+ },
+ "YER": {
+ "name": "rial jemeński",
+ "symbol": "YER"
+ },
+ "QAR": {
+ "name": "rial katarski",
+ "symbol": "QAR"
+ },
+ "OMR": {
+ "name": "rial omański",
+ "symbol": "OMR"
+ },
+ "SAR": {
+ "name": "rial saudyjski",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "riel kambodżański",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringgit malezyjski",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rubel białoruski",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rubel rosyjski",
+ "symbol": "RUB"
+ },
+ "IDR": {
+ "name": "rupia indonezyjska",
+ "symbol": "IDR"
+ },
+ "INR": {
+ "name": "rupia indyjska",
+ "symbol": "INR"
+ },
+ "LKR": {
+ "name": "rupia lankijska",
+ "symbol": "LKR"
+ },
+ "MVR": {
+ "name": "rupia malediwska",
+ "symbol": "MVR"
+ },
+ "MUR": {
+ "name": "rupia maurytyjska",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupia nepalska",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistańska",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "rupia seszelska",
+ "symbol": "SCR"
+ },
+ "KGS": {
+ "name": "som kirgiski",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "som uzbecki",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "somoni tadżyckie",
+ "symbol": "TJS"
+ },
+ "KES": {
+ "name": "szyling kenijski",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "szyling somalijski",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "szyling tanzański",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "szyling ugandyjski",
+ "symbol": "UGX"
+ },
+ "BDT": {
+ "name": "taka bengalska",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala samoańska",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazachskie",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik mongolski",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "vatu Vanuatu",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "won południowokoreański",
+ "symbol": "KRW"
+ },
+ "KPW": {
+ "name": "won północnokoreański",
+ "symbol": "KPW"
+ },
+ "PLN": {
+ "name": "złoty polski",
+ "symbol": "zł"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ps.json b/library/intl/resources/currency/ps.json
new file mode 100644
index 000000000..7b16abf01
--- /dev/null
+++ b/library/intl/resources/currency/ps.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "EUR",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "INR",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AFN": {
+ "name": "اÙغانÛ",
+ "symbol": "Ø‹"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pt-AO.json b/library/intl/resources/currency/pt-AO.json
new file mode 100644
index 000000000..844336fb4
--- /dev/null
+++ b/library/intl/resources/currency/pt-AO.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi de Gana",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba de ouro da Nicarágua",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "Coroa checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Coroa islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coroa sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar baremita",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar líbio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinar macedónio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar sérvio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar tunisino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham marroquino",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dólar belizense",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dólar bermudense",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dólar bruneíno",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana",
+ "symbol": "GYD"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia",
+ "symbol": "NAD"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas",
+ "symbol": "BSD"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão",
+ "symbol": "SBD"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago",
+ "symbol": "TTD"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)",
+ "symbol": "ZWL"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram arménio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "Florim de Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franco burundiano",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco congolês",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "Franco guineense",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "Franco jibutiano",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Franco ruandês",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suíço",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde haitiano",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JPÂ¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip de Laos",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza angolano",
+ "symbol": "Kz"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek albanês",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu romeno",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev búlgaro",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Libra síria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas da Lituânia",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca de Macau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula de Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial do Catar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial iemenita",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial iraniano",
+ "symbol": "IRR"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "Riel cambojano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit malaio",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo russo",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupia seichelense",
+ "symbol": "SCR"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won norte-coreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "â‚©"
+ },
+ "KES": {
+ "name": "Xelim queniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelim somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Xelim ugandense",
+ "symbol": "UGX"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pt-CV.json b/library/intl/resources/currency/pt-CV.json
new file mode 100644
index 000000000..b9dd815a0
--- /dev/null
+++ b/library/intl/resources/currency/pt-CV.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi de Gana",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba de ouro da Nicarágua",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "Coroa checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Coroa islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coroa sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar baremita",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar líbio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinar macedónio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar sérvio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar tunisino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham marroquino",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dólar belizense",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dólar bermudense",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dólar bruneíno",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana",
+ "symbol": "GYD"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia",
+ "symbol": "NAD"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas",
+ "symbol": "BSD"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão",
+ "symbol": "SBD"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago",
+ "symbol": "TTD"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)",
+ "symbol": "ZWL"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram arménio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "​"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "Florim de Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franco burundiano",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco congolês",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "Franco guineense",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "Franco jibutiano",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Franco ruandês",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suíço",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde haitiano",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JPÂ¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip de Laos",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza angolano",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek albanês",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu romeno",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev búlgaro",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Libra síria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas da Lituânia",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca de Macau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula de Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial do Catar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial iemenita",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial iraniano",
+ "symbol": "IRR"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "Riel cambojano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit malaio",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo russo",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupia seichelense",
+ "symbol": "SCR"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won norte-coreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "â‚©"
+ },
+ "KES": {
+ "name": "Xelim queniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelim somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Xelim ugandense",
+ "symbol": "UGX"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pt-GW.json b/library/intl/resources/currency/pt-GW.json
new file mode 100644
index 000000000..55534de6d
--- /dev/null
+++ b/library/intl/resources/currency/pt-GW.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi de Gana",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba de ouro da Nicarágua",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "Coroa checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Coroa islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coroa sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar baremita",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar líbio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinar macedónio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar sérvio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar tunisino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham marroquino",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dólar belizense",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dólar bermudense",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dólar bruneíno",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana",
+ "symbol": "GYD"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia",
+ "symbol": "NAD"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas",
+ "symbol": "BSD"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão",
+ "symbol": "SBD"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago",
+ "symbol": "TTD"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)",
+ "symbol": "ZWL"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram arménio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "Florim de Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franco burundiano",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco congolês",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "Franco guineense",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "Franco jibutiano",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Franco ruandês",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suíço",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde haitiano",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JPÂ¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip de Laos",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza angolano",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek albanês",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu romeno",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev búlgaro",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Libra síria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas da Lituânia",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca de Macau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula de Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial do Catar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial iemenita",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial iraniano",
+ "symbol": "IRR"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "Riel cambojano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit malaio",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo russo",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupia seichelense",
+ "symbol": "SCR"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won norte-coreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "â‚©"
+ },
+ "KES": {
+ "name": "Xelim queniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelim somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Xelim ugandense",
+ "symbol": "UGX"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pt-MO.json b/library/intl/resources/currency/pt-MO.json
new file mode 100644
index 000000000..0847a2776
--- /dev/null
+++ b/library/intl/resources/currency/pt-MO.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi de Gana",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba de ouro da Nicarágua",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "Coroa checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Coroa islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coroa sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar baremita",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar líbio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinar macedónio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar sérvio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar tunisino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham marroquino",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dólar belizense",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dólar bermudense",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dólar bruneíno",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana",
+ "symbol": "GYD"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia",
+ "symbol": "NAD"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas",
+ "symbol": "BSD"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão",
+ "symbol": "SBD"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago",
+ "symbol": "TTD"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)",
+ "symbol": "ZWL"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram arménio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "Florim de Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franco burundiano",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco congolês",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "Franco guineense",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "Franco jibutiano",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Franco ruandês",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suíço",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde haitiano",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JPÂ¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip de Laos",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza angolano",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek albanês",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu romeno",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev búlgaro",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Libra síria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas da Lituânia",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca de Macau",
+ "symbol": "MOP$"
+ },
+ "ARS": {
+ "name": "Peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula de Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial do Catar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial iemenita",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial iraniano",
+ "symbol": "IRR"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "Riel cambojano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit malaio",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo russo",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupia seichelense",
+ "symbol": "SCR"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won norte-coreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "â‚©"
+ },
+ "KES": {
+ "name": "Xelim queniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelim somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Xelim ugandense",
+ "symbol": "UGX"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pt-MZ.json b/library/intl/resources/currency/pt-MZ.json
new file mode 100644
index 000000000..ddc75ff04
--- /dev/null
+++ b/library/intl/resources/currency/pt-MZ.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi de Gana",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba de ouro da Nicarágua",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "Coroa checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Coroa islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coroa sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar baremita",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar líbio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinar macedónio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar sérvio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar tunisino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham marroquino",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dólar belizense",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dólar bermudense",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dólar bruneíno",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana",
+ "symbol": "GYD"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia",
+ "symbol": "NAD"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas",
+ "symbol": "BSD"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão",
+ "symbol": "SBD"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago",
+ "symbol": "TTD"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)",
+ "symbol": "ZWL"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram arménio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "Florim de Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franco burundiano",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco congolês",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "Franco guineense",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "Franco jibutiano",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Franco ruandês",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suíço",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde haitiano",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JPÂ¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip de Laos",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza angolano",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek albanês",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu romeno",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev búlgaro",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Libra síria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas da Lituânia",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MTn"
+ },
+ "NGN": {
+ "name": "Naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca de Macau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula de Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial do Catar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial iemenita",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial iraniano",
+ "symbol": "IRR"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "Riel cambojano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit malaio",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo russo",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupia seichelense",
+ "symbol": "SCR"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won norte-coreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "â‚©"
+ },
+ "KES": {
+ "name": "Xelim queniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelim somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Xelim ugandense",
+ "symbol": "UGX"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pt-PT.json b/library/intl/resources/currency/pt-PT.json
new file mode 100644
index 000000000..55534de6d
--- /dev/null
+++ b/library/intl/resources/currency/pt-PT.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi de Gana",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba de ouro da Nicarágua",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "Coroa checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Coroa islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coroa sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar baremita",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar líbio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinar macedónio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar sérvio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar tunisino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham marroquino",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dólar belizense",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dólar bermudense",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dólar bruneíno",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana",
+ "symbol": "GYD"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia",
+ "symbol": "NAD"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas",
+ "symbol": "BSD"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão",
+ "symbol": "SBD"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago",
+ "symbol": "TTD"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)",
+ "symbol": "ZWL"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram arménio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "Florim de Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franco burundiano",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco congolês",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "Franco guineense",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "Franco jibutiano",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Franco ruandês",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suíço",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde haitiano",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JPÂ¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip de Laos",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza angolano",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek albanês",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu romeno",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev búlgaro",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Libra síria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas da Lituânia",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca de Macau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula de Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial do Catar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial iemenita",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial iraniano",
+ "symbol": "IRR"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "Riel cambojano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit malaio",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo russo",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupia seichelense",
+ "symbol": "SCR"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won norte-coreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "â‚©"
+ },
+ "KES": {
+ "name": "Xelim queniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelim somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Xelim ugandense",
+ "symbol": "UGX"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pt-ST.json b/library/intl/resources/currency/pt-ST.json
new file mode 100644
index 000000000..b43b0f85a
--- /dev/null
+++ b/library/intl/resources/currency/pt-ST.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi de Gana",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba de ouro da Nicarágua",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "Coroa checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Coroa islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coroa sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar baremita",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar líbio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinar macedónio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar sérvio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar tunisino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham marroquino",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "Db"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dólar belizense",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dólar bermudense",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dólar bruneíno",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana",
+ "symbol": "GYD"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia",
+ "symbol": "NAD"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas",
+ "symbol": "BSD"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão",
+ "symbol": "SBD"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago",
+ "symbol": "TTD"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)",
+ "symbol": "ZWL"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram arménio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "Florim de Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franco burundiano",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco congolês",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "Franco guineense",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "Franco jibutiano",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Franco ruandês",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suíço",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde haitiano",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JPÂ¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip de Laos",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza angolano",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek albanês",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu romeno",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev búlgaro",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Libra síria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas da Lituânia",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca de Macau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula de Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial do Catar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial iemenita",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial iraniano",
+ "symbol": "IRR"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "Riel cambojano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit malaio",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo russo",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupia seichelense",
+ "symbol": "SCR"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won norte-coreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "â‚©"
+ },
+ "KES": {
+ "name": "Xelim queniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelim somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Xelim ugandense",
+ "symbol": "UGX"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pt-TL.json b/library/intl/resources/currency/pt-TL.json
new file mode 100644
index 000000000..55534de6d
--- /dev/null
+++ b/library/intl/resources/currency/pt-TL.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afegani do Afeganistão",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariari de Madagáscar",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht da Tailândia",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa do Panamá",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi de Gana",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Colon costa-riquenho",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba de ouro da Nicarágua",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "Coroa checa",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Coroa islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coroa sueca",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "Dalasi da Gâmbia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar baremita",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar líbio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinar macedónio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar sérvio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar tunisino",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham dos Emirados Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham marroquino",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BBD": {
+ "name": "Dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dólar belizense",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dólar bermudense",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dólar bruneíno",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dólar canadiano",
+ "symbol": "CA$"
+ },
+ "GYD": {
+ "name": "Dólar da Guiana",
+ "symbol": "GYD"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia",
+ "symbol": "NAD"
+ },
+ "BSD": {
+ "name": "Dólar das Bahamas",
+ "symbol": "BSD"
+ },
+ "XCD": {
+ "name": "Dólar das Caraíbas Orientais",
+ "symbol": "EC$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caimão",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão",
+ "symbol": "SBD"
+ },
+ "FJD": {
+ "name": "Dólar de Fiji",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "SGD": {
+ "name": "Dólar de Singapura",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dólar de Trindade e Tobago",
+ "symbol": "TTD"
+ },
+ "SRD": {
+ "name": "Dólar do Suriname",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)",
+ "symbol": "ZWL"
+ },
+ "USD": {
+ "name": "Dólar dos Estados Unidos",
+ "symbol": "US$"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram arménio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas",
+ "symbol": "ANG"
+ },
+ "AWG": {
+ "name": "Florim de Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franco burundiano",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franco CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comoriano",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco congolês",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "Franco guineense",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "Franco jibutiano",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Franco ruandês",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suíço",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde haitiano",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "Hryvnia da Ucrânia",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JPÂ¥"
+ },
+ "PGK": {
+ "name": "Kina da Papua-Nova Guiné",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip de Laos",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha do Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza angolano",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat de Mianmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek albanês",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira das Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldavo",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu romeno",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev búlgaro",
+ "symbol": "BGN"
+ },
+ "FKP": {
+ "name": "Libra das Ilhas Falkland",
+ "symbol": "FKP"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Libra síria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas da Lituânia",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat do Azerbaijão",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat do Turquemenistão",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegóvino conversível",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum do Butão",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga de Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca de Macau",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula de Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal da Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "Rial de Omã",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial do Catar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial iemenita",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial iraniano",
+ "symbol": "IRR"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "KHR": {
+ "name": "Riel cambojano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit malaio",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo russo",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rupia das Ilhas Maldivas",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "Rupia do Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupia seichelense",
+ "symbol": "SCR"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som do Quirguistão",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som do Uzbequistão",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni do Tajaquistão",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka de Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge do Cazaquistão",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik da Mongólia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu de Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won norte-coreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "â‚©"
+ },
+ "KES": {
+ "name": "Xelim queniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelim somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Xelim ugandense",
+ "symbol": "UGX"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloti polaco",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/pt.json b/library/intl/resources/currency/pt.json
new file mode 100644
index 000000000..a884a1b21
--- /dev/null
+++ b/library/intl/resources/currency/pt.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afegane afegão",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariary malgaxe",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht tailandês",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa panamenha",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar venezuelano",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi ganês",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "Colom salvadorenho",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "Colón costarriquenho",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba nicaraguense",
+ "symbol": "NIO"
+ },
+ "DKK": {
+ "name": "Coroa dinamarquesa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Coroa islandesa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Coroa norueguesa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Coroa sueca",
+ "symbol": "SEK"
+ },
+ "CZK": {
+ "name": "Coroa tcheca",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi gambiano",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar bareinita",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar iraquiano",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar jordaniano",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar kuwaitiano",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar líbio",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "Dinar macedônio",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar sérvio",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar tunisiano",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirrã dos Emirados Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirrã marroquino",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Dólar americano",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Dólar bahamense",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "Dólar barbadense",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dólar belizenho",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dólar bermudense",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dólar bruneano",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Dólar canadense",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "Dólar das Ilhas Caiman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dólar das Ilhas Salomão",
+ "symbol": "SBD"
+ },
+ "HKD": {
+ "name": "Dólar de Hong Kong",
+ "symbol": "HK$"
+ },
+ "TTD": {
+ "name": "Dólar de Trinidad e Tobago",
+ "symbol": "TTD"
+ },
+ "XCD": {
+ "name": "Dólar do Caribe Oriental",
+ "symbol": "EC$"
+ },
+ "ZWL": {
+ "name": "Dólar do Zimbábue (2009)",
+ "symbol": "ZWL"
+ },
+ "FJD": {
+ "name": "Dólar fijiano",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "Dólar guianense",
+ "symbol": "GYD"
+ },
+ "JMD": {
+ "name": "Dólar jamaicano",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dólar namibiano",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "Dólar neozelandês",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dólar singapuriano",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "Dólar surinamês",
+ "symbol": "SRD"
+ },
+ "VND": {
+ "name": "Dong vietnamita",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram armênio",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florim arubano",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "Florim das Antilhas Holandesas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "Forint húngaro",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franco burundiano",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franco CFA de BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA de BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "Franco CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franco comorense",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franco congolês",
+ "symbol": "CDF"
+ },
+ "DJF": {
+ "name": "Franco djibutiense",
+ "symbol": "DJF"
+ },
+ "GNF": {
+ "name": "Franco guineano",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "Franco ruandês",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suíço",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde haitiano",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani paraguaio",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "Hryvnia ucraniano",
+ "symbol": "UAH"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JPÂ¥"
+ },
+ "PGK": {
+ "name": "Kina papuásia",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip laosiano",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "Kuna croata",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha malawiana",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza angolano",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat mianmarense",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari georgiano",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek albanês",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira hondurenha",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldávio",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu romeno",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev búlgaro",
+ "symbol": "BGN"
+ },
+ "GIP": {
+ "name": "Libra de Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "LBP": {
+ "name": "Libra libanesa",
+ "symbol": "LBP"
+ },
+ "FKP": {
+ "name": "Libra malvinense",
+ "symbol": "FKP"
+ },
+ "SYP": {
+ "name": "Libra síria",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "Libra sudanesa",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "Libra sul-sudanesa",
+ "symbol": "SSP"
+ },
+ "SZL": {
+ "name": "Lilangeni suazi",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turca",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas lituano",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat azeri",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat turcomeno",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marco bósnio-herzegovino conversível",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical moçambicano",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritreia",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum butanês",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "Novo dólar taiwanês",
+ "symbol": "NT$"
+ },
+ "PEN": {
+ "name": "Novo sol peruano",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya mauritana",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga tonganesa",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca macaense",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso argentino",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso chileno",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso colombiano",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso cubano",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso cubano conversível",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso dominicano",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Peso filipino",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "Peso mexicano",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Peso uruguaio",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula botsuanesa",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal guatemalense",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real brasileiro",
+ "symbol": "R$"
+ },
+ "QAR": {
+ "name": "Rial catariano",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial iemenita",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "Rial iraniano",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "Rial omanense",
+ "symbol": "OMR"
+ },
+ "KHR": {
+ "name": "Riel cambojano",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit malaio",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "Riyal saudita",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "Rublo bielorrusso",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rublo russo",
+ "symbol": "RUB"
+ },
+ "LKR": {
+ "name": "Rupia ceilandesa",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia indiana",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indonésia",
+ "symbol": "IDR"
+ },
+ "MVR": {
+ "name": "Rupia maldiva",
+ "symbol": "MVR"
+ },
+ "MUR": {
+ "name": "Rupia mauriciana",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia nepalesa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia paquistanesa",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupia seichelense",
+ "symbol": "SCR"
+ },
+ "ILS": {
+ "name": "Sheqel novo israelita",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "Som quirguiz",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som uzbeque",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni tadjique",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka bengalesa",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoano",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge cazaque",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik mongol",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu vanuatuense",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won norte-coreano",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won sul-coreano",
+ "symbol": "â‚©"
+ },
+ "KES": {
+ "name": "Xelim queniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelim somaliano",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Xelim tanzaniano",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Xelim ugandense",
+ "symbol": "UGX"
+ },
+ "CNY": {
+ "name": "Yuan chinês",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "Zloti polonês",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/rm.json b/library/intl/resources/currency/rm.json
new file mode 100644
index 000000000..8efa15337
--- /dev/null
+++ b/library/intl/resources/currency/rm.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariary madagasc",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "baht tailandais",
+ "symbol": "THB"
+ },
+ "PAB": {
+ "name": "balboa dal Panama",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "birr etiopic",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolivar venezuelan",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi ghanais",
+ "symbol": "GHS"
+ },
+ "SVC": {
+ "name": "colon da l’El Salvador",
+ "symbol": "SVC"
+ },
+ "CRC": {
+ "name": "colon da la Costa Rica",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "cordoba oro nicaraguan",
+ "symbol": "NIO"
+ },
+ "DKK": {
+ "name": "cruna danaisa",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "cruna islandaisa",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "cruna norvegiaisa",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "cruna svedaisa",
+ "symbol": "SEK"
+ },
+ "CZK": {
+ "name": "cruna tscheca",
+ "symbol": "CZK"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "GMD": {
+ "name": "dalasi gambic",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar algerian",
+ "symbol": "DZD"
+ },
+ "MKD": {
+ "name": "dinar da la Macedonia",
+ "symbol": "MKD"
+ },
+ "BHD": {
+ "name": "dinar dal Bahrain",
+ "symbol": "BHD"
+ },
+ "KWD": {
+ "name": "dinar dal Kuwait",
+ "symbol": "KWD"
+ },
+ "IQD": {
+ "name": "dinar iracais",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "dinar jordanic",
+ "symbol": "JOD"
+ },
+ "LYD": {
+ "name": "dinar libic",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "dinar serb",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunesian",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dirham dals Emirats Arabs Unids",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirham marocan",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra da São Tomé e Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dollar australian",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "dollar canadais",
+ "symbol": "CA$"
+ },
+ "BBD": {
+ "name": "dollar da Barbados",
+ "symbol": "BBD"
+ },
+ "HKD": {
+ "name": "dollar da Hongkong",
+ "symbol": "HK$"
+ },
+ "XCD": {
+ "name": "dollar da la Caribica Orientala",
+ "symbol": "EC$"
+ },
+ "GYD": {
+ "name": "dollar da la Guyana",
+ "symbol": "GYD"
+ },
+ "NZD": {
+ "name": "dollar da la Nova Zelanda",
+ "symbol": "NZ$"
+ },
+ "BSD": {
+ "name": "dollar da las Bahamas",
+ "symbol": "BSD"
+ },
+ "BMD": {
+ "name": "dollar da las Bermudas",
+ "symbol": "BMD"
+ },
+ "KYD": {
+ "name": "dollar da las Inslas Cayman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "dollar da las Salomonas",
+ "symbol": "SBD"
+ },
+ "TTD": {
+ "name": "dollar da Trinidad e Tobago",
+ "symbol": "TTD"
+ },
+ "BZD": {
+ "name": "dollar dal Belize",
+ "symbol": "BZD"
+ },
+ "BND": {
+ "name": "dollar dal Brunei",
+ "symbol": "BND"
+ },
+ "FJD": {
+ "name": "dollar dal Fidschi",
+ "symbol": "FJD"
+ },
+ "SGD": {
+ "name": "dollar dal Singapur",
+ "symbol": "SGD"
+ },
+ "USD": {
+ "name": "dollar dals Stadis Unids da l’America",
+ "symbol": "$"
+ },
+ "JMD": {
+ "name": "dollar giamaican",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dollar liberian",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dollar namibian",
+ "symbol": "NAD"
+ },
+ "SRD": {
+ "name": "dollar surinam",
+ "symbol": "SRD"
+ },
+ "VND": {
+ "name": "dong vietnamais",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "dram armen",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo dal Cap Verd",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "flurin da l’Aruba",
+ "symbol": "AWG"
+ },
+ "ANG": {
+ "name": "flurin da las Antillas Olandaisas",
+ "symbol": "ANG"
+ },
+ "HUF": {
+ "name": "forint ungarais",
+ "symbol": "HUF"
+ },
+ "XOF": {
+ "name": "franc CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "franc CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "franc CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franc comorian",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franc congolais",
+ "symbol": "CDF"
+ },
+ "GNF": {
+ "name": "franc da la Guinea",
+ "symbol": "GNF"
+ },
+ "BIF": {
+ "name": "franc dal Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "franc dal Dschibuti",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "franc ruandais",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "franc svizzer",
+ "symbol": "CHF"
+ },
+ "GIP": {
+ "name": "glivra da Gibraltar",
+ "symbol": "GIP"
+ },
+ "SHP": {
+ "name": "glivra da Sontg’Elena",
+ "symbol": "SHP"
+ },
+ "FKP": {
+ "name": "glivra dal Falkland",
+ "symbol": "FKP"
+ },
+ "EGP": {
+ "name": "glivra egipziana",
+ "symbol": "EGP"
+ },
+ "LBP": {
+ "name": "glivra libanaisa",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "glivra siriana",
+ "symbol": "SYP"
+ },
+ "GBP": {
+ "name": "glivra sterlina",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "glivra sudanaisa",
+ "symbol": "SDG"
+ },
+ "HTG": {
+ "name": "gourde haitian",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "guarani paraguaian",
+ "symbol": "PYG"
+ },
+ "UAH": {
+ "name": "hryvnia ucranais",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "kina da la Papua Nova Guinea",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip laot",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "kuna croata",
+ "symbol": "HRK"
+ },
+ "ZMW": {
+ "name": "kwacha da la sambia",
+ "symbol": "ZMW"
+ },
+ "MWK": {
+ "name": "kwacha dal Malawi",
+ "symbol": "MWK"
+ },
+ "AOA": {
+ "name": "kwanza angolan",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat dal Myanmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "lari georgian",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "lek",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira hondurian",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leone da la Sierra Leone",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldav",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu rumen",
+ "symbol": "RON"
+ },
+ "SZL": {
+ "name": "lilangeni dal Swaziland",
+ "symbol": "SZL"
+ },
+ "LTL": {
+ "name": "litas lituan",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti dal Lesotho",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat aserbaidschanic",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "marc convertibel bosniac",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical dal mozambican",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa eritreic",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "ngultrum butanais",
+ "symbol": "BTN"
+ },
+ "TWD": {
+ "name": "nov dollar taiwanais",
+ "symbol": "NT$"
+ },
+ "BGN": {
+ "name": "nov lev bulgar",
+ "symbol": "BGN"
+ },
+ "PEN": {
+ "name": "nov sol peruan",
+ "symbol": "PEN"
+ },
+ "TRY": {
+ "name": "nova lira tirca",
+ "symbol": "TRY"
+ },
+ "MRO": {
+ "name": "ouguiya da la Mauretania",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "pa’anga da Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca dal Macao",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentin",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chilen",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso columbian",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cuban",
+ "symbol": "CUP"
+ },
+ "UYU": {
+ "name": "peso da l’Uruguay",
+ "symbol": "UYU"
+ },
+ "DOP": {
+ "name": "peso dominican",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filippin",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexican",
+ "symbol": "MX$"
+ },
+ "BWP": {
+ "name": "pula da la Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal da la Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand sidafrican",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brasilian",
+ "symbol": "R$"
+ },
+ "OMR": {
+ "name": "rial da l’Oman",
+ "symbol": "OMR"
+ },
+ "YER": {
+ "name": "rial dal Jemen",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "rial iranais",
+ "symbol": "IRR"
+ },
+ "KHR": {
+ "name": "riel cambodschan",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringgit da la Malaisia",
+ "symbol": "MYR"
+ },
+ "QAR": {
+ "name": "riyal da Katar",
+ "symbol": "QAR"
+ },
+ "SAR": {
+ "name": "riyal saudit",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "rubel bieloruss",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rubel russ (nov)",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiyaa da las Maledivas",
+ "symbol": "MVR"
+ },
+ "LKR": {
+ "name": "rupia da la Sri Lanka",
+ "symbol": "LKR"
+ },
+ "SCR": {
+ "name": "rupia da las Seychellas",
+ "symbol": "SCR"
+ },
+ "MUR": {
+ "name": "rupia dal Mauritius",
+ "symbol": "MUR"
+ },
+ "INR": {
+ "name": "rupia indica",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "rupia indonaisa",
+ "symbol": "IDR"
+ },
+ "NPR": {
+ "name": "rupia nepalaisa",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupia pakistana",
+ "symbol": "PKR"
+ },
+ "KES": {
+ "name": "schilling kenian",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "schilling somalian",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "schilling tansanian",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "schilling ugandais",
+ "symbol": "UGX"
+ },
+ "ILS": {
+ "name": "sheqel",
+ "symbol": "₪"
+ },
+ "KGS": {
+ "name": "som kirghis",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni dal Tadschikistan",
+ "symbol": "TJS"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "UZS": {
+ "name": "sum usbec",
+ "symbol": "UZS"
+ },
+ "BDT": {
+ "name": "taka bangladais",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala da la Samoa",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge casac",
+ "symbol": "KZT"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "MNT": {
+ "name": "tugrik mongolic",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "vatu dal Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won da la Corea dal Nord",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won da la Corea dal Sid",
+ "symbol": "â‚©"
+ },
+ "JPY": {
+ "name": "yen giapunais",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "yuan renminbi chinais",
+ "symbol": "CNÂ¥"
+ },
+ "PLN": {
+ "name": "zloty polac",
+ "symbol": "PLN"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/rn.json b/library/intl/resources/currency/rn.json
new file mode 100644
index 000000000..907437e53
--- /dev/null
+++ b/library/intl/resources/currency/rn.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "ETB": {
+ "name": "Ibiri ryo muri Etiyopiya",
+ "symbol": "ETB"
+ },
+ "GMD": {
+ "name": "Idalasi ryo muri Gambiya",
+ "symbol": "GMD"
+ },
+ "BHD": {
+ "name": "Idinari ry’iribahireyini",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Idinari rya Libiya",
+ "symbol": "LYD"
+ },
+ "DZD": {
+ "name": "Idinari ryo muri Alijeriya",
+ "symbol": "DZD"
+ },
+ "TND": {
+ "name": "Idinari ryo muri Tuniziya",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Idiramu ryo muri Leta Zunze Ubumwe z’Abarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Idiramu ryo muri Maroke",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Idobura ryo muri Sawotome na Perensipe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Idolari ry’abanyamerika",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "Idolari rya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Idolari rya Liberiya",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Idolari rya Namibiya",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "Idolari ryo muri Ositaraliya",
+ "symbol": "A$"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "RWF": {
+ "name": "Ifaranga ry’u Rwanda",
+ "symbol": "RWF"
+ },
+ "BIF": {
+ "name": "Ifaranga ry’Uburundi",
+ "symbol": "FBu"
+ },
+ "CHF": {
+ "name": "Ifaranga ry’Ubusuwisi",
+ "symbol": "CHF"
+ },
+ "KMF": {
+ "name": "Ifaranga rya Komore",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Ifaranga rya Kongo",
+ "symbol": "CDF"
+ },
+ "DJF": {
+ "name": "Ifaranga ryo muri Jibuti",
+ "symbol": "DJF"
+ },
+ "MWK": {
+ "name": "Ikwaca ryo muri Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Ikwaca ryo muri Zambiya",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Ikwanza ryo muri Angola",
+ "symbol": "AOA"
+ },
+ "SLL": {
+ "name": "Ilewone",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Ililangeni",
+ "symbol": "SZL"
+ },
+ "LSL": {
+ "name": "Iloti ryo muro Lesoto",
+ "symbol": "LSL"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "NGN": {
+ "name": "Inayira ryo muri Nijeriya",
+ "symbol": "NGN"
+ },
+ "EGP": {
+ "name": "Ipawundi rya Misiri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Ipawundi rya Sente Helena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Ipawundi rya Sudani",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "Ipawundi ryo mu Bwongereza",
+ "symbol": "£"
+ },
+ "BWP": {
+ "name": "Ipula ryo muri Botswana",
+ "symbol": "BWP"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "ZAR": {
+ "name": "Irandi ryo muri Afurika y’Epfo",
+ "symbol": "ZAR"
+ },
+ "CVE": {
+ "name": "Irikaboveridiyano ryo muri Esikudo",
+ "symbol": "CVE"
+ },
+ "ERN": {
+ "name": "Irinakufa ryo muri Eritereya",
+ "symbol": "ERN"
+ },
+ "SAR": {
+ "name": "Iriyari ryo muri Arabiya Sawudite",
+ "symbol": "SAR"
+ },
+ "MGA": {
+ "name": "Iriyari ryo muri Madagasikari",
+ "symbol": "MGA"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "MUR": {
+ "name": "Irupiya ryo mu birwa bya Morise",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Irupiya ryo mu birwa bya Sayisheli",
+ "symbol": "SCR"
+ },
+ "INR": {
+ "name": "Irupiya ryo mu Buhindi",
+ "symbol": "₹"
+ },
+ "UGX": {
+ "name": "Ishilingi ry’Ubugande",
+ "symbol": "UGX"
+ },
+ "KES": {
+ "name": "Ishilingi rya Kenya",
+ "symbol": "KES"
+ },
+ "TZS": {
+ "name": "Ishilingi rya Tanzaniya",
+ "symbol": "TZS"
+ },
+ "SOS": {
+ "name": "Ishilingi ryo muri Somaliya",
+ "symbol": "SOS"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JPY": {
+ "name": "Iyeni ry’Ubuyapani",
+ "symbol": "JPÂ¥"
+ },
+ "EUR": {
+ "name": "Iyero",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "Iyuwani ryo mu Bushinwa",
+ "symbol": "CNÂ¥"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ryo muri Moritaniya",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ro.json b/library/intl/resources/currency/ro.json
new file mode 100644
index 000000000..e509ea215
--- /dev/null
+++ b/library/intl/resources/currency/ro.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani afgan",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "ariary malgaÈ™",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "baht thailandez",
+ "symbol": "THB"
+ },
+ "PAB": {
+ "name": "balboa panameză",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "birr etiopian",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "bolivar venezuelean",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "boliviano bolivian",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "cedi ghanez",
+ "symbol": "GHS"
+ },
+ "CRC": {
+ "name": "colon costarican",
+ "symbol": "CRC"
+ },
+ "SVC": {
+ "name": "colon El Salvador",
+ "symbol": "SVC"
+ },
+ "NIO": {
+ "name": "cordoba nicaraguană",
+ "symbol": "NIO"
+ },
+ "CZK": {
+ "name": "coroană cehă",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "coroană daneză",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "coroană islandeză",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "coroană norvegiană",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "coroană suedeză",
+ "symbol": "SEK"
+ },
+ "GMD": {
+ "name": "dalasi din Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "dinar algerian",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinar din Bahrain",
+ "symbol": "BHD"
+ },
+ "JOD": {
+ "name": "dinar iordanian",
+ "symbol": "JOD"
+ },
+ "IQD": {
+ "name": "dinar irakian",
+ "symbol": "IQD"
+ },
+ "KWD": {
+ "name": "dinar kuweitian",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinar libian",
+ "symbol": "LYD"
+ },
+ "MKD": {
+ "name": "dinar macedonean",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "dinar sârbesc",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "dinar tunisian",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "dirham din Emiratele Arabe Unite",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirham marocan",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra Sao Tome și Principe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "dolar american",
+ "symbol": "USD"
+ },
+ "AUD": {
+ "name": "dolar australian",
+ "symbol": "AUD"
+ },
+ "BBD": {
+ "name": "dolar Barbados",
+ "symbol": "BBD"
+ },
+ "CAD": {
+ "name": "dolar canadian",
+ "symbol": "CAD"
+ },
+ "BSD": {
+ "name": "dolar din Bahamas",
+ "symbol": "BSD"
+ },
+ "BZD": {
+ "name": "dolar din Belize",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "dolar din Bermuda",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "dolar din Brunei",
+ "symbol": "BND"
+ },
+ "XCD": {
+ "name": "dolar din Caraibele de Est",
+ "symbol": "XCD"
+ },
+ "HKD": {
+ "name": "dolar din Hong Kong",
+ "symbol": "HKD"
+ },
+ "KYD": {
+ "name": "dolar din Insulele Cayman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "dolar din Insulele Solomon",
+ "symbol": "SBD"
+ },
+ "TTD": {
+ "name": "dolar din Trinidad-Tobago",
+ "symbol": "TTD"
+ },
+ "FJD": {
+ "name": "dolar fijian",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "dolar guyanez",
+ "symbol": "GYD"
+ },
+ "JMD": {
+ "name": "dolar jamaican",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "dolar liberian",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dolar namibian",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "dolar neozeelandez",
+ "symbol": "NZD"
+ },
+ "TWD": {
+ "name": "dolar nou din Taiwan",
+ "symbol": "TWD"
+ },
+ "SGD": {
+ "name": "dolar Singapore",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "dolar surinamez",
+ "symbol": "SRD"
+ },
+ "ZWL": {
+ "name": "dolar Zimbabwe (2009)",
+ "symbol": "ZWL"
+ },
+ "VND": {
+ "name": "dong vietnamez",
+ "symbol": "VND"
+ },
+ "AMD": {
+ "name": "dram armenesc",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "escudo din Capul Verde",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "EUR"
+ },
+ "AWG": {
+ "name": "florin aruban",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "forint maghiar",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "franc burundez",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "franc CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "franc CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "franc CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "franc comorian",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "franc congolez",
+ "symbol": "CDF"
+ },
+ "DJF": {
+ "name": "franc djiboutian",
+ "symbol": "DJF"
+ },
+ "CHF": {
+ "name": "franc elvețian",
+ "symbol": "CHF"
+ },
+ "GNF": {
+ "name": "franc guineean",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "franc rwandez",
+ "symbol": "RWF"
+ },
+ "HTG": {
+ "name": "gourde din Haiti",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "guarani paraguayan",
+ "symbol": "PYG"
+ },
+ "ANG": {
+ "name": "gulden din Antilele Olandeze",
+ "symbol": "ANG"
+ },
+ "UAH": {
+ "name": "hryvna ucraineană",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "kina din Papua-Noua Guinee",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "kip laoțian",
+ "symbol": "LAK"
+ },
+ "HRK": {
+ "name": "kuna croată",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "kwacha malawiană",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha zambian",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza angoleză",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "kyat din Myanmar",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "lari georgian",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "leka albaneză",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "lempira honduriană",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leone din Sierra Leone",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "leu moldovenesc",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "leu românesc",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "leva bulgărească",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "lilangeni din Swaziland",
+ "symbol": "SZL"
+ },
+ "GIP": {
+ "name": "liră din Gibraltar",
+ "symbol": "GIP"
+ },
+ "FKP": {
+ "name": "liră din Insulele Falkland",
+ "symbol": "FKP"
+ },
+ "EGP": {
+ "name": "liră egipteană",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "liră Insula Sf. Elena",
+ "symbol": "SHP"
+ },
+ "LBP": {
+ "name": "liră libaneză",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "liră siriană",
+ "symbol": "SYP"
+ },
+ "GBP": {
+ "name": "liră sterlină",
+ "symbol": "GBP"
+ },
+ "SSP": {
+ "name": "liră sud-sudaneză",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "liră sudaneză",
+ "symbol": "SDG"
+ },
+ "TRY": {
+ "name": "liră turcească",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "litu lituanian",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti lesothian",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "manat azer",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "manat turkmen",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "marcă convertibilă din Bosnia și Herțegovina",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "metical mozambican",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira nigeriană",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa eritreeană",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "ngultrum din Bhutan",
+ "symbol": "BTN"
+ },
+ "MRO": {
+ "name": "ouguiya mauritană",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "pa’anga tongană",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "pataca din Macao",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "peso argentinian",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "peso chilian",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "peso columbian",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "peso cubanez",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "peso cubanez convertibil",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "peso dominican",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "peso filipinez",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "peso mexican",
+ "symbol": "MXN"
+ },
+ "UYU": {
+ "name": "peso uruguayan",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "quetzal guatemalez",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "rand sud-african",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "real brazilian",
+ "symbol": "BRL"
+ },
+ "IRR": {
+ "name": "rial iranian",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "rial omanez",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "rial qatarian",
+ "symbol": "QAR"
+ },
+ "SAR": {
+ "name": "rial saudit",
+ "symbol": "SAR"
+ },
+ "YER": {
+ "name": "rial yemenit",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "riel cambodgian",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "ringgit malaiezian",
+ "symbol": "MYR"
+ },
+ "BYR": {
+ "name": "rublă belarusă",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "rublă rusească",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "rufiyaa maldiviană",
+ "symbol": "MVR"
+ },
+ "SCR": {
+ "name": "rupie din Seychelles",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "rupie din Sri Lanka",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "rupie indiană",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "rupie indoneziană",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "rupie mauritiană",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "rupie nepaleză",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "rupie pakistaneză",
+ "symbol": "PKR"
+ },
+ "PEN": {
+ "name": "sol nou peruvian",
+ "symbol": "PEN"
+ },
+ "KGS": {
+ "name": "som kârgâz",
+ "symbol": "KGS"
+ },
+ "TJS": {
+ "name": "somoni tadjic",
+ "symbol": "TJS"
+ },
+ "UZS": {
+ "name": "sum Uzbekistan",
+ "symbol": "UZS"
+ },
+ "ILS": {
+ "name": "șechel israelian nou",
+ "symbol": "ILS"
+ },
+ "KES": {
+ "name": "șiling kenyan",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "șiling somalez",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "șiling tanzanian",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "șiling ugandez",
+ "symbol": "UGX"
+ },
+ "BDT": {
+ "name": "taka din Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "tala samoană",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "tenge kazahă",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "tugrik mongol",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "vatu din Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "won nord-coreean",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "won sud-coreean",
+ "symbol": "KRW"
+ },
+ "JPY": {
+ "name": "yen japonez",
+ "symbol": "JPY"
+ },
+ "CNY": {
+ "name": "yuan chinezesc",
+ "symbol": "CNY"
+ },
+ "PLN": {
+ "name": "zlot polonez",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/rof.json b/library/intl/resources/currency/rof.json
new file mode 100644
index 000000000..154a48d65
--- /dev/null
+++ b/library/intl/resources/currency/rof.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "ZAR": {
+ "name": "heleri sa Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "DZD": {
+ "name": "heleri sa Aljeria",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "heleri sa Angola",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "heleri sa Australia",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "heleri sa Bahareni",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "heleri sa Botswana",
+ "symbol": "BWP"
+ },
+ "MGA": {
+ "name": "heleri sa Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "heleri sa Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "heleri sa CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "heleri sa CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "heleri sa China",
+ "symbol": "CNÂ¥"
+ },
+ "ERN": {
+ "name": "heleri sa Eritrea",
+ "symbol": "ERN"
+ },
+ "AED": {
+ "name": "heleri sa Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "GMD": {
+ "name": "heleri sa Gambia",
+ "symbol": "GMD"
+ },
+ "INR": {
+ "name": "heleri sa India",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "heleri sa Japani",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "heleri sa Jibuti",
+ "symbol": "DJF"
+ },
+ "CAD": {
+ "name": "heleri sa Kanada",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "heleri sa Kenya",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "heleri sa Kepuvede",
+ "symbol": "CVE"
+ },
+ "KMF": {
+ "name": "heleri sa Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "heleri sa Kongo",
+ "symbol": "CDF"
+ },
+ "LSL": {
+ "name": "heleri sa Lesoto",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "heleri sa Liberia",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "heleri sa Libya",
+ "symbol": "LYD"
+ },
+ "MWK": {
+ "name": "heleri sa Malawi",
+ "symbol": "MWK"
+ },
+ "USD": {
+ "name": "heleri sa Marekani",
+ "symbol": "US$"
+ },
+ "EGP": {
+ "name": "heleri sa Misri",
+ "symbol": "EGP"
+ },
+ "MUR": {
+ "name": "heleri sa Morisi",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "heleri sa Moritania",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "heleri sa Moroko",
+ "symbol": "MAD"
+ },
+ "NAD": {
+ "name": "heleri sa Namibia",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "heleri sa Nijeria",
+ "symbol": "NGN"
+ },
+ "RWF": {
+ "name": "heleri sa Rwanda",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "heleri sa Santahelena",
+ "symbol": "SHP"
+ },
+ "STD": {
+ "name": "heleri sa Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "heleri sa Saudia",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "heleri sa Shelisheli",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "heleri sa Somalia",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "heleri sa Sudani",
+ "symbol": "SDG"
+ },
+ "TZS": {
+ "name": "heleri sa Tanzania",
+ "symbol": "TSh"
+ },
+ "TND": {
+ "name": "heleri sa Tunisia",
+ "symbol": "TND"
+ },
+ "UGX": {
+ "name": "heleri sa Uganda",
+ "symbol": "UGX"
+ },
+ "ETB": {
+ "name": "heleri sa Uhabeshi",
+ "symbol": "ETB"
+ },
+ "GBP": {
+ "name": "heleri sa Uingereza",
+ "symbol": "£"
+ },
+ "CHF": {
+ "name": "heleri sa Uswisi",
+ "symbol": "CHF"
+ },
+ "ZMW": {
+ "name": "heleri sa Zambia",
+ "symbol": "ZMW"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ru.json b/library/intl/resources/currency/ru.json
new file mode 100644
index 000000000..71520f89b
--- /dev/null
+++ b/library/intl/resources/currency/ru.json
@@ -0,0 +1,634 @@
+{
+ "AUD": {
+ "name": "ÐвÑтралийÑкий доллар",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "ÐзербайджанÑкий манат",
+ "symbol": "AZN"
+ },
+ "ALL": {
+ "name": "ÐлбанÑкий лек",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "ÐлжирÑкий динар",
+ "symbol": "DZD"
+ },
+ "GBP": {
+ "name": "ÐнглийÑкий фунт Ñтерлингов",
+ "symbol": "£"
+ },
+ "AOA": {
+ "name": "ÐнгольÑÐºÐ°Ñ ÐºÐ²Ð°Ð½Ð·Ð°",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ÐргентинÑкое пеÑо",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "ÐрмÑнÑкий драм",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "ÐрубанÑкий флорин",
+ "symbol": "AWG"
+ },
+ "AFN": {
+ "name": "ÐфганÑкий афгани",
+ "symbol": "AFN"
+ },
+ "BSD": {
+ "name": "БагамÑкий доллар",
+ "symbol": "BSD"
+ },
+ "BDT": {
+ "name": "БангладешÑÐºÐ°Ñ Ñ‚Ð°ÐºÐ°",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "БарбадоÑÑкий доллар",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "БахрейнÑкий динар",
+ "symbol": "BHD"
+ },
+ "BZD": {
+ "name": "БелизÑкий доллар",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "БелоруÑÑкий рубль",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "БермудÑкий доллар",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "БолгарÑкий лев",
+ "symbol": "BGN"
+ },
+ "BOB": {
+ "name": "БоливийÑкий боливиано",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "БотÑванÑÐºÐ°Ñ Ð¿ÑƒÐ»Ð°",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "БразильÑкий реал",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "БрунейÑкий доллар",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "БурундийÑкий франк",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "БутанÑкий нгултрум",
+ "symbol": "BTN"
+ },
+ "VUV": {
+ "name": "Вату Вануату",
+ "symbol": "VUV"
+ },
+ "HUF": {
+ "name": "ВенгерÑкий форинт",
+ "symbol": "HUF"
+ },
+ "VEF": {
+ "name": "ВенеÑуÑльÑкий боливар",
+ "symbol": "VEF"
+ },
+ "XCD": {
+ "name": "ВоÑточно-карибÑкий доллар",
+ "symbol": "EC$"
+ },
+ "VND": {
+ "name": "ВьетнамÑкий донг",
+ "symbol": "â‚«"
+ },
+ "HTG": {
+ "name": "ГаитÑнÑкий гурд",
+ "symbol": "HTG"
+ },
+ "GYD": {
+ "name": "ГайанÑкий доллар",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "ГамбийÑкий далаÑи",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ГанÑкий Ñеди",
+ "symbol": "GHS"
+ },
+ "GTQ": {
+ "name": "ГватемальÑкий кетÑаль",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "ГвинейÑкий франк",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "ГибралтарÑкий фунт",
+ "symbol": "GIP"
+ },
+ "HNL": {
+ "name": "ГондураÑÑÐºÐ°Ñ Ð»ÐµÐ¼Ð¿Ð¸Ñ€Ð°",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "ГонконгÑкий доллар",
+ "symbol": "HK$"
+ },
+ "GEL": {
+ "name": "ГрузинÑкий лари",
+ "symbol": "GEL"
+ },
+ "DKK": {
+ "name": "ДатÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°",
+ "symbol": "DKK"
+ },
+ "AED": {
+ "name": "Дирхам ОÐЭ",
+ "symbol": "AED"
+ },
+ "STD": {
+ "name": "Добра Сант-Томе и ПринÑипи",
+ "symbol": "STD"
+ },
+ "ZWL": {
+ "name": "Доллар Зимбабве (2009)",
+ "symbol": "ZWL"
+ },
+ "KYD": {
+ "name": "Доллар Каймановых оÑтровов",
+ "symbol": "KYD"
+ },
+ "NAD": {
+ "name": "Доллар Ðамибии",
+ "symbol": "NAD"
+ },
+ "SBD": {
+ "name": "Доллар Соломоновых оÑтровов",
+ "symbol": "SBD"
+ },
+ "USD": {
+ "name": "Доллар СШÐ",
+ "symbol": "$"
+ },
+ "TTD": {
+ "name": "Доллар Тринидада и Тобаго",
+ "symbol": "TTD"
+ },
+ "FJD": {
+ "name": "Доллар Фиджи",
+ "symbol": "FJD"
+ },
+ "DOP": {
+ "name": "ДоминиканÑкое пеÑо",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "ЕгипетÑкий фунт",
+ "symbol": "EGP"
+ },
+ "ZMW": {
+ "name": "ЗамбийÑÐºÐ°Ñ ÐºÐ²Ð°Ñ‡Ð°",
+ "symbol": "ZMW"
+ },
+ "INR": {
+ "name": "ИндийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "ИндонезийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ",
+ "symbol": "IDR"
+ },
+ "JOD": {
+ "name": "ИорданÑкий динар",
+ "symbol": "JOD"
+ },
+ "IQD": {
+ "name": "ИракÑкий динар",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ИранÑкий риал",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ИÑландÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°",
+ "symbol": "ISK"
+ },
+ "YER": {
+ "name": "ЙеменÑкий риал",
+ "symbol": "YER"
+ },
+ "KZT": {
+ "name": "КазахÑкий тенге",
+ "symbol": "KZT"
+ },
+ "KHR": {
+ "name": "КамбоджийÑкий риель",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "КанадÑкий доллар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "КатарÑкий риал",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "КенийÑкий шиллинг",
+ "symbol": "KES"
+ },
+ "PGK": {
+ "name": "Кина Папуа — Ðовой Гвинеи",
+ "symbol": "PGK"
+ },
+ "KGS": {
+ "name": "КиргизÑкий Ñом",
+ "symbol": "KGS"
+ },
+ "CNY": {
+ "name": "КитайÑкий юань",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "КолумбийÑкое пеÑо",
+ "symbol": "COP"
+ },
+ "BAM": {
+ "name": "ÐšÐ¾Ð½Ð²ÐµÑ€Ñ‚Ð¸Ñ€ÑƒÐµÐ¼Ð°Ñ Ð¼Ð°Ñ€ÐºÐ° БоÑнии и Герцеговины",
+ "symbol": "BAM"
+ },
+ "CDF": {
+ "name": "КонголезÑкий франк",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "КоÑтариканÑкий колон",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "КубинÑкое конвертируемое пеÑо",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "КубинÑкое пеÑо",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "КувейтÑкий динар",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "ЛаоÑÑкий кип",
+ "symbol": "LAK"
+ },
+ "SLL": {
+ "name": "Леоне",
+ "symbol": "SLL"
+ },
+ "LRD": {
+ "name": "ЛиберийÑкий доллар",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "ЛиванÑкий фунт",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "ЛивийÑкий динар",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "ЛитовÑкий лит",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Лоти",
+ "symbol": "LSL"
+ },
+ "MUR": {
+ "name": "МаврикийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "МавританÑÐºÐ°Ñ ÑƒÐ³Ð¸Ñ",
+ "symbol": "MRO"
+ },
+ "MKD": {
+ "name": "МакедонÑкий динар",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "МалавийÑÐºÐ°Ñ ÐºÐ²Ð°Ñ‡Ð°",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "МалагаÑийÑкий ариари",
+ "symbol": "MGA"
+ },
+ "MYR": {
+ "name": "МалайзийÑкий ринггит",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "МальдивÑÐºÐ°Ñ Ñ€ÑƒÑ„Ð¸Ñ",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "МарокканÑкий дирхам",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "МекÑиканÑкое пеÑо",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "МозамбикÑкий метикал",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "МолдавÑкий лей",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "МонгольÑкий тугрик",
+ "symbol": "MNT"
+ },
+ "MMK": {
+ "name": "МьÑнманÑкий кьÑÑ‚",
+ "symbol": "MMK"
+ },
+ "ERN": {
+ "name": "Ðакфа",
+ "symbol": "ERN"
+ },
+ "NPR": {
+ "name": "ÐепальÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ÐигерийÑÐºÐ°Ñ Ð½Ð°Ð¹Ñ€Ð°",
+ "symbol": "NGN"
+ },
+ "ANG": {
+ "name": "ÐидерландÑкий антильÑкий гульден",
+ "symbol": "ANG"
+ },
+ "NIO": {
+ "name": "ÐикарагуанÑÐºÐ°Ñ ÐºÐ¾Ñ€Ð´Ð¾Ð±Ð°",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "ÐовозеландÑкий доллар",
+ "symbol": "NZ$"
+ },
+ "ILS": {
+ "name": "Ðовый израильÑкий шекель",
+ "symbol": "₪"
+ },
+ "TWD": {
+ "name": "Ðовый тайваньÑкий доллар",
+ "symbol": "NT$"
+ },
+ "NOK": {
+ "name": "ÐорвежÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "ОманÑкий риал",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "ПакиÑтанÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "ПанамÑкое бальбоа",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "ПарагвайÑкий гуарани",
+ "symbol": "PYG"
+ },
+ "MOP": {
+ "name": "Патака Макао",
+ "symbol": "MOP"
+ },
+ "PEN": {
+ "name": "ПеруанÑкий новый Ñоль",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "ПольÑкий злотый",
+ "symbol": "PLN"
+ },
+ "RUB": {
+ "name": "РоÑÑийÑкий рубль",
+ "symbol": "руб."
+ },
+ "RON": {
+ "name": "РумынÑкий лей",
+ "symbol": "RON"
+ },
+ "SVC": {
+ "name": "СальвадорÑкий колон",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "СамоанÑÐºÐ°Ñ Ñ‚Ð°Ð»Ð°",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "СаудовÑкий риал",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "СвазилендÑкий лилангени",
+ "symbol": "SZL"
+ },
+ "KPW": {
+ "name": "СеверокорейÑÐºÐ°Ñ Ð²Ð¾Ð½Ð°",
+ "symbol": "KPW"
+ },
+ "SCR": {
+ "name": "СейшельÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "СербÑкий динар",
+ "symbol": "RSD"
+ },
+ "SGD": {
+ "name": "СингапурÑкий доллар",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "СирийÑкий фунт",
+ "symbol": "SYP"
+ },
+ "SOS": {
+ "name": "СомалийÑкий шиллинг",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "СуданÑкий фунт",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "СуринамÑкий доллар",
+ "symbol": "SRD"
+ },
+ "TJS": {
+ "name": "ТаджикÑкий Ñомони",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "ТаиландÑкий бат",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "ТанзанийÑкий шиллинг",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "ТонганÑÐºÐ°Ñ Ð¿Ð°Ð°Ð½Ð³Ð°",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "ТуниÑÑкий динар",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Ð¢ÑƒÑ€ÐµÑ†ÐºÐ°Ñ Ð»Ð¸Ñ€Ð°",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "ТуркменÑкий новый манат",
+ "symbol": "ТМТ"
+ },
+ "UGX": {
+ "name": "УгандийÑкий шиллинг",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "УзбекÑкий Ñум",
+ "symbol": "UZS"
+ },
+ "UAH": {
+ "name": "УкраинÑÐºÐ°Ñ Ð³Ñ€Ð¸Ð²Ð½Ð°",
+ "symbol": "â‚´"
+ },
+ "UYU": {
+ "name": "УругвайÑкое пеÑо",
+ "symbol": "UYU"
+ },
+ "PHP": {
+ "name": "ФилиппинÑкое пеÑо",
+ "symbol": "PHP"
+ },
+ "DJF": {
+ "name": "Франк Джибути",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Франк КоморÑких оÑтровов",
+ "symbol": "KMF"
+ },
+ "XAF": {
+ "name": "Франк КФРВЕÐС",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Франк КФРВСЕÐО",
+ "symbol": "CFA"
+ },
+ "RWF": {
+ "name": "Франк Руанды",
+ "symbol": "RWF"
+ },
+ "XPF": {
+ "name": "ФранцузÑкий тихоокеанÑкий франк",
+ "symbol": "CFPF"
+ },
+ "SHP": {
+ "name": "Фунт оÑтрова СвÑтой Елены",
+ "symbol": "SHP"
+ },
+ "FKP": {
+ "name": "Фунт ФолклендÑких оÑтровов",
+ "symbol": "FKP"
+ },
+ "HRK": {
+ "name": "ХорватÑÐºÐ°Ñ ÐºÑƒÐ½Ð°",
+ "symbol": "HRK"
+ },
+ "CZK": {
+ "name": "ЧешÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "ЧилийÑкое пеÑо",
+ "symbol": "CLP"
+ },
+ "SEK": {
+ "name": "ШведÑÐºÐ°Ñ ÐºÑ€Ð¾Ð½Ð°",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "ШвейцарÑкий франк",
+ "symbol": "CHF"
+ },
+ "LKR": {
+ "name": "Шри-ЛанкийÑÐºÐ°Ñ Ñ€ÑƒÐ¿Ð¸Ñ",
+ "symbol": "LKR"
+ },
+ "CVE": {
+ "name": "ЭÑкудо Кабо-Верде",
+ "symbol": "CVE"
+ },
+ "ETB": {
+ "name": "ЭфиопÑкий быр",
+ "symbol": "ETB"
+ },
+ "ZAR": {
+ "name": "ЮжноафриканÑкий Ñ€Ñнд",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "ЮжнокорейÑÐºÐ°Ñ Ð²Ð¾Ð½Ð°",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "ЮжноÑуданÑкий фунт",
+ "symbol": "SSP"
+ },
+ "JMD": {
+ "name": "ЯмайÑкий доллар",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "ЯпонÑÐºÐ°Ñ Ð¸ÐµÐ½Ð°",
+ "symbol": "Â¥"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/rwk.json b/library/intl/resources/currency/rwk.json
new file mode 100644
index 000000000..655670a30
--- /dev/null
+++ b/library/intl/resources/currency/rwk.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "Faranga ya Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/saq.json b/library/intl/resources/currency/saq.json
new file mode 100644
index 000000000..4202a5ffb
--- /dev/null
+++ b/library/intl/resources/currency/saq.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "LRD": {
+ "name": "Dola eel Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola eel Marekani",
+ "symbol": "US$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "ZAR": {
+ "name": "Njilingi eel Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "DZD": {
+ "name": "Njilingi eel Aljeria",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Njilingi eel Angola",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "Njilingi eel Australia",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Njilingi eel Bahareni",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "Njilingi eel Botswana",
+ "symbol": "BWP"
+ },
+ "MGA": {
+ "name": "Njilingi eel Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "Njilingi eel Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Njilingi eel CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Njilingi eel CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "Njilingi eel China",
+ "symbol": "CNÂ¥"
+ },
+ "ERN": {
+ "name": "Njilingi eel Eritrea",
+ "symbol": "ERN"
+ },
+ "AED": {
+ "name": "Njilingi eel Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "GMD": {
+ "name": "Njilingi eel Gambia",
+ "symbol": "GMD"
+ },
+ "INR": {
+ "name": "Njilingi eel India",
+ "symbol": "₹"
+ },
+ "DJF": {
+ "name": "Njilingi eel Jibuti",
+ "symbol": "DJF"
+ },
+ "CAD": {
+ "name": "Njilingi eel Kanada",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "Njilingi eel Kenya",
+ "symbol": "Ksh"
+ },
+ "CVE": {
+ "name": "Njilingi eel Kepuvede",
+ "symbol": "CVE"
+ },
+ "JPY": {
+ "name": "Njilingi eel Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "KMF": {
+ "name": "Njilingi eel Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Njilingi eel Kongo",
+ "symbol": "CDF"
+ },
+ "LSL": {
+ "name": "Njilingi eel Lesoto",
+ "symbol": "LSL"
+ },
+ "LYD": {
+ "name": "Njilingi eel Libya",
+ "symbol": "LYD"
+ },
+ "MWK": {
+ "name": "Njilingi eel Malawi",
+ "symbol": "MWK"
+ },
+ "EGP": {
+ "name": "Njilingi eel Misri",
+ "symbol": "EGP"
+ },
+ "MUR": {
+ "name": "Njilingi eel Morisi",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Njilingi eel Moritania",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "Njilingi eel Moroko",
+ "symbol": "MAD"
+ },
+ "NAD": {
+ "name": "Njilingi eel Namibia",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "Njilingi eel Nijeria",
+ "symbol": "NGN"
+ },
+ "RWF": {
+ "name": "Njilingi eel Rwanda",
+ "symbol": "RWF"
+ },
+ "STD": {
+ "name": "Njilingi eel Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Njilingi eel Saudia",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Njilingi eel Shelisheli",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "Njilingi eel Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Njilingi eel Tanzania",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "Njilingi eel Tunisia",
+ "symbol": "TND"
+ },
+ "UGX": {
+ "name": "Njilingi eel Uganda",
+ "symbol": "UGX"
+ },
+ "ETB": {
+ "name": "Njilingi eel Uhabeshi",
+ "symbol": "ETB"
+ },
+ "GBP": {
+ "name": "Njilingi eel Uingereza",
+ "symbol": "£"
+ },
+ "CHF": {
+ "name": "Njilingi eel Uswisi",
+ "symbol": "CHF"
+ },
+ "ZMW": {
+ "name": "Njilingi eel Zambia",
+ "symbol": "ZMW"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "SHP": {
+ "name": "Paunt eel Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Paunt eel Sudani",
+ "symbol": "SDG"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sbp.json b/library/intl/resources/currency/sbp.json
new file mode 100644
index 000000000..d3cde118e
--- /dev/null
+++ b/library/intl/resources/currency/sbp.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ZAR": {
+ "name": "Ihela ya Afilika Kusini",
+ "symbol": "ZAR"
+ },
+ "DZD": {
+ "name": "Ihela ya Alijeliya",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Ihela ya Angola",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "Ihela ya Awusitilaliya",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Ihela ya Bahaleni",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "Ihela ya Botiswana",
+ "symbol": "BWP"
+ },
+ "MGA": {
+ "name": "Ihela ya Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "Ihela ya Bulundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Ihela ya CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Ihela ya CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "ERN": {
+ "name": "Ihela ya Elitileya",
+ "symbol": "ERN"
+ },
+ "GMD": {
+ "name": "Ihela ya Gambiya",
+ "symbol": "GMD"
+ },
+ "INR": {
+ "name": "Ihela ya Indiya",
+ "symbol": "₹"
+ },
+ "JPY": {
+ "name": "Ihela ya Japani",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "Ihela ya Jibuti",
+ "symbol": "DJF"
+ },
+ "CAD": {
+ "name": "Ihela ya Kanada",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "Ihela ya Kenya",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "Ihela ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "KMF": {
+ "name": "Ihela ya Komolo",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Ihela ya Kongo",
+ "symbol": "CDF"
+ },
+ "LSL": {
+ "name": "Ihela ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Ihela ya Libeliya",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Ihela ya Libiya",
+ "symbol": "LYD"
+ },
+ "RWF": {
+ "name": "Ihela ya Lwanda",
+ "symbol": "RWF"
+ },
+ "MWK": {
+ "name": "Ihela ya Malawi",
+ "symbol": "MWK"
+ },
+ "USD": {
+ "name": "Ihela ya Malekani",
+ "symbol": "US$"
+ },
+ "EGP": {
+ "name": "Ihela ya Misili",
+ "symbol": "EGP"
+ },
+ "MUR": {
+ "name": "Ihela ya Molisi",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Ihela ya Molitaniya",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "Ihela ya Moloko",
+ "symbol": "MAD"
+ },
+ "NAD": {
+ "name": "Ihela ya Namibiya",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "Ihela ya Nijeliya",
+ "symbol": "NGN"
+ },
+ "ZMW": {
+ "name": "Ihela ya Sambiya",
+ "symbol": "ZMW"
+ },
+ "SHP": {
+ "name": "Ihela ya Santahelena",
+ "symbol": "SHP"
+ },
+ "STD": {
+ "name": "Ihela ya Sao Tome ni Pilinsipe",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Ihela ya Sawudiya",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Ihela ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "CNY": {
+ "name": "Ihela ya Shina",
+ "symbol": "CNÂ¥"
+ },
+ "AED": {
+ "name": "Ihela ya Shitwa sha Shiyalabu",
+ "symbol": "AED"
+ },
+ "SLL": {
+ "name": "Ihela ya Siela Liyoni",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "Ihela ya Somaliya",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "Ihela ya Sudani",
+ "symbol": "SDG"
+ },
+ "TZS": {
+ "name": "Ihela ya Tansaniya",
+ "symbol": "TSh"
+ },
+ "TND": {
+ "name": "Ihela ya Tunisiya",
+ "symbol": "TND"
+ },
+ "UGX": {
+ "name": "Ihela ya Uganda",
+ "symbol": "UGX"
+ },
+ "ETB": {
+ "name": "Ihela ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Ihela ya Ulaya",
+ "symbol": "€"
+ },
+ "SZL": {
+ "name": "Ihela ya Uswasi",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "Ihela ya Uswisi",
+ "symbol": "CHF"
+ },
+ "GBP": {
+ "name": "Ihela ya Uwingelesa",
+ "symbol": "£"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/se.json b/library/intl/resources/currency/se.json
new file mode 100644
index 000000000..20cc838e3
--- /dev/null
+++ b/library/intl/resources/currency/se.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "Dkr"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "INR",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "norgga kruvdno",
+ "symbol": "kr"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SEK": {
+ "name": "ruoŧŧa kruvdno",
+ "symbol": "Skr"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "฿"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/seh.json b/library/intl/resources/currency/seh.json
new file mode 100644
index 000000000..119049148
--- /dev/null
+++ b/library/intl/resources/currency/seh.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Birr etíope",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "MWK": {
+ "name": "Cuacha do Maláui",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Cuacha zambiano",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Cuanza angolano",
+ "symbol": "AOA"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi de Gâmbia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinar argelino",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar bareinita",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinar líbio",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinar sudanês",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinar tunisiano",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirém dos Emirados Ãrabes Unidos",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirém marroquino",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra de São Tomé e Príncipe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dólar australiano",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dólar canadense",
+ "symbol": "CA$"
+ },
+ "NAD": {
+ "name": "Dólar da Namíbia",
+ "symbol": "NAD"
+ },
+ "LRD": {
+ "name": "Dólar liberiano",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dólar norte-americano",
+ "symbol": "US$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Escudo cabo-verdiano",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "XOF": {
+ "name": "Franco CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Franco CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CDF": {
+ "name": "Franco congolês",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "Franco de Comores",
+ "symbol": "KMF"
+ },
+ "MGA": {
+ "name": "Franco de Madagascar",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "Franco do Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Franco do Djibuti",
+ "symbol": "DJF"
+ },
+ "RWF": {
+ "name": "Franco ruandês",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franco suíço",
+ "symbol": "CHF"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "JPY": {
+ "name": "Iene japonês",
+ "symbol": "JPÂ¥"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leone de Serra Leoa",
+ "symbol": "SLL"
+ },
+ "SHP": {
+ "name": "Libra de Santa Helena",
+ "symbol": "SHP"
+ },
+ "EGP": {
+ "name": "Libra egípcia",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Libra esterlina britânica",
+ "symbol": "£"
+ },
+ "SZL": {
+ "name": "Lilangeni da Suazilândia",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti do Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MZN": {
+ "name": "Metical de Moçambique",
+ "symbol": "MTn"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "NGN": {
+ "name": "Naira nigeriana",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa da Eritréia",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "MRO": {
+ "name": "Ouguiya da Mauritânia",
+ "symbol": "MRO"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula botsuanesa",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Rand sul-africano",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Rial saudita",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SCR": {
+ "name": "Rupia das Seychelles",
+ "symbol": "SCR"
+ },
+ "MUR": {
+ "name": "Rupia de Maurício",
+ "symbol": "MUR"
+ },
+ "INR": {
+ "name": "Rúpia indiana",
+ "symbol": "₹"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "TZS": {
+ "name": "Xelim da Tanzânia",
+ "symbol": "TZS"
+ },
+ "KES": {
+ "name": "Xelim queniano",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Xelim somali",
+ "symbol": "SOS"
+ },
+ "UGX": {
+ "name": "Xelim ugandense (1966–1987)",
+ "symbol": "UGX"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi chinês",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ses.json b/library/intl/resources/currency/ses.json
new file mode 100644
index 000000000..c75824e61
--- /dev/null
+++ b/library/intl/resources/currency/ses.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alžeeri Dinar",
+ "symbol": "DZD"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "USD": {
+ "name": "Ameriki Dollar",
+ "symbol": "US$"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "Angoola Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BHD": {
+ "name": "Bahareen Dinar",
+ "symbol": "BHD"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "Botswaana Pund",
+ "symbol": "BWP"
+ },
+ "GBP": {
+ "name": "Britin Pund",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "Burundi Fraŋ",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "XOF": {
+ "name": "CFA Fraŋ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Fraŋ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "ETB": {
+ "name": "Ecioopi Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Eero",
+ "symbol": "€"
+ },
+ "ERN": {
+ "name": "Eritree Nafka",
+ "symbol": "ERN"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambi Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "ZAR": {
+ "name": "Hawasa Afriki Rand",
+ "symbol": "ZAR"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Indu Rupii",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JPY": {
+ "name": "Jaapoŋ Yen",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "Jibuuti Fraŋ",
+ "symbol": "DJF"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CAD": {
+ "name": "Kanaada Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kapuver Escudo",
+ "symbol": "CVE"
+ },
+ "KES": {
+ "name": "Keeniya Šiiliŋ",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "Komoor Fraŋ",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo Fraŋ",
+ "symbol": "CDF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "AED": {
+ "name": "Laaraw Immaara Margantey Dirham",
+ "symbol": "AED"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leeon",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "Leezoto Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberia Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Liibi Dinar",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MAD": {
+ "name": "Maarok Dirham",
+ "symbol": "MAD"
+ },
+ "MWK": {
+ "name": "Malaawi Kwaca",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "Malgaaši Fraŋ",
+ "symbol": "MGA"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "EGP": {
+ "name": "Misra Pund",
+ "symbol": "EGP"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MUR": {
+ "name": "Mooris Rupii",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mooritaani Ugiya",
+ "symbol": "MRO"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naajiriya Neera",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "Naamibi Dollar",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "AUD": {
+ "name": "Ostraali Dollar",
+ "symbol": "A$"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwanda Fraŋ",
+ "symbol": "RWF"
+ },
+ "STD": {
+ "name": "Sao Tome nda Prinsipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudiya Riyal",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "Seešel Rupii",
+ "symbol": "SCR"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SHP": {
+ "name": "Seŋ Helena Fraŋ",
+ "symbol": "SHP"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "CNY": {
+ "name": "Sinwa Yuan Renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "SOS": {
+ "name": "Somaali Šiiliŋ",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "Suudaŋ Dinar",
+ "symbol": "SDG"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "CHF": {
+ "name": "Swisu Fraŋ",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "TZS": {
+ "name": "Tanzaani Šiiliŋ",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunizi Dinar",
+ "symbol": "TND"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "Uganda Šiiliŋ",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambi Kwaca",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sg.json b/library/intl/resources/currency/sg.json
new file mode 100644
index 000000000..051bbdb34
--- /dev/null
+++ b/library/intl/resources/currency/sg.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "ariâri tî Madagasikära",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "bir tî Etiopïi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "dalasi tî gambïi",
+ "symbol": "GMD"
+ },
+ "LYD": {
+ "name": "dinäar tî Libïi",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "dinära tî Tunizïi",
+ "symbol": "TND"
+ },
+ "DZD": {
+ "name": "dinäri tî Alzerïi",
+ "symbol": "DZD"
+ },
+ "AED": {
+ "name": "dirâm tî âEmirâti tî Arâbo Ôko",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirâm tî Marôko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "dôbra tî Sâô Tomë na Prinsîpe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "dol$ara ttî äLetäa-Ôko tî Amerîka",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "dolära tî kanadäa",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "dolära tî Liberïa",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "dolära tî Namibïi",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "dolära tî Ostralïi",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "dolùara tî Bahrâina",
+ "symbol": "BHD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "eskûêdo tî Kâpo-Vêre",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "farânga CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "farânga CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "farânga tî Burundïi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "farânga tî Dibutïi",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "farânga tî Kömôro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "farânga tî Kongöo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "farânga tî Ruandäa",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "farânga tî Sûîsi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "AOA": {
+ "name": "kwânza tî Angoläa",
+ "symbol": "AOA"
+ },
+ "MWK": {
+ "name": "kwâtia tî Malawïi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwâtia tî Zambïi",
+ "symbol": "ZMW"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "leône tî Sierâ-Leône",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "lilangùeni tî Swazïlânde",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "loti tî Lesôtho",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "nâîra tî Nizerïa",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakafa tî Eritrëe",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "GBP": {
+ "name": "pôndo tî Anglëe",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "pôndo tî Kâmitâ",
+ "symbol": "EGP"
+ },
+ "SDG": {
+ "name": "pôndo tî Sudäan",
+ "symbol": "SDG"
+ },
+ "SHP": {
+ "name": "pôndo tî Zûâ Sênt-Helêna",
+ "symbol": "SHP"
+ },
+ "BWP": {
+ "name": "pûla tî Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "rânde tî Mbongo-Afrîka",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "riâli tî Saûdi Arabïi",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "rupïi tî Ênnde",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "rupïi tî Mörîsi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "rupïi tî Sëyshêle",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "shilîngi tî Kenyäa",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "shilîngi tî Somalïi",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "shilîngi tî Tanzanïi",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "shilîngi tî Ugandäa",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "ugîya tî Moritanïi",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "yêni tî Zapön",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "yuan renminbi tî Shîni",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "zoröo",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/shi-Latn.json b/library/intl/resources/currency/shi-Latn.json
new file mode 100644
index 000000000..5eb2b53d7
--- /dev/null
+++ b/library/intl/resources/currency/shi-Latn.json
@@ -0,0 +1,634 @@
+{
+ "BWP": {
+ "name": "abula n butswana",
+ "symbol": "BWP"
+ },
+ "KES": {
+ "name": "acilin n kinya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "acilin n ṣṣumal",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "acilin n ṭanẓanya",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "acilin n uɣanda",
+ "symbol": "UGX"
+ },
+ "BHD": {
+ "name": "adinar n bḥrayn",
+ "symbol": "BHD"
+ },
+ "DZD": {
+ "name": "adinar n dzayr",
+ "symbol": "DZD"
+ },
+ "LYD": {
+ "name": "adinar n libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "adinar n ssudan",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "adinar n tuns",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "adrim n limarat",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "adrim n lmɣrib",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "adubra n saná¹­umi",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "adular n iwunak imunn",
+ "symbol": "US$"
+ },
+ "CAD": {
+ "name": "adular n kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "adular n libirya",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "adular n namibya",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "adular n ustralya",
+ "symbol": "A$"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "RWF": {
+ "name": "afrank n rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "afrank n swisra",
+ "symbol": "CHF"
+ },
+ "GBP": {
+ "name": "ajnih astrlini n nngliz",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "ajnih n miṣṛ",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "ajnih n santilin",
+ "symbol": "SHP"
+ },
+ "ZMW": {
+ "name": "akwaca n zambya",
+ "symbol": "ZMW"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ZAR": {
+ "name": "arand n afriqya n iffus",
+ "symbol": "ZAR"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "INR": {
+ "name": "arubi n lhind",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "arubi n muris",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "arubi n ssicil",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "aryal n ssaɛudiya",
+ "symbol": "SAR"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "CNY": {
+ "name": "ayan n ccinwa",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "ayan n lyaban",
+ "symbol": "JPÂ¥"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "bir n ityubya",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "dalasi n gambya",
+ "symbol": "GMD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "BIF": {
+ "name": "frank n burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "frank n djibuti",
+ "symbol": "DJF"
+ },
+ "CDF": {
+ "name": "frank n kungu",
+ "symbol": "CDF"
+ },
+ "MGA": {
+ "name": "frank n madaɣacqar",
+ "symbol": "MGA"
+ },
+ "KMF": {
+ "name": "frank n qumuá¹›",
+ "symbol": "KMF"
+ },
+ "XAF": {
+ "name": "frank á¹£ifa",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "frank á¹£ifa bisaw",
+ "symbol": "CFA"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "CVE": {
+ "name": "iskudu n kabbirdi",
+ "symbol": "CVE"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "kwaca n malawi",
+ "symbol": "MWK"
+ },
+ "AOA": {
+ "name": "kwanza n angula",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SZL": {
+ "name": "lilanjini",
+ "symbol": "SZL"
+ },
+ "SLL": {
+ "name": "liyun",
+ "symbol": "SLL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "luti n liá¹£uá¹­u",
+ "symbol": "LSL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "nafka n iritirya",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "nayra n nijirya",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "uqiyya n muá¹›iá¹­anya",
+ "symbol": "MRO"
+ },
+ "EUR": {
+ "name": "uru",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/shi.json b/library/intl/resources/currency/shi.json
new file mode 100644
index 000000000..51578e02c
--- /dev/null
+++ b/library/intl/resources/currency/shi.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "BWP": {
+ "name": "ⴰⴱⵓâµâ´° ⵠⴱⵓⵜⵙⵡⴰâµâ´°",
+ "symbol": "BWP"
+ },
+ "BHD": {
+ "name": "ⴰⴷⵉâµâ´°âµ” ⵠⴱⵃⵔⴰⵢâµ",
+ "symbol": "BHD"
+ },
+ "DZD": {
+ "name": "ⴰⴷⵉâµâ´°âµ” ⵠⴷⵣⴰⵢⵔ",
+ "symbol": "DZD"
+ },
+ "LYD": {
+ "name": "ⴰⴷⵉâµâ´°âµ” âµ âµâµ‰â´±âµ¢â´°",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "ⴰⴷⵉâµâ´°âµ” ⵠⵙⵙⵓⴷⴰâµ",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "ⴰⴷⵉâµâ´°âµ” ⵠⵜⵓâµâµ™",
+ "symbol": "TND"
+ },
+ "STD": {
+ "name": "ⴰⴷⵓⴱⵔⴰ ⵠⵙⴰâµâµŸâµ“ⵎⵉ",
+ "symbol": "STD"
+ },
+ "CAD": {
+ "name": "ⴰⴷⵓâµâ´°âµ” ⵠⴽⴰâµâ´°â´·â´°",
+ "symbol": "CA$"
+ },
+ "USD": {
+ "name": "ⴰⴷⵓâµâ´°âµ” ⵠⵉⵡⵓâµâ´°â´½ ⵉⵎⵓâµâµ",
+ "symbol": "US$"
+ },
+ "LRD": {
+ "name": "ⴰⴷⵓâµâ´°âµ” âµ âµâµ‰â´±âµ‰âµ”ⵢⴰ",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "ⴰⴷⵓâµâ´°âµ” âµ âµâ´°âµŽâµ‰â´±âµ¢â´°",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "ⴰⴷⵓâµâ´°âµ” ⵠⵓⵙⵜⵔⴰâµâµ¢â´°",
+ "symbol": "A$"
+ },
+ "AED": {
+ "name": "ⴰⴷⵔⵉⵎ âµ âµâµ‰âµŽâ´°âµ”ⴰⵜ",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "ⴰⴷⵔⵉⵎ âµ âµâµŽâµ–ⵔⵉⴱ",
+ "symbol": "MAD"
+ },
+ "RWF": {
+ "name": "ⴰⴼⵔⴰâµâ´½ ⵠⵔⵡⴰâµâ´·â´°",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "ⴰⴼⵔⴰâµâ´½ ⵠⵙⵡⵉⵙⵔⴰ",
+ "symbol": "CHF"
+ },
+ "ZMW": {
+ "name": "ⴰⴽⵡⴰⵛⴰ ⵠⵣⴰⵎⴱⵢⴰ",
+ "symbol": "ZMW"
+ },
+ "GBP": {
+ "name": "ⴰⵊâµâµ‰âµ€ ⴰⵙⵜⵔâµâµ‰âµâµ‰ âµ âµâµâ´³âµâµ‰âµ£",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "ⴰⵊâµâµ‰âµ€ ⵠⵎⵉⵚⵕ",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "ⴰⵊâµâµ‰âµ€ ⵠⵙⴰâµâµœâµ‰âµâµ‰âµ",
+ "symbol": "SHP"
+ },
+ "ZAR": {
+ "name": "ⴰⵔⴰâµâ´· ⵠⴰⴼⵔⵉⵇⵢⴰ ⵠⵉⴼⴼⵓⵙ",
+ "symbol": "ZAR"
+ },
+ "INR": {
+ "name": "ⴰⵔⵓⴱⵉ âµ âµâµ€âµ‰âµâ´·",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "ⴰⵔⵓⴱⵉ ⵠⵎⵓⵔⵉⵙ",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "ⴰⵔⵓⴱⵉ ⵠⵙⵙⵉⵛⵉâµ",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "ⴰⵔⵢⴰⵠⵠⵙⵙⴰⵄⵓⴷⵉⵢⴰ",
+ "symbol": "SAR"
+ },
+ "KES": {
+ "name": "ⴰⵛⵉâµâµ‰âµ ⵠⴽⵉâµâµ¢â´°",
+ "symbol": "KES"
+ },
+ "UGX": {
+ "name": "ⴰⵛⵉâµâµ‰âµ ⵠⵓⵖⴰâµâ´·â´°",
+ "symbol": "UGX"
+ },
+ "SOS": {
+ "name": "ⴰⵛⵉâµâµ‰âµ ⵠⵚⵚⵓⵎⴰâµ",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "ⴰⵛⵉâµâµ‰âµ ⵠⵟⴰâµâµ¥â´°âµâµ¢â´°",
+ "symbol": "TZS"
+ },
+ "JPY": {
+ "name": "ⴰⵢⴰⵠⵠâµâµ¢â´°â´±â´°âµ",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "ⴰⵢⴰⵠⵠⵛⵛⵉâµâµ¡â´°",
+ "symbol": "CNÂ¥"
+ },
+ "ETB": {
+ "name": "ⴱⵉⵔ ⵠⵉⵜⵢⵓⴱⵢⴰ",
+ "symbol": "ETB"
+ },
+ "GMD": {
+ "name": "â´·â´°âµâ´°âµ™âµ‰ ⵠⴳⴰⵎⴱⵢⴰ",
+ "symbol": "GMD"
+ },
+ "BIF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵠⴱⵓⵔⵓâµâ´·âµ‰",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵠⴷⵊⵉⴱⵓⵜⵉ",
+ "symbol": "DJF"
+ },
+ "CDF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵠⴽⵓâµâ´³âµ“",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵠⵇⵓⵎⵓⵕ",
+ "symbol": "KMF"
+ },
+ "MGA": {
+ "name": "ⴼⵔⴰâµâ´½ ⵠⵎⴰⴷⴰⵖⴰⵛⵇⴰⵔ",
+ "symbol": "MGA"
+ },
+ "XAF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵚⵉⴼⴰ",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵚⵉⴼⴰ ⴱⵉⵙⴰⵡ",
+ "symbol": "CFA"
+ },
+ "AOA": {
+ "name": "ⴽⵡⴰâµâµ£â´° âµ â´°âµâ´³âµ“âµâ´°",
+ "symbol": "AOA"
+ },
+ "MWK": {
+ "name": "ⴽⵡⴰⵛⴰ ⵠⵎⴰâµâ´°âµ¡âµ‰",
+ "symbol": "MWK"
+ },
+ "CVE": {
+ "name": "ⵉⵙⴽⵓⴷⵓ ⵠⴽⴰⴱⴱⵉⵔⴷⵉ",
+ "symbol": "CVE"
+ },
+ "SZL": {
+ "name": "âµâµ‰âµâ´°âµâµŠâµ‰âµâµ‰",
+ "symbol": "SZL"
+ },
+ "SLL": {
+ "name": "âµâµ‰âµ¢âµ“âµ",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "âµâµ“ⵜⵉ âµ âµâµ‰âµšâµ“ⵟⵓ",
+ "symbol": "LSL"
+ },
+ "ERN": {
+ "name": "âµâ´°â´¼â´½â´° ⵠⵉⵔⵉⵜⵉⵔⵢⴰ",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "âµâ´°âµ¢âµ”â´° âµ âµâµ‰âµŠâµ‰âµ”ⵢⴰ",
+ "symbol": "NGN"
+ },
+ "MRO": {
+ "name": "ⵓⵇⵉⵢⵢⴰ ⵠⵎⵓⵕⵉⵟⴰâµâµ¢â´°",
+ "symbol": "MRO"
+ },
+ "EUR": {
+ "name": "ⵓⵔⵓ",
+ "symbol": "€"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/si.json b/library/intl/resources/currency/si.json
new file mode 100644
index 000000000..49143a06d
--- /dev/null
+++ b/library/intl/resources/currency/si.json
@@ -0,0 +1,634 @@
+{
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "ISK": {
+ "name": "අයිස්ලන්තික ක්â€à¶»à·à¶±à·",
+ "symbol": "ISK"
+ },
+ "AWG": {
+ "name": "අරූබà·à¶±à·” ෆ්ලà·à¶»à·’න්",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "අසර්බයිජà·à¶±à·” මනà·à¶§à·Š",
+ "symbol": "AZN"
+ },
+ "ARS": {
+ "name": "ආර්ජන්ටින෠පෙසà·",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "ආර්මේනියà·à¶±à·” ඩ්â€à¶»à·‘ම්",
+ "symbol": "AMD"
+ },
+ "AOA": {
+ "name": "ඇන්ගà·à¶½à·à¶±à·” ක්වන්සà·",
+ "symbol": "AOA"
+ },
+ "USD": {
+ "name": "ඇමරිකà·à¶±à·” ඩොලර්",
+ "symbol": "US$"
+ },
+ "DZD": {
+ "name": "ඇල්ගේරියà·à¶±à·” ඩිනà·à¶»à·Š",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "ඇල්බේනියà·à¶±à·” ලෙක්",
+ "symbol": "ALL"
+ },
+ "AFN": {
+ "name": "ඇෆ්ගනිථà·à¶± ඇෆ්ගනි",
+ "symbol": "AFN"
+ },
+ "ETB": {
+ "name": "ඉතියà·à¶´à·’යà·à¶±à·” බීර්",
+ "symbol": "ETB"
+ },
+ "INR": {
+ "name": "ඉන්දියà·à¶±à·” රුපියල්",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "ඉන්දුනීසියà·à¶±à·” රුපියà·",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "ඉරà·à¶š ඩිනà·à¶»à·Š",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ඉරà·à¶± රියà·à¶½à·Š",
+ "symbol": "IRR"
+ },
+ "EGP": {
+ "name": "ඊජිප්තු පවුම්",
+ "symbol": "EGP"
+ },
+ "ILS": {
+ "name": "ඊà·à·Šâ€à¶»à·à¶ºà¶½ නව à·à·™à¶šà¶½à·Š",
+ "symbol": "₪"
+ },
+ "UGX": {
+ "name": "උගන්ඩ෠à·à·’ලිං",
+ "symbol": "UGX"
+ },
+ "KPW": {
+ "name": "උතුරු කොරියà·à¶±à·” වොන්",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "උරුගුවේ පෙසà·",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "උස්බෙකිස්ථà·à¶± සම්",
+ "symbol": "UZS"
+ },
+ "AED": {
+ "name": "එක්සත් අරà·à¶¶à·’ එමිරේට්ස් ඩිරà·à¶¸à·Š",
+ "symbol": "AED"
+ },
+ "ERN": {
+ "name": "එරිත්â€à¶»à·’යà·à¶±à·” නà·à¶šà·Šà·†à·",
+ "symbol": "ERN"
+ },
+ "AUD": {
+ "name": "ඔස්ට්â€à¶»à·šà¶½à·’යà·à¶±à·” ඩොලර්",
+ "symbol": "A$"
+ },
+ "OMR": {
+ "name": "ඕමà·à¶±à·Š රියà·à¶½à·Š",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "කටà·à¶»à·Š රියà·à¶½à·Š",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "කසකස්ථà·à¶± ටෙන්ග",
+ "symbol": "KZT"
+ },
+ "KHR": {
+ "name": "කà·à¶¸à·Šà¶¶à·à¶¢ රියේල්",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "කà·à¶±à·šà¶©à·’යà·à¶±à·” ඩොලර්",
+ "symbol": "CA$"
+ },
+ "CUP": {
+ "name": "කියුබà·à¶±à·” පà·à·ƒà·",
+ "symbol": "CUP"
+ },
+ "KGS": {
+ "name": "කිරිගිස්ථà·à¶± සම්",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "කුවේට් ඩිනà·à¶»à·Š",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "කෙන්යà·à¶±à·” à·à·’ලිං",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "කේප් වර්ඩ් එස්කියුඩà·",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "කේමන් දූපත් ඩොලර්",
+ "symbol": "KYD"
+ },
+ "CDF": {
+ "name": "කොංග෠ෆ්â€à¶»à·‘න්ක්",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "කොමොරියà·à¶±à·” ෆ්â€à¶»à·‘න්ක්",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "කොලොම්බියà·à¶±à·” පෙසà·",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "කොස්ට රික෠කොලà·à¶±à·Š",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "ක්â€à¶»à·œà¶’ෂියà·à¶±à·” කූනà·",
+ "symbol": "HRK"
+ },
+ "GYD": {
+ "name": "ගයන෠ඩොලර්",
+ "symbol": "GYD"
+ },
+ "GMD": {
+ "name": "ගà·à¶¸à·Šà¶¶à·’යà·à¶±à·” දලà·à·ƒà·’",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "ගිනියà·à¶±à·” ෆ්රෑන්ක්",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "ගà·à¶­à¶¸à·à¶½à·à¶±à·” ක්වෙට්සල්",
+ "symbol": "GTQ"
+ },
+ "GHS": {
+ "name": "à¶à·à¶±à· සෙඩි",
+ "symbol": "GHS"
+ },
+ "CLP": {
+ "name": "චිලි පà·à·ƒà·",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "චීන යුආන්",
+ "symbol": "CNÂ¥"
+ },
+ "CZK": {
+ "name": "චෙක් රිපබ්ලික් කොරූනà·",
+ "symbol": "CZK"
+ },
+ "JPY": {
+ "name": "ජපන් යෙන්",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "ජà·à¶¸à·™à¶ºà·’කà·à¶±à·” ඩොලර්",
+ "symbol": "JMD"
+ },
+ "DJF": {
+ "name": "ජිබූති ෆ්â€à¶»à·‘න්ක්",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "ජිබ්â€à¶»à·à¶½à·Šà¶§à· පවුම්",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "ජà·à¶¢à·’යà·à¶±à·” ලà·à¶»à·“",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "ජà·à¶»à·Šà¶¯à·à¶±à·Š ඩිනà·à¶»à·Š",
+ "symbol": "JOD"
+ },
+ "TZS": {
+ "name": "ටà·à¶±à·Šà·ƒà·à¶±à·’යà·à¶±à·” à·à·’ලිං",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "ටියුනීසියà·à¶±à·” ඩිනà·à¶»à·Š",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "ටොංගà·à¶±à·” පà·à¶±à·Šà¶œà·",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "ට්â€à¶»à·’නිඩෑඩ් සහ ටොබෑග෠ඩොලර්",
+ "symbol": "TTD"
+ },
+ "DKK": {
+ "name": "ඩà·à¶±à·’à·‚à·Š ක්â€à¶»à·à¶±à·Š",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ඩොමිනිකà·à¶±à·” පෙසà·",
+ "symbol": "DOP"
+ },
+ "TMT": {
+ "name": "තක්මෙනිස්ථà·à¶± මනà·à¶§à·Š",
+ "symbol": "TMT"
+ },
+ "TJS": {
+ "name": "තජිකිස්ථà·à¶± සමොනි",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "තà·à¶ºà·’ බà·à¶­à·Š",
+ "symbol": "฿"
+ },
+ "TRY": {
+ "name": "තුර්කි ලිරà·",
+ "symbol": "TRY"
+ },
+ "ZAR": {
+ "name": "දකුණු අප්â€à¶»à·’කà·à¶±à·” රà·à¶±à·Šà¶©à·Š",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "දකුණු කොරියà·à¶±à·” වොන්",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "දකුණු සුඩà·à¶± පවුම්",
+ "symbol": "SSP"
+ },
+ "NGN": {
+ "name": "නයිජීරියà·à¶±à·” නයිරà·",
+ "symbol": "NGN"
+ },
+ "TWD": {
+ "name": "නව තà·à¶ºà·’à·€à·à¶± ඩොලර්",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "නවසීලන්ත ඩොලර්",
+ "symbol": "NZ$"
+ },
+ "XCD": {
+ "name": "නà·à¶œà·™à¶±à·„ිර කà·à¶»à·’බියà·à¶±à·” ඩොලර්",
+ "symbol": "EC$"
+ },
+ "NAD": {
+ "name": "නà·à¶¸à·“බියà·à¶±à·” ඩොලර්",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "නිකරගුවà·à¶±à·” කොඩà·à¶¶à·",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "නෙදර්ලන්ත ඇන්ටිලියන් ගිල්ඩර්",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "නේපà·à¶½ රුපියල්",
+ "symbol": "NPR"
+ },
+ "NOK": {
+ "name": "නොර්වීජියන් ක්â€à¶»à·à¶±à·Š",
+ "symbol": "NOK"
+ },
+ "PKR": {
+ "name": "පà·à¶šà·’ස්ථà·à¶± රුපියල්",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "පà·à¶±à¶¸à· බà·à¶½à·Šà¶¶à·",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "පà·à¶´à·”ව෠නිව් ගිනියà·à¶±à·” කිනà·",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "පà·à¶»à¶œà·”වේ ගුවරà·à¶±à·’",
+ "symbol": "PYG"
+ },
+ "PHP": {
+ "name": "පිලිපීන පෙසà·",
+ "symbol": "PHP"
+ },
+ "PEN": {
+ "name": "පේරු නියුව෠සොල්",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "පොලිෂ් ස්ලොටි",
+ "symbol": "PLN"
+ },
+ "XPF": {
+ "name": "ප්â€à¶»à¶‚෠පොලිනීසියà·à¶±à·” ෆ්â€à¶»à·‘න්ක්",
+ "symbol": "CFPF"
+ },
+ "BDT": {
+ "name": "බංග්ලà·à¶¯à·šà·à·Š ටකà·",
+ "symbol": "BDT"
+ },
+ "BMD": {
+ "name": "බර්මියුඩà·à¶±à·” ඩොලර්",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "බල්ගේරියà·à¶±à·” ලිව්",
+ "symbol": "BGN"
+ },
+ "BSD": {
+ "name": "බහමà·à¶±à·” ඩොලර්",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "බහරේන් ඩිනà·à¶»à·Š",
+ "symbol": "BHD"
+ },
+ "BBD": {
+ "name": "බà·à¶¶à·šà¶©à·’යà·à¶±à·” ඩොලර්",
+ "symbol": "BBD"
+ },
+ "BIF": {
+ "name": "බුරුන්දි ෆ්â€à¶»à·‘න්ක්",
+ "symbol": "BIF"
+ },
+ "MMK": {
+ "name": "බුරුම ක්යà·à¶§à·Š",
+ "symbol": "MMK"
+ },
+ "BND": {
+ "name": "බෘනà·à¶ºà·’ ඩොලර්",
+ "symbol": "BND"
+ },
+ "BYR": {
+ "name": "බෙලරූස් රූබල්",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "බෙලීස් ඩොලර්",
+ "symbol": "BZD"
+ },
+ "BWP": {
+ "name": "බොට්ස්වà·à¶±à· පුලà·",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "බොලිවියà·à¶±à·” බොලිවියà·à¶±à·",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "බොස්නිය෠හර්සගොවීන෠පරිවර්ත්â€à¶º මà·à¶»à·Šà¶šà·Š",
+ "symbol": "BAM"
+ },
+ "BRL": {
+ "name": "බ්â€à¶»à·ƒà·“ල රියල්",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "බ්â€à¶»à·’තà·à¶±à·Šâ€à¶º ස්ටර්ලින් පවුම්",
+ "symbol": "£"
+ },
+ "BTN": {
+ "name": "භූතà·à¶± නගුල්ට්â€à¶»à¶¸à·Š",
+ "symbol": "BTN"
+ },
+ "MGA": {
+ "name": "මලගà·à·ƒà·’ අරියà·à¶»à·’",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "මලà·à·€à·’ ක්වà·à¶ à·",
+ "symbol": "MWK"
+ },
+ "CUC": {
+ "name": "මà·à¶»à·”කළ à·„à·à¶šà·’ කියුබà·à¶±à·” පà·à·ƒà·",
+ "symbol": "CUC"
+ },
+ "MVR": {
+ "name": "මà·à¶½à¶¯à·’වයින් රුෆියà·",
+ "symbol": "MVR"
+ },
+ "MOP": {
+ "name": "මà·à¶šà¶±à·“ස් පටකà·",
+ "symbol": "MOP"
+ },
+ "MYR": {
+ "name": "මà·à¶½à·šà·ƒà·’යà·à¶±à·” රින්ගිට්",
+ "symbol": "MYR"
+ },
+ "MKD": {
+ "name": "මà·à·ƒà¶©à·à¶±à·’යà·à¶±à·” ඩිනà·à¶»à·Š",
+ "symbol": "MKD"
+ },
+ "MUR": {
+ "name": "මුරිසියà·à¶±à·” රුපියල්",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "මුරුසි ඔයිගුයියà·",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "මෙක්සිකà·à¶±à·” ඩොලර්",
+ "symbol": "MX$"
+ },
+ "MNT": {
+ "name": "මොන්ගà·à¶½à·’යà·à¶±à·” ටග්â€à¶»à·’ක්",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "මොරොක්ක෠ඩිර්හà·à¶¸à·Š",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "මොසà·à¶¸à·Šà¶¶à·’කන් මෙටිකල්",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "මà·à¶½à·Šà¶©à·à·€à·à¶±à·” ලෙව්",
+ "symbol": "MDL"
+ },
+ "UAH": {
+ "name": "යුක්රේන à·„à·Šâ€à¶»à·’ව්නියà·",
+ "symbol": "UAH"
+ },
+ "EUR": {
+ "name": "යුරà·",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "යේමන රියà·à¶½à·Š",
+ "symbol": "YER"
+ },
+ "RWF": {
+ "name": "රුවන්ඩ෠ෆ්â€à¶»à·‘න්ක්",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "රුසියන් රූබල්",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "රොමේනියà·à¶±à·” ලෙව්",
+ "symbol": "RON"
+ },
+ "LRD": {
+ "name": "ලයිබේරියà·à¶±à·” ඩොලර්",
+ "symbol": "LRD"
+ },
+ "LAK": {
+ "name": "ලà·à¶•à·ƒà·Š කිප්",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "ලිතුවේනියà·à¶±à·”",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "ලිබියà·à¶±à·” ඩිනà·à¶»à·Š",
+ "symbol": "LYD"
+ },
+ "LBP": {
+ "name": "ලෙබනන පවුම්",
+ "symbol": "LBP"
+ },
+ "VUV": {
+ "name": "වනුවà·à¶§à·” à·€à·à¶§à·”",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "වියට්නà·à¶¸ ඩොන්",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "වෙනිසියුලà·à¶±à·” බොලිවර්",
+ "symbol": "VEF"
+ },
+ "SHP": {
+ "name": "à·à·à¶±à·Šà¶­ හෙලේන෠පවුම්",
+ "symbol": "SHP"
+ },
+ "LKR": {
+ "name": "à·à·Šâ€à¶»à·“ ලංක෠රුපියල",
+ "symbol": "රු."
+ },
+ "RSD": {
+ "name": "සර්බියà·à¶±à·” ඩිනà·à¶»à·Š",
+ "symbol": "RSD"
+ },
+ "SAR": {
+ "name": "සවුදි රියà·à¶½à·Š",
+ "symbol": "SAR"
+ },
+ "STD": {
+ "name": "à·ƒà·à¶• තà·à¶¸à·Š සහ ප්â€à¶»à·’න්සිප් දොබ්â€à¶»à·",
+ "symbol": "STD"
+ },
+ "WST": {
+ "name": "à·ƒà·à¶¸à·à·€à· ටà·à¶½à·",
+ "symbol": "WST"
+ },
+ "ZMW": {
+ "name": "à·ƒà·à¶¸à·Šà¶¶à·’යà·à¶±à·” ක්වà·à¶ à·",
+ "symbol": "ZMW"
+ },
+ "SGD": {
+ "name": "සිංගප්පූරු ඩොලර්",
+ "symbol": "SGD"
+ },
+ "SLL": {
+ "name": "සියර෠ලියොන් ලියොන්",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "සිරියà·à¶±à·” පවුම්",
+ "symbol": "SYP"
+ },
+ "XAF": {
+ "name": "සිෆ්එ ෆ්රෑන්ක් බිඊඑසි",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "සිෆ්එ ෆ්රෑන්ක් බිසීඊඑඔ",
+ "symbol": "සිෆ්එ"
+ },
+ "SCR": {
+ "name": "සීෂෙලියà·à¶±à·” රුපියල",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "සුඩà·à¶± පවුම්",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "සුරිනà·à¶¸à·Š ඩොලර්",
+ "symbol": "SRD"
+ },
+ "SBD": {
+ "name": "සොලමන් දූපත් ඩොලර්",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "à·ƒà·à¶¸à·à¶½à·’යà·à¶±à·” à·à·’ලිං",
+ "symbol": "SOS"
+ },
+ "SZL": {
+ "name": "ස්වà·à·ƒà·’ ලිලන්ජනි",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "ස්විස් ෆ්â€à¶»à·‘න්ක්",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "ස්වෙඩිෂ් ක්â€à¶»à·à¶±à·",
+ "symbol": "SEK"
+ },
+ "HUF": {
+ "name": "හංගේරියà·à¶±à·” ෆරින්ට්",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "හයිටි ගà·à¶»à·Šà¶©à·Š",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "හොංකොං ඩොලර්",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "හොන්ඩුරà·à¶±à·” ලෙම්පිරà·",
+ "symbol": "HNL"
+ },
+ "FJD": {
+ "name": "ෆිජියන් ඩොලර්",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "à·†à·à¶šà·Šà¶½à¶±à·Šà¶©à·Š දූපත් පවුම්",
+ "symbol": "FKP"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sk.json b/library/intl/resources/currency/sk.json
new file mode 100644
index 000000000..18ee29641
--- /dev/null
+++ b/library/intl/resources/currency/sk.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afganský afgání",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "albánsky lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "alžírsky dinár",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "americký dolár",
+ "symbol": "USD"
+ },
+ "AOA": {
+ "name": "angolská kwanza",
+ "symbol": "AOA"
+ },
+ "ANG": {
+ "name": "antilský gulden",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "argentínske peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "arménsky dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "arubský gulden",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "austrálsky dolár",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "azerbajdžanský manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "bahamský dolár",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "bahrajnský dinár",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladéšska taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "barbadoský dolár",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "belizský dolár",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "bermudský dolár",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "bhutánsky ngultrum",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "bieloruský rubeľ",
+ "symbol": "BYR"
+ },
+ "BOB": {
+ "name": "bolívijské boliviano",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "botswanská pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "brazílsky real",
+ "symbol": "BRL"
+ },
+ "GBP": {
+ "name": "britská libra",
+ "symbol": "GBP"
+ },
+ "BND": {
+ "name": "brunejský dolár",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "bulharský lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "burundský frank",
+ "symbol": "BIF"
+ },
+ "XPF": {
+ "name": "CFP frank",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "Äeská koruna",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "Äilské peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "Äínsky jüan",
+ "symbol": "CNY"
+ },
+ "DKK": {
+ "name": "dánska koruna",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "dominikánske peso",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "džibutský frank",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "egyptská libra",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "eritrejská nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "etiópsky birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandská libra",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "fidžijský dolár",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "filipínske peso",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "gambijské dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ghanské cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "gibraltárska libra",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "gruzínske lari",
+ "symbol": "GEL"
+ },
+ "GTQ": {
+ "name": "guatemalský quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "guinejský frank",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "guyanský dolár",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "haitské gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "honduraská lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "hongkonský dolár",
+ "symbol": "HKD"
+ },
+ "HRK": {
+ "name": "chorvátska kuna",
+ "symbol": "HRK"
+ },
+ "INR": {
+ "name": "indická rupia",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "indonézska rupia",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "iracký dinár",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "iránsky rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "islandská koruna",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "izraelský šekel",
+ "symbol": "NIS"
+ },
+ "JMD": {
+ "name": "jamajský dolár",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "japonský jen",
+ "symbol": "JPY"
+ },
+ "YER": {
+ "name": "jemenský rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "jordánsky dinár",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "juhoafrický rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "juhokórejský won",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "juhosudánska libra",
+ "symbol": "SSP"
+ },
+ "KYD": {
+ "name": "kajmanský dolár",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "kambodžský riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadský dolár",
+ "symbol": "CAD"
+ },
+ "CVE": {
+ "name": "kapverdské escudo",
+ "symbol": "CVE"
+ },
+ "QAR": {
+ "name": "katarský rial",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "kazašské tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "kenský šiling",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "kirgizský som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "kolumbijské peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "komorský frank",
+ "symbol": "KMF"
+ },
+ "BAM": {
+ "name": "konvertibilná marka",
+ "symbol": "BAM"
+ },
+ "CDF": {
+ "name": "konžský frank",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "kostarický colón",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "kubánske konvertibilné peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "kubánske peso",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuvajtský dinár",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "laoský kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesothský loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "libanonská libra",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "libérijský dolár",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "líbyjský dinár",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "litovský litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "macajská pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "macedónsky denár",
+ "symbol": "MKD"
+ },
+ "HUF": {
+ "name": "maÄarský forint",
+ "symbol": "HUF"
+ },
+ "MYR": {
+ "name": "malajzijský ringgit",
+ "symbol": "MYR"
+ },
+ "MWK": {
+ "name": "malawijská kwacha",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "maldivská rupia",
+ "symbol": "MVR"
+ },
+ "MGA": {
+ "name": "malgašský ariary",
+ "symbol": "MGA"
+ },
+ "MAD": {
+ "name": "marocký dirham",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "maurícijská rupia",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "mauritánska ukija",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "mexické peso",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "mjanmarský kyat",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "moldavský lei",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongolský tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "mozambický metical",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "namíbijský dolár",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "nepálska rupia",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "nigérijská naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "nikaragujská córdoba",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "nórska koruna",
+ "symbol": "NOK"
+ },
+ "NZD": {
+ "name": "novozélandský dolár",
+ "symbol": "NZD"
+ },
+ "TWD": {
+ "name": "nový taiwanský dolár",
+ "symbol": "TWD"
+ },
+ "OMR": {
+ "name": "ománsky rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "pakistanská rupia",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamská balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "papuánska kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "paraguajské guaraní",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "peruánsky nový sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "poľský zlotý",
+ "symbol": "PLN"
+ },
+ "RON": {
+ "name": "rumunský lei",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "ruský rubeľ",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "rwandský frank",
+ "symbol": "RWF"
+ },
+ "AED": {
+ "name": "SAE dirham",
+ "symbol": "AED"
+ },
+ "SVC": {
+ "name": "Salvádorský colón",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "samojská tala",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "saudskoarabský rial",
+ "symbol": "SAR"
+ },
+ "KPW": {
+ "name": "severokórejský won",
+ "symbol": "KPW"
+ },
+ "SCR": {
+ "name": "seychelská rupia",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "sierraleonský leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "singapurský dolár",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "somálsky šiling",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "srbský dinár",
+ "symbol": "RSD"
+ },
+ "LKR": {
+ "name": "srílanská rupia",
+ "symbol": "LKR"
+ },
+ "XAF": {
+ "name": "stredoafrický frank",
+ "symbol": "FCFA"
+ },
+ "SDG": {
+ "name": "sudánska libra",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "surinamský dolár",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "svazijské lilangeni",
+ "symbol": "SZL"
+ },
+ "SHP": {
+ "name": "svätohelenská libra",
+ "symbol": "SHP"
+ },
+ "STD": {
+ "name": "svätotomášska dobra",
+ "symbol": "STD"
+ },
+ "SYP": {
+ "name": "sýrska libra",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "šalamúnsky dolár",
+ "symbol": "SBD"
+ },
+ "CHF": {
+ "name": "Å¡vajÄiarsky frank",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "švédska koruna",
+ "symbol": "SEK"
+ },
+ "TJS": {
+ "name": "tadžické somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "tanzánsky šiling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "thajský baht",
+ "symbol": "THB"
+ },
+ "TOP": {
+ "name": "tongská paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "trinidadsko-tobažský dolár",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "tuniský dinár",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "turecká líra",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "turkménsky manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "ugandský šiling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukrajinská hrivna",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "uruguajské peso",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "uzbecký sum",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatské vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelský bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "vietnamský dong",
+ "symbol": "VND"
+ },
+ "XCD": {
+ "name": "východokaribský dolár",
+ "symbol": "EC$"
+ },
+ "ZMW": {
+ "name": "zambijská kwacha",
+ "symbol": "ZMW"
+ },
+ "XOF": {
+ "name": "západoafrický frank",
+ "symbol": "CFA"
+ },
+ "ZWL": {
+ "name": "Zimbabwiansky dolár (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sl.json b/library/intl/resources/currency/sl.json
new file mode 100644
index 000000000..3da025916
--- /dev/null
+++ b/library/intl/resources/currency/sl.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afgani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "albanski lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "alžirski dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "ameriški dolar",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "angolska kvanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "argentinski peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "armenski dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "arubski florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "avstralski dolar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "azerbajdžanski manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "bahamski dolar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "bahranski dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladeška taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "barbadoški dolar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "belizejski dolar",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "beloruski rubelj",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "bermudski dolar",
+ "symbol": "BMD"
+ },
+ "BWP": {
+ "name": "bocvanska pula",
+ "symbol": "BWP"
+ },
+ "BGN": {
+ "name": "bolgarski lev",
+ "symbol": "BGN"
+ },
+ "BOB": {
+ "name": "bolivijski boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "bosansko-hercegovska konvertibilna marka",
+ "symbol": "BAM"
+ },
+ "BRL": {
+ "name": "brazilski real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "britanski funt",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "brunejski dolar",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "burundski frank",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "butanski ngultrum",
+ "symbol": "BTN"
+ },
+ "XOF": {
+ "name": "CFA frank BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA frank BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP frank",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "ÄeÅ¡ka krona",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "Äilski peso",
+ "symbol": "CLP"
+ },
+ "DKK": {
+ "name": "danska krona",
+ "symbol": "DKK"
+ },
+ "AED": {
+ "name": "dirham Združenih arabskih emiratov",
+ "symbol": "AED"
+ },
+ "TTD": {
+ "name": "dolar Trinidada in Tobaga",
+ "symbol": "TTD"
+ },
+ "DOP": {
+ "name": "dominikanski peso",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "džibutski frank",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "egiptovski funt",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "eritrejska nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "etiopski bir",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "evro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "falklandski funt",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "fidžijski dolar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "filipinski peso",
+ "symbol": "PHP"
+ },
+ "SHP": {
+ "name": "funt Sv. Helene",
+ "symbol": "SHP"
+ },
+ "GMD": {
+ "name": "gambijski dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ganski cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "gibraltarski funt",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "gruzijski lari",
+ "symbol": "GEL"
+ },
+ "GYD": {
+ "name": "gvajanski dolar",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "gvatemalski kecal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "gvinejski frank",
+ "symbol": "GNF"
+ },
+ "HTG": {
+ "name": "haitski gurd",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "honduraška lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "hongkonški dolar",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "hrvaška kuna",
+ "symbol": "HRK"
+ },
+ "INR": {
+ "name": "indijska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "indonezijska rupija",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "iranski rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "iraški dinar",
+ "symbol": "IQD"
+ },
+ "ISK": {
+ "name": "islandska krona",
+ "symbol": "ISK"
+ },
+ "ILS": {
+ "name": "izraelski Å¡ekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "jamajški dolar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "japonski jen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "jemenski rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "jordanski dinar",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "južnoafriški rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "južnokorejski von",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "južnosudanski funt",
+ "symbol": "SSP"
+ },
+ "KYD": {
+ "name": "kajmanski dolar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "kamboški riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadski dolar",
+ "symbol": "CAD"
+ },
+ "QAR": {
+ "name": "katarski rial",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "kazahstanski tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "kenijski Å¡iling",
+ "symbol": "KES"
+ },
+ "PGK": {
+ "name": "kina Papue Nove Gvineje",
+ "symbol": "PGK"
+ },
+ "KGS": {
+ "name": "kirgiški som",
+ "symbol": "KGS"
+ },
+ "CNY": {
+ "name": "kitajski juan renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "kolumbijski peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "komorski frank",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "kongoški frank",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "kostariški kolon",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "kubanski konvertibilni peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "kubanski peso",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "kuvajtski dinar",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "laoški kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "lesoški loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "libanonski funt",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "liberijski dolar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libijski dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "litovski litas",
+ "symbol": "LTL"
+ },
+ "HUF": {
+ "name": "madžarski forint",
+ "symbol": "HUF"
+ },
+ "MOP": {
+ "name": "makavska pataka",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "makedonski denar",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "malavijska kvaÄa",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "maldivska rufija",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "malezijski ringit",
+ "symbol": "MYR"
+ },
+ "MGA": {
+ "name": "malgaški ariarij",
+ "symbol": "MGA"
+ },
+ "MAD": {
+ "name": "maroški dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "mavretanska uguija",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "mavricijska rupija",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "mehiški peso",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "mjanmarski kjat",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "moldavijski leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongolski tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "mozambiški metikal",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "namibijski dolar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "nepalska rupija",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "nigerijska naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "nikaraška zlata kordova",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "nizozemsko-antilski gulden",
+ "symbol": "ANG"
+ },
+ "NOK": {
+ "name": "norveška krona",
+ "symbol": "NOK"
+ },
+ "TRY": {
+ "name": "nova turška lira",
+ "symbol": "TRY"
+ },
+ "TWD": {
+ "name": "novi tajvanski dolar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "novozelandski dolar",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "omanski rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "pakistanska rupija",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamska balboa",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "paragvajski gvarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "perujski novi sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "poljski novi zlot",
+ "symbol": "PLN"
+ },
+ "RON": {
+ "name": "romunski leu",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "ruandski frank",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "ruski rubelj",
+ "symbol": "RUB"
+ },
+ "SVC": {
+ "name": "salvadorski kolon",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "samoanska tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "saotomejska dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "saudski rial",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "sejšelska rupija",
+ "symbol": "SCR"
+ },
+ "KPW": {
+ "name": "severnokorejski von",
+ "symbol": "KPW"
+ },
+ "SLL": {
+ "name": "sieraleonski leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "singapurski dolar",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "sirijski funt",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "solomonski dolar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "somalski Å¡iling",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "srbski dinar",
+ "symbol": "RSD"
+ },
+ "SDG": {
+ "name": "sudanski funt",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "surinamski dolar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "svazijski lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "šrilanška rupija",
+ "symbol": "LKR"
+ },
+ "SEK": {
+ "name": "Å¡vedska krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "Å¡vicarski frank",
+ "symbol": "CHF"
+ },
+ "TJS": {
+ "name": "tadžikistanski somoni",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "tajski baht",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "tanzanijski Å¡iling",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "tongovska paanga",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "tunizijski dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "turkmenistanski novi manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "ugandski Å¡iling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukrajinska grivna",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "urugvajski peso",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "uzbeški sum",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatujski vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelski bolivar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "vientnamski dong",
+ "symbol": "â‚«"
+ },
+ "XCD": {
+ "name": "vzhodnokaribski dolar",
+ "symbol": "EC$"
+ },
+ "ZMW": {
+ "name": "zambijska kvaÄa",
+ "symbol": "ZMW"
+ },
+ "CVE": {
+ "name": "zelenortski eskudo",
+ "symbol": "CVE"
+ },
+ "ZWL": {
+ "name": "zimbabvejski dolar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sn.json b/library/intl/resources/currency/sn.json
new file mode 100644
index 000000000..56f9d154f
--- /dev/null
+++ b/library/intl/resources/currency/sn.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ye Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dhinari re Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dhinari re Bhahareni",
+ "symbol": "BHD"
+ },
+ "CVE": {
+ "name": "Dhora re Escudo",
+ "symbol": "CVE"
+ },
+ "ETB": {
+ "name": "Dhora re Etiopia",
+ "symbol": "ETB"
+ },
+ "LYD": {
+ "name": "Dinari re Libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinari re Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinari re Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Diramu re United Arab Emirates",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ye Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra re Sao Tome ne Principe",
+ "symbol": "STD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "USD": {
+ "name": "Dora re Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dora re Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dora re Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dora re Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dora re Namibia",
+ "symbol": "NAD"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "XOF": {
+ "name": "Furenki CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Furenki CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Furenki re Bhurundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Furenki re Jibhuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Furenki re Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Furenki re Kongo",
+ "symbol": "CDF"
+ },
+ "MGA": {
+ "name": "Furenki re Malagasi",
+ "symbol": "MGA"
+ },
+ "RWF": {
+ "name": "Furenki re Ruwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Furenki re Swisi",
+ "symbol": "CHF"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ye Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ye Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ye Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ye Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ye Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa re Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Paundi re Ijipita",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Paundi re Senti Helena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Paundi ye Bhiriteni",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pura re Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyali re Saudi",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupe re India",
+ "symbol": "₹"
+ },
+ "SCR": {
+ "name": "Rupi re Seyisheri",
+ "symbol": "SCR"
+ },
+ "MUR": {
+ "name": "Rupi ye Morishasi",
+ "symbol": "MUR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Shiringi re Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shiringi re Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shiringi re Uganda",
+ "symbol": "UGX"
+ },
+ "KES": {
+ "name": "Shiringi ye Kenya",
+ "symbol": "KES"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ye Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yeni ye Japani",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ye China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/so.json b/library/intl/resources/currency/so.json
new file mode 100644
index 000000000..95d95398c
--- /dev/null
+++ b/library/intl/resources/currency/so.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "ETB": {
+ "name": "Birta Itoobbiya",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "USD": {
+ "name": "Doollar maraykan",
+ "symbol": "US$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "DJF": {
+ "name": "Faran Jabbuuti",
+ "symbol": "DJF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "INR",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "SAR": {
+ "name": "Riyaalka Sacuudiga",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Shilin soomaali",
+ "symbol": "S"
+ },
+ "TZS": {
+ "name": "Shilin Tansaani",
+ "symbol": "TZS"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "Yuuroo",
+ "symbol": "€"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sq.json b/library/intl/resources/currency/sq.json
new file mode 100644
index 000000000..89f842436
--- /dev/null
+++ b/library/intl/resources/currency/sq.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afgani afgan",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Arieri malagez",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "Balboa panameze",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "Bata tajlandeze",
+ "symbol": "฿"
+ },
+ "ETB": {
+ "name": "Bira etiopiane",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolivari venezuelian",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviani i Bolivisë",
+ "symbol": "BOB"
+ },
+ "GMD": {
+ "name": "Dalasi gambian",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "Denari maqedonas",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "Dinari algjerian",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari i Bahreinit",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinari irakian",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinari jordanez",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinari kuvajtian",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinari libian",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "Dinari serb",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinari tunizian",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirhami i Emirateve të Bashkuara Arabe",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirhami maroken",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "Dobra e Sao Tomes dhe Prinsipes",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Dollari amerikan",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dollari australian",
+ "symbol": "A$"
+ },
+ "BBD": {
+ "name": "Dollari barbadian",
+ "symbol": "BBD"
+ },
+ "BMD": {
+ "name": "Dollari e Bermudeve",
+ "symbol": "BMD"
+ },
+ "GYD": {
+ "name": "Dollari guajanez",
+ "symbol": "GYD"
+ },
+ "BSD": {
+ "name": "Dollari i Bahamasit",
+ "symbol": "BSD"
+ },
+ "BND": {
+ "name": "Dollari i Bruneit",
+ "symbol": "BND"
+ },
+ "FJD": {
+ "name": "Dollari i Fixhit",
+ "symbol": "FJD"
+ },
+ "HKD": {
+ "name": "Dollari i Hong Kongut",
+ "symbol": "HK$"
+ },
+ "BZD": {
+ "name": "Dollari i Ishujve Belize",
+ "symbol": "BZD"
+ },
+ "KYD": {
+ "name": "Dollari i Ishujve Kajman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dollari i Ishujve Solomon",
+ "symbol": "SBD"
+ },
+ "XCD": {
+ "name": "Dollari i Karaibeve Lindore",
+ "symbol": "EC$"
+ },
+ "NAD": {
+ "name": "Dollari i Namibisë",
+ "symbol": "NAD"
+ },
+ "SGD": {
+ "name": "Dollari i Singaporit",
+ "symbol": "SGD"
+ },
+ "TTD": {
+ "name": "Dollari i Trinidadit dhe Tobagos",
+ "symbol": "TTD"
+ },
+ "NZD": {
+ "name": "Dollari i Zelandës së Re",
+ "symbol": "NZ$"
+ },
+ "CAD": {
+ "name": "Dollari kanadez",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dollari liberian",
+ "symbol": "LRD"
+ },
+ "SRD": {
+ "name": "Dollari surinamez",
+ "symbol": "SRD"
+ },
+ "TWD": {
+ "name": "Dollari tajvanez",
+ "symbol": "NT$"
+ },
+ "JMD": {
+ "name": "Dollari xhamajkan",
+ "symbol": "JMD"
+ },
+ "VND": {
+ "name": "Donga vietnameze",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dramia armene",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "Eskudoja e Kepit të Gjelbër",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euroja",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florini aruban",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forinta hungareze",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franga burundiane",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franga e Bregut të Fildishtë",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "Franga franceze e Polinezisë",
+ "symbol": "CFPF"
+ },
+ "GNF": {
+ "name": "Franga guinease",
+ "symbol": "GNF"
+ },
+ "XAF": {
+ "name": "Franga kamerunase",
+ "symbol": "FCFA"
+ },
+ "KMF": {
+ "name": "Franga komore",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franga kongole",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Franga ruandeze",
+ "symbol": "RWF"
+ },
+ "DJF": {
+ "name": "Franga xhibutiane",
+ "symbol": "DJF"
+ },
+ "CHF": {
+ "name": "Franga zvicerane",
+ "symbol": "CHF"
+ },
+ "ANG": {
+ "name": "Gilderi antilian holandez",
+ "symbol": "ANG"
+ },
+ "PYG": {
+ "name": "Guarani paraguaian",
+ "symbol": "PYG"
+ },
+ "HTG": {
+ "name": "Gurdi haitian",
+ "symbol": "HTG"
+ },
+ "JPY": {
+ "name": "Jeni japonez",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "Juani kinez",
+ "symbol": "CNÂ¥"
+ },
+ "MMK": {
+ "name": "Kiata e Mianmarit",
+ "symbol": "MMK"
+ },
+ "PGK": {
+ "name": "Kina e Papua-Guineas së Re",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kipa e Laosit",
+ "symbol": "LAK"
+ },
+ "CRC": {
+ "name": "Koloni kostarikan",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Kordoba nikaraguane",
+ "symbol": "NIO"
+ },
+ "DKK": {
+ "name": "Korona daneze",
+ "symbol": "DKK"
+ },
+ "ISK": {
+ "name": "Korona islandeze",
+ "symbol": "ISK"
+ },
+ "NOK": {
+ "name": "Korona norvegjeze",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "Korona suedeze",
+ "symbol": "SEK"
+ },
+ "CZK": {
+ "name": "Koruna e Republikës Çeke",
+ "symbol": "CZK"
+ },
+ "ZMW": {
+ "name": "Kuaça e Zambikut",
+ "symbol": "ZMW"
+ },
+ "MWK": {
+ "name": "Kuaça malaviane",
+ "symbol": "MWK"
+ },
+ "AOA": {
+ "name": "Kuanza e Angolës",
+ "symbol": "AOA"
+ },
+ "GTQ": {
+ "name": "Kuecali i Guatemalës",
+ "symbol": "GTQ"
+ },
+ "HRK": {
+ "name": "Kuna kroate",
+ "symbol": "HRK"
+ },
+ "GEL": {
+ "name": "Laria gjeorgjiane",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Leku shqiptar",
+ "symbol": "Lekë"
+ },
+ "HNL": {
+ "name": "Lempira hondurase",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leoni i Sierra Leones",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu moldav",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu rumun",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Leva bullgare",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "Lilangeni i Svazilandit",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira turke",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Lita lituaneze",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manata e Azerbajxhanit",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manata turkmene",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Marka e Bosnjë-Hercegovinës [e shkëmbyeshme]",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metikali i Mozambikut",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira nigeriane",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa e Eritresë",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrumi butanez",
+ "symbol": "BTN"
+ },
+ "TOP": {
+ "name": "Panga tongane",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataka e Makaos",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Pezoja argjentinase",
+ "symbol": "ARS"
+ },
+ "DOP": {
+ "name": "Pezoja dominikane",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "Pezoja filipinase",
+ "symbol": "PHP"
+ },
+ "CLP": {
+ "name": "Pezoja kiliane",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Pezoja kolumbiane",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Pezoja kubane",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Pezoja kubane e shkëmbyeshme",
+ "symbol": "CUC"
+ },
+ "MXN": {
+ "name": "Pezoja meksikane",
+ "symbol": "MX$"
+ },
+ "UYU": {
+ "name": "Pezoja uruguaiane",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula botsvane",
+ "symbol": "BWP"
+ },
+ "ZAR": {
+ "name": "Randa afrikano-jugore",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Reali brazilian",
+ "symbol": "R$"
+ },
+ "YER": {
+ "name": "Riali i Jemenit",
+ "symbol": "YER"
+ },
+ "QAR": {
+ "name": "Riali i Katarit",
+ "symbol": "QAR"
+ },
+ "OMR": {
+ "name": "Riali i Omanit",
+ "symbol": "OMR"
+ },
+ "IRR": {
+ "name": "Riali iranian",
+ "symbol": "IRR"
+ },
+ "KHR": {
+ "name": "Riali kamboxhian",
+ "symbol": "KHR"
+ },
+ "SAR": {
+ "name": "Riali saudit",
+ "symbol": "SAR"
+ },
+ "MYR": {
+ "name": "Ringiti malajzian",
+ "symbol": "MYR"
+ },
+ "UAH": {
+ "name": "Rivnia ukrainase",
+ "symbol": "UAH"
+ },
+ "BYR": {
+ "name": "Rubla bjelloruse",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rubla ruse",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rufiu i Maldivit",
+ "symbol": "MVR"
+ },
+ "SCR": {
+ "name": "Rupia e Ishujve Sejçelë",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "Rupia e Sri Lankës",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "Rupia indiane",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Rupia indoneziane",
+ "symbol": "IDR"
+ },
+ "MUR": {
+ "name": "Rupia mauritiane",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia nepaleze",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia pakistaneze",
+ "symbol": "PKR"
+ },
+ "GHS": {
+ "name": "Sejda ganeze",
+ "symbol": "GHS"
+ },
+ "PEN": {
+ "name": "Sola nuevo-peruane",
+ "symbol": "PEN"
+ },
+ "KGS": {
+ "name": "Soma kirgize",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Soma uzbeke",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somona taxhike",
+ "symbol": "TJS"
+ },
+ "GBP": {
+ "name": "Sterlina britanike",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "Sterlina e Gjibraltarit",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "Sterlina libaneze",
+ "symbol": "LBP"
+ },
+ "SYP": {
+ "name": "Sterlina siriane",
+ "symbol": "SYP"
+ },
+ "FKP": {
+ "name": "Stërlina e Ishujve Folkland",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "Stërlina e Ishullit të Shën Helenës",
+ "symbol": "SHP"
+ },
+ "SSP": {
+ "name": "Stërlina e Sudanit të Jugut",
+ "symbol": "SSP"
+ },
+ "EGP": {
+ "name": "Stërlina egjiptiane",
+ "symbol": "EGP"
+ },
+ "SDG": {
+ "name": "Stërlina sudaneze",
+ "symbol": "SDG"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ILS": {
+ "name": "Shekeli izrealit",
+ "symbol": "₪"
+ },
+ "TZS": {
+ "name": "Shilinga e Tanzanisë",
+ "symbol": "TZS"
+ },
+ "KES": {
+ "name": "Shilinga keniane",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Shilinga somaleze",
+ "symbol": "SOS"
+ },
+ "UGX": {
+ "name": "Shilinga ugandeze",
+ "symbol": "UGX"
+ },
+ "BDT": {
+ "name": "Taka e Bangladeshit",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala samoane",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenga kazake",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrika mongole",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "Ugija mauritane",
+ "symbol": "MRO"
+ },
+ "KRW": {
+ "name": "Uoni koreano-jugor",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "Uoni koreano-verior",
+ "symbol": "KPW"
+ },
+ "VUV": {
+ "name": "Vatuja e Vanuatusë",
+ "symbol": "VUV"
+ },
+ "PLN": {
+ "name": "Zllota polake",
+ "symbol": "PLN"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sr-Cyrl-BA.json b/library/intl/resources/currency/sr-Cyrl-BA.json
new file mode 100644
index 000000000..1bc85c78b
--- /dev/null
+++ b/library/intl/resources/currency/sr-Cyrl-BA.json
@@ -0,0 +1,634 @@
+{
+ "XAF": {
+ "name": "CFA франак BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP франак",
+ "symbol": "CFPF"
+ },
+ "ERN": {
+ "name": "EритрејÑка накфa",
+ "symbol": "ERN"
+ },
+ "KHR": {
+ "name": "KамбоџанÑки ријел",
+ "symbol": "KHR"
+ },
+ "TJS": {
+ "name": "TаџихиÑтанÑки Ñомон",
+ "symbol": "TJS"
+ },
+ "AFN": {
+ "name": "ÐвганиÑтанÑки авгани",
+ "symbol": "AFN"
+ },
+ "AZN": {
+ "name": "ÐзербејџанÑки манат",
+ "symbol": "AZN"
+ },
+ "ALL": {
+ "name": "ÐлбанÑки лек",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "ÐлжирÑки динар",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "Ðмерички долар",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "ÐнголÑка кванза",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ÐргентинÑки пезоÑ",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "ÐрубанÑки флорин",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "ÐуÑтралијÑки долар",
+ "symbol": "AUD"
+ },
+ "BDT": {
+ "name": "Бангладешка така",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Барбадошки долар",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "БахамÑки долар",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "БахреинÑки динар",
+ "symbol": "BHD"
+ },
+ "BZD": {
+ "name": "БелиÑки долар",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "БелоруÑка рубља",
+ "symbol": "[BYR]"
+ },
+ "BMD": {
+ "name": "БермудÑки долар",
+ "symbol": "BMD"
+ },
+ "BOB": {
+ "name": "БоливијÑки Боливиано",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "БоцванÑка пула",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "БразилÑки реал",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "БританÑка фунта Ñтерлинга",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "БрунејÑки долар",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "БугарÑки лев",
+ "symbol": "[BGN]"
+ },
+ "BIF": {
+ "name": "БурундÑки франак",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "БутанÑки нгултрум",
+ "symbol": "BTN"
+ },
+ "VUV": {
+ "name": "ВануатÑки вату",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "ВенецуеланÑки боливар",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "ВијетнамÑки донг",
+ "symbol": "VND"
+ },
+ "GMD": {
+ "name": "ГамбијÑки далаÑи",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ГанÑки Ñеди",
+ "symbol": "GHS"
+ },
+ "GYD": {
+ "name": "ГвајанÑки долар",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "ГватемалÑки кецал",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "ГвинејÑки франак",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "ГибралтарÑка фунта",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "ГрузијÑки лари",
+ "symbol": "GEL"
+ },
+ "DKK": {
+ "name": "ДанÑка круна",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ДоминиканÑки пезоÑ",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "ЕгипатÑка фунта",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "ЕтиопијÑки бир",
+ "symbol": "ETB"
+ },
+ "ZMW": {
+ "name": "ЗамбијÑка квача",
+ "symbol": "ZMW"
+ },
+ "CVE": {
+ "name": "ЗеленортÑки еÑкудо",
+ "symbol": "CVE"
+ },
+ "ZWL": {
+ "name": "ЗимбабвеанÑки долар (2009)",
+ "symbol": "ZWL"
+ },
+ "ILS": {
+ "name": "ИзраелÑки нови шекел",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "ИндијÑка рупија",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "ИндонежанÑка рупија",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "ИранÑки риjал",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Ирачки динар",
+ "symbol": "IQD"
+ },
+ "ISK": {
+ "name": "ИÑландÑка круна",
+ "symbol": "ISK"
+ },
+ "XCD": {
+ "name": "ИÑточнокарипÑки долар",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "ЈамајчанÑки долар",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "ЈапанÑки јен",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "ЈеменÑки риjал",
+ "symbol": "YER"
+ },
+ "AMD": {
+ "name": "ЈерменÑки драм",
+ "symbol": "AMD"
+ },
+ "JOD": {
+ "name": "ЈорданÑки динар",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "Јужно-афрички ранд",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "ЈужнокорејÑки Вон",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "ЈужноÑуданÑка фунта",
+ "symbol": "SSP"
+ },
+ "KZT": {
+ "name": "КазахÑтанÑки тенге",
+ "symbol": "KZT"
+ },
+ "KYD": {
+ "name": "КајманÑки долар",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "КанадÑки долар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "КатарÑки ријал",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "КенијÑки шилинг",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "КинеÑки јуан",
+ "symbol": "CNÂ¥"
+ },
+ "KGS": {
+ "name": "КиргиÑтанÑки Ñом",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "КолумбијÑки пезоÑ",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "КоморÑки франак",
+ "symbol": "KMF"
+ },
+ "BAM": {
+ "name": "Конвертибилна Марка",
+ "symbol": "КМ"
+ },
+ "CDF": {
+ "name": "КонгоанÑки франак",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "КоÑтариканÑки колон",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "КубанÑки конвертибилни пезоÑ",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "КубанÑки пезоÑ",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "КувајтÑки динар",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Лаошки кип",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "ЛеÑото лоти",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "ЛибанÑка фунта",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "ЛиберијÑки долар",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "ЛибијÑки динар",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "ЛитванÑки литаÑ",
+ "symbol": "LTL"
+ },
+ "HUF": {
+ "name": "МађарÑка форинта",
+ "symbol": "HUF"
+ },
+ "MOP": {
+ "name": "Маканишка патака",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "МакедонÑки денар",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "МалавијÑка квача",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "МалагаÑијÑки ариари",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "МалдивÑка руфија",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "МалезијÑки ринггит",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "МароканÑки дирхам",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "МауританијÑка oгија",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "МаурицијÑка рупија",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "МекÑички пезоÑ",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "МјанмарÑки кјат",
+ "symbol": "MMK"
+ },
+ "MZN": {
+ "name": "МозамбијÑки метикал",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "МолдавÑки леј",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "МонголÑки тугрик",
+ "symbol": "MNT"
+ },
+ "NAD": {
+ "name": "ÐамибијÑки долар",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "ÐепалÑкa рупиja",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ÐигеријÑка наира",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "ÐикарагванÑка златна кордоба",
+ "symbol": "NIO"
+ },
+ "TWD": {
+ "name": "Ðови тајванÑки долар",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ÐовозеландÑки долар",
+ "symbol": "NZD"
+ },
+ "NOK": {
+ "name": "Ðорвешка круна",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "ОманÑки ријал",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "ПакиÑтанÑкa рупиja",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "ПанамÑка балбоа",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "ПапуанÑка кина",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "ПарагвајÑки гварани",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "ПеруанÑки нуево Ñол",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "ПољÑки злот",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "РуандÑки франак",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "РумунÑки леј (1952–2006)",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "РуÑка рубља",
+ "symbol": "RUB"
+ },
+ "SVC": {
+ "name": "СалвадорÑки колон",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "СамоанÑка тала",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Сао Томе и Принципе добра",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "СаудијÑки ријал",
+ "symbol": "SAR"
+ },
+ "SHP": {
+ "name": "Св. јеленÑка фунта",
+ "symbol": "SHP"
+ },
+ "SZL": {
+ "name": "Свази лилангени",
+ "symbol": "SZL"
+ },
+ "KPW": {
+ "name": "СевернокорејÑки вон",
+ "symbol": "KPW"
+ },
+ "SCR": {
+ "name": "СејшелÑка рупија",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Сијера-леоншки леоне",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "СингапурÑки долар",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "СиријÑка фунта",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "СоломонÑки долар",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "СомалијÑки шилинг",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "СрпÑки динар",
+ "symbol": "RSD"
+ },
+ "SDG": {
+ "name": "СуданÑка фунта",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "СуринамÑки долар",
+ "symbol": "SRD"
+ },
+ "THB": {
+ "name": "ТајландÑки бат",
+ "symbol": "THB"
+ },
+ "TZS": {
+ "name": "ТанзанијÑки шилинг",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "Тонгоншка Панга",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Тринидад-тобагошки долар",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "ТуниÑки динар",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "ТуркмениÑтанÑки манат",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "ТурÑка лира",
+ "symbol": "TRY"
+ },
+ "AED": {
+ "name": "УÐЕ дирхам",
+ "symbol": "AED"
+ },
+ "UGX": {
+ "name": "УгандÑки шилинг",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "УзбекиÑтанÑки Ñом",
+ "symbol": "UZS"
+ },
+ "UAH": {
+ "name": "УкрајинÑка гривна",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "УругвајÑки пезоÑ",
+ "symbol": "UYU"
+ },
+ "PHP": {
+ "name": "ФилипинÑки пезоÑ",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "ФиџијÑки долар",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "ФокландÑка фунта",
+ "symbol": "FKP"
+ },
+ "HTG": {
+ "name": "ХаићанÑки гурд",
+ "symbol": "HTG"
+ },
+ "ANG": {
+ "name": "ХоландÑкоантилÑки гулден",
+ "symbol": "ANG"
+ },
+ "HKD": {
+ "name": "Хонгконшки долар",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "Хондурашка лемпира",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "ХрватÑка куна",
+ "symbol": "HRK"
+ },
+ "XOF": {
+ "name": "ЦФРфранак БЦЕÐО",
+ "symbol": "CFA"
+ },
+ "CZK": {
+ "name": "Чешка круна",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "ЧилеанÑки пезоÑ",
+ "symbol": "CLP"
+ },
+ "DJF": {
+ "name": "ÐибутанÑки франак",
+ "symbol": "DJF"
+ },
+ "CHF": {
+ "name": "ШвајцарÑки франак",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "ШведÑка круна",
+ "symbol": "SEK"
+ },
+ "LKR": {
+ "name": "ШриланканÑкa рупиja",
+ "symbol": "LKR"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sr-Latn-BA.json b/library/intl/resources/currency/sr-Latn-BA.json
new file mode 100644
index 000000000..fe30ad268
--- /dev/null
+++ b/library/intl/resources/currency/sr-Latn-BA.json
@@ -0,0 +1,634 @@
+{
+ "ALL": {
+ "name": "Albanski lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alžirski dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "AmeriÄki dolar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angolska kvanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentinski pezos",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "Arubanski florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australijski dolar",
+ "symbol": "AUD"
+ },
+ "AFN": {
+ "name": "Avganistanski avgani",
+ "symbol": "AFN"
+ },
+ "AZN": {
+ "name": "Azerbejdžanski manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamski dolar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahreinski dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeška taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadoški dolar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Beliski dolar",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "Beloruska rublja",
+ "symbol": "[BYR]"
+ },
+ "BMD": {
+ "name": "Bermudski dolar",
+ "symbol": "BMD"
+ },
+ "BWP": {
+ "name": "Bocvanska pula",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "Bolivijski Boliviano",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "Brazilski real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britanska funta sterlinga",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunejski dolar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bugarski lev",
+ "symbol": "[BGN]"
+ },
+ "BIF": {
+ "name": "Burundski franak",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "Butanski ngultrum",
+ "symbol": "BTN"
+ },
+ "XOF": {
+ "name": "CFA franak BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA franak BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franak",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "Češka kruna",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "ÄŒileanski pezos",
+ "symbol": "CLP"
+ },
+ "DKK": {
+ "name": "Danska kruna",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "Dominikanski pezos",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "Džibutanski franak",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "Egipatska funta",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrejska nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Etiopijski bir",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Evro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "Fidžijski dolar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filipinski pezos",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "Foklandska funta",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambijski dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Ganski sedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltarska funta",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "Gruzijski lari",
+ "symbol": "GEL"
+ },
+ "GYD": {
+ "name": "Gvajanski dolar",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "Gvatemalski kecal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Gvinejski franak",
+ "symbol": "GNF"
+ },
+ "HTG": {
+ "name": "Haićanski gurd",
+ "symbol": "HTG"
+ },
+ "ANG": {
+ "name": "Holandskoantilski gulden",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "Honduraška lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkonški dolar",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "Hrvatska kuna",
+ "symbol": "HRK"
+ },
+ "INR": {
+ "name": "Indijska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonežanska rupija",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "IraÄki dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iranski rijal",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Islandska kruna",
+ "symbol": "ISK"
+ },
+ "XCD": {
+ "name": "IstoÄnokaripski dolar",
+ "symbol": "EC$"
+ },
+ "ILS": {
+ "name": "Izraelski novi Å¡ekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "JamajÄanski dolar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanski jen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "Jemenski rijal",
+ "symbol": "YER"
+ },
+ "AMD": {
+ "name": "Jermenski dram",
+ "symbol": "AMD"
+ },
+ "JOD": {
+ "name": "Jordanski dinar",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "Južno-afriÄki rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Južnokorejski Von",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "Južnosudanska funta",
+ "symbol": "SSP"
+ },
+ "KYD": {
+ "name": "Kajmanski dolar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "Kambodžanski rijel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanadski dolar",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Katarski rijal",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "Kazahstanski tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenijski Å¡iling",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "Kineski juan",
+ "symbol": "CNÂ¥"
+ },
+ "KGS": {
+ "name": "Kirgistanski som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolumbijski pezos",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komorski franak",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongoanski franak",
+ "symbol": "CDF"
+ },
+ "BAM": {
+ "name": "Konvertibilna Marka",
+ "symbol": "KM"
+ },
+ "CRC": {
+ "name": "Kostarikanski kolon",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "Kubanski konvertibilni pezos",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Kubanski pezos",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "Kuvajtski dinar",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Laoški kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesoto loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "Libanska funta",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberijski dolar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libijski dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litvanski litas",
+ "symbol": "LTL"
+ },
+ "HUF": {
+ "name": "Mađarska forinta",
+ "symbol": "HUF"
+ },
+ "MOP": {
+ "name": "Makaniška pataka",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Makedonski denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasijski ariari",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malavijska kvaÄa",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Maldivska rufija",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "Malezijski ringgit",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "Marokanski dirham",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "Mauricijska rupija",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mauritanijska ogija",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "MeksiÄki pezos",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Mjanmarski kjat",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "Moldavski lej",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolski tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mozambijski metikal",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "Namibijski dolar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalska rupija",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "Nigerijska naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "Nikaragvanska zlatna kordoba",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Norveška kruna",
+ "symbol": "NOK"
+ },
+ "TWD": {
+ "name": "Novi tajvanski dolar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Novozelandski dolar",
+ "symbol": "NZD"
+ },
+ "OMR": {
+ "name": "Omanski rijal",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistanska rupija",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamska balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papuanska kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paragvajski gvarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruanski nuevo sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Poljski zlot",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "Ruandski franak",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Rumunski lej (1952–2006)",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Ruska rublja",
+ "symbol": "RUB"
+ },
+ "SVC": {
+ "name": "Salvadorski kolon",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoanska tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Sao Tome i Principe dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudijski rijal",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Sejšelska rupija",
+ "symbol": "SCR"
+ },
+ "KPW": {
+ "name": "Severnokorejski von",
+ "symbol": "KPW"
+ },
+ "SLL": {
+ "name": "Sijera-leonški leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapurski dolar",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "Sirijska funta",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "Solomonski dolar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somalijski Å¡iling",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "Srpski dinar",
+ "symbol": "RSD"
+ },
+ "SDG": {
+ "name": "Sudanska funta",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamski dolar",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "Sv. jelenska funta",
+ "symbol": "SHP"
+ },
+ "SZL": {
+ "name": "Svazi lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "Å rilankanska rupija",
+ "symbol": "LKR"
+ },
+ "CHF": {
+ "name": "Å vajcarski franak",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "Å vedska kruna",
+ "symbol": "SEK"
+ },
+ "TJS": {
+ "name": "Tadžihistanski somon",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "Tajlandski bat",
+ "symbol": "THB"
+ },
+ "TZS": {
+ "name": "Tanzanijski Å¡iling",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "Tongonška Panga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad-tobagoški dolar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tuniski dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "Turkmenistanski manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "Turska lira",
+ "symbol": "TRY"
+ },
+ "AED": {
+ "name": "UAE dirham",
+ "symbol": "AED"
+ },
+ "UGX": {
+ "name": "Ugandski Å¡iling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrajinska grivna",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "Urugvajski pezos",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "Uzbekistanski som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatski vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venecuelanski bolivar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vijetnamski dong",
+ "symbol": "VND"
+ },
+ "ZMW": {
+ "name": "Zambijska kvaÄa",
+ "symbol": "ZMW"
+ },
+ "CVE": {
+ "name": "Zelenortski eskudo",
+ "symbol": "CVE"
+ },
+ "ZWL": {
+ "name": "Zimbabveanski dolar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sr-Latn.json b/library/intl/resources/currency/sr-Latn.json
new file mode 100644
index 000000000..b62497a07
--- /dev/null
+++ b/library/intl/resources/currency/sr-Latn.json
@@ -0,0 +1,634 @@
+{
+ "ALL": {
+ "name": "Albanski lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alžirski dinar",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "AmeriÄki dolar",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "Angolska kvanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Argentinski pezos",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "Arubanski florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Australijski dolar",
+ "symbol": "AUD"
+ },
+ "AFN": {
+ "name": "Avganistanski avgani",
+ "symbol": "AFN"
+ },
+ "AZN": {
+ "name": "Azerbejdžanski manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahamski dolar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahreinski dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeška taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbadoški dolar",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Beliski dolar",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "Beloruska rublja",
+ "symbol": "[BYR]"
+ },
+ "BMD": {
+ "name": "Bermudski dolar",
+ "symbol": "BMD"
+ },
+ "BWP": {
+ "name": "Bocvanska pula",
+ "symbol": "BWP"
+ },
+ "BOB": {
+ "name": "Bolivijski Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosansko-hercegovaÄka konvertibilna marka",
+ "symbol": "KM"
+ },
+ "BRL": {
+ "name": "Brazilski real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "Britanska funta sterlinga",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "Brunejski dolar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bugarski lev",
+ "symbol": "[BGN]"
+ },
+ "BIF": {
+ "name": "Burundski franak",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "Butanski ngultrum",
+ "symbol": "BTN"
+ },
+ "XOF": {
+ "name": "CFA franak BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA franak BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP franak",
+ "symbol": "CFPF"
+ },
+ "CZK": {
+ "name": "Češka kruna",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "ÄŒileanski pezos",
+ "symbol": "CLP"
+ },
+ "DKK": {
+ "name": "Danska kruna",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "Dominikanski pezos",
+ "symbol": "DOP"
+ },
+ "DJF": {
+ "name": "Džibutanski franak",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "Egipatska funta",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "Eritrejska nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "Etiopijski bir",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Evro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "Fidžijski dolar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filipinski pezos",
+ "symbol": "PHP"
+ },
+ "FKP": {
+ "name": "Foklandska funta",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambijski dalasi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Ganski sedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltarska funta",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "Gruzijski lari",
+ "symbol": "GEL"
+ },
+ "GYD": {
+ "name": "Gvajanski dolar",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "Gvatemalski kecal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "Gvinejski franak",
+ "symbol": "GNF"
+ },
+ "HTG": {
+ "name": "Haićanski gurd",
+ "symbol": "HTG"
+ },
+ "ANG": {
+ "name": "Holandskoantilski gulden",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "Honduraška lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkonški dolar",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "Hrvatska kuna",
+ "symbol": "HRK"
+ },
+ "INR": {
+ "name": "Indijska rupija",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "Indonežanska rupija",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "IraÄki dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "Iranski rijal",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Islandska kruna",
+ "symbol": "ISK"
+ },
+ "XCD": {
+ "name": "IstoÄnokaripski dolar",
+ "symbol": "EC$"
+ },
+ "ILS": {
+ "name": "Izraelski novi Å¡ekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "JamajÄanski dolar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japanski jen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "Jemenski rijal",
+ "symbol": "YER"
+ },
+ "AMD": {
+ "name": "Jermenski dram",
+ "symbol": "AMD"
+ },
+ "JOD": {
+ "name": "Jordanski dinar",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "Južno-afriÄki rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Južnokorejski Von",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "Južnosudanska funta",
+ "symbol": "SSP"
+ },
+ "KYD": {
+ "name": "Kajmanski dolar",
+ "symbol": "KYD"
+ },
+ "KHR": {
+ "name": "Kambodžanski rijel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanadski dolar",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Katarski rijal",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "Kazahstanski tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenijski Å¡iling",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "Kineski juan",
+ "symbol": "CNÂ¥"
+ },
+ "KGS": {
+ "name": "Kirgistanski som",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolumbijski pezos",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komorski franak",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongoanski franak",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "Kostarikanski kolon",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "Kubanski konvertibilni pezos",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Kubanski pezos",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "Kuvajtski dinar",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Laoški kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesoto loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "Libanska funta",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "Liberijski dolar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libijski dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litvanski litas",
+ "symbol": "LTL"
+ },
+ "HUF": {
+ "name": "Mađarska forinta",
+ "symbol": "HUF"
+ },
+ "MOP": {
+ "name": "Makaniška pataka",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Makedonski denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "Malagasijski ariari",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malavijska kvaÄa",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Maldivska rufija",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "Malezijski ringgit",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "Marokanski dirham",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "Mauricijska rupija",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mauritanijska ogija",
+ "symbol": "MRO"
+ },
+ "MXN": {
+ "name": "MeksiÄki pezos",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "Mjanmarski kjat",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "Moldavski lej",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "Mongolski tugrik",
+ "symbol": "MNT"
+ },
+ "MZN": {
+ "name": "Mozambijski metikal",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "Namibijski dolar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepalska rupija",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "Nigerijska naira",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "Nikaragvanska zlatna kordoba",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Norveška kruna",
+ "symbol": "NOK"
+ },
+ "TWD": {
+ "name": "Novi tajvanski dolar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Novozelandski dolar",
+ "symbol": "NZD"
+ },
+ "OMR": {
+ "name": "Omanski rijal",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "Pakistanska rupija",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panamska balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papuanska kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paragvajski gvarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peruanski nuevo sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Poljski zlot",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "Ruandski franak",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "Rumunski lej (1952–2006)",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Ruska rublja",
+ "symbol": "RUB"
+ },
+ "SVC": {
+ "name": "Salvadorski kolon",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "Samoanska tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Sao Tome i Principe dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudijski rijal",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Sejšelska rupija",
+ "symbol": "SCR"
+ },
+ "KPW": {
+ "name": "Severnokorejski von",
+ "symbol": "KPW"
+ },
+ "SLL": {
+ "name": "Sijera-leonški leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapurski dolar",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "Sirijska funta",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "Solomonski dolar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somalijski Å¡iling",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "Srpski dinar",
+ "symbol": "RSD"
+ },
+ "SDG": {
+ "name": "Sudanska funta",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinamski dolar",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "Sv. jelenska funta",
+ "symbol": "SHP"
+ },
+ "SZL": {
+ "name": "Svazi lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "Å rilankanska rupija",
+ "symbol": "LKR"
+ },
+ "CHF": {
+ "name": "Å vajcarski franak",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "Å vedska kruna",
+ "symbol": "SEK"
+ },
+ "TJS": {
+ "name": "Tadžihistanski somon",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "Tajlandski bat",
+ "symbol": "THB"
+ },
+ "TZS": {
+ "name": "Tanzanijski Å¡iling",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "Tongonška Panga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad-tobagoški dolar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tuniski dinar",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "Turkmenistanski manat",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "Turska lira",
+ "symbol": "TRY"
+ },
+ "AED": {
+ "name": "UAE dirham",
+ "symbol": "AED"
+ },
+ "UGX": {
+ "name": "Ugandski Å¡iling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrajinska grivna",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "Urugvajski pezos",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "Uzbekistanski som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "Vanuatski vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venecuelanski bolivar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vijetnamski dong",
+ "symbol": "VND"
+ },
+ "ZMW": {
+ "name": "Zambijska kvaÄa",
+ "symbol": "ZMW"
+ },
+ "CVE": {
+ "name": "Zelenortski eskudo",
+ "symbol": "CVE"
+ },
+ "ZWL": {
+ "name": "Zimbabveanski dolar (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sr.json b/library/intl/resources/currency/sr.json
new file mode 100644
index 000000000..c7f741abc
--- /dev/null
+++ b/library/intl/resources/currency/sr.json
@@ -0,0 +1,634 @@
+{
+ "XAF": {
+ "name": "CFA франак BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP франак",
+ "symbol": "CFPF"
+ },
+ "ERN": {
+ "name": "EритрејÑка накфa",
+ "symbol": "ERN"
+ },
+ "KHR": {
+ "name": "KамбоџанÑки ријел",
+ "symbol": "KHR"
+ },
+ "TJS": {
+ "name": "TаџихиÑтанÑки Ñомон",
+ "symbol": "TJS"
+ },
+ "AFN": {
+ "name": "ÐвганиÑтанÑки авгани",
+ "symbol": "AFN"
+ },
+ "AZN": {
+ "name": "ÐзербејџанÑки манат",
+ "symbol": "AZN"
+ },
+ "ALL": {
+ "name": "ÐлбанÑки лек",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "ÐлжирÑки динар",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "Ðмерички долар",
+ "symbol": "US$"
+ },
+ "AOA": {
+ "name": "ÐнголÑка кванза",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ÐргентинÑки пезоÑ",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "ÐрубанÑки флорин",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "ÐуÑтралијÑки долар",
+ "symbol": "AUD"
+ },
+ "BDT": {
+ "name": "Бангладешка така",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Барбадошки долар",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "БахамÑки долар",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "БахреинÑки динар",
+ "symbol": "BHD"
+ },
+ "BZD": {
+ "name": "БелиÑки долар",
+ "symbol": "BZD"
+ },
+ "BYR": {
+ "name": "БелоруÑка рубља",
+ "symbol": "[BYR]"
+ },
+ "BMD": {
+ "name": "БермудÑки долар",
+ "symbol": "BMD"
+ },
+ "BOB": {
+ "name": "БоливијÑки Боливиано",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "БоÑанÑко-херцеговачка конвертибилна марка",
+ "symbol": "КМ"
+ },
+ "BWP": {
+ "name": "БоцванÑка пула",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "БразилÑки реал",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "БританÑка фунта Ñтерлинга",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "БрунејÑки долар",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "БугарÑки лев",
+ "symbol": "[BGN]"
+ },
+ "BIF": {
+ "name": "БурундÑки франак",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "БутанÑки нгултрум",
+ "symbol": "BTN"
+ },
+ "VUV": {
+ "name": "ВануатÑки вату",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "ВенецуеланÑки боливар",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "ВијетнамÑки донг",
+ "symbol": "VND"
+ },
+ "GMD": {
+ "name": "ГамбијÑки далаÑи",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ГанÑки Ñеди",
+ "symbol": "GHS"
+ },
+ "GYD": {
+ "name": "ГвајанÑки долар",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "ГватемалÑки кецал",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "ГвинејÑки франак",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "ГибралтарÑка фунта",
+ "symbol": "GIP"
+ },
+ "GEL": {
+ "name": "ГрузијÑки лари",
+ "symbol": "GEL"
+ },
+ "DKK": {
+ "name": "ДанÑка круна",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ДоминиканÑки пезоÑ",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "EGP": {
+ "name": "ЕгипатÑка фунта",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "ЕтиопијÑки бир",
+ "symbol": "ETB"
+ },
+ "ZMW": {
+ "name": "ЗамбијÑка квача",
+ "symbol": "ZMW"
+ },
+ "CVE": {
+ "name": "ЗеленортÑки еÑкудо",
+ "symbol": "CVE"
+ },
+ "ZWL": {
+ "name": "ЗимбабвеанÑки долар (2009)",
+ "symbol": "ZWL"
+ },
+ "ILS": {
+ "name": "ИзраелÑки нови шекел",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "ИндијÑка рупија",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "ИндонежанÑка рупија",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "ИранÑки риjал",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "Ирачки динар",
+ "symbol": "IQD"
+ },
+ "ISK": {
+ "name": "ИÑландÑка круна",
+ "symbol": "ISK"
+ },
+ "XCD": {
+ "name": "ИÑточнокарипÑки долар",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "ЈамајчанÑки долар",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "ЈапанÑки јен",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "ЈеменÑки риjал",
+ "symbol": "YER"
+ },
+ "AMD": {
+ "name": "ЈерменÑки драм",
+ "symbol": "AMD"
+ },
+ "JOD": {
+ "name": "ЈорданÑки динар",
+ "symbol": "JOD"
+ },
+ "ZAR": {
+ "name": "Јужно-афрички ранд",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "ЈужнокорејÑки Вон",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "ЈужноÑуданÑка фунта",
+ "symbol": "SSP"
+ },
+ "KZT": {
+ "name": "КазахÑтанÑки тенге",
+ "symbol": "KZT"
+ },
+ "KYD": {
+ "name": "КајманÑки долар",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "КанадÑки долар",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "КатарÑки ријал",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "КенијÑки шилинг",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "КинеÑки јуан",
+ "symbol": "CNÂ¥"
+ },
+ "KGS": {
+ "name": "КиргиÑтанÑки Ñом",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "КолумбијÑки пезоÑ",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "КоморÑки франак",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "КонгоанÑки франак",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "КоÑтариканÑки колон",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "КубанÑки конвертибилни пезоÑ",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "КубанÑки пезоÑ",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "КувајтÑки динар",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "Лаошки кип",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "ЛеÑото лоти",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "ЛибанÑка фунта",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "ЛиберијÑки долар",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "ЛибијÑки динар",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "ЛитванÑки литаÑ",
+ "symbol": "LTL"
+ },
+ "HUF": {
+ "name": "МађарÑка форинта",
+ "symbol": "HUF"
+ },
+ "MOP": {
+ "name": "Маканишка патака",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "МакедонÑки денар",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "МалавијÑка квача",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "МалагаÑијÑки ариари",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "МалдивÑка руфија",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "МалезијÑки ринггит",
+ "symbol": "MYR"
+ },
+ "MAD": {
+ "name": "МароканÑки дирхам",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "МауританијÑка oгија",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "МаурицијÑка рупија",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "МекÑички пезоÑ",
+ "symbol": "MX$"
+ },
+ "MMK": {
+ "name": "МјанмарÑки кјат",
+ "symbol": "MMK"
+ },
+ "MZN": {
+ "name": "МозамбијÑки метикал",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "МолдавÑки леј",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "МонголÑки тугрик",
+ "symbol": "MNT"
+ },
+ "NAD": {
+ "name": "ÐамибијÑки долар",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "ÐепалÑкa рупиja",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "ÐигеријÑка наира",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "ÐикарагванÑка златна кордоба",
+ "symbol": "NIO"
+ },
+ "TWD": {
+ "name": "Ðови тајванÑки долар",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ÐовозеландÑки долар",
+ "symbol": "NZD"
+ },
+ "NOK": {
+ "name": "Ðорвешка круна",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "ОманÑки ријал",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "ПакиÑтанÑкa рупиja",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "ПанамÑка балбоа",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "ПапуанÑка кина",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "ПарагвајÑки гварани",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "ПеруанÑки нуево Ñол",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "ПољÑки злот",
+ "symbol": "PLN"
+ },
+ "RWF": {
+ "name": "РуандÑки франак",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "РумунÑки леј (1952–2006)",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "РуÑка рубља",
+ "symbol": "RUB"
+ },
+ "SVC": {
+ "name": "СалвадорÑки колон",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "СамоанÑка тала",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "Сао Томе и Принципе добра",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "СаудијÑки ријал",
+ "symbol": "SAR"
+ },
+ "SHP": {
+ "name": "Св. јеленÑка фунта",
+ "symbol": "SHP"
+ },
+ "SZL": {
+ "name": "Свази лилангени",
+ "symbol": "SZL"
+ },
+ "KPW": {
+ "name": "СевернокорејÑки вон",
+ "symbol": "KPW"
+ },
+ "SCR": {
+ "name": "СејшелÑка рупија",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "Сијера-леоншки леоне",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "СингапурÑки долар",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "СиријÑка фунта",
+ "symbol": "SYP"
+ },
+ "SBD": {
+ "name": "СоломонÑки долар",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "СомалијÑки шилинг",
+ "symbol": "SOS"
+ },
+ "RSD": {
+ "name": "СрпÑки динар",
+ "symbol": "RSD"
+ },
+ "SDG": {
+ "name": "СуданÑка фунта",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "СуринамÑки долар",
+ "symbol": "SRD"
+ },
+ "THB": {
+ "name": "ТајландÑки бат",
+ "symbol": "THB"
+ },
+ "TZS": {
+ "name": "ТанзанијÑки шилинг",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "Тонгоншка Панга",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Тринидад-тобагошки долар",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "ТуниÑки динар",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "ТуркмениÑтанÑки манат",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "ТурÑка лира",
+ "symbol": "TRY"
+ },
+ "AED": {
+ "name": "УÐЕ дирхам",
+ "symbol": "AED"
+ },
+ "UGX": {
+ "name": "УгандÑки шилинг",
+ "symbol": "UGX"
+ },
+ "UZS": {
+ "name": "УзбекиÑтанÑки Ñом",
+ "symbol": "UZS"
+ },
+ "UAH": {
+ "name": "УкрајинÑка гривна",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "УругвајÑки пезоÑ",
+ "symbol": "UYU"
+ },
+ "PHP": {
+ "name": "ФилипинÑки пезоÑ",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "ФиџијÑки долар",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "ФокландÑка фунта",
+ "symbol": "FKP"
+ },
+ "HTG": {
+ "name": "ХаићанÑки гурд",
+ "symbol": "HTG"
+ },
+ "ANG": {
+ "name": "ХоландÑкоантилÑки гулден",
+ "symbol": "ANG"
+ },
+ "HKD": {
+ "name": "Хонгконшки долар",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "Хондурашка лемпира",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "ХрватÑка куна",
+ "symbol": "HRK"
+ },
+ "XOF": {
+ "name": "ЦФРфранак БЦЕÐО",
+ "symbol": "CFA"
+ },
+ "CZK": {
+ "name": "Чешка круна",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "ЧилеанÑки пезоÑ",
+ "symbol": "CLP"
+ },
+ "DJF": {
+ "name": "ÐибутанÑки франак",
+ "symbol": "DJF"
+ },
+ "CHF": {
+ "name": "ШвајцарÑки франак",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "ШведÑка круна",
+ "symbol": "SEK"
+ },
+ "LKR": {
+ "name": "ШриланканÑкa рупиja",
+ "symbol": "LKR"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sv.json b/library/intl/resources/currency/sv.json
new file mode 100644
index 000000000..08dd8008a
--- /dev/null
+++ b/library/intl/resources/currency/sv.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "afghansk afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "albansk lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "algerisk dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "angolansk kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "argentinsk peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "armenisk dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "arubansk florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "australisk dollar",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "azerbajdzjansk manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "bahamansk dollar",
+ "symbol": "BS$"
+ },
+ "BHD": {
+ "name": "bahrainsk dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "bangladeshisk taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbados-dollar",
+ "symbol": "Bds$"
+ },
+ "BZD": {
+ "name": "belizisk dollar",
+ "symbol": "BZ$"
+ },
+ "BMD": {
+ "name": "Bermuda-dollar",
+ "symbol": "BM$"
+ },
+ "BTN": {
+ "name": "bhutanesisk ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "boliviansk boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "bosnisk-hercegovinsk mark (konvertibel)",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "botswansk pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "brasiliansk real",
+ "symbol": "BR$"
+ },
+ "GBP": {
+ "name": "brittiskt pund",
+ "symbol": "GBP"
+ },
+ "BND": {
+ "name": "bruneisk dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "bulgarisk lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "burundisk franc",
+ "symbol": "BIF"
+ },
+ "KYD": {
+ "name": "Cayman-dollar",
+ "symbol": "KYD"
+ },
+ "XAF": {
+ "name": "centralafrikansk franc",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP-franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "chilensk peso",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "colombiansk peso",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "costarikansk colón",
+ "symbol": "CRC"
+ },
+ "DKK": {
+ "name": "dansk krona",
+ "symbol": "Dkr"
+ },
+ "DJF": {
+ "name": "djiboutisk franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "dominikansk peso",
+ "symbol": "RD$"
+ },
+ "EGP": {
+ "name": "egyptiskt pund",
+ "symbol": "EG£"
+ },
+ "ERN": {
+ "name": "eritreansk nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "etiopisk birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falklandspund",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Fijidollar",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "filippinsk peso",
+ "symbol": "PHP"
+ },
+ "AED": {
+ "name": "Förenade Arabemiratens dirham",
+ "symbol": "AED"
+ },
+ "GMD": {
+ "name": "gambisk dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "georgisk lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "ghanansk cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "gibraltiskt pund",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "guatemalansk quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "guineansk franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "guyanansk dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "haitisk gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "honduransk lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hongkongdollar",
+ "symbol": "HKD"
+ },
+ "INR": {
+ "name": "indisk rupie",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "indonesisk rupiah",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "irakisk dinar",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "iransk rial",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "isländsk krona",
+ "symbol": "Ikr"
+ },
+ "ILS": {
+ "name": "israelisk ny shekel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "Jamaica-dollar",
+ "symbol": "JM$"
+ },
+ "JPY": {
+ "name": "japansk yen",
+ "symbol": "JPY"
+ },
+ "YER": {
+ "name": "jemenitisk rial",
+ "symbol": "YER"
+ },
+ "JOD": {
+ "name": "jordansk dinar",
+ "symbol": "JOD"
+ },
+ "KHR": {
+ "name": "kambodjansk riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "kanadensisk dollar",
+ "symbol": "CAN$"
+ },
+ "CVE": {
+ "name": "kapverdisk escudo",
+ "symbol": "CVE"
+ },
+ "KZT": {
+ "name": "kazakisk tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "kenyansk shilling",
+ "symbol": "KES"
+ },
+ "CNY": {
+ "name": "kinesisk yuan",
+ "symbol": "CNY"
+ },
+ "KGS": {
+ "name": "kirgizisk som",
+ "symbol": "KGS"
+ },
+ "KMF": {
+ "name": "komorisk franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "kongolesisk franc",
+ "symbol": "CDF"
+ },
+ "HRK": {
+ "name": "kroatisk kuna",
+ "symbol": "HRK"
+ },
+ "CUP": {
+ "name": "kubansk peso",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "kubansk peso (konvertibel)",
+ "symbol": "CUC"
+ },
+ "KWD": {
+ "name": "kuwaitisk dinar",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "laotisk kip",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "lesothisk loti",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "libanesiskt pund",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "liberiansk dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "libysk dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "litauisk litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "macaosk pataca",
+ "symbol": "MOP"
+ },
+ "MGA": {
+ "name": "madagaskisk ariary",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "makedonisk denar",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "malawisk kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "malaysisk ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "maldivisk rufiyaa",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "marockansk dirham",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "mauretansk ouquiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "mauritisk rupie",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "mexikansk peso",
+ "symbol": "MX$"
+ },
+ "MZN": {
+ "name": "moçambikisk metical",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "moldavisk leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "mongolisk tögrög",
+ "symbol": "MNT"
+ },
+ "MMK": {
+ "name": "myanmarisk kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "namibisk dollar",
+ "symbol": "NAD"
+ },
+ "ANG": {
+ "name": "Nederländska Antillernas gulden",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "nepalesisk rupie",
+ "symbol": "NPR"
+ },
+ "NIO": {
+ "name": "nicaraguansk córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "nigeriansk naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "nordkoreansk won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "norsk krona",
+ "symbol": "Nkr"
+ },
+ "NZD": {
+ "name": "nyzeeländsk dollar",
+ "symbol": "NZD"
+ },
+ "OMR": {
+ "name": "omansk rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "pakistansk rupie",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "panamansk balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "papuansk kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "paraguayansk guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "peruansk nuevo sol",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "polsk zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "qatarisk rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "rumänsk leu",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "rwandisk franc",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "rysk rubel",
+ "symbol": "RUB"
+ },
+ "SHP": {
+ "name": "S:t Helena-pund",
+ "symbol": "SHP"
+ },
+ "SBD": {
+ "name": "Salomondollar",
+ "symbol": "SBD"
+ },
+ "SVC": {
+ "name": "salvadoransk colón",
+ "symbol": "SVC"
+ },
+ "STD": {
+ "name": "saotomeansk dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "saudisk riyal",
+ "symbol": "SAR"
+ },
+ "CHF": {
+ "name": "schweizisk franc",
+ "symbol": "CHF"
+ },
+ "RSD": {
+ "name": "serbisk dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "seychellisk rupie",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "sierraleonsk leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "singaporiansk dollar",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "somalisk shilling",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "srilankesisk rupie",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "sudanesiskt pund",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "surinamesisk dollar",
+ "symbol": "SRD"
+ },
+ "SEK": {
+ "name": "svensk krona",
+ "symbol": "kr"
+ },
+ "SZL": {
+ "name": "swaziländsk lilangeni",
+ "symbol": "SZL"
+ },
+ "ZAR": {
+ "name": "sydafrikansk rand",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "sydkoreansk won",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "sydsudanesiskt pund",
+ "symbol": "SSP"
+ },
+ "SYP": {
+ "name": "syriskt pund",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "tadzjikisk somoni",
+ "symbol": "TJS"
+ },
+ "TWD": {
+ "name": "Taiwandollar",
+ "symbol": "TWD"
+ },
+ "TZS": {
+ "name": "tanzanisk shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "thailändsk baht",
+ "symbol": "THB"
+ },
+ "CZK": {
+ "name": "tjeckisk koruna",
+ "symbol": "CZK"
+ },
+ "TOP": {
+ "name": "tongansk paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad och Tobago-dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "tunisisk dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "turkisk lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "turkmenistansk manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "ugandisk shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "ukrainsk hryvnia",
+ "symbol": "UAH"
+ },
+ "HUF": {
+ "name": "ungersk forint",
+ "symbol": "HUF"
+ },
+ "UYU": {
+ "name": "uruguayansk peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "US-dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "uzbekisk sum",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "vanuatisk vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "venezuelansk bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "vietnamesisk dong",
+ "symbol": "VND"
+ },
+ "BYR": {
+ "name": "vitrysk rubel",
+ "symbol": "BYR"
+ },
+ "XOF": {
+ "name": "västafrikansk franc",
+ "symbol": "CFA"
+ },
+ "WST": {
+ "name": "västsamoansk tala",
+ "symbol": "WST"
+ },
+ "ZMW": {
+ "name": "zambisk kwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabwe-dollar (2009)",
+ "symbol": "ZWL"
+ },
+ "XCD": {
+ "name": "östkaribisk dollar",
+ "symbol": "EC$"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/sw.json b/library/intl/resources/currency/sw.json
new file mode 100644
index 000000000..5ae8d2a46
--- /dev/null
+++ b/library/intl/resources/currency/sw.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghani ya Afuganistani",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariari ya Madagaska",
+ "symbol": "MGA"
+ },
+ "THB": {
+ "name": "Baht ya Tailandi",
+ "symbol": "฿"
+ },
+ "PAB": {
+ "name": "Balboa ya Panama",
+ "symbol": "PAB"
+ },
+ "ETB": {
+ "name": "birr ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolivar ya Venezuela",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano ya Bolivia",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi ya Ghana",
+ "symbol": "GHS"
+ },
+ "XAF": {
+ "name": "CFA faranga ya BEAC",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "CFA faranga za BCEAO",
+ "symbol": "CFA"
+ },
+ "CRC": {
+ "name": "Colon ya Kostarika",
+ "symbol": "CRC"
+ },
+ "BAM": {
+ "name": "Convertible Mark ya Bosnia na Hezegovina",
+ "symbol": "BAM"
+ },
+ "NIO": {
+ "name": "Cordoba ya Nikaragua",
+ "symbol": "NIO"
+ },
+ "GMD": {
+ "name": "dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "Denar ya Masedonia",
+ "symbol": "MKD"
+ },
+ "RSD": {
+ "name": "Dinar ya Serbia",
+ "symbol": "RSD"
+ },
+ "DZD": {
+ "name": "dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinari ya Iraki",
+ "symbol": "IQD"
+ },
+ "KWD": {
+ "name": "Dinari ya Kuwaiti",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "JOD": {
+ "name": "Dinari ya Yordani",
+ "symbol": "JOD"
+ },
+ "AED": {
+ "name": "dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "STD": {
+ "name": "dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "dola ya Australia",
+ "symbol": "A$"
+ },
+ "BSD": {
+ "name": "Dola ya Bahamas",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "Dola ya Barbados",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Dola ya Belize",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Dola ya Bermuda",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Dola ya Brunei",
+ "symbol": "BND"
+ },
+ "FJD": {
+ "name": "Dola ya Fiji",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "Dola ya Guyana",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "Dola ya Hong Kong",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Dola ya Jamaica",
+ "symbol": "JMD"
+ },
+ "CAD": {
+ "name": "dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "Dola ya Karibea ya Mashariki",
+ "symbol": "EC$"
+ },
+ "LRD": {
+ "name": "dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "Dola ya Nyuzilandi",
+ "symbol": "NZ$"
+ },
+ "SGD": {
+ "name": "Dola ya Singapore",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "Dola ya Suriname",
+ "symbol": "SRD"
+ },
+ "TWD": {
+ "name": "Dola ya Taiwan",
+ "symbol": "NT$"
+ },
+ "TTD": {
+ "name": "Dola ya Trinidad na Tobago",
+ "symbol": "TTD"
+ },
+ "KYD": {
+ "name": "Dola ya Visiwa vya Cayman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Dola ya Visiwa vya Solomon",
+ "symbol": "SBD"
+ },
+ "VND": {
+ "name": "Dong ya Vietinamu",
+ "symbol": "â‚«"
+ },
+ "AMD": {
+ "name": "Dram ya Armenia",
+ "symbol": "AMD"
+ },
+ "CVE": {
+ "name": "eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "BIF": {
+ "name": "faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "XPF": {
+ "name": "Faranga ya CFP",
+ "symbol": "CFPF"
+ },
+ "GNF": {
+ "name": "faranga ya Guinea",
+ "symbol": "GNF"
+ },
+ "DJF": {
+ "name": "faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "AWG": {
+ "name": "Florin ya Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint ya Hungaria",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "Gourde ya Haiti",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani ya Paragwai",
+ "symbol": "PYG"
+ },
+ "ANG": {
+ "name": "Guilder ya Antili za Kiholanzi",
+ "symbol": "ANG"
+ },
+ "UAH": {
+ "name": "Hryvnia ya Ukrania",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "Kina ya Papua New Guinea",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip ya Laosi",
+ "symbol": "LAK"
+ },
+ "CZK": {
+ "name": "Koruna ya Jamhuri ya Cheki",
+ "symbol": "CZK"
+ },
+ "ISK": {
+ "name": "Krona ya Isilandi",
+ "symbol": "ISK"
+ },
+ "SEK": {
+ "name": "Krona ya Uswidi",
+ "symbol": "SEK"
+ },
+ "DKK": {
+ "name": "Krone ya Denmaki",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "Krone ya Norwe",
+ "symbol": "NOK"
+ },
+ "HRK": {
+ "name": "Kuna ya Kroeshia",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat ya Myama",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari ya Georgia",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek ya Albania",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira ya Hondurasi",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "leoni",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu ya Moldova",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu ya Romania",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev ya Bulgaria",
+ "symbol": "BGN"
+ },
+ "SZL": {
+ "name": "lilangeni",
+ "symbol": "SZL"
+ },
+ "TRY": {
+ "name": "Lira ya Uturuki",
+ "symbol": "TRY"
+ },
+ "LTL": {
+ "name": "Litas ya Lithuania",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "AZN": {
+ "name": "Manat ya Azebaijani",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat ya Turukimenistani",
+ "symbol": "TMT"
+ },
+ "MZN": {
+ "name": "Metikali ya Msumbiji",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum ya Bhutan",
+ "symbol": "BTN"
+ },
+ "PEN": {
+ "name": "Nuevo Sol ya Peru",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga ya Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca ya Macau",
+ "symbol": "MOP"
+ },
+ "GIP": {
+ "name": "Pauni ya Gibraltar",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "Pauni ya Lebanon",
+ "symbol": "LBP"
+ },
+ "EGP": {
+ "name": "pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "pauni ya Sudani",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "pauni ya Sudani Kusini",
+ "symbol": "SSP"
+ },
+ "SYP": {
+ "name": "Pauni ya Syria",
+ "symbol": "SYP"
+ },
+ "GBP": {
+ "name": "pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "FKP": {
+ "name": "Pauni ya Visiwa vya Falkland",
+ "symbol": "FKP"
+ },
+ "ARS": {
+ "name": "Peso ya Ajentina",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso ya Chile",
+ "symbol": "CLP"
+ },
+ "CUP": {
+ "name": "Peso ya Cuba",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso ya Cuba Inayoweza Kubadilishwa",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso ya Dominika",
+ "symbol": "DOP"
+ },
+ "COP": {
+ "name": "Peso ya Kolombia",
+ "symbol": "COP"
+ },
+ "MXN": {
+ "name": "Peso ya Meksiko",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "Peso ya Ufilipino",
+ "symbol": "PHP"
+ },
+ "UYU": {
+ "name": "Peso ya Urugwai",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal ya Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real ya Brazil",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial ya Iran",
+ "symbol": "IRR"
+ },
+ "QAR": {
+ "name": "Rial ya Katari",
+ "symbol": "QAR"
+ },
+ "OMR": {
+ "name": "Rial ya Omani",
+ "symbol": "OMR"
+ },
+ "YER": {
+ "name": "Rial ya Yemeni",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "Riel ya Kambodia",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit ya Malaysia",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "Ruble ya Belarusi",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Ruble ya Urusi",
+ "symbol": "RUB"
+ },
+ "MVR": {
+ "name": "Rufiyaa ya Maldivi",
+ "symbol": "MVR"
+ },
+ "INR": {
+ "name": "rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupia ya Nepali",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupia ya Pakistani",
+ "symbol": "PKR"
+ },
+ "LKR": {
+ "name": "Rupia ya Sirilanka",
+ "symbol": "LKR"
+ },
+ "SCR": {
+ "name": "rupia ya Ushelisheli",
+ "symbol": "SCR"
+ },
+ "IDR": {
+ "name": "Rupiah ya Indonesia",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "Sheqel Mpya ya Israeli",
+ "symbol": "₪"
+ },
+ "KES": {
+ "name": "shilingi ya Kenya",
+ "symbol": "Ksh"
+ },
+ "SOS": {
+ "name": "shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "KGS": {
+ "name": "Som ya Kirigistani",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som ya Uzibekistani",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni ya Tajikistani",
+ "symbol": "TJS"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "BDT": {
+ "name": "Taka ya Bangladeshi",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala ya Samoa",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge ya Kazakistani",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik ya Mongolia",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu ya Vanuatu",
+ "symbol": "VUV"
+ },
+ "KPW": {
+ "name": "Won ya Korea Kaskazini",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "Won ya Korea Kusini",
+ "symbol": "â‚©"
+ },
+ "JPY": {
+ "name": "Yen ya Japani",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "yuan ya Uchina",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "yuro",
+ "symbol": "€"
+ },
+ "PLN": {
+ "name": "Zloty ya Polandi",
+ "symbol": "PLN"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/swc.json b/library/intl/resources/currency/swc.json
new file mode 100644
index 000000000..5c1e38f95
--- /dev/null
+++ b/library/intl/resources/currency/swc.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "MGA": {
+ "name": "Ariary ya Bukini",
+ "symbol": "MGA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "FC"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Pauni ya Sudani",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ta-MY.json b/library/intl/resources/currency/ta-MY.json
new file mode 100644
index 000000000..d563b0f7a
--- /dev/null
+++ b/library/intl/resources/currency/ta-MY.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "CFA ஃபà¯à®°à®¾à®™à¯à®•à¯ BCEAO",
+ "symbol": "CFA"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AOA": {
+ "name": "à®…à®™à¯à®•à¯‹à®²à®©à¯ கà¯à®µà®¾à®©à¯à®¸à®¾",
+ "symbol": "AOA"
+ },
+ "AZN": {
+ "name": "அசரà¯à®ªà¯ˆà®œà®¾à®©à®¿ மனதà¯",
+ "symbol": "AZN"
+ },
+ "USD": {
+ "name": "அமெரிகà¯à®• டாலரà¯",
+ "symbol": "$"
+ },
+ "ARS": {
+ "name": "à®…à®°à¯à®œà¯†à®©à¯à®Ÿà®¿à®©à®¾ பேசோ",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "à®…à®°à¯à®ªà®©à¯ ஃபà¯à®³à¯‹à®°à®¿à®©à¯",
+ "symbol": "AWG"
+ },
+ "ALL": {
+ "name": "அலà¯à®ªà¯‡à®©à®¿à®¯à®©à¯ லெகà¯",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "அலà¯à®œà¯€à®°à®¿à®¯à®©à¯ தினாரà¯",
+ "symbol": "DZD"
+ },
+ "AFN": {
+ "name": "ஆஃபà¯à®•à®¾à®©à¯ ஆஃபà¯à®•à®¾à®©à®¿",
+ "symbol": "AFN"
+ },
+ "AMD": {
+ "name": "ஆரà¯à®®à¯‡à®©à®¿à®¯à®©à¯ டà¯à®°à®¾à®®à¯",
+ "symbol": "AMD"
+ },
+ "AUD": {
+ "name": "ஆஸà¯à®¤à®¿à®°à¯‡à®²à®¿à®¯ டாலரà¯",
+ "symbol": "A$"
+ },
+ "INR": {
+ "name": "இநà¯à®¤à®¿à®¯ ரூபாயà¯",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "இநà¯à®¤à¯‹à®©à¯‡à®·à®¿à®¯à®©à¯ à®°à¯à®ªà®¿à®¯à®¾",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "இரானியன௠ரியாலà¯",
+ "symbol": "IRR"
+ },
+ "ERN": {
+ "name": "இரிடிரியன௠நகà¯à®ƒà®ªà®¾",
+ "symbol": "ERN"
+ },
+ "LKR": {
+ "name": "இலஙà¯à®•à¯ˆ ரூபாயà¯",
+ "symbol": "LKR"
+ },
+ "ILS": {
+ "name": "இஸà¯à®°à¯‡à®²à®¿ நியூ ஷிகேலà¯",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "ஈராகà¯à®•à®¿ தினாரà¯",
+ "symbol": "IQD"
+ },
+ "UAH": {
+ "name": "உகà¯à®°à¯ˆà®©à®¿à®¯à®©à¯ ஹிரைவà¯à®©à®¿à®¯à®¾",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "உகாணà¯à®Ÿà®©à¯ ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "உரà¯à®•à¯à®µà¯‡à®¯à®©à¯ பேசோ",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "உஸà¯à®ªà¯†à®•à¯à®•à®¿à®¸à¯à®¤à®¾à®©à¯ சோமà¯",
+ "symbol": "UZS"
+ },
+ "EGP": {
+ "name": "எகிபà¯à®¤à®¿à®¯ பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "எதà¯à®¤à®¿à®¯à¯‹à®ªà¯à®ªà®¿à®¯à®©à¯ பிரà¯",
+ "symbol": "ETB"
+ },
+ "YER": {
+ "name": "à®à®®à®©à®¿ ரியாலà¯",
+ "symbol": "YER"
+ },
+ "AED": {
+ "name": "à®à®•à¯à®•à®¿à®¯ அரப௠எமிரேடà¯à®¸à¯ திரà¯à®¹à®®à¯",
+ "symbol": "AED"
+ },
+ "ISK": {
+ "name": "à®à®¸à¯à®²à®¾à®£à¯à®Ÿà®¿à®•à¯ கà¯à®°à¯‹à®©à®¾",
+ "symbol": "ISK"
+ },
+ "OMR": {
+ "name": "ஓமானி ரியாலà¯",
+ "symbol": "OMR"
+ },
+ "XAF": {
+ "name": "ஃபà¯à®°à®¾à®™à¯à®•à¯ (CFA BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "ஃபà¯à®°à®¾à®™à¯à®•à¯ (CFP)",
+ "symbol": "CFPF"
+ },
+ "FKP": {
+ "name": "ஃபாகà¯à®²à®¾à®¨à¯à®¤à¯ தீவà¯à®•à®³à¯ பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "ஃபிஜியன௠டாலரà¯",
+ "symbol": "FJD"
+ },
+ "QAR": {
+ "name": "கதà¯à®¤à®¾à®°à®¿ ரியாலà¯",
+ "symbol": "QAR"
+ },
+ "KHR": {
+ "name": "கமà¯à®ªà¯‹à®Ÿà®¿à®¯à®©à¯ ரியெலà¯",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "கமோரியன௠ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "KMF"
+ },
+ "GYD": {
+ "name": "கயானீஸ௠டாலரà¯",
+ "symbol": "GYD"
+ },
+ "CAD": {
+ "name": "கனடியன௠டாலரà¯",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "கஸகஸà¯à®¤à®¾à®©à®¿ டெனà¯à®•à¯‡",
+ "symbol": "KZT"
+ },
+ "CDF": {
+ "name": "காஙà¯à®•à¯‹à®²à¯€à®¸à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "CDF"
+ },
+ "GHS": {
+ "name": "கானயன௠சேடி",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "கிபà¯à®°à®¾à®²à¯à®Ÿà®°à¯ பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "GIP"
+ },
+ "CUC": {
+ "name": "கியூபன௠கனà¯à®µà¯†à®°à¯à®Ÿà®¿à®ªà®¿à®²à¯ பேசோ",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "கியூபன௠பெசோ",
+ "symbol": "CUP"
+ },
+ "KGS": {
+ "name": "கிரà¯à®•à®¿à®¸à¯à®¤à®¾à®©à®¿ சோமà¯",
+ "symbol": "KGS"
+ },
+ "XCD": {
+ "name": "கிழகà¯à®•à¯ கரீபியன௠டாலரà¯",
+ "symbol": "EC$"
+ },
+ "GNF": {
+ "name": "கினியன௠ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "GNF"
+ },
+ "HRK": {
+ "name": "கà¯à®°à¯‹à®·à®¿à®¯à®©à¯ கà¯à®©à®¾",
+ "symbol": "HRK"
+ },
+ "GTQ": {
+ "name": "கà¯à®µà®¾à®Ÿà¯†à®®à¯†à®²à®©à¯ கà¯à®¯à¯‚டà¯à®¸à®²à¯",
+ "symbol": "GTQ"
+ },
+ "KWD": {
+ "name": "கà¯à®µà¯ˆà®¤à¯à®¤à®¿ தினாரà¯",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "கெனà¯à®¯à®©à¯ ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "கேப௠வெரà¯à®Ÿà®¿à®¯à®©à¯ எஸà¯à®•à¯à®Ÿà¯‹",
+ "symbol": "CVE"
+ },
+ "GMD": {
+ "name": "கேமà¯à®ªà®¿à®¯à®©à¯ தலாசி",
+ "symbol": "GMD"
+ },
+ "KYD": {
+ "name": "கேமன௠தீவà¯à®•à®³à¯ டாலரà¯",
+ "symbol": "KYD"
+ },
+ "COP": {
+ "name": "கொலமà¯à®ªà®¿à®¯à®©à¯ பெசோ",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "கோஸà¯à®Ÿà®¾ ரிகன௠கொலோனà¯",
+ "symbol": "CRC"
+ },
+ "WST": {
+ "name": "சமோவான௠தாலா",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "சவà¯à®¤à®¿ ரியாலà¯",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "சாலமன௠தீவà¯à®•à®³à¯ டாலரà¯",
+ "symbol": "SBD"
+ },
+ "STD": {
+ "name": "சாவ௠டோமி மறà¯à®±à¯à®®à¯ பிரினà¯à®¸à¯à®ªà®¿ டோபà¯à®°à®¾",
+ "symbol": "STD"
+ },
+ "SGD": {
+ "name": "சிஙà¯à®•à®ªà¯à®ªà¯‚ர௠டாலரà¯",
+ "symbol": "S$"
+ },
+ "SCR": {
+ "name": "சிசீலோயிஸ௠ரà¯à®ªà¯€",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "சியாரா லியோனியன௠லியோனà¯",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "சிரியன௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SYP"
+ },
+ "CLP": {
+ "name": "சிலியன௠பெசோ",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "சீன யà¯à®µà®¾à®©à¯",
+ "symbol": "CNÂ¥"
+ },
+ "SRD": {
+ "name": "சà¯à®°à®¿à®©à®¾à®®à¯€à®¸à¯ டாலரà¯",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "சà¯à®µà®¾à®¸à®¿ லிலாஙà¯à®•à®©à®¿",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "சà¯à®µà®¿à®¸à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "CHF"
+ },
+ "SDG": {
+ "name": "சூடானீஸ௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SDG"
+ },
+ "CZK": {
+ "name": "செக௠கà¯à®Ÿà®¿à®¯à®°à®šà¯ கொரà¯à®©à®¾",
+ "symbol": "CZK"
+ },
+ "SHP": {
+ "name": "செயினà¯à®Ÿà¯ ஹெலேனா பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SHP"
+ },
+ "RSD": {
+ "name": "செரà¯à®ªà®¿à®¯à®©à¯ தினாரà¯",
+ "symbol": "RSD"
+ },
+ "SOS": {
+ "name": "சோமாலி ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "SOS"
+ },
+ "DKK": {
+ "name": "டானிஷ௠கà¯à®°à¯‹à®©à¯",
+ "symbol": "DKK"
+ },
+ "TTD": {
+ "name": "டிரினாட௠மறà¯à®±à¯à®®à¯ டோபாகோ டாலரà¯",
+ "symbol": "TTD"
+ },
+ "DOP": {
+ "name": "டொமினிகà¯à®•à®©à¯ பேசோ",
+ "symbol": "DOP"
+ },
+ "TZS": {
+ "name": "தனà¯à®¸à®¾à®©à®¿à®¯à®©à¯ ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "TZS"
+ },
+ "TJS": {
+ "name": "தஜிகிஸà¯à®¤à®¾à®©à®¿ சோமோனி",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "தாய௠பாடà¯",
+ "symbol": "฿"
+ },
+ "TMT": {
+ "name": "தà¯à®°à¯à®•à¯à®®à¯‡à®©à®¿à®¸à¯à®¤à®¾à®©à®¿ மனதà¯",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "தà¯à®°à¯à®•à¯à®•à®¿à®·à¯ லீரா",
+ "symbol": "TRY"
+ },
+ "TND": {
+ "name": "தà¯à®©à®¿à®·à®¿à®¯à®©à¯ தினாரà¯",
+ "symbol": "TND"
+ },
+ "SSP": {
+ "name": "தெறà¯à®•à¯ சூடானீஸ௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SSP"
+ },
+ "ZAR": {
+ "name": "தென௠ஆபà¯à®°à®¿à®•à¯à®• ராணà¯à®Ÿà¯",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "தென௠கொரிய வானà¯",
+ "symbol": "â‚©"
+ },
+ "TOP": {
+ "name": "தொஙà¯à®•à®¾à®©à¯ பஙà¯à®•à®¾",
+ "symbol": "TOP"
+ },
+ "NAD": {
+ "name": "நமீபியன௠டாலரà¯",
+ "symbol": "NAD"
+ },
+ "NOK": {
+ "name": "நாரà¯à®µà¯‡à®œà®¿à®¯à®©à¯ கà¯à®°à¯‹à®©à¯",
+ "symbol": "NOK"
+ },
+ "NIO": {
+ "name": "நிகாராகà¯à®µà®¾à®©à¯ கோரà¯à®Ÿà¯‹à®ªà®¾",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "நியூசிலாநà¯à®¤à¯ டாலரà¯",
+ "symbol": "NZ$"
+ },
+ "ANG": {
+ "name": "நெதரà¯à®²à¯‡à®£à¯à®Ÿà¯à®¸à¯ அனà¯à®Ÿà®¿à®²à®¿à®¯à®©à¯ கிலà¯à®Ÿà®°à¯",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "நேபாளீஸ௠ரூபாயà¯",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "நைஜீரியன௠நைரா",
+ "symbol": "NGN"
+ },
+ "BDT": {
+ "name": "பஙà¯à®•à®³à®¾à®¤à¯‡à®·à®¿ டாகா",
+ "symbol": "BDT"
+ },
+ "PGK": {
+ "name": "பபà¯à®µà®¾ நியூ கினியன௠கினா",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "பராகà¯à®µà®©à¯ கà¯à®µà®¾à®°à®¾à®©à®¿",
+ "symbol": "PYG"
+ },
+ "PAB": {
+ "name": "பனாமானியன௠பாலà¯à®ªà¯‹à®ªà®¾",
+ "symbol": "PAB"
+ },
+ "BHD": {
+ "name": "பஹà¯à®°à¯ˆà®©à®¿ தினாரà¯",
+ "symbol": "BHD"
+ },
+ "BSD": {
+ "name": "பஹாமியன௠டாலரà¯",
+ "symbol": "BSD"
+ },
+ "PKR": {
+ "name": "பாகிஸà¯à®¤à®¾à®©à®¿ ரூபாயà¯",
+ "symbol": "PKR"
+ },
+ "BBD": {
+ "name": "பாரà¯à®ªà¯‡à®Ÿà®¿à®¯à®©à¯ டாலரà¯",
+ "symbol": "BBD"
+ },
+ "GBP": {
+ "name": "பிரிடà¯à®Ÿà®¿à®·à¯ பவà¯à®£à¯à®Ÿà¯ ஸà¯à®Ÿà¯†à®°à¯à®²à®¿à®™à¯",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "பிரேசிலியன௠ரியாலà¯",
+ "symbol": "R$"
+ },
+ "PHP": {
+ "name": "பிலிபà¯à®ªà¯ˆà®©à¯ பெசோ",
+ "symbol": "PHP"
+ },
+ "TWD": {
+ "name": "பà¯à®¤à®¿à®¯ தைவான௠டாலரà¯",
+ "symbol": "NT$"
+ },
+ "BIF": {
+ "name": "பà¯à®°à¯à®£à¯à®Ÿà®¿à®¯à®©à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "BIF"
+ },
+ "BND": {
+ "name": "பà¯à®°à¯‚னே டாலரà¯",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "பà¯à®²à¯à®•à¯‡à®°à®¿à®¯à®©à¯ லெவà¯",
+ "symbol": "BGN"
+ },
+ "BTN": {
+ "name": "பூடà¯à®Ÿà®¾à®©à®¿à®·à¯ நிகà¯à®²à¯à®Ÿà¯à®°à®®à¯",
+ "symbol": "BTN"
+ },
+ "BMD": {
+ "name": "பெரà¯à®®à¯à®Ÿà®©à¯ டாலரà¯",
+ "symbol": "BMD"
+ },
+ "PEN": {
+ "name": "பெரà¯à®µà®¿à®¯à®©à¯ நியூவோ சோலà¯",
+ "symbol": "PEN"
+ },
+ "BYR": {
+ "name": "பெலரà¯à®šà®¿à®¯à®©à¯ ரூபிலà¯",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "பெலீஷ௠டாலரà¯",
+ "symbol": "BZD"
+ },
+ "BOB": {
+ "name": "பொலிவியன௠பொலிவியானோ",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "போடà¯à®¸à¯à®µà®¾à®©à®¾ பà¯à®²à®¾",
+ "symbol": "BWP"
+ },
+ "PLN": {
+ "name": "போலிஷ௠ஸà¯à®²à®¾à®Ÿà¯à®Ÿà®¿",
+ "symbol": "PLN"
+ },
+ "BAM": {
+ "name": "போஸà¯à®©à®¿à®¯à®¾-ஹெரà¯à®¸à¯‡à®•à¯‹à®µà®¿à®©à®¾ கனà¯à®µà¯†à®°à¯à®Ÿà®¿à®ªà®¿à®²à¯ மாரà¯à®•à¯",
+ "symbol": "BAM"
+ },
+ "MNT": {
+ "name": "மஙà¯à®•à¯‹à®²à®¿à®¯à®©à¯ டà¯à®•à¯à®°à®¿à®•à¯",
+ "symbol": "MNT"
+ },
+ "MGA": {
+ "name": "மலகாசி à®à®°à®¿à®¯à®°à®¿",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "மலாவியன௠கà¯à®µà®¾à®šà¯à®šà®¾",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "மலேசிய ரிஙà¯à®•à®¿à®Ÿà¯",
+ "symbol": "RM"
+ },
+ "MDL": {
+ "name": "மாலà¯à®Ÿà¯‹à®µà®©à¯ லியூ",
+ "symbol": "MDL"
+ },
+ "MVR": {
+ "name": "மாலதà¯à®¤à¯€à®µà¯ à®°à¯à®ƒà®ªà®¿à®¯à®¾",
+ "symbol": "MVR"
+ },
+ "MMK": {
+ "name": "மியானà¯à®®à®°à¯ கியாதà¯",
+ "symbol": "MMK"
+ },
+ "MXN": {
+ "name": "மெகà¯à®¸à®¿à®•à®©à¯ பெசோ",
+ "symbol": "MX$"
+ },
+ "MOP": {
+ "name": "மெகனீஸ௠படாகா",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "மெசிடோனியன௠தினாரà¯",
+ "symbol": "MKD"
+ },
+ "MZN": {
+ "name": "மொசாமà¯à®ªà®¿à®•à¯‡à®©à¯ மெடிகலà¯",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "மொராகà¯à®•à¯‹ திரà¯à®¹à®¾à®®à¯",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "மொரிஷியனியன௠ஒகà¯à®¯à¯à®¯à®¾",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "மொரீஷியன௠ரà¯à®ªà¯€",
+ "symbol": "MUR"
+ },
+ "EUR": {
+ "name": "யூரோ",
+ "symbol": "€"
+ },
+ "RUB": {
+ "name": "ரஷியன௠ரூபிளà¯",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "à®°à¯à®µà®¾à®£à¯à®Ÿà®¾ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "ரோமானியன௠லியூ",
+ "symbol": "RON"
+ },
+ "LAK": {
+ "name": "லவà¯à®Ÿà¯à®Ÿà®¿à®¯à®©à¯ கிபà¯",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "லிதà¯à®µà¯‡à®©à®¿à®¯à®©à¯ லிடஸà¯",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "லிபியன௠தினாரà¯",
+ "symbol": "LYD"
+ },
+ "LSL": {
+ "name": "லெசோதோ லோடà¯à®Ÿà®¿",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "லெபனீஸ௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "லைபீரியன௠டாலரà¯",
+ "symbol": "LRD"
+ },
+ "KPW": {
+ "name": "வட கொரிய வானà¯",
+ "symbol": "KPW"
+ },
+ "VUV": {
+ "name": "வனà¯à®µà®¾à®Ÿà¯à®Ÿà¯ வாடà¯à®Ÿà¯",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "வியடà¯à®¨à®¾à®®à¯€à®¸à¯ டாஙà¯",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "வெனிசà¯à®²à®¿à®¯à®©à¯ போலிவரà¯",
+ "symbol": "VEF"
+ },
+ "JPY": {
+ "name": "ஜபà¯à®ªà®¾à®©à®¿à®¯ யெனà¯",
+ "symbol": "Â¥"
+ },
+ "JMD": {
+ "name": "ஜமைகà¯à®•à®¾à®©à¯ டாலரà¯",
+ "symbol": "JMD"
+ },
+ "DJF": {
+ "name": "ஜிபவà¯à®Ÿà®¿à®¯à¯†à®©à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "DJF"
+ },
+ "GEL": {
+ "name": "ஜியாரà¯à®œà®¿à®¯à®©à¯ லாரி",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "ஜோரà¯à®Ÿà®¾à®©à®¿à®¯à®©à¯ டைனரà¯",
+ "symbol": "JOD"
+ },
+ "SEK": {
+ "name": "ஸà¯à®µà¯‡à®¤à®¿à®·à¯ கà¯à®°à¯‹à®©à®¾",
+ "symbol": "SEK"
+ },
+ "ZMW": {
+ "name": "ஸாமà¯à®ªà®¿à®¯à®©à¯ கà¯à®µà®¾à®šà®¾",
+ "symbol": "ZMW"
+ },
+ "HUF": {
+ "name": "ஹஙà¯à®•à¯‡à®°à®¿à®¯à®©à¯ ஃபோரினà¯à®Ÿà¯",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "ஹயேதà¯à®¤à®¿à®¯à®©à¯ கோரà¯à®Ÿà¯‡",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "ஹாஙà¯à®•à®¾à®™à¯ டாலரà¯",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "ஹோனà¯à®Ÿà¯‚ரன௠லெமà¯à®ªà¯€à®°à®¾",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ta-SG.json b/library/intl/resources/currency/ta-SG.json
new file mode 100644
index 000000000..be3db0c1d
--- /dev/null
+++ b/library/intl/resources/currency/ta-SG.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "CFA ஃபà¯à®°à®¾à®™à¯à®•à¯ BCEAO",
+ "symbol": "CFA"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AOA": {
+ "name": "à®…à®™à¯à®•à¯‹à®²à®©à¯ கà¯à®µà®¾à®©à¯à®¸à®¾",
+ "symbol": "AOA"
+ },
+ "AZN": {
+ "name": "அசரà¯à®ªà¯ˆà®œà®¾à®©à®¿ மனதà¯",
+ "symbol": "AZN"
+ },
+ "USD": {
+ "name": "அமெரிகà¯à®• டாலரà¯",
+ "symbol": "US$"
+ },
+ "ARS": {
+ "name": "à®…à®°à¯à®œà¯†à®©à¯à®Ÿà®¿à®©à®¾ பேசோ",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "à®…à®°à¯à®ªà®©à¯ ஃபà¯à®³à¯‹à®°à®¿à®©à¯",
+ "symbol": "AWG"
+ },
+ "ALL": {
+ "name": "அலà¯à®ªà¯‡à®©à®¿à®¯à®©à¯ லெகà¯",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "அலà¯à®œà¯€à®°à®¿à®¯à®©à¯ தினாரà¯",
+ "symbol": "DZD"
+ },
+ "AFN": {
+ "name": "ஆஃபà¯à®•à®¾à®©à¯ ஆஃபà¯à®•à®¾à®©à®¿",
+ "symbol": "AFN"
+ },
+ "AMD": {
+ "name": "ஆரà¯à®®à¯‡à®©à®¿à®¯à®©à¯ டà¯à®°à®¾à®®à¯",
+ "symbol": "AMD"
+ },
+ "AUD": {
+ "name": "ஆஸà¯à®¤à®¿à®°à¯‡à®²à®¿à®¯ டாலரà¯",
+ "symbol": "A$"
+ },
+ "INR": {
+ "name": "இநà¯à®¤à®¿à®¯ ரூபாயà¯",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "இநà¯à®¤à¯‹à®©à¯‡à®·à®¿à®¯à®©à¯ à®°à¯à®ªà®¿à®¯à®¾",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "இரானியன௠ரியாலà¯",
+ "symbol": "IRR"
+ },
+ "ERN": {
+ "name": "இரிடிரியன௠நகà¯à®ƒà®ªà®¾",
+ "symbol": "ERN"
+ },
+ "LKR": {
+ "name": "இலஙà¯à®•à¯ˆ ரூபாயà¯",
+ "symbol": "LKR"
+ },
+ "ILS": {
+ "name": "இஸà¯à®°à¯‡à®²à®¿ நியூ ஷிகேலà¯",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "ஈராகà¯à®•à®¿ தினாரà¯",
+ "symbol": "IQD"
+ },
+ "UAH": {
+ "name": "உகà¯à®°à¯ˆà®©à®¿à®¯à®©à¯ ஹிரைவà¯à®©à®¿à®¯à®¾",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "உகாணà¯à®Ÿà®©à¯ ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "உரà¯à®•à¯à®µà¯‡à®¯à®©à¯ பேசோ",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "உஸà¯à®ªà¯†à®•à¯à®•à®¿à®¸à¯à®¤à®¾à®©à¯ சோமà¯",
+ "symbol": "UZS"
+ },
+ "EGP": {
+ "name": "எகிபà¯à®¤à®¿à®¯ பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "எதà¯à®¤à®¿à®¯à¯‹à®ªà¯à®ªà®¿à®¯à®©à¯ பிரà¯",
+ "symbol": "ETB"
+ },
+ "YER": {
+ "name": "à®à®®à®©à®¿ ரியாலà¯",
+ "symbol": "YER"
+ },
+ "AED": {
+ "name": "à®à®•à¯à®•à®¿à®¯ அரப௠எமிரேடà¯à®¸à¯ திரà¯à®¹à®®à¯",
+ "symbol": "AED"
+ },
+ "ISK": {
+ "name": "à®à®¸à¯à®²à®¾à®£à¯à®Ÿà®¿à®•à¯ கà¯à®°à¯‹à®©à®¾",
+ "symbol": "ISK"
+ },
+ "OMR": {
+ "name": "ஓமானி ரியாலà¯",
+ "symbol": "OMR"
+ },
+ "XAF": {
+ "name": "ஃபà¯à®°à®¾à®™à¯à®•à¯ (CFA BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "ஃபà¯à®°à®¾à®™à¯à®•à¯ (CFP)",
+ "symbol": "CFPF"
+ },
+ "FKP": {
+ "name": "ஃபாகà¯à®²à®¾à®¨à¯à®¤à¯ தீவà¯à®•à®³à¯ பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "ஃபிஜியன௠டாலரà¯",
+ "symbol": "FJD"
+ },
+ "QAR": {
+ "name": "கதà¯à®¤à®¾à®°à®¿ ரியாலà¯",
+ "symbol": "QAR"
+ },
+ "KHR": {
+ "name": "கமà¯à®ªà¯‹à®Ÿà®¿à®¯à®©à¯ ரியெலà¯",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "கமோரியன௠ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "KMF"
+ },
+ "GYD": {
+ "name": "கயானீஸ௠டாலரà¯",
+ "symbol": "GYD"
+ },
+ "CAD": {
+ "name": "கனடியன௠டாலரà¯",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "கஸகஸà¯à®¤à®¾à®©à®¿ டெனà¯à®•à¯‡",
+ "symbol": "KZT"
+ },
+ "CDF": {
+ "name": "காஙà¯à®•à¯‹à®²à¯€à®¸à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "CDF"
+ },
+ "GHS": {
+ "name": "கானயன௠சேடி",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "கிபà¯à®°à®¾à®²à¯à®Ÿà®°à¯ பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "GIP"
+ },
+ "CUC": {
+ "name": "கியூபன௠கனà¯à®µà¯†à®°à¯à®Ÿà®¿à®ªà®¿à®²à¯ பேசோ",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "கியூபன௠பெசோ",
+ "symbol": "CUP"
+ },
+ "KGS": {
+ "name": "கிரà¯à®•à®¿à®¸à¯à®¤à®¾à®©à®¿ சோமà¯",
+ "symbol": "KGS"
+ },
+ "XCD": {
+ "name": "கிழகà¯à®•à¯ கரீபியன௠டாலரà¯",
+ "symbol": "EC$"
+ },
+ "GNF": {
+ "name": "கினியன௠ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "GNF"
+ },
+ "HRK": {
+ "name": "கà¯à®°à¯‹à®·à®¿à®¯à®©à¯ கà¯à®©à®¾",
+ "symbol": "HRK"
+ },
+ "GTQ": {
+ "name": "கà¯à®µà®¾à®Ÿà¯†à®®à¯†à®²à®©à¯ கà¯à®¯à¯‚டà¯à®¸à®²à¯",
+ "symbol": "GTQ"
+ },
+ "KWD": {
+ "name": "கà¯à®µà¯ˆà®¤à¯à®¤à®¿ தினாரà¯",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "கெனà¯à®¯à®©à¯ ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "கேப௠வெரà¯à®Ÿà®¿à®¯à®©à¯ எஸà¯à®•à¯à®Ÿà¯‹",
+ "symbol": "CVE"
+ },
+ "GMD": {
+ "name": "கேமà¯à®ªà®¿à®¯à®©à¯ தலாசி",
+ "symbol": "GMD"
+ },
+ "KYD": {
+ "name": "கேமன௠தீவà¯à®•à®³à¯ டாலரà¯",
+ "symbol": "KYD"
+ },
+ "COP": {
+ "name": "கொலமà¯à®ªà®¿à®¯à®©à¯ பெசோ",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "கோஸà¯à®Ÿà®¾ ரிகன௠கொலோனà¯",
+ "symbol": "CRC"
+ },
+ "WST": {
+ "name": "சமோவான௠தாலா",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "சவà¯à®¤à®¿ ரியாலà¯",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "சாலமன௠தீவà¯à®•à®³à¯ டாலரà¯",
+ "symbol": "SBD"
+ },
+ "STD": {
+ "name": "சாவ௠டோமி மறà¯à®±à¯à®®à¯ பிரினà¯à®¸à¯à®ªà®¿ டோபà¯à®°à®¾",
+ "symbol": "STD"
+ },
+ "SGD": {
+ "name": "சிஙà¯à®•à®ªà¯à®ªà¯‚ர௠டாலரà¯",
+ "symbol": "$"
+ },
+ "SCR": {
+ "name": "சிசீலோயிஸ௠ரà¯à®ªà¯€",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "சியாரா லியோனியன௠லியோனà¯",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "சிரியன௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SYP"
+ },
+ "CLP": {
+ "name": "சிலியன௠பெசோ",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "சீன யà¯à®µà®¾à®©à¯",
+ "symbol": "CNÂ¥"
+ },
+ "SRD": {
+ "name": "சà¯à®°à®¿à®©à®¾à®®à¯€à®¸à¯ டாலரà¯",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "சà¯à®µà®¾à®¸à®¿ லிலாஙà¯à®•à®©à®¿",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "சà¯à®µà®¿à®¸à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "CHF"
+ },
+ "SDG": {
+ "name": "சூடானீஸ௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SDG"
+ },
+ "CZK": {
+ "name": "செக௠கà¯à®Ÿà®¿à®¯à®°à®šà¯ கொரà¯à®©à®¾",
+ "symbol": "CZK"
+ },
+ "SHP": {
+ "name": "செயினà¯à®Ÿà¯ ஹெலேனா பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SHP"
+ },
+ "RSD": {
+ "name": "செரà¯à®ªà®¿à®¯à®©à¯ தினாரà¯",
+ "symbol": "RSD"
+ },
+ "SOS": {
+ "name": "சோமாலி ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "SOS"
+ },
+ "DKK": {
+ "name": "டானிஷ௠கà¯à®°à¯‹à®©à¯",
+ "symbol": "DKK"
+ },
+ "TTD": {
+ "name": "டிரினாட௠மறà¯à®±à¯à®®à¯ டோபாகோ டாலரà¯",
+ "symbol": "TTD"
+ },
+ "DOP": {
+ "name": "டொமினிகà¯à®•à®©à¯ பேசோ",
+ "symbol": "DOP"
+ },
+ "TZS": {
+ "name": "தனà¯à®¸à®¾à®©à®¿à®¯à®©à¯ ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "TZS"
+ },
+ "TJS": {
+ "name": "தஜிகிஸà¯à®¤à®¾à®©à®¿ சோமோனி",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "தாய௠பாடà¯",
+ "symbol": "฿"
+ },
+ "TMT": {
+ "name": "தà¯à®°à¯à®•à¯à®®à¯‡à®©à®¿à®¸à¯à®¤à®¾à®©à®¿ மனதà¯",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "தà¯à®°à¯à®•à¯à®•à®¿à®·à¯ லீரா",
+ "symbol": "TRY"
+ },
+ "TND": {
+ "name": "தà¯à®©à®¿à®·à®¿à®¯à®©à¯ தினாரà¯",
+ "symbol": "TND"
+ },
+ "SSP": {
+ "name": "தெறà¯à®•à¯ சூடானீஸ௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SSP"
+ },
+ "ZAR": {
+ "name": "தென௠ஆபà¯à®°à®¿à®•à¯à®• ராணà¯à®Ÿà¯",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "தென௠கொரிய வானà¯",
+ "symbol": "â‚©"
+ },
+ "TOP": {
+ "name": "தொஙà¯à®•à®¾à®©à¯ பஙà¯à®•à®¾",
+ "symbol": "TOP"
+ },
+ "NAD": {
+ "name": "நமீபியன௠டாலரà¯",
+ "symbol": "NAD"
+ },
+ "NOK": {
+ "name": "நாரà¯à®µà¯‡à®œà®¿à®¯à®©à¯ கà¯à®°à¯‹à®©à¯",
+ "symbol": "NOK"
+ },
+ "NIO": {
+ "name": "நிகாராகà¯à®µà®¾à®©à¯ கோரà¯à®Ÿà¯‹à®ªà®¾",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "நியூசிலாநà¯à®¤à¯ டாலரà¯",
+ "symbol": "NZ$"
+ },
+ "ANG": {
+ "name": "நெதரà¯à®²à¯‡à®£à¯à®Ÿà¯à®¸à¯ அனà¯à®Ÿà®¿à®²à®¿à®¯à®©à¯ கிலà¯à®Ÿà®°à¯",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "நேபாளீஸ௠ரூபாயà¯",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "நைஜீரியன௠நைரா",
+ "symbol": "NGN"
+ },
+ "BDT": {
+ "name": "பஙà¯à®•à®³à®¾à®¤à¯‡à®·à®¿ டாகா",
+ "symbol": "BDT"
+ },
+ "PGK": {
+ "name": "பபà¯à®µà®¾ நியூ கினியன௠கினா",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "பராகà¯à®µà®©à¯ கà¯à®µà®¾à®°à®¾à®©à®¿",
+ "symbol": "PYG"
+ },
+ "PAB": {
+ "name": "பனாமானியன௠பாலà¯à®ªà¯‹à®ªà®¾",
+ "symbol": "PAB"
+ },
+ "BHD": {
+ "name": "பஹà¯à®°à¯ˆà®©à®¿ தினாரà¯",
+ "symbol": "BHD"
+ },
+ "BSD": {
+ "name": "பஹாமியன௠டாலரà¯",
+ "symbol": "BSD"
+ },
+ "PKR": {
+ "name": "பாகிஸà¯à®¤à®¾à®©à®¿ ரூபாயà¯",
+ "symbol": "PKR"
+ },
+ "BBD": {
+ "name": "பாரà¯à®ªà¯‡à®Ÿà®¿à®¯à®©à¯ டாலரà¯",
+ "symbol": "BBD"
+ },
+ "GBP": {
+ "name": "பிரிடà¯à®Ÿà®¿à®·à¯ பவà¯à®£à¯à®Ÿà¯ ஸà¯à®Ÿà¯†à®°à¯à®²à®¿à®™à¯",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "பிரேசிலியன௠ரியாலà¯",
+ "symbol": "R$"
+ },
+ "PHP": {
+ "name": "பிலிபà¯à®ªà¯ˆà®©à¯ பெசோ",
+ "symbol": "PHP"
+ },
+ "TWD": {
+ "name": "பà¯à®¤à®¿à®¯ தைவான௠டாலரà¯",
+ "symbol": "NT$"
+ },
+ "BIF": {
+ "name": "பà¯à®°à¯à®£à¯à®Ÿà®¿à®¯à®©à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "BIF"
+ },
+ "BND": {
+ "name": "பà¯à®°à¯‚னே டாலரà¯",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "பà¯à®²à¯à®•à¯‡à®°à®¿à®¯à®©à¯ லெவà¯",
+ "symbol": "BGN"
+ },
+ "BTN": {
+ "name": "பூடà¯à®Ÿà®¾à®©à®¿à®·à¯ நிகà¯à®²à¯à®Ÿà¯à®°à®®à¯",
+ "symbol": "BTN"
+ },
+ "BMD": {
+ "name": "பெரà¯à®®à¯à®Ÿà®©à¯ டாலரà¯",
+ "symbol": "BMD"
+ },
+ "PEN": {
+ "name": "பெரà¯à®µà®¿à®¯à®©à¯ நியூவோ சோலà¯",
+ "symbol": "PEN"
+ },
+ "BYR": {
+ "name": "பெலரà¯à®šà®¿à®¯à®©à¯ ரூபிலà¯",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "பெலீஷ௠டாலரà¯",
+ "symbol": "BZD"
+ },
+ "BOB": {
+ "name": "பொலிவியன௠பொலிவியானோ",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "போடà¯à®¸à¯à®µà®¾à®©à®¾ பà¯à®²à®¾",
+ "symbol": "BWP"
+ },
+ "PLN": {
+ "name": "போலிஷ௠ஸà¯à®²à®¾à®Ÿà¯à®Ÿà®¿",
+ "symbol": "PLN"
+ },
+ "BAM": {
+ "name": "போஸà¯à®©à®¿à®¯à®¾-ஹெரà¯à®¸à¯‡à®•à¯‹à®µà®¿à®©à®¾ கனà¯à®µà¯†à®°à¯à®Ÿà®¿à®ªà®¿à®²à¯ மாரà¯à®•à¯",
+ "symbol": "BAM"
+ },
+ "MNT": {
+ "name": "மஙà¯à®•à¯‹à®²à®¿à®¯à®©à¯ டà¯à®•à¯à®°à®¿à®•à¯",
+ "symbol": "MNT"
+ },
+ "MGA": {
+ "name": "மலகாசி à®à®°à®¿à®¯à®°à®¿",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "மலாவியன௠கà¯à®µà®¾à®šà¯à®šà®¾",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "மலேசிய ரிஙà¯à®•à®¿à®Ÿà¯",
+ "symbol": "RM"
+ },
+ "MDL": {
+ "name": "மாலà¯à®Ÿà¯‹à®µà®©à¯ லியூ",
+ "symbol": "MDL"
+ },
+ "MVR": {
+ "name": "மாலதà¯à®¤à¯€à®µà¯ à®°à¯à®ƒà®ªà®¿à®¯à®¾",
+ "symbol": "MVR"
+ },
+ "MMK": {
+ "name": "மியானà¯à®®à®°à¯ கியாதà¯",
+ "symbol": "MMK"
+ },
+ "MXN": {
+ "name": "மெகà¯à®¸à®¿à®•à®©à¯ பெசோ",
+ "symbol": "MX$"
+ },
+ "MOP": {
+ "name": "மெகனீஸ௠படாகா",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "மெசிடோனியன௠தினாரà¯",
+ "symbol": "MKD"
+ },
+ "MZN": {
+ "name": "மொசாமà¯à®ªà®¿à®•à¯‡à®©à¯ மெடிகலà¯",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "மொராகà¯à®•à¯‹ திரà¯à®¹à®¾à®®à¯",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "மொரிஷியனியன௠ஒகà¯à®¯à¯à®¯à®¾",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "மொரீஷியன௠ரà¯à®ªà¯€",
+ "symbol": "MUR"
+ },
+ "EUR": {
+ "name": "யூரோ",
+ "symbol": "€"
+ },
+ "RUB": {
+ "name": "ரஷியன௠ரூபிளà¯",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "à®°à¯à®µà®¾à®£à¯à®Ÿà®¾ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "ரோமானியன௠லியூ",
+ "symbol": "RON"
+ },
+ "LAK": {
+ "name": "லவà¯à®Ÿà¯à®Ÿà®¿à®¯à®©à¯ கிபà¯",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "லிதà¯à®µà¯‡à®©à®¿à®¯à®©à¯ லிடஸà¯",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "லிபியன௠தினாரà¯",
+ "symbol": "LYD"
+ },
+ "LSL": {
+ "name": "லெசோதோ லோடà¯à®Ÿà®¿",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "லெபனீஸ௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "லைபீரியன௠டாலரà¯",
+ "symbol": "LRD"
+ },
+ "KPW": {
+ "name": "வட கொரிய வானà¯",
+ "symbol": "KPW"
+ },
+ "VUV": {
+ "name": "வனà¯à®µà®¾à®Ÿà¯à®Ÿà¯ வாடà¯à®Ÿà¯",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "வியடà¯à®¨à®¾à®®à¯€à®¸à¯ டாஙà¯",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "வெனிசà¯à®²à®¿à®¯à®©à¯ போலிவரà¯",
+ "symbol": "VEF"
+ },
+ "JPY": {
+ "name": "ஜபà¯à®ªà®¾à®©à®¿à®¯ யெனà¯",
+ "symbol": "Â¥"
+ },
+ "JMD": {
+ "name": "ஜமைகà¯à®•à®¾à®©à¯ டாலரà¯",
+ "symbol": "JMD"
+ },
+ "DJF": {
+ "name": "ஜிபவà¯à®Ÿà®¿à®¯à¯†à®©à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "DJF"
+ },
+ "GEL": {
+ "name": "ஜியாரà¯à®œà®¿à®¯à®©à¯ லாரி",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "ஜோரà¯à®Ÿà®¾à®©à®¿à®¯à®©à¯ டைனரà¯",
+ "symbol": "JOD"
+ },
+ "SEK": {
+ "name": "ஸà¯à®µà¯‡à®¤à®¿à®·à¯ கà¯à®°à¯‹à®©à®¾",
+ "symbol": "SEK"
+ },
+ "ZMW": {
+ "name": "ஸாமà¯à®ªà®¿à®¯à®©à¯ கà¯à®µà®¾à®šà®¾",
+ "symbol": "ZMW"
+ },
+ "HUF": {
+ "name": "ஹஙà¯à®•à¯‡à®°à®¿à®¯à®©à¯ ஃபோரினà¯à®Ÿà¯",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "ஹயேதà¯à®¤à®¿à®¯à®©à¯ கோரà¯à®Ÿà¯‡",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "ஹாஙà¯à®•à®¾à®™à¯ டாலரà¯",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "ஹோனà¯à®Ÿà¯‚ரன௠லெமà¯à®ªà¯€à®°à®¾",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ta.json b/library/intl/resources/currency/ta.json
new file mode 100644
index 000000000..5af042dda
--- /dev/null
+++ b/library/intl/resources/currency/ta.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "CFA ஃபà¯à®°à®¾à®™à¯à®•à¯ BCEAO",
+ "symbol": "CFA"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AOA": {
+ "name": "à®…à®™à¯à®•à¯‹à®²à®©à¯ கà¯à®µà®¾à®©à¯à®¸à®¾",
+ "symbol": "AOA"
+ },
+ "AZN": {
+ "name": "அசரà¯à®ªà¯ˆà®œà®¾à®©à®¿ மனதà¯",
+ "symbol": "AZN"
+ },
+ "USD": {
+ "name": "அமெரிகà¯à®• டாலரà¯",
+ "symbol": "$"
+ },
+ "ARS": {
+ "name": "à®…à®°à¯à®œà¯†à®©à¯à®Ÿà®¿à®©à®¾ பேசோ",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "à®…à®°à¯à®ªà®©à¯ ஃபà¯à®³à¯‹à®°à®¿à®©à¯",
+ "symbol": "AWG"
+ },
+ "ALL": {
+ "name": "அலà¯à®ªà¯‡à®©à®¿à®¯à®©à¯ லெகà¯",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "அலà¯à®œà¯€à®°à®¿à®¯à®©à¯ தினாரà¯",
+ "symbol": "DZD"
+ },
+ "AFN": {
+ "name": "ஆஃபà¯à®•à®¾à®©à¯ ஆஃபà¯à®•à®¾à®©à®¿",
+ "symbol": "AFN"
+ },
+ "AMD": {
+ "name": "ஆரà¯à®®à¯‡à®©à®¿à®¯à®©à¯ டà¯à®°à®¾à®®à¯",
+ "symbol": "AMD"
+ },
+ "AUD": {
+ "name": "ஆஸà¯à®¤à®¿à®°à¯‡à®²à®¿à®¯ டாலரà¯",
+ "symbol": "A$"
+ },
+ "INR": {
+ "name": "இநà¯à®¤à®¿à®¯ ரூபாயà¯",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "இநà¯à®¤à¯‹à®©à¯‡à®·à®¿à®¯à®©à¯ à®°à¯à®ªà®¿à®¯à®¾",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "இரானியன௠ரியாலà¯",
+ "symbol": "IRR"
+ },
+ "ERN": {
+ "name": "இரிடிரியன௠நகà¯à®ƒà®ªà®¾",
+ "symbol": "ERN"
+ },
+ "LKR": {
+ "name": "இலஙà¯à®•à¯ˆ ரூபாயà¯",
+ "symbol": "LKR"
+ },
+ "ILS": {
+ "name": "இஸà¯à®°à¯‡à®²à®¿ நியூ ஷிகேலà¯",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "ஈராகà¯à®•à®¿ தினாரà¯",
+ "symbol": "IQD"
+ },
+ "UAH": {
+ "name": "உகà¯à®°à¯ˆà®©à®¿à®¯à®©à¯ ஹிரைவà¯à®©à®¿à®¯à®¾",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "உகாணà¯à®Ÿà®©à¯ ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "உரà¯à®•à¯à®µà¯‡à®¯à®©à¯ பேசோ",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "உஸà¯à®ªà¯†à®•à¯à®•à®¿à®¸à¯à®¤à®¾à®©à¯ சோமà¯",
+ "symbol": "UZS"
+ },
+ "EGP": {
+ "name": "எகிபà¯à®¤à®¿à®¯ பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "எதà¯à®¤à®¿à®¯à¯‹à®ªà¯à®ªà®¿à®¯à®©à¯ பிரà¯",
+ "symbol": "ETB"
+ },
+ "YER": {
+ "name": "à®à®®à®©à®¿ ரியாலà¯",
+ "symbol": "YER"
+ },
+ "AED": {
+ "name": "à®à®•à¯à®•à®¿à®¯ அரப௠எமிரேடà¯à®¸à¯ திரà¯à®¹à®®à¯",
+ "symbol": "AED"
+ },
+ "ISK": {
+ "name": "à®à®¸à¯à®²à®¾à®£à¯à®Ÿà®¿à®•à¯ கà¯à®°à¯‹à®©à®¾",
+ "symbol": "ISK"
+ },
+ "OMR": {
+ "name": "ஓமானி ரியாலà¯",
+ "symbol": "OMR"
+ },
+ "XAF": {
+ "name": "ஃபà¯à®°à®¾à®™à¯à®•à¯ (CFA BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "ஃபà¯à®°à®¾à®™à¯à®•à¯ (CFP)",
+ "symbol": "CFPF"
+ },
+ "FKP": {
+ "name": "ஃபாகà¯à®²à®¾à®¨à¯à®¤à¯ தீவà¯à®•à®³à¯ பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "ஃபிஜியன௠டாலரà¯",
+ "symbol": "FJD"
+ },
+ "QAR": {
+ "name": "கதà¯à®¤à®¾à®°à®¿ ரியாலà¯",
+ "symbol": "QAR"
+ },
+ "KHR": {
+ "name": "கமà¯à®ªà¯‹à®Ÿà®¿à®¯à®©à¯ ரியெலà¯",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "கமோரியன௠ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "KMF"
+ },
+ "GYD": {
+ "name": "கயானீஸ௠டாலரà¯",
+ "symbol": "GYD"
+ },
+ "CAD": {
+ "name": "கனடியன௠டாலரà¯",
+ "symbol": "CA$"
+ },
+ "KZT": {
+ "name": "கஸகஸà¯à®¤à®¾à®©à®¿ டெனà¯à®•à¯‡",
+ "symbol": "KZT"
+ },
+ "CDF": {
+ "name": "காஙà¯à®•à¯‹à®²à¯€à®¸à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "CDF"
+ },
+ "GHS": {
+ "name": "கானயன௠சேடி",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "கிபà¯à®°à®¾à®²à¯à®Ÿà®°à¯ பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "GIP"
+ },
+ "CUC": {
+ "name": "கியூபன௠கனà¯à®µà¯†à®°à¯à®Ÿà®¿à®ªà®¿à®²à¯ பேசோ",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "கியூபன௠பெசோ",
+ "symbol": "CUP"
+ },
+ "KGS": {
+ "name": "கிரà¯à®•à®¿à®¸à¯à®¤à®¾à®©à®¿ சோமà¯",
+ "symbol": "KGS"
+ },
+ "XCD": {
+ "name": "கிழகà¯à®•à¯ கரீபியன௠டாலரà¯",
+ "symbol": "EC$"
+ },
+ "GNF": {
+ "name": "கினியன௠ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "GNF"
+ },
+ "HRK": {
+ "name": "கà¯à®°à¯‹à®·à®¿à®¯à®©à¯ கà¯à®©à®¾",
+ "symbol": "HRK"
+ },
+ "GTQ": {
+ "name": "கà¯à®µà®¾à®Ÿà¯†à®®à¯†à®²à®©à¯ கà¯à®¯à¯‚டà¯à®¸à®²à¯",
+ "symbol": "GTQ"
+ },
+ "KWD": {
+ "name": "கà¯à®µà¯ˆà®¤à¯à®¤à®¿ தினாரà¯",
+ "symbol": "KWD"
+ },
+ "KES": {
+ "name": "கெனà¯à®¯à®©à¯ ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "கேப௠வெரà¯à®Ÿà®¿à®¯à®©à¯ எஸà¯à®•à¯à®Ÿà¯‹",
+ "symbol": "CVE"
+ },
+ "GMD": {
+ "name": "கேமà¯à®ªà®¿à®¯à®©à¯ தலாசி",
+ "symbol": "GMD"
+ },
+ "KYD": {
+ "name": "கேமன௠தீவà¯à®•à®³à¯ டாலரà¯",
+ "symbol": "KYD"
+ },
+ "COP": {
+ "name": "கொலமà¯à®ªà®¿à®¯à®©à¯ பெசோ",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "கோஸà¯à®Ÿà®¾ ரிகன௠கொலோனà¯",
+ "symbol": "CRC"
+ },
+ "WST": {
+ "name": "சமோவான௠தாலா",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "சவà¯à®¤à®¿ ரியாலà¯",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "சாலமன௠தீவà¯à®•à®³à¯ டாலரà¯",
+ "symbol": "SBD"
+ },
+ "STD": {
+ "name": "சாவ௠டோமி மறà¯à®±à¯à®®à¯ பிரினà¯à®¸à¯à®ªà®¿ டோபà¯à®°à®¾",
+ "symbol": "STD"
+ },
+ "SGD": {
+ "name": "சிஙà¯à®•à®ªà¯à®ªà¯‚ர௠டாலரà¯",
+ "symbol": "SGD"
+ },
+ "SCR": {
+ "name": "சிசீலோயிஸ௠ரà¯à®ªà¯€",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "சியாரா லியோனியன௠லியோனà¯",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "சிரியன௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SYP"
+ },
+ "CLP": {
+ "name": "சிலியன௠பெசோ",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "சீன யà¯à®µà®¾à®©à¯",
+ "symbol": "CNÂ¥"
+ },
+ "SRD": {
+ "name": "சà¯à®°à®¿à®©à®¾à®®à¯€à®¸à¯ டாலரà¯",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "சà¯à®µà®¾à®¸à®¿ லிலாஙà¯à®•à®©à®¿",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "சà¯à®µà®¿à®¸à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "CHF"
+ },
+ "SDG": {
+ "name": "சூடானீஸ௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SDG"
+ },
+ "CZK": {
+ "name": "செக௠கà¯à®Ÿà®¿à®¯à®°à®šà¯ கொரà¯à®©à®¾",
+ "symbol": "CZK"
+ },
+ "SHP": {
+ "name": "செயினà¯à®Ÿà¯ ஹெலேனா பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SHP"
+ },
+ "RSD": {
+ "name": "செரà¯à®ªà®¿à®¯à®©à¯ தினாரà¯",
+ "symbol": "RSD"
+ },
+ "SOS": {
+ "name": "சோமாலி ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "SOS"
+ },
+ "DKK": {
+ "name": "டானிஷ௠கà¯à®°à¯‹à®©à¯",
+ "symbol": "DKK"
+ },
+ "TTD": {
+ "name": "டிரினாட௠மறà¯à®±à¯à®®à¯ டோபாகோ டாலரà¯",
+ "symbol": "TTD"
+ },
+ "DOP": {
+ "name": "டொமினிகà¯à®•à®©à¯ பேசோ",
+ "symbol": "DOP"
+ },
+ "TZS": {
+ "name": "தனà¯à®¸à®¾à®©à®¿à®¯à®©à¯ ஷிலà¯à®²à®¿à®™à¯",
+ "symbol": "TZS"
+ },
+ "TJS": {
+ "name": "தஜிகிஸà¯à®¤à®¾à®©à®¿ சோமோனி",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "தாய௠பாடà¯",
+ "symbol": "฿"
+ },
+ "TMT": {
+ "name": "தà¯à®°à¯à®•à¯à®®à¯‡à®©à®¿à®¸à¯à®¤à®¾à®©à®¿ மனதà¯",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "தà¯à®°à¯à®•à¯à®•à®¿à®·à¯ லீரா",
+ "symbol": "TRY"
+ },
+ "TND": {
+ "name": "தà¯à®©à®¿à®·à®¿à®¯à®©à¯ தினாரà¯",
+ "symbol": "TND"
+ },
+ "SSP": {
+ "name": "தெறà¯à®•à¯ சூடானீஸ௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "SSP"
+ },
+ "ZAR": {
+ "name": "தென௠ஆபà¯à®°à®¿à®•à¯à®• ராணà¯à®Ÿà¯",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "தென௠கொரிய வானà¯",
+ "symbol": "â‚©"
+ },
+ "TOP": {
+ "name": "தொஙà¯à®•à®¾à®©à¯ பஙà¯à®•à®¾",
+ "symbol": "TOP"
+ },
+ "NAD": {
+ "name": "நமீபியன௠டாலரà¯",
+ "symbol": "NAD"
+ },
+ "NOK": {
+ "name": "நாரà¯à®µà¯‡à®œà®¿à®¯à®©à¯ கà¯à®°à¯‹à®©à¯",
+ "symbol": "NOK"
+ },
+ "NIO": {
+ "name": "நிகாராகà¯à®µà®¾à®©à¯ கோரà¯à®Ÿà¯‹à®ªà®¾",
+ "symbol": "NIO"
+ },
+ "NZD": {
+ "name": "நியூசிலாநà¯à®¤à¯ டாலரà¯",
+ "symbol": "NZ$"
+ },
+ "ANG": {
+ "name": "நெதரà¯à®²à¯‡à®£à¯à®Ÿà¯à®¸à¯ அனà¯à®Ÿà®¿à®²à®¿à®¯à®©à¯ கிலà¯à®Ÿà®°à¯",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "நேபாளீஸ௠ரூபாயà¯",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "நைஜீரியன௠நைரா",
+ "symbol": "NGN"
+ },
+ "BDT": {
+ "name": "பஙà¯à®•à®³à®¾à®¤à¯‡à®·à®¿ டாகா",
+ "symbol": "BDT"
+ },
+ "PGK": {
+ "name": "பபà¯à®µà®¾ நியூ கினியன௠கினா",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "பராகà¯à®µà®©à¯ கà¯à®µà®¾à®°à®¾à®©à®¿",
+ "symbol": "PYG"
+ },
+ "PAB": {
+ "name": "பனாமானியன௠பாலà¯à®ªà¯‹à®ªà®¾",
+ "symbol": "PAB"
+ },
+ "BHD": {
+ "name": "பஹà¯à®°à¯ˆà®©à®¿ தினாரà¯",
+ "symbol": "BHD"
+ },
+ "BSD": {
+ "name": "பஹாமியன௠டாலரà¯",
+ "symbol": "BSD"
+ },
+ "PKR": {
+ "name": "பாகிஸà¯à®¤à®¾à®©à®¿ ரூபாயà¯",
+ "symbol": "PKR"
+ },
+ "BBD": {
+ "name": "பாரà¯à®ªà¯‡à®Ÿà®¿à®¯à®©à¯ டாலரà¯",
+ "symbol": "BBD"
+ },
+ "GBP": {
+ "name": "பிரிடà¯à®Ÿà®¿à®·à¯ பவà¯à®£à¯à®Ÿà¯ ஸà¯à®Ÿà¯†à®°à¯à®²à®¿à®™à¯",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "பிரேசிலியன௠ரியாலà¯",
+ "symbol": "R$"
+ },
+ "PHP": {
+ "name": "பிலிபà¯à®ªà¯ˆà®©à¯ பெசோ",
+ "symbol": "PHP"
+ },
+ "TWD": {
+ "name": "பà¯à®¤à®¿à®¯ தைவான௠டாலரà¯",
+ "symbol": "NT$"
+ },
+ "BIF": {
+ "name": "பà¯à®°à¯à®£à¯à®Ÿà®¿à®¯à®©à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "BIF"
+ },
+ "BND": {
+ "name": "பà¯à®°à¯‚னே டாலரà¯",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "பà¯à®²à¯à®•à¯‡à®°à®¿à®¯à®©à¯ லெவà¯",
+ "symbol": "BGN"
+ },
+ "BTN": {
+ "name": "பூடà¯à®Ÿà®¾à®©à®¿à®·à¯ நிகà¯à®²à¯à®Ÿà¯à®°à®®à¯",
+ "symbol": "BTN"
+ },
+ "BMD": {
+ "name": "பெரà¯à®®à¯à®Ÿà®©à¯ டாலரà¯",
+ "symbol": "BMD"
+ },
+ "PEN": {
+ "name": "பெரà¯à®µà®¿à®¯à®©à¯ நியூவோ சோலà¯",
+ "symbol": "PEN"
+ },
+ "BYR": {
+ "name": "பெலரà¯à®šà®¿à®¯à®©à¯ ரூபிலà¯",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "பெலீஷ௠டாலரà¯",
+ "symbol": "BZD"
+ },
+ "BOB": {
+ "name": "பொலிவியன௠பொலிவியானோ",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "போடà¯à®¸à¯à®µà®¾à®©à®¾ பà¯à®²à®¾",
+ "symbol": "BWP"
+ },
+ "PLN": {
+ "name": "போலிஷ௠ஸà¯à®²à®¾à®Ÿà¯à®Ÿà®¿",
+ "symbol": "PLN"
+ },
+ "BAM": {
+ "name": "போஸà¯à®©à®¿à®¯à®¾-ஹெரà¯à®¸à¯‡à®•à¯‹à®µà®¿à®©à®¾ கனà¯à®µà¯†à®°à¯à®Ÿà®¿à®ªà®¿à®²à¯ மாரà¯à®•à¯",
+ "symbol": "BAM"
+ },
+ "MNT": {
+ "name": "மஙà¯à®•à¯‹à®²à®¿à®¯à®©à¯ டà¯à®•à¯à®°à®¿à®•à¯",
+ "symbol": "MNT"
+ },
+ "MGA": {
+ "name": "மலகாசி à®à®°à®¿à®¯à®°à®¿",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "மலாவியன௠கà¯à®µà®¾à®šà¯à®šà®¾",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "மலேஷியன௠ரிஙà¯à®•à®¿à®¤à¯",
+ "symbol": "MYR"
+ },
+ "MDL": {
+ "name": "மாலà¯à®Ÿà¯‹à®µà®©à¯ லியூ",
+ "symbol": "MDL"
+ },
+ "MVR": {
+ "name": "மாலதà¯à®¤à¯€à®µà¯ à®°à¯à®ƒà®ªà®¿à®¯à®¾",
+ "symbol": "MVR"
+ },
+ "MMK": {
+ "name": "மியானà¯à®®à®°à¯ கியாதà¯",
+ "symbol": "MMK"
+ },
+ "MXN": {
+ "name": "மெகà¯à®¸à®¿à®•à®©à¯ பெசோ",
+ "symbol": "MX$"
+ },
+ "MOP": {
+ "name": "மெகனீஸ௠படாகா",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "மெசிடோனியன௠தினாரà¯",
+ "symbol": "MKD"
+ },
+ "MZN": {
+ "name": "மொசாமà¯à®ªà®¿à®•à¯‡à®©à¯ மெடிகலà¯",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "மொராகà¯à®•à¯‹ திரà¯à®¹à®¾à®®à¯",
+ "symbol": "MAD"
+ },
+ "MRO": {
+ "name": "மொரிஷியனியன௠ஒகà¯à®¯à¯à®¯à®¾",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "மொரீஷியன௠ரà¯à®ªà¯€",
+ "symbol": "MUR"
+ },
+ "EUR": {
+ "name": "யூரோ",
+ "symbol": "€"
+ },
+ "RUB": {
+ "name": "ரஷியன௠ரூபிளà¯",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "à®°à¯à®µà®¾à®£à¯à®Ÿà®¾ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "ரோமானியன௠லியூ",
+ "symbol": "RON"
+ },
+ "LAK": {
+ "name": "லவà¯à®Ÿà¯à®Ÿà®¿à®¯à®©à¯ கிபà¯",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "லிதà¯à®µà¯‡à®©à®¿à®¯à®©à¯ லிடஸà¯",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "லிபியன௠தினாரà¯",
+ "symbol": "LYD"
+ },
+ "LSL": {
+ "name": "லெசோதோ லோடà¯à®Ÿà®¿",
+ "symbol": "LSL"
+ },
+ "LBP": {
+ "name": "லெபனீஸ௠பவà¯à®£à¯à®Ÿà¯",
+ "symbol": "LBP"
+ },
+ "LRD": {
+ "name": "லைபீரியன௠டாலரà¯",
+ "symbol": "LRD"
+ },
+ "KPW": {
+ "name": "வட கொரிய வானà¯",
+ "symbol": "KPW"
+ },
+ "VUV": {
+ "name": "வனà¯à®µà®¾à®Ÿà¯à®Ÿà¯ வாடà¯à®Ÿà¯",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "வியடà¯à®¨à®¾à®®à¯€à®¸à¯ டாஙà¯",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "வெனிசà¯à®²à®¿à®¯à®©à¯ போலிவரà¯",
+ "symbol": "VEF"
+ },
+ "JPY": {
+ "name": "ஜபà¯à®ªà®¾à®©à®¿à®¯ யெனà¯",
+ "symbol": "Â¥"
+ },
+ "JMD": {
+ "name": "ஜமைகà¯à®•à®¾à®©à¯ டாலரà¯",
+ "symbol": "JMD"
+ },
+ "DJF": {
+ "name": "ஜிபவà¯à®Ÿà®¿à®¯à¯†à®©à¯ ஃபà¯à®°à®¾à®™à¯à®•à¯",
+ "symbol": "DJF"
+ },
+ "GEL": {
+ "name": "ஜியாரà¯à®œà®¿à®¯à®©à¯ லாரி",
+ "symbol": "GEL"
+ },
+ "JOD": {
+ "name": "ஜோரà¯à®Ÿà®¾à®©à®¿à®¯à®©à¯ டைனரà¯",
+ "symbol": "JOD"
+ },
+ "SEK": {
+ "name": "ஸà¯à®µà¯‡à®¤à®¿à®·à¯ கà¯à®°à¯‹à®©à®¾",
+ "symbol": "SEK"
+ },
+ "ZMW": {
+ "name": "ஸாமà¯à®ªà®¿à®¯à®©à¯ கà¯à®µà®¾à®šà®¾",
+ "symbol": "ZMW"
+ },
+ "HUF": {
+ "name": "ஹஙà¯à®•à¯‡à®°à®¿à®¯à®©à¯ ஃபோரினà¯à®Ÿà¯",
+ "symbol": "HUF"
+ },
+ "HTG": {
+ "name": "ஹயேதà¯à®¤à®¿à®¯à®©à¯ கோரà¯à®Ÿà¯‡",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "ஹாஙà¯à®•à®¾à®™à¯ டாலரà¯",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "ஹோனà¯à®Ÿà¯‚ரன௠லெமà¯à®ªà¯€à®°à®¾",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/te.json b/library/intl/resources/currency/te.json
new file mode 100644
index 000000000..1b7457159
--- /dev/null
+++ b/library/intl/resources/currency/te.json
@@ -0,0 +1,634 @@
+{
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "AOA": {
+ "name": "అంగోలానౠకà±à°µà°¾à°¨à±â€Œà°œà°¾",
+ "symbol": "AOA"
+ },
+ "AZN": {
+ "name": "అజరà±à°¬à±ˆà°œà°¾à°¨à± మానటà±",
+ "symbol": "AZN"
+ },
+ "AMD": {
+ "name": "అమెరికనౠడà±à°°à°¾à°®à±",
+ "symbol": "AMD"
+ },
+ "USD": {
+ "name": "అమెరికా డాలరà±",
+ "symbol": "$"
+ },
+ "AWG": {
+ "name": "à°…à°°à±à°¬à°¨à± à°«à±à°²à±‹à°°à°¿à°¨à±",
+ "symbol": "AWG"
+ },
+ "ARS": {
+ "name": "à°…à°°à±à°œà±†à°‚టీనా పెసో",
+ "symbol": "ARS"
+ },
+ "DZD": {
+ "name": "à°…à°²à±à°œà±€à°°à°¿à°¯à°¨à± దీనారà±",
+ "symbol": "DZD"
+ },
+ "AFN": {
+ "name": "ఆఫà±à°˜à°¾à°¨à± ఆఫà±à°˜à°¾à°¨à°¿",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ఆలà±à°¬à±‡à°¨à°¿à°¯à°¨à± లేకà±",
+ "symbol": "ALL"
+ },
+ "AUD": {
+ "name": "ఆసà±à°Ÿà±à°°à±‡à°²à°¿à°¯à°¨à± డాలరà±",
+ "symbol": "A$"
+ },
+ "IDR": {
+ "name": "ఇండోనేషియా రూపాయి",
+ "symbol": "IDR"
+ },
+ "ETB": {
+ "name": "ఇథియోపియనౠబరà±",
+ "symbol": "ETB"
+ },
+ "IQD": {
+ "name": "ఇరాకీ దీనారà±",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ఇరానియనౠరీయలà±",
+ "symbol": "IRR"
+ },
+ "EGP": {
+ "name": "ఈజిపà±à°·à°¿à°¯à°¨à± పౌండà±",
+ "symbol": "EGP"
+ },
+ "UAH": {
+ "name": "ఉకà±à°°à°¯à°¿à°¨à°¿à°¯à°¨à± à°¹à±à°°à°¿à°µà±â€Œà°¨à°¿à°¯à°¾",
+ "symbol": "UAH"
+ },
+ "UZS": {
+ "name": "ఉజà±â€Œà°¬à±†à°•à°¿à°¸à±à°¤à°¾à°¨à± సౌమà±",
+ "symbol": "UZS"
+ },
+ "KPW": {
+ "name": "ఉతà±à°¤à°° కొరియా వోనà±",
+ "symbol": "KPW"
+ },
+ "UYU": {
+ "name": "ఉరà±à°—à±à°µà±†à°¯à°¨à± పెసో",
+ "symbol": "UYU"
+ },
+ "YER": {
+ "name": "à°Žà°®à±à°¨à±€ రీయలà±",
+ "symbol": "YER"
+ },
+ "ERN": {
+ "name": "à°Žà°°à°¿à°Ÿà±à°°à±€à°¨à± నకà±à°«à°¾",
+ "symbol": "ERN"
+ },
+ "ILS": {
+ "name": "à°à°°à°¾à°¯à°¿à°²à°¿ à°¨à±à°¯à±‚ షెకà±à°¯à±†à°²à±",
+ "symbol": "₪"
+ },
+ "ISK": {
+ "name": "à°à°¸à±à°²à°¾à°‚à°¡à°¿à°•à± à°•à±à°°à±‹à°¨à°¾",
+ "symbol": "ISK"
+ },
+ "OMR": {
+ "name": "ఒమాని రీయలà±",
+ "symbol": "OMR"
+ },
+ "KHR": {
+ "name": "కాంబోడియనౠరీలà±",
+ "symbol": "KHR"
+ },
+ "KGS": {
+ "name": "à°•à°¿à°°à±à°—à°¿à°¸à±à°¥à°¾à°¨à°¿ సౌమà±",
+ "symbol": "KGS"
+ },
+ "KWD": {
+ "name": "à°•à±à°µà±ˆà°Ÿà± దీనారà±",
+ "symbol": "KWD"
+ },
+ "CAD": {
+ "name": "కెనడియనౠడాలరà±",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "కెనà±à°¯à°¾à°¨à± à°·à°¿à°²à±à°²à°¿à°‚à°—à±",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "కేపౠవెరà±à°¡à°¿à°¯à°¨à± à°Žà°¸à±à°•à±à°¡à±‹",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "కేమానౠదీవà±à°² డాలరà±",
+ "symbol": "KYD"
+ },
+ "CDF": {
+ "name": "కొంగోలిసౠఫà±à°°à°¾à°‚à°•à±",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "కొమోరియనౠఫà±à°°à°¾à°‚à°•à±",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "కొలంబియనౠపెసో",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "కోసà±à°Ÿà°¾ రికనౠకోలోనà±",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "à°•à±à°¯à±‚బనౠకనà±à°µà°°à±à°Ÿà°¬à±à°²à± పెసో",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "à°•à±à°¯à±‚బనౠపెసో",
+ "symbol": "CUP"
+ },
+ "TWD": {
+ "name": "à°•à±à°°à±Šà°¤à±à°¤ తైవానౠడాలరà±",
+ "symbol": "NT$"
+ },
+ "HRK": {
+ "name": "à°•à±à°°à±Šà°¯à±‡à°·à°¿à°¯à°¨à± à°•à±à°¯à±‚à°¨",
+ "symbol": "HRK"
+ },
+ "QAR": {
+ "name": "à°•à±à°µà°¾à°Ÿà°°à°¿ రీయలà±",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "ఖజికిసà±à°¥à°¾à°¨à± టెంగే",
+ "symbol": "KZT"
+ },
+ "GMD": {
+ "name": "గాంబియనౠదలాసి",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "గానెయనౠసెడి",
+ "symbol": "GHS"
+ },
+ "GYD": {
+ "name": "à°—à±à°¯à°¨à°¿à°¯à°¾à°¸à± డాలరà±",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "à°—à±à°¯à±à°Ÿà±†à°®à°¾à°²à°¨à± à°•à±à°µà±†à°Ÿà±â€Œà°œà°²à±",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "à°—à±à°µà°¿à°¨à°¿à°¯à°¨à± à°«à±à°°à°¾à°‚à°•à±",
+ "symbol": "GNF"
+ },
+ "CLP": {
+ "name": "చిలియనౠపెసో",
+ "symbol": "CLP"
+ },
+ "CZK": {
+ "name": "చెకౠరిపబà±à°²à°¿à°•à± కోరà±à°¨à°¾",
+ "symbol": "CZK"
+ },
+ "CNY": {
+ "name": "చైనా దేశ à°¯à±à°µà°¾à°¨à±",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "జపానౠదేశ యెసà±",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "జమైకనౠడాలరà±",
+ "symbol": "JMD"
+ },
+ "ZMW": {
+ "name": "జాంబియనౠకà±à°µà°¾à°šà°¾",
+ "symbol": "ZMW"
+ },
+ "GEL": {
+ "name": "జారà±à°œà°¿à°¯à°¨à± లారి",
+ "symbol": "GEL"
+ },
+ "DJF": {
+ "name": "జిబోటియనౠఫà±à°°à°¾à°‚à°•à±",
+ "symbol": "DJF"
+ },
+ "GIP": {
+ "name": "జిబà±à°°à°²à±â€Œà°Ÿà±‚రౠపౌండà±",
+ "symbol": "GIP"
+ },
+ "JOD": {
+ "name": "జోరà±â€Œà°¡à°¾à°¨à°¿à°¯à°¨à± దీనారà±",
+ "symbol": "JOD"
+ },
+ "TZS": {
+ "name": "టాంజానియనౠషిలà±à°²à°¿à°‚à°—à±",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "టోంగానౠపాంʻగా",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "à°Ÿà±à°°à°¿à°¨à°¿à°¡à°¾à°¡à± మరియౠటొబాగో డాలరà±",
+ "symbol": "TTD"
+ },
+ "DKK": {
+ "name": "డానిషౠకà±à°°à±‹à°¨à±",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "డోమినికనౠపెసో",
+ "symbol": "DOP"
+ },
+ "TJS": {
+ "name": "తజికిసà±à°¥à°¾à°¨à± సమోని",
+ "symbol": "TJS"
+ },
+ "TND": {
+ "name": "à°¤à±à°¨à±€à°·à°¿à°¯à°¨à± దీనారà±",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "à°¤à±à°°à±à°•à°¿à°·à± లిరా",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "à°¤à±à°°à±à°•à±â€Œà°®à±†à°¨à°¿à°¸à±à°¥à°¾à°¨à°¿ మనాటà±",
+ "symbol": "TMT"
+ },
+ "XCD": {
+ "name": "తూరà±à°ªà± కరీబియనౠడాలరà±",
+ "symbol": "EC$"
+ },
+ "THB": {
+ "name": "థాయౠబాటà±",
+ "symbol": "฿"
+ },
+ "ZAR": {
+ "name": "దకà±à°·à°¿à°£ ఆఫà±à°°à°¿à°•à°¾ à°°à±à°¯à°¾à°‚à°¡à±",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "దకà±à°·à°¿à°£ కొరియా వోనà±",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "దకà±à°·à°¿à°£ à°¸à±à°¡à°¾à°¨à±€à°¸à± పౌండà±",
+ "symbol": "SSP"
+ },
+ "NAD": {
+ "name": "నమిబియనౠడాలరà±",
+ "symbol": "NAD"
+ },
+ "NOK": {
+ "name": "నారà±à°µà±‡à°œà±€à°¯à°¨à± à°•à±à°°à±‹à°¨à±",
+ "symbol": "NOK"
+ },
+ "NIO": {
+ "name": "నికరగà±à°¯à±à°¯à°¨à± కొరà±â€Œà°¡à±à°¬à±",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "నెదరà±à°²à°¾à°‚à°¡à±à°¸à± యాంటిలà±à°²à°¿à°¯à°¨à± à°—à°¿à°²à±â€Œà°¡à°°à±",
+ "symbol": "ANG"
+ },
+ "NPR": {
+ "name": "నేపాలీయà±à°² రూపాయి",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "నైజీరియనౠనైరా",
+ "symbol": "NGN"
+ },
+ "NZD": {
+ "name": "à°¨à±à°¯à±‚జిలాండౠడాలరà±",
+ "symbol": "NZ$"
+ },
+ "PAB": {
+ "name": "పనామనియనౠబలà±à°¬à±‹à°µ",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "పపà±à°¯à±‚ à°¨à±à°¯à±‚ à°—à±à°¯à°¿à°¨à°¿à°¯à°¨à± కినా",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "పరగà±à°µà°¾à°¯à°¨à± à°—à±à°µà°¾à°°à°¨à°¿",
+ "symbol": "PYG"
+ },
+ "PKR": {
+ "name": "పాకిసà±à°¥à°¾à°¨à± రూపాయి",
+ "symbol": "PKR"
+ },
+ "PEN": {
+ "name": "పెరà±à°µà°¿à°¯à°¨à± à°¨à±à°¯à±‚వో సోలà±",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "పోలిషౠజà±à°²à±‹à°Ÿà±€",
+ "symbol": "PLN"
+ },
+ "FKP": {
+ "name": "ఫాకà±â€Œà°²à±à°¯à°¾à°‚డౠదీవà±à°²à± పౌండà±",
+ "symbol": "FKP"
+ },
+ "PHP": {
+ "name": "ఫిలిపà±à°ªà°¿à°¨à± పెసో",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "ఫీజియనౠడాలరà±",
+ "symbol": "FJD"
+ },
+ "BBD": {
+ "name": "బరà±à°¬à°¾à°¡à°¿à°¯à°¨à± డాలరà±",
+ "symbol": "BBD"
+ },
+ "BGN": {
+ "name": "బలà±à°—ేరియనౠలేవà±",
+ "symbol": "BGN"
+ },
+ "BSD": {
+ "name": "బహామియనౠడాలరà±",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "బహà±à°°à±ˆà°¨à°¿ దీనారà±",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "బాంగà±à°²à°¾à°¦à±‡à°¶à± టాకా",
+ "symbol": "BDT"
+ },
+ "BIF": {
+ "name": "à°¬à±à°°à°¿à°‚డియనౠఫà±à°°à°¾à°‚à°•à±",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "బెరà±à°®à±à°¡à°¨à± డాలరà±",
+ "symbol": "BMD"
+ },
+ "BYR": {
+ "name": "బెలరూసియనౠరూబలà±",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "బెలీజౠడాలరà±",
+ "symbol": "BZD"
+ },
+ "BOB": {
+ "name": "బొలీవియనౠబొలీవియానో",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "బోటà±à°¸à±â€Œà°µà°¾à°¨à°¾ à°ªà±à°²à°¾",
+ "symbol": "BWP"
+ },
+ "BAM": {
+ "name": "బోసà±à°¨à°¿à°¯à°¾-హెరà±à°œà°—ోవినా మారà±à°ªà°¿à°¡à°¿ చెయà±à°¯à°—లిగే మారà±à°•à±",
+ "symbol": "BAM"
+ },
+ "GBP": {
+ "name": "à°¬à±à°°à°¿à°Ÿà°¿à°·à± పౌండౠసà±à°Ÿà±†à°°à±à°²à°¿à°‚à°—à±",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "à°¬à±à°°à±‚నై డాలరà±",
+ "symbol": "BND"
+ },
+ "BRL": {
+ "name": "à°¬à±à°°à±†à°œà°¿à°²à°¿à°¯à°¨à± రియలà±",
+ "symbol": "R$"
+ },
+ "BTN": {
+ "name": "భూటానీయà±à°² à°—à±à°²à±â€Œà°Ÿà±à°°à±à°®à±",
+ "symbol": "BTN"
+ },
+ "MNT": {
+ "name": "మంగోలియనౠటà±à°—à±à°°à°¿à°•à±",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "మకనీసౠపటాక",
+ "symbol": "MOP"
+ },
+ "MMK": {
+ "name": "మయనà±à°®à°¾à°°à± à°•à±à°¯à°¾à°Ÿà±",
+ "symbol": "MMK"
+ },
+ "MGA": {
+ "name": "మలగసీ అరియరీ",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "మలావియనౠకà±à°µà°¾à°šà°¾",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "మలేషియా à°°à°¿à°‚à°—à±à°—à°¿à°Ÿà±",
+ "symbol": "MYR"
+ },
+ "MUR": {
+ "name": "మారిషనౠరూపాయి",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "మాలà±à°¦à±€à°µà°¿à°¯à°¨à± à°°à±à°«à°¿à°¯à°¾",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "మెకà±à°¸à°¿à°•à°¨à± పెసో",
+ "symbol": "MX$"
+ },
+ "MKD": {
+ "name": "మెసిడోనియనౠదినారà±",
+ "symbol": "MKD"
+ },
+ "MZN": {
+ "name": "మొజాంబికనౠమెటికలà±",
+ "symbol": "MZN"
+ },
+ "MAD": {
+ "name": "మోరోకనౠదిరà±à°¹à±à°®à±",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "మోలà±â€Œà°¡à±‹à°µà°¨à± à°²à±à°¯à±‚",
+ "symbol": "MDL"
+ },
+ "MRO": {
+ "name": "మౌరిటానియనౠఒగà±à°¯à°¿à°¯à°¾",
+ "symbol": "MRO"
+ },
+ "UGX": {
+ "name": "à°¯à±à°—ండనౠషిలà±à°²à°¿à°‚à°—à±",
+ "symbol": "UGX"
+ },
+ "AED": {
+ "name": "à°¯à±à°¨à±ˆà°Ÿà±†à°¡à± ఆరబౠఎమిరేటà±à°¸à± దిరామà±",
+ "symbol": "AED"
+ },
+ "EUR": {
+ "name": "à°¯à±à°°à±Š",
+ "symbol": "€"
+ },
+ "RUB": {
+ "name": "à°°à°·à±à°¯à°¨à± రూబలà±",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "రూపాయి",
+ "symbol": "₹"
+ },
+ "RON": {
+ "name": "రోమానియానౠలెయà±",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "à°°à±à°µà°¾à°¨à°¡à°¾à°¨à± à°«à±à°°à°¾à°‚à°•à±",
+ "symbol": "RWF"
+ },
+ "LAK": {
+ "name": "లాటియనౠకిపà±",
+ "symbol": "LAK"
+ },
+ "LTL": {
+ "name": "లిథోనియనౠలీటాసà±",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "లిబియనౠదీనారà±",
+ "symbol": "LYD"
+ },
+ "LRD": {
+ "name": "లిబేరియనౠడాలరà±",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "లెబనీసౠపౌండà±",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "లెసోధో లోటి",
+ "symbol": "LSL"
+ },
+ "VUV": {
+ "name": "వనాటౠవటà±",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "వియతà±à°¨à°¾à°®à±€à°¯à±à°² డాంగà±",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "వెనà±à°œà±à°²à°¾ బోలివరà±",
+ "symbol": "VEF"
+ },
+ "LKR": {
+ "name": "à°¶à±à°°à±€à°²à°‚à°• రూపాయి",
+ "symbol": "LKR"
+ },
+ "WST": {
+ "name": "సమోయనౠతాలా",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "సావో టోమౠమరియౠపà±à°°à°¿à°¨à±à°¸à°¿à°ªà°¿ డోబà±à°°à°¾",
+ "symbol": "STD"
+ },
+ "XAF": {
+ "name": "సిఎఫà±â€Œà°Ž à°«à±à°°à°¾à°‚కౠబిఇà°à°¸à°¿",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "సిఎఫà±â€Œà°Ž à°«à±à°°à°¾à°‚కౠబిసిఈà°à°“",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "సిఎఫà±â€Œà°ªà°¿ à°«à±à°°à°¾à°‚à°•à±",
+ "symbol": "CFPF"
+ },
+ "SGD": {
+ "name": "సింగపూరౠడాలరà±",
+ "symbol": "SGD"
+ },
+ "SYP": {
+ "name": "సిరీయనౠపౌండà±",
+ "symbol": "SYP"
+ },
+ "SLL": {
+ "name": "సీయిరౠలియోనియనౠలీయోనà±",
+ "symbol": "SLL"
+ },
+ "SDG": {
+ "name": "à°¸à±à°¡à°¾à°¨à±€à°¸à± పౌండà±",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "à°¸à±à°°à°¿à°¨à°¾à°®à±€à°¯à±à°² డాలరà±",
+ "symbol": "SRD"
+ },
+ "SHP": {
+ "name": "సెయింటౠహెలెనా పౌండà±",
+ "symbol": "SHP"
+ },
+ "SCR": {
+ "name": "సెయిచెలà±à°²à±‹à°¯à°¿à°¸à± రూపాయి",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "సెరà±à°¬à°¿à°¯à°¨à± దీనారà±",
+ "symbol": "RSD"
+ },
+ "SOS": {
+ "name": "సొమాలి à°·à°¿à°²à±à°²à°¿à°‚à°—à±",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "సోలోమనౠదీవà±à°² డాలరà±",
+ "symbol": "SBD"
+ },
+ "SAR": {
+ "name": "సౌది రియలà±",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "à°¸à±à°µà°¾à°œà°¿ లిలానà±à°—ేని",
+ "symbol": "SZL"
+ },
+ "CHF": {
+ "name": "à°¸à±à°µà°¿à°¸à± à°«à±à°°à°¾à°‚à°•à±",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "à°¸à±à°µà±€à°¡à°¿à°·à± à°•à±à°°à±‹à°¨à°¾",
+ "symbol": "SEK"
+ },
+ "HUF": {
+ "name": "హంగేరియనౠఫోరినà±à°Ÿà±",
+ "symbol": "HUF"
+ },
+ "HKD": {
+ "name": "హాంకాంగౠడాలరà±",
+ "symbol": "HK$"
+ },
+ "HTG": {
+ "name": "హైటియనౠగà±à°µà±‹à°°à±à°¡à±‡",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "హోండà±à°°à°¨à± లెమిపిరా",
+ "symbol": "HNL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/teo.json b/library/intl/resources/currency/teo.json
new file mode 100644
index 000000000..f80416729
--- /dev/null
+++ b/library/intl/resources/currency/teo.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ZAR": {
+ "name": "Ango’otol lok’ Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "DZD": {
+ "name": "Ango’otol lok’ Aljeria",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "Ango’otol lok’ Angola",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "Ango’otol lok’ Australia",
+ "symbol": "A$"
+ },
+ "BHD": {
+ "name": "Ango’otol lok’ Bahareni",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "Ango’otol lok’ Botswana",
+ "symbol": "BWP"
+ },
+ "MGA": {
+ "name": "Ango’otol lok’ Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "Ango’otol lok’ Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Ango’otol lok’ CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Ango’otol lok’ CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "Ango’otol lok’ China",
+ "symbol": "CNÂ¥"
+ },
+ "ERN": {
+ "name": "Ango’otol lok’ Eritrea",
+ "symbol": "ERN"
+ },
+ "AED": {
+ "name": "Ango’otol lok’ Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "INR": {
+ "name": "Ango’otol lok’ India",
+ "symbol": "₹"
+ },
+ "DJF": {
+ "name": "Ango’otol lok’ Jibuti",
+ "symbol": "DJF"
+ },
+ "KES": {
+ "name": "Ango’otol lok’ Kenya",
+ "symbol": "KES"
+ },
+ "CVE": {
+ "name": "Ango’otol lok’ Kepuvede",
+ "symbol": "CVE"
+ },
+ "JPY": {
+ "name": "Ango’otol lok’ Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "KMF": {
+ "name": "Ango’otol lok’ Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Ango’otol lok’ Kongo",
+ "symbol": "CDF"
+ },
+ "LSL": {
+ "name": "Ango’otol lok’ Lesoto",
+ "symbol": "LSL"
+ },
+ "LYD": {
+ "name": "Ango’otol lok’ Libya",
+ "symbol": "LYD"
+ },
+ "MWK": {
+ "name": "Ango’otol lok’ Malawi",
+ "symbol": "MWK"
+ },
+ "MUR": {
+ "name": "Ango’otol lok’ Morisi",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Ango’otol lok’ Moritania",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "Ango’otol lok’ Moroko",
+ "symbol": "MAD"
+ },
+ "NAD": {
+ "name": "Ango’otol lok’ Namibia",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "Ango’otol lok’ Nijeria",
+ "symbol": "NGN"
+ },
+ "RWF": {
+ "name": "Ango’otol lok’ Rwanda",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "Ango’otol lok’ Santahelena",
+ "symbol": "SHP"
+ },
+ "STD": {
+ "name": "Ango’otol lok’ Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Ango’otol lok’ Saudia",
+ "symbol": "SAR"
+ },
+ "SCR": {
+ "name": "Ango’otol lok’ Shelisheli",
+ "symbol": "SCR"
+ },
+ "SOS": {
+ "name": "Ango’otol lok’ Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Ango’otol lok’ Tanzania",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "Ango’otol lok’ Tunisia",
+ "symbol": "TND"
+ },
+ "UGX": {
+ "name": "Ango’otol lok’ Uganda",
+ "symbol": "USh"
+ },
+ "ETB": {
+ "name": "Ango’otol lok’ Uhabeshi",
+ "symbol": "ETB"
+ },
+ "CHF": {
+ "name": "Ango’otol lok’ Uswisi",
+ "symbol": "CHF"
+ },
+ "ZMW": {
+ "name": "Ango’otol lok’ Zambia",
+ "symbol": "ZMW"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "USD": {
+ "name": "edola lok’ Amareka",
+ "symbol": "US$"
+ },
+ "LRD": {
+ "name": "edola lok’ Liberia",
+ "symbol": "LRD"
+ },
+ "CAD": {
+ "name": "Edola lok’Kanada",
+ "symbol": "CA$"
+ },
+ "EGP": {
+ "name": "Epaunt lok’ Misri",
+ "symbol": "EGP"
+ },
+ "SDG": {
+ "name": "Epaunt Lok’ Sudan",
+ "symbol": "SDG"
+ },
+ "GBP": {
+ "name": "Epaunt lok’ Uingereza",
+ "symbol": "£"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/th.json b/library/intl/resources/currency/th.json
new file mode 100644
index 000000000..b011356a8
--- /dev/null
+++ b/library/intl/resources/currency/th.json
@@ -0,0 +1,634 @@
+{
+ "AOA": {
+ "name": "à¸à¸§à¸²à¸™à¸‹à¸²à¹à¸­à¸‡à¹‚à¸à¸¥à¸²",
+ "symbol": "AOA"
+ },
+ "PYG": {
+ "name": "à¸à¸§à¸²à¸£à¸²à¸™à¸µà¸›à¸²à¸£à¸²à¸à¸§à¸±à¸¢",
+ "symbol": "PYG"
+ },
+ "NIO": {
+ "name": "à¸à¸­à¸£à¹Œà¹‚ดบานิà¸à¸²à¸£à¸²à¸à¸±à¸§",
+ "symbol": "NIO"
+ },
+ "ANG": {
+ "name": "à¸à¸´à¸¥à¹€à¸”อร์เนเธอร์à¹à¸¥à¸™à¸”์à¹à¸­à¸™à¸—ิลลิส",
+ "symbol": "ANG"
+ },
+ "PGK": {
+ "name": "à¸à¸µà¸™à¸²à¸›à¸²à¸›à¸±à¸§à¸™à¸´à¸§à¸à¸´à¸™à¸µ",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "à¸à¸µà¸šà¸¥à¸²à¸§",
+ "symbol": "LAK"
+ },
+ "HTG": {
+ "name": "à¸à¸¹à¸£à¹Œà¸”เฮติ",
+ "symbol": "HTG"
+ },
+ "CRC": {
+ "name": "โà¸à¸¥à¸­à¸‡à¸„อสตาริà¸à¸²",
+ "symbol": "CRC"
+ },
+ "ZMW": {
+ "name": "ควาชาà¹à¸‹à¸¡à¹€à¸šà¸µà¸¢",
+ "symbol": "ZMW"
+ },
+ "MWK": {
+ "name": "ควาชามาลาวี",
+ "symbol": "MWK"
+ },
+ "HRK": {
+ "name": "คูนาโครเอเชีย",
+ "symbol": "HRK"
+ },
+ "GTQ": {
+ "name": "เควตซัลà¸à¸±à¸§à¹€à¸•à¸¡à¸²à¸¥à¸²",
+ "symbol": "GTQ"
+ },
+ "DKK": {
+ "name": "โครนเดนมาร์à¸",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "โครนนอร์เวย์",
+ "symbol": "NOK"
+ },
+ "SEK": {
+ "name": "โครนาสวีเดน",
+ "symbol": "SEK"
+ },
+ "ISK": {
+ "name": "โครนาไอซ์à¹à¸¥à¸™à¸”์",
+ "symbol": "ISK"
+ },
+ "CZK": {
+ "name": "โครูนาสาธารณรัà¸à¹€à¸Šà¹‡à¸",
+ "symbol": "CZK"
+ },
+ "SVC": {
+ "name": "โคลอนเอลซัลวาดอร์",
+ "symbol": "SVC"
+ },
+ "MMK": {
+ "name": "จ๊าตพม่า",
+ "symbol": "MMK"
+ },
+ "KES": {
+ "name": "ชิลลิ่งเคนยา",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "ชิลลิงโซมาเลีย",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "ชิลลิงà¹à¸—นซาเนีย",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "ชิลลิงยูà¸à¸±à¸™à¸”า",
+ "symbol": "UGX"
+ },
+ "PLN": {
+ "name": "ซลอตีโปà¹à¸¥à¸™à¸”์",
+ "symbol": "PLN"
+ },
+ "KGS": {
+ "name": "ซอมคีร์à¸à¸µà¸‹à¸ªà¸–าน",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "ซอมอุซเบà¸à¸´à¸ªà¸–าน",
+ "symbol": "UZS"
+ },
+ "GHS": {
+ "name": "เซดีà¸à¸²à¸™à¸²",
+ "symbol": "GHS"
+ },
+ "TJS": {
+ "name": "โซโมนิทาจิà¸à¸´à¸ªà¸–าน",
+ "symbol": "TJS"
+ },
+ "VND": {
+ "name": "ดองเวียดนาม",
+ "symbol": "â‚«"
+ },
+ "STD": {
+ "name": "ดอบราเซาตูเมà¹à¸¥à¸°à¸›à¸£à¸´à¸™à¸‹à¸´à¸›à¸µ",
+ "symbol": "STD"
+ },
+ "GYD": {
+ "name": "ดอลลาร์à¸à¸²à¸¢à¸­à¸²à¸™à¸²",
+ "symbol": "GYD"
+ },
+ "CAD": {
+ "name": "ดอลลาร์à¹à¸„นาดา",
+ "symbol": "CA$"
+ },
+ "XCD": {
+ "name": "ดอลลาร์à¹à¸„ริบเบียนตะวันออà¸",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "ดอลลาร์จาเมà¸à¸²",
+ "symbol": "JMD"
+ },
+ "ZWL": {
+ "name": "ดอลลาร์ซิมบับเว (2009)",
+ "symbol": "ZWL"
+ },
+ "SRD": {
+ "name": "ดอลลาร์ซูรินาเม",
+ "symbol": "SRD"
+ },
+ "TTD": {
+ "name": "ดอลลาร์ตรินิà¹à¸”ดà¹à¸¥à¸°à¹‚ตเบโà¸",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "ดอลลาร์ไต้หวันใหม่",
+ "symbol": "NT$"
+ },
+ "NAD": {
+ "name": "ดอลลาร์นามิเบีย",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "ดอลลาร์นิวซีà¹à¸¥à¸™à¸”์",
+ "symbol": "NZ$"
+ },
+ "BND": {
+ "name": "ดอลลาร์บรูไน",
+ "symbol": "BND"
+ },
+ "BBD": {
+ "name": "ดอลลาร์บาร์เบโดส",
+ "symbol": "BBD"
+ },
+ "BSD": {
+ "name": "ดอลลาร์บาฮามาส",
+ "symbol": "BSD"
+ },
+ "BZD": {
+ "name": "ดอลลาร์เบลีซ",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "ดอลลาร์เบอร์มิวดา",
+ "symbol": "BMD"
+ },
+ "FJD": {
+ "name": "ดอลลาร์ฟิจิ",
+ "symbol": "FJD"
+ },
+ "LRD": {
+ "name": "ดอลลาร์ไลบีเรีย",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "ดอลลาร์สหรัà¸",
+ "symbol": "US$"
+ },
+ "SGD": {
+ "name": "ดอลลาร์สิงคโปร์",
+ "symbol": "SGD"
+ },
+ "KYD": {
+ "name": "ดอลลาร์หมู่เà¸à¸²à¸°à¹€à¸„ย์à¹à¸¡à¸™",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "ดอลลาร์หมู่เà¸à¸²à¸°à¹‚ซโลมอน",
+ "symbol": "SBD"
+ },
+ "AUD": {
+ "name": "ดอลลาร์ออสเตรเลีย",
+ "symbol": "AU$"
+ },
+ "HKD": {
+ "name": "ดอลลาร์ฮ่องà¸à¸‡",
+ "symbol": "HK$"
+ },
+ "GMD": {
+ "name": "ดาลาซีà¹à¸à¸¡à¹€à¸šà¸µà¸¢",
+ "symbol": "GMD"
+ },
+ "KWD": {
+ "name": "ดีนาร์คูเวต",
+ "symbol": "KWD"
+ },
+ "JOD": {
+ "name": "ดีนาร์จอร์à¹à¸”น",
+ "symbol": "JOD"
+ },
+ "RSD": {
+ "name": "ดีนาร์เซอร์เบีย",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "ดีนาร์ตูนิเซีย",
+ "symbol": "TND"
+ },
+ "BHD": {
+ "name": "ดีนาร์บาห์เรน",
+ "symbol": "BHD"
+ },
+ "MKD": {
+ "name": "ดีนาร์มาซิโดเนีย",
+ "symbol": "MKD"
+ },
+ "LYD": {
+ "name": "ดีนาร์ลิเบีย",
+ "symbol": "LYD"
+ },
+ "IQD": {
+ "name": "ดีนาร์อิรัà¸",
+ "symbol": "IQD"
+ },
+ "DZD": {
+ "name": "ดีนาร์à¹à¸­à¸¥à¸ˆà¸µà¹€à¸£à¸µà¸¢",
+ "symbol": "DZD"
+ },
+ "MAD": {
+ "name": "ดีà¹à¸£à¸«à¹Œà¸¡à¹‚มร็อà¸à¹‚à¸",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "เดอร์à¹à¸®à¸¡à¸ªà¸«à¸£à¸±à¸à¸­à¸²à¸«à¸£à¸±à¸šà¹€à¸­à¸¡à¸´à¹€à¸£à¸•à¸ªà¹Œ",
+ "symbol": "AED"
+ },
+ "AMD": {
+ "name": "à¹à¸”รมอาร์เมเนีย",
+ "symbol": "AMD"
+ },
+ "BDT": {
+ "name": "ตาà¸à¸²à¸šà¸±à¸‡à¸à¸¥à¸²à¹€à¸—ศ",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "ทาลาซามัว",
+ "symbol": "WST"
+ },
+ "MNT": {
+ "name": "ทูà¸à¸£à¸´à¸à¸¡à¸­à¸‡à¹‚à¸à¹€à¸¥à¸µà¸¢",
+ "symbol": "MNT"
+ },
+ "KZT": {
+ "name": "เทงเจคาซัคสถาน",
+ "symbol": "KZT"
+ },
+ "ILS": {
+ "name": "นิวเชเà¸à¸¥à¸­à¸´à¸ªà¸£à¸²à¹€à¸­à¸¥",
+ "symbol": "₪"
+ },
+ "PEN": {
+ "name": "นูโวซอลเปรู",
+ "symbol": "PEN"
+ },
+ "ERN": {
+ "name": "à¹à¸™à¸à¸Ÿà¸²à¹€à¸­à¸£à¸´à¹€à¸—รีย",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "ไนราไนจีเรีย",
+ "symbol": "NGN"
+ },
+ "PAB": {
+ "name": "บัลบัวปานามา",
+ "symbol": "PAB"
+ },
+ "THB": {
+ "name": "บาทไทย",
+ "symbol": "THB"
+ },
+ "ETB": {
+ "name": "เบอรร์เอธิโอเปีย",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "โบลิวาร์เวเนซุเอลา",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "โบลิเวียโนโบลิเวีย",
+ "symbol": "BOB"
+ },
+ "SYP": {
+ "name": "ปอนด์ซีเรีย",
+ "symbol": "SYP"
+ },
+ "SDG": {
+ "name": "ปอนด์ซูดาน",
+ "symbol": "SDG"
+ },
+ "SSP": {
+ "name": "ปอนด์ซูดานใต้",
+ "symbol": "SSP"
+ },
+ "SHP": {
+ "name": "ปอนด์เซนต์เฮเลนา",
+ "symbol": "SHP"
+ },
+ "GIP": {
+ "name": "ปอนด์ยิบรอลตาร์",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "ปอนด์เลบานอน",
+ "symbol": "LBP"
+ },
+ "GBP": {
+ "name": "ปอนด์สเตอร์ลิง (สหราชอาณาจัà¸à¸£)",
+ "symbol": "£"
+ },
+ "FKP": {
+ "name": "ปอนด์หมู่เà¸à¸²à¸°à¸Ÿà¸­à¸¥à¹Œà¸à¹à¸¥à¸™à¸”์",
+ "symbol": "FKP"
+ },
+ "EGP": {
+ "name": "ปอนด์อียิปต์",
+ "symbol": "EGP"
+ },
+ "MOP": {
+ "name": "ปาตาà¸à¸²à¸¡à¸²à¹€à¸à¹Šà¸²",
+ "symbol": "MOP"
+ },
+ "BWP": {
+ "name": "ปูลาบอตสวานา",
+ "symbol": "BWP"
+ },
+ "CUP": {
+ "name": "เปโซคิวบา",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "เปโซคิวบา (à¹à¸›à¸¥à¸‡à¸ªà¸ à¸²à¸ž)",
+ "symbol": "CUC"
+ },
+ "COP": {
+ "name": "เปโซโคลอมเบีย",
+ "symbol": "COP"
+ },
+ "CLP": {
+ "name": "เปโซชิลี",
+ "symbol": "CLP"
+ },
+ "DOP": {
+ "name": "เปโซโดมินิà¸à¸±à¸™",
+ "symbol": "DOP"
+ },
+ "PHP": {
+ "name": "เปโซฟิลิปปินส์",
+ "symbol": "PHP"
+ },
+ "MXN": {
+ "name": "เปโซเม็à¸à¸‹à¸´à¹‚à¸",
+ "symbol": "MX$"
+ },
+ "ARS": {
+ "name": "เปโซอาร์เจนตินา",
+ "symbol": "ARS"
+ },
+ "UYU": {
+ "name": "เปโซอุรุà¸à¸§à¸±à¸¢",
+ "symbol": "UYU"
+ },
+ "TOP": {
+ "name": "พาà¹à¸­à¸‡à¸à¸²à¸•à¸­à¸‡à¸à¸²",
+ "symbol": "TOP"
+ },
+ "GNF": {
+ "name": "ฟรังà¸à¹Œà¸à¸´à¸™à¸µ",
+ "symbol": "GNF"
+ },
+ "CDF": {
+ "name": "ฟรังà¸à¹Œà¸„องโà¸",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "ฟรังà¸à¹Œà¸„อโมโรส",
+ "symbol": "KMF"
+ },
+ "DJF": {
+ "name": "ฟรังà¸à¹Œà¸ˆà¸´à¸šà¸¹à¸•à¸µ",
+ "symbol": "DJF"
+ },
+ "XPF": {
+ "name": "ฟรังà¸à¹Œà¸‹à¸µà¹€à¸­à¸Ÿà¸žà¸µ",
+ "symbol": "CFPF"
+ },
+ "XOF": {
+ "name": "ฟรังà¸à¹Œà¹€à¸‹à¸Ÿà¸²à¸˜à¸™à¸²à¸„ารà¸à¸¥à¸²à¸‡à¸£à¸±à¸à¹à¸­à¸Ÿà¸£à¸´à¸à¸²à¸•à¸°à¸§à¸±à¸™à¸•à¸",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "ฟรังà¸à¹Œà¹€à¸‹à¸Ÿà¸²à¸˜à¸™à¸²à¸„ารรัà¸à¹à¸­à¸Ÿà¸£à¸´à¸à¸²à¸à¸¥à¸²à¸‡",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "ฟรังà¸à¹Œà¸šà¸¸à¸£à¸¸à¸™à¸”ี",
+ "symbol": "BIF"
+ },
+ "RWF": {
+ "name": "ฟรังà¸à¹Œà¸£à¸§à¸±à¸™à¸”า",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "ฟรังà¸à¹Œà¸ªà¸§à¸´à¸ª",
+ "symbol": "CHF"
+ },
+ "AWG": {
+ "name": "ฟลอรินอารูบา",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "ฟอรินต์ฮังà¸à¸²à¸£à¸µ",
+ "symbol": "HUF"
+ },
+ "TMT": {
+ "name": "มานัตเติร์à¸à¹€à¸¡à¸™à¸´à¸ªà¸–าน",
+ "symbol": "TMT"
+ },
+ "AZN": {
+ "name": "มานัตอาเซอร์ไบจาน",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "มาร์à¸à¸šà¸­à¸ªà¹€à¸™à¸µà¸¢-เฮอร์เซโà¸à¸§à¸µà¸™à¸²",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "เมติคัลโมซัมบิà¸",
+ "symbol": "MZN"
+ },
+ "EUR": {
+ "name": "ยูโร",
+ "symbol": "€"
+ },
+ "JPY": {
+ "name": "เยนà¸à¸µà¹ˆà¸›à¸¸à¹ˆà¸™",
+ "symbol": "Â¥"
+ },
+ "MYR": {
+ "name": "ริงà¸à¸´à¸•à¸¡à¸²à¹€à¸¥à¹€à¸‹à¸µà¸¢",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "ริยัลซาอุดีอาระเบีย",
+ "symbol": "SAR"
+ },
+ "BYR": {
+ "name": "รูเบิลเบลารุส",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "รูเบิลรัสเซีย",
+ "symbol": "RUB"
+ },
+ "SCR": {
+ "name": "รูปีเซเชลส์",
+ "symbol": "SCR"
+ },
+ "NPR": {
+ "name": "รูปีเนปาล",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "รูปีปาà¸à¸µà¸ªà¸–าน",
+ "symbol": "PKR"
+ },
+ "MUR": {
+ "name": "รูปีมอริเชียส",
+ "symbol": "MUR"
+ },
+ "LKR": {
+ "name": "รูปีศรีลังà¸à¸²",
+ "symbol": "LKR"
+ },
+ "INR": {
+ "name": "รูปีอินเดีย",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "รูเปียห์อินโดนีเซีย",
+ "symbol": "IDR"
+ },
+ "MVR": {
+ "name": "รูฟิยามัลดีฟส์",
+ "symbol": "MVR"
+ },
+ "KHR": {
+ "name": "เรียลà¸à¸±à¸¡à¸žà¸¹à¸Šà¸²",
+ "symbol": "KHR"
+ },
+ "QAR": {
+ "name": "เรียลà¸à¸²à¸•à¸²à¸£à¹Œ",
+ "symbol": "QAR"
+ },
+ "BRL": {
+ "name": "เรียลบราซิล",
+ "symbol": "R$"
+ },
+ "YER": {
+ "name": "เรียลเยเมน",
+ "symbol": "YER"
+ },
+ "IRR": {
+ "name": "เรียลอิหร่าน",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "เรียลโอมาน",
+ "symbol": "OMR"
+ },
+ "ZAR": {
+ "name": "à¹à¸£à¸™à¸”์à¹à¸­à¸Ÿà¸£à¸´à¸à¸²à¹ƒà¸•à¹‰",
+ "symbol": "ZAR"
+ },
+ "GEL": {
+ "name": "ลารีจอร์เจีย",
+ "symbol": "GEL"
+ },
+ "SZL": {
+ "name": "ลิลันเจนีสวาซิ",
+ "symbol": "SZL"
+ },
+ "MDL": {
+ "name": "ลิวมอลโดวา",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "ลิวโรมาเนีย",
+ "symbol": "RON"
+ },
+ "LTL": {
+ "name": "ลีตัสลิทัวเนีย",
+ "symbol": "LTL"
+ },
+ "TRY": {
+ "name": "ลีราตุรà¸à¸µ",
+ "symbol": "TRY"
+ },
+ "SLL": {
+ "name": "ลีโอนเซียร์ราลีโอน",
+ "symbol": "SLL"
+ },
+ "ALL": {
+ "name": "เลà¸à¹à¸­à¸¥à¹€à¸šà¹€à¸™à¸µà¸¢",
+ "symbol": "ALL"
+ },
+ "BGN": {
+ "name": "เลฟบัลà¹à¸à¹€à¸£à¸µà¸¢",
+ "symbol": "BGN"
+ },
+ "HNL": {
+ "name": "เลมปิราฮอนดูรัส",
+ "symbol": "HNL"
+ },
+ "LSL": {
+ "name": "โลตีเลโซโท",
+ "symbol": "LSL"
+ },
+ "KRW": {
+ "name": "วอนเà¸à¸²à¸«à¸¥à¸µà¹ƒà¸•à¹‰",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "วอนเà¸à¸²à¸«à¸¥à¸µà¹€à¸«à¸™à¸·à¸­",
+ "symbol": "KPW"
+ },
+ "VUV": {
+ "name": "วาตูวานูอาตู",
+ "symbol": "VUV"
+ },
+ "CNY": {
+ "name": "หยวนจีน",
+ "symbol": "CNÂ¥"
+ },
+ "AFN": {
+ "name": "อัฟà¸à¸²à¸™à¸´à¸­à¸±à¸Ÿà¸à¸²à¸™à¸´à¸ªà¸–าน",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "อาเรียรีมาลาà¸à¸²à¸‹à¸µ",
+ "symbol": "MGA"
+ },
+ "MRO": {
+ "name": "อูà¸à¸µà¸¢à¸²à¸¡à¸­à¸£à¸´à¹€à¸•à¹€à¸™à¸µà¸¢",
+ "symbol": "MRO"
+ },
+ "BTN": {
+ "name": "เอ็งà¸à¸¸à¸¥à¸•à¸£à¸±à¸¡à¸ à¸¹à¸à¸²à¸™",
+ "symbol": "BTN"
+ },
+ "CVE": {
+ "name": "เอสคูโดเคปเวิร์ด",
+ "symbol": "CVE"
+ },
+ "UAH": {
+ "name": "ฮรีฟเนียยูเครน",
+ "symbol": "UAH"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ti.json b/library/intl/resources/currency/ti.json
new file mode 100644
index 000000000..2713a98f5
--- /dev/null
+++ b/library/intl/resources/currency/ti.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "EUR": {
+ "name": "አá‹áˆ®",
+ "symbol": "€"
+ },
+ "INR": {
+ "name": "የሕንድ ሩá’",
+ "symbol": "₹"
+ },
+ "RUB": {
+ "name": "የራሻ ሩብáˆ",
+ "symbol": "RUB"
+ },
+ "BRL": {
+ "name": "የብራዚሠሪáˆ",
+ "symbol": "R$"
+ },
+ "CNY": {
+ "name": "የቻይና ዩአን ረንሚንቢ",
+ "symbol": "CNÂ¥"
+ },
+ "USD": {
+ "name": "የአሜሪካን ዶላር",
+ "symbol": "US$"
+ },
+ "ETB": {
+ "name": "የኢትዮጵያ ብር",
+ "symbol": "Br"
+ },
+ "GBP": {
+ "name": "የእንáŒáˆŠá‹ á“á‹áŠ•á‹µ ስተርሊንáŒ",
+ "symbol": "£"
+ },
+ "JPY": {
+ "name": "የጃá“ን የን",
+ "symbol": "JPÂ¥"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/to.json b/library/intl/resources/currency/to.json
new file mode 100644
index 000000000..b77641714
--- /dev/null
+++ b/library/intl/resources/currency/to.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "AUD$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "CNY",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "EUR",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GBP": {
+ "name": "GBP",
+ "symbol": "£"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "INR",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "JPY": {
+ "name": "JPY",
+ "symbol": "JPÂ¥"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZD$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "TOP": {
+ "name": "Paʻanga fakatonga",
+ "symbol": "T$"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "WST": {
+ "name": "Tala fakahaʻamoa",
+ "symbol": "WST"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/tr.json b/library/intl/resources/currency/tr.json
new file mode 100644
index 000000000..5e90ba0ba
--- /dev/null
+++ b/library/intl/resources/currency/tr.json
@@ -0,0 +1,634 @@
+{
+ "USD": {
+ "name": "ABD Doları",
+ "symbol": "$"
+ },
+ "AFN": {
+ "name": "Afganistan Afganisi",
+ "symbol": "AFN"
+ },
+ "AOA": {
+ "name": "Angola Kvanzası",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "Arjantin Pesosu",
+ "symbol": "ARS"
+ },
+ "ALL": {
+ "name": "Arnavutluk Leki",
+ "symbol": "ALL"
+ },
+ "AWG": {
+ "name": "Aruba Florini",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Avustralya Doları",
+ "symbol": "AU$"
+ },
+ "AZN": {
+ "name": "Azerbaycan Manatı",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bahama Doları",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "Bahreyn Dinarı",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "Bangladeş Takası",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "Barbados Doları",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Belize Doları",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermuda Doları",
+ "symbol": "BMD"
+ },
+ "BYR": {
+ "name": "Beyaz Rusya Rublesi",
+ "symbol": "BYR"
+ },
+ "BTN": {
+ "name": "Bhutan Ngultrumu",
+ "symbol": "BTN"
+ },
+ "AED": {
+ "name": "BirleÅŸik Arap Emirlikleri Dirhemi",
+ "symbol": "AED"
+ },
+ "BOB": {
+ "name": "Bolivya Bolivyanosu",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "Botsvana Pulası",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "Brezilya Reali",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "Brunei Doları",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bulgar Levası",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "Burundi Frangı",
+ "symbol": "BIF"
+ },
+ "CVE": {
+ "name": "Cape Verde Esküdosu",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "Cayman Adaları Doları",
+ "symbol": "KYD"
+ },
+ "GIP": {
+ "name": "Cebelitarık Lirası",
+ "symbol": "GIP"
+ },
+ "DZD": {
+ "name": "Cezayir Dinarı",
+ "symbol": "DZD"
+ },
+ "XOF": {
+ "name": "CFA Frangı BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Frangı BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Frangı",
+ "symbol": "CFPF"
+ },
+ "DJF": {
+ "name": "Cibuti Frangı",
+ "symbol": "DJF"
+ },
+ "CZK": {
+ "name": "Çek Cumhuriyeti Korunası",
+ "symbol": "CZK"
+ },
+ "CNY": {
+ "name": "Çin Yuanı",
+ "symbol": "CNÂ¥"
+ },
+ "DKK": {
+ "name": "Danimarka Kronu",
+ "symbol": "DKK"
+ },
+ "XCD": {
+ "name": "Doğu Karayip Doları",
+ "symbol": "EC$"
+ },
+ "DOP": {
+ "name": "Dominik Pesosu",
+ "symbol": "DOP"
+ },
+ "SVC": {
+ "name": "El Salvador Kolonu",
+ "symbol": "SVC"
+ },
+ "IDR": {
+ "name": "Endonezya Rupiahı",
+ "symbol": "IDR"
+ },
+ "ERN": {
+ "name": "Eritre Nakfası",
+ "symbol": "ERN"
+ },
+ "AMD": {
+ "name": "Ermenistan Dramı",
+ "symbol": "AMD"
+ },
+ "ETB": {
+ "name": "Etiyopya Birri",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "Falkland Adaları Lirası",
+ "symbol": "FKP"
+ },
+ "MAD": {
+ "name": "Fas Dirhemi",
+ "symbol": "MAD"
+ },
+ "FJD": {
+ "name": "Fiji Doları",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Filipinler Pesosu",
+ "symbol": "PHP"
+ },
+ "GMD": {
+ "name": "Gambiya Dalasisi",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "Gana Sedisi",
+ "symbol": "GHS"
+ },
+ "GNF": {
+ "name": "Gine Frangı",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "Guatemala Quetzalı",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "Guyana Doları",
+ "symbol": "GYD"
+ },
+ "ZAR": {
+ "name": "Güney Afrika Randı",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Güney Kore Wonu",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Güney Sudan Lirası",
+ "symbol": "SSP"
+ },
+ "GEL": {
+ "name": "Gürcistan Larisi",
+ "symbol": "GEL"
+ },
+ "HTG": {
+ "name": "Haiti Gurdu",
+ "symbol": "HTG"
+ },
+ "HRK": {
+ "name": "Hırvatistan Kunası",
+ "symbol": "HRK"
+ },
+ "INR": {
+ "name": "Hindistan Rupisi",
+ "symbol": "₹"
+ },
+ "ANG": {
+ "name": "Hollanda Antilleri Guldeni",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "Honduras Lempirası",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Hong Kong Doları",
+ "symbol": "HK$"
+ },
+ "IQD": {
+ "name": "Irak Dinarı",
+ "symbol": "IQD"
+ },
+ "GBP": {
+ "name": "Ä°ngiliz Sterlini",
+ "symbol": "£"
+ },
+ "IRR": {
+ "name": "Ä°ran Riyali",
+ "symbol": "IRR"
+ },
+ "SEK": {
+ "name": "İsveç Kronu",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "İsviçre Frangı",
+ "symbol": "CHF"
+ },
+ "ISK": {
+ "name": "Ä°zlanda Kronu",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "Jamaika Doları",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Japon Yeni",
+ "symbol": "Â¥"
+ },
+ "KHR": {
+ "name": "Kamboçya Rieli",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "Kanada Doları",
+ "symbol": "CA$"
+ },
+ "QAR": {
+ "name": "Katar Riyali",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "Kazakistan Tengesi",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "Kenya Åžilini",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "Kırgızistan Somu",
+ "symbol": "KGS"
+ },
+ "COP": {
+ "name": "Kolombiya Pesosu",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "Komorlar Frangı",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo Frangı",
+ "symbol": "CDF"
+ },
+ "BAM": {
+ "name": "Konvertibl Bosna Hersek Markı",
+ "symbol": "BAM"
+ },
+ "CUC": {
+ "name": "Konvertibl Küba Pesosu",
+ "symbol": "CUC"
+ },
+ "CRC": {
+ "name": "Kosta Rika Kolonu",
+ "symbol": "CRC"
+ },
+ "KWD": {
+ "name": "Kuveyt Dinarı",
+ "symbol": "KWD"
+ },
+ "KPW": {
+ "name": "Kuzey Kore Wonu",
+ "symbol": "KPW"
+ },
+ "CUP": {
+ "name": "Küba Pesosu",
+ "symbol": "CUP"
+ },
+ "LAK": {
+ "name": "Laos Kipi",
+ "symbol": "LAK"
+ },
+ "LSL": {
+ "name": "Lesotho Lotisi",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberya Doları",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Libya Dinarı",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "Litvanya Litası",
+ "symbol": "LTL"
+ },
+ "LBP": {
+ "name": "Lübnan Lirası",
+ "symbol": "LBP"
+ },
+ "HUF": {
+ "name": "Macar Forinti",
+ "symbol": "HUF"
+ },
+ "MGA": {
+ "name": "Madagaskar Ariarisi",
+ "symbol": "MGA"
+ },
+ "MOP": {
+ "name": "Makao Patakası",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "Makedonya Dinarı",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "Malavi Kvaçası",
+ "symbol": "MWK"
+ },
+ "MVR": {
+ "name": "Maldiv Rufiyaası",
+ "symbol": "MVR"
+ },
+ "MYR": {
+ "name": "Malezya Ringgiti",
+ "symbol": "MYR"
+ },
+ "MUR": {
+ "name": "Mauritius Rupisi",
+ "symbol": "MUR"
+ },
+ "MXN": {
+ "name": "Meksika Pesosu",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "Mısır Lirası",
+ "symbol": "EGP"
+ },
+ "MNT": {
+ "name": "MoÄŸolistan Tugriki",
+ "symbol": "MNT"
+ },
+ "MDL": {
+ "name": "Moldova Leyi",
+ "symbol": "MDL"
+ },
+ "MRO": {
+ "name": "Moritanya Ouguiyası",
+ "symbol": "MRO"
+ },
+ "MZN": {
+ "name": "Mozambik Metikali",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "Myanmar Kyatı",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "Namibya Doları",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "Nepal Rupisi",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "Nijerya Nairası",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "Nikaragua Kordobası",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Norveç Kronu",
+ "symbol": "NOK"
+ },
+ "UZS": {
+ "name": "Özbekistan Somu",
+ "symbol": "UZS"
+ },
+ "PKR": {
+ "name": "Pakistan Rupisi",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Panama Balboası",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "Papua Yeni Gine Kinası",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "Paraguay Guaranisi",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peru Nuevo Solü",
+ "symbol": "PEN"
+ },
+ "PLN": {
+ "name": "Polonya Zlotisi",
+ "symbol": "PLN"
+ },
+ "RON": {
+ "name": "Romen Leyi",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "Ruanda Frangı",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "Rus Rublesi",
+ "symbol": "RUB"
+ },
+ "SHP": {
+ "name": "Saint Helena Lirası",
+ "symbol": "SHP"
+ },
+ "WST": {
+ "name": "Samoa Talası",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "São Tomé ve Príncipe Dobrası",
+ "symbol": "STD"
+ },
+ "SCR": {
+ "name": "SeyÅŸeller Rupisi",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "Sırp Dinarı",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "Sierra Leone Leonesi",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "Singapur Doları",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "Solomon Adaları Doları",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "Somali Åžilini",
+ "symbol": "SOS"
+ },
+ "LKR": {
+ "name": "Sri Lanka Rupisi",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "Sudan Lirası",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinam Doları",
+ "symbol": "SRD"
+ },
+ "SYP": {
+ "name": "Suriye Lirası",
+ "symbol": "SYP"
+ },
+ "SAR": {
+ "name": "Suudi Arabistan Riyali",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "Svaziland Lilangenisi",
+ "symbol": "SZL"
+ },
+ "CLP": {
+ "name": "Åžili Pesosu",
+ "symbol": "CLP"
+ },
+ "TJS": {
+ "name": "Tacikistan Somonisi",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "Tanzanya Åžilini",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "Tayland Bahtı",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "Tonga Paʻangası",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad ve Tobago Doları",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunus Dinarı",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Türk Lirası",
+ "symbol": "₺"
+ },
+ "TMT": {
+ "name": "Türkmenistan Manatı",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "Uganda Åžilini",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrayna Grivnası",
+ "symbol": "UAH"
+ },
+ "OMR": {
+ "name": "Umman Riyali",
+ "symbol": "OMR"
+ },
+ "UYU": {
+ "name": "Uruguay Pesosu",
+ "symbol": "UYU"
+ },
+ "JOD": {
+ "name": "Ürdün Dinarı",
+ "symbol": "JOD"
+ },
+ "VUV": {
+ "name": "Vanuatu Vatusu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "Venezuela Bolivarı",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "Vietnam Dongu",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "Yemen Riyali",
+ "symbol": "YER"
+ },
+ "ILS": {
+ "name": "Yeni Ä°srail Åžekeli",
+ "symbol": "₪"
+ },
+ "TWD": {
+ "name": "Yeni Tayvan Doları",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "Yeni Zelanda Doları",
+ "symbol": "NZ$"
+ },
+ "ZMW": {
+ "name": "Zambiya Kvaçası",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Zimbabve Doları (2009)",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/twq.json b/library/intl/resources/currency/twq.json
new file mode 100644
index 000000000..c75824e61
--- /dev/null
+++ b/library/intl/resources/currency/twq.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "Alžeeri Dinar",
+ "symbol": "DZD"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "USD": {
+ "name": "Ameriki Dollar",
+ "symbol": "US$"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "Angoola Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BHD": {
+ "name": "Bahareen Dinar",
+ "symbol": "BHD"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "Botswaana Pund",
+ "symbol": "BWP"
+ },
+ "GBP": {
+ "name": "Britin Pund",
+ "symbol": "£"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "Burundi Fraŋ",
+ "symbol": "BIF"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "XOF": {
+ "name": "CFA Fraŋ (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Fraŋ (BEAC)",
+ "symbol": "FCFA"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "ETB": {
+ "name": "Ecioopi Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Eero",
+ "symbol": "€"
+ },
+ "ERN": {
+ "name": "Eritree Nafka",
+ "symbol": "ERN"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambi Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "ZAR": {
+ "name": "Hawasa Afriki Rand",
+ "symbol": "ZAR"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Indu Rupii",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JPY": {
+ "name": "Jaapoŋ Yen",
+ "symbol": "JPÂ¥"
+ },
+ "DJF": {
+ "name": "Jibuuti Fraŋ",
+ "symbol": "DJF"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CAD": {
+ "name": "Kanaada Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "Kapuver Escudo",
+ "symbol": "CVE"
+ },
+ "KES": {
+ "name": "Keeniya Šiiliŋ",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "Komoor Fraŋ",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kongo Fraŋ",
+ "symbol": "CDF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "AED": {
+ "name": "Laaraw Immaara Margantey Dirham",
+ "symbol": "AED"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leeon",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "Leezoto Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "Liberia Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "Liibi Dinar",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MAD": {
+ "name": "Maarok Dirham",
+ "symbol": "MAD"
+ },
+ "MWK": {
+ "name": "Malaawi Kwaca",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "Malgaaši Fraŋ",
+ "symbol": "MGA"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "EGP": {
+ "name": "Misra Pund",
+ "symbol": "EGP"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MUR": {
+ "name": "Mooris Rupii",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mooritaani Ugiya",
+ "symbol": "MRO"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naajiriya Neera",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "Naamibi Dollar",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "AUD": {
+ "name": "Ostraali Dollar",
+ "symbol": "A$"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "Rwanda Fraŋ",
+ "symbol": "RWF"
+ },
+ "STD": {
+ "name": "Sao Tome nda Prinsipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "Saudiya Riyal",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "Seešel Rupii",
+ "symbol": "SCR"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SHP": {
+ "name": "Seŋ Helena Fraŋ",
+ "symbol": "SHP"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "CNY": {
+ "name": "Sinwa Yuan Renminbi",
+ "symbol": "CNÂ¥"
+ },
+ "SOS": {
+ "name": "Somaali Šiiliŋ",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "Suudaŋ Dinar",
+ "symbol": "SDG"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "CHF": {
+ "name": "Swisu Fraŋ",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "TZS": {
+ "name": "Tanzaani Šiiliŋ",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunizi Dinar",
+ "symbol": "TND"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "Uganda Šiiliŋ",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "Zambi Kwaca",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/tzm.json b/library/intl/resources/currency/tzm.json
new file mode 100644
index 000000000..88a03cc01
--- /dev/null
+++ b/library/intl/resources/currency/tzm.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "MGA": {
+ "name": "Aryari Umalɣaci",
+ "symbol": "MGA"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Birr Uyityuppi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "UGX": {
+ "name": "Cilin Uɣandi (1966–1987)",
+ "symbol": "UGX"
+ },
+ "SOS": {
+ "name": "Cilin Uá¹£umali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Cilin Uá¹­anzani",
+ "symbol": "TZS"
+ },
+ "KES": {
+ "name": "Cillin Ukini",
+ "symbol": "KES"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi Agambi",
+ "symbol": "GMD"
+ },
+ "MAD": {
+ "name": "Derhem Umeṛṛuki",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Derhem Uymarati",
+ "symbol": "AED"
+ },
+ "BHD": {
+ "name": "Ḍinar Ubaḥrayni",
+ "symbol": "BHD"
+ },
+ "DZD": {
+ "name": "Ḍinar Udzayri",
+ "symbol": "DZD"
+ },
+ "LYD": {
+ "name": "Ḍinar Ulibi",
+ "symbol": "LYD"
+ },
+ "TND": {
+ "name": "Ḍinar Utunsi",
+ "symbol": "TND"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "STD": {
+ "name": "Dubra Usawá¹­umi",
+ "symbol": "STD"
+ },
+ "CAD": {
+ "name": "Ḍular Ukanadi",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Ḍular Ulibiri",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Ḍular Umirikani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Ḍular Unamibi",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "Ḍular Usṭrali",
+ "symbol": "A$"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "XOF": {
+ "name": "Frank CFA (BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Frank CFA (BEAC)",
+ "symbol": "FCFA"
+ },
+ "BIF": {
+ "name": "Frank Uburundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Frank UÄŸibuti",
+ "symbol": "DJF"
+ },
+ "CDF": {
+ "name": "Frank Ukunguli",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "Frank Uqumuri",
+ "symbol": "KMF"
+ },
+ "RWF": {
+ "name": "Frank Urwandi",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Frank Uswisri",
+ "symbol": "CHF"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "CVE": {
+ "name": "Iskudu Ukabuvirdyani",
+ "symbol": "CVE"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "EGP": {
+ "name": "Junih Umiṣṛi",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Junih Usantehilini",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Junih Usterlini Ubriá¹­ani",
+ "symbol": "£"
+ },
+ "SDG": {
+ "name": "Junih Usudani",
+ "symbol": "SDG"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "KwaÄa Umalawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "KwaÄa Uzambi",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza Unguli",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SZL": {
+ "name": "Lilanjini Uswazi",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "Luti Ulusuá¹­i",
+ "symbol": "LSL"
+ },
+ "SLL": {
+ "name": "Lyun Usirralyuni",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "ERN": {
+ "name": "Nakfa Uyritri",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "Nayra Unijiri",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula Ubutswani",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Rand Ufriki Unzul",
+ "symbol": "ZAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupi Uḥindi",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupi Umurisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupi Usicili",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "Ryal Usaεudi",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Uqiyya Umuritani",
+ "symbol": "MRO"
+ },
+ "EUR": {
+ "name": "Uá¹›u",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yann Ujappuni",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Ywan Renminbi Ucinwi",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ug.json b/library/intl/resources/currency/ug.json
new file mode 100644
index 000000000..cace9bd23
--- /dev/null
+++ b/library/intl/resources/currency/ug.json
@@ -0,0 +1,634 @@
+{
+ "ARS": {
+ "name": "ئارگÛنتىنا Ù¾Ûسوسى",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "ئارۇبان Ùىلورۇنى",
+ "symbol": "AWG"
+ },
+ "XAF": {
+ "name": "ئاÙرىقا قىتئەسى Ù¾Û‡Ù„-مۇئامىلە ئىتتىپاقى Ùرانكى",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "ئاÙرىقا قىتئەسى Ù¾Û‡Ù„-مۇئامىلە ئىتتىپاقى Ùرانكى (BCEAO)",
+ "symbol": "CFA"
+ },
+ "AFN": {
+ "name": "ئاÙغان ئاÙغانى",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ئالبانىيە Ù„Ûكى",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "ئالجىرىيە دىنارى",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "ئامÛرىكا دوللىرى",
+ "symbol": "$"
+ },
+ "AOA": {
+ "name": "ئانگولا كۇۋانزاسى",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "ئاۋسترالىيە دوللىرى",
+ "symbol": "A$"
+ },
+ "MOP": {
+ "name": "ئاۋمÛÙ† پاتاكاسى",
+ "symbol": "MOP"
+ },
+ "AMD": {
+ "name": "ئەرمÛنىيە دىرامى",
+ "symbol": "AMD"
+ },
+ "AED": {
+ "name": "ئەرەب بىرلەشمە خەلىپىلىكى دەرھەمى",
+ "symbol": "AED"
+ },
+ "AZN": {
+ "name": "ئەزەربەيجان ماناتى",
+ "symbol": "AZN"
+ },
+ "GBP": {
+ "name": "ئەنگلىيە Ùوند سىتÛرلىڭى",
+ "symbol": "£"
+ },
+ "OMR": {
+ "name": "ئومان رىيالى",
+ "symbol": "OMR"
+ },
+ "UZS": {
+ "name": "ئۆزبÛكىستان سومى",
+ "symbol": "UZS"
+ },
+ "UYU": {
+ "name": "ئۇرۇگۋاي Ù¾Ûسوسى",
+ "symbol": "UYU"
+ },
+ "UAH": {
+ "name": "ئۇكرائىنا خرىۋناسى",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "ئۇگاندا شىللىڭى",
+ "symbol": "UGX"
+ },
+ "IQD": {
+ "name": "ئىراق دىنارى",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "ئىران رىيالى",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "ئىسرائىل ÙŠÛÚ­Ù‰ Ø´ÛÙƒÛلى",
+ "symbol": "₪"
+ },
+ "ISK": {
+ "name": "ئىسلاندىيە كروناسى",
+ "symbol": "ISK"
+ },
+ "JOD": {
+ "name": "ئىيوردانىيە دىنارى",
+ "symbol": "JOD"
+ },
+ "ERN": {
+ "name": "ئÛرىترÛÙŠÛ• ناكÙاسى",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ئÛÙىيوپىيە بىررى",
+ "symbol": "ETB"
+ },
+ "BBD": {
+ "name": "باربادوس دوللىرى",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "باڭلادىش تاكاسى",
+ "symbol": "BDT"
+ },
+ "BSD": {
+ "name": "باھاما دوللىرى",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "بەھرەين دىنارى",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "بوتسۋانا پۇلاسى",
+ "symbol": "BWP"
+ },
+ "BAM": {
+ "name": "بوسنىيە-Ø®ÛرتسÛگوۋىنا ئالماشتۇرۇشچان ماركى",
+ "symbol": "BAM"
+ },
+ "BOB": {
+ "name": "بولىۋىيە بولىۋىيانوسى",
+ "symbol": "BOB"
+ },
+ "BTN": {
+ "name": "بۇتان نگۇلترۇمى",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "بۇرۇندى Ùرانكى",
+ "symbol": "BIF"
+ },
+ "BGN": {
+ "name": "بۇلغارىيە Ù„Ûۋاسى",
+ "symbol": "BGN"
+ },
+ "BRL": {
+ "name": "بىرازىلىيە رىيالى",
+ "symbol": "R$"
+ },
+ "BND": {
+ "name": "بىرۇنÛÙŠ دوللىرى",
+ "symbol": "BND"
+ },
+ "BMD": {
+ "name": "بÛرمۇدا دوللىرى",
+ "symbol": "BMD"
+ },
+ "BYR": {
+ "name": "بÛلارۇسىيە رۇبلىسى",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "بÛلىز دوللىرى",
+ "symbol": "BZD"
+ },
+ "PGK": {
+ "name": "پاپۇئا ÙŠÛÚ­Ù‰ گىۋىنÛÙŠÛ• كىناسى",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "پاراگۋاي گۇئارانىسى",
+ "symbol": "PYG"
+ },
+ "PKR": {
+ "name": "پاكىستان رۇپىسى",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "پاناما بالبوئاسى",
+ "symbol": "PAB"
+ },
+ "PLN": {
+ "name": "پولشا زىلوتى",
+ "symbol": "PLN"
+ },
+ "PEN": {
+ "name": "Ù¾Ûرۇ ÙŠÛÚ­Ù‰ سولى",
+ "symbol": "PEN"
+ },
+ "TJS": {
+ "name": "تاجىكىستان سومونىسى",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "تانزانىيە شىللىڭى",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "تايلاند باختى",
+ "symbol": "THB"
+ },
+ "TOP": {
+ "name": "تونگا پائانگاسى",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "تۇنىس دىنارى",
+ "symbol": "TND"
+ },
+ "TMT": {
+ "name": "تۈركمەنىستان ماناتى",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "تۈركىيە لىراسى",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "تىرىنىداد ۋە توباگو دوللىرى",
+ "symbol": "TTD"
+ },
+ "XPF": {
+ "name": "تىنچ ئوكيان Ù¾Û‡Ù„-مۇئامىلە ئورتاق گەۋدىسى Ùرانكى",
+ "symbol": "CFPF"
+ },
+ "GIP": {
+ "name": "جەبىلتارىق Ùوند سىتÛرلىڭى",
+ "symbol": "GIP"
+ },
+ "ZAR": {
+ "name": "جەنۇبىي ئاÙرىقا راندى",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "جەنۇبىي سۇدان ÙوندستÛرلىڭى",
+ "symbol": "SSP"
+ },
+ "KRW": {
+ "name": "جەنۇبىي كورÛÙŠÛ• ۋونى",
+ "symbol": "â‚©"
+ },
+ "CNY": {
+ "name": "جۇڭگو يۈەنى",
+ "symbol": "ï¿¥"
+ },
+ "DJF": {
+ "name": "جىبۇتى Ùرانكى",
+ "symbol": "DJF"
+ },
+ "CLP": {
+ "name": "چىلى Ù¾Ûسوسى",
+ "symbol": "CLP"
+ },
+ "CZK": {
+ "name": "Ú†ÛØ® جۇمھۇرىيىتى كورۇناسى",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "دانىيە كرونى",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "دومىنىكا Ù¾Ûسوسى",
+ "symbol": "DOP"
+ },
+ "RUB": {
+ "name": "رۇسىيە رۇبلىسى",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "رۇمىنىيە Ù„Ûيى",
+ "symbol": "RON"
+ },
+ "RWF": {
+ "name": "رۋاندا Ùرانكى",
+ "symbol": "RWF"
+ },
+ "ZMW": {
+ "name": "زامبىيە كۋاچاسى",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "Ø²Ù‰Ù…Ø¨Ø§Ø¨Û‹Û Ø¯ÙˆÙ„Ù„Ù‰Ø±Ù‰ (2009)",
+ "symbol": "ZWL"
+ },
+ "SVC": {
+ "name": "سالۋادور كولونى",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "ساموئا تالاسى",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "سان-ØªÙˆÙ…Û Û‹Û• پىرىنسىپى دوبراسى",
+ "symbol": "STD"
+ },
+ "SHP": {
+ "name": "ساينىت-Ú¾ÛÙ„Ûنا ÙوندستÛرلىڭى",
+ "symbol": "SHP"
+ },
+ "SAR": {
+ "name": "سەئۇدى رىيالى",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "سولومون ئاراللىرى دوللىرى",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "سومالى شىللىڭى",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "سۇدان ÙوندستÛرلىڭى",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "سۇرىنام دوللىرى",
+ "symbol": "SRD"
+ },
+ "SYP": {
+ "name": "سۈرىيە ÙوندستÛرلىڭى",
+ "symbol": "SYP"
+ },
+ "LKR": {
+ "name": "سىرىلانكا رۇپىسى",
+ "symbol": "LKR"
+ },
+ "SGD": {
+ "name": "سىنگاپور دوللىرى",
+ "symbol": "SGD"
+ },
+ "SZL": {
+ "name": "سىۋÛزىلاند لىلانگÛنى",
+ "symbol": "SZL"
+ },
+ "RSD": {
+ "name": "سÛربىيە دىنارى",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "سÛررالÛئون Ù„ÛئونÛسى",
+ "symbol": "SLL"
+ },
+ "SCR": {
+ "name": "سÛيشÛÙ„ رۇپىسى",
+ "symbol": "SCR"
+ },
+ "XCD": {
+ "name": "شەرقىي كارىب دوللىرى",
+ "symbol": "EC$"
+ },
+ "KPW": {
+ "name": "شىمالىي كورÛÙŠÛ• ۋونى",
+ "symbol": "KPW"
+ },
+ "CHF": {
+ "name": "شىۋÛتسىيە Ùرانكى",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "شىۋÛتسىيە كروناسى",
+ "symbol": "SEK"
+ },
+ "HKD": {
+ "name": "شياڭگاڭ دوللىرى",
+ "symbol": "HK$"
+ },
+ "FKP": {
+ "name": "Ùالكلاند ئاراللىرى Ùوند سىتÛرلىڭى",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Ùىجى دوللىرى",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Ùىلىپپىن Ù¾Ûسوسى",
+ "symbol": "PHP"
+ },
+ "QAR": {
+ "name": "قاتار رىيالى",
+ "symbol": "QAR"
+ },
+ "KZT": {
+ "name": "قازاقىستان تەڭگىسى",
+ "symbol": "KZT"
+ },
+ "KGS": {
+ "name": "قىرغىزىستان سومى",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "كامبودژا رىئÛلى",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "كانادا دوللىرى",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "كايمان ئاراللىرى دوللىرى",
+ "symbol": "KYD"
+ },
+ "CRC": {
+ "name": "كوستارىكا كولونى",
+ "symbol": "CRC"
+ },
+ "COP": {
+ "name": "كولومبىيە Ù¾Ûسوسى",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "كومورو Ùرانكى",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "كونگو Ùرانكى",
+ "symbol": "CDF"
+ },
+ "CUC": {
+ "name": "كۇبا ئالماشتۇرۇشچان Ù¾Ûسوسى",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "كۇبا Ù¾Ûسوسى",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "كۇۋەيت دىنارى",
+ "symbol": "KWD"
+ },
+ "HRK": {
+ "name": "كىرودىيە كۇناسى",
+ "symbol": "HRK"
+ },
+ "KES": {
+ "name": "ÙƒÛنىيە شىللىڭى",
+ "symbol": "KES"
+ },
+ "GMD": {
+ "name": "گامبىيە دالاسى",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "گانا سÛدىسى",
+ "symbol": "GHS"
+ },
+ "ANG": {
+ "name": "گوللاندىيەگە قاراشلىق ئانتىللÛÙ† گۇلدÛنى",
+ "symbol": "ANG"
+ },
+ "GEL": {
+ "name": "گىرۇزىيە لارىسى",
+ "symbol": "GEL"
+ },
+ "GTQ": {
+ "name": "گىۋاتÛمالا ÙƒÛ‡Û‹Ûتزالى",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "گىۋىئانا دوللىرى",
+ "symbol": "GYD"
+ },
+ "GNF": {
+ "name": "گىۋىنÛÙŠÛ• Ùرانكى",
+ "symbol": "GNF"
+ },
+ "LAK": {
+ "name": "لائوس كىپى",
+ "symbol": "LAK"
+ },
+ "LRD": {
+ "name": "لىبÛرىيە دوللىرى",
+ "symbol": "LRD"
+ },
+ "LTL": {
+ "name": "لىتۋا لىتاسى",
+ "symbol": "LTL"
+ },
+ "LBP": {
+ "name": "لىۋان Ùوند سىتÛرلىڭى",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "لىۋىيە دىنارى",
+ "symbol": "LYD"
+ },
+ "LSL": {
+ "name": "Ù„Ûسوتو لوتىسى",
+ "symbol": "LSL"
+ },
+ "MGA": {
+ "name": "ماداغاسقار ئارىئارىسى",
+ "symbol": "MGA"
+ },
+ "MAD": {
+ "name": "ماراكەش دىرھەمى",
+ "symbol": "MAD"
+ },
+ "MKD": {
+ "name": "ماكÛدونىيە دىنارى",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "مالاۋى كۋاچاسى",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "مالايشىيا رىڭگىتى",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "مالدىۋى رۇÙىياسى",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "ماۋرىتانىيە ئۇگىيەسى",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "ماۋرىتىئۇس رۇپىسى",
+ "symbol": "MUR"
+ },
+ "MZN": {
+ "name": "موزامبىك Ù…Ûتىكالى",
+ "symbol": "MZN"
+ },
+ "MNT": {
+ "name": "موڭغۇلىيە تۈگرىكى",
+ "symbol": "MNT"
+ },
+ "MDL": {
+ "name": "مولدوۋا Ù„ÛÛ‹Ù‰",
+ "symbol": "MDL"
+ },
+ "EGP": {
+ "name": "مىسىر Ùوند سىتÛرلىڭى",
+ "symbol": "EGP"
+ },
+ "MMK": {
+ "name": "مىيانمار كىياتى",
+ "symbol": "MMK"
+ },
+ "MXN": {
+ "name": "Ù…Ûكسىكا Ù¾Ûسوسى",
+ "symbol": "MX$"
+ },
+ "NAD": {
+ "name": "نامىبىيە دوللىرى",
+ "symbol": "NAD"
+ },
+ "NOK": {
+ "name": "نورۋÛگىيە كرونى",
+ "symbol": "NOK"
+ },
+ "NIO": {
+ "name": "نىگÛرىيە كوردوباسى",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "نىگÛرىيە نايراسى",
+ "symbol": "NGN"
+ },
+ "NPR": {
+ "name": "Ù†Ûپال رۇپىسى",
+ "symbol": "NPR"
+ },
+ "HTG": {
+ "name": "ھايتى گۇردÛسى",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "ھوندۇراس Ù„Ûمپىراسى",
+ "symbol": "HNL"
+ },
+ "IDR": {
+ "name": "ھىندونÛزىيە رۇپىيەسى",
+ "symbol": "IDR"
+ },
+ "INR": {
+ "name": "ھىندىستان رۇپىسى",
+ "symbol": "₹"
+ },
+ "VUV": {
+ "name": "ۋانۇئاتۇ ۋاتۇسى",
+ "symbol": "VUV"
+ },
+ "VND": {
+ "name": "ۋىيÛتنام دوڭى",
+ "symbol": "â‚«"
+ },
+ "HUF": {
+ "name": "Û‹Ûنگىرىيە ÙورÛنتى",
+ "symbol": "HUF"
+ },
+ "VEF": {
+ "name": "Û‹ÛÙ†ÛزۇئÛلا بولىۋارى",
+ "symbol": "VEF"
+ },
+ "JPY": {
+ "name": "ياپونىيە ÙŠÛنى",
+ "symbol": "JPÂ¥"
+ },
+ "JMD": {
+ "name": "يامايكا دوللىرى",
+ "symbol": "JMD"
+ },
+ "EUR": {
+ "name": "ياۋرو",
+ "symbol": "€"
+ },
+ "YER": {
+ "name": "يەمەن رىيالى",
+ "symbol": "YER"
+ },
+ "CVE": {
+ "name": "ÙŠÛشىل تۇمشۇق ئÛسكۇدوسى",
+ "symbol": "CVE"
+ },
+ "TWD": {
+ "name": "ÙŠÛÚ­Ù‰ تەيۋەن دوللىرى",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "ÙŠÛÚ­Ù‰ زÛلاندىيە دوللىرى",
+ "symbol": "NZ$"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/uk.json b/library/intl/resources/currency/uk.json
new file mode 100644
index 000000000..3ce9fb1cd
--- /dev/null
+++ b/library/intl/resources/currency/uk.json
@@ -0,0 +1,634 @@
+{
+ "AUD": {
+ "name": "авÑтралійÑький долар",
+ "symbol": "AUD"
+ },
+ "AZN": {
+ "name": "азербайджанÑький манат",
+ "symbol": "AZN"
+ },
+ "ALL": {
+ "name": "албанÑький лек",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "алжирÑький динар",
+ "symbol": "DZD"
+ },
+ "GBP": {
+ "name": "англійÑький фунт Ñтерлінгів",
+ "symbol": "GBP"
+ },
+ "AOA": {
+ "name": "ангольÑька кванза",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "аргентинÑький пеÑо",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "арубÑький флорин",
+ "symbol": "AWG"
+ },
+ "AFN": {
+ "name": "афганÑький афгані",
+ "symbol": "AFN"
+ },
+ "BSD": {
+ "name": "багамÑький долар",
+ "symbol": "BSD"
+ },
+ "BDT": {
+ "name": "бангладеÑька така",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "барбадоÑький долар",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "бахрейнÑький динар",
+ "symbol": "BHD"
+ },
+ "BZD": {
+ "name": "белізький долар",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "бермудÑький долар",
+ "symbol": "BMD"
+ },
+ "BYR": {
+ "name": "білоруÑький рубль",
+ "symbol": "BYR"
+ },
+ "BGN": {
+ "name": "болгарÑький лев",
+ "symbol": "BGN"
+ },
+ "BOB": {
+ "name": "болівійÑький болівіано",
+ "symbol": "BOB"
+ },
+ "BWP": {
+ "name": "ботÑванÑька пула",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "бразильÑький реал",
+ "symbol": "BRL"
+ },
+ "BND": {
+ "name": "брунейÑький долар",
+ "symbol": "BND"
+ },
+ "BIF": {
+ "name": "бурундійÑький франк",
+ "symbol": "BIF"
+ },
+ "BTN": {
+ "name": "бутанÑький нгултрум",
+ "symbol": "BTN"
+ },
+ "VND": {
+ "name": "вʼєтнамÑький донг",
+ "symbol": "VND"
+ },
+ "VUV": {
+ "name": "вануатÑький вату",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "венеÑуельÑький болівар",
+ "symbol": "VEF"
+ },
+ "AMD": {
+ "name": "вірменÑький драм",
+ "symbol": "AMD"
+ },
+ "HTG": {
+ "name": "гаїтÑнÑький гурд",
+ "symbol": "HTG"
+ },
+ "GMD": {
+ "name": "гамбійÑький далаÑÑ–",
+ "symbol": "GMD"
+ },
+ "GHS": {
+ "name": "ганÑький Ñеді",
+ "symbol": "GHS"
+ },
+ "GYD": {
+ "name": "гаÑнÑький долар",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "гватемальÑький кетÑаль",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "гвінейÑький франк",
+ "symbol": "GNF"
+ },
+ "GIP": {
+ "name": "гібралтарÑький фунт",
+ "symbol": "GIP"
+ },
+ "HNL": {
+ "name": "гондураÑька лемпіра",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "гонконгÑький долар",
+ "symbol": "HKD"
+ },
+ "GEL": {
+ "name": "грузинÑький ларі",
+ "symbol": "GEL"
+ },
+ "DKK": {
+ "name": "данÑька крона",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "джибутійÑький франк",
+ "symbol": "DJF"
+ },
+ "AED": {
+ "name": "дирхам ОÐЕ",
+ "symbol": "AED"
+ },
+ "STD": {
+ "name": "добра Сан-Томе Ñ– ПринÑіпі",
+ "symbol": "STD"
+ },
+ "KYD": {
+ "name": "долар Кайманових оÑтровів",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "долар Соломонових ОÑтровів",
+ "symbol": "SBD"
+ },
+ "USD": {
+ "name": "долар СШÐ",
+ "symbol": "USD"
+ },
+ "TTD": {
+ "name": "долар Тринідаду і Тобаго",
+ "symbol": "TTD"
+ },
+ "DOP": {
+ "name": "домініканÑький пеÑо",
+ "symbol": "DOP"
+ },
+ "ERN": {
+ "name": "еритрейÑька накфа",
+ "symbol": "ERN"
+ },
+ "CVE": {
+ "name": "еÑкудо Кабо-Верде",
+ "symbol": "CVE"
+ },
+ "ETB": {
+ "name": "ефіопÑький бир",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "євро",
+ "symbol": "EUR"
+ },
+ "EGP": {
+ "name": "єгипетÑький фунт",
+ "symbol": "EGP"
+ },
+ "YER": {
+ "name": "єменÑький ріал",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "замбійÑька квача",
+ "symbol": "ZMW"
+ },
+ "XOF": {
+ "name": "західноафриканÑький франк BCEAO",
+ "symbol": "CFA"
+ },
+ "ZWL": {
+ "name": "зімбабвійÑький долар (2009)",
+ "symbol": "ZWL"
+ },
+ "ILS": {
+ "name": "ізраїльÑький новий шекель",
+ "symbol": "ILS"
+ },
+ "INR": {
+ "name": "індійÑька рупіÑ",
+ "symbol": "INR"
+ },
+ "IDR": {
+ "name": "індонезійÑька рупіÑ",
+ "symbol": "IDR"
+ },
+ "IQD": {
+ "name": "іракÑький динар",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "іранÑький ріал",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Ñ–ÑландÑька крона",
+ "symbol": "ISK"
+ },
+ "JOD": {
+ "name": "йорданÑький динар",
+ "symbol": "JOD"
+ },
+ "MMK": {
+ "name": "кʼÑÑ‚ МʼÑнми",
+ "symbol": "MMK"
+ },
+ "KZT": {
+ "name": "казахÑтанÑький тенге",
+ "symbol": "KZT"
+ },
+ "KHR": {
+ "name": "камбоджійÑький рієль",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "канадÑький долар",
+ "symbol": "CAD"
+ },
+ "QAR": {
+ "name": "катарÑький ріал",
+ "symbol": "QAR"
+ },
+ "KES": {
+ "name": "кенійÑький шилінг",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "киргизький Ñом",
+ "symbol": "KGS"
+ },
+ "CNY": {
+ "name": "китайÑький юань",
+ "symbol": "CNY"
+ },
+ "PGK": {
+ "name": "кіна Папуа Ðової Гвінеї",
+ "symbol": "PGK"
+ },
+ "COP": {
+ "name": "колумбійÑький пеÑо",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "коморÑький франк",
+ "symbol": "KMF"
+ },
+ "BAM": {
+ "name": "конвертована марка БоÑнії Ñ– Герцеговини",
+ "symbol": "BAM"
+ },
+ "CDF": {
+ "name": "конголезький франк",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "коÑтариканÑький колон",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "кубинÑький конвертований пеÑо",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "кубинÑький пеÑо",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "кувейтÑький динар",
+ "symbol": "KWD"
+ },
+ "LAK": {
+ "name": "лаоÑький кіп",
+ "symbol": "LAK"
+ },
+ "SLL": {
+ "name": "леоне Сьєрра-Леоне",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "леÑотÑький лоті",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "литовÑький літ",
+ "symbol": "LTL"
+ },
+ "LRD": {
+ "name": "ліберійÑький долар",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "ліванÑький фунт",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "лівійÑький динар",
+ "symbol": "LYD"
+ },
+ "MUR": {
+ "name": "маврикійÑька рупіÑ",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "мавританÑька угіÑ",
+ "symbol": "MRO"
+ },
+ "MKD": {
+ "name": "македонÑький денар",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "малавійÑька квача",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "малагаÑійÑький аріарі",
+ "symbol": "MGA"
+ },
+ "MYR": {
+ "name": "малайзійÑький рингіт",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "мальдівÑька руфіÑ",
+ "symbol": "MVR"
+ },
+ "MAD": {
+ "name": "марокканÑький дирхам",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "мекÑиканÑький пеÑо",
+ "symbol": "MXN"
+ },
+ "MZN": {
+ "name": "мозамбіцький метикал",
+ "symbol": "MZN"
+ },
+ "MDL": {
+ "name": "молдовÑький лей",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "монгольÑький тугрик",
+ "symbol": "MNT"
+ },
+ "NAD": {
+ "name": "намібійÑький долар",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "непальÑька рупіÑ",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "нігерійÑька найра",
+ "symbol": "NGN"
+ },
+ "ANG": {
+ "name": "нідерландÑький антильÑький гульден",
+ "symbol": "ANG"
+ },
+ "NIO": {
+ "name": "нікарагуанÑька кордоба оро",
+ "symbol": "NIO"
+ },
+ "TWD": {
+ "name": "новий тайванÑький долар",
+ "symbol": "TWD"
+ },
+ "NZD": {
+ "name": "новозеландÑький долар",
+ "symbol": "NZD"
+ },
+ "NOK": {
+ "name": "норвезька крона",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "оманÑький ріал",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "пакиÑтанÑька рупіÑ",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "панамÑька бальбоа",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "парагвайÑький гуарані",
+ "symbol": "PYG"
+ },
+ "MOP": {
+ "name": "патака Макао",
+ "symbol": "MOP"
+ },
+ "PEN": {
+ "name": "перуанÑький новий Ñол",
+ "symbol": "PEN"
+ },
+ "ZAR": {
+ "name": "південноафриканÑький ранд",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "південнокорейÑький вон",
+ "symbol": "KRW"
+ },
+ "SSP": {
+ "name": "південноÑуданÑький фунт",
+ "symbol": "SSP"
+ },
+ "KPW": {
+ "name": "північнокорейÑький вон",
+ "symbol": "KPW"
+ },
+ "PLN": {
+ "name": "польÑький злотий",
+ "symbol": "PLN"
+ },
+ "RUB": {
+ "name": "роÑійÑький рубль",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "руандійÑький франк",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "румунÑький лей",
+ "symbol": "RON"
+ },
+ "SVC": {
+ "name": "ÑальвадорÑький колон",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "ÑамоанÑька тала",
+ "symbol": "WST"
+ },
+ "SAR": {
+ "name": "ÑаудівÑький ріал",
+ "symbol": "SAR"
+ },
+ "SZL": {
+ "name": "ÑвазілендÑький лілангені",
+ "symbol": "SZL"
+ },
+ "SCR": {
+ "name": "ÑейшельÑька рупіÑ",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "ÑербÑький динар",
+ "symbol": "RSD"
+ },
+ "SYP": {
+ "name": "ÑирійÑький фунт",
+ "symbol": "SYP"
+ },
+ "SGD": {
+ "name": "ÑінгапурÑький долар",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "ÑомалійÑький шилінг",
+ "symbol": "SOS"
+ },
+ "SDG": {
+ "name": "ÑуданÑький фунт",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "ÑуринамÑький долар",
+ "symbol": "SRD"
+ },
+ "XCD": {
+ "name": "ÑхіднокарибÑький долар",
+ "symbol": "XCD"
+ },
+ "TJS": {
+ "name": "таджицький Ñомоні",
+ "symbol": "TJS"
+ },
+ "THB": {
+ "name": "таїландÑький бат",
+ "symbol": "THB"
+ },
+ "TZS": {
+ "name": "танзанійÑький шилінг",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "тонганÑька паанга",
+ "symbol": "TOP"
+ },
+ "TND": {
+ "name": "туніÑький динар",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "турецька ліра",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "туркменÑький манат",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "угандійÑький шилінг",
+ "symbol": "UGX"
+ },
+ "HUF": {
+ "name": "угорÑький форинт",
+ "symbol": "HUF"
+ },
+ "UZS": {
+ "name": "узбецький Ñум",
+ "symbol": "UZS"
+ },
+ "UAH": {
+ "name": "українÑька гривнÑ",
+ "symbol": "â‚´"
+ },
+ "UYU": {
+ "name": "уругвайÑький пеÑо",
+ "symbol": "UYU"
+ },
+ "FJD": {
+ "name": "фіджійÑький долар",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "філіппінÑький пеÑо",
+ "symbol": "PHP"
+ },
+ "XPF": {
+ "name": "французький тихоокеанÑький франк",
+ "symbol": "CFPF"
+ },
+ "SHP": {
+ "name": "фунт оÑтрова СвÑтої Єлени",
+ "symbol": "SHP"
+ },
+ "FKP": {
+ "name": "фунт ФолклендÑьких оÑтровів",
+ "symbol": "FKP"
+ },
+ "HRK": {
+ "name": "хорватÑька куна",
+ "symbol": "HRK"
+ },
+ "XAF": {
+ "name": "центральноафриканÑький франк",
+ "symbol": "FCFA"
+ },
+ "CZK": {
+ "name": "чеÑька крона",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "чилійÑький пеÑо",
+ "symbol": "CLP"
+ },
+ "SEK": {
+ "name": "шведÑька крона",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "швейцарÑький франк",
+ "symbol": "CHF"
+ },
+ "LKR": {
+ "name": "шрі-ланкійÑька рупіÑ",
+ "symbol": "LKR"
+ },
+ "JMD": {
+ "name": "ÑмайÑький долар",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "ÑпонÑька єна",
+ "symbol": "Â¥"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ur-IN.json b/library/intl/resources/currency/ur-IN.json
new file mode 100644
index 000000000..cdc23da80
--- /dev/null
+++ b/library/intl/resources/currency/ur-IN.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "CFA Ùرانک BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Ùرانک BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Ùرانک",
+ "symbol": "CFPF"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "ARS": {
+ "name": "ارجنٹائن پیسÛ",
+ "symbol": "ARS"
+ },
+ "JOD": {
+ "name": "اردنی دینار",
+ "symbol": "JOD"
+ },
+ "AWG": {
+ "name": "اروبن ÙلورÙÙ†",
+ "symbol": "AWG"
+ },
+ "ERN": {
+ "name": "اریٹیریائی ناکÙا",
+ "symbol": "ERN"
+ },
+ "UZS": {
+ "name": "ازبکستان سوم",
+ "symbol": "UZS"
+ },
+ "ILS": {
+ "name": "اسرائیلی نیا شیکل",
+ "symbol": "₪"
+ },
+ "AFN": {
+ "name": "اÙغان اÙغانی",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "البانیا کا لیک",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "الجیریائی دینار",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "امریکی ڈالر",
+ "symbol": "$"
+ },
+ "IDR": {
+ "name": "انڈونیشین روپیÛ",
+ "symbol": "IDR"
+ },
+ "AOA": {
+ "name": "انگولا کا کوانزا",
+ "symbol": "AOA"
+ },
+ "ETB": {
+ "name": "ایتھوپیائی بÙرّ",
+ "symbol": "ETB"
+ },
+ "IRR": {
+ "name": "ایرانی ریال",
+ "symbol": "IRR"
+ },
+ "AZN": {
+ "name": "آذربائجانی منات",
+ "symbol": "AZN"
+ },
+ "AMD": {
+ "name": "آرمینیائی ڈرم",
+ "symbol": "AMD"
+ },
+ "AUD": {
+ "name": "آسٹریلین ڈالر",
+ "symbol": "A$"
+ },
+ "ISK": {
+ "name": "آئس لينڈی کرونا",
+ "symbol": "ISK"
+ },
+ "BBD": {
+ "name": "باربیڈین ڈالر",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "بحرینی دینار",
+ "symbol": "BHD"
+ },
+ "BRL": {
+ "name": "برازیلی ریئل",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "برطانوی پاونڈ سٹرلنگ",
+ "symbol": "£"
+ },
+ "BMD": {
+ "name": "برموڈا ڈالر",
+ "symbol": "BMD"
+ },
+ "BIF": {
+ "name": "برونڈیئن Ùرانک",
+ "symbol": "BIF"
+ },
+ "BND": {
+ "name": "برونئی ڈالر",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "بلغارین لیو",
+ "symbol": "BGN"
+ },
+ "BDT": {
+ "name": "Ø¨Ù†Ú¯Ù„Û Ø¯ÛŒØ´ÛŒ ٹکا",
+ "symbol": "BDT"
+ },
+ "BWP": {
+ "name": "بوتسوانا کا پولا",
+ "symbol": "BWP"
+ },
+ "BAM": {
+ "name": "بوسنیا Ûرزیگووینا کا قابل منتقلی نشان",
+ "symbol": "BAM"
+ },
+ "BOB": {
+ "name": "بولیوین بولیویانو",
+ "symbol": "BOB"
+ },
+ "BSD": {
+ "name": "بÛامانی ڈالر",
+ "symbol": "BSD"
+ },
+ "BYR": {
+ "name": "بیلاروسی روبل",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "بیلائز ڈالر",
+ "symbol": "BZD"
+ },
+ "INR": {
+ "name": "بھارتی روپیÛ",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "بھوٹانی Ú¯Ùلٹرم",
+ "symbol": "BTN"
+ },
+ "PGK": {
+ "name": "پاپوآ نیو گنی کا کینا",
+ "symbol": "PGK"
+ },
+ "PKR": {
+ "name": "پاکستانی روپیÛ",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "Ù¾Ù†Ø§Ù…Û Ú©Ø§ بالبوآ",
+ "symbol": "PAB"
+ },
+ "PLN": {
+ "name": "پولش زلوٹی",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "پیراگوئے کا گوآرنی",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "پیروین نیووسول",
+ "symbol": "PEN"
+ },
+ "TJS": {
+ "name": "تاجکستانی سومونی",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "ترکمانستانی منات",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "ترکی لیرا",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "ترینیداد اور ٹوباگو کا ڈالر",
+ "symbol": "TTD"
+ },
+ "TZS": {
+ "name": "تنزانیائی شلنگ",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "تیونیسیائی دینار",
+ "symbol": "TND"
+ },
+ "THB": {
+ "name": "تھائی باÛت",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "ٹونگن پانگا",
+ "symbol": "TOP"
+ },
+ "JPY": {
+ "name": "جاپانی ین",
+ "symbol": "JPÂ¥"
+ },
+ "GEL": {
+ "name": "جارجیائی لاری",
+ "symbol": "GEL"
+ },
+ "GIP": {
+ "name": "جبل الطارق پونڈ",
+ "symbol": "GIP"
+ },
+ "DJF": {
+ "name": "جبوتی Ùرانک",
+ "symbol": "DJF"
+ },
+ "JMD": {
+ "name": "جمائیکن ڈالر",
+ "symbol": "JMD"
+ },
+ "CZK": {
+ "name": "جمÛÙˆØ±ÛŒÛ Ú†ÛŒÚ© کرونا",
+ "symbol": "CZK"
+ },
+ "ZAR": {
+ "name": "جنوبی اÙریقی رانڈ",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "جنوبی سوڈانی پاؤنڈ",
+ "symbol": "SSP"
+ },
+ "KRW": {
+ "name": "جنوبی کوریائی وون",
+ "symbol": "â‚©"
+ },
+ "CLP": {
+ "name": "چلّین پیسÛ",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "چینی یوآن",
+ "symbol": "CNÂ¥"
+ },
+ "DKK": {
+ "name": "ڈنمارک کرون",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ڈومنیکن پیسو",
+ "symbol": "DOP"
+ },
+ "RWF": {
+ "name": "روانڈا کا Ùرانک",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "روسی روبل",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "رومانیائی لیو",
+ "symbol": "RON"
+ },
+ "ZMW": {
+ "name": "زامبیائی کواچا",
+ "symbol": "ZMW"
+ },
+ "WST": {
+ "name": "ساموآئی ٹالا",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "ساؤ ٹوم اور پرنسپے ڈوبرا",
+ "symbol": "STD"
+ },
+ "RSD": {
+ "name": "سربین دینار",
+ "symbol": "RSD"
+ },
+ "LKR": {
+ "name": "سری لنکائی روپیÛ",
+ "symbol": "LKR"
+ },
+ "SCR": {
+ "name": "سشلی کا روپیÛ",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "سعودی ریال",
+ "symbol": "SAR"
+ },
+ "SGD": {
+ "name": "سنگا پور ڈالر",
+ "symbol": "SGD"
+ },
+ "SZL": {
+ "name": "سوازی لیلانجینی",
+ "symbol": "SZL"
+ },
+ "SDG": {
+ "name": "سوڈانی پاؤنڈ",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "سورینامی ڈالر",
+ "symbol": "SRD"
+ },
+ "SBD": {
+ "name": "سولومن آئلینڈز ڈالر",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "سویڈن کرونا",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "سوئس Ùرانکس",
+ "symbol": "CHF"
+ },
+ "SHP": {
+ "name": "سینٹ Ûیلینا پاؤنڈ",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "سیئرا لیون لیون",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "شامی پونڈ",
+ "symbol": "SYP"
+ },
+ "KPW": {
+ "name": "شمالی کوریائی وون",
+ "symbol": "KPW"
+ },
+ "SOS": {
+ "name": "صومالی شلنگ",
+ "symbol": "SOS"
+ },
+ "IQD": {
+ "name": "عراقی دینار",
+ "symbol": "IQD"
+ },
+ "OMR": {
+ "name": "عمانی ریال",
+ "symbol": "OMR"
+ },
+ "FKP": {
+ "name": "Ùاکلینڈ آئلینڈز پونڈ",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Ùجی کا ڈالر",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Ùلپائینی پیسÛ",
+ "symbol": "PHP"
+ },
+ "CUC": {
+ "name": "قابل منتقلی کیوبائی پیسو",
+ "symbol": "CUC"
+ },
+ "KZT": {
+ "name": "قزاخستانی ٹینگ",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "قطری ریال",
+ "symbol": "QAR"
+ },
+ "CDF": {
+ "name": "کانگولیز Ùرانک",
+ "symbol": "CDF"
+ },
+ "KGS": {
+ "name": "کرغستانی سوم",
+ "symbol": "KGS"
+ },
+ "HRK": {
+ "name": "کروشین کونا",
+ "symbol": "HRK"
+ },
+ "KHR": {
+ "name": "کمبوڈیائی ریئل",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "کنیڈین ڈالر",
+ "symbol": "CA$"
+ },
+ "CRC": {
+ "name": "کوسٹا ریکا کولون",
+ "symbol": "CRC"
+ },
+ "COP": {
+ "name": "کولمبین پیسÛ",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "کوموریئن Ùرانک",
+ "symbol": "KMF"
+ },
+ "KWD": {
+ "name": "کویتی دینار",
+ "symbol": "KWD"
+ },
+ "CVE": {
+ "name": "کیپ ورڈی اسکیوڈو",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "کیمین آئلینڈز ڈالر",
+ "symbol": "KYD"
+ },
+ "KES": {
+ "name": "کینیائی شلنگ",
+ "symbol": "KES"
+ },
+ "CUP": {
+ "name": "کیوبائی پیسو",
+ "symbol": "CUP"
+ },
+ "GMD": {
+ "name": "گامبیا کا ڈلاسی",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "Ú¯Ù†ÛŒ Ùرانک",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "گواٹے مالا کا کوئٹزل",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "گویانیز ڈالر",
+ "symbol": "GYD"
+ },
+ "GHS": {
+ "name": "گھانی سیڈی",
+ "symbol": "GHS"
+ },
+ "LAK": {
+ "name": "لاؤشیائی Ú©ÙÙ¾",
+ "symbol": "LAK"
+ },
+ "LRD": {
+ "name": "لائبریائی ڈالر",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "لبنانی پونڈ",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "لیبیائی دینار",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "لیتھوینیائی لیٹاس",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "لیسوتھو لوٹی",
+ "symbol": "LSL"
+ },
+ "MUR": {
+ "name": "ماریشس کا روپیÛ",
+ "symbol": "MUR"
+ },
+ "MDL": {
+ "name": "مالدووی لیو",
+ "symbol": "MDL"
+ },
+ "MVR": {
+ "name": "مالدیپ کا روÙÛŒÛ",
+ "symbol": "MVR"
+ },
+ "AED": {
+ "name": "Ù…ØªØ­Ø¯Û Ø¹Ø±Ø¨ اماراتی درÛÙ…",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "مراکشی درÛÙ…",
+ "symbol": "MAD"
+ },
+ "XCD": {
+ "name": "مشرقی کریبیا کا ڈالر",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "مصری پاؤنڈ",
+ "symbol": "EGP"
+ },
+ "MKD": {
+ "name": "مقدونیائی دینار",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "ملاگاسی اریاری",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "ملاوی کواچا",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "ملیشیائی رنگÙÙ¹",
+ "symbol": "MYR"
+ },
+ "MNT": {
+ "name": "منگولیائی ٹگرÙ",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "موریطانیائی اوگوئیا",
+ "symbol": "MRO"
+ },
+ "MZN": {
+ "name": "موزامبیقی میٹیکل",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "میانما کیاٹ",
+ "symbol": "MMK"
+ },
+ "MOP": {
+ "name": "میکانیز پٹاکا",
+ "symbol": "MOP"
+ },
+ "MXN": {
+ "name": "میکسیکی پیسÛ",
+ "symbol": "MX$"
+ },
+ "NOK": {
+ "name": "ناروے کرون",
+ "symbol": "NOK"
+ },
+ "NAD": {
+ "name": "نامیبیائی ڈالر",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "نائیجیریائی نائرا",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "نکارا گوا کا کورڈوبا",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "نیپالی روپیÛ",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "نیدر لینڈز انٹیلیئن گلڈر",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "نیو تائیوان ڈالر",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "نیوزی لینڈ ڈالر",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "ویتنامی ڈانگ",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "وینزویلا بولیور",
+ "symbol": "VEF"
+ },
+ "VUV": {
+ "name": "وینوواتو واتو",
+ "symbol": "VUV"
+ },
+ "HUF": {
+ "name": "Ûنگرین Ùورنٹ",
+ "symbol": "HUF"
+ },
+ "HNL": {
+ "name": "Ûونڈوران لیمپیرا",
+ "symbol": "HNL"
+ },
+ "HTG": {
+ "name": "Ûیتی کا گؤرڈی",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "ھانگ کانگ ڈالر",
+ "symbol": "HK$"
+ },
+ "YER": {
+ "name": "یمنی ریال",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "یورو",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "یوروگویان پیسو",
+ "symbol": "UYU"
+ },
+ "UAH": {
+ "name": "یوکرینیائی Ûریونیا",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "یوگانڈا شلنگ",
+ "symbol": "UGX"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/ur.json b/library/intl/resources/currency/ur.json
new file mode 100644
index 000000000..7bc0b1a40
--- /dev/null
+++ b/library/intl/resources/currency/ur.json
@@ -0,0 +1,634 @@
+{
+ "XOF": {
+ "name": "CFA Ùرانک BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "CFA Ùرانک BEAC",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "CFP Ùرانک",
+ "symbol": "CFPF"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "ARS": {
+ "name": "ارجنٹائن پیسÛ",
+ "symbol": "ARS"
+ },
+ "JOD": {
+ "name": "اردنی دینار",
+ "symbol": "JOD"
+ },
+ "AWG": {
+ "name": "اروبن ÙلورÙÙ†",
+ "symbol": "AWG"
+ },
+ "ERN": {
+ "name": "اریٹیریا کا ناÙکا",
+ "symbol": "ERN"
+ },
+ "UZS": {
+ "name": "ازبکستان سوم",
+ "symbol": "UZS"
+ },
+ "ILS": {
+ "name": "اسرائیلی نیا شیکل",
+ "symbol": "₪"
+ },
+ "AFN": {
+ "name": "اÙغان اÙغانی",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "البانیا کا لیک",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "الجیریائی دینار",
+ "symbol": "DZD"
+ },
+ "USD": {
+ "name": "امریکی ڈالر",
+ "symbol": "$"
+ },
+ "IDR": {
+ "name": "انڈونیشین روپیÛ",
+ "symbol": "IDR"
+ },
+ "GBP": {
+ "name": "انگلستانی پاونڈ سٹرلنگ",
+ "symbol": "£"
+ },
+ "AOA": {
+ "name": "انگولا کا کوانزا",
+ "symbol": "AOA"
+ },
+ "ETB": {
+ "name": "ایتھوپیائی بÙرّ",
+ "symbol": "ETB"
+ },
+ "IRR": {
+ "name": "ایرانی ریال",
+ "symbol": "IRR"
+ },
+ "AZN": {
+ "name": "آذربائجانی منات",
+ "symbol": "AZN"
+ },
+ "AMD": {
+ "name": "آرمینیائی ڈرم",
+ "symbol": "AMD"
+ },
+ "AUD": {
+ "name": "آسٹریلین ڈالر",
+ "symbol": "A$"
+ },
+ "ISK": {
+ "name": "آئس لينڈی کرونا",
+ "symbol": "ISK"
+ },
+ "BBD": {
+ "name": "باربیڈین ڈالر",
+ "symbol": "BBD"
+ },
+ "BHD": {
+ "name": "بحرینی دینار",
+ "symbol": "BHD"
+ },
+ "BRL": {
+ "name": "برازیلی ریئل",
+ "symbol": "R$"
+ },
+ "BMD": {
+ "name": "برموڈا ڈالر",
+ "symbol": "BMD"
+ },
+ "BIF": {
+ "name": "برونڈیئن Ùرانک",
+ "symbol": "BIF"
+ },
+ "BND": {
+ "name": "برونئی ڈالر",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "بلغارین لیو",
+ "symbol": "BGN"
+ },
+ "BDT": {
+ "name": "Ø¨Ù†Ú¯Ù„Û Ø¯ÛŒØ´ÛŒ ٹکا",
+ "symbol": "BDT"
+ },
+ "BWP": {
+ "name": "بوتسوانا کا پولا",
+ "symbol": "BWP"
+ },
+ "BAM": {
+ "name": "بوسنیا Ûرزیگووینا کا قابل منتقلی نشان",
+ "symbol": "BAM"
+ },
+ "BOB": {
+ "name": "بولیوین بولیویانو",
+ "symbol": "BOB"
+ },
+ "BSD": {
+ "name": "بÛامانی ڈالر",
+ "symbol": "BSD"
+ },
+ "BYR": {
+ "name": "بیلاروسی روبل",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "بیلائز ڈالر",
+ "symbol": "BZD"
+ },
+ "INR": {
+ "name": "بھارتی روپیÛ",
+ "symbol": "₹"
+ },
+ "BTN": {
+ "name": "بھوٹانی Ú¯Ùلٹرم",
+ "symbol": "BTN"
+ },
+ "PGK": {
+ "name": "پاپوآ نیو گنی کا کینا",
+ "symbol": "PGK"
+ },
+ "PKR": {
+ "name": "پاکستانی روپیÛ",
+ "symbol": "Rs"
+ },
+ "PAB": {
+ "name": "Ù¾Ù†Ø§Ù…Û Ú©Ø§ بالبوآ",
+ "symbol": "PAB"
+ },
+ "PLN": {
+ "name": "پولش زلوٹی",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "پیراگوئے کا گوآرنی",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "پیروین نیووسول",
+ "symbol": "PEN"
+ },
+ "TJS": {
+ "name": "تاجکستانی سومونی",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "ترکمانستانی منات",
+ "symbol": "TMT"
+ },
+ "TRY": {
+ "name": "ترکی لیرا",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "ترینیداد اور ٹوباگو کا ڈالر",
+ "symbol": "TTD"
+ },
+ "TZS": {
+ "name": "تنزانیائی شلنگ",
+ "symbol": "TZS"
+ },
+ "TND": {
+ "name": "تیونیسیائی دینار",
+ "symbol": "TND"
+ },
+ "THB": {
+ "name": "تھائی باÛت",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "ٹونگن پانگا",
+ "symbol": "TOP"
+ },
+ "JPY": {
+ "name": "جاپانی ین",
+ "symbol": "JPÂ¥"
+ },
+ "GEL": {
+ "name": "جارجیائی لاری",
+ "symbol": "GEL"
+ },
+ "GIP": {
+ "name": "جبل الطارق پونڈ",
+ "symbol": "GIP"
+ },
+ "DJF": {
+ "name": "جبوتی Ùرانک",
+ "symbol": "DJF"
+ },
+ "JMD": {
+ "name": "جمائیکن ڈالر",
+ "symbol": "JMD"
+ },
+ "CZK": {
+ "name": "جمÛÙˆØ±ÛŒÛ Ú†ÛŒÚ© کرونا",
+ "symbol": "CZK"
+ },
+ "ZAR": {
+ "name": "جنوبی اÙریقی رانڈ",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "جنوبی سوڈانی پاؤنڈ",
+ "symbol": "SSP"
+ },
+ "KRW": {
+ "name": "جنوبی کوریائی وون",
+ "symbol": "â‚©"
+ },
+ "CLP": {
+ "name": "چلّین پیسÛ",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "چینی یوآن",
+ "symbol": "CNÂ¥"
+ },
+ "DKK": {
+ "name": "ڈنمارک کرونر",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "ڈومنیکن پیسو",
+ "symbol": "DOP"
+ },
+ "RWF": {
+ "name": "روانڈا کا Ùرانک",
+ "symbol": "RWF"
+ },
+ "RUB": {
+ "name": "روسی روبل",
+ "symbol": "RUB"
+ },
+ "RON": {
+ "name": "رومانیائی لیو",
+ "symbol": "RON"
+ },
+ "ZMW": {
+ "name": "زامبیائی کواچا",
+ "symbol": "ZMW"
+ },
+ "WST": {
+ "name": "ساموآ کا ٹالا",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "ساؤ ٹوم اور پرنسپے ڈوبرا",
+ "symbol": "STD"
+ },
+ "RSD": {
+ "name": "سربین دینار",
+ "symbol": "RSD"
+ },
+ "LKR": {
+ "name": "سری لنکائی روپیÛ",
+ "symbol": "LKR"
+ },
+ "SCR": {
+ "name": "سشلی کا روپیÛ",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "سعودی ریال",
+ "symbol": "SAR"
+ },
+ "SGD": {
+ "name": "سنگا پور ڈالر",
+ "symbol": "SGD"
+ },
+ "SZL": {
+ "name": "سوازی لیلانجینی",
+ "symbol": "SZL"
+ },
+ "SDG": {
+ "name": "سوڈانی پاؤنڈ",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "سورینامی ڈالر",
+ "symbol": "SRD"
+ },
+ "SBD": {
+ "name": "سولومن آئلینڈز ڈالر",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "سویڈن کرونا",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "سوئس Ùرانکس",
+ "symbol": "CHF"
+ },
+ "SHP": {
+ "name": "سینٹ Ûیلینا پاؤنڈ",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "سیئرا لیون لیون",
+ "symbol": "SLL"
+ },
+ "SYP": {
+ "name": "شامی پونڈ",
+ "symbol": "SYP"
+ },
+ "KPW": {
+ "name": "شمالی کوریائی وون",
+ "symbol": "KPW"
+ },
+ "SOS": {
+ "name": "صومالی شلنگ",
+ "symbol": "SOS"
+ },
+ "IQD": {
+ "name": "عراقی دینار",
+ "symbol": "IQD"
+ },
+ "OMR": {
+ "name": "عمانی ریال",
+ "symbol": "OMR"
+ },
+ "FKP": {
+ "name": "Ùاکلینڈ آئلینڈز پونڈ",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "Ùجی کا ڈالر",
+ "symbol": "FJD"
+ },
+ "PHP": {
+ "name": "Ùلپائینی پیسÛ",
+ "symbol": "PHP"
+ },
+ "KZT": {
+ "name": "قزاخستانی ٹینگ",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "قطری ریال",
+ "symbol": "QAR"
+ },
+ "CDF": {
+ "name": "کانگولیز Ùرانک",
+ "symbol": "CDF"
+ },
+ "KGS": {
+ "name": "کرغستانی سوم",
+ "symbol": "KGS"
+ },
+ "HRK": {
+ "name": "کروشین کونا",
+ "symbol": "HRK"
+ },
+ "KHR": {
+ "name": "کمبوڈیائی ریئل",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "کنیڈین ڈالر",
+ "symbol": "CA$"
+ },
+ "CRC": {
+ "name": "کوسٹا ریکا کا کولن",
+ "symbol": "CRC"
+ },
+ "COP": {
+ "name": "کولمبین پیسÛ",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "کوموریئن Ùرانک",
+ "symbol": "KMF"
+ },
+ "KWD": {
+ "name": "کویتی دینار",
+ "symbol": "KWD"
+ },
+ "CVE": {
+ "name": "کیپ ورڈی کا اسکیوڈو",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "کیمین آئلینڈز ڈالر",
+ "symbol": "KYD"
+ },
+ "KES": {
+ "name": "کینیائی شلنگ",
+ "symbol": "KES"
+ },
+ "CUP": {
+ "name": "کیوبا کا پیسو",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "کیوبا کا قابل منتقلی پیسو",
+ "symbol": "CUC"
+ },
+ "GMD": {
+ "name": "گامبیا کا ڈلاسی",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "Ú¯Ù†ÛŒ Ùرانک",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "گواٹے مالا کا کوئٹزل",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "گویانیز ڈالر",
+ "symbol": "GYD"
+ },
+ "GHS": {
+ "name": "گھانا کا سیڈی",
+ "symbol": "GHS"
+ },
+ "LAK": {
+ "name": "لاؤشیائی Ú©ÙÙ¾",
+ "symbol": "LAK"
+ },
+ "LRD": {
+ "name": "لائبریائی ڈالر",
+ "symbol": "LRD"
+ },
+ "LBP": {
+ "name": "لبنانی پونڈ",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "لیبیائی دینار",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "لیتھوینیائی لیٹاس",
+ "symbol": "LTL"
+ },
+ "LSL": {
+ "name": "لیسوتھو لوٹی",
+ "symbol": "LSL"
+ },
+ "MUR": {
+ "name": "ماریشس کا روپیÛ",
+ "symbol": "MUR"
+ },
+ "MDL": {
+ "name": "مالدووی لیو",
+ "symbol": "MDL"
+ },
+ "MVR": {
+ "name": "مالدیپ کا روÙÛŒÛ",
+ "symbol": "MVR"
+ },
+ "AED": {
+ "name": "Ù…ØªØ­Ø¯Û Ø¹Ø±Ø¨ اماراتی درÛÙ…",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "مراکشی درÛÙ…",
+ "symbol": "MAD"
+ },
+ "XCD": {
+ "name": "مشرقی کریبیا کا ڈالر",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "مصری پاؤنڈ",
+ "symbol": "EGP"
+ },
+ "MKD": {
+ "name": "مقدونیائی دینار",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "ملاگاسی اریاری",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "ملاوی کواچا",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "ملیشیائی رنگÙÙ¹",
+ "symbol": "MYR"
+ },
+ "MNT": {
+ "name": "منگولیائی ٹگرÙ",
+ "symbol": "MNT"
+ },
+ "MRO": {
+ "name": "موریطانیائی اوگوئیا",
+ "symbol": "MRO"
+ },
+ "MZN": {
+ "name": "موزامبیقی میٹیکل",
+ "symbol": "MZN"
+ },
+ "MMK": {
+ "name": "میانما کیاٹ",
+ "symbol": "MMK"
+ },
+ "MOP": {
+ "name": "میکانیز پٹاکا",
+ "symbol": "MOP"
+ },
+ "MXN": {
+ "name": "میکسیکی پیسÛ",
+ "symbol": "MX$"
+ },
+ "NOK": {
+ "name": "ناروے کرونر",
+ "symbol": "NOK"
+ },
+ "NAD": {
+ "name": "نامیبیائی ڈالر",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "نائیجیریائی نائرا",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "نکارا گوا کا کورڈوبا",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "نیپالی روپیÛ",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "نیدر لینڈز انٹیلیئن گلڈر",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "نیو تائیوان ڈالر",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "نیوزی لینڈ ڈالر",
+ "symbol": "NZ$"
+ },
+ "VND": {
+ "name": "ویتنامی ڈانگ",
+ "symbol": "â‚«"
+ },
+ "VEF": {
+ "name": "وینزویلا بولیور",
+ "symbol": "VEF"
+ },
+ "VUV": {
+ "name": "وینوواتو واتو",
+ "symbol": "VUV"
+ },
+ "HUF": {
+ "name": "Ûنگرین Ùورنٹ",
+ "symbol": "HUF"
+ },
+ "HNL": {
+ "name": "Ûونڈوران لیمپیرا",
+ "symbol": "HNL"
+ },
+ "HTG": {
+ "name": "Ûیتی کا گؤرڈی",
+ "symbol": "HTG"
+ },
+ "HKD": {
+ "name": "ھانگ کانگ ڈالر",
+ "symbol": "HK$"
+ },
+ "YER": {
+ "name": "یمنی ریال",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "یورو",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "یوروگویان پیسو",
+ "symbol": "UYU"
+ },
+ "UAH": {
+ "name": "یوکرینیائی Ûریونیا",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "یوگانڈا شلنگ",
+ "symbol": "UGX"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/uz-Cyrl.json b/library/intl/resources/currency/uz-Cyrl.json
new file mode 100644
index 000000000..b5396c691
--- /dev/null
+++ b/library/intl/resources/currency/uz-Cyrl.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "฿"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "USD": {
+ "name": "ÐҚШ доллари",
+ "symbol": "US$"
+ },
+ "ARS": {
+ "name": "Ðргентина пеÑоÑи",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "Ðруба флорини",
+ "symbol": "AWG"
+ },
+ "BSD": {
+ "name": "Багама доллари",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "Ð‘Ð°Ñ€Ð±Ð°Ð´Ð¾Ñ Ð´Ð¾Ð»Ð»Ð°Ñ€Ð¸",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Белиз доллари",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Бермуда доллари",
+ "symbol": "BMD"
+ },
+ "BOB": {
+ "name": "Ð‘Ð¾Ð»Ð¸Ð²Ð¸Ñ Ð±Ð¾Ð»Ð²Ð¸Ð°Ð½Ð¸",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "Бразил реали",
+ "symbol": "R$"
+ },
+ "VEF": {
+ "name": "ВенеÑуÑла боливари",
+ "symbol": "VEF"
+ },
+ "HTG": {
+ "name": "Гаити гурдаÑи",
+ "symbol": "HTG"
+ },
+ "GYD": {
+ "name": "ГаÑна доллари",
+ "symbol": "GYD"
+ },
+ "GTQ": {
+ "name": "Гватемала кветзали",
+ "symbol": "GTQ"
+ },
+ "ANG": {
+ "name": "Голланд Ðнтил гульдени",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "Ð“Ð¾Ð½Ð´ÑƒÑ€Ð°Ñ Ð»ÐµÐ¼Ð¿Ð¸Ñ€Ð°Ñи",
+ "symbol": "HNL"
+ },
+ "DOP": {
+ "name": "Доминикан пеÑоÑи",
+ "symbol": "DOP"
+ },
+ "EUR": {
+ "name": "Евро",
+ "symbol": "€"
+ },
+ "DZD": {
+ "name": "Жазоир динори",
+ "symbol": "DZD"
+ },
+ "GBP": {
+ "name": "Инглиз фунт Ñтерлинги",
+ "symbol": "£"
+ },
+ "KYD": {
+ "name": "Кайман ороли Доллари",
+ "symbol": "KYD"
+ },
+ "CAD": {
+ "name": "Канада доллари",
+ "symbol": "CA$"
+ },
+ "COP": {
+ "name": "ÐšÐ¾Ð»ÑƒÐ¼Ð±Ð¸Ñ Ð¿ÐµÑоÑи",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "КоÑта-Рика колони",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "Куба Ðйирбошлаш пеÑоÑи",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Куба пеÑоÑи",
+ "symbol": "CUP"
+ },
+ "LYD": {
+ "name": "Ð›Ð¸Ð²Ð¸Ñ Ð´Ð¸Ð½Ð¾Ñ€Ð¸",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "Марокаш дирҳами",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "МекÑика пеÑоÑи",
+ "symbol": "MX$"
+ },
+ "EGP": {
+ "name": "МиÑÑ€ фунти",
+ "symbol": "EGP"
+ },
+ "NIO": {
+ "name": "Ðикарагуа кордобаÑи",
+ "symbol": "NIO"
+ },
+ "PAB": {
+ "name": "Панама бальбоаÑи",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "Парагвай гуарани",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Перу нуево Ñол",
+ "symbol": "PEN"
+ },
+ "RUB": {
+ "name": "Ð ÑƒÑ Ñ€ÑƒÐ±Ð»Ð¸",
+ "symbol": "RUB"
+ },
+ "SRD": {
+ "name": "Суринам доллари",
+ "symbol": "SRD"
+ },
+ "TTD": {
+ "name": "Тринидад ва Тобаго доллари",
+ "symbol": "TTD"
+ },
+ "UYU": {
+ "name": "Уругвай пеÑоÑи",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "ЎзбекиÑтон Ñўм",
+ "symbol": "Ñўм"
+ },
+ "FKP": {
+ "name": "Фолькленд ороли фунти",
+ "symbol": "FKP"
+ },
+ "CNY": {
+ "name": "Хитой юани",
+ "symbol": "CNÂ¥"
+ },
+ "INR": {
+ "name": "Ҳинд рупиÑÑи",
+ "symbol": "₹"
+ },
+ "CLP": {
+ "name": "Чили пеÑоÑи",
+ "symbol": "CLP"
+ },
+ "XCD": {
+ "name": "Шарқий Кариб доллари",
+ "symbol": "EC$"
+ },
+ "JMD": {
+ "name": "Ямайка доллари",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "Япон йенаÑи",
+ "symbol": "JPÂ¥"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/uz.json b/library/intl/resources/currency/uz.json
new file mode 100644
index 000000000..e9d858c75
--- /dev/null
+++ b/library/intl/resources/currency/uz.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "Alban leki",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "USD": {
+ "name": "AQSH dollari",
+ "symbol": "US$"
+ },
+ "ARS": {
+ "name": "Argentina pesosi",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "Aruba florini",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "Avstraliya dollari",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "Bagama dollari",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "Barbados dollari",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BYR": {
+ "name": "Belarus rubli",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "Beliz dollari",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Bermuda dollari",
+ "symbol": "BMD"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "Bolgariya levi",
+ "symbol": "BGN"
+ },
+ "BOB": {
+ "name": "Boliviya bolivyani",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "Bosniya va Gertsogovina ayriboshlash markasi",
+ "symbol": "BAM"
+ },
+ "BRL": {
+ "name": "Brazil reali",
+ "symbol": "R$"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CZK": {
+ "name": "Chex kronasi",
+ "symbol": "CZK"
+ },
+ "CLP": {
+ "name": "Chili pesosi",
+ "symbol": "CLP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "DKK": {
+ "name": "Daniya kronasi",
+ "symbol": "DKK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "Dominikan pesosi",
+ "symbol": "DOP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "Folklend oroli funti",
+ "symbol": "FKP"
+ },
+ "HTG": {
+ "name": "Gaiti gurdasi",
+ "symbol": "HTG"
+ },
+ "GYD": {
+ "name": "Gayana dollari",
+ "symbol": "GYD"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "Gibraltar funti",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "ANG": {
+ "name": "Golland Antil guldeni",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "Gonduras lempirasi",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "Gonkong dollari",
+ "symbol": "HK$"
+ },
+ "GTQ": {
+ "name": "Gvatemala kvetzali",
+ "symbol": "GTQ"
+ },
+ "INR": {
+ "name": "Hind rupiyasi",
+ "symbol": "₹"
+ },
+ "HRK": {
+ "name": "Horvat kunasi",
+ "symbol": "HRK"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IDR": {
+ "name": "Indoneziya rupiyasi",
+ "symbol": "IDR"
+ },
+ "GBP": {
+ "name": "Ingliz funt sterlingi",
+ "symbol": "£"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "Islandiya kronasi",
+ "symbol": "ISK"
+ },
+ "ZAR": {
+ "name": "Janubiy Afrika randi",
+ "symbol": "ZAR"
+ },
+ "KRW": {
+ "name": "Janubiy Koreya voni",
+ "symbol": "â‚©"
+ },
+ "SSP": {
+ "name": "Janubiy Sudan funti",
+ "symbol": "SSP"
+ },
+ "DZD": {
+ "name": "Jazoir dinori",
+ "symbol": "DZD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CAD": {
+ "name": "Kanada dollari",
+ "symbol": "CA$"
+ },
+ "KYD": {
+ "name": "Kayman Orollari Dollari",
+ "symbol": "KYD"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "COP": {
+ "name": "Kolumbiya pesosi",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "Kosta-Rika koloni",
+ "symbol": "CRC"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "CUC": {
+ "name": "Kuba Ayirboshlash pesosi",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "Kuba pesosi",
+ "symbol": "CUP"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LTL": {
+ "name": "Litva liti",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "Liviya dinori",
+ "symbol": "LYD"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "MKD": {
+ "name": "Makedoniya dinori",
+ "symbol": "MKD"
+ },
+ "MAD": {
+ "name": "Marokash dirhami",
+ "symbol": "MAD"
+ },
+ "MXN": {
+ "name": "Meksika pesosi",
+ "symbol": "MX$"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "EGP": {
+ "name": "Misr funti",
+ "symbol": "EGP"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MDL": {
+ "name": "Moldova leusi",
+ "symbol": "MDL"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "Nikaragua kordobasi",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "Norvegiya kronasi",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "UZS": {
+ "name": "Oʻzbekiston soʻm",
+ "symbol": "soʻm"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "Panama balboasi",
+ "symbol": "PAB"
+ },
+ "PYG": {
+ "name": "Paragvay guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "Peru noyvo soli",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "Polsha zlotiyi",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "Rumin leusi",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "Rus rubli",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "Saudiya Arabistoni riyoli",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "Serbiya dinori",
+ "symbol": "RSD"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "XCD": {
+ "name": "Sharqiy Karib dollari",
+ "symbol": "EC$"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "CHF": {
+ "name": "Shvetsariya franki",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "Shvetsiya kronasi",
+ "symbol": "SEK"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SDG": {
+ "name": "Sudan funti",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "Surinam dollari",
+ "symbol": "SRD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "Tayland bahti",
+ "symbol": "฿"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "Trinidad va Tobago dollari",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunis dinori",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "Turk lirasi",
+ "symbol": "TRY"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "Ukrain grivnasi",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "Urugvay pesosi",
+ "symbol": "UYU"
+ },
+ "VEF": {
+ "name": "Venesuela bolivari",
+ "symbol": "VEF"
+ },
+ "HUF": {
+ "name": "Vengriya forinti",
+ "symbol": "HUF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "CNY": {
+ "name": "Xitoy yuani",
+ "symbol": "CNÂ¥"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JMD": {
+ "name": "Yamayka dollari",
+ "symbol": "JMD"
+ },
+ "TWD": {
+ "name": "Yangi Tayvan dollari",
+ "symbol": "NT$"
+ },
+ "JPY": {
+ "name": "Yapon yenasi",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "Yevro",
+ "symbol": "€"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/vai-Latn.json b/library/intl/resources/currency/vai-Latn.json
new file mode 100644
index 000000000..cfdd565b8
--- /dev/null
+++ b/library/intl/resources/currency/vai-Latn.json
@@ -0,0 +1,634 @@
+{
+ "ZAR": {
+ "name": "Afirika Kɔi Leŋŋɛ lɔ Randi",
+ "symbol": "ZAR"
+ },
+ "XOF": {
+ "name": "Ãfíríka Tele Jíí Sifa",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Ãfíríka TÉ› Sifa",
+ "symbol": "FCFA"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "DZD": {
+ "name": "Agiriya Dina",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "Angola Kuwaŋza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "Bharɛŋ Dina",
+ "symbol": "BHD"
+ },
+ "BWP": {
+ "name": "Bhosuwana Pula",
+ "symbol": "BWP"
+ },
+ "BIF": {
+ "name": "Bhurundi Furaŋki",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CNY": {
+ "name": "Chaníĩ Yuwaŋ Rɛŋmimbi",
+ "symbol": "CNÂ¥"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "ERN": {
+ "name": "Æritera Nakifa",
+ "symbol": "ERN"
+ },
+ "CVE": {
+ "name": "Æsikudo CabovÉ›diyano",
+ "symbol": "CVE"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "Gambiya Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Ãndiya Rupi",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "ETB": {
+ "name": "Ãtiyopiya Bhii",
+ "symbol": "ETB"
+ },
+ "JPY": {
+ "name": "Japaniĩ Yɛŋ",
+ "symbol": "JPÂ¥"
+ },
+ "GBP": {
+ "name": "Jengési Pɔɔ̃ SitÉ›ÌliÅ‹",
+ "symbol": "£"
+ },
+ "DJF": {
+ "name": "Jibhuti Furaŋki",
+ "symbol": "DJF"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CAD": {
+ "name": "Kanada Dala",
+ "symbol": "CA$"
+ },
+ "KES": {
+ "name": "Kénya Siyeŋ",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "Komoro Furaŋki",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Kóngo Furaŋki",
+ "symbol": "CDF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "SAR": {
+ "name": "Lahabu Sawodi Riya",
+ "symbol": "SAR"
+ },
+ "LRD": {
+ "name": "Laibhiya Dala",
+ "symbol": "$"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LYD": {
+ "name": "Libhiya Dina",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LSL": {
+ "name": "Lisóto Loti",
+ "symbol": "LSL"
+ },
+ "SLL": {
+ "name": "Liyɔɔ̀",
+ "symbol": "SLL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MGA": {
+ "name": "Malagasi Ariyari",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "Malawi Kuwacha",
+ "symbol": "MWK"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "EGP": {
+ "name": "Míséla Pɔɔ̃",
+ "symbol": "EGP"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MUR": {
+ "name": "Mɔreshɔ Rupi",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "Mɔretani Yugiya",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "Mɔroko Dihami",
+ "symbol": "MAD"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naĩjiriya Naĩra",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "Namibiya Dala",
+ "symbol": "NAD"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "AUD": {
+ "name": "ƆÌsituwa Dala",
+ "symbol": "A$"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "USD": {
+ "name": "Poo Dala",
+ "symbol": "US$"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RWF": {
+ "name": "Rawunda Furaŋki",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "STD": {
+ "name": "Sawo Tombe É“É› a Gbawo Dobura",
+ "symbol": "STD"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "Siŋ Hɛlina Pɔɔ̃",
+ "symbol": "SHP"
+ },
+ "SOS": {
+ "name": "Somaliya Siyeŋ",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SDG": {
+ "name": "Sudaniĩ Pɔɔ̃",
+ "symbol": "SDG"
+ },
+ "CHF": {
+ "name": "Suwesi Furaŋki",
+ "symbol": "CHF"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "TZS": {
+ "name": "Taŋzaniya Siyeŋ",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "Tunisiya Dina",
+ "symbol": "TND"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "UGX": {
+ "name": "Yuganda Siyeŋ",
+ "symbol": "UGX"
+ },
+ "AED": {
+ "name": "YunaitÉ› Arabhi Æmire Dihami",
+ "symbol": "AED"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZMW": {
+ "name": "Zambiya Kuwacha",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/vai.json b/library/intl/resources/currency/vai.json
new file mode 100644
index 000000000..b9da1beaa
--- /dev/null
+++ b/library/intl/resources/currency/vai.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ },
+ "ERN": {
+ "name": "ꔀꔸꔳꕟ ê—ꖻꘋ",
+ "symbol": "ERN"
+ },
+ "SCR": {
+ "name": "ꔖꗼꔷ ꖩꔪ",
+ "symbol": "SCR"
+ },
+ "GBP": {
+ "name": "ꔛꔟꔻ ê—ꖻꘋ ꔻꗳꔷꘋ",
+ "symbol": "£"
+ },
+ "KES": {
+ "name": "ꔞꕰ ê”»ê”ꘋ",
+ "symbol": "KES"
+ },
+ "INR": {
+ "name": "ꔤꔺꕩ ꖩꔪ",
+ "symbol": "₹"
+ },
+ "ETB": {
+ "name": "ꔤꕿꖎꔪꕩ ꔫꔤ",
+ "symbol": "ETB"
+ },
+ "LYD": {
+ "name": "ꔷꔫꕩ ꔵꕯ",
+ "symbol": "LYD"
+ },
+ "SZL": {
+ "name": "ꔷꕞꔟꕇ",
+ "symbol": "SZL"
+ },
+ "LSL": {
+ "name": "ꔷꖇꕿ ꖃꔳ",
+ "symbol": "LSL"
+ },
+ "SLL": {
+ "name": "ꔷꗚꘋ",
+ "symbol": "SLL"
+ },
+ "SHP": {
+ "name": "ꔻꘋ ꗥꔷꕯ ê—ꖻꘋ",
+ "symbol": "SHP"
+ },
+ "DJF": {
+ "name": "ꕀꖜꔳ ꖢꕟꘋꕃ",
+ "symbol": "DJF"
+ },
+ "EGP": {
+ "name": "ꕆꔻꕞ ê—ꖻꘋ",
+ "symbol": "EGP"
+ },
+ "ZAR": {
+ "name": "ꕉꔱꔸꕪ ꗛꔤ ꔒꘋꗣ ê— ê•Ÿê˜‹ê”µ",
+ "symbol": "ZAR"
+ },
+ "DZD": {
+ "name": "ꕉꔷꕀꔸꕩ ꔵꕯ",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "ꕉê–ê•ž ꖴꕎꘋꕤ",
+ "symbol": "AOA"
+ },
+ "BHD": {
+ "name": "ꕑꗸꘋ",
+ "symbol": "BHD"
+ },
+ "TZS": {
+ "name": "ꕚꘋꕤꕇꕰ ê”»ê”ꘋ",
+ "symbol": "TZS"
+ },
+ "LRD": {
+ "name": "ꕞꔤꔫꕩ ꕜꕞꕌ",
+ "symbol": "$"
+ },
+ "RWF": {
+ "name": "ꕟꖙꕡ ꖢꕟꘋꕃ",
+ "symbol": "RWF"
+ },
+ "STD": {
+ "name": "ꕢꕴ ꕿꔈ ê—ª ꕉ ê•—ê•´ ê–ꖜꕟ",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "ꕢꖙꔵ ꔸꕩꔷ",
+ "symbol": "SAR"
+ },
+ "ZMW": {
+ "name": "ꕤꔭꕩ ꖴꕎꕦ",
+ "symbol": "ZMW"
+ },
+ "CNY": {
+ "name": "ꕦꕇꔧ ꖳꕎꘋ ꔓꕆꘋꔬ",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "ꕧê•ê•‡ê”§ ꘂꘋ",
+ "symbol": "JPÂ¥"
+ },
+ "CAD": {
+ "name": "ꕪꕯꕜ ꕜꕞꕌ",
+ "symbol": "CA$"
+ },
+ "GMD": {
+ "name": "ꕭꔭꕩ ꕜꕞꔻ",
+ "symbol": "GMD"
+ },
+ "MWK": {
+ "name": "ꕮꕞꕌꔨ ꖴꕎꕦ",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "ꕮꕞꕭꕌꔻ ꕉꔸꕩꔸ",
+ "symbol": "MGA"
+ },
+ "NGN": {
+ "name": "ꕯꔤꕀꔸꕩ ꕯꔤꕟ",
+ "symbol": "NGN"
+ },
+ "NAD": {
+ "name": "ꕯꕆꔫꕩ ꕜꕞꕌ",
+ "symbol": "NAD"
+ },
+ "USD": {
+ "name": "ꕶꕱ ꕜꕞ",
+ "symbol": "US$"
+ },
+ "BWP": {
+ "name": "ꕷꖬꕎꕯ ꖛꕞ",
+ "symbol": "BWP"
+ },
+ "SOS": {
+ "name": "ꖇꕮꔷ ê”»ê”ꘋ",
+ "symbol": "SOS"
+ },
+ "CDF": {
+ "name": "ê–ê–ꕱ ꖢꕟꘋꕃ",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "ê–ê–’ê–„ ꖢꕟꘋꕃ",
+ "symbol": "KMF"
+ },
+ "BIF": {
+ "name": "ꖜꖩꔺ ꖢꕟꘋꕃ",
+ "symbol": "BIF"
+ },
+ "TND": {
+ "name": "ꖤꕇꔻꕩ ꔵꕯ",
+ "symbol": "TND"
+ },
+ "CHF": {
+ "name": "ꖬꔃꕤ ꖨꕮꕊ ꖢꕟꘋꕃ",
+ "symbol": "CHF"
+ },
+ "SDG": {
+ "name": "ꖬꗵꘋ ê—ꖻꘋ",
+ "symbol": "SDG"
+ },
+ "UGX": {
+ "name": "ꖳꕭꕡ ê”»ê”ꘋ",
+ "symbol": "UGX"
+ },
+ "AED": {
+ "name": "ꖳꕯꔤꗳ ꕉꕟꔬ ꗡꕆꔓꔻ ꔵꕌꕆ",
+ "symbol": "AED"
+ },
+ "EUR": {
+ "name": "ꖳꖄ",
+ "symbol": "€"
+ },
+ "AUD": {
+ "name": "ꖺꔻꖤꔃꔷꕩ ꕜꕞꕌ",
+ "symbol": "A$"
+ },
+ "MUR": {
+ "name": "ꗞꔓꗔ ꖩꔪ",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "ꗞꔸꕚꕇꕰ ꖳꕅꕩ",
+ "symbol": "MRO"
+ },
+ "MAD": {
+ "name": "ê—žê•Ÿê– ê”µê•Œê•†",
+ "symbol": "MAD"
+ },
+ "CVE": {
+ "name": "ê—¡ê”»ê–´ê– ê•ªê•·ê—²ê—¡ê”µê•©ê–†",
+ "symbol": "CVE"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/vi.json b/library/intl/resources/currency/vi.json
new file mode 100644
index 000000000..0fb29e1e1
--- /dev/null
+++ b/library/intl/resources/currency/vi.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "Afghani Afghanistan",
+ "symbol": "AFN"
+ },
+ "MGA": {
+ "name": "Ariary Malagasy",
+ "symbol": "MGA"
+ },
+ "PAB": {
+ "name": "Balboa Panama",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Bảng Ai Cập",
+ "symbol": "EGP"
+ },
+ "GBP": {
+ "name": "Bảng Anh",
+ "symbol": "£"
+ },
+ "GIP": {
+ "name": "Bảng Gibraltar",
+ "symbol": "GIP"
+ },
+ "LBP": {
+ "name": "Bảng Li-băng",
+ "symbol": "LBP"
+ },
+ "SSP": {
+ "name": "Bảng Nam Sudan",
+ "symbol": "SSP"
+ },
+ "FKP": {
+ "name": "Bảng Quần đảo Falkland",
+ "symbol": "FKP"
+ },
+ "SHP": {
+ "name": "Bảng Saint Helena",
+ "symbol": "SHP"
+ },
+ "SDG": {
+ "name": "Bảng Sudan",
+ "symbol": "SDG"
+ },
+ "SYP": {
+ "name": "Bảng Syria",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "Bạt Thái Lan",
+ "symbol": "฿"
+ },
+ "ETB": {
+ "name": "Birr Ethiopia",
+ "symbol": "ETB"
+ },
+ "VEF": {
+ "name": "Bolívar Venezuela",
+ "symbol": "VEF"
+ },
+ "BOB": {
+ "name": "Boliviano Bolivia",
+ "symbol": "BOB"
+ },
+ "GHS": {
+ "name": "Cedi Ghana",
+ "symbol": "GHS"
+ },
+ "XAF": {
+ "name": "CFA Franc BEAC",
+ "symbol": "FCFA"
+ },
+ "CRC": {
+ "name": "Colón Costa Rica",
+ "symbol": "CRC"
+ },
+ "NIO": {
+ "name": "Córdoba Nicaragua",
+ "symbol": "NIO"
+ },
+ "GMD": {
+ "name": "Dalasi Gambia",
+ "symbol": "GMD"
+ },
+ "MKD": {
+ "name": "Denar Macedonia",
+ "symbol": "MKD"
+ },
+ "DZD": {
+ "name": "Dinar Algeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinar Bahrain",
+ "symbol": "BHD"
+ },
+ "IQD": {
+ "name": "Dinar I-rắc",
+ "symbol": "IQD"
+ },
+ "JOD": {
+ "name": "Dinar Jordan",
+ "symbol": "JOD"
+ },
+ "KWD": {
+ "name": "Dinar Kuwait",
+ "symbol": "KWD"
+ },
+ "LYD": {
+ "name": "Dinar Libi",
+ "symbol": "LYD"
+ },
+ "RSD": {
+ "name": "Dinar Serbia",
+ "symbol": "RSD"
+ },
+ "TND": {
+ "name": "Dinar Tunisia",
+ "symbol": "TND"
+ },
+ "MAD": {
+ "name": "Dirham Ma-rốc",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Dirham UAE",
+ "symbol": "AED"
+ },
+ "STD": {
+ "name": "Dobra São Tomé và Príncipe",
+ "symbol": "STD"
+ },
+ "AMD": {
+ "name": "Dram Armenia",
+ "symbol": "AMD"
+ },
+ "AUD": {
+ "name": "Äô la Australia",
+ "symbol": "AU$"
+ },
+ "BSD": {
+ "name": "Äô la Bahamas",
+ "symbol": "BSD"
+ },
+ "BBD": {
+ "name": "Äô la Barbados",
+ "symbol": "BBD"
+ },
+ "BZD": {
+ "name": "Äô la Belize",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "Äô la Bermuda",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "Äô la Brunei",
+ "symbol": "BND"
+ },
+ "CAD": {
+ "name": "Äô la Canada",
+ "symbol": "CA$"
+ },
+ "TWD": {
+ "name": "Äô la Äài Loan má»›i",
+ "symbol": "NT$"
+ },
+ "XCD": {
+ "name": "Äô la Äông Caribê",
+ "symbol": "EC$"
+ },
+ "FJD": {
+ "name": "Äô la Fiji",
+ "symbol": "FJD"
+ },
+ "GYD": {
+ "name": "Äô la Guyana",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "Äô la Hồng Kông",
+ "symbol": "HK$"
+ },
+ "JMD": {
+ "name": "Äô la Jamaica",
+ "symbol": "JMD"
+ },
+ "LRD": {
+ "name": "Äô la Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Äô la Mỹ",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Äô la Namibia",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "Äô la New Zealand",
+ "symbol": "NZ$"
+ },
+ "KYD": {
+ "name": "Äô la Quần đảo Cayman",
+ "symbol": "KYD"
+ },
+ "SBD": {
+ "name": "Äô la quần đảo Solomon",
+ "symbol": "SBD"
+ },
+ "SGD": {
+ "name": "Äô la Singapore",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "Äô la Suriname",
+ "symbol": "SRD"
+ },
+ "TTD": {
+ "name": "Äô la Trinidad và Tobago",
+ "symbol": "TTD"
+ },
+ "SVC": {
+ "name": "Äồng Colón Salvador",
+ "symbol": "SVC"
+ },
+ "ZWL": {
+ "name": "Äồng Äô la Zimbabwe (2009)",
+ "symbol": "ZWL"
+ },
+ "LSL": {
+ "name": "Äồng loti của Lesotho",
+ "symbol": "LSL"
+ },
+ "VND": {
+ "name": "Äồng Việt Nam",
+ "symbol": "â‚«"
+ },
+ "CVE": {
+ "name": "Escudo Cape Verde",
+ "symbol": "CVE"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "AWG": {
+ "name": "Florin Aruba",
+ "symbol": "AWG"
+ },
+ "HUF": {
+ "name": "Forint Hungaria",
+ "symbol": "HUF"
+ },
+ "BIF": {
+ "name": "Franc Burundi",
+ "symbol": "BIF"
+ },
+ "XOF": {
+ "name": "Franc CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "Franc CFP",
+ "symbol": "CFPF"
+ },
+ "KMF": {
+ "name": "Franc Comoros",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Franc Congo",
+ "symbol": "CDF"
+ },
+ "DJF": {
+ "name": "Franc Djibouti",
+ "symbol": "DJF"
+ },
+ "GNF": {
+ "name": "Franc Guinea",
+ "symbol": "GNF"
+ },
+ "RWF": {
+ "name": "Franc Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Franc Thụy sĩ",
+ "symbol": "CHF"
+ },
+ "HTG": {
+ "name": "Gourde Haiti",
+ "symbol": "HTG"
+ },
+ "PYG": {
+ "name": "Guarani Paraguay",
+ "symbol": "PYG"
+ },
+ "ANG": {
+ "name": "Guilder Tây Ấn Hà Lan",
+ "symbol": "ANG"
+ },
+ "UAH": {
+ "name": "Hryvnia Ucraina",
+ "symbol": "UAH"
+ },
+ "PGK": {
+ "name": "Kina Papua New Guinean",
+ "symbol": "PGK"
+ },
+ "LAK": {
+ "name": "Kip Lào",
+ "symbol": "LAK"
+ },
+ "CZK": {
+ "name": "Koruna Cộng hòa Séc",
+ "symbol": "CZK"
+ },
+ "ISK": {
+ "name": "Króna Iceland",
+ "symbol": "ISK"
+ },
+ "SEK": {
+ "name": "Krona Thụy Äiển",
+ "symbol": "SEK"
+ },
+ "DKK": {
+ "name": "Krone Äan Mạch",
+ "symbol": "DKK"
+ },
+ "NOK": {
+ "name": "Krone Na Uy",
+ "symbol": "NOK"
+ },
+ "HRK": {
+ "name": "Kuna Croatia",
+ "symbol": "HRK"
+ },
+ "MWK": {
+ "name": "Kwacha Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza Angola",
+ "symbol": "AOA"
+ },
+ "MMK": {
+ "name": "Kyat Myanma",
+ "symbol": "MMK"
+ },
+ "GEL": {
+ "name": "Lari Gruzia",
+ "symbol": "GEL"
+ },
+ "ALL": {
+ "name": "Lek Albania",
+ "symbol": "ALL"
+ },
+ "HNL": {
+ "name": "Lempira Honduras",
+ "symbol": "HNL"
+ },
+ "SLL": {
+ "name": "Leone Sierra Leone",
+ "symbol": "SLL"
+ },
+ "MDL": {
+ "name": "Leu Moldova",
+ "symbol": "MDL"
+ },
+ "RON": {
+ "name": "Leu Romania",
+ "symbol": "RON"
+ },
+ "BGN": {
+ "name": "Lev Bulgaria",
+ "symbol": "BGN"
+ },
+ "TRY": {
+ "name": "Lia Thổ Nhĩ Kỳ",
+ "symbol": "TRY"
+ },
+ "SZL": {
+ "name": "Lilangeni Swaziland",
+ "symbol": "SZL"
+ },
+ "LTL": {
+ "name": "Litas Lít-va",
+ "symbol": "LTL"
+ },
+ "AZN": {
+ "name": "Manat Azerbaijan",
+ "symbol": "AZN"
+ },
+ "TMT": {
+ "name": "Manat Turkmenistan",
+ "symbol": "TMT"
+ },
+ "BAM": {
+ "name": "Mark Bosnia-Herzegovina có thể chuyển đổi",
+ "symbol": "BAM"
+ },
+ "MZN": {
+ "name": "Metical Mozambique",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira Nigeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa Eritrea",
+ "symbol": "ERN"
+ },
+ "BTN": {
+ "name": "Ngultrum Bhutan",
+ "symbol": "BTN"
+ },
+ "CNY": {
+ "name": "Nhân dân tệ",
+ "symbol": "CNÂ¥"
+ },
+ "PEN": {
+ "name": "Nuevo Sol Peru",
+ "symbol": "PEN"
+ },
+ "MRO": {
+ "name": "Ouguiya Mauritania",
+ "symbol": "MRO"
+ },
+ "TOP": {
+ "name": "Paʻanga Tonga",
+ "symbol": "TOP"
+ },
+ "MOP": {
+ "name": "Pataca Ma Cao",
+ "symbol": "MOP"
+ },
+ "ARS": {
+ "name": "Peso Argentina",
+ "symbol": "ARS"
+ },
+ "CLP": {
+ "name": "Peso Chile",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "Peso Colombia",
+ "symbol": "COP"
+ },
+ "CUP": {
+ "name": "Peso Cuba",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "Peso Cuba có thể chuyển đổi",
+ "symbol": "CUC"
+ },
+ "DOP": {
+ "name": "Peso Dominica",
+ "symbol": "DOP"
+ },
+ "MXN": {
+ "name": "Peso Mexico",
+ "symbol": "MX$"
+ },
+ "PHP": {
+ "name": "Peso Philipin",
+ "symbol": "PHP"
+ },
+ "UYU": {
+ "name": "Peso Uruguay",
+ "symbol": "UYU"
+ },
+ "BWP": {
+ "name": "Pula Botswana",
+ "symbol": "BWP"
+ },
+ "GTQ": {
+ "name": "Quetzal Guatemala",
+ "symbol": "GTQ"
+ },
+ "ZAR": {
+ "name": "Rand Nam Phi",
+ "symbol": "ZAR"
+ },
+ "BRL": {
+ "name": "Real Braxin",
+ "symbol": "R$"
+ },
+ "IRR": {
+ "name": "Rial Iran",
+ "symbol": "IRR"
+ },
+ "OMR": {
+ "name": "Rial Oman",
+ "symbol": "OMR"
+ },
+ "QAR": {
+ "name": "Rial Qatar",
+ "symbol": "QAR"
+ },
+ "YER": {
+ "name": "Rial Yemen",
+ "symbol": "YER"
+ },
+ "KHR": {
+ "name": "Riel Campuchia",
+ "symbol": "KHR"
+ },
+ "MYR": {
+ "name": "Ringgit Malaysia",
+ "symbol": "MYR"
+ },
+ "SAR": {
+ "name": "Riyal Ả Rập Xê-út",
+ "symbol": "SAR"
+ },
+ "MVR": {
+ "name": "Rufiyaa Maldives",
+ "symbol": "MVR"
+ },
+ "BYR": {
+ "name": "Rúp Belarus",
+ "symbol": "BYR"
+ },
+ "RUB": {
+ "name": "Rúp Nga",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupee Ấn Äá»™",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupee Mauritius",
+ "symbol": "MUR"
+ },
+ "NPR": {
+ "name": "Rupee Nepal",
+ "symbol": "NPR"
+ },
+ "PKR": {
+ "name": "Rupee Pakistan",
+ "symbol": "PKR"
+ },
+ "SCR": {
+ "name": "Rupee Seychelles",
+ "symbol": "SCR"
+ },
+ "LKR": {
+ "name": "Rupee Sri Lanka",
+ "symbol": "LKR"
+ },
+ "IDR": {
+ "name": "Rupiah Indonesia",
+ "symbol": "IDR"
+ },
+ "SOS": {
+ "name": "Schilling Somali",
+ "symbol": "SOS"
+ },
+ "ILS": {
+ "name": "Sheqel Israel má»›i",
+ "symbol": "₪"
+ },
+ "KES": {
+ "name": "Shilling Kenya",
+ "symbol": "KES"
+ },
+ "TZS": {
+ "name": "Shilling Tanzania",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Shilling Uganda",
+ "symbol": "UGX"
+ },
+ "KGS": {
+ "name": "Som Kyrgyzstan",
+ "symbol": "KGS"
+ },
+ "UZS": {
+ "name": "Som Uzbekistan",
+ "symbol": "UZS"
+ },
+ "TJS": {
+ "name": "Somoni Tajikistan",
+ "symbol": "TJS"
+ },
+ "BDT": {
+ "name": "Taka Bangladesh",
+ "symbol": "BDT"
+ },
+ "WST": {
+ "name": "Tala Samoa",
+ "symbol": "WST"
+ },
+ "KZT": {
+ "name": "Tenge Kazakhstan",
+ "symbol": "KZT"
+ },
+ "MNT": {
+ "name": "Tugrik Mông Cổ",
+ "symbol": "MNT"
+ },
+ "VUV": {
+ "name": "Vatu Vanuatu",
+ "symbol": "VUV"
+ },
+ "KRW": {
+ "name": "Won Hàn Quốc",
+ "symbol": "â‚©"
+ },
+ "KPW": {
+ "name": "Won Triá»u Tiên",
+ "symbol": "KPW"
+ },
+ "JPY": {
+ "name": "Yên Nhật",
+ "symbol": "JPÂ¥"
+ },
+ "PLN": {
+ "name": "Zloty Ba Lan",
+ "symbol": "PLN"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/vun.json b/library/intl/resources/currency/vun.json
new file mode 100644
index 000000000..655670a30
--- /dev/null
+++ b/library/intl/resources/currency/vun.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Bir ya Uhabeshi",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambia",
+ "symbol": "GMD"
+ },
+ "DZD": {
+ "name": "Dinari ya Aljeria",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinari ya Bahareni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinari ya Libya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dinari ya Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinari ya Tunisia",
+ "symbol": "TND"
+ },
+ "AED": {
+ "name": "Dirham ya Falme za Kiarabu",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "Dirham ya Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobra ya Sao Tome na Principe",
+ "symbol": "STD"
+ },
+ "AUD": {
+ "name": "Dola ya Australia",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dola ya Liberia",
+ "symbol": "LRD"
+ },
+ "USD": {
+ "name": "Dola ya Marekani",
+ "symbol": "US$"
+ },
+ "NAD": {
+ "name": "Dola ya Namibia",
+ "symbol": "NAD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Eskudo ya Kepuvede",
+ "symbol": "CVE"
+ },
+ "XOF": {
+ "name": "Faranga CFA BCEAO",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga CFA BEAC",
+ "symbol": "FCFA"
+ },
+ "MGA": {
+ "name": "Faranga ya Bukini",
+ "symbol": "MGA"
+ },
+ "BIF": {
+ "name": "Faranga ya Burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "RWF": {
+ "name": "Faranga ya Rwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ya Uswisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwacha ya Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwacha ya Zambia",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza ya Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Leoni",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ya Nijeria",
+ "symbol": "NGN"
+ },
+ "ERN": {
+ "name": "Nakfa ya Eritrea",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "EGP": {
+ "name": "Pauni ya Misri",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pauni ya Santahelena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Pauni ya Uingereza",
+ "symbol": "£"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ya Afrika Kusini",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyal ya Saudia",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupia ya India",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupia ya Morisi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupia ya Shelisheli",
+ "symbol": "SCR"
+ },
+ "JPY": {
+ "name": "Sarafu ya Kijapani",
+ "symbol": "JPÂ¥"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "Shilingi ya Kenya",
+ "symbol": "KES"
+ },
+ "SOS": {
+ "name": "Shilingi ya Somalia",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Shilingi ya Tanzania",
+ "symbol": "TSh"
+ },
+ "UGX": {
+ "name": "Shilingi ya Uganda",
+ "symbol": "UGX"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "MRO": {
+ "name": "Ugwiya ya Moritania",
+ "symbol": "MRO"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "CNY": {
+ "name": "Yuan Renminbi ya China",
+ "symbol": "CNÂ¥"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/wae.json b/library/intl/resources/currency/wae.json
new file mode 100644
index 000000000..9e0dcaa55
--- /dev/null
+++ b/library/intl/resources/currency/wae.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "AOA": {
+ "name": "AOA",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AUD": {
+ "name": "AUD",
+ "symbol": "A$"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BHD": {
+ "name": "BHD",
+ "symbol": "BHD"
+ },
+ "BIF": {
+ "name": "BIF",
+ "symbol": "BIF"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "Brasilianiši Real",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BWP": {
+ "name": "BWP",
+ "symbol": "BWP"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CAD": {
+ "name": "CAD",
+ "symbol": "CA$"
+ },
+ "CDF": {
+ "name": "CDF",
+ "symbol": "CDF"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CNY": {
+ "name": "Chinesiši Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CVE": {
+ "name": "CVE",
+ "symbol": "CVE"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DJF": {
+ "name": "DJF",
+ "symbol": "DJF"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "USD": {
+ "name": "Dollar",
+ "symbol": "$"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "DZD": {
+ "name": "DZD",
+ "symbol": "DZD"
+ },
+ "EGP": {
+ "name": "EGP",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "ERN",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "ETB",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "Euro",
+ "symbol": "€"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GMD": {
+ "name": "GMD",
+ "symbol": "GMD"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "Indiši Rupie",
+ "symbol": "₹"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KES": {
+ "name": "KES",
+ "symbol": "KES"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KMF": {
+ "name": "KMF",
+ "symbol": "KMF"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "GBP": {
+ "name": "Pfund",
+ "symbol": "£"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "Rubel",
+ "symbol": "руб"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yen",
+ "symbol": "Â¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/xog.json b/library/intl/resources/currency/xog.json
new file mode 100644
index 000000000..efca32231
--- /dev/null
+++ b/library/intl/resources/currency/xog.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Biiru ya Esyopya",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ya Gambya",
+ "symbol": "GMD"
+ },
+ "SDG": {
+ "name": "Dinaali ey’eSudaani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dinaali ey’eTunizya",
+ "symbol": "TND"
+ },
+ "DZD": {
+ "name": "Dinaali y’Aligerya",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dinaali ya Baareeni",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dinaali ya Libya",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "Diraamu ey’eMoroko",
+ "symbol": "MAD"
+ },
+ "AED": {
+ "name": "Diraamu eya Emireeti",
+ "symbol": "AED"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobura ey’eSantome ne Purincipe",
+ "symbol": "STD"
+ },
+ "USD": {
+ "name": "Doola ey’Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Doola y’Awusiturelya",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Doola ya Kanada",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Doola ya Liberya",
+ "symbol": "LRD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "Esikudo ya Keepu Veredi",
+ "symbol": "CVE"
+ },
+ "MGA": {
+ "name": "Faranga ey’eMalagase",
+ "symbol": "MGA"
+ },
+ "RWF": {
+ "name": "Faranga ey’eRwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faranga ey’eSwitizirandi",
+ "symbol": "CHF"
+ },
+ "BIF": {
+ "name": "Faranga ya burundi",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faranga ya Jjibuti",
+ "symbol": "DJF"
+ },
+ "KMF": {
+ "name": "Faranga ya Komoro",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "Faranga ya Kongo",
+ "symbol": "CDF"
+ },
+ "XOF": {
+ "name": "Faranga yamu Afirika ya bugwanjuba",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "Faranga yamu Afirika ya wakati",
+ "symbol": "FCFA"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "MWK": {
+ "name": "Kwaca ey’eMalawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kwaca ey’eZambya",
+ "symbol": "ZMW"
+ },
+ "AOA": {
+ "name": "Kwanza y’Angola",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SLL": {
+ "name": "Lewone",
+ "symbol": "SLL"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ya Lesoso",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "ERN": {
+ "name": "Nakifa ya Eritureya",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "Nayira ey’eNayijerya",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "SHP": {
+ "name": "Pawunda ey’eSenti Herena",
+ "symbol": "SHP"
+ },
+ "GBP": {
+ "name": "Pawunda ya Bungereza",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "Pawunda ya Misiri",
+ "symbol": "EGP"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "Pula ya Botiswana",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ey’eSawusafirika",
+ "symbol": "ZAR"
+ },
+ "SAR": {
+ "name": "Riyaali ey’eBuwarabu",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "MUR": {
+ "name": "Rupiya ey’eMawurisyasi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupiya ey’eSesere",
+ "symbol": "SCR"
+ },
+ "INR": {
+ "name": "Rupiya ya Buyindi",
+ "symbol": "₹"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SOS": {
+ "name": "Silingi ey’eSomaliya",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Silingi ey’eTanzaniya",
+ "symbol": "TZS"
+ },
+ "UGX": {
+ "name": "Silingi eya Yuganda",
+ "symbol": "USh"
+ },
+ "KES": {
+ "name": "Silingi ya Kenya",
+ "symbol": "KES"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "MRO": {
+ "name": "Wugwiya ey’eMawritenya",
+ "symbol": "MRO"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yeni ya Japani",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "EUR": {
+ "name": "Yuro",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "Yuwani Reniminibi ya Cayina",
+ "symbol": "CNÂ¥"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/yav.json b/library/intl/resources/currency/yav.json
new file mode 100644
index 000000000..369e6d3c8
--- /dev/null
+++ b/library/intl/resources/currency/yav.json
@@ -0,0 +1,634 @@
+{
+ "AED": {
+ "name": "AED",
+ "symbol": "AED"
+ },
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CHF": {
+ "name": "CHF",
+ "symbol": "CHF"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "CVE": {
+ "name": "É›skúdo u kápfÉ›ÌÉ›l",
+ "symbol": "CVE"
+ },
+ "CDF": {
+ "name": "Ìfaláŋɛ u kongó",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "Ìfaláŋɛ u kÉ”mÉ”ÌÉ”l",
+ "symbol": "KMF"
+ },
+ "BIF": {
+ "name": "faláŋɛ u pulundí",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Ìfaláŋɛ u síputí",
+ "symbol": "DJF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "AOA": {
+ "name": "kuansa wu angolá",
+ "symbol": "AOA"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "GBP": {
+ "name": "lífilɛ sitelelíiŋ",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "lífilɛ wu isípit",
+ "symbol": "EGP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LRD": {
+ "name": "LRD",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "LSL",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "LYD": {
+ "name": "LYD",
+ "symbol": "LYD"
+ },
+ "MAD": {
+ "name": "MAD",
+ "symbol": "MAD"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MGA": {
+ "name": "MGA",
+ "symbol": "MGA"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MRO": {
+ "name": "MRO",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "MUR",
+ "symbol": "MUR"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "MWK",
+ "symbol": "MWK"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NAD": {
+ "name": "NAD",
+ "symbol": "NAD"
+ },
+ "ERN": {
+ "name": "náfka wu elitilée",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "NGN",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "EUR": {
+ "name": "olóo",
+ "symbol": "€"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "ETB": {
+ "name": "píil wu etiopí",
+ "symbol": "ETB"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "BWP": {
+ "name": "pula pu posuána",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "RWF",
+ "symbol": "RWF"
+ },
+ "SAR": {
+ "name": "SAR",
+ "symbol": "SAR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SCR": {
+ "name": "SCR",
+ "symbol": "SCR"
+ },
+ "SDG": {
+ "name": "SDG",
+ "symbol": "SDG"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SHP": {
+ "name": "SHP",
+ "symbol": "SHP"
+ },
+ "KES": {
+ "name": "síliŋ u kénia",
+ "symbol": "KES"
+ },
+ "SLL": {
+ "name": "SLL",
+ "symbol": "SLL"
+ },
+ "SOS": {
+ "name": "SOS",
+ "symbol": "SOS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "STD": {
+ "name": "STD",
+ "symbol": "STD"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "SZL": {
+ "name": "SZL",
+ "symbol": "SZL"
+ },
+ "GMD": {
+ "name": "talasí u kaambí",
+ "symbol": "GMD"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "DZD": {
+ "name": "tináal wu alselí",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "tináal wu paaléen",
+ "symbol": "BHD"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TND": {
+ "name": "TND",
+ "symbol": "TND"
+ },
+ "CAD": {
+ "name": "toláal u kanáta",
+ "symbol": "CA$"
+ },
+ "AUD": {
+ "name": "toláal wu ostalalí",
+ "symbol": "A$"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "TZS": {
+ "name": "TZS",
+ "symbol": "TZS"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UGX": {
+ "name": "UGX",
+ "symbol": "UGX"
+ },
+ "INR": {
+ "name": "ulupí",
+ "symbol": "₹"
+ },
+ "USD": {
+ "name": "USD",
+ "symbol": "US$"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XAF": {
+ "name": "XAF",
+ "symbol": "FCFA"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XOF": {
+ "name": "XOF",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "JPY": {
+ "name": "yÉ›ÌÉ›n u sapÉ”Ìɔŋ",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "yuan ɛlɛnmimbí",
+ "symbol": "CNÂ¥"
+ },
+ "ZAR": {
+ "name": "ZAR",
+ "symbol": "ZAR"
+ },
+ "ZMW": {
+ "name": "ZMW",
+ "symbol": "ZMW"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/yo-BJ.json b/library/intl/resources/currency/yo-BJ.json
new file mode 100644
index 000000000..8aee86ea1
--- /dev/null
+++ b/library/intl/resources/currency/yo-BJ.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Biri ti OrílÉ›Ìède Eutopia",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ti OrílÉ›Ìède Gamibia",
+ "symbol": "GMD"
+ },
+ "AED": {
+ "name": "Diami ti Awon OrílÉ›Ìède Arabu",
+ "symbol": "AED"
+ },
+ "DZD": {
+ "name": "Dina ti OrílÉ›Ìède Àlùgèríánì",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dina ti OrílÉ›Ìède Báránì",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dina ti OrílÉ›Ìède Libiya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dina ti OrílÉ›Ìède Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dina ti OrílÉ›Ìède Tunisia",
+ "symbol": "TND"
+ },
+ "MAD": {
+ "name": "Dirami ti OrílÉ›Ìède Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobira ti OrílÉ›Ìède Sao tome Ati Pirisipe",
+ "symbol": "STD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "USD": {
+ "name": "DÉ”la ti OrílÉ›Ìède Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "DÉ”la ti OrílÉ›Ìède Ãstràlìá",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "DÉ”la ti OrílÉ›Ìède Kánádà",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "DÉ”la ti OrílÉ›Ìède Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "DÉ”la ti OrílÉ›Ìède Namibia",
+ "symbol": "NAD"
+ },
+ "XAF": {
+ "name": "Faransi ti OrílÉ›Ìède BEKA",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Faransi ti OrílÉ›Ìède BIKEAO",
+ "symbol": "CFA"
+ },
+ "BIF": {
+ "name": "Faransi ti OrílÉ›Ìède Bùùrúndì",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faransi ti OrílÉ›Ìède Dibouti",
+ "symbol": "DJF"
+ },
+ "CDF": {
+ "name": "Faransi ti OrílÉ›Ìède Kóngò",
+ "symbol": "CDF"
+ },
+ "MGA": {
+ "name": "Faransi ti OrílÉ›Ìède Malagasi",
+ "symbol": "MGA"
+ },
+ "RWF": {
+ "name": "Faransi ti OrílÉ›Ìède Ruwanda",
+ "symbol": "RWF"
+ },
+ "KMF": {
+ "name": "Faransi ti OrílÉ›Ìède shomoriani",
+ "symbol": "KMF"
+ },
+ "CHF": {
+ "name": "Faransi ti OrílÉ›Ìède Siwisi",
+ "symbol": "CHF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Kabofediano ti OrílÉ›Ìède Esuodo",
+ "symbol": "CVE"
+ },
+ "MWK": {
+ "name": "Kasha ti OrílÉ›Ìède Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kawasha ti OrílÉ›Ìède Saabia",
+ "symbol": "ZMW"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "SLL": {
+ "name": "Lioni",
+ "symbol": "SLL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ti OrílÉ›Ìède Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ti OrílÉ›Ìède Nàìjíríà",
+ "symbol": "₦"
+ },
+ "ERN": {
+ "name": "Nakifa ti OrílÉ›Ìède Eriteriani",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "MRO": {
+ "name": "Ouguiya ti OrílÉ›Ìède Maritania",
+ "symbol": "MRO"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "GBP": {
+ "name": "Pɔɔn ti OrílÉ›Ìède Bírítísì",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "pɔɔn ti OrílÉ›Ìède Egipiti",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pɔɔun ti OrílÉ›Ìède Ì£Elena",
+ "symbol": "SHP"
+ },
+ "BWP": {
+ "name": "Pula ti OrílÉ›Ìède Bɔ̀tìsúwánà",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ti OrílÉ›Ìède Ariwa Afirika",
+ "symbol": "ZAR"
+ },
+ "CNY": {
+ "name": "Reminibi ti OrílÉ›Ìède sháínà",
+ "symbol": "CNÂ¥"
+ },
+ "SAR": {
+ "name": "Riya ti OrílÉ›Ìède Saudi",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupi ti OrílÉ›Ìède Indina",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupi ti OrílÉ›Ìède Maritiusi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupi ti OrílÉ›Ìède Sayiselesi",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "KES": {
+ "name": "shiili ti OrílÉ›Ìède Kenya",
+ "symbol": "KES"
+ },
+ "UGX": {
+ "name": "Siile ti OrílÉ›Ìède Uganda",
+ "symbol": "UGX"
+ },
+ "SOS": {
+ "name": "Sile ti OrílÉ›Ìède Somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Sile ti OrílÉ›Ìède Tansania",
+ "symbol": "TZS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "EUR": {
+ "name": "Uro",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "AOA": {
+ "name": "Wansa ti OrílÉ›Ìède Àngólà",
+ "symbol": "AOA"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yeni ti OrílÉ›Ìède Japani",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/yo.json b/library/intl/resources/currency/yo.json
new file mode 100644
index 000000000..80e5daf46
--- /dev/null
+++ b/library/intl/resources/currency/yo.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "ETB": {
+ "name": "Biri ti OrílẹÌède Eutopia",
+ "symbol": "ETB"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "GMD": {
+ "name": "Dalasi ti OrílẹÌède Gamibia",
+ "symbol": "GMD"
+ },
+ "AED": {
+ "name": "Diami ti Awon OrílẹÌède Arabu",
+ "symbol": "AED"
+ },
+ "DZD": {
+ "name": "Dina ti OrílẹÌède Àlùgèríánì",
+ "symbol": "DZD"
+ },
+ "BHD": {
+ "name": "Dina ti OrílẹÌède Báránì",
+ "symbol": "BHD"
+ },
+ "LYD": {
+ "name": "Dina ti OrílẹÌède Libiya",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "Dina ti OrílẹÌède Sudani",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "Dina ti OrílẹÌède Tunisia",
+ "symbol": "TND"
+ },
+ "MAD": {
+ "name": "Dirami ti OrílẹÌède Moroko",
+ "symbol": "MAD"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "STD": {
+ "name": "Dobira ti OrílẹÌède Sao tome Ati Pirisipe",
+ "symbol": "STD"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "USD": {
+ "name": "Dá»la ti OrílẹÌède Amerika",
+ "symbol": "US$"
+ },
+ "AUD": {
+ "name": "Dá»la ti OrílẹÌède Ãstràlìá",
+ "symbol": "A$"
+ },
+ "CAD": {
+ "name": "Dá»la ti OrílẹÌède Kánádà",
+ "symbol": "CA$"
+ },
+ "LRD": {
+ "name": "Dá»la ti OrílẹÌède Liberia",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "Dá»la ti OrílẹÌède Namibia",
+ "symbol": "NAD"
+ },
+ "XAF": {
+ "name": "Faransi ti OrílẹÌède BEKA",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "Faransi ti OrílẹÌède BIKEAO",
+ "symbol": "CFA"
+ },
+ "BIF": {
+ "name": "Faransi ti OrílẹÌède Bùùrúndì",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "Faransi ti OrílẹÌède Dibouti",
+ "symbol": "DJF"
+ },
+ "CDF": {
+ "name": "Faransi ti OrílẹÌède Kóngò",
+ "symbol": "CDF"
+ },
+ "MGA": {
+ "name": "Faransi ti OrílẹÌède Malagasi",
+ "symbol": "MGA"
+ },
+ "RWF": {
+ "name": "Faransi ti OrílẹÌède Ruwanda",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "Faransi ti OrílẹÌède Siwisi",
+ "symbol": "CHF"
+ },
+ "KMF": {
+ "name": "Faransi ti OrílẹÌède á¹£omoriani",
+ "symbol": "KMF"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "GHS",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "CVE": {
+ "name": "Kabofediano ti OrílẹÌède Esuodo",
+ "symbol": "CVE"
+ },
+ "MWK": {
+ "name": "Kaá¹£a ti OrílẹÌède Malawi",
+ "symbol": "MWK"
+ },
+ "ZMW": {
+ "name": "Kawaá¹£a ti OrílẹÌède Saabia",
+ "symbol": "ZMW"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "SZL": {
+ "name": "Lilangeni",
+ "symbol": "SZL"
+ },
+ "SLL": {
+ "name": "Lioni",
+ "symbol": "SLL"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LSL": {
+ "name": "Loti ti OrílẹÌède Lesoto",
+ "symbol": "LSL"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "MZN": {
+ "name": "MZN",
+ "symbol": "MZN"
+ },
+ "NGN": {
+ "name": "Naira ti OrílẹÌède Nàìjíríà",
+ "symbol": "₦"
+ },
+ "ERN": {
+ "name": "Nakifa ti OrílẹÌède Eriteriani",
+ "symbol": "ERN"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "MRO": {
+ "name": "Ouguiya ti OrílẹÌède Maritania",
+ "symbol": "MRO"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "GBP": {
+ "name": "Pá»á»n ti OrílẹÌède Bírítísì",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "pá»á»n ti OrílẹÌède Egipiti",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "Pá»á»un ti OrílẹÌède Ì£Elena",
+ "symbol": "SHP"
+ },
+ "BWP": {
+ "name": "Pula ti OrílẹÌède Bá»Ì€tìsúwánà",
+ "symbol": "BWP"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "ZAR": {
+ "name": "Randi ti OrílẹÌède Ariwa Afirika",
+ "symbol": "ZAR"
+ },
+ "CNY": {
+ "name": "Reminibi ti OrílẹÌède ṣáínà",
+ "symbol": "CNÂ¥"
+ },
+ "SAR": {
+ "name": "Riya ti OrílẹÌède Saudi",
+ "symbol": "SAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "INR": {
+ "name": "Rupi ti OrílẹÌède Indina",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "Rupi ti OrílẹÌède Maritiusi",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "Rupi ti OrílẹÌède Sayiselesi",
+ "symbol": "SCR"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "UGX": {
+ "name": "Siile ti OrílẹÌède Uganda",
+ "symbol": "UGX"
+ },
+ "SOS": {
+ "name": "Sile ti OrílẹÌède Somali",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "Sile ti OrílẹÌède Tansania",
+ "symbol": "TZS"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "KES": {
+ "name": "á¹£iili ti OrílẹÌède Kenya",
+ "symbol": "KES"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "EUR": {
+ "name": "Uro",
+ "symbol": "€"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "AOA": {
+ "name": "Wansa ti OrílẹÌède Àngólà",
+ "symbol": "AOA"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "JPY": {
+ "name": "Yeni ti OrílẹÌède Japani",
+ "symbol": "JPÂ¥"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/zgh.json b/library/intl/resources/currency/zgh.json
new file mode 100644
index 000000000..e742e8906
--- /dev/null
+++ b/library/intl/resources/currency/zgh.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "AFN",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "ALL",
+ "symbol": "ALL"
+ },
+ "AMD": {
+ "name": "AMD",
+ "symbol": "AMD"
+ },
+ "ANG": {
+ "name": "ANG",
+ "symbol": "ANG"
+ },
+ "ARS": {
+ "name": "ARS",
+ "symbol": "ARS"
+ },
+ "AWG": {
+ "name": "AWG",
+ "symbol": "AWG"
+ },
+ "AZN": {
+ "name": "AZN",
+ "symbol": "AZN"
+ },
+ "BAM": {
+ "name": "BAM",
+ "symbol": "BAM"
+ },
+ "BBD": {
+ "name": "BBD",
+ "symbol": "BBD"
+ },
+ "BDT": {
+ "name": "BDT",
+ "symbol": "BDT"
+ },
+ "BGN": {
+ "name": "BGN",
+ "symbol": "BGN"
+ },
+ "BMD": {
+ "name": "BMD",
+ "symbol": "BMD"
+ },
+ "BND": {
+ "name": "BND",
+ "symbol": "BND"
+ },
+ "BOB": {
+ "name": "BOB",
+ "symbol": "BOB"
+ },
+ "BRL": {
+ "name": "BRL",
+ "symbol": "R$"
+ },
+ "BSD": {
+ "name": "BSD",
+ "symbol": "BSD"
+ },
+ "BTN": {
+ "name": "BTN",
+ "symbol": "BTN"
+ },
+ "BYR": {
+ "name": "BYR",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "BZD",
+ "symbol": "BZD"
+ },
+ "CLP": {
+ "name": "CLP",
+ "symbol": "CLP"
+ },
+ "COP": {
+ "name": "COP",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "CRC",
+ "symbol": "CRC"
+ },
+ "CUC": {
+ "name": "CUC",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "CUP",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "CZK",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "DKK",
+ "symbol": "DKK"
+ },
+ "DOP": {
+ "name": "DOP",
+ "symbol": "DOP"
+ },
+ "FJD": {
+ "name": "FJD",
+ "symbol": "FJD"
+ },
+ "FKP": {
+ "name": "FKP",
+ "symbol": "FKP"
+ },
+ "GEL": {
+ "name": "GEL",
+ "symbol": "GEL"
+ },
+ "GIP": {
+ "name": "GIP",
+ "symbol": "GIP"
+ },
+ "GNF": {
+ "name": "GNF",
+ "symbol": "GNF"
+ },
+ "GTQ": {
+ "name": "GTQ",
+ "symbol": "GTQ"
+ },
+ "GYD": {
+ "name": "GYD",
+ "symbol": "GYD"
+ },
+ "HKD": {
+ "name": "HKD",
+ "symbol": "HK$"
+ },
+ "HNL": {
+ "name": "HNL",
+ "symbol": "HNL"
+ },
+ "HRK": {
+ "name": "HRK",
+ "symbol": "HRK"
+ },
+ "HTG": {
+ "name": "HTG",
+ "symbol": "HTG"
+ },
+ "HUF": {
+ "name": "HUF",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "IDR",
+ "symbol": "IDR"
+ },
+ "ILS": {
+ "name": "ILS",
+ "symbol": "₪"
+ },
+ "IQD": {
+ "name": "IQD",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "IRR",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "ISK",
+ "symbol": "ISK"
+ },
+ "JMD": {
+ "name": "JMD",
+ "symbol": "JMD"
+ },
+ "JOD": {
+ "name": "JOD",
+ "symbol": "JOD"
+ },
+ "KGS": {
+ "name": "KGS",
+ "symbol": "KGS"
+ },
+ "KHR": {
+ "name": "KHR",
+ "symbol": "KHR"
+ },
+ "KPW": {
+ "name": "KPW",
+ "symbol": "KPW"
+ },
+ "KRW": {
+ "name": "KRW",
+ "symbol": "â‚©"
+ },
+ "KWD": {
+ "name": "KWD",
+ "symbol": "KWD"
+ },
+ "KYD": {
+ "name": "KYD",
+ "symbol": "KYD"
+ },
+ "KZT": {
+ "name": "KZT",
+ "symbol": "KZT"
+ },
+ "LAK": {
+ "name": "LAK",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "LBP",
+ "symbol": "LBP"
+ },
+ "LKR": {
+ "name": "LKR",
+ "symbol": "LKR"
+ },
+ "LTL": {
+ "name": "LTL",
+ "symbol": "LTL"
+ },
+ "MDL": {
+ "name": "MDL",
+ "symbol": "MDL"
+ },
+ "MKD": {
+ "name": "MKD",
+ "symbol": "MKD"
+ },
+ "MMK": {
+ "name": "MMK",
+ "symbol": "MMK"
+ },
+ "MNT": {
+ "name": "MNT",
+ "symbol": "MNT"
+ },
+ "MOP": {
+ "name": "MOP",
+ "symbol": "MOP"
+ },
+ "MVR": {
+ "name": "MVR",
+ "symbol": "MVR"
+ },
+ "MXN": {
+ "name": "MXN",
+ "symbol": "MX$"
+ },
+ "MYR": {
+ "name": "MYR",
+ "symbol": "MYR"
+ },
+ "NIO": {
+ "name": "NIO",
+ "symbol": "NIO"
+ },
+ "NOK": {
+ "name": "NOK",
+ "symbol": "NOK"
+ },
+ "NPR": {
+ "name": "NPR",
+ "symbol": "NPR"
+ },
+ "NZD": {
+ "name": "NZD",
+ "symbol": "NZ$"
+ },
+ "OMR": {
+ "name": "OMR",
+ "symbol": "OMR"
+ },
+ "PAB": {
+ "name": "PAB",
+ "symbol": "PAB"
+ },
+ "PEN": {
+ "name": "PEN",
+ "symbol": "PEN"
+ },
+ "PGK": {
+ "name": "PGK",
+ "symbol": "PGK"
+ },
+ "PHP": {
+ "name": "PHP",
+ "symbol": "PHP"
+ },
+ "PKR": {
+ "name": "PKR",
+ "symbol": "PKR"
+ },
+ "PLN": {
+ "name": "PLN",
+ "symbol": "PLN"
+ },
+ "PYG": {
+ "name": "PYG",
+ "symbol": "PYG"
+ },
+ "QAR": {
+ "name": "QAR",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "RON",
+ "symbol": "RON"
+ },
+ "RSD": {
+ "name": "RSD",
+ "symbol": "RSD"
+ },
+ "RUB": {
+ "name": "RUB",
+ "symbol": "RUB"
+ },
+ "SBD": {
+ "name": "SBD",
+ "symbol": "SBD"
+ },
+ "SEK": {
+ "name": "SEK",
+ "symbol": "SEK"
+ },
+ "SGD": {
+ "name": "SGD",
+ "symbol": "SGD"
+ },
+ "SRD": {
+ "name": "SRD",
+ "symbol": "SRD"
+ },
+ "SSP": {
+ "name": "SSP",
+ "symbol": "SSP"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SYP": {
+ "name": "SYP",
+ "symbol": "SYP"
+ },
+ "THB": {
+ "name": "THB",
+ "symbol": "THB"
+ },
+ "TJS": {
+ "name": "TJS",
+ "symbol": "TJS"
+ },
+ "TMT": {
+ "name": "TMT",
+ "symbol": "TMT"
+ },
+ "TOP": {
+ "name": "TOP",
+ "symbol": "TOP"
+ },
+ "TRY": {
+ "name": "TRY",
+ "symbol": "TRY"
+ },
+ "TTD": {
+ "name": "TTD",
+ "symbol": "TTD"
+ },
+ "TWD": {
+ "name": "TWD",
+ "symbol": "NT$"
+ },
+ "UAH": {
+ "name": "UAH",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "UYU",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "UZS",
+ "symbol": "UZS"
+ },
+ "VEF": {
+ "name": "VEF",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "VND",
+ "symbol": "â‚«"
+ },
+ "VUV": {
+ "name": "VUV",
+ "symbol": "VUV"
+ },
+ "WST": {
+ "name": "WST",
+ "symbol": "WST"
+ },
+ "XCD": {
+ "name": "XCD",
+ "symbol": "EC$"
+ },
+ "XPF": {
+ "name": "XPF",
+ "symbol": "CFPF"
+ },
+ "YER": {
+ "name": "YER",
+ "symbol": "YER"
+ },
+ "BWP": {
+ "name": "ⴰⴱⵓâµâ´° ⵠⴱⵓⵜⵙⵡⴰâµâ´°",
+ "symbol": "BWP"
+ },
+ "BHD": {
+ "name": "ⴰⴷⵉâµâ´°âµ” ⵠⴱⵃⵔⴰⵢâµ",
+ "symbol": "BHD"
+ },
+ "DZD": {
+ "name": "ⴰⴷⵉâµâ´°âµ” ⵠⴷⵣⴰⵢⵔ",
+ "symbol": "DZD"
+ },
+ "LYD": {
+ "name": "ⴰⴷⵉâµâ´°âµ” âµ âµâµ‰â´±âµ¢â´°",
+ "symbol": "LYD"
+ },
+ "SDG": {
+ "name": "ⴰⴷⵉâµâ´°âµ” ⵠⵙⵙⵓⴷⴰâµ",
+ "symbol": "SDG"
+ },
+ "TND": {
+ "name": "ⴰⴷⵉâµâ´°âµ” ⵠⵜⵓâµâµ™",
+ "symbol": "TND"
+ },
+ "STD": {
+ "name": "ⴰⴷⵓⴱⵔⴰ ⵠⵙⴰâµâµŸâµ“ⵎⵉ",
+ "symbol": "STD"
+ },
+ "CAD": {
+ "name": "ⴰⴷⵓâµâ´°âµ” ⵠⴽⴰâµâ´°â´·â´°",
+ "symbol": "CA$"
+ },
+ "USD": {
+ "name": "ⴰⴷⵓâµâ´°âµ” ⵠⵉⵡⵓâµâ´°â´½ ⵉⵎⵓâµâµ",
+ "symbol": "US$"
+ },
+ "LRD": {
+ "name": "ⴰⴷⵓâµâ´°âµ” âµ âµâµ‰â´±âµ‰âµ”ⵢⴰ",
+ "symbol": "LRD"
+ },
+ "NAD": {
+ "name": "ⴰⴷⵓâµâ´°âµ” âµ âµâ´°âµŽâµ‰â´±âµ¢â´°",
+ "symbol": "NAD"
+ },
+ "AUD": {
+ "name": "ⴰⴷⵓâµâ´°âµ” ⵠⵓⵙⵜⵔⴰâµâµ¢â´°",
+ "symbol": "A$"
+ },
+ "ZWL": {
+ "name": "ⴰⴷⵓâµâ´°âµ” ⵠⵣⵉⵎⴱⴰⴱⵡⵉ (2009)",
+ "symbol": "ZWL"
+ },
+ "AED": {
+ "name": "ⴰⴷⵔⵉⵎ âµ âµâµ‰âµŽâ´°âµ”ⴰⵜ",
+ "symbol": "AED"
+ },
+ "MAD": {
+ "name": "ⴰⴷⵔⵉⵎ âµ âµâµŽâµ–ⵔⵉⴱ",
+ "symbol": "MAD"
+ },
+ "RWF": {
+ "name": "ⴰⴼⵔⴰâµâ´½ ⵠⵔⵡⴰâµâ´·â´°",
+ "symbol": "RWF"
+ },
+ "CHF": {
+ "name": "ⴰⴼⵔⴰâµâ´½ ⵠⵙⵡⵉⵙⵔⴰ",
+ "symbol": "CHF"
+ },
+ "ZMW": {
+ "name": "ⴰⴽⵡⴰⵛⴰ ⵠⵣⴰⵎⴱⵢⴰ",
+ "symbol": "ZMW"
+ },
+ "GBP": {
+ "name": "ⴰⵊâµâµ‰âµ€ ⴰⵙⵜⵔâµâµ‰âµâµ‰ âµ âµâµâ´³âµâµ‰âµ£",
+ "symbol": "£"
+ },
+ "EGP": {
+ "name": "ⴰⵊâµâµ‰âµ€ ⵠⵎⵉⵚⵕ",
+ "symbol": "EGP"
+ },
+ "SHP": {
+ "name": "ⴰⵊâµâµ‰âµ€ ⵠⵙⴰâµâµœâµ‰âµâµ‰âµ",
+ "symbol": "SHP"
+ },
+ "MZN": {
+ "name": "ⴰⵎⵉⵜⵉⴽⵠⵠⵎⵓⵣâµâ´±âµ‰âµ‡",
+ "symbol": "MZN"
+ },
+ "ZAR": {
+ "name": "ⴰⵔⴰâµâ´· ⵠⴰⴼⵔⵉⵇⵢⴰ ⵠⵉⴼⴼⵓⵙ",
+ "symbol": "ZAR"
+ },
+ "INR": {
+ "name": "ⴰⵔⵓⴱⵉ âµ âµâµ€âµ‰âµâ´·",
+ "symbol": "₹"
+ },
+ "MUR": {
+ "name": "ⴰⵔⵓⴱⵉ ⵠⵎⵓⵔⵉⵙ",
+ "symbol": "MUR"
+ },
+ "SCR": {
+ "name": "ⴰⵔⵓⴱⵉ ⵠⵙⵙⵉⵛⵉâµ",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "ⴰⵔⵢⴰⵠⵠⵙⵙⴰⵄⵓⴷⵉⵢⴰ",
+ "symbol": "SAR"
+ },
+ "KES": {
+ "name": "ⴰⵛⵉâµâµ‰âµ ⵠⴽⵉâµâµ¢â´°",
+ "symbol": "KES"
+ },
+ "UGX": {
+ "name": "ⴰⵛⵉâµâµ‰âµ ⵠⵓⵖⴰâµâ´·â´°",
+ "symbol": "UGX"
+ },
+ "SOS": {
+ "name": "ⴰⵛⵉâµâµ‰âµ ⵠⵚⵚⵓⵎⴰâµ",
+ "symbol": "SOS"
+ },
+ "TZS": {
+ "name": "ⴰⵛⵉâµâµ‰âµ ⵠⵟⴰâµâµ¥â´°âµâµ¢â´°",
+ "symbol": "TZS"
+ },
+ "JPY": {
+ "name": "ⴰⵢⴰⵠⵠâµâµ¢â´°â´±â´°âµ",
+ "symbol": "JPÂ¥"
+ },
+ "CNY": {
+ "name": "ⴰⵢⴰⵠⵠⵛⵛⵉâµâµ¡â´°",
+ "symbol": "CNÂ¥"
+ },
+ "ETB": {
+ "name": "ⴱⵉⵔ ⵠⵉⵜⵢⵓⴱⵢⴰ",
+ "symbol": "ETB"
+ },
+ "GMD": {
+ "name": "â´·â´°âµâ´°âµ™âµ‰ ⵠⴳⴰⵎⴱⵢⴰ",
+ "symbol": "GMD"
+ },
+ "BIF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵠⴱⵓⵔⵓâµâ´·âµ‰",
+ "symbol": "BIF"
+ },
+ "DJF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵠⴷⵊⵉⴱⵓⵜⵉ",
+ "symbol": "DJF"
+ },
+ "CDF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵠⴽⵓâµâ´³âµ“",
+ "symbol": "CDF"
+ },
+ "KMF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵠⵇⵓⵎⵓⵕ",
+ "symbol": "KMF"
+ },
+ "MGA": {
+ "name": "ⴼⵔⴰâµâ´½ ⵠⵎⴰⴷⴰⵖⴰⵛⵇⴰⵔ",
+ "symbol": "MGA"
+ },
+ "XAF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵚⵉⴼⴰ",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "ⴼⵔⴰâµâ´½ ⵚⵉⴼⴰ ⴱⵉⵙⴰⵡ",
+ "symbol": "CFA"
+ },
+ "AOA": {
+ "name": "ⴽⵡⴰâµâµ£â´° âµ â´°âµâ´³âµ“âµâ´°",
+ "symbol": "AOA"
+ },
+ "MWK": {
+ "name": "ⴽⵡⴰⵛⴰ ⵠⵎⴰâµâ´°âµ¡âµ‰",
+ "symbol": "MWK"
+ },
+ "CVE": {
+ "name": "ⵉⵙⴽⵓⴷⵓ ⵠⴽⴰⴱⴱⵉⵔⴷⵉ",
+ "symbol": "CVE"
+ },
+ "SZL": {
+ "name": "âµâµ‰âµâ´°âµâµŠâµ‰âµâµ‰",
+ "symbol": "SZL"
+ },
+ "SLL": {
+ "name": "âµâµ‰âµ¢âµ“âµ",
+ "symbol": "SLL"
+ },
+ "LSL": {
+ "name": "âµâµ“ⵜⵉ âµ âµâµ‰âµšâµ“ⵟⵓ",
+ "symbol": "LSL"
+ },
+ "ERN": {
+ "name": "âµâ´°â´¼â´½â´° ⵠⵉⵔⵉⵜⵉⵔⵢⴰ",
+ "symbol": "ERN"
+ },
+ "NGN": {
+ "name": "âµâ´°âµ¢âµ”â´° âµ âµâµ‰âµŠâµ‰âµ”ⵢⴰ",
+ "symbol": "NGN"
+ },
+ "MRO": {
+ "name": "ⵓⵇⵉⵢⵢⴰ ⵠⵎⵓⵕⵉⵟⴰâµâµ¢â´°",
+ "symbol": "MRO"
+ },
+ "EUR": {
+ "name": "ⵓⵔⵓ",
+ "symbol": "€"
+ },
+ "GHS": {
+ "name": "ⵙⵉⴷⵉ âµ âµ–â´°âµâ´°",
+ "symbol": "GHS"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/zh-Hans-HK.json b/library/intl/resources/currency/zh-Hans-HK.json
new file mode 100644
index 000000000..6f1285083
--- /dev/null
+++ b/library/intl/resources/currency/zh-Hans-HK.json
@@ -0,0 +1,634 @@
+{
+ "ALL": {
+ "name": "阿尔巴尼亚列克",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "阿尔åŠåˆ©äºšç¬¬çº³å°”",
+ "symbol": "DZD"
+ },
+ "AFN": {
+ "name": "阿富汗尼",
+ "symbol": "AFN"
+ },
+ "ARS": {
+ "name": "阿根廷比索",
+ "symbol": "ARS"
+ },
+ "AED": {
+ "name": "阿è”酋迪拉姆",
+ "symbol": "AED"
+ },
+ "AWG": {
+ "name": "阿é²å·´å¼—ç½—æž—",
+ "symbol": "AWG"
+ },
+ "OMR": {
+ "name": "阿曼里亚尔",
+ "symbol": "OMR"
+ },
+ "AZN": {
+ "name": "阿塞拜疆马纳特",
+ "symbol": "AZN"
+ },
+ "EGP": {
+ "name": "埃åŠé•‘",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "埃塞俄比亚比尔",
+ "symbol": "ETB"
+ },
+ "AOA": {
+ "name": "安哥拉宽扎",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "澳大利亚元",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳门元",
+ "symbol": "MOP"
+ },
+ "BBD": {
+ "name": "巴巴多斯元",
+ "symbol": "BBD"
+ },
+ "PGK": {
+ "name": "巴布亚新几内亚基那",
+ "symbol": "PGK"
+ },
+ "BSD": {
+ "name": "巴哈马元",
+ "symbol": "BSD"
+ },
+ "PKR": {
+ "name": "巴基斯å¦å¢æ¯”",
+ "symbol": "PKR"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼",
+ "symbol": "PYG"
+ },
+ "BHD": {
+ "name": "巴林第纳尔",
+ "symbol": "BHD"
+ },
+ "PAB": {
+ "name": "巴拿马巴波亚",
+ "symbol": "PAB"
+ },
+ "BRL": {
+ "name": "巴西雷亚尔",
+ "symbol": "R$"
+ },
+ "BYR": {
+ "name": "白俄罗斯å¢å¸ƒ",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "百慕大元",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "ä¿åŠ åˆ©äºšæ–°åˆ—å¼—",
+ "symbol": "BGN"
+ },
+ "ISK": {
+ "name": "冰岛克朗",
+ "symbol": "ISK"
+ },
+ "PLN": {
+ "name": "波兰兹罗æ",
+ "symbol": "PLN"
+ },
+ "BAM": {
+ "name": "波斯尼亚-黑塞哥维那å¯å…‘æ¢é©¬å…‹",
+ "symbol": "BAM"
+ },
+ "BOB": {
+ "name": "玻利维亚诺",
+ "symbol": "BOB"
+ },
+ "BZD": {
+ "name": "伯利兹元",
+ "symbol": "BZD"
+ },
+ "BWP": {
+ "name": "åšèŒ¨ç“¦çº³æ™®æ‹‰",
+ "symbol": "BWP"
+ },
+ "BTN": {
+ "name": "ä¸ä¸¹åŠªå°”特é²å§†",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "布隆迪法郎",
+ "symbol": "BIF"
+ },
+ "KPW": {
+ "name": "æœé²œå…ƒ",
+ "symbol": "KPW"
+ },
+ "DKK": {
+ "name": "丹麦克朗",
+ "symbol": "DKK"
+ },
+ "XCD": {
+ "name": "东加勒比元",
+ "symbol": "EC$"
+ },
+ "DOP": {
+ "name": "多米尼加比索",
+ "symbol": "DOP"
+ },
+ "RUB": {
+ "name": "ä¿„ç½—æ–¯å¢å¸ƒ",
+ "symbol": "RUB"
+ },
+ "ERN": {
+ "name": "厄立特里亚纳克法",
+ "symbol": "ERN"
+ },
+ "XOF": {
+ "name": "éžæ´²é‡‘èžå…±åŒä½“法郎",
+ "symbol": "CFA"
+ },
+ "PHP": {
+ "name": "è²å¾‹å®¾æ¯”ç´¢",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "æ–济元",
+ "symbol": "FJD"
+ },
+ "CVE": {
+ "name": "佛得角埃斯库多",
+ "symbol": "CVE"
+ },
+ "FKP": {
+ "name": "ç¦å…‹å…°ç¾¤å²›é•‘",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "冈比亚达拉西",
+ "symbol": "GMD"
+ },
+ "CDF": {
+ "name": "刚果法郎",
+ "symbol": "CDF"
+ },
+ "HKD": {
+ "name": "港元",
+ "symbol": "HK$"
+ },
+ "COP": {
+ "name": "哥伦比亚比索",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "哥斯达黎加科朗",
+ "symbol": "CRC"
+ },
+ "GEL": {
+ "name": "æ ¼é²å‰äºšæ‹‰é‡Œ",
+ "symbol": "GEL"
+ },
+ "CUP": {
+ "name": "å¤å·´æ¯”ç´¢",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "å¤å·´å¯å…‘æ¢æ¯”ç´¢",
+ "symbol": "CUC"
+ },
+ "GYD": {
+ "name": "圭亚那元",
+ "symbol": "GYD"
+ },
+ "KZT": {
+ "name": "哈è¨å…‹æ–¯å¦è…¾æ ¼",
+ "symbol": "KZT"
+ },
+ "HTG": {
+ "name": "海地å¤å¾·",
+ "symbol": "HTG"
+ },
+ "KRW": {
+ "name": "韩元",
+ "symbol": "₩"
+ },
+ "ANG": {
+ "name": "è·å±žå®‰çš„列斯盾",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "洪都拉斯拉伦皮拉",
+ "symbol": "HNL"
+ },
+ "DJF": {
+ "name": "å‰å¸ƒæ法郎",
+ "symbol": "DJF"
+ },
+ "KGS": {
+ "name": "å‰å°”å‰æ–¯æ–¯å¦ç´¢å§†",
+ "symbol": "KGS"
+ },
+ "GNF": {
+ "name": "几内亚法郎",
+ "symbol": "GNF"
+ },
+ "CAD": {
+ "name": "加拿大元",
+ "symbol": "CA$"
+ },
+ "GHS": {
+ "name": "加纳塞地",
+ "symbol": "GHS"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞尔",
+ "symbol": "KHR"
+ },
+ "CZK": {
+ "name": "æ·å…‹å…‹éƒŽ",
+ "symbol": "CZK"
+ },
+ "ZWL": {
+ "name": "津巴布韦元 (2009)",
+ "symbol": "ZWL"
+ },
+ "QAR": {
+ "name": "å¡å¡”尔里亚尔",
+ "symbol": "QAR"
+ },
+ "KYD": {
+ "name": "开曼群岛元",
+ "symbol": "KYD"
+ },
+ "KMF": {
+ "name": "科摩罗法郎",
+ "symbol": "KMF"
+ },
+ "KWD": {
+ "name": "科å¨ç‰¹ç¬¬çº³å°”",
+ "symbol": "KWD"
+ },
+ "HRK": {
+ "name": "克罗地亚库纳",
+ "symbol": "HRK"
+ },
+ "KES": {
+ "name": "肯尼亚先令",
+ "symbol": "KES"
+ },
+ "LSL": {
+ "name": "莱索托洛蒂",
+ "symbol": "LSL"
+ },
+ "LAK": {
+ "name": "è€æŒåŸºæ™®",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "黎巴嫩镑",
+ "symbol": "LBP"
+ },
+ "LTL": {
+ "name": "立陶宛立特",
+ "symbol": "LTL"
+ },
+ "LRD": {
+ "name": "利比里亚元",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "利比亚第纳尔",
+ "symbol": "LYD"
+ },
+ "RWF": {
+ "name": "å¢æ—ºè¾¾æ³•éƒŽ",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "罗马尼亚列伊",
+ "symbol": "RON"
+ },
+ "MGA": {
+ "name": "马达加斯加阿里亚里",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "马尔代夫å¢è²äºš",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "马拉维克瓦查",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "马æ¥è¥¿äºšæž—å‰ç‰¹",
+ "symbol": "MYR"
+ },
+ "MKD": {
+ "name": "马其顿第纳尔",
+ "symbol": "MKD"
+ },
+ "MUR": {
+ "name": "毛里求斯å¢æ¯”",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "毛里塔尼亚乌å‰äºš",
+ "symbol": "MRO"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "MNT": {
+ "name": "è’™å¤å›¾æ ¼é‡Œå…‹",
+ "symbol": "MNT"
+ },
+ "BDT": {
+ "name": "孟加拉塔å¡",
+ "symbol": "BDT"
+ },
+ "PEN": {
+ "name": "秘é²æ–°ç´¢å°”",
+ "symbol": "PEN"
+ },
+ "MMK": {
+ "name": "缅甸元",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "摩尔多瓦列伊",
+ "symbol": "MDL"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "莫桑比克美æå¡",
+ "symbol": "MZN"
+ },
+ "MXN": {
+ "name": "墨西哥比索",
+ "symbol": "MX$"
+ },
+ "NAD": {
+ "name": "纳米比亚元",
+ "symbol": "NAD"
+ },
+ "ZAR": {
+ "name": "å—éžå…°ç‰¹",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "å—è‹ä¸¹é•‘",
+ "symbol": "SSP"
+ },
+ "NIO": {
+ "name": "尼加拉瓜科多巴",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "尼泊尔å¢æ¯”",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "尼日利亚奈拉",
+ "symbol": "NGN"
+ },
+ "NOK": {
+ "name": "挪å¨å…‹æœ—",
+ "symbol": "NOK"
+ },
+ "EUR": {
+ "name": "欧元",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "人民å¸",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "日元",
+ "symbol": "JPÂ¥"
+ },
+ "SEK": {
+ "name": "瑞典克朗",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "瑞士法郎",
+ "symbol": "CHF"
+ },
+ "SVC": {
+ "name": "è¨å°”瓦多科朗",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "è¨æ‘©äºšå¡”拉",
+ "symbol": "WST"
+ },
+ "RSD": {
+ "name": "塞尔维亚第纳尔",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "塞拉利昂利昂",
+ "symbol": "SLL"
+ },
+ "SCR": {
+ "name": "塞舌尔å¢æ¯”",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "沙特里亚尔",
+ "symbol": "SAR"
+ },
+ "STD": {
+ "name": "圣多美和普林西比多布拉",
+ "symbol": "STD"
+ },
+ "SHP": {
+ "name": "圣赫勒拿群岛磅",
+ "symbol": "SHP"
+ },
+ "LKR": {
+ "name": "斯里兰å¡å¢æ¯”",
+ "symbol": "LKR"
+ },
+ "SZL": {
+ "name": "æ–¯å¨å£«å…°é‡Œå…°å‰å°¼",
+ "symbol": "SZL"
+ },
+ "SDG": {
+ "name": "è‹ä¸¹é•‘",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "è‹é‡Œå—å…ƒ",
+ "symbol": "SRD"
+ },
+ "SBD": {
+ "name": "所罗门群岛元",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "索马里先令",
+ "symbol": "SOS"
+ },
+ "TJS": {
+ "name": "å¡”å‰å…‹æ–¯å¦ç´¢èŽ«å°¼",
+ "symbol": "TJS"
+ },
+ "XPF": {
+ "name": "太平洋法郎",
+ "symbol": "CFPF"
+ },
+ "THB": {
+ "name": "æ³°é“¢",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "å¦æ¡‘尼亚先令",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "汤加潘加",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "特立尼达和多巴哥元",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "çªå°¼æ–¯ç¬¬çº³å°”",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "土耳其里拉",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "土库曼斯å¦é©¬çº³ç‰¹",
+ "symbol": "TMT"
+ },
+ "VUV": {
+ "name": "瓦努阿图瓦图",
+ "symbol": "VUV"
+ },
+ "GTQ": {
+ "name": "å±åœ°é©¬æ‹‰æ ¼æŸ¥å°”",
+ "symbol": "GTQ"
+ },
+ "VEF": {
+ "name": "委内瑞拉玻利瓦尔",
+ "symbol": "VEF"
+ },
+ "BND": {
+ "name": "文莱元",
+ "symbol": "BND"
+ },
+ "UGX": {
+ "name": "乌干达先令",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "乌克兰赫夫纳",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "乌拉圭比索",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "乌兹别克斯å¦è‹å§†",
+ "symbol": "UZS"
+ },
+ "SGD": {
+ "name": "新加å¡å…ƒ",
+ "symbol": "SGD"
+ },
+ "TWD": {
+ "name": "æ–°å°å¸",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "新西兰元",
+ "symbol": "NZ$"
+ },
+ "HUF": {
+ "name": "匈牙利ç¦æž—",
+ "symbol": "HUF"
+ },
+ "SYP": {
+ "name": "å™åˆ©äºšé•‘",
+ "symbol": "SYP"
+ },
+ "JMD": {
+ "name": "牙买加元",
+ "symbol": "JMD"
+ },
+ "AMD": {
+ "name": "亚美尼亚德拉姆",
+ "symbol": "AMD"
+ },
+ "YER": {
+ "name": "也门里亚尔",
+ "symbol": "YER"
+ },
+ "IQD": {
+ "name": "伊拉克第纳尔",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "伊朗里亚尔",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "以色列新谢克尔",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "å°åº¦å¢æ¯”",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "å°åº¦å°¼è¥¿äºšç›¾",
+ "symbol": "IDR"
+ },
+ "GBP": {
+ "name": "英镑",
+ "symbol": "£"
+ },
+ "JOD": {
+ "name": "约旦第纳尔",
+ "symbol": "JOD"
+ },
+ "VND": {
+ "name": "越å—盾",
+ "symbol": "â‚«"
+ },
+ "ZMW": {
+ "name": "赞比亚克瓦查",
+ "symbol": "ZMW"
+ },
+ "GIP": {
+ "name": "直布罗陀镑",
+ "symbol": "GIP"
+ },
+ "CLP": {
+ "name": "智利比索",
+ "symbol": "CLP"
+ },
+ "XAF": {
+ "name": "中éžé‡‘èžåˆä½œæ³•éƒŽ",
+ "symbol": "FCFA"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/zh-Hans-MO.json b/library/intl/resources/currency/zh-Hans-MO.json
new file mode 100644
index 000000000..a2acb7cc9
--- /dev/null
+++ b/library/intl/resources/currency/zh-Hans-MO.json
@@ -0,0 +1,634 @@
+{
+ "ALL": {
+ "name": "阿尔巴尼亚列克",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "阿尔åŠåˆ©äºšç¬¬çº³å°”",
+ "symbol": "DZD"
+ },
+ "AFN": {
+ "name": "阿富汗尼",
+ "symbol": "AFN"
+ },
+ "ARS": {
+ "name": "阿根廷比索",
+ "symbol": "ARS"
+ },
+ "AED": {
+ "name": "阿è”酋迪拉姆",
+ "symbol": "AED"
+ },
+ "AWG": {
+ "name": "阿é²å·´å¼—ç½—æž—",
+ "symbol": "AWG"
+ },
+ "OMR": {
+ "name": "阿曼里亚尔",
+ "symbol": "OMR"
+ },
+ "AZN": {
+ "name": "阿塞拜疆马纳特",
+ "symbol": "AZN"
+ },
+ "EGP": {
+ "name": "埃åŠé•‘",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "埃塞俄比亚比尔",
+ "symbol": "ETB"
+ },
+ "AOA": {
+ "name": "安哥拉宽扎",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "澳大利亚元",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳门元",
+ "symbol": "MOP$"
+ },
+ "BBD": {
+ "name": "巴巴多斯元",
+ "symbol": "BBD"
+ },
+ "PGK": {
+ "name": "巴布亚新几内亚基那",
+ "symbol": "PGK"
+ },
+ "BSD": {
+ "name": "巴哈马元",
+ "symbol": "BSD"
+ },
+ "PKR": {
+ "name": "巴基斯å¦å¢æ¯”",
+ "symbol": "PKR"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼",
+ "symbol": "PYG"
+ },
+ "BHD": {
+ "name": "巴林第纳尔",
+ "symbol": "BHD"
+ },
+ "PAB": {
+ "name": "巴拿马巴波亚",
+ "symbol": "PAB"
+ },
+ "BRL": {
+ "name": "巴西雷亚尔",
+ "symbol": "R$"
+ },
+ "BYR": {
+ "name": "白俄罗斯å¢å¸ƒ",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "百慕大元",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "ä¿åŠ åˆ©äºšæ–°åˆ—å¼—",
+ "symbol": "BGN"
+ },
+ "ISK": {
+ "name": "冰岛克朗",
+ "symbol": "ISK"
+ },
+ "PLN": {
+ "name": "波兰兹罗æ",
+ "symbol": "PLN"
+ },
+ "BAM": {
+ "name": "波斯尼亚-黑塞哥维那å¯å…‘æ¢é©¬å…‹",
+ "symbol": "BAM"
+ },
+ "BOB": {
+ "name": "玻利维亚诺",
+ "symbol": "BOB"
+ },
+ "BZD": {
+ "name": "伯利兹元",
+ "symbol": "BZD"
+ },
+ "BWP": {
+ "name": "åšèŒ¨ç“¦çº³æ™®æ‹‰",
+ "symbol": "BWP"
+ },
+ "BTN": {
+ "name": "ä¸ä¸¹åŠªå°”特é²å§†",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "布隆迪法郎",
+ "symbol": "BIF"
+ },
+ "KPW": {
+ "name": "æœé²œå…ƒ",
+ "symbol": "KPW"
+ },
+ "DKK": {
+ "name": "丹麦克朗",
+ "symbol": "DKK"
+ },
+ "XCD": {
+ "name": "东加勒比元",
+ "symbol": "EC$"
+ },
+ "DOP": {
+ "name": "多米尼加比索",
+ "symbol": "DOP"
+ },
+ "RUB": {
+ "name": "ä¿„ç½—æ–¯å¢å¸ƒ",
+ "symbol": "RUB"
+ },
+ "ERN": {
+ "name": "厄立特里亚纳克法",
+ "symbol": "ERN"
+ },
+ "XOF": {
+ "name": "éžæ´²é‡‘èžå…±åŒä½“法郎",
+ "symbol": "CFA"
+ },
+ "PHP": {
+ "name": "è²å¾‹å®¾æ¯”ç´¢",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "æ–济元",
+ "symbol": "FJD"
+ },
+ "CVE": {
+ "name": "佛得角埃斯库多",
+ "symbol": "CVE"
+ },
+ "FKP": {
+ "name": "ç¦å…‹å…°ç¾¤å²›é•‘",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "冈比亚达拉西",
+ "symbol": "GMD"
+ },
+ "CDF": {
+ "name": "刚果法郎",
+ "symbol": "CDF"
+ },
+ "HKD": {
+ "name": "港元",
+ "symbol": "HK$"
+ },
+ "COP": {
+ "name": "哥伦比亚比索",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "哥斯达黎加科朗",
+ "symbol": "CRC"
+ },
+ "GEL": {
+ "name": "æ ¼é²å‰äºšæ‹‰é‡Œ",
+ "symbol": "GEL"
+ },
+ "CUP": {
+ "name": "å¤å·´æ¯”ç´¢",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "å¤å·´å¯å…‘æ¢æ¯”ç´¢",
+ "symbol": "CUC"
+ },
+ "GYD": {
+ "name": "圭亚那元",
+ "symbol": "GYD"
+ },
+ "KZT": {
+ "name": "哈è¨å…‹æ–¯å¦è…¾æ ¼",
+ "symbol": "KZT"
+ },
+ "HTG": {
+ "name": "海地å¤å¾·",
+ "symbol": "HTG"
+ },
+ "KRW": {
+ "name": "韩元",
+ "symbol": "₩"
+ },
+ "ANG": {
+ "name": "è·å±žå®‰çš„列斯盾",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "洪都拉斯伦皮拉",
+ "symbol": "HNL"
+ },
+ "DJF": {
+ "name": "å‰å¸ƒæ法郎",
+ "symbol": "DJF"
+ },
+ "KGS": {
+ "name": "å‰å°”å‰æ–¯æ–¯å¦ç´¢å§†",
+ "symbol": "KGS"
+ },
+ "GNF": {
+ "name": "几内亚法郎",
+ "symbol": "GNF"
+ },
+ "CAD": {
+ "name": "加拿大元",
+ "symbol": "CA$"
+ },
+ "GHS": {
+ "name": "加纳塞地",
+ "symbol": "GHS"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞尔",
+ "symbol": "KHR"
+ },
+ "CZK": {
+ "name": "æ·å…‹å…‹éƒŽ",
+ "symbol": "CZK"
+ },
+ "ZWL": {
+ "name": "津巴布韦元 (2009)",
+ "symbol": "ZWL"
+ },
+ "QAR": {
+ "name": "å¡å¡”尔里亚尔",
+ "symbol": "QAR"
+ },
+ "KYD": {
+ "name": "开曼元",
+ "symbol": "KYD"
+ },
+ "KMF": {
+ "name": "科摩罗法郎",
+ "symbol": "KMF"
+ },
+ "KWD": {
+ "name": "科å¨ç‰¹ç¬¬çº³å°”",
+ "symbol": "KWD"
+ },
+ "HRK": {
+ "name": "克罗地亚库纳",
+ "symbol": "HRK"
+ },
+ "KES": {
+ "name": "肯尼亚先令",
+ "symbol": "KES"
+ },
+ "LSL": {
+ "name": "莱索托洛蒂",
+ "symbol": "LSL"
+ },
+ "LAK": {
+ "name": "è€æŒåŸºæ™®",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "黎巴嫩镑",
+ "symbol": "LBP"
+ },
+ "LTL": {
+ "name": "立陶宛立特",
+ "symbol": "LTL"
+ },
+ "LRD": {
+ "name": "利比里亚元",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "利比亚第纳尔",
+ "symbol": "LYD"
+ },
+ "RWF": {
+ "name": "å¢æ—ºè¾¾æ³•éƒŽ",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "罗马尼亚列伊",
+ "symbol": "RON"
+ },
+ "MGA": {
+ "name": "马达加斯加阿里亚里",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "马尔代夫å¢è²äºš",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "马拉维克瓦查",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "马æ¥è¥¿äºšæž—å‰ç‰¹",
+ "symbol": "MYR"
+ },
+ "MKD": {
+ "name": "马其顿第纳尔",
+ "symbol": "MKD"
+ },
+ "MUR": {
+ "name": "毛里求斯å¢æ¯”",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "毛里塔尼亚乌å‰äºš",
+ "symbol": "MRO"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "MNT": {
+ "name": "è’™å¤å›¾æ ¼é‡Œå…‹",
+ "symbol": "MNT"
+ },
+ "BDT": {
+ "name": "孟加拉塔å¡",
+ "symbol": "BDT"
+ },
+ "PEN": {
+ "name": "秘é²æ–°ç´¢å°”",
+ "symbol": "PEN"
+ },
+ "MMK": {
+ "name": "缅甸元",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "摩尔多瓦列伊",
+ "symbol": "MDL"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "莫桑比克美æå¡",
+ "symbol": "MZN"
+ },
+ "MXN": {
+ "name": "墨西哥比索",
+ "symbol": "MX$"
+ },
+ "NAD": {
+ "name": "纳米比亚元",
+ "symbol": "NAD"
+ },
+ "ZAR": {
+ "name": "å—éžå…°ç‰¹",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "å—è‹ä¸¹é•‘",
+ "symbol": "SSP"
+ },
+ "NIO": {
+ "name": "尼加拉瓜科多巴",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "尼泊尔å¢æ¯”",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "尼日利亚奈拉",
+ "symbol": "NGN"
+ },
+ "NOK": {
+ "name": "挪å¨å…‹æœ—",
+ "symbol": "NOK"
+ },
+ "EUR": {
+ "name": "欧元",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "人民å¸",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "日元",
+ "symbol": "JPÂ¥"
+ },
+ "SEK": {
+ "name": "瑞典克朗",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "瑞士法郎",
+ "symbol": "CHF"
+ },
+ "SVC": {
+ "name": "è¨å°”瓦多科朗",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "è¨æ‘©äºšå¡”拉",
+ "symbol": "WST"
+ },
+ "RSD": {
+ "name": "塞尔维亚第纳尔",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "塞拉利昂利昂",
+ "symbol": "SLL"
+ },
+ "SCR": {
+ "name": "塞舌尔å¢æ¯”",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "沙特里亚尔",
+ "symbol": "SAR"
+ },
+ "STD": {
+ "name": "圣多美和普林西比多布拉",
+ "symbol": "STD"
+ },
+ "SHP": {
+ "name": "圣赫勒拿群岛磅",
+ "symbol": "SHP"
+ },
+ "LKR": {
+ "name": "斯里兰å¡å¢æ¯”",
+ "symbol": "LKR"
+ },
+ "SZL": {
+ "name": "æ–¯å¨å£«å…°é‡Œå…°å‰å°¼",
+ "symbol": "SZL"
+ },
+ "SDG": {
+ "name": "è‹ä¸¹é•‘",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "è‹é‡Œå—å…ƒ",
+ "symbol": "SRD"
+ },
+ "SBD": {
+ "name": "所罗门群岛元",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "索马里先令",
+ "symbol": "SOS"
+ },
+ "TJS": {
+ "name": "å¡”å‰å…‹æ–¯å¦ç´¢èŽ«å°¼",
+ "symbol": "TJS"
+ },
+ "XPF": {
+ "name": "太平洋法郎",
+ "symbol": "CFPF"
+ },
+ "THB": {
+ "name": "æ³°é“¢",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "å¦æ¡‘尼亚先令",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "汤加潘加",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "特立尼达和多巴哥元",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "çªå°¼æ–¯ç¬¬çº³å°”",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "土耳其里拉",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "土库曼斯å¦é©¬çº³ç‰¹",
+ "symbol": "TMT"
+ },
+ "VUV": {
+ "name": "瓦努阿图瓦图",
+ "symbol": "VUV"
+ },
+ "GTQ": {
+ "name": "å±åœ°é©¬æ‹‰æ ¼æŸ¥å°”",
+ "symbol": "GTQ"
+ },
+ "VEF": {
+ "name": "委内瑞拉玻利瓦尔",
+ "symbol": "VEF"
+ },
+ "BND": {
+ "name": "文莱元",
+ "symbol": "BND"
+ },
+ "UGX": {
+ "name": "乌干达先令",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "乌克兰格里夫纳",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "乌拉圭比索",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "乌兹别克斯å¦è‹å§†",
+ "symbol": "UZS"
+ },
+ "SGD": {
+ "name": "新加å¡å…ƒ",
+ "symbol": "SGD"
+ },
+ "TWD": {
+ "name": "æ–°å°å¸",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "新西兰元",
+ "symbol": "NZ$"
+ },
+ "HUF": {
+ "name": "匈牙利ç¦æž—",
+ "symbol": "HUF"
+ },
+ "SYP": {
+ "name": "å™åˆ©äºšé•‘",
+ "symbol": "SYP"
+ },
+ "JMD": {
+ "name": "牙买加元",
+ "symbol": "JMD"
+ },
+ "AMD": {
+ "name": "亚美尼亚德拉姆",
+ "symbol": "AMD"
+ },
+ "YER": {
+ "name": "也门里亚尔",
+ "symbol": "YER"
+ },
+ "IQD": {
+ "name": "伊拉克第纳尔",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "伊朗里亚尔",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "以色列新谢克尔",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "å°åº¦å¢æ¯”",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "å°åº¦å°¼è¥¿äºšç›¾",
+ "symbol": "IDR"
+ },
+ "GBP": {
+ "name": "英镑",
+ "symbol": "£"
+ },
+ "JOD": {
+ "name": "约旦第纳尔",
+ "symbol": "JOD"
+ },
+ "VND": {
+ "name": "越å—盾",
+ "symbol": "â‚«"
+ },
+ "ZMW": {
+ "name": "赞比亚克瓦查",
+ "symbol": "ZMW"
+ },
+ "GIP": {
+ "name": "直布罗陀镑",
+ "symbol": "GIP"
+ },
+ "CLP": {
+ "name": "智利比索",
+ "symbol": "CLP"
+ },
+ "XAF": {
+ "name": "中éžé‡‘èžåˆä½œæ³•éƒŽ",
+ "symbol": "FCFA"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/zh-Hans-SG.json b/library/intl/resources/currency/zh-Hans-SG.json
new file mode 100644
index 000000000..f092694fa
--- /dev/null
+++ b/library/intl/resources/currency/zh-Hans-SG.json
@@ -0,0 +1,634 @@
+{
+ "ALL": {
+ "name": "阿尔巴尼亚列克",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "阿尔åŠåˆ©äºšç¬¬çº³å°”",
+ "symbol": "DZD"
+ },
+ "AFN": {
+ "name": "阿富汗尼",
+ "symbol": "AFN"
+ },
+ "ARS": {
+ "name": "阿根廷比索",
+ "symbol": "ARS"
+ },
+ "AED": {
+ "name": "阿è”酋迪拉姆",
+ "symbol": "AED"
+ },
+ "AWG": {
+ "name": "阿é²å·´å¼—ç½—æž—",
+ "symbol": "AWG"
+ },
+ "OMR": {
+ "name": "阿曼里亚尔",
+ "symbol": "OMR"
+ },
+ "AZN": {
+ "name": "阿塞拜疆马纳特",
+ "symbol": "AZN"
+ },
+ "EGP": {
+ "name": "埃åŠé•‘",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "埃塞俄比亚比尔",
+ "symbol": "ETB"
+ },
+ "AOA": {
+ "name": "安哥拉宽扎",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "澳大利亚元",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳门元",
+ "symbol": "MOP"
+ },
+ "BBD": {
+ "name": "巴巴多斯元",
+ "symbol": "BBD"
+ },
+ "PGK": {
+ "name": "巴布亚新几内亚基那",
+ "symbol": "PGK"
+ },
+ "BSD": {
+ "name": "巴哈马元",
+ "symbol": "BSD"
+ },
+ "PKR": {
+ "name": "巴基斯å¦å¢æ¯”",
+ "symbol": "PKR"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼",
+ "symbol": "PYG"
+ },
+ "BHD": {
+ "name": "巴林第纳尔",
+ "symbol": "BHD"
+ },
+ "PAB": {
+ "name": "巴拿马巴波亚",
+ "symbol": "PAB"
+ },
+ "BRL": {
+ "name": "巴西雷亚尔",
+ "symbol": "R$"
+ },
+ "BYR": {
+ "name": "白俄罗斯å¢å¸ƒ",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "百慕大元",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "ä¿åŠ åˆ©äºšæ–°åˆ—å¼—",
+ "symbol": "BGN"
+ },
+ "ISK": {
+ "name": "冰岛克朗",
+ "symbol": "ISK"
+ },
+ "PLN": {
+ "name": "波兰兹罗æ",
+ "symbol": "PLN"
+ },
+ "BAM": {
+ "name": "波斯尼亚-黑塞哥维那å¯å…‘æ¢é©¬å…‹",
+ "symbol": "BAM"
+ },
+ "BOB": {
+ "name": "玻利维亚诺",
+ "symbol": "BOB"
+ },
+ "BZD": {
+ "name": "伯利兹元",
+ "symbol": "BZD"
+ },
+ "BWP": {
+ "name": "åšèŒ¨ç“¦çº³æ™®æ‹‰",
+ "symbol": "BWP"
+ },
+ "BTN": {
+ "name": "ä¸ä¸¹åŠªå°”特é²å§†",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "布隆迪法郎",
+ "symbol": "BIF"
+ },
+ "KPW": {
+ "name": "æœé²œå…ƒ",
+ "symbol": "KPW"
+ },
+ "DKK": {
+ "name": "丹麦克朗",
+ "symbol": "DKK"
+ },
+ "XCD": {
+ "name": "东加勒比元",
+ "symbol": "EC$"
+ },
+ "DOP": {
+ "name": "多米尼加比索",
+ "symbol": "DOP"
+ },
+ "RUB": {
+ "name": "ä¿„ç½—æ–¯å¢å¸ƒ",
+ "symbol": "RUB"
+ },
+ "ERN": {
+ "name": "厄立特里亚纳克法",
+ "symbol": "ERN"
+ },
+ "XOF": {
+ "name": "éžæ´²é‡‘èžå…±åŒä½“法郎",
+ "symbol": "CFA"
+ },
+ "PHP": {
+ "name": "è²å¾‹å®¾æ¯”ç´¢",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "æ–济元",
+ "symbol": "FJD"
+ },
+ "CVE": {
+ "name": "佛得角埃斯库多",
+ "symbol": "CVE"
+ },
+ "FKP": {
+ "name": "ç¦å…‹å…°ç¾¤å²›é•‘",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "冈比亚达拉西",
+ "symbol": "GMD"
+ },
+ "CDF": {
+ "name": "刚果法郎",
+ "symbol": "CDF"
+ },
+ "HKD": {
+ "name": "港元",
+ "symbol": "HK$"
+ },
+ "COP": {
+ "name": "哥伦比亚比索",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "哥斯达黎加科朗",
+ "symbol": "CRC"
+ },
+ "GEL": {
+ "name": "æ ¼é²å‰äºšæ‹‰é‡Œ",
+ "symbol": "GEL"
+ },
+ "CUP": {
+ "name": "å¤å·´æ¯”ç´¢",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "å¤å·´å¯å…‘æ¢æ¯”ç´¢",
+ "symbol": "CUC"
+ },
+ "GYD": {
+ "name": "圭亚那元",
+ "symbol": "GYD"
+ },
+ "KZT": {
+ "name": "哈è¨å…‹æ–¯å¦è…¾æ ¼",
+ "symbol": "KZT"
+ },
+ "HTG": {
+ "name": "海地å¤å¾·",
+ "symbol": "HTG"
+ },
+ "KRW": {
+ "name": "韩元",
+ "symbol": "₩"
+ },
+ "ANG": {
+ "name": "è·å±žå®‰çš„列斯盾",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "洪都拉斯伦皮拉",
+ "symbol": "HNL"
+ },
+ "DJF": {
+ "name": "å‰å¸ƒæ法郎",
+ "symbol": "DJF"
+ },
+ "KGS": {
+ "name": "å‰å°”å‰æ–¯æ–¯å¦ç´¢å§†",
+ "symbol": "KGS"
+ },
+ "GNF": {
+ "name": "几内亚法郎",
+ "symbol": "GNF"
+ },
+ "CAD": {
+ "name": "加拿大元",
+ "symbol": "CA$"
+ },
+ "GHS": {
+ "name": "加纳塞地",
+ "symbol": "GHS"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞尔",
+ "symbol": "KHR"
+ },
+ "CZK": {
+ "name": "æ·å…‹å…‹éƒŽ",
+ "symbol": "CZK"
+ },
+ "ZWL": {
+ "name": "津巴布韦元 (2009)",
+ "symbol": "ZWL"
+ },
+ "QAR": {
+ "name": "å¡å¡”尔里亚尔",
+ "symbol": "QAR"
+ },
+ "KYD": {
+ "name": "开曼元",
+ "symbol": "KYD"
+ },
+ "KMF": {
+ "name": "科摩罗法郎",
+ "symbol": "KMF"
+ },
+ "KWD": {
+ "name": "科å¨ç‰¹ç¬¬çº³å°”",
+ "symbol": "KWD"
+ },
+ "HRK": {
+ "name": "克罗地亚库纳",
+ "symbol": "HRK"
+ },
+ "KES": {
+ "name": "肯尼亚先令",
+ "symbol": "KES"
+ },
+ "LSL": {
+ "name": "莱索托洛蒂",
+ "symbol": "LSL"
+ },
+ "LAK": {
+ "name": "è€æŒåŸºæ™®",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "黎巴嫩镑",
+ "symbol": "LBP"
+ },
+ "LTL": {
+ "name": "立陶宛立特",
+ "symbol": "LTL"
+ },
+ "LRD": {
+ "name": "利比里亚元",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "利比亚第纳尔",
+ "symbol": "LYD"
+ },
+ "RWF": {
+ "name": "å¢æ—ºè¾¾æ³•éƒŽ",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "罗马尼亚列伊",
+ "symbol": "RON"
+ },
+ "MGA": {
+ "name": "马达加斯加阿里亚里",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "马尔代夫å¢è²äºš",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "马拉维克瓦查",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "马æ¥è¥¿äºšæž—å‰ç‰¹",
+ "symbol": "MYR"
+ },
+ "MKD": {
+ "name": "马其顿第纳尔",
+ "symbol": "MKD"
+ },
+ "MUR": {
+ "name": "毛里求斯å¢æ¯”",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "毛里塔尼亚乌å‰äºš",
+ "symbol": "MRO"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "MNT": {
+ "name": "è’™å¤å›¾æ ¼é‡Œå…‹",
+ "symbol": "MNT"
+ },
+ "BDT": {
+ "name": "孟加拉塔å¡",
+ "symbol": "BDT"
+ },
+ "PEN": {
+ "name": "秘é²æ–°ç´¢å°”",
+ "symbol": "PEN"
+ },
+ "MMK": {
+ "name": "缅甸元",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "摩尔多瓦列伊",
+ "symbol": "MDL"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "莫桑比克美æå¡",
+ "symbol": "MZN"
+ },
+ "MXN": {
+ "name": "墨西哥比索",
+ "symbol": "MX$"
+ },
+ "NAD": {
+ "name": "纳米比亚元",
+ "symbol": "NAD"
+ },
+ "ZAR": {
+ "name": "å—éžå…°ç‰¹",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "å—è‹ä¸¹é•‘",
+ "symbol": "SSP"
+ },
+ "NIO": {
+ "name": "尼加拉瓜科多巴",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "尼泊尔å¢æ¯”",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "尼日利亚奈拉",
+ "symbol": "NGN"
+ },
+ "NOK": {
+ "name": "挪å¨å…‹æœ—",
+ "symbol": "NOK"
+ },
+ "EUR": {
+ "name": "欧元",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "人民å¸",
+ "symbol": "CNÂ¥"
+ },
+ "JPY": {
+ "name": "日元",
+ "symbol": "JPÂ¥"
+ },
+ "SEK": {
+ "name": "瑞典克朗",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "瑞士法郎",
+ "symbol": "CHF"
+ },
+ "SVC": {
+ "name": "è¨å°”瓦多科朗",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "è¨æ‘©äºšå¡”拉",
+ "symbol": "WST"
+ },
+ "RSD": {
+ "name": "塞尔维亚第纳尔",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "塞拉利昂利昂",
+ "symbol": "SLL"
+ },
+ "SCR": {
+ "name": "塞舌尔å¢æ¯”",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "沙特里亚尔",
+ "symbol": "SAR"
+ },
+ "STD": {
+ "name": "圣多美和普林西比多布拉",
+ "symbol": "STD"
+ },
+ "SHP": {
+ "name": "圣赫勒拿群岛磅",
+ "symbol": "SHP"
+ },
+ "LKR": {
+ "name": "斯里兰å¡å¢æ¯”",
+ "symbol": "LKR"
+ },
+ "SZL": {
+ "name": "æ–¯å¨å£«å…°é‡Œå…°å‰å°¼",
+ "symbol": "SZL"
+ },
+ "SDG": {
+ "name": "è‹ä¸¹é•‘",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "è‹é‡Œå—å…ƒ",
+ "symbol": "SRD"
+ },
+ "SBD": {
+ "name": "所罗门群岛元",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "索马里先令",
+ "symbol": "SOS"
+ },
+ "TJS": {
+ "name": "å¡”å‰å…‹æ–¯å¦ç´¢èŽ«å°¼",
+ "symbol": "TJS"
+ },
+ "XPF": {
+ "name": "太平洋法郎",
+ "symbol": "CFPF"
+ },
+ "THB": {
+ "name": "æ³°é“¢",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "å¦æ¡‘尼亚先令",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "汤加潘加",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "特立尼达和多巴哥元",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "çªå°¼æ–¯ç¬¬çº³å°”",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "土耳其里拉",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "土库曼斯å¦é©¬çº³ç‰¹",
+ "symbol": "TMT"
+ },
+ "VUV": {
+ "name": "瓦努阿图瓦图",
+ "symbol": "VUV"
+ },
+ "GTQ": {
+ "name": "å±åœ°é©¬æ‹‰æ ¼æŸ¥å°”",
+ "symbol": "GTQ"
+ },
+ "VEF": {
+ "name": "委内瑞拉玻利瓦尔",
+ "symbol": "VEF"
+ },
+ "BND": {
+ "name": "文莱元",
+ "symbol": "BND"
+ },
+ "UGX": {
+ "name": "乌干达先令",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "乌克兰格里夫纳",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "乌拉圭比索",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "乌兹别克斯å¦è‹å§†",
+ "symbol": "UZS"
+ },
+ "SGD": {
+ "name": "新加å¡å…ƒ",
+ "symbol": "$"
+ },
+ "TWD": {
+ "name": "æ–°å°å¸",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "新西兰元",
+ "symbol": "NZ$"
+ },
+ "HUF": {
+ "name": "匈牙利ç¦æž—",
+ "symbol": "HUF"
+ },
+ "SYP": {
+ "name": "å™åˆ©äºšé•‘",
+ "symbol": "SYP"
+ },
+ "JMD": {
+ "name": "牙买加元",
+ "symbol": "JMD"
+ },
+ "AMD": {
+ "name": "亚美尼亚德拉姆",
+ "symbol": "AMD"
+ },
+ "YER": {
+ "name": "也门里亚尔",
+ "symbol": "YER"
+ },
+ "IQD": {
+ "name": "伊拉克第纳尔",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "伊朗里亚尔",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "以色列新谢克尔",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "å°åº¦å¢æ¯”",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "å°åº¦å°¼è¥¿äºšç›¾",
+ "symbol": "IDR"
+ },
+ "GBP": {
+ "name": "英镑",
+ "symbol": "£"
+ },
+ "JOD": {
+ "name": "约旦第纳尔",
+ "symbol": "JOD"
+ },
+ "VND": {
+ "name": "越å—盾",
+ "symbol": "â‚«"
+ },
+ "ZMW": {
+ "name": "赞比亚克瓦查",
+ "symbol": "ZMW"
+ },
+ "GIP": {
+ "name": "直布罗陀镑",
+ "symbol": "GIP"
+ },
+ "CLP": {
+ "name": "智利比索",
+ "symbol": "CLP"
+ },
+ "XAF": {
+ "name": "中éžé‡‘èžåˆä½œæ³•éƒŽ",
+ "symbol": "FCFA"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/zh-Hant-HK.json b/library/intl/resources/currency/zh-Hant-HK.json
new file mode 100644
index 000000000..26ee4ec91
--- /dev/null
+++ b/library/intl/resources/currency/zh-Hant-HK.json
@@ -0,0 +1,634 @@
+{
+ "CNY": {
+ "name": "人民幣",
+ "symbol": "CNÂ¥"
+ },
+ "YER": {
+ "name": "也門里雅",
+ "symbol": "YER"
+ },
+ "TTD": {
+ "name": "åƒé‡Œé”åŠæ‰˜å·´å“¥å…ƒ",
+ "symbol": "TTD"
+ },
+ "TMT": {
+ "name": "土庫曼馬ç´ç‰¹",
+ "symbol": "TMT"
+ },
+ "BTN": {
+ "name": "ä¸ä¸¹é‚£ç‰¹å€«",
+ "symbol": "BTN"
+ },
+ "XAF": {
+ "name": "中éžæ³•éƒŽ",
+ "symbol": "FCFA"
+ },
+ "DKK": {
+ "name": "丹麥克朗",
+ "symbol": "DKK"
+ },
+ "ERN": {
+ "name": "厄立特里亞ç´å…‹æ³•",
+ "symbol": "ERN"
+ },
+ "XPF": {
+ "name": "太平洋法郎",
+ "symbol": "CFPF"
+ },
+ "BBD": {
+ "name": "巴巴多斯元",
+ "symbol": "BBD"
+ },
+ "PGK": {
+ "name": "巴布亞新畿內亞基那",
+ "symbol": "PGK"
+ },
+ "BRL": {
+ "name": "巴西里拉",
+ "symbol": "R$"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼",
+ "symbol": "PYG"
+ },
+ "BHD": {
+ "name": "巴林第ç´çˆ¾",
+ "symbol": "BHD"
+ },
+ "BSD": {
+ "name": "巴哈馬元",
+ "symbol": "BSD"
+ },
+ "PAB": {
+ "name": "巴拿馬巴波亞",
+ "symbol": "PAB"
+ },
+ "PKR": {
+ "name": "巴基斯å¦ç›§æ¯”",
+ "symbol": "PKR"
+ },
+ "JPY": {
+ "name": "日圓",
+ "symbol": "Â¥"
+ },
+ "MUR": {
+ "name": "毛里求斯盧布",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "毛里塔尼亞çƒå‰äºž",
+ "symbol": "MRO"
+ },
+ "JMD": {
+ "name": "牙買加元",
+ "symbol": "JMD"
+ },
+ "ILS": {
+ "name": "以色列新è¬å…‹çˆ¾",
+ "symbol": "₪"
+ },
+ "CAD": {
+ "name": "加元",
+ "symbol": "CA$"
+ },
+ "GHS": {
+ "name": "加ç´å¡žåœ°",
+ "symbol": "GHS"
+ },
+ "KPW": {
+ "name": "北韓圓",
+ "symbol": "KPW"
+ },
+ "KZT": {
+ "name": "å¡æ‰Žå…‹æ–¯å¦å¦å‰",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "å¡å¡”爾里亞爾",
+ "symbol": "QAR"
+ },
+ "CUC": {
+ "name": "å¤å·´å¯è½‰æ›æŠ«ç´¢",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "å¤å·´æŠ«ç´¢",
+ "symbol": "CUP"
+ },
+ "SZL": {
+ "name": "å²ç“¦æ¿Ÿè˜­é‡Œæœ—å‰å°¼",
+ "symbol": "SZL"
+ },
+ "NGN": {
+ "name": "尼日利亞奈拉",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "尼加拉瓜金科多巴",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "尼泊爾盧比",
+ "symbol": "NPR"
+ },
+ "BIF": {
+ "name": "布隆迪法郎",
+ "symbol": "BIF"
+ },
+ "VUV": {
+ "name": "瓦努阿圖瓦圖",
+ "symbol": "VUV"
+ },
+ "BYR": {
+ "name": "白俄羅斯盧布",
+ "symbol": "BYR"
+ },
+ "LTL": {
+ "name": "立陶宛立特",
+ "symbol": "LTL"
+ },
+ "IQD": {
+ "name": "伊拉克第ç´çˆ¾",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "伊朗里亞爾",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "冰島克朗",
+ "symbol": "ISK"
+ },
+ "HUF": {
+ "name": "匈牙利ç¦æž—",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "å°å°¼ç›¾",
+ "symbol": "IDR"
+ },
+ "INR": {
+ "name": "å°åº¦ç›§æ¯”",
+ "symbol": "₹"
+ },
+ "GTQ": {
+ "name": "å±åœ°é¦¬æ‹‰æ ¼æŸ¥çˆ¾",
+ "symbol": "GTQ"
+ },
+ "DJF": {
+ "name": "å‰å¸ƒåœ°æ³•éƒŽ",
+ "symbol": "DJF"
+ },
+ "KGS": {
+ "name": "å‰çˆ¾å‰æ–¯ç´¢å§†",
+ "symbol": "KGS"
+ },
+ "GYD": {
+ "name": "圭亞那元",
+ "symbol": "GYD"
+ },
+ "DOP": {
+ "name": "多明尼加披索",
+ "symbol": "DOP"
+ },
+ "XOF": {
+ "name": "多哥éžæ´²å…±åŒé«”法郎",
+ "symbol": "CFA"
+ },
+ "AOA": {
+ "name": "安哥拉寬扎",
+ "symbol": "AOA"
+ },
+ "BMD": {
+ "name": "百慕é”å¹£",
+ "symbol": "BMD"
+ },
+ "WST": {
+ "name": "西薩摩亞塔拉",
+ "symbol": "WST"
+ },
+ "BZD": {
+ "name": "伯利茲元",
+ "symbol": "BZD"
+ },
+ "CVE": {
+ "name": "佛得角埃斯庫多",
+ "symbol": "CVE"
+ },
+ "HRK": {
+ "name": "克羅地亞庫ç´",
+ "symbol": "HRK"
+ },
+ "LRD": {
+ "name": "利比利亞元",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "利比亞第ç´çˆ¾",
+ "symbol": "LYD"
+ },
+ "BND": {
+ "name": "汶èŠå…ƒ",
+ "symbol": "BND"
+ },
+ "SAR": {
+ "name": "沙特阿拉伯里亞爾",
+ "symbol": "SAR"
+ },
+ "ZWL": {
+ "name": "辛巴å¨å…ƒ (2009)",
+ "symbol": "ZWL"
+ },
+ "AMD": {
+ "name": "亞美尼亞德拉姆",
+ "symbol": "AMD"
+ },
+ "AZN": {
+ "name": "亞塞拜疆馬ç´ç‰¹",
+ "symbol": "AZN"
+ },
+ "TZS": {
+ "name": "å¦å°šå°¼äºžå…ˆä»¤",
+ "symbol": "TZS"
+ },
+ "VEF": {
+ "name": "委內瑞拉玻利瓦",
+ "symbol": "VEF"
+ },
+ "BDT": {
+ "name": "孟加拉塔å¡",
+ "symbol": "BDT"
+ },
+ "ZMW": {
+ "name": "尚比亞克瓦查",
+ "symbol": "ZMW"
+ },
+ "GMD": {
+ "name": "岡比亞é”拉西",
+ "symbol": "GMD"
+ },
+ "SBD": {
+ "name": "所羅門群島元",
+ "symbol": "SBD"
+ },
+ "XCD": {
+ "name": "æ±åŠ å‹’比元",
+ "symbol": "EC$"
+ },
+ "TOP": {
+ "name": "æ±åŠ æ½˜åŠ ",
+ "symbol": "TOP"
+ },
+ "BAM": {
+ "name": "波士尼亞與赫塞哥維ç´å¯è½‰æ›é¦¬å…‹",
+ "symbol": "BAM"
+ },
+ "PLN": {
+ "name": "波蘭茲羅æ",
+ "symbol": "PLN"
+ },
+ "GIP": {
+ "name": "直布羅陀鎊",
+ "symbol": "GIP"
+ },
+ "KES": {
+ "name": "肯尼亞先令",
+ "symbol": "KES"
+ },
+ "AED": {
+ "name": "阿拉伯è¯åˆé…‹é•·åœ‹è¿ªçˆ¾æ±—",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "阿根廷披索",
+ "symbol": "ARS"
+ },
+ "OMR": {
+ "name": "阿曼里奧",
+ "symbol": "OMR"
+ },
+ "AFN": {
+ "name": "阿富汗尼",
+ "symbol": "AFN"
+ },
+ "DZD": {
+ "name": "阿爾åŠåˆ©äºžç¬¬ç´çˆ¾",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "阿爾巴尼亞列克",
+ "symbol": "ALL"
+ },
+ "AWG": {
+ "name": "阿魯巴盾",
+ "symbol": "AWG"
+ },
+ "RUB": {
+ "name": "俄羅斯盧布",
+ "symbol": "RUB"
+ },
+ "BGN": {
+ "name": "ä¿åŠ åˆ©äºžæ–°åˆ—å¼—",
+ "symbol": "BGN"
+ },
+ "ZAR": {
+ "name": "å—éžè˜­ç‰¹",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "å—蘇丹鎊",
+ "symbol": "SSP"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞爾",
+ "symbol": "KHR"
+ },
+ "HNL": {
+ "name": "洪都拉斯倫皮拉",
+ "symbol": "HNL"
+ },
+ "BOB": {
+ "name": "玻利維亞諾",
+ "symbol": "BOB"
+ },
+ "KWD": {
+ "name": "科å¨ç‰¹ç¬¬ç´çˆ¾",
+ "symbol": "KWD"
+ },
+ "KMF": {
+ "name": "科摩羅法郎",
+ "symbol": "KMF"
+ },
+ "TND": {
+ "name": "çªå°¼è¥¿äºžç¬¬ç´çˆ¾",
+ "symbol": "TND"
+ },
+ "JOD": {
+ "name": "約旦第ç´çˆ¾",
+ "symbol": "JOD"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "GBP": {
+ "name": "英鎊",
+ "symbol": "£"
+ },
+ "CDF": {
+ "name": "剛果法郎",
+ "symbol": "CDF"
+ },
+ "COP": {
+ "name": "哥倫比亞披索",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "哥斯é”黎加科郎",
+ "symbol": "CRC"
+ },
+ "EGP": {
+ "name": "埃åŠéŽŠ",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "埃塞俄比亞比爾",
+ "symbol": "ETB"
+ },
+ "NOK": {
+ "name": "挪å¨å…‹æœ—",
+ "symbol": "NOK"
+ },
+ "GEL": {
+ "name": "格魯å‰äºžæ‹‰é‡Œ",
+ "symbol": "GEL"
+ },
+ "THB": {
+ "name": "泰銖",
+ "symbol": "฿"
+ },
+ "HTG": {
+ "name": "海地å¤å¾·",
+ "symbol": "HTG"
+ },
+ "UGX": {
+ "name": "çƒå¹²é”先令",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "çƒå…‹è˜­æ ¼é‡Œå¤«ç´",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "çƒæ‹‰åœ­æŠ«ç´¢",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "çƒèŒ²åˆ¥å…‹ç´¢å§†",
+ "symbol": "UZS"
+ },
+ "PEN": {
+ "name": "秘魯新太陽幣",
+ "symbol": "PEN"
+ },
+ "NAD": {
+ "name": "ç´ç±³æ¯”亞元",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "ç´è¥¿è˜­å…ƒ",
+ "symbol": "NZ$"
+ },
+ "SOS": {
+ "name": "索馬利亞先令",
+ "symbol": "SOS"
+ },
+ "MYR": {
+ "name": "馬來西亞令å‰",
+ "symbol": "MYR"
+ },
+ "MKD": {
+ "name": "馬其頓第ç´çˆ¾",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "馬拉維克瓦查",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "馬é”加斯加艾瑞爾",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "馬爾代夫盧éžäºž",
+ "symbol": "MVR"
+ },
+ "CZK": {
+ "name": "æ·å…‹å…‹æœ—",
+ "symbol": "CZK"
+ },
+ "SYP": {
+ "name": "敘利亞鎊",
+ "symbol": "SYP"
+ },
+ "ANG": {
+ "name": "è·å±¬å®‰åœ°åˆ—斯盾",
+ "symbol": "ANG"
+ },
+ "MZN": {
+ "name": "莫桑比克美æå¡",
+ "symbol": "MZN"
+ },
+ "BWP": {
+ "name": "åšèŒ¨ç“¦ç´æ™®æ‹‰",
+ "symbol": "BWP"
+ },
+ "GNF": {
+ "name": "幾內亞法郎",
+ "symbol": "GNF"
+ },
+ "FJD": {
+ "name": "æ–æ¿Ÿå…ƒ",
+ "symbol": "FJD"
+ },
+ "LKR": {
+ "name": "斯里蘭å¡ç›§æ¯”",
+ "symbol": "LKR"
+ },
+ "CLP": {
+ "name": "智利披索",
+ "symbol": "CLP"
+ },
+ "HKD": {
+ "name": "港元",
+ "symbol": "HK$"
+ },
+ "PHP": {
+ "name": "è²å¾‹è³“披索",
+ "symbol": "PHP"
+ },
+ "VND": {
+ "name": "越å—盾",
+ "symbol": "â‚«"
+ },
+ "KYD": {
+ "name": "開曼群島元",
+ "symbol": "KYD"
+ },
+ "TJS": {
+ "name": "å¡”å‰å…‹ç´¢èŽ«å°¼",
+ "symbol": "TJS"
+ },
+ "SLL": {
+ "name": "塞拉利昂利昂",
+ "symbol": "SLL"
+ },
+ "SCR": {
+ "name": "塞席爾盧比",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "塞爾維亞第ç´çˆ¾",
+ "symbol": "RSD"
+ },
+ "TRY": {
+ "name": "新土耳其里拉",
+ "symbol": "TRY"
+ },
+ "SGD": {
+ "name": "新加å¡å…ƒ",
+ "symbol": "SGD"
+ },
+ "TWD": {
+ "name": "æ–°å°å¹£",
+ "symbol": "NT$"
+ },
+ "CHF": {
+ "name": "瑞士法郎",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "瑞典克朗",
+ "symbol": "SEK"
+ },
+ "STD": {
+ "name": "è–多美和普林西比多布拉",
+ "symbol": "STD"
+ },
+ "SHP": {
+ "name": "è–赫勒拿鎊",
+ "symbol": "SHP"
+ },
+ "FKP": {
+ "name": "ç¦å…‹è˜­ç¾¤å³¶éŽŠ",
+ "symbol": "FKP"
+ },
+ "MNT": {
+ "name": "è’™å¤åœ–格里克",
+ "symbol": "MNT"
+ },
+ "LAK": {
+ "name": "寮國基普",
+ "symbol": "LAK"
+ },
+ "MDL": {
+ "name": "æ‘©æœé›²åˆ—伊",
+ "symbol": "MDL"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆",
+ "symbol": "MAD"
+ },
+ "EUR": {
+ "name": "æ­å…ƒ",
+ "symbol": "€"
+ },
+ "MMK": {
+ "name": "緬甸元",
+ "symbol": "MMK"
+ },
+ "LBP": {
+ "name": "黎巴嫩鎊",
+ "symbol": "LBP"
+ },
+ "MXN": {
+ "name": "墨西哥披索",
+ "symbol": "MX$"
+ },
+ "AUD": {
+ "name": "澳元",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳門元",
+ "symbol": "MOP"
+ },
+ "RWF": {
+ "name": "盧旺é”法郎",
+ "symbol": "RWF"
+ },
+ "LSL": {
+ "name": "賴索托洛蒂",
+ "symbol": "LSL"
+ },
+ "KRW": {
+ "name": "韓圓",
+ "symbol": "â‚©"
+ },
+ "SVC": {
+ "name": "薩爾瓦多科郎",
+ "symbol": "SVC"
+ },
+ "RON": {
+ "name": "羅馬尼亞列伊",
+ "symbol": "RON"
+ },
+ "SDG": {
+ "name": "蘇丹鎊",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "蘇利å—å…ƒ",
+ "symbol": "SRD"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/zh-Hant-MO.json b/library/intl/resources/currency/zh-Hant-MO.json
new file mode 100644
index 000000000..f8bf02f41
--- /dev/null
+++ b/library/intl/resources/currency/zh-Hant-MO.json
@@ -0,0 +1,634 @@
+{
+ "CNY": {
+ "name": "人民幣",
+ "symbol": "CNÂ¥"
+ },
+ "YER": {
+ "name": "也門里雅",
+ "symbol": "YER"
+ },
+ "TTD": {
+ "name": "åƒé‡Œé”åŠæ‰˜å·´å“¥å…ƒ",
+ "symbol": "TTD"
+ },
+ "TMT": {
+ "name": "土庫曼馬ç´ç‰¹",
+ "symbol": "TMT"
+ },
+ "BTN": {
+ "name": "ä¸ä¸¹é‚£ç‰¹å€«",
+ "symbol": "BTN"
+ },
+ "XAF": {
+ "name": "中éžæ³•éƒŽ",
+ "symbol": "FCFA"
+ },
+ "DKK": {
+ "name": "丹麥克朗",
+ "symbol": "DKK"
+ },
+ "ERN": {
+ "name": "厄立特里亞ç´å…‹æ³•",
+ "symbol": "ERN"
+ },
+ "XPF": {
+ "name": "太平洋法郎",
+ "symbol": "CFPF"
+ },
+ "BBD": {
+ "name": "巴巴多斯元",
+ "symbol": "BBD"
+ },
+ "PGK": {
+ "name": "巴布亞新畿內亞基那",
+ "symbol": "PGK"
+ },
+ "BRL": {
+ "name": "巴西里拉",
+ "symbol": "R$"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼",
+ "symbol": "PYG"
+ },
+ "BHD": {
+ "name": "巴林第ç´çˆ¾",
+ "symbol": "BHD"
+ },
+ "BSD": {
+ "name": "巴哈馬元",
+ "symbol": "BSD"
+ },
+ "PAB": {
+ "name": "巴拿馬巴波亞",
+ "symbol": "PAB"
+ },
+ "PKR": {
+ "name": "巴基斯å¦ç›§æ¯”",
+ "symbol": "PKR"
+ },
+ "JPY": {
+ "name": "日圓",
+ "symbol": "Â¥"
+ },
+ "MUR": {
+ "name": "毛里求斯盧布",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "毛里塔尼亞çƒå‰äºž",
+ "symbol": "MRO"
+ },
+ "JMD": {
+ "name": "牙買加元",
+ "symbol": "JMD"
+ },
+ "ILS": {
+ "name": "以色列新è¬å…‹çˆ¾",
+ "symbol": "₪"
+ },
+ "CAD": {
+ "name": "加元",
+ "symbol": "CA$"
+ },
+ "GHS": {
+ "name": "加ç´å¡žåœ°",
+ "symbol": "GHS"
+ },
+ "KPW": {
+ "name": "北韓圓",
+ "symbol": "KPW"
+ },
+ "KZT": {
+ "name": "å¡æ‰Žå…‹æ–¯å¦å¦å‰",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "å¡å¡”爾里亞爾",
+ "symbol": "QAR"
+ },
+ "CUC": {
+ "name": "å¤å·´å¯è½‰æ›æŠ«ç´¢",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "å¤å·´æŠ«ç´¢",
+ "symbol": "CUP"
+ },
+ "SZL": {
+ "name": "å²ç“¦æ¿Ÿè˜­é‡Œæœ—å‰å°¼",
+ "symbol": "SZL"
+ },
+ "NGN": {
+ "name": "尼日利亞奈拉",
+ "symbol": "NGN"
+ },
+ "NIO": {
+ "name": "尼加拉瓜金科多巴",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "尼泊爾盧比",
+ "symbol": "NPR"
+ },
+ "BIF": {
+ "name": "布隆迪法郎",
+ "symbol": "BIF"
+ },
+ "VUV": {
+ "name": "瓦努阿圖瓦圖",
+ "symbol": "VUV"
+ },
+ "BYR": {
+ "name": "白俄羅斯盧布",
+ "symbol": "BYR"
+ },
+ "LTL": {
+ "name": "立陶宛立特",
+ "symbol": "LTL"
+ },
+ "IQD": {
+ "name": "伊拉克第ç´çˆ¾",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "伊朗里亞爾",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "冰島克朗",
+ "symbol": "ISK"
+ },
+ "HUF": {
+ "name": "匈牙利ç¦æž—",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "å°å°¼ç›¾",
+ "symbol": "IDR"
+ },
+ "INR": {
+ "name": "å°åº¦ç›§æ¯”",
+ "symbol": "₹"
+ },
+ "GTQ": {
+ "name": "å±åœ°é¦¬æ‹‰æ ¼æŸ¥çˆ¾",
+ "symbol": "GTQ"
+ },
+ "DJF": {
+ "name": "å‰å¸ƒåœ°æ³•éƒŽ",
+ "symbol": "DJF"
+ },
+ "KGS": {
+ "name": "å‰çˆ¾å‰æ–¯ç´¢å§†",
+ "symbol": "KGS"
+ },
+ "GYD": {
+ "name": "圭亞那元",
+ "symbol": "GYD"
+ },
+ "DOP": {
+ "name": "多明尼加披索",
+ "symbol": "DOP"
+ },
+ "XOF": {
+ "name": "多哥éžæ´²å…±åŒé«”法郎",
+ "symbol": "CFA"
+ },
+ "AOA": {
+ "name": "安哥拉寬扎",
+ "symbol": "AOA"
+ },
+ "BMD": {
+ "name": "百慕é”å¹£",
+ "symbol": "BMD"
+ },
+ "WST": {
+ "name": "西薩摩亞塔拉",
+ "symbol": "WST"
+ },
+ "BZD": {
+ "name": "伯利茲元",
+ "symbol": "BZD"
+ },
+ "CVE": {
+ "name": "佛得角埃斯庫多",
+ "symbol": "CVE"
+ },
+ "HRK": {
+ "name": "克羅地亞庫ç´",
+ "symbol": "HRK"
+ },
+ "LRD": {
+ "name": "利比利亞元",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "利比亞第ç´çˆ¾",
+ "symbol": "LYD"
+ },
+ "BND": {
+ "name": "汶èŠå…ƒ",
+ "symbol": "BND"
+ },
+ "SAR": {
+ "name": "沙特阿拉伯里亞爾",
+ "symbol": "SAR"
+ },
+ "ZWL": {
+ "name": "辛巴å¨å…ƒ (2009)",
+ "symbol": "ZWL"
+ },
+ "AMD": {
+ "name": "亞美尼亞德拉姆",
+ "symbol": "AMD"
+ },
+ "AZN": {
+ "name": "亞塞拜疆馬ç´ç‰¹",
+ "symbol": "AZN"
+ },
+ "TZS": {
+ "name": "å¦å°šå°¼äºžå…ˆä»¤",
+ "symbol": "TZS"
+ },
+ "VEF": {
+ "name": "委內瑞拉玻利瓦",
+ "symbol": "VEF"
+ },
+ "BDT": {
+ "name": "孟加拉塔å¡",
+ "symbol": "BDT"
+ },
+ "ZMW": {
+ "name": "尚比亞克瓦查",
+ "symbol": "ZMW"
+ },
+ "GMD": {
+ "name": "岡比亞é”拉西",
+ "symbol": "GMD"
+ },
+ "SBD": {
+ "name": "所羅門群島元",
+ "symbol": "SBD"
+ },
+ "XCD": {
+ "name": "æ±åŠ å‹’比元",
+ "symbol": "EC$"
+ },
+ "TOP": {
+ "name": "æ±åŠ æ½˜åŠ ",
+ "symbol": "TOP"
+ },
+ "BAM": {
+ "name": "波士尼亞與赫塞哥維ç´å¯è½‰æ›é¦¬å…‹",
+ "symbol": "BAM"
+ },
+ "PLN": {
+ "name": "波蘭茲羅æ",
+ "symbol": "PLN"
+ },
+ "GIP": {
+ "name": "直布羅陀鎊",
+ "symbol": "GIP"
+ },
+ "KES": {
+ "name": "肯尼亞先令",
+ "symbol": "KES"
+ },
+ "AED": {
+ "name": "阿拉伯è¯åˆé…‹é•·åœ‹è¿ªçˆ¾æ±—",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "阿根廷披索",
+ "symbol": "ARS"
+ },
+ "OMR": {
+ "name": "阿曼里奧",
+ "symbol": "OMR"
+ },
+ "AFN": {
+ "name": "阿富汗尼",
+ "symbol": "AFN"
+ },
+ "DZD": {
+ "name": "阿爾åŠåˆ©äºžç¬¬ç´çˆ¾",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "阿爾巴尼亞列克",
+ "symbol": "ALL"
+ },
+ "AWG": {
+ "name": "阿魯巴盾",
+ "symbol": "AWG"
+ },
+ "RUB": {
+ "name": "俄羅斯盧布",
+ "symbol": "RUB"
+ },
+ "BGN": {
+ "name": "ä¿åŠ åˆ©äºžæ–°åˆ—å¼—",
+ "symbol": "BGN"
+ },
+ "ZAR": {
+ "name": "å—éžè˜­ç‰¹",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "å—蘇丹鎊",
+ "symbol": "SSP"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞爾",
+ "symbol": "KHR"
+ },
+ "HNL": {
+ "name": "洪都拉斯倫皮拉",
+ "symbol": "HNL"
+ },
+ "BOB": {
+ "name": "玻利維亞諾",
+ "symbol": "BOB"
+ },
+ "KWD": {
+ "name": "科å¨ç‰¹ç¬¬ç´çˆ¾",
+ "symbol": "KWD"
+ },
+ "KMF": {
+ "name": "科摩羅法郎",
+ "symbol": "KMF"
+ },
+ "TND": {
+ "name": "çªå°¼è¥¿äºžç¬¬ç´çˆ¾",
+ "symbol": "TND"
+ },
+ "JOD": {
+ "name": "約旦第ç´çˆ¾",
+ "symbol": "JOD"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "GBP": {
+ "name": "英鎊",
+ "symbol": "£"
+ },
+ "CDF": {
+ "name": "剛果法郎",
+ "symbol": "CDF"
+ },
+ "COP": {
+ "name": "哥倫比亞披索",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "哥斯é”黎加科郎",
+ "symbol": "CRC"
+ },
+ "EGP": {
+ "name": "埃åŠéŽŠ",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "埃塞俄比亞比爾",
+ "symbol": "ETB"
+ },
+ "NOK": {
+ "name": "挪å¨å…‹æœ—",
+ "symbol": "NOK"
+ },
+ "GEL": {
+ "name": "格魯å‰äºžæ‹‰é‡Œ",
+ "symbol": "GEL"
+ },
+ "THB": {
+ "name": "泰銖",
+ "symbol": "฿"
+ },
+ "HTG": {
+ "name": "海地å¤å¾·",
+ "symbol": "HTG"
+ },
+ "UGX": {
+ "name": "çƒå¹²é”先令",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "çƒå…‹è˜­æ ¼é‡Œå¤«ç´",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "çƒæ‹‰åœ­æŠ«ç´¢",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "çƒèŒ²åˆ¥å…‹ç´¢å§†",
+ "symbol": "UZS"
+ },
+ "PEN": {
+ "name": "秘魯新太陽幣",
+ "symbol": "PEN"
+ },
+ "NAD": {
+ "name": "ç´ç±³æ¯”亞元",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "ç´è¥¿è˜­å…ƒ",
+ "symbol": "NZ$"
+ },
+ "SOS": {
+ "name": "索馬利亞先令",
+ "symbol": "SOS"
+ },
+ "MYR": {
+ "name": "馬來西亞令å‰",
+ "symbol": "MYR"
+ },
+ "MKD": {
+ "name": "馬其頓第ç´çˆ¾",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "馬拉維克瓦查",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "馬é”加斯加艾瑞爾",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "馬爾代夫盧éžäºž",
+ "symbol": "MVR"
+ },
+ "CZK": {
+ "name": "æ·å…‹å…‹æœ—",
+ "symbol": "CZK"
+ },
+ "SYP": {
+ "name": "敘利亞鎊",
+ "symbol": "SYP"
+ },
+ "ANG": {
+ "name": "è·å±¬å®‰åœ°åˆ—斯盾",
+ "symbol": "ANG"
+ },
+ "MZN": {
+ "name": "莫桑比克美æå¡",
+ "symbol": "MZN"
+ },
+ "BWP": {
+ "name": "åšèŒ¨ç“¦ç´æ™®æ‹‰",
+ "symbol": "BWP"
+ },
+ "GNF": {
+ "name": "幾內亞法郎",
+ "symbol": "GNF"
+ },
+ "FJD": {
+ "name": "æ–æ¿Ÿå…ƒ",
+ "symbol": "FJD"
+ },
+ "LKR": {
+ "name": "斯里蘭å¡ç›§æ¯”",
+ "symbol": "LKR"
+ },
+ "CLP": {
+ "name": "智利披索",
+ "symbol": "CLP"
+ },
+ "HKD": {
+ "name": "港元",
+ "symbol": "HK$"
+ },
+ "PHP": {
+ "name": "è²å¾‹è³“披索",
+ "symbol": "PHP"
+ },
+ "VND": {
+ "name": "越å—盾",
+ "symbol": "â‚«"
+ },
+ "KYD": {
+ "name": "開曼群島元",
+ "symbol": "KYD"
+ },
+ "TJS": {
+ "name": "å¡”å‰å…‹ç´¢èŽ«å°¼",
+ "symbol": "TJS"
+ },
+ "SLL": {
+ "name": "塞拉利昂利昂",
+ "symbol": "SLL"
+ },
+ "SCR": {
+ "name": "塞席爾盧比",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "塞爾維亞第ç´çˆ¾",
+ "symbol": "RSD"
+ },
+ "TRY": {
+ "name": "新土耳其里拉",
+ "symbol": "TRY"
+ },
+ "SGD": {
+ "name": "新加å¡å…ƒ",
+ "symbol": "SGD"
+ },
+ "TWD": {
+ "name": "æ–°å°å¹£",
+ "symbol": "NT$"
+ },
+ "CHF": {
+ "name": "瑞士法郎",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "瑞典克朗",
+ "symbol": "SEK"
+ },
+ "STD": {
+ "name": "è–多美和普林西比多布拉",
+ "symbol": "STD"
+ },
+ "SHP": {
+ "name": "è–赫勒拿鎊",
+ "symbol": "SHP"
+ },
+ "FKP": {
+ "name": "ç¦å…‹è˜­ç¾¤å³¶éŽŠ",
+ "symbol": "FKP"
+ },
+ "MNT": {
+ "name": "è’™å¤åœ–格里克",
+ "symbol": "MNT"
+ },
+ "LAK": {
+ "name": "寮國基普",
+ "symbol": "LAK"
+ },
+ "MDL": {
+ "name": "æ‘©æœé›²åˆ—伊",
+ "symbol": "MDL"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆",
+ "symbol": "MAD"
+ },
+ "EUR": {
+ "name": "æ­å…ƒ",
+ "symbol": "€"
+ },
+ "MMK": {
+ "name": "緬甸元",
+ "symbol": "MMK"
+ },
+ "LBP": {
+ "name": "黎巴嫩鎊",
+ "symbol": "LBP"
+ },
+ "MXN": {
+ "name": "墨西哥披索",
+ "symbol": "MX$"
+ },
+ "AUD": {
+ "name": "澳元",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳門元",
+ "symbol": "MOP$"
+ },
+ "RWF": {
+ "name": "盧旺é”法郎",
+ "symbol": "RWF"
+ },
+ "LSL": {
+ "name": "賴索托洛蒂",
+ "symbol": "LSL"
+ },
+ "KRW": {
+ "name": "韓圓",
+ "symbol": "â‚©"
+ },
+ "SVC": {
+ "name": "薩爾瓦多科郎",
+ "symbol": "SVC"
+ },
+ "RON": {
+ "name": "羅馬尼亞列伊",
+ "symbol": "RON"
+ },
+ "SDG": {
+ "name": "蘇丹鎊",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "蘇利å—å…ƒ",
+ "symbol": "SRD"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/zh-Hant.json b/library/intl/resources/currency/zh-Hant.json
new file mode 100644
index 000000000..7d5eb5cbc
--- /dev/null
+++ b/library/intl/resources/currency/zh-Hant.json
@@ -0,0 +1,634 @@
+{
+ "CNY": {
+ "name": "人民幣",
+ "symbol": "CNÂ¥"
+ },
+ "TTD": {
+ "name": "åƒé‡Œé”åŠæ‰˜å·´å“¥å…ƒ",
+ "symbol": "TTD"
+ },
+ "TMT": {
+ "name": "土庫曼馬ç´ç‰¹",
+ "symbol": "TMT"
+ },
+ "BTN": {
+ "name": "ä¸ä¸¹é‚£ç‰¹å€«",
+ "symbol": "BTN"
+ },
+ "DKK": {
+ "name": "丹麥克朗",
+ "symbol": "DKK"
+ },
+ "ERN": {
+ "name": "厄立特里亞ç´å…‹æ³•",
+ "symbol": "ERN"
+ },
+ "PGK": {
+ "name": "巴布亞ç´å¹¾å…§äºžåŸºé‚£",
+ "symbol": "PGK"
+ },
+ "BRL": {
+ "name": "巴西里拉",
+ "symbol": "R$"
+ },
+ "BBD": {
+ "name": "å·´è²å¤šå…ƒ",
+ "symbol": "BBD"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼",
+ "symbol": "PYG"
+ },
+ "BHD": {
+ "name": "巴林第ç´çˆ¾",
+ "symbol": "BHD"
+ },
+ "BSD": {
+ "name": "巴哈馬元",
+ "symbol": "BSD"
+ },
+ "PAB": {
+ "name": "巴拿馬巴波亞",
+ "symbol": "PAB"
+ },
+ "PKR": {
+ "name": "巴基斯å¦ç›§æ¯”",
+ "symbol": "PKR"
+ },
+ "JPY": {
+ "name": "日圓",
+ "symbol": "Â¥"
+ },
+ "JMD": {
+ "name": "牙買加元",
+ "symbol": "JMD"
+ },
+ "ILS": {
+ "name": "以色列新è¬å…‹çˆ¾",
+ "symbol": "₪"
+ },
+ "CAD": {
+ "name": "加幣",
+ "symbol": "CA$"
+ },
+ "KPW": {
+ "name": "北韓圓",
+ "symbol": "KPW"
+ },
+ "KZT": {
+ "name": "å¡æ‰Žå…‹æ–¯å¦å¦å‰",
+ "symbol": "KZT"
+ },
+ "QAR": {
+ "name": "å¡é”爾里亞爾",
+ "symbol": "QAR"
+ },
+ "CUC": {
+ "name": "å¤å·´å¯è½‰æ›æŠ«ç´¢",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "å¤å·´æŠ«ç´¢",
+ "symbol": "CUP"
+ },
+ "SZL": {
+ "name": "å²ç“¦æ¿Ÿè˜­é‡Œæœ—å‰å°¼",
+ "symbol": "SZL"
+ },
+ "NIO": {
+ "name": "尼加拉瓜金科多巴",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "尼泊爾盧比",
+ "symbol": "NPR"
+ },
+ "GTQ": {
+ "name": "瓜地馬拉格查爾",
+ "symbol": "GTQ"
+ },
+ "GMD": {
+ "name": "甘比亞é”拉西",
+ "symbol": "GMD"
+ },
+ "BYR": {
+ "name": "白俄羅斯盧布",
+ "symbol": "BYR"
+ },
+ "LTL": {
+ "name": "立陶宛立特",
+ "symbol": "LTL"
+ },
+ "IQD": {
+ "name": "伊拉克第ç´çˆ¾",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "伊朗里亞爾",
+ "symbol": "IRR"
+ },
+ "ISK": {
+ "name": "冰島克朗",
+ "symbol": "ISK"
+ },
+ "HUF": {
+ "name": "匈牙利ç¦æž—",
+ "symbol": "HUF"
+ },
+ "IDR": {
+ "name": "å°å°¼ç›¾",
+ "symbol": "IDR"
+ },
+ "INR": {
+ "name": "å°åº¦ç›§æ¯”",
+ "symbol": "₹"
+ },
+ "DJF": {
+ "name": "å‰å¸ƒåœ°æ³•éƒŽ",
+ "symbol": "DJF"
+ },
+ "KGS": {
+ "name": "å‰çˆ¾å‰æ–¯ç´¢å§†",
+ "symbol": "KGS"
+ },
+ "GYD": {
+ "name": "圭亞那元",
+ "symbol": "GYD"
+ },
+ "DOP": {
+ "name": "多明尼加披索",
+ "symbol": "DOP"
+ },
+ "AOA": {
+ "name": "安哥拉寬扎",
+ "symbol": "AOA"
+ },
+ "BMD": {
+ "name": "百慕é”å¹£",
+ "symbol": "BMD"
+ },
+ "ETB": {
+ "name": "衣索比亞比爾",
+ "symbol": "ETB"
+ },
+ "WST": {
+ "name": "西薩摩亞塔拉",
+ "symbol": "WST"
+ },
+ "HRK": {
+ "name": "克羅埃西亞庫ç´",
+ "symbol": "HRK"
+ },
+ "LYD": {
+ "name": "利比亞第ç´çˆ¾",
+ "symbol": "LYD"
+ },
+ "BND": {
+ "name": "汶èŠå…ƒ",
+ "symbol": "BND"
+ },
+ "SAR": {
+ "name": "æ²™çƒåœ°é‡Œé›…",
+ "symbol": "SAR"
+ },
+ "BZD": {
+ "name": "è²é‡Œæ–¯å…ƒ",
+ "symbol": "BZD"
+ },
+ "ZWL": {
+ "name": "辛巴å¨å…ƒ (2009)",
+ "symbol": "ZWL"
+ },
+ "AMD": {
+ "name": "亞美尼亞德拉姆",
+ "symbol": "AMD"
+ },
+ "AZN": {
+ "name": "亞塞拜然馬ç´ç‰¹",
+ "symbol": "AZN"
+ },
+ "TZS": {
+ "name": "å¦å°šå°¼äºžå…ˆä»¤",
+ "symbol": "TZS"
+ },
+ "NGN": {
+ "name": "奈åŠåˆ©äºžå¥ˆæ‹‰",
+ "symbol": "NGN"
+ },
+ "VEF": {
+ "name": "委內瑞拉玻利瓦",
+ "symbol": "VEF"
+ },
+ "BDT": {
+ "name": "孟加拉塔å¡",
+ "symbol": "BDT"
+ },
+ "ZMW": {
+ "name": "尚比亞克瓦查",
+ "symbol": "ZMW"
+ },
+ "TOP": {
+ "name": "æ±åŠ æ½˜åŠ ",
+ "symbol": "TOP"
+ },
+ "XOF": {
+ "name": "法郎 (CFA–BCEAO)",
+ "symbol": "CFA"
+ },
+ "XAF": {
+ "name": "法郎 (CFA–BEAC)",
+ "symbol": "FCFA"
+ },
+ "XPF": {
+ "name": "法郎 (CFP)",
+ "symbol": "CFPF"
+ },
+ "BAM": {
+ "name": "波士尼亞-赫塞哥維ç´å¯è½‰æ›é¦¬å…‹",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "波札那普拉",
+ "symbol": "BWP"
+ },
+ "PLN": {
+ "name": "波蘭茲羅æ",
+ "symbol": "PLN"
+ },
+ "GIP": {
+ "name": "直布羅陀鎊",
+ "symbol": "GIP"
+ },
+ "KES": {
+ "name": "肯尼亞先令",
+ "symbol": "KES"
+ },
+ "AED": {
+ "name": "阿拉伯è¯åˆå¤§å…¬åœ‹è¿ªçˆ¾æ±—",
+ "symbol": "AED"
+ },
+ "ARS": {
+ "name": "阿根廷披索",
+ "symbol": "ARS"
+ },
+ "OMR": {
+ "name": "阿曼里奧",
+ "symbol": "OMR"
+ },
+ "AFN": {
+ "name": "阿富汗尼",
+ "symbol": "AFN"
+ },
+ "AWG": {
+ "name": "阿路巴盾",
+ "symbol": "AWG"
+ },
+ "DZD": {
+ "name": "阿爾åŠåˆ©äºžç¬¬ç´çˆ¾",
+ "symbol": "DZD"
+ },
+ "ALL": {
+ "name": "阿爾巴尼亞列克",
+ "symbol": "ALL"
+ },
+ "RUB": {
+ "name": "俄羅斯盧布",
+ "symbol": "RUB"
+ },
+ "BGN": {
+ "name": "ä¿åŠ åˆ©äºžæ–°åˆ—å¼—",
+ "symbol": "BGN"
+ },
+ "ZAR": {
+ "name": "å—éžè˜­ç‰¹",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "å—蘇丹鎊",
+ "symbol": "SSP"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞爾",
+ "symbol": "KHR"
+ },
+ "HNL": {
+ "name": "洪都拉斯倫皮拉",
+ "symbol": "HNL"
+ },
+ "BOB": {
+ "name": "玻利維亞諾",
+ "symbol": "BOB"
+ },
+ "KWD": {
+ "name": "科å¨ç‰¹ç¬¬ç´çˆ¾",
+ "symbol": "KWD"
+ },
+ "KMF": {
+ "name": "科摩羅法郎",
+ "symbol": "KMF"
+ },
+ "TND": {
+ "name": "çªå°¼è¥¿äºžç¬¬ç´çˆ¾",
+ "symbol": "TND"
+ },
+ "JOD": {
+ "name": "約旦第ç´çˆ¾",
+ "symbol": "JOD"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "$"
+ },
+ "GBP": {
+ "name": "英鎊",
+ "symbol": "£"
+ },
+ "MRO": {
+ "name": "茅利塔尼亞çƒå‰äºž",
+ "symbol": "MRO"
+ },
+ "GHS": {
+ "name": "迦ç´å¡žåœ°",
+ "symbol": "GHS"
+ },
+ "CDF": {
+ "name": "剛果法郎",
+ "symbol": "CDF"
+ },
+ "COP": {
+ "name": "哥倫比亞披索",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "哥斯大黎加科朗",
+ "symbol": "CRC"
+ },
+ "EGP": {
+ "name": "埃åŠéŽŠ",
+ "symbol": "EGP"
+ },
+ "NOK": {
+ "name": "挪å¨å…‹æœ—",
+ "symbol": "NOK"
+ },
+ "XCD": {
+ "name": "格瑞那é”å…ƒ",
+ "symbol": "EC$"
+ },
+ "THB": {
+ "name": "泰銖",
+ "symbol": "฿"
+ },
+ "HTG": {
+ "name": "海地å¤å¾·",
+ "symbol": "HTG"
+ },
+ "UGX": {
+ "name": "çƒå¹²é”先令",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "çƒå…‹è˜­æ ¼é‡Œå¤«ç´",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "çƒæ‹‰åœ­æŠ«ç´¢",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "çƒèŒ²åˆ¥å…‹ç´¢å§†",
+ "symbol": "UZS"
+ },
+ "PEN": {
+ "name": "秘魯新太陽幣",
+ "symbol": "PEN"
+ },
+ "NAD": {
+ "name": "ç´ç±³æ¯”亞元",
+ "symbol": "NAD"
+ },
+ "NZD": {
+ "name": "ç´è¥¿è˜­å¹£",
+ "symbol": "NZ$"
+ },
+ "SOS": {
+ "name": "索馬利亞先令",
+ "symbol": "SOS"
+ },
+ "SBD": {
+ "name": "索羅門群島元",
+ "symbol": "SBD"
+ },
+ "MYR": {
+ "name": "馬來西亞令å‰",
+ "symbol": "MYR"
+ },
+ "MKD": {
+ "name": "馬其頓第ç´çˆ¾",
+ "symbol": "MKD"
+ },
+ "MWK": {
+ "name": "馬拉維克瓦查",
+ "symbol": "MWK"
+ },
+ "MGA": {
+ "name": "馬é”加斯加阿里亞里",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "馬爾地夫盧éžäºž",
+ "symbol": "MVR"
+ },
+ "CZK": {
+ "name": "æ·å…‹å…‹æœ—",
+ "symbol": "CZK"
+ },
+ "SYP": {
+ "name": "敘利亞鎊",
+ "symbol": "SYP"
+ },
+ "ANG": {
+ "name": "è·å±¬å®‰åœ°åˆ—斯盾",
+ "symbol": "ANG"
+ },
+ "MZN": {
+ "name": "莫三比克梅蒂å¡çˆ¾",
+ "symbol": "MZN"
+ },
+ "GEL": {
+ "name": "喬治亞拉里",
+ "symbol": "GEL"
+ },
+ "GNF": {
+ "name": "幾內亞法郎",
+ "symbol": "GNF"
+ },
+ "FJD": {
+ "name": "æ–æ¿Ÿå…ƒ",
+ "symbol": "FJD"
+ },
+ "LKR": {
+ "name": "斯里蘭å¡ç›§æ¯”",
+ "symbol": "LKR"
+ },
+ "CLP": {
+ "name": "智利披索",
+ "symbol": "CLP"
+ },
+ "HKD": {
+ "name": "港幣",
+ "symbol": "HK$"
+ },
+ "PHP": {
+ "name": "è²å¾‹è³“披索",
+ "symbol": "PHP"
+ },
+ "VND": {
+ "name": "越å—盾",
+ "symbol": "â‚«"
+ },
+ "KYD": {
+ "name": "開曼群島元",
+ "symbol": "KYD"
+ },
+ "TJS": {
+ "name": "å¡”å‰å…‹ç´¢èŽ«å°¼",
+ "symbol": "TJS"
+ },
+ "SCR": {
+ "name": "塞席爾盧比",
+ "symbol": "SCR"
+ },
+ "RSD": {
+ "name": "塞爾維亞戴ç´",
+ "symbol": "RSD"
+ },
+ "TRY": {
+ "name": "新土耳其里拉",
+ "symbol": "TRY"
+ },
+ "SGD": {
+ "name": "新加å¡å¹£",
+ "symbol": "SGD"
+ },
+ "TWD": {
+ "name": "新臺幣",
+ "symbol": "NT$"
+ },
+ "SLL": {
+ "name": "ç…å­å±±åˆ©æ˜‚",
+ "symbol": "SLL"
+ },
+ "CHF": {
+ "name": "瑞士法郎",
+ "symbol": "CHF"
+ },
+ "SEK": {
+ "name": "瑞典克朗",
+ "symbol": "SEK"
+ },
+ "VUV": {
+ "name": "è¬é‚£æœç“¦åœ–",
+ "symbol": "VUV"
+ },
+ "STD": {
+ "name": "è–多美島和普林西比島多布拉",
+ "symbol": "STD"
+ },
+ "SHP": {
+ "name": "è–赫勒拿鎊",
+ "symbol": "SHP"
+ },
+ "YER": {
+ "name": "葉門里雅",
+ "symbol": "YER"
+ },
+ "FKP": {
+ "name": "ç¦å…‹è˜­ç¾¤å³¶éŽŠ",
+ "symbol": "FKP"
+ },
+ "CVE": {
+ "name": "維德角埃斯庫多",
+ "symbol": "CVE"
+ },
+ "MNT": {
+ "name": "è’™å¤åœ–格里克",
+ "symbol": "MNT"
+ },
+ "BIF": {
+ "name": "蒲隆地法郎",
+ "symbol": "BIF"
+ },
+ "LAK": {
+ "name": "寮國基普",
+ "symbol": "LAK"
+ },
+ "MDL": {
+ "name": "æ‘©æœé›²åˆ—伊",
+ "symbol": "MDL"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆",
+ "symbol": "MAD"
+ },
+ "MUR": {
+ "name": "模里西斯盧布",
+ "symbol": "MUR"
+ },
+ "EUR": {
+ "name": "æ­å…ƒ",
+ "symbol": "€"
+ },
+ "MMK": {
+ "name": "緬甸元",
+ "symbol": "MMK"
+ },
+ "LBP": {
+ "name": "黎巴嫩鎊",
+ "symbol": "LBP"
+ },
+ "MXN": {
+ "name": "墨西哥披索",
+ "symbol": "MX$"
+ },
+ "MOP": {
+ "name": "澳門元",
+ "symbol": "MOP"
+ },
+ "AUD": {
+ "name": "澳幣",
+ "symbol": "AU$"
+ },
+ "RWF": {
+ "name": "盧安é”法郎",
+ "symbol": "RWF"
+ },
+ "LRD": {
+ "name": "賴比瑞亞元",
+ "symbol": "LRD"
+ },
+ "LSL": {
+ "name": "賴索托洛蒂",
+ "symbol": "LSL"
+ },
+ "KRW": {
+ "name": "韓圓",
+ "symbol": "₩"
+ },
+ "SVC": {
+ "name": "薩爾瓦多科郎",
+ "symbol": "SVC"
+ },
+ "RON": {
+ "name": "羅馬尼亞列伊",
+ "symbol": "RON"
+ },
+ "SDG": {
+ "name": "蘇丹鎊",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "蘇利å—å…ƒ",
+ "symbol": "SRD"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/zh.json b/library/intl/resources/currency/zh.json
new file mode 100644
index 000000000..ad5b0336f
--- /dev/null
+++ b/library/intl/resources/currency/zh.json
@@ -0,0 +1,634 @@
+{
+ "ALL": {
+ "name": "阿尔巴尼亚列克",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "阿尔åŠåˆ©äºšç¬¬çº³å°”",
+ "symbol": "DZD"
+ },
+ "AFN": {
+ "name": "阿富汗尼",
+ "symbol": "AFN"
+ },
+ "ARS": {
+ "name": "阿根廷比索",
+ "symbol": "ARS"
+ },
+ "AED": {
+ "name": "阿è”酋迪拉姆",
+ "symbol": "AED"
+ },
+ "AWG": {
+ "name": "阿é²å·´åŸºå°”å¾·å…ƒ",
+ "symbol": "AWG"
+ },
+ "OMR": {
+ "name": "阿曼里亚尔",
+ "symbol": "OMR"
+ },
+ "AZN": {
+ "name": "阿塞拜疆马纳特",
+ "symbol": "AZN"
+ },
+ "EGP": {
+ "name": "埃åŠé•‘",
+ "symbol": "EGP"
+ },
+ "ETB": {
+ "name": "埃塞俄比亚比尔",
+ "symbol": "ETB"
+ },
+ "AOA": {
+ "name": "安哥拉宽扎",
+ "symbol": "AOA"
+ },
+ "AUD": {
+ "name": "澳大利亚元",
+ "symbol": "AU$"
+ },
+ "MOP": {
+ "name": "澳门元",
+ "symbol": "MOP"
+ },
+ "BBD": {
+ "name": "巴巴多斯元",
+ "symbol": "BBD"
+ },
+ "PGK": {
+ "name": "巴布亚新几内亚基那",
+ "symbol": "PGK"
+ },
+ "BSD": {
+ "name": "巴哈马元",
+ "symbol": "BSD"
+ },
+ "PKR": {
+ "name": "巴基斯å¦å¢æ¯”",
+ "symbol": "PKR"
+ },
+ "PYG": {
+ "name": "巴拉圭瓜拉尼",
+ "symbol": "PYG"
+ },
+ "BHD": {
+ "name": "巴林第纳尔",
+ "symbol": "BHD"
+ },
+ "PAB": {
+ "name": "巴拿马巴波亚",
+ "symbol": "PAB"
+ },
+ "BRL": {
+ "name": "巴西雷亚尔",
+ "symbol": "R$"
+ },
+ "BYR": {
+ "name": "白俄罗斯å¢å¸ƒ",
+ "symbol": "BYR"
+ },
+ "BMD": {
+ "name": "百慕大元",
+ "symbol": "BMD"
+ },
+ "BGN": {
+ "name": "ä¿åŠ åˆ©äºšæ–°åˆ—å¼—",
+ "symbol": "BGN"
+ },
+ "ISK": {
+ "name": "冰岛克朗",
+ "symbol": "ISK"
+ },
+ "PLN": {
+ "name": "波兰兹罗æ",
+ "symbol": "PLN"
+ },
+ "BAM": {
+ "name": "波斯尼亚-黑塞哥维那å¯å…‘æ¢é©¬å…‹",
+ "symbol": "BAM"
+ },
+ "BOB": {
+ "name": "玻利维亚诺",
+ "symbol": "BOB"
+ },
+ "BZD": {
+ "name": "伯利兹元",
+ "symbol": "BZD"
+ },
+ "BWP": {
+ "name": "åšèŒ¨ç“¦çº³æ™®æ‹‰",
+ "symbol": "BWP"
+ },
+ "BTN": {
+ "name": "ä¸ä¸¹åŠªå°”特é²å§†",
+ "symbol": "BTN"
+ },
+ "BIF": {
+ "name": "布隆迪法郎",
+ "symbol": "BIF"
+ },
+ "KPW": {
+ "name": "æœé²œå…ƒ",
+ "symbol": "KPW"
+ },
+ "DKK": {
+ "name": "丹麦克朗",
+ "symbol": "DKK"
+ },
+ "XCD": {
+ "name": "东加勒比元",
+ "symbol": "EC$"
+ },
+ "DOP": {
+ "name": "多米尼加比索",
+ "symbol": "DOP"
+ },
+ "RUB": {
+ "name": "ä¿„ç½—æ–¯å¢å¸ƒ",
+ "symbol": "RUB"
+ },
+ "ERN": {
+ "name": "厄立特里亚纳克法",
+ "symbol": "ERN"
+ },
+ "XOF": {
+ "name": "éžæ´²é‡‘èžå…±åŒä½“法郎",
+ "symbol": "CFA"
+ },
+ "PHP": {
+ "name": "è²å¾‹å®¾æ¯”ç´¢",
+ "symbol": "PHP"
+ },
+ "FJD": {
+ "name": "æ–济元",
+ "symbol": "FJD"
+ },
+ "CVE": {
+ "name": "佛得角埃斯库多",
+ "symbol": "CVE"
+ },
+ "FKP": {
+ "name": "ç¦å…‹å…°ç¾¤å²›é•‘",
+ "symbol": "FKP"
+ },
+ "GMD": {
+ "name": "冈比亚达拉西",
+ "symbol": "GMD"
+ },
+ "CDF": {
+ "name": "刚果法郎",
+ "symbol": "CDF"
+ },
+ "HKD": {
+ "name": "港元",
+ "symbol": "HK$"
+ },
+ "COP": {
+ "name": "哥伦比亚比索",
+ "symbol": "COP"
+ },
+ "CRC": {
+ "name": "哥斯达黎加科朗",
+ "symbol": "CRC"
+ },
+ "GEL": {
+ "name": "æ ¼é²å‰äºšæ‹‰é‡Œ",
+ "symbol": "GEL"
+ },
+ "CUP": {
+ "name": "å¤å·´æ¯”ç´¢",
+ "symbol": "CUP"
+ },
+ "CUC": {
+ "name": "å¤å·´å¯å…‘æ¢æ¯”ç´¢",
+ "symbol": "CUC"
+ },
+ "GYD": {
+ "name": "圭亚那元",
+ "symbol": "GYD"
+ },
+ "KZT": {
+ "name": "哈è¨å…‹æ–¯å¦åšæˆˆ",
+ "symbol": "KZT"
+ },
+ "HTG": {
+ "name": "海地å¤å¾·",
+ "symbol": "HTG"
+ },
+ "KRW": {
+ "name": "韩元",
+ "symbol": "₩"
+ },
+ "ANG": {
+ "name": "è·å±žå®‰çš„列斯盾",
+ "symbol": "ANG"
+ },
+ "HNL": {
+ "name": "洪都拉斯伦皮拉",
+ "symbol": "HNL"
+ },
+ "DJF": {
+ "name": "å‰å¸ƒæ法郎",
+ "symbol": "DJF"
+ },
+ "KGS": {
+ "name": "å‰å°”å‰æ–¯æ–¯å¦ç´¢å§†",
+ "symbol": "KGS"
+ },
+ "GNF": {
+ "name": "几内亚法郎",
+ "symbol": "GNF"
+ },
+ "CAD": {
+ "name": "加拿大元",
+ "symbol": "CA$"
+ },
+ "GHS": {
+ "name": "加纳塞地",
+ "symbol": "GHS"
+ },
+ "KHR": {
+ "name": "柬埔寨瑞尔",
+ "symbol": "KHR"
+ },
+ "CZK": {
+ "name": "æ·å…‹å…‹éƒŽ",
+ "symbol": "CZK"
+ },
+ "ZWL": {
+ "name": "津巴布韦元 (2009)",
+ "symbol": "ZWL"
+ },
+ "QAR": {
+ "name": "å¡å¡”尔里亚尔",
+ "symbol": "QAR"
+ },
+ "KYD": {
+ "name": "开曼元",
+ "symbol": "KYD"
+ },
+ "KMF": {
+ "name": "科摩罗法郎",
+ "symbol": "KMF"
+ },
+ "KWD": {
+ "name": "科å¨ç‰¹ç¬¬çº³å°”",
+ "symbol": "KWD"
+ },
+ "HRK": {
+ "name": "克罗地亚库纳",
+ "symbol": "HRK"
+ },
+ "KES": {
+ "name": "肯尼亚先令",
+ "symbol": "KES"
+ },
+ "LSL": {
+ "name": "莱索托洛蒂",
+ "symbol": "LSL"
+ },
+ "LAK": {
+ "name": "è€æŒåŸºæ™®",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "黎巴嫩镑",
+ "symbol": "LBP"
+ },
+ "LTL": {
+ "name": "立陶宛立特",
+ "symbol": "LTL"
+ },
+ "LRD": {
+ "name": "利比里亚元",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "利比亚第纳尔",
+ "symbol": "LYD"
+ },
+ "RWF": {
+ "name": "å¢æ—ºè¾¾æ³•éƒŽ",
+ "symbol": "RWF"
+ },
+ "RON": {
+ "name": "罗马尼亚列伊",
+ "symbol": "RON"
+ },
+ "MGA": {
+ "name": "马达加斯加阿里亚里",
+ "symbol": "MGA"
+ },
+ "MVR": {
+ "name": "马尔代夫å¢è²äºš",
+ "symbol": "MVR"
+ },
+ "MWK": {
+ "name": "马拉维克瓦查",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "马æ¥è¥¿äºšæž—å‰ç‰¹",
+ "symbol": "MYR"
+ },
+ "MKD": {
+ "name": "马其顿第纳尔",
+ "symbol": "MKD"
+ },
+ "MUR": {
+ "name": "毛里求斯å¢æ¯”",
+ "symbol": "MUR"
+ },
+ "MRO": {
+ "name": "毛里塔尼亚乌å‰äºš",
+ "symbol": "MRO"
+ },
+ "USD": {
+ "name": "美元",
+ "symbol": "US$"
+ },
+ "MNT": {
+ "name": "è’™å¤å›¾æ ¼é‡Œå…‹",
+ "symbol": "MNT"
+ },
+ "BDT": {
+ "name": "孟加拉塔å¡",
+ "symbol": "BDT"
+ },
+ "PEN": {
+ "name": "秘é²æ–°ç´¢å°”",
+ "symbol": "PEN"
+ },
+ "MMK": {
+ "name": "缅甸元",
+ "symbol": "MMK"
+ },
+ "MDL": {
+ "name": "摩尔多瓦列伊",
+ "symbol": "MDL"
+ },
+ "MAD": {
+ "name": "摩洛哥迪拉姆",
+ "symbol": "MAD"
+ },
+ "MZN": {
+ "name": "莫桑比克美æå¡",
+ "symbol": "MZN"
+ },
+ "MXN": {
+ "name": "墨西哥比索",
+ "symbol": "MX$"
+ },
+ "NAD": {
+ "name": "纳米比亚元",
+ "symbol": "NAD"
+ },
+ "ZAR": {
+ "name": "å—éžå…°ç‰¹",
+ "symbol": "ZAR"
+ },
+ "SSP": {
+ "name": "å—è‹ä¸¹é•‘",
+ "symbol": "SSP"
+ },
+ "NIO": {
+ "name": "尼加拉瓜金科多巴",
+ "symbol": "NIO"
+ },
+ "NPR": {
+ "name": "尼泊尔å¢æ¯”",
+ "symbol": "NPR"
+ },
+ "NGN": {
+ "name": "尼日利亚奈拉",
+ "symbol": "NGN"
+ },
+ "NOK": {
+ "name": "挪å¨å…‹æœ—",
+ "symbol": "NOK"
+ },
+ "EUR": {
+ "name": "欧元",
+ "symbol": "€"
+ },
+ "CNY": {
+ "name": "人民å¸",
+ "symbol": "ï¿¥"
+ },
+ "JPY": {
+ "name": "日元",
+ "symbol": "JPÂ¥"
+ },
+ "SEK": {
+ "name": "瑞典克朗",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "瑞士法郎",
+ "symbol": "CHF"
+ },
+ "SVC": {
+ "name": "è¨å°”瓦多科朗",
+ "symbol": "SVC"
+ },
+ "WST": {
+ "name": "è¨æ‘©äºšå¡”拉",
+ "symbol": "WST"
+ },
+ "RSD": {
+ "name": "塞尔维亚第纳尔",
+ "symbol": "RSD"
+ },
+ "SLL": {
+ "name": "塞拉利昂利昂",
+ "symbol": "SLL"
+ },
+ "SCR": {
+ "name": "塞舌尔å¢æ¯”",
+ "symbol": "SCR"
+ },
+ "SAR": {
+ "name": "沙特里亚尔",
+ "symbol": "SAR"
+ },
+ "STD": {
+ "name": "圣多美和普林西比多布拉",
+ "symbol": "STD"
+ },
+ "SHP": {
+ "name": "圣赫勒拿群岛磅",
+ "symbol": "SHP"
+ },
+ "LKR": {
+ "name": "斯里兰å¡å¢æ¯”",
+ "symbol": "LKR"
+ },
+ "SZL": {
+ "name": "æ–¯å¨å£«å…°é‡Œå…°å‰å°¼",
+ "symbol": "SZL"
+ },
+ "SDG": {
+ "name": "è‹ä¸¹é•‘",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "è‹é‡Œå—å…ƒ",
+ "symbol": "SRD"
+ },
+ "SBD": {
+ "name": "所罗门群岛元",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "索马里先令",
+ "symbol": "SOS"
+ },
+ "TJS": {
+ "name": "å¡”å‰å…‹æ–¯å¦ç´¢èŽ«å°¼",
+ "symbol": "TJS"
+ },
+ "XPF": {
+ "name": "太平洋法郎",
+ "symbol": "CFPF"
+ },
+ "THB": {
+ "name": "æ³°é“¢",
+ "symbol": "฿"
+ },
+ "TZS": {
+ "name": "å¦æ¡‘尼亚先令",
+ "symbol": "TZS"
+ },
+ "TOP": {
+ "name": "汤加潘加",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "特立尼达和多巴哥元",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "çªå°¼æ–¯ç¬¬çº³å°”",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "土耳其里拉",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "土库曼斯å¦é©¬çº³ç‰¹",
+ "symbol": "TMT"
+ },
+ "VUV": {
+ "name": "瓦努阿图瓦图",
+ "symbol": "VUV"
+ },
+ "GTQ": {
+ "name": "å±åœ°é©¬æ‹‰æ ¼æŸ¥å°”",
+ "symbol": "GTQ"
+ },
+ "VEF": {
+ "name": "委内瑞拉玻利瓦尔",
+ "symbol": "VEF"
+ },
+ "BND": {
+ "name": "文莱元",
+ "symbol": "BND"
+ },
+ "UGX": {
+ "name": "乌干达先令",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "乌克兰格里夫纳",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "乌拉圭比索",
+ "symbol": "UYU"
+ },
+ "UZS": {
+ "name": "乌兹别克斯å¦è‹å§†",
+ "symbol": "UZS"
+ },
+ "SGD": {
+ "name": "新加å¡å…ƒ",
+ "symbol": "SGD"
+ },
+ "TWD": {
+ "name": "æ–°å°å¸",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "新西兰元",
+ "symbol": "NZ$"
+ },
+ "HUF": {
+ "name": "匈牙利ç¦æž—",
+ "symbol": "HUF"
+ },
+ "SYP": {
+ "name": "å™åˆ©äºšé•‘",
+ "symbol": "SYP"
+ },
+ "JMD": {
+ "name": "牙买加元",
+ "symbol": "JMD"
+ },
+ "AMD": {
+ "name": "亚美尼亚德拉姆",
+ "symbol": "AMD"
+ },
+ "YER": {
+ "name": "也门里亚尔",
+ "symbol": "YER"
+ },
+ "IQD": {
+ "name": "伊拉克第纳尔",
+ "symbol": "IQD"
+ },
+ "IRR": {
+ "name": "伊朗里亚尔",
+ "symbol": "IRR"
+ },
+ "ILS": {
+ "name": "以色列新谢克尔",
+ "symbol": "₪"
+ },
+ "INR": {
+ "name": "å°åº¦å¢æ¯”",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "å°åº¦å°¼è¥¿äºšç›¾",
+ "symbol": "IDR"
+ },
+ "GBP": {
+ "name": "英镑",
+ "symbol": "£"
+ },
+ "JOD": {
+ "name": "约旦第纳尔",
+ "symbol": "JOD"
+ },
+ "VND": {
+ "name": "越å—盾",
+ "symbol": "â‚«"
+ },
+ "ZMW": {
+ "name": "赞比亚克瓦查",
+ "symbol": "ZMW"
+ },
+ "GIP": {
+ "name": "直布罗陀镑",
+ "symbol": "GIP"
+ },
+ "CLP": {
+ "name": "智利比索",
+ "symbol": "CLP"
+ },
+ "XAF": {
+ "name": "中éžé‡‘èžåˆä½œæ³•éƒŽ",
+ "symbol": "FCFA"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/currency/zu.json b/library/intl/resources/currency/zu.json
new file mode 100644
index 000000000..59d82092a
--- /dev/null
+++ b/library/intl/resources/currency/zu.json
@@ -0,0 +1,634 @@
+{
+ "AFN": {
+ "name": "i-Afghan Afghani",
+ "symbol": "AFN"
+ },
+ "ALL": {
+ "name": "i-Albanian Lek",
+ "symbol": "ALL"
+ },
+ "DZD": {
+ "name": "i-Algerian Dinar",
+ "symbol": "DZD"
+ },
+ "AOA": {
+ "name": "i-Angolan Kwanza",
+ "symbol": "AOA"
+ },
+ "ARS": {
+ "name": "i-Argentina Peso",
+ "symbol": "ARS"
+ },
+ "AMD": {
+ "name": "i-Armenian Dram",
+ "symbol": "AMD"
+ },
+ "AWG": {
+ "name": "i-Aruban Florin",
+ "symbol": "AWG"
+ },
+ "AUD": {
+ "name": "i-Austrilian Dollar",
+ "symbol": "A$"
+ },
+ "AZN": {
+ "name": "i-Azerbaijani Manat",
+ "symbol": "AZN"
+ },
+ "BSD": {
+ "name": "i-Bahamian Dollar",
+ "symbol": "BSD"
+ },
+ "BHD": {
+ "name": "i-Bahraini Dinar",
+ "symbol": "BHD"
+ },
+ "BDT": {
+ "name": "i-Bangladeshi Taka",
+ "symbol": "BDT"
+ },
+ "BBD": {
+ "name": "i-Barbadian Dollar",
+ "symbol": "BBD"
+ },
+ "BYR": {
+ "name": "i-Belarusian Ruble",
+ "symbol": "BYR"
+ },
+ "BZD": {
+ "name": "i-Belize Dollar",
+ "symbol": "BZD"
+ },
+ "BMD": {
+ "name": "i-Bermudan Dollar",
+ "symbol": "BMD"
+ },
+ "BTN": {
+ "name": "i-Bhutanese Ngultrum",
+ "symbol": "BTN"
+ },
+ "BOB": {
+ "name": "i-Bolivian Boliviano",
+ "symbol": "BOB"
+ },
+ "BAM": {
+ "name": "i-Bosnia-Herzegovina Convertible Mark",
+ "symbol": "BAM"
+ },
+ "BWP": {
+ "name": "i-Botswana Pula",
+ "symbol": "BWP"
+ },
+ "BRL": {
+ "name": "i-Brazilian Real",
+ "symbol": "R$"
+ },
+ "GBP": {
+ "name": "i-British Pound Sterling",
+ "symbol": "£"
+ },
+ "BND": {
+ "name": "i-Brunei Dollar",
+ "symbol": "BND"
+ },
+ "BGN": {
+ "name": "i-Bulgarian Lev",
+ "symbol": "BGN"
+ },
+ "BIF": {
+ "name": "i-Burundian Franc",
+ "symbol": "BIF"
+ },
+ "KHR": {
+ "name": "i-Cambodian Riel",
+ "symbol": "KHR"
+ },
+ "CAD": {
+ "name": "i-Candian Dollar",
+ "symbol": "CA$"
+ },
+ "CVE": {
+ "name": "i-Cape Verdean Escudo",
+ "symbol": "CVE"
+ },
+ "KYD": {
+ "name": "i-Cayman Islands Dollar",
+ "symbol": "KYD"
+ },
+ "XAF": {
+ "name": "i-CFA Franc BCEA",
+ "symbol": "FCFA"
+ },
+ "XOF": {
+ "name": "i-CFA Franc BCEAO",
+ "symbol": "CFA"
+ },
+ "XPF": {
+ "name": "i-CFP Franc",
+ "symbol": "CFPF"
+ },
+ "CLP": {
+ "name": "i-Chilean Peso",
+ "symbol": "CLP"
+ },
+ "CNY": {
+ "name": "i-Chinese Yuan",
+ "symbol": "CNÂ¥"
+ },
+ "COP": {
+ "name": "i-Colombian Peso",
+ "symbol": "COP"
+ },
+ "KMF": {
+ "name": "i-Comorian Franc",
+ "symbol": "KMF"
+ },
+ "CDF": {
+ "name": "i-Congolese Franc",
+ "symbol": "CDF"
+ },
+ "CRC": {
+ "name": "i-Costa Rican Colón",
+ "symbol": "CRC"
+ },
+ "HRK": {
+ "name": "i-Croatian Kuna",
+ "symbol": "HRK"
+ },
+ "CUC": {
+ "name": "i-Cuban Convertable Peso",
+ "symbol": "CUC"
+ },
+ "CUP": {
+ "name": "I-Cuban Peso",
+ "symbol": "CUP"
+ },
+ "CZK": {
+ "name": "i-Czech Republic Koruna",
+ "symbol": "CZK"
+ },
+ "DKK": {
+ "name": "i-Danish Krone",
+ "symbol": "DKK"
+ },
+ "AED": {
+ "name": "i-Dirham yase-United Arab Emirates",
+ "symbol": "AED"
+ },
+ "DJF": {
+ "name": "i-Djiboutian Franc",
+ "symbol": "DJF"
+ },
+ "DOP": {
+ "name": "i-Dominican Peso",
+ "symbol": "DOP"
+ },
+ "XCD": {
+ "name": "i-East Caribbean Dollar",
+ "symbol": "EC$"
+ },
+ "EGP": {
+ "name": "i-Egyptian Pound",
+ "symbol": "EGP"
+ },
+ "ERN": {
+ "name": "i-Eritrean Nakfa",
+ "symbol": "ERN"
+ },
+ "ETB": {
+ "name": "i-Ethopian Birr",
+ "symbol": "ETB"
+ },
+ "EUR": {
+ "name": "i-Euro",
+ "symbol": "€"
+ },
+ "FKP": {
+ "name": "i-Falkland Islands Pound",
+ "symbol": "FKP"
+ },
+ "FJD": {
+ "name": "i-Fijian Dollar",
+ "symbol": "FJD"
+ },
+ "GMD": {
+ "name": "i-Gambian Dalasi",
+ "symbol": "GMD"
+ },
+ "GEL": {
+ "name": "i-Georgian Lari",
+ "symbol": "GEL"
+ },
+ "GHS": {
+ "name": "i-Ghanaian Cedi",
+ "symbol": "GHS"
+ },
+ "GIP": {
+ "name": "i-Gibraltar Pound",
+ "symbol": "GIP"
+ },
+ "GTQ": {
+ "name": "i-Guatemalan Quetzal",
+ "symbol": "GTQ"
+ },
+ "GNF": {
+ "name": "i-Gunean Franc",
+ "symbol": "GNF"
+ },
+ "GYD": {
+ "name": "i-Guyanaese Dollar",
+ "symbol": "GYD"
+ },
+ "HTG": {
+ "name": "i-Haitian Gourde",
+ "symbol": "HTG"
+ },
+ "HNL": {
+ "name": "i-Honduran Lempira",
+ "symbol": "HNL"
+ },
+ "HKD": {
+ "name": "i-Hong Kong Dollar",
+ "symbol": "HK$"
+ },
+ "HUF": {
+ "name": "i-Hungarian Forint",
+ "symbol": "HUF"
+ },
+ "ISK": {
+ "name": "i-Icelandic Króna",
+ "symbol": "ISK"
+ },
+ "INR": {
+ "name": "i-Indian Rupee",
+ "symbol": "₹"
+ },
+ "IDR": {
+ "name": "i-Indonesian Rupiah",
+ "symbol": "IDR"
+ },
+ "IRR": {
+ "name": "i-Iranian Rial",
+ "symbol": "IRR"
+ },
+ "IQD": {
+ "name": "i-Iraqi Dinar",
+ "symbol": "IQD"
+ },
+ "ILS": {
+ "name": "i-Israeli New Sheqel",
+ "symbol": "₪"
+ },
+ "JMD": {
+ "name": "i-Jamaican Dollar",
+ "symbol": "JMD"
+ },
+ "JPY": {
+ "name": "i-Japanese Yen",
+ "symbol": "JPÂ¥"
+ },
+ "JOD": {
+ "name": "i-Jordanian Dinar",
+ "symbol": "JOD"
+ },
+ "KZT": {
+ "name": "i-Kazakhstani Tenge",
+ "symbol": "KZT"
+ },
+ "KES": {
+ "name": "i-Kenyan Shilling",
+ "symbol": "KES"
+ },
+ "KWD": {
+ "name": "i-Kuwaiti Dinar",
+ "symbol": "KWD"
+ },
+ "KGS": {
+ "name": "i-Kyrgystani Som",
+ "symbol": "KGS"
+ },
+ "LAK": {
+ "name": "i-Laotian Kip",
+ "symbol": "LAK"
+ },
+ "LBP": {
+ "name": "i-Lebanese Pound",
+ "symbol": "LBP"
+ },
+ "LSL": {
+ "name": "i-Lesotho Loti",
+ "symbol": "LSL"
+ },
+ "LRD": {
+ "name": "i-Liberian Dollar",
+ "symbol": "LRD"
+ },
+ "LYD": {
+ "name": "i-Libyan Dinar",
+ "symbol": "LYD"
+ },
+ "LTL": {
+ "name": "i-Lithuanian Litas",
+ "symbol": "LTL"
+ },
+ "MOP": {
+ "name": "i-Macanese Pataca",
+ "symbol": "MOP"
+ },
+ "MKD": {
+ "name": "i-Macedonian Denar",
+ "symbol": "MKD"
+ },
+ "MGA": {
+ "name": "i-Malagasy Ariary",
+ "symbol": "MGA"
+ },
+ "MWK": {
+ "name": "i-Malawian Kwacha",
+ "symbol": "MWK"
+ },
+ "MYR": {
+ "name": "i-Malaysian Ringgit",
+ "symbol": "MYR"
+ },
+ "MVR": {
+ "name": "i-Maldivian Rufiyana",
+ "symbol": "MVR"
+ },
+ "MRO": {
+ "name": "i-Mauritanian Ouguiya",
+ "symbol": "MRO"
+ },
+ "MUR": {
+ "name": "i-Mauritian Rupee",
+ "symbol": "MUR"
+ },
+ "MZN": {
+ "name": "I-Metical yase-Mozambicque",
+ "symbol": "MZN"
+ },
+ "MXN": {
+ "name": "i-Mexican Peso",
+ "symbol": "MX$"
+ },
+ "MDL": {
+ "name": "i-Moldovan Leu",
+ "symbol": "MDL"
+ },
+ "MNT": {
+ "name": "i-Mongolian Tugrik",
+ "symbol": "MNT"
+ },
+ "MAD": {
+ "name": "i-Moroccan Dirham",
+ "symbol": "MAD"
+ },
+ "MMK": {
+ "name": "i-Myanma Kyat",
+ "symbol": "MMK"
+ },
+ "NAD": {
+ "name": "i-Namibian Dollar",
+ "symbol": "NAD"
+ },
+ "NPR": {
+ "name": "i-Nepalese Rupee",
+ "symbol": "NPR"
+ },
+ "ANG": {
+ "name": "i-Netherlands Antillean Guilder",
+ "symbol": "ANG"
+ },
+ "TWD": {
+ "name": "i-New Taiwan Dollar",
+ "symbol": "NT$"
+ },
+ "NZD": {
+ "name": "i-New Zealand Dollar",
+ "symbol": "NZ$"
+ },
+ "NIO": {
+ "name": "i-Nicaraguan Córdoba",
+ "symbol": "NIO"
+ },
+ "NGN": {
+ "name": "i-Nigerian Naira",
+ "symbol": "NGN"
+ },
+ "KPW": {
+ "name": "i-North Korean Won",
+ "symbol": "KPW"
+ },
+ "NOK": {
+ "name": "i-Norwegian Krone",
+ "symbol": "NOK"
+ },
+ "OMR": {
+ "name": "i-Omani Rial",
+ "symbol": "OMR"
+ },
+ "PKR": {
+ "name": "i-Pakistani Rupee",
+ "symbol": "PKR"
+ },
+ "PAB": {
+ "name": "i-Panamanian Balboa",
+ "symbol": "PAB"
+ },
+ "PGK": {
+ "name": "i-Papua New Guinean Kina",
+ "symbol": "PGK"
+ },
+ "PYG": {
+ "name": "i-Paraguayan Guarani",
+ "symbol": "PYG"
+ },
+ "PEN": {
+ "name": "i-Peruvian Nuevo Sol",
+ "symbol": "PEN"
+ },
+ "PHP": {
+ "name": "i-Philippine Peso",
+ "symbol": "PHP"
+ },
+ "PLN": {
+ "name": "i-Polish Zloty",
+ "symbol": "PLN"
+ },
+ "QAR": {
+ "name": "i-Qatari Rial",
+ "symbol": "QAR"
+ },
+ "RON": {
+ "name": "I-Romanian Leu",
+ "symbol": "RON"
+ },
+ "RUB": {
+ "name": "i-Russian Ruble",
+ "symbol": "RUB"
+ },
+ "RWF": {
+ "name": "i-Rwandan Franc",
+ "symbol": "RWF"
+ },
+ "SHP": {
+ "name": "i-Saint Helena Pound",
+ "symbol": "SHP"
+ },
+ "WST": {
+ "name": "i-Samoan Tala",
+ "symbol": "WST"
+ },
+ "STD": {
+ "name": "i-São Tomé kanye ne-Príncipe Dobra",
+ "symbol": "STD"
+ },
+ "SAR": {
+ "name": "i-Saudi Riyal",
+ "symbol": "SAR"
+ },
+ "RSD": {
+ "name": "i-Serbian Dinar",
+ "symbol": "RSD"
+ },
+ "SCR": {
+ "name": "i-Seychellois Rupee",
+ "symbol": "SCR"
+ },
+ "SLL": {
+ "name": "i-Sierra Leonean Leone",
+ "symbol": "SLL"
+ },
+ "SGD": {
+ "name": "i-Singapore Dollar",
+ "symbol": "SGD"
+ },
+ "SBD": {
+ "name": "i-Solomon Islands Dollar",
+ "symbol": "SBD"
+ },
+ "SOS": {
+ "name": "i-Somali Shilling",
+ "symbol": "SOS"
+ },
+ "ZAR": {
+ "name": "i-South African Rand",
+ "symbol": "R"
+ },
+ "KRW": {
+ "name": "i-South Korean Won",
+ "symbol": "â‚©"
+ },
+ "LKR": {
+ "name": "i-Sri Lankan Rupee",
+ "symbol": "LKR"
+ },
+ "SDG": {
+ "name": "i-Sudanese Pound",
+ "symbol": "SDG"
+ },
+ "SRD": {
+ "name": "i-Surinamese Dollar",
+ "symbol": "SRD"
+ },
+ "SZL": {
+ "name": "i-Swazi Lilangeni",
+ "symbol": "SZL"
+ },
+ "SEK": {
+ "name": "i-Swedish Krona",
+ "symbol": "SEK"
+ },
+ "CHF": {
+ "name": "i-Swiss Franc",
+ "symbol": "CHF"
+ },
+ "SYP": {
+ "name": "i-Syrian Pound",
+ "symbol": "SYP"
+ },
+ "TJS": {
+ "name": "i-Tajikistani Somoni",
+ "symbol": "TJS"
+ },
+ "TZS": {
+ "name": "i-Tanzanian Shilling",
+ "symbol": "TZS"
+ },
+ "THB": {
+ "name": "i-Thai Baht",
+ "symbol": "฿"
+ },
+ "TOP": {
+ "name": "i-Tongan Paʻanga",
+ "symbol": "TOP"
+ },
+ "TTD": {
+ "name": "i-Trinidad and Tobago Dollar",
+ "symbol": "TTD"
+ },
+ "TND": {
+ "name": "i-Tunisian Dinar",
+ "symbol": "TND"
+ },
+ "TRY": {
+ "name": "i-Turkish Lira",
+ "symbol": "TRY"
+ },
+ "TMT": {
+ "name": "i-Turkmenistani Manat",
+ "symbol": "TMT"
+ },
+ "UGX": {
+ "name": "i-Ugandan Shilling",
+ "symbol": "UGX"
+ },
+ "UAH": {
+ "name": "i-Ukrainian Hryvnia",
+ "symbol": "UAH"
+ },
+ "UYU": {
+ "name": "i-Uruguayan Peso",
+ "symbol": "UYU"
+ },
+ "USD": {
+ "name": "i-US Dollar",
+ "symbol": "US$"
+ },
+ "UZS": {
+ "name": "i-Uzbekistan Som",
+ "symbol": "UZS"
+ },
+ "VUV": {
+ "name": "i-Vanuatu Vatu",
+ "symbol": "VUV"
+ },
+ "VEF": {
+ "name": "i-Venezuelan Bolívar",
+ "symbol": "VEF"
+ },
+ "VND": {
+ "name": "i-Vietnamese Dong",
+ "symbol": "â‚«"
+ },
+ "YER": {
+ "name": "i-Yemeni Rial",
+ "symbol": "YER"
+ },
+ "ZMW": {
+ "name": "i-Zambian Kwacha",
+ "symbol": "ZMW"
+ },
+ "SVC": {
+ "name": "SVC",
+ "symbol": "SVC"
+ },
+ "SSP": {
+ "name": "Upondo waseNingizimu Sudan",
+ "symbol": "SSP"
+ },
+ "ZWL": {
+ "name": "ZWL",
+ "symbol": "ZWL"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/af.json b/library/intl/resources/language/af.json
new file mode 100644
index 000000000..1b704362f
--- /dev/null
+++ b/library/intl/resources/language/af.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanees"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharies"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabies"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armeens"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbeidjans"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Baskies"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengaals"
+ },
+ "my": {
+ "code": "my",
+ "name": "Birmaans"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnies"
+ },
+ "br": {
+ "code": "br",
+ "name": "Bretons"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgaars"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokees"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "da": {
+ "code": "da",
+ "name": "Deens"
+ },
+ "de": {
+ "code": "de",
+ "name": "Duits"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "en": {
+ "code": "en",
+ "name": "Engels"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estnies"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroees"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filippyns"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Fins"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Frans"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galisies"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgies"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Goedjarati"
+ },
+ "el": {
+ "code": "el",
+ "name": "Grieks"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebreeus"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hongaars"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Hoog-Sorbies"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Iers"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesies"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italiaans"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japannees"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kasjmirs"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalaans"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazaks"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgisies"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreaans"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroaties"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lae Sorbies"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Letties"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingaals"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Litaus"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxemburgs"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malabaars"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Maleis"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malgassies"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltees"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Masedonies"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Moderne Standaard Arabies"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldawies"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongools"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisjen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Nederlands"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepalees"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Noord-Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Noordelike Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Noorse Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Noorweegse Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Oekraïens"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Oerdoe"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Oezbeeks"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Pandjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pasjto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persies"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Pools"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugees"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Reto-Romaans"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Roemeens"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russies"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Sentraal Atlas Tamazight"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serwies"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Sjiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Sjinees"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Skotse Gallies"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slowaaks"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Sloweens"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somalies"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spaans"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standaard Marokkaanse Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Swahili (Kongo)"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Sweeds"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Switserse Duits"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Switserse hoog-Duits"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibettaans"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongaans"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tsjeggies"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turks"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uighur"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Viëtnamees"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Vlaams"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Wallies"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Wes-Fries"
+ },
+ "be": {
+ "code": "be",
+ "name": "Wit-Russies"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "is": {
+ "code": "is",
+ "name": "Yslands"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zoeloe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/agq.json b/library/intl/resources/language/agq.json
new file mode 100644
index 000000000..fcd1c1c03
--- /dev/null
+++ b/library/intl/resources/language/agq.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Àlabì"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Àmalì"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "be": {
+ "code": "be",
+ "name": "Bɛ̀làlusàn"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bɨ̀ŋgalì"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bùugɨlìa"
+ },
+ "my": {
+ "code": "my",
+ "name": "Bùumɛsɛ̀"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chàenê"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Chɛ̂"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Dɔ̂s"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Dzàkpànê"
+ },
+ "de": {
+ "code": "de",
+ "name": "Dzamɛ̀"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Endì"
+ },
+ "id": {
+ "code": "id",
+ "name": "Èndònɛshìa"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "it": {
+ "code": "it",
+ "name": "Ètalìa"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Gɨ̀lêʔ"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hɔŋgalìa"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kɨ̀fàlàŋsi"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kɨmɛ̀"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kɨŋgele"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kɨtsɔŋkaŋ"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kpɛɛshìa"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kpotùwgîi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kpɔlìs"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kpuwndzabì"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "kùulîa"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Lùmanyìa"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Lushìa"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Màlae"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nɛ̀kpalì"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "es": {
+ "code": "es",
+ "name": "Sɨ̀kpanìs"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Sòmalì"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Suedìs"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "Tàe"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamì"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Tʉʉkìs"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ùkɛlɛnìa"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Uudùw"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vìyɛtnàmê"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yulùba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulù"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ak.json b/library/intl/resources/language/ak.json
new file mode 100644
index 000000000..8cdc120a1
--- /dev/null
+++ b/library/intl/resources/language/ak.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amarik"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabik"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarus kasa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali kasa"
+ },
+ "my": {
+ "code": "my",
+ "name": "Bɛɛmis kasa"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "en": {
+ "code": "en",
+ "name": "Borɔfo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bɔlgeria kasa"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Dɛɛkye"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Frɛnkye"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Greek kasa"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "de": {
+ "code": "de",
+ "name": "Gyaaman"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Gyapan kasa"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hangri kasa"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonihyia kasa"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italy kasa"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kambodia kasa"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korea kasa"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kyaena kasa"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kyɛk kasa"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malay kasa"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nɛpal kasa"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Pɛɛhyia kasa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Pɔland kasa"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Pɔɔtugal kasa"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Pungyabi kasa"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rahyia kasa"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romenia kasa"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somalia kasa"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spain kasa"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Sweden kasa"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "Taeland kasa"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil kasa"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Tɛɛki kasa"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukren kasa"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu kasa"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Viɛtnam kasa"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/am.json b/library/intl/resources/language/am.json
new file mode 100644
index 000000000..5c46a5c45
--- /dev/null
+++ b/library/intl/resources/language/am.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ሀንጋሪኛ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ሃá‹áˆ³áŠ›"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "ሉባ ካታንጋ"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ሉቴንያንኛ"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "ሉኦ"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ሉክዘáˆá‰ áˆ­áŒˆáˆ­áŠ›"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "ሉዪያ"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ሊንጋላኛ"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ላትቪያን"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ላንጊ"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ላá‹áˆµáŠ›"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "áˆá‰¤áŠ’ኛ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ሒንዱኛ"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "መካከለኛ አትላስ ታማዚáŒá‰µ"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "መደበኛ የሞሮኮ ታማዚáŒá‰µ"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "ሙንዳንáŒ"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "ማላያላáˆáŠ›"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ማላይኛ"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ማላጋስኛ"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "ማáˆá‰²áˆµáŠ›"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "ማራቲኛ"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "ማሳይ"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "ማሴዶንኛ"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ማቻሜኛ"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ማኩዋ ሜቶ"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ማኮንዴ"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "ሜሩ"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ሞáˆá‹³á‰«á‹ŠáŠ“"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "ሞሪሲየኛ"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "ሞንጎላዊኛ"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "ሩንዲኛ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ራሽኛ"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "ርዋ"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ሮማኒያን"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ሮማንሽ"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ሮáˆá‰¦"
+ },
+ "se": {
+ "code": "se",
+ "name": "ሰሜናዊ ሳሚ"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ሰሜን ንዴብሌ"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ሰርቢኛ"
+ },
+ "so": {
+ "code": "so",
+ "name": "ሱማáˆáŠ›"
+ },
+ "si": {
+ "code": "si",
+ "name": "ሲንሃáˆáŠ›"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "ሳáˆá‰¡áˆ©"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "ሳንጉ"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "ሳንጎኛ"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "ሴና"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ስሎቪኛ"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ስሎቫክኛ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ስዊድንኛ"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "ስዋሂሊኛ"
+ },
+ "es": {
+ "code": "es",
+ "name": "ስá“ኒሽ"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "ሶጋ"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "ሻáˆá‰£áˆ‹"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ሾናኛ"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ቀለሠያለ ቻይንኛ"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ቡáˆáŒ‹áˆªáŠ›"
+ },
+ "my": {
+ "code": "my",
+ "name": "ቡርማኛ"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ባህላዊ ቻይንኛ"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ባáˆá‰£áˆ­áŠ›"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "ባስክኛ"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "ባáŠá‹«"
+ },
+ "be": {
+ "code": "be",
+ "name": "ቤላራሻኛ"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "ቤና"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ቤንጋሊኛ"
+ },
+ "br": {
+ "code": "br",
+ "name": "ብሬቶንኛ"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "ቦስኒያንኛ"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "ቦዶ"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ቩንጆ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ቪትናáˆáŠ›"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ቫይ"
+ },
+ "te": {
+ "code": "te",
+ "name": "ተሉጉኛ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ቱርክኛ"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ቲቤታንኛ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ታሚáˆáŠ›"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "ታሳዋቅ"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ታቼáˆáˆ‚ት"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "ታይታኛ"
+ },
+ "th": {
+ "code": "th",
+ "name": "ታይኛ"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "ቴሶ"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ትáŒáˆ­áŠ›"
+ },
+ "to": {
+ "code": "to",
+ "name": "ቶንጋኛ"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "ቺጋኛ"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ቻይንኛ"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ቼሮኬኛ"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ቼክኛ"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "ኑዌር"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ኒያንኮáˆáŠ›"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ናማ"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ኔá“ሊኛ"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ንጎባኛ"
+ },
+ "am": {
+ "code": "am",
+ "name": "አማርኛ"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "አርመናዊ"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "አሱ"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "አካንኛ"
+ },
+ "az": {
+ "code": "az",
+ "name": "አዘርባጃንኛ"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "አይሪሽ"
+ },
+ "is": {
+ "code": "is",
+ "name": "አይስላንድኛ"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "አገáˆ"
+ },
+ "af": {
+ "code": "af",
+ "name": "አáሪካንኛ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ኡርዱኛ"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ኡዊáŒáˆáˆ­áŠ›"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ኡá‹á‰¤áŠ­áŠ›"
+ },
+ "et": {
+ "code": "et",
+ "name": "ኢስቶኒያንኛ"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ኢቦኛ"
+ },
+ "id": {
+ "code": "id",
+ "name": "ኢንዶኔዥኛ"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ኢዊ"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ኤስáራንቶ"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "እስኮትስ ጌáˆáŠ­áŠ›"
+ },
+ "en": {
+ "code": "en",
+ "name": "እንáŒáˆŠá‹áŠ›"
+ },
+ "or": {
+ "code": "or",
+ "name": "ኦሪያኛ"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "ኪርጊá‹áŠ›"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "ኪኩዩ"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "ካለንጂን"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "ካላሊሱትኛ"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "ካáˆá‰£"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "ካሽሚርኛ"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "ካቡቨርዲያኑ"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "ካብይáˆ"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "ካታላንኛ"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "ካናዳኛ"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "ካዛክኛ"
+ },
+ "km": {
+ "code": "km",
+ "name": "ክመርኛ ማእከላዊ"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "ክሮሽያንኛ"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "ክዋሲዮ"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ኮሪያኛ"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "ኮንጎ ስዋሂሊ"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "ኮይራ ቺኒ"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "ኮይራቦሮ ሴኒ"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ወáˆáˆ½"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ዓረብኛ"
+ },
+ "he": {
+ "code": "he",
+ "name": "ዕብራስጥ"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ዘመናዊ መደበኛ ዓረብኛ"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ዙሉኛ"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ዛርማኛ"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "የላይኛዠሶርቢያንኛ"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "የáˆá‹•áˆ«á‰¥ áሪስኛ"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "የስዊዠከáተኛ ጀርመንኛ"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "የስዊዠጀርመን"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "የስዊዠáˆáˆ¨áŠ•áˆ³á‹­áŠ›"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "የብሪቲሽ እንáŒáˆŠá‹áŠ›"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "የብራዚሠá–ርቹጋáˆáŠ›"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "የታችኛዠሶርቢያንኛ"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "የኖርዌይ ቦክማáˆ"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "የኖርዌይ ናይኖርስክ"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "የአሜሪካ እንáŒáˆŠá‹áŠ›"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "የአá‹áˆ®á“ እስá“ንኛ"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "የአá‹áˆ®á“ á–ርቹጋáˆáŠ›"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "የአá‹áˆµá‰µáˆ«áˆŠá‹« እንáŒáˆŠá‹áŠ›"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "የኦስትሪያ ጀርመን"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "የካናዳ እንáŒáˆŠá‹áŠ›"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "የካናዳ áˆáˆ¨áŠ•áˆ³á‹­áŠ›"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ዩክሬንኛ"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ዮሩባዊኛ"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ደች"
+ },
+ "da": {
+ "code": "da",
+ "name": "ዴኒሽ"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ድዞንáŒáŠ»áŠ›"
+ },
+ "de": {
+ "code": "de",
+ "name": "ጀርመን"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ጃá“ንኛ"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "ጆላ áŽáŠ•á‹«áŠ›"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ጆርጂያን"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "ጉስሊኛ"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ጉጃርቲኛ"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ጋሊሺያ"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ጋንዳኛ"
+ },
+ "el": {
+ "code": "el",
+ "name": "áŒáˆªáŠ­áŠ›"
+ },
+ "it": {
+ "code": "it",
+ "name": "ጣሊያንኛ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "áˆáˆ¨áŠ•áˆ³á‹­áŠ›"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "áŠáˆŠá’ንኛ"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "áŠáŠ’ሽ"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "á‹áˆ®áŠ›"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "áሌሚሽ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "áርሺያኛ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "á‘ንጃብኛ"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "á“ሽቶኛ"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "á–ሊሽኛ"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "á–ርቹጋáˆáŠ›"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ar-AE.json b/library/intl/resources/language/ar-AE.json
new file mode 100644
index 000000000..654a748e6
--- /dev/null
+++ b/library/intl/resources/language/ar-AE.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "آسو"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "إمبو"
+ },
+ "az": {
+ "code": "az",
+ "name": "الأذربيجانية"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "الأردية"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "الأرمينية"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "الأسترية"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "الأغم"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "الأغورية"
+ },
+ "af": {
+ "code": "af",
+ "name": "الأÙريقانية"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "الأكانية"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "الألبانية"
+ },
+ "de": {
+ "code": "de",
+ "name": "الألمانية"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "الألمانية السويسرية"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "الألمانية العليا السويسرية"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "الألمانية النمساوية"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "الأمازيغية وسط الأطلس"
+ },
+ "am": {
+ "code": "am",
+ "name": "الأمهرية"
+ },
+ "or": {
+ "code": "or",
+ "name": "الأورييا"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "الأوزباكية"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "الأوكرانية"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "الأيرلندية"
+ },
+ "is": {
+ "code": "is",
+ "name": "الأيسلاندية"
+ },
+ "es": {
+ "code": "es",
+ "name": "الإسبانية"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "الإسبانية الأوروبية"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "الإسبرانتو"
+ },
+ "et": {
+ "code": "et",
+ "name": "الإستونية"
+ },
+ "en": {
+ "code": "en",
+ "name": "الإنجليزية"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "الإنجليزية الأسترالية"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "الإنجليزية البريطانية"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "الإنجليزية الكندية"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "الإنجليزية الولايات المتحدة"
+ },
+ "id": {
+ "code": "id",
+ "name": "الإندونيسية"
+ },
+ "it": {
+ "code": "it",
+ "name": "الإيطالية"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "الإيوندو"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "الإيوي"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "الباسا"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "البامبارا"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "البرتغالية"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "البرتغالية الأوروبية"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "البرتغالية البرازيلية"
+ },
+ "br": {
+ "code": "br",
+ "name": "البريتونية"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "البشتونية"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "البلغارية"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "البنجابية"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "البنغالية"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "البودو"
+ },
+ "my": {
+ "code": "my",
+ "name": "البورمية"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "البوسنية"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "البوكمالية النرويجية"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "البولندية"
+ },
+ "be": {
+ "code": "be",
+ "name": "البيلوروسية"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "التاميلية"
+ },
+ "th": {
+ "code": "th",
+ "name": "التايلاندية"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "التبتية"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "التركية"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "التشيكية"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "التمازيغية المغربية القياسية"
+ },
+ "to": {
+ "code": "to",
+ "name": "التونغية"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "التيجرينيا"
+ },
+ "te": {
+ "code": "te",
+ "name": "التيلجو"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "الجاليكية"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "الجاندا"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "الجورجية"
+ },
+ "km": {
+ "code": "km",
+ "name": "الخميرية"
+ },
+ "da": {
+ "code": "da",
+ "name": "الدانماركية"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "الرندي"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "الروسية"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "الرومانشية"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "الرومانية"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "الزارمية"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "الزولو"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "الزونخاية"
+ },
+ "se": {
+ "code": "se",
+ "name": "السامي الشمالي"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "السانجو"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "السلوÙاكية"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "السلوÙانية"
+ },
+ "si": {
+ "code": "si",
+ "name": "السنهالية"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "السواحلية"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "السويدية"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "الشونا"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "الشيروكي"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "الصربية"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "الصربية السÙلى"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "الصربية العليا"
+ },
+ "so": {
+ "code": "so",
+ "name": "الصومالية"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "الصينية"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "الصينية التقليدية"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "الصينية المبسطة"
+ },
+ "he": {
+ "code": "he",
+ "name": "العبرية"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "العربية"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "العربية الرسمية الحديثة"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "الغوجاراتية"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "الغيزية"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "الغيلية الأسكتلندية"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "الÙارسية"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "الÙارويز"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "الÙاي"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "الÙرنسية"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "الÙرنسية السويسرية"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "الÙرنسية الكندية"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "الÙريزيان"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "الÙريلايان"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "الÙلبينية"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "الÙلة"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "الÙلمنك"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "الÙنلندية"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "الÙيتنامية"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "القبيلية"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "القرغيزية"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "الكازاخستانية"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "الكالاليست"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "الكامبا"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "الكانادا"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "الكتالانية"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "الكرواتية"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "الكشميرية"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "الكورية"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "الكونغو السواحلية"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "الكيكيو"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "اللاتÙية"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "اللاوية"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "اللبا-كاتانجا"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "اللتوانية"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "اللو"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "اللوكسمبرجية"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "اللينجالا"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "الماراثي"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "الماساي"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "المالاجاشية"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "المالطية"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "الماليالام"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "المقدونية"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "المنغولية"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "المورسيانية"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "المولدوÙية"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "النديبيل الشمالي"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "النوير"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "النيانكول"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "النيبالية"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "النينورسك النرويجي"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "الهندية"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "الهنغارية"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "الهوسا"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "الهولندية"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "الولزية"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "اليابانية"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "اليوروبية"
+ },
+ "el": {
+ "code": "el",
+ "name": "اليونانية"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "باÙيا"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "بينا"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "تاساواق"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "تشيغا"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "تكلحيت"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "تيتا"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "تيسو"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "جولا Ùونيا"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "روا"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "رومبو"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "سامبورو"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "سانغو"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "سوجا"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "سينا"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "شامبالا"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Ùونجو"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "كابوÙيرديانو"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "كالينجين"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "كواسيو"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "كويرا تشيني"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "كويرابورو سيني"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "لانجي"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "لغة الباسك"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "لغة الملايو"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "لويا"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ماتشيم"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ماخاوا-ميتو"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ماكونده"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "مندنج"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "ميرو"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ناما"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "نغومبا"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "يانجبن"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ar-EG.json b/library/intl/resources/language/ar-EG.json
new file mode 100644
index 000000000..030eee4c6
--- /dev/null
+++ b/library/intl/resources/language/ar-EG.json
@@ -0,0 +1,738 @@
+{
+ "ebu": {
+ "code": "ebu",
+ "name": "إمبو"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "الآسو"
+ },
+ "az": {
+ "code": "az",
+ "name": "الأذربيجانية"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "الأردية"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "الأرمينية"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "الأسترية"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "الأغيمية"
+ },
+ "af": {
+ "code": "af",
+ "name": "الأÙريقانية"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "الأكانية"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "الألبانية"
+ },
+ "de": {
+ "code": "de",
+ "name": "الألمانية"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "الألمانية السويسرية"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "الألمانية العليا السويسرية"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "الألمانية النمساوية"
+ },
+ "am": {
+ "code": "am",
+ "name": "الأمهرية"
+ },
+ "or": {
+ "code": "or",
+ "name": "الأورييا"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "الأوزبكية"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "الأوكرانية"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "الأويغورية"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "الأيرلندية"
+ },
+ "is": {
+ "code": "is",
+ "name": "الأيسلاندية"
+ },
+ "es": {
+ "code": "es",
+ "name": "الإسبانية"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "الإسبانية الأوروبية"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "الإسبانية المكسيكية"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "الإسبرانتو"
+ },
+ "et": {
+ "code": "et",
+ "name": "الإستونية"
+ },
+ "en": {
+ "code": "en",
+ "name": "الإنجليزية"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "الإنجليزية الأسترالية"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "الإنجليزية البريطانية"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "الإنجليزية الكندية"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "الإنجليزية الولايات المتحدة"
+ },
+ "id": {
+ "code": "id",
+ "name": "الإندونيسية"
+ },
+ "it": {
+ "code": "it",
+ "name": "الإيطالية"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "الإيوندو"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "الإيوي"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "الباسا"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "البامبارا"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "البرتغالية"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "البرتغالية الأوروبية"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "البرتغالية البرازيلية"
+ },
+ "br": {
+ "code": "br",
+ "name": "البريتونية"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "البشتونية"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "البلغارية"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "البنجابية"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "البنغالية"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "البودو"
+ },
+ "my": {
+ "code": "my",
+ "name": "البورمية"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "البوسنية"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "البوكمالية النرويجية"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "البولندية"
+ },
+ "be": {
+ "code": "be",
+ "name": "البيلاروسية"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "التاشلحيت"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "التاميلية"
+ },
+ "th": {
+ "code": "th",
+ "name": "التايلاندية"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "التبتية"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "التركية"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "التشيكية"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "التمازيغية الأوسط أطلسية"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "التمازيغية المغربية القياسية"
+ },
+ "to": {
+ "code": "to",
+ "name": "التونغية"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "التيزو"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "التيغرينية"
+ },
+ "te": {
+ "code": "te",
+ "name": "التيلجو"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "الجاليكية"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "الجاندا"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "الجورجية"
+ },
+ "km": {
+ "code": "km",
+ "name": "الخميرية"
+ },
+ "da": {
+ "code": "da",
+ "name": "الدنماركية"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "الرندي"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "الروا"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "الروسية"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "الرومانشية"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "الرومانية"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "الرومبو"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "الزارمية"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "الزولو"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "الزونخاية"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "السامبورو"
+ },
+ "se": {
+ "code": "se",
+ "name": "السامي الشمالي"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "السانجو"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "السانغو"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "السلوÙاكية"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "السلوÙانية"
+ },
+ "si": {
+ "code": "si",
+ "name": "السنهالية"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "السواحلية"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "السوغا"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "السويدية"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "السينا"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "الشمبالاية"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "الشونا"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "الشيروكية"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "الصربية"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "الصربية السÙلى"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "الصربية العليا"
+ },
+ "so": {
+ "code": "so",
+ "name": "الصومالية"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "الصينية"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "الصينية التقليدية"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "الصينية المبسطة"
+ },
+ "he": {
+ "code": "he",
+ "name": "العبرية"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "العربية"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "العربية الرسمية الحديثة"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "الغوجاراتية"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "الغيزية"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "الغيلية الأسكتلندية"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "الÙارسية"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "الÙارويز"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "الÙاي"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "الÙرنسية"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "الÙرنسية السويسرية"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "الÙرنسية الكندية"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "الÙريزيان"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "الÙريلايان"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "الÙلبينية"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "الÙلة"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "الÙلمنكية"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "الÙنلندية"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "الÙونجو"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "الÙيتنامية"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "القبيلية"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "الكابوÙيرديانيوية"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "الكازاخستانية"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "الكالاليست"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "الكالينجينية"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "الكامبا"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "الكانادية"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "الكتالانية"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "الكرواتية"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "الكشميرية"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "الكورية"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "الكورية التشينية"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "الكيرغزستانية"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "الكيكيو"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "اللاتÙية"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "اللانغية"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "اللاوية"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "اللبا-كاتانجا"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "اللتوانية"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "اللو"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "اللوكسمبرجية"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "اللينجالا"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "الماتشامية"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "الماراثية"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "الماساي"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "الماكوندية"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "المالاجاشية"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "المالطية"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "الماليالام"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "المقدونية"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "المنغولية"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "المورسيانية"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "المولدوÙية"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "الميرو"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "النديبيل الشمالي"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "النوير"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "النيانكول"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "النيبالية"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "النينورسك النرويجي"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "الهندية"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "الهنغارية"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "الهوسا"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "الهولندية"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "الوالسر"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "الولشية"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "اليابانية"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "اليانغبين"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "اليوروبية"
+ },
+ "el": {
+ "code": "el",
+ "name": "اليونانية"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "بينا"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "تشيغا"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "تيتا"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "جولا Ùونيا"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "لغة الباسك"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "لغة الباÙيا"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "لغة التاساواك"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "لغة الكواسيو"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "لغة الكوري ابروسيني"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "لغة الكولونيان"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "لغة الكونغو السواحلية"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "لغة اللويا"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "لغة الملايو"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "لغة الناما"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "لغة ماكوا ميتو"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "مندنج"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "نغومبا"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ar.json b/library/intl/resources/language/ar.json
new file mode 100644
index 000000000..a1beaba5f
--- /dev/null
+++ b/library/intl/resources/language/ar.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "آسو"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "إمبو"
+ },
+ "az": {
+ "code": "az",
+ "name": "الأذربيجانية"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "الأردية"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "الأرمينية"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "الأسترية"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "الأغم"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "الأغورية"
+ },
+ "af": {
+ "code": "af",
+ "name": "الأÙريقانية"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "الأكانية"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "الألبانية"
+ },
+ "de": {
+ "code": "de",
+ "name": "الألمانية"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "الألمانية السويسرية"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "الألمانية العليا السويسرية"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "الألمانية النمساوية"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "الأمازيغية وسط الأطلس"
+ },
+ "am": {
+ "code": "am",
+ "name": "الأمهرية"
+ },
+ "or": {
+ "code": "or",
+ "name": "الأورييا"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "الأوزباكية"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "الأوكرانية"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "الأيرلندية"
+ },
+ "is": {
+ "code": "is",
+ "name": "الأيسلاندية"
+ },
+ "es": {
+ "code": "es",
+ "name": "الإسبانية"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "الإسبانية الأوروبية"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "الإسبرانتو"
+ },
+ "et": {
+ "code": "et",
+ "name": "الإستونية"
+ },
+ "en": {
+ "code": "en",
+ "name": "الإنجليزية"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "الإنجليزية الأسترالية"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "الإنجليزية البريطانية"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "الإنجليزية الكندية"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "الإنجليزية الولايات المتحدة"
+ },
+ "id": {
+ "code": "id",
+ "name": "الإندونيسية"
+ },
+ "it": {
+ "code": "it",
+ "name": "الإيطالية"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "الإيوندو"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "الإيوي"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "الباسا"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "البامبارا"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "البرتغالية"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "البرتغالية الأوروبية"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "البرتغالية البرازيلية"
+ },
+ "br": {
+ "code": "br",
+ "name": "البريتونية"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "البشتونية"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "البلغارية"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "البنجابية"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "البنغالية"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "البودو"
+ },
+ "my": {
+ "code": "my",
+ "name": "البورمية"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "البوسنية"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "البوكمالية النرويجية"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "البولندية"
+ },
+ "be": {
+ "code": "be",
+ "name": "البيلوروسية"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "التاميلية"
+ },
+ "th": {
+ "code": "th",
+ "name": "التايلاندية"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "التبتية"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "التركية"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "التشيكية"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "التمازيغية المغربية القياسية"
+ },
+ "to": {
+ "code": "to",
+ "name": "التونغية"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "التيجرينيا"
+ },
+ "te": {
+ "code": "te",
+ "name": "التيلجو"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "الجاليكية"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "الجاندا"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "الجورجية"
+ },
+ "km": {
+ "code": "km",
+ "name": "الخميرية"
+ },
+ "da": {
+ "code": "da",
+ "name": "الدانماركية"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "الرندي"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "الروسية"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "الرومانشية"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "الرومانية"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "الزارمية"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "الزولو"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "الزونخاية"
+ },
+ "se": {
+ "code": "se",
+ "name": "السامي الشمالي"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "السانجو"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "السلوÙاكية"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "السلوÙانية"
+ },
+ "si": {
+ "code": "si",
+ "name": "السنهالية"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "السواحلية"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "السويدية"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "الشونا"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "الشيروكي"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "الصربية"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "الصربية السÙلى"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "الصربية العليا"
+ },
+ "so": {
+ "code": "so",
+ "name": "الصومالية"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "الصينية"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "الصينية التقليدية"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "الصينية المبسطة"
+ },
+ "he": {
+ "code": "he",
+ "name": "العبرية"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "العربية"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "العربية الرسمية الحديثة"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "الغوجاراتية"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "الغيزية"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "الغيلية الأسكتلندية"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "الÙارسية"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "الÙارويز"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "الÙاي"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "الÙرنسية"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "الÙرنسية السويسرية"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "الÙرنسية الكندية"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "الÙريزيان"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "الÙريلايان"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "الÙلبينية"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "الÙلة"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "الÙلمنك"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "الÙنلندية"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "الÙيتنامية"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "القبيلية"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "القرغيزية"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "الكازاخستانية"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "الكالاليست"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "الكامبا"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "الكانادا"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "الكتالانية"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "الكرواتية"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "الكشميرية"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "الكورية"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "الكونغو السواحلية"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "الكيكيو"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "اللاتÙية"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "اللاوية"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "اللبا-كاتانجا"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "اللتوانية"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "اللو"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "اللوكسمبرجية"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "اللينجالا"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "الماراثي"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "الماساي"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "المالاجاشية"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "المالطية"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "الماليالام"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "المقدونية"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "المنغولية"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "المورسيانية"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "المولدوÙية"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "النديبيل الشمالي"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "النوير"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "النيانكول"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "النيبالية"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "النينورسك النرويجي"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "الهندية"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "الهنغارية"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "الهوسا"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "الهولندية"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "الولزية"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "اليابانية"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "اليوروبية"
+ },
+ "el": {
+ "code": "el",
+ "name": "اليونانية"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "باÙيا"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "بينا"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "تاساواق"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "تشلحيت"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "تشيغا"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "تيتا"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "تيسو"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "جولا Ùونيا"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "روا"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "رومبو"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "سامبورو"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "سانغو"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "سوجا"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "سينا"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "شامبالا"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Ùونجو"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "كابوÙيرديانو"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "كالينجين"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "كواسيو"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "كويرا تشيني"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "كويرابورو سيني"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "لانجي"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "لغة الباسك"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "لغة الملايو"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "لويا"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ماتشيم"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ماخاوا-ميتو"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ماكونده"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "مندنج"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "ميرو"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ناما"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "نغومبا"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "يانجبن"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/asa.json b/library/intl/resources/language/asa.json
new file mode 100644
index 000000000..6a49e8f55
--- /dev/null
+++ b/library/intl/resources/language/asa.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kicheki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kidhulu"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifarantha"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihautha"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihithpania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholandhi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonethia"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kiingeredha"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliaano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Kipare"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kiruthi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kithomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kithwidi"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ast.json b/library/intl/resources/language/ast.json
new file mode 100644
index 000000000..eac761f74
--- /dev/null
+++ b/library/intl/resources/language/ast.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanu"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán de Suiza"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "altu sorbiu"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "altualemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharicu"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar modernu"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeniu"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturianu"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaixanu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basaa"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baxu sorbiu"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalín"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusu"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanu"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniu"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaru"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "cabuverdianu"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemirés"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checu"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinu"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinu simplificáu"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinu tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "colonianu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreanu"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embú"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovacu"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "eslovenu"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estoniu"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipín"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamencu"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés de Canadá"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés de Suiza"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulianu"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulah"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélicu escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallegu"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "griegu"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guyaratí"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ḥausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebréu"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaru"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiu"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés americanu"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés de Canadá"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés de Gran Bretaña"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italianu"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabileñu"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazaquistanín"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguistanín"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosianu"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituanu"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedoniu"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayu"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavu"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele del norte"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalés"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "noruegu Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "noruegu Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashtu"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polacu"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués del Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punyabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumanu"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rusu"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami del norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbiu"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalín"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaḥili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "suecu"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Atlas central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight estándar de Marruecos"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetanu"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganu"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turcu"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraín"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbequistanín"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vascu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamín"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "xaponés"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "xeorxanu"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/az.json b/library/intl/resources/language/az.json
new file mode 100644
index 000000000..b0af15ae4
--- /dev/null
+++ b/library/intl/resources/language/az.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanca"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aqhem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "alban"
+ },
+ "de": {
+ "code": "de",
+ "name": "alman"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Amerika ingiliscəsi"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhar"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturicÉ™"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "aşağı sorb"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Avstraliya ingiliscəsi"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Avstriya almancası"
+ },
+ "az": {
+ "code": "az",
+ "name": "azərbaycan"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa dili"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "bask"
+ },
+ "be": {
+ "code": "be",
+ "name": "belarus"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "benqal"
+ },
+ "my": {
+ "code": "my",
+ "name": "birma"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal norveç"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bolqar"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniak"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Braziliya portuqalcası"
+ },
+ "br": {
+ "code": "br",
+ "name": "Bretonca"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Britaniya ingiliscəsi"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "çex"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "çiqa"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "çin"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "çiroki"
+ },
+ "da": {
+ "code": "da",
+ "name": "danimarka"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "diola"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonqa"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "erməni"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "eston"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "eve"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "evondo dili"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ənənəvi çin"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ərəb"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "farer"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "fars"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippin"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "fin"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamand"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "fransız"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friul dili"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula dili"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gürcü"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holland"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "xorvat"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonez"
+ },
+ "en": {
+ "code": "en",
+ "name": "ingilis"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irland"
+ },
+ "is": {
+ "code": "is",
+ "name": "island"
+ },
+ "es": {
+ "code": "es",
+ "name": "ispan"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "isveç"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "İsveçrə almancası"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "İsveçrə fransızcası"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "İsveçrə yüksək almancası"
+ },
+ "it": {
+ "code": "it",
+ "name": "italyan"
+ },
+ "he": {
+ "code": "he",
+ "name": "ivrit"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabile"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kabuverdian"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalencin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Kanada fransızcası"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Kanada ingiliscəsi"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Kastiliya ispancası"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kaÅŸmir"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalan"
+ },
+ "km": {
+ "code": "km",
+ "name": "kxmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Konqo suahilicəsi"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreya"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra çiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kvasio"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "qalisian"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "qanda"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "qazax"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "qərbi friz"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "qırğız"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "qucarat"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "qusi"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laos"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latış"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "linqala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litva"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanqa"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "lüksemburq"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "macar"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "maçam"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "maxuva-meetto"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedon"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makond"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malaqas"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "malta"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marati"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masay"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Meksika ispancası"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Mərkəzi Atlas tamazicəsi"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Modern Standart ÆrÉ™bcÉ™"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldav"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "monqol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisien"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundanq"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepal"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "nqomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nünorsk norveç"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankol"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "özbək"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pəncab"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polyak"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portuqal"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Portuqaliya portuqalcası"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "puÅŸtu"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoroman"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rua"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumın"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rus"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "sadələşmiş çin"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sanqo"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sanqu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serb"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhal"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "skot gaelik dili"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "sloven"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soqa"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suahili"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "ÅŸambala"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ÅŸimali ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "ÅŸimali sami"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ÅŸona"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "taçelit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasavaq"
+ },
+ "th": {
+ "code": "th",
+ "name": "tay"
+ },
+ "te": {
+ "code": "te",
+ "name": "teluqu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibet"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tiqrin"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonqa"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "türk"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "uels"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrayna"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uyÄŸur"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunyo"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vyetnam"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "yapon"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "yuxarı sorb"
+ },
+ "el": {
+ "code": "el",
+ "name": "yunan"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/bas.json b/library/intl/resources/language/bas.json
new file mode 100644
index 000000000..fac49c2c7
--- /dev/null
+++ b/library/intl/resources/language/bas.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Æàsàa"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Hɔp u akan"
+ },
+ "am": {
+ "code": "am",
+ "name": "HÉ”p u amhÄrìk"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Hɔp u arâb"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Hɔp u bɛŋgàli"
+ },
+ "be": {
+ "code": "be",
+ "name": "Hɔp u bièlòrûs"
+ },
+ "my": {
+ "code": "my",
+ "name": "Hɔp u birmàn"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Hɔp u bûlgâr"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hɔp u ɓausa"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Hɔp u cɛ̂k"
+ },
+ "el": {
+ "code": "el",
+ "name": "Hɔp u gri ᷇kyà"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hɔp u hindì"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hɔp u hɔŋgrìi"
+ },
+ "id": {
+ "code": "id",
+ "name": "Hɔp u indònesìà"
+ },
+ "it": {
+ "code": "it",
+ "name": "Hɔp u italìà"
+ },
+ "de": {
+ "code": "de",
+ "name": "Hɔp u jamân"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Hɔp u kinà"
+ },
+ "km": {
+ "code": "km",
+ "name": "Hɔp u kmɛ̂r"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Hɔp u kɔrēà"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Hɔp u makɛ᷆"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Hɔp u nepa᷆l"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Hɔp u nlɛ̀ndi"
+ },
+ "en": {
+ "code": "en",
+ "name": "Hɔp u ŋgisì"
+ },
+ "es": {
+ "code": "es",
+ "name": "HÉ”p u panyÄ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Hɔp u pɛnjàbi"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Hɔp u pɛrsìà"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Hɔp u pɔlɔ̄nà"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Hɔp u pɔtɔ̄kì"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Hɔp u pulàsi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Hɔp u rùmanìà"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Hɔp u ruslànd"
+ },
+ "so": {
+ "code": "so",
+ "name": "Hɔp u somàlî"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Hɔp u suɛ᷆d"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Hɔp u tamu᷆l"
+ },
+ "th": {
+ "code": "th",
+ "name": "Hɔp u tây"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Hɔp u tûrk"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Hɔp u ukrǎnìà"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Hɔp u urdù"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Hɔp u vyɛ̄dnàm"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Hɔp u yapàn"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Hɔp u yorūbà"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Hɔp u zulù"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/be.json b/library/intl/resources/language/be.json
new file mode 100644
index 000000000..3a53bd0d8
--- /dev/null
+++ b/library/intl/resources/language/be.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "az": {
+ "code": "az",
+ "name": "азербайджанÑкаÑ"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "албанÑкаÑ"
+ },
+ "am": {
+ "code": "am",
+ "name": "амхарÑкаÑ"
+ },
+ "en": {
+ "code": "en",
+ "name": "англійÑкаÑ"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "англійÑÐºÐ°Ñ (аўÑтрал.)"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "англійÑÐºÐ°Ñ (ЗШÐ)"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "англійÑÐºÐ°Ñ (канад.)"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "арабÑкаÑ"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "армÑнÑкаÑ"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "аÑтурыйÑкаÑ"
+ },
+ "af": {
+ "code": "af",
+ "name": "афрыкаанÑ"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "балгарÑкаÑ"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "баÑкÑкаÑ"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "баÑнійÑкаÑ"
+ },
+ "be": {
+ "code": "be",
+ "name": "беларуÑкаÑ"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "бенгальÑкаÑ"
+ },
+ "br": {
+ "code": "br",
+ "name": "брÑтонÑкаÑ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "в’етнамÑкаÑ"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "валійÑкаÑ"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "венгерÑкаÑ"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "галандÑкаÑ"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "галіÑійÑкаÑ"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "грузінÑкаÑ"
+ },
+ "el": {
+ "code": "el",
+ "name": "грÑцкаÑ"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "гуÑраці"
+ },
+ "da": {
+ "code": "da",
+ "name": "дацкаÑ"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "зулу"
+ },
+ "id": {
+ "code": "id",
+ "name": "інданезійÑкаÑ"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ірландÑкаÑ"
+ },
+ "is": {
+ "code": "is",
+ "name": "Ñ–ÑландÑкаÑ"
+ },
+ "es": {
+ "code": "es",
+ "name": "Ñ–ÑпанÑкаÑ"
+ },
+ "it": {
+ "code": "it",
+ "name": "італьÑнÑкаÑ"
+ },
+ "he": {
+ "code": "he",
+ "name": "іўрыт"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "казахÑкаÑ"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "каннада"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "карÑйÑкаÑ"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "каталонÑкаÑ"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "кітайÑкаÑ"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "лаоÑкаÑ"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "латышÑкаÑ"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "лінгала"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "літоўÑкаÑ"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "луо"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "македонÑкаÑ"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "малайÑкаÑ"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "малаÑламÑкаÑ"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "малдаўÑкаÑ"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "мальгашÑкаÑ"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "мальтыйÑкаÑ"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "мангольÑкаÑ"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "маратхі"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "маÑаі"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "нарвежÑÐºÐ°Ñ (нюнорÑк)"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "нарвÑÑÐºÐ°Ñ Ð±ÑƒÐºÐ¼Ð°Ð»"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "непальÑкаÑ"
+ },
+ "de": {
+ "code": "de",
+ "name": "нÑмецкаÑ"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "нÑÐ¼ÐµÑ†ÐºÐ°Ñ (аўÑÑ‚Ñ€.)"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "нÑÐ¼ÐµÑ†ÐºÐ°Ñ (швейц.)"
+ },
+ "or": {
+ "code": "or",
+ "name": "орыÑ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "панджабі"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "партугальÑкаÑ"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "партугальÑÐºÐ°Ñ (бразіл.)"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "польÑкаÑ"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "пушту"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "румынÑкаÑ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "руÑкаÑ"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Ñ€Ñта-раманÑкаÑ"
+ },
+ "so": {
+ "code": "so",
+ "name": "ÑамалійÑкаÑ"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ÑербÑкаÑ"
+ },
+ "si": {
+ "code": "si",
+ "name": "ÑінгальÑкаÑ"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ÑлавацкаÑ"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ÑлавенÑкаÑ"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ÑÐ¿Ñ€Ð¾ÑˆÑ‡Ð°Ð½Ð°Ñ ÐºÑ–Ñ‚Ð°Ð¹ÑкаÑ"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Ñуахілі"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "тагальÑкаÑ"
+ },
+ "th": {
+ "code": "th",
+ "name": "тайÑкаÑ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "тамільÑкаÑ"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Ñ‚Ñ€Ð°Ð´Ñ‹Ñ†Ñ‹Ð¹Ð½Ð°Ñ ÐºÑ–Ñ‚Ð°Ð¹ÑкаÑ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "турÑцкаÑ"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "тыгрыньÑ"
+ },
+ "te": {
+ "code": "te",
+ "name": "Ñ‚Ñлугу"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "узбекÑкаÑ"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "уйгурÑкаÑ"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "украінÑкаÑ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "урду"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "фарÑÑ–"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "фарÑÑ€ÑкаÑ"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "фінÑкаÑ"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "фламандÑкаÑ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "французÑкаÑ"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "французÑÐºÐ°Ñ (канад.)"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "французÑÐºÐ°Ñ (швейц.)"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "фрызÑкаÑ"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "харвацкаÑ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "хіндзі"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "чÑшÑкаÑ"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "шатландÑÐºÐ°Ñ Ð³ÑльÑкаÑ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "шведÑкаÑ"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ÑÑперанта"
+ },
+ "et": {
+ "code": "et",
+ "name": "ÑÑтонÑкаÑ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ÑпонÑкаÑ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/bez.json b/library/intl/resources/language/bez.json
new file mode 100644
index 000000000..c6876e490
--- /dev/null
+++ b/library/intl/resources/language/bez.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Hiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Hiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Hiamhari"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Hibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Hibelarusi"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Hibena"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Hibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Hiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Hicheki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Hichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Hifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Higiriki"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Hiharabu"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Hihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Hiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Hiindonesia"
+ },
+ "en": {
+ "code": "en",
+ "name": "Hiingereza"
+ },
+ "it": {
+ "code": "it",
+ "name": "Hiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Hijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Hijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Hikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Hikorea"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Hileno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Hilomania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Hilusi"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Himalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Hinepali"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Hipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Hipunjabi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Hisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Hiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Hitailand"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Hitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Hituluki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Hiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Hiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Hivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Hiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Hizulu"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/bg.json b/library/intl/resources/language/bg.json
new file mode 100644
index 000000000..bda37f052
--- /dev/null
+++ b/library/intl/resources/language/bg.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "авÑтралийÑки английÑки"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "авÑтрийÑки немÑки"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "агем"
+ },
+ "az": {
+ "code": "az",
+ "name": "азербайджанÑки"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "акан"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "албанÑки"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "американÑки английÑки"
+ },
+ "am": {
+ "code": "am",
+ "name": "амхарÑки"
+ },
+ "en": {
+ "code": "en",
+ "name": "английÑки"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "арабÑки"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "арменÑки"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "аÑтурÑки"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "аÑу"
+ },
+ "af": {
+ "code": "af",
+ "name": "африканÑ"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "бамбара"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "баÑа"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "баÑки"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "бафиÑ"
+ },
+ "be": {
+ "code": "be",
+ "name": "беларуÑки"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "бена"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "бенгалÑки"
+ },
+ "my": {
+ "code": "my",
+ "name": "бирманÑки"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "бодо"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "боÑненÑки"
+ },
+ "br": {
+ "code": "br",
+ "name": "бретонÑки"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "британÑки английÑки"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "българÑки"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ваи"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "виетнамÑки"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "вунджо"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "галиÑийÑки"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ганда"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "горнолужишки"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "гренландÑки"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "грузинÑки"
+ },
+ "el": {
+ "code": "el",
+ "name": "гръцки"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "гуджарати"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "гуÑии"
+ },
+ "da": {
+ "code": "da",
+ "name": "датÑки"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "джерма"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "дзонха"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "диола"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "долнолужишки"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "еве"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "евондо"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ембу"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "еÑперанто"
+ },
+ "et": {
+ "code": "et",
+ "name": "еÑтонÑки"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "зулуÑки"
+ },
+ "he": {
+ "code": "he",
+ "name": "иврит"
+ },
+ "id": {
+ "code": "id",
+ "name": "индонезийÑки"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ирландÑки"
+ },
+ "is": {
+ "code": "is",
+ "name": "иÑландÑки"
+ },
+ "es": {
+ "code": "es",
+ "name": "иÑпанÑки"
+ },
+ "it": {
+ "code": "it",
+ "name": "италианÑки"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "йоруба"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "кабилÑки"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "кабовердианÑки"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "казахÑки"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "календжин"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "камба"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "канадÑки английÑки"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "канадÑки френÑки"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "каннада"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "каталонÑки"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "кашмирÑки"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "кваÑио"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "кикую"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "киргизки"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "китайÑки"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "койра чиини"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "койраборо Ñени"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "конгоанÑки Ñуахили"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "корейÑки"
+ },
+ "km": {
+ "code": "km",
+ "name": "кхмерÑки"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ланги"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "лаоÑки"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "латвийÑки"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "лингала"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "литовÑки"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "луба катанга"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "луо"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "луÑ"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "люкÑембургÑки"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "македонÑки"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "маконде"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "макуа мето"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "малайÑки"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "малаÑлам"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "малгашки"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "малтийÑки"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "марати"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "маÑайÑки"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "мачаме"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "мекÑиканÑки иÑпанÑки"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "меру"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "молдовÑки"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "монголÑки"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "мориÑиен"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "мунданг"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "нама"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "нгомба"
+ },
+ "de": {
+ "code": "de",
+ "name": "немÑки"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "непалÑки"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "нианколе"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "нидерландÑки"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "норвежки букмол"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "норвежки нюношк"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "нуер"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "опроÑтен китайÑки"
+ },
+ "or": {
+ "code": "or",
+ "name": "ориÑ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "пенджабÑки"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "перÑийÑки"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "полÑки"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "португалÑки"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "пущу"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "рва"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ретороманÑки"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ромбо"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "румънÑки"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "рунди"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "руÑки"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Ñамбуру"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Ñанго"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Ñангу"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ñеверен ндебеле"
+ },
+ "se": {
+ "code": "se",
+ "name": "ÑеверноÑаамÑки"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Ñена"
+ },
+ "si": {
+ "code": "si",
+ "name": "ÑинхалÑки"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Ñловашки"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ÑловенÑки"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Ñога"
+ },
+ "so": {
+ "code": "so",
+ "name": "ÑомалийÑки"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ÑръбÑки"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Ñтандартен мароканÑки тамазигт"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Ñуахили"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Ñъвременен Ñтандартен арабÑки"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "таита"
+ },
+ "th": {
+ "code": "th",
+ "name": "тайÑки"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "тамилÑки"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "таÑавак"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ташелхит"
+ },
+ "te": {
+ "code": "te",
+ "name": "телугу"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "теÑо"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "тибетÑки"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "тигринÑ"
+ },
+ "to": {
+ "code": "to",
+ "name": "тонга"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "традиционен китайÑки"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "турÑки"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "уелÑки"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "узбекÑки"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "уйгурÑки"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "украинÑки"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "унгарÑки"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "урду"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "фарьорÑки"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "филипинÑки"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "финÑки"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "фламандÑки"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "френÑки"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "фризийÑки"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "фриулианÑки"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "фула"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "хауза"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "хинди"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "хърватÑки"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "централноатлаÑки тамазигт"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "чероки"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "чешки"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "чига"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "шамбала"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "шведÑки"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "швейцарÑки горногерманÑки"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "швейцарÑки немÑки"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "швейцарÑки френÑки"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "шона"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "шотландÑки галÑки"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ÑпонÑки"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/bm.json b/library/intl/resources/language/bm.json
new file mode 100644
index 000000000..6eb659c6f
--- /dev/null
+++ b/library/intl/resources/language/bm.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akankan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "de": {
+ "code": "de",
+ "name": "alimaɲikan"
+ },
+ "am": {
+ "code": "am",
+ "name": "amarikikan"
+ },
+ "en": {
+ "code": "en",
+ "name": "angilɛkan"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "awusakan"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bamanakan"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bɛngalikan"
+ },
+ "my": {
+ "code": "my",
+ "name": "birimanikan"
+ },
+ "be": {
+ "code": "be",
+ "name": "biyelorisikan"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "buligarikan"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "cɛkikan"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "esipaɲolkan"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "id": {
+ "code": "id",
+ "name": "Ændonezikan"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "gɛrɛsikan"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "inidikan"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "irisikan"
+ },
+ "it": {
+ "code": "it",
+ "name": "italikan"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "kambojikan"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korekan"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "larabukan"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malɛzikan"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalekan"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "olandekan"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "oŋirikan"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "perisanikan"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pɛnijabikan"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polonekan"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "pɔritigalikan"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumanikan"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "siniwakan"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalikan"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "suwɛdikan"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamulikan"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "th": {
+ "code": "th",
+ "name": "tayikan"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "tubabukan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turikikan"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukɛrɛnikan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urudukan"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "wiyɛtinamukan"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yorubakan"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "zapɔnekan"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulukan"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/bn-IN.json b/library/intl/resources/language/bn-IN.json
new file mode 100644
index 000000000..f62fc52f4
--- /dev/null
+++ b/library/intl/resources/language/bn-IN.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "অসà§à¦Ÿà§à¦°à¦¿à¦¯à¦¼à¦¾à¦¨ জারমান"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "অসà§à¦Ÿà§à¦°à§‡à¦²à§€à¦¯à¦¼ ইংরেজি"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "আইরিশ"
+ },
+ "is": {
+ "code": "is",
+ "name": "আইসলà§à¦¯à¦¾à¦¨à§à¦¡à§€à¦¯à¦¼"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "আকান"
+ },
+ "az": {
+ "code": "az",
+ "name": "আজারবাইজানী"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "আদরà§à¦¶ মরকà§à¦•à§‹à¦¨ তামাজিগাত"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "আধà§à¦¨à¦¿à¦• আদরà§à¦¶ আরবী"
+ },
+ "af": {
+ "code": "af",
+ "name": "আফà§à¦°à¦¿à¦•à¦¾à¦¨à§à¦¸"
+ },
+ "am": {
+ "code": "am",
+ "name": "আমহারিক"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "আমেরিকার ইংরেজি"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "আরবী"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "আরà§à¦®à§‡à¦¨à¦¿à¦¯à¦¼"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "আলবেনীয়"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "আসà§"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "আসà§à¦¤à§à¦°à¦¿à¦¯à¦¼"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ইউকà§à¦°à§‡à¦¨à§€à¦¯à¦¼"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ইউরোপীয় সà§à¦ªà§à¦¯à¦¾à¦¨à¦¿à¦¶"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ইউরোপের পরà§à¦¤à§à¦—ীজ"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ইওনà§à¦¡à§‹"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ইওরà§à¦¬à¦¾"
+ },
+ "en": {
+ "code": "en",
+ "name": "ইংরেজি"
+ },
+ "it": {
+ "code": "it",
+ "name": "ইতালীয়"
+ },
+ "id": {
+ "code": "id",
+ "name": "ইনà§à¦¦à§‹à¦¨à§‡à¦¶à§€à¦¯à¦¼"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "উইঘà§à¦°"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "উচà§à¦š সোরà§à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "উজবেকীয়"
+ },
+ "or": {
+ "code": "or",
+ "name": "উড়িয়া"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "উতà§à¦¤à¦° à¦à¦¨à§à¦¦à§‡à¦¬à¦¿à¦²à¦¿"
+ },
+ "se": {
+ "code": "se",
+ "name": "উতà§à¦¤à¦°à¦¾à¦žà§à¦šà¦²à§€à¦¯à¦¼ সামি"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "উরà§à¦¦à§"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "à¦à¦˜à§‡à¦®"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "à¦à¦®à§à¦¬à§"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "à¦à¦¯à¦¼à§‡"
+ },
+ "et": {
+ "code": "et",
+ "name": "à¦à¦¸à§à¦¤à§‹à¦¨à§€à¦¯à¦¼"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "à¦à¦¸à§à¦ªà§‡à¦°à¦¾à¦¨à§à¦¤à§‹"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "à¦à¦¤à¦¿à¦¹à§à¦¯à¦¬à¦¾à¦¹à¦¿ চীনা"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ওয়েলশ"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "কঙà§à¦—ো সোয়াহিলি"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "কাজাখ"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "কাতালান"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "কানাডীয় ইংরেজি"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "কানà§à¦¨à¦¾à¦¡à¦¼à§€"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "কাবাইলে"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "কাবà§à¦­à¦¾à¦°à¦¦à¦¿à¦¯à¦¼à¦¾à¦¨à§"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "কামà§à¦¬à¦¾"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "কালেনজিন"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "কাশà§à¦®à§€à¦°à§€"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "কিকà§à§à¦‡à¦¯à¦¼à§"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "কিরà§à¦—িজ"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "কোয়রা চীনি"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "কোয়রাবেনো সেনà§à¦¨à§€"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "কোয়াসিও"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "কোরিয়ান"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "কà§à¦¯à¦¾à¦¨à¦¾à¦¡à¦¿à¦¯à¦¼à¦¾à¦¨ ফরাসী"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "কà§à¦¯à¦¾à¦²à¦¾à¦²à§à¦²à¦¿à¦¸à§à¦Ÿ"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "কà§à¦°à§‹à¦¯à¦¼à§‡à¦¶à§€à¦¯à¦¼"
+ },
+ "km": {
+ "code": "km",
+ "name": "খমের"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "গানà§à¦¡à¦¾"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "গà§à¦œà¦°à¦¾à¦Ÿà¦¿"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "গà§à¦¸à§€"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "গোমà§à¦¬à¦¾"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "গà§à¦¯à¦¾à¦²à¦¿à¦¶à¦¿à¦¯à¦¼"
+ },
+ "el": {
+ "code": "el",
+ "name": "গà§à¦°à¦¿à¦•"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "চিগা"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "চীনা"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "চেক"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "চেরোকী"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "জরà§à¦œà¦¿à¦¯à¦¼à¦¾à¦¨"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "জলা-ফনী"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "জাপানি"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "জারà§à¦®à¦¾"
+ },
+ "de": {
+ "code": "de",
+ "name": "জারà§à¦®à¦¾à¦¨"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "জà§à¦²à§"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "জোঙà§à¦—া"
+ },
+ "to": {
+ "code": "to",
+ "name": "টোঙà§à¦—ান"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ডাচ"
+ },
+ "da": {
+ "code": "da",
+ "name": "ডেনিশ"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "তাইতা"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "তাচেলহিত"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "তামিল"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "তাসাওয়াক"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "তিগরিনিয়া"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "তিবà§à¦¬à¦¤à¦¿"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "তà§à¦°à§à¦•à§€"
+ },
+ "te": {
+ "code": "te",
+ "name": "তেলেগà§"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "তেসো"
+ },
+ "th": {
+ "code": "th",
+ "name": "থাই"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "নরওয়েজিয়ান বোকমাল"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "নরওয়েজীয়ান নিনরà§à¦¸à§à¦•"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "নামা"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "নিমà§à¦¨à¦¤à¦° সোরà§à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "নà§à¦¯à¦¼à¦¾à¦°"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "নেপালী"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "নà§à¦¯à¦¾à¦¯à¦¼à¦¾à¦™à§à¦•à§‹à¦²à§‡"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "পরà§à¦¤à§à¦—ীজ"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "পশà§à¦šà¦¿à¦® ফà§à¦°à¦¿à¦¸à¦¿à¦¯à¦¼"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "পাঞà§à¦œà¦¾à¦¬à§€"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "পাশà§à¦¤à§"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "পোলিশ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ফরাসি"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ফারà§à¦¸à¦¿"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ফিনিশ"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ফিলিপিনো"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "ফà§à¦²à¦¾à¦¹à§"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ফেরাউনি"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ফà§à¦°à¦¿à¦‰à¦²à¦¿à¦¯à¦¼à¦¾à¦¨"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ফà§à¦²à§‡à¦®à¦¿à¦¶"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "বড়ো"
+ },
+ "my": {
+ "code": "my",
+ "name": "বরà§à¦®à¦¿"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "বসনীয়ান"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "বাংলা"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "বাফিয়া"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "বামবারা"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "বাসা"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "বাসà§à¦•"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "বà§à¦²à¦—েরিয়"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "বেনা"
+ },
+ "be": {
+ "code": "be",
+ "name": "বেলারà§à¦¶à¦¿à¦¯à¦¼"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "বà§à¦°à¦¾à¦œà¦¿à¦²à§‡à¦° পরà§à¦¤à§à¦—ীজ"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "বà§à¦°à¦¿à¦Ÿà¦¿à¦¶ ইংরেজি"
+ },
+ "br": {
+ "code": "br",
+ "name": "বà§à¦°à§‡à¦Ÿà¦¨"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ভাই"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ভিয়েতনামী"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ভà§à¦žà§à¦œà§‹"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "মঙà§à¦—োলিয়"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "মরিসিয়ান"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "মলদাভিয়"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "মলà§à¦Ÿà¦¿à¦¯à¦¼"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "মাকামে"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "মাকোনà§à¦¦à§‡"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "মাখà§à¦¯à¦¼à¦¾-মেতà§à¦¤à§‹"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "মারাঠি"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "মালয়"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "মালাগাসি"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "মালায়ালাম"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "মাসাই"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "মà§à¦¦à¦¾à¦™à§à¦—"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "মেরà§"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "মà§à¦¯à¦¾à¦•à§à¦¸à¦¿à¦•à¦¾à¦¨ সà§à¦ªà§à¦¯à¦¾à¦¨à¦¿à¦¶"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "মà§à¦¯à¦¾à¦¸à¦¿à¦¡à§‹à¦¨à§€à¦¯à¦¼"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "রমà§à¦¬à§‹"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "রাওয়া"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "রà§à¦¨à§à¦¦à¦¿"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "রà§à¦¶"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "রোমানীয়"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "রোমানà§à¦¸"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "লাও"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "লাঙà§à¦—ি"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "লাতà§â€Œà¦­à§€à¦¯à¦¼"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "লিঙà§à¦—ালা"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "লিথà§à¦¯à¦¼à§‡à¦¨à§€à¦¯à¦¼"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "লà§à¦‡à¦¯à¦¼à¦¾"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "লà§à¦•à§à¦¸à§‡à¦®à¦¬à¦¾à¦°à§à¦—ীয়"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "লà§à¦¬à¦¾-কাটাঙà§à¦—া"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "লà§à¦¯à¦¼à§‹"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "শামà§à¦¬à¦¾à¦²à¦¾"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "শোনা"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "সরলীকৃত চীনা"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "সাঙà§à¦—à§"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "সাঙà§à¦—ো"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "সামবà§à¦°à§"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "সারà§à¦¬à§€à¦¯à¦¼"
+ },
+ "si": {
+ "code": "si",
+ "name": "সিংহলী"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "সà§à¦‡à¦¡à¦¿à¦¶"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "সà§à¦‡à¦¸ উচà§à¦š জারà§à¦®à¦¾à¦¨à¦¿"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "সà§à¦‡à¦¸ জারà§à¦®à¦¾à¦¨"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "সà§à¦‡à¦¸ ফরাসি"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "সেনা"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "সেনà§à¦Ÿà§à¦°à¦¾à¦² আটলাস তামাজিগাত"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "সোগা"
+ },
+ "so": {
+ "code": "so",
+ "name": "সোমালী"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "সোয়াহিলি"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "সà§à¦•à¦Ÿà¦¸-গà§à¦¯à§‡à¦²à¦¿à¦•"
+ },
+ "es": {
+ "code": "es",
+ "name": "সà§à¦ªà§à¦¯à¦¾à¦¨à¦¿à¦¶"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "সà§à¦²à§‹à¦­à¦¾à¦•"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "সà§à¦²à§‹à¦­à§‡à¦¨à§€à¦¯à¦¼"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "হাউসা"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "হাঙà§à¦—েরীয়"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "হিনà§à¦¦à¦¿"
+ },
+ "he": {
+ "code": "he",
+ "name": "হিবà§à¦°à§"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/bn.json b/library/intl/resources/language/bn.json
new file mode 100644
index 000000000..d37c446c3
--- /dev/null
+++ b/library/intl/resources/language/bn.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "অসà§à¦Ÿà§à¦°à¦¿à¦¯à¦¼à¦¾à¦¨ জারà§à¦®à¦¾à¦¨à¦¿"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "অসà§à¦Ÿà§à¦°à§‡à¦²à§€à¦¯à¦¼ ইংরেজি"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "আইরিশ"
+ },
+ "is": {
+ "code": "is",
+ "name": "আইসলà§à¦¯à¦¾à¦¨à§à¦¡à§€à¦¯à¦¼"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "আকান"
+ },
+ "az": {
+ "code": "az",
+ "name": "আজারবাইজানী"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "আদরà§à¦¶ মরকà§à¦•à§‹à¦¨ তামাজিগাত"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "আধà§à¦¨à¦¿à¦• আদরà§à¦¶ আরবী"
+ },
+ "af": {
+ "code": "af",
+ "name": "আফà§à¦°à¦¿à¦•à¦¾à¦¨à§à¦¸"
+ },
+ "am": {
+ "code": "am",
+ "name": "আমহারিক"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "আমেরিকার ইংরেজি"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "আরবী"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "আরà§à¦®à§‡à¦¨à¦¿à¦¯à¦¼"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "আলবেনীয়"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "আসà§"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "আসà§à¦¤à§à¦°à¦¿à¦¯à¦¼"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ইউকà§à¦°à§‡à¦¨à§€à¦¯à¦¼"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ইউরোপীয় সà§à¦ªà§à¦¯à¦¾à¦¨à¦¿à¦¶"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ইউরোপের পরà§à¦¤à§à¦—ীজ"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ইওনà§à¦¡à§‹"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ইওরà§à¦¬à¦¾"
+ },
+ "en": {
+ "code": "en",
+ "name": "ইংরেজি"
+ },
+ "it": {
+ "code": "it",
+ "name": "ইতালীয়"
+ },
+ "id": {
+ "code": "id",
+ "name": "ইনà§à¦¦à§‹à¦¨à§‡à¦¶à§€à¦¯à¦¼"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "উইঘà§à¦°"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "উচà§à¦š সোরà§à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "উজবেকীয়"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "উতà§à¦¤à¦° à¦à¦¨à§à¦¦à§‡à¦¬à¦¿à¦²à¦¿"
+ },
+ "se": {
+ "code": "se",
+ "name": "উতà§à¦¤à¦°à¦¾à¦žà§à¦šà¦²à§€à¦¯à¦¼ সামি"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "উরà§à¦¦à§"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "à¦à¦˜à§‡à¦®"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "à¦à¦®à§à¦¬à§"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "à¦à¦¯à¦¼à§‡"
+ },
+ "et": {
+ "code": "et",
+ "name": "à¦à¦¸à§à¦¤à§‹à¦¨à§€à¦¯à¦¼"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "à¦à¦¸à§à¦ªà§‡à¦°à¦¾à¦¨à§à¦¤à§‹"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "à¦à¦¤à¦¿à¦¹à§à¦¯à¦¬à¦¾à¦¹à¦¿ চীনা"
+ },
+ "or": {
+ "code": "or",
+ "name": "ওড়িয়া"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ওয়েলশ"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "কঙà§à¦—ো সোয়াহিলি"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "কাজাখ"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "কাতালান"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "কানাডীয় ইংরেজি"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "কানাডীয় ফরাসি"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "কানà§à¦¨à¦¾à¦¡à¦¼à§€"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "কাবাইলে"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "কাবà§à¦­à¦¾à¦°à¦¦à¦¿à¦¯à¦¼à¦¾à¦¨à§"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "কামà§à¦¬à¦¾"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "কালেনজিন"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "কাশà§à¦®à§€à¦°à§€"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "কিকà§à§à¦‡à¦¯à¦¼à§"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "কিরà§à¦—িজ"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "কোয়রা চীনি"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "কোয়রাবেনো সেনà§à¦¨à§€"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "কোয়াসিও"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "কোরিয়ান"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "কà§à¦¯à¦¾à¦²à¦¾à¦²à§à¦²à¦¿à¦¸à§à¦Ÿ"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "কà§à¦°à§‹à¦¯à¦¼à§‡à¦¶à§€à¦¯à¦¼"
+ },
+ "km": {
+ "code": "km",
+ "name": "খমের"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "গানà§à¦¡à¦¾"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "গà§à¦œà¦°à¦¾à¦Ÿà¦¿"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "গà§à¦¸à§€"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "গোমà§à¦¬à¦¾"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "গà§à¦¯à¦¾à¦²à¦¿à¦¶à¦¿à¦¯à¦¼"
+ },
+ "el": {
+ "code": "el",
+ "name": "গà§à¦°à¦¿à¦•"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "চিগা"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "চীনা"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "চেক"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "চেরোকী"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "জরà§à¦œà¦¿à¦¯à¦¼à¦¾à¦¨"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "জলা-ফনী"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "জাপানি"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "জারà§à¦®à¦¾"
+ },
+ "de": {
+ "code": "de",
+ "name": "জারà§à¦®à¦¾à¦¨"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "জà§à¦²à§"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "জোঙà§à¦—া"
+ },
+ "to": {
+ "code": "to",
+ "name": "টোঙà§à¦—ান"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ডাচ"
+ },
+ "da": {
+ "code": "da",
+ "name": "ডেনিশ"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "তাইতা"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "তাচেলহিত"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "তামিল"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "তাসাওয়াক"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "তিগরিনিয়া"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "তিবà§à¦¬à¦¤à¦¿"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "তà§à¦°à§à¦•à§€"
+ },
+ "te": {
+ "code": "te",
+ "name": "তেলেগà§"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "তেসো"
+ },
+ "th": {
+ "code": "th",
+ "name": "থাই"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "নরওয়েজিয়ান বোকমাল"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "নরওয়েজীয়ান নিনরà§à¦¸à§à¦•"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "নামা"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "নিমà§à¦¨à¦¤à¦° সোরà§à¦¬à¦¿à¦¯à¦¼à¦¾à¦¨"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "নà§à¦¯à¦¼à¦¾à¦°"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "নেপালী"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "নà§à¦¯à¦¾à¦¯à¦¼à¦¾à¦™à§à¦•à§‹à¦²à§‡"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "পরà§à¦¤à§à¦—ীজ"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "পশà§à¦šà¦¿à¦® ফà§à¦°à¦¿à¦¸à¦¿à¦¯à¦¼"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "পাঞà§à¦œà¦¾à¦¬à§€"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "পাশà§à¦¤à§"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "পোলিশ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ফরাসি"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ফারà§à¦¸à¦¿"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ফিনিশ"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ফিলিপিনো"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "ফà§à¦²à¦¾à¦¹à§"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ফেরাউনি"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ফà§à¦°à¦¿à¦‰à¦²à¦¿à¦¯à¦¼à¦¾à¦¨"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ফà§à¦²à§‡à¦®à¦¿à¦¶"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "বড়ো"
+ },
+ "my": {
+ "code": "my",
+ "name": "বরà§à¦®à¦¿"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "বসনীয়ান"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "বাংলা"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "বাফিয়া"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "বামবারা"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "বাসা"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "বাসà§à¦•"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "বà§à¦²à¦—েরিয়"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "বেনা"
+ },
+ "be": {
+ "code": "be",
+ "name": "বেলারà§à¦¶à¦¿à¦¯à¦¼"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "বà§à¦°à¦¾à¦œà¦¿à¦²à§‡à¦° পরà§à¦¤à§à¦—ীজ"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "বà§à¦°à¦¿à¦Ÿà¦¿à¦¶ ইংরেজি"
+ },
+ "br": {
+ "code": "br",
+ "name": "বà§à¦°à§‡à¦Ÿà¦¨"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ভাই"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ভিয়েতনামী"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ভà§à¦žà§à¦œà§‹"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "মঙà§à¦—োলিয়"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "মরিসিয়ান"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "মলদাভিয়"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "মলà§à¦Ÿà¦¿à¦¯à¦¼"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "মাকামে"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "মাকোনà§à¦¦à§‡"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "মাখà§à¦¯à¦¼à¦¾-মেতà§à¦¤à§‹"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "মারাঠি"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "মালয়"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "মালাগাসি"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "মালায়ালাম"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "মাসাই"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "মà§à¦¦à¦¾à¦™à§à¦—"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "মেরà§"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "মà§à¦¯à¦¾à¦•à§à¦¸à¦¿à¦•à¦¾à¦¨ সà§à¦ªà§à¦¯à¦¾à¦¨à¦¿à¦¶"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "মà§à¦¯à¦¾à¦¸à¦¿à¦¡à§‹à¦¨à§€à¦¯à¦¼"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "রমà§à¦¬à§‹"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "রাওয়া"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "রà§à¦¨à§à¦¦à¦¿"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "রà§à¦¶"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "রোমানীয়"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "রোমানà§à¦¸"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "লাও"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "লাঙà§à¦—ি"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "লাতà§â€Œà¦­à§€à¦¯à¦¼"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "লিঙà§à¦—ালা"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "লিথà§à¦¯à¦¼à§‡à¦¨à§€à¦¯à¦¼"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "লà§à¦‡à¦¯à¦¼à¦¾"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "লà§à¦•à§à¦¸à§‡à¦®à¦¬à¦¾à¦°à§à¦—ীয়"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "লà§à¦¬à¦¾-কাটাঙà§à¦—া"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "লà§à¦¯à¦¼à§‹"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "শামà§à¦¬à¦¾à¦²à¦¾"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "শোনা"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "সরলীকৃত চীনা"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "সাঙà§à¦—à§"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "সাঙà§à¦—ো"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "সামবà§à¦°à§"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "সারà§à¦¬à§€à¦¯à¦¼"
+ },
+ "si": {
+ "code": "si",
+ "name": "সিংহলী"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "সà§à¦‡à¦¡à¦¿à¦¶"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "সà§à¦‡à¦¸ উচà§à¦š জারà§à¦®à¦¾à¦¨à¦¿"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "সà§à¦‡à¦¸ জারà§à¦®à¦¾à¦¨"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "সà§à¦‡à¦¸ ফরাসি"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "সেনা"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "সেনà§à¦Ÿà§à¦°à¦¾à¦² আটলাস তামাজিগাত"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "সোগা"
+ },
+ "so": {
+ "code": "so",
+ "name": "সোমালী"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "সোয়াহিলি"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "সà§à¦•à¦Ÿà¦¸-গà§à¦¯à§‡à¦²à¦¿à¦•"
+ },
+ "es": {
+ "code": "es",
+ "name": "সà§à¦ªà§à¦¯à¦¾à¦¨à¦¿à¦¶"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "সà§à¦²à§‹à¦­à¦¾à¦•"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "সà§à¦²à§‹à¦­à§‡à¦¨à§€à¦¯à¦¼"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "হাউসা"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "হাঙà§à¦—েরীয়"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "হিনà§à¦¦à¦¿"
+ },
+ "he": {
+ "code": "he",
+ "name": "হিবà§à¦°à§"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/bo.json b/library/intl/resources/language/bo.json
new file mode 100644
index 000000000..fe95eca3e
--- /dev/null
+++ b/library/intl/resources/language/bo.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharic"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabic"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarusian"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarian"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Czech"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Greek"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungarian"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persian"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romanian"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "ཀནྣ་ཌ་སà¾à½‘à¼"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "à½à½¼à¼‹à½¢à½ºà¼‹à½¡à½ à½²à¼‹à½¦à¾à½‘à¼"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "གུཇ་རཱà½à½²à¼‹à½¦à¾à½‘à¼"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "à½à½±à¼‹à½˜à½²à½£à¼‹à½¦à¾à½‘à¼"
+ },
+ "te": {
+ "code": "te",
+ "name": "à½à½ºà¼‹à½£à½´à¼‹à½‚ུ་སà¾à½‘à¼"
+ },
+ "da": {
+ "code": "da",
+ "name": "à½à½ºà½“་མག་གི་སà¾à½‘à¼"
+ },
+ "th": {
+ "code": "th",
+ "name": "à½à½ à½ à½²à¼‹à½¡à½´à½£à¼‹à½¦à¾à½‘à¼"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "à½à½´à½¢à¼‹à½à½ºà½ à½²à¼‹à½¦à¾à½‘à¼"
+ },
+ "it": {
+ "code": "it",
+ "name": "དབྱི་à½à¼‹à¼‹à½£à½ à½²à¼‹à½˜à½²à¼"
+ },
+ "en": {
+ "code": "en",
+ "name": "དབིན་ཇིའི་སà¾à½‘à¼"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "དབིན་ཇིའི་སà¾à½‘༠(à½à½ºà¼‹à½“་ཌ་)"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "དབིན་ཇིའི་སà¾à½‘༠(དབིན་ཇིའི་རྒྱལ་à½à½–་)"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "དབིན་ཇིའི་སà¾à½‘༠(ཨ་རི་)"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ནེ་པ་ལི"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ནོ་à½à½ºà¼‹à½¦à¾à½‘à¼"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "པ་ཞའི་མི༠ཕི་à½à½¼à¼‹à½¡à½ à½²à¼‹à½˜à½²à¼"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "པོ་ལན་སà¾à½‘à¼"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ཕི་à½à½¼à¼‹à½¡à½ à½²à¼"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "བྷང་ག་ལའི་སà¾à½‘à¼"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "བོད་སà¾à½‘་"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "མ་ར་à½à½²à¼‹à½¦à¾à½‘à¼"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "མ་ལ་ཡ་སà¾à½‘à¼"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "à½à½´à½ à½´à¼‹à½à½´à½ à½´à¼‹à½¦à¾à½‘à¼"
+ },
+ "es": {
+ "code": "es",
+ "name": "ཞི་པན་ཡའིà¼"
+ },
+ "si": {
+ "code": "si",
+ "name": "ཞི་ལན་སà¾à½‘à¼"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ཟུ་ལུ་སà¾à½‘à¼"
+ },
+ "de": {
+ "code": "de",
+ "name": "འཇར་མན་གྱིà¼"
+ },
+ "my": {
+ "code": "my",
+ "name": "འབར་མའི་སà¾à½‘à¼"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ཡུ་ཀྲ་ནི་སà¾à½‘à¼"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ཡུ་གུར་སà¾à½‘à¼"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ཡོ་ནན་སà¾à½‘à¼"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "རྒྱ་སà¾à½‘་"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "རྫོང་à½"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "རི་པིན་སà¾à½‘་"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "སྟབས་བརྡའི༠ཀྲུང་གོའིà¼"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "སྲོལ་རྒྱུན་གྱིà¼"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "སོག་སà¾à½‘à¼"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ཧྥ་རན་སིའི་à¼"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ཧའོ་ལན་སà¾à½‘à¼"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ཧྲུའི་à½à½“་སà¾à½‘à¼"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ཧིན་དི"
+ },
+ "id": {
+ "code": "id",
+ "name": "ཨིན་དོ་ནི་སི་སà¾à½‘à¼"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ཨུ་རུ་སུ་སà¾à½‘་"
+ },
+ "or": {
+ "code": "or",
+ "name": "ཨཽ་རི་ཡ་སà¾à½‘à¼"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/br.json b/library/intl/resources/language/br.json
new file mode 100644
index 000000000..56cb8c8b9
--- /dev/null
+++ b/library/intl/resources/language/br.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "de": {
+ "code": "de",
+ "name": "alamaneg"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alamaneg Aostria"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alamaneg Suis"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alamaneg uhel Suis"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albaneg"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhareg"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabeg"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "arabeg modern"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenianeg"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azeri"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basaa"
+ },
+ "be": {
+ "code": "be",
+ "name": "belaruseg"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmaneg"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosneg"
+ },
+ "br": {
+ "code": "br",
+ "name": "brezhoneg"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgareg"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "daneg"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanteg"
+ },
+ "et": {
+ "code": "et",
+ "name": "estoneg"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "euskareg"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faeroeg"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipineg"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finneg"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flandrezeg"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "frioulaneg"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frizeg ar Cʼhornôg"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galizeg"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "galleg"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "galleg Kanada"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "galleg Suis"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "gresianeg"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haousa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraeg"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hungareg"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonezeg"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandeg"
+ },
+ "it": {
+ "code": "it",
+ "name": "italianeg"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "iwerzhoneg"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "izelsorabeg"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japaneg"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "jorjianeg"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabileg"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kabuverdianu"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kanareg"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalaneg"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazak"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "kembraeg"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiz"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreaneg"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroateg"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laoseg"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latvieg"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituaneg"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luksembourgeg"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedoneg"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayseg"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgacheg"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "malteg"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldoveg"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoleg"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "moriseg"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele an Norzh"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nederlandeg"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepaleg"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norvegeg bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norvegeg nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ouigoureg"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ourdou"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ouzbekeg"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pachto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "perseg"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "poloneg"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugaleg"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugaleg Brazil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugaleg Europa"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabi"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romañcheg"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "roumaneg"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rusianeg"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sámi an Norzh"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "en": {
+ "code": "en",
+ "name": "saozneg"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "saozneg Amerika"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "saozneg Aostralia"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "saozneg Breizh-Veur"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "saozneg Kanada"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbeg"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "sinaeg"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "sinaeg eeunaet"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "sinaeg hengounel"
+ },
+ "si": {
+ "code": "si",
+ "name": "singhaleg"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "skoseg"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakeg"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "sloveneg"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "spagnoleg"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "spagnoleg Europa"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "spagnoleg Mecʼhiko"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svedeg"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamacheg Maroko standart"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamileg"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tchekeg"
+ },
+ "te": {
+ "code": "te",
+ "name": "telougou"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetaneg"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrigna"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turkeg"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "uhelsorabeg"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukraineg"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnameg"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yorouba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zouloueg"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/brx.json b/library/intl/resources/language/brx.json
new file mode 100644
index 000000000..34d707a33
--- /dev/null
+++ b/library/intl/resources/language/brx.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "अकन"
+ },
+ "en": {
+ "code": "en",
+ "name": "अंगà¥à¤°à¥‡à¤œà¤¼à¥€"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "अंगà¥à¤°à¥‡à¤œà¤¼à¥€ (अमरिकी)"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "अंगà¥à¤°à¥‡à¤œà¤¼à¥€ (ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¾ का)"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "अंगà¥à¤°à¥‡à¤œà¤¼à¥€ (कनाडाई)"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "अंगà¥à¤°à¥‡à¤œà¥€ (बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶)"
+ },
+ "az": {
+ "code": "az",
+ "name": "अज़रबैजानी"
+ },
+ "af": {
+ "code": "af",
+ "name": "अफà¥à¤°à¥€à¤•à¥€"
+ },
+ "am": {
+ "code": "am",
+ "name": "अमà¥à¤¹à¤¾à¤°à¤¿à¤•à¥"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "अरबी"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "अरमेनियनà¥"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "आईरिश"
+ },
+ "is": {
+ "code": "is",
+ "name": "आईसà¥à¤²à¥ˆà¤‚डिकà¥"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "आलà¥à¤¬à¥‡à¤¨à¤¿à¤¯à¤¨à¥"
+ },
+ "id": {
+ "code": "id",
+ "name": "इनà¥à¤¡à¥‹à¤¨à¥‡à¤¶à¤¿à¤¯à¤¨à¥"
+ },
+ "it": {
+ "code": "it",
+ "name": "ईटालियनà¥"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ईवेरियाई सà¥à¤ªà¥ˆà¤¨à¤¿à¤¶"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "उईग़à¥à¤°"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "उचà¥à¤š सà¥à¤¤à¤°à¤¿à¤¯ सà¥à¤µà¥€à¤¸ जरà¥à¤®à¤¨"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "उज़बेकà¥"
+ },
+ "or": {
+ "code": "or",
+ "name": "उड़िया"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "उतà¥à¤¤à¤° नà¥à¤¦à¤¬à¥‡à¤²à¥‡"
+ },
+ "se": {
+ "code": "se",
+ "name": "उतà¥à¤¤à¤°à¥€ सामी"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ऊपरी सौरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ऊरà¥à¤¦à¥"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "à¤à¤µà¥‡"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "à¤à¤µà¥Œà¤‚डो"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "à¤à¤¸à¥à¤ªà¥‡à¤°à¤¾à¤¨à¥à¤¤à¥‹"
+ },
+ "et": {
+ "code": "et",
+ "name": "à¤à¤¸à¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¨à¥"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "क़ज़ाख़à¥"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "कनà¥à¤¨à¤¡à¥"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "कंबा"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "कलालीसà¥à¤¤"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "कशà¥à¤®à¤¿à¤°à¥€"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "कातालानà¥"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "काबीलà¥"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "किकà¥à¤¯à¥"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "किरग़ीज़à¥"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "किरूनà¥à¤¦à¥€"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "कोरीयनà¥"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¨à¥"
+ },
+ "km": {
+ "code": "km",
+ "name": "खà¥à¤®à¥‡à¤°"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "गांडा"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "गà¥à¤œà¤°à¤¾à¤¤à¥€"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "गैलिशियनà¥"
+ },
+ "el": {
+ "code": "el",
+ "name": "गà¥à¤°à¥€à¤•"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "चीनी"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "चीनी (पारमà¥à¤ªà¤°à¤¿à¤•)"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "चीनी (सरलीकृत)"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "चीरोकी"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "चेकà¥"
+ },
+ "de": {
+ "code": "de",
+ "name": "ज़रà¥à¤®à¤¨"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "जरà¥à¤®à¤¨ (ऑसà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾)"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "जापानी"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ज़à¥à¤²à¥‚"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "जॉरà¥à¤œà¤¿à¤¯à¤¨à¥"
+ },
+ "to": {
+ "code": "to",
+ "name": "टॉंगा"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "डचà¥"
+ },
+ "da": {
+ "code": "da",
+ "name": "डैनीशà¥"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "तमिळ"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "तिगà¥à¤°à¥€à¤¨à¥à¤¯à¤¾"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "तिबà¥à¤¬à¤¤à¥€"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "तà¥à¤°à¥à¤•à¥€"
+ },
+ "te": {
+ "code": "te",
+ "name": "तेलà¥à¤—à¥"
+ },
+ "th": {
+ "code": "th",
+ "name": "थाई"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "नेपाली"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "नॉरà¥à¤µà¥‡à¤œà¤¿à¤¯à¤¨à¥ नीनॉरà¥à¤¸à¥à¤•à¥"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "नोरà¥à¤µà¥‡à¤—ी बोकमाल"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "नà¥à¤¯à¤¾à¤¨à¤•à¥‹à¤²à¥‡"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "पख़à¥à¤¤à¥"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "पंजाबी"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "पशà¥à¤šà¥€à¤®à¥€ फà¥à¤°à¥€à¤œà¤¼à¤¿à¤¯à¤¨à¥"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "पà¥à¤°à¥à¤¤à¤—ाली"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "पोलिश"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "फारà¥à¤¸à¥€"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "फिनिशà¥"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "फिरोज़ी"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "फिलिपिनो"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "फà¥à¤²à¤¾à¤¹à¥"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "फà¥à¤°à¤¾à¤‚सीसी"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "फà¥à¤°à¤¾à¤‚सीसी (कनाडाई)"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "फà¥à¤°à¤¾à¤‚सीसी (सà¥à¤µà¥€à¤¸)"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "फà¥à¤°à¥€à¤‰à¤²à¥€à¤…नà¥"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "फà¥à¤²à¥‡à¤®à¥€"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "बंगला"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "बड़ो"
+ },
+ "my": {
+ "code": "my",
+ "name": "बरà¥à¤®à¥€"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "बलà¥à¤—ैरियनà¥"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "बांबारा"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "बासà¥à¤•à¥"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "बासà¥à¤•à¤¼à¥"
+ },
+ "be": {
+ "code": "be",
+ "name": "बैलोरूसियनà¥"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "br": {
+ "code": "br",
+ "name": "बà¥à¤°à¤Ÿà¥‹à¤‚"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "भà¥à¤Ÿà¤¾à¤¨à¥€"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "मराठी"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "मलयालम"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "मलाय"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "मसाई"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "मालटीज़à¥"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "मालागासी"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "मैसेडोनियनà¥"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "मोंगोलियन"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "मोलà¥à¤¡à¥‡à¤µà¤¿à¤¯à¤¨à¥"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "यूकà¥à¤°à¥‡à¤¨à¤¿à¤¯à¤¨à¥"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "योरूबा"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "रà¥à¤¸à¥€"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "रूमानीयनà¥"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "रेहà¥à¤Ÿà¥‹-रोमानà¥à¤¸"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "लाओसीयनà¥"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "लाटवियनॠ(लैटà¥à¤Ÿà¥€à¤¶)"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "लिंगाला"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¨à¥"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "लà¥à¤“"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "लà¥à¤•à¥à¤¸à¤®à¤¬à¥à¤°à¥à¤—ी"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "लà¥à¤¬à¤¾ कटांगा"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "वाई"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "वियेतनामी"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "वैलà¥à¤¶à¥"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "शोना"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¨à¥"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "सांगà¥à¤°à¥‹"
+ },
+ "si": {
+ "code": "si",
+ "name": "सींहाला"
+ },
+ "so": {
+ "code": "so",
+ "name": "सोमाली"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "सोरà¥à¤¬à¤¿à¤¯à¤¨à¥"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "सà¥à¤•à¥‰à¤Ÿà¥à¤¸à¥ गैलिकà¥"
+ },
+ "es": {
+ "code": "es",
+ "name": "सà¥à¤ªà¥ˆà¤¨à¤¿à¤¶"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "सà¥à¤²à¥‹à¤µà¤¾à¤•à¥"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "सà¥à¤²à¥‹à¤µà¥‡à¤¨à¤¿à¤¯à¤¨à¥"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "सà¥à¤µà¥€à¤¡à¤¿à¤¶"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "सà¥à¤µà¥€à¤¸ जरà¥à¤®à¤¨"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "हउसा"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "हंगैरीयनà¥"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "हिंदी"
+ },
+ "he": {
+ "code": "he",
+ "name": "हिबà¥à¤°à¥"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/bs-Cyrl.json b/library/intl/resources/language/bs-Cyrl.json
new file mode 100644
index 000000000..2d82ca21a
--- /dev/null
+++ b/library/intl/resources/language/bs-Cyrl.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "az": {
+ "code": "az",
+ "name": "азербејџанÑки"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "акан"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "албанÑки"
+ },
+ "am": {
+ "code": "am",
+ "name": "амхарÑки"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "арапÑки"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "аÑтуријÑки"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ÐуÑтралијÑки енглеÑки"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ÐуÑтријÑки немачки"
+ },
+ "af": {
+ "code": "af",
+ "name": "африканерÑки"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "бамбара"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "баÑа"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "баÑкијÑки"
+ },
+ "be": {
+ "code": "be",
+ "name": "белоруÑки"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "бенглаÑки"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "боÑанÑки"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "БразилÑки португалÑки"
+ },
+ "br": {
+ "code": "br",
+ "name": "бретонÑки"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "БританÑки енглеÑки"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "бугарÑки"
+ },
+ "my": {
+ "code": "my",
+ "name": "бурманÑки"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ваи"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "велшки"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "вијетнамÑки"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "галÑки"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ганда"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "горњи ÑорбијÑки"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "грузијÑки"
+ },
+ "el": {
+ "code": "el",
+ "name": "грчки"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "гуџарати"
+ },
+ "da": {
+ "code": "da",
+ "name": "данÑки"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "еве"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "евондо"
+ },
+ "en": {
+ "code": "en",
+ "name": "енглеÑки"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "еÑперанто"
+ },
+ "et": {
+ "code": "et",
+ "name": "еÑтонÑки"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "зулу"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ИберијÑки португалÑки"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ИберијÑки шпанÑки"
+ },
+ "id": {
+ "code": "id",
+ "name": "индонежанÑки"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ирÑки"
+ },
+ "is": {
+ "code": "is",
+ "name": "иÑландÑки"
+ },
+ "it": {
+ "code": "it",
+ "name": "италијанÑки"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "јапанÑки"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "јерменÑки"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "јоруба"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "кабиле"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "калалиÑут"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "камба"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "канада"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "КанадÑки енглеÑки"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "КанадÑки француÑки"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "каталонÑки"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "кашмирÑки"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "кикују"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "кинеÑки"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "кинеÑки (поједноÑтављен)"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "кинеÑки (традиционални)"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "киргиÑки"
+ },
+ "km": {
+ "code": "km",
+ "name": "кмерÑки"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "козачки"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "корејÑки"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "лаоÑки"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "летонÑки"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "лингала"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "литванÑки"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "луба-катанга"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "лукÑембуршки"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "луо"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "мађарÑки"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "македонÑки"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "малагаÑијÑки"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "малајалам"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "малајÑки"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "марати"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "маÑаи"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "мелтешки"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "молдавÑки"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "монголÑки"
+ },
+ "de": {
+ "code": "de",
+ "name": "немачки"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "непалÑки"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "ниÑки ÑорбијанÑки"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "норвешки бокмал"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "норвешки њорÑк"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "њанколе"
+ },
+ "or": {
+ "code": "or",
+ "name": "оријÑки"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "панџабÑки"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "паштунÑки"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "перÑијÑки"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "пољÑки"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "португалÑки"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "рето-романÑки"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "румунÑки"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "рунди"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "руÑки"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "СÐД енглеÑки"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Ñанго"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Ñвахили"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ñеверни ндебеле"
+ },
+ "se": {
+ "code": "se",
+ "name": "Ñеверни Ñами"
+ },
+ "si": {
+ "code": "si",
+ "name": "ÑингалеÑки"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Ñловачки"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Ñловеначки"
+ },
+ "so": {
+ "code": "so",
+ "name": "ÑомалÑки"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ÑрпÑки"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "тагалог"
+ },
+ "th": {
+ "code": "th",
+ "name": "тајландÑки"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "тамилÑки"
+ },
+ "te": {
+ "code": "te",
+ "name": "телугу"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "тибетанÑки"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "тигриња"
+ },
+ "to": {
+ "code": "to",
+ "name": "тонга"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "турÑки"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "узбечки"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ујгурÑки"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "украјинÑки"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "урду"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "фарÑки"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "финÑки"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "фламанÑки"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "француÑки"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "фризијÑки"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "фриулијÑки"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "фулах"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "хауÑа"
+ },
+ "he": {
+ "code": "he",
+ "name": "хебрејÑки"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "хинди"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "холандÑки"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "хрватÑки"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "чероки"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "чешки"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "џонга"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "ШвајцарÑки виÑоки немачки"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "швајцарÑки немачки"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "ШвајцарÑки француÑки"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "шведÑки"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "шкотÑки галÑки"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "шона"
+ },
+ "es": {
+ "code": "es",
+ "name": "шпанÑки"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/bs.json b/library/intl/resources/language/bs.json
new file mode 100644
index 000000000..ae98240ad
--- /dev/null
+++ b/library/intl/resources/language/bs.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikanerski"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanski"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ameriÄki engleski"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharski"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arapski"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturijski"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "australski engleski"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "austrijski njemaÄki"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbejdžanski"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskijski"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalski"
+ },
+ "be": {
+ "code": "be",
+ "name": "bjeloruski"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosanski"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonski"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "britanski engleski"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bugarski"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmanski"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ÄeÅ¡ki"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Äiga"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Äiroki"
+ },
+ "da": {
+ "code": "da",
+ "name": "danski"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "donjolužiÄkosrpski"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "džonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "engleski"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonski"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "eve"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "evondo"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "evropski Å¡panski"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "farski"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipinski"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finski"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamanski"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francuski"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulijski"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frizijski"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galski"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "gornjolužiÄkosrpski"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "gornjonjemaÄki (Å¡vicarski)"
+ },
+ "el": {
+ "code": "el",
+ "name": "grÄki"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruzijski"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrejski"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandski"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "hrvatski"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonezijski"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irski"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandski"
+ },
+ "it": {
+ "code": "it",
+ "name": "italijanski"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japanski"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "jermenski"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "jorubanski"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabile"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalalisutski"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kanada"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadski engleski"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadski francuski"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kašmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalonski"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazaÄki"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kelnski"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuju"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kineski"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "kineski (pojednostavljeni)"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "kineski (tradicionalni)"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiski"
+ },
+ "km": {
+ "code": "km",
+ "name": "kmerski"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "kojraboro seni"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "kongoanski swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korejski"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laoški"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letonski"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litvanski"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luksemburški"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "mađarski"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonski"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagazijski"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajski"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "malteški"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marati"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "marokanski tamazigt"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "mauricijski kreolski"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "meksiÄki Å¡panski"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "moderni standardni arapski"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavski"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolski"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalski"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norveški bokmal"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norveški njorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "njankole"
+ },
+ "de": {
+ "code": "de",
+ "name": "njemaÄki"
+ },
+ "or": {
+ "code": "or",
+ "name": "orijski"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandžabski"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paštunski"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "perzijski"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "poljski"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalski"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "reto-romanski"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rua"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumunski"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruski"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "si": {
+ "code": "si",
+ "name": "singaleski"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "sjeverni ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "sjeverni sami"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovaÄki"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovenaÄki"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalski"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "srpski"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "standardni marokanski tamazigt"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "svahili"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Å¡kotski galski"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Å¡ona"
+ },
+ "es": {
+ "code": "es",
+ "name": "Å¡panski"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Å¡vajcarski francuski"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Å¡vajcarski njemaÄki"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Å¡vedski"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tahelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "th": {
+ "code": "th",
+ "name": "tajlandski"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilski"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasavak"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetanski"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turski"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujgurski"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrajinski"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeÄki"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vijetnamski"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "zelenortski"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ca.json b/library/intl/resources/language/ca.json
new file mode 100644
index 000000000..c6d582ad9
--- /dev/null
+++ b/library/intl/resources/language/ca.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "àkan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanès"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemany"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemany austríac"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemany suís"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alt alemany suís"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alt sòrab"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "amazic del Marroc central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "amazic estàndard marroquí"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhàric"
+ },
+ "en": {
+ "code": "en",
+ "name": "anglès"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "anglès americà"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "anglès australià"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "anglès britànic"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "anglès canadenc"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "àrab"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "àrab estàndard modern"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeni"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturià"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaidjanès"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baix sòrab"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basc"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorús"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmà"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "bissio"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnià"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretó"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgar"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabilenc"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "caixmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "català"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "colognian"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreà"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "crioll capverdià"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croat"
+ },
+ "da": {
+ "code": "da",
+ "name": "danès"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "diola"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongka"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovac"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "eslovè"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanyol"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espanyol de Mèxic"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanyol europeu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonià"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroès"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipí"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finès"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenc"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francès"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francès canadenc"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francès suís"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisó oriental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friülà"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "ful"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaèlic escocès"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallec"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "gal·lès"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgià"
+ },
+ "el": {
+ "code": "el",
+ "name": "grec"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grenlandès"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusí"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haussa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreu"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hongarès"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandès"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandès"
+ },
+ "it": {
+ "code": "it",
+ "name": "italià"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonès"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuiu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosià"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letó"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituà"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburguès"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedoni"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-metto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malai"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaiàlam"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaix"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltès"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massai"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "mauricià"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldau"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandès"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalès"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "noruec bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "noruec nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paixtu"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "pare"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polonès"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portuguès"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portuguès de Portugal"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portuguès del Brasil"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromànic"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romanès"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rus"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwo"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbi"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalès"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "songhai oriental"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suahili del Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "suec"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandès"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "taixelhit"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tàmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetà"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongalès"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turc"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "txec"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraïnès"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdú"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "xinès"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "xinès simplificat"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "xinès tradicional"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/cgg.json b/library/intl/resources/language/cgg.json
new file mode 100644
index 000000000..8d03b2c4a
--- /dev/null
+++ b/library/intl/resources/language/cgg.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Oru-Urudu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Orubengari"
+ },
+ "be": {
+ "code": "be",
+ "name": "Oruberarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Oruburugariya"
+ },
+ "my": {
+ "code": "my",
+ "name": "Oruburuma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Oruceeki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Oruchaina"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Orudaaki"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Orufaransa"
+ },
+ "de": {
+ "code": "de",
+ "name": "Orugirimaani"
+ },
+ "el": {
+ "code": "el",
+ "name": "Oruguriiki"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Oruhangare"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Oruharabu"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Oruhausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Oruhindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "Oruindonezia"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Orujapaani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Orukambodiya"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Orukani"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Orukoreya"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Orukuraini"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Orukuruki"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Orumalesiya"
+ },
+ "am": {
+ "code": "am",
+ "name": "Orumariki"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Orunepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Orungyereza"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Orupaasiya"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Orupocugo"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Orupoori"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Orupungyabi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Oruromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Orurrasha"
+ },
+ "so": {
+ "code": "so",
+ "name": "Orusomaari"
+ },
+ "es": {
+ "code": "es",
+ "name": "Orusupaani"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Oruswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Orutailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Orutamiri"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Oruviyetinaamu"
+ },
+ "it": {
+ "code": "it",
+ "name": "Oruyitare"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Oruyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Oruzuru"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Rukiga"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/chr.json b/library/intl/resources/language/chr.json
new file mode 100644
index 000000000..909afb89c
--- /dev/null
+++ b/library/intl/resources/language/chr.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharic"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabic"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarusian"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarian"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Czech"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Dutch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Greek"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungarian"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesian"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korean"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persian"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polish"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romanian"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Swedish"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turkish"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainian"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamese"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ },
+ "de": {
+ "code": "de",
+ "name": "Ꭰá‚á“á¥"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ᎦᎸá¥"
+ },
+ "en": {
+ "code": "en",
+ "name": "ᎩᎵá"
+ },
+ "it": {
+ "code": "it",
+ "name": "Ꭼá©áŽµá²á¥áŽ¢"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "á‰á§áŽ¦áŽµ"
+ },
+ "es": {
+ "code": "es",
+ "name": "áá†á‚"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "á“Ꮆá‚Ꭸ"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "á£áŽ³áŽ©"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "á£á©á‚á"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "á²á‚Ꭲ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/cs.json b/library/intl/resources/language/cs.json
new file mode 100644
index 000000000..b650d8452
--- /dev/null
+++ b/library/intl/resources/language/cs.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikánština"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanština"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albánština"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharština"
+ },
+ "en": {
+ "code": "en",
+ "name": "angliÄtina"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "angliÄtina (USA)"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabština"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "arabština (moderní standardní)"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménština"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturština"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "ázerbájdžánština"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambarština"
+ },
+ "my": {
+ "code": "my",
+ "name": "barmština"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskiÄtina"
+ },
+ "be": {
+ "code": "be",
+ "name": "běloruština"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengálština"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodoština"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosenština"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonština"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulharština"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ÄerokézÅ¡tina"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ÄeÅ¡tina"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ÄínÅ¡tina"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ÄínÅ¡tina (zjednoduÅ¡ená)"
+ },
+ "da": {
+ "code": "da",
+ "name": "dánština"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "dolnolužická srbština"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkä"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonština"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "eweština"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faerština"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipínština"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finština"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francouzština"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "fríština"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulbština"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "furlanština"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicijština"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "gandština"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grónština"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruzínština"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžarátština"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hauština"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrejština"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindština"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "hornolužická srbština"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "chorvatština"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonéština"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irština"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandština"
+ },
+ "it": {
+ "code": "it",
+ "name": "italština"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "jangbenština"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonština"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "jorubština"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabylština"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalendžin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kambština"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannadština"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kapverdština"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kašmírština"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalánština"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazaština"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmérština"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "kiga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikujština"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kirundština"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kolínština"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korejština"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kyrgyzština"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laoština"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingalština"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litevština"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "lotyština"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "lubu-katanžština"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "lucemburština"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhja"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "luoština"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "maÄarÅ¡tina"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonština"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajálamština"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajština"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaština"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltština"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maráthština"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masajština"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "mašame"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "mauricijská kreolština"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavština"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolština"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "namaština"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ňankolština"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele (Zimbabwe)"
+ },
+ "de": {
+ "code": "de",
+ "name": "nÄ›mÄina"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "nÄ›mÄina (Å výcarsko)"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "nÄ›mÄina (walser)"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "nÄ›mÄina standardní (Å výcarsko)"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepálština"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nizozemština"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norština (bokmål)"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norština (nynorsk)"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuerština"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "paňdžábština"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paštština"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "perština"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polština"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalština"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugalština (Evropa)"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "rétorománština"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumunština"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruština"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Å™eÄtina"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sámština (severní)"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangoština"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sangština"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhálština"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "skotská gaelština"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovenština"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovinština"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "sogština"
+ },
+ "so": {
+ "code": "so",
+ "name": "somálština"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "srbština"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "svahilština"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "svahilština (Kongo)"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Å¡ambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "šonština"
+ },
+ "es": {
+ "code": "es",
+ "name": "španělština"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "španělština (Evropa)"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "švédština"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight (standardní marocký)"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight (střední Maroko)"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilština"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugština"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thajština"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetština"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinijština"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongánština"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "tureÄtina"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujgurština"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrajinština"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdština"
+ },
+ "or": {
+ "code": "or",
+ "name": "urijština"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeÄtina"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "velština"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamština"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "vlámština"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarmština"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zuluština"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/cy.json b/library/intl/resources/language/cy.json
new file mode 100644
index 000000000..fe8df481f
--- /dev/null
+++ b/library/intl/resources/language/cy.json
@@ -0,0 +1,738 @@
+{
+ "ak": {
+ "code": "ak",
+ "name": "Acaneg"
+ },
+ "af": {
+ "code": "af",
+ "name": "Affricâneg"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghemeg"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albaneg"
+ },
+ "de": {
+ "code": "de",
+ "name": "Almaeneg"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Almaeneg Awstria"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Almaeneg Safonol y Swistir"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Almaeneg y Swistir"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amhareg"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabeg"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Arabeg Modern Safonol"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armeneg"
+ },
+ "az": {
+ "code": "az",
+ "name": "Aserbaijaneg"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Baffia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambareg"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basâeg"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basgeg"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengaleg"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarwseg"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnieg"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bwlgareg"
+ },
+ "my": {
+ "code": "my",
+ "name": "Byrmaneg"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Cabileg"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Caboferdianeg"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Camba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Casacheg"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Cashmireg"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalaneg"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Cirgiseg"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Coreeg"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croateg"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Cwleneg"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Cymraeg"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "km": {
+ "code": "km",
+ "name": "Chmereg"
+ },
+ "da": {
+ "code": "da",
+ "name": "Daneg"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "it": {
+ "code": "it",
+ "name": "Eidaleg"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embw"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estoneg"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Faieg"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Fietnameg"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Ffaröeg"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Ffilipineg"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Ffinneg"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Fflemeg"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ffrangeg"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Ffrangeg Canada"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Ffrangeg y Swistir"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Ffriseg y Gorllewin"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Ffriwleg"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Ffwla"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Gaeleg yr Alban"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galisieg"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgeg"
+ },
+ "el": {
+ "code": "el",
+ "name": "Groeg"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gwjarati"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Gwyddeleg"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hawsa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebraeg"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hwngareg"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indoneseg"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Iorwba"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Iseldireg"
+ },
+ "is": {
+ "code": "is",
+ "name": "Islandeg"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japaneeg"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laoeg"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latfieg"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithwaneg"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Lwcsembwrgeg"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Lŵo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Lwyia"
+ },
+ "br": {
+ "code": "br",
+ "name": "Llydaweg"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedoneg"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Macondeg"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagaseg"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Maleieg"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Malteg"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mas"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Matsiame"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Mêrw"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongoleg"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldofeg"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ndebele Gogleddol"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepaleg"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Niancole"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwyeg Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwyeg Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nŵereg"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Perseg"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portiwgeeg"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Portiwgeeg Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Portiwgeeg Ewrop"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Pwnjabeg"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Pwyleg"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romaunsch"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rwmaneg"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rwndi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rwseg"
+ },
+ "en": {
+ "code": "en",
+ "name": "Saesneg"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Saesneg America"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Saesneg Awstralia"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Saesneg Canada"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Saesneg Prydain"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangw"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Sambŵrw"
+ },
+ "se": {
+ "code": "se",
+ "name": "Sami Gogleddol"
+ },
+ "es": {
+ "code": "es",
+ "name": "Sbaeneg"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Sbaeneg Ewrop"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Sbaeneg Mecsico"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbeg"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhaleg"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slofaceg"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slofeneg"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somaleg"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Sorbeg Isaf"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Sorbeg Uchaf"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Swahili’r Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Swedeg"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Swlw"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Tamazight Safonol Moroco"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamileg"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibeteg"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongeg"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tsieceg"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Tsieineeg"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Tsieineeg Symledig"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Tsieineeg Traddodiadol"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Tsierocî"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Tyrceg"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uighur"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Wcreineg"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Wrdw"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Wsbeceg"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarmaeg"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/da.json b/library/intl/resources/language/da.json
new file mode 100644
index 000000000..444b19ecd
--- /dev/null
+++ b/library/intl/resources/language/da.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albansk"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "amerikansk engelsk"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharisk"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabisk"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armensk"
+ },
+ "az": {
+ "code": "az",
+ "name": "aserbajdsjansk"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturisk"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "australsk engelsk"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskisk"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnisk"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brasiliansk portugisisk"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonsk"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "britisk engelsk"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgarsk"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmesisk"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "canadisk engelsk"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "canadisk fransk"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalansk"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "centralmarokkansk tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "congolesisk swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "dansk"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "en": {
+ "code": "en",
+ "name": "engelsk"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estisk"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "europæisk portugisisk"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "europæisk spansk"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippinsk"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finsk"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamsk"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "forenklet kinesisk"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "fransk"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisisk"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulah"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "færøsk"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicisk"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgisk"
+ },
+ "el": {
+ "code": "el",
+ "name": "græsk"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grønlandsk"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraisk"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "hollandsk"
+ },
+ "be": {
+ "code": "be",
+ "name": "hviderussisk"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesisk"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irsk"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandsk"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiensk"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japansk"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabylisk"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kapverdisk"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kasakhisk"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmiri"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "kiembu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kinesisk"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgisisk"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreansk"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra-chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroatisk"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "lettisk"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litauisk"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxembourgsk"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyana"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonsk"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagassisk"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltesisk"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathisk"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "mexicansk spansk"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "moderne standardarabisk"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldovisk"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolsk"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "nedersorbisk"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalesisk"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "nordndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "nordsamisk"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norsk bokmål"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persisk"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polsk"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugisisk"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabi"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumænsk"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russisk"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "rætoromansk"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "schweizerhøjtysk"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "schweizertysk"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "schweizisk fransk"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbisk"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalesisk"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "skotsk gælisk"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakisk"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovensk"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalisk"
+ },
+ "es": {
+ "code": "es",
+ "name": "spansk"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svensk"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilsk"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thailandsk"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetansk"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinya"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tjekkisk"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongansk"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "traditionelt kinesisk"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "tyrkisk"
+ },
+ "de": {
+ "code": "de",
+ "name": "tysk"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainsk"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungarsk"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbekisk"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uygurisk"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamesisk"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "walisisk"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walsertysk"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "østrigsk tysk"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "øvresorbisk"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/dav.json b/library/intl/resources/language/dav.json
new file mode 100644
index 000000000..46ce96046
--- /dev/null
+++ b/library/intl/resources/language/dav.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kingereza"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Kitaita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/de-CH.json b/library/intl/resources/language/de-CH.json
new file mode 100644
index 000000000..d4711f0d2
--- /dev/null
+++ b/library/intl/resources/language/de-CH.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanisch"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Amerikanisches Englisch"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharisch"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabisch"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenisch"
+ },
+ "az": {
+ "code": "az",
+ "name": "Aserbaidschanisch"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturianisch"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Australisches Englisch"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara-Sprache"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa-Sprache"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Baskisch"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengalisch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Bhutanisch"
+ },
+ "my": {
+ "code": "my",
+ "name": "Birmanisch"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnisch"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brasilianisches Portugiesisch"
+ },
+ "br": {
+ "code": "br",
+ "name": "Bretonisch"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Britisches Englisch"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarisch"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chinesisch"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Chinesisch (traditionell)"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Chinesisch (vereinfacht)"
+ },
+ "da": {
+ "code": "da",
+ "name": "Dänisch"
+ },
+ "de": {
+ "code": "de",
+ "name": "Deutsch"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Diola"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "Englisch"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estnisch"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Europäisches Portugiesisch"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Europäisches Spanisch"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Färöisch"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnisch"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flämisch"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Französisch"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulisch"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Ful"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galizisch"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgisch"
+ },
+ "el": {
+ "code": "el",
+ "name": "Griechisch"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Grönländisch"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebräisch"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesisch"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irisch"
+ },
+ "is": {
+ "code": "is",
+ "name": "Isländisch"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italienisch"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japanisch"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabylisch"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kambodschanisch"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Kanadisches Englisch"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Kanadisches Französisch"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kasachisch"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kaschmirisch"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalanisch"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgisisch"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Kölsch"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongo-Suaheli"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreanisch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyra Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroatisch"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laotisch"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Lettisch"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Litauisch"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luhya"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo-Sprache"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxemburgisch"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Madagassisch"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malaiisch"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltesisch"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Massai-Sprache"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Mazedonisch"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Mexikanisches Spanisch"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Modernes Hocharabisch"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldauisch"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolisch"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepalesisch"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Niederländisch"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Niedersorbisch"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Nord-Ndebele-Sprache"
+ },
+ "se": {
+ "code": "se",
+ "name": "Nord-Samisch"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegisch Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegisch Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Obersorbisch"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Österreichisches Deutsch"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Panjabi"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Pare"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Paschtu"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persisch"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polnisch"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugiesisch"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Rätoromanisch"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Rukiga"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumänisch"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi-Sprache"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russisch"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Schottisches Gälisch"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Schwedisch"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Schweizer Französisch"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Schweizer Hochdeutsch"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Schweizerdeutsch"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbisch"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Singhalesisch"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slowakisch"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slowenisch"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spanisch"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Suaheli"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Tamazight"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamilisch"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Taschelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thailändisch"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetisch"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongaisch"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tschechisch"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Türkisch"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uigurisch"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainisch"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ungarisch"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Usbekisch"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamesisch"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Walisisch"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser-Dialekte"
+ },
+ "be": {
+ "code": "be",
+ "name": "Weissrussisch"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Westfriesisch"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Zentralatlas-Tamazight"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/de.json b/library/intl/resources/language/de.json
new file mode 100644
index 000000000..f0d5bd340
--- /dev/null
+++ b/library/intl/resources/language/de.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanisch"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Amerikanisches Englisch"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharisch"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabisch"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenisch"
+ },
+ "az": {
+ "code": "az",
+ "name": "Aserbaidschanisch"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturianisch"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Australisches Englisch"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara-Sprache"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa-Sprache"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Baskisch"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengalisch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Bhutanisch"
+ },
+ "my": {
+ "code": "my",
+ "name": "Birmanisch"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnisch"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brasilianisches Portugiesisch"
+ },
+ "br": {
+ "code": "br",
+ "name": "Bretonisch"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Britisches Englisch"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarisch"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chinesisch"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Chinesisch (traditionell)"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Chinesisch (vereinfacht)"
+ },
+ "da": {
+ "code": "da",
+ "name": "Dänisch"
+ },
+ "de": {
+ "code": "de",
+ "name": "Deutsch"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Diola"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "Englisch"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estnisch"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Europäisches Portugiesisch"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Europäisches Spanisch"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Färöisch"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnisch"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flämisch"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Französisch"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulisch"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Ful"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galizisch"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgisch"
+ },
+ "el": {
+ "code": "el",
+ "name": "Griechisch"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Grönländisch"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebräisch"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesisch"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irisch"
+ },
+ "is": {
+ "code": "is",
+ "name": "Isländisch"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italienisch"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japanisch"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabylisch"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kambodschanisch"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Kanadisches Englisch"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Kanadisches Französisch"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kasachisch"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kaschmirisch"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalanisch"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgisisch"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Kölsch"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongo-Suaheli"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreanisch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyra Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroatisch"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laotisch"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Lettisch"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Litauisch"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luhya"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo-Sprache"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxemburgisch"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Madagassisch"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malaiisch"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltesisch"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Massai-Sprache"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Mazedonisch"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Mexikanisches Spanisch"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Modernes Hocharabisch"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldauisch"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolisch"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepalesisch"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Niederländisch"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Niedersorbisch"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Nord-Ndebele-Sprache"
+ },
+ "se": {
+ "code": "se",
+ "name": "Nord-Samisch"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegisch Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegisch Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Obersorbisch"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Österreichisches Deutsch"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Panjabi"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Pare"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Paschtu"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persisch"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polnisch"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugiesisch"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Rätoromanisch"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Rukiga"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumänisch"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi-Sprache"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russisch"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Schottisches Gälisch"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Schwedisch"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Schweizer Französisch"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Schweizer Hochdeutsch"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Schweizerdeutsch"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbisch"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Singhalesisch"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slowakisch"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slowenisch"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spanisch"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Suaheli"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Tamazight"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamilisch"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Taschelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thailändisch"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetisch"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongaisch"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tschechisch"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Türkisch"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uigurisch"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainisch"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ungarisch"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Usbekisch"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamesisch"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Walisisch"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser-Dialekte"
+ },
+ "be": {
+ "code": "be",
+ "name": "Weißrussisch"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Westfriesisch"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Zentralatlas-Tamazight"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/dje.json b/library/intl/resources/language/dje.json
new file mode 100644
index 000000000..a7b9f7bb1
--- /dev/null
+++ b/library/intl/resources/language/dje.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan senni"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "de": {
+ "code": "de",
+ "name": "Almaŋ senni"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amhaarik senni"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belaruus senni"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali senni"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulagaari senni"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burme senni"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Cek senni"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "Espaaɲe senni"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Farsi senni"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Fransee senni"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Grek senni"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hawsance senni"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Holandee senni"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungaari senni"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indoneesi senni"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Induu senni"
+ },
+ "en": {
+ "code": "en",
+ "name": "Inglisi senni"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Itaali senni"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japonee senni"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kmeer senni"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koree senni"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Laaraw senni"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Maleezi senni"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Neepal senni"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polonee senni"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugee senni"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjaabi sennii"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumaani senni"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Ruusi senni"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Sinuwa senni"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somaali senni"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Suweede senni"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "th": {
+ "code": "th",
+ "name": "Taailandu senni"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil senni"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turku senni"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukreen senni"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu senni"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnaam senni"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yorbance senni"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarmaciine"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu senni"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/dsb.json b/library/intl/resources/language/dsb.json
new file mode 100644
index 000000000..d7d926ed1
--- /dev/null
+++ b/library/intl/resources/language/dsb.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanšćina"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanšćina"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ameriska engelšćina"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharšćina"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabšćina"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeńšćina"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturšćina"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "awstralska engelšćina"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbajdžanšćina"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskišćina"
+ },
+ "be": {
+ "code": "be",
+ "name": "běłorušćina"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalšćina"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnišćina"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brazilska portugalšćina"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonšćina"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "britiska engelšćina"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgaršćina"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmašćina"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "centralnoatlaski tamazight"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Äešćina"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinšćina"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinšćina (tradicionalna)"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinšćina (zjadnorjona)"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "chorwatšćina"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "da": {
+ "code": "da",
+ "name": "danšćina"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "dolnoserbšćina"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "engelšćina"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estišćina"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "europejska portugalšćina"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "europejska špańšćina"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ferejšćina"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipinšćina"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finšćina"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamšćina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francojšćina"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frizišćina"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicišćina"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "gandšćina"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgišćina"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "górnoserbšćina"
+ },
+ "el": {
+ "code": "el",
+ "name": "grichišćina"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grönlandšćina"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžaratšćina"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrejšćina"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindišćina"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hungoršćina"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonešćina"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "iršćina"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandšćina"
+ },
+ "it": {
+ "code": "it",
+ "name": "italšćina"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japańšćina"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "jorubšćina"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabylšćina"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "kambodžanšćina"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadiska engelšćina"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadiska francojšćina"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannadšćina"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kapverdšćina"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kašmiršćina"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katanlanšćina"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazachšćina"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgišćina"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kirundišćina"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "kongojska swahilišćina"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korejańšćina"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyra senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laošćina"
+ },
+ "se": {
+ "code": "se",
+ "name": "lapšćina"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letišćina"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litawšćina"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhya"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgšćina"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedońšćina"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajamšćina"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajšćina"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgašćina"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltašćina"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratišćina"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masaišćina"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "mauriciska kreolšćina"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "mexikańska špańšćina"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "moderna wusokoarabšćina"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldawišćina"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolšćina"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalšćina"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "de": {
+ "code": "de",
+ "name": "nimšćina"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nižozemšćina"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norwegske bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norwegske nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "orojišćina"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandžabšćina"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "pare"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paštunšćina"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persišćina"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "pódpołnocne ndebele"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "pólšćina"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalšćina"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromańšćina"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumunšćina"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rušćina"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Å¡ambala"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbišćina"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalšćina"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "słowakšćina"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "słowjeńšćina"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somališćina"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "šonšćina"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "šotišćina"
+ },
+ "es": {
+ "code": "es",
+ "name": "špańšćina"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "standardny marokkański tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahilišćina"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "šwedšćina"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "šwicarska francojšćina"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "šwicarska nimšćina"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilšćina"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tašelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugšćina"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thailandšćina"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetšćina"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganšćina"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turkojšćina"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujguršćina"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainšćina"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdušćina"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbekšćina"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamšćina"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "walizišćina"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/dyo.json b/library/intl/resources/language/dyo.json
new file mode 100644
index 000000000..34a7a81d6
--- /dev/null
+++ b/library/intl/resources/language/dyo.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "de": {
+ "code": "de",
+ "name": "alman"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharik"
+ },
+ "en": {
+ "code": "en",
+ "name": "angle"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arab"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "belarus"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmani"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgaari"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "endu"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franse"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "greek"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "indoneesi"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "italien"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "joola"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "km": {
+ "code": "km",
+ "name": "kmeer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koree"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "maleesi"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlande"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalees"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ongrua"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "penjabi"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persan"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polonees"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugees"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumeen"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rus"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "saponee"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "sek"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "sinua"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "suedi"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "sulu"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "th": {
+ "code": "th",
+ "name": "tay"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrain"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnam"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/dz.json b/library/intl/resources/language/dz.json
new file mode 100644
index 000000000..f3f2ca654
--- /dev/null
+++ b/library/intl/resources/language/dz.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "ཀ་ན་ཌ་à½"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "ཀ་ཛགས་à½"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "ཀྲོ་ཨེ་ཤི་ཡཱན་à½"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "ཀཱཤ་མི་རི་à½"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "ཀིར་གིས་à½"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "ཀེ་ཊ་ལཱན་à½"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "ཀེ་ན་ཌི་ཡཱན་ཕྲནཅ་à½"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "ཀེ་ན་ཌི་ཡཱན་ཨིང་ལིཤ་à½"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ཀོ་རི་ཡཱན་à½"
+ },
+ "km": {
+ "code": "km",
+ "name": "à½à½ºà¼‹à½˜à½ºà½¢à¼‹à½"
+ },
+ "el": {
+ "code": "el",
+ "name": "གྲིཀ་à½"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "གལ་ཨིས་ཨི་ཡན་à½"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "གུ་ཇ་ར་à½à½²à¼‹à½"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ཅེཀ་à½"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ཇཱ་པཱ་ནིས་à½"
+ },
+ "de": {
+ "code": "de",
+ "name": "ཇཱར་མཱན་à½"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ཇཽ་ཇི་ཡཱན་à½"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ཊཱར་ཀིཤ་à½"
+ },
+ "to": {
+ "code": "to",
+ "name": "ཊོང་གྷན་à½"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ཌཆ་à½"
+ },
+ "da": {
+ "code": "da",
+ "name": "ཌེ་ནིཤ་à½"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "à½à¼‹à½˜à½²à½£à¼‹à½"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "à½à½²à½‚་རི་ཉ་à½"
+ },
+ "te": {
+ "code": "te",
+ "name": "à½à½ºà¼‹à½£à½´à¼‹à½‚ུ་à½"
+ },
+ "th": {
+ "code": "th",
+ "name": "à½à½±à½ à½²à¼‹à½"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "ནུབ་ཕྼི་སི་ཡན་à½"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ནེ་པཱལི་à½"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ནོར་à½à½ºà¼‹à½‡à½²à¼‹à½¡à½±à½“་ནོརསཀ་à½"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "ནོར་à½à½ºà¼‹à½‡à½²à¼‹à½¡à½±à½“་བོཀ་མཱལ་à½"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "པར་ཤི་ཡཱན་à½"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "པཱན་ཇ་བི་à½"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "པཱཤ་à½à½¼à¼‹à½"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "པོ་ལིཤ་à½"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "པོར་ཅུ་གིས་à½"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ཕྲནཅ་à½"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ཕྷེལེ་མིཤ་à½"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ཕཱ་རོ་ཨིས་à½"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ཕི་ནིཤ་à½"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ཕི་ལི་པི་ནོ་à½"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "བངྒ་ལ་à½"
+ },
+ "my": {
+ "code": "my",
+ "name": "བར་མིས་à½"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "བྲ་ཛི་ལི་ཡཱན་པོར་ཅུ་གིས་à½"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "བྲི་ཊིཤ་ཨིང་ལིཤ་à½"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "བྷོས་ནི་ཡཱན་à½"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "བཱལ་གེ་རི་ཡཱན་à½"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "བཱསཀ་à½"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "བེཊ་ནཱ་མིས་à½"
+ },
+ "be": {
+ "code": "be",
+ "name": "བེལ་ཨ་རུས་à½"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "བོད་à½"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "མ་ར་à½à½²à¼‹à½"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "མ་ལ་ག་སི་à½"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "མ་ལ་ཡ་ལམ་à½"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "མ་ལེ་à½"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "མ་སེ་ཌོ་ནི་ཡཱན་à½"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "མཱལ་ཊ་à½"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "à½à½²à¼‹à½‚ུར་à½"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "à½à½ºà½£à½¤à¼‹à½"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ཟུ་ལུ་à½"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ཡུ་ཀེ་རེ་ནི་ཡཱན་à½"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ཡུ་རོབ་ཀྱི་ཨིས་པེ་ནིཤ་à½"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ཡུ་ཨེས་ཨིང་ལིཤ་à½"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ཡོ་རུ་བ་à½"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "རྒྱ་མི་à½"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "རྒྱ་མི་à½à¼‹à½ à½‡à½˜à¼‹à½¦à½„མ"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "རྫོང་à½"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "རོ་མེ་ནི་ཡཱན་à½"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "རོ་མེ་ནིཤ་à½"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ལག་ཛམ་བོརྒ་à½"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ལཊ་བི་ཡཱན་à½"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ལཱ་à½à½¼à½¦à¼‹à½"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ལི་à½à½´à¼‹à½à½ºà¼‹à½“ི་ཡཱན་à½"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "སྔ་དུས་ཀྱི་རྒྱ་མི་à½"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "སྭཱ་ཧི་ལི་à½"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "སཱར་བྷི་ཡཱན་à½"
+ },
+ "si": {
+ "code": "si",
+ "name": "སིང་ཧ་ལ་à½"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "སུ་ཡིས་གི་མà½à½¼à¼‹à½¦à½ à½²à¼‹à½‡à½±à½¢à¼‹à½˜à½±à½“་à½"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "སུ་ཡིས་ཇཱར་མཱན་à½"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "སུ་ཡིས་ཕྲནཅ་à½"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "སུ་ལོ་བཱཀ་à½"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "སུ་ལོ་བི་ནི་ཡཱན་à½"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "སུའི་ཌིཤ་à½"
+ },
+ "so": {
+ "code": "so",
+ "name": "སོ་མ་ལི་à½"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "སོག་པོའི་à½"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ཧà½à¼‹à½¦à¼‹à½"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ཧཱང་གྷ་རི་ཡཱན་à½"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ཧིན་དི་à½"
+ },
+ "he": {
+ "code": "he",
+ "name": "ཧེ་བྲུ་à½"
+ },
+ "az": {
+ "code": "az",
+ "name": "ཨ་ཛར་བྷའི་ཇཱན་à½"
+ },
+ "is": {
+ "code": "is",
+ "name": "ཨ་ཡིས་ལེན་ཌིཀ་à½"
+ },
+ "af": {
+ "code": "af",
+ "name": "ཨཕ་རི་ཀཱནས་à½"
+ },
+ "am": {
+ "code": "am",
+ "name": "ཨམ་ཧ་རིཀ་à½"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ཨར་མི་ནི་ཡཱན་à½"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ཨཱའི་རིཤ་à½"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "ཨཱལ་བེ་ནི་ཡཱན་à½"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ཨཱོས་ཊྲི་ཡཱན་ཇཱར་མཱན་à½"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ཨཱོས་ཊྲེ་ལི་ཡཱན་ཨིང་ལིཤ་à½"
+ },
+ "it": {
+ "code": "it",
+ "name": "ཨི་ཊ་ལི་ཡཱན་à½"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ཨི་བེ་རི་ཡཱན་པོར་ཅུ་གིས་à½"
+ },
+ "en": {
+ "code": "en",
+ "name": "ཨིང་ལིཤ་à½"
+ },
+ "id": {
+ "code": "id",
+ "name": "ཨིན་ཌོ་ནེ་ཤི་ཡཱན་à½"
+ },
+ "es": {
+ "code": "es",
+ "name": "ཨིས་པེ་ནིཤ་à½"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ཨུ་རུ་སུའི་à½"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ཨུར་དུ་à½"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ཨུས་བེཀ་à½"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ཨེ་ར་བིཀ་à½"
+ },
+ "et": {
+ "code": "et",
+ "name": "ཨེས་ཊོ་ནི་ཡཱན་à½"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ཨེས་པ་རཱན་à½à½¼à¼‹à½"
+ },
+ "or": {
+ "code": "or",
+ "name": "ཨོ་རི་ཡ་à½"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ebu.json b/library/intl/resources/language/ebu.json
new file mode 100644
index 000000000..bd8d663c7
--- /dev/null
+++ b/library/intl/resources/language/ebu.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "KÄ©akan"
+ },
+ "am": {
+ "code": "am",
+ "name": "KÄ©amhari"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "KÄ©anjemi"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "KÄ©arabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "KÄ©bangla"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "KÄ©bulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "KÄ©burma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "KÄ©cheki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "KÄ©china"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "KÄ©embu"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "KÄ©faransa"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "KÄ©hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kĩhindĩ"
+ },
+ "es": {
+ "code": "es",
+ "name": "KÄ©hispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "KÄ©holanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "KÄ©hungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "KÄ©indonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "KÄ©italiano"
+ },
+ "km": {
+ "code": "km",
+ "name": "KÄ©kambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "KÄ©korea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "KÄ©malesia"
+ },
+ "be": {
+ "code": "be",
+ "name": "KÄ©mbelarusi"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "KÄ©nepali"
+ },
+ "el": {
+ "code": "el",
+ "name": "KÄ©ngriki"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "KÄ©njapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "KÄ©njeremani"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "KÄ©polandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "KÄ©punjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "KÄ©reno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "KÄ©romania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "KÄ©rusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "KÄ©somali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "KÄ©swidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "KÄ©tailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "KÄ©tamil"
+ },
+ "en": {
+ "code": "en",
+ "name": "KÄ©thungu"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "KÄ©turuki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "KÄ©ukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "KÄ©urdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "KÄ©vietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "KÄ©yoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "KÄ©zulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ee.json b/library/intl/resources/language/ee.json
new file mode 100644
index 000000000..05fcc120b
--- /dev/null
+++ b/library/intl/resources/language/ee.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaangbe"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghemgbe"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albaniagbe"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhariagbe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabiagbe"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeniagbe"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asagbe"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiagbe"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "australiatɔwo ƒe yevugbe"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "austriatɔwo ƒe germaniagbe"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijangbe"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafiagbe"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambaragbe"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basaagbe"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basqugbe"
+ },
+ "be": {
+ "code": "be",
+ "name": "belarusiagbe"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "benagbe"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalgbe"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "blema tsainagbe"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "blugbe"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodogbe"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniagbe"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "braziltɔwo ƒe portugalgbe"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretongbe"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "britaintɔwo ƒe yevugbe"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgariagbe"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmagbe"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "cape verdegbe"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "denmarkgbe"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "dzapangbe"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "dziehe ndebelegbe"
+ },
+ "se": {
+ "code": "se",
+ "name": "dziehe samigbe"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "dzola-fonyigbe"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkhagbe"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embugbe"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperantogbe"
+ },
+ "et": {
+ "code": "et",
+ "name": "estoniagbe"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "eʋegbe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondogbe"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faroegbe"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipingbe"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlanÉ–gbe"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flemiagbe"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "fransegbe"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulagbe"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galatagbe"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "de": {
+ "code": "de",
+ "name": "germaniagbe"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gɔgiagbe"
+ },
+ "el": {
+ "code": "el",
+ "name": "grisigbe"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "É£etoÉ–oÆ’e frisiagbe"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausagbe"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrigbe"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindigbe"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "hɔlandgbe"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hungarigbe"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "iberiatɔwo ƒe portugalgbe"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "iberiatɔwo ƒe spaniagbe"
+ },
+ "is": {
+ "code": "is",
+ "name": "icelanÉ–gbe"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiagbe"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irelanÉ–gbe"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiagbe"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaalisugbe"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadatɔwo ƒe fransegbe"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadatɔwo ƒe yevugbe"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannadagbe"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmirgbe"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalagbe"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakhstangbe"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmergbe"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kinagbe"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirghistangbe"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreagbe"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroatiagbe"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasiogbe"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "laksembɔggbe"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laogbe"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latviagbe"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lithuaniagbe"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katangagbe"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyiagbe"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedoniagbe"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makuwa-mitogbe"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagasegbe"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayagbe"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaygbe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltagbe"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathiagbe"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoliagbe"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundangbe"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalgbe"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "nɔweigbe bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nɔweigbe ninɔsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuergbe"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriyagbe"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashtogbe"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persiagbe"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polandgbe"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "pɔtugalgbe"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pundzabgbe"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romaniagbe"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanshgbe"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombogbe"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rɔtsiagbe"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundigbe"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwagbe"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sangogbe"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangugbe"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbiagbe"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shonagbe"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhalgbe"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "skɔtlanɖ gaeliagbe"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakiagbe"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "sloveniagbe"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somaliagbe"
+ },
+ "es": {
+ "code": "es",
+ "name": "spaniagbe"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "swedengbe"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "swizerlanɖ germaniagbe kɔkɔtɔ"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "swizerlanɖtɔwo ƒe fransegbe"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "swizerlanɖtɔwo ƒe germaniagbe"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandgbe"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilgbe"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawakgbe"
+ },
+ "te": {
+ "code": "te",
+ "name": "telegugbe"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "tɛkigbe"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetagbe"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinyagbe"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongagbe"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "tsainagbe"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tsɛkgbe"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "u.s.dukɔmetɔwo ƒe yevugbe"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uighurgbe"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukraingbe"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdugbe"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbekistangbe"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vaigbe"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamgbe"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "walesgbe"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walsegbe"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangbengbe"
+ },
+ "en": {
+ "code": "en",
+ "name": "yevugbe"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yorubagbe"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zamagbe"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulugbe"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/el.json b/library/intl/resources/language/el.json
new file mode 100644
index 000000000..da61f48e4
--- /dev/null
+++ b/library/intl/resources/language/el.json
@@ -0,0 +1,738 @@
+{
+ "en": {
+ "code": "en",
+ "name": "Αγγλικά"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Αγγλικά ΑμεÏικής"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Αγγλικά ΑυστÏαλίας"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Αγγλικά Ηνωμένου Βασιλείου"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Αγγλικά Καναδά"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Αγκέμ"
+ },
+ "az": {
+ "code": "az",
+ "name": "ΑζεÏμπαϊτζανικά"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Ακάν"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Αλβανικά"
+ },
+ "am": {
+ "code": "am",
+ "name": "ΑμαÏικά"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Απλοποιημένα Κινεζικά"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ΑÏαβικά"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ΑÏμενικά"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Άσου"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "ΑστουÏιανά"
+ },
+ "af": {
+ "code": "af",
+ "name": "ΑφÏικάανς"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Βάι"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "ΒάλσεÏ"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Βασκικά"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Βιετναμικά"
+ },
+ "my": {
+ "code": "my",
+ "name": "ΒιÏμανικά"
+ },
+ "se": {
+ "code": "se",
+ "name": "Î’ÏŒÏεια Σάμι"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Βοσνιακά"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ΒουλγαÏικά"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ΒοÏντζο"
+ },
+ "br": {
+ "code": "br",
+ "name": "Î’Ïετονικά"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Γαλικιανά"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Γαλλικά"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Γαλλικά Ελβετίας"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Γαλλικά Καναδά"
+ },
+ "de": {
+ "code": "de",
+ "name": "ΓεÏμανικά"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ΓεÏμανικά ΑυστÏίας"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "ΓεÏμανικά Ελβετίας"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ΓεωÏγιανά"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Γι"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Γιανγκμπέν"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ΓιοÏοÏμπα"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Γκάντα"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ΓκουγιαÏάτι"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "ΓκοÏσι"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Γλώσσα Άνω Λουσατίας"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Γλώσσα Κάτω Λουσατίας"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Γλώσσα του ΠÏάσινου ΑκÏωτηÏίου"
+ },
+ "da": {
+ "code": "da",
+ "name": "Δανικά"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Δυτικά ΦÏιζιανά"
+ },
+ "he": {
+ "code": "he",
+ "name": "ΕβÏαϊκά"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Εγουόντο"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Ελβετικά ΓεÏμανικά"
+ },
+ "el": {
+ "code": "el",
+ "name": "Ελληνικά"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Έμπου"
+ },
+ "et": {
+ "code": "et",
+ "name": "Εσθονικά"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ΕσπεÏάντο"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ΖάÏμα"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ΖουλοÏ"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Θιβετιανά"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Ιαπωνικά"
+ },
+ "id": {
+ "code": "id",
+ "name": "Ινδονησιακά"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ΙÏλανδικά"
+ },
+ "is": {
+ "code": "is",
+ "name": "Ισλανδικά"
+ },
+ "es": {
+ "code": "es",
+ "name": "Ισπανικά"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Ισπανικά ΕυÏώπης"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Ισπανικά ΜεξικοÏ"
+ },
+ "it": {
+ "code": "it",
+ "name": "Ιταλικά"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Καζακικά"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Καλαάλισουτ"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Καλεντζίν"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Κάμπα"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Καμπίλε"
+ },
+ "km": {
+ "code": "km",
+ "name": "Καμποτζιανά"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Κανάντα"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "ΚασμίÏι"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Καταλανικά"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Κβάσιο"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "ΚικοÏγιου"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Κινεζικά"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "ΚόιÏα Τσίνι"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "ΚοϊÏαμπόÏο Σένι"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Κολωνικά"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Κονγκό Σουαχίλι"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ΚοÏεατικά"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "ΚÏοατικά"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "ΚυÏγιζικά"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Λάνγκι"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Λαοθιανά"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Λετονικά"
+ },
+ "be": {
+ "code": "be",
+ "name": "ΛευκοÏωσικά"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Λιθουανικά"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Λινγκάλα"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "ΛοÏμπα-Κατάνγκα"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ΛουξεμβουÏγιανά"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "ΛοÏο"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Λουχία"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Μακόντε"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ΜακοÏβα-Μέτο"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Μαλαγάσι"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Μαλαγιαλάμ"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Μαλάι"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Μαλτεζικά"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "ΜαÏάθι"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Μασάι"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Μάχαμε"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "ΜεÏοÏ"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Μογγολικά"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Μολδαβικά"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "ΜοÏίσιεν"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Μουντάνγκ"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ΜπαμπάÏα"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Μπάσα"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Μπάφια"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Μπένα"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Μπενγκάλι"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Μπόντο"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Îάμα"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Îγκόμπα"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Îεπάλι"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Îιανκόλε"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "ÎοÏβηγικά Μποκμάλ"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ÎοÏβηγικά ÎινόÏσκ"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "ÎουέÏ"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Îτεμπέλε ΒοÏÏά"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Îτζόνγκχα"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Ολλανδικά"
+ },
+ "or": {
+ "code": "or",
+ "name": "ΟÏίγια"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Ουαλικά"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ΟυγγÏικά"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Ουζμπεκικά"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ΟυιγουÏικά"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ΟυκÏανικά"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ΟυÏντοÏ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Παντζαπικά"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ΠαÏαδοσιακά Κινεζικά"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Πάστο"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ΠεÏσικά"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Πολωνικά"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ΠοÏτογαλικά"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "ΠοÏτογαλικά Î’Ïαζιλίας"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ΠοÏτογαλικά ΕυÏώπης"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Ρομανικά"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Ρόμπο"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Ρουά"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Ρουμανικά"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "ΡοÏντι"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Ρωσικά"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Σάμπαλα"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "ΣαμποÏÏου"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Σάνγκο"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Σάνγκου"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Σένα"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ΣεÏβικά"
+ },
+ "si": {
+ "code": "si",
+ "name": "Σινχαλεζικά"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Σκωτικά Κελτικά"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Σλαβομακεδονικά"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Σλοβακικά"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Σλοβενικά"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Σόγκα"
+ },
+ "so": {
+ "code": "so",
+ "name": "Σομάλι"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Σουαχίλι"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Σουηδικά"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ΣÏγχÏονα Τυπικά ΑÏαβικά"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Σχόνα"
+ },
+ "th": {
+ "code": "th",
+ "name": "Ταϊλανδικά"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Τάιτα"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Ταμαζίτ ΚεντÏÎ¹ÎºÎ¿Ï ÎœÎ±Ïόκο"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Ταμίλ"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Τασαβάκ"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Τασελχίτ"
+ },
+ "te": {
+ "code": "te",
+ "name": "ΤελοÏγκου"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Τέσο"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Τζόλα-Φόνι"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ΤιγκÏίνυα"
+ },
+ "to": {
+ "code": "to",
+ "name": "Τονγκανικά"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ΤουÏκικά"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ΤσεÏόκι"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Τσεχικά"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Τσίγκα"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Τυπικά Ταμαζίγκτ ΜαÏόκου"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ΦαÏόε"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Φιλιππινεζικά"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Φινλανδικά"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Φλαμανδικά"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Φουλάχ"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ΦÏιοÏλιαν"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Χάουσα"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Χίντι"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/en-AU.json b/library/intl/resources/language/en-AU.json
new file mode 100644
index 000000000..e8870d47c
--- /dev/null
+++ b/library/intl/resources/language/en-AU.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharic"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabic"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Australian English"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Austrian German"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarusian"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brazilian Portuguese"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "British English"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarian"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Canadian English"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Canadian French"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chinese"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Czech"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Dutch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "English"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "European Portuguese"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "European Spanish"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flemish"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "French"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "de": {
+ "code": "de",
+ "name": "German"
+ },
+ "el": {
+ "code": "el",
+ "name": "Greek"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungarian"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesian"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italian"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japanese"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korean"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Mexican Spanish"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Modern Standard Arabic"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldavian"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persian"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polish"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portuguese"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romanian"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russian"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Simplified Chinese"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spanish"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Swedish"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Swiss French"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Swiss High German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Traditional Chinese"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turkish"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainian"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "United States English"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamese"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/en.json b/library/intl/resources/language/en.json
new file mode 100644
index 000000000..499a392e7
--- /dev/null
+++ b/library/intl/resources/language/en.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "American English"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharic"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabic"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Australian English"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Austrian German"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarusian"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brazilian Portuguese"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "British English"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarian"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Canadian English"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Canadian French"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chinese"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Czech"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Dutch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "English"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "European Portuguese"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "European Spanish"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flemish"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "French"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "de": {
+ "code": "de",
+ "name": "German"
+ },
+ "el": {
+ "code": "el",
+ "name": "Greek"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungarian"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesian"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italian"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japanese"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korean"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Mexican Spanish"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Modern Standard Arabic"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldavian"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persian"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polish"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portuguese"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romanian"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russian"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Simplified Chinese"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spanish"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Swedish"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Swiss French"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Swiss High German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Traditional Chinese"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turkish"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainian"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamese"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/eo.json b/library/intl/resources/language/eo.json
new file mode 100644
index 000000000..a86628b28
--- /dev/null
+++ b/library/intl/resources/language/eo.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikansa"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akana"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albana"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhara"
+ },
+ "en": {
+ "code": "en",
+ "name": "angla"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "araba"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armena"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "aÅ­stra germana"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "aÅ­stralia angla"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbajÄana"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "be": {
+ "code": "be",
+ "name": "belorusa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengala"
+ },
+ "my": {
+ "code": "my",
+ "name": "birma"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodoa"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnia"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brazilportugala"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretona"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "brita angla"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgara"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "burunda"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ĉeĥa"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ĉeroka"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ĉina"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ĉina simpligita"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ĉina tradicia"
+ },
+ "da": {
+ "code": "da",
+ "name": "dana"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "dannorvega"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonko"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estona"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "eÅ­ropa hispana"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "eÅ­ropportugala"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "eÅ­ska"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroa"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipina"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finna"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flandra"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franca"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisa"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaela"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galega"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "de": {
+ "code": "de",
+ "name": "germana"
+ },
+ "el": {
+ "code": "el",
+ "name": "greka"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "gronlanda"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guÄarata"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haÅ­sa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrea"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hinda"
+ },
+ "es": {
+ "code": "es",
+ "name": "hispana"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hungara"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonezia"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlanda"
+ },
+ "is": {
+ "code": "is",
+ "name": "islanda"
+ },
+ "it": {
+ "code": "it",
+ "name": "itala"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japana"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "joruba"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanada angla"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanada franca"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kanara"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "kartvela"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kaÅmira"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "kataluna"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazaĥa"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "kimra"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiza"
+ },
+ "km": {
+ "code": "km",
+ "name": "kmera"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korea"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroata"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latva"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laÅ­a"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litova"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luksemburga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedona"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagasa"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaja"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalama"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "malsuprasoraba"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "malta"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marata"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "meksika hispana"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "moderna norma araba"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongola"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nederlanda"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepala"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "novnorvega"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "orijo"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panÄaba"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paÅtoa"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "pola"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugala"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanĉa"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumana"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rusa"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sangoa"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serba"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovaka"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovena"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somala"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "svahila"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sveda"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "svisa franca"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "svisa germana"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Åona"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "th": {
+ "code": "th",
+ "name": "taja"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamila"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugua"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibeta"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigraja"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongaa"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turka"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujgura"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukraina"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urduo"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "usona angla"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeka"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vjetnama"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulua"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-AR.json b/library/intl/resources/language/es-AR.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-AR.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-BO.json b/library/intl/resources/language/es-BO.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-BO.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-CL.json b/library/intl/resources/language/es-CL.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-CL.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-CO.json b/library/intl/resources/language/es-CO.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-CO.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-CR.json b/library/intl/resources/language/es-CR.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-CR.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-CU.json b/library/intl/resources/language/es-CU.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-CU.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-DO.json b/library/intl/resources/language/es-DO.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-DO.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-EC.json b/library/intl/resources/language/es-EC.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-EC.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-GT.json b/library/intl/resources/language/es-GT.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-GT.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-HN.json b/library/intl/resources/language/es-HN.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-HN.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-MX.json b/library/intl/resources/language/es-MX.json
new file mode 100644
index 000000000..5f07c32ac
--- /dev/null
+++ b/library/intl/resources/language/es-MX.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán suizo"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sorbio"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "bajo sorbio"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabilio"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroki"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "halenjin"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panyabí"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "sindebele"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight estándar marroquí"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-NI.json b/library/intl/resources/language/es-NI.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-NI.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-PA.json b/library/intl/resources/language/es-PA.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-PA.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-PE.json b/library/intl/resources/language/es-PE.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-PE.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-PR.json b/library/intl/resources/language/es-PR.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-PR.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-PY.json b/library/intl/resources/language/es-PY.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-PY.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-SV.json b/library/intl/resources/language/es-SV.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-SV.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-US.json b/library/intl/resources/language/es-US.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-US.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-UY.json b/library/intl/resources/language/es-UY.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-UY.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es-VE.json b/library/intl/resources/language/es-VE.json
new file mode 100644
index 000000000..afeb6b6b4
--- /dev/null
+++ b/library/intl/resources/language/es-VE.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán (Suiza)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaiyano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "vasco"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/es.json b/library/intl/resources/language/es.json
new file mode 100644
index 000000000..74e16ddb2
--- /dev/null
+++ b/library/intl/resources/language/es.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikáans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán suizo"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán de Suiza"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerí"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmal noruego"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabila"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemiro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarés"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chino"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chino simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chino tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "criollo caboverdiano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "criollo mauriciano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "danés"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "español de España"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonio"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "euskera"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suizo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón occidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "gallego"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "griego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiense"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés estadounidense"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonés"
+ },
+ "km": {
+ "code": "km",
+ "name": "jemer"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazajo"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirguís"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kiroundi"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "kivunjo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayo"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masái"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele septentrional"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "neerlandés"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk noruego"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués de Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués de Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabí"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retorrománico"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumano"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami septentrional"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbio inferior"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbio superior"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili del Congo"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight del Marruecos Central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeko"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/et.json b/library/intl/resources/language/et.json
new file mode 100644
index 000000000..67b00258f
--- /dev/null
+++ b/library/intl/resources/language/et.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaani"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akani"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "alamsorbi"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albaania"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "araabia"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "araabia (tänapäevane)"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeenia"
+ },
+ "az": {
+ "code": "az",
+ "name": "aserbaidžaani"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "astuuria"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baski"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "my": {
+ "code": "my",
+ "name": "birma"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnia"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretooni"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgaaria"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "cologniani"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "et": {
+ "code": "et",
+ "name": "eesti"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "eve"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "evondo"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flaami"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friuuli"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulbe"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "fääri"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaeli"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galeegi"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruusia"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grööni"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "heebrea"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "hiina"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "hiina (lihtsustatud)"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "hiina (traditsiooniline)"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "hispaania"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "hispaania (Euroopa)"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "hollandi"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "horvaadi"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "iiri"
+ },
+ "id": {
+ "code": "id",
+ "name": "indoneesia"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglise"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglise (Briti)"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglise (USA)"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandi"
+ },
+ "it": {
+ "code": "it",
+ "name": "itaalia"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "jaapani"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "joruba"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabiili"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kabuverdianu"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kaljenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kasahhi"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kašmiiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalaani"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Kesk-Maroko tamazighti"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmeeri"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuju"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiisi"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongo suahiili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korea"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "el": {
+ "code": "el",
+ "name": "kreeka"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "kõmri"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "lao"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "leedu"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "letseburgi"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "läti"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "läänefriisi"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedoonia"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagassi"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malai"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalami"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "malta"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Mauritiuse kreoolkeel"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldova"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoli"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundangi"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nkole"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norra bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norra nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nueri"
+ },
+ "or": {
+ "code": "or",
+ "name": "oria"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandžabi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "poola"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugali"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugali (Euroopa)"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "prantsuse"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "puštu"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "põhjandebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "põhjasaami"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "pärsia"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromaani"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "rootsi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumeenia"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "de": {
+ "code": "de",
+ "name": "saksa"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "saksa (kõrgsaksa)"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbia"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "si": {
+ "code": "si",
+ "name": "singali"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovaki"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "sloveeni"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somaali"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "soome"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suahiili"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "suulu"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Å¡ona"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Å¡veitsisaksa"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "da": {
+ "code": "da",
+ "name": "taani"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhiti"
+ },
+ "th": {
+ "code": "th",
+ "name": "tai"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamasikti (Maroko)"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamili"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "taswaqi"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tiibeti"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tšehhi"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "tšerokii"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "türgi"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uiguuri"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukraina"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungari"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeki"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "be": {
+ "code": "be",
+ "name": "valgevene"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walseri"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "vene"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnami"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ülemsorbi"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangbeni"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/eu.json b/library/intl/resources/language/eu.json
new file mode 100644
index 000000000..e980e5461
--- /dev/null
+++ b/library/intl/resources/language/eu.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaansa"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghemera"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanera"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albaniera"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "aleman garaia (Suitza)"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemana"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemana (Suitza)"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharera"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ankolera"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabiera"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "arabiera moderno estandarra"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeniera"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asua"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijanera"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafiera"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambarera"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "behe-sorabiera"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "benera"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalera"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusiera"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodoera"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmala (Norvegia)"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniera"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretoiera"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgariera"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmatarra"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Cabo Verdeko kreola"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chigera"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "da": {
+ "code": "da",
+ "name": "daniera"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embua"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "erromantxera"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "errumaniera"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "errusiera"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "eskoziako gaelikoa"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovakiera"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveniera"
+ },
+ "es": {
+ "code": "es",
+ "name": "espainiera"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espainiera (Europa)"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperantoa"
+ },
+ "et": {
+ "code": "et",
+ "name": "estoniera"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "euskara"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "eweera"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faroera"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandiera"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flandriera"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "fonyi jolera"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "frantsesa"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisiera"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "gaelikoa"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galesera"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galiziera"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "gandera"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiera"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "goi-sorabiera"
+ },
+ "el": {
+ "code": "el",
+ "name": "greziera"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujaratera"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusiiera"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreera"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindia"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hungariera"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiera"
+ },
+ "en": {
+ "code": "en",
+ "name": "ingelesa"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ingelesa (AEB)"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "iparraldeko ndebeleera"
+ },
+ "se": {
+ "code": "se",
+ "name": "iparraldeko samiera"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandiera"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiera"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japoniera"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabilera"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaallisutera"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjinera"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kambera"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannadera"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmirera"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalana"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakhera"
+ },
+ "km": {
+ "code": "km",
+ "name": "khemerera"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyuera"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgizera"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongoko swahilia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreera"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiiniera"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro sennia"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroaziera"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasiera"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langiera"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosera"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letoniera"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituaniera"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katangera"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhyera"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "luoera"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxenburgera"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machamera"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meettoera"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makondera"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagasyera"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalamera"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaysiera"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltera"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathera"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Maroko erdialdeko tamazighta"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masaiera"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Mauritaniako kreolera"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "mazedoniera"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meruera"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoliera"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mudangera"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "namera"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nederlandera"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalera"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuerera"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk norvegiera"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriyera"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paxtuera"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persiera"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "poloniera"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugesa"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugesa (Europa)"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabera"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "romboera"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundiera"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwaera"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburuera"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sangoera"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sanguera"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "senera"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbiera"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambalera"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shonera"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhala"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "sogera"
+ },
+ "so": {
+ "code": "so",
+ "name": "somaliera"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "suediera"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhita"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "tagaloga"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taitera"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight estandarra"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilera"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaqa"
+ },
+ "te": {
+ "code": "te",
+ "name": "teluguera"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "tesoera"
+ },
+ "th": {
+ "code": "th",
+ "name": "thailandiera"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetera"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriñera"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongera"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turkiera"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "txekiera"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "txerokiera"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "txinera"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "txinera soildua"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "txinera tradizionala"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigurrera"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainera"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdua"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbekera"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vaiera"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamera"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjoa"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yorubera"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarmera"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zuluera"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ewo.json b/library/intl/resources/language/ewo.json
new file mode 100644
index 000000000..fc4ca1131
--- /dev/null
+++ b/library/intl/resources/language/ewo.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "ǸkÉ”ÌbÉ” akán"
+ },
+ "am": {
+ "code": "am",
+ "name": "ǸkÉ”ÌbÉ” amária"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ǸkÉ”ÌbÉ” arábia"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ǸkÉ”ÌbÉ” aúsá"
+ },
+ "be": {
+ "code": "be",
+ "name": "ǸkÉ”ÌbÉ” belarúsian"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ǸkÉ”ÌbÉ” bÉ›ngalí"
+ },
+ "my": {
+ "code": "my",
+ "name": "ǸkÉ”ÌbÉ” birÉ™mán"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ǸkÉ”ÌbÉ” bulÉ™gárian"
+ },
+ "en": {
+ "code": "en",
+ "name": "ǸkÉ”ÌbÉ” éngÉ™lís"
+ },
+ "it": {
+ "code": "it",
+ "name": "ǸkÉ”ÌbÉ” etáliÉ›n"
+ },
+ "id": {
+ "code": "id",
+ "name": "ǸkÉ”ÌbÉ” É›ndonésian"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ǹkÉ”ÌbÉ” fÉ›ÌrÉ™sian"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ǹkÉ”ÌbÉ” fólis"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ǹkÉ”ÌbÉ” fÉ”tugÉ›Ìs"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ǸkÉ”ÌbÉ” fulÉ›nsí"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ǹkÉ”ÌbÉ” funÉ™hábia"
+ },
+ "el": {
+ "code": "el",
+ "name": "ǸkÉ”ÌbÉ” gÉ™lÉ›Ìg"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ǸkÉ”ÌbÉ” hapÉ”Ìn"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ǹkÉ”ÌbÉ” hiÉ›dÉ™nám"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ǸkÉ”ÌbÉ” hindí"
+ },
+ "km": {
+ "code": "km",
+ "name": "ǸkÉ”ÌbÉ” kÉ™mÉ›Ìr"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ǸkÉ”ÌbÉ” koréan"
+ },
+ "es": {
+ "code": "es",
+ "name": "ǹkÉ”ÌbÉ” kpÉ™nyá"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ǸkÉ”ÌbÉ” malÉ›Ìsian"
+ },
+ "de": {
+ "code": "de",
+ "name": "ǸkÉ”ÌbÉ” ndzáman"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ǹkÉ”ÌbÉ” nefálian"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ǸkÉ”ÌbÉ” nÉ›rÉ™lándía"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Å„kÉ”ÌbÉ” románía"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ǹkÉ”ÌbÉ” rúsian"
+ },
+ "so": {
+ "code": "so",
+ "name": "ǹkÉ”ÌbÉ” somália"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ǹkÉ”ÌbÉ” suwÉ›Ìd"
+ },
+ "th": {
+ "code": "th",
+ "name": "ǹkÉ”ÌbÉ” táilan"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ǹkÉ”ÌbÉ” tamíl"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ǸkÉ”ÌbÉ” tsainís"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ǸkÉ”ÌbÉ” tsÉ›Ìg"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ǹkÉ”ÌbÉ” túrÉ™ki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ǹkÉ”ÌbÉ” ukelénia"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ǸkÉ”ÌbÉ” ungárían"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ǹkÉ”ÌbÉ” urudú"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ǹkÉ”ÌbÉ” yorúba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ǹkÉ”ÌbÉ” zulú"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/fa-AF.json b/library/intl/resources/language/fa-AF.json
new file mode 100644
index 000000000..1327eea2f
--- /dev/null
+++ b/library/intl/resources/language/fa-AF.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "آستوری"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "آسو"
+ },
+ "af": {
+ "code": "af",
+ "name": "Ø¢Ùریکانس"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "آکان"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "آگیم"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "آلبانیایی"
+ },
+ "de": {
+ "code": "de",
+ "name": "آلمانی"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "آلمانی اتریش"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "آلمانی سوئیسی"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "آلمانی علیای سوئیس"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "آمازیغی اطلس مرکزی"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "آمازیغی معیار مراکش"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "آیرلندی"
+ },
+ "is": {
+ "code": "is",
+ "name": "آیسلندی"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "اردو"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ارمنی"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ازبکی"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "اسپانیایی اروپا"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "اسپانیایی مکزیک"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "اسپرانتو"
+ },
+ "et": {
+ "code": "et",
+ "name": "استونیایی"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "اسلواکی"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "اسلووینیایی"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "امبو"
+ },
+ "am": {
+ "code": "am",
+ "name": "امهری"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "انده‌بله‌ای شمالی"
+ },
+ "id": {
+ "code": "id",
+ "name": "اندونیزیایی"
+ },
+ "en": {
+ "code": "en",
+ "name": "انگلیسی"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "انگلیسی استرالیا"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "انگلیسی امریکا"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "انگلیسی بریتانیا"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "انگلیسی کانادا"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "اواندو"
+ },
+ "or": {
+ "code": "or",
+ "name": "اوریه‌ای"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "اوکراینی"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "اوه‌ای"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "اویغوری"
+ },
+ "it": {
+ "code": "it",
+ "name": "ایتالوی"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "باسایی"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "باسکی"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "باÙیایی"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "بامبارایی"
+ },
+ "br": {
+ "code": "br",
+ "name": "برتانیایی"
+ },
+ "my": {
+ "code": "my",
+ "name": "برمه‌ای"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "بلغاری"
+ },
+ "be": {
+ "code": "be",
+ "name": "بلوروسی"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "بنایی"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "بنگالی"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "بودویی"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "بوسنیایی"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "بوکسمال نروژی"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "پرتغالی اروپا"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "پرتغالی برزیل"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "پرتگالی"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "پشتو"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "پنجابی"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "پولندی"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "تاچل‌هیت"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "تامیلی"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "تایتا"
+ },
+ "th": {
+ "code": "th",
+ "name": "تایلندی"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "تبتی"
+ },
+ "az": {
+ "code": "az",
+ "name": "ترکی آذربایجانی"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ترکی استانبولی"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "تسواکی"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "تسویی"
+ },
+ "te": {
+ "code": "te",
+ "name": "تلوگویی"
+ },
+ "to": {
+ "code": "to",
+ "name": "تونگایی"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "تیگرینیایی"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "جاپانی"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "جونخایی"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "چروکیایی"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "چکی"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "چیگا"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "چینی"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "چینی ساده‌شده"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "چینی سنتی"
+ },
+ "km": {
+ "code": "km",
+ "name": "خمری"
+ },
+ "da": {
+ "code": "da",
+ "name": "دانمارکی"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "دری"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "دیولا Ùونی"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "روایی"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "روسی"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "رومانش"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "رومانیایی"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "رومبویی"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "روندیایی"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "زرما"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "زولویی"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "سامبورو"
+ },
+ "se": {
+ "code": "se",
+ "name": "سامی شمالی"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "سانگو"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "سانگویی"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "سنا"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "سواحلی"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "سواحلی کنگویی"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "سوگایی"
+ },
+ "so": {
+ "code": "so",
+ "name": "سومالیایی"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "سویدنی"
+ },
+ "si": {
+ "code": "si",
+ "name": "سینهالی"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "شامبالا"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "شونایی"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "صربی"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "صÙربی سÙÙ„ÛŒ"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "صÙربی علیا"
+ },
+ "he": {
+ "code": "he",
+ "name": "عبری"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "عربی"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "عربی رسمی"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Ùارویی"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ùرانسوی"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Ùرانسوی سوئیس"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Ùرانسوی کانادا"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Ùریزی غربی"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Ùریولیایی"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Ùلمنگی"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Ùنلندی"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Ùولایی"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Ùیلیپینی"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "قبایلی"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "قرغزی"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "قزاقی"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "کابووردیانو"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "کاتالان"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "کالنجین"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "کامبایی"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "کاناده‌ای"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "کروشیایی"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "کشمیری"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "کوازیو"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "کوجراچینی"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "کوریایی"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "کویرابورا سنی"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "کیکویویی"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "گالیسیایی"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "گاندایی"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "گجراتی"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "گرجی"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "گرینلندی"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "گوسی"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "گیلی اسکاتلندی"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "لانگی"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "لائوسی"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "لتونیایی"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "لوباییâ€Ú©Ø§ØªØ§Ù†Ú¯Ø§"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "لوگزامبورگی"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "لویا"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "لوئویی"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "لیتوانیایی"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "لینگالا"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ماچامه‌ای"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "ماسایی"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ماکوا متو"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ماکونده"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "مالاگاسیایی"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "مالایالامی"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "مالایی"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "مالتی"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "ماندانگی"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "مجاری"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "مراتی"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "مرویی"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "مغلی"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "مقدونی"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "موریسین"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "مولداویایی"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "نامایی"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "نرس جدید نروژی"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "نگومبا"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "نویر"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "نیانکوله‌ای"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "نیپالی"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "هالندی"
+ },
+ "es": {
+ "code": "es",
+ "name": "هسپانوی"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "هندی"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "هوسیایی"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ونجو"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ویایی"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ویتنامی"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ویلزی"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "یوروبایی"
+ },
+ "el": {
+ "code": "el",
+ "name": "یونانی"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/fa.json b/library/intl/resources/language/fa.json
new file mode 100644
index 000000000..a09658ef2
--- /dev/null
+++ b/library/intl/resources/language/fa.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "آستوری"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "آسو"
+ },
+ "af": {
+ "code": "af",
+ "name": "Ø¢Ùریکانس"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "آکان"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "آگیم"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "آلبانیایی"
+ },
+ "de": {
+ "code": "de",
+ "name": "آلمانی"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "آلمانی اتریش"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "آلمانی سوئیسی"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "آلمانی علیای سوئیس"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "آمازیغی اطلس مرکزی"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "آمازیغی معیار مراکش"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "اردو"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ارمنی"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ازبکی"
+ },
+ "es": {
+ "code": "es",
+ "name": "اسپانیایی"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "اسپانیایی اروپا"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "اسپانیایی مکزیک"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "اسپرانتو"
+ },
+ "et": {
+ "code": "et",
+ "name": "استونیایی"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "اسلواکی"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "اسلووینیایی"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "امبو"
+ },
+ "am": {
+ "code": "am",
+ "name": "امهری"
+ },
+ "id": {
+ "code": "id",
+ "name": "اندونزیایی"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "انده‌بله‌ای شمالی"
+ },
+ "en": {
+ "code": "en",
+ "name": "انگلیسی"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "انگلیسی استرالیا"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "انگلیسی امریکا"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "انگلیسی بریتانیا"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "انگلیسی کانادا"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "اواندو"
+ },
+ "or": {
+ "code": "or",
+ "name": "اوریه‌ای"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "اوکراینی"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "اوه‌ای"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "اویغوری"
+ },
+ "it": {
+ "code": "it",
+ "name": "ایتالیایی"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ایرلندی"
+ },
+ "is": {
+ "code": "is",
+ "name": "ایسلندی"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "باسایی"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "باسکی"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "باÙیایی"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "بامبارایی"
+ },
+ "br": {
+ "code": "br",
+ "name": "برتانیایی"
+ },
+ "my": {
+ "code": "my",
+ "name": "برمه‌ای"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "بلغاری"
+ },
+ "be": {
+ "code": "be",
+ "name": "بلوروسی"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "بنایی"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "بنگالی"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "بودویی"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "بوسنیایی"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "بوکسمال نروژی"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "پرتغالی"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "پرتغالی اروپا"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "پرتغالی برزیل"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "پشتو"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "پنجابی"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "تاچل‌هیت"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "تامیلی"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "تایتا"
+ },
+ "th": {
+ "code": "th",
+ "name": "تایلندی"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "تبتی"
+ },
+ "az": {
+ "code": "az",
+ "name": "ترکی آذربایجانی"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ترکی استانبولی"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "تسواکی"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "تسویی"
+ },
+ "te": {
+ "code": "te",
+ "name": "تلوگویی"
+ },
+ "to": {
+ "code": "to",
+ "name": "تونگایی"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "تیگرینیایی"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "جونخایی"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "چروکیایی"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "چکی"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "چیگا"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "چینی"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "چینی ساده‌شده"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "چینی سنتی"
+ },
+ "km": {
+ "code": "km",
+ "name": "خمری"
+ },
+ "da": {
+ "code": "da",
+ "name": "دانمارکی"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "دیولا Ùونی"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "روایی"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "روسی"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "رومانش"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "رومانیایی"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "رومبویی"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "روندیایی"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "زرما"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "زولویی"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ژاپنی"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "سامبورو"
+ },
+ "se": {
+ "code": "se",
+ "name": "سامی شمالی"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "سانگو"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "سانگویی"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "سنا"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "سواحلی"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "سواحلی کنگویی"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "سوئدی"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "سوگایی"
+ },
+ "so": {
+ "code": "so",
+ "name": "سومالیایی"
+ },
+ "si": {
+ "code": "si",
+ "name": "سینهالی"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "شامبالا"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "شونایی"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "صربی"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "صÙربی سÙÙ„ÛŒ"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "صÙربی علیا"
+ },
+ "he": {
+ "code": "he",
+ "name": "عبری"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "عربی"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "عربی رسمی"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Ùارسی"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Ùارویی"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ùرانسوی"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Ùرانسوی سوئیس"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Ùرانسوی کانادا"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Ùریزی غربی"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Ùریولیایی"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Ùلمنگی"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Ùنلاندی"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Ùولایی"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Ùیلیپینی"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "قبایلی"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "قرقیزی"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "قزاقی"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "کابووردیانو"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "کاتالان"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "کالنجین"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "کامبایی"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "کاناده‌ای"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "کروات"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "کره‌ای"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "کشمیری"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "کوازیو"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "کوجراچینی"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "کویرابورا سنی"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "کیکویویی"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "گالیسیایی"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "گاندایی"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "گجراتی"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "گرجی"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "گرینلندی"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "گوسی"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "گیلی اسکاتلندی"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "لائوسی"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "لانگی"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "لتونیایی"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "لوئویی"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "لوباییâ€Ú©Ø§ØªØ§Ù†Ú¯Ø§"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "لوگزامبورگی"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "لویا"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "لهستانی"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "لیتوانیایی"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "لینگالا"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ماچامه‌ای"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "ماسایی"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ماکوا متو"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ماکونده"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "مالاگاسیایی"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "مالایالامی"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "مالایی"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "مالتی"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "ماندانگی"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "مجاری"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "مراتی"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "مرویی"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "مغولی"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "مقدونی"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "موریسین"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "مولداویایی"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "نامایی"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "نپالی"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "نرس جدید نروژی"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "نگومبا"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "نویر"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "نیانکوله‌ای"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ونجو"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ویایی"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ویتنامی"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ویلزی"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "هلندی"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "هندی"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "هوسیایی"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "یوروبایی"
+ },
+ "el": {
+ "code": "el",
+ "name": "یونانی"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ff.json b/library/intl/resources/language/ff.json
new file mode 100644
index 000000000..bf5e4df7f
--- /dev/null
+++ b/library/intl/resources/language/ff.json
@@ -0,0 +1,738 @@
+{
+ "ar": {
+ "code": "ar",
+ "name": "Aarabeere"
+ },
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akaan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amarik"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belaruuse"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgariire"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmeese"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Cekkere"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Dacceere"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "de": {
+ "code": "de",
+ "name": "Docceere"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "id": {
+ "code": "id",
+ "name": "Endonesiire"
+ },
+ "en": {
+ "code": "en",
+ "name": "Engeleere"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "Español"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Farayseere"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Gerke"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hawsaŋkoore"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hinndi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hongariire"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italiyeere"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kemeere"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreere"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malayeere"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepaaleere"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Perseere"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Poloneere"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Pulaar"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabeere"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Purtugeere"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Riis"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romaneere"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Saponeere"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Sinuwaare"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somalii"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Suluŋkoore"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Sweedeere"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "th": {
+ "code": "th",
+ "name": "Taay"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turkeere"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukereneere"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Wiyetnameere"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yorrubaa"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/fi.json b/library/intl/resources/language/fi.json
new file mode 100644
index 000000000..44434b238
--- /dev/null
+++ b/library/intl/resources/language/fi.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "alasorbi"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albania"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "amerikanenglanti"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhara"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabia"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenia"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturia"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "australianenglanti"
+ },
+ "az": {
+ "code": "az",
+ "name": "azeri"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baski"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnia"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brasilianportugali"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretoni"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "britannianenglanti"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "burma"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "djerma"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "englanti"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanja"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanjanespanja"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "farsi"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flaami"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friuli"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulani"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "fääri"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaeli"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicia"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgia"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "heprea"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "hollanti"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "iiri"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesia"
+ },
+ "is": {
+ "code": "is",
+ "name": "islanti"
+ },
+ "it": {
+ "code": "it",
+ "name": "italia"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "itävallansaksa"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japani"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "joruba"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyyli"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadanenglanti"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadanranska"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kapverdenkreoli"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kašmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalaani"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "katanganluba"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakki"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "keskiatlaksentamazight"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "kiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kiina"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuju"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "kingwana"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiisi"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korea"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "el": {
+ "code": "el",
+ "name": "kreikka"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroatia"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "kymri"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "lango"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latvia"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "liettua"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhya"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburg"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "länsifriisi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "maasai"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonia"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makua-meetto"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagassi"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaiji"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "malta"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "meksikonespanja"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldova"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoli"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norjan bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norjan nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "orija"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandžabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paštu"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "perinteinen kiina"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "pohjois-ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "pohjoissaame"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugali"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugalinportugali"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "puola"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ranska"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromaani"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romania"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ruotsi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "de": {
+ "code": "de",
+ "name": "saksa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbia"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakki"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "sloveeni"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Å¡ona"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "suomi"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "sveitsinranska"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "sveitsinsaksa"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "sveitsinyläsaksa"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamili"
+ },
+ "da": {
+ "code": "da",
+ "name": "tanska"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tašelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thai"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tiibet"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tšekki"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turkki"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uiguuri"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukraina"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "unkari"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbekki"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "vakioitu tamazight"
+ },
+ "be": {
+ "code": "be",
+ "name": "valkovenäjä"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "venäjä"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnam"
+ },
+ "et": {
+ "code": "et",
+ "name": "viro"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "yksinkertaistettu kiina"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "yleisarabia"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "yläsorbi"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/fil.json b/library/intl/resources/language/fil.json
new file mode 100644
index 000000000..494145b3e
--- /dev/null
+++ b/library/intl/resources/language/fil.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharic"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabe"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarusian"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brazilian Portuguese"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarian"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Canadian French"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chinese"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Czech"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Dutch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "European Portuguese"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "European Spanish"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flemish"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "French"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "de": {
+ "code": "de",
+ "name": "German"
+ },
+ "el": {
+ "code": "el",
+ "name": "Greek"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungarian"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesian"
+ },
+ "en": {
+ "code": "en",
+ "name": "Ingles"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Ingles (UK)"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Ingles (US)"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Ingles ng Australya"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Ingles sa Canada"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italian"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japanese"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirghiz"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korean"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Mexican Spanish"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Modernong Karaniwang Arabe"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldavian"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepali"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmal"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persian"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polish"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portuges"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romanian"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russian"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scots Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Simplified Chinese"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spanish"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Swahili (Congo)"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Swedish"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Swiss French"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Tamazight ng Gitnang Atlas"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turkish"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukranian"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamese"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/fo.json b/library/intl/resources/language/fo.json
new file mode 100644
index 000000000..c9a158e2a
--- /dev/null
+++ b/library/intl/resources/language/fo.json
@@ -0,0 +1,738 @@
+{
+ "ps": {
+ "code": "ps",
+ "name": "afghanskt"
+ },
+ "af": {
+ "code": "af",
+ "name": "afríska"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanskt"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhariskt"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabiskt"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenskt"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu (Tanzania)"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijaniskt"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskiskt"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena (Tanzania)"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengaliskt"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniskt"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonskt"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgarskt"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmesiskt"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "danskt"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "en": {
+ "code": "en",
+ "name": "enskt"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estlendskt"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipiniskt"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finskt"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franskt"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "føroyskt"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galisiskt"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiskt"
+ },
+ "el": {
+ "code": "el",
+ "name": "grikiskt"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujariti"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haussa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraiskt"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "hollendskt"
+ },
+ "be": {
+ "code": "be",
+ "name": "hvitarussiskt"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiskt"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "írskt"
+ },
+ "is": {
+ "code": "is",
+ "name": "íslendskt"
+ },
+ "it": {
+ "code": "it",
+ "name": "italskt"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japanskt"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "kambodjanskt"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kapverdiskt"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmiriskt"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalanskt"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakiskt"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "kekkiskt"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "kiembu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kinesiskt"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgisikt"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreanskt"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroatiskt"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laotiskt"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latviskt"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litavskt"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgiskt"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonskt"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagasiskt"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajiskt"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltesiskt"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathiskt"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoliskt"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalskt"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norskt bokmál"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nýnorskt"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "olulujia"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persiskt"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polskt"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugisiskt"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabiskt"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romansh"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romanskt"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russiskt"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbiskt"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhalesiskt"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "skotskt gæliskt"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakiskt"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovenskt"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somaliskt"
+ },
+ "es": {
+ "code": "es",
+ "name": "spanskt"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "sulu"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svenskt"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilskt"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugiskt"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thailendskt"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetanskt"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganskt"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turkiskt"
+ },
+ "de": {
+ "code": "de",
+ "name": "týskt"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uighur"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainskt"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungarskt"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbekiskt"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "valisiskt"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "vestfrisikt"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamesiskt"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/fr-CA.json b/library/intl/resources/language/fr-CA.json
new file mode 100644
index 000000000..7dbc873a3
--- /dev/null
+++ b/library/intl/resources/language/fr-CA.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanais"
+ },
+ "de": {
+ "code": "de",
+ "name": "allemand"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "allemand autrichien"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "allemand suisse"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "amazighe standard marocain"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharique"
+ },
+ "en": {
+ "code": "en",
+ "name": "anglais"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "anglais américain"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "anglais australien"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "anglais britannique"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "anglais canadien"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "arabe standard moderne"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménien"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "assou"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturien"
+ },
+ "az": {
+ "code": "az",
+ "name": "azéri"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "bas-sorabe"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basque"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "bassa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "béna"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "biélorusse"
+ },
+ "my": {
+ "code": "my",
+ "name": "birman"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniaque"
+ },
+ "br": {
+ "code": "br",
+ "name": "breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgare"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "capverdien"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalan"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "chambala"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinois"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinois simplifié"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinois traditionnel"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "chleuh"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalais"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coréen"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "créole mauricien"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croate"
+ },
+ "da": {
+ "code": "da",
+ "name": "danois"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "diola-fogny"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embou"
+ },
+ "es": {
+ "code": "es",
+ "name": "espagnol"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espagnol ibérique"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espagnol mexicain"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "espéranto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonien"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "éwé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "éwondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "féroïen"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finnois"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamand"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "français"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "français canadien"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "français suisse"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "francique ripuaire"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "frioulan"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frison"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélique écossais"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicien"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "gallois"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "géorgien"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "goudjarâtî"
+ },
+ "el": {
+ "code": "el",
+ "name": "grec"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandais"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haoussa"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "haut-sorabe"
+ },
+ "he": {
+ "code": "he",
+ "name": "hébreu"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hongrois"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésien"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandais"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandais"
+ },
+ "it": {
+ "code": "it",
+ "name": "italien"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonais"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "kiga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirghize"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letton"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituanien"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxembourgeois"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macédonien"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malais"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltais"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathe"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "merou"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldave"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndébélé du Nord"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "néerlandais"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "népalais"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norvégien bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norvégien nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankolé"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "oluluyia"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ouïgour"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ourdou"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ouzbek"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pachto"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pendjabi"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persan"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "peul"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polonais"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugais"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugais brésilien"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugais ibérique"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "roumain"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "roundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russe"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami du Nord"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sangho"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbe"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovaque"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovène"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "suédois"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "suisse allemand"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili du Congo"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamoul"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tchèque"
+ },
+ "te": {
+ "code": "te",
+ "name": "télougou"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thaï"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibétain"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrigna"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turc"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainien"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vaï"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamien"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zoulou"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/fr.json b/library/intl/resources/language/fr.json
new file mode 100644
index 000000000..2459e9df9
--- /dev/null
+++ b/library/intl/resources/language/fr.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanais"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alémanique"
+ },
+ "de": {
+ "code": "de",
+ "name": "allemand"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "allemand autrichien"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "allemand suisse"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "amazighe standard marocain"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharique"
+ },
+ "en": {
+ "code": "en",
+ "name": "anglais"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "anglais américain"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "anglais australien"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "anglais britannique"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "anglais canadien"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "arabe standard moderne"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménien"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "assou"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturien"
+ },
+ "az": {
+ "code": "az",
+ "name": "azéri"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "bas-sorabe"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basque"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "bassa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "béna"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "biélorusse"
+ },
+ "my": {
+ "code": "my",
+ "name": "birman"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniaque"
+ },
+ "br": {
+ "code": "br",
+ "name": "breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgare"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "capverdien"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalan"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "chambala"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinois"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinois simplifié"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinois traditionnel"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "chleuh"
+ },
+ "si": {
+ "code": "si",
+ "name": "cinghalais"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coréen"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "créole mauricien"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croate"
+ },
+ "da": {
+ "code": "da",
+ "name": "danois"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "diola-fogny"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embou"
+ },
+ "es": {
+ "code": "es",
+ "name": "espagnol"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espagnol d’Europe"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espagnol mexicain"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "espéranto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonien"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "éwé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "éwondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "féroïen"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finnois"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamand"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "français"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "français canadien"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "français suisse"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "francique ripuaire"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "frioulan"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frison occidental"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélique écossais"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicien"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "gallois"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "géorgien"
+ },
+ "el": {
+ "code": "el",
+ "name": "grec"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandais"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haoussa"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "haut-sorabe"
+ },
+ "he": {
+ "code": "he",
+ "name": "hébreu"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hongrois"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésien"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandais"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandais"
+ },
+ "it": {
+ "code": "it",
+ "name": "italien"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonais"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "kiga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirghize"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letton"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituanien"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxembourgeois"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macédonien"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malais"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgache"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltais"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathe"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "merou"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldave"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndébélé du Nord"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "néerlandais"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "népalais"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norvégien bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norvégien nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankolé"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "oluluyia"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ouïghour"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ourdou"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ouzbek"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pachto"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pendjabi"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persan"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "peul"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polonais"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugais"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugais brésilien"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugais d’Europe"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "roumain"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "roundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russe"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami du Nord"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sangho"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbe"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovaque"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovène"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "suédois"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili du Congo"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamoul"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tchèque"
+ },
+ "te": {
+ "code": "te",
+ "name": "télougou"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thaï"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibétain"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrigna"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonguien"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turc"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainien"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vaï"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamien"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zoulou"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/fur.json b/library/intl/resources/language/fur.json
new file mode 100644
index 000000000..16c262dc3
--- /dev/null
+++ b/library/intl/resources/language/fur.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanês"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alt todesc de Svuizare"
+ },
+ "am": {
+ "code": "am",
+ "name": "amaric"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arap"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armen"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basc"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalês"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorùs"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniac"
+ },
+ "br": {
+ "code": "br",
+ "name": "breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgar"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalan"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "cec"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "cinês"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "cinês semplificât"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "cinês tradizionâl"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "corean"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "cravuat"
+ },
+ "da": {
+ "code": "da",
+ "name": "danês"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "he": {
+ "code": "he",
+ "name": "ebraic"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "eston"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faroês"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipin"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamant"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francês dal Canade"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francês de Svuizare"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulah"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "furlan"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "gaelic irlandês"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaelic scozês"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galês"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galizian"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "gjaponês"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gjeorgjian"
+ },
+ "el": {
+ "code": "el",
+ "name": "grêc"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesian"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglês australian"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglês britanic"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglês canadês"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ingles merecan"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazac"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "leton"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituan"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "lussemburghês"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedon"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malês"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltês"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldâf"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongul"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele setentrionâl"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalês"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norvegjês bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norvegjês nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "olandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ongjarês"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persian"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polac"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portughês"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portughês brasilian"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portughês iberic"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabi"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romen"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "rumanç"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rus"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami setentrionâl"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serp"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinalês"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovac"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "sloven"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somal"
+ },
+ "es": {
+ "code": "es",
+ "name": "spagnûl"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "spagnûl iberic"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svedês"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "it": {
+ "code": "it",
+ "name": "talian"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telegu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "de": {
+ "code": "de",
+ "name": "todesc"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "todesc de Austrie"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turc"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucrain"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbec"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamite"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/fy.json b/library/intl/resources/language/fy.json
new file mode 100644
index 000000000..ccf6d7156
--- /dev/null
+++ b/library/intl/resources/language/fy.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaansk"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albaneesk"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Amerikaansk Ingelsk"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amhaarsk"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabysk"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armeensk"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturysk"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Australysk Ingelsk"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbeidzjaansk"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Baskysk"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengaalsk"
+ },
+ "my": {
+ "code": "my",
+ "name": "Birmees"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnysk"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brazyljaansk Portugees"
+ },
+ "br": {
+ "code": "br",
+ "name": "Bretonsk"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Britsk Ingelsk"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgaarsk"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "Deensk"
+ },
+ "de": {
+ "code": "de",
+ "name": "Dútsk"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Eastenryks Dútsk"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estlânsk"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Europees Portugees"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Europeesk Spaansk"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faeröersk"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Ferienfâldich Sineesk"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipynsk"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finsk"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Frânsk"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulysk"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galisysk"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgysk"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Grienlâns"
+ },
+ "el": {
+ "code": "el",
+ "name": "Gryks"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebreeuwsk"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hongaarsk"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Iersk"
+ },
+ "en": {
+ "code": "en",
+ "name": "Ingelsk"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italiaansk"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japans"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kaapverdysk Creools"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Kanadeesk Frânsk"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Kanadeesk Ingelsk"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kasjmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalaansk"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazachs"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgizysk"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Kirundi"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Kölsch"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreaansk"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroatysk"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laotiaansk"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Letlâns"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Litouws"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxemburgs"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonysk"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasysk"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Maleis"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltees"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Meksikaansk Spaansk"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Modern standert Arabysk"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldavysk"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongools"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Nederlânsk"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Nedersorbysk"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepalees"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Ngumba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Noard-Ndbele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Noard-Samysk"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Noors - Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Noors - Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Odia"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Oeigoers"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Oekraïens"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Oezbeeks"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Oppersorbysk"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pasjtoe"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Perzysk"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Poalsk"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugeesk"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Reto-Romaansk"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Roemeensk"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russysk"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Schotsk Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Servysk"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Sineesk"
+ },
+ "si": {
+ "code": "si",
+ "name": "Singalees"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Sloveensk"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slowaaks"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somalysk"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spaansk"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standert Marokkaanske Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Switsers Dútsk"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Switserse Frânsk"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Switsersk Heechdútsk"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Tamazight (Sintraal-Marokko)"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tashelhiyt"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thais"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetaansk"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongaansk"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Tradisjoneel Sineesk"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tsjechysk"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turks"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamees"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Vlaams"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsk"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "West-Frysk"
+ },
+ "be": {
+ "code": "be",
+ "name": "Wyt-Russysk"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "id": {
+ "code": "id",
+ "name": "Yndonezysk"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "is": {
+ "code": "is",
+ "name": "Yslâns"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Zweeds"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ga.json b/library/intl/resources/language/ga.json
new file mode 100644
index 000000000..9133573f5
--- /dev/null
+++ b/library/intl/resources/language/ga.json
@@ -0,0 +1,738 @@
+{
+ "ak": {
+ "code": "ak",
+ "name": "Acáinis"
+ },
+ "af": {
+ "code": "af",
+ "name": "Afracáinis"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Airméinis"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albáinis"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amáiris"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Araibis"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Araibis Chaighdeánach"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Ard-Ghearmáinis Eilvéiseach"
+ },
+ "az": {
+ "code": "az",
+ "name": "Asarbaiseáinis"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Astúiris"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Bascais"
+ },
+ "be": {
+ "code": "be",
+ "name": "Bealarúisis"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Beangáilis"
+ },
+ "en": {
+ "code": "en",
+ "name": "Béarla"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Béarla Astrálach"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Béarla Briotanach"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Béarla Ceanadach"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Béarla Meiriceánach"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Boisnis"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Breatnais"
+ },
+ "br": {
+ "code": "br",
+ "name": "Briotáinis"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgáiris"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmais"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Caismíris"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Cannadais"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Casaicis"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalóinis"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "km": {
+ "code": "km",
+ "name": "Ciméiris"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Ciocúis"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Cirgisis"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Cóiréis"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Cróitis"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danmhairgis"
+ },
+ "he": {
+ "code": "he",
+ "name": "Eabhrais"
+ },
+ "et": {
+ "code": "et",
+ "name": "Eastóinis"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faróis"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipínis"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Fionlainnis"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Fraincis"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Fraincis Cheanadach"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Fraincis Eilvéiseach"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Freaslainnis Iartharach"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friúilis"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fuláinis"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Gaeilge"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Gaeilge na hAlban"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Gailísis"
+ },
+ "de": {
+ "code": "de",
+ "name": "Gearmáinis"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Gearmáinis Eilvéiseach"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Gearmáinis Ostarach"
+ },
+ "el": {
+ "code": "el",
+ "name": "Gréigis"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gúisearáitis"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hásais"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hiondúis"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Iarúibis"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indinéisis"
+ },
+ "it": {
+ "code": "it",
+ "name": "Iodáilis"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Ioruais Bokmål"
+ },
+ "is": {
+ "code": "is",
+ "name": "Ãoslainnis"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Laitvis"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laoisis"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Liongáilis"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Liotuáinis"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Lúba-Cataingis"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Lucsambuirgis"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Lugandais"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macadóinis"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Mailéalaimis"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malaeis"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagáisis"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Máltais"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Maraitis"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldáivis"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongóilis"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ndeibéilis an Tuaiscirt"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Neipeailis"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Nua-Ioruais"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oirísis"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Ollainnis"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Paistis"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Peirsis"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Pléimeannais"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polainnis"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portaingéilis"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Portaingéilis Ibéarach"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Portaingéilis na Brasaíle"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Puinseáibis"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Rómainis"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rómáinis"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rúindis"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rúisis"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "se": {
+ "code": "se",
+ "name": "Sáimis Thuaidh"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sangóis"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Seapáinis"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Seicis"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Seirbis"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Seiricis"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Seoinicis"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Seoinis"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Seoirsis"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Sínis"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Sínis Shimplithe"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Sínis Thraidisiúnta"
+ },
+ "si": {
+ "code": "si",
+ "name": "Siolóinis"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slóivéinis"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slóvaicis"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somáilis"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Sorbais Ãochtarach"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Sorbais Uachtarach"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spáinnis"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Spáinnis Eorpach"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Spáinnis Mheicsiceach"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Sualainnis"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Súlúis"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Svahaílis"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Svahaílis an Chongó"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamailis"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "th": {
+ "code": "th",
+ "name": "Téalainnis"
+ },
+ "te": {
+ "code": "te",
+ "name": "Teileagúis"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibéidis"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinis"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongais"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Tuircis"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Úcráinis"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uigiúiris"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Úisbéiceastáinis"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ungáiris"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdúis"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vítneaimis"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarmais"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/gd.json b/library/intl/resources/language/gd.json
new file mode 100644
index 000000000..e774f2691
--- /dev/null
+++ b/library/intl/resources/language/gd.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afraganais"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Airmeinis"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albàinis"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amtharais"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabais"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Àrd-Ghearmailtis na h-Eilbheise"
+ },
+ "az": {
+ "code": "az",
+ "name": "Asarbaideànais"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Astùrais"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basgais"
+ },
+ "be": {
+ "code": "be",
+ "name": "Bealaruisis"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Beangailis"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "en": {
+ "code": "en",
+ "name": "Beurla"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Beurla Astràilia"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Beurla Bhreatainn"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Beurla Chanada"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Beurla na h-Aimeireaga"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Bhiet-Namais"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Bokmål na Nirribhidh"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnais"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breatnais"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarais"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmais"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Cairtbheilis"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Caismiris"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Casachais"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalanais"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Cìorgasais"
+ },
+ "km": {
+ "code": "km",
+ "name": "Cmèar"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Coirèanais"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Cròthaisis"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Cuimris"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danmhairgis"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Duitsis"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "he": {
+ "code": "he",
+ "name": "Eabhra"
+ },
+ "it": {
+ "code": "it",
+ "name": "Eadailtis"
+ },
+ "et": {
+ "code": "et",
+ "name": "Eastoinis"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Fàrothais"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Farsaidh"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipinis"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Fionnlannais"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flannrais"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Fraingis"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Fraingis Chanada"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Fraingis Eilbheiseach"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Frìoslannais Siarach"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friùilis"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Gaeilge"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Gàidhlig"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Gailìsis"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "de": {
+ "code": "de",
+ "name": "Gearmailtis"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Gearmailtis Eilbheiseach"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Gearmailtis na h-Ostaire"
+ },
+ "el": {
+ "code": "el",
+ "name": "Greugais"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindis"
+ },
+ "id": {
+ "code": "id",
+ "name": "Innd-Innsis"
+ },
+ "is": {
+ "code": "is",
+ "name": "Innis Tìlis"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Ioruba"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Kirundi"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Kiswahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kiswahili na Congo"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Laitbheis"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Làtho"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Liotuainis"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Lugsamburgais"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Maasai"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasais"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malaidhis"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltais"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Masadonais"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldobhais"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolais"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ndebele Thuathach"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Neapàilis"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Nuadh-Arabais Stannardach"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Nynorsk na Nirribhidh"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pachtu"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Panjabi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Pòlainnis"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portagailis"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Portagailis Bhraisileach"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Portagailis Eòrpach"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romàinis"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Ruisis"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Rumains"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "se": {
+ "code": "se",
+ "name": "Sàmais Thuathach"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Seacais"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Seapanais"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Sèirbis"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Sìnis"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Sìnis Shimplichte"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Sìnis Thradaiseanta"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slòbhacais"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slòbhainis"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somàilis"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Sòrbais Ìochdarach"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Sòrbais Uachdarach"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spàinntis"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Spàinntis Eòrpach"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Spàinntis Mheagsagach"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Suainis"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "Tàidh"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Taimilis"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Tamazight Meadhan na h-Atlas"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Tamazight Stannardach Moroco"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibeitis"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongais"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turcais"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ucràinis"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Ùigiurais"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ungairis"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Ùrdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Usbagais"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/gl.json b/library/intl/resources/language/gl.json
new file mode 100644
index 000000000..53405511a
--- /dev/null
+++ b/library/intl/resources/language/gl.json
@@ -0,0 +1,738 @@
+{
+ "az": {
+ "code": "az",
+ "name": "acerbaixano"
+ },
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akán"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanés"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemán"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemán de austria"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemán suízo"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemán suízo"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sorabio"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe estándar moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baixo sorabio"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalí"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorruso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretón"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "caboverdiano"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cachemir"
+ },
+ "km": {
+ "code": "km",
+ "name": "cambodiano"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "casaco"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "castelán"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalán"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cheroqui"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinés"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinés simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinés tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalés"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "crioulo mauritano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarqués"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "español"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "español de México"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estoniano"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "éuscaro"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewé"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faroés"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finés"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamenco"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francés"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francés canadiano"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francés suízo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisón"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocés"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galego"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galés"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandés"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guxaratiano"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreo"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandés"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglés"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglés australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglés británico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglés canadiano"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglés dos Estados Unidos"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandés"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandés"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabile"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "kiga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laotiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letón"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgués"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedonio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malabar"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltés"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalí"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "noruegués bokmal"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "noruegués nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paxtún"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugués"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugués brasileiro"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugués europeo"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabi"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "quirguiz"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romanés"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "romanés moldavo"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruso"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami do norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalí"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suahili congolés"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandés"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight de Marrocos estándar"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight marroquí central"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriña"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganés"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraíno"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdú"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeco"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "xaponés"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "xeorxiano"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulú"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/gsw.json b/library/intl/resources/language/gsw.json
new file mode 100644
index 000000000..07374ed4c
--- /dev/null
+++ b/library/intl/resources/language/gsw.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanisch"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Amerikanischs Änglisch"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharisch"
+ },
+ "en": {
+ "code": "en",
+ "name": "Änglisch"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabisch"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenisch"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Aschturianisch"
+ },
+ "az": {
+ "code": "az",
+ "name": "Aserbaidschanisch"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu (Tanzania)"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Auschtralischs Änglisch"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Baskisch"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena (Tanzania)"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengalisch"
+ },
+ "my": {
+ "code": "my",
+ "name": "Birmanisch"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnisch"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brasilianischs Portugiisisch"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Britischs Änglisch"
+ },
+ "br": {
+ "code": "br",
+ "name": "Brötoonisch"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgaarisch"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chineesisch"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dschongkha"
+ },
+ "et": {
+ "code": "et",
+ "name": "Eestnisch"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Eschperanto"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Färöisch"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnisch"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Fläämisch"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Französisch"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Friesisch"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulisch"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Ful"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galizisch"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda-Schpraach"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgisch"
+ },
+ "el": {
+ "code": "el",
+ "name": "Griechisch"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Gröönländisch"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Haussa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebräisch"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Ibeerischs Schpanisch"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Iberischs Portugiisisch"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Iirisch"
+ },
+ "is": {
+ "code": "is",
+ "name": "Iisländisch"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesisch"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italiänisch"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japanisch"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabylisch"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kambodschanisch"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Kanadischs Änglisch"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Kanadischs Französisch"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kasachisch"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kaschmirisch"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalaanisch"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu-Schpraach"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgiisisch"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreaanisch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroazisch"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laozisch"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Lettisch"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Litauisch"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo-Schpraach"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxemburgisch"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Madagassisch"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malaiisch"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltesisch"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Massai-Schpraach"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Mazedonisch"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldawisch"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolisch"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepalesisch"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Niderländisch"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Nidersorbisch"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Nord-Ndebele-Schpraach"
+ },
+ "se": {
+ "code": "se",
+ "name": "Nord-Samisch"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegisch Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegisch Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Obersorbisch"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Olulujia"
+ },
+ "or": {
+ "code": "or",
+ "name": "Orija"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Öschtriichischs Tüütsch"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Pandschabisch"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Paschtu"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persisch"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polnisch"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugiisisch"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Rätoromanisch"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumänisch"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi-Schpraach"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russisch"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Schhona"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Schottisch-Gäälisch"
+ },
+ "es": {
+ "code": "es",
+ "name": "Schpanisch"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Schwedisch"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Schwiizer Französisch"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Schwiizer Hochtüütsch"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Schwiizertüütsch"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbisch"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "si": {
+ "code": "si",
+ "name": "Singhalesisch"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slowakisch"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slowenisch"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Suaheli"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamilisch"
+ },
+ "da": {
+ "code": "da",
+ "name": "Tänisch"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thailändisch"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibeetisch"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongaisch"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Tradizionells Chineesisch"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tschechisch"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Türkisch"
+ },
+ "de": {
+ "code": "de",
+ "name": "Tüütsch"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uigurisch"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainisch"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ungarisch"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Usbekisch"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai-Schpraach"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Veräifachts Chineesisch"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamesisch"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Walisisch"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "be": {
+ "code": "be",
+ "name": "Wiissrussisch"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/gu.json b/library/intl/resources/language/gu.json
new file mode 100644
index 000000000..073c814ef
--- /dev/null
+++ b/library/intl/resources/language/gu.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "en": {
+ "code": "en",
+ "name": "અંગà«àª°à«‡àªœà«€"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "અકાન"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "અઘેમ"
+ },
+ "az": {
+ "code": "az",
+ "name": "અàªàª°àª¬à«ˆàªœàª¾àª¨à«€"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "અપà«àªªàª° સોરà«àª¬àª¿àª¯àª¨"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "અમેરિકન અંગà«àª°à«‡àªœà«€"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "અરબી"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "અલà«àª¬à«‡àª¨àª¿àª¯àª¨"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "અસà«"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "અસà«àª¤à«àª°àª¿àª¯àª¨"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "આઇરિશ"
+ },
+ "is": {
+ "code": "is",
+ "name": "આઇસલેનà«àª¡àª¿àª•"
+ },
+ "af": {
+ "code": "af",
+ "name": "આફà«àª°àª¿àª•àª¨à«àª¸"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "આરà«àª®à«‡àª¨àª¿àª¯àª¨"
+ },
+ "it": {
+ "code": "it",
+ "name": "ઇટાલિયન"
+ },
+ "id": {
+ "code": "id",
+ "name": "ઇનà«àª¡à«‹àª¨à«‡àª¶àª¿àª¯àª¨"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ઇવોનà«àª¡à«‹"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ઈવ"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ઉઇગà«àª°"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ઉàªà«àª¬à«‡àª•"
+ },
+ "or": {
+ "code": "or",
+ "name": "ઉડિયા"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ઉતર દેબેલ"
+ },
+ "se": {
+ "code": "se",
+ "name": "ઉતà«àª¤àª°à«€àª¯ સામી"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ઉરà«àª¦à«‚"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "àªàª®à«àª¬à«"
+ },
+ "am": {
+ "code": "am",
+ "name": "àªàª®à«àª¹àª¾àª°àª¿àª•"
+ },
+ "et": {
+ "code": "et",
+ "name": "àªàª¸à«àªŸà«‹àª¨àª¿àª¯àª¨"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "àªàª¸à«àªªà«‡àª°àª¾àª¨à«àªŸà«‹"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ઓસà«àªŸà«àª°àª¿àª…ન જરà«àª®àª¨"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ઓસà«àªŸà«àª°à«‡àª²àª¿àª¯àª¨ અંગà«àª°à«‡àªœà«€"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "કàªàª¾àª–"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "કતલાન"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "કનà«àª¨àª¡"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "કબાઇલ"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "કમà«àª¬àª¾"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "કલાલà«àª²àª¿àª¸à«àª¤"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "કલેજિન"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "કાબà«àªµàª°à«àª¡àª¿àª†àª¨à«"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "કાશà«àª®à«€àª°à«€"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "કિકà«àª¯à«‚"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "કિરà«àª—à«€àª"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "કેનેડિયન અંગà«àª°à«‡àªœà«€"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "કેનેડિયન ફà«àª°à«‡àª‚ચ"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "કોંગો સà«àªµàª¾àª¹àª¿àª²à«€"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "કોયરા ચિનિ"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "કોયરાબોરો સેનà«àª¨à«€"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "કોરિયન"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "કà«àª°à«‹àªàª¶àª¿àª¯àª¨"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "કà«àªµàª¾àª¸àª¿àª“"
+ },
+ "km": {
+ "code": "km",
+ "name": "ખà«àª®à«‡àª°"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ગાંડા"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ગà«àªœàª°àª¾àª¤à«€"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "ગà«àª¸à«€"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ગેલિશિયન"
+ },
+ "el": {
+ "code": "el",
+ "name": "ગà«àª°à«€àª•"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ચાઇનીàª"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "ચિગા"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ચેક"
+ },
+ "de": {
+ "code": "de",
+ "name": "જરà«àª®àª¨"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "જાપાનીàª"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "જોલા-ફોનà«àª¯à«€"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "જà«àª¯à«‹àª°à«àªœàª¿àª…ન"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "àªàª°à«àª®àª¾"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "àªà«àª²à«"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ટરà«àª•à«€àª¶"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ટાઇગà«àª°àª¿àª¨àª¿àª¯àª¾"
+ },
+ "to": {
+ "code": "to",
+ "name": "ટોંગાન"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ડચ"
+ },
+ "da": {
+ "code": "da",
+ "name": "ડેનિશ"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ડà«àªà«‹àª‚ગà«àª–ા"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "તમિલ"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "તસાવાક"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "તિબેટીયન"
+ },
+ "te": {
+ "code": "te",
+ "name": "તેલà«àª—à«"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "તેશીલહિટ"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "તેસો"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "તૈતા"
+ },
+ "th": {
+ "code": "th",
+ "name": "થાઈ"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "નગોમà«àª¬àª¾"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "નમા"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "નિમà«àª¨ સોરà«àª¬àª¿àª¯àª¨"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "નà«àªàª°"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "નેપાળી"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "નૉરà«àªµà«‡àªœà«€àª¯àª¨ નાયનૉરà«àª¸à«àª•"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "નોરà«àªµà«‡àªœà«€àª¯àª¨ બોકમાલ"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "નà«àª¯àª¾àª¨àª•à«‹àª²"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "પંજાબી"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "પશà«àªšàª¿àª®à«€ ફà«àª°àª¿àª¶àª¿àª¯àª¨"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "પશà«àª¤à«‹"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "પારંપરિક ચાઇનીàª"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "પોરà«àªŸà«àª—à«€àª"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "પોલીશ"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "પà«àª°àª®àª¾àª£àª­à«‚ત મોરોકà«àª•àª¨ ટમાàªàª¿àªŸ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ફારસી"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ફિનિશ"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ફિલિપિનો"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "ફà«àª²àª¾àª¹"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ફોરિસà«àª¤"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ફà«àª°àª¿àª¯à«àª²àª¿àª¯àª¾àª¨"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ફà«àª°à«‡àª¨à«àªš"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ફà«àª²à«‡àª®àª¿àª¶"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "બંગાળી"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "બફિયા"
+ },
+ "my": {
+ "code": "my",
+ "name": "બરà«àª®à«€àª"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "બલà«àª—ેરિયન"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "બસા"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "બામà«àª¬àª¾àª°àª¾"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "બાસà«àª•"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "બેના"
+ },
+ "be": {
+ "code": "be",
+ "name": "બેલારà«àª¶àª¿àª¯àª¨"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "બોડો"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "બોસà«àª¨àª¿àª¯àª¨"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "બà«àª°àª¾àªàª¿àª²à«€àª¯àª¨ પોરà«àªŸà«àª—à«€àª"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "બà«àª°àª¿àªŸàª¿àª¶ અંગà«àª°à«‡àªœà«€"
+ },
+ "br": {
+ "code": "br",
+ "name": "બà«àª°à«‡àªŸà«‹àª¨"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "મકામે"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "મકોનà«àª¡à«‡"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "મરાઠી"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "મલય"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "મલયાલમ"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "મલાગસી"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "મસાઇ"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "માખà«àªµàª¾-મીટà«àªŸà«"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "માલà«àªŸàª¿àª"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "મà«àª¨àª¡àª¾àª¨à«àª—"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "મેકà«àª¸àª¿àª•àª¨ સà«àªªà«‡àª¨àª¿àª¶"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "મેરà«"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "મેસેડોનિયન"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "મોંગોલિયન"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "મોડરà«àª¨ સà«àªŸàª¾àª¨à«àª¡àª°à«àª¡ અરબી"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "મોરીસà«àª¯à«‡àª¨"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "મોલડાવિયન"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "યà«àª•à«àª°à«‡àª¨àª¿àª¯àª¨"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "યà«àª°à«‹àªªàª¿àª¯àª¨ પોરà«àªŸà«àª—à«€àª"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "યà«àª°à«‹àªªàª¿àª¯àª¨ સà«àªªà«‡àª¨àª¿àª¶"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "યોરૂબા"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "રવા"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "રશિયન"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "રૂનà«àª¦à«€"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "રોમાનિયન"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "રોમાનà«àª¶"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "રોમà«àª¬à«‹"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "લંગી"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "લકà«àªà«‡àª®àª¬àª°à«àª—િશ"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "લાઓથિયન"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "લાતવિયન"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "લિંગાલા"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "લિથà«àª¨àª¿àª¯àª¨"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "લà«àªˆàª¯àª¾"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "લà«àª¯à«àª“"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "લà«àª¯à«‚બા કટાંગા"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "વાઇ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "વિયેતનામીસ"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "વà«àª¨à«àªœà«‹"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "વેલà«àª¶"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "શમà«àª¬àª¾àª²àª¾"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "શેરોકી"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "શોના"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "સમà«àª¬à«àª°à«"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "સરળીકૃત ચાઇનીàª"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "સરà«àª¬àª¿àª¯àª¨"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "સાંગà«"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "સાંગો"
+ },
+ "si": {
+ "code": "si",
+ "name": "સિંહાલી"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "સેના"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "સેનà«àªŸà«àª°àª² àªàªŸà«àª²àª¸ તામાàªàª¿àª—à«àªŸ"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "સોગા"
+ },
+ "so": {
+ "code": "so",
+ "name": "સોમાલી"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "સà«àª•à«‹àªŸà«àª¸ ગેલિક"
+ },
+ "es": {
+ "code": "es",
+ "name": "સà«àªªà«‡àª¨àª¿àª¶"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "સà«àª²à«‹àªµà«…ક"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "સà«àª²à«‹àªµà«‡àª¨àª¿àª¯àª¨"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "સà«àªµàª¾àª¹àª¿àª²à«€"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "સà«àªµàª¿àª¸ જરà«àª®àª¨"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "સà«àªµàª¿àª¸ ફà«àª°à«‡àª‚ચ"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "સà«àªµàª¿àª¸ હાય જરà«àª®àª¨"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "સà«àªµà«€àª¡àª¿àª¶"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "હંગેરિયન"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "હિનà«àª¦à«€"
+ },
+ "he": {
+ "code": "he",
+ "name": "હીબà«àª°à«"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "હૌસા"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/guz.json b/library/intl/resources/language/guz.json
new file mode 100644
index 000000000..ad2a4f072
--- /dev/null
+++ b/library/intl/resources/language/guz.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Ekegusii"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kingereza"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ha.json b/library/intl/resources/language/ha.json
new file mode 100644
index 000000000..3d16f3254
--- /dev/null
+++ b/library/intl/resources/language/ha.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afirkanci"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharik"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armeniyanci"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijanci"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Bagalike"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Basulabe"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Basulake"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarusanci"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosniyanci"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgaranci"
+ },
+ "br": {
+ "code": "br",
+ "name": "Buretananci"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmanci"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Dan Ailan"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Dan Filifin"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Dan Masedoniya"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Dan\/ʼYar Kabilar Bas"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Dan\/ʼYar Kabilar Kannada"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Dʼan\/ʼYar Kabilar Albaniya"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Dʼan\/ʼYar Kabilar Andalus"
+ },
+ "te": {
+ "code": "te",
+ "name": "Dʼan\/ʼYar Kabilar Telug"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Faransanci"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Fotigis (Burazil)"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "Girkanci"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Harshen Biyetinam"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Harshen Cak"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Harshen Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Harshen Hungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Harshen Indunusiya"
+ },
+ "km": {
+ "code": "km",
+ "name": "Harshen Kimar"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Harshen Koreya"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Harshen Malai"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Harshen Maltis"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Harshen Polan"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Harshen Portugal"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Harshen Sin"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Harshen Suwahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Harshen Suwedan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Harshen Turkiyya"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Harshen Urdu"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Harshen Yukuren"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Harshen Zulu"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Holanci"
+ },
+ "es": {
+ "code": "es",
+ "name": "Ispaniyanci"
+ },
+ "et": {
+ "code": "et",
+ "name": "Istoniyanci"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italiyanci"
+ },
+ "de": {
+ "code": "de",
+ "name": "Jamusanci"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japananci"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Jojiyanci"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Kabilar Maleyalam"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Kabilar Welsh"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Kataloniyanci"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgizanci"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kuroshiyan"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Kʼabilan Firsi"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Kʼabilan Marathi"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Kʼabilan Scots Gaelic"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laothian"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Larabci"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latbiyanci"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lituweniyanci"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriyanci"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Parisanci"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashtanci"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rashanci"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romaniyanci"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Sabiyan"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhalanci"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigriyanci"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "en": {
+ "code": "en",
+ "name": "Turanci"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Ugiranci"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "he": {
+ "code": "he",
+ "name": "Yahudanci"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yarbanci"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Yaren Kasar Norway"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Yaren Kasar Portugal"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Yaren mutanen Finland"
+ },
+ "is": {
+ "code": "is",
+ "name": "Yaren mutanen Iceland"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/he.json b/library/intl/resources/language/he.json
new file mode 100644
index 000000000..c6769757f
--- /dev/null
+++ b/library/intl/resources/language/he.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "××”×™×™×"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "×ווה"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "×וונדו"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "×וזבקית"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "×ויגהור"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "×וקר×ינית"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "×ורדו"
+ },
+ "or": {
+ "code": "or",
+ "name": "×וריה"
+ },
+ "az": {
+ "code": "az",
+ "name": "×זרית"
+ },
+ "it": {
+ "code": "it",
+ "name": "×יטלקית"
+ },
+ "id": {
+ "code": "id",
+ "name": "×ינדונזית"
+ },
+ "is": {
+ "code": "is",
+ "name": "×יסלנדית"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "×ירית"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "×לבנית"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "×מבו"
+ },
+ "am": {
+ "code": "am",
+ "name": "×מהרית"
+ },
+ "en": {
+ "code": "en",
+ "name": "×נגלית"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "×נגלית ×וסטרלית"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "×נגלית ×מריק×ית"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "×נגלית בריטית"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "×נגלית קנדית"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "×סו"
+ },
+ "et": {
+ "code": "et",
+ "name": "×סטונית"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "×סטורית"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "×ספרנטו"
+ },
+ "af": {
+ "code": "af",
+ "name": "×פריק×נס"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "×ק×ן"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "×רמנית"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "ב×פיה"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "בודו"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "בולגרית"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "בוסנית"
+ },
+ "my": {
+ "code": "my",
+ "name": "בורמזית"
+ },
+ "be": {
+ "code": "be",
+ "name": "בל×רוסית"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "במב×רה"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "בנגלית"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "בנה"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "בס××"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "בסקית"
+ },
+ "br": {
+ "code": "br",
+ "name": "ברטונית"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "×’×ורגית"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "×’×לית סקוטית"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "×’×נדה"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "גוג׳ר×טית"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "גוסי"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "גליצי×נית"
+ },
+ "de": {
+ "code": "de",
+ "name": "גרמנית"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "גרמנית ×וסטרית"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "גרמנית שוויצרית"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "גרמנית שוויצרית (גבוהה)"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "דזונקה"
+ },
+ "da": {
+ "code": "da",
+ "name": "דנית"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "×”×וסה"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "הולה-פוניי"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "הולנדית"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "הונגרית"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "הינדי"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ו××™"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "וו×לסר"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "וונג׳ו"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "וי×טנמית"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ולשית"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "×–×רמה"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "זולו"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "ט×יטה"
+ },
+ "to": {
+ "code": "to",
+ "name": "טונגן"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "טורקית"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "טיבטית"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "טיגרינ×ית"
+ },
+ "te": {
+ "code": "te",
+ "name": "טלוגו"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "טמזייט של מרכז מרוקו"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "טמילית"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "טסו"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "טסוו×ק"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "טצ׳להיט"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "×™×נגבן"
+ },
+ "el": {
+ "code": "el",
+ "name": "יוונית"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "יורובה"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "יפנית"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ל×ית"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ל×× ×’×™"
+ },
+ "se": {
+ "code": "se",
+ "name": "ל×פית צפונית"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "לו×ו"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "לובה-קטנגה"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "לויה"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "לוקסמבורגית"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "לטבית"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ליט×ית"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "לינגלה"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "מ×ס×ית"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "מולדבית"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "מונגולית"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "מונד×× ×’"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "מוריסיין"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "מל××™×ל×"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "מל×ית"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "מלגשית"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "מלטית"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "מצ׳×מה"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "מקדונית"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "מקו××”-מיטו"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "מקונדה"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "מרו"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "מרטהי"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "× ×מה"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "נגומה"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "נו×ר"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "נורבגית חדשה"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "â€× ×•×¨×‘גית ספרותית"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "× ×™×נקולה"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "נפ×לית"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "ס×נגו"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "סוגה"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "סווהילי קונגולטזית"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "סווהילית"
+ },
+ "so": {
+ "code": "so",
+ "name": "סומלית"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "סורבית גבוהה"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "סורבית נמוכה"
+ },
+ "si": {
+ "code": "si",
+ "name": "סינהלה"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "סינית"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "סינית מסורתית"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "סינית מפושטת"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "סלובנית"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "סלובקית"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "סמבורו"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "סנגו"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "סנה"
+ },
+ "es": {
+ "code": "es",
+ "name": "ספרדית"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ספרדית ×ירופ×ית"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "ספרדית מקסיקנית"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "סרבית"
+ },
+ "he": {
+ "code": "he",
+ "name": "עברית"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ערבית"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ערבית ספרותית"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "פ×רו×זית"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "פ×שטו"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "פולה"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "פולנית"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "פורטוגלית"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "פורטוגלית ×ירופ×ית"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "פורטוגלית ברזיל×ית"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "פיליפינית"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "פינית"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "פלמית"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "פנג׳×בית"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "פריולית"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "פריזית"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "פרסית"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "צ׳יגה"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "צ׳כית"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "צ׳רוקי"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "צפון נדבלה"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "צרפתית"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "צרפתית קנדית"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "צרפתית שוויצרית"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "ק×בוורדי×נו"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "ק×ל×ליסוטית"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "ק×לנג׳ין"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "קבילה"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "קוו×סיו"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "קויר×בורו סני"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "קוירה צ׳יני"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "קולוני×ן"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "קורי×נית"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "קזחית"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "קטל×נית"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "קיקויו"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "קירגיזית"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "קירונדי"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "קמבה"
+ },
+ "km": {
+ "code": "km",
+ "name": "קמרית"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "קנ×דה"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "קרו×טית"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "קשמירית"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "רוו×"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "רומ×נש"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "רומבו"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "רומנית"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "רוסית"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "שוודית"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "שונה"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "שמב×לה"
+ },
+ "th": {
+ "code": "th",
+ "name": "ת×ית"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "תמזיע׳ת מרוק×ית תקנית"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/hi.json b/library/intl/resources/language/hi.json
new file mode 100644
index 000000000..9145e2dff
--- /dev/null
+++ b/library/intl/resources/language/hi.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "en": {
+ "code": "en",
+ "name": "अंगà¥à¤°à¥‡à¤œà¤¼à¥€"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "अकन"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "अगà¥à¤¹à¥‡à¤®"
+ },
+ "az": {
+ "code": "az",
+ "name": "अज़रबैजानी"
+ },
+ "af": {
+ "code": "af",
+ "name": "अफ़à¥à¤°à¥€à¤•à¥€"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "अमेरिकी अंगà¥à¤°à¥‡à¤œà¤¼à¥€"
+ },
+ "am": {
+ "code": "am",
+ "name": "अमà¥à¤¹à¥‡à¤°à¥€"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "अरबी"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "असà¥"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "असà¥à¤¤à¥à¤°à¤¿à¤¯à¤¨"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "आइरिश"
+ },
+ "is": {
+ "code": "is",
+ "name": "आइसलैंडी"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "आधà¥à¤¨à¤¿à¤• मानक अरबी"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "id": {
+ "code": "id",
+ "name": "इंडोनेशियाई"
+ },
+ "it": {
+ "code": "it",
+ "name": "इतालवी"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "इवोनà¥à¤¡à¥‹"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ईवे"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "उज़à¥à¤¬à¥‡à¤•"
+ },
+ "or": {
+ "code": "or",
+ "name": "उड़िया"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "उतà¥à¤¤à¤°à¥€ देबेल"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "उरà¥à¤¦à¥‚"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ऊपरी सॉरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "à¤à¤®à¥à¤¬à¥"
+ },
+ "et": {
+ "code": "et",
+ "name": "à¤à¤¸à¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "à¤à¤¸à¥à¤ªà¥‡à¤°à¥‡à¤‚तो"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¾à¤ˆ जरà¥à¤®à¤¨"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¾à¤ˆ अंगà¥à¤°à¥‡à¤œà¤¼à¥€"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "कज़ाख़"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "कनाडाई अंगà¥à¤°à¥‡à¤œà¤¼à¥€"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "कनाडाई फ़à¥à¤°à¥‡à¤‚च"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "कनà¥à¤¨à¤¡à¤¼"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "कबाइल"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "कमà¥à¤¬à¤¾"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "कलेंजिन"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "कशà¥à¤®à¥€à¤°à¥€"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "कांगो सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "कातालान"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "काबà¥à¤µà¥‡à¤°à¥à¤¦à¤¿à¤¯à¤¾à¤¨à¥"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "किकà¥à¤¯à¥‚"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "किरà¥à¤—ीज़"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "कोयरा चीनी"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "कोयराबोरो सेनà¥à¤¨à¥€"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "कोरियाई"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "कà¥à¤µà¤¾à¤¸à¤¿à¤“"
+ },
+ "km": {
+ "code": "km",
+ "name": "खमेर"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "गांडा"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "गà¥à¤œà¤°à¤¾à¤¤à¥€"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "गà¥à¤¸à¥€"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "गैलिशियन"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "गà¥à¤°à¥€à¤¨à¤²à¥ˆà¤‚डिक"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "चीनी"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "चेक"
+ },
+ "de": {
+ "code": "de",
+ "name": "जरà¥à¤®à¤¨"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "जापानी"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ज़à¥à¤²à¥‚"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "जॉरà¥à¤œà¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ज़ोनà¥à¤—खा"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "जोला-फोंई"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "à¤à¤¾à¤°à¥à¤®à¤¾"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "टासवाक"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "टेसो"
+ },
+ "to": {
+ "code": "to",
+ "name": "टोंगन"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "डच"
+ },
+ "da": {
+ "code": "da",
+ "name": "डेनिश"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "तमिल"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "तिगà¥à¤°à¥€à¤¨à¥à¤¯à¤¾"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "तिबà¥à¤¬à¤¤à¥€"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "तà¥à¤°à¥à¤•à¥€"
+ },
+ "te": {
+ "code": "te",
+ "name": "तेलà¥à¤—ू"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "तैचेलà¥à¤¹à¤¿à¤¤"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "तैता"
+ },
+ "th": {
+ "code": "th",
+ "name": "थाई"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "नगोंबा"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "नामा"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "निचला सॉरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "नà¥à¤à¤°"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "नेपाली"
+ },
+ "se": {
+ "code": "se",
+ "name": "नॉरà¥à¤¦à¤¨ सामी"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "नॉरà¥à¤µà¥‡à¤œà¤¿à¤¯à¤¾à¤ˆ नॉयनॉरà¥à¤¸à¥à¤•"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "नॉरà¥à¤µà¥‡à¤œà¤¿à¤¯à¤¾à¤ˆ बोकमाल"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "नà¥à¤¯à¤¾à¤¨à¤•à¥‹à¤²"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "पंजाबी"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "पशà¥à¤šà¤¿à¤®à¥€ फ़à¥à¤°à¤¿à¤¸à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "पशà¥à¤¤à¥‹"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "पारंपरिक चीनी"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "पà¥à¤°à¥à¤¤à¤—ाली"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "पोलिश"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "फ़ारसी"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "फ़िनिश"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "फ़िलिपीनो"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "फà¥à¤²à¤¾à¤¹"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "फ़ैरोइज़"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "फà¥à¤°à¥€à¤¯à¥à¤²à¥€à¤¯à¤¾à¤¨"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "फ़à¥à¤°à¥‡à¤‚च"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "फ़à¥à¤²à¥‡à¤®à¤¿à¤¶"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "बंगाली"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "बफिआ"
+ },
+ "my": {
+ "code": "my",
+ "name": "बरà¥à¤®à¥€à¤œà¤¼"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "बसा"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "बामà¥à¤¬à¤¾à¤°à¤¾"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "बासà¥à¤•"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "बà¥à¤²à¥à¤—ारियाई"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "बेना"
+ },
+ "be": {
+ "code": "be",
+ "name": "बेलारूसी"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "बोडो"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "बà¥à¤°à¤¾à¤œà¤¼à¥€à¤²à¥€ पà¥à¤°à¥à¤¤à¤—ाली"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ अंगà¥à¤°à¥‡à¤œà¤¼à¥€"
+ },
+ "br": {
+ "code": "br",
+ "name": "बà¥à¤°à¥‡à¤Ÿà¤¨"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "मंगोलीयाई"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "मधà¥à¤¯ à¤à¤Ÿà¤²à¤¸ तमाज़ित"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "मराठी"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "मलय"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "मलयालम"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "मसाई"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "मानक मोरकà¥à¤•à¤¨ तामाज़ाइट"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "मालागासी"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "मालà¥à¤Ÿà¥€à¤œà¤¼"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "मà¥à¤‚डैंग"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "मेरà¥"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "मैकहैमे"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "मैकोंड"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "मैकà¥à¤¸à¤¿à¤•à¤¨ सà¥à¤ªà¥‡à¤¨à¤¿à¤¶"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "मैखà¥à¤µà¤¾-मीटà¥à¤Ÿà¥‹"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "मैसिडोनियाई"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "मोरीसà¥à¤¯à¥‡à¤¨"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "मोलडावियन"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "यूकà¥à¤°à¥‡à¤¨à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "el": {
+ "code": "el",
+ "name": "यूनानी"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "यूरोपीय पà¥à¤°à¥à¤¤à¤—ाली"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "यूरोपीय सà¥à¤ªà¥‡à¤¨à¥€"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "योरूबा"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "रवा"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "रà¥à¤¨à¥à¤¦à¥€"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "रूसी"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "रोमानियाई"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "रोमानà¥à¤¶"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "रोमà¥à¤¬à¥‹"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "लगà¥à¤œà¤¼à¤®à¤¬à¤°à¥à¤—ी"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "लांगि"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "लाओ"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "लातवियाई"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "लिंगाला"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "लà¥à¤¯à¥à¤ˆà¤†"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "लà¥à¤¯à¥à¤“"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "लà¥à¤¯à¥‚बा-कटांगा"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "वाई"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "विघà¥à¤°"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "वियतनामी"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "वà¥à¤‚जो"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "वेलà¥à¤¶"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "शमà¥à¤¬à¤¾à¤²à¤¾"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "शिगा"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "शेरोकी"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "शोणा"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "सरलीकृत चीनी"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "सांगो"
+ },
+ "si": {
+ "code": "si",
+ "name": "सिंहली"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "सेना"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "सैंगà¥"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "सैमà¥à¤¬à¥à¤°à¥"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "सोगा"
+ },
+ "so": {
+ "code": "so",
+ "name": "सोमाली"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "सà¥à¤•à¤¾à¤Ÿà¥à¤¸à¥ गायेलिकà¥"
+ },
+ "es": {
+ "code": "es",
+ "name": "सà¥à¤ªà¥‡à¤¨à¥€"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "सà¥à¤²à¥‹à¤µà¤¾à¤•"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "सà¥à¤²à¥‹à¤µà¥‡à¤¨à¤¿à¤¯à¤¾à¤ˆ"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "सà¥à¤µà¤¿à¤¸ उचà¥à¤š जरà¥à¤®à¤¨"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "सà¥à¤µà¤¿à¤¸ जरà¥à¤®à¤¨"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "सà¥à¤µà¤¿à¤¸ फ़à¥à¤°à¥‡à¤‚च"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "सà¥à¤µà¥€à¤¡à¤¿à¤¶"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "हंगेरियाई"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "हिंदी"
+ },
+ "he": {
+ "code": "he",
+ "name": "हिबà¥à¤°à¥‚"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "हौसा"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/hr.json b/library/intl/resources/language/hr.json
new file mode 100644
index 000000000..cf62df56d
--- /dev/null
+++ b/library/intl/resources/language/hr.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanski"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanski"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ameriÄki engleski"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharski"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arapski"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenski"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturijski"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "australski engleski"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "austrijski njemaÄki"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbajdžanski"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskijski"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalski"
+ },
+ "be": {
+ "code": "be",
+ "name": "bjeloruski"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosanski"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brazilski portugalski"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonski"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "britanski engleski"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bugarski"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmanski"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Äeroki"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ÄeÅ¡ki"
+ },
+ "da": {
+ "code": "da",
+ "name": "danski"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "engleski"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonski"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "europski portugalski"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "europski Å¡panjolski"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ferojski"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finski"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamanski"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francuski"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulski"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicijski"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "gornjolužiÄki"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "gornjonjemaÄki (Å¡vicarski)"
+ },
+ "el": {
+ "code": "el",
+ "name": "grÄki"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruzijski"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžaratski"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrejski"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindski"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "hrvatski"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonezijski"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irski"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandski"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japanski"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "joruba"
+ },
+ "se": {
+ "code": "se",
+ "name": "južni sami"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabilski"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadski engleski"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadski francuski"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannadski"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kašmirski"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalonski"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazaški"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kelnski"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kineski"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "kineski (pojednostavljeni)"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "kineski (tradicionalni)"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiški"
+ },
+ "km": {
+ "code": "km",
+ "name": "kmerski"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "književni norveški"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "kongoanski swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korejski"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laoski"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latvijski"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litavski"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luksemburški"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "lužiÄkosrpski"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "mađarski"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonski"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalamski"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajski"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaški"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "malteški"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathski"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "marokanski tamazight"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masajski"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "mauricijski kreolski"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "meksiÄki Å¡panjolski"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "moderni standardni arapski"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavski"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolski"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalski"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nizozemski"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "novonorveški"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "de": {
+ "code": "de",
+ "name": "njemaÄki"
+ },
+ "or": {
+ "code": "or",
+ "name": "orijski"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandžapski"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paštu"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "perzijski"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "poljski"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalski"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanš"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumunjski"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruski"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhaleški"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "sjeverni ndebele"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovaÄki"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovenski"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalski"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "srpski"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "standardni marokanski tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "svahili"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Å¡kotski-galski"
+ },
+ "es": {
+ "code": "es",
+ "name": "Å¡panjolski"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Å¡vedski"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Å¡vicarski francuski"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Å¡vicarski njemaÄki"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "th": {
+ "code": "th",
+ "name": "tajlandski"
+ },
+ "it": {
+ "code": "it",
+ "name": "talijanski"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilski"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetanski"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganski"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turski"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujgurski"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrajinski"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdski"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeÄki"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "velški"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vijetnamski"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "zapadnofrizijski"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "zelenortski"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/hsb.json b/library/intl/resources/language/hsb.json
new file mode 100644
index 000000000..79753bc2f
--- /dev/null
+++ b/library/intl/resources/language/hsb.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaanšćina"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghemšćina"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanšćina"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanšćina"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ameriska jendźelšćina"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharšćina"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabšćina"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenšćina"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturšćina"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "awstralska jendźelšćina"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "awstriska nÄ›mÄina"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbajdźanšćina"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskišćina"
+ },
+ "be": {
+ "code": "be",
+ "name": "běłorušćina"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalšćina"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bołharšćina"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnišćina"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brazilska portugalšćina"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonšćina"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "britiska jendźelšćina"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmašćina"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Äěšćina"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinšćina"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinšćina (tradicionalna)"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinšćina (zjednorjena)"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "chorwatšćina"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "da": {
+ "code": "da",
+ "name": "danšćina"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "delnjoserbšćina"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estišćina"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "europska portugalšćina"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "europska španišćina"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "färöšćina"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipinšćina"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finšćina"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamšćina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francošćina"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frizišćina"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicišćina"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "gandšćina"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgišćina"
+ },
+ "el": {
+ "code": "el",
+ "name": "grjekšćina"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "gröndlandšćina"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrejšćina"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindišćina"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "hornjoserbšćina"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonešćina"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "iršćina"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandšćina"
+ },
+ "it": {
+ "code": "it",
+ "name": "italšćina"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japanšćina"
+ },
+ "en": {
+ "code": "en",
+ "name": "jendźelšćina"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "jorubašćina"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabylšćina"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadiska francošćina"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadiska jendźelšćina"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannadšćina"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kapverdšćina"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kašmiršćina"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalanšćina"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazachšćina"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmeršćina"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgišćina"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kirundišćina"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "kongoska suahelšćina"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korejšćina"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyra senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laošćina"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letišćina"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litawšćina"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhya"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgšćina"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "madźaršćina"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonšćina"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagassišćina"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajamšćina"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajšćina"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltašćina"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratišćina"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masaišćina"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "mauriciska kreolšćina"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "mexiska španišćina"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "moderna wysokoarabšćina"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldawšćina"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolšćina"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "de": {
+ "code": "de",
+ "name": "nÄ›mÄina"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalšćina"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nižozemšćina"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norwegšćina (bokmål)"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norwegšćina (nynorsk)"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "orijšćina"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandźabšćina"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "pare"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paštunšćina"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persišćina"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "pólšćina"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalšćina"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromanšćina"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumunšćina"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rušćina"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Å¡ambala"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbišćina"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "sewjero-ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "sewjerosamišćina"
+ },
+ "si": {
+ "code": "si",
+ "name": "singhalšćina"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "słowakšćina"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "słowjenšćina"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somališćina"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "šonašćina"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "šotiska gelšćina"
+ },
+ "es": {
+ "code": "es",
+ "name": "španišćina"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suahelšćina"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "šwedšćina"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "šwicarska francošćina"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Å¡wicarska nÄ›mÄina"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight (srjedźny Marokko)"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilšćina"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tašelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thailandšćina"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetšćina"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinšćina"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongašćina"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turkowšćina"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujguršćina"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainšćina"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdušćina"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbekšćina"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamšćina"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "walizišćina"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulušćina\""
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/hu.json b/library/intl/resources/language/hu.json
new file mode 100644
index 000000000..440e370fc
--- /dev/null
+++ b/library/intl/resources/language/hu.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "agem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albán"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "alsó szorb"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "amerikai angol"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhara"
+ },
+ "en": {
+ "code": "en",
+ "name": "angol"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arab"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asztúr"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ausztrál angol"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbajdzsáni"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basza"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baszk"
+ },
+ "be": {
+ "code": "be",
+ "name": "belorusz"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengáli"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bolgár"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnyák"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brazíliai portugál"
+ },
+ "br": {
+ "code": "br",
+ "name": "breton"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "brit angol"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmai"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "butáni"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "cseh"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cseroki"
+ },
+ "da": {
+ "code": "da",
+ "name": "dán"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "egyszerűsített kínai"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "északi ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "északi számi"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "eszperantó"
+ },
+ "et": {
+ "code": "et",
+ "name": "észt"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "európai portugál"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "európai spanyol"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "eve"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "evondo"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "felső szorb"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feröeri"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippínó"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finn"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamand"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francia"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friuli"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "fríz"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulani"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galíciai"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "görög"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grönlandi"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "grúz"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudzsarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "guszii"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "hagyományos kínai"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausza"
+ },
+ "he": {
+ "code": "he",
+ "name": "héber"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holland"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "horvát"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonéz"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ír"
+ },
+ "is": {
+ "code": "is",
+ "name": "izlandi"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "jangben"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japán"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "joruba"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabije"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kabuverdianu"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalendzsin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "kambodzsai"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadai angol"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadai francia"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kásmíri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalán"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazah"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "kiga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuju"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kínai"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiz"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kirundi"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "kojra-csíni"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "kojra-szenni"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "kongói szuahéli"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreai"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "közép-marokkói tamazigt"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laoszi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "lengyel"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "lett"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litván"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "lujia"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgi"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedón"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "magyar"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makua-metó"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "maláj"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajálam"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "málgas"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "máltai"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "marokkói tamazight"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "mauritiusi kreol"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "modern szabányos arab"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldvai"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "de": {
+ "code": "de",
+ "name": "német"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepáli"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "ngumba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norvég bokmal"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norvég nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "it": {
+ "code": "it",
+ "name": "olasz"
+ },
+ "or": {
+ "code": "or",
+ "name": "orija"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "orosz"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "osztrák német"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "örmény"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandzsábi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastu"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "perzsa"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugál"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "réto-román"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "román"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwo"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "sambala"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "skót gael"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "sona"
+ },
+ "es": {
+ "code": "es",
+ "name": "spanyol"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "spanyol (mexikói)"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "svájci felnémet"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "svájci francia"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "svájci német"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svéd"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "szamburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "szangó"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "szangu"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "szavák"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "szena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "szerb"
+ },
+ "si": {
+ "code": "si",
+ "name": "szingaléz"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "szlovák"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "szlovén"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "szoga"
+ },
+ "so": {
+ "code": "so",
+ "name": "szomáliai"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "szuahéli"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teszó"
+ },
+ "th": {
+ "code": "th",
+ "name": "thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibeti"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "török"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujgur"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrán"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "üzbég"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnami"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "walesi"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/hy.json b/library/intl/resources/language/hy.json
new file mode 100644
index 000000000..df2c2721b
--- /dev/null
+++ b/library/intl/resources/language/hy.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "az": {
+ "code": "az",
+ "name": "Õ¡Õ¤Ö€Õ¢Õ¥Õ»Õ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Õ¡Õ¬Õ¢Õ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Õ¡Õ²Õ¥Õ´"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Õ¡Õ´Õ¥Ö€Õ«Õ¯ÕµÕ¡Õ¶ Õ¡Õ¶Õ£Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "am": {
+ "code": "am",
+ "name": "Õ¡Õ´Õ°Õ¡Ö€Õ¥Ö€Õ¥Õ¶"
+ },
+ "en": {
+ "code": "en",
+ "name": "Õ¡Õ¶Õ£Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Õ¡Õ½Õ¸Ö‚"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Õ¡Õ¾Õ¡Õ¶Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¹Õ«Õ¶Õ¡Ö€Õ¥Õ¶"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Õ¡Õ¾Õ½Õ¿Ö€Õ¡Õ¬Õ¡Õ¯Õ¡Õ¶ Õ¡Õ¶Õ£Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Õ¡Õ¾Õ½Õ¿Ö€Õ«Õ¡Õ¯Õ¡Õ¶ Õ£Õ¥Ö€Õ´Õ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Õ¡Ö€Õ¡Õ¢Õ¥Ö€Õ¥Õ¶"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Õ¡Ö€Ö‡Õ´Õ¿ÕµÕ¡Õ¶ Ö†Ö€Õ«Õ¦Õ¥Ö€Õ¥Õ¶"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Õ¡Ö„Õ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "af": {
+ "code": "af",
+ "name": "Õ¡Ö†Ö€Õ«Õ¯Õ¡Õ¡Õ¶Õ½"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Õ¢Õ¡Õ´Õ¢Õ¡Ö€Õ¡"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Õ¢Õ¡Õ½Õ¯Õ¥Ö€Õ¥Õ¶"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Õ¢Õ¡Ö†Õ«Õ¡"
+ },
+ "be": {
+ "code": "be",
+ "name": "Õ¢Õ¥Õ¬Õ¡Õ¼Õ¸Ö‚Õ½Õ¥Ö€Õ¥Õ¶"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Õ¢Õ¥Õ¶Õ¡"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Õ¢Õ¥Õ¶Õ£Õ¡Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "my": {
+ "code": "my",
+ "name": "Õ¢Õ«Ö€Õ´Õ¡ÕµÕ¥Ö€Õ¥Õ¶"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Õ¢Õ¸Õ¤Õ¸"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Õ¢Õ¸Õ½Õ¶Õ«Õ¥Ö€Õ¥Õ¶"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Õ¢Õ¸Ö‚Õ¬Õ²Õ¡Ö€Õ¥Ö€Õ¥Õ¶"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Õ¢Ö€Õ¡Õ¦Õ«Õ¬Õ¡Õ¯Õ¡Õ¶ ÕºÕ¸Ö€Õ¿Õ¸Ö‚Õ£Õ¡Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "br": {
+ "code": "br",
+ "name": "Õ¢Ö€Õ¥Õ¿Õ¸Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Õ¢Ö€Õ«Õ¿Õ¡Õ¶Õ¡Õ¯Õ¡Õ¶ Õ¡Õ¶Õ£Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Ô³Õ¡Õ¥Õ¬ÕµÕ¡Õ¶ Õ‡Õ¸Õ¿Õ¬Õ¡Õ¶Õ¤Õ¥Ö€Õ¥Õ¶"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Õ£Õ¡Õ¬Õ«Õ½Õ¥Ö€Õ¥Õ¶"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Õ£Õ¡Õ¶Õ¤Õ¡"
+ },
+ "de": {
+ "code": "de",
+ "name": "Õ£Õ¥Ö€Õ´Õ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Õ£Õ¸Ö‚Õ»Õ¡Ö€Õ¡Õ©Õ«"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Õ£Õ¸Ö‚Õ½Õ«"
+ },
+ "da": {
+ "code": "da",
+ "name": "Õ¤Õ¡Õ¶Õ«Õ¥Ö€Õ¥Õ¶"
+ },
+ "he": {
+ "code": "he",
+ "name": "Õ¥Õ¢Ö€Õ¡ÕµÕ¥Ö€Õ¥Õ¶"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Õ¥Õ¾Ö€Õ¸ÕºÕ¡Õ¯Õ¡Õ¶ Õ«Õ½ÕºÕ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Õ¥Õ¾Ö€Õ¸ÕºÕ¡Õ¯Õ¡Õ¶ ÕºÕ¸Ö€Õ¿Õ¸Ö‚Õ£Õ¡Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Õ¦Õ¡Ö€Õ´Õ¡"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Õ¦Õ¸Ö‚Õ¬Õ¸Ö‚Õ½Õ¥Ö€Õ¥Õ¶"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Õ§Õ´Õ¢Õ¸Ö‚"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Õ§Õ½ÕºÕ¥Ö€Õ¡Õ¶Õ¿Õ¸"
+ },
+ "et": {
+ "code": "et",
+ "name": "Õ§Õ½Õ¿Õ¸Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Õ§Õ¾Õ¥"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Õ©Õ¡Õ«Õ©Õ¡"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Õ©Õ¡Õ´Õ«Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "th": {
+ "code": "th",
+ "name": "Õ©Õ¡ÕµÕ¥Ö€Õ¥Õ¶"
+ },
+ "te": {
+ "code": "te",
+ "name": "Õ©Õ¥Õ¬Õ¸Ö‚Õ£Õ¸Ö‚"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Õ©Õ«Õ£Ö€Õ«Õ¶Õ«Õ¡"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Õ©Õ¸Ö‚Ö€Ö„Õ¥Ö€Õ¥Õ¶"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ÕªÕ¡Õ´Õ¡Õ¶Õ¡Õ¯Õ¡Õ¯Õ«Ö Õ½Õ¿Õ¡Õ¶Õ¤Õ¡Ö€Õ¿ Õ¡Ö€Õ¡Õ¢Õ¥Ö€Õ¥Õ¶"
+ },
+ "id": {
+ "code": "id",
+ "name": "Õ«Õ¶Õ¤Õ¸Õ¶Õ¥Õ¦Õ¥Ö€Õ¥Õ¶"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Õ«Õ¼Õ¬Õ¡Õ¶Õ¤Õ¥Ö€Õ¥Õ¶"
+ },
+ "is": {
+ "code": "is",
+ "name": "Õ«Õ½Õ¬Õ¡Õ¶Õ¤Õ¥Ö€Õ¥Õ¶"
+ },
+ "es": {
+ "code": "es",
+ "name": "Õ«Õ½ÕºÕ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "it": {
+ "code": "it",
+ "name": "Õ«Õ¿Õ¡Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Õ¬Õ¡Õ¶Õ£Õ«"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Õ¬Õ¡Õ¸Õ½Õ¥Ö€Õ¥Õ¶"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Õ¬Õ¡Õ¿Õ¾Õ«Õ¥Ö€Õ¥Õ¶"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Õ¬Õ¥Õ°Õ¥Ö€Õ¥Õ¶"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Õ¬Õ«Õ¶Õ£Õ¡Õ¬Õ¡"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Õ¬Õ«Õ¿Õ¾Õ¥Ö€Õ¥Õ¶"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Õ¬ÕµÕ¸Ö‚Ö„Õ½Õ¥Õ´Õ¢Õ¸Ö‚Ö€Õ£Õ¥Ö€Õ¥Õ¶"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Õ¬Õ¸Ö‚Õ¢Õ¡-Õ¯Õ¡Õ¿Õ¡Õ¶Õ£Õ¡"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Õ¬Õ¸Ö‚ÕµÕ¡"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Õ¬Õ¸Ö‚Õ¸"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Õ­Õ¸Ö€Õ¾Õ¡Õ©Õ¥Ö€Õ¥Õ¶"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Õ¯Õ¡Õ¢Õ«Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Õ¯Õ¡Õ¬Õ¡Õ¡Õ¬Õ«Õ½Õ¸Ö‚Õ¿"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Õ¯Õ¡Õ¬Õ¥Õ¶Õ»Õ«Õ¶"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Õ¯Õ¡Õ´Õ¢Õ¡"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Õ¯Õ¡Õ¶Õ¡Õ¤Õ¡Õ¯Õ¡Õ¶ Õ¡Õ¶Õ£Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Õ¯Õ¡Õ¶Õ¡Õ¤Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ½Õ¥Ö€Õ¥Õ¶"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Õ¯Õ¡Õ¶Õ¶Õ¡Õ¤Õ¡"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Õ¯Õ¡Õ¿Õ¡Õ¬Õ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Õ¯Õ¥Õ¶Õ¿Ö€Õ¸Õ¶Õ¡Õ¿Õ¬Õ¡Õ½ÕµÕ¡Õ¶ Õ©Õ¡Õ´Õ¡Õ¦Õ«Õ­Õ¿"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Õ¯Õ«Õ¯Õ¸Ö‚ÕµÕ¸Ö‚"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Õ¯Õ¸ÕµÖ€Õ¡ Õ¹Õ«Õ¶Õ«"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Õ¯Õ¸ÕµÖ€Õ¡Õ¢Õ¸Ö€Õ¸ Õ½Õ¥Õ¶Õ¶Õ«"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Õ¯Õ¸Õ¶Õ£Õ¸ÕµÕ« Õ½Õ¸Ö‚Õ¡Õ°Õ«Õ¬Õ«"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Õ¯Õ¸Ö€Õ¥Õ¥Ö€Õ¥Õ¶"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Õ¯Õ¸Ö‚Õ¢Õ¡Õ¾Õ¥Ö€Õ¤Õ«Õ¡Õ¶Õ¸Ö‚"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Õ¯Õ¾Õ¡Õ½Õ«Õ¸"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Õ°Õ¡ÕµÕ¥Ö€Õ¥Õ¶"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Õ°Õ¡Õ¸Ö‚Õ½Õ¡"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Õ°Õ«Õ¶Õ¤Õ«"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Õ°ÕµÕ¸Ö‚Õ½Õ«Õ½Õ¡ÕµÕ«Õ¶ Õ¶Õ¤Õ¥Õ¢Õ¥Õ¬Õ¥"
+ },
+ "se": {
+ "code": "se",
+ "name": "Õ°ÕµÕ¸Ö‚Õ½Õ«Õ½Õ¡ÕµÕ«Õ¶ Õ½Õ¡Õ´Õ«"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Õ°Õ¸Õ¬Õ¡Õ¶Õ¤Õ¥Ö€Õ¥Õ¶"
+ },
+ "el": {
+ "code": "el",
+ "name": "Õ°Õ¸Ö‚Õ¶Õ¡Ö€Õ¥Õ¶"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Õ°Õ¸Ö‚Õ¶Õ£Õ¡Ö€Õ¥Ö€Õ¥Õ¶"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Õ²Õ¡Õ¦Õ¡Õ­Õ¥Ö€Õ¥Õ¶"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Õ²Ö€Õ²Õ¦Õ¥Ö€Õ¥Õ¶"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Õ³Õ¡ÕºÕ¸Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Õ´Õ¡Õ¬Õ¡Õ£Õ¡Õ½Õ¥Ö€Õ¥Õ¶"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Õ´Õ¡Õ¬Õ¡ÕµÕ¡Õ¬Õ¡Õ´"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Õ´Õ¡Õ¬Õ¡ÕµÕ¥Ö€Õ¥Õ¶"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Õ´Õ¡Õ¬Õ©Õ¥Ö€Õ¥Õ¶"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Õ´Õ¡Õ¯Õ¥Õ¤Õ¸Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Õ´Õ¡Õ¯Õ¸Õ¶Õ¤Õ¥"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Õ´Õ¡Õ·Õ¡Õ´Õ¥"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Õ´Õ¡Õ½Õ¡Õ«"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Õ´Õ¡Ö€Õ¡Õ©Õ«"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Õ´Õ¡Ö„Õ¸Ö‚Õ¡-Õ´Õ¥Õ¿Õ¿Õ¸"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Õ´Õ¥Ö€Õ¸Ö‚"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Õ´Õ¥Ö„Õ½Õ«Õ¯Õ¡Õ¯Õ¡Õ¶ Õ«Õ½ÕºÕ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Õ´Õ¸Õ¬Õ¤Õ¸Õ¾Õ¥Ö€Õ¥Õ¶"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Õ´Õ¸Õ¶Õ²Õ¸Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Õ´Õ¸Ö€Õ«Õ½ÕµÕ¥Õ¶"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Õ´Õ¸Ö‚Õ¶Õ¤Õ¡Õ¶Õ£"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ÕµÕ¸Ö€Õ¸Ö‚Õ¢Õ¡"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Õ¶Õ¡Õ´Õ¡"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Õ¶Õ£Õ¸Õ´Õ¢Õ¡"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Õ¶Õ¥ÕºÕ¡Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Õ¶ÕµÕ¡Õ¶Õ¯Õ¸Õ¬Õ¥"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Õ¶Õ¸Ö€Õ¾Õ¥Õ£Õ¥Ö€Õ¥Õ¶ Õ¢Õ¸Ö‚Õ¯Õ´Õ¸Õ¬"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Õ¶Õ¸Ö€Õ¾Õ¥Õ£Õ¥Ö€Õ¥Õ¶ Õ¶ÕµÕ¸Ö‚Õ¶Õ¸Ö€Õ½Õ¯"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Õ¶Õ¸Ö‚Õ¥Ö€"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Õ·Õ¡Õ´Õ¢Õ¡Õ¬Õ¡"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Õ·Õ¥Ö€Õ¸Õ¯Õ«"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Õ·Õ¸Õ¶Õ¡"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Õ·Õ¾Õ¥Õ¤Õ¥Ö€Õ¥Õ¶"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Õ·Õ¾Õ¥ÕµÖÕ¡Ö€Õ¡Õ¯Õ¡Õ¶ Õ¢Õ¡Ö€Õ±Ö€ Õ£Õ¥Ö€Õ´Õ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Õ·Õ¾Õ¥ÕµÖÕ¡Ö€Õ¡Õ¯Õ¡Õ¶ Õ£Õ¥Ö€Õ´Õ¡Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Õ·Õ¾Õ¥ÕµÖÕ¡Ö€Õ¡Õ¯Õ¡Õ¶ Ö†Ö€Õ¡Õ¶Õ½Õ¥Ö€Õ¥Õ¶"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Õ¸Ö‚Õ¥Õ¬Õ½Õ¥Ö€Õ¥Õ¶"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Õ¸Ö‚Õ¦Õ¢Õ¥Õ¯Õ¥Ö€Õ¥Õ¶"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Õ¸Ö‚Õ¯Ö€Õ¡Õ«Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Õ¸Ö‚ÕµÕ²Õ¸Ö‚Ö€Õ¥Ö€Õ¥Õ¶"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Õ¸Ö‚Ö€Õ¤Õ¸Ö‚"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Õ¹Õ¥Õ­Õ¥Ö€Õ¥Õ¶"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Õ¹Õ«Õ£Õ¡"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Õ¹Õ«Õ¶Õ¡Ö€Õ¥Õ¶"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ÕºÕ¡Ö€Õ¦Õ¥ÖÕ¾Õ¡Õ® Õ¹Õ«Õ¶Õ¡Ö€Õ¥Õ¶"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ÕºÕ¡Ö€Õ½Õ¯Õ¥Ö€Õ¥Õ¶"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ÕºÕ¸Ö€Õ¿Õ¸Ö‚Õ£Õ¡Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Õ»Õ¸Õ¬Õ¡-Ö†Õ¸Õ¶ÕµÕ«"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Õ»Õ¸Õ¶Õ£Ö„Õ°Õ¡"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Õ¼Õ¸Õ´Õ¡Õ¶Õ·Õ¥Ö€Õ¥Õ¶"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Õ¼Õ¸Õ´Õ¢Õ¸"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Õ¼Õ¸Ö‚Õ´Õ«Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Õ¼Õ¸Ö‚Õ¶Õ¤Õ«"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Õ¼Õ¸Ö‚Õ½Õ¥Ö€Õ¥Õ¶"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Õ¼Õ¾Õ¡"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Õ½Õ¡Õ´Õ¢Õ¸Ö‚Ö€Õ¸Ö‚"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Õ½Õ¡Õ¶Õ£Õ¸"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Õ½Õ¡Õ¶Õ£Õ¸Ö‚"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Õ½Õ¥Õ¶Õ¡"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Õ½Õ¥Ö€Õ¢Õ¥Ö€Õ¥Õ¶"
+ },
+ "si": {
+ "code": "si",
+ "name": "Õ½Õ«Õ¶Õ°Õ¡Õ¬Õ¥Ö€Õ¥Õ¶"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Õ½Õ¬Õ¸Õ¾Õ¡Õ¯Õ¥Ö€Õ¥Õ¶"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Õ½Õ¬Õ¸Õ¾Õ¥Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Õ½Õ¸Õ£Õ¡"
+ },
+ "so": {
+ "code": "so",
+ "name": "Õ½Õ¸Õ´Õ¡Õ¬Õ«Õ¥Ö€Õ¥Õ¶"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Õ½Õ¸Ö‚Õ¡Õ°Õ«Õ¬Õ«"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Õ½Õ¿Õ¡Õ¶Õ¤Õ¡Ö€Õ¿ Õ´Õ¡Ö€Õ¸Õ¯Õ¡Õ¯Õ¡Õ¶ Õ©Õ¡Õ´Õ¡Õ¦Õ«Õ²Õ¿"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Õ½Õ¿Õ¸Ö€Õ«Õ¶ Õ½Õ¸Ö€Õ¢Õ«Õ¥Ö€Õ¥Õ¶"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Õ¾Õ¡Õ«"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Õ¾Õ¥Ö€Õ«Õ¶ Õ½Õ¸Ö€Õ¢Õ«Õ¥Ö€Õ¥Õ¶"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Õ¾Õ«Õ¥Õ¿Õ¶Õ¡Õ´Õ¥Ö€Õ¥Õ¶"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Õ¾Õ¸Ö‚Õ¶Õ»Õ¸"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Õ¾Ö€Õ¡ÖÕ¥Ö€Õ¥Õ¶"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Õ¿Õ¡Õ·Õ¥Õ¬Õ°Õ«Õ©"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Õ¿Õ¡Õ½Õ¡Õ¾Õ¡Ö„"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Õ¿Õ¥Õ½Õ¸"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Õ¿Õ«Õ¢Õ¥Õ©Õ¥Ö€Õ¥Õ¶"
+ },
+ "to": {
+ "code": "to",
+ "name": "Õ¿Õ¸Õ¶Õ£Õ¡"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ÖƒÕ¥Õ¶Õ»Õ¡Õ¢Õ¥Ö€Õ¥Õ¶"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "ÖƒÕ¸Ö‚Õ·Õ©Õ¸Ö‚"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Ö„Õ¡Õ·Õ´Õ«Ö€Õ¥Ö€Õ¥Õ¶"
+ },
+ "km": {
+ "code": "km",
+ "name": "Ö„Õ´Õ¥Ö€Õ¥Ö€Õ¥Õ¶"
+ },
+ "or": {
+ "code": "or",
+ "name": "Ö…Ö€Õ«ÕµÕ¡"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Ö†Õ¡Ö€ÕµÕ¸Ö€Õ¥Ö€Õ¥Õ¶"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Ö†Õ«Õ¬Õ«ÕºÕ«Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Ö†Õ«Õ¶Õ¶Õ¥Ö€Õ¥Õ¶"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Ö†Õ¬Õ¡Õ´Õ¡Õ¶Õ¤Õ¥Ö€Õ¥Õ¶"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ö†Ö€Õ¡Õ¶Õ½Õ¥Ö€Õ¥Õ¶"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/id.json b/library/intl/resources/language/id.json
new file mode 100644
index 000000000..7611d98ca
--- /dev/null
+++ b/library/intl/resources/language/id.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albania"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharik"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arab"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Arab Standar Modern"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenia"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Astur"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijan"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "id": {
+ "code": "id",
+ "name": "Bahasa Indonesia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Bask"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Belanda"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarusia"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Bokmål Norwegia"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnia"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgar"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burma"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Cheska"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "China"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "China (Aksara Sederhana)"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "China (Aksara Tradisional)"
+ },
+ "da": {
+ "code": "da",
+ "name": "Dansk"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Dialek Kolsch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Esti"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faro"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flemish"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Frisia Barat"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friuli"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Gaelik Skotlandia"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galisia"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgia"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungaria"
+ },
+ "he": {
+ "code": "he",
+ "name": "Ibrani"
+ },
+ "en": {
+ "code": "en",
+ "name": "Inggris"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Inggris Amerika"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Inggris Australia"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Inggris Inggris"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Inggris Kanada"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irlandia"
+ },
+ "is": {
+ "code": "is",
+ "name": "Islandia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italia"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Jepang"
+ },
+ "de": {
+ "code": "de",
+ "name": "Jerman"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Jerman Austria"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Jerman Swiss"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Jerman Tinggi Swiss"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmir"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalan"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Kiga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgiz"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongo Swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korea"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroasia"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvi"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lituavi"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luksemburg"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Makedonia"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasi"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Malta"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Melayu"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldavia"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolia"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisien"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ndebele Utara"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Nynorsk Norwegia"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persia"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polski"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugis"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Portugis Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Portugis Eropa"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Prancis"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Prancis Kanada"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Prancis Swiss"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Reto-Roman"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumania"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rusia"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "Sami Utara"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serb"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Sloven"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Sorbia Atas"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Sorbia Rendah"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spanyol"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Spanyol Eropa"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Spanyol Meksiko"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Suomi"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Swedia"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Tamazight Maroko Standar"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Tamazight Maroko Tengah"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibet"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukraina"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnam"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "el": {
+ "code": "el",
+ "name": "Yunani"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/is.json b/library/intl/resources/language/is.json
new file mode 100644
index 000000000..4269cc639
--- /dev/null
+++ b/library/intl/resources/language/is.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afríkanska"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanska"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharíska"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabíska"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenska"
+ },
+ "az": {
+ "code": "az",
+ "name": "aserska"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "astúríska"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "austurrísk þýska"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "áströlsk enska"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafía"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "bandarísk enska"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskneska"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalska"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosníska"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bódó"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brasílísk portúgalska"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "bresk enska"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretónska"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmneska"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgarska"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee-mál"
+ },
+ "da": {
+ "code": "da",
+ "name": "danska"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dsongka"
+ },
+ "et": {
+ "code": "et",
+ "name": "eistneska"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "enska"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperantó"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "evondó"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "evrópsk portúgalska"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "evrópsk spænska"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippseyska"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finnska"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flæmska"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franska"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "fríúlska"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fúla"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "færeyska"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galíanska"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgíska"
+ },
+ "el": {
+ "code": "el",
+ "name": "gríska"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "grænhöfðeyska"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grænlenska"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gújaratí"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hása"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "hásorbneska"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreska"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindí"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "hollenska"
+ },
+ "be": {
+ "code": "be",
+ "name": "hvítrússneska"
+ },
+ "id": {
+ "code": "id",
+ "name": "indónesíska"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "írska"
+ },
+ "is": {
+ "code": "is",
+ "name": "íslenska"
+ },
+ "it": {
+ "code": "it",
+ "name": "ítalska"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japanska"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "jórúba"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabíle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadísk enska"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadísk franska"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kasakska"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kasmírska"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalónska"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiska"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "kíga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kíkújú"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kínverska"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "kínverska (einfölduð)"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "kínverska (hefðbundin)"
+ },
+ "km": {
+ "code": "km",
+ "name": "kmer"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koíraboró-senní"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongó-svahílí"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "kóreska"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "króatíska"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölníska"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langí"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laó"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "lágsorbneska"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "lettneska"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litháíska"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "lúbakatanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "lúó"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "lúxemborgíska"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedónska"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagasíska"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaíska"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltneska"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratí"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masaí"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "masjáme"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "máritíska"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "merú"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "mexíkósk spænska"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldóvska"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongólska"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalska"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "norður-ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "norðursamíska"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norskt bókmál"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "núer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nýnorska"
+ },
+ "or": {
+ "code": "or",
+ "name": "óría"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastú"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persneska"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portúgalska"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "pólska"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "púnjabí"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombó"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "rómanska"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rúa"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rúmenska"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rúndí"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rússneska"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "sambúrú"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sangó"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangú"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbneska"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalíska"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "sjambala"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "skosk gelíska"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slóvakíska"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slóvenska"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "sóga"
+ },
+ "so": {
+ "code": "so",
+ "name": "sómalska"
+ },
+ "es": {
+ "code": "es",
+ "name": "spænska"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "staðlað marokkóskt tamazight"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "stöðluð nútímaarabíska"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "súlú"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "svahílí"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "svissnesk franska"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "svissnesk háþýska"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "svissnesk þýska"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sænska"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "taílenska"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taíta"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamílska"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telúgú"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "tesó"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tékkneska"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tíbeska"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tígrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongverska"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "tyrkneska"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungverska"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "úígúr"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "úkraínska"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "úrdú"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "úsbekska"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vaí"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "velska"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "vesturfrísneska"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "víetnamska"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjó"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "de": {
+ "code": "de",
+ "name": "þýska"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/it.json b/library/intl/resources/language/it.json
new file mode 100644
index 000000000..eb7c57555
--- /dev/null
+++ b/library/intl/resources/language/it.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanese"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sorabo"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto tedesco svizzero"
+ },
+ "am": {
+ "code": "am",
+ "name": "amarico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabo"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "arabo moderno standard"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeno"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaigiano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basco"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "basso sorabo"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalese"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorusso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmano"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniaco"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretone"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgaro"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "cabilo"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "capoverdiano"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalano"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ceco"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "chirghiso"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "cinese"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "cinese semplificato"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "cinese tradizionale"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "coloniese"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "congo swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "creolo mauriziano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croato"
+ },
+ "da": {
+ "code": "da",
+ "name": "danese"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "he": {
+ "code": "he",
+ "name": "ebraico"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estone"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faroese"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "fiammingo"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandese"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francese"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francese canadese"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francese svizzero"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisone occidentale"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulah"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaelico scozzese"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galiziano"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "gallese"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "giapponese"
+ },
+ "el": {
+ "code": "el",
+ "name": "greco"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiano"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglese"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglese americano"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglese australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglese britannico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglese canadese"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandese"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandese"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fony"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazako"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "lettone"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "lussemburghese"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedone"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malese"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgascio"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavo"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolo"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele del nord"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalese"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngamambo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norvegese bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norvegese nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "olandese"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persiano"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polacco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portoghese"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portoghese brasiliano"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portoghese europeo"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabi"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romancio"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami del nord"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbo"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalese"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovacco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "sloveno"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalo"
+ },
+ "es": {
+ "code": "es",
+ "name": "spagnolo"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "spagnolo europeo"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "spagnolo messicano"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svedese"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight del Marocco standard"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhit"
+ },
+ "de": {
+ "code": "de",
+ "name": "tedesco"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "tedesco austriaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "tedesco svizzero"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrino"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongano"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraino"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uiguro"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungherese"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeco"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ja.json b/library/intl/resources/language/ja.json
new file mode 100644
index 000000000..65ecee180
--- /dev/null
+++ b/library/intl/resources/language/ja.json
@@ -0,0 +1,738 @@
+{
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "is": {
+ "code": "is",
+ "name": "アイスランド語"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "アイルランド語"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "アカン語"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "アゲム語"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "アストゥリアス語"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "アス語"
+ },
+ "az": {
+ "code": "az",
+ "name": "アゼルãƒã‚¤ã‚¸ãƒ£ãƒ³èªž"
+ },
+ "af": {
+ "code": "af",
+ "name": "アフリカーンス語"
+ },
+ "am": {
+ "code": "am",
+ "name": "アムãƒãƒ©èªž"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "アメリカ英語"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "アラビア語"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "アルãƒãƒ‹ã‚¢èªž"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "アルメニア語"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "イギリス英語"
+ },
+ "it": {
+ "code": "it",
+ "name": "イタリア語"
+ },
+ "id": {
+ "code": "id",
+ "name": "インドãƒã‚·ã‚¢èªž"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ヴァイ語"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "ヴァリス語"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ウイグル語"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ウェールズ語"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ウクライナ語"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ウズベク語"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ウルドゥー語"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ヴンジョ語"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "エウェ語"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "エウォンド語"
+ },
+ "et": {
+ "code": "et",
+ "name": "エストニア語"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "エスペラント語"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "エンブ語"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "オーストラリア英語"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "オランダ語"
+ },
+ "or": {
+ "code": "or",
+ "name": "オリヤー語"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "カーボベルデ・クレオール語"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "カザフ語"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "カシミール語"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "カタロニア語"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "カナダ英語"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "カビル語"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ガリシア語"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "カレンジン語"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ガンダ語"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "カンナダ語"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "カンãƒèªž"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "キクユ語"
+ },
+ "el": {
+ "code": "el",
+ "name": "ギリシャ語"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "キルギス語"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "グシイ語"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "グジャラート語"
+ },
+ "km": {
+ "code": "km",
+ "name": "クメール語"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "グリーンランド語"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "グルジア語"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "クロアãƒã‚¢èªž"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "クワシオ語"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "ケルン語"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "コイラ・ãƒãƒ¼ãƒ‹èªž"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "コイラボロ・センニ語"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "コンゴ・スワヒリ語"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ザルマ語"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "サング語"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "サンゴ語"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "サンãƒãƒ¼èªž"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "サンブル語"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ショナ語"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "ジョラï¼ãƒ•ã‚©ãƒ‹ã‚£èªž"
+ },
+ "si": {
+ "code": "si",
+ "name": "シンãƒãƒ©èªž"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "スイスドイツ語"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "スウェーデン語"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ズールー語"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "スコットランド・ゲール語"
+ },
+ "es": {
+ "code": "es",
+ "name": "スペイン語"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "スペイン語(イベリアåŠå³¶)"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "スロãƒã‚­ã‚¢èªž"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "スロベニア語"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "スワヒリ語"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "セナ語"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "セルビア語"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "ソガ語"
+ },
+ "so": {
+ "code": "so",
+ "name": "ソマリ語"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ゾンカ語"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "タイタ語"
+ },
+ "th": {
+ "code": "th",
+ "name": "タイ語"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "タサワク語"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "タシルãƒã‚¤ãƒˆèªž"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "タマージク語(モロッコ公用語)"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "タミル語"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ãƒã‚§ã‚³èªž"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ãƒã‚§ãƒ­ã‚­ãƒ¼èªž"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "ãƒã‚¬èªž"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ãƒãƒ™ãƒƒãƒˆèªž"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ティグリニア語"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "テソ語"
+ },
+ "te": {
+ "code": "te",
+ "name": "テルグ語"
+ },
+ "da": {
+ "code": "da",
+ "name": "デンマーク語"
+ },
+ "de": {
+ "code": "de",
+ "name": "ドイツ語"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "トルコ語"
+ },
+ "to": {
+ "code": "to",
+ "name": "トンガ語"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ナマ語"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ニャンコレ語"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "ヌエル語"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ãƒãƒ‘ール語"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ノルウェー語(ニーノシュク)"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "ノルウェー語(ブークモール)"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ãƒã‚¦ã‚µèªž"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "ãƒã‚µèªž"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "パシュトゥー語"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "ãƒã‚¹ã‚¯èªž"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "ãƒãƒ•ã‚£ã‚¢èªž"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ãƒãƒ³ã‚¬ãƒªãƒ¼èªž"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "パンジャブ語"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ãƒãƒ³ãƒãƒ©èªž"
+ },
+ "my": {
+ "code": "my",
+ "name": "ビルマ語"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ヒンディー語"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "フィリピノ語"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "フィンランド語"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "フェロー語"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "フラニ語"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "フランス語"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "フリウリ語"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ブルガリア語"
+ },
+ "br": {
+ "code": "br",
+ "name": "ブルトン語"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "フレミッシュ語"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ベトナム語"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "ベナ語"
+ },
+ "he": {
+ "code": "he",
+ "name": "ヘブライ語"
+ },
+ "be": {
+ "code": "be",
+ "name": "ベラルーシ語"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ペルシア語"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ベンガル語"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ãƒãƒ¼ãƒ©ãƒ³ãƒ‰èªž"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "ボスニア語"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "ボド語"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ãƒãƒ«ãƒˆã‚¬ãƒ«èªž"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ãƒãƒ«ãƒˆã‚¬ãƒ«èªž(イベリアåŠå³¶)"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "マクア・ミート語"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "マケドニア語"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "マコンデ語"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "マサイ語"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "マダガスカル語"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "マãƒãƒ£ãƒ¡èªž"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "マラーティー語"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "マラヤーラム語"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "マルタ語"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "マレー語"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "ムンダン語"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "メル語"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "モーリシャス・クレオール語"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "モルダビア語"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "モンゴル語"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "ヤンベン語"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ヨルãƒèªž"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ラオ語"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ラトビア語"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ランギ語"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "リトアニア語"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "リンガラ語"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ルーマニア語"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "ルオ語"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ルクセンブルク語"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "ルãƒãƒ»ã‚«ã‚¿ãƒ³ã‚¬èªž"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "ルヒヤ語"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "ルワ語"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "ルンディ語"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ロシア語"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ロマンシュ語"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ロンボ語"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ンゴンãƒèªž"
+ },
+ "en": {
+ "code": "en",
+ "name": "英語"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "簡体中国語"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "韓国語"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ç¾ä»£æ¨™æº–アラビア語"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "上ソルビア語"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "西フリジア語"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "中央アトラス・タマジクト語"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "中国語"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "低ソルビア語"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "日本語"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ç¹ä½“中国語"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "標準ドイツ語(スイス)"
+ },
+ "se": {
+ "code": "se",
+ "name": "北サーミ語"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "北ンデベレ語"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/jgo.json b/library/intl/resources/language/jgo.json
new file mode 100644
index 000000000..3e8302ae7
--- /dev/null
+++ b/library/intl/resources/language/jgo.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Alâbɛ"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharic"
+ },
+ "en": {
+ "code": "en",
+ "name": "Aŋgɛlúshi"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarusian"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarian"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Czech"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Dutch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Fɛlánci"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungarian"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesian"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italian"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japanese"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korean"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ndaꞌa"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepali"
+ },
+ "de": {
+ "code": "de",
+ "name": "Njáman"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "el": {
+ "code": "el",
+ "name": "Ŋgɛlɛ̂k"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persian"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polish"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portuguese"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romanian"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russian"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Shinwâ"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spanish"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Swedish"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turkish"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainian"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamese"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/jmc.json b/library/intl/resources/language/jmc.json
new file mode 100644
index 000000000..328450431
--- /dev/null
+++ b/library/intl/resources/language/jmc.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakanyi"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamharyi"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Kimachame"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kyiajemi"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kyiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kyibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kyibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kyibulgaryia"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kyiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kyichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kyichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kyifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kyigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kyihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kyihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kyihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kyiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kyihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kyiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kyiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kyijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kyijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kyikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kyikorea"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kyimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kyinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kyingereza"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kyipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kyipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kyireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kyiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kyirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kyisomalyi"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kyiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kyitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kyitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kyiturukyi"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kyiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kyiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kyivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kyiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kyizulu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ka.json b/library/intl/resources/language/ka.json
new file mode 100644
index 000000000..e651e5028
--- /dev/null
+++ b/library/intl/resources/language/ka.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "áƒáƒ•áƒ¡áƒ¢áƒ áƒáƒšáƒ˜áƒ£áƒ áƒ˜ ინგლისური"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "áƒáƒ•áƒ¡áƒ¢áƒ áƒ˜áƒ£áƒšáƒ˜ გერმáƒáƒœáƒ£áƒšáƒ˜"
+ },
+ "az": {
+ "code": "az",
+ "name": "áƒáƒ–ერბáƒáƒ˜áƒ¯áƒáƒœáƒ£áƒšáƒ˜"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "áƒáƒ™áƒáƒœáƒ˜"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "áƒáƒšáƒ‘áƒáƒœáƒ£áƒ áƒ˜"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "áƒáƒ›áƒ”რიკული ინგლისური"
+ },
+ "am": {
+ "code": "am",
+ "name": "áƒáƒ›áƒ°áƒáƒ áƒ£áƒšáƒ˜"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "áƒáƒ áƒáƒ‘ული"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "áƒáƒ¡áƒ¢áƒ£áƒ áƒ˜áƒ£áƒšáƒ˜"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "áƒáƒ¡áƒ£"
+ },
+ "af": {
+ "code": "af",
+ "name": "áƒáƒ¤áƒ áƒ˜áƒ™áƒáƒáƒœáƒ¡áƒ˜"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "áƒáƒ¦áƒ”მი"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ბáƒáƒ›áƒ‘áƒáƒ áƒ"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "ბáƒáƒ¡áƒ"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "ბáƒáƒ¡áƒ™áƒ£áƒ áƒ˜"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "ბáƒáƒ¤áƒ˜áƒ"
+ },
+ "be": {
+ "code": "be",
+ "name": "ბელáƒáƒ áƒ£áƒ¡áƒ£áƒšáƒ˜"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "ბენáƒ"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ბენგáƒáƒšáƒ£áƒ áƒ˜"
+ },
+ "el": {
+ "code": "el",
+ "name": "ბერძნული"
+ },
+ "my": {
+ "code": "my",
+ "name": "ბირმული"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "ბáƒáƒ“áƒ"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "ბáƒáƒ¡áƒœáƒ˜áƒ£áƒ áƒ˜"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "ბრáƒáƒ–ილიური პáƒáƒ áƒ¢áƒ£áƒ’áƒáƒšáƒ˜áƒ£áƒ áƒ˜"
+ },
+ "br": {
+ "code": "br",
+ "name": "ბრეტáƒáƒœáƒ£áƒšáƒ˜"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "ბრიტáƒáƒœáƒ£áƒšáƒ˜ ინგლისური"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ბულგáƒáƒ áƒ£áƒšáƒ˜"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "გáƒáƒšáƒ˜áƒ¡áƒ˜áƒ£áƒ áƒ˜"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "გáƒáƒ›áƒáƒ áƒ¢áƒ˜áƒ•áƒ”ბული ჩინური"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "გáƒáƒœáƒ“áƒ"
+ },
+ "de": {
+ "code": "de",
+ "name": "გერმáƒáƒœáƒ£áƒšáƒ˜"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "გუსიი"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "გუჯáƒáƒ áƒáƒ—ი"
+ },
+ "da": {
+ "code": "da",
+ "name": "დáƒáƒœáƒ˜áƒ£áƒ áƒ˜"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "დáƒáƒ¡áƒáƒ•áƒšáƒ”თ გრენლáƒáƒœáƒ“იური"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "დáƒáƒ¡áƒáƒ•áƒšáƒ”თფრიზიული"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "დიáƒáƒšáƒ"
+ },
+ "he": {
+ "code": "he",
+ "name": "ებრáƒáƒ£áƒšáƒ˜"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ევე"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ევáƒáƒœáƒ“áƒ"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ევრáƒáƒžáƒ£áƒšáƒ˜ ესპáƒáƒœáƒ£áƒ áƒ˜"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ევრáƒáƒžáƒ£áƒšáƒ˜ პáƒáƒ áƒ¢áƒ£áƒ’áƒáƒšáƒ˜áƒ£áƒ áƒ˜"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ემბუ"
+ },
+ "es": {
+ "code": "es",
+ "name": "ესპáƒáƒœáƒ£áƒ áƒ˜"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ესპერáƒáƒœáƒ¢áƒ"
+ },
+ "et": {
+ "code": "et",
+ "name": "ესტáƒáƒœáƒ£áƒ áƒ˜"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ვáƒáƒ˜"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ვიეტნáƒáƒ›áƒ£áƒ áƒ˜"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ვუნჯáƒ"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ზáƒáƒ áƒ›áƒ"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ზემáƒáƒ¡áƒáƒ áƒ‘ული"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ზულუ"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "თáƒáƒœáƒáƒ›áƒ”დრáƒáƒ•áƒ” სტáƒáƒœáƒ“áƒáƒ áƒ¢áƒ£áƒšáƒ˜ áƒáƒ áƒáƒ‘ული"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "თიგრინიáƒ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "თურქული"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "იáƒáƒžáƒáƒœáƒ£áƒ áƒ˜"
+ },
+ "en": {
+ "code": "en",
+ "name": "ინგლისური"
+ },
+ "id": {
+ "code": "id",
+ "name": "ინდáƒáƒœáƒ”ზიური"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "იáƒáƒ áƒ£áƒ‘áƒ"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ირლáƒáƒœáƒ“იური"
+ },
+ "is": {
+ "code": "is",
+ "name": "ისლáƒáƒœáƒ“იური"
+ },
+ "it": {
+ "code": "it",
+ "name": "იტáƒáƒšáƒ˜áƒ£áƒ áƒ˜"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "კáƒáƒ‘ილური"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "კáƒáƒ‘უვერდიáƒáƒœáƒ£"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "კáƒáƒšáƒ”ნჯინი"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "კáƒáƒ›áƒ‘áƒ"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "კáƒáƒœáƒáƒ“áƒ"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "კáƒáƒœáƒáƒ“ური ინგლისური"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "კáƒáƒœáƒáƒ“ური ფრáƒáƒœáƒ’ული"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "კáƒáƒ¢áƒáƒšáƒáƒœáƒ£áƒ áƒ˜"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "კვáƒáƒ¡áƒ˜áƒ"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "კიკუიუ"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "კიმáƒáƒ¨áƒáƒ›áƒ˜"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "კáƒáƒ˜áƒ áƒ-ჩიინი"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "კáƒáƒ˜áƒ áƒáƒ‘áƒáƒ áƒ-სენი"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "კáƒáƒœáƒ’áƒáƒ¡ სუáƒáƒ°áƒ˜áƒšáƒ˜"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "კáƒáƒ áƒ”ული"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ლáƒáƒœáƒ’ი"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ლáƒáƒáƒ¡áƒ£áƒ áƒ˜"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ლáƒáƒ¢áƒ•áƒ˜áƒ£áƒ áƒ˜"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ლინგáƒáƒšáƒ"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ლიტვური"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "ლუბáƒ-კáƒáƒ¢áƒáƒœáƒ’áƒ"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "ლუáƒ"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ლუქსემბურგული"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "ლუჰიáƒ"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "მáƒáƒ™áƒ”დáƒáƒœáƒ£áƒ áƒ˜"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "მáƒáƒ™áƒáƒœáƒ“ე"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "მáƒáƒšáƒáƒ’áƒáƒ¡áƒ˜áƒ£áƒ áƒ˜"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "მáƒáƒšáƒáƒ˜áƒáƒšáƒáƒ›áƒ£áƒ áƒ˜"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "მáƒáƒšáƒáƒ˜áƒ£áƒ áƒ˜"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "მáƒáƒšáƒ¢áƒ£áƒ áƒ˜"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "მáƒáƒ áƒáƒ—ჰი"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "მáƒáƒ¡áƒáƒ˜"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "მáƒáƒ¥áƒ£áƒ•áƒ-მეეტáƒ"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "მერუ"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "მექსიკური ესპáƒáƒœáƒ£áƒ áƒ˜"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "მáƒáƒšáƒ“áƒáƒ•áƒ£áƒ áƒ˜"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "მáƒáƒœáƒ¦áƒáƒšáƒ£áƒ áƒ˜"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "მáƒáƒ áƒ˜áƒ¡áƒ˜áƒ”ნი"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "მუნდáƒáƒœáƒ’ი"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ნáƒáƒ›áƒ"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ნგáƒáƒ›áƒ‘áƒ"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ნეპáƒáƒšáƒ£áƒ áƒ˜"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ნიáƒáƒœáƒ™áƒáƒšáƒ”"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ნიდერლáƒáƒœáƒ“ური"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "ნáƒáƒ áƒ•áƒ”გიული ბუკმáƒáƒšáƒ˜"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ნáƒáƒ áƒ•áƒ”გიული ნიუნáƒáƒ áƒ¡áƒ™áƒ˜"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "ნუერი"
+ },
+ "or": {
+ "code": "or",
+ "name": "áƒáƒ áƒ˜áƒ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "პენჯáƒáƒ‘ური"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "პáƒáƒšáƒáƒœáƒ£áƒ áƒ˜"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "პáƒáƒ áƒ¢áƒ£áƒ’áƒáƒšáƒ˜áƒ£áƒ áƒ˜"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "პუშტუ"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "რეტáƒáƒ áƒáƒ›áƒáƒœáƒ£áƒšáƒ˜"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "რáƒáƒ›áƒ‘áƒ"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "რუáƒ"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "რუმინული"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "რუნდი"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "რუსული"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "სáƒáƒ›áƒ‘ურუ"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "სáƒáƒœáƒ’áƒ"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "სáƒáƒœáƒ’უ"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "სენáƒ"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "სერბული"
+ },
+ "si": {
+ "code": "si",
+ "name": "სინჰáƒáƒšáƒ£áƒ áƒ˜"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "სლáƒáƒ•áƒáƒ™áƒ£áƒ áƒ˜"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "სლáƒáƒ•áƒ”ნური"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "სáƒáƒ’áƒ"
+ },
+ "so": {
+ "code": "so",
+ "name": "სáƒáƒ›áƒáƒšáƒ˜áƒ£áƒ áƒ˜"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "სáƒáƒ›áƒ®áƒ£áƒ áƒ˜"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "სპáƒáƒ áƒ¡áƒ£áƒšáƒ˜"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "სტáƒáƒœáƒ“áƒáƒ áƒ¢áƒ£áƒšáƒ˜ მáƒáƒ áƒáƒ™áƒáƒ£áƒšáƒ˜ ტáƒáƒ›áƒáƒ–იგხტი"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "სუáƒáƒ°áƒ˜áƒšáƒ˜"
+ },
+ "th": {
+ "code": "th",
+ "name": "ტáƒáƒ˜"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "ტáƒáƒ˜áƒ¢áƒ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ტáƒáƒ›áƒ˜áƒšáƒ£áƒ áƒ˜"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "ტáƒáƒ¡áƒáƒ•áƒáƒ¥áƒ˜"
+ },
+ "te": {
+ "code": "te",
+ "name": "ტელუგუ"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "ტესáƒ"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ტიბეტური"
+ },
+ "to": {
+ "code": "to",
+ "name": "ტáƒáƒœáƒ’áƒáƒœáƒ£áƒ áƒ˜"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ტრáƒáƒ“იციული ჩინური"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "უელსური"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "უზბეკური"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "უიღურული"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "უკრáƒáƒ˜áƒœáƒ£áƒšáƒ˜"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "უნგრული"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ურდუ"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ფáƒáƒ áƒ”რული"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ფილიპინური"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ფინური"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ფლáƒáƒ›áƒáƒœáƒ“იური"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ფრáƒáƒœáƒ’ული"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ფრიულური"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ქáƒáƒ áƒ—ული"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "ქáƒáƒ¨áƒ›áƒ˜áƒ áƒ£áƒšáƒ˜"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "ქვემáƒáƒ¡áƒáƒ áƒ‘ული"
+ },
+ "km": {
+ "code": "km",
+ "name": "ქმერული"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "ყáƒáƒ–áƒáƒ®áƒ£áƒ áƒ˜"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "ყირგიზული"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "შáƒáƒ›áƒ‘áƒáƒšáƒ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "შვედური"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "შვეიცáƒáƒ áƒ˜áƒ£áƒšáƒ˜ გერმáƒáƒœáƒ£áƒšáƒ˜"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "შვეიცáƒáƒ áƒ˜áƒ£áƒšáƒ˜ ზემáƒáƒ’ერმáƒáƒœáƒ£áƒšáƒ˜"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "შვეიცáƒáƒ áƒ˜áƒ£áƒšáƒ˜ ფრáƒáƒœáƒ’ული"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "შილჰáƒ"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "შáƒáƒœáƒ"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "შáƒáƒ¢áƒšáƒáƒœáƒ“იური გელური"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ჩერáƒáƒ™áƒ˜"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ჩეხური"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "ჩიგáƒ"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ჩინური"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ჩრდილáƒáƒ”თ ნდებელე"
+ },
+ "se": {
+ "code": "se",
+ "name": "ჩრდილáƒáƒ”თ სáƒáƒáƒ›áƒ£áƒ áƒ˜"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "ცენტრáƒáƒšáƒ£áƒ áƒ˜ მáƒáƒ áƒáƒ™áƒáƒ¡ ტáƒáƒ›áƒáƒ–იგხტი"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ძáƒáƒœáƒ’კხáƒ"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "ხáƒáƒ áƒ•áƒáƒ¢áƒ£áƒšáƒ˜"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ჰáƒáƒ£áƒ¡áƒ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ჰინდი"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/kab.json b/library/intl/resources/language/kab.json
new file mode 100644
index 000000000..755d88b1a
--- /dev/null
+++ b/library/intl/resources/language/kab.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Tabengalit"
+ },
+ "be": {
+ "code": "be",
+ "name": "Tabilarusit"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Tabulgarit"
+ },
+ "my": {
+ "code": "my",
+ "name": "Taburmisit"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Tabyiá¹­namit"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "TaÄikit"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Tacinwat, Tamundarint"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "TaduÄit"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Taɛrabt"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Tafarisit"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Tafransist"
+ },
+ "en": {
+ "code": "en",
+ "name": "Taglizit"
+ },
+ "el": {
+ "code": "el",
+ "name": "Tagrikit"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Tahendit"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Tahungarit"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Tahwasit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Tajapunit"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Takanit"
+ },
+ "km": {
+ "code": "km",
+ "name": "Takemrit"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Takurit"
+ },
+ "de": {
+ "code": "de",
+ "name": "Talmant"
+ },
+ "am": {
+ "code": "am",
+ "name": "Tamahrict"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Tamalawit"
+ },
+ "id": {
+ "code": "id",
+ "name": "Tandunisit"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Tanipalit"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Tapulunit"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Tapunjabit"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Tapurtugalit"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Taqbaylit"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Tarumanit"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Tarusit"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "es": {
+ "code": "es",
+ "name": "Taspenyulit"
+ },
+ "so": {
+ "code": "so",
+ "name": "Taá¹£umalit"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Taswidit"
+ },
+ "it": {
+ "code": "it",
+ "name": "Taá¹­alyanit"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Taá¹­amulit"
+ },
+ "th": {
+ "code": "th",
+ "name": "Taá¹­aylundit"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Taá¹­urkit"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Tayurubit"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Tazulut"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Tukranit"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Turdut"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/kam.json b/library/intl/resources/language/kam.json
new file mode 100644
index 000000000..430da602b
--- /dev/null
+++ b/library/intl/resources/language/kam.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kikamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kingereza"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/kde.json b/library/intl/resources/language/kde.json
new file mode 100644
index 000000000..e41132377
--- /dev/null
+++ b/library/intl/resources/language/kde.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Chakan"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Chalabu"
+ },
+ "am": {
+ "code": "am",
+ "name": "Chamhali"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Chiajemi"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Chibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Chibelalusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Chibulgalia"
+ },
+ "my": {
+ "code": "my",
+ "name": "Chibulma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Chichechi"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chichina"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Chidyapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Chidyelumani"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Chifalansa"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "el": {
+ "code": "el",
+ "name": "Chigilichi"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Chihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Chihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Chihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Chiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Chihungali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Chiingeleza"
+ },
+ "id": {
+ "code": "id",
+ "name": "Chiiongonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Chiitaliano"
+ },
+ "km": {
+ "code": "km",
+ "name": "Chikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Chikolea"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Chileno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Chilomania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Chilusi"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Chimakonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Chimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Chinepali"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Chipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Chipunjabi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Chisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Chiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Chitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Chitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Chituluchi"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Chiuklania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Chiuldu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Chivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Chiyoluba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Chizulu"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/kea.json b/library/intl/resources/language/kea.json
new file mode 100644
index 000000000..a5a2671c5
--- /dev/null
+++ b/library/intl/resources/language/kea.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaner"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanes"
+ },
+ "de": {
+ "code": "de",
+ "name": "alimãu"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alimãu austriaku"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alimãu di Suisa"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "altu alimãu suisu"
+ },
+ "am": {
+ "code": "am",
+ "name": "amariku"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabi"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "arabi mudernu"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arméniu"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "auza"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijanu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basku"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorusu"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanes"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniu"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretãu"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgaru"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarkes"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonka"
+ },
+ "he": {
+ "code": "he",
+ "name": "ebraiku"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "eve"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faroes"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipinu"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandes"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamengu"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franses"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "franses kanadianu"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "franses suisu"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frisiu osidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galegu"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "gales"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "gregu"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "indi"
+ },
+ "id": {
+ "code": "id",
+ "name": "indoneziu"
+ },
+ "en": {
+ "code": "en",
+ "name": "ingles"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ingles australianu"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "ingles britanuku"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "ingles kanadianu"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ingles merkanu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandes"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandes"
+ },
+ "it": {
+ "code": "it",
+ "name": "italianu"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japones"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "jorjianu"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kanares"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalãu"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kaxmira"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazak"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiz"
+ },
+ "km": {
+ "code": "km",
+ "name": "kmer"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroata"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "kureanu"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "lausianu"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letãu"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituanes"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburges"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaialam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaiu"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxi"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltes"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marati"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "masedoniu"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "matxame"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepales"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ñomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norueges bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norueges nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "olandes"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paxto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "pulaku"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "purtuges"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "purtuges brazileru"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "purtuges europeu"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanxi"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumenu"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rusu"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sérviu"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singales"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovaku"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "sloveniu"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sórbiu altu"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sórbiu baxu"
+ },
+ "es": {
+ "code": "es",
+ "name": "spanhol"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "spanhol europeu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "spanhol mexikanu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "sperantu"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "et": {
+ "code": "et",
+ "name": "stonianu"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaíli"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suaíli di Kongu"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueku"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandes"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetanu"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganes"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turku"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "txeku"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukranianu"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "úngaru"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeki"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "xeroki"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "xiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "xines"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "xines simplifikadu"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "xines tradisional"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/khq.json b/library/intl/resources/language/khq.json
new file mode 100644
index 000000000..f38afa86d
--- /dev/null
+++ b/library/intl/resources/language/khq.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan senni"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "de": {
+ "code": "de",
+ "name": "Almaŋ senni"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amhaarik senni"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belaruus senni"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali senni"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulagaari senni"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burme senni"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Cek senni"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "Espaaɲe senni"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Farsi senni"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Fransee senni"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Grek senni"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hawsance senni"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Holandee senni"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungaari senni"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indoneesi senni"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Induu senni"
+ },
+ "en": {
+ "code": "en",
+ "name": "Inglisi senni"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Itaali senni"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japonee senni"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Julu senni"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kmeer senni, Game here"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koree senni"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra ciini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Laaraw senni"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Maleezi senni"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Neepal senni"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polonee senni"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugee senni"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjaabi sennii"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumaani senni"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Ruusi senni"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Sinuwa senni, Mandareŋ"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somaali senni"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Suweede senni"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "th": {
+ "code": "th",
+ "name": "Taailandu senni"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil senni"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turku senni"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukreen senni"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu senni"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnaam senni"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yorbance senni"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ki.json b/library/intl/resources/language/ki.json
new file mode 100644
index 000000000..6466bcf24
--- /dev/null
+++ b/library/intl/resources/language/ki.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Gikuyu"
+ },
+ "en": {
+ "code": "en",
+ "name": "Gĩthungũ"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "KÄ©arabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "KÄ©baranja"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "KÄ©caina"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kĩcumarĩ"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kĩhĩndĩ"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "KÄ©njabani"
+ },
+ "de": {
+ "code": "de",
+ "name": "KÄ©njeremani"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "KÄ©racia"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "it": {
+ "code": "it",
+ "name": "KÄ©taliano"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/kk.json b/library/intl/resources/language/kk.json
new file mode 100644
index 000000000..ea44442f7
--- /dev/null
+++ b/library/intl/resources/language/kk.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "авÑтралиÑлық ағылшын тілі"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "авÑтриÑлық Ð½ÐµÐ¼Ñ–Ñ Ñ‚Ñ–Ð»Ñ–"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "агхем"
+ },
+ "en": {
+ "code": "en",
+ "name": "ағылшын тілі"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "акан"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "албан"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "американдық ағылшын тілі"
+ },
+ "am": {
+ "code": "am",
+ "name": "амхар"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "араб тілі"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "армÑн тілі"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "аÑу"
+ },
+ "af": {
+ "code": "af",
+ "name": "африкаанÑ"
+ },
+ "az": {
+ "code": "az",
+ "name": "әзірбайжан тілі"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "бамбара"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "баÑк"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Ð±Ð°Ñ‚Ñ‹Ñ Ñ„Ñ€Ð¸Ð·"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "бафиа"
+ },
+ "be": {
+ "code": "be",
+ "name": "Ð±ÐµÐ»Ð°Ñ€ÑƒÑ Ñ‚Ñ–Ð»Ñ–"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "бена"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "бенгал тілі"
+ },
+ "my": {
+ "code": "my",
+ "name": "бирман"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "бодо тілі"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "болгар тілі"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "боÑÐ½Ð¸Ñ Ñ‚Ñ–Ð»Ñ–"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "бразилиÑлық португал тілі"
+ },
+ "br": {
+ "code": "br",
+ "name": "бретон тілі"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "британиÑлық ағылшын тілі"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "вай"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "валлий"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "венгер"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "вунджо"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "вьетнам"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "гали"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ганда"
+ },
+ "el": {
+ "code": "el",
+ "name": "грек тілі"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "грузин тілі"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "гуджарати"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "гуÑии"
+ },
+ "da": {
+ "code": "da",
+ "name": "дат"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "дәÑтүрлі қытай тілі"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "дзонг-кÑ"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "диола"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ембу"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "еуропалық португал тілі"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "жапон тілі"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "жеңілдетілген қытай тілі"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "жоғарғы лужица"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "зарма"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "зулу"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ибериÑлық иÑпан тілі"
+ },
+ "he": {
+ "code": "he",
+ "name": "иврит"
+ },
+ "id": {
+ "code": "id",
+ "name": "индонез тілі"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ирланд тілі"
+ },
+ "is": {
+ "code": "is",
+ "name": "иÑланд"
+ },
+ "es": {
+ "code": "es",
+ "name": "иÑпан тілі"
+ },
+ "it": {
+ "code": "it",
+ "name": "итальÑн тілі"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "йоруба"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "кабил"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "кабувердиана"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "калаалиÑут"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "каленжин"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "камба"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "канадалық ағылшын тілі"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "канадалық француз тілі"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "каннада"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "каталан"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "кашмир тілі"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ÐºÓ™Ñ€Ñ–Ñ Ñ‚Ñ–Ð»Ñ–"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "кваÑио"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "кига"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "кикуйю"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "койра чини"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "койраборо Ñенни"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "конго Ñуахили тілі"
+ },
+ "km": {
+ "code": "km",
+ "name": "кхмер"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "қазақ тілі"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "қазіргі Ñтандартты араб тілі"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "қырғыз тілі"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "қытай тілі"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ланги тілі"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Ð»Ð°Ð¾Ñ Ñ‚Ñ–Ð»Ñ–"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "латыш тілі"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "лингала"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "литва тілі"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "луба-катанга"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "луо"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "лухиа"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "люкÑембург"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "македон тілі"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "маконде"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "макуа-меетто"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "малагаÑи"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "малай"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "малайÑлам"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "мальта"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "маратхи"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "марокколық Ñтандартты тамазигхт"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "маÑай"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "мачаме"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "мекÑикалық иÑпан тілі"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "меру"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "молдован тілі"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "моңғол тілі"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "мориÑиен"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "мунданг"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "нама"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "нгомба"
+ },
+ "de": {
+ "code": "de",
+ "name": "Ð½ÐµÐ¼Ñ–Ñ Ñ‚Ñ–Ð»Ñ–"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Ð½ÐµÐ¼Ñ–Ñ Ñ‚Ñ–Ð»Ñ–Ð½Ñ–Ò£ швейцариÑлық диалекті"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "непал"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "нианколе"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "нидерланд тілі"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "норвегиÑлық букмол"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "норвегиÑлық нинорÑк"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "нуер"
+ },
+ "or": {
+ "code": "or",
+ "name": "ориÑ"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "орталық Ð°Ñ‚Ð»Ð°Ñ Ñ‚Ð°Ð¼Ð°Ñагихт тілі"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Ð¾Ñ€Ñ‹Ñ Ñ‚Ñ–Ð»Ñ–"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "өзбек"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "парÑÑ‹ тілі"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "пенджаб"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "полÑк тілі"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "португал тілі"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "пушту"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "романш"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ромбо"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "руа"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "румын"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "рунди"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Ñамбуру"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Ñанго"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Ñангу"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Ñена"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Ñерб тілі"
+ },
+ "si": {
+ "code": "si",
+ "name": "Ñингал"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Ñловак"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Ñловен"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Ñога"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ÑолтүÑтік ндебел"
+ },
+ "se": {
+ "code": "se",
+ "name": "ÑолтүÑтік Ñами"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "СолтүÑтік ШотландиÑ"
+ },
+ "so": {
+ "code": "so",
+ "name": "Ñомали"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Ñуахили"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "таита"
+ },
+ "th": {
+ "code": "th",
+ "name": "тай"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "тамил"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "таÑавак"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ташелхит"
+ },
+ "te": {
+ "code": "te",
+ "name": "телугу"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "теÑо"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "тибет тілі"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "тигриньÑ"
+ },
+ "to": {
+ "code": "to",
+ "name": "тонган"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "төменгі лужица тілі"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "түрік"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "украин тілі"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "урду"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ұйғыр тілі"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "фарер"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "филиппин"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "фин"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "фламанд тілі"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "француз тілі"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "хауÑа"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "хинди"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "хорват"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "чероки тілі"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "чех тілі"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "шамбала"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "швед"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "швейцариÑлық Ð½ÐµÐ¼Ñ–Ñ Ñ‚Ñ–Ð»Ñ–"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "швейцариÑлық француз тілі"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "шона"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ñве"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ÑÑперанто"
+ },
+ "et": {
+ "code": "et",
+ "name": "ÑÑтон тілі"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/kl.json b/library/intl/resources/language/kl.json
new file mode 100644
index 000000000..ceacc33f0
--- /dev/null
+++ b/library/intl/resources/language/kl.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharic"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabiamiusut"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "az": {
+ "code": "az",
+ "name": "aserbajdsjaniskisut"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarusian"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalimiutut"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarian"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estlandimiutut"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandimiutut"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franskisut"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Greek"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraimiutut"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindimiutut"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "hollandimiutut"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungarian"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiamiutut"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandimiutut"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandimiusut"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiamiutut"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japanimiusut"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kineserisut"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreamiusut"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letlandimiutut"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litauenimiutut"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagassiskisut"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashtomiutut"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persiskisut"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polenimiutut"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalimiutut"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "da": {
+ "code": "da",
+ "name": "qallunaatut"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumænimiutut"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russisut"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "savalimmiutut"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakimiusut"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "spanskisut"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svenskisut"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahilimiutut"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thailandimiutut"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tjekkiamut"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "en": {
+ "code": "en",
+ "name": "tuluttut"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "tyrkiskisut"
+ },
+ "de": {
+ "code": "de",
+ "name": "tyskisut"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainimiusut"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdumiutut"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamimiusut"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/kln.json b/library/intl/resources/language/kln.json
new file mode 100644
index 000000000..d0b5a0cda
--- /dev/null
+++ b/library/intl/resources/language/kln.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "kutitab Aka"
+ },
+ "am": {
+ "code": "am",
+ "name": "kutitab Amariek"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "kutitab Arabuk"
+ },
+ "be": {
+ "code": "be",
+ "name": "kutitab Belarusa"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "kutitab Bengali"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "kutitab Boa"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "kutitab Bulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "kutitab Burma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "kutitab Chek"
+ },
+ "de": {
+ "code": "de",
+ "name": "kutitab Chermani"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kutitab China"
+ },
+ "es": {
+ "code": "es",
+ "name": "kutitab Espianik"
+ },
+ "el": {
+ "code": "el",
+ "name": "kutitab Greece"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "kutitab Hangari"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "kutitab Hausa"
+ },
+ "id": {
+ "code": "id",
+ "name": "kutitab Indonesia"
+ },
+ "km": {
+ "code": "km",
+ "name": "kutitab Kher nebo Kwen"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "kutitab Kifaransa"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "kutitab Korea"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "kutitab Maindiik"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "kutitab Malay"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "kutitab Nepali"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "kutitab Persia"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "kutitab Portugal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "kutitab Punjab"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "kutitab Romaniek"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "kutitab Russia"
+ },
+ "so": {
+ "code": "so",
+ "name": "kutitab Somaliek"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "kutitab Sweden"
+ },
+ "it": {
+ "code": "it",
+ "name": "kutitab Talianek"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "kutitab Tamil"
+ },
+ "th": {
+ "code": "th",
+ "name": "kutitab Thailand"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "kutitab Turkey"
+ },
+ "en": {
+ "code": "en",
+ "name": "kutitab Uingeresa"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "kutitab Ukraine"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "kutitab Urdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "kutitab Vietnam"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "kutitab Yoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "kutitab Zulu"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "kutitap Japan"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "kutitap Poland"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/km.json b/library/intl/resources/language/km.json
new file mode 100644
index 000000000..a3c64b503
--- /dev/null
+++ b/library/intl/resources/language/km.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Atlas Tamazight កណ្ដាល"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "Sami ភាគ​ážáž¶áž„​ជើង"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "កន្នដ"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "កាážáž¶áž¡áž¶áž“"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "កាស្មៀរ"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "កាហ្សាក់ស្ážáž„់់"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "កូរ៉áŸ"
+ },
+ "el": {
+ "code": "el",
+ "name": "ក្រិច"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "ក្រូអាáž"
+ },
+ "km": {
+ "code": "km",
+ "name": "ážáŸ’មែរ"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "គៀរហ្គីស្ážáž„់"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "áž…áž·áž“"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ចិន​អក្សរ​កាážáŸ‹"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ចិន​អក្សរ​ពáŸáž‰"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ឆáŸáž€"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ឆáŸážšáž¼áž‚ី"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ជប៉ុន"
+ },
+ "da": {
+ "code": "da",
+ "name": "ដាណឺម៉ាក"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ážáž¶áž˜áž¸áž›"
+ },
+ "to": {
+ "code": "to",
+ "name": "ážáž»áž„ហ្គោ"
+ },
+ "te": {
+ "code": "te",
+ "name": "ážáŸáž›áž»áž‚áž»"
+ },
+ "th": {
+ "code": "th",
+ "name": "ážáŸƒ"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ទីបáŸ"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ទីរិនយា"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ទួរគី"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "áž“áŸážšážœáŸ‚ស នីនូស"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "áž“áŸážšážœáŸ‚ស បុកម៉ាល់"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "áž“áŸáž”៉ាល់"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "បង់ក្លាដែស"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "បាម្បារា"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "បារាំង"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "បាស្កáŸ"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "បាស្ážáž¼"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "បឹនជាពិ"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ប៊ុលហ្ការី"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "បូស្នី"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ប៉ូឡូញ"
+ },
+ "be": {
+ "code": "be",
+ "name": "áž”áŸáž¡áž¶ážšáž»ážŸáŸ’ស"
+ },
+ "br": {
+ "code": "br",
+ "name": "ប្រីស្ážáž»áž“"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ផ្លាមីស"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "áž–áŸážšáž‘ុយហ្កាល់"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "áž–áŸážšáž‘ុយហ្គាល់ ប្រáŸážŸáŸŠáž¸áž›"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "áž–áŸážšáž‘ុយហ្គាល់ អឺរ៉ុប"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ភាសាប៊ូážáž¶áž“"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ភាសាម៉ុលដាវី"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "ភាសាហ្កែលិគ (gd)"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ភឺសៀន"
+ },
+ "my": {
+ "code": "my",
+ "name": "ភូមា"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "មរាធិ"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "មលយាលáŸáž˜"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "ម៉ារ៉ុក"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "ម៉ាល់ážáž¶"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "ម៉ាសáŸážŠáž¼áž“ី"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ម៉ាឡាហ្គាស៊ី"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ម៉ាឡáŸážŸáŸŠáž¸"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "ម៉ុងហ្គោលី"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "យរូបា"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "រុស្ស៊ី"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "រូន្ឌី"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "រ៉ូម៉ង់"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "រូម៉ានី"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "លីទុយអានី"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "លីនកាឡា"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "លុចហ្សំបួរ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "វៀážážŽáž¶áž˜"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ážœáŸáž›"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ស៊ុយអែដ"
+ },
+ "so": {
+ "code": "so",
+ "name": "សូម៉ាលី"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "សូលូ"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "សើប"
+ },
+ "si": {
+ "code": "si",
+ "name": "ស្រីលង្កា"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ស្លូវ៉ាគី"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ស្លូវ៉ានី"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "ស្វាហ៊ីលី"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ហិណ្ឌូ"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ហុងគ្រី"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ហុល្លង់"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ហូសា"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ហ្កុយ៉ារាទី"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ហ្គាលីស្យាន"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ហ្វារូស"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ហ្វីលីពីន"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ហ្វាំងឡង់"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "ហ្វ្រីស៊ានážáž¶áž„លិច"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ហ្សក​ហ្ស៊ី"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ឡាážážœáž¸áž™áŸ‰áž¶"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ឡាវ"
+ },
+ "en": {
+ "code": "en",
+ "name": "អង់គ្លáŸážŸ"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "អង់គ្លáŸážŸ កាណាដា"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "អង់គ្លáŸážŸ ចក្រភព​អង់គ្លáŸážŸ"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "អង់គ្លáŸážŸ អាមáŸážšáž·áž€"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "អង់គ្លáŸážŸ អូស្ážáŸ’រាលី"
+ },
+ "am": {
+ "code": "am",
+ "name": "អាមហារីច"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "អារមáŸáž“ី"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "អារ៉ាប់"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "អារ៉ាប់​ស្ážáž„់ដារ​ទំនើប"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "អាល់បានី"
+ },
+ "de": {
+ "code": "de",
+ "name": "អាល្លឺម៉ង់"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "អាល្លឺម៉ង ស្វីស"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "អាល្លឺម៉ង់ ស្វីស"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "អាល្លឺម៉ង់ អូទ្រីស"
+ },
+ "af": {
+ "code": "af",
+ "name": "អាហ្វ្រីកាអាន"
+ },
+ "az": {
+ "code": "az",
+ "name": "អាហ៊្សែរបែហ្សង់"
+ },
+ "id": {
+ "code": "id",
+ "name": "ឥណ្ឌូណáŸážŸáŸŠáž¸"
+ },
+ "it": {
+ "code": "it",
+ "name": "អ៊ីážáž¶áž›áž¸"
+ },
+ "he": {
+ "code": "he",
+ "name": "អ៊ីស្រាអែល"
+ },
+ "is": {
+ "code": "is",
+ "name": "អ៊ីស្លង់"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "អ៊ុយក្រែន"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "អ៊ុយហ្គឺរ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "អ៊ូរឌូ"
+ },
+ "or": {
+ "code": "or",
+ "name": "អូរីយ៉ា"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "អ៊ូហ្សបáŸáž‚ីស្ážáž„់"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "អៀរឡង់"
+ },
+ "et": {
+ "code": "et",
+ "name": "អáŸážŸáŸ’ážáž¼áž“ី"
+ },
+ "es": {
+ "code": "es",
+ "name": "អáŸážŸáŸ’ប៉ាញ"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "អáŸážŸáŸ’ប៉ាញ អឺរ៉ុប"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "អáŸážŸáŸ’áž–áŸážšáŸ‰áž¶áž“់ážáž¼"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/kn.json b/library/intl/resources/language/kn.json
new file mode 100644
index 000000000..d7f52da4e
--- /dev/null
+++ b/library/intl/resources/language/kn.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "am": {
+ "code": "am",
+ "name": "ಅಂಹರಿಕà³"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "ಅಕಾನà³"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "ಅಘೆಮà³"
+ },
+ "az": {
+ "code": "az",
+ "name": "ಅಜೆರà³à²¬à³ˆà²œà²¾à²¨à²¿"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ಅಪà³à²ªà²°à³ ಸರà³à²¬à²¿à²¯à²¨à³"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ಅಮೆರಿಕನೠಇಂಗà³à²²à³€à²·à³"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ಅರೇಬಿಕà³"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ಅರà³à²®à³‡à²¨à²¿à²¯à²¨à³"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "ಅಲà³à²¬à³‡à²¨à²¿à²¯à²¨à³"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "ಅಸà³"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ಆಧà³à²¨à²¿à²• ಪà³à²°à²®à²¾à²£à²¿à²¤ ಅರೇಬಿಕà³"
+ },
+ "af": {
+ "code": "af",
+ "name": "ಆಫà³à²°à²¿à²•à²¾à²¨à³à²¸à³"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "ಆಸà³à²Ÿà³à²°à²¿à²¯à²¨à³"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ಆಸà³à²Ÿà³à²°à²¿à²¯à²¨à³ ಜರà³à²®à²¨à³"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ಆಸà³à²Ÿà³à²°à³‡à²²à²¿à²¯à²¨à³ ಇಂಗà³à²²à³€à²·à³"
+ },
+ "en": {
+ "code": "en",
+ "name": "ಇಂಗà³à²²à³€à²·à³"
+ },
+ "id": {
+ "code": "id",
+ "name": "ಇಂಡೋನೇಶಿಯನà³"
+ },
+ "it": {
+ "code": "it",
+ "name": "ಇಟಾಲಿಯನà³"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ಇವಾಂಡೋ"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ಈವà³"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ಉಕà³à²°à³ˆà²¨à²¿à²¯à²¨à³"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ಉಜà³à²¬à³‡à²•à³"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ಉತà³à²¤à²° ದೆಬೆಲೆ"
+ },
+ "se": {
+ "code": "se",
+ "name": "ಉತà³à²¤à²° ಸಾಮಿ"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ಉಯಿಘರà³"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ಉರà³à²¦à³"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ಎಂಬà³"
+ },
+ "et": {
+ "code": "et",
+ "name": "ಎಸà³à²Ÿà³Šà²¨à²¿à²¯à²¨à³"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ಎಸà³à²ªà³†à²°à²¾à²‚ಟೊ"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "à²à²°à²¿à²·à³"
+ },
+ "is": {
+ "code": "is",
+ "name": "à²à²¸à³à²²à²¾à²‚ಡಿಕà³"
+ },
+ "or": {
+ "code": "or",
+ "name": "ಒರಿಯಾ"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "ಕಂಬಾ"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "ಕà²à²•à³"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "ಕನà³à²¨à²¡"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "ಕಬà³à²µà³†à²°à³à²¡à²¿à²¯à²¨à³"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "ಕಬೈಲà³"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "ಕಲಾಲà³à²²à²¿à²¸à³à²Ÿà³"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "ಕಲೆಂಜಿನà³"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "ಕಾಂಗೊ ಸà³à²µà²¹à²¿à²²à²¿"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "ಕಾಶà³à²®à³€à²°à²¿"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "ಕಿಕà³à²¯à³"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "ಕಿರà³à²—ಿಜà³"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "ಕೆಟಲಾನà³"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "ಕೆನೆಡಿಯನೠಇಂಗà³à²²à³€à²·à³"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "ಕೆನೆಡಿಯನೠಫà³à²°à³†à²‚ಚà³"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "ಕೊಯà³à²° ಚೀನಿ"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "ಕೊಯà³à²°à²¬à³Šà²°à³Š ಸೆನà³à²¨à²¿"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ಕೊರಿಯನà³"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "ಕà³à²°à³Šà²¯à³‡à²¶à²¿à²¯à²¨à³"
+ },
+ "km": {
+ "code": "km",
+ "name": "ಖಮೇರà³"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "ಖà³à²µà²¾à²¸à²¿à²¯à³Š"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ಗಾಂಡಾ"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ಗà³à²œà²°à²¾à²¤à²¿"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "ಗà³à²¸à²¿"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ಗà³à²¯à²¾à²²à²¿à²¶à²¿à²¯à²¨à³"
+ },
+ "el": {
+ "code": "el",
+ "name": "ಗà³à²°à³€à²•à³"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "ಚಿಗಾ"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ಚೆರೋಕೀ"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ಚೈನೀಸà³"
+ },
+ "de": {
+ "code": "de",
+ "name": "ಜರà³à²®à²¨à³"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ಜರà³à²®à²¾"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ಜಾಪನೀಸà³"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ಜಾರà³à²œà²¿à²¯à²¨à³"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ಜà³à²²à³"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ಜೆಕà³"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "ಜೊಲ-ಫೊನà³à²¯à²¿"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ಜೋಂಗà³â€Œà²–ಾ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ಟರà³à²•à²¿à²¶à³"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ಟಷೆಲà³â€à²¹à²¿à²Ÿà³"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "ಟಸವಕà³"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ಟಿಗà³à²°à²¿à²¨à³à²¯à²¾"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ಟಿಬೇಟಿಯನà³"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "ಟೆಸೊ"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "ಟೈಟ"
+ },
+ "to": {
+ "code": "to",
+ "name": "ಟೋಂಗನà³"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ಡಚà³"
+ },
+ "da": {
+ "code": "da",
+ "name": "ಡà³à²¯à²¾à²¨à²¿à²¶à³"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ತಮಿಳà³"
+ },
+ "te": {
+ "code": "te",
+ "name": "ತೆಲà³à²—à³"
+ },
+ "th": {
+ "code": "th",
+ "name": "ಥಾಯà³"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ನಮ"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ನಾರà³à²µà³†à²œà²¿à²¯à²¨à³ ನೈನೊಸà³à²•à³"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "ನಾರà³à²µà³†à²œà²¿à²¯à²¨à³ ಬೊಕà³à²®à²²à³"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "ನೂಯರà³"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ನೇಪಾಳಿ"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ನೊಂಬಾ"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ನà³à²¯à²¾à²¨à³â€Œà²•à³‹à²²à³†"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ಪಂಜಾಬಿ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ಪರà³à²¶à²¿à²¯à²¨à³"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "ಪಶà³à²šà²¿à²® ಫà³à²°à²¿à²¸à²¿à²¯à²¨à³"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "ಪಾಷà³à²Ÿà³‹"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ಪೋರà³à²šà³à²—ೀಸà³"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ಪೋಲಿಶà³"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ಫರೋಸಿ"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ಫಿನà³à²¨à²¿à²¶à³"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ಫಿಲಿಪಿನೊ"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "ಫà³à²²à²¾à²¹à³"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ಫà³à²°à²¿à²¯à³à²²à²¿à²¯à²¨à³"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ಫà³à²°à³†à²‚ಚà³"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ಫà³à²²à³†à²®à²¿à²·à³"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ಬಂಬಾರಾ"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "ಬಫಿಯ"
+ },
+ "my": {
+ "code": "my",
+ "name": "ಬರà³à²®à³€à²¸à³"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ಬಲà³à²—ೇರಿಯನà³"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "ಬಸಾ"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "ಬಾಸà³à²•à³"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ಬೆಂಗಾಲಿ"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "ಬೆನ"
+ },
+ "be": {
+ "code": "be",
+ "name": "ಬೆಲರೂಸಿಯನà³"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "ಬೋಡೊ"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "ಬೋಸà³à²¨à²¿à²¯à²¨à³"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "ಬà³à²°à²¿à²Ÿà²¿à²·à³ ಇಂಗà³à²²à³€à²·à³"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "ಬà³à²°à³†à²œà²¿à²²à²¿à²¯à²¨à³ ಪೋರà³à²šà³à²—ೀಸà³"
+ },
+ "br": {
+ "code": "br",
+ "name": "ಬà³à²°à³†à²Ÿà²¨à³"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "ಮಂಗೋಲಿಯನà³"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "ಮಧà³à²¯ ಅಟà³à²²à²¾à²¸à³ ಟಮಜೈಟà³"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "ಮರಾಠಿ"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ಮಲಗಾಸಿ"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "ಮಲಯಾಳಂ"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ಮಲಯà³"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "ಮಸಾಯà³"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "ಮಾಲà³à²Ÿà³€à²¸à³"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "ಮà³à²‚ಡಂಗà³"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "ಮೆಕà³à²¸à²¿à²•à²¨à³ ಸà³à²ªà³à²¯à²¾à²¨à²¿à²·à³"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "ಮೆರà³"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "ಮೆಸಿಡೋನಿಯನà³"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "ಮೊರಿಸನà³"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ಮೊಲà³à²¡à³†à²µà²¿à²¯à²¨à³"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ಮà³à²¯à²•à²®à³†"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ಮà³à²¯à²–à³à²µà²¾- ಮೀಟà³à²Ÿà³Š"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ಮà³à²¯à²¾à²•à³Šà²‚ಡà³"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ಯà³à²°à³‹à²ªà²¿à²¯à²¨à³ ಸà³à²ªà³à²¯à²¾à²¨à²¿à²·à³"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ಯೂರೋಪಿಯನೠಪೋರà³à²šà³à²—ೀಸà³"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ಯೊರà³à²¬à²¾"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ರಷà³à²¯à²¨à³"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "ರà³à²‚ಡಿ"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "ರà³à²µ"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ರೊಂಬೊ"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ರೊಮಾನà³à²·à³"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ರೊಮೇನಿಯನà³"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ಲಕà³à²¸à²‚ಬರà³à²—à³"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ಲಟà³à²µà²¿à²¯à²¨à³"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ಲಾಂಗಿ"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ಲಾವೋ"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ಲಿಂಗಾಲ"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ಲಿಥà³à²µà³‡à²¨à²¿à²¯à²¨à³"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "ಲà³à²¯à²¿à²¯"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "ಲà³à²µà³‹"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "ಲೂಬಾ-ಕಟಾಂಗಾ"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "ಲೋವರೠಸೋರà³à²¬à²¿à²¯à²¨à³"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ವಾಯಿ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ವಿಯೇಟà³à²¨à²¾à²®à³€à²¸à³"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ವà³à²‚ಜೊ"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ವೆಲà³à²¶à³"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "ಶಂಬಲ"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ಶೋನಾ"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "ಸಂಗà³"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "ಸಂಬà³à²°à³"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ಸರಳೀಕೃತ ಚೈನೀಸà³"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ಸರà³à²¬à²¿à²¯à²¨à³"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "ಸಾಂಗೋ"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ಸಾಂಪà³à²°à²¦à²¾à²¯à²¿à²• ಚೈನೀಸà³"
+ },
+ "si": {
+ "code": "si",
+ "name": "ಸಿಂಹಳ"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "ಸೆನ"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "ಸೊಗ"
+ },
+ "so": {
+ "code": "so",
+ "name": "ಸೊಮಾಲಿ"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "ಸà³à²•à²¾à²Ÿà²¿à²¶à³ ಗà³à²¯à²¾à²²à²¿à²•à³"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "ಸà³à²Ÿà³à²¯à²¾à²‚ಡರà³à²¡à³ ಮೊರೊಕà³à²•à²¨à³ ಟಮಜೈಟà³"
+ },
+ "es": {
+ "code": "es",
+ "name": "ಸà³à²ªà³à²¯à²¾à²¨à²¿à²·à³"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ಸà³à²²à³‹à²µà²¾à²•à³"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ಸà³à²²à³‹à²µà³‡à²¨à²¿à²¯à²¨à³"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "ಸà³à²µà²¹à²¿à²²à²¿"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "ಸà³à²µà²¿à²¸à³ ಜರà³à²®à²¨à³"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "ಸà³à²µà²¿à²¸à³ ಫà³à²°à³†à²‚ಚà³"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "ಸà³à²µà²¿à²¸à³ ಹೈ ಜರà³à²®à²¨à³"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ಸà³à²µà³€à²¡à²¿à²·à³"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ಹಂಗೇರಿಯನà³"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ಹಿಂದಿ"
+ },
+ "he": {
+ "code": "he",
+ "name": "ಹೀಬà³à²°à³à²¯à³‚"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ಹೌಸಾ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ko.json b/library/intl/resources/language/ko.json
new file mode 100644
index 000000000..7539064c1
--- /dev/null
+++ b/library/intl/resources/language/ko.json
@@ -0,0 +1,738 @@
+{
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "간다어"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "갈리시아어"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "고지 ë…ì¼ì–´ (스위스)"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "고지 소르비아어"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "구시어"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "구ìžë¼íŠ¸ì–´"
+ },
+ "el": {
+ "code": "el",
+ "name": "그리스어"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "그린란드어"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "나마어"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "네ëœëž€ë“œì–´"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "네팔어"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "노르웨ì´ì–´(니노르스í¬)"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "노르웨ì´ì–´(ë³´í¬ë§)"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "누ì—르어"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "니안콜어"
+ },
+ "da": {
+ "code": "da",
+ "name": "ë´ë§ˆí¬ì–´"
+ },
+ "de": {
+ "code": "de",
+ "name": "ë…ì¼ì–´"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "ë…ì¼ì–´(스위스)"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ë¼ì˜¤ì–´"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ë¼íŠ¸ë¹„ì•„ì–´"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "랑기어"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "러시아어"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "레토로만어"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "롬보어"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "루마니아어"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "루바-카탄가어"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "루야어"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "루오어"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "룩셈부르í¬ì–´"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "룬디어"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "르와어"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "리투아니아어"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ë§ê°ˆë¼ì–´"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "마ë¼í‹°ì–´"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "마사ì´ì–´"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "마차메어"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "마케ë„니아어"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "마콘ë°ì–´"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "마í¬í›„와-메토어"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ë§ë¼ê°€ì‹œì–´"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "ë§ë¼ì–„람어"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ë§ë ˆì´ì–´"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "메루어"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "모리스얀어"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "몰ë„바어"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "몰타어"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "몽고어"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "문당어"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "바사어"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "바스í¬ì–´"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ë°”ì´ì–´"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "바피아어"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "밤바ë¼ì–´"
+ },
+ "my": {
+ "code": "my",
+ "name": "버마어"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "베나어"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "베트남어"
+ },
+ "be": {
+ "code": "be",
+ "name": "벨ë¼ë£¨ìŠ¤ì–´"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "벵골어"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "ë³´ë„ì–´"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "보스니아어"
+ },
+ "se": {
+ "code": "se",
+ "name": "ë¶ë¶€ 사미어"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ë¶ë¶€ ì€ë°ë²¨ë ˆì–´"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "분조어"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "불가리아어"
+ },
+ "br": {
+ "code": "br",
+ "name": "브르타뉴어"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "ì‚°ê³ ì–´"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "삼부루어"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "ìƒêµ¬ì–´"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "샴발ë¼ì–´"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "세나어"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "세르비아어"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "소가어"
+ },
+ "so": {
+ "code": "so",
+ "name": "소ë§ë¦¬ì•„ì–´"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "쇼나어"
+ },
+ "si": {
+ "code": "si",
+ "name": "스리랑카어"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "스와ížë¦¬ì–´"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "스웨ë´ì–´"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "스코틀랜드 게ì¼ì–´"
+ },
+ "es": {
+ "code": "es",
+ "name": "스페ì¸ì–´"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "슬로바키아어"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "슬로베니아어"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "아그햄어"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ì•„ëžì–´"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "아르메니아어"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "아수어"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "아스투리아어"
+ },
+ "is": {
+ "code": "is",
+ "name": "ì•„ì´ìŠ¬ëž€ë“œì–´"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ì•„ì¼ëžœë“œì–´"
+ },
+ "az": {
+ "code": "az",
+ "name": "아제르바ì´ìž”ì–´"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "아칸어"
+ },
+ "af": {
+ "code": "af",
+ "name": "아프리칸스어"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "알바니아어"
+ },
+ "am": {
+ "code": "am",
+ "name": "암하ë¼ì–´"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "양본어"
+ },
+ "et": {
+ "code": "et",
+ "name": "ì—스토니아어"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ì—스페란토어"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ì—웨어"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "엠부어"
+ },
+ "en": {
+ "code": "en",
+ "name": "ì˜ì–´"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "ì˜ì–´ (ì˜êµ­ì‹)"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "ì˜ì–´ (ìºë‚˜ë‹¤)"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ì˜ì–´(호주)"
+ },
+ "or": {
+ "code": "or",
+ "name": "오리야어"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "요루바어"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "우르ë‘ì–´"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "우즈베í¬ì–´"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ìš°í¬ë¼ì´ë‚˜ì–´"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "월저어"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "웨ì¼ìŠ¤ì–´"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "위구르어"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ìœ ëŸ½ì‹ ìŠ¤íŽ˜ì¸ì–´"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ìœ ëŸ½ì‹ í¬ë¥´íˆ¬ê°ˆì–´"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ì‘곰바어"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ì´ì›ë„ì–´"
+ },
+ "it": {
+ "code": "it",
+ "name": "ì´íƒˆë¦¬ì•„ì–´"
+ },
+ "id": {
+ "code": "id",
+ "name": "ì¸ë„네시아어"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ì¼ë³¸ì–´"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ìžë¥´ë§ˆì–´"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "저지 소르비아어"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "조지아어"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "ì¡¸ë¼ í¬ë‹ˆì–´"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "종카어"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "줄루어"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "중국어"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "중국어(간체)"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "중국어(번체)"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "중앙모로코 타마지트어"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "체로키어"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "체코어"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "치가어"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "카슈미르어"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "ì¹´ìžíì–´"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "카탈로니아어"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "칸나다어"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "칼렌진어"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "캄바어"
+ },
+ "km": {
+ "code": "km",
+ "name": "캄보디아어"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "커바ì¼ì–´"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "ì½”ì´ë¼ 친니어"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "ì½”ì´ì•¼ë³´ë¡œ 세니어"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "콜로그니안어"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "콩고 스와ížë¦¬ì–´"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "í¬ë¡œì•„í‹°ì•„ì–´"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "í¬ë¦¬ì˜¬ì–´"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "í¬ì™€ì‹œì˜¤ì–´"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "키르기스어"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "키쿠유어"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "타밀어"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "타사와í¬ì–´"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "타셸히트어"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "타ì´íƒ€ì–´"
+ },
+ "th": {
+ "code": "th",
+ "name": "태국어"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "터키어"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "테조어"
+ },
+ "te": {
+ "code": "te",
+ "name": "텔루구어"
+ },
+ "to": {
+ "code": "to",
+ "name": "통가어"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "티그리ëƒì–´"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "티베트어"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "파슈토어"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "펀잡어"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "페로어"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "페르시아어"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "í¬ë¥´íˆ¬ê°ˆì–´"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "í¬ë¥´íˆ¬ê°ˆì–´ (브ë¼ì§ˆ)"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "í´ëž€ë“œì–´"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "표준 모로코 타마제í¬ì–´"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "í’€ë¼ì–´"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "프랑스어"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "프랑스어 (스위스)"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "프랑스어 (ìºë‚˜ë‹¤)"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "프리우리안어"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "프리지아어"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "플ë¼ë§ì–´"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "핀란드어"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "필리핀어"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "하우사어"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "한국어"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "í—가리어"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "현대 표준 ì•„ëžì–´"
+ },
+ "he": {
+ "code": "he",
+ "name": "히브리어"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "힌디어"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ks.json b/library/intl/resources/language/ks.json
new file mode 100644
index 000000000..fc8052cc2
--- /dev/null
+++ b/library/intl/resources/language/ks.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "آسٹریلیَن اَنٛگریٖزÛ"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "آسٹرÙیَن جٔرمَن"
+ },
+ "is": {
+ "code": "is",
+ "name": "Ø¢ÛŒÙسلینڈÙÚ©"
+ },
+ "it": {
+ "code": "it",
+ "name": "اÙٹیلیَن"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "اÙردوٗ"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "اَرمینیَن"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "اÙزبیک"
+ },
+ "az": {
+ "code": "az",
+ "name": "اَزَربیجانی"
+ },
+ "af": {
+ "code": "af",
+ "name": "اَÙریٖکانٛز"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "اَکان"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "البانÙیَن"
+ },
+ "am": {
+ "code": "am",
+ "name": "اَمÛاری"
+ },
+ "id": {
+ "code": "id",
+ "name": "اÙنڈونیشیا"
+ },
+ "en": {
+ "code": "en",
+ "name": "اَنٛگیٖزÛ"
+ },
+ "or": {
+ "code": "or",
+ "name": "اوٚرÙیا"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "اَیرÙØ´"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ایٚسپَرینٹو"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "ایسٹوٗریَن"
+ },
+ "et": {
+ "code": "et",
+ "name": "ایٚسٹونیَن"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ایٖو"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ایٚوونڈو"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "باسا"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "باسک"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "برازیٖلی Ù¾Ùتَگیٖز"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "بَرطانوی اَنٛگریٖزÛ"
+ },
+ "br": {
+ "code": "br",
+ "name": "بریٹَن"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "بَمبارا"
+ },
+ "my": {
+ "code": "my",
+ "name": "بٔمیٖز"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "بَنٛگٲلÛ"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "بوسنÙیَن"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "بوٚنÙÙ… ساربÙیَن"
+ },
+ "be": {
+ "code": "be",
+ "name": "بیلَروٗشیَن"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "بینا"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "پالÙØ´"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Ù¾Ùرتَگیٖز"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "پَشتوٗ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "پَنجٲبÛ"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "تÙبتی"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "تÙرکÙØ´"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "تَمÙÙ„"
+ },
+ "th": {
+ "code": "th",
+ "name": "تھاے"
+ },
+ "te": {
+ "code": "te",
+ "name": "تیلگوٗ"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Ù¹ÙگرÙنیا"
+ },
+ "to": {
+ "code": "to",
+ "name": "ٹونٛگا"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "جاپٲنÛ"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "جارجÙیَن"
+ },
+ "de": {
+ "code": "de",
+ "name": "جٔرمَن"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "چیٚروکی"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "چیٚک"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "چیٖنی"
+ },
+ "km": {
+ "code": "km",
+ "name": "خَمیر"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ÚˆÙŽÚ†"
+ },
+ "da": {
+ "code": "da",
+ "name": "ڈینÙØ´"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "رÙندی"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "رÙوٲجی چیٖنی"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "روٗسی"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "رومٲنی"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "رومانش"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "زÙلوٗ"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "زونٛگکھا"
+ },
+ "es": {
+ "code": "es",
+ "name": "سپینÙØ´"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "سٔربÙیَن"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "سکوٹÙØ´ گیےلÙÚ©"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "سلووَک"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "سلووینیَن"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "سَنگو"
+ },
+ "si": {
+ "code": "si",
+ "name": "سÙÙ†Ûالا"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "سواÛÙÙ„ÛŒ"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "سٕوÙس جٔرمَن"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "سٕوٕس Ùریٚنچ"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "سٕوÙس Ûاےجٔرمَن"
+ },
+ "so": {
+ "code": "so",
+ "name": "سومٲلی"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "سویٖڈÙØ´"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "سیٚود چیٖنی"
+ },
+ "se": {
+ "code": "se",
+ "name": "Ø´Ùمٲلی سَمی"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ø´Ùمال ڈَبیل"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "شونا"
+ },
+ "he": {
+ "code": "he",
+ "name": "عبرٲنÛ"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "عربی"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Ùارسی"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Ùَروس"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ÙروٗلÙیَن"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ùریٚنچ"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "ÙÙلاÛ"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ÙÙÙ„Ùپیٖنو"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ÙلیٚمÙØ´"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ÙÙÙ†ÙØ´"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "کٲشÙر"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "کازَخ"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "کامبا"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "کَبایÙÙ„"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "کَتلان"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Ú©ÙرگÙز"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "کروشÙیَن"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Ú©ÙÚ©Ùیوٗ"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "کَلالÙسÙت"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Ú©ÙŽÙ†ÙŽÚ‘"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "کَنیڈیَن Ùریٚنچ"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "کوریَن"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "کینَڈÙیٲیی اَنٛگریٖزÛ"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "گاندا"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Ú¯Ùجرٲتی"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "گیلÙØ´Ùیَن"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "لاو"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Ù„Ùبیریَن Ù¾Ùرتَگیٖز"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Ù„Ùبیریَن سپینÙØ´"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Ù„ÙتھوانÙیَن"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "لَتوÙیَن"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Ù„ÙکھزیمبورگÙØ´"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Ù„Ùنگالا"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "لوÙبا کَتَنٛگا"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Ù„Ùوو"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "مَرٲٹھÛ"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "مَساے"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "مغربی ÙرÙشیَن"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "مَلاگَسی"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "مَلتیٖس"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "مٔلیالَم"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Ù…ÙŽÙ„ÙŽÛ’"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "مَنٛگولی"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "مولداوÙیَن"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "میکَڈونیَن"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "ناروییَن بوکمال"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ناروییَن نَے نورسک"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "نیٚپٲلÛ"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Ù†Ùیَنکول"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Ûاوسا"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ÛÙندی"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ûَنٛگیریَن"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ÛیٚرÙÙ… ساربÙیَن"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "واے"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ÙˆÙیَتنَمیٖز"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ویٚلش"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "یوٗ ایٚس اَنٛگریٖزÛ"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "یورÙبا"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "یوٗکرینیٲیی"
+ },
+ "el": {
+ "code": "el",
+ "name": "یوٗنٲنی"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ksb.json b/library/intl/resources/language/ksb.json
new file mode 100644
index 000000000..a9e0fcae3
--- /dev/null
+++ b/library/intl/resources/language/ksb.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kialabu"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhali"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelaausi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgalia"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kibulma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifalansa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiiki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungai"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kiingeeza"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijeumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikolea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kileno"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kilusi"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiomania"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Kishambaa"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituuki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiuklania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiuldu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoluba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ksf.json b/library/intl/resources/language/ksf.json
new file mode 100644
index 000000000..ba988f0f7
--- /dev/null
+++ b/library/intl/resources/language/ksf.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "riakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "riamarik"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "riarab"
+ },
+ "be": {
+ "code": "be",
+ "name": "ribɛlɔrís"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ribɛngáli"
+ },
+ "my": {
+ "code": "my",
+ "name": "ribirmán"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ribulgarí"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ricÉ›Ìk"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ricinɔá"
+ },
+ "de": {
+ "code": "de",
+ "name": "ridjɛrman"
+ },
+ "el": {
+ "code": "el",
+ "name": "rigrÉ›Ìk"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "riíndí"
+ },
+ "id": {
+ "code": "id",
+ "name": "riindonɛsí"
+ },
+ "en": {
+ "code": "en",
+ "name": "riingɛrís"
+ },
+ "it": {
+ "code": "it",
+ "name": "riitalyÉ›Ìn"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "rijapÉ”ÌÅ‹"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "rikaksa"
+ },
+ "km": {
+ "code": "km",
+ "name": "rikmɛr"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "rikÉ”rɛɛÌ"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "rikpa"
+ },
+ "es": {
+ "code": "es",
+ "name": "rikpanyá"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "rimalaí"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "rinepalÉ›Ì"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "riÉ”lándÉ›Ì"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "riɔngrɔá"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ripɛnjabí"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ripÉ›rÉ›sÇÌ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ripɛrsán"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ripÉ”lÉ”Ìn"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ripÉ”rtugÉ›Ì"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rirís"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rirɔmán"
+ },
+ "so": {
+ "code": "so",
+ "name": "risomalí"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "riswÉ›ÌdÇ"
+ },
+ "th": {
+ "code": "th",
+ "name": "ritaí"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ritamúl"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "riturk"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "riukrÉ›Ìn"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "riurdú"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "riwyɛtnám"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "riyúuba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "rizúlu"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ksh.json b/library/intl/resources/language/ksh.json
new file mode 100644
index 000000000..fa10ab9a9
--- /dev/null
+++ b/library/intl/resources/language/ksh.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akahnesch"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albaanesch"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Amärrekaanesch Änglesch"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amhahresch"
+ },
+ "en": {
+ "code": "en",
+ "name": "Änglesch"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Änglesch uß Außtraalije"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Änglesch uß Jruußbrettannije"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Änglesch uß Kanada"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arahbesch"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armeenesch"
+ },
+ "az": {
+ "code": "az",
+ "name": "Asserbaidschahnesch"
+ },
+ "et": {
+ "code": "et",
+ "name": "Äßnesch"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Astuhrejahnesch"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bängjaalesch"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Baskesch"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "br": {
+ "code": "br",
+ "name": "Bettohnesch"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Boddo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Boßnesch"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brasilljaanesch Pochtojesesch"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulljaaresch"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmessesch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Butahnesch"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "Dähnesch"
+ },
+ "de": {
+ "code": "de",
+ "name": "Deutsch"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Deutsch uß de Schweijz"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Deutsch uß Ößterich"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "it": {
+ "code": "it",
+ "name": "Etalljänesch"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Färröeresch"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnesch"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flämesch"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Franzüüsesch"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Franzüüsesch uß de Schweijz"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Franzüüsesch uß Kanada"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gutscharatesch"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Haußa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebräjesch"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Holländesch"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Ieresch"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indoneesesch"
+ },
+ "is": {
+ "code": "is",
+ "name": "Ißländesch"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Jalliizesch"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japaanesch"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Je’orjesch"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Joruuba"
+ },
+ "el": {
+ "code": "el",
+ "name": "Jrihschesch"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "K-Rundesch"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kapvärdesch"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kaschmieresch"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kassakesch"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Kattalahnesch"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirjihsesch"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Kirombo"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Kölsch"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korrejaanesch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Krowatesch"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lahootesch"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Lättesch"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingjalla"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Littouesch"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxemborjesch"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyjanesch"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Madajaßkesch"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Mallaijesch"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Mallajalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Malteesesch"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marraatesch"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Mazedoonesch"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongjolesch"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepallessesch"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Neu-Norrweejesch"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Niddersorbesch"
+ },
+ "se": {
+ "code": "se",
+ "name": "Nood-Lappländesch"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Nood-Ndebele"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norrweejesch Bokmål"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriija"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Panschaabesch"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Pare"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Pärsesch"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Paschtuunesch"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Pochtojesesch"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Pochtojesesch uß Pochtojall"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Pollnesch"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Rätoromaanesch"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumänesch"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rußßesch"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sangjo"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Särbesch"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Schi-Schona"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Schineesesch"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Schineesesch en de eijfacher Schreff"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Schineesesch en de tradizjonälle Schreff"
+ },
+ "es": {
+ "code": "es",
+ "name": "Schpahnesch"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Schpahnesch en Mäxikoh"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Schpahnesch en Schpahneje"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Schtandatt Arahbesch"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Schweedesch"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Schwitzerdütsch"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "si": {
+ "code": "si",
+ "name": "Singjaleesesch"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somaalesch"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ẞlovakesch"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ẞloveenesch"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Suaheelesch"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Suulu"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "Tailändesch"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamiilesch"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telluuju"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibehtesch"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tijrenejaanesch"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongjaanesch"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Törkesch"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tschäschesch"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uj’juuersch"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainesch"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Unjarresch"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu\/Hindi"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Ußbeekesch"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vijätnammeesesch"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Wallihsesch"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walserdütsch"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Wäßfriisesch"
+ },
+ "be": {
+ "code": "be",
+ "name": "Wiißrußesch"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ky.json b/library/intl/resources/language/ky.json
new file mode 100644
index 000000000..6a22c40cf
--- /dev/null
+++ b/library/intl/resources/language/ky.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "агемче"
+ },
+ "az": {
+ "code": "az",
+ "name": "азербайжанча"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "азыркы адабий араб тилинде"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "аканча"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "албанча"
+ },
+ "am": {
+ "code": "am",
+ "name": "амхарча"
+ },
+ "en": {
+ "code": "en",
+ "name": "англиÑче"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "арабча"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "армÑнча"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "аÑуча"
+ },
+ "af": {
+ "code": "af",
+ "name": "африкаанча"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "бамбарада"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "бангладешче"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "баÑкча"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "батыш фризче"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "бафиÑча"
+ },
+ "be": {
+ "code": "be",
+ "name": "беларуÑча"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "бенача"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "бододо"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "болгарча"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "борбордук ÐÑ‚Ð»Ð°Ñ Ñ‚Ð°Ð¼Ð°Ð·Ð¸Ñ‚Ñ‡Ðµ"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "боÑнийче"
+ },
+ "br": {
+ "code": "br",
+ "name": "бретончо"
+ },
+ "my": {
+ "code": "my",
+ "name": "бурмача"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "вайиче"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "вунжочо"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "вьетнамча"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "галиÑиÑча"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "гандача"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "голландча"
+ },
+ "el": {
+ "code": "el",
+ "name": "грекче"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "грузинче"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "гужаратча"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "гуÑиче"
+ },
+ "da": {
+ "code": "da",
+ "name": "датча"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "жогорку немиÑче (ШвейцариÑ)"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "жогорку Ñорбианча"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "жола-фониче"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "жонгуча"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "замрача"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "зулуча"
+ },
+ "he": {
+ "code": "he",
+ "name": "ивритте"
+ },
+ "id": {
+ "code": "id",
+ "name": "индонезче"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ирландча"
+ },
+ "is": {
+ "code": "is",
+ "name": "иÑландча"
+ },
+ "es": {
+ "code": "es",
+ "name": "иÑпанча"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "иÑпанча (Европа)"
+ },
+ "it": {
+ "code": "it",
+ "name": "италиÑнча"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "йорубача"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "кабувердиче"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "кабылча"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "казакча"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "калаалиÑутча"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "каленжиче"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "камбача"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "каннадача"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "каталанча"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "кашмирче"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "кваÑиочо"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "кикуйиче"
+ },
+ "km": {
+ "code": "km",
+ "name": "кмерче"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "койра чиниче"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "койраборо Ñенниче"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "конго Ñуахаличе"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "корейче"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "кыргызча"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "кытайча"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "кытайча (жөнөкөйлөштүрүлгөн)"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "кытайча (Ñалттуу)"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "лангиче"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "лаочо"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "латышча"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "лингалача"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "литовчо"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "луба-катангача"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "луочо"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "лухиÑча"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "люкÑембургча"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "мажарча"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "македончо"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "макондече"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "макуача"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "малагаÑча"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "малайаламча"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "малайча"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "малтизче"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "маратиче"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "марокко тамазигт адабий тилинде"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "маÑайча"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "мачамече"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "меруча"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "молдованча"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "моңголчо"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "мориÑианча"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "мундангча"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "намача"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "нгомбача"
+ },
+ "de": {
+ "code": "de",
+ "name": "немиÑче"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "немиÑче (ШвейцариÑ)"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "непалча"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "норвежче (Букмал)"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "норвежче (ÐинорÑк)"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "нуерче"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ныйанколчо"
+ },
+ "or": {
+ "code": "or",
+ "name": "ориÑча"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "оруÑча"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "өзбекче"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "пашточо"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "полÑкча"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "португалча"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "португалча (Европа)"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "пунжабиче"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "романшча"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ромбочо"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "руача"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "румынча"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "рундиче"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Ñамбуруча"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Ñангочо"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Ñангуча"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Ñенача"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Ñербче"
+ },
+ "si": {
+ "code": "si",
+ "name": "Ñингалача"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Ñловакча"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Ñловенче"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Ñогача"
+ },
+ "so": {
+ "code": "so",
+ "name": "Ñомаличе"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Ñуахиличе"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "таитача"
+ },
+ "th": {
+ "code": "th",
+ "name": "тайча"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "тамилче"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "таÑабакча"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ташелитче"
+ },
+ "te": {
+ "code": "te",
+ "name": "телугуча"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "теÑочо"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "тибетче"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "тигриниача"
+ },
+ "to": {
+ "code": "to",
+ "name": "тонгача"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "төмөнкү Ñорбианча"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "түндүк ндыбелче"
+ },
+ "se": {
+ "code": "se",
+ "name": "түндүк Ñамиче"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "түркчө"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "уелшче"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "уйгурча"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "украинче"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "урдуча"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "фароÑче"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "фарÑыча"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "филипино"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "финче"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "фламандча"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "французча"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "хауÑача"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "хиндиче"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "хорватча"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "черокиче"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "чехче"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "чигача"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "шамабалача"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "шведче"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "шонача"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ñбече"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Ñмбуча"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ÑÑперанто"
+ },
+ "et": {
+ "code": "et",
+ "name": "ÑÑтончо"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Ñпончо"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/lag.json b/library/intl/resources/language/lag.json
new file mode 100644
index 000000000..f2a85327c
--- /dev/null
+++ b/library/intl/resources/language/lag.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kɨajéemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kɨakáani"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kɨaráabu"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kɨbáama"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kɨbangála"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kɨberalúusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kɨbulugária"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kɨchéeki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kɨchíina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kɨfaráansa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kɨgiríki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kɨhaúusa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kɨhíindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kɨhispánia"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kɨholáanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kɨhungári"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kɨɨndonésia"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kɨɨngeréesa"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kɨjapáani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kɨjerʉmáani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kɨkambódia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kɨkoréa"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Kɨlaangi"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kɨmelésia"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kɨmʉháari"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kɨnepáali"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kɨpólandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kɨpúnjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kɨréeno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kɨromanía"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kɨrúusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kɨsómáali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kɨswíidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kɨtáilandi"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kɨtaliáano"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kɨtamíili"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kɨturúuki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kɨukɨranía"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kɨúrdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kɨvietináamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kɨyorúuba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kɨzúulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/lb.json b/library/intl/resources/language/lb.json
new file mode 100644
index 000000000..9a77664ca
--- /dev/null
+++ b/library/intl/resources/language/lb.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanesch"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Amerikanescht Englesch"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharesch"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabesch"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenesch"
+ },
+ "az": {
+ "code": "az",
+ "name": "Aserbaidschanesch"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturianesch"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu (Tanzania)"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Australescht Englesch"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara-Sprooch"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa-Sprooch"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Baskesch"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengalesch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Bhutanesch"
+ },
+ "my": {
+ "code": "my",
+ "name": "Birmanesch"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnesch"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brasilianescht Portugisesch"
+ },
+ "br": {
+ "code": "br",
+ "name": "Bretonesch"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Britescht Englesch"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgaresch"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chinesesch"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Chinesesch (traditionell)"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Chinesesch (vereinfacht)"
+ },
+ "de": {
+ "code": "de",
+ "name": "Däitsch"
+ },
+ "da": {
+ "code": "da",
+ "name": "Dänesch"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Éisträichescht Däitsch"
+ },
+ "en": {
+ "code": "en",
+ "name": "Englesch"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estnesch"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Europäescht Portugisesch"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Europäescht Spuenesch"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe-Sprooch"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Färöesch"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnesch"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flämesch"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Franséisch"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulesch"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Ful"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galizesch"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda-Sprooch"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgesch"
+ },
+ "el": {
+ "code": "el",
+ "name": "Griichesch"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Grönlännesch"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii-Sprooch"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebräesch"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Hollännesch"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesesch"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Iresch"
+ },
+ "is": {
+ "code": "is",
+ "name": "Islännesch"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italienesch"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japanesch"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabylesch"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kambodschanesch"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Kanadescht Englesch"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Kanadescht Franséisch"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kasachesch"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kaschmiresch"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalanesch"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Kiembu"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Kiga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu-Sprooch"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgisesch"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Kölsch"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongo-Swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreanesch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyra Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroatesch"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laotesch"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Lettesch"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Lëtzebuergesch"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Litauesch"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo-Sprooch"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagassi-Sprooch"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malaiesch"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltesesch"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Marokkanescht Standard-Tamazight"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Massai-Sprooch"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Mazedonesch"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru-Sprooch"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Mëttlert-Atlas-Tamazight"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Mexikanescht Spuenesch"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Modernt Héicharabesch"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldawesch"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolesch"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepalesesch"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Niddersorbesch"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Nord-Ndebele-Sprooch"
+ },
+ "se": {
+ "code": "se",
+ "name": "Nordsamesch"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegesch Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegesch Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Olulujia"
+ },
+ "or": {
+ "code": "or",
+ "name": "Orija"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Pandschabesch"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Paschtu"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persesch"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polnesch"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugisesch"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Rätoromanesch"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumänesch"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi-Sprooch"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russesch"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Schottescht Gällesch"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Schwäizer Franséisch"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Schwäizer Héichdäitsch"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Schwäizerdäitsch"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Schwedesch"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbesch"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Singhalesesch"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slowakesch"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slowenesch"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spuenesch"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Suaheli"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamilesch"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Taschelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thailännesch"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetesch"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Tierkesch"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongaesch"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tschechesch"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Uewersorbesch"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uiguresch"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainesch"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ungaresch"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Usbekesch"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai-Sprooch"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamesesch"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "be": {
+ "code": "be",
+ "name": "Wäissrussesch"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Walisesch"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walliserdäitsch"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Westfriesesch"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/lg.json b/library/intl/resources/language/lg.json
new file mode 100644
index 000000000..3c5189d76
--- /dev/null
+++ b/library/intl/resources/language/lg.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Lu-akaani"
+ },
+ "am": {
+ "code": "am",
+ "name": "Lu-amhariki"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Lu-urudu"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "my": {
+ "code": "my",
+ "name": "Lubbama"
+ },
+ "be": {
+ "code": "be",
+ "name": "Lubelarusi"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Lubengali"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Lubulugariya"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Lucayina"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Luceeke"
+ },
+ "de": {
+ "code": "de",
+ "name": "Ludaaki"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Lufalansa"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Luganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "Lugereeki\/Luyonaani"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Luhangare"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Luhawuza"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Luhindu"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Luholandi"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Lujapani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Lukme"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Lukoreya"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Lulasa"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Lulomaniya"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Lumalayi"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Lunepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Lungereza"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Luperusi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Lupolandi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Lupotugiizi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Lupunjabi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Lusipanya"
+ },
+ "so": {
+ "code": "so",
+ "name": "Lusomaliya"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Luswideni"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Lutake"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Lutamiiru"
+ },
+ "th": {
+ "code": "th",
+ "name": "Luttaayi"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Luvyetinaamu"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Luwarabu"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "id": {
+ "code": "id",
+ "name": "Luyindonezya"
+ },
+ "it": {
+ "code": "it",
+ "name": "Luyitale"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Luyoruba"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Luyukurayine"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Luzzulu"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ln.json b/library/intl/resources/language/ln.json
new file mode 100644
index 000000000..78f1646e3
--- /dev/null
+++ b/library/intl/resources/language/ln.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikansi"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "kiluba"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "kiswahíli"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "lialabo"
+ },
+ "de": {
+ "code": "de",
+ "name": "lialemá"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "lialémani ya Otrish"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "lialémani ya Swisi"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "lialemaniki"
+ },
+ "am": {
+ "code": "am",
+ "name": "liamariki"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "libengali"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "libiligali"
+ },
+ "my": {
+ "code": "my",
+ "name": "libilimá"
+ },
+ "be": {
+ "code": "be",
+ "name": "libyelorisí"
+ },
+ "he": {
+ "code": "he",
+ "name": "liébeleo"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "lifalamá"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "lifalansÉ›Ì"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "lifalansÉ›Ì ya Kanadá"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "lifalansÉ›Ì ya Swisi"
+ },
+ "el": {
+ "code": "el",
+ "name": "ligeleki"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "lihindi"
+ },
+ "km": {
+ "code": "km",
+ "name": "likambodza"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "likoreya"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "likrɛni"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "limalezi"
+ },
+ "id": {
+ "code": "id",
+ "name": "lindonezi"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "linepalÉ›"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingála"
+ },
+ "en": {
+ "code": "en",
+ "name": "lingÉ›lÉ›Ìsa"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "lingÉ›lÉ›Ìsa ya IngÉ›lÉ›ÌtÉ›lÉ›"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "lingÉ›lÉ›Ìsa ya Kanadá"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "liongili"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "lipelésanɛ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "lipendzabi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "lipolonÉ›"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "lipulutugÉ›Ìsi"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "lipulutugÉ›Ìsi ya Brazil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "lipulutugÉ›Ìsi ya Erópa"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "lirisí"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "liromani"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "liromansh"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "lisinwa"
+ },
+ "es": {
+ "code": "es",
+ "name": "lisipanye"
+ },
+ "so": {
+ "code": "so",
+ "name": "lisomali"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "lispanyoli ya Erópa"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "lisuwedÉ›"
+ },
+ "it": {
+ "code": "it",
+ "name": "litaliano"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "litamuli"
+ },
+ "th": {
+ "code": "th",
+ "name": "litaye"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "litiliki"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "litshekÉ›"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "liurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "liviyetinámi"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "lizapÉ”"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/lo.json b/library/intl/resources/language/lo.json
new file mode 100644
index 000000000..3c4b395e1
--- /dev/null
+++ b/library/intl/resources/language/lo.json
@@ -0,0 +1,738 @@
+{
+ "el": {
+ "code": "el",
+ "name": "àºàº£àºµàº"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "àºàº£àºµàº™à»àº¥àº™àº¥àº´àº”"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "àºàº§àº²àºŠàºµà»‚ອ"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "àºàº²à»„ບລ໌"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "àºàº²àº¡àºšàº²"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "àºàº²àº¥àº´àºŠàº½àº™"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "àºàº¹àºˆàº²àº£àº²àº•àº´"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "àºàº¹àºŠàº´"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "ເàºàºàºàºµàºª"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ເàºàº»àº²àº«àº¥àºµ"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "à»àºàº™àº”າ"
+ },
+ "km": {
+ "code": "km",
+ "name": "ຂະເà»àº™"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "ຄອງໂຠຊວາຮີລິ"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "ຄອàºàº£àº² ຊິນີ"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "ຄັດຊະມີຣີ"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "ຄັນນາດາ"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "ຄາຊັàº"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "ຄາຕາລານ"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "ຄາເລັນຈິນ"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "ຄາເວີເດàºàº™àº¹"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "ຄິຄູຢຸ"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "ເຄເນດຽນ àºàº£àº±à»ˆàº‡"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "ໂຄàºàº£àº²à»‚ບໂຣ ເຊນນິ"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "ໂຄຣເອທຽນ"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "ໂຄລອàºàº™àº½àº™"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ງອມບາ"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ຈà»àºˆàº½àº™"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ຈີນ"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ຈີນà»àºšàºšàº”ັ້ງເດີມ"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ຈີນà»àºšàºšàº®àº½àºšàº‡à»ˆàº²àº"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "ໂຈລາ-ຟອນຢີ"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "ສະàºàº±àº­àº”ເàºàº¥àº´àº"
+ },
+ "es": {
+ "code": "es",
+ "name": "ສະà»àº›àº™àº™àº´àºŠ"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ສະໂລເວນຽນ"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ສະໂລà»àº§àº±àº"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "ສະວິສ ເຈີà»àº¡àº™"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "ສະວິສ àºàº£àº±à»ˆàº‡"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "ສະວິສ ໄຮ ເຈີà»àº¡àº™"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ສະວີດິຊ"
+ },
+ "si": {
+ "code": "si",
+ "name": "ສິນຫາລາ"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "ຊà»àºšàº½àº™àº•à»à»ˆàºàº§à»ˆàº²"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "ຊວາຮີລິ"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "ຊານàºàº¹"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ຊາມາ"
+ },
+ "se": {
+ "code": "se",
+ "name": "ຊາມິເໜືອ"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "ຊຳບາລ້າ"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "ຊຳບູຣູ"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "ຊີàºàº²"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "ຊີນາ"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ຊີໂຣàºàºµ"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ຊຸບເປີຊà»àºšàº½àº™"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ຊູລູ"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ເຊàº"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ເຊີບຽນ"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "à»àºŠàº‡à»‚àº"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "ໂຊàºàº²"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ໂຊນາ"
+ },
+ "so": {
+ "code": "so",
+ "name": "ໂຊມາລີ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "àºàºµà»ˆàº›àº¸à»ˆàº™"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "à»àºàº‡à»€àºšàº™"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ດັຊ"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ດີຊອງຄາ"
+ },
+ "da": {
+ "code": "da",
+ "name": "à»àº”ນິຊ"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "ຕາຊາວັàº"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ຕິàºàº£àº´àº™àº¢àº²"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "ເຕໂຊ"
+ },
+ "te": {
+ "code": "te",
+ "name": "ເຕລູàºàº¹"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "ໄຕຕາ"
+ },
+ "to": {
+ "code": "to",
+ "name": "ທອງàºàº²àº™"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ທາເຊວຫິດ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ທາມິລ"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ທິເບທັນ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ເທີຄິຊ"
+ },
+ "th": {
+ "code": "th",
+ "name": "ໄທ"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ນà»à»€àº§àºˆàº½àº™ ນີນອàº"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "ນà»à»€àº§àºˆàº½àº™ ບັອàºàº¡àº­àº¥"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ນານຄອນ"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ນາມາ"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ເນປາລີ"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "ເນີ"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "ບຣາຊິລຽນ ປà»àº•àº¹àºàºµàºª"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "ບອສນຽນ"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ບັງàºàº²àº£àº½àº™"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "ບັສàºàºµ"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "ບາຊາ"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "ບາເຟàº"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ບາມບາຣາ"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "ບີນາ"
+ },
+ "br": {
+ "code": "br",
+ "name": "ເບຣຕັນ"
+ },
+ "be": {
+ "code": "be",
+ "name": "ເບລາຣັສຊຽນ"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ເບັງàºàº²àº¥àºµ"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "ໂບດູ"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ປà»àº•àº¹àºàºµàºª"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ປັນຈາບີ"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "ປາສໂຕ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ເປີຊຽນ"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ໂປລິຊ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "àºàº£àº±à»ˆàº‡"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ຟຣີລຽນ"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ຟລີມິຊ"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ຟາໂຣສ"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ຟິນນິຊ"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ຟີລິປີໂນ"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "ຟູລາ"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "ມà»àº£àº´àºªà»€àº¢àº™"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "ມອງໂàºà»€àº¥àº"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "ມອລທີສ"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "ມັນດັງ"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ມາຄອນເດ"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ມາຄູວາ-ມີດໂຕ"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ມາà»àºŠàº¡"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "ມາໄຊ"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "ມາຣາທີ"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ມາລາàºàº²àºªàºŠàºµ"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ມາເລ"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "ມາເລອາລຳ"
+ },
+ "my": {
+ "code": "my",
+ "name": "ມຽນມາ"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "ເມຣູ"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "ເມັàºàºŠàº´àºàº±àº™ ສະà»àº›àº™àº™àº´àºŠ"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "à»àº¡àº±àºà»€àºŠà»‚ດນຽນ"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ໂມດາວຽນ"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "ໂມຣັອàºà»àº„ນ ທາມາຊີຠມາດຕະຖານ"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ຢູເຄຣນຽນ"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ຢູໂຣປຽນ ສະà»àº›àº™àº™àº´àºŠ"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ຢູໂຣປຽນ ປà»àº•àº¹àºàºµàºª"
+ },
+ "de": {
+ "code": "de",
+ "name": "ເຢàºàº¥àº°àº¡àº±àº™"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ໂຢຣູບາ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ຣັດຊຽນ"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "ຣຸນດິ"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ຣົມໂບ"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ໂຣà»àº¡àº™"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ໂຣà»àº¡àº™àº½àº™"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ລັàºà»€àºŠàº¡àºšàº§àºàºàº´àºŠ"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ລັດວຽນ"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ລາວ"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ລິງàºàº²àº¥àº²"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ລິທົວນຽນ"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "ລູໄàº"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "ລູບາ-ຄາຕັງàºàº²"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "ລົວ"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "à»àº¥àº™àºàº´"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ວັນໂຈ"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "ວາເຊີ"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "ເວສເທີນ ຟຣິຊຽນ"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ເວວ"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ໄວ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ຫວຽດນາມ"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ອອສຕຣຽນ ເຈີà»àº¡àº™"
+ },
+ "en": {
+ "code": "en",
+ "name": "ອັງàºàº´àº”"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "ອັງàºàº´àº” (ເຄເນດຽນ)"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "ອັງàºàº´àº” (ບຣິດທິຊ)"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ອັງàºàº´àº” (ອອສເຕຣລຽນ)"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ອັງàºàº´àº” (ອາເມລິàºàº±àº™)"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "ອັສຕູຮຽນ"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "ອັດລາສ ທາມາຊີຠàºàº²àº‡"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "ອາàºàº²àº™"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "ອາຊູ"
+ },
+ "az": {
+ "code": "az",
+ "name": "ອາເຊີໄບຈານິ"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "ອານບານຽນ"
+ },
+ "af": {
+ "code": "af",
+ "name": "ອາຟຣິàºàº²àº™"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ອາເມນຽນ"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "ອາຣວາ"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ອາຣັບ"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ອາຣາບິàºàº¡àº²àº”ຕະຖານສະໄà»à»ƒà»à»ˆ"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "ອາເຮັມ"
+ },
+ "am": {
+ "code": "am",
+ "name": "ອຳຮາຣິàº"
+ },
+ "it": {
+ "code": "it",
+ "name": "ອິຕາລຽນ"
+ },
+ "id": {
+ "code": "id",
+ "name": "ອິນໂດເນຊຽນ"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ອິວາ"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ອີວອນດູ"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ອຸສເບàº"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ອຸàºà»€àº„ີ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ອູຣະດູ"
+ },
+ "et": {
+ "code": "et",
+ "name": "ເອສໂຕນຽນ"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ເອສເປີຣັນໂຕ"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ເອັນເດເບເລເໜືອ"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ເອັມບູ"
+ },
+ "or": {
+ "code": "or",
+ "name": "ໂອຣິຢາ"
+ },
+ "is": {
+ "code": "is",
+ "name": "ໄອສà»àº¥àº™àº”ິàº"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ໄອຣິສ"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ຮັງàºàº²àº£àº½àº™"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ຮິນດິ"
+ },
+ "he": {
+ "code": "he",
+ "name": "ຮີບຣິວ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ເຮົາຊາ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/lt.json b/library/intl/resources/language/lt.json
new file mode 100644
index 000000000..3cc9d41d1
--- /dev/null
+++ b/library/intl/resources/language/lt.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikanų"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghemų"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "airių"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanų"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanų"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharų"
+ },
+ "en": {
+ "code": "en",
+ "name": "anglų"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabų"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armėnų"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturianų"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "aukštutinių sorbų"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Australijos anglų"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Austrijos vokieÄių"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaidžanieÄių"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafų"
+ },
+ "be": {
+ "code": "be",
+ "name": "baltarusių"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambarų"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskų"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basų"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalų"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "benų"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmieÄių"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnių"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "botijų"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brazilijos portugalų"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonų"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgarų"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Centrinio Maroko tamazitų"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Äekų"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Äerokių"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Äigų"
+ },
+ "da": {
+ "code": "da",
+ "name": "danų"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Didžiosios Britanijos anglų"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "džiola-foni"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estų"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Europos ispanų"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Europos portugalų"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "evių"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "evondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "farerų"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipinieÄių"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamandų"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "frulan"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulahų"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galisų"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "graikų"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruzinų"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžaratų"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusi"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausų"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrajų"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonezieÄių"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandų"
+ },
+ "es": {
+ "code": "es",
+ "name": "ispanų"
+ },
+ "it": {
+ "code": "it",
+ "name": "italų"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "jangbenų"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonų"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "jorubų"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Jungtinių Valstijų anglų"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalalisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjinų"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Kanados anglų"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Kanados prancūzų"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kanadų"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kašmyrų"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalonų"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazachų"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kebailų"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kembų"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmerų"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikujų"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kinų"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgizų"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "kojra Äini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "kojraboro seni"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kolognų"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongo suahilių"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korÄ—jieÄių"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroatų"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kvasių"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosieÄių"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latvių"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "lenkų"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lietuvių"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "liuksemburgieÄių"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luja"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "maÄamų"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonų"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makondų"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makua-maeto"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagasų"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalių"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajieÄių"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltieÄių"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratų"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masajų"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Meksikos ispanų"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "merų"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavų"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolų"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisijų"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundangų"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "naujoji norvegų"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalieÄių"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ngalų"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngombų"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "niankolų"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norvegijos rašytinė – būkmolų"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuerų"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "olandų"
+ },
+ "or": {
+ "code": "or",
+ "name": "orijų"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pendžabų"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persų"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalų"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "prancūzų"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "puštūnų"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromanų"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rua"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumunų"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rusų"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "sambūrų"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangų"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "senų"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbų"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhalų"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakų"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovėnų"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "sogų"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalieÄių"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "standartinė Maroko tamazigtų"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suahilių"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "suomių"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "supaprastintoji kinų"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "šambalų"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "šiaurės ndebelų"
+ },
+ "se": {
+ "code": "se",
+ "name": "šiaurės samių"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "šiuolaikinė standartinė arabų"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "škotų (gėlų)"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "šonų"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "švedų"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Å veicarijos aukÅ¡tutinÄ— vokieÄių"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Šveicarijos prancūzų"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Å veicarijos vokieÄių"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhitų"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taitų"
+ },
+ "th": {
+ "code": "th",
+ "name": "tajų"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilų"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasavakų"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugų"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetieÄių"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrajų"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganų"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "tradicinė kinų"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turkų"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigūrų"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainieÄių"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdų"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbekų"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "vakarų fryzų"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "valserų"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "valų"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "vengrų"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamieÄių"
+ },
+ "de": {
+ "code": "de",
+ "name": "vokieÄių"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarmų"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulų"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Žaliojo Kyšulio kreolų"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "žemutinių sorbų"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/lu.json b/library/intl/resources/language/lu.json
new file mode 100644
index 000000000..6f1aca5d3
--- /dev/null
+++ b/library/intl/resources/language/lu.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabi"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarusi"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulegari"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Giliki"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hongili"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Liakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Liamhariki"
+ },
+ "es": {
+ "code": "es",
+ "name": "Lihispania"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Likoreya"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Limalezia"
+ },
+ "id": {
+ "code": "id",
+ "name": "Lindonezia"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "en": {
+ "code": "en",
+ "name": "Lingelesa"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Lipunjabi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Lirisi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Liromani"
+ },
+ "so": {
+ "code": "so",
+ "name": "Lisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Lisuwidi"
+ },
+ "it": {
+ "code": "it",
+ "name": "Litali"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Liviyetinamu"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Liyapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Lizelumani"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Mfwàlànsa"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Mpepajemi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Mpoloni"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Mputulugɛsi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Mtamuili"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Nkrani"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "th": {
+ "code": "th",
+ "name": "Ntailandi"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Ntuluki"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Nyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Nzulu"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "olandi"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "shinÉ›"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tsheki"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Tshiluba"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/luo.json b/library/intl/resources/language/luo.json
new file mode 100644
index 000000000..e4536c824
--- /dev/null
+++ b/library/intl/resources/language/luo.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Dholuo"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kingereza"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/luy.json b/library/intl/resources/language/luy.json
new file mode 100644
index 000000000..576f6dedc
--- /dev/null
+++ b/library/intl/resources/language/luy.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Luhindi"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luluhia"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "en": {
+ "code": "en",
+ "name": "Lusungu"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/lv.json b/library/intl/resources/language/lv.json
new file mode 100644
index 000000000..4f1b40829
--- /dev/null
+++ b/library/intl/resources/language/lv.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikandu"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghemu"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanu"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albÄņu"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharu"
+ },
+ "en": {
+ "code": "en",
+ "name": "angļu"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arÄbu"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armēņu"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "astūriešu"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ASV angļu"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "augšsorbu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "AustrÄlijas angļu"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Austrijas vÄcu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaidžÄņu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafiju"
+ },
+ "be": {
+ "code": "be",
+ "name": "baltkrievu"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambaru"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basku"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basu"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengÄļu"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmiešu"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniešu"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "BrazÄ«lijas portugÄļu"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretoņu"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgÄru"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "CentrÄlmarokas tamazÄ«ts"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Äehu"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Äiroku"
+ },
+ "da": {
+ "code": "da",
+ "name": "dÄņu"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "diola-fonjī"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongke"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Eiropas portugÄļu"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Eiropas spÄņu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "evondu"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "evu"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "fēru"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipīniešu"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flÄmu"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franÄu"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friūlu"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulu"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galisiešu"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "gandu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gēlu"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grenlandiešu"
+ },
+ "el": {
+ "code": "el",
+ "name": "grieÄ·u"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruzīnu"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžaratu"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausu"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandiešu"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "horvÄtu"
+ },
+ "et": {
+ "code": "et",
+ "name": "igauņu"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonēziešu"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Ä«ru"
+ },
+ "is": {
+ "code": "is",
+ "name": "īslandiešu"
+ },
+ "it": {
+ "code": "it",
+ "name": "itÄļu"
+ },
+ "he": {
+ "code": "he",
+ "name": "ivrits"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "janbaņu"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japÄņu"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "jaunnorvēģu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "jorubu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabilu"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kaboverdiešu"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalendžīnu"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kambu"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "KanÄdas angļu"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "KanÄdas franÄu"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannadu"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kašmiriešu"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalÄņu"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazahu"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmeru"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "kiga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuju"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgīzu"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "kjembu"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koiraboro senni"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koiraÄiinÄ«"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongo svahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korejiešu"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "krievu"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kvasio"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Ķelnes vÄcu"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ķīniešu"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Ä·Ä«nieÅ¡u tradicionÄlÄ"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Ä·Ä«nieÅ¡u vienkÄrÅ¡otÄ"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiešu"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latviešu"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "lejassorbu"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "LielbritÄnijas angļu"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lietuviešu"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "lubakatanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhju"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luksemburgiešu"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "maÄamu"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makua-meetto"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "maķedoniešu"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagasu"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajiešu"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltiešu"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratu"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masaju"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Maurīcijas kreolu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Meksikas spÄņu"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldÄvu"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoļu"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundangu"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "mÅ«sdienu standarta arÄbu"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepÄlieÅ¡u"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norvēģu bukmols"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nueru"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ņankolu"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriju"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandžabu"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persiešu"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "poļu"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugÄļu"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "puštu"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromÄņu"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "rietumfrīzu"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "ruanda"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumÄņu"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundu"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "senu"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbu"
+ },
+ "si": {
+ "code": "si",
+ "name": "singÄļu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovÄku"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovēņu"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "sogu"
+ },
+ "so": {
+ "code": "so",
+ "name": "somÄļu"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "somu"
+ },
+ "es": {
+ "code": "es",
+ "name": "spÄņu"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "standarta marokÄņu berberu"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "svahili"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Å¡ambalu"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Å¡ilhu"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Å¡onu"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Å veices augÅ¡vÄcu"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Å veices franÄu"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Å veices vÄcu"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taitu"
+ },
+ "th": {
+ "code": "th",
+ "name": "taju"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilu"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasavaku"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetiešu"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongiešu"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turku"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uiguru"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukraiņu"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungÄru"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeku"
+ },
+ "de": {
+ "code": "de",
+ "name": "vÄcu"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vaju"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Vallisas vÄcu"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "velsiešu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vjetnamiešu"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vundžo"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarmu"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ziemeļndebelu"
+ },
+ "se": {
+ "code": "se",
+ "name": "ziemeļsÄmu"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "zviedru"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/mas.json b/library/intl/resources/language/mas.json
new file mode 100644
index 000000000..af04d4ecc
--- /dev/null
+++ b/library/intl/resources/language/mas.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "lnkʉtʉÌk É”Ìɔ̄ lBengali"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Maa"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "nkʉtʉÌk É”Ìɔ̄ faransa"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "nkʉtʉÌk É”Ìɔ̄ hausa"
+ },
+ "id": {
+ "code": "id",
+ "name": "nkʉtʉÌk É”Ìɔ̄ Indonesia"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "nkʉtʉÌk É”Ìɔ̄ japani"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lAkan"
+ },
+ "am": {
+ "code": "am",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lAmhari"
+ },
+ "be": {
+ "code": "be",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lBelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lBulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lBurma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lcheki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lchina"
+ },
+ "so": {
+ "code": "so",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lchumari"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lduchi"
+ },
+ "el": {
+ "code": "el",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lgiriki"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lhungari"
+ },
+ "de": {
+ "code": "de",
+ "name": "nkʉtʉÌk É”Ìɔ̄ ljerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lkambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lkorea"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lkrania"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lmarabu"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lmoindi"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lnepali"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lpersia"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lpoland"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lportuguese"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lpunjabi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lrusi"
+ },
+ "es": {
+ "code": "es",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lspania"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "nkʉtʉÌk É”Ìɔ̄ ltai"
+ },
+ "it": {
+ "code": "it",
+ "name": "nkʉtʉÌk É”Ìɔ̄ ltalian"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "nkʉtʉÌk É”Ìɔ̄ ltamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lturuki"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lvietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "nkʉtʉÌk É”Ìɔ̄ lzulu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "nkʉtʉÌk É”Ìɔ̄ malay"
+ },
+ "en": {
+ "code": "en",
+ "name": "nkʉtʉÌk É”Ìɔ̄ nkɨÌresa"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/mer.json b/library/intl/resources/language/mer.json
new file mode 100644
index 000000000..0898bba6c
--- /dev/null
+++ b/library/intl/resources/language/mer.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "KÄ©akani"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kĩamarĩki"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "KÄ©arabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "KÄ©bangira"
+ },
+ "be": {
+ "code": "be",
+ "name": "KÄ©belarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kĩbulugĩria"
+ },
+ "my": {
+ "code": "my",
+ "name": "KÄ©burma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "KÄ©cheki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "KÄ©china"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "KÄ©furansi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kĩhangarĩ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "KÄ©hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kĩhĩndi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "KÄ©holandi"
+ },
+ "id": {
+ "code": "id",
+ "name": "KÄ©indonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kĩitalĩ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "KÄ©japani"
+ },
+ "km": {
+ "code": "km",
+ "name": "KÄ©kambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "KÄ©korea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "KÄ©malesia"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Kĩmĩrũ"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "KÄ©nepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "KÄ©ngeretha"
+ },
+ "el": {
+ "code": "el",
+ "name": "KÄ©ngiriki"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kĩnjamanĩ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "KÄ©pasia"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "KÄ©pochogo"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "KÄ©polandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "KÄ©punjabu"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "KÄ©rashia"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "KÄ©romania"
+ },
+ "so": {
+ "code": "so",
+ "name": "KÄ©somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kĩspĩni"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "KÄ©swideni"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kĩtakĩ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "KÄ©tamilu"
+ },
+ "th": {
+ "code": "th",
+ "name": "KÄ©thailandi"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kĩukirĩni"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "KÄ©urdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "KÄ©vietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "KÄ©yoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "KÄ©zulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/mfe.json b/library/intl/resources/language/mfe.json
new file mode 100644
index 000000000..511131998
--- /dev/null
+++ b/library/intl/resources/language/mfe.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "de": {
+ "code": "de",
+ "name": "alman"
+ },
+ "am": {
+ "code": "am",
+ "name": "amarik"
+ },
+ "en": {
+ "code": "en",
+ "name": "angle"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arab"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bieloris"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bilgar"
+ },
+ "my": {
+ "code": "my",
+ "name": "birman"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "espagnol"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franse"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "grek"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haoussa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hongrwa"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ikrenien"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonezien"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "italien"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer, santral"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreen"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "kreol morisien"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "male"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepale"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "olande"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ourdou"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "penjabi"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persan"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polone"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portige"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ris"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "roumin"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "sinwa, mandarin"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "swedwa"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamoul"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tchek"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thaï"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "tirk"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamien"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "zapone"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zoulou"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/mg.json b/library/intl/resources/language/mg.json
new file mode 100644
index 000000000..7714fd25a
--- /dev/null
+++ b/library/intl/resources/language/mg.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "de": {
+ "code": "de",
+ "name": "Alemanina"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharika"
+ },
+ "en": {
+ "code": "en",
+ "name": "Anglisy"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabo"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "Bielorosy"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Biolgara"
+ },
+ "my": {
+ "code": "my",
+ "name": "Birmana"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "Espaniola"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Frantsay"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Grika"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haoussa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Holandey"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hongroà"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonezianina"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italianina"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japoney"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreanina"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepale"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Okrainianina"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Ordò"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Penjabi"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Poloney"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portiogey"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romanianina"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rosianina"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Sinoa, Mandarin"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Soisa"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somalianina"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "Taioaney"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamoila"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Tiorka"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tseky"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamianina"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yôrobà"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zolò"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/mgh.json b/library/intl/resources/language/mgh.json
new file mode 100644
index 000000000..3d1c146b0
--- /dev/null
+++ b/library/intl/resources/language/mgh.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Iajemi"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Iarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Ibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Ibelausi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Ibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Iburma"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Icheki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Ichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Igiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Ihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Ihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Ihispaniola"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Iholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ihungari"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Ihurdu"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Ijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Ijerimani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Ikambodia"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Ikan"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Ikorea"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Imalesia"
+ },
+ "am": {
+ "code": "am",
+ "name": "Imhari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesian"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Inepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Ingilishi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Ipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Ipunjabi"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Irisi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Iromania"
+ },
+ "so": {
+ "code": "so",
+ "name": "Isomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Iswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Itailandi"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italiano"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Itamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Ituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Iukran"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Ivyetinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Iyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Izulu"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makua"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Nreno"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/mk.json b/library/intl/resources/language/mk.json
new file mode 100644
index 000000000..9a4dc6f42
--- /dev/null
+++ b/library/intl/resources/language/mk.json
@@ -0,0 +1,738 @@
+{
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "агемÑки"
+ },
+ "az": {
+ "code": "az",
+ "name": "азербејџанÑки"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "аканÑки"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "албанÑки"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "американÑки англиÑки"
+ },
+ "am": {
+ "code": "am",
+ "name": "амхарÑки"
+ },
+ "en": {
+ "code": "en",
+ "name": "англиÑки"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "арапÑки"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "аÑтурÑки"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "аÑу"
+ },
+ "af": {
+ "code": "af",
+ "name": "африканÑ"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "бамбара"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "баÑа"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "баÑкиÑки"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "бафија"
+ },
+ "be": {
+ "code": "be",
+ "name": "белоруÑки"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "бена"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "бенгалÑки"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "бодо"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "боÑанÑки"
+ },
+ "br": {
+ "code": "br",
+ "name": "бретонÑки"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "британÑки англиÑки"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "бугарÑки"
+ },
+ "my": {
+ "code": "my",
+ "name": "бурманÑки"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "вај"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "валÑер"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "велшки"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "виетнамÑки"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "вунџо"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "галициÑки"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ганда"
+ },
+ "de": {
+ "code": "de",
+ "name": "германÑки"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "горнолужички"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "грузиÑки"
+ },
+ "el": {
+ "code": "el",
+ "name": "грчки"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "гуÑи"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "гуџарати"
+ },
+ "da": {
+ "code": "da",
+ "name": "данÑки"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "долнолужички"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "еве"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "евондо"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ембу"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ерменÑки"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "еÑперанто"
+ },
+ "et": {
+ "code": "et",
+ "name": "еÑтонÑки"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "западнофризиÑки"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "зарма"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "зулу"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ѕонгка"
+ },
+ "id": {
+ "code": "id",
+ "name": "индонезиÑки"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ирÑки"
+ },
+ "is": {
+ "code": "is",
+ "name": "иÑландÑки"
+ },
+ "it": {
+ "code": "it",
+ "name": "италијанÑки"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "јапонÑки"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "јенгбен"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "јола-фоњи"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "јорупÑки"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "кабилÑки"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "кабувердиану"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "казакÑтанÑки"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "калалиÑут"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "каленџин"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "камба"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "каннада"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "каталонÑки"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "кашмирÑки"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "квазио"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "кикују"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "кинеÑки"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "киргиÑки"
+ },
+ "km": {
+ "code": "km",
+ "name": "кмерÑки"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "којра чиини"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "којраборо Ñени"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "колоњÑки"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "конгоанÑки Ñвахили"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "корејÑки"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ланги"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "лаошки"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "латвиÑки"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "лингала"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "литванÑки"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "литературен арапÑки"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "луја"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "лукÑембуршки"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "луо"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "македонÑки"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "маконде"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "макува-мито"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "малајалам"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "малајÑки"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "малгашки"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "малтешки"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "марати"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "маÑајÑки"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "мачаме"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "меру"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "молдавÑки"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "монголÑки"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "мориÑјен"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "мунданг"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "нама"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "нгомба"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "непалÑки"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "норвешки букмол"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "норвешки нинорÑк"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "нуер"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "њанколе"
+ },
+ "or": {
+ "code": "or",
+ "name": "орија"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "паштунÑки"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "пенџапÑки"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "перÑиÑки"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "поедноÑтавен кинеÑки"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "полÑки"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "португалÑки"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "португалÑки (во Европа)"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ретороманÑки"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "романÑки"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ромбо"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "руа"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "рунди"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "руÑки"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Ñамбуру"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Ñанго"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Ñангу"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Ñвахили"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ñеверен ндебеле"
+ },
+ "se": {
+ "code": "se",
+ "name": "ÑевернолапонÑки"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Ñена"
+ },
+ "si": {
+ "code": "si",
+ "name": "ÑинхалÑки"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Ñловачки"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Ñловенечки"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Ñога"
+ },
+ "so": {
+ "code": "so",
+ "name": "ÑомалиÑки"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ÑрпÑки"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Ñтандарден мароканÑки тамазигтÑки"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "тазавак"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "таита"
+ },
+ "th": {
+ "code": "th",
+ "name": "тајландÑки"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "тамилÑки"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "тачелхит"
+ },
+ "te": {
+ "code": "te",
+ "name": "телугу"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "теÑо"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "тибетÑки"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "тигриња"
+ },
+ "to": {
+ "code": "to",
+ "name": "тонганÑки"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "традиционален кинеÑки"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "турÑки"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "узбекиÑтанÑки"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ујгурÑки"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "украинÑки"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "унгарÑки"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "урду"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "фарÑки"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "филипинÑки"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "финÑки"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "француÑки"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "француÑки (во Канада)"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "фула"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "фурланÑки"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "хауÑа"
+ },
+ "he": {
+ "code": "he",
+ "name": "хебрејÑки"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "хинди"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "холандÑки"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "хрватÑки"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "централно мароканÑки тамазитÑки"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "черокиÑки"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "чешки"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "чига"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "шамбала"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "швајцарÑки германÑки"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "шведÑки"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "шкотÑки гелÑки"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "шона"
+ },
+ "es": {
+ "code": "es",
+ "name": "шпанÑки"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "шпанÑки (во Европа)"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ml.json b/library/intl/resources/language/ml.json
new file mode 100644
index 000000000..536d628ad
--- /dev/null
+++ b/library/intl/resources/language/ml.json
@@ -0,0 +1,738 @@
+{
+ "ak": {
+ "code": "ak",
+ "name": "അകാൻ‌"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "à´…à´ªàµà´ªàµ¼ സോർബിയൻ"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "അമേരികàµà´•àµ» ഇംഗàµà´²àµ€à´·àµ"
+ },
+ "am": {
+ "code": "am",
+ "name": "അംഹാരികàµ"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "അർമേനിയൻ"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "അൽബേനിയൻ"
+ },
+ "az": {
+ "code": "az",
+ "name": "അസർബൈജാനി"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "അറബികàµ"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "ആഘേം"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ആധàµà´¨à´¿à´• à´¸àµà´±àµà´±à´¾àµ»à´¡àµ‡àµ¼à´¡àµ അറബികàµ"
+ },
+ "af": {
+ "code": "af",
+ "name": "ആഫàµà´°à´¿à´•àµà´•à´¾àµ»à´¸àµ"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "ആസàµ"
+ },
+ "id": {
+ "code": "id",
+ "name": "ഇൻഡോനേഷàµà´¯àµ»"
+ },
+ "en": {
+ "code": "en",
+ "name": "ഇംഗàµà´²àµ€à´·àµ"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ഇവàµ"
+ },
+ "it": {
+ "code": "it",
+ "name": "ഇറàµà´±à´¾à´²à´¿à´¯àµ»"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ഉകàµà´°àµ‡à´¨à´¿à´¯àµ»"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ഉയàµà´˜àµàµ¼"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ഉസàµâ€Œà´¬àµ†à´•àµà´•àµ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ഉറàµà´¦àµ"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "à´Žà´‚à´¬àµ"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "എവോൻഡോ"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "à´Žà´¸àµâ€Œà´ªà´°à´¾à´¨àµà´±àµ‹"
+ },
+ "et": {
+ "code": "et",
+ "name": "à´Žà´¸àµà´±àµà´±àµ‹à´£à´¿à´¯àµ»"
+ },
+ "is": {
+ "code": "is",
+ "name": "à´à´¸àµâ€Œà´²à´¾àµ»à´¡à´¿à´•àµ"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "à´à´±à´¿à´·àµ"
+ },
+ "or": {
+ "code": "or",
+ "name": "à´’à´¡à´¿à´¯"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "à´“à´¸àµâ€Œà´Ÿàµà´°à´¿à´¯àµ»"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "à´“à´¸àµâ€Œà´Ÿàµà´°à´¿à´¯àµ» ജർമൻ"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "à´“à´¸àµâ€Œà´Ÿàµà´°àµ‡à´²à´¿à´¯àµ» ഇംഗàµà´²àµ€à´·àµ"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "കനേഡിയൻ ഇംഗàµà´²àµ€à´·àµ"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "കനേഡിയൻ à´«àµà´°à´žàµà´šàµ"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "à´•à´¨àµà´¨à´¡"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "à´•à´¬àµà´µàµ†àµ¼à´¦à´¿à´¯à´¾à´¨àµ"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "കബൈൽ"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "à´•à´‚à´¬"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "കലാലàµà´²à´¿à´¸à´Ÿàµà´Ÿàµ"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "കലെഞàµà´žà´¿àµ»"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "കസാഖàµ"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "à´•à´±àµà´±à´¾à´²à´¾àµ»"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "കാശàµâ€Œà´®àµ€à´°à´¿"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "കികൂയàµ"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "കിർഗിസàµ"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "കൊയàµà´± ചീനി"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "കൊയàµà´±à´¾à´¬àµŠà´±àµ‹ സെനàµà´¨à´¿"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "കൊളോഞàµà´žà´¿à´¯àµ»"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "കൊറിയൻ"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "കോംഗോ à´¸àµà´µà´¾à´¹à´¿à´²à´¿"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "à´•àµà´°àµŠà´¯àµ‡à´·àµà´¯àµ»"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "à´•àµà´µà´¾à´¸à´¿à´¯àµ‹"
+ },
+ "km": {
+ "code": "km",
+ "name": "ഖമെർ"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ഗലീഷàµà´¯àµ»"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ഗാണàµà´Ÿ"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "à´—àµà´œà´±à´¾à´¤àµà´¤à´¿"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "à´—àµà´¸àµ€"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ഗോമàµà´ª"
+ },
+ "el": {
+ "code": "el",
+ "name": "à´—àµà´°àµ€à´•àµà´•àµ"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "à´šà´¿à´—"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ചീനഭാഷ-പരമàµà´ªà´°à´¾à´—തലിപി"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ചീനഭാഷ-ലളിതലിപി"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ചെകàµà´•àµ"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ചൈനീസàµ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ജപàµà´ªà´¾à´¨àµ€à´¸àµ"
+ },
+ "de": {
+ "code": "de",
+ "name": "ജർമàµà´®àµ»"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ജോർജിയൻ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ടർകàµà´•à´¿à´·àµ"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "ടസവാകàµà´•àµ"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ടിബറàµà´±àµ»"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "ടെസോ"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ടൈഗàµà´°à´¿à´¨àµà´¯"
+ },
+ "to": {
+ "code": "to",
+ "name": "ടോംഗൻ"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "à´¡à´šàµà´šàµ"
+ },
+ "da": {
+ "code": "da",
+ "name": "ഡാനിഷàµ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "തമിഴàµ"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "താചàµà´šà´²à´¿à´±àµà´±àµ"
+ },
+ "th": {
+ "code": "th",
+ "name": "തായàµ"
+ },
+ "te": {
+ "code": "te",
+ "name": "തെലàµà´™àµà´•àµ"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "തൈത"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "നാമ"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "à´¨àµà´µàµ‡àµ¼"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "നേപàµà´ªà´¾à´³à´¿"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "നോർതàµà´¤àµ ഡെബിൾ"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "നോർവീജിയൻ നൈനോർകàµâ€Œà´¸àµ"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "നോർവീജിയൻ à´¬àµà´•àµâ€Œà´®àµ½"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "à´¨àµà´¯à´¾àµ»à´•àµ‹àµ¾"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "പഞàµà´šà´¾à´¬à´¿"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "പശàµà´šà´¿à´® à´«àµà´°à´¿à´·à´¿à´¯àµ»"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "പഷàµà´¤àµ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "പേർഷàµà´¯àµ»"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "പോർചàµà´šàµà´—ീസàµ"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "പോളിഷàµ"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ഫാറോസàµ"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "à´«à´¿à´¨àµà´¨à´¿à´·àµ"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ഫിലിപàµà´ªà´¿à´¨àµ‹"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "à´«àµà´²"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "à´«àµà´°à´žàµà´šàµ"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "à´«àµà´°à´¿à´¯àµà´²à´¿à´¯à´¾àµ»"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "à´«àµà´²à´®à´¿à´·àµ"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ബംഗാളി"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ബംബാറ"
+ },
+ "my": {
+ "code": "my",
+ "name": "ബർമീസàµ"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "ബസ"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ബൾഗേറിയൻ"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "ബാസàµâ€Œà´•àµ"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "ബെനാ"
+ },
+ "be": {
+ "code": "be",
+ "name": "ബെലാറàµà´·àµà´¯àµ»"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "ബോഡോ"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "ബോസàµà´¨à´¿à´¯àµ»"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "à´¬àµà´°à´¸àµ€à´²à´¿à´¯àµ» പോർചàµà´šàµà´—ീസàµ"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "à´¬àµà´°à´¿à´Ÿàµà´Ÿàµ€à´·àµ ഇംഗàµà´²àµ€à´·àµ"
+ },
+ "br": {
+ "code": "br",
+ "name": "à´¬àµà´°àµ†à´Ÿàµà´Ÿàµº"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "ഭാഫിയ"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "മകàµà´•àµ‹à´£àµà´Ÿàµ†"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "മചേം"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "മധàµà´¯ à´…à´±àµà´±àµâ€Œà´²à´¸àµ ടമാസൈറàµà´±àµ"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "മംഗോളിയൻ"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "മലഗാസി"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "മലയാളം"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "മലെയàµ"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "മസായàµ"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "മറാതàµà´¤à´¿"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "മാഖàµà´µà´¾-മീതàµà´¤àµ‹"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "മാസിഡോണിയൻ"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "മാൾടàµà´Ÿàµ€à´¸àµ"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "à´®àµà´¨àµà´¦à´¾à´‚à´—àµ"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "മെകàµà´¸à´¿à´•àµà´•àµ» à´¸àµà´ªà´¾à´¨à´¿à´·àµ"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "മേരàµ"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "മൊറിസിൻ"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "മൊറോകàµà´•àµ» സാധാരണ താമസൈറàµà´±àµ"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "മോൾഡാവിയൻ"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "യാംഗàµà´¬àµ†àµ»"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "യൂറോപàµà´¯àµ» പോർചàµà´šàµà´—ീസàµ"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "യൂറോപàµà´¯àµ» à´¸àµâ€Œà´ªà´¾à´¨à´¿à´·àµ"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "യൊറൂബാ"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "യോല-ഫോനàµà´¯à´¿"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ലകàµâ€Œà´¸à´‚ബർഗിഷàµ"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ലാംഗി"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ലാവോ"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ലാറàµà´±àµà´µà´¿à´¯àµ»"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ലിതàµà´µà´¾à´¨à´¿à´¯àµ»"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ലിംഗാല"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "à´²àµà´¬-à´•à´±àµà´±à´‚à´—"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "à´²àµà´¯à´¿à´¯"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "à´²àµà´µàµ‹"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "ലോവർ സോർബിയൻ"
+ },
+ "se": {
+ "code": "se",
+ "name": "വടകàµà´•àµ» സമി"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "വാൾസർ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "വിയറàµà´±àµà´¨à´¾à´®àµ€à´¸àµ"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "à´µàµà´žàµà´œàµ‹"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "വെൽഷàµ"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "വൈ"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "ഷംഭാള"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ഷെരോകàµà´•à´¿"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ഷോണ"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "സംഗàµ"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "സംബàµà´°àµ"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "സാംഗോ"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "സാർമàµà´®"
+ },
+ "si": {
+ "code": "si",
+ "name": "സിംഹള"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "à´¸àµà´²àµ"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "സെർബിയൻ"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "സേന"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "സോഗോ"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "സോങàµà´•"
+ },
+ "so": {
+ "code": "so",
+ "name": "സോമാലി"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "à´¸àµà´•àµ‹à´Ÿàµà´Ÿà´¿à´·àµ ഗൈലികàµ"
+ },
+ "es": {
+ "code": "es",
+ "name": "à´¸àµâ€Œà´ªà´¾à´¨à´¿à´·àµ"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "à´¸àµà´²àµ‹à´µà´¾à´•àµ"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "à´¸àµà´²àµ‹à´µàµ‡à´¨à´¿à´¯àµ»"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "à´¸àµà´µà´¾à´¹à´¿à´²à´¿"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "à´¸àµà´µà´¿à´¸àµ ജർമàµà´®àµ»"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "à´¸àµà´µà´¿à´¸àµ à´«àµà´°à´žàµà´šàµ"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "à´¸àµà´µà´¿à´¸àµ ഹൈ ജർമൻ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "à´¸àµà´µàµ€à´¡à´¿à´·àµ"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ഹംഗേറിയൻ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ഹിനàµà´¦à´¿"
+ },
+ "he": {
+ "code": "he",
+ "name": "ഹീബàµà´°àµ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ഹൗസ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "റഷàµà´¯àµ»"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "à´±àµà´£àµà´Ÿà´¿"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "à´±àµà´µà´¾"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "റൊമാഞàµà´šàµ"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "റൊമാനിയൻ"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "റോംബോ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/mn.json b/library/intl/resources/language/mn.json
new file mode 100644
index 000000000..2b2598c00
--- /dev/null
+++ b/library/intl/resources/language/mn.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "авÑтрали англи"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "авÑтри герман"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "агем"
+ },
+ "az": {
+ "code": "az",
+ "name": "азербайжан"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "акан"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "албани"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "америкийн англи"
+ },
+ "am": {
+ "code": "am",
+ "name": "амхар"
+ },
+ "en": {
+ "code": "en",
+ "name": "англи"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "араб"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "армен"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "аÑу"
+ },
+ "af": {
+ "code": "af",
+ "name": "африк"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "балба"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "бамбара"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "баруун фризын"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "баÑк"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "бафиа"
+ },
+ "be": {
+ "code": "be",
+ "name": "беларуÑÑŒ"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "бена"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "бенгал"
+ },
+ "my": {
+ "code": "my",
+ "name": "бирм"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "бодо"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "болгар"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "боÑни"
+ },
+ "br": {
+ "code": "br",
+ "name": "бретон"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "британийн англи"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "вай"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "вунжо"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "вьетнам"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "галик"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ганда"
+ },
+ "de": {
+ "code": "de",
+ "name": "герман"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "голланд"
+ },
+ "el": {
+ "code": "el",
+ "name": "грек"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "гужарати"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "гузы"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "гүрж"
+ },
+ "da": {
+ "code": "da",
+ "name": "дани"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "дÑÑд Ñорби"
+ },
+ "he": {
+ "code": "he",
+ "name": "еврей"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "европын иÑпани"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "европын португал"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ёруба"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "жола-фони"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "жонха"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "зарма"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "зулу"
+ },
+ "id": {
+ "code": "id",
+ "name": "индонези"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ирланд"
+ },
+ "is": {
+ "code": "is",
+ "name": "иÑланд"
+ },
+ "es": {
+ "code": "es",
+ "name": "иÑпани"
+ },
+ "it": {
+ "code": "it",
+ "name": "итали"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "кабиле"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "кабүвердиану"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "калалиÑут"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "каленжин"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "камба"
+ },
+ "km": {
+ "code": "km",
+ "name": "камбож"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "канад англи"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "канад франц"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "каннада"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "каталан"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "кашмир"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "квазио"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "кёраборо Ñени"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "кикуюү"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "киргиз"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "койра чини"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "конго Ñвахили"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ланги"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "лаоÑ"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "латви"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "лингала"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "литва"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "ловер-Ñорби"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "луба-катанга"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "луо"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "луÑа"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "люкÑембург"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "македон"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "маконде"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "макува-мито"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "малагаÑи"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "малай"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "малайлам"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "малти"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "марати"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "маÑай"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "мачамÑ"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "мекÑикийн иÑпани"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "меру"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "молдав"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "монгол"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "мориÑен"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "мунданг"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "нама"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "нгомба"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "норвегийн букмол"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "норвегийн нинорÑк"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "нуер"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "нÑнколе"
+ },
+ "or": {
+ "code": "or",
+ "name": "ориÑ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ороÑ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "панжаб"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "пашто"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "перÑ"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "польш"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "португал"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "португал (бразил)"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "рва"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "романш"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ромбо"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "румын"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "рунди"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Ñамбүрү"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Ñанго"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Ñангү"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Ñвахили"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Ñена"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Ñерб"
+ },
+ "si": {
+ "code": "si",
+ "name": "Ñинхала"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Ñловак"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Ñловен"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Ñога"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ÑолонгоÑ"
+ },
+ "so": {
+ "code": "so",
+ "name": "Ñомали"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Ñтандарт араб"
+ },
+ "th": {
+ "code": "th",
+ "name": "тай"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "тайта"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "тамазит"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "тамил"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "таÑавак"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "тачелхит"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "тигрина"
+ },
+ "to": {
+ "code": "to",
+ "name": "тонга"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "төв атлаÑын тамазайт"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "төвд"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "турк"
+ },
+ "te": {
+ "code": "te",
+ "name": "Ñ‚Ñлүгү"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Ñ‚ÑÑо"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "узбек"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "уйгар"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "украйн"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "уламжлалт Ñ…Ñтад"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "унгар"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "урду"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "уÑлÑ"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "фарер"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "филиппин"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "финлÑнд"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "фламанд"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "франц"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "хаÑаг"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "хауÑа"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "хинди"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "хойд ндебеле"
+ },
+ "se": {
+ "code": "se",
+ "name": "хойд Ñами"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "хорват"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Ñ…ÑлбаршуулÑан Ñ…Ñтад"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Ñ…Ñтад"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "чех"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "чига"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "чироки"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "шамбала"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "швед"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "швейцари герман"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "швейцари дÑÑÑ€ герман"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "швейцари франц"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "шона"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "шотланд келт"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ÑвÑ"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Ñмбу"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ÑÑперанто"
+ },
+ "et": {
+ "code": "et",
+ "name": "ÑÑтони"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Ñпон"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/mr.json b/library/intl/resources/language/mr.json
new file mode 100644
index 000000000..aaa3f3189
--- /dev/null
+++ b/library/intl/resources/language/mr.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "अकान"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "अघेम"
+ },
+ "az": {
+ "code": "az",
+ "name": "अà¤à¤°à¤¬à¥ˆà¤œà¤¾à¤¨à¥€"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "अपà¥à¤ªà¤° सॉरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "af": {
+ "code": "af",
+ "name": "अफà¥à¤°à¤¿à¤•à¤¾à¤¨à¥à¤¸"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "अमेरिकन इंगà¥à¤°à¤œà¥€"
+ },
+ "am": {
+ "code": "am",
+ "name": "अमà¥à¤¹à¤¾à¤°à¤¿à¤•"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "अरबी"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "अलà¥à¤¬à¤¾à¤¨à¤¿à¤¯à¤¨"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "असà¥"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "असà¥à¤¤à¥à¤°à¤¿à¤¯à¤¨"
+ },
+ "is": {
+ "code": "is",
+ "name": "आईसलà¤à¤¡à¤¿à¤•"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "आधà¥à¤¨à¤¿à¤• पà¥à¤°à¤®à¤¾à¤£à¤¿à¤¤ अरबी"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "आयरिश"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¨"
+ },
+ "en": {
+ "code": "en",
+ "name": "इंगà¥à¤°à¤œà¥€"
+ },
+ "id": {
+ "code": "id",
+ "name": "इंडोनेशियन"
+ },
+ "it": {
+ "code": "it",
+ "name": "इटालियन"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "इवोनà¥à¤¡à¥‹"
+ },
+ "et": {
+ "code": "et",
+ "name": "इसà¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¨"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "उइगà¥à¤°"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "उà¤à¥à¤¬à¥‡à¤•"
+ },
+ "or": {
+ "code": "or",
+ "name": "उडिया"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "उतà¥à¤¤à¤° देबेली"
+ },
+ "se": {
+ "code": "se",
+ "name": "उतà¥à¤¤à¤°à¥€ सामी"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "उरà¥à¤¦à¥‚"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "à¤à¤®à¥à¤¬à¥‚"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "à¤à¤µà¥‡"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "à¤à¤¸à¥à¤ªà¤°à¤¾à¤¨à¥à¤Ÿà¥‹"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¨ जरà¥à¤®à¤¨"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ऑसà¥à¤Ÿà¥à¤°à¥‡à¤²à¤¿à¤¯à¤¨ इंगà¥à¤°à¤œà¥€"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "कà¤à¤¾à¤•"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "कनà¥à¤¨à¤¡"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "कबाइल"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "कलालà¥à¤²à¤¿à¤¸à¤¤"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "काà¤à¤—ो सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "कातालान"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "काबवरà¥à¤¦à¤¿à¤¯à¤¾à¤¨à¥"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "कामà¥à¤¬à¤¾"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "कालेंजीन"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "काशà¥à¤®à¥€à¤°à¥€"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "किकà¥à¤¯à¥‚"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "किगा"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "किरगीà¤"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "कॅनडियन इंगà¥à¤°à¤œà¥€"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "कॅनडियन फà¥à¤°à¥‡à¤‚च"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "कोयरा चीनी"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "कोयराबोरो सेनà¥à¤¨à¥€"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "कोरियन"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¨"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "कà¥à¤µà¤¾à¤¸à¤¿à¤“"
+ },
+ "km": {
+ "code": "km",
+ "name": "खà¥à¤®à¥‡à¤°"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "गसी"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "गांडा"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "गà¥à¤œà¤°à¤¾à¤¤à¥€"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "गॅलिशियन"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "गोमà¥à¤¬à¤¾"
+ },
+ "el": {
+ "code": "el",
+ "name": "गà¥à¤°à¥€à¤•"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "चीनी"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "चेरोकी"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "जपानी"
+ },
+ "de": {
+ "code": "de",
+ "name": "जरà¥à¤®à¤¨"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "जॉरà¥à¤œà¤¿à¤¯à¤¨"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "जोला-फोंयी"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "à¤à¤¾à¤°à¥à¤®à¤¾"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "à¤à¥à¤²à¥‚"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "à¤à¥‡à¤•"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "à¤à¥‹à¤‚गखा"
+ },
+ "to": {
+ "code": "to",
+ "name": "टोंगन"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "डच"
+ },
+ "da": {
+ "code": "da",
+ "name": "डॅनिश"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "तामिळ"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "तायता"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ताशेलà¥à¤¹à¤¿à¤Ÿ"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "तासावà¥à¤¹à¤¾à¤•"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "तिगà¥à¤°à¤¿à¤¨à¥à¤¯à¤¾"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "तिबेटी"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "तà¥à¤°à¥à¤•à¥€"
+ },
+ "te": {
+ "code": "te",
+ "name": "तेलगू"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "तेसो"
+ },
+ "th": {
+ "code": "th",
+ "name": "थाई"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "नामा"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "नà¥à¤à¤°"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "नेपाळी"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "नॉरà¥à¤µà¥‡à¤œà¤¿à¤¯à¤¨ नà¥à¤¯à¥‹à¤°à¥à¤¸à¥à¤•"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "नॉरà¥à¤µà¥‡à¤œà¤¿à¤¯à¤¨ बोकमाल"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "नà¥à¤¯à¤¾à¤¨à¤•à¥‹à¤²"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "पंजाबी"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "पशà¥à¤šà¤¿à¤®à¥€ फà¥à¤°à¤¿à¤¶à¤¿à¤¯à¤¨"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "पशà¥à¤¤à¥‹"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "पारंपारिक चीनी"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "पोरà¥à¤¤à¥à¤—ीज"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "पोलिश"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "पà¥à¤°à¤®à¤¾à¤£ मोरोकà¥à¤•à¤¨ तॅमॅà¤à¤¾à¤¯à¤Ÿ"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "फरोइज"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "फारसी"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "फिनà¥à¤¨à¤¿à¤¶"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "फिलिपिनो"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "फà¥à¤²à¤¾à¤¹"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "फà¥à¤°à¤¿à¤¯à¥à¤²à¤¿à¤¯à¤¾à¤¨"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "फà¥à¤°à¥‡à¤‚च"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "फà¥à¤²à¥‡à¤®à¤¿à¤¶"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "बंगाली"
+ },
+ "my": {
+ "code": "my",
+ "name": "बरà¥à¤®à¥€"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "बलà¥à¤—ेरियन"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "बसा"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "बाफिया"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "बामà¥à¤¬à¤¾à¤°à¤¾"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "बासà¥à¤•"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "बेना"
+ },
+ "be": {
+ "code": "be",
+ "name": "बेलारà¥à¤¶à¤¿à¤¯à¤¨"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "बोडो"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¨"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "बà¥à¤°à¤¾à¤à¤¿à¤²à¤¿à¤¯à¤¨ पोरà¥à¤¤à¥à¤—ीज"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "बà¥à¤°à¤¿à¤Ÿà¤¿à¤¶ इंगà¥à¤°à¤œà¥€"
+ },
+ "br": {
+ "code": "br",
+ "name": "बà¥à¤°à¥‡à¤¤à¥‰à¤¨"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "मंगोलियन"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "मधà¥à¤¯ à¤à¤Ÿà¤²à¤¾à¤¸ तॅमॅà¤à¤¾à¤¯à¤Ÿ"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "मराठी"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "मलय"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "मलागसी"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "मलà¥à¤¯à¤¾à¤³à¤®"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "मशामे"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "मसाई"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "माकोनà¥à¤¦à¥‡"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "माखà¥à¤µà¥à¤¹à¤¾-मीटà¥à¤Ÿà¥‹"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "मालà¥à¤Ÿà¤¿à¤œà¥"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "मà¥à¤‚डांग"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "मॅसेडोनियन"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "मेकà¥à¤¸à¤¿à¤•à¤¨ सà¥à¤ªà¥…निश"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "मेरू"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "मोरिसà¥à¤¯à¥‡à¤¨"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "मोलà¥à¤¡à¤¾à¤µà¥à¤¹à¤¿à¤¯à¤¨"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "यà¥à¤•à¥à¤°à¥‡à¤¨à¤¿à¤¯à¤¨"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "यà¥à¤°à¥‹à¤ªà¤¿à¤¯à¤¨ पोरà¥à¤¤à¥à¤—ीज"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "यà¥à¤°à¥‹à¤ªà¤¿à¤¯à¤¨ सà¥à¤ªà¥…निश"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "योरà¥à¤¬à¤¾"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "रवà¥à¤¹à¤¾"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "रशियन"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "रà¥à¤¨à¥à¤¦à¥€"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "रोमानियन"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "रोमानà¥à¤¶"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "रोमà¥à¤¬à¥‹"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "लकà¥à¤à¥‡à¤‚बरà¥à¤—िश"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "लांगी"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "लाओ"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "लातà¥à¤µà¥à¤¹à¤¿à¤¯à¤¨"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "लिंगाला"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¨"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "लोअर सोरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "लà¥à¤¯à¥à¤‡à¤¯à¤¾"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "लà¥à¤¯à¥à¤“"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "लà¥à¤¯à¥‚बा-कटांगा"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "वाई"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "वà¥à¤‚जो"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "वेलà¥à¤¶"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "वà¥à¤¹à¤¿à¤à¤¤à¤¨à¤¾à¤®à¥€"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "शांबाला"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "शोना"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "सरलीकृत चीनी"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "सांगà¥"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "सांगो"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "सांबà¥à¤°à¥‚"
+ },
+ "si": {
+ "code": "si",
+ "name": "सिंहला"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "सेना"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "सोगा"
+ },
+ "so": {
+ "code": "so",
+ "name": "सोमाली"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "सà¥à¤•à¥‰à¤Ÿà¥à¤¸ गेलिक"
+ },
+ "es": {
+ "code": "es",
+ "name": "सà¥à¤ªà¥…निश"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "सà¥à¤²à¥‹à¤µà¥à¤¹à¤¾à¤•"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "सà¥à¤²à¥‹à¤µà¥à¤¹à¥‡à¤¨à¤¿à¤¯à¤¨"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "सà¥à¤µà¤¿à¤¸ जरà¥à¤®à¤¨"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "सà¥à¤µà¤¿à¤¸ फà¥à¤°à¥‡à¤‚च"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "सà¥à¤µà¤¿à¤¸ हाय जरà¥à¤®à¤¨"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "सà¥à¤µà¥€à¤¡à¤¿à¤¶"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "हंगेरियन"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "हिंदी"
+ },
+ "he": {
+ "code": "he",
+ "name": "हिबà¥à¤°à¥‚"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "हौसा"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ms.json b/library/intl/resources/language/ms.json
new file mode 100644
index 000000000..40e671ae1
--- /dev/null
+++ b/library/intl/resources/language/ms.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albania"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharic"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arab"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Arab Standard Moden"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenia"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijan"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Bahasa Melayu"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Belanda"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarus"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Benggala"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Bokmål Norway"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnia"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burma"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalonia"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Cina"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Cina Ringkas"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Cina Tradisional"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croat"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Czech"
+ },
+ "da": {
+ "code": "da",
+ "name": "Denmark"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonia"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroe"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipina"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finland"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flemish"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Frisian"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galicia"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgia"
+ },
+ "el": {
+ "code": "el",
+ "name": "Greek"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujerat"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungary"
+ },
+ "he": {
+ "code": "he",
+ "name": "Ibrani"
+ },
+ "is": {
+ "code": "is",
+ "name": "Iceland"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesia"
+ },
+ "en": {
+ "code": "en",
+ "name": "Inggeris"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Inggeris AS"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Inggeris Australia"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Inggeris British"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Inggeris Kanada"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Ireland"
+ },
+ "it": {
+ "code": "it",
+ "name": "Itali"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Jepun"
+ },
+ "de": {
+ "code": "de",
+ "name": "Jerman"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Jerman Austria"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Jerman Halus Switzerland"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Jerman Switzerland"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmir"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakhstan"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuya"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirghiz"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korea"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laos"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvia"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuania"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourg"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Malta"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldavia"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolia"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ndebele Utara"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepal"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Nynorsk Norway"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Parsi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Perancis"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Perancis Kanada"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Perancis Switzerland"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Poland"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugis"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Portugis Brazil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Portugis Eropah"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romania"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rusia"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "Sami Utara"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scots Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "es": {
+ "code": "es",
+ "name": "Sepanyol"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Sepanyol Eropah"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Sepanyol Mexico"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbia"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenia"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Sweden"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Tamazight Atlas Tengah"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Tamazight Maghribi Standard"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibet"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukraine"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbekistan"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnam"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Wales"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/mt.json b/library/intl/resources/language/mt.json
new file mode 100644
index 000000000..112c079d0
--- /dev/null
+++ b/library/intl/resources/language/mt.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albaniż"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amħariku"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenjan"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Ażerbajġani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Bask"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belarussu"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Bokmahal Norveġiż"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnijan"
+ },
+ "br": {
+ "code": "br",
+ "name": "Brenton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgaru"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmiż"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ÄŠek"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ÄŠerokij"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Ċiniż"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Ċiniż Simplifikat"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "Daniż"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dżongka"
+ },
+ "he": {
+ "code": "he",
+ "name": "Ebrajk"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonjan"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Fawriż"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filippino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finlandiż"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Franċiż"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Franċiż Kanadiż"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Franċiż Żvizzeru"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Frijuljan"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Friżjan"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulaħ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Ġappuniż"
+ },
+ "de": {
+ "code": "de",
+ "name": "Ġermaniż"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Ġorġjan"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Gallegjan"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Galliku Skoċċiż"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "Grieg"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Guġarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Għarbi"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Għarbi Standard Modern"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Ħawsa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Ħindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indoneżjan"
+ },
+ "en": {
+ "code": "en",
+ "name": "Ingliż"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Ingliż Amerikan"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Ingliż Awstraljan"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Ingliż Brittaniku"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irlandiż"
+ },
+ "is": {
+ "code": "is",
+ "name": "Iżlandiż"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Joruba"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabuljan"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalan"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kaxmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Każak"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuju"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgiż"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kmer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korejan"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroat"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvjan"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Letżburgiż"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingaljan"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Litwanjan"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luwa"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Maċedonjan"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagażi"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malajalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malajan"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Malti"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marati"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masaj"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldavjan"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongoljan"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ndebele, ta’ Fuq"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepaliż"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Ninorsk Norveġiż"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Olandiż"
+ },
+ "or": {
+ "code": "or",
+ "name": "Orija"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Paxtun"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persjan"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Pollakk"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugiż"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punġabi"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Reto-Romanz"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumen"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russu"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "Sami ta’ Fuq"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serb"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinħaliż"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovakk"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Sloven"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spanjol"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Svediż"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swaħili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "th": {
+ "code": "th",
+ "name": "Tajlandiż"
+ },
+ "it": {
+ "code": "it",
+ "name": "Taljan"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetjan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Tork"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukranjan"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ungeriż"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Użbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vjetnamiż"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welx"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Wigur"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Xona"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Żulu"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/mua.json b/library/intl/resources/language/mua.json
new file mode 100644
index 000000000..ac78db429
--- /dev/null
+++ b/library/intl/resources/language/mua.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akaŋ"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharik"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabiya"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "belarussiya"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalia"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmania"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgaria"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "Espaniya"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "de": {
+ "code": "de",
+ "name": "germaŋ"
+ },
+ "el": {
+ "code": "el",
+ "name": "grek"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haussa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hungariya"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiya"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiya"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "km": {
+ "code": "km",
+ "name": "kmer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korea"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malasiya"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "MUNDAÅŠ"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepaliya"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persia"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "PÇnjabi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Poloniya"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romaniya"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russiya"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somaliya"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Swedia"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "syekya"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamul"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turk"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainia"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamiya"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "en": {
+ "code": "en",
+ "name": "zah Anglofoŋ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "zah sÇr FranssÇ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "zah sÇr JapoÅ‹"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "zah sÇr ma kasÇÅ‹"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Zah sÇr Portugal"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "zah Syiŋ"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/my.json b/library/intl/resources/language/my.json
new file mode 100644
index 000000000..72622da2b
--- /dev/null
+++ b/library/intl/resources/language/my.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "ကနေဒါ ပြင်သစ်"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "ကနေဒါ အင်္ဂလိပ်"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "ကာá€á€¬á€œá€”်"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ကိုးရီးယား"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "ကက်ရှ်မီရီ"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "ကန္နာဒါ"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "á€á€˜á€°á€—ာဒီအာနူ"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "á€á€˜á€­á€¯á€„်လ်"
+ },
+ "km": {
+ "code": "km",
+ "name": "á€á€™á€¬"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "á€á€›á€°á€‚စ်"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "á€á€›á€­á€¯á€¡á€±á€›á€¾á€”်"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "á€á€œá€¬á€¡á€ºá€œá€®á€†á€•á€º"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "á€á€«á€‡á€«á€á€º"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "á€á€«á€œá€­á€™á€ºá€‚ျင်"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "á€á€®á€á€°á€šá€°"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "á€á€­á€¯á€›á€¬ á€á€»á€®á€¡á€®á€”ီ"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "á€á€­á€¯á€›á€¬á€˜á€­á€¯á€›á€­á€¯ ဆမ်နီ"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "á€á€™á€ºá€˜á€¬"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "á€á€»á€¬á€›á€­á€¯á€€á€®"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "á€á€»á€®á€‚ါ"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "á€á€»á€€á€º"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "á€á€½á€”်ဂို စွာဟီလီ"
+ },
+ "el": {
+ "code": "el",
+ "name": "ဂရိ"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ဂါလာစီယံ"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ဂူဂျာရသီ"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "ဂူစီး"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ဂန်ဒီ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ဂျပန်"
+ },
+ "de": {
+ "code": "de",
+ "name": "ဂျာမန်"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ဂျော်ဂျီယန်"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "ဂျိုလာ-ဖွန်ရီ"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ဂွမ်ဘာ"
+ },
+ "es": {
+ "code": "es",
+ "name": "စပိန်"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "စပိန်(ဥရောပ)"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "စလိုဗေးနီးယမ်း"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "စလိုဗက်"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "စီနာ"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ဆားဗီးယန်း"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "ဆိုဂါ"
+ },
+ "so": {
+ "code": "so",
+ "name": "ဆိုမာလီ"
+ },
+ "si": {
+ "code": "si",
+ "name": "ဆင်ဟာလ"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "ဆန်ဂု"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "ဆန်ဘူရု"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "ဆမ်ဂို"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "ဆြာဟီလီ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ဆွီဒင်"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "ဆွစ် ဂျာမန်"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "ဆွစ် ပြင်သစ်"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "ဆွစ် အမြင့် ဂျာမန်"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ဇာမာ"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ဇူလူ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "á€á€™á€®á€¸á€œá€º"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "á€á€›á€¯á€á€º"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "á€á€¬á€€á€…်"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "á€á€¬á€á€»á€šá€ºá€œá€ºá€Ÿá€…်"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "á€á€¬á€†á€¬á€á€«á€á€º"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "á€á€­á€˜á€€á€º"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "á€á€®á€†á€­á€¯"
+ },
+ "te": {
+ "code": "te",
+ "name": "á€á€®á€œá€®á€‚ု"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "á€á€®á€‚်ရင်ရာ"
+ },
+ "se": {
+ "code": "se",
+ "name": "á€á€±á€¬á€„်ဆာမိ"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "á€á€±á€¬á€„်ဒီဘီလီ"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "á€á€­á€¯á€„်á€á€¬"
+ },
+ "to": {
+ "code": "to",
+ "name": "á€á€½á€”်ဂါ"
+ },
+ "th": {
+ "code": "th",
+ "name": "ထိုင်း"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ဒá€á€ºá€á€»á€º"
+ },
+ "da": {
+ "code": "da",
+ "name": "ဒိန်းမá€á€º"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ဒွန်ကာ"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "နာမာ"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "နီပါလီ"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "နူအာ"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "နော်á€á€±á€¸ နီးနော်စ်á€á€º"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ပါရှန်"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "ပါရှ်á€á€­á€¯"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ပေါ်á€á€°á€‚ီ"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ပိုလန်"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ပန်á€á€»á€¬á€•á€®"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ပြင်သစ်"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ဖလီမစ်ရှ်"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ဖာရိုအိစ်"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ဖိလစ်ပီနို"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ဖင်နစ်ရှ်"
+ },
+ "my": {
+ "code": "my",
+ "name": "ဗမာ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ဗီယက်နမ်"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "ဗိုဒို"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ဗိုင်"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ဗန်ဂျို"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "ဗြိá€á€­á€žá€»á€¾ အင်္ဂလိပ်"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "ဘရာဇီး ပေါ်á€á€°á€‚ီ"
+ },
+ "br": {
+ "code": "br",
+ "name": "ဘရီá€á€½á€”်"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "ဘာဆာ"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "ဘာဖီအာ"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "ဘီနာ"
+ },
+ "be": {
+ "code": "be",
+ "name": "ဘီလာရု"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ဘူဂေးရီးယား"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "ဘော့စ်နီးယား"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ဘင်္ဂါလီ"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "ဘစ်က္ကီ"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ဘန်ဘာရာ"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "ဘွá€á€ºá€™á€±á€¬á€ºá€œá€º"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "မá€á€»á€¬á€™á€®"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "မလေး"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "မလေးရာလမ်"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "မာá€á€°á€á€«-မီအီá€á€­á€¯"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "မာá€á€½á€”်ဒီ"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "မာစီဒိုနီယံ"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "မာဆိုင်"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "မာရသီ"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "မီရု"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "မိုရိုကန် á€á€½á€™á€ºá€™á€‡á€­á€¯á€á€º စံ"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "မိုရှီစ်ယန်း"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "မန်ဒန်း"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "မောလ္á€á€®á€…်"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "မွန်ဂိုလီးယန်း"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ယူကရိန်း"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ယန်ကိုလီ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ရုရှ"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ရောမ"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ရိုမေနီယား"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ရိုရုဘာ"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ရိုးရှင်းသော á€á€›á€¯á€á€º"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "ရွန်ဒီ"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ရွမ်ဘို"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ရှိနာ"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ရှေးရိုးစဉ်လာ á€á€›á€¯á€á€º"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "ရှန်ဘာလာ"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "လာအို"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "လူဇင်ဘá€á€ºá€€á€º"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "လူဘာ-á€á€«á€á€”်ဂါ"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "လူရီအာ"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "လူအို"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "လက္ဘီအံ"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "လင်ဂါလာ"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "လစ္သူအာနီယံ"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "လန်ဂီ"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "á€á€«"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "á€á€«á€†á€®á€¡á€­á€¯"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "á€á€®"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "á€á€®á€‚ါ"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "á€á€±á€œ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ဟာဥစာ"
+ },
+ "he": {
+ "code": "he",
+ "name": "ဟီးဘရူး"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ဟန်ဂေရီ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ဟိန္ဒီ"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "အနောက်ပိုင်း ဖရီစီရန်"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "အပေါ်ဆိုဘီအမ်"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "အမေရိကန် အင်္ဂလိပ်"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "အရေဗီ(ပုံမှန်)"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "အလယ်အက်á€á€ºá€œá€€á€ºá€…် á€á€¬á€™á€¬á€‡á€­á€¯á€€á€º"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "အာကိန်"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "အာစု"
+ },
+ "af": {
+ "code": "af",
+ "name": "အာဖရိကန်းစ်"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "အာမေနီအန်"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "အာရေဗီ"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "အာလာဂါစီ"
+ },
+ "it": {
+ "code": "it",
+ "name": "အီá€á€œá€®"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ဥရောပ ပေါ်á€á€°á€‚ီ"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ဦးဇ်ဘက်"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ဩစá€á€¼á€®á€¸á€š ဂျာမန်"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ဩစá€á€¼á€±á€¸á€œá€»á€¾ အင်္ဂလိပ်"
+ },
+ "az": {
+ "code": "az",
+ "name": "အော်ဇောဘိုင်ဂျောနီ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "အော်ဒူ"
+ },
+ "or": {
+ "code": "or",
+ "name": "အိုရီရာ"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "အက္စပရန္á€á€­á€¯"
+ },
+ "et": {
+ "code": "et",
+ "name": "အက်စ်á€á€­á€¯á€¸á€”ီးရန်း"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "အောက်ဆိုဘီအမ်"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "အာဂ်ဟိန်း"
+ },
+ "en": {
+ "code": "en",
+ "name": "အင်္ဂလိပ်"
+ },
+ "id": {
+ "code": "id",
+ "name": "အင်ဒိုနီးရှား"
+ },
+ "is": {
+ "code": "is",
+ "name": "အိုင်စ်လန္ဒီ"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "အိုင်းရစ်"
+ },
+ "am": {
+ "code": "am",
+ "name": "အန်ဟာရစျá€á€»"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "အမ်ဘူ"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "အယ်လ်ဘေးနီးယန်း"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/naq.json b/library/intl/resources/language/naq.json
new file mode 100644
index 000000000..32c77cf2e
--- /dev/null
+++ b/library/intl/resources/language/naq.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akangowab"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharicgowab"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ArabiÇî gowab"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "BelarusanÇî gowab"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "BengaliÇî gowab"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "BulgariaÇî gowab"
+ },
+ "my": {
+ "code": "my",
+ "name": "BurmesÇî gowab"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ChineesÇî gowab, Mandarinni"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "CzechÇî gowab"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "de": {
+ "code": "de",
+ "name": "Duits"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "en": {
+ "code": "en",
+ "name": "Engels"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Frans"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausagowab"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindigowab"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Hollands"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "HungariaÇî gowab"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "IndonesiaÇî gowab"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italians"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japanees"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "KhmerÇî gowab, Central"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Khoekhoegowab"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "KoreaÇî gowab"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "MalayÇî gowab"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "NepalÇî gowab"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "PersiaÇî gowab"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "PoleÇî gowab"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugees"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabigowab"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "RomaniaÇî gowab"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "RussiaÇî gowab"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "SomaliÇî gowab"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spaans"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "SwedeÇî gowab"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "TamilÇî gowab"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "ThaiÇî gowab"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "TurkeÇî gowab"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "UkrainiaÇî gowab"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "UrduÇî gowab"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "VietnamÇî gowab"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Xriks"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yorubab"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulub"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/nb.json b/library/intl/resources/language/nb.json
new file mode 100644
index 000000000..6aae6016a
--- /dev/null
+++ b/library/intl/resources/language/nb.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albansk"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "amerikansk engelsk"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharisk"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabisk"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armensk"
+ },
+ "az": {
+ "code": "az",
+ "name": "aserbajdsjansk"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturisk"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "australsk engelsk"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskisk"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnisk"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brasiliansk portugisisk"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonsk"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "britisk engelsk"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgarsk"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmesisk"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "canadisk engelsk"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "canadisk fransk"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokesisk"
+ },
+ "da": {
+ "code": "da",
+ "name": "dansk"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "en": {
+ "code": "en",
+ "name": "engelsk"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estisk"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "europeisk portugisisk"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "europeisk spansk"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippinsk"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finsk"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamsk"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "forenklet kinesisk"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "fransk"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friuliansk"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulani"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "færøysk"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galisisk"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgisk"
+ },
+ "el": {
+ "code": "el",
+ "name": "gresk"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grønlandsk"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraisk"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "be": {
+ "code": "be",
+ "name": "hviterussisk"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "høysorbisk"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesisk"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irsk"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandsk"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiensk"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japansk"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "joruba"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabylsk"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kappverdisk"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kasakhisk"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kasjmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalansk"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "kiembu"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "kiga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kinesisk"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgisisk"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "kongolesisk swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreansk"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroatisk"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kølnsk"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laotisk"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latvisk"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "lavsorbisk"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litauisk"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhya"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgsk"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "madagassisk"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonsk"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayisk"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltesisk"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "mauritisk-kreolsk"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "meksikansk spansk"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "moderne standard arabisk"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldovsk"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolsk"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nederlandsk"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "nord-ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "nordsamisk"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norsk bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norsk nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persisk"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polsk"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugisisk"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabi"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromansk"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumensk"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russisk"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "sentralmarokkansk tamazight"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbisk"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalesisk"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "skotsk gælisk"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakisk"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovensk"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "spansk"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "standard marrokansk tamazight"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "sveitsertysk"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "sveitsisk fransk"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "sveitsisk høytysk"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svensk"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilsk"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetansk"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongansk"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "tradisjonell kinesisk"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tsjekkisk"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "tyrkisk"
+ },
+ "de": {
+ "code": "de",
+ "name": "tysk"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigurisk"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainsk"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungarsk"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbekisk"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "vestfrisisk"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamesisk"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "walisisk"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "østerriksk tysk"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/nd.json b/library/intl/resources/language/nd.json
new file mode 100644
index 000000000..47ba48cab
--- /dev/null
+++ b/library/intl/resources/language/nd.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "isi-Akhani"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "isi-Alabhu"
+ },
+ "am": {
+ "code": "am",
+ "name": "isi-Amaharikhi"
+ },
+ "be": {
+ "code": "be",
+ "name": "isi-Bhelarashiyani"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "isi-Bhengali"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "isi-Bulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "isi-Burma"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "isi-China"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "isi-Czech"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "isi-Dutch"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "isi-Fulentshi"
+ },
+ "el": {
+ "code": "el",
+ "name": "isi-Giliki"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "isi-Hangari"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "isi-Hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "isi-Hindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "isi-Indonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "isi-Italiano"
+ },
+ "de": {
+ "code": "de",
+ "name": "isi-Jalimani"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "isi-Japhani"
+ },
+ "km": {
+ "code": "km",
+ "name": "isi-Khambodiya"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "isi-Koriya"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "isi-Malayi"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "isi-Nepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "isi-Ngisi"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "isi-Pheshiyani"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "isi-Pholoshi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "isi-Phunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "isi-Potukezi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "isi-Rashiya"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "isi-Romani"
+ },
+ "es": {
+ "code": "es",
+ "name": "isi-Sipeyini"
+ },
+ "so": {
+ "code": "so",
+ "name": "isi-Somali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "isi-Swidishi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "isi-Thamil"
+ },
+ "th": {
+ "code": "th",
+ "name": "isi-Thayi"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "isi-Thekishi"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "isi-Udu"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "isi-Ukrain"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "isi-Vietnamese"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "isi-Yorubha"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "isi-Zulu"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "isiNdebele"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ne-IN.json b/library/intl/resources/language/ne-IN.json
new file mode 100644
index 000000000..fec54a95f
--- /dev/null
+++ b/library/intl/resources/language/ne-IN.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "en": {
+ "code": "en",
+ "name": "अंगà¥à¤°à¥‡à¤œà¥€"
+ },
+ "az": {
+ "code": "az",
+ "name": "अजरबैजानी"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "अधà¥à¤¨à¤¿à¤• पà¥à¤°à¤®à¤¾à¤£à¤¿à¤• अरबी"
+ },
+ "af": {
+ "code": "af",
+ "name": "अफà¥à¤°à¤¿à¤•à¤¾à¤¨à¥à¤¸"
+ },
+ "am": {
+ "code": "am",
+ "name": "अमà¥à¤¹à¤¾à¤°à¤¿à¤•"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "अरबी"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "अलà¥à¤¬à¥‡à¤¨à¤¿à¤¯à¤¨"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "अषà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¨ जरà¥à¤®à¤¨"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "आइरिश"
+ },
+ "is": {
+ "code": "is",
+ "name": "आइसलà¥à¤¯à¤¾à¤¨à¥à¤¡à¤¿à¤•"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "आकान"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "आघेम"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "आसà¥"
+ },
+ "it": {
+ "code": "it",
+ "name": "इटालियन"
+ },
+ "id": {
+ "code": "id",
+ "name": "इनà¥à¤¡à¥‹à¤¨à¥‡à¤¸à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "इवि"
+ },
+ "et": {
+ "code": "et",
+ "name": "इसà¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "उइघà¥à¤°"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "उजà¥à¤¬à¥‡à¤•à¥€"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "उतà¥à¤¤à¤° नेडेबेले"
+ },
+ "se": {
+ "code": "se",
+ "name": "उतà¥à¤¤à¤°à¥€ सामी"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "उरà¥à¤¦à¥"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "à¤à¤®à¥à¤¬à¥"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "à¤à¤¸à¥à¤ªà¥‡à¤°à¤¾à¤¨à¥à¤¤à¥‹"
+ },
+ "or": {
+ "code": "or",
+ "name": "ओरिया"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "कनà¥à¤¨à¤¾à¤¡à¤¾"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "काजाख"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "काबिल"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "काबà¥à¤­à¥‡à¤°à¥à¤¡à¤¿à¤¯à¤¾à¤¨à¥"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "कामà¥à¤¬à¤¾"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "कालालिसà¥à¤Ÿ"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "कालेनà¥à¤œà¤¿à¤¨"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "काशà¥à¤®à¥€à¤°à¥€"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "किकà¥à¤¯à¥"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "किरà¥à¤—िज"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "केनà¥à¤¦à¥à¤°à¥€à¤¯ à¤à¤Ÿà¥à¤²à¤¾à¤¸ टामाजिघट"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "कोङà¥à¤—ो सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "कोयरा चिनी"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "कोयराबोरो सेनà¥à¤¨à¥€"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "कोरियाली"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "कà¥à¤¯à¤¾à¤Ÿà¤¾à¤²à¤¨"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "कà¥à¤µà¤¾à¤¸à¤¿à¤¯à¥‹"
+ },
+ "km": {
+ "code": "km",
+ "name": "खमेर"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "गलिसियाली"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "गानà¥à¤¡à¤¾"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "गà¥à¤œà¤°à¤¾à¤¤à¥€"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "गà¥à¤¸à¥€"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "गोमà¥à¤¬à¤¾"
+ },
+ "el": {
+ "code": "el",
+ "name": "गà¥à¤°à¥€à¤•"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "चिगा"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "चिनियाà¤"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "चेक"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "चेरोकी"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "जरà¥à¤œà¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "de": {
+ "code": "de",
+ "name": "जरà¥à¤®à¤¨"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "जरà¥à¤®à¤¾"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "जापानी"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "जà¥à¤²à¥"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "जोङà¥à¤–ा"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "जोला-फोनिल"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "टरà¥à¤•à¤¿à¤¶"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "टाचेलà¥à¤¹à¤¿à¤Ÿ"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "टेसो"
+ },
+ "to": {
+ "code": "to",
+ "name": "टोङà¥à¤—न"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "डच"
+ },
+ "da": {
+ "code": "da",
+ "name": "डेनिश"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "तलà¥à¤²à¥‹ सोरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "ताइता"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "तामिल"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "तासावाक"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "तिगà¥à¤°à¥€à¤¨à¥à¤¯à¤¾"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "तिबà¥à¤¬à¤¤à¥€"
+ },
+ "te": {
+ "code": "te",
+ "name": "तेलà¥à¤—à¥"
+ },
+ "th": {
+ "code": "th",
+ "name": "थाई"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "नरà¥à¤µà¥‡à¤²à¥€ नाइनोरà¥à¤¸à¥à¤•"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "नरà¥à¤µà¥‡à¤²à¥€ बोकमाल"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "नामा"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "नà¥à¤à¤°"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "नेपाली"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "नà¥à¤¯à¤¾à¤¨à¥à¤•à¥‹à¤²"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "पंजाबी"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "परमà¥à¤ªà¤°à¤¾à¤—त चिनियाà¤"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "पाशà¥à¤¤à¥‹"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "पोरà¥à¤¤à¥à¤—ी"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "पोरà¥à¤¤à¥à¤—ी (यà¥à¤°à¥‹à¤ª)"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "पोलिश"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "फारसी"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "फारोज"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "फिनिश"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "फिलिपिनी"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "फà¥à¤°à¤¾à¤¨à¥à¤¸à¥‡à¤²à¥€"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "फà¥à¤°à¤¿à¤œà¥€à¤¯à¤¨"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "फà¥à¤²à¥‡à¤®à¤¿à¤¶"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "बंगाली"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "बाफिया"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "बामà¥à¤¬à¤¾à¤°à¤¾"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "बासà¥à¤•"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "बà¥à¤²à¥à¤—ेरियाली"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "बेना"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "बोडो"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "br": {
+ "code": "br",
+ "name": "बà¥à¤°à¥‡à¤Ÿà¤¨"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "भाइ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "भियतनामी"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "भà¥à¤¨à¥à¤œà¥‹"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "मंगोल"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "मराठी"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "मलयालम"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "मलागासी"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "मलाया"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "माकोनà¥à¤¡à¥‡"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "माखà¥à¤µà¤¾-मिटà¥à¤Ÿà¥‹"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "माचामे"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "माथिलà¥à¤²à¥‹ सोरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "मानक मोरोकà¥à¤•à¥‹à¤¨ तामाजिघट"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "मालà¥à¤Ÿà¤¿à¤œ"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "मालà¥à¤¡à¤¾à¤­à¤¿à¤¯à¤¨"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "मासाल"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "मà¥à¤¨à¥à¤¡à¤¾à¤™"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "मेरू"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "मोरिसेन"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "मà¥à¤¯à¤¾à¤•à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¨"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "यà¥à¤•à¥à¤°à¥‡à¤¨à¥€"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "यà¥à¤°à¥‹à¤ªà¥‡à¤²à¥€ सà¥à¤ªà¥‡à¤¨à¤¿à¤¸"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "योरूवा"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "रूणà¥à¤¡à¥€"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "रूसी"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "रोमानियाली"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "रोमानिश"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "रोमà¥à¤¬à¥‹"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "रà¥â€Œà¤µà¤¾"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "लकà¥à¤œà¥‡à¤®à¥à¤¬à¤°à¥à¤—िस"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "लाओ"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "लाङà¥à¤—ी"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "लातà¥à¤­à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "लिंगाला"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "लà¥à¤‡à¤¯à¤¾"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "लà¥à¤“"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "लà¥à¤¬à¤¾-काताङà¥à¤—ा"
+ },
+ "my": {
+ "code": "my",
+ "name": "वरà¥à¤®à¥‡à¤²à¥€"
+ },
+ "be": {
+ "code": "be",
+ "name": "वेलारूसी"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "वेलà¥à¤¶"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "शामà¥à¤¬à¤¾à¤²à¤¾"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "शोना"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "सरलिकृत चिनियाà¤"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "साङà¥à¤—à¥"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "साङà¥à¤—ो"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "सामà¥à¤¬à¥à¤°à¥‚"
+ },
+ "si": {
+ "code": "si",
+ "name": "सिनà¥à¤¹à¤¾à¤²à¤¾"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "सेना"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "सोगा"
+ },
+ "so": {
+ "code": "so",
+ "name": "सोमाली"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "सà¥à¤•à¤Ÿà¥à¤¸ गाà¤à¤²à¤¿à¤•"
+ },
+ "es": {
+ "code": "es",
+ "name": "सà¥à¤ªà¥‡à¤¨à¤¿à¤¸"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "सà¥à¤²à¥‹à¤­à¤¾à¤•à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "सà¥à¤²à¥‹à¤­à¥‡à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "सà¥à¤µà¤¿à¤¡à¤¿à¤¶"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "सà¥à¤µà¥€à¤¸ जरà¥à¤®à¤¨"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "सà¥à¤µà¥€à¤¸ हाई जरà¥à¤®à¤¨"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "हंगà¥à¤°à¥€à¤¯à¤¾à¤²à¥€"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "हाउसा"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "हिनà¥à¤¦à¥€"
+ },
+ "he": {
+ "code": "he",
+ "name": "हिबà¥à¤°à¥"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ne.json b/library/intl/resources/language/ne.json
new file mode 100644
index 000000000..41f8c3a62
--- /dev/null
+++ b/library/intl/resources/language/ne.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "en": {
+ "code": "en",
+ "name": "अंगà¥à¤°à¥‡à¤œà¥€"
+ },
+ "az": {
+ "code": "az",
+ "name": "अजरबैजानी"
+ },
+ "af": {
+ "code": "af",
+ "name": "अफà¥à¤°à¤¿à¤•à¤¾à¤¨à¥à¤¸"
+ },
+ "am": {
+ "code": "am",
+ "name": "अमà¥à¤¹à¤¾à¤°à¤¿à¤•"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "अरबी"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "अलà¥à¤¬à¥‡à¤¨à¤¿à¤¯à¤¨"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "अषà¥à¤Ÿà¥à¤°à¤¿à¤¯à¤¨ जरà¥à¤®à¤¨"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "आइरिश"
+ },
+ "is": {
+ "code": "is",
+ "name": "आइसलà¥à¤¯à¤¾à¤¨à¥à¤¡à¤¿à¤•"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "आकान"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "आघेम"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "आधà¥à¤¨à¤¿à¤• मानक अरबी"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "आरà¥à¤®à¥‡à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "आसà¥"
+ },
+ "it": {
+ "code": "it",
+ "name": "इटालियन"
+ },
+ "id": {
+ "code": "id",
+ "name": "इनà¥à¤¡à¥‹à¤¨à¥‡à¤¸à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "इवि"
+ },
+ "et": {
+ "code": "et",
+ "name": "इसà¥à¤Ÿà¥‹à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "उइघà¥à¤°"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "उजà¥à¤¬à¥‡à¤•à¥€"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "उतà¥à¤¤à¤° नेडेबेले"
+ },
+ "se": {
+ "code": "se",
+ "name": "उतà¥à¤¤à¤°à¥€ सामी"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "उरà¥à¤¦à¥"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "à¤à¤®à¥à¤¬à¥"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "à¤à¤¸à¥à¤ªà¥‡à¤°à¤¾à¤¨à¥à¤¤à¥‹"
+ },
+ "or": {
+ "code": "or",
+ "name": "ओरिया"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "कनà¥à¤¨à¤¾à¤¡à¤¾"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "काजाख"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "काबिल"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "काबà¥à¤­à¥‡à¤°à¥à¤¡à¤¿à¤¯à¤¾à¤¨à¥"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "कामà¥à¤¬à¤¾"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "कालालिसà¥à¤Ÿ"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "कालेनà¥à¤œà¤¿à¤¨"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "काशà¥à¤®à¥€à¤°à¥€"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "किकà¥à¤¯à¥"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "किरà¥à¤—िज"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "केनà¥à¤¦à¥à¤°à¥€à¤¯ à¤à¤Ÿà¥à¤²à¤¾à¤¸ टामाजिघट"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "कोङà¥à¤—ो सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "कोयरा चिनी"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "कोयराबोरो सेनà¥à¤¨à¥€"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "कोरियाली"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "कà¥à¤¯à¤¾à¤Ÿà¤¾à¤²à¤¨"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "कà¥à¤°à¥‹à¤à¤¶à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "कà¥à¤µà¤¾à¤¸à¤¿à¤¯à¥‹"
+ },
+ "km": {
+ "code": "km",
+ "name": "खमेर"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "गलिसियाली"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "गानà¥à¤¡à¤¾"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "गà¥à¤œà¤°à¤¾à¤¤à¥€"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "गà¥à¤¸à¥€"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "गोमà¥à¤¬à¤¾"
+ },
+ "el": {
+ "code": "el",
+ "name": "गà¥à¤°à¥€à¤•"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "चिगा"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "चिनियाà¤"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "चेक"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "चेरोकी"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "जरà¥à¤œà¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "de": {
+ "code": "de",
+ "name": "जरà¥à¤®à¤¨"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "जरà¥à¤®à¤¾"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "जापानी"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "जà¥à¤²à¥"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "जोङà¥à¤–ा"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "जोला-फोनिल"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "टरà¥à¤•à¤¿à¤¶"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "टाचेलà¥à¤¹à¤¿à¤Ÿ"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "टेसो"
+ },
+ "to": {
+ "code": "to",
+ "name": "टोङà¥à¤—न"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "डच"
+ },
+ "da": {
+ "code": "da",
+ "name": "डेनिश"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "तलà¥à¤²à¥‹ सोरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "ताइता"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "तामिल"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "तासावाक"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "तिगà¥à¤°à¥€à¤¨à¥à¤¯à¤¾"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "तिबà¥à¤¬à¤¤à¥€"
+ },
+ "te": {
+ "code": "te",
+ "name": "तेलà¥à¤—à¥"
+ },
+ "th": {
+ "code": "th",
+ "name": "थाई"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "नरà¥à¤µà¥‡à¤²à¥€ नाइनोरà¥à¤¸à¥à¤•"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "नरà¥à¤µà¥‡à¤²à¥€ बोकमाल"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "नामा"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "नà¥à¤à¤°"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "नेपाली"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "नà¥à¤¯à¤¾à¤¨à¥à¤•à¥‹à¤²"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "पंजाबी"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "परमà¥à¤ªà¤°à¤¾à¤—त चिनियाà¤"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "पाशà¥à¤¤à¥‹"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "पोरà¥à¤¤à¥à¤—ी"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "पोरà¥à¤¤à¥à¤—ी (यà¥à¤°à¥‹à¤ª)"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "पोलिश"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "फारसी"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "फारोज"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "फिनिश"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "फिलिपिनी"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "फà¥à¤°à¤¾à¤¨à¥à¤¸à¥‡à¤²à¥€"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "फà¥à¤°à¤¿à¤œà¥€à¤¯à¤¨"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "फà¥à¤²à¥‡à¤®à¤¿à¤¶"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "बंगाली"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "बाफिया"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "बामà¥à¤¬à¤¾à¤°à¤¾"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "बासà¥à¤•"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "बà¥à¤²à¥à¤—ेरियाली"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "बेना"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "बोडो"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "बोसà¥à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "br": {
+ "code": "br",
+ "name": "बà¥à¤°à¥‡à¤Ÿà¤¨"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "भाइ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "भियतनामी"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "भà¥à¤¨à¥à¤œà¥‹"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "मंगोल"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "मराठी"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "मलयालम"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "मलागासी"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "मलाया"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "माकोनà¥à¤¡à¥‡"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "माखà¥à¤µà¤¾-मिटà¥à¤Ÿà¥‹"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "माचामे"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "माथिलà¥à¤²à¥‹ सोरà¥à¤¬à¤¿à¤¯à¤¨"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "मानक मोरोकà¥à¤•à¥‹à¤¨ तामाजिघट"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "मालà¥à¤Ÿà¤¿à¤œ"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "मालà¥à¤¡à¤¾à¤­à¤¿à¤¯à¤¨"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "मासाल"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "मà¥à¤¨à¥à¤¡à¤¾à¤™"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "मेरू"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "मोरिसेन"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "मà¥à¤¯à¤¾à¤•à¥‡à¤¡à¥‹à¤¨à¤¿à¤¯à¤¨"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "यà¥à¤•à¥à¤°à¥‡à¤¨à¥€"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "यà¥à¤°à¥‹à¤ªà¥‡à¤²à¥€ सà¥à¤ªà¥‡à¤¨à¤¿à¤¸"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "योरूवा"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "रूणà¥à¤¡à¥€"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "रूसी"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "रोमानियाली"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "रोमानिश"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "रोमà¥à¤¬à¥‹"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "रà¥â€Œà¤µà¤¾"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "लकà¥à¤œà¥‡à¤®à¥à¤¬à¤°à¥à¤—िस"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "लाओ"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "लाङà¥à¤—ी"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "लातà¥à¤­à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "लिंगाला"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "लिथà¥à¤†à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "लà¥à¤‡à¤¯à¤¾"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "लà¥à¤“"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "लà¥à¤¬à¤¾-काताङà¥à¤—ा"
+ },
+ "my": {
+ "code": "my",
+ "name": "वरà¥à¤®à¥‡à¤²à¥€"
+ },
+ "be": {
+ "code": "be",
+ "name": "वेलारूसी"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "वेलà¥à¤¶"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "शामà¥à¤¬à¤¾à¤²à¤¾"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "शोना"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "सरलिकृत चिनियाà¤"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "सरà¥à¤¬à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "साङà¥à¤—à¥"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "साङà¥à¤—ो"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "सामà¥à¤¬à¥à¤°à¥‚"
+ },
+ "si": {
+ "code": "si",
+ "name": "सिनà¥à¤¹à¤¾à¤²à¤¾"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "सेना"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "सोगा"
+ },
+ "so": {
+ "code": "so",
+ "name": "सोमाली"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "सà¥à¤•à¤Ÿà¥à¤¸ गाà¤à¤²à¤¿à¤•"
+ },
+ "es": {
+ "code": "es",
+ "name": "सà¥à¤ªà¥‡à¤¨à¤¿à¤¸"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "सà¥à¤²à¥‹à¤­à¤¾à¤•à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "सà¥à¤²à¥‹à¤­à¥‡à¤¨à¤¿à¤¯à¤¾à¤²à¥€"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "सà¥à¤µà¤¾à¤¹à¤¿à¤²à¥€"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "सà¥à¤µà¤¿à¤¡à¤¿à¤¶"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "सà¥à¤µà¥€à¤¸ जरà¥à¤®à¤¨"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "सà¥à¤µà¥€à¤¸ हाई जरà¥à¤®à¤¨"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "हंगà¥à¤°à¥€à¤¯à¤¾à¤²à¥€"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "हाउसा"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "हिनà¥à¤¦à¥€"
+ },
+ "he": {
+ "code": "he",
+ "name": "हिबà¥à¤°à¥"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/nl.json b/library/intl/resources/language/nl.json
new file mode 100644
index 000000000..4edb00b29
--- /dev/null
+++ b/library/intl/resources/language/nl.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanees"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Amerikaans Engels"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amhaars"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabisch"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armeens"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturisch"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Australisch Engels"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbeidzjaans"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Baskisch"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengaals"
+ },
+ "my": {
+ "code": "my",
+ "name": "Birmaans"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnisch"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Braziliaans Portugees"
+ },
+ "br": {
+ "code": "br",
+ "name": "Bretons"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Brits Engels"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgaars"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Canadees Engels"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Canadees Frans"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalaans"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chinees"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "Deens"
+ },
+ "de": {
+ "code": "de",
+ "name": "Duits"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "Engels"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estisch"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Europees Portugees"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Europees Spaans"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faeröers"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipijns"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Fins"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Frans"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Fries"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulisch"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galicisch"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgisch"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Gikuyu"
+ },
+ "el": {
+ "code": "el",
+ "name": "Grieks"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Groenlands"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebreeuws"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hongaars"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Iers"
+ },
+ "is": {
+ "code": "is",
+ "name": "IJslands"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesisch"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italiaans"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japans"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kaapverdisch Creools"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabylisch"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kasjmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazachs"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgizisch"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Kirundi"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Kölsch"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreaans"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroatisch"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laotiaans"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Lets"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Litouws"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Luganda"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxemburgs"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Maa"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonisch"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagassisch"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Maleis"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltees"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Mexicaans Spaans"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "modern standaard Arabisch"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongools"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Nederlands"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Nedersorbisch"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepalees"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Ngumba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Noord-Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Noord-Samisch"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Noors - Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Noors - Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Odia"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Oeigoers"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Oekraïens"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Oezbeeks"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Oostenrijks Duits"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Oppersorbisch"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pasjtoe"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Perzisch"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Pools"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugees"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjabi"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Reto-Romaans"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Roemeens"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Russisch"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Schots-Gaelisch"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Servisch"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Singalees"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Sloveens"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slowaaks"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somalisch"
+ },
+ "es": {
+ "code": "es",
+ "name": "Spaans"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standaard Marokkaanse Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Tamazight (Centraal-Marokko)"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tashelhiyt"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thais"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetaans"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongaans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "traditioneel Chinees"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tsjechisch"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turks"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "vereenvoudigd Chinees"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamees"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Vlaams"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "be": {
+ "code": "be",
+ "name": "Wit-Russisch"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zoeloe"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Zweeds"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Zwitserduits"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Zwitsers Frans"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Zwitsers Hoogduits"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/nmg.json b/library/intl/resources/language/nmg.json
new file mode 100644
index 000000000..25d4d1776
--- /dev/null
+++ b/library/intl/resources/language/nmg.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Fala"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "de": {
+ "code": "de",
+ "name": "Jáman"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiɛl akan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiɛl amaria"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiɛl b’árabe"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kiɛl b’indien"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "KiÉ›l b’ɔÌngrois"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiɛl b’ukrɛ̄nien"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kiɛl belarussie"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kiɛl bengalia"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiɛl birmania"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kiɛl bó chinois"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kiɛl bó grɛk"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kiɛl bó japonɛ̌"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kiɛl bó mɛr"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kiɛl bó pɔ̄rtugɛ̂"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiɛl bó rumɛ̂n"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiɛl bó suedois"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kiɛl bó tchɛk"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kiɛl bó turk"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiɛl bóllandais"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kiɛl bulgaria"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiɛl indonesie"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiɛl italia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kiɛl koré"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "KiÉ›l Malɛ̌siÄ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kiɛl máwúsá"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kiɛl nepal"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kiɛl pɛndjabi"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiɛl pɛrsia"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kiɛl pɔlɔŋe"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kiɛl russia"
+ },
+ "so": {
+ "code": "so",
+ "name": "KiÉ›l somaliÄ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kiɛl tamul"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kiɛl thaï"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiɛl úrdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kiɛl viɛtnam"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "en": {
+ "code": "en",
+ "name": "Ngɛ̄lɛ̄n"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "es": {
+ "code": "es",
+ "name": "Paŋá"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yorúbâ"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/nn.json b/library/intl/resources/language/nn.json
new file mode 100644
index 000000000..f4f34a101
--- /dev/null
+++ b/library/intl/resources/language/nn.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albansk"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharisk"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabisk"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armensk"
+ },
+ "az": {
+ "code": "az",
+ "name": "aserbajdsjansk"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturisk"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu (Tanzania)"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "austerriksk tysk"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "australisk engelsk"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskisk"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena (Tanzania)"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmål"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosnisk"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brasiliansk portugisisk"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonsk"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "britisk engelsk"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgarsk"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmesisk"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "dansk"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "en": {
+ "code": "en",
+ "name": "engelsk"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "engelsk (amerikansk)"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estisk"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "europeisk portugisisk"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippinsk"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finsk"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamsk"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "forenkla kinesisk"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "fransk"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friuliansk"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulani"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "færøysk"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicisk"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgisk"
+ },
+ "el": {
+ "code": "el",
+ "name": "gresk"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraisk"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "høgsorbisk"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "iberisk spansk"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesisk"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irsk"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandsk"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiensk"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japansk"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "joruba"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabylsk"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaallisut; grønlandsk"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadisk engelsk"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadisk fransk"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kapverdisk"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kasakhisk"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kasjmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalansk"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "kiembu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kinesisk"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgisisk"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreansk"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroatisk"
+ },
+ "be": {
+ "code": "be",
+ "name": "kviterussisk"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laotisk"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latvisk"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litauisk"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgsk"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "lågsorbisk"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "madagassisk"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonsk"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malayisk"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltesisk"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavisk"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolsk"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nederlandsk"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalsk"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "nord-ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "nordsamisk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "olulujia"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persisk"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polsk"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugisisk"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromansk"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumensk"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russisk"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbisk"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalesisk"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "skotsk-gælisk"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakisk"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovensk"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "spansk"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "sveitsertysk"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "sveitsisk fransk"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "sveitsisk høgtysk"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svensk"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetansk"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga (Tonga-øyane)"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "tradisjonell kinesisk"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tsjekkisk"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "tyrkisk"
+ },
+ "de": {
+ "code": "de",
+ "name": "tysk"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigurisk"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainsk"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungarsk"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbekisk"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "vestfrisisk"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamesisk"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "walisisk"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/nus.json b/library/intl/resources/language/nus.json
new file mode 100644
index 000000000..00feca205
--- /dev/null
+++ b/library/intl/resources/language/nus.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Thok aka̱ni"
+ },
+ "be": {
+ "code": "be",
+ "name": "Thok bälärutha"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Thok bälga̱a̱riani"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Thok bängali"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Thok betnaamni"
+ },
+ "my": {
+ "code": "my",
+ "name": "Thok bormi̱thni"
+ },
+ "am": {
+ "code": "am",
+ "name": "Thok bunyni"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Thok cayna"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Thok cik"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Thok da̱c"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Thok dhuluni"
+ },
+ "el": {
+ "code": "el",
+ "name": "Thok girikni"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Thok ɣändini"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Thok ɣänga̱a̱riɛni"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Thok ɣowthani"
+ },
+ "id": {
+ "code": "id",
+ "name": "Thok indunithiani"
+ },
+ "it": {
+ "code": "it",
+ "name": "Thok i̱taliani"
+ },
+ "es": {
+ "code": "es",
+ "name": "Thok i̱thpaaniani"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Thok i̱thwidicni"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Thok Jalabni"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Thok japanni"
+ },
+ "de": {
+ "code": "de",
+ "name": "Thok jarmani"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Thok ji̱ röm"
+ },
+ "km": {
+ "code": "km",
+ "name": "Thok kameeri"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Thok kuriani"
+ },
+ "en": {
+ "code": "en",
+ "name": "Thok liŋli̱thni"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Thok mayɛyni"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Thok napalni"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Thok Nath"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Thok perthiani"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Thok pölicni"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Thok pɔrɔthani"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Thok puɔnjabani"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Thok puɔtigali"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Thok ra̱ciaani"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Thok tamilni"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thok tayni"
+ },
+ "so": {
+ "code": "so",
+ "name": "Thok thomaaliani"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Thok turkicni"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Thok udoni"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Thok ukeraanini"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Thok yurubani"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/nyn.json b/library/intl/resources/language/nyn.json
new file mode 100644
index 000000000..71c4a66c7
--- /dev/null
+++ b/library/intl/resources/language/nyn.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Oru-Urudu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Orubengari"
+ },
+ "be": {
+ "code": "be",
+ "name": "Oruberarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Oruburugariya"
+ },
+ "my": {
+ "code": "my",
+ "name": "Oruburuma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Oruceeki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Oruchaina"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Orudaaki"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Orufaransa"
+ },
+ "de": {
+ "code": "de",
+ "name": "Orugirimaani"
+ },
+ "el": {
+ "code": "el",
+ "name": "Oruguriiki"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Oruhangare"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Oruharabu"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Oruhausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Oruhindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "Oruindonezia"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Orujapaani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Orukambodiya"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Orukani"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Orukoreya"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Orukuraini"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Orukuruki"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Orumalesiya"
+ },
+ "am": {
+ "code": "am",
+ "name": "Orumariki"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Orunepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Orungyereza"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Orupaasiya"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Orupocugo"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Orupoori"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Orupungyabi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Oruromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Orurrasha"
+ },
+ "so": {
+ "code": "so",
+ "name": "Orusomaari"
+ },
+ "es": {
+ "code": "es",
+ "name": "Orusupaani"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Oruswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Orutailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Orutamiri"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Oruviyetinaamu"
+ },
+ "it": {
+ "code": "it",
+ "name": "Oruyitare"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Oruyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Oruzuru"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Runyankore"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/or.json b/library/intl/resources/language/or.json
new file mode 100644
index 000000000..7dbd79499
--- /dev/null
+++ b/library/intl/resources/language/or.json
@@ -0,0 +1,738 @@
+{
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "ଅକନà­"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ଅଷà­à¬Ÿà­à¬°à¬¿à¬†à¬¨à­ ଜରà­à¬®à¬¾à¬¨"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ଅଷà­à¬Ÿà­à¬°à­‡à¬²à¬¿à¬†à¬¨à­ ଇà¬à¬°à¬¾à¬œà­€"
+ },
+ "is": {
+ "code": "is",
+ "name": "ଆଇସଲାଣà­à¬¡à¬¿à¬•à­"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "ଆଘେମ"
+ },
+ "az": {
+ "code": "az",
+ "name": "ଆଜେରବାଇଜାନି"
+ },
+ "af": {
+ "code": "af",
+ "name": "ଆଫà­à¬°à¬¿à¬•à¬¾à¬¨à¬¸à­"
+ },
+ "am": {
+ "code": "am",
+ "name": "ଆମହାରକି"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ଆରବିକà­"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ଆରà­à¬®à­‡à¬¨à¬¿à¬†à¬¨à­"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "ଆଲବାନିଆନà­"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "ଆଷà­à¬Ÿà­à¬°à¬¿à¬†à¬¨à­"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "ଆସà­"
+ },
+ "en": {
+ "code": "en",
+ "name": "ଇଂରାଜୀ"
+ },
+ "it": {
+ "code": "it",
+ "name": "ଇଟାଲିଆନà­"
+ },
+ "id": {
+ "code": "id",
+ "name": "ଇଣà­à¬¡à­‹à¬¨à­‡à¬¸à¬¿à¬†à¬¨à­"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ଇରିସà­"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ଇୱେ"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ଇୱୋଣà­à¬¡à­‹"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ଉଜବେକà­"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ଉତà­à¬¤à¬° ନେଡବେଲେ"
+ },
+ "se": {
+ "code": "se",
+ "name": "ଉତà­à¬¤à¬° ସାମି"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ଉପର ସରà­à¬¬à¬¿à¬†à¬¨à­"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ଉରà­à¬¦à­à¬¦à­"
+ },
+ "et": {
+ "code": "et",
+ "name": "à¬à¬¸à­à¬¤à­‹à¬¨à¬¿à¬†à¬¨à­"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "à¬à¬¸à­à¬ªà¬¾à¬°à­‡à¬£à­à¬Ÿà­‹"
+ },
+ "or": {
+ "code": "or",
+ "name": "ଓଡ଼ିଆ"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "କନà­à¬¨à¬¡"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "କବାଇଲà­"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "କମà­à¬¬à¬¾"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "କାଜାକà­"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "କାଟଲାନà­"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "କାଟାଲାନà­"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "କାନାଡିଆନୠଇà¬à¬°à¬¾à¬œà­€"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "କାନାଡିଆନୠଫà­à¬°à­‡à¬žà­à¬š"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "କାଶà­à¬®à¬¿à¬°à­€"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "କିରଗିଜà­"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "କୀକà­à­Ÿà­"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "କୋରିଆନà­"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "କà­à¬°à­‹à¬†à¬Ÿà¬¿à¬†à¬¨à­"
+ },
+ "km": {
+ "code": "km",
+ "name": "ଖà­à¬®à­‡à¬°à­"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ଗନà­à¬¦à¬¾"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ଗାଲସିଆନà­"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ଗà­à¬œà­à¬°à¬¾à¬Ÿà­€"
+ },
+ "el": {
+ "code": "el",
+ "name": "ଗà­à¬°à­€à¬•à­"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "ଗà­à¬°à­€à¬¨à¬²à¬¾à¬£à­à¬¡à¬¿à¬•à­"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ଚାଇନୀଜà­"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ଚେକà­"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ଚେରୋକୀ"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ଜରà­à¬œà¬¿à¬†à¬¨à­"
+ },
+ "de": {
+ "code": "de",
+ "name": "ଜରà­à¬®à¬¾à¬¨à­"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ଜାପାନୀଜà­"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ଜà­à¬²à­"
+ },
+ "to": {
+ "code": "to",
+ "name": "ଟୋଙà­à¬—ା"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ଟà­à¬°à¬¿à¬—ିନିଆ"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ଡଚà­"
+ },
+ "da": {
+ "code": "da",
+ "name": "ଡାନà­à¬¨à¬¿à¬¸à­"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ତାମିଲà­"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ତିବେତାନà­"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ତà­à¬°à­à¬•à¬¿à¬¸à­"
+ },
+ "te": {
+ "code": "te",
+ "name": "ତେଲà­à¬—à­"
+ },
+ "th": {
+ "code": "th",
+ "name": "ଥାଇ"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ନରୱେଜିଆନୠନିୟୋରà­à¬¸à­à¬•"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "ନରୱେଜିଆନୠବୋକମଲà­"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "ନିଚଳା ସରà­à¬¬à¬¿à¬†à¬¨à­"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ନେପାଳୀ"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ନà­à­Ÿà¬¾à¬¨à¬•à­‹à¬²à­"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ପଞà­à¬œà¬¾à¬¬à­€"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ପରà­à¬¤à­à¬¤à­à¬—à­à¬°à­€à¬œà­"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ପରà­à¬¸à¬¿à¬†à¬¨à­"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "ପଶà­à¬šà¬¿à¬® ଫà­à¬°à¬¿à¬¸à¬¿à­Ÿà¬¨à­"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ପାରମà­à¬ªà¬°à¬¿à¬• ଚାଇନୀଜà­"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "ପାସà­à¬¤à­‹"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ପୋଲିଶà­"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ଫାରୋà¬à¬¸à­‡"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ଫିନà­à¬¨à¬¿à¬¸à­"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ଫିଲିପିନୋ"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "ଫà­à¬²à¬¾à¬¹"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ଫà­à¬°à¬¿à­Ÿà­à¬²à­€à­Ÿà¬¾à¬¨à­"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ଫà­à¬°à­‡à¬žà­à¬š"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ଫà­à¬²à­‡à¬®à¬¿à¬¶à­"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ବଙà­à¬—ାଳୀ"
+ },
+ "my": {
+ "code": "my",
+ "name": "ବରà­à¬®à­€à¬œà­"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ବାମà­à¬¬à¬¾à¬°à¬¾"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "ବାସା"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "ବାସà­à¬•à­à­±à¬¿"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ବà­à¬²à¬—େରିଆନà­"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "ବେନା"
+ },
+ "be": {
+ "code": "be",
+ "name": "ବେଲାରà­à¬·à¬¿à¬†à¬¨à­"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "ବà­à¬°à¬¾à¬œà¬¿à¬²à¬¿à¬†à¬¨à­ ପରà­à¬¤à­à¬¤à­à¬—ୀଜà­"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "ବà­à¬°à¬¿à¬Ÿà¬¿à¬¶à­ ଇà¬à¬°à¬¾à¬œà­€"
+ },
+ "br": {
+ "code": "br",
+ "name": "ବà­à¬°à­‡à¬Ÿà¬¨à­"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ଭାଇ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ଭିà¬à¬¤à¬¨à¬¾à¬®à¬¿à¬œà­"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ଭୂଟାନୀ"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "ମଙà­à¬—ୋଲିଆନà­"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "ମରାଠୀ"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "ମାକଡୋନିଆନà­"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ମାନକ ଆରବିକ"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "ମାଲଟୀଜà­"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ମାଲୟ"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ମାଲାଗାସୀ"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "ମାଲାୟଲମà­"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "ମାସାଇ"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ମୋଲଡୋଭିଆନà­"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "à­Ÿà­.à¬à¬¸à­. ଇà¬à¬°à¬¾à¬œà­€"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "à­Ÿà­à¬•à­à¬°à¬¾à¬¨à¬¿à¬†à¬¨à­"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "à­Ÿà­à¬˜à­à¬°à­"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ୟୋରà­à¬¬à¬¾"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ରଷିଆନà­"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "ରà­à¬£à­à¬¡à¬¿"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ରେହେଟୋ-ରୋମାନà­à¬¸"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ରୋମାନିଆନà­"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ରୋମà­à¬¬à­‹"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ଲକà­à¬¸à­‡à¬®à¬¬à¬°à­à¬—ିସà­"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ଲାଓ"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ଲାଟଭିଆନà­"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ଲିଙà­à¬—ାଲା"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ଲିଥà­à¬†à¬¨à¬¿à¬†à¬¨à­"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "ଲà­à¬“"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ଲେବେରିଆନୠପରà­à¬¤à­à¬¤à­à¬—ୀଜà­"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ଲେବେରିଆନୠସà­à¬ªà¬¾à¬¨à¬¿à¬¶à­"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "ଲà­à­Ÿà­à¬¬à¬¾-କାଟାଙà­à¬—ା"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ୱେଲà­à¬¸"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ଶୋନା"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ସରଳିକରଣ ଚାଇନୀଜà­"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ସରà­à¬¬à¬¿à¬†à¬¨à­"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "ସାଙà­à¬—à­‹"
+ },
+ "si": {
+ "code": "si",
+ "name": "ସିଂହଳ"
+ },
+ "so": {
+ "code": "so",
+ "name": "ସୋମାଲିଆ"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "ସà­à¬•à¬Ÿà¬¿à¬¸à­ ଗାà¬à¬²à¬¿à¬•à­"
+ },
+ "es": {
+ "code": "es",
+ "name": "ସà­à¬ªà¬¾à¬¨à¬¿à¬¸à­"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "ସà­à¬¬à¬¿à¬¸à­ ଜରà­à¬®à¬¾à¬¨à­"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "ସà­à¬¬à¬¿à¬¸à­ ଫà­à¬°à­‡à¬žà­à¬šà­"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "ସà­à¬¬à¬¿à¬¸à­ ହାଇ ଜରà­à¬®à¬¾à¬¨à­"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ସà­à¬²à­‹à¬­à¬¾à¬•à­"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ସà­à¬²à­‹à¬­à­‡à¬¨à¬¿à¬†à¬¨à­"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "ସà­à­±à¬¾à¬¹à¬¿à¬²à­"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ସà­à­±à­‡à¬¡à¬¿à¬¸à­"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ହଙà­à¬—େରିଆନà­"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ହିନà­à¬¦à­€"
+ },
+ "he": {
+ "code": "he",
+ "name": "ହେବà­à¬°à­à­Ÿà­"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ହୌସା"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pa.json b/library/intl/resources/language/pa.json
new file mode 100644
index 000000000..3ac1234ed
--- /dev/null
+++ b/library/intl/resources/language/pa.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ਉਇਗà©à¨°"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ਉਜ਼ਬੇਕ"
+ },
+ "se": {
+ "code": "se",
+ "name": "ਉੱਤਰੀ ਸਾਮੀ"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ਉੱਤਰੀ ਨਡੇਬੇਲੇ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ਉਰਦੂ"
+ },
+ "or": {
+ "code": "or",
+ "name": "ਉੜੀਆ"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "ਅਸੂ"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "ਅਕਾਨ"
+ },
+ "en": {
+ "code": "en",
+ "name": "ਅੰਗਰੇਜ਼ੀ"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "ਅਗੇਮ"
+ },
+ "az": {
+ "code": "az",
+ "name": "ਅਜ਼ਰਬਾਈਜਾਨੀ"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ਅੱਪਰ ਸੋਰਬੀਅਨ"
+ },
+ "af": {
+ "code": "af",
+ "name": "ਅਫ਼ਰੀਕੀ"
+ },
+ "am": {
+ "code": "am",
+ "name": "ਅਮਹਾਰਿਕ"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ਅਮਰੀਕੀ ਅੰਗਰੇਜ਼ੀ"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ਅਰਬੀ"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ਅਰਮੀਨੀਆਈ"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "ਅਲਬਾਨੀਆਈ"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ਆਇਰੀ"
+ },
+ "is": {
+ "code": "is",
+ "name": "ਆਈਸਲੈਂਡਿਕ"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ਆਸਟਰੀਆਈ ਜਰਮਨ"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ਆਸਟà©à¨°à©‡à¨²à©€à¨†à¨ˆ ਅੰਗਰੇਜ਼ੀ"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ਆਧà©à¨¨à¨¿à¨• ਮਿਆਰੀ ਅਰਬੀ"
+ },
+ "et": {
+ "code": "et",
+ "name": "ਇਸਟੋਨੀਆਈ"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ਇਸਪੇਰਾਂਟੋ"
+ },
+ "id": {
+ "code": "id",
+ "name": "ਇੰਡੋਨੇਸ਼ੀਆਈ"
+ },
+ "it": {
+ "code": "it",
+ "name": "ਇਤਾਲਵੀ"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ਇੰਬੂ"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ਈਵਈ"
+ },
+ "es": {
+ "code": "es",
+ "name": "ਸਪੇਨੀ"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "ਸ਼ੰਬਾਲਾ"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "ਸਮਬà©à¨°à©‚"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ਸਰਬੀਆਈ"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ਸਰਲ ਚੀਨੀ"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ਸਲੋਵਾਕ"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ਸਲੋਵੇਨੀਆਈ"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "ਸਵਾਹਿਲੀ"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "ਸਵਿਸ ਹਾਈ ਜਰਮਨ"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "ਸਵਿਸ ਜਰਮਨ"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "ਸਵਿਸ ਫਰਾਂਸੀਸੀ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ਸਵੀਡਿਸ਼"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "ਸਾਂਗੋ"
+ },
+ "si": {
+ "code": "si",
+ "name": "ਸਿੰਹਾਲਾ"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "ਸੇਂਗੋ"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "ਸੇਨਾ"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "ਸੋਗਾ"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ਸ਼ੋਨਾ"
+ },
+ "so": {
+ "code": "so",
+ "name": "ਸੋਮਾਲੀ"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ਹੰਗਰੀਆਈ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ਹਿੰਦੀ"
+ },
+ "he": {
+ "code": "he",
+ "name": "ਹਿਬਰੂ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ਹੌਸਾ"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "ਕਸ਼ਮੀਰੀ"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "ਕਜ਼ਾਖ਼"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "ਕੰਨੜ"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "ਕੰਬਾ"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "ਕਬਾਇਲ"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "ਕਲਾਅੱਲੀਸà©à¨Ÿ"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "ਕਲੇਜਿਨ"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "ਕਵਾਸਿਓ"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "ਕà©à¨°à©‹à¨à¨¸à¨¼à¨¿à¨†à¨ˆ"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "ਕਾਂਗੋ ਸਵਾਹਿਲੀ"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "ਕਾਬà©à¨µà©‡à¨°à¨¦à¨¿à¨†à¨¨à©‚"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "ਕਿਕੂਯੂ"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "ਕਿਰਗੀਜ਼"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "ਕੈਟਾਲਾਨ"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "ਕੈਨੇਡੀਅਨ ਅੰਗਰੇਜ਼ੀ"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "ਕੈਨੇਡੀਅਨ ਫਰਾਂਸੀਸੀ"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "ਕੋਇਰਾਬੋਰੋ ਸੇਂਨੀ"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "ਕੋਯਰਾ ਚੀਨੀ"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ਕੋਰੀਆਈ"
+ },
+ "km": {
+ "code": "km",
+ "name": "ਖਮੇਰ"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ਗਾਂਡਾ"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "ਗà©à¨¸à©€"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ਗà©à¨œà¨°à¨¾à¨¤à©€"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ਗੈਲਿਸ਼ਿਅਨ"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "ਚੀਗਾ"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ਚੀਨੀ"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ਚੇਰੋਕੀ"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ਚੈਕ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ਜਪਾਨੀ"
+ },
+ "de": {
+ "code": "de",
+ "name": "ਜਰਮਨ"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ਜਾਰਜੀਆਈ"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ਜ਼ਾਰਮਾ"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ਜ਼à©à¨²à©‚"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ਜ਼ੋਂਗਖਾ"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "ਜੋਲਾ-ਫੋਇਨੀ"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ਟਚੇਲਹਿਟ"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "ਟੇਸੋ"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "ਟੇਟਾ"
+ },
+ "to": {
+ "code": "to",
+ "name": "ਟੌਂਗਨ"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ਡੱਚ"
+ },
+ "da": {
+ "code": "da",
+ "name": "ਡੈਨਿਸ਼"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ਤਮਿਲ"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "ਤਾਸਾਵਿਕ"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ਤਿਗà©à¨°à©€à¨¨à¨¿à¨†"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ਤਿੱਬਤੀ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ਤà©à¨°à¨•à©€"
+ },
+ "te": {
+ "code": "te",
+ "name": "ਤੇਲਗੂ"
+ },
+ "th": {
+ "code": "th",
+ "name": "ਥਾਈ"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ਨਗੋਂਬਾ"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ਨਾਮਾ"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ਨਾਰਵੇਜਿਆਈ ਨਿਓਨੌਰਸਕ"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "ਨਾਰਵੇਜਿਆਈ ਬੋਕਮਲ"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ਨਿਆਂਕੋਲੇ"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "ਨà©à¨à¨°"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ਨੇਪਾਲੀ"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "ਪਸ਼ਤੋ"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "ਪੱਛਮੀ ਫà©à¨°à¨¿à¨¸à©€à¨…ਨ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ਪੰਜਾਬੀ"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ਪà©à¨°à¨¤à¨—ਾਲੀ"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ਪੋਲੈਂਡੀ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ਫਰਾਂਸੀਸੀ"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ਫਲੈਮਿਸ਼"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ਫ਼ਾਰਸੀ"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ਫਿਨਿਸ਼"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ਫਿਲੀਪਿਨੋ"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ਫ਼ੇਰੋਸੇ"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ਬੰਗਾਲੀ"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "ਬਫ਼ੀਆ"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ਬੰਬਾਰਾ"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "ਬਰਤਾਨਵੀ ਅੰਗਰੇਜ਼ੀ"
+ },
+ "my": {
+ "code": "my",
+ "name": "ਬਰਮੀ"
+ },
+ "br": {
+ "code": "br",
+ "name": "ਬਰੇਟਨ"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "ਬà©à¨°à¨¾à¨œà¨¼à©€à¨²à©€à¨†à¨ˆ ਪà©à¨°à¨¤à¨—ਾਲੀ"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "ਬਾਸਕ"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ਬà©à¨²à¨—ਾਰੀਆਈ"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "ਬੇਨਾ"
+ },
+ "be": {
+ "code": "be",
+ "name": "ਬੇਲਾਰੂਸੀ"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "ਬੋਸਨੀਆਈ"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "ਬੋਡੋ"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "ਮਸਾਈ"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ਮਕੋਂਡ"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ਮਖੋਵਾ-ਮਿੱਟੋ"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "ਮੰਗੋਲੀਅਨ"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ਮਚਾਮੇ"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "ਮੱਧ à¨à¨Ÿà¨²à¨¸ ਤਮਾਜ਼ਿਤ"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "ਮਰਾਠੀ"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ਮਲਯ"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "ਮਲਿਆਲਮ"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "ਮਾਲਟੀਜ਼"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "ਮਿਆਰੀ ਮੋਰੋਕੇਨ ਟਾਮਾਜ਼ਿਕ"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "ਮà©à©°à¨¡à©‡à¨‚ਗ"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "ਮੇਰੂ"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ਮੇਲੇਗਸੀ"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "ਮੈਕਸੀਕਨ ਸਪੈਨਿਸ਼"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "ਮੈਕਡੋਨੀਆਈ"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "ਮੋਰੀਸਿਅਨ"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ਮੋਲਡਾਵੀਆਈ"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ਯੂਕਰੇਨੀਆਈ"
+ },
+ "el": {
+ "code": "el",
+ "name": "ਯੂਨਾਨੀ"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ਯੂਰਪੀ ਸਪੇਨੀ"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ਯੂਰਪੀ ਪà©à¨°à¨¤à¨—ਾਲੀ"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ਯੋਰੂਬਾ"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "ਰਵਾ"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ਰਵਾਇਤੀ ਚੀਨੀ"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "ਰà©à©°à¨¡à©€"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ਰੂਸੀ"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ਰੋਮਬੋ"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ਰੋਮਾਂਸ਼"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ਰੋਮਾਨੀਆਈ"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ਲਕਜ਼ਮਬਰਗਿਸ਼"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ਲੰਗਾਈ"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ਲਾਓ"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ਲਾਟਵਿਅਨ"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ਲਿੰਗਾਲਾ"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ਲਿਥà©à¨†à¨¨à©€à¨…ਨ"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "ਲੂਓ"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "ਲੂਈਆ"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "ਲੂਬਾ-ਕਾਟਾਂਗਾ"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "ਲੋਅਰ ਸੋਰਬੀਅਨ"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ਵਾਈ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ਵੀਅਤਨਾਮੀ"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ਵੂੰਜੋ"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ਵੈਲਜ਼"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pl.json b/library/intl/resources/language/pl.json
new file mode 100644
index 000000000..c6e69a00f
--- /dev/null
+++ b/library/intl/resources/language/pl.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albański"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "amerykański angielski"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharski"
+ },
+ "en": {
+ "code": "en",
+ "name": "angielski"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabski"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturyjski"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "ateso"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "australijski angielski"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "austriacki niemiecki"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerski"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskijski"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalski"
+ },
+ "be": {
+ "code": "be",
+ "name": "białoruski"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmański"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bośniacki"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brazylijski portugalski"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretoński"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "brytyjski angielski"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bułgarski"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "centralnomarokański tamazight"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chiński"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chiński (tradycyjny)"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chiński (uproszczony)"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "chorwacki"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "czeski"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "czirokeski"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "diola"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "dolnołużycki"
+ },
+ "da": {
+ "code": "da",
+ "name": "duński"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "dżerma"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estoński"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "europejski hiszpański"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "europejski portugalski"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "farerski"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "fiński"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamandzki (Belgia)"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francuski"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulijski"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulani"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicyjski"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "górnołużycki"
+ },
+ "el": {
+ "code": "el",
+ "name": "grecki"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grenlandzki"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruziński"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudźaracki"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "gwara kolońska"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrajski"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "hiszpański"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonezyjski"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandzki"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandzki"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japoński"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "joruba"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabylski"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadyjski angielski"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadyjski francuski"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kaszmirski"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "kataloński"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazachski"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmerski"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuju"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiski"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "kongijski suahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreański"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "kreolski Mauritiusa"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kreolski Wysp Zielonego PrzylÄ…dka"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laotański"
+ },
+ "se": {
+ "code": "se",
+ "name": "lapoński północny"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litewski"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhya"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luksemburski"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Å‚otewski"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedoński"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makua"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajski"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaski"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltański"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masajski"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "meksykański hiszpański"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "mołdawski"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolski"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele północny"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalski"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngombe"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "ngumba"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "niderlandzki"
+ },
+ "de": {
+ "code": "de",
+ "name": "niemiecki"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norweski (bokmål)"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norweski (nynorsk)"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "orija"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ormiański"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paszto"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pendżabski"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "perski"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polski"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalski"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromański"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rosyjski"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumuński"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "sambala"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbski"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "słowacki"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "słoweński"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalijski"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suahili"
+ },
+ "si": {
+ "code": "si",
+ "name": "syngaleski"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "szkocki gaelicki"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "szona"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "szwajcarski francuski"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "szwajcarski niemiecki"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "szwedzki"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "th": {
+ "code": "th",
+ "name": "tajski"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilski"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tashelhiyt"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turecki"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tybetański"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujgurski"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukraiński"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbecki"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "wai"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "walijski"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "węgierski"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "wietnamski"
+ },
+ "it": {
+ "code": "it",
+ "name": "włoski"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "współczesny arabski"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "wysokoniemiecki (Szwajcaria)"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "zachodniofryzyjski"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ps.json b/library/intl/resources/language/ps.json
new file mode 100644
index 000000000..1b5b5804d
--- /dev/null
+++ b/library/intl/resources/language/ps.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "az": {
+ "code": "az",
+ "name": "أذربائجاني"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "اردو"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ارمني"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ازبکي"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "اسپرانتو"
+ },
+ "af": {
+ "code": "af",
+ "name": "اÙريکاني"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "الباني"
+ },
+ "de": {
+ "code": "de",
+ "name": "الماني"
+ },
+ "am": {
+ "code": "am",
+ "name": "امهاري"
+ },
+ "id": {
+ "code": "id",
+ "name": "انډونÛشيايي"
+ },
+ "en": {
+ "code": "en",
+ "name": "انګلیسي"
+ },
+ "or": {
+ "code": "or",
+ "name": "اوريا"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "اوکرانايي"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "اويگور"
+ },
+ "it": {
+ "code": "it",
+ "name": "ایټالوي"
+ },
+ "is": {
+ "code": "is",
+ "name": "أيسلÛÙ†Ú‰ÙŠ"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ائيرلÛÙ†Ú‰ÙŠ"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "باسکي"
+ },
+ "br": {
+ "code": "br",
+ "name": "برÛتون"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "بلغاري"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "بنګالي"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "بوسني"
+ },
+ "be": {
+ "code": "be",
+ "name": "بÛلاروسي"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "پرتگال (برازيل)"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "پرتګالي (پرتګال)"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "پښتو"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "پنجابي"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "پورتګالي"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "پولنډي"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "تامل"
+ },
+ "th": {
+ "code": "th",
+ "name": "تايلÛÙ†Ú‰ÙŠ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ترکي"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "تګالوګ"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "تيګريني"
+ },
+ "te": {
+ "code": "te",
+ "name": "تÛليګو"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "جاپانی"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "جورجيائي"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Ú†ÛÚ©"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "چیني"
+ },
+ "et": {
+ "code": "et",
+ "name": "حبشي"
+ },
+ "da": {
+ "code": "da",
+ "name": "Ú‰Ûنش"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "روسي"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "روماني"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "زولو"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "سربيائي"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "سکاټلÛÙ†Ú‰ÙŠ Ú«ÛÙ„Ú©"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "سلوواکي"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "سلوواني"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "سواهÛلي"
+ },
+ "so": {
+ "code": "so",
+ "name": "سومالي"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "سویډنی"
+ },
+ "si": {
+ "code": "si",
+ "name": "سينهالي"
+ },
+ "he": {
+ "code": "he",
+ "name": "عبري"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "عربي"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Ùارسي"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ÙاروئÛ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ùرانسوي"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Ùريزي"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Ùینلنډي"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "کټلاني"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "کرګيز"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "کروواتي"
+ },
+ "km": {
+ "code": "km",
+ "name": "Ú©Ù…Ø¨ÙˆÚ‰ÙŠØ§ÙŠÛ ÙŠØ§ د کمبوډيا"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "کنأډه"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "کوريائي"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ګجراتي"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Ú«Ù„Ûشيايي"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "لويتين"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ليتواني"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Ù„Ûټواني"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "مالايالم"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "مالټايي"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "مراټهي"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "مغولي"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "مقدوني"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ملایا"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ملغاسي"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ناروÛئي (نائنورسک)"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Ù†Ûپالي"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "هالÛÙ†Ú‰ÙŠ"
+ },
+ "es": {
+ "code": "es",
+ "name": "هسپانوي"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "هندي"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "هنګري"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ÙˆÛتنامي"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ويلشي"
+ },
+ "el": {
+ "code": "el",
+ "name": "یوناني"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pt-AO.json b/library/intl/resources/language/pt-AO.json
new file mode 100644
index 000000000..44021eb46
--- /dev/null
+++ b/library/intl/resources/language/pt-AO.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "africânder"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanês"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemão"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sórabio"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe moderno padrão"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baixo sórabio"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basco"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanês"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bósnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretão"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "cabo-verdiano"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarim"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalão"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "caxemira"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "cazaque"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalês"
+ },
+ "km": {
+ "code": "km",
+ "name": "cmer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarquês"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espanhol do México"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanhol europeu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estónio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroês"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamengo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francês suíço"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galego"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galês"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandês"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guzerate"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haúça"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraico"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglês americano"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandês"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandês"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letão"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedónio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "maconde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "macua"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaiala"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltês"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marata"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldávio"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "nguemba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastó"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "português"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "português do Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "português europeu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "quicuio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "quirguiz"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami do norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sérvio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaíli"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandês"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight padrão de Marrocos"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tâmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrínia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeque"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pt-CV.json b/library/intl/resources/language/pt-CV.json
new file mode 100644
index 000000000..44021eb46
--- /dev/null
+++ b/library/intl/resources/language/pt-CV.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "africânder"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanês"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemão"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sórabio"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe moderno padrão"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baixo sórabio"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basco"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanês"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bósnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretão"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "cabo-verdiano"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarim"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalão"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "caxemira"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "cazaque"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalês"
+ },
+ "km": {
+ "code": "km",
+ "name": "cmer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarquês"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espanhol do México"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanhol europeu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estónio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroês"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamengo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francês suíço"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galego"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galês"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandês"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guzerate"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haúça"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraico"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglês americano"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandês"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandês"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letão"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedónio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "maconde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "macua"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaiala"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltês"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marata"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldávio"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "nguemba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastó"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "português"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "português do Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "português europeu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "quicuio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "quirguiz"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami do norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sérvio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaíli"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandês"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight padrão de Marrocos"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tâmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrínia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeque"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pt-GW.json b/library/intl/resources/language/pt-GW.json
new file mode 100644
index 000000000..44021eb46
--- /dev/null
+++ b/library/intl/resources/language/pt-GW.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "africânder"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanês"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemão"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sórabio"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe moderno padrão"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baixo sórabio"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basco"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanês"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bósnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretão"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "cabo-verdiano"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarim"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalão"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "caxemira"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "cazaque"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalês"
+ },
+ "km": {
+ "code": "km",
+ "name": "cmer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarquês"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espanhol do México"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanhol europeu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estónio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroês"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamengo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francês suíço"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galego"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galês"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandês"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guzerate"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haúça"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraico"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglês americano"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandês"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandês"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letão"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedónio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "maconde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "macua"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaiala"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltês"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marata"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldávio"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "nguemba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastó"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "português"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "português do Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "português europeu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "quicuio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "quirguiz"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami do norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sérvio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaíli"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandês"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight padrão de Marrocos"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tâmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrínia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeque"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pt-MO.json b/library/intl/resources/language/pt-MO.json
new file mode 100644
index 000000000..44021eb46
--- /dev/null
+++ b/library/intl/resources/language/pt-MO.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "africânder"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanês"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemão"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sórabio"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe moderno padrão"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baixo sórabio"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basco"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanês"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bósnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretão"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "cabo-verdiano"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarim"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalão"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "caxemira"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "cazaque"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalês"
+ },
+ "km": {
+ "code": "km",
+ "name": "cmer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarquês"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espanhol do México"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanhol europeu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estónio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroês"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamengo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francês suíço"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galego"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galês"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandês"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guzerate"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haúça"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraico"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglês americano"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandês"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandês"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letão"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedónio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "maconde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "macua"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaiala"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltês"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marata"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldávio"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "nguemba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastó"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "português"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "português do Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "português europeu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "quicuio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "quirguiz"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami do norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sérvio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaíli"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandês"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight padrão de Marrocos"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tâmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrínia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeque"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pt-MZ.json b/library/intl/resources/language/pt-MZ.json
new file mode 100644
index 000000000..44021eb46
--- /dev/null
+++ b/library/intl/resources/language/pt-MZ.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "africânder"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanês"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemão"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sórabio"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe moderno padrão"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baixo sórabio"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basco"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanês"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bósnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretão"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "cabo-verdiano"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarim"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalão"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "caxemira"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "cazaque"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalês"
+ },
+ "km": {
+ "code": "km",
+ "name": "cmer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarquês"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espanhol do México"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanhol europeu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estónio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroês"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamengo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francês suíço"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galego"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galês"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandês"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guzerate"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haúça"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraico"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglês americano"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandês"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandês"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letão"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedónio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "maconde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "macua"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaiala"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltês"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marata"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldávio"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "nguemba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastó"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "português"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "português do Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "português europeu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "quicuio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "quirguiz"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami do norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sérvio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaíli"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandês"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight padrão de Marrocos"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tâmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrínia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeque"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pt-PT.json b/library/intl/resources/language/pt-PT.json
new file mode 100644
index 000000000..44021eb46
--- /dev/null
+++ b/library/intl/resources/language/pt-PT.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "africânder"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanês"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemão"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sórabio"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe moderno padrão"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baixo sórabio"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basco"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanês"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bósnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretão"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "cabo-verdiano"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarim"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalão"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "caxemira"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "cazaque"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalês"
+ },
+ "km": {
+ "code": "km",
+ "name": "cmer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarquês"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espanhol do México"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanhol europeu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estónio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroês"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamengo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francês suíço"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galego"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galês"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandês"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guzerate"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haúça"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraico"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglês americano"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandês"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandês"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letão"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedónio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "maconde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "macua"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaiala"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltês"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marata"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldávio"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "nguemba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastó"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "português"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "português do Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "português europeu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "quicuio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "quirguiz"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami do norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sérvio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaíli"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandês"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight padrão de Marrocos"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tâmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrínia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeque"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pt-ST.json b/library/intl/resources/language/pt-ST.json
new file mode 100644
index 000000000..44021eb46
--- /dev/null
+++ b/library/intl/resources/language/pt-ST.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "africânder"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanês"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemão"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sórabio"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe moderno padrão"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baixo sórabio"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basco"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanês"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bósnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretão"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "cabo-verdiano"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarim"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalão"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "caxemira"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "cazaque"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalês"
+ },
+ "km": {
+ "code": "km",
+ "name": "cmer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarquês"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espanhol do México"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanhol europeu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estónio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroês"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamengo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francês suíço"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galego"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galês"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandês"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guzerate"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haúça"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraico"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglês americano"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandês"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandês"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letão"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedónio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "maconde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "macua"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaiala"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltês"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marata"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldávio"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "nguemba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastó"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "português"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "português do Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "português europeu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "quicuio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "quirguiz"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami do norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sérvio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaíli"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandês"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight padrão de Marrocos"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tâmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrínia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeque"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pt-TL.json b/library/intl/resources/language/pt-TL.json
new file mode 100644
index 000000000..44021eb46
--- /dev/null
+++ b/library/intl/resources/language/pt-TL.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "africânder"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanês"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemão"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemão suíço"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "alto sórabio"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe moderno padrão"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "baixo sórabio"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basco"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanês"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bósnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretão"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "cabo-verdiano"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarim"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalão"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "caxemira"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "cazaque"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "checo"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalês"
+ },
+ "km": {
+ "code": "km",
+ "name": "cmer"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarquês"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanhol"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espanhol do México"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanhol europeu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estónio"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroês"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamengo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francês canadiano"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francês suíço"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frísico ocidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galego"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galês"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandês"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guzerate"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haúça"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraico"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglês americano"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglês canadiano"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandês"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandês"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letão"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-catanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedónio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "maconde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "macua"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaiala"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltês"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marata"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldávio"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "nguemba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norueguês bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norueguês nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pastó"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polaco"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "português"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "português do Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "português europeu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "quicuio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "quirguiz"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami do norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sérvio"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaíli"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandês"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight do Atlas Central"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight padrão de Marrocos"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tâmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrínia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeque"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/pt.json b/library/intl/resources/language/pt.json
new file mode 100644
index 000000000..b8bfcaf8f
--- /dev/null
+++ b/library/intl/resources/language/pt.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "africâner"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanês"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemão"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "alemão austríaco"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "alemão suíço"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "alto alemão suíço"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "árabe moderno"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armênio"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiano"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbaijano"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basco"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorrusso"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanês"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmål norueguês"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bósnio"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretão"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "canarês"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalão"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "caxemira"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "cazaque"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinês"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinês simplificado"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinês tradicional"
+ },
+ "si": {
+ "code": "si",
+ "name": "cingalês"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croata"
+ },
+ "da": {
+ "code": "da",
+ "name": "dinamarquês"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "eslovaco"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "esloveno"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanhol"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espanhol europeu"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "espanhol mexicano"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estoniano"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "eve"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "feroês"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandês"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamengo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francês canadense"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francês suíço"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frísio ocidental"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulano"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fula"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaélico escocês"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galego"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galês"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiano"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "groenlandês"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guzerate"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hauçá"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraico"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "híndi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "inglês americano"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "inglês australiano"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "inglês britânico"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "inglês canadense"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ioruba"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandês"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandês"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosiano"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letão"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituano"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-catanga"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "luganda"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "lusoga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburguês"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedônio"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "maconde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "macua"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malaiala"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaxe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltês"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marata"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldávio"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongol"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele do norte"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "nguemba"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorsk norueguês"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polonês"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "português"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "português do Brasil"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "português europeu"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "quicuio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "quirguiz"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanche"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami do norte"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sérvio"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sérvio baixo"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorábio superior"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suaíli"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suaíli do Congo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandês"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight marroquino padrão"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tâmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tcheco"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetano"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrínia"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganês"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigur"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbeque"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/rm.json b/library/intl/resources/language/rm.json
new file mode 100644
index 000000000..6053a5abd
--- /dev/null
+++ b/library/intl/resources/language/rm.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanais"
+ },
+ "am": {
+ "code": "am",
+ "name": "amaric"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arab"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armen"
+ },
+ "az": {
+ "code": "az",
+ "name": "aserbeidschanic"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "aut sorb"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "basc"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "bass sorb"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengal"
+ },
+ "be": {
+ "code": "be",
+ "name": "bieloruss"
+ },
+ "my": {
+ "code": "my",
+ "name": "birman"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniac"
+ },
+ "br": {
+ "code": "br",
+ "name": "breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgar"
+ },
+ "km": {
+ "code": "km",
+ "name": "cambodschan"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "casac"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinais"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chinais simplifitgà"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chinais tradiziunal"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "corean"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croat"
+ },
+ "da": {
+ "code": "da",
+ "name": "danais"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "he": {
+ "code": "he",
+ "name": "ebraic"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "englais"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "englais american"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "englais australian"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "englais britannic"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "englais canadais"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "eston"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ferrais"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandais"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flam"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franzos"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "franzos canadais"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "franzos svizzer"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "fris"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulan"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulah"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaelic scot"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgian"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "giapunais"
+ },
+ "el": {
+ "code": "el",
+ "name": "grec"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grönlandais"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haussa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonais"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandais"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandais"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmiri"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "kimric"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirghis"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laot"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letton"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituan"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgais"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedon"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagassi"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaic"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltais"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldav"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolic"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele dal nord"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalais"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norvegais bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norvegiais nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ollandais"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paschto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persian"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polac"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugais"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugais brasilian"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugais iberian"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabi"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "rumantsch"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumen"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russ"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami dal nord"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serb"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalais"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovac"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "sloven"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "spagnol"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "spagnol iberic"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "spagnol mexican"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svedais"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandais"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "it": {
+ "code": "it",
+ "name": "talian"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinya"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "tirc"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tschec"
+ },
+ "de": {
+ "code": "de",
+ "name": "tudestg"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "tudestg austriac"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "tudestg svizzer"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucranais"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uiguric"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungarais"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "usbec"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamais"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/rn.json b/library/intl/resources/language/rn.json
new file mode 100644
index 000000000..02fde6fc1
--- /dev/null
+++ b/library/intl/resources/language/rn.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Icarabu"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "es": {
+ "code": "es",
+ "name": "Icesipanyolo"
+ },
+ "en": {
+ "code": "en",
+ "name": "Icongereza"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Igiceke"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Igifaransa"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Igihawusa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Igihindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Igiholandi"
+ },
+ "km": {
+ "code": "km",
+ "name": "Igikambodiya"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Igikani"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Igiperisi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Igiporutugari"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Igipunjabi"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Igishinwa"
+ },
+ "so": {
+ "code": "so",
+ "name": "Igisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Igisuweduwa"
+ },
+ "it": {
+ "code": "it",
+ "name": "Igitaliyani"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Igitamili"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Igiturukiya"
+ },
+ "be": {
+ "code": "be",
+ "name": "Ikibelarusiya"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Ikibengali"
+ },
+ "de": {
+ "code": "de",
+ "name": "Ikidage"
+ },
+ "el": {
+ "code": "el",
+ "name": "Ikigereki"
+ },
+ "am": {
+ "code": "am",
+ "name": "Ikimuhariki"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Ikinepali"
+ },
+ "my": {
+ "code": "my",
+ "name": "Ikinyabirimaniya"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Ikinyabuligariya"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ikinyahongiriya"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Ikinyakoreya"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Ikinyamaleziya"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Ikinyapolonye"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Ikinyarumaniya"
+ },
+ "th": {
+ "code": "th",
+ "name": "Ikinyatayilandi"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Ikinyaviyetinamu"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ikinyayukereni"
+ },
+ "id": {
+ "code": "id",
+ "name": "Ikinyendoziya"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Ikirundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Ikirusiya"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Ikiyapani"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Ikiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Ikizulu"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Inyeyurudu"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ro.json b/library/intl/resources/language/ro.json
new file mode 100644
index 000000000..32fde8f18
--- /dev/null
+++ b/library/intl/resources/language/ro.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albaneză"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharică"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabă"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "arabă standard modernă"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeană"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiană"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azeră"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "bască"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengaleză"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielorusă"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmaneză"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniacă"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonă"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgară"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "cașmiră"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "catalană"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "cehă"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chineză"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "chineză simplificată"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "chineză tradițională"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreeană"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "croată"
+ },
+ "da": {
+ "code": "da",
+ "name": "daneză"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkha"
+ },
+ "he": {
+ "code": "he",
+ "name": "ebraică"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "engleză"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "engleză americană"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "engleză australiană"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "engleză britanică"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "engleză canadiană"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estoniană"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faroeză"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipineză"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandeză"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamandă"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franceză"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "franceză canadiană"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "franceză elvețiană"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulană"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frizonă occidentală"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulah"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "gaelică scoțiană"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "galeză"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galiciană"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiană"
+ },
+ "de": {
+ "code": "de",
+ "name": "germană"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "germană austriacă"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "germană elvețiană"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "germană standard elvețiană"
+ },
+ "el": {
+ "code": "el",
+ "name": "greacă"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "indoneziană"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandeză"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandeză"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiană"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japoneză"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazahă"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kârgâză"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmeră"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kirundi"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölsch"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laoțiană"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letonă"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituaniană"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgheză"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedoneană"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machame"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "maghiară"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaeză"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgașă"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "malteză"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldovenească"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolă"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebele de nord"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepaleză"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norvegiană bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norvegiană nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "olandeză"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paștună"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persană"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "poloneză"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugheză"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugheză braziliană"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugheză europeană"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabi"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanșă"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "română"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rusă"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "sami de nord"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "sârbă"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singhaleză"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovacă"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovenă"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somaleză"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorabă de jos"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorabă de sus"
+ },
+ "es": {
+ "code": "es",
+ "name": "spaniolă"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "spaniolă europeană"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "spaniolă mexicană"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "suedeză"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "swahili Congo"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamazight central marocană"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazight standard marocană"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilă"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thailandeză"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetană"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrină"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turcă"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraineană"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uigură"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbecă"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnameză"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/rof.json b/library/intl/resources/language/rof.json
new file mode 100644
index 000000000..3243b9f57
--- /dev/null
+++ b/library/intl/resources/language/rof.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakani"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Kihorombo"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kiingereza"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kyifaransa"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ru.json b/library/intl/resources/language/ru.json
new file mode 100644
index 000000000..e13e3a027
--- /dev/null
+++ b/library/intl/resources/language/ru.json
@@ -0,0 +1,738 @@
+{
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "авÑтралийÑкий английÑкий"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "авÑтрийÑкий немецкий"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "агхем"
+ },
+ "az": {
+ "code": "az",
+ "name": "азербайджанÑкий"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "акан"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "албанÑкий"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "американÑкий английÑкий"
+ },
+ "am": {
+ "code": "am",
+ "name": "амхарÑкий"
+ },
+ "en": {
+ "code": "en",
+ "name": "английÑкий"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "арабÑкий"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "арабÑкий литературный"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "армÑнÑкий"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "аÑа"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "аÑтурийÑкий"
+ },
+ "af": {
+ "code": "af",
+ "name": "африкаанÑ"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "бамбарийÑкий"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "баÑа"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "баÑкÑкий"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "бафиÑ"
+ },
+ "be": {
+ "code": "be",
+ "name": "белоруÑÑкий"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "бена"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "бенгальÑкий"
+ },
+ "my": {
+ "code": "my",
+ "name": "бирманÑкий"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "бодо"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "болгарÑкий"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "боÑнийÑкий"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "бразильÑкий португальÑкий"
+ },
+ "br": {
+ "code": "br",
+ "name": "бретонÑкий"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "британÑкий английÑкий"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ваи"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "валиÑÑкий"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "валлийÑкий"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "венгерÑкий"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "верхнелужицкий"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "вунджо"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "вьетнамÑкий"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "галиÑийÑкий"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ганда"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "голландÑкий"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "гренландÑкий"
+ },
+ "el": {
+ "code": "el",
+ "name": "гречеÑкий"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "грузинÑкий"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "гуджарати"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "гуÑии"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "гÑльÑкий"
+ },
+ "da": {
+ "code": "da",
+ "name": "датÑкий"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "дзонг-кÑ"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "дьола-фоньи"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "европейÑкий иÑпанÑкий"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "европейÑкий португальÑкий"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "западно-фризÑкий"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "зарма"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "зулу"
+ },
+ "he": {
+ "code": "he",
+ "name": "иврит"
+ },
+ "id": {
+ "code": "id",
+ "name": "индонезийÑкий"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ирландÑкий"
+ },
+ "is": {
+ "code": "is",
+ "name": "иÑландÑкий"
+ },
+ "es": {
+ "code": "es",
+ "name": "иÑпанÑкий"
+ },
+ "it": {
+ "code": "it",
+ "name": "итальÑнÑкий"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "йоруба"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "кабильÑкий"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "кабувердьÑну"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "казахÑкий"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "календжин"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "камба"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "канадÑкий английÑкий"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "канадÑкий французÑкий"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "каннада"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "каталанÑкий"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "кашмири"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "кваÑио"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "кёльш"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "кикуйю"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "киргизÑкий"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "китайÑкий"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "койра чиини"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "койраборо Ñенни"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "конголезÑкий Ñуахили"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "корейÑкий"
+ },
+ "km": {
+ "code": "km",
+ "name": "кхмерÑкий"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ланги"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "лаоÑÑкий"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "латышÑкий"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "лингала"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "литовÑкий"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "луба-катанга"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "луо (ÐšÐµÐ½Ð¸Ñ Ð¸ ТанзаниÑ)"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "лухьÑ"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "люкÑембургÑкий"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "маврикийÑкий креольÑкий"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "македонÑкий"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "маконде"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "макуа-меетто"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "малагаÑийÑкий"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "малайÑкий"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "малаÑлам"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "мальтийÑкий"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "маратхи"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "маÑаи"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "мачаме"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "меру"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "молдавÑкий"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "монгольÑкий"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "мунданг"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "нама"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "нгомба"
+ },
+ "de": {
+ "code": "de",
+ "name": "немецкий"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "непальÑкий"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "нижнелужицкий"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "норвежÑкий букмол"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "норвежÑкий нюнорÑк"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "нуÑÑ€"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ньÑнколе"
+ },
+ "or": {
+ "code": "or",
+ "name": "ориÑ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "панджаби"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "перÑидÑкий"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "польÑкий"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "португальÑкий"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "пушту"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "романшÑкий"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ромбо"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "руанда"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "румынÑкий"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "рунди"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "руÑÑкий"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Ñамбуру"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Ñанго"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Ñангу"
+ },
+ "se": {
+ "code": "se",
+ "name": "ÑеверноÑаамÑкий"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ñеверный ндебели"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Ñена"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ÑербÑкий"
+ },
+ "si": {
+ "code": "si",
+ "name": "ÑингальÑкий"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Ñловацкий"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ÑловенÑкий"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Ñога"
+ },
+ "so": {
+ "code": "so",
+ "name": "Ñомали"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "ÑреднеатлаÑÑкий тамазигхтÑкий"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Ñуахили"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "таита"
+ },
+ "th": {
+ "code": "th",
+ "name": "тайÑкий"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "тамазигхтÑкий"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "тамильÑкий"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "таÑавак"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "тахелхит"
+ },
+ "te": {
+ "code": "te",
+ "name": "телугу"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "теÑо"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "тибетÑкий"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "тигриньÑ"
+ },
+ "to": {
+ "code": "to",
+ "name": "тонганÑкий"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "традиционный китайÑкий"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "турецкий"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "узбекÑкий"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "уйгурÑкий"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "украинÑкий"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "упрощенный китайÑкий"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "урду"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "фарерÑкий"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "филиппинÑкий"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "финÑкий"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "фламандÑкий"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "французÑкий"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "фриульÑкий"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "фулах"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "хауÑа"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "хинди"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "хорватÑкий"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "чероки"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "чешÑкий"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "чига"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "шамбала"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "шведÑкий"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "швейцарÑкий верхненемецкий"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "швейцарÑкий немецкий"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "швейцарÑкий французÑкий"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "шона"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ñве"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ñвондо"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Ñмбу"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ÑÑперанто"
+ },
+ "et": {
+ "code": "et",
+ "name": "ÑÑтонÑкий"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Ñнбан"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ÑпонÑкий"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/rwk.json b/library/intl/resources/language/rwk.json
new file mode 100644
index 000000000..446b55ff9
--- /dev/null
+++ b/library/intl/resources/language/rwk.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakanyi"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamharyi"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Kiruwa"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kyiajemi"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kyiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kyibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kyibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kyibulgaryia"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kyiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kyichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kyichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kyifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kyigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kyihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kyihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kyihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kyiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kyihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kyiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kyiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kyijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kyijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kyikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kyikorea"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kyimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kyinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kyingereza"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kyipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kyipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kyireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kyiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kyirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kyisomalyi"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kyiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kyitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kyitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kyiturukyi"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kyiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kyiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kyivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kyiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kyizulu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/saq.json b/library/intl/resources/language/saq.json
new file mode 100644
index 000000000..aadbac26d
--- /dev/null
+++ b/library/intl/resources/language/saq.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kingereza"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kirusi"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Kisampur"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sbp.json b/library/intl/resources/language/sbp.json
new file mode 100644
index 000000000..2ad554ffd
--- /dev/null
+++ b/library/intl/resources/language/sbp.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Ishiajemi"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Ishibangila"
+ },
+ "be": {
+ "code": "be",
+ "name": "Ishibelalusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Ishibulugalia"
+ },
+ "my": {
+ "code": "my",
+ "name": "Ishibuluma"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ishifalansa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Ishigiliki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Ishihawusa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Ishihindi"
+ },
+ "id": {
+ "code": "id",
+ "name": "Ishihindonesia"
+ },
+ "es": {
+ "code": "es",
+ "name": "Ishihisipaniya"
+ },
+ "it": {
+ "code": "it",
+ "name": "Ishihitaliyano"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Ishiholansi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ishihungali"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Ishijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Ishijelumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Ishikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Ishikoleya"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Ishileno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Ishilomaniya"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Ishilusi"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Ishimalesiya"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Ishinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Ishingelesa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Ishipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Ishipunjabi"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Ishisangu"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Ishisheki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Ishishina"
+ },
+ "so": {
+ "code": "so",
+ "name": "Ishisomali"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Ishisulu"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Ishiswidi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Ishitamili"
+ },
+ "th": {
+ "code": "th",
+ "name": "Ishitayilandi"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Ishituluki"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Ishivietinamu"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Ishiwuludi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Ishiyakani"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Ishiyalabu"
+ },
+ "am": {
+ "code": "am",
+ "name": "Ishiyamuhali"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Ishiyoluba"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ishiyukilaniya"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/se-FI.json b/library/intl/resources/language/se-FI.json
new file mode 100644
index 000000000..365f39185
--- /dev/null
+++ b/library/intl/resources/language/se-FI.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikánsagiella"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albánagiella"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "álkes kiinnágiella"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "amerihkálaš eaŋgalsgiella"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharic"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arábagiella"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "árbevirolaš kiinnágiella"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenagiella"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiagiella"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "austrálialaš eaŋgalsgiella"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "belgialaš hollánddagiella"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalagiella"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniagiella"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brasilialaš portugálagiella"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonagiella"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "brihttalaš eaŋgalsgiella"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgáriagiella"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmagiella"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Äeahkagiella"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "dánskkagiella"
+ },
+ "se": {
+ "code": "se",
+ "name": "davvisámegiella"
+ },
+ "de": {
+ "code": "de",
+ "name": "duiskkagiella"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "durkagiella"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkhagiella"
+ },
+ "en": {
+ "code": "en",
+ "name": "eaŋgalsgiella"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "espánjalaš spánskkagiella"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "esttegiella"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "fearagiella"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippiinnagiella"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "fránskkagiella"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiagiella"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "girjedárogiella"
+ },
+ "el": {
+ "code": "el",
+ "name": "greikkagiella"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujaratagiella"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haussagiella"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindigiella"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "hollánddagiella"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "iirragiella"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiagiella"
+ },
+ "is": {
+ "code": "is",
+ "name": "islánddagiella"
+ },
+ "it": {
+ "code": "it",
+ "name": "itáliagiella"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japánagiella"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "kambožagiella"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanádalaš eaŋgalsgiella"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanádalaš fránskkagiella"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalánagiella"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakhgiella"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kiinnágiella"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreagiella"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroátiagiella"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "kymragiella"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laogiella"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "látviagiella"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "liettuvagiella"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburggagiella"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedoniagiella"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltagiella"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "meksikolaš spánskkagiella"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldávialaš romániagiella"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoliagiella"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalagiella"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "nuortariikkalaš duiskkagiella"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "oarjifriisagiella"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ođđadárogiella"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabagiella"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persijagiella"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polskkagiella"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugálagiella"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugálalaš portugálagiella"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romániagiella"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanšgiella"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruoššagiella"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ruoŧagiella"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbiagiella"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovákiagiella"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovenagiella"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "spánskkagiella"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "standárda arábagiella"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "suomagiella"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "šveicalaš duiskkagiella"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "šveicalaš fránskkagiella"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thaigiella"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetagiella"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainagiella"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungárgiella"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdugiella"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamagiella"
+ },
+ "be": {
+ "code": "be",
+ "name": "vilgesruoššagiella"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/se.json b/library/intl/resources/language/se.json
new file mode 100644
index 000000000..f12ea34fc
--- /dev/null
+++ b/library/intl/resources/language/se.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikánsagiella"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albánagiella"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "álki kiinágiella"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharic"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arábagiella"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "árbevirolaš kiinnágiella"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeenagiella"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiagiella"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalgiella"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniagiella"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonagiella"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgáriagiella"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmagiella"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Äeahkagiella"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "dánskkagiella"
+ },
+ "se": {
+ "code": "se",
+ "name": "davvisámegiella"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "de": {
+ "code": "de",
+ "name": "duiskkagiella"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "durkagiella"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkhagiella"
+ },
+ "en": {
+ "code": "en",
+ "name": "eaŋgalsgiella"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "esttegiella"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "fearagiella"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippiinnagiella"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "fránskkagiella"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiagiella"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "girjedárogiella"
+ },
+ "el": {
+ "code": "el",
+ "name": "greikkagiella"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujaratagiella"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "haussagiella"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindigiella"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "hollánddagiella"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "iirragiella"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiagiella"
+ },
+ "is": {
+ "code": "is",
+ "name": "islánddagiella"
+ },
+ "it": {
+ "code": "it",
+ "name": "itáliagiella"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japánagiella"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "kambodiagiella"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalánagiella"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakgiella"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kiinnágiella"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreagiella"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroátiagiella"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "kymragiella"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laogiella"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "látviagiella"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "liettuvagiella"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburggagiella"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedoniagiella"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltagiella"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoliagiella"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepaligiella"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "oarjifriisagiella"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ođđadárogiella"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabigiella"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persijagiella"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polskkagiella"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugálagiella"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romániagiella"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romanšgiella"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruoššagiella"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ruoŧagiella"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbiagiella"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovákiagiella"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovenagiella"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "spánskkagiella"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "suomagiella"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetagiella"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "th": {
+ "code": "th",
+ "name": "ŧaigiella"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainagiella"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungárgiella"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdugiella"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamgiella"
+ },
+ "be": {
+ "code": "be",
+ "name": "vilges-ruoššagiella"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/seh.json b/library/intl/resources/language/seh.json
new file mode 100644
index 000000000..1f6f598ed
--- /dev/null
+++ b/library/intl/resources/language/seh.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "de": {
+ "code": "de",
+ "name": "alemão"
+ },
+ "am": {
+ "code": "am",
+ "name": "amárico"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "árabe"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "be": {
+ "code": "be",
+ "name": "bielo-russo"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanês"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "búlgaro"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chinês"
+ },
+ "km": {
+ "code": "km",
+ "name": "cmer"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "coreano"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "espanhol"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francês"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "grego"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandês"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "húngaro"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonésio"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglês"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "iorubá"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "italiano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonês"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaio"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalês"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persa"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polonês"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "português"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romeno"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "russo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somali"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "sueco"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "tailandês"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tâmil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tcheco"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turco"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ucraniano"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamita"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ses.json b/library/intl/resources/language/ses.json
new file mode 100644
index 000000000..ba4758f12
--- /dev/null
+++ b/library/intl/resources/language/ses.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan senni"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "de": {
+ "code": "de",
+ "name": "Almaŋ senni"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amhaarik senni"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belaruus senni"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali senni"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulagaari senni"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burme senni"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Cek senni"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "Espaaɲe senni"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Farsi senni"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Fransee senni"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Grek senni"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hawsance senni"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Holandee senni"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungaari senni"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indoneesi senni"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Induu senni"
+ },
+ "en": {
+ "code": "en",
+ "name": "Inglisi senni"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Itaali senni"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japonee senni"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kmeer senni"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koree senni"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Laaraw senni"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Maleezi senni"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Neepal senni"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polonee senni"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugee senni"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjaabi sennii"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumaani senni"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Ruusi senni"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Sinuwa senni, Mandareŋ"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somaali senni"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Suweede senni"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "th": {
+ "code": "th",
+ "name": "Taailandu senni"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil senni"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turku senni"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukreen senni"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu senni"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnaam senni"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yorbance senni"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu senni"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sg.json b/library/intl/resources/language/sg.json
new file mode 100644
index 000000000..03350d6f4
--- /dev/null
+++ b/library/intl/resources/language/sg.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akâan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amarîki"
+ },
+ "en": {
+ "code": "en",
+ "name": "Anglëe"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arâbo"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengäli"
+ },
+ "be": {
+ "code": "be",
+ "name": "Bielörûsi"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulugäri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "it": {
+ "code": "it",
+ "name": "Ênnde"
+ },
+ "id": {
+ "code": "id",
+ "name": "Enndonezïi"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "Espanyöl"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Farânzi"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Farsî"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Gerêki"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Haüsä"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hîndi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Holandëe"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hongruäa"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kmêre"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreyëen"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malëe"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "my": {
+ "code": "my",
+ "name": "Miamära, Birimäni"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepalëe"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Penzäbï"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polonëe"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugëe, Pûra"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumëen"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rûsi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sängö"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Shinuäa"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somalïi"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Sueduäa"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tämûli"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thâi"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Tûrûku"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tyêki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrêni"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Ûrdu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnäm"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "de": {
+ "code": "de",
+ "name": "Zâmani"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Zaponëe"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zûlu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/shi-Latn.json b/library/intl/resources/language/shi-Latn.json
new file mode 100644
index 000000000..c2f2295af
--- /dev/null
+++ b/library/intl/resources/language/shi-Latn.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "be": {
+ "code": "be",
+ "name": "tabilarust"
+ },
+ "my": {
+ "code": "my",
+ "name": "tabirmanit"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "tablɣarit"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "tabnɣalit"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "tabnjabit"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "tabṛṭqizt"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "tabulunit"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "tacinwit"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "taɛrabt"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "tafitnamit"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "tafransist"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "tafursit"
+ },
+ "el": {
+ "code": "el",
+ "name": "tagrigit"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "tahawsat"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "tahindit"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "tahnɣarit"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "tahulandit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "tajabbunit"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "takant"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "takurit"
+ },
+ "de": {
+ "code": "de",
+ "name": "talimant"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "tamalawit"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tamazight"
+ },
+ "am": {
+ "code": "am",
+ "name": "tamharit"
+ },
+ "id": {
+ "code": "id",
+ "name": "tandunisit"
+ },
+ "en": {
+ "code": "en",
+ "name": "tanglizt"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "tanibalit"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "tarumanit"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "tarusit"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "es": {
+ "code": "es",
+ "name": "tasbnyulit"
+ },
+ "so": {
+ "code": "so",
+ "name": "tasumalit"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "taswidit"
+ },
+ "it": {
+ "code": "it",
+ "name": "taá¹­alyant"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tatamilt"
+ },
+ "th": {
+ "code": "th",
+ "name": "tataylandit"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tatcikit"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "taturkit"
+ },
+ "km": {
+ "code": "km",
+ "name": "taxmirt"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "tayrubat"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "tazulut"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "tukranit"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "turdut"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/shi.json b/library/intl/resources/language/shi.json
new file mode 100644
index 000000000..a20ffce0c
--- /dev/null
+++ b/library/intl/resources/language/shi.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "be": {
+ "code": "be",
+ "name": "ⵜⴰⴱⵉâµâ´°âµ”ⵓⵙⵜ"
+ },
+ "my": {
+ "code": "my",
+ "name": "ⵜⴰⴱⵉⵔⵎⴰâµâµ‰âµœ"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ⵜⴰⴱâµâµ–ⴰⵔⵉⵜ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ⵜⴰⴱâµâµŠâ´°â´±âµ‰âµœ"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ⵜⴰⴱâµâµ–â´°âµâµ‰âµœ"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ⵜⴰⴱⵓâµâµ“âµâµ‰âµœ"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ"
+ },
+ "el": {
+ "code": "el",
+ "name": "ⵜⴰⴳⵔⵉⴳⵉⵜ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ⵜⴰⴼⵉⵜâµâ´°âµŽâµ‰âµœ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ⵜⴰⴼⵓⵔⵙⵉⵜ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ⵜⴰⴼⵔⴰâµâµ™âµ‰âµ™âµœ"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "ⵜⴰⴽⴰâµâµœ"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ⵜⴰⴽⵓⵔⵉⵜ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ⵜⴰⵀⴰⵡⵙⴰⵜ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ⵜⴰⵀⵉâµâ´·âµ‰âµœ"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ⵜⴰⵀâµâµ–ⴰⵔⵉⵜ"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ⵜⴰⵀⵓâµâ´°âµâ´·âµ‰âµœ"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ⵜⴰⵄⵔⴰⴱⵜ"
+ },
+ "km": {
+ "code": "km",
+ "name": "ⵜⴰⵅⵎⵉⵔⵜ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ⵜⴰⵊⴰⴱⴱⵓâµâµ‰âµœ"
+ },
+ "de": {
+ "code": "de",
+ "name": "ⵜⴰâµâµ‰âµŽâ´°âµâµœ"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ⵜⴰⵎⴰâµâ´°âµ¡âµ‰âµœ"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ⵜⴰⵎⴰⵣⵉⵖⵜ"
+ },
+ "am": {
+ "code": "am",
+ "name": "ⵜⴰⵎⵀⴰⵔⵉⵜ"
+ },
+ "en": {
+ "code": "en",
+ "name": "ⵜⴰâµâ´³âµâµ‰âµ£âµœ"
+ },
+ "id": {
+ "code": "id",
+ "name": "ⵜⴰâµâ´·âµ“âµâµ‰âµ™âµ‰âµœ"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ⵜⴰâµâµ‰â´±â´°âµâµ‰âµœ"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ⵜⴰⵔⵓⵎⴰâµâµ‰âµœ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ⵜⴰⵔⵓⵙⵉⵜ"
+ },
+ "es": {
+ "code": "es",
+ "name": "ⵜⴰⵙⴱâµâµ¢âµ“âµâµ‰âµœ"
+ },
+ "so": {
+ "code": "so",
+ "name": "ⵜⴰⵙⵓⵎⴰâµâµ‰âµœ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ⵜⴰⵙⵡⵉⴷⵉⵜ"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ⵜⴰⵛⵉâµâµ¡âµ‰âµœ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ⵜⴰⵜⴰⵎⵉâµâµœ"
+ },
+ "th": {
+ "code": "th",
+ "name": "ⵜⴰⵜⴰⵢâµâ´°âµâ´·âµ‰âµœ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ⵜⴰⵜⵓⵔⴽⵉⵜ"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ⵜⴰⵜⵛⵉⴽⵉⵜ"
+ },
+ "it": {
+ "code": "it",
+ "name": "ⵜⴰⵟⴰâµâµ¢â´°âµâµœ"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ⵜⴰⵢⵔⵓⴱⴰⵜ"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ⵜⴰⵣⵓâµâµ“ⵜ"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ⵜⵓⴽⵔⴰâµâµ‰âµœ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ⵜⵓⵔⴷⵓⵜ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/si.json b/library/intl/resources/language/si.json
new file mode 100644
index 000000000..c0967dadd
--- /dev/null
+++ b/library/intl/resources/language/si.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "අකà·à¶±à·Š"
+ },
+ "af": {
+ "code": "af",
+ "name": "අප්â€à¶»à·’කà·à¶±à·”"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "අයර්ලන්ත"
+ },
+ "is": {
+ "code": "is",
+ "name": "අයිස්ලන්ත"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "අරà·à¶¶à·’"
+ },
+ "az": {
+ "code": "az",
+ "name": "අසර්බයිජà·à¶±à·Š"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "අසු"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ආර්මේනියà·à¶±à·”"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "ඇගම්"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ඇමෙරිකà·à¶±à·” ඉංග්â€à¶»à·“සි"
+ },
+ "am": {
+ "code": "am",
+ "name": "ඇම්හà·à¶»à·’ක්"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "ඇල්බේනියà·à¶±à·”"
+ },
+ "en": {
+ "code": "en",
+ "name": "ඉංග්â€à¶»à·“සි"
+ },
+ "it": {
+ "code": "it",
+ "name": "ඉතà·à¶½à·’"
+ },
+ "id": {
+ "code": "id",
+ "name": "ඉන්දුනීසියà·à¶±à·”"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ඉව්"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ඉහළ à·ƒà·à¶¶à·’යà·à¶±à·”"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "උතුරු එන්ඩිබෙලෙ"
+ },
+ "se": {
+ "code": "se",
+ "name": "උතුරු à·ƒà·à¶¸à·’"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "උයිගර්"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "උර්දු"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "උස්බෙක්"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "එම්බු"
+ },
+ "et": {
+ "code": "et",
+ "name": "එස්තà·à¶±à·’යà·à¶±à·”"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "එස්පà·à¶»à¶±à·Šà¶§à·"
+ },
+ "or": {
+ "code": "or",
+ "name": "ඔරියà·"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ඔස්ට්â€à¶»à·’යà·à¶±à·” ජර්මන්"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ඕස්ට්â€à¶»à·šà¶½à·’යà·à¶±à·” ඉංග්â€à¶»à·“සි"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "කණ්ණඩ"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "කබුවෙර්ඩියà·à¶±à·"
+ },
+ "km": {
+ "code": "km",
+ "name": "කමර්"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "කලà·à¶½à·’සට්"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "කලෙන්ජන්"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "කසà·à¶›à·Š"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "කà·à·‚්මීර්"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "කà·à¶§à¶½à¶±à·Š"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "කà·à¶±à·šà¶©à·’යà·à¶±à·” ඉංග්â€à¶»à·“සි"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "කà·à¶±à·šà¶©à·’යà·à¶±à·” ප්â€à¶»à¶‚à·"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "කà·à¶¶à¶½à·"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "කà·à¶¸à·Šà¶¶à·"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "කිකුයු"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "කිර්ගිස්"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "කුවà·à·ƒà·’ඔ"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "කොන්ග෠ස්වà·à·„ිලි"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "කොයිර෠චිනි"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "කොරියà·à¶±à·”"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "කà·à¶ºà·’රà·à¶¶à·œà¶»à·œ සෙන්නි"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "ක්â€à¶»à·à¶ºà·šà·à·’යà·à¶±à·”"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ගන්ඩà·"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ගà·à¶½à·“සියà·à¶±à·”"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ගුජරà·à¶§à·’"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "ගුසී"
+ },
+ "el": {
+ "code": "el",
+ "name": "ග්â€à¶»à·“ක"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "චිගà·"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "චීන"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "චෙත්"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "චෙරොකී"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ජන්ජà·à¶¶à·’"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ජපන්"
+ },
+ "de": {
+ "code": "de",
+ "name": "ජර්මන්"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "ජොල-à·†à·à¶±à·’යි"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ජà·à¶»à·Šà¶¢à·’යà·à¶±à·”"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ටචේල්හිට්"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "ටයිටà·"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "ටසවà·à¶šà·Š"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ටිග්â€à¶»à·’න්යà·"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ටිබෙට්"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "ටෙසà·"
+ },
+ "to": {
+ "code": "to",
+ "name": "ටොංගà·"
+ },
+ "da": {
+ "code": "da",
+ "name": "ඩà·à¶±à·’à·à·Š"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ඩිසොන්කà·"
+ },
+ "th": {
+ "code": "th",
+ "name": "තà·à¶ºà·’"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "තුර්කි"
+ },
+ "te": {
+ "code": "te",
+ "name": "තෙළිඟු"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "දෙමළ"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "නයන්කොළේ"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "නවීන සම්මත අරà·à¶¶à·’"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "නà·à¶¸à·"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "නේපà·à¶½"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "නොම්බà·"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "නොයර්"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "නොවේර්ජියà·à¶±à·” නයිනà·à¶»à·Šà·ƒà·Šà¶šà·Š"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "නà·à·€à·šà¶¢à·’යà·à¶±à·” බොක්මà·à¶½à·Š"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "පර්සියà·à¶±à·”"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "පෂ්ටො"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "පහළ à·ƒà·à¶¶à·’යà·à¶±à·”"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "පිලිපීන"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "පෘතුගීසි"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "පà·à¶½à¶±à·Šà¶­"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ප්â€à¶»à¶‚à·"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "බටහිර ෆ්â€à¶»à·’සියà·à¶±à·”"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "බම්බරà·"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "බල්ගේරියà·à¶±à·”"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "බà·à·†à·’යà·"
+ },
+ "my": {
+ "code": "my",
+ "name": "බුරුම"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "බෙංගà·à¶½à·’"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "බෙනà·"
+ },
+ "be": {
+ "code": "be",
+ "name": "බෙලරුසියà·à¶±à·”"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "බොඩො"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "බොස්කà·"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "බොස්නියà·à¶±à·”"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "බ්â€à¶»à·ƒà·“ල පෘතුගීසි"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "බ්â€à¶»à·’තà·à¶±à·Šâ€à¶º ඉංග්â€à¶»à·“සි"
+ },
+ "br": {
+ "code": "br",
+ "name": "බ්â€à¶»à·šà¶§à·œà¶±à·Š"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "මඛුවà·-මීටà·"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "මධ්â€à¶ºà¶¸ ඇට්ලස් ටමසිට්"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "මරà·à¶­à·’"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "මලගà·à·ƒà·’"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "මලයà·à¶½à¶¸à·Š"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "මසà·à¶ºà·’"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "මà·à¶šà·à¶¸à·“"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "මà·à¶šà·œà¶±à·Šà¶©à·Š"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "මà·à¶½à·š"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "මà·à·ƒà·’ඩà·à¶±à·’යà·à¶±à·”"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "මුන්ඩන්"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "මෙක්සිකà·à¶±à·” ස්පà·à¶¤à·Šà¶¤"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "මෙරු"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "මොංගà·à¶½à·’යà·à¶±à·”"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "මොරිස්යෙම්"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "මොල්ටිස්"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "යුක්රේනියà·à¶±à·”"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "යුරà·à¶´à·“ය පෘතුගීසි"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "යුරà·à¶´à·“ය ස්පà·à¶¤à·Šà¶¤"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "යොරූබà·"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "රුන්ඩි"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "රුසියà·à¶±à·”"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "රොමෑන්à·à·Š"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "රොමේනියà·à¶±à·”"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "රà·à¶¸à·Šà¶¶à·"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "ර්වà·"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ලංගි"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ලක්සà·à¶¸à·Šà¶¶à¶»à·Šà¶œà·Š"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ලන්දේසි"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ලà·à¶•"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ලà·à¶§à·Šà·€à·’යà·à¶±à·”"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ලිතුවේනියà·à¶±à·”"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ලින්ගලà·"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "ලු"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "ලුඔ"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "ලුයියà·"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "වයි"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "වියට්නà·à¶¸à·Š"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "වුන්ජà·"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "වේල්ස්"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "à·à·à¶¸à·Šà¶¶à¶½à·"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "à·à·à¶±à·"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "සංගු"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "සන්ග්â€à¶»à·"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "සම්බුරු"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "සම්මත මොරොක්ක෠ටමසිග්ත්"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "සර්බියà·à¶±à·”"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "à·ƒà·à¶¸à·Šà¶´à·Šâ€à¶»à¶¯à·à¶ºà·’ක චීන"
+ },
+ "si": {
+ "code": "si",
+ "name": "සිංහල"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "සුලු"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "සුළුකළ චීන"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "සෙනà·"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "සොගà·"
+ },
+ "so": {
+ "code": "so",
+ "name": "à·ƒà·à¶¸à·à¶½à·’"
+ },
+ "es": {
+ "code": "es",
+ "name": "ස්පà·à¶¤à·Šà¶¤"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ස්ලà·à·€à·à¶šà·Š"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ස්ලà·à·€à·šà¶±à·’යà·à¶±à·”"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "ස්වà·à·„ිලි"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "ස්විස් උසස් ජර්මන්"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "ස්විස් ජර්මනි"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "ස්විස් ප්â€à¶»à¶‚à·"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ස්වීඩන්"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "හන්ගේරියà·à¶±à·”"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "හින්දි"
+ },
+ "he": {
+ "code": "he",
+ "name": "හීබෲ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "à·„à·à·ƒà·"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ෆර්මà·"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "à·†à·à¶»à·à·ƒà·Š"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ෆින්ලන්ත"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ෆ්ලෙමිà·à·Š"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sk.json b/library/intl/resources/language/sk.json
new file mode 100644
index 000000000..a984c3e31
--- /dev/null
+++ b/library/intl/resources/language/sk.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikánÄina"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanÄina"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albánÄina"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharÄina"
+ },
+ "en": {
+ "code": "en",
+ "name": "angliÄtina"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "angliÄtina (americká)"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "angliÄtina (austrálska)"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "angliÄtina (britská)"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "angliÄtina (kanadská)"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabÄina"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "arabÄina (moderná Å¡tandardná)"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "arménÄina"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "astúrÄina"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbajdžanÄina"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambarÄina"
+ },
+ "my": {
+ "code": "my",
+ "name": "barmÄina"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskiÄtina"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengálÄina"
+ },
+ "be": {
+ "code": "be",
+ "name": "bieloruština"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniaÄtina"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretónÄina"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulharÄina"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Äerokí"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ÄeÅ¡tina"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ÄínÅ¡tina"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ÄínÅ¡tina (tradiÄná)"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ÄínÅ¡tina (zjednoduÅ¡ená)"
+ },
+ "da": {
+ "code": "da",
+ "name": "dánÄina"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "dolnolužická srbÄina"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzongkä"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estónÄina"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faerÄina"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipínÄina"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "fínÄina"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flámÄina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francúzština"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "francúzština (kanadská)"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "francúzÅ¡tina (Å¡vajÄiarska)"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulÄina"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulbÄina"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galícijÄina"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "gandÄina"
+ },
+ "el": {
+ "code": "el",
+ "name": "gréÄtina"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grónÄina"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruzínÄina"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžarátÄina"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hauština"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrejÄina"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindÄina"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandÄina"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "hornolužická srbÄina"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "chorvátÄina"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonézština"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "írÄina"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandÄina"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "jangben"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonÄina"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "jorubÄina"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabylÄina"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalendžin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannadÄina"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kapverdÄina"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kaÅ¡mírÄina"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalánÄina"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazaština"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmérÄina"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "kiga"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikujÄina"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgizština"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "kirundÄina"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kolínÄina"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "kórejÄina"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laoština"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingalÄina"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litovÄina"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "lotyština"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhja"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburÄina"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "macedónÄina"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "maÄarÄina"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makua-meetto"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajálamÄina"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajÄina"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaština"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltÄina"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maráthÄina"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masajÄina"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "mašame"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "maurícijská kreolÄina"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavÄina"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolÄina"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ňankole"
+ },
+ "de": {
+ "code": "de",
+ "name": "nemÄina"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "nemÄina (rakúska)"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "nemÄina (Å¡vajÄiarska spisovná)"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "nemÄina (Å¡vajÄiarska)"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepálÄina"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "nórsky bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nórsky nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandžábÄina"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paÅ¡tÄina"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "perzština"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "poľština"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalÄina"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugalÄina (brazílska)"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugalÄina (európska)"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "rétorománÄina"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumunÄina"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruština"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "severné ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "severné sami"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhalÄina"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovenÄina"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovinÄina"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somálÄina"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "srbÄina"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "svahilÄina"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "svahilÄina (konžská)"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Å¡ambala"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Å¡kótska gaelÄina"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Å¡onÄina"
+ },
+ "es": {
+ "code": "es",
+ "name": "Å¡panielÄina"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Å¡panielÄina (európska)"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Å¡panielÄina (mexická)"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Å¡védÄina"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "it": {
+ "code": "it",
+ "name": "talianÄina"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamašek (stredomarocký)"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamašek (štandardný marocký)"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilÄina"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugÄina"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thajÄina"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetÄina"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigriňa"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongÄina"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "tureÄtina"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujgurÄina"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrajinÄina"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdÄina"
+ },
+ "or": {
+ "code": "or",
+ "name": "uríjÄina"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeÄtina"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamÄina"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "waleština"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walserÄina"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "západná frízština"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "západná songhajÄina"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zuluština"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sl.json b/library/intl/resources/language/sl.json
new file mode 100644
index 000000000..b76fd92a0
--- /dev/null
+++ b/library/intl/resources/language/sl.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikanÅ¡Äina"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghemÅ¡Äina"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanÅ¡Äina"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanÅ¡Äina"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharÅ¡Äina"
+ },
+ "en": {
+ "code": "en",
+ "name": "angleÅ¡Äina"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "angleÅ¡Äina (VB)"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "angleÅ¡Äina (ZDA)"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabÅ¡Äina"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenÅ¡Äina"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturijÅ¡Äina"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asujÅ¡Äina"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "avstralska angleÅ¡Äina"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "avstrijska nemÅ¡Äina"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbajdžanÅ¡Äina"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambarÅ¡Äina"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskovÅ¡Äina"
+ },
+ "be": {
+ "code": "be",
+ "name": "beloruÅ¡Äina"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "benajÅ¡Äina"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalÅ¡Äina"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodojÅ¡Äina"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bolgarÅ¡Äina"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosanÅ¡Äina"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brazilska portugalÅ¡Äina"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonÅ¡Äina"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmanÅ¡Äina"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "ÄerokeÅ¡Äina"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ÄeÅ¡Äina"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "ÄigajÅ¡Äina"
+ },
+ "da": {
+ "code": "da",
+ "name": "danÅ¡Äina"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "dolnja lužiÅ¡ka srbÅ¡Äina"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "dzonka"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embujÅ¡Äina"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonÅ¡Äina"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "evenÅ¡Äina"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "evondovÅ¡Äina"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ferÅ¡Äina"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipinÅ¡Äina"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finÅ¡Äina"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamÅ¡Äina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francoÅ¡Äina"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frizijÅ¡Äina"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulÅ¡Äina"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "furlanÅ¡Äina"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicijÅ¡Äina"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "gornja lužiÅ¡ka srbÅ¡Äina"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grenlandÅ¡Äina"
+ },
+ "el": {
+ "code": "el",
+ "name": "grÅ¡Äina"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruzinÅ¡Äina"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžaratÅ¡Äina"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusijÅ¡Äina"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "havÅ¡Äina"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrejÅ¡Äina"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindujÅ¡Äina"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "hrvaÅ¡Äina"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "iberska portugalÅ¡Äina"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "iberska Å¡panÅ¡Äina"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonezijÅ¡Äina"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irÅ¡Äina"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandÅ¡Äina"
+ },
+ "it": {
+ "code": "it",
+ "name": "italijanÅ¡Äina"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonÅ¡Äina"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonjiÅ¡Äina"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "jorubÅ¡Äina"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabilÅ¡Äina"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjinÅ¡Äina"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kambaÅ¡Äina"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kanada"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadska angleÅ¡Äina"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadska francoÅ¡Äina"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kaÅ¡mirÅ¡Äina"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalonÅ¡Äina"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazaÅ¡Äina"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "khoekhoe"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikujÅ¡Äina"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiÅ¡Äina"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kitajÅ¡Äina"
+ },
+ "km": {
+ "code": "km",
+ "name": "kmerÅ¡Äina"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "knjižna norveÅ¡Äina"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korejÅ¡Äina"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "koyra chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koyraboro senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langijÅ¡Äina"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laoÅ¡Äina"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latvijÅ¡Äina"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litovÅ¡Äina"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhijÅ¡Äina"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luksemburÅ¡Äina"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "maÄamejÅ¡Äina"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "madžarÅ¡Äina"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonÅ¡Äina"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makondÅ¡Äina"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makuva-meto"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagaÅ¡Äina"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalamÅ¡Äina"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajÅ¡Äina"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "malteÅ¡Äina"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratÅ¡Äina"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masajÅ¡Äina"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavÅ¡Äina"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolÅ¡Äina"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisjenÅ¡Äina"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "de": {
+ "code": "de",
+ "name": "nemÅ¡Äina"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "nemÅ¡Äina (Å vica)"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalÅ¡Äina"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nizozemÅ¡Äina"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "njankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "novonorveÅ¡Äina"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuerÅ¡Äina"
+ },
+ "or": {
+ "code": "or",
+ "name": "orijÅ¡Äina"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandžabÅ¡Äina"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paÅ¡tunÅ¡Äina"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "perzijÅ¡Äina"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "poenostavljena kitajÅ¡Äina"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "poljÅ¡Äina"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalÅ¡Äina"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "retoromanÅ¡Äina"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "romunÅ¡Äina"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundÅ¡Äina"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruÅ¡Äina"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburÅ¡Äina"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangujÅ¡Äina"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "severna ndebelÅ¡Äina"
+ },
+ "se": {
+ "code": "se",
+ "name": "severna samijÅ¡Äina"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambala"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalÅ¡Äina"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovaÅ¡Äina"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovenÅ¡Äina"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "sodobna standardna arabÅ¡Äina"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "sogÅ¡Äina"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalÅ¡Äina"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "srbÅ¡Äina"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "standardni maroški tamazig"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "svahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "svahili (Kongo)"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Å¡kotska gelÅ¡Äina"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Å¡onÅ¡Äina"
+ },
+ "es": {
+ "code": "es",
+ "name": "Å¡panÅ¡Äina"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Å¡vedÅ¡Äina"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Å¡vicarska francoÅ¡Äina"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tahelitska berberÅ¡Äina"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taitajÅ¡Äina"
+ },
+ "th": {
+ "code": "th",
+ "name": "tajÅ¡Äina"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamašek (srednji atlas)"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilÅ¡Äina"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugijÅ¡Äina"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetanÅ¡Äina"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrajÅ¡Äina"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongÅ¡Äina"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "tradicionalna kitajÅ¡Äina"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turÅ¡Äina"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujgurÅ¡Äina"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrajinÅ¡Äina"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdujÅ¡Äina"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeÅ¡Äina"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vajÅ¡Äina"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "valižanÅ¡Äina"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamÅ¡Äina"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "visoka nemÅ¡Äina (Å vica)"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarmajÅ¡Äina"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "zelenortskootoÅ¡ka kreolÅ¡Äina"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulujÅ¡Äina"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sn.json b/library/intl/resources/language/sn.json
new file mode 100644
index 000000000..253341e8b
--- /dev/null
+++ b/library/intl/resources/language/sn.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "chiAkani"
+ },
+ "am": {
+ "code": "am",
+ "name": "chiAmaric"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "chiArabu"
+ },
+ "be": {
+ "code": "be",
+ "name": "chiBelarusi"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "chiBengali"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "chiBulgarian"
+ },
+ "my": {
+ "code": "my",
+ "name": "chiBurma"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "chiChinese"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "chiCzech"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "chiDutch"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "chiFurenchi"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "el": {
+ "code": "el",
+ "name": "chiGreek"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "chiHausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "chiHindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "chiHungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "chiIndonesia"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "chiJapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "chiJerimani"
+ },
+ "km": {
+ "code": "km",
+ "name": "chiKhema"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "chiKoria"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "chiMalay"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "chiNepali"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "chiPeshiya"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "chiPolish"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "chiPunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "chiPutukezi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "chiRashiya"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "chiRomanian"
+ },
+ "en": {
+ "code": "en",
+ "name": "Chirungu"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "chiShona"
+ },
+ "so": {
+ "code": "so",
+ "name": "chiSomali"
+ },
+ "es": {
+ "code": "es",
+ "name": "chiSpanish"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "chiSwedish"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "chiTamil"
+ },
+ "it": {
+ "code": "it",
+ "name": "chiTariana"
+ },
+ "th": {
+ "code": "th",
+ "name": "chiThai"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "chiTurkish"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "chiUkrenia"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "chiUrdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "chiVietnam"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "chiYoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "chiZulu"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/so.json b/library/intl/resources/language/so.json
new file mode 100644
index 000000000..a62759c15
--- /dev/null
+++ b/library/intl/resources/language/so.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaanays"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albaaniyaan"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armeeniyaan"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "am": {
+ "code": "am",
+ "name": "Axmaari"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Ayrish"
+ },
+ "is": {
+ "code": "is",
+ "name": "Ayslandays"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijan"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bangaali"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Bashtuu"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basquu"
+ },
+ "be": {
+ "code": "be",
+ "name": "Beleruusiyaan"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "br": {
+ "code": "br",
+ "name": "Bereton"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Boolish"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Boortaqiis"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Boortaqiis (Boortuqaal)"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Boortaqiiska Baraasiil"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Boosniya"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgeeriyaan"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Bunjaabi"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Carabi"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "he": {
+ "code": "he",
+ "name": "Cibri"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danmarkays"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Faarisi"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Faransiis"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Faransiis (Iswiiserlaand)"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Farowsi"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Fiinlaandees"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Fiitnaamays"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Firiisiyan Galbeed"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galiisiyaan"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "Giriik"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujaraati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hangariyaan"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hawsa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Holandays"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indunuusiyaan"
+ },
+ "en": {
+ "code": "en",
+ "name": "Ingiriisi"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Ingiriisi (Boqortooyada Midowday)"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Ingiriisi (Maraykan)"
+ },
+ "es": {
+ "code": "es",
+ "name": "Isbaanish"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Isbaanish (Isbayn)"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Isberento"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Iskot Giilik"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Islofeeniyaan"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Isloofaak"
+ },
+ "et": {
+ "code": "et",
+ "name": "Istooniyaan"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Jabbaaniis"
+ },
+ "de": {
+ "code": "de",
+ "name": "Jarmal"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Jarmal (Iswiiserlaand)"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Jayniis"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Jeeg"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Joorijiyaan"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kamboodhian"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannadays"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalaan"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgiis"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Koro’eeshiyaan"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kuuriyaan"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Laatfiyaan"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laothian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lituwaanays"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Maarati"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malaay"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltiis"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mangooli"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Masadooniyaan"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nebaali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Nowrwejiyan (naynoroski)"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romanka"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Ruush"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Sawaaxili"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Seerbiyaan"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhaleys"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Soomaali"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Swiidhis"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "th": {
+ "code": "th",
+ "name": "Taaylandays"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Tagalog"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "it": {
+ "code": "it",
+ "name": "Talyaani"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamiil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Teluugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turkish"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "UIGHUR"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urduu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Usbakis"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruuba"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Yukreeniyaan"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zuulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sq.json b/library/intl/resources/language/sq.json
new file mode 100644
index 000000000..802db1180
--- /dev/null
+++ b/library/intl/resources/language/sq.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikanisht"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "agemisht"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akanisht"
+ },
+ "am": {
+ "code": "am",
+ "name": "amarike"
+ },
+ "en": {
+ "code": "en",
+ "name": "anglisht"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "anglishte amerikane"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "anglishte australiane"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "anglishte britanike"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "anglishte kanadeze"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabisht"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "arabishte standarde moderne"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armenisht"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asuisht"
+ },
+ "az": {
+ "code": "az",
+ "name": "azere"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafianisht"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskisht"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalisht"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmanisht"
+ },
+ "be": {
+ "code": "be",
+ "name": "bjellorusisht"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmalishte norvegjeze"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "boshnjakisht"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretone"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bullgarisht"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "çekisht"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "çeroki"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "çigisht"
+ },
+ "da": {
+ "code": "da",
+ "name": "danisht"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embuisht"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonisht"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "faroisht"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipinase"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finlandisht"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamande"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "frëngjisht"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "frëngjishte kanadeze"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "frëngjishte zvicerane"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "frizianisht"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galike"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Galisht"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "gandisht"
+ },
+ "el": {
+ "code": "el",
+ "name": "greqisht"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusisht"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "guxharatisht"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gjeorgjisht"
+ },
+ "de": {
+ "code": "de",
+ "name": "gjermanisht"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "gjermanishte austriake"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "gjermanishte zvicerane"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "gjermanishte zvicerane (dialekti i Alpeve)"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausisht"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebraisht"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandisht"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "hungarisht"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "indishte"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonezisht"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandezçe"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandisht"
+ },
+ "it": {
+ "code": "it",
+ "name": "italisht"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japonisht"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "jorubisht"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "juisht"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabilisht"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kabuverdianisht"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalalisute"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjinisht"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kambishte"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kanade"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmire"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalonisht"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakisht"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikujuisht"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kinezisht"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "kinezishte e thjeshtuar"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "kinezishte tradicionale"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgizisht"
+ },
+ "km": {
+ "code": "km",
+ "name": "kmere"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "kojraçinisht"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreanisht"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroatisht"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kuasisht"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langisht"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laosisht"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letonisht"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingalisht"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lituanisht"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Lubakatange"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "lujaisht"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luksemburgase"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "luoisht"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "maçamisht"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makondisht"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makuamito"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malageze"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalame"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajisht"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltisht"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "maqedonisht"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratisht"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masaisht"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meruisht"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavishte"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolisht"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundagishte"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "namaishte"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ndebelishte veriore"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalisht"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngombisht"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "niankolisht"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ninorske norvegjeze"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "norisjene"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuerisht"
+ },
+ "or": {
+ "code": "or",
+ "name": "orije"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panxhabe"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persisht"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polonisht"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalisht"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "portugalishte braziliane"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "portugalishte evropiane"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "romboishte"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "rome"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "ruaisht"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumanisht"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundisht"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "rusisht"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburisht"
+ },
+ "se": {
+ "code": "se",
+ "name": "samishte veriore"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sangoisht"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sanguisht"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "senaishte"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "senishte kojrabore"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbisht"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhale"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "sllovakisht"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "sllovenisht"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "sogisht"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalisht"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "sorbiane e sipërme"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "sorbishte e poshtme"
+ },
+ "es": {
+ "code": "es",
+ "name": "spanjisht"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "spanjishte evropiane"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "spanjishte meksikane"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "suahilisht"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "suahilishte kongoje"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "suedisht"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambalisht"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shonisht"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "shqip"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "taçelit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taitisht"
+ },
+ "th": {
+ "code": "th",
+ "name": "tajlandisht"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "tamaziatishte atlase qendrore"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "tamazishte standarde marokene"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamile"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasaukisht"
+ },
+ "te": {
+ "code": "te",
+ "name": "teluge"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "tezoisht"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetisht"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinje"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganisht"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turqisht"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "uellsisht"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujgure"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainisht"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeke"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vaisht"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamisht"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjisht"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "xongka"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "xhula-fonji"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarmisht"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sr-Latn.json b/library/intl/resources/language/sr-Latn.json
new file mode 100644
index 000000000..6f9dfb15a
--- /dev/null
+++ b/library/intl/resources/language/sr-Latn.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "agem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanski"
+ },
+ "am": {
+ "code": "am",
+ "name": "amharski"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arapski"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturijski"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbejdžanski"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafija"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskijski"
+ },
+ "be": {
+ "code": "be",
+ "name": "beloruski"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalski"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosanski"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brazilski portugalski"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonski"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bugarski"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmanski"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "centralnoatlaski tamazigt"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Äeroki"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ÄeÅ¡ki"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Äiga"
+ },
+ "da": {
+ "code": "da",
+ "name": "danski"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "donji lužiÄkosrpski"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "džola fonji"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "džonga"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "en": {
+ "code": "en",
+ "name": "engleski"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estonski"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "eve"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Evondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "farski"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipinski"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finski"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamanski"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "francuski"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulijski"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galicijski"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ganda"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "gornji lužiÄkosrpski"
+ },
+ "el": {
+ "code": "el",
+ "name": "grÄki"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruzijski"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gudžarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusi"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebrejski"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "holandski"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "hrvatski"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Iberijski portugalski"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonežanski"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irski"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandski"
+ },
+ "it": {
+ "code": "it",
+ "name": "italijanski"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japanski"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "jermenski"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "joruba"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabile"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalalisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalendžin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kanada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kašmirski"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalonski"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazaški"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuju"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kineski"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiski"
+ },
+ "km": {
+ "code": "km",
+ "name": "kmerski"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "kojra Äiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "kojraboro seni"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "kongo svahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "korejski"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kvasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laoški"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "letonski"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litvanski"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "lujia"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luksemburški"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "maÄame"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "mađarski"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonski"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makuva-meeto"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malajalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajski"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malgaški"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "malteški"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marati"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "moderan standardni arapski"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldavski"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongolski"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisjen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "de": {
+ "code": "de",
+ "name": "nemaÄki"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalski"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norveški bokmal"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norveški ninorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "njankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "orija"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "pandžabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "paštunski"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persijski"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "poljski"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalski"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "reto-romanski"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rua"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumunski"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruski"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "severni ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "severni sami"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinhalski"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovaÄki"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovenaÄki"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalski"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "srpski"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "standardni marokanski tamazigt"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "svahili"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Å¡ambala"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Å kotski Galski"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Å¡ona"
+ },
+ "es": {
+ "code": "es",
+ "name": "Å¡panski"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Å vajcarski nemaÄki"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Å¡vajcarski visoki nemaÄki"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Å¡vedski"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "th": {
+ "code": "th",
+ "name": "tajlandski"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilski"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasavak"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tašelhit"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetanski"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turski"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ujgurski"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrajinski"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbeÄki"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "velški"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vijetnamski"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vundžo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "zapadni frizijski"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "zelenortski kreolski"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sr.json b/library/intl/resources/language/sr.json
new file mode 100644
index 000000000..37771d26d
--- /dev/null
+++ b/library/intl/resources/language/sr.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "агем"
+ },
+ "az": {
+ "code": "az",
+ "name": "азербејџанÑки"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "акан"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "албанÑки"
+ },
+ "am": {
+ "code": "am",
+ "name": "амхарÑки"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "арапÑки"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "ÐÑтуријÑки"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "аÑу"
+ },
+ "af": {
+ "code": "af",
+ "name": "африканÑ"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "бамбара"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "БаÑа"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "баÑкијÑки"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "бафија"
+ },
+ "be": {
+ "code": "be",
+ "name": "белоруÑки"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "бена"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "бенгалÑки"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "бодо"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "боÑанÑки"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "БразилÑки португалÑки"
+ },
+ "br": {
+ "code": "br",
+ "name": "бретонÑки"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "бугарÑки"
+ },
+ "my": {
+ "code": "my",
+ "name": "бурманÑки"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ваи"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "велшки"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "вијетнамÑки"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "вунџо"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "галицијÑки"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ганда"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "горњи лужичкоÑрпÑки"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "грузијÑки"
+ },
+ "el": {
+ "code": "el",
+ "name": "грчки"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "гуÑи"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "гуџарати"
+ },
+ "da": {
+ "code": "da",
+ "name": "данÑки"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "доњи лужичкоÑрпÑки"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "еве"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Евондо"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ембу"
+ },
+ "en": {
+ "code": "en",
+ "name": "енглеÑки"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "еÑперанто"
+ },
+ "et": {
+ "code": "et",
+ "name": "еÑтонÑки"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "западни фризијÑки"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "зарма"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "зеленортÑки креолÑки"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "зулу"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ИберијÑки португалÑки"
+ },
+ "id": {
+ "code": "id",
+ "name": "индонежанÑки"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ирÑки"
+ },
+ "is": {
+ "code": "is",
+ "name": "иÑландÑки"
+ },
+ "it": {
+ "code": "it",
+ "name": "италијанÑки"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "јапанÑки"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "јерменÑки"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "јоруба"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "кабиле"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "казашки"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "калалиÑут"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "каленџин"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "камба"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "канада"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "каталонÑки"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "кашмирÑки"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "кваÑио"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "кикују"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "кинеÑки"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "киргиÑки"
+ },
+ "km": {
+ "code": "km",
+ "name": "кмерÑки"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "којра чиини"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "којраборо Ñени"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "конго Ñвахили"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "корејÑки"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "ланги"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "лаошки"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "летонÑки"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "лингала"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "литванÑки"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "лујиа"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "лукÑембуршки"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "луо"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "мађарÑки"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "македонÑки"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "маконде"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "макува-меето"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "малајалам"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "малајÑки"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "малгашки"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "малтешки"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "марати"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "маÑаи"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "мачаме"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "меру"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "модеран Ñтандардни арапÑки"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "молдавÑки"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "монголÑки"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "мориÑјен"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "мунданг"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "нама"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "нгомба"
+ },
+ "de": {
+ "code": "de",
+ "name": "немачки"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "непалÑки"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "нјанколе"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "норвешки бокмал"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "норвешки нинорÑк"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "нуер"
+ },
+ "or": {
+ "code": "or",
+ "name": "орија"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "панџаби"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "паштунÑки"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "перÑијÑки"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "пољÑки"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "португалÑки"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "рето-романÑки"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ромбо"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "руа"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "румунÑки"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "рунди"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "руÑки"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Ñамбуру"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Ñанго"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Ñангу"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Ñвахили"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Ñеверни ндебеле"
+ },
+ "se": {
+ "code": "se",
+ "name": "Ñеверни Ñами"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Ñена"
+ },
+ "si": {
+ "code": "si",
+ "name": "ÑинхалÑки"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Ñловачки"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Ñловеначки"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Ñога"
+ },
+ "so": {
+ "code": "so",
+ "name": "ÑомалÑки"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ÑрпÑки"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Ñтандардни мароканÑки тамазигт"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "таита"
+ },
+ "th": {
+ "code": "th",
+ "name": "тајландÑки"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "тамилÑки"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "таÑавак"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ташелхит"
+ },
+ "te": {
+ "code": "te",
+ "name": "телугу"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "теÑо"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "тибетанÑки"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "тигриња"
+ },
+ "to": {
+ "code": "to",
+ "name": "тонга"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "турÑки"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "узбечки"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ујгурÑки"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "украјинÑки"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "урду"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "фарÑки"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "филипинÑки"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "финÑки"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "фламанÑки"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "француÑки"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ФриулијÑки"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Фулах"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "хауÑа"
+ },
+ "he": {
+ "code": "he",
+ "name": "хебрејÑки"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "хинди"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "холандÑки"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "хрватÑки"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "централноатлаÑки тамазигт"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "чероки"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "чешки"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "чига"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "џола фоњи"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "џонга"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "шамбала"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "швајцарÑки виÑоки немачки"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "ШвајцарÑки немачки"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "шведÑки"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "ШкотÑки ГалÑки"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "шона"
+ },
+ "es": {
+ "code": "es",
+ "name": "шпанÑки"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sv-FI.json b/library/intl/resources/language/sv-FI.json
new file mode 100644
index 000000000..c5f4fe34f
--- /dev/null
+++ b/library/intl/resources/language/sv-FI.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanska"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "amerikansk engelska"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhariska"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabiska"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeniska"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiska"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "australisk engelska"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbajdzjanska"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskiska"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "bhutanesiska"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "bokmål"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniska"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brasiliansk portugisiska"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonska"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "brittisk engelska"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgariska"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmesiska"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "centralmarockansk tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokesiska"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "da": {
+ "code": "da",
+ "name": "danska"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "engelska"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estniska"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "europeisk portugisiska"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "europeisk spanska"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippinska"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finska"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamländska"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franska"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulianska"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulani"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "färöiska"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "förenklad kinesiska"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galiciska"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Gao-songhay"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiska"
+ },
+ "el": {
+ "code": "el",
+ "name": "grekiska"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grönländska"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreiska"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "höglandsskotska"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "högsorbiska"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiska"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "iriska"
+ },
+ "is": {
+ "code": "is",
+ "name": "isländska"
+ },
+ "it": {
+ "code": "it",
+ "name": "italienska"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japanska"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyliska"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadensisk engelska"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadensisk franska"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kapverdiska"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalanska"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakiska"
+ },
+ "km": {
+ "code": "km",
+ "name": "khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "kimashami"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kinesiska"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgiziska"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "kisambaa"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongo-swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreanska"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroatiska"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölniska"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "lettiska"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litauiska"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "luganda"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhya"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "lusoga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgiska"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "lågsorbiska"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonska"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagassiska"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajiska"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltesiska"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "marockansk standard-tamazight"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massajiska"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "mauritansk kreol"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "mexikansk spanska"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "modern standardarabiska"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldaviska"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoliska"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nederländska"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalesiska"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "nordndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "nordsamiska"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorska"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjabi"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persiska"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polska"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugisiska"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumänska"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ryska"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "rätoromanska"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "schweizertyska"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "schweizisk franska"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "schweizisk högtyska"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbiska"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalesiska"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakiska"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovenska"
+ },
+ "so": {
+ "code": "so",
+ "name": "somaliska"
+ },
+ "es": {
+ "code": "es",
+ "name": "spanska"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svenska"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetanska"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinska"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Timbuktu-songhoy"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tjeckiska"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganska"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "traditionell kinesiska"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turkiska"
+ },
+ "de": {
+ "code": "de",
+ "name": "tyska"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uiguriska"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainska"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungerska"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbekiska"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vaj"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamesiska"
+ },
+ "be": {
+ "code": "be",
+ "name": "vitryska"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "västfrisiska"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "walesiska"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walsertyska"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "österrikisk tyska"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sv.json b/library/intl/resources/language/sv.json
new file mode 100644
index 000000000..8935f966b
--- /dev/null
+++ b/library/intl/resources/language/sv.json
@@ -0,0 +1,738 @@
+{
+ "ps": {
+ "code": "ps",
+ "name": "afghanska"
+ },
+ "af": {
+ "code": "af",
+ "name": "afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albanska"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "amerikansk engelska"
+ },
+ "am": {
+ "code": "am",
+ "name": "amhariska"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabiska"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armeniska"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "asturiska"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "australisk engelska"
+ },
+ "az": {
+ "code": "az",
+ "name": "azerbajdzjanska"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "basa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskiska"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengali"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "bhutanesiska"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniska"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "brasiliansk portugisiska"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretonska"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "brittisk engelska"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgariska"
+ },
+ "my": {
+ "code": "my",
+ "name": "burmesiska"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "centralmarockansk tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokesiska"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chiga"
+ },
+ "da": {
+ "code": "da",
+ "name": "danska"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "engelska"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "estniska"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "europeisk portugisiska"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "europeisk spanska"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ewondo"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filippinska"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "finska"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamländska"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "franska"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "friulianska"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "fulani"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "färöiska"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "förenklad kinesiska"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galiciska"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Gao-songhay"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "georgiska"
+ },
+ "el": {
+ "code": "el",
+ "name": "grekiska"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "grönländska"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "hebreiska"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindi"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "höglandsskotska"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "högsorbiska"
+ },
+ "id": {
+ "code": "id",
+ "name": "indonesiska"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "iriska"
+ },
+ "is": {
+ "code": "is",
+ "name": "isländska"
+ },
+ "it": {
+ "code": "it",
+ "name": "italienska"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "japanska"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "jola-fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "kabyliska"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "kambodjanska"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "kanadensisk engelska"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "kanadensisk franska"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannada"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kapverdiska"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmiriska"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalanska"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "kazakiska"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuyu"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "kimashami"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "kinesiska"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "kirgisiska"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "kisambaa"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongo-swahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreanska"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "kroatiska"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kwasio"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "kölniska"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laotiska"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "lettiska"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litauiska"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katanga"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "luganda"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luhya"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "lusoga"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "luxemburgiska"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "lågsorbiska"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedonska"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makhuwa-meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagassiska"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malajiska"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltesiska"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "marathi"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "marockansk standard-tamazight"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "massajiska"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "mauritansk kreol"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "mexikansk spanska"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "modern standardarabiska"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldaviska"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mongoliska"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "nama"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nederländska"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalesiska"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "nordndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "nordsamiska"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norskt bokmål"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankole"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "nynorska"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriya"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "persiska"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polska"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugisiska"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "punjabi"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumänska"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "rwa"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ryska"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "rätoromanska"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sangu"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "schweizertyska"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "schweizisk franska"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "schweizisk högtyska"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbiska"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "singalesiska"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakiska"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovenska"
+ },
+ "so": {
+ "code": "so",
+ "name": "somaliska"
+ },
+ "es": {
+ "code": "es",
+ "name": "spanska"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "svenska"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "swahili"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugiska"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "thailändska"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetanska"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrinja"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Timbuktu-songhoy"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "tjeckiska"
+ },
+ "to": {
+ "code": "to",
+ "name": "tonganska"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "traditionell kinesiska"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turkiska"
+ },
+ "de": {
+ "code": "de",
+ "name": "tyska"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uiguriska"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukrainska"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ungerska"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "uzbekiska"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vaj"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vietnamesiska"
+ },
+ "be": {
+ "code": "be",
+ "name": "vitryska"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjo"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "västfrisiska"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "walesiska"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "walsertyska"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zulu"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "österrikisk tyska"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/sw.json b/library/intl/resources/language/sw.json
new file mode 100644
index 000000000..db42e1e9e
--- /dev/null
+++ b/library/intl/resources/language/sw.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "af": {
+ "code": "af",
+ "name": "Kiafrikana"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Kiaghem"
+ },
+ "is": {
+ "code": "is",
+ "name": "Kiaisilandi"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakani"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Kialbania"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Kiarabu Sanifu cha Kisasa"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Kiarmenia"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Kiasu"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Kiayalandi"
+ },
+ "az": {
+ "code": "az",
+ "name": "Kiazabajani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Kibafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Kibambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Kibasaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Kibasque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Kibena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibengali"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Kibokmal cha Norwe"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Kibosnia"
+ },
+ "br": {
+ "code": "br",
+ "name": "Kibretoni"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kicheki"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Kicherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Kichiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Kichina cha Jadi"
+ },
+ "da": {
+ "code": "da",
+ "name": "Kidenmaki"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Kidolnoserbski"
+ },
+ "he": {
+ "code": "he",
+ "name": "Kiebrania"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Kiembu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Kiesperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Kiestonia"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Kiewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Kiewondo"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifaransa"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Kifaroe"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Kifilipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Kifinlandi"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Kifrisia cha Magharibi"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Kifulfulde"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Kigaeli cha Uskoti"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Kigalisi"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Kiganda"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Kigujarati"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Kihispania cha Ulaya"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kiingereza"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Kijaluo"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Kijerumani cha Uswisi"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Kijojia"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Kijola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kikabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kikabylia"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kikalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kikalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kikamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kikannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kikashmiri"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Kikatalani"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kikazaki"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kikirigizi"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Kikisii"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Kikoyra Chiini"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kikwasio"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Kilaosi"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Kilasembagi"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Kilatvia"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Kilingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Kilithuania"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Kiluba-Katanga"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Kiluhya"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Kimaasai"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Kimachame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Kimakhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Kimakonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Kimalayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Kimalta"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Kimarathi"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Kimasedonia"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Kimeru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Kimongolia"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Kimoriseni"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Kimundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Kinama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Kindebele cha Kaskazini"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Kingomba"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kingwana"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Kinorwe Kipya"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Kinuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Kinyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Kioriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Kipashto"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Kirangi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Kiromanshi"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Kirombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Kirundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kirusi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Kirwo"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Kisambaa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Kisamburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "Kisami cha Kaskazini"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Kisango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Kisangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Kisena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Kiserbia"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Kishona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Kisinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Kislovakia"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Kislovenia"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Kisoga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Kiswahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Kitaita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Kitasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Kitelugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Kiteso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Kitibeti"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Kitigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Kitonga"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Kiuiguri"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Kiuzbeki"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Kivai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Kivunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Kiwelisi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Kizarma"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Kizongkha"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroeshia"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasi"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Tamaziti Msingi ya Kimoroko"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/swc.json b/library/intl/resources/language/swc.json
new file mode 100644
index 000000000..f10d6289b
--- /dev/null
+++ b/library/intl/resources/language/swc.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kingereza"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Kiswahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kiswahili ya Kongo"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ta.json b/library/intl/resources/language/ta.json
new file mode 100644
index 000000000..b0c0f8ef9
--- /dev/null
+++ b/library/intl/resources/language/ta.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "அகானà¯"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "அகெமà¯"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "அசà¯"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "அபà¯à®ªà®°à¯ சோரà¯à®ªà®¿à®¯à®¾à®©à¯"
+ },
+ "am": {
+ "code": "am",
+ "name": "à®…à®®à¯à®¹à®¾à®°à®¿à®•à¯"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "அமெரிகà¯à®• ஆஙà¯à®•à®¿à®²à®®à¯"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "அரபிகà¯"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "அலà¯à®ªà¯‡à®©à®¿à®¯à®©à¯"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "அஸà¯à®¤à¯à®°à®¿à®¯à®©à¯"
+ },
+ "az": {
+ "code": "az",
+ "name": "அஸரà¯à®ªà¯ˆà®œà®¾à®©à®¿"
+ },
+ "af": {
+ "code": "af",
+ "name": "ஆஃபà¯à®°à®¿à®•à®¾à®©à¯à®¸à¯"
+ },
+ "en": {
+ "code": "en",
+ "name": "ஆஙà¯à®•à®¿à®²à®®à¯"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ஆரà¯à®®à¯‡à®©à®¿à®¯à®©à¯"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ஆஸà¯à®¤à®¿à®°à®¿à®¯ ஜெரà¯à®®à®©à¯"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ஆஸà¯à®¤à®¿à®°à¯‡à®²à®¿à®¯à®©à¯ ஆஙà¯à®•à®¿à®²à®®à¯"
+ },
+ "it": {
+ "code": "it",
+ "name": "இதà¯à®¤à®¾à®²à®¿à®¯à®©à¯"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "இநà¯à®¤à®¿"
+ },
+ "id": {
+ "code": "id",
+ "name": "இநà¯à®¤à¯‹à®©à¯‡à®·à®¿à®¯à®©à¯"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ஈவà¯"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "உகà¯à®°à¯ˆà®©à®¿à®¯à®©à¯"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "உயà¯à®•à¯à®°à¯"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "உரà¯à®¤à¯"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "உஸà¯à®ªà¯†à®•à¯"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "எமà¯à®ªà¯"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "எவோனà¯à®Ÿà¯‹"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "எளிதாகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿ சீனமà¯"
+ },
+ "et": {
+ "code": "et",
+ "name": "எஸà¯à®Ÿà¯‹à®©à®¿à®¯à®©à¯"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "எஸà¯à®ªà®°à¯‡à®©à¯à®Ÿà¯‹"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "à®à®°à®¿à®·à¯"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "à®à®°à¯‹à®ªà¯à®ªà®¿à®¯ போரà¯à®šà¯à®šà¯à®•à¯€à®¸à¯"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "à®à®°à¯‹à®ªà¯à®ªà®¿à®¯ ஸà¯à®ªà®¾à®©à®¿à®·à¯"
+ },
+ "is": {
+ "code": "is",
+ "name": "à®à®¸à¯à®²à¯†à®©à¯à®Ÿà®¿à®•à¯"
+ },
+ "or": {
+ "code": "or",
+ "name": "ஒரியா"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ஃபà¯à®°à®¿à®¯à¯‚லியனà¯"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ஃபரோயிஸà¯"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ஃபிலிபினோ"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ஃபினà¯à®©à®¿à®·à¯"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "ஃபà¯à®²à®¾"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "கà¯à®µà®¾à®šà®¿à®¯à¯‹"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "கசாகà¯"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "கபாயà¯à®²à¯"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "கபà¯à®µà¯†à®°à¯à®¤à®¿à®¯à®¾à®©à¯"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "கமà¯à®ªà®¾"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "கலாலிசூடà¯"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "கலினà¯à®œà®¿à®©à¯"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "கனà¯à®©à®Ÿà®®à¯"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "கனடிய பிரெஞà¯à®šà¯"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "கனடியன௠ஆஙà¯à®•à®¿à®²à®®à¯"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "காஙà¯à®•à¯‹ சà¯à®µà®¾à®¹à®¿à®²à®¿"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "காலிஸியனà¯"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "கானà¯à®Ÿà®¾"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "காஷà¯à®®à®¿à®°à®¿"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "கிகà¯à®¯à¯‚"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "கிரà¯à®•à®¿à®¸à¯"
+ },
+ "el": {
+ "code": "el",
+ "name": "கிரேகà¯à®•à®®à¯"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "கà¯à®°à¯‹à®·à®¿à®¯à®©à¯"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "கà¯à®œà®°à®¾à®¤à¯à®¤à®¿"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "கà¯à®¸à®¿"
+ },
+ "km": {
+ "code": "km",
+ "name": "கெமெரà¯"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "கேடà¯à®Ÿà®²à®¾à®©à¯"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "கொயà¯à®°à®¾ சீனீ"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "கொயà¯à®°à®¾à®ªà¯‹à®°à¯‹ செனà¯à®©à®¿"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "கொரியனà¯"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "சஙà¯à®•à¯"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "சமà¯à®ªà¯à®°à¯"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "சாஙà¯à®•à¯‹"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "சாரà¯à®®à®¾"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "சிகா"
+ },
+ "si": {
+ "code": "si",
+ "name": "சிஙà¯à®•à®³à®®à¯"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "சீனமà¯"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "சà¯à®µà®¾à®¹à®¿à®²à®¿"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "செகà¯"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "செரà¯à®ªà®¿à®¯à®©à¯"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "செரொகி"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "செனா"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "சோகா"
+ },
+ "so": {
+ "code": "so",
+ "name": "சோமாலி"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "டசà¯à®šà¯"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "டசவாகà¯"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "டரà¯à®•à®¿à®·à¯"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "டிகà¯à®°à®¿à®©à¯à®¯à®¾"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "டெசோ"
+ },
+ "da": {
+ "code": "da",
+ "name": "டேனிஷà¯"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "டைடா"
+ },
+ "to": {
+ "code": "to",
+ "name": "டோஙà¯à®•à®¾à®©à¯"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "தசேஹிதà¯"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "தமிழà¯"
+ },
+ "th": {
+ "code": "th",
+ "name": "தாயà¯"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "திபெதà¯à®¤à®¿à®¯à®©à¯"
+ },
+ "te": {
+ "code": "te",
+ "name": "தெலà¯à®™à¯à®•à¯"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "நகொமà¯à®ªà®¾"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "நாமா"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "நாரà¯à®µà¯‡à®œà®¿à®¯à®©à¯ நியூநாரà¯à®¸à¯à®•à¯"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "நாரà¯à®µà¯‡à®œà®¿à®¯à®©à¯ பொகà¯à®®à®¾à®²à¯"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "நியானà¯à®•à¯‹à®²à¯‡"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "நியூரà¯"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "நேபாளி"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "பஞà¯à®šà®¾à®ªà®¿"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "பமà¯à®ªà®¾à®°à®¾"
+ },
+ "my": {
+ "code": "my",
+ "name": "பரà¯à®®à®¿à®¸à¯"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "பலà¯à®•à¯‡à®°à®¿à®¯à®©à¯"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "பஷà¯à®¤à¯‹"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "பஸà¯à®•à¯"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "பாஃபியா"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "பாரமà¯à®ªà®°à®¿à®¯ சீனமà¯"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "பாஸா"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "பிரிடà¯à®Ÿà®¿à®·à¯ ஆஙà¯à®•à®¿à®²à®®à¯"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "பிரெஞà¯à®šà¯"
+ },
+ "br": {
+ "code": "br",
+ "name": "பிரெடà¯à®Ÿà®©à¯"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "பிலெமிஷà¯"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "பூடானி"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "பெரà¯à®·à®¿à®¯à®©à¯"
+ },
+ "be": {
+ "code": "be",
+ "name": "பெலாரà¯à®·à®¿à®¯à®©à¯"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "பெனா"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "போடோ"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "போரà¯à®šà¯à®šà¯à®•à¯à®•à¯€à®¸à¯"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "போரà¯à®šà¯à®šà¯à®•à¯€à®¸à¯ (பிரேசிலà¯)"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "போலிஷà¯"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "போஸà¯à®©à®¿à®¯à®©à¯"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "மகà¯à®µà®¾-மீடà¯à®Ÿà¯‹"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "மகொணà¯à®Ÿà¯‡"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "மஙà¯à®•à¯‹à®²à®¿à®¯à®©à¯"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "மதà¯à®¤à®¿à®¯ அடà¯à®²à®¸à¯ தமசைடà¯"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "மராதà¯à®¤à®¿"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "மலகாஸி"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "மலாயà¯"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "மலையாளமà¯"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "மாசாயà¯"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "மாசெமà¯"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "மாடரà¯à®©à¯ ஸà¯à®Ÿà®¾à®£à¯à®Ÿà®°à¯à®Ÿà¯ அரபிகà¯"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "மாலà¯à®Ÿà®¿à®¸à¯"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "மாஸிடோனியனà¯"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "à®®à¯à®©à¯à®Ÿà®¾à®™à¯"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "மெகà¯à®šà®¿à®•à®©à¯ ஸà¯à®ªà®¾à®©à®¿à®·à¯"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "மெரà¯"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "மேறà¯à®•à®¤à¯à®¤à®¿à®¯ ஃபà¯à®°à®¿à®·à®¿à®¯à®©à¯"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "மொரிசியனà¯"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "மோலà¯à®Ÿà®¾à®µà®¿à®¯à®©à¯"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "யோரà¯à®ªà®¾"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ரஷியனà¯"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "à®°à¯à®£à¯à®Ÿà®¿"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "à®°à¯à®µà®¾"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ரோமà¯à®ªà¯‹"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ரோமானà¯à®·à¯"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ரோமேனியனà¯"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "லகà¯à®¸à®®à¯à®ªà¯‹à®°à¯à®•à®¿à®·à¯"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "லஙà¯à®•à®¿"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "லாடà¯à®µà®¿à®¯à®©à¯"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "லாவோ"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "லிஙà¯à®•à®¾à®²à®¾"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "லிதà¯à®µà¯‡à®©à®¿à®¯à®©à¯"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "லà¯à®ªà®¾-கடாஙà¯à®•à®¾"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "லà¯à®¯à®¿à®¯à®¾"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "லà¯à®¯à¯‹"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "லோயர௠சோரà¯à®ªà®¿à®¯à®©à¯"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "வஙà¯à®•à®¾à®³à®®à¯"
+ },
+ "se": {
+ "code": "se",
+ "name": "வடகà¯à®•à¯ சமி"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "வடகà¯à®•à¯ தெபெலே"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "வியடà¯à®¨à®¾à®®à®¿à®¸à¯"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "வà¯à®©à¯à®œà¯‹"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "வெலà¯à®·à¯"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "வை"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ஜபà¯à®ªà®¾à®©à®¿à®¯à®®à¯"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ஜாரà¯à®œà®¿à®¯à®©à¯"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ஜà¯à®²à¯"
+ },
+ "de": {
+ "code": "de",
+ "name": "ஜெரà¯à®®à®©à¯"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "ஜோலா-ஃபோனà¯à®¯à®¿"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "à®·à®®à¯à®ªà®¾à®²à®¾"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ஷோனா"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "ஸà¯à®•à®¾à®Ÿà¯à®¸à¯ கேலிகà¯"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "ஸà¯à®Ÿà®¾à®£à¯à®Ÿà®°à¯à®Ÿà¯ மொராகà¯à®•à®©à¯ தமாசைடà¯"
+ },
+ "es": {
+ "code": "es",
+ "name": "ஸà¯à®ªà®¾à®©à®¿à®·à¯"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ஸà¯à®²à¯‹à®µà®¾à®•à¯"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ஸà¯à®²à¯‹à®µà¯‡à®©à®¿à®¯à®©à¯"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "ஸà¯à®µà®¿à®¸à¯ பிரஞà¯à®šà¯"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "ஸà¯à®µà®¿à®¸à¯ ஜெரà¯à®®à®©à¯"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "ஸà¯à®µà®¿à®¸à¯ ஹை ஜெரà¯à®®à®©à¯"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ஸà¯à®µà¯€à®Ÿà®¿à®·à¯"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ஹஙà¯à®•à¯‡à®°à®¿à®¯à®©à¯"
+ },
+ "he": {
+ "code": "he",
+ "name": "ஹீபà¯à®°à¯‚"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ஹௌஸா"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/te.json b/library/intl/resources/language/te.json
new file mode 100644
index 000000000..9a00f8ae9
--- /dev/null
+++ b/library/intl/resources/language/te.json
@@ -0,0 +1,738 @@
+{
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "అకానà±"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "అగేమà±"
+ },
+ "az": {
+ "code": "az",
+ "name": "అజరà±à°¬à±ˆà°œà°¾à°¨à°¿"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "à°…à°ªà±à°ªà°°à± సోరà±à°¬à°¿à°¯à°¨à±"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "అమెరికనౠఇంగà±à°²à±€à°·à±"
+ },
+ "am": {
+ "code": "am",
+ "name": "à°…à°®à±à°¹à°¾à°°à°¿à°•à±"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "అరబికà±"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "à°…à°²à±à°¬à±‡à°¨à°¿à°¯à°¨à±"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "à°…à°¸à±"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "à°…à°¸à±à°Ÿà±à°°à°¿à°¯à°¾à°¨à±"
+ },
+ "en": {
+ "code": "en",
+ "name": "ఆంగà±à°²à°‚"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ఆధà±à°¨à°¿à°• à°ªà±à°°à°¾à°®à°¾à°£à°¿à°• అరబికà±"
+ },
+ "af": {
+ "code": "af",
+ "name": "ఆఫà±à°°à°¿à°•à°¾à°¨à±à°¸à±"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ఆరà±à°®à±‡à°¨à°¿à°¯à°¨à±"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ఆసà±à°Ÿà±à°°à±‡à°²à°¿à°¯à°¨à± ఇంగà±à°²à±€à°·à±"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ఆసà±à°Ÿà±à°°à±‡à°²à°¿à°¯à°¨à± జరà±à°®à°¨à±"
+ },
+ "id": {
+ "code": "id",
+ "name": "ఇండోనేషియనà±"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ఇంబà±"
+ },
+ "it": {
+ "code": "it",
+ "name": "ఇటాలియనà±"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ఈవీ"
+ },
+ "et": {
+ "code": "et",
+ "name": "ఈసà±à°Ÿà±Šà°¨à°¿à°¯à°¨à±"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ఉకà±à°°à±‡à°¨à°¿à°¯à°¨à±"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ఉజà±à°¬à±†à°•à±"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ఉతà±à°¤à°° దెబెలె"
+ },
+ "se": {
+ "code": "se",
+ "name": "ఉతà±à°¤à°° సామి"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ఉయà±â€Œà°˜à°°à±"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ఉరà±à°¦à±‚"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ఎవోండొ"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "à°Žà°¸à±à°ªà°°à±†à°¨à±à°Ÿà±Š"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "à°à°°à°¿à°·à±"
+ },
+ "is": {
+ "code": "is",
+ "name": "à°à°¸à±à°²à°¾à°‚à°¡à°¿à°•à±"
+ },
+ "or": {
+ "code": "or",
+ "name": "ఒరియా"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "కంబా"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "కజఖà±"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "à°•à°¨à±à°¨à°¡"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "కలాలà±à°²à°¿à°¸à±‚à°Ÿà±"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "కలెంజినà±"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "కాంగో à°¸à±à°µà°¾à°¹à°¿à°²à°¿"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "కాబిలà±"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "కాబà±à°µà±‡à°°à±à°¦à°¿à°¯à°¨à±"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "కాశà±à°®à±€à°°à°¿"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "à°•à°¿à°•à±à°¯à±"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "à°•à°¿à°°à±à°—à°¿à°œà±"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "కెటలానà±"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "కెనడియనౠఇంగà±à°²à±€à°·à±"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "కెనడియెనౠఫà±à°°à±†à°‚à°šà±"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "కొయరా చీనà±à°¨à±€"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "కొరియనà±"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "కోయోరాబోరో సెనà±à°¨à±€"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "à°•à±à°°à±Šà°¯à±†à°·à°¿à°¯à°¨à±"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "à°•à±à°µà°¾à°¸à°¿à°¯à±†"
+ },
+ "km": {
+ "code": "km",
+ "name": "à°–à±à°®à±‡à°°à±"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "గాండా"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "à°—à±à°œà°°à°¾à°¤à°¿"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "à°—à±à°¸à±à°¸à±€"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "గెలిషియనà±"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "గోంబా"
+ },
+ "el": {
+ "code": "el",
+ "name": "à°—à±à°°à±€à°•à±"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "చెకà±"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "చెరోకీ"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "చైనీసà±"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "ఛిగా"
+ },
+ "de": {
+ "code": "de",
+ "name": "జరà±à°®à°¨à±"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "జాపనీసà±"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "జారà±à°œà°¿à°¯à°¨à±"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "జారà±à°®à°¾"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "జూలూ"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "జొనà±à°–à°¾"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "జోలా-ఫోనయి"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "à°Ÿà°°à±à°•à°¿à°·à±"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "టసావాఖà±"
+ },
+ "to": {
+ "code": "to",
+ "name": "టాంగానà±"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "టాచెలà±â€Œà°¹à°¿à°Ÿà±"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "టిబెటనà±"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "టెసో"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "టైటా"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "à°¡à°šà±"
+ },
+ "da": {
+ "code": "da",
+ "name": "డేనిషà±"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "తమిళమà±"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "తిగà±à°°à°¿à°¨à±à°¯à°¾"
+ },
+ "te": {
+ "code": "te",
+ "name": "తెలà±à°—à±"
+ },
+ "th": {
+ "code": "th",
+ "name": "థాయà±"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "నమ"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "నారà±à°µà°¿à°œà°¿à°¯à°¾à°¨à± à°¨à±à°¯à±‹à°°à±à°¸à±à°•à±"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "నారà±à°µà±€à°œà°¿à°¯à°¨à± బొకà±à°®à°¾à°²à±"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "నేపాలి"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "à°¨à±à°¯à°¾à°¨à±à°•à±‹à°²à±†"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "à°¨à±à°¯à±à°°à±"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "పంజాబీ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "పరà±à°·à°¿à°¯à°¨à±"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "పశà±à°šà°¿à°® à°«à±à°°à°¿à°¸à°¿à°¯à°¨à±"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "పాషà±à°Ÿà±‹"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "పోరà±à°šà±à°—ీసà±"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "పోలిషà±"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "à°ªà±à°°à°¾à°®à°¾à°£à°¿à°• మొరొకనౠతమజియటà±"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ఫారోయీజà±"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "à°«à°¿à°¨à±à°¨à°¿à°·à±"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ఫిలిపినో"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "à°«à±à°¯à±à°²"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "à°«à±à°°à°¿à°¯à±à°²à°¿à°¯à°¨à±"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "à°«à±à°°à±†à°‚à°šà±"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "à°«à±à°²à±†à°®à°¿à°·à±"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "బంబారా"
+ },
+ "my": {
+ "code": "my",
+ "name": "బరà±à°®à±€à°¸à±"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "బలà±à°—ేరియనà±"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "బసా"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "బాఫియ"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "బాసà±à°•à±"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "బీనా"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "బెంగాలీ"
+ },
+ "be": {
+ "code": "be",
+ "name": "బెలరà±à°¶à°¿à°¯à°¨à±"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "బోడో"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "బోసà±à°¨à°¿à°¯à°¨à±"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "à°¬à±à°°à°¿à°Ÿà°¿à°·à± ఇంగà±à°²à±€à°·à±"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "à°¬à±à°°à±†à°œà±€à°²à°¿à°¯à°¨à± పోరà±à°šà±à°—ీసà±"
+ },
+ "br": {
+ "code": "br",
+ "name": "à°¬à±à°°à±†à°Ÿà°¨à±"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "మంగోలియనà±"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "మకొండే"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "మకొమà±"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "మకà±à°µà°¾-మిటà±à°Ÿà±‹"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "మరాఠీ"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "మలయాళం"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "మలేయà±"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "మసడోనియనà±"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "మాలాగసి"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "మాలà±à°Ÿà±€à°¸à±"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "మాసాయి"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "à°®à±à°¦à°¾à°‚à°—à±"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "మెకà±à°¸à°¿à°•à°¨à± à°¸à±à°ªà°¾à°¨à°¿à°·à±"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "మెరà±"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "మొరిసà±à°¯à±‡à°¨à±"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "మొలà±à°¡à°¾à°µà°¿à°¯à°¨à±"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "యూరోపియనౠపోరà±à°šà±à°—ీసà±"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "యూరోపియనౠసà±à°ªà°¾à°¨à°¿à°·à±"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "యోరà±à°¬à°¾"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "à°°à°‚à°¡à°¿"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "à°°à°·à±à°¯à°¨à±"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "రోంబో"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "రోమనà±à°·à±"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "రోమానియనà±"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "à°°à±à°µà°¾"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "లాంగీ"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "లాటà±à°µà°¿à°¯à°¨à±"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "లావో"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "లింగాల"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "లిథà±à°¯à±‡à°¨à°¿à°¯à°¨à±"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "à°²à±à°•à±à°¸à°‚బరà±à°—à°¿à°·à±"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "à°²à±à°¯à°¿à°¯"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "à°²à±à°µà±‹"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "లూబ-కటాంగ"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "లోవరౠసోరà±à°¬à°¿à°¯à°¨à±"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "వాయి"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "వియతà±à°¨à°¾à°®à±€à°¸à±"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "à°µà±à°‚జొ"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "వెలà±à°·à±"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "శంబాలా"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "షోన"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "సంబà±à°°à±"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "సరళీకృత చైనీసà±"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "సాంగà±"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "సాంగో"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "సాంపà±à°°à°¦à°¾à°¯à°• చైనీసà±"
+ },
+ "si": {
+ "code": "si",
+ "name": "సింహళం"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "సెంటà±à°°à°²à± à°…à°Ÿà±à°²à°¾à°¸à± టామాజైటà±"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "సెనా"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "సెరà±à°¬à°¿à°¯à°¨à±"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "సొగా"
+ },
+ "so": {
+ "code": "so",
+ "name": "సోమాలి"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "à°¸à±à°•à°¾à°Ÿà°¿à°·à± గేలికà±"
+ },
+ "es": {
+ "code": "es",
+ "name": "à°¸à±à°ªà°¾à°¨à°¿à°·à±"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "à°¸à±à°²à±‹à°µà°¾à°•à±"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "à°¸à±à°²à±‹à°µà±‡à°¨à°¿à°¯à°¾à°¨à±"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "à°¸à±à°µà°¾à°¹à°¿à°²à°¿"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "à°¸à±à°µà°¿à°¸à± జరà±à°®à°¨à±"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "à°¸à±à°µà°¿à°¸à± à°«à±à°°à±†à°‚à°šà±"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "à°¸à±à°µà°¿à°¸à± హై జరà±à°®à°¨à±"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "à°¸à±à°µà±€à°¡à°¿à°·à±"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "హనà±à°—ేరియనà±"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "హిందీ"
+ },
+ "he": {
+ "code": "he",
+ "name": "హీబà±à°°à±"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "హౌసా"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/teo.json b/library/intl/resources/language/teo.json
new file mode 100644
index 000000000..59f0372dc
--- /dev/null
+++ b/library/intl/resources/language/teo.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kiajemi"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamhari"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kibulgaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kikorea"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kingereza"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kisomali"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kitamil"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Kiteso"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kituruki"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kivietinamu"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kizulu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/th.json b/library/intl/resources/language/th.json
new file mode 100644
index 000000000..f747a2392
--- /dev/null
+++ b/library/intl/resources/language/th.json
@@ -0,0 +1,738 @@
+{
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "el": {
+ "code": "el",
+ "name": "à¸à¸£à¸µà¸"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "à¸à¸£à¸µà¸™à¹à¸¥à¸™à¸”์"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "à¸à¸§à¸²à¸‹à¸´à¹‚อ"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "à¸à¸±à¸™à¸™à¸²à¸”า"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "à¸à¸±à¸¨à¸¡à¸µà¸£à¹Œ"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "à¸à¸²à¸•à¸²à¸¥à¸±à¸‡"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "à¸à¸²à¹„บล"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "à¸à¸²à¸¥à¸´à¹€à¸‹à¸µà¸¢"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "à¸à¸µà¸à¸¹à¸¢à¸¹"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "à¸à¸¸à¸‹à¸‹à¸µ"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "เà¸à¸²à¸«à¸¥à¸µ"
+ },
+ "km": {
+ "code": "km",
+ "name": "เขมร"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "คัมบา"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "คาซัค"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "คาบูเวอร์เดียนู"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "คาเลนจิน"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "คีà¸à¸²"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "คีร์à¸à¸µà¸‹"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "คุชราต"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "โคย์ราชีนี"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "โคย์ราโบโรเซนนี"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "โครเอเชีย"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "โคโลà¸"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "จอร์เจีย"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "จีน"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "จีนตัวเต็ม"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "จีนตัวย่อ"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "โจลา-ฟอนยี"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "ชัมบาลา"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "เช็à¸"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "เชอโรà¸à¸µ"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "โชนา"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ซองคา"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "ซอร์บส์ตอนบน"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "ซอร์บส์ตอนล่าง"
+ },
+ "se": {
+ "code": "se",
+ "name": "ซามิเหนือ"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "ซาร์มา"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ซูลู"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "เซนา"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "เซอร์เบีย"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "à¹à¸‹à¸‡à¸à¸¹"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "à¹à¸‹à¸‡à¹‚à¸"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "à¹à¸‹à¸¡à¸šà¸¹à¸£à¸¹"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "โซà¸à¸²"
+ },
+ "so": {
+ "code": "so",
+ "name": "โซมาลี"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "à¸à¸µà¹ˆà¸›à¸¸à¹ˆà¸™"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ดัตช์"
+ },
+ "da": {
+ "code": "da",
+ "name": "เดนมาร์à¸"
+ },
+ "to": {
+ "code": "to",
+ "name": "ตองà¸à¸²"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "ตัสซาวัค"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ติà¸à¸£à¸´à¸à¸à¸²"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ตุรà¸à¸µ"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "เตโซ"
+ },
+ "te": {
+ "code": "te",
+ "name": "เตลูà¸à¸¹"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ทมิฬ"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "ทาเชลีห์ท"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "ทามาไซต์โมร็อà¸à¹‚à¸à¸¡à¸²à¸•à¸£à¸à¸²à¸™"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "ทามาไซต์à¹à¸­à¸•à¸¥à¸²à¸ªà¸à¸¥à¸²à¸‡"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "ทิเบต"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "ไททา"
+ },
+ "th": {
+ "code": "th",
+ "name": "ไทย"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "นอร์เวย์นีนอสà¸à¹Œ"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "นอร์เวย์บุคมอล"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "นามา"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "เนปาล"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "เนียนโà¸à¹€à¸¥"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "เนือร์"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "บอสเนีย"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "บัมบารา"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "บัลà¹à¸à¹€à¸£à¸µà¸¢"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "บัสเà¸"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "บาเฟีย"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "บาสา"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "บุรุนดี"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "เบงà¸à¸²à¸¥à¸µ"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "เบนา"
+ },
+ "br": {
+ "code": "br",
+ "name": "เบรตัน"
+ },
+ "be": {
+ "code": "be",
+ "name": "เบลารุส"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ปัà¸à¸ˆà¸²à¸š"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "เปอร์เซีย"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "โปรตุเà¸à¸ª"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "โปรตุเà¸à¸ª - บราซิล"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "โปรตุเà¸à¸ª - ยุโรป"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "โปà¹à¸¥à¸™à¸”์"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "à¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ª"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "à¸à¸£à¸±à¹ˆà¸‡à¹€à¸¨à¸ª (สวิส)"
+ },
+ "my": {
+ "code": "my",
+ "name": "พม่า"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "พาชตู"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "โพโฑ"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "ฟริเซียนตะวันตà¸"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "ฟรูลี"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "ฟินà¹à¸¥à¸™à¸”์"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ฟิลิปปินส์"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "ฟูลาฮ์"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "เฟลมิช"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "à¹à¸Ÿà¹‚ร"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "มราà¸à¸µ"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "มองโà¸à¹€à¸¥à¸µà¸¢"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "มอริสเยน"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "มอลโดวา"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "มอลตา"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "มันดัง"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "มาà¸à¸±à¸§à¸§à¸²-มีทโท"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "มาคอนเด"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "มาชาเม"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "มาซิโดเนีย"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "มาไซ"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "มาลาà¸à¸²à¸‹à¸µ"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "มาลายาลัม"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "มาเลย์"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "เมรู"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ยูà¸à¸±à¸™à¸”า"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ยูเครน"
+ },
+ "de": {
+ "code": "de",
+ "name": "เยอรมัน"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "เยอรมัน - ออสเตรีย"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "เยอรมันสวิส"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "เยอรมันสูง (สวิส)"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "à¹à¸¢à¸‡à¹€à¸šà¸™"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "โยรูบา"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "รวา"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "รอมโบ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "รัสเซีย"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "โรมาเนีย"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "โรà¹à¸¡à¸™à¸‹à¹Œ"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ลัà¸à¹€à¸‹à¸¡à¹€à¸šà¸´à¸£à¹Œà¸"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ลัตเวีย"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "ลัว"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "ลาว"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "ลิงà¸à¸²à¸¥à¸²"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ลิทัวเนีย"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "ลูบา-à¸à¸²à¸•à¸­à¸‡à¸à¸²"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "ลูเยีย"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "à¹à¸¥à¸™à¸ˆà¸µ"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "วัลเซอร์"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "วุนจู"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "เวลส์"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "เวียดนาม"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ไว"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "สà¸à¸­à¸•à¸ªà¹Œà¸à¸²à¸¥à¸´à¸"
+ },
+ "es": {
+ "code": "es",
+ "name": "สเปน"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "สเปน (ยุโรป)"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "สโลวัà¸"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "สโลวีเนีย"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "สวาฮีลี"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "สวาฮีลี-คองโà¸"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "สวีเดน"
+ },
+ "si": {
+ "code": "si",
+ "name": "สิงหล"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "อัà¸à¹€à¸®à¸¡"
+ },
+ "en": {
+ "code": "en",
+ "name": "อังà¸à¸¤à¸©"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "อังà¸à¸¤à¸© - à¹à¸„นาดา"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "อังà¸à¸¤à¸© - สหราชอาณาจัà¸à¸£"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "อังà¸à¸¤à¸© - อเมริà¸à¸±à¸™"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "อังà¸à¸¤à¸© - ออสเตรเลีย"
+ },
+ "am": {
+ "code": "am",
+ "name": "อัมฮารา"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "อัสตูเรียส"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "อาคัน"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "อาซู"
+ },
+ "az": {
+ "code": "az",
+ "name": "อาเซอร์ไบจาน"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "อาร์เมเนีย"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "อาหรับ"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "อาหรับมาตรà¸à¸²à¸™à¸ªà¸¡à¸±à¸¢à¹ƒà¸«à¸¡à¹ˆ"
+ },
+ "it": {
+ "code": "it",
+ "name": "อิตาลี"
+ },
+ "id": {
+ "code": "id",
+ "name": "อินโดนีเชีย"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "อีวันโด"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "อึนà¸à¸­à¸¡à¸šà¸²"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "อุซเบà¸"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "อุยà¸à¸±à¸§"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "อูรดู"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "เอ็นเดเบเลเหนือ"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "เอ็มบู"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "เอเว"
+ },
+ "et": {
+ "code": "et",
+ "name": "เอสโตเนีย"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "เอสเปอรันโต"
+ },
+ "af": {
+ "code": "af",
+ "name": "à¹à¸­à¸Ÿà¸£à¸´à¸à¸²à¸™à¸ªà¹Œ"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "à¹à¸­à¸¥à¹€à¸šà¹€à¸™à¸µà¸¢"
+ },
+ "or": {
+ "code": "or",
+ "name": "โอริยา"
+ },
+ "is": {
+ "code": "is",
+ "name": "ไอซ์à¹à¸¥à¸™à¸”์"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ไอริช"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ฮังà¸à¸²à¸£à¸µ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ฮินดี"
+ },
+ "he": {
+ "code": "he",
+ "name": "ฮิบรู"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "เฮาชา"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ti.json b/library/intl/resources/language/ti.json
new file mode 100644
index 000000000..70af1ec92
--- /dev/null
+++ b/library/intl/resources/language/ti.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmese"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chinese"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somali"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ሀንጋሪኛ"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "ሊቱአኒየን"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "ላቲቪያን"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ሕንደኛ"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "ማላያላáˆáŠ›"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ማላይኛ"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "ማáˆá‰²áˆµáŠ›"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "ማራቲኛ"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "ማክዶኒኛ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ራሽኛ"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ሮማኒያን"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ሰርቢኛ"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "ሰዋሂሊኛ"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "ስሎቨክኛ"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ስá‰á‰ªáŠ›"
+ },
+ "si": {
+ "code": "si",
+ "name": "ስንሃáˆáŠ›"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ስዊድንኛ"
+ },
+ "es": {
+ "code": "es",
+ "name": "ስá“ኒሽ"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "በንጋሊኛ"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ቡáˆáŒ‹áˆªáŠ›"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "ባስክኛ"
+ },
+ "be": {
+ "code": "be",
+ "name": "ቤላራሻኛ"
+ },
+ "br": {
+ "code": "br",
+ "name": "ብሬቶን"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "ቦስኒያን"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ቪትናáˆáŠ›"
+ },
+ "te": {
+ "code": "te",
+ "name": "ተሉጉኛ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ቱርከኛ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ታሚáˆáŠ›"
+ },
+ "th": {
+ "code": "th",
+ "name": "ታይኛ"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "ታጋሎገኛ"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ትáŒáˆ­áŠ›"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ቼክኛ"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ኔá–ሊኛ"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ኖርዌይኛ (ናይ áŠáŠ–ርስክ)"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "አáˆá‰¤áŠ’ኛ"
+ },
+ "am": {
+ "code": "am",
+ "name": "አáˆáˆáˆ¨áŠ›"
+ },
+ "az": {
+ "code": "az",
+ "name": "አዜርባይጃንኛ"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "አይሪሽ"
+ },
+ "is": {
+ "code": "is",
+ "name": "አይስላንደኛ"
+ },
+ "af": {
+ "code": "af",
+ "name": "አáሪቃንሰኛ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ኡርዱኛ"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ኡá‹á‰ áŠ­áŠ›"
+ },
+ "et": {
+ "code": "et",
+ "name": "ኤስቶኒአን"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ኤስáራንቶ"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "እስኮትስ ጌáˆáŠ­áŠ›"
+ },
+ "id": {
+ "code": "id",
+ "name": "እንዶኑሲኛ"
+ },
+ "en": {
+ "code": "en",
+ "name": "እንáŒáˆŠá‹áŠ›"
+ },
+ "or": {
+ "code": "or",
+ "name": "ኦሪያ"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "ኪሩጋዚ"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "ካማደኛ"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "ካታላን"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "ክሮሽያንኛ"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ኮሪያኛ"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ወáˆáˆ½"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ዓረበኛ"
+ },
+ "he": {
+ "code": "he",
+ "name": "ዕብራስጥ"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ዙሉኛ"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ዩክረኒኛ"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ደች"
+ },
+ "da": {
+ "code": "da",
+ "name": "ዴኒሽ"
+ },
+ "de": {
+ "code": "de",
+ "name": "ጀርመን"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ጃá“ንኛ"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "ጉጃራቲኛ"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "ጊዮርጊያኛ"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "ጋለቪኛ"
+ },
+ "el": {
+ "code": "el",
+ "name": "áŒáˆªáŠ¨áŠ›"
+ },
+ "it": {
+ "code": "it",
+ "name": "ጣሊያንኛ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "áˆáˆ¨áŠ•áˆ³á‹­áŠ›"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "áŠáŠ’ሽ"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "á‹áˆ®áŠ›"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "áሪሰኛ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "áርሲያኛ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "á‘ንጃቢኛ"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "á“ሽቶ"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "á–ሊሽ"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "á–ርቱጋሊኛ"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "á–ርቱጋáˆáŠ› (ናይ ብራዚáˆ)"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "á–ርቱጋáˆáŠ› (ናይ á–ርቱጋáˆ)"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/to.json b/library/intl/resources/language/to.json
new file mode 100644
index 000000000..d7a685c78
--- /dev/null
+++ b/library/intl/resources/language/to.json
@@ -0,0 +1,738 @@
+{
+ "fr": {
+ "code": "fr",
+ "name": "lea fakafalanisē"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "lea fakafalanisÄ“-kÄnata"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "lea fakafalanisē-suisilani"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "lea fakafaloe"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "lea fakafilipaini"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "lea fakafilisia-hihifo"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "lea fakafinilani"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "lea fakafulÄ"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "lea fakafulilÄni"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "lea fakahausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "lea fakahepelū"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "lea fakahinitī"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "lea fakahÅlani"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "lea fakahÅlani-pelesiume"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "lea fakahungakalia"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "lea fakaʻaelani"
+ },
+ "af": {
+ "code": "af",
+ "name": "lea fakaʻafilikana"
+ },
+ "is": {
+ "code": "is",
+ "name": "lea fakaʻaisilani"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "lea fakaʻakani"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "lea fakaʻakihemi"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "lea fakaʻalapēnia"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "lea fakaʻalepea"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "lea fakaÊ»alepea (mÄmani)"
+ },
+ "am": {
+ "code": "am",
+ "name": "lea fakaʻameliki"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "lea fakaÊ»Ämenia"
+ },
+ "az": {
+ "code": "az",
+ "name": "lea fakaʻasapaisani"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "lea fakaʻasitūlia"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "lea fakaʻasu"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "lea fakaʻemipū"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "lea fakaʻesipulanito"
+ },
+ "et": {
+ "code": "et",
+ "name": "lea fakaÊ»esitÅnia"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "lea fakaʻeue"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "lea fakaÊ»euÅnito"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "lea fakaʻiangipeni"
+ },
+ "or": {
+ "code": "or",
+ "name": "lea fakaÊ»initia-Ê»olÄea"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "lea fakaÊ»initia-malÄialami"
+ },
+ "te": {
+ "code": "te",
+ "name": "lea fakaʻinitia-teluku"
+ },
+ "id": {
+ "code": "id",
+ "name": "lea fakaÊ»initÅnesia"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "lea fakaÊ»iÅlupa"
+ },
+ "it": {
+ "code": "it",
+ "name": "lea fakaʻītali"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "lea fakaʻualiseli"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "lea fakaʻuikūli"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "lea fakaʻūkalaʻine"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "lea fakaʻusipeki"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "lea fakaʻūtū"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "lea fakaiola-fonī"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "lea fakakaeliki"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "lea fakakalaʻalisuti"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "lea fakakalenisini"
+ },
+ "el": {
+ "code": "el",
+ "name": "lea fakakalisi"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "lea fakakalisia"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "lea fakakamipa"
+ },
+ "km": {
+ "code": "km",
+ "name": "lea fakakamipÅtia"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "lea fakakanata"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "lea fakakanita"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "lea fakakapile"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "lea fakakapuvelitianu"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "lea fakakasaki"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "lea fakakÄsimila"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "lea fakakatalani"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "lea fakakika"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "lea fakakikuiu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "lea fakakīsisi"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "lea fakakoila-sīni"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "lea fakakoilapolo-seni"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "lea fakakÅlea"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "lea fakakolongia"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "lea fakakuasio"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "lea fakakuloisia"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "lea fakakusī"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "lea fakakutalati"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "lea fakalaito-lomēnia"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "lea fakalakisimipeki"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "lea fakalangi"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "lea fakalativia"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "lea fakalau"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "lea fakalituania"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "lea fakalÅmenia"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "lea fakalomipÅ"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "lea fakaluÄ"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "lea fakaluaniti"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "lea fakaluīa"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "lea fakaluo"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "lea fakalupa-katanga"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "lea fakalūsia"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "lea fakamakÅnite"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "lea fakamakūa-meʻeto"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "lea fakamalakasi"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "lea fakamalati"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "lea fakamalei"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "lea fakamasai"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "lea fakamasame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "lea fakamasitÅnia"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "lea fakamelu"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "lea fakamolisieni"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "lea fakamolitÄvia"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "lea fakamolota"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "lea fakamongokÅlia"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "lea fakamunitangi"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "lea fakanama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "lea fakanepali"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "lea fakanetepele-tokelau"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "lea fakanianikole"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "lea fakanikÅmipa"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "lea fakanoauē-ninosiki"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "lea fakanouaē-pokimali"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "lea fakanueli"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "lea fakapafia"
+ },
+ "en": {
+ "code": "en",
+ "name": "lea fakapÄlangi"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "lea fakapÄlangi-Ê»amelika"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "lea fakapÄlangi-Ê»aositelÄ“lia"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "lea fakapÄlangi-kÄnata"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "lea fakapamipala"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "lea fakapasaʻa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "lea fakapÄsiki"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "lea fakapasitÅ"
+ },
+ "be": {
+ "code": "be",
+ "name": "lea fakapelalusi"
+ },
+ "br": {
+ "code": "br",
+ "name": "lea fakapeletoni"
+ },
+ "my": {
+ "code": "my",
+ "name": "lea fakapema"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "lea fakapena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "lea fakapengikali"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "lea fakapēsia"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "lea fakapilitÄnia"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "lea fakapÅlani"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "lea fakaposinia"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "lea fakapÅto"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "lea fakapotukali"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "lea fakapotukali-ʻiulope"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "lea fakapotukali-palÄsili"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "lea fakapulukalia"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "lea fakapūnusapi"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "lea fakaputeni"
+ },
+ "se": {
+ "code": "se",
+ "name": "lea fakasami-tokelau"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "lea fakasamipulu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "lea fakasangikÅ"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "lea fakasangu"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "lea fakaseki"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "lea fakaselokī"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "lea fakasena"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "lea fakaseÅsia"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "lea fakasēpia"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "lea fakasiaina"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "lea fakasiaina-fakafaingofua"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "lea fakasiaina-tukufakaholo"
+ },
+ "de": {
+ "code": "de",
+ "name": "lea fakasiamane"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "lea fakasiamane-hake-suisilani"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "lea fakasiamane-ʻaositulia"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "lea fakasiamane-suisilani"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "lea fakasiamipala"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "lea fakasiapani"
+ },
+ "si": {
+ "code": "si",
+ "name": "lea fakasingihala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "lea fakasiona"
+ },
+ "es": {
+ "code": "es",
+ "name": "lea fakasipēnisi"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "lea fakasipēnisi-‘iulope"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "lea fakasipēnisi-mekisikou"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "lea fakasoka"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "lea fakasolÄvaki"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "lea fakasolovenia"
+ },
+ "so": {
+ "code": "so",
+ "name": "lea fakasomali"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "lea fakasÅpia-hake"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "lea fakasÅpia-hifo"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "lea fakasuahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "lea fakasuahili-kongikÅ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "lea fakasuēteni"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "lea fakasulu"
+ },
+ "th": {
+ "code": "th",
+ "name": "lea fakatailani"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "lea fakataita"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "lea fakatamasaiti-ʻatilasi-loloto"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "lea fakatamasaiti-moloko"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "lea fakatamili"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "lea fakatasauaki"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "lea fakataselihiti"
+ },
+ "da": {
+ "code": "da",
+ "name": "lea fakatenimaʻake"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "lea fakateso"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "lea fakatikilinia"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "lea fakatipeti"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "lea fakatisÄma"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "lea fakatoake"
+ },
+ "to": {
+ "code": "to",
+ "name": "lea fakatonga"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "lea fakauēlesi"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "lea fakavai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "lea fakavietinami"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "lea fakavūniso"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lea lingikala"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/tr.json b/library/intl/resources/language/tr.json
new file mode 100644
index 000000000..525091b88
--- /dev/null
+++ b/library/intl/resources/language/tr.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaanca"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "de": {
+ "code": "de",
+ "name": "Almanca"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Amerikan Ä°ngilizcesi"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amharca"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arapça"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Arnavutça"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturyasca"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Aşağı Sorbça"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Avrupa İspanyolcası"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Avrupa Portekizcesi"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Avustralya Ä°ngilizcesi"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Avusturya Almancası"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerice"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basa Dili"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "Basitleştirilmiş Çince"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Baskça"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Batı Frizcesi"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengalce"
+ },
+ "be": {
+ "code": "be",
+ "name": "Beyaz Rusça"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Boşnakça"
+ },
+ "br": {
+ "code": "br",
+ "name": "Bretonca"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brezilya Portekizcesi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgarca"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmaca"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Butan Dili"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Çekçe"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Çerokice"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Çince"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danca"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "id": {
+ "code": "id",
+ "name": "Endonezce"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Ermenice"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonca"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroe Dili"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Farsça"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipince"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Fince"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flamanca"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Fransızca"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Galce"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galiçyaca"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Geleneksel Çince"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Grönland Dili"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Güceratça"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Gürcüce"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Hırvatça"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hintçe"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Hollandaca"
+ },
+ "he": {
+ "code": "he",
+ "name": "Ä°branice"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Ä°ngiliz Ä°ngilizcesi"
+ },
+ "en": {
+ "code": "en",
+ "name": "Ä°ngilizce"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Ä°rlandaca"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "İskoç Gal Dili"
+ },
+ "es": {
+ "code": "es",
+ "name": "Ä°spanyolca"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "İsveççe"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "İsviçre Almancası"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "İsviçre Fransızcası"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "İsviçre Yüksek Almancası"
+ },
+ "it": {
+ "code": "it",
+ "name": "Ä°talyanca"
+ },
+ "is": {
+ "code": "is",
+ "name": "Ä°zlandaca"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japonca"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabiliyece"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Kanada Fransızcası"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Kanada Ä°ngilizcesi"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalanca"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakça"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "KeÅŸmirce"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kırgızca"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Kigaca"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Kirundi"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kmerce"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Kongo Svahili"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Korece"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Köln Diyalekti"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Kuzey Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Kuzey Sami"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laoca"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Lehçe"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Letonca"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Litvanyaca"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Lüksemburgca"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Macarca"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Makedonca"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malayca"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malgaşça"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltaca"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Meksika İspanyolcası"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Modern Standart Arapça"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "MoÄŸolca"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Moldovaca"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepalce"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norveççe Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norveççe Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya Dili"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Orta Fas Tamazigti"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Özbekçe"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Pencapça"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "PeÅŸtuca"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portekizce"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romanşça"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romence"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rusça"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "si": {
+ "code": "si",
+ "name": "Seylanca"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Sırpça"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovakça"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovence"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somalice"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standart Berberi Dili Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Svahili"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamilce"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "TaÅŸelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "Tayca"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu Dili"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetçe"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongaca"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Türkçe"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukraynaca"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urduca"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uygurca"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamca"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yorubaca"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Yukarı Sorbça"
+ },
+ "el": {
+ "code": "el",
+ "name": "Yunanca"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zuluca"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/twq.json b/library/intl/resources/language/twq.json
new file mode 100644
index 000000000..ce102f744
--- /dev/null
+++ b/library/intl/resources/language/twq.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan senni"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "de": {
+ "code": "de",
+ "name": "Almaŋ senni"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amhaarik senni"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Belaruus senni"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengali senni"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulagaari senni"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burme senni"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Cek senni"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "es": {
+ "code": "es",
+ "name": "Espaaɲe senni"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Farsi senni"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Fransee senni"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "el": {
+ "code": "el",
+ "name": "Grek senni"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hawsance senni"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Holandee senni"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hungaari senni"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indoneesi senni"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Induu senni"
+ },
+ "en": {
+ "code": "en",
+ "name": "Inglisi senni"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Itaali senni"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japonee senni"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kmeer senni, Game here"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koree senni"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Laaraw senni"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Maleezi senni"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Neepal senni"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polonee senni"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugee senni"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Punjaabi sennii"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumaani senni"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Ruusi senni"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Sinuwa senni, Mandareŋ"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somaali senni"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Suweede senni"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "th": {
+ "code": "th",
+ "name": "Taailandu senni"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamil senni"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq senni"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Turku senni"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukreen senni"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu senni"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnaam senni"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yorbance senni"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu senni"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/tzm.json b/library/intl/resources/language/tzm.json
new file mode 100644
index 000000000..edb862bb6
--- /dev/null
+++ b/library/intl/resources/language/tzm.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Tabelɣarit"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Tabenjabit"
+ },
+ "be": {
+ "code": "be",
+ "name": "Tabilarusit"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Tabinɣalit"
+ },
+ "my": {
+ "code": "my",
+ "name": "Taburmanit"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Taburtuɣalit"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "TaÄikt"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Tacinwit,Mandarin"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Tafarisit"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Tafá¹›ansist"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Tahawsat"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Tahenɣarit"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Tahindit"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Tahulaná¸it"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Tajappunit"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Takanit"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Takurit"
+ },
+ "de": {
+ "code": "de",
+ "name": "Talmanit"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Tamalizit"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Tamaziɣt"
+ },
+ "am": {
+ "code": "am",
+ "name": "Tamharit"
+ },
+ "en": {
+ "code": "en",
+ "name": "Tanglizt"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Tanippalit"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Tappulunit"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Taá¹›umanit"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Tarusit"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "es": {
+ "code": "es",
+ "name": "tasbelyunit"
+ },
+ "so": {
+ "code": "so",
+ "name": "Taá¹£umalit"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Taswidit"
+ },
+ "it": {
+ "code": "it",
+ "name": "Taá¹­alyant"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tatamilt"
+ },
+ "th": {
+ "code": "th",
+ "name": "Taá¹­ayt"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Taturkit"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Taviá¹­namit"
+ },
+ "km": {
+ "code": "km",
+ "name": "Taxmert ,Talammast"
+ },
+ "el": {
+ "code": "el",
+ "name": "Tayunanit"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Tayurubat"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "tazulut"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Taεrabt"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "id": {
+ "code": "id",
+ "name": "Tindunisit"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Tukranit"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Turdut"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ug.json b/library/intl/resources/language/ug.json
new file mode 100644
index 000000000..e6b20c302
--- /dev/null
+++ b/library/intl/resources/language/ug.json
@@ -0,0 +1,738 @@
+{
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "ئاددىي خەنچە"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "ئاستۇرىيەچە"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "ئاسۇچە"
+ },
+ "af": {
+ "code": "af",
+ "name": "ئاÙرىكانچە"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "ئاكانچە"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "ئاگەمچە"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "ئالبانچە"
+ },
+ "am": {
+ "code": "am",
+ "name": "ئامخاراچە"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "ئامÛرىكا ئىنگلىزچە"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "ئاۋسترالىيە ئىنگلىزچە"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ئاۋستىرىيە Ú¯Ûرمانچە"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ئەرمەنچە"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ئەرەبچە"
+ },
+ "az": {
+ "code": "az",
+ "name": "ئەزەرىچە"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "ئەنگلىيە ئىنگلىزچە"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ئوردوچە"
+ },
+ "or": {
+ "code": "or",
+ "name": "ئورىياچە"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ئۆزبÛÙƒÚ†Û•"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "ئۆلچەملىك ماراكەش تامازىتچە"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ئۇكرائىنچە"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ئۇيغۇرچە"
+ },
+ "he": {
+ "code": "he",
+ "name": "ئىبرانىچە"
+ },
+ "it": {
+ "code": "it",
+ "name": "ئىتاليانچە"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ئىرÛلاندچە"
+ },
+ "es": {
+ "code": "es",
+ "name": "ئىسپانچە"
+ },
+ "is": {
+ "code": "is",
+ "name": "ئىسلاندچە"
+ },
+ "en": {
+ "code": "en",
+ "name": "ئىنگلىزچە"
+ },
+ "et": {
+ "code": "et",
+ "name": "ئÛستونچە"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ئÛمبۇچە"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ئÛۋوندوچە"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ئÛÛ‹ÛÚ†Û•"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "باساچە"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "باسكىچە"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "باÙىياچە"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "بامباراچە"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "بودوچە"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "بوسنىيەچە"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "بۇتانچە"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "بۇلغارچە"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "بىرازىلىيە پورتۇگالچە"
+ },
+ "my": {
+ "code": "my",
+ "name": "بىرماچە"
+ },
+ "br": {
+ "code": "br",
+ "name": "بىرÛتونچە"
+ },
+ "be": {
+ "code": "be",
+ "name": "بÛلارۇسچە"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "بÛناچە"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "بÛنگالچە"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "پارسچە"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "پەنجابچە"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "پورتۇگالچە"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "پولەكچە"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "پۇشتۇچە"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "تامىلچە"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "تايتاچە"
+ },
+ "th": {
+ "code": "th",
+ "name": "تايلاندچە"
+ },
+ "to": {
+ "code": "to",
+ "name": "توڭانچە"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "توۋەن سÛربچە"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "تۈركچە"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "تىبەتچە"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "تىگرىنياچە"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "تÛسوچە"
+ },
+ "te": {
+ "code": "te",
+ "name": "تÛÙ„Û‡Ú¯Û‡Ú†Û•"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "جولاچە"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "چىگاچە"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Ú†Ûخچە"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Ú†Ûروكىچە"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "خائۇساچە"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "خەنچە"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "خورۋاتچە"
+ },
+ "da": {
+ "code": "da",
+ "name": "دانىشچە"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "دۇنيا تىلى"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "رومانىشچە"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "رومبوچە"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "رۇسچە"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "رۇمىنىيەچە"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "رۇندىچە"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "رىۋاچە"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "زارماچە"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "زۇلۇچە"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "سامبۇرۇچە"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "سانگوچە"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "سانگۇچە"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "سكوتچە"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "سوگاچە"
+ },
+ "so": {
+ "code": "so",
+ "name": "سومالىچە"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "سىلوۋاكچە"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "سىلوۋÛنىيەچە"
+ },
+ "si": {
+ "code": "si",
+ "name": "سىنگالچە"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "سىۋالىچە"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "سÛربچە"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "سÛناچە"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "شامبالاچە"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "شەرقىي سوڭخايچە"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "شوناچە"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Ø´Û‹Ûدچە"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "شىلخاچە"
+ },
+ "se": {
+ "code": "se",
+ "name": "شىمالى سامىچە"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "شىمالى ندەبەلەچە"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "شىمالىي سوڭخايچە"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "شىۋىتسارىيە ئÛگىزلىك Ú¯Ûرمانچە"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "شىۋىتسارىيە Ùىرانسۇزچە"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "غەربى Ùىرىزيەچە"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ÙائÛروچە"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Ùۇلاچە"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ùىرانسۇزچە"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Ùىرىئۇلىچە"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Ùىلىپپىنچە"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Ùىنچە"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "قازاقچە"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "قىرغىزچە"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "كابۇۋÛردىيانچە"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "كابىلÛÚ†Û•"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "كاتالانچە"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "كالÛنجىنچە"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "كامباچە"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "كانادا ئىنگلىزچە"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "كانادا Ùىرانسۇزچە"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "كانناداچە"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "كەشمىرچە"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "كورÛÙŠÛ•Ú†Û•"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "كولىشچە"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "كونگو سىۋالىچە"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "كويرا چىنىچە"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "كۋاسىيوچە"
+ },
+ "km": {
+ "code": "km",
+ "name": "كىخمÛرچە"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "كىكۇيۇچە"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "گالىتسىيانچە"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "گانداچە"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "گوللاندىيەچە"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "گۇجاراتچە"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "گۇسىچە"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "گىرۇزىنچە"
+ },
+ "el": {
+ "code": "el",
+ "name": "گىرÛÙƒÚ†Û•"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "گىرÛنلاندچە"
+ },
+ "de": {
+ "code": "de",
+ "name": "Ú¯Ûرمانچە"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Ú¯Ûرمانچە شىۋىتسارىيە"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "لائوسچە"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "لاتۋىيەچە"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "لانگىچە"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "لۇئوچە"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "لۇبا-كاتانگاچە"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "لۇياچە"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "لىتۋاچە"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "لىنگالاچە"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "لىيۇكسÛمبۇرگچە"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ماجارچە"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ماچامچە"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ماداغاسقارچە"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "ماراتچە"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "ماسايچە"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ماكوندÛÚ†Û•"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ماكۇۋاچە"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "ماكÛدونچە"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "مالايامچە"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "مالايچە"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "مالتاچە"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "مەركىزى ئاتلاس تاماچاگىت"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "مورىسيÛÙ†Ú†Û•"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "موڭغۇلچە"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "مۇئÛرچە"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "مۇرەككەپ خەنچە"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "مۇنداڭچە"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Ù…Ûرۇچە"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Ù…Ûكسىكا ئىسپانچە"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ناماچە"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "نگومباچە"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "نورۋىگىيە بوكمالچە"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "نىيانكولÛÚ†Û•"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Ù†Ûپالچە"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ھازىرقى زامان ئۆلچەملىك ئەرەبچە"
+ },
+ "id": {
+ "code": "id",
+ "name": "ھىندونÛزىيەچە"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ھىندىچە"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "ۋالسÛرچە"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ۋايچە"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ۋۇنجوچە"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ۋىيÛتنامچە"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Û‹Ûلشچە"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ياپونچە"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "ياڭبەنچە"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "ياۋروپا ئىسپانچە"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "ياۋروپا پورتۇگالچە"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "يورۇباچە"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "يۇقىرىقى سÛربچە"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "ÙŠÛÚ­Ù‰ نورۋÛÚ¯Ú†Û•"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/uk.json b/library/intl/resources/language/uk.json
new file mode 100644
index 000000000..50d152d7e
--- /dev/null
+++ b/library/intl/resources/language/uk.json
@@ -0,0 +1,738 @@
+{
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "агем"
+ },
+ "az": {
+ "code": "az",
+ "name": "азербайджанÑька"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "акан"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "албанÑька"
+ },
+ "am": {
+ "code": "am",
+ "name": "амхарÑька"
+ },
+ "en": {
+ "code": "en",
+ "name": "англійÑька"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "англійÑька британÑька"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "арабÑька"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "аÑтурÑька"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "аÑу"
+ },
+ "af": {
+ "code": "af",
+ "name": "африкаанÑ"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "бамбара"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "баÑа"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "баÑкÑька"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "бафіа"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "бена"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "бенгальÑька"
+ },
+ "be": {
+ "code": "be",
+ "name": "білоруÑька"
+ },
+ "my": {
+ "code": "my",
+ "name": "бірманÑька"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "бодо"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "болгарÑька"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "боÑнійÑька"
+ },
+ "br": {
+ "code": "br",
+ "name": "бретонÑька"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "букмол (ÐорвегіÑ)"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "вʼєтнамÑька"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ваї"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "ВалзерÑька"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "валлійÑька"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "верхньолужицька"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "верхньонімецька (ШвейцаріÑ)"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "вірменÑька"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "вуньо"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "гаельÑька"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "галіÑійÑька"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "ганда"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "гінді"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "голландÑька"
+ },
+ "el": {
+ "code": "el",
+ "name": "грецька"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "грузинÑька"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "гуджараті"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "гуÑÑ–Ñ—"
+ },
+ "da": {
+ "code": "da",
+ "name": "данÑька"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "джерма"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "дзонг-ке"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "дьола-фоні"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "еве"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "евондо"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "ембу"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "еÑперанто"
+ },
+ "et": {
+ "code": "et",
+ "name": "еÑтонÑька"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "західно-фризька"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "зулуÑька"
+ },
+ "he": {
+ "code": "he",
+ "name": "іврит"
+ },
+ "id": {
+ "code": "id",
+ "name": "індонезійÑька"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "ірландÑька"
+ },
+ "is": {
+ "code": "is",
+ "name": "Ñ–ÑландÑька"
+ },
+ "es": {
+ "code": "es",
+ "name": "Ñ–ÑпанÑька"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Ñ–ÑпанÑька (Європа)"
+ },
+ "it": {
+ "code": "it",
+ "name": "італійÑька"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "йоруба"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "кабільÑька"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "кабувердіану"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "казахÑька"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "калаалліÑут"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "календжин"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "камба"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "каннада"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "каталонÑька"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "кашмірÑька"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "квазіо"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "киргизька"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "китайÑька"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "кіга"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "кікуйю"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "койра чіїні"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "койраборо Ñені"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "колоніан"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "конгійÑьке Ñуахілі"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "корейÑька"
+ },
+ "km": {
+ "code": "km",
+ "name": "кхмерÑька"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "лангі"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "лаоÑька"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "латвійÑька"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "литовÑька"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "лінгала"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "луба-катанга"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "луйÑ"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "луо"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "люкÑембурзька"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "маврикійÑька креольÑька"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "македонÑька"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "маконде"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "макува-меето"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "малагаÑійÑька"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "малайÑька"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "малаÑлам"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "мальтійÑька"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "маратхі"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "маÑаї"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "мачаме"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "меру"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "молдавÑька"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "монгольÑька"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "мунданг"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "нама"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "нгомба"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "ндебелє північна"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "непальÑька"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "нижньолужицька"
+ },
+ "de": {
+ "code": "de",
+ "name": "німецька"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "німецька швейцарÑька"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "нуер"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "нюношк (ÐорвегіÑ)"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "ньÑнколе"
+ },
+ "or": {
+ "code": "or",
+ "name": "оріÑ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "панджабі"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "перÑька"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "польÑька"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "португальÑька"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "португальÑька (Європа)"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "пушту"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Рва"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "ретороманÑька"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "ромбо"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "роÑійÑька"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "румунÑька"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "рунді"
+ },
+ "se": {
+ "code": "se",
+ "name": "ÑаамÑька північна"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Ñамбуру"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Ñанго"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Ñангу"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Ñена"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "ÑербÑька"
+ },
+ "si": {
+ "code": "si",
+ "name": "ÑингальÑька"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Ñловацька"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "ÑловенÑька"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Ñога"
+ },
+ "so": {
+ "code": "so",
+ "name": "Ñомалі"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Ñтандартна марокканÑька берберÑька"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Ñуахілі"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ÑучаÑна Ñтандартна арабÑька"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "таіта"
+ },
+ "th": {
+ "code": "th",
+ "name": "тайÑька"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "тамільÑька"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "таÑавак"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "тачеліт"
+ },
+ "te": {
+ "code": "te",
+ "name": "телугу"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "теÑо"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "тибетÑька"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "тигриньÑ"
+ },
+ "to": {
+ "code": "to",
+ "name": "тонганÑька"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "турецька"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "угорÑька"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "узбецька"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "уйгурÑька"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "українÑька"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "урду"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "фарерÑька"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "філіппінÑька"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "фінÑька"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "фламандÑька"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "французька"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "фріульÑька"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "фула"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "хауÑа"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "хорватÑька"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "центральномароканÑька тамазіт"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "черокі"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "чеÑька"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "шамбала"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "шведÑька"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "шона"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Ñнгбен"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ÑпонÑька"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ur-IN.json b/library/intl/resources/language/ur-IN.json
new file mode 100644
index 000000000..e544eb36e
--- /dev/null
+++ b/library/intl/resources/language/ur-IN.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "اردو"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ارمینی"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ازبیک"
+ },
+ "et": {
+ "code": "et",
+ "name": "اسٹونی"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "اسٹینڈرڈ مراقشی تمازیقی"
+ },
+ "it": {
+ "code": "it",
+ "name": "اطالوی"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "اغم"
+ },
+ "af": {
+ "code": "af",
+ "name": "اÙریقی"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "اکان"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "البانی"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "امبو"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "امریکی انگریزی"
+ },
+ "am": {
+ "code": "am",
+ "name": "امÛاری"
+ },
+ "id": {
+ "code": "id",
+ "name": "انڈونیثیائی"
+ },
+ "en": {
+ "code": "en",
+ "name": "انگریزی"
+ },
+ "or": {
+ "code": "or",
+ "name": "اورÙیا"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ایسپرانٹو"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ایو"
+ },
+ "az": {
+ "code": "az",
+ "name": "آزربائیجانی"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "آسان چینی"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "آسٹریائی جرمن"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "آسٹریلیائی انگریزی"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "آسو"
+ },
+ "is": {
+ "code": "is",
+ "name": "آئس لینڈک"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "آئغور"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "آئیرÙØ´"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "باسکی"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "باÙيا"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "بالائی صوربی"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "بامبرا"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "برازیلی پرتگالی"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "برطانوی انگریزی"
+ },
+ "my": {
+ "code": "my",
+ "name": "برمی"
+ },
+ "br": {
+ "code": "br",
+ "name": "بریٹن"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "بلغاری"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "بنگالی"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "بوڈو"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "بوسنی"
+ },
+ "be": {
+ "code": "be",
+ "name": "بیلاروسی"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "بینا"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Ù¾Ùرتگالی"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "پشتو"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "پنجابی"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "پولستانی"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "تاساواق"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "تبتی"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ترکی"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "تشلحيت"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "تمل"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "تیتا"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "تیسو"
+ },
+ "te": {
+ "code": "te",
+ "name": "تیلگو"
+ },
+ "th": {
+ "code": "th",
+ "name": "تھائی"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ٹگرینیا"
+ },
+ "to": {
+ "code": "to",
+ "name": "ٹونگن"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "جاپانی"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "جارجی"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "جدید معیاری عربی"
+ },
+ "de": {
+ "code": "de",
+ "name": "جرمن"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "جولا Ùونيا"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "چیروکی"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "چیک"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "چینی"
+ },
+ "km": {
+ "code": "km",
+ "name": "خمیر"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ÚˆÚ†"
+ },
+ "da": {
+ "code": "da",
+ "name": "ڈینش"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "روا"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "روایتی چینی"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "روسی"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "رومانش"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "رومانوی"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "رومبو"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "رونڈی"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "زرمÛ"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "زولو"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ژونگکھا"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "سامبورو"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "سانجو"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "سانگو"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "سکاٹ گیلÙÚ©"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "سلوواک"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "سلووینیائی"
+ },
+ "si": {
+ "code": "si",
+ "name": "سنÛالا"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "سواحلی"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "سوگا"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "سویڈش"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "سوئس جرمن"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "سوئس Ùرینچ"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "سوئس Ûائی جرمن"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "سینا"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "شامبالا"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "شمالی دبیل"
+ },
+ "se": {
+ "code": "se",
+ "name": "شمالی سامی"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "شونا"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "شیغا"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "صربی"
+ },
+ "so": {
+ "code": "so",
+ "name": "صومالی"
+ },
+ "he": {
+ "code": "he",
+ "name": "عبرانی"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "عربی"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Ùارسی"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Ùارويز"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ùرانسیسی"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Ùلیپینو"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Ùیلنڈری"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Ùینیش"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "قبائلی"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "قزاخ"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "کامبا"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "کانگو سواحلی"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "کتالان"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "کراتی"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "کرغیزی"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "کشمیری"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Ú©Ù†Ú‘"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "کوریائی"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "کیکویو"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "کینیڈین انگریزی"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "کینیڈین Ùرانسیسی"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "گالیشیائی"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "گجراتی"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "گسی"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "گینڈا"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "لانگی"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "لاؤ"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "لبا-كاتانجا"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "لتھÙواینین"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "لٹويای"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "لکسمبرگی"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Ù„Ùنگَلا"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "لو"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "لویا"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "لوئر صوربی"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ماخاوا-ميتو"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "ماسای"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ماشیم"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "مالایالم"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "مالائی"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "مالٹی"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "مالدووا"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ماكونده"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "مڈدانگ"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "مراٹهی"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "مغربی Ùریسیائی"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "مقدونیائی"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ملاگاسی"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "منگؤلی"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "موریسیین"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "میرو"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "میکسیکن Ûسپانوی"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "نارویجین بوکمل"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ناما"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "نگومبا"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "نورویجینی نینورسک"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "نویر"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "نیپالی"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "نینکول"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "وائی"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "وسطی اٹلس تمازغت"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "ونجو"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ویتنامی"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ویلش"
+ },
+ "es": {
+ "code": "es",
+ "name": "Ûسپانوی"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Ûندی"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ûنگیرین"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Ûؤسا"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "یورپی پرتگالی"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "یورپی Ûسپانوی"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "یوروبا"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "یوکرینیائی"
+ },
+ "el": {
+ "code": "el",
+ "name": "یونانی"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "كابويرديانو"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "كالاليست"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "كالينجين"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "كوايسو"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "كويرا شيني"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "كويرابورو سينی"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/ur.json b/library/intl/resources/language/ur.json
new file mode 100644
index 000000000..4011f8c57
--- /dev/null
+++ b/library/intl/resources/language/ur.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "اپر سربیائی"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "اردو"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "ارمینی"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "ازبیک"
+ },
+ "et": {
+ "code": "et",
+ "name": "اسٹونین"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "اسٹینڈرڈ مغربی امازیقی"
+ },
+ "it": {
+ "code": "it",
+ "name": "اطالوی"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "اغم"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "اکان"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "البانی"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "امبو"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "امریکی انگریزی"
+ },
+ "am": {
+ "code": "am",
+ "name": "امÛاری"
+ },
+ "id": {
+ "code": "id",
+ "name": "انڈونیثیائی"
+ },
+ "en": {
+ "code": "en",
+ "name": "انگریزی"
+ },
+ "or": {
+ "code": "or",
+ "name": "اورÙیا"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "اونجو"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ایسپرانٹو"
+ },
+ "af": {
+ "code": "af",
+ "name": "ایÙریکانز"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ایو"
+ },
+ "az": {
+ "code": "az",
+ "name": "آزربائیجانی"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "آسٹریائی جرمن"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "آسٹریلیائی انگریزی"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "آسو"
+ },
+ "is": {
+ "code": "is",
+ "name": "آئس لینڈک"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "آئیرÙØ´"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "باسکی"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "باÙيا"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "برازیلی پرتگالی"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "برطانوی انگریزی"
+ },
+ "my": {
+ "code": "my",
+ "name": "برمی"
+ },
+ "br": {
+ "code": "br",
+ "name": "بریٹن"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "بلغاری"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "بمبارا"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "بنگالی"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "بوڈو"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "بوسنی"
+ },
+ "be": {
+ "code": "be",
+ "name": "بیلاروسی"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "بینا"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Ù¾Ùرتگالی"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "پشتو"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "پنجابی"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "پولستانی"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "تاساواق"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "تائتا"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "تبتی"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ترکی"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "تشلحيت"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "تمل"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "تیسو"
+ },
+ "te": {
+ "code": "te",
+ "name": "تیلگو"
+ },
+ "th": {
+ "code": "th",
+ "name": "تھائی"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ٹگرینیا"
+ },
+ "to": {
+ "code": "to",
+ "name": "ٹونگن"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "جاپانی"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "جارجی"
+ },
+ "de": {
+ "code": "de",
+ "name": "جرمن"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "جولا Ùونيا"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "چیروکی"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "چیک"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "چیگا"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "چینی"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "چینی (آسان کردÛ)"
+ },
+ "km": {
+ "code": "km",
+ "name": "خمیر"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ÚˆÚ†"
+ },
+ "da": {
+ "code": "da",
+ "name": "ڈینش"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "ذیلی سربیائی"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "روایتی چینی"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "روسی"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "رومانش"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "رومبو"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "رومنی"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "رونڈی"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "زرما"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "زولو"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ژونگکھا"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "سامبورو"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "سانغو"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "سانگو"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "سکاٹ گیلÙÚ©"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "سلوواک"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "سلووینیائی"
+ },
+ "si": {
+ "code": "si",
+ "name": "سنÛالا"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "سواحلی"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "سوگا"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "سویڈش"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "سوئس جرمن"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "سوئس Ùرینچ"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "سوئس Ûائی جرمن"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "سینا"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "سینٹرل ایٹلس ٹمازائٹ"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "شامبالا"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "شمالی دبیل"
+ },
+ "se": {
+ "code": "se",
+ "name": "شمالی سامی"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "شونا"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "صربی"
+ },
+ "so": {
+ "code": "so",
+ "name": "صومالی"
+ },
+ "he": {
+ "code": "he",
+ "name": "عبرانی"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "عربی"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Ùارسی"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Ùرانسیسی"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Ùلیپینو"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "ÙلیمÙØ´"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Ùیروئیز"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Ùینیش"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "قبائلی"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "قزاخ"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "کاٹالانین"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "کامبا"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "کانگو سواحلی"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "کراتی"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "کرغیزی"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "کشمیری"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "کنّاڈا"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "کوریائی"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "کیکو"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "کینیڈین انگریزی"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "کینیڈین Ùرانسیسی"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "گالیشیائی"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "گجراتی"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "گسی"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "گومبا"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "گینڈا"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "لانگی"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "لاؤ"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "لبا-كاتانجا"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "لتھÙواینین"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "لگژمبرگ کا باشندÛ"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Ù„Ùنگَلا"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "لو"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "لویا"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "لیٹوین"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "ماخاوا-ميتو"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ماڈرن اسٹینڈرڈ عربی"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "ماسای"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "ماشیم"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "مالایالم"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "مالائی"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "مالٹی"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "مالدووا"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "ماكونده"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "مراٹهی"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "مغربی Ùریسیئن"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "مقدونیائی"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "ملاگاسی"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "منڈانگ"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "منگؤلی"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "موریسیین"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "میرو"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "میکسیکن Ûسپانوی"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "نارویجین بوکمل"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ناما"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "نورویجینی نینورسک"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "نویر"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "نیپالی"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "نینکول"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "وائی"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ویتنامی"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "ویلش"
+ },
+ "es": {
+ "code": "es",
+ "name": "Ûسپانوی"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Ûندی"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ûنگیرین"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Ûؤسا"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "یورپی پرتگالی"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "یورپی Ûسپانوی"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "یوروبا"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "یوکرینیائی"
+ },
+ "el": {
+ "code": "el",
+ "name": "یونانی"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "یوئگÛر"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "كابويرديانو"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "كالاليست"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "كالينجين"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "كوايسو"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "كويرا شيني"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "كويرابورو سينی"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/uz-Cyrl.json b/library/intl/resources/language/uz-Cyrl.json
new file mode 100644
index 000000000..28f35748d
--- /dev/null
+++ b/library/intl/resources/language/uz-Cyrl.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Ðлбанча"
+ },
+ "am": {
+ "code": "am",
+ "name": "Ðмхарча"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Ðрабча"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Ðрманча"
+ },
+ "af": {
+ "code": "af",
+ "name": "Ðфриканча"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "БаÑкча"
+ },
+ "be": {
+ "code": "be",
+ "name": "БеларуÑча"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Бенгалча"
+ },
+ "my": {
+ "code": "my",
+ "name": "Бирманча"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Болгарча"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "БоÑниÑча"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Венгрча"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Вьетнамча"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Галицийча"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Голландча"
+ },
+ "el": {
+ "code": "el",
+ "name": "Грекча"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Грузинча"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Гужарати"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Ғарбий фризианча"
+ },
+ "da": {
+ "code": "da",
+ "name": "ДаниÑча"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Зулу"
+ },
+ "he": {
+ "code": "he",
+ "name": "Иброний"
+ },
+ "en": {
+ "code": "en",
+ "name": "Инглизча"
+ },
+ "id": {
+ "code": "id",
+ "name": "ИндонезиÑча"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Ирландча"
+ },
+ "is": {
+ "code": "is",
+ "name": "ИÑландча"
+ },
+ "es": {
+ "code": "es",
+ "name": "ИÑпанча"
+ },
+ "it": {
+ "code": "it",
+ "name": "ИталÑнча"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Йоруба"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Каннада"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Каталанча"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Кашмирча"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "КорейÑча"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Қирғизча"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Қозоқча"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Лао"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Латишча"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Литвача"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "ЛюкÑембургча"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Македонча"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "МалагаÑи"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Малайалам"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Малайча"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Мальтача"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Марати"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Ðепалча"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Ðорвегча Бокмал"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Ðорвегча ÐинорÑк"
+ },
+ "az": {
+ "code": "az",
+ "name": "Озарбайжонча"
+ },
+ "de": {
+ "code": "de",
+ "name": "Олмонча"
+ },
+ "or": {
+ "code": "or",
+ "name": "ОриÑ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Панжобча"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ПолÑкча"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Португалча"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Пушту"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Романча"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Руминча"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "РуÑча"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Сербча"
+ },
+ "si": {
+ "code": "si",
+ "name": "Синхала"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Словакча"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Словенча"
+ },
+ "so": {
+ "code": "so",
+ "name": "Сомалича"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Стандарт Марокаш Тамазит"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Суахили"
+ },
+ "th": {
+ "code": "th",
+ "name": "Тайча"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Тамилча"
+ },
+ "te": {
+ "code": "te",
+ "name": "Телугу"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Тибетча"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "ТигриньÑ"
+ },
+ "to": {
+ "code": "to",
+ "name": "Тонгоча"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Туркча"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Уйғурча"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Украинча"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Урду"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "УÑлÑча"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Ўзбек"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "ФарÑрча"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Филипино"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Финча"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Фламандча"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ФорÑча"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Французча"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ХауÑа"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Хитойча"
+ },
+ "km": {
+ "code": "km",
+ "name": "Хмерча"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Хорватча"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Ҳиндча"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Чехча"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Шведча"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Ð¨Ð²ÐµÐ¹Ñ†Ð°Ñ€Ð¸Ñ Ð½ÐµÐ¼Ð¸ÑчаÑи"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "ЭÑперанто"
+ },
+ "et": {
+ "code": "et",
+ "name": "ЭÑтонча"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Японча"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/uz.json b/library/intl/resources/language/uz.json
new file mode 100644
index 000000000..12114dc68
--- /dev/null
+++ b/library/intl/resources/language/uz.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "afrikancha"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "ag‘emcha"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akancha"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "albancha"
+ },
+ "am": {
+ "code": "am",
+ "name": "amxarcha"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "anʼanaviy xitoycha"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "arabcha"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "armancha"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "asucha"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Avstraliya inglizchasi"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "Avstriya olmonchasi"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "bafiycha"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "bambarcha"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "baskcha"
+ },
+ "be": {
+ "code": "be",
+ "name": "belaruscha"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "benacha"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "bengalcha"
+ },
+ "my": {
+ "code": "my",
+ "name": "birmancha"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "bodocha"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bolgarcha"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "bosniycha"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Braziliya portugalchasi"
+ },
+ "br": {
+ "code": "br",
+ "name": "bretoncha"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Britaniya inglizchasi"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "cherokcha"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "chexcha"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "chigcha"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "da": {
+ "code": "da",
+ "name": "datcha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "embucha"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "esperantocha"
+ },
+ "et": {
+ "code": "et",
+ "name": "estoncha"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "farercha"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "filipincha"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "fincha"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "flamandcha"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "forscha"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "fransuzcha"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "galitsiycha"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "gandcha"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "gʻarbiy friziancha"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "gollandcha"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "gruzincha"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "gujoratcha"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "guzcha"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "hindcha"
+ },
+ "he": {
+ "code": "he",
+ "name": "ibroniy"
+ },
+ "id": {
+ "code": "id",
+ "name": "indoneyzcha"
+ },
+ "en": {
+ "code": "en",
+ "name": "inglizcha"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "irlandcha"
+ },
+ "is": {
+ "code": "is",
+ "name": "islandcha"
+ },
+ "es": {
+ "code": "es",
+ "name": "ispancha"
+ },
+ "it": {
+ "code": "it",
+ "name": "italyancha"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "ivicha"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "kabuverdiancha"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "kalallisutcha"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "kalenjincha"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "kambcha"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Kanada fransuzchasi"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Kanada inglizchasi"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "kannadcha"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "kashmircha"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "katalancha"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "kikuycha"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "kongo svahiliycha"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "koreyscha"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "koryaboro senniycha"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "kvaziycha"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "langcha"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "laoscha"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "latishcha"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "lingalcha"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "litovcha"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "luba-katangcha"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "luocha"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "luycha"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "lyuksemburgcha"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "machamcha"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "makedoncha"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "makuva-mittocha"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "malagasiycha"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "malayamcha"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "malaycha"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "maltacha"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "maqondiy"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "maratcha"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "markaziy atlas vaqt zonasi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "masaycha"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "Meksika ispanchasi"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "merucha"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "mo‘g‘ulcha"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "moldovan rumincha"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "morisyencha"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "mundangcha"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "namacha"
+ },
+ "de": {
+ "code": "de",
+ "name": "nemischa"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nepalcha"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "ngombcha"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "norvegcha bokmal"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "norvegcha ninorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "noyrcha"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "nyankolcha"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "oʻzbekcha"
+ },
+ "or": {
+ "code": "or",
+ "name": "oriycha"
+ },
+ "az": {
+ "code": "az",
+ "name": "ozarbayjoncha"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "panjobcha"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "polyakcha"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "portugalcha"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "pushtu tili"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "qirgʻizcha"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "qobilcha"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "qoyra-chincha"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "qozoqcha"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "quyi sorbcha"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "romancha"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "rombacha"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "ruandcha"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "rumincha"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "rundcha"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ruscha"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "samburcha"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "sangoancha"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "sanguancha"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "seniycha"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "serbcha"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "shambalacha"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "shimoliy ndebelcha"
+ },
+ "se": {
+ "code": "se",
+ "name": "shimoliy semiycha"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "shoniycha"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "shvedcha"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Shvesariya fransuzchasi"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Shvesariya olmonchasi"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "shveysariya nemischasi"
+ },
+ "si": {
+ "code": "si",
+ "name": "sinholcha"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "slovakcha"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "slovencha"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "soddalashtirilgan xitoycha"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "sogancha"
+ },
+ "so": {
+ "code": "so",
+ "name": "somalicha"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "standart marokash tamazit"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "svahilcha"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "tachilgitcha"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "taitcha"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "tamilcha"
+ },
+ "th": {
+ "code": "th",
+ "name": "taycha"
+ },
+ "te": {
+ "code": "te",
+ "name": "telugvancha"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "tesoancha"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "tibetcha"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "tigrincha"
+ },
+ "to": {
+ "code": "to",
+ "name": "tongocha"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "tosovoqcha"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "turkcha"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "uelscha"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ukraincha"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "urducha"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "uygʻurcha"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "vayancha"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "vengrcha"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "vunjoancha"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "vyetnamcha"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "xauscha"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "xitoycha"
+ },
+ "km": {
+ "code": "km",
+ "name": "xmercha"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "xorvatcha"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "yaponcha"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Yevropa ispanchasi"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Yevropa portugalchasi"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "yola-fonyicha"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "yorubcha"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "yovoncha"
+ },
+ "el": {
+ "code": "el",
+ "name": "yunoncha"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "yuqori sorbcha"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "zamonavij standart arabcha"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "zarmacha"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "zuluancha"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/vai-Latn.json b/library/intl/resources/language/vai-Latn.json
new file mode 100644
index 000000000..520e4bae2
--- /dev/null
+++ b/library/intl/resources/language/vai-Latn.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akaŋ"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amihári"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "be": {
+ "code": "be",
+ "name": "Bhelarusaŋ"
+ },
+ "my": {
+ "code": "my",
+ "name": "Bhɛmísi"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bhɛŋgáli"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bhɔgerɛŋ"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chaniĩ"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ChÉ›"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Dɔchi"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Fɛŋsi"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hawusa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "el": {
+ "code": "el",
+ "name": "Hɛlɛŋ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Híiŋdi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Hɔŋgérɛŋ"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "Ãndonisiyɛŋ"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "Itáliyɛŋ"
+ },
+ "de": {
+ "code": "de",
+ "name": "Jamáĩ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japaníĩ"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kimɛɛ̃ tɛ"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koríyɛŋ"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Lahabu"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Maléee"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nipali"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Ɔdu"
+ },
+ "es": {
+ "code": "es",
+ "name": "Panyɛĩ"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Pɛɛsiyɛŋ"
+ },
+ "en": {
+ "code": "en",
+ "name": "Poo"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Potokíi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "PÉ”Ìlési"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Puŋjabhi"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Romíniyɛŋ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rɔshiyɛŋ"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somáli"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Súwídɛŋ"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "th": {
+ "code": "th",
+ "name": "Tái"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamíli"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "TÉ”Ìki"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Viyamíĩ"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yóróbha"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Yukureniyɛŋ"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zúlu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/vai.json b/library/intl/resources/language/vai.json
new file mode 100644
index 000000000..27017be31
--- /dev/null
+++ b/library/intl/resources/language/vai.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "be": {
+ "code": "be",
+ "name": "ꔆꕞꖩꔻ"
+ },
+ "it": {
+ "code": "it",
+ "name": "ꔤꕚꔷꘂꘋ"
+ },
+ "id": {
+ "code": "id",
+ "name": "ꔤꖆꕇꔻꘂꘋ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ꔦꔺ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ꔲꕩꕯꕆꔧ"
+ },
+ "km": {
+ "code": "km",
+ "name": "ꕃꘈꗢ"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ꕇê•ê”·"
+ },
+ "am": {
+ "code": "am",
+ "name": "ꕉꕆꕌꔸ"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "ꕉꕪꘋ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ꕌꖙꕢ"
+ },
+ "es": {
+ "code": "es",
+ "name": "ê•ê˜Šê”§"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "ꕙꔤ"
+ },
+ "th": {
+ "code": "th",
+ "name": "ꕚꔤ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ꕚꕆꔷ"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ê•žê•Œê–"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ꕦꕇꔧ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ꕧê•ê•‡ê”§"
+ },
+ "de": {
+ "code": "de",
+ "name": "ꕧꕮꔧ"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ꕮꔒꔀ"
+ },
+ "en": {
+ "code": "en",
+ "name": "ꕶꕱ"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ꕶꕿꕃꔤ"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ꖄꕆꕇꘂꘋ"
+ },
+ "so": {
+ "code": "so",
+ "name": "ꖇꕮꔷ"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ê–Žê–„ê•‘"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ê–ꔸꘂꘋ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ꖛꕨꔬ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ꖬꔨꗵꘋ"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ꖮꖨ"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ꖳꖴꔓꕇꘂꘋ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ꖺꖦ"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ꖽꔟꗸꘋ"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ê—ê”’ê”»"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ꗂꔠꗸꘋ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ꗋꕃ"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ê—ꔿ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ê—ꖺꔻꘂꘋ"
+ },
+ "el": {
+ "code": "el",
+ "name": "ꗥꗷꘋ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ꗨꗡꔻꘂꘋ"
+ },
+ "my": {
+ "code": "my",
+ "name": "ꗩꕆꔻ"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ê—©ê•­ê”·"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ꗱꘋꔻ"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ê—¿ê—¡"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/vi.json b/library/intl/resources/language/vi.json
new file mode 100644
index 000000000..9601780eb
--- /dev/null
+++ b/library/intl/resources/language/vi.json
@@ -0,0 +1,738 @@
+{
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Tiếng Ả Rập"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Tiếng Ả Rập Hiện đại"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Tiếng Aghem"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Tiếng Ai-len"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Tiếng Akan"
+ },
+ "am": {
+ "code": "am",
+ "name": "Tiếng Amharic"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Tiếng An-ba-ni"
+ },
+ "en": {
+ "code": "en",
+ "name": "Tiếng Anh"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Tiếng Anh (Anh)"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Tiếng Anh (Mỹ)"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Tiếng Armenia"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Tiếng Asturias"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Tiếng Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Tiếng Azerbaijan"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Tiếng Ba Lan"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Tiếng Ba Tư"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Tiếng Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Tiếng Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Tiếng Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Tiếng Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "Tiếng Belarus"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Tiếng Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Tiếng Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Tiếng Bodo"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Tiếng Bồ Äào Nha"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Tiếng Bồ Äào Nha (Braxin)"
+ },
+ "br": {
+ "code": "br",
+ "name": "Tiếng Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Tiếng Bulgaria"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Tiếng Catalan"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Tiếng Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Tiếng Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Tiếng Cologne"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Tiếng Croatia"
+ },
+ "he": {
+ "code": "he",
+ "name": "Tiếng Do Thái"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Tiếng Dzongkha"
+ },
+ "da": {
+ "code": "da",
+ "name": "Tiếng Äan Mạch"
+ },
+ "de": {
+ "code": "de",
+ "name": "Tiếng Äức"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Tiếng Äức (Thụy SÄ©)"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Tiếng Embu"
+ },
+ "et": {
+ "code": "et",
+ "name": "Tiếng Estonia"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Tiếng Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Tiếng Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Tiếng Faore"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Tiếng Flemish"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Tiếng Frisia"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Tiếng Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Tiếng Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Tiếng Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Tiếng Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Tiếng Gruzia"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Tiếng Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Tiếng Gusii"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Tiếng Hà Lan"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Tiếng Hạ Sorbia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Tiếng Hàn"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Tiếng Hausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Tiếng Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Tiếng Hungary"
+ },
+ "el": {
+ "code": "el",
+ "name": "Tiếng Hy Lạp"
+ },
+ "is": {
+ "code": "is",
+ "name": "Tiếng Iceland"
+ },
+ "id": {
+ "code": "id",
+ "name": "Tiếng Indonesia"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Tiếng Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Tiếng Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Tiếng Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Tiếng Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Tiếng Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Tiếng Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Tiếng Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Tiếng Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Tiếng Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "Tiếng Khơ-me"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Tiếng Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Tiếng Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Tiếng Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Tiếng Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Tiếng Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Tiếng Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Tiếng Lào"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Tiếng Latvia"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Tiếng Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Tiếng Lít-va"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Tiếng Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Tiếng Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Tiếng Luxembourg"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Tiếng Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Tiếng Macedonia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Tiếng Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Tiếng Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Tiếng Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Tiếng Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Tiếng Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Tiếng Malaysia"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Tiếng Malt"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Tiếng Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Tiếng Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Tiếng Meru"
+ },
+ "my": {
+ "code": "my",
+ "name": "Tiếng Miến Äiện"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "Tiếng Moldova"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Tiếng Morisyen"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Tiếng Mông Cổ"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Tiếng Mundang"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Tiếng Na Uy (Bokmål)"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Tiếng Na Uy (Nynorsk)"
+ },
+ "af": {
+ "code": "af",
+ "name": "Tiếng Nam Phi"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Tiếng Nam Tư"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Tiếng Nama"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Tiếng Ndebele Miá»n Bắc"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Tiếng Nepal"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Tiếng Nga"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Tiếng Ngomba"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Tiếng Nhật"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Tiếng Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Tiếng Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Tiếng Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Tiếng Pashto"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Tiếng Pháp"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Tiếng Phần Lan"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Tiếng Philipin"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Tiếng Punjab"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Tiếng Quốc Tế Ngữ"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Tiếng Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Tiếng Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Tiếng Rumani"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Tiếng Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Tiếng Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Tiếng Samburu"
+ },
+ "se": {
+ "code": "se",
+ "name": "Tiếng Sami Miá»n Bắc"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Tiếng Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Tiếng Sangu"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Tiếng Séc"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Tiếng Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Tiếng Serbia"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Tiếng Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Tiếng Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Tiếng Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Tiếng Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Tiếng Slovenia"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Tiếng Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Tiếng Somali"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Tiếng Swahili"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Tiếng Swahili Congo"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tiếng Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Tiếng Taita"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Tiếng Tamazight Chuẩn của Ma-rốc"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Tiếng Tamazight Miá»n Trung Ma-rốc"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tiếng Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tiếng Tasawaq"
+ },
+ "es": {
+ "code": "es",
+ "name": "Tiếng Tây Ban Nha"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tiếng Tây Tạng"
+ },
+ "te": {
+ "code": "te",
+ "name": "Tiếng Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Tiếng Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Tiếng Thái"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Tiếng Thổ Nhĩ Kỳ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Tiếng Thụy Äiển"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Tiếng Thượng Giéc-man (Thụy Sĩ)"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Tiếng Thượng Sorbia"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tiếng Tigrigya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tiếng Tonga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Tiếng Trung"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Tiếng Ucraina"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Tiếng Uđu"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Tiếng Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Tiếng Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Tiếng Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Tiếng Việt"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Tiếng Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Tiếng Wales"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Tiếng Walser"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Tiếng Xentơ (Xcốt len)"
+ },
+ "it": {
+ "code": "it",
+ "name": "Tiếng Ã"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Tiếng Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Tiếng Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Tiếng Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Tiếng Zulu"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/vun.json b/library/intl/resources/language/vun.json
new file mode 100644
index 000000000..f8f0b4735
--- /dev/null
+++ b/library/intl/resources/language/vun.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Kiakanyi"
+ },
+ "am": {
+ "code": "am",
+ "name": "Kiamharyi"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Kyiajemi"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Kyiarabu"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Kyibangla"
+ },
+ "be": {
+ "code": "be",
+ "name": "Kyibelarusi"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Kyibulgaryia"
+ },
+ "my": {
+ "code": "my",
+ "name": "Kyiburma"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Kyichecki"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Kyichina"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Kyifaransa"
+ },
+ "el": {
+ "code": "el",
+ "name": "Kyigiriki"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Kyihausa"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Kyihindi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Kyihispania"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Kyiholanzi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Kyihungari"
+ },
+ "id": {
+ "code": "id",
+ "name": "Kyiindonesia"
+ },
+ "it": {
+ "code": "it",
+ "name": "Kyiitaliano"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Kyijapani"
+ },
+ "de": {
+ "code": "de",
+ "name": "Kyijerumani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kyikambodia"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Kyikorea"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Kyimalesia"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Kyinepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Kyingereza"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Kyipolandi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Kyipunjabi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Kyireno"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Kyiromania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Kyirusi"
+ },
+ "so": {
+ "code": "so",
+ "name": "Kyisomalyi"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Kyiswidi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Kyitailandi"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Kyitamil"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Kyiturukyi"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Kyiukrania"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Kyiurdu"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Kyivietinamu"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Kyivunjo"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Kyiyoruba"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Kyizulu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/wae.json b/library/intl/resources/language/wae.json
new file mode 100644
index 000000000..69098e0c8
--- /dev/null
+++ b/library/intl/resources/language/wae.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikáns"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albaniš"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "Amerikanišes Engliš"
+ },
+ "am": {
+ "code": "am",
+ "name": "Amhariš"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Arabiš"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armeniš"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "Auštrališes Engliš"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Baskiš"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Bengališ"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosniš"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "Brasilianišes Portugisiš"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "Britišes Engliš"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Bulgariš"
+ },
+ "my": {
+ "code": "my",
+ "name": "Burmesiš"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Butaniš"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Chinesiš"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "da": {
+ "code": "da",
+ "name": "Däniš"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en": {
+ "code": "en",
+ "name": "Engliš"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estniš"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipiniš"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finiš"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "Flämiš"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galiziš"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgiš"
+ },
+ "el": {
+ "code": "el",
+ "name": "GriÄiÅ¡"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebräiš"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Hindi"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Holändiš"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "Iberišes Portugisiš"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "Iberišes Schpaniš"
+ },
+ "is": {
+ "code": "is",
+ "name": "Iisländiš"
+ },
+ "id": {
+ "code": "id",
+ "name": "Indonesiš"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Iriš"
+ },
+ "it": {
+ "code": "it",
+ "name": "Italieniš"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Japaniš"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "km": {
+ "code": "km",
+ "name": "Kambodšaniš"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "Kanadišes Engliš"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "Kanadišes Wälš"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kašmiriš"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Katalaniš"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "KazaÄiÅ¡"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kirgisiš"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Koreaniš"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Kroatiš"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Laotiš"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Lettiš"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Litauiš"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxemburgiš"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagási"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Malaíš"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltesiš"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Mazedoniš"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongoliš"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Nepalesiš"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "Nordndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Nordsamiš"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegiš Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegiš Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "ÖštriÄiÅ¡es TitÅ¡"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Pandšabiš"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Paštu"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Persiš"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Polniš"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Portugisiš"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Rätromaniš"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Rumäniš"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Rusiš"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "es": {
+ "code": "es",
+ "name": "Schpaniš"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Schwediš"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "Schwizer HoÄtitÅ¡"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "Schwizer Wälš"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "az": {
+ "code": "az",
+ "name": "Serbaidšaniš"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbiš"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Singalesiš"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slowakiš"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Sloweniš"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Somališ"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Suaheliš"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Tamiliš"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "Thailändiš"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetiš"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinja"
+ },
+ "de": {
+ "code": "de",
+ "name": "Titš"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tonga"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "Traditionells Chinesiš"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "TÅ¡eÄiÅ¡"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Türkiš"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uiguriš"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Ukrainiš"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Ungariš"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Usbekiš"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "VereifaÄts ChinesiÅ¡"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Vietnamesiš"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Walisiš"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Wälš"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "be": {
+ "code": "be",
+ "name": "Wísrussiš"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Zulu"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/xog.json b/library/intl/resources/language/xog.json
new file mode 100644
index 000000000..41ce6cd02
--- /dev/null
+++ b/library/intl/resources/language/xog.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Olu-urudu"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Oluakaani"
+ },
+ "am": {
+ "code": "am",
+ "name": "Oluamhariki"
+ },
+ "my": {
+ "code": "my",
+ "name": "Olubbama"
+ },
+ "be": {
+ "code": "be",
+ "name": "Olubelarusi"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Olubengali"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Olubulugariya"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Olucayina"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Oluceeke"
+ },
+ "de": {
+ "code": "de",
+ "name": "Oludaaki"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Olufalansa"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Oluhangare"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Oluhawuza"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Oluhindu"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Oluholandi"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Olujapani"
+ },
+ "km": {
+ "code": "km",
+ "name": "Olukme"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Olukoreya"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Olulasa"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Olulomaniya"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Olumalayi"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Olunepali"
+ },
+ "en": {
+ "code": "en",
+ "name": "Olungereza"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Oluperusi"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Olupolandi"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Olupotugiizi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Olupunjabi"
+ },
+ "es": {
+ "code": "es",
+ "name": "Olusipanya"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Olusoga"
+ },
+ "so": {
+ "code": "so",
+ "name": "Olusomaliya"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Oluswideni"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Olutake"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Olutamiiru"
+ },
+ "th": {
+ "code": "th",
+ "name": "Oluttaayi"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Oluvyetinaamu"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Oluwarabu"
+ },
+ "id": {
+ "code": "id",
+ "name": "Oluyindonezya"
+ },
+ "it": {
+ "code": "it",
+ "name": "Oluyitale"
+ },
+ "el": {
+ "code": "el",
+ "name": "Oluyonaani"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Oluyoruba"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Oluyukurayine"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Oluzzulu"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/yav.json b/library/intl/resources/language/yav.json
new file mode 100644
index 000000000..ab34736d3
--- /dev/null
+++ b/library/intl/resources/language/yav.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "akánɛ"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "am": {
+ "code": "am",
+ "name": "amalíke"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "my": {
+ "code": "my",
+ "name": "bímanɛ"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "bulgálɛ"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "cÉ›ÌkÉ›ÌÉ›"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "feleŋsí"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "índí"
+ },
+ "id": {
+ "code": "id",
+ "name": "índonísiɛ"
+ },
+ "en": {
+ "code": "en",
+ "name": "íŋgilísé"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "itáliɛ"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "km": {
+ "code": "km",
+ "name": "kímɛɛ"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "kolíe"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "máliɛ"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ndiáman"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "nilándɛ"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "nuasue"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "es": {
+ "code": "es",
+ "name": "nuÉ›spanyÉ”ÌlÉ›"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "nufiɛtnamíɛŋ"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "nukeleniÉ›ÌÅ‹É›"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "nulumÉ›ÌÅ‹É›"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "nulúse"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "nulutú"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "nunipálɛ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "nupÉ›ÌlisÉ›"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "nupolonÉ›ÌÉ›"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "nupÉ”litukÉ›ÌÉ›"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "nupunsapíɛÌ"
+ },
+ "so": {
+ "code": "so",
+ "name": "nusomalíɛ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "nusuetua"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "nusulú"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "nutámule"
+ },
+ "th": {
+ "code": "th",
+ "name": "nutáyɛ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "nutúluke"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "nuyolúpa"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "de": {
+ "code": "de",
+ "name": "ŋndiáman"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "É”ÌÅ‹gÉ›"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "pakas"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Ìpakas"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "pengálÉ›ÌÉ›"
+ },
+ "be": {
+ "code": "be",
+ "name": "pielúse"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "sinúɛ"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "el": {
+ "code": "el",
+ "name": "yavánɛ"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/yo-BJ.json b/library/intl/resources/language/yo-BJ.json
new file mode 100644
index 000000000..5ebc90216
--- /dev/null
+++ b/library/intl/resources/language/yo-BJ.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "af": {
+ "code": "af",
+ "name": "Èdè Afrikani"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Èdè Akani"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Èdè Albania"
+ },
+ "am": {
+ "code": "am",
+ "name": "Èdè Amariki"
+ },
+ "so": {
+ "code": "so",
+ "name": "Èdè ara Somalia"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Èdè Arabiki"
+ },
+ "az": {
+ "code": "az",
+ "name": "Èdè Azerbaijani"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Èdè Baski"
+ },
+ "be": {
+ "code": "be",
+ "name": "Èdè Belarusi"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Èdè Bengali"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Èdè Bosnia"
+ },
+ "br": {
+ "code": "br",
+ "name": "Èdè Bretoni"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Èdè Bugaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Èdè Bumiisi"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Èdè Catala"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Èdè Duki"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Èdè Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Èdè Estonia"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Èdè Faransé"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Èdè Faroesi"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Èdè Finisi"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Èdè Frisia"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Èdè Gaelik ti Ilu Scotland"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Èdè Galicia"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Èdè Georgia"
+ },
+ "en": {
+ "code": "en",
+ "name": "Èdè Gɛ̀ɛÌsì"
+ },
+ "el": {
+ "code": "el",
+ "name": "Èdè Giriki"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Èdè Gujarati"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Èdè Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Èdè Heberu"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Èdè Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Èdè Hungaria"
+ },
+ "is": {
+ "code": "is",
+ "name": "Èdè Icelandic"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Èdè Ile Armenia"
+ },
+ "da": {
+ "code": "da",
+ "name": "Èdè Ilɛ̀ Denmark"
+ },
+ "de": {
+ "code": "de",
+ "name": "Èdè Ilɛ̀ Gemani"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Èdè Ilɛ̀ Polandi"
+ },
+ "id": {
+ "code": "id",
+ "name": "Èdè Indonasia"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Èdè Ireland"
+ },
+ "it": {
+ "code": "it",
+ "name": "Èdè Italiani"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Èdè Japanisi"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Èdè Jetinamu"
+ },
+ "km": {
+ "code": "km",
+ "name": "Èdè kameri"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Èdè Kannada"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Èdè Koria"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Èdè Kroatia"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Èdè Latvianu"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Èdè Lithuania"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Èdè Macedonia"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Èdè Malaya"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Èdè Malta"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Èdè Mandari"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Èdè marathi"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Èdè Nepali"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Èdè Pasia"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Èdè Pɔtugi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Èdè Punjabi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Èdè Romania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Èdè ̣Rɔɔsia"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Èdè seeki"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Èdè Serbia"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Èdè Shulu"
+ },
+ "si": {
+ "code": "si",
+ "name": "Èdè Sinhalese"
+ },
+ "es": {
+ "code": "es",
+ "name": "Èdè Sipanisi"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Èdè Slovaki"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Èdè Slovenia"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Èdè Suwidiisi"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Èdè Swahili"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Èdè Tagalogi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Èdè Tai"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Èdè Tamili"
+ },
+ "te": {
+ "code": "te",
+ "name": "Èdè Telugu"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Èdè Tigrinya"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Èdè Tɔɔkisi"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Èdè Udu"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Èdè Ukania"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Èdè Uzbek"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Èdè Welshi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Èdè Yorùbá"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/yo.json b/library/intl/resources/language/yo.json
new file mode 100644
index 000000000..968fb13be
--- /dev/null
+++ b/library/intl/resources/language/yo.json
@@ -0,0 +1,738 @@
+{
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "af": {
+ "code": "af",
+ "name": "Èdè Afrikani"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "Èdè Akani"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Èdè Albania"
+ },
+ "am": {
+ "code": "am",
+ "name": "Èdè Amariki"
+ },
+ "so": {
+ "code": "so",
+ "name": "Èdè ara Somalia"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "Èdè Arabiki"
+ },
+ "az": {
+ "code": "az",
+ "name": "Èdè Azerbaijani"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Èdè Baski"
+ },
+ "be": {
+ "code": "be",
+ "name": "Èdè Belarusi"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "Èdè Bengali"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Èdè Bosnia"
+ },
+ "br": {
+ "code": "br",
+ "name": "Èdè Bretoni"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "Èdè Bugaria"
+ },
+ "my": {
+ "code": "my",
+ "name": "Èdè Bumiisi"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Èdè Catala"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "Èdè Duki"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Èdè Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Èdè Estonia"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "Èdè Faransé"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Èdè Faroesi"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Èdè Finisi"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Èdè Frisia"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Èdè Gaelik ti Ilu Scotland"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Èdè Galicia"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Èdè Georgia"
+ },
+ "en": {
+ "code": "en",
+ "name": "Èdè Gẹ̀ẹÌsì"
+ },
+ "el": {
+ "code": "el",
+ "name": "Èdè Giriki"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Èdè Gujarati"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "Èdè Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "Èdè Heberu"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "Èdè Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "Èdè Hungaria"
+ },
+ "is": {
+ "code": "is",
+ "name": "Èdè Icelandic"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Èdè Ile Armenia"
+ },
+ "da": {
+ "code": "da",
+ "name": "Èdè Ilẹ̀ Denmark"
+ },
+ "de": {
+ "code": "de",
+ "name": "Èdè Ilẹ̀ Gemani"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "Èdè Ilẹ̀ Polandi"
+ },
+ "id": {
+ "code": "id",
+ "name": "Èdè Indonasia"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Èdè Ireland"
+ },
+ "it": {
+ "code": "it",
+ "name": "Èdè Italiani"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "Èdè Japanisi"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "Èdè Jetinamu"
+ },
+ "km": {
+ "code": "km",
+ "name": "Èdè kameri"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Èdè Kannada"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "Èdè Koria"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Èdè Kroatia"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Èdè Latvianu"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Èdè Lithuania"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Èdè Macedonia"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "Èdè Malaya"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Èdè Malta"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "Èdè Mandari"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Èdè marathi"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "Èdè Nepali"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "Èdè Pasia"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "Èdè Pá»tugi"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "Èdè Punjabi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "Èdè Romania"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "Èdè Ì£Rá»á»sia"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "Èdè seeki"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Èdè Serbia"
+ },
+ "si": {
+ "code": "si",
+ "name": "Èdè Sinhalese"
+ },
+ "es": {
+ "code": "es",
+ "name": "Èdè Sipanisi"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Èdè Slovaki"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Èdè Slovenia"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "Èdè Suwidiisi"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Èdè Swahili"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "Èdè Ṣulu"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Èdè Tagalogi"
+ },
+ "th": {
+ "code": "th",
+ "name": "Èdè Tai"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "Èdè Tamili"
+ },
+ "te": {
+ "code": "te",
+ "name": "Èdè Telugu"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Èdè Tigrinya"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "Èdè Tá»á»kisi"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "Èdè Udu"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "Èdè Ukania"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Èdè Uzbek"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Èdè Welshi"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "Èdè Yorùbá"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "Standard Moroccan Tamazight"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/zgh.json b/library/intl/resources/language/zgh.json
new file mode 100644
index 000000000..6b6d9172f
--- /dev/null
+++ b/library/intl/resources/language/zgh.json
@@ -0,0 +1,738 @@
+{
+ "af": {
+ "code": "af",
+ "name": "Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "Aghem"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "Albanian"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ar_001"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "Armenian"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "az": {
+ "code": "az",
+ "name": "Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "Bambara"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "Basque"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "Bena"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "Bosnian"
+ },
+ "br": {
+ "code": "br",
+ "name": "Breton"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "Chiga"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "Croatian"
+ },
+ "da": {
+ "code": "da",
+ "name": "Danish"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "de_CH"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "Embu"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "Estonian"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Ewe"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "Finnish"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "Galician"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "Georgian"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "Gusii"
+ },
+ "he": {
+ "code": "he",
+ "name": "Hebrew"
+ },
+ "is": {
+ "code": "is",
+ "name": "Icelandic"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "Irish"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "Jola-Fonyi"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "Kazakh"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "Kikuyu"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "Langi"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "Lao"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "Malagasy"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "Meru"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "Nama"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "Ngomba"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "nl_BE"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "Norwegian Bokmål"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "Norwegian Nynorsk"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "Pashto"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "pt_PT"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "ro_MD"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "Rundi"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "Sangu"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "Scottish Gaelic"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "Shona"
+ },
+ "si": {
+ "code": "si",
+ "name": "Sinhala"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "Soga"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "Swahili"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "Swiss German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "Taita"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "Teso"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Tongan"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "Upper Sorbian"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "Uyghur"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "Vai"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "Vunjo"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "Western Frisian"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "Zarma"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "zh_Hans"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "zh_Hant"
+ },
+ "be": {
+ "code": "be",
+ "name": "ⵜⴰⴱⵉâµâ´°âµ”ⵓⵙⵜ"
+ },
+ "my": {
+ "code": "my",
+ "name": "ⵜⴰⴱⵉⵔⵎⴰâµâµ‰âµœ"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "ⵜⴰⴱⵉⵜâµâ´°âµŽâµ‰âµœ"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ⵜⴰⴱâµâµ–ⴰⵔⵉⵜ"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "ⵜⴰⴱâµâµŠâ´°â´±âµ‰âµœ"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "ⵜⴰⴱâµâµ–â´°âµâµ‰âµœ"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "ⵜⴰⴱⵓâµâµ“âµâµ‰âµœ"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "ⵜⴰⴱⵕⵟⵇⵉⵣⵜ"
+ },
+ "el": {
+ "code": "el",
+ "name": "ⵜⴰⴳⵔⵉⴳⵉⵜ"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "ⵜⴰⴼⵓⵔⵙⵉⵜ"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "ⵜⴰⴼⵔⴰâµâµ™âµ‰âµ™âµœ"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "ⵜⴰⴽⴰâµâµœ"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "ⵜⴰⴽⵓⵔⵉⵜ"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "ⵜⴰⵀⴰⵡⵙⴰⵜ"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "ⵜⴰⵀⵉâµâ´·âµ‰âµœ"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "ⵜⴰⵀâµâµ–ⴰⵔⵉⵜ"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "ⵜⴰⵀⵓâµâ´°âµâ´·âµ‰âµœ"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "ⵜⴰⵄⵔⴰⴱⵜ"
+ },
+ "km": {
+ "code": "km",
+ "name": "ⵜⴰⵅⵎⵉⵔⵜ"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "ⵜⴰⵊⴰⴱⴱⵓâµâµ‰âµœ"
+ },
+ "de": {
+ "code": "de",
+ "name": "ⵜⴰâµâµ‰âµŽâ´°âµâµœ"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "ⵜⴰⵎⴰâµâ´°âµ¡âµ‰âµœ"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "ⵜⴰⵎⴰⵣⵉⵖⵜ"
+ },
+ "am": {
+ "code": "am",
+ "name": "ⵜⴰⵎⵀⴰⵔⵉⵜ"
+ },
+ "en": {
+ "code": "en",
+ "name": "ⵜⴰâµâ´³âµâµ‰âµ£âµœ"
+ },
+ "id": {
+ "code": "id",
+ "name": "ⵜⴰâµâ´·âµ“âµâµ‰âµ™âµ‰âµœ"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "ⵜⴰâµâµ‰â´±â´°âµâµ‰âµœ"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "ⵜⴰⵔⵓⵎⴰâµâµ‰âµœ"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ⵜⴰⵔⵓⵙⵉⵜ"
+ },
+ "es": {
+ "code": "es",
+ "name": "ⵜⴰⵙⴱâµâµ¢âµ“âµâµ‰âµœ"
+ },
+ "so": {
+ "code": "so",
+ "name": "ⵜⴰⵙⵓⵎⴰâµâµ‰âµœ"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "ⵜⴰⵙⵡⵉⴷⵉⵜ"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "ⵜⴰⵛⵉâµâµ¡âµ‰âµœ"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "ⵜⴰⵜⴰⵎⵉâµâµœ"
+ },
+ "th": {
+ "code": "th",
+ "name": "ⵜⴰⵜⴰⵢâµâ´°âµâ´·âµ‰âµœ"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "ⵜⴰⵜⵓⵔⴽⵉⵜ"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "ⵜⴰⵜⵛⵉⴽⵉⵜ"
+ },
+ "it": {
+ "code": "it",
+ "name": "ⵜⴰⵟⴰâµâµ¢â´°âµâµœ"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "ⵜⴰⵢⵔⵓⴱⴰⵜ"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "ⵜⴰⵣⵓâµâµ“ⵜ"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "ⵜⵓⴽⵔⴰâµâµ‰âµœ"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "ⵜⵓⵔⴷⵓⵜ"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/zh-Hans-HK.json b/library/intl/resources/language/zh-Hans-HK.json
new file mode 100644
index 000000000..6c5f166f3
--- /dev/null
+++ b/library/intl/resources/language/zh-Hans-HK.json
@@ -0,0 +1,738 @@
+{
+ "sq": {
+ "code": "sq",
+ "name": "阿尔巴尼亚文"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "阿肯文"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "阿拉伯文"
+ },
+ "am": {
+ "code": "am",
+ "name": "阿姆哈拉文"
+ },
+ "az": {
+ "code": "az",
+ "name": "阿塞拜疆文"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "阿斯图里亚æ€æ–‡"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "阿è‹æ–‡"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "埃维文"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "爱尔兰文"
+ },
+ "et": {
+ "code": "et",
+ "name": "爱沙尼亚文"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "奥地利德文"
+ },
+ "or": {
+ "code": "or",
+ "name": "奥里亚文"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "澳大利亚英文"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "å·´è²äºšæ–‡"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "å·´è¨æ–‡"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "巴斯克文"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "巴西葡è„牙文"
+ },
+ "be": {
+ "code": "be",
+ "name": "白俄罗斯文"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ç­å·´æ‹‰æ–‡"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ä¿åŠ åˆ©äºšæ–‡"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "北æ©å¾·è´å‹’æ–‡"
+ },
+ "se": {
+ "code": "se",
+ "name": "北è¨ç±³æ–‡"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "北桑海文"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "è´çº³æ–‡"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "标准摩洛哥塔马塞特文"
+ },
+ "is": {
+ "code": "is",
+ "name": "冰岛文"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "波兰文"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "波斯尼亚文"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "波斯文"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "åšå¤šæ–‡"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ä¸ä¸¹æ–‡"
+ },
+ "br": {
+ "code": "br",
+ "name": "布里多尼文"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "è—æ–‡"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "彻罗基文"
+ },
+ "da": {
+ "code": "da",
+ "name": "丹麦文"
+ },
+ "de": {
+ "code": "de",
+ "name": "å¾·æ–‡"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "东桑海文"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ä¿„æ–‡"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "æ©å¸ƒæ–‡"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "æ©è‰®å·´"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "法罗文"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "法文"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ç¹ä½“中文"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "è²å¾‹å®¾æ–‡"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "芬兰文"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "弗留利文"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "佛兰芒文"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "夫拉文"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "刚果斯瓦希里文"
+ },
+ "km": {
+ "code": "km",
+ "name": "高棉文"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "格陵兰文"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "æ ¼é²å‰äºšæ–‡"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "å¤å‰æ‹‰ç‰¹æ–‡"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "å¤è¥¿æ–‡"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "哈è¨å…‹æ–‡"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "韩文"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "豪è¨æ–‡"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "è·å…°æ–‡"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "基隆迪文"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "å‰å°”å‰æ–¯æ–‡"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "å‰åº“尤文"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "加利西亚文"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "加拿大法文"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "加拿大英文"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "加泰罗尼亚文"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "简体中文"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "æ·å…‹æ–‡"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "å¡æ¯”尔文"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "å¡å¸ƒä½›å¾—é²æ–‡"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "å¡ä¼¦é‡‘æ–‡"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "å¡å§†å·´æ–‡"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "å¡çº³è¾¾æ–‡"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "科隆文"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "克罗地亚文"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "克什米尔文"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "夸西奥文"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "拉脱维亚文"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "å…°åšæ–‡"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "朗å‰æ–‡"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "è€æŒæ–‡"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "立陶宛文"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "林加拉文"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "å¢å¥¥æ–‡"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "å¢å¹²è¾¾æ–‡"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "å¢æ£®å ¡æ–‡"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "å¢é›…æ–‡"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "é²å·´åŠ ä¸¹åŠ æ–‡"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "罗马尼亚文"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "罗曼什文"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "罗瓦文"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "马尔加什文"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "马耳他文"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "马孔德文"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "马夸文"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "马拉地文"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "马拉雅拉姆文"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "马æ¥æ–‡"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "马其顿文"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "马切姆文"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "毛里求斯克里奥尔文"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "梅é²æ–‡"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "美å¼è‹±æ–‡"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "蒙当文"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "è’™å¤æ–‡"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "孟加拉文"
+ },
+ "my": {
+ "code": "my",
+ "name": "缅甸文"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "摩尔多瓦文"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "墨西哥西ç­ç‰™æ–‡"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "纳马文"
+ },
+ "af": {
+ "code": "af",
+ "name": "å—éžè·å…°æ–‡"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "尼昂科勒文"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "尼泊尔文"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "努埃尔文"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "挪å¨åšå…‹é©¬å°”æ–‡"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "挪å¨å°¼è¯ºæ–¯å…‹æ–‡"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "æ—é®æ™®æ–‡"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "è‘¡è„牙文"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "普什图文"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "奇加文"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "日文"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "瑞典文"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "瑞士德文"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "瑞士法文"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "瑞士高地德文"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "è¨ä¼Šæ–‡"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "塞尔维亚文"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "塞纳文"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "桑布é²æ–‡"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "æ¡‘å¤æ–‡"
+ },
+ "si": {
+ "code": "si",
+ "name": "僧伽罗文"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "上索布文"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ç»çº³æ–‡"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "世界文"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "斯洛ä¼å…‹æ–‡"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "斯洛文尼亚文"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "斯瓦希里文"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "è‹æ ¼å…°ç›–尔文"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "索加文"
+ },
+ "so": {
+ "code": "so",
+ "name": "索马里文"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "塔马é½æ ¼ç‰¹æ–‡"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "å°å¡”æ–‡"
+ },
+ "te": {
+ "code": "te",
+ "name": "æ³°å¢å›ºæ–‡"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "泰米尔文"
+ },
+ "th": {
+ "code": "th",
+ "name": "æ³°æ–‡"
+ },
+ "to": {
+ "code": "to",
+ "name": "汤加文"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "特索文"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "æ格里尼亚文"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "土耳其文"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "瓦尔瑟文"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "瓦伊文"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "æ—ºæœæ–‡"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "å¨å°”士文"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ç»´å¾å°”æ–‡"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "温旧文"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "乌尔都文"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "乌克兰文"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "乌兹别克文"
+ },
+ "he": {
+ "code": "he",
+ "name": "希伯æ¥æ–‡"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "希尔哈文"
+ },
+ "el": {
+ "code": "el",
+ "name": "希腊文"
+ },
+ "es": {
+ "code": "es",
+ "name": "西ç­ç‰™æ–‡"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "西弗里西亚文"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "西桑海文"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "下索布文"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "现代标准阿拉伯文"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "香巴拉文"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "匈牙利文"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "亚罕文"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "亚美尼亚文"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "æ´‹åžæ–‡"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "伊比利亚葡è„牙文"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "伊比利亚西ç­ç‰™æ–‡"
+ },
+ "it": {
+ "code": "it",
+ "name": "æ„大利文"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "å°åœ°æ–‡"
+ },
+ "id": {
+ "code": "id",
+ "name": "å°åº¦å°¼è¥¿äºšæ–‡"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "英å¼è‹±æ–‡"
+ },
+ "en": {
+ "code": "en",
+ "name": "英文"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "约é²å·´æ–‡"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "越å—æ–‡"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "哲尔马文"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "中文"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "朱拉文"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "祖é²æ–‡"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/zh-Hans-MO.json b/library/intl/resources/language/zh-Hans-MO.json
new file mode 100644
index 000000000..6c5f166f3
--- /dev/null
+++ b/library/intl/resources/language/zh-Hans-MO.json
@@ -0,0 +1,738 @@
+{
+ "sq": {
+ "code": "sq",
+ "name": "阿尔巴尼亚文"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "阿肯文"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "阿拉伯文"
+ },
+ "am": {
+ "code": "am",
+ "name": "阿姆哈拉文"
+ },
+ "az": {
+ "code": "az",
+ "name": "阿塞拜疆文"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "阿斯图里亚æ€æ–‡"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "阿è‹æ–‡"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "埃维文"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "爱尔兰文"
+ },
+ "et": {
+ "code": "et",
+ "name": "爱沙尼亚文"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "奥地利德文"
+ },
+ "or": {
+ "code": "or",
+ "name": "奥里亚文"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "澳大利亚英文"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "å·´è²äºšæ–‡"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "å·´è¨æ–‡"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "巴斯克文"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "巴西葡è„牙文"
+ },
+ "be": {
+ "code": "be",
+ "name": "白俄罗斯文"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ç­å·´æ‹‰æ–‡"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ä¿åŠ åˆ©äºšæ–‡"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "北æ©å¾·è´å‹’æ–‡"
+ },
+ "se": {
+ "code": "se",
+ "name": "北è¨ç±³æ–‡"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "北桑海文"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "è´çº³æ–‡"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "标准摩洛哥塔马塞特文"
+ },
+ "is": {
+ "code": "is",
+ "name": "冰岛文"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "波兰文"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "波斯尼亚文"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "波斯文"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "åšå¤šæ–‡"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ä¸ä¸¹æ–‡"
+ },
+ "br": {
+ "code": "br",
+ "name": "布里多尼文"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "è—æ–‡"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "彻罗基文"
+ },
+ "da": {
+ "code": "da",
+ "name": "丹麦文"
+ },
+ "de": {
+ "code": "de",
+ "name": "å¾·æ–‡"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "东桑海文"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ä¿„æ–‡"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "æ©å¸ƒæ–‡"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "æ©è‰®å·´"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "法罗文"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "法文"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ç¹ä½“中文"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "è²å¾‹å®¾æ–‡"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "芬兰文"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "弗留利文"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "佛兰芒文"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "夫拉文"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "刚果斯瓦希里文"
+ },
+ "km": {
+ "code": "km",
+ "name": "高棉文"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "格陵兰文"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "æ ¼é²å‰äºšæ–‡"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "å¤å‰æ‹‰ç‰¹æ–‡"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "å¤è¥¿æ–‡"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "哈è¨å…‹æ–‡"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "韩文"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "豪è¨æ–‡"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "è·å…°æ–‡"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "基隆迪文"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "å‰å°”å‰æ–¯æ–‡"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "å‰åº“尤文"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "加利西亚文"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "加拿大法文"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "加拿大英文"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "加泰罗尼亚文"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "简体中文"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "æ·å…‹æ–‡"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "å¡æ¯”尔文"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "å¡å¸ƒä½›å¾—é²æ–‡"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "å¡ä¼¦é‡‘æ–‡"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "å¡å§†å·´æ–‡"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "å¡çº³è¾¾æ–‡"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "科隆文"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "克罗地亚文"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "克什米尔文"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "夸西奥文"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "拉脱维亚文"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "å…°åšæ–‡"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "朗å‰æ–‡"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "è€æŒæ–‡"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "立陶宛文"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "林加拉文"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "å¢å¥¥æ–‡"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "å¢å¹²è¾¾æ–‡"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "å¢æ£®å ¡æ–‡"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "å¢é›…æ–‡"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "é²å·´åŠ ä¸¹åŠ æ–‡"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "罗马尼亚文"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "罗曼什文"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "罗瓦文"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "马尔加什文"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "马耳他文"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "马孔德文"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "马夸文"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "马拉地文"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "马拉雅拉姆文"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "马æ¥æ–‡"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "马其顿文"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "马切姆文"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "毛里求斯克里奥尔文"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "梅é²æ–‡"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "美å¼è‹±æ–‡"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "蒙当文"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "è’™å¤æ–‡"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "孟加拉文"
+ },
+ "my": {
+ "code": "my",
+ "name": "缅甸文"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "摩尔多瓦文"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "墨西哥西ç­ç‰™æ–‡"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "纳马文"
+ },
+ "af": {
+ "code": "af",
+ "name": "å—éžè·å…°æ–‡"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "尼昂科勒文"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "尼泊尔文"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "努埃尔文"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "挪å¨åšå…‹é©¬å°”æ–‡"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "挪å¨å°¼è¯ºæ–¯å…‹æ–‡"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "æ—é®æ™®æ–‡"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "è‘¡è„牙文"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "普什图文"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "奇加文"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "日文"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "瑞典文"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "瑞士德文"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "瑞士法文"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "瑞士高地德文"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "è¨ä¼Šæ–‡"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "塞尔维亚文"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "塞纳文"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "桑布é²æ–‡"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "æ¡‘å¤æ–‡"
+ },
+ "si": {
+ "code": "si",
+ "name": "僧伽罗文"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "上索布文"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ç»çº³æ–‡"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "世界文"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "斯洛ä¼å…‹æ–‡"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "斯洛文尼亚文"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "斯瓦希里文"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "è‹æ ¼å…°ç›–尔文"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "索加文"
+ },
+ "so": {
+ "code": "so",
+ "name": "索马里文"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "塔马é½æ ¼ç‰¹æ–‡"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "å°å¡”æ–‡"
+ },
+ "te": {
+ "code": "te",
+ "name": "æ³°å¢å›ºæ–‡"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "泰米尔文"
+ },
+ "th": {
+ "code": "th",
+ "name": "æ³°æ–‡"
+ },
+ "to": {
+ "code": "to",
+ "name": "汤加文"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "特索文"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "æ格里尼亚文"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "土耳其文"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "瓦尔瑟文"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "瓦伊文"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "æ—ºæœæ–‡"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "å¨å°”士文"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ç»´å¾å°”æ–‡"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "温旧文"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "乌尔都文"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "乌克兰文"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "乌兹别克文"
+ },
+ "he": {
+ "code": "he",
+ "name": "希伯æ¥æ–‡"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "希尔哈文"
+ },
+ "el": {
+ "code": "el",
+ "name": "希腊文"
+ },
+ "es": {
+ "code": "es",
+ "name": "西ç­ç‰™æ–‡"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "西弗里西亚文"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "西桑海文"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "下索布文"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "现代标准阿拉伯文"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "香巴拉文"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "匈牙利文"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "亚罕文"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "亚美尼亚文"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "æ´‹åžæ–‡"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "伊比利亚葡è„牙文"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "伊比利亚西ç­ç‰™æ–‡"
+ },
+ "it": {
+ "code": "it",
+ "name": "æ„大利文"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "å°åœ°æ–‡"
+ },
+ "id": {
+ "code": "id",
+ "name": "å°åº¦å°¼è¥¿äºšæ–‡"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "英å¼è‹±æ–‡"
+ },
+ "en": {
+ "code": "en",
+ "name": "英文"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "约é²å·´æ–‡"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "越å—æ–‡"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "哲尔马文"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "中文"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "朱拉文"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "祖é²æ–‡"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/zh-Hans-SG.json b/library/intl/resources/language/zh-Hans-SG.json
new file mode 100644
index 000000000..c5327f054
--- /dev/null
+++ b/library/intl/resources/language/zh-Hans-SG.json
@@ -0,0 +1,738 @@
+{
+ "sq": {
+ "code": "sq",
+ "name": "阿尔巴尼亚文"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "阿肯文"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "阿拉伯文"
+ },
+ "am": {
+ "code": "am",
+ "name": "阿姆哈拉文"
+ },
+ "az": {
+ "code": "az",
+ "name": "阿塞拜疆文"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "阿斯图里亚æ€ç‰¹æ–‡"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "阿è‹æ–‡"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "埃维文"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "爱尔兰文"
+ },
+ "et": {
+ "code": "et",
+ "name": "爱沙尼亚文"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "奥地利德文"
+ },
+ "or": {
+ "code": "or",
+ "name": "奥里亚文"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "澳大利亚英文"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "å·´è²äºšæ–‡"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "å·´è¨æ–‡"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "巴斯克文"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "巴西葡è„牙文"
+ },
+ "be": {
+ "code": "be",
+ "name": "白俄罗斯文"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ç­å·´æ‹‰æ–‡"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ä¿åŠ åˆ©äºšæ–‡"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "北æ©å¾·è´å‹’æ–‡"
+ },
+ "se": {
+ "code": "se",
+ "name": "北è¨ç±³æ–‡"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "北桑海文"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "è´çº³æ–‡"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "标准摩洛哥塔马塞特文"
+ },
+ "is": {
+ "code": "is",
+ "name": "冰岛文"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "波兰文"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "波斯尼亚文"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "波斯文"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "åšå¤šæ–‡"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ä¸ä¸¹æ–‡"
+ },
+ "br": {
+ "code": "br",
+ "name": "布里多尼文"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "è—æ–‡"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "彻罗基文"
+ },
+ "da": {
+ "code": "da",
+ "name": "丹麦文"
+ },
+ "de": {
+ "code": "de",
+ "name": "å¾·æ–‡"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "东桑海文"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ä¿„æ–‡"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "æ©å¸ƒæ–‡"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "æ©è‰®å·´"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "法罗文"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "法文"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ç¹ä½“中文"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "è²å¾‹å®¾æ–‡"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "芬兰文"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "弗留利文"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "佛兰芒文"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "夫拉文"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "刚果斯瓦希里文"
+ },
+ "km": {
+ "code": "km",
+ "name": "高棉文"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "格陵兰文"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "æ ¼é²å‰äºšæ–‡"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "å¤å‰æ‹‰ç‰¹æ–‡"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "å¤è¥¿æ–‡"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "哈è¨å…‹æ–‡"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "韩文"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "豪è¨æ–‡"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "è·å…°æ–‡"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "基隆迪文"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "å‰å°”å‰æ–¯æ–‡"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "å‰åº“尤文"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "加利西亚文"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "加拿大法文"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "加拿大英文"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "加泰罗尼亚文"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "简体中文"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "æ·å…‹æ–‡"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "å¡æ¯”尔文"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "å¡å¸ƒä½›å¾—é²æ–‡"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "å¡ä¼¦é‡‘æ–‡"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "å¡å§†å·´æ–‡"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "å¡çº³è¾¾æ–‡"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "科隆文"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "克罗地亚文"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "克什米尔文"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "夸西奥文"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "拉脱维亚文"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "å…°åšæ–‡"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "朗å‰æ–‡"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "è€æŒæ–‡"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "立陶宛文"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "林加拉文"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "å¢å¥¥æ–‡"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "å¢å¹²è¾¾æ–‡"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "å¢æ£®å ¡æ–‡"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "å¢é›…æ–‡"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "é²å·´åŠ ä¸¹åŠ æ–‡"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "罗马尼亚文"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "罗曼什文"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "罗瓦文"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "马尔加什文"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "马耳他文"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "马孔德文"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "马夸文"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "马拉地文"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "马拉雅拉姆文"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "马æ¥æ–‡"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "马其顿文"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "马切姆文"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "毛里求斯克里奥尔文"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "梅é²æ–‡"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "美国英文"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "蒙当文"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "è’™å¤æ–‡"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "孟加拉文"
+ },
+ "my": {
+ "code": "my",
+ "name": "缅甸文"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "摩尔多瓦文"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "墨西哥西ç­ç‰™æ–‡"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "纳马文"
+ },
+ "af": {
+ "code": "af",
+ "name": "å—éžè·å…°æ–‡"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "尼昂科勒文"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "尼泊尔文"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "努埃尔文"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "挪å¨åšå…‹é©¬å°”æ–‡"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "挪å¨å°¼è¯ºæ–¯å…‹æ–‡"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "æ—é®æ™®æ–‡"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "è‘¡è„牙文"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "普什图文"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "奇加文"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "日文"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "瑞典文"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "瑞士德文"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "瑞士法文"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "瑞士高地德文"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "è¨ä¼Šæ–‡"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "塞尔维亚文"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "塞纳文"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "桑布é²æ–‡"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "æ¡‘å¤æ–‡"
+ },
+ "si": {
+ "code": "si",
+ "name": "僧伽罗文"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "上索布文"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ç»çº³æ–‡"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "世界文"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "斯洛ä¼å…‹æ–‡"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "斯洛文尼亚文"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "斯瓦希里文"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "è‹æ ¼å…°ç›–尔文"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "索加文"
+ },
+ "so": {
+ "code": "so",
+ "name": "索马里文"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "塔马é½æ ¼ç‰¹æ–‡"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "å°å¡”æ–‡"
+ },
+ "te": {
+ "code": "te",
+ "name": "æ³°å¢å›ºæ–‡"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "泰米尔文"
+ },
+ "th": {
+ "code": "th",
+ "name": "æ³°æ–‡"
+ },
+ "to": {
+ "code": "to",
+ "name": "汤加文"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "特索文"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "æ格里尼亚文"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "土耳其文"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "瓦尔瑟文"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "瓦伊文"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "æ—ºæœæ–‡"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "å¨å°”士文"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ç»´å¾å°”æ–‡"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "温旧文"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "乌尔都文"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "乌克兰文"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "乌兹别克文"
+ },
+ "he": {
+ "code": "he",
+ "name": "希伯æ¥æ–‡"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "希尔哈文"
+ },
+ "el": {
+ "code": "el",
+ "name": "希腊文"
+ },
+ "es": {
+ "code": "es",
+ "name": "西ç­ç‰™æ–‡"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "西弗里西亚文"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "西桑海文"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "下索布文"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "现代标准阿拉伯文"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "香巴拉文"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "匈牙利文"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "亚罕文"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "亚美尼亚文"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "æ´‹åžæ–‡"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "伊比利亚葡è„牙文"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "伊比利亚西ç­ç‰™æ–‡"
+ },
+ "it": {
+ "code": "it",
+ "name": "æ„大利文"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "å°åœ°æ–‡"
+ },
+ "id": {
+ "code": "id",
+ "name": "å°åº¦å°¼è¥¿äºšæ–‡"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "英国英文"
+ },
+ "en": {
+ "code": "en",
+ "name": "英文"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "约é²å·´æ–‡"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "越å—æ–‡"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "哲尔马文"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "中文"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "朱拉文"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "祖é²æ–‡"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/zh-Hant-HK.json b/library/intl/resources/language/zh-Hant-HK.json
new file mode 100644
index 000000000..177cca849
--- /dev/null
+++ b/library/intl/resources/language/zh-Hant-HK.json
@@ -0,0 +1,738 @@
+{
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "上索布文"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "下索布文"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "土耳其文"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "å¹²é”æ–‡"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "中文"
+ },
+ "da": {
+ "code": "da",
+ "name": "丹麥文"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "巴西葡è„牙語"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "巴克摩挪å¨æ–‡"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "巴斯克文"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "å·´è²äºžæ–‡"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "å·´è–©æ–‡"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "扎爾馬文"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "日文"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "世界語"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "加里西亞文"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "加拿大英文"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "加泰羅尼亞文"
+ },
+ "se": {
+ "code": "se",
+ "name": "北方薩米文"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "北å°åº¦æ–‡"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "北地畢列文"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "北桑海文"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "å¡æ¯”爾文"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "å¡å¸ƒå¨çˆ¾ç¬¬æ–‡"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "å¡å§†å·´æ–‡"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "å¡å€«é‡‘æ–‡"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "å¤å‰æ‹‰ç‰¹æ–‡"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "å¤è¥¿æ–‡"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "å°å¡”æ–‡"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "å²ç“¦å¸Œé‡Œæ–‡"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "尼泊爾文"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "å°¼æšç§‘èŠæ–‡"
+ },
+ "br": {
+ "code": "br",
+ "name": "布里多尼文"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "弗留利文"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "瓦伊文"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "瓦瑟文"
+ },
+ "be": {
+ "code": "be",
+ "name": "白俄羅斯文"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "立陶宛文"
+ },
+ "is": {
+ "code": "is",
+ "name": "冰島文"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "匈牙利文"
+ },
+ "id": {
+ "code": "id",
+ "name": "å°å°¼æ–‡"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "å‰åº«å°¤æ–‡"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "å‰çˆ¾å‰æ–¯æ–‡"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "夸西奧文"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "朱拉文"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "西弗里西亞文"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "西桑海文"
+ },
+ "es": {
+ "code": "es",
+ "name": "西ç­ç‰™æ–‡"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "佛蘭芒文"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "克里奧文(模里西斯)"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "克羅地亞文"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "努埃爾文"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "åŽç´é”æ–‡"
+ },
+ "he": {
+ "code": "he",
+ "name": "希伯來文"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "希爾哈文"
+ },
+ "el": {
+ "code": "el",
+ "name": "希臘文"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "è²ç´æ–‡"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "亞罕文"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "亞美尼亞文"
+ },
+ "az": {
+ "code": "az",
+ "name": "亞塞拜然文"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ä¾æ±ªéƒ½æ–‡"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "å¦ç±³çˆ¾æ–‡"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "奇加文"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "孟加拉文"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "å®—å¡æ–‡"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "尚巴拉文"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "拉脫維亞文"
+ },
+ "to": {
+ "code": "to",
+ "name": "æ±åŠ æ–‡"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "æ±æ¡‘æµ·æ–‡"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "林加拉文"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "法文"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "法羅文"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "波士尼亞文"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "波斯文"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "波蘭文"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "芬蘭文"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "阿åŽæ–‡"
+ },
+ "am": {
+ "code": "am",
+ "name": "阿姆哈拉文"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "阿拉伯文"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "阿斯圖里亞文"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "阿爾巴尼亞文"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "阿蘇文"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ä¿„æ–‡"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ä¿åŠ åˆ©äºžæ–‡"
+ },
+ "af": {
+ "code": "af",
+ "name": "å—éžè·è˜­æ–‡"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "哈薩克文"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "å¨çˆ¾æ–¯æ–‡"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "æ´‹åžæ–‡"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "科隆文"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "約魯巴文"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "美國英文"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "è€è«¾æ–¯å…‹æŒªå¨æ–‡"
+ },
+ "en": {
+ "code": "en",
+ "name": "英文"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "英國英文"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ä¿®ç´æ–‡"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "剛果å²ç“¦å¸Œé‡Œæ–‡"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "埃維文"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "æ©å¸ƒæ–‡"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "æ©æ ¼å§†å·´æ–‡"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "æ—é®æ™®æ–‡"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "朗å‰æ–‡"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "柴羅基文"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "格陵蘭文"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "æ¡‘å¤æ–‡"
+ },
+ "th": {
+ "code": "th",
+ "name": "æ³°æ–‡"
+ },
+ "te": {
+ "code": "te",
+ "name": "泰盧固文"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "çƒå…‹è˜­æ–‡"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "çƒèŒ²åˆ¥å…‹æ–‡"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "çƒçˆ¾éƒ½æ–‡"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "特索文"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ç­å·´æ‹‰æ–‡"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "祖魯文"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ç´é¦¬æ–‡"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "索加文"
+ },
+ "so": {
+ "code": "so",
+ "name": "索馬利文"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "馬孔德文"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "馬夸文"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "馬來文"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "馬來亞拉姆文"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "馬其頓文"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "馬拉加斯文"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "馬拉地文"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "馬æ°ç¾Žæ–‡"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "馬爾他文"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "馬賽文"
+ },
+ "km": {
+ "code": "km",
+ "name": "高棉文"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "æ·å…‹æ–‡"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "梅魯文"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ç¾ä»£æ¨™æº–阿拉伯文"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "è·è˜­æ–‡"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "åšå¤šæ–‡"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "喀什米爾文"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "喬治亞文"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "富拉文"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "æ格利尼亞文"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "斯洛文尼亞文"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "斯洛ä¼å…‹æ–‡"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "普什圖文"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "è²å¾‹è³“æ–‡"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "越å—æ–‡"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "隆迪文"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "塔馬齊格特文"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "塞爾維亞文"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "奧地利德文"
+ },
+ "or": {
+ "code": "or",
+ "name": "奧里雅文"
+ },
+ "it": {
+ "code": "it",
+ "name": "æ„大利文"
+ },
+ "et": {
+ "code": "et",
+ "name": "愛沙尼亞文"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "愛爾蘭文"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "溫舊文"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "瑞士德語"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "瑞典文"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "è‘¡è„牙文"
+ },
+ "si": {
+ "code": "si",
+ "name": "僧伽羅文"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "維å¾çˆ¾æ–‡"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "è’™å¤æ–‡"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "蒙當文"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "豪撒文"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "寮文"
+ },
+ "de": {
+ "code": "de",
+ "name": "å¾·æ–‡"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "德文(瑞士)"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "摩洛哥標準塔馬齊格特文"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "摩爾多瓦羅馬尼亞文"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "æ­æ´²è¥¿ç­ç‰™æ–‡"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "æ­æ´²è‘¡è„牙文"
+ },
+ "my": {
+ "code": "my",
+ "name": "緬甸文"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "魯巴加丹加文"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "墨西哥西ç­ç‰™æ–‡"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "澳洲英文"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "盧森堡文"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "盧雅文"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "盧奧文"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ç¹é«”中文"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "è³½ç´æ–‡"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "韓文"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "簡體中文"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "薩布魯文"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "è—æ–‡"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "羅瓦文"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "羅馬尼亞文"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "羅曼斯文"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "蘇格蘭蓋爾文"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "蘭åšæ–‡"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/zh-Hant-MO.json b/library/intl/resources/language/zh-Hant-MO.json
new file mode 100644
index 000000000..177cca849
--- /dev/null
+++ b/library/intl/resources/language/zh-Hant-MO.json
@@ -0,0 +1,738 @@
+{
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "上索布文"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "下索布文"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "土耳其文"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "å¹²é”æ–‡"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "中文"
+ },
+ "da": {
+ "code": "da",
+ "name": "丹麥文"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "巴西葡è„牙語"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "巴克摩挪å¨æ–‡"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "巴斯克文"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "å·´è²äºžæ–‡"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "å·´è–©æ–‡"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "扎爾馬文"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "日文"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "世界語"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "加里西亞文"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "加拿大英文"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "加泰羅尼亞文"
+ },
+ "se": {
+ "code": "se",
+ "name": "北方薩米文"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "北å°åº¦æ–‡"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "北地畢列文"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "北桑海文"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "å¡æ¯”爾文"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "å¡å¸ƒå¨çˆ¾ç¬¬æ–‡"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "å¡å§†å·´æ–‡"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "å¡å€«é‡‘æ–‡"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "å¤å‰æ‹‰ç‰¹æ–‡"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "å¤è¥¿æ–‡"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "å°å¡”æ–‡"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "å²ç“¦å¸Œé‡Œæ–‡"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "尼泊爾文"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "å°¼æšç§‘èŠæ–‡"
+ },
+ "br": {
+ "code": "br",
+ "name": "布里多尼文"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "弗留利文"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "瓦伊文"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "瓦瑟文"
+ },
+ "be": {
+ "code": "be",
+ "name": "白俄羅斯文"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "立陶宛文"
+ },
+ "is": {
+ "code": "is",
+ "name": "冰島文"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "匈牙利文"
+ },
+ "id": {
+ "code": "id",
+ "name": "å°å°¼æ–‡"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "å‰åº«å°¤æ–‡"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "å‰çˆ¾å‰æ–¯æ–‡"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "夸西奧文"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "朱拉文"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "西弗里西亞文"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "西桑海文"
+ },
+ "es": {
+ "code": "es",
+ "name": "西ç­ç‰™æ–‡"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "佛蘭芒文"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "克里奧文(模里西斯)"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "克羅地亞文"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "努埃爾文"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "åŽç´é”æ–‡"
+ },
+ "he": {
+ "code": "he",
+ "name": "希伯來文"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "希爾哈文"
+ },
+ "el": {
+ "code": "el",
+ "name": "希臘文"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "è²ç´æ–‡"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "亞罕文"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "亞美尼亞文"
+ },
+ "az": {
+ "code": "az",
+ "name": "亞塞拜然文"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ä¾æ±ªéƒ½æ–‡"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "å¦ç±³çˆ¾æ–‡"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "奇加文"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "孟加拉文"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "å®—å¡æ–‡"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "尚巴拉文"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "拉脫維亞文"
+ },
+ "to": {
+ "code": "to",
+ "name": "æ±åŠ æ–‡"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "æ±æ¡‘æµ·æ–‡"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "林加拉文"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "法文"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "法羅文"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "波士尼亞文"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "波斯文"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "波蘭文"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "芬蘭文"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "阿åŽæ–‡"
+ },
+ "am": {
+ "code": "am",
+ "name": "阿姆哈拉文"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "阿拉伯文"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "阿斯圖里亞文"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "阿爾巴尼亞文"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "阿蘇文"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ä¿„æ–‡"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ä¿åŠ åˆ©äºžæ–‡"
+ },
+ "af": {
+ "code": "af",
+ "name": "å—éžè·è˜­æ–‡"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "哈薩克文"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "å¨çˆ¾æ–¯æ–‡"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "æ´‹åžæ–‡"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "科隆文"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "約魯巴文"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "美國英文"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "è€è«¾æ–¯å…‹æŒªå¨æ–‡"
+ },
+ "en": {
+ "code": "en",
+ "name": "英文"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "英國英文"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ä¿®ç´æ–‡"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "剛果å²ç“¦å¸Œé‡Œæ–‡"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "埃維文"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "æ©å¸ƒæ–‡"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "æ©æ ¼å§†å·´æ–‡"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "æ—é®æ™®æ–‡"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "朗å‰æ–‡"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "柴羅基文"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "格陵蘭文"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "æ¡‘å¤æ–‡"
+ },
+ "th": {
+ "code": "th",
+ "name": "æ³°æ–‡"
+ },
+ "te": {
+ "code": "te",
+ "name": "泰盧固文"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "çƒå…‹è˜­æ–‡"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "çƒèŒ²åˆ¥å…‹æ–‡"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "çƒçˆ¾éƒ½æ–‡"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "特索文"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ç­å·´æ‹‰æ–‡"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "祖魯文"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ç´é¦¬æ–‡"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "索加文"
+ },
+ "so": {
+ "code": "so",
+ "name": "索馬利文"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "馬孔德文"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "馬夸文"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "馬來文"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "馬來亞拉姆文"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "馬其頓文"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "馬拉加斯文"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "馬拉地文"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "馬æ°ç¾Žæ–‡"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "馬爾他文"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "馬賽文"
+ },
+ "km": {
+ "code": "km",
+ "name": "高棉文"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "æ·å…‹æ–‡"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "梅魯文"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ç¾ä»£æ¨™æº–阿拉伯文"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "è·è˜­æ–‡"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "åšå¤šæ–‡"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "喀什米爾文"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "喬治亞文"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "富拉文"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "æ格利尼亞文"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "斯洛文尼亞文"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "斯洛ä¼å…‹æ–‡"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "普什圖文"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "è²å¾‹è³“æ–‡"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "越å—æ–‡"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "隆迪文"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "塔馬齊格特文"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "塞爾維亞文"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "奧地利德文"
+ },
+ "or": {
+ "code": "or",
+ "name": "奧里雅文"
+ },
+ "it": {
+ "code": "it",
+ "name": "æ„大利文"
+ },
+ "et": {
+ "code": "et",
+ "name": "愛沙尼亞文"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "愛爾蘭文"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "溫舊文"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "瑞士德語"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "瑞典文"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "è‘¡è„牙文"
+ },
+ "si": {
+ "code": "si",
+ "name": "僧伽羅文"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "維å¾çˆ¾æ–‡"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "è’™å¤æ–‡"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "蒙當文"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "豪撒文"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "寮文"
+ },
+ "de": {
+ "code": "de",
+ "name": "å¾·æ–‡"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "德文(瑞士)"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "摩洛哥標準塔馬齊格特文"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "摩爾多瓦羅馬尼亞文"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "æ­æ´²è¥¿ç­ç‰™æ–‡"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "æ­æ´²è‘¡è„牙文"
+ },
+ "my": {
+ "code": "my",
+ "name": "緬甸文"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "魯巴加丹加文"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "墨西哥西ç­ç‰™æ–‡"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "澳洲英文"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "盧森堡文"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "盧雅文"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "盧奧文"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ç¹é«”中文"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "è³½ç´æ–‡"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "韓文"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "簡體中文"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "薩布魯文"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "è—æ–‡"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "羅瓦文"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "羅馬尼亞文"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "羅曼斯文"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "蘇格蘭蓋爾文"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "蘭åšæ–‡"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/zh-Hant.json b/library/intl/resources/language/zh-Hant.json
new file mode 100644
index 000000000..4d7dcb999
--- /dev/null
+++ b/library/intl/resources/language/zh-Hant.json
@@ -0,0 +1,738 @@
+{
+ "de-AT": {
+ "code": "de-AT",
+ "name": "de_AT"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "en_AU"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "en_CA"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "en_GB"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "en_US"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "es_MX"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "fr_CA"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "fr_CH"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "pt_BR"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "上索布文"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "下索布文"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "土耳其文"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "å¹²é”æ–‡"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "中文"
+ },
+ "da": {
+ "code": "da",
+ "name": "丹麥文"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "巴克摩挪å¨æ–‡"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "巴斯克文"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "å·´è²äºžæ–‡"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "å·´è–©æ–‡"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "扎爾馬文"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "日文"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "世界文"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "加利西亞文"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "加泰羅尼亞文"
+ },
+ "se": {
+ "code": "se",
+ "name": "北方薩米文"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "北å°åº¦æ–‡"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "北地畢列文"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "北桑海文"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "å¡æ¯”爾文"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "å¡å¸ƒå¨çˆ¾ç¬¬æ–‡"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "å¡å§†å·´æ–‡"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "å¡å€«é‡‘æ–‡"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "å¤å‰æ‹‰ç‰¹æ–‡"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "å¤è¥¿æ–‡"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "å°å¡”æ–‡"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "å²ç“¦å¸Œé‡Œæ–‡"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "å²ç“¦å¸Œé‡Œæ–‡ï¼ˆå‰›æžœï¼‰"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "尼泊爾文"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "å°¼æšç§‘èŠæ–‡"
+ },
+ "br": {
+ "code": "br",
+ "name": "布列塔尼文"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "弗留利文"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "瓦伊文"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "瓦瑟文"
+ },
+ "be": {
+ "code": "be",
+ "name": "白俄羅斯文"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "立陶宛文"
+ },
+ "is": {
+ "code": "is",
+ "name": "冰島文"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "匈牙利文"
+ },
+ "id": {
+ "code": "id",
+ "name": "å°å°¼æ–‡"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "å‰åº«å°¤æ–‡"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "å‰çˆ¾å‰æ–¯æ–‡"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "夸西奧文"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "朱拉文"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "西弗里西亞文"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "西桑海文"
+ },
+ "es": {
+ "code": "es",
+ "name": "西ç­ç‰™æ–‡"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "西ç­ç‰™æ–‡ï¼ˆæ­æ´²ï¼‰"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "佛蘭芒文"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "克里奧文(模里西斯)"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "克羅埃西亞文"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "努埃爾文"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "åŽé‚£é”æ–‡"
+ },
+ "he": {
+ "code": "he",
+ "name": "希伯來文"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "希爾哈文"
+ },
+ "el": {
+ "code": "el",
+ "name": "希臘文"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "è²ç´æ–‡"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "亞罕文"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "亞美尼亞文"
+ },
+ "az": {
+ "code": "az",
+ "name": "亞塞拜然文"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "ä¾æ±ªéƒ½æ–‡"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "å¦ç±³çˆ¾æ–‡"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "奇加文"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "孟加拉文"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "å®—å¡æ–‡"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "尚巴拉文"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "拉脫維亞文"
+ },
+ "to": {
+ "code": "to",
+ "name": "æ±åŠ æ–‡"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "æ±æ¡‘æµ·æ–‡"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "林加拉文"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "法文"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "法羅文"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "波士尼亞文"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "波斯文"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "波蘭文"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "芬蘭文"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "阿åŽæ–‡"
+ },
+ "am": {
+ "code": "am",
+ "name": "阿姆哈拉文"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "阿拉伯文"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "阿斯圖里亞文"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "阿爾巴尼亞文"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "阿蘇文"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ä¿„æ–‡"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ä¿åŠ åˆ©äºžæ–‡"
+ },
+ "af": {
+ "code": "af",
+ "name": "å—éžè·è˜­æ–‡"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "哈薩克文"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "å¨çˆ¾æ–¯æ–‡"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "æ´‹åžæ–‡"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "科隆文"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "約魯巴文"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "è€è«¾æ–¯å…‹æŒªå¨æ–‡"
+ },
+ "en": {
+ "code": "en",
+ "name": "英文"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "埃維文"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "æ©å¸ƒæ–‡"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "æ©æ ¼å§†å·´æ–‡"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "æ—é®æ™®æ–‡"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "朗å‰æ–‡"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "柴羅基文"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "格陵蘭文"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "æ¡‘å¤æ–‡"
+ },
+ "th": {
+ "code": "th",
+ "name": "æ³°æ–‡"
+ },
+ "te": {
+ "code": "te",
+ "name": "泰盧固文"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "çƒå…‹è˜­æ–‡"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "çƒèŒ²åˆ¥å…‹æ–‡"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "çƒéƒ½æ–‡"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "特索文"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ç­å·´æ‹‰æ–‡"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "祖魯文"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "ç´é¦¬æ–‡"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "索加文"
+ },
+ "so": {
+ "code": "so",
+ "name": "索馬利文"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "馬孔德文"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "馬夸文"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "馬來文"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "馬來亞拉姆文"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "馬其頓文"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "馬拉加什文"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "馬拉地文"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "馬æ°ç¾Žæ–‡"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "馬爾他文"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "馬賽文"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "高地德文(瑞士)"
+ },
+ "km": {
+ "code": "km",
+ "name": "高棉文"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "æ·å…‹æ–‡"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "梅魯文"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "ç¾ä»£æ¨™æº–阿拉伯文"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "è·è˜­æ–‡"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "åšå¤šæ–‡"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "喀什米爾文"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "喬治亞文"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "富拉文"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "æ格利尼亞文"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "斯洛ä¼å…‹æ–‡"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "斯洛維尼亞文"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "普什圖文"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "è²å¾‹è³“æ–‡"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "越å—æ–‡"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "隆迪文"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "塔馬齊格特文"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "塞內加爾文"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "塞爾維亞文"
+ },
+ "et": {
+ "code": "et",
+ "name": "愛沙尼亞文"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "愛爾蘭文"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "溫舊文"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "瑞典文"
+ },
+ "it": {
+ "code": "it",
+ "name": "義大利文"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "è‘¡è„牙文"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "è‘¡è„牙文(æ­æ´²ï¼‰"
+ },
+ "si": {
+ "code": "si",
+ "name": "僧伽羅文"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "維å¾çˆ¾æ–‡"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "è’™å¤æ–‡"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "蒙當文"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "豪撒文"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "寮文"
+ },
+ "de": {
+ "code": "de",
+ "name": "å¾·æ–‡"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "德文(瑞士)"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "摩爾多瓦文"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "標準摩洛哥塔馬塞特文"
+ },
+ "or": {
+ "code": "or",
+ "name": "æ­åˆ©äºžæ–‡"
+ },
+ "my": {
+ "code": "my",
+ "name": "緬甸文"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "魯巴加丹加文"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "盧森堡文"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "盧雅文"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "盧奧文"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ç¹é«”中文"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "è³½ç´æ–‡"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "韓文"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "簡體中文"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "薩布魯文"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "è—æ–‡"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "羅瓦文"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "羅馬尼亞文"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "羅曼斯文"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "蘇格蘭蓋爾文"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "蘭åšæ–‡"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/zh.json b/library/intl/resources/language/zh.json
new file mode 100644
index 000000000..85169c37b
--- /dev/null
+++ b/library/intl/resources/language/zh.json
@@ -0,0 +1,738 @@
+{
+ "sq": {
+ "code": "sq",
+ "name": "阿尔巴尼亚文"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "阿肯文"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "阿拉伯文"
+ },
+ "am": {
+ "code": "am",
+ "name": "阿姆哈拉文"
+ },
+ "az": {
+ "code": "az",
+ "name": "阿塞拜疆文"
+ },
+ "ast": {
+ "code": "ast",
+ "name": "阿斯图里亚æ€ç‰¹æ–‡"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "阿è‹æ–‡"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "埃维文"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "爱尔兰文"
+ },
+ "et": {
+ "code": "et",
+ "name": "爱沙尼亚文"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "奥地利德文"
+ },
+ "or": {
+ "code": "or",
+ "name": "奥里亚文"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "澳大利亚英文"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "å·´è²äºšæ–‡"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "å·´è¨æ–‡"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "巴斯克文"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "巴西葡è„牙文"
+ },
+ "be": {
+ "code": "be",
+ "name": "白俄罗斯文"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "ç­å·´æ‹‰æ–‡"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "ä¿åŠ åˆ©äºšæ–‡"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "北æ©å¾·è´å‹’æ–‡"
+ },
+ "se": {
+ "code": "se",
+ "name": "北è¨ç±³æ–‡"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "北桑海文"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "è´çº³æ–‡"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "标准摩洛哥塔马塞特文"
+ },
+ "is": {
+ "code": "is",
+ "name": "冰岛文"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "波兰文"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "波斯尼亚文"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "波斯文"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "åšå¤šæ–‡"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "ä¸ä¸¹æ–‡"
+ },
+ "br": {
+ "code": "br",
+ "name": "布里多尼文"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "è—æ–‡"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "彻罗基文"
+ },
+ "da": {
+ "code": "da",
+ "name": "丹麦文"
+ },
+ "de": {
+ "code": "de",
+ "name": "å¾·æ–‡"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "东桑海文"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "ä¿„æ–‡"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "æ©å¸ƒæ–‡"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "æ©è‰®å·´"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "法罗文"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "法文"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "ç¹ä½“中文"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "è²å¾‹å®¾æ–‡"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "芬兰文"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "弗留利文"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "佛兰芒文"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "夫拉文"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "刚果斯瓦希里文"
+ },
+ "km": {
+ "code": "km",
+ "name": "高棉文"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "格陵兰文"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "æ ¼é²å‰äºšæ–‡"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "å¤å‰æ‹‰ç‰¹æ–‡"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "å¤è¥¿æ–‡"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "哈è¨å…‹æ–‡"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "韩文"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "豪è¨æ–‡"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "è·å…°æ–‡"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "基隆迪文"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "å‰å°”å‰æ–¯æ–‡"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "å‰åº“尤文"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "加利西亚文"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "加拿大法文"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "加拿大英文"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "加泰罗尼亚文"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "简体中文"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "æ·å…‹æ–‡"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "å¡æ¯”尔文"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "å¡å¸ƒä½›å¾—é²æ–‡"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "å¡ä¼¦é‡‘æ–‡"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "å¡å§†å·´æ–‡"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "å¡çº³è¾¾æ–‡"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "科隆文"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "克罗地亚文"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "克什米尔文"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "夸西奥文"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "拉脱维亚文"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "å…°åšæ–‡"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "朗å‰æ–‡"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "è€æŒæ–‡"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "立陶宛文"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "林加拉文"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "å¢å¥¥æ–‡"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "å¢å¹²è¾¾æ–‡"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "å¢æ£®å ¡æ–‡"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "å¢é›…æ–‡"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "é²å·´åŠ ä¸¹åŠ æ–‡"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "罗马尼亚文"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "罗曼什文"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "罗瓦文"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "马尔加什文"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "马耳他文"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "马孔德文"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "马夸文"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "马拉地文"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "马拉雅拉姆文"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "马æ¥æ–‡"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "马其顿文"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "马切姆文"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "毛里求斯克里奥尔文"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "梅é²æ–‡"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "美å¼è‹±æ–‡"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "蒙当文"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "è’™å¤æ–‡"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "孟加拉文"
+ },
+ "my": {
+ "code": "my",
+ "name": "缅甸文"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "摩尔多瓦文"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "墨西哥西ç­ç‰™æ–‡"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "纳马文"
+ },
+ "af": {
+ "code": "af",
+ "name": "å—éžè·å…°æ–‡"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "尼昂科勒文"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "尼泊尔文"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "努埃尔文"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "挪å¨åšå…‹é©¬å°”æ–‡"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "挪å¨å°¼è¯ºæ–¯å…‹æ–‡"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "欧洲葡è„牙文"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "欧洲西ç­ç‰™æ–‡"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "æ—é®æ™®æ–‡"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "è‘¡è„牙文"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "普什图文"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "奇加文"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "日文"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "瑞典文"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "瑞士德文"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "瑞士法文"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "瑞士高地德文"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "è¨ä¼Šæ–‡"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "塞尔维亚文"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "塞纳文"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "桑布é²æ–‡"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "桑戈文"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "æ¡‘å¤æ–‡"
+ },
+ "si": {
+ "code": "si",
+ "name": "僧伽罗文"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "上索布文"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "ç»çº³æ–‡"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "世界文"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "斯洛ä¼å…‹æ–‡"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "斯洛文尼亚文"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "斯瓦希里文"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "è‹æ ¼å…°ç›–尔文"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "索加文"
+ },
+ "so": {
+ "code": "so",
+ "name": "索马里文"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "塔马é½æ ¼ç‰¹æ–‡"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "å°å¡”æ–‡"
+ },
+ "te": {
+ "code": "te",
+ "name": "æ³°å¢å›ºæ–‡"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "泰米尔文"
+ },
+ "th": {
+ "code": "th",
+ "name": "æ³°æ–‡"
+ },
+ "to": {
+ "code": "to",
+ "name": "汤加文"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "特索文"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "æ格里尼亚文"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "土耳其文"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "瓦尔瑟文"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "瓦伊文"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "æ—ºæœæ–‡"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "å¨å°”士文"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "ç»´å¾å°”æ–‡"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "温旧文"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "乌尔都文"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "乌克兰文"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "乌兹别克文"
+ },
+ "he": {
+ "code": "he",
+ "name": "希伯æ¥æ–‡"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "希尔哈文"
+ },
+ "el": {
+ "code": "el",
+ "name": "希腊文"
+ },
+ "es": {
+ "code": "es",
+ "name": "西ç­ç‰™æ–‡"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "西弗里西亚文"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "西桑海文"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "下索布文"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "现代标准阿拉伯文"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "香巴拉文"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "匈牙利文"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "亚罕文"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "亚美尼亚文"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "æ´‹åžæ–‡"
+ },
+ "it": {
+ "code": "it",
+ "name": "æ„大利文"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "å°åœ°æ–‡"
+ },
+ "id": {
+ "code": "id",
+ "name": "å°åº¦å°¼è¥¿äºšæ–‡"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "英å¼è‹±æ–‡"
+ },
+ "en": {
+ "code": "en",
+ "name": "英文"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "约é²å·´æ–‡"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "越å—æ–‡"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "哲尔马文"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "中文"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "朱拉文"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "祖é²æ–‡"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/language/zu.json b/library/intl/resources/language/zu.json
new file mode 100644
index 000000000..cffe0347a
--- /dev/null
+++ b/library/intl/resources/language/zu.json
@@ -0,0 +1,738 @@
+{
+ "ast": {
+ "code": "ast",
+ "name": "Asturian"
+ },
+ "asa": {
+ "code": "asa",
+ "name": "Asu"
+ },
+ "bas": {
+ "code": "bas",
+ "name": "Basaa"
+ },
+ "ksh": {
+ "code": "ksh",
+ "name": "Colognian"
+ },
+ "es-ES": {
+ "code": "es-ES",
+ "name": "es_ES"
+ },
+ "ewo": {
+ "code": "ewo",
+ "name": "Ewondo"
+ },
+ "fur": {
+ "code": "fur",
+ "name": "Friulian"
+ },
+ "ff": {
+ "code": "ff",
+ "name": "Fulah"
+ },
+ "en-US": {
+ "code": "en-US",
+ "name": "i-American English"
+ },
+ "en-GB": {
+ "code": "en-GB",
+ "name": "i-British English"
+ },
+ "en-CA": {
+ "code": "en-CA",
+ "name": "i-Canadian English"
+ },
+ "en": {
+ "code": "en",
+ "name": "i-English"
+ },
+ "lo": {
+ "code": "lo",
+ "name": "i-Lao"
+ },
+ "nn": {
+ "code": "nn",
+ "name": "i-Norwegian Nynorsk"
+ },
+ "gd": {
+ "code": "gd",
+ "name": "i-Scottish Gaelic"
+ },
+ "si": {
+ "code": "si",
+ "name": "i-Sinhala"
+ },
+ "af": {
+ "code": "af",
+ "name": "isi-Afrikaans"
+ },
+ "agq": {
+ "code": "agq",
+ "name": "isi-Aghem"
+ },
+ "ak": {
+ "code": "ak",
+ "name": "isi-Akan"
+ },
+ "sq": {
+ "code": "sq",
+ "name": "isi-Albania"
+ },
+ "am": {
+ "code": "am",
+ "name": "isi-Amharic"
+ },
+ "ar": {
+ "code": "ar",
+ "name": "isi-Arabic"
+ },
+ "ar-001": {
+ "code": "ar-001",
+ "name": "Isi-Arabic Esijwayelekile Samanje"
+ },
+ "hy": {
+ "code": "hy",
+ "name": "isi-Armenia"
+ },
+ "de-AT": {
+ "code": "de-AT",
+ "name": "isi-Austrian German"
+ },
+ "en-AU": {
+ "code": "en-AU",
+ "name": "isi-Austrillian English"
+ },
+ "az": {
+ "code": "az",
+ "name": "isi-Azerbaijani"
+ },
+ "ksf": {
+ "code": "ksf",
+ "name": "isi-Bafia"
+ },
+ "bm": {
+ "code": "bm",
+ "name": "isi-Bambara"
+ },
+ "eu": {
+ "code": "eu",
+ "name": "isi-Basque"
+ },
+ "be": {
+ "code": "be",
+ "name": "isi-Belarusian"
+ },
+ "bez": {
+ "code": "bez",
+ "name": "isi-Bena"
+ },
+ "bn": {
+ "code": "bn",
+ "name": "isi-Bengali"
+ },
+ "brx": {
+ "code": "brx",
+ "name": "isi-Bodo"
+ },
+ "bs": {
+ "code": "bs",
+ "name": "isi-Bosnian"
+ },
+ "pt-BR": {
+ "code": "pt-BR",
+ "name": "isi-Brazillian Portuguese"
+ },
+ "br": {
+ "code": "br",
+ "name": "Isi-Breton"
+ },
+ "bg": {
+ "code": "bg",
+ "name": "isi-Bulgari"
+ },
+ "my": {
+ "code": "my",
+ "name": "isi-Burmese"
+ },
+ "fr-CA": {
+ "code": "fr-CA",
+ "name": "isi-Canadian French"
+ },
+ "ca": {
+ "code": "ca",
+ "name": "isi-Catalan"
+ },
+ "tzm": {
+ "code": "tzm",
+ "name": "isi-Central Atlas Tamazight"
+ },
+ "chr": {
+ "code": "chr",
+ "name": "Isi-Cherokee"
+ },
+ "cgg": {
+ "code": "cgg",
+ "name": "isi-Chiga"
+ },
+ "zh": {
+ "code": "zh",
+ "name": "isi-Chinese"
+ },
+ "swc": {
+ "code": "swc",
+ "name": "isi-Congo Swahili"
+ },
+ "hr": {
+ "code": "hr",
+ "name": "isi-Croatian"
+ },
+ "cs": {
+ "code": "cs",
+ "name": "isi-Czech"
+ },
+ "da": {
+ "code": "da",
+ "name": "isi-Danish"
+ },
+ "nl": {
+ "code": "nl",
+ "name": "isi-Dutch"
+ },
+ "dz": {
+ "code": "dz",
+ "name": "isi-Dzongkha"
+ },
+ "ebu": {
+ "code": "ebu",
+ "name": "isi-Embu"
+ },
+ "eo": {
+ "code": "eo",
+ "name": "isi-Esperanto"
+ },
+ "et": {
+ "code": "et",
+ "name": "isi-Estonia"
+ },
+ "pt-PT": {
+ "code": "pt-PT",
+ "name": "isi-European Portuguese"
+ },
+ "ee": {
+ "code": "ee",
+ "name": "Isi-Ewe"
+ },
+ "fo": {
+ "code": "fo",
+ "name": "isi-Faroese"
+ },
+ "fil": {
+ "code": "fil",
+ "name": "isi-Filipino"
+ },
+ "fi": {
+ "code": "fi",
+ "name": "isi-Finnish"
+ },
+ "nl-BE": {
+ "code": "nl-BE",
+ "name": "isi-Flemish"
+ },
+ "fr": {
+ "code": "fr",
+ "name": "isi-French"
+ },
+ "gl": {
+ "code": "gl",
+ "name": "isi-Galicia"
+ },
+ "lg": {
+ "code": "lg",
+ "name": "Isi-Ganda"
+ },
+ "ka": {
+ "code": "ka",
+ "name": "isi-Georgian"
+ },
+ "de": {
+ "code": "de",
+ "name": "isi-German"
+ },
+ "el": {
+ "code": "el",
+ "name": "isi-Greek"
+ },
+ "gu": {
+ "code": "gu",
+ "name": "isi-Gujarati"
+ },
+ "guz": {
+ "code": "guz",
+ "name": "isi-Gusli"
+ },
+ "ha": {
+ "code": "ha",
+ "name": "isi-Hausa"
+ },
+ "he": {
+ "code": "he",
+ "name": "isi-Hebrew"
+ },
+ "hi": {
+ "code": "hi",
+ "name": "isi-Hindi"
+ },
+ "hu": {
+ "code": "hu",
+ "name": "isi-Hungarian"
+ },
+ "is": {
+ "code": "is",
+ "name": "isi-Icelandic"
+ },
+ "id": {
+ "code": "id",
+ "name": "isi-Indonesian"
+ },
+ "ga": {
+ "code": "ga",
+ "name": "isi-Irish"
+ },
+ "it": {
+ "code": "it",
+ "name": "isi-Italian"
+ },
+ "ja": {
+ "code": "ja",
+ "name": "isi-Japanese"
+ },
+ "dyo": {
+ "code": "dyo",
+ "name": "isi-Jola-Fonyl"
+ },
+ "kea": {
+ "code": "kea",
+ "name": "isi-Kabuverdianu"
+ },
+ "kab": {
+ "code": "kab",
+ "name": "isi-Kabyle"
+ },
+ "kl": {
+ "code": "kl",
+ "name": "isi-Kalaallisut"
+ },
+ "kln": {
+ "code": "kln",
+ "name": "isi-Kalenjin"
+ },
+ "kam": {
+ "code": "kam",
+ "name": "isi-Kamba"
+ },
+ "kn": {
+ "code": "kn",
+ "name": "isi-Kannada"
+ },
+ "ks": {
+ "code": "ks",
+ "name": "isi-Kashmiri"
+ },
+ "kk": {
+ "code": "kk",
+ "name": "isi-Kazakh"
+ },
+ "km": {
+ "code": "km",
+ "name": "isi-Khmer"
+ },
+ "ki": {
+ "code": "ki",
+ "name": "isi-Kikuyu"
+ },
+ "ko": {
+ "code": "ko",
+ "name": "isi-Korean"
+ },
+ "khq": {
+ "code": "khq",
+ "name": "isi-Koyra Chiini"
+ },
+ "ses": {
+ "code": "ses",
+ "name": "isi-Koyraboro Senni"
+ },
+ "nmg": {
+ "code": "nmg",
+ "name": "isi-Kwasio"
+ },
+ "ky": {
+ "code": "ky",
+ "name": "isi-Kyrgyz"
+ },
+ "lag": {
+ "code": "lag",
+ "name": "isi-Langi"
+ },
+ "lv": {
+ "code": "lv",
+ "name": "isi-Latvian"
+ },
+ "ln": {
+ "code": "ln",
+ "name": "isi-Lingala"
+ },
+ "lt": {
+ "code": "lt",
+ "name": "isi-Lithuanian"
+ },
+ "dsb": {
+ "code": "dsb",
+ "name": "isi-Lower Sorbian"
+ },
+ "lu": {
+ "code": "lu",
+ "name": "isi-Luba-Katanga"
+ },
+ "luo": {
+ "code": "luo",
+ "name": "isi-Luo"
+ },
+ "lb": {
+ "code": "lb",
+ "name": "isi-Luxembourgish"
+ },
+ "luy": {
+ "code": "luy",
+ "name": "isi-Luyia"
+ },
+ "mk": {
+ "code": "mk",
+ "name": "isi-Macedonian"
+ },
+ "jmc": {
+ "code": "jmc",
+ "name": "isi-Machame"
+ },
+ "mgh": {
+ "code": "mgh",
+ "name": "isi-Makhuwa-Meetto"
+ },
+ "kde": {
+ "code": "kde",
+ "name": "isi-Makonde"
+ },
+ "mg": {
+ "code": "mg",
+ "name": "isi-Malagasy"
+ },
+ "ms": {
+ "code": "ms",
+ "name": "isi-Malay"
+ },
+ "ml": {
+ "code": "ml",
+ "name": "isi-Malayalam"
+ },
+ "mt": {
+ "code": "mt",
+ "name": "isi-Maltese"
+ },
+ "mr": {
+ "code": "mr",
+ "name": "isi-Marathi"
+ },
+ "mas": {
+ "code": "mas",
+ "name": "isi-Masai"
+ },
+ "mer": {
+ "code": "mer",
+ "name": "isi-Meru"
+ },
+ "es-MX": {
+ "code": "es-MX",
+ "name": "isi-Mexican Spanish"
+ },
+ "ro-MD": {
+ "code": "ro-MD",
+ "name": "isi-Moldavian"
+ },
+ "mn": {
+ "code": "mn",
+ "name": "isi-Mongolian"
+ },
+ "mfe": {
+ "code": "mfe",
+ "name": "Isi-Morisyen"
+ },
+ "mua": {
+ "code": "mua",
+ "name": "isi-Mundang"
+ },
+ "naq": {
+ "code": "naq",
+ "name": "isi-Nama"
+ },
+ "ne": {
+ "code": "ne",
+ "name": "isi-Nepali"
+ },
+ "jgo": {
+ "code": "jgo",
+ "name": "isi-Ngomba"
+ },
+ "nd": {
+ "code": "nd",
+ "name": "isi-North Ndebele"
+ },
+ "se": {
+ "code": "se",
+ "name": "isi-Northern Sami"
+ },
+ "nb": {
+ "code": "nb",
+ "name": "isi-Norwegian Bokmål"
+ },
+ "nus": {
+ "code": "nus",
+ "name": "isi-Nuer"
+ },
+ "nyn": {
+ "code": "nyn",
+ "name": "Isi-Nyankole"
+ },
+ "or": {
+ "code": "or",
+ "name": "isi-Oriya"
+ },
+ "ps": {
+ "code": "ps",
+ "name": "isi-Pashto"
+ },
+ "fa": {
+ "code": "fa",
+ "name": "isi-Persian"
+ },
+ "pl": {
+ "code": "pl",
+ "name": "isi-Polish"
+ },
+ "pt": {
+ "code": "pt",
+ "name": "isi-Portuguese"
+ },
+ "pa": {
+ "code": "pa",
+ "name": "isi-Punjabi"
+ },
+ "ro": {
+ "code": "ro",
+ "name": "isi-Romanian"
+ },
+ "rm": {
+ "code": "rm",
+ "name": "isi-Romansh"
+ },
+ "rof": {
+ "code": "rof",
+ "name": "isi-Rombo"
+ },
+ "rn": {
+ "code": "rn",
+ "name": "isi-Rundi"
+ },
+ "ru": {
+ "code": "ru",
+ "name": "isi-Russian"
+ },
+ "rwk": {
+ "code": "rwk",
+ "name": "isi-Rwa"
+ },
+ "saq": {
+ "code": "saq",
+ "name": "isi-Samburu"
+ },
+ "sg": {
+ "code": "sg",
+ "name": "isi-Sango"
+ },
+ "sbp": {
+ "code": "sbp",
+ "name": "isi-Sangu"
+ },
+ "seh": {
+ "code": "seh",
+ "name": "isi-Sena"
+ },
+ "sr": {
+ "code": "sr",
+ "name": "isi-Serbian"
+ },
+ "ksb": {
+ "code": "ksb",
+ "name": "isi-Shambala"
+ },
+ "sn": {
+ "code": "sn",
+ "name": "isi-Shona"
+ },
+ "zh-Hans": {
+ "code": "zh-Hans",
+ "name": "isi-Sipmlified Chinese"
+ },
+ "sk": {
+ "code": "sk",
+ "name": "isi-Slovak"
+ },
+ "sl": {
+ "code": "sl",
+ "name": "isi-Slovenian"
+ },
+ "xog": {
+ "code": "xog",
+ "name": "isi-Soga"
+ },
+ "so": {
+ "code": "so",
+ "name": "isi-Somali"
+ },
+ "es": {
+ "code": "es",
+ "name": "isi-Spanish"
+ },
+ "zgh": {
+ "code": "zgh",
+ "name": "isi-Standard Moroccan Tamazight"
+ },
+ "sw": {
+ "code": "sw",
+ "name": "isi-Swahili"
+ },
+ "sv": {
+ "code": "sv",
+ "name": "isi-Swedish"
+ },
+ "fr-CH": {
+ "code": "fr-CH",
+ "name": "isi-Swiss French"
+ },
+ "gsw": {
+ "code": "gsw",
+ "name": "isi-Swiss German"
+ },
+ "de-CH": {
+ "code": "de-CH",
+ "name": "isi-Swiss High German"
+ },
+ "shi": {
+ "code": "shi",
+ "name": "isi-Tachelhit"
+ },
+ "dav": {
+ "code": "dav",
+ "name": "isi-Taita"
+ },
+ "ta": {
+ "code": "ta",
+ "name": "isi-Tamil"
+ },
+ "twq": {
+ "code": "twq",
+ "name": "isi-Tasawaq"
+ },
+ "te": {
+ "code": "te",
+ "name": "isi-Telugu"
+ },
+ "teo": {
+ "code": "teo",
+ "name": "isi-Teso"
+ },
+ "th": {
+ "code": "th",
+ "name": "isi-Thai"
+ },
+ "bo": {
+ "code": "bo",
+ "name": "isi-Tibetan"
+ },
+ "ti": {
+ "code": "ti",
+ "name": "isi-Tigrinya"
+ },
+ "to": {
+ "code": "to",
+ "name": "Isi-Tongan"
+ },
+ "zh-Hant": {
+ "code": "zh-Hant",
+ "name": "isi-Traditional Chinese"
+ },
+ "tr": {
+ "code": "tr",
+ "name": "isi-Turkish"
+ },
+ "ug": {
+ "code": "ug",
+ "name": "isi-Uighur"
+ },
+ "uk": {
+ "code": "uk",
+ "name": "isi-Ukrainian"
+ },
+ "hsb": {
+ "code": "hsb",
+ "name": "isi-Upper Sorbian"
+ },
+ "ur": {
+ "code": "ur",
+ "name": "isi-Urdu"
+ },
+ "uz": {
+ "code": "uz",
+ "name": "isi-Uzbek"
+ },
+ "vai": {
+ "code": "vai",
+ "name": "isi-Vai"
+ },
+ "vi": {
+ "code": "vi",
+ "name": "isi-Vietnamese"
+ },
+ "vun": {
+ "code": "vun",
+ "name": "isi-Vunjo"
+ },
+ "cy": {
+ "code": "cy",
+ "name": "isi-Welsh"
+ },
+ "fy": {
+ "code": "fy",
+ "name": "isi-Western Frisian"
+ },
+ "yo": {
+ "code": "yo",
+ "name": "isi-Yoruba"
+ },
+ "dje": {
+ "code": "dje",
+ "name": "isi-Zarma"
+ },
+ "zu": {
+ "code": "zu",
+ "name": "isiZulu"
+ },
+ "wae": {
+ "code": "wae",
+ "name": "Walser"
+ },
+ "yav": {
+ "code": "yav",
+ "name": "Yangben"
+ }
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/aa.json b/library/intl/resources/number_format/aa.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/aa.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/af-NA.json b/library/intl/resources/number_format/af-NA.json
new file mode 100644
index 000000000..7ce8a94ca
--- /dev/null
+++ b/library/intl/resources/number_format/af-NA.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/af.json b/library/intl/resources/number_format/af.json
new file mode 100644
index 000000000..198b1e963
--- /dev/null
+++ b/library/intl/resources/number_format/af.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/agq.json b/library/intl/resources/number_format/agq.json
new file mode 100644
index 000000000..f86dca5c9
--- /dev/null
+++ b/library/intl/resources/number_format/agq.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ak.json b/library/intl/resources/number_format/ak.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/ak.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/am.json b/library/intl/resources/number_format/am.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/am.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ar-DZ.json b/library/intl/resources/number_format/ar-DZ.json
new file mode 100644
index 000000000..f0f45f730
--- /dev/null
+++ b/library/intl/resources/number_format/ar-DZ.json
@@ -0,0 +1,11 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ar-EH.json b/library/intl/resources/number_format/ar-EH.json
new file mode 100644
index 000000000..474e484f4
--- /dev/null
+++ b/library/intl/resources/number_format/ar-EH.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ar-LY.json b/library/intl/resources/number_format/ar-LY.json
new file mode 100644
index 000000000..f0f45f730
--- /dev/null
+++ b/library/intl/resources/number_format/ar-LY.json
@@ -0,0 +1,11 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ar-MA.json b/library/intl/resources/number_format/ar-MA.json
new file mode 100644
index 000000000..f0f45f730
--- /dev/null
+++ b/library/intl/resources/number_format/ar-MA.json
@@ -0,0 +1,11 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ar-TN.json b/library/intl/resources/number_format/ar-TN.json
new file mode 100644
index 000000000..3d40ecdee
--- /dev/null
+++ b/library/intl/resources/number_format/ar-TN.json
@@ -0,0 +1,11 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ar.json b/library/intl/resources/number_format/ar.json
new file mode 100644
index 000000000..a027ffa1f
--- /dev/null
+++ b/library/intl/resources/number_format/ar.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arab",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": "Ù«",
+ "grouping_separator": "Ù¬",
+ "plus_sign": "â€+",
+ "minus_sign": "â€-",
+ "percent_sign": "Ùª"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/as.json b/library/intl/resources/number_format/as.json
new file mode 100644
index 000000000..ef4b5e798
--- /dev/null
+++ b/library/intl/resources/number_format/as.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "beng",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/asa.json b/library/intl/resources/number_format/asa.json
new file mode 100644
index 000000000..5ca4d4e1c
--- /dev/null
+++ b/library/intl/resources/number_format/asa.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ast.json b/library/intl/resources/number_format/ast.json
new file mode 100644
index 000000000..639e6c938
--- /dev/null
+++ b/library/intl/resources/number_format/ast.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/az.json b/library/intl/resources/number_format/az.json
new file mode 100644
index 000000000..f6e200db5
--- /dev/null
+++ b/library/intl/resources/number_format/az.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/bas.json b/library/intl/resources/number_format/bas.json
new file mode 100644
index 000000000..e7aecc094
--- /dev/null
+++ b/library/intl/resources/number_format/bas.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/be.json b/library/intl/resources/number_format/be.json
new file mode 100644
index 000000000..a17a8c14d
--- /dev/null
+++ b/library/intl/resources/number_format/be.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/bem.json b/library/intl/resources/number_format/bem.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/bem.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/bez.json b/library/intl/resources/number_format/bez.json
new file mode 100644
index 000000000..c00aa2b2f
--- /dev/null
+++ b/library/intl/resources/number_format/bez.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/bg.json b/library/intl/resources/number_format/bg.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/bg.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/bm.json b/library/intl/resources/number_format/bm.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/bm.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/bn.json b/library/intl/resources/number_format/bn.json
new file mode 100644
index 000000000..af72c4966
--- /dev/null
+++ b/library/intl/resources/number_format/bn.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "beng",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "#,##,##0.00¤",
+ "accounting_currency_pattern": "#,##,##0.00¤;(#,##,##0.00¤)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/bo.json b/library/intl/resources/number_format/bo.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/bo.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/br.json b/library/intl/resources/number_format/br.json
new file mode 100644
index 000000000..e7aecc094
--- /dev/null
+++ b/library/intl/resources/number_format/br.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/brx.json b/library/intl/resources/number_format/brx.json
new file mode 100644
index 000000000..2007f4fb6
--- /dev/null
+++ b/library/intl/resources/number_format/brx.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/bs.json b/library/intl/resources/number_format/bs.json
new file mode 100644
index 000000000..639e6c938
--- /dev/null
+++ b/library/intl/resources/number_format/bs.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ca.json b/library/intl/resources/number_format/ca.json
new file mode 100644
index 000000000..d79067fe7
--- /dev/null
+++ b/library/intl/resources/number_format/ca.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/cgg.json b/library/intl/resources/number_format/cgg.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/cgg.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/chr.json b/library/intl/resources/number_format/chr.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/chr.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/cs.json b/library/intl/resources/number_format/cs.json
new file mode 100644
index 000000000..e7aecc094
--- /dev/null
+++ b/library/intl/resources/number_format/cs.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/cy.json b/library/intl/resources/number_format/cy.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/cy.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/da.json b/library/intl/resources/number_format/da.json
new file mode 100644
index 000000000..59241b7e7
--- /dev/null
+++ b/library/intl/resources/number_format/da.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/dav.json b/library/intl/resources/number_format/dav.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/dav.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/de-AT.json b/library/intl/resources/number_format/de-AT.json
new file mode 100644
index 000000000..9e2fdafca
--- /dev/null
+++ b/library/intl/resources/number_format/de-AT.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/de-CH.json b/library/intl/resources/number_format/de-CH.json
new file mode 100644
index 000000000..0cdba3d23
--- /dev/null
+++ b/library/intl/resources/number_format/de-CH.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "grouping_separator": "'"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/de-LI.json b/library/intl/resources/number_format/de-LI.json
new file mode 100644
index 000000000..b353ac425
--- /dev/null
+++ b/library/intl/resources/number_format/de-LI.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "grouping_separator": "'"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/de.json b/library/intl/resources/number_format/de.json
new file mode 100644
index 000000000..59241b7e7
--- /dev/null
+++ b/library/intl/resources/number_format/de.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/dje.json b/library/intl/resources/number_format/dje.json
new file mode 100644
index 000000000..23ba53115
--- /dev/null
+++ b/library/intl/resources/number_format/dje.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/dsb.json b/library/intl/resources/number_format/dsb.json
new file mode 100644
index 000000000..59241b7e7
--- /dev/null
+++ b/library/intl/resources/number_format/dsb.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/dua.json b/library/intl/resources/number_format/dua.json
new file mode 100644
index 000000000..e7aecc094
--- /dev/null
+++ b/library/intl/resources/number_format/dua.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/dyo.json b/library/intl/resources/number_format/dyo.json
new file mode 100644
index 000000000..dde2cfe27
--- /dev/null
+++ b/library/intl/resources/number_format/dyo.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/dz.json b/library/intl/resources/number_format/dz.json
new file mode 100644
index 000000000..4e78d7725
--- /dev/null
+++ b/library/intl/resources/number_format/dz.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0 %",
+ "currency_pattern": "¤#,##,##0.00",
+ "accounting_currency_pattern": "¤#,##,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ebu.json b/library/intl/resources/number_format/ebu.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/ebu.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ee.json b/library/intl/resources/number_format/ee.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/ee.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/el-CY.json b/library/intl/resources/number_format/el-CY.json
new file mode 100644
index 000000000..e87fb64f0
--- /dev/null
+++ b/library/intl/resources/number_format/el-CY.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/el.json b/library/intl/resources/number_format/el.json
new file mode 100644
index 000000000..a951f7d15
--- /dev/null
+++ b/library/intl/resources/number_format/el.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/en-BE.json b/library/intl/resources/number_format/en-BE.json
new file mode 100644
index 000000000..a951f7d15
--- /dev/null
+++ b/library/intl/resources/number_format/en-BE.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/en-IN.json b/library/intl/resources/number_format/en-IN.json
new file mode 100644
index 000000000..816eff469
--- /dev/null
+++ b/library/intl/resources/number_format/en-IN.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/en-PK.json b/library/intl/resources/number_format/en-PK.json
new file mode 100644
index 000000000..816eff469
--- /dev/null
+++ b/library/intl/resources/number_format/en-PK.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/en-ZA.json b/library/intl/resources/number_format/en-ZA.json
new file mode 100644
index 000000000..198b1e963
--- /dev/null
+++ b/library/intl/resources/number_format/en-ZA.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/en.json b/library/intl/resources/number_format/en.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/en.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/eo.json b/library/intl/resources/number_format/eo.json
new file mode 100644
index 000000000..011b800c1
--- /dev/null
+++ b/library/intl/resources/number_format/eo.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-AR.json b/library/intl/resources/number_format/es-AR.json
new file mode 100644
index 000000000..43bdea5e3
--- /dev/null
+++ b/library/intl/resources/number_format/es-AR.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-BO.json b/library/intl/resources/number_format/es-BO.json
new file mode 100644
index 000000000..43bdea5e3
--- /dev/null
+++ b/library/intl/resources/number_format/es-BO.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-CL.json b/library/intl/resources/number_format/es-CL.json
new file mode 100644
index 000000000..69b541b5c
--- /dev/null
+++ b/library/intl/resources/number_format/es-CL.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-CO.json b/library/intl/resources/number_format/es-CO.json
new file mode 100644
index 000000000..43bdea5e3
--- /dev/null
+++ b/library/intl/resources/number_format/es-CO.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-CR.json b/library/intl/resources/number_format/es-CR.json
new file mode 100644
index 000000000..43bdea5e3
--- /dev/null
+++ b/library/intl/resources/number_format/es-CR.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-CU.json b/library/intl/resources/number_format/es-CU.json
new file mode 100644
index 000000000..73f8db055
--- /dev/null
+++ b/library/intl/resources/number_format/es-CU.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-DO.json b/library/intl/resources/number_format/es-DO.json
new file mode 100644
index 000000000..73f8db055
--- /dev/null
+++ b/library/intl/resources/number_format/es-DO.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-EC.json b/library/intl/resources/number_format/es-EC.json
new file mode 100644
index 000000000..69b541b5c
--- /dev/null
+++ b/library/intl/resources/number_format/es-EC.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-GQ.json b/library/intl/resources/number_format/es-GQ.json
new file mode 100644
index 000000000..43bdea5e3
--- /dev/null
+++ b/library/intl/resources/number_format/es-GQ.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-GT.json b/library/intl/resources/number_format/es-GT.json
new file mode 100644
index 000000000..73f8db055
--- /dev/null
+++ b/library/intl/resources/number_format/es-GT.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-HN.json b/library/intl/resources/number_format/es-HN.json
new file mode 100644
index 000000000..73f8db055
--- /dev/null
+++ b/library/intl/resources/number_format/es-HN.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-MX.json b/library/intl/resources/number_format/es-MX.json
new file mode 100644
index 000000000..ed01495e9
--- /dev/null
+++ b/library/intl/resources/number_format/es-MX.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-NI.json b/library/intl/resources/number_format/es-NI.json
new file mode 100644
index 000000000..73f8db055
--- /dev/null
+++ b/library/intl/resources/number_format/es-NI.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-PA.json b/library/intl/resources/number_format/es-PA.json
new file mode 100644
index 000000000..73f8db055
--- /dev/null
+++ b/library/intl/resources/number_format/es-PA.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-PE.json b/library/intl/resources/number_format/es-PE.json
new file mode 100644
index 000000000..73f8db055
--- /dev/null
+++ b/library/intl/resources/number_format/es-PE.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-PR.json b/library/intl/resources/number_format/es-PR.json
new file mode 100644
index 000000000..73f8db055
--- /dev/null
+++ b/library/intl/resources/number_format/es-PR.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-PY.json b/library/intl/resources/number_format/es-PY.json
new file mode 100644
index 000000000..ed88c9cf4
--- /dev/null
+++ b/library/intl/resources/number_format/es-PY.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00;¤ -#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-SV.json b/library/intl/resources/number_format/es-SV.json
new file mode 100644
index 000000000..73f8db055
--- /dev/null
+++ b/library/intl/resources/number_format/es-SV.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-US.json b/library/intl/resources/number_format/es-US.json
new file mode 100644
index 000000000..73f8db055
--- /dev/null
+++ b/library/intl/resources/number_format/es-US.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-UY.json b/library/intl/resources/number_format/es-UY.json
new file mode 100644
index 000000000..d7fbe51cd
--- /dev/null
+++ b/library/intl/resources/number_format/es-UY.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00;(¤ #,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es-VE.json b/library/intl/resources/number_format/es-VE.json
new file mode 100644
index 000000000..69b541b5c
--- /dev/null
+++ b/library/intl/resources/number_format/es-VE.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/es.json b/library/intl/resources/number_format/es.json
new file mode 100644
index 000000000..59241b7e7
--- /dev/null
+++ b/library/intl/resources/number_format/es.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/et.json b/library/intl/resources/number_format/et.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/et.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/eu.json b/library/intl/resources/number_format/eu.json
new file mode 100644
index 000000000..d633ea283
--- /dev/null
+++ b/library/intl/resources/number_format/eu.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "% #,##0",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ewo.json b/library/intl/resources/number_format/ewo.json
new file mode 100644
index 000000000..dde2cfe27
--- /dev/null
+++ b/library/intl/resources/number_format/ewo.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/fa.json b/library/intl/resources/number_format/fa.json
new file mode 100644
index 000000000..26a1017a3
--- /dev/null
+++ b/library/intl/resources/number_format/fa.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "‎¤#,##0.00",
+ "accounting_currency_pattern": "‎¤#,##0.00;‎(¤#,##0.00)",
+ "decimal_separator": "Ù«",
+ "grouping_separator": "Ù¬",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎−",
+ "percent_sign": "Ùª"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ff.json b/library/intl/resources/number_format/ff.json
new file mode 100644
index 000000000..dde2cfe27
--- /dev/null
+++ b/library/intl/resources/number_format/ff.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/fi.json b/library/intl/resources/number_format/fi.json
new file mode 100644
index 000000000..4c5b82818
--- /dev/null
+++ b/library/intl/resources/number_format/fi.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/fil.json b/library/intl/resources/number_format/fil.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/fil.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/fo.json b/library/intl/resources/number_format/fo.json
new file mode 100644
index 000000000..c1e16e6dc
--- /dev/null
+++ b/library/intl/resources/number_format/fo.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/fr-BE.json b/library/intl/resources/number_format/fr-BE.json
new file mode 100644
index 000000000..f4d872e5d
--- /dev/null
+++ b/library/intl/resources/number_format/fr-BE.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/fr-CH.json b/library/intl/resources/number_format/fr-CH.json
new file mode 100644
index 000000000..5dc15aabe
--- /dev/null
+++ b/library/intl/resources/number_format/fr-CH.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/fr-LU.json b/library/intl/resources/number_format/fr-LU.json
new file mode 100644
index 000000000..f4d872e5d
--- /dev/null
+++ b/library/intl/resources/number_format/fr-LU.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/fr.json b/library/intl/resources/number_format/fr.json
new file mode 100644
index 000000000..5458fba77
--- /dev/null
+++ b/library/intl/resources/number_format/fr.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/fur.json b/library/intl/resources/number_format/fur.json
new file mode 100644
index 000000000..f6e200db5
--- /dev/null
+++ b/library/intl/resources/number_format/fur.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/fy.json b/library/intl/resources/number_format/fy.json
new file mode 100644
index 000000000..ff49eddc5
--- /dev/null
+++ b/library/intl/resources/number_format/fy.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00;¤ #,##0.00-",
+ "accounting_currency_pattern": "¤ #,##0.00;(¤ #,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ga.json b/library/intl/resources/number_format/ga.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/ga.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/gd.json b/library/intl/resources/number_format/gd.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/gd.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/gl.json b/library/intl/resources/number_format/gl.json
new file mode 100644
index 000000000..e87fb64f0
--- /dev/null
+++ b/library/intl/resources/number_format/gl.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/gsw.json b/library/intl/resources/number_format/gsw.json
new file mode 100644
index 000000000..f7a23e7ff
--- /dev/null
+++ b/library/intl/resources/number_format/gsw.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "grouping_separator": "’",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/gu.json b/library/intl/resources/number_format/gu.json
new file mode 100644
index 000000000..c3395e8a0
--- /dev/null
+++ b/library/intl/resources/number_format/gu.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤#,##,##0.00",
+ "accounting_currency_pattern": "¤#,##,##0.00;(¤#,##,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/guz.json b/library/intl/resources/number_format/guz.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/guz.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/gv.json b/library/intl/resources/number_format/gv.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/gv.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ha.json b/library/intl/resources/number_format/ha.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/ha.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/haw.json b/library/intl/resources/number_format/haw.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/haw.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/he.json b/library/intl/resources/number_format/he.json
new file mode 100644
index 000000000..b469e01a7
--- /dev/null
+++ b/library/intl/resources/number_format/he.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/hi.json b/library/intl/resources/number_format/hi.json
new file mode 100644
index 000000000..c888438cb
--- /dev/null
+++ b/library/intl/resources/number_format/hi.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤#,##,##0.00",
+ "accounting_currency_pattern": "¤#,##,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/hr.json b/library/intl/resources/number_format/hr.json
new file mode 100644
index 000000000..639e6c938
--- /dev/null
+++ b/library/intl/resources/number_format/hr.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/hsb.json b/library/intl/resources/number_format/hsb.json
new file mode 100644
index 000000000..59241b7e7
--- /dev/null
+++ b/library/intl/resources/number_format/hsb.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/hu.json b/library/intl/resources/number_format/hu.json
new file mode 100644
index 000000000..dde2cfe27
--- /dev/null
+++ b/library/intl/resources/number_format/hu.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/hy.json b/library/intl/resources/number_format/hy.json
new file mode 100644
index 000000000..8fd18e83c
--- /dev/null
+++ b/library/intl/resources/number_format/hy.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#0.###",
+ "percent_pattern": "#0%",
+ "currency_pattern": "#0.00 ¤",
+ "accounting_currency_pattern": "#0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/id.json b/library/intl/resources/number_format/id.json
new file mode 100644
index 000000000..2d0b0fad1
--- /dev/null
+++ b/library/intl/resources/number_format/id.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ig.json b/library/intl/resources/number_format/ig.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/ig.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ii.json b/library/intl/resources/number_format/ii.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/ii.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/is.json b/library/intl/resources/number_format/is.json
new file mode 100644
index 000000000..639e6c938
--- /dev/null
+++ b/library/intl/resources/number_format/is.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/it-CH.json b/library/intl/resources/number_format/it-CH.json
new file mode 100644
index 000000000..4d5d16160
--- /dev/null
+++ b/library/intl/resources/number_format/it-CH.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "grouping_separator": "'"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/it.json b/library/intl/resources/number_format/it.json
new file mode 100644
index 000000000..639e6c938
--- /dev/null
+++ b/library/intl/resources/number_format/it.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ja.json b/library/intl/resources/number_format/ja.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/ja.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/jgo.json b/library/intl/resources/number_format/jgo.json
new file mode 100644
index 000000000..f6e200db5
--- /dev/null
+++ b/library/intl/resources/number_format/jgo.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/jmc.json b/library/intl/resources/number_format/jmc.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/jmc.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ka.json b/library/intl/resources/number_format/ka.json
new file mode 100644
index 000000000..e7aecc094
--- /dev/null
+++ b/library/intl/resources/number_format/ka.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kab.json b/library/intl/resources/number_format/kab.json
new file mode 100644
index 000000000..f86dca5c9
--- /dev/null
+++ b/library/intl/resources/number_format/kab.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kam.json b/library/intl/resources/number_format/kam.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/kam.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kde.json b/library/intl/resources/number_format/kde.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/kde.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kea.json b/library/intl/resources/number_format/kea.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/kea.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/khq.json b/library/intl/resources/number_format/khq.json
new file mode 100644
index 000000000..23ba53115
--- /dev/null
+++ b/library/intl/resources/number_format/khq.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ki.json b/library/intl/resources/number_format/ki.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/ki.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kk.json b/library/intl/resources/number_format/kk.json
new file mode 100644
index 000000000..dde2cfe27
--- /dev/null
+++ b/library/intl/resources/number_format/kk.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kkj.json b/library/intl/resources/number_format/kkj.json
new file mode 100644
index 000000000..f6e200db5
--- /dev/null
+++ b/library/intl/resources/number_format/kkj.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kl.json b/library/intl/resources/number_format/kl.json
new file mode 100644
index 000000000..c1e16e6dc
--- /dev/null
+++ b/library/intl/resources/number_format/kl.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": ".",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kln.json b/library/intl/resources/number_format/kln.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/kln.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/km.json b/library/intl/resources/number_format/km.json
new file mode 100644
index 000000000..e87fb64f0
--- /dev/null
+++ b/library/intl/resources/number_format/km.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kn.json b/library/intl/resources/number_format/kn.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/kn.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ko.json b/library/intl/resources/number_format/ko.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/ko.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kok.json b/library/intl/resources/number_format/kok.json
new file mode 100644
index 000000000..2007f4fb6
--- /dev/null
+++ b/library/intl/resources/number_format/kok.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ks.json b/library/intl/resources/number_format/ks.json
new file mode 100644
index 000000000..e3bf6449c
--- /dev/null
+++ b/library/intl/resources/number_format/ks.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00",
+ "decimal_separator": "Ù«",
+ "grouping_separator": "Ù¬",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎",
+ "percent_sign": "Ùª"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ksb.json b/library/intl/resources/number_format/ksb.json
new file mode 100644
index 000000000..c00aa2b2f
--- /dev/null
+++ b/library/intl/resources/number_format/ksb.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ksf.json b/library/intl/resources/number_format/ksf.json
new file mode 100644
index 000000000..dde2cfe27
--- /dev/null
+++ b/library/intl/resources/number_format/ksf.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ksh.json b/library/intl/resources/number_format/ksh.json
new file mode 100644
index 000000000..4c5b82818
--- /dev/null
+++ b/library/intl/resources/number_format/ksh.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/kw.json b/library/intl/resources/number_format/kw.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/kw.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ky.json b/library/intl/resources/number_format/ky.json
new file mode 100644
index 000000000..dde2cfe27
--- /dev/null
+++ b/library/intl/resources/number_format/ky.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/lag.json b/library/intl/resources/number_format/lag.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/lag.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/lb.json b/library/intl/resources/number_format/lb.json
new file mode 100644
index 000000000..59241b7e7
--- /dev/null
+++ b/library/intl/resources/number_format/lb.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/lg.json b/library/intl/resources/number_format/lg.json
new file mode 100644
index 000000000..c00aa2b2f
--- /dev/null
+++ b/library/intl/resources/number_format/lg.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/lkt.json b/library/intl/resources/number_format/lkt.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/lkt.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ln.json b/library/intl/resources/number_format/ln.json
new file mode 100644
index 000000000..639e6c938
--- /dev/null
+++ b/library/intl/resources/number_format/ln.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/lo.json b/library/intl/resources/number_format/lo.json
new file mode 100644
index 000000000..ce91051ad
--- /dev/null
+++ b/library/intl/resources/number_format/lo.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/lt.json b/library/intl/resources/number_format/lt.json
new file mode 100644
index 000000000..4c5b82818
--- /dev/null
+++ b/library/intl/resources/number_format/lt.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/lu.json b/library/intl/resources/number_format/lu.json
new file mode 100644
index 000000000..d4ecf4607
--- /dev/null
+++ b/library/intl/resources/number_format/lu.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/luo.json b/library/intl/resources/number_format/luo.json
new file mode 100644
index 000000000..c00aa2b2f
--- /dev/null
+++ b/library/intl/resources/number_format/luo.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/luy.json b/library/intl/resources/number_format/luy.json
new file mode 100644
index 000000000..a2c910b56
--- /dev/null
+++ b/library/intl/resources/number_format/luy.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00;¤- #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;¤- #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/lv.json b/library/intl/resources/number_format/lv.json
new file mode 100644
index 000000000..5a38d2acb
--- /dev/null
+++ b/library/intl/resources/number_format/lv.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#0.00",
+ "accounting_currency_pattern": "¤#0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mas.json b/library/intl/resources/number_format/mas.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/mas.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mer.json b/library/intl/resources/number_format/mer.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/mer.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mfe.json b/library/intl/resources/number_format/mfe.json
new file mode 100644
index 000000000..5576f9438
--- /dev/null
+++ b/library/intl/resources/number_format/mfe.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mg.json b/library/intl/resources/number_format/mg.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/mg.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mgh.json b/library/intl/resources/number_format/mgh.json
new file mode 100644
index 000000000..f6e200db5
--- /dev/null
+++ b/library/intl/resources/number_format/mgh.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mgo.json b/library/intl/resources/number_format/mgo.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/mgo.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mk.json b/library/intl/resources/number_format/mk.json
new file mode 100644
index 000000000..f6e200db5
--- /dev/null
+++ b/library/intl/resources/number_format/mk.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ml.json b/library/intl/resources/number_format/ml.json
new file mode 100644
index 000000000..7a1f3b487
--- /dev/null
+++ b/library/intl/resources/number_format/ml.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mn.json b/library/intl/resources/number_format/mn.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/mn.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mr.json b/library/intl/resources/number_format/mr.json
new file mode 100644
index 000000000..6f71dcc1f
--- /dev/null
+++ b/library/intl/resources/number_format/mr.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "deva",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ms-Latn-BN.json b/library/intl/resources/number_format/ms-Latn-BN.json
new file mode 100644
index 000000000..bb9eb8d94
--- /dev/null
+++ b/library/intl/resources/number_format/ms-Latn-BN.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ms.json b/library/intl/resources/number_format/ms.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/ms.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mt.json b/library/intl/resources/number_format/mt.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/mt.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/mua.json b/library/intl/resources/number_format/mua.json
new file mode 100644
index 000000000..e87fb64f0
--- /dev/null
+++ b/library/intl/resources/number_format/mua.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/my.json b/library/intl/resources/number_format/my.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/my.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/naq.json b/library/intl/resources/number_format/naq.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/naq.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nb.json b/library/intl/resources/number_format/nb.json
new file mode 100644
index 000000000..d22e8d0b7
--- /dev/null
+++ b/library/intl/resources/number_format/nb.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nd.json b/library/intl/resources/number_format/nd.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/nd.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ne.json b/library/intl/resources/number_format/ne.json
new file mode 100644
index 000000000..e1149da96
--- /dev/null
+++ b/library/intl/resources/number_format/ne.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "deva",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nl-BE.json b/library/intl/resources/number_format/nl-BE.json
new file mode 100644
index 000000000..23256bff0
--- /dev/null
+++ b/library/intl/resources/number_format/nl-BE.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "¤ #,##0.00;(¤ #,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nl.json b/library/intl/resources/number_format/nl.json
new file mode 100644
index 000000000..ff49eddc5
--- /dev/null
+++ b/library/intl/resources/number_format/nl.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00;¤ #,##0.00-",
+ "accounting_currency_pattern": "¤ #,##0.00;(¤ #,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nmg.json b/library/intl/resources/number_format/nmg.json
new file mode 100644
index 000000000..dde2cfe27
--- /dev/null
+++ b/library/intl/resources/number_format/nmg.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nn.json b/library/intl/resources/number_format/nn.json
new file mode 100644
index 000000000..4c5b82818
--- /dev/null
+++ b/library/intl/resources/number_format/nn.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nnh.json b/library/intl/resources/number_format/nnh.json
new file mode 100644
index 000000000..f6e200db5
--- /dev/null
+++ b/library/intl/resources/number_format/nnh.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nr.json b/library/intl/resources/number_format/nr.json
new file mode 100644
index 000000000..a17a8c14d
--- /dev/null
+++ b/library/intl/resources/number_format/nr.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nso.json b/library/intl/resources/number_format/nso.json
new file mode 100644
index 000000000..bfdcf22d4
--- /dev/null
+++ b/library/intl/resources/number_format/nso.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nus.json b/library/intl/resources/number_format/nus.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/nus.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/nyn.json b/library/intl/resources/number_format/nyn.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/nyn.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/om.json b/library/intl/resources/number_format/om.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/om.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/or.json b/library/intl/resources/number_format/or.json
new file mode 100644
index 000000000..2007f4fb6
--- /dev/null
+++ b/library/intl/resources/number_format/or.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/os.json b/library/intl/resources/number_format/os.json
new file mode 100644
index 000000000..c97d61fb2
--- /dev/null
+++ b/library/intl/resources/number_format/os.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pa-Arab.json b/library/intl/resources/number_format/pa-Arab.json
new file mode 100644
index 000000000..2b2e9fdbb
--- /dev/null
+++ b/library/intl/resources/number_format/pa-Arab.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": "Ù«",
+ "grouping_separator": "Ù¬",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎",
+ "percent_sign": "Ùª"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pa.json b/library/intl/resources/number_format/pa.json
new file mode 100644
index 000000000..1ea49ce5f
--- /dev/null
+++ b/library/intl/resources/number_format/pa.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pl.json b/library/intl/resources/number_format/pl.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/pl.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ps.json b/library/intl/resources/number_format/ps.json
new file mode 100644
index 000000000..4c162b17d
--- /dev/null
+++ b/library/intl/resources/number_format/ps.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": "Ù«",
+ "grouping_separator": "Ù¬",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎",
+ "percent_sign": "Ùª"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pt-AO.json b/library/intl/resources/number_format/pt-AO.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/pt-AO.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pt-CV.json b/library/intl/resources/number_format/pt-CV.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/pt-CV.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pt-GW.json b/library/intl/resources/number_format/pt-GW.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/pt-GW.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pt-MO.json b/library/intl/resources/number_format/pt-MO.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/pt-MO.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pt-MZ.json b/library/intl/resources/number_format/pt-MZ.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/pt-MZ.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pt-PT.json b/library/intl/resources/number_format/pt-PT.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/pt-PT.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pt-ST.json b/library/intl/resources/number_format/pt-ST.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/pt-ST.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pt-TL.json b/library/intl/resources/number_format/pt-TL.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/pt-TL.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/pt.json b/library/intl/resources/number_format/pt.json
new file mode 100644
index 000000000..e87fb64f0
--- /dev/null
+++ b/library/intl/resources/number_format/pt.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/qu-BO.json b/library/intl/resources/number_format/qu-BO.json
new file mode 100644
index 000000000..407be1332
--- /dev/null
+++ b/library/intl/resources/number_format/qu-BO.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/qu.json b/library/intl/resources/number_format/qu.json
new file mode 100644
index 000000000..3534c1277
--- /dev/null
+++ b/library/intl/resources/number_format/qu.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/rm.json b/library/intl/resources/number_format/rm.json
new file mode 100644
index 000000000..f7a23e7ff
--- /dev/null
+++ b/library/intl/resources/number_format/rm.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "grouping_separator": "’",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/rn.json b/library/intl/resources/number_format/rn.json
new file mode 100644
index 000000000..01fceee09
--- /dev/null
+++ b/library/intl/resources/number_format/rn.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ro.json b/library/intl/resources/number_format/ro.json
new file mode 100644
index 000000000..f4d872e5d
--- /dev/null
+++ b/library/intl/resources/number_format/ro.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/rof.json b/library/intl/resources/number_format/rof.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/rof.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ru.json b/library/intl/resources/number_format/ru.json
new file mode 100644
index 000000000..e7aecc094
--- /dev/null
+++ b/library/intl/resources/number_format/ru.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/rw.json b/library/intl/resources/number_format/rw.json
new file mode 100644
index 000000000..f6e200db5
--- /dev/null
+++ b/library/intl/resources/number_format/rw.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/rwk.json b/library/intl/resources/number_format/rwk.json
new file mode 100644
index 000000000..c00aa2b2f
--- /dev/null
+++ b/library/intl/resources/number_format/rwk.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/sah.json b/library/intl/resources/number_format/sah.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/sah.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/saq.json b/library/intl/resources/number_format/saq.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/saq.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/sbp.json b/library/intl/resources/number_format/sbp.json
new file mode 100644
index 000000000..c00aa2b2f
--- /dev/null
+++ b/library/intl/resources/number_format/sbp.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/se.json b/library/intl/resources/number_format/se.json
new file mode 100644
index 000000000..4c5b82818
--- /dev/null
+++ b/library/intl/resources/number_format/se.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/seh.json b/library/intl/resources/number_format/seh.json
new file mode 100644
index 000000000..d4ecf4607
--- /dev/null
+++ b/library/intl/resources/number_format/seh.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ses.json b/library/intl/resources/number_format/ses.json
new file mode 100644
index 000000000..23ba53115
--- /dev/null
+++ b/library/intl/resources/number_format/ses.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/sg.json b/library/intl/resources/number_format/sg.json
new file mode 100644
index 000000000..ce91051ad
--- /dev/null
+++ b/library/intl/resources/number_format/sg.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;¤-#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/shi.json b/library/intl/resources/number_format/shi.json
new file mode 100644
index 000000000..f86dca5c9
--- /dev/null
+++ b/library/intl/resources/number_format/shi.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/si.json b/library/intl/resources/number_format/si.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/si.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/sk.json b/library/intl/resources/number_format/sk.json
new file mode 100644
index 000000000..5458fba77
--- /dev/null
+++ b/library/intl/resources/number_format/sk.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/sl.json b/library/intl/resources/number_format/sl.json
new file mode 100644
index 000000000..d79067fe7
--- /dev/null
+++ b/library/intl/resources/number_format/sl.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/smn.json b/library/intl/resources/number_format/smn.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/smn.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/sn.json b/library/intl/resources/number_format/sn.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/sn.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/so.json b/library/intl/resources/number_format/so.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/so.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/sq.json b/library/intl/resources/number_format/sq.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/sq.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/sr.json b/library/intl/resources/number_format/sr.json
new file mode 100644
index 000000000..d79067fe7
--- /dev/null
+++ b/library/intl/resources/number_format/sr.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ss.json b/library/intl/resources/number_format/ss.json
new file mode 100644
index 000000000..a17a8c14d
--- /dev/null
+++ b/library/intl/resources/number_format/ss.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ssy.json b/library/intl/resources/number_format/ssy.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/ssy.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/sv.json b/library/intl/resources/number_format/sv.json
new file mode 100644
index 000000000..4c5b82818
--- /dev/null
+++ b/library/intl/resources/number_format/sv.json
@@ -0,0 +1,10 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " ",
+ "minus_sign": "−"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/sw.json b/library/intl/resources/number_format/sw.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/sw.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/swc.json b/library/intl/resources/number_format/swc.json
new file mode 100644
index 000000000..2d0b0fad1
--- /dev/null
+++ b/library/intl/resources/number_format/swc.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ta-MY.json b/library/intl/resources/number_format/ta-MY.json
new file mode 100644
index 000000000..131e11ee5
--- /dev/null
+++ b/library/intl/resources/number_format/ta-MY.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ta-SG.json b/library/intl/resources/number_format/ta-SG.json
new file mode 100644
index 000000000..131e11ee5
--- /dev/null
+++ b/library/intl/resources/number_format/ta-SG.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ta.json b/library/intl/resources/number_format/ta.json
new file mode 100644
index 000000000..816eff469
--- /dev/null
+++ b/library/intl/resources/number_format/ta.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/te.json b/library/intl/resources/number_format/te.json
new file mode 100644
index 000000000..bb26b152a
--- /dev/null
+++ b/library/intl/resources/number_format/te.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##,##0.00",
+ "accounting_currency_pattern": "¤#,##,##0.00;(¤#,##,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/teo.json b/library/intl/resources/number_format/teo.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/teo.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/th.json b/library/intl/resources/number_format/th.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/th.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ti.json b/library/intl/resources/number_format/ti.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/ti.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/tn.json b/library/intl/resources/number_format/tn.json
new file mode 100644
index 000000000..bfdcf22d4
--- /dev/null
+++ b/library/intl/resources/number_format/tn.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/to.json b/library/intl/resources/number_format/to.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/to.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/tr.json b/library/intl/resources/number_format/tr.json
new file mode 100644
index 000000000..2950f361c
--- /dev/null
+++ b/library/intl/resources/number_format/tr.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "%#,##0",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ts.json b/library/intl/resources/number_format/ts.json
new file mode 100644
index 000000000..a17a8c14d
--- /dev/null
+++ b/library/intl/resources/number_format/ts.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/twq.json b/library/intl/resources/number_format/twq.json
new file mode 100644
index 000000000..23ba53115
--- /dev/null
+++ b/library/intl/resources/number_format/twq.json
@@ -0,0 +1,8 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/tzm.json b/library/intl/resources/number_format/tzm.json
new file mode 100644
index 000000000..dde2cfe27
--- /dev/null
+++ b/library/intl/resources/number_format/tzm.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ug.json b/library/intl/resources/number_format/ug.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/ug.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/uk.json b/library/intl/resources/number_format/uk.json
new file mode 100644
index 000000000..7aa3ad369
--- /dev/null
+++ b/library/intl/resources/number_format/uk.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00¤;(#,##0.00¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ur-IN.json b/library/intl/resources/number_format/ur-IN.json
new file mode 100644
index 000000000..972fb3c39
--- /dev/null
+++ b/library/intl/resources/number_format/ur-IN.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ur.json b/library/intl/resources/number_format/ur.json
new file mode 100644
index 000000000..b1a9ac268
--- /dev/null
+++ b/library/intl/resources/number_format/ur.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##,##0%",
+ "currency_pattern": "¤ #,##,##0.00",
+ "accounting_currency_pattern": "¤ #,##,##0.00",
+ "plus_sign": "‎+",
+ "minus_sign": "‎-"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/uz-Arab.json b/library/intl/resources/number_format/uz-Arab.json
new file mode 100644
index 000000000..4c162b17d
--- /dev/null
+++ b/library/intl/resources/number_format/uz-Arab.json
@@ -0,0 +1,12 @@
+{
+ "numbering_system": "arabext",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": "Ù«",
+ "grouping_separator": "Ù¬",
+ "plus_sign": "‎+‎",
+ "minus_sign": "‎-‎",
+ "percent_sign": "Ùª"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/uz.json b/library/intl/resources/number_format/uz.json
new file mode 100644
index 000000000..c97d61fb2
--- /dev/null
+++ b/library/intl/resources/number_format/uz.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/vai.json b/library/intl/resources/number_format/vai.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/vai.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/ve.json b/library/intl/resources/number_format/ve.json
new file mode 100644
index 000000000..a17a8c14d
--- /dev/null
+++ b/library/intl/resources/number_format/ve.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/vi.json b/library/intl/resources/number_format/vi.json
new file mode 100644
index 000000000..639e6c938
--- /dev/null
+++ b/library/intl/resources/number_format/vi.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤",
+ "decimal_separator": ",",
+ "grouping_separator": "."
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/vo.json b/library/intl/resources/number_format/vo.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/vo.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/vun.json b/library/intl/resources/number_format/vun.json
new file mode 100644
index 000000000..a3f7208e2
--- /dev/null
+++ b/library/intl/resources/number_format/vun.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/wae.json b/library/intl/resources/number_format/wae.json
new file mode 100644
index 000000000..4f32aa8e3
--- /dev/null
+++ b/library/intl/resources/number_format/wae.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00",
+ "decimal_separator": ",",
+ "grouping_separator": "’"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/xog.json b/library/intl/resources/number_format/xog.json
new file mode 100644
index 000000000..5ca4d4e1c
--- /dev/null
+++ b/library/intl/resources/number_format/xog.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/yav.json b/library/intl/resources/number_format/yav.json
new file mode 100644
index 000000000..d72bc1232
--- /dev/null
+++ b/library/intl/resources/number_format/yav.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "#,##0.00 ¤",
+ "accounting_currency_pattern": "#,##0.00 ¤;(#,##0.00 ¤)",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/yi.json b/library/intl/resources/number_format/yi.json
new file mode 100644
index 000000000..76f3ddcb5
--- /dev/null
+++ b/library/intl/resources/number_format/yi.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤ #,##0.00"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/yo.json b/library/intl/resources/number_format/yo.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/yo.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/zgh.json b/library/intl/resources/number_format/zgh.json
new file mode 100644
index 000000000..8ecea403c
--- /dev/null
+++ b/library/intl/resources/number_format/zgh.json
@@ -0,0 +1,9 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0 %",
+ "currency_pattern": "#,##0.00¤",
+ "accounting_currency_pattern": "#,##0.00¤",
+ "decimal_separator": ",",
+ "grouping_separator": " "
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/zh-Hans-HK.json b/library/intl/resources/number_format/zh-Hans-HK.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/zh-Hans-HK.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/zh-Hans-MO.json b/library/intl/resources/number_format/zh-Hans-MO.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/zh-Hans-MO.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/zh-Hans-SG.json b/library/intl/resources/number_format/zh-Hans-SG.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/zh-Hans-SG.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/zh-Hant.json b/library/intl/resources/number_format/zh-Hant.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/zh-Hant.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/zh.json b/library/intl/resources/number_format/zh.json
new file mode 100644
index 000000000..131e11ee5
--- /dev/null
+++ b/library/intl/resources/number_format/zh.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤ #,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/resources/number_format/zu.json b/library/intl/resources/number_format/zu.json
new file mode 100644
index 000000000..ff3ecbde6
--- /dev/null
+++ b/library/intl/resources/number_format/zu.json
@@ -0,0 +1,7 @@
+{
+ "numbering_system": "latn",
+ "decimal_pattern": "#,##0.###",
+ "percent_pattern": "#,##0%",
+ "currency_pattern": "¤#,##0.00",
+ "accounting_currency_pattern": "¤#,##0.00;(¤#,##0.00)"
+} \ No newline at end of file
diff --git a/library/intl/scripts/country/generate.php b/library/intl/scripts/country/generate.php
new file mode 100644
index 000000000..879dc0a25
--- /dev/null
+++ b/library/intl/scripts/country/generate.php
@@ -0,0 +1,162 @@
+<?php
+
+/**
+ * Generates the json files stored in resources/country.
+ */
+
+set_time_limit(0);
+
+// Downloaded from http://unicode.org/Public/cldr/26/json-full.zip
+$enCountries = '../json-full/main/en/territories.json';
+$codeMappings = '../json-full/supplemental/codeMappings.json';
+$telephoneCodeData = '../json-full/supplemental/telephoneCodeData.json';
+if (!file_exists($enCountries)) {
+ die("The $enCountries file was not found");
+}
+if (!file_exists($codeMappings)) {
+ die("The $codeMappings file was not found");
+}
+if (!file_exists($telephoneCodeData)) {
+ die("The $telephoneCodeData file was not found");
+}
+if (!function_exists('collator_create')) {
+ // Reimplementing intl's collator would be a huge undertaking, so we
+ // use it instead to presort the generated locale specific data.
+ die('The intl extension was not found.');
+}
+
+$ignoredCountries = array(
+ 'AN', // Netherlands Antilles, no longer exists.
+ 'BV', 'HM', 'CP', // Uninhabited islands.
+ 'EU', 'QO', // European Union, Outlying Oceania. Not countries.
+ 'ZZ', // Unknown region
+);
+
+// Locales listed without a "-" match all variants.
+// Locales listed with a "-" match only those exact ones.
+$ignoredLocales = array(
+ // Interlingua is a made up language.
+ 'ia',
+ // Valencian differs from its parent only by a single character (è/é).
+ 'ca-ES-VALENCIA',
+ // Those locales are 90% untranslated.
+ 'aa', 'as', 'az-Cyrl', 'az-Cyrl-AZ', 'bem', 'dua', 'gv', 'haw', 'ig', 'ii',
+ 'kkj', 'kok', 'kw', 'lkt', 'mgo', 'nnh', 'nr', 'nso', 'om', 'os', 'pa-Arab',
+ 'pa-Arab-PK', 'qu', 'rw', 'sah', 'smn', 'ss', 'ssy', 'st', 'tg', 'tn', 'ts',
+ 'uz-Arab', 'uz-Arab-AF', 've', 'vo', 'xh', 'yi',
+ // Special "grouping" locales.
+ 'root', 'en-US-POSIX', 'en-001', 'en-150', 'es-419',
+);
+
+// Assemble the base data. Use the "en" data to get a list of countries.
+$telephoneCodeData = json_decode(file_get_contents($telephoneCodeData), true);
+$telephoneCodeData = $telephoneCodeData['supplemental']['telephoneCodeData'];
+$codeMappings = json_decode(file_get_contents($codeMappings), true);
+$codeMappings = $codeMappings['supplemental']['codeMappings'];
+$countryData = json_decode(file_get_contents($enCountries), true);
+$countryData = $countryData['main']['en']['localeDisplayNames']['territories'];
+$baseData = array();
+foreach ($countryData as $countryCode => $countryName) {
+ if (is_numeric($countryCode) || in_array($countryCode, $ignoredCountries)) {
+ // Ignore continents, regions, uninhabited islands.
+ continue;
+ }
+ if (strpos($countryCode, '-alt-') !== FALSE) {
+ // Ignore alternative names.
+ continue;
+ }
+
+ $baseData[$countryCode]['code'] = $countryCode;
+ // Countries are not guaranteed to have an alpha3 and/or numeric code.
+ if (isset($codeMappings[$countryCode]['_alpha3'])) {
+ $baseData[$countryCode]['three_letter_code'] = $codeMappings[$countryCode]['_alpha3'];
+ }
+ if (isset($codeMappings[$countryCode]['_numeric'])) {
+ $baseData[$countryCode]['numeric_code'] = $codeMappings[$countryCode]['_numeric'];
+ }
+
+ // Determine the telephone code for this country.
+ if (in_array($countryCode, array('IC', 'EA'))) {
+ // "Canary Islands" and "Ceuta and Melilla" use Spain's.
+ $baseData[$countryCode]['telephone_code'] = $telephoneCodeData['ES'][0]['telephoneCountryCode'];
+ } elseif ($countryCode == 'XK') {
+ // Kosovo uses three telephone codes. Use Serbia's until that gets resolved.
+ $baseData[$countryCode]['telephone_code'] = $telephoneCodeData['RS'][0]['telephoneCountryCode'];
+ } elseif (isset($telephoneCodeData[$countryCode])) {
+ $baseData[$countryCode]['telephone_code'] = $telephoneCodeData[$countryCode][0]['telephoneCountryCode'];
+ }
+}
+
+// Write out base.json.
+ksort($baseData);
+$json = json_encode($baseData, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+file_put_contents('base.json', $json);
+
+// Gather available locales.
+$locales = array();
+if ($handle = opendir('../json-full/main')) {
+ while (false !== ($entry = readdir($handle))) {
+ if (substr($entry, 0, 1) != '.') {
+ $entryParts = explode('-', $entry);
+ if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
+ $locales[] = $entry;
+ }
+ }
+ }
+ closedir($handle);
+}
+
+// Create the localizations.
+$countries = array();
+foreach ($locales as $locale) {
+ $data = json_decode(file_get_contents('../json-full/main/' . $locale . '/territories.json'), true);
+ $data = $data['main'][$locale]['localeDisplayNames']['territories'];
+ foreach ($data as $countryCode => $countryName) {
+ if (isset($baseData[$countryCode])) {
+ // This country name is untranslated, use the english version.
+ if ($countryCode == $countryName) {
+ $countryName = $countryData[$countryCode];
+ }
+
+ $countries[$locale][$countryCode] = array(
+ 'name' => $countryName,
+ );
+ }
+ }
+}
+
+// Identify localizations that are the same as the ones for the parent locale.
+// For example, "fr-FR" if "fr" has the same data.
+$duplicates = array();
+foreach ($countries as $locale => $localizedCountries) {
+ if (strpos($locale, '-') !== FALSE) {
+ $localeParts = explode('-', $locale);
+ array_pop($localeParts);
+ $parentLocale = implode('-', $localeParts);
+ $diff = array_udiff($localizedCountries, $countries[$parentLocale], function ($first, $second) {
+ return ($first['name'] == $second['name']) ? 0 : 1;
+ });
+
+ if (empty($diff)) {
+ // The duplicates are not removed right away because they might
+ // still be needed for other duplicate checks (for example,
+ // when there are locales like bs-Latn-BA, bs-Latn, bs).
+ $duplicates[] = $locale;
+ }
+ }
+}
+// Remove the duplicates.
+foreach ($duplicates as $locale) {
+ unset($countries[$locale]);
+}
+
+// Write out the localizations.
+foreach ($countries as $locale => $localizedCountries) {
+ $collator = collator_create($locale);
+ uasort($localizedCountries, function($a, $b) use ($collator) {
+ return collator_compare($collator, $a['name'], $b['name']);
+ });
+
+ $json = json_encode($localizedCountries, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ file_put_contents($locale . '.json', $json);
+}
diff --git a/library/intl/scripts/currency/generate.php b/library/intl/scripts/currency/generate.php
new file mode 100644
index 000000000..723906f7a
--- /dev/null
+++ b/library/intl/scripts/currency/generate.php
@@ -0,0 +1,153 @@
+<?php
+
+/**
+ * Generates the json files stored in resources/currency.
+ *
+ * The ISO currency list is used as a base, since it doesn't contain
+ * deprecated currencies, unlike CLDR (v25 has 139 deprecated entries).
+ */
+
+set_time_limit(0);
+
+// Downloaded from http://www.currency-iso.org/en/home/tables/table-a1.html
+$isoCurrencies = '../c2.xml';
+// Downloaded from http://unicode.org/Public/cldr/26/json-full.zip
+$cldrCurrencies = '../json-full/main/en-US/currencies.json';
+$currencyData = '../json-full/supplemental/currencyData.json';
+if (!file_exists($isoCurrencies)) {
+ die("The $isoCurrencies file was not found");
+}
+if (!file_exists($cldrCurrencies)) {
+ die("The $cldrCurrencies file was not found");
+}
+if (!file_exists($currencyData)) {
+ die("The $currencyData file was not found");
+}
+if (!function_exists('collator_create')) {
+ // Reimplementing intl's collator would be a huge undertaking, so we
+ // use it instead to presort the generated locale specific data.
+ die('The intl extension was not found.');
+}
+
+// Locales listed without a "-" match all variants.
+// Locales listed with a "-" match only those exact ones.
+$ignoredLocales = array(
+ // Interlingua is a made up language.
+ 'ia',
+ // Valencian differs from its parent only by a single character (è/é).
+ 'ca-ES-VALENCIA',
+ // Those locales are 90% untranslated.
+ 'aa', 'as', 'az-Cyrl', 'az-Cyrl-AZ', 'bem', 'dua', 'gv', 'haw', 'ig', 'ii',
+ 'kkj', 'kok', 'kw', 'lkt', 'mgo', 'nnh', 'nr', 'nso', 'om', 'os', 'pa-Arab',
+ 'pa-Arab-PK', 'qu', 'rw', 'sah', 'smn', 'ss', 'ssy', 'st', 'tg', 'tn', 'ts',
+ 'uz-Arab', 'uz-Arab-AF', 've', 'vo', 'xh', 'yi',
+ // Special "grouping" locales.
+ 'root', 'en-US-POSIX', 'en-001', 'en-150', 'es-419',
+);
+
+// Assemble the base data.
+$baseData = array();
+$currencyData = json_decode(file_get_contents($currencyData), true);
+$currencyData = $currencyData['supplemental']['currencyData']['fractions'];
+$isoData = simplexml_load_file($isoCurrencies);
+foreach ($isoData->CcyTbl->CcyNtry as $currency) {
+ $attributes = (array) $currency->CcyNm->attributes();
+ if (!empty($attributes) && !empty($attributes['@attributes']['IsFund'])) {
+ // Ignore funds.
+ continue;
+ }
+ $currency = (array) $currency;
+ if (empty($currency['Ccy'])) {
+ // Ignore placeholders like "Antarctica".
+ continue;
+ }
+ if (substr($currency['CtryNm'], 0, 2) == 'ZZ' || in_array($currency['Ccy'], array('XUA', 'XSU', 'XDR'))) {
+ // Ignore special currencies.
+ continue;
+ }
+
+ $currencyCode = $currency['Ccy'];
+ $baseData[$currencyCode] = array(
+ 'code' => $currencyCode,
+ 'numeric_code' => $currency['CcyNbr'],
+ );
+ // Take the fraction digits from CLDR, not ISO, because it reflects real
+ // life usage more closely. If the digits aren't set, that means that the
+ // default value (2) should be used.
+ if (isset($currencyData[$currencyCode]['_digits'])) {
+ $fractionDigits = $currencyData[$currencyCode]['_digits'];
+ if ($fractionDigits != 2) {
+ $baseData[$currencyCode]['fraction_digits'] = $fractionDigits;
+ }
+ }
+}
+
+// Write out base.json.
+ksort($baseData);
+$json = json_encode($baseData, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+file_put_contents('base.json', $json);
+
+// Gather available locales.
+$locales = array();
+if ($handle = opendir('../json-full/main')) {
+ while (false !== ($entry = readdir($handle))) {
+ if (substr($entry, 0, 1) != '.') {
+ $entryParts = explode('-', $entry);
+ if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
+ $locales[] = $entry;
+ }
+ }
+ }
+ closedir($handle);
+}
+
+// Create the localizations.
+$currencies = array();
+foreach ($locales as $locale) {
+ $data = json_decode(file_get_contents('../json-full/main/' . $locale . '/currencies.json'), true);
+ $data = $data['main'][$locale]['numbers']['currencies'];
+ foreach ($data as $currencyCode => $currency) {
+ if (isset($baseData[$currencyCode])) {
+ $currencies[$locale][$currencyCode] = array(
+ 'name' => $currency['displayName'],
+ 'symbol' => $currency['symbol'],
+ );
+ }
+ }
+}
+
+// Identify localizations that are the same as the ones for the parent locale.
+// For example, "fr-FR" if "fr" has the same data.
+$duplicates = array();
+foreach ($currencies as $locale => $localizedCurrencies) {
+ if (strpos($locale, '-') !== FALSE) {
+ $localeParts = explode('-', $locale);
+ array_pop($localeParts);
+ $parentLocale = implode('-', $localeParts);
+ $diff = array_udiff($localizedCurrencies, $currencies[$parentLocale], function ($first, $second) {
+ return ($first['name'] == $second['name']) ? 0 : 1;
+ });
+
+ if (empty($diff)) {
+ // The duplicates are not removed right away because they might
+ // still be needed for other duplicate checks (for example,
+ // when there are locales like bs-Latn-BA, bs-Latn, bs).
+ $duplicates[] = $locale;
+ }
+ }
+}
+// Remove the duplicates.
+foreach ($duplicates as $locale) {
+ unset($currencies[$locale]);
+}
+
+// Write out the localizations.
+foreach ($currencies as $locale => $localizedCurrencies) {
+ $collator = collator_create($locale);
+ uasort($localizedCurrencies, function($a, $b) use ($collator) {
+ return collator_compare($collator, $a['name'], $b['name']);
+ });
+
+ $json = json_encode($localizedCurrencies, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ file_put_contents($locale . '.json', $json);
+}
diff --git a/library/intl/scripts/language/generate.php b/library/intl/scripts/language/generate.php
new file mode 100644
index 000000000..e11c8df49
--- /dev/null
+++ b/library/intl/scripts/language/generate.php
@@ -0,0 +1,129 @@
+<?php
+
+/**
+ * Generates the json files stored in resources/language.
+ *
+ * CLDR lists about 515 languages, many of them dead (like Latin or Old English).
+ * In order to decrease the list to a reasonable size, only the languages
+ * for which CLDR itself has translations are listed.
+ */
+
+set_time_limit(0);
+
+// Downloaded from http://unicode.org/Public/cldr/26/json-full.zip
+$enLanguages = '../json-full/main/en/languages.json';
+if (!file_exists($enLanguages)) {
+ die("The $enLanguages file was not found");
+}
+if (!function_exists('collator_create')) {
+ // Reimplementing intl's collator would be a huge undertaking, so we
+ // use it instead to presort the generated locale specific data.
+ die('The intl extension was not found.');
+}
+
+// Locales listed without a "-" match all variants.
+// Locales listed with a "-" match only those exact ones.
+$ignoredLocales = array(
+ // Interlingua is a made up language.
+ 'ia',
+ // Valencian differs from its parent only by a single character (è/é).
+ 'ca-ES-VALENCIA',
+ // Those locales are 90% untranslated.
+ 'aa', 'as', 'az-Cyrl', 'az-Cyrl-AZ', 'bem', 'dua', 'gv', 'haw', 'ig', 'ii',
+ 'kkj', 'kok', 'kw', 'lkt', 'mgo', 'nnh', 'nr', 'nso', 'om', 'os', 'pa-Arab',
+ 'pa-Arab-PK', 'qu', 'rw', 'sah', 'smn', 'ss', 'ssy', 'st', 'tg', 'tn', 'ts',
+ 'uz-Arab', 'uz-Arab-AF', 've', 'vo', 'xh', 'yi',
+ // Special "grouping" locales.
+ 'root', 'en-US-POSIX', 'en-001', 'en-150', 'es-419',
+);
+
+$languages = array();
+// Load the "en" data first so that it can be used as a fallback for
+// untranslated language names in other locales.
+$languageData = json_decode(file_get_contents($enLanguages), true);
+$languageData = $languageData['main']['en']['localeDisplayNames']['languages'];
+foreach ($languageData as $languageCode => $languageName) {
+ if (strpos($languageCode, '-alt-') === FALSE) {
+ $languages['en'][$languageCode] = array(
+ 'code' => $languageCode,
+ 'name' => $languageName,
+ );
+ }
+}
+
+// Gather available locales.
+$locales = array();
+if ($handle = opendir('../json-full/main')) {
+ while (false !== ($entry = readdir($handle))) {
+ if (substr($entry, 0, 1) != '.') {
+ $entryParts = explode('-', $entry);
+ if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
+ $locales[] = $entry;
+ }
+ }
+ }
+ closedir($handle);
+}
+
+// Remove all languages that aren't an available locale at the same time.
+// This reduces the language list from about 515 to about 185 languages.
+foreach ($languages['en'] as $languageCode => $languageData) {
+ if (!in_array($languageCode, $locales)) {
+ unset($languages['en'][$languageCode]);
+ }
+}
+
+// Load the localizations.
+foreach ($locales as $locale) {
+ $data = json_decode(file_get_contents('../json-full/main/' . $locale . '/languages.json'), true);
+ $data = $data['main'][$locale]['localeDisplayNames']['languages'];
+ foreach ($data as $languageCode => $languageName) {
+ if (isset($languages['en'][$languageCode])) {
+ // This language name is untranslated, use to the english version.
+ if ($languageCode == $languageName) {
+ $languageName = $languages['en'][$languageCode]['name'];
+ }
+
+ $languages[$locale][$languageCode] = array(
+ 'code' => $languageCode,
+ 'name' => $languageName,
+ );
+ }
+ }
+}
+
+// Identify localizations that are the same as the ones for the parent locale.
+// For example, "fr-FR" if "fr" has the same data.
+$duplicates = array();
+foreach ($languages as $locale => $localizedLanguages) {
+ if (strpos($locale, '-') !== FALSE) {
+ $localeParts = explode('-', $locale);
+ array_pop($localeParts);
+ $parentLocale = implode('-', $localeParts);
+ $diff = array_udiff($localizedLanguages, $languages[$parentLocale], function ($first, $second) {
+ return ($first['name'] == $second['name']) ? 0 : 1;
+ });
+
+ if (empty($diff)) {
+ // The duplicates are not removed right away because they might
+ // still be needed for other duplicate checks (for example,
+ // when there are locales like bs-Latn-BA, bs-Latn, bs).
+ $duplicates[] = $locale;
+ }
+ }
+}
+// Remove the duplicates.
+foreach ($duplicates as $locale) {
+ unset($languages[$locale]);
+}
+
+// Write out the localizations.
+foreach ($languages as $locale => $localizedLanguages) {
+ $collator = collator_create($locale);
+ uasort($localizedLanguages, function($a, $b) use ($collator) {
+ return collator_compare($collator, $a['name'], $b['name']);
+ });
+
+ $json = json_encode($localizedLanguages, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ file_put_contents($locale . '.json', $json);
+}
diff --git a/library/intl/scripts/number_format/generate.php b/library/intl/scripts/number_format/generate.php
new file mode 100644
index 000000000..4308b4dc7
--- /dev/null
+++ b/library/intl/scripts/number_format/generate.php
@@ -0,0 +1,107 @@
+<?php
+
+/**
+ * Generates the json files stored in resources/number_format.
+ */
+
+set_time_limit(0);
+
+// Downloaded from http://unicode.org/Public/cldr/26/json-full.zip
+if (!is_dir('../json-full/main')) {
+ die("The '../json-full/main' directory was not found");
+}
+
+// Locales listed without a "-" match all variants.
+// Locales listed with a "-" match only those exact ones.
+$ignoredLocales = array(
+ // Interlingua is a made up language.
+ 'ia',
+ // Special "grouping" locales.
+ 'root', 'en-US-POSIX', 'en-001', 'en-150', 'es-419',
+);
+
+// Gather available locales.
+$locales = array();
+if ($handle = opendir('../json-full/main')) {
+ while (false !== ($entry = readdir($handle))) {
+ if (substr($entry, 0, 1) != '.') {
+ $entryParts = explode('-', $entry);
+ if (!in_array($entry, $ignoredLocales) && !in_array($entryParts[0], $ignoredLocales)) {
+ $locales[] = $entry;
+ }
+ }
+ }
+ closedir($handle);
+}
+
+// Load the data.
+$numberFormats = array();
+foreach ($locales as $locale) {
+ $data = json_decode(file_get_contents('../json-full/main/' . $locale . '/numbers.json'), true);
+ $data = $data['main'][$locale]['numbers'];
+ // Use the default numbering system, if it's supported.
+ if (in_array($data['defaultNumberingSystem'], array('arab', 'arabext', 'beng', 'deva', 'latn'))) {
+ $numberingSystem = $data['defaultNumberingSystem'];
+ } else {
+ $numberingSystem = 'latn';
+ }
+
+ $numberFormats[$locale] = array(
+ 'numbering_system' => $numberingSystem,
+ 'decimal_pattern' => $data['decimalFormats-numberSystem-' . $numberingSystem]['standard'],
+ 'percent_pattern' => $data['percentFormats-numberSystem-' . $numberingSystem]['standard'],
+ 'currency_pattern' => $data['currencyFormats-numberSystem-' . $numberingSystem]['standard'],
+ 'accounting_currency_pattern' => $data['currencyFormats-numberSystem-' . $numberingSystem]['accounting'],
+ );
+
+ // Add the symbols only if they're different from the default data.
+ $decimalSeparator = $data['symbols-numberSystem-' . $numberingSystem]['decimal'];
+ $groupingSeparator = $data['symbols-numberSystem-' . $numberingSystem]['group'];
+ $plusSign = $data['symbols-numberSystem-' . $numberingSystem]['plusSign'];
+ $minusSign = $data['symbols-numberSystem-' . $numberingSystem]['minusSign'];
+ $percentSign = $data['symbols-numberSystem-' . $numberingSystem]['percentSign'];
+ if ($decimalSeparator != '.') {
+ $numberFormats[$locale]['decimal_separator'] = $decimalSeparator;
+ }
+ if ($groupingSeparator != ',') {
+ $numberFormats[$locale]['grouping_separator'] = $groupingSeparator;
+ }
+ if ($plusSign != '+') {
+ $numberFormats[$locale]['plus_sign'] = $plusSign;
+ }
+ if ($minusSign != '-') {
+ $numberFormats[$locale]['minus_sign'] = $minusSign;
+ }
+ if ($percentSign != '%') {
+ $numberFormats[$locale]['percent_sign'] = $percentSign;
+ }
+}
+
+// Identify localizations that are the same as the ones for the parent locale.
+// For example, "fr-FR" if "fr" has the same data.
+$duplicates = array();
+foreach ($numberFormats as $locale => $formatData) {
+ if (strpos($locale, '-') !== FALSE) {
+ $localeParts = explode('-', $locale);
+ array_pop($localeParts);
+ $parentLocale = implode('-', $localeParts);
+ $diff = array_diff_assoc($formatData, $numberFormats[$parentLocale]);
+
+ if (empty($diff)) {
+ // The duplicates are not removed right away because they might
+ // still be needed for other duplicate checks (for example,
+ // when there are locales like bs-Latn-BA, bs-Latn, bs).
+ $duplicates[] = $locale;
+ }
+ }
+}
+// Remove the duplicates.
+foreach ($duplicates as $locale) {
+ unset($numberFormats[$locale]);
+}
+
+// Write out the data.
+foreach ($numberFormats as $locale => $numberFormat) {
+ $json = json_encode($numberFormat, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
+ file_put_contents($locale . '.json', $json);
+}
diff --git a/library/intl/src/Country/Country.php b/library/intl/src/Country/Country.php
new file mode 100644
index 000000000..5ac65fd0d
--- /dev/null
+++ b/library/intl/src/Country/Country.php
@@ -0,0 +1,168 @@
+<?php
+
+namespace CommerceGuys\Intl\Country;
+
+class Country implements CountryInterface
+{
+ /**
+ * The two-letter country code.
+ *
+ * @var string
+ */
+ protected $countryCode;
+
+ /**
+ * The country name.
+ *
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * The three-letter country code.
+ *
+ * @var string
+ */
+ protected $threeLetterCode;
+
+ /**
+ * The numeric country code.
+ *
+ * @var string
+ */
+ protected $numericCode;
+
+ /**
+ * The country telephone code.
+ *
+ * @var string
+ */
+ protected $telephoneCode;
+
+ /**
+ * The country locale (i.e. "en_US").
+ *
+ * The country name is locale specific.
+ *
+ * @var string
+ */
+ protected $locale;
+
+ /**
+ * Returns the string representation of the Country.
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->getCountryCode();
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getCountryCode()
+ {
+ return $this->countryCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setCountryCode($countryCode)
+ {
+ $this->countryCode = $countryCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setName($name)
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getThreeLetterCode()
+ {
+ return $this->threeLetterCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setThreeLetterCode($threeLetterCode)
+ {
+ $this->threeLetterCode = $threeLetterCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getNumericCode()
+ {
+ return $this->numericCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setNumericCode($numericCode)
+ {
+ $this->numericCode = $numericCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getTelephoneCode()
+ {
+ return $this->telephoneCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setTelephoneCode($telephoneCode)
+ {
+ $this->telephoneCode = $telephoneCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setLocale($locale)
+ {
+ $this->locale = $locale;
+
+ return $this;
+ }
+}
diff --git a/library/intl/src/Country/CountryInterface.php b/library/intl/src/Country/CountryInterface.php
new file mode 100644
index 000000000..245a49be9
--- /dev/null
+++ b/library/intl/src/Country/CountryInterface.php
@@ -0,0 +1,99 @@
+<?php
+
+namespace CommerceGuys\Intl\Country;
+
+interface CountryInterface
+{
+ /**
+ * Gets the two-letter country code.
+ *
+ * @return string
+ */
+ public function getCountryCode();
+
+ /**
+ * Sets the two-letter country code.
+ *
+ * @param string $countryCode The two-letter country code.
+ */
+ public function setCountryCode($countryCode);
+
+ /**
+ * Gets the country name.
+ *
+ * Note that certain locales have incomplete translations, in which
+ * case the english version of the country name is used instead.
+ *
+ * @return string
+ */
+ public function getName();
+
+ /**
+ * Sets the country name.
+ *
+ * @param string $name The country name.
+ */
+ public function setName($name);
+
+ /**
+ * Gets the three-letter country code.
+ *
+ * Note that not every country has a three-letter code.
+ * CLDR lists "Canary Islands" (IC) and "Ceuta and Melilla" (EA)
+ * as separate countries, even though they are formally a part of Spain
+ * and have no three-letter or numeric ISO codes.
+ *
+ * @return string|null
+ */
+ public function getThreeLetterCode();
+
+ /**
+ * Sets the three-letter country code.
+ *
+ * @param string $threeLetterCode The three-letter country code.
+ */
+ public function setThreeLetterCode($threeLetterCode);
+
+ /**
+ * Gets the numeric country code.
+ *
+ * The numeric code has three digits, and the first one can be a zero,
+ * hence the need to pass it around as a string.
+ *
+ * Note that not every country has a numeric code.
+ * CLDR lists "Canary Islands" (IC) and "Ceuta and Melilla" (EA)
+ * as separate countries, even though they are formally a part of Spain
+ * and have no three-letter or numeric ISO codes.
+ * "Ascension Island" (AE) also has no numeric code, even though it has a
+ * three-letter code.
+ *
+ * @return string|null
+ */
+ public function getNumericCode();
+
+ /**
+ * Sets the numeric country code.
+ *
+ * @param string $numericCode The numeric country code.
+ */
+ public function setNumericCode($numericCode);
+
+ /**
+ * Gets the country telephone code.
+ *
+ * Also known as the calling code.
+ *
+ * Note that not every country has a telephone code.
+ * Right now Tristan da Cunha (TI) is the only such example.
+ *
+ * @return string|null
+ */
+ public function getTelephoneCode();
+
+ /**
+ * Sets the country telephone code.
+ *
+ * @param string $telephoneCode The telephone code.
+ */
+ public function setTelephoneCode($telephoneCode);
+}
diff --git a/library/intl/src/Country/CountryRepository.php b/library/intl/src/Country/CountryRepository.php
new file mode 100644
index 000000000..b1fea803d
--- /dev/null
+++ b/library/intl/src/Country/CountryRepository.php
@@ -0,0 +1,124 @@
+<?php
+
+namespace CommerceGuys\Intl\Country;
+
+use CommerceGuys\Intl\LocaleResolverTrait;
+use CommerceGuys\Intl\Exception\UnknownCountryException;
+
+/**
+ * Manages countries based on JSON definitions.
+ */
+class CountryRepository implements CountryRepositoryInterface
+{
+ use LocaleResolverTrait;
+
+ /**
+ * Base country definitions.
+ *
+ * Contains data common to all locales, such as the country numeric,
+ * three-letter, telephone codes.
+ *
+ * @var array
+ */
+ protected $baseDefinitions = array();
+
+ /**
+ * Per-locale country definitions.
+ *
+ * @var array
+ */
+ protected $definitions = array();
+
+ /**
+ * Creates a CountryRepository instance.
+ *
+ * @param string $definitionPath The path to the country definitions.
+ * Defaults to 'resources/country'.
+ */
+ public function __construct($definitionPath = null)
+ {
+ $this->definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/country/';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function get($countryCode, $locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ if (!isset($definitions[$countryCode])) {
+ throw new UnknownCountryException($countryCode);
+ }
+
+ return $this->createCountryFromDefinition($definitions[$countryCode], $locale);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getAll($locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ $countries = array();
+ foreach ($definitions as $countryCode => $definition) {
+ $countries[$countryCode] = $this->createCountryFromDefinition($definition, $locale);
+ }
+
+ return $countries;
+ }
+
+ /**
+ * Loads the country definitions for the provided locale.
+ *
+ * @param string $locale The desired locale.
+ *
+ * @return array
+ */
+ protected function loadDefinitions($locale)
+ {
+ if (!isset($this->definitions[$locale])) {
+ $filename = $this->definitionPath . $locale . '.json';
+ $this->definitions[$locale] = json_decode(file_get_contents($filename), true);
+
+ // Make sure the base definitions have been loaded.
+ if (empty($this->baseDefinitions)) {
+ $this->baseDefinitions = json_decode(file_get_contents($this->definitionPath . 'base.json'), true);
+ }
+ // Merge-in base definitions.
+ foreach ($this->definitions[$locale] as $countryCode => $definition) {
+ $this->definitions[$locale][$countryCode] += $this->baseDefinitions[$countryCode];
+ }
+ }
+
+ return $this->definitions[$locale];
+ }
+
+ /**
+ * Creates a country object from the provided definition.
+ *
+ * @param array $definition The country definition.
+ * @param string $locale The locale of the country definition.
+ *
+ * @return Country
+ */
+ protected function createCountryFromDefinition(array $definition, $locale)
+ {
+ $country = new Country();
+ $country->setCountryCode($definition['code']);
+ $country->setName($definition['name']);
+ $country->setLocale($locale);
+ if (isset($definition['three_letter_code'])) {
+ $country->setThreeLetterCode($definition['three_letter_code']);
+ }
+ if (isset($definition['numeric_code'])) {
+ $country->setNumericCode($definition['numeric_code']);
+ }
+ if (isset($definition['telephone_code'])) {
+ $country->setTelephoneCode($definition['telephone_code']);
+ }
+
+ return $country;
+ }
+}
diff --git a/library/intl/src/Country/CountryRepositoryInterface.php b/library/intl/src/Country/CountryRepositoryInterface.php
new file mode 100644
index 000000000..ae1cbd0c9
--- /dev/null
+++ b/library/intl/src/Country/CountryRepositoryInterface.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace CommerceGuys\Intl\Country;
+
+/**
+ * Country repository interface.
+ */
+interface CountryRepositoryInterface
+{
+ /**
+ * Returns a country instance matching the provided country code.
+ *
+ * @param string $countryCode The country code.
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return CountryInterface
+ */
+ public function get($countryCode, $locale = null, $fallbackLocale = null);
+
+ /**
+ * Returns all available country instances.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return array An array of countries implementing the CountryInterface,
+ * keyed by country code.
+ */
+ public function getAll($locale = null, $fallbackLocale = null);
+}
diff --git a/library/intl/src/Currency/Currency.php b/library/intl/src/Currency/Currency.php
new file mode 100644
index 000000000..6138210b5
--- /dev/null
+++ b/library/intl/src/Currency/Currency.php
@@ -0,0 +1,168 @@
+<?php
+
+namespace CommerceGuys\Intl\Currency;
+
+class Currency implements CurrencyInterface
+{
+ /**
+ * The alphanumeric currency code.
+ *
+ * @var string
+ */
+ protected $currencyCode;
+
+ /**
+ * The currency name.
+ *
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * The numeric currency code.
+ *
+ * @var string
+ */
+ protected $numericCode;
+
+ /**
+ * The currency symbol.
+ *
+ * @var string
+ */
+ protected $symbol;
+
+ /**
+ * The number of fraction digits.
+ *
+ * @var int
+ */
+ protected $fractionDigits;
+
+ /**
+ * The currency locale (i.e. "en_US").
+ *
+ * The currency name and symbol are locale specific.
+ *
+ * @var string
+ */
+ protected $locale;
+
+ /**
+ * Returns the string representation of the currency.
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->getCurrencyCode();
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getCurrencyCode()
+ {
+ return $this->currencyCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setCurrencyCode($currencyCode)
+ {
+ $this->currencyCode = $currencyCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setName($name)
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getNumericCode()
+ {
+ return $this->numericCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setNumericCode($numericCode)
+ {
+ $this->numericCode = $numericCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getSymbol()
+ {
+ return $this->symbol;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setSymbol($symbol)
+ {
+ $this->symbol = $symbol;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getFractionDigits()
+ {
+ return $this->fractionDigits;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setFractionDigits($fractionDigits)
+ {
+ $this->fractionDigits = $fractionDigits;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setLocale($locale)
+ {
+ $this->locale = $locale;
+
+ return $this;
+ }
+}
diff --git a/library/intl/src/Currency/CurrencyInterface.php b/library/intl/src/Currency/CurrencyInterface.php
new file mode 100644
index 000000000..ccd03c7e0
--- /dev/null
+++ b/library/intl/src/Currency/CurrencyInterface.php
@@ -0,0 +1,82 @@
+<?php
+
+namespace CommerceGuys\Intl\Currency;
+
+interface CurrencyInterface
+{
+ /**
+ * Gets the alphabetic currency code.
+ *
+ * @return string
+ */
+ public function getCurrencyCode();
+
+ /**
+ * Sets the alphabetic currency code.
+ *
+ * @param string $currencyCode The alphabetic currency code.
+ */
+ public function setCurrencyCode($currencyCode);
+
+ /**
+ * Gets the currency name.
+ *
+ * @return string
+ */
+ public function getName();
+
+ /**
+ * Sets the currency name.
+ *
+ * @param string $name The currency name.
+ */
+ public function setName($name);
+
+ /**
+ * Gets the numeric currency code.
+ *
+ * The numeric code has three digits, and the first one can be a zero,
+ * hence the need to pass it around as a string.
+ *
+ * @return string
+ */
+ public function getNumericCode();
+
+ /**
+ * Sets the numeric currency code.
+ *
+ * @param string $numericCode The numeric currency code.
+ */
+ public function setNumericCode($numericCode);
+
+ /**
+ * Gets the currency symbol.
+ *
+ * @return string
+ */
+ public function getSymbol();
+
+ /**
+ * Sets the currency symbol.
+ *
+ * @param string $symbol The currency symbol.
+ */
+ public function setSymbol($symbol);
+
+ /**
+ * Gets the number of fraction digits.
+ *
+ * Used when rounding or formatting an amount for display.
+ * Actual storage precision can be greater.
+ *
+ * @return int
+ */
+ public function getFractionDigits();
+
+ /**
+ * Sets the number of fraction digits.
+ *
+ * @param int $fractionDigits The number of fraction digits.
+ */
+ public function setFractionDigits($fractionDigits);
+}
diff --git a/library/intl/src/Currency/CurrencyRepository.php b/library/intl/src/Currency/CurrencyRepository.php
new file mode 100644
index 000000000..84d0d4522
--- /dev/null
+++ b/library/intl/src/Currency/CurrencyRepository.php
@@ -0,0 +1,122 @@
+<?php
+
+namespace CommerceGuys\Intl\Currency;
+
+use CommerceGuys\Intl\LocaleResolverTrait;
+use CommerceGuys\Intl\Exception\UnknownCurrencyException;
+
+/**
+ * Manages currencies based on JSON definitions.
+ */
+class CurrencyRepository implements CurrencyRepositoryInterface
+{
+ use LocaleResolverTrait;
+
+ /**
+ * Base currency definitions.
+ *
+ * Contains data common to all locales, such as the currency numeric
+ * code, number of fraction digits.
+ *
+ * @var array
+ */
+ protected $baseDefinitions = array();
+
+ /**
+ * Per-locale currency definitions.
+ *
+ * @var array
+ */
+ protected $definitions = array();
+
+ /**
+ * Creates a CurrencyRepository instance.
+ *
+ * @param string $definitionPath The path to the currency definitions.
+ * Defaults to 'resources/currency'.
+ */
+ public function __construct($definitionPath = null)
+ {
+ $this->definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/currency/';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function get($currencyCode, $locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ if (!isset($definitions[$currencyCode])) {
+ throw new UnknownCurrencyException($currencyCode);
+ }
+
+ return $this->createCurrencyFromDefinition($definitions[$currencyCode], $locale);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getAll($locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ $currencies = array();
+ foreach ($definitions as $currencyCode => $definition) {
+ $currencies[$currencyCode] = $this->createCurrencyFromDefinition($definition, $locale);
+ }
+
+ return $currencies;
+ }
+
+ /**
+ * Loads the currency definitions for the provided locale.
+ *
+ * @param string $locale The desired locale.
+ *
+ * @return array
+ */
+ protected function loadDefinitions($locale)
+ {
+ if (!isset($this->definitions[$locale])) {
+ $filename = $this->definitionPath . $locale . '.json';
+ $this->definitions[$locale] = json_decode(file_get_contents($filename), true);
+
+ // Make sure the base definitions have been loaded.
+ if (empty($this->baseDefinitions)) {
+ $this->baseDefinitions = json_decode(file_get_contents($this->definitionPath . 'base.json'), true);
+ }
+ // Merge-in base definitions.
+ foreach ($this->definitions[$locale] as $currencyCode => $definition) {
+ $this->definitions[$locale][$currencyCode] += $this->baseDefinitions[$currencyCode];
+ }
+ }
+
+ return $this->definitions[$locale];
+ }
+
+ /**
+ * Creates a currency object from the provided definition.
+ *
+ * @param array $definition The currency definition.
+ * @param string $locale The locale of the currency definition.
+ *
+ * @return Currency
+ */
+ protected function createCurrencyFromDefinition(array $definition, $locale)
+ {
+ if (!isset($definition['fraction_digits'])) {
+ $definition['fraction_digits'] = 2;
+ }
+
+ $currency = new Currency();
+ $currency->setCurrencyCode($definition['code']);
+ $currency->setName($definition['name']);
+ $currency->setNumericCode($definition['numeric_code']);
+ $currency->setFractionDigits($definition['fraction_digits']);
+ $currency->setSymbol($definition['symbol']);
+ $currency->setLocale($locale);
+
+ return $currency;
+ }
+}
diff --git a/library/intl/src/Currency/CurrencyRepositoryInterface.php b/library/intl/src/Currency/CurrencyRepositoryInterface.php
new file mode 100644
index 000000000..d72fcf137
--- /dev/null
+++ b/library/intl/src/Currency/CurrencyRepositoryInterface.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace CommerceGuys\Intl\Currency;
+
+/**
+ * Currency repository interface.
+ */
+interface CurrencyRepositoryInterface
+{
+ /**
+ * Returns a currency instance matching the provided currency code.
+ *
+ * @param string $currencyCode The currency code.
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return CurrencyInterface
+ */
+ public function get($currencyCode, $locale = null, $fallbackLocale = null);
+
+ /**
+ * Returns all available currency instances.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return array An array of currencies implementing the CurrencyInterface,
+ * keyed by currency code.
+ */
+ public function getAll($locale = null, $fallbackLocale = null);
+}
diff --git a/library/intl/src/Exception/ExceptionInterface.php b/library/intl/src/Exception/ExceptionInterface.php
new file mode 100644
index 000000000..a7d17f9ab
--- /dev/null
+++ b/library/intl/src/Exception/ExceptionInterface.php
@@ -0,0 +1,7 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+interface ExceptionInterface
+{
+}
diff --git a/library/intl/src/Exception/InvalidArgumentException.php b/library/intl/src/Exception/InvalidArgumentException.php
new file mode 100644
index 000000000..afbe114a4
--- /dev/null
+++ b/library/intl/src/Exception/InvalidArgumentException.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+/**
+ * This exception is thrown when an invalid argument is passed to a method.
+ * For example, a float amount instead of the expected string amount.
+ */
+class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/library/intl/src/Exception/UnknownCountryException.php b/library/intl/src/Exception/UnknownCountryException.php
new file mode 100644
index 000000000..c89845b23
--- /dev/null
+++ b/library/intl/src/Exception/UnknownCountryException.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+/**
+ * This exception is thrown when an unknown country code is passed to the
+ * CountryRepository.
+ */
+class UnknownCountryException extends InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/library/intl/src/Exception/UnknownCurrencyException.php b/library/intl/src/Exception/UnknownCurrencyException.php
new file mode 100644
index 000000000..f94c93d8a
--- /dev/null
+++ b/library/intl/src/Exception/UnknownCurrencyException.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+/**
+ * This exception is thrown when an unknown currency code is passed to the
+ * CurrencyRepository.
+ */
+class UnknownCurrencyException extends InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/library/intl/src/Exception/UnknownLanguageException.php b/library/intl/src/Exception/UnknownLanguageException.php
new file mode 100644
index 000000000..922b42185
--- /dev/null
+++ b/library/intl/src/Exception/UnknownLanguageException.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+/**
+ * This exception is thrown when an unknown language code is passed to the
+ * LanguageRepository.
+ */
+class UnknownLanguageException extends InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/library/intl/src/Exception/UnknownLocaleException.php b/library/intl/src/Exception/UnknownLocaleException.php
new file mode 100644
index 000000000..0deca13e8
--- /dev/null
+++ b/library/intl/src/Exception/UnknownLocaleException.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace CommerceGuys\Intl\Exception;
+
+/**
+ * This exception is thrown when an unknown locale is passed to a repository.
+ */
+class UnknownLocaleException extends InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/library/intl/src/Formatter/NumberFormatter.php b/library/intl/src/Formatter/NumberFormatter.php
new file mode 100644
index 000000000..0b8e2ae59
--- /dev/null
+++ b/library/intl/src/Formatter/NumberFormatter.php
@@ -0,0 +1,406 @@
+<?php
+
+namespace CommerceGuys\Intl\Formatter;
+
+use CommerceGuys\Intl\Currency\CurrencyInterface;
+use CommerceGuys\Intl\Exception\InvalidArgumentException;
+use CommerceGuys\Intl\NumberFormat\NumberFormatInterface;
+
+/**
+ * Formats numbers using locale-specific patterns.
+ */
+class NumberFormatter implements NumberFormatterInterface
+{
+ /**
+ * The number format.
+ *
+ * @var NumberFormatInterface
+ */
+ protected $numberFormat;
+
+ /**
+ * The number pattern used to format positive numbers.
+ *
+ * @var string
+ */
+ protected $positivePattern;
+
+ /**
+ * The number pattern used to format negative numbers.
+ *
+ * @var string
+ */
+ protected $negativePattern;
+
+ /**
+ * Whether grouping is used.
+ *
+ * @var bool
+ */
+ protected $groupingUsed;
+
+ /**
+ * The size of the group of digits closest to the decimal point.
+ *
+ * @var int
+ */
+ protected $primaryGroupSize;
+
+ /**
+ * The size of every group of digits after the primary group.
+ *
+ * @var int
+ */
+ protected $secondaryGroupSize;
+
+ /**
+ * The minimum number of fraction digits to show.
+ *
+ * @var int
+ */
+ protected $minimumFractionDigits;
+
+ /**
+ * The maximum number of fraction digits to show.
+ *
+ * @var int
+ */
+ protected $maximumFractionDigits;
+
+ /**
+ * The currency display style.
+ *
+ * @var int
+ */
+ protected $currencyDisplay;
+
+ /**
+ * Localized digits.
+ *
+ * @var array
+ */
+ protected $digits = array(
+ NumberFormatInterface::NUMBERING_SYSTEM_ARABIC => array(
+ 0 => 'Ù ', 1 => 'Ù¡', 2 => 'Ù¢', 3 => 'Ù£', 4 => 'Ù¤',
+ 5 => 'Ù¥', 6 => 'Ù¦', 7 => 'Ù§', 8 => 'Ù¨', 9 => 'Ù©',
+ ),
+ NumberFormatInterface::NUMBERING_SYSTEM_ARABIC_EXTENDED => array(
+ 0 => 'Û°', 1 => 'Û±', 2 => 'Û²', 3 => 'Û³', 4 => 'Û´',
+ 5 => 'Ûµ', 6 => 'Û¶', 7 => 'Û·', 8 => 'Û¸', 9 => 'Û¹',
+ ),
+ NumberFormatInterface::NUMBERING_SYSTEM_BENGALI => array(
+ 0 => '০', 1 => '১', 2 => '২', 3 => '৩', 4 => '৪',
+ 5 => '৫', 6 => '৬', 7 => '৭', 8 => '৮', 9 => '৯',
+ ),
+ NumberFormatInterface::NUMBERING_SYSTEM_DEVANAGARI => array(
+ 0 => '०', 1 => '१', 2 => '२', 3 => '३', 4 => '४',
+ 5 => '५', 6 => '६', 7 => '७', 8 => '८', 9 => '९',
+ ),
+ );
+
+ /**
+ * Creaes a NumberFormatter instance.
+ *
+ * @param NumberFormatInterface $numberFormat The number format.
+ * @param int $style The formatting style.
+ *
+ * @throws InvalidArgumentException
+ */
+ public function __construct(NumberFormatInterface $numberFormat, $style = self::DECIMAL)
+ {
+ $availablePatterns = array(
+ self::DECIMAL => $numberFormat->getDecimalPattern(),
+ self::PERCENT => $numberFormat->getPercentPattern(),
+ self::CURRENCY => $numberFormat->getCurrencyPattern(),
+ self::CURRENCY_ACCOUNTING => $numberFormat->getAccountingCurrencyPattern(),
+ );
+ if (!array_key_exists($style, $availablePatterns)) {
+ // Unknown type.
+ throw new InvalidArgumentException('Unknown format style provided to NumberFormatter::__construct().');
+ }
+
+ // Split the selected pattern into positive and negative patterns.
+ $patterns = explode(';', $availablePatterns[$style]);
+ if (!isset($patterns[1])) {
+ // No explicit negative pattern was provided, construct it.
+ $patterns[1] = '-' . $patterns[0];
+ }
+
+ $this->numberFormat = $numberFormat;
+ $this->positivePattern = $patterns[0];
+ $this->negativePattern = $patterns[1];
+ $this->groupingUsed = (strpos($this->positivePattern, ',') !== false);
+ // This pattern has number groups, parse them.
+ if ($this->groupingUsed) {
+ preg_match('/#+0/', $this->positivePattern, $primaryGroupMatches);
+ $this->primaryGroupSize = $this->secondaryGroupSize = strlen($primaryGroupMatches[0]);
+ $numberGroups = explode(',', $this->positivePattern);
+ if (count($numberGroups) > 2) {
+ // This pattern has a distinct secondary group size.
+ $this->secondaryGroupSize = strlen($numberGroups[1]);
+ }
+ }
+
+ // Initialize the fraction digit settings for decimal and percent
+ // styles only. The currency ones will default to the currency values.
+ if (in_array($style, array(self::DECIMAL, self::PERCENT))) {
+ $this->minimumFractionDigits = 0;
+ $this->maximumFractionDigits = 3;
+ }
+ $this->currencyDisplay = self::CURRENCY_DISPLAY_SYMBOL;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function format($value)
+ {
+ if (!is_numeric($value)) {
+ $message = sprintf('The provided value "%s" must be a valid number or numeric string.', $value);
+ throw new InvalidArgumentException($message);
+ }
+
+ // Ensure that the value is positive and has the right number of digits.
+ $negative = (bccomp('0', $value, 12) == 1);
+ $signMultiplier = $negative ? '-1' : '1';
+ $value = bcdiv($value, $signMultiplier, $this->maximumFractionDigits);
+ // Split the number into major and minor digits.
+ $valueParts = explode('.', $value);
+ $majorDigits = $valueParts[0];
+ // Account for maximumFractionDigits = 0, where the number won't
+ // have a decimal point, and $valueParts[1] won't be set.
+ $minorDigits = isset($valueParts[1]) ? $valueParts[1] : '';
+
+ if ($this->groupingUsed) {
+ // Reverse the major digits, since they are grouped from the right.
+ $majorDigits = array_reverse(str_split($majorDigits));
+ // Group the major digits.
+ $groups = array();
+ $groups[] = array_splice($majorDigits, 0, $this->primaryGroupSize);
+ while (!empty($majorDigits)) {
+ $groups[] = array_splice($majorDigits, 0, $this->secondaryGroupSize);
+ }
+ // Reverse the groups and the digits inside of them.
+ $groups = array_reverse($groups);
+ foreach ($groups as &$group) {
+ $group = implode(array_reverse($group));
+ }
+ // Reconstruct the major digits.
+ $majorDigits = implode(',', $groups);
+ }
+
+ if ($this->minimumFractionDigits < $this->maximumFractionDigits) {
+ // Strip any trailing zeroes.
+ $minorDigits = rtrim($minorDigits, '0');
+ if (strlen($minorDigits) < $this->minimumFractionDigits) {
+ // Now there are too few digits, re-add trailing zeroes
+ // until the desired length is reached.
+ $neededZeroes = $this->minimumFractionDigits - strlen($minorDigits);
+ $minorDigits .= str_repeat('0', $neededZeroes);
+ }
+ }
+
+ // Assemble the final number and insert it into the pattern.
+ $value = $minorDigits ? $majorDigits . '.' . $minorDigits : $majorDigits;
+ $pattern = $negative ? $this->negativePattern : $this->positivePattern;
+ $value = preg_replace('/#(?:[\.,]#+)*0(?:[,\.][0#]+)*/', $value, $pattern);
+
+ // Localize the number.
+ $value = $this->replaceDigits($value);
+ $value = $this->replaceSymbols($value);
+
+ return $value;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function formatCurrency($value, CurrencyInterface $currency)
+ {
+ // Use the currency defaults if the values weren't set by the caller.
+ $resetMinimumFractionDigits = $resetMaximumFractionDigits = false;
+ if (!isset($this->minimumFractionDigits)) {
+ $this->minimumFractionDigits = $currency->getFractionDigits();
+ $resetMinimumFractionDigits = true;
+ }
+ if (!isset($this->maximumFractionDigits)) {
+ $this->maximumFractionDigits = $currency->getFractionDigits();
+ $resetMaximumFractionDigits = true;
+ }
+
+ // Format the decimal part of the value first.
+ $value = $this->format($value);
+
+ // Reset the fraction digit settings, so that they don't affect
+ // future formattings with different currencies.
+ if ($resetMinimumFractionDigits) {
+ $this->minimumFractionDigits = null;
+ }
+ if ($resetMaximumFractionDigits) {
+ $this->maximumFractionDigits = null;
+ }
+
+ // Determine whether to show the currency symbol or the currency code.
+ if ($this->currencyDisplay == self::CURRENCY_DISPLAY_SYMBOL) {
+ $symbol = $currency->getSymbol();
+ } else {
+ $symbol = $currency->getCurrencyCode();
+ }
+
+ return str_replace('¤', $symbol, $value);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function parseCurrency($value, CurrencyInterface $currency)
+ {
+ $replacements = array(
+ // Convert the localized symbols back to their original form.
+ $this->numberFormat->getDecimalSeparator() => '.',
+ $this->numberFormat->getPlusSign() => '+',
+ $this->numberFormat->getMinusSign() => '-',
+
+ // Strip any grouping separators, the currency code or symbol.
+ $this->numberFormat->getGroupingSeparator() => '',
+ $currency->getCurrencyCode() => '',
+ $currency->getSymbol() => '',
+
+ // Strip whitespace (spaces and non-breaking spaces).
+ ' ' => '',
+ chr(0xC2) . chr(0xA0) => '',
+ );
+ $numberingSystem = $this->numberFormat->getNumberingSystem();
+ if (isset($this->digits[$numberingSystem])) {
+ // Convert the localized digits back to latin.
+ $replacements += array_flip($this->digits[$numberingSystem]);
+ }
+
+ $value = strtr($value, $replacements);
+ if (substr($value, 0, 1) == '(' && substr($value, -1, 1) == ')') {
+ // This is an accounting formatted negative number.
+ $value = '-' . str_replace(array('(', ')'), '', $value);
+ }
+
+ return is_numeric($value) ? $value : false;
+ }
+
+ /**
+ * Replaces digits with their localized equivalents.
+ *
+ * @param string $value The value being formatted.
+ *
+ * @return string
+ */
+ protected function replaceDigits($value)
+ {
+ $numberingSystem = $this->numberFormat->getNumberingSystem();
+ if (isset($this->digits[$numberingSystem])) {
+ $value = strtr($value, $this->digits[$numberingSystem]);
+ }
+
+ return $value;
+ }
+
+ /**
+ * Replaces number symbols with their localized equivalents.
+ *
+ * @param string $value The value being formatted.
+ *
+ * @return string
+ *
+ * @see http://cldr.unicode.org/translation/number-symbols
+ */
+ protected function replaceSymbols($value)
+ {
+ $replacements = array(
+ '.' => $this->numberFormat->getDecimalSeparator(),
+ ',' => $this->numberFormat->getGroupingSeparator(),
+ '+' => $this->numberFormat->getPlusSign(),
+ '-' => $this->numberFormat->getMinusSign(),
+ '%' => $this->numberFormat->getPercentSign(),
+ );
+
+ return strtr($value, $replacements);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getNumberFormat()
+ {
+ return $this->numberFormat;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getMinimumFractionDigits()
+ {
+ return $this->minimumFractionDigits;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setMinimumFractionDigits($minimumFractionDigits)
+ {
+ $this->minimumFractionDigits = $minimumFractionDigits;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getMaximumFractionDigits()
+ {
+ return $this->maximumFractionDigits;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setMaximumFractionDigits($maximumFractionDigits)
+ {
+ $this->maximumFractionDigits = $maximumFractionDigits;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function isGroupingUsed()
+ {
+ return $this->groupingUsed;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setGroupingUsed($groupingUsed)
+ {
+ $this->groupingUsed = $groupingUsed;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getCurrencyDisplay()
+ {
+ return $this->currencyDisplay;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setCurrencyDisplay($currencyDisplay)
+ {
+ $this->currencyDisplay = $currencyDisplay;
+
+ return $this;
+ }
+}
diff --git a/library/intl/src/Formatter/NumberFormatterInterface.php b/library/intl/src/Formatter/NumberFormatterInterface.php
new file mode 100644
index 000000000..721107555
--- /dev/null
+++ b/library/intl/src/Formatter/NumberFormatterInterface.php
@@ -0,0 +1,134 @@
+<?php
+
+namespace CommerceGuys\Intl\Formatter;
+
+use CommerceGuys\Intl\Currency\CurrencyInterface;
+use CommerceGuys\Intl\NumberFormat\NumberFormatInterface;
+
+interface NumberFormatterInterface
+{
+ /* Format style constants */
+ const DECIMAL = 1;
+ const PERCENT = 2;
+ const CURRENCY = 3;
+ const CURRENCY_ACCOUNTING = 4;
+
+ /* Currency display style constants */
+ const CURRENCY_DISPLAY_SYMBOL = 1;
+ const CURRENCY_DISPLAY_CODE = 2;
+
+ /**
+ * Formats a number.
+ *
+ * Please note that the provided value should already be rounded.
+ * This formatter doesn't do any rounding of its own, and will simply
+ * truncate extra digits.
+ *
+ * @param string $value The value to format.
+ *
+ * @return string
+ */
+ public function format($value);
+
+ /**
+ * Formats a currency value.
+ *
+ * Please note that the provided value should already be rounded.
+ * This formatter doesn't do any rounding of its own, and will simply
+ * truncate extra digits.
+ *
+ * @param string $value The value to format.
+ * @param CurrencyInterface $currency The currency.
+ *
+ * @return string
+ */
+ public function formatCurrency($value, CurrencyInterface $currency);
+
+ /**
+ * Parses a formatted currency value.
+ *
+ * Commonly used in price input widgets where the end-user might
+ * input a value using digits and symbols common to their locale.
+ *
+ * @param string $value The value to parse.
+ * @param CurrencyInterface $currency The currency.
+ *
+ * @return string|false The parsed numeric value or FALSE on error.
+ */
+ public function parseCurrency($value, CurrencyInterface $currency);
+
+ /**
+ * Gets the number format.
+ *
+ * @return NumberFormatInterface
+ */
+ public function getNumberFormat();
+
+ /**
+ * Gets the minimum number of fraction digits.
+ *
+ * Defaults to 0 for decimal and percentage styles.
+ * Defaults to null for currency styles, since the currency number of
+ * fraction digits is used as the default in that case.
+ *
+ * @return int
+ */
+ public function getMinimumFractionDigits();
+
+ /**
+ * Sets the minimum number of fraction digits.
+ *
+ * @param int $minimumFractionDigits
+ */
+ public function setMinimumFractionDigits($minimumFractionDigits);
+
+ /**
+ * Gets the maximum number of fraction digits.
+ *
+ * Defaults to 3 for decimal and percentage styles.
+ * Defaults to null for currency styles, since the currency number of
+ * fraction digits is used as the default in that case.
+ *
+ * @return int
+ */
+ public function getMaximumFractionDigits();
+
+ /**
+ * Sets the maximum number of fraction digits.
+ *
+ * @param int $maximumFractionDigits
+ */
+ public function setMaximumFractionDigits($maximumFractionDigits);
+
+ /**
+ * Returns whether the major digits will be grouped.
+ *
+ * @return bool
+ */
+ public function isGroupingUsed();
+
+ /**
+ * Sets whether or not major digits should be grouped
+ *
+ * @param bool $groupingUsed
+ */
+ public function setGroupingUsed($groupingUsed);
+
+ /**
+ * Gets the currency display style.
+ *
+ * Controls whether a currency amount will be shown with the
+ * currency symbol (CURRENCY_DISPLAY_SYMBOL) or the
+ * currency code (CURRENCY_DISPLAY_CODE).
+ *
+ * @return int
+ */
+ public function getCurrencyDisplay();
+
+ /**
+ * Sets the currency display style.
+ *
+ * @param int $currencyDisplay One of the CURRENCY_DISPLAY_ constants.
+ */
+ public function setCurrencyDisplay($currencyDisplay);
+}
diff --git a/library/intl/src/Language/Language.php b/library/intl/src/Language/Language.php
new file mode 100644
index 000000000..259b57249
--- /dev/null
+++ b/library/intl/src/Language/Language.php
@@ -0,0 +1,91 @@
+<?php
+
+namespace CommerceGuys\Intl\Language;
+
+class Language implements LanguageInterface
+{
+ /**
+ * The two-letter language code.
+ *
+ * @var string
+ */
+ protected $languageCode;
+
+ /**
+ * The language name.
+ *
+ * @var string
+ */
+ protected $name;
+
+ /**
+ * The language locale (i.e. "en-US").
+ *
+ * @var string
+ */
+ protected $locale;
+
+ /**
+ * Returns the string representation of the Language.
+ *
+ * @return string
+ */
+ public function __toString()
+ {
+ return $this->getLanguageCode();
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getLanguageCode()
+ {
+ return $this->languageCode;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setLanguageCode($languageCode)
+ {
+ $this->languageCode = $languageCode;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setName($name)
+ {
+ $this->name = $name;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setLocale($locale)
+ {
+ $this->locale = $locale;
+
+ return $this;
+ }
+}
diff --git a/library/intl/src/Language/LanguageInterface.php b/library/intl/src/Language/LanguageInterface.php
new file mode 100644
index 000000000..612389142
--- /dev/null
+++ b/library/intl/src/Language/LanguageInterface.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace CommerceGuys\Intl\Language;
+
+interface LanguageInterface
+{
+ /**
+ * Gets the two-letter language code.
+ *
+ * @return string
+ */
+ public function getLanguageCode();
+
+ /**
+ * Sets the two-letter language code.
+ *
+ * @param string $languageCode The two-letter language code.
+ */
+ public function setLanguageCode($languageCode);
+
+ /**
+ * Gets the language name.
+ *
+ * Note that certain locales have incomplete translations, in which
+ * case the english version of the language name is used instead.
+ *
+ * @return string
+ */
+ public function getName();
+
+ /**
+ * Sets the language name.
+ *
+ * @param string $name The language name.
+ */
+ public function setName($name);
+}
diff --git a/library/intl/src/Language/LanguageRepository.php b/library/intl/src/Language/LanguageRepository.php
new file mode 100644
index 000000000..50335cdc0
--- /dev/null
+++ b/library/intl/src/Language/LanguageRepository.php
@@ -0,0 +1,96 @@
+<?php
+
+namespace CommerceGuys\Intl\Language;
+
+use CommerceGuys\Intl\LocaleResolverTrait;
+use CommerceGuys\Intl\Exception\UnknownLanguageException;
+
+/**
+ * Manages languages based on JSON definitions.
+ */
+class LanguageRepository implements LanguageRepositoryInterface
+{
+ use LocaleResolverTrait;
+
+ /**
+ * Per-locale language definitions.
+ *
+ * @var array
+ */
+ protected $definitions = array();
+
+ /**
+ * Creates a LanguageRepository instance.
+ *
+ * @param string $definitionPath The path to the currency definitions.
+ * Defaults to 'resources/language'.
+ */
+ public function __construct($definitionPath = null)
+ {
+ $this->definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/language/';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function get($languageCode, $locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ if (!isset($definitions[$languageCode])) {
+ throw new UnknownLanguageException($languageCode);
+ }
+
+ return $this->createLanguageFromDefinition($definitions[$languageCode], $locale);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getAll($locale = null, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ $definitions = $this->loadDefinitions($locale);
+ $languages = array();
+ foreach ($definitions as $languageCode => $definition) {
+ $languages[$languageCode] = $this->createLanguageFromDefinition($definition, $locale);
+ }
+
+ return $languages;
+ }
+
+ /**
+ * Loads the language definitions for the provided locale.
+ *
+ * @param string $locale The desired locale.
+ *
+ * @return array
+ */
+ protected function loadDefinitions($locale)
+ {
+ if (!isset($this->definitions[$locale])) {
+ $filename = $this->definitionPath . $locale . '.json';
+ $this->definitions[$locale] = json_decode(file_get_contents($filename), true);
+ }
+
+ return $this->definitions[$locale];
+ }
+
+ /**
+ * Creates a language object from the provided definition.
+ *
+ * @param array $definition The language definition.
+ * @param string $locale The locale of the language definition.
+ *
+ * @return Language
+ */
+ protected function createLanguageFromDefinition(array $definition, $locale)
+ {
+ $language = new Language();
+ $language->setLanguageCode($definition['code']);
+ $language->setName($definition['name']);
+ $language->setLocale($locale);
+
+ return $language;
+ }
+}
diff --git a/library/intl/src/Language/LanguageRepositoryInterface.php b/library/intl/src/Language/LanguageRepositoryInterface.php
new file mode 100644
index 000000000..ebdc0200a
--- /dev/null
+++ b/library/intl/src/Language/LanguageRepositoryInterface.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace CommerceGuys\Intl\Language;
+
+/**
+ * Language repository interface.
+ */
+interface LanguageRepositoryInterface
+{
+ /**
+ * Returns a language instance matching the provided language code.
+ *
+ * @param string $languageCode The language code.
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return LanguageInterface
+ */
+ public function get($languageCode, $locale = null, $fallbackLocale = null);
+
+ /**
+ * Returns all available language instances.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return array An array of language implementing the LanguageInterface,
+ * keyed by language code.
+ */
+ public function getAll($locale = null, $fallbackLocale = null);
+}
diff --git a/library/intl/src/LocaleResolverTrait.php b/library/intl/src/LocaleResolverTrait.php
new file mode 100644
index 000000000..21c463c7e
--- /dev/null
+++ b/library/intl/src/LocaleResolverTrait.php
@@ -0,0 +1,89 @@
+<?php
+
+namespace CommerceGuys\Intl;
+
+use CommerceGuys\Intl\Exception\UnknownLocaleException;
+
+trait LocaleResolverTrait
+{
+ /**
+ * The path where per-locale definitions are stored.
+ */
+ protected $definitionPath;
+
+ /**
+ * Determines which locale should be used for loading definitions.
+ *
+ * If the "bs-Cyrl-BA" locale is requested, with an "en" fallback,
+ * the system will try to find the definitions for:
+ * 1) bs-Cyrl-BA
+ * 2) bs-Cyrl
+ * 3) bs
+ * 4) en
+ * The first locale for which a definition file is found, wins.
+ * Otherwise, an exception is thrown.
+ *
+ * @param string $locale The desired locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return string
+ *
+ * @throws UnknownLocaleException
+ */
+ protected function resolveLocale($locale = null, $fallbackLocale = null)
+ {
+ if (is_null($locale)) {
+ // Use the default locale if none was provided.
+ // @todo Provide a way to override this.
+ $locale = 'en';
+ }
+ // Normalize the locale. Allows en_US to work the same as en-US, etc.
+ $locale = str_replace('_', '-', $locale);
+ // List all possible variants (i.e. en-US gives "en-US" and "en").
+ $localeVariants = $this->getLocaleVariants($locale);
+ // A fallback locale was provided, add it to the end of the chain.
+ if (isset($fallbackLocale)) {
+ $localeVariants[] = $fallbackLocale;
+ }
+
+ // Try to resolve a locale by finding a matching definition file.
+ $resolvedLocale = null;
+ foreach ($localeVariants as $localeVariant) {
+ $path = $this->definitionPath . $localeVariant . '.json';
+ if (file_exists($path)) {
+ $resolvedLocale = $localeVariant;
+ break;
+ }
+ }
+ // No locale could be resolved, stop here.
+ if (!$resolvedLocale) {
+ throw new UnknownLocaleException($locale);
+ }
+
+ return $resolvedLocale;
+ }
+
+ /**
+ * Returns all variants of a locale.
+ *
+ * For example, "bs-Cyrl-BA" has the following variants:
+ * 1) bs-Cyrl-BA
+ * 2) bs-Cyrl
+ * 3) bs
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ *
+ * @return array An array of all variants of a locale.
+ */
+ protected function getLocaleVariants($locale)
+ {
+ $localeVariants = array();
+ $localeParts = explode('-', $locale);
+ while (!empty($localeParts)) {
+ $localeVariants[] = implode('-', $localeParts);
+ array_pop($localeParts);
+ }
+
+ return $localeVariants;
+ }
+}
diff --git a/library/intl/src/NumberFormat/NumberFormat.php b/library/intl/src/NumberFormat/NumberFormat.php
new file mode 100644
index 000000000..0c512b7ab
--- /dev/null
+++ b/library/intl/src/NumberFormat/NumberFormat.php
@@ -0,0 +1,269 @@
+<?php
+
+namespace CommerceGuys\Intl\NumberFormat;
+
+class NumberFormat implements NumberFormatInterface
+{
+ /**
+ * The locale (i.e. "en_US").
+ *
+ * @var string
+ */
+ protected $locale;
+
+ /**
+ * The numbering system.
+ *
+ * @var string
+ */
+ protected $numberingSystem = array();
+
+ /**
+ * The decimal separator.
+ *
+ * @var string
+ */
+ protected $decimalSeparator = array();
+
+ /**
+ * The grouping separator.
+ *
+ * @var string
+ */
+ protected $groupingSeparator = array();
+
+ /**
+ * The plus sign.
+ *
+ * @var string
+ */
+ protected $plusSign = array();
+
+ /**
+ * The number symbols.
+ *
+ * @var string
+ */
+ protected $minusSign = array();
+
+ /**
+ * The percent sign.
+ *
+ * @var string
+ */
+ protected $percentSign = array();
+
+ /**
+ * The number pattern used to format decimal numbers.
+ *
+ * @var string
+ */
+ protected $decimalPattern;
+
+ /**
+ * The number pattern used to format percentages.
+ *
+ * @var string
+ */
+ protected $percentPattern;
+
+ /**
+ * The number pattern used to format currency amounts.
+ *
+ * @var string
+ */
+ protected $currencyPattern;
+
+ /**
+ * The number pattern used to format accounting currency amounts.
+ *
+ * @var string
+ */
+ protected $accountingCurrencyPattern;
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getLocale()
+ {
+ return $this->locale;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setLocale($locale)
+ {
+ $this->locale = $locale;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getNumberingSystem()
+ {
+ return $this->numberingSystem;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setNumberingSystem($numberingSystem)
+ {
+ $this->numberingSystem = $numberingSystem;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getDecimalSeparator()
+ {
+ return $this->decimalSeparator;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setDecimalSeparator($decimalSeparator)
+ {
+ $this->decimalSeparator = $decimalSeparator;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getGroupingSeparator()
+ {
+ return $this->groupingSeparator;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setGroupingSeparator($groupingSeparator)
+ {
+ $this->groupingSeparator = $groupingSeparator;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getPlusSign()
+ {
+ return $this->plusSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setPlusSign($plusSign)
+ {
+ $this->plusSign = $plusSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getMinusSign()
+ {
+ return $this->minusSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setMinusSign($minusSign)
+ {
+ $this->minusSign = $minusSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getPercentSign()
+ {
+ return $this->percentSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setPercentSign($percentSign)
+ {
+ $this->percentSign = $percentSign;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getDecimalPattern()
+ {
+ return $this->decimalPattern;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setDecimalPattern($decimalPattern)
+ {
+ $this->decimalPattern = $decimalPattern;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getPercentPattern()
+ {
+ return $this->percentPattern;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setPercentPattern($percentPattern)
+ {
+ $this->percentPattern = $percentPattern;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getCurrencyPattern()
+ {
+ return $this->currencyPattern;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setCurrencyPattern($currencyPattern)
+ {
+ $this->currencyPattern = $currencyPattern;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getAccountingCurrencyPattern()
+ {
+ return $this->accountingCurrencyPattern;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function setAccountingCurrencyPattern($accountingCurrencyPattern)
+ {
+ $this->accountingCurrencyPattern = $accountingCurrencyPattern;
+
+ return $this;
+ }
+}
diff --git a/library/intl/src/NumberFormat/NumberFormatInterface.php b/library/intl/src/NumberFormat/NumberFormatInterface.php
new file mode 100644
index 000000000..fa382df70
--- /dev/null
+++ b/library/intl/src/NumberFormat/NumberFormatInterface.php
@@ -0,0 +1,185 @@
+<?php
+
+namespace CommerceGuys\Intl\NumberFormat;
+
+interface NumberFormatInterface
+{
+ // Arabic-Indic digits.
+ const NUMBERING_SYSTEM_ARABIC = 'arab';
+ // Extended Arabic-Indic digits.
+ const NUMBERING_SYSTEM_ARABIC_EXTENDED = 'arabext';
+ // Bengali digits.
+ const NUMBERING_SYSTEM_BENGALI = 'beng';
+ // Devanagari digits.
+ const NUMBERING_SYSTEM_DEVANAGARI = 'deva';
+ // Latin digits
+ const NUMBERING_SYSTEM_LATIN = 'latn';
+
+ /**
+ * Gets the locale.
+ *
+ * @return string
+ */
+ public function getLocale();
+
+ /**
+ * Sets the locale.
+ *
+ * @param string $locale The locale (i.e. "en_US").
+ */
+ public function setLocale($locale);
+
+ /**
+ * Gets the numbering system.
+ *
+ * The value is one of the NUMBERING_SYSTEM_ constants.
+ *
+ * @return string
+ */
+ public function getNumberingSystem();
+
+ /**
+ * Sets the numbering system.
+ *
+ * @param string $numberingSystem One of the NUMBERING_SYSTEM_ constants.
+ */
+ public function setNumberingSystem($numberingSystem);
+
+ /**
+ * Gets the decimal separator.
+ *
+ * @return string
+ */
+ public function getDecimalSeparator();
+
+ /**
+ * Sets the decimal separator.
+ *
+ * @var string $decimalSeparator
+ */
+ public function setDecimalSeparator($decimalSeparator);
+
+ /**
+ * Gets the grouping separator.
+ *
+ * @return string
+ */
+ public function getGroupingSeparator();
+
+ /**
+ * Sets the grouping separator.
+ *
+ * @var string $groupingSeparator
+ */
+ public function setGroupingSeparator($groupingSeparator);
+
+ /**
+ * Gets the plus sign.
+ *
+ * @return string
+ */
+ public function getPlusSign();
+
+ /**
+ * Sets the plus sign.
+ *
+ * @var string $plusSign
+ */
+ public function setPlusSign($plusSign);
+
+ /**
+ * Gets the minus sign.
+ *
+ * @return string
+ */
+ public function getMinusSign();
+
+ /**
+ * Sets the minus sign.
+ *
+ * @var string $minusSign
+ */
+ public function setMinusSign($minusSign);
+
+ /**
+ * Gets the percent sign.
+ *
+ * @return string
+ */
+ public function getPercentSign();
+
+ /**
+ * Sets the percent sign.
+ *
+ * @var string $percentSign
+ */
+ public function setPercentSign($percentSign);
+
+ /**
+ * Gets the number pattern used to format decimal numbers.
+ *
+ * @return string
+ *
+ * @see http://cldr.unicode.org/translation/number-patterns
+ */
+ public function getDecimalPattern();
+
+ /**
+ * Sets the number pattern used to format decimal numbers.
+ *
+ * @param string $decimalPattern The decimal pattern.
+ */
+ public function setDecimalPattern($decimalPattern);
+
+ /**
+ * Gets the number pattern used to format percentages.
+ *
+ * @return string
+ *
+ * @see http://cldr.unicode.org/translation/number-patterns
+ */
+ public function getPercentPattern();
+
+ /**
+ * Sets the number pattern used to format percentages.
+ *
+ * @param string $percentPattern The percent pattern.
+ */
+ public function setPercentPattern($percentPattern);
+
+ /**
+ * Gets the number pattern used to format currency amounts.
+ *
+ * @return string
+ *
+ * @see http://cldr.unicode.org/translation/number-patterns
+ */
+ public function getCurrencyPattern();
+
+ /**
+ * Sets the number pattern used to format currency amounts.
+ *
+ * @param string $currencyPattern The currency pattern.
+ */
+ public function setCurrencyPattern($currencyPattern);
+
+ /**
+ * Gets the number pattern used to format accounting currency amounts.
+ *
+ * Most commonly used when formatting amounts on invoices.
+ *
+ * @return string
+ *
+ * @see http://cldr.unicode.org/translation/number-patterns
+ */
+ public function getAccountingCurrencyPattern();
+
+ /**
+ * Sets the number pattern used to format accounting currency amounts.
+ *
+ * Most commonly used when formatting amounts on invoices.
+ *
+ * @param string $accountingCurrencyPattern The accounting currency pattern.
+ */
+ public function setAccountingCurrencyPattern($accountingCurrencyPattern);
+}
diff --git a/library/intl/src/NumberFormat/NumberFormatRepository.php b/library/intl/src/NumberFormat/NumberFormatRepository.php
new file mode 100644
index 000000000..29a597906
--- /dev/null
+++ b/library/intl/src/NumberFormat/NumberFormatRepository.php
@@ -0,0 +1,87 @@
+<?php
+
+namespace CommerceGuys\Intl\NumberFormat;
+
+use CommerceGuys\Intl\LocaleResolverTrait;
+
+/**
+ * Repository for number formats based on JSON definitions.
+ */
+class NumberFormatRepository implements NumberFormatRepositoryInterface
+{
+ use LocaleResolverTrait;
+
+ /**
+ * Number format definitions.
+ *
+ * @var array
+ */
+ protected $definitions = array();
+
+ /**
+ * Creates a NumberFormatRepository instance.
+ *
+ * @param string $definitionPath The path to the number format definitions.
+ * Defaults to 'resources/number_format'.
+ */
+ public function __construct($definitionPath = null)
+ {
+ $this->definitionPath = $definitionPath ? $definitionPath : __DIR__ . '/../../resources/number_format/';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function get($locale, $fallbackLocale = null)
+ {
+ $locale = $this->resolveLocale($locale, $fallbackLocale);
+ if (!isset($this->definitions[$locale])) {
+ $filename = $this->definitionPath . $locale . '.json';
+ $this->definitions[$locale] = json_decode(file_get_contents($filename), true);
+ }
+
+ return $this->createNumberFormatFromDefinition($this->definitions[$locale], $locale);
+ }
+
+ /**
+ * Creates a number format object from the provided definition.
+ *
+ * @param array $definition The number format definition.
+ * @param string $locale The locale of the number format definition.
+ *
+ * @return NumberFormat
+ */
+ protected function createNumberFormatFromDefinition(array $definition, $locale)
+ {
+ if (!isset($definition['decimal_separator'])) {
+ $definition['decimal_separator'] = '.';
+ }
+ if (!isset($definition['grouping_separator'])) {
+ $definition['grouping_separator'] = ',';
+ }
+ if (!isset($definition['plus_sign'])) {
+ $definition['plus_sign'] = '+';
+ }
+ if (!isset($definition['minus_sign'])) {
+ $definition['minus_sign'] = '-';
+ }
+ if (!isset($definition['percent_sign'])) {
+ $definition['percent_sign'] = '%';
+ }
+
+ $numberFormat = new NumberFormat();
+ $numberFormat->setLocale($locale);
+ $numberFormat->setNumberingSystem($definition['numbering_system']);
+ $numberFormat->setDecimalSeparator($definition['decimal_separator']);
+ $numberFormat->setGroupingSeparator($definition['grouping_separator']);
+ $numberFormat->setPlusSign($definition['plus_sign']);
+ $numberFormat->setMinusSign($definition['minus_sign']);
+ $numberFormat->setPercentSign($definition['percent_sign']);
+ $numberFormat->setDecimalPattern($definition['decimal_pattern']);
+ $numberFormat->setPercentPattern($definition['percent_pattern']);
+ $numberFormat->setCurrencyPattern($definition['currency_pattern']);
+ $numberFormat->setAccountingCurrencyPattern($definition['accounting_currency_pattern']);
+
+ return $numberFormat;
+ }
+}
diff --git a/library/intl/src/NumberFormat/NumberFormatRepositoryInterface.php b/library/intl/src/NumberFormat/NumberFormatRepositoryInterface.php
new file mode 100644
index 000000000..ff162b522
--- /dev/null
+++ b/library/intl/src/NumberFormat/NumberFormatRepositoryInterface.php
@@ -0,0 +1,19 @@
+<?php
+
+namespace CommerceGuys\Intl\NumberFormat;
+
+/**
+ * Number format repository interface.
+ */
+interface NumberFormatRepositoryInterface
+{
+ /**
+ * Returns a number format instance for the provided locale.
+ *
+ * @param string $locale The locale (i.e. fr-FR).
+ * @param string $fallbackLocale A fallback locale (i.e "en").
+ *
+ * @return NumberFormatInterface
+ */
+ public function get($locale, $fallbackLocale = null);
+}
diff --git a/library/intl/tests/Country/CountryRepositoryTest.php b/library/intl/tests/Country/CountryRepositoryTest.php
new file mode 100644
index 000000000..23e1509d8
--- /dev/null
+++ b/library/intl/tests/Country/CountryRepositoryTest.php
@@ -0,0 +1,114 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests\Country;
+
+use CommerceGuys\Intl\Country\CountryRepository;
+use org\bovigo\vfs\vfsStream;
+
+/**
+ * @coversDefaultClass \CommerceGuys\Intl\Country\CountryRepository
+ */
+class CountryRepositoryTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * Base country definitions.
+ *
+ * @var array
+ */
+ protected $baseDefinitions = array(
+ 'FR' => array(
+ 'code' => 'FR',
+ 'three_letter_code' => 'FRA',
+ 'numeric_code' => '250',
+ 'telephone_code' => '33',
+ ),
+ 'US' => array(
+ 'code' => 'US',
+ 'three_letter_code' => 'USA',
+ 'numeric_code' => '840',
+ 'telephone_code' => '1',
+ ),
+ );
+
+ /**
+ * English country definitions.
+ *
+ * @var array
+ */
+ protected $englishDefinitions = array(
+ 'FR' => array(
+ 'name' => 'France',
+ ),
+ 'US' => array(
+ 'name' => 'United States',
+ ),
+ );
+
+ /**
+ * @covers ::__construct
+ */
+ public function testConstructor()
+ {
+ // Mock the existence of JSON definitions on the filesystem.
+ $root = vfsStream::setup('resources');
+ vfsStream::newFile('country/base.json')->at($root)->setContent(json_encode($this->baseDefinitions));
+ vfsStream::newFile('country/en.json')->at($root)->setContent(json_encode($this->englishDefinitions));
+
+ // Instantiate the country repository and confirm that the definition path
+ // was properly set.
+ $countryRepository = new CountryRepository('vfs://resources/country/');
+ $definitionPath = $this->getObjectAttribute($countryRepository, 'definitionPath');
+ $this->assertEquals('vfs://resources/country/', $definitionPath);
+
+ return $countryRepository;
+ }
+
+ /**
+ * @covers ::get
+ * @covers ::loadDefinitions
+ * @covers ::createCountryFromDefinition
+ * @uses \CommerceGuys\Intl\Country\Country
+ * @uses \CommerceGuys\Intl\LocaleResolverTrait
+ * @depends testConstructor
+ */
+ public function testGet($countryRepository)
+ {
+ $country = $countryRepository->get('FR');
+ $this->assertInstanceOf('CommerceGuys\\Intl\\Country\\Country', $country);
+ $this->assertEquals('FR', $country->getCountryCode());
+ $this->assertEquals('France', $country->getName());
+ $this->assertEquals('FRA', $country->getThreeLetterCode());
+ $this->assertEquals('250', $country->getNumericCode());
+ $this->assertEquals('33', $country->getTelephoneCode());
+ $this->assertEquals('en', $country->getLocale());
+ }
+
+ /**
+ * @covers ::get
+ * @covers ::loadDefinitions
+ * @uses \CommerceGuys\Intl\LocaleResolverTrait
+ * @expectedException \CommerceGuys\Intl\Exception\UnknownCountryException
+ * @depends testConstructor
+ */
+ public function testGetInvalidCountry($countryRepository)
+ {
+ $countryRepository->get('DE');
+ }
+
+ /**
+ * @covers ::getAll
+ * @covers ::loadDefinitions
+ * @covers ::createCountryFromDefinition
+ * @uses \CommerceGuys\Intl\Country\Country
+ * @uses \CommerceGuys\Intl\LocaleResolverTrait
+ * @depends testConstructor
+ */
+ public function testGetAll($countryRepository)
+ {
+ $countries = $countryRepository->getAll();
+ $this->assertArrayHasKey('FR', $countries);
+ $this->assertArrayHasKey('US', $countries);
+ $this->assertEquals('FR', $countries['FR']->getCountryCode());
+ $this->assertEquals('US', $countries['US']->getCountryCode());
+ }
+}
diff --git a/library/intl/tests/Country/CountryTest.php b/library/intl/tests/Country/CountryTest.php
new file mode 100644
index 000000000..a0b2dc116
--- /dev/null
+++ b/library/intl/tests/Country/CountryTest.php
@@ -0,0 +1,83 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests\Country;
+
+use CommerceGuys\Intl\Country\Country;
+
+/**
+ * @coversDefaultClass \CommerceGuys\Intl\Country\Country
+ */
+class CountryTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @var Country
+ */
+ protected $country;
+
+ public function setUp()
+ {
+ $this->country = new Country();
+ }
+
+ /**
+ * @covers ::getCountryCode
+ * @covers ::setCountryCode
+ * @covers ::__toString
+ */
+ public function testCountryCode()
+ {
+ $this->country->setCountryCode('US');
+ $this->assertEquals('US', $this->country->getCountryCode());
+ $this->assertEquals('US', (string) $this->country);
+ }
+
+ /**
+ * @covers ::getName
+ * @covers ::setName
+ */
+ public function testName()
+ {
+ $this->country->setName('United States');
+ $this->assertEquals('United States', $this->country->getName());
+ }
+
+ /**
+ * @covers ::getThreeLetterCode
+ * @covers ::setThreeLetterCode
+ */
+ public function testThreeLetterCode()
+ {
+ $this->country->setThreeLetterCode('USA');
+ $this->assertEquals('USA', $this->country->getThreeLetterCode());
+ }
+
+ /**
+ * @covers ::getNumericCode
+ * @covers ::setNumericCode
+ */
+ public function testNumericCode()
+ {
+ $this->country->setNumericCode('840');
+ $this->assertEquals('840', $this->country->getNumericCode());
+ }
+
+ /**
+ * @covers ::getTelephoneCode
+ * @covers ::setTelephoneCode
+ */
+ public function testTelephoneCode()
+ {
+ $this->country->setTelephoneCode('1');
+ $this->assertEquals('1', $this->country->getTelephoneCode());
+ }
+
+ /**
+ * @covers ::getLocale
+ * @covers ::setLocale
+ */
+ public function testLocale()
+ {
+ $this->country->setLocale('en');
+ $this->assertEquals('en', $this->country->getLocale());
+ }
+}
diff --git a/library/intl/tests/Currency/CurrencyRepositoryTest.php b/library/intl/tests/Currency/CurrencyRepositoryTest.php
new file mode 100644
index 000000000..4270dc70f
--- /dev/null
+++ b/library/intl/tests/Currency/CurrencyRepositoryTest.php
@@ -0,0 +1,113 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests\Currency;
+
+use CommerceGuys\Intl\Currency\CurrencyRepository;
+use org\bovigo\vfs\vfsStream;
+
+/**
+ * @coversDefaultClass \CommerceGuys\Intl\Currency\CurrencyRepository
+ */
+class CurrencyRepositoryTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * Base currency definitions.
+ *
+ * @var array
+ */
+ protected $baseDefinitions = array(
+ 'USD' => array(
+ 'code' => 'USD',
+ 'numeric_code' => '840',
+ ),
+ 'EUR' => array(
+ 'code' => 'EUR',
+ 'numeric_code' => '840',
+ 'fraction_digits' => '2',
+ ),
+ );
+
+ /**
+ * English currency definitions.
+ *
+ * @var array
+ */
+ protected $englishDefinitions = array(
+ 'USD' => array(
+ 'name' => 'US Dollar',
+ 'symbol' => '$',
+ ),
+ 'EUR' => array(
+ 'name' => 'Euro',
+ 'symbol' => '€',
+ ),
+ );
+
+ /**
+ * @covers ::__construct
+ */
+ public function testConstructor()
+ {
+ // Mock the existence of JSON definitions on the filesystem.
+ $root = vfsStream::setup('resources');
+ vfsStream::newFile('currency/base.json')->at($root)->setContent(json_encode($this->baseDefinitions));
+ vfsStream::newFile('currency/en.json')->at($root)->setContent(json_encode($this->englishDefinitions));
+
+ // Instantiate the currency repository and confirm that the definition path
+ // was properly set.
+ $currencyRepository = new CurrencyRepository('vfs://resources/currency/');
+ $definitionPath = $this->getObjectAttribute($currencyRepository, 'definitionPath');
+ $this->assertEquals('vfs://resources/currency/', $definitionPath);
+
+ return $currencyRepository;
+ }
+
+ /**
+ * @covers ::get
+ * @covers ::loadDefinitions
+ * @covers ::createCurrencyFromDefinition
+ * @uses \CommerceGuys\Intl\Currency\Currency
+ * @uses \CommerceGuys\Intl\LocaleResolverTrait
+ * @depends testConstructor
+ */
+ public function testGet($currencyRepository)
+ {
+ $currency = $currencyRepository->get('USD');
+ $this->assertInstanceOf('CommerceGuys\\Intl\\Currency\\Currency', $currency);
+ $this->assertEquals('USD', $currency->getCurrencyCode());
+ $this->assertEquals('US Dollar', $currency->getName());
+ $this->assertEquals('840', $currency->getNumericCode());
+ $this->assertEquals('2', $currency->getFractionDigits());
+ $this->assertEquals('$', $currency->getSymbol());
+ $this->assertEquals('en', $currency->getLocale());
+ }
+
+ /**
+ * @covers ::get
+ * @covers ::loadDefinitions
+ * @uses \CommerceGuys\Intl\LocaleResolverTrait
+ * @expectedException \CommerceGuys\Intl\Exception\UnknownCurrencyException
+ * @depends testConstructor
+ */
+ public function testGetInvalidCurrency($currencyRepository)
+ {
+ $currencyRepository->get('RSD');
+ }
+
+ /**
+ * @covers ::getAll
+ * @covers ::loadDefinitions
+ * @covers ::createCurrencyFromDefinition
+ * @uses \CommerceGuys\Intl\Currency\Currency
+ * @uses \CommerceGuys\Intl\LocaleResolverTrait
+ * @depends testConstructor
+ */
+ public function testGetAll($currencyRepository)
+ {
+ $currencies = $currencyRepository->getAll();
+ $this->assertArrayHasKey('USD', $currencies);
+ $this->assertArrayHasKey('EUR', $currencies);
+ $this->assertEquals('USD', $currencies['USD']->getCurrencyCode());
+ $this->assertEquals('EUR', $currencies['EUR']->getCurrencyCode());
+ }
+}
diff --git a/library/intl/tests/Currency/CurrencyTest.php b/library/intl/tests/Currency/CurrencyTest.php
new file mode 100644
index 000000000..837e4d07a
--- /dev/null
+++ b/library/intl/tests/Currency/CurrencyTest.php
@@ -0,0 +1,83 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests\Currency;
+
+use CommerceGuys\Intl\Currency\Currency;
+
+/**
+ * @coversDefaultClass \CommerceGuys\Intl\Currency\Currency
+ */
+class CurrencyTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @var Currency
+ */
+ protected $currency;
+
+ public function setUp()
+ {
+ $this->currency = new Currency();
+ }
+
+ /**
+ * @covers ::getCurrencyCode
+ * @covers ::setCurrencyCode
+ * @covers ::__toString
+ */
+ public function testCurrencyCode()
+ {
+ $this->currency->setCurrencyCode('USD');
+ $this->assertEquals('USD', $this->currency->getCurrencyCode());
+ $this->assertEquals('USD', (string) $this->currency);
+ }
+
+ /**
+ * @covers ::getName
+ * @covers ::setName
+ */
+ public function testName()
+ {
+ $this->currency->setName('US Dollar');
+ $this->assertEquals('US Dollar', $this->currency->getName());
+ }
+
+ /**
+ * @covers ::getNumericCode
+ * @covers ::setNumericCode
+ */
+ public function testNumericCode()
+ {
+ $this->currency->setNumericCode('840');
+ $this->assertEquals('840', $this->currency->getNumericCode());
+ }
+
+ /**
+ * @covers ::getFractionDigits
+ * @covers ::setFractionDigits
+ */
+ public function testFractionDigits()
+ {
+ $this->currency->setFractionDigits('2');
+ $this->assertEquals('2', $this->currency->getFractionDigits());
+ }
+
+ /**
+ * @covers ::getSymbol
+ * @covers ::setSymbol
+ */
+ public function testSymbol()
+ {
+ $this->currency->setSymbol('$');
+ $this->assertEquals('$', $this->currency->getSymbol());
+ }
+
+ /**
+ * @covers ::getLocale
+ * @covers ::setLocale
+ */
+ public function testLocale()
+ {
+ $this->currency->setLocale('en');
+ $this->assertEquals('en', $this->currency->getLocale());
+ }
+}
diff --git a/library/intl/tests/DummyRepository.php b/library/intl/tests/DummyRepository.php
new file mode 100644
index 000000000..0d9ca760b
--- /dev/null
+++ b/library/intl/tests/DummyRepository.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests;
+
+use CommerceGuys\Intl\LocaleResolverTrait;
+
+/**
+ * Dummy repository used for testing the LocaleResolverTrait.
+ */
+class DummyRepository
+{
+ use LocaleResolverTrait;
+
+ public function __construct()
+ {
+ $this->definitionPath = 'vfs://resources/dummy/';
+ }
+
+ public function runResolveLocale($locale, $fallbackLocale = null)
+ {
+ return $this->resolveLocale($locale, $fallbackLocale);
+ }
+}
diff --git a/library/intl/tests/Formatter/NumberFormatterTest.php b/library/intl/tests/Formatter/NumberFormatterTest.php
new file mode 100644
index 000000000..83574873b
--- /dev/null
+++ b/library/intl/tests/Formatter/NumberFormatterTest.php
@@ -0,0 +1,378 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests\Formatter;
+
+use CommerceGuys\Intl\Currency\Currency;
+use CommerceGuys\Intl\Formatter\NumberFormatter;
+use CommerceGuys\Intl\NumberFormat\NumberFormat;
+
+/**
+ * @coversDefaultClass \CommerceGuys\Intl\Formatter\NumberFormatter
+ */
+class NumberFormatterTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * Prepare two number formats.
+ */
+ protected $numberFormats = array(
+ 'latn' => array(
+ 'numbering_system' => 'latn',
+ 'decimal_pattern' => '#,##0.###',
+ 'percent_pattern' => '#,##0%',
+ 'currency_pattern' => '¤#,##0.00',
+ 'accounting_currency_pattern' => '¤#,##0.00;(¤#,##0.00)',
+ ),
+ 'beng' => array(
+ 'numbering_system' => 'beng',
+ 'decimal_pattern' => '#,##,##0.###',
+ 'percent_pattern' => '#,##,##0%',
+ 'currency_pattern' => '#,##,##0.00¤',
+ 'accounting_currency_pattern' => '#,##,##0.00¤;(#,##,##0.00¤)',
+ ),
+ );
+
+ /**
+ * Prepare two currency formats.
+ */
+ protected $currencies = array(
+ 'USD' => array(
+ 'code' => 'USD',
+ 'name' => 'US Dollar',
+ 'numeric_code' => '840',
+ 'symbol' => '$',
+ ),
+ 'BND' => array(
+ 'code' => 'BND',
+ 'name' => 'dollar Brunei',
+ 'numeric_code' => '096',
+ 'symbol' => 'BND',
+ ),
+ );
+
+ /**
+ * @covers ::__construct
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::getNumberFormat
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ */
+ public function testConstructor()
+ {
+ $numberFormat = new NumberFormat();
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::DECIMAL);
+ $this->assertSame($numberFormat, $formatter->getNumberFormat());
+ }
+
+ /**
+ * @covers ::__construct
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ *
+ * @expectedException \CommerceGuys\Intl\Exception\InvalidArgumentException
+ * @expectedExceptionMessage Unknown format style provided to NumberFormatter::__construct().
+ */
+ public function testConstructorWithInvalidStyle()
+ {
+ $numberFormat = new NumberFormat();
+ new NumberFormatter($numberFormat, 'foo');
+ }
+
+ /**
+ * @covers ::format
+ * @covers ::replaceDigits
+ * @covers ::replaceSymbols
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::__construct
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ *
+ * @dataProvider numberValueProvider
+ */
+ public function testFormat($number_format, $style, $value, $expected_value)
+ {
+ $formatter = new NumberFormatter($number_format, $style);
+
+ $formattedNumber = $formatter->format($value);
+ $this->assertSame($expected_value, $formattedNumber);
+ }
+
+ /**
+ * @covers ::SetMinimumFractionDigits
+ * @covers ::SetMaximumFractionDigits
+ * @covers ::format
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::__construct
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::replaceDigits
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::replaceSymbols
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ */
+ public function testFormatFractionDigits()
+ {
+ $numberFormat = $this->createNumberFormat($this->numberFormats['latn']);
+
+ $formatter = new NumberFormatter($numberFormat);
+ $formatter->setMinimumFractionDigits(2);
+ $formattedNumber = $formatter->format('12.5');
+ $this->assertSame('12.50', $formattedNumber);
+
+ $formatter = new NumberFormatter($numberFormat);
+ $formatter->setMaximumFractionDigits(1);
+ $formattedNumber = $formatter->format('12.50');
+ $this->assertSame('12.5', $formattedNumber);
+
+ $formatter = new NumberFormatter($numberFormat);
+ $formatter->setMinimumFractionDigits(4);
+ $formatter->setMaximumFractionDigits(5);
+ $formattedNumber = $formatter->format('12.50000');
+ $this->assertSame('12.5000', $formattedNumber);
+ }
+
+ /**
+ * @covers ::format
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::__construct
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::format
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ *
+ * @expectedException \CommerceGuys\Intl\Exception\InvalidArgumentException
+ */
+ public function testFormatOnlyAllowsNumbers()
+ {
+ $numberFormat = $this->createNumberFormat($this->numberFormats['latn']);
+ $formatter = new NumberFormatter($numberFormat);
+ $formatter->format('a12.34');
+ }
+
+ /**
+ * @covers ::formatCurrency
+ * @covers ::replaceSymbols
+ * @uses \CommerceGuys\Intl\Currency\Currency
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::__construct
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::format
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::replaceDigits
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ *
+ * @dataProvider currencyValueProvider
+ */
+ public function testFormatCurrency($number_format, $currency, $style, $value, $expected_value)
+ {
+ $formatter = new NumberFormatter($number_format, $style);
+
+ $formattedNumber = $formatter->formatCurrency($value, $currency);
+ $this->assertSame($expected_value, $formattedNumber);
+ }
+
+ /**
+ * @covers ::parseCurrency
+ * @uses \CommerceGuys\Intl\Currency\Currency
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::__construct
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ *
+ * @dataProvider formattedCurrencyProvider
+ */
+ public function testParseCurrency($number_format, $currency, $style, $value, $expected_value)
+ {
+ $formatter = new NumberFormatter($number_format, $style);
+
+ $parsedNumber = $formatter->parseCurrency($value, $currency);
+ $this->assertSame($expected_value, $parsedNumber);
+ }
+
+ /**
+ * @covers ::getNumberFormat
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::__construct
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ */
+ public function testGetNumberFormat()
+ {
+ $numberFormat = $this->createNumberFormat($this->numberFormats['latn']);
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::DECIMAL);
+ $this->assertSame($numberFormat, $formatter->getNumberFormat());
+ }
+
+ /**
+ * @covers ::getMinimumFractionDigits
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::__construct
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ */
+ public function testMinimumFractionDigits()
+ {
+ $numberFormat = $this->createNumberFormat($this->numberFormats['latn']);
+
+ // Defaults to 0 for decimal and percentage formats.
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::DECIMAL);
+ $this->assertEquals(0, $formatter->getMinimumFractionDigits());
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::PERCENT);
+ $this->assertEquals(0, $formatter->getMinimumFractionDigits());
+
+ // Should default to null for currency formats.
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY);
+ $this->assertNull($formatter->getMinimumFractionDigits());
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY_ACCOUNTING);
+ $this->assertNull($formatter->getMinimumFractionDigits());
+ }
+
+ /**
+ * @covers ::getMaximumFractionDigits
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::__construct
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ */
+ public function testMaximumFractionDigits()
+ {
+ $numberFormat = $this->createNumberFormat($this->numberFormats['latn']);
+
+ // Defaults to 3 for decimal and percentage formats.
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::DECIMAL);
+ $this->assertEquals(3, $formatter->getMaximumFractionDigits());
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::PERCENT);
+ $this->assertEquals(3, $formatter->getMaximumFractionDigits());
+
+ // Should default to null for currency formats.
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY);
+ $this->assertNull($formatter->getMaximumFractionDigits());
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY_ACCOUNTING);
+ $this->assertNull($formatter->getMaximumFractionDigits());
+ }
+
+ /**
+ * @covers ::isGroupingUsed
+ * @covers ::setGroupingUsed
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::__construct
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::format
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::replaceDigits
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::replaceSymbols
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ */
+ public function testGroupingUsed()
+ {
+ $numberFormat = $this->createNumberFormat($this->numberFormats['latn']);
+
+ // The formatter groups correctly.
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::DECIMAL);
+ $this->assertTrue($formatter->isGroupingUsed());
+ $this->assertSame('10,000.9', $formatter->format('10000.90'));
+
+ // The formatter respects grouping turned off.
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::DECIMAL);
+ $formatter->setGroupingUsed(false);
+ $this->assertFalse($formatter->isGroupingUsed());
+ $this->assertSame('10000.9', $formatter->format('10000.90'));
+ }
+
+ /**
+ * @covers ::getCurrencyDisplay
+ * @covers ::setCurrencyDisplay
+ * @covers ::formatCurrency
+ * @uses \CommerceGuys\Intl\Currency\Currency
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::__construct
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::format
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::replaceDigits
+ * @uses \CommerceGuys\Intl\Formatter\NumberFormatter::replaceSymbols
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ */
+ public function testCurrencyDisplay()
+ {
+ $numberFormat = $this->createNumberFormat($this->numberFormats['latn']);
+ $currency = $this->createCurrency($this->currencies['USD']);
+
+ // Currency display defaults to symbol.
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY);
+ $this->assertSame(NumberFormatter::CURRENCY_DISPLAY_SYMBOL, $formatter->getCurrencyDisplay());
+ $formattedNumber = $formatter->formatCurrency('100', $currency);
+ $this->assertSame('$100.00', $formattedNumber);
+
+ // Currency display respects setting the value to currency code.
+ $formatter = new NumberFormatter($numberFormat, NumberFormatter::CURRENCY);
+ $formatter->setCurrencyDisplay(NumberFormatter::CURRENCY_DISPLAY_CODE);
+ $this->assertSame(NumberFormatter::CURRENCY_DISPLAY_CODE, $formatter->getCurrencyDisplay());
+ $formattedNumber = $formatter->formatCurrency('100', $currency);
+ $this->assertSame('USD100.00', $formattedNumber);
+ }
+
+ /**
+ * Provides the number format, number style, value and expected formatted value.
+ */
+ public function numberValueProvider()
+ {
+ return array(
+ array($this->createNumberFormat($this->numberFormats['latn']), NumberFormatter::DECIMAL, '-50.5', '-50.5'),
+ array($this->createNumberFormat($this->numberFormats['latn']), NumberFormatter::PERCENT, '50.5', '50.5%'),
+ array($this->createNumberFormat($this->numberFormats['latn']), NumberFormatter::DECIMAL, '5000000.5', '5,000,000.5'),
+ array($this->createNumberFormat($this->numberFormats['beng'], 'bn'), NumberFormatter::DECIMAL, '-50.5', '-৫০.৫'),
+ array($this->createNumberFormat($this->numberFormats['beng'], 'bn'), NumberFormatter::PERCENT, '50.5', '৫০.৫%'),
+ array($this->createNumberFormat($this->numberFormats['beng'], 'bn'), NumberFormatter::DECIMAL, '5000000.5', '৫০,০০,০০০.৫')
+ );
+ }
+
+ /**
+ * Provides the number format, currency format, number style, value and expected formatted value.
+ */
+ public function currencyValueProvider()
+ {
+ return array(
+ array($this->createNumberFormat($this->numberFormats['latn']), $this->createCurrency($this->currencies['USD']), NumberFormatter::CURRENCY, '-5.05', '-$5.05'),
+ array($this->createNumberFormat($this->numberFormats['latn']), $this->createCurrency($this->currencies['USD']), NumberFormatter::CURRENCY_ACCOUNTING, '-5.05', '($5.05)'),
+ array($this->createNumberFormat($this->numberFormats['latn']), $this->createCurrency($this->currencies['USD']), NumberFormatter::CURRENCY, '500100.05', '$500,100.05'),
+ array($this->createNumberFormat($this->numberFormats['beng'], 'bn'), $this->createCurrency($this->currencies['BND'], 'bn'), NumberFormatter::CURRENCY, '-50.5', '-৫০.৫০BND'),
+ array($this->createNumberFormat($this->numberFormats['beng'], 'bn'), $this->createCurrency($this->currencies['BND'], 'bn'), NumberFormatter::CURRENCY_ACCOUNTING, '-50.5', '(৫০.৫০BND)'),
+ array($this->createNumberFormat($this->numberFormats['beng'], 'bn'), $this->createCurrency($this->currencies['BND'], 'bn'), NumberFormatter::CURRENCY, '500100.05', '৫,০০,১০০.০৫BND'),
+ );
+ }
+
+ /**
+ * Provides values for the formatted currency parser.
+ */
+ public function formattedCurrencyProvider()
+ {
+ return array(
+ array($this->createNumberFormat($this->numberFormats['latn']), $this->createCurrency($this->currencies['USD']), NumberFormatter::CURRENCY, '$500,100.05', '500100.05'),
+ array($this->createNumberFormat($this->numberFormats['latn']), $this->createCurrency($this->currencies['USD']), NumberFormatter::CURRENCY, '-$1,059.59', '-1059.59'),
+ array($this->createNumberFormat($this->numberFormats['latn']), $this->createCurrency($this->currencies['USD']), NumberFormatter::CURRENCY_ACCOUNTING, '($1,059.59)', '-1059.59'),
+ array($this->createNumberFormat($this->numberFormats['beng'], 'bn'), $this->createCurrency($this->currencies['BND'], 'bn'), NumberFormatter::CURRENCY, '৫,০০,১০০.০৫BND', '500100.05'),
+ );
+ }
+
+ /**
+ * Helper for initiating a new NumberFormat object.
+ */
+ protected function createNumberFormat(array $definition, $locale = 'en')
+ {
+ $default = array(
+ 'decimal_separator' => '.',
+ 'grouping_separator' => ',',
+ 'plus_sign' => '+',
+ 'minus_sign' => '-',
+ 'percent_sign' => '%'
+ );
+ $format = array_merge($default, $definition);
+
+ $numberFormat = new NumberFormat();
+ $numberFormat->setLocale($locale);
+ $numberFormat->setNumberingSystem($format['numbering_system']);
+ $numberFormat->setDecimalSeparator($format['decimal_separator']);
+ $numberFormat->setGroupingSeparator($format['grouping_separator']);
+ $numberFormat->setPlusSign($format['plus_sign']);
+ $numberFormat->setMinusSign($format['minus_sign']);
+ $numberFormat->setPercentSign($format['percent_sign']);
+ $numberFormat->setDecimalPattern($format['decimal_pattern']);
+ $numberFormat->setPercentPattern($format['percent_pattern']);
+ $numberFormat->setCurrencyPattern($format['currency_pattern']);
+ $numberFormat->setAccountingCurrencyPattern($format['accounting_currency_pattern']);
+
+ return $numberFormat;
+ }
+
+ /**
+ * Helper for initiating a new Currency object.
+ */
+ protected function createCurrency(array $definition, $locale = 'en')
+ {
+ $default = array(
+ 'fraction_digits' => 2
+ );
+ $format = array_merge($default, $definition);
+
+ $currency = new Currency();
+ $currency->setCurrencyCode($format['code']);
+ $currency->setName($format['name']);
+ $currency->setNumericCode($format['numeric_code']);
+ $currency->setFractionDigits($format['fraction_digits']);
+ $currency->setSymbol($format['symbol']);
+ $currency->setLocale($locale);
+
+ return $currency;
+ }
+}
diff --git a/library/intl/tests/Language/LanguageRepositoryTest.php b/library/intl/tests/Language/LanguageRepositoryTest.php
new file mode 100644
index 000000000..ea52cbf4c
--- /dev/null
+++ b/library/intl/tests/Language/LanguageRepositoryTest.php
@@ -0,0 +1,92 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests\Language;
+
+use CommerceGuys\Intl\Language\LanguageRepository;
+use org\bovigo\vfs\vfsStream;
+
+/**
+ * @coversDefaultClass \CommerceGuys\Intl\Language\LanguageRepository
+ */
+class LanguageRepositoryTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * English language definitions.
+ *
+ * @var array
+ */
+ protected $englishDefinitions = array(
+ 'en' => array(
+ 'code' => 'en',
+ 'name' => 'English',
+ ),
+ 'fr' => array(
+ 'code' => 'fr',
+ 'name' => 'French',
+ ),
+ );
+
+ /**
+ * @covers ::__construct
+ */
+ public function testConstructor()
+ {
+ // Mock the existence of JSON definitions on the filesystem.
+ $root = vfsStream::setup('resources');
+ vfsStream::newFile('language/en.json')->at($root)->setContent(json_encode($this->englishDefinitions));
+
+ // Instantiate the language repository and confirm that the definition path
+ // was properly set.
+ $languageRepository = new LanguageRepository('vfs://resources/language/');
+ $definitionPath = $this->getObjectAttribute($languageRepository, 'definitionPath');
+ $this->assertEquals('vfs://resources/language/', $definitionPath);
+
+ return $languageRepository;
+ }
+
+ /**
+ * @covers ::get
+ * @covers ::loadDefinitions
+ * @covers ::createLanguageFromDefinition
+ * @uses \CommerceGuys\Intl\Language\Language
+ * @uses \CommerceGuys\Intl\LocaleResolverTrait
+ * @depends testConstructor
+ */
+ public function testGet($languageRepository)
+ {
+ $language = $languageRepository->get('en');
+ $this->assertInstanceOf('CommerceGuys\\Intl\\Language\\Language', $language);
+ $this->assertEquals('en', $language->getLanguageCode());
+ $this->assertEquals('English', $language->getName());
+ $this->assertEquals('en', $language->getLocale());
+ }
+
+ /**
+ * @covers ::get
+ * @covers ::loadDefinitions
+ * @uses \CommerceGuys\Intl\LocaleResolverTrait
+ * @expectedException \CommerceGuys\Intl\Exception\UnknownLanguageException
+ * @depends testConstructor
+ */
+ public function testGetInvalidLanguage($languageRepository)
+ {
+ $languageRepository->get('de');
+ }
+
+ /**
+ * @covers ::getAll
+ * @covers ::loadDefinitions
+ * @covers ::createLanguageFromDefinition
+ * @uses \CommerceGuys\Intl\Language\Language
+ * @uses \CommerceGuys\Intl\LocaleResolverTrait
+ * @depends testConstructor
+ */
+ public function testGetAll($languageRepository)
+ {
+ $languages = $languageRepository->getAll();
+ $this->assertArrayHasKey('en', $languages);
+ $this->assertArrayHasKey('fr', $languages);
+ $this->assertEquals('en', $languages['en']->getLanguageCode());
+ $this->assertEquals('fr', $languages['fr']->getLanguageCode());
+ }
+}
diff --git a/library/intl/tests/Language/LanguageTest.php b/library/intl/tests/Language/LanguageTest.php
new file mode 100644
index 000000000..037483c88
--- /dev/null
+++ b/library/intl/tests/Language/LanguageTest.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests\Language;
+
+use CommerceGuys\Intl\Language\Language;
+
+/**
+ * @coversDefaultClass \CommerceGuys\Intl\Language\Language
+ */
+class LanguageTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @var Language
+ */
+ protected $language;
+
+ public function setUp()
+ {
+ $this->language = new Language();
+ }
+
+ /**
+ * @covers ::getLanguageCode
+ * @covers ::setLanguageCode
+ * @covers ::__toString
+ */
+ public function testLanguageCode()
+ {
+ $this->language->setLanguageCode('en');
+ $this->assertEquals('en', $this->language->getLanguageCode());
+ $this->assertEquals('en', (string) $this->language);
+ }
+
+ /**
+ * @covers ::getName
+ * @covers ::setName
+ */
+ public function testName()
+ {
+ $this->language->setName('English');
+ $this->assertEquals('English', $this->language->getName());
+ }
+
+ /**
+ * @covers ::getLocale
+ * @covers ::setLocale
+ */
+ public function testLocale()
+ {
+ $this->language->setLocale('en');
+ $this->assertEquals('en', $this->language->getLocale());
+ }
+}
diff --git a/library/intl/tests/LocaleResolverTest.php b/library/intl/tests/LocaleResolverTest.php
new file mode 100644
index 000000000..a52dea353
--- /dev/null
+++ b/library/intl/tests/LocaleResolverTest.php
@@ -0,0 +1,51 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests;
+
+use org\bovigo\vfs\vfsStream;
+
+/**
+ * @coversDefaultClass \CommerceGuys\Intl\LocaleResolverTrait
+ */
+class LocaleResolverTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @var DummyRepository
+ */
+ protected $repository;
+
+ public function setUp()
+ {
+ // Simulate the presence of various definitions.
+ $root = vfsStream::setup('resources');
+ vfsStream::newFile('dummy/bs-Cyrl.json')->at($root)->setContent('');
+ vfsStream::newFile('dummy/bs.json')->at($root)->setContent('');
+ vfsStream::newFile('dummy/en.json')->at($root)->setContent('');
+
+ $this->repository = new DummyRepository();
+ }
+
+ /**
+ * @covers ::resolveLocale
+ * @covers ::getLocaleVariants
+ */
+ public function testLocaleFallback()
+ {
+ $locale = $this->repository->runResolveLocale('bs-Cyrl-BA');
+ $this->assertEquals('bs-Cyrl', $locale);
+ $locale = $this->repository->runResolveLocale('bs-Latn-BA');
+ $this->assertEquals('bs', $locale);
+ $locale = $this->repository->runResolveLocale('de', 'en');
+ $this->assertEquals('en', $locale);
+ }
+
+ /**
+ * @covers ::resolveLocale
+ * @covers ::getLocaleVariants
+ * @expectedException \CommerceGuys\Intl\Exception\UnknownLocaleException
+ */
+ public function testInvalidLocale()
+ {
+ $locale = $this->repository->runResolveLocale('de');
+ }
+}
diff --git a/library/intl/tests/NumberFormat/NumberFormatRepositoryTest.php b/library/intl/tests/NumberFormat/NumberFormatRepositoryTest.php
new file mode 100644
index 000000000..41e45805d
--- /dev/null
+++ b/library/intl/tests/NumberFormat/NumberFormatRepositoryTest.php
@@ -0,0 +1,69 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests\NumberFormat;
+
+use CommerceGuys\Intl\NumberFormat\NumberFormatRepository;
+use org\bovigo\vfs\vfsStream;
+
+/**
+ * @coversDefaultClass \CommerceGuys\Intl\NumberFormat\NumberFormatRepository
+ */
+class NumberFormatRepositoryTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * English number format definition.
+ *
+ * @var array
+ */
+ protected $englishDefinition = array(
+ 'numbering_system' => 'latn',
+ 'decimal_pattern' => '#,##0.###',
+ 'percent_pattern' => '#,##0%',
+ 'currency_pattern' => '¤#,##0.00',
+ 'accounting_currency_pattern' => '¤#,##0.00;(¤#,##0.00)',
+ );
+
+ /**
+ * @covers ::__construct
+ */
+ public function testConstructor()
+ {
+ // Mock the existence of JSON definitions on the filesystem.
+ $root = vfsStream::setup('resources');
+ vfsStream::newFile('number_format/en.json')->at($root)->setContent(json_encode($this->englishDefinition));
+
+ // Instantiate the number format repository and confirm that the definition
+ // path was properly set.
+ $numberFormatRepository = new NumberFormatRepository('vfs://resources/number_format/');
+ $definitionPath = $this->getObjectAttribute($numberFormatRepository, 'definitionPath');
+ $this->assertEquals('vfs://resources/number_format/', $definitionPath);
+
+ return $numberFormatRepository;
+ }
+
+ /**
+ * @covers ::get
+ * @covers ::createNumberFormatFromDefinition
+ * @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
+ * @uses \CommerceGuys\Intl\LocaleResolverTrait
+ * @depends testConstructor
+ */
+ public function testGet($numberFormatRepository)
+ {
+ $numberFormat = $numberFormatRepository->get('en');
+ $this->assertInstanceOf('CommerceGuys\\Intl\\NumberFormat\\NumberFormat', $numberFormat);
+ $this->assertEquals('en', $numberFormat->getLocale());
+ $this->assertEquals('latn', $numberFormat->getNumberingSystem());
+ $this->assertEquals('.', $numberFormat->getDecimalSeparator());
+ $this->assertEquals(',', $numberFormat->getGroupingSeparator());
+ $this->assertEquals('+', $numberFormat->getPlusSign());
+ $this->assertEquals('-', $numberFormat->getMinusSign());
+ $this->assertEquals('%', $numberFormat->getPercentSign());
+ $this->assertEquals('#,##0.###', $numberFormat->getDecimalPattern());
+ $this->assertEquals('#,##0%', $numberFormat->getPercentPattern());
+ $this->assertEquals('¤#,##0.00', $numberFormat->getCurrencyPattern());
+ $this->assertEquals('¤#,##0.00;(¤#,##0.00)', $numberFormat->getAccountingCurrencyPattern());
+
+ return $numberFormat;
+ }
+}
diff --git a/library/intl/tests/NumberFormat/NumberFormatTest.php b/library/intl/tests/NumberFormat/NumberFormatTest.php
new file mode 100644
index 000000000..299dc41cb
--- /dev/null
+++ b/library/intl/tests/NumberFormat/NumberFormatTest.php
@@ -0,0 +1,131 @@
+<?php
+
+namespace CommerceGuys\Intl\Tests\NumberFormat;
+
+use CommerceGuys\Intl\NumberFormat\NumberFormat;
+
+/**
+ * @coversDefaultClass CommerceGuys\Intl\NumberFormat\NumberFormat
+ */
+class NumberFormatTest extends \PHPUnit_Framework_TestCase
+{
+ /**
+ * @var NumberFormat
+ */
+ protected $numberFormat;
+
+ public function setUp()
+ {
+ $this->numberFormat = new NumberFormat();
+ }
+
+ /**
+ * @covers ::getLocale
+ * @covers ::setLocale
+ */
+ public function testLocale()
+ {
+ $this->numberFormat->setLocale('en');
+ $this->assertEquals('en', $this->numberFormat->getLocale());
+ }
+
+ /**
+ * @covers ::getNumberingSystem
+ * @covers ::setNumberingSystem
+ */
+ public function testNumberingSystem()
+ {
+ $this->numberFormat->setNumberingSystem('latn');
+ $this->assertEquals('latn', $this->numberFormat->getNumberingSystem());
+ }
+
+ /**
+ * @covers ::getDecimalSeparator
+ * @covers ::setDecimalSeparator
+ */
+ public function testDecimalSeparator()
+ {
+ $this->numberFormat->setDecimalSeparator('.');
+ $this->assertEquals('.', $this->numberFormat->getDecimalSeparator());
+ }
+
+ /**
+ * @covers ::getGroupingSeparator
+ * @covers ::setGroupingSeparator
+ */
+ public function testGroupingSeparator()
+ {
+ $this->numberFormat->setGroupingSeparator(',');
+ $this->assertEquals(',', $this->numberFormat->getGroupingSeparator());
+ }
+
+ /**
+ * @covers ::getPlusSign
+ * @covers ::setPlusSign
+ */
+ public function testPlusSign()
+ {
+ $this->numberFormat->setPlusSign('+');
+ $this->assertEquals('+', $this->numberFormat->getPlusSign());
+ }
+
+ /**
+ * @covers ::getMinusSign
+ * @covers ::setMinusSign
+ */
+ public function testMinusSign()
+ {
+ $this->numberFormat->setMinusSign('-');
+ $this->assertEquals('-', $this->numberFormat->getMinusSign());
+ }
+
+ /**
+ * @covers ::getPercentSign
+ * @covers ::setPercentSign
+ */
+ public function testPercentSign()
+ {
+ $this->numberFormat->setPercentSign('%');
+ $this->assertEquals('%', $this->numberFormat->getPercentSign());
+ }
+
+ /**
+ * @covers ::getDecimalPattern
+ * @covers ::setDecimalPattern
+ */
+ public function testDecimalPattern()
+ {
+ $this->numberFormat->setDecimalPattern('#,##0.###');
+ $this->assertEquals('#,##0.###', $this->numberFormat->getDecimalPattern());
+ }
+
+ /**
+ * @covers ::getPercentPattern
+ * @covers ::setPercentPattern
+ */
+ public function testPercentPattern()
+ {
+ $this->numberFormat->setPercentPattern('#,##0%');
+ $this->assertEquals('#,##0%', $this->numberFormat->getPercentPattern());
+ }
+
+ /**
+ * @covers ::getCurrencyPattern
+ * @covers ::setCurrencyPattern
+ */
+ public function testCurrencyPattern()
+ {
+ $this->numberFormat->setCurrencyPattern('¤#,##0.00');
+ $this->assertEquals('¤#,##0.00', $this->numberFormat->getCurrencyPattern());
+ }
+
+ /**
+ * @covers ::getAccountingCurrencyPattern
+ * @covers ::setAccountingCurrencyPattern
+ */
+ public function testAccountingCurrencyPattern()
+ {
+ $this->numberFormat->setAccountingCurrencyPattern('¤#,##0.00;(¤#,##0.00)');
+ $this->assertEquals('¤#,##0.00;(¤#,##0.00)', $this->numberFormat->getAccountingCurrencyPattern());
+ }
+}
diff --git a/library/intl/vendor/autoload.php b/library/intl/vendor/autoload.php
new file mode 100644
index 000000000..a46461eae
--- /dev/null
+++ b/library/intl/vendor/autoload.php
@@ -0,0 +1,7 @@
+<?php
+
+// autoload.php @generated by Composer
+
+require_once __DIR__ . '/composer' . '/autoload_real.php';
+
+return ComposerAutoloaderInitdf7950dd7e2ab03f0683ccb1c2da0307::getLoader();
diff --git a/library/intl/vendor/composer/ClassLoader.php b/library/intl/vendor/composer/ClassLoader.php
new file mode 100644
index 000000000..70d78bc3f
--- /dev/null
+++ b/library/intl/vendor/composer/ClassLoader.php
@@ -0,0 +1,387 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ * Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0 class loader
+ *
+ * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
+ *
+ * $loader = new \Composer\Autoload\ClassLoader();
+ *
+ * // register classes with namespaces
+ * $loader->add('Symfony\Component', __DIR__.'/component');
+ * $loader->add('Symfony', __DIR__.'/framework');
+ *
+ * // activate the autoloader
+ * $loader->register();
+ *
+ * // to enable searching the include path (eg. for PEAR packages)
+ * $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ */
+class ClassLoader
+{
+ // PSR-4
+ private $prefixLengthsPsr4 = array();
+ private $prefixDirsPsr4 = array();
+ private $fallbackDirsPsr4 = array();
+
+ // PSR-0
+ private $prefixesPsr0 = array();
+ private $fallbackDirsPsr0 = array();
+
+ private $useIncludePath = false;
+ private $classMap = array();
+
+ public function getPrefixes()
+ {
+ if (!empty($this->prefixesPsr0)) {
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
+ }
+
+ return array();
+ }
+
+ public function getPrefixesPsr4()
+ {
+ return $this->prefixDirsPsr4;
+ }
+
+ public function getFallbackDirs()
+ {
+ return $this->fallbackDirsPsr0;
+ }
+
+ public function getFallbackDirsPsr4()
+ {
+ return $this->fallbackDirsPsr4;
+ }
+
+ public function getClassMap()
+ {
+ return $this->classMap;
+ }
+
+ /**
+ * @param array $classMap Class to filename map
+ */
+ public function addClassMap(array $classMap)
+ {
+ if ($this->classMap) {
+ $this->classMap = array_merge($this->classMap, $classMap);
+ } else {
+ $this->classMap = $classMap;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix, either
+ * appending or prepending to the ones previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 root directories
+ * @param bool $prepend Whether to prepend the directories
+ */
+ public function add($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ if ($prepend) {
+ $this->fallbackDirsPsr0 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr0
+ );
+ } else {
+ $this->fallbackDirsPsr0 = array_merge(
+ $this->fallbackDirsPsr0,
+ (array) $paths
+ );
+ }
+
+ return;
+ }
+
+ $first = $prefix[0];
+ if (!isset($this->prefixesPsr0[$first][$prefix])) {
+ $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+ return;
+ }
+ if ($prepend) {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixesPsr0[$first][$prefix]
+ );
+ } else {
+ $this->prefixesPsr0[$first][$prefix] = array_merge(
+ $this->prefixesPsr0[$first][$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace, either
+ * appending or prepending to the ones previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-0 base directories
+ * @param bool $prepend Whether to prepend the directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function addPsr4($prefix, $paths, $prepend = false)
+ {
+ if (!$prefix) {
+ // Register directories for the root namespace.
+ if ($prepend) {
+ $this->fallbackDirsPsr4 = array_merge(
+ (array) $paths,
+ $this->fallbackDirsPsr4
+ );
+ } else {
+ $this->fallbackDirsPsr4 = array_merge(
+ $this->fallbackDirsPsr4,
+ (array) $paths
+ );
+ }
+ } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+ // Register directories for a new namespace.
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ } elseif ($prepend) {
+ // Prepend directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ (array) $paths,
+ $this->prefixDirsPsr4[$prefix]
+ );
+ } else {
+ // Append directories for an already registered namespace.
+ $this->prefixDirsPsr4[$prefix] = array_merge(
+ $this->prefixDirsPsr4[$prefix],
+ (array) $paths
+ );
+ }
+ }
+
+ /**
+ * Registers a set of PSR-0 directories for a given prefix,
+ * replacing any others previously set for this prefix.
+ *
+ * @param string $prefix The prefix
+ * @param array|string $paths The PSR-0 base directories
+ */
+ public function set($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr0 = (array) $paths;
+ } else {
+ $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Registers a set of PSR-4 directories for a given namespace,
+ * replacing any others previously set for this namespace.
+ *
+ * @param string $prefix The prefix/namespace, with trailing '\\'
+ * @param array|string $paths The PSR-4 base directories
+ *
+ * @throws \InvalidArgumentException
+ */
+ public function setPsr4($prefix, $paths)
+ {
+ if (!$prefix) {
+ $this->fallbackDirsPsr4 = (array) $paths;
+ } else {
+ $length = strlen($prefix);
+ if ('\\' !== $prefix[$length - 1]) {
+ throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+ }
+ $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+ $this->prefixDirsPsr4[$prefix] = (array) $paths;
+ }
+ }
+
+ /**
+ * Turns on searching the include path for class files.
+ *
+ * @param bool $useIncludePath
+ */
+ public function setUseIncludePath($useIncludePath)
+ {
+ $this->useIncludePath = $useIncludePath;
+ }
+
+ /**
+ * Can be used to check if the autoloader uses the include path to check
+ * for classes.
+ *
+ * @return bool
+ */
+ public function getUseIncludePath()
+ {
+ return $this->useIncludePath;
+ }
+
+ /**
+ * Registers this instance as an autoloader.
+ *
+ * @param bool $prepend Whether to prepend the autoloader or not
+ */
+ public function register($prepend = false)
+ {
+ spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+ }
+
+ /**
+ * Unregisters this instance as an autoloader.
+ */
+ public function unregister()
+ {
+ spl_autoload_unregister(array($this, 'loadClass'));
+ }
+
+ /**
+ * Loads the given class or interface.
+ *
+ * @param string $class The name of the class
+ * @return bool|null True if loaded, null otherwise
+ */
+ public function loadClass($class)
+ {
+ if ($file = $this->findFile($class)) {
+ includeFile($file);
+
+ return true;
+ }
+ }
+
+ /**
+ * Finds the path to the file where the class is defined.
+ *
+ * @param string $class The name of the class
+ *
+ * @return string|false The path if found, false otherwise
+ */
+ public function findFile($class)
+ {
+ // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
+ if ('\\' == $class[0]) {
+ $class = substr($class, 1);
+ }
+
+ // class map lookup
+ if (isset($this->classMap[$class])) {
+ return $this->classMap[$class];
+ }
+
+ $file = $this->findFileWithExtension($class, '.php');
+
+ // Search for Hack files if we are running on HHVM
+ if ($file === null && defined('HHVM_VERSION')) {
+ $file = $this->findFileWithExtension($class, '.hh');
+ }
+
+ if ($file === null) {
+ // Remember that this class does not exist.
+ return $this->classMap[$class] = false;
+ }
+
+ return $file;
+ }
+
+ private function findFileWithExtension($class, $ext)
+ {
+ // PSR-4 lookup
+ $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+ $first = $class[0];
+ if (isset($this->prefixLengthsPsr4[$first])) {
+ foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-4 fallback dirs
+ foreach ($this->fallbackDirsPsr4 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 lookup
+ if (false !== $pos = strrpos($class, '\\')) {
+ // namespaced class name
+ $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+ . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+ } else {
+ // PEAR-like class name
+ $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+ }
+
+ if (isset($this->prefixesPsr0[$first])) {
+ foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+ if (0 === strpos($class, $prefix)) {
+ foreach ($dirs as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+ }
+ }
+ }
+
+ // PSR-0 fallback dirs
+ foreach ($this->fallbackDirsPsr0 as $dir) {
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+ return $file;
+ }
+ }
+
+ // PSR-0 include paths.
+ if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+ return $file;
+ }
+ }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+ include $file;
+}
diff --git a/library/intl/vendor/composer/autoload_classmap.php b/library/intl/vendor/composer/autoload_classmap.php
new file mode 100644
index 000000000..7a91153b0
--- /dev/null
+++ b/library/intl/vendor/composer/autoload_classmap.php
@@ -0,0 +1,9 @@
+<?php
+
+// autoload_classmap.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+);
diff --git a/library/intl/vendor/composer/autoload_namespaces.php b/library/intl/vendor/composer/autoload_namespaces.php
new file mode 100644
index 000000000..b7fc0125d
--- /dev/null
+++ b/library/intl/vendor/composer/autoload_namespaces.php
@@ -0,0 +1,9 @@
+<?php
+
+// autoload_namespaces.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+);
diff --git a/library/intl/vendor/composer/autoload_psr4.php b/library/intl/vendor/composer/autoload_psr4.php
new file mode 100644
index 000000000..a5a08e6c5
--- /dev/null
+++ b/library/intl/vendor/composer/autoload_psr4.php
@@ -0,0 +1,10 @@
+<?php
+
+// autoload_psr4.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+ 'CommerceGuys\\Intl\\' => array($baseDir . '/src'),
+);
diff --git a/library/intl/vendor/composer/autoload_real.php b/library/intl/vendor/composer/autoload_real.php
new file mode 100644
index 000000000..059a57bb5
--- /dev/null
+++ b/library/intl/vendor/composer/autoload_real.php
@@ -0,0 +1,50 @@
+<?php
+
+// autoload_real.php @generated by Composer
+
+class ComposerAutoloaderInitdf7950dd7e2ab03f0683ccb1c2da0307
+{
+ private static $loader;
+
+ public static function loadClassLoader($class)
+ {
+ if ('Composer\Autoload\ClassLoader' === $class) {
+ require __DIR__ . '/ClassLoader.php';
+ }
+ }
+
+ public static function getLoader()
+ {
+ if (null !== self::$loader) {
+ return self::$loader;
+ }
+
+ spl_autoload_register(array('ComposerAutoloaderInitdf7950dd7e2ab03f0683ccb1c2da0307', 'loadClassLoader'), true, true);
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader();
+ spl_autoload_unregister(array('ComposerAutoloaderInitdf7950dd7e2ab03f0683ccb1c2da0307', 'loadClassLoader'));
+
+ $map = require __DIR__ . '/autoload_namespaces.php';
+ foreach ($map as $namespace => $path) {
+ $loader->set($namespace, $path);
+ }
+
+ $map = require __DIR__ . '/autoload_psr4.php';
+ foreach ($map as $namespace => $path) {
+ $loader->setPsr4($namespace, $path);
+ }
+
+ $classMap = require __DIR__ . '/autoload_classmap.php';
+ if ($classMap) {
+ $loader->addClassMap($classMap);
+ }
+
+ $loader->register(true);
+
+ return $loader;
+ }
+}
+
+function composerRequiredf7950dd7e2ab03f0683ccb1c2da0307($file)
+{
+ require $file;
+}
diff --git a/library/jRange/.gitignore b/library/jRange/.gitignore
new file mode 100644
index 000000000..089ae868a
--- /dev/null
+++ b/library/jRange/.gitignore
@@ -0,0 +1,2 @@
+
+*.codekit
diff --git a/library/jRange/LICENSE b/library/jRange/LICENSE
new file mode 100644
index 000000000..8f47b9a63
--- /dev/null
+++ b/library/jRange/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 Nitin Hayaran
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE. \ No newline at end of file
diff --git a/library/jRange/README.md b/library/jRange/README.md
new file mode 100644
index 000000000..5cbfe6aa8
--- /dev/null
+++ b/library/jRange/README.md
@@ -0,0 +1,5 @@
+## jQuery plugin to create Range Selector
+
+![jRange Preview](http://i.imgur.com/da8uZwx.png)
+
+[Demo and Documentation](http://nitinhayaran.github.io/jRange/demo/) \ No newline at end of file
diff --git a/library/jRange/demo/index.html b/library/jRange/demo/index.html
new file mode 100644
index 000000000..ac443f11f
--- /dev/null
+++ b/library/jRange/demo/index.html
@@ -0,0 +1,245 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <title>jRange : jQuery Range Selector</title>
+ <link rel="stylesheet" href="normalize.css">
+ <link rel="stylesheet" href="main.css">
+ <link rel="stylesheet" href="prism/prism.css">
+ <link rel="stylesheet" href="../jquery.range.css">
+ <link href='http://fonts.googleapis.com/css?family=Raleway:100,300' rel='stylesheet' type='text/css'>
+ <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
+</head>
+<body>
+ <section class="pane header">
+ <div class="header">
+ <h1>jRange</h1>
+ <h2>jQuery Plugin to create Range Selector</h2>
+ </div>
+ <footer>
+ <div class="left">
+ <a href="http://twitter.com/share" class="twitter-share-button" data-url="https://github.com/nitinhayaran/jRange" data-text="jRange - jQuery plugin for Range Selector" data-count="none" data-via="nitinhayaran">Tweet</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ <iframe src="http://ghbtns.com/github-btn.html?user=nitinhayaran&amp;repo=jRange&amp;type=watch&amp;count=false&amp;size=small"
+ allowtransparency="true" frameborder="0" scrolling="0" width="62" height="20"></iframe>
+ </div>
+ <div class="right">
+ <a href="https://twitter.com/nitinhayaran" class="twitter-follow-button" data-show-count="false">Follow @nitinhayaran</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ <iframe src="http://ghbtns.com/github-btn.html?user=nitinhayaran&amp;type=follow&amp;count=true" allowtransparency="true" frameborder="0" scrolling="0" width="153" height="20"></iframe>
+ </div>
+ </footer>
+ </section>
+ <section class="body demo">
+ <div class="container">
+ <h2>See it in Action</h2>
+ <h3>Play around with the demo</h3>
+ <div class="demo-container clearfix">
+ <div class="demo-section">
+ <div class="demo-code">
+ <pre><code class="language-javascript">$('.single-slider').jRange({
+ from: 0,
+ to: 100,
+ step: 1,
+ scale: [0,50,100],
+ format: '%s',
+ width: 300,
+ showLabels: true
+});</code></pre>
+ </div>
+ <div class="demo-output">
+ <input class="single-slider" type="hidden" value="25"/>
+ </div>
+ </div>
+ <div class="demo-section">
+ <div class="demo-code">
+ <pre><code class="language-javascript">$('.range-slider').jRange({
+ from: 0,
+ to: 100,
+ step: 1,
+ scale: [0,25,50,75,100],
+ format: '%s',
+ width: 300,
+ showLabels: true,
+ isRange : true
+});</code></pre>
+ </div>
+ <div class="demo-output">
+ <input class="range-slider" type="hidden" value="25,75"/>
+ </div>
+ </div>
+
+
+ </div>
+ <div class="text-container">
+ <h2>How to Use</h2>
+ <h3>Lets see some code</h3>
+ <p>To get started you'll have to include <code>jquery.range.js</code> and <code>jquery.range.css</code> files in your html file.</p>
+ <pre><code class="language-css">&lt;link rel="stylesheet" href="jquery.range.css"&gt;
+&lt;script src="jquery.range.js"&gt;&lt;/script&gt;</code></pre>
+ <p>Later just add an hidden input, where ever you want this slider to be shown.</p>
+ <pre><code class="language-css">&lt;input type="hidden" class="slider-input" value="23" /&gt;</code></pre>
+ <p>After this you'll have to intialize this plugin for that input, as shown in the example above</p>
+
+ <h2>Options</h2>
+ <h3>See configuration options</h3>
+ <p>Options can also be set programatically, by passing an options hash to the jRange method.
+ <table class="plugin-options" width='900'>
+ <tr>
+ <th>Option</th>
+ <th width="200">Override</th>
+ <th>Type</th>
+ <th>Details</th>
+ </tr>
+ <tr>
+ <td>from</td>
+ <td>Mandatory</td>
+ <td>Integer</td>
+ <td>Lower bound of slider</td>
+ </tr>
+ <tr>
+ <td>to</td>
+ <td>Mandatory</td>
+ <td>Integer</td>
+ <td>Upper bound of slider</td>
+ </tr>
+ <tr>
+ <td>step</td>
+ <td>Optional</td>
+ <td>Integer</td>
+ <td>
+ <code>Default : 1</code>
+ <p>amount of increment on each step</p>
+ </td>
+ </tr>
+ <tr>
+ <td>scale</td>
+ <td>Optional</td>
+ <td>Array</td>
+ <td>
+ <p>Array containing label which are shown below the slider. By default its [from, to].</p>
+ </td>
+ </tr>
+ <tr>
+ <td>showLabels</td>
+ <td>Optional</td>
+ <td>Boolean</td>
+ <td>
+ <p>False, if you'd like to hide label which are shown on top of slider.</p>
+ <code>Default : true</code>
+ </td>
+ </tr>
+ <tr>
+ <td>showScale</td>
+ <td>Optional</td>
+ <td>Boolean</td>
+ <td>
+ <p>False, if you'd like to hide scale which are shown below the slider.</p>
+ <code>Default : true</code>
+ </td>
+ </tr>
+ <tr>
+ <td>format</td>
+ <td>Optional</td>
+ <td>String / Function</td>
+ <td>
+ <p>this is used to show label on the pointer</p>
+ <code>Default : "%s"</code>
+ <p><code>String</code> : %s is replaced by its value, e.g., "%s days", "%s goats"</p>
+ <p>
+ <code>Function</code> : format(value, pointer)
+ <br>
+ <code>return</code> : string label for a given value and pointer. <br>
+ <code>pointer</code> could be 'low'/'high' if <code>isRange</code> is true, else undefined
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>width</td>
+ <td>Optional</td>
+ <td>Integer</td>
+ <td>
+ <code>Default : 300</code>
+ </td>
+ </tr>
+ <tr>
+ <td>theme</td>
+ <td>Optional</td>
+ <td>String</td>
+ <td>
+ <code>Default : "theme-green"</code>
+ <p>This is the css class name added to the container. Available themes are "theme-blue", "theme-green". You can also add more themes, just like in <code>jquery.range.less</code></p>
+ </td>
+ </tr>
+ <tr>
+ <td>isRange</td>
+ <td>Optional</td>
+ <td>Boolean</td>
+ <td>
+ <code>Default : false</code>
+ <p>True if this is a range selector. If its a range the value of hidden input will be set comma-seperated, e.g., "25,75"</p>
+ </td>
+ </tr>
+ <tr>
+ <td>onstatechange</td>
+ <td>Optional</td>
+ <td>Function</td>
+ <td>
+ <p>This function is called whenever the value is changed by user. This same value is also automatically set for the provided Hidden Input.</p>
+ <p>For single slider value is without comma, however for a range selector value is comma-seperated.</p>
+ </td>
+ </tr>
+ </table>
+
+ <div class="footer">
+ <a href="https://github.com/nitinhayaran/jRange" class="large-github">Get it from Github</a>
+ </div>
+ </div>
+ </div>
+ </section>
+ <section class="footer">
+ <div class="text-container clearfix">
+ <div class="left">
+ <p>
+ <a href="https://twitter.com/nitinhayaran" class="twitter-follow-button" data-show-count="false">Follow @nitinhayaran</a>
+ <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
+ </p>
+ <p><iframe src="http://ghbtns.com/github-btn.html?user=nitinhayaran&amp;type=follow&amp;count=true" allowtransparency="true" frameborder="0" scrolling="0" width="153" height="20"></iframe></p>
+ </div>
+ <div class="right">
+ <p><a href="https://github.com/nitinhayaran/jRange">jRange</a> is authored and maintained by <a href="https://github.com/nitinhayaran/">@nitinhayaran</a></p>
+ <p>
+ Released under the <a href="http://www.opensource.org/licenses/mit-license.php">MIT
+ License</a>
+ </p>
+ </div>
+ </div>
+ </section>
+ <script src="prism/prism.js"></script>
+
+ <script src="../jquery.range.js"></script>
+ <script type="text/javascript">
+ $(document).ready(function(){
+ $('.single-slider').jRange({
+ from: 0,
+ to: 100,
+ step: 1,
+ scale: [0,25,50,75,100],
+ format: '%s',
+ width: 300,
+ showLabels: true
+ });
+ $('.range-slider').jRange({
+ from: 0,
+ to: 100,
+ step: 1,
+ scale: [0,25,50,75,100],
+ format: '%s',
+ width: 300,
+ showLabels: true,
+ isRange : true
+ });
+ });
+ </script>
+</body>
+</html> \ No newline at end of file
diff --git a/library/jRange/demo/main.css b/library/jRange/demo/main.css
new file mode 100644
index 000000000..1e29a98af
--- /dev/null
+++ b/library/jRange/demo/main.css
@@ -0,0 +1,289 @@
+html,
+body {
+ height: 100%;
+ width: 100%;
+}
+body {
+ font-family: Helvetica Neue, Helvetica, Arial sans-serif;
+ font-size: 16px;
+ line-height: 1.6;
+ color: #434343;
+}
+a {
+ text-decoration: none;
+}
+pre code {
+ line-height: 1.5;
+}
+.container {
+ width: 1130px;
+ padding: 0 20px;
+ margin: 0px auto;
+}
+.text-container {
+ width: 900px;
+ position: relative;
+ margin: 0px auto;
+}
+.clearfix:after {
+ content: " ";
+ /* Older browser do not support empty content */
+ visibility: hidden;
+ display: block;
+ height: 0;
+ clear: both;
+}
+.pane {
+ position: relative;
+ width: 100%;
+ height: 50%;
+ min-height: 450px;
+}
+.body {
+ position: relative;
+}
+section.header {
+ background-color: #606c88;
+ background: -webkit-linear-gradient(90deg, #606c88 10%, #3f4c6b 90%);
+ /* Chrome 10+, Saf5.1+ */
+ background: -moz-linear-gradient(90deg, #606c88 10%, #3f4c6b 90%);
+ /* FF3.6+ */
+ background: -ms-linear-gradient(90deg, #606c88 10%, #3f4c6b 90%);
+ /* IE10 */
+ background: -o-linear-gradient(90deg, #606c88 10%, #3f4c6b 90%);
+ /* Opera 11.10+ */
+ background: linear-gradient(90deg, #606c88 10%, #3f4c6b 90%);
+ /* W3C */
+}
+section.header footer {
+ position: absolute;
+ width: 100%;
+ bottom: 0;
+ padding: 10px 30px;
+ box-sizing: border-box;
+}
+.left {
+ float: left;
+ text-align: left;
+}
+.right {
+ float: right;
+ text-align: right;
+}
+div.header {
+ color: #fff;
+ width: 600px;
+ text-align: center;
+ position: absolute;
+ top: 40%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ border-radius: 5px;
+}
+div.header h1,
+div.header h2 {
+ font-family: 'Raleway' sans-serif;
+ font-weight: 100;
+ line-height: 1;
+ margin: 0;
+}
+div.header h1 {
+ font-size: 72px;
+ margin-bottom: 25px;
+}
+section.demo h2,
+section.demo h3 {
+ font-family: 'Raleway' sans-serif;
+ font-weight: 300;
+ line-height: 1;
+ margin: 0;
+ text-align: center;
+}
+section.demo h2 {
+ font-size: 48px;
+ margin-top: 1em;
+}
+section.demo h3 {
+ font-size: 28px;
+ margin: 0.8em 0 1em;
+}
+section.demo .demo-container {
+ margin: 40px 0 80px;
+}
+section.demo .demo-section {
+ margin: 20px 0;
+ clear: both;
+}
+section.demo .demo-section .demo-code {
+ width: 50%;
+ float: left;
+}
+section.demo .demo-section .demo-output {
+ margin-left: 50%;
+ padding: 50px 0;
+}
+section.demo .demo-section .slider-container {
+ margin: 0 auto;
+}
+section.demo .text-container h2 {
+ margin-top: 3em;
+}
+section.demo .form-vertical {
+ width: 200px;
+ float: left;
+}
+section.demo .image-container {
+ margin-left: 200px;
+ padding: 1px;
+ border: 1px solid #eee;
+}
+section.demo .form-group {
+ margin-bottom: 20px;
+}
+section.demo label {
+ color: #999;
+ font-size: 13px;
+ display: block;
+}
+section.demo input {
+ width: 150px;
+ margin-top: 3px;
+ border: 1px solid #999;
+ border-width: 0 0 1px 0;
+ padding: 3px 0 3px;
+ transition: 0.3s all;
+}
+section.demo input:focus,
+section.demo input:active {
+ outline: none;
+ border-color: #2fc7ff;
+ box-shadow: 0 1px 3px -3px #2fc7ff;
+ color: #000;
+}
+section.demo button {
+ position: relative;
+ overflow: visible;
+ display: inline-block;
+ padding: 0.3em 1em;
+ border: 1px solid #d4d4d4;
+ margin: 0;
+ text-decoration: none;
+ text-align: center;
+ text-shadow: 1px 1px 0 #fff;
+ font-size: 12px;
+ color: #333;
+ white-space: nowrap;
+ cursor: pointer;
+ outline: none;
+ background-color: #ececec;
+ background-image: linear-gradient(#f4f4f4, #ececec);
+ background-clip: padding-box;
+ border-radius: 0.2em;
+ zoom: 1;
+ transition: background-image 0.3s;
+}
+section.demo button:hover,
+section.demo button:active {
+ border-color: #3072b3;
+ border-bottom-color: #2a65a0;
+ text-decoration: none;
+ text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
+ color: #fff;
+ background-color: #3c8dde;
+ background-image: linear-gradient(#599bdc, #3072b3);
+}
+section.demo p {
+ font-family: 'Raleway' sans-serif;
+ margin: 1em auto;
+}
+section.demo .footer {
+ margin-top: 80px;
+ text-align: center;
+}
+section.demo .large-github {
+ display: inline-block;
+ border: 1px solid #21b0ff;
+ font-weight: 400;
+ font-family: 'Raleway' sans-serif;
+ text-shadow: none;
+ background-color: #fff;
+ background-image: none;
+ padding: 8px 25px;
+ color: #21b0ff;
+ font-size: 18px;
+ border-radius: 25px;
+}
+section.demo .large-github:hover,
+section.demo .large-github:active {
+ background-color: #21b0ff;
+ color: #fff;
+ background-image: none;
+ text-shadow: none;
+}
+.two-coloumn em {
+ font-weight: normal;
+ text-decoration: none;
+ font-style: normal;
+ display: inline-block;
+ width: 85px;
+}
+.plugin-options {
+ font-size: 14px;
+ margin-bottom: 40px;
+ width: 900px;
+ font-weight: 200;
+}
+.plugin-options td,
+.plugin-options th {
+ padding: 8px ;
+ text-align: left;
+ vertical-align: top;
+}
+.plugin-options td:first-child,
+.plugin-options th:first-child {
+ font-weight: bold;
+}
+.plugin-options td:nth-child(2),
+.plugin-options td:nth-child(3) {
+ font-size: 13px;
+ color: #999;
+}
+.plugin-options td p {
+ font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
+ margin: 4px 0;
+}
+.plugin-options td p:first-child {
+ margin-top: 0;
+}
+.plugin-options th {
+ background-color: #358ccb;
+ color: #fff;
+}
+.plugin-options tr:nth-child(2n + 1) td {
+ background-color: #f5f5f5;
+}
+.plugin-options small {
+ display: block;
+}
+.plugin-options ul {
+ list-style: none;
+ padding: 0;
+}
+.plugin-options ul ul {
+ list-style: circle inside;
+}
+section.footer {
+ margin-top: 80px;
+ padding: 30px;
+ text-align: center;
+ background-color: #333;
+ color: #999;
+ font-weight: 300;
+ font-size: 13px;
+}
+section.footer p {
+ margin: 5px 0;
+}
+section.footer a {
+ color: #fff;
+}
diff --git a/library/jRange/demo/main.less b/library/jRange/demo/main.less
new file mode 100644
index 000000000..e9ee232a1
--- /dev/null
+++ b/library/jRange/demo/main.less
@@ -0,0 +1,296 @@
+@font-family: 'Raleway' sans-serif;
+html, body{
+ height: 100%;
+ width: 100%;
+}
+body{
+ font-family: Helvetica Neue, Helvetica, Arial sans-serif;
+ font-size: 16px;
+ line-height: 1.6;
+ color: #434343;
+}
+a{
+ text-decoration: none;
+}
+pre code{
+ line-height: 1.5;
+}
+.container{
+ width: 1130px;
+ padding: 0 20px;
+ margin: 0px auto;
+}
+.text-container{
+ width: 900px;
+ position: relative;
+ margin: 0px auto;
+}
+.clearfix:after {
+ content: " "; /* Older browser do not support empty content */
+ visibility: hidden;
+ display: block;
+ height: 0;
+ clear: both;
+}
+.pane{
+ position: relative;
+ width: 100%;
+ height: 50%;
+ min-height: 450px;
+}
+.body{
+ position: relative;
+}
+section.header{
+ background-color: #606c88;
+
+ background: -webkit-linear-gradient(90deg, #606c88 10%, #3f4c6b 90%); /* Chrome 10+, Saf5.1+ */
+ background: -moz-linear-gradient(90deg, #606c88 10%, #3f4c6b 90%); /* FF3.6+ */
+ background: -ms-linear-gradient(90deg, #606c88 10%, #3f4c6b 90%); /* IE10 */
+ background: -o-linear-gradient(90deg, #606c88 10%, #3f4c6b 90%); /* Opera 11.10+ */
+ background: linear-gradient(90deg, #606c88 10%, #3f4c6b 90%); /* W3C */
+
+ // background-image: radial-gradient(50% 102%, #3cb3db 48%, #2e6c9a 100%);
+ footer{
+ position: absolute;
+ width: 100%;
+ bottom: 0;
+ padding: 10px 30px;
+ box-sizing: border-box;
+ }
+}
+.left{
+ float: left;
+ text-align: left;
+}
+.right{
+ float: right;
+ text-align: right;
+}
+div.header{
+ color: #fff;
+ width: 600px;
+ text-align: center;
+ position: absolute;
+ top: 40%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ // background-color: #333;
+ border-radius: 5px;
+ h1, h2{
+ font-family: @font-family;
+ font-weight: 100;
+ line-height: 1;
+ margin: 0;
+ }
+ h1{
+ font-size: 72px;
+ margin-bottom: 25px;
+ }
+}
+section.demo{
+ h2, h3{
+ font-family: @font-family;
+ font-weight: 300;
+ line-height: 1;
+ margin: 0;
+ text-align: center;
+ }
+ h2{
+ font-size: 48px;
+ margin-top: 1em;
+ }
+ h3{
+ font-size: 28px;
+ margin: 0.8em 0 1em;
+ }
+ .demo-container{
+ margin: 40px 0 80px;
+ }
+ .demo-section{
+ margin: 20px 0;
+ clear: both;
+ .demo-code{
+ width: 50%;
+ float: left;
+ }
+ .demo-output{
+ margin-left: 50%;
+ padding: 50px 0;
+ }
+ .slider-container{
+ margin: 0 auto;
+ }
+ }
+ .text-container{
+ h2{
+ margin-top: 3em;
+ }
+ }
+ .form-vertical{
+ width: 200px;
+ float: left;
+ }
+ .image-container{
+ margin-left: 200px;
+ padding: 1px;
+ border: 1px solid #eee;
+ // background-color: #333;
+ }
+ .form-group{
+ margin-bottom: 20px;
+ }
+ label{
+ color: #999;
+ font-size: 13px;
+ display: block;
+ }
+ input{
+ width: 150px;
+ margin-top: 3px;
+ // border-radius: 2px;
+ border: 1px solid #999;
+ border-width: 0 0 1px 0;
+ padding: 3px 0 3px;
+ transition: 0.3s all;
+ // color: #999;
+ &:focus, &:active{
+ outline: none;
+ border-color: #2fc7ff;
+ box-shadow: 0 1px 3px -3px #2fc7ff;
+ color: #000;
+ }
+ }
+ button{
+ position: relative;
+ overflow: visible;
+ display: inline-block;
+ padding: 0.3em 1em;
+ border: 1px solid #d4d4d4;
+ margin: 0;
+ text-decoration: none;
+ text-align: center;
+ text-shadow: 1px 1px 0 #fff;
+ font-size: 12px;
+ color: #333;
+ white-space: nowrap;
+ cursor: pointer;
+ outline: none;
+ background-color: #ececec;
+ background-image: linear-gradient(#f4f4f4, #ececec);
+ background-clip: padding-box;
+ border-radius: 0.2em;
+ zoom: 1;
+ transition: background-image 0.3s;
+ &:hover, &:active{
+ border-color: #3072b3;
+ border-bottom-color: #2a65a0;
+ text-decoration: none;
+ text-shadow: -1px -1px 0 rgba(0,0,0,0.3);
+ color: #fff;
+ background-color: #3c8dde;
+ background-image: linear-gradient(#599bdc, #3072b3);
+ }
+ }
+ p{
+ font-family: @font-family;
+ margin: 1em auto;
+ }
+ .footer{
+ margin-top: 80px;
+ text-align: center;
+ }
+ .large-github{
+ display: inline-block;
+ border: 1px solid #21b0ff;
+ font-weight: 400;
+ font-family: @font-family;
+ text-shadow: none;
+ background-color: #fff;
+ background-image: none;
+ padding: 8px 25px;
+ color: #21b0ff;
+ font-size: 18px;
+ border-radius: 25px;
+ &:hover, &:active{
+ background-color: #21b0ff;
+ color: #fff;
+ background-image: none;
+ text-shadow: none;
+ }
+ }
+}
+.two-coloumn{
+ em{
+ font-weight: normal;
+ text-decoration: none;
+ font-style: normal;
+ display: inline-block;
+ width: 85px;
+ }
+}
+.plugin-options{
+ font-size: 14px;
+ margin-bottom: 40px;
+ width: 900px;
+ font-weight: 200;
+ td, th{
+ padding: 8px ;
+ text-align: left;
+ vertical-align: top;
+ &:first-child{
+ font-weight: bold;
+ }
+ }
+ td{
+ &:nth-child(2), &:nth-child(3){
+ font-size: 13px;
+ color: #999;
+ }
+ p{
+ font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
+ margin: 4px 0;
+ &:first-child{
+ margin-top: 0;
+ }
+ }
+ }
+ th{
+ background-color: #358ccb;
+ color: #fff;
+ }
+ tr{
+ &:nth-child(2n + 1){
+ td{
+ background-color: #f5f5f5;
+ }
+ }
+ }
+ small{
+ display: block;
+ // white-space: nowrap;
+ }
+ ul{
+ list-style: none;
+ padding: 0;
+ ul{
+ list-style: circle inside;
+ // padding-left: 25px;
+ }
+ }
+}
+section.footer{
+ margin-top: 80px;
+ padding: 30px;
+ text-align: center;
+ background-color: #333;
+ color: #999;
+ font-weight: 300;
+ font-size: 13px;
+ p{
+ margin: 5px 0;
+ }
+ a{
+ color: #fff;
+ }
+} \ No newline at end of file
diff --git a/library/jRange/demo/normalize.css b/library/jRange/demo/normalize.css
new file mode 100644
index 000000000..08f895079
--- /dev/null
+++ b/library/jRange/demo/normalize.css
@@ -0,0 +1,425 @@
+/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Remove default margin.
+ */
+
+body {
+ margin: 0;
+}
+
+/* HTML5 display definitions
+ ========================================================================== */
+
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+
+audio,
+canvas,
+progress,
+video {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+
+[hidden],
+template {
+ display: none;
+}
+
+/* Links
+ ========================================================================== */
+
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+a {
+ background: transparent;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+
+b,
+strong {
+ font-weight: bold;
+}
+
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+
+dfn {
+ font-style: italic;
+}
+
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+
+mark {
+ background: #ff0;
+ color: #000;
+}
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sup {
+ top: -0.5em;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+
+img {
+ border: 0;
+}
+
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+
+svg:not(:root) {
+ overflow: hidden;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+
+figure {
+ margin: 1em 40px;
+}
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+
+hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+}
+
+/**
+ * Contain overflow in all browsers.
+ */
+
+pre {
+ overflow: auto;
+}
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit; /* 1 */
+ font: inherit; /* 2 */
+ margin: 0; /* 3 */
+}
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+
+button {
+ overflow: visible;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+input {
+ line-height: normal;
+}
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+
+optgroup {
+ font-weight: bold;
+}
+
+/* Tables
+ ========================================================================== */
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+td,
+th {
+ padding: 0;
+}
diff --git a/library/jRange/demo/prism/prism.css b/library/jRange/demo/prism/prism.css
new file mode 100644
index 000000000..afc94b354
--- /dev/null
+++ b/library/jRange/demo/prism/prism.css
@@ -0,0 +1,193 @@
+/* http://prismjs.com/download.html?themes=prism-coy&languages=markup+css+css-extras+clike+javascript */
+/**
+ * prism.js Coy theme for JavaScript, CoffeeScript, CSS and HTML
+ * Based on https://github.com/tshedor/workshop-wp-theme (Example: http://workshop.kansan.com/category/sessions/basics or http://workshop.timshedor.com/category/sessions/basics);
+ * @author Tim Shedor
+ */
+
+code[class*="language-"],
+pre[class*="language-"] {
+ color: black;
+ font-family: Consolas, Monaco, 'Andale Mono', monospace;
+ direction: ltr;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+ position:relative;
+ padding: 1em;
+ margin: .5em 0;
+ -webkit-box-shadow: -1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf;
+ -moz-box-shadow: -1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf;
+ box-shadow: -1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf;
+ border-left: 10px solid #358ccb;
+ background-color: #fdfdfd;
+ background-image: -webkit-linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%);
+ background-image: -moz-linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%);
+ background-image: -ms-linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%);
+ background-image: -o-linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%);
+ background-image: linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%);
+ background-size: 3em 3em;
+ background-origin:content-box;
+ overflow:visible;
+ max-height:30em;
+}
+
+code[class*="language"] {
+ max-height:29em;
+ display:block;
+ overflow:scroll;
+}
+
+/* Margin bottom to accomodate shadow */
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+ background-color:#fdfdfd;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ margin-bottom: 1em;
+}
+
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+ position:relative;
+ padding: .2em;
+ -webkit-border-radius: 0.3em;
+ -moz-border-radius: 0.3em;
+ -ms-border-radius: 0.3em;
+ -o-border-radius: 0.3em;
+ border-radius: 0.3em;
+ color: #c92c2c;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+pre[class*="language-"]:before,
+pre[class*="language-"]:after {
+ content: '';
+ z-index: -2;
+ display:block;
+ position: absolute;
+ bottom: 0.75em;
+ left: 0.18em;
+ width: 40%;
+ height: 20%;
+ -webkit-box-shadow: 0px 13px 8px #979797;
+ -moz-box-shadow: 0px 13px 8px #979797;
+ box-shadow: 0px 13px 8px #979797;
+ -webkit-transform: rotate(-2deg);
+ -moz-transform: rotate(-2deg);
+ -ms-transform: rotate(-2deg);
+ -o-transform: rotate(-2deg);
+ transform: rotate(-2deg);
+}
+
+:not(pre) > code[class*="language-"]:after,
+pre[class*="language-"]:after {
+ right: 0.75em;
+ left: auto;
+ -webkit-transform: rotate(2deg);
+ -moz-transform: rotate(2deg);
+ -ms-transform: rotate(2deg);
+ -o-transform: rotate(2deg);
+ transform: rotate(2deg);
+}
+
+.token.comment,
+.token.block-comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: #7D8B99;
+}
+
+.token.punctuation {
+ color: #5F6364;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.function-name,
+.token.constant,
+.token.symbol {
+ color: #c92c2c;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.function,
+.token.builtin {
+ color: #2f9c0a;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.token.variable {
+ color: #a67f59;
+ background: rgba(255, 255, 255, 0.5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword,
+.token.class-name {
+ color: #1990b8;
+}
+
+.token.regex,
+.token.important {
+ color: #e90;
+}
+.language-css .token.string,
+.style .token.string {
+ color: #a67f59;
+ background: rgba(255, 255, 255, 0.5);
+}
+
+.token.important {
+ font-weight: normal;
+}
+
+.token.entity {
+ cursor: help;
+}
+
+.namespace {
+ opacity: .7;
+}
+
+@media screen and (max-width:767px){
+ pre[class*="language-"]:before,
+ pre[class*="language-"]:after {
+ bottom:14px;
+ -webkit-box-shadow:none;
+ -moz-box-shadow:none;
+ box-shadow:none;
+ }
+
+}
+
+/* Plugin styles */
+.token.tab:not(:empty):before,
+.token.cr:before,
+.token.lf:before {
+ color: #e0d7d1;
+}
+
diff --git a/library/jRange/demo/prism/prism.js b/library/jRange/demo/prism/prism.js
new file mode 100644
index 000000000..dace66766
--- /dev/null
+++ b/library/jRange/demo/prism/prism.js
@@ -0,0 +1,8 @@
+/* http://prismjs.com/download.html?themes=prism-coy&languages=markup+css+css-extras+clike+javascript */
+var self=typeof window!="undefined"?window:{},Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content)):t.util.type(e)==="Array"?e.map(t.util.encode):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var r={};for(var i in e)e.hasOwnProperty(i)&&(r[i]=t.util.clone(e[i]));return r;case"Array":return e.slice()}return e}},languages:{extend:function(e,n){var r=t.util.clone(t.languages[e]);for(var i in n)r[i]=n[i];return r},insertBefore:function(e,n,r,i){i=i||t.languages;var s=i[e],o={};for(var u in s)if(s.hasOwnProperty(u)){if(u==n)for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);o[u]=s[u]}return i[e]=o},DFS:function(e,n){for(var r in e){n.call(e,r,e[r]);t.util.type(e)==="Object"&&t.languages.DFS(e[r],n)}}},highlightAll:function(e,n){var r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');for(var i=0,s;s=r[i++];)t.highlightElement(s,e===!0,n)},highlightElement:function(r,i,s){var o,u,a=r;while(a&&!e.test(a.className))a=a.parentNode;if(a){o=(a.className.match(e)||[,""])[1];u=t.languages[o]}if(!u)return;r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+o;a=r.parentNode;/pre/i.test(a.nodeName)&&(a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+o);var f=r.textContent;if(!f)return;var l={element:r,language:o,grammar:u,code:f};t.hooks.run("before-highlight",l);if(i&&self.Worker){var c=new Worker(t.filename);c.onmessage=function(e){l.highlightedCode=n.stringify(JSON.parse(e.data),o);t.hooks.run("before-insert",l);l.element.innerHTML=l.highlightedCode;s&&s.call(l.element);t.hooks.run("after-highlight",l)};c.postMessage(JSON.stringify({language:l.language,code:l.code}))}else{l.highlightedCode=t.highlight(l.code,l.grammar,l.language);t.hooks.run("before-insert",l);l.element.innerHTML=l.highlightedCode;s&&s.call(r);t.hooks.run("after-highlight",l)}},highlight:function(e,r,i){var s=t.tokenize(e,r);return n.stringify(t.util.encode(s),i)},tokenize:function(e,n,r){var i=t.Token,s=[e],o=n.rest;if(o){for(var u in o)n[u]=o[u];delete n.rest}e:for(var u in n){if(!n.hasOwnProperty(u)||!n[u])continue;var a=n[u],f=a.inside,l=!!a.lookbehind,c=0;a=a.pattern||a;for(var h=0;h<s.length;h++){var p=s[h];if(s.length>e.length)break e;if(p instanceof i)continue;a.lastIndex=0;var d=a.exec(p);if(d){l&&(c=d[1].length);var v=d.index-1+c,d=d[0].slice(c),m=d.length,g=v+m,y=p.slice(0,v+1),b=p.slice(g+1),w=[h,1];y&&w.push(y);var E=new i(u,f?t.tokenize(d,f):d);w.push(E);b&&w.push(b);Array.prototype.splice.apply(s,w)}}}return s},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e,r,i){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]")return e.map(function(t){return n.stringify(t,r,e)}).join("");var s={type:e.type,content:n.stringify(e.content,r,i),tag:"span",classes:["token",e.type],attributes:{},language:r,parent:i};s.type=="comment"&&(s.attributes.spellcheck="true");t.hooks.run("wrap",s);var o="";for(var u in s.attributes)o+=u+'="'+(s.attributes[u]||"")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'" '+o+">"+s.content+"</"+s.tag+">"};if(!self.document){if(!self.addEventListener)return self.Prism;self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return self.Prism}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}return self.Prism}();typeof module!="undefined"&&module.exports&&(module.exports=Prism);;
+Prism.languages.markup={comment:/<!--[\w\W]*?-->/g,prolog:/<\?.+?\?>/,doctype:/<!DOCTYPE.+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/\&#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))});;
+Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,punctuation:/[\{\};:]/g,"function":/[-a-z0-9]+(?=\()/ig};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/<style[\w\W]*?>[\w\W]*?<\/style>/ig,inside:{tag:{pattern:/<style[\w\W]*?>|<\/style>/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});;
+Prism.languages.css.selector={pattern:/[^\{\}\s][^\{\}]*(?=\s*\{)/g,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/g,"pseudo-class":/:[-\w]+(?:\(.*\))?/g,"class":/\.[-:\.\w]+/g,id:/#[-:\.\w]+/g}};Prism.languages.insertBefore("css","ignore",{hexcode:/#[\da-f]{3,6}/gi,entity:/\\[\da-f]{1,8}/gi,number:/[\d%\.]+/g});;
+Prism.languages.clike={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/ig,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/ig,inside:{punctuation:/\(/}},number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|&{1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};;
+Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|get|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/<script[\w\W]*?>[\w\W]*?<\/script>/ig,inside:{tag:{pattern:/<script[\w\W]*?>|<\/script>/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});
+;
diff --git a/library/jRange/jquery.range-min.js b/library/jRange/jquery.range-min.js
new file mode 100644
index 000000000..8aa6e7ecb
--- /dev/null
+++ b/library/jRange/jquery.range-min.js
@@ -0,0 +1 @@
+!function($,t,i,s){"use strict";var o=function(){return this.init.apply(this,arguments)};o.prototype={defaults:{onstatechange:function(){},isRange:!1,showLabels:!0,showScale:!0,step:1,format:"%s",theme:"theme-green",width:300},template:'<div class="slider-container"> <div class="back-bar"> <div class="selected-bar"></div> <div class="pointer low"></div><div class="pointer-label">123456</div> <div class="pointer high"></div><div class="pointer-label">456789</div> <div class="clickable-dummy"></div> </div> <div class="scale"></div> </div>',init:function(t,i){this.options=$.extend({},this.defaults,i),this.inputNode=$(t),this.options.value=this.inputNode.val()||(this.options.isRange?this.options.from+","+this.options.from:this.options.from),this.domNode=$(this.template),this.domNode.addClass(this.options.theme),this.inputNode.after(this.domNode),this.domNode.on("change",this.onChange),this.pointers=$(".pointer",this.domNode),this.lowPointer=this.pointers.first(),this.highPointer=this.pointers.last(),this.labels=$(".pointer-label",this.domNode),this.lowLabel=this.labels.first(),this.highLabel=this.labels.last(),this.scale=$(".scale",this.domNode),this.bar=$(".selected-bar",this.domNode),this.clickableBar=this.domNode.find(".clickable-dummy"),this.interval=this.options.to-this.options.from,this.render()},render:function(){return 0!==this.inputNode.width()||this.options.width?(this.domNode.width(this.options.width||this.inputNode.width()),this.inputNode.hide(),this.isSingle()&&(this.lowPointer.hide(),this.lowLabel.hide()),this.options.showLabels||this.labels.hide(),this.attachEvents(),this.options.showScale&&this.renderScale(),void this.setValue(this.options.value)):void console.log("jRange : no width found, returning")},isSingle:function(){return"number"==typeof this.options.value?!0:-1!==this.options.value.indexOf(",")||this.options.isRange?!1:!0},attachEvents:function(){this.clickableBar.click($.proxy(this.barClicked,this)),this.pointers.mousedown($.proxy(this.onDragStart,this)),this.pointers.bind("dragstart",function(t){t.preventDefault()})},onDragStart:function(t){if(1===t.which){t.stopPropagation(),t.preventDefault();var s=$(t.target);s.addClass("focused"),this[(s.hasClass("low")?"low":"high")+"Label"].addClass("focused"),$(i).on("mousemove.slider",$.proxy(this.onDrag,this,s)),$(i).on("mouseup.slider",$.proxy(this.onDragEnd,this))}},onDrag:function(t,i){i.stopPropagation(),i.preventDefault();var s=i.clientX-this.domNode.offset().left;this.domNode.trigger("change",[this,t,s])},onDragEnd:function(){this.pointers.removeClass("focused"),this.labels.removeClass("focused"),$(i).off(".slider"),$(i).off(".slider")},barClicked:function(t){var i=t.pageX-this.clickableBar.offset().left;if(this.isSingle())this.setPosition(this.pointers.last(),i,!0,!0);else{var s=Math.abs(parseInt(this.pointers.first().css("left"),10)-i+this.pointers.first().width()/2)<Math.abs(parseInt(this.pointers.last().css("left"),10)-i+this.pointers.first().width()/2)?this.pointers.first():this.pointers.last();this.setPosition(s,i,!0,!0)}},onChange:function(t,i,s,o){var e,n;i.isSingle()?(e=0,n=i.domNode.width()):(e=s.hasClass("high")?i.lowPointer.position().left+i.lowPointer.width()/2:0,n=s.hasClass("low")?i.highPointer.position().left+i.highPointer.width()/2:i.domNode.width());var h=Math.min(Math.max(o,e),n);i.setPosition(s,h,!0)},setPosition:function(t,i,s,o){var e,n=this.lowPointer.position().left,h=this.highPointer.position().left,a=this.highPointer.width()/2;s||(i=this.prcToPx(i)),t[0]===this.highPointer[0]?h=Math.round(i-a):n=Math.round(i-a),t[o?"animate":"css"]({left:Math.round(i-a)}),e=this.isSingle()?0:n+a,this.bar[o?"animate":"css"]({width:Math.round(h+a-e),left:e}),this.showPointerValue(t,i,o)},setValue:function(t){var i=t.toString().split(",");this.options.value=t;var s=this.valuesToPrc(2===i.length?i:[0,i[0]]);this.isSingle()?this.setPosition(this.highPointer,s[1]):(this.setPosition(this.lowPointer,s[0]),this.setPosition(this.highPointer,s[1]))},renderScale:function(){for(var t=this.options.scale||[this.options.from,this.options.to],i=Math.round(100/(t.length-1)*10)/10,s="",o=0;o<t.length;o++)s+='<span style="left: '+o*i+'%">'+("|"!=t[o]?"<ins>"+t[o]+"</ins>":"")+"</span>";this.scale.html(s),$("ins",this.scale).each(function(){$(this).css({marginLeft:-$(this).outerWidth()/2})})},getBarWidth:function(){var t=this.options.value.split(",");return t.length>1?parseInt(t[1],10)-parseInt(t[0],10):parseInt(t[0],10)},showPointerValue:function(t,i,o){var e=$(".pointer-label",this.domNode)[t.hasClass("low")?"first":"last"](),n,h=this.positionToValue(i);if($.isFunction(this.options.format)){var a=this.isSingle()?s:t.hasClass("low")?"low":"high";n=this.options.format(h,a)}else n=this.options.format.replace("%s",h);var r=e.html(n).width(),l=i-r/2;l=Math.min(Math.max(l,0),this.options.width-r),e[o?"animate":"css"]({left:l}),this.setInputValue(t,h)},valuesToPrc:function(t){var i=100*(t[0]-this.options.from)/this.interval,s=100*(t[1]-this.options.from)/this.interval;return[i,s]},prcToPx:function(t){return this.domNode.width()*t/100},positionToValue:function(t){var i=t/this.domNode.width()*this.interval;return i+=this.options.from,Math.round(i/this.options.step)*this.options.step},setInputValue:function(t,i){if(this.isSingle())this.options.value=i.toString();else{var s=this.options.value.split(",");this.options.value=t.hasClass("low")?i+","+s[1]:s[0]+","+i}this.inputNode.val()!==this.options.value&&(this.inputNode.val(this.options.value),this.options.onstatechange.call(this,this.options.value))},getValue:function(){return this.options.value}};var e="jRange";$.fn[e]=function(t){var i=arguments,s;return this.each(function(){var n=$(this),h=$.data(this,"plugin_"+e),a="object"==typeof t&&t;h||n.data("plugin_"+e,h=new o(this,a)),"string"==typeof t&&(s=h[t].apply(h,Array.prototype.slice.call(i,1)))}),s||this}}(jQuery,window,document); \ No newline at end of file
diff --git a/library/jRange/jquery.range.css b/library/jRange/jquery.range.css
new file mode 100644
index 000000000..27375c846
--- /dev/null
+++ b/library/jRange/jquery.range.css
@@ -0,0 +1,168 @@
+.slider-container {
+ width: 300px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+.slider-container .back-bar {
+ height: 10px;
+ position: relative;
+}
+.slider-container .back-bar .selected-bar {
+ position: absolute;
+ height: 100%;
+}
+.slider-container .back-bar .pointer {
+ position: absolute;
+ width: 10px;
+ height: 10px;
+ background-color: red;
+ cursor: move;
+ opacity: 1;
+ z-index: 2;
+}
+.slider-container .back-bar .pointer-label {
+ position: absolute;
+ top: -17px;
+ font-size: 8px;
+ background: white;
+ white-space: nowrap;
+ line-height: 1;
+}
+.slider-container .back-bar .focused {
+ z-index: 10;
+}
+.slider-container .clickable-dummy {
+ cursor: pointer;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ z-index: 1;
+}
+.slider-container .scale {
+ top: 2px;
+ position: relative;
+}
+.slider-container .scale span {
+ position: absolute;
+ height: 5px;
+ border-left: 1px solid #999;
+ font-size: 0;
+}
+.slider-container .scale ins {
+ font-size: 9px;
+ text-decoration: none;
+ position: absolute;
+ left: 0;
+ top: 5px;
+ color: #999;
+ line-height: 1;
+}
+.theme-green .back-bar {
+ height: 5px;
+ border-radius: 2px;
+ background-color: #eeeeee;
+ background-color: #e7e7e7;
+ background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
+ background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
+}
+.theme-green .back-bar .selected-bar {
+ border-radius: 2px;
+ background-color: #a1fad0;
+ background-image: -moz-linear-gradient(top, #bdfade, #76fabc);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bdfade), to(#76fabc));
+ background-image: -webkit-linear-gradient(top, #bdfade, #76fabc);
+ background-image: -o-linear-gradient(top, #bdfade, #76fabc);
+ background-image: linear-gradient(to bottom, #bdfade, #76fabc);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbdfade', endColorstr='#ff76fabc', GradientType=0);
+}
+.theme-green .back-bar .pointer {
+ width: 14px;
+ height: 14px;
+ top: -5px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border-radius: 10px;
+ border: 1px solid #AAA;
+ background-color: #e7e7e7;
+ background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
+ background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
+ cursor: col-resize;
+}
+.theme-green .back-bar .pointer-label {
+ color: #999;
+}
+.theme-green .back-bar .focused {
+ color: #333;
+}
+.theme-green .scale span {
+ border-left: 1px solid #e5e5e5;
+}
+.theme-green .scale ins {
+ color: #999;
+}
+.theme-blue .back-bar {
+ height: 5px;
+ border-radius: 2px;
+ background-color: #eeeeee;
+ background-color: #e7e7e7;
+ background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
+ background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
+}
+.theme-blue .back-bar .selected-bar {
+ border-radius: 2px;
+ background-color: #92c1f9;
+ background-image: -moz-linear-gradient(top, #b1d1f9, #64a8f9);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b1d1f9), to(#64a8f9));
+ background-image: -webkit-linear-gradient(top, #b1d1f9, #64a8f9);
+ background-image: -o-linear-gradient(top, #b1d1f9, #64a8f9);
+ background-image: linear-gradient(to bottom, #b1d1f9, #64a8f9);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb1d1f9', endColorstr='#ff64a8f9', GradientType=0);
+}
+.theme-blue .back-bar .pointer {
+ width: 14px;
+ height: 14px;
+ top: -5px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border-radius: 10px;
+ border: 1px solid #AAA;
+ background-color: #e7e7e7;
+ background-image: -moz-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#eeeeee), to(#dddddd));
+ background-image: -webkit-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: -o-linear-gradient(top, #eeeeee, #dddddd);
+ background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffeeeeee', endColorstr='#ffdddddd', GradientType=0);
+ cursor: col-resize;
+}
+.theme-blue .back-bar .pointer-label {
+ color: #999;
+}
+.theme-blue .back-bar .focused {
+ color: #333;
+}
+.theme-blue .scale span {
+ border-left: 1px solid #e5e5e5;
+}
+.theme-blue .scale ins {
+ color: #999;
+}
diff --git a/library/jRange/jquery.range.js b/library/jRange/jquery.range.js
new file mode 100644
index 000000000..978b3e7ba
--- /dev/null
+++ b/library/jRange/jquery.range.js
@@ -0,0 +1,297 @@
+/*jshint multistr:true, curly: false */
+/*global jQuery:false, define: false */
+/**
+ * jRange - Awesome range control
+ *
+ * Written by
+ * ----------
+ * Nitin Hayaran (nitinhayaran@gmail.com)
+ *
+ * Licensed under the MIT (MIT-LICENSE.txt).
+ *
+ * @author Nitin Hayaran
+ * @version 0.1-RELEASE
+ *
+ * Dependencies
+ * ------------
+ * jQuery (http://jquery.com)
+ *
+ **/
+ ;
+ (function($, window, document, undefined) {
+ 'use strict';
+
+ var jRange = function(){
+ return this.init.apply(this, arguments);
+ };
+ jRange.prototype = {
+ defaults : {
+ onstatechange : function(){},
+ isRange : false,
+ showLabels : true,
+ showScale : true,
+ step : 1,
+ format: '%s',
+ theme : 'theme-green',
+ width : 300
+ },
+ template : '<div class="slider-container">\
+ <div class="back-bar">\
+ <div class="selected-bar"></div>\
+ <div class="pointer low"></div><div class="pointer-label">123456</div>\
+ <div class="pointer high"></div><div class="pointer-label">456789</div>\
+ <div class="clickable-dummy"></div>\
+ </div>\
+ <div class="scale"></div>\
+ </div>',
+ init : function(node, options){
+ this.options = $.extend({}, this.defaults, options);
+ this.inputNode = $(node);
+ this.options.value = this.inputNode.val() || (this.options.isRange ? this.options.from+','+this.options.from : this.options.from);
+ this.domNode = $(this.template);
+ this.domNode.addClass(this.options.theme);
+ this.inputNode.after(this.domNode);
+ this.domNode.on('change', this.onChange);
+ this.pointers = $('.pointer', this.domNode);
+ this.lowPointer = this.pointers.first();
+ this.highPointer = this.pointers.last();
+ this.labels = $('.pointer-label', this.domNode);
+ this.lowLabel = this.labels.first();
+ this.highLabel = this.labels.last();
+ this.scale = $('.scale', this.domNode);
+ this.bar = $('.selected-bar', this.domNode);
+ this.clickableBar = this.domNode.find('.clickable-dummy');
+ this.interval = this.options.to - this.options.from;
+ this.render();
+ },
+ render: function(){
+ // Check if inputNode is visible, and have some width, so that we can set slider width accordingly.
+ if( this.inputNode.width() === 0 && !this.options.width ){
+ console.log('jRange : no width found, returning');
+ return;
+ }else{
+ this.domNode.width( this.options.width || this.inputNode.width() );
+ this.inputNode.hide();
+ }
+
+ if(this.isSingle()){
+ this.lowPointer.hide();
+ this.lowLabel.hide();
+ }
+ if(!this.options.showLabels){
+ this.labels.hide();
+ }
+ this.attachEvents();
+ if(this.options.showScale){
+ this.renderScale();
+ }
+ this.setValue(this.options.value);
+ },
+ isSingle: function(){
+ if(typeof(this.options.value) === 'number'){
+ return true;
+ }
+ return (this.options.value.indexOf(',') !== -1 || this.options.isRange) ?
+ false : true;
+ },
+ attachEvents: function(){
+ this.clickableBar.click($.proxy(this.barClicked, this));
+ this.pointers.mousedown($.proxy(this.onDragStart, this));
+ this.pointers.bind('dragstart', function(event) { event.preventDefault(); });
+ },
+ onDragStart: function(e){
+ if(e.which !== 1){return;}
+ e.stopPropagation(); e.preventDefault();
+ var pointer = $(e.target);
+ pointer.addClass('focused');
+ this[(pointer.hasClass('low')?'low':'high') + 'Label'].addClass('focused');
+ $(document).on('mousemove.slider', $.proxy(this.onDrag, this, pointer));
+ $(document).on('mouseup.slider', $.proxy(this.onDragEnd, this));
+ },
+ onDrag: function(pointer, e){
+ e.stopPropagation(); e.preventDefault();
+ var position = e.clientX - this.domNode.offset().left;
+ this.domNode.trigger('change', [this, pointer, position]);
+ },
+ onDragEnd: function(){
+ this.pointers.removeClass('focused');
+ this.labels.removeClass('focused');
+ $(document).off('.slider');
+ $(document).off('.slider');
+ },
+ barClicked: function(e){
+ var x = e.pageX - this.clickableBar.offset().left;
+ if(this.isSingle())
+ this.setPosition(this.pointers.last(), x, true, true);
+ else{
+ var pointer = Math.abs(parseInt(this.pointers.first().css('left'), 10) - x + this.pointers.first().width() / 2) < Math.abs(parseInt(this.pointers.last().css('left'), 10) - x + this.pointers.first().width() / 2) ?
+ this.pointers.first() : this.pointers.last();
+ this.setPosition(pointer, x, true, true);
+ }
+ },
+ onChange: function(e, self, pointer, position){
+ var min, max;
+ if(self.isSingle()){
+ min = 0;
+ max = self.domNode.width();
+ }else{
+ min = pointer.hasClass('high')? self.lowPointer.position().left + self.lowPointer.width() / 2 : 0;
+ max = pointer.hasClass('low') ? self.highPointer.position().left + self.highPointer.width() / 2 : self.domNode.width();
+ }
+ var value = Math.min(Math.max(position, min), max);
+ self.setPosition(pointer, value, true);
+ },
+ setPosition: function(pointer, position, isPx, animate){
+ var leftPos,
+ lowPos = this.lowPointer.position().left,
+ highPos = this.highPointer.position().left,
+ circleWidth = this.highPointer.width() / 2;
+ if(!isPx){
+ position = this.prcToPx(position);
+ }
+ if(pointer[0] === this.highPointer[0]){
+ highPos = Math.round(position - circleWidth);
+ }else{
+ lowPos = Math.round(position - circleWidth);
+ }
+ pointer[animate?'animate':'css']({'left': Math.round(position - circleWidth)});
+ if(this.isSingle()){
+ leftPos = 0;
+ }else{
+ leftPos = lowPos + circleWidth;
+ }
+ this.bar[animate?'animate':'css']({
+ 'width' : Math.round(highPos + circleWidth - leftPos),
+ 'left' : leftPos
+ });
+ this.showPointerValue(pointer, position, animate);
+ },
+ // will be called from outside
+ setValue: function(value){
+ var values = value.toString().split(',');
+ this.options.value = value;
+ var prc = this.valuesToPrc( values.length === 2 ? values : [0, values[0]] );
+ if(this.isSingle()){
+ this.setPosition(this.highPointer, prc[1]);
+ }else{
+ this.setPosition(this.lowPointer, prc[0]);
+ this.setPosition(this.highPointer, prc[1]);
+ }
+ },
+ renderScale: function(){
+ var s = this.options.scale || [this.options.from, this.options.to];
+ var prc = Math.round((100 / (s.length - 1)) * 10) / 10;
+ var str = '';
+ for(var i = 0; i < s.length ; i++ ){
+ str += '<span style="left: ' + i * prc + '%">' + (s[i] != '|' ? '<ins>' + s[i] + '</ins>' : '') + '</span>';
+ }
+ this.scale.html(str);
+
+ $('ins', this.scale).each(function () {
+ $(this).css({
+ marginLeft: -$(this).outerWidth() / 2
+ });
+ });
+ },
+ getBarWidth: function(){
+ var values = this.options.value.split(',');
+ if(values.length > 1){
+ return parseInt(values[1], 10) - parseInt(values[0], 10);
+ }else{
+ return parseInt(values[0], 10);
+ }
+ },
+ showPointerValue: function(pointer, position, animate){
+ var label = $('.pointer-label', this.domNode)[pointer.hasClass('low')?'first':'last']();
+ var text;
+ var value = this.positionToValue(position);
+ if($.isFunction(this.options.format)){
+ var type = this.isSingle() ? undefined : (pointer.hasClass('low') ? 'low':'high');
+ text = this.options.format(value, type);
+ }else{
+ text = this.options.format.replace('%s', value);
+ }
+
+ var width = label.html(text).width(),
+ left = position - width / 2;
+ left = Math.min(Math.max(left, 0), this.options.width - width);
+ label[animate?'animate':'css']({left: left});
+ this.setInputValue(pointer, value);
+ },
+ valuesToPrc: function(values){
+ var lowPrc = ( ( values[0] - this.options.from ) * 100 / this.interval ),
+ highPrc = ( ( values[1] - this.options.from ) * 100 / this.interval );
+ return [lowPrc, highPrc];
+ },
+ prcToPx: function(prc){
+ return (this.domNode.width() * prc) / 100;
+ },
+ positionToValue: function(pos){
+ var value = (pos / this.domNode.width()) * this.interval;
+ value = value + this.options.from;
+ return Math.round(value / this.options.step) * this.options.step;
+ },
+ setInputValue: function(pointer, v){
+ // if(!isChanged) return;
+ if(this.isSingle()){
+ this.options.value = v.toString();
+ }else{
+ var values = this.options.value.split(',');
+ if(pointer.hasClass('low')){
+ this.options.value = v + ',' + values[1];
+ }else{
+ this.options.value = values[0] + ',' + v;
+ }
+ }
+ if( this.inputNode.val() !== this.options.value ){
+ this.inputNode.val(this.options.value);
+ this.options.onstatechange.call(this, this.options.value);
+ }
+ },
+ getValue: function(){
+ return this.options.value;
+ }
+ };
+
+ /*$.jRange = function (node, options) {
+ var jNode = $(node);
+ if(!jNode.data('jrange')){
+ jNode.data('jrange', new jRange(node, options));
+ }
+ return jNode.data('jrange');
+ };
+
+ $.fn.jRange = function (options) {
+ return this.each(function(){
+ $.jRange(this, options);
+ });
+ };*/
+
+ var pluginName = 'jRange';
+ // A really lightweight plugin wrapper around the constructor,
+ // preventing against multiple instantiations
+ $.fn[pluginName] = function(option) {
+ var args = arguments,
+ result;
+
+ this.each(function() {
+ var $this = $(this),
+ data = $.data(this, 'plugin_' + pluginName),
+ options = typeof option === 'object' && option;
+ if (!data) {
+ $this.data('plugin_' + pluginName, (data = new jRange(this, options)));
+ }
+ // if first argument is a string, call silimarly named function
+ // this gives flexibility to call functions of the plugin e.g.
+ // - $('.dial').plugin('destroy');
+ // - $('.dial').plugin('render', $('.new-child'));
+ if (typeof option === 'string') {
+ result = data[option].apply(data, Array.prototype.slice.call(args, 1));
+ }
+ });
+
+ // To enable plugin returns values
+ return result || this;
+ };
+
+})(jQuery, window, document); \ No newline at end of file
diff --git a/library/jRange/jquery.range.less b/library/jRange/jquery.range.less
new file mode 100644
index 000000000..979ed2e1a
--- /dev/null
+++ b/library/jRange/jquery.range.less
@@ -0,0 +1,192 @@
+#gradient {
+ .horizontal(@startColor: #555, @endColor: #333) {
+ background-color: @endColor;
+ background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
+ background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
+ background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
+ background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
+ background-image: linear-gradient(to right, @startColor, @endColor); // Standard, IE10
+ background-repeat: repeat-x;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down
+ }
+ .vertical(@startColor: #555, @endColor: #333) {
+ background-color: mix(@startColor, @endColor, 60%);
+ background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
+ background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
+ background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
+ background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10
+ background-repeat: repeat-x;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down
+ }
+ .directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
+ background-color: @endColor;
+ background-repeat: repeat-x;
+ background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
+ background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+
+ background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10
+ background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10
+ }
+ .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
+ background-color: mix(@midColor, @endColor, 80%);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
+ background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
+ background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
+ background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
+ background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
+ background-repeat: no-repeat;
+ filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
+ }
+ .radial(@innerColor: #555, @outerColor: #333) {
+ background-color: @outerColor;
+ background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
+ background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
+ background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
+ background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
+ background-repeat: no-repeat;
+ }
+ .striped(@color: #555, @angle: 45deg) {
+ background-color: @color;
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
+ background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
+ }
+}
+
+.slider-container {
+ width: 300px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ .back-bar {
+ height: 10px;
+ position: relative;
+ .selected-bar {
+ position: absolute;
+ height: 100%;
+ }
+ .pointer {
+ position: absolute;
+ width: 10px;
+ height: 10px;
+ background-color: red;
+ cursor: move;
+ opacity: 1;
+ z-index: 2;
+ }
+ .pointer-label {
+ position: absolute;
+ top: -17px;
+ font-size: 8px;
+ background: white;
+ white-space: nowrap;
+ line-height: 1;
+ }
+ .focused {
+ z-index: 10;
+ }
+ }
+ .clickable-dummy {
+ cursor: pointer;
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ z-index: 1;
+ }
+ .scale {
+ top: 2px;
+ position: relative;
+ span {
+ position: absolute;
+ height: 5px;
+ border-left: 1px solid #999;
+ font-size: 0;
+ }
+ ins {
+ font-size: 9px;
+ text-decoration: none;
+ position: absolute;
+ left: 0;
+ top: 5px;
+ color: #999;
+ line-height: 1;
+ }
+ }
+}
+.theme-green {
+ .back-bar {
+ height: 5px;
+ border-radius: 2px;
+ background-color: #eeeeee;
+ #gradient > .vertical(#eeeeee, #dddddd);
+ .selected-bar {
+ border-radius: 2px;
+ #gradient > .vertical(#bdfade, #76fabc);
+ }
+ .pointer {
+ width: 14px;
+ height: 14px;
+ top: -5px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border-radius: 10px;
+ border: 1px solid #AAA;
+ #gradient > .vertical(#eeeeee, #dddddd);
+ cursor: col-resize;
+ }
+ .pointer-label {
+ color: #999;
+ }
+ .focused {
+ color: #333;
+ }
+ }
+ .scale {
+ span {
+ border-left: 1px solid #e5e5e5;
+ }
+ ins {
+ color: #999;
+ }
+ }
+}
+
+.theme-blue {
+ .back-bar {
+ height: 5px;
+ border-radius: 2px;
+ background-color: #eeeeee;
+ #gradient > .vertical(#eeeeee, #dddddd);
+ .selected-bar {
+ border-radius: 2px;
+ #gradient > .vertical(#b1d1f9, #64a8f9);
+ }
+ .pointer {
+ width: 14px;
+ height: 14px;
+ top: -5px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border-radius: 10px;
+ border: 1px solid #AAA;
+ #gradient > .vertical(#eeeeee, #dddddd);
+ cursor: col-resize;
+ }
+ .pointer-label {
+ color: #999;
+ }
+ .focused {
+ color: #333;
+ }
+ }
+ .scale {
+ span {
+ border-left: 1px solid #e5e5e5;
+ }
+ ins {
+ color: #999;
+ }
+ }
+}
diff --git a/library/jgrowl/README b/library/jgrowl/README
index 3c94f7508..d0f1a62ad 100644
--- a/library/jgrowl/README
+++ b/library/jgrowl/README
@@ -1,3 +1,3 @@
-http://stanlemon.net/projects/jgrowl.html
+https://github.com/stanlemon/jGrowl
jGrowl is free and open source, it's distributed under the MIT and GPL licenses
diff --git a/library/jgrowl/jquery.jgrowl.css b/library/jgrowl/jquery.jgrowl.css
index b4deb978c..ea3948415 100644
--- a/library/jgrowl/jquery.jgrowl.css
+++ b/library/jgrowl/jquery.jgrowl.css
@@ -1,136 +1 @@
-
-div.jGrowl {
- z-index: 9999;
- color: #fff;
- font-size: 12px;
-}
-
-/** Special IE6 Style Positioning **/
-div.ie6 {
- position: absolute;
-}
-
-div.ie6.top-right {
- right: auto;
- bottom: auto;
- left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
- top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
-}
-
-div.ie6.top-left {
- left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
- top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
-}
-
-div.ie6.bottom-right {
- left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
- top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
-}
-
-div.ie6.bottom-left {
- left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
- top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
-}
-
-div.ie6.center {
- left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
- top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
- width: 100%;
-}
-
-/** Normal Style Positions **/
-div.jGrowl {
- position: absolute;
-}
-
-body > div.jGrowl {
- position: fixed;
-}
-
-div.jGrowl.top-left {
- left: 0px;
- top: 0px;
-}
-
-div.jGrowl.top-right {
- right: 0px;
- top: 0px;
-}
-
-div.jGrowl.bottom-left {
- left: 0px;
- bottom: 0px;
-}
-
-div.jGrowl.bottom-right {
- right: 0px;
- bottom: 0px;
-}
-
-div.jGrowl.center {
- top: 0px;
- width: 50%;
- left: 25%;
-}
-
-/** Cross Browser Styling **/
-div.center div.jGrowl-notification, div.center div.jGrowl-closer {
- margin-left: auto;
- margin-right: auto;
-}
-
-div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer {
- background-color: #000;
- opacity: .85;
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)";
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=85);
- zoom: 1;
- width: 235px;
- padding: 10px;
- margin-top: 5px;
- margin-bottom: 5px;
- font-family: Tahoma, Arial, Helvetica, sans-serif;
- font-size: 1em;
- text-align: left;
- display: none;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
-}
-
-div.jGrowl div.jGrowl-notification {
- min-height: 40px;
-}
-
-div.jGrowl div.jGrowl-notification,
-div.jGrowl div.jGrowl-closer {
- margin: 10px;
-}
-
-div.jGrowl div.jGrowl-notification div.jGrowl-header {
- font-weight: bold;
- font-size: .85em;
-}
-
-div.jGrowl div.jGrowl-notification div.jGrowl-close {
- z-index: 99;
- float: right;
- font-weight: bold;
- font-size: 1em;
- cursor: pointer;
-}
-
-div.jGrowl div.jGrowl-closer {
- padding-top: 4px;
- padding-bottom: 4px;
- cursor: pointer;
- font-size: .9em;
- font-weight: bold;
- text-align: center;
-}
-
-/** Hide jGrowl when printing **/
-@media print {
- div.jGrowl {
- display: none;
- }
-}
+.jGrowl{z-index:9999;color:#fff;font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:fixed}.jGrowl.top-left{left:0;top:0}.jGrowl.top-right{right:0;top:0}.jGrowl.bottom-left{left:0;bottom:0}.jGrowl.bottom-right{right:0;bottom:0}.jGrowl.center{top:0;width:50%;left:25%}.jGrowl.center .jGrowl-closer,.jGrowl.center .jGrowl-notification{margin-left:auto;margin-right:auto}.jGrowl-notification{background-color:#000;opacity:.9;-ms-filter:alpha(90);filter:alpha(90);zoom:1;width:250px;padding:10px;margin:10px;text-align:left;display:none;border-radius:5px;min-height:40px}.jGrowl-notification .ui-state-highlight,.jGrowl-notification .ui-widget-content .ui-state-highlight,.jGrowl-notification .ui-widget-header .ui-state-highlight{border:1px solid #000;background:#000;color:#fff}.jGrowl-notification .jGrowl-header{font-weight:700;font-size:.85em}.jGrowl-notification .jGrowl-close{background-color:transparent;color:inherit;border:none;z-index:99;float:right;font-weight:700;font-size:1em;cursor:pointer}.jGrowl-closer{background-color:#000;opacity:.9;-ms-filter:alpha(90);filter:alpha(90);zoom:1;width:250px;padding:10px;margin:10px;display:none;border-radius:5px;padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:.9em;font-weight:700;text-align:center}.jGrowl-closer .ui-state-highlight,.jGrowl-closer .ui-widget-content .ui-state-highlight,.jGrowl-closer .ui-widget-header .ui-state-highlight{border:1px solid #000;background:#000;color:#fff}@media print{.jGrowl{display:none}} \ No newline at end of file
diff --git a/library/jgrowl/jquery.jgrowl_minimized.js b/library/jgrowl/jquery.jgrowl_minimized.js
index 782898098..7e8b6fb35 100644
--- a/library/jgrowl/jquery.jgrowl_minimized.js
+++ b/library/jgrowl/jquery.jgrowl_minimized.js
@@ -1,11 +1,2 @@
-(function($){$.jGrowl=function(m,o){if($('#jGrowl').size()==0)
-$('<div id="jGrowl"></div>').addClass((o&&o.position)?o.position:$.jGrowl.defaults.position).appendTo('body');$('#jGrowl').jGrowl(m,o);};$.fn.jGrowl=function(m,o){if($.isFunction(this.each)){var args=arguments;return this.each(function(){var self=this;if($(this).data('jGrowl.instance')==undefined){$(this).data('jGrowl.instance',$.extend(new $.fn.jGrowl(),{notifications:[],element:null,interval:null}));$(this).data('jGrowl.instance').startup(this);}
-if($.isFunction($(this).data('jGrowl.instance')[m])){$(this).data('jGrowl.instance')[m].apply($(this).data('jGrowl.instance'),$.makeArray(args).slice(1));}else{$(this).data('jGrowl.instance').create(m,o);}});};};$.extend($.fn.jGrowl.prototype,{defaults:{pool:0,header:'',group:'',sticky:false,position:'top-right',glue:'after',theme:'default',themeState:'highlight',corners:'10px',check:250,life:3000,closeDuration:'normal',openDuration:'normal',easing:'swing',closer:true,closeTemplate:'&times;',closerTemplate:'<div>[ close all ]</div>',log:function(e,m,o){},beforeOpen:function(e,m,o){},afterOpen:function(e,m,o){},open:function(e,m,o){},beforeClose:function(e,m,o){},close:function(e,m,o){},animateOpen:{opacity:'show'},animateClose:{opacity:'hide'}},notifications:[],element:null,interval:null,create:function(message,o){var o=$.extend({},this.defaults,o);if(typeof o.speed!=='undefined'){o.openDuration=o.speed;o.closeDuration=o.speed;}
-this.notifications.push({message:message,options:o});o.log.apply(this.element,[this.element,message,o]);},render:function(notification){var self=this;var message=notification.message;var o=notification.options;var notification=$('<div class="jGrowl-notification '+o.themeState+' ui-corner-all'+
-((o.group!=undefined&&o.group!='')?' '+o.group:'')+'">'+'<div class="jGrowl-close">'+o.closeTemplate+'</div>'+'<div class="jGrowl-header">'+o.header+'</div>'+'<div class="jGrowl-message">'+message+'</div></div>').data("jGrowl",o).addClass(o.theme).children('div.jGrowl-close').bind("click.jGrowl",function(){$(this).parent().trigger('jGrowl.close');}).parent();$(notification).bind("mouseover.jGrowl",function(){$('div.jGrowl-notification',self.element).data("jGrowl.pause",true);}).bind("mouseout.jGrowl",function(){$('div.jGrowl-notification',self.element).data("jGrowl.pause",false);}).bind('jGrowl.beforeOpen',function(){if(o.beforeOpen.apply(notification,[notification,message,o,self.element])!=false){$(this).trigger('jGrowl.open');}}).bind('jGrowl.open',function(){if(o.open.apply(notification,[notification,message,o,self.element])!=false){if(o.glue=='after'){$('div.jGrowl-notification:last',self.element).after(notification);}else{$('div.jGrowl-notification:first',self.element).before(notification);}
-$(this).animate(o.animateOpen,o.openDuration,o.easing,function(){if($.browser.msie&&(parseInt($(this).css('opacity'),10)===1||parseInt($(this).css('opacity'),10)===0))
-this.style.removeAttribute('filter');if($(this).data("jGrowl")!=null)
-$(this).data("jGrowl").created=new Date();$(this).trigger('jGrowl.afterOpen');});}}).bind('jGrowl.afterOpen',function(){o.afterOpen.apply(notification,[notification,message,o,self.element]);}).bind('jGrowl.beforeClose',function(){if(o.beforeClose.apply(notification,[notification,message,o,self.element])!=false)
-$(this).trigger('jGrowl.close');}).bind('jGrowl.close',function(){$(this).data('jGrowl.pause',true);$(this).animate(o.animateClose,o.closeDuration,o.easing,function(){if($.isFunction(o.close)){if(o.close.apply(notification,[notification,message,o,self.element])!==false)
-$(this).remove();}else{$(this).remove();}});}).trigger('jGrowl.beforeOpen');if(o.corners!=''&&$.fn.corner!=undefined)$(notification).corner(o.corners);if($('div.jGrowl-notification:parent',self.element).size()>1&&$('div.jGrowl-closer',self.element).size()==0&&this.defaults.closer!=false){$(this.defaults.closerTemplate).addClass('jGrowl-closer ui-state-highlight ui-corner-all').addClass(this.defaults.theme).appendTo(self.element).animate(this.defaults.animateOpen,this.defaults.speed,this.defaults.easing).bind("click.jGrowl",function(){$(this).siblings().trigger("jGrowl.beforeClose");if($.isFunction(self.defaults.closer)){self.defaults.closer.apply($(this).parent()[0],[$(this).parent()[0]]);}});};},update:function(){$(this.element).find('div.jGrowl-notification:parent').each(function(){if($(this).data("jGrowl")!=undefined&&$(this).data("jGrowl").created!=undefined&&($(this).data("jGrowl").created.getTime()+parseInt($(this).data("jGrowl").life))<(new Date()).getTime()&&$(this).data("jGrowl").sticky!=true&&($(this).data("jGrowl.pause")==undefined||$(this).data("jGrowl.pause")!=true)){$(this).trigger('jGrowl.beforeClose');}});if(this.notifications.length>0&&(this.defaults.pool==0||$(this.element).find('div.jGrowl-notification:parent').size()<this.defaults.pool))
-this.render(this.notifications.shift());if($(this.element).find('div.jGrowl-notification:parent').size()<2){$(this.element).find('div.jGrowl-closer').animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){$(this).remove();});}},startup:function(e){this.element=$(e).addClass('jGrowl').append('<div class="jGrowl-notification"></div>');this.interval=setInterval(function(){$(e).data('jGrowl.instance').update();},parseInt(this.defaults.check));if($.browser.msie&&parseInt($.browser.version)<7&&!window["XMLHttpRequest"]){$(this.element).addClass('ie6');}},shutdown:function(){$(this.element).removeClass('jGrowl').find('div.jGrowl-notification').remove();clearInterval(this.interval);},close:function(){$(this.element).find('div.jGrowl-notification').each(function(){$(this).trigger('jGrowl.beforeClose');});}});$.jGrowl.defaults=$.fn.jGrowl.prototype.defaults;})(jQuery); \ No newline at end of file
+!function(a){a.jGrowl=function(b,c){0===a("#jGrowl").length&&a('<div id="jGrowl"></div>').addClass(c&&c.position?c.position:a.jGrowl.defaults.position).appendTo(c&&c.appendTo?c.appendTo:a.jGrowl.defaults.appendTo),a("#jGrowl").jGrowl(b,c)},a.fn.jGrowl=function(b,c){if(void 0===c&&a.isPlainObject(b)&&(c=b,b=c.message),a.isFunction(this.each)){var d=arguments;return this.each(function(){void 0===a(this).data("jGrowl.instance")&&(a(this).data("jGrowl.instance",a.extend(new a.fn.jGrowl,{notifications:[],element:null,interval:null})),a(this).data("jGrowl.instance").startup(this)),a.isFunction(a(this).data("jGrowl.instance")[b])?a(this).data("jGrowl.instance")[b].apply(a(this).data("jGrowl.instance"),a.makeArray(d).slice(1)):a(this).data("jGrowl.instance").create(b,c)})}},a.extend(a.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:!1,position:"top-right",appendTo:"body",glue:"after",theme:"default",themeState:"highlight",corners:"10px",check:250,life:3e3,closeDuration:"normal",openDuration:"normal",easing:"swing",closer:!0,closeTemplate:"&times;",closerTemplate:"<div>[ close all ]</div>",log:function(){},beforeOpen:function(){},afterOpen:function(){},open:function(){},beforeClose:function(){},close:function(){},click:function(){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:null,interval:null,create:function(b,c){var d=a.extend({},this.defaults,c);"undefined"!=typeof d.speed&&(d.openDuration=d.speed,d.closeDuration=d.speed),this.notifications.push({message:b,options:d}),d.log.apply(this.element,[this.element,b,d])},render:function(b){var c=this,d=b.message,e=b.options;e.themeState=""===e.themeState?"":"ui-state-"+e.themeState;var f=a("<div/>").addClass("jGrowl-notification alert "+e.themeState+" ui-corner-all"+(void 0!==e.group&&""!==e.group?" "+e.group:"")).append(a("<button/>").addClass("jGrowl-close").html(e.closeTemplate)).append(a("<div/>").addClass("jGrowl-header").html(e.header)).append(a("<div/>").addClass("jGrowl-message").html(d)).data("jGrowl",e).addClass(e.theme).children(".jGrowl-close").bind("click.jGrowl",function(){return a(this).parent().trigger("jGrowl.beforeClose"),!1}).parent();a(f).bind("mouseover.jGrowl",function(){a(".jGrowl-notification",c.element).data("jGrowl.pause",!0)}).bind("mouseout.jGrowl",function(){a(".jGrowl-notification",c.element).data("jGrowl.pause",!1)}).bind("jGrowl.beforeOpen",function(){e.beforeOpen.apply(f,[f,d,e,c.element])!==!1&&a(this).trigger("jGrowl.open")}).bind("jGrowl.open",function(){e.open.apply(f,[f,d,e,c.element])!==!1&&("after"==e.glue?a(".jGrowl-notification:last",c.element).after(f):a(".jGrowl-notification:first",c.element).before(f),a(this).animate(e.animateOpen,e.openDuration,e.easing,function(){a.support.opacity===!1&&this.style.removeAttribute("filter"),null!==a(this).data("jGrowl")&&"undefined"!=typeof a(this).data("jGrowl")&&(a(this).data("jGrowl").created=new Date),a(this).trigger("jGrowl.afterOpen")}))}).bind("jGrowl.afterOpen",function(){e.afterOpen.apply(f,[f,d,e,c.element])}).bind("click",function(){e.click.apply(f,[f.message,e,c.element])}).bind("jGrowl.beforeClose",function(){e.beforeClose.apply(f,[f,d,e,c.element])!==!1&&a(this).trigger("jGrowl.close")}).bind("jGrowl.close",function(){a(this).data("jGrowl.pause",!0),a(this).animate(e.animateClose,e.closeDuration,e.easing,function(){a.isFunction(e.close)?e.close.apply(f,[f,d,e,c.element])!==!1&&a(this).remove():a(this).remove()})}).trigger("jGrowl.beforeOpen"),""!==e.corners&&void 0!==a.fn.corner&&a(f).corner(e.corners),a(".jGrowl-notification:parent",c.element).length>1&&0===a(".jGrowl-closer",c.element).length&&this.defaults.closer!==!1&&a(this.defaults.closerTemplate).addClass("jGrowl-closer "+this.defaults.themeState+" ui-corner-all").addClass(this.defaults.theme).appendTo(c.element).animate(this.defaults.animateOpen,this.defaults.speed,this.defaults.easing).bind("click.jGrowl",function(){a(this).siblings().trigger("jGrowl.beforeClose"),a.isFunction(c.defaults.closer)&&c.defaults.closer.apply(a(this).parent()[0],[a(this).parent()[0]])})},update:function(){a(this.element).find(".jGrowl-notification:parent").each(function(){void 0!==a(this).data("jGrowl")&&void 0!==a(this).data("jGrowl").created&&a(this).data("jGrowl").created.getTime()+parseInt(a(this).data("jGrowl").life,10)<(new Date).getTime()&&a(this).data("jGrowl").sticky!==!0&&(void 0===a(this).data("jGrowl.pause")||a(this).data("jGrowl.pause")!==!0)&&a(this).trigger("jGrowl.beforeClose")}),this.notifications.length>0&&(0===this.defaults.pool||a(this.element).find(".jGrowl-notification:parent").length<this.defaults.pool)&&this.render(this.notifications.shift()),a(this.element).find(".jGrowl-notification:parent").length<2&&a(this.element).find(".jGrowl-closer").animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){a(this).remove()})},startup:function(b){this.element=a(b).addClass("jGrowl").append('<div class="jGrowl-notification"></div>'),this.interval=setInterval(function(){a(b).data("jGrowl.instance").update()},parseInt(this.defaults.check,10))},shutdown:function(){a(this.element).removeClass("jGrowl").find(".jGrowl-notification").trigger("jGrowl.close").parent().empty(),clearInterval(this.interval)},close:function(){a(this.element).find(".jGrowl-notification").each(function(){a(this).trigger("jGrowl.beforeClose")})}}),a.jGrowl.defaults=a.fn.jGrowl.prototype.defaults}(jQuery);
+//# sourceMappingURL=jquery.jgrowl.map \ No newline at end of file
diff --git a/library/jquery-textcomplete/LICENSE b/library/jquery-textcomplete/LICENSE
new file mode 100644
index 000000000..4848bd637
--- /dev/null
+++ b/library/jquery-textcomplete/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2013-2014 Yuku Takahashi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/library/jquery-textcomplete/jquery.textcomplete.js b/library/jquery-textcomplete/jquery.textcomplete.js
new file mode 100644
index 000000000..1e61683ea
--- /dev/null
+++ b/library/jquery-textcomplete/jquery.textcomplete.js
@@ -0,0 +1,1088 @@
+/*!
+ * jQuery.textcomplete
+ *
+ * Repository: https://github.com/yuku-t/jquery-textcomplete
+ * License: MIT (https://github.com/yuku-t/jquery-textcomplete/blob/master/LICENSE)
+ * Author: Yuku Takahashi
+ */
+
+if (typeof jQuery === 'undefined') {
+ throw new Error('jQuery.textcomplete requires jQuery');
+}
+
++function ($) {
+ 'use strict';
+
+ var warn = function (message) {
+ if (console.warn) { console.warn(message); }
+ };
+
+ $.fn.textcomplete = function (strategies, option) {
+ var args = Array.prototype.slice.call(arguments);
+ return this.each(function () {
+ var $this = $(this);
+ var completer = $this.data('textComplete');
+ if (!completer) {
+ completer = new $.fn.textcomplete.Completer(this, option || {});
+ $this.data('textComplete', completer);
+ }
+ if (typeof strategies === 'string') {
+ if (!completer) return;
+ args.shift()
+ completer[strategies].apply(completer, args);
+ if (strategies === 'destroy') {
+ $this.removeData('textComplete');
+ }
+ } else {
+ // For backward compatibility.
+ // TODO: Remove at v0.4
+ $.each(strategies, function (obj) {
+ $.each(['header', 'footer', 'placement', 'maxCount'], function (name) {
+ if (obj[name]) {
+ completer.option[name] = obj[name];
+ warn(name + 'as a strategy param is deprecated. Use option.');
+ delete obj[name];
+ }
+ });
+ });
+ completer.register($.fn.textcomplete.Strategy.parse(strategies));
+ }
+ });
+ };
+
+}(jQuery);
+
++function ($) {
+ 'use strict';
+
+ // Exclusive execution control utility.
+ //
+ // func - The function to be locked. It is executed with a function named
+ // `free` as the first argument. Once it is called, additional
+ // execution are ignored until the free is invoked. Then the last
+ // ignored execution will be replayed immediately.
+ //
+ // Examples
+ //
+ // var lockedFunc = lock(function (free) {
+ // setTimeout(function { free(); }, 1000); // It will be free in 1 sec.
+ // console.log('Hello, world');
+ // });
+ // lockedFunc(); // => 'Hello, world'
+ // lockedFunc(); // none
+ // lockedFunc(); // none
+ // // 1 sec past then
+ // // => 'Hello, world'
+ // lockedFunc(); // => 'Hello, world'
+ // lockedFunc(); // none
+ //
+ // Returns a wrapped function.
+ var lock = function (func) {
+ var locked, queuedArgsToReplay;
+
+ return function () {
+ // Convert arguments into a real array.
+ var args = Array.prototype.slice.call(arguments);
+ if (locked) {
+ // Keep a copy of this argument list to replay later.
+ // OK to overwrite a previous value because we only replay
+ // the last one.
+ queuedArgsToReplay = args;
+ return;
+ }
+ locked = true;
+ var self = this;
+ args.unshift(function replayOrFree() {
+ if (queuedArgsToReplay) {
+ // Other request(s) arrived while we were locked.
+ // Now that the lock is becoming available, replay
+ // the latest such request, then call back here to
+ // unlock (or replay another request that arrived
+ // while this one was in flight).
+ var replayArgs = queuedArgsToReplay;
+ queuedArgsToReplay = undefined;
+ replayArgs.unshift(replayOrFree);
+ func.apply(self, replayArgs);
+ } else {
+ locked = false;
+ }
+ });
+ func.apply(this, args);
+ };
+ };
+
+ var isString = function (obj) {
+ return Object.prototype.toString.call(obj) === '[object String]';
+ };
+
+ var uniqueId = 0;
+
+ function Completer(element, option) {
+ this.$el = $(element);
+ this.id = 'textcomplete' + uniqueId++;
+ this.strategies = [];
+ this.views = [];
+ this.option = $.extend({}, Completer._getDefaults(), option);
+
+ if (!this.$el.is('textarea') && !element.isContentEditable && element.contentEditable != 'true') {
+ throw new Error('textcomplete must be called on a Textarea or a ContentEditable.');
+ }
+
+ if (element === document.activeElement) {
+ // element has already been focused. Initialize view objects immediately.
+ this.initialize()
+ } else {
+ // Initialize view objects lazily.
+ var self = this;
+ this.$el.one('focus.' + this.id, function () { self.initialize(); });
+ }
+ }
+
+ Completer._getDefaults = function () {
+ if (!Completer.DEFAULTS) {
+ Completer.DEFAULTS = {
+ appendTo: $('body'),
+ zIndex: '100'
+ };
+ }
+
+ return Completer.DEFAULTS;
+ }
+
+ $.extend(Completer.prototype, {
+ // Public properties
+ // -----------------
+
+ id: null,
+ option: null,
+ strategies: null,
+ adapter: null,
+ dropdown: null,
+ $el: null,
+
+ // Public methods
+ // --------------
+
+ initialize: function () {
+ var element = this.$el.get(0);
+ // Initialize view objects.
+ this.dropdown = new $.fn.textcomplete.Dropdown(element, this, this.option);
+ var Adapter, viewName;
+ if (this.option.adapter) {
+ Adapter = this.option.adapter;
+ } else {
+ if (this.$el.is('textarea')) {
+ viewName = typeof element.selectionEnd === 'number' ? 'Textarea' : 'IETextarea';
+ } else {
+ viewName = 'ContentEditable';
+ }
+ Adapter = $.fn.textcomplete[viewName];
+ }
+ this.adapter = new Adapter(element, this, this.option);
+ },
+
+ destroy: function () {
+ this.$el.off('.' + this.id);
+ if (this.adapter) {
+ this.adapter.destroy();
+ }
+ if (this.dropdown) {
+ this.dropdown.destroy();
+ }
+ this.$el = this.adapter = this.dropdown = null;
+ },
+
+ // Invoke textcomplete.
+ trigger: function (text, skipUnchangedTerm) {
+ if (!this.dropdown) { this.initialize(); }
+ text != null || (text = this.adapter.getTextFromHeadToCaret());
+ var searchQuery = this._extractSearchQuery(text);
+ if (searchQuery.length) {
+ var term = searchQuery[1];
+ // Ignore shift-key, ctrl-key and so on.
+ if (skipUnchangedTerm && this._term === term) { return; }
+ this._term = term;
+ this._search.apply(this, searchQuery);
+ } else {
+ this._term = null;
+ this.dropdown.deactivate();
+ }
+ },
+
+ fire: function (eventName) {
+ var args = Array.prototype.slice.call(arguments, 1);
+ this.$el.trigger(eventName, args);
+ return this;
+ },
+
+ register: function (strategies) {
+ Array.prototype.push.apply(this.strategies, strategies);
+ },
+
+ // Insert the value into adapter view. It is called when the dropdown is clicked
+ // or selected.
+ //
+ // value - The selected element of the array callbacked from search func.
+ // strategy - The Strategy object.
+ select: function (value, strategy) {
+ this.adapter.select(value, strategy);
+ this.fire('change').fire('textComplete:select', value, strategy);
+ this.adapter.focus();
+ },
+
+ // Private properties
+ // ------------------
+
+ _clearAtNext: true,
+ _term: null,
+
+ // Private methods
+ // ---------------
+
+ // Parse the given text and extract the first matching strategy.
+ //
+ // Returns an array including the strategy, the query term and the match
+ // object if the text matches an strategy; otherwise returns an empty array.
+ _extractSearchQuery: function (text) {
+ for (var i = 0; i < this.strategies.length; i++) {
+ var strategy = this.strategies[i];
+ var context = strategy.context(text);
+ if (context || context === '') {
+ if (isString(context)) { text = context; }
+ var match = text.match(strategy.match);
+ if (match) { return [strategy, match[strategy.index], match]; }
+ }
+ }
+ return []
+ },
+
+ // Call the search method of selected strategy..
+ _search: lock(function (free, strategy, term, match) {
+ var self = this;
+ strategy.search(term, function (data, stillSearching) {
+ if (!self.dropdown.shown) {
+ self.dropdown.activate();
+ self.dropdown.setPosition(self.adapter.getCaretPosition());
+ }
+ if (self._clearAtNext) {
+ // The first callback in the current lock.
+ self.dropdown.clear();
+ self._clearAtNext = false;
+ }
+ self.dropdown.render(self._zip(data, strategy));
+ if (!stillSearching) {
+ // The last callback in the current lock.
+ free();
+ self._clearAtNext = true; // Call dropdown.clear at the next time.
+ }
+ }, match);
+ }),
+
+ // Build a parameter for Dropdown#render.
+ //
+ // Examples
+ //
+ // this._zip(['a', 'b'], 's');
+ // //=> [{ value: 'a', strategy: 's' }, { value: 'b', strategy: 's' }]
+ _zip: function (data, strategy) {
+ return $.map(data, function (value) {
+ return { value: value, strategy: strategy };
+ });
+ }
+ });
+
+ $.fn.textcomplete.Completer = Completer;
+}(jQuery);
+
++function ($) {
+ 'use strict';
+
+ var include = function (zippedData, datum) {
+ var i, elem;
+ var idProperty = datum.strategy.idProperty
+ for (i = 0; i < zippedData.length; i++) {
+ elem = zippedData[i];
+ if (elem.strategy !== datum.strategy) continue;
+ if (idProperty) {
+ if (elem.value[idProperty] === datum.value[idProperty]) return true;
+ } else {
+ if (elem.value === datum.value) return true;
+ }
+ }
+ return false;
+ };
+
+ var dropdownViews = {};
+ $(document).on('click', function (e) {
+ var id = e.originalEvent && e.originalEvent.keepTextCompleteDropdown;
+ $.each(dropdownViews, function (key, view) {
+ if (key !== id) { view.deactivate(); }
+ });
+ });
+
+ // Dropdown view
+ // =============
+
+ // Construct Dropdown object.
+ //
+ // element - Textarea or contenteditable element.
+ function Dropdown(element, completer, option) {
+ this.$el = Dropdown.findOrCreateElement(option);
+ this.completer = completer;
+ this.id = completer.id + 'dropdown';
+ this._data = []; // zipped data.
+ this.$inputEl = $(element);
+ this.option = option;
+
+ // Override setPosition method.
+ if (option.listPosition) { this.setPosition = option.listPosition; }
+ if (option.height) { this.$el.height(option.height); }
+ var self = this;
+ $.each(['maxCount', 'placement', 'footer', 'header', 'className'], function (_i, name) {
+ if (option[name] != null) { self[name] = option[name]; }
+ });
+ this._bindEvents(element);
+ dropdownViews[this.id] = this;
+ }
+
+ $.extend(Dropdown, {
+ // Class methods
+ // -------------
+
+ findOrCreateElement: function (option) {
+ var $parent = option.appendTo;
+ if (!($parent instanceof $)) { $parent = $($parent); }
+ var $el = $parent.children('.dropdown-menu')
+ if (!$el.length) {
+ $el = $('<ul class="dropdown-menu"></ul>').css({
+ display: 'none',
+ left: 0,
+ position: 'absolute',
+ zIndex: option.zIndex
+ }).appendTo($parent);
+ }
+ return $el;
+ }
+ });
+
+ $.extend(Dropdown.prototype, {
+ // Public properties
+ // -----------------
+
+ $el: null, // jQuery object of ul.dropdown-menu element.
+ $inputEl: null, // jQuery object of target textarea.
+ completer: null,
+ footer: null,
+ header: null,
+ id: null,
+ maxCount: 10,
+ placement: '',
+ shown: false,
+ data: [], // Shown zipped data.
+ className: '',
+
+ // Public methods
+ // --------------
+
+ destroy: function () {
+ // Don't remove $el because it may be shared by several textcompletes.
+ this.deactivate();
+
+ this.$el.off('.' + this.id);
+ this.$inputEl.off('.' + this.id);
+ this.clear();
+ this.$el = this.$inputEl = this.completer = null;
+ delete dropdownViews[this.id]
+ },
+
+ render: function (zippedData) {
+ var contentsHtml = this._buildContents(zippedData);
+ var unzippedData = $.map(this.data, function (d) { return d.value; });
+ if (this.data.length) {
+ this._renderHeader(unzippedData);
+ this._renderFooter(unzippedData);
+ if (contentsHtml) {
+ this._renderContents(contentsHtml);
+ this._activateIndexedItem();
+ }
+ this._setScroll();
+ } else if (this.shown) {
+ this.deactivate();
+ }
+ },
+
+ setPosition: function (position) {
+ this.$el.css(this._applyPlacement(position));
+ return this;
+ },
+
+ clear: function () {
+ this.$el.html('');
+ this.data = [];
+ this._index = 0;
+ this._$header = this._$footer = null;
+ },
+
+ activate: function () {
+ if (!this.shown) {
+ this.clear();
+ this.$el.show();
+ if (this.className) { this.$el.addClass(this.className); }
+ this.completer.fire('textComplete:show');
+ this.shown = true;
+ }
+ return this;
+ },
+
+ deactivate: function () {
+ if (this.shown) {
+ this.$el.hide();
+ if (this.className) { this.$el.removeClass(this.className); }
+ this.completer.fire('textComplete:hide');
+ this.shown = false;
+ }
+ return this;
+ },
+
+ isUp: function (e) {
+ return e.keyCode === 38 || (e.ctrlKey && e.keyCode === 80); // UP, Ctrl-P
+ },
+
+ isDown: function (e) {
+ return e.keyCode === 40 || (e.ctrlKey && e.keyCode === 78); // DOWN, Ctrl-N
+ },
+
+ isEnter: function (e) {
+ var modifiers = e.ctrlKey || e.altKey || e.metaKey || e.shiftKey;
+ return !modifiers && (e.keyCode === 13 || e.keyCode === 9 || (this.option.completeOnSpace === true && e.keyCode === 32)) // ENTER, TAB
+ },
+
+ isPageup: function (e) {
+ return e.keyCode === 33; // PAGEUP
+ },
+
+ isPagedown: function (e) {
+ return e.keyCode === 34; // PAGEDOWN
+ },
+
+ // Private properties
+ // ------------------
+
+ _data: null, // Currently shown zipped data.
+ _index: null,
+ _$header: null,
+ _$footer: null,
+
+ // Private methods
+ // ---------------
+
+ _bindEvents: function () {
+ this.$el.on('mousedown.' + this.id, '.textcomplete-item', $.proxy(this._onClick, this))
+ this.$el.on('mouseover.' + this.id, '.textcomplete-item', $.proxy(this._onMouseover, this));
+ this.$inputEl.on('keydown.' + this.id, $.proxy(this._onKeydown, this));
+ },
+
+ _onClick: function (e) {
+ var $el = $(e.target);
+ e.preventDefault();
+ e.originalEvent.keepTextCompleteDropdown = this.id;
+ if (!$el.hasClass('textcomplete-item')) {
+ $el = $el.closest('.textcomplete-item');
+ }
+ var datum = this.data[parseInt($el.data('index'), 10)];
+ this.completer.select(datum.value, datum.strategy);
+ var self = this;
+ // Deactive at next tick to allow other event handlers to know whether
+ // the dropdown has been shown or not.
+ setTimeout(function () { self.deactivate(); }, 0);
+ },
+
+ // Activate hovered item.
+ _onMouseover: function (e) {
+ var $el = $(e.target);
+ e.preventDefault();
+ if (!$el.hasClass('textcomplete-item')) {
+ $el = $el.closest('.textcomplete-item');
+ }
+ this._index = parseInt($el.data('index'), 10);
+ this._activateIndexedItem();
+ },
+
+ _onKeydown: function (e) {
+ if (!this.shown) { return; }
+ if (this.isUp(e)) {
+ e.preventDefault();
+ this._up();
+ } else if (this.isDown(e)) {
+ e.preventDefault();
+ this._down();
+ } else if (this.isEnter(e)) {
+ e.preventDefault();
+ this._enter();
+ } else if (this.isPageup(e)) {
+ e.preventDefault();
+ this._pageup();
+ } else if (this.isPagedown(e)) {
+ e.preventDefault();
+ this._pagedown();
+ }
+ },
+
+ _up: function () {
+ if (this._index === 0) {
+ this._index = this.data.length - 1;
+ } else {
+ this._index -= 1;
+ }
+ this._activateIndexedItem();
+ this._setScroll();
+ },
+
+ _down: function () {
+ if (this._index === this.data.length - 1) {
+ this._index = 0;
+ } else {
+ this._index += 1;
+ }
+ this._activateIndexedItem();
+ this._setScroll();
+ },
+
+ _enter: function () {
+ var datum = this.data[parseInt(this._getActiveElement().data('index'), 10)];
+ this.completer.select(datum.value, datum.strategy);
+ this._setScroll();
+ },
+
+ _pageup: function () {
+ var target = 0;
+ var threshold = this._getActiveElement().position().top - this.$el.innerHeight();
+ this.$el.children().each(function (i) {
+ if ($(this).position().top + $(this).outerHeight() > threshold) {
+ target = i;
+ return false;
+ }
+ });
+ this._index = target;
+ this._activateIndexedItem();
+ this._setScroll();
+ },
+
+ _pagedown: function () {
+ var target = this.data.length - 1;
+ var threshold = this._getActiveElement().position().top + this.$el.innerHeight();
+ this.$el.children().each(function (i) {
+ if ($(this).position().top > threshold) {
+ target = i;
+ return false
+ }
+ });
+ this._index = target;
+ this._activateIndexedItem();
+ this._setScroll();
+ },
+
+ _activateIndexedItem: function () {
+ this.$el.find('.textcomplete-item.active').removeClass('active');
+ this._getActiveElement().addClass('active');
+ },
+
+ _getActiveElement: function () {
+ return this.$el.children('.textcomplete-item:nth(' + this._index + ')');
+ },
+
+ _setScroll: function () {
+ var $activeEl = this._getActiveElement();
+ var itemTop = $activeEl.position().top;
+ var itemHeight = $activeEl.outerHeight();
+ var visibleHeight = this.$el.innerHeight();
+ var visibleTop = this.$el.scrollTop();
+ if (this._index === 0 || this._index == this.data.length - 1 || itemTop < 0) {
+ this.$el.scrollTop(itemTop + visibleTop);
+ } else if (itemTop + itemHeight > visibleHeight) {
+ this.$el.scrollTop(itemTop + itemHeight + visibleTop - visibleHeight);
+ }
+ },
+
+ _buildContents: function (zippedData) {
+ var datum, i, index;
+ var html = '';
+ for (i = 0; i < zippedData.length; i++) {
+ if (this.data.length === this.maxCount) break;
+ datum = zippedData[i];
+ if (include(this.data, datum)) { continue; }
+ index = this.data.length;
+ this.data.push(datum);
+ html += '<li class="textcomplete-item" data-index="' + index + '"><a>';
+ html += datum.strategy.template(datum.value);
+ html += '</a></li>';
+ }
+ return html;
+ },
+
+ _renderHeader: function (unzippedData) {
+ if (this.header) {
+ if (!this._$header) {
+ this._$header = $('<li class="textcomplete-header"></li>').prependTo(this.$el);
+ }
+ var html = $.isFunction(this.header) ? this.header(unzippedData) : this.header;
+ this._$header.html(html);
+ }
+ },
+
+ _renderFooter: function (unzippedData) {
+ if (this.footer) {
+ if (!this._$footer) {
+ this._$footer = $('<li class="textcomplete-footer"></li>').appendTo(this.$el);
+ }
+ var html = $.isFunction(this.footer) ? this.footer(unzippedData) : this.footer;
+ this._$footer.html(html);
+ }
+ },
+
+ _renderContents: function (html) {
+ if (this._$footer) {
+ this._$footer.before(html);
+ } else {
+ this.$el.append(html);
+ }
+ },
+
+ _applyPlacement: function (position) {
+ // If the 'placement' option set to 'top', move the position above the element.
+ if (this.placement.indexOf('top') !== -1) {
+ // Overwrite the position object to set the 'bottom' property instead of the top.
+ position = {
+ top: 'auto',
+ bottom: this.$el.parent().height() - position.top + position.lineHeight,
+ left: position.left
+ };
+ } else {
+ position.bottom = 'auto';
+ delete position.lineHeight;
+ }
+ if (this.placement.indexOf('absleft') !== -1) {
+ position.left = 0;
+ } else if (this.placement.indexOf('absright') !== -1) {
+ position.right = 0;
+ position.left = 'auto';
+ }
+ return position;
+ }
+ });
+
+ $.fn.textcomplete.Dropdown = Dropdown;
+}(jQuery);
+
++function ($) {
+ 'use strict';
+
+ // Memoize a search function.
+ var memoize = function (func) {
+ var memo = {};
+ return function (term, callback) {
+ if (memo[term]) {
+ callback(memo[term]);
+ } else {
+ func.call(this, term, function (data) {
+ memo[term] = (memo[term] || []).concat(data);
+ callback.apply(null, arguments);
+ });
+ }
+ };
+ };
+
+ function Strategy(options) {
+ $.extend(this, options);
+ if (this.cache) { this.search = memoize(this.search); }
+ }
+
+ Strategy.parse = function (optionsArray) {
+ return $.map(optionsArray, function (options) {
+ return new Strategy(options);
+ });
+ };
+
+ $.extend(Strategy.prototype, {
+ // Public properties
+ // -----------------
+
+ // Required
+ match: null,
+ replace: null,
+ search: null,
+
+ // Optional
+ cache: false,
+ context: function () { return true; },
+ index: 2,
+ template: function (obj) { return obj; },
+ idProperty: null
+ });
+
+ $.fn.textcomplete.Strategy = Strategy;
+
+}(jQuery);
+
++function ($) {
+ 'use strict';
+
+ var now = Date.now || function () { return new Date().getTime(); };
+
+ // Returns a function, that, as long as it continues to be invoked, will not
+ // be triggered. The function will be called after it stops being called for
+ // `wait` msec.
+ //
+ // This utility function was originally implemented at Underscore.js.
+ var debounce = function (func, wait) {
+ var timeout, args, context, timestamp, result;
+ var later = function () {
+ var last = now() - timestamp;
+ if (last < wait) {
+ timeout = setTimeout(later, wait - last);
+ } else {
+ timeout = null;
+ result = func.apply(context, args);
+ context = args = null;
+ }
+ };
+
+ return function () {
+ context = this;
+ args = arguments;
+ timestamp = now();
+ if (!timeout) {
+ timeout = setTimeout(later, wait);
+ }
+ return result;
+ };
+ };
+
+ function Adapter () {}
+
+ $.extend(Adapter.prototype, {
+ // Public properties
+ // -----------------
+
+ id: null, // Identity.
+ completer: null, // Completer object which creates it.
+ el: null, // Textarea element.
+ $el: null, // jQuery object of the textarea.
+ option: null,
+
+ // Public methods
+ // --------------
+
+ initialize: function (element, completer, option) {
+ this.el = element;
+ this.$el = $(element);
+ this.id = completer.id + this.constructor.name;
+ this.completer = completer;
+ this.option = option;
+
+ if (this.option.debounce) {
+ this._onKeyup = debounce(this._onKeyup, this.option.debounce);
+ }
+
+ this._bindEvents();
+ },
+
+ destroy: function () {
+ this.$el.off('.' + this.id); // Remove all event handlers.
+ this.$el = this.el = this.completer = null;
+ },
+
+ // Update the element with the given value and strategy.
+ //
+ // value - The selected object. It is one of the item of the array
+ // which was callbacked from the search function.
+ // strategy - The Strategy associated with the selected value.
+ select: function (/* value, strategy */) {
+ throw new Error('Not implemented');
+ },
+
+ // Returns the caret's relative coordinates from body's left top corner.
+ //
+ // FIXME: Calculate the left top corner of `this.option.appendTo` element.
+ getCaretPosition: function () {
+ var position = this._getCaretRelativePosition();
+ var offset = this.$el.offset();
+ position.top += offset.top;
+ position.left += offset.left;
+ return position;
+ },
+
+ // Focus on the element.
+ focus: function () {
+ this.$el.focus();
+ },
+
+ // Private methods
+ // ---------------
+
+ _bindEvents: function () {
+ this.$el.on('keyup.' + this.id, $.proxy(this._onKeyup, this));
+ },
+
+ _onKeyup: function (e) {
+ if (this._skipSearch(e)) { return; }
+ this.completer.trigger(this.getTextFromHeadToCaret(), true);
+ },
+
+ // Suppress searching if it returns true.
+ _skipSearch: function (clickEvent) {
+ switch (clickEvent.keyCode) {
+ case 40: // DOWN
+ case 38: // UP
+ return true;
+ }
+ if (clickEvent.ctrlKey) switch (clickEvent.keyCode) {
+ case 78: // Ctrl-N
+ case 80: // Ctrl-P
+ return true;
+ }
+ }
+ });
+
+ $.fn.textcomplete.Adapter = Adapter;
+}(jQuery);
+
++function ($) {
+ 'use strict';
+
+ // Textarea adapter
+ // ================
+ //
+ // Managing a textarea. It doesn't know a Dropdown.
+ function Textarea(element, completer, option) {
+ this.initialize(element, completer, option);
+ }
+
+ Textarea.DIV_PROPERTIES = {
+ left: -9999,
+ position: 'absolute',
+ top: 0,
+ whiteSpace: 'pre-wrap'
+ }
+
+ Textarea.COPY_PROPERTIES = [
+ 'border-width', 'font-family', 'font-size', 'font-style', 'font-variant',
+ 'font-weight', 'height', 'letter-spacing', 'word-spacing', 'line-height',
+ 'text-decoration', 'text-align', 'width', 'padding-top', 'padding-right',
+ 'padding-bottom', 'padding-left', 'margin-top', 'margin-right',
+ 'margin-bottom', 'margin-left', 'border-style', 'box-sizing', 'tab-size'
+ ];
+
+ $.extend(Textarea.prototype, $.fn.textcomplete.Adapter.prototype, {
+ // Public methods
+ // --------------
+
+ // Update the textarea with the given value and strategy.
+ select: function (value, strategy) {
+ var pre = this.getTextFromHeadToCaret();
+ var post = this.el.value.substring(this.el.selectionEnd);
+ var newSubstr = strategy.replace(value);
+ if ($.isArray(newSubstr)) {
+ post = newSubstr[1] + post;
+ newSubstr = newSubstr[0];
+ }
+ pre = pre.replace(strategy.match, newSubstr);
+ this.$el.val(pre + post);
+ this.el.selectionStart = this.el.selectionEnd = pre.length;
+ },
+
+ // Private methods
+ // ---------------
+
+ // Returns the caret's relative coordinates from textarea's left top corner.
+ //
+ // Browser native API does not provide the way to know the position of
+ // caret in pixels, so that here we use a kind of hack to accomplish
+ // the aim. First of all it puts a dummy div element and completely copies
+ // the textarea's style to the element, then it inserts the text and a
+ // span element into the textarea.
+ // Consequently, the span element's position is the thing what we want.
+ _getCaretRelativePosition: function () {
+ var dummyDiv = $('<div></div>').css(this._copyCss())
+ .text(this.getTextFromHeadToCaret());
+ var span = $('<span></span>').text('.').appendTo(dummyDiv);
+ this.$el.before(dummyDiv);
+ var position = span.position();
+ position.top += span.height() - this.$el.scrollTop();
+ position.lineHeight = span.height();
+ dummyDiv.remove();
+ return position;
+ },
+
+ _copyCss: function () {
+ return $.extend({
+ // Set 'scroll' if a scrollbar is being shown; otherwise 'auto'.
+ overflow: this.el.scrollHeight > this.el.offsetHeight ? 'scroll' : 'auto'
+ }, Textarea.DIV_PROPERTIES, this._getStyles());
+ },
+
+ _getStyles: (function ($) {
+ var color = $('<div></div>').css(['color']).color;
+ if (typeof color !== 'undefined') {
+ return function () {
+ return this.$el.css(Textarea.COPY_PROPERTIES);
+ };
+ } else { // jQuery < 1.8
+ return function () {
+ var $el = this.$el;
+ var styles = {};
+ $.each(Textarea.COPY_PROPERTIES, function (i, property) {
+ styles[property] = $el.css(property);
+ });
+ return styles;
+ };
+ }
+ })($),
+
+ getTextFromHeadToCaret: function () {
+ return this.el.value.substring(0, this.el.selectionEnd);
+ }
+ });
+
+ $.fn.textcomplete.Textarea = Textarea;
+}(jQuery);
+
++function ($) {
+ 'use strict';
+
+ var sentinelChar = 'å¶';
+
+ function IETextarea(element, completer, option) {
+ this.initialize(element, completer, option);
+ $('<span>' + sentinelChar + '</span>').css({
+ position: 'absolute',
+ top: -9999,
+ left: -9999
+ }).insertBefore(element);
+ }
+
+ $.extend(IETextarea.prototype, $.fn.textcomplete.Textarea.prototype, {
+ // Public methods
+ // --------------
+
+ select: function (value, strategy) {
+ var pre = this.getTextFromHeadToCaret();
+ var post = this.el.value.substring(pre.length);
+ var newSubstr = strategy.replace(value);
+ if ($.isArray(newSubstr)) {
+ post = newSubstr[1] + post;
+ newSubstr = newSubstr[0];
+ }
+ pre = pre.replace(strategy.match, newSubstr);
+ this.$el.val(pre + post);
+ this.el.focus();
+ var range = this.el.createTextRange();
+ range.collapse(true);
+ range.moveEnd('character', pre.length);
+ range.moveStart('character', pre.length);
+ range.select();
+ },
+
+ getTextFromHeadToCaret: function () {
+ this.el.focus();
+ var range = document.selection.createRange();
+ range.moveStart('character', -this.el.value.length);
+ var arr = range.text.split(sentinelChar)
+ return arr.length === 1 ? arr[0] : arr[1];
+ }
+ });
+
+ $.fn.textcomplete.IETextarea = IETextarea;
+}(jQuery);
+
+// NOTE: TextComplete plugin has contenteditable support but it does not work
+// fine especially on old IEs.
+// Any pull requests are REALLY welcome.
+
++function ($) {
+ 'use strict';
+
+ // ContentEditable adapter
+ // =======================
+ //
+ // Adapter for contenteditable elements.
+ function ContentEditable (element, completer, option) {
+ this.initialize(element, completer, option);
+ }
+
+ $.extend(ContentEditable.prototype, $.fn.textcomplete.Adapter.prototype, {
+ // Public methods
+ // --------------
+
+ // Update the content with the given value and strategy.
+ // When an dropdown item is selected, it is executed.
+ select: function (value, strategy) {
+ var pre = this.getTextFromHeadToCaret();
+ var sel = window.getSelection()
+ var range = sel.getRangeAt(0);
+ var selection = range.cloneRange();
+ selection.selectNodeContents(range.startContainer);
+ var content = selection.toString();
+ var post = content.substring(range.startOffset);
+ var newSubstr = strategy.replace(value);
+ if ($.isArray(newSubstr)) {
+ post = newSubstr[1] + post;
+ newSubstr = newSubstr[0];
+ }
+ pre = pre.replace(strategy.match, newSubstr);
+ range.selectNodeContents(range.startContainer);
+ range.deleteContents();
+ var node = document.createTextNode(pre + post);
+ range.insertNode(node);
+ range.setStart(node, pre.length);
+ range.collapse(true);
+ sel.removeAllRanges();
+ sel.addRange(range);
+ },
+
+ // Private methods
+ // ---------------
+
+ // Returns the caret's relative position from the contenteditable's
+ // left top corner.
+ //
+ // Examples
+ //
+ // this._getCaretRelativePosition()
+ // //=> { top: 18, left: 200, lineHeight: 16 }
+ //
+ // Dropdown's position will be decided using the result.
+ _getCaretRelativePosition: function () {
+ var range = window.getSelection().getRangeAt(0).cloneRange();
+ var node = document.createElement('span');
+ range.insertNode(node);
+ range.selectNodeContents(node);
+ range.deleteContents();
+ var $node = $(node);
+ var position = $node.offset();
+ position.left -= this.$el.offset().left;
+ position.top += $node.height() - this.$el.offset().top;
+ position.lineHeight = $node.height();
+ var dir = this.$el.attr('dir') || this.$el.css('direction');
+ if (dir === 'rtl') { position.left -= this.listView.$el.width(); }
+ return position;
+ },
+
+ // Returns the string between the first character and the caret.
+ // Completer will be triggered with the result for start autocompleting.
+ //
+ // Example
+ //
+ // // Suppose the html is '<b>hello</b> wor|ld' and | is the caret.
+ // this.getTextFromHeadToCaret()
+ // // => ' wor' // not '<b>hello</b> wor'
+ getTextFromHeadToCaret: function () {
+ var range = window.getSelection().getRangeAt(0);
+ var selection = range.cloneRange();
+ selection.selectNodeContents(range.startContainer);
+ return selection.toString().substring(0, range.startOffset);
+ }
+ });
+
+ $.fn.textcomplete.ContentEditable = ContentEditable;
+}(jQuery);
diff --git a/library/jquery.AreYouSure/.gitignore b/library/jquery.AreYouSure/.gitignore
new file mode 100644
index 000000000..345f0dbeb
--- /dev/null
+++ b/library/jquery.AreYouSure/.gitignore
@@ -0,0 +1,166 @@
+#################
+## Eclipse
+#################
+
+*.pydevproject
+.project
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.classpath
+.settings/
+.loadpath
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# CDT-specific
+.cproject
+
+# PDT-specific
+.buildpath
+
+
+#################
+## Visual Studio
+#################
+
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.suo
+*.user
+*.sln.docstates
+
+# Build results
+[Dd]ebug/
+[Rr]elease/
+*_i.c
+*_p.c
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.vspscc
+.builds
+*.dotCover
+
+## TODO: If you have NuGet Package Restore enabled, uncomment this
+#packages/
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opensdf
+*.sdf
+
+# Visual Studio profiler
+*.psess
+*.vsp
+
+# ReSharper is a .NET coding add-in
+_ReSharper*
+
+# Installshield output folder
+[Ee]xpress
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish
+
+# Others
+[Bb]in
+[Oo]bj
+sql
+TestResults
+*.Cache
+ClientBin
+stylecop.*
+~$*
+*.dbmdl
+Generated_Code #added for RIA/Silverlight projects
+
+# Backup & report files from converting an old project file to a newer
+# Visual Studio version. Backup files are not needed, because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+
+
+
+############
+## Windows
+############
+
+# Windows image file caches
+Thumbs.db
+
+# Folder config file
+Desktop.ini
+
+
+#############
+## Python
+#############
+
+*.py[co]
+
+# Packages
+*.egg
+*.egg-info
+dist
+build
+eggs
+parts
+bin
+var
+sdist
+develop-eggs
+.installed.cfg
+
+# Installer logs
+pip-log.txt
+
+# Unit test / coverage reports
+.coverage
+.tox
+
+#Translations
+*.mo
+
+#Mr Developer
+.mr.developer.cfg
+
+# Mac crap
+.DS_Store
+
+bower_components/
+node_modules/
diff --git a/library/jquery.AreYouSure/Gruntfile.js b/library/jquery.AreYouSure/Gruntfile.js
new file mode 100644
index 000000000..efca34c0a
--- /dev/null
+++ b/library/jquery.AreYouSure/Gruntfile.js
@@ -0,0 +1,26 @@
+module.exports = function(grunt) {
+ grunt.config.init({
+ karma: {
+ options: {
+ browsers: [ 'Chrome', 'Firefox', 'Safari', 'IE' ],
+ frameworks: [ 'jasmine' ],
+ reportSlowerThan: 500,
+ singleRun: true
+ },
+ unit: {
+ files: [
+ { pattern: 'bower_components/jquery/dist/jquery.min.js' },
+ { pattern: 'bower_components/jasmine-jquery/lib/jasmine-jquery.js' },
+ { pattern: 'jquery.are-you-sure.js' },
+ { pattern: 'spec/javascripts/*.js' },
+ { pattern: 'spec/javascripts/fixtures/**/*.html', included: false }
+ ]
+ }
+ }
+ });
+
+ grunt.registerTask('test', 'Run tests.', [ 'karma' ]);
+ grunt.registerTask('default', [ 'test' ]);
+
+ grunt.loadNpmTasks('grunt-karma');
+};
diff --git a/library/jquery.AreYouSure/README.md b/library/jquery.AreYouSure/README.md
new file mode 100644
index 000000000..6a538648a
--- /dev/null
+++ b/library/jquery.AreYouSure/README.md
@@ -0,0 +1,297 @@
+Are You Sure? - A light "dirty forms" JQuery Plugin
+======
+**Version:** 1.9
+
+*Are-you-sure* (```jquery.are-you-sure.js```) is simple light-weight "dirty
+form" JQuery Plugin for modern browsers. It helps prevent users from losing
+unsaved HTML Form changes by promoting the user to save/submit.
+
+It's simple to use. Just add the following line to your page's ready
+function:
+
+```javascript
+$('form').areYouSure();
+```
+
+*Are-you-sure* is a minimal plugin for modern browsers. There are plenty of
+"dirty forms" implementations out there, however they all seemed very
+heavyweight and over-engineered...! Most were written some time back and
+contain many 'hacks' to support legacy browsers, and/or rely on other fat
+dependencies such as FaceBox or jQueryUI. *Are-you-sure* solves this by
+doing this simple task in the simplest possible way.
+
+*Are-you-sure* is as simple as it gets:
+
+ * 100% JS with zero dependencies and no external CSS.
+ * Leverages `onBeforeUnload` to detect all page/browser exit events.
+ * Works on forms of any size.
+ * Correct state management - if a user edits then restores a value, the form
+ is not considered dirty.
+ * Easy to understand - less than a "terminal screen" of code!
+ * Graceful degradation on legacy browsers (i.e. if you're running an old
+ browser... remember to save :-)
+
+###Basic Usage
+
+```javascript
+
+$(function() {
+
+ // Enable on all forms
+ $('form').areYouSure();
+
+ // Enable on selected forms
+ $('form.dirty-check').areYouSure();
+
+ // With a custom message
+ $('form').areYouSure( {'message':'Your profile details are not saved!'} );
+
+}
+```
+To ignore selected fields from the dirtyness check:
+
+```html
+ <form id="myForm" name="myform" action="/post" method="post">
+
+ Field 1: (checked) <input type="text" name="field1"> <br />
+ Field 2: (ignored): <input type="text" name="field2" data-ays-ignore="true"> <br />
+ Field 3: (ignored): <input type="text" name="field3" class="ays-ignore"> <br />
+
+ <input type="submit" value="Submit">
+
+ </form>
+```
+
+###Advanced Usage
+
+```javascript
+
+$(function() {
+
+ /*
+ * Make Are-You-Sure "silent" by disabling the warning message
+ * (tracking/monitoring only mode). This option is useful when you wish to
+ * use the dirty/save events and/or use the dirtyness tracking in your own
+ * beforeunload handler.
+ */
+ $('form').areYouSure( {'silent':true} );
+
+ /*
+ * Dirtyness Change Events
+ * Are-You-Sure fires off "dirty" and "clean" events when the form's state
+ * changes. You can bind() or on(), these events to implement your own form
+ * state logic. A good example is enabling/disabling a Save button.
+ *
+ * "this" refers to the form that fired the event.
+ */
+ $('form').on('dirty.areYouSure', function() {
+ // Enable save button only as the form is dirty.
+ $(this).find('input[type="submit"]').removeAttr('disabled');
+ });
+ $('form').on('clean.areYouSure', function() {
+ // Form is clean so nothing to save - disable the save button.
+ $(this).find('input[type="submit"]').attr('disabled', 'disabled');
+ });
+
+ /*
+ * It's easy to test if a form is dirty in your own code - just check
+ * to see if it has a "dirty" CSS class.
+ */
+ if ($('#my-form').hasClass('dirty')) {
+ // Do something
+ }
+
+ /*
+ * If you're dynamically adding new fields/inputs, and would like to track
+ * their state, trigger Are-You-Sure to rescan the form like this:
+ */
+ $('#my-form').trigger('rescan.areYouSure');
+
+ /*
+ * If you'd like to reset/reinitialize the form's state as clean and
+ * start tracking again from this new point onwards, trigger the
+ * reinitalize as follows. This is handy if say you've managing your
+ * own form save/submit via asyc AJAX.
+ */
+ $('#my-form').trigger('reinitialize.areYouSure');
+
+ /*
+ * In some situations it may be desirable to look for other form
+ * changes such as adding/removing fields. This is useful for forms that
+ * can change their field count, such as address/phone contact forms.
+ * Form example, you might remove a phone number from a contact form
+ * but update nothing else. This should mark the form as dirty.
+ */
+ $('form').areYouSure( {'addRemoveFieldsMarksDirty':true} );
+
+ /*
+ * Sometimes you may have advanced forms that change their state via
+ * custom JavaScript or 3rd-party component JavaScript. Are-You-Sure may
+ * not automatically detect these state changes. Examples include:
+ * - Updating a hidden input field via background JS.
+ * - Using a [rich WYSIWYG edit control](https://github.com/codedance/jquery.AreYouSure/issues/17).
+ * One solution is to manually trigger a form check as follows:
+ */
+ $('#my-form').trigger('checkform.areYouSure');
+
+ /*
+ * As an alternative to using events, you can pass in a custom change
+ * function.
+ */
+ $('#my-adv-form').areYouSure({
+ change: function() {
+ // Enable save button only if the form is dirty. i.e. something to save.
+ if ($(this).hasClass('dirty')) {
+ $(this).find('input[type="submit"]').removeAttr('disabled');
+ } else {
+ $(this).find('input[type="submit"]').attr('disabled', 'disabled');
+ }
+ }
+ });
+
+ /*
+ * Mixing in your own logic into the warning.
+ */
+ $('#my-form').areYouSure( {'silent':true} );
+ $(window).on('beforeunload', function() {
+ isSunday = (0 == (new Date()).getDay());
+ if ($('#my-form').hasClass('dirty') && isSunday) {
+ return "Because it's Sunday, I'll be nice and let you know you forgot to save!";
+ }
+ }
+
+}
+```
+The [demo page](http://www.papercut.com/products/free_software/are-you-sure/demo/are-you-sure-demo.html)
+shows the advanced usage options in more detail.
+
+
+###Install
+Are-You-Sure is a light-weight jQuery plugin - it's a single standalone
+JavaScript file. You can download the
+[jquery.are-you-sure.js](https://raw.github.com/codedance/jquery.AreYouSure/master/jquery.are-you-sure.js)
+file and include it in your page. Because it's so simple it seems a shame
+to add an extra browser round trip. It's recommended that you consider
+concatenating it with other common JS lib files, and/or even cut-n-pasting
+the code (and license header) into one of your existing JS files.
+
+For experimental Mobile Safari support, also include ```ays-beforeunload-shim.js```
+(see Known Issues below).
+
+*Are-you-sure* may also be installed with [Bower](http://twitter.github.com/bower/):
+
+```bash
+$ bower install jquery.are-you-sure
+```
+
+If you're using, or like, *Are-you-sure* make sure you **star/watch** this project
+so you can stay up-to-date with updates.
+
+###Demo
+This [demo page](http://www.papercut.com/products/free_software/are-you-sure/demo/are-you-sure-demo.html)
+hosts a number of example forms.
+
+###Supported Browsers
+*Are-you-sure* has been tested on and fully supports the following browsers:
+
+* IE 9 through 11
+* Google Chrome (versions since 2012)
+* Firefox (versions since 2012)
+* Safari (versions since 2012)
+
+Experimental support is available on iOS and Opera via the *beforeunload* shim (see below).
+
+###Known Issues & Limitations
+
+####Mobile Safari and Opera
+The ```windows.beforeunload``` event is not supported on iOS (iPhone, iPad, and iPod). An
+experimental shim offering partial *beforeunload* emulation is provided to help plug this gap.
+It works by scanning the page for anchor links and augments the default behaviour to first
+check with *Are-you-sure* before navigating away. To use, simply include
+```ays-beforeunload-shim.js``` in your page.
+
+####Firefox
+The custom message option may not work on Firefox ([Firefox bug 588292](https://bugzilla.mozilla.org/show_bug.cgi?id=588292)).
+
+###Development
+The aim is to keep *Are-you-sure* simple and light. If you think you have
+a good idea which is aligned with this objective, please voice your thoughts
+in the issues list.
+
+####Pull Requests
+If possible, please submit your pull request against the most recent ```dev-*``` branch rather than master. This will make it easier to merge your code into the next planned release.
+
+####Running tests
+```bash
+$ npm install
+$ npm test
+```
+
+###Release History
+
+**2014-08-13** (1.9) - This is a minor bugfix release:
+
+* Addressed issue [#45](https://github.com/codedance/jquery.AreYouSure/issues/55) seen with empty select fields.
+* Thanks [valgen](https://github.com/valgen) and [tus124](https://github.com/tus124) for the contribution.
+
+**2014-06-22** (1.8) - This is a minor bugfix release:
+
+* Fixed NPE that may occur when using a 'multiple' option field.
+* Minor timing tweak to help mitigate bypass issue raised in [#45](https://github.com/codedance/jquery.AreYouSure/issues/45)
+* Thanks [apassant](https://github.com/apassant) and [amatenkov](https://github.com/amatenkov) for the contribution.
+
+**2014-05-28** (1.7)
+
+* Fixed multiple warning dialogs that may appear on IE and recent versions of Chrome
+* Experimental support for iOS Mobile Safari (via a *beforeunload* shim)
+* Various minor fixes (e.g. support input fields with no type=)
+* Minor performance improvements on pages with multiple forms
+* Improved documentation and examples
+* Thanks to [lfjeff](https://github.com/lfjeff) and [aqlong](https://github.com/aqlong) for the contribution and ideas!
+
+**2014-02-07** (1.6)
+
+* Add field count tracking (```addRemoveFieldsMarksDirty```) (contrib *jonegerton*)
+* Added event to manually trigger a form check/recheck (contrib *jonegerton*)
+* Thanks to [jonegerton](https://github.com/jonegerton) for the contribution!
+
+**2013-11-15** (1.5)
+
+* Added support for HTML5 input field types. (contrib *albinsunnanbo*)
+* New option to reinitialize/reset the dirty state. This is handy if you're managing your own async submit/save using AJAX. (contrib *albinsunnanbo*)
+* Thanks to [albinsunnanbo](https://github.com/albinsunnanbo) for the contribution!
+
+**2013-10-2** (1.4)
+
+* Added dirty and clean "events"
+* Added an option to disable the message (dirty tracking only)
+* Added an option to rescan a form to look/detect any new fields
+
+**2013-07-24** - Minor fix - don't fail if form elements have no "name" attribute.
+
+**2013-05-14** - Added support for form reset buttons (contributed by codev).
+
+**2013-05-01** - Added support for hidden and disabled form fields.
+
+**2013-02-03** - Add demo page.
+
+**2013-01-28** - Add ```change``` event support and a demo page.
+
+**2012-10-26** - Use dashes in class names rather than camel case.
+
+**2012-10-24** - Initial public release.
+
+
+###Prerequisites
+jQuery version 1.4.2 or higher. 2.0+ or 1.10+ recommended.
+
+
+###License
+The same as JQuery...
+
+ jQuery Plugin: Are-You-Sure (Dirty Form Detection)
+ https://github.com/codedance/jquery.AreYouSure/
+
+ Copyright (c) 2012-2014, Chris Dance - PaperCut Software http://www.papercut.com/
+ Dual licensed under the MIT or GPL Version 2 licenses.
+ http://jquery.org/license
diff --git a/library/jquery.AreYouSure/are-you-sure.jquery.json b/library/jquery.AreYouSure/are-you-sure.jquery.json
new file mode 100644
index 000000000..9c699b72b
--- /dev/null
+++ b/library/jquery.AreYouSure/are-you-sure.jquery.json
@@ -0,0 +1,39 @@
+{
+ "name": "are-you-sure",
+ "title": "Are You Sure? - a dirty forms check plugin",
+ "description": "Are-you-sure is simple light-weight dirty forms JQuery Plugin for modern browsers. It helps prevent users from loosing unsaved form changes by prompting the user to save/submit. It's dependency free and designed for modern browsers... just the features you need and nothing more! See the project page and demo for usage and examples.",
+ "keywords": [
+ "form",
+ "dirty",
+ "field",
+ "change",
+ "save",
+ "save-check",
+ "save-warning"
+ ],
+ "version": "1.9.0",
+ "author": {
+ "name": "Chris Dance (codedance) at PaperCut Software",
+ "url": "https://github.com/codedance"
+ },
+ "maintainers": [
+ {
+ "name": "Chris Dance",
+ "email": "chris.dance@papercut.com",
+ "url": "http://www.papercut.com/"
+ }
+ ],
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "https://github.com/codedance/jquery.AreYouSure/blob/master/README.md"
+ }
+ ],
+ "bugs": "https://github.com/codedance/jquery.AreYouSure/issues",
+ "homepage": "https://github.com/codedance/jquery.AreYouSure",
+ "docs": "https://github.com/codedance/jquery.AreYouSure",
+ "demo": "http://www.papercut.com/products/free_software/are-you-sure/demo/are-you-sure-demo.html",
+ "dependencies": {
+ "jquery": ">=1.4.2"
+ }
+}
diff --git a/library/jquery.AreYouSure/ays-beforeunload-shim.js b/library/jquery.AreYouSure/ays-beforeunload-shim.js
new file mode 100644
index 000000000..cb864cdeb
--- /dev/null
+++ b/library/jquery.AreYouSure/ays-beforeunload-shim.js
@@ -0,0 +1,31 @@
+/*!
+ * An experimental shim to partially emulate onBeforeUnload on iOS.
+ * Part of https://github.com/codedance/jquery.AreYouSure/
+ *
+ * Copyright (c) 2012-2014, Chris Dance and PaperCut Software http://www.papercut.com/
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Author: chris.dance@papercut.com
+ * Date: 19th May 2014
+ */
+$(function() {
+ if (!navigator.userAgent.toLowerCase().match(/iphone|ipad|ipod|opera/)) {
+ return;
+ }
+ $('a').bind('click', function(evt) {
+ var href = $(evt.target).closest('a').attr('href');
+ if (href !== undefined && !(href.match(/^#/) || href.trim() == '')) {
+ var response = $(window).triggerHandler('beforeunload', response);
+ if (response && response != "") {
+ var msg = response + "\n\n"
+ + "Press OK to leave this page or Cancel to stay.";
+ if (!confirm(msg)) {
+ return false;
+ }
+ }
+ window.location.href = href;
+ return false;
+ }
+ });
+});
diff --git a/library/jquery.AreYouSure/bower.json b/library/jquery.AreYouSure/bower.json
new file mode 100644
index 000000000..8591dc0d0
--- /dev/null
+++ b/library/jquery.AreYouSure/bower.json
@@ -0,0 +1,30 @@
+{
+ "name": "jquery.are-you-sure",
+ "version": "1.9.0",
+ "homepage": "https://github.com/codedance/jquery.AreYouSure",
+ "authors": [
+ "CodeDance <chris.dance@papercut.com>"
+ ],
+ "description": "A light-weight jQuery 'dirty forms' Plugin - it monitors html forms and alerts users to unsaved changes if they attempt to close the browser or navigate away from the page. (Are you sure?)",
+ "main": "jquery.are-you-sure.js",
+ "keywords": [
+ "form",
+ "dirty",
+ "field",
+ "change",
+ "save-check",
+ "are-you-sure",
+ "save-warning"
+ ],
+ "license": "MIT/GPLv2",
+ "ignore": [
+ "**/.*",
+ "demo"
+ ],
+ "dependencies": {
+ "jquery": ">=1.4.2"
+ },
+ "devDependencies": {
+ "jasmine-jquery": "~2.0.3"
+ }
+}
diff --git a/library/jquery.AreYouSure/demo/are-you-sure-demo.html b/library/jquery.AreYouSure/demo/are-you-sure-demo.html
new file mode 100644
index 000000000..3f0327b2e
--- /dev/null
+++ b/library/jquery.AreYouSure/demo/are-you-sure-demo.html
@@ -0,0 +1,576 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>Demo: Are You Sure? - a dirty forms jQuery Plugin</title>
+
+ <!--
+
+ We'll use an old version of jQuery to show we're backwards compatible. In
+ production we recommend using a later version. e.g.
+
+ <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
+ <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
+
+ -->
+
+ <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
+ <script src="../jquery.are-you-sure.js"></script>
+ <script src="../ays-beforeunload-shim.js"></script>
+ <script>
+
+ $(function() {
+
+ // Example 1 - ... in one line of code
+ $('#example-1-form').areYouSure();
+
+
+ // Example 2 - ignore a dynamic field
+ $('#example-2-form').areYouSure();
+
+ var defaultPickup15min = new Date((new Date()).getTime() + 15 * 60000);
+ $('#pickup').val(defaultPickup15min.getHours()
+ + ':' + defaultPickup15min.getMinutes());
+
+
+ // Example 3 - custom message and hooking the dirty change events
+ $('#example-3-form').areYouSure(
+ {
+ message: "Did you forget to save your standard coffee order?"
+ }
+ );
+ // Enable save button only if the form is dirty - using events.
+ $('#example-3-form').bind('dirty.areYouSure', function() {
+ $(this).find('input[type="submit"]').removeAttr('disabled');
+ });
+ $('#example-3-form').bind('clean.areYouSure', function() {
+ $(this).find('input[type="submit"]').attr('disabled', 'disabled');
+ });
+
+
+ // Example 4 - dynamically change and add form fields.
+ $('#example-4-form').areYouSure(
+ {
+ message: "Did you forget to submit your coffee order?"
+ }
+ );
+
+ $('#example-4-lastorder').click(function() {
+ // ... set our saved coffee type.
+ $('#example-4-coffee').val('espresso');
+ // Because we've made a change from our own JavaScript, we need to fire
+ // off manual 'form check'.
+ $('#example-4-form').trigger('checkform.areYouSure');
+ });
+
+ // If it's warm enough, offer an iced coffee special.
+ $.getJSON("http://api.openweathermap.org/data/2.5/weather?q=Melbourne,AU&mode=json&units=metric&callback=?",
+ function(data) {
+ var temp = data.main.temp;
+ if (temp > 5) {
+ $('#example-4-special').append('<p>It\'s currently '
+ + temp + 'C in Melbourne. Ice it up!</p>');
+ $('#example-4-special').append('<input type="checkbox" name="make-it-iced" value="true" />'
+ + ' Make it an iced coffee<br />');
+
+ // Trigger rescan event on the form so we start tracking the new field.
+ $('#example-4-form').trigger('rescan.areYouSure');
+ }
+ }
+ );
+
+
+ /*
+ * Example 5
+ * - extra shots button to enable/disable shots options
+ * - like/unlike button (changing hidden form field value)
+ * - hook dirty change event to enable/disable submit (using method),
+ * to more easily demonstrate when the form is dirty
+ */
+ $('#example-5-extra-shots').click(function() {
+ // we trigger a change event on the fields so that the AreYouSure event handler is called
+ $('#example-5-form input[name=shots]').removeAttr('disabled').change();
+ $('#example-5-extra-shots').hide();
+ $('#example-5-shots-options').show();
+ return false;
+ });
+ $('#example-5-like-button').click(function() {
+ var currentLike = $('#example-5-like').val() == 'true';
+ var newLike = !currentLike;
+ // we trigger a change event on the fields so that the areYouSure event handler is called
+ $('#example-5-like').val(newLike).change();
+ $('#example-5-like-button').text(newLike ? 'Unlike' : 'Like');
+ return false;
+ });
+ $('#example-5-form').areYouSure({
+ change: function() {
+ // Enable save button only if the form is dirty.
+ if ($(this).hasClass('dirty')) {
+ $(this).find('input[type="submit"]').removeAttr('disabled');
+ } else {
+ $(this).find('input[type="submit"]').attr('disabled', 'disabled');
+ }
+ }
+ });
+
+ // Example 6 - HTML5 input types
+ $('#example-6-form').areYouSure();
+
+ // Example 7 - ... in one line of code for the form and some more optional to toggle disabled state of the save button
+ $('#example-7-form').areYouSure();
+ $('#example-7-save-button').click(function () {
+ $('#example-7-form').trigger('reinitialize.areYouSure');
+ });
+ // code below is optional to handle disabled state of the save button
+ $('#example-7-form').bind('dirty.areYouSure', function () {
+ // Enable save button only as the form is dirty.
+ $('#example-7-save-button').attr({ 'disabled': false });
+ });
+ $('#example-7-form').bind('clean.areYouSure', function () {
+ // Form is clean so nothing to save - disable the save button.
+ $('#example-7-save-button').attr({ 'disabled': true });
+ });
+ });
+
+ </script>
+
+ <style type="text/css">
+ body {
+ font-family: myriad-pro-1, myriad-pro-2, 'Lucida Grande', 'Arial', sans-serif;
+ margin: 25px;
+ }
+
+ form {
+ width: 350px;
+ border: 1px solid #AA5303;
+ padding: 10px 20px;
+ background-image: -webkit-linear-gradient(top, rgba(170,83,3, 0.1), rgba(170,83,3, 0.5));
+ background-image: -moz-linear-gradient(top, rgba(170,83,3, 0.1), rgba(170,83,3, 0.5));
+ background-image: -ms-linear-gradient(top, rgba(170,83,3, 0.1), rgba(170,83,3, 0.5));
+ background-image: -o-linear-gradient(top, rgba(170,83,3, 0.1), rgba(170,83,3, 0.5));
+ background-image: linear-gradient(top, rgba(170,83,3, 0.1), rgba(170,83,3, 0.5));
+ border-radius: 5px;
+ }
+
+ /* A bit of custom styling on example 3 */
+ #example-3-form.dirty, #example-4-form.dirty {
+ box-shadow: 0 0 8px rgba(255, 0, 0, 1);
+ -webkit-box-shadow: 0 0 8px rgba(255, 0, 0, 1);
+ -moz-box-shadow: 0 0 8px rgba(255, 0, 0, 1);
+ border:1px solid rgba(255,0,0, 0.8);
+ }
+
+ form h2 {
+ font-size: 22px;
+ }
+
+ form > div {
+ padding: 8px;
+ font-size: 12px;
+ }
+ form > div input[type="text"],
+ form > div input[type="color"],
+ form > div input[type="date"],
+ form > div input[type="datetime"],
+ form > div input[type="datetime-local"],
+ form > div input[type="email"],
+ form > div input[type="month"],
+ form > div input[type="number"],
+ form > div input[type="range"],
+ form > div input[type="search"],
+ form > div input[type="tel"],
+ form > div input[type="time"],
+ form > div input[type="url"],
+ form > div input[type="week"],
+ form > div input:not([type]),
+ form > div textarea,
+ form > div select,
+ form > div button {
+ float: right;
+ width: 200px;
+ }
+
+ form > div input[type="radio"],
+ form > div input[type="checkbox"] {
+ display: inline-block;
+ margin-left: 130px;
+ }
+
+ form > div input[type="submit"] {
+ float: right;
+ }
+ form > div.buttons {
+ clear: both;
+ padding-bottom: 20px;
+ }
+ </style>
+ </head>
+
+ <body>
+ <h1>jQuery Plugin Demo: Are You Sure?</h1>
+ <p>
+ This page hosts a demo of the <a href="https://github.com/codedance/jquery.AreYouSure">jQuery Are-You-Sure</a> plugin (<code>jquery.are-you-sure.js</code>).
+ </p>
+ <p>
+ <i>Are-you-sure</i> is simple light-weight "dirty forms" JQuery Plugin for modern browsers. It helps prevent users from loosing unsaved form changes.
+ </p>
+ <p>
+ <strong>Features:</strong>
+ <ul>
+ <li>Light weight - only the features you need!</li>
+ <li>Dependency free.</li>
+ <li>Correct state management - if a user edits then restores a value, the form is not considered dirty.</li>
+ <li>Easy to understand - less than a "terminal screen" of code!</li>
+ <li>... and <a href="https://github.com/codedance/jquery.AreYouSure">more</a>.</li>
+ </ul>
+ </p>
+
+ <h2>Example 1: It's simple!</h2>
+ <p>
+ This example shows how easy it is to add a dirty check to your form(s) with one line
+ of code. (View the page's source)
+ </p>
+
+ <form id="example-1-form" name="coffeeOrder1" method="post">
+ <h2>Enter Your Coffee Order</h2>
+ <div>
+ <label for="example-1-coffee">Coffee</label>
+ <select name="coffee" id="example-1-coffee">
+ <option value="espresso">Espresso</option>
+ <option value="dbl-espresso">Caffe Doppio</option>
+ <option value="latte">Caffe Latte</option>
+ <option value="macciato">Machhiato</option>
+ <option value="cappuccino">Cappuccino</option>
+ </select>
+ </div>
+ <div>
+ <label>Shots</label><br />
+ <input type="radio" name="shots" value="1" checked /> 1 Shot - Standard<br />
+ <input type="radio" name="shots" value="2" /> 2 Shots - Morning wakeup!<br />
+ <input type="radio" name="shots" value="3" /> 3 Shots - Overdrive!<br />
+ </div>
+ <div>
+ <label for="example-1-sugar">Sugar</label> <input type="text" name="sugar" value="0" id="example-1-sugar" />
+ </div>
+ <div>
+ <label for="example-1-instructions">Special Instructions</label>
+ <textarea name="instructions" rows="5" id="example-1-instructions"></textarea>
+ </div>
+
+ <div class="buttons">
+ <input type="checkbox" name="remember" value="true" /> Remember my order<br />
+ <input type="submit" value="Submit">
+ <input type="reset" value="Reset">
+ </div>
+ <div>
+ <p>... or visit <a href="http://www.google.com/">Google</a> or close the window without saving!</p>
+ </div>
+ </form>
+
+ <h2>Example 2: Ignore the unimportant!</h2>
+ <p>
+ This example highlights how to disregard a field from the dirty check. In this form
+ the first field is dynamically populated and hence a change on this field should <em>not</em>
+ mark the form as dirty.
+ </p>
+ <form id="example-2-form" name="coffeeOrder2" method="post">
+ <h2>Enter Your Coffee Order</h2>
+ <div>
+ <!-- The ays-ignore class means a change on this field is not considered "dirty" -->
+ <label for="pickup">Pickup Time</label>
+ <input class="ays-ignore" type="text" name="pickup" id="pickup" />
+ <!-- or you can use a data attribute like this:
+ <label for="pickup">Pickup Time</label> <input data-ays-ignore="true" type="text" name="pickup" id="pickup" />
+ -->
+ </div>
+ <div>
+ <label for="example-2-coffee">Coffee</label>
+ <select name="coffee" id="example-2-coffee">
+ <option value="espresso">Espresso</option>
+ <option value="dbl-espresso">Caffe Doppio</option>
+ <option value="latte">Caffe Latte</option>
+ <option value="macciato">Machhiato</option>
+ <option value="cappuccino">Cappuccino</option>
+ </select>
+ </div>
+ <div>
+ <label>Shots</label><br />
+ <input type="radio" name="shots" value="1" checked /> 1 Shot - Standard<br />
+ <input type="radio" name="shots" value="2" /> 2 Shots - Morning wakeup!<br />
+ <input type="radio" name="shots" value="3" /> 3 Shots - Overdrive!<br />
+ </div>
+ <div>
+ <label for="example-2-sugar">Sugar</label> <input type="text" name="sugar" value="0" id="example-2-sugar" />
+ </div>
+ <div>
+ <label for="example-2-instructions">Special Instructions</label>
+ <textarea name="instructions" rows="5" id="example-2-instructions"></textarea>
+ </div>
+
+ <div class="buttons">
+ <input type="checkbox" name="remember" value="true" /> Remember my order<br />
+ <input type="submit" value="Submit">
+ </div>
+ <div>
+ <p>... or visit <a href="http://www.google.com/">Google</a> or close the window without saving!</p>
+ </div>
+ </form>
+
+
+ <h2>Example 3: Lets be intelligent!</h2>
+ <p>
+ This is a more advanced example. The <code>dirty</code> and <code>clean</code> change events are
+ intercepted so the save button is only enabled if the form is dirty (i.e. something to save).
+ It also demonstrates how to customize the warning message and change the style of a dirty
+ form (CSS styling using the <code>.dirty</code> class).
+ </p>
+ <form id="example-3-form" name="coffeeOrder3" method="post">
+ <h2>Update My Standard Order</h2>
+ <div>
+ <label for="example-3-coffee">Coffee</label>
+ <select name="coffee" id="example-3-coffee">
+ <option value=""></option>
+ <option value="cappuccino">Cappuccino</option>
+ <option value="espresso">Espresso</option>
+ <option value="dbl-espresso">Caffe Doppio</option>
+ <option value="latte">Caffe Latte</option>
+ <option value="macciato">Machhiato</option>
+ </select>
+ </div>
+ <div>
+ <label>Shots</label><br />
+ <input type="radio" name="shots" value="1" /> 1 Shot - Standard<br />
+ <input type="radio" name="shots" value="2" checked /> 2 Shots - Morning wakeup!<br />
+ <input type="radio" name="shots" value="3" /> 3 Shots - Overdrive!<br />
+ </div>
+ <div>
+ <label for="example-3-sugar">Sugar</label>
+ <input type="text" name="sugar" value="1" id="example-3-sugar" />
+ </div>
+ <div>
+ <label for="example-3-instructions">Special Instructions</label>
+ <textarea name="instructions" rows="5" id="example-3-instructions">No chocolate please</textarea>
+ </div>
+
+ <div class="buttons">
+ <input type="submit" value="Save" disabled="disabled">
+ </div>
+ <div>
+ <p>... or visit <a href="http://www.google.com/">Google</a> or close the window without saving!</p>
+ </div>
+ </form>
+
+ <h2>Example 4: Lets be dynamic!</h2>
+ <p>
+ In this example we'll dymaically add a field and fire off the <code>rescan</code> event. After
+ the rescan, Are-You-Sure will start looking for changes on the new fields as well.
+ </p>
+ <form id="example-4-form" name="coffeeOrder4" method="post">
+ <h2>Order Coffee For Pickup Now</h2>
+ <div>
+ <a id="example-4-lastorder" href="javascript:void(0);">Set my preferences from my last order</a><br />
+ </div>
+ <div>
+ <label for="example-4-coffee">Coffee</label>
+ <select name="coffee" id="example-4-coffee">
+ <option value="cappuccino">Cappuccino</option>
+ <option value="espresso">Espresso</option>
+ <option value="dbl-espresso">Caffe Doppio</option>
+ <option value="latte">Caffe Latte</option>
+ </select>
+ </div>
+ <div id="example-4-special"></div>
+ <div class="buttons">
+ <input type="submit" value="Place Order">
+ </div>
+ <div>
+ <p>... or visit <a href="http://www.google.com/">Google</a> or close the window without saving!</p>
+ </div>
+ </form>
+
+ <h2>Example 5: Edge cases</h2>
+ <p>
+ This example demonstrates tracking of hidden and disabled form elements that are changed by non-input elements.
+ E.g.:
+ </p>
+ <ul>
+ <li>clicking a link or non-input button that changes the value of a hidden form field, or</li>
+ <li>
+ clicking a link or non-input button that enables or disables some form fields (which has an effect on whether
+ or not those fields will be submitted with the form, despite the values not changing).
+ </li>
+ </ul>
+ <form id="example-5-form" name="coffeeOrder5" method="post">
+ <h2>Update My Standard Order</h2>
+ <div>
+ <label for="example-5-coffee">Coffee</label>
+ <select name="coffee" id="example-3-coffee">
+ <option value="cappuccino">Cappuccino</option>
+ <option value="espresso">Espresso</option>
+ <option value="dbl-espresso">Caffe Doppio</option>
+ <option value="latte">Caffe Latte</option>
+ <option value="macciato">Machhiato</option>
+ </select>
+ </div>
+ <div>
+ <label>Shots</label>
+ <!--
+ The visually hidden "shots" radio buttons are disabled and would not normally be submitted with the form.
+ Clicking the following button will visually show and enable these buttons, resulting in a form state change
+ (and hence the form is considered dirty) without the values having changed.
+ -->
+ <button id="example-5-extra-shots">I want extra shots</button>
+ <div id="example-5-shots-options" style="display: none;">
+ <input type="radio" name="shots" value="1" disabled /> 1 Shot - Standard<br />
+ <input type="radio" name="shots" value="2" disabled /> 2 Shots - Morning wakeup!<br />
+ <input type="radio" name="shots" value="3" disabled /> 3 Shots - Overdrive!<br />
+ </div>
+ </div>
+ <div>
+ <label>Do you like us?</label>
+ <input type="hidden" name="like" value="false" id="example-5-like" />
+ <button id="example-5-like-button">Like</button>
+ </div>
+ <div class="buttons">
+ <input type="submit" value="Save" disabled="disabled">
+ </div>
+ <div>
+ <p>... or visit <a href="http://www.google.com/">Google</a> or close the window without saving!</p>
+ </div>
+ </form>
+
+ <h2>Example 6: HTML5 inputs!</h2>
+ <p>
+ This example shows support for HTML5 input types. It's not a coffee order form,
+ but you need coffee if you're working with HTML5 :-)
+ </p>
+
+ <form id="example-6-form" name="coffeeOrder6" method="post">
+ <h2>Doing HTML5? You'll need coffee!</h2>
+ <div>
+ <label for="example-6-color">color</label>
+ <input type="color" name="example-6-color" />
+ </div>
+ <div>
+ <label for="example-6-date">date</label>
+ <input type="date" name="example-6-date" />
+ </div>
+ <div>
+ <label for="example-6-datetime">datetime</label>
+ <input type="datetime" name="example-6-datetime" />
+ </div>
+ <div>
+ <label for="example-6-datetime-local">datetime-local</label>
+ <input type="datetime-local" name="example-6-datetime-local" />
+ </div>
+ <div>
+ <label for="example-6-email">email</label>
+ <input type="email" name="example-6-email" />
+ </div>
+ <div>
+ <label for="example-6-month">month</label>
+ <input type="month" name="example-6-month" />
+ </div>
+ <div>
+ <label for="example-6-number">number</label>
+ <input type="number" name="example-6-number" />
+ </div>
+ <div>
+ <label for="example-6-range">range</label>
+ <input type="range" name="example-6-range" />
+ </div>
+ <div>
+ <label for="example-6-search">search</label>
+ <input type="search" name="example-6-search" />
+ </div>
+ <div>
+ <label for="example-6-tel">tel</label>
+ <input type="tel" name="example-6-tel" />
+ </div>
+ <div>
+ <label for="example-6-time">time</label>
+ <input type="time" name="example-6-time" />
+ </div>
+ <div>
+ <label for="example-6-url">url</label>
+ <input type="url" name="example-6-url" />
+ </div>
+ <div>
+ <label for="example-6-week">week</label>
+ <input type="week" name="example-6-week" />
+ </div>
+ <div>
+ <label for="example-6-select">select/optgroup</label>
+ <select>
+ <optgroup label="Beans">
+ <option value="india">India</option>
+ <option value="indonesia" selected="selected">Indonesia</option>
+ <option value="brazil">Brazil</option>
+ </optgroup>
+ <optgroup label="Roast">
+ <option value="l">Light</option>
+ <option value="m">Medium</option>
+ <option value="h">Heavy</option>
+ </optgroup>
+ </select>
+ </div>
+ <div>
+ <label for="example-6-mselect">multi select</label>
+ <select multiple>
+ <option value="arabica">Arabica</option>
+ <option value="arabica">Peaberry</option>
+ <option value="malabar " selected="selected">Malabar</option>
+ <option value="robusta ">Robusta</option>
+ </select>
+ </div>
+ <div style="clear:both;"></div>
+ <div>
+ <label for="example-6-plain">plain old field</label>
+ <input name="example-6-plain" />
+ </div>
+
+ <div class="buttons">
+ <input type="submit" value="Submit">
+ <input type="reset" value="Reset">
+ </div>
+ <div>
+ <p>... or visit <a href="http://www.google.com/">Google</a> or close the window without saving!</p>
+ </div>
+ </form>
+ <h2>Example 7: Mark current state as not dirty!</h2>
+ <p>
+ This example shows how you can mark the current state as not dirty. Handy for AJAX forms
+ we're you're managing your own submits.
+ </p>
+
+ <form id="example-7-form" name="coffeeOrder7" method="post">
+ <h2>Tell us your default coffee</h2>
+ <div>
+ <label for="example-7-coffee">Default coffee</label>
+ <select name="coffee" id="example-7-coffee">
+ <option value="espresso">Espresso</option>
+ <option value="dbl-espresso">Caffe Doppio</option>
+ <option value="latte">Caffe Latte</option>
+ <option value="macciato">Machhiato</option>
+ <option value="cappuccino">Cappuccino</option>
+ </select>
+ </div>
+ <div>
+ <button id="example-7-save-button" disabled="disabled">Save without submit</button>
+ </div>
+ <div class="buttons">
+ <input type="submit" value="Submit">
+ </div>
+ <div>
+ <p>... or visit <a href="http://www.google.com/">Google</a> or close the window without saving!</p>
+ </div>
+ </form>
+
+ <p>
+ This jQuery plugin is developed by <a href="https://github.com/codedance">Chris Dance</a>
+ at <a href="http://www.papercut.com/">PaperCut Software</a> - Are-You-Sure is used in
+ PaperCut's printing management software and it has been open sourced with help of
+ Tom, Jack and Matt from PaperCut's dev team.
+ </p>
+
+ </body>
+</html>
diff --git a/library/jquery.AreYouSure/jquery.are-you-sure.js b/library/jquery.AreYouSure/jquery.are-you-sure.js
new file mode 100644
index 000000000..3c41e2fcc
--- /dev/null
+++ b/library/jquery.AreYouSure/jquery.are-you-sure.js
@@ -0,0 +1,192 @@
+/*!
+ * jQuery Plugin: Are-You-Sure (Dirty Form Detection)
+ * https://github.com/codedance/jquery.AreYouSure/
+ *
+ * Copyright (c) 2012-2014, Chris Dance and PaperCut Software http://www.papercut.com/
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Author: chris.dance@papercut.com
+ * Version: 1.9.0
+ * Date: 13th August 2014
+ */
+(function($) {
+
+ $.fn.areYouSure = function(options) {
+
+ var settings = $.extend(
+ {
+ 'message' : 'You have unsaved changes!',
+ 'dirtyClass' : 'dirty',
+ 'change' : null,
+ 'silent' : false,
+ 'addRemoveFieldsMarksDirty' : false,
+ 'fieldEvents' : 'change keyup propertychange input',
+ 'fieldSelector': ":input:not(input[type=submit]):not(input[type=button])"
+ }, options);
+
+ var getValue = function($field) {
+ if ($field.hasClass('ays-ignore')
+ || $field.hasClass('aysIgnore')
+ || $field.attr('data-ays-ignore')
+ || $field.attr('name') === undefined) {
+ return null;
+ }
+
+ if ($field.is(':disabled')) {
+ return 'ays-disabled';
+ }
+
+ var val;
+ var type = $field.attr('type');
+ if ($field.is('select')) {
+ type = 'select';
+ }
+
+ switch (type) {
+ case 'checkbox':
+ case 'radio':
+ val = $field.is(':checked');
+ break;
+ case 'select':
+ val = '';
+ $field.find('option').each(function(o) {
+ var $option = $(this);
+ if ($option.is(':selected')) {
+ val += $option.val();
+ }
+ });
+ break;
+ default:
+ val = $field.val();
+ }
+
+ return val;
+ };
+
+ var storeOrigValue = function($field) {
+ $field.data('ays-orig', getValue($field));
+ };
+
+ var checkForm = function(evt) {
+
+ var isFieldDirty = function($field) {
+ var origValue = $field.data('ays-orig');
+ if (undefined === origValue) {
+ return false;
+ }
+ return (getValue($field) != origValue);
+ };
+
+ var $form = ($(this).is('form'))
+ ? $(this)
+ : $(this).parents('form');
+
+ // Test on the target first as it's the most likely to be dirty
+ if (isFieldDirty($(evt.target))) {
+ setDirtyStatus($form, true);
+ return;
+ }
+
+ $fields = $form.find(settings.fieldSelector);
+
+ if (settings.addRemoveFieldsMarksDirty) {
+ // Check if field count has changed
+ var origCount = $form.data("ays-orig-field-count");
+ if (origCount != $fields.length) {
+ setDirtyStatus($form, true);
+ return;
+ }
+ }
+
+ // Brute force - check each field
+ var isDirty = false;
+ $fields.each(function() {
+ $field = $(this);
+ if (isFieldDirty($field)) {
+ isDirty = true;
+ return false; // break
+ }
+ });
+
+ setDirtyStatus($form, isDirty);
+ };
+
+ var initForm = function($form) {
+ var fields = $form.find(settings.fieldSelector);
+ $(fields).each(function() { storeOrigValue($(this)); });
+ $(fields).unbind(settings.fieldEvents, checkForm);
+ $(fields).bind(settings.fieldEvents, checkForm);
+ $form.data("ays-orig-field-count", $(fields).length);
+ setDirtyStatus($form, false);
+ };
+
+ var setDirtyStatus = function($form, isDirty) {
+ var changed = isDirty != $form.hasClass(settings.dirtyClass);
+ $form.toggleClass(settings.dirtyClass, isDirty);
+
+ // Fire change event if required
+ if (changed) {
+ if (settings.change) settings.change.call($form, $form);
+
+ if (isDirty) $form.trigger('dirty.areYouSure', [$form]);
+ if (!isDirty) $form.trigger('clean.areYouSure', [$form]);
+ $form.trigger('change.areYouSure', [$form]);
+ }
+ };
+
+ var rescan = function() {
+ var $form = $(this);
+ var fields = $form.find(settings.fieldSelector);
+ $(fields).each(function() {
+ var $field = $(this);
+ if (!$field.data('ays-orig')) {
+ storeOrigValue($field);
+ $field.bind(settings.fieldEvents, checkForm);
+ }
+ });
+ // Check for changes while we're here
+ $form.trigger('checkform.areYouSure');
+ };
+
+ var reinitialize = function() {
+ initForm($(this));
+ }
+
+ if (!settings.silent && !window.aysUnloadSet) {
+ window.aysUnloadSet = true;
+ $(window).bind('beforeunload', function() {
+ $dirtyForms = $("form").filter('.' + settings.dirtyClass);
+ if ($dirtyForms.length == 0) {
+ return;
+ }
+ // Prevent multiple prompts - seen on Chrome and IE
+ if (navigator.userAgent.toLowerCase().match(/msie|chrome/)) {
+ if (window.aysHasPrompted) {
+ return;
+ }
+ window.aysHasPrompted = true;
+ window.setTimeout(function() {window.aysHasPrompted = false;}, 900);
+ }
+ return settings.message;
+ });
+ }
+
+ return this.each(function(elem) {
+ if (!$(this).is('form')) {
+ return;
+ }
+ var $form = $(this);
+
+ $form.submit(function() {
+ $form.removeClass(settings.dirtyClass);
+ });
+ $form.bind('reset', function() { setDirtyStatus($form, false); });
+ // Add a custom events
+ $form.bind('rescan.areYouSure', rescan);
+ $form.bind('reinitialize.areYouSure', reinitialize);
+ $form.bind('checkform.areYouSure', checkForm);
+ initForm($form);
+ });
+ };
+})(jQuery);
diff --git a/library/jquery.AreYouSure/package.json b/library/jquery.AreYouSure/package.json
new file mode 100644
index 000000000..0b4c38dde
--- /dev/null
+++ b/library/jquery.AreYouSure/package.json
@@ -0,0 +1,45 @@
+{
+ "name": "jquery.AreYouSure",
+ "description": "A light-weight jQuery \"dirty forms\" Plugin - it monitors HTML forms and alerts users to unsaved changes if they attempt to close the browser or navigate away from the page. (Are you sure?)",
+ "homepage": "https://github.com/codedance/jquery.AreYouSure",
+ "author": "Chris Dance <chris.dance@papercut.com> (https://github.com/codedance)",
+ "contributors": [
+ "Tom Clift <tom.clift@papercut.com> (https://github.com/tclift)",
+ "Jon Egerton <jon@ja2.co.uk> (http://www.jonegerton.com/)",
+ "Scadoodles (https://github.com/Scadoodles)",
+ "Albin Sunnanbo (https://github.com/albinsunnanbo)",
+ "Marc Sutton <ashre@iname.com> (http://www.codev.co.uk)"
+ ],
+ "version": "1.9.0",
+ "license": "MIT/GPLv2",
+ "keywords": [ "dirty", "form", "onbeforeunload", "save", "check" ],
+ "main": "jquery.are-you-sure.js",
+ "engines": {
+ "node": ">=0.8.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/codedance/jquery.AreYouSure"
+ },
+ "bugs": {
+ "url": "https://github.com/codedance/jquery.AreYouSure/issues"
+ },
+ "dependencies": {
+ "jquery": ">=1.4.2"
+ },
+ "devDependencies": {
+ "bower": "^1.3.1",
+ "grunt": "^0.4.5",
+ "grunt-cli": "^0.1.13",
+ "grunt-karma": "^0.8.3",
+ "karma-chrome-launcher": "^0.1.4",
+ "karma-jasmine": "^0.2.2",
+ "karma-ie-launcher": "^0.1.5",
+ "karma-firefox-launcher": "^0.1.3",
+ "karma-safari-launcher": "^0.1.1"
+ },
+ "scripts": {
+ "postinstall": "node_modules/.bin/bower install",
+ "test": "node_modules/.bin/grunt test"
+ }
+}
diff --git a/library/jquery.AreYouSure/spec/javascripts/fixtures/input-text.html b/library/jquery.AreYouSure/spec/javascripts/fixtures/input-text.html
new file mode 100644
index 000000000..1b2850759
--- /dev/null
+++ b/library/jquery.AreYouSure/spec/javascripts/fixtures/input-text.html
@@ -0,0 +1,4 @@
+<form>
+ <input type="text" name="a">
+ <input type="submit">
+</form>
diff --git a/library/jquery.AreYouSure/spec/javascripts/jquery.are-you-sure_spec.js b/library/jquery.AreYouSure/spec/javascripts/jquery.are-you-sure_spec.js
new file mode 100644
index 000000000..5e02f7cb0
--- /dev/null
+++ b/library/jquery.AreYouSure/spec/javascripts/jquery.are-you-sure_spec.js
@@ -0,0 +1,28 @@
+'use strict';
+
+// Karma adds 'base/' to the default path
+jasmine.getFixtures().fixturesPath = 'base/spec/javascripts/fixtures';
+
+describe("A form's", function() {
+ var $form = undefined;
+
+ describe('text input', function() {
+ var $textInput = undefined;
+
+ beforeEach(function() {
+ loadFixtures('input-text.html');
+ $form = $('form');
+ $textInput = $('input[type=text]');
+ $form.areYouSure();
+ });
+
+ it('should cause dirtyness after its value changes', function(done) {
+ expect($form.hasClass('dirty')).toBe(false);
+ $textInput.val('new').change();
+ setTimeout(function() {
+ expect($form.hasClass('dirty')).toBe(true);
+ done();
+ }, 0);
+ });
+ });
+});
diff --git a/library/jquery.divgrow/divGrow-1.3.1.zip b/library/jquery.divgrow/divGrow-1.3.1.zip
deleted file mode 100644
index 8f1deacf1..000000000
--- a/library/jquery.divgrow/divGrow-1.3.1.zip
+++ /dev/null
Binary files differ
diff --git a/library/jquery.divgrow/howto b/library/jquery.divgrow/howto
deleted file mode 100644
index c2fdd66f9..000000000
--- a/library/jquery.divgrow/howto
+++ /dev/null
@@ -1,46 +0,0 @@
-1) Inlcude the JS file into your page (after jQuery):
-
-<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
-
-<script src="JS/jquery.divgrow.js" type="text/javascript"></script>
-
-
-2) Call the divgrow function to any div element you want to grow. initialHeight sets the height of the containers before they are expanded.
-
-<script type="text/javascript">
- $().ready(function() {
- $('div.more-block').divgrow({ initialHeight: 147 });
- });
-
-
-3) Create you container and give it a reference, i.e. by classname "more-block"
-
- <div class="more-block">
- <h2>Corns and Callus (Hyperkeratosis)</h2>
- <p>
- These occur in areas of the foot that are experiencing excess pressure and/or friction. The body seeks to defend itself by producing extra layers of skin as a form of protection. However as the process continues the accumulation of extra skin exceeds that which is lost naturally so the skin in these vulnerable areas builds up and becomes compacted as the original cause of the process continues. The protective mechanism becomes the problem if left untreated and the cause not addressed.<br />
- Callus denotes a general area of hard dead skin and a corn is a much more concentrated collection which often goes deep rather than wide. Corns can produce pain completely out of proportion to their size often because of impingement upon nerves or sometimes infection.<br />
- Treatment of the symptoms is the first step to stopping the pain and discomfort and this is usually addressed without much discomfort by a foot health professional. Treating the cause can be as simple as discarding an ill fitting pair of shoes or may entail a more detailed assessment of individual foot function.<br />
- Callus is not always caused by mechanical factors but can be a symptom of a systemic disease such as Psoriasis.<br />
- There are some useful devices to assist in protecting vulnerable areas from corns and callus ? see our recommended <a href="Products.aspx">products page</a>.
- </p>
- </div>
-
-
-
------------------------------------------------------
-
-Thats it.
-
-Optional arguments:
-
-initialHeight: 100 - (default)
-moreText: "+ Show More" - (default)
-lessText: "- Show Less" - (default)
-showBrackets: true - (default)
-
-e.g.
-
-$('div.more-block').divgrow({ initialHeight: 147, moreText: "give me more", lessText: "thats enough", showBrackets: false });
-
-
diff --git a/library/jquery.divgrow/jquery.divgrow-1.3.1.js b/library/jquery.divgrow/jquery.divgrow-1.3.1.js
deleted file mode 100644
index 49788f802..000000000
--- a/library/jquery.divgrow/jquery.divgrow-1.3.1.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2010 Simon Hibbard
-*
-* Permission is hereby granted, free of charge, to any person
-* obtaining a copy of this software and associated documentation
-* files (the "Software"), to deal in the Software without
-* restriction, including without limitation the rights to use,
-* copy, modify, merge, publish, distribute, sublicense, and/or sell
-* copies of the Software, and to permit persons to whom the
-* Software is furnished to do so, subject to the following
-* conditions:
-
-* The above copyright notice and this permission notice shall be
-* included in all copies or substantial portions of the Software.
-*
-* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-* OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-/*
-* Version: V1.3.1
-* Release: 22-12-2010
-* Based on jQuery 1.4.2
-*/
-
-(function ($) {
- var divgrowid = 0;
- $.fn.divgrow = function (options) {
- var options = $.extend({}, { initialHeight: 100, moreText: "+ Show More", lessText: "- Show Less", speed: 400, showBrackets: true }, options);
-
- return this.each(function () {
- divgrowid++;
-
- obj = $(this);
-
- var fullHeight = obj.height() + 10;
-
- obj.css('height', options.initialHeight).css('overflow', 'hidden');
- if (options.showBrackets) {
- obj.after('<p class="divgrow-brackets">[&hellip;]</p><div href="#" class="divgrow-showmore' + " divgrow-obj-" + divgrowid + '"' + '></div>');
- }
- else {
- obj.after('<div class="divgrow-showmore' + " divgrow-obj-" + divgrowid + '"' + '></div>');
- }
- $("div.divgrow-showmore").html(options.moreText);
-
- $("." + "divgrow-obj-" + divgrowid).toggle(function () {
- //alert(obj.attr('class'));
- // Set the height from the elements rel value
- //var height = $(this).prevAll("div:first").attr('rel');
-
- $(this).prevAll("div:first").animate({ height: fullHeight + "px" }, options.speed, function () { // Animation complete.
-
- // Hide the overlay text when expanded, change the link text
- if (options.showBrackets) {
- $(this).nextAll("p.divgrow-brackets:first").fadeOut();
- }
- $(this).nextAll("div.divgrow-showmore:first").html(options.lessText);
-
- });
-
-
- }, function () {
-
- $(this).prevAll("div:first").stop(true, false).animate({ height: options.initialHeight }, options.speed, function () { // Animation complete.
-
- // show the overlay text while closed, change the link text
- if (options.showBrackets) {
- $(this).nextAll("p.divgrow-brackets:first").stop(true, false).fadeIn();
- }
- $(this).nextAll("div.divgrow-showmore:first").stop(true, false).html(options.moreText);
-
- });
- });
-
- });
- };
-})(jQuery);
-
-
-
-
-
diff --git a/library/jquery.divgrow/jquery.divgrow-1.3.1.min.js b/library/jquery.divgrow/jquery.divgrow-1.3.1.min.js
deleted file mode 100644
index fd08f7fa8..000000000
--- a/library/jquery.divgrow/jquery.divgrow-1.3.1.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function ($) { var divgrowid = 0; $.fn.divgrow = function (options) { var options = $.extend({}, { initialHeight: 100, moreText: "+ Show More", lessText: "- Show Less", speed: 1000, showBrackets: true }, options); return this.each(function () { divgrowid++; obj = $(this); var fullHeight = obj.height() + 10; obj.css('height', options.initialHeight).css('overflow', 'hidden'); if (options.showBrackets) { obj.after('<p class="divgrow-brackets">[&hellip;]</p><a href="#" class="divgrow-showmore' + " divgrow-obj-" + divgrowid + '"' + '></a>') } else { obj.after('<a href="#" class="divgrow-showmore' + " divgrow-obj-" + divgrowid + '"' + '></a>') } $("a.divgrow-showmore").html(options.moreText); $("." + "divgrow-obj-" + divgrowid).toggle(function () { $(this).prevAll("div:first").animate({ height: fullHeight + "px" }, options.speed, function () { if (options.showBrackets) { $(this).nextAll("p.divgrow-brackets:first").fadeOut() } $(this).nextAll("a.divgrow-showmore:first").html(options.lessText) }) }, function () { $(this).prevAll("div:first").stop(true, false).animate({ height: options.initialHeight }, options.speed, function () { if (options.showBrackets) { $(this).nextAll("p.divgrow-brackets:first").stop(true, false).fadeIn() } $(this).nextAll("a.divgrow-showmore:first").stop(true, false).html(options.moreText) }) }) }) } })(jQuery); \ No newline at end of file
diff --git a/library/jslider/.gitignore b/library/jslider/.gitignore
deleted file mode 100644
index 1e0fc5a99..000000000
--- a/library/jslider/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*/.DS_Store
-.DS_Store
diff --git a/library/jslider/MIT-LICENSE.txt b/library/jslider/MIT-LICENSE.txt
deleted file mode 100644
index b193a88a9..000000000
--- a/library/jslider/MIT-LICENSE.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-Copyright (c) 2012 Egor Khmelev
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE. \ No newline at end of file
diff --git a/library/jslider/Makefile b/library/jslider/Makefile
deleted file mode 100644
index 0559b48e5..000000000
--- a/library/jslider/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-
-css_compiler: js_compiler
- mkdir -p bin
- cat css/jslider.css css/jslider.blue.css css/jslider.plastic.css css/jslider.round.css css/jslider.round.plastic.css > bin/jquery.slider.all.css
- java -jar tools/yuicompressor-2.4.7.jar --type=css bin/jquery.slider.all.css > bin/jquery.slider.min.css
- rm -f bin/jquery.slider.all.css
-
-js_compiler:
- mkdir -p bin
- rm -f bin/jquery.slider.all.js bin/jquery.slider.min.js
- cat js/jshashtable-2.1_src.js js/jquery.numberformatter-1.2.3.js js/tmpl.js js/jquery.dependClass-0.1.js js/draggable-0.1.js js/jquery.slider.js > bin/jquery.slider.all.js
- uglifyjs -nc bin/jquery.slider.all.js > bin/jquery.slider.min.js
- rm -f bin/jquery.slider.all.js
-
-
diff --git a/library/jslider/README.md b/library/jslider/README.md
deleted file mode 100644
index 0d4c61347..000000000
--- a/library/jslider/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# jQuery Slider plugin
-
-jQuery Slider is easy to use and multifunctional jQuery plugin.
-
-[Check out demos and documentations here](http://egorkhmelev.github.com/jslider/)
-
-## License
-
-(MIT License) — Copyright &copy; 2012 Egor Khmelev \ No newline at end of file
diff --git a/library/jslider/bin/jquery.slider.min.css b/library/jslider/bin/jquery.slider.min.css
deleted file mode 100644
index 14b3f2210..000000000
--- a/library/jslider/bin/jquery.slider.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.jslider .jslider-bg i,.jslider .jslider-pointer{background:url(../img/jslider.png) no-repeat 0 0}.jslider{display:block;width:100%;height:1em;position:relative;top:.6em;font-family:Arial,sans-serif}.jslider table{width:100%;border-collapse:collapse;border:0}.jslider td,.jslider th{padding:0;vertical-align:top;text-align:left;border:0}.jslider table,.jslider table tr,.jslider table tr td{width:100%;vertical-align:top}.jslider .jslider-bg{position:relative}.jslider .jslider-bg i{height:5px;position:absolute;font-size:0;top:0}.jslider .jslider-bg .l{width:50%;background-position:0 0;left:0}.jslider .jslider-bg .r{width:50%;left:50%;background-position:right 0}.jslider .jslider-bg .v{position:absolute;width:60%;left:20%;top:0;height:5px;background-position:0 -20px}.jslider .jslider-pointer{width:13px;height:15px;background-position:0 -40px;position:absolute;left:20%;top:-4px;margin-left:-6px;cursor:pointer;cursor:hand}.jslider .jslider-pointer-hover{background-position:-20px -40px}.jslider .jslider-pointer-to{left:80%}.jslider .jslider-label{font-size:9px;line-height:12px;color:black;opacity:.4;white-space:nowrap;padding:0 2px;position:absolute;top:-18px;left:0}.jslider .jslider-label-to{left:auto;right:0}.jslider .jslider-value{font-size:9px;white-space:nowrap;padding:1px 2px 0;position:absolute;top:-19px;left:20%;background:white;line-height:12px;-moz-border-radius:2px;-webkit-border-radius:2px;-o-border-radius:2px;border-radius:2px}.jslider .jslider-value-to{left:80%}.jslider .jslider-label small,.jslider .jslider-value small{position:relative;top:-0.4em}.jslider .jslider-scale{position:relative;top:9px}.jslider .jslider-scale span{position:absolute;height:5px;border-left:1px solid #999;font-size:0}.jslider .jslider-scale ins{font-size:9px;text-decoration:none;position:absolute;left:0;top:5px;color:#999}.jslider-single .jslider-pointer-to,.jslider-single .jslider-value-to,.jslider-single .jslider-bg .v,.jslider-limitless .jslider-label{display:none}.jslider_blue .jslider-bg i,.jslider_blue .jslider-pointer{background-image:url(../img/jslider.blue.png)}.jslider_plastic .jslider-bg i,.jslider_plastic .jslider-pointer{background-image:url(../img/jslider.plastic.png)}.jslider_round .jslider-bg i,.jslider_round .jslider-pointer{background-image:url(../img/jslider.round.png)}.jslider_round .jslider-pointer{width:17px;height:17px;top:-6px;margin-left:-8px}.jslider_round_plastic .jslider-bg i,.jslider_round_plastic .jslider-pointer{background-image:url(../img/jslider.round.plastic.png)}.jslider_round_plastic .jslider-pointer{width:18px;height:18px;top:-7px;margin-left:-8px} \ No newline at end of file
diff --git a/library/jslider/bin/jquery.slider.min.js b/library/jslider/bin/jquery.slider.min.js
deleted file mode 100644
index 562c5af80..000000000
--- a/library/jslider/bin/jquery.slider.min.js
+++ /dev/null
@@ -1 +0,0 @@
-var Hashtable=function(){function c(b){var d;if(typeof b=="string")return b;if(typeof b.hashCode==a)return d=b.hashCode(),typeof d=="string"?d:c(d);if(typeof b.toString==a)return b.toString();try{return String(b)}catch(e){return Object.prototype.toString.call(b)}}function d(a,b){return a.equals(b)}function e(b,c){return typeof c.equals==a?c.equals(b):b===c}function f(a){return function(b){if(b===null)throw new Error("null is not a valid "+a);if(typeof b=="undefined")throw new Error(a+" must not be undefined")}}function i(a,b,c,d){this[0]=a,this.entries=[],this.addEntry(b,c),d!==null&&(this.getEqualityFunction=function(){return d})}function m(a){return function(b){var c=this.entries.length,d,e=this.getEqualityFunction(b);while(c--){d=this.entries[c];if(e(b,d[0]))switch(a){case j:return!0;case k:return d;case l:return[c,d[1]]}}return!1}}function n(a){return function(b){var c=b.length;for(var d=0,e=this.entries.length;d<e;++d)b[c+d]=this.entries[d][a]}}function o(a,b){var c=a.length,d;while(c--){d=a[c];if(b===d[0])return c}return null}function p(a,b){var c=a[b];return c&&c instanceof i?c:null}function q(d,e){var f=this,j=[],k={},l=typeof d==a?d:c,m=typeof e==a?e:null;this.put=function(a,b){g(a),h(b);var c=l(a),d,e,f=null;return d=p(k,c),d?(e=d.getEntryForKey(a),e?(f=e[1],e[1]=b):d.addEntry(a,b)):(d=new i(c,a,b,m),j[j.length]=d,k[c]=d),f},this.get=function(a){g(a);var b=l(a),c=p(k,b);if(c){var d=c.getEntryForKey(a);if(d)return d[1]}return null},this.containsKey=function(a){g(a);var b=l(a),c=p(k,b);return c?c.containsKey(a):!1},this.containsValue=function(a){h(a);var b=j.length;while(b--)if(j[b].containsValue(a))return!0;return!1},this.clear=function(){j.length=0,k={}},this.isEmpty=function(){return!j.length};var n=function(a){return function(){var b=[],c=j.length;while(c--)j[c][a](b);return b}};this.keys=n("keys"),this.values=n("values"),this.entries=n("getEntries"),this.remove=function(a){g(a);var c=l(a),d,e=null,f=p(k,c);return f&&(e=f.removeEntryForKey(a),e!==null&&(f.entries.length||(d=o(j,c),b(j,d),delete k[c]))),e},this.size=function(){var a=0,b=j.length;while(b--)a+=j[b].entries.length;return a},this.each=function(a){var b=f.entries(),c=b.length,d;while(c--)d=b[c],a(d[0],d[1])},this.putAll=function(b,c){var d=b.entries(),e,g,h,i,j=d.length,k=typeof c==a;while(j--)e=d[j],g=e[0],h=e[1],k&&(i=f.get(g))&&(h=c(g,i,h)),f.put(g,h)},this.clone=function(){var a=new q(d,e);return a.putAll(f),a}}var a="function",b=typeof Array.prototype.splice==a?function(a,b){a.splice(b,1)}:function(a,b){var c,d,e;if(b===a.length-1)a.length=b;else{c=a.slice(b+1),a.length=b;for(d=0,e=c.length;d<e;++d)a[b+d]=c[d]}},g=f("key"),h=f("value"),j=0,k=1,l=2;return i.prototype={getEqualityFunction:function(b){return typeof b.equals==a?d:e},getEntryForKey:m(k),getEntryAndIndexForKey:m(l),removeEntryForKey:function(a){var c=this.getEntryAndIndexForKey(a);return c?(b(this.entries,c[0]),c[1]):null},addEntry:function(a,b){this.entries[this.entries.length]=[a,b]},keys:n(0),values:n(1),getEntries:function(a){var b=a.length;for(var c=0,d=this.entries.length;c<d;++c)a[b+c]=this.entries[c].slice(0)},containsKey:m(j),containsValue:function(a){var b=this.entries.length;while(b--)if(a===this.entries[b][1])return!0;return!1}},q}();(function(a){function i(a,b,c){this.dec=a,this.group=b,this.neg=c}function j(){for(var a=0;a<h.length;a++){localeGroup=h[a];for(var c=0;c<localeGroup.length;c++)b.put(localeGroup[c],a)}}function k(a,c){b.size()==0&&j();var d=".",e=",",f="-";c==0&&(a.indexOf("_")!=-1?a=a.split("_")[1].toLowerCase():a.indexOf("-")!=-1&&(a=a.split("-")[1].toLowerCase()));var h=b.get(a);if(h){var k=g[h];k&&(d=k[0],e=k[1])}return new i(d,e,f)}var b=new Hashtable,c=["ae","au","ca","cn","eg","gb","hk","il","in","jp","sk","th","tw","us"],d=["at","br","de","dk","es","gr","it","nl","pt","tr","vn"],e=["cz","fi","fr","ru","se","pl"],f=["ch"],g=[[".",","],[",","."],[","," "],[".","'"]],h=[c,d,e,f];a.fn.formatNumber=function(b,c,d){return this.each(function(){c==null&&(c=!0),d==null&&(d=!0);var e;a(this).is(":input")?e=new String(a(this).val()):e=new String(a(this).text());var f=a.formatNumber(e,b);c&&(a(this).is(":input")?a(this).val(f):a(this).text(f));if(d)return f})},a.formatNumber=function(b,c){var c=a.extend({},a.fn.formatNumber.defaults,c),d=k(c.locale.toLowerCase(),c.isFullLocale),e=d.dec,f=d.group,g=d.neg,h="0#-,.",i="",j=!1;for(var l=0;l<c.format.length;l++){if(h.indexOf(c.format.charAt(l))!=-1){if(l==0&&c.format.charAt(l)=="-"){j=!0;continue}break}i+=c.format.charAt(l)}var m="";for(var l=c.format.length-1;l>=0;l--){if(h.indexOf(c.format.charAt(l))!=-1)break;m=c.format.charAt(l)+m}c.format=c.format.substring(i.length),c.format=c.format.substring(0,c.format.length-m.length);var n=new Number(b);return a._formatNumber(n,c,m,i,j)},a._formatNumber=function(b,c,d,e,f){var c=a.extend({},a.fn.formatNumber.defaults,c),g=k(c.locale.toLowerCase(),c.isFullLocale),h=g.dec,i=g.group,j=g.neg,l=!1;if(isNaN(b)){if(c.nanForceZero!=1)return null;b=0,l=!0}d=="%"&&(b*=100);var m="";if(c.format.indexOf(".")>-1){var n=h,o=c.format.substring(c.format.lastIndexOf(".")+1);if(c.round==1)b=new Number(b.toFixed(o.length));else{var p=b.toString();p=p.substring(0,p.lastIndexOf(".")+o.length+1),b=new Number(p)}var q=b%1,r=new String(q.toFixed(o.length));r=r.substring(r.lastIndexOf(".")+1);for(var s=0;s<o.length;s++){if(o.charAt(s)=="#"&&r.charAt(s)!="0"){n+=r.charAt(s);continue}if(o.charAt(s)=="#"&&r.charAt(s)=="0"){var t=r.substring(s);if(t.match("[1-9]")){n+=r.charAt(s);continue}break}o.charAt(s)=="0"&&(n+=r.charAt(s))}m+=n}else b=Math.round(b);var u=Math.floor(b);b<0&&(u=Math.ceil(b));var v="";c.format.indexOf(".")==-1?v=c.format:v=c.format.substring(0,c.format.indexOf("."));var w="";if(u!=0||v.substr(v.length-1)!="#"||l){var x=new String(Math.abs(u)),y=9999;v.lastIndexOf(",")!=-1&&(y=v.length-v.lastIndexOf(",")-1);var z=0;for(var s=x.length-1;s>-1;s--)w=x.charAt(s)+w,z++,z==y&&s!=0&&(w=i+w,z=0);if(v.length>w.length){var A=v.indexOf("0");if(A!=-1){var B=v.length-A,C=v.length-w.length-1;while(w.length<B){var D=v.charAt(C);D==","&&(D=i),w=D+w,C--}}}}return!w&&v.indexOf("0",v.length-1)!==-1&&(w="0"),m=w+m,b<0&&f&&e.length>0?e=j+e:b<0&&(m=j+m),c.decimalSeparatorAlwaysShown||m.lastIndexOf(h)==m.length-1&&(m=m.substring(0,m.length-1)),m=e+m+d,m},a.fn.parseNumber=function(b,c,d){c==null&&(c=!0),d==null&&(d=!0);var e;a(this).is(":input")?e=new String(a(this).val()):e=new String(a(this).text());var f=a.parseNumber(e,b);if(f){c&&(a(this).is(":input")?a(this).val(f.toString()):a(this).text(f.toString()));if(d)return f}},a.parseNumber=function(b,c){var c=a.extend({},a.fn.parseNumber.defaults,c),d=k(c.locale.toLowerCase(),c.isFullLocale),e=d.dec,f=d.group,g=d.neg,h="1234567890.-";while(b.indexOf(f)>-1)b=b.replace(f,"");b=b.replace(e,".").replace(g,"-");var i="",j=!1;if(b.charAt(b.length-1)=="%"||c.isPercentage==1)j=!0;for(var l=0;l<b.length;l++)h.indexOf(b.charAt(l))>-1&&(i+=b.charAt(l));var m=new Number(i);if(j){m/=100;var n=i.indexOf(".");if(n!=-1){var o=i.length-n-1;m=m.toFixed(o+2)}else m=m.toFixed(i.length-1)}return m},a.fn.parseNumber.defaults={locale:"us",decimalSeparatorAlwaysShown:!1,isPercentage:!1,isFullLocale:!1},a.fn.formatNumber.defaults={format:"#,###.00",locale:"us",decimalSeparatorAlwaysShown:!1,nanForceZero:!0,round:!0,isFullLocale:!1},Number.prototype.toFixed=function(b){return a._roundNumber(this,b)},a._roundNumber=function(a,b){var c=Math.pow(10,b||0),d=String(Math.round(a*c)/c);if(b>0){var e=d.indexOf(".");e==-1?(d+=".",e=0):e=d.length-(e+1);while(e<b)d+="0",e++}return d}})(jQuery),function(){var a={};this.tmpl=function b(c,d){var e=/\W/.test(c)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+c.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):a[c]=a[c]||b(document.getElementById(c).innerHTML);return d?e(d):e}}(),function(a){a.baseClass=function(b){return b=a(b),b.get(0).className.match(/([^ ]+)/)[1]},a.fn.addDependClass=function(b,c){var d={delimiter:c?c:"-"};return this.each(function(){var c=a.baseClass(this);c&&a(this).addClass(c+d.delimiter+b)})},a.fn.removeDependClass=function(b,c){var d={delimiter:c?c:"-"};return this.each(function(){var c=a.baseClass(this);c&&a(this).removeClass(c+d.delimiter+b)})},a.fn.toggleDependClass=function(b,c){var d={delimiter:c?c:"-"};return this.each(function(){var c=a.baseClass(this);c&&(a(this).is("."+c+d.delimiter+b)?a(this).removeClass(c+d.delimiter+b):a(this).addClass(c+d.delimiter+b))})}}(jQuery),function(a){function b(){this._init.apply(this,arguments)}b.prototype.oninit=function(){},b.prototype.events=function(){},b.prototype.onmousedown=function(){this.ptr.css({position:"absolute"})},b.prototype.onmousemove=function(a,b,c){this.ptr.css({left:b,top:c})},b.prototype.onmouseup=function(){},b.prototype.isDefault={drag:!1,clicked:!1,toclick:!0,mouseup:!1},b.prototype._init=function(){if(arguments.length>0){this.ptr=a(arguments[0]),this.outer=a(".draggable-outer"),this.is={},a.extend(this.is,this.isDefault);var b=this.ptr.offset();this.d={left:b.left,top:b.top,width:this.ptr.width(),height:this.ptr.height()},this.oninit.apply(this,arguments),this._events()}},b.prototype._getPageCoords=function(a){return a.targetTouches&&a.targetTouches[0]?{x:a.targetTouches[0].pageX,y:a.targetTouches[0].pageY}:{x:a.pageX,y:a.pageY}},b.prototype._bindEvent=function(a,b,c){var d=this;this.supportTouches_?a.get(0).addEventListener(this.events_[b],c,!1):a.bind(this.events_[b],c)},b.prototype._events=function(){var b=this;this.supportTouches_=a.browser.webkit&&navigator.userAgent.indexOf("Mobile")!=-1,this.events_={click:this.supportTouches_?"touchstart":"click",down:this.supportTouches_?"touchstart":"mousedown",move:this.supportTouches_?"touchmove":"mousemove",up:this.supportTouches_?"touchend":"mouseup"},this._bindEvent(a(document),"move",function(a){b.is.drag&&(a.stopPropagation(),a.preventDefault(),b._mousemove(a))}),this._bindEvent(a(document),"down",function(a){b.is.drag&&(a.stopPropagation(),a.preventDefault())}),this._bindEvent(a(document),"up",function(a){b._mouseup(a)}),this._bindEvent(this.ptr,"down",function(a){return b._mousedown(a),!1}),this._bindEvent(this.ptr,"up",function(a){b._mouseup(a)}),this.ptr.find("a").click(function(){b.is.clicked=!0;if(!b.is.toclick)return b.is.toclick=!0,!1}).mousedown(function(a){return b._mousedown(a),!1}),this.events()},b.prototype._mousedown=function(b){this.is.drag=!0,this.is.clicked=!1,this.is.mouseup=!1;var c=this.ptr.offset(),d=this._getPageCoords(b);this.cx=d.x-c.left,this.cy=d.y-c.top,a.extend(this.d,{left:c.left,top:c.top,width:this.ptr.width(),height:this.ptr.height()}),this.outer&&this.outer.get(0)&&this.outer.css({height:Math.max(this.outer.height(),a(document.body).height()),overflow:"hidden"}),this.onmousedown(b)},b.prototype._mousemove=function(a){this.is.toclick=!1;var b=this._getPageCoords(a);this.onmousemove(a,b.x-this.cx,b.y-this.cy)},b.prototype._mouseup=function(b){var c=this;this.is.drag&&(this.is.drag=!1,this.outer&&this.outer.get(0)&&(a.browser.mozilla?this.outer.css({overflow:"hidden"}):this.outer.css({overflow:"visible"}),a.browser.msie&&a.browser.version=="6.0"?this.outer.css({height:"100%"}):this.outer.css({height:"auto"})),this.onmouseup(b))},window.Draggable=b}(jQuery),function(a){function b(a){return typeof a=="undefined"?!1:a instanceof Array||!(a instanceof Object)&&Object.prototype.toString.call(a)=="[object Array]"||typeof a.length=="number"&&typeof a.splice!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("splice")?!0:!1}function d(){return this.init.apply(this,arguments)}function e(){Draggable.apply(this,arguments)}a.slider=function(b,c){var e=a(b);return e.data("jslider")||e.data("jslider",new d(b,c)),e.data("jslider")},a.fn.slider=function(c,d){function g(a){return a!==undefined}function h(a){return a!=null}var e,f=arguments;return this.each(function(){var i=a.slider(this,c);if(typeof c=="string")switch(c){case"value":if(g(f[1])&&g(f[2])){var j=i.getPointers();h(j[0])&&h(f[1])&&(j[0].set(f[1]),j[0].setIndexOver()),h(j[1])&&h(f[2])&&(j[1].set(f[2]),j[1].setIndexOver())}else if(g(f[1])){var j=i.getPointers();h(j[0])&&h(f[1])&&(j[0].set(f[1]),j[0].setIndexOver())}else e=i.getValue();break;case"prc":if(g(f[1])&&g(f[2])){var j=i.getPointers();h(j[0])&&h(f[1])&&(j[0]._set(f[1]),j[0].setIndexOver()),h(j[1])&&h(f[2])&&(j[1]._set(f[2]),j[1].setIndexOver())}else if(g(f[1])){var j=i.getPointers();h(j[0])&&h(f[1])&&(j[0]._set(f[1]),j[0].setIndexOver())}else e=i.getPrcValue();break;case"calculatedValue":var k=i.getValue().split(";");e="";for(var l=0;l<k.length;l++)e+=(l>0?";":"")+i.nice(k[l]);break;case"skin":i.setSkin(f[1])}else!c&&!d&&(b(e)||(e=[]),e.push(i))}),b(e)&&e.length==1&&(e=e[0]),e||this};var c={settings:{from:1,to:10,step:1,smooth:!0,limits:!0,round:0,format:{format:"#,##0.##"},value:"5;7",dimension:""},className:"jslider",selector:".jslider-",template:tmpl('<span class="<%=className%>"><table><tr><td><div class="<%=className%>-bg"><i class="l"></i><i class="r"></i><i class="v"></i></div><div class="<%=className%>-pointer"></div><div class="<%=className%>-pointer <%=className%>-pointer-to"></div><div class="<%=className%>-label"><span><%=settings.from%></span></div><div class="<%=className%>-label <%=className%>-label-to"><span><%=settings.to%></span><%=settings.dimension%></div><div class="<%=className%>-value"><span></span><%=settings.dimension%></div><div class="<%=className%>-value <%=className%>-value-to"><span></span><%=settings.dimension%></div><div class="<%=className%>-scale"><%=scale%></div></td></tr></table></span>')};d.prototype.init=function(b,d){this.settings=a.extend(!0,{},c.settings,d?d:{}),this.inputNode=a(b).hide(),this.settings.interval=this.settings.to-this.settings.from,this.settings.value=this.inputNode.attr("value"),this.settings.calculate&&a.isFunction(this.settings.calculate)&&(this.nice=this.settings.calculate),this.settings.onstatechange&&a.isFunction(this.settings.onstatechange)&&(this.onstatechange=this.settings.onstatechange),this.is={init:!1},this.o={},this.create()},d.prototype.onstatechange=function(){},d.prototype.create=function(){var b=this;this.domNode=a(c.template({className:c.className,settings:{from:this.nice(this.settings.from),to:this.nice(this.settings.to),dimension:this.settings.dimension},scale:this.generateScale()})),this.inputNode.after(this.domNode),this.drawScale(),this.settings.skin&&this.settings.skin.length>0&&this.setSkin(this.settings.skin),this.sizes={domWidth:this.domNode.width(),domOffset:this.domNode.offset()},a.extend(this.o,{pointers:{},labels:{0:{o:this.domNode.find(c.selector+"value").not(c.selector+"value-to")},1:{o:this.domNode.find(c.selector+"value").filter(c.selector+"value-to")}},limits:{0:this.domNode.find(c.selector+"label").not(c.selector+"label-to"),1:this.domNode.find(c.selector+"label").filter(c.selector+"label-to")}}),a.extend(this.o.labels[0],{value:this.o.labels[0].o.find("span")}),a.extend(this.o.labels[1],{value:this.o.labels[1].o.find("span")}),b.settings.value.split(";")[1]||(this.settings.single=!0,this.domNode.addDependClass("single")),b.settings.limits||this.domNode.addDependClass("limitless"),this.domNode.find(c.selector+"pointer").each(function(a){var c=b.settings.value.split(";")[a];if(c){b.o.pointers[a]=new e(this,a,b);var d=b.settings.value.split(";")[a-1];d&&new Number(c)<new Number(d)&&(c=d),c=c<b.settings.from?b.settings.from:c,c=c>b.settings.to?b.settings.to:c,b.o.pointers[a].set(c,!0)}}),this.o.value=this.domNode.find(".v"),this.is.init=!0,a.each(this.o.pointers,function(a){b.redraw(this)}),function(b){a(window).resize(function(){b.onresize()})}(this)},d.prototype.setSkin=function(a){this.skin_&&this.domNode.removeDependClass(this.skin_,"_"),this.domNode.addDependClass(this.skin_=a,"_")},d.prototype.setPointersIndex=function(b){a.each(this.getPointers(),function(a){this.index(a)})},d.prototype.getPointers=function(){return this.o.pointers},d.prototype.generateScale=function(){if(this.settings.scale&&this.settings.scale.length>0){var a="",b=this.settings.scale,c=Math.round(100/(b.length-1)*10)/10;for(var d=0;d<b.length;d++)a+='<span style="left: '+d*c+'%">'+(b[d]!="|"?"<ins>"+b[d]+"</ins>":"")+"</span>";return a}return""},d.prototype.drawScale=function(){this.domNode.find(c.selector+"scale span ins").each(function(){a(this).css({marginLeft:-a(this).outerWidth()/2})})},d.prototype.onresize=function(){var b=this;this.sizes={domWidth:this.domNode.width(),domOffset:this.domNode.offset()},a.each(this.o.pointers,function(a){b.redraw(this)})},d.prototype.update=function(){this.onresize(),this.drawScale()},d.prototype.limits=function(a,b){if(!this.settings.smooth){var c=this.settings.step*100/this.settings.interval;a=Math.round(a/c)*c}var d=this.o.pointers[1-b.uid];return d&&b.uid&&a<d.value.prc&&(a=d.value.prc),d&&!b.uid&&a>d.value.prc&&(a=d.value.prc),a<0&&(a=0),a>100&&(a=100),Math.round(a*10)/10},d.prototype.redraw=function(a){if(!this.is.init)return!1;this.setValue(),this.o.pointers[0]&&this.o.pointers[1]&&this.o.value.css({left:this.o.pointers[0].value.prc+"%",width:this.o.pointers[1].value.prc-this.o.pointers[0].value.prc+"%"}),this.o.labels[a.uid].value.html(this.nice(a.value.origin)),this.redrawLabels(a)},d.prototype.redrawLabels=function(a){function b(a,b,d){return b.margin=-b.label/2,label_left=b.border+b.margin,label_left<0&&(b.margin-=label_left),b.border+b.label/2>c.sizes.domWidth?(b.margin=0,b.right=!0):b.right=!1,a.o.css({left:d+"%",marginLeft:b.margin,right:"auto"}),b.right&&a.o.css({left:"auto",right:0}),b}var c=this,d=this.o.labels[a.uid],e=a.value.prc,f={label:d.o.outerWidth(),right:!1,border:e*this.sizes.domWidth/100};if(!this.settings.single){var g=this.o.pointers[1-a.uid],h=this.o.labels[g.uid];switch(a.uid){case 0:f.border+f.label/2>h.o.offset().left-this.sizes.domOffset.left?(h.o.css({visibility:"hidden"}),h.value.html(this.nice(g.value.origin)),d.o.css({visibility:"visible"}),e=(g.value.prc-e)/2+e,g.value.prc!=a.value.prc&&(d.value.html(this.nice(a.value.origin)+"&nbsp;&ndash;&nbsp;"+this.nice(g.value.origin)),f.label=d.o.outerWidth(),f.border=e*this.sizes.domWidth/100)):h.o.css({visibility:"visible"});break;case 1:f.border-f.label/2<h.o.offset().left-this.sizes.domOffset.left+h.o.outerWidth()?(h.o.css({visibility:"hidden"}),h.value.html(this.nice(g.value.origin)),d.o.css({visibility:"visible"}),e=(e-g.value.prc)/2+g.value.prc,g.value.prc!=a.value.prc&&(d.value.html(this.nice(g.value.origin)+"&nbsp;&ndash;&nbsp;"+this.nice(a.value.origin)),f.label=d.o.outerWidth(),f.border=e*this.sizes.domWidth/100)):h.o.css({visibility:"visible"})}}f=b(d,f,e);if(h){var f={label:h.o.outerWidth(),right:!1,border:g.value.prc*this.sizes.domWidth/100};f=b(h,f,g.value.prc)}this.redrawLimits()},d.prototype.redrawLimits=function(){if(this.settings.limits){var a=[!0,!0];for(key in this.o.pointers)if(!this.settings.single||key==0){var b=this.o.pointers[key],c=this.o.labels[b.uid],d=c.o.offset().left-this.sizes.domOffset.left,e=this.o.limits[0];d<e.outerWidth()&&(a[0]=!1);var e=this.o.limits[1];d+c.o.outerWidth()>this.sizes.domWidth-e.outerWidth()&&(a[1]=!1)}for(var f=0;f<a.length;f++)a[f]?this.o.limits[f].fadeIn("fast"):this.o.limits[f].fadeOut("fast")}},d.prototype.setValue=function(){var a=this.getValue();this.inputNode.attr("value",a),this.onstatechange.call(this,a)},d.prototype.getValue=function(){if(!this.is.init)return!1;var b=this,c="";return a.each(this.o.pointers,function(a){this.value.prc!=undefined&&!isNaN(this.value.prc)&&(c+=(a>0?";":"")+b.prcToValue(this.value.prc))}),c},d.prototype.getPrcValue=function(){if(!this.is.init)return!1;var b=this,c="";return a.each(this.o.pointers,function(a){this.value.prc!=undefined&&!isNaN(this.value.prc)&&(c+=(a>0?";":"")+this.value.prc)}),c},d.prototype.prcToValue=function(a){if(this.settings.heterogeneity&&this.settings.heterogeneity.length>0){var b=this.settings.heterogeneity,c=0,d=this.settings.from;for(var e=0;e<=b.length;e++){if(b[e])var f=b[e].split("/");else var f=[100,this.settings.to];f[0]=new Number(f[0]),f[1]=new Number(f[1]);if(a>=c&&a<=f[0])var g=d+(a-c)*(f[1]-d)/(f[0]-c);c=f[0],d=f[1]}}else var g=this.settings.from+a*this.settings.interval/100;return this.round(g)},d.prototype.valueToPrc=function(a,b){if(this.settings.heterogeneity&&this.settings.heterogeneity.length>0){var c=this.settings.heterogeneity,d=0,e=this.settings.from;for(var f=0;f<=c.length;f++){if(c[f])var g=c[f].split("/");else var g=[100,this.settings.to];g[0]=new Number(g[0]),g[1]=new Number(g[1]);if(a>=e&&a<=g[1])var h=b.limits(d+(a-e)*(g[0]-d)/(g[1]-e));d=g[0],e=g[1]}}else var h=b.limits((a-this.settings.from)*100/this.settings.interval);return h},d.prototype.round=function(a){return a=Math.round(a/this.settings.step)*this.settings.step,this.settings.round?a=Math.round(a*Math.pow(10,this.settings.round))/Math.pow(10,this.settings.round):a=Math.round(a),a},d.prototype.nice=function(b){return b=b.toString().replace(/,/gi,".").replace(/ /gi,""),a.formatNumber?a.formatNumber(new Number(b),this.settings.format||{}).replace(/-/gi,"&minus;"):new Number(b)},e.prototype=new Draggable,e.prototype.oninit=function(a,b,c){this.uid=b,this.parent=c,this.value={},this.settings=this.parent.settings},e.prototype.onmousedown=function(a){this._parent={offset:this.parent.domNode.offset(),width:this.parent.domNode.width()},this.ptr.addDependClass("hover"),this.setIndexOver()},e.prototype.onmousemove=function(a,b){var c=this._getPageCoords(a);this._set(this.calc(c.x))},e.prototype.onmouseup=function(b){this.parent.settings.callback&&a.isFunction(this.parent.settings.callback)&&this.parent.settings.callback.call(this.parent,this.parent.getValue()),this.ptr.removeDependClass("hover")},e.prototype.setIndexOver=function(){this.parent.setPointersIndex(1),this.index(2)},e.prototype.index=function(a){this.ptr.css({zIndex:a})},e.prototype.limits=function(a){return this.parent.limits(a,this)},e.prototype.calc=function(a){var b=this.limits((a-this._parent.offset.left)*100/this._parent.width);return b},e.prototype.set=function(a,b){this.value.origin=this.parent.round(a),this._set(this.parent.valueToPrc(a,this),b)},e.prototype._set=function(a,b){b||(this.value.origin=this.parent.prcToValue(a)),this.value.prc=a,this.ptr.css({left:a+"%"}),this.parent.redraw(this)}}(jQuery); \ No newline at end of file
diff --git a/library/jslider/css/jslider.blue.css b/library/jslider/css/jslider.blue.css
deleted file mode 100644
index ae378433c..000000000
--- a/library/jslider/css/jslider.blue.css
+++ /dev/null
@@ -1,4 +0,0 @@
-
- .jslider_blue .jslider-bg i,
- .jslider_blue .jslider-pointer { background-image: url(../img/jslider.blue.png); }
- \ No newline at end of file
diff --git a/library/jslider/css/jslider.css b/library/jslider/css/jslider.css
deleted file mode 100644
index fe943dc0a..000000000
--- a/library/jslider/css/jslider.css
+++ /dev/null
@@ -1,39 +0,0 @@
-
- .jslider .jslider-bg i,
- .jslider .jslider-pointer { background: url(../img/jslider.png) no-repeat 0 0; }
-
- .jslider { display: block; width: 100%; height: 1em; position: relative; top: 0.6em; font-family: Arial, sans-serif; }
- .jslider table { width: 100%; border-collapse: collapse; border: 0; }
- .jslider td, .jslider th { padding: 0; vertical-align: top; text-align: left; border: 0; }
-
- .jslider table,
- .jslider table tr,
- .jslider table tr td { width: 100%; vertical-align: top; }
-
- .jslider .jslider-bg { position: relative; }
- .jslider .jslider-bg i { height: 5px; position: absolute; font-size: 0; top: 0; }
- .jslider .jslider-bg .l { width: 50%; background-position: 0 0; left: 0; background: #888; }
- .jslider .jslider-bg .r { width: 50%; left: 50%; background-position: right 0; background: #888;}
- .jslider .jslider-bg .v { position: absolute; background: url(../img/jslider.png) repeat-x 0 0; width: 60%; left: 20%; top: 0; height: 5px; background-position: 0 -20px; }
-
- .jslider .jslider-pointer { width: 13px; height: 15px; background-position: 0 -40px; position: absolute; left: 20%; top: -4px; margin-left: -6px; cursor: pointer; cursor: hand; }
- .jslider .jslider-pointer-hover { background-position: -20px -40px; }
- .jslider .jslider-pointer-to { left: 80%; }
-
- .jslider .jslider-label { font-size: 9px; line-height: 12px; color: black; opacity: 0.4; white-space: nowrap; padding: 0px 2px; position: absolute; top: -18px; left: 0px; }
- .jslider .jslider-label-to { left: auto; right: 0; }
-
- .jslider .jslider-value { font-size: 9px; white-space: nowrap; padding: 1px 2px 0; position: absolute; top: -19px; left: 20%; line-height: 12px; }
- .jslider .jslider-value-to { left: 80%; }
-
- .jslider .jslider-label small,
- .jslider .jslider-value small { position: relative; top: -0.4em; }
-
- .jslider .jslider-scale { position: relative; top: 9px; }
- .jslider .jslider-scale span { position: absolute; height: 5px; border-left: 1px solid #999; font-size: 0; }
- .jslider .jslider-scale ins { font-size: 9px; text-decoration: none; position: absolute; left: 0px; top: 5px; color: #999; }
-
- .jslider-single .jslider-pointer-to,
- .jslider-single .jslider-value-to,
- .jslider-single .jslider-bg .v,
- .jslider-limitless .jslider-label { display: none; }
diff --git a/library/jslider/css/jslider.plastic.css b/library/jslider/css/jslider.plastic.css
deleted file mode 100644
index 32b54676b..000000000
--- a/library/jslider/css/jslider.plastic.css
+++ /dev/null
@@ -1,3 +0,0 @@
-
- .jslider_plastic .jslider-bg i,
- .jslider_plastic .jslider-pointer { background-image: url(../img/jslider.plastic.png); }
diff --git a/library/jslider/css/jslider.round.css b/library/jslider/css/jslider.round.css
deleted file mode 100644
index 00ad952e6..000000000
--- a/library/jslider/css/jslider.round.css
+++ /dev/null
@@ -1,5 +0,0 @@
-
- .jslider_round .jslider-bg i,
- .jslider_round .jslider-pointer { background-image: url(../img/jslider.round.png); }
-
- .jslider_round .jslider-pointer { width: 17px; height: 17px; top: -6px; margin-left: -8px; }
diff --git a/library/jslider/css/jslider.round.plastic.css b/library/jslider/css/jslider.round.plastic.css
deleted file mode 100644
index 4272e1fb0..000000000
--- a/library/jslider/css/jslider.round.plastic.css
+++ /dev/null
@@ -1,5 +0,0 @@
-
- .jslider_round_plastic .jslider-bg i,
- .jslider_round_plastic .jslider-pointer { background-image: url(../img/jslider.round.plastic.png); }
-
- .jslider_round_plastic .jslider-pointer { width: 18px; height: 18px; top: -7px; margin-left: -8px; }
diff --git a/library/jslider/img/jslider.blue.png b/library/jslider/img/jslider.blue.png
deleted file mode 100644
index e3d573c12..000000000
--- a/library/jslider/img/jslider.blue.png
+++ /dev/null
Binary files differ
diff --git a/library/jslider/img/jslider.plastic.png b/library/jslider/img/jslider.plastic.png
deleted file mode 100644
index 39c6d6527..000000000
--- a/library/jslider/img/jslider.plastic.png
+++ /dev/null
Binary files differ
diff --git a/library/jslider/img/jslider.png b/library/jslider/img/jslider.png
deleted file mode 100644
index 280eb7188..000000000
--- a/library/jslider/img/jslider.png
+++ /dev/null
Binary files differ
diff --git a/library/jslider/img/jslider.round.plastic.png b/library/jslider/img/jslider.round.plastic.png
deleted file mode 100644
index 3604d76bd..000000000
--- a/library/jslider/img/jslider.round.plastic.png
+++ /dev/null
Binary files differ
diff --git a/library/jslider/img/jslider.round.png b/library/jslider/img/jslider.round.png
deleted file mode 100644
index 24153eaa3..000000000
--- a/library/jslider/img/jslider.round.png
+++ /dev/null
Binary files differ
diff --git a/library/jslider/index.html b/library/jslider/index.html
deleted file mode 100644
index 994b0783f..000000000
--- a/library/jslider/index.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>jSlider</title>
-
- <!-- bin/jquery.slider.min.css -->
- <link rel="stylesheet" href="css/jslider.css" type="text/css">
- <link rel="stylesheet" href="css/jslider.blue.css" type="text/css">
- <link rel="stylesheet" href="css/jslider.plastic.css" type="text/css">
- <link rel="stylesheet" href="css/jslider.round.css" type="text/css">
- <link rel="stylesheet" href="css/jslider.round.plastic.css" type="text/css">
- <!-- end -->
-
- <script type="text/javascript" src="js/jquery-1.7.1.js"></script>
-
- <!-- bin/jquery.slider.min.js -->
- <script type="text/javascript" src="js/jshashtable-2.1_src.js"></script>
- <script type="text/javascript" src="js/jquery.numberformatter-1.2.3.js"></script>
- <script type="text/javascript" src="js/tmpl.js"></script>
- <script type="text/javascript" src="js/jquery.dependClass-0.1.js"></script>
- <script type="text/javascript" src="js/draggable-0.1.js"></script>
- <script type="text/javascript" src="js/jquery.slider.js"></script>
- <!-- end -->
-
- <style type="text/css" media="screen">
- body { background: #EEF0F7; }
- .layout { padding: 50px; font-family: Georgia, serif; }
- .layout-slider { margin-bottom: 60px; width: 50%; }
- .layout-slider-settings { font-size: 12px; padding-bottom: 10px; }
- .layout-slider-settings pre { font-family: Courier; }
- </style>
-
-</head>
-<body>
-
- <div class="layout">
-
- <div class="layout-slider" style="width: 100%">
- Slider <span style="display: inline-block; width: 400px; padding: 0 5px;"><input id="Slider1" type="slider" name="price" value="30000.5;60000" /></span> in string
- </div>
- <script type="text/javascript" charset="utf-8">
- jQuery("#Slider1").slider({ from: 1000, to: 100000, step: 500, smooth: true, round: 0, dimension: "&nbsp;$", skin: "plastic" });
- </script>
-
- <div class="layout-slider-settings">
-<pre>{
- from: 5,
- to: 50,
- step: 2.5,
- round: 1,
- format: { format: '##.0', locale: 'de' },
- dimension: '&amp;nbsp;€'
-}</pre>
- </div>
- <div class="layout-slider">
- <input id="SliderSingle" type="slider" name="price" value="20" />
- </div>
- <script type="text/javascript" charset="utf-8">
- jQuery("#SliderSingle").slider({ from: 5, to: 50, step: 2.5, round: 1, format: { format: '##.0', locale: 'de' }, dimension: '&nbsp;€', skin: "round" });
- </script>
-
- <div class="layout-slider-settings">
-<pre>{
- from: 5000,
- to: 150000,
- heterogeneity: ['50/50000'],
- step: 1000,
- dimension: '&amp;nbsp;$'
-}</pre>
- </div>
- <div class="layout-slider">
- <input id="Slider2" type="slider" name="price" value="5000;50000" />
- </div>
- <script type="text/javascript" charset="utf-8">
- jQuery("#Slider2").slider({ from: 5000, to: 150000, heterogeneity: ['50/50000'], step: 1000, dimension: '&nbsp;$' });
- </script>
-
- <div class="layout-slider-settings">
-<pre>{
- from: 0,
- to: 500,
- heterogeneity: ['50/100', '75/250'],
- scale: [0, '|', 50, '|' , '100', '|', 250, '|', 500],
- limits: false,
- step: 1,
- dimension: '&amp;nbsp;m&lt;small&gt;2&lt;/small&gt;'
-}</pre>
- </div>
- <div class="layout-slider">
- <input id="Slider3" type="slider" name="area" value="25;75" />
- </div>
- <script type="text/javascript" charset="utf-8">
- jQuery("#Slider3").slider({ from: 0, to: 500, heterogeneity: ['50/100', '75/250'], scale: [0, '|', 50, '|', '100', '|', 250, '|', 500], limits: false, step: 1, dimension: '&nbsp;m<small>2</small>', skin: "round_plastic" });
- </script>
-
- <div class="layout-slider-settings">
-<pre>{
- from: 1,
- to: 30,
- heterogeneity: ['50/5', '75/15'],
- scale: [1, '|', 3, '|', '5', '|', 15, '|', 30],
- limits: false,
- step: 1,
- dimension: '',
- skin: "blue"
-}</pre>
- </div>
- <div class="layout-slider">
- <input id="Slider4" type="slider" name="area" value="2;10" />
- </div>
- <script type="text/javascript" charset="utf-8">
- jQuery("#Slider4").slider({ from: 1, to: 30, heterogeneity: ['50/5', '75/15'], scale: [1, '|', 3, '|', '5', '|', 15, '|', 30], limits: false, step: 1, dimension: '', skin: "blue", callback: function( value ){ console.dir( this ); } });
- </script>
-
-
- <div class="layout-slider-settings">
-<pre>{
- from: 480,
- to: 1020,
- step: 15,
- dimension: '',
- scale: ['8:00', '9:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00'],
- limits: false,
- calculate: function( value ){
- var hours = Math.floor( value / 60 );
- var mins = ( value - hours*60 );
- return (hours &lt; 10 ? "0"+hours : hours) + ":" + ( mins == 0 ? "00" : mins );
- },
- onstatechange: function( value ){
- console.dir( this );
- }
-}</pre>
- </div>
- <div class="layout-slider">
- <input id="Slider5" type="slider" name="area" value="600;720" />
- </div>
- <script type="text/javascript" charset="utf-8">
-
- jQuery("#Slider5").slider({ from: 480, to: 1020, step: 15, dimension: '', scale: ['8:00', '9:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00'], limits: false, calculate: function( value ){
- var hours = Math.floor( value / 60 );
- var mins = ( value - hours*60 );
- return (hours < 10 ? "0"+hours : hours) + ":" + ( mins == 0 ? "00" : mins );
- }})
-
- </script>
-
- </div>
-
-
-</body>
-</html> \ No newline at end of file
diff --git a/library/jslider/js/draggable-0.1.js b/library/jslider/js/draggable-0.1.js
deleted file mode 100644
index dd2688da5..000000000
--- a/library/jslider/js/draggable-0.1.js
+++ /dev/null
@@ -1,196 +0,0 @@
-/**
- * draggable - Class allows to make any element draggable
- *
- * Written by
- * Egor Khmelev (hmelyoff@gmail.com)
- *
- * Licensed under the MIT (MIT-LICENSE.txt).
- *
- * @author Egor Khmelev
- * @version 0.1.0-BETA ($Id$)
- *
- **/
-
-(function( $ ){
-
- function Draggable(){
- this._init.apply( this, arguments );
- };
-
- Draggable.prototype.oninit = function(){
-
- };
-
- Draggable.prototype.events = function(){
-
- };
-
- Draggable.prototype.onmousedown = function(){
- this.ptr.css({ position: "absolute" });
- };
-
- Draggable.prototype.onmousemove = function( evt, x, y ){
- this.ptr.css({ left: x, top: y });
- };
-
- Draggable.prototype.onmouseup = function(){
-
- };
-
- Draggable.prototype.isDefault = {
- drag: false,
- clicked: false,
- toclick: true,
- mouseup: false
- };
-
- Draggable.prototype._init = function(){
- if( arguments.length > 0 ){
- this.ptr = $(arguments[0]);
- this.outer = $(".draggable-outer");
-
- this.is = {};
- $.extend( this.is, this.isDefault );
-
- var _offset = this.ptr.offset();
- this.d = {
- left: _offset.left,
- top: _offset.top,
- width: this.ptr.width(),
- height: this.ptr.height()
- };
-
- this.oninit.apply( this, arguments );
-
- this._events();
- }
- };
-
- Draggable.prototype._getPageCoords = function( event ){
- if( event.targetTouches && event.targetTouches[0] ){
- return { x: event.targetTouches[0].pageX, y: event.targetTouches[0].pageY };
- } else
- return { x: event.pageX, y: event.pageY };
- };
-
- Draggable.prototype._bindEvent = function( ptr, eventType, handler ){
- var self = this;
-
- if( this.supportTouches_ )
- ptr.get(0).addEventListener( this.events_[ eventType ], handler, false );
-
- else
- ptr.bind( this.events_[ eventType ], handler );
- };
-
- Draggable.prototype._events = function(){
- var self = this;
-
- this.supportTouches_ = ( $.browser.webkit && navigator.userAgent.indexOf("Mobile") != -1 );
- this.events_ = {
- "click": this.supportTouches_ ? "touchstart" : "click",
- "down": this.supportTouches_ ? "touchstart" : "mousedown",
- "move": this.supportTouches_ ? "touchmove" : "mousemove",
- "up" : this.supportTouches_ ? "touchend" : "mouseup"
- };
-
- this._bindEvent( $( document ), "move", function( event ){
- if( self.is.drag ){
- event.stopPropagation();
- event.preventDefault();
- self._mousemove( event );
- }
- });
- this._bindEvent( $( document ), "down", function( event ){
- if( self.is.drag ){
- event.stopPropagation();
- event.preventDefault();
- }
- });
- this._bindEvent( $( document ), "up", function( event ){
- self._mouseup( event );
- });
-
- this._bindEvent( this.ptr, "down", function( event ){
- self._mousedown( event );
- return false;
- });
- this._bindEvent( this.ptr, "up", function( event ){
- self._mouseup( event );
- });
-
- this.ptr.find("a")
- .click(function(){
- self.is.clicked = true;
-
- if( !self.is.toclick ){
- self.is.toclick = true;
- return false;
- }
- })
- .mousedown(function( event ){
- self._mousedown( event );
- return false;
- });
-
- this.events();
- };
-
- Draggable.prototype._mousedown = function( evt ){
- this.is.drag = true;
- this.is.clicked = false;
- this.is.mouseup = false;
-
- var _offset = this.ptr.offset();
- var coords = this._getPageCoords( evt );
- this.cx = coords.x - _offset.left;
- this.cy = coords.y - _offset.top;
-
- $.extend(this.d, {
- left: _offset.left,
- top: _offset.top,
- width: this.ptr.width(),
- height: this.ptr.height()
- });
-
- if( this.outer && this.outer.get(0) ){
- this.outer.css({ height: Math.max(this.outer.height(), $(document.body).height()), overflow: "hidden" });
- }
-
- this.onmousedown( evt );
- };
-
- Draggable.prototype._mousemove = function( evt ){
- this.is.toclick = false;
- var coords = this._getPageCoords( evt );
- this.onmousemove( evt, coords.x - this.cx, coords.y - this.cy );
- };
-
- Draggable.prototype._mouseup = function( evt ){
- var oThis = this;
-
- if( this.is.drag ){
- this.is.drag = false;
-
- if( this.outer && this.outer.get(0) ){
-
- if( $.browser.mozilla ){
- this.outer.css({ overflow: "hidden" });
- } else {
- this.outer.css({ overflow: "visible" });
- }
-
- if( $.browser.msie && $.browser.version == '6.0' ){
- this.outer.css({ height: "100%" });
- } else {
- this.outer.css({ height: "auto" });
- }
- }
-
- this.onmouseup( evt );
- }
- };
-
- window.Draggable = Draggable;
-
-})( jQuery );
diff --git a/library/jslider/js/jquery-1.7.1.js b/library/jslider/js/jquery-1.7.1.js
deleted file mode 100644
index 8ccd0ea78..000000000
--- a/library/jslider/js/jquery-1.7.1.js
+++ /dev/null
@@ -1,9266 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.7.1
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Mon Nov 21 21:11:03 2011 -0500
- */
-(function( window, undefined ) {
-
-// Use the correct document accordingly with window argument (sandbox)
-var document = window.document,
- navigator = window.navigator,
- location = window.location;
-var jQuery = (function() {
-
-// Define a local copy of jQuery
-var jQuery = function( selector, context ) {
- // The jQuery object is actually just the init constructor 'enhanced'
- return new jQuery.fn.init( selector, context, rootjQuery );
- },
-
- // Map over jQuery in case of overwrite
- _jQuery = window.jQuery,
-
- // Map over the $ in case of overwrite
- _$ = window.$,
-
- // A central reference to the root jQuery(document)
- rootjQuery,
-
- // A simple way to check for HTML strings or ID strings
- // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
- quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
-
- // Check if a string has a non-whitespace character in it
- rnotwhite = /\S/,
-
- // Used for trimming whitespace
- trimLeft = /^\s+/,
- trimRight = /\s+$/,
-
- // Match a standalone tag
- rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-
- // JSON RegExp
- rvalidchars = /^[\],:{}\s]*$/,
- rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
- rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
- rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
-
- // Useragent RegExp
- rwebkit = /(webkit)[ \/]([\w.]+)/,
- ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
- rmsie = /(msie) ([\w.]+)/,
- rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
-
- // Matches dashed string for camelizing
- rdashAlpha = /-([a-z]|[0-9])/ig,
- rmsPrefix = /^-ms-/,
-
- // Used by jQuery.camelCase as callback to replace()
- fcamelCase = function( all, letter ) {
- return ( letter + "" ).toUpperCase();
- },
-
- // Keep a UserAgent string for use with jQuery.browser
- userAgent = navigator.userAgent,
-
- // For matching the engine and version of the browser
- browserMatch,
-
- // The deferred used on DOM ready
- readyList,
-
- // The ready event handler
- DOMContentLoaded,
-
- // Save a reference to some core methods
- toString = Object.prototype.toString,
- hasOwn = Object.prototype.hasOwnProperty,
- push = Array.prototype.push,
- slice = Array.prototype.slice,
- trim = String.prototype.trim,
- indexOf = Array.prototype.indexOf,
-
- // [[Class]] -> type pairs
- class2type = {};
-
-jQuery.fn = jQuery.prototype = {
- constructor: jQuery,
- init: function( selector, context, rootjQuery ) {
- var match, elem, ret, doc;
-
- // Handle $(""), $(null), or $(undefined)
- if ( !selector ) {
- return this;
- }
-
- // Handle $(DOMElement)
- if ( selector.nodeType ) {
- this.context = this[0] = selector;
- this.length = 1;
- return this;
- }
-
- // The body element only exists once, optimize finding it
- if ( selector === "body" && !context && document.body ) {
- this.context = document;
- this[0] = document.body;
- this.selector = selector;
- this.length = 1;
- return this;
- }
-
- // Handle HTML strings
- if ( typeof selector === "string" ) {
- // Are we dealing with HTML string or an ID?
- if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
- // Assume that strings that start and end with <> are HTML and skip the regex check
- match = [ null, selector, null ];
-
- } else {
- match = quickExpr.exec( selector );
- }
-
- // Verify a match, and that no context was specified for #id
- if ( match && (match[1] || !context) ) {
-
- // HANDLE: $(html) -> $(array)
- if ( match[1] ) {
- context = context instanceof jQuery ? context[0] : context;
- doc = ( context ? context.ownerDocument || context : document );
-
- // If a single string is passed in and it's a single tag
- // just do a createElement and skip the rest
- ret = rsingleTag.exec( selector );
-
- if ( ret ) {
- if ( jQuery.isPlainObject( context ) ) {
- selector = [ document.createElement( ret[1] ) ];
- jQuery.fn.attr.call( selector, context, true );
-
- } else {
- selector = [ doc.createElement( ret[1] ) ];
- }
-
- } else {
- ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
- selector = ( ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment ).childNodes;
- }
-
- return jQuery.merge( this, selector );
-
- // HANDLE: $("#id")
- } else {
- elem = document.getElementById( match[2] );
-
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- if ( elem && elem.parentNode ) {
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id !== match[2] ) {
- return rootjQuery.find( selector );
- }
-
- // Otherwise, we inject the element directly into the jQuery object
- this.length = 1;
- this[0] = elem;
- }
-
- this.context = document;
- this.selector = selector;
- return this;
- }
-
- // HANDLE: $(expr, $(...))
- } else if ( !context || context.jquery ) {
- return ( context || rootjQuery ).find( selector );
-
- // HANDLE: $(expr, context)
- // (which is just equivalent to: $(context).find(expr)
- } else {
- return this.constructor( context ).find( selector );
- }
-
- // HANDLE: $(function)
- // Shortcut for document ready
- } else if ( jQuery.isFunction( selector ) ) {
- return rootjQuery.ready( selector );
- }
-
- if ( selector.selector !== undefined ) {
- this.selector = selector.selector;
- this.context = selector.context;
- }
-
- return jQuery.makeArray( selector, this );
- },
-
- // Start with an empty selector
- selector: "",
-
- // The current version of jQuery being used
- jquery: "1.7.1",
-
- // The default length of a jQuery object is 0
- length: 0,
-
- // The number of elements contained in the matched element set
- size: function() {
- return this.length;
- },
-
- toArray: function() {
- return slice.call( this, 0 );
- },
-
- // Get the Nth element in the matched element set OR
- // Get the whole matched element set as a clean array
- get: function( num ) {
- return num == null ?
-
- // Return a 'clean' array
- this.toArray() :
-
- // Return just the object
- ( num < 0 ? this[ this.length + num ] : this[ num ] );
- },
-
- // Take an array of elements and push it onto the stack
- // (returning the new matched element set)
- pushStack: function( elems, name, selector ) {
- // Build a new jQuery matched element set
- var ret = this.constructor();
-
- if ( jQuery.isArray( elems ) ) {
- push.apply( ret, elems );
-
- } else {
- jQuery.merge( ret, elems );
- }
-
- // Add the old object onto the stack (as a reference)
- ret.prevObject = this;
-
- ret.context = this.context;
-
- if ( name === "find" ) {
- ret.selector = this.selector + ( this.selector ? " " : "" ) + selector;
- } else if ( name ) {
- ret.selector = this.selector + "." + name + "(" + selector + ")";
- }
-
- // Return the newly-formed element set
- return ret;
- },
-
- // Execute a callback for every element in the matched set.
- // (You can seed the arguments with an array of args, but this is
- // only used internally.)
- each: function( callback, args ) {
- return jQuery.each( this, callback, args );
- },
-
- ready: function( fn ) {
- // Attach the listeners
- jQuery.bindReady();
-
- // Add the callback
- readyList.add( fn );
-
- return this;
- },
-
- eq: function( i ) {
- i = +i;
- return i === -1 ?
- this.slice( i ) :
- this.slice( i, i + 1 );
- },
-
- first: function() {
- return this.eq( 0 );
- },
-
- last: function() {
- return this.eq( -1 );
- },
-
- slice: function() {
- return this.pushStack( slice.apply( this, arguments ),
- "slice", slice.call(arguments).join(",") );
- },
-
- map: function( callback ) {
- return this.pushStack( jQuery.map(this, function( elem, i ) {
- return callback.call( elem, i, elem );
- }));
- },
-
- end: function() {
- return this.prevObject || this.constructor(null);
- },
-
- // For internal use only.
- // Behaves like an Array's method, not like a jQuery method.
- push: push,
- sort: [].sort,
- splice: [].splice
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
-jQuery.extend = jQuery.fn.extend = function() {
- var options, name, src, copy, copyIsArray, clone,
- target = arguments[0] || {},
- i = 1,
- length = arguments.length,
- deep = false;
-
- // Handle a deep copy situation
- if ( typeof target === "boolean" ) {
- deep = target;
- target = arguments[1] || {};
- // skip the boolean and the target
- i = 2;
- }
-
- // Handle case when target is a string or something (possible in deep copy)
- if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
- target = {};
- }
-
- // extend jQuery itself if only one argument is passed
- if ( length === i ) {
- target = this;
- --i;
- }
-
- for ( ; i < length; i++ ) {
- // Only deal with non-null/undefined values
- if ( (options = arguments[ i ]) != null ) {
- // Extend the base object
- for ( name in options ) {
- src = target[ name ];
- copy = options[ name ];
-
- // Prevent never-ending loop
- if ( target === copy ) {
- continue;
- }
-
- // Recurse if we're merging plain objects or arrays
- if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
- if ( copyIsArray ) {
- copyIsArray = false;
- clone = src && jQuery.isArray(src) ? src : [];
-
- } else {
- clone = src && jQuery.isPlainObject(src) ? src : {};
- }
-
- // Never move original objects, clone them
- target[ name ] = jQuery.extend( deep, clone, copy );
-
- // Don't bring in undefined values
- } else if ( copy !== undefined ) {
- target[ name ] = copy;
- }
- }
- }
- }
-
- // Return the modified object
- return target;
-};
-
-jQuery.extend({
- noConflict: function( deep ) {
- if ( window.$ === jQuery ) {
- window.$ = _$;
- }
-
- if ( deep && window.jQuery === jQuery ) {
- window.jQuery = _jQuery;
- }
-
- return jQuery;
- },
-
- // Is the DOM ready to be used? Set to true once it occurs.
- isReady: false,
-
- // A counter to track how many items to wait for before
- // the ready event fires. See #6781
- readyWait: 1,
-
- // Hold (or release) the ready event
- holdReady: function( hold ) {
- if ( hold ) {
- jQuery.readyWait++;
- } else {
- jQuery.ready( true );
- }
- },
-
- // Handle when the DOM is ready
- ready: function( wait ) {
- // Either a released hold or an DOMready/load event and not yet ready
- if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) {
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( !document.body ) {
- return setTimeout( jQuery.ready, 1 );
- }
-
- // Remember that the DOM is ready
- jQuery.isReady = true;
-
- // If a normal DOM Ready event fired, decrement, and wait if need be
- if ( wait !== true && --jQuery.readyWait > 0 ) {
- return;
- }
-
- // If there are functions bound, to execute
- readyList.fireWith( document, [ jQuery ] );
-
- // Trigger any bound ready events
- if ( jQuery.fn.trigger ) {
- jQuery( document ).trigger( "ready" ).off( "ready" );
- }
- }
- },
-
- bindReady: function() {
- if ( readyList ) {
- return;
- }
-
- readyList = jQuery.Callbacks( "once memory" );
-
- // Catch cases where $(document).ready() is called after the
- // browser event has already occurred.
- if ( document.readyState === "complete" ) {
- // Handle it asynchronously to allow scripts the opportunity to delay ready
- return setTimeout( jQuery.ready, 1 );
- }
-
- // Mozilla, Opera and webkit nightlies currently support this event
- if ( document.addEventListener ) {
- // Use the handy event callback
- document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-
- // A fallback to window.onload, that will always work
- window.addEventListener( "load", jQuery.ready, false );
-
- // If IE event model is used
- } else if ( document.attachEvent ) {
- // ensure firing before onload,
- // maybe late but safe also for iframes
- document.attachEvent( "onreadystatechange", DOMContentLoaded );
-
- // A fallback to window.onload, that will always work
- window.attachEvent( "onload", jQuery.ready );
-
- // If IE and not a frame
- // continually check to see if the document is ready
- var toplevel = false;
-
- try {
- toplevel = window.frameElement == null;
- } catch(e) {}
-
- if ( document.documentElement.doScroll && toplevel ) {
- doScrollCheck();
- }
- }
- },
-
- // See test/unit/core.js for details concerning isFunction.
- // Since version 1.3, DOM methods and functions like alert
- // aren't supported. They return false on IE (#2968).
- isFunction: function( obj ) {
- return jQuery.type(obj) === "function";
- },
-
- isArray: Array.isArray || function( obj ) {
- return jQuery.type(obj) === "array";
- },
-
- // A crude way of determining if an object is a window
- isWindow: function( obj ) {
- return obj && typeof obj === "object" && "setInterval" in obj;
- },
-
- isNumeric: function( obj ) {
- return !isNaN( parseFloat(obj) ) && isFinite( obj );
- },
-
- type: function( obj ) {
- return obj == null ?
- String( obj ) :
- class2type[ toString.call(obj) ] || "object";
- },
-
- isPlainObject: function( obj ) {
- // Must be an Object.
- // Because of IE, we also have to check the presence of the constructor property.
- // Make sure that DOM nodes and window objects don't pass through, as well
- if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
- return false;
- }
-
- try {
- // Not own constructor property must be Object
- if ( obj.constructor &&
- !hasOwn.call(obj, "constructor") &&
- !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
- return false;
- }
- } catch ( e ) {
- // IE8,9 Will throw exceptions on certain host objects #9897
- return false;
- }
-
- // Own properties are enumerated firstly, so to speed up,
- // if last one is own, then all properties are own.
-
- var key;
- for ( key in obj ) {}
-
- return key === undefined || hasOwn.call( obj, key );
- },
-
- isEmptyObject: function( obj ) {
- for ( var name in obj ) {
- return false;
- }
- return true;
- },
-
- error: function( msg ) {
- throw new Error( msg );
- },
-
- parseJSON: function( data ) {
- if ( typeof data !== "string" || !data ) {
- return null;
- }
-
- // Make sure leading/trailing whitespace is removed (IE can't handle it)
- data = jQuery.trim( data );
-
- // Attempt to parse using the native JSON parser first
- if ( window.JSON && window.JSON.parse ) {
- return window.JSON.parse( data );
- }
-
- // Make sure the incoming data is actual JSON
- // Logic borrowed from http://json.org/json2.js
- if ( rvalidchars.test( data.replace( rvalidescape, "@" )
- .replace( rvalidtokens, "]" )
- .replace( rvalidbraces, "")) ) {
-
- return ( new Function( "return " + data ) )();
-
- }
- jQuery.error( "Invalid JSON: " + data );
- },
-
- // Cross-browser xml parsing
- parseXML: function( data ) {
- var xml, tmp;
- try {
- if ( window.DOMParser ) { // Standard
- tmp = new DOMParser();
- xml = tmp.parseFromString( data , "text/xml" );
- } else { // IE
- xml = new ActiveXObject( "Microsoft.XMLDOM" );
- xml.async = "false";
- xml.loadXML( data );
- }
- } catch( e ) {
- xml = undefined;
- }
- if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
- jQuery.error( "Invalid XML: " + data );
- }
- return xml;
- },
-
- noop: function() {},
-
- // Evaluates a script in a global context
- // Workarounds based on findings by Jim Driscoll
- // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
- globalEval: function( data ) {
- if ( data && rnotwhite.test( data ) ) {
- // We use execScript on Internet Explorer
- // We use an anonymous function so that context is window
- // rather than jQuery in Firefox
- ( window.execScript || function( data ) {
- window[ "eval" ].call( window, data );
- } )( data );
- }
- },
-
- // Convert dashed to camelCase; used by the css and data modules
- // Microsoft forgot to hump their vendor prefix (#9572)
- camelCase: function( string ) {
- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
- },
-
- nodeName: function( elem, name ) {
- return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
- },
-
- // args is for internal usage only
- each: function( object, callback, args ) {
- var name, i = 0,
- length = object.length,
- isObj = length === undefined || jQuery.isFunction( object );
-
- if ( args ) {
- if ( isObj ) {
- for ( name in object ) {
- if ( callback.apply( object[ name ], args ) === false ) {
- break;
- }
- }
- } else {
- for ( ; i < length; ) {
- if ( callback.apply( object[ i++ ], args ) === false ) {
- break;
- }
- }
- }
-
- // A special, fast, case for the most common use of each
- } else {
- if ( isObj ) {
- for ( name in object ) {
- if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
- break;
- }
- }
- } else {
- for ( ; i < length; ) {
- if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {
- break;
- }
- }
- }
- }
-
- return object;
- },
-
- // Use native String.trim function wherever possible
- trim: trim ?
- function( text ) {
- return text == null ?
- "" :
- trim.call( text );
- } :
-
- // Otherwise use our own trimming functionality
- function( text ) {
- return text == null ?
- "" :
- text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
- },
-
- // results is for internal usage only
- makeArray: function( array, results ) {
- var ret = results || [];
-
- if ( array != null ) {
- // The window, strings (and functions) also have 'length'
- // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
- var type = jQuery.type( array );
-
- if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) {
- push.call( ret, array );
- } else {
- jQuery.merge( ret, array );
- }
- }
-
- return ret;
- },
-
- inArray: function( elem, array, i ) {
- var len;
-
- if ( array ) {
- if ( indexOf ) {
- return indexOf.call( array, elem, i );
- }
-
- len = array.length;
- i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
-
- for ( ; i < len; i++ ) {
- // Skip accessing in sparse arrays
- if ( i in array && array[ i ] === elem ) {
- return i;
- }
- }
- }
-
- return -1;
- },
-
- merge: function( first, second ) {
- var i = first.length,
- j = 0;
-
- if ( typeof second.length === "number" ) {
- for ( var l = second.length; j < l; j++ ) {
- first[ i++ ] = second[ j ];
- }
-
- } else {
- while ( second[j] !== undefined ) {
- first[ i++ ] = second[ j++ ];
- }
- }
-
- first.length = i;
-
- return first;
- },
-
- grep: function( elems, callback, inv ) {
- var ret = [], retVal;
- inv = !!inv;
-
- // Go through the array, only saving the items
- // that pass the validator function
- for ( var i = 0, length = elems.length; i < length; i++ ) {
- retVal = !!callback( elems[ i ], i );
- if ( inv !== retVal ) {
- ret.push( elems[ i ] );
- }
- }
-
- return ret;
- },
-
- // arg is for internal usage only
- map: function( elems, callback, arg ) {
- var value, key, ret = [],
- i = 0,
- length = elems.length,
- // jquery objects are treated as arrays
- isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;
-
- // Go through the array, translating each of the items to their
- if ( isArray ) {
- for ( ; i < length; i++ ) {
- value = callback( elems[ i ], i, arg );
-
- if ( value != null ) {
- ret[ ret.length ] = value;
- }
- }
-
- // Go through every key on the object,
- } else {
- for ( key in elems ) {
- value = callback( elems[ key ], key, arg );
-
- if ( value != null ) {
- ret[ ret.length ] = value;
- }
- }
- }
-
- // Flatten any nested arrays
- return ret.concat.apply( [], ret );
- },
-
- // A global GUID counter for objects
- guid: 1,
-
- // Bind a function to a context, optionally partially applying any
- // arguments.
- proxy: function( fn, context ) {
- if ( typeof context === "string" ) {
- var tmp = fn[ context ];
- context = fn;
- fn = tmp;
- }
-
- // Quick check to determine if target is callable, in the spec
- // this throws a TypeError, but we will just return undefined.
- if ( !jQuery.isFunction( fn ) ) {
- return undefined;
- }
-
- // Simulated bind
- var args = slice.call( arguments, 2 ),
- proxy = function() {
- return fn.apply( context, args.concat( slice.call( arguments ) ) );
- };
-
- // Set the guid of unique handler to the same of original handler, so it can be removed
- proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
-
- return proxy;
- },
-
- // Mutifunctional method to get and set values to a collection
- // The value/s can optionally be executed if it's a function
- access: function( elems, key, value, exec, fn, pass ) {
- var length = elems.length;
-
- // Setting many attributes
- if ( typeof key === "object" ) {
- for ( var k in key ) {
- jQuery.access( elems, k, key[k], exec, fn, value );
- }
- return elems;
- }
-
- // Setting one attribute
- if ( value !== undefined ) {
- // Optionally, function values get executed if exec is true
- exec = !pass && exec && jQuery.isFunction(value);
-
- for ( var i = 0; i < length; i++ ) {
- fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
- }
-
- return elems;
- }
-
- // Getting an attribute
- return length ? fn( elems[0], key ) : undefined;
- },
-
- now: function() {
- return ( new Date() ).getTime();
- },
-
- // Use of jQuery.browser is frowned upon.
- // More details: http://docs.jquery.com/Utilities/jQuery.browser
- uaMatch: function( ua ) {
- ua = ua.toLowerCase();
-
- var match = rwebkit.exec( ua ) ||
- ropera.exec( ua ) ||
- rmsie.exec( ua ) ||
- ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
- [];
-
- return { browser: match[1] || "", version: match[2] || "0" };
- },
-
- sub: function() {
- function jQuerySub( selector, context ) {
- return new jQuerySub.fn.init( selector, context );
- }
- jQuery.extend( true, jQuerySub, this );
- jQuerySub.superclass = this;
- jQuerySub.fn = jQuerySub.prototype = this();
- jQuerySub.fn.constructor = jQuerySub;
- jQuerySub.sub = this.sub;
- jQuerySub.fn.init = function init( selector, context ) {
- if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
- context = jQuerySub( context );
- }
-
- return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
- };
- jQuerySub.fn.init.prototype = jQuerySub.fn;
- var rootjQuerySub = jQuerySub(document);
- return jQuerySub;
- },
-
- browser: {}
-});
-
-// Populate the class2type map
-jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) {
- class2type[ "[object " + name + "]" ] = name.toLowerCase();
-});
-
-browserMatch = jQuery.uaMatch( userAgent );
-if ( browserMatch.browser ) {
- jQuery.browser[ browserMatch.browser ] = true;
- jQuery.browser.version = browserMatch.version;
-}
-
-// Deprecated, use jQuery.browser.webkit instead
-if ( jQuery.browser.webkit ) {
- jQuery.browser.safari = true;
-}
-
-// IE doesn't match non-breaking spaces with \s
-if ( rnotwhite.test( "\xA0" ) ) {
- trimLeft = /^[\s\xA0]+/;
- trimRight = /[\s\xA0]+$/;
-}
-
-// All jQuery objects should point back to these
-rootjQuery = jQuery(document);
-
-// Cleanup functions for the document ready method
-if ( document.addEventListener ) {
- DOMContentLoaded = function() {
- document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
- jQuery.ready();
- };
-
-} else if ( document.attachEvent ) {
- DOMContentLoaded = function() {
- // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
- if ( document.readyState === "complete" ) {
- document.detachEvent( "onreadystatechange", DOMContentLoaded );
- jQuery.ready();
- }
- };
-}
-
-// The DOM ready check for Internet Explorer
-function doScrollCheck() {
- if ( jQuery.isReady ) {
- return;
- }
-
- try {
- // If IE is used, use the trick by Diego Perini
- // http://javascript.nwbox.com/IEContentLoaded/
- document.documentElement.doScroll("left");
- } catch(e) {
- setTimeout( doScrollCheck, 1 );
- return;
- }
-
- // and execute any waiting functions
- jQuery.ready();
-}
-
-return jQuery;
-
-})();
-
-
-// String to Object flags format cache
-var flagsCache = {};
-
-// Convert String-formatted flags into Object-formatted ones and store in cache
-function createFlags( flags ) {
- var object = flagsCache[ flags ] = {},
- i, length;
- flags = flags.split( /\s+/ );
- for ( i = 0, length = flags.length; i < length; i++ ) {
- object[ flags[i] ] = true;
- }
- return object;
-}
-
-/*
- * Create a callback list using the following parameters:
- *
- * flags: an optional list of space-separated flags that will change how
- * the callback list behaves
- *
- * By default a callback list will act like an event callback list and can be
- * "fired" multiple times.
- *
- * Possible flags:
- *
- * once: will ensure the callback list can only be fired once (like a Deferred)
- *
- * memory: will keep track of previous values and will call any callback added
- * after the list has been fired right away with the latest "memorized"
- * values (like a Deferred)
- *
- * unique: will ensure a callback can only be added once (no duplicate in the list)
- *
- * stopOnFalse: interrupt callings when a callback returns false
- *
- */
-jQuery.Callbacks = function( flags ) {
-
- // Convert flags from String-formatted to Object-formatted
- // (we check in cache first)
- flags = flags ? ( flagsCache[ flags ] || createFlags( flags ) ) : {};
-
- var // Actual callback list
- list = [],
- // Stack of fire calls for repeatable lists
- stack = [],
- // Last fire value (for non-forgettable lists)
- memory,
- // Flag to know if list is currently firing
- firing,
- // First callback to fire (used internally by add and fireWith)
- firingStart,
- // End of the loop when firing
- firingLength,
- // Index of currently firing callback (modified by remove if needed)
- firingIndex,
- // Add one or several callbacks to the list
- add = function( args ) {
- var i,
- length,
- elem,
- type,
- actual;
- for ( i = 0, length = args.length; i < length; i++ ) {
- elem = args[ i ];
- type = jQuery.type( elem );
- if ( type === "array" ) {
- // Inspect recursively
- add( elem );
- } else if ( type === "function" ) {
- // Add if not in unique mode and callback is not in
- if ( !flags.unique || !self.has( elem ) ) {
- list.push( elem );
- }
- }
- }
- },
- // Fire callbacks
- fire = function( context, args ) {
- args = args || [];
- memory = !flags.memory || [ context, args ];
- firing = true;
- firingIndex = firingStart || 0;
- firingStart = 0;
- firingLength = list.length;
- for ( ; list && firingIndex < firingLength; firingIndex++ ) {
- if ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) {
- memory = true; // Mark as halted
- break;
- }
- }
- firing = false;
- if ( list ) {
- if ( !flags.once ) {
- if ( stack && stack.length ) {
- memory = stack.shift();
- self.fireWith( memory[ 0 ], memory[ 1 ] );
- }
- } else if ( memory === true ) {
- self.disable();
- } else {
- list = [];
- }
- }
- },
- // Actual Callbacks object
- self = {
- // Add a callback or a collection of callbacks to the list
- add: function() {
- if ( list ) {
- var length = list.length;
- add( arguments );
- // Do we need to add the callbacks to the
- // current firing batch?
- if ( firing ) {
- firingLength = list.length;
- // With memory, if we're not firing then
- // we should call right away, unless previous
- // firing was halted (stopOnFalse)
- } else if ( memory && memory !== true ) {
- firingStart = length;
- fire( memory[ 0 ], memory[ 1 ] );
- }
- }
- return this;
- },
- // Remove a callback from the list
- remove: function() {
- if ( list ) {
- var args = arguments,
- argIndex = 0,
- argLength = args.length;
- for ( ; argIndex < argLength ; argIndex++ ) {
- for ( var i = 0; i < list.length; i++ ) {
- if ( args[ argIndex ] === list[ i ] ) {
- // Handle firingIndex and firingLength
- if ( firing ) {
- if ( i <= firingLength ) {
- firingLength--;
- if ( i <= firingIndex ) {
- firingIndex--;
- }
- }
- }
- // Remove the element
- list.splice( i--, 1 );
- // If we have some unicity property then
- // we only need to do this once
- if ( flags.unique ) {
- break;
- }
- }
- }
- }
- }
- return this;
- },
- // Control if a given callback is in the list
- has: function( fn ) {
- if ( list ) {
- var i = 0,
- length = list.length;
- for ( ; i < length; i++ ) {
- if ( fn === list[ i ] ) {
- return true;
- }
- }
- }
- return false;
- },
- // Remove all callbacks from the list
- empty: function() {
- list = [];
- return this;
- },
- // Have the list do nothing anymore
- disable: function() {
- list = stack = memory = undefined;
- return this;
- },
- // Is it disabled?
- disabled: function() {
- return !list;
- },
- // Lock the list in its current state
- lock: function() {
- stack = undefined;
- if ( !memory || memory === true ) {
- self.disable();
- }
- return this;
- },
- // Is it locked?
- locked: function() {
- return !stack;
- },
- // Call all callbacks with the given context and arguments
- fireWith: function( context, args ) {
- if ( stack ) {
- if ( firing ) {
- if ( !flags.once ) {
- stack.push( [ context, args ] );
- }
- } else if ( !( flags.once && memory ) ) {
- fire( context, args );
- }
- }
- return this;
- },
- // Call all the callbacks with the given arguments
- fire: function() {
- self.fireWith( this, arguments );
- return this;
- },
- // To know if the callbacks have already been called at least once
- fired: function() {
- return !!memory;
- }
- };
-
- return self;
-};
-
-
-
-
-var // Static reference to slice
- sliceDeferred = [].slice;
-
-jQuery.extend({
-
- Deferred: function( func ) {
- var doneList = jQuery.Callbacks( "once memory" ),
- failList = jQuery.Callbacks( "once memory" ),
- progressList = jQuery.Callbacks( "memory" ),
- state = "pending",
- lists = {
- resolve: doneList,
- reject: failList,
- notify: progressList
- },
- promise = {
- done: doneList.add,
- fail: failList.add,
- progress: progressList.add,
-
- state: function() {
- return state;
- },
-
- // Deprecated
- isResolved: doneList.fired,
- isRejected: failList.fired,
-
- then: function( doneCallbacks, failCallbacks, progressCallbacks ) {
- deferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks );
- return this;
- },
- always: function() {
- deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments );
- return this;
- },
- pipe: function( fnDone, fnFail, fnProgress ) {
- return jQuery.Deferred(function( newDefer ) {
- jQuery.each( {
- done: [ fnDone, "resolve" ],
- fail: [ fnFail, "reject" ],
- progress: [ fnProgress, "notify" ]
- }, function( handler, data ) {
- var fn = data[ 0 ],
- action = data[ 1 ],
- returned;
- if ( jQuery.isFunction( fn ) ) {
- deferred[ handler ](function() {
- returned = fn.apply( this, arguments );
- if ( returned && jQuery.isFunction( returned.promise ) ) {
- returned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify );
- } else {
- newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] );
- }
- });
- } else {
- deferred[ handler ]( newDefer[ action ] );
- }
- });
- }).promise();
- },
- // Get a promise for this deferred
- // If obj is provided, the promise aspect is added to the object
- promise: function( obj ) {
- if ( obj == null ) {
- obj = promise;
- } else {
- for ( var key in promise ) {
- obj[ key ] = promise[ key ];
- }
- }
- return obj;
- }
- },
- deferred = promise.promise({}),
- key;
-
- for ( key in lists ) {
- deferred[ key ] = lists[ key ].fire;
- deferred[ key + "With" ] = lists[ key ].fireWith;
- }
-
- // Handle state
- deferred.done( function() {
- state = "resolved";
- }, failList.disable, progressList.lock ).fail( function() {
- state = "rejected";
- }, doneList.disable, progressList.lock );
-
- // Call given func if any
- if ( func ) {
- func.call( deferred, deferred );
- }
-
- // All done!
- return deferred;
- },
-
- // Deferred helper
- when: function( firstParam ) {
- var args = sliceDeferred.call( arguments, 0 ),
- i = 0,
- length = args.length,
- pValues = new Array( length ),
- count = length,
- pCount = length,
- deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ?
- firstParam :
- jQuery.Deferred(),
- promise = deferred.promise();
- function resolveFunc( i ) {
- return function( value ) {
- args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
- if ( !( --count ) ) {
- deferred.resolveWith( deferred, args );
- }
- };
- }
- function progressFunc( i ) {
- return function( value ) {
- pValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value;
- deferred.notifyWith( promise, pValues );
- };
- }
- if ( length > 1 ) {
- for ( ; i < length; i++ ) {
- if ( args[ i ] && args[ i ].promise && jQuery.isFunction( args[ i ].promise ) ) {
- args[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) );
- } else {
- --count;
- }
- }
- if ( !count ) {
- deferred.resolveWith( deferred, args );
- }
- } else if ( deferred !== firstParam ) {
- deferred.resolveWith( deferred, length ? [ firstParam ] : [] );
- }
- return promise;
- }
-});
-
-
-
-
-jQuery.support = (function() {
-
- var support,
- all,
- a,
- select,
- opt,
- input,
- marginDiv,
- fragment,
- tds,
- events,
- eventName,
- i,
- isSupported,
- div = document.createElement( "div" ),
- documentElement = document.documentElement;
-
- // Preliminary tests
- div.setAttribute("className", "t");
- div.innerHTML = " <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-
- all = div.getElementsByTagName( "*" );
- a = div.getElementsByTagName( "a" )[ 0 ];
-
- // Can't get basic test support
- if ( !all || !all.length || !a ) {
- return {};
- }
-
- // First batch of supports tests
- select = document.createElement( "select" );
- opt = select.appendChild( document.createElement("option") );
- input = div.getElementsByTagName( "input" )[ 0 ];
-
- support = {
- // IE strips leading whitespace when .innerHTML is used
- leadingWhitespace: ( div.firstChild.nodeType === 3 ),
-
- // Make sure that tbody elements aren't automatically inserted
- // IE will insert them into empty tables
- tbody: !div.getElementsByTagName("tbody").length,
-
- // Make sure that link elements get serialized correctly by innerHTML
- // This requires a wrapper element in IE
- htmlSerialize: !!div.getElementsByTagName("link").length,
-
- // Get the style information from getAttribute
- // (IE uses .cssText instead)
- style: /top/.test( a.getAttribute("style") ),
-
- // Make sure that URLs aren't manipulated
- // (IE normalizes it by default)
- hrefNormalized: ( a.getAttribute("href") === "/a" ),
-
- // Make sure that element opacity exists
- // (IE uses filter instead)
- // Use a regex to work around a WebKit issue. See #5145
- opacity: /^0.55/.test( a.style.opacity ),
-
- // Verify style float existence
- // (IE uses styleFloat instead of cssFloat)
- cssFloat: !!a.style.cssFloat,
-
- // Make sure that if no value is specified for a checkbox
- // that it defaults to "on".
- // (WebKit defaults to "" instead)
- checkOn: ( input.value === "on" ),
-
- // Make sure that a selected-by-default option has a working selected property.
- // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
- optSelected: opt.selected,
-
- // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
- getSetAttribute: div.className !== "t",
-
- // Tests for enctype support on a form(#6743)
- enctype: !!document.createElement("form").enctype,
-
- // Makes sure cloning an html5 element does not cause problems
- // Where outerHTML is undefined, this still works
- html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>",
-
- // Will be defined later
- submitBubbles: true,
- changeBubbles: true,
- focusinBubbles: false,
- deleteExpando: true,
- noCloneEvent: true,
- inlineBlockNeedsLayout: false,
- shrinkWrapBlocks: false,
- reliableMarginRight: true
- };
-
- // Make sure checked status is properly cloned
- input.checked = true;
- support.noCloneChecked = input.cloneNode( true ).checked;
-
- // Make sure that the options inside disabled selects aren't marked as disabled
- // (WebKit marks them as disabled)
- select.disabled = true;
- support.optDisabled = !opt.disabled;
-
- // Test to see if it's possible to delete an expando from an element
- // Fails in Internet Explorer
- try {
- delete div.test;
- } catch( e ) {
- support.deleteExpando = false;
- }
-
- if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
- div.attachEvent( "onclick", function() {
- // Cloning a node shouldn't copy over any
- // bound event handlers (IE does this)
- support.noCloneEvent = false;
- });
- div.cloneNode( true ).fireEvent( "onclick" );
- }
-
- // Check if a radio maintains its value
- // after being appended to the DOM
- input = document.createElement("input");
- input.value = "t";
- input.setAttribute("type", "radio");
- support.radioValue = input.value === "t";
-
- input.setAttribute("checked", "checked");
- div.appendChild( input );
- fragment = document.createDocumentFragment();
- fragment.appendChild( div.lastChild );
-
- // WebKit doesn't clone checked state correctly in fragments
- support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
-
- // Check if a disconnected checkbox will retain its checked
- // value of true after appended to the DOM (IE6/7)
- support.appendChecked = input.checked;
-
- fragment.removeChild( input );
- fragment.appendChild( div );
-
- div.innerHTML = "";
-
- // Check if div with explicit width and no margin-right incorrectly
- // gets computed margin-right based on width of container. For more
- // info see bug #3333
- // Fails in WebKit before Feb 2011 nightlies
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
- if ( window.getComputedStyle ) {
- marginDiv = document.createElement( "div" );
- marginDiv.style.width = "0";
- marginDiv.style.marginRight = "0";
- div.style.width = "2px";
- div.appendChild( marginDiv );
- support.reliableMarginRight =
- ( parseInt( ( window.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0;
- }
-
- // Technique from Juriy Zaytsev
- // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/
- // We only care about the case where non-standard event systems
- // are used, namely in IE. Short-circuiting here helps us to
- // avoid an eval call (in setAttribute) which can cause CSP
- // to go haywire. See: https://developer.mozilla.org/en/Security/CSP
- if ( div.attachEvent ) {
- for( i in {
- submit: 1,
- change: 1,
- focusin: 1
- }) {
- eventName = "on" + i;
- isSupported = ( eventName in div );
- if ( !isSupported ) {
- div.setAttribute( eventName, "return;" );
- isSupported = ( typeof div[ eventName ] === "function" );
- }
- support[ i + "Bubbles" ] = isSupported;
- }
- }
-
- fragment.removeChild( div );
-
- // Null elements to avoid leaks in IE
- fragment = select = opt = marginDiv = div = input = null;
-
- // Run tests that need a body at doc ready
- jQuery(function() {
- var container, outer, inner, table, td, offsetSupport,
- conMarginTop, ptlm, vb, style, html,
- body = document.getElementsByTagName("body")[0];
-
- if ( !body ) {
- // Return for frameset docs that don't have a body
- return;
- }
-
- conMarginTop = 1;
- ptlm = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";
- vb = "visibility:hidden;border:0;";
- style = "style='" + ptlm + "border:5px solid #000;padding:0;'";
- html = "<div " + style + "><div></div></div>" +
- "<table " + style + " cellpadding='0' cellspacing='0'>" +
- "<tr><td></td></tr></table>";
-
- container = document.createElement("div");
- container.style.cssText = vb + "width:0;height:0;position:static;top:0;margin-top:" + conMarginTop + "px";
- body.insertBefore( container, body.firstChild );
-
- // Construct the test element
- div = document.createElement("div");
- container.appendChild( div );
-
- // Check if table cells still have offsetWidth/Height when they are set
- // to display:none and there are still other visible table cells in a
- // table row; if so, offsetWidth/Height are not reliable for use when
- // determining if an element has been hidden directly using
- // display:none (it is still safe to use offsets if a parent element is
- // hidden; don safety goggles and see bug #4512 for more information).
- // (only IE 8 fails this test)
- div.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";
- tds = div.getElementsByTagName( "td" );
- isSupported = ( tds[ 0 ].offsetHeight === 0 );
-
- tds[ 0 ].style.display = "";
- tds[ 1 ].style.display = "none";
-
- // Check if empty table cells still have offsetWidth/Height
- // (IE <= 8 fail this test)
- support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );
-
- // Figure out if the W3C box model works as expected
- div.innerHTML = "";
- div.style.width = div.style.paddingLeft = "1px";
- jQuery.boxModel = support.boxModel = div.offsetWidth === 2;
-
- if ( typeof div.style.zoom !== "undefined" ) {
- // Check if natively block-level elements act like inline-block
- // elements when setting their display to 'inline' and giving
- // them layout
- // (IE < 8 does this)
- div.style.display = "inline";
- div.style.zoom = 1;
- support.inlineBlockNeedsLayout = ( div.offsetWidth === 2 );
-
- // Check if elements with layout shrink-wrap their children
- // (IE 6 does this)
- div.style.display = "";
- div.innerHTML = "<div style='width:4px;'></div>";
- support.shrinkWrapBlocks = ( div.offsetWidth !== 2 );
- }
-
- div.style.cssText = ptlm + vb;
- div.innerHTML = html;
-
- outer = div.firstChild;
- inner = outer.firstChild;
- td = outer.nextSibling.firstChild.firstChild;
-
- offsetSupport = {
- doesNotAddBorder: ( inner.offsetTop !== 5 ),
- doesAddBorderForTableAndCells: ( td.offsetTop === 5 )
- };
-
- inner.style.position = "fixed";
- inner.style.top = "20px";
-
- // safari subtracts parent border width here which is 5px
- offsetSupport.fixedPosition = ( inner.offsetTop === 20 || inner.offsetTop === 15 );
- inner.style.position = inner.style.top = "";
-
- outer.style.overflow = "hidden";
- outer.style.position = "relative";
-
- offsetSupport.subtractsBorderForOverflowNotVisible = ( inner.offsetTop === -5 );
- offsetSupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== conMarginTop );
-
- body.removeChild( container );
- div = container = null;
-
- jQuery.extend( support, offsetSupport );
- });
-
- return support;
-})();
-
-
-
-
-var rbrace = /^(?:\{.*\}|\[.*\])$/,
- rmultiDash = /([A-Z])/g;
-
-jQuery.extend({
- cache: {},
-
- // Please use with caution
- uuid: 0,
-
- // Unique for each copy of jQuery on the page
- // Non-digits removed to match rinlinejQuery
- expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ),
-
- // The following elements throw uncatchable exceptions if you
- // attempt to add expando properties to them.
- noData: {
- "embed": true,
- // Ban all objects except for Flash (which handle expandos)
- "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
- "applet": true
- },
-
- hasData: function( elem ) {
- elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
- return !!elem && !isEmptyDataObject( elem );
- },
-
- data: function( elem, name, data, pvt /* Internal Use Only */ ) {
- if ( !jQuery.acceptData( elem ) ) {
- return;
- }
-
- var privateCache, thisCache, ret,
- internalKey = jQuery.expando,
- getByName = typeof name === "string",
-
- // We have to handle DOM nodes and JS objects differently because IE6-7
- // can't GC object references properly across the DOM-JS boundary
- isNode = elem.nodeType,
-
- // Only DOM nodes need the global jQuery cache; JS object data is
- // attached directly to the object so GC can occur automatically
- cache = isNode ? jQuery.cache : elem,
-
- // Only defining an ID for JS objects if its cache already exists allows
- // the code to shortcut on the same path as a DOM node with no cache
- id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey,
- isEvents = name === "events";
-
- // Avoid doing any more work than we need to when trying to get data on an
- // object that has no data at all
- if ( (!id || !cache[id] || (!isEvents && !pvt && !cache[id].data)) && getByName && data === undefined ) {
- return;
- }
-
- if ( !id ) {
- // Only DOM nodes need a new unique ID for each element since their data
- // ends up in the global cache
- if ( isNode ) {
- elem[ internalKey ] = id = ++jQuery.uuid;
- } else {
- id = internalKey;
- }
- }
-
- if ( !cache[ id ] ) {
- cache[ id ] = {};
-
- // Avoids exposing jQuery metadata on plain JS objects when the object
- // is serialized using JSON.stringify
- if ( !isNode ) {
- cache[ id ].toJSON = jQuery.noop;
- }
- }
-
- // An object can be passed to jQuery.data instead of a key/value pair; this gets
- // shallow copied over onto the existing cache
- if ( typeof name === "object" || typeof name === "function" ) {
- if ( pvt ) {
- cache[ id ] = jQuery.extend( cache[ id ], name );
- } else {
- cache[ id ].data = jQuery.extend( cache[ id ].data, name );
- }
- }
-
- privateCache = thisCache = cache[ id ];
-
- // jQuery data() is stored in a separate object inside the object's internal data
- // cache in order to avoid key collisions between internal data and user-defined
- // data.
- if ( !pvt ) {
- if ( !thisCache.data ) {
- thisCache.data = {};
- }
-
- thisCache = thisCache.data;
- }
-
- if ( data !== undefined ) {
- thisCache[ jQuery.camelCase( name ) ] = data;
- }
-
- // Users should not attempt to inspect the internal events object using jQuery.data,
- // it is undocumented and subject to change. But does anyone listen? No.
- if ( isEvents && !thisCache[ name ] ) {
- return privateCache.events;
- }
-
- // Check for both converted-to-camel and non-converted data property names
- // If a data property was specified
- if ( getByName ) {
-
- // First Try to find as-is property data
- ret = thisCache[ name ];
-
- // Test for null|undefined property data
- if ( ret == null ) {
-
- // Try to find the camelCased property
- ret = thisCache[ jQuery.camelCase( name ) ];
- }
- } else {
- ret = thisCache;
- }
-
- return ret;
- },
-
- removeData: function( elem, name, pvt /* Internal Use Only */ ) {
- if ( !jQuery.acceptData( elem ) ) {
- return;
- }
-
- var thisCache, i, l,
-
- // Reference to internal data cache key
- internalKey = jQuery.expando,
-
- isNode = elem.nodeType,
-
- // See jQuery.data for more information
- cache = isNode ? jQuery.cache : elem,
-
- // See jQuery.data for more information
- id = isNode ? elem[ internalKey ] : internalKey;
-
- // If there is already no cache entry for this object, there is no
- // purpose in continuing
- if ( !cache[ id ] ) {
- return;
- }
-
- if ( name ) {
-
- thisCache = pvt ? cache[ id ] : cache[ id ].data;
-
- if ( thisCache ) {
-
- // Support array or space separated string names for data keys
- if ( !jQuery.isArray( name ) ) {
-
- // try the string as a key before any manipulation
- if ( name in thisCache ) {
- name = [ name ];
- } else {
-
- // split the camel cased version by spaces unless a key with the spaces exists
- name = jQuery.camelCase( name );
- if ( name in thisCache ) {
- name = [ name ];
- } else {
- name = name.split( " " );
- }
- }
- }
-
- for ( i = 0, l = name.length; i < l; i++ ) {
- delete thisCache[ name[i] ];
- }
-
- // If there is no data left in the cache, we want to continue
- // and let the cache object itself get destroyed
- if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {
- return;
- }
- }
- }
-
- // See jQuery.data for more information
- if ( !pvt ) {
- delete cache[ id ].data;
-
- // Don't destroy the parent cache unless the internal data object
- // had been the only thing left in it
- if ( !isEmptyDataObject(cache[ id ]) ) {
- return;
- }
- }
-
- // Browsers that fail expando deletion also refuse to delete expandos on
- // the window, but it will allow it on all other JS objects; other browsers
- // don't care
- // Ensure that `cache` is not a window object #10080
- if ( jQuery.support.deleteExpando || !cache.setInterval ) {
- delete cache[ id ];
- } else {
- cache[ id ] = null;
- }
-
- // We destroyed the cache and need to eliminate the expando on the node to avoid
- // false lookups in the cache for entries that no longer exist
- if ( isNode ) {
- // IE does not allow us to delete expando properties from nodes,
- // nor does it have a removeAttribute function on Document nodes;
- // we must handle all of these cases
- if ( jQuery.support.deleteExpando ) {
- delete elem[ internalKey ];
- } else if ( elem.removeAttribute ) {
- elem.removeAttribute( internalKey );
- } else {
- elem[ internalKey ] = null;
- }
- }
- },
-
- // For internal use only.
- _data: function( elem, name, data ) {
- return jQuery.data( elem, name, data, true );
- },
-
- // A method for determining if a DOM node can handle the data expando
- acceptData: function( elem ) {
- if ( elem.nodeName ) {
- var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
-
- if ( match ) {
- return !(match === true || elem.getAttribute("classid") !== match);
- }
- }
-
- return true;
- }
-});
-
-jQuery.fn.extend({
- data: function( key, value ) {
- var parts, attr, name,
- data = null;
-
- if ( typeof key === "undefined" ) {
- if ( this.length ) {
- data = jQuery.data( this[0] );
-
- if ( this[0].nodeType === 1 && !jQuery._data( this[0], "parsedAttrs" ) ) {
- attr = this[0].attributes;
- for ( var i = 0, l = attr.length; i < l; i++ ) {
- name = attr[i].name;
-
- if ( name.indexOf( "data-" ) === 0 ) {
- name = jQuery.camelCase( name.substring(5) );
-
- dataAttr( this[0], name, data[ name ] );
- }
- }
- jQuery._data( this[0], "parsedAttrs", true );
- }
- }
-
- return data;
-
- } else if ( typeof key === "object" ) {
- return this.each(function() {
- jQuery.data( this, key );
- });
- }
-
- parts = key.split(".");
- parts[1] = parts[1] ? "." + parts[1] : "";
-
- if ( value === undefined ) {
- data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
- // Try to fetch any internally stored data first
- if ( data === undefined && this.length ) {
- data = jQuery.data( this[0], key );
- data = dataAttr( this[0], key, data );
- }
-
- return data === undefined && parts[1] ?
- this.data( parts[0] ) :
- data;
-
- } else {
- return this.each(function() {
- var self = jQuery( this ),
- args = [ parts[0], value ];
-
- self.triggerHandler( "setData" + parts[1] + "!", args );
- jQuery.data( this, key, value );
- self.triggerHandler( "changeData" + parts[1] + "!", args );
- });
- }
- },
-
- removeData: function( key ) {
- return this.each(function() {
- jQuery.removeData( this, key );
- });
- }
-});
-
-function dataAttr( elem, key, data ) {
- // If nothing was found internally, try to fetch any
- // data from the HTML5 data-* attribute
- if ( data === undefined && elem.nodeType === 1 ) {
-
- var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
-
- data = elem.getAttribute( name );
-
- if ( typeof data === "string" ) {
- try {
- data = data === "true" ? true :
- data === "false" ? false :
- data === "null" ? null :
- jQuery.isNumeric( data ) ? parseFloat( data ) :
- rbrace.test( data ) ? jQuery.parseJSON( data ) :
- data;
- } catch( e ) {}
-
- // Make sure we set the data so it isn't changed later
- jQuery.data( elem, key, data );
-
- } else {
- data = undefined;
- }
- }
-
- return data;
-}
-
-// checks a cache object for emptiness
-function isEmptyDataObject( obj ) {
- for ( var name in obj ) {
-
- // if the public data object is empty, the private is still empty
- if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
- continue;
- }
- if ( name !== "toJSON" ) {
- return false;
- }
- }
-
- return true;
-}
-
-
-
-
-function handleQueueMarkDefer( elem, type, src ) {
- var deferDataKey = type + "defer",
- queueDataKey = type + "queue",
- markDataKey = type + "mark",
- defer = jQuery._data( elem, deferDataKey );
- if ( defer &&
- ( src === "queue" || !jQuery._data(elem, queueDataKey) ) &&
- ( src === "mark" || !jQuery._data(elem, markDataKey) ) ) {
- // Give room for hard-coded callbacks to fire first
- // and eventually mark/queue something else on the element
- setTimeout( function() {
- if ( !jQuery._data( elem, queueDataKey ) &&
- !jQuery._data( elem, markDataKey ) ) {
- jQuery.removeData( elem, deferDataKey, true );
- defer.fire();
- }
- }, 0 );
- }
-}
-
-jQuery.extend({
-
- _mark: function( elem, type ) {
- if ( elem ) {
- type = ( type || "fx" ) + "mark";
- jQuery._data( elem, type, (jQuery._data( elem, type ) || 0) + 1 );
- }
- },
-
- _unmark: function( force, elem, type ) {
- if ( force !== true ) {
- type = elem;
- elem = force;
- force = false;
- }
- if ( elem ) {
- type = type || "fx";
- var key = type + "mark",
- count = force ? 0 : ( (jQuery._data( elem, key ) || 1) - 1 );
- if ( count ) {
- jQuery._data( elem, key, count );
- } else {
- jQuery.removeData( elem, key, true );
- handleQueueMarkDefer( elem, type, "mark" );
- }
- }
- },
-
- queue: function( elem, type, data ) {
- var q;
- if ( elem ) {
- type = ( type || "fx" ) + "queue";
- q = jQuery._data( elem, type );
-
- // Speed up dequeue by getting out quickly if this is just a lookup
- if ( data ) {
- if ( !q || jQuery.isArray(data) ) {
- q = jQuery._data( elem, type, jQuery.makeArray(data) );
- } else {
- q.push( data );
- }
- }
- return q || [];
- }
- },
-
- dequeue: function( elem, type ) {
- type = type || "fx";
-
- var queue = jQuery.queue( elem, type ),
- fn = queue.shift(),
- hooks = {};
-
- // If the fx queue is dequeued, always remove the progress sentinel
- if ( fn === "inprogress" ) {
- fn = queue.shift();
- }
-
- if ( fn ) {
- // Add a progress sentinel to prevent the fx queue from being
- // automatically dequeued
- if ( type === "fx" ) {
- queue.unshift( "inprogress" );
- }
-
- jQuery._data( elem, type + ".run", hooks );
- fn.call( elem, function() {
- jQuery.dequeue( elem, type );
- }, hooks );
- }
-
- if ( !queue.length ) {
- jQuery.removeData( elem, type + "queue " + type + ".run", true );
- handleQueueMarkDefer( elem, type, "queue" );
- }
- }
-});
-
-jQuery.fn.extend({
- queue: function( type, data ) {
- if ( typeof type !== "string" ) {
- data = type;
- type = "fx";
- }
-
- if ( data === undefined ) {
- return jQuery.queue( this[0], type );
- }
- return this.each(function() {
- var queue = jQuery.queue( this, type, data );
-
- if ( type === "fx" && queue[0] !== "inprogress" ) {
- jQuery.dequeue( this, type );
- }
- });
- },
- dequeue: function( type ) {
- return this.each(function() {
- jQuery.dequeue( this, type );
- });
- },
- // Based off of the plugin by Clint Helfers, with permission.
- // http://blindsignals.com/index.php/2009/07/jquery-delay/
- delay: function( time, type ) {
- time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
- type = type || "fx";
-
- return this.queue( type, function( next, hooks ) {
- var timeout = setTimeout( next, time );
- hooks.stop = function() {
- clearTimeout( timeout );
- };
- });
- },
- clearQueue: function( type ) {
- return this.queue( type || "fx", [] );
- },
- // Get a promise resolved when queues of a certain type
- // are emptied (fx is the type by default)
- promise: function( type, object ) {
- if ( typeof type !== "string" ) {
- object = type;
- type = undefined;
- }
- type = type || "fx";
- var defer = jQuery.Deferred(),
- elements = this,
- i = elements.length,
- count = 1,
- deferDataKey = type + "defer",
- queueDataKey = type + "queue",
- markDataKey = type + "mark",
- tmp;
- function resolve() {
- if ( !( --count ) ) {
- defer.resolveWith( elements, [ elements ] );
- }
- }
- while( i-- ) {
- if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) ||
- ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) ||
- jQuery.data( elements[ i ], markDataKey, undefined, true ) ) &&
- jQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) {
- count++;
- tmp.add( resolve );
- }
- }
- resolve();
- return defer.promise();
- }
-});
-
-
-
-
-var rclass = /[\n\t\r]/g,
- rspace = /\s+/,
- rreturn = /\r/g,
- rtype = /^(?:button|input)$/i,
- rfocusable = /^(?:button|input|object|select|textarea)$/i,
- rclickable = /^a(?:rea)?$/i,
- rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
- getSetAttribute = jQuery.support.getSetAttribute,
- nodeHook, boolHook, fixSpecified;
-
-jQuery.fn.extend({
- attr: function( name, value ) {
- return jQuery.access( this, name, value, true, jQuery.attr );
- },
-
- removeAttr: function( name ) {
- return this.each(function() {
- jQuery.removeAttr( this, name );
- });
- },
-
- prop: function( name, value ) {
- return jQuery.access( this, name, value, true, jQuery.prop );
- },
-
- removeProp: function( name ) {
- name = jQuery.propFix[ name ] || name;
- return this.each(function() {
- // try/catch handles cases where IE balks (such as removing a property on window)
- try {
- this[ name ] = undefined;
- delete this[ name ];
- } catch( e ) {}
- });
- },
-
- addClass: function( value ) {
- var classNames, i, l, elem,
- setClass, c, cl;
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( j ) {
- jQuery( this ).addClass( value.call(this, j, this.className) );
- });
- }
-
- if ( value && typeof value === "string" ) {
- classNames = value.split( rspace );
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- elem = this[ i ];
-
- if ( elem.nodeType === 1 ) {
- if ( !elem.className && classNames.length === 1 ) {
- elem.className = value;
-
- } else {
- setClass = " " + elem.className + " ";
-
- for ( c = 0, cl = classNames.length; c < cl; c++ ) {
- if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) {
- setClass += classNames[ c ] + " ";
- }
- }
- elem.className = jQuery.trim( setClass );
- }
- }
- }
- }
-
- return this;
- },
-
- removeClass: function( value ) {
- var classNames, i, l, elem, className, c, cl;
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( j ) {
- jQuery( this ).removeClass( value.call(this, j, this.className) );
- });
- }
-
- if ( (value && typeof value === "string") || value === undefined ) {
- classNames = ( value || "" ).split( rspace );
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- elem = this[ i ];
-
- if ( elem.nodeType === 1 && elem.className ) {
- if ( value ) {
- className = (" " + elem.className + " ").replace( rclass, " " );
- for ( c = 0, cl = classNames.length; c < cl; c++ ) {
- className = className.replace(" " + classNames[ c ] + " ", " ");
- }
- elem.className = jQuery.trim( className );
-
- } else {
- elem.className = "";
- }
- }
- }
- }
-
- return this;
- },
-
- toggleClass: function( value, stateVal ) {
- var type = typeof value,
- isBool = typeof stateVal === "boolean";
-
- if ( jQuery.isFunction( value ) ) {
- return this.each(function( i ) {
- jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
- });
- }
-
- return this.each(function() {
- if ( type === "string" ) {
- // toggle individual class names
- var className,
- i = 0,
- self = jQuery( this ),
- state = stateVal,
- classNames = value.split( rspace );
-
- while ( (className = classNames[ i++ ]) ) {
- // check each className given, space seperated list
- state = isBool ? state : !self.hasClass( className );
- self[ state ? "addClass" : "removeClass" ]( className );
- }
-
- } else if ( type === "undefined" || type === "boolean" ) {
- if ( this.className ) {
- // store className if set
- jQuery._data( this, "__className__", this.className );
- }
-
- // toggle whole className
- this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
- }
- });
- },
-
- hasClass: function( selector ) {
- var className = " " + selector + " ",
- i = 0,
- l = this.length;
- for ( ; i < l; i++ ) {
- if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) {
- return true;
- }
- }
-
- return false;
- },
-
- val: function( value ) {
- var hooks, ret, isFunction,
- elem = this[0];
-
- if ( !arguments.length ) {
- if ( elem ) {
- hooks = jQuery.valHooks[ elem.nodeName.toLowerCase() ] || jQuery.valHooks[ elem.type ];
-
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
- return ret;
- }
-
- ret = elem.value;
-
- return typeof ret === "string" ?
- // handle most common string cases
- ret.replace(rreturn, "") :
- // handle cases where value is null/undef or number
- ret == null ? "" : ret;
- }
-
- return;
- }
-
- isFunction = jQuery.isFunction( value );
-
- return this.each(function( i ) {
- var self = jQuery(this), val;
-
- if ( this.nodeType !== 1 ) {
- return;
- }
-
- if ( isFunction ) {
- val = value.call( this, i, self.val() );
- } else {
- val = value;
- }
-
- // Treat null/undefined as ""; convert numbers to string
- if ( val == null ) {
- val = "";
- } else if ( typeof val === "number" ) {
- val += "";
- } else if ( jQuery.isArray( val ) ) {
- val = jQuery.map(val, function ( value ) {
- return value == null ? "" : value + "";
- });
- }
-
- hooks = jQuery.valHooks[ this.nodeName.toLowerCase() ] || jQuery.valHooks[ this.type ];
-
- // If set returns undefined, fall back to normal setting
- if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
- this.value = val;
- }
- });
- }
-});
-
-jQuery.extend({
- valHooks: {
- option: {
- get: function( elem ) {
- // attributes.value is undefined in Blackberry 4.7 but
- // uses .value. See #6932
- var val = elem.attributes.value;
- return !val || val.specified ? elem.value : elem.text;
- }
- },
- select: {
- get: function( elem ) {
- var value, i, max, option,
- index = elem.selectedIndex,
- values = [],
- options = elem.options,
- one = elem.type === "select-one";
-
- // Nothing was selected
- if ( index < 0 ) {
- return null;
- }
-
- // Loop through all the selected options
- i = one ? index : 0;
- max = one ? index + 1 : options.length;
- for ( ; i < max; i++ ) {
- option = options[ i ];
-
- // Don't return options that are disabled or in a disabled optgroup
- if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
- (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
-
- // Get the specific value for the option
- value = jQuery( option ).val();
-
- // We don't need an array for one selects
- if ( one ) {
- return value;
- }
-
- // Multi-Selects return an array
- values.push( value );
- }
- }
-
- // Fixes Bug #2551 -- select.val() broken in IE after form.reset()
- if ( one && !values.length && options.length ) {
- return jQuery( options[ index ] ).val();
- }
-
- return values;
- },
-
- set: function( elem, value ) {
- var values = jQuery.makeArray( value );
-
- jQuery(elem).find("option").each(function() {
- this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
- });
-
- if ( !values.length ) {
- elem.selectedIndex = -1;
- }
- return values;
- }
- }
- },
-
- attrFn: {
- val: true,
- css: true,
- html: true,
- text: true,
- data: true,
- width: true,
- height: true,
- offset: true
- },
-
- attr: function( elem, name, value, pass ) {
- var ret, hooks, notxml,
- nType = elem.nodeType;
-
- // don't get/set attributes on text, comment and attribute nodes
- if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
-
- if ( pass && name in jQuery.attrFn ) {
- return jQuery( elem )[ name ]( value );
- }
-
- // Fallback to prop when attributes are not supported
- if ( typeof elem.getAttribute === "undefined" ) {
- return jQuery.prop( elem, name, value );
- }
-
- notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
-
- // All attributes are lowercase
- // Grab necessary hook if one is defined
- if ( notxml ) {
- name = name.toLowerCase();
- hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );
- }
-
- if ( value !== undefined ) {
-
- if ( value === null ) {
- jQuery.removeAttr( elem, name );
- return;
-
- } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {
- return ret;
-
- } else {
- elem.setAttribute( name, "" + value );
- return value;
- }
-
- } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {
- return ret;
-
- } else {
-
- ret = elem.getAttribute( name );
-
- // Non-existent attributes return null, we normalize to undefined
- return ret === null ?
- undefined :
- ret;
- }
- },
-
- removeAttr: function( elem, value ) {
- var propName, attrNames, name, l,
- i = 0;
-
- if ( value && elem.nodeType === 1 ) {
- attrNames = value.toLowerCase().split( rspace );
- l = attrNames.length;
-
- for ( ; i < l; i++ ) {
- name = attrNames[ i ];
-
- if ( name ) {
- propName = jQuery.propFix[ name ] || name;
-
- // See #9699 for explanation of this approach (setting first, then removal)
- jQuery.attr( elem, name, "" );
- elem.removeAttribute( getSetAttribute ? name : propName );
-
- // Set corresponding property to false for boolean attributes
- if ( rboolean.test( name ) && propName in elem ) {
- elem[ propName ] = false;
- }
- }
- }
- }
- },
-
- attrHooks: {
- type: {
- set: function( elem, value ) {
- // We can't allow the type property to be changed (since it causes problems in IE)
- if ( rtype.test( elem.nodeName ) && elem.parentNode ) {
- jQuery.error( "type property can't be changed" );
- } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
- // Setting the type on a radio button after the value resets the value in IE6-9
- // Reset value to it's default in case type is set after value
- // This is for element creation
- var val = elem.value;
- elem.setAttribute( "type", value );
- if ( val ) {
- elem.value = val;
- }
- return value;
- }
- }
- },
- // Use the value property for back compat
- // Use the nodeHook for button elements in IE6/7 (#1954)
- value: {
- get: function( elem, name ) {
- if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
- return nodeHook.get( elem, name );
- }
- return name in elem ?
- elem.value :
- null;
- },
- set: function( elem, value, name ) {
- if ( nodeHook && jQuery.nodeName( elem, "button" ) ) {
- return nodeHook.set( elem, value, name );
- }
- // Does not return so that setAttribute is also used
- elem.value = value;
- }
- }
- },
-
- propFix: {
- tabindex: "tabIndex",
- readonly: "readOnly",
- "for": "htmlFor",
- "class": "className",
- maxlength: "maxLength",
- cellspacing: "cellSpacing",
- cellpadding: "cellPadding",
- rowspan: "rowSpan",
- colspan: "colSpan",
- usemap: "useMap",
- frameborder: "frameBorder",
- contenteditable: "contentEditable"
- },
-
- prop: function( elem, name, value ) {
- var ret, hooks, notxml,
- nType = elem.nodeType;
-
- // don't get/set properties on text, comment and attribute nodes
- if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
-
- notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
-
- if ( notxml ) {
- // Fix name and attach hooks
- name = jQuery.propFix[ name ] || name;
- hooks = jQuery.propHooks[ name ];
- }
-
- if ( value !== undefined ) {
- if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
- return ret;
-
- } else {
- return ( elem[ name ] = value );
- }
-
- } else {
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
- return ret;
-
- } else {
- return elem[ name ];
- }
- }
- },
-
- propHooks: {
- tabIndex: {
- get: function( elem ) {
- // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
- // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
- var attributeNode = elem.getAttributeNode("tabindex");
-
- return attributeNode && attributeNode.specified ?
- parseInt( attributeNode.value, 10 ) :
- rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
- 0 :
- undefined;
- }
- }
- }
-});
-
-// Add the tabIndex propHook to attrHooks for back-compat (different case is intentional)
-jQuery.attrHooks.tabindex = jQuery.propHooks.tabIndex;
-
-// Hook for boolean attributes
-boolHook = {
- get: function( elem, name ) {
- // Align boolean attributes with corresponding properties
- // Fall back to attribute presence where some booleans are not supported
- var attrNode,
- property = jQuery.prop( elem, name );
- return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
- name.toLowerCase() :
- undefined;
- },
- set: function( elem, value, name ) {
- var propName;
- if ( value === false ) {
- // Remove boolean attributes when set to false
- jQuery.removeAttr( elem, name );
- } else {
- // value is true since we know at this point it's type boolean and not false
- // Set boolean attributes to the same name and set the DOM property
- propName = jQuery.propFix[ name ] || name;
- if ( propName in elem ) {
- // Only set the IDL specifically if it already exists on the element
- elem[ propName ] = true;
- }
-
- elem.setAttribute( name, name.toLowerCase() );
- }
- return name;
- }
-};
-
-// IE6/7 do not support getting/setting some attributes with get/setAttribute
-if ( !getSetAttribute ) {
-
- fixSpecified = {
- name: true,
- id: true
- };
-
- // Use this for any attribute in IE6/7
- // This fixes almost every IE6/7 issue
- nodeHook = jQuery.valHooks.button = {
- get: function( elem, name ) {
- var ret;
- ret = elem.getAttributeNode( name );
- return ret && ( fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified ) ?
- ret.nodeValue :
- undefined;
- },
- set: function( elem, value, name ) {
- // Set the existing or create a new attribute node
- var ret = elem.getAttributeNode( name );
- if ( !ret ) {
- ret = document.createAttribute( name );
- elem.setAttributeNode( ret );
- }
- return ( ret.nodeValue = value + "" );
- }
- };
-
- // Apply the nodeHook to tabindex
- jQuery.attrHooks.tabindex.set = nodeHook.set;
-
- // Set width and height to auto instead of 0 on empty string( Bug #8150 )
- // This is for removals
- jQuery.each([ "width", "height" ], function( i, name ) {
- jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
- set: function( elem, value ) {
- if ( value === "" ) {
- elem.setAttribute( name, "auto" );
- return value;
- }
- }
- });
- });
-
- // Set contenteditable to false on removals(#10429)
- // Setting to empty string throws an error as an invalid value
- jQuery.attrHooks.contenteditable = {
- get: nodeHook.get,
- set: function( elem, value, name ) {
- if ( value === "" ) {
- value = "false";
- }
- nodeHook.set( elem, value, name );
- }
- };
-}
-
-
-// Some attributes require a special call on IE
-if ( !jQuery.support.hrefNormalized ) {
- jQuery.each([ "href", "src", "width", "height" ], function( i, name ) {
- jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {
- get: function( elem ) {
- var ret = elem.getAttribute( name, 2 );
- return ret === null ? undefined : ret;
- }
- });
- });
-}
-
-if ( !jQuery.support.style ) {
- jQuery.attrHooks.style = {
- get: function( elem ) {
- // Return undefined in the case of empty string
- // Normalize to lowercase since IE uppercases css property names
- return elem.style.cssText.toLowerCase() || undefined;
- },
- set: function( elem, value ) {
- return ( elem.style.cssText = "" + value );
- }
- };
-}
-
-// Safari mis-reports the default selected property of an option
-// Accessing the parent's selectedIndex property fixes it
-if ( !jQuery.support.optSelected ) {
- jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {
- get: function( elem ) {
- var parent = elem.parentNode;
-
- if ( parent ) {
- parent.selectedIndex;
-
- // Make sure that it also works with optgroups, see #5701
- if ( parent.parentNode ) {
- parent.parentNode.selectedIndex;
- }
- }
- return null;
- }
- });
-}
-
-// IE6/7 call enctype encoding
-if ( !jQuery.support.enctype ) {
- jQuery.propFix.enctype = "encoding";
-}
-
-// Radios and checkboxes getter/setter
-if ( !jQuery.support.checkOn ) {
- jQuery.each([ "radio", "checkbox" ], function() {
- jQuery.valHooks[ this ] = {
- get: function( elem ) {
- // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified
- return elem.getAttribute("value") === null ? "on" : elem.value;
- }
- };
- });
-}
-jQuery.each([ "radio", "checkbox" ], function() {
- jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {
- set: function( elem, value ) {
- if ( jQuery.isArray( value ) ) {
- return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
- }
- }
- });
-});
-
-
-
-
-var rformElems = /^(?:textarea|input|select)$/i,
- rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/,
- rhoverHack = /\bhover(\.\S+)?\b/,
- rkeyEvent = /^key/,
- rmouseEvent = /^(?:mouse|contextmenu)|click/,
- rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
- rquickIs = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,
- quickParse = function( selector ) {
- var quick = rquickIs.exec( selector );
- if ( quick ) {
- // 0 1 2 3
- // [ _, tag, id, class ]
- quick[1] = ( quick[1] || "" ).toLowerCase();
- quick[3] = quick[3] && new RegExp( "(?:^|\\s)" + quick[3] + "(?:\\s|$)" );
- }
- return quick;
- },
- quickIs = function( elem, m ) {
- var attrs = elem.attributes || {};
- return (
- (!m[1] || elem.nodeName.toLowerCase() === m[1]) &&
- (!m[2] || (attrs.id || {}).value === m[2]) &&
- (!m[3] || m[3].test( (attrs[ "class" ] || {}).value ))
- );
- },
- hoverHack = function( events ) {
- return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
- };
-
-/*
- * Helper functions for managing events -- not part of the public interface.
- * Props to Dean Edwards' addEvent library for many of the ideas.
- */
-jQuery.event = {
-
- add: function( elem, types, handler, data, selector ) {
-
- var elemData, eventHandle, events,
- t, tns, type, namespaces, handleObj,
- handleObjIn, quick, handlers, special;
-
- // Don't attach events to noData or text/comment nodes (allow plain objects tho)
- if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) {
- return;
- }
-
- // Caller can pass in an object of custom data in lieu of the handler
- if ( handler.handler ) {
- handleObjIn = handler;
- handler = handleObjIn.handler;
- }
-
- // Make sure that the handler has a unique ID, used to find/remove it later
- if ( !handler.guid ) {
- handler.guid = jQuery.guid++;
- }
-
- // Init the element's event structure and main handler, if this is the first
- events = elemData.events;
- if ( !events ) {
- elemData.events = events = {};
- }
- eventHandle = elemData.handle;
- if ( !eventHandle ) {
- elemData.handle = eventHandle = function( e ) {
- // Discard the second event of a jQuery.event.trigger() and
- // when an event is called after a page has unloaded
- return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
- jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
- undefined;
- };
- // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
- eventHandle.elem = elem;
- }
-
- // Handle multiple events separated by a space
- // jQuery(...).bind("mouseover mouseout", fn);
- types = jQuery.trim( hoverHack(types) ).split( " " );
- for ( t = 0; t < types.length; t++ ) {
-
- tns = rtypenamespace.exec( types[t] ) || [];
- type = tns[1];
- namespaces = ( tns[2] || "" ).split( "." ).sort();
-
- // If event changes its type, use the special event handlers for the changed type
- special = jQuery.event.special[ type ] || {};
-
- // If selector defined, determine special event api type, otherwise given type
- type = ( selector ? special.delegateType : special.bindType ) || type;
-
- // Update special based on newly reset type
- special = jQuery.event.special[ type ] || {};
-
- // handleObj is passed to all event handlers
- handleObj = jQuery.extend({
- type: type,
- origType: tns[1],
- data: data,
- handler: handler,
- guid: handler.guid,
- selector: selector,
- quick: quickParse( selector ),
- namespace: namespaces.join(".")
- }, handleObjIn );
-
- // Init the event handler queue if we're the first
- handlers = events[ type ];
- if ( !handlers ) {
- handlers = events[ type ] = [];
- handlers.delegateCount = 0;
-
- // Only use addEventListener/attachEvent if the special events handler returns false
- if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
- // Bind the global event handler to the element
- if ( elem.addEventListener ) {
- elem.addEventListener( type, eventHandle, false );
-
- } else if ( elem.attachEvent ) {
- elem.attachEvent( "on" + type, eventHandle );
- }
- }
- }
-
- if ( special.add ) {
- special.add.call( elem, handleObj );
-
- if ( !handleObj.handler.guid ) {
- handleObj.handler.guid = handler.guid;
- }
- }
-
- // Add to the element's handler list, delegates in front
- if ( selector ) {
- handlers.splice( handlers.delegateCount++, 0, handleObj );
- } else {
- handlers.push( handleObj );
- }
-
- // Keep track of which events have ever been used, for event optimization
- jQuery.event.global[ type ] = true;
- }
-
- // Nullify elem to prevent memory leaks in IE
- elem = null;
- },
-
- global: {},
-
- // Detach an event or set of events from an element
- remove: function( elem, types, handler, selector, mappedTypes ) {
-
- var elemData = jQuery.hasData( elem ) && jQuery._data( elem ),
- t, tns, type, origType, namespaces, origCount,
- j, events, special, handle, eventType, handleObj;
-
- if ( !elemData || !(events = elemData.events) ) {
- return;
- }
-
- // Once for each type.namespace in types; type may be omitted
- types = jQuery.trim( hoverHack( types || "" ) ).split(" ");
- for ( t = 0; t < types.length; t++ ) {
- tns = rtypenamespace.exec( types[t] ) || [];
- type = origType = tns[1];
- namespaces = tns[2];
-
- // Unbind all events (on this namespace, if provided) for the element
- if ( !type ) {
- for ( type in events ) {
- jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
- }
- continue;
- }
-
- special = jQuery.event.special[ type ] || {};
- type = ( selector? special.delegateType : special.bindType ) || type;
- eventType = events[ type ] || [];
- origCount = eventType.length;
- namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
-
- // Remove matching events
- for ( j = 0; j < eventType.length; j++ ) {
- handleObj = eventType[ j ];
-
- if ( ( mappedTypes || origType === handleObj.origType ) &&
- ( !handler || handler.guid === handleObj.guid ) &&
- ( !namespaces || namespaces.test( handleObj.namespace ) ) &&
- ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
- eventType.splice( j--, 1 );
-
- if ( handleObj.selector ) {
- eventType.delegateCount--;
- }
- if ( special.remove ) {
- special.remove.call( elem, handleObj );
- }
- }
- }
-
- // Remove generic event handler if we removed something and no more handlers exist
- // (avoids potential for endless recursion during removal of special event handlers)
- if ( eventType.length === 0 && origCount !== eventType.length ) {
- if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
- jQuery.removeEvent( elem, type, elemData.handle );
- }
-
- delete events[ type ];
- }
- }
-
- // Remove the expando if it's no longer used
- if ( jQuery.isEmptyObject( events ) ) {
- handle = elemData.handle;
- if ( handle ) {
- handle.elem = null;
- }
-
- // removeData also checks for emptiness and clears the expando if empty
- // so use it instead of delete
- jQuery.removeData( elem, [ "events", "handle" ], true );
- }
- },
-
- // Events that are safe to short-circuit if no handlers are attached.
- // Native DOM events should not be added, they may have inline handlers.
- customEvent: {
- "getData": true,
- "setData": true,
- "changeData": true
- },
-
- trigger: function( event, data, elem, onlyHandlers ) {
- // Don't do events on text and comment nodes
- if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {
- return;
- }
-
- // Event object or event type
- var type = event.type || event,
- namespaces = [],
- cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType;
-
- // focus/blur morphs to focusin/out; ensure we're not firing them right now
- if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
- return;
- }
-
- if ( type.indexOf( "!" ) >= 0 ) {
- // Exclusive events trigger only for the exact event (no namespaces)
- type = type.slice(0, -1);
- exclusive = true;
- }
-
- if ( type.indexOf( "." ) >= 0 ) {
- // Namespaced trigger; create a regexp to match event type in handle()
- namespaces = type.split(".");
- type = namespaces.shift();
- namespaces.sort();
- }
-
- if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {
- // No jQuery handlers for this event type, and it can't have inline handlers
- return;
- }
-
- // Caller can pass in an Event, Object, or just an event type string
- event = typeof event === "object" ?
- // jQuery.Event object
- event[ jQuery.expando ] ? event :
- // Object literal
- new jQuery.Event( type, event ) :
- // Just the event type (string)
- new jQuery.Event( type );
-
- event.type = type;
- event.isTrigger = true;
- event.exclusive = exclusive;
- event.namespace = namespaces.join( "." );
- event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") : null;
- ontype = type.indexOf( ":" ) < 0 ? "on" + type : "";
-
- // Handle a global trigger
- if ( !elem ) {
-
- // TODO: Stop taunting the data cache; remove global events and always attach to document
- cache = jQuery.cache;
- for ( i in cache ) {
- if ( cache[ i ].events && cache[ i ].events[ type ] ) {
- jQuery.event.trigger( event, data, cache[ i ].handle.elem, true );
- }
- }
- return;
- }
-
- // Clean up the event in case it is being reused
- event.result = undefined;
- if ( !event.target ) {
- event.target = elem;
- }
-
- // Clone any incoming data and prepend the event, creating the handler arg list
- data = data != null ? jQuery.makeArray( data ) : [];
- data.unshift( event );
-
- // Allow special events to draw outside the lines
- special = jQuery.event.special[ type ] || {};
- if ( special.trigger && special.trigger.apply( elem, data ) === false ) {
- return;
- }
-
- // Determine event propagation path in advance, per W3C events spec (#9951)
- // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
- eventPath = [[ elem, special.bindType || type ]];
- if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
-
- bubbleType = special.delegateType || type;
- cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode;
- old = null;
- for ( ; cur; cur = cur.parentNode ) {
- eventPath.push([ cur, bubbleType ]);
- old = cur;
- }
-
- // Only add window if we got to document (e.g., not plain obj or detached DOM)
- if ( old && old === elem.ownerDocument ) {
- eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);
- }
- }
-
- // Fire handlers on the event path
- for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {
-
- cur = eventPath[i][0];
- event.type = eventPath[i][1];
-
- handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );
- if ( handle ) {
- handle.apply( cur, data );
- }
- // Note that this is a bare JS function and not a jQuery handler
- handle = ontype && cur[ ontype ];
- if ( handle && jQuery.acceptData( cur ) && handle.apply( cur, data ) === false ) {
- event.preventDefault();
- }
- }
- event.type = type;
-
- // If nobody prevented the default action, do it now
- if ( !onlyHandlers && !event.isDefaultPrevented() ) {
-
- if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&
- !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) {
-
- // Call a native DOM method on the target with the same name name as the event.
- // Can't use an .isFunction() check here because IE6/7 fails that test.
- // Don't do default actions on window, that's where global variables be (#6170)
- // IE<9 dies on focus/blur to hidden element (#1486)
- if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {
-
- // Don't re-trigger an onFOO event when we call its FOO() method
- old = elem[ ontype ];
-
- if ( old ) {
- elem[ ontype ] = null;
- }
-
- // Prevent re-triggering of the same event, since we already bubbled it above
- jQuery.event.triggered = type;
- elem[ type ]();
- jQuery.event.triggered = undefined;
-
- if ( old ) {
- elem[ ontype ] = old;
- }
- }
- }
- }
-
- return event.result;
- },
-
- dispatch: function( event ) {
-
- // Make a writable jQuery.Event from the native event object
- event = jQuery.event.fix( event || window.event );
-
- var handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []),
- delegateCount = handlers.delegateCount,
- args = [].slice.call( arguments, 0 ),
- run_all = !event.exclusive && !event.namespace,
- handlerQueue = [],
- i, j, cur, jqcur, ret, selMatch, matched, matches, handleObj, sel, related;
-
- // Use the fix-ed jQuery.Event rather than the (read-only) native event
- args[0] = event;
- event.delegateTarget = this;
-
- // Determine handlers that should run if there are delegated events
- // Avoid disabled elements in IE (#6911) and non-left-click bubbling in Firefox (#3861)
- if ( delegateCount && !event.target.disabled && !(event.button && event.type === "click") ) {
-
- // Pregenerate a single jQuery object for reuse with .is()
- jqcur = jQuery(this);
- jqcur.context = this.ownerDocument || this;
-
- for ( cur = event.target; cur != this; cur = cur.parentNode || this ) {
- selMatch = {};
- matches = [];
- jqcur[0] = cur;
- for ( i = 0; i < delegateCount; i++ ) {
- handleObj = handlers[ i ];
- sel = handleObj.selector;
-
- if ( selMatch[ sel ] === undefined ) {
- selMatch[ sel ] = (
- handleObj.quick ? quickIs( cur, handleObj.quick ) : jqcur.is( sel )
- );
- }
- if ( selMatch[ sel ] ) {
- matches.push( handleObj );
- }
- }
- if ( matches.length ) {
- handlerQueue.push({ elem: cur, matches: matches });
- }
- }
- }
-
- // Add the remaining (directly-bound) handlers
- if ( handlers.length > delegateCount ) {
- handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) });
- }
-
- // Run delegates first; they may want to stop propagation beneath us
- for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {
- matched = handlerQueue[ i ];
- event.currentTarget = matched.elem;
-
- for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {
- handleObj = matched.matches[ j ];
-
- // Triggered event must either 1) be non-exclusive and have no namespace, or
- // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
- if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {
-
- event.data = handleObj.data;
- event.handleObj = handleObj;
-
- ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
- .apply( matched.elem, args );
-
- if ( ret !== undefined ) {
- event.result = ret;
- if ( ret === false ) {
- event.preventDefault();
- event.stopPropagation();
- }
- }
- }
- }
- }
-
- return event.result;
- },
-
- // Includes some event props shared by KeyEvent and MouseEvent
- // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 ***
- props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
-
- fixHooks: {},
-
- keyHooks: {
- props: "char charCode key keyCode".split(" "),
- filter: function( event, original ) {
-
- // Add which for key events
- if ( event.which == null ) {
- event.which = original.charCode != null ? original.charCode : original.keyCode;
- }
-
- return event;
- }
- },
-
- mouseHooks: {
- props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
- filter: function( event, original ) {
- var eventDoc, doc, body,
- button = original.button,
- fromElement = original.fromElement;
-
- // Calculate pageX/Y if missing and clientX/Y available
- if ( event.pageX == null && original.clientX != null ) {
- eventDoc = event.target.ownerDocument || document;
- doc = eventDoc.documentElement;
- body = eventDoc.body;
-
- event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
- event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );
- }
-
- // Add relatedTarget, if necessary
- if ( !event.relatedTarget && fromElement ) {
- event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
- }
-
- // Add which for click: 1 === left; 2 === middle; 3 === right
- // Note: button is not normalized, so don't use it
- if ( !event.which && button !== undefined ) {
- event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
- }
-
- return event;
- }
- },
-
- fix: function( event ) {
- if ( event[ jQuery.expando ] ) {
- return event;
- }
-
- // Create a writable copy of the event object and normalize some properties
- var i, prop,
- originalEvent = event,
- fixHook = jQuery.event.fixHooks[ event.type ] || {},
- copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
-
- event = jQuery.Event( originalEvent );
-
- for ( i = copy.length; i; ) {
- prop = copy[ --i ];
- event[ prop ] = originalEvent[ prop ];
- }
-
- // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)
- if ( !event.target ) {
- event.target = originalEvent.srcElement || document;
- }
-
- // Target should not be a text node (#504, Safari)
- if ( event.target.nodeType === 3 ) {
- event.target = event.target.parentNode;
- }
-
- // For mouse/key events; add metaKey if it's not there (#3368, IE6/7/8)
- if ( event.metaKey === undefined ) {
- event.metaKey = event.ctrlKey;
- }
-
- return fixHook.filter? fixHook.filter( event, originalEvent ) : event;
- },
-
- special: {
- ready: {
- // Make sure the ready event is setup
- setup: jQuery.bindReady
- },
-
- load: {
- // Prevent triggered image.load events from bubbling to window.load
- noBubble: true
- },
-
- focus: {
- delegateType: "focusin"
- },
- blur: {
- delegateType: "focusout"
- },
-
- beforeunload: {
- setup: function( data, namespaces, eventHandle ) {
- // We only want to do this special case on windows
- if ( jQuery.isWindow( this ) ) {
- this.onbeforeunload = eventHandle;
- }
- },
-
- teardown: function( namespaces, eventHandle ) {
- if ( this.onbeforeunload === eventHandle ) {
- this.onbeforeunload = null;
- }
- }
- }
- },
-
- simulate: function( type, elem, event, bubble ) {
- // Piggyback on a donor event to simulate a different one.
- // Fake originalEvent to avoid donor's stopPropagation, but if the
- // simulated event prevents default then we do the same on the donor.
- var e = jQuery.extend(
- new jQuery.Event(),
- event,
- { type: type,
- isSimulated: true,
- originalEvent: {}
- }
- );
- if ( bubble ) {
- jQuery.event.trigger( e, null, elem );
- } else {
- jQuery.event.dispatch.call( elem, e );
- }
- if ( e.isDefaultPrevented() ) {
- event.preventDefault();
- }
- }
-};
-
-// Some plugins are using, but it's undocumented/deprecated and will be removed.
-// The 1.7 special event interface should provide all the hooks needed now.
-jQuery.event.handle = jQuery.event.dispatch;
-
-jQuery.removeEvent = document.removeEventListener ?
- function( elem, type, handle ) {
- if ( elem.removeEventListener ) {
- elem.removeEventListener( type, handle, false );
- }
- } :
- function( elem, type, handle ) {
- if ( elem.detachEvent ) {
- elem.detachEvent( "on" + type, handle );
- }
- };
-
-jQuery.Event = function( src, props ) {
- // Allow instantiation without the 'new' keyword
- if ( !(this instanceof jQuery.Event) ) {
- return new jQuery.Event( src, props );
- }
-
- // Event object
- if ( src && src.type ) {
- this.originalEvent = src;
- this.type = src.type;
-
- // Events bubbling up the document may have been marked as prevented
- // by a handler lower down the tree; reflect the correct value.
- this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||
- src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;
-
- // Event type
- } else {
- this.type = src;
- }
-
- // Put explicitly provided properties onto the event object
- if ( props ) {
- jQuery.extend( this, props );
- }
-
- // Create a timestamp if incoming event doesn't have one
- this.timeStamp = src && src.timeStamp || jQuery.now();
-
- // Mark it as fixed
- this[ jQuery.expando ] = true;
-};
-
-function returnFalse() {
- return false;
-}
-function returnTrue() {
- return true;
-}
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
- preventDefault: function() {
- this.isDefaultPrevented = returnTrue;
-
- var e = this.originalEvent;
- if ( !e ) {
- return;
- }
-
- // if preventDefault exists run it on the original event
- if ( e.preventDefault ) {
- e.preventDefault();
-
- // otherwise set the returnValue property of the original event to false (IE)
- } else {
- e.returnValue = false;
- }
- },
- stopPropagation: function() {
- this.isPropagationStopped = returnTrue;
-
- var e = this.originalEvent;
- if ( !e ) {
- return;
- }
- // if stopPropagation exists run it on the original event
- if ( e.stopPropagation ) {
- e.stopPropagation();
- }
- // otherwise set the cancelBubble property of the original event to true (IE)
- e.cancelBubble = true;
- },
- stopImmediatePropagation: function() {
- this.isImmediatePropagationStopped = returnTrue;
- this.stopPropagation();
- },
- isDefaultPrevented: returnFalse,
- isPropagationStopped: returnFalse,
- isImmediatePropagationStopped: returnFalse
-};
-
-// Create mouseenter/leave events using mouseover/out and event-time checks
-jQuery.each({
- mouseenter: "mouseover",
- mouseleave: "mouseout"
-}, function( orig, fix ) {
- jQuery.event.special[ orig ] = {
- delegateType: fix,
- bindType: fix,
-
- handle: function( event ) {
- var target = this,
- related = event.relatedTarget,
- handleObj = event.handleObj,
- selector = handleObj.selector,
- ret;
-
- // For mousenter/leave call the handler if related is outside the target.
- // NB: No relatedTarget if the mouse left/entered the browser window
- if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
- event.type = handleObj.origType;
- ret = handleObj.handler.apply( this, arguments );
- event.type = fix;
- }
- return ret;
- }
- };
-});
-
-// IE submit delegation
-if ( !jQuery.support.submitBubbles ) {
-
- jQuery.event.special.submit = {
- setup: function() {
- // Only need this for delegated form submit events
- if ( jQuery.nodeName( this, "form" ) ) {
- return false;
- }
-
- // Lazy-add a submit handler when a descendant form may potentially be submitted
- jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
- // Node name check avoids a VML-related crash in IE (#9807)
- var elem = e.target,
- form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;
- if ( form && !form._submit_attached ) {
- jQuery.event.add( form, "submit._submit", function( event ) {
- // If form was submitted by the user, bubble the event up the tree
- if ( this.parentNode && !event.isTrigger ) {
- jQuery.event.simulate( "submit", this.parentNode, event, true );
- }
- });
- form._submit_attached = true;
- }
- });
- // return undefined since we don't need an event listener
- },
-
- teardown: function() {
- // Only need this for delegated form submit events
- if ( jQuery.nodeName( this, "form" ) ) {
- return false;
- }
-
- // Remove delegated handlers; cleanData eventually reaps submit handlers attached above
- jQuery.event.remove( this, "._submit" );
- }
- };
-}
-
-// IE change delegation and checkbox/radio fix
-if ( !jQuery.support.changeBubbles ) {
-
- jQuery.event.special.change = {
-
- setup: function() {
-
- if ( rformElems.test( this.nodeName ) ) {
- // IE doesn't fire change on a check/radio until blur; trigger it on click
- // after a propertychange. Eat the blur-change in special.change.handle.
- // This still fires onchange a second time for check/radio after blur.
- if ( this.type === "checkbox" || this.type === "radio" ) {
- jQuery.event.add( this, "propertychange._change", function( event ) {
- if ( event.originalEvent.propertyName === "checked" ) {
- this._just_changed = true;
- }
- });
- jQuery.event.add( this, "click._change", function( event ) {
- if ( this._just_changed && !event.isTrigger ) {
- this._just_changed = false;
- jQuery.event.simulate( "change", this, event, true );
- }
- });
- }
- return false;
- }
- // Delegated event; lazy-add a change handler on descendant inputs
- jQuery.event.add( this, "beforeactivate._change", function( e ) {
- var elem = e.target;
-
- if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) {
- jQuery.event.add( elem, "change._change", function( event ) {
- if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
- jQuery.event.simulate( "change", this.parentNode, event, true );
- }
- });
- elem._change_attached = true;
- }
- });
- },
-
- handle: function( event ) {
- var elem = event.target;
-
- // Swallow native change events from checkbox/radio, we already triggered them above
- if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
- return event.handleObj.handler.apply( this, arguments );
- }
- },
-
- teardown: function() {
- jQuery.event.remove( this, "._change" );
-
- return rformElems.test( this.nodeName );
- }
- };
-}
-
-// Create "bubbling" focus and blur events
-if ( !jQuery.support.focusinBubbles ) {
- jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-
- // Attach a single capturing handler while someone wants focusin/focusout
- var attaches = 0,
- handler = function( event ) {
- jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
- };
-
- jQuery.event.special[ fix ] = {
- setup: function() {
- if ( attaches++ === 0 ) {
- document.addEventListener( orig, handler, true );
- }
- },
- teardown: function() {
- if ( --attaches === 0 ) {
- document.removeEventListener( orig, handler, true );
- }
- }
- };
- });
-}
-
-jQuery.fn.extend({
-
- on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
- var origFn, type;
-
- // Types can be a map of types/handlers
- if ( typeof types === "object" ) {
- // ( types-Object, selector, data )
- if ( typeof selector !== "string" ) {
- // ( types-Object, data )
- data = selector;
- selector = undefined;
- }
- for ( type in types ) {
- this.on( type, selector, data, types[ type ], one );
- }
- return this;
- }
-
- if ( data == null && fn == null ) {
- // ( types, fn )
- fn = selector;
- data = selector = undefined;
- } else if ( fn == null ) {
- if ( typeof selector === "string" ) {
- // ( types, selector, fn )
- fn = data;
- data = undefined;
- } else {
- // ( types, data, fn )
- fn = data;
- data = selector;
- selector = undefined;
- }
- }
- if ( fn === false ) {
- fn = returnFalse;
- } else if ( !fn ) {
- return this;
- }
-
- if ( one === 1 ) {
- origFn = fn;
- fn = function( event ) {
- // Can use an empty set, since event contains the info
- jQuery().off( event );
- return origFn.apply( this, arguments );
- };
- // Use same guid so caller can remove using origFn
- fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
- }
- return this.each( function() {
- jQuery.event.add( this, types, fn, data, selector );
- });
- },
- one: function( types, selector, data, fn ) {
- return this.on.call( this, types, selector, data, fn, 1 );
- },
- off: function( types, selector, fn ) {
- if ( types && types.preventDefault && types.handleObj ) {
- // ( event ) dispatched jQuery.Event
- var handleObj = types.handleObj;
- jQuery( types.delegateTarget ).off(
- handleObj.namespace? handleObj.type + "." + handleObj.namespace : handleObj.type,
- handleObj.selector,
- handleObj.handler
- );
- return this;
- }
- if ( typeof types === "object" ) {
- // ( types-object [, selector] )
- for ( var type in types ) {
- this.off( type, selector, types[ type ] );
- }
- return this;
- }
- if ( selector === false || typeof selector === "function" ) {
- // ( types [, fn] )
- fn = selector;
- selector = undefined;
- }
- if ( fn === false ) {
- fn = returnFalse;
- }
- return this.each(function() {
- jQuery.event.remove( this, types, fn, selector );
- });
- },
-
- bind: function( types, data, fn ) {
- return this.on( types, null, data, fn );
- },
- unbind: function( types, fn ) {
- return this.off( types, null, fn );
- },
-
- live: function( types, data, fn ) {
- jQuery( this.context ).on( types, this.selector, data, fn );
- return this;
- },
- die: function( types, fn ) {
- jQuery( this.context ).off( types, this.selector || "**", fn );
- return this;
- },
-
- delegate: function( selector, types, data, fn ) {
- return this.on( types, selector, data, fn );
- },
- undelegate: function( selector, types, fn ) {
- // ( namespace ) or ( selector, types [, fn] )
- return arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector, fn );
- },
-
- trigger: function( type, data ) {
- return this.each(function() {
- jQuery.event.trigger( type, data, this );
- });
- },
- triggerHandler: function( type, data ) {
- if ( this[0] ) {
- return jQuery.event.trigger( type, data, this[0], true );
- }
- },
-
- toggle: function( fn ) {
- // Save reference to arguments for access in closure
- var args = arguments,
- guid = fn.guid || jQuery.guid++,
- i = 0,
- toggler = function( event ) {
- // Figure out which function to execute
- var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
- jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
- // Make sure that clicks stop
- event.preventDefault();
-
- // and execute the function
- return args[ lastToggle ].apply( this, arguments ) || false;
- };
-
- // link all the functions, so any of them can unbind this click handler
- toggler.guid = guid;
- while ( i < args.length ) {
- args[ i++ ].guid = guid;
- }
-
- return this.click( toggler );
- },
-
- hover: function( fnOver, fnOut ) {
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
- }
-});
-
-jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
- "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
-
- // Handle event binding
- jQuery.fn[ name ] = function( data, fn ) {
- if ( fn == null ) {
- fn = data;
- data = null;
- }
-
- return arguments.length > 0 ?
- this.on( name, null, data, fn ) :
- this.trigger( name );
- };
-
- if ( jQuery.attrFn ) {
- jQuery.attrFn[ name ] = true;
- }
-
- if ( rkeyEvent.test( name ) ) {
- jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;
- }
-
- if ( rmouseEvent.test( name ) ) {
- jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;
- }
-});
-
-
-
-/*!
- * Sizzle CSS Selector Engine
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- * More information: http://sizzlejs.com/
- */
-(function(){
-
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
- expando = "sizcache" + (Math.random() + '').replace('.', ''),
- done = 0,
- toString = Object.prototype.toString,
- hasDuplicate = false,
- baseHasDuplicate = true,
- rBackslash = /\\/g,
- rReturn = /\r\n/g,
- rNonWord = /\W/;
-
-// Here we check if the JavaScript engine is using some sort of
-// optimization where it does not always call our comparision
-// function. If that is the case, discard the hasDuplicate value.
-// Thus far that includes Google Chrome.
-[0, 0].sort(function() {
- baseHasDuplicate = false;
- return 0;
-});
-
-var Sizzle = function( selector, context, results, seed ) {
- results = results || [];
- context = context || document;
-
- var origContext = context;
-
- if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
- return [];
- }
-
- if ( !selector || typeof selector !== "string" ) {
- return results;
- }
-
- var m, set, checkSet, extra, ret, cur, pop, i,
- prune = true,
- contextXML = Sizzle.isXML( context ),
- parts = [],
- soFar = selector;
-
- // Reset the position of the chunker regexp (start from head)
- do {
- chunker.exec( "" );
- m = chunker.exec( soFar );
-
- if ( m ) {
- soFar = m[3];
-
- parts.push( m[1] );
-
- if ( m[2] ) {
- extra = m[3];
- break;
- }
- }
- } while ( m );
-
- if ( parts.length > 1 && origPOS.exec( selector ) ) {
-
- if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
- set = posProcess( parts[0] + parts[1], context, seed );
-
- } else {
- set = Expr.relative[ parts[0] ] ?
- [ context ] :
- Sizzle( parts.shift(), context );
-
- while ( parts.length ) {
- selector = parts.shift();
-
- if ( Expr.relative[ selector ] ) {
- selector += parts.shift();
- }
-
- set = posProcess( selector, set, seed );
- }
- }
-
- } else {
- // Take a shortcut and set the context if the root selector is an ID
- // (but not if it'll be faster if the inner selector is an ID)
- if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
- Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
-
- ret = Sizzle.find( parts.shift(), context, contextXML );
- context = ret.expr ?
- Sizzle.filter( ret.expr, ret.set )[0] :
- ret.set[0];
- }
-
- if ( context ) {
- ret = seed ?
- { expr: parts.pop(), set: makeArray(seed) } :
- Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML );
-
- set = ret.expr ?
- Sizzle.filter( ret.expr, ret.set ) :
- ret.set;
-
- if ( parts.length > 0 ) {
- checkSet = makeArray( set );
-
- } else {
- prune = false;
- }
-
- while ( parts.length ) {
- cur = parts.pop();
- pop = cur;
-
- if ( !Expr.relative[ cur ] ) {
- cur = "";
- } else {
- pop = parts.pop();
- }
-
- if ( pop == null ) {
- pop = context;
- }
-
- Expr.relative[ cur ]( checkSet, pop, contextXML );
- }
-
- } else {
- checkSet = parts = [];
- }
- }
-
- if ( !checkSet ) {
- checkSet = set;
- }
-
- if ( !checkSet ) {
- Sizzle.error( cur || selector );
- }
-
- if ( toString.call(checkSet) === "[object Array]" ) {
- if ( !prune ) {
- results.push.apply( results, checkSet );
-
- } else if ( context && context.nodeType === 1 ) {
- for ( i = 0; checkSet[i] != null; i++ ) {
- if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) {
- results.push( set[i] );
- }
- }
-
- } else {
- for ( i = 0; checkSet[i] != null; i++ ) {
- if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
- results.push( set[i] );
- }
- }
- }
-
- } else {
- makeArray( checkSet, results );
- }
-
- if ( extra ) {
- Sizzle( extra, origContext, results, seed );
- Sizzle.uniqueSort( results );
- }
-
- return results;
-};
-
-Sizzle.uniqueSort = function( results ) {
- if ( sortOrder ) {
- hasDuplicate = baseHasDuplicate;
- results.sort( sortOrder );
-
- if ( hasDuplicate ) {
- for ( var i = 1; i < results.length; i++ ) {
- if ( results[i] === results[ i - 1 ] ) {
- results.splice( i--, 1 );
- }
- }
- }
- }
-
- return results;
-};
-
-Sizzle.matches = function( expr, set ) {
- return Sizzle( expr, null, null, set );
-};
-
-Sizzle.matchesSelector = function( node, expr ) {
- return Sizzle( expr, null, null, [node] ).length > 0;
-};
-
-Sizzle.find = function( expr, context, isXML ) {
- var set, i, len, match, type, left;
-
- if ( !expr ) {
- return [];
- }
-
- for ( i = 0, len = Expr.order.length; i < len; i++ ) {
- type = Expr.order[i];
-
- if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
- left = match[1];
- match.splice( 1, 1 );
-
- if ( left.substr( left.length - 1 ) !== "\\" ) {
- match[1] = (match[1] || "").replace( rBackslash, "" );
- set = Expr.find[ type ]( match, context, isXML );
-
- if ( set != null ) {
- expr = expr.replace( Expr.match[ type ], "" );
- break;
- }
- }
- }
- }
-
- if ( !set ) {
- set = typeof context.getElementsByTagName !== "undefined" ?
- context.getElementsByTagName( "*" ) :
- [];
- }
-
- return { set: set, expr: expr };
-};
-
-Sizzle.filter = function( expr, set, inplace, not ) {
- var match, anyFound,
- type, found, item, filter, left,
- i, pass,
- old = expr,
- result = [],
- curLoop = set,
- isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
-
- while ( expr && set.length ) {
- for ( type in Expr.filter ) {
- if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
- filter = Expr.filter[ type ];
- left = match[1];
-
- anyFound = false;
-
- match.splice(1,1);
-
- if ( left.substr( left.length - 1 ) === "\\" ) {
- continue;
- }
-
- if ( curLoop === result ) {
- result = [];
- }
-
- if ( Expr.preFilter[ type ] ) {
- match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
-
- if ( !match ) {
- anyFound = found = true;
-
- } else if ( match === true ) {
- continue;
- }
- }
-
- if ( match ) {
- for ( i = 0; (item = curLoop[i]) != null; i++ ) {
- if ( item ) {
- found = filter( item, match, i, curLoop );
- pass = not ^ found;
-
- if ( inplace && found != null ) {
- if ( pass ) {
- anyFound = true;
-
- } else {
- curLoop[i] = false;
- }
-
- } else if ( pass ) {
- result.push( item );
- anyFound = true;
- }
- }
- }
- }
-
- if ( found !== undefined ) {
- if ( !inplace ) {
- curLoop = result;
- }
-
- expr = expr.replace( Expr.match[ type ], "" );
-
- if ( !anyFound ) {
- return [];
- }
-
- break;
- }
- }
- }
-
- // Improper expression
- if ( expr === old ) {
- if ( anyFound == null ) {
- Sizzle.error( expr );
-
- } else {
- break;
- }
- }
-
- old = expr;
- }
-
- return curLoop;
-};
-
-Sizzle.error = function( msg ) {
- throw new Error( "Syntax error, unrecognized expression: " + msg );
-};
-
-/**
- * Utility function for retreiving the text value of an array of DOM nodes
- * @param {Array|Element} elem
- */
-var getText = Sizzle.getText = function( elem ) {
- var i, node,
- nodeType = elem.nodeType,
- ret = "";
-
- if ( nodeType ) {
- if ( nodeType === 1 || nodeType === 9 ) {
- // Use textContent || innerText for elements
- if ( typeof elem.textContent === 'string' ) {
- return elem.textContent;
- } else if ( typeof elem.innerText === 'string' ) {
- // Replace IE's carriage returns
- return elem.innerText.replace( rReturn, '' );
- } else {
- // Traverse it's children
- for ( elem = elem.firstChild; elem; elem = elem.nextSibling) {
- ret += getText( elem );
- }
- }
- } else if ( nodeType === 3 || nodeType === 4 ) {
- return elem.nodeValue;
- }
- } else {
-
- // If no nodeType, this is expected to be an array
- for ( i = 0; (node = elem[i]); i++ ) {
- // Do not traverse comment nodes
- if ( node.nodeType !== 8 ) {
- ret += getText( node );
- }
- }
- }
- return ret;
-};
-
-var Expr = Sizzle.selectors = {
- order: [ "ID", "NAME", "TAG" ],
-
- match: {
- ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
- CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
- NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
- ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
- TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
- CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
- POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
- PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
- },
-
- leftMatch: {},
-
- attrMap: {
- "class": "className",
- "for": "htmlFor"
- },
-
- attrHandle: {
- href: function( elem ) {
- return elem.getAttribute( "href" );
- },
- type: function( elem ) {
- return elem.getAttribute( "type" );
- }
- },
-
- relative: {
- "+": function(checkSet, part){
- var isPartStr = typeof part === "string",
- isTag = isPartStr && !rNonWord.test( part ),
- isPartStrNotTag = isPartStr && !isTag;
-
- if ( isTag ) {
- part = part.toLowerCase();
- }
-
- for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
- if ( (elem = checkSet[i]) ) {
- while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
-
- checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
- elem || false :
- elem === part;
- }
- }
-
- if ( isPartStrNotTag ) {
- Sizzle.filter( part, checkSet, true );
- }
- },
-
- ">": function( checkSet, part ) {
- var elem,
- isPartStr = typeof part === "string",
- i = 0,
- l = checkSet.length;
-
- if ( isPartStr && !rNonWord.test( part ) ) {
- part = part.toLowerCase();
-
- for ( ; i < l; i++ ) {
- elem = checkSet[i];
-
- if ( elem ) {
- var parent = elem.parentNode;
- checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
- }
- }
-
- } else {
- for ( ; i < l; i++ ) {
- elem = checkSet[i];
-
- if ( elem ) {
- checkSet[i] = isPartStr ?
- elem.parentNode :
- elem.parentNode === part;
- }
- }
-
- if ( isPartStr ) {
- Sizzle.filter( part, checkSet, true );
- }
- }
- },
-
- "": function(checkSet, part, isXML){
- var nodeCheck,
- doneName = done++,
- checkFn = dirCheck;
-
- if ( typeof part === "string" && !rNonWord.test( part ) ) {
- part = part.toLowerCase();
- nodeCheck = part;
- checkFn = dirNodeCheck;
- }
-
- checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML );
- },
-
- "~": function( checkSet, part, isXML ) {
- var nodeCheck,
- doneName = done++,
- checkFn = dirCheck;
-
- if ( typeof part === "string" && !rNonWord.test( part ) ) {
- part = part.toLowerCase();
- nodeCheck = part;
- checkFn = dirNodeCheck;
- }
-
- checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML );
- }
- },
-
- find: {
- ID: function( match, context, isXML ) {
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
- var m = context.getElementById(match[1]);
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- return m && m.parentNode ? [m] : [];
- }
- },
-
- NAME: function( match, context ) {
- if ( typeof context.getElementsByName !== "undefined" ) {
- var ret = [],
- results = context.getElementsByName( match[1] );
-
- for ( var i = 0, l = results.length; i < l; i++ ) {
- if ( results[i].getAttribute("name") === match[1] ) {
- ret.push( results[i] );
- }
- }
-
- return ret.length === 0 ? null : ret;
- }
- },
-
- TAG: function( match, context ) {
- if ( typeof context.getElementsByTagName !== "undefined" ) {
- return context.getElementsByTagName( match[1] );
- }
- }
- },
- preFilter: {
- CLASS: function( match, curLoop, inplace, result, not, isXML ) {
- match = " " + match[1].replace( rBackslash, "" ) + " ";
-
- if ( isXML ) {
- return match;
- }
-
- for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
- if ( elem ) {
- if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) {
- if ( !inplace ) {
- result.push( elem );
- }
-
- } else if ( inplace ) {
- curLoop[i] = false;
- }
- }
- }
-
- return false;
- },
-
- ID: function( match ) {
- return match[1].replace( rBackslash, "" );
- },
-
- TAG: function( match, curLoop ) {
- return match[1].replace( rBackslash, "" ).toLowerCase();
- },
-
- CHILD: function( match ) {
- if ( match[1] === "nth" ) {
- if ( !match[2] ) {
- Sizzle.error( match[0] );
- }
-
- match[2] = match[2].replace(/^\+|\s*/g, '');
-
- // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
- var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(
- match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" ||
- !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
-
- // calculate the numbers (first)n+(last) including if they are negative
- match[2] = (test[1] + (test[2] || 1)) - 0;
- match[3] = test[3] - 0;
- }
- else if ( match[2] ) {
- Sizzle.error( match[0] );
- }
-
- // TODO: Move to normal caching system
- match[0] = done++;
-
- return match;
- },
-
- ATTR: function( match, curLoop, inplace, result, not, isXML ) {
- var name = match[1] = match[1].replace( rBackslash, "" );
-
- if ( !isXML && Expr.attrMap[name] ) {
- match[1] = Expr.attrMap[name];
- }
-
- // Handle if an un-quoted value was used
- match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" );
-
- if ( match[2] === "~=" ) {
- match[4] = " " + match[4] + " ";
- }
-
- return match;
- },
-
- PSEUDO: function( match, curLoop, inplace, result, not ) {
- if ( match[1] === "not" ) {
- // If we're dealing with a complex expression, or a simple one
- if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) {
- match[3] = Sizzle(match[3], null, null, curLoop);
-
- } else {
- var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
-
- if ( !inplace ) {
- result.push.apply( result, ret );
- }
-
- return false;
- }
-
- } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
- return true;
- }
-
- return match;
- },
-
- POS: function( match ) {
- match.unshift( true );
-
- return match;
- }
- },
-
- filters: {
- enabled: function( elem ) {
- return elem.disabled === false && elem.type !== "hidden";
- },
-
- disabled: function( elem ) {
- return elem.disabled === true;
- },
-
- checked: function( elem ) {
- return elem.checked === true;
- },
-
- selected: function( elem ) {
- // Accessing this property makes selected-by-default
- // options in Safari work properly
- if ( elem.parentNode ) {
- elem.parentNode.selectedIndex;
- }
-
- return elem.selected === true;
- },
-
- parent: function( elem ) {
- return !!elem.firstChild;
- },
-
- empty: function( elem ) {
- return !elem.firstChild;
- },
-
- has: function( elem, i, match ) {
- return !!Sizzle( match[3], elem ).length;
- },
-
- header: function( elem ) {
- return (/h\d/i).test( elem.nodeName );
- },
-
- text: function( elem ) {
- var attr = elem.getAttribute( "type" ), type = elem.type;
- // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)
- // use getAttribute instead to test this case
- return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null );
- },
-
- radio: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type;
- },
-
- checkbox: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type;
- },
-
- file: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "file" === elem.type;
- },
-
- password: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "password" === elem.type;
- },
-
- submit: function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return (name === "input" || name === "button") && "submit" === elem.type;
- },
-
- image: function( elem ) {
- return elem.nodeName.toLowerCase() === "input" && "image" === elem.type;
- },
-
- reset: function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return (name === "input" || name === "button") && "reset" === elem.type;
- },
-
- button: function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return name === "input" && "button" === elem.type || name === "button";
- },
-
- input: function( elem ) {
- return (/input|select|textarea|button/i).test( elem.nodeName );
- },
-
- focus: function( elem ) {
- return elem === elem.ownerDocument.activeElement;
- }
- },
- setFilters: {
- first: function( elem, i ) {
- return i === 0;
- },
-
- last: function( elem, i, match, array ) {
- return i === array.length - 1;
- },
-
- even: function( elem, i ) {
- return i % 2 === 0;
- },
-
- odd: function( elem, i ) {
- return i % 2 === 1;
- },
-
- lt: function( elem, i, match ) {
- return i < match[3] - 0;
- },
-
- gt: function( elem, i, match ) {
- return i > match[3] - 0;
- },
-
- nth: function( elem, i, match ) {
- return match[3] - 0 === i;
- },
-
- eq: function( elem, i, match ) {
- return match[3] - 0 === i;
- }
- },
- filter: {
- PSEUDO: function( elem, match, i, array ) {
- var name = match[1],
- filter = Expr.filters[ name ];
-
- if ( filter ) {
- return filter( elem, i, match, array );
-
- } else if ( name === "contains" ) {
- return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0;
-
- } else if ( name === "not" ) {
- var not = match[3];
-
- for ( var j = 0, l = not.length; j < l; j++ ) {
- if ( not[j] === elem ) {
- return false;
- }
- }
-
- return true;
-
- } else {
- Sizzle.error( name );
- }
- },
-
- CHILD: function( elem, match ) {
- var first, last,
- doneName, parent, cache,
- count, diff,
- type = match[1],
- node = elem;
-
- switch ( type ) {
- case "only":
- case "first":
- while ( (node = node.previousSibling) ) {
- if ( node.nodeType === 1 ) {
- return false;
- }
- }
-
- if ( type === "first" ) {
- return true;
- }
-
- node = elem;
-
- case "last":
- while ( (node = node.nextSibling) ) {
- if ( node.nodeType === 1 ) {
- return false;
- }
- }
-
- return true;
-
- case "nth":
- first = match[2];
- last = match[3];
-
- if ( first === 1 && last === 0 ) {
- return true;
- }
-
- doneName = match[0];
- parent = elem.parentNode;
-
- if ( parent && (parent[ expando ] !== doneName || !elem.nodeIndex) ) {
- count = 0;
-
- for ( node = parent.firstChild; node; node = node.nextSibling ) {
- if ( node.nodeType === 1 ) {
- node.nodeIndex = ++count;
- }
- }
-
- parent[ expando ] = doneName;
- }
-
- diff = elem.nodeIndex - last;
-
- if ( first === 0 ) {
- return diff === 0;
-
- } else {
- return ( diff % first === 0 && diff / first >= 0 );
- }
- }
- },
-
- ID: function( elem, match ) {
- return elem.nodeType === 1 && elem.getAttribute("id") === match;
- },
-
- TAG: function( elem, match ) {
- return (match === "*" && elem.nodeType === 1) || !!elem.nodeName && elem.nodeName.toLowerCase() === match;
- },
-
- CLASS: function( elem, match ) {
- return (" " + (elem.className || elem.getAttribute("class")) + " ")
- .indexOf( match ) > -1;
- },
-
- ATTR: function( elem, match ) {
- var name = match[1],
- result = Sizzle.attr ?
- Sizzle.attr( elem, name ) :
- Expr.attrHandle[ name ] ?
- Expr.attrHandle[ name ]( elem ) :
- elem[ name ] != null ?
- elem[ name ] :
- elem.getAttribute( name ),
- value = result + "",
- type = match[2],
- check = match[4];
-
- return result == null ?
- type === "!=" :
- !type && Sizzle.attr ?
- result != null :
- type === "=" ?
- value === check :
- type === "*=" ?
- value.indexOf(check) >= 0 :
- type === "~=" ?
- (" " + value + " ").indexOf(check) >= 0 :
- !check ?
- value && result !== false :
- type === "!=" ?
- value !== check :
- type === "^=" ?
- value.indexOf(check) === 0 :
- type === "$=" ?
- value.substr(value.length - check.length) === check :
- type === "|=" ?
- value === check || value.substr(0, check.length + 1) === check + "-" :
- false;
- },
-
- POS: function( elem, match, i, array ) {
- var name = match[2],
- filter = Expr.setFilters[ name ];
-
- if ( filter ) {
- return filter( elem, i, match, array );
- }
- }
- }
-};
-
-var origPOS = Expr.match.POS,
- fescape = function(all, num){
- return "\\" + (num - 0 + 1);
- };
-
-for ( var type in Expr.match ) {
- Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) );
- Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) );
-}
-
-var makeArray = function( array, results ) {
- array = Array.prototype.slice.call( array, 0 );
-
- if ( results ) {
- results.push.apply( results, array );
- return results;
- }
-
- return array;
-};
-
-// Perform a simple check to determine if the browser is capable of
-// converting a NodeList to an array using builtin methods.
-// Also verifies that the returned array holds DOM nodes
-// (which is not the case in the Blackberry browser)
-try {
- Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
-
-// Provide a fallback method if it does not work
-} catch( e ) {
- makeArray = function( array, results ) {
- var i = 0,
- ret = results || [];
-
- if ( toString.call(array) === "[object Array]" ) {
- Array.prototype.push.apply( ret, array );
-
- } else {
- if ( typeof array.length === "number" ) {
- for ( var l = array.length; i < l; i++ ) {
- ret.push( array[i] );
- }
-
- } else {
- for ( ; array[i]; i++ ) {
- ret.push( array[i] );
- }
- }
- }
-
- return ret;
- };
-}
-
-var sortOrder, siblingCheck;
-
-if ( document.documentElement.compareDocumentPosition ) {
- sortOrder = function( a, b ) {
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
- }
-
- if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {
- return a.compareDocumentPosition ? -1 : 1;
- }
-
- return a.compareDocumentPosition(b) & 4 ? -1 : 1;
- };
-
-} else {
- sortOrder = function( a, b ) {
- // The nodes are identical, we can exit early
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
-
- // Fallback to using sourceIndex (in IE) if it's available on both nodes
- } else if ( a.sourceIndex && b.sourceIndex ) {
- return a.sourceIndex - b.sourceIndex;
- }
-
- var al, bl,
- ap = [],
- bp = [],
- aup = a.parentNode,
- bup = b.parentNode,
- cur = aup;
-
- // If the nodes are siblings (or identical) we can do a quick check
- if ( aup === bup ) {
- return siblingCheck( a, b );
-
- // If no parents were found then the nodes are disconnected
- } else if ( !aup ) {
- return -1;
-
- } else if ( !bup ) {
- return 1;
- }
-
- // Otherwise they're somewhere else in the tree so we need
- // to build up a full list of the parentNodes for comparison
- while ( cur ) {
- ap.unshift( cur );
- cur = cur.parentNode;
- }
-
- cur = bup;
-
- while ( cur ) {
- bp.unshift( cur );
- cur = cur.parentNode;
- }
-
- al = ap.length;
- bl = bp.length;
-
- // Start walking down the tree looking for a discrepancy
- for ( var i = 0; i < al && i < bl; i++ ) {
- if ( ap[i] !== bp[i] ) {
- return siblingCheck( ap[i], bp[i] );
- }
- }
-
- // We ended someplace up the tree so do a sibling check
- return i === al ?
- siblingCheck( a, bp[i], -1 ) :
- siblingCheck( ap[i], b, 1 );
- };
-
- siblingCheck = function( a, b, ret ) {
- if ( a === b ) {
- return ret;
- }
-
- var cur = a.nextSibling;
-
- while ( cur ) {
- if ( cur === b ) {
- return -1;
- }
-
- cur = cur.nextSibling;
- }
-
- return 1;
- };
-}
-
-// Check to see if the browser returns elements by name when
-// querying by getElementById (and provide a workaround)
-(function(){
- // We're going to inject a fake input element with a specified name
- var form = document.createElement("div"),
- id = "script" + (new Date()).getTime(),
- root = document.documentElement;
-
- form.innerHTML = "<a name='" + id + "'/>";
-
- // Inject it into the root element, check its status, and remove it quickly
- root.insertBefore( form, root.firstChild );
-
- // The workaround has to do additional checks after a getElementById
- // Which slows things down for other browsers (hence the branching)
- if ( document.getElementById( id ) ) {
- Expr.find.ID = function( match, context, isXML ) {
- if ( typeof context.getElementById !== "undefined" && !isXML ) {
- var m = context.getElementById(match[1]);
-
- return m ?
- m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ?
- [m] :
- undefined :
- [];
- }
- };
-
- Expr.filter.ID = function( elem, match ) {
- var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
-
- return elem.nodeType === 1 && node && node.nodeValue === match;
- };
- }
-
- root.removeChild( form );
-
- // release memory in IE
- root = form = null;
-})();
-
-(function(){
- // Check to see if the browser returns only elements
- // when doing getElementsByTagName("*")
-
- // Create a fake element
- var div = document.createElement("div");
- div.appendChild( document.createComment("") );
-
- // Make sure no comments are found
- if ( div.getElementsByTagName("*").length > 0 ) {
- Expr.find.TAG = function( match, context ) {
- var results = context.getElementsByTagName( match[1] );
-
- // Filter out possible comments
- if ( match[1] === "*" ) {
- var tmp = [];
-
- for ( var i = 0; results[i]; i++ ) {
- if ( results[i].nodeType === 1 ) {
- tmp.push( results[i] );
- }
- }
-
- results = tmp;
- }
-
- return results;
- };
- }
-
- // Check to see if an attribute returns normalized href attributes
- div.innerHTML = "<a href='#'></a>";
-
- if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
- div.firstChild.getAttribute("href") !== "#" ) {
-
- Expr.attrHandle.href = function( elem ) {
- return elem.getAttribute( "href", 2 );
- };
- }
-
- // release memory in IE
- div = null;
-})();
-
-if ( document.querySelectorAll ) {
- (function(){
- var oldSizzle = Sizzle,
- div = document.createElement("div"),
- id = "__sizzle__";
-
- div.innerHTML = "<p class='TEST'></p>";
-
- // Safari can't handle uppercase or unicode characters when
- // in quirks mode.
- if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
- return;
- }
-
- Sizzle = function( query, context, extra, seed ) {
- context = context || document;
-
- // Only use querySelectorAll on non-XML documents
- // (ID selectors don't work in non-HTML documents)
- if ( !seed && !Sizzle.isXML(context) ) {
- // See if we find a selector to speed up
- var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query );
-
- if ( match && (context.nodeType === 1 || context.nodeType === 9) ) {
- // Speed-up: Sizzle("TAG")
- if ( match[1] ) {
- return makeArray( context.getElementsByTagName( query ), extra );
-
- // Speed-up: Sizzle(".CLASS")
- } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) {
- return makeArray( context.getElementsByClassName( match[2] ), extra );
- }
- }
-
- if ( context.nodeType === 9 ) {
- // Speed-up: Sizzle("body")
- // The body element only exists once, optimize finding it
- if ( query === "body" && context.body ) {
- return makeArray( [ context.body ], extra );
-
- // Speed-up: Sizzle("#ID")
- } else if ( match && match[3] ) {
- var elem = context.getElementById( match[3] );
-
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- if ( elem && elem.parentNode ) {
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id === match[3] ) {
- return makeArray( [ elem ], extra );
- }
-
- } else {
- return makeArray( [], extra );
- }
- }
-
- try {
- return makeArray( context.querySelectorAll(query), extra );
- } catch(qsaError) {}
-
- // qSA works strangely on Element-rooted queries
- // We can work around this by specifying an extra ID on the root
- // and working up from there (Thanks to Andrew Dupont for the technique)
- // IE 8 doesn't work on object elements
- } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
- var oldContext = context,
- old = context.getAttribute( "id" ),
- nid = old || id,
- hasParent = context.parentNode,
- relativeHierarchySelector = /^\s*[+~]/.test( query );
-
- if ( !old ) {
- context.setAttribute( "id", nid );
- } else {
- nid = nid.replace( /'/g, "\\$&" );
- }
- if ( relativeHierarchySelector && hasParent ) {
- context = context.parentNode;
- }
-
- try {
- if ( !relativeHierarchySelector || hasParent ) {
- return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra );
- }
-
- } catch(pseudoError) {
- } finally {
- if ( !old ) {
- oldContext.removeAttribute( "id" );
- }
- }
- }
- }
-
- return oldSizzle(query, context, extra, seed);
- };
-
- for ( var prop in oldSizzle ) {
- Sizzle[ prop ] = oldSizzle[ prop ];
- }
-
- // release memory in IE
- div = null;
- })();
-}
-
-(function(){
- var html = document.documentElement,
- matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector;
-
- if ( matches ) {
- // Check to see if it's possible to do matchesSelector
- // on a disconnected node (IE 9 fails this)
- var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ),
- pseudoWorks = false;
-
- try {
- // This should fail with an exception
- // Gecko does not error, returns false instead
- matches.call( document.documentElement, "[test!='']:sizzle" );
-
- } catch( pseudoError ) {
- pseudoWorks = true;
- }
-
- Sizzle.matchesSelector = function( node, expr ) {
- // Make sure that attribute selectors are quoted
- expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
-
- if ( !Sizzle.isXML( node ) ) {
- try {
- if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
- var ret = matches.call( node, expr );
-
- // IE 9's matchesSelector returns false on disconnected nodes
- if ( ret || !disconnectedMatch ||
- // As well, disconnected nodes are said to be in a document
- // fragment in IE 9, so check for that
- node.document && node.document.nodeType !== 11 ) {
- return ret;
- }
- }
- } catch(e) {}
- }
-
- return Sizzle(expr, null, null, [node]).length > 0;
- };
- }
-})();
-
-(function(){
- var div = document.createElement("div");
-
- div.innerHTML = "<div class='test e'></div><div class='test'></div>";
-
- // Opera can't find a second classname (in 9.6)
- // Also, make sure that getElementsByClassName actually exists
- if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) {
- return;
- }
-
- // Safari caches class attributes, doesn't catch changes (in 3.2)
- div.lastChild.className = "e";
-
- if ( div.getElementsByClassName("e").length === 1 ) {
- return;
- }
-
- Expr.order.splice(1, 0, "CLASS");
- Expr.find.CLASS = function( match, context, isXML ) {
- if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
- return context.getElementsByClassName(match[1]);
- }
- };
-
- // release memory in IE
- div = null;
-})();
-
-function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
-
- if ( elem ) {
- var match = false;
-
- elem = elem[dir];
-
- while ( elem ) {
- if ( elem[ expando ] === doneName ) {
- match = checkSet[elem.sizset];
- break;
- }
-
- if ( elem.nodeType === 1 && !isXML ){
- elem[ expando ] = doneName;
- elem.sizset = i;
- }
-
- if ( elem.nodeName.toLowerCase() === cur ) {
- match = elem;
- break;
- }
-
- elem = elem[dir];
- }
-
- checkSet[i] = match;
- }
- }
-}
-
-function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
- for ( var i = 0, l = checkSet.length; i < l; i++ ) {
- var elem = checkSet[i];
-
- if ( elem ) {
- var match = false;
-
- elem = elem[dir];
-
- while ( elem ) {
- if ( elem[ expando ] === doneName ) {
- match = checkSet[elem.sizset];
- break;
- }
-
- if ( elem.nodeType === 1 ) {
- if ( !isXML ) {
- elem[ expando ] = doneName;
- elem.sizset = i;
- }
-
- if ( typeof cur !== "string" ) {
- if ( elem === cur ) {
- match = true;
- break;
- }
-
- } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
- match = elem;
- break;
- }
- }
-
- elem = elem[dir];
- }
-
- checkSet[i] = match;
- }
- }
-}
-
-if ( document.documentElement.contains ) {
- Sizzle.contains = function( a, b ) {
- return a !== b && (a.contains ? a.contains(b) : true);
- };
-
-} else if ( document.documentElement.compareDocumentPosition ) {
- Sizzle.contains = function( a, b ) {
- return !!(a.compareDocumentPosition(b) & 16);
- };
-
-} else {
- Sizzle.contains = function() {
- return false;
- };
-}
-
-Sizzle.isXML = function( elem ) {
- // documentElement is verified for cases where it doesn't yet exist
- // (such as loading iframes in IE - #4833)
- var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
-
- return documentElement ? documentElement.nodeName !== "HTML" : false;
-};
-
-var posProcess = function( selector, context, seed ) {
- var match,
- tmpSet = [],
- later = "",
- root = context.nodeType ? [context] : context;
-
- // Position selectors must be done after the filter
- // And so must :not(positional) so we move all PSEUDOs to the end
- while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
- later += match[0];
- selector = selector.replace( Expr.match.PSEUDO, "" );
- }
-
- selector = Expr.relative[selector] ? selector + "*" : selector;
-
- for ( var i = 0, l = root.length; i < l; i++ ) {
- Sizzle( selector, root[i], tmpSet, seed );
- }
-
- return Sizzle.filter( later, tmpSet );
-};
-
-// EXPOSE
-// Override sizzle attribute retrieval
-Sizzle.attr = jQuery.attr;
-Sizzle.selectors.attrMap = {};
-jQuery.find = Sizzle;
-jQuery.expr = Sizzle.selectors;
-jQuery.expr[":"] = jQuery.expr.filters;
-jQuery.unique = Sizzle.uniqueSort;
-jQuery.text = Sizzle.getText;
-jQuery.isXMLDoc = Sizzle.isXML;
-jQuery.contains = Sizzle.contains;
-
-
-})();
-
-
-var runtil = /Until$/,
- rparentsprev = /^(?:parents|prevUntil|prevAll)/,
- // Note: This RegExp should be improved, or likely pulled from Sizzle
- rmultiselector = /,/,
- isSimple = /^.[^:#\[\.,]*$/,
- slice = Array.prototype.slice,
- POS = jQuery.expr.match.POS,
- // methods guaranteed to produce a unique set when starting from a unique set
- guaranteedUnique = {
- children: true,
- contents: true,
- next: true,
- prev: true
- };
-
-jQuery.fn.extend({
- find: function( selector ) {
- var self = this,
- i, l;
-
- if ( typeof selector !== "string" ) {
- return jQuery( selector ).filter(function() {
- for ( i = 0, l = self.length; i < l; i++ ) {
- if ( jQuery.contains( self[ i ], this ) ) {
- return true;
- }
- }
- });
- }
-
- var ret = this.pushStack( "", "find", selector ),
- length, n, r;
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- length = ret.length;
- jQuery.find( selector, this[i], ret );
-
- if ( i > 0 ) {
- // Make sure that the results are unique
- for ( n = length; n < ret.length; n++ ) {
- for ( r = 0; r < length; r++ ) {
- if ( ret[r] === ret[n] ) {
- ret.splice(n--, 1);
- break;
- }
- }
- }
- }
- }
-
- return ret;
- },
-
- has: function( target ) {
- var targets = jQuery( target );
- return this.filter(function() {
- for ( var i = 0, l = targets.length; i < l; i++ ) {
- if ( jQuery.contains( this, targets[i] ) ) {
- return true;
- }
- }
- });
- },
-
- not: function( selector ) {
- return this.pushStack( winnow(this, selector, false), "not", selector);
- },
-
- filter: function( selector ) {
- return this.pushStack( winnow(this, selector, true), "filter", selector );
- },
-
- is: function( selector ) {
- return !!selector && (
- typeof selector === "string" ?
- // If this is a positional selector, check membership in the returned set
- // so $("p:first").is("p:last") won't return true for a doc with two "p".
- POS.test( selector ) ?
- jQuery( selector, this.context ).index( this[0] ) >= 0 :
- jQuery.filter( selector, this ).length > 0 :
- this.filter( selector ).length > 0 );
- },
-
- closest: function( selectors, context ) {
- var ret = [], i, l, cur = this[0];
-
- // Array (deprecated as of jQuery 1.7)
- if ( jQuery.isArray( selectors ) ) {
- var level = 1;
-
- while ( cur && cur.ownerDocument && cur !== context ) {
- for ( i = 0; i < selectors.length; i++ ) {
-
- if ( jQuery( cur ).is( selectors[ i ] ) ) {
- ret.push({ selector: selectors[ i ], elem: cur, level: level });
- }
- }
-
- cur = cur.parentNode;
- level++;
- }
-
- return ret;
- }
-
- // String
- var pos = POS.test( selectors ) || typeof selectors !== "string" ?
- jQuery( selectors, context || this.context ) :
- 0;
-
- for ( i = 0, l = this.length; i < l; i++ ) {
- cur = this[i];
-
- while ( cur ) {
- if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {
- ret.push( cur );
- break;
-
- } else {
- cur = cur.parentNode;
- if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) {
- break;
- }
- }
- }
- }
-
- ret = ret.length > 1 ? jQuery.unique( ret ) : ret;
-
- return this.pushStack( ret, "closest", selectors );
- },
-
- // Determine the position of an element within
- // the matched set of elements
- index: function( elem ) {
-
- // No argument, return index in parent
- if ( !elem ) {
- return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;
- }
-
- // index in selector
- if ( typeof elem === "string" ) {
- return jQuery.inArray( this[0], jQuery( elem ) );
- }
-
- // Locate the position of the desired element
- return jQuery.inArray(
- // If it receives a jQuery object, the first element is used
- elem.jquery ? elem[0] : elem, this );
- },
-
- add: function( selector, context ) {
- var set = typeof selector === "string" ?
- jQuery( selector, context ) :
- jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),
- all = jQuery.merge( this.get(), set );
-
- return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
- all :
- jQuery.unique( all ) );
- },
-
- andSelf: function() {
- return this.add( this.prevObject );
- }
-});
-
-// A painfully simple check to see if an element is disconnected
-// from a document (should be improved, where feasible).
-function isDisconnected( node ) {
- return !node || !node.parentNode || node.parentNode.nodeType === 11;
-}
-
-jQuery.each({
- parent: function( elem ) {
- var parent = elem.parentNode;
- return parent && parent.nodeType !== 11 ? parent : null;
- },
- parents: function( elem ) {
- return jQuery.dir( elem, "parentNode" );
- },
- parentsUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "parentNode", until );
- },
- next: function( elem ) {
- return jQuery.nth( elem, 2, "nextSibling" );
- },
- prev: function( elem ) {
- return jQuery.nth( elem, 2, "previousSibling" );
- },
- nextAll: function( elem ) {
- return jQuery.dir( elem, "nextSibling" );
- },
- prevAll: function( elem ) {
- return jQuery.dir( elem, "previousSibling" );
- },
- nextUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "nextSibling", until );
- },
- prevUntil: function( elem, i, until ) {
- return jQuery.dir( elem, "previousSibling", until );
- },
- siblings: function( elem ) {
- return jQuery.sibling( elem.parentNode.firstChild, elem );
- },
- children: function( elem ) {
- return jQuery.sibling( elem.firstChild );
- },
- contents: function( elem ) {
- return jQuery.nodeName( elem, "iframe" ) ?
- elem.contentDocument || elem.contentWindow.document :
- jQuery.makeArray( elem.childNodes );
- }
-}, function( name, fn ) {
- jQuery.fn[ name ] = function( until, selector ) {
- var ret = jQuery.map( this, fn, until );
-
- if ( !runtil.test( name ) ) {
- selector = until;
- }
-
- if ( selector && typeof selector === "string" ) {
- ret = jQuery.filter( selector, ret );
- }
-
- ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;
-
- if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) {
- ret = ret.reverse();
- }
-
- return this.pushStack( ret, name, slice.call( arguments ).join(",") );
- };
-});
-
-jQuery.extend({
- filter: function( expr, elems, not ) {
- if ( not ) {
- expr = ":not(" + expr + ")";
- }
-
- return elems.length === 1 ?
- jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
- jQuery.find.matches(expr, elems);
- },
-
- dir: function( elem, dir, until ) {
- var matched = [],
- cur = elem[ dir ];
-
- while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
- if ( cur.nodeType === 1 ) {
- matched.push( cur );
- }
- cur = cur[dir];
- }
- return matched;
- },
-
- nth: function( cur, result, dir, elem ) {
- result = result || 1;
- var num = 0;
-
- for ( ; cur; cur = cur[dir] ) {
- if ( cur.nodeType === 1 && ++num === result ) {
- break;
- }
- }
-
- return cur;
- },
-
- sibling: function( n, elem ) {
- var r = [];
-
- for ( ; n; n = n.nextSibling ) {
- if ( n.nodeType === 1 && n !== elem ) {
- r.push( n );
- }
- }
-
- return r;
- }
-});
-
-// Implement the identical functionality for filter and not
-function winnow( elements, qualifier, keep ) {
-
- // Can't pass null or undefined to indexOf in Firefox 4
- // Set to 0 to skip string check
- qualifier = qualifier || 0;
-
- if ( jQuery.isFunction( qualifier ) ) {
- return jQuery.grep(elements, function( elem, i ) {
- var retVal = !!qualifier.call( elem, i, elem );
- return retVal === keep;
- });
-
- } else if ( qualifier.nodeType ) {
- return jQuery.grep(elements, function( elem, i ) {
- return ( elem === qualifier ) === keep;
- });
-
- } else if ( typeof qualifier === "string" ) {
- var filtered = jQuery.grep(elements, function( elem ) {
- return elem.nodeType === 1;
- });
-
- if ( isSimple.test( qualifier ) ) {
- return jQuery.filter(qualifier, filtered, !keep);
- } else {
- qualifier = jQuery.filter( qualifier, filtered );
- }
- }
-
- return jQuery.grep(elements, function( elem, i ) {
- return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep;
- });
-}
-
-
-
-
-function createSafeFragment( document ) {
- var list = nodeNames.split( "|" ),
- safeFrag = document.createDocumentFragment();
-
- if ( safeFrag.createElement ) {
- while ( list.length ) {
- safeFrag.createElement(
- list.pop()
- );
- }
- }
- return safeFrag;
-}
-
-var nodeNames = "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|" +
- "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
- rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
- rleadingWhitespace = /^\s+/,
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
- rtagName = /<([\w:]+)/,
- rtbody = /<tbody/i,
- rhtml = /<|&#?\w+;/,
- rnoInnerhtml = /<(?:script|style)/i,
- rnocache = /<(?:script|object|embed|option|style)/i,
- rnoshimcache = new RegExp("<(?:" + nodeNames + ")", "i"),
- // checked="checked" or checked
- rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
- rscriptType = /\/(java|ecma)script/i,
- rcleanScript = /^\s*<!(?:\[CDATA\[|\-\-)/,
- wrapMap = {
- option: [ 1, "<select multiple='multiple'>", "</select>" ],
- legend: [ 1, "<fieldset>", "</fieldset>" ],
- thead: [ 1, "<table>", "</table>" ],
- tr: [ 2, "<table><tbody>", "</tbody></table>" ],
- td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
- col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
- area: [ 1, "<map>", "</map>" ],
- _default: [ 0, "", "" ]
- },
- safeFragment = createSafeFragment( document );
-
-wrapMap.optgroup = wrapMap.option;
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-// IE can't serialize <link> and <script> tags normally
-if ( !jQuery.support.htmlSerialize ) {
- wrapMap._default = [ 1, "div<div>", "</div>" ];
-}
-
-jQuery.fn.extend({
- text: function( text ) {
- if ( jQuery.isFunction(text) ) {
- return this.each(function(i) {
- var self = jQuery( this );
-
- self.text( text.call(this, i, self.text()) );
- });
- }
-
- if ( typeof text !== "object" && text !== undefined ) {
- return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
- }
-
- return jQuery.text( this );
- },
-
- wrapAll: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each(function(i) {
- jQuery(this).wrapAll( html.call(this, i) );
- });
- }
-
- if ( this[0] ) {
- // The elements to wrap the target around
- var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
-
- if ( this[0].parentNode ) {
- wrap.insertBefore( this[0] );
- }
-
- wrap.map(function() {
- var elem = this;
-
- while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
- elem = elem.firstChild;
- }
-
- return elem;
- }).append( this );
- }
-
- return this;
- },
-
- wrapInner: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each(function(i) {
- jQuery(this).wrapInner( html.call(this, i) );
- });
- }
-
- return this.each(function() {
- var self = jQuery( this ),
- contents = self.contents();
-
- if ( contents.length ) {
- contents.wrapAll( html );
-
- } else {
- self.append( html );
- }
- });
- },
-
- wrap: function( html ) {
- var isFunction = jQuery.isFunction( html );
-
- return this.each(function(i) {
- jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
- });
- },
-
- unwrap: function() {
- return this.parent().each(function() {
- if ( !jQuery.nodeName( this, "body" ) ) {
- jQuery( this ).replaceWith( this.childNodes );
- }
- }).end();
- },
-
- append: function() {
- return this.domManip(arguments, true, function( elem ) {
- if ( this.nodeType === 1 ) {
- this.appendChild( elem );
- }
- });
- },
-
- prepend: function() {
- return this.domManip(arguments, true, function( elem ) {
- if ( this.nodeType === 1 ) {
- this.insertBefore( elem, this.firstChild );
- }
- });
- },
-
- before: function() {
- if ( this[0] && this[0].parentNode ) {
- return this.domManip(arguments, false, function( elem ) {
- this.parentNode.insertBefore( elem, this );
- });
- } else if ( arguments.length ) {
- var set = jQuery.clean( arguments );
- set.push.apply( set, this.toArray() );
- return this.pushStack( set, "before", arguments );
- }
- },
-
- after: function() {
- if ( this[0] && this[0].parentNode ) {
- return this.domManip(arguments, false, function( elem ) {
- this.parentNode.insertBefore( elem, this.nextSibling );
- });
- } else if ( arguments.length ) {
- var set = this.pushStack( this, "after", arguments );
- set.push.apply( set, jQuery.clean(arguments) );
- return set;
- }
- },
-
- // keepData is for internal use only--do not document
- remove: function( selector, keepData ) {
- for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
- if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
- if ( !keepData && elem.nodeType === 1 ) {
- jQuery.cleanData( elem.getElementsByTagName("*") );
- jQuery.cleanData( [ elem ] );
- }
-
- if ( elem.parentNode ) {
- elem.parentNode.removeChild( elem );
- }
- }
- }
-
- return this;
- },
-
- empty: function() {
- for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
- // Remove element nodes and prevent memory leaks
- if ( elem.nodeType === 1 ) {
- jQuery.cleanData( elem.getElementsByTagName("*") );
- }
-
- // Remove any remaining nodes
- while ( elem.firstChild ) {
- elem.removeChild( elem.firstChild );
- }
- }
-
- return this;
- },
-
- clone: function( dataAndEvents, deepDataAndEvents ) {
- dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
- deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
-
- return this.map( function () {
- return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
- });
- },
-
- html: function( value ) {
- if ( value === undefined ) {
- return this[0] && this[0].nodeType === 1 ?
- this[0].innerHTML.replace(rinlinejQuery, "") :
- null;
-
- // See if we can take a shortcut and just use innerHTML
- } else if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
- (jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
- !wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
-
- value = value.replace(rxhtmlTag, "<$1></$2>");
-
- try {
- for ( var i = 0, l = this.length; i < l; i++ ) {
- // Remove element nodes and prevent memory leaks
- if ( this[i].nodeType === 1 ) {
- jQuery.cleanData( this[i].getElementsByTagName("*") );
- this[i].innerHTML = value;
- }
- }
-
- // If using innerHTML throws an exception, use the fallback method
- } catch(e) {
- this.empty().append( value );
- }
-
- } else if ( jQuery.isFunction( value ) ) {
- this.each(function(i){
- var self = jQuery( this );
-
- self.html( value.call(this, i, self.html()) );
- });
-
- } else {
- this.empty().append( value );
- }
-
- return this;
- },
-
- replaceWith: function( value ) {
- if ( this[0] && this[0].parentNode ) {
- // Make sure that the elements are removed from the DOM before they are inserted
- // this can help fix replacing a parent with child elements
- if ( jQuery.isFunction( value ) ) {
- return this.each(function(i) {
- var self = jQuery(this), old = self.html();
- self.replaceWith( value.call( this, i, old ) );
- });
- }
-
- if ( typeof value !== "string" ) {
- value = jQuery( value ).detach();
- }
-
- return this.each(function() {
- var next = this.nextSibling,
- parent = this.parentNode;
-
- jQuery( this ).remove();
-
- if ( next ) {
- jQuery(next).before( value );
- } else {
- jQuery(parent).append( value );
- }
- });
- } else {
- return this.length ?
- this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) :
- this;
- }
- },
-
- detach: function( selector ) {
- return this.remove( selector, true );
- },
-
- domManip: function( args, table, callback ) {
- var results, first, fragment, parent,
- value = args[0],
- scripts = [];
-
- // We can't cloneNode fragments that contain checked, in WebKit
- if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
- return this.each(function() {
- jQuery(this).domManip( args, table, callback, true );
- });
- }
-
- if ( jQuery.isFunction(value) ) {
- return this.each(function(i) {
- var self = jQuery(this);
- args[0] = value.call(this, i, table ? self.html() : undefined);
- self.domManip( args, table, callback );
- });
- }
-
- if ( this[0] ) {
- parent = value && value.parentNode;
-
- // If we're in a fragment, just use that instead of building a new one
- if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) {
- results = { fragment: parent };
-
- } else {
- results = jQuery.buildFragment( args, this, scripts );
- }
-
- fragment = results.fragment;
-
- if ( fragment.childNodes.length === 1 ) {
- first = fragment = fragment.firstChild;
- } else {
- first = fragment.firstChild;
- }
-
- if ( first ) {
- table = table && jQuery.nodeName( first, "tr" );
-
- for ( var i = 0, l = this.length, lastIndex = l - 1; i < l; i++ ) {
- callback.call(
- table ?
- root(this[i], first) :
- this[i],
- // Make sure that we do not leak memory by inadvertently discarding
- // the original fragment (which might have attached data) instead of
- // using it; in addition, use the original fragment object for the last
- // item instead of first because it can end up being emptied incorrectly
- // in certain situations (Bug #8070).
- // Fragments from the fragment cache must always be cloned and never used
- // in place.
- results.cacheable || ( l > 1 && i < lastIndex ) ?
- jQuery.clone( fragment, true, true ) :
- fragment
- );
- }
- }
-
- if ( scripts.length ) {
- jQuery.each( scripts, evalScript );
- }
- }
-
- return this;
- }
-});
-
-function root( elem, cur ) {
- return jQuery.nodeName(elem, "table") ?
- (elem.getElementsByTagName("tbody")[0] ||
- elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
- elem;
-}
-
-function cloneCopyEvent( src, dest ) {
-
- if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
- return;
- }
-
- var type, i, l,
- oldData = jQuery._data( src ),
- curData = jQuery._data( dest, oldData ),
- events = oldData.events;
-
- if ( events ) {
- delete curData.handle;
- curData.events = {};
-
- for ( type in events ) {
- for ( i = 0, l = events[ type ].length; i < l; i++ ) {
- jQuery.event.add( dest, type + ( events[ type ][ i ].namespace ? "." : "" ) + events[ type ][ i ].namespace, events[ type ][ i ], events[ type ][ i ].data );
- }
- }
- }
-
- // make the cloned public data object a copy from the original
- if ( curData.data ) {
- curData.data = jQuery.extend( {}, curData.data );
- }
-}
-
-function cloneFixAttributes( src, dest ) {
- var nodeName;
-
- // We do not need to do anything for non-Elements
- if ( dest.nodeType !== 1 ) {
- return;
- }
-
- // clearAttributes removes the attributes, which we don't want,
- // but also removes the attachEvent events, which we *do* want
- if ( dest.clearAttributes ) {
- dest.clearAttributes();
- }
-
- // mergeAttributes, in contrast, only merges back on the
- // original attributes, not the events
- if ( dest.mergeAttributes ) {
- dest.mergeAttributes( src );
- }
-
- nodeName = dest.nodeName.toLowerCase();
-
- // IE6-8 fail to clone children inside object elements that use
- // the proprietary classid attribute value (rather than the type
- // attribute) to identify the type of content to display
- if ( nodeName === "object" ) {
- dest.outerHTML = src.outerHTML;
-
- } else if ( nodeName === "input" && (src.type === "checkbox" || src.type === "radio") ) {
- // IE6-8 fails to persist the checked state of a cloned checkbox
- // or radio button. Worse, IE6-7 fail to give the cloned element
- // a checked appearance if the defaultChecked value isn't also set
- if ( src.checked ) {
- dest.defaultChecked = dest.checked = src.checked;
- }
-
- // IE6-7 get confused and end up setting the value of a cloned
- // checkbox/radio button to an empty string instead of "on"
- if ( dest.value !== src.value ) {
- dest.value = src.value;
- }
-
- // IE6-8 fails to return the selected option to the default selected
- // state when cloning options
- } else if ( nodeName === "option" ) {
- dest.selected = src.defaultSelected;
-
- // IE6-8 fails to set the defaultValue to the correct value when
- // cloning other types of input fields
- } else if ( nodeName === "input" || nodeName === "textarea" ) {
- dest.defaultValue = src.defaultValue;
- }
-
- // Event data gets referenced instead of copied if the expando
- // gets copied too
- dest.removeAttribute( jQuery.expando );
-}
-
-jQuery.buildFragment = function( args, nodes, scripts ) {
- var fragment, cacheable, cacheresults, doc,
- first = args[ 0 ];
-
- // nodes may contain either an explicit document object,
- // a jQuery collection or context object.
- // If nodes[0] contains a valid object to assign to doc
- if ( nodes && nodes[0] ) {
- doc = nodes[0].ownerDocument || nodes[0];
- }
-
- // Ensure that an attr object doesn't incorrectly stand in as a document object
- // Chrome and Firefox seem to allow this to occur and will throw exception
- // Fixes #8950
- if ( !doc.createDocumentFragment ) {
- doc = document;
- }
-
- // Only cache "small" (1/2 KB) HTML strings that are associated with the main document
- // Cloning options loses the selected state, so don't cache them
- // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
- // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
- // Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501
- if ( args.length === 1 && typeof first === "string" && first.length < 512 && doc === document &&
- first.charAt(0) === "<" && !rnocache.test( first ) &&
- (jQuery.support.checkClone || !rchecked.test( first )) &&
- (jQuery.support.html5Clone || !rnoshimcache.test( first )) ) {
-
- cacheable = true;
-
- cacheresults = jQuery.fragments[ first ];
- if ( cacheresults && cacheresults !== 1 ) {
- fragment = cacheresults;
- }
- }
-
- if ( !fragment ) {
- fragment = doc.createDocumentFragment();
- jQuery.clean( args, doc, fragment, scripts );
- }
-
- if ( cacheable ) {
- jQuery.fragments[ first ] = cacheresults ? fragment : 1;
- }
-
- return { fragment: fragment, cacheable: cacheable };
-};
-
-jQuery.fragments = {};
-
-jQuery.each({
- appendTo: "append",
- prependTo: "prepend",
- insertBefore: "before",
- insertAfter: "after",
- replaceAll: "replaceWith"
-}, function( name, original ) {
- jQuery.fn[ name ] = function( selector ) {
- var ret = [],
- insert = jQuery( selector ),
- parent = this.length === 1 && this[0].parentNode;
-
- if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
- insert[ original ]( this[0] );
- return this;
-
- } else {
- for ( var i = 0, l = insert.length; i < l; i++ ) {
- var elems = ( i > 0 ? this.clone(true) : this ).get();
- jQuery( insert[i] )[ original ]( elems );
- ret = ret.concat( elems );
- }
-
- return this.pushStack( ret, name, insert.selector );
- }
- };
-});
-
-function getAll( elem ) {
- if ( typeof elem.getElementsByTagName !== "undefined" ) {
- return elem.getElementsByTagName( "*" );
-
- } else if ( typeof elem.querySelectorAll !== "undefined" ) {
- return elem.querySelectorAll( "*" );
-
- } else {
- return [];
- }
-}
-
-// Used in clean, fixes the defaultChecked property
-function fixDefaultChecked( elem ) {
- if ( elem.type === "checkbox" || elem.type === "radio" ) {
- elem.defaultChecked = elem.checked;
- }
-}
-// Finds all inputs and passes them to fixDefaultChecked
-function findInputs( elem ) {
- var nodeName = ( elem.nodeName || "" ).toLowerCase();
- if ( nodeName === "input" ) {
- fixDefaultChecked( elem );
- // Skip scripts, get other children
- } else if ( nodeName !== "script" && typeof elem.getElementsByTagName !== "undefined" ) {
- jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked );
- }
-}
-
-// Derived From: http://www.iecss.com/shimprove/javascript/shimprove.1-0-1.js
-function shimCloneNode( elem ) {
- var div = document.createElement( "div" );
- safeFragment.appendChild( div );
-
- div.innerHTML = elem.outerHTML;
- return div.firstChild;
-}
-
-jQuery.extend({
- clone: function( elem, dataAndEvents, deepDataAndEvents ) {
- var srcElements,
- destElements,
- i,
- // IE<=8 does not properly clone detached, unknown element nodes
- clone = jQuery.support.html5Clone || !rnoshimcache.test( "<" + elem.nodeName ) ?
- elem.cloneNode( true ) :
- shimCloneNode( elem );
-
- if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
- (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
- // IE copies events bound via attachEvent when using cloneNode.
- // Calling detachEvent on the clone will also remove the events
- // from the original. In order to get around this, we use some
- // proprietary methods to clear the events. Thanks to MooTools
- // guys for this hotness.
-
- cloneFixAttributes( elem, clone );
-
- // Using Sizzle here is crazy slow, so we use getElementsByTagName instead
- srcElements = getAll( elem );
- destElements = getAll( clone );
-
- // Weird iteration because IE will replace the length property
- // with an element if you are cloning the body and one of the
- // elements on the page has a name or id of "length"
- for ( i = 0; srcElements[i]; ++i ) {
- // Ensure that the destination node is not null; Fixes #9587
- if ( destElements[i] ) {
- cloneFixAttributes( srcElements[i], destElements[i] );
- }
- }
- }
-
- // Copy the events from the original to the clone
- if ( dataAndEvents ) {
- cloneCopyEvent( elem, clone );
-
- if ( deepDataAndEvents ) {
- srcElements = getAll( elem );
- destElements = getAll( clone );
-
- for ( i = 0; srcElements[i]; ++i ) {
- cloneCopyEvent( srcElements[i], destElements[i] );
- }
- }
- }
-
- srcElements = destElements = null;
-
- // Return the cloned set
- return clone;
- },
-
- clean: function( elems, context, fragment, scripts ) {
- var checkScriptType;
-
- context = context || document;
-
- // !context.createElement fails in IE with an error but returns typeof 'object'
- if ( typeof context.createElement === "undefined" ) {
- context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
- }
-
- var ret = [], j;
-
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
- if ( typeof elem === "number" ) {
- elem += "";
- }
-
- if ( !elem ) {
- continue;
- }
-
- // Convert html string into DOM nodes
- if ( typeof elem === "string" ) {
- if ( !rhtml.test( elem ) ) {
- elem = context.createTextNode( elem );
- } else {
- // Fix "XHTML"-style tags in all browsers
- elem = elem.replace(rxhtmlTag, "<$1></$2>");
-
- // Trim whitespace, otherwise indexOf won't work as expected
- var tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(),
- wrap = wrapMap[ tag ] || wrapMap._default,
- depth = wrap[0],
- div = context.createElement("div");
-
- // Append wrapper element to unknown element safe doc fragment
- if ( context === document ) {
- // Use the fragment we've already created for this document
- safeFragment.appendChild( div );
- } else {
- // Use a fragment created with the owner document
- createSafeFragment( context ).appendChild( div );
- }
-
- // Go to html and back, then peel off extra wrappers
- div.innerHTML = wrap[1] + elem + wrap[2];
-
- // Move to the right depth
- while ( depth-- ) {
- div = div.lastChild;
- }
-
- // Remove IE's autoinserted <tbody> from table fragments
- if ( !jQuery.support.tbody ) {
-
- // String was a <table>, *may* have spurious <tbody>
- var hasBody = rtbody.test(elem),
- tbody = tag === "table" && !hasBody ?
- div.firstChild && div.firstChild.childNodes :
-
- // String was a bare <thead> or <tfoot>
- wrap[1] === "<table>" && !hasBody ?
- div.childNodes :
- [];
-
- for ( j = tbody.length - 1; j >= 0 ; --j ) {
- if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) {
- tbody[ j ].parentNode.removeChild( tbody[ j ] );
- }
- }
- }
-
- // IE completely kills leading whitespace when innerHTML is used
- if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
- div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
- }
-
- elem = div.childNodes;
- }
- }
-
- // Resets defaultChecked for any radios and checkboxes
- // about to be appended to the DOM in IE 6/7 (#8060)
- var len;
- if ( !jQuery.support.appendChecked ) {
- if ( elem[0] && typeof (len = elem.length) === "number" ) {
- for ( j = 0; j < len; j++ ) {
- findInputs( elem[j] );
- }
- } else {
- findInputs( elem );
- }
- }
-
- if ( elem.nodeType ) {
- ret.push( elem );
- } else {
- ret = jQuery.merge( ret, elem );
- }
- }
-
- if ( fragment ) {
- checkScriptType = function( elem ) {
- return !elem.type || rscriptType.test( elem.type );
- };
- for ( i = 0; ret[i]; i++ ) {
- if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
- scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
-
- } else {
- if ( ret[i].nodeType === 1 ) {
- var jsTags = jQuery.grep( ret[i].getElementsByTagName( "script" ), checkScriptType );
-
- ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
- }
- fragment.appendChild( ret[i] );
- }
- }
- }
-
- return ret;
- },
-
- cleanData: function( elems ) {
- var data, id,
- cache = jQuery.cache,
- special = jQuery.event.special,
- deleteExpando = jQuery.support.deleteExpando;
-
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
- if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
- continue;
- }
-
- id = elem[ jQuery.expando ];
-
- if ( id ) {
- data = cache[ id ];
-
- if ( data && data.events ) {
- for ( var type in data.events ) {
- if ( special[ type ] ) {
- jQuery.event.remove( elem, type );
-
- // This is a shortcut to avoid jQuery.event.remove's overhead
- } else {
- jQuery.removeEvent( elem, type, data.handle );
- }
- }
-
- // Null the DOM reference to avoid IE6/7/8 leak (#7054)
- if ( data.handle ) {
- data.handle.elem = null;
- }
- }
-
- if ( deleteExpando ) {
- delete elem[ jQuery.expando ];
-
- } else if ( elem.removeAttribute ) {
- elem.removeAttribute( jQuery.expando );
- }
-
- delete cache[ id ];
- }
- }
- }
-});
-
-function evalScript( i, elem ) {
- if ( elem.src ) {
- jQuery.ajax({
- url: elem.src,
- async: false,
- dataType: "script"
- });
- } else {
- jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "/*$0*/" ) );
- }
-
- if ( elem.parentNode ) {
- elem.parentNode.removeChild( elem );
- }
-}
-
-
-
-
-var ralpha = /alpha\([^)]*\)/i,
- ropacity = /opacity=([^)]*)/,
- // fixed for IE9, see #8346
- rupper = /([A-Z]|^ms)/g,
- rnumpx = /^-?\d+(?:px)?$/i,
- rnum = /^-?\d/,
- rrelNum = /^([\-+])=([\-+.\de]+)/,
-
- cssShow = { position: "absolute", visibility: "hidden", display: "block" },
- cssWidth = [ "Left", "Right" ],
- cssHeight = [ "Top", "Bottom" ],
- curCSS,
-
- getComputedStyle,
- currentStyle;
-
-jQuery.fn.css = function( name, value ) {
- // Setting 'undefined' is a no-op
- if ( arguments.length === 2 && value === undefined ) {
- return this;
- }
-
- return jQuery.access( this, name, value, true, function( elem, name, value ) {
- return value !== undefined ?
- jQuery.style( elem, name, value ) :
- jQuery.css( elem, name );
- });
-};
-
-jQuery.extend({
- // Add in style property hooks for overriding the default
- // behavior of getting and setting a style property
- cssHooks: {
- opacity: {
- get: function( elem, computed ) {
- if ( computed ) {
- // We should always get a number back from opacity
- var ret = curCSS( elem, "opacity", "opacity" );
- return ret === "" ? "1" : ret;
-
- } else {
- return elem.style.opacity;
- }
- }
- }
- },
-
- // Exclude the following css properties to add px
- cssNumber: {
- "fillOpacity": true,
- "fontWeight": true,
- "lineHeight": true,
- "opacity": true,
- "orphans": true,
- "widows": true,
- "zIndex": true,
- "zoom": true
- },
-
- // Add in properties whose names you wish to fix before
- // setting or getting the value
- cssProps: {
- // normalize float css property
- "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat"
- },
-
- // Get and set the style property on a DOM Node
- style: function( elem, name, value, extra ) {
- // Don't set styles on text and comment nodes
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
- return;
- }
-
- // Make sure that we're working with the right name
- var ret, type, origName = jQuery.camelCase( name ),
- style = elem.style, hooks = jQuery.cssHooks[ origName ];
-
- name = jQuery.cssProps[ origName ] || origName;
-
- // Check if we're setting a value
- if ( value !== undefined ) {
- type = typeof value;
-
- // convert relative number strings (+= or -=) to relative numbers. #7345
- if ( type === "string" && (ret = rrelNum.exec( value )) ) {
- value = ( +( ret[1] + 1) * +ret[2] ) + parseFloat( jQuery.css( elem, name ) );
- // Fixes bug #9237
- type = "number";
- }
-
- // Make sure that NaN and null values aren't set. See: #7116
- if ( value == null || type === "number" && isNaN( value ) ) {
- return;
- }
-
- // If a number was passed in, add 'px' to the (except for certain CSS properties)
- if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
- value += "px";
- }
-
- // If a hook was provided, use that value, otherwise just set the specified value
- if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value )) !== undefined ) {
- // Wrapped to prevent IE from throwing errors when 'invalid' values are provided
- // Fixes bug #5509
- try {
- style[ name ] = value;
- } catch(e) {}
- }
-
- } else {
- // If a hook was provided get the non-computed value from there
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
- return ret;
- }
-
- // Otherwise just get the value from the style object
- return style[ name ];
- }
- },
-
- css: function( elem, name, extra ) {
- var ret, hooks;
-
- // Make sure that we're working with the right name
- name = jQuery.camelCase( name );
- hooks = jQuery.cssHooks[ name ];
- name = jQuery.cssProps[ name ] || name;
-
- // cssFloat needs a special treatment
- if ( name === "cssFloat" ) {
- name = "float";
- }
-
- // If a hook was provided get the computed value from there
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, true, extra )) !== undefined ) {
- return ret;
-
- // Otherwise, if a way to get the computed value exists, use that
- } else if ( curCSS ) {
- return curCSS( elem, name );
- }
- },
-
- // A method for quickly swapping in/out CSS properties to get correct calculations
- swap: function( elem, options, callback ) {
- var old = {};
-
- // Remember the old values, and insert the new ones
- for ( var name in options ) {
- old[ name ] = elem.style[ name ];
- elem.style[ name ] = options[ name ];
- }
-
- callback.call( elem );
-
- // Revert the old values
- for ( name in options ) {
- elem.style[ name ] = old[ name ];
- }
- }
-});
-
-// DEPRECATED, Use jQuery.css() instead
-jQuery.curCSS = jQuery.css;
-
-jQuery.each(["height", "width"], function( i, name ) {
- jQuery.cssHooks[ name ] = {
- get: function( elem, computed, extra ) {
- var val;
-
- if ( computed ) {
- if ( elem.offsetWidth !== 0 ) {
- return getWH( elem, name, extra );
- } else {
- jQuery.swap( elem, cssShow, function() {
- val = getWH( elem, name, extra );
- });
- }
-
- return val;
- }
- },
-
- set: function( elem, value ) {
- if ( rnumpx.test( value ) ) {
- // ignore negative width and height values #1599
- value = parseFloat( value );
-
- if ( value >= 0 ) {
- return value + "px";
- }
-
- } else {
- return value;
- }
- }
- };
-});
-
-if ( !jQuery.support.opacity ) {
- jQuery.cssHooks.opacity = {
- get: function( elem, computed ) {
- // IE uses filters for opacity
- return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ?
- ( parseFloat( RegExp.$1 ) / 100 ) + "" :
- computed ? "1" : "";
- },
-
- set: function( elem, value ) {
- var style = elem.style,
- currentStyle = elem.currentStyle,
- opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",
- filter = currentStyle && currentStyle.filter || style.filter || "";
-
- // IE has trouble with opacity if it does not have layout
- // Force it by setting the zoom level
- style.zoom = 1;
-
- // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652
- if ( value >= 1 && jQuery.trim( filter.replace( ralpha, "" ) ) === "" ) {
-
- // Setting style.filter to null, "" & " " still leave "filter:" in the cssText
- // if "filter:" is present at all, clearType is disabled, we want to avoid this
- // style.removeAttribute is IE Only, but so apparently is this code path...
- style.removeAttribute( "filter" );
-
- // if there there is no filter style applied in a css rule, we are done
- if ( currentStyle && !currentStyle.filter ) {
- return;
- }
- }
-
- // otherwise, set new filter values
- style.filter = ralpha.test( filter ) ?
- filter.replace( ralpha, opacity ) :
- filter + " " + opacity;
- }
- };
-}
-
-jQuery(function() {
- // This hook cannot be added until DOM ready because the support test
- // for it is not run until after DOM ready
- if ( !jQuery.support.reliableMarginRight ) {
- jQuery.cssHooks.marginRight = {
- get: function( elem, computed ) {
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
- // Work around by temporarily setting element display to inline-block
- var ret;
- jQuery.swap( elem, { "display": "inline-block" }, function() {
- if ( computed ) {
- ret = curCSS( elem, "margin-right", "marginRight" );
- } else {
- ret = elem.style.marginRight;
- }
- });
- return ret;
- }
- };
- }
-});
-
-if ( document.defaultView && document.defaultView.getComputedStyle ) {
- getComputedStyle = function( elem, name ) {
- var ret, defaultView, computedStyle;
-
- name = name.replace( rupper, "-$1" ).toLowerCase();
-
- if ( (defaultView = elem.ownerDocument.defaultView) &&
- (computedStyle = defaultView.getComputedStyle( elem, null )) ) {
- ret = computedStyle.getPropertyValue( name );
- if ( ret === "" && !jQuery.contains( elem.ownerDocument.documentElement, elem ) ) {
- ret = jQuery.style( elem, name );
- }
- }
-
- return ret;
- };
-}
-
-if ( document.documentElement.currentStyle ) {
- currentStyle = function( elem, name ) {
- var left, rsLeft, uncomputed,
- ret = elem.currentStyle && elem.currentStyle[ name ],
- style = elem.style;
-
- // Avoid setting ret to empty string here
- // so we don't default to auto
- if ( ret === null && style && (uncomputed = style[ name ]) ) {
- ret = uncomputed;
- }
-
- // From the awesome hack by Dean Edwards
- // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
-
- // If we're not dealing with a regular pixel number
- // but a number that has a weird ending, we need to convert it to pixels
- if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {
-
- // Remember the original values
- left = style.left;
- rsLeft = elem.runtimeStyle && elem.runtimeStyle.left;
-
- // Put in the new values to get a computed value out
- if ( rsLeft ) {
- elem.runtimeStyle.left = elem.currentStyle.left;
- }
- style.left = name === "fontSize" ? "1em" : ( ret || 0 );
- ret = style.pixelLeft + "px";
-
- // Revert the changed values
- style.left = left;
- if ( rsLeft ) {
- elem.runtimeStyle.left = rsLeft;
- }
- }
-
- return ret === "" ? "auto" : ret;
- };
-}
-
-curCSS = getComputedStyle || currentStyle;
-
-function getWH( elem, name, extra ) {
-
- // Start with offset property
- var val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
- which = name === "width" ? cssWidth : cssHeight,
- i = 0,
- len = which.length;
-
- if ( val > 0 ) {
- if ( extra !== "border" ) {
- for ( ; i < len; i++ ) {
- if ( !extra ) {
- val -= parseFloat( jQuery.css( elem, "padding" + which[ i ] ) ) || 0;
- }
- if ( extra === "margin" ) {
- val += parseFloat( jQuery.css( elem, extra + which[ i ] ) ) || 0;
- } else {
- val -= parseFloat( jQuery.css( elem, "border" + which[ i ] + "Width" ) ) || 0;
- }
- }
- }
-
- return val + "px";
- }
-
- // Fall back to computed then uncomputed css if necessary
- val = curCSS( elem, name, name );
- if ( val < 0 || val == null ) {
- val = elem.style[ name ] || 0;
- }
- // Normalize "", auto, and prepare for extra
- val = parseFloat( val ) || 0;
-
- // Add padding, border, margin
- if ( extra ) {
- for ( ; i < len; i++ ) {
- val += parseFloat( jQuery.css( elem, "padding" + which[ i ] ) ) || 0;
- if ( extra !== "padding" ) {
- val += parseFloat( jQuery.css( elem, "border" + which[ i ] + "Width" ) ) || 0;
- }
- if ( extra === "margin" ) {
- val += parseFloat( jQuery.css( elem, extra + which[ i ] ) ) || 0;
- }
- }
- }
-
- return val + "px";
-}
-
-if ( jQuery.expr && jQuery.expr.filters ) {
- jQuery.expr.filters.hidden = function( elem ) {
- var width = elem.offsetWidth,
- height = elem.offsetHeight;
-
- return ( width === 0 && height === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none");
- };
-
- jQuery.expr.filters.visible = function( elem ) {
- return !jQuery.expr.filters.hidden( elem );
- };
-}
-
-
-
-
-var r20 = /%20/g,
- rbracket = /\[\]$/,
- rCRLF = /\r?\n/g,
- rhash = /#.*$/,
- rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
- rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
- // #7653, #8125, #8152: local protocol detection
- rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,
- rnoContent = /^(?:GET|HEAD)$/,
- rprotocol = /^\/\//,
- rquery = /\?/,
- rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
- rselectTextarea = /^(?:select|textarea)/i,
- rspacesAjax = /\s+/,
- rts = /([?&])_=[^&]*/,
- rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,
-
- // Keep a copy of the old load method
- _load = jQuery.fn.load,
-
- /* Prefilters
- * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
- * 2) These are called:
- * - BEFORE asking for a transport
- * - AFTER param serialization (s.data is a string if s.processData is true)
- * 3) key is the dataType
- * 4) the catchall symbol "*" can be used
- * 5) execution will start with transport dataType and THEN continue down to "*" if needed
- */
- prefilters = {},
-
- /* Transports bindings
- * 1) key is the dataType
- * 2) the catchall symbol "*" can be used
- * 3) selection will start with transport dataType and THEN go to "*" if needed
- */
- transports = {},
-
- // Document location
- ajaxLocation,
-
- // Document location segments
- ajaxLocParts,
-
- // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
- allTypes = ["*/"] + ["*"];
-
-// #8138, IE may throw an exception when accessing
-// a field from window.location if document.domain has been set
-try {
- ajaxLocation = location.href;
-} catch( e ) {
- // Use the href attribute of an A element
- // since IE will modify it given document.location
- ajaxLocation = document.createElement( "a" );
- ajaxLocation.href = "";
- ajaxLocation = ajaxLocation.href;
-}
-
-// Segment location into parts
-ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
-
-// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
-function addToPrefiltersOrTransports( structure ) {
-
- // dataTypeExpression is optional and defaults to "*"
- return function( dataTypeExpression, func ) {
-
- if ( typeof dataTypeExpression !== "string" ) {
- func = dataTypeExpression;
- dataTypeExpression = "*";
- }
-
- if ( jQuery.isFunction( func ) ) {
- var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ),
- i = 0,
- length = dataTypes.length,
- dataType,
- list,
- placeBefore;
-
- // For each dataType in the dataTypeExpression
- for ( ; i < length; i++ ) {
- dataType = dataTypes[ i ];
- // We control if we're asked to add before
- // any existing element
- placeBefore = /^\+/.test( dataType );
- if ( placeBefore ) {
- dataType = dataType.substr( 1 ) || "*";
- }
- list = structure[ dataType ] = structure[ dataType ] || [];
- // then we add to the structure accordingly
- list[ placeBefore ? "unshift" : "push" ]( func );
- }
- }
- };
-}
-
-// Base inspection function for prefilters and transports
-function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,
- dataType /* internal */, inspected /* internal */ ) {
-
- dataType = dataType || options.dataTypes[ 0 ];
- inspected = inspected || {};
-
- inspected[ dataType ] = true;
-
- var list = structure[ dataType ],
- i = 0,
- length = list ? list.length : 0,
- executeOnly = ( structure === prefilters ),
- selection;
-
- for ( ; i < length && ( executeOnly || !selection ); i++ ) {
- selection = list[ i ]( options, originalOptions, jqXHR );
- // If we got redirected to another dataType
- // we try there if executing only and not done already
- if ( typeof selection === "string" ) {
- if ( !executeOnly || inspected[ selection ] ) {
- selection = undefined;
- } else {
- options.dataTypes.unshift( selection );
- selection = inspectPrefiltersOrTransports(
- structure, options, originalOptions, jqXHR, selection, inspected );
- }
- }
- }
- // If we're only executing or nothing was selected
- // we try the catchall dataType if not done already
- if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) {
- selection = inspectPrefiltersOrTransports(
- structure, options, originalOptions, jqXHR, "*", inspected );
- }
- // unnecessary when only executing (prefilters)
- // but it'll be ignored by the caller in that case
- return selection;
-}
-
-// A special extend for ajax options
-// that takes "flat" options (not to be deep extended)
-// Fixes #9887
-function ajaxExtend( target, src ) {
- var key, deep,
- flatOptions = jQuery.ajaxSettings.flatOptions || {};
- for ( key in src ) {
- if ( src[ key ] !== undefined ) {
- ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
- }
- }
- if ( deep ) {
- jQuery.extend( true, target, deep );
- }
-}
-
-jQuery.fn.extend({
- load: function( url, params, callback ) {
- if ( typeof url !== "string" && _load ) {
- return _load.apply( this, arguments );
-
- // Don't do a request if no elements are being requested
- } else if ( !this.length ) {
- return this;
- }
-
- var off = url.indexOf( " " );
- if ( off >= 0 ) {
- var selector = url.slice( off, url.length );
- url = url.slice( 0, off );
- }
-
- // Default to a GET request
- var type = "GET";
-
- // If the second parameter was provided
- if ( params ) {
- // If it's a function
- if ( jQuery.isFunction( params ) ) {
- // We assume that it's the callback
- callback = params;
- params = undefined;
-
- // Otherwise, build a param string
- } else if ( typeof params === "object" ) {
- params = jQuery.param( params, jQuery.ajaxSettings.traditional );
- type = "POST";
- }
- }
-
- var self = this;
-
- // Request the remote document
- jQuery.ajax({
- url: url,
- type: type,
- dataType: "html",
- data: params,
- // Complete callback (responseText is used internally)
- complete: function( jqXHR, status, responseText ) {
- // Store the response as specified by the jqXHR object
- responseText = jqXHR.responseText;
- // If successful, inject the HTML into all the matched elements
- if ( jqXHR.isResolved() ) {
- // #4825: Get the actual response in case
- // a dataFilter is present in ajaxSettings
- jqXHR.done(function( r ) {
- responseText = r;
- });
- // See if a selector was specified
- self.html( selector ?
- // Create a dummy div to hold the results
- jQuery("<div>")
- // inject the contents of the document in, removing the scripts
- // to avoid any 'Permission Denied' errors in IE
- .append(responseText.replace(rscript, ""))
-
- // Locate the specified elements
- .find(selector) :
-
- // If not, just inject the full result
- responseText );
- }
-
- if ( callback ) {
- self.each( callback, [ responseText, status, jqXHR ] );
- }
- }
- });
-
- return this;
- },
-
- serialize: function() {
- return jQuery.param( this.serializeArray() );
- },
-
- serializeArray: function() {
- return this.map(function(){
- return this.elements ? jQuery.makeArray( this.elements ) : this;
- })
- .filter(function(){
- return this.name && !this.disabled &&
- ( this.checked || rselectTextarea.test( this.nodeName ) ||
- rinput.test( this.type ) );
- })
- .map(function( i, elem ){
- var val = jQuery( this ).val();
-
- return val == null ?
- null :
- jQuery.isArray( val ) ?
- jQuery.map( val, function( val, i ){
- return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
- }) :
- { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
- }).get();
- }
-});
-
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){
- jQuery.fn[ o ] = function( f ){
- return this.on( o, f );
- };
-});
-
-jQuery.each( [ "get", "post" ], function( i, method ) {
- jQuery[ method ] = function( url, data, callback, type ) {
- // shift arguments if data argument was omitted
- if ( jQuery.isFunction( data ) ) {
- type = type || callback;
- callback = data;
- data = undefined;
- }
-
- return jQuery.ajax({
- type: method,
- url: url,
- data: data,
- success: callback,
- dataType: type
- });
- };
-});
-
-jQuery.extend({
-
- getScript: function( url, callback ) {
- return jQuery.get( url, undefined, callback, "script" );
- },
-
- getJSON: function( url, data, callback ) {
- return jQuery.get( url, data, callback, "json" );
- },
-
- // Creates a full fledged settings object into target
- // with both ajaxSettings and settings fields.
- // If target is omitted, writes into ajaxSettings.
- ajaxSetup: function( target, settings ) {
- if ( settings ) {
- // Building a settings object
- ajaxExtend( target, jQuery.ajaxSettings );
- } else {
- // Extending ajaxSettings
- settings = target;
- target = jQuery.ajaxSettings;
- }
- ajaxExtend( target, settings );
- return target;
- },
-
- ajaxSettings: {
- url: ajaxLocation,
- isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
- global: true,
- type: "GET",
- contentType: "application/x-www-form-urlencoded",
- processData: true,
- async: true,
- /*
- timeout: 0,
- data: null,
- dataType: null,
- username: null,
- password: null,
- cache: null,
- traditional: false,
- headers: {},
- */
-
- accepts: {
- xml: "application/xml, text/xml",
- html: "text/html",
- text: "text/plain",
- json: "application/json, text/javascript",
- "*": allTypes
- },
-
- contents: {
- xml: /xml/,
- html: /html/,
- json: /json/
- },
-
- responseFields: {
- xml: "responseXML",
- text: "responseText"
- },
-
- // List of data converters
- // 1) key format is "source_type destination_type" (a single space in-between)
- // 2) the catchall symbol "*" can be used for source_type
- converters: {
-
- // Convert anything to text
- "* text": window.String,
-
- // Text to html (true = no transformation)
- "text html": true,
-
- // Evaluate text as a json expression
- "text json": jQuery.parseJSON,
-
- // Parse text as xml
- "text xml": jQuery.parseXML
- },
-
- // For options that shouldn't be deep extended:
- // you can add your own custom options here if
- // and when you create one that shouldn't be
- // deep extended (see ajaxExtend)
- flatOptions: {
- context: true,
- url: true
- }
- },
-
- ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
- ajaxTransport: addToPrefiltersOrTransports( transports ),
-
- // Main method
- ajax: function( url, options ) {
-
- // If url is an object, simulate pre-1.5 signature
- if ( typeof url === "object" ) {
- options = url;
- url = undefined;
- }
-
- // Force options to be an object
- options = options || {};
-
- var // Create the final options object
- s = jQuery.ajaxSetup( {}, options ),
- // Callbacks context
- callbackContext = s.context || s,
- // Context for global events
- // It's the callbackContext if one was provided in the options
- // and if it's a DOM node or a jQuery collection
- globalEventContext = callbackContext !== s &&
- ( callbackContext.nodeType || callbackContext instanceof jQuery ) ?
- jQuery( callbackContext ) : jQuery.event,
- // Deferreds
- deferred = jQuery.Deferred(),
- completeDeferred = jQuery.Callbacks( "once memory" ),
- // Status-dependent callbacks
- statusCode = s.statusCode || {},
- // ifModified key
- ifModifiedKey,
- // Headers (they are sent all at once)
- requestHeaders = {},
- requestHeadersNames = {},
- // Response headers
- responseHeadersString,
- responseHeaders,
- // transport
- transport,
- // timeout handle
- timeoutTimer,
- // Cross-domain detection vars
- parts,
- // The jqXHR state
- state = 0,
- // To know if global events are to be dispatched
- fireGlobals,
- // Loop variable
- i,
- // Fake xhr
- jqXHR = {
-
- readyState: 0,
-
- // Caches the header
- setRequestHeader: function( name, value ) {
- if ( !state ) {
- var lname = name.toLowerCase();
- name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
- requestHeaders[ name ] = value;
- }
- return this;
- },
-
- // Raw string
- getAllResponseHeaders: function() {
- return state === 2 ? responseHeadersString : null;
- },
-
- // Builds headers hashtable if needed
- getResponseHeader: function( key ) {
- var match;
- if ( state === 2 ) {
- if ( !responseHeaders ) {
- responseHeaders = {};
- while( ( match = rheaders.exec( responseHeadersString ) ) ) {
- responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
- }
- }
- match = responseHeaders[ key.toLowerCase() ];
- }
- return match === undefined ? null : match;
- },
-
- // Overrides response content-type header
- overrideMimeType: function( type ) {
- if ( !state ) {
- s.mimeType = type;
- }
- return this;
- },
-
- // Cancel the request
- abort: function( statusText ) {
- statusText = statusText || "abort";
- if ( transport ) {
- transport.abort( statusText );
- }
- done( 0, statusText );
- return this;
- }
- };
-
- // Callback for when everything is done
- // It is defined here because jslint complains if it is declared
- // at the end of the function (which would be more logical and readable)
- function done( status, nativeStatusText, responses, headers ) {
-
- // Called once
- if ( state === 2 ) {
- return;
- }
-
- // State is "done" now
- state = 2;
-
- // Clear timeout if it exists
- if ( timeoutTimer ) {
- clearTimeout( timeoutTimer );
- }
-
- // Dereference transport for early garbage collection
- // (no matter how long the jqXHR object will be used)
- transport = undefined;
-
- // Cache response headers
- responseHeadersString = headers || "";
-
- // Set readyState
- jqXHR.readyState = status > 0 ? 4 : 0;
-
- var isSuccess,
- success,
- error,
- statusText = nativeStatusText,
- response = responses ? ajaxHandleResponses( s, jqXHR, responses ) : undefined,
- lastModified,
- etag;
-
- // If successful, handle type chaining
- if ( status >= 200 && status < 300 || status === 304 ) {
-
- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
- if ( s.ifModified ) {
-
- if ( ( lastModified = jqXHR.getResponseHeader( "Last-Modified" ) ) ) {
- jQuery.lastModified[ ifModifiedKey ] = lastModified;
- }
- if ( ( etag = jqXHR.getResponseHeader( "Etag" ) ) ) {
- jQuery.etag[ ifModifiedKey ] = etag;
- }
- }
-
- // If not modified
- if ( status === 304 ) {
-
- statusText = "notmodified";
- isSuccess = true;
-
- // If we have data
- } else {
-
- try {
- success = ajaxConvert( s, response );
- statusText = "success";
- isSuccess = true;
- } catch(e) {
- // We have a parsererror
- statusText = "parsererror";
- error = e;
- }
- }
- } else {
- // We extract error from statusText
- // then normalize statusText and status for non-aborts
- error = statusText;
- if ( !statusText || status ) {
- statusText = "error";
- if ( status < 0 ) {
- status = 0;
- }
- }
- }
-
- // Set data for the fake xhr object
- jqXHR.status = status;
- jqXHR.statusText = "" + ( nativeStatusText || statusText );
-
- // Success/Error
- if ( isSuccess ) {
- deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
- } else {
- deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
- }
-
- // Status-dependent callbacks
- jqXHR.statusCode( statusCode );
- statusCode = undefined;
-
- if ( fireGlobals ) {
- globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ),
- [ jqXHR, s, isSuccess ? success : error ] );
- }
-
- // Complete
- completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
-
- if ( fireGlobals ) {
- globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
- // Handle the global AJAX counter
- if ( !( --jQuery.active ) ) {
- jQuery.event.trigger( "ajaxStop" );
- }
- }
- }
-
- // Attach deferreds
- deferred.promise( jqXHR );
- jqXHR.success = jqXHR.done;
- jqXHR.error = jqXHR.fail;
- jqXHR.complete = completeDeferred.add;
-
- // Status-dependent callbacks
- jqXHR.statusCode = function( map ) {
- if ( map ) {
- var tmp;
- if ( state < 2 ) {
- for ( tmp in map ) {
- statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ];
- }
- } else {
- tmp = map[ jqXHR.status ];
- jqXHR.then( tmp, tmp );
- }
- }
- return this;
- };
-
- // Remove hash character (#7531: and string promotion)
- // Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
- // We also use the url parameter if available
- s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
-
- // Extract dataTypes list
- s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax );
-
- // Determine if a cross-domain request is in order
- if ( s.crossDomain == null ) {
- parts = rurl.exec( s.url.toLowerCase() );
- s.crossDomain = !!( parts &&
- ( parts[ 1 ] != ajaxLocParts[ 1 ] || parts[ 2 ] != ajaxLocParts[ 2 ] ||
- ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) !=
- ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) )
- );
- }
-
- // Convert data if not already a string
- if ( s.data && s.processData && typeof s.data !== "string" ) {
- s.data = jQuery.param( s.data, s.traditional );
- }
-
- // Apply prefilters
- inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
-
- // If request was aborted inside a prefiler, stop there
- if ( state === 2 ) {
- return false;
- }
-
- // We can fire global events as of now if asked to
- fireGlobals = s.global;
-
- // Uppercase the type
- s.type = s.type.toUpperCase();
-
- // Determine if request has content
- s.hasContent = !rnoContent.test( s.type );
-
- // Watch for a new set of requests
- if ( fireGlobals && jQuery.active++ === 0 ) {
- jQuery.event.trigger( "ajaxStart" );
- }
-
- // More options handling for requests with no content
- if ( !s.hasContent ) {
-
- // If data is available, append data to url
- if ( s.data ) {
- s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data;
- // #9682: remove data so that it's not used in an eventual retry
- delete s.data;
- }
-
- // Get ifModifiedKey before adding the anti-cache parameter
- ifModifiedKey = s.url;
-
- // Add anti-cache in url if needed
- if ( s.cache === false ) {
-
- var ts = jQuery.now(),
- // try replacing _= if it is there
- ret = s.url.replace( rts, "$1_=" + ts );
-
- // if nothing was replaced, add timestamp to the end
- s.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" );
- }
- }
-
- // Set the correct header, if data is being sent
- if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
- jqXHR.setRequestHeader( "Content-Type", s.contentType );
- }
-
- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
- if ( s.ifModified ) {
- ifModifiedKey = ifModifiedKey || s.url;
- if ( jQuery.lastModified[ ifModifiedKey ] ) {
- jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] );
- }
- if ( jQuery.etag[ ifModifiedKey ] ) {
- jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] );
- }
- }
-
- // Set the Accepts header for the server, depending on the dataType
- jqXHR.setRequestHeader(
- "Accept",
- s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
- s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
- s.accepts[ "*" ]
- );
-
- // Check for headers option
- for ( i in s.headers ) {
- jqXHR.setRequestHeader( i, s.headers[ i ] );
- }
-
- // Allow custom headers/mimetypes and early abort
- if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
- // Abort if not done already
- jqXHR.abort();
- return false;
-
- }
-
- // Install callbacks on deferreds
- for ( i in { success: 1, error: 1, complete: 1 } ) {
- jqXHR[ i ]( s[ i ] );
- }
-
- // Get transport
- transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
-
- // If no transport, we auto-abort
- if ( !transport ) {
- done( -1, "No Transport" );
- } else {
- jqXHR.readyState = 1;
- // Send global event
- if ( fireGlobals ) {
- globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
- }
- // Timeout
- if ( s.async && s.timeout > 0 ) {
- timeoutTimer = setTimeout( function(){
- jqXHR.abort( "timeout" );
- }, s.timeout );
- }
-
- try {
- state = 1;
- transport.send( requestHeaders, done );
- } catch (e) {
- // Propagate exception as error if not done
- if ( state < 2 ) {
- done( -1, e );
- // Simply rethrow otherwise
- } else {
- throw e;
- }
- }
- }
-
- return jqXHR;
- },
-
- // Serialize an array of form elements or a set of
- // key/values into a query string
- param: function( a, traditional ) {
- var s = [],
- add = function( key, value ) {
- // If value is a function, invoke it and return its value
- value = jQuery.isFunction( value ) ? value() : value;
- s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
- };
-
- // Set traditional to true for jQuery <= 1.3.2 behavior.
- if ( traditional === undefined ) {
- traditional = jQuery.ajaxSettings.traditional;
- }
-
- // If an array was passed in, assume that it is an array of form elements.
- if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
- // Serialize the form elements
- jQuery.each( a, function() {
- add( this.name, this.value );
- });
-
- } else {
- // If traditional, encode the "old" way (the way 1.3.2 or older
- // did it), otherwise encode params recursively.
- for ( var prefix in a ) {
- buildParams( prefix, a[ prefix ], traditional, add );
- }
- }
-
- // Return the resulting serialization
- return s.join( "&" ).replace( r20, "+" );
- }
-});
-
-function buildParams( prefix, obj, traditional, add ) {
- if ( jQuery.isArray( obj ) ) {
- // Serialize array item.
- jQuery.each( obj, function( i, v ) {
- if ( traditional || rbracket.test( prefix ) ) {
- // Treat each array item as a scalar.
- add( prefix, v );
-
- } else {
- // If array item is non-scalar (array or object), encode its
- // numeric index to resolve deserialization ambiguity issues.
- // Note that rack (as of 1.0.0) can't currently deserialize
- // nested arrays properly, and attempting to do so may cause
- // a server error. Possible fixes are to modify rack's
- // deserialization algorithm or to provide an option or flag
- // to force array serialization to be shallow.
- buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, traditional, add );
- }
- });
-
- } else if ( !traditional && obj != null && typeof obj === "object" ) {
- // Serialize object item.
- for ( var name in obj ) {
- buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
- }
-
- } else {
- // Serialize scalar item.
- add( prefix, obj );
- }
-}
-
-// This is still on the jQuery object... for now
-// Want to move this to jQuery.ajax some day
-jQuery.extend({
-
- // Counter for holding the number of active queries
- active: 0,
-
- // Last-Modified header cache for next request
- lastModified: {},
- etag: {}
-
-});
-
-/* Handles responses to an ajax request:
- * - sets all responseXXX fields accordingly
- * - finds the right dataType (mediates between content-type and expected dataType)
- * - returns the corresponding response
- */
-function ajaxHandleResponses( s, jqXHR, responses ) {
-
- var contents = s.contents,
- dataTypes = s.dataTypes,
- responseFields = s.responseFields,
- ct,
- type,
- finalDataType,
- firstDataType;
-
- // Fill responseXXX fields
- for ( type in responseFields ) {
- if ( type in responses ) {
- jqXHR[ responseFields[type] ] = responses[ type ];
- }
- }
-
- // Remove auto dataType and get content-type in the process
- while( dataTypes[ 0 ] === "*" ) {
- dataTypes.shift();
- if ( ct === undefined ) {
- ct = s.mimeType || jqXHR.getResponseHeader( "content-type" );
- }
- }
-
- // Check if we're dealing with a known content-type
- if ( ct ) {
- for ( type in contents ) {
- if ( contents[ type ] && contents[ type ].test( ct ) ) {
- dataTypes.unshift( type );
- break;
- }
- }
- }
-
- // Check to see if we have a response for the expected dataType
- if ( dataTypes[ 0 ] in responses ) {
- finalDataType = dataTypes[ 0 ];
- } else {
- // Try convertible dataTypes
- for ( type in responses ) {
- if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
- finalDataType = type;
- break;
- }
- if ( !firstDataType ) {
- firstDataType = type;
- }
- }
- // Or just use first one
- finalDataType = finalDataType || firstDataType;
- }
-
- // If we found a dataType
- // We add the dataType to the list if needed
- // and return the corresponding response
- if ( finalDataType ) {
- if ( finalDataType !== dataTypes[ 0 ] ) {
- dataTypes.unshift( finalDataType );
- }
- return responses[ finalDataType ];
- }
-}
-
-// Chain conversions given the request and the original response
-function ajaxConvert( s, response ) {
-
- // Apply the dataFilter if provided
- if ( s.dataFilter ) {
- response = s.dataFilter( response, s.dataType );
- }
-
- var dataTypes = s.dataTypes,
- converters = {},
- i,
- key,
- length = dataTypes.length,
- tmp,
- // Current and previous dataTypes
- current = dataTypes[ 0 ],
- prev,
- // Conversion expression
- conversion,
- // Conversion function
- conv,
- // Conversion functions (transitive conversion)
- conv1,
- conv2;
-
- // For each dataType in the chain
- for ( i = 1; i < length; i++ ) {
-
- // Create converters map
- // with lowercased keys
- if ( i === 1 ) {
- for ( key in s.converters ) {
- if ( typeof key === "string" ) {
- converters[ key.toLowerCase() ] = s.converters[ key ];
- }
- }
- }
-
- // Get the dataTypes
- prev = current;
- current = dataTypes[ i ];
-
- // If current is auto dataType, update it to prev
- if ( current === "*" ) {
- current = prev;
- // If no auto and dataTypes are actually different
- } else if ( prev !== "*" && prev !== current ) {
-
- // Get the converter
- conversion = prev + " " + current;
- conv = converters[ conversion ] || converters[ "* " + current ];
-
- // If there is no direct converter, search transitively
- if ( !conv ) {
- conv2 = undefined;
- for ( conv1 in converters ) {
- tmp = conv1.split( " " );
- if ( tmp[ 0 ] === prev || tmp[ 0 ] === "*" ) {
- conv2 = converters[ tmp[1] + " " + current ];
- if ( conv2 ) {
- conv1 = converters[ conv1 ];
- if ( conv1 === true ) {
- conv = conv2;
- } else if ( conv2 === true ) {
- conv = conv1;
- }
- break;
- }
- }
- }
- }
- // If we found no converter, dispatch an error
- if ( !( conv || conv2 ) ) {
- jQuery.error( "No conversion from " + conversion.replace(" "," to ") );
- }
- // If found converter is not an equivalence
- if ( conv !== true ) {
- // Convert with 1 or 2 converters accordingly
- response = conv ? conv( response ) : conv2( conv1(response) );
- }
- }
- }
- return response;
-}
-
-
-
-
-var jsc = jQuery.now(),
- jsre = /(\=)\?(&|$)|\?\?/i;
-
-// Default jsonp settings
-jQuery.ajaxSetup({
- jsonp: "callback",
- jsonpCallback: function() {
- return jQuery.expando + "_" + ( jsc++ );
- }
-});
-
-// Detect, normalize options and install callbacks for jsonp requests
-jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
-
- var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
- ( typeof s.data === "string" );
-
- if ( s.dataTypes[ 0 ] === "jsonp" ||
- s.jsonp !== false && ( jsre.test( s.url ) ||
- inspectData && jsre.test( s.data ) ) ) {
-
- var responseContainer,
- jsonpCallback = s.jsonpCallback =
- jQuery.isFunction( s.jsonpCallback ) ? s.jsonpCallback() : s.jsonpCallback,
- previous = window[ jsonpCallback ],
- url = s.url,
- data = s.data,
- replace = "$1" + jsonpCallback + "$2";
-
- if ( s.jsonp !== false ) {
- url = url.replace( jsre, replace );
- if ( s.url === url ) {
- if ( inspectData ) {
- data = data.replace( jsre, replace );
- }
- if ( s.data === data ) {
- // Add callback manually
- url += (/\?/.test( url ) ? "&" : "?") + s.jsonp + "=" + jsonpCallback;
- }
- }
- }
-
- s.url = url;
- s.data = data;
-
- // Install callback
- window[ jsonpCallback ] = function( response ) {
- responseContainer = [ response ];
- };
-
- // Clean-up function
- jqXHR.always(function() {
- // Set callback back to previous value
- window[ jsonpCallback ] = previous;
- // Call if it was a function and we have a response
- if ( responseContainer && jQuery.isFunction( previous ) ) {
- window[ jsonpCallback ]( responseContainer[ 0 ] );
- }
- });
-
- // Use data converter to retrieve json after script execution
- s.converters["script json"] = function() {
- if ( !responseContainer ) {
- jQuery.error( jsonpCallback + " was not called" );
- }
- return responseContainer[ 0 ];
- };
-
- // force json dataType
- s.dataTypes[ 0 ] = "json";
-
- // Delegate to script
- return "script";
- }
-});
-
-
-
-
-// Install script dataType
-jQuery.ajaxSetup({
- accepts: {
- script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
- },
- contents: {
- script: /javascript|ecmascript/
- },
- converters: {
- "text script": function( text ) {
- jQuery.globalEval( text );
- return text;
- }
- }
-});
-
-// Handle cache's special case and global
-jQuery.ajaxPrefilter( "script", function( s ) {
- if ( s.cache === undefined ) {
- s.cache = false;
- }
- if ( s.crossDomain ) {
- s.type = "GET";
- s.global = false;
- }
-});
-
-// Bind script tag hack transport
-jQuery.ajaxTransport( "script", function(s) {
-
- // This transport only deals with cross domain requests
- if ( s.crossDomain ) {
-
- var script,
- head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement;
-
- return {
-
- send: function( _, callback ) {
-
- script = document.createElement( "script" );
-
- script.async = "async";
-
- if ( s.scriptCharset ) {
- script.charset = s.scriptCharset;
- }
-
- script.src = s.url;
-
- // Attach handlers for all browsers
- script.onload = script.onreadystatechange = function( _, isAbort ) {
-
- if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {
-
- // Handle memory leak in IE
- script.onload = script.onreadystatechange = null;
-
- // Remove the script
- if ( head && script.parentNode ) {
- head.removeChild( script );
- }
-
- // Dereference the script
- script = undefined;
-
- // Callback if not abort
- if ( !isAbort ) {
- callback( 200, "success" );
- }
- }
- };
- // Use insertBefore instead of appendChild to circumvent an IE6 bug.
- // This arises when a base node is used (#2709 and #4378).
- head.insertBefore( script, head.firstChild );
- },
-
- abort: function() {
- if ( script ) {
- script.onload( 0, 1 );
- }
- }
- };
- }
-});
-
-
-
-
-var // #5280: Internet Explorer will keep connections alive if we don't abort on unload
- xhrOnUnloadAbort = window.ActiveXObject ? function() {
- // Abort all pending requests
- for ( var key in xhrCallbacks ) {
- xhrCallbacks[ key ]( 0, 1 );
- }
- } : false,
- xhrId = 0,
- xhrCallbacks;
-
-// Functions to create xhrs
-function createStandardXHR() {
- try {
- return new window.XMLHttpRequest();
- } catch( e ) {}
-}
-
-function createActiveXHR() {
- try {
- return new window.ActiveXObject( "Microsoft.XMLHTTP" );
- } catch( e ) {}
-}
-
-// Create the request object
-// (This is still attached to ajaxSettings for backward compatibility)
-jQuery.ajaxSettings.xhr = window.ActiveXObject ?
- /* Microsoft failed to properly
- * implement the XMLHttpRequest in IE7 (can't request local files),
- * so we use the ActiveXObject when it is available
- * Additionally XMLHttpRequest can be disabled in IE7/IE8 so
- * we need a fallback.
- */
- function() {
- return !this.isLocal && createStandardXHR() || createActiveXHR();
- } :
- // For all other browsers, use the standard XMLHttpRequest object
- createStandardXHR;
-
-// Determine support properties
-(function( xhr ) {
- jQuery.extend( jQuery.support, {
- ajax: !!xhr,
- cors: !!xhr && ( "withCredentials" in xhr )
- });
-})( jQuery.ajaxSettings.xhr() );
-
-// Create transport if the browser can provide an xhr
-if ( jQuery.support.ajax ) {
-
- jQuery.ajaxTransport(function( s ) {
- // Cross domain only allowed if supported through XMLHttpRequest
- if ( !s.crossDomain || jQuery.support.cors ) {
-
- var callback;
-
- return {
- send: function( headers, complete ) {
-
- // Get a new xhr
- var xhr = s.xhr(),
- handle,
- i;
-
- // Open the socket
- // Passing null username, generates a login popup on Opera (#2865)
- if ( s.username ) {
- xhr.open( s.type, s.url, s.async, s.username, s.password );
- } else {
- xhr.open( s.type, s.url, s.async );
- }
-
- // Apply custom fields if provided
- if ( s.xhrFields ) {
- for ( i in s.xhrFields ) {
- xhr[ i ] = s.xhrFields[ i ];
- }
- }
-
- // Override mime type if needed
- if ( s.mimeType && xhr.overrideMimeType ) {
- xhr.overrideMimeType( s.mimeType );
- }
-
- // X-Requested-With header
- // For cross-domain requests, seeing as conditions for a preflight are
- // akin to a jigsaw puzzle, we simply never set it to be sure.
- // (it can always be set on a per-request basis or even using ajaxSetup)
- // For same-domain requests, won't change header if already provided.
- if ( !s.crossDomain && !headers["X-Requested-With"] ) {
- headers[ "X-Requested-With" ] = "XMLHttpRequest";
- }
-
- // Need an extra try/catch for cross domain requests in Firefox 3
- try {
- for ( i in headers ) {
- xhr.setRequestHeader( i, headers[ i ] );
- }
- } catch( _ ) {}
-
- // Do send the request
- // This may raise an exception which is actually
- // handled in jQuery.ajax (so no try/catch here)
- xhr.send( ( s.hasContent && s.data ) || null );
-
- // Listener
- callback = function( _, isAbort ) {
-
- var status,
- statusText,
- responseHeaders,
- responses,
- xml;
-
- // Firefox throws exceptions when accessing properties
- // of an xhr when a network error occured
- // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)
- try {
-
- // Was never called and is aborted or complete
- if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
-
- // Only called once
- callback = undefined;
-
- // Do not keep as active anymore
- if ( handle ) {
- xhr.onreadystatechange = jQuery.noop;
- if ( xhrOnUnloadAbort ) {
- delete xhrCallbacks[ handle ];
- }
- }
-
- // If it's an abort
- if ( isAbort ) {
- // Abort it manually if needed
- if ( xhr.readyState !== 4 ) {
- xhr.abort();
- }
- } else {
- status = xhr.status;
- responseHeaders = xhr.getAllResponseHeaders();
- responses = {};
- xml = xhr.responseXML;
-
- // Construct response list
- if ( xml && xml.documentElement /* #4958 */ ) {
- responses.xml = xml;
- }
- responses.text = xhr.responseText;
-
- // Firefox throws an exception when accessing
- // statusText for faulty cross-domain requests
- try {
- statusText = xhr.statusText;
- } catch( e ) {
- // We normalize with Webkit giving an empty statusText
- statusText = "";
- }
-
- // Filter status for non standard behaviors
-
- // If the request is local and we have data: assume a success
- // (success with no data won't get notified, that's the best we
- // can do given current implementations)
- if ( !status && s.isLocal && !s.crossDomain ) {
- status = responses.text ? 200 : 404;
- // IE - #1450: sometimes returns 1223 when it should be 204
- } else if ( status === 1223 ) {
- status = 204;
- }
- }
- }
- } catch( firefoxAccessException ) {
- if ( !isAbort ) {
- complete( -1, firefoxAccessException );
- }
- }
-
- // Call complete if needed
- if ( responses ) {
- complete( status, statusText, responses, responseHeaders );
- }
- };
-
- // if we're in sync mode or it's in cache
- // and has been retrieved directly (IE6 & IE7)
- // we need to manually fire the callback
- if ( !s.async || xhr.readyState === 4 ) {
- callback();
- } else {
- handle = ++xhrId;
- if ( xhrOnUnloadAbort ) {
- // Create the active xhrs callbacks list if needed
- // and attach the unload handler
- if ( !xhrCallbacks ) {
- xhrCallbacks = {};
- jQuery( window ).unload( xhrOnUnloadAbort );
- }
- // Add to list of active xhrs callbacks
- xhrCallbacks[ handle ] = callback;
- }
- xhr.onreadystatechange = callback;
- }
- },
-
- abort: function() {
- if ( callback ) {
- callback(0,1);
- }
- }
- };
- }
- });
-}
-
-
-
-
-var elemdisplay = {},
- iframe, iframeDoc,
- rfxtypes = /^(?:toggle|show|hide)$/,
- rfxnum = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,
- timerId,
- fxAttrs = [
- // height animations
- [ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
- // width animations
- [ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
- // opacity animations
- [ "opacity" ]
- ],
- fxNow;
-
-jQuery.fn.extend({
- show: function( speed, easing, callback ) {
- var elem, display;
-
- if ( speed || speed === 0 ) {
- return this.animate( genFx("show", 3), speed, easing, callback );
-
- } else {
- for ( var i = 0, j = this.length; i < j; i++ ) {
- elem = this[ i ];
-
- if ( elem.style ) {
- display = elem.style.display;
-
- // Reset the inline display of this element to learn if it is
- // being hidden by cascaded rules or not
- if ( !jQuery._data(elem, "olddisplay") && display === "none" ) {
- display = elem.style.display = "";
- }
-
- // Set elements which have been overridden with display: none
- // in a stylesheet to whatever the default browser style is
- // for such an element
- if ( display === "" && jQuery.css(elem, "display") === "none" ) {
- jQuery._data( elem, "olddisplay", defaultDisplay(elem.nodeName) );
- }
- }
- }
-
- // Set the display of most of the elements in a second loop
- // to avoid the constant reflow
- for ( i = 0; i < j; i++ ) {
- elem = this[ i ];
-
- if ( elem.style ) {
- display = elem.style.display;
-
- if ( display === "" || display === "none" ) {
- elem.style.display = jQuery._data( elem, "olddisplay" ) || "";
- }
- }
- }
-
- return this;
- }
- },
-
- hide: function( speed, easing, callback ) {
- if ( speed || speed === 0 ) {
- return this.animate( genFx("hide", 3), speed, easing, callback);
-
- } else {
- var elem, display,
- i = 0,
- j = this.length;
-
- for ( ; i < j; i++ ) {
- elem = this[i];
- if ( elem.style ) {
- display = jQuery.css( elem, "display" );
-
- if ( display !== "none" && !jQuery._data( elem, "olddisplay" ) ) {
- jQuery._data( elem, "olddisplay", display );
- }
- }
- }
-
- // Set the display of the elements in a second loop
- // to avoid the constant reflow
- for ( i = 0; i < j; i++ ) {
- if ( this[i].style ) {
- this[i].style.display = "none";
- }
- }
-
- return this;
- }
- },
-
- // Save the old toggle function
- _toggle: jQuery.fn.toggle,
-
- toggle: function( fn, fn2, callback ) {
- var bool = typeof fn === "boolean";
-
- if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {
- this._toggle.apply( this, arguments );
-
- } else if ( fn == null || bool ) {
- this.each(function() {
- var state = bool ? fn : jQuery(this).is(":hidden");
- jQuery(this)[ state ? "show" : "hide" ]();
- });
-
- } else {
- this.animate(genFx("toggle", 3), fn, fn2, callback);
- }
-
- return this;
- },
-
- fadeTo: function( speed, to, easing, callback ) {
- return this.filter(":hidden").css("opacity", 0).show().end()
- .animate({opacity: to}, speed, easing, callback);
- },
-
- animate: function( prop, speed, easing, callback ) {
- var optall = jQuery.speed( speed, easing, callback );
-
- if ( jQuery.isEmptyObject( prop ) ) {
- return this.each( optall.complete, [ false ] );
- }
-
- // Do not change referenced properties as per-property easing will be lost
- prop = jQuery.extend( {}, prop );
-
- function doAnimation() {
- // XXX 'this' does not always have a nodeName when running the
- // test suite
-
- if ( optall.queue === false ) {
- jQuery._mark( this );
- }
-
- var opt = jQuery.extend( {}, optall ),
- isElement = this.nodeType === 1,
- hidden = isElement && jQuery(this).is(":hidden"),
- name, val, p, e,
- parts, start, end, unit,
- method;
-
- // will store per property easing and be used to determine when an animation is complete
- opt.animatedProperties = {};
-
- for ( p in prop ) {
-
- // property name normalization
- name = jQuery.camelCase( p );
- if ( p !== name ) {
- prop[ name ] = prop[ p ];
- delete prop[ p ];
- }
-
- val = prop[ name ];
-
- // easing resolution: per property > opt.specialEasing > opt.easing > 'swing' (default)
- if ( jQuery.isArray( val ) ) {
- opt.animatedProperties[ name ] = val[ 1 ];
- val = prop[ name ] = val[ 0 ];
- } else {
- opt.animatedProperties[ name ] = opt.specialEasing && opt.specialEasing[ name ] || opt.easing || 'swing';
- }
-
- if ( val === "hide" && hidden || val === "show" && !hidden ) {
- return opt.complete.call( this );
- }
-
- if ( isElement && ( name === "height" || name === "width" ) ) {
- // Make sure that nothing sneaks out
- // Record all 3 overflow attributes because IE does not
- // change the overflow attribute when overflowX and
- // overflowY are set to the same value
- opt.overflow = [ this.style.overflow, this.style.overflowX, this.style.overflowY ];
-
- // Set display property to inline-block for height/width
- // animations on inline elements that are having width/height animated
- if ( jQuery.css( this, "display" ) === "inline" &&
- jQuery.css( this, "float" ) === "none" ) {
-
- // inline-level elements accept inline-block;
- // block-level elements need to be inline with layout
- if ( !jQuery.support.inlineBlockNeedsLayout || defaultDisplay( this.nodeName ) === "inline" ) {
- this.style.display = "inline-block";
-
- } else {
- this.style.zoom = 1;
- }
- }
- }
- }
-
- if ( opt.overflow != null ) {
- this.style.overflow = "hidden";
- }
-
- for ( p in prop ) {
- e = new jQuery.fx( this, opt, p );
- val = prop[ p ];
-
- if ( rfxtypes.test( val ) ) {
-
- // Tracks whether to show or hide based on private
- // data attached to the element
- method = jQuery._data( this, "toggle" + p ) || ( val === "toggle" ? hidden ? "show" : "hide" : 0 );
- if ( method ) {
- jQuery._data( this, "toggle" + p, method === "show" ? "hide" : "show" );
- e[ method ]();
- } else {
- e[ val ]();
- }
-
- } else {
- parts = rfxnum.exec( val );
- start = e.cur();
-
- if ( parts ) {
- end = parseFloat( parts[2] );
- unit = parts[3] || ( jQuery.cssNumber[ p ] ? "" : "px" );
-
- // We need to compute starting value
- if ( unit !== "px" ) {
- jQuery.style( this, p, (end || 1) + unit);
- start = ( (end || 1) / e.cur() ) * start;
- jQuery.style( this, p, start + unit);
- }
-
- // If a +=/-= token was provided, we're doing a relative animation
- if ( parts[1] ) {
- end = ( (parts[ 1 ] === "-=" ? -1 : 1) * end ) + start;
- }
-
- e.custom( start, end, unit );
-
- } else {
- e.custom( start, val, "" );
- }
- }
- }
-
- // For JS strict compliance
- return true;
- }
-
- return optall.queue === false ?
- this.each( doAnimation ) :
- this.queue( optall.queue, doAnimation );
- },
-
- stop: function( type, clearQueue, gotoEnd ) {
- if ( typeof type !== "string" ) {
- gotoEnd = clearQueue;
- clearQueue = type;
- type = undefined;
- }
- if ( clearQueue && type !== false ) {
- this.queue( type || "fx", [] );
- }
-
- return this.each(function() {
- var index,
- hadTimers = false,
- timers = jQuery.timers,
- data = jQuery._data( this );
-
- // clear marker counters if we know they won't be
- if ( !gotoEnd ) {
- jQuery._unmark( true, this );
- }
-
- function stopQueue( elem, data, index ) {
- var hooks = data[ index ];
- jQuery.removeData( elem, index, true );
- hooks.stop( gotoEnd );
- }
-
- if ( type == null ) {
- for ( index in data ) {
- if ( data[ index ] && data[ index ].stop && index.indexOf(".run") === index.length - 4 ) {
- stopQueue( this, data, index );
- }
- }
- } else if ( data[ index = type + ".run" ] && data[ index ].stop ){
- stopQueue( this, data, index );
- }
-
- for ( index = timers.length; index--; ) {
- if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {
- if ( gotoEnd ) {
-
- // force the next step to be the last
- timers[ index ]( true );
- } else {
- timers[ index ].saveState();
- }
- hadTimers = true;
- timers.splice( index, 1 );
- }
- }
-
- // start the next in the queue if the last step wasn't forced
- // timers currently will call their complete callbacks, which will dequeue
- // but only if they were gotoEnd
- if ( !( gotoEnd && hadTimers ) ) {
- jQuery.dequeue( this, type );
- }
- });
- }
-
-});
-
-// Animations created synchronously will run synchronously
-function createFxNow() {
- setTimeout( clearFxNow, 0 );
- return ( fxNow = jQuery.now() );
-}
-
-function clearFxNow() {
- fxNow = undefined;
-}
-
-// Generate parameters to create a standard animation
-function genFx( type, num ) {
- var obj = {};
-
- jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice( 0, num )), function() {
- obj[ this ] = type;
- });
-
- return obj;
-}
-
-// Generate shortcuts for custom animations
-jQuery.each({
- slideDown: genFx( "show", 1 ),
- slideUp: genFx( "hide", 1 ),
- slideToggle: genFx( "toggle", 1 ),
- fadeIn: { opacity: "show" },
- fadeOut: { opacity: "hide" },
- fadeToggle: { opacity: "toggle" }
-}, function( name, props ) {
- jQuery.fn[ name ] = function( speed, easing, callback ) {
- return this.animate( props, speed, easing, callback );
- };
-});
-
-jQuery.extend({
- speed: function( speed, easing, fn ) {
- var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
- complete: fn || !fn && easing ||
- jQuery.isFunction( speed ) && speed,
- duration: speed,
- easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
- };
-
- opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
- opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
-
- // normalize opt.queue - true/undefined/null -> "fx"
- if ( opt.queue == null || opt.queue === true ) {
- opt.queue = "fx";
- }
-
- // Queueing
- opt.old = opt.complete;
-
- opt.complete = function( noUnmark ) {
- if ( jQuery.isFunction( opt.old ) ) {
- opt.old.call( this );
- }
-
- if ( opt.queue ) {
- jQuery.dequeue( this, opt.queue );
- } else if ( noUnmark !== false ) {
- jQuery._unmark( this );
- }
- };
-
- return opt;
- },
-
- easing: {
- linear: function( p, n, firstNum, diff ) {
- return firstNum + diff * p;
- },
- swing: function( p, n, firstNum, diff ) {
- return ( ( -Math.cos( p*Math.PI ) / 2 ) + 0.5 ) * diff + firstNum;
- }
- },
-
- timers: [],
-
- fx: function( elem, options, prop ) {
- this.options = options;
- this.elem = elem;
- this.prop = prop;
-
- options.orig = options.orig || {};
- }
-
-});
-
-jQuery.fx.prototype = {
- // Simple function for setting a style value
- update: function() {
- if ( this.options.step ) {
- this.options.step.call( this.elem, this.now, this );
- }
-
- ( jQuery.fx.step[ this.prop ] || jQuery.fx.step._default )( this );
- },
-
- // Get the current size
- cur: function() {
- if ( this.elem[ this.prop ] != null && (!this.elem.style || this.elem.style[ this.prop ] == null) ) {
- return this.elem[ this.prop ];
- }
-
- var parsed,
- r = jQuery.css( this.elem, this.prop );
- // Empty strings, null, undefined and "auto" are converted to 0,
- // complex values such as "rotate(1rad)" are returned as is,
- // simple values such as "10px" are parsed to Float.
- return isNaN( parsed = parseFloat( r ) ) ? !r || r === "auto" ? 0 : r : parsed;
- },
-
- // Start an animation from one number to another
- custom: function( from, to, unit ) {
- var self = this,
- fx = jQuery.fx;
-
- this.startTime = fxNow || createFxNow();
- this.end = to;
- this.now = this.start = from;
- this.pos = this.state = 0;
- this.unit = unit || this.unit || ( jQuery.cssNumber[ this.prop ] ? "" : "px" );
-
- function t( gotoEnd ) {
- return self.step( gotoEnd );
- }
-
- t.queue = this.options.queue;
- t.elem = this.elem;
- t.saveState = function() {
- if ( self.options.hide && jQuery._data( self.elem, "fxshow" + self.prop ) === undefined ) {
- jQuery._data( self.elem, "fxshow" + self.prop, self.start );
- }
- };
-
- if ( t() && jQuery.timers.push(t) && !timerId ) {
- timerId = setInterval( fx.tick, fx.interval );
- }
- },
-
- // Simple 'show' function
- show: function() {
- var dataShow = jQuery._data( this.elem, "fxshow" + this.prop );
-
- // Remember where we started, so that we can go back to it later
- this.options.orig[ this.prop ] = dataShow || jQuery.style( this.elem, this.prop );
- this.options.show = true;
-
- // Begin the animation
- // Make sure that we start at a small width/height to avoid any flash of content
- if ( dataShow !== undefined ) {
- // This show is picking up where a previous hide or show left off
- this.custom( this.cur(), dataShow );
- } else {
- this.custom( this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur() );
- }
-
- // Start by showing the element
- jQuery( this.elem ).show();
- },
-
- // Simple 'hide' function
- hide: function() {
- // Remember where we started, so that we can go back to it later
- this.options.orig[ this.prop ] = jQuery._data( this.elem, "fxshow" + this.prop ) || jQuery.style( this.elem, this.prop );
- this.options.hide = true;
-
- // Begin the animation
- this.custom( this.cur(), 0 );
- },
-
- // Each step of an animation
- step: function( gotoEnd ) {
- var p, n, complete,
- t = fxNow || createFxNow(),
- done = true,
- elem = this.elem,
- options = this.options;
-
- if ( gotoEnd || t >= options.duration + this.startTime ) {
- this.now = this.end;
- this.pos = this.state = 1;
- this.update();
-
- options.animatedProperties[ this.prop ] = true;
-
- for ( p in options.animatedProperties ) {
- if ( options.animatedProperties[ p ] !== true ) {
- done = false;
- }
- }
-
- if ( done ) {
- // Reset the overflow
- if ( options.overflow != null && !jQuery.support.shrinkWrapBlocks ) {
-
- jQuery.each( [ "", "X", "Y" ], function( index, value ) {
- elem.style[ "overflow" + value ] = options.overflow[ index ];
- });
- }
-
- // Hide the element if the "hide" operation was done
- if ( options.hide ) {
- jQuery( elem ).hide();
- }
-
- // Reset the properties, if the item has been hidden or shown
- if ( options.hide || options.show ) {
- for ( p in options.animatedProperties ) {
- jQuery.style( elem, p, options.orig[ p ] );
- jQuery.removeData( elem, "fxshow" + p, true );
- // Toggle data is no longer needed
- jQuery.removeData( elem, "toggle" + p, true );
- }
- }
-
- // Execute the complete function
- // in the event that the complete function throws an exception
- // we must ensure it won't be called twice. #5684
-
- complete = options.complete;
- if ( complete ) {
-
- options.complete = false;
- complete.call( elem );
- }
- }
-
- return false;
-
- } else {
- // classical easing cannot be used with an Infinity duration
- if ( options.duration == Infinity ) {
- this.now = t;
- } else {
- n = t - this.startTime;
- this.state = n / options.duration;
-
- // Perform the easing function, defaults to swing
- this.pos = jQuery.easing[ options.animatedProperties[this.prop] ]( this.state, n, 0, 1, options.duration );
- this.now = this.start + ( (this.end - this.start) * this.pos );
- }
- // Perform the next step of the animation
- this.update();
- }
-
- return true;
- }
-};
-
-jQuery.extend( jQuery.fx, {
- tick: function() {
- var timer,
- timers = jQuery.timers,
- i = 0;
-
- for ( ; i < timers.length; i++ ) {
- timer = timers[ i ];
- // Checks the timer has not already been removed
- if ( !timer() && timers[ i ] === timer ) {
- timers.splice( i--, 1 );
- }
- }
-
- if ( !timers.length ) {
- jQuery.fx.stop();
- }
- },
-
- interval: 13,
-
- stop: function() {
- clearInterval( timerId );
- timerId = null;
- },
-
- speeds: {
- slow: 600,
- fast: 200,
- // Default speed
- _default: 400
- },
-
- step: {
- opacity: function( fx ) {
- jQuery.style( fx.elem, "opacity", fx.now );
- },
-
- _default: function( fx ) {
- if ( fx.elem.style && fx.elem.style[ fx.prop ] != null ) {
- fx.elem.style[ fx.prop ] = fx.now + fx.unit;
- } else {
- fx.elem[ fx.prop ] = fx.now;
- }
- }
- }
-});
-
-// Adds width/height step functions
-// Do not set anything below 0
-jQuery.each([ "width", "height" ], function( i, prop ) {
- jQuery.fx.step[ prop ] = function( fx ) {
- jQuery.style( fx.elem, prop, Math.max(0, fx.now) + fx.unit );
- };
-});
-
-if ( jQuery.expr && jQuery.expr.filters ) {
- jQuery.expr.filters.animated = function( elem ) {
- return jQuery.grep(jQuery.timers, function( fn ) {
- return elem === fn.elem;
- }).length;
- };
-}
-
-// Try to restore the default display value of an element
-function defaultDisplay( nodeName ) {
-
- if ( !elemdisplay[ nodeName ] ) {
-
- var body = document.body,
- elem = jQuery( "<" + nodeName + ">" ).appendTo( body ),
- display = elem.css( "display" );
- elem.remove();
-
- // If the simple way fails,
- // get element's real default display by attaching it to a temp iframe
- if ( display === "none" || display === "" ) {
- // No iframe to use yet, so create it
- if ( !iframe ) {
- iframe = document.createElement( "iframe" );
- iframe.frameBorder = iframe.width = iframe.height = 0;
- }
-
- body.appendChild( iframe );
-
- // Create a cacheable copy of the iframe document on first call.
- // IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML
- // document to it; WebKit & Firefox won't allow reusing the iframe document.
- if ( !iframeDoc || !iframe.createElement ) {
- iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document;
- iframeDoc.write( ( document.compatMode === "CSS1Compat" ? "<!doctype html>" : "" ) + "<html><body>" );
- iframeDoc.close();
- }
-
- elem = iframeDoc.createElement( nodeName );
-
- iframeDoc.body.appendChild( elem );
-
- display = jQuery.css( elem, "display" );
- body.removeChild( iframe );
- }
-
- // Store the correct default display
- elemdisplay[ nodeName ] = display;
- }
-
- return elemdisplay[ nodeName ];
-}
-
-
-
-
-var rtable = /^t(?:able|d|h)$/i,
- rroot = /^(?:body|html)$/i;
-
-if ( "getBoundingClientRect" in document.documentElement ) {
- jQuery.fn.offset = function( options ) {
- var elem = this[0], box;
-
- if ( options ) {
- return this.each(function( i ) {
- jQuery.offset.setOffset( this, options, i );
- });
- }
-
- if ( !elem || !elem.ownerDocument ) {
- return null;
- }
-
- if ( elem === elem.ownerDocument.body ) {
- return jQuery.offset.bodyOffset( elem );
- }
-
- try {
- box = elem.getBoundingClientRect();
- } catch(e) {}
-
- var doc = elem.ownerDocument,
- docElem = doc.documentElement;
-
- // Make sure we're not dealing with a disconnected DOM node
- if ( !box || !jQuery.contains( docElem, elem ) ) {
- return box ? { top: box.top, left: box.left } : { top: 0, left: 0 };
- }
-
- var body = doc.body,
- win = getWindow(doc),
- clientTop = docElem.clientTop || body.clientTop || 0,
- clientLeft = docElem.clientLeft || body.clientLeft || 0,
- scrollTop = win.pageYOffset || jQuery.support.boxModel && docElem.scrollTop || body.scrollTop,
- scrollLeft = win.pageXOffset || jQuery.support.boxModel && docElem.scrollLeft || body.scrollLeft,
- top = box.top + scrollTop - clientTop,
- left = box.left + scrollLeft - clientLeft;
-
- return { top: top, left: left };
- };
-
-} else {
- jQuery.fn.offset = function( options ) {
- var elem = this[0];
-
- if ( options ) {
- return this.each(function( i ) {
- jQuery.offset.setOffset( this, options, i );
- });
- }
-
- if ( !elem || !elem.ownerDocument ) {
- return null;
- }
-
- if ( elem === elem.ownerDocument.body ) {
- return jQuery.offset.bodyOffset( elem );
- }
-
- var computedStyle,
- offsetParent = elem.offsetParent,
- prevOffsetParent = elem,
- doc = elem.ownerDocument,
- docElem = doc.documentElement,
- body = doc.body,
- defaultView = doc.defaultView,
- prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle,
- top = elem.offsetTop,
- left = elem.offsetLeft;
-
- while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
- if ( jQuery.support.fixedPosition && prevComputedStyle.position === "fixed" ) {
- break;
- }
-
- computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle;
- top -= elem.scrollTop;
- left -= elem.scrollLeft;
-
- if ( elem === offsetParent ) {
- top += elem.offsetTop;
- left += elem.offsetLeft;
-
- if ( jQuery.support.doesNotAddBorder && !(jQuery.support.doesAddBorderForTableAndCells && rtable.test(elem.nodeName)) ) {
- top += parseFloat( computedStyle.borderTopWidth ) || 0;
- left += parseFloat( computedStyle.borderLeftWidth ) || 0;
- }
-
- prevOffsetParent = offsetParent;
- offsetParent = elem.offsetParent;
- }
-
- if ( jQuery.support.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" ) {
- top += parseFloat( computedStyle.borderTopWidth ) || 0;
- left += parseFloat( computedStyle.borderLeftWidth ) || 0;
- }
-
- prevComputedStyle = computedStyle;
- }
-
- if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" ) {
- top += body.offsetTop;
- left += body.offsetLeft;
- }
-
- if ( jQuery.support.fixedPosition && prevComputedStyle.position === "fixed" ) {
- top += Math.max( docElem.scrollTop, body.scrollTop );
- left += Math.max( docElem.scrollLeft, body.scrollLeft );
- }
-
- return { top: top, left: left };
- };
-}
-
-jQuery.offset = {
-
- bodyOffset: function( body ) {
- var top = body.offsetTop,
- left = body.offsetLeft;
-
- if ( jQuery.support.doesNotIncludeMarginInBodyOffset ) {
- top += parseFloat( jQuery.css(body, "marginTop") ) || 0;
- left += parseFloat( jQuery.css(body, "marginLeft") ) || 0;
- }
-
- return { top: top, left: left };
- },
-
- setOffset: function( elem, options, i ) {
- var position = jQuery.css( elem, "position" );
-
- // set position first, in-case top/left are set even on static elem
- if ( position === "static" ) {
- elem.style.position = "relative";
- }
-
- var curElem = jQuery( elem ),
- curOffset = curElem.offset(),
- curCSSTop = jQuery.css( elem, "top" ),
- curCSSLeft = jQuery.css( elem, "left" ),
- calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1,
- props = {}, curPosition = {}, curTop, curLeft;
-
- // need to be able to calculate position if either top or left is auto and position is either absolute or fixed
- if ( calculatePosition ) {
- curPosition = curElem.position();
- curTop = curPosition.top;
- curLeft = curPosition.left;
- } else {
- curTop = parseFloat( curCSSTop ) || 0;
- curLeft = parseFloat( curCSSLeft ) || 0;
- }
-
- if ( jQuery.isFunction( options ) ) {
- options = options.call( elem, i, curOffset );
- }
-
- if ( options.top != null ) {
- props.top = ( options.top - curOffset.top ) + curTop;
- }
- if ( options.left != null ) {
- props.left = ( options.left - curOffset.left ) + curLeft;
- }
-
- if ( "using" in options ) {
- options.using.call( elem, props );
- } else {
- curElem.css( props );
- }
- }
-};
-
-
-jQuery.fn.extend({
-
- position: function() {
- if ( !this[0] ) {
- return null;
- }
-
- var elem = this[0],
-
- // Get *real* offsetParent
- offsetParent = this.offsetParent(),
-
- // Get correct offsets
- offset = this.offset(),
- parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();
-
- // Subtract element margins
- // note: when an element has margin: auto the offsetLeft and marginLeft
- // are the same in Safari causing offset.left to incorrectly be 0
- offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0;
- offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0;
-
- // Add offsetParent borders
- parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0;
- parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0;
-
- // Subtract the two offsets
- return {
- top: offset.top - parentOffset.top,
- left: offset.left - parentOffset.left
- };
- },
-
- offsetParent: function() {
- return this.map(function() {
- var offsetParent = this.offsetParent || document.body;
- while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) {
- offsetParent = offsetParent.offsetParent;
- }
- return offsetParent;
- });
- }
-});
-
-
-// Create scrollLeft and scrollTop methods
-jQuery.each( ["Left", "Top"], function( i, name ) {
- var method = "scroll" + name;
-
- jQuery.fn[ method ] = function( val ) {
- var elem, win;
-
- if ( val === undefined ) {
- elem = this[ 0 ];
-
- if ( !elem ) {
- return null;
- }
-
- win = getWindow( elem );
-
- // Return the scroll offset
- return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : "pageXOffset" ] :
- jQuery.support.boxModel && win.document.documentElement[ method ] ||
- win.document.body[ method ] :
- elem[ method ];
- }
-
- // Set the scroll offset
- return this.each(function() {
- win = getWindow( this );
-
- if ( win ) {
- win.scrollTo(
- !i ? val : jQuery( win ).scrollLeft(),
- i ? val : jQuery( win ).scrollTop()
- );
-
- } else {
- this[ method ] = val;
- }
- });
- };
-});
-
-function getWindow( elem ) {
- return jQuery.isWindow( elem ) ?
- elem :
- elem.nodeType === 9 ?
- elem.defaultView || elem.parentWindow :
- false;
-}
-
-
-
-
-// Create width, height, innerHeight, innerWidth, outerHeight and outerWidth methods
-jQuery.each([ "Height", "Width" ], function( i, name ) {
-
- var type = name.toLowerCase();
-
- // innerHeight and innerWidth
- jQuery.fn[ "inner" + name ] = function() {
- var elem = this[0];
- return elem ?
- elem.style ?
- parseFloat( jQuery.css( elem, type, "padding" ) ) :
- this[ type ]() :
- null;
- };
-
- // outerHeight and outerWidth
- jQuery.fn[ "outer" + name ] = function( margin ) {
- var elem = this[0];
- return elem ?
- elem.style ?
- parseFloat( jQuery.css( elem, type, margin ? "margin" : "border" ) ) :
- this[ type ]() :
- null;
- };
-
- jQuery.fn[ type ] = function( size ) {
- // Get window width or height
- var elem = this[0];
- if ( !elem ) {
- return size == null ? null : this;
- }
-
- if ( jQuery.isFunction( size ) ) {
- return this.each(function( i ) {
- var self = jQuery( this );
- self[ type ]( size.call( this, i, self[ type ]() ) );
- });
- }
-
- if ( jQuery.isWindow( elem ) ) {
- // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
- // 3rd condition allows Nokia support, as it supports the docElem prop but not CSS1Compat
- var docElemProp = elem.document.documentElement[ "client" + name ],
- body = elem.document.body;
- return elem.document.compatMode === "CSS1Compat" && docElemProp ||
- body && body[ "client" + name ] || docElemProp;
-
- // Get document width or height
- } else if ( elem.nodeType === 9 ) {
- // Either scroll[Width/Height] or offset[Width/Height], whichever is greater
- return Math.max(
- elem.documentElement["client" + name],
- elem.body["scroll" + name], elem.documentElement["scroll" + name],
- elem.body["offset" + name], elem.documentElement["offset" + name]
- );
-
- // Get or set width or height on the element
- } else if ( size === undefined ) {
- var orig = jQuery.css( elem, type ),
- ret = parseFloat( orig );
-
- return jQuery.isNumeric( ret ) ? ret : orig;
-
- // Set the width or height on the element (default to pixels if value is unitless)
- } else {
- return this.css( type, typeof size === "string" ? size : size + "px" );
- }
- };
-
-});
-
-
-
-
-// Expose jQuery to the global object
-window.jQuery = window.$ = jQuery;
-
-// Expose jQuery as an AMD module, but only for AMD loaders that
-// understand the issues with loading multiple versions of jQuery
-// in a page that all might call define(). The loader will indicate
-// they have special allowances for multiple jQuery versions by
-// specifying define.amd.jQuery = true. Register as a named module,
-// since jQuery can be concatenated with other files that may use define,
-// but not use a proper concatenation script that understands anonymous
-// AMD modules. A named AMD is safest and most robust way to register.
-// Lowercase jquery is used because AMD module names are derived from
-// file names, and jQuery is normally delivered in a lowercase file name.
-// Do this after creating the global so that if an AMD module wants to call
-// noConflict to hide this version of jQuery, it will work.
-if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
- define( "jquery", [], function () { return jQuery; } );
-}
-
-
-
-})( window );
diff --git a/library/jslider/js/jquery.dependClass-0.1.js b/library/jslider/js/jquery.dependClass-0.1.js
deleted file mode 100644
index 2636f6673..000000000
--- a/library/jslider/js/jquery.dependClass-0.1.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * jquery.dependClass - Attach class based on first class in list of current element
- *
- * Written by
- * Egor Khmelev (hmelyoff@gmail.com)
- *
- * Licensed under the MIT (MIT-LICENSE.txt).
- *
- * @author Egor Khmelev
- * @version 0.1.0-BETA ($Id$)
- *
- **/
-
-(function($) {
- $.baseClass = function(obj){
- obj = $(obj);
- return obj.get(0).className.match(/([^ ]+)/)[1];
- };
-
- $.fn.addDependClass = function(className, delimiter){
- var options = {
- delimiter: delimiter ? delimiter : '-'
- }
- return this.each(function(){
- var baseClass = $.baseClass(this);
- if(baseClass)
- $(this).addClass(baseClass + options.delimiter + className);
- });
- };
-
- $.fn.removeDependClass = function(className, delimiter){
- var options = {
- delimiter: delimiter ? delimiter : '-'
- }
- return this.each(function(){
- var baseClass = $.baseClass(this);
- if(baseClass)
- $(this).removeClass(baseClass + options.delimiter + className);
- });
- };
-
- $.fn.toggleDependClass = function(className, delimiter){
- var options = {
- delimiter: delimiter ? delimiter : '-'
- }
- return this.each(function(){
- var baseClass = $.baseClass(this);
- if(baseClass)
- if($(this).is("." + baseClass + options.delimiter + className))
- $(this).removeClass(baseClass + options.delimiter + className);
- else
- $(this).addClass(baseClass + options.delimiter + className);
- });
- };
-
-})(jQuery); \ No newline at end of file
diff --git a/library/jslider/js/jquery.numberformatter-1.2.3.js b/library/jslider/js/jquery.numberformatter-1.2.3.js
deleted file mode 100644
index 213db297a..000000000
--- a/library/jslider/js/jquery.numberformatter-1.2.3.js
+++ /dev/null
@@ -1,510 +0,0 @@
-/**
- * jquery.numberformatter - Formatting/Parsing Numbers in jQuery
- *
- * Written by
- * Michael Abernethy (mike@abernethysoft.com),
- * Andrew Parry (aparry0@gmail.com)
- *
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * @author Michael Abernethy, Andrew Parry
- * @version 1.2.3-SNAPSHOT ($Id$)
- *
- * Dependencies
- *
- * jQuery (http://jquery.com)
- * jshashtable (http://www.timdown.co.uk/jshashtable)
- *
- * Notes & Thanks
- *
- * many thanks to advweb.nanasi.jp for his bug fixes
- * jsHashtable is now used also, so thanks to the author for that excellent little class.
- *
- * This plugin can be used to format numbers as text and parse text as Numbers
- * Because we live in an international world, we cannot assume that everyone
- * uses "," to divide thousands, and "." as a decimal point.
- *
- * As of 1.2 the way this plugin works has changed slightly, parsing text to a number
- * has 1 set of functions, formatting a number to text has it's own. Before things
- * were a little confusing, so I wanted to separate the 2 out more.
- *
- *
- * jQuery extension functions:
- *
- * formatNumber(options, writeBack, giveReturnValue) - Reads the value from the subject, parses to
- * a Javascript Number object, then formats back to text using the passed options and write back to
- * the subject.
- *
- * parseNumber(options) - Parses the value in the subject to a Number object using the passed options
- * to decipher the actual number from the text, then writes the value as text back to the subject.
- *
- *
- * Generic functions:
- *
- * formatNumber(numberString, options) - Takes a plain number as a string (e.g. '1002.0123') and returns
- * a string of the given format options.
- *
- * parseNumber(numberString, options) - Takes a number as text that is formatted the same as the given
- * options then and returns it as a plain Number object.
- *
- * To achieve the old way of combining parsing and formatting to keep say a input field always formatted
- * to a given format after it has lost focus you'd simply use a combination of the functions.
- *
- * e.g.
- * $("#salary").blur(function(){
- * $(this).parseNumber({format:"#,###.00", locale:"us"});
- * $(this).formatNumber({format:"#,###.00", locale:"us"});
- * });
- *
- * The syntax for the formatting is:
- * 0 = Digit
- * # = Digit, zero shows as absent
- * . = Decimal separator
- * - = Negative sign
- * , = Grouping Separator
- * % = Percent (multiplies the number by 100)
- *
- * For example, a format of "#,###.00" and text of 4500.20 will
- * display as "4.500,20" with a locale of "de", and "4,500.20" with a locale of "us"
- *
- *
- * As of now, the only acceptable locales are
- * Arab Emirates -> "ae"
- * Australia -> "au"
- * Austria -> "at"
- * Brazil -> "br"
- * Canada -> "ca"
- * China -> "cn"
- * Czech -> "cz"
- * Denmark -> "dk"
- * Egypt -> "eg"
- * Finland -> "fi"
- * France -> "fr"
- * Germany -> "de"
- * Greece -> "gr"
- * Great Britain -> "gb"
- * Hong Kong -> "hk"
- * India -> "in"
- * Israel -> "il"
- * Japan -> "jp"
- * Russia -> "ru"
- * South Korea -> "kr"
- * Spain -> "es"
- * Sweden -> "se"
- * Switzerland -> "ch"
- * Taiwan -> "tw"
- * Thailand -> "th"
- * United States -> "us"
- * Vietnam -> "vn"
- **/
-
-(function(jQuery) {
-
- var nfLocales = new Hashtable();
-
- var nfLocalesLikeUS = [ 'ae','au','ca','cn','eg','gb','hk','il','in','jp','sk','th','tw','us' ];
- var nfLocalesLikeDE = [ 'at','br','de','dk','es','gr','it','nl','pt','tr','vn' ];
- var nfLocalesLikeFR = [ 'cz','fi','fr','ru','se','pl' ];
- var nfLocalesLikeCH = [ 'ch' ];
-
- var nfLocaleFormatting = [ [".", ","], [",", "."], [",", " "], [".", "'"] ];
- var nfAllLocales = [ nfLocalesLikeUS, nfLocalesLikeDE, nfLocalesLikeFR, nfLocalesLikeCH ]
-
- function FormatData(dec, group, neg) {
- this.dec = dec;
- this.group = group;
- this.neg = neg;
- };
-
- function init() {
- // write the arrays into the hashtable
- for (var localeGroupIdx = 0; localeGroupIdx < nfAllLocales.length; localeGroupIdx++) {
- localeGroup = nfAllLocales[localeGroupIdx];
- for (var i = 0; i < localeGroup.length; i++) {
- nfLocales.put(localeGroup[i], localeGroupIdx);
- }
- }
- };
-
- function formatCodes(locale, isFullLocale) {
- if (nfLocales.size() == 0)
- init();
-
- // default values
- var dec = ".";
- var group = ",";
- var neg = "-";
-
- if (isFullLocale == false) {
- // Extract and convert to lower-case any language code from a real 'locale' formatted string, if not use as-is
- // (To prevent locale format like : "fr_FR", "en_US", "de_DE", "fr_FR", "en-US", "de-DE")
- if (locale.indexOf('_') != -1)
- locale = locale.split('_')[1].toLowerCase();
- else if (locale.indexOf('-') != -1)
- locale = locale.split('-')[1].toLowerCase();
- }
-
- // hashtable lookup to match locale with codes
- var codesIndex = nfLocales.get(locale);
- if (codesIndex) {
- var codes = nfLocaleFormatting[codesIndex];
- if (codes) {
- dec = codes[0];
- group = codes[1];
- }
- }
- return new FormatData(dec, group, neg);
- };
-
-
- /* Formatting Methods */
-
-
- /**
- * Formats anything containing a number in standard js number notation.
- *
- * @param {Object} options The formatting options to use
- * @param {Boolean} writeBack (true) If the output value should be written back to the subject
- * @param {Boolean} giveReturnValue (true) If the function should return the output string
- */
- jQuery.fn.formatNumber = function(options, writeBack, giveReturnValue) {
-
- return this.each(function() {
- // enforce defaults
- if (writeBack == null)
- writeBack = true;
- if (giveReturnValue == null)
- giveReturnValue = true;
-
- // get text
- var text;
- if (jQuery(this).is(":input"))
- text = new String(jQuery(this).val());
- else
- text = new String(jQuery(this).text());
-
- // format
- var returnString = jQuery.formatNumber(text, options);
-
- // set formatted string back, only if a success
-// if (returnString) {
- if (writeBack) {
- if (jQuery(this).is(":input"))
- jQuery(this).val(returnString);
- else
- jQuery(this).text(returnString);
- }
- if (giveReturnValue)
- return returnString;
-// }
-// return '';
- });
- };
-
- /**
- * First parses a string and reformats it with the given options.
- *
- * @param {Object} numberString
- * @param {Object} options
- */
- jQuery.formatNumber = function(numberString, options){
- var options = jQuery.extend({}, jQuery.fn.formatNumber.defaults, options);
- var formatData = formatCodes(options.locale.toLowerCase(), options.isFullLocale);
-
- var dec = formatData.dec;
- var group = formatData.group;
- var neg = formatData.neg;
-
- var validFormat = "0#-,.";
-
- // strip all the invalid characters at the beginning and the end
- // of the format, and we'll stick them back on at the end
- // make a special case for the negative sign "-" though, so
- // we can have formats like -$23.32
- var prefix = "";
- var negativeInFront = false;
- for (var i = 0; i < options.format.length; i++) {
- if (validFormat.indexOf(options.format.charAt(i)) == -1)
- prefix = prefix + options.format.charAt(i);
- else
- if (i == 0 && options.format.charAt(i) == '-') {
- negativeInFront = true;
- continue;
- }
- else
- break;
- }
- var suffix = "";
- for (var i = options.format.length - 1; i >= 0; i--) {
- if (validFormat.indexOf(options.format.charAt(i)) == -1)
- suffix = options.format.charAt(i) + suffix;
- else
- break;
- }
-
- options.format = options.format.substring(prefix.length);
- options.format = options.format.substring(0, options.format.length - suffix.length);
-
- // now we need to convert it into a number
- //while (numberString.indexOf(group) > -1)
- // numberString = numberString.replace(group, '');
- //var number = new Number(numberString.replace(dec, ".").replace(neg, "-"));
- var number = new Number(numberString);
-
- return jQuery._formatNumber(number, options, suffix, prefix, negativeInFront);
- };
-
- /**
- * Formats a Number object into a string, using the given formatting options
- *
- * @param {Object} numberString
- * @param {Object} options
- */
- jQuery._formatNumber = function(number, options, suffix, prefix, negativeInFront) {
- var options = jQuery.extend({}, jQuery.fn.formatNumber.defaults, options);
- var formatData = formatCodes(options.locale.toLowerCase(), options.isFullLocale);
-
- var dec = formatData.dec;
- var group = formatData.group;
- var neg = formatData.neg;
-
- var forcedToZero = false;
- if (isNaN(number)) {
- if (options.nanForceZero == true) {
- number = 0;
- forcedToZero = true;
- } else
- return null;
- }
-
- // special case for percentages
- if (suffix == "%")
- number = number * 100;
-
- var returnString = "";
- if (options.format.indexOf(".") > -1) {
- var decimalPortion = dec;
- var decimalFormat = options.format.substring(options.format.lastIndexOf(".") + 1);
-
- // round or truncate number as needed
- if (options.round == true)
- number = new Number(number.toFixed(decimalFormat.length));
- else {
- var numStr = number.toString();
- numStr = numStr.substring(0, numStr.lastIndexOf('.') + decimalFormat.length + 1);
- number = new Number(numStr);
- }
-
- var decimalValue = number % 1;
- var decimalString = new String(decimalValue.toFixed(decimalFormat.length));
- decimalString = decimalString.substring(decimalString.lastIndexOf(".") + 1);
-
- for (var i = 0; i < decimalFormat.length; i++) {
- if (decimalFormat.charAt(i) == '#' && decimalString.charAt(i) != '0') {
- decimalPortion += decimalString.charAt(i);
- continue;
- } else if (decimalFormat.charAt(i) == '#' && decimalString.charAt(i) == '0') {
- var notParsed = decimalString.substring(i);
- if (notParsed.match('[1-9]')) {
- decimalPortion += decimalString.charAt(i);
- continue;
- } else
- break;
- } else if (decimalFormat.charAt(i) == "0")
- decimalPortion += decimalString.charAt(i);
- }
- returnString += decimalPortion
- } else
- number = Math.round(number);
-
- var ones = Math.floor(number);
- if (number < 0)
- ones = Math.ceil(number);
-
- var onesFormat = "";
- if (options.format.indexOf(".") == -1)
- onesFormat = options.format;
- else
- onesFormat = options.format.substring(0, options.format.indexOf("."));
-
- var onePortion = "";
- if (!(ones == 0 && onesFormat.substr(onesFormat.length - 1) == '#') || forcedToZero) {
- // find how many digits are in the group
- var oneText = new String(Math.abs(ones));
- var groupLength = 9999;
- if (onesFormat.lastIndexOf(",") != -1)
- groupLength = onesFormat.length - onesFormat.lastIndexOf(",") - 1;
- var groupCount = 0;
- for (var i = oneText.length - 1; i > -1; i--) {
- onePortion = oneText.charAt(i) + onePortion;
- groupCount++;
- if (groupCount == groupLength && i != 0) {
- onePortion = group + onePortion;
- groupCount = 0;
- }
- }
-
- // account for any pre-data padding
- if (onesFormat.length > onePortion.length) {
- var padStart = onesFormat.indexOf('0');
- if (padStart != -1) {
- var padLen = onesFormat.length - padStart;
-
- // pad to left with 0's or group char
- var pos = onesFormat.length - onePortion.length - 1;
- while (onePortion.length < padLen) {
- var padChar = onesFormat.charAt(pos);
- // replace with real group char if needed
- if (padChar == ',')
- padChar = group;
- onePortion = padChar + onePortion;
- pos--;
- }
- }
- }
- }
-
- if (!onePortion && onesFormat.indexOf('0', onesFormat.length - 1) !== -1)
- onePortion = '0';
-
- returnString = onePortion + returnString;
-
- // handle special case where negative is in front of the invalid characters
- if (number < 0 && negativeInFront && prefix.length > 0)
- prefix = neg + prefix;
- else if (number < 0)
- returnString = neg + returnString;
-
- if (!options.decimalSeparatorAlwaysShown) {
- if (returnString.lastIndexOf(dec) == returnString.length - 1) {
- returnString = returnString.substring(0, returnString.length - 1);
- }
- }
- returnString = prefix + returnString + suffix;
- return returnString;
- };
-
-
- /* Parsing Methods */
-
-
- /**
- * Parses a number of given format from the element and returns a Number object.
- * @param {Object} options
- */
- jQuery.fn.parseNumber = function(options, writeBack, giveReturnValue) {
- // enforce defaults
- if (writeBack == null)
- writeBack = true;
- if (giveReturnValue == null)
- giveReturnValue = true;
-
- // get text
- var text;
- if (jQuery(this).is(":input"))
- text = new String(jQuery(this).val());
- else
- text = new String(jQuery(this).text());
-
- // parse text
- var number = jQuery.parseNumber(text, options);
-
- if (number) {
- if (writeBack) {
- if (jQuery(this).is(":input"))
- jQuery(this).val(number.toString());
- else
- jQuery(this).text(number.toString());
- }
- if (giveReturnValue)
- return number;
- }
- };
-
- /**
- * Parses a string of given format into a Number object.
- *
- * @param {Object} string
- * @param {Object} options
- */
- jQuery.parseNumber = function(numberString, options) {
- var options = jQuery.extend({}, jQuery.fn.parseNumber.defaults, options);
- var formatData = formatCodes(options.locale.toLowerCase(), options.isFullLocale);
-
- var dec = formatData.dec;
- var group = formatData.group;
- var neg = formatData.neg;
-
- var valid = "1234567890.-";
-
- // now we need to convert it into a number
- while (numberString.indexOf(group)>-1)
- numberString = numberString.replace(group,'');
- numberString = numberString.replace(dec,".").replace(neg,"-");
- var validText = "";
- var hasPercent = false;
- if (numberString.charAt(numberString.length - 1) == "%" || options.isPercentage == true)
- hasPercent = true;
- for (var i=0; i<numberString.length; i++) {
- if (valid.indexOf(numberString.charAt(i))>-1)
- validText = validText + numberString.charAt(i);
- }
- var number = new Number(validText);
- if (hasPercent) {
- number = number / 100;
- var decimalPos = validText.indexOf('.');
- if (decimalPos != -1) {
- var decimalPoints = validText.length - decimalPos - 1;
- number = number.toFixed(decimalPoints + 2);
- } else {
- number = number.toFixed(validText.length - 1);
- }
- }
-
- return number;
- };
-
- jQuery.fn.parseNumber.defaults = {
- locale: "us",
- decimalSeparatorAlwaysShown: false,
- isPercentage: false,
- isFullLocale: false
- };
-
- jQuery.fn.formatNumber.defaults = {
- format: "#,###.00",
- locale: "us",
- decimalSeparatorAlwaysShown: false,
- nanForceZero: true,
- round: true,
- isFullLocale: false
- };
-
- Number.prototype.toFixed = function(precision) {
- return jQuery._roundNumber(this, precision);
- };
-
- jQuery._roundNumber = function(number, decimalPlaces) {
- var power = Math.pow(10, decimalPlaces || 0);
- var value = String(Math.round(number * power) / power);
-
- // ensure the decimal places are there
- if (decimalPlaces > 0) {
- var dp = value.indexOf(".");
- if (dp == -1) {
- value += '.';
- dp = 0;
- } else {
- dp = value.length - (dp + 1);
- }
-
- while (dp < decimalPlaces) {
- value += '0';
- dp++;
- }
- }
- return value;
- };
-
- })(jQuery); \ No newline at end of file
diff --git a/library/jslider/js/jquery.slider.js b/library/jslider/js/jquery.slider.js
deleted file mode 100644
index 6d903775f..000000000
--- a/library/jslider/js/jquery.slider.js
+++ /dev/null
@@ -1,700 +0,0 @@
-/**
- * jquery.slider - Slider ui control in jQuery
- *
- * Written by
- * Egor Khmelev (hmelyoff@gmail.com)
- *
- * Licensed under the MIT (MIT-LICENSE.txt).
- *
- * @author Egor Khmelev
- * @version 1.1.0-RELEASE ($Id$)
- *
- * Dependencies
- *
- * jQuery (http://jquery.com)
- * jquery.numberformatter (http://code.google.com/p/jquery-numberformatter/)
- * tmpl (http://ejohn.org/blog/javascript-micro-templating/)
- * jquery.dependClass
- * draggable
- *
- **/
-
-(function( $ ) {
-
- function isArray( value ){
- if( typeof value == "undefined" ) return false;
-
- if (value instanceof Array || (!(value instanceof Object) &&
- (Object.prototype.toString.call((value)) == '[object Array]') ||
- typeof value.length == 'number' &&
- typeof value.splice != 'undefined' &&
- typeof value.propertyIsEnumerable != 'undefined' &&
- !value.propertyIsEnumerable('splice')
- )) {
- return true;
- }
-
- return false;
- }
-
- $.slider = function( node, settings ){
- var jNode = $(node);
- if( !jNode.data( "jslider" ) )
- jNode.data( "jslider", new jSlider( node, settings ) );
-
- return jNode.data( "jslider" );
- };
-
- $.fn.slider = function( action, opt_value ){
- var returnValue, args = arguments;
-
- function isDef( val ){
- return val !== undefined;
- };
-
- function isDefAndNotNull( val ){
- return val != null;
- };
-
- this.each(function(){
- var self = $.slider( this, action );
-
- // do actions
- if( typeof action == "string" ){
- switch( action ){
- case "value":
- if( isDef( args[ 1 ] ) && isDef( args[ 2 ] ) ){
- var pointers = self.getPointers();
- if( isDefAndNotNull( pointers[0] ) && isDefAndNotNull( args[1] ) ){
- pointers[0].set( args[ 1 ] );
- pointers[0].setIndexOver();
- }
-
- if( isDefAndNotNull( pointers[1] ) && isDefAndNotNull( args[2] ) ){
- pointers[1].set( args[ 2 ] );
- pointers[1].setIndexOver();
- }
- }
-
- else if( isDef( args[ 1 ] ) ){
- var pointers = self.getPointers();
- if( isDefAndNotNull( pointers[0] ) && isDefAndNotNull( args[1] ) ){
- pointers[0].set( args[ 1 ] );
- pointers[0].setIndexOver();
- }
- }
-
- else
- returnValue = self.getValue();
-
- break;
-
- case "prc":
- if( isDef( args[ 1 ] ) && isDef( args[ 2 ] ) ){
- var pointers = self.getPointers();
- if( isDefAndNotNull( pointers[0] ) && isDefAndNotNull( args[1] ) ){
- pointers[0]._set( args[ 1 ] );
- pointers[0].setIndexOver();
- }
-
- if( isDefAndNotNull( pointers[1] ) && isDefAndNotNull( args[2] ) ){
- pointers[1]._set( args[ 2 ] );
- pointers[1].setIndexOver();
- }
- }
-
- else if( isDef( args[ 1 ] ) ){
- var pointers = self.getPointers();
- if( isDefAndNotNull( pointers[0] ) && isDefAndNotNull( args[1] ) ){
- pointers[0]._set( args[ 1 ] );
- pointers[0].setIndexOver();
- }
- }
-
- else
- returnValue = self.getPrcValue();
-
- break;
-
- case "calculatedValue":
- var value = self.getValue().split(";");
- returnValue = "";
- for (var i=0; i < value.length; i++) {
- returnValue += (i > 0 ? ";" : "") + self.nice( value[i] );
- };
-
- break;
-
- case "skin":
- self.setSkin( args[1] );
-
- break;
- };
-
- }
-
- // return actual object
- else if( !action && !opt_value ){
- if( !isArray( returnValue ) )
- returnValue = [];
-
- returnValue.push( self );
- }
- });
-
- // flatten array just with one slider
- if( isArray( returnValue ) && returnValue.length == 1 )
- returnValue = returnValue[ 0 ];
-
- return returnValue || this;
- };
-
- var OPTIONS = {
-
- settings: {
- from: 1,
- to: 10,
- step: 1,
- smooth: true,
- limits: true,
- round: 0,
- format: { format: "#,##0.##" },
- value: "5;7",
- dimension: ""
- },
-
- className: "jslider",
- selector: ".jslider-",
-
- template: tmpl(
- '<span class="<%=className%>">' +
- '<table><tr><td>' +
- '<div class="<%=className%>-bg">' +
- '<i class="l"></i><i class="r"></i>' +
- '<i class="v"></i>' +
- '</div>' +
-
- '<div class="<%=className%>-pointer"></div>' +
- '<div class="<%=className%>-pointer <%=className%>-pointer-to"></div>' +
-
- '<div class="<%=className%>-label"><span><%=settings.from%></span></div>' +
- '<div class="<%=className%>-label <%=className%>-label-to"><span><%=settings.to%></span><%=settings.dimension%></div>' +
-
- '<div class="<%=className%>-value"><span></span><%=settings.dimension%></div>' +
- '<div class="<%=className%>-value <%=className%>-value-to"><span></span><%=settings.dimension%></div>' +
-
- '<div class="<%=className%>-scale"><%=scale%></div>'+
-
- '</td></tr></table>' +
- '</span>'
- )
-
- };
-
- function jSlider(){
- return this.init.apply( this, arguments );
- };
-
- jSlider.prototype.init = function( node, settings ){
- this.settings = $.extend(true, {}, OPTIONS.settings, settings ? settings : {});
-
- // obj.sliderHandler = this;
- this.inputNode = $( node ).hide();
-
- this.settings.interval = this.settings.to-this.settings.from;
- this.settings.value = this.inputNode.attr("value");
-
- if( this.settings.calculate && $.isFunction( this.settings.calculate ) )
- this.nice = this.settings.calculate;
-
- if( this.settings.onstatechange && $.isFunction( this.settings.onstatechange ) )
- this.onstatechange = this.settings.onstatechange;
-
- this.is = {
- init: false
- };
- this.o = {};
-
- this.create();
- };
-
- jSlider.prototype.onstatechange = function(){
-
- };
-
- jSlider.prototype.create = function(){
- var $this = this;
-
- this.domNode = $( OPTIONS.template({
- className: OPTIONS.className,
- settings: {
- from: this.nice( this.settings.from ),
- to: this.nice( this.settings.to ),
- dimension: this.settings.dimension
- },
- scale: this.generateScale()
- }) );
-
- this.inputNode.after( this.domNode );
- this.drawScale();
-
- // set skin class
- if( this.settings.skin && this.settings.skin.length > 0 )
- this.setSkin( this.settings.skin );
-
- this.sizes = {
- domWidth: this.domNode.width(),
- domOffset: this.domNode.offset()
- };
-
- // find some objects
- $.extend(this.o, {
- pointers: {},
- labels: {
- 0: {
- o: this.domNode.find(OPTIONS.selector + "value").not(OPTIONS.selector + "value-to")
- },
- 1: {
- o: this.domNode.find(OPTIONS.selector + "value").filter(OPTIONS.selector + "value-to")
- }
- },
- limits: {
- 0: this.domNode.find(OPTIONS.selector + "label").not(OPTIONS.selector + "label-to"),
- 1: this.domNode.find(OPTIONS.selector + "label").filter(OPTIONS.selector + "label-to")
- }
- });
-
- $.extend(this.o.labels[0], {
- value: this.o.labels[0].o.find("span")
- });
-
- $.extend(this.o.labels[1], {
- value: this.o.labels[1].o.find("span")
- });
-
-
- if( !$this.settings.value.split(";")[1] ){
- this.settings.single = true;
- this.domNode.addDependClass("single");
- }
-
- if( !$this.settings.limits )
- this.domNode.addDependClass("limitless");
-
- this.domNode.find(OPTIONS.selector + "pointer").each(function( i ){
- var value = $this.settings.value.split(";")[i];
- if( value ){
- $this.o.pointers[i] = new jSliderPointer( this, i, $this );
-
- var prev = $this.settings.value.split(";")[i-1];
- if( prev && new Number(value) < new Number(prev) ) value = prev;
-
- value = value < $this.settings.from ? $this.settings.from : value;
- value = value > $this.settings.to ? $this.settings.to : value;
-
- $this.o.pointers[i].set( value, true );
- }
- });
-
- this.o.value = this.domNode.find(".v");
- this.is.init = true;
-
- $.each(this.o.pointers, function(i){
- $this.redraw(this);
- });
-
- (function(self){
- $(window).resize(function(){
- self.onresize();
- });
- })(this);
-
- };
-
- jSlider.prototype.setSkin = function( skin ){
- if( this.skin_ )
- this.domNode.removeDependClass( this.skin_, "_" );
-
- this.domNode.addDependClass( this.skin_ = skin, "_" );
- };
-
- jSlider.prototype.setPointersIndex = function( i ){
- $.each(this.getPointers(), function(i){
- this.index( i );
- });
- };
-
- jSlider.prototype.getPointers = function(){
- return this.o.pointers;
- };
-
- jSlider.prototype.generateScale = function(){
- if( this.settings.scale && this.settings.scale.length > 0 ){
- var str = "";
- var s = this.settings.scale;
- var prc = Math.round((100/(s.length-1))*10)/10;
- for( var i=0; i < s.length; i++ ){
- str += '<span style="left: ' + i*prc + '%">' + ( s[i] != '|' ? '<ins>' + s[i] + '</ins>' : '' ) + '</span>';
- };
- return str;
- } else return "";
-
- return "";
- };
-
- jSlider.prototype.drawScale = function(){
- this.domNode.find(OPTIONS.selector + "scale span ins").each(function(){
- $(this).css({ marginLeft: -$(this).outerWidth()/2 });
- });
- };
-
- jSlider.prototype.onresize = function(){
- var self = this;
- this.sizes = {
- domWidth: this.domNode.width(),
- domOffset: this.domNode.offset()
- };
-
- $.each(this.o.pointers, function(i){
- self.redraw(this);
- });
- };
-
- jSlider.prototype.update = function(){
- this.onresize();
- this.drawScale();
- };
-
- jSlider.prototype.limits = function( x, pointer ){
- // smooth
- if( !this.settings.smooth ){
- var step = this.settings.step*100 / ( this.settings.interval );
- x = Math.round( x/step ) * step;
- }
-
- var another = this.o.pointers[1-pointer.uid];
- if( another && pointer.uid && x < another.value.prc ) x = another.value.prc;
- if( another && !pointer.uid && x > another.value.prc ) x = another.value.prc;
-
- // base limit
- if( x < 0 ) x = 0;
- if( x > 100 ) x = 100;
-
- return Math.round( x*10 ) / 10;
- };
-
- jSlider.prototype.redraw = function( pointer ){
- if( !this.is.init ) return false;
-
- this.setValue();
-
- // redraw range line
- if( this.o.pointers[0] && this.o.pointers[1] )
- this.o.value.css({ left: this.o.pointers[0].value.prc + "%", width: ( this.o.pointers[1].value.prc - this.o.pointers[0].value.prc ) + "%" });
-
- this.o.labels[pointer.uid].value.html(
- this.nice(
- pointer.value.origin
- )
- );
-
- // redraw position of labels
- this.redrawLabels( pointer );
-
- };
-
- jSlider.prototype.redrawLabels = function( pointer ){
-
- function setPosition( label, sizes, prc ){
- sizes.margin = -sizes.label/2;
-
- // left limit
- label_left = sizes.border + sizes.margin;
- if( label_left < 0 )
- sizes.margin -= label_left;
-
- // right limit
- if( sizes.border+sizes.label / 2 > self.sizes.domWidth ){
- sizes.margin = 0;
- sizes.right = true;
- } else
- sizes.right = false;
-
- label.o.css({ left: prc + "%", marginLeft: sizes.margin, right: "auto" });
- if( sizes.right ) label.o.css({ left: "auto", right: 0 });
- return sizes;
- }
-
- var self = this;
- var label = this.o.labels[pointer.uid];
- var prc = pointer.value.prc;
-
- var sizes = {
- label: label.o.outerWidth(),
- right: false,
- border: ( prc * this.sizes.domWidth ) / 100
- };
-
- if( !this.settings.single ){
- // glue if near;
- var another = this.o.pointers[1-pointer.uid];
- var another_label = this.o.labels[another.uid];
-
- switch( pointer.uid ){
- case 0:
- if( sizes.border+sizes.label / 2 > another_label.o.offset().left-this.sizes.domOffset.left ){
- another_label.o.css({ visibility: "hidden" });
- another_label.value.html( this.nice( another.value.origin ) );
-
- label.o.css({ visibility: "visible" });
-
- prc = ( another.value.prc - prc ) / 2 + prc;
- if( another.value.prc != pointer.value.prc ){
- label.value.html( this.nice(pointer.value.origin) + "&nbsp;&ndash;&nbsp;" + this.nice(another.value.origin) );
- sizes.label = label.o.outerWidth();
- sizes.border = ( prc * this.sizes.domWidth ) / 100;
- }
- } else {
- another_label.o.css({ visibility: "visible" });
- }
- break;
-
- case 1:
- if( sizes.border - sizes.label / 2 < another_label.o.offset().left - this.sizes.domOffset.left + another_label.o.outerWidth() ){
- another_label.o.css({ visibility: "hidden" });
- another_label.value.html( this.nice(another.value.origin) );
-
- label.o.css({ visibility: "visible" });
-
- prc = ( prc - another.value.prc ) / 2 + another.value.prc;
- if( another.value.prc != pointer.value.prc ){
- label.value.html( this.nice(another.value.origin) + "&nbsp;&ndash;&nbsp;" + this.nice(pointer.value.origin) );
- sizes.label = label.o.outerWidth();
- sizes.border = ( prc * this.sizes.domWidth ) / 100;
- }
- } else {
- another_label.o.css({ visibility: "visible" });
- }
- break;
- }
- }
-
- sizes = setPosition( label, sizes, prc );
-
- /* draw second label */
- if( another_label ){
- var sizes = {
- label: another_label.o.outerWidth(),
- right: false,
- border: ( another.value.prc * this.sizes.domWidth ) / 100
- };
- sizes = setPosition( another_label, sizes, another.value.prc );
- }
-
- this.redrawLimits();
- };
-
- jSlider.prototype.redrawLimits = function(){
- if( this.settings.limits ){
-
- var limits = [ true, true ];
-
- for( key in this.o.pointers ){
-
- if( !this.settings.single || key == 0 ){
-
- var pointer = this.o.pointers[key];
- var label = this.o.labels[pointer.uid];
- var label_left = label.o.offset().left - this.sizes.domOffset.left;
-
- var limit = this.o.limits[0];
- if( label_left < limit.outerWidth() )
- limits[0] = false;
-
- var limit = this.o.limits[1];
- if( label_left + label.o.outerWidth() > this.sizes.domWidth - limit.outerWidth() )
- limits[1] = false;
- }
-
- };
-
- for( var i=0; i < limits.length; i++ ){
- if( limits[i] )
- this.o.limits[i].fadeIn("fast");
- else
- this.o.limits[i].fadeOut("fast");
- };
-
- }
- };
-
- jSlider.prototype.setValue = function(){
- var value = this.getValue();
- this.inputNode.attr( "value", value );
- this.onstatechange.call( this, value );
- };
-
- jSlider.prototype.getValue = function(){
- if(!this.is.init) return false;
- var $this = this;
-
- var value = "";
- $.each( this.o.pointers, function(i){
- if( this.value.prc != undefined && !isNaN(this.value.prc) ) value += (i > 0 ? ";" : "") + $this.prcToValue( this.value.prc );
- });
- return value;
- };
-
- jSlider.prototype.getPrcValue = function(){
- if(!this.is.init) return false;
- var $this = this;
-
- var value = "";
- $.each( this.o.pointers, function(i){
- if( this.value.prc != undefined && !isNaN(this.value.prc) ) value += (i > 0 ? ";" : "") + this.value.prc;
- });
- return value;
- };
-
- jSlider.prototype.prcToValue = function( prc ){
-
- if( this.settings.heterogeneity && this.settings.heterogeneity.length > 0 ){
- var h = this.settings.heterogeneity;
-
- var _start = 0;
- var _from = this.settings.from;
-
- for( var i=0; i <= h.length; i++ ){
- if( h[i] ) var v = h[i].split("/");
- else var v = [100, this.settings.to];
-
- v[0] = new Number(v[0]);
- v[1] = new Number(v[1]);
-
- if( prc >= _start && prc <= v[0] ) {
- var value = _from + ( (prc-_start) * (v[1]-_from) ) / (v[0]-_start);
- }
-
- _start = v[0];
- _from = v[1];
- };
-
- } else {
- var value = this.settings.from + ( prc * this.settings.interval ) / 100;
- }
-
- return this.round( value );
- };
-
- jSlider.prototype.valueToPrc = function( value, pointer ){
- if( this.settings.heterogeneity && this.settings.heterogeneity.length > 0 ){
- var h = this.settings.heterogeneity;
-
- var _start = 0;
- var _from = this.settings.from;
-
- for (var i=0; i <= h.length; i++) {
- if(h[i]) var v = h[i].split("/");
- else var v = [100, this.settings.to];
- v[0] = new Number(v[0]); v[1] = new Number(v[1]);
-
- if(value >= _from && value <= v[1]){
- var prc = pointer.limits(_start + (value-_from)*(v[0]-_start)/(v[1]-_from));
- }
-
- _start = v[0]; _from = v[1];
- };
-
- } else {
- var prc = pointer.limits((value-this.settings.from)*100/this.settings.interval);
- }
-
- return prc;
- };
-
- jSlider.prototype.round = function( value ){
- value = Math.round( value / this.settings.step ) * this.settings.step;
- if( this.settings.round ) value = Math.round( value * Math.pow(10, this.settings.round) ) / Math.pow(10, this.settings.round);
- else value = Math.round( value );
- return value;
- };
-
- jSlider.prototype.nice = function( value ){
- value = value.toString().replace(/,/gi, ".").replace(/ /gi, "");;
-
- if( $.formatNumber ){
- return $.formatNumber( new Number(value), this.settings.format || {} ).replace( /-/gi, "&minus;" );
- }
-
- else {
- return new Number(value);
- }
- };
-
-
- function jSliderPointer(){
- Draggable.apply( this, arguments );
- }
- jSliderPointer.prototype = new Draggable();
-
- jSliderPointer.prototype.oninit = function( ptr, id, _constructor ){
- this.uid = id;
- this.parent = _constructor;
- this.value = {};
- this.settings = this.parent.settings;
- };
-
- jSliderPointer.prototype.onmousedown = function(evt){
- this._parent = {
- offset: this.parent.domNode.offset(),
- width: this.parent.domNode.width()
- };
- this.ptr.addDependClass("hover");
- this.setIndexOver();
- };
-
- jSliderPointer.prototype.onmousemove = function( evt, x ){
- var coords = this._getPageCoords( evt );
- this._set( this.calc( coords.x ) );
- };
-
- jSliderPointer.prototype.onmouseup = function( evt ){
- if( this.parent.settings.callback && $.isFunction(this.parent.settings.callback) )
- this.parent.settings.callback.call( this.parent, this.parent.getValue() );
-
- this.ptr.removeDependClass("hover");
- };
-
- jSliderPointer.prototype.setIndexOver = function(){
- this.parent.setPointersIndex( 1 );
- this.index( 2 );
- };
-
- jSliderPointer.prototype.index = function( i ){
- this.ptr.css({ zIndex: i });
- };
-
- jSliderPointer.prototype.limits = function( x ){
- return this.parent.limits( x, this );
- };
-
- jSliderPointer.prototype.calc = function(coords){
- var x = this.limits(((coords-this._parent.offset.left)*100)/this._parent.width);
- return x;
- };
-
- jSliderPointer.prototype.set = function( value, opt_origin ){
- this.value.origin = this.parent.round(value);
- this._set( this.parent.valueToPrc( value, this ), opt_origin );
- };
-
- jSliderPointer.prototype._set = function( prc, opt_origin ){
- if( !opt_origin )
- this.value.origin = this.parent.prcToValue(prc);
-
- this.value.prc = prc;
- this.ptr.css({ left: prc + "%" });
- this.parent.redraw(this);
- };
-
-})(jQuery); \ No newline at end of file
diff --git a/library/jslider/js/jshashtable-2.1_src.js b/library/jslider/js/jshashtable-2.1_src.js
deleted file mode 100644
index 086f3de5b..000000000
--- a/library/jslider/js/jshashtable-2.1_src.js
+++ /dev/null
@@ -1,370 +0,0 @@
-/**
- * Copyright 2010 Tim Down.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * jshashtable
- *
- * jshashtable is a JavaScript implementation of a hash table. It creates a single constructor function called Hashtable
- * in the global scope.
- *
- * Author: Tim Down <tim@timdown.co.uk>
- * Version: 2.1
- * Build date: 21 March 2010
- * Website: http://www.timdown.co.uk/jshashtable
- */
-
-var Hashtable = (function() {
- var FUNCTION = "function";
-
- var arrayRemoveAt = (typeof Array.prototype.splice == FUNCTION) ?
- function(arr, idx) {
- arr.splice(idx, 1);
- } :
-
- function(arr, idx) {
- var itemsAfterDeleted, i, len;
- if (idx === arr.length - 1) {
- arr.length = idx;
- } else {
- itemsAfterDeleted = arr.slice(idx + 1);
- arr.length = idx;
- for (i = 0, len = itemsAfterDeleted.length; i < len; ++i) {
- arr[idx + i] = itemsAfterDeleted[i];
- }
- }
- };
-
- function hashObject(obj) {
- var hashCode;
- if (typeof obj == "string") {
- return obj;
- } else if (typeof obj.hashCode == FUNCTION) {
- // Check the hashCode method really has returned a string
- hashCode = obj.hashCode();
- return (typeof hashCode == "string") ? hashCode : hashObject(hashCode);
- } else if (typeof obj.toString == FUNCTION) {
- return obj.toString();
- } else {
- try {
- return String(obj);
- } catch (ex) {
- // For host objects (such as ActiveObjects in IE) that have no toString() method and throw an error when
- // passed to String()
- return Object.prototype.toString.call(obj);
- }
- }
- }
-
- function equals_fixedValueHasEquals(fixedValue, variableValue) {
- return fixedValue.equals(variableValue);
- }
-
- function equals_fixedValueNoEquals(fixedValue, variableValue) {
- return (typeof variableValue.equals == FUNCTION) ?
- variableValue.equals(fixedValue) : (fixedValue === variableValue);
- }
-
- function createKeyValCheck(kvStr) {
- return function(kv) {
- if (kv === null) {
- throw new Error("null is not a valid " + kvStr);
- } else if (typeof kv == "undefined") {
- throw new Error(kvStr + " must not be undefined");
- }
- };
- }
-
- var checkKey = createKeyValCheck("key"), checkValue = createKeyValCheck("value");
-
- /*----------------------------------------------------------------------------------------------------------------*/
-
- function Bucket(hash, firstKey, firstValue, equalityFunction) {
- this[0] = hash;
- this.entries = [];
- this.addEntry(firstKey, firstValue);
-
- if (equalityFunction !== null) {
- this.getEqualityFunction = function() {
- return equalityFunction;
- };
- }
- }
-
- var EXISTENCE = 0, ENTRY = 1, ENTRY_INDEX_AND_VALUE = 2;
-
- function createBucketSearcher(mode) {
- return function(key) {
- var i = this.entries.length, entry, equals = this.getEqualityFunction(key);
- while (i--) {
- entry = this.entries[i];
- if ( equals(key, entry[0]) ) {
- switch (mode) {
- case EXISTENCE:
- return true;
- case ENTRY:
- return entry;
- case ENTRY_INDEX_AND_VALUE:
- return [ i, entry[1] ];
- }
- }
- }
- return false;
- };
- }
-
- function createBucketLister(entryProperty) {
- return function(aggregatedArr) {
- var startIndex = aggregatedArr.length;
- for (var i = 0, len = this.entries.length; i < len; ++i) {
- aggregatedArr[startIndex + i] = this.entries[i][entryProperty];
- }
- };
- }
-
- Bucket.prototype = {
- getEqualityFunction: function(searchValue) {
- return (typeof searchValue.equals == FUNCTION) ? equals_fixedValueHasEquals : equals_fixedValueNoEquals;
- },
-
- getEntryForKey: createBucketSearcher(ENTRY),
-
- getEntryAndIndexForKey: createBucketSearcher(ENTRY_INDEX_AND_VALUE),
-
- removeEntryForKey: function(key) {
- var result = this.getEntryAndIndexForKey(key);
- if (result) {
- arrayRemoveAt(this.entries, result[0]);
- return result[1];
- }
- return null;
- },
-
- addEntry: function(key, value) {
- this.entries[this.entries.length] = [key, value];
- },
-
- keys: createBucketLister(0),
-
- values: createBucketLister(1),
-
- getEntries: function(entries) {
- var startIndex = entries.length;
- for (var i = 0, len = this.entries.length; i < len; ++i) {
- // Clone the entry stored in the bucket before adding to array
- entries[startIndex + i] = this.entries[i].slice(0);
- }
- },
-
- containsKey: createBucketSearcher(EXISTENCE),
-
- containsValue: function(value) {
- var i = this.entries.length;
- while (i--) {
- if ( value === this.entries[i][1] ) {
- return true;
- }
- }
- return false;
- }
- };
-
- /*----------------------------------------------------------------------------------------------------------------*/
-
- // Supporting functions for searching hashtable buckets
-
- function searchBuckets(buckets, hash) {
- var i = buckets.length, bucket;
- while (i--) {
- bucket = buckets[i];
- if (hash === bucket[0]) {
- return i;
- }
- }
- return null;
- }
-
- function getBucketForHash(bucketsByHash, hash) {
- var bucket = bucketsByHash[hash];
-
- // Check that this is a genuine bucket and not something inherited from the bucketsByHash's prototype
- return ( bucket && (bucket instanceof Bucket) ) ? bucket : null;
- }
-
- /*----------------------------------------------------------------------------------------------------------------*/
-
- function Hashtable(hashingFunctionParam, equalityFunctionParam) {
- var that = this;
- var buckets = [];
- var bucketsByHash = {};
-
- var hashingFunction = (typeof hashingFunctionParam == FUNCTION) ? hashingFunctionParam : hashObject;
- var equalityFunction = (typeof equalityFunctionParam == FUNCTION) ? equalityFunctionParam : null;
-
- this.put = function(key, value) {
- checkKey(key);
- checkValue(value);
- var hash = hashingFunction(key), bucket, bucketEntry, oldValue = null;
-
- // Check if a bucket exists for the bucket key
- bucket = getBucketForHash(bucketsByHash, hash);
- if (bucket) {
- // Check this bucket to see if it already contains this key
- bucketEntry = bucket.getEntryForKey(key);
- if (bucketEntry) {
- // This bucket entry is the current mapping of key to value, so replace old value and we're done.
- oldValue = bucketEntry[1];
- bucketEntry[1] = value;
- } else {
- // The bucket does not contain an entry for this key, so add one
- bucket.addEntry(key, value);
- }
- } else {
- // No bucket exists for the key, so create one and put our key/value mapping in
- bucket = new Bucket(hash, key, value, equalityFunction);
- buckets[buckets.length] = bucket;
- bucketsByHash[hash] = bucket;
- }
- return oldValue;
- };
-
- this.get = function(key) {
- checkKey(key);
-
- var hash = hashingFunction(key);
-
- // Check if a bucket exists for the bucket key
- var bucket = getBucketForHash(bucketsByHash, hash);
- if (bucket) {
- // Check this bucket to see if it contains this key
- var bucketEntry = bucket.getEntryForKey(key);
- if (bucketEntry) {
- // This bucket entry is the current mapping of key to value, so return the value.
- return bucketEntry[1];
- }
- }
- return null;
- };
-
- this.containsKey = function(key) {
- checkKey(key);
- var bucketKey = hashingFunction(key);
-
- // Check if a bucket exists for the bucket key
- var bucket = getBucketForHash(bucketsByHash, bucketKey);
-
- return bucket ? bucket.containsKey(key) : false;
- };
-
- this.containsValue = function(value) {
- checkValue(value);
- var i = buckets.length;
- while (i--) {
- if (buckets[i].containsValue(value)) {
- return true;
- }
- }
- return false;
- };
-
- this.clear = function() {
- buckets.length = 0;
- bucketsByHash = {};
- };
-
- this.isEmpty = function() {
- return !buckets.length;
- };
-
- var createBucketAggregator = function(bucketFuncName) {
- return function() {
- var aggregated = [], i = buckets.length;
- while (i--) {
- buckets[i][bucketFuncName](aggregated);
- }
- return aggregated;
- };
- };
-
- this.keys = createBucketAggregator("keys");
- this.values = createBucketAggregator("values");
- this.entries = createBucketAggregator("getEntries");
-
- this.remove = function(key) {
- checkKey(key);
-
- var hash = hashingFunction(key), bucketIndex, oldValue = null;
-
- // Check if a bucket exists for the bucket key
- var bucket = getBucketForHash(bucketsByHash, hash);
-
- if (bucket) {
- // Remove entry from this bucket for this key
- oldValue = bucket.removeEntryForKey(key);
- if (oldValue !== null) {
- // Entry was removed, so check if bucket is empty
- if (!bucket.entries.length) {
- // Bucket is empty, so remove it from the bucket collections
- bucketIndex = searchBuckets(buckets, hash);
- arrayRemoveAt(buckets, bucketIndex);
- delete bucketsByHash[hash];
- }
- }
- }
- return oldValue;
- };
-
- this.size = function() {
- var total = 0, i = buckets.length;
- while (i--) {
- total += buckets[i].entries.length;
- }
- return total;
- };
-
- this.each = function(callback) {
- var entries = that.entries(), i = entries.length, entry;
- while (i--) {
- entry = entries[i];
- callback(entry[0], entry[1]);
- }
- };
-
- this.putAll = function(hashtable, conflictCallback) {
- var entries = hashtable.entries();
- var entry, key, value, thisValue, i = entries.length;
- var hasConflictCallback = (typeof conflictCallback == FUNCTION);
- while (i--) {
- entry = entries[i];
- key = entry[0];
- value = entry[1];
-
- // Check for a conflict. The default behaviour is to overwrite the value for an existing key
- if ( hasConflictCallback && (thisValue = that.get(key)) ) {
- value = conflictCallback(key, thisValue, value);
- }
- that.put(key, value);
- }
- };
-
- this.clone = function() {
- var clone = new Hashtable(hashingFunctionParam, equalityFunctionParam);
- clone.putAll(that);
- return clone;
- };
- }
-
- return Hashtable;
-})(); \ No newline at end of file
diff --git a/library/jslider/js/tmpl.js b/library/jslider/js/tmpl.js
deleted file mode 100644
index 36eadf28a..000000000
--- a/library/jslider/js/tmpl.js
+++ /dev/null
@@ -1,35 +0,0 @@
-// Simple JavaScript Templating
-// John Resig - http://ejohn.org/ - MIT Licensed
-(function(){
- var cache = {};
-
- this.tmpl = function tmpl(str, data){
- // Figure out if we're getting a template, or if we need to
- // load the template - and be sure to cache the result.
- var fn = !/\W/.test(str) ?
- cache[str] = cache[str] ||
- tmpl(document.getElementById(str).innerHTML) :
-
- // Generate a reusable function that will serve as a template
- // generator (and which will be cached).
- new Function("obj",
- "var p=[],print=function(){p.push.apply(p,arguments);};" +
-
- // Introduce the data as local variables using with(){}
- "with(obj){p.push('" +
-
- // Convert the template into pure JavaScript
- str
- .replace(/[\r\t\n]/g, " ")
- .split("<%").join("\t")
- .replace(/((^|%>)[^\t]*)'/g, "$1\r")
- .replace(/\t=(.*?)%>/g, "',$1,'")
- .split("\t").join("');")
- .split("%>").join("p.push('")
- .split("\r").join("\\'")
- + "');}return p.join('');");
-
- // Provide some basic currying to the user
- return data ? fn( data ) : fn;
- };
-})(); \ No newline at end of file
diff --git a/library/jslider/src/skin.psd b/library/jslider/src/skin.psd
deleted file mode 100644
index 2c46c91db..000000000
--- a/library/jslider/src/skin.psd
+++ /dev/null
Binary files differ
diff --git a/library/jslider/tests/show_hide.html b/library/jslider/tests/show_hide.html
deleted file mode 100644
index 57d3e929d..000000000
--- a/library/jslider/tests/show_hide.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>jSlider Show/hide test</title>
-
- <!-- bin/jquery.slider.min.css -->
- <link rel="stylesheet" href="../css/jslider.css" type="text/css">
- <link rel="stylesheet" href="../css/jslider.plastic.css" type="text/css">
- <!-- end -->
-
- <script type="text/javascript" src="../js/jquery-1.7.1.js"></script>
-
- <!-- bin/jquery.slider.min.js -->
- <script type="text/javascript" src="../js/jshashtable-2.1_src.js"></script>
- <script type="text/javascript" src="../js/jquery.numberformatter-1.2.3.js"></script>
- <script type="text/javascript" src="../js/tmpl.js"></script>
- <script type="text/javascript" src="../js/jquery.dependClass-0.1.js"></script>
- <script type="text/javascript" src="../js/draggable-0.1.js"></script>
- <script type="text/javascript" src="../js/jquery.slider.js"></script>
- <!-- end -->
-
- <style type="text/css" media="screen">
- body { background: #EEF0F7; }
- .layout { padding: 50px; font-family: Georgia, serif; }
- .layout-slider { margin-bottom: 60px; width: 50%; padding: 20px 0; }
- </style>
-
-</head>
-<body>
-
- <div class="layout">
-
- <div class="layout-slider" style="width: 100%; display: none;">
- Slider <span style="display: inline-block; width: 400px; padding: 0 5px;"><input id="Slider3" type="text" name="area" value="25;75" /></span> in string
- </div>
- <a href="#" id="trigger">Show/Hide</a>
-
- <script type="text/javascript" charset="utf-8">
- var layout = $(".layout-slider"),
- trigger = $("#trigger");
-
- jQuery("#Slider3").slider({ from: 0, to: 500, heterogeneity: ['50/100', '75/250'], scale: [0, '|', 50, '|', '100', '|', 250, '|', 500], limits: false, step: 1, dimension: '&nbsp;m<small>2</small>', skin: "plastic" });
-
- $(trigger).click( function(){
- layout.slideToggle("fast");
- $("#Slider3").slider().update();
- });
- </script>
-
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/library/jslider/tests/zero_value.html b/library/jslider/tests/zero_value.html
deleted file mode 100644
index 7d9e9f874..000000000
--- a/library/jslider/tests/zero_value.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <title>jSlider Zero value test</title>
-
- <!-- bin/jquery.slider.min.css -->
- <link rel="stylesheet" href="../css/jslider.css" type="text/css">
- <link rel="stylesheet" href="../css/jslider.plastic.css" type="text/css">
- <!-- end -->
-
- <script type="text/javascript" src="../js/jquery-1.7.1.js"></script>
-
- <!-- bin/jquery.slider.min.js -->
- <script type="text/javascript" src="../js/jshashtable-2.1_src.js"></script>
- <script type="text/javascript" src="../js/jquery.numberformatter-1.2.3.js"></script>
- <script type="text/javascript" src="../js/tmpl.js"></script>
- <script type="text/javascript" src="../js/jquery.dependClass-0.1.js"></script>
- <script type="text/javascript" src="../js/draggable-0.1.js"></script>
- <script type="text/javascript" src="../js/jquery.slider.js"></script>
- <!-- end -->
-
- <style type="text/css" media="screen">
- body { background: #EEF0F7; }
- .layout { padding: 50px; font-family: Georgia, serif; }
- .layout-slider { margin-bottom: 60px; width: 50%; }
- </style>
-
-</head>
-<body>
-
- <div class="layout">
-
- <div class="layout-slider" style="width: 100%">
- Slider <span style="display: inline-block; width: 400px; padding: 0 5px;"><input id="Slider1" type="slider" name="price" value="50" /></span> in string
- </div>
- <script type="text/javascript" charset="utf-8">
- jQuery("#Slider1").slider({
- from: -50,
- to: 200,
- step: 5,
- dimension: '%',
- skin: 'plastic',
- scale: ['-50', '|', '0', '|', '50', '|', '100', '|', '150', '|', '200']
- });
- </script>
-
- <div class="layout-slider" style="width: 100%">
- Slider <span style="display: inline-block; width: 400px; padding: 0 5px;"><input id="Slider2" type="slider" name="price" value="-0.5;0.5" /></span> in string
- </div>
- <script type="text/javascript" charset="utf-8">
- jQuery("#Slider2").slider({
- from: -1,
- to: 1,
- step: 0.1,
- round: 1,
- dimension: 'px',
- skin: 'plastic'
- });
- </script>
-
- </div>
-</body>
-</html> \ No newline at end of file
diff --git a/library/jslider/tools/yuicompressor-2.4.7.jar b/library/jslider/tools/yuicompressor-2.4.7.jar
deleted file mode 100644
index 3c9a408aa..000000000
--- a/library/jslider/tools/yuicompressor-2.4.7.jar
+++ /dev/null
Binary files differ
diff --git a/library/readmore.js/README.md b/library/readmore.js/README.md
new file mode 100644
index 000000000..0116fbe8b
--- /dev/null
+++ b/library/readmore.js/README.md
@@ -0,0 +1,171 @@
+# Readmore.js
+
+A smooth, responsive jQuery plugin for collapsing and expanding long blocks of text with "Read more" and "Close" links.
+
+The markup Readmore.js requires is so simple, you can probably use it with your existing HTML—there's no need for complicated sets of `div`'s or hardcoded classes, just call `.readmore()` on the element containing your block of text and Readmore.js takes care of the rest. Readmore.js plays well in a responsive environment, too.
+
+Readmore.js is tested with—and supported on—all versions of jQuery greater than 1.9.1. All the "good" browsers are supported, as well as IE10+; IE8 & 9 _should_ work, but are not supported and the experience will not be ideal.
+
+
+## Install
+
+Install Readmore.js with Bower:
+
+```
+$ bower install readmore
+```
+
+Then include it in your HTML:
+
+```html
+<script src="/bower_components/readmore/readmore.min.js"></script>
+```
+
+
+## Use
+
+```javascript
+$('article').readmore();
+```
+
+It's that simple. You can change the speed of the animation, the height of the collapsed block, and the open and close elements.
+
+```javascript
+$('article').readmore({
+ speed: 75,
+ lessLink: '<a href="#">Read less</a>'
+});
+```
+
+### The options:
+
+* `speed: 100` in milliseconds
+* `collapsedHeight: 200` in pixels
+* `heightMargin: 16` in pixels, avoids collapsing blocks that are only slightly larger than `collapsedHeight`
+* `moreLink: '<a href="#">Read more</a>'`
+* `lessLink: '<a href="#">Close</a>'`
+* `embedCSS: true` insert required CSS dynamically, set this to `false` if you include the necessary CSS in a stylesheet
+* `blockCSS: 'display: block; width: 100%;'` sets the styling of the blocks, ignored if `embedCSS` is `false`
+* `startOpen: false` do not immediately truncate, start in the fully opened position
+* `beforeToggle: function() {}` called after a more or less link is clicked, but *before* the block is collapsed or expanded
+* `afterToggle: function() {}` called *after* the block is collapsed or expanded
+
+If the element has a `max-height` CSS property, Readmore.js will use that value rather than the value of the `collapsedHeight` option.
+
+### The callbacks:
+
+The callback functions, `beforeToggle` and `afterToggle`, both receive the same arguments: `trigger`, `element`, and `expanded`.
+
+* `trigger`: the "Read more" or "Close" element that was clicked
+* `element`: the block that is being collapsed or expanded
+* `expanded`: Boolean; `true` means the block is expanded
+
+#### Callback example:
+
+Here's an example of how you could use the `afterToggle` callback to scroll back to the top of a block when the "Close" link is clicked.
+
+```javascript
+$('article').readmore({
+ afterToggle: function(trigger, element, expanded) {
+ if(! expanded) { // The "Close" link was clicked
+ $('html, body').animate( { scrollTop: element.offset().top }, {duration: 100 } );
+ }
+ }
+});
+```
+
+### Removing Readmore:
+
+You can remove the Readmore.js functionality like so:
+
+```javascript
+$('article').readmore('destroy');
+```
+
+Or, you can be more surgical by specifying a particular element:
+
+```javascript
+$('article:first').readmore('destroy');
+```
+
+### Toggling blocks programmatically:
+
+You can toggle a block from code:
+
+```javascript
+$('article:nth-of-type(3)').readmore('toggle');
+```
+
+
+## CSS:
+
+Readmore.js is designed to use CSS for as much functionality as possible: collapsed height can be set in CSS with the `max-height` property; "collapsing" is achieved by setting `overflow: hidden` on the containing block and changing the `height` property; and, finally, the expanding/collapsing animation is done with CSS3 transitions.
+
+By default, Readmore.js inserts the following CSS, in addition to some transition-related rules:
+
+```css
+selector + [data-readmore-toggle], selector[data-readmore] {
+ display: block;
+ width: 100%;
+}
+```
+
+_`selector` would be the element you invoked `readmore()` on, e.g.: `$('selector').readmore()`_
+
+You can override the base rules when you set up Readmore.js like so:
+
+```javascript
+$('article').readmore({blockCSS: 'display: inline-block; width: 50%;'});
+```
+
+If you want to include the necessary styling in your site's stylesheet, you can disable the dynamic embedding by setting `embedCSS` to `false`:
+
+```javascript
+$('article').readmore({embedCSS: false});
+```
+
+### Media queries and other CSS tricks:
+
+If you wanted to set a `maxHeight` based on lines, you could do so in CSS with something like:
+
+```css
+body {
+ font: 16px/1.5 sans-serif;
+}
+
+/* Show only 4 lines in smaller screens */
+article {
+ max-height: 6em; /* (4 * 1.5 = 6) */
+}
+```
+
+Then, with a media query you could change the number of lines shown, like so:
+
+```css
+/* Show 8 lines on larger screens */
+@media screen and (min-width: 640px) {
+ article {
+ max-height: 12em;
+ }
+}
+```
+
+
+## Contributing
+
+Pull requests are always welcome, but not all suggested features will get merged. Feel free to contact me if you have an idea for a feature.
+
+Pull requests should include the minified script and this readme and the demo HTML should be updated with descriptions of your new feature.
+
+You'll need NPM:
+
+```
+$ npm install
+```
+
+Which will install the necessary development dependencies. Then, to build the minified script:
+
+```
+$ gulp compress
+```
+
diff --git a/library/readmore.js/readmore.js b/library/readmore.js/readmore.js
new file mode 100644
index 000000000..171f69776
--- /dev/null
+++ b/library/readmore.js/readmore.js
@@ -0,0 +1,320 @@
+/*!
+ * @preserve
+ *
+ * Readmore.js jQuery plugin
+ * Author: @jed_foster
+ * Project home: http://jedfoster.github.io/Readmore.js
+ * Licensed under the MIT license
+ *
+ * Debounce function from http://davidwalsh.name/javascript-debounce-function
+ */
+
+/* global jQuery */
+
+(function($) {
+ 'use strict';
+
+ var readmore = 'readmore',
+ defaults = {
+ speed: 100,
+ collapsedHeight: 200,
+ heightMargin: 16,
+ moreLink: '<a href="#">Read More</a>',
+ lessLink: '<a href="#">Close</a>',
+ embedCSS: true,
+ blockCSS: 'display: block; width: 100%;',
+ startOpen: false,
+
+ // callbacks
+ beforeToggle: function(){},
+ afterToggle: function(){}
+ },
+ cssEmbedded = {},
+ uniqueIdCounter = 0;
+
+ function debounce(func, wait, immediate) {
+ var timeout;
+
+ return function() {
+ var context = this, args = arguments;
+ var later = function() {
+ timeout = null;
+ if (! immediate) {
+ func.apply(context, args);
+ }
+ };
+ var callNow = immediate && !timeout;
+
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+
+ if (callNow) {
+ func.apply(context, args);
+ }
+ };
+ }
+
+ function uniqueId(prefix) {
+ var id = ++uniqueIdCounter;
+
+ return String(prefix == null ? 'rmjs-' : prefix) + id;
+ }
+
+ function setBoxHeights(element) {
+ var el = element.clone().css({
+ height: 'auto',
+ width: element.width(),
+ maxHeight: 'none',
+ overflow: 'hidden'
+ }).insertAfter(element),
+ expandedHeight = el.outerHeight(),
+ cssMaxHeight = parseInt(el.css({maxHeight: ''}).css('max-height').replace(/[^-\d\.]/g, ''), 10),
+ defaultHeight = element.data('defaultHeight');
+
+ el.remove();
+
+ var collapsedHeight = element.data('collapsedHeight') || defaultHeight;
+
+ if (!cssMaxHeight) {
+ collapsedHeight = defaultHeight;
+ }
+ else if (cssMaxHeight > collapsedHeight) {
+ collapsedHeight = cssMaxHeight;
+ }
+
+ // Store our measurements.
+ element.data({
+ expandedHeight: expandedHeight,
+ maxHeight: cssMaxHeight,
+ collapsedHeight: collapsedHeight
+ })
+ // and disable any `max-height` property set in CSS
+ .css({
+ maxHeight: 'none'
+ });
+ }
+
+ var resizeBoxes = debounce(function() {
+ $('[data-readmore]').each(function() {
+ var current = $(this),
+ isExpanded = (current.attr('aria-expanded') === 'true');
+
+ setBoxHeights(current);
+
+ current.css({
+ height: current.data( (isExpanded ? 'expandedHeight' : 'collapsedHeight') )
+ });
+ });
+ }, 100);
+
+ function embedCSS(options) {
+ if (! cssEmbedded[options.selector]) {
+ var styles = ' ';
+
+ if (options.embedCSS && options.blockCSS !== '') {
+ styles += options.selector + ' + [data-readmore-toggle], ' +
+ options.selector + '[data-readmore]{' +
+ options.blockCSS +
+ '}';
+ }
+
+ // Include the transition CSS even if embedCSS is false
+ styles += options.selector + '[data-readmore]{' +
+ 'transition: height ' + options.speed + 'ms;' +
+ 'overflow: hidden;' +
+ '}';
+
+ (function(d, u) {
+ var css = d.createElement('style');
+ css.type = 'text/css';
+
+ if (css.styleSheet) {
+ css.styleSheet.cssText = u;
+ }
+ else {
+ css.appendChild(d.createTextNode(u));
+ }
+
+ d.getElementsByTagName('head')[0].appendChild(css);
+ }(document, styles));
+
+ cssEmbedded[options.selector] = true;
+ }
+ }
+
+ function Readmore(element, options) {
+ var $this = this;
+
+ this.element = element;
+
+ this.options = $.extend({}, defaults, options);
+ $(this.element).data({
+ defaultHeight: this.options.collapsedHeight,
+ heightMargin: this.options.heightMargin
+ });
+
+ embedCSS(this.options);
+
+ this._defaults = defaults;
+ this._name = readmore;
+
+ // Waiting for the page to load doesn't work when there is dynamic content
+ // But usually we already have the content, so no need to wait
+ //window.addEventListener('load', function() {
+ $this.init();
+ //});
+ }
+
+
+ Readmore.prototype = {
+ init: function() {
+ var $this = this;
+
+ $(this.element).each(function() {
+ var current = $(this);
+
+ setBoxHeights(current);
+
+ var collapsedHeight = current.data('collapsedHeight'),
+ heightMargin = current.data('heightMargin');
+
+ if (current.outerHeight(true) <= collapsedHeight + heightMargin) {
+ // The block is shorter than the limit, so there's no need to truncate it.
+ return true;
+ }
+ else {
+ var id = current.attr('id') || uniqueId(),
+ useLink = $this.options.startOpen ? $this.options.lessLink : $this.options.moreLink;
+
+ current.attr({
+ 'data-readmore': '',
+ 'aria-expanded': false,
+ 'id': id
+ });
+
+ current.after($(useLink)
+ .on('click', function(event) { $this.toggle(this, current[0], event); })
+ .attr({
+ 'data-readmore-toggle': '',
+ 'aria-controls': id
+ }));
+
+ if (! $this.options.startOpen) {
+ current.css({
+ height: collapsedHeight
+ });
+ }
+ }
+ });
+
+ window.addEventListener('resize', function() {
+ resizeBoxes();
+ });
+ },
+
+ toggle: function(trigger, element, event) {
+ if (event) {
+ event.preventDefault();
+ }
+
+ if (! trigger) {
+ trigger = $('[aria-controls="' + this.element.id + '"]')[0];
+ }
+
+ if (! element) {
+ element = this.element;
+ }
+
+ var $this = this,
+ $element = $(element),
+ newHeight = '',
+ newLink = '',
+ expanded = false,
+ collapsedHeight = $element.data('collapsedHeight');
+
+ if ($element.height() <= collapsedHeight) {
+ newHeight = $element.data('expandedHeight') + 'px';
+ newLink = 'lessLink';
+ expanded = true;
+ }
+ else {
+ newHeight = collapsedHeight;
+ newLink = 'moreLink';
+ }
+
+ // Fire beforeToggle callback
+ // Since we determined the new "expanded" state above we're now out of sync
+ // with our true current state, so we need to flip the value of `expanded`
+ $this.options.beforeToggle(trigger, element, ! expanded);
+
+ $element.css({'height': newHeight});
+
+ // Fire afterToggle callback
+ $element.on('transitionend', function() {
+ $this.options.afterToggle(trigger, element, expanded);
+
+ $(this).attr({
+ 'aria-expanded': expanded
+ }).off('transitionend');
+ });
+
+ $(trigger).replaceWith($($this.options[newLink])
+ .on('click', function(event) { $this.toggle(this, element, event); })
+ .attr({
+ 'data-readmore-toggle': '',
+ 'aria-controls': $element.attr('id')
+ }));
+ },
+
+ destroy: function() {
+ $(this.element).each(function() {
+ var current = $(this);
+
+ current.attr({
+ 'data-readmore': null,
+ 'aria-expanded': null
+ })
+ .css({
+ maxHeight: '',
+ height: ''
+ })
+ .next('[data-readmore-toggle]')
+ .remove();
+
+ current.removeData();
+ });
+ }
+ };
+
+
+ $.fn.readmore = function(options) {
+ var args = arguments,
+ selector = this.selector;
+
+ options = options || {};
+
+ if (typeof options === 'object') {
+ return this.each(function() {
+ if ($.data(this, 'plugin_' + readmore)) {
+ var instance = $.data(this, 'plugin_' + readmore);
+ instance.destroy.apply(instance);
+ }
+
+ options.selector = selector;
+
+ $.data(this, 'plugin_' + readmore, new Readmore(this, options));
+ });
+ }
+ else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
+ return this.each(function () {
+ var instance = $.data(this, 'plugin_' + readmore);
+ if (instance instanceof Readmore && typeof instance[options] === 'function') {
+ instance[options].apply(instance, Array.prototype.slice.call(args, 1));
+ }
+ });
+ }
+ };
+
+})(jQuery);
+
+
diff --git a/mod/acl.php b/mod/acl.php
index 01f5103f1..e6733351b 100644
--- a/mod/acl.php
+++ b/mod/acl.php
@@ -13,6 +13,9 @@ function acl_init(&$a){
$type = (x($_REQUEST,'type')?$_REQUEST['type']:"");
$noforums = (x($_REQUEST,'n') ? $_REQUEST['n'] : false);
+ // List of channels whose connections to also suggest, e.g. currently viewed channel or channels mentioned in a post
+ $extra_channels = (x($_REQUEST,'extra_channels') ? $_REQUEST['extra_channels'] : array());
+
// For use with jquery.autocomplete for private mail completion
if(x($_REQUEST,'query') && strlen($_REQUEST['query'])) {
@@ -21,15 +24,17 @@ function acl_init(&$a){
$search = $_REQUEST['query'];
}
-
if(!(local_user()))
- if($type != 'x')
+ if(!($type == 'x' || $type == 'c'))
killme();
if ($search != "") {
$sql_extra = " AND `name` LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " ";
- $sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . ") ";
+ $sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc($search) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") ";
+ // This horrible mess is needed because position also returns 0 if nothing is found. W/ould be MUCH easier if it instead returned a very large value
+ // Otherwise we could just order by LEAST(POSTION($search IN xchan_name),POSITION($search IN xchan_addr)).
+ $order_extra2 = "CASE WHEN xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) ." then POSITION('".dbesc($search)."' IN xchan_name) else position('".dbesc($search)."' IN xchan_addr) end, ";
$col = ((strpos($search,'@') !== false) ? 'xchan_addr' : 'xchan_name' );
$sql_extra3 = "AND $col like " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " ";
@@ -37,72 +42,6 @@ function acl_init(&$a){
$sql_extra = $sql_extra2 = $sql_extra3 = "";
}
- // count groups and contacts
- if ($type=='' || $type=='g'){
- $r = q("SELECT COUNT(`id`) AS g FROM `groups` WHERE `deleted` = 0 AND `uid` = %d $sql_extra",
- intval(local_user())
- );
- $group_count = (int)$r[0]['g'];
- } else {
- $group_count = 0;
- }
-
- if ($type=='' || $type=='c'){
- $r = q("SELECT COUNT(abook_id) AS c FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel = %d AND not ( abook_flags & %d ) and not (xchan_flags & %d ) $sql_extra2" ,
- intval(local_user()),
- intval(ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED),
- intval(XCHAN_FLAGS_DELETED)
- );
- $contact_count = (int)$r[0]['c'];
-
- if(intval(get_config('system','taganyone')) || intval(get_pconfig(local_user(),'system','taganyone'))) {
- if(((! $r) || (! $r[0]['total'])) && $type == 'c') {
- $r = q("SELECT COUNT(xchan_hash) AS c FROM xchan
- WHERE not (xchan_flags & %d ) $sql_extra2" ,
- intval(XCHAN_FLAGS_DELETED)
- );
- $contact_count = (int)$r[0]['c'];
- }
- }
-
- }
-
- elseif ($type == 'm') {
-
- // autocomplete for Private Messages
-
-
- $r = q("SELECT count(xchan_hash) as c
- FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel = %d and ( (abook_their_perms = null) or (abook_their_perms & %d ))
- and not ( xchan_flags & %d )
- $sql_extra2 ",
- intval(local_user()),
- intval(PERMS_W_MAIL),
- intval(XCHAN_FLAGS_DELETED)
- );
-
- if($r)
- $contact_count = (int)$r[0]['c'];
-
- }
- elseif (($type == 'a')||($type == 'p')) {
-
- // autocomplete for Contacts
-
- $r = q("SELECT COUNT(abook_id) AS c FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel = %d and not ( xchan_flags & %d ) $sql_extra2" ,
- intval(local_user()),
- intval(XCHAN_FLAGS_DELETED)
- );
- $contact_count = (int)$r[0]['c'];
-
- } else {
- $contact_count = 0;
- }
-
- $tot = $group_count+$contact_count;
$groups = array();
$contacts = array();
@@ -110,17 +49,18 @@ function acl_init(&$a){
if ($type=='' || $type=='g'){
$r = q("SELECT `groups`.`id`, `groups`.`hash`, `groups`.`name`,
- GROUP_CONCAT(DISTINCT `group_member`.`xchan` SEPARATOR ',') as uids
+ %s as uids
FROM `groups`,`group_member`
WHERE `groups`.`deleted` = 0 AND `groups`.`uid` = %d
AND `group_member`.`gid`=`groups`.`id`
$sql_extra
GROUP BY `groups`.`id`
ORDER BY `groups`.`name`
- LIMIT %d,%d",
+ LIMIT %d OFFSET %d",
+ db_concat('group_member.xchan', ','),
intval(local_user()),
- intval($start),
- intval($count)
+ intval($count),
+ intval($start)
);
foreach($r as $g){
@@ -138,18 +78,80 @@ function acl_init(&$a){
}
if ($type=='' || $type=='c') {
- $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags
+ $extra_channels_sql = '';
+ // Only include channels who allow the observer to view their permissions
+ foreach($extra_channels as $channel) {
+ if(perm_is_allowed(intval($channel), get_observer_hash(),'view_contacts'))
+ $extra_channels_sql .= "," . intval($channel);
+ }
+
+ $extra_channels_sql = substr($extra_channels_sql,1); // Remove initial comma
+
+ // Getting info from the abook is better for local users because it contains info about permissions
+ if(local_user()) {
+ if($extra_channels_sql != '')
+ $extra_channels_sql = " OR (abook_channel IN ($extra_channels_sql)) and not (abook_flags & ". intval(ABOOK_FLAG_HIDDEN) . ') > 0';
+
+ $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags
FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel = %d AND not ( abook_flags & %d ) and not (xchan_flags & %d ) $sql_extra2 order by xchan_name asc" ,
- intval(local_user()),
- intval(ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED),
- intval(XCHAN_FLAGS_DELETED)
- );
+ WHERE (abook_channel = %d $extra_channels_sql) AND not ( abook_flags & %d )>0 and not (xchan_flags & %d )>0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
+ intval(local_user()),
+ intval(ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED),
+ intval(XCHAN_FLAGS_DELETED)
+ );
+ }
+ else { // Visitors
+ $r = q("SELECT xchan_hash as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags
+ FROM xchan left join xlink on xlink_link = xchan_hash
+ WHERE xlink_xchan = '%s' AND NOT (xchan_flags & %d) > 0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
+ dbesc(get_observer_hash()),
+ intval(XCHAN_FLAGS_DELETED));
+
+ // Find contacts of extra channels
+ // This is probably more complicated than it needs to be
+ if($extra_channels_sql) {
+ // Build a list of hashes that we got previously so we don't get them again
+ $known_hashes = array("'".get_observer_hash()."'");
+ if($r)
+ foreach($r as $rr)
+ $known_hashes[] = "'".$rr['hash']."'";
+ $known_hashes_sql = 'AND xchan_hash not in ('.join(',',$known_hashes).')';
+
+ $r2 = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags
+ FROM abook left join xchan on abook_xchan = xchan_hash
+ WHERE abook_channel IN ($extra_channels_sql) $known_hashes_sql AND not ( abook_flags & %d )>0 and not (xchan_flags & %d )>0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
+ intval(ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED|ABOOK_FLAG_HIDDEN),
+ intval(XCHAN_FLAGS_DELETED)
+ );
+ if($r2)
+ $r = array_merge($r,$r2);
+
+ // Sort accoring to match position, then alphabetically. This could be avoided if the above two SQL queries could be combined into one, and the sorting could be done on the SQl server (like in the case of a local user)
+ $matchpos = function($x) use($search) {
+ $namepos = strpos($x['name'],$search);
+ $nickpos = strpos($x['nick'],$search);
+ // Use a large position if not found
+ return min($namepos === false ? 9999 : $namepos, $nickpos === false ? 9999 : $nickpos);
+ };
+ // This could be made simpler if PHP supported stable sorting
+ usort($r,function($a,$b) use($matchpos) {
+ $pos1 = $matchpos($a);
+ $pos2 = $matchpos($b);
+ if($pos1 == $pos2) { // Order alphabetically if match position is the same
+ if($a['name'] == $b['name'])
+ return 0;
+ else
+ return ($a['name'] < $b['name']) ? -1 : 1;
+ }
+ return ($pos1 < $pos2) ? -1 : 1;
+ });
+ }
+ }
if(intval(get_config('system','taganyone')) || intval(get_pconfig(local_user(),'system','taganyone'))) {
if((! $r) && $type == 'c') {
$r = q("SELECT substr(xchan_hash,1,18) as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags
FROM xchan
- WHERE not (xchan_flags & %d ) $sql_extra2 order by xchan_name asc" ,
+ WHERE not (xchan_flags & %d )>0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
intval(XCHAN_FLAGS_DELETED)
);
}
@@ -159,8 +161,8 @@ function acl_init(&$a){
$r = q("SELECT xchan_hash as id, xchan_name as name, xchan_addr as nick, xchan_photo_s as micro, xchan_url as url
FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel = %d and ( (abook_their_perms = null) or (abook_their_perms & %d ))
- and not (xchan_flags & %d)
+ WHERE abook_channel = %d and ( (abook_their_perms = null) or (abook_their_perms & %d )>0)
+ and not (xchan_flags & %d)>0
$sql_extra3
ORDER BY `xchan_name` ASC ",
intval(local_user()),
@@ -171,7 +173,7 @@ function acl_init(&$a){
elseif(($type == 'a') || ($type == 'p')) {
$r = q("SELECT abook_id as id, xchan_name as name, xchan_hash as hash, xchan_addr as nick, xchan_photo_s as micro, xchan_network as network, xchan_url as url, xchan_addr as attag , abook_their_perms FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_channel = %d
- and not (xchan_flags & %d)
+ and not (xchan_flags & %d)>0
$sql_extra3
ORDER BY xchan_name ASC ",
intval(local_user()),
@@ -262,7 +264,6 @@ function acl_init(&$a){
$items = array_merge($groups, $contacts);
$o = array(
- 'tot' => $tot,
'start' => $start,
'count' => $count,
'items' => $items,
diff --git a/mod/admin.php b/mod/admin.php
index 06f44c89b..0e580960a 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -238,7 +238,6 @@ function admin_page_site_post(&$a){
$language = ((x($_POST,'language')) ? notags(trim($_POST['language'])) : '');
$theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : '');
$theme_mobile = ((x($_POST,'theme_mobile')) ? notags(trim($_POST['theme_mobile'])) : '');
- $theme_accessibility = ((x($_POST,'theme_accessibility')) ? notags(trim($_POST['theme_accessibility'])) : '');
// $site_channel = ((x($_POST,'site_channel')) ? notags(trim($_POST['site_channel'])) : '');
$maximagesize = ((x($_POST,'maximagesize')) ? intval(trim($_POST['maximagesize'])) : 0);
@@ -298,12 +297,6 @@ function admin_page_site_post(&$a){
} else {
set_config('system','mobile_theme', $theme_mobile);
}
- if ( $theme_accessibility === '---' ) {
- del_config('system','accessibility_theme');
- } else {
- set_config('system','accessibility_theme', $theme_accessibility);
- }
-
// set_config('system','site_channel', $site_channel);
set_config('system','maximagesize', $maximagesize);
@@ -357,27 +350,32 @@ function admin_page_site(&$a) {
}
/* Installed themes */
- $theme_choices = array();
- $theme_choices_mobile = array();
- $theme_choices_mobile["---"] = t("No special theme for mobile devices");
- $theme_choices_accessibility = array();
- $theme_choices_accessibility["---"] =t("No special theme for accessibility");
- $files = glob('view/theme/*');
- if($files) {
- foreach($files as $file) {
- $f = basename($file);
- $theme_name = ((file_exists($file . '/experimental')) ? sprintf("%s - Experimental", $f) : $f);
- if (file_exists($file . '/mobile')) {
- $theme_choices_mobile[$f] = $theme_name;
- }
- if (file_exists($file . '/accessibility')) {
- $theme_choices_accessibility[$f] = $theme_name;
+ $theme_choices_mobile["---"] = t("Default");
+ $theme_choices = array();
+ $files = glob('view/theme/*');
+ if($files) {
+ foreach($files as $file) {
+ $vars = '';
+ $f = basename($file);
+ if (file_exists($file . '/library'))
+ continue;
+ if (file_exists($file . '/mobile'))
+ $vars = t('mobile');
+ if (file_exists($file . '/experimental'))
+ $vars .= t('experimental');
+ if (file_exists($file . '/unsupported'))
+ $vars .= t('unsupported');
+ if ($vars) {
+ $theme_choices[$f] = $f . ' (' . $vars . ')';
+ $theme_choices_mobile[$f] = $f . ' (' . $vars . ')';
}
- $theme_choices[$f] = $theme_name;
- }
- }
-
-
+ else {
+ $theme_choices[$f] = $f;
+ $theme_choices_mobile[$f] = $f;
+ }
+ }
+ }
+
/* Banner */
$banner = get_config('system','banner');
if($banner == false)
@@ -425,7 +423,6 @@ function admin_page_site(&$a) {
'$language' => array('language', t("System language"), get_config('system','language'), "", $lang_choices),
'$theme' => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"), $theme_choices),
'$theme_mobile' => array('theme_mobile', t("Mobile system theme"), get_config('system','mobile_theme'), t("Theme for mobile devices"), $theme_choices_mobile),
- '$theme_accessibility' => array('theme_accessibility', t("Accessibility system theme"), get_config('system','accessibility_theme'), t("Accessibility theme"), $theme_choices_accessibility),
// '$site_channel' => array('site_channel', t("Channel to use for this website's static pages"), get_config('system','site_channel'), t("Site Channel")),
'$diaspora_enabled' => array('diaspora_enabled',t('Enable Diaspora Protocol'), get_config('system','diaspora_enabled'), t('Communicate with Diaspora and Friendica - experimental')),
'$feed_contacts' => array('feed_contacts', t('Allow Feeds as Connections'),get_config('system','feed_contacts'),t('(Heavy system resource usage)')),
@@ -594,7 +591,7 @@ function admin_page_users_post(&$a){
if (x($_POST,'page_users_block')){
foreach($users as $uid){
- q("UPDATE account SET account_flags = (account_flags & %d) where account_id = %d limit 1",
+ q("UPDATE account SET account_flags = (account_flags & %d) where account_id = %d",
intval(ACCOUNT_BLOCKED),
intval( $uid )
);
@@ -650,7 +647,7 @@ function admin_page_users(&$a){
}; break;
case "block":{
check_form_security_token_redirectOnErr('/admin/users', 'admin_users', 't');
- q("UPDATE account SET account_flags = ( account_flags ^ %d ) where account_id = %d",
+ q("UPDATE account SET account_flags = ( account_flags & ~%d ) where account_id = %d",
intval(ACCOUNT_BLOCKED),
intval( $uid )
);
@@ -664,13 +661,13 @@ function admin_page_users(&$a){
}
/* get pending */
- $pending = q("SELECT account.*, register.hash from account left join register on account_id = register.uid where (account_flags & %d ) ",
+ $pending = q("SELECT account.*, register.hash from account left join register on account_id = register.uid where (account_flags & %d )>0 ",
intval(ACCOUNT_PENDING)
);
/* get users */
- $total = q("SELECT count(*) as total FROM account where 1");
+ $total = q("SELECT count(*) as total FROM account");
if(count($total)) {
$a->set_pager_total($total[0]['total']);
$a->set_pager_itemspage(100);
@@ -690,14 +687,15 @@ function admin_page_users(&$a){
if($_REQUEST['order'] === 'created')
$order = " order by account_created desc ";
- $users =q("SELECT `account_id` , `account_email`, `account_lastlog`, `account_created`, `account_expires`, " . "`account_service_class`, ( account_flags & %d ) > 0 as `blocked`, " .
- "(SELECT GROUP_CONCAT( ch.channel_address SEPARATOR ' ') FROM channel as ch " .
- "WHERE ch.channel_account_id = ac.account_id and not (ch.channel_pageflags & %d )) as `channels` " .
- "FROM account as ac where true $serviceclass $order limit %d , %d ",
+ $users =q("SELECT `account_id` , `account_email`, `account_lastlog`, `account_created`, `account_expires`, " . "`account_service_class`, ( account_flags & %d )>0 as `blocked`, " .
+ "(SELECT %s FROM channel as ch " .
+ "WHERE ch.channel_account_id = ac.account_id and not (ch.channel_pageflags & %d )>0) as `channels` " .
+ "FROM account as ac where true $serviceclass $order limit %d offset %d ",
intval(ACCOUNT_BLOCKED),
+ db_concat('ch.channel_address', ' '),
intval(PAGE_REMOVED),
- intval($a->pager['start']),
- intval($a->pager['itemspage'])
+ intval($a->pager['itemspage']),
+ intval($a->pager['start'])
);
// function _setup_users($e){
@@ -764,7 +762,7 @@ function admin_page_channels_post(&$a){
if (x($_POST,'page_channels_block')){
foreach($channels as $uid){
- q("UPDATE channel SET channel_pageflags = ( channel_pageflags ^ %d ) where channel_id = %d",
+ q("UPDATE channel SET channel_pageflags = ( channel_pageflags & ~%d ) where channel_id = %d",
intval(PAGE_CENSORED),
intval( $uid )
);
@@ -812,7 +810,7 @@ function admin_page_channels(&$a){
case "block":{
check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't');
- q("UPDATE channel SET channel_pageflags = ( channel_pageflags ^ %d ) where channel_id = %d",
+ q("UPDATE channel SET channel_pageflags = ( channel_pageflags & ~%d ) where channel_id = %d",
intval(PAGE_CENSORED),
intval( $uid )
);
@@ -828,7 +826,7 @@ function admin_page_channels(&$a){
/* get channels */
- $total = q("SELECT count(*) as total FROM channel where not (channel_pageflags & %d)",
+ $total = q("SELECT count(*) as total FROM channel where not (channel_pageflags & %d)>0",
intval(PAGE_REMOVED)
);
if($total) {
@@ -838,10 +836,10 @@ function admin_page_channels(&$a){
$order = " order by channel_name asc ";
- $channels = q("SELECT * from channel where not ( channel_pageflags & %d ) $order limit %d , %d ",
+ $channels = q("SELECT * from channel where not ( channel_pageflags & %d )>0 $order limit %d offset %d ",
intval(PAGE_REMOVED),
- intval($a->pager['start']),
- intval($a->pager['itemspage'])
+ intval($a->pager['itemspage']),
+ intval($a->pager['start'])
);
if($channels) {
@@ -1295,7 +1293,7 @@ readable.");
function admin_page_profs_post(&$a) {
if($_REQUEST['id']) {
- $r = q("update profdef set field_name = '%s', field_type = '%s', field_desc = '%s' field_help = '%s', field_inputs = '%s' where id = %d limit 1",
+ $r = q("update profdef set field_name = '%s', field_type = '%s', field_desc = '%s' field_help = '%s', field_inputs = '%s' where id = %d",
dbesc($_REQUEST['field_name']),
dbesc($_REQUEST['field_type']),
dbesc($_REQUEST['field_desc']),
@@ -1323,7 +1321,7 @@ function admin_page_profs_post(&$a) {
function admin_page_profs(&$a) {
if((argc() > 3) && argv(2) == 'drop' && intval(argv(3))) {
- $r = q("delete from profdef where id = %d limit 1",
+ $r = q("delete from profdef where id = %d",
intval(argv(3))
);
// remove from allowed fields
diff --git a/mod/apps.php b/mod/apps.php
index 07d1968d2..8c9706d2f 100644
--- a/mod/apps.php
+++ b/mod/apps.php
@@ -30,6 +30,7 @@ function apps_content(&$a) {
}
return replace_macros(get_markup_template('myapps.tpl'), array(
+ '$sitename' => get_config('system','sitename'),
'$title' => t('Apps'),
'$apps' => $apps,
));
diff --git a/mod/blocks.php b/mod/blocks.php
index 3f2bef116..6237a645b 100644
--- a/mod/blocks.php
+++ b/mod/blocks.php
@@ -1,108 +1,140 @@
<?php
-function blocks_content(&$a) {
+require_once('include/identity.php');
+require_once('include/conversation.php');
+require_once('include/acl_selectors.php');
+function blocks_init(&$a) {
+ if(argc() > 1 && argv(1) === 'sys' && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $a->is_sys = true;
+ }
+ }
if(argc() > 1)
$which = argv(1);
- else {
+ else
+ return;
+
+ profile_load($a,$which);
+
+}
+
+
+function blocks_content(&$a) {
+
+ if(! $a->profile) {
notice( t('Requested profile is not available.') . EOL );
$a->error = 404;
return;
}
- profile_load($a,$which,0);
+ $which = argv(1);
+ $uid = local_user();
+ $owner = 0;
+ $channel = null;
+ $observer = $a->get_observer();
- // Figure out who the page owner is.
- $r = q("select channel_id from channel where channel_address = '%s'",
- dbesc($which)
- );
- if($r) {
- $owner = intval($r[0]['channel_id']);
- }
+ $channel = $a->get_channel();
- // Block design features from visitors
+ if($a->is_sys && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $uid = $owner = intval($sys['channel_id']);
+ $channel = $sys;
+ $observer = $sys;
+ }
+ }
- if((! local_user()) || (local_user() != $owner)) {
- notice( t('Permission denied.') . EOL);
- return;
+ if(! $owner) {
+ // Figure out who the page owner is.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ }
}
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+ $perms = get_all_perms($owner,$ob_hash);
+ if(! $perms['write_pages']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
-// Get the observer, check their permissions
- $observer = $a->get_observer();
- $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+ // Block design features from visitors
- $perms = get_all_perms($owner,$ob_hash);
+ if((! $uid) || ($uid != $owner)) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
- if(! $perms['write_pages']) {
- notice( t('Permission denied.') . EOL);
- return;
- }
+ if(feature_enabled($owner,'expert')) {
+ $mimetype = (($_REQUEST['mimetype']) ? $_REQUEST['mimetype'] : get_pconfig($owner,'system','page_mimetype'));
+ if(! $mimetype)
+ $mimetype = 'choose';
+ }
+ else {
+ $mimetype = 'text/bbcode';
+ }
-// Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages
-// Nickname is set to the observers xchan, and profile_uid to the owners.
-// This lets you post pages at other people's channels.
-require_once ('include/conversation.php');
- $x = array(
- 'webpage' => ITEM_BUILDBLOCK,
- 'is_owner' => true,
- 'nickname' => $a->profile['channel_address'],
- 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
- 'bang' => (($group || $cid) ? '!' : ''),
- 'showacl' => false,
- 'visitor' => true,
- 'mimetype' => 'choose',
- 'ptlabel' => t('Block Name'),
- 'profile_uid' => intval($owner),
- );
- if($_REQUEST['title'])
- $x['title'] = $_REQUEST['title'];
- if($_REQUEST['body'])
- $x['body'] = $_REQUEST['body'];
- if($_REQUEST['pagetitle'])
- $x['pagetitle'] = $_REQUEST['pagetitle'];
+ $x = array(
+ 'webpage' => ITEM_BUILDBLOCK,
+ 'is_owner' => true,
+ 'nickname' => $a->profile['channel_address'],
+ 'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
+ 'bang' => '',
+ 'showacl' => false,
+ 'visitor' => true,
+ 'mimetype' => $mimetype,
+ 'ptlabel' => t('Block Name'),
+ 'profile_uid' => intval($owner),
+ );
+ if($_REQUEST['title'])
+ $x['title'] = $_REQUEST['title'];
+ if($_REQUEST['body'])
+ $x['body'] = $_REQUEST['body'];
+ if($_REQUEST['pagetitle'])
+ $x['pagetitle'] = $_REQUEST['pagetitle'];
- $o .= status_editor($a,$x);
- //Get a list of blocks. We can't display all them because endless scroll makes that unusable, so just list titles and an edit link.
-//TODO - this should be replaced with pagelist_widget
+ $o .= status_editor($a,$x);
-$r = q("select * from item_id where uid = %d and service = 'BUILDBLOCK' order by sid asc",
- intval($owner)
-);
+ $r = q("select * from item_id where uid = %d and service = 'BUILDBLOCK' order by sid asc",
+ intval($owner)
+ );
- $pages = null;
+ $pages = null;
- if($r) {
- $pages = array();
- foreach($r as $rr) {
- $pages[$rr['iid']][] = array('url' => $rr['iid'],'title' => $rr['sid']);
- }
- }
+ if($r) {
+ $pages = array();
+ foreach($r as $rr) {
+ $pages[$rr['iid']][] = array('url' => $rr['iid'],'title' => $rr['sid']);
+ }
+ }
+ //Build the base URL for edit links
+ $url = z_root() . '/editblock/' . $which;
-//Build the base URL for edit links
- $url = z_root() . "/editblock/" . $which;
-// This isn't pretty, but it works. Until I figure out what to do with the UI, it's Good Enough(TM).
- return $o . replace_macros(get_markup_template("blocklist.tpl"), array(
+ $o .= replace_macros(get_markup_template('blocklist.tpl'), array(
'$baseurl' => $url,
'$edit' => t('Edit'),
'$pages' => $pages,
'$channel' => $which,
'$view' => t('View'),
'$preview' => '1',
-
- ));
+ ));
-
+ return $o;
}
diff --git a/mod/channel.php b/mod/channel.php
index e4a7173c0..e819de0e0 100644
--- a/mod/channel.php
+++ b/mod/channel.php
@@ -47,7 +47,7 @@ function channel_content(&$a, $update = 0, $load = false) {
$category = $datequery = $datequery2 = '';
- $mid = $_GET['mid'];
+ $mid = ((x($_REQUEST,'mid')) ? $_REQUEST['mid'] : '');
$datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
$datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : '');
@@ -57,6 +57,7 @@ function channel_content(&$a, $update = 0, $load = false) {
}
$category = ((x($_REQUEST,'cat')) ? $_REQUEST['cat'] : '');
+ $hashtags = ((x($_REQUEST,'tag')) ? $_REQUEST['tag'] : '');
$groups = array();
@@ -137,21 +138,26 @@ function channel_content(&$a, $update = 0, $load = false) {
$sql_extra = item_permissions_sql($a->profile['profile_uid'],$remote_contact,$groups);
+ if(get_pconfig($a->profile['profile_uid'],'system','channel_list_mode') && (! $mid))
+ $page_mode = 'list';
+ else
+ $page_mode = 'client';
+
if(($update) && (! $load)) {
if ($mid) {
$r = q("SELECT parent AS item_id from item where mid = '%s' and uid = %d AND item_restrict = 0
- AND (item_flags & %d) AND (item_flags & %d) $sql_extra limit 1",
+ AND (item_flags & %d) > 0 AND (item_flags & %d) > 0 $sql_extra limit 1",
dbesc($mid),
intval($a->profile['profile_uid']),
intval(ITEM_WALL),
intval(ITEM_UNSEEN)
);
} else {
- $r = q("SELECT distinct parent AS `item_id` from item
+ $r = q("SELECT distinct parent AS `item_id`, created from item
left join abook on item.author_xchan = abook.abook_xchan
WHERE uid = %d AND item_restrict = 0
- AND (item_flags & %d) AND ( item_flags & %d )
+ AND (item_flags & %d) > 0 AND ( item_flags & %d ) > 0
AND ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
$sql_extra
ORDER BY created DESC",
@@ -165,10 +171,12 @@ function channel_content(&$a, $update = 0, $load = false) {
}
else {
-
if(x($category)) {
$sql_extra .= protect_sprintf(term_query('item', $category, TERM_CATEGORY));
}
+ if(x($hashtags)) {
+ $sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG));
+ }
if($datequery) {
$sql_extra2 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery))));
@@ -179,12 +187,12 @@ function channel_content(&$a, $update = 0, $load = false) {
$itemspage = get_pconfig(local_user(),'system','itemspage');
$a->set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
- $pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval($a->pager['itemspage']), intval($a->pager['start']));
if($load || ($_COOKIE['jsAvailable'] != 1)) {
if ($mid) {
$r = q("SELECT parent AS item_id from item where mid = '%s' and uid = %d AND item_restrict = 0
- AND (item_flags & %d) $sql_extra limit 1",
+ AND (item_flags & %d)>0 $sql_extra limit 1",
dbesc($mid),
intval($a->profile['profile_uid']),
intval(ITEM_WALL)
@@ -194,10 +202,10 @@ function channel_content(&$a, $update = 0, $load = false) {
}
} else {
- $r = q("SELECT distinct id AS item_id FROM item
+ $r = q("SELECT distinct id AS item_id, created FROM item
left join abook on item.author_xchan = abook.abook_xchan
WHERE uid = %d AND item_restrict = 0
- AND (item_flags & %d) and (item_flags & %d)
+ AND (item_flags & %d)>0 and (item_flags & %d)>0
AND ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
$sql_extra $sql_extra2
ORDER BY created DESC $pager_sql ",
@@ -246,9 +254,14 @@ function channel_content(&$a, $update = 0, $load = false) {
// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
// because browser prefetching might change it on us. We have to deliver it with the page.
+ $maxheight = get_pconfig($a->profile['profile_uid'],'system','channel_divmore_height');
+ if(! $maxheight)
+ $maxheight = 400;
+
$o .= '<div id="live-channel"></div>' . "\r\n";
$o .= "<script> var profile_uid = " . $a->profile['profile_uid']
- . "; var netargs = '?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
+ . "; var netargs = '?f='; var profile_page = " . $a->pager['page']
+ . "; divmore_height = " . intval($maxheight) . "; </script>\r\n";
$a->page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
'$baseurl' => z_root(),
@@ -271,6 +284,7 @@ function channel_content(&$a, $update = 0, $load = false) {
'$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$file' => '',
'$cats' => (($category) ? $category : ''),
+ '$tags' => (($hashtags) ? $hashtags : ''),
'$mid' => $mid,
'$dend' => $datequery,
'$dbegin' => $datequery2
@@ -279,12 +293,31 @@ function channel_content(&$a, $update = 0, $load = false) {
}
+ $update_unseen = '';
+
+ if($page_mode === 'list') {
+ /**
+ * in "list mode", only mark the parent item and any like activities as "seen".
+ * We won't distinguish between comment likes and post likes. The important thing
+ * is that the number of unseen comments will be accurate. The SQL to separate the
+ * comment likes could also get somewhat hairy.
+ */
- if($is_owner) {
+ if($parents_str) {
+ $update_unseen = " AND ( id IN ( " . dbesc($parents_str) . " )";
+ $update_unseen .= " OR ( parent IN ( " . dbesc($parents_str) . " ) AND verb in ( '" . dbesc(ACTIVITY_LIKE) . "','" . dbesc(ACTIVITY_DISLIKE) . "' ))) ";
+ }
+ }
+ else {
+ if($parents_str) {
+ $update_unseen = " AND parent IN ( " . dbesc($parents_str) . " )";
+ }
+ }
- $r = q("UPDATE item SET item_flags = (item_flags ^ %d)
- WHERE (item_flags & %d) AND (item_flags & %d) AND uid = %d ",
+ if($is_owner && $update_unseen) {
+ $r = q("UPDATE item SET item_flags = (item_flags & ~%d)
+ WHERE (item_flags & %d) > 0 AND (item_flags & %d) > 0 AND uid = %d $update_unseen",
intval(ITEM_UNSEEN),
intval(ITEM_UNSEEN),
intval(ITEM_WALL),
@@ -294,7 +327,7 @@ function channel_content(&$a, $update = 0, $load = false) {
if($_COOKIE['jsAvailable'] == 1) {
- $o .= conversation($a,$items,'channel',$update,'client');
+ $o .= conversation($a,$items,'channel',$update,$page_mode);
} else {
$o .= conversation($a,$items,'channel',$update,'traditional');
}
diff --git a/mod/chatsvc.php b/mod/chatsvc.php
index 43aa3d3c0..44225e6dd 100644
--- a/mod/chatsvc.php
+++ b/mod/chatsvc.php
@@ -73,7 +73,7 @@ function chatsvc_content(&$a) {
intval($a->data['chat']['uid'])
);
- $r = q("update chatpresence set cp_status = '%s', cp_last = '%s' where cp_room = %d and cp_xchan = '%s' and cp_client = '%s' limit 1",
+ $r = q("update chatpresence set cp_status = '%s', cp_last = '%s' where cp_room = %d and cp_xchan = '%s' and cp_client = '%s'",
dbesc($status),
dbesc(datetime_convert()),
intval($room_id),
@@ -141,7 +141,7 @@ function chatsvc_content(&$a) {
}
}
- $r = q("update chatpresence set cp_last = '%s' where cp_room = %d and cp_xchan = '%s' and cp_client = '%s' limit 1",
+ $r = q("update chatpresence set cp_last = '%s' where cp_room = %d and cp_xchan = '%s' and cp_client = '%s'",
dbesc(datetime_convert()),
intval($a->data['chat']['room_id']),
dbesc(get_observer_hash()),
diff --git a/mod/connect.php b/mod/connect.php
index f7748bcaf..396fca645 100644
--- a/mod/connect.php
+++ b/mod/connect.php
@@ -38,7 +38,8 @@ function connect_post(&$a) {
$text = escape_tags($_POST['text']);
if($has_premium != $premium) {
- $r = q("update channel set channel_pageflags = ( channel_pageflags ^ %d ) where channel_id = %d limit 1",
+ $r = q("update channel set channel_pageflags = ( channel_pageflags %s %d ) where channel_id = %d",
+ db_getfunc('^'),
intval(PAGE_PREMIUM),
intval(local_user())
);
diff --git a/mod/connections.php b/mod/connections.php
index 0dfcfebf1..70e28913a 100644
--- a/mod/connections.php
+++ b/mod/connections.php
@@ -81,7 +81,7 @@ function connections_post(&$a) {
}
$r = q("UPDATE abook SET abook_profile = '%s', abook_my_perms = %d , abook_closeness = %d, abook_flags = %d
- where abook_id = %d AND abook_channel = %d LIMIT 1",
+ where abook_id = %d AND abook_channel = %d",
dbesc($profile_id),
intval($abook_my_perms),
intval($closeness),
@@ -213,7 +213,7 @@ function connections_content(&$a) {
nav_set_selected('intros');
break;
case 'ifpending':
- $r = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d) and not ((abook_flags & %d) or (xchan_flags & %d))",
+ $r = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d)>0 and not ((abook_flags & %d)>0 or (xchan_flags & %d)>0)",
intval(local_user()),
intval(ABOOK_FLAG_PENDING),
intval(ABOOK_FLAG_SELF|ABOOK_FLAG_IGNORED),
@@ -250,13 +250,13 @@ function connections_content(&$a) {
}
- $sql_extra = (($search_flags) ? " and ( abook_flags & " . $search_flags . " ) " : "");
+ $sql_extra = (($search_flags) ? " and ( abook_flags & " . $search_flags . " )>0 " : "");
if(argv(1) === 'pending')
- $sql_extra .= " and not ( abook_flags & " . ABOOK_FLAG_IGNORED . " ) ";
+ $sql_extra .= " and not ( abook_flags & " . ABOOK_FLAG_IGNORED . " )>0 ";
}
else {
- $sql_extra = " and not ( abook_flags & " . ABOOK_FLAG_BLOCKED . " ) ";
+ $sql_extra = " and not ( abook_flags & " . ABOOK_FLAG_BLOCKED . " )>0 ";
$unblocked = true;
}
@@ -342,7 +342,7 @@ function connections_content(&$a) {
}
$r = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash
- where abook_channel = %d and not (abook_flags & %d) and not (xchan_flags & %d ) $sql_extra $sql_extra2 ",
+ where abook_channel = %d and not (abook_flags & %d)>0 and not (xchan_flags & %d )>0 $sql_extra $sql_extra2 ",
intval(local_user()),
intval(ABOOK_FLAG_SELF),
intval(XCHAN_FLAGS_DELETED|XCHAN_FLAGS_ORPHAN)
@@ -353,12 +353,12 @@ function connections_content(&$a) {
}
$r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash
- WHERE abook_channel = %d and not (abook_flags & %d) and not ( xchan_flags & %d) $sql_extra $sql_extra2 ORDER BY xchan_name LIMIT %d , %d ",
+ WHERE abook_channel = %d and not (abook_flags & %d)>0 and not ( xchan_flags & %d)>0 $sql_extra $sql_extra2 ORDER BY xchan_name LIMIT %d OFFSET %d ",
intval(local_user()),
intval(ABOOK_FLAG_SELF),
intval(XCHAN_FLAGS_DELETED|XCHAN_FLAGS_ORPHAN),
- intval($a->pager['start']),
- intval($a->pager['itemspage'])
+ intval($a->pager['itemspage']),
+ intval($a->pager['start'])
);
$contacts = array();
diff --git a/mod/connedit.php b/mod/connedit.php
index b10d9f3b8..6729029ac 100644
--- a/mod/connedit.php
+++ b/mod/connedit.php
@@ -68,6 +68,14 @@ function connedit_post(&$a) {
call_hooks('contact_edit_post', $_POST);
+ if($orig_record[0]['abook_flags'] & ABOOK_FLAG_SELF) {
+ $autoperms = intval($_POST['autoperms']);
+ }
+ else {
+ $autoperms = null;
+ }
+
+
$profile_id = $_POST['profile_assign'];
if($profile_id) {
$r = q("SELECT profile_guid FROM profile WHERE profile_guid = '%s' AND `uid` = %d LIMIT 1",
@@ -109,7 +117,7 @@ function connedit_post(&$a) {
}
$r = q("UPDATE abook SET abook_profile = '%s', abook_my_perms = %d , abook_closeness = %d, abook_flags = %d
- where abook_id = %d AND abook_channel = %d LIMIT 1",
+ where abook_id = %d AND abook_channel = %d",
dbesc($profile_id),
intval($abook_my_perms),
intval($closeness),
@@ -121,7 +129,7 @@ function connedit_post(&$a) {
if($orig_record[0]['abook_profile'] != $profile_id) {
//Update profile photo permissions
- logger('As a new profile was assigned updating profile photos');
+ logger('A new profile was assigned - updating profile photos');
require_once('mod/profile_photo.php');
profile_photo_set_profile_perms($profile_id);
@@ -208,6 +216,10 @@ function connedit_post(&$a) {
$arr = array('channel_id' => local_user(), 'abook' => $a->poi);
call_hooks('accept_follow', $arr);
}
+dbg(1);
+ if(! is_null($autoperms))
+ set_pconfig(local_user(),'system','autoperms',(($autoperms) ? $abook_my_perms : 0));
+dbg(0);
connedit_clone($a);
@@ -261,12 +273,8 @@ function connedit_content(&$a) {
$x = get_role_perms($role);
if($x['perms_accept'])
$my_perms = $x['perms_accept'];
- else {
- // fixme - we need to be able to define these somewhere for the custom role
- $my_perms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
- |PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
- |PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
- }
+ else
+ $my_perms = get_channel_default_perms(local_user());
}
if($my_perms) {
$o .= "<script>function connectDefaultShare() {
@@ -292,7 +300,7 @@ function connedit_content(&$a) {
$cmd = argv(2);
$orig_record = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_id = %d AND abook_channel = %d AND NOT ( abook_flags & %d ) LIMIT 1",
+ WHERE abook_id = %d AND abook_channel = %d AND NOT ( abook_flags & %d )>0 LIMIT 1",
intval($contact_id),
intval(local_user()),
intval(ABOOK_FLAG_SELF)
@@ -436,32 +444,34 @@ function connedit_content(&$a) {
'url' => $a->get_baseurl(true) . '/network/?f=&cid=' . $contact['abook_id'],
'sel' => '',
'title' => t('View recent posts and comments'),
- ),
+ )
+ );
+ $buttons = array(
array(
'label' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? t('Unblock') : t('Block')),
'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/block',
'sel' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? 'active' : ''),
- 'title' => t('Block or Unblock this connection'),
+ 'title' => t('Block (or Unblock) all communications with this connection'),
),
array(
'label' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? t('Unignore') : t('Ignore')),
'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/ignore',
'sel' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? 'active' : ''),
- 'title' => t('Ignore or Unignore this connection'),
+ 'title' => t('Ignore (or Unignore) all inbound communications from this connection'),
),
array(
'label' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? t('Unarchive') : t('Archive')),
'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/archive',
'sel' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? 'active' : ''),
- 'title' => t('Archive or Unarchive this connection'),
+ 'title' => t('Archive (or Unarchive) this connection - mark channel dead but keep content'),
),
array(
'label' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? t('Unhide') : t('Hide')),
'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/hide',
'sel' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? 'active' : ''),
- 'title' => t('Hide or Unhide this connection'),
+ 'title' => t('Hide or Unhide this connection from your other connections'),
),
array(
@@ -496,6 +506,7 @@ function connedit_content(&$a) {
$slider_tpl = get_markup_template('contact_slider.tpl');
$slide = replace_macros($slider_tpl,array(
'$me' => t('Me'),
+ '$min' => 1,
'$val' => (($contact['abook_closeness']) ? $contact['abook_closeness'] : 99),
'$intimate' => t('Best Friends'),
'$friends' => t('Friends'),
@@ -522,21 +533,26 @@ function connedit_content(&$a) {
if((! $self) && ($existing[$k]))
$thisperm = "1";
- $perms[] = array('perms_' . $k, $v[3], (($contact['abook_their_perms'] & $v[1]) ? "1" : ""),$thisperm, $v[1], (($channel[$v[0]] == PERMS_SPECIFIC) ? '' : '1'), $v[4]);
+ $perms[] = array('perms_' . $k, $v[3], (($contact['abook_their_perms'] & $v[1]) ? "1" : ""),$thisperm, $v[1], (($channel[$v[0]] == PERMS_SPECIFIC || $self) ? '' : '1'), $v[4]);
}
$o .= replace_macros($tpl,array(
- '$header' => (($self) ? t('Automatic Permissions Settings') : sprintf( t('Connections: settings for %s'),$contact['xchan_name'])),
+ '$header' => (($self) ? t('Connection Default Permissions') : sprintf( t('Connections: settings for %s'),$contact['xchan_name'])),
+ '$autoperms' => array('autoperms',t('Apply these permissions automatically'), ((get_pconfig(local_user(),'system','autoperms')) ? 1 : 0), ''),
'$addr' => $contact['xchan_addr'],
'$notself' => (($self) ? '' : '1'),
'$self' => (($self) ? '1' : ''),
- '$autolbl' => t('When receiving a channel introduction, any permissions provided here will be applied to the new connection automatically and the introduction approved. Leave this page if you do not wish to use this feature.'),
+ '$autolbl' => t('Apply the permissions indicated on this page to all new connections.'),
+ '$buttons' => (($self) ? '' : $buttons),
'$viewprof' => t('View Profile'),
'$lbl_slider' => t('Slide to adjust your degree of friendship'),
'$slide' => $slide,
'$tabs' => $t,
'$tab_str' => $tab_str,
+ '$perms_step1' => t('<p>Step #1. (Completed).</p><p>Create connection with minimal or no permissions.</p>'),
+ '$perms_step2' => t('<p>Step #2. (Incomplete).</p><p>Review and/or edit the default individual permissions on this page, if desired.</p>'),
+ '$perms_step3' => t('<p>Step #3. (Incomplete).</p><p>Submit this page to apply the selected permissions.</p><p>Until this is complete, this connection may have insufficient permission to communicate with you.</p>'),
'$is_pending' => (($contact['abook_flags'] & ABOOK_FLAG_PENDING) ? 1 : ''),
'$unapproved' => $unapproved,
'$inherited' => t('inherited'),
@@ -588,12 +604,8 @@ function connedit_content(&$a) {
'$ignored' => (($contact['readonly']) ? t('Currently ignored') : ''),
'$archived' => (($contact['archive']) ? t('Currently archived') : ''),
'$pending' => (($contact['archive']) ? t('Currently pending') : ''),
- '$hidden' => array('hidden', t('Hide this contact from others'), ($contact['hidden'] == 1), t('Replies/likes to your public posts <strong>may</strong> still be visible')),
- '$photo' => $contact['photo'],
'$name' => $contact['name'],
- '$dir_icon' => $dir_icon,
'$alt_text' => $alt_text,
- '$sparkle' => $sparkle,
'$url' => $url
));
diff --git a/mod/contactgroup.php b/mod/contactgroup.php
index cac02a65d..4515c4c4c 100644
--- a/mod/contactgroup.php
+++ b/mod/contactgroup.php
@@ -9,7 +9,7 @@ function contactgroup_content(&$a) {
}
if((argc() > 2) && (intval(argv(1))) && (argv(2))) {
- $r = q("SELECT abook_xchan from abook where abook_xchan = '%s' and abook_channel = %d and not ( abook_flags & %d ) limit 1",
+ $r = q("SELECT abook_xchan from abook where abook_xchan = '%s' and abook_channel = %d and not ( abook_flags & %d )>0 limit 1",
dbesc(base64url_decode(argv(2))),
intval(local_user()),
intval(ABOOK_FLAG_SELF)
diff --git a/mod/delegate.php b/mod/delegate.php
index e582b9387..c78898b7f 100644
--- a/mod/delegate.php
+++ b/mod/delegate.php
@@ -42,7 +42,7 @@ function delegate_content(&$a) {
if(x($_SESSION,'submanage') && intval($_SESSION['submanage']))
goaway($a->get_baseurl() . '/delegate');
- q("delete from manage where uid = %d and mid = %d limit 1",
+ q("delete from manage where uid = %d and mid = %d",
intval($a->argv[2]),
intval(local_user())
);
diff --git a/mod/directory.php b/mod/directory.php
index 3d7632ec0..4ceda293d 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -1,12 +1,19 @@
<?php
+require_once('include/socgraph.php');
require_once('include/dir_fns.php');
require_once('include/widgets.php');
-
+require_once('include/bbcode.php');
function directory_init(&$a) {
$a->set_pager_itemspage(60);
+ if(x($_GET,'ignore')) {
+ q("insert into xign ( uid, xchan ) values ( %d, '%s' ) ",
+ intval(local_user()),
+ dbesc($_GET['ignore'])
+ );
+ }
}
function directory_content(&$a) {
@@ -31,8 +38,9 @@ function directory_content(&$a) {
if(x($_REQUEST,'safe'))
$safe_mode = (intval($_REQUEST['safe']));
-
-
+ $pubforums = null;
+ if(array_key_exists('pubforums',$_REQUEST))
+ $pubforums = intval($_REQUEST['pubforums']);
$o = '';
nav_set_selected('directory');
@@ -42,13 +50,38 @@ function directory_content(&$a) {
else
$search = ((x($_GET,'search')) ? notags(trim(rawurldecode($_GET['search']))) : '');
- $advanced = ((x($_REQUEST,'query')) ? notags(trim($_REQUEST['query'])) : '');
+
+ if(strpos($search,'=') && local_user() && get_pconfig(local_user(),'feature','expert'))
+ $advanced = $search;
+
$keywords = (($_GET['keywords']) ? $_GET['keywords'] : '');
+ // Suggest channels if no search terms or keywords are given
+ $suggest = (local_user() && x($_REQUEST,'suggest')) ? $_REQUEST['suggest'] : '';
+
+ if($suggest) {
+ $r = suggestion_query(local_user(),get_observer_hash());
+
+ // Remember in which order the suggestions were
+ $addresses = array();
+ $index = 0;
+ foreach($r as $rr) {
+ $addresses[$rr['xchan_addr']] = $index++;
+ }
+
+ // Build query to get info about suggested people
+ $advanced = '';
+ foreach(array_keys($addresses) as $address) {
+ $advanced .= "address=\"$address\" ";
+ }
+ // Remove last space in the advanced query
+ $advanced = rtrim($advanced);
+
+ }
+
$tpl = get_markup_template('directory_header.tpl');
-
$dirmode = intval(get_config('system','directory_mode'));
if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
@@ -91,11 +124,19 @@ function directory_content(&$a) {
$query .= '&keywords=' . urlencode($keywords);
if($advanced)
$query .= '&query=' . urlencode($advanced);
+ if(! is_null($pubforums))
+ $query .= '&pubforums=' . intval($pubforums);
+
+ if(! is_null($pubforums))
+ $query .= '&pubforums=' . intval($pubforums);
+
+ $sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : 'normal');
- $sort_order = ((x($_REQUEST,'order')) ? $_REQUEST['order'] : '');
if($sort_order)
$query .= '&order=' . urlencode($sort_order);
+
+
if($a->pager['page'] != 1)
$query .= '&p=' . $a->pager['page'];
@@ -122,6 +163,10 @@ function directory_content(&$a) {
$pdesc = (($rr['description']) ? $rr['description'] . '<br />' : '');
$connect_link = ((local_user()) ? z_root() . '/follow?f=&url=' . urlencode($rr['address']) : '');
+ // Checking status is disabled ATM until someone checks the performance impact more carefully
+ //$online = remote_online_status($rr['address']);
+ $online = '';
+
if(in_array($rr['hash'],$contacts))
$connect_link = '';
@@ -142,8 +187,6 @@ function directory_content(&$a) {
if(($years = age($rr['birthday'],'UTC','')) != 0)
$details .= '<br />' . t('Age: ') . $years ;
}
- if(strlen($rr['gender']))
- $details .= '<br />' . t('Gender: ') . $rr['gender'];
$page_type = '';
@@ -155,18 +198,53 @@ function directory_content(&$a) {
|| (x($profile,'country') == 1))
$location = t('Location:');
- $gender = ((x($profile,'gender') == 1) ? t('Gender:') : False);
+ $gender = ((x($profile,'gender') == 1) ? t('Gender: ') . $profile['gender']: False);
- $marital = ((x($profile,'marital') == 1) ? t('Status:') : False);
+ $marital = ((x($profile,'marital') == 1) ? t('Status: ') . $profile['marital']: False);
- $homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False);
-
- $about = ((x($profile,'about') == 1) ? t('About:') : False);
+ $homepage = ((x($profile,'homepage') == 1) ? t('Homepage: ') : False);
+ $homepageurl = ((x($profile,'homepage') == 1) ? $profile['homepage'] : '');
+
+ $hometown = ((x($profile,'hometown') == 1) ? t('Hometown: ') . $profile['hometown'] : False);
+
+ $about = ((x($profile,'about') == 1) ? t('About: ') . bbcode($profile['about']) : False);
+
+ $keywords = ((x($profile,'keywords')) ? $profile['keywords'] : '');
+
+ $out = '';
+
+ if($keywords) {
+ $keywords = str_replace(',',' ', $keywords);
+ $keywords = str_replace(' ',' ', $keywords);
+ $karr = explode(' ', $keywords);
+
+ if($karr) {
+ if(local_user()) {
+ $r = q("select keywords from profile where uid = %d and is_default = 1 limit 1",
+ intval(local_user())
+ );
+ if($r) {
+ $keywords = str_replace(',',' ', $r[0]['keywords']);
+ $keywords = str_replace(' ',' ', $keywords);
+ $marr = explode(' ', $keywords);
+ }
+ }
+ foreach($karr as $k) {
+ if(strlen($out))
+ $out .= ', ';
+ if($marr && in_arrayi($k,$marr))
+ $out .= '<strong>' . $k . '</strong>';
+ else
+ $out .= $k;
+ }
+ }
+ }
$entry = array(
'id' => ++$t,
'profile_link' => $profile_link,
+ 'public_forum' => $rr['public_forum'],
'photo' => $rr['photo'],
'hash' => $rr['hash'],
'alttext' => $rr['name'] . ' ' . $rr['address'],
@@ -174,27 +252,43 @@ function directory_content(&$a) {
'details' => $pdesc . $details,
'profile' => $profile,
'address' => $rr['address'],
+ 'nickname' => substr($rr['address'],0,strpos($rr['address'],'@')),
'location' => $location,
'gender' => $gender,
'pdesc' => $pdesc,
'marital' => $marital,
'homepage' => $homepage,
+ 'homepageurl' => linkify($homepageurl),
+ 'hometown' => $hometown,
'about' => $about,
'conn_label' => t('Connect'),
+ 'forum_label' => t('Public Forum:'),
'connect' => $connect_link,
+ 'online' => $online,
+ 'kw' => (($out) ? t('Keywords: ') : ''),
+ 'keywords' => $out,
+ 'ignlink' => $suggest ? $a->get_baseurl() . '/directory?ignore=' . $rr['hash'] : '',
+ 'ignore_label' => "Don't suggest",
);
$arr = array('contact' => $rr, 'entry' => $entry);
call_hooks('directory_item', $arr);
- $entries[] = $arr['entry'];
+ if($sort_order == '' && $suggest) {
+ $entries[$addresses[$rr['address']]] = $arr['entry']; // Use the same indexes as originally to get the best suggestion first
+ }
+ else {
+ $entries[] = $arr['entry'];
+ }
unset($profile);
unset($location);
}
+ ksort($entries); // Sort array by key so that foreach-constructs work as expected
+
if($j['keywords']) {
$a->data['directory_keywords'] = $j['keywords'];
}
@@ -215,15 +309,16 @@ function directory_content(&$a) {
killme();
}
else {
+ $maxheight = 175;
- $o .= "<script> var page_query = '" . $_GET['q'] . "'; var extra_args = '" . extra_query_args() . "' ; </script>";
+ $o .= "<script> var page_query = '" . $_GET['q'] . "'; var extra_args = '" . extra_query_args() . "' ; divmore_height = " . intval($maxheight) . "; </script>";
$o .= replace_macros($tpl, array(
'$search' => $search,
'$desc' => t('Find'),
'$finddsc' => t('Finding:'),
'$safetxt' => htmlspecialchars($search,ENT_QUOTES,'UTF-8'),
'$entries' => $entries,
- '$dirlbl' => t('Directory'),
+ '$dirlbl' => $suggest ? t('Channel Suggestions') : t('Directory'),
'$submit' => t('Find'),
'$next' => alt_pager($a,$j['records'], t('next page'), t('previous page'))
diff --git a/mod/dirprofile.php b/mod/dirprofile.php
deleted file mode 100644
index e9b12ada7..000000000
--- a/mod/dirprofile.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-
-require_once('include/dir_fns.php');
-require_once('include/bbcode.php');
-
-function dirprofile_init(&$a) {
-
- if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
- notice( t('Public access denied.') . EOL);
- return;
- }
-
- $hash = $_REQUEST['hash'];
- if(! $hash)
- return '';
-
- $o = '';
-
- $dirmode = intval(get_config('system','directory_mode'));
-
- if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) {
- $url = z_root() . '/dirsearch';
- }
- if(! $url) {
- $directory = find_upstream_directory($dirmode);
- $url = $directory['url'] . '/dirsearch';
- }
- logger('mod_directory: URL = ' . $url, LOGGER_DEBUG);
-
- $contacts = array();
-
- if(local_user()) {
- $x = q("select abook_xchan from abook where abook_channel = %d",
- intval(local_user())
- );
- if($x) {
- foreach($x as $xx)
- $contacts[] = $xx['abook_xchan'];
- }
- }
-
-
-
- if($url) {
-
- $query = $url . '?f=&hash=' . $hash;
-
- $x = z_fetch_url($query);
- logger('dirprofile: return from upstream: ' . print_r($x,true), LOGGER_DATA);
-
- if($x['success']) {
- $t = 0;
- $j = json_decode($x['body'],true);
- if($j) {
-
- if($j['results']) {
-
- $entries = array();
-
- $photo = 'thumb';
-
- foreach($j['results'] as $rr) {
-
- $profile_link = chanlink_url($rr['url']);
-
- $pdesc = (($rr['description']) ? $rr['description'] . '<br />' : '');
-
- $qrlink = zid($rr['url']);
- $connect_link = ((local_user()) ? z_root() . '/follow?f=&url=' . urlencode($rr['address']) : '');
-
- $online = remote_online_status($rr['address']);
-
-
- if(in_array($rr['hash'],$contacts))
- $connect_link = '';
-
- $details = '';
- if(strlen($rr['locale']))
- $details .= $rr['locale'];
- if(strlen($rr['region'])) {
- if(strlen($rr['locale']))
- $details .= ', ';
- $details .= $rr['region'];
- }
- if(strlen($rr['country'])) {
- if(strlen($details))
- $details .= ', ';
- $details .= $rr['country'];
- }
- if(strlen($rr['birthday'])) {
- if(($years = age($rr['birthday'],'UTC','')) != 0)
- $details .= '<br />' . t('Age: ') . $years ;
- }
- if(strlen($rr['gender']))
- $details .= '<br />' . t('Gender: ') . $rr['gender'];
-
- $page_type = '';
-
- $profile = $rr;
-
- if ((x($profile,'locale') == 1)
- || (x($profile,'region') == 1)
- || (x($profile,'postcode') == 1)
- || (x($profile,'country') == 1))
- $location = t('Location:');
-
-
- $marital = ((x($profile,'marital') == 1) ? t('Status: ') . $profile['marital'] : False);
- $sexual = ((x($profile,'sexual') == 1) ? t('Sexual Preference: ') . $profile['sexual'] : False);
-
- $homepage = ((x($profile,'homepage') == 1) ? t('Homepage: ') . linkify($profile['homepage']) : False);
- $hometown = ((x($profile,'hometown') == 1) ? t('Hometown: ') . $profile['hometown'] : False);
-
- $about = ((x($profile,'about') == 1) ? t('About: ') . bbcode($profile['about']) : False);
-
- $keywords = ((x($profile,'keywords')) ? $profile['keywords'] : '');
- if($keywords) {
- $keywords = str_replace(',',' ', $keywords);
- $keywords = str_replace(' ',' ', $keywords);
- $karr = explode(' ', $keywords);
- $out = '';
- if($karr) {
- if(local_user()) {
- $r = q("select keywords from profile where uid = %d and is_default = 1 limit 1",
- intval(local_user())
- );
- if($r) {
- $keywords = str_replace(',',' ', $r[0]['keywords']);
- $keywords = str_replace(' ',' ', $keywords);
- $marr = explode(' ', $keywords);
- }
- }
- foreach($karr as $k) {
- if(strlen($out))
- $out .= ', ';
- if($marr && in_arrayi($k,$marr))
- $out .= '<strong>' . $k . '</strong>';
- else
- $out .= $k;
- }
- }
-
- }
- $entry = replace_macros(get_markup_template('direntry_large.tpl'), array(
- '$id' => ++$t,
- '$profile_link' => $profile_link,
- '$qrlink' => $qrlink,
- '$photo' => $rr['photo_l'],
- '$alttext' => $rr['name'] . ' ' . $rr['address'],
- '$name' => $rr['name'],
- '$online' => (($online) ? t('Online Now') : ''),
- '$details' => $pdesc . $details,
- '$profile' => $profile,
- '$address' => $rr['address'],
- '$location' => $location,
- '$gender' => $gender,
- '$pdesc' => $pdesc,
- '$marital' => $marital,
- '$homepage' => $homepage,
- '$hometown' => $hometown,
- '$about' => $about,
- '$kw' => (($out) ? t('Keywords: ') : ''),
- '$keywords' => $out,
- '$conn_label' => t('Connect'),
- '$connect' => $connect_link,
- ));
-
-
- echo $entry;
- killme();
-
- }
- }
- else {
- info( t("Not found.") . EOL);
- }
- }
- }
- }
-
-
-
-
-} \ No newline at end of file
diff --git a/mod/dirsearch.php b/mod/dirsearch.php
index d8f611e6a..a88db0a2c 100644
--- a/mod/dirsearch.php
+++ b/mod/dirsearch.php
@@ -64,6 +64,9 @@ function dirsearch_content(&$a) {
$agege = ((x($_REQUEST,'agege')) ? intval($_REQUEST['agege']) : 0 );
$agele = ((x($_REQUEST,'agele')) ? intval($_REQUEST['agele']) : 0 );
$kw = ((x($_REQUEST,'kw')) ? intval($_REQUEST['kw']) : 0 );
+ $forums = ((array_key_exists('pubforums',$_REQUEST)) ? intval($_REQUEST['pubforums']) : 0);
+
+
// by default use a safe search
$safe = ((x($_REQUEST,'safe'))); // ? intval($_REQUEST['safe']) : 1 );
@@ -108,6 +111,10 @@ function dirsearch_content(&$a) {
if($keywords)
$sql_extra .= dir_query_build($joiner,'xprof_keywords',$keywords);
+ if($forums)
+ $sql_extra .= dir_flag_build($joiner,'xprof_flags',XCHAN_FLAGS_PUBFORUM, $forums);
+
+
// we only support an age range currently. You must set both agege
// (greater than or equal) and agele (less than or equal)
@@ -151,16 +158,16 @@ function dirsearch_content(&$a) {
}
- $safesql = (($safe > 0) ? " and not ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED|XCHAN_FLAGS_SELFCENSORED) . " ) " : '');
+ $safesql = (($safe > 0) ? " and not ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED|XCHAN_FLAGS_SELFCENSORED) . " )>0 " : '');
if($safe < 0)
- $safesql = " and ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED|XCHAN_FLAGS_SELFCENSORED) . " ) ";
+ $safesql = " and ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED|XCHAN_FLAGS_SELFCENSORED) . " )>0 ";
if($limit)
$qlimit = " LIMIT $limit ";
else {
$qlimit = " LIMIT " . intval($startrec) . " , " . intval($perpage);
if($return_total) {
- $r = q("SELECT COUNT(xchan_hash) AS `total` FROM xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and xchan_network = 'zot' and not ( xchan_flags & %d) and not ( xchan_flags & %d ) and not ( xchan_flags & %d ) $safesql ",
+ $r = q("SELECT COUNT(xchan_hash) AS `total` FROM xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and xchan_network = 'zot' and not ( xchan_flags & %d)>0 and not ( xchan_flags & %d )>0 and not ( xchan_flags & %d )>0 $safesql ",
intval(XCHAN_FLAGS_HIDDEN),
intval(XCHAN_FLAGS_ORPHAN),
intval(XCHAN_FLAGS_DELETED)
@@ -176,10 +183,11 @@ function dirsearch_content(&$a) {
$order = " order by xchan_name asc ";
elseif($sort_order == 'reverse')
$order = " order by xchan_name desc ";
+ elseif($sort_order == 'reversedate')
+ $order = " order by xchan_name_date asc ";
else
$order = " order by xchan_name_date desc ";
-
if($sync) {
$spkt = array('transactions' => array());
$r = q("select * from updates where ud_date >= '%s' and ud_guid != '' order by ud_date desc",
@@ -205,7 +213,7 @@ function dirsearch_content(&$a) {
json_return_and_die($spkt);
}
else {
- $r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where ( $logic $sql_extra ) and xchan_network = 'zot' and not ( xchan_flags & %d ) and not ( xchan_flags & %d ) and not ( xchan_flags & %d ) $safesql $order $qlimit ",
+ $r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where ( $logic $sql_extra ) and xchan_network = 'zot' and not ( xchan_flags & %d )>0 and not ( xchan_flags & %d )>0 and not ( xchan_flags & %d )>0 $safesql $order $qlimit ",
intval(XCHAN_FLAGS_HIDDEN),
intval(XCHAN_FLAGS_ORPHAN),
intval(XCHAN_FLAGS_DELETED)
@@ -226,6 +234,8 @@ function dirsearch_content(&$a) {
$entry['name'] = $rr['xchan_name'];
$entry['hash'] = $rr['xchan_hash'];
+ $entry['public_forum'] = (($rr['xchan_flags'] & XCHAN_FLAGS_PUBFORUM) ? true : false);
+
$entry['url'] = $rr['xchan_url'];
$entry['photo_l'] = $rr['xchan_photo_l'];
$entry['photo'] = $rr['xchan_photo_m'];
@@ -271,6 +281,11 @@ function dir_query_build($joiner,$field,$s) {
return $ret;
}
+function dir_flag_build($joiner,$field,$bit,$s) {
+ return dbesc($joiner) . " ( " . dbesc('xchan_flags') . " & " . intval($bit) . " ) " . ((intval($s)) ? '>' : '=' ) . " 0 ";
+}
+
+
function dir_parse_query($s) {
$ret = array();
@@ -280,35 +295,44 @@ function dir_parse_query($s) {
if($all) {
foreach($all as $q) {
- if($q === 'and') {
- $curr['logic'] = 'and';
- continue;
- }
- if($q === 'or') {
- $curr['logic'] = 'or';
- continue;
- }
- if($q === 'not') {
- $curr['logic'] .= ' not';
- continue;
- }
- if(strpos($q,'=')) {
- if(! isset($curr['logic']))
+ if($quoted_string === false) {
+ if($q === 'and') {
+ $curr['logic'] = 'and';
+ continue;
+ }
+ if($q === 'or') {
$curr['logic'] = 'or';
- $curr['field'] = trim(substr($q,0,strpos($q,'=')));
- $curr['value'] = trim(substr($q,strpos($q,'=')+1));
- if(strpos($curr['value'],'"') !== false) {
- $quoted_string = true;
- $curr['value'] = substr($curr['value'],strpos($curr['value'],'"')+1);
+ continue;
}
- else {
- $ret[] = $curr;
- $curr = array();
- $continue;
+ if($q === 'not') {
+ $curr['logic'] .= ' not';
+ continue;
+ }
+ if(strpos($q,'=')) {
+ if(! isset($curr['logic']))
+ $curr['logic'] = 'or';
+ $curr['field'] = trim(substr($q,0,strpos($q,'=')));
+ $curr['value'] = trim(substr($q,strpos($q,'=')+1));
+ if($curr['value'][0] == '"' && $curr['value'][strlen($curr['value'])-1] != '"') {
+ $quoted_string = true;
+ $curr['value'] = substr($curr['value'],1);
+ continue;
+ }
+ elseif($curr['value'][0] == '"' && $curr['value'][strlen($curr['value'])-1] == '"') {
+ $curr['value'] = substr($curr['value'],1,strlen($curr['value'])-2);
+ $ret[] = $curr;
+ $curr = array();
+ continue;
+ }
+ else {
+ $ret[] = $curr;
+ $curr = array();
+ continue;
+ }
}
}
- elseif($quoted_string) {
- if(strpos($q,'"') !== false) {
+ else {
+ if($q[strlen($q)-1] == '"') {
$curr['value'] .= ' ' . str_replace('"','',trim($q));
$ret[] = $curr;
$curr = array();
diff --git a/mod/display.php b/mod/display.php
index be06c1e82..7d7f4ca13 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -133,6 +133,7 @@ function display_content(&$a, $update = 0, $load = false) {
'$order' => '',
'$file' => '',
'$cats' => '',
+ '$tags' => '',
'$dend' => '',
'$dbegin' => '',
'$mid' => $item_hash
@@ -149,13 +150,14 @@ function display_content(&$a, $update = 0, $load = false) {
$updateable = false;
- $pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval($a->pager['itemspage']),intval($a->pager['start']));
if($load || ($_COOKIE['jsAvailable'] != 1)) {
$r = null;
require_once('include/identity.php');
$sys = get_sys_channel();
+ $sysid = $sys['channel_id'];
if(local_user()) {
$r = q("SELECT * from item
@@ -177,8 +179,8 @@ function display_content(&$a, $update = 0, $load = false) {
// in case somebody turned off public access to sys channel content using permissions
// make that content unsearchable by ensuring the owner_xchan can't match
- if(! perm_is_allowed($sys['channel_id'],$observer_hash,'view_stream'))
- $sys['xchan_hash'] .= 'disabled';
+ if(! perm_is_allowed($sysid,$observer_hash,'view_stream'))
+ $sysid = 0;
$r = q("SELECT * from item
@@ -187,11 +189,11 @@ function display_content(&$a, $update = 0, $load = false) {
AND (((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
AND `item`.`deny_gid` = '' AND item_private = 0 )
and owner_xchan in ( " . stream_perms_xchans(($observer_hash) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
- OR owner_xchan = '%s')
+ OR uid = %d )
$sql_extra )
- group by mid limit 1",
+ limit 1",
dbesc($target_item['parent_mid']),
- dbesc($sys['xchan_hash'])
+ intval($sysid)
);
}
@@ -228,8 +230,8 @@ function display_content(&$a, $update = 0, $load = false) {
}
if($updateable) {
- $x = q("UPDATE item SET item_flags = ( item_flags ^ %d )
- WHERE (item_flags & %d) AND uid = %d and parent = %d ",
+ $x = q("UPDATE item SET item_flags = ( item_flags & ~%d )
+ WHERE (item_flags & %d)>0 AND uid = %d and parent = %d ",
intval(ITEM_UNSEEN),
intval(ITEM_UNSEEN),
intval(local_user()),
diff --git a/mod/editblock.php b/mod/editblock.php
index 3b6ce4bbf..6ec840af7 100644
--- a/mod/editblock.php
+++ b/mod/editblock.php
@@ -1,50 +1,92 @@
<?php
+require_once('include/identity.php');
+require_once('include/acl_selectors.php');
-function editblock_content(&$a) {
+function editblock_init(&$a) {
+ if(argc() > 1 && argv(1) === 'sys' && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $a->is_sys = true;
+ }
+ }
- if(argc() < 2) {
- notice( t('Item not found') . EOL);
+ if(argc() > 1)
+ $which = argv(1);
+ else
return;
- }
- $channel = get_channel_by_nick(argv(1));
+ profile_load($a,$which);
- if($c) {
- $owner = intval($channel['channel_id']);
- }
+}
- $o = '';
+function editblock_content(&$a) {
+
+ if(! $a->profile) {
+ notice( t('Requested profile is not available.') . EOL );
+ $a->error = 404;
+ return;
+ }
- // Figure out which post we're editing
- $post_id = ((argc() > 2) ? intval(argv(2)) : 0);
+ $which = argv(1);
+ $uid = local_user();
+ $owner = 0;
+ $channel = null;
+ $observer = $a->get_observer();
- if(! ($post_id && $channel)) {
- notice( t('Item not found') . EOL);
- return;
+ $channel = $a->get_channel();
+
+ if($a->is_sys && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $uid = $owner = intval($sys['channel_id']);
+ $channel = $sys;
+ $observer = $sys;
+ }
}
- // Now we've got a post and an owner, let's find out if we're allowed to edit it
+ if(! $owner) {
+ // Figure out who the page owner is.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ }
+ }
+
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
- if(! perm_is_allowed($channel['channel_id'],get_observer_hash(),'write_pages')) {
+ if(! perm_is_allowed($owner,$ob_hash,'write_pages')) {
notice( t('Permission denied.') . EOL);
return;
}
+ $is_owner = (($uid && $uid == $owner) ? true : false);
+
+ $o = '';
- // We've already figured out which item we want and whose copy we need, so we don't need anything fancy here
+ // Figure out which post we're editing
+ $post_id = ((argc() > 2) ? intval(argv(2)) : 0);
+
+
+ if(! ($post_id && $owner)) {
+ notice( t('Item not found') . EOL);
+ return;
+ }
+
$itm = q("SELECT * FROM `item` WHERE `id` = %d and uid = %s LIMIT 1",
intval($post_id),
- intval($channel['channel_id'])
+ intval($owner)
);
if($itm) {
$item_id = q("select * from item_id where service = 'BUILDBLOCK' and iid = %d limit 1",
- $itm[0]['id']
+ intval($itm[0]['id'])
);
if($item_id)
$block_title = $item_id[0]['sid'];
@@ -57,10 +99,6 @@ function editblock_content(&$a) {
$plaintext = true;
- // You may or may not be a local user.
-// if(local_user() && feature_enabled(local_user(),'richtext'))
-// $plaintext = false;
-
$mimeselect = '';
$mimetype = $itm[0]['mimetype'];
@@ -79,11 +117,11 @@ function editblock_content(&$a) {
$a->page['htmlhead'] .= replace_macros(get_markup_template('jot-header.tpl'), array(
- '$baseurl' => $a->get_baseurl(),
- '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
- '$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
- '$geotag' => '',
- '$nickname' => $channel['channel_address'],
+ '$baseurl' => $a->get_baseurl(),
+ '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
+ '$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
+ '$geotag' => '',
+ '$nickname' => $channel['channel_address'],
'$confirmdelete' => t('Delete block?')
));
@@ -96,79 +134,70 @@ function editblock_content(&$a) {
call_hooks('jot_tool', $jotplugins);
call_hooks('jot_networks', $jotnets);
-
- //$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
-
- // FIXME A return path with $_SESSION doesn't always work for observer - it may WSoD instead of loading a sensible page.
- //So, send folk to the webpage list.
-
$rp = 'blocks/' . $channel['channel_address'];
$o .= replace_macros($tpl,array(
- '$return_path' => $rp,
- '$action' => 'item',
- '$webpage' => ITEM_BUILDBLOCK,
- '$share' => t('Edit'),
- '$upload' => t('Upload photo'),
- '$attach' => t('Attach file'),
- '$weblink' => t('Insert web link'),
- '$youtube' => t('Insert YouTube video'),
- '$video' => t('Insert Vorbis [.ogg] video'),
- '$audio' => t('Insert Vorbis [.ogg] audio'),
- '$setloc' => t('Set your location'),
- '$noloc' => t('Clear browser location'),
- '$wait' => t('Please wait'),
- '$permset' => t('Permission settings'),
- '$ptyp' => $itm[0]['type'],
- '$mimeselect' => $mimeselect,
- '$content' => undo_post_tagging($itm[0]['body']),
- '$post_id' => $post_id,
- '$baseurl' => $a->get_baseurl(),
- '$defloc' => $channel['channel_location'],
- '$visitor' => false,
- '$public' => t('Public post'),
- '$jotnets' => $jotnets,
- '$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
- '$placeholdertitle' => t('Set title'),
- '$pagetitle' => $block_title,
- '$category' => '',
- '$placeholdercategory' => t('Categories (comma-separated list)'),
- '$emtitle' => t('Example: bob@example.com, mary@example.com'),
- '$lockstate' => $lockstate,
- '$acl' => '',
- '$bang' => '',
- '$profile_uid' => (intval($channel['channel_id'])),
- '$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
- '$jotplugins' => $jotplugins,
- '$sourceapp' => $itm[0]['app'],
- '$defexpire' => '',
- '$feature_expire' => false,
- '$expires' => t('Set expiration date'),
+ '$return_path' => $rp,
+ '$action' => 'item',
+ '$webpage' => ITEM_BUILDBLOCK,
+ '$share' => t('Edit'),
+ '$upload' => t('Upload photo'),
+ '$attach' => t('Attach file'),
+ '$weblink' => t('Insert web link'),
+ '$youtube' => t('Insert YouTube video'),
+ '$video' => t('Insert Vorbis [.ogg] video'),
+ '$audio' => t('Insert Vorbis [.ogg] audio'),
+ '$setloc' => t('Set your location'),
+ '$noloc' => t('Clear browser location'),
+ '$wait' => t('Please wait'),
+ '$permset' => t('Permission settings'),
+ '$ptyp' => $itm[0]['type'],
+ '$mimeselect' => $mimeselect,
+ '$content' => undo_post_tagging($itm[0]['body']),
+ '$post_id' => $post_id,
+ '$baseurl' => $a->get_baseurl(),
+ '$defloc' => $channel['channel_location'],
+ '$visitor' => false,
+ '$public' => t('Public post'),
+ '$jotnets' => $jotnets,
+ '$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
+ '$placeholdertitle' => t('Title (optional)'),
+ '$pagetitle' => $block_title,
+ '$category' => '',
+ '$placeholdercategory' => t('Categories (optional, comma-separated list)'),
+ '$emtitle' => t('Example: bob@example.com, mary@example.com'),
+ '$lockstate' => $lockstate,
+ '$acl' => '',
+ '$bang' => '',
+ '$profile_uid' => (intval($channel['channel_id'])),
+ '$preview' => true, // ((feature_enabled($uid,'preview')) ? t('Preview') : ''),
+ '$jotplugins' => $jotplugins,
+ '$sourceapp' => $itm[0]['app'],
+ '$defexpire' => '',
+ '$feature_expire' => false,
+ '$expires' => t('Set expiration date'),
));
- $ob = get_observer_hash();
-
- if(($itm[0]['author_xchan'] === $ob) || ($itm[0]['owner_xchan'] === $ob))
+ if(($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash))
$o .= '<br /><br /><a class="block-delete-link" href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Block') . '</a><br />';
$x = array(
- 'type' => 'block',
- 'title' => $itm[0]['title'],
- 'body' => $itm[0]['body'],
- 'term' => $itm[0]['term'],
- 'created' => $itm[0]['created'],
- 'edited' => $itm[0]['edited'],
- 'mimetype' => $itm[0]['mimetype'],
+ 'type' => 'block',
+ 'title' => $itm[0]['title'],
+ 'body' => $itm[0]['body'],
+ 'term' => $itm[0]['term'],
+ 'created' => $itm[0]['created'],
+ 'edited' => $itm[0]['edited'],
+ 'mimetype' => $itm[0]['mimetype'],
'pagetitle' => $page_title,
- 'mid' => $itm[0]['mid']
+ 'mid' => $itm[0]['mid']
);
$o .= EOL . EOL . t('Share') . EOL . '<textarea onclick="this.select();" class="shareable_element_text" >[element]' . base64url_encode(json_encode($x)) . '[/element]</textarea>' . EOL . EOL;
-
return $o;
}
diff --git a/mod/editlayout.php b/mod/editlayout.php
index 89cae2b0c..d76aa484d 100644
--- a/mod/editlayout.php
+++ b/mod/editlayout.php
@@ -1,34 +1,76 @@
<?php
-// What is this here for? I think it's cruft, but comment out for now in case it's here for a reason
-// require_once('acl_selectors.php');
+require_once('include/identity.php');
+require_once('include/acl_selectors.php');
+
+function editlayout_init(&$a) {
+
+ if(argc() > 1 && argv(1) === 'sys' && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $a->is_sys = true;
+ }
+ }
+
+ if(argc() > 1)
+ $which = argv(1);
+ else
+ return;
+
+ profile_load($a,$which);
+
+}
function editlayout_content(&$a) {
-// We first need to figure out who owns the webpage, grab it from an argument
- $which = argv(1);
-// $a->get_channel() and stuff don't work here, so we've got to find the owner for ourselves.
- $r = q("select channel_id from channel where channel_address = '%s'",
- dbesc($which)
+ if(! $a->profile) {
+ notice( t('Requested profile is not available.') . EOL );
+ $a->error = 404;
+ return;
+ }
+
+ $which = argv(1);
+
+ $uid = local_user();
+ $owner = 0;
+ $channel = null;
+ $observer = $a->get_observer();
+
+ $channel = $a->get_channel();
+
+ if($a->is_sys && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $uid = $owner = intval($sys['channel_id']);
+ $channel = $sys;
+ $observer = $sys;
+ }
+ }
+
+ if(! $owner) {
+ // Figure out who the page owner is.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
);
- if($r) {
- $owner = intval($r[0]['channel_id']);
- //logger('owner: ' . print_r($owner,true));
- }
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ }
+ }
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
-
-
- if((local_user()) && (argc() > 2) && (argv(2) === 'view')) {
- $which = $channel['channel_address'];
- }
+ if(! perm_is_allowed($owner,$ob_hash,'write_pages')) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+ $is_owner = (($uid && $uid == $owner) ? true : false);
$o = '';
-// Figure out which post we're editing
+ // Figure out which post we're editing
$post_id = ((argc() > 2) ? intval(argv(2)) : 0);
@@ -37,48 +79,41 @@ function editlayout_content(&$a) {
return;
}
-// Now we've got a post and an owner, let's find out if we're allowed to edit it
+ // Now we've got a post and an owner, let's find out if we're allowed to edit it
- $observer = $a->get_observer();
- $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
- $perms = get_all_perms($owner,$ob_hash);
-
- if(! $perms['write_pages']) {
- notice( t('Permission denied.') . EOL);
- return;
- }
+ $perms = get_all_perms($owner,$ob_hash);
+ if(! $perms['write_pages']) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
-// We've already figured out which item we want and whose copy we need, so we don't need anything fancy here
- $itm = q("SELECT * FROM `item` WHERE `id` = %d and uid = %s LIMIT 1",
- intval($post_id),
- intval($owner)
- );
+ $itm = q("SELECT * FROM `item` WHERE `id` = %d and uid = %s LIMIT 1",
+ intval($post_id),
+ intval($owner)
+ );
$item_id = q("select * from item_id where service = 'PDL' and iid = %d limit 1",
- $itm[0]['id']
+ intval($itm[0]['id'])
);
if($item_id)
$layout_title = $item_id[0]['sid'];
$plaintext = true;
-// You may or may not be a local user. This won't work,
-// if(feature_enabled(local_user(),'richtext'))
-// $plaintext = false;
$o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
'$title' => t('Edit Layout')
));
-
$a->page['htmlhead'] .= replace_macros(get_markup_template('jot-header.tpl'), array(
- '$baseurl' => $a->get_baseurl(),
- '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
- '$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
- '$geotag' => $geotag,
- '$nickname' => $a->user['nickname'],
+ '$baseurl' => $a->get_baseurl(),
+ '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
+ '$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
+ '$geotag' => $geotag,
+ '$nickname' => $channel['channel_address'],
'$confirmdelete' => t('Delete layout?')
));
@@ -91,71 +126,68 @@ function editlayout_content(&$a) {
call_hooks('jot_tool', $jotplugins);
call_hooks('jot_networks', $jotnets);
- $channel = $a->get_channel();
-
- //$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
-//FIXME A return path with $_SESSION doesn't always work for observer - it may WSoD instead of loading a sensible page. So, send folk to the webpage list.
+ // FIXME A return path with $_SESSION doesn't always work for observer - it may WSoD
+ // instead of loading a sensible page. So, send folk to the webpage list.
$rp = '/layouts/' . $which;
$o .= replace_macros($tpl,array(
- '$return_path' => $rp,
- '$action' => 'item',
- '$webpage' => ITEM_PDL,
- '$share' => t('Edit'),
- '$upload' => t('Upload photo'),
- '$attach' => t('Attach file'),
- '$weblink' => t('Insert web link'),
- '$youtube' => t('Insert YouTube video'),
- '$video' => t('Insert Vorbis [.ogg] video'),
- '$audio' => t('Insert Vorbis [.ogg] audio'),
- '$setloc' => t('Set your location'),
- '$noloc' => t('Clear browser location'),
- '$wait' => t('Please wait'),
- '$permset' => t('Permission settings'),
- '$ptyp' => $itm[0]['type'],
- '$content' => undo_post_tagging($itm[0]['body']),
- '$post_id' => $post_id,
- '$baseurl' => $a->get_baseurl(),
- '$defloc' => $channel['channel_location'],
- '$visitor' => false,
- '$public' => t('Public post'),
- '$jotnets' => $jotnets,
- '$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
- '$placeholdertitle' => t('Set title'),
- '$pagetitle' => $layout_title,
- '$category' => '',
- '$placeholdercategory' => t('Categories (comma-separated list)'),
- '$emtitle' => t('Example: bob@example.com, mary@example.com'),
- '$lockstate' => $lockstate,
- '$acl' => '',
- '$bang' => '',
- '$profile_uid' => (intval($owner)),
- '$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
- '$jotplugins' => $jotplugins,
- '$sourceapp' => t($a->sourcename),
- '$defexpire' => '',
- '$feature_expire' => false,
- '$expires' => t('Set expiration date'),
+ '$return_path' => $rp,
+ '$action' => 'item',
+ '$webpage' => ITEM_PDL,
+ '$share' => t('Edit'),
+ '$upload' => t('Upload photo'),
+ '$attach' => t('Attach file'),
+ '$weblink' => t('Insert web link'),
+ '$youtube' => t('Insert YouTube video'),
+ '$video' => t('Insert Vorbis [.ogg] video'),
+ '$audio' => t('Insert Vorbis [.ogg] audio'),
+ '$setloc' => t('Set your location'),
+ '$noloc' => t('Clear browser location'),
+ '$wait' => t('Please wait'),
+ '$permset' => t('Permission settings'),
+ '$ptyp' => $itm[0]['type'],
+ '$content' => undo_post_tagging($itm[0]['body']),
+ '$post_id' => $post_id,
+ '$baseurl' => $a->get_baseurl(),
+ '$defloc' => $channel['channel_location'],
+ '$visitor' => false,
+ '$public' => t('Public post'),
+ '$jotnets' => $jotnets,
+ '$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
+ '$placeholdertitle' => t('Title (optional)'),
+ '$pagetitle' => $layout_title,
+ '$category' => '',
+ '$placeholdercategory' => t('Categories (optional, comma-separated list)'),
+ '$emtitle' => t('Example: bob@example.com, mary@example.com'),
+ '$lockstate' => $lockstate,
+ '$acl' => '',
+ '$bang' => '',
+ '$profile_uid' => (intval($owner)),
+ '$preview' => true, // ((feature_enabled($uid,'preview')) ? t('Preview') : ''),
+ '$jotplugins' => $jotplugins,
+ '$sourceapp' => t($a->sourcename),
+ '$defexpire' => '',
+ '$feature_expire' => false,
+ '$expires' => t('Set expiration date'),
));
- $ob = get_observer_hash();
- if(($itm[0]['author_xchan'] === $ob) || ($itm[0]['owner_xchan'] === $ob))
+ if(($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash))
$o .= '<br /><br /><a class="layout-delete-link" href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Layout') . '</a><br />';
$x = array(
- 'type' => 'layout',
- 'title' => $itm[0]['title'],
- 'body' => $itm[0]['body'],
- 'term' => $itm[0]['term'],
- 'created' => $itm[0]['created'],
- 'edited' => $itm[0]['edited'],
- 'mimetype' => $itm[0]['mimetype'],
+ 'type' => 'layout',
+ 'title' => $itm[0]['title'],
+ 'body' => $itm[0]['body'],
+ 'term' => $itm[0]['term'],
+ 'created' => $itm[0]['created'],
+ 'edited' => $itm[0]['edited'],
+ 'mimetype' => $itm[0]['mimetype'],
'pagetitle' => $page_title,
- 'mid' => $itm[0]['mid']
+ 'mid' => $itm[0]['mid']
);
$o .= EOL . EOL . t('Share') . EOL . '<textarea onclick="this.select();" class="shareable_element_text" >[element]' . base64url_encode(json_encode($x)) . '[/element]</textarea>' . EOL . EOL;
diff --git a/mod/editpost.php b/mod/editpost.php
index ed7fcff8a..dfbc8766e 100644
--- a/mod/editpost.php
+++ b/mod/editpost.php
@@ -129,15 +129,15 @@ function editpost_content(&$a) {
'$public' => t('Public post'),
'$jotnets' => $jotnets,
'$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
- '$placeholdertitle' => t('Set title'),
+ '$placeholdertitle' => t('Title (optional)'),
'$category' => $category,
- '$placeholdercategory' => t('Categories (comma-separated list)'),
+ '$placeholdercategory' => t('Categories (optional, comma-separated list)'),
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $lockstate,
'$acl' => '',
'$bang' => '',
'$profile_uid' => local_user(),
- '$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
+ '$preview' => true, // ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
'$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename),
'$catsenabled' => $catsenabled,
diff --git a/mod/editwebpage.php b/mod/editwebpage.php
index 41b5bb3e7..191c9a9ac 100644
--- a/mod/editwebpage.php
+++ b/mod/editwebpage.php
@@ -1,26 +1,71 @@
<?php
-// Required for setting permissions. (FIXME)
+require_once('include/identity.php');
+require_once('include/acl_selectors.php');
+
+function editwebpage_init(&$a) {
+
+ if(argc() > 1 && argv(1) === 'sys' && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $a->is_sys = true;
+ }
+ }
+
+ if(argc() > 1)
+ $which = argv(1);
+ else
+ return;
+
+ profile_load($a,$which);
+
+}
-require_once('acl_selectors.php');
function editwebpage_content(&$a) {
- // We first need to figure out who owns the webpage, grab it from an argument
+ if(! $a->profile) {
+ notice( t('Requested profile is not available.') . EOL );
+ $a->error = 404;
+ return;
+ }
$which = argv(1);
- // $a->get_channel() and stuff don't work here, so we've got to find the owner for ourselves.
-
- $r = q("select channel_id from channel where channel_address = '%s'",
- dbesc($which)
- );
- if($r) {
- $owner = intval($r[0]['channel_id']);
- //logger('owner: ' . print_r($owner,true));
+ $uid = local_user();
+ $owner = 0;
+ $channel = null;
+ $observer = $a->get_observer();
+
+ $channel = $a->get_channel();
+
+ if($a->is_sys && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $uid = $owner = intval($sys['channel_id']);
+ $channel = $sys;
+ $observer = $sys;
+ }
+ }
+
+ if(! $owner) {
+ // Figure out who the page owner is.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ }
}
- $is_owner = ((local_user() && local_user() == $owner) ? true : false);
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+
+ if(! perm_is_allowed($owner,$ob_hash,'write_pages')) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ $is_owner = (($uid && $uid == $owner) ? true : false);
$o = '';
@@ -33,9 +78,6 @@ function editwebpage_content(&$a) {
return;
}
- // Now we've got a post and an owner, let's find out if we're allowed to edit it
-
- $observer = $a->get_observer();
$ob_hash = (($observer) ? $observer['xchan_hash'] : '');
$perms = get_all_perms($owner,$ob_hash);
@@ -45,14 +87,13 @@ function editwebpage_content(&$a) {
return;
}
+ // We've already figured out which item we want and whose copy we need,
+ // so we don't need anything fancy here
-
- // We've already figured out which item we want and whose copy we need, so we don't need anything fancy here
$itm = q("SELECT * FROM `item` WHERE `id` = %d and uid = %s LIMIT 1",
intval($post_id),
intval($owner)
- );
-
+ );
if($itm[0]['item_flags'] & ITEM_OBSCURED) {
$key = get_config('system','prvkey');
@@ -63,23 +104,17 @@ function editwebpage_content(&$a) {
}
$item_id = q("select * from item_id where service = 'WEBPAGE' and iid = %d limit 1",
- $itm[0]['id']
+ intval($itm[0]['id'])
);
if($item_id)
$page_title = $item_id[0]['sid'];
-
-
-
$plaintext = true;
-// if(feature_enabled($itm[0]['uid'],'richtext'))
-// $plaintext = false;
-
$mimetype = $itm[0]['mimetype'];
if($mimetype === 'application/x-php') {
- if((! local_user()) || (local_user() != $itm[0]['uid'])) {
+ if((! $uid) || ($uid != $itm[0]['uid'])) {
notice( t('Permission denied.') . EOL);
return;
}
@@ -101,7 +136,6 @@ function editwebpage_content(&$a) {
else
$layoutselect = layout_select($itm[0]['uid'],$itm[0]['layout_mid']);
-
$o .= replace_macros(get_markup_template('edpost_head.tpl'), array(
'$title' => t('Edit Webpage')
));
@@ -112,7 +146,7 @@ function editwebpage_content(&$a) {
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
'$geotag' => $geotag,
- '$nickname' => $a->user['nickname'],
+ '$nickname' => $channel['channel_address'],
'$confirmdelete' => t('Delete webpage?')
));
@@ -124,12 +158,9 @@ function editwebpage_content(&$a) {
call_hooks('jot_tool', $jotplugins);
call_hooks('jot_networks', $jotnets);
-
- $channel = $a->get_channel();
-
- //$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
-//FIXME A return path with $_SESSION doesn't always work for observer - it may WSoD instead of loading a sensible page. So, send folk to the webpage list.
+ // FIXME A return path with $_SESSION doesn't always work for observer - it may WSoD
+ // instead of loading a sensible page. So, send folk to the webpage list.
$rp = 'webpages/' . $which;
@@ -164,25 +195,23 @@ function editwebpage_content(&$a) {
'$mimeselect' => $mimeselect,
'$layoutselect' => $layoutselect,
'$title' => htmlspecialchars($itm[0]['title'],ENT_COMPAT,'UTF-8'),
- '$placeholdertitle' => t('Set title'),
+ '$placeholdertitle' => t('Title (optional)'),
'$category' => '',
- '$placeholdercategory' => t('Categories (comma-separated list)'),
+ '$placeholdercategory' => t('Categories (optional, comma-separated list)'),
'$emtitle' => t('Example: bob@example.com, mary@example.com'),
'lockstate' => (((strlen($itm[0]['allow_cid'])) || (strlen($itm[0]['allow_gid'])) || (strlen($itm[0]['deny_cid'])) || (strlen($itm[0]['deny_gid']))) ? 'lock' : 'unlock'),
'$bang' => '',
'$profile_uid' => (intval($owner)),
- '$preview' => ((feature_enabled(local_user(),'preview')) ? t('Preview') : ''),
+ '$preview' => true, // ((feature_enabled($uid,'preview')) ? t('Preview') : ''),
'$jotplugins' => $jotplugins,
- '$sourceapp' => t($a->sourcename),
+ '$sourceapp' => $a->sourcename,
'$defexpire' => '',
'$feature_expire' => false,
'$expires' => t('Set expiration date'),
));
- $ob = get_observer_hash();
-
- if(($itm[0]['author_xchan'] === $ob) || ($itm[0]['owner_xchan'] === $ob))
+ if(($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash))
$o .= '<br /><br /><a class="page-delete-link" href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Webpage') . '</a><br />';
diff --git a/mod/events.php b/mod/events.php
index 513899308..e016311d5 100755
--- a/mod/events.php
+++ b/mod/events.php
@@ -199,14 +199,14 @@ function events_content(&$a) {
nav_set_selected('all_events');
if((argc() > 2) && (argv(1) === 'ignore') && intval(argv(2))) {
- $r = q("update event set ignore = 1 where id = %d and uid = %d limit 1",
+ $r = q("update event set ignore = 1 where id = %d and uid = %d",
intval(argv(2)),
intval(local_user())
);
}
if((argc() > 2) && (argv(1) === 'unignore') && intval(argv(2))) {
- $r = q("update event set ignore = 0 where id = %d and uid = %d limit 1",
+ $r = q("update event set ignore = 0 where id = %d and uid = %d",
intval(argv(2)),
intval(local_user())
);
@@ -268,13 +268,18 @@ function events_content(&$a) {
if($mode == 'view') {
- $thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
- $thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
+ $thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
+ $thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
if(! $y)
$y = intval($thisyear);
if(! $m)
$m = intval($thismonth);
+ $export = false;
+ if(argc() === 4 && argv(3) === 'export')
+ $export = true;
+
+
// Put some limits on dates. The PHP date functions don't seem to do so well before 1900.
// An upper limit was chosen to keep search engines from exploring links millions of years in the future.
@@ -330,8 +335,8 @@ function events_content(&$a) {
$r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan
from event left join item on event_hash = resource_id
where resource_type = 'event' and event.uid = %d and event.ignore = %d
- AND (( `adjust` = 0 AND ( `finish` >= '%s' or nofinish ) AND `start` <= '%s' )
- OR ( `adjust` = 1 AND ( `finish` >= '%s' or nofinish ) AND `start` <= '%s' )) ",
+ AND (( `adjust` = 0 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )
+ OR ( `adjust` = 1 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )) ",
intval(local_user()),
intval($ignored),
dbesc($start),
@@ -413,6 +418,12 @@ function events_content(&$a) {
}
}
+ if($export) {
+ header('Content-type: text/calendar');
+ echo ical_wrapper($r);
+ killme();
+ }
+
if ($a->argv[1] === 'json'){
echo json_encode($events); killme();
}
@@ -432,6 +443,7 @@ function events_content(&$a) {
'$new_event'=> array($a->get_baseurl().'/events/new',t('Create New Event'),'',''),
'$previus' => array($a->get_baseurl()."/events/$prevyear/$prevmonth",t('Previous'),'',''),
'$next' => array($a->get_baseurl()."/events/$nextyear/$nextmonth",t('Next'),'',''),
+ '$export' => array($a->get_baseurl()."/events/$y/$m/export",t('Export'),'',''),
'$calendar' => cal($y,$m,$links, ' eventcal'),
'$events' => $events,
@@ -549,7 +561,6 @@ function events_content(&$a) {
$tpl = get_markup_template('event_form.tpl');
-
$o .= replace_macros($tpl,array(
'$post' => $a->get_baseurl() . '/events',
'$eid' => $eid,
@@ -567,11 +578,11 @@ function events_content(&$a) {
'$ftext' => $ftext,
'$ModalCANCEL' => t('Cancel'),
'$ModalOK' => t('OK'),
- '$s_dsel' => datetimesel($f,mktime(),mktime(0,0,0,0,0,$syear+5),mktime($shour,$sminute,$ssecond,$smonth,$sday,$syear),'start_text'),
+ '$s_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$syear+5),DateTime::createFromFormat('Y-m-d H:i',"$syear-$smonth-$sday $shour:$sminute"),'start_text'),
'$n_text' => t('Finish date/time is not known or not relevant'),
'$n_checked' => $n_checked,
'$f_text' => t('Event Finishes:'),
- '$f_dsel' => datetimesel($f,mktime(),mktime(0,0,0,0,0,$fyear+5),mktime($fhour,$fminute,$fsecond,$fmonth,$fday,$fyear),'finish_text',true,true,'start_text'),
+ '$f_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$fyear+5),DateTime::createFromFormat('Y-m-d H:i',"$fyear-$fmonth-$fday $fhour:$fminute"),'finish_text',true,true,'start_text'),
'$a_text' => t('Adjust for viewer timezone'),
'$a_checked' => $a_checked,
'$d_text' => t('Description:'),
diff --git a/mod/feed.php b/mod/feed.php
index 776f9787f..3b622fc17 100644
--- a/mod/feed.php
+++ b/mod/feed.php
@@ -12,6 +12,9 @@ function feed_init(&$a) {
$params['type'] = ((stristr(argv(0),'json')) ? 'json' : 'xml');
$params['pages'] = ((x($_REQUEST,'pages')) ? intval($_REQUEST['pages']) : 0);
$params['top'] = ((x($_REQUEST,'top')) ? intval($_REQUEST['top']) : 0);
+ $params['start'] = ((x($params,'start')) ? intval($params['start']) : 0);
+ $params['records'] = ((x($params,'records')) ? intval($params['records']) : 40);
+ $params['direction'] = ((x($params,'direction')) ? dbesc($params['direction']) : 'desc');
$channel = '';
if(argc() > 1) {
diff --git a/mod/filer.php b/mod/filer.php
index 3340fc999..9a409177c 100644
--- a/mod/filer.php
+++ b/mod/filer.php
@@ -27,7 +27,7 @@ function filer_content(&$a) {
intval(local_user())
);
if($r) {
- $x = q("update item set item_flags = ( item_flags | %d ) where id = %d and uid = %d limit 1",
+ $x = q("update item set item_flags = ( item_flags | %d ) where id = %d and uid = %d",
intval(ITEM_RETAINED),
intval($r[0]['parent']),
intval(local_user())
diff --git a/mod/filerm.php b/mod/filerm.php
index a37e80b31..900cfe60b 100644
--- a/mod/filerm.php
+++ b/mod/filerm.php
@@ -18,7 +18,7 @@ function filerm_content(&$a) {
logger('filerm: tag ' . $term . ' item ' . $item_id);
if($item_id && strlen($term)) {
- $r = q("delete from term where uid = %d and type = %d and oid = %d and term = '%s' limit 1",
+ $r = q("delete from term where uid = %d and type = %d and oid = %d and term = '%s'",
intval(local_user()),
intval(($category) ? TERM_CATEGORY : TERM_FILE),
intval($item_id),
diff --git a/mod/filestorage.php b/mod/filestorage.php
index e27087a92..0a25617f0 100644
--- a/mod/filestorage.php
+++ b/mod/filestorage.php
@@ -32,7 +32,7 @@ function filestorage_post(&$a) {
$str_group_deny = perms2str($_REQUEST['group_deny']);
$str_contact_deny = perms2str($_REQUEST['contact_deny']);
- attach_change_permissions($channel_id, $resource, $str_contact_allow, $str_group_allow, $str_contact_deny,$str_group_deny, $recurse = false);
+ attach_change_permissions($channel_id, $resource, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny, $recurse);
//Build directory tree and redirect
$channel = $a->get_channel();
@@ -127,10 +127,14 @@ function filestorage_content(&$a) {
$lockstate = (($f['allow_cid'] || $f['allow_gid'] || $f['deny_cid'] || $f['deny_gid']) ? 'lock' : 'unlock');
+ // Encode path that is used for link so it's a valid URL
+ // Keep slashes as slashes, otherwise mod_rewrite doesn't work correctly
+ $encoded_path = str_replace('%2F', '/', rawurlencode($cloudpath));
+
$o = replace_macros(get_markup_template('attach_edit.tpl'), array(
'$header' => t('Edit file permissions'),
'$file' => $f,
- '$cloudpath' => z_root() . '/' . $cloudpath,
+ '$cloudpath' => z_root() . '/' . $encoded_path,
'$parentpath' => $parentpath,
'$uid' => $channel['channel_id'],
'$channelnick' => $channel['channel_address'],
@@ -143,10 +147,13 @@ function filestorage_content(&$a) {
'$isadir' => $is_a_dir,
'$cpdesc' => t('Copy/paste this code to attach file to a post'),
'$cpldesc' => t('Copy/paste this URL to link file from a web page'),
- '$submit' => t('Submit')
+ '$submit' => t('Submit'),
+ '$attach_btn_title' => t('Attach this file to a new post'),
+ '$link_btn_title' => t('Show URL to this file'),
));
- return $o;
+ echo $o;
+ killme();
}
goaway(z_root() . '/cloud/' . $which);
diff --git a/mod/fsuggest.php b/mod/fsuggest.php
index 8b6f077d3..2f4f9606b 100644
--- a/mod/fsuggest.php
+++ b/mod/fsuggest.php
@@ -52,7 +52,7 @@ function fsuggest_post(&$a) {
);
if(count($r)) {
$fsuggest_id = $r[0]['id'];
- q("UPDATE `fsuggest` SET `note` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ q("UPDATE `fsuggest` SET `note` = '%s' WHERE `id` = %d AND `uid` = %d",
dbesc($note),
intval($fsuggest_id),
intval(local_user())
diff --git a/mod/group.php b/mod/group.php
index 9b90b1a1a..f67623a83 100644
--- a/mod/group.php
+++ b/mod/group.php
@@ -44,7 +44,7 @@ function group_post(&$a) {
$public = intval($_POST['public']);
if((strlen($groupname)) && (($groupname != $group['name']) || ($public != $group['visible']))) {
- $r = q("UPDATE `groups` SET `name` = '%s', visible = %d WHERE `uid` = %d AND `id` = %d LIMIT 1",
+ $r = q("UPDATE `groups` SET `name` = '%s', visible = %d WHERE `uid` = %d AND `id` = %d",
dbesc($groupname),
intval($public),
intval(local_user()),
@@ -117,7 +117,7 @@ function group_content(&$a) {
check_form_security_token_ForbiddenOnErr('group_member_change', 't');
- $r = q("SELECT abook_xchan from abook left join xchan on abook_xchan = xchan_hash where abook_xchan = '%s' and abook_channel = %d and not (xchan_flags & %d) and not (abook_flags & %d) and not (abook_flags & %d) limit 1",
+ $r = q("SELECT abook_xchan from abook left join xchan on abook_xchan = xchan_hash where abook_xchan = '%s' and abook_channel = %d and not (xchan_flags & %d)>0 and not (abook_flags & %d)>0 and not (abook_flags & %d)>0 limit 1",
dbesc(base64url_decode(argv(2))),
intval(local_user()),
intval(XCHAN_FLAGS_DELETED),
@@ -211,7 +211,7 @@ function group_content(&$a) {
group_rmv_member(local_user(),$group['name'],$member['xchan_hash']);
}
- $r = q("SELECT abook.*, xchan.* FROM `abook` left join xchan on abook_xchan = xchan_hash WHERE `abook_channel` = %d AND not (abook_flags & %d) and not (xchan_flags & %d) and not (abook_flags & %d) order by xchan_name asc",
+ $r = q("SELECT abook.*, xchan.* FROM `abook` left join xchan on abook_xchan = xchan_hash WHERE `abook_channel` = %d AND not (abook_flags & %d)>0 and not (xchan_flags & %d)>0 and not (abook_flags & %d)>0 order by xchan_name asc",
intval(local_user()),
intval(ABOOK_FLAG_BLOCKED),
intval(XCHAN_FLAGS_DELETED),
diff --git a/mod/help.php b/mod/help.php
index 4823f1c07..a3dafcc9b 100644
--- a/mod/help.php
+++ b/mod/help.php
@@ -98,7 +98,7 @@ function preg_callback_help_include($matches) {
if($matches[1]) {
$include = str_replace($matches[0],load_doc_file($matches[1]),$matches[0]);
- if(preg_match('/\.bb$/', $matches[1])) {
+ if(preg_match('/\.bb$/', $matches[1]) || preg_match('/\.txt$/', $matches[1])) {
require_once('include/bbcode.php');
$include = bbcode($include);
} elseif(preg_match('/\.md$/', $matches[1])) {
diff --git a/mod/home.php b/mod/home.php
index 576213e06..b2538795f 100644
--- a/mod/home.php
+++ b/mod/home.php
@@ -9,9 +9,10 @@ function home_init(&$a) {
$ret = array();
call_hooks('home_init',$ret);
- $channel = $a->get_channel();
+ $splash = ((argc() > 1 && argv(1) === 'splash') ? true : false);
- if(local_user() && $channel && $channel['xchan_url']) {
+ $channel = $a->get_channel();
+ if(local_user() && $channel && $channel['xchan_url'] && ! $splash) {
$dest = $channel['channel_startpage'];
if(! $dest)
$dest = get_pconfig(local_user(),'system','startpage');
@@ -23,14 +24,14 @@ function home_init(&$a) {
goaway($dest);
}
- if(get_account_id()) {
+ if(get_account_id() && ! $splash) {
goaway(z_root() . '/new_channel');
}
}
-function home_content(&$a) {
+function home_content(&$a, $update = 0, $load = false) {
$o = '';
@@ -39,6 +40,7 @@ function home_content(&$a) {
if(x($_SESSION,'mobile_theme'))
unset($_SESSION['mobile_theme']);
+ $splash = ((argc() > 1 && argv(1) === 'splash') ? true : false);
if(get_config('system','projecthome')) {
$o .= file_get_contents('assets/home.html');
@@ -48,20 +50,21 @@ function home_content(&$a) {
}
-// Deprecated
- $channel_address = get_config("system", "site_channel" );
-
-// See if the sys channel set a homepage
- if (! $channel_address) {
- $u = get_sys_channel();
- if ($u) {
- $u = array($u);
- // change to channel_id when below deprecated and skip the $u=...
- $channel_address = $u[0]['channel_address'];
- }
- }
+ // Deprecated
+ $channel_address = get_config("system", "site_channel" );
+
+ // See if the sys channel set a homepage
+ if (! $channel_address) {
+ require_once('include/identity.php');
+ $u = get_sys_channel();
+ if ($u) {
+ $u = array($u);
+ // change to channel_id when below deprecated and skip the $u=...
+ $channel_address = $u[0]['channel_address'];
+ }
+ }
- if ($channel_address){
+ if($channel_address) {
$page_id = 'home';
@@ -78,31 +81,160 @@ function home_content(&$a) {
);
if($r) {
- xchan_query($r);
- $r = fetch_post_tags($r,true);
- $a->profile = array('profile_uid' => $u[0]['channel_id']);
- $o .= prepare_page($r[0]);
- return $o;
+ xchan_query($r);
+ $r = fetch_post_tags($r,true);
+ $a->profile = array('profile_uid' => $u[0]['channel_id']);
+ $a->profile_uid = $u[0]['channel_id'];
+ $o .= prepare_page($r[0]);
+ return $o;
}
-
}
-// Nope, we didn't find an item. Let's see if there's any html
+ // Nope, we didn't find an item. Let's see if there's any html
if(file_exists('home.html')) {
$o .= file_get_contents('home.html');
}
else {
-
- // If there's nothing special happening, just spit out a login box
-
$sitename = get_config('system','sitename');
if($sitename)
$o .= '<h1>' . sprintf( t("Welcome to %s") ,$sitename) . '</h1>';
- if (! $a->config['system']['no_login_on_homepage'])
- $o .= login(($a->config['system']['register_policy'] == REGISTER_CLOSED) ? 0 : 1);
+
+ if(intval(get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
+ // If there's nothing special happening, just spit out a login box
+
+ if (! $a->config['system']['no_login_on_homepage'])
+ $o .= login(($a->config['system']['register_policy'] == REGISTER_CLOSED) ? 0 : 1);
+ return $o;
+ }
+ else {
+
+ if(! $update) {
+
+ $maxheight = get_config('system','home_divmore_height');
+ if(! $maxheight)
+ $maxheight = 75;
+
+ $o .= '<div id="live-home"></div>' . "\r\n";
+ $o .= "<script> var profile_uid = " . ((intval(local_user())) ? local_user() : (-1))
+ . "; var profile_page = " . $a->pager['page']
+ . "; divmore_height = " . intval($maxheight) . "; </script>\r\n";
+
+ $a->page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
+ '$baseurl' => z_root(),
+ '$pgtype' => 'home',
+ '$uid' => ((local_user()) ? local_user() : '0'),
+ '$gid' => '0',
+ '$cid' => '0',
+ '$cmin' => '0',
+ '$cmax' => '99',
+ '$star' => '0',
+ '$liked' => '0',
+ '$conv' => '0',
+ '$spam' => '0',
+ '$fh' => '1',
+ '$nouveau' => '0',
+ '$wall' => '0',
+ '$list' => '0',
+ '$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
+ '$search' => '',
+ '$order' => 'comment',
+ '$file' => '',
+ '$cats' => '',
+ '$tags' => '',
+ '$dend' => '',
+ '$mid' => '',
+ '$dbegin' => ''
+ ));
+ }
+
+ if($update && ! $load) {
+ // only setup pagination on initial page view
+ $pager_sql = '';
+ }
+ else {
+ $a->set_pager_itemspage(20);
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval($a->pager['itemspage']), intval($a->pager['start']));
+ }
+
+ require_once('include/identity.php');
+ $sys = get_sys_channel();
+ $uids = " and item.uid = " . intval($sys['channel_id']) . " ";
+ $a->data['firehose'] = intval($sys['channel_id']);
+
+ $page_mode = 'list';
+
+ $simple_update = (($update) ? " and ( item.item_flags & " . intval(ITEM_UNSEEN) . " ) > 0 " : '');
+
+ if($update && $_SESSION['loadtime'])
+ $simple_update .= " and item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ";
+ if($load)
+ $simple_update = '';
+
+ //logger('update: ' . $update . ' load: ' . $load);
+
+ if($update) {
+
+ $ordering = "commented";
+
+ if($load) {
+
+ $_SESSION['loadtime'] = datetime_convert();
+
+ // Fetch a page full of parent items for this page
+
+ $r = q("SELECT distinct item.id AS item_id, $ordering FROM item
+ left join abook on item.author_xchan = abook.abook_xchan
+ WHERE true $uids AND item.item_restrict = 0
+ AND item.parent = item.id
+ and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
+ $sql_extra3 $sql_extra $sql_nets
+ ORDER BY $ordering DESC $pager_sql ",
+ intval(ABOOK_FLAG_BLOCKED)
+ );
+
+ }
+
+ // Then fetch all the children of the parents that are on this page
+ $parents_str = '';
+ $update_unseen = '';
+
+ if($r) {
+
+ $parents_str = ids_to_querystr($r,'item_id');
+
+ $items = q("SELECT item.*, item.id AS item_id FROM item
+ WHERE true $uids AND item.item_restrict = 0
+ AND item.parent IN ( %s )
+ $sql_extra ",
+ dbesc($parents_str)
+ );
+
+ xchan_query($items,true,(-1));
+ $items = fetch_post_tags($items,true);
+ $items = conv_sort($items,$ordering);
+ }
+ else {
+ $items = array();
+ }
+
+ }
+
+ // fake it
+ $mode = ('network');
+
+ $o .= conversation($a,$items,$mode,$update,$page_mode);
+
+ if(($items) && (! $update))
+ $o .= alt_pager($a,count($items));
+
+ return $o;
+
+ }
+ call_hooks('home_content',$o);
+ return $o;
}
-
- call_hooks('home_content',$o);
- return $o;
-}
+
+ return $o;
+
+} \ No newline at end of file
diff --git a/mod/import.php b/mod/import.php
index 44dfcc38d..c9a4edb67 100644
--- a/mod/import.php
+++ b/mod/import.php
@@ -101,9 +101,33 @@ function import_post(&$a) {
// We should probably also verify the hash
if($r) {
- logger('mod_import: duplicate channel. ', print_r($channel,true));
- notice( t('Cannot create a duplicate channel identifier on this system. Import failed.') . EOL);
- return;
+ if($r[0]['channel_guid'] === $channel['channel_guid'] || $r[0]['channel_hash'] === $channel['channel_hash']) {
+ logger('mod_import: duplicate channel. ', print_r($channel,true));
+ notice( t('Cannot create a duplicate channel identifier on this system. Import failed.') . EOL);
+ return;
+ }
+ else {
+ // try at most ten times to generate a unique address.
+ $x = 0;
+ $found_unique = false;
+ do {
+ $tmp = $channel['channel_address'] . mt_rand(1000,9999);
+ $r = q("select * from channel where channel_address = '%s' limit 1",
+ dbesc($tmp)
+ );
+ if(! $r) {
+ $channel['channel_address'] = $tmp;
+ $found_unique = true;
+ break;
+ }
+ $x ++;
+ } while ($x < 10);
+ if(! $found_unique) {
+ logger('mod_import: duplicate channel. randomisation failed.', print_r($channel,true));
+ notice( t('Unable to create a unique channel address. Import failed.') . EOL);
+ return;
+ }
+ }
}
unset($channel['channel_id']);
@@ -215,7 +239,7 @@ function import_post(&$a) {
// reset the original primary hubloc if it is being seized
if($seize)
- $r = q("update hubloc set hubloc_flags = (hubloc_flags ^ %d) where (hubloc_flags & %d) and hubloc_hash = '%s' and hubloc_url != '%s' ",
+ $r = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d) where (hubloc_flags & %d)>0 and hubloc_hash = '%s' and hubloc_url != '%s' ",
intval(HUBLOC_FLAGS_PRIMARY),
intval(HUBLOC_FLAGS_PRIMARY),
dbesc($channel['channel_hash']),
@@ -228,7 +252,7 @@ function import_post(&$a) {
// replace our existing xchan if we're seizing control
- $r = q("delete from xchan where xchan_hash = '%s' limit 1",
+ $r = q("delete from xchan where xchan_hash = '%s'",
dbesc($channel['channel_hash'])
);
@@ -278,7 +302,7 @@ function import_post(&$a) {
$photodate = $xchan['xchan_photo_date'];
$r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s', xchan_photo_date = '%s'
- where xchan_hash = '%s' limit 1",
+ where xchan_hash = '%s'",
dbesc($photos[0]),
dbesc($photos[1]),
dbesc($photos[2]),
diff --git a/mod/item.php b/mod/item.php
index 22d285571..894e23a0f 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -32,8 +32,17 @@ function item_post(&$a) {
require_once('include/security.php');
$uid = local_user();
-
$channel = null;
+ $observer = null;
+
+ $profile_uid = ((x($_REQUEST,'profile_uid')) ? intval($_REQUEST['profile_uid']) : 0);
+ require_once('include/identity.php');
+ $sys = get_sys_channel();
+ if($sys && $profile_uid && ($sys['channel_id'] == $profile_uid) && is_site_admin()) {
+ $uid = intval($sys['channel_id']);
+ $channel = $sys;
+ $observer = $sys;
+ }
if(x($_REQUEST,'dropitems')) {
require_once('include/items.php');
@@ -70,14 +79,13 @@ function item_post(&$a) {
$message_id = ((x($_REQUEST,'message_id') && $api_source) ? strip_tags($_REQUEST['message_id']) : '');
$created = ((x($_REQUEST,'created')) ? datetime_convert('UTC','UTC',$_REQUEST['created']) : datetime_convert());
- $profile_uid = ((x($_REQUEST,'profile_uid')) ? intval($_REQUEST['profile_uid']) : 0);
$post_id = ((x($_REQUEST,'post_id')) ? intval($_REQUEST['post_id']) : 0);
$app = ((x($_REQUEST,'source')) ? strip_tags($_REQUEST['source']) : '');
$return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
$preview = ((x($_REQUEST,'preview')) ? intval($_REQUEST['preview']) : 0);
$categories = ((x($_REQUEST,'category')) ? escape_tags($_REQUEST['category']) : '');
$webpage = ((x($_REQUEST,'webpage')) ? intval($_REQUEST['webpage']) : 0);
- $pagetitle = ((x($_REQUEST,'pagetitle')) ? escape_tags(urlencode($_REQUEST['pagetitle'])) : '');
+ $pagetitle = ((x($_REQUEST,'pagetitle')) ? escape_tags(urlencode($_REQUEST['pagetitle'])) : '');
$layout_mid = ((x($_REQUEST,'layout_mid')) ? escape_tags($_REQUEST['layout_mid']): '');
$plink = ((x($_REQUEST,'permalink')) ? escape_tags($_REQUEST['permalink']) : '');
@@ -87,8 +95,8 @@ function item_post(&$a) {
/*
* Check service class limits
*/
- if (local_user() && !(x($_REQUEST,'parent')) && !(x($_REQUEST,'post_id'))) {
- $ret = item_check_service_class(local_user(),x($_REQUEST,'webpage'));
+ if ($uid && !(x($_REQUEST,'parent')) && !(x($_REQUEST,'post_id'))) {
+ $ret = item_check_service_class($uid,x($_REQUEST,'webpage'));
if (!$ret['success']) {
notice( t($ret['message']) . EOL) ;
if(x($_REQUEST,'return'))
@@ -112,6 +120,7 @@ function item_post(&$a) {
$parent = ((x($_REQUEST,'parent')) ? intval($_REQUEST['parent']) : 0);
$parent_mid = ((x($_REQUEST,'parent_mid')) ? trim($_REQUEST['parent_mid']) : '');
+ $route = '';
$parent_item = null;
$parent_contact = null;
$thr_parent = '';
@@ -128,11 +137,11 @@ function item_post(&$a) {
intval($parent)
);
}
- elseif($parent_mid && local_user()) {
+ elseif($parent_mid && $uid) {
// This is coming from an API source, and we are logged in
$r = q("SELECT * FROM `item` WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
dbesc($parent_mid),
- intval(local_user())
+ intval($uid)
);
}
// if this isn't the real parent of the conversation, find it
@@ -163,12 +172,12 @@ function item_post(&$a) {
$thr_parent = $parent_mid;
+ $route = $parent_item['route'];
}
-
- $observer = $a->get_observer();
-
+ if(! $observer)
+ $observer = $a->get_observer();
if($parent) {
logger('mod_item: item_post parent=' . $parent);
@@ -221,7 +230,7 @@ function item_post(&$a) {
if(! $channel) {
- if(local_user() && local_user() == $profile_uid) {
+ if($uid && $uid == $profile_uid) {
$channel = $a->get_channel();
}
else {
@@ -444,7 +453,7 @@ function item_post(&$a) {
intval($profile_uid)
);
if($z && ($z[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE)) {
- if(local_user() && (get_account_id() == $z[0]['account_id'])) {
+ if($uid && (get_account_id() == $z[0]['account_id'])) {
$execflag = true;
}
else {
@@ -459,12 +468,15 @@ function item_post(&$a) {
if($mimetype === 'text/bbcode') {
- if(local_user() && local_user() == $profile_uid && feature_enabled(local_user(),'markdown')) {
- require_once('include/bb2diaspora.php');
- $body = diaspora2bb(escape_tags($body),true);
+ require_once('include/text.php');
+ if($uid && $uid == $profile_uid && feature_enabled($uid,'markdown')) {
+ require_once('include/bb2diaspora.php');
+ $body = escape_tags($body);
+ $body = preg_replace_callback('/\[share(.*?)\]/ism','share_shield',$body);
+ $body = diaspora2bb($body,true);
+ $body = preg_replace_callback('/\[share(.*?)\]/ism','share_unshield',$body);
}
-
// BBCODE alert: the following functions assume bbcode input
// and will require alternatives for alternative content-types (text/html, text/markdown, text/plain, etc.)
// we may need virtual or template classes to implement the possible alternatives
@@ -592,11 +604,18 @@ function item_post(&$a) {
if($fullnametagged)
continue;
- $success = handle_tag($a, $body, $access_tag, $str_tags, (local_user()) ? local_user() : $profile_uid , $tag);
- logger('handle_tag: ' . print_r($success,tue), LOGGER_DATA);
+ $success = handle_tag($a, $body, $access_tag, $str_tags, ($uid) ? $uid : $profile_uid , $tag);
+ logger('handle_tag: ' . print_r($success,true), LOGGER_DATA);
if(($access_tag) && (! $parent_item)) {
logger('access_tag: ' . $tag . ' ' . print_r($access_tag,true), LOGGER_DATA);
- if ($first_access_tag) {
+ if ($first_access_tag && (! get_pconfig($profile_uid,'system','no_private_mention_acl_override'))) {
+
+ // This is a tough call, hence configurable. The issue is that one can type in a @!privacy mention
+ // and also have a default ACL (perhaps from viewing a collection) and could be suprised that the
+ // privacy mention wasn't the only recipient. So the default is to wipe out the existing ACL if a
+ // private mention is found. This can be over-ridden if you wish private mentions to be in
+ // addition to the current ACL settings.
+
$str_contact_allow = '';
$str_group_allow = '';
$first_access_tag = false;
@@ -666,7 +685,8 @@ function item_post(&$a) {
}
}
- $item_flags |= ITEM_UNSEEN;
+ if(local_user() != $profile_uid)
+ $item_flags |= ITEM_UNSEEN;
if($post_type === 'wall' || $post_type === 'wall-comment')
$item_flags = $item_flags | ITEM_WALL;
@@ -746,6 +766,7 @@ function item_post(&$a) {
$datarray['comment_policy'] = map_scope($channel['channel_w_comment']);
$datarray['term'] = $post_tags;
$datarray['plink'] = $plink;
+ $datarray['route'] = $route;
// preview mode - prepare the body for display and send it via json
@@ -787,7 +808,7 @@ function item_post(&$a) {
$datarray['body'] = z_input_filter($datarray['uid'],$datarray['body'],$datarray['mimetype']);
- if(local_user()) {
+ if($uid) {
if($channel['channel_hash'] === $datarray['author_xchan']) {
$datarray['sig'] = base64url_encode(rsa_sign($datarray['body'],$channel['channel_prvkey']));
$datarray['item_flags'] = $datarray['item_flags'] | ITEM_VERIFIED;
@@ -870,7 +891,7 @@ function item_post(&$a) {
// They will show up as people comment on them.
if($parent_item['item_restrict'] & ITEM_HIDDEN) {
- $r = q("UPDATE `item` SET `item_restrict` = %d WHERE `id` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `item_restrict` = %d WHERE `id` = %d",
intval($parent_item['item_restrict'] - ITEM_HIDDEN),
intval($parent_item['id'])
);
@@ -970,257 +991,6 @@ function item_content(&$a) {
}
}
-/**
- * This function removes the tag $tag from the text $body and replaces it with
- * the appropiate link.
- *
- * @param unknown_type $body the text to replace the tag in
- * @param unknown_type $access_tag - used to return tag ACL exclusions e.g. @!foo
- * @param unknown_type $str_tags string to add the tag to
- * @param unknown_type $profile_uid
- * @param unknown_type $tag the tag to replace
- *
- * @return boolean true if replaced, false if not replaced
- */
-function handle_tag($a, &$body, &$access_tag, &$str_tags, $profile_uid, $tag) {
-
- $replaced = false;
- $r = null;
-
-
- $termtype = ((strpos($tag,'#') === 0) ? TERM_HASHTAG : TERM_UNKNOWN);
- $termtype = ((strpos($tag,'@') === 0) ? TERM_MENTION : $termtype);
- $termtype = ((strpos($tag,'#^[') === 0) ? TERM_BOOKMARK : $termtype);
-
-
- //is it a hash tag?
- if(strpos($tag,'#') === 0) {
- if(strpos($tag,'#^[') === 0) {
- if(preg_match('/#\^\[(url|zrl)(.*?)\](.*?)\[\/(url|zrl)\]/',$tag,$match)) {
- $basetag = $match[3];
- $url = ((substr($match[2],0,1) === '=') ? substr($match[2],1) : $match[3]);
- $replaced = true;
-
- }
- }
- // if the tag is already replaced...
- elseif((strpos($tag,'[zrl=')) || (strpos($tag,'[url='))) {
- //...do nothing
- return $replaced;
- }
- if($tag == '#getzot') {
- $basetag = 'getzot';
- $url = 'https://redmatrix.me';
- $newtag = '#[zrl=' . $url . ']' . $basetag . '[/zrl]';
- $body = str_replace($tag,$newtag,$body);
- $replaced = true;
- }
- if(! $replaced) {
-
- //base tag has the tags name only
-
- if((substr($tag,0,7) === '#&quot;') && (substr($tag,-6,6) === '&quot;')) {
- $basetag = substr($tag,7);
- $basetag = substr($basetag,0,-6);
- }
- else
- $basetag = str_replace('_',' ',substr($tag,1));
-
- //create text for link
- $url = $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag);
- $newtag = '#[zrl=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/zrl]';
- //replace tag by the link
- $body = str_replace($tag, $newtag, $body);
- $replaced = true;
- }
- //is the link already in str_tags?
- if(! stristr($str_tags,$newtag)) {
- //append or set str_tags
- if(strlen($str_tags))
- $str_tags .= ',';
- $str_tags .= $newtag;
- }
- return array('replaced' => $replaced, 'termtype' => $termtype, 'term' => $basetag, 'url' => $url, 'contact' => $r[0]);
- }
-
- //is it a person tag?
-
- if(strpos($tag,'@') === 0) {
-
- // The @! tag will alter permissions
- $exclusive = ((strpos($tag,'!') === 1) ? true : false);
-
- //is it already replaced?
- if(strpos($tag,'[zrl='))
- return $replaced;
-
- //get the person's name
-
- $name = substr($tag,(($exclusive) ? 2 : 1)); // The name or name fragment we are going to replace
- $newname = $name; // a copy that we can mess with
- $tagcid = 0;
-
- $r = null;
-
- // is it some generated name?
-
- $forum = false;
- $trailing_plus_name = false;
-
- // @channel+ is a forum or network delivery tag
-
- if(substr($newname,-1,1) === '+') {
- $forum = true;
- $newname = substr($newname,0,-1);
- }
-
- // Here we're looking for an address book entry as provided by the auto-completer
- // of the form something+nnn where nnn is an abook_id or the first chars of xchan_hash
-
- if(strrpos($newname,'+')) {
- //get the id
-
- if(strrpos($tagcid,' '))
- $tagcid = substr($tagcid,0,strrpos($tagcid,' '));
-
- $tagcid = substr($newname,strrpos($newname,'+') + 1);
-
- if(strlen($tagcid) < 16)
- $abook_id = intval($tagcid);
- //remove the next word from tag's name
- if(strpos($name,' ')) {
- $name = substr($name,0,strpos($name,' '));
- }
-
- if($abook_id) { // if there was an id
- // select channel with that id from the logged in user's address book
- $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_id = %d AND abook_channel = %d LIMIT 1",
- intval($abook_id),
- intval($profile_uid)
- );
- }
- else {
- $r = q("SELECT * FROM xchan
- WHERE xchan_hash like '%s%%' LIMIT 1",
- dbesc($tagcid)
- );
- }
- }
-
- if(! $r) {
-
- // look for matching names in the address book
-
- // Two ways to deal with spaces - doube quote the name or use underscores
- // we see this after input filtering so quotes have been html entity encoded
-
- if((substr($name,0,6) === '&quot;') && (substr($name,-6,6) === '&quot;')) {
- $newname = substr($name,6);
- $newname = substr($newname,0,-6);
- }
- else
- $newname = str_replace('_',' ',$name);
-
- // do this bit over since we started over with $name
-
- if(substr($newname,-1,1) === '+') {
- $forum = true;
- $newname = substr($newname,0,-1);
- }
-
- //select someone from this user's contacts by name
- $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE xchan_name = '%s' AND abook_channel = %d LIMIT 1",
- dbesc($newname),
- intval($profile_uid)
- );
-
- if(! $r) {
- //select someone by attag or nick and the name passed in
- $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE xchan_addr like ('%s') AND abook_channel = %d LIMIT 1",
- dbesc(((strpos($newname,'@')) ? $newname : $newname . '@%')),
- intval($profile_uid)
- );
- }
-
- if(! $r) {
-
- // it's possible somebody has a name ending with '+', which we stripped off as a forum indicator
- // This is very rare but we want to get it right.
-
- $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE xchan_name = '%s' AND abook_channel = %d LIMIT 1",
- dbesc($newname . '+'),
- intval($profile_uid)
- );
- if($r)
- $trailing_plus_name = true;
- }
- }
-
- // $r is set if we found something
-
- if($r) {
- $profile = $r[0]['xchan_url'];
- $newname = $r[0]['xchan_name'];
- // add the channel's xchan_hash to $access_tag if exclusive
- if($exclusive) {
- $access_tag .= 'cid:' . $r[0]['xchan_hash'];
- }
- }
- else {
- // check for a group/collection exclusion tag
-
- // note that we aren't setting $replaced even though we're replacing text.
- // This tag isn't going to get a term attached to it. It's only used for
- // access control. The link points to out own channel just so it doesn't look
- // weird - as all the other tags are linked to something.
-
- if(local_user() && local_user() == $profile_uid) {
- require_once('include/group.php');
- $grp = group_byname($profile_uid,$name);
-
- if($grp) {
- $g = q("select hash from groups where id = %d and visible = 1 limit 1",
- intval($grp)
- );
- if($g && $exclusive) {
- $access_tag .= 'gid:' . $g[0]['hash'];
- }
- $channel = get_app()->get_channel();
- if($channel) {
- $newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . z_root() . '/channel/' . $channel['channel_address'] . ']' . $newname . '[/zrl]';
- $body = str_replace('@' . (($exclusive) ? '!' : '') . $name, $newtag, $body);
- }
- }
- }
- }
-
- // if there is an url for this channel
-
- if(isset($profile)) {
- $replaced = true;
- //create profile link
- $profile = str_replace(',','%2c',$profile);
- $url = $profile;
- $newtag = '@' . (($exclusive) ? '!' : '') . '[zrl=' . $profile . ']' . $newname . (($forum && ! $trailing_plus_name) ? '+' : '') . '[/zrl]';
- $body = str_replace('@' . (($exclusive) ? '!' : '') . $name, $newtag, $body);
- //append tag to str_tags
- if(! stristr($str_tags,$newtag)) {
- if(strlen($str_tags))
- $str_tags .= ',';
- $str_tags .= $newtag;
- }
- }
- }
-
-
- return array('replaced' => $replaced, 'termtype' => $termtype, 'term' => $newname, 'url' => $url, 'contact' => $r[0]);
-}
-
-
function fix_attached_photo_permissions($uid,$xchan_hash,$body,
$str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny) {
@@ -1278,7 +1048,7 @@ function fix_attached_photo_permissions($uid,$xchan_hash,$body,
$private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false);
$r = q("UPDATE item SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d
- WHERE id = %d AND uid = %d limit 1",
+ WHERE id = %d AND uid = %d",
dbesc($str_contact_allow),
dbesc($str_group_allow),
dbesc($str_contact_deny),
@@ -1328,7 +1098,7 @@ function item_check_service_class($channel_id,$iswebpage) {
if ($iswebpage) {
$r = q("select count(i.id) as total from item i
right join channel c on (i.author_xchan=c.channel_hash and i.uid=c.channel_id )
- and i.parent=i.id and (i.item_restrict & %d) and not (i.item_restrict & %d) and i.uid= %d ",
+ and i.parent=i.id and (i.item_restrict & %d)>0 and not (i.item_restrict & %d)>0 and i.uid= %d ",
intval(ITEM_WEBPAGE),
intval(ITEM_DELETED),
intval($channel_id)
diff --git a/mod/layouts.php b/mod/layouts.php
index 2d14212cf..aaf5db0ef 100644
--- a/mod/layouts.php
+++ b/mod/layouts.php
@@ -1,36 +1,82 @@
<?php
-function layouts_content(&$a) {
+require_once('include/identity.php');
+require_once('include/conversation.php');
+require_once('include/acl_selectors.php');
+
+function layouts_init(&$a) {
+
+ if(argc() > 1 && argv(1) === 'sys' && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $a->is_sys = true;
+ }
+ }
if(argc() > 1)
$which = argv(1);
- else {
+ else
+ return;
+
+ profile_load($a,$which);
+
+}
+
+
+function layouts_content(&$a) {
+
+ if(! $a->profile) {
notice( t('Requested profile is not available.') . EOL );
$a->error = 404;
return;
}
- profile_load($a,$which,0);
+ $which = argv(1);
+ $uid = local_user();
+ $owner = 0;
+ $channel = null;
+ $observer = $a->get_observer();
- // Figure out who the page owner is.
- $r = q("select channel_id from channel where channel_address = '%s'",
- dbesc($which)
- );
- if($r) {
- $owner = intval($r[0]['channel_id']);
+ $channel = $a->get_channel();
+
+ if($a->is_sys && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $uid = $owner = intval($sys['channel_id']);
+ $channel = $sys;
+ $observer = $sys;
+ }
+ }
+
+ if(! $owner) {
+ // Figure out who the page owner is.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ }
+ }
+
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+
+ $perms = get_all_perms($owner,$ob_hash);
+
+ if(! $perms['write_pages']) {
+ notice( t('Permission denied.') . EOL);
+ return;
}
// Block design features from visitors
- if((! local_user()) || (local_user() != $owner)) {
+ if((! $uid) || ($uid != $owner)) {
notice( t('Permission denied.') . EOL);
return;
}
// Get the observer, check their permissions
- $observer = $a->get_observer();
$ob_hash = (($observer) ? $observer['xchan_hash'] : '');
$perms = get_all_perms($owner,$ob_hash);
@@ -41,7 +87,9 @@ function layouts_content(&$a) {
}
if((argc() > 3) && (argv(2) === 'share') && (argv(3))) {
- $r = q("select sid, service, mimetype, title, body from item_id left join item on item.id = item_id.iid where item_id.uid = %d and item.mid = '%s' and service = 'PDL' order by sid asc",
+ $r = q("select sid, service, mimetype, title, body from item_id
+ left join item on item.id = item_id.iid
+ where item_id.uid = %d and item.mid = '%s' and service = 'PDL' order by sid asc",
intval($owner),
dbesc(argv(3))
);
@@ -63,7 +111,6 @@ function layouts_content(&$a) {
'id' => 'layout-help-tab',
));
-
$o .= replace_macros(get_markup_template('common_tabs.tpl'),array('$tabs' => $tabs));
@@ -71,18 +118,16 @@ function layouts_content(&$a) {
// Nickname is set to the observers xchan, and profile_uid to the owners.
// This lets you post pages at other people's channels.
- require_once ('include/conversation.php');
-
$x = array(
- 'webpage' => ITEM_PDL,
- 'is_owner' => true,
- 'nickname' => $a->profile['channel_address'],
- 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
- 'bang' => (($group || $cid) ? '!' : ''),
- 'showacl' => false,
- 'visitor' => false,
- 'nopreview' => 1,
- 'ptlabel' => t('Layout Name'),
+ 'webpage' => ITEM_PDL,
+ 'is_owner' => true,
+ 'nickname' => $a->profile['channel_address'],
+ 'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
+ 'bang' => '',
+ 'showacl' => false,
+ 'visitor' => false,
+ 'nopreview' => 1,
+ 'ptlabel' => t('Layout Name'),
'profile_uid' => intval($owner),
);
@@ -96,10 +141,8 @@ function layouts_content(&$a) {
$o .= status_editor($a,$x);
- // Get a list of blocks. We can't display all them because endless scroll makes that unusable, so just list titles and an edit link.
- // TODO - this should be replaced with pagelist_widget
-
- $r = q("select iid, sid, mid from item_id left join item on item.id = item_id.iid where item_id.uid = %d and service = 'PDL' order by sid asc",
+ $r = q("select iid, sid, mid from item_id left join item on item.id = item_id.iid
+ where item_id.uid = %d and service = 'PDL' order by sid asc",
intval($owner)
);
@@ -108,24 +151,28 @@ function layouts_content(&$a) {
if($r) {
$pages = array();
foreach($r as $rr) {
- $pages[$rr['iid']][] = array('url' => $rr['iid'],'title' => $rr['sid'], 'mid' => $rr['mid']);
+ $pages[$rr['iid']][] = array(
+ 'url' => $rr['iid'],
+ 'title' => $rr['sid'],
+ 'mid' => $rr['mid']
+ );
}
}
-
//Build the base URL for edit links
- $url = z_root() . "/editlayout/" . $which;
+ $url = z_root() . '/editlayout/' . $which;
- return $o . replace_macros(get_markup_template("layoutlist.tpl"), array(
+ $o .= replace_macros(get_markup_template('layoutlist.tpl'), array(
'$baseurl' => $url,
- '$edit' => t('Edit'),
- '$share' => t('Share'),
- '$pages' => $pages,
+ '$edit' => t('Edit'),
+ '$share' => t('Share'),
+ '$pages' => $pages,
'$channel' => $which,
- '$view' => t('View'),
+ '$view' => t('View'),
'$preview' => '1',
));
+ return $o;
}
diff --git a/mod/like.php b/mod/like.php
index f4fd33787..04a2b43cd 100755
--- a/mod/like.php
+++ b/mod/like.php
@@ -263,26 +263,18 @@ function like_content(&$a) {
else
killme();
-
- $r = q("SELECT * FROM item WHERE verb = '%s' AND item_restrict = 0
+ $r = q("SELECT id FROM item WHERE verb = '%s' AND item_restrict = 0
AND author_xchan = '%s' AND ( parent = %d OR thr_parent = '%s') LIMIT 1",
dbesc($activity),
dbesc($observer['xchan_hash']),
intval($item_id),
dbesc($item['mid'])
);
- if($r) {
- $like_item = $r[0];
-
- // Already liked/disliked it, delete it
- $r = q("UPDATE item SET item_restrict = ( item_restrict ^ %d ), changed = '%s' WHERE id = %d LIMIT 1",
- intval(ITEM_DELETED),
- dbesc(datetime_convert()),
- intval($like_item['id'])
- );
-
- proc_run('php',"include/notifier.php","like",$like_item['id']);
+ if($r) {
+ // already liked it. Drop that item.
+ require_once('include/items.php');
+ drop_item($r[0]['id'],false,DROPITEM_PHASE1);
return;
}
@@ -332,7 +324,7 @@ function like_content(&$a) {
// if this was a linked photo and was hidden, unhide it.
if($item['item_restrict'] & ITEM_HIDDEN) {
- $r = q("update item set item_restrict = (item_restrict ^ %d) where id = %d limit 1",
+ $r = q("update item set item_restrict = (item_restrict ^ %d) where id = %d",
intval(ITEM_HIDDEN),
intval($item['id'])
);
diff --git a/mod/locs.php b/mod/locs.php
index 95aa7a579..b1169fcca 100644
--- a/mod/locs.php
+++ b/mod/locs.php
@@ -1,34 +1,6 @@
<?php /** @file */
-/**
- Placeholder file at present. This is going to involve a bit of work.
-
- This file will deal with the deletion of channels and management of hublocs.
-
- We need to provide the following functionality:
-
- - Delete my account and all channels from the entire network
-
- - Delete my account and all channels from this server
-
- - Delete a channel from the entire network
-
- - Delete a channel from this server
-
- - List all hub locations for this channel
-
- - Remove this/some hub location from this channel
-
- - promote this/some hub location to primary
-
- - Remove hub location 'xyz' from this channel, (this should possibly only be allowed if that hub has been down for a period of time)
-
- - Some of these actions should probably require email verification
-
-*/
-
-
function locs_post(&$a) {
if(! local_user())
@@ -47,12 +19,12 @@ function locs_post(&$a) {
notice( t('Location not found.') . EOL);
return;
}
- $r = q("update hubloc set hubloc_flags = (hubloc_flags ^ %d) where (hubloc_flags & %d) and hubloc_hash = '%s' ",
+ $r = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d) where (hubloc_flags & %d)>0 and hubloc_hash = '%s' ",
intval(HUBLOC_FLAGS_PRIMARY),
intval(HUBLOC_FLAGS_PRIMARY),
dbesc($channel['channel_hash'])
);
- $r = q("update hubloc set hubloc_flags = (hubloc_flags & %d) where hubloc_id = %d and hubloc_hash = '%s' limit 1",
+ $r = q("update hubloc set hubloc_flags = (hubloc_flags & %d) where hubloc_id = %d and hubloc_hash = '%s'",
intval(HUBLOC_FLAGS_PRIMARY),
intval($hubloc_id),
dbesc($channel['channel_hash'])
@@ -78,7 +50,7 @@ function locs_post(&$a) {
notice( t('Primary location cannot be removed.') . EOL);
return;
}
- $r = q("update hubloc set hubloc_flags = (hubloc_flags & %d) where hubloc_id = %d and hubloc_hash = '%s' limit 1",
+ $r = q("update hubloc set hubloc_flags = (hubloc_flags & %d) where hubloc_id = %d and hubloc_hash = '%s'",
intval(HUBLOC_FLAGS_DELETED),
intval($hubloc_id),
dbesc($channel['channel_hash'])
@@ -87,4 +59,46 @@ function locs_post(&$a) {
return;
}
}
+}
+
+
+
+function locs_content(&$a) {
+
+
+
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ $channel = $a->get_channel();
+
+ $r = q("select * from hubloc where hubloc_hash = '%s'",
+ dbesc($channel['channel_hash'])
+ );
+
+ if(! $r) {
+ notice( t('No locations found.') . EOL);
+ return;
+ }
+
+
+ for($x = 0; $x < count($r); $x ++) {
+ $r[$x]['primary'] = (($r[$x]['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) ? true : false);
+ $r[$x]['deleted'] = (($r[$x]['hubloc_flags'] & HUBLOC_FLAGS_DELETED) ? true : false);
+ }
+
+
+
+ $o = replace_macros(get_markup_template('locmanage.tpl'), array(
+ '$header' => t('Manage Channel Locations'),
+ '$loc' => t('Location (address)'),
+ '$mkprm' => t('Primary Location'),
+ '$drop' => t('Drop location'),
+ '$submit' => t('Submit'),
+ '$hubs' => $r
+ ));
+
+ return $o;
} \ No newline at end of file
diff --git a/mod/lostpass.php b/mod/lostpass.php
index dd7c7a7d5..3269128f1 100644
--- a/mod/lostpass.php
+++ b/mod/lostpass.php
@@ -21,7 +21,7 @@ function lostpass_post(&$a) {
$hash = random_string();
- $r = q("UPDATE account SET account_reset = '%s' WHERE account_id = %d LIMIT 1",
+ $r = q("UPDATE account SET account_reset = '%s' WHERE account_id = %d",
dbesc($hash),
intval($aid)
);
@@ -73,7 +73,7 @@ function lostpass_content(&$a) {
$salt = random_string(32);
$password_encoded = hash('whirlpool', $salt . $new_password);
- $r = q("UPDATE account SET account_salt = '%s', account_password = '%s', account_reset = '' where account_id = %d limit 1",
+ $r = q("UPDATE account SET account_salt = '%s', account_password = '%s', account_reset = '' where account_id = %d",
dbesc($salt),
dbesc($password_encoded),
intval($aid)
diff --git a/mod/mail.php b/mod/mail.php
index f4897149a..6c778b956 100644
--- a/mod/mail.php
+++ b/mod/mail.php
@@ -113,6 +113,7 @@ function mail_content(&$a) {
}
$channel = $a->get_channel();
+
head_set_icon($channel['xchan_photo_s']);
$cipher = get_pconfig(local_user(),'system','default_cipher');
@@ -141,7 +142,7 @@ function mail_content(&$a) {
if(! intval(argv(2)))
return;
$cmd = argv(1);
- $r = q("update mail set mail_flags = mail_flags | %d where id = %d and channel_id = %d limit 1",
+ $r = q("update mail set mail_flags = mail_flags | %d where id = %d and channel_id = %d",
intval(MAIL_RECALLED),
intval(argv(2)),
intval(local_user())
@@ -163,13 +164,16 @@ function mail_content(&$a) {
$tpl = get_markup_template('msg-header.tpl');
- $a->page['htmlhead'] .= replace_macros($tpl, array(
+ $header = replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(true),
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$nickname' => $channel['channel_address'],
'$linkurl' => t('Please enter a link URL:'),
'$expireswhen' => t('Expires YYYY-MM-DD HH:MM')
));
+
+ $a->page['htmlhead'] .= $header;
+
$preselect = (isset($a->argv[2])?array($a->argv[2]):false);
$prename = $preurl = $preid = '';
@@ -276,7 +280,7 @@ function mail_content(&$a) {
$tpl = get_markup_template('msg-header.tpl');
$a->page['htmlhead'] .= replace_macros($tpl, array(
- '$nickname' => $channel['channel_addr'],
+ '$nickname' => $channel['channel_address'],
'$baseurl' => $a->get_baseurl(true),
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
'$linkurl' => t('Please enter a link URL:'),
diff --git a/mod/manage.php b/mod/manage.php
index 1920967e6..b0de945bf 100644
--- a/mod/manage.php
+++ b/mod/manage.php
@@ -17,7 +17,7 @@ function manage_content(&$a) {
intval(get_account_id())
);
if($r) {
- q("update account set account_default_channel = %d where account_id = %d limit 1",
+ q("update account set account_default_channel = %d where account_id = %d",
intval($change_channel),
intval(get_account_id())
);
@@ -28,34 +28,36 @@ function manage_content(&$a) {
if($change_channel) {
$r = change_channel($change_channel);
- if($r && $r['channel_startpage'])
- goaway(z_root() . '/' . $r['channel_startpage']);
+ if((argc() > 2) && !(argv(2) === 'default')) {
+ goaway(z_root() . '/' . implode('/',array_slice($a->argv,2))); // Go to whatever is after /manage/, but with the new channel
+ }
+ else {
+ if($r && $r['channel_startpage'])
+ goaway(z_root() . '/' . $r['channel_startpage']); // If nothing extra is specified, go to the default page
+ }
goaway(z_root());
}
$channels = null;
if(local_user()) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel.channel_account_id = %d and not ( channel_pageflags & %d ) order by channel_name ",
+ $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel.channel_account_id = %d and not ( channel_pageflags & %d )>0 order by channel_name ",
intval(get_account_id()),
intval(PAGE_REMOVED)
);
- $selected_channel = null;
$account = get_app()->get_account();
if($r && count($r)) {
$channels = $r;
for($x = 0; $x < count($channels); $x ++) {
$channels[$x]['link'] = 'manage/' . intval($channels[$x]['channel_id']);
- if($channels[$x]['channel_id'] == local_user())
- $selected_channel = $channels[$x];
$channels[$x]['default'] = (($channels[$x]['channel_id'] == $account['account_default_channel']) ? "1" : '');
$channels[$x]['default_links'] = '1';
$c = q("SELECT id, item_restrict, item_flags FROM item
- WHERE (item_restrict = %d) and ( item_flags & %d ) and uid = %d",
+ WHERE (item_restrict = %d) and ( item_flags & %d )>0 and uid = %d",
intval(ITEM_VISIBLE),
intval(ITEM_UNSEEN),
intval($channels[$x]['channel_id'])
@@ -71,7 +73,7 @@ function manage_content(&$a) {
}
- $intr = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d) and not ((abook_flags & %d) or (xchan_flags & %d))",
+ $intr = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d)>0 and not ((abook_flags & %d)>0 or (xchan_flags & %d)>0)",
intval($channels[$x]['channel_id']),
intval(ABOOK_FLAG_PENDING),
intval(ABOOK_FLAG_SELF|ABOOK_FLAG_IGNORED),
@@ -82,7 +84,7 @@ function manage_content(&$a) {
$channels[$x]['intros'] = intval($intr[0]['total']);
- $mails = q("SELECT count(id) as total from mail WHERE channel_id = %d AND not (mail_flags & %d) and from_xchan != '%s' ",
+ $mails = q("SELECT count(id) as total from mail WHERE channel_id = %d AND not (mail_flags & %d)>0 and from_xchan != '%s' ",
intval($channels[$x]['channel_id']),
intval(MAIL_SEEN),
dbesc($channels[$x]['channel_hash'])
@@ -127,7 +129,7 @@ function manage_content(&$a) {
}
}
- $r = q("select count(channel_id) as total from channel where channel_account_id = %d and not ( channel_pageflags & %d )",
+ $r = q("select count(channel_id) as total from channel where channel_account_id = %d and not ( channel_pageflags & %d )>0",
intval(get_account_id()),
intval(PAGE_REMOVED)
);
@@ -147,12 +149,14 @@ function manage_content(&$a) {
$o = replace_macros(get_markup_template('channels.tpl'), array(
'$header' => t('Channel Manager'),
'$msg_selected' => t('Current Channel'),
- '$selected' => $selected_channel,
- '$desc' => t('Attach to one of your channels by selecting it.'),
+ '$selected' => local_user(),
+ '$desc' => t('Switch to one of your channels by selecting it.'),
'$msg_default' => t('Default Channel'),
'$msg_make_default' => t('Make Default'),
'$links' => $links,
'$all_channels' => $channels,
+ '$mail_format' => t('%d new messages'),
+ '$intros_format' => t('%d new introductions'),
'$channel_usage_message' => $channel_usage_message,
));
diff --git a/mod/menu.php b/mod/menu.php
index a2d0c2385..92923e1ff 100644
--- a/mod/menu.php
+++ b/mod/menu.php
@@ -1,13 +1,23 @@
<?php
require_once('include/menu.php');
+require_once('include/identity.php');
function menu_post(&$a) {
- if(! local_user())
+ $uid = local_user();
+
+ if(array_key_exists('sys',$_REQUEST) && $_REQUEST['sys'] && is_site_admin()) {
+ $sys = get_sys_channel();
+ $uid = intval($sys['channel_id']);
+ $a->is_sys = true;
+ }
+
+ if(! $uid)
return;
- $_REQUEST['menu_channel_id'] = local_user();
+ $_REQUEST['menu_channel_id'] = $uid;
+
if($_REQUEST['menu_bookmark'])
$_REQUEST['menu_flags'] |= MENU_BOOKMARK;
if($_REQUEST['menu_system'])
@@ -19,7 +29,7 @@ function menu_post(&$a) {
$r = menu_edit($_REQUEST);
if($r) {
info( t('Menu updated.') . EOL);
- goaway(z_root() . '/mitem/' . $menu_id);
+ goaway(z_root() . '/mitem/' . $menu_id . (($a->is_sys) ? '?f=&sys=1' : ''));
}
else
notice( t('Unable to update menu.'). EOL);
@@ -28,7 +38,7 @@ function menu_post(&$a) {
$r = menu_create($_REQUEST);
if($r) {
info( t('Menu created.') . EOL);
- goaway(z_root() . '/mitem/' . $r);
+ goaway(z_root() . '/mitem/' . $r . (($a->is_sys) ? '?f=&sys=1' : ''));
}
else
notice( t('Unable to create menu.'). EOL);
@@ -40,36 +50,42 @@ function menu_post(&$a) {
function menu_content(&$a) {
- if(! local_user()) {
+ $uid = local_user();
+
+ if($a->is_sys && is_site_admin()) {
+ $sys = get_sys_channel();
+ $uid = intval($sys['channel_id']);
+ }
+
+ if(! $uid) {
notice( t('Permission denied.') . EOL);
return '';
}
-// $a->set_widget('design',design_tools());
-
-
if(argc() == 1) {
// list menus
- $x = menu_list(local_user());
-
- $o = replace_macros(get_markup_template('menulist.tpl'),array(
- '$title' => t('Manage Menus'),
- '$menus' => $x,
- '$edit' => t('Edit'),
- '$drop' => t('Drop'),
- '$new' => t('New'),
- '$hintnew' => t('Create a new menu'),
- '$hintdrop' => t('Delete this menu'),
- '$hintcontent' => t('Edit menu contents'),
- '$hintedit' => t('Edit this menu')
- ));
-
- return $o;
-
-
+ $x = menu_list($uid);
+ if($x) {
+ for($y = 0; $y < count($x); $y ++) {
+ $x[$y]['bookmark'] = (($x[$y]['menu_flags'] & MENU_BOOKMARK) ? true : false);
+ }
+ }
+ $o = replace_macros(get_markup_template('menulist.tpl'),array(
+ '$title' => t('Manage Menus'),
+ '$menus' => $x,
+ '$edit' => t('Edit'),
+ '$drop' => t('Drop'),
+ '$new' => t('New'),
+ '$bmark' => t('Bookmarks allowed'),
+ '$hintnew' => t('Create a new menu'),
+ '$hintdrop' => t('Delete this menu'),
+ '$hintcontent' => t('Edit menu contents'),
+ '$hintedit' => t('Edit this menu')
+ ));
+ return $o;
}
@@ -87,19 +103,19 @@ function menu_content(&$a) {
}
elseif(intval(argv(1))) {
- $m = menu_fetch_id(intval(argv(1)),local_user());
+ $m = menu_fetch_id(intval(argv(1)),$uid);
if(! $m) {
notice( t('Menu not found.') . EOL);
return '';
}
if(argc() == 3 && argv(2) == 'drop') {
- $r = menu_delete_id(intval(argv(1)),local_user());
+ $r = menu_delete_id(intval(argv(1)),$uid);
if($r)
info( t('Menu deleted.') . EOL);
else
notice( t('Menu could not be deleted.'). EOL);
- goaway(z_root() . '/menu');
+ goaway(z_root() . '/menu' . (($a->is_sys) ? '?f=&sys=1' : ''));
}
else {
$o = replace_macros(get_markup_template('menuedit.tpl'), array(
diff --git a/mod/mitem.php b/mod/mitem.php
index 3240bb68b..7098d7489 100644
--- a/mod/mitem.php
+++ b/mod/mitem.php
@@ -4,12 +4,22 @@ require_once('include/menu.php');
require_once('include/acl_selectors.php');
function mitem_init(&$a) {
- if(! local_user())
+
+ $uid = local_user();
+
+ if(array_key_exists('sys',$_REQUEST) && $_REQUEST['sys'] && is_site_admin()) {
+ $sys = get_sys_channel();
+ $uid = intval($sys['channel_id']);
+ $a->is_sys = true;
+ }
+
+ if(! $uid)
return;
+
if(argc() < 2)
return;
- $m = menu_fetch_id(intval(argv(1)),local_user());
+ $m = menu_fetch_id(intval(argv(1)),$uid);
if(! $m) {
notice( t('Menu not found.') . EOL);
return '';
@@ -20,8 +30,18 @@ function mitem_init(&$a) {
function mitem_post(&$a) {
- if(! local_user())
+ $uid = local_user();
+
+ if($a->is_sys && is_site_admin()) {
+ $sys = get_sys_channel();
+ $uid = intval($sys['channel_id']);
+ }
+
+ if(! $uid) {
return;
+ }
+
+
if(! $a->data['menu'])
return;
@@ -29,7 +49,7 @@ function mitem_post(&$a) {
$channel = $a->get_channel();
- $_REQUEST['mitem_channel_id'] = local_user();
+ $_REQUEST['mitem_channel_id'] = $uid;
$_REQUEST['menu_id'] = $a->data['menu']['menu_id'];
$_REQUEST['mitem_flags'] = 0;
@@ -42,20 +62,20 @@ function mitem_post(&$a) {
$mitem_id = ((argc() > 2) ? intval(argv(2)) : 0);
if($mitem_id) {
$_REQUEST['mitem_id'] = $mitem_id;
- $r = menu_edit_item($_REQUEST['menu_id'],local_user(),$_REQUEST);
+ $r = menu_edit_item($_REQUEST['menu_id'],$uid,$_REQUEST);
if($r) {
info( t('Menu element updated.') . EOL);
- goaway(z_root() . '/mitem/' . $_REQUEST['menu_id']);
+ goaway(z_root() . '/mitem/' . $_REQUEST['menu_id'] . (($a->is_sys) ? '?f=&sys=1' : ''));
}
else
notice( t('Unable to update menu element.') . EOL);
}
else {
- $r = menu_add_item($_REQUEST['menu_id'],local_user(),$_REQUEST);
+ $r = menu_add_item($_REQUEST['menu_id'],$uid,$_REQUEST);
if($r) {
info( t('Menu element added.') . EOL);
- goaway(z_root() . '/mitem/' . $_REQUEST['menu_id']);
+ goaway(z_root() . '/mitem/' . $_REQUEST['menu_id'] . (($a->is_sys) ? '?f=&sys=1' : ''));
}
else
notice( t('Unable to add menu element.') . EOL);
@@ -69,7 +89,20 @@ function mitem_post(&$a) {
function mitem_content(&$a) {
- if(! local_user()) {
+ $uid = local_user();
+ $channel = $a->get_channel();
+ $observer = $a->get_observer();
+
+ $ob_hash = (($observer) ? $observer['xchan_hash'] : '');
+
+ if($a->is_sys && is_site_admin()) {
+ $sys = get_sys_channel();
+ $uid = intval($sys['channel_id']);
+ $channel = $sys;
+ $ob_hash = $sys['xchan_hash'];
+ }
+
+ if(! $uid) {
notice( t('Permission denied.') . EOL);
return '';
}
@@ -79,67 +112,61 @@ function mitem_content(&$a) {
return '';
}
- $channel = $a->get_channel();
-
- $m = menu_fetch($a->data['menu']['menu_name'],local_user(), get_observer_hash());
+ $m = menu_fetch($a->data['menu']['menu_name'],$uid,$ob_hash);
$a->data['menu_item'] = $m;
if(argc() == 2) {
$r = q("select * from menu_item where mitem_menu_id = %d and mitem_channel_id = %d order by mitem_order asc, mitem_desc asc",
intval($a->data['menu']['menu_id']),
- local_user()
+ intval($uid)
);
$o .= replace_macros(get_markup_template('mitemlist.tpl'),array(
- '$title' => t('Manage Menu Elements'),
+ '$title' => t('Manage Menu Elements'),
'$menuname' => $a->data['menu']['menu_name'],
'$menudesc' => $a->data['menu']['menu_desc'],
- '$edmenu' => t('Edit menu'),
- '$menu_id' => $a->data['menu']['menu_id'],
- '$mlist' => $r,
- '$edit' => t('Edit element'),
- '$drop' => t('Drop element'),
- '$new' => t('New element'),
+ '$edmenu' => t('Edit menu'),
+ '$menu_id' => $a->data['menu']['menu_id'],
+ '$mlist' => $r,
+ '$edit' => t('Edit element'),
+ '$drop' => t('Drop element'),
+ '$new' => t('New element'),
'$hintmenu' => t('Edit this menu container'),
- '$hintnew' => t('Add menu element'),
+ '$hintnew' => t('Add menu element'),
'$hintdrop' => t('Delete this menu item'),
'$hintedit' => t('Edit this menu item')
- ));
-
-
+ ));
+
return $o;
-
}
if(argc() > 2) {
-
-
if(argv(2) === 'new') {
$perm_defaults = array(
'allow_cid' => $channel['channel_allow_cid'],
'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid']
+ 'deny_cid' => $channel['channel_deny_cid'],
+ 'deny_gid' => $channel['channel_deny_gid']
);
$o = replace_macros(get_markup_template('mitemedit.tpl'), array(
- '$header' => t('New Menu Element'),
- '$menu_id' => $a->data['menu']['menu_id'],
+ '$header' => t('New Menu Element'),
+ '$menu_id' => $a->data['menu']['menu_id'],
'$permissions' => t('Menu Item Permissions'),
- '$permdesc' => t("\x28click to open/close\x29"),
- '$aclselect' => populate_acl($perm_defaults,false),
- '$mitem_desc' => array('mitem_desc', t('Link text'), '', '','*'),
- '$mitem_link' => array('mitem_link', t('URL of link'), '', '', '*'),
- '$usezid' => array('usezid', t('Use Red magic-auth if available'), true, ''),
- '$newwin' => array('newwin', t('Open link in new window'), false,''),
+ '$permdesc' => t("\x28click to open/close\x29"),
+ '$aclselect' => populate_acl($perm_defaults,false),
+ '$mitem_desc' => array('mitem_desc', t('Link text'), '', '','*'),
+ '$mitem_link' => array('mitem_link', t('URL of link'), '', '', '*'),
+ '$usezid' => array('usezid', t('Use RedMatrix magic-auth if available'), true, ''),
+ '$newwin' => array('newwin', t('Open link in new window'), false,''),
// permissions go here
'$mitem_order' => array('mitem_order', t('Order in list'),'0',t('Higher numbers will sink to bottom of listing')),
- '$submit' => t('Create')
+ '$submit' => t('Create')
));
return $o;
}
@@ -148,23 +175,23 @@ function mitem_content(&$a) {
elseif(intval(argv(2))) {
$m = q("select * from menu_item where mitem_id = %d and mitem_channel_id = %d limit 1",
intval(argv(2)),
- intval(local_user())
+ intval($uid)
);
if(! $m) {
notice( t('Menu item not found.') . EOL);
- goaway(z_root() . '/menu');
+ goaway(z_root() . '/menu'. (($a->is_sys) ? '?f=&sys=1' : ''));
}
$mitem = $m[0];
if(argc() == 4 && argv(3) == 'drop') {
- $r = menu_del_item($mitem['mitem_menu_id'], local_user(),intval(argv(2)));
+ $r = menu_del_item($mitem['mitem_menu_id'], $uid, intval(argv(2)));
if($r)
info( t('Menu item deleted.') . EOL);
else
notice( t('Menu item could not be deleted.'). EOL);
- goaway(z_root() . '/mitem/' . $mitem['mitem_menu_id']);
+ goaway(z_root() . '/mitem/' . $mitem['mitem_menu_id'] . (($a->is_sys) ? '?f=&sys=1' : ''));
}
else {
@@ -179,7 +206,7 @@ function mitem_content(&$a) {
'$mitem_id' => intval(argv(2)),
'$mitem_desc' => array('mitem_desc', t('Link text'), $mitem['mitem_desc'], '','*'),
'$mitem_link' => array('mitem_link', t('URL of link'), $mitem['mitem_link'], '', '*'),
- '$usezid' => array('usezid', t('Use Red magic-auth if available'), (($mitem['mitem_flags'] & MENU_ITEM_ZID) ? 1 : 0), ''),
+ '$usezid' => array('usezid', t('Use RedMatrix magic-auth if available'), (($mitem['mitem_flags'] & MENU_ITEM_ZID) ? 1 : 0), ''),
'$newwin' => array('newwin', t('Open link in new window'), (($mitem['mitem_flags'] & MENU_ITEM_NEWWIN) ? 1 : 0),''),
// permissions go here
'$mitem_order' => array('mitem_order', t('Order in list'),$mitem['mitem_order'],t('Higher numbers will sink to bottom of listing')),
@@ -188,10 +215,5 @@ function mitem_content(&$a) {
return $o;
}
}
-
}
-
-
-
-
}
diff --git a/mod/network.php b/mod/network.php
index 0bad366d4..d444dbd59 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -24,7 +24,7 @@ function network_content(&$a, $update = 0, $load = false) {
if(! local_user()) {
$_SESSION['return_url'] = $a->query_string;
- return login(false);
+ return login(false);
}
@@ -34,6 +34,21 @@ function network_content(&$a, $update = 0, $load = false) {
$channel = $a->get_channel();
+
+ $datequery = $datequery2 = '';
+
+ $group = 0;
+
+ $nouveau = false;
+
+ $datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
+ $datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : '');
+ $nouveau = ((x($_GET,'new')) ? intval($_GET['new']) : 0);
+ $gid = ((x($_GET,'gid')) ? intval($_GET['gid']) : 0);
+ $category = ((x($_REQUEST,'cat')) ? $_REQUEST['cat'] : '');
+ $hashtags = ((x($_REQUEST,'tag')) ? $_REQUEST['tag'] : '');
+
+
$search = (($_GET['search']) ? $_GET['search'] : '');
if($search) {
if(strpos($search,'@') === 0) {
@@ -47,33 +62,23 @@ function network_content(&$a, $update = 0, $load = false) {
}
}
elseif(strpos($search,'#') === 0) {
- $search = $_GET['search'] = substr($search,1);
+ $hashtags = substr($search,1);
+ $search = $_GET['search'] = '';
}
}
-
-
- $datequery = $datequery2 = '';
-
- $group = 0;
-
- $nouveau = false;
-
- $datequery = ((x($_GET,'dend') && is_a_date_arg($_GET['dend'])) ? notags($_GET['dend']) : '');
- $datequery2 = ((x($_GET,'dbegin') && is_a_date_arg($_GET['dbegin'])) ? notags($_GET['dbegin']) : '');
- $nouveau = ((x($_GET,'new')) ? intval($_GET['new']) : 0);
- $gid = ((x($_GET,'gid')) ? intval($_GET['gid']) : 0);
-
-
if($datequery)
$_GET['order'] = 'post';
+
+ // filter by collection (e.g. group)
+
if($gid) {
- $r = q("SELECT * FROM `groups` WHERE id = %d AND uid = %d LIMIT 1",
- intval($gid),
- intval(local_user())
- );
- if(! $r) {
+ $r = q("SELECT * FROM groups WHERE id = %d AND uid = %d LIMIT 1",
+ intval($gid),
+ intval(local_user())
+ );
+ if(! $r) {
if($update)
killme();
notice( t('No such group') . EOL );
@@ -81,27 +86,26 @@ function network_content(&$a, $update = 0, $load = false) {
// NOTREACHED
}
- $group = $gid;
+ $group = $gid;
$group_hash = $r[0]['hash'];
- $def_acl = array('allow_gid' => '<' . $r[0]['hash'] . '>');
+ $def_acl = array('allow_gid' => '<' . $r[0]['hash'] . '>');
}
$o = '';
-
// if no tabs are selected, defaults to comments
- $cid = ((x($_GET,'cid')) ? intval($_GET['cid']) : 0);
- $star = ((x($_GET,'star')) ? intval($_GET['star']) : 0);
- $order = ((x($_GET,'order')) ? notags($_GET['order']) : 'comment');
- $liked = ((x($_GET,'liked')) ? intval($_GET['liked']) : 0);
- $conv = ((x($_GET,'conv')) ? intval($_GET['conv']) : 0);
- $spam = ((x($_GET,'spam')) ? intval($_GET['spam']) : 0);
- $cmin = ((x($_GET,'cmin')) ? intval($_GET['cmin']) : 0);
- $cmax = ((x($_GET,'cmax')) ? intval($_GET['cmax']) : 99);
- $firehose = ((x($_GET,'fh')) ? intval($_GET['fh']) : 0);
- $file = ((x($_GET,'file')) ? $_GET['file'] : '');
+ $cid = ((x($_GET,'cid')) ? intval($_GET['cid']) : 0);
+ $star = ((x($_GET,'star')) ? intval($_GET['star']) : 0);
+ $order = ((x($_GET,'order')) ? notags($_GET['order']) : 'comment');
+ $liked = ((x($_GET,'liked')) ? intval($_GET['liked']) : 0);
+ $conv = ((x($_GET,'conv')) ? intval($_GET['conv']) : 0);
+ $spam = ((x($_GET,'spam')) ? intval($_GET['spam']) : 0);
+ $cmin = ((x($_GET,'cmin')) ? intval($_GET['cmin']) : 0);
+ $cmax = ((x($_GET,'cmax')) ? intval($_GET['cmax']) : 99);
+ $firehose = ((x($_GET,'fh')) ? intval($_GET['fh']) : 0);
+ $file = ((x($_GET,'file')) ? $_GET['file'] : '');
if(x($_GET,'search') || x($_GET,'file'))
@@ -122,21 +126,21 @@ function network_content(&$a, $update = 0, $load = false) {
$channel_acl = array(
'allow_cid' => $channel['channel_allow_cid'],
'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid']
+ 'deny_cid' => $channel['channel_deny_cid'],
+ 'deny_gid' => $channel['channel_deny_gid']
);
$x = array(
- 'is_owner' => true,
- 'allow_location' => ((intval(get_pconfig($channel['channel_id'],'system','use_browser_location'))) ? '1' : ''),
+ 'is_owner' => true,
+ 'allow_location' => ((intval(get_pconfig($channel['channel_id'],'system','use_browser_location'))) ? '1' : ''),
'default_location' => $channel['channel_location'],
- 'nickname' => $channel['channel_address'],
- 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
- 'acl' => populate_acl((($group || $cid) ? $def_acl : $channel_acl)),
- 'bang' => (($group || $cid) ? '!' : ''),
- 'visitor' => true,
- 'profile_uid' => local_user()
+ 'nickname' => $channel['channel_address'],
+ 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
+ 'acl' => populate_acl((($group || $cid) ? $def_acl : $channel_acl)),
+ 'bang' => (($group || $cid) ? '!' : ''),
+ 'visitor' => true,
+ 'profile_uid' => local_user()
);
$o .= status_editor($a,$x);
@@ -146,33 +150,33 @@ function network_content(&$a, $update = 0, $load = false) {
// We don't have to deal with ACL's on this page. You're looking at everything
// that belongs to you, hence you can see all of it. We will filter by group if
- // desired.
+ // desired.
-
- $sql_options = (($star)
- ? " and (item_flags & " . intval(ITEM_STARRED) . ")"
+
+ $sql_options = (($star)
+ ? " and (item_flags & " . intval(ITEM_STARRED) . ") > 0"
: '');
$sql_nets = '';
- $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE (item_flags & " . intval(ITEM_THREAD_TOP) . ") $sql_options ) ";
+ $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE (item_flags & " . intval(ITEM_THREAD_TOP) . ")>0 $sql_options ) ";
if($group) {
$contact_str = '';
- $contacts = group_get_members($group);
- if($contacts) {
+ $contacts = group_get_members($group);
+ if($contacts) {
foreach($contacts as $c) {
if($contact_str)
$contact_str .= ',';
- $contact_str .= "'" . $c['xchan'] . "'";
+ $contact_str .= "'" . $c['xchan'] . "'";
}
- }
- else {
- $contact_str = ' 0 ';
+ }
+ else {
+ $contact_str = ' 0 ';
info( t('Collection is empty'));
- }
+ }
- $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str )) or allow_gid like '" . protect_sprintf('%<' . dbesc($group_hash) . '>%') . "' ) and id = parent and item_restrict = 0 ) ";
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str )) or allow_gid like '" . protect_sprintf('%<' . dbesc($group_hash) . '>%') . "' ) and id = parent and item_restrict = 0 ) ";
$x = group_rec_byhash(local_user(), $group_hash);
@@ -180,60 +184,74 @@ function network_content(&$a, $update = 0, $load = false) {
$o = '<h2>' . t('Collection: ') . $x['name'] . '</h2>' . $o;
- }
+ }
elseif($cid) {
- $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") limit 1",
+ $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") > 0 limit 1",
intval($cid),
intval(local_user())
- );
- if($r) {
- $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_user()) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) and item_restrict = 0 ) ";
+ );
+ if($r) {
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_user()) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) and item_restrict = 0 ) ";
$o = '<h2>' . t('Connection: ') . $r[0]['xchan_name'] . '</h2>' . $o;
- }
- else {
+ }
+ else {
notice( t('Invalid connection.') . EOL);
goaway($a->get_baseurl(true) . '/network');
- }
+ }
}
+ if(x($category)) {
+ $sql_extra .= protect_sprintf(term_query('item', $category, TERM_CATEGORY));
+ }
+ if(x($hashtags)) {
+ $sql_extra .= protect_sprintf(term_query('item', $hashtags, TERM_HASHTAG));
+ }
if(! $update) {
// The special div is needed for liveUpdate to kick in for this page.
- // We only launch liveUpdate if you aren't filtering in some incompatible
+ // We only launch liveUpdate if you aren't filtering in some incompatible
// way and also you aren't writing a comment (discovered in javascript).
if($gid || $cid || $cmin || ($cmax != 99) || $star || $liked || $conv || $spam || $nouveau || $list)
- $firehose = 0;
+ $firehose = 0;
+
+ $maxheight = get_pconfig(local_user(),'system','network_divmore_height');
+ if(! $maxheight)
+ $maxheight = 400;
+
$o .= '<div id="live-network"></div>' . "\r\n";
- $o .= "<script> var profile_uid = " . $_SESSION['uid'] . "; var profile_page = " . $a->pager['page'] . ";</script>";
+ $o .= "<script> var profile_uid = " . local_user()
+ . "; var profile_page = " . $a->pager['page']
+ . "; divmore_height = " . intval($maxheight) . "; </script>\r\n";
$a->page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
'$baseurl' => z_root(),
- '$pgtype' => 'network',
- '$uid' => ((local_user()) ? local_user() : '0'),
- '$gid' => (($gid) ? $gid : '0'),
- '$cid' => (($cid) ? $cid : '0'),
- '$cmin' => (($cmin) ? $cmin : '0'),
- '$cmax' => (($cmax) ? $cmax : '0'),
- '$star' => (($star) ? $star : '0'),
- '$liked' => (($liked) ? $liked : '0'),
- '$conv' => (($conv) ? $conv : '0'),
- '$spam' => (($spam) ? $spam : '0'),
- '$fh' => (($firehose) ? $firehose : '0'),
+ '$pgtype' => 'network',
+ '$uid' => ((local_user()) ? local_user() : '0'),
+ '$gid' => (($gid) ? $gid : '0'),
+ '$cid' => (($cid) ? $cid : '0'),
+ '$cmin' => (($cmin) ? $cmin : '0'),
+ '$cmax' => (($cmax) ? $cmax : '0'),
+ '$star' => (($star) ? $star : '0'),
+ '$liked' => (($liked) ? $liked : '0'),
+ '$conv' => (($conv) ? $conv : '0'),
+ '$spam' => (($spam) ? $spam : '0'),
+ '$fh' => (($firehose) ? $firehose : '0'),
'$nouveau' => (($nouveau) ? $nouveau : '0'),
- '$wall' => '0',
- '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
- '$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
- '$search' => (($search) ? $search : ''),
- '$order' => $order,
- '$file' => $file,
- '$cats' => '',
- '$dend' => $datequery,
- '$mid' => '',
- '$dbegin' => $datequery2
+ '$wall' => '0',
+ '$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
+ '$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
+ '$search' => (($search) ? $search : ''),
+ '$order' => $order,
+ '$file' => $file,
+ '$cats' => $category,
+ '$tags' => $hashtags,
+ '$dend' => $datequery,
+ '$mid' => '',
+ '$dbegin' => $datequery2
));
}
@@ -246,17 +264,19 @@ function network_content(&$a, $update = 0, $load = false) {
$sql_extra3 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2))));
}
- $sql_extra2 = (($nouveau) ? '' : " AND `item`.`parent` = `item`.`id` ");
+ $sql_extra2 = (($nouveau) ? '' : " AND item.parent = item.id ");
$sql_extra3 = (($nouveau) ? '' : $sql_extra3);
if(x($_GET,'search')) {
$search = escape_tags($_GET['search']);
- if(strpos($search,'#') === 0)
+ if(strpos($search,'#') === 0) {
$sql_extra .= term_query('item',substr($search,1),TERM_HASHTAG);
- else
- $sql_extra .= sprintf(" AND `item`.`body` like '%s' ",
+ }
+ else {
+ $sql_extra .= sprintf(" AND item.body like '%s' ",
dbesc(protect_sprintf('%' . $search . '%'))
);
+ }
}
if(strlen($file)) {
@@ -264,7 +284,7 @@ function network_content(&$a, $update = 0, $load = false) {
}
if($conv) {
- $sql_extra .= sprintf(" AND parent IN (SELECT distinct(parent) from item where ( author_xchan like '%s' or ( item_flags & %d ))) ",
+ $sql_extra .= sprintf(" AND parent IN (SELECT distinct(parent) from item where ( author_xchan like '%s' or ( item_flags & %d ) > 0)) ",
dbesc(protect_sprintf($channel['channel_hash'])),
intval(ITEM_MENTIONSME)
);
@@ -279,7 +299,7 @@ function network_content(&$a, $update = 0, $load = false) {
else {
$itemspage = get_pconfig(local_user(),'system','itemspage');
$a->set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
- $pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval($a->pager['itemspage']), intval($a->pager['start']));
}
@@ -287,7 +307,7 @@ function network_content(&$a, $update = 0, $load = false) {
// Not everybody who shows up in the network stream will be in your address book.
// By default those that aren't are assumed to have closeness = 99; but this isn't
- // recorded anywhere. So if cmax is 99, we'll open the search up to anybody in
+ // recorded anywhere. So if cmax is 99, we'll open the search up to anybody in
// the stream with a NULL address book entry.
$sql_nets .= " AND ";
@@ -314,33 +334,38 @@ function network_content(&$a, $update = 0, $load = false) {
$uids = " and item.uid = " . local_user() . " ";
}
- $simple_update = (($update) ? " and ( item.item_flags & " . intval(ITEM_UNSEEN) . " ) " : '');
+ if(get_pconfig(local_user(),'system','network_list_mode'))
+ $page_mode = 'list';
+ else
+ $page_mode = 'client';
+
+ $simple_update = (($update) ? " and ( item.item_flags & " . intval(ITEM_UNSEEN) . " ) > 0 " : '');
// This fixes a very subtle bug so I'd better explain it. You wake up in the morning or return after a day
- // or three and look at your matrix page - after opening up your browser. The first page loads just as it
- // should. All of a sudden a few seconds later, page 2 will get inserted at the beginning of the page
+ // or three and look at your matrix page - after opening up your browser. The first page loads just as it
+ // should. All of a sudden a few seconds later, page 2 will get inserted at the beginning of the page
// (before the page 1 content). The update code is actually doing just what it's supposed
// to, it's fetching posts that have the ITEM_UNSEEN bit set. But the reason that page 2 content is being
- // returned in an UPDATE is because you hadn't gotten that far yet - you're still on page 1 and everything
+ // returned in an UPDATE is because you hadn't gotten that far yet - you're still on page 1 and everything
// that we loaded for page 1 is now marked as seen. But the stuff on page 2 hasn't been. So... it's being
- // treated as "new fresh" content because it is unseen. We need to distinguish it somehow from content
+ // treated as "new fresh" content because it is unseen. We need to distinguish it somehow from content
// which "arrived as you were reading page 1". We're going to do this
// by storing in your session the current UTC time whenever you LOAD a network page, and only UPDATE items
// which are both ITEM_UNSEEN and have "changed" since that time. Cross fingers...
- if($update && $_SESSION['loadtime'])
- $simple_update .= " and item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ";
+ if($update && $_SESSION['loadtime'])
+ $simple_update .= " and item.changed > '" . datetime_convert('UTC','UTC',$_SESSION['loadtime']) . "' ";
if($load)
$simple_update = '';
if($nouveau && $load) {
// "New Item View" - show all items unthreaded in reverse created date order
- $items = q("SELECT `item`.*, `item`.`id` AS `item_id` FROM `item`
- WHERE true $uids AND item_restrict = 0
+ $items = q("SELECT item.*, item.id AS item_id, received FROM item
+ WHERE true $uids AND item_restrict = 0
$simple_update
$sql_extra $sql_nets
- ORDER BY `item`.`received` DESC $pager_sql "
+ ORDER BY item.received DESC $pager_sql "
);
require_once('include/items.php');
@@ -354,9 +379,9 @@ function network_content(&$a, $update = 0, $load = false) {
// Normal conversation view
if($order === 'post')
- $ordering = "`created`";
+ $ordering = "created";
else
- $ordering = "`commented`";
+ $ordering = "commented";
if($load) {
@@ -364,19 +389,19 @@ function network_content(&$a, $update = 0, $load = false) {
// Fetch a page full of parent items for this page
- $r = q("SELECT distinct item.id AS item_id FROM item
+ $r = q("SELECT distinct item.id AS item_id, $ordering FROM item
left join abook on item.author_xchan = abook.abook_xchan
WHERE true $uids AND item.item_restrict = 0
AND item.parent = item.id
and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
$sql_extra3 $sql_extra $sql_nets
- ORDER BY item.$ordering DESC $pager_sql ",
+ ORDER BY $ordering DESC $pager_sql ",
intval(ABOOK_FLAG_BLOCKED)
);
}
else {
- if(! $firehose) {
+ if(! $firehose) {
// update
$r = q("SELECT item.parent AS item_id FROM item
left join abook on item.author_xchan = abook.abook_xchan
@@ -396,9 +421,9 @@ function network_content(&$a, $update = 0, $load = false) {
$parents_str = ids_to_querystr($r,'item_id');
- $items = q("SELECT `item`.*, `item`.`id` AS `item_id` FROM `item`
- WHERE true $uids AND `item`.`item_restrict` = 0
- AND `item`.`parent` IN ( %s )
+ $items = q("SELECT item.*, item.id AS item_id FROM item
+ WHERE true $uids AND item.item_restrict = 0
+ AND item.parent IN ( %s )
$sql_extra ",
dbesc($parents_str)
);
@@ -406,19 +431,35 @@ function network_content(&$a, $update = 0, $load = false) {
xchan_query($items,true,(($firehose) ? local_user() : 0));
$items = fetch_post_tags($items,true);
$items = conv_sort($items,$ordering);
- }
+ }
else {
$items = array();
}
- if($parents_str)
- $update_unseen = ' AND parent IN ( ' . dbesc($parents_str) . ' )';
+ if($page_mode === 'list') {
+
+ /**
+ * in "list mode", only mark the parent item and any like activities as "seen".
+ * We won't distinguish between comment likes and post likes. The important thing
+ * is that the number of unseen comments will be accurate. The SQL to separate the
+ * comment likes could also get somewhat hairy.
+ */
+ if($parents_str) {
+ $update_unseen = " AND ( id IN ( " . dbesc($parents_str) . " )";
+ $update_unseen .= " OR ( parent IN ( " . dbesc($parents_str) . " ) AND verb in ( '" . dbesc(ACTIVITY_LIKE) . "','" . dbesc(ACTIVITY_DISLIKE) . "' ))) ";
+ }
+ }
+ else {
+ if($parents_str) {
+ $update_unseen = " AND parent IN ( " . dbesc($parents_str) . " )";
+ }
+ }
}
if(($update_unseen) && (! $firehose))
- $r = q("UPDATE `item` SET item_flags = ( item_flags ^ %d)
- WHERE (item_flags & %d) AND `uid` = %d $update_unseen ",
+ $r = q("UPDATE item SET item_flags = ( item_flags & ~%d)
+ WHERE (item_flags & %d) > 0 AND uid = %d $update_unseen ",
intval(ITEM_UNSEEN),
intval(ITEM_UNSEEN),
intval(local_user())
@@ -426,10 +467,11 @@ function network_content(&$a, $update = 0, $load = false) {
$mode = (($nouveau) ? 'network-new' : 'network');
- $o .= conversation($a,$items,$mode,$update,'client');
- if(($items) && (! $update))
- $o .= alt_pager($a,count($items));
+ $o .= conversation($a,$items,$mode,$update,$page_mode);
+
+ if(($items) && (! $update))
+ $o .= alt_pager($a,count($items));
return $o;
}
diff --git a/mod/new_channel.php b/mod/new_channel.php
index 8329f0ec3..047048f0a 100644
--- a/mod/new_channel.php
+++ b/mod/new_channel.php
@@ -115,9 +115,8 @@ function new_channel_content(&$a) {
'$nick_desc' => t('Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others.'),
'$label_import' => t('Or <a href="import">import an existing channel</a> from another location'),
'$name' => $name,
- '$label_role' => t('Channel Type'),
- '$help_role' => t('Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you'),
- '$role_select' => role_selector(($privacy_role) ? $privacy_role : 'social'),
+ '$help_role' => t('Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you'),
+ '$role' => array('permissions_role' , t('Channel Type'), ($privacy_role) ? $privacy_role : 'social', '<a href="help/roles" target="_blank">'.t('Read more about roles').'</a>',get_roles()),
'$nickname' => $nickname,
'$submit' => t('Create')
));
diff --git a/mod/notifications.php b/mod/notifications.php
index 09f89e88a..5507ee7e2 100644
--- a/mod/notifications.php
+++ b/mod/notifications.php
@@ -33,7 +33,7 @@ function notifications_post(&$a) {
$fid = $r[0]['fid'];
if($_POST['submit'] == t('Discard')) {
- $r = q("DELETE FROM `intro` WHERE `id` = %d LIMIT 1",
+ $r = q("DELETE FROM `intro` WHERE `id` = %d",
intval($intro_id)
);
if(! $fid) {
@@ -41,7 +41,7 @@ function notifications_post(&$a) {
// The check for blocked and pending is in case the friendship was already approved
// and we just want to get rid of the now pointless notification
- $r = q("DELETE FROM `contact` WHERE `id` = %d AND `uid` = %d AND `self` = 0 AND `blocked` = 1 AND `pending` = 1 LIMIT 1",
+ $r = q("DELETE FROM `contact` WHERE `id` = %d AND `uid` = %d AND `self` = 0 AND `blocked` = 1 AND `pending` = 1",
intval($contact_id),
intval(local_user())
);
@@ -49,7 +49,7 @@ function notifications_post(&$a) {
goaway($a->get_baseurl(true) . '/notifications/intros');
}
if($_POST['submit'] == t('Ignore')) {
- $r = q("UPDATE `intro` SET `ignore` = 1 WHERE `id` = %d LIMIT 1",
+ $r = q("UPDATE `intro` SET `ignore` = 1 WHERE `id` = %d",
intval($intro_id));
goaway($a->get_baseurl(true) . '/notifications/intros');
}
diff --git a/mod/openid.php b/mod/openid.php
index ce7fe22ba..9752db440 100644
--- a/mod/openid.php
+++ b/mod/openid.php
@@ -159,7 +159,7 @@ function openid_content(&$a) {
$photos = import_profile_photo($pphoto,$url);
if($photos) {
$z = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s',
- xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s' limit 1",
+ xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'",
dbesc(datetime_convert()),
dbesc($photos[0]),
dbesc($photos[1]),
diff --git a/mod/p.php b/mod/p.php
index 227f9e24a..9d1c12dbc 100644
--- a/mod/p.php
+++ b/mod/p.php
@@ -11,7 +11,7 @@ function p_init(&$a) {
$mid = str_replace('.xml','',argv(1));
- $r = q("select * from item where mid = '%s' and (item_flags & %d) and item_private = 0 limit 1",
+ $r = q("select * from item where mid = '%s' and (item_flags & %d)>0 and item_private = 0 limit 1",
dbesc($mid),
intval(ITEM_WALL)
);
diff --git a/mod/parse_url.php b/mod/parse_url.php
index 340e1a67e..23d608411 100644
--- a/mod/parse_url.php
+++ b/mod/parse_url.php
@@ -307,7 +307,14 @@ function parse_url_content(&$a) {
$max_images = intval($max_images);
foreach ($siteinfo["images"] as $imagedata) {
- $image .= '[img='.$imagedata["width"].'x'.$imagedata["height"].']'.$imagedata["src"].'[/img]' . "\n";
+ if ($url) {
+ $image .= sprintf('[url=%s]', $url);
+ }
+ $image .= '[img='.$imagedata["width"].'x'.$imagedata["height"].']'.$imagedata["src"].'[/img]';
+ if ($url) {
+ $image .= '[/url]';
+ }
+ $image .= "\n";
$total_images ++;
if($max_images && $max_images >= $total_images)
break;
diff --git a/mod/photo.php b/mod/photo.php
index 0329fe0a8..66280cb76 100644
--- a/mod/photo.php
+++ b/mod/photo.php
@@ -66,7 +66,7 @@ function photo_init(&$a) {
intval($uid)
);
if(count($r)) {
- $data = $r[0]['data'];
+ $data = dbunescbin($r[0]['data']);
$mimetype = $r[0]['type'];
}
if(! isset($data)) {
@@ -140,7 +140,7 @@ function photo_init(&$a) {
);
if($r && $allowed) {
- $data = $r[0]['data'];
+ $data = dbunescbin($r[0]['data']);
$mimetype = $r[0]['type'];
}
else {
@@ -224,9 +224,21 @@ function photo_init(&$a) {
}
else {
-
- header("Expires: " . gmdate("D, d M Y H:i:s", time() + (3600*24)) . " GMT");
- header("Cache-Control: max-age=" . (3600*24));
+ // The photo cache default is 1 day to provide a privacy trade-off,
+ // as somebody reducing photo permissions on a photo that is already
+ // "in the wild" won't be able to stop the photo from being viewed
+ // for this amount amount of time once it is in the browser cache.
+ // The privacy expectations of your site members and their perception
+ // of privacy where it affects the entire project may be affected.
+ // This has performance considerations but we highly recommend you
+ // leave it alone.
+
+ $cache = get_config('system','photo_cache_time');
+ if(! $cache)
+ $cache = (3600 * 24); // 1 day
+
+ header("Expires: " . gmdate("D, d M Y H:i:s", time() + $cache) . " GMT");
+ header("Cache-Control: max-age=" . $cache);
}
echo $data;
diff --git a/mod/photos.php b/mod/photos.php
index 056c66293..8a54eca4f 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -196,7 +196,7 @@ function photos_post(&$a) {
}
}
- goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
+ goaway($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . $_SESSION['album_return']);
}
if(($a->argc > 2) && ((x($_POST,'desc') !== false) || (x($_POST,'newtag') !== false)) || (x($_POST,'albname') !== false)) {
@@ -206,6 +206,7 @@ function photos_post(&$a) {
$rawtags = ((x($_POST,'newtag')) ? notags(trim($_POST['newtag'])) : '');
$item_id = ((x($_POST,'item_id')) ? intval($_POST['item_id']) : 0);
$albname = ((x($_POST,'albname')) ? notags(trim($_POST['albname'])) : '');
+ $adult = ((x($_POST,'adult')) ? intval($_POST['adult']) : 0);
$str_group_allow = perms2str($_POST['group_allow']);
$str_contact_allow = perms2str($_POST['contact_allow']);
$str_group_deny = perms2str($_POST['group_deny']);
@@ -226,7 +227,7 @@ function photos_post(&$a) {
intval($page_owner_uid)
);
if(count($r)) {
- $ph = photo_factory($r[0]['data'], $r[0]['type']);
+ $ph = photo_factory(dbunescbin($r[0]['data']), $r[0]['type']);
if($ph->is_valid()) {
$rotate_deg = ( (intval($_POST['rotate']) == 1) ? 270 : 90 );
$ph->rotate($rotate_deg);
@@ -234,8 +235,8 @@ function photos_post(&$a) {
$width = $ph->getWidth();
$height = $ph->getHeight();
- $x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 0 limit 1",
- dbesc($ph->imageString()),
+ $x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 0",
+ dbescbin($ph->imageString()),
intval($height),
intval($width),
dbesc($resource_id),
@@ -247,8 +248,8 @@ function photos_post(&$a) {
$width = $ph->getWidth();
$height = $ph->getHeight();
- $x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 1 limit 1",
- dbesc($ph->imageString()),
+ $x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 1",
+ dbescbin($ph->imageString()),
intval($height),
intval($width),
dbesc($resource_id),
@@ -261,8 +262,8 @@ function photos_post(&$a) {
$width = $ph->getWidth();
$height = $ph->getHeight();
- $x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 2 limit 1",
- dbesc($ph->imageString()),
+ $x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 2",
+ dbescbin($ph->imageString()),
intval($height),
intval($width),
dbesc($resource_id),
@@ -273,13 +274,11 @@ function photos_post(&$a) {
}
}
- $p = q("SELECT * FROM `photo` WHERE `resource_id` = '%s' AND `uid` = %d and ( photo_flags = %d or photo_flags = %d ) ORDER BY `scale` DESC",
+ $p = q("SELECT * FROM `photo` WHERE `resource_id` = '%s' AND `uid` = %d ORDER BY `scale` DESC",
dbesc($resource_id),
- intval($page_owner_uid),
- intval(PHOTO_NORMAL),
- intval(PHOTO_PROFILE)
+ intval($page_owner_uid)
);
- if(count($p)) {
+ if($p) {
$ext = $phototypes[$p[0]['type']];
$r = q("UPDATE `photo` SET `description` = '%s', `album` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' WHERE `resource_id` = '%s' AND `uid` = %d",
@@ -296,6 +295,14 @@ function photos_post(&$a) {
$item_private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false);
+ $old_adult = (($p[0]['photo_flags'] & PHOTO_ADULT) ? 1 : 0);
+ if($old_adult != $adult) {
+ $r = q("update photo set photo_flags = ( photo_flags ^ %d) where resource_id = '%s' and uid = %d",
+ intval(PHOTO_ADULT),
+ dbesc($resource_id),
+ intval($page_owner_uid)
+ );
+ }
/* Don't make the item visible if the only change was the album name */
@@ -313,16 +320,17 @@ function photos_post(&$a) {
intval($item_id),
intval($page_owner_uid)
);
- }
- if($r) {
- $old_tag = $r[0]['tag'];
- $old_inform = $r[0]['inform'];
+
+ if($r) {
+ $old_tag = $r[0]['tag'];
+ $old_inform = $r[0]['inform'];
+ }
}
// make sure the linked item has the same permissions as the photo regardless of any other changes
$x = q("update item set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d
- where id = %d limit 1",
+ where id = %d",
dbesc($str_contact_allow),
dbesc($str_group_allow),
dbesc($str_contact_deny),
@@ -362,7 +370,7 @@ function photos_post(&$a) {
if($fullnametagged)
continue;
- require_once('mod/item.php');
+ require_once('include/text.php');
$body = $access_tag = '';
$success = handle_tag($a, $body, $access_tag, $str_tags, (local_user()) ? local_user() : $a->profile['profile_uid'] , $tag);
@@ -428,8 +436,11 @@ function photos_post(&$a) {
if(! $r['success']) {
notice($r['message'] . EOL);
}
-
- goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
+
+ if($_REQUEST['newalbum'])
+ goaway($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . bin2hex($_REQUEST['newalbum']));
+ else
+ goaway($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . bin2hex(datetime_convert('UTC',date_default_timezone_get(),'now', 'Y')));
}
@@ -439,20 +450,17 @@ function photos_content(&$a) {
// URLs:
// photos/name
- // photos/name/upload
- // photos/name/upload/xxxxx (xxxxx is album name)
- // photos/name/album/xxxxx
- // photos/name/album/xxxxx/edit
+ // photos/name/album/xxxxx (xxxxx is album name)
// photos/name/image/xxxxx
- // photos/name/image/xxxxx/edit
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
notice( t('Public access denied.') . EOL);
return;
}
-
-
+
+ $unsafe = ((array_key_exists('unsafe',$_REQUEST) && $_REQUEST['unsafe']) ? 1 : 0);
+
require_once('include/bbcode.php');
require_once('include/security.php');
require_once('include/conversation.php');
@@ -476,11 +484,9 @@ function photos_content(&$a) {
if(argc() > 3) {
$datatype = argv(2);
$datum = argv(3);
- }
- elseif((argc() > 2) && (argv(2) === 'upload'))
- $datatype = 'upload';
- else
+ } else {
$datatype = 'summary';
+ }
if(argc() > 4)
$cmd = argv(4);
@@ -503,7 +509,6 @@ function photos_content(&$a) {
$can_post = perm_is_allowed($owner_uid,$observer['xchan_hash'],'post_photos');
$can_view = perm_is_allowed($owner_uid,$observer['xchan_hash'],'view_photos');
-
if(! $can_view) {
notice( t('Access to this item is restricted.') . EOL);
return;
@@ -521,42 +526,11 @@ function photos_content(&$a) {
$_is_owner = (local_user() && (local_user() == $owner_uid));
$o .= profile_tabs($a,$_is_owner, $a->data['channel']['channel_address']);
- //
- // dispatch request
- //
-
/**
* Display upload form
*/
- if($datatype === 'upload') {
- if(! ($can_post)) {
- notice( t('Permission denied.'));
- return;
- }
-
-
-
- if(array_key_exists('albums', $a->data))
- $albums = get_app()->data['albums'];
- else
- $albums = photos_albums_list($a->data['channel'],$a->data['observer']);
-
-
- $selname = (($datum) ? hex2bin($datum) : '');
- $albumselect = '<select id="photos-upload-album-select" name="album" size="4">';
-
- $albumselect .= '<option value="" ' . ((! $selname) ? ' selected="selected" ' : '') . '>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>';
- if(count($albums['albums'])) {
- foreach($albums['albums'] as $album) {
- if(! $album['text'])
- continue;
- $selected = (($selname === $album['text']) ? ' selected="selected" ' : '');
- $albumselect .= '<option value="' . $album['text'] . '"' . $selected . '>' . $album['text'] . '</option>';
- }
- }
-
- $albumselect .= '</select>';
+ if( $can_post) {
$uploader = '';
@@ -564,12 +538,8 @@ function photos_content(&$a) {
'addon_text' => $uploader,
'default_upload' => true);
-
call_hooks('photo_upload_form',$ret);
- $default_upload = '<input id="photos-upload-choose" type="file" name="userfile" /> <div class="photos-upload-submit-wrapper" >
- <input type="submit" name="submit" value="' . t('Submit') . '" id="photos-upload-submit" /> </div>';
-
/* Show space usage */
$r = q("select sum(size) as total from photo where aid = %d and scale = 0 ",
@@ -579,10 +549,10 @@ function photos_content(&$a) {
$limit = service_class_fetch($a->data['channel']['channel_id'],'photo_upload_limit');
if($limit !== false) {
- $usage_message = sprintf( t("You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."), $r[0]['total'] / 1024000, $limit / 1024000 );
+ $usage_message = sprintf( t("%1$.2f MB of %2$.2f MB photo storage used."), $r[0]['total'] / 1024000, $limit / 1024000 );
}
else {
- $usage_message = sprintf( t('You have used %1$.2f Mbytes of photo storage.'), $r[0]['total'] / 1024000 );
+ $usage_message = sprintf( t('%1$.2f MB photo storage used.'), $r[0]['total'] / 1024000 );
}
if($_is_owner) {
@@ -594,38 +564,51 @@ function photos_content(&$a) {
'deny_cid' => $channel['channel_deny_cid'],
'deny_gid' => $channel['channel_deny_gid']
);
- }
- $albumselect_e = $albumselect;
+ $lockstate = (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock');
+ }
+
$aclselect_e = (($_is_owner) ? populate_acl($channel_acl,false) : '');
+ $selname = (($datum) ? hex2bin($datum) : '');
+
+ $albums = ((array_key_exists('albums', $a->data)) ? $a->data['albums'] : photos_albums_list($a->data['channel'],$a->data['observer']));
+
$tpl = get_markup_template('photos_upload.tpl');
- $o .= replace_macros($tpl,array(
+ $upload_form = replace_macros($tpl,array(
'$pagename' => t('Upload Photos'),
'$sessid' => session_id(),
'$usage' => $usage_message,
'$nickname' => $a->data['channel']['channel_address'],
- '$newalbum' => t('New album name: '),
- '$existalbumtext' => t('or existing album name: '),
+ '$newalbum_label' => t('Enter a new album name'),
+ '$newalbum_placeholder' => t('or select an existing one (doubleclick)'),
'$nosharetext' => t('Do not show a status post for this upload'),
- '$albumselect' => $albumselect_e,
+ '$albums' => $albums['albums'],
+ '$selname' => $selname,
'$permissions' => t('Permissions'),
'$aclselect' => $aclselect_e,
+ '$lockstate' => $lockstate,
'$uploader' => $ret['addon_text'],
- '$default' => (($ret['default_upload']) ? $default_upload : ''),
- '$uploadurl' => $ret['post_url']
+ '$default' => (($ret['default_upload']) ? true : false),
+ '$uploadurl' => $ret['post_url'],
+ '$submit' => t('Submit')
));
- return $o;
}
+ //
+ // dispatch request
+ //
+
/*
* Display a single photo album
*/
if($datatype === 'album') {
+
+
if((strlen($datum) & 1) || (! ctype_xdigit($datum))) {
notice( t('Album name could not be decoded') . EOL);
logger('mod_photos: illegal album encoding: ' . $datum);
@@ -635,15 +618,17 @@ function photos_content(&$a) {
$album = hex2bin($datum);
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` = '%s'
- AND `scale` <= 4 and (photo_flags = %d or photo_flags = %d ) $sql_extra GROUP BY `resource_id`",
+ AND `scale` <= 4 and ((photo_flags = %d) or (photo_flags & %d ) > 0) $sql_extra GROUP BY `resource_id`",
intval($owner_uid),
dbesc($album),
intval(PHOTO_NORMAL),
- intval(PHOTO_PROFILE)
+ intval(($unsafe) ? (PHOTO_PROFILE|PHOTO_ADULT) : PHOTO_PROFILE)
);
if(count($r)) {
$a->set_pager_total(count($r));
$a->set_pager_itemspage(60);
+ } else {
+ goaway($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address']);
}
if($_GET['order'] === 'posted')
@@ -651,14 +636,17 @@ function photos_content(&$a) {
else
$order = 'DESC';
- $r = q("SELECT `resource_id`, `id`, `filename`, type, max(`scale`) AS `scale`, `description` FROM `photo` WHERE `uid` = %d AND `album` = '%s'
- AND `scale` <= 4 and (photo_flags = %d or photo_flags = %d ) $sql_extra GROUP BY `resource_id` ORDER BY `created` $order LIMIT %d , %d",
+
+ $r = q("SELECT p.resource_id, p.id, p.filename, p.type, p.scale, p.description, p.created FROM photo p INNER JOIN
+ (SELECT resource_id, max(scale) scale FROM photo WHERE uid = %d AND album = '%s' AND scale <= 4 AND (photo_flags = %d or photo_flags = %d ) $sql_extra GROUP BY resource_id) ph
+ ON (p.resource_id = ph.resource_id AND p.scale = ph.scale)
+ ORDER BY created $order LIMIT %d OFFSET %d",
intval($owner_uid),
dbesc($album),
intvaL(PHOTO_NORMAL),
- intval(PHOTO_PROFILE),
- intval($a->pager['start']),
- intval($a->pager['itemspage'])
+ intval(($unsafe) ? (PHOTO_PROFILE|PHOTO_ADULT) : PHOTO_PROFILE),
+ intval($a->pager['itemspage']),
+ intval($a->pager['start'])
);
//edit album name
@@ -671,11 +659,14 @@ function photos_content(&$a) {
else {
$album_e = $album;
}
+ $albums = ((array_key_exists('albums', $a->data)) ? $a->data['albums'] : photos_albums_list($a->data['channel'],$a->data['observer']));
$edit_tpl = get_markup_template('album_edit.tpl');
$album_edit = replace_macros($edit_tpl,array(
- '$nametext' => t('New album name: '),
+ '$nametext' => t('Enter a new album name'),
+ '$name_placeholder' => t('or select an existing one (doubleclick)'),
'$nickname' => $a->data['channel']['channel_address'],
'$album' => $album_e,
+ '$albums' => $albums['albums'],
'$hexalbum' => bin2hex($album),
'$submit' => t('Submit'),
'$dropsubmit' => t('Delete Album')
@@ -706,13 +697,10 @@ function photos_content(&$a) {
$imagelink = ($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $rr['resource_id']
. (($_GET['order'] === 'posted') ? '?f=&order=posted' : ''));
- $rel=("photo");
-
$photos[] = array(
'id' => $rr['id'],
'twist' => ' ' . $twist . rand(2,4),
'link' => $imagelink,
- 'rel' => $rel,
'title' => t('View Photo'),
'src' => $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext,
'alt' => $imgalt_e,
@@ -746,7 +734,8 @@ function photos_content(&$a) {
'$can_post' => $can_post,
'$upload' => array(t('Upload'), $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/upload/' . bin2hex($album)),
'$order' => $order,
-
+ '$upload_form' => $upload_form,
+ '$usage' => $usage_message
));
}
@@ -772,25 +761,18 @@ function photos_content(&$a) {
// fetch image, item containing image, then comments
$ph = q("SELECT aid,uid,xchan,resource_id,created,edited,title,`description`,album,filename,`type`,height,width,`size`,scale,profile,photo_flags,allow_cid,allow_gid,deny_cid,deny_gid FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'
- and (photo_flags = %d or photo_flags = %d ) $sql_extra ORDER BY `scale` ASC ",
+ $sql_extra ORDER BY `scale` ASC ",
intval($owner_uid),
- dbesc($datum),
- intval(PHOTO_NORMAL),
- intval(PHOTO_PROFILE)
-
+ dbesc($datum)
);
if(! $ph) {
/* Check again - this time without specifying permissions */
- $ph = q("SELECT id FROM photo WHERE uid = %d AND resource_id = '%s'
- and ( photo_flags = %d or photo_flags = %d )
- LIMIT 1",
+ $ph = q("SELECT id FROM photo WHERE uid = %d AND resource_id = '%s' LIMIT 1",
intval($owner_uid),
- dbesc($datum),
- intval(PHOTO_NORMAL),
- intval(PHOTO_PROFILE)
+ dbesc($datum)
);
if($ph)
notice( t('Permission denied. Access to this item may be restricted.') . EOL);
@@ -811,11 +793,9 @@ function photos_content(&$a) {
$prvnxt = q("SELECT `resource_id` FROM `photo` WHERE `album` = '%s' AND `uid` = %d AND `scale` = 0
- and ( photo_flags = %d or photo_flags = %d ) $sql_extra ORDER BY `created` $order ",
+ $sql_extra ORDER BY `created` $order ",
dbesc($ph[0]['album']),
- intval($owner_uid),
- intval(PHOTO_NORMAL),
- intval(PHOTO_PROFILE)
+ intval($owner_uid)
);
if(count($prvnxt)) {
@@ -859,11 +839,11 @@ function photos_content(&$a) {
);
}
- // lock
- $lock = ( ( (strlen($ph[0]['allow_cid']) || strlen($ph[0]['allow_gid'])
+ // lockstate
+ $lockstate = ( ( (strlen($ph[0]['allow_cid']) || strlen($ph[0]['allow_gid'])
|| strlen($ph[0]['deny_cid']) || strlen($ph[0]['deny_gid'])) )
- ? t('Private Photo')
- : Null);
+ ? array('lock', t('Private Photo'))
+ : array('unlock', Null));
$a->page['htmlhead'] .= '<script>$(document).keydown(function(event) {' . "\n";
if($prevlink)
@@ -926,7 +906,7 @@ function photos_content(&$a) {
}
if((local_user()) && (local_user() == $link_item['uid'])) {
- q("UPDATE `item` SET item_flags = (item_flags ^ %d) WHERE parent = %d and uid = %d and (item_flags & %d)",
+ q("UPDATE `item` SET item_flags = (item_flags & ~%d) WHERE parent = %d and uid = %d and (item_flags & %d)>0",
intval(ITEM_UNSEEN),
intval($link_item['parent']),
intval(local_user()),
@@ -943,23 +923,22 @@ function photos_content(&$a) {
$edit = null;
if($can_post) {
- if(array_key_exists('albums', $a->data))
- $albums = get_app()->data['albums'];
- else
- $albums = photos_albums_list($a->data['channel'],$a->data['observer']);
-
$album_e = $ph[0]['album'];
$caption_e = $ph[0]['description'];
$aclselect_e = populate_acl($ph[0]);
+ $albums = ((array_key_exists('albums', $a->data)) ? $a->data['albums'] : photos_albums_list($a->data['channel'],$a->data['observer']));
+
+ $_SESSION['album_return'] = bin2hex($ph[0]['album']);
$edit = array(
'edit' => t('Edit photo'),
- 'id' => $link_item['id'], //$ph[0]['id'],
+ 'id' => $link_item['id'],
'rotatecw' => t('Rotate CW (right)'),
'rotateccw' => t('Rotate CCW (left)'),
'albums' => $albums['albums'],
'album' => $album_e,
- 'newalbum' => t('New album name'),
+ 'newalbum_label' => t('Enter a new album name'),
+ 'newalbum_placeholder' => t('or select an existing one (doubleclick)'),
'nickname' => $a->data['channel']['channel_address'],
'resource_id' => $ph[0]['resource_id'],
'capt_label' => t('Caption'),
@@ -967,8 +946,11 @@ function photos_content(&$a) {
'tag_label' => t('Add a Tag'),
'permissions' => t('Permissions'),
'aclselect' => $aclselect_e,
+ 'lockstate' => $lockstate[0],
'help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com'),
'item_id' => ((count($linked_items)) ? $link_item['id'] : 0),
+ 'adult_enabled' => feature_enabled($owner_uid,'adult_photo_flagging'),
+ 'adult' => array('adult',t('Flag as adult in album view'), (($ph[0]['photo_flags'] & PHOTO_ADULT) ? 1 : 0),''),
'submit' => t('Submit'),
'delete' => t('Delete Photo')
);
@@ -1138,7 +1120,7 @@ function photos_content(&$a) {
'$id' => $link_item['id'], //$ph[0]['id'],
'$album' => $album_e,
'$tools' => $tools,
- '$lock' => $lock,
+ '$lock' => $lockstate[1],
'$photo' => $photo,
'$prevlink' => $prevlink,
'$nextlink' => $nextlink,
@@ -1176,29 +1158,30 @@ function photos_content(&$a) {
//$o = '';
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
- and ( photo_flags = %d or photo_flags = %d ) $sql_extra GROUP BY `resource_id`",
+ and ((photo_flags = %d) or (photo_flags & %d) > 0) $sql_extra GROUP BY `resource_id`",
intval($a->data['channel']['channel_id']),
dbesc('Contact Photos'),
dbesc( t('Contact Photos')),
intval(PHOTO_NORMAL),
- intval(PHOTO_PROFILE)
+ intval(($unsafe) ? (PHOTO_PROFILE|PHOTO_ADULT) : PHOTO_PROFILE)
);
if(count($r)) {
$a->set_pager_total(count($r));
$a->set_pager_itemspage(60);
}
-
- $r = q("SELECT `resource_id`, `id`, `filename`, type, `album`, max(`scale`) AS `scale` FROM `photo`
- WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
- and ( photo_flags = %d or photo_flags = %d )
- $sql_extra GROUP BY `resource_id` ORDER BY `created` DESC LIMIT %d , %d",
+
+ $r = q("SELECT p.resource_id, p.id, p.filename, p.type, p.album, p.scale, p.created FROM photo p INNER JOIN
+ (SELECT resource_id, max(scale) scale FROM photo
+ WHERE uid=%d AND album != '%s' AND album != '%s'
+ AND (photo_flags = %d or ( photo_flags & %d ) > 0 ) $sql_extra group by resource_id) ph
+ ON (p.resource_id = ph.resource_id and p.scale = ph.scale) ORDER by p.created DESC LIMIT %d OFFSET %d",
intval($a->data['channel']['channel_id']),
dbesc('Contact Photos'),
dbesc( t('Contact Photos')),
intval(PHOTO_NORMAL),
- intval(PHOTO_PROFILE),
- intval($a->pager['start']),
- intval($a->pager['itemspage'])
+ intval(($unsafe) ? (PHOTO_PROFILE|PHOTO_ADULT) : PHOTO_PROFILE),
+ intval($a->pager['itemspage']),
+ intval($a->pager['start'])
);
@@ -1259,6 +1242,8 @@ function photos_content(&$a) {
'$can_post' => $can_post,
'$upload' => array(t('Upload'), $a->get_baseurl().'/photos/'.$a->data['channel']['channel_address'].'/upload'),
'$photos' => $photos,
+ '$upload_form' => $upload_form,
+ '$usage' => $usage_message
));
}
diff --git a/mod/ping.php b/mod/ping.php
index 49475de66..593ae21f8 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -41,6 +41,20 @@ function ping_init(&$a) {
header("content-type: application/json");
+ $vnotify = false;
+
+ if(local_user()) {
+ $vnotify = get_pconfig(local_user(),'system','vnotify');
+ $evdays = intval(get_pconfig(local_user(),'system','evdays'));
+ $ob_hash = get_observer_hash();
+ }
+
+ // if unset show all visual notification types
+ if($vnotify === false)
+ $vnotify = (-1);
+ if($evdays < 1)
+ $evdays = 3;
+
/**
* If you have several windows open to this site and switch to a different channel
* in one of them, the others may get into a confused state showing you a page or options
@@ -71,6 +85,11 @@ function ping_init(&$a) {
}
unset($_SESSION['sysmsg_info']);
}
+ if(! ($vnotify & VNOTIFY_INFO))
+ $result['info'] = array();
+ if(! ($vnotify & VNOTIFY_ALERT))
+ $result['notice'] = array();
+
if($a->install) {
echo json_encode($result);
@@ -89,7 +108,7 @@ function ping_init(&$a) {
$basic_presence = false;
if($r) {
$basic_presence = true;
- q("update chatpresence set cp_last = '%s' where cp_id = %d limit 1",
+ q("update chatpresence set cp_last = '%s' where cp_id = %d",
dbesc(datetime_convert()),
intval($r[0]['cp_id'])
);
@@ -110,7 +129,9 @@ function ping_init(&$a) {
* and shouldn't count as online anymore. We allow an expection for bots.
*/
- q("delete from chatpresence where cp_last < UTC_TIMESTAMP() - INTERVAL 3 MINUTE and cp_client != 'auto' ");
+ q("delete from chatpresence where cp_last < %s - INTERVAL %s and cp_client != 'auto' ",
+ db_utcnow(), db_quoteinterval('3 MINUTE')
+ );
if((! local_user()) || ($result['invalid'])) {
echo json_encode($result);
@@ -130,14 +151,14 @@ function ping_init(&$a) {
if(x($_REQUEST, 'markRead') && local_user()) {
switch($_REQUEST['markRead']) {
case 'network':
- $r = q("update item set item_flags = ( item_flags ^ %d ) where (item_flags & %d) and uid = %d",
+ $r = q("update item set item_flags = ( item_flags & ~%d ) where (item_flags & %d) > 0 and uid = %d",
intval(ITEM_UNSEEN),
intval(ITEM_UNSEEN),
intval(local_user())
);
break;
case 'home':
- $r = q("update item set item_flags = ( item_flags ^ %d ) where (item_flags & %d) and (item_flags & %d) and uid = %d",
+ $r = q("update item set item_flags = ( item_flags & ~%d ) where (item_flags & %d) > 0 and (item_flags & %d) > 0 and uid = %d",
intval(ITEM_UNSEEN),
intval(ITEM_UNSEEN),
intval(ITEM_WALL),
@@ -145,7 +166,7 @@ function ping_init(&$a) {
);
break;
case 'messages':
- $r = q("update mail set mail_flags = ( mail_flags ^ %d ) where channel_id = %d and not (mail_flags & %d)",
+ $r = q("update mail set mail_flags = ( mail_flags | %d ) where channel_id = %d and not (mail_flags & %d) > 0",
intval(MAIL_SEEN),
intval(local_user()),
intval(MAIL_SEEN)
@@ -166,6 +187,14 @@ function ping_init(&$a) {
}
}
+ if(x($_REQUEST, 'markItemRead') && local_user()) {
+ $r = q("update item set item_flags = ( item_flags & ~%d ) where parent = %d and uid = %d",
+ intval(ITEM_UNSEEN),
+ intval($_REQUEST['markItemRead']),
+ intval(local_user())
+ );
+ }
+
/**
@@ -179,17 +208,17 @@ function ping_init(&$a) {
);
if($t && intval($t[0]['total']) > 49) {
$z = q("select * from notify where uid = %d
- and seen = 0 order by date desc limit 0, 50",
+ and seen = 0 order by date desc limit 50",
intval(local_user())
);
}
else {
$z1 = q("select * from notify where uid = %d
- and seen = 0 order by date desc limit 0, 50",
+ and seen = 0 order by date desc limit 50",
intval(local_user())
);
$z2 = q("select * from notify where uid = %d
- and seen = 1 order by date desc limit 0, %d",
+ and seen = 1 order by date desc limit %d",
intval(local_user()),
intval(50 - intval($t[0]['total']))
);
@@ -204,7 +233,7 @@ function ping_init(&$a) {
'url' => $zz['url'],
'photo' => $zz['photo'],
'when' => relative_date($zz['date']),
- 'class' => (($zz['seen']) ? 'notify-seen' : 'notify-unseen'),
+ 'hclass' => (($zz['seen']) ? 'notify-seen' : 'notify-unseen'),
'message' => strip_tags(bbcode($zz['msg']))
);
}
@@ -217,8 +246,8 @@ function ping_init(&$a) {
if(argc() > 1 && argv(1) === 'messages') {
$channel = $a->get_channel();
$t = q("select mail.*, xchan.* from mail left join xchan on xchan_hash = from_xchan
- where channel_id = %d and not ( mail_flags & %d ) and not (mail_flags & %d )
- and from_xchan != '%s' order by created desc limit 0,50",
+ where channel_id = %d and not ( mail_flags & %d ) > 0 and not (mail_flags & %d ) > 0
+ and from_xchan != '%s' order by created desc limit 50",
intval(local_user()),
intval(MAIL_SEEN),
intval(MAIL_DELETED),
@@ -233,7 +262,7 @@ function ping_init(&$a) {
'url' => $zz['xchan_url'],
'photo' => $zz['xchan_photo_s'],
'when' => relative_date($zz['created']),
- 'class' => (($zz['mail_flags'] & MAIL_SEEN) ? 'notify-seen' : 'notify-unseen'),
+ 'hclass' => (($zz['mail_flags'] & MAIL_SEEN) ? 'notify-seen' : 'notify-unseen'),
'message' => t('sent you a private message'),
);
}
@@ -247,10 +276,12 @@ function ping_init(&$a) {
$result = array();
$r = q("SELECT * FROM item
- WHERE item_restrict = %d and ( item_flags & %d ) and uid = %d",
+ WHERE item_restrict = %d and ( item_flags & %d ) > 0 and uid = %d
+ and author_xchan != '%s' ORDER BY created DESC",
intval(ITEM_VISIBLE),
intval(ITEM_UNSEEN),
- intval(local_user())
+ intval(local_user()),
+ dbesc($ob_hash)
);
if($r) {
@@ -269,7 +300,7 @@ function ping_init(&$a) {
if(argc() > 1 && (argv(1) === 'intros')) {
$result = array();
- $r = q("SELECT * FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d) and not ((abook_flags & %d) or (xchan_flags & %d))",
+ $r = q("SELECT * FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d) > 0 and not ((abook_flags & %d) > 0 or (xchan_flags & %d) > 0) ORDER BY abook_created DESC",
intval(local_user()),
intval(ABOOK_FLAG_PENDING),
intval(ABOOK_FLAG_SELF|ABOOK_FLAG_IGNORED),
@@ -284,7 +315,7 @@ function ping_init(&$a) {
'url' => $rr['xchan_url'],
'photo' => $rr['xchan_photo_s'],
'when' => relative_date($rr['abook_created']),
- 'class' => ('notify-unseen'),
+ 'hclass' => ('notify-unseen'),
'message' => t('added your channel')
);
}
@@ -303,7 +334,7 @@ function ping_init(&$a) {
WHERE `event`.`uid` = %d AND start < '%s' AND start > '%s' and `ignore` = 0
ORDER BY `start` DESC ",
intval(local_user()),
- dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + 7 days')),
+ dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now - 1 days'))
);
@@ -325,7 +356,7 @@ function ping_init(&$a) {
'url' => $rr['xchan_url'],
'photo' => $rr['xchan_photo_s'],
'when' => $when,
- 'class' => ('notify-unseen'),
+ 'hclass' => ('notify-unseen'),
'message' => t('posted an event')
);
}
@@ -341,101 +372,127 @@ function ping_init(&$a) {
* Normal ping - just the counts, no detail
*/
- $t = q("select count(*) as total from notify where uid = %d and seen = 0",
- intval(local_user())
- );
- if($t)
- $result['notify'] = intval($t[0]['total']);
+ if($vnotify & VNOTIFY_SYSTEM) {
+ $t = q("select count(*) as total from notify where uid = %d and seen = 0",
+ intval(local_user())
+ );
+ if($t)
+ $result['notify'] = intval($t[0]['total']);
+ }
$t1 = dba_timer();
- $r = q("SELECT id, item_restrict, item_flags FROM item
- WHERE (item_restrict = %d) and ( item_flags & %d ) and uid = %d",
- intval(ITEM_VISIBLE),
- intval(ITEM_UNSEEN),
- intval(local_user())
- );
+ if($vnotify & (VNOTIFY_NETWORK|VNOTIFY_CHANNEL)) {
+ $r = q("SELECT id, item_restrict, item_flags FROM item
+ WHERE (item_restrict = %d) and ( item_flags & %d ) > 0 and uid = %d
+ and author_xchan != '%s'",
+ intval(ITEM_VISIBLE),
+ intval(ITEM_UNSEEN),
+ intval(local_user()),
+ dbesc($ob_hash)
+ );
- if(count($r)) {
- $arr = array('items' => $r);
- call_hooks('network_ping', $arr);
+ if($r) {
+ $arr = array('items' => $r);
+ call_hooks('network_ping', $arr);
- foreach ($r as $it) {
- if($it['item_flags'] & ITEM_WALL)
- $result['home'] ++;
- else
- $result['network'] ++;
+ foreach ($r as $it) {
+ if($it['item_flags'] & ITEM_WALL)
+ $result['home'] ++;
+ else
+ $result['network'] ++;
+ }
}
}
+ if(! ($vnotify & VNOTIFY_NETWORK))
+ $result['network'] = 0;
+ if(! ($vnotify & VNOTIFY_CHANNEL))
+ $result['home'] = 0;
+
$t2 = dba_timer();
- $intr = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d) and not ((abook_flags & %d) or (xchan_flags & %d))",
- intval(local_user()),
- intval(ABOOK_FLAG_PENDING),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_IGNORED),
- intval(XCHAN_FLAGS_DELETED|XCHAN_FLAGS_ORPHAN)
- );
+ if($vnotify & VNOTIFY_INTRO) {
+ $intr = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d) > 0 and not ((abook_flags & %d) > 0 or (xchan_flags & %d) > 0)",
+ intval(local_user()),
+ intval(ABOOK_FLAG_PENDING),
+ intval(ABOOK_FLAG_SELF|ABOOK_FLAG_IGNORED),
+ intval(XCHAN_FLAGS_DELETED|XCHAN_FLAGS_ORPHAN)
+ );
- $t3 = dba_timer();
+ $t3 = dba_timer();
- if($intr)
- $result['intros'] = intval($intr[0]['total']);
+ if($intr)
+ $result['intros'] = intval($intr[0]['total']);
+ }
$t4 = dba_timer();
$channel = get_app()->get_channel();
- $mails = q("SELECT count(id) as total from mail
- WHERE channel_id = %d AND not (mail_flags & %d) and from_xchan != '%s' ",
- intval(local_user()),
- intval(MAIL_SEEN),
- dbesc($channel['channel_hash'])
- );
- if($mails)
- $result['mail'] = intval($mails[0]['total']);
-
- if ($a->config['system']['register_policy'] == REGISTER_APPROVE && is_site_admin()) {
- $regs = q("SELECT count(account_id) as total from account where (account_flags & %d)",
- intval(ACCOUNT_PENDING)
+ if($vnotify & VNOTIFY_MAIL) {
+ $mails = q("SELECT count(id) as total from mail
+ WHERE channel_id = %d AND not (mail_flags & %d) > 0 and from_xchan != '%s' ",
+ intval(local_user()),
+ intval(MAIL_SEEN),
+ dbesc($channel['channel_hash'])
);
- if($regs)
- $result['register'] = intval($regs[0]['total']);
+ if($mails)
+ $result['mail'] = intval($mails[0]['total']);
+ }
+
+ if($vnotify & VNOTIFY_REGISTER) {
+ if ($a->config['system']['register_policy'] == REGISTER_APPROVE && is_site_admin()) {
+ $regs = q("SELECT count(account_id) as total from account where (account_flags & %d) > 0",
+ intval(ACCOUNT_PENDING)
+ );
+ if($regs)
+ $result['register'] = intval($regs[0]['total']);
+ }
}
$t5 = dba_timer();
- $events = q("SELECT type, start, adjust FROM `event`
- WHERE `event`.`uid` = %d AND start < '%s' AND start > '%s' and `ignore` = 0
- ORDER BY `start` ASC ",
- intval(local_user()),
- dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + 7 days')),
- dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now - 1 days'))
- );
-
- if($events) {
- $result['all_events'] = count($events);
-
- if($result['all_events']) {
- $str_now = datetime_convert('UTC', date_default_timezone_get(), 'now', 'Y-m-d');
- foreach($events as $x) {
- $bd = false;
- if($x['type'] === 'birthday') {
- $result['birthdays'] ++;
- $bd = true;
- }
- else {
- $result['events'] ++;
- }
- if(datetime_convert('UTC', ((intval($x['adjust'])) ? date_default_timezone_get() : 'UTC'), $x['start'], 'Y-m-d') === $str_now) {
- $result['all_events_today'] ++;
- if($bd)
- $result['birthdays_today'] ++;
- else
- $result['events_today'] ++;
+ if($vnotify & (VNOTIFY_EVENT|VNOTIFY_EVENTTODAY|VNOTIFY_BIRTHDAY)) {
+ $events = q("SELECT type, start, adjust FROM `event`
+ WHERE `event`.`uid` = %d AND start < '%s' AND start > '%s' and `ignore` = 0
+ ORDER BY `start` ASC ",
+ intval(local_user()),
+ dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
+ dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now - 1 days'))
+ );
+
+ if($events) {
+ $result['all_events'] = count($events);
+
+ if($result['all_events']) {
+ $str_now = datetime_convert('UTC', date_default_timezone_get(), 'now', 'Y-m-d');
+ foreach($events as $x) {
+ $bd = false;
+ if($x['type'] === 'birthday') {
+ $result['birthdays'] ++;
+ $bd = true;
+ }
+ else {
+ $result['events'] ++;
+ }
+ if(datetime_convert('UTC', ((intval($x['adjust'])) ? date_default_timezone_get() : 'UTC'), $x['start'], 'Y-m-d') === $str_now) {
+ $result['all_events_today'] ++;
+ if($bd)
+ $result['birthdays_today'] ++;
+ else
+ $result['events_today'] ++;
+ }
}
}
}
}
+ if(! ($vnotify & VNOTIFY_EVENT))
+ $result['all_events'] = $result['events'] = 0;
+ if(! ($vnotify & VNOTIFY_EVENTTODAY))
+ $result['all_events_today'] = $result['events_today'] = 0;
+ if(! ($vnotify & VNOTIFY_BIRTHDAY))
+ $result['birthdays'] = 0;
+
$x = json_encode($result);
diff --git a/mod/poco.php b/mod/poco.php
index c1696e4cd..3f932e92f 100644
--- a/mod/poco.php
+++ b/mod/poco.php
@@ -15,7 +15,7 @@ function poco_init(&$a) {
$user = notags(trim(argv(1)));
}
if(! x($user)) {
- $c = q("select * from pconfig where cat = 'system' and k = 'suggestme' and v = 1");
+ $c = q("select * from pconfig where cat = 'system' and k = 'suggestme' and v = '1'");
if(! $c) {
logger('mod_poco: system mode. No candidates.', LOGGER_DEBUG);
http_status_exit(404);
@@ -60,7 +60,7 @@ function poco_init(&$a) {
}
if($justme)
- $sql_extra = " and ( abook_flags & " . ABOOK_FLAG_SELF . " ) ";
+ $sql_extra = " and ( abook_flags & " . ABOOK_FLAG_SELF . " )>0 ";
else
$sql_extra = " and abook_flags = 0 ";
@@ -69,14 +69,14 @@ function poco_init(&$a) {
if($system_mode) {
$r = q("SELECT count(*) as `total` from abook where ( abook_flags & " . ABOOK_FLAG_SELF .
- " ) and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = 1) ");
+ " )>0 and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = '1') ");
}
else {
$r = q("SELECT count(*) as `total` from abook where abook_channel = %d
$sql_extra ",
intval($channel_id)
);
- $c = q("select * from menu_item where ( mitem_flags & " . intval(MENU_ITEM_CHATROOM) . " ) and allow_cid = '' and allow_gid = '' and deny_cid = '' and deny_gid = '' and mitem_channel_id = %d",
+ $c = q("select * from menu_item where ( mitem_flags & " . intval(MENU_ITEM_CHATROOM) . " )>0 and allow_cid = '' and allow_gid = '' and deny_cid = '' and deny_gid = '' and mitem_channel_id = %d",
intval($channel_id)
);
}
@@ -93,17 +93,17 @@ function poco_init(&$a) {
if($system_mode) {
$r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where ( abook_flags & " . ABOOK_FLAG_SELF .
- " ) and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = 1) limit %d, %d ",
- intval($startIndex),
- intval($itemsPerPage)
+ " )>0 and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = '1') limit %d offset %d ",
+ intval($itemsPerPage),
+ intval($startIndex)
);
}
else {
$r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d
- $sql_extra LIMIT %d, %d",
+ $sql_extra LIMIT %d OFFSET %d",
intval($channel_id),
- intval($startIndex),
- intval($itemsPerPage)
+ intval($itemsPerPage),
+ intval($startIndex)
);
}
diff --git a/mod/post.php b/mod/post.php
index d62233ca1..9e818a7e2 100644
--- a/mod/post.php
+++ b/mod/post.php
@@ -98,7 +98,7 @@ function post_init(&$a) {
// Any channel will do, providing it's currently active. We just need to have an
// identity to attach to the packet we send back. So find one.
- $c = q("select * from channel where not ( channel_pageflags & %d ) limit 1",
+ $c = q("select * from channel where not ( channel_pageflags & %d )>0 limit 1",
intval(PAGE_REMOVED)
);
@@ -507,6 +507,7 @@ function post_post(&$a) {
json_return_and_die($ret);
}
+
if($msgtype === 'pickup') {
/**
@@ -597,11 +598,24 @@ function post_post(&$a) {
$ret['success'] = true;
$ret['pickup'] = array();
foreach($r as $rr) {
- $ret['pickup'][] = array('notify' => json_decode($rr['outq_notify'],true),'message' => json_decode($rr['outq_msg'],true));
+ if($rr['outq_msg']) {
+ $x = json_decode($rr['outq_msg'],true);
- $x = q("delete from outq where outq_hash = '%s' limit 1",
- dbesc($rr['outq_hash'])
- );
+ if(! $x)
+ continue;
+
+ if(array_key_exists('message_list',$x)) {
+ foreach($x['message_list'] as $xx) {
+ $ret['pickup'][] = array('notify' => json_decode($rr['outq_notify'],true),'message' => $xx);
+ }
+ }
+ else
+ $ret['pickup'][] = array('notify' => json_decode($rr['outq_notify'],true),'message' => $x);
+
+ $x = q("delete from outq where outq_hash = '%s'",
+ dbesc($rr['outq_hash'])
+ );
+ }
}
}
@@ -645,7 +659,7 @@ function post_post(&$a) {
// Update our DB to show when we last communicated successfully with this hub
// This will allow us to prune dead hubs from using up resources
- $r = q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d limit 1",
+ $r = q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d",
dbesc(datetime_convert()),
intval($hub['hubloc_id'])
);
@@ -653,17 +667,17 @@ function post_post(&$a) {
// a dead hub came back to life - reset any tombstones we might have
if($hub['hubloc_status'] & HUBLOC_OFFLINE) {
- q("update hubloc set hubloc_status = (hubloc_status ^ %d) where hubloc_id = %d limit 1",
+ q("update hubloc set hubloc_status = (hubloc_status & ~%d) where hubloc_id = %d",
intval(HUBLOC_OFFLINE),
intval($hub['hubloc_id'])
);
if($r[0]['hubloc_flags'] & HUBLOC_FLAGS_ORPHANCHECK) {
- q("update hubloc set hubloc_flags = (hubloc_flags ^ %d) where hubloc_id = %d limit 1",
+ q("update hubloc set hubloc_flags = (hubloc_flags & ~%d) where hubloc_id = %d",
intval(HUBLOC_FLAGS_ORPHANCHECK),
intval($hub['hubloc_id'])
);
}
- q("update xchan set xchan_flags = (xchan_flags ^ %d) where (xchan_flags & %d) and xchan_hash = '%s' limit 1",
+ q("update xchan set xchan_flags = (xchan_flags & ~%d) where (xchan_flags & %d)>0 and xchan_hash = '%s'",
intval(XCHAN_FLAGS_ORPHAN),
intval(XCHAN_FLAGS_ORPHAN),
dbesc($hub['hubloc_hash'])
@@ -718,7 +732,9 @@ function post_post(&$a) {
$sender_hash = make_xchan_hash($arr['guid'],$arr['guid_sig']);
// garbage collect any old unused notifications
- q("delete from verify where type = 'auth' and created < UTC_TIMESTAMP() - INTERVAL 10 MINUTE");
+ q("delete from verify where type = 'auth' and created < %s - INTERVAL %s",
+ db_utcnow(), db_quoteinterval('10 MINUTE')
+ );
$y = q("select xchan_pubkey from xchan where xchan_hash = '%s' limit 1",
dbesc($sender_hash)
@@ -767,7 +783,7 @@ function post_post(&$a) {
$ret['message'] .= 'verification key not found' . EOL;
json_return_and_die($ret);
}
- $r = q("delete from verify where id = %d limit 1",
+ $r = q("delete from verify where id = %d",
intval($z[0]['id'])
);
@@ -782,6 +798,7 @@ function post_post(&$a) {
$ret['service_class'] = $u[0]['account_service_class'];
// Set "do not track" flag if this site or this channel's profile is restricted
+ // in some way
if(intval(get_config('system','block_public')))
$ret['DNT'] = true;
@@ -789,6 +806,8 @@ function post_post(&$a) {
$ret['DNT'] = true;
if(get_pconfig($c[0]['channel_id'],'system','do_not_track'))
$ret['DNT'] = true;
+ if(get_pconfig($c[0]['channel_id'],'system','hide_online_status'))
+ $ret['DNT'] = true;
json_return_and_die($ret);
@@ -796,6 +815,12 @@ function post_post(&$a) {
json_return_and_die($ret);
}
+ if($msgtype === 'request') {
+ // request a particular post/conversation by message_id
+ $x = zot_process_message_request($data);
+ json_return_and_die($x);
+ }
+
if($msgtype === 'purge') {
if($recipients) {
diff --git a/mod/profile_photo.php b/mod/profile_photo.php
index aad9c9d16..e9dad6f51 100644
--- a/mod/profile_photo.php
+++ b/mod/profile_photo.php
@@ -33,7 +33,7 @@ function profile_photo_set_profile_perms($profileid = '') {
if (intval($profile['is_default']) != 1) {
$r0 = q("SELECT channel_hash FROM channel WHERE channel_id = %d LIMIT 1", intval(local_user()) );
- $r1 = q("SELECT abook.abook_xchan FROM abook WHERE abook_profile = %d ", intval($profile['id'])); //Should not be needed in future. Catches old int-profile-ids.
+ $r1 = q("SELECT abook.abook_xchan FROM abook WHERE abook_profile = '%d' ", intval($profile['id'])); //Should not be needed in future. Catches old int-profile-ids.
$r2 = q("SELECT abook.abook_xchan FROM abook WHERE abook_profile = '%s'", dbesc($profile['profile_guid']));
$allowcid = "<" . $r0[0]['channel_hash'] . ">";
foreach ($r1 as $entry) {
@@ -173,7 +173,7 @@ function profile_photo_post(&$a) {
dbesc($base_image['resource_id']),
intval(local_user())
);
- $r = q("UPDATE photo SET photo_flags = ( photo_flags ^ %d ) WHERE ( photo_flags & %d )
+ $r = q("UPDATE photo SET photo_flags = ( photo_flags & ~%d ) WHERE ( photo_flags & %d )>0
AND resource_id != '%s' AND `uid` = %d",
intval(PHOTO_PROFILE),
intval(PHOTO_PROFILE),
@@ -182,7 +182,7 @@ function profile_photo_post(&$a) {
);
}
else {
- $r = q("update profile set photo = '%s', thumb = '%s' where id = %d and uid = %d limit 1",
+ $r = q("update profile set photo = '%s', thumb = '%s' where id = %d and uid = %d",
dbesc($a->get_baseurl() . '/photo/' . $base_image['resource_id'] . '-4'),
dbesc($a->get_baseurl() . '/photo/' . $base_image['resource_id'] . '-5'),
intval($_REQUEST['profile']),
@@ -196,7 +196,7 @@ function profile_photo_post(&$a) {
$channel = $a->get_channel();
$r = q("UPDATE xchan set xchan_photo_mimetype = '%s', xchan_photo_date = '%s'
- where xchan_hash = '%s' limit 1",
+ where xchan_hash = '%s'",
dbesc($im->getType()),
dbesc(datetime_convert()),
dbesc($channel['xchan_hash'])
@@ -302,7 +302,7 @@ function profile_photo_content(&$a) {
// unset any existing profile photos
$r = q("UPDATE photo SET profile = 0 WHERE profile = 1 AND uid = %d",
intval(local_user()));
- $r = q("UPDATE photo SET photo_flags = (photo_flags ^ %d ) WHERE (photo_flags & %d ) AND uid = %d",
+ $r = q("UPDATE photo SET photo_flags = (photo_flags & ~%d ) WHERE (photo_flags & %d )>0 AND uid = %d",
intval(PHOTO_PROFILE),
intval(PHOTO_PROFILE),
intval(local_user()));
@@ -320,7 +320,7 @@ function profile_photo_content(&$a) {
);
$r = q("UPDATE xchan set xchan_photo_date = '%s'
- where xchan_hash = '%s' limit 1",
+ where xchan_hash = '%s'",
dbesc(datetime_convert()),
dbesc($channel['xchan_hash'])
);
diff --git a/mod/profiles.php b/mod/profiles.php
index 14f24c5cf..fa6a6e35c 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -11,7 +11,7 @@ function profiles_init(&$a) {
if((argc() > 2) && (argv(1) === "drop") && intval(argv(2))) {
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d AND `is_default` = 0 LIMIT 1",
- intval($a->argv[2]),
+ intval(argv(2)),
intval(local_user())
);
if(! count($r)) {
@@ -30,7 +30,7 @@ function profiles_init(&$a) {
dbesc($profile_guid),
intval(local_user())
);
- $r = q("DELETE FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ $r = q("DELETE FROM `profile` WHERE `id` = %d AND `uid` = %d",
intval(argv(2)),
intval(local_user())
);
@@ -156,9 +156,18 @@ function profiles_init(&$a) {
// Run profile_load() here to make sure the theme is set before
// we start loading content
- if((argc() > 1) && (intval(argv(1)))) {
+ if(((argc() > 1) && (intval(argv(1)))) || !feature_enabled(local_user(),'multi_profiles')) {
+ if(feature_enabled(local_user(),'multi_profiles'))
+ $id = $a->argv[1];
+ else {
+ $x = q("select id from profile where uid = %d and is_default = 1",
+ intval(local_user())
+ );
+ if($x)
+ $id = $x[0]['id'];
+ }
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($a->argv[1]),
+ intval($id),
intval(local_user())
);
if(! count($r)) {
@@ -234,6 +243,22 @@ function profiles_post(&$a) {
}
$dob = $_POST['dob'] ? escape_tags(trim($_POST['dob'])) : '0000-00-00'; // FIXME: Needs to be validated?
+
+ $y = substr($dob,0,4);
+ if((! ctype_digit($y)) || ($y < 1900))
+ $ignore_year = true;
+ else
+ $ignore_year = false;
+
+ if($dob != '0000-00-00') {
+ if(strpos($dob,'0000-') === 0) {
+ $ignore_year = true;
+ $dob = substr($dob,5);
+ }
+ $dob = datetime_convert('UTC','UTC',(($ignore_year) ? '1900-' . $dob : $dob),(($ignore_year) ? 'm-d' : 'Y-m-d'));
+ if($ignore_year)
+ $dob = '0000-' . $dob;
+ }
$name = escape_tags(trim($_POST['name']));
@@ -338,7 +363,7 @@ function profiles_post(&$a) {
dbesc($zz['field_name'])
);
if($w) {
- q("update profext set v = '%s' where id = %d limit 1",
+ q("update profext set v = '%s' where id = %d",
dbesc(escape_tags(trim($_POST[$zz['field_name']]))),
intval($w[0]['id'])
);
@@ -453,7 +478,7 @@ function profiles_post(&$a) {
`work` = '%s',
`education` = '%s',
`hide_friends` = %d
- WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ WHERE `id` = %d AND `uid` = %d",
dbesc($profile_name),
dbesc($name),
dbesc($pdesc),
@@ -506,7 +531,7 @@ function profiles_post(&$a) {
$channel = $a->get_channel();
if($namechanged && $is_default) {
- $r = q("UPDATE xchan SET xchan_name = '%s', xchan_name_date = '%s' WHERE xchan_hash = '%s' limit 1",
+ $r = q("UPDATE xchan SET xchan_name = '%s', xchan_name_date = '%s' WHERE xchan_hash = '%s'",
dbesc($name),
dbesc(datetime_convert()),
dbesc($channel['xchan_hash'])
@@ -514,6 +539,8 @@ function profiles_post(&$a) {
}
if($is_default) {
+ // reload the info for the sidebar widget - why does this not work?
+ profile_load($a,$channel['channel_address']);
proc_run('php','include/directory.php',local_user());
}
}
@@ -538,9 +565,18 @@ function profiles_content(&$a) {
$profile_fields_basic = get_profile_fields_basic();
$profile_fields_advanced = get_profile_fields_advanced();
- if((argc() > 1) && (intval(argv(1)))) {
+ if(((argc() > 1) && (intval(argv(1)))) || !feature_enabled(local_user(),'multi_profiles')) {
+ if(feature_enabled(local_user(),'multi_profiles'))
+ $id = $a->argv[1];
+ else {
+ $x = q("select id from profile where uid = %d and is_default = 1",
+ intval(local_user())
+ );
+ if($x)
+ $id = $x[0]['id'];
+ }
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($a->argv[1]),
+ intval($id),
intval(local_user())
);
if(! count($r)) {
@@ -567,14 +603,13 @@ function profiles_content(&$a) {
$fields = $profile_fields_basic;
- $opt_tpl = get_markup_template("profile-hide_friends.tpl");
- $hide_friends = replace_macros($opt_tpl,array(
- '$desc' => t('Hide your contact/friend list from viewers of this profile?'),
- '$yes_str' => t('Yes'),
- '$no_str' => t('No'),
- '$yes_selected' => (($r[0]['hide_friends']) ? " checked=\"checked\" " : ""),
- '$no_selected' => (($r[0]['hide_friends'] == 0) ? " checked=\"checked\" " : "")
- ));
+ $opt_tpl = get_markup_template("profile_hide_friends.tpl");
+ $hide_friends = replace_macros($opt_tpl,array('$field' => array(
+ 'hide-friends',
+ t('Hide your contact/friend list from viewers of this profile?'),
+ $r[0]['hide_friends'],
+ '',
+ )));
$q = q("select * from profdef where true");
if($q) {
@@ -593,7 +628,7 @@ function profiles_content(&$a) {
}
}
-logger('extra_fields: ' . print_r($extra_fields,true));
+//logger('extra_fields: ' . print_r($extra_fields,true));
$f = get_config('system','birthday_input_format');
if(! $f)
diff --git a/mod/profperm.php b/mod/profperm.php
index 197062936..55dc8cc77 100644
--- a/mod/profperm.php
+++ b/mod/profperm.php
@@ -75,13 +75,13 @@ function profperm_content(&$a) {
if($change) {
if(in_array($change,$ingroup)) {
- q("UPDATE abook SET abook_profile = '' WHERE abook_id = %d AND abook_channel = %d LIMIT 1",
+ q("UPDATE abook SET abook_profile = '' WHERE abook_id = %d AND abook_channel = %d",
intval($change),
intval(local_user())
);
}
else {
- q("UPDATE abook SET abook_profile = '%s' WHERE abook_id = %d AND abook_channel = %d LIMIT 1",
+ q("UPDATE abook SET abook_profile = '%s' WHERE abook_id = %d AND abook_channel = %d",
dbesc($profile['profile_guid']),
intval($change),
intval(local_user())
diff --git a/mod/receive.php b/mod/receive.php
index 4071b169b..b7d27d40f 100644
--- a/mod/receive.php
+++ b/mod/receive.php
@@ -31,7 +31,7 @@ function receive_post(&$a) {
// Diaspora sites *may* provide a truncated guid.
- $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_guid like '%s' AND NOT (channel_pageflags & %d ) LIMIT 1",
+ $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_guid like '%s' AND NOT (channel_pageflags & %d )>0 LIMIT 1",
dbesc($guid . '%'),
intval(PAGE_REMOVED)
);
diff --git a/mod/register.php b/mod/register.php
index 0cf1364b5..70bdcf350 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -37,7 +37,9 @@ function register_post(&$a) {
$max_dailies = intval(get_config('system','max_daily_registrations'));
if($max_dailies) {
- $r = q("select count(account_id) as total from account where account_created > UTC_TIMESTAMP() - INTERVAL 1 day");
+ $r = q("select count(account_id) as total from account where account_created > %s - INTERVAL %s",
+ db_utcnow(), db_quoteinterval('1 day')
+ );
if($r && $r[0]['total'] >= $max_dailies) {
notice( t('Maximum daily site registrations exceeded. Please try again tomorrow.') . EOL);
return;
@@ -100,7 +102,7 @@ function register_post(&$a) {
$invite_code = ((x($_POST,'invite_code')) ? notags(trim($_POST['invite_code'])) : '');
if($using_invites && $invite_code) {
- q("delete * from register where hash = '%s' limit 1", dbesc($invite_code));
+ q("delete * from register where hash = '%s'", dbesc($invite_code));
set_pconfig($result['account']['account_id'],'system','invites_remaining',$num_invites);
}
@@ -164,7 +166,9 @@ function register_content(&$a) {
$max_dailies = intval(get_config('system','max_daily_registrations'));
if($max_dailies) {
- $r = q("select count(account_id) as total from account where account_created > UTC_TIMESTAMP() - INTERVAL 1 day");
+ $r = q("select count(account_id) as total from account where account_created > %s - INTERVAL %s",
+ db_utcnow(), db_quoteinterval('1 day')
+ );
if($r && $r[0]['total'] >= $max_dailies) {
logger('max daily registrations exceeded.');
notice( t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.') . EOL);
diff --git a/mod/search.php b/mod/search.php
index 15ac71376..6df9d631a 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -68,7 +68,8 @@ function search_content(&$a,$update = 0, $load = false) {
);
}
else {
- $sql_extra = sprintf(" AND `item`.`body` REGEXP '%s' ", dbesc(protect_sprintf(preg_quote($search))));
+ $regstr = db_getfunc('REGEXP');
+ $sql_extra = sprintf(" AND `item`.`body` $regstr '%s' ", dbesc(protect_sprintf(preg_quote($search))));
}
// Here is the way permissions work in the search module...
@@ -106,6 +107,7 @@ function search_content(&$a,$update = 0, $load = false) {
'$order' => '',
'$file' => '',
'$cats' => '',
+ '$tags' => '',
'$mid' => '',
'$dend' => '',
'$dbegin' => ''
@@ -123,7 +125,7 @@ function search_content(&$a,$update = 0, $load = false) {
if(($update) && ($load)) {
$itemspage = get_pconfig(local_user(),'system','itemspage');
$a->set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
- $pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval($a->pager['itemspage']), intval($a->pager['start']));
// in case somebody turned off public access to sys channel content with permissions
@@ -132,29 +134,36 @@ function search_content(&$a,$update = 0, $load = false) {
if($load) {
$r = null;
-
+
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $prefix = 'distinct on (created, mid)';
+ $suffix = 'ORDER BY created DESC, mid';
+ } else {
+ $prefix = 'distinct';
+ $suffix = 'group by mid ORDER BY created DESC';
+ }
if(local_user()) {
- $r = q("SELECT distinct mid, item.id as item_id, item.* from item
+ $r = q("SELECT $prefix mid, item.id as item_id, item.* from item
WHERE item_restrict = 0
AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND item_private = 0 )
OR ( `item`.`uid` = %d )) OR item.owner_xchan = '%s' )
$sql_extra
- group by mid ORDER BY created DESC $pager_sql ",
+ $suffix $pager_sql ",
intval(local_user()),
dbesc($sys['xchan_hash'])
);
}
if($r === null) {
- $r = q("SELECT distinct mid, item.id as item_id, item.* from item
- WHERE item_restrict = 0
- AND (((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
- AND `item`.`deny_gid` = '' AND item_private = 0 )
- and owner_xchan in ( " . stream_perms_xchans(($observer) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
- $pub_sql ) OR owner_xchan = '%s')
- $sql_extra
- group by mid ORDER BY created DESC $pager_sql",
+ $r = q("SELECT $prefix mid, item.id as item_id, item.* from item
+ WHERE item_restrict = 0
+ AND (((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
+ AND `item`.`deny_gid` = '' AND item_private = 0 )
+ and owner_xchan in ( " . stream_perms_xchans(($observer) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
+ $pub_sql ) OR owner_xchan = '%s')
+ $sql_extra
+ $suffix $pager_sql",
dbesc($sys['xchan_hash'])
- );
+ );
}
}
else {
diff --git a/mod/settings.php b/mod/settings.php
index 58257368e..59ce98a2a 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -122,10 +122,19 @@ function settings_post(&$a) {
if((argc() > 1) && (argv(1) === 'features')) {
check_form_security_token_redirectOnErr('/settings/features', 'settings_features');
- foreach($_POST as $k => $v) {
- if(strpos($k,'feature_') === 0) {
- set_pconfig(local_user(),'feature',substr($k,8),((intval($v)) ? 1 : 0));
- }
+
+ // Build list of features and check which are set
+ $features = get_features();
+ $all_features = array();
+ foreach($features as $k => $v) {
+ foreach($v as $f)
+ $all_features[] = $f[0];
+ }
+ foreach($all_features as $k) {
+ if(x($_POST,"feature_$k"))
+ set_pconfig(local_user(),'feature',$k, 1);
+ else
+ set_pconfig(local_user(),'feature',$k, 0);
}
build_sync_packet();
return;
@@ -140,6 +149,16 @@ function settings_post(&$a) {
$user_scalable = ((x($_POST,'user_scalable')) ? intval($_POST['user_scalable']) : 0);
$nosmile = ((x($_POST,'nosmile')) ? intval($_POST['nosmile']) : 0);
$title_tosource = ((x($_POST,'title_tosource')) ? intval($_POST['title_tosource']) : 0);
+ $channel_list_mode = ((x($_POST,'channel_list_mode')) ? intval($_POST['channel_list_mode']) : 0);
+ $network_list_mode = ((x($_POST,'network_list_mode')) ? intval($_POST['network_list_mode']) : 0);
+
+ $channel_divmore_height = ((x($_POST,'channel_divmore_height')) ? intval($_POST['channel_divmore_height']) : 400);
+ if($channel_divmore_height < 50)
+ $channel_divmore_height = 50;
+ $network_divmore_height = ((x($_POST,'network_divmore_height')) ? intval($_POST['network_divmore_height']) : 400);
+ if($network_divmore_height < 50)
+ $network_divmore_height = 50;
+
$browser_update = ((x($_POST,'browser_update')) ? intval($_POST['browser_update']) : 0);
$browser_update = $browser_update * 1000;
if($browser_update < 10000)
@@ -150,7 +169,9 @@ function settings_post(&$a) {
$itemspage = 100;
- if($mobile_theme !== '') {
+ if ($mobile_theme == "---")
+ del_pconfig(local_user(),'system','mobile_theme');
+ else {
set_pconfig(local_user(),'system','mobile_theme',$mobile_theme);
}
@@ -159,6 +180,10 @@ function settings_post(&$a) {
set_pconfig(local_user(),'system','itemspage', $itemspage);
set_pconfig(local_user(),'system','no_smilies',$nosmile);
set_pconfig(local_user(),'system','title_tosource',$title_tosource);
+ set_pconfig(local_user(),'system','channel_list_mode', $channel_list_mode);
+ set_pconfig(local_user(),'system','network_list_mode', $network_list_mode);
+ set_pconfig(local_user(),'system','channel_divmore_height', $channel_divmore_height);
+ set_pconfig(local_user(),'system','network_divmore_height', $network_divmore_height);
if ($theme == $a->channel['channel_theme']){
// call theme_post only if theme has not been changed
@@ -168,7 +193,7 @@ function settings_post(&$a) {
}
}
- $r = q("UPDATE channel SET channel_theme = '%s' WHERE channel_id = %d LIMIT 1",
+ $r = q("UPDATE channel SET channel_theme = '%s' WHERE channel_id = %d",
dbesc($theme),
intval(local_user())
);
@@ -205,7 +230,7 @@ function settings_post(&$a) {
$salt = random_string(32);
$password_encoded = hash('whirlpool', $salt . $newpass);
$r = q("update account set account_salt = '%s', account_password = '%s', account_password_changed = '%s'
- where account_id = %d limit 1",
+ where account_id = %d",
dbesc($salt),
dbesc($password_encoded),
dbesc(datetime_convert()),
@@ -235,7 +260,7 @@ function settings_post(&$a) {
$email = $a->user['email'];
}
if(! $errs) {
- $r = q("update account set account_email = '%s' where account_id = %d limit 1",
+ $r = q("update account set account_email = '%s' where account_id = %d",
dbesc($email),
intval($account['account_id'])
);
@@ -267,7 +292,7 @@ function settings_post(&$a) {
$hide_presence = (((x($_POST,'hide_presence')) && (intval($_POST['hide_presence']) == 1)) ? 1: 0);
$publish = (((x($_POST,'profile_in_directory')) && (intval($_POST['profile_in_directory']) == 1)) ? 1: 0);
$def_group = ((x($_POST,'group-selection')) ? notags(trim($_POST['group-selection'])) : '');
- $r = q("update channel set channel_default_group = '%s' where channel_id = %d limit 1",
+ $r = q("update channel set channel_default_group = '%s' where channel_id = %d",
dbesc($def_group),
intval(local_user())
);
@@ -283,7 +308,7 @@ function settings_post(&$a) {
$str_group_deny = perms2str($_POST['group_deny']);
$str_contact_deny = perms2str($_POST['contact_deny']);
$r = q("update channel set channel_allow_cid = '%s', channel_allow_gid = '%s', channel_deny_cid = '%s', channel_deny_gid = '%s'
- where channel_id = %d limit 1",
+ where channel_id = %d",
dbesc($str_contact_allow),
dbesc($str_group_allow),
dbesc($str_contact_deny),
@@ -313,7 +338,7 @@ function settings_post(&$a) {
);
}
if($r) {
- q("update channel set channel_default_group = '%s', channel_allow_gid = '%s', channel_allow_cid = '', channel_deny_gid = '', channel_deny_cid = '' where channel_id = %d limit 1",
+ q("update channel set channel_default_group = '%s', channel_allow_gid = '%s', channel_allow_cid = '', channel_deny_gid = '', channel_deny_cid = '' where channel_id = %d",
dbesc($r[0]['hash']),
dbesc('<' . $r[0]['hash'] . '>'),
intval(local_user())
@@ -327,16 +352,17 @@ function settings_post(&$a) {
// no default collection
else {
q("update channel set channel_default_group = '', channel_allow_gid = '', channel_allow_cid = '', channel_deny_gid = '',
- channel_deny_cid = '' where channel_id = %d limit 1",
+ channel_deny_cid = '' where channel_id = %d",
intval(local_user())
);
}
- $r = q("update abook set abook_my_perms = %d where abook_channel = %d and (abook_flags & %d) limit 1",
+ $r = q("update abook set abook_my_perms = %d where abook_channel = %d and (abook_flags & %d)>0",
intval(($role_permissions['perms_auto']) ? intval($role_permissions['perms_accept']) : 0),
intval(local_user()),
intval(ABOOK_FLAG_SELF)
);
+ set_pconfig(local_user(),'system','autoperms',(($role_permissions['perms_auto']) ? intval($role_permissions['perms_accept']) : 0));
foreach($role_permissions as $p => $v) {
if(strpos($p,'channel_') !== false) {
@@ -358,6 +384,8 @@ function settings_post(&$a) {
$openid = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url'])) : '');
$maxreq = ((x($_POST,'maxreq')) ? intval($_POST['maxreq']) : 0);
$expire = ((x($_POST,'expire')) ? intval($_POST['expire']) : 0);
+ $evdays = ((x($_POST,'evdays')) ? intval($_POST['evdays']) : 3);
+
$channel_menu = ((x($_POST['channel_menu'])) ? htmlspecialchars_decode(trim($_POST['channel_menu']),ENT_QUOTES) : '');
$expire_items = ((x($_POST,'expire_items')) ? intval($_POST['expire_items']) : 0);
@@ -404,6 +432,34 @@ function settings_post(&$a) {
if(x($_POST,'notify8'))
$notify += intval($_POST['notify8']);
+
+ $vnotify = 0;
+
+ if(x($_POST,'vnotify1'))
+ $vnotify += intval($_POST['vnotify1']);
+ if(x($_POST,'vnotify2'))
+ $vnotify += intval($_POST['vnotify2']);
+ if(x($_POST,'vnotify3'))
+ $vnotify += intval($_POST['vnotify3']);
+ if(x($_POST,'vnotify4'))
+ $vnotify += intval($_POST['vnotify4']);
+ if(x($_POST,'vnotify5'))
+ $vnotify += intval($_POST['vnotify5']);
+ if(x($_POST,'vnotify6'))
+ $vnotify += intval($_POST['vnotify6']);
+ if(x($_POST,'vnotify7'))
+ $vnotify += intval($_POST['vnotify7']);
+ if(x($_POST,'vnotify8'))
+ $vnotify += intval($_POST['vnotify8']);
+ if(x($_POST,'vnotify9'))
+ $vnotify += intval($_POST['vnotify9']);
+ if(x($_POST,'vnotify10'))
+ $vnotify += intval($_POST['vnotify10']);
+ if(x($_POST,'vnotify11'))
+ $vnotify += intval($_POST['vnotify11']);
+
+ $always_show_in_notices = x($_POST,'always_show_in_notices') ? 1 : 0;
+
$channel = $a->get_channel();
$err = '';
@@ -432,8 +488,11 @@ function settings_post(&$a) {
set_pconfig(local_user(),'system','post_profilechange', $post_profilechange);
set_pconfig(local_user(),'system','blocktags',$blocktags);
set_pconfig(local_user(),'system','channel_menu',$channel_menu);
+ set_pconfig(local_user(),'system','vnotify',$vnotify);
+ set_pconfig(local_user(),'system','always_show_in_notices',$always_show_in_notices);
+ set_pconfig(local_user(),'system','evdays',$evdays);
- $r = q("update channel set channel_name = '%s', channel_pageflags = %d, channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d $set_perms where channel_id = %d limit 1",
+ $r = q("update channel set channel_name = '%s', channel_pageflags = %d, channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d $set_perms where channel_id = %d",
dbesc($username),
intval($pageflags),
dbesc($timezone),
@@ -448,14 +507,14 @@ function settings_post(&$a) {
info( t('Settings updated.') . EOL);
if(! is_null($publish)) {
- $r = q("UPDATE profile SET publish = %d WHERE is_default = 1 AND uid = %d LIMIT 1",
+ $r = q("UPDATE profile SET publish = %d WHERE is_default = 1 AND uid = %d",
intval($publish),
intval(local_user())
);
}
if($name_change) {
- $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s' where xchan_hash = '%s' limit 1",
+ $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s' where xchan_hash = '%s'",
dbesc($username),
dbesc(datetime_convert()),
dbesc($channel['channel_hash'])
@@ -657,7 +716,6 @@ function settings_content(&$a) {
'$title' => t('Additional Features'),
'$features' => $arr,
'$submit' => t('Submit'),
- '$field_yesno' => 'field_yesno.tpl',
));
return $o;
@@ -691,6 +749,7 @@ function settings_content(&$a) {
/*
* DISPLAY SETTINGS
*/
+
if((argc() > 1) && (argv(1) === 'display')) {
$default_theme = get_config('system','theme');
if(! $default_theme)
@@ -709,7 +768,6 @@ function settings_content(&$a) {
$themes = array();
- $mobile_themes = array("---" => t('No special theme for mobile devices'));
$files = glob('view/theme/*');
if($allowed_themes) {
foreach($allowed_themes as $th) {
@@ -717,15 +775,21 @@ function settings_content(&$a) {
$is_experimental = file_exists('view/theme/' . $th . '/experimental');
$unsupported = file_exists('view/theme/' . $th . '/unsupported');
$is_mobile = file_exists('view/theme/' . $th . '/mobile');
+ $is_library = file_exists('view/theme/'. $th . '/library');
+ $mobile_themes["---"] = t("No special theme for mobile devices");
+
if (!$is_experimental or ($is_experimental && (get_config('experimentals','exp_themes')==1 or get_config('experimentals','exp_themes')===false))){
$theme_name = (($is_experimental) ? sprintf(t('%s - (Experimental)'), $f) : $f);
- if($is_mobile) {
- $mobile_themes[$f]=$theme_name;
- }
- else {
- $themes[$f]=$theme_name;
+ if (! $is_library) {
+ if($is_mobile) {
+ $mobile_themes[$f] = $themes[$f] = $theme_name . ' (' . t('mobile') . ')';
+ }
+ else {
+ $mobile_themes[$f] = $themes[$f] = $theme_name;
+ }
}
}
+
}
}
$theme_selected = (!x($_SESSION,'theme')? $default_theme : $_SESSION['theme']);
@@ -770,6 +834,12 @@ function settings_content(&$a) {
'$layout_editor' => t('System Page Layout Editor - (advanced)'),
'$theme_config' => $theme_config,
'$expert' => feature_enabled(local_user(),'expert'),
+ '$channel_list_mode' => array('channel_list_mode', t('Use blog/list mode on channel page'), get_pconfig(local_user(),'system','channel_list_mode'), t('(comments displayed separately)')),
+ '$network_list_mode' => array('network_list_mode', t('Use blog/list mode on matrix page'), get_pconfig(local_user(),'system','network_list_mode'), t('(comments displayed separately)')),
+ '$channel_divmore_height' => array('channel_divmore_height', t('Channel page max height of content (in pixels)'), ((get_pconfig(local_user(),'system','channel_divmore_height')) ? get_pconfig(local_user(),'system','channel_divmore_height') : 400), t('click to expand content exceeding this height')),
+ '$network_divmore_height' => array('network_divmore_height', t('Matrix page max height of content (in pixels)'), ((get_pconfig(local_user(),'system','network_divmore_height')) ? get_pconfig(local_user(),'system','network_divmore_height') : 400) , t('click to expand content exceeding this height')),
+
+
));
return $o;
@@ -876,7 +946,7 @@ function settings_content(&$a) {
$timezone = date_default_timezone_get();
- $opt_tpl = get_markup_template("field_yesno.tpl");
+ $opt_tpl = get_markup_template("field_checkbox.tpl");
if(get_config('system','publish_all')) {
$profile_in_dir = '<input type="hidden" name="profile_in_directory" value="1" />';
}
@@ -929,9 +999,16 @@ function settings_content(&$a) {
}
}
+ $evdays = get_pconfig(local_user(),'system','evdays');
+ if(! $evdays)
+ $evdays = 3;
$permissions_role = get_pconfig(local_user(),'system','permissions_role');
$permissions_set = (($permissions_role && $permissions_role != 'custom') ? true : false);
+ $vnotify = get_pconfig(local_user(),'system','vnotify');
+ $always_show_in_notices = get_pconfig(local_user(),'system','always_show_in_notices');
+ if($vnotify === false)
+ $vnotify = (-1);
$o .= replace_macros($stpl,array(
'$ptitle' => t('Channel Settings'),
@@ -941,12 +1018,10 @@ function settings_content(&$a) {
'$uid' => local_user(),
'$form_security_token' => get_form_security_token("settings"),
'$nickname_block' => $prof_addr,
-
-
'$h_basic' => t('Basic Settings'),
'$username' => array('username', t('Full Name:'), $username,''),
'$email' => array('email', t('Email Address:'), $email, ''),
- '$timezone' => array('timezone_select' , t('Your Timezone:'), select_timezone($timezone), ''),
+ '$timezone' => array('timezone_select' , t('Your Timezone:'), $timezone, '', get_timezones()),
'$defloc' => array('defloc', t('Default Post Location:'), $defloc, t('Geographical location to display on your posts')),
'$allowloc' => array('allow_location', t('Use Browser Location:'), ((get_pconfig(local_user(),'system','use_browser_location')) ? 1 : ''), ''),
@@ -975,9 +1050,7 @@ function settings_content(&$a) {
'$aclselect' => populate_acl($perm_defaults,false),
'$suggestme' => $suggestme,
'$group_select' => $group_select,
- '$role_lbl' => t('Channel permissions category:'),
-
- '$role_select' => role_selector($permissions_role),
+ '$role' => array('permissions_role' , t('Channel permissions category:'), $permissions_role, '', get_roles()),
'$profile_in_dir' => $profile_in_dir,
'$hide_friends' => $hide_friends,
@@ -1001,7 +1074,24 @@ function settings_content(&$a) {
'$notify7' => array('notify7', t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, ''),
'$notify8' => array('notify8', t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''),
-
+
+ '$lbl_vnot' => t('Show visual notifications including:'),
+
+ '$vnotify1' => array('vnotify1', t('Unseen matrix activity'), ($vnotify & VNOTIFY_NETWORK), VNOTIFY_NETWORK, ''),
+ '$vnotify2' => array('vnotify2', t('Unseen channel activity'), ($vnotify & VNOTIFY_CHANNEL), VNOTIFY_CHANNEL, ''),
+ '$vnotify3' => array('vnotify3', t('Unseen private messages'), ($vnotify & VNOTIFY_MAIL), VNOTIFY_MAIL, t('Recommended')),
+ '$vnotify4' => array('vnotify4', t('Upcoming events'), ($vnotify & VNOTIFY_EVENT), VNOTIFY_EVENT, ''),
+ '$vnotify5' => array('vnotify5', t('Events today'), ($vnotify & VNOTIFY_EVENTTODAY), VNOTIFY_EVENTTODAY, ''),
+ '$vnotify6' => array('vnotify6', t('Upcoming birthdays'), ($vnotify & VNOTIFY_BIRTHDAY), VNOTIFY_BIRTHDAY, t('Not available in all themes')),
+ '$vnotify7' => array('vnotify7', t('System (personal) notifications'), ($vnotify & VNOTIFY_SYSTEM), VNOTIFY_SYSTEM, ''),
+ '$vnotify8' => array('vnotify8', t('System info messages'), ($vnotify & VNOTIFY_INFO), VNOTIFY_INFO, t('Recommended')),
+ '$vnotify9' => array('vnotify9', t('System critical alerts'), ($vnotify & VNOTIFY_ALERT), VNOTIFY_ALERT, t('Recommended')),
+ '$vnotify10' => array('vnotify10', t('New connections'), ($vnotify & VNOTIFY_INTRO), VNOTIFY_INTRO, t('Recommended')),
+ '$vnotify11' => array('vnotify11', t('System Registrations'), ($vnotify & VNOTIFY_REGISTER), VNOTIFY_REGISTER, ''),
+ '$always_show_in_notices' => array('always_show_in_notices', t('Also show new wall posts, private messages and connections under Notices'), $always_show_in_notices, 1, ''),
+
+ '$evdays' => array('evdays', t('Notify me of events this many days in advance'), $evdays, t('Must be greater than 0')),
+
'$h_advn' => t('Advanced Account/Page Type Settings'),
'$h_descadvn' => t('Change the behaviour of this account for special situations'),
'$pagetype' => $pagetype,
diff --git a/mod/setup.php b/mod/setup.php
index a8f3a1f47..6f2c7c074 100755
--- a/mod/setup.php
+++ b/mod/setup.php
@@ -50,16 +50,18 @@ function setup_post(&$a) {
$dbuser = trim($_POST['dbuser']);
$dbpass = trim($_POST['dbpass']);
$dbdata = trim($_POST['dbdata']);
+ $dbtype = intval(trim($_POST['dbtype']));
$phpath = trim($_POST['phpath']);
$adminmail = trim($_POST['adminmail']);
$siteurl = trim($_POST['siteurl']);
require_once('include/dba/dba_driver.php');
unset($db);
- $db = dba_factory($dbhost, $dbport, $dbuser, $dbpass, $dbdata, true);
+ $db = dba_factory($dbhost, $dbport, $dbuser, $dbpass, $dbdata, $dbtype, true);
if(! $db->connected) {
echo "Database Connect failed: " . $db->error;
killme();
+ $a->data['db_conn_failed']=true;
}
/*if(get_db_errno()) {
unset($db);
@@ -80,9 +82,9 @@ function setup_post(&$a) {
return;
}
}*/
- if(get_db_errno()) {
- $a->data['db_conn_failed']=true;
- }
+ //if(get_db_errno()) {
+
+ //}
return;
break;
@@ -93,6 +95,7 @@ function setup_post(&$a) {
$dbuser = notags(trim($_POST['dbuser']));
$dbpass = notags(trim($_POST['dbpass']));
$dbdata = notags(trim($_POST['dbdata']));
+ $dbtype = intval(notags(trim($_POST['dbtype'])));
$phpath = notags(trim($_POST['phpath']));
$timezone = notags(trim($_POST['timezone']));
$adminmail = notags(trim($_POST['adminmail']));
@@ -109,7 +112,7 @@ function setup_post(&$a) {
}
// connect to db
- $db = dba_factory($dbhost, $dbport, $dbuser, $dbpass, $dbdata, true);
+ $db = dba_factory($dbhost, $dbport, $dbuser, $dbpass, $dbdata, $dbtype, true);
if(! $db->connected) {
echo 'CRITICAL: DB not connected.';
@@ -123,6 +126,7 @@ function setup_post(&$a) {
'$dbuser' => $dbuser,
'$dbpass' => $dbpass,
'$dbdata' => $dbdata,
+ '$dbtype' => $dbtype,
'$timezone' => $timezone,
'$siteurl' => $siteurl,
'$site_id' => random_string(),
@@ -187,7 +191,7 @@ function setup_content(&$a) {
}
if(x($a->data,'db_failed')) {
- $txt = t('You may need to import the file "install/database.sql" manually using phpmyadmin or mysql.') . EOL;
+ $txt = t('You may need to import the file "install/schema_xxx.sql" manually using a database client.') . EOL;
$txt .= t('Please see the file "install/INSTALL.txt".') . EOL ."<hr>" ;
$txt .= "<pre>".$a->data['db_failed'] . "</pre>". EOL ;
$db_return_text .= $txt;
@@ -273,6 +277,7 @@ function setup_content(&$a) {
$dbport = intval(notags(trim($_POST['dbport'])));
$dbpass = notags(trim($_POST['dbpass']));
$dbdata = notags(trim($_POST['dbdata']));
+ $dbtype = intval(notags(trim($_POST['dbtype'])));
$phpath = notags(trim($_POST['phpath']));
$adminmail = notags(trim($_POST['adminmail']));
$siteurl = notags(trim($_POST['siteurl']));
@@ -293,6 +298,7 @@ function setup_content(&$a) {
'$dbuser' => array('dbuser', t('Database Login Name'), $dbuser, ''),
'$dbpass' => array('dbpass', t('Database Login Password'), $dbpass, ''),
'$dbdata' => array('dbdata', t('Database Name'), $dbdata, ''),
+ '$dbtype' => array('dbtype', t('Database Type'), $dbtype, '', array( 0=>'MySQL', 1=>'PostgreSQL' )),
'$adminmail' => array('adminmail', t('Site administrator email address'), $adminmail, t('Your account email address must match this in order to use the web admin panel.')),
'$siteurl' => array('siteurl', t('Website URL'), z_root(), t('Please use SSL (https) URL if available.')),
@@ -316,6 +322,7 @@ function setup_content(&$a) {
$dbuser = notags(trim($_POST['dbuser']));
$dbpass = notags(trim($_POST['dbpass']));
$dbdata = notags(trim($_POST['dbdata']));
+ $dbtype = intval(notags(trim($_POST['dbtype'])));
$phpath = notags(trim($_POST['phpath']));
$adminmail = notags(trim($_POST['adminmail']));
@@ -335,13 +342,14 @@ function setup_content(&$a) {
'$dbpass' => $dbpass,
'$dbdata' => $dbdata,
'$phpath' => $phpath,
+ '$dbtype' => $dbtype,
'$adminmail' => array('adminmail', t('Site administrator email address'), $adminmail, t('Your account email address must match this in order to use the web admin panel.')),
'$siteurl' => array('siteurl', t('Website URL'), z_root(), t('Please use SSL (https) URL if available.')),
- '$timezone' => field_timezone('timezone', t('Please select a default timezone for your website'), $timezone, ''),
+ '$timezone' => array('timezone', t('Please select a default timezone for your website'), $timezone, '', get_timezones()),
'$baseurl' => $a->get_baseurl(),
@@ -440,7 +448,7 @@ function check_funcs(&$checks) {
check_add($ck_funcs, t('libCurl PHP module'), true, true, "");
check_add($ck_funcs, t('GD graphics PHP module'), true, true, "");
check_add($ck_funcs, t('OpenSSL PHP module'), true, true, "");
- check_add($ck_funcs, t('mysqli PHP module'), true, true, "");
+ check_add($ck_funcs, t('mysqli or postgres PHP module'), true, true, "");
check_add($ck_funcs, t('mb_string PHP module'), true, true, "");
check_add($ck_funcs, t('mcrypt PHP module'), true, true, "");
@@ -471,9 +479,9 @@ function check_funcs(&$checks) {
$ck_funcs[2]['status']= false;
$ck_funcs[2]['help']= t('Error: openssl PHP module required but not installed.');
}
- if(! function_exists('mysqli_connect')){
+ if(! function_exists('mysqli_connect') && !function_exists('pg_connect')){
$ck_funcs[3]['status']= false;
- $ck_funcs[3]['help']= t('Error: mysqli PHP module required but not installed.');
+ $ck_funcs[3]['help']= t('Error: mysqli or postgres PHP module required but neither are installed.');
}
if(! function_exists('mb_strlen')){
$ck_funcs[4]['status']= false;
@@ -579,7 +587,7 @@ function check_htaccess(&$checks) {
if ((! $test['success']) || ($test['body'] != "ok")) {
$status = false;
- $help = t('Url rewrite in .htaccess is not working. Check your server configuration.');
+ $help = t('Url rewrite in .htaccess is not working. Check your server configuration.'.'Test: '.var_export($test,true));
}
check_add($checks, t('Url rewrite is working'), $status, true, $help);
} else {
@@ -607,8 +615,8 @@ function load_database_rem($v, $i){
function load_database($db) {
-
- $str = file_get_contents('install/database.sql');
+ file_put_contents('debug-foo.log', 'Loading schema: '.$db->get_install_script());
+ $str = file_get_contents($db->get_install_script());
$arr = explode(';',$str);
$errors = false;
foreach($arr as $a) {
diff --git a/mod/siteinfo.php b/mod/siteinfo.php
index a58f17c53..01804e62a 100644
--- a/mod/siteinfo.php
+++ b/mod/siteinfo.php
@@ -1,14 +1,15 @@
<?php
function siteinfo_init(&$a) {
-
+ global $db;
+
if ($a->argv[1]=="json"){
$register_policy = Array('REGISTER_CLOSED', 'REGISTER_APPROVE', 'REGISTER_OPEN');
$directory_mode = Array('DIRECTORY_MODE_NORMAL', 'DIRECTORY_MODE_SECONDARY','DIRECTORY_MODE_PRIMARY', 'DIRECTORY_MODE_STANDALONE');
$sql_extra = '';
- $r = q("select * from channel left join account on account_id = channel_account_id where ( account_roles & 4096 ) and account_default_channel = channel_id");
+ $r = q("select * from channel left join account on account_id = channel_account_id where ( account_roles & 4096 )>0 and account_default_channel = channel_id");
if($r) {
@@ -71,6 +72,8 @@ function siteinfo_init(&$a) {
'admin' => $admin,
'site_name' => (($site_name) ? $site_name : ''),
'platform' => RED_PLATFORM,
+ 'dbdriver' => $db->getdriver(),
+ 'lastpoll' => get_config('system','lastpoll'),
'info' => (($site_info) ? $site_info : ''),
'channels_total' => $channels_total_stat,
'channels_active_halfyear' => $channels_active_halfyear_stat,
@@ -132,10 +135,13 @@ function siteinfo_content(&$a) {
'$title' => t('Red'),
'$description' => t('This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites.'),
'$version' => $version,
+ '$tag_txt' => t('Tag: '),
'$tag' => $tag,
+ '$polled' => t('Last background fetch: '),
+ '$lastpoll' => get_poller_runtime(),
'$commit' => $commit,
'$web_location' => t('Running at web location') . ' ' . z_root(),
- '$visit' => t('Please visit <a href="http://getzot.com">GetZot.com</a> to learn more about the Red Matrix.'),
+ '$visit' => t('Please visit <a href="https://redmatrix.me">RedMatrix.me</a> to learn more about the Red Matrix.'),
'$bug_text' => t('Bug reports and issues: please visit'),
'$bug_link_url' => 'https://github.com/friendica/red/issues',
'$bug_link_text' => 'redmatrix issues',
diff --git a/mod/smilies.php b/mod/smilies.php
index c47f95da7..b22d0c6d2 100644
--- a/mod/smilies.php
+++ b/mod/smilies.php
@@ -1,3 +1,15 @@
<?php
-function smilies_content(&$a) { return smilies('',true); }
+function smilies_content(&$a) {
+ if ($a->argv[1]==="json"){
+ $tmp = list_smilies();
+ $results = array();
+ for($i = 0; $i < count($tmp['texts']); $i++) {
+ $results[] = array('text' => $tmp['texts'][$i], 'icon' => $tmp['icons'][$i]);
+ }
+ json_return_and_die($results);
+ }
+ else {
+ return smilies('',true);
+ }
+}
diff --git a/mod/sources.php b/mod/sources.php
index f4b36508f..73d78bbbf 100644
--- a/mod/sources.php
+++ b/mod/sources.php
@@ -47,7 +47,7 @@ function sources_post(&$a) {
goaway(z_root() . '/sources');
}
else {
- $r = q("update source set src_xchan = '%s', src_patt = '%s' where src_channel_id = %d and src_id = %d limit 1",
+ $r = q("update source set src_xchan = '%s', src_patt = '%s' where src_channel_id = %d and src_id = %d",
dbesc($xchan),
dbesc($words),
intval(local_user()),
@@ -150,7 +150,7 @@ function sources_content(&$a) {
notice( t('Source not found.') . EOL);
return '';
}
- $r = q("delete from source where src_id = %d and src_channel_id = %d limit 1",
+ $r = q("delete from source where src_id = %d and src_channel_id = %d",
intval(argv(1)),
intval(local_user())
);
diff --git a/mod/sslify.php b/mod/sslify.php
index ed06d87c1..f37a8e23e 100644
--- a/mod/sslify.php
+++ b/mod/sslify.php
@@ -3,7 +3,7 @@
function sslify_init(&$a) {
$x = z_fetch_url($_REQUEST['url']);
if($x['success']) {
- $h = explode("\n",$x['headers']);
+ $h = explode("\n",$x['header']);
foreach ($h as $l) {
list($k,$v) = array_map("trim", explode(":", trim($l), 2));
$hdrs[$k] = $v;
diff --git a/mod/starred.php b/mod/starred.php
index ca7621b0f..05b45bea3 100644
--- a/mod/starred.php
+++ b/mod/starred.php
@@ -21,7 +21,7 @@ function starred_init(&$a) {
$item_flags = ( $r[0]['item_flags'] ^ ITEM_STARRED );
- $r = q("UPDATE item SET item_flags = %d WHERE uid = %d and id = %d LIMIT 1",
+ $r = q("UPDATE item SET item_flags = %d WHERE uid = %d and id = %d",
intval($item_flags),
intval(local_user()),
intval($message_id)
diff --git a/mod/subthread.php b/mod/subthread.php
index 5ef0615b1..f0f54f4a6 100755
--- a/mod/subthread.php
+++ b/mod/subthread.php
@@ -228,7 +228,7 @@ EOT;
$post_id = $post['item_id'];
if(! $item['visible']) {
- $r = q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ $r = q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d AND `uid` = %d",
intval($item['id']),
intval($owner_uid)
);
diff --git a/mod/thing.php b/mod/thing.php
index c12976f22..f53a6ab7b 100644
--- a/mod/thing.php
+++ b/mod/thing.php
@@ -85,7 +85,7 @@ function thing_init(&$a) {
else
$local_photo = $orig_record['imgurl'];
- $r = q("update term set term = '%s', url = '%s', imgurl = '%s' where term_hash = '%s' and uid = %d limit 1",
+ $r = q("update term set term = '%s', url = '%s', imgurl = '%s' where term_hash = '%s' and uid = %d",
dbesc($name),
dbesc(($url) ? $url : z_root() . '/thing/' . $term_hash),
dbesc($local_photo),
@@ -301,12 +301,12 @@ function thing_content(&$a) {
}
- $x = q("delete from obj where obj_obj = '%s' and obj_type = %d and obj_channel = %d limit 1",
+ $x = q("delete from obj where obj_obj = '%s' and obj_type = %d and obj_channel = %d",
dbesc($thing_hash),
intval(TERM_OBJ_THING),
intval(local_user())
);
- $x = q("delete from term where term_hash = '%s' and uid = %d limit 1",
+ $x = q("delete from term where term_hash = '%s' and uid = %d",
dbesc($thing_hash),
intval(local_user())
);
diff --git a/mod/uexport.php b/mod/uexport.php
index 6304115c8..250a001a2 100644
--- a/mod/uexport.php
+++ b/mod/uexport.php
@@ -4,22 +4,37 @@ function uexport_init(&$a) {
if(! local_user())
killme();
- $channel = $a->get_channel();
+ if(argc() > 1) {
+ $channel = $a->get_channel();
- require_once('include/identity.php');
+ require_once('include/identity.php');
- header('content-type: application/octet_stream');
- header('content-disposition: attachment; filename="' . $channel['channel_address'] . '.json"' );
+ header('content-type: application/octet_stream');
+ header('content-disposition: attachment; filename="' . $channel['channel_address'] . '.json"' );
- if(argc() > 1 && argv(1) === 'basic') {
- echo json_encode(identity_basic_export(local_user()));
- killme();
- }
+ if(argc() > 1 && argv(1) === 'basic') {
+ echo json_encode(identity_basic_export(local_user()));
+ killme();
+ }
- if(argc() > 1 && argv(1) === 'complete') {
- echo json_encode(identity_basic_export(local_user(),true));
- killme();
+ // FIXME - this basically doesn't work in the wild with a channel more than a few months old due to memory and execution time limits.
+ // It probably needs to be built at the CLI and offered to download as a tarball. Maybe stored in the members dav.
+
+ if(argc() > 1 && argv(1) === 'complete') {
+ echo json_encode(identity_basic_export(local_user(),true));
+ killme();
+ }
}
+}
-} \ No newline at end of file
+function uexport_content(&$a) {
+ $o = replace_macros(get_markup_template('uexport.tpl'), array(
+ '$title' => t('Export Channel'),
+ '$basictitle' => t('Export Channel'),
+ '$basic' => t('Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but does not contain your content.'),
+ '$fulltitle' => t('Export Content'),
+ '$full' => t('Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin.')
+ ));
+return $o;
+}
diff --git a/mod/update_home.php b/mod/update_home.php
new file mode 100644
index 000000000..c139682e1
--- /dev/null
+++ b/mod/update_home.php
@@ -0,0 +1,38 @@
+<?php
+
+// See update_profile.php for documentation
+
+require_once('mod/home.php');
+
+function update_home_content(&$a) {
+
+ $profile_uid = ((intval($_GET['p'])) ? intval($_GET['p']) : (-1));
+ $load = (((argc() > 1) && (argv(1) == 'load')) ? 1 : 0);
+ header("Content-type: text/html");
+ echo "<!DOCTYPE html><html><body>\r\n";
+ echo ((array_key_exists('msie',$_GET) && $_GET['msie'] == 1) ? '<div>' : '<section>');
+
+ $text = home_content($a,$profile_uid, $load);
+ $pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
+ $replace = "<img\${1} dst=\"\${2}\"";
+ $text = preg_replace($pattern, $replace, $text);
+
+ if(! $load) {
+ $replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
+ $pattern = "/<\s*audio[^>]*>(.*?)<\s*\/\s*audio>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*video[^>]*>(.*?)<\s*\/\s*video>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*embed[^>]*>(.*?)<\s*\/\s*embed>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ $pattern = "/<\s*iframe[^>]*>(.*?)<\s*\/\s*iframe>/i";
+ $text = preg_replace($pattern, $replace, $text);
+ }
+
+ echo str_replace("\t",' ',$text);
+ echo ((array_key_exists('msie',$_GET) && $_GET['msie'] == 1) ? '</div>' : '</section>');
+ echo "</body></html>\r\n";
+// logger('update_home: ' . $text);
+ killme();
+
+} \ No newline at end of file
diff --git a/mod/viewconnections.php b/mod/viewconnections.php
index 40ce28efe..40d26c823 100644
--- a/mod/viewconnections.php
+++ b/mod/viewconnections.php
@@ -37,7 +37,7 @@ function viewconnections_content(&$a) {
$xchan_flags = $xchan_flags | XCHAN_FLAGS_HIDDEN;
}
- $r = q("SELECT count(*) as total FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d ) and not ( xchan_flags & %d ) ",
+ $r = q("SELECT count(*) as total FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d )>0 and not ( xchan_flags & %d )>0 ",
intval($a->profile['uid']),
intval($abook_flags),
intval($xchan_flags)
@@ -46,12 +46,12 @@ function viewconnections_content(&$a) {
$a->set_pager_total($r[0]['total']);
}
- $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not ( abook_flags & %d ) and not ( xchan_flags & %d ) order by xchan_name LIMIT %d , %d ",
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not ( abook_flags & %d )>0 and not ( xchan_flags & %d )>0 order by xchan_name LIMIT %d OFFSET %d ",
intval($a->profile['uid']),
intval($abook_flags),
intval($xchan_flags),
- intval($a->pager['start']),
- intval($a->pager['itemspage'])
+ intval($a->pager['itemspage']),
+ intval($a->pager['start'])
);
if(! $r) {
diff --git a/mod/wall_upload.php b/mod/wall_upload.php
index f83f4f7cf..7ed1859a8 100644
--- a/mod/wall_upload.php
+++ b/mod/wall_upload.php
@@ -8,6 +8,7 @@ require_once('include/photos.php');
function wall_upload_post(&$a) {
+
$using_api = ((x($_FILES,'media')) ? true : false);
if($using_api) {
@@ -43,10 +44,6 @@ function wall_upload_post(&$a) {
killme();
}
- $m = $ret['body'];
-
-
-
if($using_api)
return("\n\n" . $ret['body'] . "\n\n");
else
diff --git a/mod/webpages.php b/mod/webpages.php
index a5cfd00e6..baddebec8 100644
--- a/mod/webpages.php
+++ b/mod/webpages.php
@@ -1,37 +1,64 @@
<?php
-function webpages_content(&$a) {
+require_once('include/identity.php');
+require_once('include/conversation.php');
+require_once('include/acl_selectors.php');
+
+function webpages_init(&$a) {
+
+ if(argc() > 1 && argv(1) === 'sys' && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $a->is_sys = true;
+ }
+ }
if(argc() > 1)
$which = argv(1);
- else {
+ else
+ return;
+
+ profile_load($a,$which);
+
+}
+
+
+function webpages_content(&$a) {
+
+ if(! $a->profile) {
notice( t('Requested profile is not available.') . EOL );
$a->error = 404;
return;
}
- $profile = 0;
- $channel = $a->get_channel();
-
- if((local_user()) && (argc() > 2) && (argv(2) === 'view')) {
- $which = $channel['channel_address'];
- $profile = argv(1);
- }
+ $which = argv(1);
- profile_load($a,$which,$profile);
+ $uid = local_user();
+ $owner = 0;
+ $channel = null;
+ $observer = $a->get_observer();
+ $channel = $a->get_channel();
- // Figure out who the page owner is.
- $r = q("select channel_id from channel where channel_address = '%s'",
- dbesc($which)
- );
- if($r) {
- $owner = intval($r[0]['channel_id']);
+ if($a->is_sys && is_site_admin()) {
+ $sys = get_sys_channel();
+ if($sys && intval($sys['channel_id'])) {
+ $uid = $owner = intval($sys['channel_id']);
+ $channel = $sys;
+ $observer = $sys;
+ }
}
- // Get the observer, check their permissions
+ if(! $owner) {
+ // Figure out who the page owner is.
+ $r = q("select channel_id from channel where channel_address = '%s'",
+ dbesc($which)
+ );
+ if($r) {
+ $owner = intval($r[0]['channel_id']);
+ }
+ }
- $observer = $a->get_observer();
$ob_hash = (($observer) ? $observer['xchan_hash'] : '');
$perms = get_all_perms($owner,$ob_hash);
@@ -41,11 +68,6 @@ function webpages_content(&$a) {
return;
}
-// if(local_user() && local_user() == $owner) {
-// $a->set_widget('design',design_tools());
-// }
-
-
if(feature_enabled($owner,'expert')) {
$mimetype = (($_REQUEST['mimetype']) ? $_REQUEST['mimetype'] : get_pconfig($owner,'system','page_mimetype'));
if(! $mimetype)
@@ -60,14 +82,16 @@ function webpages_content(&$a) {
$layout = 'choose';
-// Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages
-// Nickname is set to the observers xchan, and profile_uid to the owners. This lets you post pages at other people's channels.
- require_once ('include/conversation.php');
- require_once('include/acl_selectors.php');
+ // Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages
+ // Nickname is set to the observers xchan, and profile_uid to the owner's.
+ // This lets you post pages at other people's channels.
+
- if(local_user() && local_user() == $a->profile_uid) {
+ if((! $channel) && ($uid) && ($uid == $a->profile_uid)) {
$channel = $a->get_channel();
+ }
+ if($channel) {
$channel_acl = array(
'allow_cid' => $channel['channel_allow_cid'],
'allow_gid' => $channel['channel_allow_gid'],
@@ -78,21 +102,20 @@ function webpages_content(&$a) {
else
$channel_acl = array();
- require_once('include/conversation.php');
- $o = profile_tabs($a,true);
+ $o = profile_tabs($a,true);
$x = array(
- 'webpage' => ITEM_WEBPAGE,
- 'is_owner' => true,
- 'nickname' => $a->profile['channel_address'],
- 'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
- 'bang' => (($group || $cid) ? '!' : ''),
- 'acl' => ((local_user() && local_user() == $owner) ? populate_acl($channel_acl,false) : ''),
- 'visitor' => true,
+ 'webpage' => ITEM_WEBPAGE,
+ 'is_owner' => true,
+ 'nickname' => $a->profile['channel_address'],
+ 'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
+ 'bang' => '',
+ 'acl' => (($uid && $uid == $owner) ? populate_acl($channel_acl,false) : ''),
+ 'visitor' => true,
'profile_uid' => intval($owner),
- 'mimetype' => $mimetype,
- 'layout' => $layout,
+ 'mimetype' => $mimetype,
+ 'layout' => $layout,
);
if($_REQUEST['title'])
@@ -104,10 +127,12 @@ function webpages_content(&$a) {
$o .= status_editor($a,$x);
- // Get a list of webpages. We can't display all them because endless scroll makes that unusable, so just list titles and an edit link.
+ // Get a list of webpages. We can't display all them because endless scroll makes that unusable,
+ // so just list titles and an edit link.
//TODO - this should be replaced with pagelist_widget
- $r = q("select * from item_id left join item on item_id.iid = item.id where item_id.uid = %d and service = 'WEBPAGE' order by item.created desc",
+ $r = q("select * from item_id left join item on item_id.iid = item.id
+ where item_id.uid = %d and service = 'WEBPAGE' order by item.created desc",
intval($owner)
);
@@ -117,30 +142,36 @@ function webpages_content(&$a) {
$pages = array();
foreach($r as $rr) {
unobscure($rr);
- $pages[$rr['iid']][] = array('url' => $rr['iid'],'pagetitle' => $rr['sid'],'title' => $rr['title'],'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited']));
+ $pages[$rr['iid']][] = array(
+ 'url' => $rr['iid'],
+ 'pagetitle' => $rr['sid'],
+ 'title' => $rr['title'],
+ 'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),
+ 'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited'])
+ );
}
}
-//Build the base URL for edit links
- $url = z_root() . "/editwebpage/" . $which;
-// This isn't pretty, but it works. Until I figure out what to do with the UI, it's Good Enough(TM).
- return $o . replace_macros(get_markup_template("webpagelist.tpl"), array(
- '$listtitle' => t('Webpages'),
- '$baseurl' => $url,
- '$edit' => t('Edit'),
- '$pages' => $pages,
- '$channel' => $which,
- '$view' => t('View'),
- '$preview' => t('Preview'),
- '$actions_txt' => t('Actions'),
+ //Build the base URL for edit links
+ $url = z_root() . '/editwebpage/' . $which;
+
+ $o .= replace_macros(get_markup_template('webpagelist.tpl'), array(
+ '$listtitle' => t('Webpages'),
+ '$baseurl' => $url,
+ '$edit' => t('Edit'),
+ '$pages' => $pages,
+ '$channel' => $which,
+ '$view' => t('View'),
+ '$preview' => t('Preview'),
+ '$actions_txt' => t('Actions'),
'$pagelink_txt' => t('Page Link'),
- '$title_txt' => t('Title'),
- '$created_txt' => t('Created'),
- '$edited_txt' => t('Edited')
+ '$title_txt' => t('Title'),
+ '$created_txt' => t('Created'),
+ '$edited_txt' => t('Edited')
-));
+ ));
- $o .= '</div>';
+ return $o;
}
diff --git a/mod/xchan.php b/mod/xchan.php
index 714603f6e..69fbdb77d 100644
--- a/mod/xchan.php
+++ b/mod/xchan.php
@@ -3,16 +3,15 @@
function xchan_content(&$a) {
-
- $o .= '<h3>Xchan Lookup</h3>';
+ $o = '<h3>' . t('Xchan Lookup') . '</h3>';
$o .= '<form action="xchan" method="get">';
- $o .= 'Lookup xchan beginning with (or webbie): <input type="text" style="width: 250px;" name="addr" value="' . $_GET['addr'] .'" />';
- $o .= '<input type="submit" name="submit" value="Submit" /></form>';
-
- $o .= '<br /><br />';
+ $o .= t('Lookup xchan beginning with (or webbie): ');
+ $o .= '<input type="text" style="width:250px;" name="addr" value="' . $_GET['addr'] .'">';
+ $o .= '<input type="submit" name="submit" value="' . t('Submit') .'"></form>';
+ $o .= '<br><br>';
- if(x($_GET,'addr')) {
+ if(x($_GET, 'addr')) {
$addr = trim($_GET['addr']);
$r = q("select * from xchan where xchan_hash like '%s%%' or xchan_addr = '%s' group by xchan_hash",
@@ -22,15 +21,15 @@ function xchan_content(&$a) {
if($r) {
foreach($r as $rr) {
- $o .= str_replace(array("\n"," "),array("<br/>","&nbsp;"),print_r($rr,true)) . EOL;
+ $o .= str_replace(array("\n", " "), array("<br>", "&nbsp;"), print_r($rr, true)) . EOL;
$s = q("select * from hubloc where hubloc_hash like '%s'",
dbesc($r[0]['xchan_hash'])
);
if($s) {
- foreach($s as $rr)
- $o .= str_replace(array("\n"," "),array("<br/>","&nbsp;"),print_r($rr,true)) . EOL;
+ foreach($s as $rrr)
+ $o .= str_replace(array("\n", " "), array("<br>", "&nbsp;"), print_r($rrr, true)) . EOL;
}
}
}
diff --git a/mod/zfinger.php b/mod/zfinger.php
index 666f141ec..6f4febc6f 100644
--- a/mod/zfinger.php
+++ b/mod/zfinger.php
@@ -74,12 +74,12 @@ function zfinger_init(&$a) {
*/
$r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
- where ( channel_pageflags & %d ) order by channel_id limit 1",
+ where ( channel_pageflags & %d )>0 order by channel_id limit 1",
intval(PAGE_SYSTEM)
);
if(! $r) {
$r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
- where not ( channel_pageflags & %d ) order by channel_id limit 1",
+ where not ( channel_pageflags & %d )>0 order by channel_id limit 1",
intval(PAGE_REMOVED)
);
}
@@ -108,6 +108,21 @@ function zfinger_init(&$a) {
if($deleted || $censored)
$searchable = false;
+ $public_forum = false;
+
+ $role = get_pconfig($e['channel_id'],'system','permissions_role');
+ if($role === 'forum') {
+ $public_forum = true;
+ }
+ else {
+ // check if it has characteristics of a public forum based on custom permissions.
+ $t = q("select abook_my_perms from abook where abook_channel = %d and (abook_flags & %d)>0 limit 1",
+ intval($e['channel_id']),
+ intval(ABOOK_FLAG_SELF)
+ );
+ if($t && ($t[0]['abook_my_perms'] & PERMS_W_TAGWALL))
+ $public_forum = true;
+ }
// This is for birthdays and keywords, but must check access permissions
@@ -174,6 +189,7 @@ function zfinger_init(&$a) {
$ret['target_sig'] = $zsig;
$ret['searchable'] = $searchable;
$ret['adult_content'] = $adult_channel;
+ $ret['public_forum'] = $public_forum;
if($deleted)
$ret['deleted'] = $deleted;
diff --git a/mod/zotfeed.php b/mod/zotfeed.php
index 480e886cd..9ad93c1d4 100644
--- a/mod/zotfeed.php
+++ b/mod/zotfeed.php
@@ -21,7 +21,7 @@ function zotfeed_init(&$a) {
$channel_address = ((argc() > 1) ? argv(1) : '');
if($channel_address) {
- $r = q("select channel_id, channel_name from channel where channel_address = '%s' and not (channel_pageflags & %d) limit 1",
+ $r = q("select channel_id, channel_name from channel where channel_address = '%s' and not (channel_pageflags & %d)>0 limit 1",
dbesc(argv(1)),
intval(PAGE_REMOVED)
);
@@ -38,7 +38,7 @@ function zotfeed_init(&$a) {
logger('zotfeed request: ' . $r[0]['channel_name'], LOGGER_DEBUG);
- $result['messages'] = zot_feed($r[0]['channel_id'],$observer['xchan_hash'],$mindate);
+ $result['messages'] = zot_feed($r[0]['channel_id'],$observer['xchan_hash'],array('mindate' => $mindate));
$result['success'] = true;
json_return_and_die($result);
diff --git a/util/messages.po b/util/messages.po
index 0fa553483..1a05e4cac 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 2014-10-24.838\n"
+"Project-Id-Version: 2015-01-02.907\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-10-24 00:04-0700\n"
+"POT-Creation-Date: 2015-01-02 00:04-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,2748 +17,2872 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../../include/dba/dba_driver.php:50
+#: ../../include/dba/dba_driver.php:142
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr ""
-#: ../../include/photo/photo_driver.php:680 ../../include/photos.php:51
-#: ../../mod/photos.php:91 ../../mod/photos.php:657 ../../mod/photos.php:679
+#: ../../include/photo/photo_driver.php:680 ../../include/photos.php:52
#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:301
-#: ../../mod/profile_photo.php:423
+#: ../../mod/profile_photo.php:423 ../../mod/photos.php:91
+#: ../../mod/photos.php:654
msgid "Profile Photos"
msgstr ""
-#: ../../include/network.php:590
-msgid "view full size"
-msgstr ""
-
-#: ../../include/oembed.php:171
-msgid "Embedded content"
-msgstr ""
-
-#: ../../include/oembed.php:180
-msgid "Embedding disabled"
-msgstr ""
-
-#: ../../include/items.php:377 ../../mod/profperm.php:23
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/like.php:242
-#: ../../index.php:388
+#: ../../include/items.php:382 ../../mod/group.php:68
+#: ../../mod/subthread.php:49 ../../mod/profperm.php:23 ../../mod/like.php:246
+#: ../../index.php:389
msgid "Permission denied"
msgstr ""
-#: ../../include/items.php:964 ../../include/items.php:1009
+#: ../../include/items.php:969 ../../include/items.php:1014
msgid "(Unknown)"
msgstr ""
-#: ../../include/items.php:1165
+#: ../../include/items.php:1171
msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../include/items.php:1167
+#: ../../include/items.php:1173
msgid "Visible to you only."
msgstr ""
-#: ../../include/items.php:1169
+#: ../../include/items.php:1175
msgid "Visible to anybody in this network."
msgstr ""
-#: ../../include/items.php:1171
+#: ../../include/items.php:1177
msgid "Visible to anybody authenticated."
msgstr ""
-#: ../../include/items.php:1173
+#: ../../include/items.php:1179
#, php-format
msgid "Visible to anybody on %s."
msgstr ""
-#: ../../include/items.php:1175
+#: ../../include/items.php:1181
msgid "Visible to all connections."
msgstr ""
-#: ../../include/items.php:1177
+#: ../../include/items.php:1183
msgid "Visible to approved connections."
msgstr ""
-#: ../../include/items.php:1179
+#: ../../include/items.php:1185
msgid "Visible to specific connections."
msgstr ""
-#: ../../include/items.php:3938 ../../mod/display.php:32
-#: ../../mod/filestorage.php:26 ../../mod/admin.php:168
-#: ../../mod/admin.php:898 ../../mod/admin.php:1101 ../../mod/thing.php:76
-#: ../../mod/viewsrc.php:20
+#: ../../include/items.php:3952 ../../mod/display.php:32
+#: ../../mod/thing.php:76 ../../mod/filestorage.php:26 ../../mod/admin.php:168
+#: ../../mod/admin.php:896 ../../mod/admin.php:1099 ../../mod/viewsrc.php:20
msgid "Item not found."
msgstr ""
-#: ../../include/items.php:4005 ../../include/attach.php:116
-#: ../../include/attach.php:163 ../../include/attach.php:226
-#: ../../include/attach.php:240 ../../include/attach.php:280
-#: ../../include/attach.php:294 ../../include/attach.php:318
-#: ../../include/attach.php:511 ../../include/attach.php:584
-#: ../../include/photos.php:15 ../../include/chat.php:116
-#: ../../mod/mood.php:112 ../../mod/photos.php:68 ../../mod/photos.php:526
-#: ../../mod/mitem.php:73 ../../mod/achievements.php:30
-#: ../../mod/settings.php:496 ../../mod/poke.php:128 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/authtest.php:13 ../../mod/profile.php:64
-#: ../../mod/profile.php:72 ../../mod/block.php:22 ../../mod/block.php:72
-#: ../../mod/blocks.php:29 ../../mod/blocks.php:44 ../../mod/bookmarks.php:46
-#: ../../mod/profiles.php:179 ../../mod/profiles.php:532
-#: ../../mod/events.php:195 ../../mod/channel.php:89 ../../mod/channel.php:193
-#: ../../mod/channel.php:236 ../../mod/chat.php:90 ../../mod/chat.php:95
-#: ../../mod/register.php:70 ../../mod/regmod.php:17 ../../mod/common.php:35
-#: ../../mod/network.php:12 ../../mod/connections.php:169
-#: ../../mod/connedit.php:254 ../../mod/delegate.php:6 ../../mod/page.php:28
-#: ../../mod/page.php:78 ../../mod/setup.php:203 ../../mod/editblock.php:34
-#: ../../mod/pdledit.php:21 ../../mod/editlayout.php:48
-#: ../../mod/editpost.php:13 ../../mod/editwebpage.php:44
-#: ../../mod/editwebpage.php:83 ../../mod/profile_photo.php:263
-#: ../../mod/profile_photo.php:276 ../../mod/sources.php:66
+#: ../../include/items.php:4019 ../../include/photos.php:15
+#: ../../include/attach.php:116 ../../include/attach.php:163
+#: ../../include/attach.php:226 ../../include/attach.php:240
+#: ../../include/attach.php:280 ../../include/attach.php:294
+#: ../../include/attach.php:318 ../../include/attach.php:511
+#: ../../include/attach.php:585 ../../include/chat.php:116
+#: ../../mod/mood.php:112 ../../mod/register.php:72 ../../mod/mitem.php:106
+#: ../../mod/achievements.php:30 ../../mod/group.php:9 ../../mod/poke.php:128
+#: ../../mod/api.php:26 ../../mod/api.php:31 ../../mod/profiles.php:188
+#: ../../mod/profiles.php:559 ../../mod/authtest.php:13
+#: ../../mod/profile.php:64 ../../mod/profile.php:72 ../../mod/block.php:22
+#: ../../mod/block.php:72 ../../mod/delegate.php:6 ../../mod/sources.php:66
+#: ../../mod/events.php:195 ../../mod/channel.php:90 ../../mod/channel.php:201
+#: ../../mod/channel.php:244 ../../mod/chat.php:90 ../../mod/chat.php:95
+#: ../../mod/regmod.php:17 ../../mod/editpost.php:13 ../../mod/common.php:35
+#: ../../mod/settings.php:554 ../../mod/connections.php:169
+#: ../../mod/manage.php:6 ../../mod/connedit.php:266 ../../mod/mail.php:111
+#: ../../mod/webpages.php:67 ../../mod/bookmarks.php:46
+#: ../../mod/blocks.php:67 ../../mod/blocks.php:75 ../../mod/editblock.php:65
+#: ../../mod/pdledit.php:21 ../../mod/editlayout.php:64
+#: ../../mod/editlayout.php:89 ../../mod/editwebpage.php:64
+#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:118
+#: ../../mod/profile_photo.php:263 ../../mod/profile_photo.php:276
+#: ../../mod/like.php:154 ../../mod/thing.php:247 ../../mod/thing.php:264
+#: ../../mod/thing.php:299 ../../mod/fsuggest.php:78
#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:67
#: ../../mod/filestorage.php:82 ../../mod/filestorage.php:109
-#: ../../mod/fsuggest.php:78 ../../mod/suggest.php:26 ../../mod/group.php:9
-#: ../../mod/thing.php:247 ../../mod/thing.php:264 ../../mod/thing.php:299
-#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/item.php:182
-#: ../../mod/item.php:190 ../../mod/item.php:954 ../../mod/layouts.php:27
-#: ../../mod/layouts.php:39 ../../mod/like.php:154
+#: ../../mod/locs.php:71 ../../mod/item.php:191 ../../mod/item.php:199
+#: ../../mod/item.php:975 ../../mod/suggest.php:26 ../../mod/layouts.php:67
+#: ../../mod/layouts.php:74 ../../mod/layouts.php:85 ../../mod/setup.php:207
+#: ../../mod/menu.php:61 ../../mod/invite.php:13 ../../mod/invite.php:104
+#: ../../mod/network.php:12 ../../mod/notifications.php:66
#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/viewsrc.php:14 ../../mod/mail.php:111 ../../mod/manage.php:6
-#: ../../mod/menu.php:44 ../../mod/webpages.php:40 ../../mod/message.php:16
+#: ../../mod/viewsrc.php:14 ../../mod/message.php:16
#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
-#: ../../mod/notifications.php:66 ../../mod/appman.php:66
-#: ../../mod/service_limits.php:7 ../../index.php:190 ../../index.php:389
+#: ../../mod/photos.php:68 ../../mod/page.php:28 ../../mod/page.php:78
+#: ../../mod/appman.php:66 ../../mod/service_limits.php:7 ../../index.php:190
+#: ../../index.php:390
msgid "Permission denied."
msgstr ""
-#: ../../include/items.php:4376 ../../mod/group.php:38 ../../mod/group.php:140
+#: ../../include/items.php:4410 ../../mod/group.php:38 ../../mod/group.php:140
msgid "Collection not found."
msgstr ""
-#: ../../include/items.php:4391
+#: ../../include/items.php:4425
msgid "Collection is empty."
msgstr ""
-#: ../../include/items.php:4398
+#: ../../include/items.php:4432
#, php-format
msgid "Collection: %s"
msgstr ""
-#: ../../include/items.php:4409
+#: ../../include/items.php:4443
#, php-format
msgid "Connection: %s"
msgstr ""
-#: ../../include/items.php:4412
+#: ../../include/items.php:4446
msgid "Connection not found."
msgstr ""
-#: ../../include/notify.php:23
-msgid "created a new post"
+#: ../../include/menu.php:42 ../../include/page_widgets.php:8
+#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:263
+#: ../../include/ItemObject.php:100 ../../include/apps.php:254
+#: ../../mod/editpost.php:112 ../../mod/settings.php:639
+#: ../../mod/connections.php:381 ../../mod/connections.php:394
+#: ../../mod/connections.php:413 ../../mod/webpages.php:162
+#: ../../mod/blocks.php:132 ../../mod/editblock.php:143
+#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:174
+#: ../../mod/thing.php:233 ../../mod/layouts.php:167 ../../mod/menu.php:78
+msgid "Edit"
msgstr ""
-#: ../../include/notify.php:24
-#, php-format
-msgid "commented on %s's post"
+#: ../../include/message.php:18
+msgid "No recipient provided."
msgstr ""
-#: ../../include/apps.php:126
-msgid "Site Admin"
+#: ../../include/message.php:23
+msgid "[no subject]"
msgstr ""
-#: ../../include/apps.php:127 ../../include/conversation.php:1570
-#: ../../include/nav.php:117
-msgid "Bookmarks"
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
msgstr ""
-#: ../../include/apps.php:128
-msgid "Address Book"
+#: ../../include/message.php:200
+msgid "Stored post could not be verified."
msgstr ""
-#: ../../include/apps.php:129 ../../include/nav.php:125 ../../boot.php:1496
-msgid "Login"
+#: ../../include/network.php:590
+msgid "view full size"
msgstr ""
-#: ../../include/apps.php:130 ../../include/nav.php:216
-#: ../../mod/manage.php:148
-msgid "Channel Manager"
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
msgstr ""
-#: ../../include/apps.php:131 ../../include/nav.php:190
-msgid "Matrix"
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
msgstr ""
-#: ../../include/apps.php:132 ../../include/widgets.php:521
-#: ../../include/nav.php:218 ../../mod/admin.php:953 ../../mod/admin.php:1158
-msgid "Settings"
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
msgstr ""
-#: ../../include/apps.php:133 ../../include/conversation.php:1546
-#: ../../include/nav.php:106 ../../include/RedDAV/RedBrowser.php:241
-#: ../../mod/fbrowser.php:114
-msgid "Files"
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
msgstr ""
-#: ../../include/apps.php:134 ../../include/conversation.php:1581
-#: ../../include/nav.php:121 ../../mod/webpages.php:129
-msgid "Webpages"
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
msgstr ""
-#: ../../include/apps.php:135 ../../include/nav.php:193
-msgid "Channel Home"
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
msgstr ""
-#: ../../include/apps.php:136 ../../include/identity.php:1113
-#: ../../include/identity.php:1231 ../../mod/profperm.php:112
-msgid "Profile"
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
msgstr ""
-#: ../../include/apps.php:137 ../../include/conversation.php:1537
-#: ../../include/nav.php:105 ../../mod/fbrowser.php:25
-msgid "Photos"
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
msgstr ""
-#: ../../include/apps.php:138 ../../include/nav.php:212
-#: ../../mod/events.php:431
-msgid "Events"
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
msgstr ""
-#: ../../include/apps.php:139 ../../include/nav.php:176
-#: ../../mod/directory.php:226
-msgid "Directory"
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
msgstr ""
-#: ../../include/apps.php:140 ../../include/nav.php:168 ../../mod/help.php:60
-#: ../../mod/help.php:65
-msgid "Help"
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
msgstr ""
-#: ../../include/apps.php:141 ../../include/nav.php:204
-msgid "Mail"
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
msgstr ""
-#: ../../include/apps.php:142 ../../mod/mood.php:131
-msgid "Mood"
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
msgstr ""
-#: ../../include/apps.php:143 ../../include/conversation.php:951
-msgid "Poke"
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
msgstr ""
-#: ../../include/apps.php:144 ../../include/nav.php:111
-msgid "Chat"
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
msgstr ""
-#: ../../include/apps.php:145 ../../include/text.php:822
-#: ../../include/text.php:834 ../../include/nav.php:173
-#: ../../mod/search.php:30
-msgid "Search"
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
msgstr ""
-#: ../../include/apps.php:146
-msgid "Probe"
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
msgstr ""
-#: ../../include/apps.php:147
-msgid "Suggest"
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
msgstr ""
-#: ../../include/apps.php:148
-msgid "Random Channel"
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
msgstr ""
-#: ../../include/apps.php:149
-msgid "Invite"
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
msgstr ""
-#: ../../include/apps.php:150
-msgid "Features"
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
msgstr ""
-#: ../../include/apps.php:151
-msgid "Language"
+#: ../../include/permissions.php:48
+msgid "Extremely advanced. Leave this alone unless you know what you are doing"
msgstr ""
-#: ../../include/apps.php:152
-msgid "Post"
+#: ../../include/permissions.php:810
+msgid "Social Networking"
msgstr ""
-#: ../../include/apps.php:153
-msgid "Profile Photo"
+#: ../../include/permissions.php:810 ../../include/permissions.php:811
+#: ../../include/permissions.php:812
+msgid "Mostly Public"
msgstr ""
-#: ../../include/apps.php:242 ../../mod/settings.php:79
-#: ../../mod/settings.php:545
-msgid "Update"
+#: ../../include/permissions.php:810 ../../include/permissions.php:811
+#: ../../include/permissions.php:812
+msgid "Restricted"
msgstr ""
-#: ../../include/apps.php:242
-msgid "Install"
+#: ../../include/permissions.php:810 ../../include/permissions.php:811
+msgid "Private"
msgstr ""
-#: ../../include/apps.php:247
-msgid "Purchase"
+#: ../../include/permissions.php:811
+msgid "Community Forum"
msgstr ""
-#: ../../include/apps.php:249 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:250
-#: ../../include/menu.php:42 ../../include/ItemObject.php:100
-#: ../../mod/settings.php:581 ../../mod/blocks.php:99
-#: ../../mod/connections.php:381 ../../mod/connections.php:394
-#: ../../mod/connections.php:413 ../../mod/editblock.php:111
-#: ../../mod/editlayout.php:106 ../../mod/editpost.php:112
-#: ../../mod/editwebpage.php:143 ../../mod/thing.php:233
-#: ../../mod/layouts.php:121 ../../mod/menu.php:59 ../../mod/webpages.php:131
-msgid "Edit"
+#: ../../include/permissions.php:812
+msgid "Feed Republish"
msgstr ""
-#: ../../include/apps.php:250 ../../include/conversation.php:638
-#: ../../include/RedDAV/RedBrowser.php:251 ../../include/ItemObject.php:120
-#: ../../mod/photos.php:1062 ../../mod/settings.php:582
-#: ../../mod/connedit.php:462 ../../mod/group.php:176 ../../mod/admin.php:732
-#: ../../mod/admin.php:863 ../../mod/thing.php:234
-msgid "Delete"
+#: ../../include/permissions.php:813
+msgid "Special Purpose"
msgstr ""
-#: ../../include/apps.php:331 ../../include/apps.php:382
-#: ../../include/conversation.php:1003 ../../include/RedDAV/RedBrowser.php:163
-#: ../../mod/photos.php:1124 ../../mod/connedit.php:498
-msgid "Unknown"
+#: ../../include/permissions.php:813
+msgid "Celebrity/Soapbox"
msgstr ""
-#: ../../include/attach.php:221 ../../include/attach.php:275
-msgid "Item was not found."
+#: ../../include/permissions.php:813
+msgid "Group Repository"
msgstr ""
-#: ../../include/attach.php:331
-msgid "No source file."
+#: ../../include/permissions.php:814 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
msgstr ""
-#: ../../include/attach.php:348
-msgid "Cannot locate file to replace"
+#: ../../include/permissions.php:814
+msgid "Custom/Expert Mode"
msgstr ""
-#: ../../include/attach.php:366
-msgid "Cannot locate file to revise/update"
+#: ../../include/notify.php:23
+msgid "created a new post"
msgstr ""
-#: ../../include/attach.php:377
+#: ../../include/notify.php:24
#, php-format
-msgid "File exceeds size limit of %d"
+msgid "commented on %s's post"
msgstr ""
-#: ../../include/attach.php:389
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+#: ../../include/taxonomy.php:210 ../../include/taxonomy.php:229
+msgid "Tags"
msgstr ""
-#: ../../include/attach.php:472
-msgid "File upload failed. Possible system limit or action terminated."
+#: ../../include/taxonomy.php:250 ../../include/contact_widgets.php:92
+#: ../../include/widgets.php:35
+msgid "Categories"
msgstr ""
-#: ../../include/attach.php:484
-msgid "Stored file could not be verified. Upload failed."
+#: ../../include/taxonomy.php:269
+msgid "Keywords"
msgstr ""
-#: ../../include/attach.php:526 ../../include/attach.php:543
-msgid "Path not available."
+#: ../../include/taxonomy.php:294
+msgid "have"
msgstr ""
-#: ../../include/attach.php:589
-msgid "Empty pathname"
+#: ../../include/taxonomy.php:294
+msgid "has"
msgstr ""
-#: ../../include/attach.php:605
-msgid "duplicate filename or path"
+#: ../../include/taxonomy.php:295
+msgid "want"
msgstr ""
-#: ../../include/attach.php:629
-msgid "Path not found."
+#: ../../include/taxonomy.php:295
+msgid "wants"
msgstr ""
-#: ../../include/attach.php:680
-msgid "mkdir failed."
+#: ../../include/taxonomy.php:296 ../../include/ItemObject.php:221
+msgid "like"
msgstr ""
-#: ../../include/attach.php:684
-msgid "database storage failed."
+#: ../../include/taxonomy.php:296
+msgid "likes"
+msgstr ""
+
+#: ../../include/taxonomy.php:297 ../../include/ItemObject.php:222
+msgid "dislike"
+msgstr ""
+
+#: ../../include/taxonomy.php:297
+msgid "dislikes"
msgstr ""
+#: ../../include/taxonomy.php:380 ../../include/identity.php:1151
+#: ../../include/ItemObject.php:146 ../../mod/photos.php:1024
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] ""
+msgstr[1] ""
+
#: ../../include/page_widgets.php:6
msgid "New Page"
msgstr ""
-#: ../../include/page_widgets.php:39 ../../mod/blocks.php:102
-#: ../../mod/layouts.php:125 ../../mod/webpages.php:134
+#: ../../include/page_widgets.php:39 ../../mod/webpages.php:165
+#: ../../mod/blocks.php:135 ../../mod/layouts.php:171
msgid "View"
msgstr ""
-#: ../../include/page_widgets.php:40 ../../include/conversation.php:1114
-#: ../../include/ItemObject.php:608 ../../mod/photos.php:1013
-#: ../../mod/editblock.php:141 ../../mod/editlayout.php:135
-#: ../../mod/editpost.php:140 ../../mod/editwebpage.php:174
-#: ../../mod/webpages.php:135
+#: ../../include/page_widgets.php:40 ../../include/conversation.php:1102
+#: ../../include/ItemObject.php:638 ../../mod/webpages.php:166
+#: ../../mod/photos.php:995
msgid "Preview"
msgstr ""
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:136
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:167
msgid "Actions"
msgstr ""
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:137
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:168
msgid "Page Link"
msgstr ""
-#: ../../include/page_widgets.php:43 ../../mod/webpages.php:138
+#: ../../include/page_widgets.php:43 ../../mod/webpages.php:169
msgid "Title"
msgstr ""
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:139
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:170
msgid "Created"
msgstr ""
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:140
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:171
msgid "Edited"
msgstr ""
-#: ../../include/security.php:320
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
+#: ../../include/oembed.php:171
+msgid "Embedded content"
msgstr ""
-#: ../../include/widgets.php:29 ../../include/contact_widgets.php:93
-msgid "Categories"
+#: ../../include/oembed.php:180
+msgid "Embedding disabled"
msgstr ""
-#: ../../include/widgets.php:86 ../../include/nav.php:171
-#: ../../mod/apps.php:33
-msgid "Apps"
+#: ../../include/photos.php:105
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
msgstr ""
-#: ../../include/widgets.php:87
-msgid "System"
+#: ../../include/photos.php:112
+msgid "Image file is empty."
msgstr ""
-#: ../../include/widgets.php:89 ../../include/conversation.php:1449
-msgid "Personal"
+#: ../../include/photos.php:141 ../../mod/profile_photo.php:216
+msgid "Unable to process image"
msgstr ""
-#: ../../include/widgets.php:90
-msgid "Create Personal App"
+#: ../../include/photos.php:213
+msgid "Photo storage failed."
msgstr ""
-#: ../../include/widgets.php:91
-msgid "Edit Personal App"
+#: ../../include/photos.php:341 ../../include/conversation.php:1533
+msgid "Photo Albums"
msgstr ""
-#: ../../include/widgets.php:135 ../../include/widgets.php:175
-#: ../../include/identity.php:833 ../../include/conversation.php:948
-#: ../../include/Contact.php:107 ../../mod/directory.php:183
-#: ../../mod/dirprofile.php:164 ../../mod/suggest.php:51
-#: ../../mod/match.php:62
-msgid "Connect"
+#: ../../include/photos.php:345
+msgid "Upload New Photos"
msgstr ""
-#: ../../include/widgets.php:137 ../../mod/suggest.php:53
-msgid "Ignore/Hide"
+#: ../../include/activities.php:39
+msgid " and "
msgstr ""
-#: ../../include/widgets.php:143 ../../mod/connections.php:267
-msgid "Suggestions"
+#: ../../include/activities.php:47
+msgid "public profile"
msgstr ""
-#: ../../include/widgets.php:144
-msgid "See more..."
+#: ../../include/activities.php:56
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr ""
-#: ../../include/widgets.php:166
+#: ../../include/activities.php:57
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
+msgid "Visit %1$s's %2$s"
msgstr ""
-#: ../../include/widgets.php:172
-msgid "Add New Connection"
+#: ../../include/activities.php:60
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../include/widgets.php:173
-msgid "Enter the channel address"
+#: ../../include/bb2diaspora.php:366
+msgid "Attachments:"
msgstr ""
-#: ../../include/widgets.php:174
-msgid "Example: bob@example.com, http://example.com/barbara"
+#: ../../include/bb2diaspora.php:445 ../../include/event.php:11
+msgid "l F d, Y \\@ g:i A"
msgstr ""
-#: ../../include/widgets.php:191
-msgid "Notes"
+#: ../../include/bb2diaspora.php:447
+msgid "Redmatrix event notification:"
msgstr ""
-#: ../../include/widgets.php:193 ../../include/text.php:823
-#: ../../include/text.php:835 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
-#: ../../mod/filer.php:50 ../../mod/admin.php:1341 ../../mod/admin.php:1362
-msgid "Save"
+#: ../../include/bb2diaspora.php:451 ../../include/event.php:20
+msgid "Starts:"
msgstr ""
-#: ../../include/widgets.php:263
-msgid "Remove term"
+#: ../../include/bb2diaspora.php:459 ../../include/event.php:30
+msgid "Finishes:"
msgstr ""
-#: ../../include/widgets.php:272 ../../include/features.php:58
-msgid "Saved Searches"
+#: ../../include/bb2diaspora.php:467 ../../include/identity.php:894
+#: ../../include/event.php:40 ../../mod/events.php:590
+#: ../../mod/directory.php:199
+msgid "Location:"
msgstr ""
-#: ../../include/widgets.php:273 ../../include/group.php:302
-msgid "add"
+#: ../../include/attach.php:221 ../../include/attach.php:275
+msgid "Item was not found."
msgstr ""
-#: ../../include/widgets.php:303 ../../include/contact_widgets.php:58
-#: ../../include/features.php:72
-msgid "Saved Folders"
+#: ../../include/attach.php:331
+msgid "No source file."
msgstr ""
-#: ../../include/widgets.php:306 ../../include/contact_widgets.php:61
-#: ../../include/contact_widgets.php:96
-msgid "Everything"
+#: ../../include/attach.php:348
+msgid "Cannot locate file to replace"
msgstr ""
-#: ../../include/widgets.php:342
-msgid "Archives"
+#: ../../include/attach.php:366
+msgid "Cannot locate file to revise/update"
msgstr ""
-#: ../../include/widgets.php:404
-msgid "Refresh"
+#: ../../include/attach.php:377
+#, php-format
+msgid "File exceeds size limit of %d"
msgstr ""
-#: ../../include/widgets.php:405 ../../mod/connedit.php:492
-msgid "Me"
+#: ../../include/attach.php:389
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../include/widgets.php:406 ../../mod/connedit.php:494
-msgid "Best Friends"
+#: ../../include/attach.php:472
+msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../include/widgets.php:407 ../../include/identity.php:381
-#: ../../include/identity.php:382 ../../include/identity.php:389
-#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:495
-msgid "Friends"
+#: ../../include/attach.php:484
+msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../include/widgets.php:408
-msgid "Co-workers"
+#: ../../include/attach.php:526 ../../include/attach.php:543
+msgid "Path not available."
msgstr ""
-#: ../../include/widgets.php:409 ../../mod/connedit.php:496
-msgid "Former Friends"
+#: ../../include/attach.php:590
+msgid "Empty pathname"
msgstr ""
-#: ../../include/widgets.php:410 ../../mod/connedit.php:497
-msgid "Acquaintances"
+#: ../../include/attach.php:606
+msgid "duplicate filename or path"
msgstr ""
-#: ../../include/widgets.php:411
-msgid "Everybody"
+#: ../../include/attach.php:630
+msgid "Path not found."
msgstr ""
-#: ../../include/widgets.php:443
-msgid "Account settings"
+#: ../../include/attach.php:681
+msgid "mkdir failed."
msgstr ""
-#: ../../include/widgets.php:449
-msgid "Channel settings"
+#: ../../include/attach.php:685
+msgid "database storage failed."
msgstr ""
-#: ../../include/widgets.php:455
-msgid "Additional features"
+#: ../../include/features.php:23
+msgid "General Features"
msgstr ""
-#: ../../include/widgets.php:461
-msgid "Feature settings"
+#: ../../include/features.php:25
+msgid "Content Expiration"
msgstr ""
-#: ../../include/widgets.php:467
-msgid "Display settings"
+#: ../../include/features.php:25
+msgid "Remove posts/comments and/or private messages at a future time"
msgstr ""
-#: ../../include/widgets.php:473
-msgid "Connected apps"
+#: ../../include/features.php:26
+msgid "Multiple Profiles"
msgstr ""
-#: ../../include/widgets.php:479
-msgid "Export channel"
+#: ../../include/features.php:26
+msgid "Ability to create multiple profiles"
msgstr ""
-#: ../../include/widgets.php:485
-msgid "Export content"
+#: ../../include/features.php:27
+msgid "Advanced Profiles"
msgstr ""
-#: ../../include/widgets.php:491
-msgid "Automatic Permissions (Advanced)"
+#: ../../include/features.php:27
+msgid "Additional profile sections and selections"
msgstr ""
-#: ../../include/widgets.php:501
-msgid "Premium Channel Settings"
+#: ../../include/features.php:28
+msgid "Profile Import/Export"
msgstr ""
-#: ../../include/widgets.php:510 ../../include/features.php:49
+#: ../../include/features.php:28
+msgid "Save and load profile details across sites/channels"
+msgstr ""
+
+#: ../../include/features.php:29
+msgid "Web Pages"
+msgstr ""
+
+#: ../../include/features.php:29
+msgid "Provide managed web pages on your channel"
+msgstr ""
+
+#: ../../include/features.php:30
+msgid "Private Notes"
+msgstr ""
+
+#: ../../include/features.php:30
+msgid "Enables a tool to store notes and reminders"
+msgstr ""
+
+#: ../../include/features.php:34
+msgid "Navigation Channel Select"
+msgstr ""
+
+#: ../../include/features.php:34
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr ""
+
+#: ../../include/features.php:38
+msgid "Extended Identity Sharing"
+msgstr ""
+
+#: ../../include/features.php:38
+msgid ""
+"Share your identity with all websites on the internet. When disabled, "
+"identity is only shared with sites in the matrix."
+msgstr ""
+
+#: ../../include/features.php:39
+msgid "Expert Mode"
+msgstr ""
+
+#: ../../include/features.php:39
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr ""
+
+#: ../../include/features.php:40
+msgid "Premium Channel"
+msgstr ""
+
+#: ../../include/features.php:40
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr ""
+
+#: ../../include/features.php:45
+msgid "Post Composition Features"
+msgstr ""
+
+#: ../../include/features.php:47
+msgid "Use Markdown"
+msgstr ""
+
+#: ../../include/features.php:47
+msgid "Allow use of \"Markdown\" to format posts"
+msgstr ""
+
+#: ../../include/features.php:49 ../../include/widgets.php:527
#: ../../mod/sources.php:88
msgid "Channel Sources"
msgstr ""
-#: ../../include/widgets.php:535 ../../mod/mail.php:124
-#: ../../mod/message.php:31
-msgid "Messages"
+#: ../../include/features.php:49
+msgid "Automatically import channel content from other channels or feeds"
msgstr ""
-#: ../../include/widgets.php:540
-msgid "Check Mail"
+#: ../../include/features.php:50
+msgid "Even More Encryption"
msgstr ""
-#: ../../include/widgets.php:545 ../../include/nav.php:209
-msgid "New Message"
+#: ../../include/features.php:50
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
msgstr ""
-#: ../../include/widgets.php:621
-msgid "Chat Rooms"
+#: ../../include/features.php:51
+msgid "Flag Adult Photos"
msgstr ""
-#: ../../include/widgets.php:639
-msgid "Bookmarked Chatrooms"
+#: ../../include/features.php:51
+msgid "Provide photo edit option to hide adult photos from default album view"
msgstr ""
-#: ../../include/widgets.php:657
-msgid "Suggested Chatrooms"
+#: ../../include/features.php:56
+msgid "Network and Stream Filtering"
msgstr ""
-#: ../../include/zot.php:655
-msgid "Invalid data packet"
+#: ../../include/features.php:57
+msgid "Search by Date"
msgstr ""
-#: ../../include/zot.php:671
-msgid "Unable to verify channel signature"
+#: ../../include/features.php:57
+msgid "Ability to select posts by date ranges"
msgstr ""
-#: ../../include/zot.php:1763
-#, php-format
-msgid "Unable to verify site signature for %s"
+#: ../../include/features.php:58
+msgid "Collections Filter"
msgstr ""
-#: ../../include/photos.php:104
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
+#: ../../include/features.php:58
+msgid "Enable widget to display Network posts only from selected collections"
msgstr ""
-#: ../../include/photos.php:111
-msgid "Image file is empty."
+#: ../../include/features.php:59 ../../include/widgets.php:272
+msgid "Saved Searches"
msgstr ""
-#: ../../include/photos.php:140 ../../mod/profile_photo.php:216
-msgid "Unable to process image"
+#: ../../include/features.php:59
+msgid "Save search terms for re-use"
msgstr ""
-#: ../../include/photos.php:212
-msgid "Photo storage failed."
+#: ../../include/features.php:60
+msgid "Network Personal Tab"
msgstr ""
-#: ../../include/photos.php:340 ../../include/conversation.php:1540
-msgid "Photo Albums"
+#: ../../include/features.php:60
+msgid "Enable tab to display only Network posts that you've interacted on"
msgstr ""
-#: ../../include/photos.php:344
-msgid "Upload New Photos"
+#: ../../include/features.php:61
+msgid "Network New Tab"
msgstr ""
-#: ../../include/acl_selectors.php:240
-msgid "Visible to your default audience"
+#: ../../include/features.php:61
+msgid "Enable tab to display all new Network activity"
msgstr ""
-#: ../../include/acl_selectors.php:241
-msgid "Show"
+#: ../../include/features.php:62
+msgid "Affinity Tool"
msgstr ""
-#: ../../include/acl_selectors.php:242
-msgid "Don't show"
+#: ../../include/features.php:62
+msgid "Filter stream activity by depth of relationships"
msgstr ""
-#: ../../include/acl_selectors.php:248 ../../mod/photos.php:604
-#: ../../mod/photos.php:968 ../../mod/events.php:585 ../../mod/chat.php:209
-#: ../../mod/filestorage.php:137
-msgid "Permissions"
+#: ../../include/features.php:63
+msgid "Suggest Channels"
msgstr ""
-#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:305
-msgid "Close"
+#: ../../include/features.php:63
+msgid "Show channel suggestions"
msgstr ""
-#: ../../include/activities.php:39
-msgid " and "
+#: ../../include/features.php:68
+msgid "Post/Comment Tools"
msgstr ""
-#: ../../include/activities.php:47
-msgid "public profile"
+#: ../../include/features.php:71
+msgid "Tagging"
msgstr ""
-#: ../../include/activities.php:52
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+#: ../../include/features.php:71
+msgid "Ability to tag existing posts"
msgstr ""
-#: ../../include/activities.php:53
-#, php-format
-msgid "Visit %1$s's %2$s"
+#: ../../include/features.php:72
+msgid "Post Categories"
msgstr ""
-#: ../../include/activities.php:56
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
+#: ../../include/features.php:72
+msgid "Add categories to your posts"
msgstr ""
-#: ../../include/api.php:1084
-msgid "Public Timeline"
+#: ../../include/features.php:73 ../../include/contact_widgets.php:57
+#: ../../include/widgets.php:302
+msgid "Saved Folders"
msgstr ""
-#: ../../include/identity.php:31 ../../mod/item.php:1344
-msgid "Unable to obtain identity information from database"
+#: ../../include/features.php:73
+msgid "Ability to file posts under folders"
msgstr ""
-#: ../../include/identity.php:66
-msgid "Empty name"
+#: ../../include/features.php:74
+msgid "Dislike Posts"
msgstr ""
-#: ../../include/identity.php:68
-msgid "Name too long"
+#: ../../include/features.php:74
+msgid "Ability to dislike posts/comments"
msgstr ""
-#: ../../include/identity.php:169
-msgid "No account identifier"
+#: ../../include/features.php:75
+msgid "Star Posts"
msgstr ""
-#: ../../include/identity.php:181
-msgid "Nickname is required."
+#: ../../include/features.php:75
+msgid "Ability to mark special posts with a star indicator"
msgstr ""
-#: ../../include/identity.php:195
-msgid "Reserved nickname. Please choose another."
+#: ../../include/features.php:76
+msgid "Tag Cloud"
msgstr ""
-#: ../../include/identity.php:200 ../../include/dimport.php:34
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
+#: ../../include/features.php:76
+msgid "Provide a personal tag cloud on your channel page"
msgstr ""
-#: ../../include/identity.php:282
-msgid "Unable to retrieve created identity"
+#: ../../include/RedDAV/RedBrowser.php:106
+#: ../../include/RedDAV/RedBrowser.php:262
+msgid "parent"
msgstr ""
-#: ../../include/identity.php:342
-msgid "Default Profile"
+#: ../../include/RedDAV/RedBrowser.php:130
+#: ../../include/RedDAV/RedBrowser.php:339
+msgid "Collection"
msgstr ""
-#: ../../include/identity.php:636
-msgid "Requested channel is not available."
+#: ../../include/RedDAV/RedBrowser.php:133
+msgid "Principal"
msgstr ""
-#: ../../include/identity.php:684 ../../mod/achievements.php:11
-#: ../../mod/profile.php:16 ../../mod/blocks.php:10 ../../mod/connect.php:13
-#: ../../mod/filestorage.php:48 ../../mod/layouts.php:8
-#: ../../mod/webpages.php:8 ../../mod/hcard.php:8
-msgid "Requested profile is not available."
+#: ../../include/RedDAV/RedBrowser.php:136
+msgid "Addressbook"
msgstr ""
-#: ../../include/identity.php:847 ../../mod/profiles.php:722
-msgid "Change profile photo"
+#: ../../include/RedDAV/RedBrowser.php:139
+msgid "Calendar"
msgstr ""
-#: ../../include/identity.php:853
-msgid "Profiles"
+#: ../../include/RedDAV/RedBrowser.php:142
+msgid "Schedule Inbox"
msgstr ""
-#: ../../include/identity.php:853
-msgid "Manage/edit profiles"
+#: ../../include/RedDAV/RedBrowser.php:145
+msgid "Schedule Outbox"
msgstr ""
-#: ../../include/identity.php:854 ../../mod/profiles.php:723
-msgid "Create New Profile"
+#: ../../include/RedDAV/RedBrowser.php:163 ../../include/conversation.php:992
+#: ../../include/apps.php:336 ../../include/apps.php:387
+#: ../../mod/connedit.php:513 ../../mod/photos.php:710
+#: ../../mod/photos.php:1129
+msgid "Unknown"
msgstr ""
-#: ../../include/identity.php:857 ../../include/nav.php:103
-msgid "Edit Profile"
+#: ../../include/RedDAV/RedBrowser.php:225
+#, php-format
+msgid "%1$s used"
msgstr ""
-#: ../../include/identity.php:868 ../../mod/profiles.php:734
-msgid "Profile Image"
+#: ../../include/RedDAV/RedBrowser.php:230
+#, php-format
+msgid "%1$s used of %2$s (%3$s&#37;)"
msgstr ""
-#: ../../include/identity.php:871
-msgid "visible to everybody"
+#: ../../include/RedDAV/RedBrowser.php:249 ../../include/conversation.php:1539
+#: ../../include/apps.php:135 ../../include/nav.php:106
+#: ../../mod/fbrowser.php:114
+msgid "Files"
msgstr ""
-#: ../../include/identity.php:872 ../../mod/profiles.php:617
-#: ../../mod/profiles.php:738
-msgid "Edit visibility"
+#: ../../include/RedDAV/RedBrowser.php:251
+msgid "Total"
msgstr ""
-#: ../../include/identity.php:884 ../../include/event.php:40
-#: ../../include/bb2diaspora.php:480 ../../mod/events.php:579
-#: ../../mod/directory.php:156 ../../mod/dirprofile.php:105
-msgid "Location:"
+#: ../../include/RedDAV/RedBrowser.php:258 ../../mod/settings.php:579
+#: ../../mod/settings.php:605 ../../mod/admin.php:866
+msgid "Name"
msgstr ""
-#: ../../include/identity.php:886 ../../include/identity.php:1123
-#: ../../mod/directory.php:158
-msgid "Gender:"
+#: ../../include/RedDAV/RedBrowser.php:259
+msgid "Type"
msgstr ""
-#: ../../include/identity.php:887 ../../include/identity.php:1167
-#: ../../mod/directory.php:160
-msgid "Status:"
+#: ../../include/RedDAV/RedBrowser.php:260
+msgid "Size"
msgstr ""
-#: ../../include/identity.php:888 ../../include/identity.php:1178
-#: ../../mod/directory.php:162
-msgid "Homepage:"
+#: ../../include/RedDAV/RedBrowser.php:261
+msgid "Last Modified"
msgstr ""
-#: ../../include/identity.php:889 ../../mod/dirprofile.php:151
-msgid "Online Now"
+#: ../../include/RedDAV/RedBrowser.php:264 ../../include/conversation.php:639
+#: ../../include/ItemObject.php:120 ../../include/apps.php:255
+#: ../../mod/group.php:176 ../../mod/settings.php:640
+#: ../../mod/connedit.php:476 ../../mod/thing.php:234 ../../mod/admin.php:730
+#: ../../mod/admin.php:861 ../../mod/photos.php:1067
+msgid "Delete"
msgstr ""
-#: ../../include/identity.php:967 ../../include/identity.php:1047
-#: ../../mod/ping.php:298
-msgid "g A l F d"
+#: ../../include/RedDAV/RedBrowser.php:312
+msgid "Create new folder"
msgstr ""
-#: ../../include/identity.php:968 ../../include/identity.php:1048
-msgid "F d"
+#: ../../include/RedDAV/RedBrowser.php:313 ../../mod/mitem.php:169
+#: ../../mod/menu.php:100 ../../mod/new_channel.php:121
+msgid "Create"
msgstr ""
-#: ../../include/identity.php:1013 ../../include/identity.php:1088
-#: ../../mod/ping.php:320
-msgid "[today]"
+#: ../../include/RedDAV/RedBrowser.php:314
+msgid "Upload file"
msgstr ""
-#: ../../include/identity.php:1025
-msgid "Birthday Reminders"
+#: ../../include/RedDAV/RedBrowser.php:315 ../../mod/profile_photo.php:361
+#: ../../mod/photos.php:735 ../../mod/photos.php:1243
+msgid "Upload"
msgstr ""
-#: ../../include/identity.php:1026
-msgid "Birthdays this week:"
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
msgstr ""
-#: ../../include/identity.php:1081
-msgid "[No description]"
+#: ../../include/dir_fns.php:68
+msgid "Directory Options"
msgstr ""
-#: ../../include/identity.php:1099
-msgid "Event Reminders"
+#: ../../include/dir_fns.php:69
+msgid "Alphabetic"
msgstr ""
-#: ../../include/identity.php:1100
-msgid "Events this week:"
+#: ../../include/dir_fns.php:70
+msgid "Reverse Alphabetic"
msgstr ""
-#: ../../include/identity.php:1121 ../../mod/settings.php:953
-msgid "Full Name:"
+#: ../../include/dir_fns.php:71
+msgid "Newest to Oldest"
msgstr ""
-#: ../../include/identity.php:1128
-msgid "Like this channel"
+#: ../../include/dir_fns.php:72
+msgid "Oldest to Newest"
msgstr ""
-#: ../../include/identity.php:1139 ../../include/taxonomy.php:338
-#: ../../include/ItemObject.php:146
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/dir_fns.php:73
+msgid "Public Forums Only"
+msgstr ""
-#: ../../include/identity.php:1152
-msgid "j F, Y"
+#: ../../include/dir_fns.php:75
+msgid "Sort"
msgstr ""
-#: ../../include/identity.php:1153
-msgid "j F"
+#: ../../include/dir_fns.php:91
+msgid "Enable Safe Search"
msgstr ""
-#: ../../include/identity.php:1160
-msgid "Birthday:"
+#: ../../include/dir_fns.php:93
+msgid "Disable Safe Search"
msgstr ""
-#: ../../include/identity.php:1164
-msgid "Age:"
+#: ../../include/dir_fns.php:95
+msgid "Safe Mode"
msgstr ""
-#: ../../include/identity.php:1173
-#, php-format
-msgid "for %1$d %2$s"
+#: ../../include/comanche.php:35 ../../mod/admin.php:353
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
msgstr ""
-#: ../../include/identity.php:1176 ../../mod/profiles.php:639
-msgid "Sexual Preference:"
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
msgstr ""
-#: ../../include/identity.php:1180 ../../mod/profiles.php:641
-msgid "Hometown:"
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
msgstr ""
-#: ../../include/identity.php:1182
-msgid "Tags:"
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
msgstr ""
-#: ../../include/identity.php:1184 ../../mod/profiles.php:642
-msgid "Political Views:"
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
msgstr ""
-#: ../../include/identity.php:1186
-msgid "Religion:"
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
msgstr ""
-#: ../../include/identity.php:1188 ../../mod/directory.php:164
-msgid "About:"
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
msgstr ""
-#: ../../include/identity.php:1190
-msgid "Hobbies/Interests:"
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
msgstr ""
-#: ../../include/identity.php:1192 ../../mod/profiles.php:645
-msgid "Likes:"
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
msgstr ""
-#: ../../include/identity.php:1194 ../../mod/profiles.php:646
-msgid "Dislikes:"
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
msgstr ""
-#: ../../include/identity.php:1197
-msgid "Contact information and Social Networks:"
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:726
+#: ../../mod/admin.php:735 ../../boot.php:1544
+msgid "Email"
msgstr ""
-#: ../../include/identity.php:1199
-msgid "My other channels:"
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
msgstr ""
-#: ../../include/identity.php:1201
-msgid "Musical interests:"
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
msgstr ""
-#: ../../include/identity.php:1203
-msgid "Books, literature:"
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
msgstr ""
-#: ../../include/identity.php:1205
-msgid "Television:"
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
msgstr ""
-#: ../../include/identity.php:1207
-msgid "Film/dance/culture/entertainment:"
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
msgstr ""
-#: ../../include/identity.php:1209
-msgid "Love/Romance:"
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
msgstr ""
-#: ../../include/identity.php:1211
-msgid "Work/employment:"
+#: ../../include/auth.php:130
+msgid "Logged out."
msgstr ""
-#: ../../include/identity.php:1213
-msgid "School/education:"
+#: ../../include/auth.php:271
+msgid "Failed authentication"
msgstr ""
-#: ../../include/identity.php:1233
-msgid "Like this thing"
+#: ../../include/auth.php:285 ../../mod/openid.php:190
+msgid "Login failed."
msgstr ""
-#: ../../include/conversation.php:120 ../../include/text.php:1743
-#: ../../include/diaspora.php:1924 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:174 ../../mod/tagger.php:45 ../../mod/like.php:294
-msgid "photo"
+#: ../../include/acl_selectors.php:240
+msgid "Visible to your default audience"
msgstr ""
-#: ../../include/conversation.php:123 ../../include/text.php:1746
-#: ../../mod/tagger.php:49
-msgid "event"
+#: ../../include/acl_selectors.php:241
+msgid "Show"
msgstr ""
-#: ../../include/conversation.php:126 ../../mod/like.php:89
-msgid "channel"
+#: ../../include/acl_selectors.php:242
+msgid "Don't show"
msgstr ""
-#: ../../include/conversation.php:148 ../../include/text.php:1749
-#: ../../include/diaspora.php:1924 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:174 ../../mod/tagger.php:53 ../../mod/like.php:294
-msgid "status"
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:596
+#: ../../mod/chat.php:209 ../../mod/filestorage.php:141
+#: ../../mod/photos.php:588 ../../mod/photos.php:947
+msgid "Permissions"
msgstr ""
-#: ../../include/conversation.php:150 ../../include/text.php:1751
-#: ../../mod/tagger.php:55
-msgid "comment"
+#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:320
+#: ../../mod/photos.php:1146
+msgid "Close"
msgstr ""
-#: ../../include/conversation.php:164 ../../include/diaspora.php:1953
-#: ../../mod/like.php:331
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
+#: ../../include/identity.php:31 ../../mod/item.php:1115
+msgid "Unable to obtain identity information from database"
msgstr ""
-#: ../../include/conversation.php:167 ../../mod/like.php:333
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
+#: ../../include/identity.php:66
+msgid "Empty name"
msgstr ""
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
+#: ../../include/identity.php:68
+msgid "Name too long"
msgstr ""
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
+#: ../../include/identity.php:169
+msgid "No account identifier"
msgstr ""
-#: ../../include/conversation.php:243 ../../include/text.php:901
-msgid "poked"
+#: ../../include/identity.php:182
+msgid "Nickname is required."
msgstr ""
-#: ../../include/conversation.php:261 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
+#: ../../include/identity.php:196
+msgid "Reserved nickname. Please choose another."
msgstr ""
-#: ../../include/conversation.php:637 ../../include/ItemObject.php:126
-msgid "Select"
+#: ../../include/identity.php:201 ../../include/dimport.php:34
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
msgstr ""
-#: ../../include/conversation.php:645 ../../include/ItemObject.php:89
-msgid "Private Message"
+#: ../../include/identity.php:283
+msgid "Unable to retrieve created identity"
msgstr ""
-#: ../../include/conversation.php:652 ../../include/ItemObject.php:194
-msgid "Message signature validated"
+#: ../../include/identity.php:343
+msgid "Default Profile"
msgstr ""
-#: ../../include/conversation.php:653 ../../include/ItemObject.php:195
-msgid "Message signature incorrect"
+#: ../../include/identity.php:387 ../../include/identity.php:388
+#: ../../include/identity.php:395 ../../include/widgets.php:428
+#: ../../include/profile_selectors.php:80 ../../mod/settings.php:329
+#: ../../mod/settings.php:333 ../../mod/settings.php:334
+#: ../../mod/settings.php:337 ../../mod/settings.php:348
+#: ../../mod/connedit.php:510
+msgid "Friends"
msgstr ""
-#: ../../include/conversation.php:674
-#, php-format
-msgid "View %s's profile @ %s"
+#: ../../include/identity.php:643
+msgid "Requested channel is not available."
msgstr ""
-#: ../../include/conversation.php:689
-msgid "Categories:"
+#: ../../include/identity.php:691 ../../mod/achievements.php:11
+#: ../../mod/profile.php:16 ../../mod/webpages.php:29 ../../mod/blocks.php:29
+#: ../../mod/editblock.php:29 ../../mod/editlayout.php:28
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:48
+#: ../../mod/connect.php:13 ../../mod/layouts.php:29 ../../mod/hcard.php:8
+msgid "Requested profile is not available."
msgstr ""
-#: ../../include/conversation.php:690
-msgid "Filed under:"
+#: ../../include/identity.php:840 ../../include/conversation.php:937
+#: ../../include/widgets.php:136 ../../include/widgets.php:175
+#: ../../include/Contact.php:107 ../../mod/suggest.php:51
+#: ../../mod/match.php:62 ../../mod/directory.php:264
+msgid "Connect"
msgstr ""
-#: ../../include/conversation.php:698 ../../include/ItemObject.php:265
-#, php-format
-msgid " from %s"
+#: ../../include/identity.php:854 ../../mod/profiles.php:757
+msgid "Change profile photo"
msgstr ""
-#: ../../include/conversation.php:701 ../../include/ItemObject.php:268
-#, php-format
-msgid "last edited: %s"
+#: ../../include/identity.php:861
+msgid "Profiles"
msgstr ""
-#: ../../include/conversation.php:702 ../../include/ItemObject.php:269
-#, php-format
-msgid "Expires: %s"
+#: ../../include/identity.php:861
+msgid "Manage/edit profiles"
msgstr ""
-#: ../../include/conversation.php:717
-msgid "View in context"
+#: ../../include/identity.php:862 ../../mod/profiles.php:758
+msgid "Create New Profile"
msgstr ""
-#: ../../include/conversation.php:719 ../../include/conversation.php:1153
-#: ../../include/ItemObject.php:310 ../../mod/photos.php:993
-#: ../../mod/editblock.php:120 ../../mod/editlayout.php:115
-#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:152
-#: ../../mod/mail.php:234 ../../mod/mail.php:349
-msgid "Please wait"
+#: ../../include/identity.php:865 ../../include/nav.php:103
+msgid "Edit Profile"
msgstr ""
-#: ../../include/conversation.php:843
-msgid "remove"
+#: ../../include/identity.php:878 ../../mod/profiles.php:769
+msgid "Profile Image"
msgstr ""
-#: ../../include/conversation.php:847 ../../include/nav.php:257
-msgid "Loading..."
+#: ../../include/identity.php:881
+msgid "visible to everybody"
msgstr ""
-#: ../../include/conversation.php:848
-msgid "Delete Selected Items"
+#: ../../include/identity.php:882 ../../mod/profiles.php:652
+#: ../../mod/profiles.php:773
+msgid "Edit visibility"
msgstr ""
-#: ../../include/conversation.php:942
-msgid "View Source"
+#: ../../include/identity.php:898 ../../include/identity.php:1135
+msgid "Gender:"
msgstr ""
-#: ../../include/conversation.php:943
-msgid "Follow Thread"
+#: ../../include/identity.php:899 ../../include/identity.php:1179
+msgid "Status:"
msgstr ""
-#: ../../include/conversation.php:944
-msgid "View Status"
+#: ../../include/identity.php:900 ../../include/identity.php:1190
+msgid "Homepage:"
msgstr ""
-#: ../../include/conversation.php:945 ../../include/nav.php:99
-#: ../../mod/connedit.php:415 ../../mod/connedit.php:529
-msgid "View Profile"
+#: ../../include/identity.php:901
+msgid "Online Now"
msgstr ""
-#: ../../include/conversation.php:946
-msgid "View Photos"
+#: ../../include/identity.php:979 ../../include/identity.php:1059
+#: ../../mod/ping.php:329
+msgid "g A l F d"
msgstr ""
-#: ../../include/conversation.php:947
-msgid "Matrix Activity"
+#: ../../include/identity.php:980 ../../include/identity.php:1060
+msgid "F d"
msgstr ""
-#: ../../include/conversation.php:949
-msgid "Edit Contact"
+#: ../../include/identity.php:1025 ../../include/identity.php:1100
+#: ../../mod/ping.php:351
+msgid "[today]"
msgstr ""
-#: ../../include/conversation.php:950
-msgid "Send PM"
+#: ../../include/identity.php:1037
+msgid "Birthday Reminders"
msgstr ""
-#: ../../include/conversation.php:1024
-#, php-format
-msgid "%s likes this."
+#: ../../include/identity.php:1038
+msgid "Birthdays this week:"
msgstr ""
-#: ../../include/conversation.php:1024
-#, php-format
-msgid "%s doesn't like this."
+#: ../../include/identity.php:1093
+msgid "[No description]"
msgstr ""
-#: ../../include/conversation.php:1028
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/identity.php:1111
+msgid "Event Reminders"
+msgstr ""
-#: ../../include/conversation.php:1030
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/identity.php:1112
+msgid "Events this week:"
+msgstr ""
-#: ../../include/conversation.php:1036
-msgid "and"
+#: ../../include/identity.php:1125 ../../include/identity.php:1254
+#: ../../include/apps.php:138 ../../mod/profperm.php:112
+msgid "Profile"
msgstr ""
-#: ../../include/conversation.php:1039
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/identity.php:1133 ../../mod/settings.php:1022
+msgid "Full Name:"
+msgstr ""
-#: ../../include/conversation.php:1040
-#, php-format
-msgid "%s like this."
+#: ../../include/identity.php:1140
+msgid "Like this channel"
+msgstr ""
+
+#: ../../include/identity.php:1164
+msgid "j F, Y"
+msgstr ""
+
+#: ../../include/identity.php:1165
+msgid "j F"
msgstr ""
-#: ../../include/conversation.php:1040
+#: ../../include/identity.php:1172
+msgid "Birthday:"
+msgstr ""
+
+#: ../../include/identity.php:1176
+msgid "Age:"
+msgstr ""
+
+#: ../../include/identity.php:1185
#, php-format
-msgid "%s don't like this."
+msgid "for %1$d %2$s"
msgstr ""
-#: ../../include/conversation.php:1097
-msgid "Visible to <strong>everybody</strong>"
+#: ../../include/identity.php:1188 ../../mod/profiles.php:674
+msgid "Sexual Preference:"
msgstr ""
-#: ../../include/conversation.php:1098 ../../mod/mail.php:170
-#: ../../mod/mail.php:282
-msgid "Please enter a link URL:"
+#: ../../include/identity.php:1192 ../../mod/profiles.php:676
+msgid "Hometown:"
msgstr ""
-#: ../../include/conversation.php:1099
-msgid "Please enter a video link/URL:"
+#: ../../include/identity.php:1194
+msgid "Tags:"
msgstr ""
-#: ../../include/conversation.php:1100
-msgid "Please enter an audio link/URL:"
+#: ../../include/identity.php:1196 ../../mod/profiles.php:677
+msgid "Political Views:"
msgstr ""
-#: ../../include/conversation.php:1101
-msgid "Tag term:"
+#: ../../include/identity.php:1198
+msgid "Religion:"
msgstr ""
-#: ../../include/conversation.php:1102 ../../mod/filer.php:49
-msgid "Save to Folder:"
+#: ../../include/identity.php:1200
+msgid "About:"
msgstr ""
-#: ../../include/conversation.php:1103
-msgid "Where are you right now?"
+#: ../../include/identity.php:1202
+msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/conversation.php:1104 ../../mod/editpost.php:52
-#: ../../mod/mail.php:171 ../../mod/mail.php:283
-msgid "Expires YYYY-MM-DD HH:MM"
+#: ../../include/identity.php:1204 ../../mod/profiles.php:680
+msgid "Likes:"
msgstr ""
-#: ../../include/conversation.php:1128 ../../mod/photos.php:992
-#: ../../mod/editblock.php:168 ../../mod/editlayout.php:161
-#: ../../mod/editwebpage.php:201 ../../mod/layouts.php:122
-msgid "Share"
+#: ../../include/identity.php:1206 ../../mod/profiles.php:681
+msgid "Dislikes:"
msgstr ""
-#: ../../include/conversation.php:1130 ../../mod/editwebpage.php:139
-msgid "Page link title"
+#: ../../include/identity.php:1209
+msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/conversation.php:1133
-msgid "Post as"
+#: ../../include/identity.php:1221
+msgid "My other channels:"
msgstr ""
-#: ../../include/conversation.php:1134 ../../mod/editblock.php:112
-#: ../../mod/editlayout.php:107 ../../mod/editpost.php:113
-#: ../../mod/editwebpage.php:144 ../../mod/mail.php:231 ../../mod/mail.php:345
-msgid "Upload photo"
+#: ../../include/identity.php:1224
+msgid "Musical interests:"
msgstr ""
-#: ../../include/conversation.php:1135
-msgid "upload photo"
+#: ../../include/identity.php:1226
+msgid "Books, literature:"
msgstr ""
-#: ../../include/conversation.php:1136 ../../mod/editblock.php:113
-#: ../../mod/editlayout.php:108 ../../mod/editpost.php:114
-#: ../../mod/editwebpage.php:145 ../../mod/mail.php:232 ../../mod/mail.php:346
-msgid "Attach file"
+#: ../../include/identity.php:1228
+msgid "Television:"
msgstr ""
-#: ../../include/conversation.php:1137
-msgid "attach file"
+#: ../../include/identity.php:1230
+msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/conversation.php:1138 ../../mod/editblock.php:114
-#: ../../mod/editlayout.php:109 ../../mod/editpost.php:115
-#: ../../mod/editwebpage.php:146 ../../mod/mail.php:233 ../../mod/mail.php:347
-msgid "Insert web link"
+#: ../../include/identity.php:1232
+msgid "Love/Romance:"
msgstr ""
-#: ../../include/conversation.php:1139
-msgid "web link"
+#: ../../include/identity.php:1234
+msgid "Work/employment:"
msgstr ""
-#: ../../include/conversation.php:1140
-msgid "Insert video link"
+#: ../../include/identity.php:1236
+msgid "School/education:"
msgstr ""
-#: ../../include/conversation.php:1141
-msgid "video link"
+#: ../../include/identity.php:1256
+msgid "Like this thing"
msgstr ""
-#: ../../include/conversation.php:1142
-msgid "Insert audio link"
+#: ../../include/contact_widgets.php:14
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:416
+msgid "Advanced"
msgstr ""
-#: ../../include/conversation.php:1143
-msgid "audio link"
+#: ../../include/contact_widgets.php:22
+msgid "Find Channels"
msgstr ""
-#: ../../include/conversation.php:1144 ../../mod/editblock.php:118
-#: ../../mod/editlayout.php:113 ../../mod/editpost.php:119
-#: ../../mod/editwebpage.php:150
-msgid "Set your location"
+#: ../../include/contact_widgets.php:23
+msgid "Enter name or interest"
msgstr ""
-#: ../../include/conversation.php:1145
-msgid "set location"
+#: ../../include/contact_widgets.php:24
+msgid "Connect/Follow"
msgstr ""
-#: ../../include/conversation.php:1146 ../../mod/editblock.php:119
-#: ../../mod/editlayout.php:114 ../../mod/editpost.php:120
-#: ../../mod/editwebpage.php:151
-msgid "Clear browser location"
+#: ../../include/contact_widgets.php:25
+msgid "Examples: Robert Morgenstein, Fishing"
msgstr ""
-#: ../../include/conversation.php:1147
-msgid "clear location"
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:412
+#: ../../mod/directory.php:317 ../../mod/directory.php:322
+msgid "Find"
msgstr ""
-#: ../../include/conversation.php:1149 ../../mod/editblock.php:132
-#: ../../mod/editlayout.php:126 ../../mod/editpost.php:132
-#: ../../mod/editwebpage.php:167
-msgid "Set title"
+#: ../../include/contact_widgets.php:27 ../../mod/suggest.php:59
+#: ../../mod/directory.php:321
+msgid "Channel Suggestions"
msgstr ""
-#: ../../include/conversation.php:1152 ../../mod/events.php:563
-#: ../../mod/editblock.php:135 ../../mod/editlayout.php:129
-#: ../../mod/editpost.php:134 ../../mod/editwebpage.php:169
-msgid "Categories (comma-separated list)"
+#: ../../include/contact_widgets.php:29
+msgid "Random Profile"
msgstr ""
-#: ../../include/conversation.php:1154 ../../mod/editblock.php:121
-#: ../../mod/editlayout.php:116 ../../mod/editpost.php:122
-#: ../../mod/editwebpage.php:153
-msgid "Permission settings"
+#: ../../include/contact_widgets.php:30
+msgid "Invite Friends"
msgstr ""
-#: ../../include/conversation.php:1155
-msgid "permissions"
+#: ../../include/contact_widgets.php:32
+msgid "Advanced example: name=fred and country=iceland"
msgstr ""
-#: ../../include/conversation.php:1162 ../../mod/editblock.php:129
-#: ../../mod/editlayout.php:123 ../../mod/editpost.php:129
-#: ../../mod/editwebpage.php:162
-msgid "Public post"
+#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:95
+#: ../../include/widgets.php:305
+msgid "Everything"
msgstr ""
-#: ../../include/conversation.php:1164 ../../mod/editblock.php:136
-#: ../../mod/editlayout.php:130 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:170
-msgid "Example: bob@example.com, mary@example.com"
+#: ../../include/contact_widgets.php:125
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/contact_widgets.php:130
+msgid "show more"
msgstr ""
-#: ../../include/conversation.php:1177 ../../mod/editblock.php:146
-#: ../../mod/editlayout.php:140 ../../mod/editpost.php:146
-#: ../../mod/editwebpage.php:179 ../../mod/mail.php:238 ../../mod/mail.php:352
-msgid "Set expiration date"
+#: ../../include/event.php:376
+msgid "This event has been added to your calendar."
msgstr ""
-#: ../../include/conversation.php:1179 ../../include/ItemObject.php:611
-#: ../../mod/editpost.php:148 ../../mod/mail.php:240 ../../mod/mail.php:354
-msgid "Encrypt text"
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
msgstr ""
-#: ../../include/conversation.php:1181 ../../mod/events.php:569
-#: ../../mod/editpost.php:150
-msgid "OK"
+#: ../../include/group.php:235
+msgid "Default privacy group for new contacts"
msgstr ""
-#: ../../include/conversation.php:1182 ../../mod/settings.php:520
-#: ../../mod/settings.php:546 ../../mod/events.php:568
-#: ../../mod/editpost.php:151 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
-msgid "Cancel"
+#: ../../include/group.php:254 ../../mod/admin.php:735
+msgid "All Channels"
msgstr ""
-#: ../../include/conversation.php:1426
-msgid "Discover"
+#: ../../include/group.php:276
+msgid "edit"
msgstr ""
-#: ../../include/conversation.php:1429
-msgid "Imported public streams"
+#: ../../include/group.php:298
+msgid "Collections"
msgstr ""
-#: ../../include/conversation.php:1434
-msgid "Commented Order"
+#: ../../include/group.php:299
+msgid "Edit collection"
msgstr ""
-#: ../../include/conversation.php:1437
-msgid "Sort by Comment Date"
+#: ../../include/group.php:300
+msgid "Create a new collection"
msgstr ""
-#: ../../include/conversation.php:1441
-msgid "Posted Order"
+#: ../../include/group.php:301
+msgid "Channels not in any collection"
msgstr ""
-#: ../../include/conversation.php:1444
-msgid "Sort by Post Date"
+#: ../../include/group.php:303 ../../include/widgets.php:273
+msgid "add"
msgstr ""
-#: ../../include/conversation.php:1452
-msgid "Posts that mention or involve you"
+#: ../../include/account.php:23
+msgid "Not a valid email address"
msgstr ""
-#: ../../include/conversation.php:1458 ../../mod/connections.php:211
-#: ../../mod/connections.php:224 ../../mod/menu.php:61
-msgid "New"
+#: ../../include/account.php:25
+msgid "Your email domain is not among those allowed on this site"
msgstr ""
-#: ../../include/conversation.php:1461
-msgid "Activity Stream - by date"
+#: ../../include/account.php:31
+msgid "Your email address is already registered at this site."
msgstr ""
-#: ../../include/conversation.php:1467
-msgid "Starred"
+#: ../../include/account.php:64
+msgid "An invitation is required."
msgstr ""
-#: ../../include/conversation.php:1470
-msgid "Favourite Posts"
+#: ../../include/account.php:68
+msgid "Invitation could not be verified."
msgstr ""
-#: ../../include/conversation.php:1477
-msgid "Spam"
+#: ../../include/account.php:119
+msgid "Please enter the required information."
msgstr ""
-#: ../../include/conversation.php:1480
-msgid "Posts flagged as SPAM"
+#: ../../include/account.php:187
+msgid "Failed to store account information."
msgstr ""
-#: ../../include/conversation.php:1516 ../../mod/admin.php:867
-msgid "Channel"
+#: ../../include/account.php:245
+#, php-format
+msgid "Registration confirmation for %s"
msgstr ""
-#: ../../include/conversation.php:1519
-msgid "Status Messages and Posts"
+#: ../../include/account.php:313
+#, php-format
+msgid "Registration request at %s"
msgstr ""
-#: ../../include/conversation.php:1528
-msgid "About"
+#: ../../include/account.php:315 ../../include/account.php:342
+#: ../../include/account.php:399
+msgid "Administrator"
msgstr ""
-#: ../../include/conversation.php:1531
-msgid "Profile Details"
+#: ../../include/account.php:337
+msgid "your registration password"
msgstr ""
-#: ../../include/conversation.php:1549
-msgid "Files and Storage"
+#: ../../include/account.php:340 ../../include/account.php:397
+#, php-format
+msgid "Registration details for %s"
msgstr ""
-#: ../../include/conversation.php:1558 ../../include/conversation.php:1561
-msgid "Chatrooms"
+#: ../../include/account.php:406
+msgid "Account approved."
msgstr ""
-#: ../../include/conversation.php:1573
-msgid "Saved Bookmarks"
+#: ../../include/account.php:440
+#, php-format
+msgid "Registration revoked for %s"
msgstr ""
-#: ../../include/conversation.php:1584
-msgid "Manage Webpages"
+#: ../../include/account.php:486
+msgid "Account verified. Please login."
msgstr ""
-#: ../../include/auth.php:116
-msgid "Logged out."
+#: ../../include/account.php:648 ../../include/account.php:650
+msgid "Click here to upgrade."
msgstr ""
-#: ../../include/auth.php:257
-msgid "Failed authentication"
+#: ../../include/account.php:656
+msgid "This action exceeds the limits set by your subscription plan."
msgstr ""
-#: ../../include/auth.php:271 ../../mod/openid.php:190
-msgid "Login failed."
+#: ../../include/account.php:661
+msgid "This action is not available under your subscription plan."
msgstr ""
-#: ../../include/text.php:321
+#: ../../include/text.php:320
msgid "prev"
msgstr ""
-#: ../../include/text.php:323
+#: ../../include/text.php:322
msgid "first"
msgstr ""
-#: ../../include/text.php:352
+#: ../../include/text.php:351
msgid "last"
msgstr ""
-#: ../../include/text.php:355
+#: ../../include/text.php:354
msgid "next"
msgstr ""
-#: ../../include/text.php:367
+#: ../../include/text.php:366
msgid "older"
msgstr ""
-#: ../../include/text.php:369
+#: ../../include/text.php:368
msgid "newer"
msgstr ""
-#: ../../include/text.php:736
+#: ../../include/text.php:756
msgid "No connections"
msgstr ""
-#: ../../include/text.php:749
+#: ../../include/text.php:772
#, php-format
msgid "%d Connection"
msgid_plural "%d Connections"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/text.php:762
+#: ../../include/text.php:785
msgid "View Connections"
msgstr ""
-#: ../../include/text.php:901
+#: ../../include/text.php:842 ../../include/text.php:854
+#: ../../include/apps.php:147 ../../include/nav.php:173
+#: ../../mod/search.php:30
+msgid "Search"
+msgstr ""
+
+#: ../../include/text.php:843 ../../include/text.php:855
+#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
+#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1339
+#: ../../mod/admin.php:1360
+msgid "Save"
+msgstr ""
+
+#: ../../include/text.php:920
msgid "poke"
msgstr ""
-#: ../../include/text.php:902
+#: ../../include/text.php:920 ../../include/conversation.php:243
+msgid "poked"
+msgstr ""
+
+#: ../../include/text.php:921
msgid "ping"
msgstr ""
-#: ../../include/text.php:902
+#: ../../include/text.php:921
msgid "pinged"
msgstr ""
-#: ../../include/text.php:903
+#: ../../include/text.php:922
msgid "prod"
msgstr ""
-#: ../../include/text.php:903
+#: ../../include/text.php:922
msgid "prodded"
msgstr ""
-#: ../../include/text.php:904
+#: ../../include/text.php:923
msgid "slap"
msgstr ""
-#: ../../include/text.php:904
+#: ../../include/text.php:923
msgid "slapped"
msgstr ""
-#: ../../include/text.php:905
+#: ../../include/text.php:924
msgid "finger"
msgstr ""
-#: ../../include/text.php:905
+#: ../../include/text.php:924
msgid "fingered"
msgstr ""
-#: ../../include/text.php:906
+#: ../../include/text.php:925
msgid "rebuff"
msgstr ""
-#: ../../include/text.php:906
+#: ../../include/text.php:925
msgid "rebuffed"
msgstr ""
-#: ../../include/text.php:915
+#: ../../include/text.php:935
msgid "happy"
msgstr ""
-#: ../../include/text.php:916
+#: ../../include/text.php:936
msgid "sad"
msgstr ""
-#: ../../include/text.php:917
+#: ../../include/text.php:937
msgid "mellow"
msgstr ""
-#: ../../include/text.php:918
+#: ../../include/text.php:938
msgid "tired"
msgstr ""
-#: ../../include/text.php:919
+#: ../../include/text.php:939
msgid "perky"
msgstr ""
-#: ../../include/text.php:920
+#: ../../include/text.php:940
msgid "angry"
msgstr ""
-#: ../../include/text.php:921
+#: ../../include/text.php:941
msgid "stupified"
msgstr ""
-#: ../../include/text.php:922
+#: ../../include/text.php:942
msgid "puzzled"
msgstr ""
-#: ../../include/text.php:923
+#: ../../include/text.php:943
msgid "interested"
msgstr ""
-#: ../../include/text.php:924
+#: ../../include/text.php:944
msgid "bitter"
msgstr ""
-#: ../../include/text.php:925
+#: ../../include/text.php:945
msgid "cheerful"
msgstr ""
-#: ../../include/text.php:926
+#: ../../include/text.php:946
msgid "alive"
msgstr ""
-#: ../../include/text.php:927
+#: ../../include/text.php:947
msgid "annoyed"
msgstr ""
-#: ../../include/text.php:928
+#: ../../include/text.php:948
msgid "anxious"
msgstr ""
-#: ../../include/text.php:929
+#: ../../include/text.php:949
msgid "cranky"
msgstr ""
-#: ../../include/text.php:930
+#: ../../include/text.php:950
msgid "disturbed"
msgstr ""
-#: ../../include/text.php:931
+#: ../../include/text.php:951
msgid "frustrated"
msgstr ""
-#: ../../include/text.php:932
+#: ../../include/text.php:952
msgid "depressed"
msgstr ""
-#: ../../include/text.php:933
+#: ../../include/text.php:953
msgid "motivated"
msgstr ""
-#: ../../include/text.php:934
+#: ../../include/text.php:954
msgid "relaxed"
msgstr ""
-#: ../../include/text.php:935
+#: ../../include/text.php:955
msgid "surprised"
msgstr ""
-#: ../../include/text.php:1099
+#: ../../include/text.php:1121
msgid "Monday"
msgstr ""
-#: ../../include/text.php:1099
+#: ../../include/text.php:1121
msgid "Tuesday"
msgstr ""
-#: ../../include/text.php:1099
+#: ../../include/text.php:1121
msgid "Wednesday"
msgstr ""
-#: ../../include/text.php:1099
+#: ../../include/text.php:1121
msgid "Thursday"
msgstr ""
-#: ../../include/text.php:1099
+#: ../../include/text.php:1121
msgid "Friday"
msgstr ""
-#: ../../include/text.php:1099
+#: ../../include/text.php:1121
msgid "Saturday"
msgstr ""
-#: ../../include/text.php:1099
+#: ../../include/text.php:1121
msgid "Sunday"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "January"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "February"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "March"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "April"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "May"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "June"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "July"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "August"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "September"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "October"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "November"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1125
msgid "December"
msgstr ""
-#: ../../include/text.php:1181
+#: ../../include/text.php:1203
msgid "unknown.???"
msgstr ""
-#: ../../include/text.php:1182
+#: ../../include/text.php:1204
msgid "bytes"
msgstr ""
-#: ../../include/text.php:1221
+#: ../../include/text.php:1240
msgid "remove category"
msgstr ""
-#: ../../include/text.php:1291
+#: ../../include/text.php:1309
msgid "remove from file"
msgstr ""
-#: ../../include/text.php:1356 ../../include/text.php:1368
+#: ../../include/text.php:1385 ../../include/text.php:1396
msgid "Click to open/close"
msgstr ""
-#: ../../include/text.php:1523 ../../mod/events.php:409
+#: ../../include/text.php:1544 ../../mod/events.php:414
msgid "Link to Source"
msgstr ""
-#: ../../include/text.php:1542
+#: ../../include/text.php:1563
msgid "Select a page layout: "
msgstr ""
-#: ../../include/text.php:1545 ../../include/text.php:1610
+#: ../../include/text.php:1566 ../../include/text.php:1626
msgid "default"
msgstr ""
-#: ../../include/text.php:1581
+#: ../../include/text.php:1599
msgid "Page content type: "
msgstr ""
-#: ../../include/text.php:1622
+#: ../../include/text.php:1638
msgid "Select an alternate language"
msgstr ""
-#: ../../include/text.php:1756
+#: ../../include/text.php:1757 ../../include/conversation.php:120
+#: ../../include/diaspora.php:1928 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/like.php:290 ../../mod/tagger.php:45
+msgid "photo"
+msgstr ""
+
+#: ../../include/text.php:1760 ../../include/conversation.php:123
+#: ../../mod/tagger.php:49
+msgid "event"
+msgstr ""
+
+#: ../../include/text.php:1763 ../../include/conversation.php:148
+#: ../../include/diaspora.php:1928 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/like.php:290 ../../mod/tagger.php:53
+msgid "status"
+msgstr ""
+
+#: ../../include/text.php:1765 ../../include/conversation.php:150
+#: ../../mod/tagger.php:55
+msgid "comment"
+msgstr ""
+
+#: ../../include/text.php:1770
msgid "activity"
msgstr ""
-#: ../../include/text.php:2028
+#: ../../include/text.php:2057
msgid "Design"
msgstr ""
-#: ../../include/text.php:2030
+#: ../../include/text.php:2060
msgid "Blocks"
msgstr ""
-#: ../../include/text.php:2031
+#: ../../include/text.php:2061
msgid "Menus"
msgstr ""
-#: ../../include/text.php:2032
+#: ../../include/text.php:2062
msgid "Layouts"
msgstr ""
-#: ../../include/text.php:2033
+#: ../../include/text.php:2063
msgid "Pages"
msgstr ""
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr ""
-
-#: ../../include/taxonomy.php:210
-msgid "Tags"
+#: ../../include/api.php:1084
+msgid "Public Timeline"
msgstr ""
-#: ../../include/taxonomy.php:227
-msgid "Keywords"
+#: ../../include/chat.php:10
+msgid "Missing room name"
msgstr ""
-#: ../../include/taxonomy.php:252
-msgid "have"
+#: ../../include/chat.php:19
+msgid "Duplicate room name"
msgstr ""
-#: ../../include/taxonomy.php:252
-msgid "has"
+#: ../../include/chat.php:68 ../../include/chat.php:76
+msgid "Invalid room specifier."
msgstr ""
-#: ../../include/taxonomy.php:253
-msgid "want"
+#: ../../include/chat.php:105
+msgid "Room not found."
msgstr ""
-#: ../../include/taxonomy.php:253
-msgid "wants"
+#: ../../include/chat.php:126
+msgid "Room is full"
msgstr ""
-#: ../../include/taxonomy.php:254 ../../include/ItemObject.php:221
-msgid "like"
+#: ../../include/follow.php:28
+msgid "Channel is blocked on this site."
msgstr ""
-#: ../../include/taxonomy.php:254
-msgid "likes"
+#: ../../include/follow.php:33
+msgid "Channel location missing."
msgstr ""
-#: ../../include/taxonomy.php:255 ../../include/ItemObject.php:222
-msgid "dislike"
+#: ../../include/follow.php:82
+msgid "Response from remote channel was incomplete."
msgstr ""
-#: ../../include/taxonomy.php:255
-msgid "dislikes"
+#: ../../include/follow.php:99
+msgid "Channel was deleted and no longer exists."
msgstr ""
-#: ../../include/comanche.php:35 ../../view/theme/apw/php/config.php:185
-msgid "Default"
+#: ../../include/follow.php:135 ../../include/follow.php:202
+msgid "Protocol disabled."
msgstr ""
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
+#: ../../include/follow.php:176
+msgid "Channel discovery failed."
msgstr ""
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
+#: ../../include/follow.php:192
+msgid "local account not found."
msgstr ""
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
+#: ../../include/follow.php:220
+msgid "Cannot connect to yourself."
msgstr ""
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
+#: ../../include/conversation.php:126 ../../mod/like.php:89
+msgid "channel"
msgstr ""
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
+#: ../../include/conversation.php:164 ../../include/diaspora.php:1957
+#: ../../mod/like.php:336
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
msgstr ""
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
+#: ../../include/conversation.php:167 ../../mod/like.php:338
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
msgstr ""
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
msgstr ""
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
+#: ../../include/conversation.php:261 ../../mod/mood.php:63
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
msgstr ""
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:728
-#: ../../mod/admin.php:737 ../../boot.php:1498
-msgid "Email"
+#: ../../include/conversation.php:638 ../../include/ItemObject.php:126
+msgid "Select"
msgstr ""
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
+#: ../../include/conversation.php:646 ../../include/ItemObject.php:89
+msgid "Private Message"
msgstr ""
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
+#: ../../include/conversation.php:653 ../../include/ItemObject.php:194
+msgid "Message signature validated"
msgstr ""
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
+#: ../../include/conversation.php:654 ../../include/ItemObject.php:195
+msgid "Message signature incorrect"
msgstr ""
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
+#: ../../include/conversation.php:674
+#, php-format
+msgid "View %s's profile @ %s"
msgstr ""
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
+#: ../../include/conversation.php:689
+msgid "Categories:"
msgstr ""
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
+#: ../../include/conversation.php:690
+msgid "Filed under:"
msgstr ""
-#: ../../include/contact_widgets.php:14
+#: ../../include/conversation.php:698 ../../include/ItemObject.php:274
#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:418
-msgid "Advanced"
+msgid " from %s"
msgstr ""
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
+#: ../../include/conversation.php:701 ../../include/ItemObject.php:277
+#, php-format
+msgid "last edited: %s"
msgstr ""
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
+#: ../../include/conversation.php:702 ../../include/ItemObject.php:278
+#, php-format
+msgid "Expires: %s"
msgstr ""
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
+#: ../../include/conversation.php:717
+msgid "View in context"
msgstr ""
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
+#: ../../include/conversation.php:719 ../../include/conversation.php:1142
+#: ../../include/ItemObject.php:325 ../../mod/editpost.php:121
+#: ../../mod/mail.php:238 ../../mod/mail.php:353 ../../mod/editblock.php:152
+#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:183
+#: ../../mod/photos.php:975
+msgid "Please wait"
msgstr ""
-#: ../../include/contact_widgets.php:26 ../../mod/connections.php:412
-#: ../../mod/directory.php:222 ../../mod/directory.php:227
-msgid "Find"
+#: ../../include/conversation.php:835
+msgid "remove"
msgstr ""
-#: ../../include/contact_widgets.php:27 ../../mod/suggest.php:59
-msgid "Channel Suggestions"
+#: ../../include/conversation.php:839 ../../include/nav.php:257
+msgid "Loading..."
msgstr ""
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
+#: ../../include/conversation.php:840
+msgid "Delete Selected Items"
msgstr ""
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
+#: ../../include/conversation.php:931
+msgid "View Source"
msgstr ""
-#: ../../include/contact_widgets.php:32
-msgid "Exammple: name=fred and country=iceland"
+#: ../../include/conversation.php:932
+msgid "Follow Thread"
msgstr ""
-#: ../../include/contact_widgets.php:33
-msgid "Advanced Find"
+#: ../../include/conversation.php:933
+msgid "View Status"
msgstr ""
-#: ../../include/contact_widgets.php:126
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/contact_widgets.php:131
-msgid "show more"
+#: ../../include/conversation.php:934 ../../include/nav.php:99
+#: ../../mod/connedit.php:429 ../../mod/connedit.php:545
+msgid "View Profile"
msgstr ""
-#: ../../include/event.php:11 ../../include/bb2diaspora.php:458
-msgid "l F d, Y \\@ g:i A"
+#: ../../include/conversation.php:935
+msgid "View Photos"
msgstr ""
-#: ../../include/event.php:20 ../../include/bb2diaspora.php:464
-msgid "Starts:"
+#: ../../include/conversation.php:936
+msgid "Matrix Activity"
msgstr ""
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:472
-msgid "Finishes:"
+#: ../../include/conversation.php:938
+msgid "Edit Contact"
msgstr ""
-#: ../../include/event.php:326
-msgid "This event has been added to your calendar."
+#: ../../include/conversation.php:939
+msgid "Send PM"
msgstr ""
-#: ../../include/account.php:23
-msgid "Not a valid email address"
+#: ../../include/conversation.php:940 ../../include/apps.php:145
+msgid "Poke"
msgstr ""
-#: ../../include/account.php:25
-msgid "Your email domain is not among those allowed on this site"
+#: ../../include/conversation.php:1013
+#, php-format
+msgid "%s likes this."
msgstr ""
-#: ../../include/account.php:31
-msgid "Your email address is already registered at this site."
+#: ../../include/conversation.php:1013
+#, php-format
+msgid "%s doesn't like this."
msgstr ""
-#: ../../include/account.php:64
-msgid "An invitation is required."
-msgstr ""
+#: ../../include/conversation.php:1017
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/account.php:68
-msgid "Invitation could not be verified."
-msgstr ""
+#: ../../include/conversation.php:1019
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/account.php:119
-msgid "Please enter the required information."
+#: ../../include/conversation.php:1025
+msgid "and"
msgstr ""
-#: ../../include/account.php:187
-msgid "Failed to store account information."
-msgstr ""
+#: ../../include/conversation.php:1028
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/account.php:245
+#: ../../include/conversation.php:1029
#, php-format
-msgid "Registration confirmation for %s"
+msgid "%s like this."
msgstr ""
-#: ../../include/account.php:313
+#: ../../include/conversation.php:1029
#, php-format
-msgid "Registration request at %s"
+msgid "%s don't like this."
msgstr ""
-#: ../../include/account.php:315 ../../include/account.php:342
-#: ../../include/account.php:399
-msgid "Administrator"
+#: ../../include/conversation.php:1086
+msgid "Visible to <strong>everybody</strong>"
msgstr ""
-#: ../../include/account.php:337
-msgid "your registration password"
+#: ../../include/conversation.php:1087 ../../mod/mail.php:171
+#: ../../mod/mail.php:286
+msgid "Please enter a link URL:"
msgstr ""
-#: ../../include/account.php:340 ../../include/account.php:397
-#, php-format
-msgid "Registration details for %s"
+#: ../../include/conversation.php:1088
+msgid "Please enter a video link/URL:"
msgstr ""
-#: ../../include/account.php:406
-msgid "Account approved."
+#: ../../include/conversation.php:1089
+msgid "Please enter an audio link/URL:"
msgstr ""
-#: ../../include/account.php:440
-#, php-format
-msgid "Registration revoked for %s"
+#: ../../include/conversation.php:1090
+msgid "Tag term:"
msgstr ""
-#: ../../include/account.php:486
-msgid "Account verified. Please login."
+#: ../../include/conversation.php:1091 ../../mod/filer.php:49
+msgid "Save to Folder:"
msgstr ""
-#: ../../include/account.php:647 ../../include/account.php:649
-msgid "Click here to upgrade."
+#: ../../include/conversation.php:1092
+msgid "Where are you right now?"
msgstr ""
-#: ../../include/account.php:655
-msgid "This action exceeds the limits set by your subscription plan."
+#: ../../include/conversation.php:1093 ../../mod/editpost.php:52
+#: ../../mod/mail.php:172 ../../mod/mail.php:287
+msgid "Expires YYYY-MM-DD HH:MM"
msgstr ""
-#: ../../include/account.php:660
-msgid "This action is not available under your subscription plan."
+#: ../../include/conversation.php:1117 ../../mod/editblock.php:198
+#: ../../mod/editlayout.php:193 ../../mod/editwebpage.php:230
+#: ../../mod/layouts.php:168 ../../mod/photos.php:974
+msgid "Share"
msgstr ""
-#: ../../include/nav.php:95 ../../include/nav.php:128 ../../boot.php:1495
-msgid "Logout"
+#: ../../include/conversation.php:1119 ../../mod/editwebpage.php:170
+msgid "Page link title"
msgstr ""
-#: ../../include/nav.php:95 ../../include/nav.php:128
-msgid "End this session"
+#: ../../include/conversation.php:1122
+msgid "Post as"
msgstr ""
-#: ../../include/nav.php:98 ../../include/nav.php:159
-msgid "Home"
+#: ../../include/conversation.php:1123 ../../mod/editpost.php:113
+#: ../../mod/mail.php:235 ../../mod/mail.php:349 ../../mod/editblock.php:144
+#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:175
+msgid "Upload photo"
msgstr ""
-#: ../../include/nav.php:98
-msgid "Your posts and conversations"
+#: ../../include/conversation.php:1124
+msgid "upload photo"
msgstr ""
-#: ../../include/nav.php:99
-msgid "Your profile page"
+#: ../../include/conversation.php:1125 ../../mod/editpost.php:114
+#: ../../mod/mail.php:236 ../../mod/mail.php:350 ../../mod/editblock.php:145
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:176
+msgid "Attach file"
msgstr ""
-#: ../../include/nav.php:101
-msgid "Edit Profiles"
+#: ../../include/conversation.php:1126
+msgid "attach file"
msgstr ""
-#: ../../include/nav.php:101
-msgid "Manage/Edit profiles"
+#: ../../include/conversation.php:1127 ../../mod/editpost.php:115
+#: ../../mod/mail.php:237 ../../mod/mail.php:351 ../../mod/editblock.php:146
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:177
+msgid "Insert web link"
msgstr ""
-#: ../../include/nav.php:103
-msgid "Edit your profile"
+#: ../../include/conversation.php:1128
+msgid "web link"
msgstr ""
-#: ../../include/nav.php:105
-msgid "Your photos"
+#: ../../include/conversation.php:1129
+msgid "Insert video link"
msgstr ""
-#: ../../include/nav.php:106
-msgid "Your files"
+#: ../../include/conversation.php:1130
+msgid "video link"
msgstr ""
-#: ../../include/nav.php:111
-msgid "Your chatrooms"
+#: ../../include/conversation.php:1131
+msgid "Insert audio link"
msgstr ""
-#: ../../include/nav.php:117
-msgid "Your bookmarks"
+#: ../../include/conversation.php:1132
+msgid "audio link"
msgstr ""
-#: ../../include/nav.php:121
-msgid "Your webpages"
+#: ../../include/conversation.php:1133 ../../mod/editpost.php:119
+#: ../../mod/editblock.php:150 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:181
+msgid "Set your location"
msgstr ""
-#: ../../include/nav.php:125
-msgid "Sign in"
+#: ../../include/conversation.php:1134
+msgid "set location"
msgstr ""
-#: ../../include/nav.php:142
-#, php-format
-msgid "%s - click to logout"
+#: ../../include/conversation.php:1135 ../../mod/editpost.php:120
+#: ../../mod/editblock.php:151 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:182
+msgid "Clear browser location"
msgstr ""
-#: ../../include/nav.php:145
-msgid "Remote authentication"
+#: ../../include/conversation.php:1136
+msgid "clear location"
msgstr ""
-#: ../../include/nav.php:145
-msgid "Click to authenticate to your home hub"
+#: ../../include/conversation.php:1138 ../../mod/editpost.php:132
+#: ../../mod/editblock.php:164 ../../mod/editlayout.php:159
+#: ../../mod/editwebpage.php:198
+msgid "Title (optional)"
msgstr ""
-#: ../../include/nav.php:159
-msgid "Home Page"
+#: ../../include/conversation.php:1141 ../../mod/editpost.php:134
+#: ../../mod/editblock.php:167 ../../mod/editlayout.php:162
+#: ../../mod/editwebpage.php:200
+msgid "Categories (optional, comma-separated list)"
msgstr ""
-#: ../../include/nav.php:163 ../../mod/register.php:220 ../../boot.php:1472
-msgid "Register"
+#: ../../include/conversation.php:1143 ../../mod/editpost.php:122
+#: ../../mod/editblock.php:153 ../../mod/editlayout.php:149
+#: ../../mod/editwebpage.php:184
+msgid "Permission settings"
msgstr ""
-#: ../../include/nav.php:163
-msgid "Create an account"
+#: ../../include/conversation.php:1144
+msgid "permissions"
msgstr ""
-#: ../../include/nav.php:168
-msgid "Help and documentation"
+#: ../../include/conversation.php:1151 ../../mod/editpost.php:129
+#: ../../mod/editblock.php:161 ../../mod/editlayout.php:156
+#: ../../mod/editwebpage.php:193
+msgid "Public post"
msgstr ""
-#: ../../include/nav.php:171
-msgid "Applications, utilities, links, games"
+#: ../../include/conversation.php:1153 ../../mod/editpost.php:135
+#: ../../mod/editblock.php:168 ../../mod/editlayout.php:163
+#: ../../mod/editwebpage.php:201
+msgid "Example: bob@example.com, mary@example.com"
msgstr ""
-#: ../../include/nav.php:173
-msgid "Search site content"
+#: ../../include/conversation.php:1166 ../../mod/editpost.php:146
+#: ../../mod/mail.php:242 ../../mod/mail.php:356 ../../mod/editblock.php:178
+#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:210
+msgid "Set expiration date"
msgstr ""
-#: ../../include/nav.php:176
-msgid "Channel Locator"
+#: ../../include/conversation.php:1168 ../../include/ItemObject.php:641
+#: ../../mod/editpost.php:148 ../../mod/mail.php:244 ../../mod/mail.php:358
+msgid "Encrypt text"
msgstr ""
-#: ../../include/nav.php:190
-msgid "Your matrix"
+#: ../../include/conversation.php:1170 ../../mod/events.php:580
+#: ../../mod/editpost.php:150
+msgid "OK"
msgstr ""
-#: ../../include/nav.php:191
-msgid "Mark all matrix notifications seen"
+#: ../../include/conversation.php:1171 ../../mod/events.php:579
+#: ../../mod/editpost.php:151 ../../mod/settings.php:578
+#: ../../mod/settings.php:604 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+msgid "Cancel"
msgstr ""
-#: ../../include/nav.php:193
-msgid "Channel home"
+#: ../../include/conversation.php:1415
+msgid "Discover"
msgstr ""
-#: ../../include/nav.php:194
-msgid "Mark all channel notifications seen"
+#: ../../include/conversation.php:1418
+msgid "Imported public streams"
msgstr ""
-#: ../../include/nav.php:197 ../../mod/connections.php:406
-msgid "Connections"
+#: ../../include/conversation.php:1423
+msgid "Commented Order"
msgstr ""
-#: ../../include/nav.php:200
-msgid "Notices"
+#: ../../include/conversation.php:1426
+msgid "Sort by Comment Date"
msgstr ""
-#: ../../include/nav.php:200
-msgid "Notifications"
+#: ../../include/conversation.php:1430
+msgid "Posted Order"
msgstr ""
-#: ../../include/nav.php:201
-msgid "See all notifications"
+#: ../../include/conversation.php:1433
+msgid "Sort by Post Date"
msgstr ""
-#: ../../include/nav.php:202 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
+#: ../../include/conversation.php:1438 ../../include/widgets.php:94
+msgid "Personal"
msgstr ""
-#: ../../include/nav.php:204
-msgid "Private mail"
+#: ../../include/conversation.php:1441
+msgid "Posts that mention or involve you"
msgstr ""
-#: ../../include/nav.php:205
-msgid "See all private messages"
+#: ../../include/conversation.php:1447 ../../mod/connections.php:211
+#: ../../mod/connections.php:224 ../../mod/menu.php:80
+msgid "New"
msgstr ""
-#: ../../include/nav.php:206
-msgid "Mark all private messages seen"
+#: ../../include/conversation.php:1450
+msgid "Activity Stream - by date"
msgstr ""
-#: ../../include/nav.php:207
-msgid "Inbox"
+#: ../../include/conversation.php:1456
+msgid "Starred"
msgstr ""
-#: ../../include/nav.php:208
-msgid "Outbox"
+#: ../../include/conversation.php:1459
+msgid "Favourite Posts"
msgstr ""
-#: ../../include/nav.php:212
-msgid "Event Calendar"
+#: ../../include/conversation.php:1466
+msgid "Spam"
msgstr ""
-#: ../../include/nav.php:213
-msgid "See all events"
+#: ../../include/conversation.php:1469
+msgid "Posts flagged as SPAM"
msgstr ""
-#: ../../include/nav.php:214
-msgid "Mark all events seen"
+#: ../../include/conversation.php:1509 ../../mod/admin.php:865
+msgid "Channel"
msgstr ""
-#: ../../include/nav.php:216
-msgid "Manage Your Channels"
+#: ../../include/conversation.php:1512
+msgid "Status Messages and Posts"
msgstr ""
-#: ../../include/nav.php:218
-msgid "Account/Channel Settings"
+#: ../../include/conversation.php:1521
+msgid "About"
msgstr ""
-#: ../../include/nav.php:226 ../../mod/admin.php:123
-msgid "Admin"
+#: ../../include/conversation.php:1524
+msgid "Profile Details"
msgstr ""
-#: ../../include/nav.php:226
-msgid "Site Setup and Configuration"
+#: ../../include/conversation.php:1530 ../../include/apps.php:139
+#: ../../include/nav.php:105 ../../mod/fbrowser.php:25
+msgid "Photos"
msgstr ""
-#: ../../include/nav.php:262
-msgid "Please wait..."
+#: ../../include/conversation.php:1542
+msgid "Files and Storage"
msgstr ""
-#: ../../include/dir_fns.php:56
-msgid "Sort Options"
+#: ../../include/conversation.php:1552 ../../include/conversation.php:1555
+msgid "Chatrooms"
msgstr ""
-#: ../../include/dir_fns.php:57
-msgid "Alphabetic"
+#: ../../include/conversation.php:1565 ../../include/apps.php:129
+#: ../../include/nav.php:117
+msgid "Bookmarks"
msgstr ""
-#: ../../include/dir_fns.php:58
-msgid "Reverse Alphabetic"
+#: ../../include/conversation.php:1568
+msgid "Saved Bookmarks"
msgstr ""
-#: ../../include/dir_fns.php:59
-msgid "Newest to Oldest"
+#: ../../include/conversation.php:1576 ../../include/apps.php:136
+#: ../../include/nav.php:121 ../../mod/webpages.php:160
+msgid "Webpages"
msgstr ""
-#: ../../include/dir_fns.php:71
-msgid "Enable Safe Search"
+#: ../../include/conversation.php:1579
+msgid "Manage Webpages"
msgstr ""
-#: ../../include/dir_fns.php:73
-msgid "Disable Safe Search"
+#: ../../include/widgets.php:91 ../../include/nav.php:171
+#: ../../mod/apps.php:34
+msgid "Apps"
msgstr ""
-#: ../../include/dir_fns.php:75
-msgid "Safe Mode"
+#: ../../include/widgets.php:92
+msgid "System"
msgstr ""
-#: ../../include/bb2diaspora.php:379
-msgid "Attachments:"
+#: ../../include/widgets.php:95
+msgid "Create Personal App"
msgstr ""
-#: ../../include/enotify.php:41
-msgid "Red Matrix Notification"
+#: ../../include/widgets.php:96
+msgid "Edit Personal App"
msgstr ""
-#: ../../include/enotify.php:42
-msgid "redmatrix"
+#: ../../include/widgets.php:138 ../../mod/suggest.php:53
+msgid "Ignore/Hide"
msgstr ""
-#: ../../include/enotify.php:44
-msgid "Thank You,"
+#: ../../include/widgets.php:143 ../../mod/connections.php:267
+msgid "Suggestions"
msgstr ""
-#: ../../include/enotify.php:46
-#, php-format
-msgid "%s Administrator"
+#: ../../include/widgets.php:144
+msgid "See more..."
msgstr ""
-#: ../../include/enotify.php:81
+#: ../../include/widgets.php:166
#, php-format
-msgid "%s <!item_type!>"
+msgid "You have %1$.0f of %2$.0f allowed connections."
msgstr ""
-#: ../../include/enotify.php:85
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
msgstr ""
-#: ../../include/enotify.php:87
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
msgstr ""
-#: ../../include/enotify.php:88
-#, php-format
-msgid "%1$s sent you %2$s."
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
msgstr ""
-#: ../../include/enotify.php:88
-msgid "a private message"
+#: ../../include/widgets.php:190
+msgid "Notes"
msgstr ""
-#: ../../include/enotify.php:89
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
+#: ../../include/widgets.php:264
+msgid "Remove term"
msgstr ""
-#: ../../include/enotify.php:144
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+#: ../../include/widgets.php:347
+msgid "Archives"
msgstr ""
-#: ../../include/enotify.php:152
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+#: ../../include/widgets.php:425
+msgid "Refresh"
msgstr ""
-#: ../../include/enotify.php:161
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+#: ../../include/widgets.php:426 ../../mod/connedit.php:506
+msgid "Me"
msgstr ""
-#: ../../include/enotify.php:172
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+#: ../../include/widgets.php:427 ../../mod/connedit.php:509
+msgid "Best Friends"
msgstr ""
-#: ../../include/enotify.php:173
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
+#: ../../include/widgets.php:429
+msgid "Co-workers"
msgstr ""
-#: ../../include/enotify.php:176 ../../include/enotify.php:191
-#: ../../include/enotify.php:217 ../../include/enotify.php:236
-#: ../../include/enotify.php:250
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
+#: ../../include/widgets.php:430 ../../mod/connedit.php:511
+msgid "Former Friends"
msgstr ""
-#: ../../include/enotify.php:182
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
+#: ../../include/widgets.php:431 ../../mod/connedit.php:512
+msgid "Acquaintances"
msgstr ""
-#: ../../include/enotify.php:184
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
+#: ../../include/widgets.php:432
+msgid "Everybody"
msgstr ""
-#: ../../include/enotify.php:186
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+#: ../../include/widgets.php:466
+msgid "Account settings"
msgstr ""
-#: ../../include/enotify.php:210
-#, php-format
-msgid "[Red:Notify] %s tagged you"
+#: ../../include/widgets.php:472
+msgid "Channel settings"
msgstr ""
-#: ../../include/enotify.php:211
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
+#: ../../include/widgets.php:478
+msgid "Additional features"
msgstr ""
-#: ../../include/enotify.php:212
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+#: ../../include/widgets.php:484
+msgid "Feature settings"
msgstr ""
-#: ../../include/enotify.php:225
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
+#: ../../include/widgets.php:490
+msgid "Display settings"
msgstr ""
-#: ../../include/enotify.php:226
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
+#: ../../include/widgets.php:496
+msgid "Connected apps"
msgstr ""
-#: ../../include/enotify.php:227
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+#: ../../include/widgets.php:502
+msgid "Export channel"
msgstr ""
-#: ../../include/enotify.php:243
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
+#: ../../include/widgets.php:511 ../../mod/connedit.php:539
+msgid "Connection Default Permissions"
msgstr ""
-#: ../../include/enotify.php:244
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
+#: ../../include/widgets.php:519
+msgid "Premium Channel Settings"
msgstr ""
-#: ../../include/enotify.php:245
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+#: ../../include/widgets.php:535 ../../include/apps.php:134
+#: ../../include/nav.php:218 ../../mod/admin.php:951 ../../mod/admin.php:1156
+msgid "Settings"
msgstr ""
-#: ../../include/enotify.php:257
-msgid "[Red:Notify] Introduction received"
+#: ../../include/widgets.php:548 ../../mod/mail.php:125
+#: ../../mod/message.php:31
+msgid "Messages"
msgstr ""
-#: ../../include/enotify.php:258
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+#: ../../include/widgets.php:551
+msgid "Check Mail"
msgstr ""
-#: ../../include/enotify.php:259
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+#: ../../include/widgets.php:556 ../../include/nav.php:209
+msgid "New Message"
msgstr ""
-#: ../../include/enotify.php:263 ../../include/enotify.php:282
-#, php-format
-msgid "You may visit their profile at %s"
+#: ../../include/widgets.php:634
+msgid "Chat Rooms"
msgstr ""
-#: ../../include/enotify.php:265
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
+#: ../../include/widgets.php:654
+msgid "Bookmarked Chatrooms"
msgstr ""
-#: ../../include/enotify.php:272
-msgid "[Red:Notify] Friend suggestion received"
+#: ../../include/widgets.php:674
+msgid "Suggested Chatrooms"
msgstr ""
-#: ../../include/enotify.php:273
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+#: ../../include/widgets.php:801 ../../include/widgets.php:859
+msgid "photo/image"
msgstr ""
-#: ../../include/enotify.php:274
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s."
+#: ../../include/zot.php:664
+msgid "Invalid data packet"
msgstr ""
-#: ../../include/enotify.php:280
-msgid "Name:"
+#: ../../include/zot.php:680
+msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/enotify.php:281
-msgid "Photo:"
+#: ../../include/zot.php:1829
+#, php-format
+msgid "Unable to verify site signature for %s"
msgstr ""
-#: ../../include/enotify.php:284
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
+#: ../../include/ItemObject.php:130
+msgid "Save to Folder"
msgstr ""
-#: ../../include/enotify.php:477
-msgid "[Red:Notify]"
+#: ../../include/ItemObject.php:142 ../../include/ItemObject.php:154
+#: ../../mod/photos.php:1020 ../../mod/photos.php:1032
+msgid "View all"
msgstr ""
-#: ../../include/chat.php:10
-msgid "Missing room name"
+#: ../../include/ItemObject.php:151 ../../mod/photos.php:1029
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/ItemObject.php:179
+msgid "Add Star"
msgstr ""
-#: ../../include/chat.php:19
-msgid "Duplicate room name"
+#: ../../include/ItemObject.php:180
+msgid "Remove Star"
msgstr ""
-#: ../../include/chat.php:68 ../../include/chat.php:76
-msgid "Invalid room specifier."
+#: ../../include/ItemObject.php:181
+msgid "Toggle Star Status"
msgstr ""
-#: ../../include/chat.php:105
-msgid "Room not found."
+#: ../../include/ItemObject.php:185
+msgid "starred"
msgstr ""
-#: ../../include/chat.php:126
-msgid "Room is full"
+#: ../../include/ItemObject.php:203
+msgid "Add Tag"
msgstr ""
-#: ../../include/features.php:23
-msgid "General Features"
+#: ../../include/ItemObject.php:221 ../../mod/photos.php:972
+msgid "I like this (toggle)"
msgstr ""
-#: ../../include/features.php:25
-msgid "Content Expiration"
+#: ../../include/ItemObject.php:222 ../../mod/photos.php:973
+msgid "I don't like this (toggle)"
msgstr ""
-#: ../../include/features.php:25
-msgid "Remove posts/comments and/or private messages at a future time"
+#: ../../include/ItemObject.php:226
+msgid "Share This"
msgstr ""
-#: ../../include/features.php:26
-msgid "Multiple Profiles"
+#: ../../include/ItemObject.php:226
+msgid "share"
msgstr ""
-#: ../../include/features.php:26
-msgid "Ability to create multiple profiles"
+#: ../../include/ItemObject.php:243
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/ItemObject.php:256 ../../include/ItemObject.php:257
+#, php-format
+msgid "View %s's profile - %s"
msgstr ""
-#: ../../include/features.php:27
-msgid "Advanced Profiles"
+#: ../../include/ItemObject.php:260
+msgid "to"
msgstr ""
-#: ../../include/features.php:27
-msgid "Additional profile sections and selections"
+#: ../../include/ItemObject.php:261
+msgid "via"
msgstr ""
-#: ../../include/features.php:28
-msgid "Profile Import/Export"
+#: ../../include/ItemObject.php:262
+msgid "Wall-to-Wall"
msgstr ""
-#: ../../include/features.php:28
-msgid "Save and load profile details across sites/channels"
+#: ../../include/ItemObject.php:263
+msgid "via Wall-To-Wall:"
msgstr ""
-#: ../../include/features.php:29
-msgid "Web Pages"
+#: ../../include/ItemObject.php:299
+msgid "Save Bookmarks"
msgstr ""
-#: ../../include/features.php:29
-msgid "Provide managed web pages on your channel"
+#: ../../include/ItemObject.php:300
+msgid "Add to Calendar"
msgstr ""
-#: ../../include/features.php:30
-msgid "Private Notes"
+#: ../../include/ItemObject.php:309
+msgid "Mark all seen"
msgstr ""
-#: ../../include/features.php:30
-msgid "Enables a tool to store notes and reminders"
+#: ../../include/ItemObject.php:314 ../../mod/photos.php:1140
+msgctxt "noun"
+msgid "Likes"
msgstr ""
-#: ../../include/features.php:34
-msgid "Navigation Channel Select"
+#: ../../include/ItemObject.php:315 ../../mod/photos.php:1141
+msgctxt "noun"
+msgid "Dislikes"
msgstr ""
-#: ../../include/features.php:34
-msgid "Change channels directly from within the navigation dropdown menu"
+#: ../../include/ItemObject.php:345 ../../include/js_strings.php:7
+msgid "[+] show all"
msgstr ""
-#: ../../include/features.php:38
-msgid "Extended Identity Sharing"
+#: ../../include/ItemObject.php:626 ../../mod/photos.php:991
+#: ../../mod/photos.php:1101
+msgid "This is you"
msgstr ""
-#: ../../include/features.php:38
-msgid ""
-"Share your identity with all websites on the internet. When disabled, "
-"identity is only shared with sites in the matrix."
+#: ../../include/ItemObject.php:628 ../../include/js_strings.php:6
+#: ../../mod/photos.php:993 ../../mod/photos.php:1103
+msgid "Comment"
msgstr ""
-#: ../../include/features.php:39
-msgid "Expert Mode"
+#: ../../include/ItemObject.php:629 ../../mod/mood.php:135
+#: ../../mod/group.php:81 ../../mod/poke.php:166 ../../mod/profiles.php:650
+#: ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/events.php:598 ../../mod/chat.php:177 ../../mod/chat.php:211
+#: ../../mod/settings.php:577 ../../mod/settings.php:689
+#: ../../mod/settings.php:718 ../../mod/settings.php:741
+#: ../../mod/settings.php:823 ../../mod/settings.php:1016
+#: ../../mod/connedit.php:556 ../../mod/mail.php:352 ../../mod/pdledit.php:58
+#: ../../mod/thing.php:284 ../../mod/thing.php:327 ../../mod/fsuggest.php:108
+#: ../../mod/filestorage.php:150 ../../mod/connect.php:93
+#: ../../mod/locs.php:99 ../../mod/import.php:504 ../../mod/setup.php:313
+#: ../../mod/setup.php:358 ../../mod/admin.php:412 ../../mod/admin.php:723
+#: ../../mod/admin.php:859 ../../mod/admin.php:992 ../../mod/admin.php:1191
+#: ../../mod/admin.php:1278 ../../mod/invite.php:142 ../../mod/xchan.php:11
+#: ../../mod/photos.php:594 ../../mod/photos.php:671 ../../mod/photos.php:954
+#: ../../mod/photos.php:994 ../../mod/photos.php:1104 ../../mod/appman.php:99
+#: ../../mod/poll.php:68 ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
msgstr ""
-#: ../../include/features.php:39
-msgid "Enable Expert Mode to provide advanced configuration options"
+#: ../../include/ItemObject.php:630
+msgid "Bold"
msgstr ""
-#: ../../include/features.php:40
-msgid "Premium Channel"
+#: ../../include/ItemObject.php:631
+msgid "Italic"
msgstr ""
-#: ../../include/features.php:40
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
+#: ../../include/ItemObject.php:632
+msgid "Underline"
msgstr ""
-#: ../../include/features.php:45
-msgid "Post Composition Features"
+#: ../../include/ItemObject.php:633
+msgid "Quote"
msgstr ""
-#: ../../include/features.php:47
-msgid "Use Markdown"
+#: ../../include/ItemObject.php:634
+msgid "Code"
msgstr ""
-#: ../../include/features.php:47
-msgid "Allow use of \"Markdown\" to format posts"
+#: ../../include/ItemObject.php:635
+msgid "Image"
msgstr ""
-#: ../../include/features.php:48
-msgid "Post Preview"
+#: ../../include/ItemObject.php:636
+msgid "Link"
msgstr ""
-#: ../../include/features.php:48
-msgid "Allow previewing posts and comments before publishing them"
+#: ../../include/ItemObject.php:637
+msgid "Video"
msgstr ""
-#: ../../include/features.php:49
-msgid "Automatically import channel content from other channels or feeds"
+#: ../../include/datetime.php:35
+msgid "Miscellaneous"
msgstr ""
-#: ../../include/features.php:50
-msgid "Even More Encryption"
+#: ../../include/datetime.php:113
+msgid "YYYY-MM-DD or MM-DD"
msgstr ""
-#: ../../include/features.php:50
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
+#: ../../include/datetime.php:230
+msgid "never"
msgstr ""
-#: ../../include/features.php:55
-msgid "Network and Stream Filtering"
+#: ../../include/datetime.php:236
+msgid "less than a second ago"
msgstr ""
-#: ../../include/features.php:56
-msgid "Search by Date"
+#: ../../include/datetime.php:239
+msgid "year"
msgstr ""
-#: ../../include/features.php:56
-msgid "Ability to select posts by date ranges"
+#: ../../include/datetime.php:239
+msgid "years"
msgstr ""
-#: ../../include/features.php:57
-msgid "Collections Filter"
+#: ../../include/datetime.php:240
+msgid "month"
msgstr ""
-#: ../../include/features.php:57
-msgid "Enable widget to display Network posts only from selected collections"
+#: ../../include/datetime.php:240
+msgid "months"
msgstr ""
-#: ../../include/features.php:58
-msgid "Save search terms for re-use"
+#: ../../include/datetime.php:241
+msgid "week"
msgstr ""
-#: ../../include/features.php:59
-msgid "Network Personal Tab"
+#: ../../include/datetime.php:241
+msgid "weeks"
msgstr ""
-#: ../../include/features.php:59
-msgid "Enable tab to display only Network posts that you've interacted on"
+#: ../../include/datetime.php:242
+msgid "day"
msgstr ""
-#: ../../include/features.php:60
-msgid "Network New Tab"
+#: ../../include/datetime.php:242
+msgid "days"
msgstr ""
-#: ../../include/features.php:60
-msgid "Enable tab to display all new Network activity"
+#: ../../include/datetime.php:243
+msgid "hour"
msgstr ""
-#: ../../include/features.php:61
-msgid "Affinity Tool"
+#: ../../include/datetime.php:243
+msgid "hours"
msgstr ""
-#: ../../include/features.php:61
-msgid "Filter stream activity by depth of relationships"
+#: ../../include/datetime.php:244
+msgid "minute"
msgstr ""
-#: ../../include/features.php:62
-msgid "Suggest Channels"
+#: ../../include/datetime.php:244
+msgid "minutes"
msgstr ""
-#: ../../include/features.php:62
-msgid "Show channel suggestions"
+#: ../../include/datetime.php:245
+msgid "second"
msgstr ""
-#: ../../include/features.php:67
-msgid "Post/Comment Tools"
+#: ../../include/datetime.php:245
+msgid "seconds"
msgstr ""
-#: ../../include/features.php:69
-msgid "Edit Sent Posts"
+#: ../../include/datetime.php:254
+#, php-format
+msgid "%1$d %2$s ago"
msgstr ""
-#: ../../include/features.php:69
-msgid "Edit and correct posts and comments after sending"
+#: ../../include/datetime.php:462
+#, php-format
+msgid "%1$s's birthday"
msgstr ""
-#: ../../include/features.php:70
-msgid "Tagging"
+#: ../../include/datetime.php:463
+#, php-format
+msgid "Happy Birthday %1$s"
msgstr ""
-#: ../../include/features.php:70
-msgid "Ability to tag existing posts"
+#: ../../include/apps.php:128
+msgid "Site Admin"
msgstr ""
-#: ../../include/features.php:71
-msgid "Post Categories"
+#: ../../include/apps.php:130
+msgid "Address Book"
msgstr ""
-#: ../../include/features.php:71
-msgid "Add categories to your posts"
+#: ../../include/apps.php:131 ../../include/nav.php:125 ../../boot.php:1542
+msgid "Login"
msgstr ""
-#: ../../include/features.php:72
-msgid "Ability to file posts under folders"
+#: ../../include/apps.php:132 ../../include/nav.php:216
+#: ../../mod/manage.php:150
+msgid "Channel Manager"
msgstr ""
-#: ../../include/features.php:73
-msgid "Dislike Posts"
+#: ../../include/apps.php:133 ../../include/nav.php:190
+msgid "Matrix"
msgstr ""
-#: ../../include/features.php:73
-msgid "Ability to dislike posts/comments"
+#: ../../include/apps.php:137 ../../include/nav.php:193
+msgid "Channel Home"
msgstr ""
-#: ../../include/features.php:74
-msgid "Star Posts"
+#: ../../include/apps.php:140 ../../include/nav.php:212
+#: ../../mod/events.php:442
+msgid "Events"
msgstr ""
-#: ../../include/features.php:74
-msgid "Ability to mark special posts with a star indicator"
+#: ../../include/apps.php:141 ../../include/nav.php:176
+#: ../../mod/directory.php:321
+msgid "Directory"
msgstr ""
-#: ../../include/features.php:75
-msgid "Tag Cloud"
+#: ../../include/apps.php:142 ../../include/nav.php:168 ../../mod/help.php:58
+#: ../../mod/help.php:63
+msgid "Help"
msgstr ""
-#: ../../include/features.php:75
-msgid "Provide a personal tag cloud on your channel page"
+#: ../../include/apps.php:143 ../../include/nav.php:204
+msgid "Mail"
msgstr ""
-#: ../../include/follow.php:26
-msgid "Channel is blocked on this site."
+#: ../../include/apps.php:144 ../../mod/mood.php:131
+msgid "Mood"
msgstr ""
-#: ../../include/follow.php:31
-msgid "Channel location missing."
+#: ../../include/apps.php:146 ../../include/nav.php:111
+msgid "Chat"
msgstr ""
-#: ../../include/follow.php:80
-msgid "Response from remote channel was incomplete."
+#: ../../include/apps.php:148
+msgid "Probe"
msgstr ""
-#: ../../include/follow.php:97
-msgid "Channel was deleted and no longer exists."
+#: ../../include/apps.php:149
+msgid "Suggest"
msgstr ""
-#: ../../include/follow.php:133 ../../include/follow.php:202
-msgid "Protocol disabled."
+#: ../../include/apps.php:150
+msgid "Random Channel"
msgstr ""
-#: ../../include/follow.php:176
-msgid "Channel discovery failed."
+#: ../../include/apps.php:151
+msgid "Invite"
msgstr ""
-#: ../../include/follow.php:192
-msgid "local account not found."
+#: ../../include/apps.php:152
+msgid "Features"
msgstr ""
-#: ../../include/follow.php:219
-msgid "Cannot connect to yourself."
+#: ../../include/apps.php:153
+msgid "Language"
msgstr ""
-#: ../../include/group.php:25
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
+#: ../../include/apps.php:154
+msgid "Post"
msgstr ""
-#: ../../include/group.php:234
-msgid "Default privacy group for new contacts"
+#: ../../include/apps.php:155
+msgid "Profile Photo"
msgstr ""
-#: ../../include/group.php:253 ../../mod/admin.php:737
-msgid "All Channels"
+#: ../../include/apps.php:247 ../../mod/settings.php:81
+#: ../../mod/settings.php:603
+msgid "Update"
msgstr ""
-#: ../../include/group.php:275
-msgid "edit"
+#: ../../include/apps.php:247
+msgid "Install"
msgstr ""
-#: ../../include/group.php:297
-msgid "Collections"
+#: ../../include/apps.php:252
+msgid "Purchase"
msgstr ""
-#: ../../include/group.php:298
-msgid "Edit collection"
+#: ../../include/Contact.php:123
+msgid "New window"
msgstr ""
-#: ../../include/group.php:299
-msgid "Create a new collection"
+#: ../../include/Contact.php:124
+msgid "Open the selected location in a different window or browser tab"
msgstr ""
-#: ../../include/group.php:300
-msgid "Channels not in any collection"
+#: ../../include/Contact.php:214 ../../mod/admin.php:646
+#, php-format
+msgid "User '%s' deleted"
msgstr ""
-#: ../../include/bbcode.php:112 ../../include/bbcode.php:653
-#: ../../include/bbcode.php:656 ../../include/bbcode.php:661
-#: ../../include/bbcode.php:664 ../../include/bbcode.php:667
-#: ../../include/bbcode.php:670 ../../include/bbcode.php:675
-#: ../../include/bbcode.php:678 ../../include/bbcode.php:683
-#: ../../include/bbcode.php:686 ../../include/bbcode.php:689
-#: ../../include/bbcode.php:692
+#: ../../include/bbcode.php:112 ../../include/bbcode.php:677
+#: ../../include/bbcode.php:680 ../../include/bbcode.php:685
+#: ../../include/bbcode.php:688 ../../include/bbcode.php:691
+#: ../../include/bbcode.php:694 ../../include/bbcode.php:699
+#: ../../include/bbcode.php:702 ../../include/bbcode.php:707
+#: ../../include/bbcode.php:710 ../../include/bbcode.php:713
+#: ../../include/bbcode.php:716
msgid "Image/photo"
msgstr ""
-#: ../../include/bbcode.php:147 ../../include/bbcode.php:703
+#: ../../include/bbcode.php:147 ../../include/bbcode.php:727
msgid "Encrypted content"
msgstr ""
@@ -2779,272 +2903,207 @@ msgstr ""
msgid "post"
msgstr ""
-#: ../../include/bbcode.php:621
+#: ../../include/bbcode.php:645
msgid "$1 spoiler"
msgstr ""
-#: ../../include/bbcode.php:641
+#: ../../include/bbcode.php:665
msgid "$1 wrote:"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:106
-#: ../../include/RedDAV/RedBrowser.php:249
-msgid "parent"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:130
-msgid "Collection"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:133
-msgid "Principal"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:136
-msgid "Addressbook"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:139
-msgid "Calendar"
+#: ../../include/enotify.php:41
+msgid "Red Matrix Notification"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:142
-msgid "Schedule Inbox"
+#: ../../include/enotify.php:42
+msgid "redmatrix"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:145
-msgid "Schedule Outbox"
+#: ../../include/enotify.php:44
+msgid "Thank You,"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:223
+#: ../../include/enotify.php:46
#, php-format
-msgid "%1$s used"
+msgid "%s Administrator"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:228
+#: ../../include/enotify.php:81
#, php-format
-msgid "%1$s used of %2$s (%3$s&#37;)"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:245 ../../mod/settings.php:521
-#: ../../mod/settings.php:547 ../../mod/admin.php:868
-msgid "Name"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:246
-msgid "Type"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:247
-msgid "Size"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:248
-msgid "Last Modified"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:252
-msgid "Total"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:305
-msgid "Create new folder"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/mitem.php:142
-#: ../../mod/menu.php:84 ../../mod/new_channel.php:122
-msgid "Create"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:307
-msgid "Upload file"
-msgstr ""
-
-#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/photos.php:745
-#: ../../mod/photos.php:1226 ../../mod/profile_photo.php:361
-msgid "Upload"
+msgid "%s <!item_type!>"
msgstr ""
-#: ../../include/message.php:18
-msgid "No recipient provided."
+#: ../../include/enotify.php:85
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
msgstr ""
-#: ../../include/message.php:23
-msgid "[no subject]"
+#: ../../include/enotify.php:87
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
msgstr ""
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
+#: ../../include/enotify.php:88
+#, php-format
+msgid "%1$s sent you %2$s."
msgstr ""
-#: ../../include/message.php:200
-msgid "Stored post could not be verified."
+#: ../../include/enotify.php:88
+msgid "a private message"
msgstr ""
-#: ../../include/ItemObject.php:130
-msgid "Save to Folder"
+#: ../../include/enotify.php:89
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
-#: ../../include/ItemObject.php:142 ../../include/ItemObject.php:154
-msgid "View all"
+#: ../../include/enotify.php:144
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr ""
-#: ../../include/ItemObject.php:151
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/ItemObject.php:179
-msgid "Add Star"
+#: ../../include/enotify.php:152
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr ""
-#: ../../include/ItemObject.php:180
-msgid "Remove Star"
+#: ../../include/enotify.php:161
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr ""
-#: ../../include/ItemObject.php:181
-msgid "Toggle Star Status"
+#: ../../include/enotify.php:172
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
msgstr ""
-#: ../../include/ItemObject.php:185
-msgid "starred"
+#: ../../include/enotify.php:173
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr ""
-#: ../../include/ItemObject.php:203
-msgid "Add Tag"
+#: ../../include/enotify.php:176 ../../include/enotify.php:191
+#: ../../include/enotify.php:217 ../../include/enotify.php:236
+#: ../../include/enotify.php:250
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
-#: ../../include/ItemObject.php:221 ../../mod/photos.php:990
-msgid "I like this (toggle)"
+#: ../../include/enotify.php:182
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
msgstr ""
-#: ../../include/ItemObject.php:222 ../../mod/photos.php:991
-msgid "I don't like this (toggle)"
+#: ../../include/enotify.php:184
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr ""
-#: ../../include/ItemObject.php:226
-msgid "Share This"
+#: ../../include/enotify.php:186
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr ""
-#: ../../include/ItemObject.php:226
-msgid "share"
+#: ../../include/enotify.php:210
+#, php-format
+msgid "[Red:Notify] %s tagged you"
msgstr ""
-#: ../../include/ItemObject.php:249 ../../include/ItemObject.php:250
+#: ../../include/enotify.php:211
#, php-format
-msgid "View %s's profile - %s"
+msgid "%1$s, %2$s tagged you at %3$s"
msgstr ""
-#: ../../include/ItemObject.php:251
-msgid "to"
+#: ../../include/enotify.php:212
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr ""
-#: ../../include/ItemObject.php:252
-msgid "via"
+#: ../../include/enotify.php:225
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
msgstr ""
-#: ../../include/ItemObject.php:253
-msgid "Wall-to-Wall"
+#: ../../include/enotify.php:226
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
msgstr ""
-#: ../../include/ItemObject.php:254
-msgid "via Wall-To-Wall:"
+#: ../../include/enotify.php:227
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr ""
-#: ../../include/ItemObject.php:290
-msgid "Save Bookmarks"
+#: ../../include/enotify.php:243
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
msgstr ""
-#: ../../include/ItemObject.php:291
-msgid "Add to Calendar"
+#: ../../include/enotify.php:244
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
msgstr ""
-#: ../../include/ItemObject.php:299
-msgctxt "noun"
-msgid "Likes"
+#: ../../include/enotify.php:245
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr ""
-#: ../../include/ItemObject.php:300
-msgctxt "noun"
-msgid "Dislikes"
+#: ../../include/enotify.php:257
+msgid "[Red:Notify] Introduction received"
msgstr ""
-#: ../../include/ItemObject.php:331
+#: ../../include/enotify.php:258
#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/ItemObject.php:332 ../../include/js_strings.php:7
-msgid "[+] show all"
-msgstr ""
-
-#: ../../include/ItemObject.php:596 ../../mod/photos.php:1009
-#: ../../mod/photos.php:1096
-msgid "This is you"
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
msgstr ""
-#: ../../include/ItemObject.php:598 ../../include/js_strings.php:6
-#: ../../mod/photos.php:1011 ../../mod/photos.php:1098
-msgid "Comment"
+#: ../../include/enotify.php:259
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
msgstr ""
-#: ../../include/ItemObject.php:599 ../../mod/mood.php:135
-#: ../../mod/photos.php:563 ../../mod/photos.php:672 ../../mod/photos.php:972
-#: ../../mod/photos.php:1012 ../../mod/photos.php:1099
-#: ../../mod/settings.php:519 ../../mod/settings.php:631
-#: ../../mod/settings.php:660 ../../mod/settings.php:684
-#: ../../mod/settings.php:760 ../../mod/settings.php:945
-#: ../../mod/poke.php:166 ../../mod/profiles.php:615 ../../mod/events.php:587
-#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/connect.php:92
-#: ../../mod/connedit.php:540 ../../mod/setup.php:307 ../../mod/setup.php:350
-#: ../../mod/pdledit.php:58 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/filestorage.php:146
-#: ../../mod/fsuggest.php:108 ../../mod/group.php:81 ../../mod/admin.php:414
-#: ../../mod/admin.php:725 ../../mod/admin.php:861 ../../mod/admin.php:994
-#: ../../mod/admin.php:1193 ../../mod/admin.php:1280 ../../mod/thing.php:284
-#: ../../mod/thing.php:327 ../../mod/import.php:480 ../../mod/invite.php:142
-#: ../../mod/mail.php:348 ../../mod/appman.php:99 ../../mod/poll.php:68
-#: ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/blogga/php/config.php:67
-#: ../../view/theme/blogga/view/theme/blog/config.php:67
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
+#: ../../include/enotify.php:263 ../../include/enotify.php:282
+#, php-format
+msgid "You may visit their profile at %s"
msgstr ""
-#: ../../include/ItemObject.php:600
-msgid "Bold"
+#: ../../include/enotify.php:265
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
msgstr ""
-#: ../../include/ItemObject.php:601
-msgid "Italic"
+#: ../../include/enotify.php:272
+msgid "[Red:Notify] Friend suggestion received"
msgstr ""
-#: ../../include/ItemObject.php:602
-msgid "Underline"
+#: ../../include/enotify.php:273
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr ""
-#: ../../include/ItemObject.php:603
-msgid "Quote"
+#: ../../include/enotify.php:274
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s."
msgstr ""
-#: ../../include/ItemObject.php:604
-msgid "Code"
+#: ../../include/enotify.php:280
+msgid "Name:"
msgstr ""
-#: ../../include/ItemObject.php:605
-msgid "Image"
+#: ../../include/enotify.php:281
+msgid "Photo:"
msgstr ""
-#: ../../include/ItemObject.php:606
-msgid "Link"
+#: ../../include/enotify.php:284
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
-#: ../../include/ItemObject.php:607
-msgid "Video"
+#: ../../include/enotify.php:490
+msgid "[Red:Notify]"
msgstr ""
#: ../../include/js_strings.php:5
@@ -3168,19 +3227,6 @@ msgstr ""
msgid "timeago.numbers"
msgstr ""
-#: ../../include/Contact.php:123
-msgid "New window"
-msgstr ""
-
-#: ../../include/Contact.php:124
-msgid "Open the selected location in a different window or browser tab"
-msgstr ""
-
-#: ../../include/Contact.php:211 ../../mod/admin.php:649
-#, php-format
-msgid "User '%s' deleted"
-msgstr ""
-
#: ../../include/profile_selectors.php:6
#: ../../include/profile_selectors.php:23
msgid "Male"
@@ -3232,13 +3278,6 @@ msgid "Non-specific"
msgstr ""
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97 ../../include/permissions.php:746
-msgid "Other"
-msgstr ""
-
-#: ../../include/profile_selectors.php:6
msgid "Undecided"
msgstr ""
@@ -3424,1784 +3463,1936 @@ msgstr ""
msgid "Ask me"
msgstr ""
-#: ../../include/permissions.php:13
-msgid "Can view my normal stream and posts"
+#: ../../include/nav.php:95 ../../include/nav.php:128 ../../boot.php:1541
+msgid "Logout"
msgstr ""
-#: ../../include/permissions.php:14
-msgid "Can view my default channel profile"
+#: ../../include/nav.php:95 ../../include/nav.php:128
+msgid "End this session"
msgstr ""
-#: ../../include/permissions.php:15
-msgid "Can view my photo albums"
+#: ../../include/nav.php:98 ../../include/nav.php:159
+msgid "Home"
msgstr ""
-#: ../../include/permissions.php:16
-msgid "Can view my connections"
+#: ../../include/nav.php:98
+msgid "Your posts and conversations"
msgstr ""
-#: ../../include/permissions.php:17
-msgid "Can view my file storage"
+#: ../../include/nav.php:99
+msgid "Your profile page"
msgstr ""
-#: ../../include/permissions.php:18
-msgid "Can view my webpages"
+#: ../../include/nav.php:101
+msgid "Edit Profiles"
msgstr ""
-#: ../../include/permissions.php:21
-msgid "Can send me their channel stream and posts"
+#: ../../include/nav.php:101
+msgid "Manage/Edit profiles"
msgstr ""
-#: ../../include/permissions.php:22
-msgid "Can post on my channel page (\"wall\")"
+#: ../../include/nav.php:103
+msgid "Edit your profile"
msgstr ""
-#: ../../include/permissions.php:23
-msgid "Can comment on or like my posts"
+#: ../../include/nav.php:105
+msgid "Your photos"
msgstr ""
-#: ../../include/permissions.php:24
-msgid "Can send me private mail messages"
+#: ../../include/nav.php:106
+msgid "Your files"
msgstr ""
-#: ../../include/permissions.php:25
-msgid "Can post photos to my photo albums"
+#: ../../include/nav.php:111
+msgid "Your chatrooms"
msgstr ""
-#: ../../include/permissions.php:26
-msgid "Can like/dislike stuff"
+#: ../../include/nav.php:117
+msgid "Your bookmarks"
msgstr ""
-#: ../../include/permissions.php:26
-msgid "Profiles and things other than posts/comments"
+#: ../../include/nav.php:121
+msgid "Your webpages"
msgstr ""
-#: ../../include/permissions.php:28
-msgid "Can forward to all my channel contacts via post @mentions"
+#: ../../include/nav.php:125
+msgid "Sign in"
msgstr ""
-#: ../../include/permissions.php:28
-msgid "Advanced - useful for creating group forum channels"
+#: ../../include/nav.php:142
+#, php-format
+msgid "%s - click to logout"
msgstr ""
-#: ../../include/permissions.php:29
-msgid "Can chat with me (when available)"
+#: ../../include/nav.php:145
+msgid "Remote authentication"
msgstr ""
-#: ../../include/permissions.php:30
-msgid "Can write to my file storage"
+#: ../../include/nav.php:145
+msgid "Click to authenticate to your home hub"
msgstr ""
-#: ../../include/permissions.php:31
-msgid "Can edit my webpages"
+#: ../../include/nav.php:159
+msgid "Home Page"
msgstr ""
-#: ../../include/permissions.php:33
-msgid "Can source my public posts in derived channels"
+#: ../../include/nav.php:163 ../../mod/register.php:224 ../../boot.php:1518
+msgid "Register"
msgstr ""
-#: ../../include/permissions.php:33
-msgid "Somewhat advanced - very useful in open communities"
+#: ../../include/nav.php:163
+msgid "Create an account"
msgstr ""
-#: ../../include/permissions.php:35
-msgid "Can administer my channel resources"
+#: ../../include/nav.php:168
+msgid "Help and documentation"
msgstr ""
-#: ../../include/permissions.php:35
-msgid "Extremely advanced. Leave this alone unless you know what you are doing"
+#: ../../include/nav.php:171
+msgid "Applications, utilities, links, games"
msgstr ""
-#: ../../include/permissions.php:738
-msgid "Social Networking"
+#: ../../include/nav.php:173
+msgid "Search site content"
msgstr ""
-#: ../../include/permissions.php:739 ../../include/permissions.php:741
-#: ../../include/permissions.php:743 ../../include/permissions.php:745
-msgid "Mostly Public"
+#: ../../include/nav.php:176
+msgid "Channel Directory"
msgstr ""
-#: ../../include/permissions.php:739 ../../include/permissions.php:741
-#: ../../include/permissions.php:743
-msgid "Restricted"
+#: ../../include/nav.php:190
+msgid "Your matrix"
msgstr ""
-#: ../../include/permissions.php:739 ../../include/permissions.php:741
-msgid "Private"
+#: ../../include/nav.php:191
+msgid "Mark all matrix notifications seen"
msgstr ""
-#: ../../include/permissions.php:740
-msgid "Community Forum"
+#: ../../include/nav.php:193
+msgid "Channel home"
msgstr ""
-#: ../../include/permissions.php:742
-msgid "Feed Republish"
+#: ../../include/nav.php:194
+msgid "Mark all channel notifications seen"
msgstr ""
-#: ../../include/permissions.php:744
-msgid "Celebrity/Soapbox"
+#: ../../include/nav.php:197 ../../mod/connections.php:406
+msgid "Connections"
msgstr ""
-#: ../../include/permissions.php:747
-msgid "Custom/Expert Mode"
+#: ../../include/nav.php:200
+msgid "Notices"
msgstr ""
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
+#: ../../include/nav.php:200
+msgid "Notifications"
msgstr ""
-#: ../../include/datetime.php:238
-msgid "never"
+#: ../../include/nav.php:201
+msgid "See all notifications"
msgstr ""
-#: ../../include/datetime.php:244
-msgid "less than a second ago"
+#: ../../include/nav.php:202 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
msgstr ""
-#: ../../include/datetime.php:247
-msgid "year"
+#: ../../include/nav.php:204
+msgid "Private mail"
msgstr ""
-#: ../../include/datetime.php:247
-msgid "years"
+#: ../../include/nav.php:205
+msgid "See all private messages"
msgstr ""
-#: ../../include/datetime.php:248
-msgid "month"
+#: ../../include/nav.php:206
+msgid "Mark all private messages seen"
msgstr ""
-#: ../../include/datetime.php:248
-msgid "months"
+#: ../../include/nav.php:207
+msgid "Inbox"
msgstr ""
-#: ../../include/datetime.php:249
-msgid "week"
+#: ../../include/nav.php:208
+msgid "Outbox"
msgstr ""
-#: ../../include/datetime.php:249
-msgid "weeks"
+#: ../../include/nav.php:212
+msgid "Event Calendar"
msgstr ""
-#: ../../include/datetime.php:250
-msgid "day"
+#: ../../include/nav.php:213
+msgid "See all events"
msgstr ""
-#: ../../include/datetime.php:250
-msgid "days"
+#: ../../include/nav.php:214
+msgid "Mark all events seen"
msgstr ""
-#: ../../include/datetime.php:251
-msgid "hour"
+#: ../../include/nav.php:216
+msgid "Manage Your Channels"
msgstr ""
-#: ../../include/datetime.php:251
-msgid "hours"
+#: ../../include/nav.php:218
+msgid "Account/Channel Settings"
msgstr ""
-#: ../../include/datetime.php:252
-msgid "minute"
+#: ../../include/nav.php:226 ../../mod/admin.php:123
+msgid "Admin"
msgstr ""
-#: ../../include/datetime.php:252
-msgid "minutes"
+#: ../../include/nav.php:226
+msgid "Site Setup and Configuration"
msgstr ""
-#: ../../include/datetime.php:253
-msgid "second"
+#: ../../include/nav.php:262
+msgid "@name, #tag, content"
msgstr ""
-#: ../../include/datetime.php:253
-msgid "seconds"
+#: ../../include/nav.php:263
+msgid "Please wait..."
msgstr ""
-#: ../../include/datetime.php:262
-#, php-format
-msgid "%1$d %2$s ago"
+#: ../../include/security.php:357
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
msgstr ""
-#: ../../include/datetime.php:467
-#, php-format
-msgid "%1$s's birthday"
+#: ../../mod/mood.php:132
+msgid "Set your current mood and tell your friends"
msgstr ""
-#: ../../include/datetime.php:468
-#, php-format
-msgid "Happy Birthday %1$s"
+#: ../../mod/register.php:44
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr ""
-#: ../../mod/mood.php:132
-msgid "Set your current mood and tell your friends"
+#: ../../mod/register.php:50
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
msgstr ""
-#: ../../mod/photos.php:77
-msgid "Page owner information could not be retrieved."
+#: ../../mod/register.php:84
+msgid "Passwords do not match."
msgstr ""
-#: ../../mod/photos.php:97
-msgid "Album not found."
+#: ../../mod/register.php:117
+msgid ""
+"Registration successful. Please check your email for validation instructions."
msgstr ""
-#: ../../mod/photos.php:119 ../../mod/photos.php:673
-msgid "Delete Album"
+#: ../../mod/register.php:123
+msgid "Your registration is pending approval by the site owner."
msgstr ""
-#: ../../mod/photos.php:159 ../../mod/photos.php:973
-msgid "Delete Photo"
+#: ../../mod/register.php:126
+msgid "Your registration can not be processed."
msgstr ""
-#: ../../mod/photos.php:443 ../../mod/search.php:13 ../../mod/directory.php:15
-#: ../../mod/dirprofile.php:9 ../../mod/display.php:9
-#: ../../mod/viewconnections.php:17
-msgid "Public access denied."
+#: ../../mod/register.php:163
+msgid "Registration on this site/hub is by approval only."
msgstr ""
-#: ../../mod/photos.php:453
-msgid "No photos selected"
+#: ../../mod/register.php:164
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
msgstr ""
-#: ../../mod/photos.php:500
-msgid "Access to this item is restricted."
+#: ../../mod/register.php:174
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
msgstr ""
-#: ../../mod/photos.php:574
+#: ../../mod/register.php:185
+msgid "Terms of Service"
+msgstr ""
+
+#: ../../mod/register.php:191
#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
+msgid "I accept the %s for this website"
msgstr ""
-#: ../../mod/photos.php:577
+#: ../../mod/register.php:193
#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
+msgid "I am over 13 years of age and accept the %s for this website"
msgstr ""
-#: ../../mod/photos.php:596
-msgid "Upload Photos"
+#: ../../mod/register.php:207 ../../mod/admin.php:413
+msgid "Registration"
msgstr ""
-#: ../../mod/photos.php:600 ../../mod/photos.php:668
-msgid "New album name: "
+#: ../../mod/register.php:212
+msgid "Membership on this site is by invitation only."
msgstr ""
-#: ../../mod/photos.php:601
-msgid "or existing album name: "
+#: ../../mod/register.php:213
+msgid "Please enter your invitation code"
msgstr ""
-#: ../../mod/photos.php:602
-msgid "Do not show a status post for this upload"
+#: ../../mod/register.php:216
+msgid "Your email address"
msgstr ""
-#: ../../mod/photos.php:622
-msgid "Album name could not be decoded"
+#: ../../mod/register.php:217
+msgid "Choose a password"
msgstr ""
-#: ../../mod/photos.php:657 ../../mod/photos.php:679 ../../mod/photos.php:1148
-#: ../../mod/photos.php:1163
-msgid "Contact Photos"
+#: ../../mod/register.php:218
+msgid "Please re-enter your password"
msgstr ""
-#: ../../mod/photos.php:681
-msgid "Edit Album"
+#: ../../mod/mitem.php:24 ../../mod/menu.php:108
+msgid "Menu not found."
msgstr ""
-#: ../../mod/photos.php:687
-msgid "Show Newest First"
+#: ../../mod/mitem.php:67
+msgid "Menu element updated."
msgstr ""
-#: ../../mod/photos.php:689
-msgid "Show Oldest First"
+#: ../../mod/mitem.php:71
+msgid "Unable to update menu element."
msgstr ""
-#: ../../mod/photos.php:716 ../../mod/photos.php:1195
-msgid "View Photo"
+#: ../../mod/mitem.php:77
+msgid "Menu element added."
msgstr ""
-#: ../../mod/photos.php:794
-msgid "Permission denied. Access to this item may be restricted."
+#: ../../mod/mitem.php:81
+msgid "Unable to add menu element."
msgstr ""
-#: ../../mod/photos.php:796
-msgid "Photo not available"
+#: ../../mod/mitem.php:111 ../../mod/menu.php:136 ../../mod/xchan.php:37
+msgid "Not found."
msgstr ""
-#: ../../mod/photos.php:856
-msgid "Use as profile photo"
+#: ../../mod/mitem.php:127
+msgid "Manage Menu Elements"
msgstr ""
-#: ../../mod/photos.php:863
-msgid "Private Photo"
+#: ../../mod/mitem.php:130
+msgid "Edit menu"
msgstr ""
-#: ../../mod/photos.php:874 ../../mod/events.php:433
-msgid "Previous"
+#: ../../mod/mitem.php:133
+msgid "Edit element"
msgstr ""
-#: ../../mod/photos.php:878
-msgid "View Full Size"
+#: ../../mod/mitem.php:134
+msgid "Drop element"
msgstr ""
-#: ../../mod/photos.php:883 ../../mod/events.php:434 ../../mod/setup.php:261
-msgid "Next"
+#: ../../mod/mitem.php:135
+msgid "New element"
msgstr ""
-#: ../../mod/photos.php:922 ../../mod/delegate.php:130 ../../mod/tagrm.php:93
-msgid "Remove"
+#: ../../mod/mitem.php:136
+msgid "Edit this menu container"
msgstr ""
-#: ../../mod/photos.php:956
-msgid "Edit photo"
+#: ../../mod/mitem.php:137
+msgid "Add menu element"
msgstr ""
-#: ../../mod/photos.php:958
-msgid "Rotate CW (right)"
+#: ../../mod/mitem.php:138
+msgid "Delete this menu item"
msgstr ""
-#: ../../mod/photos.php:959
-msgid "Rotate CCW (left)"
+#: ../../mod/mitem.php:139
+msgid "Edit this menu item"
msgstr ""
-#: ../../mod/photos.php:962
-msgid "New album name"
+#: ../../mod/mitem.php:158
+msgid "New Menu Element"
msgstr ""
-#: ../../mod/photos.php:965
-msgid "Caption"
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:203
+msgid "Menu Item Permissions"
msgstr ""
-#: ../../mod/photos.php:967
-msgid "Add a Tag"
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:204 ../../mod/settings.php:1049
+msgid "(click to open/close)"
msgstr ""
-#: ../../mod/photos.php:970
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
+#: ../../mod/mitem.php:163 ../../mod/mitem.php:207
+msgid "Link text"
msgstr ""
-#: ../../mod/photos.php:1125
-msgid "In This Photo:"
+#: ../../mod/mitem.php:164 ../../mod/mitem.php:208
+msgid "URL of link"
msgstr ""
-#: ../../mod/photos.php:1201
-msgid "View Album"
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
+msgid "Use RedMatrix magic-auth if available"
msgstr ""
-#: ../../mod/photos.php:1224
-msgid "Recent Photos"
+#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
+msgid "Open link in new window"
msgstr ""
-#: ../../mod/mitem.php:14 ../../mod/menu.php:92
-msgid "Menu not found."
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
+msgid "Order in list"
msgstr ""
-#: ../../mod/mitem.php:47
-msgid "Menu element updated."
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
+msgid "Higher numbers will sink to bottom of listing"
msgstr ""
-#: ../../mod/mitem.php:51
-msgid "Unable to update menu element."
+#: ../../mod/mitem.php:181
+msgid "Menu item not found."
msgstr ""
-#: ../../mod/mitem.php:57
-msgid "Menu element added."
+#: ../../mod/mitem.php:190
+msgid "Menu item deleted."
msgstr ""
-#: ../../mod/mitem.php:61
-msgid "Unable to add menu element."
+#: ../../mod/mitem.php:192
+msgid "Menu item could not be deleted."
msgstr ""
-#: ../../mod/mitem.php:78 ../../mod/dirprofile.php:175 ../../mod/menu.php:120
-#: ../../mod/xchan.php:38
-msgid "Not found."
+#: ../../mod/mitem.php:201
+msgid "Edit Menu Element"
msgstr ""
-#: ../../mod/mitem.php:96
-msgid "Manage Menu Elements"
+#: ../../mod/mitem.php:213 ../../mod/menu.php:130
+msgid "Modify"
msgstr ""
-#: ../../mod/mitem.php:99
-msgid "Edit menu"
+#: ../../mod/achievements.php:34
+msgid "Some blurb about what to do when you're new here"
msgstr ""
-#: ../../mod/mitem.php:102
-msgid "Edit element"
+#: ../../mod/ping.php:266
+msgid "sent you a private message"
msgstr ""
-#: ../../mod/mitem.php:103
-msgid "Drop element"
+#: ../../mod/ping.php:319
+msgid "added your channel"
msgstr ""
-#: ../../mod/mitem.php:104
-msgid "New element"
+#: ../../mod/ping.php:360
+msgid "posted an event"
msgstr ""
-#: ../../mod/mitem.php:105
-msgid "Edit this menu container"
+#: ../../mod/group.php:20
+msgid "Collection created."
msgstr ""
-#: ../../mod/mitem.php:106
-msgid "Add menu element"
+#: ../../mod/group.php:26
+msgid "Could not create collection."
msgstr ""
-#: ../../mod/mitem.php:107
-msgid "Delete this menu item"
+#: ../../mod/group.php:54
+msgid "Collection updated."
msgstr ""
-#: ../../mod/mitem.php:108
-msgid "Edit this menu item"
+#: ../../mod/group.php:86
+msgid "Create a collection of channels."
msgstr ""
-#: ../../mod/mitem.php:131
-msgid "New Menu Element"
+#: ../../mod/group.php:87 ../../mod/group.php:183
+msgid "Collection Name: "
msgstr ""
-#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
-msgid "Menu Item Permissions"
+#: ../../mod/group.php:89 ../../mod/group.php:186
+msgid "Members are visible to other channels"
msgstr ""
-#: ../../mod/mitem.php:134 ../../mod/mitem.php:177 ../../mod/settings.php:980
-msgid "(click to open/close)"
+#: ../../mod/group.php:107
+msgid "Collection removed."
msgstr ""
-#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
-msgid "Link text"
+#: ../../mod/group.php:109
+msgid "Unable to remove collection."
msgstr ""
-#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
-msgid "URL of link"
+#: ../../mod/group.php:182
+msgid "Collection Editor"
msgstr ""
-#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
-msgid "Use Red magic-auth if available"
+#: ../../mod/group.php:196
+msgid "Members"
msgstr ""
-#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
-msgid "Open link in new window"
+#: ../../mod/group.php:198
+msgid "All Connected Channels"
msgstr ""
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
-msgid "Order in list"
+#: ../../mod/group.php:233
+msgid "Click on a channel to add or remove."
msgstr ""
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
-msgid "Higher numbers will sink to bottom of listing"
+#: ../../mod/search.php:13 ../../mod/display.php:9
+#: ../../mod/viewconnections.php:17 ../../mod/photos.php:458
+#: ../../mod/directory.php:22
+msgid "Public access denied."
msgstr ""
-#: ../../mod/mitem.php:154
-msgid "Menu item not found."
+#: ../../mod/subthread.php:103
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
msgstr ""
-#: ../../mod/mitem.php:163
-msgid "Menu item deleted."
+#: ../../mod/poke.php:159
+msgid "Poke/Prod"
msgstr ""
-#: ../../mod/mitem.php:165
-msgid "Menu item could not be deleted."
+#: ../../mod/poke.php:160
+msgid "poke, prod or do other things to somebody"
msgstr ""
-#: ../../mod/mitem.php:174
-msgid "Edit Menu Element"
+#: ../../mod/poke.php:161
+msgid "Recipient"
msgstr ""
-#: ../../mod/mitem.php:186 ../../mod/menu.php:114
-msgid "Modify"
+#: ../../mod/poke.php:162
+msgid "Choose what you wish to do to recipient"
msgstr ""
-#: ../../mod/achievements.php:34
-msgid "Some blurb about what to do when you're new here"
+#: ../../mod/poke.php:165
+msgid "Make this post private"
msgstr ""
-#: ../../mod/ping.php:237
-msgid "sent you a private message"
+#: ../../mod/api.php:76 ../../mod/api.php:102
+msgid "Authorize application connection"
msgstr ""
-#: ../../mod/ping.php:288
-msgid "added your channel"
+#: ../../mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
msgstr ""
-#: ../../mod/ping.php:329
-msgid "posted an event"
+#: ../../mod/api.php:89
+msgid "Please login to continue."
msgstr ""
-#: ../../mod/acl.php:244
-msgid "network"
+#: ../../mod/api.php:104
+msgid ""
+"Do you want to authorize this application to access your posts and contacts, "
+"and/or create new posts for you?"
msgstr ""
-#: ../../mod/settings.php:71
-msgid "Name is required"
+#: ../../mod/api.php:105 ../../mod/settings.php:955 ../../mod/settings.php:960
+#: ../../mod/settings.php:1042 ../../mod/admin.php:392
+msgid "Yes"
msgstr ""
-#: ../../mod/settings.php:75
-msgid "Key and Secret are required"
+#: ../../mod/api.php:106 ../../mod/settings.php:955 ../../mod/settings.php:960
+#: ../../mod/settings.php:1042 ../../mod/admin.php:390
+msgid "No"
msgstr ""
-#: ../../mod/settings.php:198
-msgid "Passwords do not match. Password unchanged."
+#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
+#: ../../mod/profiles.php:231 ../../mod/profiles.php:583
+msgid "Profile not found."
msgstr ""
-#: ../../mod/settings.php:202
-msgid "Empty passwords are not allowed. Password unchanged."
+#: ../../mod/profiles.php:38
+msgid "Profile deleted."
msgstr ""
-#: ../../mod/settings.php:216
-msgid "Password changed."
+#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
+msgid "Profile-"
msgstr ""
-#: ../../mod/settings.php:218
-msgid "Password update failed. Please try again."
+#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
+msgid "New profile created."
msgstr ""
-#: ../../mod/settings.php:232
-msgid "Not valid email."
+#: ../../mod/profiles.php:98
+msgid "Profile unavailable to clone."
msgstr ""
-#: ../../mod/settings.php:235
-msgid "Protected email address. Cannot change to that email."
+#: ../../mod/profiles.php:136
+msgid "Profile unavailable to export."
msgstr ""
-#: ../../mod/settings.php:244
-msgid "System failure storing new email. Please try again."
+#: ../../mod/profiles.php:241
+msgid "Profile Name is required."
msgstr ""
-#: ../../mod/settings.php:447
-msgid "Settings updated."
+#: ../../mod/profiles.php:387
+msgid "Marital Status"
msgstr ""
-#: ../../mod/settings.php:518 ../../mod/settings.php:544
-#: ../../mod/settings.php:580
-msgid "Add application"
+#: ../../mod/profiles.php:391
+msgid "Romantic Partner"
msgstr ""
-#: ../../mod/settings.php:521
-msgid "Name of application"
+#: ../../mod/profiles.php:395
+msgid "Likes"
msgstr ""
-#: ../../mod/settings.php:522 ../../mod/settings.php:548
-msgid "Consumer Key"
+#: ../../mod/profiles.php:399
+msgid "Dislikes"
msgstr ""
-#: ../../mod/settings.php:522 ../../mod/settings.php:523
-msgid "Automatically generated - change if desired. Max length 20"
+#: ../../mod/profiles.php:403
+msgid "Work/Employment"
msgstr ""
-#: ../../mod/settings.php:523 ../../mod/settings.php:549
-msgid "Consumer Secret"
+#: ../../mod/profiles.php:406
+msgid "Religion"
msgstr ""
-#: ../../mod/settings.php:524 ../../mod/settings.php:550
-msgid "Redirect"
+#: ../../mod/profiles.php:410
+msgid "Political Views"
msgstr ""
-#: ../../mod/settings.php:524
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires this"
+#: ../../mod/profiles.php:414
+msgid "Gender"
msgstr ""
-#: ../../mod/settings.php:525 ../../mod/settings.php:551
-msgid "Icon url"
+#: ../../mod/profiles.php:418
+msgid "Sexual Preference"
msgstr ""
-#: ../../mod/settings.php:525
-msgid "Optional"
+#: ../../mod/profiles.php:422
+msgid "Homepage"
msgstr ""
-#: ../../mod/settings.php:536
-msgid "You can't edit this application."
+#: ../../mod/profiles.php:426
+msgid "Interests"
msgstr ""
-#: ../../mod/settings.php:579
-msgid "Connected Apps"
+#: ../../mod/profiles.php:430 ../../mod/admin.php:866
+msgid "Address"
msgstr ""
-#: ../../mod/settings.php:583
-msgid "Client key starts with"
+#: ../../mod/profiles.php:437 ../../mod/pubsites.php:25
+msgid "Location"
msgstr ""
-#: ../../mod/settings.php:584
-msgid "No name"
+#: ../../mod/profiles.php:520
+msgid "Profile updated."
msgstr ""
-#: ../../mod/settings.php:585
-msgid "Remove authorization"
+#: ../../mod/profiles.php:609
+msgid "Hide your contact/friend list from viewers of this profile?"
msgstr ""
-#: ../../mod/settings.php:596
-msgid "No feature settings configured"
+#: ../../mod/profiles.php:649
+msgid "Edit Profile Details"
msgstr ""
-#: ../../mod/settings.php:604
-msgid "Feature Settings"
+#: ../../mod/profiles.php:651
+msgid "View this profile"
msgstr ""
-#: ../../mod/settings.php:627
-msgid "Account Settings"
+#: ../../mod/profiles.php:653
+msgid "Change Profile Photo"
msgstr ""
-#: ../../mod/settings.php:628
-msgid "Password Settings"
+#: ../../mod/profiles.php:654
+msgid "Create a new profile using these settings"
msgstr ""
-#: ../../mod/settings.php:629
-msgid "New Password:"
+#: ../../mod/profiles.php:655
+msgid "Clone this profile"
msgstr ""
-#: ../../mod/settings.php:630
-msgid "Confirm:"
+#: ../../mod/profiles.php:656
+msgid "Delete this profile"
msgstr ""
-#: ../../mod/settings.php:630
-msgid "Leave password fields blank unless changing"
+#: ../../mod/profiles.php:658
+msgid "Import profile from file"
msgstr ""
-#: ../../mod/settings.php:632 ../../mod/settings.php:954
-msgid "Email Address:"
+#: ../../mod/profiles.php:659
+msgid "Export profile to file"
msgstr ""
-#: ../../mod/settings.php:633 ../../mod/removeaccount.php:61
-msgid "Remove Account"
+#: ../../mod/profiles.php:660
+msgid "Profile Name:"
msgstr ""
-#: ../../mod/settings.php:634
-msgid "Remove this account from this server including all its channels"
+#: ../../mod/profiles.php:661
+msgid "Your Full Name:"
msgstr ""
-#: ../../mod/settings.php:635 ../../mod/settings.php:1019
-msgid "Warning: This action is permanent and cannot be reversed."
+#: ../../mod/profiles.php:662
+msgid "Title/Description:"
msgstr ""
-#: ../../mod/settings.php:651
-msgid "Off"
+#: ../../mod/profiles.php:663
+msgid "Your Gender:"
msgstr ""
-#: ../../mod/settings.php:651
-msgid "On"
+#: ../../mod/profiles.php:664
+msgid "Birthday :"
msgstr ""
-#: ../../mod/settings.php:658
-msgid "Additional Features"
+#: ../../mod/profiles.php:665
+msgid "Street Address:"
msgstr ""
-#: ../../mod/settings.php:683
-msgid "Connector Settings"
+#: ../../mod/profiles.php:666
+msgid "Locality/City:"
msgstr ""
-#: ../../mod/settings.php:713 ../../mod/admin.php:362
-msgid "No special theme for mobile devices"
+#: ../../mod/profiles.php:667
+msgid "Postal/Zip Code:"
msgstr ""
-#: ../../mod/settings.php:722
-#, php-format
-msgid "%s - (Experimental)"
+#: ../../mod/profiles.php:668
+msgid "Country:"
msgstr ""
-#: ../../mod/settings.php:758
-msgid "Display Settings"
+#: ../../mod/profiles.php:669
+msgid "Region/State:"
msgstr ""
-#: ../../mod/settings.php:764
-msgid "Display Theme:"
+#: ../../mod/profiles.php:670
+msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr ""
-#: ../../mod/settings.php:765
-msgid "Mobile Theme:"
+#: ../../mod/profiles.php:671
+msgid "Who: (if applicable)"
msgstr ""
-#: ../../mod/settings.php:766
-msgid "Enable user zoom on mobile devices"
+#: ../../mod/profiles.php:672
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
-#: ../../mod/settings.php:767
-msgid "Update browser every xx seconds"
+#: ../../mod/profiles.php:673
+msgid "Since [date]:"
msgstr ""
-#: ../../mod/settings.php:767
-msgid "Minimum of 10 seconds, no maximum"
+#: ../../mod/profiles.php:675
+msgid "Homepage URL:"
msgstr ""
-#: ../../mod/settings.php:768
-msgid "Maximum number of conversations to load at any time:"
+#: ../../mod/profiles.php:678
+msgid "Religious Views:"
msgstr ""
-#: ../../mod/settings.php:768
-msgid "Maximum of 100 items"
+#: ../../mod/profiles.php:679
+msgid "Keywords:"
msgstr ""
-#: ../../mod/settings.php:769
-msgid "Don't show emoticons"
+#: ../../mod/profiles.php:682
+msgid "Example: fishing photography software"
msgstr ""
-#: ../../mod/settings.php:770
-msgid "Link post titles to source"
+#: ../../mod/profiles.php:683
+msgid "Used in directory listings"
msgstr ""
-#: ../../mod/settings.php:771
-msgid "System Page Layout Editor - (advanced)"
+#: ../../mod/profiles.php:684
+msgid "Tell us about yourself..."
msgstr ""
-#: ../../mod/settings.php:807
-msgid "Nobody except yourself"
+#: ../../mod/profiles.php:685
+msgid "Hobbies/Interests"
msgstr ""
-#: ../../mod/settings.php:808
-msgid "Only those you specifically allow"
+#: ../../mod/profiles.php:686
+msgid "Contact information and Social Networks"
msgstr ""
-#: ../../mod/settings.php:809
-msgid "Approved connections"
+#: ../../mod/profiles.php:687
+msgid "My other channels"
msgstr ""
-#: ../../mod/settings.php:810
-msgid "Any connections"
+#: ../../mod/profiles.php:688
+msgid "Musical interests"
msgstr ""
-#: ../../mod/settings.php:811
-msgid "Anybody on this website"
+#: ../../mod/profiles.php:689
+msgid "Books, literature"
msgstr ""
-#: ../../mod/settings.php:812
-msgid "Anybody in this network"
+#: ../../mod/profiles.php:690
+msgid "Television"
msgstr ""
-#: ../../mod/settings.php:813
-msgid "Anybody authenticated"
+#: ../../mod/profiles.php:691
+msgid "Film/dance/culture/entertainment"
msgstr ""
-#: ../../mod/settings.php:814
-msgid "Anybody on the internet"
+#: ../../mod/profiles.php:692
+msgid "Love/romance"
msgstr ""
-#: ../../mod/settings.php:891
-msgid "Publish your default profile in the network directory"
+#: ../../mod/profiles.php:693
+msgid "Work/employment"
msgstr ""
-#: ../../mod/settings.php:891 ../../mod/settings.php:896
-#: ../../mod/settings.php:973 ../../mod/api.php:106 ../../mod/profiles.php:574
-#: ../../mod/admin.php:392
-msgid "No"
+#: ../../mod/profiles.php:694
+msgid "School/education"
msgstr ""
-#: ../../mod/settings.php:891 ../../mod/settings.php:896
-#: ../../mod/settings.php:973 ../../mod/api.php:105 ../../mod/profiles.php:573
-#: ../../mod/admin.php:394
-msgid "Yes"
+#: ../../mod/profiles.php:700
+msgid "This is your default profile."
msgstr ""
-#: ../../mod/settings.php:896
-msgid "Allow us to suggest you as a potential friend to new members?"
+#: ../../mod/profiles.php:711 ../../mod/directory.php:188
+msgid "Age: "
msgstr ""
-#: ../../mod/settings.php:900 ../../mod/profile_photo.php:365
-msgid "or"
+#: ../../mod/profiles.php:754
+msgid "Edit/Manage Profiles"
msgstr ""
-#: ../../mod/settings.php:905
-msgid "Your channel address is"
+#: ../../mod/profiles.php:755
+msgid "Add profile things"
msgstr ""
-#: ../../mod/settings.php:943
-msgid "Channel Settings"
+#: ../../mod/profiles.php:756
+msgid "Include desirable objects in your profile"
msgstr ""
-#: ../../mod/settings.php:952
-msgid "Basic Settings"
+#: ../../mod/attach.php:9
+msgid "Item not available."
msgstr ""
-#: ../../mod/settings.php:955
-msgid "Your Timezone:"
+#: ../../mod/probe.php:23 ../../mod/probe.php:29
+#, php-format
+msgid "Fetching URL returns error: %1$s"
msgstr ""
-#: ../../mod/settings.php:956
-msgid "Default Post Location:"
+#: ../../mod/block.php:27 ../../mod/page.php:33
+msgid "Invalid item."
msgstr ""
-#: ../../mod/settings.php:956
-msgid "Geographical location to display on your posts"
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:45
+msgid "Channel not found."
msgstr ""
-#: ../../mod/settings.php:957
-msgid "Use Browser Location:"
+#: ../../mod/block.php:75 ../../mod/display.php:102 ../../mod/help.php:70
+#: ../../mod/page.php:81 ../../index.php:241
+msgid "Page not found."
msgstr ""
-#: ../../mod/settings.php:959
-msgid "Adult Content"
+#: ../../mod/uexport.php:33 ../../mod/uexport.php:34
+msgid "Export Channel"
msgstr ""
-#: ../../mod/settings.php:959
+#: ../../mod/uexport.php:35
msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
+"Export your basic channel information to a small file. This acts as a "
+"backup of your connections, permissions, profile and basic data, which can "
+"be used to import your data to a new hub, but\tdoes not contain your content."
msgstr ""
-#: ../../mod/settings.php:961
-msgid "Security and Privacy Settings"
+#: ../../mod/uexport.php:36
+msgid "Export Content"
msgstr ""
-#: ../../mod/settings.php:963
-msgid "Your permissions are already configured. Click to view/adjust"
+#: ../../mod/uexport.php:37
+msgid ""
+"Export your channel information and all the content to a JSON backup. This "
+"backs up all of your connections, permissions, profile data and all of your "
+"content, but is generally not suitable for importing a channel to a new hub "
+"as this file may be VERY large. Please be patient - it may take several "
+"minutes for this download to begin."
msgstr ""
-#: ../../mod/settings.php:965
-msgid "Hide my online presence"
+#: ../../mod/delegate.php:95
+msgid "No potential page delegates located."
msgstr ""
-#: ../../mod/settings.php:965
-msgid "Prevents displaying in your profile that you are online"
+#: ../../mod/delegate.php:121
+msgid "Delegate Page Management"
msgstr ""
-#: ../../mod/settings.php:967
-msgid "Simple Privacy Settings:"
+#: ../../mod/delegate.php:123
+msgid ""
+"Delegates are able to manage all aspects of this account/page except for "
+"basic account settings. Please do not delegate your personal account to "
+"anybody that you do not trust completely."
+msgstr ""
+
+#: ../../mod/delegate.php:124
+msgid "Existing Page Managers"
+msgstr ""
+
+#: ../../mod/delegate.php:126
+msgid "Existing Page Delegates"
+msgstr ""
+
+#: ../../mod/delegate.php:128
+msgid "Potential Delegates"
msgstr ""
-#: ../../mod/settings.php:968
+#: ../../mod/delegate.php:130 ../../mod/tagrm.php:133 ../../mod/photos.php:902
+msgid "Remove"
+msgstr ""
+
+#: ../../mod/delegate.php:131
+msgid "Add"
+msgstr ""
+
+#: ../../mod/delegate.php:132
+msgid "No entries."
+msgstr ""
+
+#: ../../mod/siteinfo.php:93
+#, php-format
+msgid "Version %s"
+msgstr ""
+
+#: ../../mod/siteinfo.php:114
+msgid "Installed plugins/addons/apps:"
+msgstr ""
+
+#: ../../mod/siteinfo.php:127
+msgid "No installed plugins/addons/apps"
+msgstr ""
+
+#: ../../mod/siteinfo.php:135
+msgid "Red"
+msgstr ""
+
+#: ../../mod/siteinfo.php:136
msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
+"This is a hub of the Red Matrix - a global cooperative network of "
+"decentralized privacy enhanced websites."
msgstr ""
-#: ../../mod/settings.php:969
+#: ../../mod/siteinfo.php:138
+msgid "Tag: "
+msgstr ""
+
+#: ../../mod/siteinfo.php:140
+msgid "Last background fetch: "
+msgstr ""
+
+#: ../../mod/siteinfo.php:143
+msgid "Running at web location"
+msgstr ""
+
+#: ../../mod/siteinfo.php:144
msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
+"Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more "
+"about the Red Matrix."
msgstr ""
-#: ../../mod/settings.php:970
-msgid "Private - <em>default private, never open or public</em>"
+#: ../../mod/siteinfo.php:145
+msgid "Bug reports and issues: please visit"
msgstr ""
-#: ../../mod/settings.php:971
-msgid "Blocked - <em>default blocked to/from everybody</em>"
+#: ../../mod/siteinfo.php:148
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"
msgstr ""
-#: ../../mod/settings.php:973
-msgid "Allow others to tag your posts"
+#: ../../mod/siteinfo.php:150
+msgid "Site Administrators"
msgstr ""
-#: ../../mod/settings.php:973
+#: ../../mod/sources.php:32
+msgid "Failed to create source. No channel selected."
+msgstr ""
+
+#: ../../mod/sources.php:45
+msgid "Source created."
+msgstr ""
+
+#: ../../mod/sources.php:57
+msgid "Source updated."
+msgstr ""
+
+#: ../../mod/sources.php:82
+msgid "*"
+msgstr ""
+
+#: ../../mod/sources.php:89
+msgid "Manage remote sources of content for your channel."
+msgstr ""
+
+#: ../../mod/sources.php:90 ../../mod/sources.php:100
+msgid "New Source"
+msgstr ""
+
+#: ../../mod/sources.php:101 ../../mod/sources.php:133
msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
msgstr ""
-#: ../../mod/settings.php:975
-msgid "Advanced Privacy Settings"
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Only import content with these words (one per line)"
msgstr ""
-#: ../../mod/settings.php:977
-msgid "Expire other channel content after this many days"
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Leave blank to import all public content"
msgstr ""
-#: ../../mod/settings.php:977
-msgid "0 or blank prevents expiration"
+#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../mod/new_channel.php:112
+msgid "Channel Name"
msgstr ""
-#: ../../mod/settings.php:978
-msgid "Maximum Friend Requests/Day:"
+#: ../../mod/sources.php:123 ../../mod/sources.php:150
+msgid "Source not found."
msgstr ""
-#: ../../mod/settings.php:978
-msgid "May reduce spam activity"
+#: ../../mod/sources.php:130
+msgid "Edit Source"
msgstr ""
-#: ../../mod/settings.php:979
-msgid "Default Post Permissions"
+#: ../../mod/sources.php:131
+msgid "Delete Source"
msgstr ""
-#: ../../mod/settings.php:991
-msgid "Maximum private messages per day from unknown people:"
+#: ../../mod/sources.php:158
+msgid "Source removed"
msgstr ""
-#: ../../mod/settings.php:991
-msgid "Useful to reduce spamming"
+#: ../../mod/sources.php:160
+msgid "Unable to remove source."
msgstr ""
-#: ../../mod/settings.php:994
-msgid "Notification Settings"
+#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
+msgid "Invalid profile identifier."
msgstr ""
-#: ../../mod/settings.php:995
-msgid "By default post a status message when:"
+#: ../../mod/profperm.php:110
+msgid "Profile Visibility Editor"
msgstr ""
-#: ../../mod/settings.php:996
-msgid "accepting a friend request"
+#: ../../mod/profperm.php:114
+msgid "Click on a contact to add or remove."
msgstr ""
-#: ../../mod/settings.php:997
-msgid "joining a forum/community"
+#: ../../mod/profperm.php:123
+msgid "Visible To"
msgstr ""
-#: ../../mod/settings.php:998
-msgid "making an <em>interesting</em> profile change"
+#: ../../mod/profperm.php:139 ../../mod/connections.php:279
+msgid "All Connections"
msgstr ""
-#: ../../mod/settings.php:999
-msgid "Send a notification email when:"
+#: ../../mod/events.php:81
+msgid "Event can not end before it has started."
msgstr ""
-#: ../../mod/settings.php:1000
-msgid "You receive a connection request"
+#: ../../mod/events.php:86
+msgid "Event title and start time are required."
msgstr ""
-#: ../../mod/settings.php:1001
-msgid "Your connections are confirmed"
+#: ../../mod/events.php:100
+msgid "Event not found."
msgstr ""
-#: ../../mod/settings.php:1002
-msgid "Someone writes on your profile wall"
+#: ../../mod/events.php:369
+msgid "l, F j"
msgstr ""
-#: ../../mod/settings.php:1003
-msgid "Someone writes a followup comment"
+#: ../../mod/events.php:391
+msgid "Edit event"
msgstr ""
-#: ../../mod/settings.php:1004
-msgid "You receive a private message"
+#: ../../mod/events.php:443
+msgid "Create New Event"
msgstr ""
-#: ../../mod/settings.php:1005
-msgid "You receive a friend suggestion"
+#: ../../mod/events.php:444 ../../mod/photos.php:856
+msgid "Previous"
msgstr ""
-#: ../../mod/settings.php:1006
-msgid "You are tagged in a post"
+#: ../../mod/events.php:445 ../../mod/setup.php:265 ../../mod/photos.php:865
+msgid "Next"
msgstr ""
-#: ../../mod/settings.php:1007
-msgid "You are poked/prodded/etc. in a post"
+#: ../../mod/events.php:446
+msgid "Export"
msgstr ""
-#: ../../mod/settings.php:1010
-msgid "Advanced Account/Page Type Settings"
+#: ../../mod/events.php:571
+msgid "Event details"
msgstr ""
-#: ../../mod/settings.php:1011
-msgid "Change the behaviour of this account for special situations"
+#: ../../mod/events.php:572
+msgid "Starting date and Title are required."
msgstr ""
-#: ../../mod/settings.php:1014
+#: ../../mod/events.php:574
+msgid "Categories (comma-separated list)"
+msgstr ""
+
+#: ../../mod/events.php:576
+msgid "Event Starts:"
+msgstr ""
+
+#: ../../mod/events.php:576 ../../mod/events.php:592 ../../mod/appman.php:91
+#: ../../mod/appman.php:92
+msgid "Required"
+msgstr ""
+
+#: ../../mod/events.php:582
+msgid "Finish date/time is not known or not relevant"
+msgstr ""
+
+#: ../../mod/events.php:584
+msgid "Event Finishes:"
+msgstr ""
+
+#: ../../mod/events.php:586
+msgid "Adjust for viewer timezone"
+msgstr ""
+
+#: ../../mod/events.php:588
+msgid "Description:"
+msgstr ""
+
+#: ../../mod/events.php:592
+msgid "Title:"
+msgstr ""
+
+#: ../../mod/events.php:594
+msgid "Share this event"
+msgstr ""
+
+#: ../../mod/pubsites.php:16
+msgid "Public Sites"
+msgstr ""
+
+#: ../../mod/pubsites.php:19
msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
+"The listed sites allow public registration into the Red Matrix. All sites in "
+"the matrix are interlinked so membership on any of them conveys membership "
+"in the matrix as a whole. Some sites may require subscription or provide "
+"tiered service plans. The provider links <strong>may</strong> provide "
+"additional details."
msgstr ""
-#: ../../mod/settings.php:1015
-msgid "Miscellaneous Settings"
+#: ../../mod/pubsites.php:25
+msgid "Site URL"
msgstr ""
-#: ../../mod/settings.php:1017
-msgid "Personal menu to display in your channel pages"
+#: ../../mod/pubsites.php:25
+msgid "Access Type"
msgstr ""
-#: ../../mod/settings.php:1018
-msgid "Remove this channel"
+#: ../../mod/pubsites.php:25
+msgid "Registration Policy"
msgstr ""
-#: ../../mod/poke.php:159
-msgid "Poke/Prod"
+#: ../../mod/channel.php:25 ../../mod/chat.php:19
+msgid "You must be logged in to see this page."
msgstr ""
-#: ../../mod/poke.php:160
-msgid "poke, prod or do other things to somebody"
+#: ../../mod/channel.php:87
+msgid "Insufficient permissions. Request redirected to profile page."
msgstr ""
-#: ../../mod/poke.php:161
-msgid "Recipient"
+#: ../../mod/rbmark.php:88
+msgid "Select a bookmark folder"
msgstr ""
-#: ../../mod/poke.php:162
-msgid "Choose what you wish to do to recipient"
+#: ../../mod/rbmark.php:93
+msgid "Save Bookmark"
msgstr ""
-#: ../../mod/poke.php:165
-msgid "Make this post private"
+#: ../../mod/rbmark.php:94
+msgid "URL of bookmark"
msgstr ""
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
+#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
+msgid "Description"
msgstr ""
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
+#: ../../mod/rbmark.php:99
+msgid "Or enter new bookmark folder name"
msgstr ""
-#: ../../mod/api.php:89
-msgid "Please login to continue."
+#: ../../mod/chat.php:167
+msgid "Room not found"
msgstr ""
-#: ../../mod/api.php:104
-msgid ""
-"Do you want to authorize this application to access your posts and contacts, "
-"and/or create new posts for you?"
+#: ../../mod/chat.php:178
+msgid "Leave Room"
msgstr ""
-#: ../../mod/post.php:229
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please "
-"logout and retry."
+#: ../../mod/chat.php:179
+msgid "Delete This Room"
msgstr ""
-#: ../../mod/post.php:261 ../../mod/openid.php:72 ../../mod/openid.php:180
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
+#: ../../mod/chat.php:180
+msgid "I am away right now"
msgstr ""
-#: ../../mod/attach.php:9
-msgid "Item not available."
+#: ../../mod/chat.php:181
+msgid "I am online"
msgstr ""
-#: ../../mod/probe.php:23 ../../mod/probe.php:29
+#: ../../mod/chat.php:183
+msgid "Bookmark this room"
+msgstr ""
+
+#: ../../mod/chat.php:207 ../../mod/chat.php:229
+msgid "New Chatroom"
+msgstr ""
+
+#: ../../mod/chat.php:208
+msgid "Chatroom Name"
+msgstr ""
+
+#: ../../mod/chat.php:225
#, php-format
-msgid "Fetching URL returns error: %1$s"
+msgid "%1$s's Chatrooms"
msgstr ""
-#: ../../mod/block.php:27 ../../mod/page.php:33
-msgid "Invalid item."
+#: ../../mod/chatsvc.php:111
+msgid "Away"
msgstr ""
-#: ../../mod/block.php:39 ../../mod/page.php:45 ../../mod/wall_upload.php:28
-msgid "Channel not found."
+#: ../../mod/chatsvc.php:115
+msgid "Online"
msgstr ""
-#: ../../mod/block.php:75 ../../mod/page.php:81 ../../mod/display.php:102
-#: ../../mod/help.php:72 ../../index.php:240
-msgid "Page not found."
+#: ../../mod/regmod.php:11
+msgid "Please login."
msgstr ""
-#: ../../mod/siteinfo.php:90
-#, php-format
-msgid "Version %s"
+#: ../../mod/editpost.php:20 ../../mod/editblock.php:79
+#: ../../mod/editblock.php:95 ../../mod/editlayout.php:78
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
msgstr ""
-#: ../../mod/siteinfo.php:111
-msgid "Installed plugins/addons/apps:"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
msgstr ""
-#: ../../mod/siteinfo.php:124
-msgid "No installed plugins/addons/apps"
+#: ../../mod/editpost.php:42 ../../mod/rpost.php:97
+msgid "Edit post"
msgstr ""
-#: ../../mod/siteinfo.php:132
-msgid "Red"
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
msgstr ""
-#: ../../mod/siteinfo.php:133
-msgid ""
-"This is a hub of the Red Matrix - a global cooperative network of "
-"decentralized privacy enhanced websites."
+#: ../../mod/editpost.php:116 ../../mod/editblock.php:147
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:178
+msgid "Insert YouTube video"
msgstr ""
-#: ../../mod/siteinfo.php:137
-msgid "Running at web location"
+#: ../../mod/editpost.php:117 ../../mod/editblock.php:148
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:179
+msgid "Insert Vorbis [.ogg] video"
msgstr ""
-#: ../../mod/siteinfo.php:138
+#: ../../mod/editpost.php:118 ../../mod/editblock.php:149
+#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:180
+msgid "Insert Vorbis [.ogg] audio"
+msgstr ""
+
+#: ../../mod/removeme.php:29
msgid ""
-"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
-"about the Red Matrix."
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
msgstr ""
-#: ../../mod/siteinfo.php:139
-msgid "Bug reports and issues: please visit"
+#: ../../mod/removeme.php:57
+msgid "Remove This Channel"
msgstr ""
-#: ../../mod/siteinfo.php:142
+#: ../../mod/removeme.php:58
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"
+"This will completely remove this channel from the network. Once this has "
+"been done it is not recoverable."
msgstr ""
-#: ../../mod/siteinfo.php:144
-msgid "Site Administrators"
+#: ../../mod/removeme.php:59 ../../mod/removeaccount.php:59
+msgid "Please enter your password for verification:"
msgstr ""
-#: ../../mod/blocks.php:62
-msgid "Block Name"
+#: ../../mod/removeme.php:60
+msgid "Remove this channel and all its clones from the network"
msgstr ""
-#: ../../mod/bookmarks.php:38
-msgid "Bookmark added"
+#: ../../mod/removeme.php:60
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
msgstr ""
-#: ../../mod/bookmarks.php:60
-msgid "My Bookmarks"
+#: ../../mod/removeme.php:61
+msgid "Remove Channel"
msgstr ""
-#: ../../mod/bookmarks.php:71
-msgid "My Connections Bookmarks"
+#: ../../mod/common.php:10
+msgid "No channel."
msgstr ""
-#: ../../mod/profiles.php:18 ../../mod/profiles.php:165
-#: ../../mod/profiles.php:222 ../../mod/profiles.php:547
-msgid "Profile not found."
+#: ../../mod/common.php:39
+msgid "Common connections"
msgstr ""
-#: ../../mod/profiles.php:38
-msgid "Profile deleted."
+#: ../../mod/common.php:44
+msgid "No connections in common."
msgstr ""
-#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
-msgid "Profile-"
+#: ../../mod/rmagic.php:38
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
msgstr ""
-#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
-msgid "New profile created."
+#: ../../mod/rmagic.php:38
+msgid "The error message was:"
msgstr ""
-#: ../../mod/profiles.php:98
-msgid "Profile unavailable to clone."
+#: ../../mod/rmagic.php:42
+msgid "Authentication failed."
msgstr ""
-#: ../../mod/profiles.php:136
-msgid "Profile unavailable to export."
+#: ../../mod/rmagic.php:82
+msgid "Remote Authentication"
msgstr ""
-#: ../../mod/profiles.php:232
-msgid "Profile Name is required."
+#: ../../mod/rmagic.php:83
+msgid "Enter your channel address (e.g. channel@example.com)"
msgstr ""
-#: ../../mod/profiles.php:362
-msgid "Marital Status"
+#: ../../mod/rmagic.php:84
+msgid "Authenticate"
msgstr ""
-#: ../../mod/profiles.php:366
-msgid "Romantic Partner"
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
msgstr ""
-#: ../../mod/profiles.php:370
-msgid "Likes"
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
msgstr ""
-#: ../../mod/profiles.php:374
-msgid "Dislikes"
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
+#, php-format
+msgid "Site Member (%s)"
msgstr ""
-#: ../../mod/profiles.php:378
-msgid "Work/Employment"
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
msgstr ""
-#: ../../mod/profiles.php:381
-msgid "Religion"
+#: ../../mod/lostpass.php:63
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
msgstr ""
-#: ../../mod/profiles.php:385
-msgid "Political Views"
+#: ../../mod/lostpass.php:85 ../../boot.php:1550
+msgid "Password Reset"
msgstr ""
-#: ../../mod/profiles.php:389
-msgid "Gender"
+#: ../../mod/lostpass.php:86
+msgid "Your password has been reset as requested."
msgstr ""
-#: ../../mod/profiles.php:393
-msgid "Sexual Preference"
+#: ../../mod/lostpass.php:87
+msgid "Your new password is"
msgstr ""
-#: ../../mod/profiles.php:397
-msgid "Homepage"
+#: ../../mod/lostpass.php:88
+msgid "Save or copy your new password - and then"
msgstr ""
-#: ../../mod/profiles.php:401
-msgid "Interests"
+#: ../../mod/lostpass.php:89
+msgid "click here to login"
msgstr ""
-#: ../../mod/profiles.php:405 ../../mod/admin.php:868
-msgid "Address"
+#: ../../mod/lostpass.php:90
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
msgstr ""
-#: ../../mod/profiles.php:412 ../../mod/pubsites.php:25
-msgid "Location"
+#: ../../mod/lostpass.php:107
+#, php-format
+msgid "Your password has changed at %s"
msgstr ""
-#: ../../mod/profiles.php:495
-msgid "Profile updated."
+#: ../../mod/lostpass.php:122
+msgid "Forgot your Password?"
msgstr ""
-#: ../../mod/profiles.php:572
-msgid "Hide your contact/friend list from viewers of this profile?"
+#: ../../mod/lostpass.php:123
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
msgstr ""
-#: ../../mod/profiles.php:614
-msgid "Edit Profile Details"
+#: ../../mod/lostpass.php:124
+msgid "Email Address"
msgstr ""
-#: ../../mod/profiles.php:616
-msgid "View this profile"
+#: ../../mod/lostpass.php:125
+msgid "Reset"
msgstr ""
-#: ../../mod/profiles.php:618
-msgid "Change Profile Photo"
+#: ../../mod/settings.php:73
+msgid "Name is required"
msgstr ""
-#: ../../mod/profiles.php:619
-msgid "Create a new profile using these settings"
+#: ../../mod/settings.php:77
+msgid "Key and Secret are required"
msgstr ""
-#: ../../mod/profiles.php:620
-msgid "Clone this profile"
+#: ../../mod/settings.php:222
+msgid "Passwords do not match. Password unchanged."
msgstr ""
-#: ../../mod/profiles.php:621
-msgid "Delete this profile"
+#: ../../mod/settings.php:226
+msgid "Empty passwords are not allowed. Password unchanged."
msgstr ""
-#: ../../mod/profiles.php:623
-msgid "Import profile from file"
+#: ../../mod/settings.php:240
+msgid "Password changed."
msgstr ""
-#: ../../mod/profiles.php:624
-msgid "Export profile to file"
+#: ../../mod/settings.php:242
+msgid "Password update failed. Please try again."
msgstr ""
-#: ../../mod/profiles.php:625
-msgid "Profile Name:"
+#: ../../mod/settings.php:256
+msgid "Not valid email."
msgstr ""
-#: ../../mod/profiles.php:626
-msgid "Your Full Name:"
+#: ../../mod/settings.php:259
+msgid "Protected email address. Cannot change to that email."
msgstr ""
-#: ../../mod/profiles.php:627
-msgid "Title/Description:"
+#: ../../mod/settings.php:268
+msgid "System failure storing new email. Please try again."
msgstr ""
-#: ../../mod/profiles.php:628
-msgid "Your Gender:"
+#: ../../mod/settings.php:507
+msgid "Settings updated."
msgstr ""
-#: ../../mod/profiles.php:629
-msgid "Birthday :"
+#: ../../mod/settings.php:576 ../../mod/settings.php:602
+#: ../../mod/settings.php:638
+msgid "Add application"
msgstr ""
-#: ../../mod/profiles.php:630
-msgid "Street Address:"
+#: ../../mod/settings.php:579
+msgid "Name of application"
msgstr ""
-#: ../../mod/profiles.php:631
-msgid "Locality/City:"
+#: ../../mod/settings.php:580 ../../mod/settings.php:606
+msgid "Consumer Key"
msgstr ""
-#: ../../mod/profiles.php:632
-msgid "Postal/Zip Code:"
+#: ../../mod/settings.php:580 ../../mod/settings.php:581
+msgid "Automatically generated - change if desired. Max length 20"
msgstr ""
-#: ../../mod/profiles.php:633
-msgid "Country:"
+#: ../../mod/settings.php:581 ../../mod/settings.php:607
+msgid "Consumer Secret"
msgstr ""
-#: ../../mod/profiles.php:634
-msgid "Region/State:"
+#: ../../mod/settings.php:582 ../../mod/settings.php:608
+msgid "Redirect"
msgstr ""
-#: ../../mod/profiles.php:635
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
+#: ../../mod/settings.php:582
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires this"
msgstr ""
-#: ../../mod/profiles.php:636
-msgid "Who: (if applicable)"
+#: ../../mod/settings.php:583 ../../mod/settings.php:609
+msgid "Icon url"
msgstr ""
-#: ../../mod/profiles.php:637
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+#: ../../mod/settings.php:583
+msgid "Optional"
msgstr ""
-#: ../../mod/profiles.php:638
-msgid "Since [date]:"
+#: ../../mod/settings.php:594
+msgid "You can't edit this application."
msgstr ""
-#: ../../mod/profiles.php:640
-msgid "Homepage URL:"
+#: ../../mod/settings.php:637
+msgid "Connected Apps"
msgstr ""
-#: ../../mod/profiles.php:643
-msgid "Religious Views:"
+#: ../../mod/settings.php:641
+msgid "Client key starts with"
msgstr ""
-#: ../../mod/profiles.php:644
-msgid "Keywords:"
+#: ../../mod/settings.php:642
+msgid "No name"
msgstr ""
-#: ../../mod/profiles.php:647
-msgid "Example: fishing photography software"
+#: ../../mod/settings.php:643
+msgid "Remove authorization"
msgstr ""
-#: ../../mod/profiles.php:648
-msgid "Used in directory listings"
+#: ../../mod/settings.php:654
+msgid "No feature settings configured"
msgstr ""
-#: ../../mod/profiles.php:649
-msgid "Tell us about yourself..."
+#: ../../mod/settings.php:662
+msgid "Feature Settings"
msgstr ""
-#: ../../mod/profiles.php:650
-msgid "Hobbies/Interests"
+#: ../../mod/settings.php:685
+msgid "Account Settings"
msgstr ""
-#: ../../mod/profiles.php:651
-msgid "Contact information and Social Networks"
+#: ../../mod/settings.php:686
+msgid "Password Settings"
msgstr ""
-#: ../../mod/profiles.php:652
-msgid "My other channels"
+#: ../../mod/settings.php:687
+msgid "New Password:"
msgstr ""
-#: ../../mod/profiles.php:653
-msgid "Musical interests"
+#: ../../mod/settings.php:688
+msgid "Confirm:"
msgstr ""
-#: ../../mod/profiles.php:654
-msgid "Books, literature"
+#: ../../mod/settings.php:688
+msgid "Leave password fields blank unless changing"
msgstr ""
-#: ../../mod/profiles.php:655
-msgid "Television"
+#: ../../mod/settings.php:690 ../../mod/settings.php:1023
+msgid "Email Address:"
msgstr ""
-#: ../../mod/profiles.php:656
-msgid "Film/dance/culture/entertainment"
+#: ../../mod/settings.php:691 ../../mod/removeaccount.php:61
+msgid "Remove Account"
msgstr ""
-#: ../../mod/profiles.php:657
-msgid "Love/romance"
+#: ../../mod/settings.php:692
+msgid "Remove this account from this server including all its channels"
msgstr ""
-#: ../../mod/profiles.php:658
-msgid "Work/employment"
+#: ../../mod/settings.php:693 ../../mod/settings.php:1104
+msgid "Warning: This action is permanent and cannot be reversed."
msgstr ""
-#: ../../mod/profiles.php:659
-msgid "School/education"
+#: ../../mod/settings.php:709
+msgid "Off"
msgstr ""
-#: ../../mod/profiles.php:665
-msgid "This is your default profile."
+#: ../../mod/settings.php:709
+msgid "On"
msgstr ""
-#: ../../mod/profiles.php:676 ../../mod/directory.php:143
-#: ../../mod/dirprofile.php:92
-msgid "Age: "
+#: ../../mod/settings.php:716
+msgid "Additional Features"
msgstr ""
-#: ../../mod/profiles.php:719
-msgid "Edit/Manage Profiles"
+#: ../../mod/settings.php:740
+msgid "Connector Settings"
msgstr ""
-#: ../../mod/profiles.php:720
-msgid "Add profile things"
+#: ../../mod/settings.php:779
+msgid "No special theme for mobile devices"
msgstr ""
-#: ../../mod/profiles.php:721
-msgid "Include desirable objects in your profile"
+#: ../../mod/settings.php:782
+#, php-format
+msgid "%s - (Experimental)"
msgstr ""
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
+#: ../../mod/settings.php:785 ../../mod/admin.php:363
+msgid "mobile"
msgstr ""
-#: ../../mod/profperm.php:110
-msgid "Profile Visibility Editor"
+#: ../../mod/settings.php:821
+msgid "Display Settings"
msgstr ""
-#: ../../mod/profperm.php:114
-msgid "Click on a contact to add or remove."
+#: ../../mod/settings.php:827
+msgid "Display Theme:"
msgstr ""
-#: ../../mod/profperm.php:123
-msgid "Visible To"
+#: ../../mod/settings.php:828
+msgid "Mobile Theme:"
msgstr ""
-#: ../../mod/profperm.php:139 ../../mod/connections.php:279
-msgid "All Connections"
+#: ../../mod/settings.php:829
+msgid "Enable user zoom on mobile devices"
msgstr ""
-#: ../../mod/events.php:81
-msgid "Event can not end before it has started."
+#: ../../mod/settings.php:830
+msgid "Update browser every xx seconds"
msgstr ""
-#: ../../mod/events.php:86
-msgid "Event title and start time are required."
+#: ../../mod/settings.php:830
+msgid "Minimum of 10 seconds, no maximum"
msgstr ""
-#: ../../mod/events.php:100
-msgid "Event not found."
+#: ../../mod/settings.php:831
+msgid "Maximum number of conversations to load at any time:"
msgstr ""
-#: ../../mod/events.php:364
-msgid "l, F j"
+#: ../../mod/settings.php:831
+msgid "Maximum of 100 items"
msgstr ""
-#: ../../mod/events.php:386
-msgid "Edit event"
+#: ../../mod/settings.php:832
+msgid "Don't show emoticons"
msgstr ""
-#: ../../mod/events.php:432
-msgid "Create New Event"
+#: ../../mod/settings.php:833
+msgid "Link post titles to source"
msgstr ""
-#: ../../mod/events.php:560
-msgid "Event details"
+#: ../../mod/settings.php:834
+msgid "System Page Layout Editor - (advanced)"
msgstr ""
-#: ../../mod/events.php:561
-msgid "Starting date and Title are required."
+#: ../../mod/settings.php:837
+msgid "Use blog/list mode on channel page"
msgstr ""
-#: ../../mod/events.php:565
-msgid "Event Starts:"
+#: ../../mod/settings.php:837 ../../mod/settings.php:838
+msgid "(comments displayed separately)"
msgstr ""
-#: ../../mod/events.php:565 ../../mod/events.php:581 ../../mod/appman.php:91
-#: ../../mod/appman.php:92
-msgid "Required"
+#: ../../mod/settings.php:838
+msgid "Use blog/list mode on matrix page"
msgstr ""
-#: ../../mod/events.php:571
-msgid "Finish date/time is not known or not relevant"
+#: ../../mod/settings.php:839
+msgid "Channel page max height of content (in pixels)"
msgstr ""
-#: ../../mod/events.php:573
-msgid "Event Finishes:"
+#: ../../mod/settings.php:839 ../../mod/settings.php:840
+msgid "click to expand content exceeding this height"
msgstr ""
-#: ../../mod/events.php:575
-msgid "Adjust for viewer timezone"
+#: ../../mod/settings.php:840
+msgid "Matrix page max height of content (in pixels)"
msgstr ""
-#: ../../mod/events.php:577
-msgid "Description:"
+#: ../../mod/settings.php:874
+msgid "Nobody except yourself"
msgstr ""
-#: ../../mod/events.php:581
-msgid "Title:"
+#: ../../mod/settings.php:875
+msgid "Only those you specifically allow"
msgstr ""
-#: ../../mod/events.php:583
-msgid "Share this event"
+#: ../../mod/settings.php:876
+msgid "Approved connections"
msgstr ""
-#: ../../mod/pubsites.php:16
-msgid "Public Sites"
+#: ../../mod/settings.php:877
+msgid "Any connections"
msgstr ""
-#: ../../mod/pubsites.php:19
-msgid ""
-"The listed sites allow public registration into the Red Matrix. All sites in "
-"the matrix are interlinked so membership on any of them conveys membership "
-"in the matrix as a whole. Some sites may require subscription or provide "
-"tiered service plans. The provider links <strong>may</strong> provide "
-"additional details."
+#: ../../mod/settings.php:878
+msgid "Anybody on this website"
msgstr ""
-#: ../../mod/pubsites.php:25
-msgid "Site URL"
+#: ../../mod/settings.php:879
+msgid "Anybody in this network"
msgstr ""
-#: ../../mod/pubsites.php:25
-msgid "Access Type"
+#: ../../mod/settings.php:880
+msgid "Anybody authenticated"
msgstr ""
-#: ../../mod/pubsites.php:25
-msgid "Registration Policy"
+#: ../../mod/settings.php:881
+msgid "Anybody on the internet"
msgstr ""
-#: ../../mod/channel.php:25 ../../mod/chat.php:19
-msgid "You must be logged in to see this page."
+#: ../../mod/settings.php:955
+msgid "Publish your default profile in the network directory"
msgstr ""
-#: ../../mod/channel.php:86
-msgid "Insufficient permissions. Request redirected to profile page."
+#: ../../mod/settings.php:960
+msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
-#: ../../mod/rbmark.php:88
-msgid "Select a bookmark folder"
+#: ../../mod/settings.php:964 ../../mod/profile_photo.php:365
+msgid "or"
msgstr ""
-#: ../../mod/rbmark.php:93
-msgid "Save Bookmark"
+#: ../../mod/settings.php:969
+msgid "Your channel address is"
msgstr ""
-#: ../../mod/rbmark.php:94
-msgid "URL of bookmark"
+#: ../../mod/settings.php:1014
+msgid "Channel Settings"
msgstr ""
-#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
-msgid "Description"
+#: ../../mod/settings.php:1021
+msgid "Basic Settings"
msgstr ""
-#: ../../mod/rbmark.php:99
-msgid "Or enter new bookmark folder name"
+#: ../../mod/settings.php:1024
+msgid "Your Timezone:"
msgstr ""
-#: ../../mod/chat.php:167
-msgid "Room not found"
+#: ../../mod/settings.php:1025
+msgid "Default Post Location:"
msgstr ""
-#: ../../mod/chat.php:178
-msgid "Leave Room"
+#: ../../mod/settings.php:1025
+msgid "Geographical location to display on your posts"
msgstr ""
-#: ../../mod/chat.php:179
-msgid "Delete This Room"
+#: ../../mod/settings.php:1026
+msgid "Use Browser Location:"
msgstr ""
-#: ../../mod/chat.php:180
-msgid "I am away right now"
+#: ../../mod/settings.php:1028
+msgid "Adult Content"
msgstr ""
-#: ../../mod/chat.php:181
-msgid "I am online"
+#: ../../mod/settings.php:1028
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
msgstr ""
-#: ../../mod/chat.php:183
-msgid "Bookmark this room"
+#: ../../mod/settings.php:1030
+msgid "Security and Privacy Settings"
msgstr ""
-#: ../../mod/chat.php:207 ../../mod/chat.php:229
-msgid "New Chatroom"
+#: ../../mod/settings.php:1032
+msgid "Your permissions are already configured. Click to view/adjust"
msgstr ""
-#: ../../mod/chat.php:208
-msgid "Chatroom Name"
+#: ../../mod/settings.php:1034
+msgid "Hide my online presence"
msgstr ""
-#: ../../mod/chat.php:225
-#, php-format
-msgid "%1$s's Chatrooms"
+#: ../../mod/settings.php:1034
+msgid "Prevents displaying in your profile that you are online"
msgstr ""
-#: ../../mod/register.php:42
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+#: ../../mod/settings.php:1036
+msgid "Simple Privacy Settings:"
msgstr ""
-#: ../../mod/register.php:48
+#: ../../mod/settings.php:1037
msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr ""
-#: ../../mod/register.php:82
-msgid "Passwords do not match."
+#: ../../mod/settings.php:1038
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
msgstr ""
-#: ../../mod/register.php:115
-msgid ""
-"Registration successful. Please check your email for validation instructions."
+#: ../../mod/settings.php:1039
+msgid "Private - <em>default private, never open or public</em>"
msgstr ""
-#: ../../mod/register.php:121
-msgid "Your registration is pending approval by the site owner."
+#: ../../mod/settings.php:1040
+msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr ""
-#: ../../mod/register.php:124
-msgid "Your registration can not be processed."
+#: ../../mod/settings.php:1042
+msgid "Allow others to tag your posts"
msgstr ""
-#: ../../mod/register.php:161
-msgid "Registration on this site/hub is by approval only."
+#: ../../mod/settings.php:1042
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
msgstr ""
-#: ../../mod/register.php:162
-msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+#: ../../mod/settings.php:1044
+msgid "Advanced Privacy Settings"
msgstr ""
-#: ../../mod/register.php:170
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
+#: ../../mod/settings.php:1046
+msgid "Expire other channel content after this many days"
msgstr ""
-#: ../../mod/register.php:181
-msgid "Terms of Service"
+#: ../../mod/settings.php:1046
+msgid "0 or blank prevents expiration"
msgstr ""
-#: ../../mod/register.php:187
-#, php-format
-msgid "I accept the %s for this website"
+#: ../../mod/settings.php:1047
+msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../mod/register.php:189
-#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
+#: ../../mod/settings.php:1047
+msgid "May reduce spam activity"
msgstr ""
-#: ../../mod/register.php:203 ../../mod/admin.php:415
-msgid "Registration"
+#: ../../mod/settings.php:1048
+msgid "Default Post Permissions"
msgstr ""
-#: ../../mod/register.php:208
-msgid "Membership on this site is by invitation only."
+#: ../../mod/settings.php:1053
+msgid "Channel permissions category:"
msgstr ""
-#: ../../mod/register.php:209
-msgid "Please enter your invitation code"
+#: ../../mod/settings.php:1059
+msgid "Maximum private messages per day from unknown people:"
msgstr ""
-#: ../../mod/register.php:212
-msgid "Your email address"
+#: ../../mod/settings.php:1059
+msgid "Useful to reduce spamming"
msgstr ""
-#: ../../mod/register.php:213
-msgid "Choose a password"
+#: ../../mod/settings.php:1062
+msgid "Notification Settings"
msgstr ""
-#: ../../mod/register.php:214
-msgid "Please re-enter your password"
+#: ../../mod/settings.php:1063
+msgid "By default post a status message when:"
msgstr ""
-#: ../../mod/chatsvc.php:111
-msgid "Away"
+#: ../../mod/settings.php:1064
+msgid "accepting a friend request"
msgstr ""
-#: ../../mod/chatsvc.php:115
-msgid "Online"
+#: ../../mod/settings.php:1065
+msgid "joining a forum/community"
msgstr ""
-#: ../../mod/regmod.php:11
-msgid "Please login."
+#: ../../mod/settings.php:1066
+msgid "making an <em>interesting</em> profile change"
msgstr ""
-#: ../../mod/removeme.php:29
-msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
+#: ../../mod/settings.php:1067
+msgid "Send a notification email when:"
msgstr ""
-#: ../../mod/removeme.php:57
-msgid "Remove This Channel"
+#: ../../mod/settings.php:1068
+msgid "You receive a connection request"
msgstr ""
-#: ../../mod/removeme.php:58
-msgid ""
-"This will completely remove this channel from the network. Once this has "
-"been done it is not recoverable."
+#: ../../mod/settings.php:1069
+msgid "Your connections are confirmed"
msgstr ""
-#: ../../mod/removeme.php:59 ../../mod/removeaccount.php:59
-msgid "Please enter your password for verification:"
+#: ../../mod/settings.php:1070
+msgid "Someone writes on your profile wall"
msgstr ""
-#: ../../mod/removeme.php:60
-msgid "Remove this channel and all its clones from the network"
+#: ../../mod/settings.php:1071
+msgid "Someone writes a followup comment"
msgstr ""
-#: ../../mod/removeme.php:60
-msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
+#: ../../mod/settings.php:1072
+msgid "You receive a private message"
msgstr ""
-#: ../../mod/removeme.php:61
-msgid "Remove Channel"
+#: ../../mod/settings.php:1073
+msgid "You receive a friend suggestion"
msgstr ""
-#: ../../mod/common.php:10
-msgid "No channel."
+#: ../../mod/settings.php:1074
+msgid "You are tagged in a post"
msgstr ""
-#: ../../mod/common.php:39
-msgid "Common connections"
+#: ../../mod/settings.php:1075
+msgid "You are poked/prodded/etc. in a post"
msgstr ""
-#: ../../mod/common.php:44
-msgid "No connections in common."
+#: ../../mod/settings.php:1078
+msgid "Show visual notifications including:"
msgstr ""
-#: ../../mod/rmagic.php:38
-msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
+#: ../../mod/settings.php:1080
+msgid "Unseen matrix activity"
msgstr ""
-#: ../../mod/rmagic.php:38
-msgid "The error message was:"
+#: ../../mod/settings.php:1081
+msgid "Unseen channel activity"
msgstr ""
-#: ../../mod/rmagic.php:42
-msgid "Authentication failed."
+#: ../../mod/settings.php:1082
+msgid "Unseen private messages"
msgstr ""
-#: ../../mod/rmagic.php:82
-msgid "Remote Authentication"
+#: ../../mod/settings.php:1082 ../../mod/settings.php:1087
+#: ../../mod/settings.php:1088 ../../mod/settings.php:1089
+msgid "Recommended"
msgstr ""
-#: ../../mod/rmagic.php:83
-msgid "Enter your channel address (e.g. channel@example.com)"
+#: ../../mod/settings.php:1083
+msgid "Upcoming events"
msgstr ""
-#: ../../mod/rmagic.php:84
-msgid "Authenticate"
+#: ../../mod/settings.php:1084
+msgid "Events today"
msgstr ""
-#: ../../mod/connect.php:55 ../../mod/connect.php:103
-msgid "Continue"
+#: ../../mod/settings.php:1085
+msgid "Upcoming birthdays"
msgstr ""
-#: ../../mod/connect.php:84
-msgid "Premium Channel Setup"
+#: ../../mod/settings.php:1085
+msgid "Not available in all themes"
msgstr ""
-#: ../../mod/connect.php:86
-msgid "Enable premium channel connection restrictions"
+#: ../../mod/settings.php:1086
+msgid "System (personal) notifications"
msgstr ""
-#: ../../mod/connect.php:87
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
+#: ../../mod/settings.php:1087
+msgid "System info messages"
msgstr ""
-#: ../../mod/connect.php:89 ../../mod/connect.php:109
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
+#: ../../mod/settings.php:1088
+msgid "System critical alerts"
msgstr ""
-#: ../../mod/connect.php:90
-msgid ""
-"Potential connections will then see the following text before proceeding:"
+#: ../../mod/settings.php:1089
+msgid "New connections"
+msgstr ""
+
+#: ../../mod/settings.php:1090
+msgid "System Registrations"
msgstr ""
-#: ../../mod/connect.php:91 ../../mod/connect.php:112
+#: ../../mod/settings.php:1091
msgid ""
-"By continuing, I certify that I have complied with any instructions provided "
-"on this page."
+"Also show new wall posts, private messages and connections under Notices"
msgstr ""
-#: ../../mod/connect.php:100
-msgid "(No specific instructions have been provided by the channel owner.)"
+#: ../../mod/settings.php:1093
+msgid "Notify me of events this many days in advance"
msgstr ""
-#: ../../mod/connect.php:108
-msgid "Restricted or Premium Channel"
+#: ../../mod/settings.php:1093
+msgid "Must be greater than 0"
msgstr ""
-#: ../../mod/network.php:79
-msgid "No such group"
+#: ../../mod/settings.php:1095
+msgid "Advanced Account/Page Type Settings"
msgstr ""
-#: ../../mod/network.php:118
-msgid "Search Results For:"
+#: ../../mod/settings.php:1096
+msgid "Change the behaviour of this account for special situations"
msgstr ""
-#: ../../mod/network.php:172
-msgid "Collection is empty"
+#: ../../mod/settings.php:1099
+msgid ""
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
msgstr ""
-#: ../../mod/network.php:180
-msgid "Collection: "
+#: ../../mod/settings.php:1100
+msgid "Miscellaneous Settings"
msgstr ""
-#: ../../mod/network.php:193
-msgid "Connection: "
+#: ../../mod/settings.php:1102
+msgid "Personal menu to display in your channel pages"
msgstr ""
-#: ../../mod/network.php:196
-msgid "Invalid connection."
+#: ../../mod/settings.php:1103
+msgid "Remove this channel"
msgstr ""
#: ../../mod/connections.php:37 ../../mod/connedit.php:64
msgid "Could not access contact record."
msgstr ""
-#: ../../mod/connections.php:51 ../../mod/connedit.php:78
+#: ../../mod/connections.php:51 ../../mod/connedit.php:86
msgid "Could not locate selected profile."
msgstr ""
-#: ../../mod/connections.php:94 ../../mod/connedit.php:132
+#: ../../mod/connections.php:94 ../../mod/connedit.php:140
msgid "Connection updated."
msgstr ""
-#: ../../mod/connections.php:96 ../../mod/connedit.php:134
+#: ../../mod/connections.php:96 ../../mod/connedit.php:142
msgid "Failed to update connection record."
msgstr ""
@@ -5282,1144 +5473,1368 @@ msgstr ""
msgid "Finding: "
msgstr ""
-#: ../../mod/rpost.php:97 ../../mod/editpost.php:42
-msgid "Edit post"
+#: ../../mod/manage.php:138
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr ""
+
+#: ../../mod/manage.php:146
+msgid "Create a new channel"
+msgstr ""
+
+#: ../../mod/manage.php:151
+msgid "Current Channel"
+msgstr ""
+
+#: ../../mod/manage.php:153
+msgid "Switch to one of your channels by selecting it."
+msgstr ""
+
+#: ../../mod/manage.php:154
+msgid "Default Channel"
+msgstr ""
+
+#: ../../mod/manage.php:155
+msgid "Make Default"
msgstr ""
-#: ../../mod/connedit.php:181
+#: ../../mod/manage.php:158
+#, php-format
+msgid "%d new messages"
+msgstr ""
+
+#: ../../mod/manage.php:159
+#, php-format
+msgid "%d new introductions"
+msgstr ""
+
+#: ../../mod/connedit.php:189
msgid "is now connected to"
msgstr ""
-#: ../../mod/connedit.php:296
+#: ../../mod/connedit.php:310
msgid "Could not access address book record."
msgstr ""
-#: ../../mod/connedit.php:310
+#: ../../mod/connedit.php:324
msgid "Refresh failed - channel is currently unavailable."
msgstr ""
-#: ../../mod/connedit.php:317
+#: ../../mod/connedit.php:331
msgid "Channel has been unblocked"
msgstr ""
-#: ../../mod/connedit.php:318
+#: ../../mod/connedit.php:332
msgid "Channel has been blocked"
msgstr ""
-#: ../../mod/connedit.php:322 ../../mod/connedit.php:334
-#: ../../mod/connedit.php:346 ../../mod/connedit.php:358
-#: ../../mod/connedit.php:374
+#: ../../mod/connedit.php:336 ../../mod/connedit.php:348
+#: ../../mod/connedit.php:360 ../../mod/connedit.php:372
+#: ../../mod/connedit.php:388
msgid "Unable to set address book parameters."
msgstr ""
-#: ../../mod/connedit.php:329
+#: ../../mod/connedit.php:343
msgid "Channel has been unignored"
msgstr ""
-#: ../../mod/connedit.php:330
+#: ../../mod/connedit.php:344
msgid "Channel has been ignored"
msgstr ""
-#: ../../mod/connedit.php:341
+#: ../../mod/connedit.php:355
msgid "Channel has been unarchived"
msgstr ""
-#: ../../mod/connedit.php:342
+#: ../../mod/connedit.php:356
msgid "Channel has been archived"
msgstr ""
-#: ../../mod/connedit.php:353
+#: ../../mod/connedit.php:367
msgid "Channel has been unhidden"
msgstr ""
-#: ../../mod/connedit.php:354
+#: ../../mod/connedit.php:368
msgid "Channel has been hidden"
msgstr ""
-#: ../../mod/connedit.php:369
+#: ../../mod/connedit.php:383
msgid "Channel has been approved"
msgstr ""
-#: ../../mod/connedit.php:370
+#: ../../mod/connedit.php:384
msgid "Channel has been unapproved"
msgstr ""
-#: ../../mod/connedit.php:398
+#: ../../mod/connedit.php:412
msgid "Connection has been removed."
msgstr ""
-#: ../../mod/connedit.php:418
+#: ../../mod/connedit.php:432
#, php-format
msgid "View %s's profile"
msgstr ""
-#: ../../mod/connedit.php:422
+#: ../../mod/connedit.php:436
msgid "Refresh Permissions"
msgstr ""
-#: ../../mod/connedit.php:425
+#: ../../mod/connedit.php:439
msgid "Fetch updated permissions"
msgstr ""
-#: ../../mod/connedit.php:429
+#: ../../mod/connedit.php:443
msgid "Recent Activity"
msgstr ""
-#: ../../mod/connedit.php:432
+#: ../../mod/connedit.php:446
msgid "View recent posts and comments"
msgstr ""
-#: ../../mod/connedit.php:436 ../../mod/connedit.php:579
-#: ../../mod/admin.php:734
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:595
+#: ../../mod/admin.php:732
msgid "Unblock"
msgstr ""
-#: ../../mod/connedit.php:436 ../../mod/connedit.php:579
-#: ../../mod/admin.php:733
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:595
+#: ../../mod/admin.php:731
msgid "Block"
msgstr ""
-#: ../../mod/connedit.php:439
+#: ../../mod/connedit.php:453
msgid "Block or Unblock this connection"
msgstr ""
-#: ../../mod/connedit.php:443 ../../mod/connedit.php:580
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:596
msgid "Unignore"
msgstr ""
-#: ../../mod/connedit.php:443 ../../mod/connedit.php:580
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:596
#: ../../mod/notifications.php:51
msgid "Ignore"
msgstr ""
-#: ../../mod/connedit.php:446
+#: ../../mod/connedit.php:460
msgid "Ignore or Unignore this connection"
msgstr ""
-#: ../../mod/connedit.php:449
+#: ../../mod/connedit.php:463
msgid "Unarchive"
msgstr ""
-#: ../../mod/connedit.php:449
+#: ../../mod/connedit.php:463
msgid "Archive"
msgstr ""
-#: ../../mod/connedit.php:452
+#: ../../mod/connedit.php:466
msgid "Archive or Unarchive this connection"
msgstr ""
-#: ../../mod/connedit.php:455
+#: ../../mod/connedit.php:469
msgid "Unhide"
msgstr ""
-#: ../../mod/connedit.php:455
+#: ../../mod/connedit.php:469
msgid "Hide"
msgstr ""
-#: ../../mod/connedit.php:458
+#: ../../mod/connedit.php:472
msgid "Hide or Unhide this connection"
msgstr ""
-#: ../../mod/connedit.php:465
+#: ../../mod/connedit.php:479
msgid "Delete this connection"
msgstr ""
-#: ../../mod/connedit.php:508 ../../mod/connedit.php:537
+#: ../../mod/connedit.php:523 ../../mod/connedit.php:553
msgid "Approve this connection"
msgstr ""
-#: ../../mod/connedit.php:508
+#: ../../mod/connedit.php:523
msgid "Accept connection to allow communication"
msgstr ""
-#: ../../mod/connedit.php:524
-msgid "Automatic Permissions Settings"
-msgstr ""
-
-#: ../../mod/connedit.php:524
+#: ../../mod/connedit.php:539
#, php-format
msgid "Connections: settings for %s"
msgstr ""
-#: ../../mod/connedit.php:528
-msgid ""
-"When receiving a channel introduction, any permissions provided here will be "
-"applied to the new connection automatically and the introduction approved. "
-"Leave this page if you do not wish to use this feature."
+#: ../../mod/connedit.php:540
+msgid "Apply these permissions automatically"
msgstr ""
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:544
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr ""
+
+#: ../../mod/connedit.php:546
msgid "Slide to adjust your degree of friendship"
msgstr ""
-#: ../../mod/connedit.php:536
+#: ../../mod/connedit.php:552
msgid "inherited"
msgstr ""
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:554
msgid "Connection has no individual permissions!"
msgstr ""
-#: ../../mod/connedit.php:539
+#: ../../mod/connedit.php:555
msgid ""
"This may be appropriate based on your <a href=\"settings\">privacy settings</"
"a>, though you may wish to review the \"Advanced Permissions\"."
msgstr ""
-#: ../../mod/connedit.php:541
+#: ../../mod/connedit.php:557
msgid "Profile Visibility"
msgstr ""
-#: ../../mod/connedit.php:542
+#: ../../mod/connedit.php:558
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr ""
-#: ../../mod/connedit.php:543
+#: ../../mod/connedit.php:559
msgid "Contact Information / Notes"
msgstr ""
-#: ../../mod/connedit.php:544
+#: ../../mod/connedit.php:560
msgid "Edit contact notes"
msgstr ""
-#: ../../mod/connedit.php:546
+#: ../../mod/connedit.php:562
msgid "Their Settings"
msgstr ""
-#: ../../mod/connedit.php:547
+#: ../../mod/connedit.php:563
msgid "My Settings"
msgstr ""
-#: ../../mod/connedit.php:549
+#: ../../mod/connedit.php:565
msgid "Clear/Disable Automatic Permissions"
msgstr ""
-#: ../../mod/connedit.php:550
+#: ../../mod/connedit.php:566
msgid "Forum Members"
msgstr ""
-#: ../../mod/connedit.php:551
+#: ../../mod/connedit.php:567
msgid "Soapbox"
msgstr ""
-#: ../../mod/connedit.php:552
+#: ../../mod/connedit.php:568
msgid "Full Sharing (typical social network permissions)"
msgstr ""
-#: ../../mod/connedit.php:553
+#: ../../mod/connedit.php:569
msgid "Cautious Sharing "
msgstr ""
-#: ../../mod/connedit.php:554
+#: ../../mod/connedit.php:570
msgid "Follow Only"
msgstr ""
-#: ../../mod/connedit.php:555
+#: ../../mod/connedit.php:571
msgid "Individual Permissions"
msgstr ""
-#: ../../mod/connedit.php:556
+#: ../../mod/connedit.php:572
msgid ""
"Some permissions may be inherited from your channel <a href=\"settings"
"\">privacy settings</a>, which have higher priority than individual "
"settings. Changing those inherited settings on this page will have no effect."
msgstr ""
-#: ../../mod/connedit.php:557
+#: ../../mod/connedit.php:573
msgid "Advanced Permissions"
msgstr ""
-#: ../../mod/connedit.php:558
+#: ../../mod/connedit.php:574
msgid "Simple Permissions (select one and submit)"
msgstr ""
-#: ../../mod/connedit.php:562
+#: ../../mod/connedit.php:578
#, php-format
msgid "Visit %s's profile - %s"
msgstr ""
-#: ../../mod/connedit.php:563
+#: ../../mod/connedit.php:579
msgid "Block/Unblock contact"
msgstr ""
-#: ../../mod/connedit.php:564
+#: ../../mod/connedit.php:580
msgid "Ignore contact"
msgstr ""
-#: ../../mod/connedit.php:565
+#: ../../mod/connedit.php:581
msgid "Repair URL settings"
msgstr ""
-#: ../../mod/connedit.php:566
+#: ../../mod/connedit.php:582
msgid "View conversations"
msgstr ""
-#: ../../mod/connedit.php:568
+#: ../../mod/connedit.php:584
msgid "Delete contact"
msgstr ""
-#: ../../mod/connedit.php:571
+#: ../../mod/connedit.php:587
msgid "Last update:"
msgstr ""
-#: ../../mod/connedit.php:573
+#: ../../mod/connedit.php:589
msgid "Update public posts"
msgstr ""
-#: ../../mod/connedit.php:575
+#: ../../mod/connedit.php:591
msgid "Update now"
msgstr ""
-#: ../../mod/connedit.php:581
+#: ../../mod/connedit.php:597
msgid "Currently blocked"
msgstr ""
-#: ../../mod/connedit.php:582
+#: ../../mod/connedit.php:598
msgid "Currently ignored"
msgstr ""
-#: ../../mod/connedit.php:583
+#: ../../mod/connedit.php:599
msgid "Currently archived"
msgstr ""
-#: ../../mod/connedit.php:584
+#: ../../mod/connedit.php:600
msgid "Currently pending"
msgstr ""
-#: ../../mod/connedit.php:585
+#: ../../mod/connedit.php:601
msgid "Hide this contact from others"
msgstr ""
-#: ../../mod/connedit.php:585
+#: ../../mod/connedit.php:601
msgid ""
"Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr ""
-#: ../../mod/delegate.php:95
-msgid "No potential page delegates located."
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
msgstr ""
-#: ../../mod/delegate.php:121
-msgid "Delegate Page Management"
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
msgstr ""
-#: ../../mod/delegate.php:123
-msgid ""
-"Delegates are able to manage all aspects of this account/page except for "
-"basic account settings. Please do not delegate your personal account to "
-"anybody that you do not trust completely."
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
msgstr ""
-#: ../../mod/delegate.php:124
-msgid "Existing Page Managers"
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
msgstr ""
-#: ../../mod/delegate.php:126
-msgid "Existing Page Delegates"
+#: ../../mod/mail.php:136
+msgid "Message deleted."
msgstr ""
-#: ../../mod/delegate.php:128
-msgid "Potential Delegates"
+#: ../../mod/mail.php:153
+msgid "Message recalled."
msgstr ""
-#: ../../mod/delegate.php:131
-msgid "Add"
+#: ../../mod/mail.php:222
+msgid "Send Private Message"
msgstr ""
-#: ../../mod/delegate.php:132
-msgid "No entries."
+#: ../../mod/mail.php:223 ../../mod/mail.php:340
+msgid "To:"
msgstr ""
-#: ../../mod/directory.php:146 ../../mod/dirprofile.php:95
-msgid "Gender: "
+#: ../../mod/mail.php:228 ../../mod/mail.php:342
+msgid "Subject:"
msgstr ""
-#: ../../mod/directory.php:223
-msgid "Finding:"
+#: ../../mod/mail.php:232 ../../mod/mail.php:345 ../../mod/invite.php:131
+msgid "Your message:"
msgstr ""
-#: ../../mod/directory.php:228
-msgid "next page"
+#: ../../mod/mail.php:239
+msgid "Send"
msgstr ""
-#: ../../mod/directory.php:228
-msgid "previous page"
+#: ../../mod/mail.php:266
+msgid "Message not found."
msgstr ""
-#: ../../mod/directory.php:245
-msgid "No entries (some entries may be hidden)."
+#: ../../mod/mail.php:309
+msgid "Delete message"
msgstr ""
-#: ../../mod/dirprofile.php:108
-msgid "Status: "
+#: ../../mod/mail.php:310
+msgid "Recall message"
msgstr ""
-#: ../../mod/dirprofile.php:109
-msgid "Sexual Preference: "
+#: ../../mod/mail.php:312
+msgid "Message has been recalled."
msgstr ""
-#: ../../mod/dirprofile.php:111
-msgid "Homepage: "
+#: ../../mod/mail.php:329
+msgid "Private Conversation"
msgstr ""
-#: ../../mod/dirprofile.php:112
-msgid "Hometown: "
+#: ../../mod/mail.php:333 ../../mod/message.php:72
+msgid "Delete conversation"
msgstr ""
-#: ../../mod/dirprofile.php:114
-msgid "About: "
+#: ../../mod/mail.php:335
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
msgstr ""
-#: ../../mod/dirprofile.php:162
-msgid "Keywords: "
+#: ../../mod/mail.php:339
+msgid "Send Reply"
+msgstr ""
+
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr ""
+
+#: ../../mod/bookmarks.php:60
+msgid "My Bookmarks"
+msgstr ""
+
+#: ../../mod/bookmarks.php:71
+msgid "My Connections Bookmarks"
msgstr ""
#: ../../mod/dirsearch.php:21
msgid "This site is not a directory server"
msgstr ""
-#: ../../mod/setup.php:162
-msgid "Red Matrix Server - Setup"
+#: ../../mod/cloud.php:130
+msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
msgstr ""
-#: ../../mod/setup.php:168
-msgid "Could not connect to database."
+#: ../../mod/acl.php:245
+msgid "network"
msgstr ""
-#: ../../mod/setup.php:172
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
+#: ../../mod/blocks.php:99
+msgid "Block Name"
msgstr ""
-#: ../../mod/setup.php:179
-msgid "Could not create table."
+#: ../../mod/editblock.php:115
+msgid "Edit Block"
msgstr ""
-#: ../../mod/setup.php:185
-msgid "Your site database has been installed."
+#: ../../mod/editblock.php:125
+msgid "Delete block?"
msgstr ""
-#: ../../mod/setup.php:190
-msgid ""
-"You may need to import the file \"install/database.sql\" manually using "
-"phpmyadmin or mysql."
+#: ../../mod/editblock.php:183
+msgid "Delete Block"
msgstr ""
-#: ../../mod/setup.php:191 ../../mod/setup.php:260 ../../mod/setup.php:655
-msgid "Please see the file \"install/INSTALL.txt\"."
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
msgstr ""
-#: ../../mod/setup.php:257
-msgid "System check"
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
msgstr ""
-#: ../../mod/setup.php:262
-msgid "Check again"
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
msgstr ""
-#: ../../mod/setup.php:284
-msgid "Database connection"
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
msgstr ""
-#: ../../mod/setup.php:285
-msgid ""
-"In order to install Red Matrix we need to know how to connect to your "
-"database."
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:107
+msgid "Layout Help"
msgstr ""
-#: ../../mod/setup.php:286
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
+#: ../../mod/editlayout.php:108
+msgid "Edit Layout"
msgstr ""
-#: ../../mod/setup.php:287
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
+#: ../../mod/editlayout.php:117
+msgid "Delete layout?"
msgstr ""
-#: ../../mod/setup.php:291
-msgid "Database Server Name"
+#: ../../mod/editlayout.php:178
+msgid "Delete Layout"
msgstr ""
-#: ../../mod/setup.php:291
-msgid "Default is localhost"
+#: ../../mod/home.php:48
+msgid "Red Matrix - &quot;The Network&quot;"
msgstr ""
-#: ../../mod/setup.php:292
-msgid "Database Port"
+#: ../../mod/home.php:101
+#, php-format
+msgid "Welcome to %s"
msgstr ""
-#: ../../mod/setup.php:292
-msgid "Communication port number - use 0 for default"
+#: ../../mod/editwebpage.php:140
+msgid "Edit Webpage"
msgstr ""
-#: ../../mod/setup.php:293
-msgid "Database Login Name"
+#: ../../mod/editwebpage.php:150
+msgid "Delete webpage?"
msgstr ""
-#: ../../mod/setup.php:294
-msgid "Database Login Password"
+#: ../../mod/editwebpage.php:215
+msgid "Delete Webpage"
msgstr ""
-#: ../../mod/setup.php:295
-msgid "Database Name"
+#: ../../mod/impel.php:33
+msgid "webpage"
msgstr ""
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
-msgid "Site administrator email address"
+#: ../../mod/impel.php:38
+msgid "block"
+msgstr ""
+
+#: ../../mod/impel.php:43
+msgid "layout"
msgstr ""
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
+#: ../../mod/impel.php:117
+#, php-format
+msgid "%s element installed"
+msgstr ""
+
+#: ../../mod/profile_photo.php:108
+msgid "Image uploaded but image cropping failed."
+msgstr ""
+
+#: ../../mod/profile_photo.php:161
+msgid "Image resize failed."
+msgstr ""
+
+#: ../../mod/profile_photo.php:205
msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
msgstr ""
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
-msgid "Website URL"
+#: ../../mod/profile_photo.php:232
+#, php-format
+msgid "Image exceeds size limit of %d"
msgstr ""
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
-msgid "Please use SSL (https) URL if available."
+#: ../../mod/profile_photo.php:241
+msgid "Unable to process image."
msgstr ""
-#: ../../mod/setup.php:301 ../../mod/setup.php:344
-msgid "Please select a default timezone for your website"
+#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
+msgid "Photo not available."
msgstr ""
-#: ../../mod/setup.php:328
-msgid "Site settings"
+#: ../../mod/profile_photo.php:358
+msgid "Upload File:"
msgstr ""
-#: ../../mod/setup.php:387
-msgid "Could not find a command line version of PHP in the web server PATH."
+#: ../../mod/profile_photo.php:359
+msgid "Select a profile:"
msgstr ""
-#: ../../mod/setup.php:388
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
+#: ../../mod/profile_photo.php:360
+msgid "Upload Profile Photo"
msgstr ""
-#: ../../mod/setup.php:392
-msgid "PHP executable path"
+#: ../../mod/profile_photo.php:365
+msgid "skip this step"
msgstr ""
-#: ../../mod/setup.php:392
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
+#: ../../mod/profile_photo.php:365
+msgid "select a photo from your photo albums"
msgstr ""
-#: ../../mod/setup.php:397
-msgid "Command line PHP"
+#: ../../mod/profile_photo.php:381
+msgid "Crop Image"
msgstr ""
-#: ../../mod/setup.php:406
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
+#: ../../mod/profile_photo.php:382
+msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
-#: ../../mod/setup.php:407
-msgid "This is required for message delivery to work."
+#: ../../mod/profile_photo.php:384
+msgid "Done Editing"
msgstr ""
-#: ../../mod/setup.php:409
-msgid "PHP register_argc_argv"
+#: ../../mod/profile_photo.php:427
+msgid "Image uploaded successfully."
msgstr ""
-#: ../../mod/setup.php:430
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
+#: ../../mod/profile_photo.php:429
+msgid "Image upload failed."
+msgstr ""
+
+#: ../../mod/profile_photo.php:438
+#, php-format
+msgid "Image size reduction [%s] failed."
+msgstr ""
+
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
msgstr ""
-#: ../../mod/setup.php:431
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr ""
+
+#: ../../mod/like.php:21
msgid ""
-"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
-"installation.php\"."
+"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href="
+"\"register\">register as a new RedMatrix member</a> to continue."
msgstr ""
-#: ../../mod/setup.php:433
-msgid "Generate encryption keys"
+#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
+msgid "Invalid request."
msgstr ""
-#: ../../mod/setup.php:440
-msgid "libCurl PHP module"
+#: ../../mod/like.php:119
+msgid "thing"
msgstr ""
-#: ../../mod/setup.php:441
-msgid "GD graphics PHP module"
+#: ../../mod/like.php:165
+msgid "Channel unavailable."
msgstr ""
-#: ../../mod/setup.php:442
-msgid "OpenSSL PHP module"
+#: ../../mod/like.php:204
+msgid "Previous action reversed."
msgstr ""
-#: ../../mod/setup.php:443
-msgid "mysqli PHP module"
+#: ../../mod/like.php:422
+msgid "Action completed."
msgstr ""
-#: ../../mod/setup.php:444
-msgid "mb_string PHP module"
+#: ../../mod/like.php:423
+msgid "Thank you."
msgstr ""
-#: ../../mod/setup.php:445
-msgid "mcrypt PHP module"
+#: ../../mod/help.php:41 ../../mod/help.php:47 ../../mod/help.php:53
+msgid "Help:"
msgstr ""
-#: ../../mod/setup.php:450 ../../mod/setup.php:452
-msgid "Apache mod_rewrite module"
+#: ../../mod/help.php:67 ../../index.php:238
+msgid "Not Found"
msgstr ""
-#: ../../mod/setup.php:450
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
+#: ../../mod/thing.php:96
+msgid "Thing updated"
msgstr ""
-#: ../../mod/setup.php:456 ../../mod/setup.php:459
-msgid "proc_open"
+#: ../../mod/thing.php:156
+msgid "Object store: failed"
msgstr ""
-#: ../../mod/setup.php:456
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
+#: ../../mod/thing.php:160
+msgid "Thing added"
msgstr ""
-#: ../../mod/setup.php:464
-msgid "Error: libCURL PHP module required but not installed."
+#: ../../mod/thing.php:180
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
msgstr ""
-#: ../../mod/setup.php:468
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
+#: ../../mod/thing.php:232
+msgid "Show Thing"
msgstr ""
-#: ../../mod/setup.php:472
-msgid "Error: openssl PHP module required but not installed."
+#: ../../mod/thing.php:239
+msgid "item not found."
msgstr ""
-#: ../../mod/setup.php:476
-msgid "Error: mysqli PHP module required but not installed."
+#: ../../mod/thing.php:270
+msgid "Edit Thing"
msgstr ""
-#: ../../mod/setup.php:480
-msgid "Error: mb_string PHP module required but not installed."
+#: ../../mod/thing.php:272 ../../mod/thing.php:319
+msgid "Select a profile"
msgstr ""
-#: ../../mod/setup.php:484
-msgid "Error: mcrypt PHP module required but not installed."
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Post an activity"
msgstr ""
-#: ../../mod/setup.php:500
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\" "
-"in the top folder of your web server and it is unable to do so."
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Only sends to viewers of the applicable profile"
msgstr ""
-#: ../../mod/setup.php:501
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
+#: ../../mod/thing.php:278 ../../mod/thing.php:324
+msgid "Name of thing e.g. something"
msgstr ""
-#: ../../mod/setup.php:502
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
+#: ../../mod/thing.php:280 ../../mod/thing.php:325
+msgid "URL of thing (optional)"
msgstr ""
-#: ../../mod/setup.php:503
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation. "
-"Please see the file \"install/INSTALL.txt\" for instructions."
+#: ../../mod/thing.php:282 ../../mod/thing.php:326
+msgid "URL for photo of thing (optional)"
msgstr ""
-#: ../../mod/setup.php:506
-msgid ".htconfig.php is writable"
+#: ../../mod/thing.php:317
+msgid "Add Thing to your Profile"
msgstr ""
-#: ../../mod/setup.php:516
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
msgstr ""
-#: ../../mod/setup.php:517
-#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
msgstr ""
-#: ../../mod/setup.php:518 ../../mod/setup.php:536
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has "
-"write access to this folder."
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
msgstr ""
-#: ../../mod/setup.php:519
+#: ../../mod/fsuggest.php:99
#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
+msgid "Suggest a friend for %s"
msgstr ""
-#: ../../mod/setup.php:522
-#, php-format
-msgid "%s is writable"
+#: ../../mod/filestorage.php:76
+msgid "Permission Denied."
msgstr ""
-#: ../../mod/setup.php:535
-msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to "
-"have write access to the store directory under the Red top level folder"
+#: ../../mod/filestorage.php:92
+msgid "File not found."
msgstr ""
-#: ../../mod/setup.php:539
-msgid "store is writable"
+#: ../../mod/filestorage.php:135
+msgid "Edit file permissions"
msgstr ""
-#: ../../mod/setup.php:569
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access "
-"to this site."
+#: ../../mod/filestorage.php:144
+msgid "Set/edit permissions"
msgstr ""
-#: ../../mod/setup.php:570
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
+#: ../../mod/filestorage.php:145
+msgid "Include all files and sub folders"
+msgstr ""
+
+#: ../../mod/filestorage.php:146
+msgid "Return to file list"
msgstr ""
-#: ../../mod/setup.php:571
+#: ../../mod/filestorage.php:148
+msgid "Copy/paste this code to attach file to a post"
+msgstr ""
+
+#: ../../mod/filestorage.php:149
+msgid "Copy/paste this URL to link file from a web page"
+msgstr ""
+
+#: ../../mod/connect.php:56 ../../mod/connect.php:104
+msgid "Continue"
+msgstr ""
+
+#: ../../mod/connect.php:85
+msgid "Premium Channel Setup"
+msgstr ""
+
+#: ../../mod/connect.php:87
+msgid "Enable premium channel connection restrictions"
+msgstr ""
+
+#: ../../mod/connect.php:88
msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
msgstr ""
-#: ../../mod/setup.php:572
+#: ../../mod/connect.php:90 ../../mod/connect.php:110
msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
msgstr ""
-#: ../../mod/setup.php:573
+#: ../../mod/connect.php:91
msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
+"Potential connections will then see the following text before proceeding:"
msgstr ""
-#: ../../mod/setup.php:574
+#: ../../mod/connect.php:92 ../../mod/connect.php:113
msgid ""
-"Providers are available that issue free certificates which are browser-valid."
+"By continuing, I certify that I have complied with any instructions provided "
+"on this page."
msgstr ""
-#: ../../mod/setup.php:576
-msgid "SSL certificate validation"
+#: ../../mod/connect.php:101
+msgid "(No specific instructions have been provided by the channel owner.)"
msgstr ""
-#: ../../mod/setup.php:582
+#: ../../mod/connect.php:109
+msgid "Restricted or Premium Channel"
+msgstr ""
+
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr ""
+
+#: ../../mod/locs.php:19 ../../mod/locs.php:46
+msgid "Location not found."
+msgstr ""
+
+#: ../../mod/locs.php:50
+msgid "Primary location cannot be removed."
+msgstr ""
+
+#: ../../mod/locs.php:82
+msgid "No locations found."
+msgstr ""
+
+#: ../../mod/locs.php:95
+msgid "Manage Channel Locations"
+msgstr ""
+
+#: ../../mod/locs.php:96
+msgid "Location (address)"
+msgstr ""
+
+#: ../../mod/locs.php:97
+msgid "Primary Location"
+msgstr ""
+
+#: ../../mod/locs.php:98
+msgid "Drop location"
+msgstr ""
+
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr ""
+
+#: ../../mod/import.php:25
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr ""
+
+#: ../../mod/import.php:51
+msgid "Nothing to import."
+msgstr ""
+
+#: ../../mod/import.php:75
+msgid "Unable to download data from old server"
+msgstr ""
+
+#: ../../mod/import.php:81
+msgid "Imported file is empty."
+msgstr ""
+
+#: ../../mod/import.php:106
msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
+"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../mod/setup.php:584
-msgid "Url rewrite is working"
+#: ../../mod/import.php:127
+msgid "Unable to create a unique channel address. Import failed."
+msgstr ""
+
+#: ../../mod/import.php:147
+msgid "Channel clone failed. Import failed."
+msgstr ""
+
+#: ../../mod/import.php:157
+msgid "Cloned channel not found. Import failed."
msgstr ""
-#: ../../mod/setup.php:594
+#: ../../mod/import.php:475
+msgid "Import completed."
+msgstr ""
+
+#: ../../mod/import.php:487
+msgid "You must be logged in to use this feature."
+msgstr ""
+
+#: ../../mod/import.php:492
+msgid "Import Channel"
+msgstr ""
+
+#: ../../mod/import.php:493
msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
+"Use this form to import an existing channel from a different server/hub. You "
+"may retrieve the channel identity from the old server/hub via the network or "
+"provide an export file. Only identity and connections/relationships will be "
+"imported. Importation of content is not yet available."
msgstr ""
-#: ../../mod/setup.php:618
-msgid "Errors encountered creating database tables."
+#: ../../mod/import.php:494
+msgid "File to Upload"
msgstr ""
-#: ../../mod/setup.php:653
-msgid "<h1>What next</h1>"
+#: ../../mod/import.php:495
+msgid "Or provide the old server/hub details"
+msgstr ""
+
+#: ../../mod/import.php:496
+msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../mod/setup.php:654
+#: ../../mod/import.php:497
+msgid "Your old login email address"
+msgstr ""
+
+#: ../../mod/import.php:498
+msgid "Your old login password"
+msgstr ""
+
+#: ../../mod/import.php:499
msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be "
+"able to post from either location, but only one can be marked as the primary "
+"location for files, photos, and media."
msgstr ""
-#: ../../mod/editblock.php:8 ../../mod/editblock.php:27
-#: ../../mod/editblock.php:53 ../../mod/editlayout.php:36
-#: ../../mod/editpost.php:20 ../../mod/editwebpage.php:32
-msgid "Item not found"
+#: ../../mod/import.php:500
+msgid "Make this hub my primary location"
msgstr ""
-#: ../../mod/editblock.php:77
-msgid "Edit Block"
+#: ../../mod/import.php:501
+msgid "Import existing posts if possible"
msgstr ""
-#: ../../mod/editblock.php:87
-msgid "Delete block?"
+#: ../../mod/item.php:159
+msgid "Unable to locate original post."
msgstr ""
-#: ../../mod/editblock.php:115 ../../mod/editlayout.php:110
-#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:147
-msgid "Insert YouTube video"
+#: ../../mod/item.php:418
+msgid "Empty post discarded."
msgstr ""
-#: ../../mod/editblock.php:116 ../../mod/editlayout.php:111
-#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:148
-msgid "Insert Vorbis [.ogg] video"
+#: ../../mod/item.php:460
+msgid "Executable content type not permitted to this channel."
msgstr ""
-#: ../../mod/editblock.php:117 ../../mod/editlayout.php:112
-#: ../../mod/editpost.php:118 ../../mod/editwebpage.php:149
-msgid "Insert Vorbis [.ogg] audio"
+#: ../../mod/item.php:902
+msgid "System error. Post not saved."
msgstr ""
-#: ../../mod/editblock.php:153
-msgid "Delete Block"
+#: ../../mod/item.php:1120
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
+#: ../../mod/item.php:1126
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
+#: ../../mod/suggest.php:35
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
msgstr ""
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
+#: ../../mod/layouts.php:110
+msgid "Help with this feature"
msgstr ""
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
+#: ../../mod/layouts.php:130
+msgid "Layout Name"
msgstr ""
-#: ../../mod/pdledit.php:55 ../../mod/layouts.php:59
-msgid "Layout Help"
+#: ../../mod/tagger.php:98
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr ""
-#: ../../mod/editlayout.php:72
-msgid "Edit Layout"
+#: ../../mod/setup.php:166
+msgid "Red Matrix Server - Setup"
msgstr ""
-#: ../../mod/editlayout.php:82
-msgid "Delete layout?"
+#: ../../mod/setup.php:172
+msgid "Could not connect to database."
msgstr ""
-#: ../../mod/editlayout.php:146
-msgid "Delete Layout"
+#: ../../mod/setup.php:176
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
msgstr ""
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
+#: ../../mod/setup.php:183
+msgid "Could not create table."
msgstr ""
-#: ../../mod/editpost.php:53
-msgid "Delete item?"
+#: ../../mod/setup.php:189
+msgid "Your site database has been installed."
msgstr ""
-#: ../../mod/editwebpage.php:106
-msgid "Edit Webpage"
+#: ../../mod/setup.php:194
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
msgstr ""
-#: ../../mod/editwebpage.php:116
-msgid "Delete webpage?"
+#: ../../mod/setup.php:195 ../../mod/setup.php:264 ../../mod/setup.php:663
+msgid "Please see the file \"install/INSTALL.txt\"."
msgstr ""
-#: ../../mod/editwebpage.php:186
-msgid "Delete Webpage"
+#: ../../mod/setup.php:261
+msgid "System check"
msgstr ""
-#: ../../mod/cloud.php:130
-msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
+#: ../../mod/setup.php:266
+msgid "Check again"
msgstr ""
-#: ../../mod/profile_photo.php:108
-msgid "Image uploaded but image cropping failed."
+#: ../../mod/setup.php:289
+msgid "Database connection"
msgstr ""
-#: ../../mod/profile_photo.php:161
-msgid "Image resize failed."
+#: ../../mod/setup.php:290
+msgid ""
+"In order to install Red Matrix we need to know how to connect to your "
+"database."
msgstr ""
-#: ../../mod/profile_photo.php:205
+#: ../../mod/setup.php:291
msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
msgstr ""
-#: ../../mod/profile_photo.php:232
-#, php-format
-msgid "Image exceeds size limit of %d"
+#: ../../mod/setup.php:292
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
msgstr ""
-#: ../../mod/profile_photo.php:241
-msgid "Unable to process image."
+#: ../../mod/setup.php:296
+msgid "Database Server Name"
msgstr ""
-#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
-msgid "Photo not available."
+#: ../../mod/setup.php:296
+msgid "Default is localhost"
msgstr ""
-#: ../../mod/profile_photo.php:358
-msgid "Upload File:"
+#: ../../mod/setup.php:297
+msgid "Database Port"
msgstr ""
-#: ../../mod/profile_photo.php:359
-msgid "Select a profile:"
+#: ../../mod/setup.php:297
+msgid "Communication port number - use 0 for default"
msgstr ""
-#: ../../mod/profile_photo.php:360
-msgid "Upload Profile Photo"
+#: ../../mod/setup.php:298
+msgid "Database Login Name"
msgstr ""
-#: ../../mod/profile_photo.php:365
-msgid "skip this step"
+#: ../../mod/setup.php:299
+msgid "Database Login Password"
msgstr ""
-#: ../../mod/profile_photo.php:365
-msgid "select a photo from your photo albums"
+#: ../../mod/setup.php:300
+msgid "Database Name"
msgstr ""
-#: ../../mod/profile_photo.php:381
-msgid "Crop Image"
+#: ../../mod/setup.php:301
+msgid "Database Type"
msgstr ""
-#: ../../mod/profile_photo.php:382
-msgid "Please adjust the image cropping for optimum viewing."
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid "Site administrator email address"
msgstr ""
-#: ../../mod/profile_photo.php:384
-msgid "Done Editing"
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
msgstr ""
-#: ../../mod/profile_photo.php:427
-msgid "Image uploaded successfully."
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Website URL"
msgstr ""
-#: ../../mod/profile_photo.php:429
-msgid "Image upload failed."
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Please use SSL (https) URL if available."
msgstr ""
-#: ../../mod/profile_photo.php:438
-#, php-format
-msgid "Image size reduction [%s] failed."
+#: ../../mod/setup.php:307 ../../mod/setup.php:352
+msgid "Please select a default timezone for your website"
msgstr ""
-#: ../../mod/sources.php:32
-msgid "Failed to create source. No channel selected."
+#: ../../mod/setup.php:335
+msgid "Site settings"
msgstr ""
-#: ../../mod/sources.php:45
-msgid "Source created."
+#: ../../mod/setup.php:395
+msgid "Could not find a command line version of PHP in the web server PATH."
msgstr ""
-#: ../../mod/sources.php:57
-msgid "Source updated."
+#: ../../mod/setup.php:396
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
msgstr ""
-#: ../../mod/sources.php:82
-msgid "*"
+#: ../../mod/setup.php:400
+msgid "PHP executable path"
msgstr ""
-#: ../../mod/sources.php:89
-msgid "Manage remote sources of content for your channel."
+#: ../../mod/setup.php:400
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
msgstr ""
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
-msgid "New Source"
+#: ../../mod/setup.php:405
+msgid "Command line PHP"
msgstr ""
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
+#: ../../mod/setup.php:414
msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
msgstr ""
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Only import content with these words (one per line)"
+#: ../../mod/setup.php:415
+msgid "This is required for message delivery to work."
msgstr ""
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Leave blank to import all public content"
+#: ../../mod/setup.php:417
+msgid "PHP register_argc_argv"
msgstr ""
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
-#: ../../mod/new_channel.php:112
-msgid "Channel Name"
+#: ../../mod/setup.php:438
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
msgstr ""
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
-msgid "Source not found."
+#: ../../mod/setup.php:439
+msgid ""
+"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
+"installation.php\"."
msgstr ""
-#: ../../mod/sources.php:130
-msgid "Edit Source"
+#: ../../mod/setup.php:441
+msgid "Generate encryption keys"
msgstr ""
-#: ../../mod/sources.php:131
-msgid "Delete Source"
+#: ../../mod/setup.php:448
+msgid "libCurl PHP module"
msgstr ""
-#: ../../mod/sources.php:158
-msgid "Source removed"
+#: ../../mod/setup.php:449
+msgid "GD graphics PHP module"
msgstr ""
-#: ../../mod/sources.php:160
-msgid "Unable to remove source."
+#: ../../mod/setup.php:450
+msgid "OpenSSL PHP module"
msgstr ""
-#: ../../mod/filer.php:49
-msgid "- select -"
+#: ../../mod/setup.php:451
+msgid "mysqli or postgres PHP module"
msgstr ""
-#: ../../mod/filestorage.php:76
-msgid "Permission Denied."
+#: ../../mod/setup.php:452
+msgid "mb_string PHP module"
msgstr ""
-#: ../../mod/filestorage.php:92
-msgid "File not found."
+#: ../../mod/setup.php:453
+msgid "mcrypt PHP module"
msgstr ""
-#: ../../mod/filestorage.php:131
-msgid "Edit file permissions"
+#: ../../mod/setup.php:458 ../../mod/setup.php:460
+msgid "Apache mod_rewrite module"
msgstr ""
-#: ../../mod/filestorage.php:140
-msgid "Set/edit permissions"
+#: ../../mod/setup.php:458
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr ""
-#: ../../mod/filestorage.php:141
-msgid "Include all files and sub folders"
+#: ../../mod/setup.php:464 ../../mod/setup.php:467
+msgid "proc_open"
msgstr ""
-#: ../../mod/filestorage.php:142
-msgid "Return to file list"
+#: ../../mod/setup.php:464
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
msgstr ""
-#: ../../mod/filestorage.php:144
-msgid "Copy/paste this code to attach file to a post"
+#: ../../mod/setup.php:472
+msgid "Error: libCURL PHP module required but not installed."
msgstr ""
-#: ../../mod/filestorage.php:145
-msgid "Copy/paste this URL to link file from a web page"
+#: ../../mod/setup.php:476
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr ""
-#: ../../mod/follow.php:25
-msgid "Channel added."
+#: ../../mod/setup.php:480
+msgid "Error: openssl PHP module required but not installed."
msgstr ""
-#: ../../mod/subthread.php:103
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
+#: ../../mod/setup.php:484
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
msgstr ""
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
+#: ../../mod/setup.php:488
+msgid "Error: mb_string PHP module required but not installed."
msgstr ""
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
+#: ../../mod/setup.php:492
+msgid "Error: mcrypt PHP module required but not installed."
msgstr ""
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
+#: ../../mod/setup.php:508
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\" "
+"in the top folder of your web server and it is unable to do so."
msgstr ""
-#: ../../mod/fsuggest.php:99
+#: ../../mod/setup.php:509
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr ""
+
+#: ../../mod/setup.php:510
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr ""
+
+#: ../../mod/setup.php:511
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation. "
+"Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr ""
+
+#: ../../mod/setup.php:514
+msgid ".htconfig.php is writable"
+msgstr ""
+
+#: ../../mod/setup.php:524
+msgid ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr ""
+
+#: ../../mod/setup.php:525
#, php-format
-msgid "Suggest a friend for %s"
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the Red top level folder."
msgstr ""
-#: ../../mod/suggest.php:35
+#: ../../mod/setup.php:526 ../../mod/setup.php:544
msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
+"Please ensure that the user that your web server runs as (e.g. www-data) has "
+"write access to this folder."
msgstr ""
-#: ../../mod/group.php:20
-msgid "Collection created."
+#: ../../mod/setup.php:527
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
msgstr ""
-#: ../../mod/group.php:26
-msgid "Could not create collection."
+#: ../../mod/setup.php:530
+#, php-format
+msgid "%s is writable"
msgstr ""
-#: ../../mod/group.php:54
-msgid "Collection updated."
+#: ../../mod/setup.php:543
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to "
+"have write access to the store directory under the Red top level folder"
msgstr ""
-#: ../../mod/group.php:86
-msgid "Create a collection of channels."
+#: ../../mod/setup.php:547
+msgid "store is writable"
msgstr ""
-#: ../../mod/group.php:87 ../../mod/group.php:183
-msgid "Collection Name: "
+#: ../../mod/setup.php:577
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access "
+"to this site."
msgstr ""
-#: ../../mod/group.php:89 ../../mod/group.php:186
-msgid "Members are visible to other channels"
+#: ../../mod/setup.php:578
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
msgstr ""
-#: ../../mod/group.php:107
-msgid "Collection removed."
+#: ../../mod/setup.php:579
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
msgstr ""
-#: ../../mod/group.php:109
-msgid "Unable to remove collection."
+#: ../../mod/setup.php:580
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
msgstr ""
-#: ../../mod/group.php:182
-msgid "Collection Editor"
+#: ../../mod/setup.php:581
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
msgstr ""
-#: ../../mod/group.php:196
-msgid "Members"
+#: ../../mod/setup.php:582
+msgid ""
+"Providers are available that issue free certificates which are browser-valid."
msgstr ""
-#: ../../mod/group.php:198
-msgid "All Connected Channels"
+#: ../../mod/setup.php:584
+msgid "SSL certificate validation"
msgstr ""
-#: ../../mod/group.php:233
-msgid "Click on a channel to add or remove."
+#: ../../mod/setup.php:590
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server configuration."
+"Test: "
msgstr ""
-#: ../../mod/tagger.php:98
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
+#: ../../mod/setup.php:592
+msgid "Url rewrite is working"
msgstr ""
-#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
-msgid "Help:"
+#: ../../mod/setup.php:602
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
msgstr ""
-#: ../../mod/help.php:69 ../../index.php:237
-msgid "Not Found"
+#: ../../mod/setup.php:626
+msgid "Errors encountered creating database tables."
+msgstr ""
+
+#: ../../mod/setup.php:661
+msgid "<h1>What next</h1>"
+msgstr ""
+
+#: ../../mod/setup.php:662
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr ""
-#: ../../mod/tagrm.php:41
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
msgid "Tag removed"
msgstr ""
-#: ../../mod/tagrm.php:79
+#: ../../mod/tagrm.php:119
msgid "Remove Item Tag"
msgstr ""
-#: ../../mod/tagrm.php:81
+#: ../../mod/tagrm.php:121
msgid "Select a tag to remove: "
msgstr ""
@@ -6427,7 +6842,7 @@ msgstr ""
msgid "Theme settings updated."
msgstr ""
-#: ../../mod/admin.php:97 ../../mod/admin.php:413
+#: ../../mod/admin.php:97 ../../mod/admin.php:411
msgid "Site"
msgstr ""
@@ -6435,19 +6850,19 @@ msgstr ""
msgid "Accounts"
msgstr ""
-#: ../../mod/admin.php:99 ../../mod/admin.php:860
+#: ../../mod/admin.php:99 ../../mod/admin.php:858
msgid "Channels"
msgstr ""
-#: ../../mod/admin.php:100 ../../mod/admin.php:951 ../../mod/admin.php:993
+#: ../../mod/admin.php:100 ../../mod/admin.php:949 ../../mod/admin.php:991
msgid "Plugins"
msgstr ""
-#: ../../mod/admin.php:101 ../../mod/admin.php:1156 ../../mod/admin.php:1192
+#: ../../mod/admin.php:101 ../../mod/admin.php:1154 ../../mod/admin.php:1190
msgid "Themes"
msgstr ""
-#: ../../mod/admin.php:102 ../../mod/admin.php:515
+#: ../../mod/admin.php:102 ../../mod/admin.php:512
msgid "Server"
msgstr ""
@@ -6459,7 +6874,7 @@ msgstr ""
msgid "DB updates"
msgstr ""
-#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1279
+#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1277
msgid "Logs"
msgstr ""
@@ -6475,10 +6890,10 @@ msgstr ""
msgid "Message queues"
msgstr ""
-#: ../../mod/admin.php:211 ../../mod/admin.php:412 ../../mod/admin.php:514
-#: ../../mod/admin.php:723 ../../mod/admin.php:859 ../../mod/admin.php:950
-#: ../../mod/admin.php:992 ../../mod/admin.php:1155 ../../mod/admin.php:1191
-#: ../../mod/admin.php:1278
+#: ../../mod/admin.php:211 ../../mod/admin.php:410 ../../mod/admin.php:511
+#: ../../mod/admin.php:721 ../../mod/admin.php:857 ../../mod/admin.php:948
+#: ../../mod/admin.php:990 ../../mod/admin.php:1153 ../../mod/admin.php:1189
+#: ../../mod/admin.php:1276
msgid "Administration"
msgstr ""
@@ -6490,7 +6905,7 @@ msgstr ""
msgid "Registered users"
msgstr ""
-#: ../../mod/admin.php:216 ../../mod/admin.php:518
+#: ../../mod/admin.php:216 ../../mod/admin.php:515
msgid "Pending registrations"
msgstr ""
@@ -6498,716 +6913,657 @@ msgstr ""
msgid "Version"
msgstr ""
-#: ../../mod/admin.php:219 ../../mod/admin.php:519
+#: ../../mod/admin.php:219 ../../mod/admin.php:516
msgid "Active plugins"
msgstr ""
-#: ../../mod/admin.php:333
+#: ../../mod/admin.php:326
msgid "Site settings updated."
msgstr ""
-#: ../../mod/admin.php:364
-msgid "No special theme for accessibility"
+#: ../../mod/admin.php:365
+msgid "experimental"
msgstr ""
-#: ../../mod/admin.php:393
+#: ../../mod/admin.php:367
+msgid "unsupported"
+msgstr ""
+
+#: ../../mod/admin.php:391
msgid "Yes - with approval"
msgstr ""
-#: ../../mod/admin.php:399
+#: ../../mod/admin.php:397
msgid "My site is not a public server"
msgstr ""
-#: ../../mod/admin.php:400
+#: ../../mod/admin.php:398
msgid "My site has paid access only"
msgstr ""
-#: ../../mod/admin.php:401
+#: ../../mod/admin.php:399
msgid "My site has free access only"
msgstr ""
-#: ../../mod/admin.php:402
+#: ../../mod/admin.php:400
msgid "My site offers free accounts with optional paid upgrades"
msgstr ""
-#: ../../mod/admin.php:416
+#: ../../mod/admin.php:414
msgid "File upload"
msgstr ""
-#: ../../mod/admin.php:417
+#: ../../mod/admin.php:415
msgid "Policies"
msgstr ""
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:420
msgid "Site name"
msgstr ""
-#: ../../mod/admin.php:423
+#: ../../mod/admin.php:421
msgid "Banner/Logo"
msgstr ""
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:422
msgid "Administrator Information"
msgstr ""
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:422
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr ""
-#: ../../mod/admin.php:425
+#: ../../mod/admin.php:423
msgid "System language"
msgstr ""
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:424
msgid "System theme"
msgstr ""
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:424
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr ""
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:425
msgid "Mobile system theme"
msgstr ""
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:425
msgid "Theme for mobile devices"
msgstr ""
-#: ../../mod/admin.php:428
-msgid "Accessibility system theme"
-msgstr ""
-
-#: ../../mod/admin.php:428
-msgid "Accessibility theme"
-msgstr ""
-
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:427
msgid "Enable Diaspora Protocol"
msgstr ""
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:427
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr ""
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:428
msgid "Allow Feeds as Connections"
msgstr ""
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:428
msgid "(Heavy system resource usage)"
msgstr ""
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:429
msgid "Maximum image size"
msgstr ""
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:429
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr ""
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:430
msgid "Does this site allow new member registration?"
msgstr ""
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:431
msgid "Which best describes the types of account offered by this hub?"
msgstr ""
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:432
msgid "Register text"
msgstr ""
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:432
msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:433
msgid "Accounts abandoned after x days"
msgstr ""
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:433
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr ""
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:434
msgid "Allowed friend domains"
msgstr ""
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:434
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr ""
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:435
msgid "Allowed email domains"
msgstr ""
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:435
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr ""
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:436
msgid "Block public"
msgstr ""
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:436
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr ""
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:437
msgid "Verify Email Addresses"
msgstr ""
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:437
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr ""
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:438
msgid "Force publish"
msgstr ""
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:438
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:439
msgid "Disable discovery tab"
msgstr ""
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:439
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr ""
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:440
msgid "No login on Homepage"
msgstr ""
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:440
msgid ""
"Check to hide the login form from your sites homepage when visitors arrive "
"who are not logged in (e.g. when you put the content of the homepage in via "
"the site channel)."
msgstr ""
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:442
msgid "Proxy user"
msgstr ""
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:443
msgid "Proxy URL"
msgstr ""
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:444
msgid "Network timeout"
msgstr ""
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:444
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:445
msgid "Delivery interval"
msgstr ""
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:445
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr ""
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:446
msgid "Poll interval"
msgstr ""
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:446
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr ""
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:447
msgid "Maximum Load Average"
msgstr ""
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:447
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr ""
-#: ../../mod/admin.php:506
+#: ../../mod/admin.php:503
msgid "No server found"
msgstr ""
-#: ../../mod/admin.php:513 ../../mod/admin.php:737
+#: ../../mod/admin.php:510 ../../mod/admin.php:735
msgid "ID"
msgstr ""
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "for channel"
msgstr ""
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "on server"
msgstr ""
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "Status"
msgstr ""
-#: ../../mod/admin.php:534
+#: ../../mod/admin.php:531
msgid "Update has been marked successful"
msgstr ""
-#: ../../mod/admin.php:544
+#: ../../mod/admin.php:541
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr ""
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:544
#, php-format
msgid "Update %s was successfully applied."
msgstr ""
-#: ../../mod/admin.php:551
+#: ../../mod/admin.php:548
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: ../../mod/admin.php:554
+#: ../../mod/admin.php:551
#, php-format
msgid "Update function %s could not be found."
msgstr ""
-#: ../../mod/admin.php:569
+#: ../../mod/admin.php:566
msgid "No failed updates."
msgstr ""
-#: ../../mod/admin.php:573
+#: ../../mod/admin.php:570
msgid "Failed Updates"
msgstr ""
-#: ../../mod/admin.php:575
+#: ../../mod/admin.php:572
msgid "Mark success (if update was manually applied)"
msgstr ""
-#: ../../mod/admin.php:576
+#: ../../mod/admin.php:573
msgid "Attempt to execute this update step automatically"
msgstr ""
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:599
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:609
+#: ../../mod/admin.php:606
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:638
+#: ../../mod/admin.php:635
msgid "Account not found"
msgstr ""
-#: ../../mod/admin.php:658
+#: ../../mod/admin.php:655
#, php-format
msgid "User '%s' unblocked"
msgstr ""
-#: ../../mod/admin.php:658
+#: ../../mod/admin.php:655
#, php-format
msgid "User '%s' blocked"
msgstr ""
-#: ../../mod/admin.php:724 ../../mod/admin.php:736
+#: ../../mod/admin.php:722 ../../mod/admin.php:734
msgid "Users"
msgstr ""
-#: ../../mod/admin.php:726 ../../mod/admin.php:862
+#: ../../mod/admin.php:724 ../../mod/admin.php:860
msgid "select all"
msgstr ""
-#: ../../mod/admin.php:727
+#: ../../mod/admin.php:725
msgid "User registrations waiting for confirm"
msgstr ""
-#: ../../mod/admin.php:728
+#: ../../mod/admin.php:726
msgid "Request date"
msgstr ""
-#: ../../mod/admin.php:729
+#: ../../mod/admin.php:727
msgid "No registrations."
msgstr ""
-#: ../../mod/admin.php:730
+#: ../../mod/admin.php:728
msgid "Approve"
msgstr ""
-#: ../../mod/admin.php:731
+#: ../../mod/admin.php:729
msgid "Deny"
msgstr ""
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Register date"
msgstr ""
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Last login"
msgstr ""
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Expires"
msgstr ""
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Service Class"
msgstr ""
-#: ../../mod/admin.php:739
+#: ../../mod/admin.php:737
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:740
+#: ../../mod/admin.php:738
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:773
+#: ../../mod/admin.php:771
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:780
+#: ../../mod/admin.php:778
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:799
+#: ../../mod/admin.php:797
msgid "Channel not found"
msgstr ""
-#: ../../mod/admin.php:810
+#: ../../mod/admin.php:808
#, php-format
msgid "Channel '%s' deleted"
msgstr ""
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:819
#, php-format
msgid "Channel '%s' uncensored"
msgstr ""
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:819
#, php-format
msgid "Channel '%s' censored"
msgstr ""
-#: ../../mod/admin.php:864
+#: ../../mod/admin.php:862
msgid "Censor"
msgstr ""
-#: ../../mod/admin.php:865
+#: ../../mod/admin.php:863
msgid "Uncensor"
msgstr ""
-#: ../../mod/admin.php:868
+#: ../../mod/admin.php:866
msgid "UID"
msgstr ""
-#: ../../mod/admin.php:870
+#: ../../mod/admin.php:868
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:871
+#: ../../mod/admin.php:869
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:910
+#: ../../mod/admin.php:908
#, php-format
msgid "Plugin %s disabled."
msgstr ""
-#: ../../mod/admin.php:914
+#: ../../mod/admin.php:912
#, php-format
msgid "Plugin %s enabled."
msgstr ""
-#: ../../mod/admin.php:924 ../../mod/admin.php:1126
+#: ../../mod/admin.php:922 ../../mod/admin.php:1124
msgid "Disable"
msgstr ""
-#: ../../mod/admin.php:926 ../../mod/admin.php:1128
+#: ../../mod/admin.php:924 ../../mod/admin.php:1126
msgid "Enable"
msgstr ""
-#: ../../mod/admin.php:952 ../../mod/admin.php:1157
+#: ../../mod/admin.php:950 ../../mod/admin.php:1155
msgid "Toggle"
msgstr ""
-#: ../../mod/admin.php:960 ../../mod/admin.php:1167
+#: ../../mod/admin.php:958 ../../mod/admin.php:1165
msgid "Author: "
msgstr ""
-#: ../../mod/admin.php:961 ../../mod/admin.php:1168
+#: ../../mod/admin.php:959 ../../mod/admin.php:1166
msgid "Maintainer: "
msgstr ""
-#: ../../mod/admin.php:1090
+#: ../../mod/admin.php:1088
msgid "No themes found."
msgstr ""
-#: ../../mod/admin.php:1149
+#: ../../mod/admin.php:1147
msgid "Screenshot"
msgstr ""
-#: ../../mod/admin.php:1197
+#: ../../mod/admin.php:1195
msgid "[Experimental]"
msgstr ""
-#: ../../mod/admin.php:1198
+#: ../../mod/admin.php:1196
msgid "[Unsupported]"
msgstr ""
-#: ../../mod/admin.php:1225
+#: ../../mod/admin.php:1223
msgid "Log settings updated."
msgstr ""
-#: ../../mod/admin.php:1281
+#: ../../mod/admin.php:1279
msgid "Clear"
msgstr ""
-#: ../../mod/admin.php:1287
+#: ../../mod/admin.php:1285
msgid "Debugging"
msgstr ""
-#: ../../mod/admin.php:1288
+#: ../../mod/admin.php:1286
msgid "Log file"
msgstr ""
-#: ../../mod/admin.php:1288
+#: ../../mod/admin.php:1286
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr ""
-#: ../../mod/admin.php:1289
+#: ../../mod/admin.php:1287
msgid "Log level"
msgstr ""
-#: ../../mod/admin.php:1336
+#: ../../mod/admin.php:1334
msgid "New Profile Field"
msgstr ""
-#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
msgid "Field nickname"
msgstr ""
-#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
msgid "System name of field"
msgstr ""
-#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
+#: ../../mod/admin.php:1336 ../../mod/admin.php:1357
msgid "Input type"
msgstr ""
-#: ../../mod/admin.php:1339 ../../mod/admin.php:1360
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
msgid "Field Name"
msgstr ""
-#: ../../mod/admin.php:1339 ../../mod/admin.php:1360
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
msgid "Label on profile pages"
msgstr ""
-#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
msgid "Help text"
msgstr ""
-#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
msgid "Additional info (optional)"
msgstr ""
-#: ../../mod/admin.php:1351
+#: ../../mod/admin.php:1349
msgid "Field definition not found"
msgstr ""
-#: ../../mod/admin.php:1357
+#: ../../mod/admin.php:1355
msgid "Edit Profile Field"
msgstr ""
-#: ../../mod/thing.php:96
-msgid "Thing updated"
-msgstr ""
-
-#: ../../mod/thing.php:156
-msgid "Object store: failed"
-msgstr ""
-
-#: ../../mod/thing.php:160
-msgid "Thing added"
-msgstr ""
-
-#: ../../mod/thing.php:180
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr ""
-
-#: ../../mod/thing.php:232
-msgid "Show Thing"
-msgstr ""
-
-#: ../../mod/thing.php:239
-msgid "item not found."
-msgstr ""
-
-#: ../../mod/thing.php:270
-msgid "Edit Thing"
-msgstr ""
-
-#: ../../mod/thing.php:272 ../../mod/thing.php:319
-msgid "Select a profile"
-msgstr ""
-
-#: ../../mod/thing.php:276 ../../mod/thing.php:322
-msgid "Post an activity"
-msgstr ""
-
-#: ../../mod/thing.php:276 ../../mod/thing.php:322
-msgid "Only sends to viewers of the applicable profile"
-msgstr ""
-
-#: ../../mod/thing.php:278 ../../mod/thing.php:324
-msgid "Name of thing e.g. something"
-msgstr ""
-
-#: ../../mod/thing.php:280 ../../mod/thing.php:325
-msgid "URL of thing (optional)"
+#: ../../mod/menu.php:31
+msgid "Menu updated."
msgstr ""
-#: ../../mod/thing.php:282 ../../mod/thing.php:326
-msgid "URL for photo of thing (optional)"
+#: ../../mod/menu.php:35
+msgid "Unable to update menu."
msgstr ""
-#: ../../mod/thing.php:317
-msgid "Add Thing to your Profile"
+#: ../../mod/menu.php:40
+msgid "Menu created."
msgstr ""
-#: ../../mod/import.php:25
-#, php-format
-msgid "Your service plan only allows %d channels."
+#: ../../mod/menu.php:44
+msgid "Unable to create menu."
msgstr ""
-#: ../../mod/import.php:51
-msgid "Nothing to import."
+#: ../../mod/menu.php:76
+msgid "Manage Menus"
msgstr ""
-#: ../../mod/import.php:75
-msgid "Unable to download data from old server"
+#: ../../mod/menu.php:79
+msgid "Drop"
msgstr ""
-#: ../../mod/import.php:81
-msgid "Imported file is empty."
+#: ../../mod/menu.php:81
+msgid "Bookmarks allowed"
msgstr ""
-#: ../../mod/import.php:105
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
+#: ../../mod/menu.php:82
+msgid "Create a new menu"
msgstr ""
-#: ../../mod/import.php:123
-msgid "Channel clone failed. Import failed."
+#: ../../mod/menu.php:83
+msgid "Delete this menu"
msgstr ""
-#: ../../mod/import.php:133
-msgid "Cloned channel not found. Import failed."
+#: ../../mod/menu.php:84 ../../mod/menu.php:125
+msgid "Edit menu contents"
msgstr ""
-#: ../../mod/import.php:451
-msgid "Import completed."
+#: ../../mod/menu.php:85
+msgid "Edit this menu"
msgstr ""
-#: ../../mod/import.php:463
-msgid "You must be logged in to use this feature."
+#: ../../mod/menu.php:96
+msgid "New Menu"
msgstr ""
-#: ../../mod/import.php:468
-msgid "Import Channel"
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
+msgid "Menu name"
msgstr ""
-#: ../../mod/import.php:469
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You "
-"may retrieve the channel identity from the old server/hub via the network or "
-"provide an export file. Only identity and connections/relationships will be "
-"imported. Importation of content is not yet available."
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
+msgid "Must be unique, only seen by you"
msgstr ""
-#: ../../mod/import.php:470
-msgid "File to Upload"
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
+msgid "Menu title"
msgstr ""
-#: ../../mod/import.php:471
-msgid "Or provide the old server/hub details"
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
+msgid "Menu title as seen by others"
msgstr ""
-#: ../../mod/import.php:472
-msgid "Your old identity address (xyz@example.com)"
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Allow bookmarks"
msgstr ""
-#: ../../mod/import.php:473
-msgid "Your old login email address"
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Menu may be used to store saved bookmarks"
msgstr ""
-#: ../../mod/import.php:474
-msgid "Your old login password"
+#: ../../mod/menu.php:114
+msgid "Menu deleted."
msgstr ""
-#: ../../mod/import.php:475
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be "
-"able to post from either location, but only one can be marked as the primary "
-"location for files, photos, and media."
+#: ../../mod/menu.php:116
+msgid "Menu could not be deleted."
msgstr ""
-#: ../../mod/import.php:476
-msgid "Make this hub my primary location"
+#: ../../mod/menu.php:122
+msgid "Edit Menu"
msgstr ""
-#: ../../mod/import.php:477
-msgid "Import existing posts if possible"
+#: ../../mod/menu.php:124
+msgid "Add or remove entries to this menu"
msgstr ""
#: ../../mod/invite.php:25
@@ -7251,10 +7607,6 @@ msgstr ""
msgid "Enter email addresses, one per line:"
msgstr ""
-#: ../../mod/invite.php:131 ../../mod/mail.php:228 ../../mod/mail.php:341
-msgid "Your message:"
-msgstr ""
-
#: ../../mod/invite.php:132
msgid "Please join my community on RedMatrix."
msgstr ""
@@ -7279,81 +7631,50 @@ msgstr ""
msgid "3. Click [Connect]"
msgstr ""
-#: ../../mod/item.php:150
-msgid "Unable to locate original post."
-msgstr ""
-
-#: ../../mod/item.php:409
-msgid "Empty post discarded."
-msgstr ""
-
-#: ../../mod/item.php:451
-msgid "Executable content type not permitted to this channel."
-msgstr ""
-
-#: ../../mod/item.php:881
-msgid "System error. Post not saved."
-msgstr ""
-
-#: ../../mod/item.php:1349
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr ""
-
-#: ../../mod/item.php:1355
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr ""
-
-#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
-#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-msgid "[Embedded content - reload page to view]"
-msgstr ""
-
-#: ../../mod/layouts.php:62
-msgid "Help with this feature"
+#: ../../mod/network.php:84
+msgid "No such group"
msgstr ""
-#: ../../mod/layouts.php:85
-msgid "Layout Name"
+#: ../../mod/network.php:122
+msgid "Search Results For:"
msgstr ""
-#: ../../mod/like.php:15
-msgid "Like/Dislike"
+#: ../../mod/network.php:176
+msgid "Collection is empty"
msgstr ""
-#: ../../mod/like.php:20
-msgid "This action is restricted to members."
+#: ../../mod/network.php:184
+msgid "Collection: "
msgstr ""
-#: ../../mod/like.php:21
-msgid ""
-"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href="
-"\"register\">register as a new RedMatrix member</a> to continue."
+#: ../../mod/network.php:197
+msgid "Connection: "
msgstr ""
-#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
-msgid "Invalid request."
+#: ../../mod/network.php:200
+msgid "Invalid connection."
msgstr ""
-#: ../../mod/like.php:119
-msgid "thing"
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
msgstr ""
-#: ../../mod/like.php:165
-msgid "Channel unavailable."
+#: ../../mod/notifications.php:35
+msgid "Discard"
msgstr ""
-#: ../../mod/like.php:204
-msgid "Previous action reversed."
+#: ../../mod/notifications.php:94 ../../mod/notify.php:53
+msgid "No more system notifications."
msgstr ""
-#: ../../mod/like.php:417
-msgid "Action completed."
+#: ../../mod/notifications.php:98 ../../mod/notify.php:57
+msgid "System Notifications"
msgstr ""
-#: ../../mod/like.php:418
-msgid "Thank you."
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
+#: ../../mod/update_home.php:21
+msgid "[Embedded content - reload page to view]"
msgstr ""
#: ../../mod/lockview.php:31
@@ -7377,79 +7698,6 @@ msgstr ""
msgid "View Connnections"
msgstr ""
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr ""
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr ""
-
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
-msgstr ""
-
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
-msgstr ""
-
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr ""
-
-#: ../../mod/lostpass.php:85 ../../boot.php:1506
-msgid "Password Reset"
-msgstr ""
-
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
-msgstr ""
-
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
-msgstr ""
-
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
-msgstr ""
-
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
-msgstr ""
-
-#: ../../mod/lostpass.php:90
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr ""
-
-#: ../../mod/lostpass.php:107
-#, php-format
-msgid "Your password has changed at %s"
-msgstr ""
-
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
-msgstr ""
-
-#: ../../mod/lostpass.php:123
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr ""
-
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
-msgstr ""
-
-#: ../../mod/lostpass.php:125
-msgid "Reset"
-msgstr ""
-
#: ../../mod/magic.php:70
msgid "Hub not found."
msgstr ""
@@ -7462,303 +7710,297 @@ msgstr ""
msgid "Average Rating"
msgstr ""
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr ""
-
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr ""
-
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
msgstr ""
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
+#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:261
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
msgstr ""
-#: ../../mod/mail.php:135
-msgid "Message deleted."
+#: ../../mod/wall_upload.php:35
+msgid "Wall Photos"
msgstr ""
-#: ../../mod/mail.php:152
-msgid "Message recalled."
+#: ../../mod/match.php:16
+msgid "Profile Match"
msgstr ""
-#: ../../mod/mail.php:218
-msgid "Send Private Message"
+#: ../../mod/match.php:24
+msgid "No keywords to match. Please add keywords to your default profile."
msgstr ""
-#: ../../mod/mail.php:219 ../../mod/mail.php:336
-msgid "To:"
+#: ../../mod/match.php:61
+msgid "is interested in:"
msgstr ""
-#: ../../mod/mail.php:224 ../../mod/mail.php:338
-msgid "Subject:"
+#: ../../mod/match.php:69
+msgid "No matches"
msgstr ""
-#: ../../mod/mail.php:235
-msgid "Send"
+#: ../../mod/message.php:41
+msgid "Conversation removed."
msgstr ""
-#: ../../mod/mail.php:262
-msgid "Message not found."
+#: ../../mod/message.php:56
+msgid "No messages."
msgstr ""
-#: ../../mod/mail.php:305
-msgid "Delete message"
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
msgstr ""
-#: ../../mod/mail.php:306
-msgid "Recall message"
+#: ../../mod/new_channel.php:109
+msgid "Add a Channel"
msgstr ""
-#: ../../mod/mail.php:308
-msgid "Message has been recalled."
+#: ../../mod/new_channel.php:110
+msgid ""
+"A channel is your own collection of related web pages. A channel can be used "
+"to hold social network profiles, blogs, conversation groups and forums, "
+"celebrity pages, and much more. You may create as many channels as your "
+"service provider allows."
msgstr ""
-#: ../../mod/mail.php:325
-msgid "Private Conversation"
+#: ../../mod/new_channel.php:113
+msgid ""
+"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation "
+"Group\" "
msgstr ""
-#: ../../mod/mail.php:329 ../../mod/message.php:72
-msgid "Delete conversation"
+#: ../../mod/new_channel.php:114
+msgid "Choose a short nickname"
msgstr ""
-#: ../../mod/mail.php:331
+#: ../../mod/new_channel.php:115
msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
+"Your nickname will be used to create an easily remembered channel address "
+"(like an email address) which you can share with others."
msgstr ""
-#: ../../mod/mail.php:335
-msgid "Send Reply"
+#: ../../mod/new_channel.php:116
+msgid ""
+"Or <a href=\"import\">import an existing channel</a> from another location"
msgstr ""
-#: ../../mod/manage.php:136
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
+#: ../../mod/new_channel.php:118
+msgid ""
+"Please choose a channel type (such as social networking or community forum) "
+"and privacy requirements so we can select the best permissions for you"
msgstr ""
-#: ../../mod/manage.php:144
-msgid "Create a new channel"
+#: ../../mod/new_channel.php:119
+msgid "Channel Type"
msgstr ""
-#: ../../mod/manage.php:149
-msgid "Current Channel"
+#: ../../mod/new_channel.php:119
+msgid "Read more about roles"
msgstr ""
-#: ../../mod/manage.php:151
-msgid "Attach to one of your channels by selecting it."
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
msgstr ""
-#: ../../mod/manage.php:152
-msgid "Default Channel"
+#: ../../mod/xchan.php:9
+msgid "Lookup xchan beginning with (or webbie): "
msgstr ""
-#: ../../mod/manage.php:153
-msgid "Make Default"
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
msgstr ""
-#: ../../mod/wall_upload.php:34
-msgid "Wall Photos"
+#: ../../mod/photos.php:77
+msgid "Page owner information could not be retrieved."
msgstr ""
-#: ../../mod/match.php:16
-msgid "Profile Match"
+#: ../../mod/photos.php:97
+msgid "Album not found."
msgstr ""
-#: ../../mod/match.php:24
-msgid "No keywords to match. Please add keywords to your default profile."
+#: ../../mod/photos.php:119 ../../mod/photos.php:672
+msgid "Delete Album"
msgstr ""
-#: ../../mod/match.php:61
-msgid "is interested in:"
+#: ../../mod/photos.php:159 ../../mod/photos.php:955
+msgid "Delete Photo"
msgstr ""
-#: ../../mod/match.php:69
-msgid "No matches"
+#: ../../mod/photos.php:469
+msgid "No photos selected"
msgstr ""
-#: ../../mod/menu.php:21
-msgid "Menu updated."
+#: ../../mod/photos.php:513
+msgid "Access to this item is restricted."
msgstr ""
-#: ../../mod/menu.php:25
-msgid "Unable to update menu."
+#: ../../mod/photos.php:552
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr ""
-#: ../../mod/menu.php:30
-msgid "Menu created."
+#: ../../mod/photos.php:555
+#, php-format
+msgid "%1$.2f MB photo storage used."
msgstr ""
-#: ../../mod/menu.php:34
-msgid "Unable to create menu."
+#: ../../mod/photos.php:579
+msgid "Upload Photos"
msgstr ""
-#: ../../mod/menu.php:57
-msgid "Manage Menus"
+#: ../../mod/photos.php:583 ../../mod/photos.php:665 ../../mod/photos.php:940
+msgid "Enter a new album name"
msgstr ""
-#: ../../mod/menu.php:60
-msgid "Drop"
+#: ../../mod/photos.php:584 ../../mod/photos.php:666 ../../mod/photos.php:941
+msgid "or select an existing one (doubleclick)"
msgstr ""
-#: ../../mod/menu.php:62
-msgid "Create a new menu"
+#: ../../mod/photos.php:585
+msgid "Do not show a status post for this upload"
msgstr ""
-#: ../../mod/menu.php:63
-msgid "Delete this menu"
+#: ../../mod/photos.php:613
+msgid "Album name could not be decoded"
msgstr ""
-#: ../../mod/menu.php:64 ../../mod/menu.php:109
-msgid "Edit menu contents"
+#: ../../mod/photos.php:654 ../../mod/photos.php:1164
+#: ../../mod/photos.php:1180
+msgid "Contact Photos"
msgstr ""
-#: ../../mod/menu.php:65
-msgid "Edit this menu"
+#: ../../mod/photos.php:678
+msgid "Show Newest First"
msgstr ""
-#: ../../mod/menu.php:80
-msgid "New Menu"
+#: ../../mod/photos.php:680
+msgid "Show Oldest First"
msgstr ""
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Menu name"
+#: ../../mod/photos.php:704 ../../mod/photos.php:1212
+msgid "View Photo"
msgstr ""
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Must be unique, only seen by you"
+#: ../../mod/photos.php:733
+msgid "Edit Album"
msgstr ""
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title"
+#: ../../mod/photos.php:778
+msgid "Permission denied. Access to this item may be restricted."
msgstr ""
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title as seen by others"
+#: ../../mod/photos.php:780
+msgid "Photo not available"
msgstr ""
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Allow bookmarks"
+#: ../../mod/photos.php:838
+msgid "Use as profile photo"
msgstr ""
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Menu may be used to store saved bookmarks"
+#: ../../mod/photos.php:845
+msgid "Private Photo"
msgstr ""
-#: ../../mod/menu.php:98
-msgid "Menu deleted."
+#: ../../mod/photos.php:860
+msgid "View Full Size"
msgstr ""
-#: ../../mod/menu.php:100
-msgid "Menu could not be deleted."
+#: ../../mod/photos.php:934
+msgid "Edit photo"
msgstr ""
-#: ../../mod/menu.php:106
-msgid "Edit Menu"
+#: ../../mod/photos.php:936
+msgid "Rotate CW (right)"
msgstr ""
-#: ../../mod/menu.php:108
-msgid "Add or remove entries to this menu"
+#: ../../mod/photos.php:937
+msgid "Rotate CCW (left)"
msgstr ""
-#: ../../mod/message.php:41
-msgid "Conversation removed."
+#: ../../mod/photos.php:944
+msgid "Caption"
msgstr ""
-#: ../../mod/message.php:56
-msgid "No messages."
+#: ../../mod/photos.php:946
+msgid "Add a Tag"
msgstr ""
-#: ../../mod/message.php:74
-msgid "D, d M Y - g:i A"
+#: ../../mod/photos.php:950
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr ""
-#: ../../mod/new_channel.php:109
-msgid "Add a Channel"
+#: ../../mod/photos.php:953
+msgid "Flag as adult in album view"
msgstr ""
-#: ../../mod/new_channel.php:110
-msgid ""
-"A channel is your own collection of related web pages. A channel can be used "
-"to hold social network profiles, blogs, conversation groups and forums, "
-"celebrity pages, and much more. You may create as many channels as your "
-"service provider allows."
+#: ../../mod/photos.php:1130
+msgid "In This Photo:"
msgstr ""
-#: ../../mod/new_channel.php:113
-msgid ""
-"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation "
-"Group\" "
+#: ../../mod/photos.php:1218
+msgid "View Album"
msgstr ""
-#: ../../mod/new_channel.php:114
-msgid "Choose a short nickname"
+#: ../../mod/photos.php:1241
+msgid "Recent Photos"
msgstr ""
-#: ../../mod/new_channel.php:115
-msgid ""
-"Your nickname will be used to create an easily remembered channel address "
-"(like an email address) which you can share with others."
+#: ../../mod/oexchange.php:23
+msgid "Unable to find your hub."
msgstr ""
-#: ../../mod/new_channel.php:116
-msgid ""
-"Or <a href=\"import\">import an existing channel</a> from another location"
+#: ../../mod/oexchange.php:37
+msgid "Post successful."
msgstr ""
-#: ../../mod/new_channel.php:118
-msgid "Channel Type"
+#: ../../mod/directory.php:201
+msgid "Gender: "
msgstr ""
-#: ../../mod/new_channel.php:119
-msgid ""
-"Please choose a channel type (such as social networking or community forum) "
-"and privacy requirements so we can select the best permissions for you"
+#: ../../mod/directory.php:203
+msgid "Status: "
msgstr ""
-#: ../../mod/home.php:46
-msgid "Red Matrix - &quot;The Network&quot;"
+#: ../../mod/directory.php:205
+msgid "Homepage: "
msgstr ""
-#: ../../mod/home.php:101
-#, php-format
-msgid "Welcome to %s"
+#: ../../mod/directory.php:208
+msgid "Hometown: "
msgstr ""
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
+#: ../../mod/directory.php:210
+msgid "About: "
msgstr ""
-#: ../../mod/notifications.php:35
-msgid "Discard"
+#: ../../mod/directory.php:265
+msgid "Public Forum:"
msgstr ""
-#: ../../mod/notifications.php:94 ../../mod/notify.php:53
-msgid "No more system notifications."
+#: ../../mod/directory.php:268
+msgid "Keywords: "
msgstr ""
-#: ../../mod/notifications.php:98 ../../mod/notify.php:57
-msgid "System Notifications"
+#: ../../mod/directory.php:318
+msgid "Finding:"
msgstr ""
-#: ../../mod/oexchange.php:23
-msgid "Unable to find your hub."
+#: ../../mod/directory.php:323
+msgid "next page"
msgstr ""
-#: ../../mod/oexchange.php:37
-msgid "Post successful."
+#: ../../mod/directory.php:323
+msgid "previous page"
msgstr ""
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
+#: ../../mod/directory.php:340
+msgid "No entries (some entries may be hidden)."
msgstr ""
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
+#: ../../mod/post.php:229
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please "
+"logout and retry."
msgstr ""
#: ../../mod/appman.php:28 ../../mod/appman.php:44
@@ -7849,31 +8091,6 @@ msgstr ""
msgid "No service class restrictions found."
msgstr ""
-#: ../../mod/impel.php:33
-msgid "webpage"
-msgstr ""
-
-#: ../../mod/impel.php:38
-msgid "block"
-msgstr ""
-
-#: ../../mod/impel.php:43
-msgid "layout"
-msgstr ""
-
-#: ../../mod/impel.php:117
-#, php-format
-msgid "%s element installed"
-msgstr ""
-
-#: ../../mod/locs.php:47 ../../mod/locs.php:74
-msgid "Location not found."
-msgstr ""
-
-#: ../../mod/locs.php:78
-msgid "Primary location cannot be removed."
-msgstr ""
-
#: ../../view/theme/apw/php/config.php:202
#: ../../view/theme/apw/php/config.php:236
msgid "Schema Default"
@@ -7888,8 +8105,6 @@ msgid "Monospace"
msgstr ""
#: ../../view/theme/apw/php/config.php:259
-#: ../../view/theme/blogga/php/config.php:69
-#: ../../view/theme/blogga/view/theme/blog/config.php:69
#: ../../view/theme/redbasic/php/config.php:102
msgid "Theme settings"
msgstr ""
@@ -8020,21 +8235,6 @@ msgstr ""
msgid "Right offset of the aside element"
msgstr ""
-#: ../../view/theme/blogga/php/config.php:47
-#: ../../view/theme/blogga/view/theme/blog/config.php:47
-msgid "None"
-msgstr ""
-
-#: ../../view/theme/blogga/php/config.php:70
-#: ../../view/theme/blogga/view/theme/blog/config.php:70
-msgid "Header image"
-msgstr ""
-
-#: ../../view/theme/blogga/php/config.php:71
-#: ../../view/theme/blogga/view/theme/blog/config.php:71
-msgid "Header image only on profile pages"
-msgstr ""
-
#: ../../view/theme/redbasic/php/config.php:84
msgid "Light (Red Matrix default)"
msgstr ""
@@ -8159,41 +8359,41 @@ msgstr ""
msgid "Are you a clean desk or a messy desk person?"
msgstr ""
-#: ../../boot.php:1294
+#: ../../boot.php:1347
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
-#: ../../boot.php:1297
+#: ../../boot.php:1350
#, php-format
msgid "Update Error at %s"
msgstr ""
-#: ../../boot.php:1471
+#: ../../boot.php:1517
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr ""
-#: ../../boot.php:1499
+#: ../../boot.php:1545
msgid "Password"
msgstr ""
-#: ../../boot.php:1500
+#: ../../boot.php:1546
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1505
+#: ../../boot.php:1549
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:1570
+#: ../../boot.php:1630
msgid "permission denied"
msgstr ""
-#: ../../boot.php:1571
+#: ../../boot.php:1631
msgid "Got Zot?"
msgstr ""
-#: ../../boot.php:2005
+#: ../../boot.php:2114
msgid "toggle mobile"
msgstr ""
diff --git a/util/po2php.php b/util/po2php.php
index d3e6d190c..cf295d8cb 100644
--- a/util/po2php.php
+++ b/util/po2php.php
@@ -73,7 +73,7 @@ function po2php_run($argv, $argc) {
}
$match=Array();
preg_match("|\[([0-9]*)\] (.*)|", $l, $match);
- $out .= "\t".
+ $out .= "\t".
preg_replace_callback($escape_s_exp,'escape_s',$match[1])
." => "
.preg_replace_callback($escape_s_exp,'escape_s',$match[2]) .",\n";
@@ -83,7 +83,7 @@ function po2php_run($argv, $argc) {
if ($ink) {
- $k .= trim($l,"\"\r\n");
+ $k .= trim_message($l);
$k = preg_replace_callback($escape_s_exp,'escape_s',$k);
//$out .= '$a->strings['.$k.'] = ';
}
@@ -93,7 +93,7 @@ function po2php_run($argv, $argc) {
if ($k!="") $out .= $arr?");\n":";\n";
$arr=False;
$k = str_replace("msgid ","",$l);
- $k = trim($k,"\"\r\n");
+ $k = trim_message($k);
$k = $ctx.$k;
// echo $ctx ? $ctx."\nX\n":"";
$k = preg_replace_callback($escape_s_exp,'escape_s',$k);
@@ -102,14 +102,14 @@ function po2php_run($argv, $argc) {
}
if ($inv && substr($l,0,6)!="msgstr" && substr($l,0,7)!="msgctxt") {
- $v .= trim($l,"\"\r\n");
+ $v .= trim_message($l);
$v = preg_replace_callback($escape_s_exp,'escape_s',$v);
//$out .= '$a->strings['.$k.'] = ';
}
if (substr($l,0,7)=="msgctxt") {
$ctx = str_replace("msgctxt ","",$l);
- $ctx = trim($ctx,"\"\r\n");
+ $ctx = trim_message($ctx);
$ctx = "__ctx:".$ctx."__ ";
$ctx = preg_replace_callback($escape_s_exp,'escape_s',$ctx);
}
@@ -123,6 +123,14 @@ function po2php_run($argv, $argc) {
}
+function trim_message($str) {
+ // Almost same as trim("\"\r\n") except that escaped quotes are preserved
+ $str = trim($str, "\r\n");
+ $str = ltrim($str, "\"");
+ $str = preg_replace('/(?<!\\\)"+$/', '', $str);
+ return $str;
+}
+
if (array_search(__file__,get_included_files())===0){
po2php_run($argv,$argc);
}
diff --git a/vendor/bin/sabredav b/vendor/bin/sabredav
deleted file mode 120000
index 3b5e4511d..000000000
--- a/vendor/bin/sabredav
+++ /dev/null
@@ -1 +0,0 @@
-../sabre/dav/bin/sabredav \ No newline at end of file
diff --git a/vendor/bin/vobjectvalidate.php b/vendor/bin/vobjectvalidate.php
deleted file mode 120000
index 4121667bf..000000000
--- a/vendor/bin/vobjectvalidate.php
+++ /dev/null
@@ -1 +0,0 @@
-../sabre/vobject/bin/vobjectvalidate.php \ No newline at end of file
diff --git a/version.inc b/version.inc
index 252e701a2..95fdfb820 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2014-10-28.842
+2015-01-05.910
diff --git a/view/css/bootstrap-red.css b/view/css/bootstrap-red.css
index 849ea3906..5d9bb6e90 100644
--- a/view/css/bootstrap-red.css
+++ b/view/css/bootstrap-red.css
@@ -1,11 +1,5 @@
/* override some bootstrap settings */
-/* this might be a bug in bootstrap */
-.input-group-addon,
-.input-group-btn {
- width: unset;
-}
-
/* nav overrides */
nav .badge {
@@ -17,8 +11,21 @@ nav .badge {
cursor: pointer;
}
+nav i {
+ font-size: 14px;
+}
+
+nav ul li {
+ max-height: 49px;
+}
+
+nav img {
+ height: 48px;
+ width: 48px;
+ margin-top: 1px;
+}
+
nav .dropdown-menu {
- top: 50px;
max-height: 450px;
max-width: 300px;
overflow-y: auto;
@@ -53,6 +60,10 @@ nav .navbar-collapse .navbar-right {
float: right;
}
+nav .navbar-toggle {
+ margin-bottom: 7px;
+}
+
/* nav overrides end */
.dropdown-menu img {
@@ -68,3 +79,7 @@ nav .navbar-collapse .navbar-right {
code {
white-space: normal;
}
+
+/* Bootstrap assumes that checkboxes are on the left of labels, while it's usually the opposite in Red */
+.field.checkbox input[type="checkbox"] { margin-left: 0px; }
+.field.checkbox label { padding-left: 0px; font-weight: 700}
diff --git a/view/css/conversation.css b/view/css/conversation.css
index 6c9d757b1..7a5ffc2f7 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -8,9 +8,7 @@ code {
/* jot */
-#jot-title,
-#jot-category,
-#jot-pagetitle {
+.jothidden input {
border: 0px;
margin: 0px;
padding: 8px;
@@ -128,7 +126,7 @@ a.wall-item-name-link {
}
.wall-item-content img {
- max-width: 95%;
+ max-width: 100%;
}
.wall-item-title h3 {
@@ -262,4 +260,4 @@ a.wall-item-name-link {
.item-forged {
color: #FF0000;
font-size: 1.5em !important;
-} \ No newline at end of file
+}
diff --git a/view/css/default.css b/view/css/default.css
index 40d5cfc59..56173f932 100644
--- a/view/css/default.css
+++ b/view/css/default.css
@@ -23,10 +23,6 @@ aside#region_1 {
padding: 65px 7px 0px 7px;
}
-aside input[type='text'] {
- width: 100%;
-}
-
section {
width: 100%;
display: table-cell;
diff --git a/view/css/mod_cloud.css b/view/css/mod_cloud.css
new file mode 100644
index 000000000..76ac82690
--- /dev/null
+++ b/view/css/mod_cloud.css
@@ -0,0 +1,43 @@
+#files-mkdir-tools,
+#files-upload-tools,
+[id^="perms-panel-"] {
+ display: none;
+}
+
+[id^="perms-panel-"] {
+ padding: 3px 10px 0px 10px !important;
+}
+
+#attach-code,
+#link-code {
+ display: none;
+}
+
+#cloud-index {
+ width: 100%;
+}
+
+#cloud-index td:nth-child(1){
+ padding: 7px 3px 7px 10px;
+}
+
+#cloud-index th:nth-child(8),
+#cloud-index td:nth-child(8){
+ padding: 7px 3px;
+ white-space: nowrap;
+}
+
+#cloud-index th:nth-child(9),
+#cloud-index td:nth-child(9){
+ padding: 7px 10px 7px 7px;
+ white-space: nowrap;
+}
+
+.cloud-index-tool {
+ padding: 7px 10px;
+}
+
+#files-upload {
+ padding: 4px;
+ width: 100%;
+}
diff --git a/view/css/mod_connect.css b/view/css/mod_connect.css
index d1a46ec48..e1f28484a 100644
--- a/view/css/mod_connect.css
+++ b/view/css/mod_connect.css
@@ -6,6 +6,6 @@
margin-top: 25px;
}
-#sellpage-edit label{
+#sellpage-edit > label {
width: 300px;
-} \ No newline at end of file
+}
diff --git a/view/css/mod_connedit.css b/view/css/mod_connedit.css
index 5bf598062..82cc6bc9d 100644
--- a/view/css/mod_connedit.css
+++ b/view/css/mod_connedit.css
@@ -14,15 +14,31 @@
margin-bottom: 5px !important;
}
-.abook-pending-contact, .abook-permschange {
+.abook-pending-contact, .abook-autotext {
background: orange;
font-weight: bold;
margin: 10px;
padding: 20px 5px 10px;
}
+.abook-permschange {
+ width: 100%;
+}
+
+.abook-perms-steps {
+ float: left;
+ width: 200px;
+ height: 210px;
+ background: orange;
+ font-weight: bold;
+ margin: 10px;
+ padding: 20px 5px 10px;
+
+}
+
.abook-permssave {
margin-left: 10px;
+ clear: both;
}
#contact-slider {
diff --git a/view/css/mod_directory.css b/view/css/mod_directory.css
index bc8054937..20facbaf8 100644
--- a/view/css/mod_directory.css
+++ b/view/css/mod_directory.css
@@ -8,17 +8,23 @@
.directory-photo {
margin-left: 25px;
}
+.directory-photo-img {
+ margin-left: auto;
+ margin-right: auto;
+ display:block;
+ width: 80px;
+ height: 80px;
+}
.directory-details {
text-align: center;
margin-left: 5px;
margin-right: 5px;
}
.directory-item {
- float: left;
- width: 225px;
- height: 260px;
overflow: hidden;
margin: 2px;
+ border-bottom: 2px solid #f1f1f1;
+ padding-bottom: 3px;
}
#directory-search-wrapper {
@@ -42,3 +48,27 @@ div.dirtagblock.widget {
float: left;
width: 225px;
}
+
+.contact-photo {
+ float: left;
+ margin-right: 16px;
+}
+
+.contact-name {
+ font-size: larger;
+}
+
+.contact-info {
+ display: block;
+ overflow: hidden;
+}
+
+.directory-item {
+ margin: 16px;
+}
+.directory-connect {
+ margin-top: 3px;
+ display:block;
+ margin-left:auto;
+ margin-right: auto;
+}
diff --git a/view/css/mod_group.css b/view/css/mod_group.css
index cc5f15843..91d5b2136 100644
--- a/view/css/mod_group.css
+++ b/view/css/mod_group.css
@@ -3,7 +3,7 @@
margin-top: 30px;
}
-#group-edit-form label {
+#group-edit-form > label {
float: left;
width: 300px;
}
diff --git a/view/css/mod_locs.css b/view/css/mod_locs.css
new file mode 100644
index 000000000..95aee6aef
--- /dev/null
+++ b/view/css/mod_locs.css
@@ -0,0 +1,3 @@
+td {
+padding: 10px;
+}
diff --git a/view/css/mod_manage.css b/view/css/mod_manage.css
index 161b46757..bb7ef566d 100644
--- a/view/css/mod_manage.css
+++ b/view/css/mod_manage.css
@@ -1,7 +1,6 @@
#channels-selected {
color: #666666;
font-size: 0.8em;
-
}
#channels-desc {
@@ -14,33 +13,23 @@
.channels-break {
margin-bottom: 15px;
}
-#selected-channel {
- float: left;
- margin-left: 0;
-}
-
-.channels-end.selected {
- clear: both;
-}
-
-#selected-channel .channel-selection {
- clear: both;
- margin: 0 auto 0 auto;
-}
.channel-selection-default {
font-size: 0.8em;
margin-bottom: 10px;
}
-#all-channels .channel-selection {
+.channel-selection {
width: 12em;
height: 16em;
float: left;
- margin: 0 15px 15px 0;
+ text-align: center;
}
-.channels-end {
- clear: both;
+
+.channel-selection img {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
}
.channel-selection-name-link {
@@ -50,7 +39,6 @@
.channel-selection-name-link .channel-name {
padding-top: 10px;
- text-align: left;
word-wrap: break-word;
overflow: hidden;
}
@@ -59,3 +47,7 @@
clear: both;
padding-top: 10px;
}
+
+.selected-channel img {
+ border: 2px solid #ff0000;
+}
diff --git a/view/css/mod_menu.css b/view/css/mod_menu.css
new file mode 100644
index 000000000..6123ea56b
--- /dev/null
+++ b/view/css/mod_menu.css
@@ -0,0 +1,3 @@
+#menulist > li {
+ margin-top: 15px;
+} \ No newline at end of file
diff --git a/view/css/mod_new_channel.css b/view/css/mod_new_channel.css
index 068f4f3a5..397601635 100644
--- a/view/css/mod_new_channel.css
+++ b/view/css/mod_new_channel.css
@@ -22,6 +22,10 @@ h2 {
width: 275px;
}
+.newchannel-role-morehelp {
+ float: left;
+ width: 32px;
+}
.newchannel-input {
float: left;
width: 275px;
diff --git a/view/css/mod_photos.css b/view/css/mod_photos.css
index ed3e2ac26..a2b3459cf 100644
--- a/view/css/mod_photos.css
+++ b/view/css/mod_photos.css
@@ -8,98 +8,23 @@
padding: 7px 10px;
}
-#photo-photo {
- display: table;
- margin: 0 auto;
-}
-
-#photo-photo-end {
- clear: both;
-}
-
-#photo-album-end {
- clear: both;
- margin-bottom: 25px;
-}
-
-#photos-upload-newalbum-div {
- float: left;
- width: 175px;
-}
-
-#photos-upload-noshare {
- margin-bottom: 10px;
-}
-
-#photos-upload-existing-album-text {
- float: left;
- width: 175px;
-}
-#photos-upload-newalbum {
- float: left;
-}
-#photos-upload-album-select {
- float: left;
-}
-
-#photos-upload-spacer {
- margin-top: 25px;
-}
-#photos-upload-new-end, #photos-upload-exist-end {
- clear: both;
-}
-#photos-upload-exist-end {
- margin-bottom: 15px;
-}
-#photos-upload-submit {
- margin-top: 15px;
-}
-
-
-#photos-upload-select-files-text {
- margin-top: 15px;
- margin-bottom: 15px;
-}
-
-#photo-edit-caption-label, #photo-edit-tags-label, #photo-edit-albumname-label, #photo-edit-rotate-label {
- float: left;
- width: 150px;
+.photo-like-rotator {
+ margin-top: 23px;
+ margin-right: 5px;
}
-#photo-edit-perms-end {
- margin-bottom: 15px;
-}
-
-#photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname, #photo-edit-rotate {
- float: left;
- margin-bottom: 25px;
-}
-#photo-edit-link-wrap {
- margin-bottom: 15px;
-}
-
-#photo-edit-caption-end, #photo-edit-tags-end, #photo-edit-albumname-end, #photo-edit-rotate-end {
- clear: both;
-}
-
-#photo-edit-rotate-end {
- margin-bottom: 15px;
+#photo-photo {
+ display: table;
+ margin: 0 auto;
}
-
-#photo-edit-edit,
-#photo-album-edit-wrapper {
+#photo-edit,
+#photo-album-edit-wrapper,
+#photo-upload-form {
display: none;
- padding: 7px 10px;
- margin-bottom: 3px;
}
-#photo-album-edit-submit, #photo-album-edit-drop {
- margin-top: 15px;
- margin-bottom: 15px;
+#photos-upload-choose {
+ padding: 4px;
+ width: 100%;
}
-
-#photos-usage-message {
- line-height: 22px;
-}
-
diff --git a/view/css/mod_profile.css b/view/css/mod_profile.css
new file mode 100644
index 000000000..e1ceae7f7
--- /dev/null
+++ b/view/css/mod_profile.css
@@ -0,0 +1,16 @@
+.aprofile dt {
+ font-weight: bold;
+}
+
+.profile-thing-list {
+ list-style-type: none;
+}
+
+.profile-thing-list img {
+ margin-bottom: 5px;
+}
+
+.profile-thing-list > li {
+ margin-bottom: 15px;
+}
+
diff --git a/view/css/mod_settings.css b/view/css/mod_settings.css
index d0c970989..cd66684f8 100644
--- a/view/css/mod_settings.css
+++ b/view/css/mod_settings.css
@@ -28,7 +28,7 @@ ul#settings-privacy-macros {
margin-bottom: 10px;
}
-#settings-permissions-wrapper .field label{
+#settings-permissions-wrapper .field > label {
width: 350px;
}
@@ -41,11 +41,11 @@ ul#settings-privacy-macros {
margin-bottom: 45px;
}
-#settings-notifications label {
+#settings-notifications .field > label {
margin-left: 20px;
width: 330px;
}
-#settings-notify-desc, #settings-activity-desc {
+#settings-notify-desc, #settings-activity-desc, #settings-vnotify-desc {
font-weight: bold;
margin-bottom: 15px;
}
@@ -63,4 +63,4 @@ ul#settings-privacy-macros {
#settings-channel-menu-end {
clear: both;
margin-bottom: 15px;
-} \ No newline at end of file
+}
diff --git a/view/css/mod_thing.css b/view/css/mod_thing.css
index 125230b38..1b091860b 100644
--- a/view/css/mod_thing.css
+++ b/view/css/mod_thing.css
@@ -4,8 +4,7 @@
margin-left: 0;
}
-
-.thing-label, .field label, .thing-verb-label, .thing-profile-label{
+.thing-label, .field > label, .thing-verb-label, .thing-profile-label{
float: left;
width: 350px;
}
@@ -18,4 +17,4 @@
.thing-field-end {
clear: both;
-} \ No newline at end of file
+}
diff --git a/view/css/widgets.css b/view/css/widgets.css
index 593e051da..4db87e633 100644
--- a/view/css/widgets.css
+++ b/view/css/widgets.css
@@ -7,6 +7,17 @@
margin-top: 0px;
}
+
+.widget .nav-pills > li > a {
+ padding: 6px 10px;
+}
+
+.widget-input {
+ width: 100%;
+ border-top-right-radius: 0px;
+ border-bottom-right-radius: 0px;
+}
+
/* suggest */
.suggest-widget-more {
@@ -23,16 +34,6 @@
margin-top: 15px;
}
-/* search */
-
-#search-text {
- border: 1px solid #ccc;
- padding: 5px;
- line-height: 1.5;
- border-top-right-radius: 0px;
- border-bottom-right-radius: 0px;
-}
-
/* notes */
#note-text {
@@ -49,21 +50,6 @@
}
-/* peoplefind */
-
-#peoplefind-sidebar .btn {
- margin: 10px 0 10px 0;
-}
-
-#side-peoplefind-url {
- margin-top: 5px;
-}
-
-#side-peoplefind-url {
- font-size: 1em;
-}
-
-
/* fileas */
@@ -77,6 +63,10 @@
margin-top: 2px;
}
+#posted-date-selector-drop li:not(:first-child) {
+ margin-top: 2px;
+}
+
/* categories */
diff --git a/view/de/messages.po b/view/de/messages.po
index ae568d05d..247cc2ce9 100644
--- a/view/de/messages.po
+++ b/view/de/messages.po
@@ -24,8 +24,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Red Matrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-10-17 14:18+0000\n"
-"PO-Revision-Date: 2014-10-23 11:52+0000\n"
+"POT-Creation-Date: 2014-11-14 00:04-0800\n"
+"PO-Revision-Date: 2014-11-24 10:45+0000\n"
"Last-Translator: zottel <transifex@zottel.net>\n"
"Language-Team: German (http://www.transifex.com/projects/p/red-matrix/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -34,236 +34,948 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../view/theme/redbasic/php/config.php:84
-msgid "Light (Red Matrix default)"
-msgstr "Hell (RedMatrix-Voreinstellung)"
+#: ../../include/dba/dba_driver.php:132
+#, php-format
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden"
-#: ../../view/theme/redbasic/php/config.php:99
-#: ../../include/ItemObject.php:599 ../../mod/settings.php:519
-#: ../../mod/settings.php:631 ../../mod/settings.php:660
-#: ../../mod/settings.php:684 ../../mod/settings.php:760
-#: ../../mod/settings.php:945 ../../mod/filestorage.php:146
-#: ../../mod/admin.php:414 ../../mod/admin.php:725 ../../mod/admin.php:861
-#: ../../mod/admin.php:994 ../../mod/admin.php:1193 ../../mod/admin.php:1280
-#: ../../mod/photos.php:563 ../../mod/photos.php:672 ../../mod/photos.php:974
-#: ../../mod/photos.php:1014 ../../mod/photos.php:1101 ../../mod/mood.php:135
-#: ../../mod/pdledit.php:58 ../../mod/connedit.php:540 ../../mod/setup.php:307
-#: ../../mod/setup.php:350 ../../mod/invite.php:142 ../../mod/thing.php:284
-#: ../../mod/thing.php:327 ../../mod/connect.php:92 ../../mod/fsuggest.php:108
-#: ../../mod/poke.php:166 ../../mod/group.php:81 ../../mod/appman.php:99
-#: ../../mod/sources.php:104 ../../mod/sources.php:138
-#: ../../mod/import.php:480 ../../mod/mail.php:348 ../../mod/profiles.php:643
-#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/events.php:587
-msgid "Submit"
-msgstr "Bestätigen"
+#: ../../include/photo/photo_driver.php:680 ../../include/photos.php:52
+#: ../../mod/photos.php:91 ../../mod/photos.php:654
+#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:301
+#: ../../mod/profile_photo.php:423
+msgid "Profile Photos"
+msgstr "Profilfotos"
-#: ../../view/theme/redbasic/php/config.php:102
-msgid "Theme settings"
-msgstr "Theme-Einstellungen"
+#: ../../include/conversation.php:120 ../../include/diaspora.php:1923
+#: ../../include/text.php:1747 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/tagger.php:45 ../../mod/like.php:298
+msgid "photo"
+msgstr "Foto"
-#: ../../view/theme/redbasic/php/config.php:103
-msgid "Set scheme"
-msgstr "Schema"
+#: ../../include/conversation.php:123 ../../include/text.php:1750
+#: ../../mod/tagger.php:49
+msgid "event"
+msgstr "Termin"
-#: ../../view/theme/redbasic/php/config.php:104
-msgid "Narrow navbar"
-msgstr "Schmale Navigationsleiste"
+#: ../../include/conversation.php:126 ../../mod/like.php:89
+msgid "channel"
+msgstr "Kanal"
-#: ../../view/theme/redbasic/php/config.php:105
-msgid "Navigation bar background color"
-msgstr "Hintergrundfarbe der Navigationsleiste"
+#: ../../include/conversation.php:148 ../../include/diaspora.php:1923
+#: ../../include/text.php:1753 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/tagger.php:53 ../../mod/like.php:298
+msgid "status"
+msgstr "Status"
-#: ../../view/theme/redbasic/php/config.php:106
-msgid "Navigation bar gradient top color"
-msgstr "Farbverlauf der Navigationsleiste: Farbe oben"
+#: ../../include/conversation.php:150 ../../include/text.php:1755
+#: ../../mod/tagger.php:55
+msgid "comment"
+msgstr "Kommentar"
-#: ../../view/theme/redbasic/php/config.php:107
-msgid "Navigation bar gradient bottom color"
-msgstr "Farbverlauf der Navigationsleiste: Farbe unten"
+#: ../../include/conversation.php:164 ../../include/diaspora.php:1952
+#: ../../mod/like.php:344
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s gefällt %2$ss %3$s"
-#: ../../view/theme/redbasic/php/config.php:108
-msgid "Navigation active button gradient top color"
-msgstr "Navigations-Button aktiv: Farbe für Farbverlauf oben"
+#: ../../include/conversation.php:167 ../../mod/like.php:346
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s gefällt %2$ss %3$s nicht"
-#: ../../view/theme/redbasic/php/config.php:109
-msgid "Navigation active button gradient bottom color"
-msgstr "Navigations-Button aktiv: Farbe für Farbverlauf unten"
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s ist jetzt mit %2$s verbunden"
-#: ../../view/theme/redbasic/php/config.php:110
-msgid "Navigation bar border color "
-msgstr "Farbe für den Rand der Navigationsleiste"
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s stupste %2$s an"
-#: ../../view/theme/redbasic/php/config.php:111
-msgid "Navigation bar icon color "
-msgstr "Farbe für die Icons der Navigationsleiste"
+#: ../../include/conversation.php:243 ../../include/text.php:905
+msgid "poked"
+msgstr "stupste"
-#: ../../view/theme/redbasic/php/config.php:112
-msgid "Navigation bar active icon color "
-msgstr "Farbe für aktive Icons der Navigationsleiste"
+#: ../../include/conversation.php:261 ../../mod/mood.php:63
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s ist %2$s"
-#: ../../view/theme/redbasic/php/config.php:113
-msgid "link color"
-msgstr "Farbe für Links"
+#: ../../include/conversation.php:637 ../../include/ItemObject.php:126
+msgid "Select"
+msgstr "Auswählen"
-#: ../../view/theme/redbasic/php/config.php:114
-msgid "Set font-color for banner"
-msgstr "Farbe der Schrift des Banners"
+#: ../../include/conversation.php:638 ../../include/RedDAV/RedBrowser.php:251
+#: ../../include/apps.php:250 ../../include/ItemObject.php:120
+#: ../../mod/photos.php:1069 ../../mod/connedit.php:476
+#: ../../mod/thing.php:234 ../../mod/settings.php:612 ../../mod/group.php:176
+#: ../../mod/admin.php:730 ../../mod/admin.php:861
+msgid "Delete"
+msgstr "Löschen"
-#: ../../view/theme/redbasic/php/config.php:115
-msgid "Set the background color"
-msgstr "Hintergrundfarbe"
+#: ../../include/conversation.php:645 ../../include/ItemObject.php:89
+msgid "Private Message"
+msgstr "Private Nachricht"
-#: ../../view/theme/redbasic/php/config.php:116
-msgid "Set the background image"
-msgstr "Hintergrundbild"
+#: ../../include/conversation.php:652 ../../include/ItemObject.php:194
+msgid "Message signature validated"
+msgstr "Signatur überprüft"
-#: ../../view/theme/redbasic/php/config.php:117
-msgid "Set the background color of items"
-msgstr "Hintergrundfarbe für Beiträge"
+#: ../../include/conversation.php:653 ../../include/ItemObject.php:195
+msgid "Message signature incorrect"
+msgstr "Signatur nicht korrekt"
-#: ../../view/theme/redbasic/php/config.php:118
-msgid "Set the background color of comments"
-msgstr "Hintergrundfarbe für Kommentare"
+#: ../../include/conversation.php:674
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "%ss Profil auf %s ansehen"
-#: ../../view/theme/redbasic/php/config.php:119
-msgid "Set the border color of comments"
-msgstr "Farbe des Randes von Kommentaren"
+#: ../../include/conversation.php:689
+msgid "Categories:"
+msgstr "Kategorien:"
-#: ../../view/theme/redbasic/php/config.php:120
-msgid "Set the indent for comments"
-msgstr "Einzug für Kommentare"
+#: ../../include/conversation.php:690
+msgid "Filed under:"
+msgstr "Gespeichert unter:"
-#: ../../view/theme/redbasic/php/config.php:121
-msgid "Set the basic color for item icons"
-msgstr "Grundfarbe für Beitrags-Icons"
+#: ../../include/conversation.php:698 ../../include/ItemObject.php:265
+#, php-format
+msgid " from %s"
+msgstr "von %s"
-#: ../../view/theme/redbasic/php/config.php:122
-msgid "Set the hover color for item icons"
-msgstr "Farbe für Beitrags-Icons unter dem Mauszeiger"
+#: ../../include/conversation.php:701 ../../include/ItemObject.php:268
+#, php-format
+msgid "last edited: %s"
+msgstr "zuletzt bearbeitet: %s"
-#: ../../view/theme/redbasic/php/config.php:123
-msgid "Set font-size for the entire application"
-msgstr "Schriftgröße für die ganze Applikation"
+#: ../../include/conversation.php:702 ../../include/ItemObject.php:269
+#, php-format
+msgid "Expires: %s"
+msgstr "Verfällt: %s"
-#: ../../view/theme/redbasic/php/config.php:124
-msgid "Set font-size for posts and comments"
-msgstr "Schriftgröße für Beiträge und Kommentare"
+#: ../../include/conversation.php:717
+msgid "View in context"
+msgstr "Im Zusammenhang anschauen"
-#: ../../view/theme/redbasic/php/config.php:125
-msgid "Set font-color for posts and comments"
-msgstr "Schriftfarbe für Posts und Kommentare"
+#: ../../include/conversation.php:719 ../../include/conversation.php:1153
+#: ../../include/ItemObject.php:310 ../../mod/photos.php:977
+#: ../../mod/editblock.php:152 ../../mod/editlayout.php:148
+#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:183
+#: ../../mod/mail.php:234 ../../mod/mail.php:349
+msgid "Please wait"
+msgstr "Bitte warten"
-#: ../../view/theme/redbasic/php/config.php:126
-msgid "Set radius of corners"
-msgstr "Ecken-Radius"
+#: ../../include/conversation.php:843
+msgid "remove"
+msgstr "lösche"
-#: ../../view/theme/redbasic/php/config.php:127
-msgid "Set shadow depth of photos"
-msgstr "Schattentiefe von Fotos"
+#: ../../include/conversation.php:847 ../../include/nav.php:257
+msgid "Loading..."
+msgstr "Lädt ..."
-#: ../../view/theme/redbasic/php/config.php:128
-msgid "Set maximum width of conversation regions"
-msgstr "Maximalbreite der Unterhaltungsbereiche"
+#: ../../include/conversation.php:848
+msgid "Delete Selected Items"
+msgstr "Lösche die ausgewählten Elemente"
-#: ../../view/theme/redbasic/php/config.php:129
-msgid "Center conversation regions"
-msgstr "Konversationsbereich zentrieren"
+#: ../../include/conversation.php:942
+msgid "View Source"
+msgstr "Quelle anzeigen"
-#: ../../view/theme/redbasic/php/config.php:130
-msgid "Set minimum opacity of nav bar - to hide it"
-msgstr "Mindest-Deckkraft der Navigationsleiste ( - versteckt sie)"
+#: ../../include/conversation.php:943
+msgid "Follow Thread"
+msgstr "Unterhaltung folgen"
-#: ../../view/theme/redbasic/php/config.php:131
-msgid "Set size of conversation author photo"
-msgstr "Größe der Avatare von Themenstartern"
+#: ../../include/conversation.php:944
+msgid "View Status"
+msgstr "Status ansehen"
-#: ../../view/theme/redbasic/php/config.php:132
-msgid "Set size of followup author photos"
-msgstr "Größe der Avatare von Kommentatoren"
+#: ../../include/conversation.php:945 ../../include/nav.php:99
+#: ../../mod/connedit.php:429 ../../mod/connedit.php:544
+msgid "View Profile"
+msgstr "Profil ansehen"
-#: ../../view/theme/redbasic/php/config.php:133
-msgid "Sloppy photo albums"
-msgstr "Schräge Fotoalben"
+#: ../../include/conversation.php:946
+msgid "View Photos"
+msgstr "Fotos ansehen"
-#: ../../view/theme/redbasic/php/config.php:133
-msgid "Are you a clean desk or a messy desk person?"
-msgstr "Bist Du jemand, der einen aufgeräumten Schreibtisch hat, oder eher einen chaotischen?"
+#: ../../include/conversation.php:947
+msgid "Matrix Activity"
+msgstr "Matrix-Aktivität"
-#: ../../boot.php:1294
+#: ../../include/conversation.php:948 ../../include/widgets.php:135
+#: ../../include/widgets.php:175 ../../include/Contact.php:107
+#: ../../include/identity.php:840 ../../mod/directory.php:224
+#: ../../mod/suggest.php:51 ../../mod/match.php:62
+msgid "Connect"
+msgstr "Verbinden"
+
+#: ../../include/conversation.php:949
+msgid "Edit Contact"
+msgstr "Kontakt bearbeiten"
+
+#: ../../include/conversation.php:950
+msgid "Send PM"
+msgstr "Sende PN"
+
+#: ../../include/conversation.php:951 ../../include/apps.php:143
+msgid "Poke"
+msgstr "Anstupsen"
+
+#: ../../include/conversation.php:1003 ../../include/RedDAV/RedBrowser.php:163
+#: ../../include/apps.php:331 ../../include/apps.php:382
+#: ../../mod/photos.php:713 ../../mod/photos.php:1131
+#: ../../mod/connedit.php:512
+msgid "Unknown"
+msgstr "Unbekannt"
+
+#: ../../include/conversation.php:1024
#, php-format
-msgid "Update %s failed. See error logs."
-msgstr "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen."
+msgid "%s likes this."
+msgstr "%s gefällt das."
-#: ../../boot.php:1297
+#: ../../include/conversation.php:1024
#, php-format
-msgid "Update Error at %s"
-msgstr "Aktualisierungsfehler auf %s"
+msgid "%s doesn't like this."
+msgstr "%s gefällt das nicht."
-#: ../../boot.php:1471
-msgid ""
-"Create an account to access services and applications within the Red Matrix"
-msgstr "Erstelle einen Account, um Anwendungen und Dienste innerhalb der Red-Matrix verwenden zu können."
+#: ../../include/conversation.php:1028
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>%2$d Person</span> gefällt das."
+msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das."
-#: ../../boot.php:1472 ../../include/nav.php:163 ../../mod/register.php:220
-msgid "Register"
-msgstr "Registrieren"
+#: ../../include/conversation.php:1030
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>%2$d Person</span> gefällt das nicht."
+msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das nicht."
-#: ../../boot.php:1495 ../../include/nav.php:95 ../../include/nav.php:128
-msgid "Logout"
-msgstr "Abmelden"
+#: ../../include/conversation.php:1036
+msgid "and"
+msgstr "und"
-#: ../../boot.php:1496 ../../include/nav.php:125 ../../include/apps.php:129
-msgid "Login"
-msgstr "Anmelden"
+#: ../../include/conversation.php:1039
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ", und %d andere"
-#: ../../boot.php:1498 ../../include/contact_selectors.php:79
-#: ../../mod/admin.php:728 ../../mod/admin.php:737
-msgid "Email"
-msgstr "E-Mail"
+#: ../../include/conversation.php:1040
+#, php-format
+msgid "%s like this."
+msgstr "%s gefällt das."
-#: ../../boot.php:1499
-msgid "Password"
-msgstr "Kennwort"
+#: ../../include/conversation.php:1040
+#, php-format
+msgid "%s don't like this."
+msgstr "%s gefällt das nicht."
-#: ../../boot.php:1500
-msgid "Remember me"
-msgstr "Angaben speichern"
+#: ../../include/conversation.php:1097
+msgid "Visible to <strong>everybody</strong>"
+msgstr "Sichtbar für <strong>jeden</strong>"
-#: ../../boot.php:1505
-msgid "Forgot your password?"
-msgstr "Passwort vergessen?"
+#: ../../include/conversation.php:1098 ../../mod/mail.php:170
+#: ../../mod/mail.php:282
+msgid "Please enter a link URL:"
+msgstr "Gib eine URL ein:"
-#: ../../boot.php:1506 ../../mod/lostpass.php:85
-msgid "Password Reset"
-msgstr "Zurücksetzen des Kennworts"
+#: ../../include/conversation.php:1099
+msgid "Please enter a video link/URL:"
+msgstr "Gib einen Video-Link/URL ein:"
-#: ../../boot.php:1570
-msgid "permission denied"
-msgstr "Zugriff verweigert"
+#: ../../include/conversation.php:1100
+msgid "Please enter an audio link/URL:"
+msgstr "Gib einen Audio-Link/URL ein:"
-#: ../../boot.php:1571
-msgid "Got Zot?"
-msgstr "Haste schon Zot?"
+#: ../../include/conversation.php:1101
+msgid "Tag term:"
+msgstr "Schlagwort:"
-#: ../../boot.php:2001
-msgid "toggle mobile"
-msgstr "auf/von mobile Ansicht wechseln"
+#: ../../include/conversation.php:1102 ../../mod/filer.php:49
+msgid "Save to Folder:"
+msgstr "Speichern in Ordner:"
-#: ../../include/auth.php:116
-msgid "Logged out."
-msgstr "Ausgeloggt."
+#: ../../include/conversation.php:1103
+msgid "Where are you right now?"
+msgstr "Wo bist Du jetzt grade?"
-#: ../../include/auth.php:257
-msgid "Failed authentication"
-msgstr "Authentifizierung fehlgeschlagen"
+#: ../../include/conversation.php:1104 ../../mod/editpost.php:52
+#: ../../mod/mail.php:171 ../../mod/mail.php:283
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Verfällt YYYY-MM-DD HH;MM"
-#: ../../include/auth.php:271 ../../mod/openid.php:190
-msgid "Login failed."
-msgstr "Login fehlgeschlagen."
+#: ../../include/conversation.php:1114 ../../include/page_widgets.php:40
+#: ../../include/ItemObject.php:608 ../../mod/photos.php:997
+#: ../../mod/webpages.php:166 ../../mod/editblock.php:173
+#: ../../mod/editlayout.php:168 ../../mod/editpost.php:140
+#: ../../mod/editwebpage.php:205
+msgid "Preview"
+msgstr "Vorschau"
-#: ../../include/comanche.php:35
-msgid "Default"
-msgstr "Standard"
+#: ../../include/conversation.php:1128 ../../mod/photos.php:976
+#: ../../mod/editblock.php:198 ../../mod/editlayout.php:193
+#: ../../mod/editwebpage.php:230 ../../mod/layouts.php:168
+msgid "Share"
+msgstr "Teilen"
+
+#: ../../include/conversation.php:1130 ../../mod/editwebpage.php:170
+msgid "Page link title"
+msgstr "Seitentitel-Link"
+
+#: ../../include/conversation.php:1133
+msgid "Post as"
+msgstr "Posten als"
+
+#: ../../include/conversation.php:1134 ../../mod/editblock.php:144
+#: ../../mod/editlayout.php:140 ../../mod/editpost.php:113
+#: ../../mod/editwebpage.php:175 ../../mod/mail.php:231 ../../mod/mail.php:345
+msgid "Upload photo"
+msgstr "Foto hochladen"
+
+#: ../../include/conversation.php:1135
+msgid "upload photo"
+msgstr "Foto hochladen"
+
+#: ../../include/conversation.php:1136 ../../mod/editblock.php:145
+#: ../../mod/editlayout.php:141 ../../mod/editpost.php:114
+#: ../../mod/editwebpage.php:176 ../../mod/mail.php:232 ../../mod/mail.php:346
+msgid "Attach file"
+msgstr "Datei anhängen"
+
+#: ../../include/conversation.php:1137
+msgid "attach file"
+msgstr "Datei anfügen"
+
+#: ../../include/conversation.php:1138 ../../mod/editblock.php:146
+#: ../../mod/editlayout.php:142 ../../mod/editpost.php:115
+#: ../../mod/editwebpage.php:177 ../../mod/mail.php:233 ../../mod/mail.php:347
+msgid "Insert web link"
+msgstr "Link einfügen"
+
+#: ../../include/conversation.php:1139
+msgid "web link"
+msgstr "Web-Link"
+
+#: ../../include/conversation.php:1140
+msgid "Insert video link"
+msgstr "Video-Link einfügen"
+
+#: ../../include/conversation.php:1141
+msgid "video link"
+msgstr "Video-Link"
+
+#: ../../include/conversation.php:1142
+msgid "Insert audio link"
+msgstr "Audio-Link einfügen"
+
+#: ../../include/conversation.php:1143
+msgid "audio link"
+msgstr "Audio-Link"
+
+#: ../../include/conversation.php:1144 ../../mod/editblock.php:150
+#: ../../mod/editlayout.php:146 ../../mod/editpost.php:119
+#: ../../mod/editwebpage.php:181
+msgid "Set your location"
+msgstr "Standort"
+
+#: ../../include/conversation.php:1145
+msgid "set location"
+msgstr "Standort"
+
+#: ../../include/conversation.php:1146 ../../mod/editblock.php:151
+#: ../../mod/editlayout.php:147 ../../mod/editpost.php:120
+#: ../../mod/editwebpage.php:182
+msgid "Clear browser location"
+msgstr "Browser-Standort löschen"
+
+#: ../../include/conversation.php:1147
+msgid "clear location"
+msgstr "Standort löschen"
+
+#: ../../include/conversation.php:1149 ../../mod/editblock.php:164
+#: ../../mod/editlayout.php:159 ../../mod/editpost.php:132
+#: ../../mod/editwebpage.php:198
+msgid "Set title"
+msgstr "Titel"
+
+#: ../../include/conversation.php:1152 ../../mod/events.php:563
+#: ../../mod/editblock.php:167 ../../mod/editlayout.php:162
+#: ../../mod/editpost.php:134 ../../mod/editwebpage.php:200
+msgid "Categories (comma-separated list)"
+msgstr "Kategorien (Kommagetrennte Liste)"
+
+#: ../../include/conversation.php:1154 ../../mod/editblock.php:153
+#: ../../mod/editlayout.php:149 ../../mod/editpost.php:122
+#: ../../mod/editwebpage.php:184
+msgid "Permission settings"
+msgstr "Berechtigungs-Einstellungen"
+
+#: ../../include/conversation.php:1155
+msgid "permissions"
+msgstr "Berechtigungen"
+
+#: ../../include/conversation.php:1162 ../../mod/editblock.php:161
+#: ../../mod/editlayout.php:156 ../../mod/editpost.php:129
+#: ../../mod/editwebpage.php:193
+msgid "Public post"
+msgstr "Öffentlicher Beitrag"
+
+#: ../../include/conversation.php:1164 ../../mod/editblock.php:168
+#: ../../mod/editlayout.php:163 ../../mod/editpost.php:135
+#: ../../mod/editwebpage.php:201
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Beispiel: bob@example.com, mary@example.com"
+
+#: ../../include/conversation.php:1177 ../../mod/editblock.php:178
+#: ../../mod/editlayout.php:173 ../../mod/editpost.php:146
+#: ../../mod/editwebpage.php:210 ../../mod/mail.php:238 ../../mod/mail.php:352
+msgid "Set expiration date"
+msgstr "Verfallsdatum"
+
+#: ../../include/conversation.php:1179 ../../include/ItemObject.php:611
+#: ../../mod/editpost.php:148 ../../mod/mail.php:240 ../../mod/mail.php:354
+msgid "Encrypt text"
+msgstr "Text verschlüsseln"
+
+#: ../../include/conversation.php:1181 ../../mod/events.php:569
+#: ../../mod/editpost.php:150
+msgid "OK"
+msgstr "Ok"
+
+#: ../../include/conversation.php:1182 ../../mod/events.php:568
+#: ../../mod/editpost.php:151 ../../mod/settings.php:550
+#: ../../mod/settings.php:576 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: ../../include/conversation.php:1426
+msgid "Discover"
+msgstr "Entdecken"
+
+#: ../../include/conversation.php:1429
+msgid "Imported public streams"
+msgstr "Importierte öffentliche Beiträge"
+
+#: ../../include/conversation.php:1434
+msgid "Commented Order"
+msgstr "Neueste Kommentare"
+
+#: ../../include/conversation.php:1437
+msgid "Sort by Comment Date"
+msgstr "Nach Kommentardatum sortiert"
+
+#: ../../include/conversation.php:1441
+msgid "Posted Order"
+msgstr "Neueste Beiträge"
+
+#: ../../include/conversation.php:1444
+msgid "Sort by Post Date"
+msgstr "Nach Beitragsdatum sortiert"
+
+#: ../../include/conversation.php:1449 ../../include/widgets.php:89
+msgid "Personal"
+msgstr "Persönlich"
+
+#: ../../include/conversation.php:1452
+msgid "Posts that mention or involve you"
+msgstr "Beiträge mit Beteiligung Deinerseits"
+
+#: ../../include/conversation.php:1458 ../../mod/connections.php:211
+#: ../../mod/connections.php:224 ../../mod/menu.php:80
+msgid "New"
+msgstr "Neu"
+
+#: ../../include/conversation.php:1461
+msgid "Activity Stream - by date"
+msgstr "Activity Stream – nach Datum sortiert"
+
+#: ../../include/conversation.php:1467
+msgid "Starred"
+msgstr "Markiert"
+
+#: ../../include/conversation.php:1470
+msgid "Favourite Posts"
+msgstr "Markierte Beiträge"
+
+#: ../../include/conversation.php:1477
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1480
+msgid "Posts flagged as SPAM"
+msgstr "Nachrichten, die als SPAM markiert wurden"
+
+#: ../../include/conversation.php:1520 ../../mod/admin.php:865
+msgid "Channel"
+msgstr "Kanal"
+
+#: ../../include/conversation.php:1523
+msgid "Status Messages and Posts"
+msgstr "Statusnachrichten und Beiträge"
+
+#: ../../include/conversation.php:1532
+msgid "About"
+msgstr "Ãœber"
+
+#: ../../include/conversation.php:1535
+msgid "Profile Details"
+msgstr "Profil-Details"
+
+#: ../../include/conversation.php:1541 ../../include/nav.php:105
+#: ../../include/apps.php:137 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Fotos"
+
+#: ../../include/conversation.php:1544 ../../include/photos.php:341
+msgid "Photo Albums"
+msgstr "Fotoalben"
+
+#: ../../include/conversation.php:1550 ../../include/RedDAV/RedBrowser.php:241
+#: ../../include/nav.php:106 ../../include/apps.php:133
+#: ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "Dateien"
+
+#: ../../include/conversation.php:1553
+msgid "Files and Storage"
+msgstr "Dateien und Speicher"
+
+#: ../../include/conversation.php:1563 ../../include/conversation.php:1566
+msgid "Chatrooms"
+msgstr "Chaträume"
+
+#: ../../include/conversation.php:1576 ../../include/nav.php:117
+#: ../../include/apps.php:127
+msgid "Bookmarks"
+msgstr "Lesezeichen"
+
+#: ../../include/conversation.php:1579
+msgid "Saved Bookmarks"
+msgstr "Gespeicherte Lesezeichen"
+
+#: ../../include/conversation.php:1587 ../../include/nav.php:121
+#: ../../include/apps.php:134 ../../mod/webpages.php:160
+msgid "Webpages"
+msgstr "Webseiten"
+
+#: ../../include/conversation.php:1590
+msgid "Manage Webpages"
+msgstr "Webseiten verwalten"
+
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr "Neuer Beitrag wurde erzeugt"
+
+#: ../../include/notify.php:24
+#, php-format
+msgid "commented on %s's post"
+msgstr "hat %s's Beitrag kommentiert"
+
+#: ../../include/dir_fns.php:56
+msgid "Sort Options"
+msgstr "Sortieroptionen"
+
+#: ../../include/dir_fns.php:57
+msgid "Alphabetic"
+msgstr "alphabetisch"
+
+#: ../../include/dir_fns.php:58
+msgid "Reverse Alphabetic"
+msgstr "Entgegengesetzt alphabetisch"
+
+#: ../../include/dir_fns.php:59
+msgid "Newest to Oldest"
+msgstr "Neueste zuerst"
+
+#: ../../include/dir_fns.php:71
+msgid "Enable Safe Search"
+msgstr "Sichere Suche einschalten"
+
+#: ../../include/dir_fns.php:73
+msgid "Disable Safe Search"
+msgstr "Sichere Suche ausschalten"
+
+#: ../../include/dir_fns.php:75
+msgid "Safe Mode"
+msgstr "Sicherer Modus"
+
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Neue Seite"
+
+#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../include/RedDAV/RedBrowser.php:250 ../../include/menu.php:42
+#: ../../include/apps.php:249 ../../include/ItemObject.php:100
+#: ../../mod/blocks.php:132 ../../mod/connections.php:381
+#: ../../mod/connections.php:394 ../../mod/connections.php:413
+#: ../../mod/thing.php:233 ../../mod/webpages.php:162
+#: ../../mod/editblock.php:143 ../../mod/editlayout.php:139
+#: ../../mod/editpost.php:112 ../../mod/settings.php:611
+#: ../../mod/editwebpage.php:174 ../../mod/layouts.php:167
+#: ../../mod/menu.php:78
+msgid "Edit"
+msgstr "Bearbeiten"
+
+#: ../../include/page_widgets.php:39 ../../mod/blocks.php:135
+#: ../../mod/webpages.php:165 ../../mod/layouts.php:171
+msgid "View"
+msgstr "Ansicht"
+
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:167
+msgid "Actions"
+msgstr "Aktionen"
+
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:168
+msgid "Page Link"
+msgstr "Seiten-Link"
+
+#: ../../include/page_widgets.php:43 ../../mod/webpages.php:169
+msgid "Title"
+msgstr "Titel"
+
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:170
+msgid "Created"
+msgstr "Erstellt"
+
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:171
+msgid "Edited"
+msgstr "Geändert"
+
+#: ../../include/chat.php:10
+msgid "Missing room name"
+msgstr "Der Chatraum hat keinen Namen"
+
+#: ../../include/chat.php:19
+msgid "Duplicate room name"
+msgstr "Name des Chatraums bereits vergeben"
+
+#: ../../include/chat.php:68 ../../include/chat.php:76
+msgid "Invalid room specifier."
+msgstr "Ungültiger Raumbezeichner."
+
+#: ../../include/chat.php:105
+msgid "Room not found."
+msgstr "Chatraum konnte nicht gefunden werden."
+
+#: ../../include/chat.php:116 ../../include/items.php:4013
+#: ../../include/attach.php:116 ../../include/attach.php:163
+#: ../../include/attach.php:226 ../../include/attach.php:240
+#: ../../include/attach.php:280 ../../include/attach.php:294
+#: ../../include/attach.php:318 ../../include/attach.php:511
+#: ../../include/attach.php:584 ../../include/photos.php:15
+#: ../../mod/mood.php:112 ../../mod/mitem.php:106
+#: ../../mod/achievements.php:30 ../../mod/profiles.php:179
+#: ../../mod/profiles.php:550 ../../mod/setup.php:207 ../../mod/poke.php:128
+#: ../../mod/api.php:26 ../../mod/api.php:31 ../../mod/authtest.php:13
+#: ../../mod/profile.php:64 ../../mod/profile.php:72 ../../mod/block.php:22
+#: ../../mod/block.php:72 ../../mod/sources.php:66 ../../mod/blocks.php:67
+#: ../../mod/blocks.php:75 ../../mod/register.php:72 ../../mod/events.php:195
+#: ../../mod/channel.php:89 ../../mod/channel.php:193
+#: ../../mod/channel.php:236 ../../mod/chat.php:90 ../../mod/chat.php:95
+#: ../../mod/regmod.php:17 ../../mod/network.php:12 ../../mod/common.php:35
+#: ../../mod/photos.php:68 ../../mod/connections.php:169
+#: ../../mod/manage.php:6 ../../mod/connedit.php:266 ../../mod/thing.php:247
+#: ../../mod/thing.php:264 ../../mod/thing.php:299 ../../mod/webpages.php:67
+#: ../../mod/bookmarks.php:46 ../../mod/editblock.php:65
+#: ../../mod/pdledit.php:21 ../../mod/editlayout.php:64
+#: ../../mod/editlayout.php:89 ../../mod/editpost.php:13
+#: ../../mod/settings.php:526 ../../mod/editwebpage.php:64
+#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:118
+#: ../../mod/profile_photo.php:263 ../../mod/profile_photo.php:276
+#: ../../mod/fsuggest.php:78 ../../mod/filestorage.php:18
+#: ../../mod/filestorage.php:67 ../../mod/filestorage.php:82
+#: ../../mod/filestorage.php:109 ../../mod/delegate.php:6
+#: ../../mod/group.php:9 ../../mod/suggest.php:26 ../../mod/item.php:191
+#: ../../mod/item.php:199 ../../mod/item.php:971 ../../mod/like.php:154
+#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/locs.php:71
+#: ../../mod/layouts.php:67 ../../mod/layouts.php:74 ../../mod/layouts.php:85
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/viewsrc.php:14 ../../mod/mail.php:111 ../../mod/menu.php:61
+#: ../../mod/message.php:16 ../../mod/new_channel.php:68
+#: ../../mod/new_channel.php:99 ../../mod/notifications.php:66
+#: ../../mod/page.php:28 ../../mod/page.php:78 ../../mod/appman.php:66
+#: ../../mod/service_limits.php:7 ../../index.php:190 ../../index.php:390
+msgid "Permission denied."
+msgstr "Zugang verweigert"
+
+#: ../../include/chat.php:126
+msgid "Room is full"
+msgstr "Der Raum ist voll"
+
+#: ../../include/oembed.php:171
+msgid "Embedded content"
+msgstr "Eingebetteter Inhalt"
+
+#: ../../include/oembed.php:180
+msgid "Embedding disabled"
+msgstr "Einbetten ausgeschaltet"
+
+#: ../../include/widgets.php:29 ../../include/contact_widgets.php:92
+#: ../../include/taxonomy.php:230
+msgid "Categories"
+msgstr "Kategorien"
+
+#: ../../include/widgets.php:86 ../../include/nav.php:171
+#: ../../mod/apps.php:33
+msgid "Apps"
+msgstr "Apps"
+
+#: ../../include/widgets.php:87
+msgid "System"
+msgstr "System"
+
+#: ../../include/widgets.php:90
+msgid "Create Personal App"
+msgstr "Persönliche App erstellen"
+
+#: ../../include/widgets.php:91
+msgid "Edit Personal App"
+msgstr "Persönliche App bearbeiten"
+
+#: ../../include/widgets.php:137 ../../mod/suggest.php:53
+msgid "Ignore/Hide"
+msgstr "Ignorieren/Verstecken"
+
+#: ../../include/widgets.php:143 ../../mod/connections.php:267
+msgid "Suggestions"
+msgstr "Vorschläge"
+
+#: ../../include/widgets.php:144
+msgid "See more..."
+msgstr "Mehr anzeigen …"
+
+#: ../../include/widgets.php:166
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen."
+
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr "Neue Verbindung hinzufügen"
+
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr "Adresse des Kanals eingeben"
+
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Beispiel: bob@beispiel.com, http://beispiel.com/barbara"
+
+#: ../../include/widgets.php:191
+msgid "Notes"
+msgstr "Notizen"
+
+#: ../../include/widgets.php:193 ../../include/text.php:827
+#: ../../include/text.php:839 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50 ../../mod/admin.php:1339 ../../mod/admin.php:1360
+msgid "Save"
+msgstr "Speichern"
+
+#: ../../include/widgets.php:263
+msgid "Remove term"
+msgstr "Eintrag löschen"
+
+#: ../../include/widgets.php:272 ../../include/features.php:58
+msgid "Saved Searches"
+msgstr "Gespeicherte Suchanfragen"
+
+#: ../../include/widgets.php:273 ../../include/group.php:303
+msgid "add"
+msgstr "hinzufügen"
+
+#: ../../include/widgets.php:303 ../../include/contact_widgets.php:57
+#: ../../include/features.php:72
+msgid "Saved Folders"
+msgstr "Gespeicherte Ordner"
+
+#: ../../include/widgets.php:306 ../../include/contact_widgets.php:60
+#: ../../include/contact_widgets.php:95
+msgid "Everything"
+msgstr "Alles"
+
+#: ../../include/widgets.php:352
+msgid "Archives"
+msgstr "Archive"
+
+#: ../../include/widgets.php:428
+msgid "Refresh"
+msgstr "Aktualisieren"
+
+#: ../../include/widgets.php:429 ../../mod/connedit.php:506
+msgid "Me"
+msgstr "Ich"
+
+#: ../../include/widgets.php:430 ../../mod/connedit.php:508
+msgid "Best Friends"
+msgstr "Beste Freunde"
+
+#: ../../include/widgets.php:431 ../../include/identity.php:387
+#: ../../include/identity.php:388 ../../include/identity.php:395
+#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:509
+#: ../../mod/settings.php:304 ../../mod/settings.php:308
+#: ../../mod/settings.php:309 ../../mod/settings.php:312
+#: ../../mod/settings.php:323
+msgid "Friends"
+msgstr "Freunde"
+
+#: ../../include/widgets.php:432
+msgid "Co-workers"
+msgstr "Kollegen"
+
+#: ../../include/widgets.php:433 ../../mod/connedit.php:510
+msgid "Former Friends"
+msgstr "ehem. Freunde"
+
+#: ../../include/widgets.php:434 ../../mod/connedit.php:511
+msgid "Acquaintances"
+msgstr "Bekannte"
+
+#: ../../include/widgets.php:435
+msgid "Everybody"
+msgstr "Jeder"
+
+#: ../../include/widgets.php:469
+msgid "Account settings"
+msgstr "Konto-Einstellungen"
+
+#: ../../include/widgets.php:475
+msgid "Channel settings"
+msgstr "Kanal-Einstellungen"
+
+#: ../../include/widgets.php:481
+msgid "Additional features"
+msgstr "Zusätzliche Funktionen"
+
+#: ../../include/widgets.php:487
+msgid "Feature settings"
+msgstr "Funktions-Einstellungen"
+
+#: ../../include/widgets.php:493
+msgid "Display settings"
+msgstr "Anzeige-Einstellungen"
+
+#: ../../include/widgets.php:499
+msgid "Connected apps"
+msgstr "Verbundene Apps"
+
+#: ../../include/widgets.php:505
+msgid "Export channel"
+msgstr "Kanal exportieren"
+
+#: ../../include/widgets.php:511
+msgid "Export content"
+msgstr "Kanal-Inhalte exportieren"
+
+#: ../../include/widgets.php:520 ../../mod/connedit.php:538
+msgid "Connection Default Permissions"
+msgstr "Standardzugriffsrechte für neue Verbindungen:"
+
+#: ../../include/widgets.php:528
+msgid "Premium Channel Settings"
+msgstr "Premium-Kanal-Einstellungen"
+
+#: ../../include/widgets.php:537 ../../include/features.php:49
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Kanal-Quellen"
+
+#: ../../include/widgets.php:548 ../../include/nav.php:218
+#: ../../include/apps.php:132 ../../mod/admin.php:951 ../../mod/admin.php:1156
+msgid "Settings"
+msgstr "Einstellungen"
+
+#: ../../include/widgets.php:562 ../../mod/mail.php:124
+#: ../../mod/message.php:31
+msgid "Messages"
+msgstr "Nachrichten"
+
+#: ../../include/widgets.php:567
+msgid "Check Mail"
+msgstr "E-Mails abrufen"
+
+#: ../../include/widgets.php:572 ../../include/nav.php:209
+msgid "New Message"
+msgstr "Neue Nachricht"
+
+#: ../../include/widgets.php:648
+msgid "Chat Rooms"
+msgstr "Chaträume"
+
+#: ../../include/widgets.php:666
+msgid "Bookmarked Chatrooms"
+msgstr "Gespeicherte Chatrooms"
+
+#: ../../include/widgets.php:684
+msgid "Suggested Chatrooms"
+msgstr "Chatraum-Vorschläge"
+
+#: ../../include/zot.php:664
+msgid "Invalid data packet"
+msgstr "Ungültiges Datenpaket"
+
+#: ../../include/zot.php:680
+msgid "Unable to verify channel signature"
+msgstr "Konnte die Signatur des Kanals nicht verifizieren"
+
+#: ../../include/zot.php:1799
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
+
+#: ../../include/activities.php:39
+msgid " and "
+msgstr "und"
+
+#: ../../include/activities.php:47
+msgid "public profile"
+msgstr "öffentliches Profil"
+
+#: ../../include/activities.php:52
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s hat %2$s auf &ldquo;%3$s&rdquo; geändert"
+
+#: ../../include/activities.php:53
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Besuche %1$s's %2$s"
+
+#: ../../include/activities.php:56
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s hat ein aktualisiertes %2$s, %3$s wurde verändert."
+
+#: ../../include/bb2diaspora.php:384
+msgid "Attachments:"
+msgstr "Anhänge:"
+
+#: ../../include/bb2diaspora.php:463 ../../include/event.php:11
+msgid "l F d, Y \\@ g:i A"
+msgstr "l, d. F Y\\\\, H:i"
+
+#: ../../include/bb2diaspora.php:465
+msgid "Redmatrix event notification:"
+msgstr "RedMatrix Termin-Benachrichtigung:"
+
+#: ../../include/bb2diaspora.php:469 ../../include/event.php:20
+msgid "Starts:"
+msgstr "Beginnt:"
+
+#: ../../include/bb2diaspora.php:477 ../../include/event.php:30
+msgid "Finishes:"
+msgstr "Endet:"
+
+#: ../../include/bb2diaspora.php:485 ../../include/event.php:40
+#: ../../include/identity.php:891 ../../mod/directory.php:159
+#: ../../mod/events.php:579
+msgid "Location:"
+msgstr "Ort:"
#: ../../include/RedDAV/RedBrowser.php:106
#: ../../include/RedDAV/RedBrowser.php:249
@@ -272,7 +984,7 @@ msgstr "Ãœbergeordnetes Verzeichnis"
#: ../../include/RedDAV/RedBrowser.php:130
msgid "Collection"
-msgstr "Sammlung"
+msgstr "Ordner"
#: ../../include/RedDAV/RedBrowser.php:133
msgid "Principal"
@@ -294,12 +1006,6 @@ msgstr "Posteingang für überwachte Kalender"
msgid "Schedule Outbox"
msgstr "Postausgang für überwachte Kalender"
-#: ../../include/RedDAV/RedBrowser.php:163 ../../include/apps.php:331
-#: ../../include/apps.php:382 ../../include/conversation.php:1003
-#: ../../mod/connedit.php:498
-msgid "Unknown"
-msgstr "Unbekannt"
-
#: ../../include/RedDAV/RedBrowser.php:223
#, php-format
msgid "%1$s used"
@@ -310,14 +1016,8 @@ msgstr "%1$s verwendet"
msgid "%1$s used of %2$s (%3$s&#37;)"
msgstr "%1$s von %2$s verwendet (%3$s&#37;)"
-#: ../../include/RedDAV/RedBrowser.php:241 ../../include/nav.php:106
-#: ../../include/apps.php:133 ../../include/conversation.php:1546
-#: ../../mod/fbrowser.php:114
-msgid "Files"
-msgstr "Dateien"
-
-#: ../../include/RedDAV/RedBrowser.php:245 ../../mod/settings.php:521
-#: ../../mod/settings.php:547 ../../mod/admin.php:868
+#: ../../include/RedDAV/RedBrowser.php:245 ../../mod/settings.php:551
+#: ../../mod/settings.php:577 ../../mod/admin.php:866
msgid "Name"
msgstr "Name"
@@ -333,120 +1033,134 @@ msgstr "Größe"
msgid "Last Modified"
msgstr "Zuletzt geändert"
-#: ../../include/RedDAV/RedBrowser.php:250 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/menu.php:42
-#: ../../include/ItemObject.php:100 ../../include/apps.php:249
-#: ../../mod/settings.php:581 ../../mod/webpages.php:131
-#: ../../mod/connections.php:381 ../../mod/connections.php:394
-#: ../../mod/connections.php:413 ../../mod/menu.php:59 ../../mod/thing.php:233
-#: ../../mod/editpost.php:112 ../../mod/editwebpage.php:143
-#: ../../mod/blocks.php:99 ../../mod/layouts.php:121
-#: ../../mod/editblock.php:111 ../../mod/editlayout.php:106
-msgid "Edit"
-msgstr "Bearbeiten"
-
-#: ../../include/RedDAV/RedBrowser.php:251 ../../include/ItemObject.php:120
-#: ../../include/apps.php:250 ../../include/conversation.php:638
-#: ../../mod/settings.php:582 ../../mod/admin.php:732 ../../mod/admin.php:863
-#: ../../mod/photos.php:1064 ../../mod/connedit.php:462
-#: ../../mod/thing.php:234 ../../mod/group.php:176
-msgid "Delete"
-msgstr "Löschen"
-
#: ../../include/RedDAV/RedBrowser.php:252
msgid "Total"
msgstr "Summe"
-#: ../../include/RedDAV/RedBrowser.php:304
+#: ../../include/RedDAV/RedBrowser.php:305
msgid "Create new folder"
msgstr "Neuen Ordner anlegen"
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/new_channel.php:122
-#: ../../mod/mitem.php:142 ../../mod/menu.php:84
+#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/mitem.php:169
+#: ../../mod/menu.php:100 ../../mod/new_channel.php:122
msgid "Create"
msgstr "Erstelle"
-#: ../../include/RedDAV/RedBrowser.php:306
+#: ../../include/RedDAV/RedBrowser.php:307
msgid "Upload file"
msgstr "Datei hochladen"
-#: ../../include/RedDAV/RedBrowser.php:307 ../../mod/photos.php:745
-#: ../../mod/photos.php:1226 ../../mod/profile_photo.php:361
+#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/photos.php:738
+#: ../../mod/photos.php:1245 ../../mod/profile_photo.php:361
msgid "Upload"
msgstr "Hochladen"
-#: ../../include/photos.php:15 ../../include/items.php:3994
-#: ../../include/attach.php:116 ../../include/attach.php:163
-#: ../../include/attach.php:226 ../../include/attach.php:240
-#: ../../include/attach.php:280 ../../include/attach.php:294
-#: ../../include/attach.php:318 ../../include/attach.php:511
-#: ../../include/attach.php:584 ../../include/chat.php:116
-#: ../../mod/settings.php:496 ../../mod/filestorage.php:18
-#: ../../mod/filestorage.php:67 ../../mod/filestorage.php:82
-#: ../../mod/filestorage.php:109 ../../mod/webpages.php:40
-#: ../../mod/authtest.php:13 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/connections.php:169
-#: ../../mod/profile.php:64 ../../mod/profile.php:72 ../../mod/photos.php:68
-#: ../../mod/photos.php:526 ../../mod/mitem.php:73 ../../mod/regmod.php:17
-#: ../../mod/mood.php:112 ../../mod/pdledit.php:21
-#: ../../mod/profile_photo.php:263 ../../mod/profile_photo.php:276
-#: ../../mod/menu.php:44 ../../mod/block.php:22 ../../mod/block.php:72
-#: ../../mod/suggest.php:26 ../../mod/connedit.php:254
-#: ../../mod/message.php:16 ../../mod/setup.php:203 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/thing.php:247 ../../mod/thing.php:264
-#: ../../mod/thing.php:299 ../../mod/viewconnections.php:22
-#: ../../mod/viewconnections.php:27 ../../mod/register.php:70
-#: ../../mod/network.php:12 ../../mod/delegate.php:6 ../../mod/fsuggest.php:78
-#: ../../mod/manage.php:6 ../../mod/editpost.php:13
-#: ../../mod/editwebpage.php:44 ../../mod/editwebpage.php:83
-#: ../../mod/poke.php:128 ../../mod/blocks.php:29 ../../mod/blocks.php:44
-#: ../../mod/group.php:9 ../../mod/service_limits.php:7 ../../mod/item.php:182
-#: ../../mod/item.php:190 ../../mod/item.php:929 ../../mod/appman.php:66
-#: ../../mod/sources.php:66 ../../mod/page.php:30 ../../mod/page.php:80
-#: ../../mod/mail.php:111 ../../mod/channel.php:89 ../../mod/channel.php:193
-#: ../../mod/channel.php:236 ../../mod/profiles.php:179
-#: ../../mod/profiles.php:560 ../../mod/bookmarks.php:46
-#: ../../mod/common.php:35 ../../mod/like.php:154 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/chat.php:90 ../../mod/chat.php:95
-#: ../../mod/events.php:200 ../../mod/notifications.php:66
-#: ../../mod/layouts.php:27 ../../mod/layouts.php:39
-#: ../../mod/editblock.php:34 ../../mod/viewsrc.php:14
-#: ../../mod/achievements.php:30 ../../mod/editlayout.php:48
-#: ../../index.php:190 ../../index.php:365
-msgid "Permission denied."
-msgstr "Zugang verweigert"
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "%1$ss Lesezeichen"
-#: ../../include/photos.php:51 ../../include/photo/photo_driver.php:680
-#: ../../mod/photos.php:91 ../../mod/photos.php:657 ../../mod/photos.php:679
-#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:301
-#: ../../mod/profile_photo.php:423
-msgid "Profile Photos"
-msgstr "Profilfotos"
+#: ../../include/follow.php:28
+msgid "Channel is blocked on this site."
+msgstr "Der Kanal ist auf dieser Seite blockiert "
-#: ../../include/photos.php:104
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Bild überschreitet das Limit der Webseite von %lu bytes"
+#: ../../include/follow.php:33
+msgid "Channel location missing."
+msgstr "Adresse des Kanals fehlt."
-#: ../../include/photos.php:111
-msgid "Image file is empty."
-msgstr "Bilddatei ist leer."
+#: ../../include/follow.php:82
+msgid "Response from remote channel was incomplete."
+msgstr "Antwort des entfernten Kanals war unvollständig."
-#: ../../include/photos.php:140 ../../mod/profile_photo.php:216
-msgid "Unable to process image"
-msgstr "Kann Bild nicht verarbeiten"
+#: ../../include/follow.php:99
+msgid "Channel was deleted and no longer exists."
+msgstr "Kanal wurde gelöscht und existiert nicht mehr."
-#: ../../include/photos.php:212
-msgid "Photo storage failed."
-msgstr "Foto speichern schlug fehl"
+#: ../../include/follow.php:135 ../../include/follow.php:202
+msgid "Protocol disabled."
+msgstr "Protokoll deaktiviert."
-#: ../../include/photos.php:340 ../../include/conversation.php:1540
-msgid "Photo Albums"
-msgstr "Fotoalben"
+#: ../../include/follow.php:176
+msgid "Channel discovery failed."
+msgstr "Kanalsuche fehlgeschlagen"
-#: ../../include/photos.php:344
-msgid "Upload New Photos"
-msgstr "Lade neue Fotos hoch"
+#: ../../include/follow.php:192
+msgid "local account not found."
+msgstr "Lokales Konto nicht gefunden."
+
+#: ../../include/follow.php:220
+msgid "Cannot connect to yourself."
+msgstr "Du kannst Dich nicht mit Dir selbst verbinden."
+
+#: ../../include/comanche.php:35 ../../mod/admin.php:353
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
+msgstr "Standard"
+
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
+msgstr "Häufig"
+
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
+msgstr "Stündlich"
+
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
+msgstr "Zwei Mal am Tag"
+
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
+msgstr "Täglich"
+
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "Wöchentlich"
+
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "Monatlich"
+
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:726
+#: ../../mod/admin.php:735 ../../boot.php:1488
+msgid "Email"
+msgstr "E-Mail"
+
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
+
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "MySpace"
#: ../../include/contact_widgets.php:14
#, php-format
@@ -455,7 +1169,7 @@ msgid_plural "%d invitations available"
msgstr[0] "%d Einladung verfügbar"
msgstr[1] "%d Einladungen verfügbar"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:418
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:416
msgid "Advanced"
msgstr "Fortgeschritten"
@@ -475,8 +1189,8 @@ msgstr "Verbinden/Folgen"
msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Beispiele: Robert Morgenstein, Angeln"
-#: ../../include/contact_widgets.php:26 ../../mod/connections.php:412
-#: ../../mod/directory.php:222 ../../mod/directory.php:227
+#: ../../include/contact_widgets.php:26 ../../mod/directory.php:267
+#: ../../mod/directory.php:272 ../../mod/connections.php:412
msgid "Find"
msgstr "Finde"
@@ -493,138 +1207,714 @@ msgid "Invite Friends"
msgstr "Lade Freunde ein"
#: ../../include/contact_widgets.php:32
-msgid "Exammple: name=fred and country=iceland"
-msgstr "Beispiel: name=fred and country=deutschland"
-
-#: ../../include/contact_widgets.php:33
-msgid "Advanced Find"
-msgstr "Erweiterte Suche"
-
-#: ../../include/contact_widgets.php:58 ../../include/features.php:72
-#: ../../include/widgets.php:303
-msgid "Saved Folders"
-msgstr "Gespeicherte Ordner"
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Fortgeschrittenes Beispiel: name=fred and country=iceland"
-#: ../../include/contact_widgets.php:61 ../../include/contact_widgets.php:96
-#: ../../include/widgets.php:306
-msgid "Everything"
-msgstr "Alles"
-
-#: ../../include/contact_widgets.php:93 ../../include/widgets.php:29
-msgid "Categories"
-msgstr "Kategorien"
-
-#: ../../include/contact_widgets.php:126
+#: ../../include/contact_widgets.php:125
#, php-format
msgid "%d connection in common"
msgid_plural "%d connections in common"
msgstr[0] "%d gemeinsame Verbindung"
msgstr[1] "%d gemeinsame Verbindungen"
-#: ../../include/contact_widgets.php:131
+#: ../../include/contact_widgets.php:130
msgid "show more"
msgstr "mehr zeigen"
-#: ../../include/activities.php:39
-msgid " and "
-msgstr "und"
+#: ../../include/enotify.php:41
+msgid "Red Matrix Notification"
+msgstr "Red Matrix Benachrichtigung"
-#: ../../include/activities.php:47
-msgid "public profile"
-msgstr "öffentliches Profil"
+#: ../../include/enotify.php:42
+msgid "redmatrix"
+msgstr "redmatrix"
-#: ../../include/activities.php:52
+#: ../../include/enotify.php:44
+msgid "Thank You,"
+msgstr "Danke."
+
+#: ../../include/enotify.php:46
#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s hat %2$s auf &ldquo;%3$s&rdquo; geändert"
+msgid "%s Administrator"
+msgstr "der Administrator von %s"
-#: ../../include/activities.php:53
+#: ../../include/enotify.php:81
#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Besuche %1$s's %2$s"
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
-#: ../../include/activities.php:56
+#: ../../include/enotify.php:85
#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s hat ein aktualisiertes %2$s, %3$s wurde verändert."
+msgid "[Red:Notify] New mail received at %s"
+msgstr "[Red:Benachrichtigung] Neue Mail auf %s empfangen"
-#: ../../include/items.php:375 ../../mod/subthread.php:49
-#: ../../mod/profperm.php:23 ../../mod/group.php:68 ../../mod/like.php:242
-#: ../../index.php:364
-msgid "Permission denied"
-msgstr "Keine Berechtigung"
+#: ../../include/enotify.php:87
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s hat Dir eine private Nachricht auf %3$s gesendet."
-#: ../../include/items.php:962 ../../include/items.php:1007
-msgid "(Unknown)"
-msgstr "(Unbekannt)"
+#: ../../include/enotify.php:88
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s hat Dir %2$s geschickt."
-#: ../../include/items.php:1163
-msgid "Visible to anybody on the internet."
-msgstr "Für jeden im Internet sichtbar."
+#: ../../include/enotify.php:88
+msgid "a private message"
+msgstr "eine private Nachricht"
-#: ../../include/items.php:1165
-msgid "Visible to you only."
-msgstr "Nur für Dich sichtbar."
+#: ../../include/enotify.php:89
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten."
-#: ../../include/items.php:1167
-msgid "Visible to anybody in this network."
-msgstr "Für jedes Mitglied der RedMatrix sichtbar."
+#: ../../include/enotify.php:144
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]a %4$s[/zrl] kommentiert"
-#: ../../include/items.php:1169
-msgid "Visible to anybody authenticated."
-msgstr "Für jeden sichtbar, der angemeldet ist."
+#: ../../include/enotify.php:152
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]%4$ss %5$s[/zrl] kommentiert"
-#: ../../include/items.php:1171
+#: ../../include/enotify.php:161
#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Für jeden auf %s sichtbar."
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen %4$s[/zrl] kommentiert"
-#: ../../include/items.php:1173
-msgid "Visible to all connections."
-msgstr "Für alle Verbindungen sichtbar."
+#: ../../include/enotify.php:172
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Red:Benachrichtigung] Kommentar in Unterhaltung #%1$d von %2$s"
-#: ../../include/items.php:1175
-msgid "Visible to approved connections."
-msgstr "Nur für akzeptierte Verbindungen sichtbar."
+#: ../../include/enotify.php:173
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s hat eine Unterhaltung kommentiert, der Du folgst."
-#: ../../include/items.php:1177
-msgid "Visible to specific connections."
-msgstr "Sichtbar für bestimmte Verbindungen."
+#: ../../include/enotify.php:176 ../../include/enotify.php:191
+#: ../../include/enotify.php:217 ../../include/enotify.php:236
+#: ../../include/enotify.php:250
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren."
-#: ../../include/items.php:3927 ../../mod/filestorage.php:26
-#: ../../mod/admin.php:168 ../../mod/admin.php:898 ../../mod/admin.php:1101
-#: ../../mod/thing.php:76 ../../mod/display.php:32 ../../mod/viewsrc.php:20
-msgid "Item not found."
-msgstr "Element nicht gefunden."
+#: ../../include/enotify.php:182
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr "[Red:Hinweis] %s schrieb auf Deine Pinnwand"
-#: ../../include/items.php:4365 ../../mod/group.php:38 ../../mod/group.php:140
-msgid "Collection not found."
-msgstr "Sammlung nicht gefunden"
+#: ../../include/enotify.php:184
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s hat auf Deine Pinnwand auf %3$s geschrieben"
-#: ../../include/items.php:4380
-msgid "Collection is empty."
-msgstr "Sammlung ist leer."
+#: ../../include/enotify.php:186
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s hat auf [zrl=%3$s]Deine Pinnwand[/zrl] geschrieben"
-#: ../../include/items.php:4387
+#: ../../include/enotify.php:210
#, php-format
-msgid "Collection: %s"
-msgstr "Sammlung: %s"
+msgid "[Red:Notify] %s tagged you"
+msgstr "[Red:Benachrichtigung] %s hat Dich erwähnt"
-#: ../../include/items.php:4398
+#: ../../include/enotify.php:211
#, php-format
-msgid "Connection: %s"
-msgstr "Verbindung: %s"
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s hat Dich auf %3$s erwähnt"
-#: ../../include/items.php:4401
-msgid "Connection not found."
-msgstr "Die Verbindung wurde nicht gefunden."
+#: ../../include/enotify.php:212
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]hat Dich erwähnt[/zrl]."
-#: ../../include/Contact.php:107 ../../include/identity.php:832
-#: ../../include/conversation.php:948 ../../include/widgets.php:135
-#: ../../include/widgets.php:175 ../../mod/dirprofile.php:164
-#: ../../mod/suggest.php:51 ../../mod/directory.php:183 ../../mod/match.php:62
-msgid "Connect"
-msgstr "Verbinden"
+#: ../../include/enotify.php:225
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
+msgstr "[Red:Benachrichtigung] %1$s hat Dich angestupst"
+
+#: ../../include/enotify.php:226
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s hat Dich auf %3$s angestupst"
+
+#: ../../include/enotify.php:227
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]hat Dich angestupst[/zrl]."
+
+#: ../../include/enotify.php:243
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
+msgstr "[Red:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet"
+
+#: ../../include/enotify.php:244
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s hat Deinen Beitrag auf %3$s verschlagwortet"
+
+#: ../../include/enotify.php:245
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen Beitrag[/zrl] verschlagwortet"
+
+#: ../../include/enotify.php:257
+msgid "[Red:Notify] Introduction received"
+msgstr "[Red:Benachrichtigung] Vorstellung erhalten"
+
+#: ../../include/enotify.php:258
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, Du hast eine neue Verbindungsanfrage von '%2$s' auf %3$s erhalten"
+
+#: ../../include/enotify.php:259
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, Du hast [zrl=%2$s]eine neue Verbindungsanfrage[/zrl] von %3$s erhalten."
+
+#: ../../include/enotify.php:263 ../../include/enotify.php:282
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Du kannst Dir das Profil unter %s ansehen"
+
+#: ../../include/enotify.php:265
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen."
+
+#: ../../include/enotify.php:272
+msgid "[Red:Notify] Friend suggestion received"
+msgstr "[Red:Benachrichtigung] Freundschaftsvorschlag erhalten"
+
+#: ../../include/enotify.php:273
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, Du hast einen Kontaktvorschlag von „%2$s“ auf %3$s erhalten"
+
+#: ../../include/enotify.php:274
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, Du hast [zrl=%2$s]einen Kontaktvorschlag[/zrl] für %3$s von %4$s erhalten."
+
+#: ../../include/enotify.php:280
+msgid "Name:"
+msgstr "Name:"
+
+#: ../../include/enotify.php:281
+msgid "Photo:"
+msgstr "Foto:"
+
+#: ../../include/enotify.php:284
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."
+
+#: ../../include/enotify.php:477
+msgid "[Red:Notify]"
+msgstr "[Red:Benachrichtigung]"
+
+#: ../../include/event.php:326
+msgid "This event has been added to your calendar."
+msgstr "Dieser Termin wurde zu Deinem Kalender hinzugefügt"
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Es hat früher schon einmal eine Sammlung mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Sammlung den Zugriff erlauben. Wenn das nicht Dein Plan war, erstelle bitte eine neue Sammlung mit einem anderen Namen."
+
+#: ../../include/group.php:235
+msgid "Default privacy group for new contacts"
+msgstr "Standard-Sammlung für neue Kontakte"
+
+#: ../../include/group.php:254 ../../mod/admin.php:735
+msgid "All Channels"
+msgstr "Alle Kanäle"
+
+#: ../../include/group.php:276
+msgid "edit"
+msgstr "Bearbeiten"
+
+#: ../../include/group.php:298
+msgid "Collections"
+msgstr "Sammlungen"
+
+#: ../../include/group.php:299
+msgid "Edit collection"
+msgstr "Sammlung bearbeiten"
+
+#: ../../include/group.php:300
+msgid "Create a new collection"
+msgstr "Neue Sammlung erzeugen"
+
+#: ../../include/group.php:301
+msgid "Channels not in any collection"
+msgstr "Kanäle, die nicht in einer Sammlung sind"
+
+#: ../../include/bbcode.php:112 ../../include/bbcode.php:653
+#: ../../include/bbcode.php:656 ../../include/bbcode.php:661
+#: ../../include/bbcode.php:664 ../../include/bbcode.php:667
+#: ../../include/bbcode.php:670 ../../include/bbcode.php:675
+#: ../../include/bbcode.php:678 ../../include/bbcode.php:683
+#: ../../include/bbcode.php:686 ../../include/bbcode.php:689
+#: ../../include/bbcode.php:692
+msgid "Image/photo"
+msgstr "Bild/Foto"
+
+#: ../../include/bbcode.php:147 ../../include/bbcode.php:703
+msgid "Encrypted content"
+msgstr "Verschlüsselter Inhalt"
+
+#: ../../include/bbcode.php:165
+msgid "Install design element: "
+msgstr "Design-Element installieren:"
+
+#: ../../include/bbcode.php:171
+msgid "QR code"
+msgstr "QR-Code"
+
+#: ../../include/bbcode.php:220
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s schrieb den folgenden %2$s %3$s"
+
+#: ../../include/bbcode.php:222
+msgid "post"
+msgstr "Beitrag"
+
+#: ../../include/bbcode.php:621
+msgid "$1 spoiler"
+msgstr "$1 Spoiler"
+
+#: ../../include/bbcode.php:641
+msgid "$1 wrote:"
+msgstr "$1 schrieb:"
+
+#: ../../include/taxonomy.php:210
+msgid "Tags"
+msgstr "Schlagwörter"
+
+#: ../../include/taxonomy.php:249
+msgid "Keywords"
+msgstr "Schlüsselwörter"
+
+#: ../../include/taxonomy.php:274
+msgid "have"
+msgstr "habe"
+
+#: ../../include/taxonomy.php:274
+msgid "has"
+msgstr "hat"
+
+#: ../../include/taxonomy.php:275
+msgid "want"
+msgstr "will"
+
+#: ../../include/taxonomy.php:275
+msgid "wants"
+msgstr "will"
+
+#: ../../include/taxonomy.php:276 ../../include/ItemObject.php:221
+msgid "like"
+msgstr "mag"
+
+#: ../../include/taxonomy.php:276
+msgid "likes"
+msgstr "gefällt"
+
+#: ../../include/taxonomy.php:277 ../../include/ItemObject.php:222
+msgid "dislike"
+msgstr "verurteile"
+
+#: ../../include/taxonomy.php:277
+msgid "dislikes"
+msgstr "missfällt"
+
+#: ../../include/taxonomy.php:360 ../../include/identity.php:1148
+#: ../../include/ItemObject.php:146 ../../mod/photos.php:1026
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Gefällt mir"
+msgstr[1] "Gefällt mir"
+
+#: ../../include/nav.php:95 ../../include/nav.php:128 ../../boot.php:1485
+msgid "Logout"
+msgstr "Abmelden"
+
+#: ../../include/nav.php:95 ../../include/nav.php:128
+msgid "End this session"
+msgstr "Beende diese Sitzung"
+
+#: ../../include/nav.php:98 ../../include/nav.php:159
+msgid "Home"
+msgstr "Home"
+
+#: ../../include/nav.php:98
+msgid "Your posts and conversations"
+msgstr "Deine Beiträge und Unterhaltungen"
+
+#: ../../include/nav.php:99
+msgid "Your profile page"
+msgstr "Deine Profilseite"
+
+#: ../../include/nav.php:101
+msgid "Edit Profiles"
+msgstr "Profile bearbeiten"
+
+#: ../../include/nav.php:101
+msgid "Manage/Edit profiles"
+msgstr "Profile verwalten"
+
+#: ../../include/nav.php:103 ../../include/identity.php:864
+msgid "Edit Profile"
+msgstr "Profile bearbeiten"
+
+#: ../../include/nav.php:103
+msgid "Edit your profile"
+msgstr "Profil bearbeiten"
+
+#: ../../include/nav.php:105
+msgid "Your photos"
+msgstr "Deine Bilder"
+
+#: ../../include/nav.php:106
+msgid "Your files"
+msgstr "Deine Dateien"
+
+#: ../../include/nav.php:111 ../../include/apps.php:144
+msgid "Chat"
+msgstr "Chat"
+
+#: ../../include/nav.php:111
+msgid "Your chatrooms"
+msgstr "Deine Chaträume"
+
+#: ../../include/nav.php:117
+msgid "Your bookmarks"
+msgstr "Deine Lesezeichen"
+
+#: ../../include/nav.php:121
+msgid "Your webpages"
+msgstr "Deine Webseiten"
+
+#: ../../include/nav.php:125 ../../include/apps.php:129 ../../boot.php:1486
+msgid "Login"
+msgstr "Anmelden"
+
+#: ../../include/nav.php:125
+msgid "Sign in"
+msgstr "Anmelden"
+
+#: ../../include/nav.php:142
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - Klick zum Abmelden"
+
+#: ../../include/nav.php:145
+msgid "Remote authentication"
+msgstr "Ãœber Konto auf anderem Server einloggen"
+
+#: ../../include/nav.php:145
+msgid "Click to authenticate to your home hub"
+msgstr "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren"
+
+#: ../../include/nav.php:159
+msgid "Home Page"
+msgstr "Homepage"
+
+#: ../../include/nav.php:163 ../../mod/register.php:224 ../../boot.php:1464
+msgid "Register"
+msgstr "Registrieren"
+
+#: ../../include/nav.php:163
+msgid "Create an account"
+msgstr "Erzeuge ein Konto"
+
+#: ../../include/nav.php:168 ../../include/apps.php:140 ../../mod/help.php:58
+#: ../../mod/help.php:63
+msgid "Help"
+msgstr "Hilfe"
+
+#: ../../include/nav.php:168
+msgid "Help and documentation"
+msgstr "Hilfe und Dokumentation"
+
+#: ../../include/nav.php:171
+msgid "Applications, utilities, links, games"
+msgstr "Anwendungen (Apps), Zubehör, Links, Spiele"
+
+#: ../../include/nav.php:173 ../../include/text.php:826
+#: ../../include/text.php:838 ../../include/apps.php:145
+#: ../../mod/search.php:30
+msgid "Search"
+msgstr "Suche"
+
+#: ../../include/nav.php:173
+msgid "Search site content"
+msgstr "Durchsuche Seiten-Inhalt"
+
+#: ../../include/nav.php:176 ../../include/apps.php:139
+#: ../../mod/directory.php:271
+msgid "Directory"
+msgstr "Verzeichnis"
+
+#: ../../include/nav.php:176
+msgid "Channel Directory"
+msgstr "Kanal-Verzeichnis"
+
+#: ../../include/nav.php:190 ../../include/apps.php:131
+msgid "Matrix"
+msgstr "Matrix"
+
+#: ../../include/nav.php:190
+msgid "Your matrix"
+msgstr "Deine Matrix"
+
+#: ../../include/nav.php:191
+msgid "Mark all matrix notifications seen"
+msgstr "Markiere alle Matrix-Benachrichtigungen als angesehen"
+
+#: ../../include/nav.php:193 ../../include/apps.php:135
+msgid "Channel Home"
+msgstr "Mein Kanal"
+
+#: ../../include/nav.php:193
+msgid "Channel home"
+msgstr "Mein Kanal"
+
+#: ../../include/nav.php:194
+msgid "Mark all channel notifications seen"
+msgstr "Markiere alle Kanal-Benachrichtigungen als angesehen"
+
+#: ../../include/nav.php:197 ../../mod/connections.php:406
+msgid "Connections"
+msgstr "Verbindungen"
+
+#: ../../include/nav.php:200
+msgid "Notices"
+msgstr "Benachrichtigungen"
+
+#: ../../include/nav.php:200
+msgid "Notifications"
+msgstr "Benachrichtigungen"
+
+#: ../../include/nav.php:201
+msgid "See all notifications"
+msgstr "Alle Benachrichtigungen ansehen"
+
+#: ../../include/nav.php:202 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
+msgstr "Markiere alle System-Benachrichtigungen als gesehen"
+
+#: ../../include/nav.php:204 ../../include/apps.php:141
+msgid "Mail"
+msgstr "Mail"
+
+#: ../../include/nav.php:204
+msgid "Private mail"
+msgstr "Persönliche Mail"
+
+#: ../../include/nav.php:205
+msgid "See all private messages"
+msgstr "Alle persönlichen Nachrichten ansehen"
+
+#: ../../include/nav.php:206
+msgid "Mark all private messages seen"
+msgstr "Markiere alle persönlichen Nachrichten als gesehen"
+
+#: ../../include/nav.php:207
+msgid "Inbox"
+msgstr "Eingang"
+
+#: ../../include/nav.php:208
+msgid "Outbox"
+msgstr "Ausgang"
+
+#: ../../include/nav.php:212 ../../include/apps.php:138
+#: ../../mod/events.php:431
+msgid "Events"
+msgstr "Termine"
+
+#: ../../include/nav.php:212
+msgid "Event Calendar"
+msgstr "Terminkalender"
+
+#: ../../include/nav.php:213
+msgid "See all events"
+msgstr "Alle Termine ansehen"
+
+#: ../../include/nav.php:214
+msgid "Mark all events seen"
+msgstr "Markiere alle Termine als gesehen"
+
+#: ../../include/nav.php:216 ../../include/apps.php:130
+#: ../../mod/manage.php:148
+msgid "Channel Manager"
+msgstr "Kanal-Manager"
+
+#: ../../include/nav.php:216
+msgid "Manage Your Channels"
+msgstr "Verwalte Deine Kanäle"
+
+#: ../../include/nav.php:218
+msgid "Account/Channel Settings"
+msgstr "Konto-/Kanal-Einstellungen"
+
+#: ../../include/nav.php:226 ../../mod/admin.php:123
+msgid "Admin"
+msgstr "Administration"
+
+#: ../../include/nav.php:226
+msgid "Site Setup and Configuration"
+msgstr "Seiten-Einrichtung und -Konfiguration"
+
+#: ../../include/nav.php:262
+msgid "Please wait..."
+msgstr "Bitte warten..."
+
+#: ../../include/permissions.php:13
+msgid "Can view my normal stream and posts"
+msgstr "Kann meine normalen Beiträge sehen"
+
+#: ../../include/permissions.php:14
+msgid "Can view my default channel profile"
+msgstr "Kann mein Standardprofil sehen"
+
+#: ../../include/permissions.php:15
+msgid "Can view my photo albums"
+msgstr "Kann meine Fotoalben betrachten"
+
+#: ../../include/permissions.php:16
+msgid "Can view my connections"
+msgstr "Kann meine Verbindungen sehen"
+
+#: ../../include/permissions.php:17
+msgid "Can view my file storage"
+msgstr "Kann meine Dateiordner lesen"
+
+#: ../../include/permissions.php:18
+msgid "Can view my webpages"
+msgstr "Kann meine Webseiten sehen"
+
+#: ../../include/permissions.php:21
+msgid "Can send me their channel stream and posts"
+msgstr "Kann mir die Beiträge aus seinem/ihrem Kanal schicken"
+
+#: ../../include/permissions.php:22
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen"
+
+#: ../../include/permissions.php:23
+msgid "Can comment on or like my posts"
+msgstr "Darf meine Beiträge kommentieren und mögen/nicht mögen"
+
+#: ../../include/permissions.php:24
+msgid "Can send me private mail messages"
+msgstr "Kann mir private Nachrichten schicken"
+
+#: ../../include/permissions.php:25
+msgid "Can post photos to my photo albums"
+msgstr "Kann Fotos in meinen Fotoalben veröffentlichen"
+
+#: ../../include/permissions.php:26
+msgid "Can like/dislike stuff"
+msgstr "Kann andere Elemente mögen/nicht mögen"
+
+#: ../../include/permissions.php:26
+msgid "Profiles and things other than posts/comments"
+msgstr "Profile und alles außer Beiträge und Kommentare"
+
+#: ../../include/permissions.php:28
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten"
+
+#: ../../include/permissions.php:28
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen"
+
+#: ../../include/permissions.php:29
+msgid "Can chat with me (when available)"
+msgstr "Kann mit mir chatten (wenn verfügbar)"
+
+#: ../../include/permissions.php:30
+msgid "Can write to my file storage"
+msgstr "Kann in meine Dateiordner schreiben"
+
+#: ../../include/permissions.php:31
+msgid "Can edit my webpages"
+msgstr "Kann meine Webseiten bearbeiten"
+
+#: ../../include/permissions.php:33
+msgid "Can source my public posts in derived channels"
+msgstr "Kann meine öffentlichen Beiträge als Quellen für Kanäle verwenden"
+
+#: ../../include/permissions.php:33
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften"
+
+#: ../../include/permissions.php:35
+msgid "Can administer my channel resources"
+msgstr "Kann meine Kanäle administrieren"
+
+#: ../../include/permissions.php:35
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust"
+
+#: ../../include/permissions.php:785
+msgid "Social Networking"
+msgstr "Soziales Netzwerk"
+
+#: ../../include/permissions.php:786 ../../include/permissions.php:788
+#: ../../include/permissions.php:790
+msgid "Mostly Public"
+msgstr "Weitgehend öffentlich"
+
+#: ../../include/permissions.php:786 ../../include/permissions.php:788
+#: ../../include/permissions.php:790
+msgid "Restricted"
+msgstr "Beschränkt"
+
+#: ../../include/permissions.php:786 ../../include/permissions.php:788
+msgid "Private"
+msgstr "Privat"
+
+#: ../../include/permissions.php:787
+msgid "Community Forum"
+msgstr "Forum"
+
+#: ../../include/permissions.php:789
+msgid "Feed Republish"
+msgstr "Teilen von Feeds"
+
+#: ../../include/permissions.php:791
+msgid "Special Purpose"
+msgstr "Für besondere Zwecke"
+
+#: ../../include/permissions.php:792
+msgid "Celebrity/Soapbox"
+msgstr "Mitteilungs-Kanal (keine Kommentare)"
+
+#: ../../include/permissions.php:792
+msgid "Group Repository"
+msgstr "Gruppenarchiv"
+
+#: ../../include/permissions.php:793 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr "Andere"
+
+#: ../../include/permissions.php:794
+msgid "Custom/Expert Mode"
+msgstr "Benutzerdefiniert/Expertenmodus"
#: ../../include/Contact.php:123
msgid "New window"
@@ -634,95 +1924,322 @@ msgstr "Neues Fenster"
msgid "Open the selected location in a different window or browser tab"
msgstr "Öffne die markierte Adresse in einem neuen Browser Fenster oder Tab"
-#: ../../include/Contact.php:211 ../../mod/admin.php:649
+#: ../../include/Contact.php:211 ../../mod/admin.php:646
#, php-format
msgid "User '%s' deleted"
msgstr "Benutzer '%s' gelöscht"
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
-msgstr "Verschiedenes"
+#: ../../include/features.php:23
+msgid "General Features"
+msgstr "Allgemeine Funktionen"
-#: ../../include/datetime.php:152 ../../include/datetime.php:284
-msgid "year"
-msgstr "Jahr"
+#: ../../include/features.php:25
+msgid "Content Expiration"
+msgstr "Verfall von Inhalten"
-#: ../../include/datetime.php:157 ../../include/datetime.php:285
-msgid "month"
-msgstr "Monat"
+#: ../../include/features.php:25
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Lösche Beiträge, Kommentare und/oder private Nachrichten automatisch zu einem zukünftigen Datum."
-#: ../../include/datetime.php:162 ../../include/datetime.php:287
-msgid "day"
-msgstr "Tag"
+#: ../../include/features.php:26
+msgid "Multiple Profiles"
+msgstr "Mehrfachprofile"
-#: ../../include/datetime.php:275
-msgid "never"
-msgstr "Nie"
+#: ../../include/features.php:26
+msgid "Ability to create multiple profiles"
+msgstr "Mehrfachprofile anlegen können"
-#: ../../include/datetime.php:281
-msgid "less than a second ago"
-msgstr "Vor weniger als einer Sekunde"
+#: ../../include/features.php:27
+msgid "Advanced Profiles"
+msgstr "Erweiterte Profile"
-#: ../../include/datetime.php:284
-msgid "years"
-msgstr "Jahre"
+#: ../../include/features.php:27
+msgid "Additional profile sections and selections"
+msgstr "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung"
-#: ../../include/datetime.php:285
-msgid "months"
-msgstr "Monate"
+#: ../../include/features.php:28
+msgid "Profile Import/Export"
+msgstr "Profil-Import/Export"
-#: ../../include/datetime.php:286
-msgid "week"
-msgstr "Woche"
+#: ../../include/features.php:28
+msgid "Save and load profile details across sites/channels"
+msgstr "Speichere Dein Profil, um es in einen anderen Kanal zu importieren"
-#: ../../include/datetime.php:286
-msgid "weeks"
-msgstr "Wochen"
+#: ../../include/features.php:29
+msgid "Web Pages"
+msgstr "Webseiten"
-#: ../../include/datetime.php:287
-msgid "days"
-msgstr "Tage"
+#: ../../include/features.php:29
+msgid "Provide managed web pages on your channel"
+msgstr "Stelle verwaltete Webseiten in Deinem Kanal zur Verfügung"
-#: ../../include/datetime.php:288
-msgid "hour"
-msgstr "Stunde"
+#: ../../include/features.php:30
+msgid "Private Notes"
+msgstr "Private Notizen"
-#: ../../include/datetime.php:288
-msgid "hours"
-msgstr "Stunden"
+#: ../../include/features.php:30
+msgid "Enables a tool to store notes and reminders"
+msgstr "Werkzeug zum Speichern von Notizen und Erinnerungen aktivieren"
-#: ../../include/datetime.php:289
-msgid "minute"
-msgstr "Minute"
+#: ../../include/features.php:34
+msgid "Navigation Channel Select"
+msgstr "Kanal-Auswahl in der Navigationsleiste"
-#: ../../include/datetime.php:289
-msgid "minutes"
-msgstr "Minuten"
+#: ../../include/features.php:34
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Wechsle direkt über das Navigationsmenü zu anderen Kanälen"
-#: ../../include/datetime.php:290
-msgid "second"
-msgstr "Sekunde"
+#: ../../include/features.php:38
+msgid "Extended Identity Sharing"
+msgstr "Erweitertes Teilen von Identitäten"
-#: ../../include/datetime.php:290
-msgid "seconds"
-msgstr "Sekunden"
+#: ../../include/features.php:38
+msgid ""
+"Share your identity with all websites on the internet. When disabled, "
+"identity is only shared with sites in the matrix."
+msgstr "Teile Deine Identität mit allen Webseiten im Internet. Ist dies deaktiviert, wird Deine Identität nur mit Red-Servern geteilt."
+
+#: ../../include/features.php:39
+msgid "Expert Mode"
+msgstr "Expertenmodus"
+
+#: ../../include/features.php:39
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Aktiviere den Expertenmodus, um fortgeschrittene Konfigurationsoptionen zu aktivieren"
+
+#: ../../include/features.php:40
+msgid "Premium Channel"
+msgstr "Premium-Kanal"
+
+#: ../../include/features.php:40
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen"
+
+#: ../../include/features.php:45
+msgid "Post Composition Features"
+msgstr "Nachbearbeitungsfunktionen"
+
+#: ../../include/features.php:47
+msgid "Use Markdown"
+msgstr "Markdown benutzen"
+
+#: ../../include/features.php:47
+msgid "Allow use of \"Markdown\" to format posts"
+msgstr "Erlaube die Verwendung von \"Markdown\"-Syntax zur Formatierung von Beiträgen"
+
+#: ../../include/features.php:48
+msgid "Post Preview"
+msgstr "Voransicht"
+
+#: ../../include/features.php:48
+msgid "Allow previewing posts and comments before publishing them"
+msgstr "Erlaube Voransicht von Beiträgen und Kommentaren vor Veröffentlichung"
+
+#: ../../include/features.php:49
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Importiere automatisch Inhalte für diesen Kanal von anderen Kanälen oder Feeds"
+
+#: ../../include/features.php:50
+msgid "Even More Encryption"
+msgstr "Noch mehr Verschlüsselung"
+
+#: ../../include/features.php:50
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Erlaube optionale Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Sicherheitsschlüssel)"
+
+#: ../../include/features.php:55
+msgid "Network and Stream Filtering"
+msgstr "Netzwerk- und Stream-Filter"
+
+#: ../../include/features.php:56
+msgid "Search by Date"
+msgstr "Suche nach Datum"
+
+#: ../../include/features.php:56
+msgid "Ability to select posts by date ranges"
+msgstr "Möglichkeit, Beiträge nach Zeiträumen auszuwählen"
+
+#: ../../include/features.php:57
+msgid "Collections Filter"
+msgstr "Filter für Sammlung"
+
+#: ../../include/features.php:57
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr "Aktiviere nur Netzwerk-Beiträge von ausgewählten Sammlungen"
+
+#: ../../include/features.php:58
+msgid "Save search terms for re-use"
+msgstr "Suchbegriffe zur Wiederverwendung abspeichern"
+
+#: ../../include/features.php:59
+msgid "Network Personal Tab"
+msgstr "Persönlicher Netzwerkreiter"
+
+#: ../../include/features.php:59
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Aktiviere Reiter nur für die Netzwerk-Beiträge, mit denen Du interagiert hast"
+
+#: ../../include/features.php:60
+msgid "Network New Tab"
+msgstr "Netzwerkreiter Neu"
+
+#: ../../include/features.php:60
+msgid "Enable tab to display all new Network activity"
+msgstr "Aktiviere Reiter, um alle neuen Netzwerkaktivitäten zu zeigen"
+
+#: ../../include/features.php:61
+msgid "Affinity Tool"
+msgstr "Beziehungs-Tool"
+
+#: ../../include/features.php:61
+msgid "Filter stream activity by depth of relationships"
+msgstr "Filter Aktivitätenstream nach Tiefe der Beziehung"
+
+#: ../../include/features.php:62
+msgid "Suggest Channels"
+msgstr "Kanäle vorschlagen"
+
+#: ../../include/features.php:62
+msgid "Show channel suggestions"
+msgstr "Kanal-Vorschläge anzeigen"
+
+#: ../../include/features.php:67
+msgid "Post/Comment Tools"
+msgstr "Beitrag-/Kommentar-Tools"
+
+#: ../../include/features.php:69
+msgid "Edit Sent Posts"
+msgstr "Bearbeite gesendete Beiträge"
+
+#: ../../include/features.php:69
+msgid "Edit and correct posts and comments after sending"
+msgstr "Bearbeite und korrigiere Beiträge und Kommentare nach dem Senden"
+
+#: ../../include/features.php:70
+msgid "Tagging"
+msgstr "Verschlagworten"
+
+#: ../../include/features.php:70
+msgid "Ability to tag existing posts"
+msgstr "Möglichkeit, um existierende Beiträge zu verschlagworten"
+
+#: ../../include/features.php:71
+msgid "Post Categories"
+msgstr "Beitrags-Kategorien"
+
+#: ../../include/features.php:71
+msgid "Add categories to your posts"
+msgstr "Kategorien für Beiträge"
+
+#: ../../include/features.php:72
+msgid "Ability to file posts under folders"
+msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln"
+
+#: ../../include/features.php:73
+msgid "Dislike Posts"
+msgstr "Gefällt-mir-nicht Beiträge"
+
+#: ../../include/features.php:73
+msgid "Ability to dislike posts/comments"
+msgstr "„Gefällt mir nicht“ ermöglichen"
+
+#: ../../include/features.php:74
+msgid "Star Posts"
+msgstr "Beiträge mit Sternchen versehen"
+
+#: ../../include/features.php:74
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Möglichkeit, spezielle Beiträge mit Sternchen-Symbol zu markieren"
+
+#: ../../include/features.php:75
+msgid "Tag Cloud"
+msgstr "Schlagwort-Wolke"
+
+#: ../../include/features.php:75
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Persönliche Schlagwort-Wolke auf Deiner Kanal-Seite anzeigen"
+
+#: ../../include/account.php:23
+msgid "Not a valid email address"
+msgstr "Ungültige E-Mail-Adresse"
+
+#: ../../include/account.php:25
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Deine E-Mail-Adresse ist dieser Seite nicht erlaubt"
+
+#: ../../include/account.php:31
+msgid "Your email address is already registered at this site."
+msgstr "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert."
+
+#: ../../include/account.php:64
+msgid "An invitation is required."
+msgstr "Eine Einladung wird benötigt"
-#: ../../include/datetime.php:299
+#: ../../include/account.php:68
+msgid "Invitation could not be verified."
+msgstr "Die Einladung konnte nicht bestätigt werden"
+
+#: ../../include/account.php:119
+msgid "Please enter the required information."
+msgstr "Bitte gib die benötigten Informationen ein."
+
+#: ../../include/account.php:187
+msgid "Failed to store account information."
+msgstr "Speichern der Account-Informationen fehlgeschlagen"
+
+#: ../../include/account.php:245
#, php-format
-msgid "%1$d %2$s ago"
-msgstr "vor %1$d %2$s"
+msgid "Registration confirmation for %s"
+msgstr "Registrierungsbestätigung für %s"
-#: ../../include/datetime.php:504
+#: ../../include/account.php:313
#, php-format
-msgid "%1$s's birthday"
-msgstr "%1$ss Geburtstag"
+msgid "Registration request at %s"
+msgstr "Registrierungsanfrage auf %s"
-#: ../../include/datetime.php:505
+#: ../../include/account.php:315 ../../include/account.php:342
+#: ../../include/account.php:399
+msgid "Administrator"
+msgstr "Administrator"
+
+#: ../../include/account.php:337
+msgid "your registration password"
+msgstr "Dein Registrierungspasswort"
+
+#: ../../include/account.php:340 ../../include/account.php:397
#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Alles Gute zum Geburtstag, %1$s"
+msgid "Registration details for %s"
+msgstr "Registrierungsdetails für %s"
+
+#: ../../include/account.php:406
+msgid "Account approved."
+msgstr "Account bestätigt."
+
+#: ../../include/account.php:440
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrierung für %s widerrufen"
+
+#: ../../include/account.php:486
+msgid "Account verified. Please login."
+msgstr "Konto geprüft. Bitte melde Dich an!"
+
+#: ../../include/account.php:648 ../../include/account.php:650
+msgid "Click here to upgrade."
+msgstr "Klicke hier, um das Upgrade durchzuführen."
-#: ../../include/identity.php:31 ../../mod/item.php:1319
+#: ../../include/account.php:656
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
+
+#: ../../include/account.php:661
+msgid "This action is not available under your subscription plan."
+msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
+
+#: ../../include/identity.php:31 ../../mod/item.php:1368
msgid "Unable to obtain identity information from database"
msgstr "Kann keine Identitäts-Informationen aus Datenbank beziehen"
@@ -738,290 +2255,299 @@ msgstr "Name ist zu lang"
msgid "No account identifier"
msgstr "Keine Account-Kennung"
-#: ../../include/identity.php:181
+#: ../../include/identity.php:182
msgid "Nickname is required."
msgstr "Spitzname ist erforderlich."
-#: ../../include/identity.php:195
+#: ../../include/identity.php:196
msgid "Reserved nickname. Please choose another."
msgstr "Reservierter Kurzname. Bitte wähle einen anderen."
-#: ../../include/identity.php:200
+#: ../../include/identity.php:201 ../../include/dimport.php:34
msgid ""
"Nickname has unsupported characters or is already being used on this site."
msgstr "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt."
-#: ../../include/identity.php:282
+#: ../../include/identity.php:283
msgid "Unable to retrieve created identity"
msgstr "Kann die erstellte Identität nicht empfangen"
-#: ../../include/identity.php:342
+#: ../../include/identity.php:343
msgid "Default Profile"
msgstr "Standard-Profil"
-#: ../../include/identity.php:381 ../../include/identity.php:382
-#: ../../include/identity.php:389 ../../include/profile_selectors.php:80
-#: ../../include/widgets.php:407 ../../mod/connedit.php:495
-msgid "Friends"
-msgstr "Freunde"
-
-#: ../../include/identity.php:635
+#: ../../include/identity.php:643
msgid "Requested channel is not available."
msgstr "Angeforderte Kanal nicht verfügbar."
-#: ../../include/identity.php:683 ../../mod/filestorage.php:48
-#: ../../mod/webpages.php:8 ../../mod/profile.php:16 ../../mod/hcard.php:8
-#: ../../mod/connect.php:13 ../../mod/blocks.php:10 ../../mod/layouts.php:8
-#: ../../mod/achievements.php:11
+#: ../../include/identity.php:691 ../../mod/achievements.php:11
+#: ../../mod/connect.php:13 ../../mod/profile.php:16 ../../mod/blocks.php:29
+#: ../../mod/webpages.php:29 ../../mod/editblock.php:29
+#: ../../mod/editlayout.php:28 ../../mod/editwebpage.php:28
+#: ../../mod/filestorage.php:48 ../../mod/layouts.php:29 ../../mod/hcard.php:8
msgid "Requested profile is not available."
msgstr "Erwünschte Profil ist nicht verfügbar."
-#: ../../include/identity.php:846 ../../mod/profiles.php:750
+#: ../../include/identity.php:854 ../../mod/profiles.php:740
msgid "Change profile photo"
msgstr "Profilfoto ändern"
-#: ../../include/identity.php:852
+#: ../../include/identity.php:860
msgid "Profiles"
msgstr "Profile"
-#: ../../include/identity.php:852
+#: ../../include/identity.php:860
msgid "Manage/edit profiles"
msgstr "Profile verwalten/bearbeiten"
-#: ../../include/identity.php:853 ../../mod/profiles.php:751
+#: ../../include/identity.php:861 ../../mod/profiles.php:741
msgid "Create New Profile"
msgstr "Neues Profil erstellen"
-#: ../../include/identity.php:856 ../../include/nav.php:103
-msgid "Edit Profile"
-msgstr "Profile bearbeiten"
-
-#: ../../include/identity.php:867 ../../mod/profiles.php:762
+#: ../../include/identity.php:875 ../../mod/profiles.php:752
msgid "Profile Image"
msgstr "Profilfoto:"
-#: ../../include/identity.php:870
+#: ../../include/identity.php:878
msgid "visible to everybody"
msgstr "sichtbar für jeden"
-#: ../../include/identity.php:871 ../../mod/profiles.php:645
-#: ../../mod/profiles.php:766
+#: ../../include/identity.php:879 ../../mod/profiles.php:635
+#: ../../mod/profiles.php:756
msgid "Edit visibility"
msgstr "Sichtbarkeit bearbeiten"
-#: ../../include/identity.php:883 ../../include/event.php:40
-#: ../../include/bb2diaspora.php:461 ../../mod/dirprofile.php:105
-#: ../../mod/directory.php:156 ../../mod/events.php:579
-msgid "Location:"
-msgstr "Ort:"
-
-#: ../../include/identity.php:885 ../../include/identity.php:1122
-#: ../../mod/directory.php:158
+#: ../../include/identity.php:895 ../../include/identity.php:1132
msgid "Gender:"
msgstr "Geschlecht:"
-#: ../../include/identity.php:886 ../../include/identity.php:1166
-#: ../../mod/directory.php:160
+#: ../../include/identity.php:896 ../../include/identity.php:1176
msgid "Status:"
msgstr "Status:"
-#: ../../include/identity.php:887 ../../include/identity.php:1177
-#: ../../mod/directory.php:162
+#: ../../include/identity.php:897 ../../include/identity.php:1187
msgid "Homepage:"
msgstr "Homepage:"
-#: ../../include/identity.php:888 ../../mod/dirprofile.php:151
+#: ../../include/identity.php:898
msgid "Online Now"
msgstr "gerade online"
-#: ../../include/identity.php:966 ../../include/identity.php:1046
-#: ../../mod/ping.php:298
+#: ../../include/identity.php:976 ../../include/identity.php:1056
+#: ../../mod/ping.php:318
msgid "g A l F d"
msgstr "l, d. F G \\\\U\\\\h\\\\r"
-#: ../../include/identity.php:967 ../../include/identity.php:1047
+#: ../../include/identity.php:977 ../../include/identity.php:1057
msgid "F d"
msgstr "d. F"
-#: ../../include/identity.php:1012 ../../include/identity.php:1087
-#: ../../mod/ping.php:320
+#: ../../include/identity.php:1022 ../../include/identity.php:1097
+#: ../../mod/ping.php:340
msgid "[today]"
msgstr "[Heute]"
-#: ../../include/identity.php:1024
+#: ../../include/identity.php:1034
msgid "Birthday Reminders"
msgstr "Geburtstags Erinnerungen"
-#: ../../include/identity.php:1025
+#: ../../include/identity.php:1035
msgid "Birthdays this week:"
msgstr "Geburtstage in dieser Woche:"
-#: ../../include/identity.php:1080
+#: ../../include/identity.php:1090
msgid "[No description]"
msgstr "[Keine Beschreibung]"
-#: ../../include/identity.php:1098
+#: ../../include/identity.php:1108
msgid "Event Reminders"
-msgstr "Veranstaltungs- Erinnerungen"
+msgstr "Termin-Erinnerungen"
-#: ../../include/identity.php:1099
+#: ../../include/identity.php:1109
msgid "Events this week:"
-msgstr "Veranstaltungen in dieser Woche:"
+msgstr "Termine in dieser Woche:"
-#: ../../include/identity.php:1112 ../../include/identity.php:1230
+#: ../../include/identity.php:1122 ../../include/identity.php:1240
#: ../../include/apps.php:136 ../../mod/profperm.php:112
msgid "Profile"
msgstr "Profil"
-#: ../../include/identity.php:1120 ../../mod/settings.php:953
+#: ../../include/identity.php:1130 ../../mod/settings.php:984
msgid "Full Name:"
msgstr "Voller Name:"
-#: ../../include/identity.php:1127
+#: ../../include/identity.php:1137
msgid "Like this channel"
msgstr "Dieser Kanal gefällt mir"
-#: ../../include/identity.php:1138 ../../include/taxonomy.php:338
-#: ../../include/ItemObject.php:146
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Gefällt mir"
-msgstr[1] "Gefällt mir"
-
-#: ../../include/identity.php:1151
+#: ../../include/identity.php:1161
msgid "j F, Y"
msgstr "j. F Y"
-#: ../../include/identity.php:1152
+#: ../../include/identity.php:1162
msgid "j F"
msgstr "j. F"
-#: ../../include/identity.php:1159
+#: ../../include/identity.php:1169
msgid "Birthday:"
msgstr "Geburtstag:"
-#: ../../include/identity.php:1163
+#: ../../include/identity.php:1173
msgid "Age:"
msgstr "Alter:"
-#: ../../include/identity.php:1172
+#: ../../include/identity.php:1182
#, php-format
msgid "for %1$d %2$s"
msgstr "seit %1$d %2$s"
-#: ../../include/identity.php:1175 ../../mod/profiles.php:667
+#: ../../include/identity.php:1185 ../../mod/profiles.php:657
msgid "Sexual Preference:"
msgstr "Sexuelle Orientierung:"
-#: ../../include/identity.php:1179 ../../mod/profiles.php:669
+#: ../../include/identity.php:1189 ../../mod/profiles.php:659
msgid "Hometown:"
msgstr "Heimatstadt:"
-#: ../../include/identity.php:1181
+#: ../../include/identity.php:1191
msgid "Tags:"
msgstr "Schlagworte:"
-#: ../../include/identity.php:1183 ../../mod/profiles.php:670
+#: ../../include/identity.php:1193 ../../mod/profiles.php:660
msgid "Political Views:"
msgstr "Politische Ansichten:"
-#: ../../include/identity.php:1185
+#: ../../include/identity.php:1195
msgid "Religion:"
msgstr "Religion:"
-#: ../../include/identity.php:1187 ../../mod/directory.php:164
+#: ../../include/identity.php:1197
msgid "About:"
msgstr "Ãœber:"
-#: ../../include/identity.php:1189
+#: ../../include/identity.php:1199
msgid "Hobbies/Interests:"
msgstr "Hobbys/Interessen:"
-#: ../../include/identity.php:1191 ../../mod/profiles.php:673
+#: ../../include/identity.php:1201 ../../mod/profiles.php:663
msgid "Likes:"
msgstr "Gefällt:"
-#: ../../include/identity.php:1193 ../../mod/profiles.php:674
+#: ../../include/identity.php:1203 ../../mod/profiles.php:664
msgid "Dislikes:"
msgstr "Gefällt nicht:"
-#: ../../include/identity.php:1196
+#: ../../include/identity.php:1206
msgid "Contact information and Social Networks:"
msgstr "Kontaktinformation und soziale Netzwerke:"
-#: ../../include/identity.php:1198
+#: ../../include/identity.php:1208
msgid "My other channels:"
msgstr "Meine anderen Kanäle:"
-#: ../../include/identity.php:1200
+#: ../../include/identity.php:1210
msgid "Musical interests:"
msgstr "Musikalische Interessen:"
-#: ../../include/identity.php:1202
+#: ../../include/identity.php:1212
msgid "Books, literature:"
msgstr "Bücher, Literatur:"
-#: ../../include/identity.php:1204
+#: ../../include/identity.php:1214
msgid "Television:"
msgstr "Fernsehen:"
-#: ../../include/identity.php:1206
+#: ../../include/identity.php:1216
msgid "Film/dance/culture/entertainment:"
msgstr "Film/Tanz/Kultur/Unterhaltung:"
-#: ../../include/identity.php:1208
+#: ../../include/identity.php:1218
msgid "Love/Romance:"
msgstr "Liebe/Romantik:"
-#: ../../include/identity.php:1210
+#: ../../include/identity.php:1220
msgid "Work/employment:"
msgstr "Arbeit/Anstellung:"
-#: ../../include/identity.php:1212
+#: ../../include/identity.php:1222
msgid "School/education:"
msgstr "Schule/Ausbildung:"
-#: ../../include/identity.php:1232
+#: ../../include/identity.php:1242
msgid "Like this thing"
msgstr "Gefällt mir"
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Neue Seite"
+#: ../../include/items.php:377 ../../mod/profperm.php:23
+#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/like.php:246
+#: ../../index.php:389
+msgid "Permission denied"
+msgstr "Keine Berechtigung"
-#: ../../include/page_widgets.php:39 ../../mod/webpages.php:134
-#: ../../mod/blocks.php:102 ../../mod/layouts.php:125
-msgid "View"
-msgstr "Ansicht"
+#: ../../include/items.php:964 ../../include/items.php:1009
+msgid "(Unknown)"
+msgstr "(Unbekannt)"
-#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:608
-#: ../../include/conversation.php:1114 ../../mod/webpages.php:135
-#: ../../mod/photos.php:1015 ../../mod/editpost.php:140
-#: ../../mod/editwebpage.php:174 ../../mod/editblock.php:141
-#: ../../mod/editlayout.php:135
-msgid "Preview"
-msgstr "Vorschau"
+#: ../../include/items.php:1165
+msgid "Visible to anybody on the internet."
+msgstr "Für jeden im Internet sichtbar."
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:136
-msgid "Actions"
-msgstr "Aktionen"
+#: ../../include/items.php:1167
+msgid "Visible to you only."
+msgstr "Nur für Dich sichtbar."
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:137
-msgid "Page Link"
-msgstr "Seiten-Link"
+#: ../../include/items.php:1169
+msgid "Visible to anybody in this network."
+msgstr "Für jedes Mitglied der RedMatrix sichtbar."
-#: ../../include/page_widgets.php:43 ../../mod/webpages.php:138
-msgid "Title"
-msgstr "Titel"
+#: ../../include/items.php:1171
+msgid "Visible to anybody authenticated."
+msgstr "Für jeden sichtbar, der angemeldet ist."
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:139
-msgid "Created"
-msgstr "Erstellt"
+#: ../../include/items.php:1173
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Für jeden auf %s sichtbar."
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:140
-msgid "Edited"
-msgstr "Geändert"
+#: ../../include/items.php:1175
+msgid "Visible to all connections."
+msgstr "Für alle Verbindungen sichtbar."
+
+#: ../../include/items.php:1177
+msgid "Visible to approved connections."
+msgstr "Nur für akzeptierte Verbindungen sichtbar."
+
+#: ../../include/items.php:1179
+msgid "Visible to specific connections."
+msgstr "Sichtbar für bestimmte Verbindungen."
+
+#: ../../include/items.php:3946 ../../mod/thing.php:76
+#: ../../mod/display.php:32 ../../mod/filestorage.php:26
+#: ../../mod/admin.php:168 ../../mod/admin.php:896 ../../mod/admin.php:1099
+#: ../../mod/viewsrc.php:20
+msgid "Item not found."
+msgstr "Element nicht gefunden."
+
+#: ../../include/items.php:4402 ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
+msgstr "Sammlung nicht gefunden"
+
+#: ../../include/items.php:4417
+msgid "Collection is empty."
+msgstr "Sammlung ist leer."
+
+#: ../../include/items.php:4424
+#, php-format
+msgid "Collection: %s"
+msgstr "Sammlung: %s"
+
+#: ../../include/items.php:4435
+#, php-format
+msgid "Connection: %s"
+msgstr "Verbindung: %s"
+
+#: ../../include/items.php:4438
+msgid "Connection not found."
+msgstr "Die Verbindung wurde nicht gefunden."
#: ../../include/message.php:18
msgid "No recipient provided."
@@ -1039,52 +2565,200 @@ msgstr "Kann Absender nicht bestimmen."
msgid "Stored post could not be verified."
msgstr "Gespeicherter Beitrag konnten nicht überprüft werden."
-#: ../../include/taxonomy.php:210
-msgid "Tags"
-msgstr "Schlagwörter"
+#: ../../include/network.php:590
+msgid "view full size"
+msgstr "In Vollbildansicht anschauen"
-#: ../../include/taxonomy.php:227
-msgid "Keywords"
-msgstr "Schlüsselwörter"
+#: ../../include/attach.php:221 ../../include/attach.php:275
+msgid "Item was not found."
+msgstr "Beitrag wurde nicht gefunden."
-#: ../../include/taxonomy.php:252
-msgid "have"
-msgstr "habe"
+#: ../../include/attach.php:331
+msgid "No source file."
+msgstr "Keine Quelldatei."
-#: ../../include/taxonomy.php:252
-msgid "has"
-msgstr "hat"
+#: ../../include/attach.php:348
+msgid "Cannot locate file to replace"
+msgstr "Kann Datei zum Ersetzen nicht finden"
-#: ../../include/taxonomy.php:253
-msgid "want"
-msgstr "will"
+#: ../../include/attach.php:366
+msgid "Cannot locate file to revise/update"
+msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden"
-#: ../../include/taxonomy.php:253
-msgid "wants"
-msgstr "will"
+#: ../../include/attach.php:377
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "Datei überschreitet das Größen-Limit von %d"
-#: ../../include/taxonomy.php:254 ../../include/ItemObject.php:221
-msgid "like"
-msgstr "mag"
+#: ../../include/attach.php:389
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."
-#: ../../include/taxonomy.php:254
-msgid "likes"
-msgstr "gefällt"
+#: ../../include/attach.php:472
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."
-#: ../../include/taxonomy.php:255 ../../include/ItemObject.php:222
-msgid "dislike"
-msgstr "verurteile"
+#: ../../include/attach.php:484
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."
-#: ../../include/taxonomy.php:255
-msgid "dislikes"
-msgstr "missfällt"
+#: ../../include/attach.php:526 ../../include/attach.php:543
+msgid "Path not available."
+msgstr "Pfad nicht verfügbar."
+
+#: ../../include/attach.php:589
+msgid "Empty pathname"
+msgstr "Leere Pfadangabe"
+
+#: ../../include/attach.php:605
+msgid "duplicate filename or path"
+msgstr "doppelter Dateiname oder Pfad"
+
+#: ../../include/attach.php:629
+msgid "Path not found."
+msgstr "Pfad nicht gefunden."
+
+#: ../../include/attach.php:680
+msgid "mkdir failed."
+msgstr "mkdir fehlgeschlagen."
+
+#: ../../include/attach.php:684
+msgid "database storage failed."
+msgstr "Speichern in der Datenbank fehlgeschlagen."
+
+#: ../../include/auth.php:116
+msgid "Logged out."
+msgstr "Ausgeloggt."
+
+#: ../../include/auth.php:257
+msgid "Failed authentication"
+msgstr "Authentifizierung fehlgeschlagen"
+
+#: ../../include/auth.php:271 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "Login fehlgeschlagen."
+
+#: ../../include/datetime.php:43 ../../include/datetime.php:45
+msgid "Miscellaneous"
+msgstr "Verschiedenes"
+
+#: ../../include/datetime.php:142
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "JJJJ-MM-TT oder MM-TT"
+
+#: ../../include/datetime.php:248
+msgid "never"
+msgstr "Nie"
+
+#: ../../include/datetime.php:254
+msgid "less than a second ago"
+msgstr "Vor weniger als einer Sekunde"
+
+#: ../../include/datetime.php:257
+msgid "year"
+msgstr "Jahr"
+
+#: ../../include/datetime.php:257
+msgid "years"
+msgstr "Jahre"
+
+#: ../../include/datetime.php:258
+msgid "month"
+msgstr "Monat"
+
+#: ../../include/datetime.php:258
+msgid "months"
+msgstr "Monate"
+
+#: ../../include/datetime.php:259
+msgid "week"
+msgstr "Woche"
+
+#: ../../include/datetime.php:259
+msgid "weeks"
+msgstr "Wochen"
+
+#: ../../include/datetime.php:260
+msgid "day"
+msgstr "Tag"
+
+#: ../../include/datetime.php:260
+msgid "days"
+msgstr "Tage"
+
+#: ../../include/datetime.php:261
+msgid "hour"
+msgstr "Stunde"
+
+#: ../../include/datetime.php:261
+msgid "hours"
+msgstr "Stunden"
+
+#: ../../include/datetime.php:262
+msgid "minute"
+msgstr "Minute"
+
+#: ../../include/datetime.php:262
+msgid "minutes"
+msgstr "Minuten"
+
+#: ../../include/datetime.php:263
+msgid "second"
+msgstr "Sekunde"
+
+#: ../../include/datetime.php:263
+msgid "seconds"
+msgstr "Sekunden"
+
+#: ../../include/datetime.php:272
+#, php-format
+msgid "%1$d %2$s ago"
+msgstr "vor %1$d %2$s"
+
+#: ../../include/datetime.php:480
+#, php-format
+msgid "%1$s's birthday"
+msgstr "%1$ss Geburtstag"
+
+#: ../../include/datetime.php:481
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Alles Gute zum Geburtstag, %1$s"
+
+#: ../../include/photos.php:105
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Bild überschreitet das Limit der Webseite von %lu bytes"
+
+#: ../../include/photos.php:112
+msgid "Image file is empty."
+msgstr "Bilddatei ist leer."
+
+#: ../../include/photos.php:141 ../../mod/profile_photo.php:216
+msgid "Unable to process image"
+msgstr "Kann Bild nicht verarbeiten"
+
+#: ../../include/photos.php:213
+msgid "Photo storage failed."
+msgstr "Foto speichern schlug fehl"
+
+#: ../../include/photos.php:345
+msgid "Upload New Photos"
+msgstr "Lade neue Fotos hoch"
+
+#: ../../include/security.php:323
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde."
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr "Dieses Element löschen?"
#: ../../include/js_strings.php:6 ../../include/ItemObject.php:598
-#: ../../mod/photos.php:1013 ../../mod/photos.php:1100
+#: ../../mod/photos.php:995 ../../mod/photos.php:1105
msgid "Comment"
msgstr "Kommentar"
@@ -1209,212 +2883,6 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/permissions.php:13
-msgid "Can view my normal stream and posts"
-msgstr "Kann meine normalen Beiträge sehen"
-
-#: ../../include/permissions.php:14
-msgid "Can view my default channel profile"
-msgstr "Kann mein Standardprofil sehen"
-
-#: ../../include/permissions.php:15
-msgid "Can view my photo albums"
-msgstr "Kann meine Fotoalben betrachten"
-
-#: ../../include/permissions.php:16
-msgid "Can view my connections"
-msgstr "Kann meine Verbindungen sehen"
-
-#: ../../include/permissions.php:17
-msgid "Can view my file storage"
-msgstr "Kann meine Dateiordner lesen"
-
-#: ../../include/permissions.php:18
-msgid "Can view my webpages"
-msgstr "Kann meine Webseiten sehen"
-
-#: ../../include/permissions.php:21
-msgid "Can send me their channel stream and posts"
-msgstr "Kann mir die Beiträge aus seinem/ihrem Kanal schicken"
-
-#: ../../include/permissions.php:22
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen"
-
-#: ../../include/permissions.php:23
-msgid "Can comment on or like my posts"
-msgstr "Darf meine Beiträge kommentieren und mögen/nicht mögen"
-
-#: ../../include/permissions.php:24
-msgid "Can send me private mail messages"
-msgstr "Kann mir private Nachrichten schicken"
-
-#: ../../include/permissions.php:25
-msgid "Can post photos to my photo albums"
-msgstr "Kann Fotos in meinen Fotoalben veröffentlichen"
-
-#: ../../include/permissions.php:26
-msgid "Can like/dislike stuff"
-msgstr "Kann andere Elemente mögen/nicht mögen"
-
-#: ../../include/permissions.php:26
-msgid "Profiles and things other than posts/comments"
-msgstr "Profile und alles außer Beiträge und Kommentare"
-
-#: ../../include/permissions.php:28
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten"
-
-#: ../../include/permissions.php:28
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen"
-
-#: ../../include/permissions.php:29
-msgid "Can chat with me (when available)"
-msgstr "Kann mit mir chatten (wenn verfügbar)"
-
-#: ../../include/permissions.php:30
-msgid "Can write to my file storage"
-msgstr "Kann in meine Dateiordner schreiben"
-
-#: ../../include/permissions.php:31
-msgid "Can edit my webpages"
-msgstr "Kann meine Webseiten bearbeiten"
-
-#: ../../include/permissions.php:33
-msgid "Can source my public posts in derived channels"
-msgstr "Kann meine öffentlichen Beiträge als Quellen für Kanäle verwenden"
-
-#: ../../include/permissions.php:33
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften"
-
-#: ../../include/permissions.php:35
-msgid "Can administer my channel resources"
-msgstr "Kann meine Kanäle administrieren"
-
-#: ../../include/permissions.php:35
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust"
-
-#: ../../include/permissions.php:738
-msgid "Social Networking"
-msgstr "Soziales Netzwerk"
-
-#: ../../include/permissions.php:739 ../../include/permissions.php:741
-#: ../../include/permissions.php:743 ../../include/permissions.php:745
-msgid "Mostly Public"
-msgstr "Weitgehend öffentlich"
-
-#: ../../include/permissions.php:739 ../../include/permissions.php:741
-#: ../../include/permissions.php:743
-msgid "Restricted"
-msgstr "Beschränkt"
-
-#: ../../include/permissions.php:739 ../../include/permissions.php:741
-msgid "Private"
-msgstr "Privat"
-
-#: ../../include/permissions.php:740
-msgid "Community Forum"
-msgstr "Forum"
-
-#: ../../include/permissions.php:742
-msgid "Feed Republish"
-msgstr "Teilen von Feeds"
-
-#: ../../include/permissions.php:744
-msgid "Celebrity/Soapbox"
-msgstr "Mitteilungs-Kanal (keine Kommentare)"
-
-#: ../../include/permissions.php:746 ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97
-msgid "Other"
-msgstr "Anders"
-
-#: ../../include/permissions.php:747
-msgid "Custom/Expert Mode"
-msgstr "Benutzerdefiniert/Expertenmodus"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Häufig"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Stündlich"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Zwei Mal am Tag"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Täglich"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Wöchentlich"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Monatlich"
-
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
-
-#: ../../include/event.php:11 ../../include/bb2diaspora.php:439
-msgid "l F d, Y \\@ g:i A"
-msgstr "l, d. F Y\\\\, H:i"
-
-#: ../../include/event.php:20 ../../include/bb2diaspora.php:445
-msgid "Starts:"
-msgstr "Beginnt:"
-
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:453
-msgid "Finishes:"
-msgstr "Endet:"
-
-#: ../../include/event.php:326
-msgid "This event has been added to your calendar."
-msgstr "Dieses Ereignis wurde zu Deinem Kalender hinzugefügt"
-
#: ../../include/profile_selectors.php:6
#: ../../include/profile_selectors.php:23
msgid "Male"
@@ -1651,228 +3119,407 @@ msgstr "Interessiert mich nicht"
msgid "Ask me"
msgstr "Frag mich mal"
-#: ../../include/account.php:23
-msgid "Not a valid email address"
-msgstr "Ungültige E-Mail-Adresse"
+#: ../../include/text.php:321
+msgid "prev"
+msgstr "vorherige"
-#: ../../include/account.php:25
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Deine E-Mail-Adresse ist dieser Seite nicht erlaubt"
+#: ../../include/text.php:323
+msgid "first"
+msgstr "erste"
-#: ../../include/account.php:31
-msgid "Your email address is already registered at this site."
-msgstr "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert."
+#: ../../include/text.php:352
+msgid "last"
+msgstr "letzte"
-#: ../../include/account.php:64
-msgid "An invitation is required."
-msgstr "Eine Einladung wird benötigt"
+#: ../../include/text.php:355
+msgid "next"
+msgstr "nächste"
-#: ../../include/account.php:68
-msgid "Invitation could not be verified."
-msgstr "Die Einladung konnte nicht bestätigt werden"
+#: ../../include/text.php:367
+msgid "older"
+msgstr "älter"
-#: ../../include/account.php:119
-msgid "Please enter the required information."
-msgstr "Bitte gib die benötigten Informationen ein."
+#: ../../include/text.php:369
+msgid "newer"
+msgstr "neuer"
-#: ../../include/account.php:187
-msgid "Failed to store account information."
-msgstr "Speichern der Account-Informationen fehlgeschlagen"
+#: ../../include/text.php:736
+msgid "No connections"
+msgstr "Keine Verbindungen"
-#: ../../include/account.php:245
+#: ../../include/text.php:753
#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registrierungsbestätigung für %s"
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d Verbindung"
+msgstr[1] "%d Verbindungen"
-#: ../../include/account.php:313
-#, php-format
-msgid "Registration request at %s"
-msgstr "Registrierungsanfrage auf %s"
+#: ../../include/text.php:766
+msgid "View Connections"
+msgstr "Verbindungen anzeigen"
-#: ../../include/account.php:315 ../../include/account.php:342
-#: ../../include/account.php:399
-msgid "Administrator"
-msgstr "Administrator"
+#: ../../include/text.php:905
+msgid "poke"
+msgstr "anstupsen"
-#: ../../include/account.php:337
-msgid "your registration password"
-msgstr "Dein Registrierungspasswort"
+#: ../../include/text.php:906
+msgid "ping"
+msgstr "anpingen"
-#: ../../include/account.php:340 ../../include/account.php:397
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registrierungsdetails für %s"
+#: ../../include/text.php:906
+msgid "pinged"
+msgstr "pingte"
-#: ../../include/account.php:406
-msgid "Account approved."
-msgstr "Account bestätigt."
+#: ../../include/text.php:907
+msgid "prod"
+msgstr "knuffen"
-#: ../../include/account.php:440
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrierung für %s widerrufen"
+#: ../../include/text.php:907
+msgid "prodded"
+msgstr "knuffte"
-#: ../../include/account.php:486
-msgid "Account verified. Please login."
-msgstr "Konto geprüft. Bitte melde Dich an!"
+#: ../../include/text.php:908
+msgid "slap"
+msgstr "ohrfeigen"
-#: ../../include/account.php:647 ../../include/account.php:649
-msgid "Click here to upgrade."
-msgstr "Klicke hier, um das Upgrade durchzuführen."
+#: ../../include/text.php:908
+msgid "slapped"
+msgstr "ohrfeigte"
-#: ../../include/account.php:655
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
+#: ../../include/text.php:909
+msgid "finger"
+msgstr "befummeln"
-#: ../../include/account.php:660
-msgid "This action is not available under your subscription plan."
-msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
+#: ../../include/text.php:909
+msgid "fingered"
+msgstr "befummelte"
-#: ../../include/oembed.php:171
-msgid "Embedded content"
-msgstr "Eingebetteter Inhalt"
+#: ../../include/text.php:910
+msgid "rebuff"
+msgstr "eine Abfuhr erteilen"
-#: ../../include/oembed.php:180
-msgid "Embedding disabled"
-msgstr "Einbetten ausgeschaltet"
+#: ../../include/text.php:910
+msgid "rebuffed"
+msgstr "zurückgewiesen"
-#: ../../include/zot.php:655
-msgid "Invalid data packet"
-msgstr "Ungültiges Datenpaket"
+#: ../../include/text.php:919
+msgid "happy"
+msgstr "glücklich"
-#: ../../include/zot.php:671
-msgid "Unable to verify channel signature"
-msgstr "Konnte die Signatur des Kanals nicht verifizieren"
+#: ../../include/text.php:920
+msgid "sad"
+msgstr "traurig"
-#: ../../include/zot.php:1757
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
+#: ../../include/text.php:921
+msgid "mellow"
+msgstr "sanft"
-#: ../../include/network.php:590
-msgid "view full size"
-msgstr "In Vollbildansicht anschauen"
+#: ../../include/text.php:922
+msgid "tired"
+msgstr "müde"
-#: ../../include/dba/dba_driver.php:50
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden"
+#: ../../include/text.php:923
+msgid "perky"
+msgstr "frech"
-#: ../../include/group.php:25
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Ein gelöschte Gruppe mit diesem Namen wurde gefunden. Existierende Zugangsregeln für Elemente <strong>könnten</strong> für diese Gruppe angewendet werden, sowie für alle zukünftigen Elemente."
+#: ../../include/text.php:924
+msgid "angry"
+msgstr "sauer"
-#: ../../include/group.php:234
-msgid "Default privacy group for new contacts"
-msgstr "Standard-Privatsphärengruppe für neue Kontakte"
+#: ../../include/text.php:925
+msgid "stupified"
+msgstr "verblüfft"
-#: ../../include/group.php:253 ../../mod/admin.php:737
-msgid "All Channels"
-msgstr "Alle Kanäle"
+#: ../../include/text.php:926
+msgid "puzzled"
+msgstr "verwirrt"
-#: ../../include/group.php:275
-msgid "edit"
-msgstr "Bearbeiten"
+#: ../../include/text.php:927
+msgid "interested"
+msgstr "interessiert"
-#: ../../include/group.php:297
-msgid "Collections"
-msgstr "Sammlungen"
+#: ../../include/text.php:928
+msgid "bitter"
+msgstr "verbittert"
-#: ../../include/group.php:298
-msgid "Edit collection"
-msgstr "Bearbeite Sammlungen"
+#: ../../include/text.php:929
+msgid "cheerful"
+msgstr "fröhlich"
-#: ../../include/group.php:299
-msgid "Create a new collection"
-msgstr "Neue Sammlung erzeugen"
+#: ../../include/text.php:930
+msgid "alive"
+msgstr "lebendig"
-#: ../../include/group.php:300
-msgid "Channels not in any collection"
-msgstr "Kanäle, die nicht in einer Sammlung sind"
+#: ../../include/text.php:931
+msgid "annoyed"
+msgstr "verärgert"
-#: ../../include/group.php:302 ../../include/widgets.php:273
-msgid "add"
-msgstr "hinzufügen"
+#: ../../include/text.php:932
+msgid "anxious"
+msgstr "unruhig"
-#: ../../include/attach.php:221 ../../include/attach.php:275
-msgid "Item was not found."
-msgstr "Beitrag wurde nicht gefunden."
+#: ../../include/text.php:933
+msgid "cranky"
+msgstr "schrullig"
-#: ../../include/attach.php:331
-msgid "No source file."
-msgstr "Keine Quelldatei."
+#: ../../include/text.php:934
+msgid "disturbed"
+msgstr "verstört"
-#: ../../include/attach.php:348
-msgid "Cannot locate file to replace"
-msgstr "Kann Datei zum Ersetzen nicht finden"
+#: ../../include/text.php:935
+msgid "frustrated"
+msgstr "frustriert"
-#: ../../include/attach.php:366
-msgid "Cannot locate file to revise/update"
-msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden"
+#: ../../include/text.php:936
+msgid "depressed"
+msgstr "deprimiert"
-#: ../../include/attach.php:377
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Datei überschreitet das Größen-Limit von %d"
+#: ../../include/text.php:937
+msgid "motivated"
+msgstr "motiviert"
-#: ../../include/attach.php:389
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."
+#: ../../include/text.php:938
+msgid "relaxed"
+msgstr "entspannt"
-#: ../../include/attach.php:472
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."
+#: ../../include/text.php:939
+msgid "surprised"
+msgstr "überrascht"
-#: ../../include/attach.php:484
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."
+#: ../../include/text.php:1103
+msgid "Monday"
+msgstr "Montag"
-#: ../../include/attach.php:526 ../../include/attach.php:543
-msgid "Path not available."
-msgstr "Pfad nicht verfügbar."
+#: ../../include/text.php:1103
+msgid "Tuesday"
+msgstr "Dienstag"
-#: ../../include/attach.php:589
-msgid "Empty pathname"
-msgstr "Leere Pfadangabe"
+#: ../../include/text.php:1103
+msgid "Wednesday"
+msgstr "Mittwoch"
-#: ../../include/attach.php:605
-msgid "duplicate filename or path"
-msgstr "doppelter Dateiname oder Pfad"
+#: ../../include/text.php:1103
+msgid "Thursday"
+msgstr "Donnerstag"
-#: ../../include/attach.php:629
-msgid "Path not found."
-msgstr "Pfad nicht gefunden."
+#: ../../include/text.php:1103
+msgid "Friday"
+msgstr "Freitag"
-#: ../../include/attach.php:680
-msgid "mkdir failed."
-msgstr "mkdir fehlgeschlagen."
+#: ../../include/text.php:1103
+msgid "Saturday"
+msgstr "Samstag"
-#: ../../include/attach.php:684
-msgid "database storage failed."
-msgstr "Speichern in der Datenbank fehlgeschlagen."
+#: ../../include/text.php:1103
+msgid "Sunday"
+msgstr "Sonntag"
-#: ../../include/ItemObject.php:89 ../../include/conversation.php:645
-#: ../../mod/photos.php:862
-msgid "Private Message"
-msgstr "Private Nachricht"
+#: ../../include/text.php:1107
+msgid "January"
+msgstr "Januar"
-#: ../../include/ItemObject.php:126 ../../include/conversation.php:637
-msgid "Select"
-msgstr "Auswählen"
+#: ../../include/text.php:1107
+msgid "February"
+msgstr "Februar"
+
+#: ../../include/text.php:1107
+msgid "March"
+msgstr "März"
+
+#: ../../include/text.php:1107
+msgid "April"
+msgstr "April"
+
+#: ../../include/text.php:1107
+msgid "May"
+msgstr "Mai"
+
+#: ../../include/text.php:1107
+msgid "June"
+msgstr "Juni"
+
+#: ../../include/text.php:1107
+msgid "July"
+msgstr "Juli"
+
+#: ../../include/text.php:1107
+msgid "August"
+msgstr "August"
+
+#: ../../include/text.php:1107
+msgid "September"
+msgstr "September"
+
+#: ../../include/text.php:1107
+msgid "October"
+msgstr "Oktober"
+
+#: ../../include/text.php:1107
+msgid "November"
+msgstr "November"
+
+#: ../../include/text.php:1107
+msgid "December"
+msgstr "Dezember"
+
+#: ../../include/text.php:1185
+msgid "unknown.???"
+msgstr "unbekannt.???"
+
+#: ../../include/text.php:1186
+msgid "bytes"
+msgstr "Bytes"
+
+#: ../../include/text.php:1225
+msgid "remove category"
+msgstr "Kategorie entfernen"
+
+#: ../../include/text.php:1295
+msgid "remove from file"
+msgstr "aus der Datei entfernen"
+
+#: ../../include/text.php:1360 ../../include/text.php:1372
+msgid "Click to open/close"
+msgstr "Klicke zum Öffnen/Schließen"
+
+#: ../../include/text.php:1527 ../../mod/events.php:409
+msgid "Link to Source"
+msgstr "Link zur Quelle"
+
+#: ../../include/text.php:1546
+msgid "Select a page layout: "
+msgstr "Ein Seiten-Layout auswählen:"
+
+#: ../../include/text.php:1549 ../../include/text.php:1614
+msgid "default"
+msgstr "Standard"
+
+#: ../../include/text.php:1585
+msgid "Page content type: "
+msgstr "Content-Typ der Seite:"
+
+#: ../../include/text.php:1626
+msgid "Select an alternate language"
+msgstr "Wähle eine alternative Sprache"
+
+#: ../../include/text.php:1760
+msgid "activity"
+msgstr "Aktivität"
+
+#: ../../include/text.php:2041
+msgid "Design"
+msgstr "Design"
+
+#: ../../include/text.php:2044
+msgid "Blocks"
+msgstr "Blöcke"
+
+#: ../../include/text.php:2045
+msgid "Menus"
+msgstr "Menüs"
+
+#: ../../include/text.php:2046
+msgid "Layouts"
+msgstr "Layouts"
+
+#: ../../include/text.php:2047
+msgid "Pages"
+msgstr "Seiten"
+
+#: ../../include/acl_selectors.php:240
+msgid "Visible to your default audience"
+msgstr "Standard-Sichtbarkeit"
+
+#: ../../include/acl_selectors.php:241
+msgid "Show"
+msgstr "Zeigen"
+
+#: ../../include/acl_selectors.php:242
+msgid "Don't show"
+msgstr "Nicht zeigen"
+
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:585
+#: ../../mod/chat.php:209 ../../mod/photos.php:588 ../../mod/photos.php:950
+#: ../../mod/filestorage.php:137
+msgid "Permissions"
+msgstr "Berechtigungen"
+
+#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:305
+#: ../../mod/photos.php:1148
+msgid "Close"
+msgstr "Schließen"
+
+#: ../../include/api.php:1084
+msgid "Public Timeline"
+msgstr "Öffentliche Zeitleiste"
+
+#: ../../include/apps.php:126
+msgid "Site Admin"
+msgstr "Hub-Administration"
+
+#: ../../include/apps.php:128
+msgid "Address Book"
+msgstr "Adressbuch"
+
+#: ../../include/apps.php:142 ../../mod/mood.php:131
+msgid "Mood"
+msgstr "Laune"
+
+#: ../../include/apps.php:146
+msgid "Probe"
+msgstr "Testen"
+
+#: ../../include/apps.php:147
+msgid "Suggest"
+msgstr "Empfehlen"
+
+#: ../../include/apps.php:148
+msgid "Random Channel"
+msgstr "Zufälliger Kanal"
+
+#: ../../include/apps.php:149
+msgid "Invite"
+msgstr "Einladen"
+
+#: ../../include/apps.php:150
+msgid "Features"
+msgstr "Funktionen"
+
+#: ../../include/apps.php:151
+msgid "Language"
+msgstr "Sprache"
+
+#: ../../include/apps.php:152
+msgid "Post"
+msgstr "Beitrag"
+
+#: ../../include/apps.php:153
+msgid "Profile Photo"
+msgstr "Profilfoto"
+
+#: ../../include/apps.php:242 ../../mod/settings.php:81
+#: ../../mod/settings.php:575
+msgid "Update"
+msgstr "Aktualisieren"
+
+#: ../../include/apps.php:242
+msgid "Install"
+msgstr "Installieren"
+
+#: ../../include/apps.php:247
+msgid "Purchase"
+msgstr "Kaufen"
#: ../../include/ItemObject.php:130
msgid "Save to Folder"
msgstr "In Ordner speichern"
#: ../../include/ItemObject.php:142 ../../include/ItemObject.php:154
+#: ../../mod/photos.php:1022 ../../mod/photos.php:1034
msgid "View all"
msgstr "Alles anzeigen"
-#: ../../include/ItemObject.php:151
+#: ../../include/ItemObject.php:151 ../../mod/photos.php:1031
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
@@ -1889,29 +3536,21 @@ msgstr "Stern entfernen"
#: ../../include/ItemObject.php:181
msgid "Toggle Star Status"
-msgstr "Stern-Status umschalten"
+msgstr "Markierungsstatus (Stern) umschalten"
#: ../../include/ItemObject.php:185
msgid "starred"
msgstr "markiert"
-#: ../../include/ItemObject.php:194 ../../include/conversation.php:652
-msgid "Message signature validated"
-msgstr "Signatur überprüft"
-
-#: ../../include/ItemObject.php:195 ../../include/conversation.php:653
-msgid "Message signature incorrect"
-msgstr "Signatur nicht korrekt"
-
#: ../../include/ItemObject.php:203
msgid "Add Tag"
msgstr "Tag hinzufügen"
-#: ../../include/ItemObject.php:221 ../../mod/photos.php:992
+#: ../../include/ItemObject.php:221 ../../mod/photos.php:974
msgid "I like this (toggle)"
msgstr "Mir gefällt das (Umschalter)"
-#: ../../include/ItemObject.php:222 ../../mod/photos.php:993
+#: ../../include/ItemObject.php:222 ../../mod/photos.php:975
msgid "I don't like this (toggle)"
msgstr "Mir gefällt das nicht (Umschalter)"
@@ -1944,21 +3583,6 @@ msgstr "Wall-to-Wall"
msgid "via Wall-To-Wall:"
msgstr "via Wall-To-Wall:"
-#: ../../include/ItemObject.php:265 ../../include/conversation.php:698
-#, php-format
-msgid " from %s"
-msgstr "von %s"
-
-#: ../../include/ItemObject.php:268 ../../include/conversation.php:701
-#, php-format
-msgid "last edited: %s"
-msgstr "zuletzt bearbeitet: %s"
-
-#: ../../include/ItemObject.php:269 ../../include/conversation.php:702
-#, php-format
-msgid "Expires: %s"
-msgstr "Verfällt: %s"
-
#: ../../include/ItemObject.php:290
msgid "Save Bookmarks"
msgstr "Favoriten speichern"
@@ -1967,28 +3591,16 @@ msgstr "Favoriten speichern"
msgid "Add to Calendar"
msgstr "Zum Kalender hinzufügen"
-#: ../../include/ItemObject.php:299
+#: ../../include/ItemObject.php:299 ../../mod/photos.php:1142
msgctxt "noun"
msgid "Likes"
msgstr "Gefällt mir"
-#: ../../include/ItemObject.php:300
+#: ../../include/ItemObject.php:300 ../../mod/photos.php:1143
msgctxt "noun"
msgid "Dislikes"
msgstr "Gefällt nicht"
-#: ../../include/ItemObject.php:305 ../../include/acl_selectors.php:249
-msgid "Close"
-msgstr "Schließen"
-
-#: ../../include/ItemObject.php:310 ../../include/conversation.php:719
-#: ../../include/conversation.php:1153 ../../mod/photos.php:995
-#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:152
-#: ../../mod/mail.php:234 ../../mod/mail.php:349 ../../mod/editblock.php:120
-#: ../../mod/editlayout.php:115
-msgid "Please wait"
-msgstr "Bitte warten"
-
#: ../../include/ItemObject.php:331
#, php-format
msgid "%d comment"
@@ -1996,11 +3608,34 @@ msgid_plural "%d comments"
msgstr[0] "%d Kommentar"
msgstr[1] "%d Kommentare"
-#: ../../include/ItemObject.php:596 ../../mod/photos.php:1011
-#: ../../mod/photos.php:1098
+#: ../../include/ItemObject.php:596 ../../mod/photos.php:993
+#: ../../mod/photos.php:1103
msgid "This is you"
msgstr "Das bist Du"
+#: ../../include/ItemObject.php:599 ../../mod/mood.php:135
+#: ../../mod/profiles.php:633 ../../mod/connect.php:92 ../../mod/setup.php:313
+#: ../../mod/setup.php:358 ../../mod/poke.php:166 ../../mod/sources.php:104
+#: ../../mod/sources.php:138 ../../mod/events.php:587 ../../mod/chat.php:177
+#: ../../mod/chat.php:211 ../../mod/photos.php:594 ../../mod/photos.php:671
+#: ../../mod/photos.php:956 ../../mod/photos.php:996 ../../mod/photos.php:1106
+#: ../../mod/connedit.php:555 ../../mod/thing.php:284 ../../mod/thing.php:327
+#: ../../mod/pdledit.php:58 ../../mod/settings.php:549
+#: ../../mod/settings.php:661 ../../mod/settings.php:690
+#: ../../mod/settings.php:714 ../../mod/settings.php:790
+#: ../../mod/settings.php:976 ../../mod/fsuggest.php:108
+#: ../../mod/filestorage.php:146 ../../mod/group.php:81
+#: ../../mod/import.php:480 ../../mod/admin.php:412 ../../mod/admin.php:723
+#: ../../mod/admin.php:859 ../../mod/admin.php:992 ../../mod/admin.php:1191
+#: ../../mod/admin.php:1278 ../../mod/invite.php:142 ../../mod/locs.php:99
+#: ../../mod/mail.php:348 ../../mod/xchan.php:11 ../../mod/appman.php:99
+#: ../../mod/poll.php:68 ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/blogga/php/config.php:67
+#: ../../view/theme/blogga/view/theme/blog/config.php:67
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Bestätigen"
+
#: ../../include/ItemObject.php:600
msgid "Bold"
msgstr "Fett"
@@ -2033,2282 +3668,2897 @@ msgstr "Link"
msgid "Video"
msgstr "Video"
-#: ../../include/ItemObject.php:611 ../../include/conversation.php:1179
-#: ../../mod/editpost.php:148 ../../mod/mail.php:240 ../../mod/mail.php:354
-msgid "Encrypt text"
-msgstr "Text verschlüsseln"
+#: ../../mod/mood.php:132
+msgid "Set your current mood and tell your friends"
+msgstr "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden"
-#: ../../include/security.php:320
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde."
+#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
+msgid "Invalid profile identifier."
+msgstr "Ungültiger Profil-Identifikator"
-#: ../../include/text.php:321
-msgid "prev"
-msgstr "vorherige"
+#: ../../mod/profperm.php:110
+msgid "Profile Visibility Editor"
+msgstr "Profil-Sichtbarkeits-Editor"
-#: ../../include/text.php:323
-msgid "first"
-msgstr "erste"
+#: ../../mod/profperm.php:114
+msgid "Click on a contact to add or remove."
+msgstr "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen."
-#: ../../include/text.php:352
-msgid "last"
-msgstr "letzte"
+#: ../../mod/profperm.php:123
+msgid "Visible To"
+msgstr "Sichtbar für"
-#: ../../include/text.php:355
-msgid "next"
-msgstr "nächste"
+#: ../../mod/profperm.php:139 ../../mod/connections.php:279
+msgid "All Connections"
+msgstr "Alle Verbindungen"
-#: ../../include/text.php:367
-msgid "older"
-msgstr "älter"
+#: ../../mod/mitem.php:24 ../../mod/menu.php:108
+msgid "Menu not found."
+msgstr "Menü nicht gefunden"
-#: ../../include/text.php:369
-msgid "newer"
-msgstr "neuer"
+#: ../../mod/mitem.php:67
+msgid "Menu element updated."
+msgstr "Menü-Element aktualisiert."
-#: ../../include/text.php:736
-msgid "No connections"
-msgstr "Keine Verbindungen"
+#: ../../mod/mitem.php:71
+msgid "Unable to update menu element."
+msgstr "Kann Menü-Element nicht aktualisieren."
-#: ../../include/text.php:749
-#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d Verbindung"
-msgstr[1] "%d Verbindungen"
+#: ../../mod/mitem.php:77
+msgid "Menu element added."
+msgstr "Menü-Bestandteil hinzugefügt."
-#: ../../include/text.php:762
-msgid "View Connections"
-msgstr "Verbindungen anzeigen"
+#: ../../mod/mitem.php:81
+msgid "Unable to add menu element."
+msgstr "Kann Menü-Bestandteil nicht hinzufügen."
-#: ../../include/text.php:822 ../../include/text.php:834
-#: ../../include/nav.php:173 ../../include/apps.php:145
-#: ../../mod/search.php:30
-msgid "Search"
-msgstr "Suche"
+#: ../../mod/mitem.php:111 ../../mod/menu.php:136 ../../mod/xchan.php:37
+msgid "Not found."
+msgstr "Nicht gefunden."
-#: ../../include/text.php:823 ../../include/text.php:835
-#: ../../include/widgets.php:193 ../../mod/admin.php:1341
-#: ../../mod/admin.php:1362 ../../mod/filer.php:50 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98
-msgid "Save"
-msgstr "Speichern"
+#: ../../mod/mitem.php:127
+msgid "Manage Menu Elements"
+msgstr "Menü-Bestandteile verwalten"
-#: ../../include/text.php:901
-msgid "poke"
-msgstr "anstupsen"
+#: ../../mod/mitem.php:130
+msgid "Edit menu"
+msgstr "Menü bearbeiten"
-#: ../../include/text.php:901 ../../include/conversation.php:243
-msgid "poked"
-msgstr "stupste"
+#: ../../mod/mitem.php:133
+msgid "Edit element"
+msgstr "Bestandteil bearbeiten"
-#: ../../include/text.php:902
-msgid "ping"
-msgstr "anpingen"
+#: ../../mod/mitem.php:134
+msgid "Drop element"
+msgstr "Bestandteil löschen"
-#: ../../include/text.php:902
-msgid "pinged"
-msgstr "pingte"
+#: ../../mod/mitem.php:135
+msgid "New element"
+msgstr "Neues Bestandteil"
-#: ../../include/text.php:903
-msgid "prod"
-msgstr "knuffen"
+#: ../../mod/mitem.php:136
+msgid "Edit this menu container"
+msgstr "Diesen Menü-Container bearbeiten"
-#: ../../include/text.php:903
-msgid "prodded"
-msgstr "knuffte"
+#: ../../mod/mitem.php:137
+msgid "Add menu element"
+msgstr "Menüelement hinzufügen"
-#: ../../include/text.php:904
-msgid "slap"
-msgstr "ohrfeigen"
+#: ../../mod/mitem.php:138
+msgid "Delete this menu item"
+msgstr "Lösche dieses Menü-Bestandteil"
-#: ../../include/text.php:904
-msgid "slapped"
-msgstr "ohrfeigte"
+#: ../../mod/mitem.php:139
+msgid "Edit this menu item"
+msgstr "Bearbeite dieses Menü-Bestandteil"
-#: ../../include/text.php:905
-msgid "finger"
-msgstr "befummeln"
+#: ../../mod/mitem.php:158
+msgid "New Menu Element"
+msgstr "Neues Menü-Bestandteil"
-#: ../../include/text.php:905
-msgid "fingered"
-msgstr "befummelte"
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:203
+msgid "Menu Item Permissions"
+msgstr "Zugriffsrechte des Menü-Elements"
-#: ../../include/text.php:906
-msgid "rebuff"
-msgstr "eine Abfuhr erteilen"
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:204 ../../mod/settings.php:1011
+msgid "(click to open/close)"
+msgstr "(zum öffnen/schließen anklicken)"
-#: ../../include/text.php:906
-msgid "rebuffed"
-msgstr "zurückgewiesen"
+#: ../../mod/mitem.php:163 ../../mod/mitem.php:207
+msgid "Link text"
+msgstr "Link Text"
-#: ../../include/text.php:915
-msgid "happy"
-msgstr "glücklich"
+#: ../../mod/mitem.php:164 ../../mod/mitem.php:208
+msgid "URL of link"
+msgstr "URL des Links"
-#: ../../include/text.php:916
-msgid "sad"
-msgstr "traurig"
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
+msgid "Use RedMatrix magic-auth if available"
+msgstr "Verwende die automatische RedMatrix-Authentifizierung (magic-auth), wenn verfügbar"
-#: ../../include/text.php:917
-msgid "mellow"
-msgstr "sanft"
+#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
+msgid "Open link in new window"
+msgstr "Öffne Link in neuem Fenster"
-#: ../../include/text.php:918
-msgid "tired"
-msgstr "müde"
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
+msgid "Order in list"
+msgstr "Reihenfolge in der Liste"
-#: ../../include/text.php:919
-msgid "perky"
-msgstr "frech"
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Größere Nummern werden weiter unten in der Auflistung einsortiert"
-#: ../../include/text.php:920
-msgid "angry"
-msgstr "sauer"
+#: ../../mod/mitem.php:181
+msgid "Menu item not found."
+msgstr "Menü-Bestandteil nicht gefunden."
-#: ../../include/text.php:921
-msgid "stupified"
-msgstr "verblüfft"
+#: ../../mod/mitem.php:190
+msgid "Menu item deleted."
+msgstr "Menü-Bestandteil gelöscht."
-#: ../../include/text.php:922
-msgid "puzzled"
-msgstr "verwirrt"
+#: ../../mod/mitem.php:192
+msgid "Menu item could not be deleted."
+msgstr "Menü-Bestandteil kann nicht gelöscht werden."
-#: ../../include/text.php:923
-msgid "interested"
-msgstr "interessiert"
+#: ../../mod/mitem.php:201
+msgid "Edit Menu Element"
+msgstr "Bearbeite Menü-Bestandteil"
-#: ../../include/text.php:924
-msgid "bitter"
-msgstr "verbittert"
+#: ../../mod/mitem.php:213 ../../mod/menu.php:130
+msgid "Modify"
+msgstr "Ändern"
-#: ../../include/text.php:925
-msgid "cheerful"
-msgstr "fröhlich"
+#: ../../mod/achievements.php:34
+msgid "Some blurb about what to do when you're new here"
+msgstr "Ein Hinweis, was man tun kann, wenn man neu hier ist"
-#: ../../include/text.php:926
-msgid "alive"
-msgstr "lebendig"
+#: ../../mod/profiles.php:18 ../../mod/profiles.php:165
+#: ../../mod/profiles.php:222 ../../mod/profiles.php:565
+msgid "Profile not found."
+msgstr "Profil nicht gefunden."
-#: ../../include/text.php:927
-msgid "annoyed"
-msgstr "verärgert"
+#: ../../mod/profiles.php:38
+msgid "Profile deleted."
+msgstr "Profil gelöscht."
-#: ../../include/text.php:928
-msgid "anxious"
-msgstr "unruhig"
+#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
+msgid "Profile-"
+msgstr "Profil-"
-#: ../../include/text.php:929
-msgid "cranky"
-msgstr "schrullig"
+#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
+msgid "New profile created."
+msgstr "Neues Profil erstellt."
-#: ../../include/text.php:930
-msgid "disturbed"
-msgstr "verstört"
+#: ../../mod/profiles.php:98
+msgid "Profile unavailable to clone."
+msgstr "Profil kann nicht geklont werden."
-#: ../../include/text.php:931
-msgid "frustrated"
-msgstr "frustriert"
+#: ../../mod/profiles.php:136
+msgid "Profile unavailable to export."
+msgstr "Dieses Profil kann nicht exportiert werden."
-#: ../../include/text.php:932
-msgid "depressed"
-msgstr "deprimiert"
+#: ../../mod/profiles.php:232
+msgid "Profile Name is required."
+msgstr "Profil-Name erforderlich."
-#: ../../include/text.php:933
-msgid "motivated"
-msgstr "motiviert"
+#: ../../mod/profiles.php:378
+msgid "Marital Status"
+msgstr "Familienstand"
-#: ../../include/text.php:934
-msgid "relaxed"
-msgstr "entspannt"
+#: ../../mod/profiles.php:382
+msgid "Romantic Partner"
+msgstr "Romantische Partner"
-#: ../../include/text.php:935
-msgid "surprised"
-msgstr "überrascht"
+#: ../../mod/profiles.php:386
+msgid "Likes"
+msgstr "Gefällt"
-#: ../../include/text.php:1099
-msgid "Monday"
-msgstr "Montag"
+#: ../../mod/profiles.php:390
+msgid "Dislikes"
+msgstr "Gefällt nicht"
-#: ../../include/text.php:1099
-msgid "Tuesday"
-msgstr "Dienstag"
+#: ../../mod/profiles.php:394
+msgid "Work/Employment"
+msgstr "Arbeit/Anstellung"
-#: ../../include/text.php:1099
-msgid "Wednesday"
-msgstr "Mittwoch"
+#: ../../mod/profiles.php:397
+msgid "Religion"
+msgstr "Religion"
-#: ../../include/text.php:1099
-msgid "Thursday"
-msgstr "Donnerstag"
+#: ../../mod/profiles.php:401
+msgid "Political Views"
+msgstr "Politische Ansichten"
-#: ../../include/text.php:1099
-msgid "Friday"
-msgstr "Freitag"
+#: ../../mod/profiles.php:405
+msgid "Gender"
+msgstr "Geschlecht"
-#: ../../include/text.php:1099
-msgid "Saturday"
-msgstr "Samstag"
+#: ../../mod/profiles.php:409
+msgid "Sexual Preference"
+msgstr "Sexuelle Orientierung"
-#: ../../include/text.php:1099
-msgid "Sunday"
-msgstr "Sonntag"
+#: ../../mod/profiles.php:413
+msgid "Homepage"
+msgstr "Webseite"
-#: ../../include/text.php:1103
-msgid "January"
-msgstr "Januar"
+#: ../../mod/profiles.php:417
+msgid "Interests"
+msgstr "Hobbys/Interessen"
-#: ../../include/text.php:1103
-msgid "February"
-msgstr "Februar"
+#: ../../mod/profiles.php:421 ../../mod/admin.php:866
+msgid "Address"
+msgstr "Adresse"
-#: ../../include/text.php:1103
-msgid "March"
-msgstr "März"
+#: ../../mod/profiles.php:428 ../../mod/pubsites.php:25
+msgid "Location"
+msgstr "Ort"
-#: ../../include/text.php:1103
-msgid "April"
-msgstr "April"
+#: ../../mod/profiles.php:511
+msgid "Profile updated."
+msgstr "Profil aktualisiert."
-#: ../../include/text.php:1103
-msgid "May"
-msgstr "Mai"
+#: ../../mod/profiles.php:590
+msgid "Hide your contact/friend list from viewers of this profile?"
+msgstr "Deine Kontaktliste vor Betrachtern dieses Profils verbergen?"
-#: ../../include/text.php:1103
-msgid "June"
-msgstr "Juni"
+#: ../../mod/profiles.php:591 ../../mod/api.php:105 ../../mod/settings.php:916
+#: ../../mod/settings.php:921 ../../mod/settings.php:1004
+#: ../../mod/admin.php:392
+msgid "Yes"
+msgstr "Ja"
-#: ../../include/text.php:1103
-msgid "July"
-msgstr "Juli"
+#: ../../mod/profiles.php:592 ../../mod/api.php:106 ../../mod/settings.php:916
+#: ../../mod/settings.php:921 ../../mod/settings.php:1004
+#: ../../mod/admin.php:390
+msgid "No"
+msgstr "Nein"
-#: ../../include/text.php:1103
-msgid "August"
-msgstr "August"
+#: ../../mod/profiles.php:632
+msgid "Edit Profile Details"
+msgstr "Bearbeite Profil-Details"
-#: ../../include/text.php:1103
-msgid "September"
-msgstr "September"
+#: ../../mod/profiles.php:634
+msgid "View this profile"
+msgstr "Dieses Profil ansehen"
-#: ../../include/text.php:1103
-msgid "October"
-msgstr "Oktober"
+#: ../../mod/profiles.php:636
+msgid "Change Profile Photo"
+msgstr "Profilfoto ändern"
-#: ../../include/text.php:1103
-msgid "November"
-msgstr "November"
+#: ../../mod/profiles.php:637
+msgid "Create a new profile using these settings"
+msgstr "Neues Profil anlegen und diese Einstellungen übernehmen"
-#: ../../include/text.php:1103
-msgid "December"
-msgstr "Dezember"
+#: ../../mod/profiles.php:638
+msgid "Clone this profile"
+msgstr "Dieses Profil klonen"
-#: ../../include/text.php:1181
-msgid "unknown.???"
-msgstr "unbekannt.???"
+#: ../../mod/profiles.php:639
+msgid "Delete this profile"
+msgstr "Dieses Profil löschen"
-#: ../../include/text.php:1182
-msgid "bytes"
-msgstr "Bytes"
+#: ../../mod/profiles.php:641
+msgid "Import profile from file"
+msgstr "Profil aus einer Datei importieren"
-#: ../../include/text.php:1221
-msgid "remove category"
-msgstr "Kategorie entfernen"
+#: ../../mod/profiles.php:642
+msgid "Export profile to file"
+msgstr "Profil in eine Datei exportieren"
-#: ../../include/text.php:1291
-msgid "remove from file"
-msgstr "aus der Datei entfernen"
+#: ../../mod/profiles.php:643
+msgid "Profile Name:"
+msgstr "Profilname:"
-#: ../../include/text.php:1356 ../../include/text.php:1368
-msgid "Click to open/close"
-msgstr "Klicke zum Öffnen/Schließen"
+#: ../../mod/profiles.php:644
+msgid "Your Full Name:"
+msgstr "Dein voller Name:"
-#: ../../include/text.php:1523 ../../mod/events.php:414
-msgid "Link to Source"
-msgstr "Link zur Quelle"
+#: ../../mod/profiles.php:645
+msgid "Title/Description:"
+msgstr "Titel/Stellenbeschreibung:"
-#: ../../include/text.php:1542
-msgid "Select a page layout: "
-msgstr "Ein Seiten-Layout auswählen:"
+#: ../../mod/profiles.php:646
+msgid "Your Gender:"
+msgstr "Dein Geschlecht:"
-#: ../../include/text.php:1545 ../../include/text.php:1610
-msgid "default"
-msgstr "Standard"
+#: ../../mod/profiles.php:647
+msgid "Birthday :"
+msgstr "Geburtstag:"
-#: ../../include/text.php:1581
-msgid "Page content type: "
-msgstr "Content-Typ der Seite:"
+#: ../../mod/profiles.php:648
+msgid "Street Address:"
+msgstr "Straße und Hausnummer:"
-#: ../../include/text.php:1622
-msgid "Select an alternate language"
-msgstr "Wähle eine alternative Sprache"
+#: ../../mod/profiles.php:649
+msgid "Locality/City:"
+msgstr "Wohnort:"
-#: ../../include/text.php:1743 ../../include/conversation.php:120
-#: ../../include/diaspora.php:1924 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:174 ../../mod/tagger.php:45 ../../mod/like.php:294
-msgid "photo"
-msgstr "Foto"
+#: ../../mod/profiles.php:650
+msgid "Postal/Zip Code:"
+msgstr "Postleitzahl:"
-#: ../../include/text.php:1746 ../../include/conversation.php:123
-#: ../../mod/tagger.php:49
-msgid "event"
-msgstr "Ereignis"
+#: ../../mod/profiles.php:651
+msgid "Country:"
+msgstr "Land:"
-#: ../../include/text.php:1749 ../../include/conversation.php:148
-#: ../../include/diaspora.php:1924 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:174 ../../mod/tagger.php:53 ../../mod/like.php:294
-msgid "status"
-msgstr "Status"
+#: ../../mod/profiles.php:652
+msgid "Region/State:"
+msgstr "Region/Bundesstaat:"
-#: ../../include/text.php:1751 ../../include/conversation.php:150
-#: ../../mod/tagger.php:55
-msgid "comment"
-msgstr "Kommentar"
+#: ../../mod/profiles.php:653
+msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
+msgstr "<span class=\"heart\">&hearts;</span> Beziehungsstatus:"
-#: ../../include/text.php:1756
-msgid "activity"
-msgstr "Aktivität"
+#: ../../mod/profiles.php:654
+msgid "Who: (if applicable)"
+msgstr "Wer: (falls anwendbar)"
-#: ../../include/text.php:2028
-msgid "Design"
-msgstr "Design"
+#: ../../mod/profiles.php:655
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com"
-#: ../../include/text.php:2030
-msgid "Blocks"
-msgstr "Blöcke"
+#: ../../mod/profiles.php:656
+msgid "Since [date]:"
+msgstr "Seit [Datum]:"
-#: ../../include/text.php:2031
-msgid "Menus"
-msgstr "Menüs"
+#: ../../mod/profiles.php:658
+msgid "Homepage URL:"
+msgstr "Homepage URL:"
-#: ../../include/text.php:2032
-msgid "Layouts"
-msgstr "Layouts"
+#: ../../mod/profiles.php:661
+msgid "Religious Views:"
+msgstr "Religiöse Ansichten:"
-#: ../../include/text.php:2033
-msgid "Pages"
-msgstr "Seiten"
+#: ../../mod/profiles.php:662
+msgid "Keywords:"
+msgstr "Schlüsselwörter:"
-#: ../../include/dir_fns.php:56
-msgid "Sort Options"
-msgstr "Sortieroptionen"
+#: ../../mod/profiles.php:665
+msgid "Example: fishing photography software"
+msgstr "Beispiel: Angeln Fotografie Software"
-#: ../../include/dir_fns.php:57
-msgid "Alphabetic"
-msgstr "alphabetisch"
+#: ../../mod/profiles.php:666
+msgid "Used in directory listings"
+msgstr "Wird in Verzeichnis-Auflistungen verwendet"
-#: ../../include/dir_fns.php:58
-msgid "Reverse Alphabetic"
-msgstr "Entgegengesetzt alphabetisch"
+#: ../../mod/profiles.php:667
+msgid "Tell us about yourself..."
+msgstr "Erzähle uns ein wenig von Dir …"
-#: ../../include/dir_fns.php:59
-msgid "Newest to Oldest"
-msgstr "Neueste zuerst"
+#: ../../mod/profiles.php:668
+msgid "Hobbies/Interests"
+msgstr "Hobbys/Interessen"
-#: ../../include/dir_fns.php:71
-msgid "Enable Safe Search"
-msgstr "Sichere Suche einschalten"
+#: ../../mod/profiles.php:669
+msgid "Contact information and Social Networks"
+msgstr "Kontaktinformation und soziale Netzwerke"
-#: ../../include/dir_fns.php:73
-msgid "Disable Safe Search"
-msgstr "Sichere Suche ausschalten"
+#: ../../mod/profiles.php:670
+msgid "My other channels"
+msgstr "Meine anderen Kanäle"
-#: ../../include/dir_fns.php:75
-msgid "Safe Mode"
-msgstr "Sicherer Modus"
+#: ../../mod/profiles.php:671
+msgid "Musical interests"
+msgstr "Musikalische Interessen"
-#: ../../include/bbcode.php:112 ../../include/bbcode.php:653
-#: ../../include/bbcode.php:656 ../../include/bbcode.php:661
-#: ../../include/bbcode.php:664 ../../include/bbcode.php:667
-#: ../../include/bbcode.php:670 ../../include/bbcode.php:675
-#: ../../include/bbcode.php:678 ../../include/bbcode.php:683
-#: ../../include/bbcode.php:686 ../../include/bbcode.php:689
-#: ../../include/bbcode.php:692
-msgid "Image/photo"
-msgstr "Bild/Foto"
+#: ../../mod/profiles.php:672
+msgid "Books, literature"
+msgstr "Bücher, Literatur"
-#: ../../include/bbcode.php:147 ../../include/bbcode.php:703
-msgid "Encrypted content"
-msgstr "Verschlüsselter Inhalt"
+#: ../../mod/profiles.php:673
+msgid "Television"
+msgstr "Fernsehen"
-#: ../../include/bbcode.php:165
-msgid "Install design element: "
-msgstr "Design-Element installieren:"
+#: ../../mod/profiles.php:674
+msgid "Film/dance/culture/entertainment"
+msgstr "Film/Tanz/Kultur/Unterhaltung"
-#: ../../include/bbcode.php:171
-msgid "QR code"
-msgstr "QR-Code"
+#: ../../mod/profiles.php:675
+msgid "Love/romance"
+msgstr "Liebe/Romantik"
-#: ../../include/bbcode.php:220
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s schrieb den folgenden %2$s %3$s"
+#: ../../mod/profiles.php:676
+msgid "Work/employment"
+msgstr "Arbeit/Anstellung"
-#: ../../include/bbcode.php:222
-msgid "post"
-msgstr "Beitrag"
+#: ../../mod/profiles.php:677
+msgid "School/education"
+msgstr "Schule/Ausbildung"
-#: ../../include/bbcode.php:621
-msgid "$1 spoiler"
-msgstr "$1 Spoiler"
+#: ../../mod/profiles.php:683
+msgid "This is your default profile."
+msgstr "Das ist Dein Standardprofil."
-#: ../../include/bbcode.php:641
-msgid "$1 wrote:"
-msgstr "$1 schrieb:"
+#: ../../mod/profiles.php:694 ../../mod/directory.php:148
+msgid "Age: "
+msgstr "Alter:"
-#: ../../include/enotify.php:41
-msgid "Red Matrix Notification"
-msgstr "Red Matrix Benachrichtigung"
+#: ../../mod/profiles.php:737
+msgid "Edit/Manage Profiles"
+msgstr "Profile bearbeiten/verwalten"
-#: ../../include/enotify.php:42
-msgid "redmatrix"
-msgstr "redmatrix"
+#: ../../mod/profiles.php:738
+msgid "Add profile things"
+msgstr "Sachen zum Profil hinzufügen"
-#: ../../include/enotify.php:44
-msgid "Thank You,"
-msgstr "Danke."
+#: ../../mod/profiles.php:739
+msgid "Include desirable objects in your profile"
+msgstr "Binde begehrenswerte Dinge in Dein Profil ein"
-#: ../../include/enotify.php:46
-#, php-format
-msgid "%s Administrator"
-msgstr "der Administrator von %s"
+#: ../../mod/connect.php:55 ../../mod/connect.php:103
+msgid "Continue"
+msgstr "Fortfahren"
-#: ../../include/enotify.php:81
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
+#: ../../mod/connect.php:84
+msgid "Premium Channel Setup"
+msgstr "Premium-Kanal-Einrichtung"
-#: ../../include/enotify.php:85
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr "[Red:Benachrichtigung] Neue Mail auf %s empfangen"
+#: ../../mod/connect.php:86
+msgid "Enable premium channel connection restrictions"
+msgstr "Einschränkungen für einen Premium-Kanal aktivieren"
-#: ../../include/enotify.php:87
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s hat Dir eine private Nachricht auf %3$s gesendet."
+#: ../../mod/connect.php:87
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Bitte gib Deine Nutzungsbedingungen ein, z.B. Paypal-Quittung, Richtlinien etc."
-#: ../../include/enotify.php:88
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s hat Dir %2$s geschickt."
+#: ../../mod/connect.php:89 ../../mod/connect.php:109
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Unter Umständen sind weitere Schritte oder die Bestätigung der folgenden Bedingungen vor dem Verbinden mit diesem Kanal nötig."
-#: ../../include/enotify.php:88
-msgid "a private message"
-msgstr "eine private Nachricht"
+#: ../../mod/connect.php:90
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Potentielle Kontakte werden den folgenden Text sehen, bevor fortgefahren wird:"
-#: ../../include/enotify.php:89
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten."
+#: ../../mod/connect.php:91 ../../mod/connect.php:112
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Indem ich fortfahre, bestätige ich die Erfüllung aller Anweisungen auf dieser Seite."
-#: ../../include/enotify.php:144
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]a %4$s[/zrl] kommentiert"
+#: ../../mod/connect.php:100
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)"
-#: ../../include/enotify.php:152
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]%4$ss %5$s[/zrl] kommentiert"
+#: ../../mod/connect.php:108
+msgid "Restricted or Premium Channel"
+msgstr "Eingeschränkter oder Premium-Kanal"
-#: ../../include/enotify.php:161
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen %4$s[/zrl] kommentiert"
+#: ../../mod/post.php:229
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angemeldet. Bitte melde Dich ab und versuche es erneut."
-#: ../../include/enotify.php:172
+#: ../../mod/post.php:261 ../../mod/openid.php:72 ../../mod/openid.php:180
#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Red:Benachrichtigung] Kommentar in Unterhaltung #%1$d von %2$s"
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Willkommen %s. Entfernte Authentifizierung erfolgreich."
-#: ../../include/enotify.php:173
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s hat eine Unterhaltung kommentiert, der Du folgst."
+#: ../../mod/setup.php:166
+msgid "Red Matrix Server - Setup"
+msgstr "Red Matrix Server - Installation"
-#: ../../include/enotify.php:176 ../../include/enotify.php:191
-#: ../../include/enotify.php:217 ../../include/enotify.php:236
-#: ../../include/enotify.php:250
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren."
+#: ../../mod/setup.php:172
+msgid "Could not connect to database."
+msgstr "Kann nicht mit der Datenbank verbinden."
-#: ../../include/enotify.php:182
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[Red:Hinweis] %s schrieb auf Deine Pinnwand"
+#: ../../mod/setup.php:176
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS."
-#: ../../include/enotify.php:184
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s hat auf Deine Pinnwand auf %3$s geschrieben"
+#: ../../mod/setup.php:183
+msgid "Could not create table."
+msgstr "Kann Tabelle nicht erstellen."
-#: ../../include/enotify.php:186
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s hat auf [zrl=%3$s]Deine Pinnwand[/zrl] geschrieben"
+#: ../../mod/setup.php:189
+msgid "Your site database has been installed."
+msgstr "Die Datenbank Deines Hubs wurde installiert."
-#: ../../include/enotify.php:210
-#, php-format
-msgid "[Red:Notify] %s tagged you"
-msgstr "[Red:Benachrichtigung] %s hat Dich erwähnt"
+#: ../../mod/setup.php:194
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren."
-#: ../../include/enotify.php:211
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s hat Dich auf %3$s erwähnt"
+#: ../../mod/setup.php:195 ../../mod/setup.php:264 ../../mod/setup.php:663
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Lies die Datei \"install/INSTALL.txt\"."
-#: ../../include/enotify.php:212
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]hat Dich erwähnt[/zrl]."
+#: ../../mod/setup.php:261
+msgid "System check"
+msgstr "Systemprüfung"
-#: ../../include/enotify.php:225
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
-msgstr "[Red:Benachrichtigung] %1$s hat Dich angestupst"
+#: ../../mod/setup.php:265 ../../mod/events.php:434 ../../mod/photos.php:868
+msgid "Next"
+msgstr "Nächste"
-#: ../../include/enotify.php:226
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s hat Dich auf %3$s angestupst"
+#: ../../mod/setup.php:266
+msgid "Check again"
+msgstr "Bitte nochmal prüfen"
-#: ../../include/enotify.php:227
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]hat Dich angestupst[/zrl]."
+#: ../../mod/setup.php:289
+msgid "Database connection"
+msgstr "Datenbank Verbindung"
-#: ../../include/enotify.php:243
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
-msgstr "[Red:Benachrichtigung] %s hat Deinen Beitrag getaggt"
+#: ../../mod/setup.php:290
+msgid ""
+"In order to install Red Matrix we need to know how to connect to your "
+"database."
+msgstr "Um die Red-Matrix installieren zu können, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können."
-#: ../../include/enotify.php:244
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s hat Deinen Beitrag auf %3$s verschlagwortet"
+#: ../../mod/setup.php:291
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast."
-#: ../../include/enotify.php:245
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen Beitrag[/zrl] verschlagwortet"
+#: ../../mod/setup.php:292
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst."
-#: ../../include/enotify.php:257
-msgid "[Red:Notify] Introduction received"
-msgstr "[Red:Benachrichtigung] Vorstellung erhalten"
+#: ../../mod/setup.php:296
+msgid "Database Server Name"
+msgstr "Datenbank-Servername"
-#: ../../include/enotify.php:258
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, Du hast eine neue Verbindungsanfrage von '%2$s' auf %3$s erhalten"
+#: ../../mod/setup.php:296
+msgid "Default is localhost"
+msgstr "Standard ist localhost"
-#: ../../include/enotify.php:259
-#, php-format
+#: ../../mod/setup.php:297
+msgid "Database Port"
+msgstr "Datenbank-Port"
+
+#: ../../mod/setup.php:297
+msgid "Communication port number - use 0 for default"
+msgstr "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung"
+
+#: ../../mod/setup.php:298
+msgid "Database Login Name"
+msgstr "Datenbank-Benutzername"
+
+#: ../../mod/setup.php:299
+msgid "Database Login Password"
+msgstr "Datenbank-Kennwort"
+
+#: ../../mod/setup.php:300
+msgid "Database Name"
+msgstr "Datenbank-Name"
+
+#: ../../mod/setup.php:301
+msgid "Database Type"
+msgstr "Datenbanktyp"
+
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid "Site administrator email address"
+msgstr "E-Mail Adresse des Seiten-Administrators"
+
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, Du hast [zrl=%2$s]eine neue Verbindungsanfrage[/zrl] von %3$s erhalten."
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst."
-#: ../../include/enotify.php:263 ../../include/enotify.php:282
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Du kannst Dir das Profil unter %s ansehen"
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Website URL"
+msgstr "Server-URL"
-#: ../../include/enotify.php:265
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Please use SSL (https) URL if available."
+msgstr "Nutze wenn möglich eine SSL-URL (https)."
+
+#: ../../mod/setup.php:307 ../../mod/setup.php:352
+msgid "Please select a default timezone for your website"
+msgstr "Standard-Zeitzone für Deinen Server"
+
+#: ../../mod/setup.php:335
+msgid "Site settings"
+msgstr "Seiteneinstellungen"
+
+#: ../../mod/setup.php:395
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden."
+
+#: ../../mod/setup.php:396
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen."
+
+#: ../../mod/setup.php:400
+msgid "PHP executable path"
+msgstr "PHP Pfad zu ausführbarer Datei"
+
+#: ../../mod/setup.php:400
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren."
+
+#: ../../mod/setup.php:405
+msgid "Command line PHP"
+msgstr "PHP Befehlszeile"
+
+#: ../../mod/setup.php:414
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert."
+
+#: ../../mod/setup.php:415
+msgid "This is required for message delivery to work."
+msgstr "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert."
+
+#: ../../mod/setup.php:417
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
+
+#: ../../mod/setup.php:438
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen."
+
+#: ../../mod/setup.php:439
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung."
+
+#: ../../mod/setup.php:441
+msgid "Generate encryption keys"
+msgstr "Verschlüsselungsschlüssel generieren"
+
+#: ../../mod/setup.php:448
+msgid "libCurl PHP module"
+msgstr "libCurl-PHP-Modul"
+
+#: ../../mod/setup.php:449
+msgid "GD graphics PHP module"
+msgstr "GD-Grafik-PHP-Modul"
+
+#: ../../mod/setup.php:450
+msgid "OpenSSL PHP module"
+msgstr "OpenSSL-PHP-Modul"
+
+#: ../../mod/setup.php:451
+msgid "mysqli or postgres PHP module"
+msgstr "mysqli oder postgres PHP-Modul"
+
+#: ../../mod/setup.php:452
+msgid "mb_string PHP module"
+msgstr "mb_string-PHP-Modul"
+
+#: ../../mod/setup.php:453
+msgid "mcrypt PHP module"
+msgstr "mcrypt-PHP-Modul"
+
+#: ../../mod/setup.php:458 ../../mod/setup.php:460
+msgid "Apache mod_rewrite module"
+msgstr "Apache-mod_rewrite-Modul"
+
+#: ../../mod/setup.php:458
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:464 ../../mod/setup.php:467
+msgid "proc_open"
+msgstr "proc_open"
+
+#: ../../mod/setup.php:464
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert"
+
+#: ../../mod/setup.php:472
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:476
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:480
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:484
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert."
+
+#: ../../mod/setup.php:488
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:492
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul mcrypt wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:508
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht."
+
+#: ../../mod/setup.php:509
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst."
+
+#: ../../mod/setup.php:510
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Red-Installation speichern musst."
+
+#: ../../mod/setup.php:511
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt."
+
+#: ../../mod/setup.php:514
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php ist beschreibbar"
+
+#: ../../mod/setup.php:524
+msgid ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Red verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen."
+
+#: ../../mod/setup.php:525
#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen."
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the Red top level folder."
+msgstr "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Red-Installationsverzeichnisses."
-#: ../../include/enotify.php:272
-msgid "[Red:Notify] Friend suggestion received"
-msgstr "[Red:Benachrichtigung] Freundschaftsvorschlag erhalten"
+#: ../../mod/setup.php:526 ../../mod/setup.php:544
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat."
-#: ../../include/enotify.php:273
+#: ../../mod/setup.php:527
#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, Du hast einen Kontaktvorschlag von „%2$s“ auf %3$s erhalten"
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr " Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht in der restlichen Red-Installation."
-#: ../../include/enotify.php:274
+#: ../../mod/setup.php:530
#, php-format
+msgid "%s is writable"
+msgstr "%s ist beschreibbar"
+
+#: ../../mod/setup.php:543
msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, Du hast [zrl=%2$s]einen Kontaktvorschlag[/zrl] für %3$s von %4$s erhalten."
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr "Red benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red-Stammverzeichnisses"
-#: ../../include/enotify.php:280
-msgid "Name:"
-msgstr "Name:"
+#: ../../mod/setup.php:547
+msgid "store is writable"
+msgstr "store ist schreibbar"
-#: ../../include/enotify.php:281
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../mod/setup.php:577
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server."
-#: ../../include/enotify.php:284
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."
+#: ../../mod/setup.php:578
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich."
-#: ../../include/enotify.php:477
-msgid "[Red:Notify]"
-msgstr "[Red:Benachrichtigung]"
+#: ../../mod/setup.php:579
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können."
-#: ../../include/bookmarks.php:35
+#: ../../mod/setup.php:580
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer Red-Server (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird)."
+
+#: ../../mod/setup.php:581
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen."
+
+#: ../../mod/setup.php:582
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind."
+
+#: ../../mod/setup.php:584
+msgid "SSL certificate validation"
+msgstr "SSL Zertifikatverifizierung"
+
+#: ../../mod/setup.php:590
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:"
+
+#: ../../mod/setup.php:592
+msgid "Url rewrite is working"
+msgstr "Url rewrite funktioniert"
+
+#: ../../mod/setup.php:602
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen."
+
+#: ../../mod/setup.php:626
+msgid "Errors encountered creating database tables."
+msgstr "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten."
+
+#: ../../mod/setup.php:661
+msgid "<h1>What next</h1>"
+msgstr "<h1>Was als Nächstes</h1>"
+
+#: ../../mod/setup.php:662
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten."
+
+#: ../../mod/siteinfo.php:90
#, php-format
-msgid "%1$s's bookmarks"
-msgstr "%1$ss Lesezeichen"
+msgid "Version %s"
+msgstr "Version %s"
-#: ../../include/nav.php:95 ../../include/nav.php:128
-msgid "End this session"
-msgstr "Beende diese Sitzung"
+#: ../../mod/siteinfo.php:111
+msgid "Installed plugins/addons/apps:"
+msgstr "Installierte Plugins/Addons/Apps"
-#: ../../include/nav.php:98 ../../include/nav.php:159
-msgid "Home"
-msgstr "Home"
+#: ../../mod/siteinfo.php:124
+msgid "No installed plugins/addons/apps"
+msgstr "Keine installierten Plugins/Addons/Apps"
-#: ../../include/nav.php:98
-msgid "Your posts and conversations"
-msgstr "Deine Beiträge und Unterhaltungen"
+#: ../../mod/siteinfo.php:132
+msgid "Red"
+msgstr "Red"
-#: ../../include/nav.php:99 ../../include/conversation.php:945
-#: ../../mod/connedit.php:415 ../../mod/connedit.php:529
-msgid "View Profile"
-msgstr "Profil ansehen"
+#: ../../mod/siteinfo.php:133
+msgid ""
+"This is a hub of the Red Matrix - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Dieser Hub ist Teil der RedMatrix – eines globalen, kooperativen Netzwerks aus dezentralen Websites, die Rücksicht auf Deine Privatsphäre nehmen."
-#: ../../include/nav.php:99
-msgid "Your profile page"
-msgstr "Deine Profilseite"
+#: ../../mod/siteinfo.php:137
+msgid "Running at web location"
+msgstr "Erreichbar unter der Web-Adresse"
-#: ../../include/nav.php:101
-msgid "Edit Profiles"
-msgstr "Profile bearbeiten"
+#: ../../mod/siteinfo.php:138
+msgid ""
+"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
+"about the Red Matrix."
+msgstr "Besuche <a href=\"http://getzot.com\">GetZot.com</a>, um mehr über die Red-Matrix zu erfahren."
-#: ../../include/nav.php:101
-msgid "Manage/Edit profiles"
-msgstr "Profile verwalten"
+#: ../../mod/siteinfo.php:139
+msgid "Bug reports and issues: please visit"
+msgstr "Probleme oder Fehler gefunden? Bitte besuche"
-#: ../../include/nav.php:103
-msgid "Edit your profile"
-msgstr "Profil bearbeiten"
+#: ../../mod/siteinfo.php:142
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr "Vorschläge, Lob, usw.: E-Mail an 'redmatrix' at librelist - dot - com"
-#: ../../include/nav.php:105 ../../include/apps.php:137
-#: ../../include/conversation.php:1537 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Fotos"
+#: ../../mod/siteinfo.php:144
+msgid "Site Administrators"
+msgstr "Administratoren"
-#: ../../include/nav.php:105
-msgid "Your photos"
-msgstr "Deine Bilder"
+#: ../../mod/poke.php:159
+msgid "Poke/Prod"
+msgstr "Anstupsen/Knuffen"
-#: ../../include/nav.php:106
-msgid "Your files"
-msgstr "Deine Dateien"
+#: ../../mod/poke.php:160
+msgid "poke, prod or do other things to somebody"
+msgstr "Stupse Leute an oder mache anderes mit ihnen"
-#: ../../include/nav.php:111 ../../include/apps.php:144
-msgid "Chat"
-msgstr "Chat"
+#: ../../mod/poke.php:161
+msgid "Recipient"
+msgstr "Empfänger"
-#: ../../include/nav.php:111
-msgid "Your chatrooms"
-msgstr "Deine Chaträume"
+#: ../../mod/poke.php:162
+msgid "Choose what you wish to do to recipient"
+msgstr "Wähle, was Du mit dem/r Empfänger/in tun willst"
-#: ../../include/nav.php:117 ../../include/apps.php:127
-#: ../../include/conversation.php:1570
-msgid "Bookmarks"
-msgstr "Lesezeichen"
+#: ../../mod/poke.php:165
+msgid "Make this post private"
+msgstr "Diesen Beitrag privat machen"
-#: ../../include/nav.php:117
-msgid "Your bookmarks"
-msgstr "Deine Lesezeichen"
+#: ../../mod/api.php:76 ../../mod/api.php:102
+msgid "Authorize application connection"
+msgstr "Zugriff für die Anwendung autorisieren"
-#: ../../include/nav.php:121 ../../include/apps.php:134
-#: ../../include/conversation.php:1581 ../../mod/webpages.php:129
-msgid "Webpages"
-msgstr "Webseiten"
+#: ../../mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Trage folgenden Sicherheitscode in der Anwendung ein:"
-#: ../../include/nav.php:121
-msgid "Your webpages"
-msgstr "Deine Webseiten"
+#: ../../mod/api.php:89
+msgid "Please login to continue."
+msgstr "Zum Weitermachen, bitte einloggen."
-#: ../../include/nav.php:125
-msgid "Sign in"
-msgstr "Anmelden"
+#: ../../mod/api.php:104
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?"
-#: ../../include/nav.php:142
+#: ../../mod/attach.php:9
+msgid "Item not available."
+msgstr "Element nicht verfügbar."
+
+#: ../../mod/probe.php:23 ../../mod/probe.php:29
#, php-format
-msgid "%s - click to logout"
-msgstr "%s - Klick zum Abmelden"
+msgid "Fetching URL returns error: %1$s"
+msgstr "Abrufen der URL gab einen Fehler zurück: %1$s"
-#: ../../include/nav.php:145
-msgid "Remote authentication"
-msgstr "Ãœber Konto auf anderem Server einloggen"
+#: ../../mod/block.php:27 ../../mod/page.php:33
+msgid "Invalid item."
+msgstr "Ungültiges Element."
-#: ../../include/nav.php:145
-msgid "Click to authenticate to your home hub"
-msgstr "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren"
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:28 ../../mod/page.php:45
+msgid "Channel not found."
+msgstr "Kanal nicht gefunden."
-#: ../../include/nav.php:159
-msgid "Home Page"
-msgstr "Homepage"
+#: ../../mod/block.php:75 ../../mod/display.php:102 ../../mod/help.php:70
+#: ../../mod/page.php:81 ../../index.php:241
+msgid "Page not found."
+msgstr "Seite nicht gefunden."
-#: ../../include/nav.php:163
-msgid "Create an account"
-msgstr "Erzeuge ein Konto"
+#: ../../mod/sources.php:32
+msgid "Failed to create source. No channel selected."
+msgstr "Konnte die Quelle nicht anlegen. Kein Kanal ausgewählt."
-#: ../../include/nav.php:168 ../../include/apps.php:140 ../../mod/help.php:60
-#: ../../mod/help.php:65
-msgid "Help"
-msgstr "Hilfe"
+#: ../../mod/sources.php:45
+msgid "Source created."
+msgstr "Quelle erstellt."
-#: ../../include/nav.php:168
-msgid "Help and documentation"
-msgstr "Hilfe und Dokumentation"
+#: ../../mod/sources.php:57
+msgid "Source updated."
+msgstr "Quelle aktualisiert."
-#: ../../include/nav.php:171 ../../include/widgets.php:86
-#: ../../mod/apps.php:33
-msgid "Apps"
-msgstr "Apps"
+#: ../../mod/sources.php:82
+msgid "*"
+msgstr "*"
-#: ../../include/nav.php:171
-msgid "Applications, utilities, links, games"
-msgstr "Anwendungen (Apps), Zubehör, Links, Spiele"
+#: ../../mod/sources.php:89
+msgid "Manage remote sources of content for your channel."
+msgstr "Externe Inhaltsquellen für Deinen Kanal verwalten."
-#: ../../include/nav.php:173
-msgid "Search site content"
-msgstr "Durchsuche Seiten-Inhalt"
+#: ../../mod/sources.php:90 ../../mod/sources.php:100
+msgid "New Source"
+msgstr "Neue Quelle"
-#: ../../include/nav.php:176 ../../include/apps.php:139
-#: ../../mod/directory.php:226
-msgid "Directory"
-msgstr "Verzeichnis"
+#: ../../mod/sources.php:101 ../../mod/sources.php:133
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importiere alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteile sie gemäß der Einstellungen dieses Kanals."
-#: ../../include/nav.php:176
-msgid "Channel Locator"
-msgstr "Kanal-Verzeichnis"
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Only import content with these words (one per line)"
+msgstr "Importiere nur Beiträge, die folgende Wörter (eines pro Zeile) enthalten"
-#: ../../include/nav.php:190 ../../include/apps.php:131
-msgid "Matrix"
-msgstr "Matrix"
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Leave blank to import all public content"
+msgstr "Leer lassen, um alle öffentlichen Beiträge zu importieren"
-#: ../../include/nav.php:190
-msgid "Your matrix"
-msgstr "Deine Matrix"
+#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../mod/new_channel.php:112
+msgid "Channel Name"
+msgstr "Name des Kanals"
-#: ../../include/nav.php:191
-msgid "Mark all matrix notifications seen"
-msgstr "Markiere alle Matrix-Benachrichtigungen als angesehen"
+#: ../../mod/sources.php:123 ../../mod/sources.php:150
+msgid "Source not found."
+msgstr "Quelle nicht gefunden."
-#: ../../include/nav.php:193 ../../include/apps.php:135
-msgid "Channel Home"
-msgstr "Mein Kanal"
+#: ../../mod/sources.php:130
+msgid "Edit Source"
+msgstr "Quelle bearbeiten"
-#: ../../include/nav.php:193
-msgid "Channel home"
-msgstr "Mein Kanal"
+#: ../../mod/sources.php:131
+msgid "Delete Source"
+msgstr "Quelle löschen"
-#: ../../include/nav.php:194
-msgid "Mark all channel notifications seen"
-msgstr "Markiere alle Kanal-Benachrichtigungen als angesehen"
+#: ../../mod/sources.php:158
+msgid "Source removed"
+msgstr "Quelle gelöscht"
-#: ../../include/nav.php:197 ../../mod/connections.php:406
-msgid "Connections"
-msgstr "Verbindungen"
+#: ../../mod/sources.php:160
+msgid "Unable to remove source."
+msgstr "Konnte die Quelle nicht löschen."
-#: ../../include/nav.php:200
-msgid "Notices"
-msgstr "Benachrichtigungen"
+#: ../../mod/blocks.php:99
+msgid "Block Name"
+msgstr "Block-Name"
-#: ../../include/nav.php:200
-msgid "Notifications"
-msgstr "Benachrichtigungen"
+#: ../../mod/search.php:13 ../../mod/directory.php:15 ../../mod/photos.php:458
+#: ../../mod/display.php:9 ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr "Öffentlicher Zugang verweigert."
-#: ../../include/nav.php:201
-msgid "See all notifications"
-msgstr "Alle Benachrichtigungen ansehen"
+#: ../../mod/directory.php:161
+msgid "Gender: "
+msgstr "Geschlecht:"
-#: ../../include/nav.php:202 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Markiere alle System-Benachrichtigungen als gesehen"
+#: ../../mod/directory.php:163
+msgid "Status: "
+msgstr "Status:"
-#: ../../include/nav.php:204 ../../include/apps.php:141
-msgid "Mail"
-msgstr "Mail"
+#: ../../mod/directory.php:165
+msgid "Homepage: "
+msgstr "Webseite:"
-#: ../../include/nav.php:204
-msgid "Private mail"
-msgstr "Persönliche Mail"
+#: ../../mod/directory.php:168
+msgid "Hometown: "
+msgstr "Wohnort:"
-#: ../../include/nav.php:205
-msgid "See all private messages"
-msgstr "Alle persönlichen Nachrichten ansehen"
+#: ../../mod/directory.php:170
+msgid "About: "
+msgstr "Ãœber:"
-#: ../../include/nav.php:206
-msgid "Mark all private messages seen"
-msgstr "Markiere alle persönlichen Nachrichten als gesehen"
+#: ../../mod/directory.php:225
+msgid "Public Forum:"
+msgstr "Öffentliches Forum:"
-#: ../../include/nav.php:207
-msgid "Inbox"
-msgstr "Eingang"
+#: ../../mod/directory.php:228
+msgid "Keywords: "
+msgstr "Schlüsselwörter:"
-#: ../../include/nav.php:208
-msgid "Outbox"
-msgstr "Ausgang"
+#: ../../mod/directory.php:268
+msgid "Finding:"
+msgstr "Ergebnisse:"
-#: ../../include/nav.php:209 ../../include/widgets.php:545
-msgid "New Message"
-msgstr "Neue Nachricht"
+#: ../../mod/directory.php:273
+msgid "next page"
+msgstr "nächste Seite"
-#: ../../include/nav.php:212 ../../include/apps.php:138
-#: ../../mod/events.php:436
-msgid "Events"
-msgstr "Veranstaltungen"
+#: ../../mod/directory.php:273
+msgid "previous page"
+msgstr "vorherige Seite"
-#: ../../include/nav.php:212
-msgid "Event Calendar"
-msgstr "Veranstaltungskalender"
+#: ../../mod/directory.php:290
+msgid "No entries (some entries may be hidden)."
+msgstr "Keine Einträge gefunden (einige könnten versteckt sein)."
-#: ../../include/nav.php:213
-msgid "See all events"
-msgstr "Alle Ereignisse ansehen"
+#: ../../mod/register.php:44
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal."
-#: ../../include/nav.php:214
-msgid "Mark all events seen"
-msgstr "Markiere alle Ereignisse als gesehen"
+#: ../../mod/register.php:50
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen."
-#: ../../include/nav.php:216 ../../include/apps.php:130
-#: ../../mod/manage.php:148
-msgid "Channel Manager"
-msgstr "Kanal-Manager"
+#: ../../mod/register.php:84
+msgid "Passwords do not match."
+msgstr "Passwörter stimmen nicht überein."
-#: ../../include/nav.php:216
-msgid "Manage Your Channels"
-msgstr "Verwalte Deine Kanäle"
+#: ../../mod/register.php:117
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet."
-#: ../../include/nav.php:218 ../../include/apps.php:132
-#: ../../include/widgets.php:521 ../../mod/admin.php:953
-#: ../../mod/admin.php:1158
-msgid "Settings"
-msgstr "Einstellungen"
+#: ../../mod/register.php:123
+msgid "Your registration is pending approval by the site owner."
+msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden."
-#: ../../include/nav.php:218
-msgid "Account/Channel Settings"
-msgstr "Konto-/Kanal-Einstellungen"
+#: ../../mod/register.php:126
+msgid "Your registration can not be processed."
+msgstr "Deine Registrierung konnte nicht verarbeitet werden."
-#: ../../include/nav.php:226 ../../mod/admin.php:123
-msgid "Admin"
-msgstr "Administration"
+#: ../../mod/register.php:163
+msgid "Registration on this site/hub is by approval only."
+msgstr "Anmeldungen auf diesem Server erfordern Zustimmung durch den Administrator"
-#: ../../include/nav.php:226
-msgid "Site Setup and Configuration"
-msgstr "Seiten-Einrichtung und -Konfiguration"
+#: ../../mod/register.php:164
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr "<a href=\"pubsites\">Registrierung auf einem anderen, angeschlossenen Server</a>"
-#: ../../include/nav.php:257 ../../include/conversation.php:847
-msgid "Loading..."
-msgstr "Lädt ..."
+#: ../../mod/register.php:174
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal."
-#: ../../include/nav.php:262
-msgid "Please wait..."
-msgstr "Bitte warten..."
+#: ../../mod/register.php:185
+msgid "Terms of Service"
+msgstr "Nutzungsbedingungen"
-#: ../../include/features.php:23
-msgid "General Features"
-msgstr "Allgemeine Funktionen"
+#: ../../mod/register.php:191
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "Ich akzeptiere die %s für diese Webseite"
-#: ../../include/features.php:25
-msgid "Content Expiration"
-msgstr "Verfall von Inhalten"
+#: ../../mod/register.php:193
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite"
-#: ../../include/features.php:25
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Lösche Beiträge, Kommentare und/oder private Nachrichten automatisch zu einem zukünftigen Datum."
+#: ../../mod/register.php:207 ../../mod/admin.php:413
+msgid "Registration"
+msgstr "Registrierung"
-#: ../../include/features.php:26
-msgid "Multiple Profiles"
-msgstr "Mehrfachprofile"
+#: ../../mod/register.php:212
+msgid "Membership on this site is by invitation only."
+msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
-#: ../../include/features.php:26
-msgid "Ability to create multiple profiles"
-msgstr "Mehrfachprofile anlegen können"
+#: ../../mod/register.php:213
+msgid "Please enter your invitation code"
+msgstr "Bitte trage Deinen Einladungs-Code ein"
-#: ../../include/features.php:27
-msgid "Advanced Profiles"
-msgstr "Erweiterte Profile"
+#: ../../mod/register.php:216
+msgid "Your email address"
+msgstr "Ihre E-Mail Adresse"
-#: ../../include/features.php:27
-msgid "Additional profile sections and selections"
-msgstr "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung"
+#: ../../mod/register.php:217
+msgid "Choose a password"
+msgstr "Passwort"
-#: ../../include/features.php:28
-msgid "Profile Import/Export"
-msgstr "Profil-Import/Export"
+#: ../../mod/register.php:218
+msgid "Please re-enter your password"
+msgstr "Bitte gib Dein Passwort noch einmal ein"
-#: ../../include/features.php:28
-msgid "Save and load profile details across sites/channels"
-msgstr "Speichere Dein Profil, um es in einen anderen Kanal zu importieren"
+#: ../../mod/events.php:81
+msgid "Event can not end before it has started."
+msgstr "Termin-Ende liegt vor dem Beginn."
-#: ../../include/features.php:29
-msgid "Web Pages"
-msgstr "Webseiten"
+#: ../../mod/events.php:86
+msgid "Event title and start time are required."
+msgstr "Titel und Startzeit des Termins sind erforderlich."
-#: ../../include/features.php:29
-msgid "Provide managed web pages on your channel"
-msgstr "Stelle verwaltete Webseiten in Deinem Kanal zur Verfügung"
+#: ../../mod/events.php:100
+msgid "Event not found."
+msgstr "Termin nicht gefunden."
-#: ../../include/features.php:30
-msgid "Private Notes"
-msgstr "Private Notizen"
+#: ../../mod/events.php:364
+msgid "l, F j"
+msgstr "l, j. F"
-#: ../../include/features.php:30
-msgid "Enables a tool to store notes and reminders"
-msgstr "Werkzeug zum Speichern von Notizen und Erinnerungen aktivieren"
+#: ../../mod/events.php:386
+msgid "Edit event"
+msgstr "Termin bearbeiten"
-#: ../../include/features.php:34
-msgid "Navigation Channel Select"
-msgstr "Kanal-Auswahl in der Navigationsleiste"
+#: ../../mod/events.php:432
+msgid "Create New Event"
+msgstr "Neuen Termin erstellen"
-#: ../../include/features.php:34
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Wechsle direkt über das Navigationsmenü zu anderen Kanälen"
+#: ../../mod/events.php:433 ../../mod/photos.php:859
+msgid "Previous"
+msgstr "Voriges"
-#: ../../include/features.php:38
-msgid "Extended Identity Sharing"
-msgstr "Erweitertes Teilen von Identitäten"
+#: ../../mod/events.php:560
+msgid "Event details"
+msgstr "Termin-Details"
-#: ../../include/features.php:38
+#: ../../mod/events.php:561
+msgid "Starting date and Title are required."
+msgstr "Startdatum und Titel sind erforderlich."
+
+#: ../../mod/events.php:565
+msgid "Event Starts:"
+msgstr "Termin beginnt:"
+
+#: ../../mod/events.php:565 ../../mod/events.php:581 ../../mod/appman.php:91
+#: ../../mod/appman.php:92
+msgid "Required"
+msgstr "Benötigt"
+
+#: ../../mod/events.php:571
+msgid "Finish date/time is not known or not relevant"
+msgstr "Ende Datum/Zeit sind unbekannt oder unwichtig"
+
+#: ../../mod/events.php:573
+msgid "Event Finishes:"
+msgstr "Termin endet:"
+
+#: ../../mod/events.php:575
+msgid "Adjust for viewer timezone"
+msgstr "An die Zeitzone des Betrachters anpassen"
+
+#: ../../mod/events.php:577
+msgid "Description:"
+msgstr "Beschreibung:"
+
+#: ../../mod/events.php:581
+msgid "Title:"
+msgstr "Titel:"
+
+#: ../../mod/events.php:583
+msgid "Share this event"
+msgstr "Den Termin teilen"
+
+#: ../../mod/pubsites.php:16
+msgid "Public Sites"
+msgstr "Öffentliche Server"
+
+#: ../../mod/pubsites.php:19
msgid ""
-"Share your identity with all websites on the internet. When disabled, "
-"identity is only shared with sites in the matrix."
-msgstr "Teile Deine Identität mit allen Webseiten im Internet. Ist dies deaktiviert, wird Deine Identität nur mit Red-Servern geteilt."
+"The listed sites allow public registration into the Red Matrix. All sites in"
+" the matrix are interlinked so membership on any of them conveys membership "
+"in the matrix as a whole. Some sites may require subscription or provide "
+"tiered service plans. The provider links <strong>may</strong> provide "
+"additional details."
+msgstr "Die hier aufgeführten Server erlauben Dir, einen Account in der Red-Matrix anzulegen. Alle Server der Matrix sind miteinander verbunden, so dass die Mitgliedschaft auf einem Server eine Verbindung zu beliebigen anderen Servern der Matrix ermöglicht. Es könnte sein, dass einige dieser Server kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den jeweiligen Seiten <strong>könnten</strong> nähere Details dazu stehen."
-#: ../../include/features.php:39
-msgid "Expert Mode"
-msgstr "Expertenmodus"
+#: ../../mod/pubsites.php:25
+msgid "Site URL"
+msgstr "Server-URL"
-#: ../../include/features.php:39
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Aktiviere den Expertenmodus, um fortgeschrittene Konfigurationsoptionen zu aktivieren"
+#: ../../mod/pubsites.php:25
+msgid "Access Type"
+msgstr "Zugangstyp"
-#: ../../include/features.php:40
-msgid "Premium Channel"
-msgstr "Premium-Kanal"
+#: ../../mod/pubsites.php:25
+msgid "Registration Policy"
+msgstr "Registrierungsrichtlinien"
-#: ../../include/features.php:40
+#: ../../mod/channel.php:25 ../../mod/chat.php:19
+msgid "You must be logged in to see this page."
+msgstr "Du musst angemeldet sein, um diese Seite betrachten zu können."
+
+#: ../../mod/channel.php:86
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet."
+
+#: ../../mod/rbmark.php:88
+msgid "Select a bookmark folder"
+msgstr "Lesezeichenordner wählen"
+
+#: ../../mod/rbmark.php:93
+msgid "Save Bookmark"
+msgstr "Lesezeichen speichern"
+
+#: ../../mod/rbmark.php:94
+msgid "URL of bookmark"
+msgstr "URL des Lesezeichens"
+
+#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
+msgid "Description"
+msgstr "Beschreibung"
+
+#: ../../mod/rbmark.php:99
+msgid "Or enter new bookmark folder name"
+msgstr "Oder gib einen neuen Namen für den Lesezeichenordner ein"
+
+#: ../../mod/chat.php:167
+msgid "Room not found"
+msgstr "Chatraum nicht gefunden"
+
+#: ../../mod/chat.php:178
+msgid "Leave Room"
+msgstr "Raum verlassen"
+
+#: ../../mod/chat.php:179
+msgid "Delete This Room"
+msgstr "Diesen Raum löschen"
+
+#: ../../mod/chat.php:180
+msgid "I am away right now"
+msgstr "Ich bin gerade nicht da"
+
+#: ../../mod/chat.php:181
+msgid "I am online"
+msgstr "Ich bin online"
+
+#: ../../mod/chat.php:183
+msgid "Bookmark this room"
+msgstr "Lesezeichen für diesen Raum setzen"
+
+#: ../../mod/chat.php:207 ../../mod/chat.php:229
+msgid "New Chatroom"
+msgstr "Neuer Chatraum"
+
+#: ../../mod/chat.php:208
+msgid "Chatroom Name"
+msgstr "Name des Chatraums"
+
+#: ../../mod/chat.php:225
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr "%1$ss Chaträume"
+
+#: ../../mod/subthread.php:103
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s folgt nun %2$ss %3$s"
+
+#: ../../mod/chatsvc.php:111
+msgid "Away"
+msgstr "Abwesend"
+
+#: ../../mod/chatsvc.php:115
+msgid "Online"
+msgstr "Online"
+
+#: ../../mod/regmod.php:11
+msgid "Please login."
+msgstr "Bitte melde dich an."
+
+#: ../../mod/network.php:79
+msgid "No such group"
+msgstr "Sammlung nicht gefunden"
+
+#: ../../mod/network.php:118
+msgid "Search Results For:"
+msgstr "Suchergebnisse für:"
+
+#: ../../mod/network.php:172
+msgid "Collection is empty"
+msgstr "Sammlung ist leer"
+
+#: ../../mod/network.php:180
+msgid "Collection: "
+msgstr "Sammlung:"
+
+#: ../../mod/network.php:193
+msgid "Connection: "
+msgstr "Verbindung:"
+
+#: ../../mod/network.php:196
+msgid "Invalid connection."
+msgstr "Ungültige Verbindung."
+
+#: ../../mod/removeme.php:29
msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Ermöglicht Einschränkungen und Bedingungen für Kontakte dieses Kanals"
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Innerhalb von 48 Stunden nach einer Änderung des Passworts können keine Kanäle gelöscht werden."
-#: ../../include/features.php:45
-msgid "Post Composition Features"
-msgstr "Nachbearbeitungsfunktionen"
+#: ../../mod/removeme.php:57
+msgid "Remove This Channel"
+msgstr "Diesen Kanal löschen"
-#: ../../include/features.php:47
-msgid "Use Markdown"
-msgstr "Markdown benutzen"
+#: ../../mod/removeme.php:58
+msgid ""
+"This will completely remove this channel from the network. Once this has "
+"been done it is not recoverable."
+msgstr "Hiermit wird dieser Kanal komplett aus dem Netzwerk gelöscht. Einmal eingeleitet, kann dieser Prozess nicht wieder rückgängig gemacht werden."
-#: ../../include/features.php:47
-msgid "Allow use of \"Markdown\" to format posts"
-msgstr "Erlaube Markdown zur Formatierung von Beiträgen"
+#: ../../mod/removeme.php:59 ../../mod/removeaccount.php:59
+msgid "Please enter your password for verification:"
+msgstr "Bitte gib zur Bestätigung Dein Passwort ein:"
-#: ../../include/features.php:48
-msgid "Post Preview"
-msgstr "Voransicht"
+#: ../../mod/removeme.php:60
+msgid "Remove this channel and all its clones from the network"
+msgstr "Lösche diesen Kanal und all seine Klone aus dem Netzwerk"
-#: ../../include/features.php:48
-msgid "Allow previewing posts and comments before publishing them"
-msgstr "Erlaube Voransicht von Beiträgen und Kommentaren vor Veröffentlichung"
+#: ../../mod/removeme.php:60
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk"
-#: ../../include/features.php:49 ../../include/widgets.php:510
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Kanal-Quellen"
+#: ../../mod/removeme.php:61
+msgid "Remove Channel"
+msgstr "Kanal löschen"
-#: ../../include/features.php:49
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Importiere automatisch Inhalte für diesen Kanal von anderen Kanälen oder Feeds"
+#: ../../mod/common.php:10
+msgid "No channel."
+msgstr "Kein Kanal."
-#: ../../include/features.php:50
-msgid "Even More Encryption"
-msgstr "Noch mehr Verschlüsselung"
+#: ../../mod/common.php:39
+msgid "Common connections"
+msgstr "Gemeinsame Verbindungen"
-#: ../../include/features.php:50
+#: ../../mod/common.php:44
+msgid "No connections in common."
+msgstr "Keine gemeinsamen Verbindungen."
+
+#: ../../mod/rmagic.php:38
msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Erlaube optionale Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Sicherheitsschlüssel)"
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr "Wir haben ein Problem mit der OpenID festgestellt, mit der Du Dich anmelden wolltest. Bitte überprüfe sie noch einmal."
-#: ../../include/features.php:55
-msgid "Network and Stream Filtering"
-msgstr "Netzwerk- und Stream-Filter"
+#: ../../mod/rmagic.php:38
+msgid "The error message was:"
+msgstr "Die Fehlermeldung war:"
-#: ../../include/features.php:56
-msgid "Search by Date"
-msgstr "Suche nach Datum"
+#: ../../mod/rmagic.php:42
+msgid "Authentication failed."
+msgstr "Authentifizierung fehlgeschlagen."
-#: ../../include/features.php:56
-msgid "Ability to select posts by date ranges"
-msgstr "Möglichkeit, Beiträge nach Zeiträumen auszuwählen"
+#: ../../mod/rmagic.php:82
+msgid "Remote Authentication"
+msgstr "Entfernte Authentifizierung"
-#: ../../include/features.php:57
-msgid "Collections Filter"
-msgstr "Filter für Sammlung"
+#: ../../mod/rmagic.php:83
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Deine Kanal-Adresse (z. B. channel@example.com)"
-#: ../../include/features.php:57
-msgid "Enable widget to display Network posts only from selected collections"
-msgstr "Aktiviere nur Netzwerk-Beiträge von ausgewählten Sammlungen"
+#: ../../mod/rmagic.php:84
+msgid "Authenticate"
+msgstr "Authentifizieren"
-#: ../../include/features.php:58 ../../include/widgets.php:272
-msgid "Saved Searches"
-msgstr "Gespeicherte Suchanfragen"
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr "– auswählen –"
-#: ../../include/features.php:58
-msgid "Save search terms for re-use"
-msgstr "Suchbegriffe zur Wiederverwendung abspeichern"
+#: ../../mod/photos.php:77
+msgid "Page owner information could not be retrieved."
+msgstr "Informationen über den Besitzer der Seite konnten nicht gefunden werden."
-#: ../../include/features.php:59
-msgid "Network Personal Tab"
-msgstr "Persönlicher Netzwerkreiter"
+#: ../../mod/photos.php:97
+msgid "Album not found."
+msgstr "Album nicht gefunden."
-#: ../../include/features.php:59
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Aktiviere Reiter nur für die Netzwerk-Beiträge, mit denen Du interagiert hast"
+#: ../../mod/photos.php:119 ../../mod/photos.php:672
+msgid "Delete Album"
+msgstr "Album löschen"
-#: ../../include/features.php:60
-msgid "Network New Tab"
-msgstr "Netzwerkreiter Neu"
+#: ../../mod/photos.php:159 ../../mod/photos.php:957
+msgid "Delete Photo"
+msgstr "Foto löschen"
-#: ../../include/features.php:60
-msgid "Enable tab to display all new Network activity"
-msgstr "Aktiviere Reiter, um alle neuen Netzwerkaktivitäten zu zeigen"
+#: ../../mod/photos.php:469
+msgid "No photos selected"
+msgstr "Keine Fotos ausgewählt"
-#: ../../include/features.php:61
-msgid "Affinity Tool"
-msgstr "Beziehungs-Tool"
+#: ../../mod/photos.php:513
+msgid "Access to this item is restricted."
+msgstr "Der Zugriff auf dieses Foto ist eingeschränkt."
-#: ../../include/features.php:61
-msgid "Filter stream activity by depth of relationships"
-msgstr "Filter Aktivitätenstream nach Tiefe der Beziehung"
+#: ../../mod/photos.php:552
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "%1$.2f MB von %2$.2f MB Foto-Speicher belegt."
-#: ../../include/features.php:62
-msgid "Suggest Channels"
-msgstr "Kanäle vorschlagen"
+#: ../../mod/photos.php:555
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr "%1$.2f MB Foto-Speicher belegt."
-#: ../../include/features.php:62
-msgid "Show channel suggestions"
-msgstr "Kanal-Vorschläge anzeigen"
+#: ../../mod/photos.php:579
+msgid "Upload Photos"
+msgstr "Fotos hochladen"
-#: ../../include/features.php:67
-msgid "Post/Comment Tools"
-msgstr "Beitrag-/Kommentar-Tools"
+#: ../../mod/photos.php:583 ../../mod/photos.php:665 ../../mod/photos.php:943
+msgid "Enter a new album name"
+msgstr "Gib einen Namen für ein neues Album ein"
-#: ../../include/features.php:69
-msgid "Edit Sent Posts"
-msgstr "Bearbeite gesendete Beiträge"
+#: ../../mod/photos.php:584 ../../mod/photos.php:666 ../../mod/photos.php:944
+msgid "or select an existing one (doubleclick)"
+msgstr "oder wähle ein bereits vorhandenes aus (Doppelklick)"
-#: ../../include/features.php:69
-msgid "Edit and correct posts and comments after sending"
-msgstr "Bearbeite und korrigiere Beiträge und Kommentare nach dem Senden"
+#: ../../mod/photos.php:585
+msgid "Do not show a status post for this upload"
+msgstr "Keine Statusnachricht für diesen Upload senden"
-#: ../../include/features.php:70
-msgid "Tagging"
-msgstr "Verschlagworten"
+#: ../../mod/photos.php:613
+msgid "Album name could not be decoded"
+msgstr "Albumname konnte nicht dekodiert werden"
-#: ../../include/features.php:70
-msgid "Ability to tag existing posts"
-msgstr "Möglichkeit, um existierende Beiträge zu verschlagworten"
+#: ../../mod/photos.php:654 ../../mod/photos.php:1166
+#: ../../mod/photos.php:1182
+msgid "Contact Photos"
+msgstr "Kontakt-Bilder"
-#: ../../include/features.php:71
-msgid "Post Categories"
-msgstr "Beitrags-Kategorien"
+#: ../../mod/photos.php:678
+msgid "Show Newest First"
+msgstr "Zeige Neueste zuerst"
-#: ../../include/features.php:71
-msgid "Add categories to your posts"
-msgstr "Kategorien für Beiträge"
+#: ../../mod/photos.php:680
+msgid "Show Oldest First"
+msgstr "Zeige Älteste zuerst"
-#: ../../include/features.php:72
-msgid "Ability to file posts under folders"
-msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln"
+#: ../../mod/photos.php:707 ../../mod/photos.php:1214
+msgid "View Photo"
+msgstr "Foto ansehen"
-#: ../../include/features.php:73
-msgid "Dislike Posts"
-msgstr "Gefällt-mir-nicht Beiträge"
+#: ../../mod/photos.php:736
+msgid "Edit Album"
+msgstr "Album bearbeiten"
-#: ../../include/features.php:73
-msgid "Ability to dislike posts/comments"
-msgstr "„Gefällt mir nicht“ ermöglichen"
+#: ../../mod/photos.php:781
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden."
-#: ../../include/features.php:74
-msgid "Star Posts"
-msgstr "Beiträge mit Sternchen versehen"
+#: ../../mod/photos.php:783
+msgid "Photo not available"
+msgstr "Foto nicht verfügbar"
-#: ../../include/features.php:74
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Möglichkeit, spezielle Beiträge mit Sternchen-Symbol zu markieren"
+#: ../../mod/photos.php:841
+msgid "Use as profile photo"
+msgstr "Als Profilfoto verwenden"
-#: ../../include/features.php:75
-msgid "Tag Cloud"
-msgstr "Schlagwort-Wolke"
+#: ../../mod/photos.php:848
+msgid "Private Photo"
+msgstr "Privates Foto"
-#: ../../include/features.php:75
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Persönliche Schlagwort-Wolke auf Deiner Kanal-Seite anzeigen"
+#: ../../mod/photos.php:863
+msgid "View Full Size"
+msgstr "In voller Größe anzeigen"
-#: ../../include/notify.php:23
-msgid "created a new post"
-msgstr "Neuer Beitrag wurde erzeugt"
+#: ../../mod/photos.php:905 ../../mod/delegate.php:130 ../../mod/tagrm.php:133
+msgid "Remove"
+msgstr "Entferne"
-#: ../../include/notify.php:24
-#, php-format
-msgid "commented on %s's post"
-msgstr "hat %s's Beitrag kommentiert"
+#: ../../mod/photos.php:937
+msgid "Edit photo"
+msgstr "Foto bearbeiten"
-#: ../../include/apps.php:126
-msgid "Site Admin"
-msgstr "Hub-Administration"
+#: ../../mod/photos.php:939
+msgid "Rotate CW (right)"
+msgstr "Drehen im UZS (rechts)"
-#: ../../include/apps.php:128
-msgid "Address Book"
-msgstr "Adressbuch"
+#: ../../mod/photos.php:940
+msgid "Rotate CCW (left)"
+msgstr "Drehen gegen UZS (links)"
-#: ../../include/apps.php:142 ../../mod/mood.php:131
-msgid "Mood"
-msgstr "Laune"
+#: ../../mod/photos.php:947
+msgid "Caption"
+msgstr "Bildunterschrift"
-#: ../../include/apps.php:143 ../../include/conversation.php:951
-msgid "Poke"
-msgstr "Anstupsen"
+#: ../../mod/photos.php:949
+msgid "Add a Tag"
+msgstr "Schlagwort hinzufügen"
-#: ../../include/apps.php:146
-msgid "Probe"
-msgstr "Testen"
+#: ../../mod/photos.php:953
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Beispiele: @ben, @Karl_Prester, @lieschen@example.com"
-#: ../../include/apps.php:147
-msgid "Suggest"
-msgstr "Empfehlungen"
+#: ../../mod/photos.php:955
+msgid "Flag as adult in album view"
+msgstr "In der Albumansicht als nicht jugendfrei markieren"
-#: ../../include/apps.php:148
-msgid "Random Channel"
-msgstr "Zufälliger Kanal"
+#: ../../mod/photos.php:1132
+msgid "In This Photo:"
+msgstr "Auf diesem Foto:"
-#: ../../include/apps.php:149
-msgid "Invite"
-msgstr "Einladen"
+#: ../../mod/photos.php:1220
+msgid "View Album"
+msgstr "Album ansehen"
-#: ../../include/apps.php:150
-msgid "Features"
-msgstr "Funktionen"
+#: ../../mod/photos.php:1243
+msgid "Recent Photos"
+msgstr "Neueste Fotos"
-#: ../../include/apps.php:151
-msgid "Language"
-msgstr "Sprache"
+#: ../../mod/connections.php:37 ../../mod/connedit.php:64
+msgid "Could not access contact record."
+msgstr "Konnte nicht auf den Kontakteintrag zugreifen."
-#: ../../include/apps.php:152
-msgid "Post"
-msgstr "Beitrag"
+#: ../../mod/connections.php:51 ../../mod/connedit.php:86
+msgid "Could not locate selected profile."
+msgstr "Gewähltes Profil nicht gefunden."
-#: ../../include/apps.php:153
-msgid "Profile Photo"
-msgstr "Profilfoto"
+#: ../../mod/connections.php:94 ../../mod/connedit.php:140
+msgid "Connection updated."
+msgstr "Verbindung aktualisiert."
-#: ../../include/apps.php:242 ../../mod/settings.php:79
-#: ../../mod/settings.php:545
-msgid "Update"
-msgstr "Aktualisieren"
+#: ../../mod/connections.php:96 ../../mod/connedit.php:142
+msgid "Failed to update connection record."
+msgstr "Konnte den Verbindungseintrag nicht aktualisieren."
-#: ../../include/apps.php:242
-msgid "Install"
-msgstr "Installieren"
+#: ../../mod/connections.php:191 ../../mod/connections.php:292
+msgid "Blocked"
+msgstr "Blockiert"
-#: ../../include/apps.php:247
-msgid "Purchase"
-msgstr "Kaufen"
+#: ../../mod/connections.php:196 ../../mod/connections.php:299
+msgid "Ignored"
+msgstr "Ignoriert"
-#: ../../include/api.php:1072
-msgid "Public Timeline"
-msgstr "Öffentliche Zeitleiste"
+#: ../../mod/connections.php:201 ../../mod/connections.php:313
+msgid "Hidden"
+msgstr "Versteckt"
-#: ../../include/chat.php:10
-msgid "Missing room name"
-msgstr "Der Chatraum hat keinen Namen"
+#: ../../mod/connections.php:206 ../../mod/connections.php:306
+msgid "Archived"
+msgstr "Archiviert"
-#: ../../include/chat.php:19
-msgid "Duplicate room name"
-msgstr "Name des Chatraums bereits vergeben"
+#: ../../mod/connections.php:230 ../../mod/connections.php:245
+msgid "All"
+msgstr "Alle"
-#: ../../include/chat.php:68 ../../include/chat.php:76
-msgid "Invalid room specifier."
-msgstr "Ungültiger Raumbezeichner."
+#: ../../mod/connections.php:270
+msgid "Suggest new connections"
+msgstr "Neue Verbindungen vorschlagen"
-#: ../../include/chat.php:105
-msgid "Room not found."
-msgstr "Chatraum konnte nicht gefunden werden."
+#: ../../mod/connections.php:273
+msgid "New Connections"
+msgstr "Neue Verbindungen"
-#: ../../include/chat.php:126
-msgid "Room is full"
-msgstr "Der Raum ist voll"
+#: ../../mod/connections.php:276
+msgid "Show pending (new) connections"
+msgstr "Zeige ausstehende (neue) Verbindungsanfragen"
-#: ../../include/conversation.php:126 ../../mod/like.php:89
-msgid "channel"
-msgstr "Kanal"
+#: ../../mod/connections.php:282
+msgid "Show all connections"
+msgstr "Zeige alle Verbindungen"
-#: ../../include/conversation.php:164 ../../include/diaspora.php:1953
-#: ../../mod/like.php:331
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s gefällt %2$ss %3$s"
+#: ../../mod/connections.php:285
+msgid "Unblocked"
+msgstr "Freigegeben"
-#: ../../include/conversation.php:167 ../../mod/like.php:333
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s gefällt %2$ss %3$s nicht"
+#: ../../mod/connections.php:288
+msgid "Only show unblocked connections"
+msgstr "Zeige nur freigegebene Verbindungen"
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s ist jetzt mit %2$s verbunden"
+#: ../../mod/connections.php:295
+msgid "Only show blocked connections"
+msgstr "Zeige nur blockierte Verbindungen"
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s stupste %2$s an"
+#: ../../mod/connections.php:302
+msgid "Only show ignored connections"
+msgstr "Zeige nur ignorierte Verbindungen"
-#: ../../include/conversation.php:261 ../../mod/mood.php:63
+#: ../../mod/connections.php:309
+msgid "Only show archived connections"
+msgstr "Zeige nur archivierte Verbindungen"
+
+#: ../../mod/connections.php:316
+msgid "Only show hidden connections"
+msgstr "Zeige nur versteckte Verbindungen"
+
+#: ../../mod/connections.php:371
#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s ist %2$s"
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
-#: ../../include/conversation.php:674
+#: ../../mod/connections.php:372
+msgid "Edit connection"
+msgstr "Verbindung bearbeiten"
+
+#: ../../mod/connections.php:410
+msgid "Search your connections"
+msgstr "Verbindungen durchsuchen"
+
+#: ../../mod/connections.php:411
+msgid "Finding: "
+msgstr "Ergebnisse:"
+
+#: ../../mod/manage.php:136
#, php-format
-msgid "View %s's profile @ %s"
-msgstr "%ss Profil auf %s ansehen"
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet."
-#: ../../include/conversation.php:689
-msgid "Categories:"
-msgstr "Kategorien:"
+#: ../../mod/manage.php:144
+msgid "Create a new channel"
+msgstr "Neuen Kanal anlegen"
-#: ../../include/conversation.php:690
-msgid "Filed under:"
-msgstr "Gespeichert unter:"
+#: ../../mod/manage.php:149
+msgid "Current Channel"
+msgstr "Aktueller Kanal"
-#: ../../include/conversation.php:717
-msgid "View in context"
-msgstr "Im Zusammenhang anschauen"
+#: ../../mod/manage.php:151
+msgid "Attach to one of your channels by selecting it."
+msgstr "Wähle einen Deiner Kanäle aus, um ihn zu verwenden."
-#: ../../include/conversation.php:843
-msgid "remove"
-msgstr "lösche"
+#: ../../mod/manage.php:152
+msgid "Default Channel"
+msgstr "Standard Kanal"
-#: ../../include/conversation.php:848
-msgid "Delete Selected Items"
-msgstr "Lösche die ausgewählten Elemente"
+#: ../../mod/manage.php:153
+msgid "Make Default"
+msgstr "Zum Standard machen"
-#: ../../include/conversation.php:942
-msgid "View Source"
-msgstr "Quelle anzeigen"
+#: ../../mod/rpost.php:97 ../../mod/editpost.php:42
+msgid "Edit post"
+msgstr "Bearbeite Beitrag"
-#: ../../include/conversation.php:943
-msgid "Follow Thread"
-msgstr "Unterhaltung folgen"
+#: ../../mod/connedit.php:189
+msgid "is now connected to"
+msgstr "ist jetzt verbunden mit"
-#: ../../include/conversation.php:944
-msgid "View Status"
-msgstr "Status ansehen"
+#: ../../mod/connedit.php:310
+msgid "Could not access address book record."
+msgstr "Konnte nicht auf den Adressbuch-Eintrag zugreifen."
-#: ../../include/conversation.php:946
-msgid "View Photos"
-msgstr "Fotos ansehen"
+#: ../../mod/connedit.php:324
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar."
-#: ../../include/conversation.php:947
-msgid "Matrix Activity"
-msgstr "Matrix-Aktivität"
+#: ../../mod/connedit.php:331
+msgid "Channel has been unblocked"
+msgstr "Kanal nicht mehr blockiert"
-#: ../../include/conversation.php:949
-msgid "Edit Contact"
-msgstr "Kontakt bearbeiten"
+#: ../../mod/connedit.php:332
+msgid "Channel has been blocked"
+msgstr "Kanal blockiert"
-#: ../../include/conversation.php:950
-msgid "Send PM"
-msgstr "Sende PN"
+#: ../../mod/connedit.php:336 ../../mod/connedit.php:348
+#: ../../mod/connedit.php:360 ../../mod/connedit.php:372
+#: ../../mod/connedit.php:388
+msgid "Unable to set address book parameters."
+msgstr "Konnte die Adressbuch-Parameter nicht setzen."
-#: ../../include/conversation.php:1024
-#, php-format
-msgid "%s likes this."
-msgstr "%s gefällt das."
+#: ../../mod/connedit.php:343
+msgid "Channel has been unignored"
+msgstr "Kanal wird nicht mehr ignoriert"
-#: ../../include/conversation.php:1024
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s gefällt das nicht."
+#: ../../mod/connedit.php:344
+msgid "Channel has been ignored"
+msgstr "Kanal wird ignoriert"
-#: ../../include/conversation.php:1028
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] "<span %1$s>%2$d Person</span> gefällt das."
-msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das."
+#: ../../mod/connedit.php:355
+msgid "Channel has been unarchived"
+msgstr "Kanal wurde aus dem Archiv zurück geholt"
-#: ../../include/conversation.php:1030
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] "<span %1$s>%2$d Person</span> gefällt das nicht."
-msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das nicht."
+#: ../../mod/connedit.php:356
+msgid "Channel has been archived"
+msgstr "Kanal wurde archiviert"
-#: ../../include/conversation.php:1036
-msgid "and"
-msgstr "und"
+#: ../../mod/connedit.php:367
+msgid "Channel has been unhidden"
+msgstr "Kanal wird nicht mehr versteckt"
-#: ../../include/conversation.php:1039
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ", und %d andere"
+#: ../../mod/connedit.php:368
+msgid "Channel has been hidden"
+msgstr "Kanal wurde versteckt"
-#: ../../include/conversation.php:1040
-#, php-format
-msgid "%s like this."
-msgstr "%s gefällt das."
+#: ../../mod/connedit.php:383
+msgid "Channel has been approved"
+msgstr "Kanal wurde zugelassen"
-#: ../../include/conversation.php:1040
+#: ../../mod/connedit.php:384
+msgid "Channel has been unapproved"
+msgstr "Zulassung des Kanals entfernt"
+
+#: ../../mod/connedit.php:412
+msgid "Connection has been removed."
+msgstr "Verbindung wurde gelöscht."
+
+#: ../../mod/connedit.php:432
#, php-format
-msgid "%s don't like this."
-msgstr "%s gefällt das nicht."
+msgid "View %s's profile"
+msgstr "%ss Profil ansehen"
-#: ../../include/conversation.php:1097
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Sichtbar für <strong>jeden</strong>"
+#: ../../mod/connedit.php:436
+msgid "Refresh Permissions"
+msgstr "Zugriffsrechte neu laden"
-#: ../../include/conversation.php:1098 ../../mod/mail.php:170
-#: ../../mod/mail.php:282
-msgid "Please enter a link URL:"
-msgstr "Gib eine URL ein:"
+#: ../../mod/connedit.php:439
+msgid "Fetch updated permissions"
+msgstr "Aktualisierte Zugriffsrechte abfragen"
-#: ../../include/conversation.php:1099
-msgid "Please enter a video link/URL:"
-msgstr "Gib einen Video-Link/URL ein:"
+#: ../../mod/connedit.php:443
+msgid "Recent Activity"
+msgstr "Kürzliche Aktivitäten"
-#: ../../include/conversation.php:1100
-msgid "Please enter an audio link/URL:"
-msgstr "Gib einen Audio-Link/URL ein:"
+#: ../../mod/connedit.php:446
+msgid "View recent posts and comments"
+msgstr "Betrachte die neuesten Beiträge und Kommentare"
-#: ../../include/conversation.php:1101
-msgid "Tag term:"
-msgstr "Schlagwort:"
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:594
+#: ../../mod/admin.php:732
+msgid "Unblock"
+msgstr "Freigeben"
-#: ../../include/conversation.php:1102 ../../mod/filer.php:49
-msgid "Save to Folder:"
-msgstr "Speichern in Ordner:"
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:594
+#: ../../mod/admin.php:731
+msgid "Block"
+msgstr "Blockieren"
-#: ../../include/conversation.php:1103
-msgid "Where are you right now?"
-msgstr "Wo bist Du jetzt grade?"
+#: ../../mod/connedit.php:453
+msgid "Block or Unblock this connection"
+msgstr "Verbindung blockieren oder freigeben"
-#: ../../include/conversation.php:1104 ../../mod/editpost.php:52
-#: ../../mod/mail.php:171 ../../mod/mail.php:283
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Verfällt YYYY-MM-DD HH;MM"
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:595
+msgid "Unignore"
+msgstr "Nicht ignorieren"
-#: ../../include/conversation.php:1128 ../../mod/photos.php:994
-#: ../../mod/editwebpage.php:201 ../../mod/layouts.php:122
-#: ../../mod/editblock.php:168 ../../mod/editlayout.php:161
-msgid "Share"
-msgstr "Teilen"
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:595
+#: ../../mod/notifications.php:51
+msgid "Ignore"
+msgstr "Ignorieren"
-#: ../../include/conversation.php:1130 ../../mod/editwebpage.php:139
-msgid "Page link title"
-msgstr "Seitentitel-Link"
+#: ../../mod/connedit.php:460
+msgid "Ignore or Unignore this connection"
+msgstr "Verbindung ignorieren oder wieder beachten"
-#: ../../include/conversation.php:1133
-msgid "Post as"
-msgstr "Posten als"
+#: ../../mod/connedit.php:463
+msgid "Unarchive"
+msgstr "Aus Archiv zurückholen"
-#: ../../include/conversation.php:1134 ../../mod/editpost.php:113
-#: ../../mod/editwebpage.php:144 ../../mod/mail.php:231 ../../mod/mail.php:345
-#: ../../mod/editblock.php:112 ../../mod/editlayout.php:107
-msgid "Upload photo"
-msgstr "Foto hochladen"
+#: ../../mod/connedit.php:463
+msgid "Archive"
+msgstr "Archivieren"
-#: ../../include/conversation.php:1135
-msgid "upload photo"
-msgstr "Foto hochladen"
+#: ../../mod/connedit.php:466
+msgid "Archive or Unarchive this connection"
+msgstr "Verbindung archivieren oder aus dem Archiv zurückholen"
-#: ../../include/conversation.php:1136 ../../mod/editpost.php:114
-#: ../../mod/editwebpage.php:145 ../../mod/mail.php:232 ../../mod/mail.php:346
-#: ../../mod/editblock.php:113 ../../mod/editlayout.php:108
-msgid "Attach file"
-msgstr "Datei anhängen"
+#: ../../mod/connedit.php:469
+msgid "Unhide"
+msgstr "Wieder sichtbar machen"
-#: ../../include/conversation.php:1137
-msgid "attach file"
-msgstr "Datei anfügen"
+#: ../../mod/connedit.php:469
+msgid "Hide"
+msgstr "Verstecken"
-#: ../../include/conversation.php:1138 ../../mod/editpost.php:115
-#: ../../mod/editwebpage.php:146 ../../mod/mail.php:233 ../../mod/mail.php:347
-#: ../../mod/editblock.php:114 ../../mod/editlayout.php:109
-msgid "Insert web link"
-msgstr "Link einfügen"
+#: ../../mod/connedit.php:472
+msgid "Hide or Unhide this connection"
+msgstr "Diese Verbindung verstecken oder wieder sichtbar machen"
-#: ../../include/conversation.php:1139
-msgid "web link"
-msgstr "Web-Link"
+#: ../../mod/connedit.php:479
+msgid "Delete this connection"
+msgstr "Verbindung löschen"
-#: ../../include/conversation.php:1140
-msgid "Insert video link"
-msgstr "Video-Link einfügen"
+#: ../../mod/connedit.php:522 ../../mod/connedit.php:552
+msgid "Approve this connection"
+msgstr "Verbindung genehmigen"
-#: ../../include/conversation.php:1141
-msgid "video link"
-msgstr "Video-Link"
+#: ../../mod/connedit.php:522
+msgid "Accept connection to allow communication"
+msgstr "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen"
-#: ../../include/conversation.php:1142
-msgid "Insert audio link"
-msgstr "Audio-Link einfügen"
+#: ../../mod/connedit.php:538
+#, php-format
+msgid "Connections: settings for %s"
+msgstr "Verbindungseinstellungen für %s"
-#: ../../include/conversation.php:1143
-msgid "audio link"
-msgstr "Audio-Link"
+#: ../../mod/connedit.php:539
+msgid "Apply these permissions automatically"
+msgstr "Diese Berechtigungen automatisch anwenden"
-#: ../../include/conversation.php:1144 ../../mod/editpost.php:119
-#: ../../mod/editwebpage.php:150 ../../mod/editblock.php:118
-#: ../../mod/editlayout.php:113
-msgid "Set your location"
-msgstr "Standort"
+#: ../../mod/connedit.php:543
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr "Wende die auf dieser Seite gewählten Berechtigungen auf alle neuen Verbindungen an."
-#: ../../include/conversation.php:1145
-msgid "set location"
-msgstr "Standort"
+#: ../../mod/connedit.php:545
+msgid "Slide to adjust your degree of friendship"
+msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen"
-#: ../../include/conversation.php:1146 ../../mod/editpost.php:120
-#: ../../mod/editwebpage.php:151 ../../mod/editblock.php:119
-#: ../../mod/editlayout.php:114
-msgid "Clear browser location"
-msgstr "Browser-Standort löschen"
+#: ../../mod/connedit.php:551
+msgid "inherited"
+msgstr "geerbt"
-#: ../../include/conversation.php:1147
-msgid "clear location"
-msgstr "Standort löschen"
+#: ../../mod/connedit.php:553
+msgid "Connection has no individual permissions!"
+msgstr "Diese Verbindung hat keine individuellen Zugriffsrechte!"
-#: ../../include/conversation.php:1149 ../../mod/editpost.php:132
-#: ../../mod/editwebpage.php:167 ../../mod/editblock.php:132
-#: ../../mod/editlayout.php:126
-msgid "Set title"
-msgstr "Titel"
+#: ../../mod/connedit.php:554
+msgid ""
+"This may be appropriate based on your <a href=\"settings\">privacy "
+"settings</a>, though you may wish to review the \"Advanced Permissions\"."
+msgstr "Abhängig von Deinen <a href=\"settings\">Privatsphäre-Einstellungen</a> könnte das passen, eventuell solltest Du aber die „Zugriffsrechte für Fortgeschrittene“ überprüfen."
-#: ../../include/conversation.php:1152 ../../mod/editpost.php:134
-#: ../../mod/editwebpage.php:169 ../../mod/events.php:560
-#: ../../mod/editblock.php:135 ../../mod/editlayout.php:129
-msgid "Categories (comma-separated list)"
-msgstr "Kategorien (Kommagetrennte Liste)"
+#: ../../mod/connedit.php:556
+msgid "Profile Visibility"
+msgstr "Sichtbarkeit des Profils"
-#: ../../include/conversation.php:1154 ../../mod/editpost.php:122
-#: ../../mod/editwebpage.php:153 ../../mod/editblock.php:121
-#: ../../mod/editlayout.php:116
-msgid "Permission settings"
-msgstr "Berechtigungs-Einstellungen"
+#: ../../mod/connedit.php:557
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird."
-#: ../../include/conversation.php:1155
-msgid "permissions"
-msgstr "Berechtigungen"
+#: ../../mod/connedit.php:558
+msgid "Contact Information / Notes"
+msgstr "Kontaktinformationen / Notizen"
-#: ../../include/conversation.php:1162 ../../mod/editpost.php:129
-#: ../../mod/editwebpage.php:162 ../../mod/editblock.php:129
-#: ../../mod/editlayout.php:123
-msgid "Public post"
-msgstr "Öffentlicher Beitrag"
+#: ../../mod/connedit.php:559
+msgid "Edit contact notes"
+msgstr "Kontaktnotizen bearbeiten"
-#: ../../include/conversation.php:1164 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:170 ../../mod/editblock.php:136
-#: ../../mod/editlayout.php:130
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Beispiel: bob@example.com, mary@example.com"
+#: ../../mod/connedit.php:561
+msgid "Their Settings"
+msgstr "Deren Einstellungen"
-#: ../../include/conversation.php:1177 ../../mod/editpost.php:146
-#: ../../mod/editwebpage.php:179 ../../mod/mail.php:238 ../../mod/mail.php:352
-#: ../../mod/editblock.php:146 ../../mod/editlayout.php:140
-msgid "Set expiration date"
-msgstr "Verfallsdatum"
+#: ../../mod/connedit.php:562
+msgid "My Settings"
+msgstr "Meine Einstellungen"
-#: ../../include/conversation.php:1181 ../../mod/editpost.php:150
-#: ../../mod/events.php:567
-msgid "OK"
-msgstr "Ok"
+#: ../../mod/connedit.php:564
+msgid "Clear/Disable Automatic Permissions"
+msgstr "Automatische Berechtigungen abschalten/entfernen"
-#: ../../include/conversation.php:1182 ../../mod/settings.php:520
-#: ../../mod/settings.php:546 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:151
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 ../../mod/events.php:566
-msgid "Cancel"
-msgstr "Abbrechen"
+#: ../../mod/connedit.php:565
+msgid "Forum Members"
+msgstr "Forum Mitglieder"
-#: ../../include/conversation.php:1426
-msgid "Discover"
-msgstr "Entdecken"
+#: ../../mod/connedit.php:566
+msgid "Soapbox"
+msgstr "Marktschreier"
-#: ../../include/conversation.php:1429
-msgid "Imported public streams"
-msgstr "Importierte öffentliche Beiträge"
+#: ../../mod/connedit.php:567
+msgid "Full Sharing (typical social network permissions)"
+msgstr "Vollumfängliches Teilen (übliche Berechtigungen in sozialen Netzwerken)"
-#: ../../include/conversation.php:1434
-msgid "Commented Order"
-msgstr "Neueste Kommentare"
+#: ../../mod/connedit.php:568
+msgid "Cautious Sharing "
+msgstr "Vorsichtiges Teilen"
-#: ../../include/conversation.php:1437
-msgid "Sort by Comment Date"
-msgstr "Nach Kommentardatum sortiert"
+#: ../../mod/connedit.php:569
+msgid "Follow Only"
+msgstr "Nur folgen"
-#: ../../include/conversation.php:1441
-msgid "Posted Order"
-msgstr "Neueste Beiträge"
+#: ../../mod/connedit.php:570
+msgid "Individual Permissions"
+msgstr "Individuelle Zugriffsrechte"
-#: ../../include/conversation.php:1444
-msgid "Sort by Post Date"
-msgstr "Nach Beitragsdatum sortiert"
+#: ../../mod/connedit.php:571
+msgid ""
+"Some permissions may be inherited from your channel <a "
+"href=\"settings\">privacy settings</a>, which have higher priority than "
+"individual settings. Changing those inherited settings on this page will "
+"have no effect."
+msgstr "Einige Berechtigungen werden von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt, die eine höhere Priorität haben als die Einstellungen bei einer Verbindung. Werden geerbte Einstellungen hier geändert, hat das keine Auswirkungen."
-#: ../../include/conversation.php:1449 ../../include/widgets.php:89
-msgid "Personal"
-msgstr "Persönlich"
+#: ../../mod/connedit.php:572
+msgid "Advanced Permissions"
+msgstr "Zugriffsrechte für Fortgeschrittene"
-#: ../../include/conversation.php:1452
-msgid "Posts that mention or involve you"
-msgstr "Beiträge mit Beteiligung Deinerseits"
+#: ../../mod/connedit.php:573
+msgid "Simple Permissions (select one and submit)"
+msgstr "Einfache Berechtigungs-Einstellungen (wähle eine aus und klicke auf Senden)"
-#: ../../include/conversation.php:1458 ../../mod/connections.php:211
-#: ../../mod/connections.php:224 ../../mod/menu.php:61
-msgid "New"
-msgstr "Neu"
+#: ../../mod/connedit.php:577
+#, php-format
+msgid "Visit %s's profile - %s"
+msgstr "%ss Profil besuchen - %s"
-#: ../../include/conversation.php:1461
-msgid "Activity Stream - by date"
-msgstr "Activity Stream – nach Datum sortiert"
+#: ../../mod/connedit.php:578
+msgid "Block/Unblock contact"
+msgstr "Kontakt blockieren/freigeben"
-#: ../../include/conversation.php:1467
-msgid "Starred"
-msgstr "Markiert"
+#: ../../mod/connedit.php:579
+msgid "Ignore contact"
+msgstr "Kontakt ignorieren"
-#: ../../include/conversation.php:1470
-msgid "Favourite Posts"
-msgstr "Markierte Beiträge"
+#: ../../mod/connedit.php:580
+msgid "Repair URL settings"
+msgstr "URL-Einstellungen reparieren"
-#: ../../include/conversation.php:1477
-msgid "Spam"
-msgstr "Spam"
+#: ../../mod/connedit.php:581
+msgid "View conversations"
+msgstr "Unterhaltungen anzeigen"
-#: ../../include/conversation.php:1480
-msgid "Posts flagged as SPAM"
-msgstr "Nachrichten, die als SPAM markiert wurden"
+#: ../../mod/connedit.php:583
+msgid "Delete contact"
+msgstr "Kontakt löschen"
-#: ../../include/conversation.php:1516 ../../mod/admin.php:867
-msgid "Channel"
-msgstr "Kanal"
+#: ../../mod/connedit.php:586
+msgid "Last update:"
+msgstr "Letzte Aktualisierung:"
-#: ../../include/conversation.php:1519
-msgid "Status Messages and Posts"
-msgstr "Statusnachrichten und Beiträge"
+#: ../../mod/connedit.php:588
+msgid "Update public posts"
+msgstr "Öffentliche Beiträge aktualisieren"
-#: ../../include/conversation.php:1528
-msgid "About"
-msgstr "Ãœber"
+#: ../../mod/connedit.php:590
+msgid "Update now"
+msgstr "Jetzt aktualisieren"
-#: ../../include/conversation.php:1531
-msgid "Profile Details"
-msgstr "Profil-Details"
+#: ../../mod/connedit.php:596
+msgid "Currently blocked"
+msgstr "Derzeit blockiert"
-#: ../../include/conversation.php:1549
-msgid "Files and Storage"
-msgstr "Dateien und Speicher"
+#: ../../mod/connedit.php:597
+msgid "Currently ignored"
+msgstr "Derzeit ignoriert"
-#: ../../include/conversation.php:1558 ../../include/conversation.php:1561
-msgid "Chatrooms"
-msgstr "Chaträume"
+#: ../../mod/connedit.php:598
+msgid "Currently archived"
+msgstr "Derzeit archiviert"
-#: ../../include/conversation.php:1573
-msgid "Saved Bookmarks"
-msgstr "Gespeicherte Lesezeichen"
+#: ../../mod/connedit.php:599
+msgid "Currently pending"
+msgstr "Derzeit anstehend"
-#: ../../include/conversation.php:1584
-msgid "Manage Webpages"
-msgstr "Webseiten verwalten"
+#: ../../mod/connedit.php:600
+msgid "Hide this contact from others"
+msgstr "Diese Verbindung vor den anderen verbergen."
-#: ../../include/bb2diaspora.php:360
-msgid "Attachments:"
-msgstr "Anhänge:"
+#: ../../mod/connedit.php:600
+msgid ""
+"Replies/likes to your public posts <strong>may</strong> still be visible"
+msgstr "Antworten/Likes auf deine öffentlichen Beiträge <strong>können</strong> immer noch sichtbar sein"
-#: ../../include/acl_selectors.php:240
-msgid "Visible to your default audience"
-msgstr "Standard-Sichtbarkeit"
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "OpenID Protokollfehler. Keine ID zurückgegeben."
-#: ../../include/acl_selectors.php:241
-msgid "Show"
-msgstr "Zeigen"
+#: ../../mod/thing.php:96
+msgid "Thing updated"
+msgstr "Sache aktualisiert"
-#: ../../include/acl_selectors.php:242
-msgid "Don't show"
-msgstr "Nicht zeigen"
+#: ../../mod/thing.php:156
+msgid "Object store: failed"
+msgstr "Speichern des Objekts fehlgeschlagen"
-#: ../../include/acl_selectors.php:248 ../../mod/filestorage.php:137
-#: ../../mod/photos.php:604 ../../mod/photos.php:970 ../../mod/chat.php:209
-#: ../../mod/events.php:585
-msgid "Permissions"
-msgstr "Berechtigungen"
+#: ../../mod/thing.php:160
+msgid "Thing added"
+msgstr "Sache hinzugefügt"
-#: ../../include/widgets.php:87
-msgid "System"
-msgstr "System"
+#: ../../mod/thing.php:180
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../include/widgets.php:90
-msgid "Create Personal App"
-msgstr "Persönliche App erstellen"
+#: ../../mod/thing.php:232
+msgid "Show Thing"
+msgstr "Sache anzeigen"
-#: ../../include/widgets.php:91
-msgid "Edit Personal App"
-msgstr "Persönliche App bearbeiten"
+#: ../../mod/thing.php:239
+msgid "item not found."
+msgstr "Eintrag nicht gefunden"
-#: ../../include/widgets.php:137 ../../mod/suggest.php:53
-msgid "Ignore/Hide"
-msgstr "Ignorieren/Verstecken"
+#: ../../mod/thing.php:270
+msgid "Edit Thing"
+msgstr "Sache bearbeiten"
-#: ../../include/widgets.php:143 ../../mod/connections.php:267
-msgid "Suggestions"
-msgstr "Vorschläge"
+#: ../../mod/thing.php:272 ../../mod/thing.php:319
+msgid "Select a profile"
+msgstr "Wähle ein Profil"
-#: ../../include/widgets.php:144
-msgid "See more..."
-msgstr "Mehr anzeigen …"
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Post an activity"
+msgstr "Aktivitätsnachricht senden"
-#: ../../include/widgets.php:166
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Nur an Betrachter des ausgewählten Profils senden"
+
+#: ../../mod/thing.php:278 ../../mod/thing.php:324
+msgid "Name of thing e.g. something"
+msgstr "Name der Sache, z. B. irgendwas"
+
+#: ../../mod/thing.php:280 ../../mod/thing.php:325
+msgid "URL of thing (optional)"
+msgstr "URL der Sache (optional)"
+
+#: ../../mod/thing.php:282 ../../mod/thing.php:326
+msgid "URL for photo of thing (optional)"
+msgstr "URL eines Fotos der Sache (optional)"
+
+#: ../../mod/thing.php:317
+msgid "Add Thing to your Profile"
+msgstr "Die Sache Deinem Profil hinzufügen"
+
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr "Kein gültiges Konto gefunden."
+
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails."
+
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen."
+msgid "Site Member (%s)"
+msgstr "Nutzer (%s)"
-#: ../../include/widgets.php:172
-msgid "Add New Connection"
-msgstr "Neue Verbindung hinzufügen"
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Passwort-Rücksetzung auf %s angefordert"
-#: ../../include/widgets.php:173
-msgid "Enter the channel address"
-msgstr "Adresse des Kanals eingeben"
+#: ../../mod/lostpass.php:63
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen."
-#: ../../include/widgets.php:174
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Beispiel: bob@beispiel.com, http://beispiel.com/barbara"
+#: ../../mod/lostpass.php:85 ../../boot.php:1494
+msgid "Password Reset"
+msgstr "Zurücksetzen des Kennworts"
-#: ../../include/widgets.php:191
-msgid "Notes"
-msgstr "Notizen"
+#: ../../mod/lostpass.php:86
+msgid "Your password has been reset as requested."
+msgstr "Dein Passwort wurde wie angefordert neu erstellt."
-#: ../../include/widgets.php:263
-msgid "Remove term"
-msgstr "Eintrag löschen"
+#: ../../mod/lostpass.php:87
+msgid "Your new password is"
+msgstr "Dein neues Passwort lautet"
-#: ../../include/widgets.php:342
-msgid "Archives"
-msgstr "Archive"
+#: ../../mod/lostpass.php:88
+msgid "Save or copy your new password - and then"
+msgstr "Speichere oder kopiere Dein neues Passwort – und dann"
-#: ../../include/widgets.php:404
-msgid "Refresh"
-msgstr "Aktualisieren"
+#: ../../mod/lostpass.php:89
+msgid "click here to login"
+msgstr "Klicke hier, um dich anzumelden"
-#: ../../include/widgets.php:405 ../../mod/connedit.php:492
-msgid "Me"
-msgstr "Ich"
+#: ../../mod/lostpass.php:90
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden."
-#: ../../include/widgets.php:406 ../../mod/connedit.php:494
-msgid "Best Friends"
-msgstr "Beste Freunde"
+#: ../../mod/lostpass.php:107
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Auf %s wurde Dein Passwort geändert"
-#: ../../include/widgets.php:408
-msgid "Co-workers"
-msgstr "Kollegen"
+#: ../../mod/lostpass.php:122
+msgid "Forgot your Password?"
+msgstr "Kennwort vergessen?"
-#: ../../include/widgets.php:409 ../../mod/connedit.php:496
-msgid "Former Friends"
-msgstr "ehem. Freunde"
+#: ../../mod/lostpass.php:123
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail."
-#: ../../include/widgets.php:410 ../../mod/connedit.php:497
-msgid "Acquaintances"
-msgstr "Bekannte"
+#: ../../mod/lostpass.php:124
+msgid "Email Address"
+msgstr "E-Mail Adresse"
-#: ../../include/widgets.php:411
-msgid "Everybody"
-msgstr "Jeder"
+#: ../../mod/lostpass.php:125
+msgid "Reset"
+msgstr "Zurücksetzen"
-#: ../../include/widgets.php:443
-msgid "Account settings"
-msgstr "Konto-Einstellungen"
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr "Lesezeichen hinzugefügt"
-#: ../../include/widgets.php:449
-msgid "Channel settings"
-msgstr "Kanal-Einstellungen"
+#: ../../mod/bookmarks.php:60
+msgid "My Bookmarks"
+msgstr "Meine Lesezeichen"
-#: ../../include/widgets.php:455
-msgid "Additional features"
-msgstr "Zusätzliche Funktionen"
+#: ../../mod/bookmarks.php:71
+msgid "My Connections Bookmarks"
+msgstr "Lesezeichen meiner Kontakte"
-#: ../../include/widgets.php:461
-msgid "Feature settings"
-msgstr "Funktions-Einstellungen"
+#: ../../mod/dirsearch.php:21
+msgid "This site is not a directory server"
+msgstr "Diese Website ist kein Verzeichnis-Server"
-#: ../../include/widgets.php:467
-msgid "Display settings"
-msgstr "Anzeige-Einstellungen"
+#: ../../mod/cloud.php:130
+msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
+msgstr "RedMatrix – Gäste: Username: {Deine E-Mail-Adresse}, Passwort: +++"
-#: ../../include/widgets.php:473
-msgid "Connected apps"
-msgstr "Verbundene Apps"
+#: ../../mod/ping.php:257
+msgid "sent you a private message"
+msgstr "eine private Nachricht schicken"
-#: ../../include/widgets.php:479
-msgid "Export channel"
-msgstr "Kanal exportieren"
+#: ../../mod/ping.php:308
+msgid "added your channel"
+msgstr "hat deinen Kanal hinzugefügt"
-#: ../../include/widgets.php:485
-msgid "Export content"
-msgstr "Kanal-Inhalte exportieren"
+#: ../../mod/ping.php:349
+msgid "posted an event"
+msgstr "hat einen Termin veröffentlicht"
-#: ../../include/widgets.php:491
-msgid "Automatic Permissions (Advanced)"
-msgstr "Automatische Berechtigungen (Erweitert)"
+#: ../../mod/editblock.php:79 ../../mod/editblock.php:95
+#: ../../mod/editlayout.php:78 ../../mod/editpost.php:20
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
+msgstr "Element nicht gefunden"
-#: ../../include/widgets.php:501
-msgid "Premium Channel Settings"
-msgstr "Premium-Kanal-Einstellungen"
+#: ../../mod/editblock.php:115
+msgid "Edit Block"
+msgstr "Block bearbeiten"
-#: ../../include/widgets.php:535 ../../mod/message.php:31
-#: ../../mod/mail.php:124
-msgid "Messages"
-msgstr "Nachrichten"
+#: ../../mod/editblock.php:125
+msgid "Delete block?"
+msgstr "Block löschen?"
-#: ../../include/widgets.php:540
-msgid "Check Mail"
-msgstr "E-Mails abrufen"
+#: ../../mod/editblock.php:147 ../../mod/editlayout.php:143
+#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:178
+msgid "Insert YouTube video"
+msgstr "YouTube-Video einfügen"
-#: ../../include/widgets.php:621
-msgid "Chat Rooms"
-msgstr "Chaträume"
+#: ../../mod/editblock.php:148 ../../mod/editlayout.php:144
+#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:179
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Vorbis [.ogg]-Video einfügen"
-#: ../../include/widgets.php:639
-msgid "Bookmarked Chatrooms"
-msgstr "Gespeicherte Chatrooms"
+#: ../../mod/editblock.php:149 ../../mod/editlayout.php:145
+#: ../../mod/editpost.php:118 ../../mod/editwebpage.php:180
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Vorbis [.ogg]-Audio einfügen"
-#: ../../include/widgets.php:657
-msgid "Suggested Chatrooms"
-msgstr "Chatraum-Vorschläge"
+#: ../../mod/editblock.php:183
+msgid "Delete Block"
+msgstr "Block löschen"
-#: ../../include/follow.php:26
-msgid "Channel is blocked on this site."
-msgstr "Der Kanal ist auf dieser Seite blockiert "
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
+msgstr "Layout aktualisiert."
-#: ../../include/follow.php:31
-msgid "Channel location missing."
-msgstr "Adresse des Kanals fehlt."
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
+msgstr "Systemseitenbeschreibung bearbeiten"
-#: ../../include/follow.php:80
-msgid "Response from remote channel was incomplete."
-msgstr "Antwort des entfernten Kanals war unvollständig."
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
+msgstr "Layout nicht gefunden."
-#: ../../include/follow.php:97
-msgid "Channel was deleted and no longer exists."
-msgstr "Kanal wurde gelöscht und existiert nicht mehr."
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
+msgstr "Modulname:"
-#: ../../include/follow.php:133 ../../include/follow.php:202
-msgid "Protocol disabled."
-msgstr "Protokoll deaktiviert."
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:107
+msgid "Layout Help"
+msgstr "Layout-Hilfe"
-#: ../../include/follow.php:176
-msgid "Channel discovery failed."
-msgstr "Kanalsuche fehlgeschlagen"
+#: ../../mod/editlayout.php:108
+msgid "Edit Layout"
+msgstr "Layout bearbeiten"
-#: ../../include/follow.php:192
-msgid "local account not found."
-msgstr "Lokales Konto nicht gefunden."
+#: ../../mod/editlayout.php:117
+msgid "Delete layout?"
+msgstr "Layout löschen?"
-#: ../../include/follow.php:219
-msgid "Cannot connect to yourself."
-msgstr "Du kannst Dich nicht mit Dir selbst verbinden."
+#: ../../mod/editlayout.php:178
+msgid "Delete Layout"
+msgstr "Layout löschen"
-#: ../../mod/post.php:229
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angemeldet. Bitte melde Dich ab und versuche es erneut."
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "Element kann nicht bearbeitet werden."
-#: ../../mod/post.php:261 ../../mod/openid.php:72 ../../mod/openid.php:180
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Willkommen %s. Entfernte Authentifizierung erfolgreich."
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
+msgstr "Eintrag löschen?"
-#: ../../mod/settings.php:71
+#: ../../mod/settings.php:73
msgid "Name is required"
msgstr "Name ist erforderlich"
-#: ../../mod/settings.php:75
+#: ../../mod/settings.php:77
msgid "Key and Secret are required"
msgstr "Schlüssel und Geheimnis werden benötigt"
-#: ../../mod/settings.php:198
+#: ../../mod/settings.php:197
msgid "Passwords do not match. Password unchanged."
msgstr "Kennwörter stimmen nicht überein. Kennwort nicht verändert."
-#: ../../mod/settings.php:202
+#: ../../mod/settings.php:201
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert."
-#: ../../mod/settings.php:216
+#: ../../mod/settings.php:215
msgid "Password changed."
msgstr "Kennwort geändert."
-#: ../../mod/settings.php:218
+#: ../../mod/settings.php:217
msgid "Password update failed. Please try again."
msgstr "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal."
-#: ../../mod/settings.php:232
+#: ../../mod/settings.php:231
msgid "Not valid email."
msgstr "Keine gültige E-Mail Adresse."
-#: ../../mod/settings.php:235
+#: ../../mod/settings.php:234
msgid "Protected email address. Cannot change to that email."
msgstr "Geschützte E-Mail Adresse. Diese kann nicht verändert werden."
-#: ../../mod/settings.php:244
+#: ../../mod/settings.php:243
msgid "System failure storing new email. Please try again."
msgstr "Systemfehler während des Speicherns der neuen Mail. Bitte versuche es noch einmal."
-#: ../../mod/settings.php:447
+#: ../../mod/settings.php:479
msgid "Settings updated."
msgstr "Einstellungen aktualisiert."
-#: ../../mod/settings.php:518 ../../mod/settings.php:544
-#: ../../mod/settings.php:580
+#: ../../mod/settings.php:548 ../../mod/settings.php:574
+#: ../../mod/settings.php:610
msgid "Add application"
msgstr "Anwendung hinzufügen"
-#: ../../mod/settings.php:521
+#: ../../mod/settings.php:551
msgid "Name of application"
msgstr "Name der Anwendung"
-#: ../../mod/settings.php:522 ../../mod/settings.php:548
+#: ../../mod/settings.php:552 ../../mod/settings.php:578
msgid "Consumer Key"
msgstr "Consumer Key"
-#: ../../mod/settings.php:522 ../../mod/settings.php:523
+#: ../../mod/settings.php:552 ../../mod/settings.php:553
msgid "Automatically generated - change if desired. Max length 20"
msgstr "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20"
-#: ../../mod/settings.php:523 ../../mod/settings.php:549
+#: ../../mod/settings.php:553 ../../mod/settings.php:579
msgid "Consumer Secret"
msgstr "Consumer Secret"
-#: ../../mod/settings.php:524 ../../mod/settings.php:550
+#: ../../mod/settings.php:554 ../../mod/settings.php:580
msgid "Redirect"
msgstr "Umleitung"
-#: ../../mod/settings.php:524
+#: ../../mod/settings.php:554
msgid ""
"Redirect URI - leave blank unless your application specifically requires "
"this"
-msgstr "Umleitungs-URl – lasse das leer, wenn Deine Anwendung es nicht explizit erfordert"
+msgstr "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert"
-#: ../../mod/settings.php:525 ../../mod/settings.php:551
+#: ../../mod/settings.php:555 ../../mod/settings.php:581
msgid "Icon url"
msgstr "Symbol-URL"
-#: ../../mod/settings.php:525
+#: ../../mod/settings.php:555
msgid "Optional"
msgstr "Optional"
-#: ../../mod/settings.php:536
+#: ../../mod/settings.php:566
msgid "You can't edit this application."
msgstr "Diese Anwendung kann nicht bearbeitet werden."
-#: ../../mod/settings.php:579
+#: ../../mod/settings.php:609
msgid "Connected Apps"
msgstr "Verbundene Apps"
-#: ../../mod/settings.php:583
+#: ../../mod/settings.php:613
msgid "Client key starts with"
msgstr "Client Key beginnt mit"
-#: ../../mod/settings.php:584
+#: ../../mod/settings.php:614
msgid "No name"
msgstr "Kein Name"
-#: ../../mod/settings.php:585
+#: ../../mod/settings.php:615
msgid "Remove authorization"
msgstr "Authorisierung aufheben"
-#: ../../mod/settings.php:596
+#: ../../mod/settings.php:626
msgid "No feature settings configured"
msgstr "Keine Funktions-Einstellungen konfiguriert"
-#: ../../mod/settings.php:604
+#: ../../mod/settings.php:634
msgid "Feature Settings"
msgstr "Funktions-Einstellungen"
-#: ../../mod/settings.php:627
+#: ../../mod/settings.php:657
msgid "Account Settings"
msgstr "Konto-Einstellungen"
-#: ../../mod/settings.php:628
+#: ../../mod/settings.php:658
msgid "Password Settings"
msgstr "Kennwort-Einstellungen"
-#: ../../mod/settings.php:629
+#: ../../mod/settings.php:659
msgid "New Password:"
msgstr "Neues Passwort:"
-#: ../../mod/settings.php:630
+#: ../../mod/settings.php:660
msgid "Confirm:"
msgstr "Bestätigen:"
-#: ../../mod/settings.php:630
+#: ../../mod/settings.php:660
msgid "Leave password fields blank unless changing"
msgstr "Lasse die Passwort-Felder leer, außer Du möchtest das Passwort ändern"
-#: ../../mod/settings.php:632 ../../mod/settings.php:954
+#: ../../mod/settings.php:662 ../../mod/settings.php:985
msgid "Email Address:"
msgstr "Email Adresse:"
-#: ../../mod/settings.php:633 ../../mod/removeaccount.php:61
+#: ../../mod/settings.php:663 ../../mod/removeaccount.php:61
msgid "Remove Account"
msgstr "Konto entfernen"
-#: ../../mod/settings.php:634
+#: ../../mod/settings.php:664
msgid "Remove this account from this server including all its channels"
msgstr "Lösche dieses Konto einschließlich aller zugehörigen Kanäle von diesem Server"
-#: ../../mod/settings.php:635 ../../mod/settings.php:1019
+#: ../../mod/settings.php:665 ../../mod/settings.php:1067
msgid "Warning: This action is permanent and cannot be reversed."
msgstr "Achtung: Diese Aktion ist endgültig und kann nicht rückgängig gemacht werden."
-#: ../../mod/settings.php:651
+#: ../../mod/settings.php:681
msgid "Off"
msgstr "Aus"
-#: ../../mod/settings.php:651
+#: ../../mod/settings.php:681
msgid "On"
msgstr "An"
-#: ../../mod/settings.php:658
+#: ../../mod/settings.php:688
msgid "Additional Features"
msgstr "Zusätzliche Funktionen"
-#: ../../mod/settings.php:683
+#: ../../mod/settings.php:713
msgid "Connector Settings"
msgstr "Connector-Einstellungen"
-#: ../../mod/settings.php:713 ../../mod/admin.php:362
+#: ../../mod/settings.php:743
msgid "No special theme for mobile devices"
msgstr "Keine spezielle Theme für mobile Geräte"
-#: ../../mod/settings.php:722
+#: ../../mod/settings.php:752
#, php-format
msgid "%s - (Experimental)"
msgstr "%s – (experimentell)"
-#: ../../mod/settings.php:758
+#: ../../mod/settings.php:788
msgid "Display Settings"
msgstr "Anzeige-Einstellungen"
-#: ../../mod/settings.php:764
+#: ../../mod/settings.php:794
msgid "Display Theme:"
msgstr "Anzeige-Theme:"
-#: ../../mod/settings.php:765
+#: ../../mod/settings.php:795
msgid "Mobile Theme:"
msgstr "Mobile Theme:"
-#: ../../mod/settings.php:766
+#: ../../mod/settings.php:796
msgid "Enable user zoom on mobile devices"
msgstr "Zoom auf Mobilgeräten aktivieren"
-#: ../../mod/settings.php:767
+#: ../../mod/settings.php:797
msgid "Update browser every xx seconds"
msgstr "Browser alle xx Sekunden aktualisieren"
-#: ../../mod/settings.php:767
+#: ../../mod/settings.php:797
msgid "Minimum of 10 seconds, no maximum"
msgstr "Minimum 10 Sekunden, kein Maximum"
-#: ../../mod/settings.php:768
+#: ../../mod/settings.php:798
msgid "Maximum number of conversations to load at any time:"
msgstr "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:"
-#: ../../mod/settings.php:768
+#: ../../mod/settings.php:798
msgid "Maximum of 100 items"
msgstr "Maximum: 100 Beiträge"
-#: ../../mod/settings.php:769
+#: ../../mod/settings.php:799
msgid "Don't show emoticons"
msgstr "Emoticons nicht zeigen"
-#: ../../mod/settings.php:770
+#: ../../mod/settings.php:800
msgid "Link post titles to source"
msgstr "Beitragstitel zum Originalbeitrag verlinken"
-#: ../../mod/settings.php:771
+#: ../../mod/settings.php:801
msgid "System Page Layout Editor - (advanced)"
msgstr "System-Seitenlayout-Editor (für Experten)"
-#: ../../mod/settings.php:807
+#: ../../mod/settings.php:835
msgid "Nobody except yourself"
msgstr "Niemand außer Dir selbst"
-#: ../../mod/settings.php:808
+#: ../../mod/settings.php:836
msgid "Only those you specifically allow"
msgstr "Nur die, denen Du es explizit erlaubst"
-#: ../../mod/settings.php:809
+#: ../../mod/settings.php:837
msgid "Approved connections"
msgstr "Angenommene Verbindungen"
-#: ../../mod/settings.php:810
+#: ../../mod/settings.php:838
msgid "Any connections"
msgstr "Beliebige Verbindungen"
-#: ../../mod/settings.php:811
+#: ../../mod/settings.php:839
msgid "Anybody on this website"
msgstr "Jeder auf dieser Website"
-#: ../../mod/settings.php:812
+#: ../../mod/settings.php:840
msgid "Anybody in this network"
msgstr "Alle Red-Nutzer"
-#: ../../mod/settings.php:813
+#: ../../mod/settings.php:841
msgid "Anybody authenticated"
msgstr "Jeder authentifizierte"
-#: ../../mod/settings.php:814
+#: ../../mod/settings.php:842
msgid "Anybody on the internet"
msgstr "Jeder im Internet"
-#: ../../mod/settings.php:891
+#: ../../mod/settings.php:916
msgid "Publish your default profile in the network directory"
msgstr "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen"
-#: ../../mod/settings.php:891 ../../mod/settings.php:896
-#: ../../mod/settings.php:973 ../../mod/admin.php:392
-#: ../../mod/profiles.php:602 ../../mod/api.php:106
-msgid "No"
-msgstr "Nein"
-
-#: ../../mod/settings.php:891 ../../mod/settings.php:896
-#: ../../mod/settings.php:973 ../../mod/admin.php:394
-#: ../../mod/profiles.php:601 ../../mod/api.php:105
-msgid "Yes"
-msgstr "Ja"
-
-#: ../../mod/settings.php:896
+#: ../../mod/settings.php:921
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?"
-#: ../../mod/settings.php:900 ../../mod/profile_photo.php:365
+#: ../../mod/settings.php:925 ../../mod/profile_photo.php:365
msgid "or"
msgstr "oder"
-#: ../../mod/settings.php:905
+#: ../../mod/settings.php:930
msgid "Your channel address is"
msgstr "Deine Kanal-Adresse lautet"
-#: ../../mod/settings.php:943
+#: ../../mod/settings.php:974
msgid "Channel Settings"
msgstr "Kanal-Einstellungen"
-#: ../../mod/settings.php:952
+#: ../../mod/settings.php:983
msgid "Basic Settings"
msgstr "Grundeinstellungen"
-#: ../../mod/settings.php:955
+#: ../../mod/settings.php:986
msgid "Your Timezone:"
msgstr "Ihre Zeitzone:"
-#: ../../mod/settings.php:956
+#: ../../mod/settings.php:987
msgid "Default Post Location:"
msgstr "Standardstandort:"
-#: ../../mod/settings.php:956
+#: ../../mod/settings.php:987
msgid "Geographical location to display on your posts"
msgstr "Geografischer Ort, der bei Deinen Beiträgen angezeigt werden soll"
-#: ../../mod/settings.php:957
+#: ../../mod/settings.php:988
msgid "Use Browser Location:"
msgstr "Standort des Browsers verwenden:"
-#: ../../mod/settings.php:959
+#: ../../mod/settings.php:990
msgid "Adult Content"
msgstr "Nicht jugendfreie Inhalte"
-#: ../../mod/settings.php:959
+#: ../../mod/settings.php:990
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Dieser Kanal veröffentlicht regelmäßig Inhalte, die für Minderjährige ungeeignet sind. (Bitte markiere solche Inhalte mit dem Schlagwort #NSFW)"
-#: ../../mod/settings.php:961
+#: ../../mod/settings.php:992
msgid "Security and Privacy Settings"
msgstr "Sicherheits- und Datenschutz-Einstellungen"
-#: ../../mod/settings.php:963
+#: ../../mod/settings.php:994
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "Deine Zugriffsrechte sind schon konfiguriert. Klicke hier, um sie zu betrachten oder zu ändern"
-#: ../../mod/settings.php:965
+#: ../../mod/settings.php:996
msgid "Hide my online presence"
msgstr "Meine Online-Präsenz verbergen"
-#: ../../mod/settings.php:965
+#: ../../mod/settings.php:996
msgid "Prevents displaying in your profile that you are online"
msgstr "Verhindert die Anzeige Deines Online-Status in deinem Profil"
-#: ../../mod/settings.php:967
+#: ../../mod/settings.php:998
msgid "Simple Privacy Settings:"
msgstr "Einfache Privatsphäre-Einstellungen"
-#: ../../mod/settings.php:968
+#: ../../mod/settings.php:999
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Komplett offen – <em>extrem ungeschützt (mit großer Vorsicht verwenden!)</em>"
-#: ../../mod/settings.php:969
+#: ../../mod/settings.php:1000
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Typisch – <em>Standard öffentlich, Privatsphäre, wo sie erwünscht ist (ähnlich den Einstellungen in sozialen Netzwerken, aber mit besser geschützter Privatsphäre)</em>"
-#: ../../mod/settings.php:970
+#: ../../mod/settings.php:1001
msgid "Private - <em>default private, never open or public</em>"
-msgstr "Private – <em>Standard privat, nie offen oder öffentlich</em>"
+msgstr "Privat – <em>Standard privat, nie offen oder öffentlich</em>"
-#: ../../mod/settings.php:971
+#: ../../mod/settings.php:1002
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Blockiert – <em>Alle standardmäßig blockiert</em>"
-#: ../../mod/settings.php:973
+#: ../../mod/settings.php:1004
msgid "Allow others to tag your posts"
-msgstr "Erlaube anderen, Deine Beiträge zu taggen"
+msgstr "Erlaube anderen, Deine Beiträge zu verschlagworten"
-#: ../../mod/settings.php:973
+#: ../../mod/settings.php:1004
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren"
-#: ../../mod/settings.php:975
+#: ../../mod/settings.php:1006
msgid "Advanced Privacy Settings"
msgstr "Fortgeschrittene Privatsphäre-Einstellungen"
-#: ../../mod/settings.php:977
+#: ../../mod/settings.php:1008
msgid "Expire other channel content after this many days"
msgstr "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen"
-#: ../../mod/settings.php:977
+#: ../../mod/settings.php:1008
msgid "0 or blank prevents expiration"
msgstr "0 oder kein Inhalt verhindern das Verfallen"
-#: ../../mod/settings.php:978
+#: ../../mod/settings.php:1009
msgid "Maximum Friend Requests/Day:"
msgstr "Maximale Kontaktanfragen pro Tag:"
-#: ../../mod/settings.php:978
+#: ../../mod/settings.php:1009
msgid "May reduce spam activity"
msgstr "Kann die Spam-Aktivität verringern"
-#: ../../mod/settings.php:979
+#: ../../mod/settings.php:1010
msgid "Default Post Permissions"
msgstr "Standardeinstellungen für Beitrags-Zugriffsrechte"
-#: ../../mod/settings.php:980 ../../mod/mitem.php:134 ../../mod/mitem.php:177
-msgid "(click to open/close)"
-msgstr "(zum öffnen/schließen anklicken)"
+#: ../../mod/settings.php:1015
+msgid "Channel permissions category:"
+msgstr "Zugriffsrechte-Kategorie des Kanals:"
-#: ../../mod/settings.php:991
+#: ../../mod/settings.php:1023
msgid "Maximum private messages per day from unknown people:"
msgstr "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:"
-#: ../../mod/settings.php:991
+#: ../../mod/settings.php:1023
msgid "Useful to reduce spamming"
msgstr "Nützlich, um Spam zu verringern"
-#: ../../mod/settings.php:994
+#: ../../mod/settings.php:1026
msgid "Notification Settings"
msgstr "Benachrichtigungs-Einstellungen"
-#: ../../mod/settings.php:995
+#: ../../mod/settings.php:1027
msgid "By default post a status message when:"
msgstr "Sende standardmäßig Status-Nachrichten, wenn:"
-#: ../../mod/settings.php:996
+#: ../../mod/settings.php:1028
msgid "accepting a friend request"
-msgstr "Du eine Kontaktanfrage annimmst"
+msgstr "Du eine Verbindungsanfrage annimmst"
-#: ../../mod/settings.php:997
+#: ../../mod/settings.php:1029
msgid "joining a forum/community"
msgstr "Du einem Forum beitrittst"
-#: ../../mod/settings.php:998
+#: ../../mod/settings.php:1030
msgid "making an <em>interesting</em> profile change"
msgstr "Du eine <em>interessante</em> Änderung an Deinem Profil vornimmst"
-#: ../../mod/settings.php:999
+#: ../../mod/settings.php:1031
msgid "Send a notification email when:"
msgstr "Eine E-Mail-Benachrichtigung senden, wenn:"
-#: ../../mod/settings.php:1000
+#: ../../mod/settings.php:1032
msgid "You receive a connection request"
msgstr "Du eine Verbindungsanfrage erhältst"
-#: ../../mod/settings.php:1001
+#: ../../mod/settings.php:1033
msgid "Your connections are confirmed"
msgstr "Eine Verbindung bestätigt wurde"
-#: ../../mod/settings.php:1002
+#: ../../mod/settings.php:1034
msgid "Someone writes on your profile wall"
msgstr "Jemand auf Deine Pinnwand schreibt"
-#: ../../mod/settings.php:1003
+#: ../../mod/settings.php:1035
msgid "Someone writes a followup comment"
msgstr "Jemand einen Beitrag kommentiert"
-#: ../../mod/settings.php:1004
+#: ../../mod/settings.php:1036
msgid "You receive a private message"
msgstr "Du eine private Nachricht erhältst"
-#: ../../mod/settings.php:1005
+#: ../../mod/settings.php:1037
msgid "You receive a friend suggestion"
msgstr "Du einen Kontaktvorschlag erhältst"
-#: ../../mod/settings.php:1006
+#: ../../mod/settings.php:1038
msgid "You are tagged in a post"
msgstr "Du in einem Beitrag erwähnt wurdest"
-#: ../../mod/settings.php:1007
+#: ../../mod/settings.php:1039
msgid "You are poked/prodded/etc. in a post"
msgstr "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest"
-#: ../../mod/settings.php:1010
+#: ../../mod/settings.php:1042
+msgid "Show visual notifications including:"
+msgstr "Visuelle Benachrichtigungen anzeigen für:"
+
+#: ../../mod/settings.php:1044
+msgid "Unseen matrix activity"
+msgstr "Ungesehene Matrix-Aktivität"
+
+#: ../../mod/settings.php:1045
+msgid "Unseen channel activity"
+msgstr "Ungesehene Kanal-Aktivität"
+
+#: ../../mod/settings.php:1046
+msgid "Unseen private messages"
+msgstr "Ungelesene persönliche Nachrichten"
+
+#: ../../mod/settings.php:1046 ../../mod/settings.php:1051
+#: ../../mod/settings.php:1052 ../../mod/settings.php:1053
+msgid "Recommended"
+msgstr "Empfohlen"
+
+#: ../../mod/settings.php:1047
+msgid "Upcoming events"
+msgstr "Baldige Termine"
+
+#: ../../mod/settings.php:1048
+msgid "Events today"
+msgstr "Heutige Termine"
+
+#: ../../mod/settings.php:1049
+msgid "Upcoming birthdays"
+msgstr "Baldige Geburtstage"
+
+#: ../../mod/settings.php:1049
+msgid "Not available in all themes"
+msgstr "Nicht in allen Themes verfügbar"
+
+#: ../../mod/settings.php:1050
+msgid "System (personal) notifications"
+msgstr "System – (persönliche) Benachrichtigungen"
+
+#: ../../mod/settings.php:1051
+msgid "System info messages"
+msgstr "System – Info-Nachrichten"
+
+#: ../../mod/settings.php:1052
+msgid "System critical alerts"
+msgstr "System – kritische Warnungen"
+
+#: ../../mod/settings.php:1053
+msgid "New connections"
+msgstr "Neue Verbindungen"
+
+#: ../../mod/settings.php:1054
+msgid "System Registrations"
+msgstr "System – Registrierungen"
+
+#: ../../mod/settings.php:1056
+msgid "Notify me of events this many days in advance"
+msgstr "Benachrichtige mich zu Terminen so viele Tage im Voraus"
+
+#: ../../mod/settings.php:1056
+msgid "Must be greater than 0"
+msgstr "Muss größer als 0 sein"
+
+#: ../../mod/settings.php:1058
msgid "Advanced Account/Page Type Settings"
msgstr "Erweiterte Account- und Seitenart-Einstellungen"
-#: ../../mod/settings.php:1011
+#: ../../mod/settings.php:1059
msgid "Change the behaviour of this account for special situations"
msgstr "Ändere das Verhalten dieses Accounts unter speziellen Umständen"
-#: ../../mod/settings.php:1014
+#: ../../mod/settings.php:1062
msgid ""
"Please enable expert mode (in <a href=\"settings/features\">Settings > "
"Additional features</a>) to adjust!"
msgstr "Aktiviere den Expertenmodus (unter <a href=\"settings/features\">Settings > Zusätzliche Funktionen</a>), um hier Einstellungen vorzunehmen!"
-#: ../../mod/settings.php:1015
+#: ../../mod/settings.php:1063
msgid "Miscellaneous Settings"
msgstr "Sonstige Einstellungen"
-#: ../../mod/settings.php:1017
+#: ../../mod/settings.php:1065
msgid "Personal menu to display in your channel pages"
msgstr "Eigenes Menü zur Anzeige auf den Seiten deines Kanals"
-#: ../../mod/settings.php:1018
+#: ../../mod/settings.php:1066
msgid "Remove this channel"
msgstr "Diesen Kanal löschen"
+#: ../../mod/editwebpage.php:140
+msgid "Edit Webpage"
+msgstr "Webseite bearbeiten"
+
+#: ../../mod/editwebpage.php:150
+msgid "Delete webpage?"
+msgstr "Webseite löschen?"
+
+#: ../../mod/editwebpage.php:215
+msgid "Delete Webpage"
+msgstr "Webseite löschen"
+
+#: ../../mod/impel.php:33
+msgid "webpage"
+msgstr "Webseite"
+
+#: ../../mod/impel.php:38
+msgid "block"
+msgstr "Block"
+
+#: ../../mod/impel.php:43
+msgid "layout"
+msgstr "Layout"
+
+#: ../../mod/impel.php:117
+#, php-format
+msgid "%s element installed"
+msgstr "Element für %s installiert"
+
+#: ../../mod/profile_photo.php:108
+msgid "Image uploaded but image cropping failed."
+msgstr "Bild hochgeladen, aber das Zurechtschneiden schlug fehl."
+
+#: ../../mod/profile_photo.php:161
+msgid "Image resize failed."
+msgstr "Bild-Anpassung fehlgeschlagen."
+
+#: ../../mod/profile_photo.php:205
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird."
+
+#: ../../mod/profile_photo.php:232
+#, php-format
+msgid "Image exceeds size limit of %d"
+msgstr "Bild ist größer als das Limit von %d"
+
+#: ../../mod/profile_photo.php:241
+msgid "Unable to process image."
+msgstr "Kann Bild nicht verarbeiten."
+
+#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
+msgid "Photo not available."
+msgstr "Foto nicht verfügbar."
+
+#: ../../mod/profile_photo.php:358
+msgid "Upload File:"
+msgstr "Datei hochladen:"
+
+#: ../../mod/profile_photo.php:359
+msgid "Select a profile:"
+msgstr "Wähle ein Profil:"
+
+#: ../../mod/profile_photo.php:360
+msgid "Upload Profile Photo"
+msgstr "Lade neues Profilfoto hoch"
+
+#: ../../mod/profile_photo.php:365
+msgid "skip this step"
+msgstr "diesen Schritt überspringen"
+
+#: ../../mod/profile_photo.php:365
+msgid "select a photo from your photo albums"
+msgstr "ein Foto aus meinen Fotoalben"
+
+#: ../../mod/profile_photo.php:381
+msgid "Crop Image"
+msgstr "Bild zuschneiden"
+
+#: ../../mod/profile_photo.php:382
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Bitte schneide das Bild für eine optimale Anzeige passend zu."
+
+#: ../../mod/profile_photo.php:384
+msgid "Done Editing"
+msgstr "Bearbeitung fertigstellen"
+
+#: ../../mod/profile_photo.php:427
+msgid "Image uploaded successfully."
+msgstr "Bild erfolgreich hochgeladen."
+
+#: ../../mod/profile_photo.php:429
+msgid "Image upload failed."
+msgstr "Hochladen des Bilds fehlgeschlagen."
+
+#: ../../mod/profile_photo.php:438
+#, php-format
+msgid "Image size reduction [%s] failed."
+msgstr "Reduzierung der Bildgröße [%s] fehlgeschlagen."
+
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Kontakt nicht gefunden"
+
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr "Freundschaftsempfehlung senden."
+
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr "Kontakte vorschlagen"
+
+#: ../../mod/fsuggest.php:99
+#, php-format
+msgid "Suggest a friend for %s"
+msgstr "Schlage %s einen Kontakt vor"
+
#: ../../mod/filestorage.php:76
msgid "Permission Denied."
msgstr "Zugriff verweigert."
@@ -4341,101 +6591,219 @@ msgstr "Diesen Code kopieren und einfügen, um die Datei an einen Beitrag anzuhÃ
msgid "Copy/paste this URL to link file from a web page"
msgstr "Diese URL verwenden, um von einer Webseite aus auf die Datei zu verlinken"
-#: ../../mod/home.php:46
-msgid "Red Matrix - &quot;The Network&quot;"
-msgstr "RedMatrix – &quot;Das Netzwerk&quot;"
+#: ../../mod/help.php:41 ../../mod/help.php:47 ../../mod/help.php:53
+msgid "Help:"
+msgstr "Hilfe:"
-#: ../../mod/home.php:101
-#, php-format
-msgid "Welcome to %s"
-msgstr "Willkommen auf %s"
+#: ../../mod/help.php:67 ../../index.php:238
+msgid "Not Found"
+msgstr "Nicht gefunden"
-#: ../../mod/probe.php:23 ../../mod/probe.php:29
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "Abrufen der URL gab einen Fehler zurück: %1$s"
+#: ../../mod/acl.php:245
+msgid "network"
+msgstr "Netzwerk"
-#: ../../mod/update_network.php:23 ../../mod/update_display.php:25
-#: ../../mod/update_search.php:46 ../../mod/update_channel.php:43
-msgid "[Embedded content - reload page to view]"
-msgstr "[Eingebettete Inhalte – lade die Seite neu, um sie anzuzeigen]"
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "Kanal hinzugefügt."
-#: ../../mod/new_channel.php:109
-msgid "Add a Channel"
-msgstr "Kanal hinzufügen"
+#: ../../mod/delegate.php:95
+msgid "No potential page delegates located."
+msgstr "Keine potentiellen Bevollmächtigten für die Seite gefunden."
-#: ../../mod/new_channel.php:110
+#: ../../mod/delegate.php:121
+msgid "Delegate Page Management"
+msgstr "Delegiere das Management für diese Seite"
+
+#: ../../mod/delegate.php:123
msgid ""
-"A channel is your own collection of related web pages. A channel can be used"
-" to hold social network profiles, blogs, conversation groups and forums, "
-"celebrity pages, and much more. You may create as many channels as your "
-"service provider allows."
-msgstr "Ein Kanal ist Deine eigene Sammlung von verbundenen Webseiten. Ein Kanal kann genutzt werden, um ein Social-Network-Profil, ein Blog, eine Gesprächsgruppe oder ein Forum, Promi-Seiten und vieles mehr zu erstellen. Du kannst so viele Kanäle erstellen, wie es der Betreiber Deiner Seite zulässt."
+"Delegates are able to manage all aspects of this account/page except for "
+"basic account settings. Please do not delegate your personal account to "
+"anybody that you do not trust completely."
+msgstr "Bevollmächtigte sind in der Lage, alle Aspekte dieses Kontos/dieser Seite zu verwalten, abgesehen von den Grundeinstellungen des Kontos. Gib niemandem eine Bevollmächtigung für Deinen privaten Account, dem Du nicht absolut vertraust!"
-#: ../../mod/new_channel.php:112 ../../mod/sources.php:103
-#: ../../mod/sources.php:137
-msgid "Channel Name"
-msgstr "Name des Kanals"
+#: ../../mod/delegate.php:124
+msgid "Existing Page Managers"
+msgstr "Vorhandene Seitenmanager"
-#: ../../mod/new_channel.php:113
-msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
-msgstr "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ "
+#: ../../mod/delegate.php:126
+msgid "Existing Page Delegates"
+msgstr "Vorhandene Bevollmächtigte für die Seite"
-#: ../../mod/new_channel.php:114
-msgid "Choose a short nickname"
-msgstr "Wähle einen kurzen Spitznamen"
+#: ../../mod/delegate.php:128
+msgid "Potential Delegates"
+msgstr "Potentielle Bevollmächtigte"
-#: ../../mod/new_channel.php:115
+#: ../../mod/delegate.php:131
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: ../../mod/delegate.php:132
+msgid "No entries."
+msgstr "Keine Einträge."
+
+#: ../../mod/group.php:20
+msgid "Collection created."
+msgstr "Sammlung erstellt."
+
+#: ../../mod/group.php:26
+msgid "Could not create collection."
+msgstr "Sammlung kann nicht erstellt werden."
+
+#: ../../mod/group.php:54
+msgid "Collection updated."
+msgstr "Sammlung aktualisiert."
+
+#: ../../mod/group.php:86
+msgid "Create a collection of channels."
+msgstr "Erstelle eine Sammlung von Kanälen."
+
+#: ../../mod/group.php:87 ../../mod/group.php:183
+msgid "Collection Name: "
+msgstr "Name der Sammlung:"
+
+#: ../../mod/group.php:89 ../../mod/group.php:186
+msgid "Members are visible to other channels"
+msgstr "Mitglieder sind sichtbar für andere Kanäle"
+
+#: ../../mod/group.php:107
+msgid "Collection removed."
+msgstr "Sammlung gelöscht."
+
+#: ../../mod/group.php:109
+msgid "Unable to remove collection."
+msgstr "Löschen der Sammlung nicht möglich."
+
+#: ../../mod/group.php:182
+msgid "Collection Editor"
+msgstr "Sammlung-Editor"
+
+#: ../../mod/group.php:196
+msgid "Members"
+msgstr "Mitglieder"
+
+#: ../../mod/group.php:198
+msgid "All Connected Channels"
+msgstr "Alle verbundenen Kanäle"
+
+#: ../../mod/group.php:233
+msgid "Click on a channel to add or remove."
+msgstr "Wähle einen Kanal zum hinzufügen oder entfernen aus."
+
+#: ../../mod/suggest.php:35
msgid ""
-"Your nickname will be used to create an easily remembered channel address "
-"(like an email address) which you can share with others."
-msgstr "Dein Spitzname wird verwendet, um eine leicht zu merkende Kanal-Adresse (ähnlich einer E-Mail-Adresse) zu erzeugen, die Du mit anderen austauschen kannst."
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal."
-#: ../../mod/new_channel.php:116
-msgid "Or <a href=\"import\">import an existing channel</a> from another location"
-msgstr "Oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server"
+#: ../../mod/import.php:25
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Dein Vertrag erlaubt nur %d Kanäle."
-#: ../../mod/new_channel.php:118
-msgid "Channel Type"
-msgstr "Kanaltyp"
+#: ../../mod/import.php:51
+msgid "Nothing to import."
+msgstr "Nichts zu importieren."
-#: ../../mod/new_channel.php:119
+#: ../../mod/import.php:75
+msgid "Unable to download data from old server"
+msgstr "Daten können vom alten Server nicht heruntergeladen werden"
+
+#: ../../mod/import.php:81
+msgid "Imported file is empty."
+msgstr "Die importierte Datei ist leer."
+
+#: ../../mod/import.php:105
msgid ""
-"Please choose a channel type (such as social networking or community forum) "
-"and privacy requirements so we can select the best permissions for you"
-msgstr "Wähle einen Kanaltyp (wie Soziales Netzwerk oder Forum) und Privatsphäre-Vorgaben, so dass wir die passenden Kanal-Zugriffsrechte für Dich setzen können"
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen."
-#: ../../mod/rmagic.php:38
+#: ../../mod/import.php:123
+msgid "Channel clone failed. Import failed."
+msgstr "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen."
+
+#: ../../mod/import.php:133
+msgid "Cloned channel not found. Import failed."
+msgstr "Geklonter Kanal nicht gefunden. Import fehlgeschlagen."
+
+#: ../../mod/import.php:451
+msgid "Import completed."
+msgstr "Import abgeschlossen."
+
+#: ../../mod/import.php:463
+msgid "You must be logged in to use this feature."
+msgstr "Du musst angemeldet sein um diese Funktion zu nutzen."
+
+#: ../../mod/import.php:468
+msgid "Import Channel"
+msgstr "Kanal importieren"
+
+#: ../../mod/import.php:469
msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Wir haben ein Problem mit der OpenID festgestellt, mit der Du Dich anmelden wolltest. Bitte überprüfe sie noch einmal."
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file. Only identity and connections/relationships will "
+"be imported. Importation of content is not yet available."
+msgstr "Verwende dieses Formular, um einen existierenden Kanal von einem anderen Red-Server zu importieren. Du kannst den Kanal direkt vom bisherigen Red-Server über das Netzwerk importieren oder eine exportierte Sicherheitskopie benutzen. Es werden ausschließlich die Identität und die Verbindungen/Beziehungen importiert. Das Importieren von Inhalten ist derzeit nicht möglich."
-#: ../../mod/rmagic.php:38
-msgid "The error message was:"
-msgstr "Die Fehlermeldung war:"
+#: ../../mod/import.php:470
+msgid "File to Upload"
+msgstr "Hochzuladende Datei:"
-#: ../../mod/rmagic.php:42
-msgid "Authentication failed."
-msgstr "Authentifizierung fehlgeschlagen."
+#: ../../mod/import.php:471
+msgid "Or provide the old server/hub details"
+msgstr "Oder gib die Details Deines bisherigen Red-Servers ein"
-#: ../../mod/rmagic.php:82
-msgid "Remote Authentication"
-msgstr "Entfernte Authentifizierung"
+#: ../../mod/import.php:472
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Bisherige Kanal-Adresse (xyz@example.com)"
-#: ../../mod/rmagic.php:83
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Deine Kanal-Adresse (z. B. channel@example.com)"
+#: ../../mod/import.php:473
+msgid "Your old login email address"
+msgstr "Deine alte Login-E-Mail-Adresse"
-#: ../../mod/rmagic.php:84
-msgid "Authenticate"
-msgstr "Authentifizieren"
+#: ../../mod/import.php:474
+msgid "Your old login password"
+msgstr "Dein altes Passwort"
+
+#: ../../mod/import.php:475
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Egal, welche Option Du wählst – bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige Red-Server diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein."
+
+#: ../../mod/import.php:476
+msgid "Make this hub my primary location"
+msgstr "Dieser Red-Server ist mein primärer Server."
+
+#: ../../mod/import.php:477
+msgid "Import existing posts if possible"
+msgstr "Existierende Beiträge importieren, falls möglich"
+
+#: ../../mod/tagger.php:98
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s hat %2$ss %3$s mit %4$s verschlagwortet"
+
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
+msgid "Tag removed"
+msgstr "Schlagwort entfernt"
+
+#: ../../mod/tagrm.php:119
+msgid "Remove Item Tag"
+msgstr "Schlagwort entfernen"
+
+#: ../../mod/tagrm.php:121
+msgid "Select a tag to remove: "
+msgstr "Schlagwort zum Entfernen auswählen:"
#: ../../mod/admin.php:52
msgid "Theme settings updated."
msgstr "Theme-Einstellungen aktualisiert."
-#: ../../mod/admin.php:97 ../../mod/admin.php:413
+#: ../../mod/admin.php:97 ../../mod/admin.php:411
msgid "Site"
msgstr "Seite"
@@ -4443,19 +6811,19 @@ msgstr "Seite"
msgid "Accounts"
msgstr "Konten"
-#: ../../mod/admin.php:99 ../../mod/admin.php:860
+#: ../../mod/admin.php:99 ../../mod/admin.php:858
msgid "Channels"
msgstr "Kanäle"
-#: ../../mod/admin.php:100 ../../mod/admin.php:951 ../../mod/admin.php:993
+#: ../../mod/admin.php:100 ../../mod/admin.php:949 ../../mod/admin.php:991
msgid "Plugins"
msgstr "Plug-Ins"
-#: ../../mod/admin.php:101 ../../mod/admin.php:1156 ../../mod/admin.php:1192
+#: ../../mod/admin.php:101 ../../mod/admin.php:1154 ../../mod/admin.php:1190
msgid "Themes"
msgstr "Themes"
-#: ../../mod/admin.php:102 ../../mod/admin.php:515
+#: ../../mod/admin.php:102 ../../mod/admin.php:512
msgid "Server"
msgstr "Server"
@@ -4467,7 +6835,7 @@ msgstr "Profilkonfiguration"
msgid "DB updates"
msgstr "DB-Aktualisierungen"
-#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1279
+#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1277
msgid "Logs"
msgstr "Protokolle"
@@ -4483,10 +6851,10 @@ msgstr "Nutzer-Anmeldungen, die auf Bestätigung warten"
msgid "Message queues"
msgstr "Nachrichten-Warteschlangen"
-#: ../../mod/admin.php:211 ../../mod/admin.php:412 ../../mod/admin.php:514
-#: ../../mod/admin.php:723 ../../mod/admin.php:859 ../../mod/admin.php:950
-#: ../../mod/admin.php:992 ../../mod/admin.php:1155 ../../mod/admin.php:1191
-#: ../../mod/admin.php:1278
+#: ../../mod/admin.php:211 ../../mod/admin.php:410 ../../mod/admin.php:511
+#: ../../mod/admin.php:721 ../../mod/admin.php:857 ../../mod/admin.php:948
+#: ../../mod/admin.php:990 ../../mod/admin.php:1153 ../../mod/admin.php:1189
+#: ../../mod/admin.php:1276
msgid "Administration"
msgstr "Administration"
@@ -4498,7 +6866,7 @@ msgstr "Zusammenfassung"
msgid "Registered users"
msgstr "Registrierte Benutzer"
-#: ../../mod/admin.php:216 ../../mod/admin.php:518
+#: ../../mod/admin.php:216 ../../mod/admin.php:515
msgid "Pending registrations"
msgstr "Ausstehende Registrierungen"
@@ -4506,1969 +6874,638 @@ msgstr "Ausstehende Registrierungen"
msgid "Version"
msgstr "Version"
-#: ../../mod/admin.php:219 ../../mod/admin.php:519
+#: ../../mod/admin.php:219 ../../mod/admin.php:516
msgid "Active plugins"
msgstr "Aktive Plug-Ins"
-#: ../../mod/admin.php:333
+#: ../../mod/admin.php:326
msgid "Site settings updated."
msgstr "Site-Einstellungen aktualisiert."
-#: ../../mod/admin.php:364
-msgid "No special theme for accessibility"
-msgstr "Kein spezielles Accessibility-Theme vorhanden"
+#: ../../mod/admin.php:363
+msgid "mobile"
+msgstr "mobil"
+
+#: ../../mod/admin.php:365
+msgid "experimental"
+msgstr "experimentell"
-#: ../../mod/admin.php:393
+#: ../../mod/admin.php:367
+msgid "unsupported"
+msgstr "nicht unterstützt"
+
+#: ../../mod/admin.php:391
msgid "Yes - with approval"
msgstr "Ja - mit Zustimmung"
-#: ../../mod/admin.php:399
+#: ../../mod/admin.php:397
msgid "My site is not a public server"
-msgstr "Meine Server ist kein öffentlicher Server"
+msgstr "Mein Server ist kein öffentlicher Server"
-#: ../../mod/admin.php:400
+#: ../../mod/admin.php:398
msgid "My site has paid access only"
msgstr "Mein Server erlaubt nur bezahlten Zugang"
-#: ../../mod/admin.php:401
+#: ../../mod/admin.php:399
msgid "My site has free access only"
msgstr "Mein Server erlaubt ausschließlich freien Zugang"
-#: ../../mod/admin.php:402
+#: ../../mod/admin.php:400
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades"
-#: ../../mod/admin.php:415 ../../mod/register.php:203
-msgid "Registration"
-msgstr "Registrierung"
-
-#: ../../mod/admin.php:416
+#: ../../mod/admin.php:414
msgid "File upload"
msgstr "Dateiupload"
-#: ../../mod/admin.php:417
+#: ../../mod/admin.php:415
msgid "Policies"
msgstr "Richtlinien"
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:420
msgid "Site name"
msgstr "Seitenname"
-#: ../../mod/admin.php:423
+#: ../../mod/admin.php:421
msgid "Banner/Logo"
msgstr "Banner/Logo"
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:422
msgid "Administrator Information"
msgstr "Administrator-Informationen"
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:422
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden."
-#: ../../mod/admin.php:425
+#: ../../mod/admin.php:423
msgid "System language"
msgstr "System-Sprache"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:424
msgid "System theme"
msgstr "System-Theme"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:424
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:425
msgid "Mobile system theme"
msgstr "Mobile System-Theme:"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:425
msgid "Theme for mobile devices"
msgstr "Theme für mobile Geräte"
-#: ../../mod/admin.php:428
-msgid "Accessibility system theme"
-msgstr "Accessibility-System-Theme"
-
-#: ../../mod/admin.php:428
-msgid "Accessibility theme"
-msgstr "Accessibility-Theme"
-
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:427
msgid "Enable Diaspora Protocol"
msgstr "Diaspora-Protokoll aktivieren"
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:427
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr "Kommunikation mit Diaspora und Friendica – experimentell"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:428
msgid "Allow Feeds as Connections"
msgstr "Feeds als Verbindungen erlauben"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:428
msgid "(Heavy system resource usage)"
msgstr "(führt zu hoher Systemlast)"
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:429
msgid "Maximum image size"
msgstr "Maximale Bildgröße"
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:429
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung)."
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:430
msgid "Does this site allow new member registration?"
msgstr "Erlaubt dieser Server die Registrierung neuer Nutzer?"
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:431
msgid "Which best describes the types of account offered by this hub?"
msgstr "Was ist die passendste Beschreibung der Konten auf diesem Hub?"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:432
msgid "Register text"
msgstr "Registrierungstext"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:432
msgid "Will be displayed prominently on the registration page."
msgstr "Wird gut sichtbar auf der Registrierungs-Seite angezeigt."
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:433
msgid "Accounts abandoned after x days"
msgstr "Konten gelten nach X Tagen als unbenutzt"
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:433
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit."
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:434
msgid "Allowed friend domains"
msgstr "Erlaubte Domains für Kontakte"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:434
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:435
msgid "Allowed email domains"
msgstr "Erlaubte Domains für E-Mails"
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:435
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:436
msgid "Block public"
msgstr "Öffentlichen Zugriff blockieren"
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:436
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Zugriff auf sonst öffentliche persönliche Seiten blockieren, wenn man nicht eingeloggt ist."
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:437
msgid "Verify Email Addresses"
msgstr "E-Mail-Adressen überprüfen"
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:437
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen)."
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:438
msgid "Force publish"
msgstr "Veröffentlichung erzwingen"
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:438
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen."
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:439
msgid "Disable discovery tab"
msgstr "Den „Entdecken“-Reiter ausblenden"
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:439
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
-msgstr "Entferne den „Entdecken“-Reiter aus der Matrix-Seite, in dem öffentliche Inhalte von anderen RedMatrix-Hubs angezeigt werden können."
+msgstr "Entferne den „Entdecken“-Reiter aus der Matrix-Seite, in dem öffentliche Inhalte angezeigt werden, die von anderen RedMatrix-Hubs geholt wurden."
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:440
msgid "No login on Homepage"
msgstr "Kein Login auf der Homepage"
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:440
msgid ""
"Check to hide the login form from your sites homepage when visitors arrive "
"who are not logged in (e.g. when you put the content of the homepage in via "
"the site channel)."
msgstr "Aktivieren, um das Login-Formular auf der Startseite der Seite zu verbergen (z.B. weil es das Layout der Homepage des Seiten-Kanals stört)."
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:442
msgid "Proxy user"
msgstr "Proxy Benutzer"
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:443
msgid "Proxy URL"
msgstr "Proxy URL"
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:444
msgid "Network timeout"
msgstr "Netzwerk-Timeout"
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:444
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen)."
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:445
msgid "Delivery interval"
msgstr "Auslieferung Intervall"
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:445
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server."
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:446
msgid "Poll interval"
msgstr "Abfrageintervall"
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:446
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet."
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:447
msgid "Maximum Load Average"
msgstr "Maximales Load Average"
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:447
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50"
-#: ../../mod/admin.php:506
+#: ../../mod/admin.php:503
msgid "No server found"
msgstr "Kein Server gefunden"
-#: ../../mod/admin.php:513 ../../mod/admin.php:737
+#: ../../mod/admin.php:510 ../../mod/admin.php:735
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "for channel"
msgstr "für Kanal"
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "on server"
msgstr "auf Server"
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "Status"
msgstr "Status"
-#: ../../mod/admin.php:534
+#: ../../mod/admin.php:531
msgid "Update has been marked successful"
msgstr "Update wurde als erfolgreich markiert"
-#: ../../mod/admin.php:544
+#: ../../mod/admin.php:541
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle."
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:544
#, php-format
msgid "Update %s was successfully applied."
msgstr "Update %s wurde erfolgreich ausgeführt."
-#: ../../mod/admin.php:551
+#: ../../mod/admin.php:548
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt."
-#: ../../mod/admin.php:554
+#: ../../mod/admin.php:551
#, php-format
msgid "Update function %s could not be found."
msgstr "Update-Funktion %s konnte nicht gefunden werden."
-#: ../../mod/admin.php:569
+#: ../../mod/admin.php:566
msgid "No failed updates."
msgstr "Keine fehlgeschlagenen Aktualisierungen."
-#: ../../mod/admin.php:573
+#: ../../mod/admin.php:570
msgid "Failed Updates"
msgstr "Fehlgeschlagene Aktualisierungen"
-#: ../../mod/admin.php:575
+#: ../../mod/admin.php:572
msgid "Mark success (if update was manually applied)"
msgstr "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)"
-#: ../../mod/admin.php:576
+#: ../../mod/admin.php:573
msgid "Attempt to execute this update step automatically"
msgstr "Versuche, diesen Updateschritt automatisch auszuführen"
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:599
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s Nutzer blockiert/freigegeben"
msgstr[1] "%s Nutzer blockiert/freigegeben"
-#: ../../mod/admin.php:609
+#: ../../mod/admin.php:606
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] "%s Nutzer gelöscht"
msgstr[1] "%s Nutzer gelöscht"
-#: ../../mod/admin.php:638
+#: ../../mod/admin.php:635
msgid "Account not found"
msgstr "Konto nicht gefunden"
-#: ../../mod/admin.php:658
+#: ../../mod/admin.php:655
#, php-format
msgid "User '%s' unblocked"
msgstr "Benutzer '%s' freigegeben"
-#: ../../mod/admin.php:658
+#: ../../mod/admin.php:655
#, php-format
msgid "User '%s' blocked"
msgstr "Benutzer '%s' blockiert"
-#: ../../mod/admin.php:724 ../../mod/admin.php:736
+#: ../../mod/admin.php:722 ../../mod/admin.php:734
msgid "Users"
msgstr "Benutzer"
-#: ../../mod/admin.php:726 ../../mod/admin.php:862
+#: ../../mod/admin.php:724 ../../mod/admin.php:860
msgid "select all"
msgstr "Alle auswählen"
-#: ../../mod/admin.php:727
+#: ../../mod/admin.php:725
msgid "User registrations waiting for confirm"
msgstr "Neuanmeldungen, die auf Deine Bestätigung warten"
-#: ../../mod/admin.php:728
+#: ../../mod/admin.php:726
msgid "Request date"
msgstr "Antragsdatum"
-#: ../../mod/admin.php:729
+#: ../../mod/admin.php:727
msgid "No registrations."
msgstr "Keine Registrierungen."
-#: ../../mod/admin.php:730
+#: ../../mod/admin.php:728
msgid "Approve"
msgstr "Genehmigen"
-#: ../../mod/admin.php:731
+#: ../../mod/admin.php:729
msgid "Deny"
msgstr "Verweigern"
-#: ../../mod/admin.php:733 ../../mod/connedit.php:436
-#: ../../mod/connedit.php:579
-msgid "Block"
-msgstr "Blockieren"
-
-#: ../../mod/admin.php:734 ../../mod/connedit.php:436
-#: ../../mod/connedit.php:579
-msgid "Unblock"
-msgstr "Freigeben"
-
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Register date"
msgstr "Registrierungs-Datum"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Last login"
msgstr "Letzte Anmeldung"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Expires"
msgstr "Verfällt"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Service Class"
msgstr "Service-Klasse"
-#: ../../mod/admin.php:739
+#: ../../mod/admin.php:737
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Die markierten Nutzer werden gelöscht!\\n\\nAlles, was diese Nutzer auf dieser Seite veröffentlicht haben, wird endgültig gelöscht!\\n\\nBist Du sicher?"
-#: ../../mod/admin.php:740
+#: ../../mod/admin.php:738
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Der Nutzer {0} wird gelöscht!\\n\\nAlles, was dieser Nutzer auf dieser Seite veröffentlicht hat, wird endgültig gelöscht werden!\\n\\nBist Du sicher?"
-#: ../../mod/admin.php:773
+#: ../../mod/admin.php:771
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s Kanal gesperrt/freigegeben"
msgstr[1] "%s Kanäle gesperrt/freigegeben"
-#: ../../mod/admin.php:780
+#: ../../mod/admin.php:778
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s Kanal gelöscht"
msgstr[1] "%s Kanäle gelöscht"
-#: ../../mod/admin.php:799
+#: ../../mod/admin.php:797
msgid "Channel not found"
msgstr "Kanal nicht gefunden"
-#: ../../mod/admin.php:810
+#: ../../mod/admin.php:808
#, php-format
msgid "Channel '%s' deleted"
msgstr "Kanal '%s' gelöscht"
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:819
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Kanal '%s' freigegeben"
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:819
#, php-format
msgid "Channel '%s' censored"
msgstr "Kanal '%s' gesperrt"
-#: ../../mod/admin.php:864
+#: ../../mod/admin.php:862
msgid "Censor"
msgstr "Sperren"
-#: ../../mod/admin.php:865
+#: ../../mod/admin.php:863
msgid "Uncensor"
msgstr "Freigeben"
-#: ../../mod/admin.php:868
+#: ../../mod/admin.php:866
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:868 ../../mod/profiles.php:433
-msgid "Address"
-msgstr "Adresse"
-
-#: ../../mod/admin.php:870
+#: ../../mod/admin.php:868
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?"
-#: ../../mod/admin.php:871
+#: ../../mod/admin.php:869
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?"
-#: ../../mod/admin.php:910
+#: ../../mod/admin.php:908
#, php-format
msgid "Plugin %s disabled."
msgstr "Plug-In %s deaktiviert."
-#: ../../mod/admin.php:914
+#: ../../mod/admin.php:912
#, php-format
msgid "Plugin %s enabled."
msgstr "Plug-In %s aktiviert."
-#: ../../mod/admin.php:924 ../../mod/admin.php:1126
+#: ../../mod/admin.php:922 ../../mod/admin.php:1124
msgid "Disable"
msgstr "Deaktivieren"
-#: ../../mod/admin.php:926 ../../mod/admin.php:1128
+#: ../../mod/admin.php:924 ../../mod/admin.php:1126
msgid "Enable"
msgstr "Aktivieren"
-#: ../../mod/admin.php:952 ../../mod/admin.php:1157
+#: ../../mod/admin.php:950 ../../mod/admin.php:1155
msgid "Toggle"
msgstr "Umschalten"
-#: ../../mod/admin.php:960 ../../mod/admin.php:1167
+#: ../../mod/admin.php:958 ../../mod/admin.php:1165
msgid "Author: "
msgstr "Autor: "
-#: ../../mod/admin.php:961 ../../mod/admin.php:1168
+#: ../../mod/admin.php:959 ../../mod/admin.php:1166
msgid "Maintainer: "
msgstr "Betreuer:"
-#: ../../mod/admin.php:1090
+#: ../../mod/admin.php:1088
msgid "No themes found."
msgstr "Keine Theme gefunden."
-#: ../../mod/admin.php:1149
+#: ../../mod/admin.php:1147
msgid "Screenshot"
msgstr "Bildschirmfoto"
-#: ../../mod/admin.php:1197
+#: ../../mod/admin.php:1195
msgid "[Experimental]"
msgstr "[Experimentell]"
-#: ../../mod/admin.php:1198
+#: ../../mod/admin.php:1196
msgid "[Unsupported]"
msgstr "[Nicht unterstützt]"
-#: ../../mod/admin.php:1225
+#: ../../mod/admin.php:1223
msgid "Log settings updated."
msgstr "Protokoll-Einstellungen aktualisiert."
-#: ../../mod/admin.php:1281
+#: ../../mod/admin.php:1279
msgid "Clear"
msgstr "Leeren"
-#: ../../mod/admin.php:1287
+#: ../../mod/admin.php:1285
msgid "Debugging"
msgstr "Debugging"
-#: ../../mod/admin.php:1288
+#: ../../mod/admin.php:1286
msgid "Log file"
msgstr "Protokolldatei"
-#: ../../mod/admin.php:1288
+#: ../../mod/admin.php:1286
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr "Muss für den Web-Server schreibbar sein. Relativ zum Red-Stammverzeichnis."
-#: ../../mod/admin.php:1289
+#: ../../mod/admin.php:1287
msgid "Log level"
msgstr "Protokollstufe"
-#: ../../mod/admin.php:1336
+#: ../../mod/admin.php:1334
msgid "New Profile Field"
msgstr "Neues Profilfeld"
-#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
msgid "Field nickname"
msgstr "Kurzname für das Feld"
-#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
msgid "System name of field"
msgstr "Systemname des Feldes"
-#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
+#: ../../mod/admin.php:1336 ../../mod/admin.php:1357
msgid "Input type"
msgstr "Art des Inhalts"
-#: ../../mod/admin.php:1339 ../../mod/admin.php:1360
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
msgid "Field Name"
msgstr "Feldname"
-#: ../../mod/admin.php:1339 ../../mod/admin.php:1360
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
msgid "Label on profile pages"
msgstr "Bezeichnung auf Profilseiten"
-#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
msgid "Help text"
msgstr "Hilfetext"
-#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
msgid "Additional info (optional)"
msgstr "Zusätzliche Informationen (optional)"
-#: ../../mod/admin.php:1351
+#: ../../mod/admin.php:1349
msgid "Field definition not found"
msgstr "Feld-Definition nicht gefunden"
-#: ../../mod/admin.php:1357
+#: ../../mod/admin.php:1355
msgid "Edit Profile Field"
msgstr "Profilfeld bearbeiten"
-#: ../../mod/filer.php:49
-msgid "- select -"
-msgstr "– auswählen –"
-
-#: ../../mod/connections.php:37 ../../mod/connedit.php:64
-msgid "Could not access contact record."
-msgstr "Konnte nicht auf den Kontakteintrag zugreifen."
-
-#: ../../mod/connections.php:51 ../../mod/connedit.php:78
-msgid "Could not locate selected profile."
-msgstr "Gewähltes Profil nicht gefunden."
-
-#: ../../mod/connections.php:94 ../../mod/connedit.php:132
-msgid "Connection updated."
-msgstr "Verbindung aktualisiert."
-
-#: ../../mod/connections.php:96 ../../mod/connedit.php:134
-msgid "Failed to update connection record."
-msgstr "Konnte den Verbindungseintrag nicht aktualisieren."
-
-#: ../../mod/connections.php:191 ../../mod/connections.php:292
-msgid "Blocked"
-msgstr "Blockiert"
-
-#: ../../mod/connections.php:196 ../../mod/connections.php:299
-msgid "Ignored"
-msgstr "Ignoriert"
-
-#: ../../mod/connections.php:201 ../../mod/connections.php:313
-msgid "Hidden"
-msgstr "Versteckt"
-
-#: ../../mod/connections.php:206 ../../mod/connections.php:306
-msgid "Archived"
-msgstr "Archiviert"
-
-#: ../../mod/connections.php:230 ../../mod/connections.php:245
-msgid "All"
-msgstr "Alle"
-
-#: ../../mod/connections.php:270
-msgid "Suggest new connections"
-msgstr "Neue Verbindungen vorschlagen"
-
-#: ../../mod/connections.php:273
-msgid "New Connections"
-msgstr "Neue Verbindungen"
-
-#: ../../mod/connections.php:276
-msgid "Show pending (new) connections"
-msgstr "Zeige ausstehende (neue) Verbindungsanfragen"
-
-#: ../../mod/connections.php:279 ../../mod/profperm.php:139
-msgid "All Connections"
-msgstr "Alle Verbindungen"
-
-#: ../../mod/connections.php:282
-msgid "Show all connections"
-msgstr "Zeige alle Verbindungen"
-
-#: ../../mod/connections.php:285
-msgid "Unblocked"
-msgstr "Freigegeben"
-
-#: ../../mod/connections.php:288
-msgid "Only show unblocked connections"
-msgstr "Zeige nur freigegebene Verbindungen"
-
-#: ../../mod/connections.php:295
-msgid "Only show blocked connections"
-msgstr "Zeige nur blockierte Verbindungen"
-
-#: ../../mod/connections.php:302
-msgid "Only show ignored connections"
-msgstr "Zeige nur ignorierte Verbindungen"
-
-#: ../../mod/connections.php:309
-msgid "Only show archived connections"
-msgstr "Zeige nur archivierte Verbindungen"
-
-#: ../../mod/connections.php:316
-msgid "Only show hidden connections"
-msgstr "Zeige nur versteckte Verbindungen"
-
-#: ../../mod/connections.php:371
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
-
-#: ../../mod/connections.php:372
-msgid "Edit connection"
-msgstr "Verbindung bearbeiten"
-
-#: ../../mod/connections.php:410
-msgid "Search your connections"
-msgstr "Verbindungen durchsuchen"
-
-#: ../../mod/connections.php:411
-msgid "Finding: "
-msgstr "Ergebnisse:"
-
-#: ../../mod/dirprofile.php:9 ../../mod/photos.php:443
-#: ../../mod/viewconnections.php:17 ../../mod/directory.php:15
-#: ../../mod/display.php:9 ../../mod/search.php:13
-msgid "Public access denied."
-msgstr "Öffentlicher Zugang verweigert."
-
-#: ../../mod/dirprofile.php:92 ../../mod/directory.php:143
-#: ../../mod/profiles.php:704
-msgid "Age: "
-msgstr "Alter:"
-
-#: ../../mod/dirprofile.php:95 ../../mod/directory.php:146
-msgid "Gender: "
-msgstr "Geschlecht:"
-
-#: ../../mod/dirprofile.php:108
-msgid "Status: "
-msgstr "Status:"
-
-#: ../../mod/dirprofile.php:109
-msgid "Sexual Preference: "
-msgstr "Sexuelle Ausrichtung:"
-
-#: ../../mod/dirprofile.php:111
-msgid "Homepage: "
-msgstr "Webseite:"
-
-#: ../../mod/dirprofile.php:112
-msgid "Hometown: "
-msgstr "Wohnort:"
-
-#: ../../mod/dirprofile.php:114
-msgid "About: "
-msgstr "Ãœber:"
-
-#: ../../mod/dirprofile.php:162
-msgid "Keywords: "
-msgstr "Schlüsselwörter:"
-
-#: ../../mod/dirprofile.php:175 ../../mod/mitem.php:78 ../../mod/xchan.php:38
-#: ../../mod/menu.php:120
-msgid "Not found."
-msgstr "Nicht gefunden."
-
-#: ../../mod/photos.php:77
-msgid "Page owner information could not be retrieved."
-msgstr "Informationen über den Besitzer der Seite konnten nicht gefunden werden."
-
-#: ../../mod/photos.php:97
-msgid "Album not found."
-msgstr "Album nicht gefunden."
-
-#: ../../mod/photos.php:119 ../../mod/photos.php:673
-msgid "Delete Album"
-msgstr "Album löschen"
-
-#: ../../mod/photos.php:159 ../../mod/photos.php:975
-msgid "Delete Photo"
-msgstr "Foto löschen"
-
-#: ../../mod/photos.php:453
-msgid "No photos selected"
-msgstr "Keine Fotos ausgewählt"
-
-#: ../../mod/photos.php:500
-msgid "Access to this item is restricted."
-msgstr "Der Zugriff auf dieses Foto ist eingeschränkt."
-
-#: ../../mod/photos.php:574
-#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
-msgstr "Du benutzt %1$.2f MBytes Deines %2$.2f MBytes großen Bilder-Speichers."
-
-#: ../../mod/photos.php:577
-#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
-msgstr "Du verwendest %1$.2f MBytes Deines Foto-Speichers."
-
-#: ../../mod/photos.php:596
-msgid "Upload Photos"
-msgstr "Fotos hochladen"
-
-#: ../../mod/photos.php:600 ../../mod/photos.php:668
-msgid "New album name: "
-msgstr "Name des neuen Albums:"
-
-#: ../../mod/photos.php:601
-msgid "or existing album name: "
-msgstr "Oder bestehender Album-Name:"
-
-#: ../../mod/photos.php:602
-msgid "Do not show a status post for this upload"
-msgstr "Keine Statusnachricht für diesen Upload senden"
-
-#: ../../mod/photos.php:622
-msgid "Album name could not be decoded"
-msgstr "Albumname konnte nicht dekodiert werden"
-
-#: ../../mod/photos.php:657 ../../mod/photos.php:679 ../../mod/photos.php:1148
-#: ../../mod/photos.php:1163
-msgid "Contact Photos"
-msgstr "Kontakt-Bilder"
-
-#: ../../mod/photos.php:681
-msgid "Edit Album"
-msgstr "Album bearbeiten"
-
-#: ../../mod/photos.php:687
-msgid "Show Newest First"
-msgstr "Zeige Neueste zuerst"
-
-#: ../../mod/photos.php:689
-msgid "Show Oldest First"
-msgstr "Zeige Älteste zuerst"
-
-#: ../../mod/photos.php:716 ../../mod/photos.php:1195
-msgid "View Photo"
-msgstr "Foto ansehen"
-
-#: ../../mod/photos.php:794
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden."
-
-#: ../../mod/photos.php:796
-msgid "Photo not available"
-msgstr "Foto nicht verfügbar"
-
-#: ../../mod/photos.php:856
-msgid "Use as profile photo"
-msgstr "Als Profilfoto verwenden"
-
-#: ../../mod/photos.php:880
-msgid "View Full Size"
-msgstr "In voller Größe anzeigen"
-
-#: ../../mod/photos.php:924 ../../mod/delegate.php:130 ../../mod/tagrm.php:93
-msgid "Remove"
-msgstr "Entferne"
-
-#: ../../mod/photos.php:958
-msgid "Edit photo"
-msgstr "Foto bearbeiten"
-
-#: ../../mod/photos.php:960
-msgid "Rotate CW (right)"
-msgstr "Drehen im UZS (rechts)"
-
-#: ../../mod/photos.php:961
-msgid "Rotate CCW (left)"
-msgstr "Drehen gegen UZS (links)"
-
-#: ../../mod/photos.php:964
-msgid "New album name"
-msgstr "Name des neuen Albums:"
-
-#: ../../mod/photos.php:967
-msgid "Caption"
-msgstr "Bildunterschrift"
-
-#: ../../mod/photos.php:969
-msgid "Add a Tag"
-msgstr "Schlagwort hinzufügen"
-
-#: ../../mod/photos.php:972
-msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr "Beispiel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-
-#: ../../mod/photos.php:1125
-msgid "In This Photo:"
-msgstr "Auf diesem Foto:"
-
-#: ../../mod/photos.php:1201
-msgid "View Album"
-msgstr "Album ansehen"
-
-#: ../../mod/photos.php:1224
-msgid "Recent Photos"
-msgstr "Neueste Fotos"
-
-#: ../../mod/mitem.php:14 ../../mod/menu.php:92
-msgid "Menu not found."
-msgstr "Menü nicht gefunden"
-
-#: ../../mod/mitem.php:47
-msgid "Menu element updated."
-msgstr "Menü-Element aktualisiert."
-
-#: ../../mod/mitem.php:51
-msgid "Unable to update menu element."
-msgstr "Kann Menü-Element nicht aktualisieren."
-
-#: ../../mod/mitem.php:57
-msgid "Menu element added."
-msgstr "Menü-Bestandteil hinzugefügt."
-
-#: ../../mod/mitem.php:61
-msgid "Unable to add menu element."
-msgstr "Kann Menü-Bestandteil nicht hinzufügen."
-
-#: ../../mod/mitem.php:96
-msgid "Manage Menu Elements"
-msgstr "Menü-Bestandteile verwalten"
-
-#: ../../mod/mitem.php:99
-msgid "Edit menu"
-msgstr "Menü bearbeiten"
-
-#: ../../mod/mitem.php:102
-msgid "Edit element"
-msgstr "Bestandteil bearbeiten"
-
-#: ../../mod/mitem.php:103
-msgid "Drop element"
-msgstr "Bestandteil löschen"
-
-#: ../../mod/mitem.php:104
-msgid "New element"
-msgstr "Neues Bestandteil"
-
-#: ../../mod/mitem.php:105
-msgid "Edit this menu container"
-msgstr "Diesen Menü-Container bearbeiten"
-
-#: ../../mod/mitem.php:106
-msgid "Add menu element"
-msgstr "Menüelement hinzufügen"
-
-#: ../../mod/mitem.php:107
-msgid "Delete this menu item"
-msgstr "Lösche dieses Menü-Bestandteil"
-
-#: ../../mod/mitem.php:108
-msgid "Edit this menu item"
-msgstr "Bearbeite dieses Menü-Bestandteil"
-
-#: ../../mod/mitem.php:131
-msgid "New Menu Element"
-msgstr "Neues Menü-Bestandteil"
-
-#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
-msgid "Menu Item Permissions"
-msgstr "Zugriffsrechte des Menü-Elements"
-
-#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
-msgid "Link text"
-msgstr "Link Text"
-
-#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
-msgid "URL of link"
-msgstr "URL des Links"
-
-#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
-msgid "Use Red magic-auth if available"
-msgstr "Verwende Red Magic-Auth wenn verfügbar"
-
-#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
-msgid "Open link in new window"
-msgstr "Öffne Link in neuem Fenster"
-
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
-msgid "Order in list"
-msgstr "Reihenfolge in der Liste"
-
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "Größere Nummern werden weiter unten in der Auflistung einsortiert"
-
-#: ../../mod/mitem.php:154
-msgid "Menu item not found."
-msgstr "Menü-Bestandteil nicht gefunden."
-
-#: ../../mod/mitem.php:163
-msgid "Menu item deleted."
-msgstr "Menü-Bestandteil gelöscht."
-
-#: ../../mod/mitem.php:165
-msgid "Menu item could not be deleted."
-msgstr "Menü-Bestandteil kann nicht gelöscht werden."
-
-#: ../../mod/mitem.php:174
-msgid "Edit Menu Element"
-msgstr "Bearbeite Menü-Bestandteil"
-
-#: ../../mod/mitem.php:186 ../../mod/menu.php:114
-msgid "Modify"
-msgstr "Ändern"
-
-#: ../../mod/subthread.php:103
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s folgt nun %2$ss %3$s"
-
-#: ../../mod/regmod.php:11
-msgid "Please login."
-msgstr "Bitte melde dich an."
-
-#: ../../mod/mood.php:132
-msgid "Set your current mood and tell your friends"
-msgstr "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden"
-
-#: ../../mod/impel.php:33
-msgid "webpage"
-msgstr "Webseite"
-
-#: ../../mod/impel.php:38
-msgid "block"
-msgstr "Block"
-
-#: ../../mod/impel.php:43
-msgid "layout"
-msgstr "Layout"
-
-#: ../../mod/impel.php:117
-#, php-format
-msgid "%s element installed"
-msgstr "Element für %s installiert"
-
-#: ../../mod/lockview.php:31
-msgid "Remote privacy information not available."
-msgstr "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar."
-
-#: ../../mod/lockview.php:52
-msgid "Visible to:"
-msgstr "Sichtbar für:"
-
-#: ../../mod/rbmark.php:88
-msgid "Select a bookmark folder"
-msgstr "Lesezeichenordner wählen"
-
-#: ../../mod/rbmark.php:93
-msgid "Save Bookmark"
-msgstr "Lesezeichen speichern"
-
-#: ../../mod/rbmark.php:94
-msgid "URL of bookmark"
-msgstr "URL des Lesezeichens"
-
-#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
-msgid "Description"
-msgstr "Beschreibung"
-
-#: ../../mod/rbmark.php:99
-msgid "Or enter new bookmark folder name"
-msgstr "Oder gib einen neuen Namen für den Lesezeichenordner ein"
-
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
-msgstr "Layout aktualisiert."
-
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
-msgstr "Systemseitenbeschreibung bearbeiten"
-
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
-msgstr "Layout nicht gefunden."
-
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
-msgstr "Modulname:"
-
-#: ../../mod/pdledit.php:55 ../../mod/layouts.php:59
-msgid "Layout Help"
-msgstr "Layout-Hilfe"
-
-#: ../../mod/profile_photo.php:108
-msgid "Image uploaded but image cropping failed."
-msgstr "Bild hochgeladen, aber das Zurechtschneiden schlug fehl."
-
-#: ../../mod/profile_photo.php:161
-msgid "Image resize failed."
-msgstr "Bild-Anpassung fehlgeschlagen."
-
-#: ../../mod/profile_photo.php:205
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird."
-
-#: ../../mod/profile_photo.php:232
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "Bild ist größer als das Limit von %d"
-
-#: ../../mod/profile_photo.php:241
-msgid "Unable to process image."
-msgstr "Kann Bild nicht verarbeiten."
-
-#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
-msgid "Photo not available."
-msgstr "Foto nicht verfügbar."
-
-#: ../../mod/profile_photo.php:358
-msgid "Upload File:"
-msgstr "Datei hochladen:"
-
-#: ../../mod/profile_photo.php:359
-msgid "Select a profile:"
-msgstr "Wähle ein Profil:"
-
-#: ../../mod/profile_photo.php:360
-msgid "Upload Profile Photo"
-msgstr "Lade neues Profilfoto hoch"
-
-#: ../../mod/profile_photo.php:365
-msgid "skip this step"
-msgstr "diesen Schritt überspringen"
-
-#: ../../mod/profile_photo.php:365
-msgid "select a photo from your photo albums"
-msgstr "ein Foto aus meinen Fotoalben"
-
-#: ../../mod/profile_photo.php:381
-msgid "Crop Image"
-msgstr "Bild zuschneiden"
-
-#: ../../mod/profile_photo.php:382
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Bitte schneide das Bild für eine optimale Anzeige passend zu."
-
-#: ../../mod/profile_photo.php:384
-msgid "Done Editing"
-msgstr "Bearbeitung fertigstellen"
-
-#: ../../mod/profile_photo.php:427
-msgid "Image uploaded successfully."
-msgstr "Bild erfolgreich hochgeladen."
-
-#: ../../mod/profile_photo.php:429
-msgid "Image upload failed."
-msgstr "Hochladen des Bilds fehlgeschlagen."
-
-#: ../../mod/profile_photo.php:438
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Reduzierung der Bildgröße [%s] fehlgeschlagen."
-
-#: ../../mod/acl.php:244
-msgid "network"
-msgstr "Netzwerk"
-
-#: ../../mod/menu.php:21
-msgid "Menu updated."
-msgstr "Menü aktualisiert."
-
-#: ../../mod/menu.php:25
-msgid "Unable to update menu."
-msgstr "Kann Menü nicht aktualisieren."
-
-#: ../../mod/menu.php:30
-msgid "Menu created."
-msgstr "Menü erstellt."
-
-#: ../../mod/menu.php:34
-msgid "Unable to create menu."
-msgstr "Kann Menü nicht erstellen."
-
-#: ../../mod/menu.php:57
-msgid "Manage Menus"
-msgstr "Menüs verwalten"
-
-#: ../../mod/menu.php:60
-msgid "Drop"
-msgstr "Löschen"
-
-#: ../../mod/menu.php:62
-msgid "Create a new menu"
-msgstr "Neues Menü erstellen"
-
-#: ../../mod/menu.php:63
-msgid "Delete this menu"
-msgstr "Lösche dieses Menü"
-
-#: ../../mod/menu.php:64 ../../mod/menu.php:109
-msgid "Edit menu contents"
-msgstr "Bearbeite Menü Inhalte"
-
-#: ../../mod/menu.php:65
-msgid "Edit this menu"
-msgstr "Dieses Menü bearbeiten"
-
-#: ../../mod/menu.php:80
-msgid "New Menu"
-msgstr "Neues Menü"
-
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Menu name"
-msgstr "Menü Name"
-
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Must be unique, only seen by you"
-msgstr "Muss eindeutig sein, ist aber nur für Dich sichtbar"
-
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title"
-msgstr "Menü Titel"
-
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title as seen by others"
-msgstr "Menü Titel wie er von anderen gesehen wird"
-
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Allow bookmarks"
-msgstr "Erlaube Lesezeichen"
-
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Im Menü können gespeicherte Lesezeichen abgelegt werden"
-
-#: ../../mod/menu.php:98
-msgid "Menu deleted."
-msgstr "Menü gelöscht."
-
-#: ../../mod/menu.php:100
-msgid "Menu could not be deleted."
-msgstr "Menü konnte nicht gelöscht werden."
-
-#: ../../mod/menu.php:106
-msgid "Edit Menu"
-msgstr "Menü bearbeiten"
-
-#: ../../mod/menu.php:108
-msgid "Add or remove entries to this menu"
-msgstr "Einträge zu diesem Menü hinzufügen oder entfernen"
-
-#: ../../mod/block.php:27 ../../mod/page.php:35
-msgid "Invalid item."
-msgstr "Ungültiges Element."
-
-#: ../../mod/block.php:39 ../../mod/wall_upload.php:28 ../../mod/page.php:47
-msgid "Channel not found."
-msgstr "Kanal nicht gefunden."
-
-#: ../../mod/block.php:75 ../../mod/help.php:72 ../../mod/display.php:102
-#: ../../mod/page.php:83 ../../index.php:240
-msgid "Page not found."
-msgstr "Seite nicht gefunden."
-
-#: ../../mod/tagger.php:98
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s hat %2$ss %3$s mit %4$s verschlagwortet"
-
-#: ../../mod/wall_upload.php:34
-msgid "Wall Photos"
-msgstr "Wall Fotos"
-
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "OpenID Protokollfehler. Keine ID zurückgegeben."
-
-#: ../../mod/suggest.php:35
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal."
-
-#: ../../mod/connedit.php:181
-msgid "is now connected to"
-msgstr "ist jetzt verbunden mit"
-
-#: ../../mod/connedit.php:296
-msgid "Could not access address book record."
-msgstr "Konnte nicht auf den Adressbuch-Eintrag zugreifen."
-
-#: ../../mod/connedit.php:310
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar."
-
-#: ../../mod/connedit.php:317
-msgid "Channel has been unblocked"
-msgstr "Kanal nicht mehr blockiert"
-
-#: ../../mod/connedit.php:318
-msgid "Channel has been blocked"
-msgstr "Kanal blockiert"
-
-#: ../../mod/connedit.php:322 ../../mod/connedit.php:334
-#: ../../mod/connedit.php:346 ../../mod/connedit.php:358
-#: ../../mod/connedit.php:374
-msgid "Unable to set address book parameters."
-msgstr "Konnte die Adressbuch-Parameter nicht setzen."
-
-#: ../../mod/connedit.php:329
-msgid "Channel has been unignored"
-msgstr "Kanal wird nicht mehr ignoriert"
-
-#: ../../mod/connedit.php:330
-msgid "Channel has been ignored"
-msgstr "Kanal wird ignoriert"
-
-#: ../../mod/connedit.php:341
-msgid "Channel has been unarchived"
-msgstr "Kanal wurde aus dem Archiv zurück geholt"
-
-#: ../../mod/connedit.php:342
-msgid "Channel has been archived"
-msgstr "Kanal wurde archiviert"
-
-#: ../../mod/connedit.php:353
-msgid "Channel has been unhidden"
-msgstr "Kanal wird nicht mehr versteckt"
-
-#: ../../mod/connedit.php:354
-msgid "Channel has been hidden"
-msgstr "Kanal wurde versteckt"
-
-#: ../../mod/connedit.php:369
-msgid "Channel has been approved"
-msgstr "Kanal wurde zugelassen"
-
-#: ../../mod/connedit.php:370
-msgid "Channel has been unapproved"
-msgstr "Zulassung des Kanals entfernt"
-
-#: ../../mod/connedit.php:398
-msgid "Connection has been removed."
-msgstr "Verbindung wurde gelöscht."
-
-#: ../../mod/connedit.php:418
-#, php-format
-msgid "View %s's profile"
-msgstr "%ss Profil ansehen"
-
-#: ../../mod/connedit.php:422
-msgid "Refresh Permissions"
-msgstr "Zugriffsrechte neu laden"
-
-#: ../../mod/connedit.php:425
-msgid "Fetch updated permissions"
-msgstr "Aktualisierte Zugriffsrechte abfragen"
-
-#: ../../mod/connedit.php:429
-msgid "Recent Activity"
-msgstr "Kürzliche Aktivitäten"
-
-#: ../../mod/connedit.php:432
-msgid "View recent posts and comments"
-msgstr "Betrachte die neuesten Beiträge und Kommentare"
-
-#: ../../mod/connedit.php:439
-msgid "Block or Unblock this connection"
-msgstr "Verbindung blockieren oder freigeben"
-
-#: ../../mod/connedit.php:443 ../../mod/connedit.php:580
-msgid "Unignore"
-msgstr "Nicht ignorieren"
-
-#: ../../mod/connedit.php:443 ../../mod/connedit.php:580
-#: ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Ignorieren"
-
-#: ../../mod/connedit.php:446
-msgid "Ignore or Unignore this connection"
-msgstr "Verbindung ignorieren oder wieder beachten"
-
-#: ../../mod/connedit.php:449
-msgid "Unarchive"
-msgstr "Aus Archiv zurückholen"
-
-#: ../../mod/connedit.php:449
-msgid "Archive"
-msgstr "Archivieren"
-
-#: ../../mod/connedit.php:452
-msgid "Archive or Unarchive this connection"
-msgstr "Verbindung archivieren oder aus dem Archiv zurückholen"
-
-#: ../../mod/connedit.php:455
-msgid "Unhide"
-msgstr "Wieder sichtbar machen"
-
-#: ../../mod/connedit.php:455
-msgid "Hide"
-msgstr "Verstecken"
-
-#: ../../mod/connedit.php:458
-msgid "Hide or Unhide this connection"
-msgstr "Diese Verbindung verstecken oder wieder sichtbar machen"
-
-#: ../../mod/connedit.php:465
-msgid "Delete this connection"
-msgstr "Verbindung löschen"
-
-#: ../../mod/connedit.php:508 ../../mod/connedit.php:537
-msgid "Approve this connection"
-msgstr "Verbindung genehmigen"
-
-#: ../../mod/connedit.php:508
-msgid "Accept connection to allow communication"
-msgstr "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen"
-
-#: ../../mod/connedit.php:524
-msgid "Automatic Permissions Settings"
-msgstr "Automatische Berechtigungs-Einstellungen"
-
-#: ../../mod/connedit.php:524
-#, php-format
-msgid "Connections: settings for %s"
-msgstr "Verbindungseinstellungen für %s"
-
-#: ../../mod/connedit.php:528
-msgid ""
-"When receiving a channel introduction, any permissions provided here will be"
-" applied to the new connection automatically and the introduction approved. "
-"Leave this page if you do not wish to use this feature."
-msgstr "Wenn eine Verbindungsanfrage empfangen wird, werden die hier getroffenen Einstellungen automatisch angewandt, und die Anfrage wird genehmigt. Verlasse diese Seite, wenn Du diese Funktion nicht verwenden möchtest."
-
-#: ../../mod/connedit.php:530
-msgid "Slide to adjust your degree of friendship"
-msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen"
-
-#: ../../mod/connedit.php:536
-msgid "inherited"
-msgstr "geerbt"
-
-#: ../../mod/connedit.php:538
-msgid "Connection has no individual permissions!"
-msgstr "Diese Verbindung hat keine individuellen Zugriffsrechte!"
-
-#: ../../mod/connedit.php:539
-msgid ""
-"This may be appropriate based on your <a href=\"settings\">privacy "
-"settings</a>, though you may wish to review the \"Advanced Permissions\"."
-msgstr "Abhängig von Deinen <a href=\"settings\">Privatsphäre-Einstellungen</a> könnte das passen, eventuell solltest Du aber die „Zugriffsrechte für Fortgeschrittene“ überprüfen."
-
-#: ../../mod/connedit.php:541
-msgid "Profile Visibility"
-msgstr "Sichtbarkeit des Profils"
-
-#: ../../mod/connedit.php:542
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird."
-
-#: ../../mod/connedit.php:543
-msgid "Contact Information / Notes"
-msgstr "Kontaktinformationen / Notizen"
-
-#: ../../mod/connedit.php:544
-msgid "Edit contact notes"
-msgstr "Kontaktnotizen bearbeiten"
-
-#: ../../mod/connedit.php:546
-msgid "Their Settings"
-msgstr "Deren Einstellungen"
-
-#: ../../mod/connedit.php:547
-msgid "My Settings"
-msgstr "Meine Einstellungen"
-
-#: ../../mod/connedit.php:549
-msgid "Clear/Disable Automatic Permissions"
-msgstr "Automatische Berechtigungen abschalten/entfernen"
-
-#: ../../mod/connedit.php:550
-msgid "Forum Members"
-msgstr "Forum Mitglieder"
-
-#: ../../mod/connedit.php:551
-msgid "Soapbox"
-msgstr "Marktschreier"
-
-#: ../../mod/connedit.php:552
-msgid "Full Sharing (typical social network permissions)"
-msgstr "Vollumfängliches Teilen (übliche Berechtigungen in sozialen Netzwerken)"
-
-#: ../../mod/connedit.php:553
-msgid "Cautious Sharing "
-msgstr "Vorsichtiges Teilen"
-
-#: ../../mod/connedit.php:554
-msgid "Follow Only"
-msgstr "Nur folgen"
-
-#: ../../mod/connedit.php:555
-msgid "Individual Permissions"
-msgstr "Individuelle Zugriffsrechte"
-
-#: ../../mod/connedit.php:556
-msgid ""
-"Some permissions may be inherited from your channel <a "
-"href=\"settings\">privacy settings</a>, which have higher priority than "
-"individual settings. Changing those inherited settings on this page will "
-"have no effect."
-msgstr "Einige Berechtigungen werden von den <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt, die eine höhere Priorität haben als die Einstellungen bei einer Verbindung. Werden geerbte Einstellungen hier geändert, hat das keine Auswirkungen."
-
-#: ../../mod/connedit.php:557
-msgid "Advanced Permissions"
-msgstr "Zugriffsrechte für Fortgeschrittene"
-
-#: ../../mod/connedit.php:558
-msgid "Simple Permissions (select one and submit)"
-msgstr "Einfache Berechtigungs-Einstellungen (wähle eine aus und klicke auf Senden)"
-
-#: ../../mod/connedit.php:562
-#, php-format
-msgid "Visit %s's profile - %s"
-msgstr "%ss Profil besuchen - %s"
-
-#: ../../mod/connedit.php:563
-msgid "Block/Unblock contact"
-msgstr "Kontakt blockieren/freigeben"
-
-#: ../../mod/connedit.php:564
-msgid "Ignore contact"
-msgstr "Kontakt ignorieren"
-
-#: ../../mod/connedit.php:565
-msgid "Repair URL settings"
-msgstr "URL-Einstellungen reparieren"
-
-#: ../../mod/connedit.php:566
-msgid "View conversations"
-msgstr "Unterhaltungen anzeigen"
-
-#: ../../mod/connedit.php:568
-msgid "Delete contact"
-msgstr "Kontakt löschen"
-
-#: ../../mod/connedit.php:571
-msgid "Last update:"
-msgstr "Letzte Aktualisierung:"
-
-#: ../../mod/connedit.php:573
-msgid "Update public posts"
-msgstr "Öffentliche Beiträge aktualisieren"
-
-#: ../../mod/connedit.php:575
-msgid "Update now"
-msgstr "Jetzt aktualisieren"
-
-#: ../../mod/connedit.php:581
-msgid "Currently blocked"
-msgstr "Derzeit blockiert"
-
-#: ../../mod/connedit.php:582
-msgid "Currently ignored"
-msgstr "Derzeit ignoriert"
-
-#: ../../mod/connedit.php:583
-msgid "Currently archived"
-msgstr "Derzeit archiviert"
-
-#: ../../mod/connedit.php:584
-msgid "Currently pending"
-msgstr "Derzeit anstehend"
-
-#: ../../mod/connedit.php:585
-msgid "Hide this contact from others"
-msgstr "Diese Verbindung vor den anderen verbergen."
-
-#: ../../mod/connedit.php:585
-msgid ""
-"Replies/likes to your public posts <strong>may</strong> still be visible"
-msgstr "Antworten/Likes auf deine öffentlichen Beiträge <strong>können</strong> immer noch sichtbar sein"
-
-#: ../../mod/message.php:41
-msgid "Conversation removed."
-msgstr "Unterhaltung gelöscht."
-
-#: ../../mod/message.php:56
-msgid "No messages."
-msgstr "Keine Nachrichten."
-
-#: ../../mod/message.php:72 ../../mod/mail.php:329
-msgid "Delete conversation"
-msgstr "Unterhaltung löschen"
-
-#: ../../mod/message.php:74
-msgid "D, d M Y - g:i A"
-msgstr "D, d. M Y - G:i"
-
-#: ../../mod/ping.php:237
-msgid "sent you a private message"
-msgstr "eine private Nachricht schicken"
-
-#: ../../mod/ping.php:288
-msgid "added your channel"
-msgstr "hat deinen Kanal hinzugefügt"
-
-#: ../../mod/ping.php:329
-msgid "posted an event"
-msgstr "hat eine Veranstaltung veröffentlicht"
-
-#: ../../mod/setup.php:162
-msgid "Red Matrix Server - Setup"
-msgstr "Red Matrix Server - Installation"
-
-#: ../../mod/setup.php:168
-msgid "Could not connect to database."
-msgstr "Kann nicht mit der Datenbank verbinden."
-
-#: ../../mod/setup.php:172
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS."
-
-#: ../../mod/setup.php:179
-msgid "Could not create table."
-msgstr "Kann Tabelle nicht erstellen."
-
-#: ../../mod/setup.php:185
-msgid "Your site database has been installed."
-msgstr "Die Datenbank Deines Servers wurde installiert."
-
-#: ../../mod/setup.php:190
-msgid ""
-"You may need to import the file \"install/database.sql\" manually using "
-"phpmyadmin or mysql."
-msgstr "Eventuell musst Du die Datei \"install/database.sql\" per Hand mit phpmyadmin oder mysql importieren."
-
-#: ../../mod/setup.php:191 ../../mod/setup.php:260 ../../mod/setup.php:655
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Lies die Datei \"install/INSTALL.txt\"."
-
-#: ../../mod/setup.php:257
-msgid "System check"
-msgstr "Systemprüfung"
-
-#: ../../mod/setup.php:261 ../../mod/events.php:439
-msgid "Next"
-msgstr "Nächste"
-
-#: ../../mod/setup.php:262
-msgid "Check again"
-msgstr "Bitte nochmal prüfen"
-
-#: ../../mod/setup.php:284
-msgid "Database connection"
-msgstr "Datenbank Verbindung"
-
-#: ../../mod/setup.php:285
-msgid ""
-"In order to install Red Matrix we need to know how to connect to your "
-"database."
-msgstr "Um die Red-Matrix installieren zu können, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können."
-
-#: ../../mod/setup.php:286
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast."
-
-#: ../../mod/setup.php:287
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst."
-
-#: ../../mod/setup.php:291
-msgid "Database Server Name"
-msgstr "Datenbank-Servername"
-
-#: ../../mod/setup.php:291
-msgid "Default is localhost"
-msgstr "Standard ist localhost"
-
-#: ../../mod/setup.php:292
-msgid "Database Port"
-msgstr "Datenbank-Port"
-
-#: ../../mod/setup.php:292
-msgid "Communication port number - use 0 for default"
-msgstr "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung"
-
-#: ../../mod/setup.php:293
-msgid "Database Login Name"
-msgstr "Datenbank-Benutzername"
-
-#: ../../mod/setup.php:294
-msgid "Database Login Password"
-msgstr "Datenbank-Kennwort"
-
-#: ../../mod/setup.php:295
-msgid "Database Name"
-msgstr "Datenbank-Name"
-
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
-msgid "Site administrator email address"
-msgstr "E-Mail Adresse des Seiten-Administrators"
-
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst."
-
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
-msgid "Website URL"
-msgstr "Server-URL"
-
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
-msgid "Please use SSL (https) URL if available."
-msgstr "Nutze wenn möglich eine SSL-URL (https)."
-
-#: ../../mod/setup.php:301 ../../mod/setup.php:344
-msgid "Please select a default timezone for your website"
-msgstr "Standard-Zeitzone für Deinen Server"
-
-#: ../../mod/setup.php:328
-msgid "Site settings"
-msgstr "Seiteneinstellungen"
-
-#: ../../mod/setup.php:387
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden."
-
-#: ../../mod/setup.php:388
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen."
-
-#: ../../mod/setup.php:392
-msgid "PHP executable path"
-msgstr "PHP Pfad zu ausführbarer Datei"
-
-#: ../../mod/setup.php:392
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren."
-
-#: ../../mod/setup.php:397
-msgid "Command line PHP"
-msgstr "PHP Befehlszeile"
-
-#: ../../mod/setup.php:406
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert."
-
-#: ../../mod/setup.php:407
-msgid "This is required for message delivery to work."
-msgstr "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert."
-
-#: ../../mod/setup.php:409
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
-
-#: ../../mod/setup.php:430
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen."
-
-#: ../../mod/setup.php:431
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung."
-
-#: ../../mod/setup.php:433
-msgid "Generate encryption keys"
-msgstr "Verschlüsselungsschlüssel generieren"
-
-#: ../../mod/setup.php:440
-msgid "libCurl PHP module"
-msgstr "libCurl-PHP-Modul"
-
-#: ../../mod/setup.php:441
-msgid "GD graphics PHP module"
-msgstr "GD-Grafik-PHP-Modul"
-
-#: ../../mod/setup.php:442
-msgid "OpenSSL PHP module"
-msgstr "OpenSSL-PHP-Modul"
-
-#: ../../mod/setup.php:443
-msgid "mysqli PHP module"
-msgstr "mysqli-PHP-Modul"
-
-#: ../../mod/setup.php:444
-msgid "mb_string PHP module"
-msgstr "mb_string-PHP-Modul"
-
-#: ../../mod/setup.php:445
-msgid "mcrypt PHP module"
-msgstr "mcrypt-PHP-Modul"
-
-#: ../../mod/setup.php:450 ../../mod/setup.php:452
-msgid "Apache mod_rewrite module"
-msgstr "Apache-mod_rewrite-Modul"
-
-#: ../../mod/setup.php:450
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert."
-
-#: ../../mod/setup.php:456 ../../mod/setup.php:459
-msgid "proc_open"
-msgstr "proc_open"
-
-#: ../../mod/setup.php:456
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert"
-
-#: ../../mod/setup.php:464
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert."
-
-#: ../../mod/setup.php:468
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert."
-
-#: ../../mod/setup.php:472
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert."
-
-#: ../../mod/setup.php:476
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul mysqli wird benötigt, ist aber nicht installiert."
-
-#: ../../mod/setup.php:480
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert."
-
-#: ../../mod/setup.php:484
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul mcrypt wird benötigt, ist aber nicht installiert."
-
-#: ../../mod/setup.php:500
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht."
-
-#: ../../mod/setup.php:501
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Rechte Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst."
-
-#: ../../mod/setup.php:502
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Red-Installation speichern musst."
-
-#: ../../mod/setup.php:503
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt."
-
-#: ../../mod/setup.php:506
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php ist beschreibbar"
+#: ../../mod/item.php:159
+msgid "Unable to locate original post."
+msgstr "Originalbeitrag nicht gefunden."
-#: ../../mod/setup.php:516
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Red verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen."
+#: ../../mod/item.php:418
+msgid "Empty post discarded."
+msgstr "Leeren Beitrag verworfen."
-#: ../../mod/setup.php:517
-#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "Um diese kompilierten Vorlagen speichern zu können braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Red-Installationsverzeichnisses."
+#: ../../mod/item.php:460
+msgid "Executable content type not permitted to this channel."
+msgstr "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben."
-#: ../../mod/setup.php:518 ../../mod/setup.php:536
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Bitte stelle sicher, dass der Nutzer, unter dem der Webserver läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat."
+#: ../../mod/item.php:898
+msgid "System error. Post not saved."
+msgstr "Systemfehler. Beitrag nicht gespeichert."
-#: ../../mod/setup.php:519
+#: ../../mod/item.php:1373
#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
-msgstr " Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht in der restlichen Red-Installation."
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht."
-#: ../../mod/setup.php:522
+#: ../../mod/item.php:1379
#, php-format
-msgid "%s is writable"
-msgstr "%s ist beschreibbar"
-
-#: ../../mod/setup.php:535
-msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to"
-" have write access to the store directory under the Red top level folder"
-msgstr "Red benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red-Stammverzeichnisses"
-
-#: ../../mod/setup.php:539
-msgid "store is writable"
-msgstr "store ist schreibbar"
-
-#: ../../mod/setup.php:569
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server."
-
-#: ../../mod/setup.php:570
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich."
-
-#: ../../mod/setup.php:571
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können."
-
-#: ../../mod/setup.php:572
-msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer Red-Server (die mit korrekten Zertifikate ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird)."
-
-#: ../../mod/setup.php:573
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen.. "
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht."
-#: ../../mod/setup.php:574
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind."
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr "Mögen/Nicht mögen"
-#: ../../mod/setup.php:576
-msgid "SSL certificate validation"
-msgstr "SSL Zertifikatverifizierung"
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr "Diese Aktion kann nur von Mitgliedern ausgeführt werden."
-#: ../../mod/setup.php:582
+#: ../../mod/like.php:21
msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-msgstr "URL rewrite via .htaccess funktioniert nicht. Überprüfe Deine Server-Konfiguration."
+"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
+"href=\"register\">register as a new RedMatrix member</a> to continue."
+msgstr "Bitte <a href=\"rmagic\">melde Dich mit Deiner RedMatrix-ID an</a> oder <a href=\"register\">registriere Dich als neues Mitglied der RedMatrix</a>, um fortzufahren."
-#: ../../mod/setup.php:584
-msgid "Url rewrite is working"
-msgstr "Url rewrite funktioniert"
+#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
+msgid "Invalid request."
+msgstr "Ungültige Anfrage."
-#: ../../mod/setup.php:594
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen."
+#: ../../mod/like.php:119
+msgid "thing"
+msgstr "Sache"
-#: ../../mod/setup.php:618
-msgid "Errors encountered creating database tables."
-msgstr "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten."
+#: ../../mod/like.php:165
+msgid "Channel unavailable."
+msgstr "Kanal nicht vorhanden."
-#: ../../mod/setup.php:653
-msgid "<h1>What next</h1>"
-msgstr "<h1>Was als Nächstes</h1>"
+#: ../../mod/like.php:204
+msgid "Previous action reversed."
+msgstr "Die vorherige Aktion wurde rückgängig gemacht."
-#: ../../mod/setup.php:654
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten."
+#: ../../mod/like.php:430
+msgid "Action completed."
+msgstr "Aktion durchgeführt."
-#: ../../mod/magic.php:70
-msgid "Hub not found."
-msgstr "Server nicht gefunden."
+#: ../../mod/like.php:431
+msgid "Thank you."
+msgstr "Vielen Dank."
#: ../../mod/invite.php:25
msgid "Total invitation limit exceeded."
@@ -6539,78 +7576,54 @@ msgstr "oder besuche"
msgid "3. Click [Connect]"
msgstr "3. Klicke auf [Verbinden]"
-#: ../../mod/thing.php:96
-msgid "Thing updated"
-msgstr "Sache aktualisiert"
-
-#: ../../mod/thing.php:156
-msgid "Object store: failed"
-msgstr "Speichern des Objekts fehlgeschlagen"
-
-#: ../../mod/thing.php:160
-msgid "Thing added"
-msgstr "Sache hinzugefügt"
-
-#: ../../mod/thing.php:180
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
-
-#: ../../mod/thing.php:232
-msgid "Show Thing"
-msgstr "Sache anzeigen"
-
-#: ../../mod/thing.php:239
-msgid "item not found."
-msgstr "Eintrag nicht gefunden"
-
-#: ../../mod/thing.php:270
-msgid "Edit Thing"
-msgstr "Sache bearbeiten"
+#: ../../mod/locs.php:19 ../../mod/locs.php:46
+msgid "Location not found."
+msgstr "Klon nicht gefunden."
-#: ../../mod/thing.php:272 ../../mod/thing.php:319
-msgid "Select a profile"
-msgstr "Wähle ein Profil"
+#: ../../mod/locs.php:50
+msgid "Primary location cannot be removed."
+msgstr "Der primäre Klon kann nicht gelöscht werden."
-#: ../../mod/thing.php:276 ../../mod/thing.php:322
-msgid "Post an activity"
-msgstr "Aktivitätsnachricht senden"
+#: ../../mod/locs.php:82
+msgid "No locations found."
+msgstr "Keine Klon-Adressen gefunden"
-#: ../../mod/thing.php:276 ../../mod/thing.php:322
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Nur an Betrachter des ausgewählten Profils senden"
+#: ../../mod/locs.php:95
+msgid "Manage Channel Locations"
+msgstr "Klon-Adressen verwalten"
-#: ../../mod/thing.php:278 ../../mod/thing.php:324
-msgid "Name of thing e.g. something"
-msgstr "Name der Sache, z. B. irgendwas"
+#: ../../mod/locs.php:96
+msgid "Location (address)"
+msgstr "URL (Adresse)"
-#: ../../mod/thing.php:280 ../../mod/thing.php:325
-msgid "URL of thing (optional)"
-msgstr "URL der Sache (optional)"
+#: ../../mod/locs.php:97
+msgid "Primary Location"
+msgstr "Primärer Klon"
-#: ../../mod/thing.php:282 ../../mod/thing.php:326
-msgid "URL for photo of thing (optional)"
-msgstr "URL eines Fotos der Sache (optional)"
+#: ../../mod/locs.php:98
+msgid "Drop location"
+msgstr "Klon löschen"
-#: ../../mod/thing.php:317
-msgid "Add Thing to your Profile"
-msgstr "Die Sache Deinem Profil hinzufügen"
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
+msgid "[Embedded content - reload page to view]"
+msgstr "[Eingebettete Inhalte – lade die Seite neu, um sie anzuzeigen]"
-#: ../../mod/oexchange.php:23
-msgid "Unable to find your hub."
-msgstr "Konnte Deinen Server nicht finden."
+#: ../../mod/layouts.php:110
+msgid "Help with this feature"
+msgstr "Hilfe zu dieser Funktion"
-#: ../../mod/oexchange.php:37
-msgid "Post successful."
-msgstr "Veröffentlichung erfolgreich."
+#: ../../mod/layouts.php:130
+msgid "Layout Name"
+msgstr "Layout-Name"
-#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
-msgid "Help:"
-msgstr "Hilfe:"
+#: ../../mod/lockview.php:31
+msgid "Remote privacy information not available."
+msgstr "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar."
-#: ../../mod/help.php:69 ../../index.php:237
-msgid "Not Found"
-msgstr "Nicht gefunden"
+#: ../../mod/lockview.php:52
+msgid "Visible to:"
+msgstr "Sichtbar für:"
#: ../../mod/viewconnections.php:58
msgid "No connections."
@@ -6625,790 +7638,17 @@ msgstr "%ss Profil [%s] besuchen"
msgid "View Connnections"
msgstr "Zeige Verbindungen"
-#: ../../mod/removeaccount.php:30
-msgid ""
-"Account removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "Das Löschen von Konten innerhalb 48 Stunden nachdem deren Passwort geändert wurde ist nicht erlaubt."
-
-#: ../../mod/removeaccount.php:57
-msgid "Remove This Account"
-msgstr "Dieses Konto löschen"
-
-#: ../../mod/removeaccount.php:58
-msgid ""
-"This will completely remove this account including all its channels from the"
-" network. Once this has been done it is not recoverable."
-msgstr "Hiermit wird dieses Nutzerkonto einschließlich all seiner Kanäle komplett aus dem Netzwerk entfernt. Dieser Vorgang kann nicht rückgängig gemacht werden."
-
-#: ../../mod/removeaccount.php:59 ../../mod/removeme.php:59
-msgid "Please enter your password for verification:"
-msgstr "Bitte gib zur Bestätigung Dein Passwort ein:"
-
-#: ../../mod/removeaccount.php:60
-msgid ""
-"Remove this account, all its channels and all its channel clones from the "
-"network"
-msgstr "Dieses Konto, all seine Kanäle sowie alle Kanal-Klone aus dem Netzwerk löschen"
-
-#: ../../mod/removeaccount.php:60
-msgid ""
-"By default only the instances of the channels located on this hub will be "
-"removed from the network"
-msgstr "Standardmäßig werden nur die Kanalklone auf diesem RedMatrix-Hub aus dem Netzwerk entfernt"
-
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
-msgstr "Ungültiger Profil-Identifikator"
-
-#: ../../mod/profperm.php:110
-msgid "Profile Visibility Editor"
-msgstr "Profil-Sichtbarkeits-Editor"
-
-#: ../../mod/profperm.php:114
-msgid "Click on a contact to add or remove."
-msgstr "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen."
-
-#: ../../mod/profperm.php:123
-msgid "Visible To"
-msgstr "Sichtbar für"
-
-#: ../../mod/register.php:42
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal."
-
-#: ../../mod/register.php:48
-msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen."
-
-#: ../../mod/register.php:82
-msgid "Passwords do not match."
-msgstr "Passwörter stimmen nicht überein."
-
-#: ../../mod/register.php:115
-msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet."
-
-#: ../../mod/register.php:121
-msgid "Your registration is pending approval by the site owner."
-msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden."
-
-#: ../../mod/register.php:124
-msgid "Your registration can not be processed."
-msgstr "Deine Registrierung konnte nicht verarbeitet werden."
-
-#: ../../mod/register.php:161
-msgid "Registration on this site/hub is by approval only."
-msgstr "Anmeldungen auf diesem Server erfordern Zustimmung durch den Administrator"
-
-#: ../../mod/register.php:162
-msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
-msgstr "<a href=\"pubsites\">Registrierung auf einem anderen, angeschlossenen Server</a>"
-
-#: ../../mod/register.php:170
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal."
-
-#: ../../mod/register.php:181
-msgid "Terms of Service"
-msgstr "Nutzungsbedingungen"
-
-#: ../../mod/register.php:187
-#, php-format
-msgid "I accept the %s for this website"
-msgstr "Ich akzeptiere die %s für diese Webseite"
-
-#: ../../mod/register.php:189
-#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite"
-
-#: ../../mod/register.php:208
-msgid "Membership on this site is by invitation only."
-msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
-
-#: ../../mod/register.php:209
-msgid "Please enter your invitation code"
-msgstr "Bitte trage Deinen Einladungs-Code ein"
-
-#: ../../mod/register.php:212
-msgid "Your email address"
-msgstr "Ihre E-Mail Adresse"
-
-#: ../../mod/register.php:213
-msgid "Choose a password"
-msgstr "Passwort"
-
-#: ../../mod/register.php:214
-msgid "Please re-enter your password"
-msgstr "Bitte gib Dein Passwort noch einmal ein"
-
-#: ../../mod/network.php:79
-msgid "No such group"
-msgstr "Gruppe existiert nicht"
-
-#: ../../mod/network.php:118
-msgid "Search Results For:"
-msgstr "Suchergebnisse für:"
-
-#: ../../mod/network.php:172
-msgid "Collection is empty"
-msgstr "Sammlung ist leer"
-
-#: ../../mod/network.php:180
-msgid "Collection: "
-msgstr "Sammlung:"
-
-#: ../../mod/network.php:193
-msgid "Connection: "
-msgstr "Verbindung:"
-
-#: ../../mod/network.php:196
-msgid "Invalid connection."
-msgstr "Ungültige Verbindung."
-
-#: ../../mod/delegate.php:95
-msgid "No potential page delegates located."
-msgstr "Keine potentiellen Bevollmächtigten für die Seite gefunden."
-
-#: ../../mod/delegate.php:121
-msgid "Delegate Page Management"
-msgstr "Delegiere das Management für diese Seite"
-
-#: ../../mod/delegate.php:123
-msgid ""
-"Delegates are able to manage all aspects of this account/page except for "
-"basic account settings. Please do not delegate your personal account to "
-"anybody that you do not trust completely."
-msgstr "Bevollmächtigte sind in der Lage, alle Aspekte dieses Kontos/dieser Seite zu verwalten, abgesehen von den Grundeinstellungen des Kontos. Gib niemandem eine Bevollmächtigung für Deinen privaten Account, dem Du nicht absolut vertraust!"
-
-#: ../../mod/delegate.php:124
-msgid "Existing Page Managers"
-msgstr "Vorhandene Seitenmanager"
-
-#: ../../mod/delegate.php:126
-msgid "Existing Page Delegates"
-msgstr "Vorhandene Bevollmächtigte für die Seite"
-
-#: ../../mod/delegate.php:128
-msgid "Potential Delegates"
-msgstr "Potentielle Bevollmächtigte"
-
-#: ../../mod/delegate.php:131
-msgid "Add"
-msgstr "Hinzufügen"
-
-#: ../../mod/delegate.php:132
-msgid "No entries."
-msgstr "Keine Einträge."
-
-#: ../../mod/connect.php:55 ../../mod/connect.php:103
-msgid "Continue"
-msgstr "Fortfahren"
-
-#: ../../mod/connect.php:84
-msgid "Premium Channel Setup"
-msgstr "Premium-Kanal-Einrichtung"
-
-#: ../../mod/connect.php:86
-msgid "Enable premium channel connection restrictions"
-msgstr "Einschränkungen für einen Premium-Kanal aktivieren"
-
-#: ../../mod/connect.php:87
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Bitte gib Deine Nutzungsbedingungen ein, z.B. Paypal-Quittung, Richtlinien etc."
-
-#: ../../mod/connect.php:89 ../../mod/connect.php:109
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Unter Umständen sind weitere Schritte oder die Bestätigung der folgenden Bedingungen vor dem Verbinden mit diesem Kanal nötig."
-
-#: ../../mod/connect.php:90
-msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Potentielle Kontakte werden den folgenden Text sehen, bevor fortgefahren wird:"
-
-#: ../../mod/connect.php:91 ../../mod/connect.php:112
-msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "Indem ich fortfahre, bestätige ich die Erfüllung aller Anweisungen aus dieser Seite."
-
-#: ../../mod/connect.php:100
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)"
-
-#: ../../mod/connect.php:108
-msgid "Restricted or Premium Channel"
-msgstr "Eingeschränkter oder Premium-Kanal"
-
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Kontakt nicht gefunden"
-
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Freundschaftsempfehlung senden."
-
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Kontakte vorschlagen"
-
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Schlage %s einen Kontakt vor"
-
-#: ../../mod/manage.php:136
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet."
-
-#: ../../mod/manage.php:144
-msgid "Create a new channel"
-msgstr "Neuen Kanal anlegen"
-
-#: ../../mod/manage.php:149
-msgid "Current Channel"
-msgstr "Aktueller Kanal"
-
-#: ../../mod/manage.php:151
-msgid "Attach to one of your channels by selecting it."
-msgstr "Wähle einen Deiner Kanäle aus, um ihn zu verwenden."
-
-#: ../../mod/manage.php:152
-msgid "Default Channel"
-msgstr "Standard Kanal"
-
-#: ../../mod/manage.php:153
-msgid "Make Default"
-msgstr "Zum Standard machen"
-
-#: ../../mod/removeme.php:29
-msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "Innerhalb von 48 Stunden nach einer Änderung des Passworts können keine Kanäle gelöscht werden."
-
-#: ../../mod/removeme.php:57
-msgid "Remove This Channel"
-msgstr "Diesen Kanal löschen"
-
-#: ../../mod/removeme.php:58
-msgid ""
-"This will completely remove this channel from the network. Once this has "
-"been done it is not recoverable."
-msgstr "Hiermit wird dieser Kanal komplett aus dem Netzwerk gelöscht. Einmal eingeleitet kann dieser Prozess nicht rückgängig gemacht werden."
-
-#: ../../mod/removeme.php:60
-msgid "Remove this channel and all its clones from the network"
-msgstr "Lösche diesen Kanal und all seine Klone aus dem Netzwerk"
-
-#: ../../mod/removeme.php:60
-msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk"
-
-#: ../../mod/removeme.php:61
-msgid "Remove Channel"
-msgstr "Kanal löschen"
-
-#: ../../mod/editpost.php:20 ../../mod/editwebpage.php:32
-#: ../../mod/editblock.php:8 ../../mod/editblock.php:27
-#: ../../mod/editblock.php:53 ../../mod/editlayout.php:36
-msgid "Item not found"
-msgstr "Element nicht gefunden"
-
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Element kann nicht bearbeitet werden."
-
-#: ../../mod/editpost.php:42 ../../mod/rpost.php:97
-msgid "Edit post"
-msgstr "Bearbeite Beitrag"
-
-#: ../../mod/editpost.php:53
-msgid "Delete item?"
-msgstr "Eintrag löschen?"
-
-#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:147
-#: ../../mod/editblock.php:115 ../../mod/editlayout.php:110
-msgid "Insert YouTube video"
-msgstr "YouTube-Video einfügen"
-
-#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:148
-#: ../../mod/editblock.php:116 ../../mod/editlayout.php:111
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Vorbis [.ogg]-Video einfügen"
-
-#: ../../mod/editpost.php:118 ../../mod/editwebpage.php:149
-#: ../../mod/editblock.php:117 ../../mod/editlayout.php:112
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Vorbis [.ogg]-Audio einfügen"
-
-#: ../../mod/editwebpage.php:106
-msgid "Edit Webpage"
-msgstr "Webseite bearbeiten"
-
-#: ../../mod/editwebpage.php:116
-msgid "Delete webpage?"
-msgstr "Webseite löschen?"
-
-#: ../../mod/editwebpage.php:186
-msgid "Delete Webpage"
-msgstr "Webseite löschen"
-
-#: ../../mod/poke.php:159
-msgid "Poke/Prod"
-msgstr "Anstupsen/Knuffen"
-
-#: ../../mod/poke.php:160
-msgid "poke, prod or do other things to somebody"
-msgstr "Stupse Leute an oder mache anderes mit ihnen"
-
-#: ../../mod/poke.php:161
-msgid "Recipient"
-msgstr "Empfänger"
-
-#: ../../mod/poke.php:162
-msgid "Choose what you wish to do to recipient"
-msgstr "Wähle, was Du mit dem/r Empfänger/in tun willst"
-
-#: ../../mod/poke.php:165
-msgid "Make this post private"
-msgstr "Diesen Beitrag privat machen"
-
-#: ../../mod/blocks.php:62
-msgid "Block Name"
-msgstr "Block-Name"
-
-#: ../../mod/group.php:20
-msgid "Collection created."
-msgstr "Sammlung erstellt."
-
-#: ../../mod/group.php:26
-msgid "Could not create collection."
-msgstr "Sammlung kann nicht erstellt werden."
-
-#: ../../mod/group.php:54
-msgid "Collection updated."
-msgstr "Sammlung aktualisiert."
-
-#: ../../mod/group.php:86
-msgid "Create a collection of channels."
-msgstr "Erstelle eine Sammlung von Kanälen."
-
-#: ../../mod/group.php:87 ../../mod/group.php:183
-msgid "Collection Name: "
-msgstr "Name der Sammlung:"
-
-#: ../../mod/group.php:89 ../../mod/group.php:186
-msgid "Members are visible to other channels"
-msgstr "Mitglieder sind sichtbar für andere Kanäle"
-
-#: ../../mod/group.php:107
-msgid "Collection removed."
-msgstr "Sammlung gelöscht."
-
-#: ../../mod/group.php:109
-msgid "Unable to remove collection."
-msgstr "Löschen der Sammlung nicht möglich."
-
-#: ../../mod/group.php:182
-msgid "Collection Editor"
-msgstr "Sammlung-Editor"
-
-#: ../../mod/group.php:196
-msgid "Members"
-msgstr "Mitglieder"
-
-#: ../../mod/group.php:198
-msgid "All Connected Channels"
-msgstr "Alle verbundenen Kanäle"
-
-#: ../../mod/group.php:233
-msgid "Click on a channel to add or remove."
-msgstr "Wähle einen Kanal zum hinzufügen oder entfernen aus."
-
-#: ../../mod/tagrm.php:41
-msgid "Tag removed"
-msgstr "Schlagwort entfernt"
-
-#: ../../mod/tagrm.php:79
-msgid "Remove Item Tag"
-msgstr "Schlagwort entfernen"
-
-#: ../../mod/tagrm.php:81
-msgid "Select a tag to remove: "
-msgstr "Schlagwort zum Entfernen auswählen:"
-
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Element nicht verfügbar."
-
-#: ../../mod/service_limits.php:19
-msgid "No service class restrictions found."
-msgstr "Keine Dienstklassenbeschränkungen gefunden."
-
-#: ../../mod/item.php:150
-msgid "Unable to locate original post."
-msgstr "Originalbeitrag nicht gefunden."
-
-#: ../../mod/item.php:383
-msgid "Empty post discarded."
-msgstr "Leeren Beitrag verworfen."
-
-#: ../../mod/item.php:425
-msgid "Executable content type not permitted to this channel."
-msgstr "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben."
-
-#: ../../mod/item.php:855
-msgid "System error. Post not saved."
-msgstr "Systemfehler. Beitrag nicht gespeichert."
-
-#: ../../mod/item.php:1324
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht."
-
-#: ../../mod/item.php:1330
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht."
-
-#: ../../mod/cloud.php:130
-msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
-msgstr "RedMatrix – Gäste: Username: {Deine E-Mail-Adresse}, Passwort: +++"
-
-#: ../../mod/chatsvc.php:111
-msgid "Away"
-msgstr "Abwesend"
-
-#: ../../mod/chatsvc.php:115
-msgid "Online"
-msgstr "Online"
-
-#: ../../mod/directory.php:223
-msgid "Finding:"
-msgstr "Ergebnisse:"
-
-#: ../../mod/directory.php:228
-msgid "next page"
-msgstr "nächste Seite"
-
-#: ../../mod/directory.php:228
-msgid "previous page"
-msgstr "vorherige Seite"
-
-#: ../../mod/directory.php:245
-msgid "No entries (some entries may be hidden)."
-msgstr "Keine Einträge gefunden (einige könnten versteckt sein)."
-
-#: ../../mod/match.php:16
-msgid "Profile Match"
-msgstr "Profil-Ãœbereinstimmungen"
-
-#: ../../mod/match.php:24
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu."
-
-#: ../../mod/match.php:61
-msgid "is interested in:"
-msgstr "interessiert sich für:"
-
-#: ../../mod/match.php:69
-msgid "No matches"
-msgstr "Keine Ãœbereinstimmungen"
-
-#: ../../mod/dirsearch.php:21
-msgid "This site is not a directory server"
-msgstr "Diese Website ist kein Verzeichnis-Server"
-
-#: ../../mod/siteinfo.php:90
-#, php-format
-msgid "Version %s"
-msgstr "Version %s"
-
-#: ../../mod/siteinfo.php:111
-msgid "Installed plugins/addons/apps:"
-msgstr "Installierte Plugins/Addons/Apps"
-
-#: ../../mod/siteinfo.php:124
-msgid "No installed plugins/addons/apps"
-msgstr "Keine installierten Plugins/Addons/Apps"
-
-#: ../../mod/siteinfo.php:132
-msgid "Red"
-msgstr "Red"
-
-#: ../../mod/siteinfo.php:133
-msgid ""
-"This is a hub of the Red Matrix - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Dieser Hub ist Teil der RedMatrix – eines globalen, kooperativen Netzwerks aus dezentralen Websites, die Rücksicht auf Deine Privatsphäre nehmen."
-
-#: ../../mod/siteinfo.php:137
-msgid "Running at web location"
-msgstr "Erreichbar unter der Web-Adresse"
-
-#: ../../mod/siteinfo.php:138
-msgid ""
-"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
-"about the Red Matrix."
-msgstr "Besuche <a href=\"http://getzot.com\">GetZot.com</a>, um mehr über die Red-Matrix zu erfahren."
-
-#: ../../mod/siteinfo.php:139
-msgid "Bug reports and issues: please visit"
-msgstr "Probleme oder Fehler gefunden? Bitte besuche"
-
-#: ../../mod/siteinfo.php:142
-msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Vorschläge, Lob, usw.: E-Mail an 'redmatrix' at librelist - dot - com"
-
-#: ../../mod/siteinfo.php:144
-msgid "Site Administrators"
-msgstr "Administratoren"
-
-#: ../../mod/appman.php:28 ../../mod/appman.php:44
-msgid "App installed."
-msgstr "App installiert."
-
-#: ../../mod/appman.php:37
-msgid "Malformed app."
-msgstr "Fehlerhafte App."
-
-#: ../../mod/appman.php:80
-msgid "Embed code"
-msgstr "Code einbetten"
-
-#: ../../mod/appman.php:86
-msgid "Edit App"
-msgstr "App bearbeiten"
-
-#: ../../mod/appman.php:86
-msgid "Create App"
-msgstr "App erstellen"
-
-#: ../../mod/appman.php:91
-msgid "Name of app"
-msgstr "Name der App"
-
-#: ../../mod/appman.php:91 ../../mod/appman.php:92 ../../mod/events.php:562
-#: ../../mod/events.php:581
-msgid "Required"
-msgstr "Benötigt"
-
-#: ../../mod/appman.php:92
-msgid "Location (URL) of app"
-msgstr "Ort (URL) der App"
-
-#: ../../mod/appman.php:94
-msgid "Photo icon URL"
-msgstr "URL zum Icon"
-
-#: ../../mod/appman.php:94
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 Pixel – optional"
-
-#: ../../mod/appman.php:95
-msgid "Version ID"
-msgstr "Versions-ID"
-
-#: ../../mod/appman.php:96
-msgid "Price of app"
-msgstr "Preis der App"
-
-#: ../../mod/appman.php:97
-msgid "Location (URL) to purchase app"
-msgstr "Ort (URL), um die App zu kaufen"
-
-#: ../../mod/sources.php:32
-msgid "Failed to create source. No channel selected."
-msgstr "Konnte die Quelle nicht anlegen. Kein Kanal ausgewählt."
-
-#: ../../mod/sources.php:45
-msgid "Source created."
-msgstr "Quelle erstellt."
-
-#: ../../mod/sources.php:57
-msgid "Source updated."
-msgstr "Quelle aktualisiert."
-
-#: ../../mod/sources.php:82
-msgid "*"
-msgstr "*"
-
-#: ../../mod/sources.php:89
-msgid "Manage remote sources of content for your channel."
-msgstr "Quellen von Inhalten Deines Kanals verwalten."
-
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
-msgid "New Source"
-msgstr "Neue Quelle"
-
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
-msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importiere alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteile sie gemäß der Einstellungen dieses Kanals."
-
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Only import content with these words (one per line)"
-msgstr "Importiere nur Beiträge, die folgende Wörter (eines pro Zeile) enthalten"
-
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Leave blank to import all public content"
-msgstr "Leer lassen, um alle öffentlichen Beiträge zu importieren"
-
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
-msgid "Source not found."
-msgstr "Quelle nicht gefunden."
-
-#: ../../mod/sources.php:130
-msgid "Edit Source"
-msgstr "Quelle bearbeiten"
-
-#: ../../mod/sources.php:131
-msgid "Delete Source"
-msgstr "Quelle löschen"
-
-#: ../../mod/sources.php:158
-msgid "Source removed"
-msgstr "Quelle gelöscht"
-
-#: ../../mod/sources.php:160
-msgid "Unable to remove source."
-msgstr "Konnte die Quelle nicht löschen."
-
-#: ../../mod/pubsites.php:16
-msgid "Public Sites"
-msgstr "Öffentliche Server"
-
-#: ../../mod/pubsites.php:19
-msgid ""
-"The listed sites allow public registration into the Red Matrix. All sites in"
-" the matrix are interlinked so membership on any of them conveys membership "
-"in the matrix as a whole. Some sites may require subscription or provide "
-"tiered service plans. The provider links <strong>may</strong> provide "
-"additional details."
-msgstr "Die hier aufgeführten Server erlauben Dir, einen Account in der Red-Matrix anzulegen. Alle Server der Matrix sind miteinander verbunden, so dass die Mitgliedschaft auf einem Server eine Verbindung zu beliebigen anderen Servern der Matrix ermöglicht. Es könnte sein, dass einige dieser Server kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den jeweiligen Seiten <strong>könnten</strong> nähere Details dazu stehen."
-
-#: ../../mod/pubsites.php:25
-msgid "Site URL"
-msgstr "Server-URL"
-
-#: ../../mod/pubsites.php:25
-msgid "Access Type"
-msgstr "Zugangstyp"
-
-#: ../../mod/pubsites.php:25
-msgid "Registration Policy"
-msgstr "Registrierungsrichtlinien"
-
-#: ../../mod/pubsites.php:25 ../../mod/profiles.php:440
-msgid "Location"
-msgstr "Ort"
-
-#: ../../mod/import.php:25
-#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "Dein Vertrag erlaubt nur %d Kanäle."
-
-#: ../../mod/import.php:51
-msgid "Nothing to import."
-msgstr "Nichts zu importieren."
-
-#: ../../mod/import.php:75
-msgid "Unable to download data from old server"
-msgstr "Daten können vom alten Server nicht heruntergeladen werden"
-
-#: ../../mod/import.php:81
-msgid "Imported file is empty."
-msgstr "Die importierte Datei ist leer."
-
-#: ../../mod/import.php:105
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen."
-
-#: ../../mod/import.php:123
-msgid "Channel clone failed. Import failed."
-msgstr "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen."
-
-#: ../../mod/import.php:133
-msgid "Cloned channel not found. Import failed."
-msgstr "Geklonter Kanal nicht gefunden. Import fehlgeschlagen."
-
-#: ../../mod/import.php:451
-msgid "Import completed."
-msgstr "Import abgeschlossen."
-
-#: ../../mod/import.php:463
-msgid "You must be logged in to use this feature."
-msgstr "Du musst angemeldet sein um diese Funktion zu nutzen."
-
-#: ../../mod/import.php:468
-msgid "Import Channel"
-msgstr "Kanal importieren"
-
-#: ../../mod/import.php:469
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file. Only identity and connections/relationships will "
-"be imported. Importation of content is not yet available."
-msgstr "Verwende dieses Formular, um einen existierenden Kanal von einem anderen Red-Server zu importieren. Du kannst den Kanal direkt vom bisherigen Red-Server über das Netzwerk importieren oder eine exportierte Sicherheitskopie benutzen. Es werden ausschließlich die Identität und die Verbindungen/Beziehungen importiert. Das Importieren von Inhalten ist derzeit nicht möglich."
-
-#: ../../mod/import.php:470
-msgid "File to Upload"
-msgstr "Hochzuladende Datei:"
-
-#: ../../mod/import.php:471
-msgid "Or provide the old server/hub details"
-msgstr "Oder gib die Details Deines bisherigen Red-Servers ein"
-
-#: ../../mod/import.php:472
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Bisherige Kanal-Adresse (xyz@example.com)"
-
-#: ../../mod/import.php:473
-msgid "Your old login email address"
-msgstr "Deine alte Login-E-Mail-Adresse"
-
-#: ../../mod/import.php:474
-msgid "Your old login password"
-msgstr "Dein altes Passwort"
-
-#: ../../mod/import.php:475
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Egal welche Option Du wählst, bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige Red-Server diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein."
-
-#: ../../mod/import.php:476
-msgid "Make this hub my primary location"
-msgstr "Dieser Red-Server ist mein primärer Server."
+#: ../../mod/magic.php:70
+msgid "Hub not found."
+msgstr "Server nicht gefunden."
-#: ../../mod/import.php:477
-msgid "Import existing posts if possible"
-msgstr "Existierende Beiträge importieren, falls möglich"
+#: ../../mod/vote.php:97
+msgid "Total votes"
+msgstr "Stimmen gesamt"
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
-msgstr "Ungültige Signatur des Ziels"
+#: ../../mod/vote.php:98
+msgid "Average Rating"
+msgstr "Durchschnittliche Bewertung"
#: ../../mod/mail.php:33
msgid "Unable to lookup recipient."
@@ -7470,6 +7710,10 @@ msgstr "Die Nachricht wurde widerrufen."
msgid "Private Conversation"
msgstr "Private Unterhaltung"
+#: ../../mod/mail.php:329 ../../mod/message.php:72
+msgid "Delete conversation"
+msgstr "Unterhaltung löschen"
+
#: ../../mod/mail.php:331
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
@@ -7480,579 +7724,619 @@ msgstr "Keine sichere Kommunikation verfügbar. <strong>Eventuell</strong> kanns
msgid "Send Reply"
msgstr "Antwort senden"
-#: ../../mod/channel.php:25 ../../mod/chat.php:19
-msgid "You must be logged in to see this page."
-msgstr "Du musst angemeldet sein, um diese Seite betrachten zu können."
+#: ../../mod/wall_upload.php:34
+msgid "Wall Photos"
+msgstr "Wall Fotos"
-#: ../../mod/channel.php:86
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet."
+#: ../../mod/match.php:16
+msgid "Profile Match"
+msgstr "Profil-Ãœbereinstimmungen"
-#: ../../mod/profiles.php:18 ../../mod/profiles.php:165
-#: ../../mod/profiles.php:222 ../../mod/profiles.php:575
-msgid "Profile not found."
-msgstr "Profil nicht gefunden."
+#: ../../mod/match.php:24
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu."
-#: ../../mod/profiles.php:38
-msgid "Profile deleted."
-msgstr "Profil gelöscht."
+#: ../../mod/match.php:61
+msgid "is interested in:"
+msgstr "interessiert sich für:"
-#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
-msgid "Profile-"
-msgstr "Profil-"
+#: ../../mod/match.php:69
+msgid "No matches"
+msgstr "Keine Ãœbereinstimmungen"
-#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
-msgid "New profile created."
-msgstr "Neues Profil erstellt."
+#: ../../mod/menu.php:31
+msgid "Menu updated."
+msgstr "Menü aktualisiert."
-#: ../../mod/profiles.php:98
-msgid "Profile unavailable to clone."
-msgstr "Profil kann nicht geklont werden."
+#: ../../mod/menu.php:35
+msgid "Unable to update menu."
+msgstr "Kann Menü nicht aktualisieren."
-#: ../../mod/profiles.php:136
-msgid "Profile unavailable to export."
-msgstr "Dieses Profil kann nicht exportiert werden."
+#: ../../mod/menu.php:40
+msgid "Menu created."
+msgstr "Menü erstellt."
-#: ../../mod/profiles.php:232
-msgid "Profile Name is required."
-msgstr "Profil-Name erforderlich."
+#: ../../mod/menu.php:44
+msgid "Unable to create menu."
+msgstr "Kann Menü nicht erstellen."
-#: ../../mod/profiles.php:390
-msgid "Marital Status"
-msgstr "Familienstand"
+#: ../../mod/menu.php:76
+msgid "Manage Menus"
+msgstr "Menüs verwalten"
-#: ../../mod/profiles.php:394
-msgid "Romantic Partner"
-msgstr "Romantische Partner"
+#: ../../mod/menu.php:79
+msgid "Drop"
+msgstr "Löschen"
-#: ../../mod/profiles.php:398
-msgid "Likes"
-msgstr "Gefällt"
+#: ../../mod/menu.php:81
+msgid "Bookmarks allowed"
+msgstr "Lesezeichen erlaubt"
-#: ../../mod/profiles.php:402
-msgid "Dislikes"
-msgstr "Gefällt nicht"
+#: ../../mod/menu.php:82
+msgid "Create a new menu"
+msgstr "Neues Menü erstellen"
-#: ../../mod/profiles.php:406
-msgid "Work/Employment"
-msgstr "Arbeit/Anstellung"
+#: ../../mod/menu.php:83
+msgid "Delete this menu"
+msgstr "Lösche dieses Menü"
-#: ../../mod/profiles.php:409
-msgid "Religion"
-msgstr "Religion"
+#: ../../mod/menu.php:84 ../../mod/menu.php:125
+msgid "Edit menu contents"
+msgstr "Bearbeite Menü Inhalte"
-#: ../../mod/profiles.php:413
-msgid "Political Views"
-msgstr "Politische Ansichten"
+#: ../../mod/menu.php:85
+msgid "Edit this menu"
+msgstr "Dieses Menü bearbeiten"
-#: ../../mod/profiles.php:417
-msgid "Gender"
-msgstr "Geschlecht"
+#: ../../mod/menu.php:96
+msgid "New Menu"
+msgstr "Neues Menü"
-#: ../../mod/profiles.php:421
-msgid "Sexual Preference"
-msgstr "Sexuelle Orientierung"
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
+msgid "Menu name"
+msgstr "Menü Name"
-#: ../../mod/profiles.php:425
-msgid "Homepage"
-msgstr "Webseite"
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
+msgid "Must be unique, only seen by you"
+msgstr "Muss eindeutig sein, ist aber nur für Dich sichtbar"
-#: ../../mod/profiles.php:429
-msgid "Interests"
-msgstr "Hobbys/Interessen"
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
+msgid "Menu title"
+msgstr "Menü Titel"
-#: ../../mod/profiles.php:523
-msgid "Profile updated."
-msgstr "Profil aktualisiert."
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
+msgid "Menu title as seen by others"
+msgstr "Menü Titel wie er von anderen gesehen wird"
-#: ../../mod/profiles.php:600
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Deine Kontaktliste vor Betrachtern dieses Profils verbergen?"
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Allow bookmarks"
+msgstr "Erlaube Lesezeichen"
-#: ../../mod/profiles.php:642
-msgid "Edit Profile Details"
-msgstr "Bearbeite Profil-Details"
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Im Menü können gespeicherte Lesezeichen abgelegt werden"
-#: ../../mod/profiles.php:644
-msgid "View this profile"
-msgstr "Dieses Profil ansehen"
+#: ../../mod/menu.php:114
+msgid "Menu deleted."
+msgstr "Menü gelöscht."
-#: ../../mod/profiles.php:646
-msgid "Change Profile Photo"
-msgstr "Profilfoto ändern"
+#: ../../mod/menu.php:116
+msgid "Menu could not be deleted."
+msgstr "Menü konnte nicht gelöscht werden."
-#: ../../mod/profiles.php:647
-msgid "Create a new profile using these settings"
-msgstr "Neues Profil anlegen und diese Einstellungen übernehmen"
+#: ../../mod/menu.php:122
+msgid "Edit Menu"
+msgstr "Menü bearbeiten"
-#: ../../mod/profiles.php:648
-msgid "Clone this profile"
-msgstr "Dieses Profil klonen"
+#: ../../mod/menu.php:124
+msgid "Add or remove entries to this menu"
+msgstr "Einträge zu diesem Menü hinzufügen oder entfernen"
-#: ../../mod/profiles.php:649
-msgid "Delete this profile"
-msgstr "Dieses Profil löschen"
+#: ../../mod/message.php:41
+msgid "Conversation removed."
+msgstr "Unterhaltung gelöscht."
-#: ../../mod/profiles.php:651
-msgid "Import profile from file"
-msgstr "Profil aus einer Datei importieren"
+#: ../../mod/message.php:56
+msgid "No messages."
+msgstr "Keine Nachrichten."
-#: ../../mod/profiles.php:652
-msgid "Export profile to file"
-msgstr "Profil in eine Datei exportieren"
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
+msgstr "D, d. M Y - G:i"
-#: ../../mod/profiles.php:653
-msgid "Profile Name:"
-msgstr "Profilname:"
+#: ../../mod/new_channel.php:109
+msgid "Add a Channel"
+msgstr "Kanal hinzufügen"
-#: ../../mod/profiles.php:654
-msgid "Your Full Name:"
-msgstr "Dein voller Name:"
+#: ../../mod/new_channel.php:110
+msgid ""
+"A channel is your own collection of related web pages. A channel can be used"
+" to hold social network profiles, blogs, conversation groups and forums, "
+"celebrity pages, and much more. You may create as many channels as your "
+"service provider allows."
+msgstr "Ein Kanal ist Deine eigene Sammlung von verbundenen Webseiten. Ein Kanal kann genutzt werden, um ein Social-Network-Profil, ein Blog, eine Gesprächsgruppe oder ein Forum, Promi-Seiten und vieles mehr zu erstellen. Du kannst so viele Kanäle erstellen, wie es der Betreiber Deiner Seite zulässt."
-#: ../../mod/profiles.php:655
-msgid "Title/Description:"
-msgstr "Titel/Stellenbeschreibung:"
+#: ../../mod/new_channel.php:113
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
+msgstr "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ "
-#: ../../mod/profiles.php:656
-msgid "Your Gender:"
-msgstr "Dein Geschlecht:"
+#: ../../mod/new_channel.php:114
+msgid "Choose a short nickname"
+msgstr "Wähle einen kurzen Spitznamen"
-#: ../../mod/profiles.php:657
+#: ../../mod/new_channel.php:115
+msgid ""
+"Your nickname will be used to create an easily remembered channel address "
+"(like an email address) which you can share with others."
+msgstr "Dein Spitzname wird verwendet, um eine leicht zu merkende Kanal-Adresse (ähnlich einer E-Mail-Adresse) zu erzeugen, die Du mit anderen austauschen kannst."
+
+#: ../../mod/new_channel.php:116
+msgid "Or <a href=\"import\">import an existing channel</a> from another location"
+msgstr "Oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server"
+
+#: ../../mod/new_channel.php:118
+msgid "Channel Type"
+msgstr "Kanaltyp"
+
+#: ../../mod/new_channel.php:119
+msgid ""
+"Please choose a channel type (such as social networking or community forum) "
+"and privacy requirements so we can select the best permissions for you"
+msgstr "Wähle einen Kanaltyp (wie Soziales Netzwerk oder Forum) und Privatsphäre-Vorgaben, so dass wir die passenden Kanal-Zugriffsrechte für Dich setzen können"
+
+#: ../../mod/home.php:46
+msgid "Red Matrix - &quot;The Network&quot;"
+msgstr "RedMatrix – &quot;Das Netzwerk&quot;"
+
+#: ../../mod/home.php:101
#, php-format
-msgid "Birthday (%s):"
-msgstr "Geburtstag (%s):"
+msgid "Welcome to %s"
+msgstr "Willkommen auf %s"
-#: ../../mod/profiles.php:658
-msgid "Street Address:"
-msgstr "Straße und Hausnummer:"
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
+msgstr "Ungültiger Anfrage-Identifikator."
-#: ../../mod/profiles.php:659
-msgid "Locality/City:"
-msgstr "Wohnort:"
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr "Verwerfen"
-#: ../../mod/profiles.php:660
-msgid "Postal/Zip Code:"
-msgstr "Postleitzahl:"
+#: ../../mod/notifications.php:94 ../../mod/notify.php:53
+msgid "No more system notifications."
+msgstr "Keine System-Benachrichtigungen mehr."
-#: ../../mod/profiles.php:661
-msgid "Country:"
-msgstr "Land:"
+#: ../../mod/notifications.php:98 ../../mod/notify.php:57
+msgid "System Notifications"
+msgstr "System-Benachrichtigungen"
-#: ../../mod/profiles.php:662
-msgid "Region/State:"
-msgstr "Region/Bundesstaat:"
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
+msgstr "Xchan-Suche"
-#: ../../mod/profiles.php:663
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Beziehungsstatus:"
+#: ../../mod/xchan.php:9
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Nach xchans oder Webbies (Kanal-Adressen) suchen, die wie folgt beginnen:"
-#: ../../mod/profiles.php:664
-msgid "Who: (if applicable)"
-msgstr "Wer: (falls anwendbar)"
+#: ../../mod/oexchange.php:23
+msgid "Unable to find your hub."
+msgstr "Konnte Deinen Server nicht finden."
-#: ../../mod/profiles.php:665
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com"
+#: ../../mod/oexchange.php:37
+msgid "Post successful."
+msgstr "Veröffentlichung erfolgreich."
-#: ../../mod/profiles.php:666
-msgid "Since [date]:"
-msgstr "Seit [Datum]:"
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
+msgstr "Ungültige Signatur des Ziels"
-#: ../../mod/profiles.php:668
-msgid "Homepage URL:"
-msgstr "Homepage URL:"
+#: ../../mod/appman.php:28 ../../mod/appman.php:44
+msgid "App installed."
+msgstr "App installiert."
-#: ../../mod/profiles.php:671
-msgid "Religious Views:"
-msgstr "Religiöse Ansichten:"
+#: ../../mod/appman.php:37
+msgid "Malformed app."
+msgstr "Fehlerhafte App."
-#: ../../mod/profiles.php:672
-msgid "Keywords:"
-msgstr "Schlüsselwörter:"
+#: ../../mod/appman.php:80
+msgid "Embed code"
+msgstr "Code einbetten"
-#: ../../mod/profiles.php:675
-msgid "Example: fishing photography software"
-msgstr "Beispiel: Angeln Fotografie Software"
+#: ../../mod/appman.php:86
+msgid "Edit App"
+msgstr "App bearbeiten"
-#: ../../mod/profiles.php:676
-msgid "Used in directory listings"
-msgstr "Wird in Verzeichnis-Auflistungen verwendet"
+#: ../../mod/appman.php:86
+msgid "Create App"
+msgstr "App erstellen"
-#: ../../mod/profiles.php:677
-msgid "Tell us about yourself..."
-msgstr "Erzähle uns ein wenig von Dir …"
+#: ../../mod/appman.php:91
+msgid "Name of app"
+msgstr "Name der App"
-#: ../../mod/profiles.php:678
-msgid "Hobbies/Interests"
-msgstr "Hobbys/Interessen"
+#: ../../mod/appman.php:92
+msgid "Location (URL) of app"
+msgstr "Ort (URL) der App"
-#: ../../mod/profiles.php:679
-msgid "Contact information and Social Networks"
-msgstr "Kontaktinformation und soziale Netzwerke"
+#: ../../mod/appman.php:94
+msgid "Photo icon URL"
+msgstr "URL zum Icon"
-#: ../../mod/profiles.php:680
-msgid "My other channels"
-msgstr "Meine anderen Kanäle"
+#: ../../mod/appman.php:94
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 Pixel – optional"
-#: ../../mod/profiles.php:681
-msgid "Musical interests"
-msgstr "Musikalische Interessen"
+#: ../../mod/appman.php:95
+msgid "Version ID"
+msgstr "Versions-ID"
-#: ../../mod/profiles.php:682
-msgid "Books, literature"
-msgstr "Bücher, Literatur"
+#: ../../mod/appman.php:96
+msgid "Price of app"
+msgstr "Preis der App"
-#: ../../mod/profiles.php:683
-msgid "Television"
-msgstr "Fernsehen"
+#: ../../mod/appman.php:97
+msgid "Location (URL) to purchase app"
+msgstr "Ort (URL), um die App zu kaufen"
-#: ../../mod/profiles.php:684
-msgid "Film/dance/culture/entertainment"
-msgstr "Film/Tanz/Kultur/Unterhaltung"
+#: ../../mod/poll.php:64
+msgid "Poll"
+msgstr "Umfrage"
-#: ../../mod/profiles.php:685
-msgid "Love/romance"
-msgstr "Liebe/Romantik"
+#: ../../mod/poll.php:69
+msgid "View Results"
+msgstr "Ergebnisse"
-#: ../../mod/profiles.php:686
-msgid "Work/employment"
-msgstr "Arbeit/Anstellung"
+#: ../../mod/removeaccount.php:30
+msgid ""
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Das Löschen von Konten innerhalb 48 Stunden nachdem deren Passwort geändert wurde ist nicht erlaubt."
-#: ../../mod/profiles.php:687
-msgid "School/education"
-msgstr "Schule/Ausbildung"
+#: ../../mod/removeaccount.php:57
+msgid "Remove This Account"
+msgstr "Dieses Konto löschen"
-#: ../../mod/profiles.php:693
-msgid "This is your default profile."
-msgstr "Das ist Dein Standardprofil"
+#: ../../mod/removeaccount.php:58
+msgid ""
+"This will completely remove this account including all its channels from the"
+" network. Once this has been done it is not recoverable."
+msgstr "Hiermit wird dieses Nutzerkonto einschließlich all seiner Kanäle komplett aus dem Netzwerk entfernt. Dieser Vorgang kann nicht rückgängig gemacht werden."
-#: ../../mod/profiles.php:747
-msgid "Edit/Manage Profiles"
-msgstr "Profile bearbeiten/verwalten"
+#: ../../mod/removeaccount.php:60
+msgid ""
+"Remove this account, all its channels and all its channel clones from the "
+"network"
+msgstr "Dieses Konto, all seine Kanäle sowie alle Kanal-Klone aus dem Netzwerk löschen"
-#: ../../mod/profiles.php:748
-msgid "Add profile things"
-msgstr "Sachen zum Profil hinzufügen"
+#: ../../mod/removeaccount.php:60
+msgid ""
+"By default only the instances of the channels located on this hub will be "
+"removed from the network"
+msgstr "Standardmäßig werden nur die Kanalklone auf diesem RedMatrix-Hub aus dem Netzwerk entfernt"
-#: ../../mod/profiles.php:749
-msgid "Include desirable objects in your profile"
-msgstr "Binde begehrenswerte Dinge in Dein Profil ein"
+#: ../../mod/service_limits.php:19
+msgid "No service class restrictions found."
+msgstr "Keine Dienstklassenbeschränkungen gefunden."
-#: ../../mod/bookmarks.php:38
-msgid "Bookmark added"
-msgstr "Lesezeichen hinzugefügt"
+#: ../../view/theme/apw/php/config.php:202
+#: ../../view/theme/apw/php/config.php:236
+msgid "Schema Default"
+msgstr "Standard-Schema"
-#: ../../mod/bookmarks.php:60
-msgid "My Bookmarks"
-msgstr "Meine Lesezeichen"
+#: ../../view/theme/apw/php/config.php:203
+msgid "Sans-Serif"
+msgstr "Sans-Serif"
-#: ../../mod/bookmarks.php:71
-msgid "My Connections Bookmarks"
-msgstr "Lesezeichen meiner Kontakte"
+#: ../../view/theme/apw/php/config.php:204
+msgid "Monospace"
+msgstr "Monospace"
-#: ../../mod/common.php:10
-msgid "No channel."
-msgstr "Kein Kanal."
+#: ../../view/theme/apw/php/config.php:259
+#: ../../view/theme/blogga/php/config.php:69
+#: ../../view/theme/blogga/view/theme/blog/config.php:69
+#: ../../view/theme/redbasic/php/config.php:102
+msgid "Theme settings"
+msgstr "Theme-Einstellungen"
-#: ../../mod/common.php:39
-msgid "Common connections"
-msgstr "Gemeinsame Verbindungen"
+#: ../../view/theme/apw/php/config.php:260
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Set scheme"
+msgstr "Schema"
-#: ../../mod/common.php:44
-msgid "No connections in common."
-msgstr "Keine gemeinsamen Verbindungen."
+#: ../../view/theme/apw/php/config.php:261
+#: ../../view/theme/redbasic/php/config.php:124
+msgid "Set font-size for posts and comments"
+msgstr "Schriftgröße für Beiträge und Kommentare"
-#: ../../mod/like.php:15
-msgid "Like/Dislike"
-msgstr "Mögen/Nicht mögen"
+#: ../../view/theme/apw/php/config.php:262
+msgid "Set font face"
+msgstr "Schriftart"
-#: ../../mod/like.php:20
-msgid "This action is restricted to members."
-msgstr "Diese Aktion kann nur von Mitgliedern ausgeführt werden."
+#: ../../view/theme/apw/php/config.php:263
+msgid "Set iconset"
+msgstr "Iconset"
-#: ../../mod/like.php:21
-msgid ""
-"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
-"href=\"register\">register as a new RedMatrix member</a> to continue."
-msgstr "Bitte <a href=\"rmagic\">melde Dich mit Deiner RedMatrix-ID an</a> oder <a href=\"register\">registriere Dich als neues Mitglied der RedMatrix</a>, um fortzufahren."
+#: ../../view/theme/apw/php/config.php:264
+msgid "Set big shadow size, default 15px 15px 15px"
+msgstr "Ausmaß der großen Schatten (Default 15px 15px 15px)"
-#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
-msgid "Invalid request."
-msgstr "Ungültige Anfrage."
+#: ../../view/theme/apw/php/config.php:265
+msgid "Set small shadow size, default 5px 5px 5px"
+msgstr "Ausmaß der kleinen Schatten (Default 5px 5px 5px)"
-#: ../../mod/like.php:119
-msgid "thing"
-msgstr "Sache"
+#: ../../view/theme/apw/php/config.php:266
+msgid "Set shadow color, default #000"
+msgstr "Farbe der Schatten (Default #000)"
-#: ../../mod/like.php:165
-msgid "Channel unavailable."
-msgstr "Kanal nicht vorhanden."
+#: ../../view/theme/apw/php/config.php:267
+msgid "Set radius size, default 5px"
+msgstr "Ecken-Radius (Default 5px)"
-#: ../../mod/like.php:204
-msgid "Previous action reversed."
-msgstr "Die vorherige Aktion wurde rückgängig gemacht."
+#: ../../view/theme/apw/php/config.php:268
+msgid "Set line-height for posts and comments"
+msgstr "Zeilenhöhe in Beiträgen und Kommentaren"
-#: ../../mod/like.php:417
-msgid "Action completed."
-msgstr "Aktion durchgeführt."
+#: ../../view/theme/apw/php/config.php:269
+msgid "Set background image"
+msgstr "Hintergrundbild"
-#: ../../mod/like.php:418
-msgid "Thank you."
-msgstr "Vielen Dank."
+#: ../../view/theme/apw/php/config.php:270
+msgid "Set background attachment"
+msgstr "Hintergrunddatei"
-#: ../../mod/notify.php:53 ../../mod/notifications.php:94
-msgid "No more system notifications."
-msgstr "Keine System-Benachrichtigungen mehr."
+#: ../../view/theme/apw/php/config.php:271
+msgid "Set background color"
+msgstr "Hintergrundfarbe"
-#: ../../mod/notify.php:57 ../../mod/notifications.php:98
-msgid "System Notifications"
-msgstr "System-Benachrichtigungen"
+#: ../../view/theme/apw/php/config.php:272
+msgid "Set section background image"
+msgstr "Hintergrundbild für die Section"
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
-msgstr "Zugriff für die Anwendung autorisieren"
+#: ../../view/theme/apw/php/config.php:273
+msgid "Set section background color"
+msgstr "Hintergrundfarbe für die Section"
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Trage folgenden Sicherheitscode in der Anwendung ein:"
+#: ../../view/theme/apw/php/config.php:274
+msgid "Set color of items - use hex"
+msgstr "Farbe für Beiträge – Hex benutzen"
-#: ../../mod/api.php:89
-msgid "Please login to continue."
-msgstr "Zum Weitermachen, bitte einloggen."
+#: ../../view/theme/apw/php/config.php:275
+msgid "Set color of links - use hex"
+msgstr "Farbe für Links – Hex benutzen"
-#: ../../mod/api.php:104
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?"
+#: ../../view/theme/apw/php/config.php:276
+msgid "Set max-width for items. Default 400px"
+msgstr "Maximale Breite von Beiträgen (Default 400px)"
-#: ../../mod/chat.php:167
-msgid "Room not found"
-msgstr "Chatraum nicht gefunden"
+#: ../../view/theme/apw/php/config.php:277
+msgid "Set min-width for items. Default 240px"
+msgstr "Minimale Breite von Beiträgen (Default 240px)"
-#: ../../mod/chat.php:178
-msgid "Leave Room"
-msgstr "Raum verlassen"
+#: ../../view/theme/apw/php/config.php:278
+msgid "Set the generic content wrapper width. Default 48%"
+msgstr "Breite des \"generic content wrapper\" (Default 48%)"
-#: ../../mod/chat.php:179
-msgid "Delete This Room"
-msgstr "Diesen Raum löschen"
+#: ../../view/theme/apw/php/config.php:279
+msgid "Set color of fonts - use hex"
+msgstr "Schriftfarbe – Hex benutzen"
-#: ../../mod/chat.php:180
-msgid "I am away right now"
-msgstr "Ich bin gerade nicht da"
+#: ../../view/theme/apw/php/config.php:280
+msgid "Set background-size element"
+msgstr "Größe des Hintergrund-Elements"
-#: ../../mod/chat.php:181
-msgid "I am online"
-msgstr "Ich bin online"
+#: ../../view/theme/apw/php/config.php:281
+msgid "Item opacity"
+msgstr "Deckkraft der Beiträge"
-#: ../../mod/chat.php:183
-msgid "Bookmark this room"
-msgstr "Lesezeichen für diesen Raum setzen"
+#: ../../view/theme/apw/php/config.php:282
+msgid "Display post previews only"
+msgstr "Nur Beitragsvorschau anzeigen"
-#: ../../mod/chat.php:207 ../../mod/chat.php:229
-msgid "New Chatroom"
-msgstr "Neuer Chatraum"
+#: ../../view/theme/apw/php/config.php:283
+msgid "Display side bar on channel page"
+msgstr "Zeige die Seitenleiste auf der Kanal-Seite"
-#: ../../mod/chat.php:208
-msgid "Chatroom Name"
-msgstr "Name des Chatraums"
+#: ../../view/theme/apw/php/config.php:284
+msgid "Colour of the navigation bar"
+msgstr "Farbe der Navigationsleiste"
-#: ../../mod/chat.php:225
-#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "%1$ss Chaträume"
+#: ../../view/theme/apw/php/config.php:285
+msgid "Item float"
+msgstr "Beitragsfluss"
-#: ../../mod/events.php:91
-msgid "Event title and start time are required."
-msgstr "Veranstaltungs- Titel und Startzeit sind erforderlich."
+#: ../../view/theme/apw/php/config.php:286
+msgid "Left offset of the section element"
+msgstr "Linker Rand des Section Elements"
-#: ../../mod/events.php:105
-msgid "Event not found."
-msgstr "Termin nicht gefunden."
+#: ../../view/theme/apw/php/config.php:287
+msgid "Right offset of the section element"
+msgstr "Rechter Rand des Section Elements"
-#: ../../mod/events.php:369
-msgid "l, F j"
-msgstr "l, j. F"
+#: ../../view/theme/apw/php/config.php:288
+msgid "Section width"
+msgstr "Breite der Section"
-#: ../../mod/events.php:391
-msgid "Edit event"
-msgstr "Veranstaltung bearbeiten"
+#: ../../view/theme/apw/php/config.php:289
+msgid "Left offset of the aside"
+msgstr "Linker Rand des Aside-Elements"
-#: ../../mod/events.php:437
-msgid "Create New Event"
-msgstr "Neue Veranstaltung erstellen"
+#: ../../view/theme/apw/php/config.php:290
+msgid "Right offset of the aside element"
+msgstr "Rechter Rand des Aside-Elements"
-#: ../../mod/events.php:438
-msgid "Previous"
-msgstr "Voriges"
+#: ../../view/theme/blogga/php/config.php:47
+#: ../../view/theme/blogga/view/theme/blog/config.php:47
+msgid "None"
+msgstr "Kein"
-#: ../../mod/events.php:536
-msgid "hour:minute"
-msgstr "Stunde:Minute"
+#: ../../view/theme/blogga/php/config.php:70
+#: ../../view/theme/blogga/view/theme/blog/config.php:70
+msgid "Header image"
+msgstr "Titelbild"
-#: ../../mod/events.php:556
-msgid "Event details"
-msgstr "Veranstaltungs-Details"
+#: ../../view/theme/blogga/php/config.php:71
+#: ../../view/theme/blogga/view/theme/blog/config.php:71
+msgid "Header image only on profile pages"
+msgstr "Titelbild nur auf Profil-Seiten anzeigen"
-#: ../../mod/events.php:557
-#, php-format
-msgid "Format is %s %s."
-msgstr "Format ist %s %s."
+#: ../../view/theme/redbasic/php/config.php:84
+msgid "Light (Red Matrix default)"
+msgstr "Hell (RedMatrix-Voreinstellung)"
-#: ../../mod/events.php:558
-msgid "Starting date and Title are required."
-msgstr "Startdatum und Titel sind erforderlich."
+#: ../../view/theme/redbasic/php/config.php:104
+msgid "Narrow navbar"
+msgstr "Schmale Navigationsleiste"
-#: ../../mod/events.php:562
-msgid "Event Starts:"
-msgstr "Veranstaltung startet:"
+#: ../../view/theme/redbasic/php/config.php:105
+msgid "Navigation bar background color"
+msgstr "Hintergrundfarbe der Navigationsleiste"
-#: ../../mod/events.php:570
-msgid "Finish date/time is not known or not relevant"
-msgstr "Ende Datum/Zeit sind unbekannt oder unwichtig"
+#: ../../view/theme/redbasic/php/config.php:106
+msgid "Navigation bar gradient top color"
+msgstr "Farbverlauf der Navigationsleiste: Farbe oben"
-#: ../../mod/events.php:572
-msgid "Event Finishes:"
-msgstr "Veranstaltung endet:"
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Navigation bar gradient bottom color"
+msgstr "Farbverlauf der Navigationsleiste: Farbe unten"
-#: ../../mod/events.php:575
-msgid "Adjust for viewer timezone"
-msgstr "An die Zeitzone des Betrachters anpassen"
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Navigation active button gradient top color"
+msgstr "Navigations-Button aktiv: Farbe für Farbverlauf oben"
-#: ../../mod/events.php:577
-msgid "Description:"
-msgstr "Beschreibung:"
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Navigation active button gradient bottom color"
+msgstr "Navigations-Button aktiv: Farbe für Farbverlauf unten"
-#: ../../mod/events.php:581
-msgid "Title:"
-msgstr "Titel:"
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Navigation bar border color "
+msgstr "Farbe für den Rand der Navigationsleiste"
-#: ../../mod/events.php:583
-msgid "Share this event"
-msgstr "Die Veranstaltung teilen"
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Navigation bar icon color "
+msgstr "Farbe für die Icons der Navigationsleiste"
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Ungültiger Anfrage-Identifikator."
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Navigation bar active icon color "
+msgstr "Farbe für aktive Icons der Navigationsleiste"
-#: ../../mod/notifications.php:35
-msgid "Discard"
-msgstr "Verwerfen"
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "link color"
+msgstr "Farbe für Links"
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Kein gültiges Konto gefunden."
+#: ../../view/theme/redbasic/php/config.php:114
+msgid "Set font-color for banner"
+msgstr "Farbe der Schrift des Banners"
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails."
+#: ../../view/theme/redbasic/php/config.php:115
+msgid "Set the background color"
+msgstr "Hintergrundfarbe"
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Nutzer (%s)"
+#: ../../view/theme/redbasic/php/config.php:116
+msgid "Set the background image"
+msgstr "Hintergrundbild"
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Passwort-Rücksetzung auf %s angefordert"
+#: ../../view/theme/redbasic/php/config.php:117
+msgid "Set the background color of items"
+msgstr "Hintergrundfarbe für Beiträge"
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen."
+#: ../../view/theme/redbasic/php/config.php:118
+msgid "Set the background color of comments"
+msgstr "Hintergrundfarbe für Kommentare"
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
-msgstr "Dein Passwort wurde wie angefordert neu erstellt."
+#: ../../view/theme/redbasic/php/config.php:119
+msgid "Set the border color of comments"
+msgstr "Farbe des Randes von Kommentaren"
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
-msgstr "Dein neues Passwort lautet"
+#: ../../view/theme/redbasic/php/config.php:120
+msgid "Set the indent for comments"
+msgstr "Einzug für Kommentare"
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
-msgstr "Speichere oder kopiere Dein neues Passwort – und dann"
+#: ../../view/theme/redbasic/php/config.php:121
+msgid "Set the basic color for item icons"
+msgstr "Grundfarbe für Beitrags-Icons"
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
-msgstr "Klicke hier, um dich anzumelden"
+#: ../../view/theme/redbasic/php/config.php:122
+msgid "Set the hover color for item icons"
+msgstr "Farbe für Beitrags-Icons unter dem Mauszeiger"
-#: ../../mod/lostpass.php:90
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden."
+#: ../../view/theme/redbasic/php/config.php:123
+msgid "Set font-size for the entire application"
+msgstr "Schriftgröße für die ganze Applikation"
-#: ../../mod/lostpass.php:107
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Auf %s wurde Dein Passwort geändert"
+#: ../../view/theme/redbasic/php/config.php:125
+msgid "Set font-color for posts and comments"
+msgstr "Schriftfarbe für Posts und Kommentare"
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
-msgstr "Kennwort vergessen?"
+#: ../../view/theme/redbasic/php/config.php:126
+msgid "Set radius of corners"
+msgstr "Ecken-Radius"
-#: ../../mod/lostpass.php:123
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail."
+#: ../../view/theme/redbasic/php/config.php:127
+msgid "Set shadow depth of photos"
+msgstr "Schattentiefe von Fotos"
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
-msgstr "E-Mail Adresse"
+#: ../../view/theme/redbasic/php/config.php:128
+msgid "Set maximum width of conversation regions"
+msgstr "Maximalbreite der Unterhaltungsbereiche"
-#: ../../mod/lostpass.php:125
-msgid "Reset"
-msgstr "Zurücksetzen"
+#: ../../view/theme/redbasic/php/config.php:129
+msgid "Center conversation regions"
+msgstr "Konversationsbereich zentrieren"
-#: ../../mod/layouts.php:62
-msgid "Help with this feature"
-msgstr "Hilfe zu dieser Funktion"
+#: ../../view/theme/redbasic/php/config.php:130
+msgid "Set minimum opacity of nav bar - to hide it"
+msgstr "Mindest-Deckkraft der Navigationsleiste ( - versteckt sie)"
-#: ../../mod/layouts.php:85
-msgid "Layout Name"
-msgstr "Layout-Name"
+#: ../../view/theme/redbasic/php/config.php:131
+msgid "Set size of conversation author photo"
+msgstr "Größe der Avatare von Themenstartern"
-#: ../../mod/editblock.php:77
-msgid "Edit Block"
-msgstr "Block bearbeiten"
+#: ../../view/theme/redbasic/php/config.php:132
+msgid "Set size of followup author photos"
+msgstr "Größe der Avatare von Kommentatoren"
-#: ../../mod/editblock.php:87
-msgid "Delete block?"
-msgstr "Block löschen?"
+#: ../../view/theme/redbasic/php/config.php:133
+msgid "Sloppy photo albums"
+msgstr "Schräge Fotoalben"
-#: ../../mod/editblock.php:153
-msgid "Delete Block"
-msgstr "Block löschen"
+#: ../../view/theme/redbasic/php/config.php:133
+msgid "Are you a clean desk or a messy desk person?"
+msgstr "Bist Du jemand, der einen aufgeräumten Schreibtisch hat, oder eher einen chaotischen?"
-#: ../../mod/achievements.php:34
-msgid "Some blurb about what to do when you're new here"
-msgstr "Ein Hinweis, was man tun kann, wenn man neu hier ist"
+#: ../../boot.php:1293
+#, php-format
+msgid "Update %s failed. See error logs."
+msgstr "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen."
-#: ../../mod/editlayout.php:72
-msgid "Edit Layout"
-msgstr "Layout bearbeiten"
+#: ../../boot.php:1296
+#, php-format
+msgid "Update Error at %s"
+msgstr "Aktualisierungsfehler auf %s"
-#: ../../mod/editlayout.php:82
-msgid "Delete layout?"
-msgstr "Layout löschen?"
+#: ../../boot.php:1463
+msgid ""
+"Create an account to access services and applications within the Red Matrix"
+msgstr "Erstelle einen Account, um Anwendungen und Dienste innerhalb der Red-Matrix verwenden zu können."
-#: ../../mod/editlayout.php:146
-msgid "Delete Layout"
-msgstr "Layout löschen"
+#: ../../boot.php:1489
+msgid "Password"
+msgstr "Kennwort"
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Kanal hinzugefügt."
+#: ../../boot.php:1490
+msgid "Remember me"
+msgstr "Angaben speichern"
-#: ../../mod/locs.php:47 ../../mod/locs.php:74
-msgid "Location not found."
-msgstr "Klon nicht gefunden."
+#: ../../boot.php:1493
+msgid "Forgot your password?"
+msgstr "Passwort vergessen?"
-#: ../../mod/locs.php:78
-msgid "Primary location cannot be removed."
-msgstr "Der primäre Klon kann nicht gelöscht werden."
+#: ../../boot.php:1567
+msgid "permission denied"
+msgstr "Zugriff verweigert"
+
+#: ../../boot.php:1568
+msgid "Got Zot?"
+msgstr "Haste schon Zot?"
+
+#: ../../boot.php:2030
+msgid "toggle mobile"
+msgstr "auf/von mobile Ansicht wechseln"
diff --git a/view/de/strings.php b/view/de/strings.php
index 13834e85f..2d7265e18 100644
--- a/view/de/strings.php
+++ b/view/de/strings.php
@@ -5,89 +5,255 @@ function string_plural_select_de($n){
return ($n != 1);;
}}
;
-$a->strings["Light (Red Matrix default)"] = "Hell (RedMatrix-Voreinstellung)";
-$a->strings["Submit"] = "Bestätigen";
-$a->strings["Theme settings"] = "Theme-Einstellungen";
-$a->strings["Set scheme"] = "Schema";
-$a->strings["Narrow navbar"] = "Schmale Navigationsleiste";
-$a->strings["Navigation bar background color"] = "Hintergrundfarbe der Navigationsleiste";
-$a->strings["Navigation bar gradient top color"] = "Farbverlauf der Navigationsleiste: Farbe oben";
-$a->strings["Navigation bar gradient bottom color"] = "Farbverlauf der Navigationsleiste: Farbe unten";
-$a->strings["Navigation active button gradient top color"] = "Navigations-Button aktiv: Farbe für Farbverlauf oben";
-$a->strings["Navigation active button gradient bottom color"] = "Navigations-Button aktiv: Farbe für Farbverlauf unten";
-$a->strings["Navigation bar border color "] = "Farbe für den Rand der Navigationsleiste";
-$a->strings["Navigation bar icon color "] = "Farbe für die Icons der Navigationsleiste";
-$a->strings["Navigation bar active icon color "] = "Farbe für aktive Icons der Navigationsleiste";
-$a->strings["link color"] = "Farbe für Links";
-$a->strings["Set font-color for banner"] = "Farbe der Schrift des Banners";
-$a->strings["Set the background color"] = "Hintergrundfarbe";
-$a->strings["Set the background image"] = "Hintergrundbild";
-$a->strings["Set the background color of items"] = "Hintergrundfarbe für Beiträge";
-$a->strings["Set the background color of comments"] = "Hintergrundfarbe für Kommentare";
-$a->strings["Set the border color of comments"] = "Farbe des Randes von Kommentaren";
-$a->strings["Set the indent for comments"] = "Einzug für Kommentare";
-$a->strings["Set the basic color for item icons"] = "Grundfarbe für Beitrags-Icons";
-$a->strings["Set the hover color for item icons"] = "Farbe für Beitrags-Icons unter dem Mauszeiger";
-$a->strings["Set font-size for the entire application"] = "Schriftgröße für die ganze Applikation";
-$a->strings["Set font-size for posts and comments"] = "Schriftgröße für Beiträge und Kommentare";
-$a->strings["Set font-color for posts and comments"] = "Schriftfarbe für Posts und Kommentare";
-$a->strings["Set radius of corners"] = "Ecken-Radius";
-$a->strings["Set shadow depth of photos"] = "Schattentiefe von Fotos";
-$a->strings["Set maximum width of conversation regions"] = "Maximalbreite der Unterhaltungsbereiche";
-$a->strings["Center conversation regions"] = "Konversationsbereich zentrieren";
-$a->strings["Set minimum opacity of nav bar - to hide it"] = "Mindest-Deckkraft der Navigationsleiste ( - versteckt sie)";
-$a->strings["Set size of conversation author photo"] = "Größe der Avatare von Themenstartern";
-$a->strings["Set size of followup author photos"] = "Größe der Avatare von Kommentatoren";
-$a->strings["Sloppy photo albums"] = "Schräge Fotoalben";
-$a->strings["Are you a clean desk or a messy desk person?"] = "Bist Du jemand, der einen aufgeräumten Schreibtisch hat, oder eher einen chaotischen?";
-$a->strings["Update %s failed. See error logs."] = "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen.";
-$a->strings["Update Error at %s"] = "Aktualisierungsfehler auf %s";
-$a->strings["Create an account to access services and applications within the Red Matrix"] = "Erstelle einen Account, um Anwendungen und Dienste innerhalb der Red-Matrix verwenden zu können.";
-$a->strings["Register"] = "Registrieren";
-$a->strings["Logout"] = "Abmelden";
-$a->strings["Login"] = "Anmelden";
-$a->strings["Email"] = "E-Mail";
-$a->strings["Password"] = "Kennwort";
-$a->strings["Remember me"] = "Angaben speichern";
-$a->strings["Forgot your password?"] = "Passwort vergessen?";
-$a->strings["Password Reset"] = "Zurücksetzen des Kennworts";
-$a->strings["permission denied"] = "Zugriff verweigert";
-$a->strings["Got Zot?"] = "Haste schon Zot?";
-$a->strings["toggle mobile"] = "auf/von mobile Ansicht wechseln";
-$a->strings["Logged out."] = "Ausgeloggt.";
-$a->strings["Failed authentication"] = "Authentifizierung fehlgeschlagen";
-$a->strings["Login failed."] = "Login fehlgeschlagen.";
-$a->strings["Default"] = "Standard";
+$a->strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden";
+$a->strings["Profile Photos"] = "Profilfotos";
+$a->strings["photo"] = "Foto";
+$a->strings["event"] = "Termin";
+$a->strings["channel"] = "Kanal";
+$a->strings["status"] = "Status";
+$a->strings["comment"] = "Kommentar";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s";
+$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s nicht";
+$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s ist jetzt mit %2\$s verbunden";
+$a->strings["%1\$s poked %2\$s"] = "%1\$s stupste %2\$s an";
+$a->strings["poked"] = "stupste";
+$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s ist %2\$s";
+$a->strings["Select"] = "Auswählen";
+$a->strings["Delete"] = "Löschen";
+$a->strings["Private Message"] = "Private Nachricht";
+$a->strings["Message signature validated"] = "Signatur überprüft";
+$a->strings["Message signature incorrect"] = "Signatur nicht korrekt";
+$a->strings["View %s's profile @ %s"] = "%ss Profil auf %s ansehen";
+$a->strings["Categories:"] = "Kategorien:";
+$a->strings["Filed under:"] = "Gespeichert unter:";
+$a->strings[" from %s"] = "von %s";
+$a->strings["last edited: %s"] = "zuletzt bearbeitet: %s";
+$a->strings["Expires: %s"] = "Verfällt: %s";
+$a->strings["View in context"] = "Im Zusammenhang anschauen";
+$a->strings["Please wait"] = "Bitte warten";
+$a->strings["remove"] = "lösche";
+$a->strings["Loading..."] = "Lädt ...";
+$a->strings["Delete Selected Items"] = "Lösche die ausgewählten Elemente";
+$a->strings["View Source"] = "Quelle anzeigen";
+$a->strings["Follow Thread"] = "Unterhaltung folgen";
+$a->strings["View Status"] = "Status ansehen";
+$a->strings["View Profile"] = "Profil ansehen";
+$a->strings["View Photos"] = "Fotos ansehen";
+$a->strings["Matrix Activity"] = "Matrix-Aktivität";
+$a->strings["Connect"] = "Verbinden";
+$a->strings["Edit Contact"] = "Kontakt bearbeiten";
+$a->strings["Send PM"] = "Sende PN";
+$a->strings["Poke"] = "Anstupsen";
+$a->strings["Unknown"] = "Unbekannt";
+$a->strings["%s likes this."] = "%s gefällt das.";
+$a->strings["%s doesn't like this."] = "%s gefällt das nicht.";
+$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "<span %1\$s>%2\$d Person</span> gefällt das.",
+ 1 => "<span %1\$s>%2\$d Leuten</span> gefällt das.",
+);
+$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "<span %1\$s>%2\$d Person</span> gefällt das nicht.",
+ 1 => "<span %1\$s>%2\$d Leuten</span> gefällt das nicht.",
+);
+$a->strings["and"] = "und";
+$a->strings[", and %d other people"] = array(
+ 0 => "",
+ 1 => ", und %d andere",
+);
+$a->strings["%s like this."] = "%s gefällt das.";
+$a->strings["%s don't like this."] = "%s gefällt das nicht.";
+$a->strings["Visible to <strong>everybody</strong>"] = "Sichtbar für <strong>jeden</strong>";
+$a->strings["Please enter a link URL:"] = "Gib eine URL ein:";
+$a->strings["Please enter a video link/URL:"] = "Gib einen Video-Link/URL ein:";
+$a->strings["Please enter an audio link/URL:"] = "Gib einen Audio-Link/URL ein:";
+$a->strings["Tag term:"] = "Schlagwort:";
+$a->strings["Save to Folder:"] = "Speichern in Ordner:";
+$a->strings["Where are you right now?"] = "Wo bist Du jetzt grade?";
+$a->strings["Expires YYYY-MM-DD HH:MM"] = "Verfällt YYYY-MM-DD HH;MM";
+$a->strings["Preview"] = "Vorschau";
+$a->strings["Share"] = "Teilen";
+$a->strings["Page link title"] = "Seitentitel-Link";
+$a->strings["Post as"] = "Posten als";
+$a->strings["Upload photo"] = "Foto hochladen";
+$a->strings["upload photo"] = "Foto hochladen";
+$a->strings["Attach file"] = "Datei anhängen";
+$a->strings["attach file"] = "Datei anfügen";
+$a->strings["Insert web link"] = "Link einfügen";
+$a->strings["web link"] = "Web-Link";
+$a->strings["Insert video link"] = "Video-Link einfügen";
+$a->strings["video link"] = "Video-Link";
+$a->strings["Insert audio link"] = "Audio-Link einfügen";
+$a->strings["audio link"] = "Audio-Link";
+$a->strings["Set your location"] = "Standort";
+$a->strings["set location"] = "Standort";
+$a->strings["Clear browser location"] = "Browser-Standort löschen";
+$a->strings["clear location"] = "Standort löschen";
+$a->strings["Set title"] = "Titel";
+$a->strings["Categories (comma-separated list)"] = "Kategorien (Kommagetrennte Liste)";
+$a->strings["Permission settings"] = "Berechtigungs-Einstellungen";
+$a->strings["permissions"] = "Berechtigungen";
+$a->strings["Public post"] = "Öffentlicher Beitrag";
+$a->strings["Example: bob@example.com, mary@example.com"] = "Beispiel: bob@example.com, mary@example.com";
+$a->strings["Set expiration date"] = "Verfallsdatum";
+$a->strings["Encrypt text"] = "Text verschlüsseln";
+$a->strings["OK"] = "Ok";
+$a->strings["Cancel"] = "Abbrechen";
+$a->strings["Discover"] = "Entdecken";
+$a->strings["Imported public streams"] = "Importierte öffentliche Beiträge";
+$a->strings["Commented Order"] = "Neueste Kommentare";
+$a->strings["Sort by Comment Date"] = "Nach Kommentardatum sortiert";
+$a->strings["Posted Order"] = "Neueste Beiträge";
+$a->strings["Sort by Post Date"] = "Nach Beitragsdatum sortiert";
+$a->strings["Personal"] = "Persönlich";
+$a->strings["Posts that mention or involve you"] = "Beiträge mit Beteiligung Deinerseits";
+$a->strings["New"] = "Neu";
+$a->strings["Activity Stream - by date"] = "Activity Stream – nach Datum sortiert";
+$a->strings["Starred"] = "Markiert";
+$a->strings["Favourite Posts"] = "Markierte Beiträge";
+$a->strings["Spam"] = "Spam";
+$a->strings["Posts flagged as SPAM"] = "Nachrichten, die als SPAM markiert wurden";
+$a->strings["Channel"] = "Kanal";
+$a->strings["Status Messages and Posts"] = "Statusnachrichten und Beiträge";
+$a->strings["About"] = "Ãœber";
+$a->strings["Profile Details"] = "Profil-Details";
+$a->strings["Photos"] = "Fotos";
+$a->strings["Photo Albums"] = "Fotoalben";
+$a->strings["Files"] = "Dateien";
+$a->strings["Files and Storage"] = "Dateien und Speicher";
+$a->strings["Chatrooms"] = "Chaträume";
+$a->strings["Bookmarks"] = "Lesezeichen";
+$a->strings["Saved Bookmarks"] = "Gespeicherte Lesezeichen";
+$a->strings["Webpages"] = "Webseiten";
+$a->strings["Manage Webpages"] = "Webseiten verwalten";
+$a->strings["created a new post"] = "Neuer Beitrag wurde erzeugt";
+$a->strings["commented on %s's post"] = "hat %s's Beitrag kommentiert";
+$a->strings["Sort Options"] = "Sortieroptionen";
+$a->strings["Alphabetic"] = "alphabetisch";
+$a->strings["Reverse Alphabetic"] = "Entgegengesetzt alphabetisch";
+$a->strings["Newest to Oldest"] = "Neueste zuerst";
+$a->strings["Enable Safe Search"] = "Sichere Suche einschalten";
+$a->strings["Disable Safe Search"] = "Sichere Suche ausschalten";
+$a->strings["Safe Mode"] = "Sicherer Modus";
+$a->strings["New Page"] = "Neue Seite";
+$a->strings["Edit"] = "Bearbeiten";
+$a->strings["View"] = "Ansicht";
+$a->strings["Actions"] = "Aktionen";
+$a->strings["Page Link"] = "Seiten-Link";
+$a->strings["Title"] = "Titel";
+$a->strings["Created"] = "Erstellt";
+$a->strings["Edited"] = "Geändert";
+$a->strings["Missing room name"] = "Der Chatraum hat keinen Namen";
+$a->strings["Duplicate room name"] = "Name des Chatraums bereits vergeben";
+$a->strings["Invalid room specifier."] = "Ungültiger Raumbezeichner.";
+$a->strings["Room not found."] = "Chatraum konnte nicht gefunden werden.";
+$a->strings["Permission denied."] = "Zugang verweigert";
+$a->strings["Room is full"] = "Der Raum ist voll";
+$a->strings["Embedded content"] = "Eingebetteter Inhalt";
+$a->strings["Embedding disabled"] = "Einbetten ausgeschaltet";
+$a->strings["Categories"] = "Kategorien";
+$a->strings["Apps"] = "Apps";
+$a->strings["System"] = "System";
+$a->strings["Create Personal App"] = "Persönliche App erstellen";
+$a->strings["Edit Personal App"] = "Persönliche App bearbeiten";
+$a->strings["Ignore/Hide"] = "Ignorieren/Verstecken";
+$a->strings["Suggestions"] = "Vorschläge";
+$a->strings["See more..."] = "Mehr anzeigen …";
+$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen.";
+$a->strings["Add New Connection"] = "Neue Verbindung hinzufügen";
+$a->strings["Enter the channel address"] = "Adresse des Kanals eingeben";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Beispiel: bob@beispiel.com, http://beispiel.com/barbara";
+$a->strings["Notes"] = "Notizen";
+$a->strings["Save"] = "Speichern";
+$a->strings["Remove term"] = "Eintrag löschen";
+$a->strings["Saved Searches"] = "Gespeicherte Suchanfragen";
+$a->strings["add"] = "hinzufügen";
+$a->strings["Saved Folders"] = "Gespeicherte Ordner";
+$a->strings["Everything"] = "Alles";
+$a->strings["Archives"] = "Archive";
+$a->strings["Refresh"] = "Aktualisieren";
+$a->strings["Me"] = "Ich";
+$a->strings["Best Friends"] = "Beste Freunde";
+$a->strings["Friends"] = "Freunde";
+$a->strings["Co-workers"] = "Kollegen";
+$a->strings["Former Friends"] = "ehem. Freunde";
+$a->strings["Acquaintances"] = "Bekannte";
+$a->strings["Everybody"] = "Jeder";
+$a->strings["Account settings"] = "Konto-Einstellungen";
+$a->strings["Channel settings"] = "Kanal-Einstellungen";
+$a->strings["Additional features"] = "Zusätzliche Funktionen";
+$a->strings["Feature settings"] = "Funktions-Einstellungen";
+$a->strings["Display settings"] = "Anzeige-Einstellungen";
+$a->strings["Connected apps"] = "Verbundene Apps";
+$a->strings["Export channel"] = "Kanal exportieren";
+$a->strings["Export content"] = "Kanal-Inhalte exportieren";
+$a->strings["Connection Default Permissions"] = "Standardzugriffsrechte für neue Verbindungen:";
+$a->strings["Premium Channel Settings"] = "Premium-Kanal-Einstellungen";
+$a->strings["Channel Sources"] = "Kanal-Quellen";
+$a->strings["Settings"] = "Einstellungen";
+$a->strings["Messages"] = "Nachrichten";
+$a->strings["Check Mail"] = "E-Mails abrufen";
+$a->strings["New Message"] = "Neue Nachricht";
+$a->strings["Chat Rooms"] = "Chaträume";
+$a->strings["Bookmarked Chatrooms"] = "Gespeicherte Chatrooms";
+$a->strings["Suggested Chatrooms"] = "Chatraum-Vorschläge";
+$a->strings["Invalid data packet"] = "Ungültiges Datenpaket";
+$a->strings["Unable to verify channel signature"] = "Konnte die Signatur des Kanals nicht verifizieren";
+$a->strings["Unable to verify site signature for %s"] = "Kann die Signatur der Seite von %s nicht verifizieren";
+$a->strings[" and "] = "und";
+$a->strings["public profile"] = "öffentliches Profil";
+$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s hat %2\$s auf &ldquo;%3\$s&rdquo; geändert";
+$a->strings["Visit %1\$s's %2\$s"] = "Besuche %1\$s's %2\$s";
+$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat ein aktualisiertes %2\$s, %3\$s wurde verändert.";
+$a->strings["Attachments:"] = "Anhänge:";
+$a->strings["l F d, Y \\@ g:i A"] = "l, d. F Y\\\\, H:i";
+$a->strings["Redmatrix event notification:"] = "RedMatrix Termin-Benachrichtigung:";
+$a->strings["Starts:"] = "Beginnt:";
+$a->strings["Finishes:"] = "Endet:";
+$a->strings["Location:"] = "Ort:";
$a->strings["parent"] = "Ãœbergeordnetes Verzeichnis";
-$a->strings["Collection"] = "Sammlung";
+$a->strings["Collection"] = "Ordner";
$a->strings["Principal"] = "Prinzipal";
$a->strings["Addressbook"] = "Adressbuch";
$a->strings["Calendar"] = "Kalender";
$a->strings["Schedule Inbox"] = "Posteingang für überwachte Kalender";
$a->strings["Schedule Outbox"] = "Postausgang für überwachte Kalender";
-$a->strings["Unknown"] = "Unbekannt";
$a->strings["%1\$s used"] = "%1\$s verwendet";
$a->strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s von %2\$s verwendet (%3\$s&#37;)";
-$a->strings["Files"] = "Dateien";
$a->strings["Name"] = "Name";
$a->strings["Type"] = "Typ";
$a->strings["Size"] = "Größe";
$a->strings["Last Modified"] = "Zuletzt geändert";
-$a->strings["Edit"] = "Bearbeiten";
-$a->strings["Delete"] = "Löschen";
$a->strings["Total"] = "Summe";
$a->strings["Create new folder"] = "Neuen Ordner anlegen";
$a->strings["Create"] = "Erstelle";
$a->strings["Upload file"] = "Datei hochladen";
$a->strings["Upload"] = "Hochladen";
-$a->strings["Permission denied."] = "Zugang verweigert";
-$a->strings["Profile Photos"] = "Profilfotos";
-$a->strings["Image exceeds website size limit of %lu bytes"] = "Bild überschreitet das Limit der Webseite von %lu bytes";
-$a->strings["Image file is empty."] = "Bilddatei ist leer.";
-$a->strings["Unable to process image"] = "Kann Bild nicht verarbeiten";
-$a->strings["Photo storage failed."] = "Foto speichern schlug fehl";
-$a->strings["Photo Albums"] = "Fotoalben";
-$a->strings["Upload New Photos"] = "Lade neue Fotos hoch";
+$a->strings["%1\$s's bookmarks"] = "%1\$ss Lesezeichen";
+$a->strings["Channel is blocked on this site."] = "Der Kanal ist auf dieser Seite blockiert ";
+$a->strings["Channel location missing."] = "Adresse des Kanals fehlt.";
+$a->strings["Response from remote channel was incomplete."] = "Antwort des entfernten Kanals war unvollständig.";
+$a->strings["Channel was deleted and no longer exists."] = "Kanal wurde gelöscht und existiert nicht mehr.";
+$a->strings["Protocol disabled."] = "Protokoll deaktiviert.";
+$a->strings["Channel discovery failed."] = "Kanalsuche fehlgeschlagen";
+$a->strings["local account not found."] = "Lokales Konto nicht gefunden.";
+$a->strings["Cannot connect to yourself."] = "Du kannst Dich nicht mit Dir selbst verbinden.";
+$a->strings["Default"] = "Standard";
+$a->strings["Frequently"] = "Häufig";
+$a->strings["Hourly"] = "Stündlich";
+$a->strings["Twice daily"] = "Zwei Mal am Tag";
+$a->strings["Daily"] = "Täglich";
+$a->strings["Weekly"] = "Wöchentlich";
+$a->strings["Monthly"] = "Monatlich";
+$a->strings["Friendica"] = "Friendica";
+$a->strings["OStatus"] = "OStatus";
+$a->strings["RSS/Atom"] = "RSS/Atom";
+$a->strings["Email"] = "E-Mail";
+$a->strings["Diaspora"] = "Diaspora";
+$a->strings["Facebook"] = "Facebook";
+$a->strings["Zot!"] = "Zot!";
+$a->strings["LinkedIn"] = "LinkedIn";
+$a->strings["XMPP/IM"] = "XMPP/IM";
+$a->strings["MySpace"] = "MySpace";
$a->strings["%d invitation available"] = array(
0 => "%d Einladung verfügbar",
1 => "%d Einladungen verfügbar",
@@ -101,61 +267,251 @@ $a->strings["Find"] = "Finde";
$a->strings["Channel Suggestions"] = "Kanal-Vorschläge";
$a->strings["Random Profile"] = "Zufallsprofil";
$a->strings["Invite Friends"] = "Lade Freunde ein";
-$a->strings["Exammple: name=fred and country=iceland"] = "Beispiel: name=fred and country=deutschland";
-$a->strings["Advanced Find"] = "Erweiterte Suche";
-$a->strings["Saved Folders"] = "Gespeicherte Ordner";
-$a->strings["Everything"] = "Alles";
-$a->strings["Categories"] = "Kategorien";
+$a->strings["Advanced example: name=fred and country=iceland"] = "Fortgeschrittenes Beispiel: name=fred and country=iceland";
$a->strings["%d connection in common"] = array(
0 => "%d gemeinsame Verbindung",
1 => "%d gemeinsame Verbindungen",
);
$a->strings["show more"] = "mehr zeigen";
-$a->strings[" and "] = "und";
-$a->strings["public profile"] = "öffentliches Profil";
-$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s hat %2\$s auf &ldquo;%3\$s&rdquo; geändert";
-$a->strings["Visit %1\$s's %2\$s"] = "Besuche %1\$s's %2\$s";
-$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat ein aktualisiertes %2\$s, %3\$s wurde verändert.";
-$a->strings["Permission denied"] = "Keine Berechtigung";
-$a->strings["(Unknown)"] = "(Unbekannt)";
-$a->strings["Visible to anybody on the internet."] = "Für jeden im Internet sichtbar.";
-$a->strings["Visible to you only."] = "Nur für Dich sichtbar.";
-$a->strings["Visible to anybody in this network."] = "Für jedes Mitglied der RedMatrix sichtbar.";
-$a->strings["Visible to anybody authenticated."] = "Für jeden sichtbar, der angemeldet ist.";
-$a->strings["Visible to anybody on %s."] = "Für jeden auf %s sichtbar.";
-$a->strings["Visible to all connections."] = "Für alle Verbindungen sichtbar.";
-$a->strings["Visible to approved connections."] = "Nur für akzeptierte Verbindungen sichtbar.";
-$a->strings["Visible to specific connections."] = "Sichtbar für bestimmte Verbindungen.";
-$a->strings["Item not found."] = "Element nicht gefunden.";
-$a->strings["Collection not found."] = "Sammlung nicht gefunden";
-$a->strings["Collection is empty."] = "Sammlung ist leer.";
-$a->strings["Collection: %s"] = "Sammlung: %s";
-$a->strings["Connection: %s"] = "Verbindung: %s";
-$a->strings["Connection not found."] = "Die Verbindung wurde nicht gefunden.";
-$a->strings["Connect"] = "Verbinden";
+$a->strings["Red Matrix Notification"] = "Red Matrix Benachrichtigung";
+$a->strings["redmatrix"] = "redmatrix";
+$a->strings["Thank You,"] = "Danke.";
+$a->strings["%s Administrator"] = "der Administrator von %s";
+$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
+$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Benachrichtigung] Neue Mail auf %s empfangen";
+$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s hat Dir eine private Nachricht auf %3\$s gesendet.";
+$a->strings["%1\$s sent you %2\$s."] = "%1\$s hat Dir %2\$s geschickt.";
+$a->strings["a private message"] = "eine private Nachricht";
+$a->strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten.";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]a %4\$s[/zrl] kommentiert";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]%4\$ss %5\$s[/zrl] kommentiert";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen %4\$s[/zrl] kommentiert";
+$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Benachrichtigung] Kommentar in Unterhaltung #%1\$d von %2\$s";
+$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s hat eine Unterhaltung kommentiert, der Du folgst.";
+$a->strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren.";
+$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Hinweis] %s schrieb auf Deine Pinnwand";
+$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s hat auf Deine Pinnwand auf %3\$s geschrieben";
+$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s hat auf [zrl=%3\$s]Deine Pinnwand[/zrl] geschrieben";
+$a->strings["[Red:Notify] %s tagged you"] = "[Red:Benachrichtigung] %s hat Dich erwähnt";
+$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s erwähnt";
+$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]hat Dich erwähnt[/zrl].";
+$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Benachrichtigung] %1\$s hat Dich angestupst";
+$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s angestupst";
+$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]hat Dich angestupst[/zrl].";
+$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet";
+$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s hat Deinen Beitrag auf %3\$s verschlagwortet";
+$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen Beitrag[/zrl] verschlagwortet";
+$a->strings["[Red:Notify] Introduction received"] = "[Red:Benachrichtigung] Vorstellung erhalten";
+$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, Du hast eine neue Verbindungsanfrage von '%2\$s' auf %3\$s erhalten";
+$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, Du hast [zrl=%2\$s]eine neue Verbindungsanfrage[/zrl] von %3\$s erhalten.";
+$a->strings["You may visit their profile at %s"] = "Du kannst Dir das Profil unter %s ansehen";
+$a->strings["Please visit %s to approve or reject the connection request."] = "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen.";
+$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Benachrichtigung] Freundschaftsvorschlag erhalten";
+$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, Du hast einen Kontaktvorschlag von „%2\$s“ auf %3\$s erhalten";
+$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, Du hast [zrl=%2\$s]einen Kontaktvorschlag[/zrl] für %3\$s von %4\$s erhalten.";
+$a->strings["Name:"] = "Name:";
+$a->strings["Photo:"] = "Foto:";
+$a->strings["Please visit %s to approve or reject the suggestion."] = "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen.";
+$a->strings["[Red:Notify]"] = "[Red:Benachrichtigung]";
+$a->strings["This event has been added to your calendar."] = "Dieser Termin wurde zu Deinem Kalender hinzugefügt";
+$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Es hat früher schon einmal eine Sammlung mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Sammlung den Zugriff erlauben. Wenn das nicht Dein Plan war, erstelle bitte eine neue Sammlung mit einem anderen Namen.";
+$a->strings["Default privacy group for new contacts"] = "Standard-Sammlung für neue Kontakte";
+$a->strings["All Channels"] = "Alle Kanäle";
+$a->strings["edit"] = "Bearbeiten";
+$a->strings["Collections"] = "Sammlungen";
+$a->strings["Edit collection"] = "Sammlung bearbeiten";
+$a->strings["Create a new collection"] = "Neue Sammlung erzeugen";
+$a->strings["Channels not in any collection"] = "Kanäle, die nicht in einer Sammlung sind";
+$a->strings["Image/photo"] = "Bild/Foto";
+$a->strings["Encrypted content"] = "Verschlüsselter Inhalt";
+$a->strings["Install design element: "] = "Design-Element installieren:";
+$a->strings["QR code"] = "QR-Code";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schrieb den folgenden %2\$s %3\$s";
+$a->strings["post"] = "Beitrag";
+$a->strings["$1 spoiler"] = "$1 Spoiler";
+$a->strings["$1 wrote:"] = "$1 schrieb:";
+$a->strings["Tags"] = "Schlagwörter";
+$a->strings["Keywords"] = "Schlüsselwörter";
+$a->strings["have"] = "habe";
+$a->strings["has"] = "hat";
+$a->strings["want"] = "will";
+$a->strings["wants"] = "will";
+$a->strings["like"] = "mag";
+$a->strings["likes"] = "gefällt";
+$a->strings["dislike"] = "verurteile";
+$a->strings["dislikes"] = "missfällt";
+$a->strings["__ctx:noun__ Like"] = array(
+ 0 => "Gefällt mir",
+ 1 => "Gefällt mir",
+);
+$a->strings["Logout"] = "Abmelden";
+$a->strings["End this session"] = "Beende diese Sitzung";
+$a->strings["Home"] = "Home";
+$a->strings["Your posts and conversations"] = "Deine Beiträge und Unterhaltungen";
+$a->strings["Your profile page"] = "Deine Profilseite";
+$a->strings["Edit Profiles"] = "Profile bearbeiten";
+$a->strings["Manage/Edit profiles"] = "Profile verwalten";
+$a->strings["Edit Profile"] = "Profile bearbeiten";
+$a->strings["Edit your profile"] = "Profil bearbeiten";
+$a->strings["Your photos"] = "Deine Bilder";
+$a->strings["Your files"] = "Deine Dateien";
+$a->strings["Chat"] = "Chat";
+$a->strings["Your chatrooms"] = "Deine Chaträume";
+$a->strings["Your bookmarks"] = "Deine Lesezeichen";
+$a->strings["Your webpages"] = "Deine Webseiten";
+$a->strings["Login"] = "Anmelden";
+$a->strings["Sign in"] = "Anmelden";
+$a->strings["%s - click to logout"] = "%s - Klick zum Abmelden";
+$a->strings["Remote authentication"] = "Ãœber Konto auf anderem Server einloggen";
+$a->strings["Click to authenticate to your home hub"] = "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren";
+$a->strings["Home Page"] = "Homepage";
+$a->strings["Register"] = "Registrieren";
+$a->strings["Create an account"] = "Erzeuge ein Konto";
+$a->strings["Help"] = "Hilfe";
+$a->strings["Help and documentation"] = "Hilfe und Dokumentation";
+$a->strings["Applications, utilities, links, games"] = "Anwendungen (Apps), Zubehör, Links, Spiele";
+$a->strings["Search"] = "Suche";
+$a->strings["Search site content"] = "Durchsuche Seiten-Inhalt";
+$a->strings["Directory"] = "Verzeichnis";
+$a->strings["Channel Directory"] = "Kanal-Verzeichnis";
+$a->strings["Matrix"] = "Matrix";
+$a->strings["Your matrix"] = "Deine Matrix";
+$a->strings["Mark all matrix notifications seen"] = "Markiere alle Matrix-Benachrichtigungen als angesehen";
+$a->strings["Channel Home"] = "Mein Kanal";
+$a->strings["Channel home"] = "Mein Kanal";
+$a->strings["Mark all channel notifications seen"] = "Markiere alle Kanal-Benachrichtigungen als angesehen";
+$a->strings["Connections"] = "Verbindungen";
+$a->strings["Notices"] = "Benachrichtigungen";
+$a->strings["Notifications"] = "Benachrichtigungen";
+$a->strings["See all notifications"] = "Alle Benachrichtigungen ansehen";
+$a->strings["Mark all system notifications seen"] = "Markiere alle System-Benachrichtigungen als gesehen";
+$a->strings["Mail"] = "Mail";
+$a->strings["Private mail"] = "Persönliche Mail";
+$a->strings["See all private messages"] = "Alle persönlichen Nachrichten ansehen";
+$a->strings["Mark all private messages seen"] = "Markiere alle persönlichen Nachrichten als gesehen";
+$a->strings["Inbox"] = "Eingang";
+$a->strings["Outbox"] = "Ausgang";
+$a->strings["Events"] = "Termine";
+$a->strings["Event Calendar"] = "Terminkalender";
+$a->strings["See all events"] = "Alle Termine ansehen";
+$a->strings["Mark all events seen"] = "Markiere alle Termine als gesehen";
+$a->strings["Channel Manager"] = "Kanal-Manager";
+$a->strings["Manage Your Channels"] = "Verwalte Deine Kanäle";
+$a->strings["Account/Channel Settings"] = "Konto-/Kanal-Einstellungen";
+$a->strings["Admin"] = "Administration";
+$a->strings["Site Setup and Configuration"] = "Seiten-Einrichtung und -Konfiguration";
+$a->strings["Please wait..."] = "Bitte warten...";
+$a->strings["Can view my normal stream and posts"] = "Kann meine normalen Beiträge sehen";
+$a->strings["Can view my default channel profile"] = "Kann mein Standardprofil sehen";
+$a->strings["Can view my photo albums"] = "Kann meine Fotoalben betrachten";
+$a->strings["Can view my connections"] = "Kann meine Verbindungen sehen";
+$a->strings["Can view my file storage"] = "Kann meine Dateiordner lesen";
+$a->strings["Can view my webpages"] = "Kann meine Webseiten sehen";
+$a->strings["Can send me their channel stream and posts"] = "Kann mir die Beiträge aus seinem/ihrem Kanal schicken";
+$a->strings["Can post on my channel page (\"wall\")"] = "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen";
+$a->strings["Can comment on or like my posts"] = "Darf meine Beiträge kommentieren und mögen/nicht mögen";
+$a->strings["Can send me private mail messages"] = "Kann mir private Nachrichten schicken";
+$a->strings["Can post photos to my photo albums"] = "Kann Fotos in meinen Fotoalben veröffentlichen";
+$a->strings["Can like/dislike stuff"] = "Kann andere Elemente mögen/nicht mögen";
+$a->strings["Profiles and things other than posts/comments"] = "Profile und alles außer Beiträge und Kommentare";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten";
+$a->strings["Advanced - useful for creating group forum channels"] = "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen";
+$a->strings["Can chat with me (when available)"] = "Kann mit mir chatten (wenn verfügbar)";
+$a->strings["Can write to my file storage"] = "Kann in meine Dateiordner schreiben";
+$a->strings["Can edit my webpages"] = "Kann meine Webseiten bearbeiten";
+$a->strings["Can source my public posts in derived channels"] = "Kann meine öffentlichen Beiträge als Quellen für Kanäle verwenden";
+$a->strings["Somewhat advanced - very useful in open communities"] = "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften";
+$a->strings["Can administer my channel resources"] = "Kann meine Kanäle administrieren";
+$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust";
+$a->strings["Social Networking"] = "Soziales Netzwerk";
+$a->strings["Mostly Public"] = "Weitgehend öffentlich";
+$a->strings["Restricted"] = "Beschränkt";
+$a->strings["Private"] = "Privat";
+$a->strings["Community Forum"] = "Forum";
+$a->strings["Feed Republish"] = "Teilen von Feeds";
+$a->strings["Special Purpose"] = "Für besondere Zwecke";
+$a->strings["Celebrity/Soapbox"] = "Mitteilungs-Kanal (keine Kommentare)";
+$a->strings["Group Repository"] = "Gruppenarchiv";
+$a->strings["Other"] = "Andere";
+$a->strings["Custom/Expert Mode"] = "Benutzerdefiniert/Expertenmodus";
$a->strings["New window"] = "Neues Fenster";
$a->strings["Open the selected location in a different window or browser tab"] = "Öffne die markierte Adresse in einem neuen Browser Fenster oder Tab";
$a->strings["User '%s' deleted"] = "Benutzer '%s' gelöscht";
-$a->strings["Miscellaneous"] = "Verschiedenes";
-$a->strings["year"] = "Jahr";
-$a->strings["month"] = "Monat";
-$a->strings["day"] = "Tag";
-$a->strings["never"] = "Nie";
-$a->strings["less than a second ago"] = "Vor weniger als einer Sekunde";
-$a->strings["years"] = "Jahre";
-$a->strings["months"] = "Monate";
-$a->strings["week"] = "Woche";
-$a->strings["weeks"] = "Wochen";
-$a->strings["days"] = "Tage";
-$a->strings["hour"] = "Stunde";
-$a->strings["hours"] = "Stunden";
-$a->strings["minute"] = "Minute";
-$a->strings["minutes"] = "Minuten";
-$a->strings["second"] = "Sekunde";
-$a->strings["seconds"] = "Sekunden";
-$a->strings["%1\$d %2\$s ago"] = "vor %1\$d %2\$s";
-$a->strings["%1\$s's birthday"] = "%1\$ss Geburtstag";
-$a->strings["Happy Birthday %1\$s"] = "Alles Gute zum Geburtstag, %1\$s";
+$a->strings["General Features"] = "Allgemeine Funktionen";
+$a->strings["Content Expiration"] = "Verfall von Inhalten";
+$a->strings["Remove posts/comments and/or private messages at a future time"] = "Lösche Beiträge, Kommentare und/oder private Nachrichten automatisch zu einem zukünftigen Datum.";
+$a->strings["Multiple Profiles"] = "Mehrfachprofile";
+$a->strings["Ability to create multiple profiles"] = "Mehrfachprofile anlegen können";
+$a->strings["Advanced Profiles"] = "Erweiterte Profile";
+$a->strings["Additional profile sections and selections"] = "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung";
+$a->strings["Profile Import/Export"] = "Profil-Import/Export";
+$a->strings["Save and load profile details across sites/channels"] = "Speichere Dein Profil, um es in einen anderen Kanal zu importieren";
+$a->strings["Web Pages"] = "Webseiten";
+$a->strings["Provide managed web pages on your channel"] = "Stelle verwaltete Webseiten in Deinem Kanal zur Verfügung";
+$a->strings["Private Notes"] = "Private Notizen";
+$a->strings["Enables a tool to store notes and reminders"] = "Werkzeug zum Speichern von Notizen und Erinnerungen aktivieren";
+$a->strings["Navigation Channel Select"] = "Kanal-Auswahl in der Navigationsleiste";
+$a->strings["Change channels directly from within the navigation dropdown menu"] = "Wechsle direkt über das Navigationsmenü zu anderen Kanälen";
+$a->strings["Extended Identity Sharing"] = "Erweitertes Teilen von Identitäten";
+$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Teile Deine Identität mit allen Webseiten im Internet. Ist dies deaktiviert, wird Deine Identität nur mit Red-Servern geteilt.";
+$a->strings["Expert Mode"] = "Expertenmodus";
+$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Aktiviere den Expertenmodus, um fortgeschrittene Konfigurationsoptionen zu aktivieren";
+$a->strings["Premium Channel"] = "Premium-Kanal";
+$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen";
+$a->strings["Post Composition Features"] = "Nachbearbeitungsfunktionen";
+$a->strings["Use Markdown"] = "Markdown benutzen";
+$a->strings["Allow use of \"Markdown\" to format posts"] = "Erlaube die Verwendung von \"Markdown\"-Syntax zur Formatierung von Beiträgen";
+$a->strings["Post Preview"] = "Voransicht";
+$a->strings["Allow previewing posts and comments before publishing them"] = "Erlaube Voransicht von Beiträgen und Kommentaren vor Veröffentlichung";
+$a->strings["Automatically import channel content from other channels or feeds"] = "Importiere automatisch Inhalte für diesen Kanal von anderen Kanälen oder Feeds";
+$a->strings["Even More Encryption"] = "Noch mehr Verschlüsselung";
+$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Erlaube optionale Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Sicherheitsschlüssel)";
+$a->strings["Network and Stream Filtering"] = "Netzwerk- und Stream-Filter";
+$a->strings["Search by Date"] = "Suche nach Datum";
+$a->strings["Ability to select posts by date ranges"] = "Möglichkeit, Beiträge nach Zeiträumen auszuwählen";
+$a->strings["Collections Filter"] = "Filter für Sammlung";
+$a->strings["Enable widget to display Network posts only from selected collections"] = "Aktiviere nur Netzwerk-Beiträge von ausgewählten Sammlungen";
+$a->strings["Save search terms for re-use"] = "Suchbegriffe zur Wiederverwendung abspeichern";
+$a->strings["Network Personal Tab"] = "Persönlicher Netzwerkreiter";
+$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Aktiviere Reiter nur für die Netzwerk-Beiträge, mit denen Du interagiert hast";
+$a->strings["Network New Tab"] = "Netzwerkreiter Neu";
+$a->strings["Enable tab to display all new Network activity"] = "Aktiviere Reiter, um alle neuen Netzwerkaktivitäten zu zeigen";
+$a->strings["Affinity Tool"] = "Beziehungs-Tool";
+$a->strings["Filter stream activity by depth of relationships"] = "Filter Aktivitätenstream nach Tiefe der Beziehung";
+$a->strings["Suggest Channels"] = "Kanäle vorschlagen";
+$a->strings["Show channel suggestions"] = "Kanal-Vorschläge anzeigen";
+$a->strings["Post/Comment Tools"] = "Beitrag-/Kommentar-Tools";
+$a->strings["Edit Sent Posts"] = "Bearbeite gesendete Beiträge";
+$a->strings["Edit and correct posts and comments after sending"] = "Bearbeite und korrigiere Beiträge und Kommentare nach dem Senden";
+$a->strings["Tagging"] = "Verschlagworten";
+$a->strings["Ability to tag existing posts"] = "Möglichkeit, um existierende Beiträge zu verschlagworten";
+$a->strings["Post Categories"] = "Beitrags-Kategorien";
+$a->strings["Add categories to your posts"] = "Kategorien für Beiträge";
+$a->strings["Ability to file posts under folders"] = "Möglichkeit, Beiträge in Verzeichnissen zu sammeln";
+$a->strings["Dislike Posts"] = "Gefällt-mir-nicht Beiträge";
+$a->strings["Ability to dislike posts/comments"] = "„Gefällt mir nicht“ ermöglichen";
+$a->strings["Star Posts"] = "Beiträge mit Sternchen versehen";
+$a->strings["Ability to mark special posts with a star indicator"] = "Möglichkeit, spezielle Beiträge mit Sternchen-Symbol zu markieren";
+$a->strings["Tag Cloud"] = "Schlagwort-Wolke";
+$a->strings["Provide a personal tag cloud on your channel page"] = "Persönliche Schlagwort-Wolke auf Deiner Kanal-Seite anzeigen";
+$a->strings["Not a valid email address"] = "Ungültige E-Mail-Adresse";
+$a->strings["Your email domain is not among those allowed on this site"] = "Deine E-Mail-Adresse ist dieser Seite nicht erlaubt";
+$a->strings["Your email address is already registered at this site."] = "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert.";
+$a->strings["An invitation is required."] = "Eine Einladung wird benötigt";
+$a->strings["Invitation could not be verified."] = "Die Einladung konnte nicht bestätigt werden";
+$a->strings["Please enter the required information."] = "Bitte gib die benötigten Informationen ein.";
+$a->strings["Failed to store account information."] = "Speichern der Account-Informationen fehlgeschlagen";
+$a->strings["Registration confirmation for %s"] = "Registrierungsbestätigung für %s";
+$a->strings["Registration request at %s"] = "Registrierungsanfrage auf %s";
+$a->strings["Administrator"] = "Administrator";
+$a->strings["your registration password"] = "Dein Registrierungspasswort";
+$a->strings["Registration details for %s"] = "Registrierungsdetails für %s";
+$a->strings["Account approved."] = "Account bestätigt.";
+$a->strings["Registration revoked for %s"] = "Registrierung für %s widerrufen";
+$a->strings["Account verified. Please login."] = "Konto geprüft. Bitte melde Dich an!";
+$a->strings["Click here to upgrade."] = "Klicke hier, um das Upgrade durchzuführen.";
+$a->strings["This action exceeds the limits set by your subscription plan."] = "Diese Aktion überschreitet die Grenzen Ihres Abonnements.";
+$a->strings["This action is not available under your subscription plan."] = "Diese Aktion ist in Ihrem Abonnement nicht verfügbar.";
$a->strings["Unable to obtain identity information from database"] = "Kann keine Identitäts-Informationen aus Datenbank beziehen";
$a->strings["Empty name"] = "Namensfeld leer";
$a->strings["Name too long"] = "Name ist zu lang";
@@ -165,18 +521,15 @@ $a->strings["Reserved nickname. Please choose another."] = "Reservierter Kurznam
$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt.";
$a->strings["Unable to retrieve created identity"] = "Kann die erstellte Identität nicht empfangen";
$a->strings["Default Profile"] = "Standard-Profil";
-$a->strings["Friends"] = "Freunde";
$a->strings["Requested channel is not available."] = "Angeforderte Kanal nicht verfügbar.";
$a->strings["Requested profile is not available."] = "Erwünschte Profil ist nicht verfügbar.";
$a->strings["Change profile photo"] = "Profilfoto ändern";
$a->strings["Profiles"] = "Profile";
$a->strings["Manage/edit profiles"] = "Profile verwalten/bearbeiten";
$a->strings["Create New Profile"] = "Neues Profil erstellen";
-$a->strings["Edit Profile"] = "Profile bearbeiten";
$a->strings["Profile Image"] = "Profilfoto:";
$a->strings["visible to everybody"] = "sichtbar für jeden";
$a->strings["Edit visibility"] = "Sichtbarkeit bearbeiten";
-$a->strings["Location:"] = "Ort:";
$a->strings["Gender:"] = "Geschlecht:";
$a->strings["Status:"] = "Status:";
$a->strings["Homepage:"] = "Homepage:";
@@ -187,15 +540,11 @@ $a->strings["[today]"] = "[Heute]";
$a->strings["Birthday Reminders"] = "Geburtstags Erinnerungen";
$a->strings["Birthdays this week:"] = "Geburtstage in dieser Woche:";
$a->strings["[No description]"] = "[Keine Beschreibung]";
-$a->strings["Event Reminders"] = "Veranstaltungs- Erinnerungen";
-$a->strings["Events this week:"] = "Veranstaltungen in dieser Woche:";
+$a->strings["Event Reminders"] = "Termin-Erinnerungen";
+$a->strings["Events this week:"] = "Termine in dieser Woche:";
$a->strings["Profile"] = "Profil";
$a->strings["Full Name:"] = "Voller Name:";
$a->strings["Like this channel"] = "Dieser Kanal gefällt mir";
-$a->strings["__ctx:noun__ Like"] = array(
- 0 => "Gefällt mir",
- 1 => "Gefällt mir",
-);
$a->strings["j F, Y"] = "j. F Y";
$a->strings["j F"] = "j. F";
$a->strings["Birthday:"] = "Geburtstag:";
@@ -220,28 +569,71 @@ $a->strings["Love/Romance:"] = "Liebe/Romantik:";
$a->strings["Work/employment:"] = "Arbeit/Anstellung:";
$a->strings["School/education:"] = "Schule/Ausbildung:";
$a->strings["Like this thing"] = "Gefällt mir";
-$a->strings["New Page"] = "Neue Seite";
-$a->strings["View"] = "Ansicht";
-$a->strings["Preview"] = "Vorschau";
-$a->strings["Actions"] = "Aktionen";
-$a->strings["Page Link"] = "Seiten-Link";
-$a->strings["Title"] = "Titel";
-$a->strings["Created"] = "Erstellt";
-$a->strings["Edited"] = "Geändert";
+$a->strings["Permission denied"] = "Keine Berechtigung";
+$a->strings["(Unknown)"] = "(Unbekannt)";
+$a->strings["Visible to anybody on the internet."] = "Für jeden im Internet sichtbar.";
+$a->strings["Visible to you only."] = "Nur für Dich sichtbar.";
+$a->strings["Visible to anybody in this network."] = "Für jedes Mitglied der RedMatrix sichtbar.";
+$a->strings["Visible to anybody authenticated."] = "Für jeden sichtbar, der angemeldet ist.";
+$a->strings["Visible to anybody on %s."] = "Für jeden auf %s sichtbar.";
+$a->strings["Visible to all connections."] = "Für alle Verbindungen sichtbar.";
+$a->strings["Visible to approved connections."] = "Nur für akzeptierte Verbindungen sichtbar.";
+$a->strings["Visible to specific connections."] = "Sichtbar für bestimmte Verbindungen.";
+$a->strings["Item not found."] = "Element nicht gefunden.";
+$a->strings["Collection not found."] = "Sammlung nicht gefunden";
+$a->strings["Collection is empty."] = "Sammlung ist leer.";
+$a->strings["Collection: %s"] = "Sammlung: %s";
+$a->strings["Connection: %s"] = "Verbindung: %s";
+$a->strings["Connection not found."] = "Die Verbindung wurde nicht gefunden.";
$a->strings["No recipient provided."] = "Kein Empfänger angegeben";
$a->strings["[no subject]"] = "[no subject]";
$a->strings["Unable to determine sender."] = "Kann Absender nicht bestimmen.";
$a->strings["Stored post could not be verified."] = "Gespeicherter Beitrag konnten nicht überprüft werden.";
-$a->strings["Tags"] = "Schlagwörter";
-$a->strings["Keywords"] = "Schlüsselwörter";
-$a->strings["have"] = "habe";
-$a->strings["has"] = "hat";
-$a->strings["want"] = "will";
-$a->strings["wants"] = "will";
-$a->strings["like"] = "mag";
-$a->strings["likes"] = "gefällt";
-$a->strings["dislike"] = "verurteile";
-$a->strings["dislikes"] = "missfällt";
+$a->strings["view full size"] = "In Vollbildansicht anschauen";
+$a->strings["Item was not found."] = "Beitrag wurde nicht gefunden.";
+$a->strings["No source file."] = "Keine Quelldatei.";
+$a->strings["Cannot locate file to replace"] = "Kann Datei zum Ersetzen nicht finden";
+$a->strings["Cannot locate file to revise/update"] = "Kann Datei zum Prüfen/Aktualisieren nicht finden";
+$a->strings["File exceeds size limit of %d"] = "Datei überschreitet das Größen-Limit von %d";
+$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht.";
+$a->strings["File upload failed. Possible system limit or action terminated."] = "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess.";
+$a->strings["Stored file could not be verified. Upload failed."] = "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen.";
+$a->strings["Path not available."] = "Pfad nicht verfügbar.";
+$a->strings["Empty pathname"] = "Leere Pfadangabe";
+$a->strings["duplicate filename or path"] = "doppelter Dateiname oder Pfad";
+$a->strings["Path not found."] = "Pfad nicht gefunden.";
+$a->strings["mkdir failed."] = "mkdir fehlgeschlagen.";
+$a->strings["database storage failed."] = "Speichern in der Datenbank fehlgeschlagen.";
+$a->strings["Logged out."] = "Ausgeloggt.";
+$a->strings["Failed authentication"] = "Authentifizierung fehlgeschlagen";
+$a->strings["Login failed."] = "Login fehlgeschlagen.";
+$a->strings["Miscellaneous"] = "Verschiedenes";
+$a->strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-TT oder MM-TT";
+$a->strings["never"] = "Nie";
+$a->strings["less than a second ago"] = "Vor weniger als einer Sekunde";
+$a->strings["year"] = "Jahr";
+$a->strings["years"] = "Jahre";
+$a->strings["month"] = "Monat";
+$a->strings["months"] = "Monate";
+$a->strings["week"] = "Woche";
+$a->strings["weeks"] = "Wochen";
+$a->strings["day"] = "Tag";
+$a->strings["days"] = "Tage";
+$a->strings["hour"] = "Stunde";
+$a->strings["hours"] = "Stunden";
+$a->strings["minute"] = "Minute";
+$a->strings["minutes"] = "Minuten";
+$a->strings["second"] = "Sekunde";
+$a->strings["seconds"] = "Sekunden";
+$a->strings["%1\$d %2\$s ago"] = "vor %1\$d %2\$s";
+$a->strings["%1\$s's birthday"] = "%1\$ss Geburtstag";
+$a->strings["Happy Birthday %1\$s"] = "Alles Gute zum Geburtstag, %1\$s";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "Bild überschreitet das Limit der Webseite von %lu bytes";
+$a->strings["Image file is empty."] = "Bilddatei ist leer.";
+$a->strings["Unable to process image"] = "Kann Bild nicht verarbeiten";
+$a->strings["Photo storage failed."] = "Foto speichern schlug fehl";
+$a->strings["Upload New Photos"] = "Lade neue Fotos hoch";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde.";
$a->strings["Delete this item?"] = "Dieses Element löschen?";
$a->strings["Comment"] = "Kommentar";
$a->strings["[+] show all"] = "[+] Zeige alle";
@@ -273,56 +665,6 @@ $a->strings["about a year"] = "ungefähr ein Jahr";
$a->strings["%d years"] = "%d Jahre";
$a->strings[" "] = " ";
$a->strings["timeago.numbers"] = "timeago.numbers";
-$a->strings["Can view my normal stream and posts"] = "Kann meine normalen Beiträge sehen";
-$a->strings["Can view my default channel profile"] = "Kann mein Standardprofil sehen";
-$a->strings["Can view my photo albums"] = "Kann meine Fotoalben betrachten";
-$a->strings["Can view my connections"] = "Kann meine Verbindungen sehen";
-$a->strings["Can view my file storage"] = "Kann meine Dateiordner lesen";
-$a->strings["Can view my webpages"] = "Kann meine Webseiten sehen";
-$a->strings["Can send me their channel stream and posts"] = "Kann mir die Beiträge aus seinem/ihrem Kanal schicken";
-$a->strings["Can post on my channel page (\"wall\")"] = "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen";
-$a->strings["Can comment on or like my posts"] = "Darf meine Beiträge kommentieren und mögen/nicht mögen";
-$a->strings["Can send me private mail messages"] = "Kann mir private Nachrichten schicken";
-$a->strings["Can post photos to my photo albums"] = "Kann Fotos in meinen Fotoalben veröffentlichen";
-$a->strings["Can like/dislike stuff"] = "Kann andere Elemente mögen/nicht mögen";
-$a->strings["Profiles and things other than posts/comments"] = "Profile und alles außer Beiträge und Kommentare";
-$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten";
-$a->strings["Advanced - useful for creating group forum channels"] = "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen";
-$a->strings["Can chat with me (when available)"] = "Kann mit mir chatten (wenn verfügbar)";
-$a->strings["Can write to my file storage"] = "Kann in meine Dateiordner schreiben";
-$a->strings["Can edit my webpages"] = "Kann meine Webseiten bearbeiten";
-$a->strings["Can source my public posts in derived channels"] = "Kann meine öffentlichen Beiträge als Quellen für Kanäle verwenden";
-$a->strings["Somewhat advanced - very useful in open communities"] = "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften";
-$a->strings["Can administer my channel resources"] = "Kann meine Kanäle administrieren";
-$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust";
-$a->strings["Social Networking"] = "Soziales Netzwerk";
-$a->strings["Mostly Public"] = "Weitgehend öffentlich";
-$a->strings["Restricted"] = "Beschränkt";
-$a->strings["Private"] = "Privat";
-$a->strings["Community Forum"] = "Forum";
-$a->strings["Feed Republish"] = "Teilen von Feeds";
-$a->strings["Celebrity/Soapbox"] = "Mitteilungs-Kanal (keine Kommentare)";
-$a->strings["Other"] = "Anders";
-$a->strings["Custom/Expert Mode"] = "Benutzerdefiniert/Expertenmodus";
-$a->strings["Frequently"] = "Häufig";
-$a->strings["Hourly"] = "Stündlich";
-$a->strings["Twice daily"] = "Zwei Mal am Tag";
-$a->strings["Daily"] = "Täglich";
-$a->strings["Weekly"] = "Wöchentlich";
-$a->strings["Monthly"] = "Monatlich";
-$a->strings["Friendica"] = "Friendica";
-$a->strings["OStatus"] = "OStatus";
-$a->strings["RSS/Atom"] = "RSS/Atom";
-$a->strings["Diaspora"] = "Diaspora";
-$a->strings["Facebook"] = "Facebook";
-$a->strings["Zot!"] = "Zot!";
-$a->strings["LinkedIn"] = "LinkedIn";
-$a->strings["XMPP/IM"] = "XMPP/IM";
-$a->strings["MySpace"] = "MySpace";
-$a->strings["l F d, Y \\@ g:i A"] = "l, d. F Y\\\\, H:i";
-$a->strings["Starts:"] = "Beginnt:";
-$a->strings["Finishes:"] = "Endet:";
-$a->strings["This event has been added to your calendar."] = "Dieses Ereignis wurde zu Deinem Kalender hinzugefügt";
$a->strings["Male"] = "Männlich";
$a->strings["Female"] = "Weiblich";
$a->strings["Currently Male"] = "Momentan männlich";
@@ -379,102 +721,6 @@ $a->strings["Uncertain"] = "Ungewiss";
$a->strings["It's complicated"] = "Es ist kompliziert";
$a->strings["Don't care"] = "Interessiert mich nicht";
$a->strings["Ask me"] = "Frag mich mal";
-$a->strings["Not a valid email address"] = "Ungültige E-Mail-Adresse";
-$a->strings["Your email domain is not among those allowed on this site"] = "Deine E-Mail-Adresse ist dieser Seite nicht erlaubt";
-$a->strings["Your email address is already registered at this site."] = "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert.";
-$a->strings["An invitation is required."] = "Eine Einladung wird benötigt";
-$a->strings["Invitation could not be verified."] = "Die Einladung konnte nicht bestätigt werden";
-$a->strings["Please enter the required information."] = "Bitte gib die benötigten Informationen ein.";
-$a->strings["Failed to store account information."] = "Speichern der Account-Informationen fehlgeschlagen";
-$a->strings["Registration confirmation for %s"] = "Registrierungsbestätigung für %s";
-$a->strings["Registration request at %s"] = "Registrierungsanfrage auf %s";
-$a->strings["Administrator"] = "Administrator";
-$a->strings["your registration password"] = "Dein Registrierungspasswort";
-$a->strings["Registration details for %s"] = "Registrierungsdetails für %s";
-$a->strings["Account approved."] = "Account bestätigt.";
-$a->strings["Registration revoked for %s"] = "Registrierung für %s widerrufen";
-$a->strings["Account verified. Please login."] = "Konto geprüft. Bitte melde Dich an!";
-$a->strings["Click here to upgrade."] = "Klicke hier, um das Upgrade durchzuführen.";
-$a->strings["This action exceeds the limits set by your subscription plan."] = "Diese Aktion überschreitet die Grenzen Ihres Abonnements.";
-$a->strings["This action is not available under your subscription plan."] = "Diese Aktion ist in Ihrem Abonnement nicht verfügbar.";
-$a->strings["Embedded content"] = "Eingebetteter Inhalt";
-$a->strings["Embedding disabled"] = "Einbetten ausgeschaltet";
-$a->strings["Invalid data packet"] = "Ungültiges Datenpaket";
-$a->strings["Unable to verify channel signature"] = "Konnte die Signatur des Kanals nicht verifizieren";
-$a->strings["Unable to verify site signature for %s"] = "Kann die Signatur der Seite von %s nicht verifizieren";
-$a->strings["view full size"] = "In Vollbildansicht anschauen";
-$a->strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden";
-$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Ein gelöschte Gruppe mit diesem Namen wurde gefunden. Existierende Zugangsregeln für Elemente <strong>könnten</strong> für diese Gruppe angewendet werden, sowie für alle zukünftigen Elemente.";
-$a->strings["Default privacy group for new contacts"] = "Standard-Privatsphärengruppe für neue Kontakte";
-$a->strings["All Channels"] = "Alle Kanäle";
-$a->strings["edit"] = "Bearbeiten";
-$a->strings["Collections"] = "Sammlungen";
-$a->strings["Edit collection"] = "Bearbeite Sammlungen";
-$a->strings["Create a new collection"] = "Neue Sammlung erzeugen";
-$a->strings["Channels not in any collection"] = "Kanäle, die nicht in einer Sammlung sind";
-$a->strings["add"] = "hinzufügen";
-$a->strings["Item was not found."] = "Beitrag wurde nicht gefunden.";
-$a->strings["No source file."] = "Keine Quelldatei.";
-$a->strings["Cannot locate file to replace"] = "Kann Datei zum Ersetzen nicht finden";
-$a->strings["Cannot locate file to revise/update"] = "Kann Datei zum Prüfen/Aktualisieren nicht finden";
-$a->strings["File exceeds size limit of %d"] = "Datei überschreitet das Größen-Limit von %d";
-$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht.";
-$a->strings["File upload failed. Possible system limit or action terminated."] = "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess.";
-$a->strings["Stored file could not be verified. Upload failed."] = "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen.";
-$a->strings["Path not available."] = "Pfad nicht verfügbar.";
-$a->strings["Empty pathname"] = "Leere Pfadangabe";
-$a->strings["duplicate filename or path"] = "doppelter Dateiname oder Pfad";
-$a->strings["Path not found."] = "Pfad nicht gefunden.";
-$a->strings["mkdir failed."] = "mkdir fehlgeschlagen.";
-$a->strings["database storage failed."] = "Speichern in der Datenbank fehlgeschlagen.";
-$a->strings["Private Message"] = "Private Nachricht";
-$a->strings["Select"] = "Auswählen";
-$a->strings["Save to Folder"] = "In Ordner speichern";
-$a->strings["View all"] = "Alles anzeigen";
-$a->strings["__ctx:noun__ Dislike"] = array(
- 0 => "Gefällt nicht",
- 1 => "Gefällt nicht",
-);
-$a->strings["Add Star"] = "Stern hinzufügen";
-$a->strings["Remove Star"] = "Stern entfernen";
-$a->strings["Toggle Star Status"] = "Stern-Status umschalten";
-$a->strings["starred"] = "markiert";
-$a->strings["Message signature validated"] = "Signatur überprüft";
-$a->strings["Message signature incorrect"] = "Signatur nicht korrekt";
-$a->strings["Add Tag"] = "Tag hinzufügen";
-$a->strings["I like this (toggle)"] = "Mir gefällt das (Umschalter)";
-$a->strings["I don't like this (toggle)"] = "Mir gefällt das nicht (Umschalter)";
-$a->strings["Share This"] = "Teilen";
-$a->strings["share"] = "Teilen";
-$a->strings["View %s's profile - %s"] = "Schaue Dir %ss Profil an – %s";
-$a->strings["to"] = "an";
-$a->strings["via"] = "via";
-$a->strings["Wall-to-Wall"] = "Wall-to-Wall";
-$a->strings["via Wall-To-Wall:"] = "via Wall-To-Wall:";
-$a->strings[" from %s"] = "von %s";
-$a->strings["last edited: %s"] = "zuletzt bearbeitet: %s";
-$a->strings["Expires: %s"] = "Verfällt: %s";
-$a->strings["Save Bookmarks"] = "Favoriten speichern";
-$a->strings["Add to Calendar"] = "Zum Kalender hinzufügen";
-$a->strings["__ctx:noun__ Likes"] = "Gefällt mir";
-$a->strings["__ctx:noun__ Dislikes"] = "Gefällt nicht";
-$a->strings["Close"] = "Schließen";
-$a->strings["Please wait"] = "Bitte warten";
-$a->strings["%d comment"] = array(
- 0 => "%d Kommentar",
- 1 => "%d Kommentare",
-);
-$a->strings["This is you"] = "Das bist Du";
-$a->strings["Bold"] = "Fett";
-$a->strings["Italic"] = "Kursiv";
-$a->strings["Underline"] = "Unterstrichen";
-$a->strings["Quote"] = "Zitat";
-$a->strings["Code"] = "Code";
-$a->strings["Image"] = "Bild";
-$a->strings["Link"] = "Link";
-$a->strings["Video"] = "Video";
-$a->strings["Encrypt text"] = "Text verschlüsseln";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde.";
$a->strings["prev"] = "vorherige";
$a->strings["first"] = "erste";
$a->strings["last"] = "letzte";
@@ -487,10 +733,7 @@ $a->strings["%d Connection"] = array(
1 => "%d Verbindungen",
);
$a->strings["View Connections"] = "Verbindungen anzeigen";
-$a->strings["Search"] = "Suche";
-$a->strings["Save"] = "Speichern";
$a->strings["poke"] = "anstupsen";
-$a->strings["poked"] = "stupste";
$a->strings["ping"] = "anpingen";
$a->strings["pinged"] = "pingte";
$a->strings["prod"] = "knuffen";
@@ -551,199 +794,23 @@ $a->strings["Select a page layout: "] = "Ein Seiten-Layout auswählen:";
$a->strings["default"] = "Standard";
$a->strings["Page content type: "] = "Content-Typ der Seite:";
$a->strings["Select an alternate language"] = "Wähle eine alternative Sprache";
-$a->strings["photo"] = "Foto";
-$a->strings["event"] = "Ereignis";
-$a->strings["status"] = "Status";
-$a->strings["comment"] = "Kommentar";
$a->strings["activity"] = "Aktivität";
$a->strings["Design"] = "Design";
$a->strings["Blocks"] = "Blöcke";
$a->strings["Menus"] = "Menüs";
$a->strings["Layouts"] = "Layouts";
$a->strings["Pages"] = "Seiten";
-$a->strings["Sort Options"] = "Sortieroptionen";
-$a->strings["Alphabetic"] = "alphabetisch";
-$a->strings["Reverse Alphabetic"] = "Entgegengesetzt alphabetisch";
-$a->strings["Newest to Oldest"] = "Neueste zuerst";
-$a->strings["Enable Safe Search"] = "Sichere Suche einschalten";
-$a->strings["Disable Safe Search"] = "Sichere Suche ausschalten";
-$a->strings["Safe Mode"] = "Sicherer Modus";
-$a->strings["Image/photo"] = "Bild/Foto";
-$a->strings["Encrypted content"] = "Verschlüsselter Inhalt";
-$a->strings["Install design element: "] = "Design-Element installieren:";
-$a->strings["QR code"] = "QR-Code";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schrieb den folgenden %2\$s %3\$s";
-$a->strings["post"] = "Beitrag";
-$a->strings["$1 spoiler"] = "$1 Spoiler";
-$a->strings["$1 wrote:"] = "$1 schrieb:";
-$a->strings["Red Matrix Notification"] = "Red Matrix Benachrichtigung";
-$a->strings["redmatrix"] = "redmatrix";
-$a->strings["Thank You,"] = "Danke.";
-$a->strings["%s Administrator"] = "der Administrator von %s";
-$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
-$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Benachrichtigung] Neue Mail auf %s empfangen";
-$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s hat Dir eine private Nachricht auf %3\$s gesendet.";
-$a->strings["%1\$s sent you %2\$s."] = "%1\$s hat Dir %2\$s geschickt.";
-$a->strings["a private message"] = "eine private Nachricht";
-$a->strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten.";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]a %4\$s[/zrl] kommentiert";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]%4\$ss %5\$s[/zrl] kommentiert";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen %4\$s[/zrl] kommentiert";
-$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Benachrichtigung] Kommentar in Unterhaltung #%1\$d von %2\$s";
-$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s hat eine Unterhaltung kommentiert, der Du folgst.";
-$a->strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren.";
-$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Hinweis] %s schrieb auf Deine Pinnwand";
-$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s hat auf Deine Pinnwand auf %3\$s geschrieben";
-$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s hat auf [zrl=%3\$s]Deine Pinnwand[/zrl] geschrieben";
-$a->strings["[Red:Notify] %s tagged you"] = "[Red:Benachrichtigung] %s hat Dich erwähnt";
-$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s erwähnt";
-$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]hat Dich erwähnt[/zrl].";
-$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Benachrichtigung] %1\$s hat Dich angestupst";
-$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s angestupst";
-$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]hat Dich angestupst[/zrl].";
-$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Benachrichtigung] %s hat Deinen Beitrag getaggt";
-$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s hat Deinen Beitrag auf %3\$s verschlagwortet";
-$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen Beitrag[/zrl] verschlagwortet";
-$a->strings["[Red:Notify] Introduction received"] = "[Red:Benachrichtigung] Vorstellung erhalten";
-$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, Du hast eine neue Verbindungsanfrage von '%2\$s' auf %3\$s erhalten";
-$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, Du hast [zrl=%2\$s]eine neue Verbindungsanfrage[/zrl] von %3\$s erhalten.";
-$a->strings["You may visit their profile at %s"] = "Du kannst Dir das Profil unter %s ansehen";
-$a->strings["Please visit %s to approve or reject the connection request."] = "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen.";
-$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Benachrichtigung] Freundschaftsvorschlag erhalten";
-$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, Du hast einen Kontaktvorschlag von „%2\$s“ auf %3\$s erhalten";
-$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, Du hast [zrl=%2\$s]einen Kontaktvorschlag[/zrl] für %3\$s von %4\$s erhalten.";
-$a->strings["Name:"] = "Name:";
-$a->strings["Photo:"] = "Foto:";
-$a->strings["Please visit %s to approve or reject the suggestion."] = "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen.";
-$a->strings["[Red:Notify]"] = "[Red:Benachrichtigung]";
-$a->strings["%1\$s's bookmarks"] = "%1\$ss Lesezeichen";
-$a->strings["End this session"] = "Beende diese Sitzung";
-$a->strings["Home"] = "Home";
-$a->strings["Your posts and conversations"] = "Deine Beiträge und Unterhaltungen";
-$a->strings["View Profile"] = "Profil ansehen";
-$a->strings["Your profile page"] = "Deine Profilseite";
-$a->strings["Edit Profiles"] = "Profile bearbeiten";
-$a->strings["Manage/Edit profiles"] = "Profile verwalten";
-$a->strings["Edit your profile"] = "Profil bearbeiten";
-$a->strings["Photos"] = "Fotos";
-$a->strings["Your photos"] = "Deine Bilder";
-$a->strings["Your files"] = "Deine Dateien";
-$a->strings["Chat"] = "Chat";
-$a->strings["Your chatrooms"] = "Deine Chaträume";
-$a->strings["Bookmarks"] = "Lesezeichen";
-$a->strings["Your bookmarks"] = "Deine Lesezeichen";
-$a->strings["Webpages"] = "Webseiten";
-$a->strings["Your webpages"] = "Deine Webseiten";
-$a->strings["Sign in"] = "Anmelden";
-$a->strings["%s - click to logout"] = "%s - Klick zum Abmelden";
-$a->strings["Remote authentication"] = "Ãœber Konto auf anderem Server einloggen";
-$a->strings["Click to authenticate to your home hub"] = "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren";
-$a->strings["Home Page"] = "Homepage";
-$a->strings["Create an account"] = "Erzeuge ein Konto";
-$a->strings["Help"] = "Hilfe";
-$a->strings["Help and documentation"] = "Hilfe und Dokumentation";
-$a->strings["Apps"] = "Apps";
-$a->strings["Applications, utilities, links, games"] = "Anwendungen (Apps), Zubehör, Links, Spiele";
-$a->strings["Search site content"] = "Durchsuche Seiten-Inhalt";
-$a->strings["Directory"] = "Verzeichnis";
-$a->strings["Channel Locator"] = "Kanal-Verzeichnis";
-$a->strings["Matrix"] = "Matrix";
-$a->strings["Your matrix"] = "Deine Matrix";
-$a->strings["Mark all matrix notifications seen"] = "Markiere alle Matrix-Benachrichtigungen als angesehen";
-$a->strings["Channel Home"] = "Mein Kanal";
-$a->strings["Channel home"] = "Mein Kanal";
-$a->strings["Mark all channel notifications seen"] = "Markiere alle Kanal-Benachrichtigungen als angesehen";
-$a->strings["Connections"] = "Verbindungen";
-$a->strings["Notices"] = "Benachrichtigungen";
-$a->strings["Notifications"] = "Benachrichtigungen";
-$a->strings["See all notifications"] = "Alle Benachrichtigungen ansehen";
-$a->strings["Mark all system notifications seen"] = "Markiere alle System-Benachrichtigungen als gesehen";
-$a->strings["Mail"] = "Mail";
-$a->strings["Private mail"] = "Persönliche Mail";
-$a->strings["See all private messages"] = "Alle persönlichen Nachrichten ansehen";
-$a->strings["Mark all private messages seen"] = "Markiere alle persönlichen Nachrichten als gesehen";
-$a->strings["Inbox"] = "Eingang";
-$a->strings["Outbox"] = "Ausgang";
-$a->strings["New Message"] = "Neue Nachricht";
-$a->strings["Events"] = "Veranstaltungen";
-$a->strings["Event Calendar"] = "Veranstaltungskalender";
-$a->strings["See all events"] = "Alle Ereignisse ansehen";
-$a->strings["Mark all events seen"] = "Markiere alle Ereignisse als gesehen";
-$a->strings["Channel Manager"] = "Kanal-Manager";
-$a->strings["Manage Your Channels"] = "Verwalte Deine Kanäle";
-$a->strings["Settings"] = "Einstellungen";
-$a->strings["Account/Channel Settings"] = "Konto-/Kanal-Einstellungen";
-$a->strings["Admin"] = "Administration";
-$a->strings["Site Setup and Configuration"] = "Seiten-Einrichtung und -Konfiguration";
-$a->strings["Loading..."] = "Lädt ...";
-$a->strings["Please wait..."] = "Bitte warten...";
-$a->strings["General Features"] = "Allgemeine Funktionen";
-$a->strings["Content Expiration"] = "Verfall von Inhalten";
-$a->strings["Remove posts/comments and/or private messages at a future time"] = "Lösche Beiträge, Kommentare und/oder private Nachrichten automatisch zu einem zukünftigen Datum.";
-$a->strings["Multiple Profiles"] = "Mehrfachprofile";
-$a->strings["Ability to create multiple profiles"] = "Mehrfachprofile anlegen können";
-$a->strings["Advanced Profiles"] = "Erweiterte Profile";
-$a->strings["Additional profile sections and selections"] = "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung";
-$a->strings["Profile Import/Export"] = "Profil-Import/Export";
-$a->strings["Save and load profile details across sites/channels"] = "Speichere Dein Profil, um es in einen anderen Kanal zu importieren";
-$a->strings["Web Pages"] = "Webseiten";
-$a->strings["Provide managed web pages on your channel"] = "Stelle verwaltete Webseiten in Deinem Kanal zur Verfügung";
-$a->strings["Private Notes"] = "Private Notizen";
-$a->strings["Enables a tool to store notes and reminders"] = "Werkzeug zum Speichern von Notizen und Erinnerungen aktivieren";
-$a->strings["Navigation Channel Select"] = "Kanal-Auswahl in der Navigationsleiste";
-$a->strings["Change channels directly from within the navigation dropdown menu"] = "Wechsle direkt über das Navigationsmenü zu anderen Kanälen";
-$a->strings["Extended Identity Sharing"] = "Erweitertes Teilen von Identitäten";
-$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Teile Deine Identität mit allen Webseiten im Internet. Ist dies deaktiviert, wird Deine Identität nur mit Red-Servern geteilt.";
-$a->strings["Expert Mode"] = "Expertenmodus";
-$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Aktiviere den Expertenmodus, um fortgeschrittene Konfigurationsoptionen zu aktivieren";
-$a->strings["Premium Channel"] = "Premium-Kanal";
-$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ermöglicht Einschränkungen und Bedingungen für Kontakte dieses Kanals";
-$a->strings["Post Composition Features"] = "Nachbearbeitungsfunktionen";
-$a->strings["Use Markdown"] = "Markdown benutzen";
-$a->strings["Allow use of \"Markdown\" to format posts"] = "Erlaube Markdown zur Formatierung von Beiträgen";
-$a->strings["Post Preview"] = "Voransicht";
-$a->strings["Allow previewing posts and comments before publishing them"] = "Erlaube Voransicht von Beiträgen und Kommentaren vor Veröffentlichung";
-$a->strings["Channel Sources"] = "Kanal-Quellen";
-$a->strings["Automatically import channel content from other channels or feeds"] = "Importiere automatisch Inhalte für diesen Kanal von anderen Kanälen oder Feeds";
-$a->strings["Even More Encryption"] = "Noch mehr Verschlüsselung";
-$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Erlaube optionale Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Sicherheitsschlüssel)";
-$a->strings["Network and Stream Filtering"] = "Netzwerk- und Stream-Filter";
-$a->strings["Search by Date"] = "Suche nach Datum";
-$a->strings["Ability to select posts by date ranges"] = "Möglichkeit, Beiträge nach Zeiträumen auszuwählen";
-$a->strings["Collections Filter"] = "Filter für Sammlung";
-$a->strings["Enable widget to display Network posts only from selected collections"] = "Aktiviere nur Netzwerk-Beiträge von ausgewählten Sammlungen";
-$a->strings["Saved Searches"] = "Gespeicherte Suchanfragen";
-$a->strings["Save search terms for re-use"] = "Suchbegriffe zur Wiederverwendung abspeichern";
-$a->strings["Network Personal Tab"] = "Persönlicher Netzwerkreiter";
-$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Aktiviere Reiter nur für die Netzwerk-Beiträge, mit denen Du interagiert hast";
-$a->strings["Network New Tab"] = "Netzwerkreiter Neu";
-$a->strings["Enable tab to display all new Network activity"] = "Aktiviere Reiter, um alle neuen Netzwerkaktivitäten zu zeigen";
-$a->strings["Affinity Tool"] = "Beziehungs-Tool";
-$a->strings["Filter stream activity by depth of relationships"] = "Filter Aktivitätenstream nach Tiefe der Beziehung";
-$a->strings["Suggest Channels"] = "Kanäle vorschlagen";
-$a->strings["Show channel suggestions"] = "Kanal-Vorschläge anzeigen";
-$a->strings["Post/Comment Tools"] = "Beitrag-/Kommentar-Tools";
-$a->strings["Edit Sent Posts"] = "Bearbeite gesendete Beiträge";
-$a->strings["Edit and correct posts and comments after sending"] = "Bearbeite und korrigiere Beiträge und Kommentare nach dem Senden";
-$a->strings["Tagging"] = "Verschlagworten";
-$a->strings["Ability to tag existing posts"] = "Möglichkeit, um existierende Beiträge zu verschlagworten";
-$a->strings["Post Categories"] = "Beitrags-Kategorien";
-$a->strings["Add categories to your posts"] = "Kategorien für Beiträge";
-$a->strings["Ability to file posts under folders"] = "Möglichkeit, Beiträge in Verzeichnissen zu sammeln";
-$a->strings["Dislike Posts"] = "Gefällt-mir-nicht Beiträge";
-$a->strings["Ability to dislike posts/comments"] = "„Gefällt mir nicht“ ermöglichen";
-$a->strings["Star Posts"] = "Beiträge mit Sternchen versehen";
-$a->strings["Ability to mark special posts with a star indicator"] = "Möglichkeit, spezielle Beiträge mit Sternchen-Symbol zu markieren";
-$a->strings["Tag Cloud"] = "Schlagwort-Wolke";
-$a->strings["Provide a personal tag cloud on your channel page"] = "Persönliche Schlagwort-Wolke auf Deiner Kanal-Seite anzeigen";
-$a->strings["created a new post"] = "Neuer Beitrag wurde erzeugt";
-$a->strings["commented on %s's post"] = "hat %s's Beitrag kommentiert";
+$a->strings["Visible to your default audience"] = "Standard-Sichtbarkeit";
+$a->strings["Show"] = "Zeigen";
+$a->strings["Don't show"] = "Nicht zeigen";
+$a->strings["Permissions"] = "Berechtigungen";
+$a->strings["Close"] = "Schließen";
+$a->strings["Public Timeline"] = "Öffentliche Zeitleiste";
$a->strings["Site Admin"] = "Hub-Administration";
$a->strings["Address Book"] = "Adressbuch";
$a->strings["Mood"] = "Laune";
-$a->strings["Poke"] = "Anstupsen";
$a->strings["Probe"] = "Testen";
-$a->strings["Suggest"] = "Empfehlungen";
+$a->strings["Suggest"] = "Empfehlen";
$a->strings["Random Channel"] = "Zufälliger Kanal";
$a->strings["Invite"] = "Einladen";
$a->strings["Features"] = "Funktionen";
@@ -753,154 +820,566 @@ $a->strings["Profile Photo"] = "Profilfoto";
$a->strings["Update"] = "Aktualisieren";
$a->strings["Install"] = "Installieren";
$a->strings["Purchase"] = "Kaufen";
-$a->strings["Public Timeline"] = "Öffentliche Zeitleiste";
-$a->strings["Missing room name"] = "Der Chatraum hat keinen Namen";
-$a->strings["Duplicate room name"] = "Name des Chatraums bereits vergeben";
-$a->strings["Invalid room specifier."] = "Ungültiger Raumbezeichner.";
-$a->strings["Room not found."] = "Chatraum konnte nicht gefunden werden.";
-$a->strings["Room is full"] = "Der Raum ist voll";
-$a->strings["channel"] = "Kanal";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s nicht";
-$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s ist jetzt mit %2\$s verbunden";
-$a->strings["%1\$s poked %2\$s"] = "%1\$s stupste %2\$s an";
-$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s ist %2\$s";
-$a->strings["View %s's profile @ %s"] = "%ss Profil auf %s ansehen";
-$a->strings["Categories:"] = "Kategorien:";
-$a->strings["Filed under:"] = "Gespeichert unter:";
-$a->strings["View in context"] = "Im Zusammenhang anschauen";
-$a->strings["remove"] = "lösche";
-$a->strings["Delete Selected Items"] = "Lösche die ausgewählten Elemente";
-$a->strings["View Source"] = "Quelle anzeigen";
-$a->strings["Follow Thread"] = "Unterhaltung folgen";
-$a->strings["View Status"] = "Status ansehen";
-$a->strings["View Photos"] = "Fotos ansehen";
-$a->strings["Matrix Activity"] = "Matrix-Aktivität";
-$a->strings["Edit Contact"] = "Kontakt bearbeiten";
-$a->strings["Send PM"] = "Sende PN";
-$a->strings["%s likes this."] = "%s gefällt das.";
-$a->strings["%s doesn't like this."] = "%s gefällt das nicht.";
-$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "<span %1\$s>%2\$d Person</span> gefällt das.",
- 1 => "<span %1\$s>%2\$d Leuten</span> gefällt das.",
-);
-$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "<span %1\$s>%2\$d Person</span> gefällt das nicht.",
- 1 => "<span %1\$s>%2\$d Leuten</span> gefällt das nicht.",
+$a->strings["Save to Folder"] = "In Ordner speichern";
+$a->strings["View all"] = "Alles anzeigen";
+$a->strings["__ctx:noun__ Dislike"] = array(
+ 0 => "Gefällt nicht",
+ 1 => "Gefällt nicht",
);
-$a->strings["and"] = "und";
-$a->strings[", and %d other people"] = array(
- 0 => "",
- 1 => ", und %d andere",
+$a->strings["Add Star"] = "Stern hinzufügen";
+$a->strings["Remove Star"] = "Stern entfernen";
+$a->strings["Toggle Star Status"] = "Markierungsstatus (Stern) umschalten";
+$a->strings["starred"] = "markiert";
+$a->strings["Add Tag"] = "Tag hinzufügen";
+$a->strings["I like this (toggle)"] = "Mir gefällt das (Umschalter)";
+$a->strings["I don't like this (toggle)"] = "Mir gefällt das nicht (Umschalter)";
+$a->strings["Share This"] = "Teilen";
+$a->strings["share"] = "Teilen";
+$a->strings["View %s's profile - %s"] = "Schaue Dir %ss Profil an – %s";
+$a->strings["to"] = "an";
+$a->strings["via"] = "via";
+$a->strings["Wall-to-Wall"] = "Wall-to-Wall";
+$a->strings["via Wall-To-Wall:"] = "via Wall-To-Wall:";
+$a->strings["Save Bookmarks"] = "Favoriten speichern";
+$a->strings["Add to Calendar"] = "Zum Kalender hinzufügen";
+$a->strings["__ctx:noun__ Likes"] = "Gefällt mir";
+$a->strings["__ctx:noun__ Dislikes"] = "Gefällt nicht";
+$a->strings["%d comment"] = array(
+ 0 => "%d Kommentar",
+ 1 => "%d Kommentare",
);
-$a->strings["%s like this."] = "%s gefällt das.";
-$a->strings["%s don't like this."] = "%s gefällt das nicht.";
-$a->strings["Visible to <strong>everybody</strong>"] = "Sichtbar für <strong>jeden</strong>";
-$a->strings["Please enter a link URL:"] = "Gib eine URL ein:";
-$a->strings["Please enter a video link/URL:"] = "Gib einen Video-Link/URL ein:";
-$a->strings["Please enter an audio link/URL:"] = "Gib einen Audio-Link/URL ein:";
-$a->strings["Tag term:"] = "Schlagwort:";
-$a->strings["Save to Folder:"] = "Speichern in Ordner:";
-$a->strings["Where are you right now?"] = "Wo bist Du jetzt grade?";
-$a->strings["Expires YYYY-MM-DD HH:MM"] = "Verfällt YYYY-MM-DD HH;MM";
-$a->strings["Share"] = "Teilen";
-$a->strings["Page link title"] = "Seitentitel-Link";
-$a->strings["Post as"] = "Posten als";
-$a->strings["Upload photo"] = "Foto hochladen";
-$a->strings["upload photo"] = "Foto hochladen";
-$a->strings["Attach file"] = "Datei anhängen";
-$a->strings["attach file"] = "Datei anfügen";
-$a->strings["Insert web link"] = "Link einfügen";
-$a->strings["web link"] = "Web-Link";
-$a->strings["Insert video link"] = "Video-Link einfügen";
-$a->strings["video link"] = "Video-Link";
-$a->strings["Insert audio link"] = "Audio-Link einfügen";
-$a->strings["audio link"] = "Audio-Link";
-$a->strings["Set your location"] = "Standort";
-$a->strings["set location"] = "Standort";
-$a->strings["Clear browser location"] = "Browser-Standort löschen";
-$a->strings["clear location"] = "Standort löschen";
-$a->strings["Set title"] = "Titel";
-$a->strings["Categories (comma-separated list)"] = "Kategorien (Kommagetrennte Liste)";
-$a->strings["Permission settings"] = "Berechtigungs-Einstellungen";
-$a->strings["permissions"] = "Berechtigungen";
-$a->strings["Public post"] = "Öffentlicher Beitrag";
-$a->strings["Example: bob@example.com, mary@example.com"] = "Beispiel: bob@example.com, mary@example.com";
-$a->strings["Set expiration date"] = "Verfallsdatum";
-$a->strings["OK"] = "Ok";
-$a->strings["Cancel"] = "Abbrechen";
-$a->strings["Discover"] = "Entdecken";
-$a->strings["Imported public streams"] = "Importierte öffentliche Beiträge";
-$a->strings["Commented Order"] = "Neueste Kommentare";
-$a->strings["Sort by Comment Date"] = "Nach Kommentardatum sortiert";
-$a->strings["Posted Order"] = "Neueste Beiträge";
-$a->strings["Sort by Post Date"] = "Nach Beitragsdatum sortiert";
-$a->strings["Personal"] = "Persönlich";
-$a->strings["Posts that mention or involve you"] = "Beiträge mit Beteiligung Deinerseits";
-$a->strings["New"] = "Neu";
-$a->strings["Activity Stream - by date"] = "Activity Stream – nach Datum sortiert";
-$a->strings["Starred"] = "Markiert";
-$a->strings["Favourite Posts"] = "Markierte Beiträge";
-$a->strings["Spam"] = "Spam";
-$a->strings["Posts flagged as SPAM"] = "Nachrichten, die als SPAM markiert wurden";
-$a->strings["Channel"] = "Kanal";
-$a->strings["Status Messages and Posts"] = "Statusnachrichten und Beiträge";
-$a->strings["About"] = "Ãœber";
-$a->strings["Profile Details"] = "Profil-Details";
-$a->strings["Files and Storage"] = "Dateien und Speicher";
-$a->strings["Chatrooms"] = "Chaträume";
-$a->strings["Saved Bookmarks"] = "Gespeicherte Lesezeichen";
-$a->strings["Manage Webpages"] = "Webseiten verwalten";
-$a->strings["Attachments:"] = "Anhänge:";
-$a->strings["Visible to your default audience"] = "Standard-Sichtbarkeit";
-$a->strings["Show"] = "Zeigen";
-$a->strings["Don't show"] = "Nicht zeigen";
-$a->strings["Permissions"] = "Berechtigungen";
-$a->strings["System"] = "System";
-$a->strings["Create Personal App"] = "Persönliche App erstellen";
-$a->strings["Edit Personal App"] = "Persönliche App bearbeiten";
-$a->strings["Ignore/Hide"] = "Ignorieren/Verstecken";
-$a->strings["Suggestions"] = "Vorschläge";
-$a->strings["See more..."] = "Mehr anzeigen …";
-$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen.";
-$a->strings["Add New Connection"] = "Neue Verbindung hinzufügen";
-$a->strings["Enter the channel address"] = "Adresse des Kanals eingeben";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Beispiel: bob@beispiel.com, http://beispiel.com/barbara";
-$a->strings["Notes"] = "Notizen";
-$a->strings["Remove term"] = "Eintrag löschen";
-$a->strings["Archives"] = "Archive";
-$a->strings["Refresh"] = "Aktualisieren";
-$a->strings["Me"] = "Ich";
-$a->strings["Best Friends"] = "Beste Freunde";
-$a->strings["Co-workers"] = "Kollegen";
-$a->strings["Former Friends"] = "ehem. Freunde";
-$a->strings["Acquaintances"] = "Bekannte";
-$a->strings["Everybody"] = "Jeder";
-$a->strings["Account settings"] = "Konto-Einstellungen";
-$a->strings["Channel settings"] = "Kanal-Einstellungen";
-$a->strings["Additional features"] = "Zusätzliche Funktionen";
-$a->strings["Feature settings"] = "Funktions-Einstellungen";
-$a->strings["Display settings"] = "Anzeige-Einstellungen";
-$a->strings["Connected apps"] = "Verbundene Apps";
-$a->strings["Export channel"] = "Kanal exportieren";
-$a->strings["Export content"] = "Kanal-Inhalte exportieren";
-$a->strings["Automatic Permissions (Advanced)"] = "Automatische Berechtigungen (Erweitert)";
-$a->strings["Premium Channel Settings"] = "Premium-Kanal-Einstellungen";
-$a->strings["Messages"] = "Nachrichten";
-$a->strings["Check Mail"] = "E-Mails abrufen";
-$a->strings["Chat Rooms"] = "Chaträume";
-$a->strings["Bookmarked Chatrooms"] = "Gespeicherte Chatrooms";
-$a->strings["Suggested Chatrooms"] = "Chatraum-Vorschläge";
-$a->strings["Channel is blocked on this site."] = "Der Kanal ist auf dieser Seite blockiert ";
-$a->strings["Channel location missing."] = "Adresse des Kanals fehlt.";
-$a->strings["Response from remote channel was incomplete."] = "Antwort des entfernten Kanals war unvollständig.";
-$a->strings["Channel was deleted and no longer exists."] = "Kanal wurde gelöscht und existiert nicht mehr.";
-$a->strings["Protocol disabled."] = "Protokoll deaktiviert.";
-$a->strings["Channel discovery failed."] = "Kanalsuche fehlgeschlagen";
-$a->strings["local account not found."] = "Lokales Konto nicht gefunden.";
-$a->strings["Cannot connect to yourself."] = "Du kannst Dich nicht mit Dir selbst verbinden.";
+$a->strings["This is you"] = "Das bist Du";
+$a->strings["Submit"] = "Bestätigen";
+$a->strings["Bold"] = "Fett";
+$a->strings["Italic"] = "Kursiv";
+$a->strings["Underline"] = "Unterstrichen";
+$a->strings["Quote"] = "Zitat";
+$a->strings["Code"] = "Code";
+$a->strings["Image"] = "Bild";
+$a->strings["Link"] = "Link";
+$a->strings["Video"] = "Video";
+$a->strings["Set your current mood and tell your friends"] = "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden";
+$a->strings["Invalid profile identifier."] = "Ungültiger Profil-Identifikator";
+$a->strings["Profile Visibility Editor"] = "Profil-Sichtbarkeits-Editor";
+$a->strings["Click on a contact to add or remove."] = "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen.";
+$a->strings["Visible To"] = "Sichtbar für";
+$a->strings["All Connections"] = "Alle Verbindungen";
+$a->strings["Menu not found."] = "Menü nicht gefunden";
+$a->strings["Menu element updated."] = "Menü-Element aktualisiert.";
+$a->strings["Unable to update menu element."] = "Kann Menü-Element nicht aktualisieren.";
+$a->strings["Menu element added."] = "Menü-Bestandteil hinzugefügt.";
+$a->strings["Unable to add menu element."] = "Kann Menü-Bestandteil nicht hinzufügen.";
+$a->strings["Not found."] = "Nicht gefunden.";
+$a->strings["Manage Menu Elements"] = "Menü-Bestandteile verwalten";
+$a->strings["Edit menu"] = "Menü bearbeiten";
+$a->strings["Edit element"] = "Bestandteil bearbeiten";
+$a->strings["Drop element"] = "Bestandteil löschen";
+$a->strings["New element"] = "Neues Bestandteil";
+$a->strings["Edit this menu container"] = "Diesen Menü-Container bearbeiten";
+$a->strings["Add menu element"] = "Menüelement hinzufügen";
+$a->strings["Delete this menu item"] = "Lösche dieses Menü-Bestandteil";
+$a->strings["Edit this menu item"] = "Bearbeite dieses Menü-Bestandteil";
+$a->strings["New Menu Element"] = "Neues Menü-Bestandteil";
+$a->strings["Menu Item Permissions"] = "Zugriffsrechte des Menü-Elements";
+$a->strings["(click to open/close)"] = "(zum öffnen/schließen anklicken)";
+$a->strings["Link text"] = "Link Text";
+$a->strings["URL of link"] = "URL des Links";
+$a->strings["Use RedMatrix magic-auth if available"] = "Verwende die automatische RedMatrix-Authentifizierung (magic-auth), wenn verfügbar";
+$a->strings["Open link in new window"] = "Öffne Link in neuem Fenster";
+$a->strings["Order in list"] = "Reihenfolge in der Liste";
+$a->strings["Higher numbers will sink to bottom of listing"] = "Größere Nummern werden weiter unten in der Auflistung einsortiert";
+$a->strings["Menu item not found."] = "Menü-Bestandteil nicht gefunden.";
+$a->strings["Menu item deleted."] = "Menü-Bestandteil gelöscht.";
+$a->strings["Menu item could not be deleted."] = "Menü-Bestandteil kann nicht gelöscht werden.";
+$a->strings["Edit Menu Element"] = "Bearbeite Menü-Bestandteil";
+$a->strings["Modify"] = "Ändern";
+$a->strings["Some blurb about what to do when you're new here"] = "Ein Hinweis, was man tun kann, wenn man neu hier ist";
+$a->strings["Profile not found."] = "Profil nicht gefunden.";
+$a->strings["Profile deleted."] = "Profil gelöscht.";
+$a->strings["Profile-"] = "Profil-";
+$a->strings["New profile created."] = "Neues Profil erstellt.";
+$a->strings["Profile unavailable to clone."] = "Profil kann nicht geklont werden.";
+$a->strings["Profile unavailable to export."] = "Dieses Profil kann nicht exportiert werden.";
+$a->strings["Profile Name is required."] = "Profil-Name erforderlich.";
+$a->strings["Marital Status"] = "Familienstand";
+$a->strings["Romantic Partner"] = "Romantische Partner";
+$a->strings["Likes"] = "Gefällt";
+$a->strings["Dislikes"] = "Gefällt nicht";
+$a->strings["Work/Employment"] = "Arbeit/Anstellung";
+$a->strings["Religion"] = "Religion";
+$a->strings["Political Views"] = "Politische Ansichten";
+$a->strings["Gender"] = "Geschlecht";
+$a->strings["Sexual Preference"] = "Sexuelle Orientierung";
+$a->strings["Homepage"] = "Webseite";
+$a->strings["Interests"] = "Hobbys/Interessen";
+$a->strings["Address"] = "Adresse";
+$a->strings["Location"] = "Ort";
+$a->strings["Profile updated."] = "Profil aktualisiert.";
+$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Deine Kontaktliste vor Betrachtern dieses Profils verbergen?";
+$a->strings["Yes"] = "Ja";
+$a->strings["No"] = "Nein";
+$a->strings["Edit Profile Details"] = "Bearbeite Profil-Details";
+$a->strings["View this profile"] = "Dieses Profil ansehen";
+$a->strings["Change Profile Photo"] = "Profilfoto ändern";
+$a->strings["Create a new profile using these settings"] = "Neues Profil anlegen und diese Einstellungen übernehmen";
+$a->strings["Clone this profile"] = "Dieses Profil klonen";
+$a->strings["Delete this profile"] = "Dieses Profil löschen";
+$a->strings["Import profile from file"] = "Profil aus einer Datei importieren";
+$a->strings["Export profile to file"] = "Profil in eine Datei exportieren";
+$a->strings["Profile Name:"] = "Profilname:";
+$a->strings["Your Full Name:"] = "Dein voller Name:";
+$a->strings["Title/Description:"] = "Titel/Stellenbeschreibung:";
+$a->strings["Your Gender:"] = "Dein Geschlecht:";
+$a->strings["Birthday :"] = "Geburtstag:";
+$a->strings["Street Address:"] = "Straße und Hausnummer:";
+$a->strings["Locality/City:"] = "Wohnort:";
+$a->strings["Postal/Zip Code:"] = "Postleitzahl:";
+$a->strings["Country:"] = "Land:";
+$a->strings["Region/State:"] = "Region/Bundesstaat:";
+$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Beziehungsstatus:";
+$a->strings["Who: (if applicable)"] = "Wer: (falls anwendbar)";
+$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Beispiele: cathy123, Cathy Williams, cathy@example.com";
+$a->strings["Since [date]:"] = "Seit [Datum]:";
+$a->strings["Homepage URL:"] = "Homepage URL:";
+$a->strings["Religious Views:"] = "Religiöse Ansichten:";
+$a->strings["Keywords:"] = "Schlüsselwörter:";
+$a->strings["Example: fishing photography software"] = "Beispiel: Angeln Fotografie Software";
+$a->strings["Used in directory listings"] = "Wird in Verzeichnis-Auflistungen verwendet";
+$a->strings["Tell us about yourself..."] = "Erzähle uns ein wenig von Dir …";
+$a->strings["Hobbies/Interests"] = "Hobbys/Interessen";
+$a->strings["Contact information and Social Networks"] = "Kontaktinformation und soziale Netzwerke";
+$a->strings["My other channels"] = "Meine anderen Kanäle";
+$a->strings["Musical interests"] = "Musikalische Interessen";
+$a->strings["Books, literature"] = "Bücher, Literatur";
+$a->strings["Television"] = "Fernsehen";
+$a->strings["Film/dance/culture/entertainment"] = "Film/Tanz/Kultur/Unterhaltung";
+$a->strings["Love/romance"] = "Liebe/Romantik";
+$a->strings["Work/employment"] = "Arbeit/Anstellung";
+$a->strings["School/education"] = "Schule/Ausbildung";
+$a->strings["This is your default profile."] = "Das ist Dein Standardprofil.";
+$a->strings["Age: "] = "Alter:";
+$a->strings["Edit/Manage Profiles"] = "Profile bearbeiten/verwalten";
+$a->strings["Add profile things"] = "Sachen zum Profil hinzufügen";
+$a->strings["Include desirable objects in your profile"] = "Binde begehrenswerte Dinge in Dein Profil ein";
+$a->strings["Continue"] = "Fortfahren";
+$a->strings["Premium Channel Setup"] = "Premium-Kanal-Einrichtung";
+$a->strings["Enable premium channel connection restrictions"] = "Einschränkungen für einen Premium-Kanal aktivieren";
+$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Bitte gib Deine Nutzungsbedingungen ein, z.B. Paypal-Quittung, Richtlinien etc.";
+$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Unter Umständen sind weitere Schritte oder die Bestätigung der folgenden Bedingungen vor dem Verbinden mit diesem Kanal nötig.";
+$a->strings["Potential connections will then see the following text before proceeding:"] = "Potentielle Kontakte werden den folgenden Text sehen, bevor fortgefahren wird:";
+$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Indem ich fortfahre, bestätige ich die Erfüllung aller Anweisungen auf dieser Seite.";
+$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)";
+$a->strings["Restricted or Premium Channel"] = "Eingeschränkter oder Premium-Kanal";
$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angemeldet. Bitte melde Dich ab und versuche es erneut.";
$a->strings["Welcome %s. Remote authentication successful."] = "Willkommen %s. Entfernte Authentifizierung erfolgreich.";
+$a->strings["Red Matrix Server - Setup"] = "Red Matrix Server - Installation";
+$a->strings["Could not connect to database."] = "Kann nicht mit der Datenbank verbinden.";
+$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS.";
+$a->strings["Could not create table."] = "Kann Tabelle nicht erstellen.";
+$a->strings["Your site database has been installed."] = "Die Datenbank Deines Hubs wurde installiert.";
+$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren.";
+$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Lies die Datei \"install/INSTALL.txt\".";
+$a->strings["System check"] = "Systemprüfung";
+$a->strings["Next"] = "Nächste";
+$a->strings["Check again"] = "Bitte nochmal prüfen";
+$a->strings["Database connection"] = "Datenbank Verbindung";
+$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "Um die Red-Matrix installieren zu können, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können.";
+$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast.";
+$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst.";
+$a->strings["Database Server Name"] = "Datenbank-Servername";
+$a->strings["Default is localhost"] = "Standard ist localhost";
+$a->strings["Database Port"] = "Datenbank-Port";
+$a->strings["Communication port number - use 0 for default"] = "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung";
+$a->strings["Database Login Name"] = "Datenbank-Benutzername";
+$a->strings["Database Login Password"] = "Datenbank-Kennwort";
+$a->strings["Database Name"] = "Datenbank-Name";
+$a->strings["Database Type"] = "Datenbanktyp";
+$a->strings["Site administrator email address"] = "E-Mail Adresse des Seiten-Administrators";
+$a->strings["Your account email address must match this in order to use the web admin panel."] = "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst.";
+$a->strings["Website URL"] = "Server-URL";
+$a->strings["Please use SSL (https) URL if available."] = "Nutze wenn möglich eine SSL-URL (https).";
+$a->strings["Please select a default timezone for your website"] = "Standard-Zeitzone für Deinen Server";
+$a->strings["Site settings"] = "Seiteneinstellungen";
+$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden.";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen.";
+$a->strings["PHP executable path"] = "PHP Pfad zu ausführbarer Datei";
+$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren.";
+$a->strings["Command line PHP"] = "PHP Befehlszeile";
+$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert.";
+$a->strings["This is required for message delivery to work."] = "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert.";
+$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen.";
+$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung.";
+$a->strings["Generate encryption keys"] = "Verschlüsselungsschlüssel generieren";
+$a->strings["libCurl PHP module"] = "libCurl-PHP-Modul";
+$a->strings["GD graphics PHP module"] = "GD-Grafik-PHP-Modul";
+$a->strings["OpenSSL PHP module"] = "OpenSSL-PHP-Modul";
+$a->strings["mysqli or postgres PHP module"] = "mysqli oder postgres PHP-Modul";
+$a->strings["mb_string PHP module"] = "mb_string-PHP-Modul";
+$a->strings["mcrypt PHP module"] = "mcrypt-PHP-Modul";
+$a->strings["Apache mod_rewrite module"] = "Apache-mod_rewrite-Modul";
+$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert.";
+$a->strings["proc_open"] = "proc_open";
+$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert";
+$a->strings["Error: libCURL PHP module required but not installed."] = "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert.";
+$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert.";
+$a->strings["Error: openssl PHP module required but not installed."] = "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert.";
+$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert.";
+$a->strings["Error: mb_string PHP module required but not installed."] = "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert.";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "Fehler: Das PHP-Modul mcrypt wird benötigt, ist aber nicht installiert.";
+$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht.";
+$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst.";
+$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Red-Installation speichern musst.";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt.";
+$a->strings[".htconfig.php is writable"] = ".htconfig.php ist beschreibbar";
+$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen.";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Red-Installationsverzeichnisses.";
+$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat.";
+$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = " Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht in der restlichen Red-Installation.";
+$a->strings["%s is writable"] = "%s ist beschreibbar";
+$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red-Stammverzeichnisses";
+$a->strings["store is writable"] = "store ist schreibbar";
+$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server.";
+$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich.";
+$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können.";
+$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer Red-Server (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird).";
+$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen.";
+$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind.";
+$a->strings["SSL certificate validation"] = "SSL Zertifikatverifizierung";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:";
+$a->strings["Url rewrite is working"] = "Url rewrite funktioniert";
+$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen.";
+$a->strings["Errors encountered creating database tables."] = "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten.";
+$a->strings["<h1>What next</h1>"] = "<h1>Was als Nächstes</h1>";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten.";
+$a->strings["Version %s"] = "Version %s";
+$a->strings["Installed plugins/addons/apps:"] = "Installierte Plugins/Addons/Apps";
+$a->strings["No installed plugins/addons/apps"] = "Keine installierten Plugins/Addons/Apps";
+$a->strings["Red"] = "Red";
+$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Dieser Hub ist Teil der RedMatrix – eines globalen, kooperativen Netzwerks aus dezentralen Websites, die Rücksicht auf Deine Privatsphäre nehmen.";
+$a->strings["Running at web location"] = "Erreichbar unter der Web-Adresse";
+$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Red Matrix."] = "Besuche <a href=\"http://getzot.com\">GetZot.com</a>, um mehr über die Red-Matrix zu erfahren.";
+$a->strings["Bug reports and issues: please visit"] = "Probleme oder Fehler gefunden? Bitte besuche";
+$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Vorschläge, Lob, usw.: E-Mail an 'redmatrix' at librelist - dot - com";
+$a->strings["Site Administrators"] = "Administratoren";
+$a->strings["Poke/Prod"] = "Anstupsen/Knuffen";
+$a->strings["poke, prod or do other things to somebody"] = "Stupse Leute an oder mache anderes mit ihnen";
+$a->strings["Recipient"] = "Empfänger";
+$a->strings["Choose what you wish to do to recipient"] = "Wähle, was Du mit dem/r Empfänger/in tun willst";
+$a->strings["Make this post private"] = "Diesen Beitrag privat machen";
+$a->strings["Authorize application connection"] = "Zugriff für die Anwendung autorisieren";
+$a->strings["Return to your app and insert this Securty Code:"] = "Trage folgenden Sicherheitscode in der Anwendung ein:";
+$a->strings["Please login to continue."] = "Zum Weitermachen, bitte einloggen.";
+$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?";
+$a->strings["Item not available."] = "Element nicht verfügbar.";
+$a->strings["Fetching URL returns error: %1\$s"] = "Abrufen der URL gab einen Fehler zurück: %1\$s";
+$a->strings["Invalid item."] = "Ungültiges Element.";
+$a->strings["Channel not found."] = "Kanal nicht gefunden.";
+$a->strings["Page not found."] = "Seite nicht gefunden.";
+$a->strings["Failed to create source. No channel selected."] = "Konnte die Quelle nicht anlegen. Kein Kanal ausgewählt.";
+$a->strings["Source created."] = "Quelle erstellt.";
+$a->strings["Source updated."] = "Quelle aktualisiert.";
+$a->strings["*"] = "*";
+$a->strings["Manage remote sources of content for your channel."] = "Externe Inhaltsquellen für Deinen Kanal verwalten.";
+$a->strings["New Source"] = "Neue Quelle";
+$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importiere alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteile sie gemäß der Einstellungen dieses Kanals.";
+$a->strings["Only import content with these words (one per line)"] = "Importiere nur Beiträge, die folgende Wörter (eines pro Zeile) enthalten";
+$a->strings["Leave blank to import all public content"] = "Leer lassen, um alle öffentlichen Beiträge zu importieren";
+$a->strings["Channel Name"] = "Name des Kanals";
+$a->strings["Source not found."] = "Quelle nicht gefunden.";
+$a->strings["Edit Source"] = "Quelle bearbeiten";
+$a->strings["Delete Source"] = "Quelle löschen";
+$a->strings["Source removed"] = "Quelle gelöscht";
+$a->strings["Unable to remove source."] = "Konnte die Quelle nicht löschen.";
+$a->strings["Block Name"] = "Block-Name";
+$a->strings["Public access denied."] = "Öffentlicher Zugang verweigert.";
+$a->strings["Gender: "] = "Geschlecht:";
+$a->strings["Status: "] = "Status:";
+$a->strings["Homepage: "] = "Webseite:";
+$a->strings["Hometown: "] = "Wohnort:";
+$a->strings["About: "] = "Ãœber:";
+$a->strings["Public Forum:"] = "Öffentliches Forum:";
+$a->strings["Keywords: "] = "Schlüsselwörter:";
+$a->strings["Finding:"] = "Ergebnisse:";
+$a->strings["next page"] = "nächste Seite";
+$a->strings["previous page"] = "vorherige Seite";
+$a->strings["No entries (some entries may be hidden)."] = "Keine Einträge gefunden (einige könnten versteckt sein).";
+$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal.";
+$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen.";
+$a->strings["Passwords do not match."] = "Passwörter stimmen nicht überein.";
+$a->strings["Registration successful. Please check your email for validation instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet.";
+$a->strings["Your registration is pending approval by the site owner."] = "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden.";
+$a->strings["Your registration can not be processed."] = "Deine Registrierung konnte nicht verarbeitet werden.";
+$a->strings["Registration on this site/hub is by approval only."] = "Anmeldungen auf diesem Server erfordern Zustimmung durch den Administrator";
+$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrierung auf einem anderen, angeschlossenen Server</a>";
+$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal.";
+$a->strings["Terms of Service"] = "Nutzungsbedingungen";
+$a->strings["I accept the %s for this website"] = "Ich akzeptiere die %s für diese Webseite";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite";
+$a->strings["Registration"] = "Registrierung";
+$a->strings["Membership on this site is by invitation only."] = "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich.";
+$a->strings["Please enter your invitation code"] = "Bitte trage Deinen Einladungs-Code ein";
+$a->strings["Your email address"] = "Ihre E-Mail Adresse";
+$a->strings["Choose a password"] = "Passwort";
+$a->strings["Please re-enter your password"] = "Bitte gib Dein Passwort noch einmal ein";
+$a->strings["Event can not end before it has started."] = "Termin-Ende liegt vor dem Beginn.";
+$a->strings["Event title and start time are required."] = "Titel und Startzeit des Termins sind erforderlich.";
+$a->strings["Event not found."] = "Termin nicht gefunden.";
+$a->strings["l, F j"] = "l, j. F";
+$a->strings["Edit event"] = "Termin bearbeiten";
+$a->strings["Create New Event"] = "Neuen Termin erstellen";
+$a->strings["Previous"] = "Voriges";
+$a->strings["Event details"] = "Termin-Details";
+$a->strings["Starting date and Title are required."] = "Startdatum und Titel sind erforderlich.";
+$a->strings["Event Starts:"] = "Termin beginnt:";
+$a->strings["Required"] = "Benötigt";
+$a->strings["Finish date/time is not known or not relevant"] = "Ende Datum/Zeit sind unbekannt oder unwichtig";
+$a->strings["Event Finishes:"] = "Termin endet:";
+$a->strings["Adjust for viewer timezone"] = "An die Zeitzone des Betrachters anpassen";
+$a->strings["Description:"] = "Beschreibung:";
+$a->strings["Title:"] = "Titel:";
+$a->strings["Share this event"] = "Den Termin teilen";
+$a->strings["Public Sites"] = "Öffentliche Server";
+$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Die hier aufgeführten Server erlauben Dir, einen Account in der Red-Matrix anzulegen. Alle Server der Matrix sind miteinander verbunden, so dass die Mitgliedschaft auf einem Server eine Verbindung zu beliebigen anderen Servern der Matrix ermöglicht. Es könnte sein, dass einige dieser Server kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den jeweiligen Seiten <strong>könnten</strong> nähere Details dazu stehen.";
+$a->strings["Site URL"] = "Server-URL";
+$a->strings["Access Type"] = "Zugangstyp";
+$a->strings["Registration Policy"] = "Registrierungsrichtlinien";
+$a->strings["You must be logged in to see this page."] = "Du musst angemeldet sein, um diese Seite betrachten zu können.";
+$a->strings["Insufficient permissions. Request redirected to profile page."] = "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet.";
+$a->strings["Select a bookmark folder"] = "Lesezeichenordner wählen";
+$a->strings["Save Bookmark"] = "Lesezeichen speichern";
+$a->strings["URL of bookmark"] = "URL des Lesezeichens";
+$a->strings["Description"] = "Beschreibung";
+$a->strings["Or enter new bookmark folder name"] = "Oder gib einen neuen Namen für den Lesezeichenordner ein";
+$a->strings["Room not found"] = "Chatraum nicht gefunden";
+$a->strings["Leave Room"] = "Raum verlassen";
+$a->strings["Delete This Room"] = "Diesen Raum löschen";
+$a->strings["I am away right now"] = "Ich bin gerade nicht da";
+$a->strings["I am online"] = "Ich bin online";
+$a->strings["Bookmark this room"] = "Lesezeichen für diesen Raum setzen";
+$a->strings["New Chatroom"] = "Neuer Chatraum";
+$a->strings["Chatroom Name"] = "Name des Chatraums";
+$a->strings["%1\$s's Chatrooms"] = "%1\$ss Chaträume";
+$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s folgt nun %2\$ss %3\$s";
+$a->strings["Away"] = "Abwesend";
+$a->strings["Online"] = "Online";
+$a->strings["Please login."] = "Bitte melde dich an.";
+$a->strings["No such group"] = "Sammlung nicht gefunden";
+$a->strings["Search Results For:"] = "Suchergebnisse für:";
+$a->strings["Collection is empty"] = "Sammlung ist leer";
+$a->strings["Collection: "] = "Sammlung:";
+$a->strings["Connection: "] = "Verbindung:";
+$a->strings["Invalid connection."] = "Ungültige Verbindung.";
+$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Innerhalb von 48 Stunden nach einer Änderung des Passworts können keine Kanäle gelöscht werden.";
+$a->strings["Remove This Channel"] = "Diesen Kanal löschen";
+$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Hiermit wird dieser Kanal komplett aus dem Netzwerk gelöscht. Einmal eingeleitet, kann dieser Prozess nicht wieder rückgängig gemacht werden.";
+$a->strings["Please enter your password for verification:"] = "Bitte gib zur Bestätigung Dein Passwort ein:";
+$a->strings["Remove this channel and all its clones from the network"] = "Lösche diesen Kanal und all seine Klone aus dem Netzwerk";
+$a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk";
+$a->strings["Remove Channel"] = "Kanal löschen";
+$a->strings["No channel."] = "Kein Kanal.";
+$a->strings["Common connections"] = "Gemeinsame Verbindungen";
+$a->strings["No connections in common."] = "Keine gemeinsamen Verbindungen.";
+$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Wir haben ein Problem mit der OpenID festgestellt, mit der Du Dich anmelden wolltest. Bitte überprüfe sie noch einmal.";
+$a->strings["The error message was:"] = "Die Fehlermeldung war:";
+$a->strings["Authentication failed."] = "Authentifizierung fehlgeschlagen.";
+$a->strings["Remote Authentication"] = "Entfernte Authentifizierung";
+$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Deine Kanal-Adresse (z. B. channel@example.com)";
+$a->strings["Authenticate"] = "Authentifizieren";
+$a->strings["- select -"] = "– auswählen –";
+$a->strings["Page owner information could not be retrieved."] = "Informationen über den Besitzer der Seite konnten nicht gefunden werden.";
+$a->strings["Album not found."] = "Album nicht gefunden.";
+$a->strings["Delete Album"] = "Album löschen";
+$a->strings["Delete Photo"] = "Foto löschen";
+$a->strings["No photos selected"] = "Keine Fotos ausgewählt";
+$a->strings["Access to this item is restricted."] = "Der Zugriff auf dieses Foto ist eingeschränkt.";
+$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB von %2$.2f MB Foto-Speicher belegt.";
+$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB Foto-Speicher belegt.";
+$a->strings["Upload Photos"] = "Fotos hochladen";
+$a->strings["Enter a new album name"] = "Gib einen Namen für ein neues Album ein";
+$a->strings["or select an existing one (doubleclick)"] = "oder wähle ein bereits vorhandenes aus (Doppelklick)";
+$a->strings["Do not show a status post for this upload"] = "Keine Statusnachricht für diesen Upload senden";
+$a->strings["Album name could not be decoded"] = "Albumname konnte nicht dekodiert werden";
+$a->strings["Contact Photos"] = "Kontakt-Bilder";
+$a->strings["Show Newest First"] = "Zeige Neueste zuerst";
+$a->strings["Show Oldest First"] = "Zeige Älteste zuerst";
+$a->strings["View Photo"] = "Foto ansehen";
+$a->strings["Edit Album"] = "Album bearbeiten";
+$a->strings["Permission denied. Access to this item may be restricted."] = "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden.";
+$a->strings["Photo not available"] = "Foto nicht verfügbar";
+$a->strings["Use as profile photo"] = "Als Profilfoto verwenden";
+$a->strings["Private Photo"] = "Privates Foto";
+$a->strings["View Full Size"] = "In voller Größe anzeigen";
+$a->strings["Remove"] = "Entferne";
+$a->strings["Edit photo"] = "Foto bearbeiten";
+$a->strings["Rotate CW (right)"] = "Drehen im UZS (rechts)";
+$a->strings["Rotate CCW (left)"] = "Drehen gegen UZS (links)";
+$a->strings["Caption"] = "Bildunterschrift";
+$a->strings["Add a Tag"] = "Schlagwort hinzufügen";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Beispiele: @ben, @Karl_Prester, @lieschen@example.com";
+$a->strings["Flag as adult in album view"] = "In der Albumansicht als nicht jugendfrei markieren";
+$a->strings["In This Photo:"] = "Auf diesem Foto:";
+$a->strings["View Album"] = "Album ansehen";
+$a->strings["Recent Photos"] = "Neueste Fotos";
+$a->strings["Could not access contact record."] = "Konnte nicht auf den Kontakteintrag zugreifen.";
+$a->strings["Could not locate selected profile."] = "Gewähltes Profil nicht gefunden.";
+$a->strings["Connection updated."] = "Verbindung aktualisiert.";
+$a->strings["Failed to update connection record."] = "Konnte den Verbindungseintrag nicht aktualisieren.";
+$a->strings["Blocked"] = "Blockiert";
+$a->strings["Ignored"] = "Ignoriert";
+$a->strings["Hidden"] = "Versteckt";
+$a->strings["Archived"] = "Archiviert";
+$a->strings["All"] = "Alle";
+$a->strings["Suggest new connections"] = "Neue Verbindungen vorschlagen";
+$a->strings["New Connections"] = "Neue Verbindungen";
+$a->strings["Show pending (new) connections"] = "Zeige ausstehende (neue) Verbindungsanfragen";
+$a->strings["Show all connections"] = "Zeige alle Verbindungen";
+$a->strings["Unblocked"] = "Freigegeben";
+$a->strings["Only show unblocked connections"] = "Zeige nur freigegebene Verbindungen";
+$a->strings["Only show blocked connections"] = "Zeige nur blockierte Verbindungen";
+$a->strings["Only show ignored connections"] = "Zeige nur ignorierte Verbindungen";
+$a->strings["Only show archived connections"] = "Zeige nur archivierte Verbindungen";
+$a->strings["Only show hidden connections"] = "Zeige nur versteckte Verbindungen";
+$a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+$a->strings["Edit connection"] = "Verbindung bearbeiten";
+$a->strings["Search your connections"] = "Verbindungen durchsuchen";
+$a->strings["Finding: "] = "Ergebnisse:";
+$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet.";
+$a->strings["Create a new channel"] = "Neuen Kanal anlegen";
+$a->strings["Current Channel"] = "Aktueller Kanal";
+$a->strings["Attach to one of your channels by selecting it."] = "Wähle einen Deiner Kanäle aus, um ihn zu verwenden.";
+$a->strings["Default Channel"] = "Standard Kanal";
+$a->strings["Make Default"] = "Zum Standard machen";
+$a->strings["Edit post"] = "Bearbeite Beitrag";
+$a->strings["is now connected to"] = "ist jetzt verbunden mit";
+$a->strings["Could not access address book record."] = "Konnte nicht auf den Adressbuch-Eintrag zugreifen.";
+$a->strings["Refresh failed - channel is currently unavailable."] = "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar.";
+$a->strings["Channel has been unblocked"] = "Kanal nicht mehr blockiert";
+$a->strings["Channel has been blocked"] = "Kanal blockiert";
+$a->strings["Unable to set address book parameters."] = "Konnte die Adressbuch-Parameter nicht setzen.";
+$a->strings["Channel has been unignored"] = "Kanal wird nicht mehr ignoriert";
+$a->strings["Channel has been ignored"] = "Kanal wird ignoriert";
+$a->strings["Channel has been unarchived"] = "Kanal wurde aus dem Archiv zurück geholt";
+$a->strings["Channel has been archived"] = "Kanal wurde archiviert";
+$a->strings["Channel has been unhidden"] = "Kanal wird nicht mehr versteckt";
+$a->strings["Channel has been hidden"] = "Kanal wurde versteckt";
+$a->strings["Channel has been approved"] = "Kanal wurde zugelassen";
+$a->strings["Channel has been unapproved"] = "Zulassung des Kanals entfernt";
+$a->strings["Connection has been removed."] = "Verbindung wurde gelöscht.";
+$a->strings["View %s's profile"] = "%ss Profil ansehen";
+$a->strings["Refresh Permissions"] = "Zugriffsrechte neu laden";
+$a->strings["Fetch updated permissions"] = "Aktualisierte Zugriffsrechte abfragen";
+$a->strings["Recent Activity"] = "Kürzliche Aktivitäten";
+$a->strings["View recent posts and comments"] = "Betrachte die neuesten Beiträge und Kommentare";
+$a->strings["Unblock"] = "Freigeben";
+$a->strings["Block"] = "Blockieren";
+$a->strings["Block or Unblock this connection"] = "Verbindung blockieren oder freigeben";
+$a->strings["Unignore"] = "Nicht ignorieren";
+$a->strings["Ignore"] = "Ignorieren";
+$a->strings["Ignore or Unignore this connection"] = "Verbindung ignorieren oder wieder beachten";
+$a->strings["Unarchive"] = "Aus Archiv zurückholen";
+$a->strings["Archive"] = "Archivieren";
+$a->strings["Archive or Unarchive this connection"] = "Verbindung archivieren oder aus dem Archiv zurückholen";
+$a->strings["Unhide"] = "Wieder sichtbar machen";
+$a->strings["Hide"] = "Verstecken";
+$a->strings["Hide or Unhide this connection"] = "Diese Verbindung verstecken oder wieder sichtbar machen";
+$a->strings["Delete this connection"] = "Verbindung löschen";
+$a->strings["Approve this connection"] = "Verbindung genehmigen";
+$a->strings["Accept connection to allow communication"] = "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen";
+$a->strings["Connections: settings for %s"] = "Verbindungseinstellungen für %s";
+$a->strings["Apply these permissions automatically"] = "Diese Berechtigungen automatisch anwenden";
+$a->strings["Apply the permissions indicated on this page to all new connections."] = "Wende die auf dieser Seite gewählten Berechtigungen auf alle neuen Verbindungen an.";
+$a->strings["Slide to adjust your degree of friendship"] = "Verschieben, um den Grad der Freundschaft zu einzustellen";
+$a->strings["inherited"] = "geerbt";
+$a->strings["Connection has no individual permissions!"] = "Diese Verbindung hat keine individuellen Zugriffsrechte!";
+$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Abhängig von Deinen <a href=\"settings\">Privatsphäre-Einstellungen</a> könnte das passen, eventuell solltest Du aber die „Zugriffsrechte für Fortgeschrittene“ überprüfen.";
+$a->strings["Profile Visibility"] = "Sichtbarkeit des Profils";
+$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird.";
+$a->strings["Contact Information / Notes"] = "Kontaktinformationen / Notizen";
+$a->strings["Edit contact notes"] = "Kontaktnotizen bearbeiten";
+$a->strings["Their Settings"] = "Deren Einstellungen";
+$a->strings["My Settings"] = "Meine Einstellungen";
+$a->strings["Clear/Disable Automatic Permissions"] = "Automatische Berechtigungen abschalten/entfernen";
+$a->strings["Forum Members"] = "Forum Mitglieder";
+$a->strings["Soapbox"] = "Marktschreier";
+$a->strings["Full Sharing (typical social network permissions)"] = "Vollumfängliches Teilen (übliche Berechtigungen in sozialen Netzwerken)";
+$a->strings["Cautious Sharing "] = "Vorsichtiges Teilen";
+$a->strings["Follow Only"] = "Nur folgen";
+$a->strings["Individual Permissions"] = "Individuelle Zugriffsrechte";
+$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "Einige Berechtigungen werden von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt, die eine höhere Priorität haben als die Einstellungen bei einer Verbindung. Werden geerbte Einstellungen hier geändert, hat das keine Auswirkungen.";
+$a->strings["Advanced Permissions"] = "Zugriffsrechte für Fortgeschrittene";
+$a->strings["Simple Permissions (select one and submit)"] = "Einfache Berechtigungs-Einstellungen (wähle eine aus und klicke auf Senden)";
+$a->strings["Visit %s's profile - %s"] = "%ss Profil besuchen - %s";
+$a->strings["Block/Unblock contact"] = "Kontakt blockieren/freigeben";
+$a->strings["Ignore contact"] = "Kontakt ignorieren";
+$a->strings["Repair URL settings"] = "URL-Einstellungen reparieren";
+$a->strings["View conversations"] = "Unterhaltungen anzeigen";
+$a->strings["Delete contact"] = "Kontakt löschen";
+$a->strings["Last update:"] = "Letzte Aktualisierung:";
+$a->strings["Update public posts"] = "Öffentliche Beiträge aktualisieren";
+$a->strings["Update now"] = "Jetzt aktualisieren";
+$a->strings["Currently blocked"] = "Derzeit blockiert";
+$a->strings["Currently ignored"] = "Derzeit ignoriert";
+$a->strings["Currently archived"] = "Derzeit archiviert";
+$a->strings["Currently pending"] = "Derzeit anstehend";
+$a->strings["Hide this contact from others"] = "Diese Verbindung vor den anderen verbergen.";
+$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Antworten/Likes auf deine öffentlichen Beiträge <strong>können</strong> immer noch sichtbar sein";
+$a->strings["OpenID protocol error. No ID returned."] = "OpenID Protokollfehler. Keine ID zurückgegeben.";
+$a->strings["Thing updated"] = "Sache aktualisiert";
+$a->strings["Object store: failed"] = "Speichern des Objekts fehlgeschlagen";
+$a->strings["Thing added"] = "Sache hinzugefügt";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+$a->strings["Show Thing"] = "Sache anzeigen";
+$a->strings["item not found."] = "Eintrag nicht gefunden";
+$a->strings["Edit Thing"] = "Sache bearbeiten";
+$a->strings["Select a profile"] = "Wähle ein Profil";
+$a->strings["Post an activity"] = "Aktivitätsnachricht senden";
+$a->strings["Only sends to viewers of the applicable profile"] = "Nur an Betrachter des ausgewählten Profils senden";
+$a->strings["Name of thing e.g. something"] = "Name der Sache, z. B. irgendwas";
+$a->strings["URL of thing (optional)"] = "URL der Sache (optional)";
+$a->strings["URL for photo of thing (optional)"] = "URL eines Fotos der Sache (optional)";
+$a->strings["Add Thing to your Profile"] = "Die Sache Deinem Profil hinzufügen";
+$a->strings["No valid account found."] = "Kein gültiges Konto gefunden.";
+$a->strings["Password reset request issued. Check your email."] = "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails.";
+$a->strings["Site Member (%s)"] = "Nutzer (%s)";
+$a->strings["Password reset requested at %s"] = "Passwort-Rücksetzung auf %s angefordert";
+$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen.";
+$a->strings["Password Reset"] = "Zurücksetzen des Kennworts";
+$a->strings["Your password has been reset as requested."] = "Dein Passwort wurde wie angefordert neu erstellt.";
+$a->strings["Your new password is"] = "Dein neues Passwort lautet";
+$a->strings["Save or copy your new password - and then"] = "Speichere oder kopiere Dein neues Passwort – und dann";
+$a->strings["click here to login"] = "Klicke hier, um dich anzumelden";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden.";
+$a->strings["Your password has changed at %s"] = "Auf %s wurde Dein Passwort geändert";
+$a->strings["Forgot your Password?"] = "Kennwort vergessen?";
+$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail.";
+$a->strings["Email Address"] = "E-Mail Adresse";
+$a->strings["Reset"] = "Zurücksetzen";
+$a->strings["Bookmark added"] = "Lesezeichen hinzugefügt";
+$a->strings["My Bookmarks"] = "Meine Lesezeichen";
+$a->strings["My Connections Bookmarks"] = "Lesezeichen meiner Kontakte";
+$a->strings["This site is not a directory server"] = "Diese Website ist kein Verzeichnis-Server";
+$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "RedMatrix – Gäste: Username: {Deine E-Mail-Adresse}, Passwort: +++";
+$a->strings["sent you a private message"] = "eine private Nachricht schicken";
+$a->strings["added your channel"] = "hat deinen Kanal hinzugefügt";
+$a->strings["posted an event"] = "hat einen Termin veröffentlicht";
+$a->strings["Item not found"] = "Element nicht gefunden";
+$a->strings["Edit Block"] = "Block bearbeiten";
+$a->strings["Delete block?"] = "Block löschen?";
+$a->strings["Insert YouTube video"] = "YouTube-Video einfügen";
+$a->strings["Insert Vorbis [.ogg] video"] = "Vorbis [.ogg]-Video einfügen";
+$a->strings["Insert Vorbis [.ogg] audio"] = "Vorbis [.ogg]-Audio einfügen";
+$a->strings["Delete Block"] = "Block löschen";
+$a->strings["Layout updated."] = "Layout aktualisiert.";
+$a->strings["Edit System Page Description"] = "Systemseitenbeschreibung bearbeiten";
+$a->strings["Layout not found."] = "Layout nicht gefunden.";
+$a->strings["Module Name:"] = "Modulname:";
+$a->strings["Layout Help"] = "Layout-Hilfe";
+$a->strings["Edit Layout"] = "Layout bearbeiten";
+$a->strings["Delete layout?"] = "Layout löschen?";
+$a->strings["Delete Layout"] = "Layout löschen";
+$a->strings["Item is not editable"] = "Element kann nicht bearbeitet werden.";
+$a->strings["Delete item?"] = "Eintrag löschen?";
$a->strings["Name is required"] = "Name ist erforderlich";
$a->strings["Key and Secret are required"] = "Schlüssel und Geheimnis werden benötigt";
$a->strings["Passwords do not match. Password unchanged."] = "Kennwörter stimmen nicht überein. Kennwort nicht verändert.";
@@ -917,7 +1396,7 @@ $a->strings["Consumer Key"] = "Consumer Key";
$a->strings["Automatically generated - change if desired. Max length 20"] = "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20";
$a->strings["Consumer Secret"] = "Consumer Secret";
$a->strings["Redirect"] = "Umleitung";
-$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "Umleitungs-URl – lasse das leer, wenn Deine Anwendung es nicht explizit erfordert";
+$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert";
$a->strings["Icon url"] = "Symbol-URL";
$a->strings["Optional"] = "Optional";
$a->strings["You can't edit this application."] = "Diese Anwendung kann nicht bearbeitet werden.";
@@ -962,8 +1441,6 @@ $a->strings["Anybody in this network"] = "Alle Red-Nutzer";
$a->strings["Anybody authenticated"] = "Jeder authentifizierte";
$a->strings["Anybody on the internet"] = "Jeder im Internet";
$a->strings["Publish your default profile in the network directory"] = "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen";
-$a->strings["No"] = "Nein";
-$a->strings["Yes"] = "Ja";
$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?";
$a->strings["or"] = "oder";
$a->strings["Your channel address is"] = "Deine Kanal-Adresse lautet";
@@ -982,9 +1459,9 @@ $a->strings["Prevents displaying in your profile that you are online"] = "Verhin
$a->strings["Simple Privacy Settings:"] = "Einfache Privatsphäre-Einstellungen";
$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Komplett offen – <em>extrem ungeschützt (mit großer Vorsicht verwenden!)</em>";
$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Typisch – <em>Standard öffentlich, Privatsphäre, wo sie erwünscht ist (ähnlich den Einstellungen in sozialen Netzwerken, aber mit besser geschützter Privatsphäre)</em>";
-$a->strings["Private - <em>default private, never open or public</em>"] = "Private – <em>Standard privat, nie offen oder öffentlich</em>";
+$a->strings["Private - <em>default private, never open or public</em>"] = "Privat – <em>Standard privat, nie offen oder öffentlich</em>";
$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Blockiert – <em>Alle standardmäßig blockiert</em>";
-$a->strings["Allow others to tag your posts"] = "Erlaube anderen, Deine Beiträge zu taggen";
+$a->strings["Allow others to tag your posts"] = "Erlaube anderen, Deine Beiträge zu verschlagworten";
$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren";
$a->strings["Advanced Privacy Settings"] = "Fortgeschrittene Privatsphäre-Einstellungen";
$a->strings["Expire other channel content after this many days"] = "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen";
@@ -992,12 +1469,12 @@ $a->strings["0 or blank prevents expiration"] = "0 oder kein Inhalt verhindern d
$a->strings["Maximum Friend Requests/Day:"] = "Maximale Kontaktanfragen pro Tag:";
$a->strings["May reduce spam activity"] = "Kann die Spam-Aktivität verringern";
$a->strings["Default Post Permissions"] = "Standardeinstellungen für Beitrags-Zugriffsrechte";
-$a->strings["(click to open/close)"] = "(zum öffnen/schließen anklicken)";
+$a->strings["Channel permissions category:"] = "Zugriffsrechte-Kategorie des Kanals:";
$a->strings["Maximum private messages per day from unknown people:"] = "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:";
$a->strings["Useful to reduce spamming"] = "Nützlich, um Spam zu verringern";
$a->strings["Notification Settings"] = "Benachrichtigungs-Einstellungen";
$a->strings["By default post a status message when:"] = "Sende standardmäßig Status-Nachrichten, wenn:";
-$a->strings["accepting a friend request"] = "Du eine Kontaktanfrage annimmst";
+$a->strings["accepting a friend request"] = "Du eine Verbindungsanfrage annimmst";
$a->strings["joining a forum/community"] = "Du einem Forum beitrittst";
$a->strings["making an <em>interesting</em> profile change"] = "Du eine <em>interessante</em> Änderung an Deinem Profil vornimmst";
$a->strings["Send a notification email when:"] = "Eine E-Mail-Benachrichtigung senden, wenn:";
@@ -1009,12 +1486,56 @@ $a->strings["You receive a private message"] = "Du eine private Nachricht erhäl
$a->strings["You receive a friend suggestion"] = "Du einen Kontaktvorschlag erhältst";
$a->strings["You are tagged in a post"] = "Du in einem Beitrag erwähnt wurdest";
$a->strings["You are poked/prodded/etc. in a post"] = "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest";
+$a->strings["Show visual notifications including:"] = "Visuelle Benachrichtigungen anzeigen für:";
+$a->strings["Unseen matrix activity"] = "Ungesehene Matrix-Aktivität";
+$a->strings["Unseen channel activity"] = "Ungesehene Kanal-Aktivität";
+$a->strings["Unseen private messages"] = "Ungelesene persönliche Nachrichten";
+$a->strings["Recommended"] = "Empfohlen";
+$a->strings["Upcoming events"] = "Baldige Termine";
+$a->strings["Events today"] = "Heutige Termine";
+$a->strings["Upcoming birthdays"] = "Baldige Geburtstage";
+$a->strings["Not available in all themes"] = "Nicht in allen Themes verfügbar";
+$a->strings["System (personal) notifications"] = "System – (persönliche) Benachrichtigungen";
+$a->strings["System info messages"] = "System – Info-Nachrichten";
+$a->strings["System critical alerts"] = "System – kritische Warnungen";
+$a->strings["New connections"] = "Neue Verbindungen";
+$a->strings["System Registrations"] = "System – Registrierungen";
+$a->strings["Notify me of events this many days in advance"] = "Benachrichtige mich zu Terminen so viele Tage im Voraus";
+$a->strings["Must be greater than 0"] = "Muss größer als 0 sein";
$a->strings["Advanced Account/Page Type Settings"] = "Erweiterte Account- und Seitenart-Einstellungen";
$a->strings["Change the behaviour of this account for special situations"] = "Ändere das Verhalten dieses Accounts unter speziellen Umständen";
$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Aktiviere den Expertenmodus (unter <a href=\"settings/features\">Settings > Zusätzliche Funktionen</a>), um hier Einstellungen vorzunehmen!";
$a->strings["Miscellaneous Settings"] = "Sonstige Einstellungen";
$a->strings["Personal menu to display in your channel pages"] = "Eigenes Menü zur Anzeige auf den Seiten deines Kanals";
$a->strings["Remove this channel"] = "Diesen Kanal löschen";
+$a->strings["Edit Webpage"] = "Webseite bearbeiten";
+$a->strings["Delete webpage?"] = "Webseite löschen?";
+$a->strings["Delete Webpage"] = "Webseite löschen";
+$a->strings["webpage"] = "Webseite";
+$a->strings["block"] = "Block";
+$a->strings["layout"] = "Layout";
+$a->strings["%s element installed"] = "Element für %s installiert";
+$a->strings["Image uploaded but image cropping failed."] = "Bild hochgeladen, aber das Zurechtschneiden schlug fehl.";
+$a->strings["Image resize failed."] = "Bild-Anpassung fehlgeschlagen.";
+$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird.";
+$a->strings["Image exceeds size limit of %d"] = "Bild ist größer als das Limit von %d";
+$a->strings["Unable to process image."] = "Kann Bild nicht verarbeiten.";
+$a->strings["Photo not available."] = "Foto nicht verfügbar.";
+$a->strings["Upload File:"] = "Datei hochladen:";
+$a->strings["Select a profile:"] = "Wähle ein Profil:";
+$a->strings["Upload Profile Photo"] = "Lade neues Profilfoto hoch";
+$a->strings["skip this step"] = "diesen Schritt überspringen";
+$a->strings["select a photo from your photo albums"] = "ein Foto aus meinen Fotoalben";
+$a->strings["Crop Image"] = "Bild zuschneiden";
+$a->strings["Please adjust the image cropping for optimum viewing."] = "Bitte schneide das Bild für eine optimale Anzeige passend zu.";
+$a->strings["Done Editing"] = "Bearbeitung fertigstellen";
+$a->strings["Image uploaded successfully."] = "Bild erfolgreich hochgeladen.";
+$a->strings["Image upload failed."] = "Hochladen des Bilds fehlgeschlagen.";
+$a->strings["Image size reduction [%s] failed."] = "Reduzierung der Bildgröße [%s] fehlgeschlagen.";
+$a->strings["Contact not found."] = "Kontakt nicht gefunden";
+$a->strings["Friend suggestion sent."] = "Freundschaftsempfehlung senden.";
+$a->strings["Suggest Friends"] = "Kontakte vorschlagen";
+$a->strings["Suggest a friend for %s"] = "Schlage %s einen Kontakt vor";
$a->strings["Permission Denied."] = "Zugriff verweigert.";
$a->strings["File not found."] = "Datei nicht gefunden.";
$a->strings["Edit file permissions"] = "Dateiberechtigungen bearbeiten";
@@ -1023,25 +1544,54 @@ $a->strings["Include all files and sub folders"] = "Alle Dateien und Unterverzei
$a->strings["Return to file list"] = "Zurück zur Dateiliste";
$a->strings["Copy/paste this code to attach file to a post"] = "Diesen Code kopieren und einfügen, um die Datei an einen Beitrag anzuhängen";
$a->strings["Copy/paste this URL to link file from a web page"] = "Diese URL verwenden, um von einer Webseite aus auf die Datei zu verlinken";
-$a->strings["Red Matrix - &quot;The Network&quot;"] = "RedMatrix – &quot;Das Netzwerk&quot;";
-$a->strings["Welcome to %s"] = "Willkommen auf %s";
-$a->strings["Fetching URL returns error: %1\$s"] = "Abrufen der URL gab einen Fehler zurück: %1\$s";
-$a->strings["[Embedded content - reload page to view]"] = "[Eingebettete Inhalte – lade die Seite neu, um sie anzuzeigen]";
-$a->strings["Add a Channel"] = "Kanal hinzufügen";
-$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Ein Kanal ist Deine eigene Sammlung von verbundenen Webseiten. Ein Kanal kann genutzt werden, um ein Social-Network-Profil, ein Blog, eine Gesprächsgruppe oder ein Forum, Promi-Seiten und vieles mehr zu erstellen. Du kannst so viele Kanäle erstellen, wie es der Betreiber Deiner Seite zulässt.";
-$a->strings["Channel Name"] = "Name des Kanals";
-$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ ";
-$a->strings["Choose a short nickname"] = "Wähle einen kurzen Spitznamen";
-$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Dein Spitzname wird verwendet, um eine leicht zu merkende Kanal-Adresse (ähnlich einer E-Mail-Adresse) zu erzeugen, die Du mit anderen austauschen kannst.";
-$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server";
-$a->strings["Channel Type"] = "Kanaltyp";
-$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Wähle einen Kanaltyp (wie Soziales Netzwerk oder Forum) und Privatsphäre-Vorgaben, so dass wir die passenden Kanal-Zugriffsrechte für Dich setzen können";
-$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Wir haben ein Problem mit der OpenID festgestellt, mit der Du Dich anmelden wolltest. Bitte überprüfe sie noch einmal.";
-$a->strings["The error message was:"] = "Die Fehlermeldung war:";
-$a->strings["Authentication failed."] = "Authentifizierung fehlgeschlagen.";
-$a->strings["Remote Authentication"] = "Entfernte Authentifizierung";
-$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Deine Kanal-Adresse (z. B. channel@example.com)";
-$a->strings["Authenticate"] = "Authentifizieren";
+$a->strings["Help:"] = "Hilfe:";
+$a->strings["Not Found"] = "Nicht gefunden";
+$a->strings["network"] = "Netzwerk";
+$a->strings["Channel added."] = "Kanal hinzugefügt.";
+$a->strings["No potential page delegates located."] = "Keine potentiellen Bevollmächtigten für die Seite gefunden.";
+$a->strings["Delegate Page Management"] = "Delegiere das Management für diese Seite";
+$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Bevollmächtigte sind in der Lage, alle Aspekte dieses Kontos/dieser Seite zu verwalten, abgesehen von den Grundeinstellungen des Kontos. Gib niemandem eine Bevollmächtigung für Deinen privaten Account, dem Du nicht absolut vertraust!";
+$a->strings["Existing Page Managers"] = "Vorhandene Seitenmanager";
+$a->strings["Existing Page Delegates"] = "Vorhandene Bevollmächtigte für die Seite";
+$a->strings["Potential Delegates"] = "Potentielle Bevollmächtigte";
+$a->strings["Add"] = "Hinzufügen";
+$a->strings["No entries."] = "Keine Einträge.";
+$a->strings["Collection created."] = "Sammlung erstellt.";
+$a->strings["Could not create collection."] = "Sammlung kann nicht erstellt werden.";
+$a->strings["Collection updated."] = "Sammlung aktualisiert.";
+$a->strings["Create a collection of channels."] = "Erstelle eine Sammlung von Kanälen.";
+$a->strings["Collection Name: "] = "Name der Sammlung:";
+$a->strings["Members are visible to other channels"] = "Mitglieder sind sichtbar für andere Kanäle";
+$a->strings["Collection removed."] = "Sammlung gelöscht.";
+$a->strings["Unable to remove collection."] = "Löschen der Sammlung nicht möglich.";
+$a->strings["Collection Editor"] = "Sammlung-Editor";
+$a->strings["Members"] = "Mitglieder";
+$a->strings["All Connected Channels"] = "Alle verbundenen Kanäle";
+$a->strings["Click on a channel to add or remove."] = "Wähle einen Kanal zum hinzufügen oder entfernen aus.";
+$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal.";
+$a->strings["Your service plan only allows %d channels."] = "Dein Vertrag erlaubt nur %d Kanäle.";
+$a->strings["Nothing to import."] = "Nichts zu importieren.";
+$a->strings["Unable to download data from old server"] = "Daten können vom alten Server nicht heruntergeladen werden";
+$a->strings["Imported file is empty."] = "Die importierte Datei ist leer.";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen.";
+$a->strings["Channel clone failed. Import failed."] = "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen.";
+$a->strings["Cloned channel not found. Import failed."] = "Geklonter Kanal nicht gefunden. Import fehlgeschlagen.";
+$a->strings["Import completed."] = "Import abgeschlossen.";
+$a->strings["You must be logged in to use this feature."] = "Du musst angemeldet sein um diese Funktion zu nutzen.";
+$a->strings["Import Channel"] = "Kanal importieren";
+$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Verwende dieses Formular, um einen existierenden Kanal von einem anderen Red-Server zu importieren. Du kannst den Kanal direkt vom bisherigen Red-Server über das Netzwerk importieren oder eine exportierte Sicherheitskopie benutzen. Es werden ausschließlich die Identität und die Verbindungen/Beziehungen importiert. Das Importieren von Inhalten ist derzeit nicht möglich.";
+$a->strings["File to Upload"] = "Hochzuladende Datei:";
+$a->strings["Or provide the old server/hub details"] = "Oder gib die Details Deines bisherigen Red-Servers ein";
+$a->strings["Your old identity address (xyz@example.com)"] = "Bisherige Kanal-Adresse (xyz@example.com)";
+$a->strings["Your old login email address"] = "Deine alte Login-E-Mail-Adresse";
+$a->strings["Your old login password"] = "Dein altes Passwort";
+$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Egal, welche Option Du wählst – bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige Red-Server diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein.";
+$a->strings["Make this hub my primary location"] = "Dieser Red-Server ist mein primärer Server.";
+$a->strings["Import existing posts if possible"] = "Existierende Beiträge importieren, falls möglich";
+$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s hat %2\$ss %3\$s mit %4\$s verschlagwortet";
+$a->strings["Tag removed"] = "Schlagwort entfernt";
+$a->strings["Remove Item Tag"] = "Schlagwort entfernen";
+$a->strings["Select a tag to remove: "] = "Schlagwort zum Entfernen auswählen:";
$a->strings["Theme settings updated."] = "Theme-Einstellungen aktualisiert.";
$a->strings["Site"] = "Seite";
$a->strings["Accounts"] = "Konten";
@@ -1062,13 +1612,14 @@ $a->strings["Pending registrations"] = "Ausstehende Registrierungen";
$a->strings["Version"] = "Version";
$a->strings["Active plugins"] = "Aktive Plug-Ins";
$a->strings["Site settings updated."] = "Site-Einstellungen aktualisiert.";
-$a->strings["No special theme for accessibility"] = "Kein spezielles Accessibility-Theme vorhanden";
+$a->strings["mobile"] = "mobil";
+$a->strings["experimental"] = "experimentell";
+$a->strings["unsupported"] = "nicht unterstützt";
$a->strings["Yes - with approval"] = "Ja - mit Zustimmung";
-$a->strings["My site is not a public server"] = "Meine Server ist kein öffentlicher Server";
+$a->strings["My site is not a public server"] = "Mein Server ist kein öffentlicher Server";
$a->strings["My site has paid access only"] = "Mein Server erlaubt nur bezahlten Zugang";
$a->strings["My site has free access only"] = "Mein Server erlaubt ausschließlich freien Zugang";
$a->strings["My site offers free accounts with optional paid upgrades"] = "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades";
-$a->strings["Registration"] = "Registrierung";
$a->strings["File upload"] = "Dateiupload";
$a->strings["Policies"] = "Richtlinien";
$a->strings["Site name"] = "Seitenname";
@@ -1080,8 +1631,6 @@ $a->strings["System theme"] = "System-Theme";
$a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>";
$a->strings["Mobile system theme"] = "Mobile System-Theme:";
$a->strings["Theme for mobile devices"] = "Theme für mobile Geräte";
-$a->strings["Accessibility system theme"] = "Accessibility-System-Theme";
-$a->strings["Accessibility theme"] = "Accessibility-Theme";
$a->strings["Enable Diaspora Protocol"] = "Diaspora-Protokoll aktivieren";
$a->strings["Communicate with Diaspora and Friendica - experimental"] = "Kommunikation mit Diaspora und Friendica – experimentell";
$a->strings["Allow Feeds as Connections"] = "Feeds als Verbindungen erlauben";
@@ -1105,7 +1654,7 @@ $a->strings["Check to verify email addresses used in account registration (recom
$a->strings["Force publish"] = "Veröffentlichung erzwingen";
$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen.";
$a->strings["Disable discovery tab"] = "Den „Entdecken“-Reiter ausblenden";
-$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Entferne den „Entdecken“-Reiter aus der Matrix-Seite, in dem öffentliche Inhalte von anderen RedMatrix-Hubs angezeigt werden können.";
+$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Entferne den „Entdecken“-Reiter aus der Matrix-Seite, in dem öffentliche Inhalte angezeigt werden, die von anderen RedMatrix-Hubs geholt wurden.";
$a->strings["No login on Homepage"] = "Kein Login auf der Homepage";
$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Aktivieren, um das Login-Formular auf der Startseite der Seite zu verbergen (z.B. weil es das Layout der Homepage des Seiten-Kanals stört).";
$a->strings["Proxy user"] = "Proxy Benutzer";
@@ -1150,8 +1699,6 @@ $a->strings["Request date"] = "Antragsdatum";
$a->strings["No registrations."] = "Keine Registrierungen.";
$a->strings["Approve"] = "Genehmigen";
$a->strings["Deny"] = "Verweigern";
-$a->strings["Block"] = "Blockieren";
-$a->strings["Unblock"] = "Freigeben";
$a->strings["Register date"] = "Registrierungs-Datum";
$a->strings["Last login"] = "Letzte Anmeldung";
$a->strings["Expires"] = "Verfällt";
@@ -1173,7 +1720,6 @@ $a->strings["Channel '%s' censored"] = "Kanal '%s' gesperrt";
$a->strings["Censor"] = "Sperren";
$a->strings["Uncensor"] = "Freigeben";
$a->strings["UID"] = "UID";
-$a->strings["Address"] = "Adresse";
$a->strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?";
$a->strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?";
$a->strings["Plugin %s disabled."] = "Plug-In %s deaktiviert.";
@@ -1203,324 +1749,21 @@ $a->strings["Help text"] = "Hilfetext";
$a->strings["Additional info (optional)"] = "Zusätzliche Informationen (optional)";
$a->strings["Field definition not found"] = "Feld-Definition nicht gefunden";
$a->strings["Edit Profile Field"] = "Profilfeld bearbeiten";
-$a->strings["- select -"] = "– auswählen –";
-$a->strings["Could not access contact record."] = "Konnte nicht auf den Kontakteintrag zugreifen.";
-$a->strings["Could not locate selected profile."] = "Gewähltes Profil nicht gefunden.";
-$a->strings["Connection updated."] = "Verbindung aktualisiert.";
-$a->strings["Failed to update connection record."] = "Konnte den Verbindungseintrag nicht aktualisieren.";
-$a->strings["Blocked"] = "Blockiert";
-$a->strings["Ignored"] = "Ignoriert";
-$a->strings["Hidden"] = "Versteckt";
-$a->strings["Archived"] = "Archiviert";
-$a->strings["All"] = "Alle";
-$a->strings["Suggest new connections"] = "Neue Verbindungen vorschlagen";
-$a->strings["New Connections"] = "Neue Verbindungen";
-$a->strings["Show pending (new) connections"] = "Zeige ausstehende (neue) Verbindungsanfragen";
-$a->strings["All Connections"] = "Alle Verbindungen";
-$a->strings["Show all connections"] = "Zeige alle Verbindungen";
-$a->strings["Unblocked"] = "Freigegeben";
-$a->strings["Only show unblocked connections"] = "Zeige nur freigegebene Verbindungen";
-$a->strings["Only show blocked connections"] = "Zeige nur blockierte Verbindungen";
-$a->strings["Only show ignored connections"] = "Zeige nur ignorierte Verbindungen";
-$a->strings["Only show archived connections"] = "Zeige nur archivierte Verbindungen";
-$a->strings["Only show hidden connections"] = "Zeige nur versteckte Verbindungen";
-$a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-$a->strings["Edit connection"] = "Verbindung bearbeiten";
-$a->strings["Search your connections"] = "Verbindungen durchsuchen";
-$a->strings["Finding: "] = "Ergebnisse:";
-$a->strings["Public access denied."] = "Öffentlicher Zugang verweigert.";
-$a->strings["Age: "] = "Alter:";
-$a->strings["Gender: "] = "Geschlecht:";
-$a->strings["Status: "] = "Status:";
-$a->strings["Sexual Preference: "] = "Sexuelle Ausrichtung:";
-$a->strings["Homepage: "] = "Webseite:";
-$a->strings["Hometown: "] = "Wohnort:";
-$a->strings["About: "] = "Ãœber:";
-$a->strings["Keywords: "] = "Schlüsselwörter:";
-$a->strings["Not found."] = "Nicht gefunden.";
-$a->strings["Page owner information could not be retrieved."] = "Informationen über den Besitzer der Seite konnten nicht gefunden werden.";
-$a->strings["Album not found."] = "Album nicht gefunden.";
-$a->strings["Delete Album"] = "Album löschen";
-$a->strings["Delete Photo"] = "Foto löschen";
-$a->strings["No photos selected"] = "Keine Fotos ausgewählt";
-$a->strings["Access to this item is restricted."] = "Der Zugriff auf dieses Foto ist eingeschränkt.";
-$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Du benutzt %1$.2f MBytes Deines %2$.2f MBytes großen Bilder-Speichers.";
-$a->strings["You have used %1$.2f Mbytes of photo storage."] = "Du verwendest %1$.2f MBytes Deines Foto-Speichers.";
-$a->strings["Upload Photos"] = "Fotos hochladen";
-$a->strings["New album name: "] = "Name des neuen Albums:";
-$a->strings["or existing album name: "] = "Oder bestehender Album-Name:";
-$a->strings["Do not show a status post for this upload"] = "Keine Statusnachricht für diesen Upload senden";
-$a->strings["Album name could not be decoded"] = "Albumname konnte nicht dekodiert werden";
-$a->strings["Contact Photos"] = "Kontakt-Bilder";
-$a->strings["Edit Album"] = "Album bearbeiten";
-$a->strings["Show Newest First"] = "Zeige Neueste zuerst";
-$a->strings["Show Oldest First"] = "Zeige Älteste zuerst";
-$a->strings["View Photo"] = "Foto ansehen";
-$a->strings["Permission denied. Access to this item may be restricted."] = "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden.";
-$a->strings["Photo not available"] = "Foto nicht verfügbar";
-$a->strings["Use as profile photo"] = "Als Profilfoto verwenden";
-$a->strings["View Full Size"] = "In voller Größe anzeigen";
-$a->strings["Remove"] = "Entferne";
-$a->strings["Edit photo"] = "Foto bearbeiten";
-$a->strings["Rotate CW (right)"] = "Drehen im UZS (rechts)";
-$a->strings["Rotate CCW (left)"] = "Drehen gegen UZS (links)";
-$a->strings["New album name"] = "Name des neuen Albums:";
-$a->strings["Caption"] = "Bildunterschrift";
-$a->strings["Add a Tag"] = "Schlagwort hinzufügen";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Beispiel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping";
-$a->strings["In This Photo:"] = "Auf diesem Foto:";
-$a->strings["View Album"] = "Album ansehen";
-$a->strings["Recent Photos"] = "Neueste Fotos";
-$a->strings["Menu not found."] = "Menü nicht gefunden";
-$a->strings["Menu element updated."] = "Menü-Element aktualisiert.";
-$a->strings["Unable to update menu element."] = "Kann Menü-Element nicht aktualisieren.";
-$a->strings["Menu element added."] = "Menü-Bestandteil hinzugefügt.";
-$a->strings["Unable to add menu element."] = "Kann Menü-Bestandteil nicht hinzufügen.";
-$a->strings["Manage Menu Elements"] = "Menü-Bestandteile verwalten";
-$a->strings["Edit menu"] = "Menü bearbeiten";
-$a->strings["Edit element"] = "Bestandteil bearbeiten";
-$a->strings["Drop element"] = "Bestandteil löschen";
-$a->strings["New element"] = "Neues Bestandteil";
-$a->strings["Edit this menu container"] = "Diesen Menü-Container bearbeiten";
-$a->strings["Add menu element"] = "Menüelement hinzufügen";
-$a->strings["Delete this menu item"] = "Lösche dieses Menü-Bestandteil";
-$a->strings["Edit this menu item"] = "Bearbeite dieses Menü-Bestandteil";
-$a->strings["New Menu Element"] = "Neues Menü-Bestandteil";
-$a->strings["Menu Item Permissions"] = "Zugriffsrechte des Menü-Elements";
-$a->strings["Link text"] = "Link Text";
-$a->strings["URL of link"] = "URL des Links";
-$a->strings["Use Red magic-auth if available"] = "Verwende Red Magic-Auth wenn verfügbar";
-$a->strings["Open link in new window"] = "Öffne Link in neuem Fenster";
-$a->strings["Order in list"] = "Reihenfolge in der Liste";
-$a->strings["Higher numbers will sink to bottom of listing"] = "Größere Nummern werden weiter unten in der Auflistung einsortiert";
-$a->strings["Menu item not found."] = "Menü-Bestandteil nicht gefunden.";
-$a->strings["Menu item deleted."] = "Menü-Bestandteil gelöscht.";
-$a->strings["Menu item could not be deleted."] = "Menü-Bestandteil kann nicht gelöscht werden.";
-$a->strings["Edit Menu Element"] = "Bearbeite Menü-Bestandteil";
-$a->strings["Modify"] = "Ändern";
-$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s folgt nun %2\$ss %3\$s";
-$a->strings["Please login."] = "Bitte melde dich an.";
-$a->strings["Set your current mood and tell your friends"] = "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden";
-$a->strings["webpage"] = "Webseite";
-$a->strings["block"] = "Block";
-$a->strings["layout"] = "Layout";
-$a->strings["%s element installed"] = "Element für %s installiert";
-$a->strings["Remote privacy information not available."] = "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar.";
-$a->strings["Visible to:"] = "Sichtbar für:";
-$a->strings["Select a bookmark folder"] = "Lesezeichenordner wählen";
-$a->strings["Save Bookmark"] = "Lesezeichen speichern";
-$a->strings["URL of bookmark"] = "URL des Lesezeichens";
-$a->strings["Description"] = "Beschreibung";
-$a->strings["Or enter new bookmark folder name"] = "Oder gib einen neuen Namen für den Lesezeichenordner ein";
-$a->strings["Layout updated."] = "Layout aktualisiert.";
-$a->strings["Edit System Page Description"] = "Systemseitenbeschreibung bearbeiten";
-$a->strings["Layout not found."] = "Layout nicht gefunden.";
-$a->strings["Module Name:"] = "Modulname:";
-$a->strings["Layout Help"] = "Layout-Hilfe";
-$a->strings["Image uploaded but image cropping failed."] = "Bild hochgeladen, aber das Zurechtschneiden schlug fehl.";
-$a->strings["Image resize failed."] = "Bild-Anpassung fehlgeschlagen.";
-$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird.";
-$a->strings["Image exceeds size limit of %d"] = "Bild ist größer als das Limit von %d";
-$a->strings["Unable to process image."] = "Kann Bild nicht verarbeiten.";
-$a->strings["Photo not available."] = "Foto nicht verfügbar.";
-$a->strings["Upload File:"] = "Datei hochladen:";
-$a->strings["Select a profile:"] = "Wähle ein Profil:";
-$a->strings["Upload Profile Photo"] = "Lade neues Profilfoto hoch";
-$a->strings["skip this step"] = "diesen Schritt überspringen";
-$a->strings["select a photo from your photo albums"] = "ein Foto aus meinen Fotoalben";
-$a->strings["Crop Image"] = "Bild zuschneiden";
-$a->strings["Please adjust the image cropping for optimum viewing."] = "Bitte schneide das Bild für eine optimale Anzeige passend zu.";
-$a->strings["Done Editing"] = "Bearbeitung fertigstellen";
-$a->strings["Image uploaded successfully."] = "Bild erfolgreich hochgeladen.";
-$a->strings["Image upload failed."] = "Hochladen des Bilds fehlgeschlagen.";
-$a->strings["Image size reduction [%s] failed."] = "Reduzierung der Bildgröße [%s] fehlgeschlagen.";
-$a->strings["network"] = "Netzwerk";
-$a->strings["Menu updated."] = "Menü aktualisiert.";
-$a->strings["Unable to update menu."] = "Kann Menü nicht aktualisieren.";
-$a->strings["Menu created."] = "Menü erstellt.";
-$a->strings["Unable to create menu."] = "Kann Menü nicht erstellen.";
-$a->strings["Manage Menus"] = "Menüs verwalten";
-$a->strings["Drop"] = "Löschen";
-$a->strings["Create a new menu"] = "Neues Menü erstellen";
-$a->strings["Delete this menu"] = "Lösche dieses Menü";
-$a->strings["Edit menu contents"] = "Bearbeite Menü Inhalte";
-$a->strings["Edit this menu"] = "Dieses Menü bearbeiten";
-$a->strings["New Menu"] = "Neues Menü";
-$a->strings["Menu name"] = "Menü Name";
-$a->strings["Must be unique, only seen by you"] = "Muss eindeutig sein, ist aber nur für Dich sichtbar";
-$a->strings["Menu title"] = "Menü Titel";
-$a->strings["Menu title as seen by others"] = "Menü Titel wie er von anderen gesehen wird";
-$a->strings["Allow bookmarks"] = "Erlaube Lesezeichen";
-$a->strings["Menu may be used to store saved bookmarks"] = "Im Menü können gespeicherte Lesezeichen abgelegt werden";
-$a->strings["Menu deleted."] = "Menü gelöscht.";
-$a->strings["Menu could not be deleted."] = "Menü konnte nicht gelöscht werden.";
-$a->strings["Edit Menu"] = "Menü bearbeiten";
-$a->strings["Add or remove entries to this menu"] = "Einträge zu diesem Menü hinzufügen oder entfernen";
-$a->strings["Invalid item."] = "Ungültiges Element.";
-$a->strings["Channel not found."] = "Kanal nicht gefunden.";
-$a->strings["Page not found."] = "Seite nicht gefunden.";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s hat %2\$ss %3\$s mit %4\$s verschlagwortet";
-$a->strings["Wall Photos"] = "Wall Fotos";
-$a->strings["OpenID protocol error. No ID returned."] = "OpenID Protokollfehler. Keine ID zurückgegeben.";
-$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal.";
-$a->strings["is now connected to"] = "ist jetzt verbunden mit";
-$a->strings["Could not access address book record."] = "Konnte nicht auf den Adressbuch-Eintrag zugreifen.";
-$a->strings["Refresh failed - channel is currently unavailable."] = "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar.";
-$a->strings["Channel has been unblocked"] = "Kanal nicht mehr blockiert";
-$a->strings["Channel has been blocked"] = "Kanal blockiert";
-$a->strings["Unable to set address book parameters."] = "Konnte die Adressbuch-Parameter nicht setzen.";
-$a->strings["Channel has been unignored"] = "Kanal wird nicht mehr ignoriert";
-$a->strings["Channel has been ignored"] = "Kanal wird ignoriert";
-$a->strings["Channel has been unarchived"] = "Kanal wurde aus dem Archiv zurück geholt";
-$a->strings["Channel has been archived"] = "Kanal wurde archiviert";
-$a->strings["Channel has been unhidden"] = "Kanal wird nicht mehr versteckt";
-$a->strings["Channel has been hidden"] = "Kanal wurde versteckt";
-$a->strings["Channel has been approved"] = "Kanal wurde zugelassen";
-$a->strings["Channel has been unapproved"] = "Zulassung des Kanals entfernt";
-$a->strings["Connection has been removed."] = "Verbindung wurde gelöscht.";
-$a->strings["View %s's profile"] = "%ss Profil ansehen";
-$a->strings["Refresh Permissions"] = "Zugriffsrechte neu laden";
-$a->strings["Fetch updated permissions"] = "Aktualisierte Zugriffsrechte abfragen";
-$a->strings["Recent Activity"] = "Kürzliche Aktivitäten";
-$a->strings["View recent posts and comments"] = "Betrachte die neuesten Beiträge und Kommentare";
-$a->strings["Block or Unblock this connection"] = "Verbindung blockieren oder freigeben";
-$a->strings["Unignore"] = "Nicht ignorieren";
-$a->strings["Ignore"] = "Ignorieren";
-$a->strings["Ignore or Unignore this connection"] = "Verbindung ignorieren oder wieder beachten";
-$a->strings["Unarchive"] = "Aus Archiv zurückholen";
-$a->strings["Archive"] = "Archivieren";
-$a->strings["Archive or Unarchive this connection"] = "Verbindung archivieren oder aus dem Archiv zurückholen";
-$a->strings["Unhide"] = "Wieder sichtbar machen";
-$a->strings["Hide"] = "Verstecken";
-$a->strings["Hide or Unhide this connection"] = "Diese Verbindung verstecken oder wieder sichtbar machen";
-$a->strings["Delete this connection"] = "Verbindung löschen";
-$a->strings["Approve this connection"] = "Verbindung genehmigen";
-$a->strings["Accept connection to allow communication"] = "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen";
-$a->strings["Automatic Permissions Settings"] = "Automatische Berechtigungs-Einstellungen";
-$a->strings["Connections: settings for %s"] = "Verbindungseinstellungen für %s";
-$a->strings["When receiving a channel introduction, any permissions provided here will be applied to the new connection automatically and the introduction approved. Leave this page if you do not wish to use this feature."] = "Wenn eine Verbindungsanfrage empfangen wird, werden die hier getroffenen Einstellungen automatisch angewandt, und die Anfrage wird genehmigt. Verlasse diese Seite, wenn Du diese Funktion nicht verwenden möchtest.";
-$a->strings["Slide to adjust your degree of friendship"] = "Verschieben, um den Grad der Freundschaft zu einzustellen";
-$a->strings["inherited"] = "geerbt";
-$a->strings["Connection has no individual permissions!"] = "Diese Verbindung hat keine individuellen Zugriffsrechte!";
-$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Abhängig von Deinen <a href=\"settings\">Privatsphäre-Einstellungen</a> könnte das passen, eventuell solltest Du aber die „Zugriffsrechte für Fortgeschrittene“ überprüfen.";
-$a->strings["Profile Visibility"] = "Sichtbarkeit des Profils";
-$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird.";
-$a->strings["Contact Information / Notes"] = "Kontaktinformationen / Notizen";
-$a->strings["Edit contact notes"] = "Kontaktnotizen bearbeiten";
-$a->strings["Their Settings"] = "Deren Einstellungen";
-$a->strings["My Settings"] = "Meine Einstellungen";
-$a->strings["Clear/Disable Automatic Permissions"] = "Automatische Berechtigungen abschalten/entfernen";
-$a->strings["Forum Members"] = "Forum Mitglieder";
-$a->strings["Soapbox"] = "Marktschreier";
-$a->strings["Full Sharing (typical social network permissions)"] = "Vollumfängliches Teilen (übliche Berechtigungen in sozialen Netzwerken)";
-$a->strings["Cautious Sharing "] = "Vorsichtiges Teilen";
-$a->strings["Follow Only"] = "Nur folgen";
-$a->strings["Individual Permissions"] = "Individuelle Zugriffsrechte";
-$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "Einige Berechtigungen werden von den <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt, die eine höhere Priorität haben als die Einstellungen bei einer Verbindung. Werden geerbte Einstellungen hier geändert, hat das keine Auswirkungen.";
-$a->strings["Advanced Permissions"] = "Zugriffsrechte für Fortgeschrittene";
-$a->strings["Simple Permissions (select one and submit)"] = "Einfache Berechtigungs-Einstellungen (wähle eine aus und klicke auf Senden)";
-$a->strings["Visit %s's profile - %s"] = "%ss Profil besuchen - %s";
-$a->strings["Block/Unblock contact"] = "Kontakt blockieren/freigeben";
-$a->strings["Ignore contact"] = "Kontakt ignorieren";
-$a->strings["Repair URL settings"] = "URL-Einstellungen reparieren";
-$a->strings["View conversations"] = "Unterhaltungen anzeigen";
-$a->strings["Delete contact"] = "Kontakt löschen";
-$a->strings["Last update:"] = "Letzte Aktualisierung:";
-$a->strings["Update public posts"] = "Öffentliche Beiträge aktualisieren";
-$a->strings["Update now"] = "Jetzt aktualisieren";
-$a->strings["Currently blocked"] = "Derzeit blockiert";
-$a->strings["Currently ignored"] = "Derzeit ignoriert";
-$a->strings["Currently archived"] = "Derzeit archiviert";
-$a->strings["Currently pending"] = "Derzeit anstehend";
-$a->strings["Hide this contact from others"] = "Diese Verbindung vor den anderen verbergen.";
-$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Antworten/Likes auf deine öffentlichen Beiträge <strong>können</strong> immer noch sichtbar sein";
-$a->strings["Conversation removed."] = "Unterhaltung gelöscht.";
-$a->strings["No messages."] = "Keine Nachrichten.";
-$a->strings["Delete conversation"] = "Unterhaltung löschen";
-$a->strings["D, d M Y - g:i A"] = "D, d. M Y - G:i";
-$a->strings["sent you a private message"] = "eine private Nachricht schicken";
-$a->strings["added your channel"] = "hat deinen Kanal hinzugefügt";
-$a->strings["posted an event"] = "hat eine Veranstaltung veröffentlicht";
-$a->strings["Red Matrix Server - Setup"] = "Red Matrix Server - Installation";
-$a->strings["Could not connect to database."] = "Kann nicht mit der Datenbank verbinden.";
-$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS.";
-$a->strings["Could not create table."] = "Kann Tabelle nicht erstellen.";
-$a->strings["Your site database has been installed."] = "Die Datenbank Deines Servers wurde installiert.";
-$a->strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "Eventuell musst Du die Datei \"install/database.sql\" per Hand mit phpmyadmin oder mysql importieren.";
-$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Lies die Datei \"install/INSTALL.txt\".";
-$a->strings["System check"] = "Systemprüfung";
-$a->strings["Next"] = "Nächste";
-$a->strings["Check again"] = "Bitte nochmal prüfen";
-$a->strings["Database connection"] = "Datenbank Verbindung";
-$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "Um die Red-Matrix installieren zu können, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können.";
-$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast.";
-$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst.";
-$a->strings["Database Server Name"] = "Datenbank-Servername";
-$a->strings["Default is localhost"] = "Standard ist localhost";
-$a->strings["Database Port"] = "Datenbank-Port";
-$a->strings["Communication port number - use 0 for default"] = "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung";
-$a->strings["Database Login Name"] = "Datenbank-Benutzername";
-$a->strings["Database Login Password"] = "Datenbank-Kennwort";
-$a->strings["Database Name"] = "Datenbank-Name";
-$a->strings["Site administrator email address"] = "E-Mail Adresse des Seiten-Administrators";
-$a->strings["Your account email address must match this in order to use the web admin panel."] = "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst.";
-$a->strings["Website URL"] = "Server-URL";
-$a->strings["Please use SSL (https) URL if available."] = "Nutze wenn möglich eine SSL-URL (https).";
-$a->strings["Please select a default timezone for your website"] = "Standard-Zeitzone für Deinen Server";
-$a->strings["Site settings"] = "Seiteneinstellungen";
-$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden.";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen.";
-$a->strings["PHP executable path"] = "PHP Pfad zu ausführbarer Datei";
-$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren.";
-$a->strings["Command line PHP"] = "PHP Befehlszeile";
-$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert.";
-$a->strings["This is required for message delivery to work."] = "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert.";
-$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen.";
-$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung.";
-$a->strings["Generate encryption keys"] = "Verschlüsselungsschlüssel generieren";
-$a->strings["libCurl PHP module"] = "libCurl-PHP-Modul";
-$a->strings["GD graphics PHP module"] = "GD-Grafik-PHP-Modul";
-$a->strings["OpenSSL PHP module"] = "OpenSSL-PHP-Modul";
-$a->strings["mysqli PHP module"] = "mysqli-PHP-Modul";
-$a->strings["mb_string PHP module"] = "mb_string-PHP-Modul";
-$a->strings["mcrypt PHP module"] = "mcrypt-PHP-Modul";
-$a->strings["Apache mod_rewrite module"] = "Apache-mod_rewrite-Modul";
-$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert.";
-$a->strings["proc_open"] = "proc_open";
-$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert";
-$a->strings["Error: libCURL PHP module required but not installed."] = "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert.";
-$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert.";
-$a->strings["Error: openssl PHP module required but not installed."] = "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert.";
-$a->strings["Error: mysqli PHP module required but not installed."] = "Fehler: Das PHP-Modul mysqli wird benötigt, ist aber nicht installiert.";
-$a->strings["Error: mb_string PHP module required but not installed."] = "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert.";
-$a->strings["Error: mcrypt PHP module required but not installed."] = "Fehler: Das PHP-Modul mcrypt wird benötigt, ist aber nicht installiert.";
-$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht.";
-$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Rechte Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst.";
-$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Red-Installation speichern musst.";
-$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt.";
-$a->strings[".htconfig.php is writable"] = ".htconfig.php ist beschreibbar";
-$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen.";
-$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Um diese kompilierten Vorlagen speichern zu können braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Red-Installationsverzeichnisses.";
-$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Bitte stelle sicher, dass der Nutzer, unter dem der Webserver läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat.";
-$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = " Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht in der restlichen Red-Installation.";
-$a->strings["%s is writable"] = "%s ist beschreibbar";
-$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red-Stammverzeichnisses";
-$a->strings["store is writable"] = "store ist schreibbar";
-$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server.";
-$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich.";
-$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können.";
-$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer Red-Server (die mit korrekten Zertifikate ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird).";
-$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen.. ";
-$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind.";
-$a->strings["SSL certificate validation"] = "SSL Zertifikatverifizierung";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "URL rewrite via .htaccess funktioniert nicht. Überprüfe Deine Server-Konfiguration.";
-$a->strings["Url rewrite is working"] = "Url rewrite funktioniert";
-$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen.";
-$a->strings["Errors encountered creating database tables."] = "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten.";
-$a->strings["<h1>What next</h1>"] = "<h1>Was als Nächstes</h1>";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten.";
-$a->strings["Hub not found."] = "Server nicht gefunden.";
+$a->strings["Unable to locate original post."] = "Originalbeitrag nicht gefunden.";
+$a->strings["Empty post discarded."] = "Leeren Beitrag verworfen.";
+$a->strings["Executable content type not permitted to this channel."] = "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben.";
+$a->strings["System error. Post not saved."] = "Systemfehler. Beitrag nicht gespeichert.";
+$a->strings["You have reached your limit of %1$.0f top level posts."] = "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht.";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht.";
+$a->strings["Like/Dislike"] = "Mögen/Nicht mögen";
+$a->strings["This action is restricted to members."] = "Diese Aktion kann nur von Mitgliedern ausgeführt werden.";
+$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "Bitte <a href=\"rmagic\">melde Dich mit Deiner RedMatrix-ID an</a> oder <a href=\"register\">registriere Dich als neues Mitglied der RedMatrix</a>, um fortzufahren.";
+$a->strings["Invalid request."] = "Ungültige Anfrage.";
+$a->strings["thing"] = "Sache";
+$a->strings["Channel unavailable."] = "Kanal nicht vorhanden.";
+$a->strings["Previous action reversed."] = "Die vorherige Aktion wurde rückgängig gemacht.";
+$a->strings["Action completed."] = "Aktion durchgeführt.";
+$a->strings["Thank you."] = "Vielen Dank.";
$a->strings["Total invitation limit exceeded."] = "Einladungslimit überschritten.";
$a->strings["%s : Not a valid email address."] = "%s : Keine gültige Email Adresse.";
$a->strings["Please join us on Red"] = "Schließe Dich uns an und werde Teil der Red-Matrix";
@@ -1540,207 +1783,24 @@ $a->strings["1. Register at any RedMatrix location (they are all inter-connected
$a->strings["2. Enter my RedMatrix network address into the site searchbar."] = "2. Gib meine RedMatrix-Adresse im Suchfeld ein.";
$a->strings["or visit "] = "oder besuche";
$a->strings["3. Click [Connect]"] = "3. Klicke auf [Verbinden]";
-$a->strings["Thing updated"] = "Sache aktualisiert";
-$a->strings["Object store: failed"] = "Speichern des Objekts fehlgeschlagen";
-$a->strings["Thing added"] = "Sache hinzugefügt";
-$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-$a->strings["Show Thing"] = "Sache anzeigen";
-$a->strings["item not found."] = "Eintrag nicht gefunden";
-$a->strings["Edit Thing"] = "Sache bearbeiten";
-$a->strings["Select a profile"] = "Wähle ein Profil";
-$a->strings["Post an activity"] = "Aktivitätsnachricht senden";
-$a->strings["Only sends to viewers of the applicable profile"] = "Nur an Betrachter des ausgewählten Profils senden";
-$a->strings["Name of thing e.g. something"] = "Name der Sache, z. B. irgendwas";
-$a->strings["URL of thing (optional)"] = "URL der Sache (optional)";
-$a->strings["URL for photo of thing (optional)"] = "URL eines Fotos der Sache (optional)";
-$a->strings["Add Thing to your Profile"] = "Die Sache Deinem Profil hinzufügen";
-$a->strings["Unable to find your hub."] = "Konnte Deinen Server nicht finden.";
-$a->strings["Post successful."] = "Veröffentlichung erfolgreich.";
-$a->strings["Help:"] = "Hilfe:";
-$a->strings["Not Found"] = "Nicht gefunden";
+$a->strings["Location not found."] = "Klon nicht gefunden.";
+$a->strings["Primary location cannot be removed."] = "Der primäre Klon kann nicht gelöscht werden.";
+$a->strings["No locations found."] = "Keine Klon-Adressen gefunden";
+$a->strings["Manage Channel Locations"] = "Klon-Adressen verwalten";
+$a->strings["Location (address)"] = "URL (Adresse)";
+$a->strings["Primary Location"] = "Primärer Klon";
+$a->strings["Drop location"] = "Klon löschen";
+$a->strings["[Embedded content - reload page to view]"] = "[Eingebettete Inhalte – lade die Seite neu, um sie anzuzeigen]";
+$a->strings["Help with this feature"] = "Hilfe zu dieser Funktion";
+$a->strings["Layout Name"] = "Layout-Name";
+$a->strings["Remote privacy information not available."] = "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar.";
+$a->strings["Visible to:"] = "Sichtbar für:";
$a->strings["No connections."] = "Keine Verbindungen.";
$a->strings["Visit %s's profile [%s]"] = "%ss Profil [%s] besuchen";
$a->strings["View Connnections"] = "Zeige Verbindungen";
-$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Das Löschen von Konten innerhalb 48 Stunden nachdem deren Passwort geändert wurde ist nicht erlaubt.";
-$a->strings["Remove This Account"] = "Dieses Konto löschen";
-$a->strings["This will completely remove this account including all its channels from the network. Once this has been done it is not recoverable."] = "Hiermit wird dieses Nutzerkonto einschließlich all seiner Kanäle komplett aus dem Netzwerk entfernt. Dieser Vorgang kann nicht rückgängig gemacht werden.";
-$a->strings["Please enter your password for verification:"] = "Bitte gib zur Bestätigung Dein Passwort ein:";
-$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Dieses Konto, all seine Kanäle sowie alle Kanal-Klone aus dem Netzwerk löschen";
-$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standardmäßig werden nur die Kanalklone auf diesem RedMatrix-Hub aus dem Netzwerk entfernt";
-$a->strings["Invalid profile identifier."] = "Ungültiger Profil-Identifikator";
-$a->strings["Profile Visibility Editor"] = "Profil-Sichtbarkeits-Editor";
-$a->strings["Click on a contact to add or remove."] = "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen.";
-$a->strings["Visible To"] = "Sichtbar für";
-$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal.";
-$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen.";
-$a->strings["Passwords do not match."] = "Passwörter stimmen nicht überein.";
-$a->strings["Registration successful. Please check your email for validation instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet.";
-$a->strings["Your registration is pending approval by the site owner."] = "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden.";
-$a->strings["Your registration can not be processed."] = "Deine Registrierung konnte nicht verarbeitet werden.";
-$a->strings["Registration on this site/hub is by approval only."] = "Anmeldungen auf diesem Server erfordern Zustimmung durch den Administrator";
-$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrierung auf einem anderen, angeschlossenen Server</a>";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal.";
-$a->strings["Terms of Service"] = "Nutzungsbedingungen";
-$a->strings["I accept the %s for this website"] = "Ich akzeptiere die %s für diese Webseite";
-$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite";
-$a->strings["Membership on this site is by invitation only."] = "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich.";
-$a->strings["Please enter your invitation code"] = "Bitte trage Deinen Einladungs-Code ein";
-$a->strings["Your email address"] = "Ihre E-Mail Adresse";
-$a->strings["Choose a password"] = "Passwort";
-$a->strings["Please re-enter your password"] = "Bitte gib Dein Passwort noch einmal ein";
-$a->strings["No such group"] = "Gruppe existiert nicht";
-$a->strings["Search Results For:"] = "Suchergebnisse für:";
-$a->strings["Collection is empty"] = "Sammlung ist leer";
-$a->strings["Collection: "] = "Sammlung:";
-$a->strings["Connection: "] = "Verbindung:";
-$a->strings["Invalid connection."] = "Ungültige Verbindung.";
-$a->strings["No potential page delegates located."] = "Keine potentiellen Bevollmächtigten für die Seite gefunden.";
-$a->strings["Delegate Page Management"] = "Delegiere das Management für diese Seite";
-$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Bevollmächtigte sind in der Lage, alle Aspekte dieses Kontos/dieser Seite zu verwalten, abgesehen von den Grundeinstellungen des Kontos. Gib niemandem eine Bevollmächtigung für Deinen privaten Account, dem Du nicht absolut vertraust!";
-$a->strings["Existing Page Managers"] = "Vorhandene Seitenmanager";
-$a->strings["Existing Page Delegates"] = "Vorhandene Bevollmächtigte für die Seite";
-$a->strings["Potential Delegates"] = "Potentielle Bevollmächtigte";
-$a->strings["Add"] = "Hinzufügen";
-$a->strings["No entries."] = "Keine Einträge.";
-$a->strings["Continue"] = "Fortfahren";
-$a->strings["Premium Channel Setup"] = "Premium-Kanal-Einrichtung";
-$a->strings["Enable premium channel connection restrictions"] = "Einschränkungen für einen Premium-Kanal aktivieren";
-$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Bitte gib Deine Nutzungsbedingungen ein, z.B. Paypal-Quittung, Richtlinien etc.";
-$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Unter Umständen sind weitere Schritte oder die Bestätigung der folgenden Bedingungen vor dem Verbinden mit diesem Kanal nötig.";
-$a->strings["Potential connections will then see the following text before proceeding:"] = "Potentielle Kontakte werden den folgenden Text sehen, bevor fortgefahren wird:";
-$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Indem ich fortfahre, bestätige ich die Erfüllung aller Anweisungen aus dieser Seite.";
-$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)";
-$a->strings["Restricted or Premium Channel"] = "Eingeschränkter oder Premium-Kanal";
-$a->strings["Contact not found."] = "Kontakt nicht gefunden";
-$a->strings["Friend suggestion sent."] = "Freundschaftsempfehlung senden.";
-$a->strings["Suggest Friends"] = "Kontakte vorschlagen";
-$a->strings["Suggest a friend for %s"] = "Schlage %s einen Kontakt vor";
-$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet.";
-$a->strings["Create a new channel"] = "Neuen Kanal anlegen";
-$a->strings["Current Channel"] = "Aktueller Kanal";
-$a->strings["Attach to one of your channels by selecting it."] = "Wähle einen Deiner Kanäle aus, um ihn zu verwenden.";
-$a->strings["Default Channel"] = "Standard Kanal";
-$a->strings["Make Default"] = "Zum Standard machen";
-$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Innerhalb von 48 Stunden nach einer Änderung des Passworts können keine Kanäle gelöscht werden.";
-$a->strings["Remove This Channel"] = "Diesen Kanal löschen";
-$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Hiermit wird dieser Kanal komplett aus dem Netzwerk gelöscht. Einmal eingeleitet kann dieser Prozess nicht rückgängig gemacht werden.";
-$a->strings["Remove this channel and all its clones from the network"] = "Lösche diesen Kanal und all seine Klone aus dem Netzwerk";
-$a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk";
-$a->strings["Remove Channel"] = "Kanal löschen";
-$a->strings["Item not found"] = "Element nicht gefunden";
-$a->strings["Item is not editable"] = "Element kann nicht bearbeitet werden.";
-$a->strings["Edit post"] = "Bearbeite Beitrag";
-$a->strings["Delete item?"] = "Eintrag löschen?";
-$a->strings["Insert YouTube video"] = "YouTube-Video einfügen";
-$a->strings["Insert Vorbis [.ogg] video"] = "Vorbis [.ogg]-Video einfügen";
-$a->strings["Insert Vorbis [.ogg] audio"] = "Vorbis [.ogg]-Audio einfügen";
-$a->strings["Edit Webpage"] = "Webseite bearbeiten";
-$a->strings["Delete webpage?"] = "Webseite löschen?";
-$a->strings["Delete Webpage"] = "Webseite löschen";
-$a->strings["Poke/Prod"] = "Anstupsen/Knuffen";
-$a->strings["poke, prod or do other things to somebody"] = "Stupse Leute an oder mache anderes mit ihnen";
-$a->strings["Recipient"] = "Empfänger";
-$a->strings["Choose what you wish to do to recipient"] = "Wähle, was Du mit dem/r Empfänger/in tun willst";
-$a->strings["Make this post private"] = "Diesen Beitrag privat machen";
-$a->strings["Block Name"] = "Block-Name";
-$a->strings["Collection created."] = "Sammlung erstellt.";
-$a->strings["Could not create collection."] = "Sammlung kann nicht erstellt werden.";
-$a->strings["Collection updated."] = "Sammlung aktualisiert.";
-$a->strings["Create a collection of channels."] = "Erstelle eine Sammlung von Kanälen.";
-$a->strings["Collection Name: "] = "Name der Sammlung:";
-$a->strings["Members are visible to other channels"] = "Mitglieder sind sichtbar für andere Kanäle";
-$a->strings["Collection removed."] = "Sammlung gelöscht.";
-$a->strings["Unable to remove collection."] = "Löschen der Sammlung nicht möglich.";
-$a->strings["Collection Editor"] = "Sammlung-Editor";
-$a->strings["Members"] = "Mitglieder";
-$a->strings["All Connected Channels"] = "Alle verbundenen Kanäle";
-$a->strings["Click on a channel to add or remove."] = "Wähle einen Kanal zum hinzufügen oder entfernen aus.";
-$a->strings["Tag removed"] = "Schlagwort entfernt";
-$a->strings["Remove Item Tag"] = "Schlagwort entfernen";
-$a->strings["Select a tag to remove: "] = "Schlagwort zum Entfernen auswählen:";
-$a->strings["Item not available."] = "Element nicht verfügbar.";
-$a->strings["No service class restrictions found."] = "Keine Dienstklassenbeschränkungen gefunden.";
-$a->strings["Unable to locate original post."] = "Originalbeitrag nicht gefunden.";
-$a->strings["Empty post discarded."] = "Leeren Beitrag verworfen.";
-$a->strings["Executable content type not permitted to this channel."] = "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben.";
-$a->strings["System error. Post not saved."] = "Systemfehler. Beitrag nicht gespeichert.";
-$a->strings["You have reached your limit of %1$.0f top level posts."] = "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht.";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht.";
-$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "RedMatrix – Gäste: Username: {Deine E-Mail-Adresse}, Passwort: +++";
-$a->strings["Away"] = "Abwesend";
-$a->strings["Online"] = "Online";
-$a->strings["Finding:"] = "Ergebnisse:";
-$a->strings["next page"] = "nächste Seite";
-$a->strings["previous page"] = "vorherige Seite";
-$a->strings["No entries (some entries may be hidden)."] = "Keine Einträge gefunden (einige könnten versteckt sein).";
-$a->strings["Profile Match"] = "Profil-Ãœbereinstimmungen";
-$a->strings["No keywords to match. Please add keywords to your default profile."] = "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu.";
-$a->strings["is interested in:"] = "interessiert sich für:";
-$a->strings["No matches"] = "Keine Ãœbereinstimmungen";
-$a->strings["This site is not a directory server"] = "Diese Website ist kein Verzeichnis-Server";
-$a->strings["Version %s"] = "Version %s";
-$a->strings["Installed plugins/addons/apps:"] = "Installierte Plugins/Addons/Apps";
-$a->strings["No installed plugins/addons/apps"] = "Keine installierten Plugins/Addons/Apps";
-$a->strings["Red"] = "Red";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Dieser Hub ist Teil der RedMatrix – eines globalen, kooperativen Netzwerks aus dezentralen Websites, die Rücksicht auf Deine Privatsphäre nehmen.";
-$a->strings["Running at web location"] = "Erreichbar unter der Web-Adresse";
-$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Red Matrix."] = "Besuche <a href=\"http://getzot.com\">GetZot.com</a>, um mehr über die Red-Matrix zu erfahren.";
-$a->strings["Bug reports and issues: please visit"] = "Probleme oder Fehler gefunden? Bitte besuche";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Vorschläge, Lob, usw.: E-Mail an 'redmatrix' at librelist - dot - com";
-$a->strings["Site Administrators"] = "Administratoren";
-$a->strings["App installed."] = "App installiert.";
-$a->strings["Malformed app."] = "Fehlerhafte App.";
-$a->strings["Embed code"] = "Code einbetten";
-$a->strings["Edit App"] = "App bearbeiten";
-$a->strings["Create App"] = "App erstellen";
-$a->strings["Name of app"] = "Name der App";
-$a->strings["Required"] = "Benötigt";
-$a->strings["Location (URL) of app"] = "Ort (URL) der App";
-$a->strings["Photo icon URL"] = "URL zum Icon";
-$a->strings["80 x 80 pixels - optional"] = "80 x 80 Pixel – optional";
-$a->strings["Version ID"] = "Versions-ID";
-$a->strings["Price of app"] = "Preis der App";
-$a->strings["Location (URL) to purchase app"] = "Ort (URL), um die App zu kaufen";
-$a->strings["Failed to create source. No channel selected."] = "Konnte die Quelle nicht anlegen. Kein Kanal ausgewählt.";
-$a->strings["Source created."] = "Quelle erstellt.";
-$a->strings["Source updated."] = "Quelle aktualisiert.";
-$a->strings["*"] = "*";
-$a->strings["Manage remote sources of content for your channel."] = "Quellen von Inhalten Deines Kanals verwalten.";
-$a->strings["New Source"] = "Neue Quelle";
-$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importiere alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteile sie gemäß der Einstellungen dieses Kanals.";
-$a->strings["Only import content with these words (one per line)"] = "Importiere nur Beiträge, die folgende Wörter (eines pro Zeile) enthalten";
-$a->strings["Leave blank to import all public content"] = "Leer lassen, um alle öffentlichen Beiträge zu importieren";
-$a->strings["Source not found."] = "Quelle nicht gefunden.";
-$a->strings["Edit Source"] = "Quelle bearbeiten";
-$a->strings["Delete Source"] = "Quelle löschen";
-$a->strings["Source removed"] = "Quelle gelöscht";
-$a->strings["Unable to remove source."] = "Konnte die Quelle nicht löschen.";
-$a->strings["Public Sites"] = "Öffentliche Server";
-$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Die hier aufgeführten Server erlauben Dir, einen Account in der Red-Matrix anzulegen. Alle Server der Matrix sind miteinander verbunden, so dass die Mitgliedschaft auf einem Server eine Verbindung zu beliebigen anderen Servern der Matrix ermöglicht. Es könnte sein, dass einige dieser Server kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den jeweiligen Seiten <strong>könnten</strong> nähere Details dazu stehen.";
-$a->strings["Site URL"] = "Server-URL";
-$a->strings["Access Type"] = "Zugangstyp";
-$a->strings["Registration Policy"] = "Registrierungsrichtlinien";
-$a->strings["Location"] = "Ort";
-$a->strings["Your service plan only allows %d channels."] = "Dein Vertrag erlaubt nur %d Kanäle.";
-$a->strings["Nothing to import."] = "Nichts zu importieren.";
-$a->strings["Unable to download data from old server"] = "Daten können vom alten Server nicht heruntergeladen werden";
-$a->strings["Imported file is empty."] = "Die importierte Datei ist leer.";
-$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen.";
-$a->strings["Channel clone failed. Import failed."] = "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen.";
-$a->strings["Cloned channel not found. Import failed."] = "Geklonter Kanal nicht gefunden. Import fehlgeschlagen.";
-$a->strings["Import completed."] = "Import abgeschlossen.";
-$a->strings["You must be logged in to use this feature."] = "Du musst angemeldet sein um diese Funktion zu nutzen.";
-$a->strings["Import Channel"] = "Kanal importieren";
-$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Verwende dieses Formular, um einen existierenden Kanal von einem anderen Red-Server zu importieren. Du kannst den Kanal direkt vom bisherigen Red-Server über das Netzwerk importieren oder eine exportierte Sicherheitskopie benutzen. Es werden ausschließlich die Identität und die Verbindungen/Beziehungen importiert. Das Importieren von Inhalten ist derzeit nicht möglich.";
-$a->strings["File to Upload"] = "Hochzuladende Datei:";
-$a->strings["Or provide the old server/hub details"] = "Oder gib die Details Deines bisherigen Red-Servers ein";
-$a->strings["Your old identity address (xyz@example.com)"] = "Bisherige Kanal-Adresse (xyz@example.com)";
-$a->strings["Your old login email address"] = "Deine alte Login-E-Mail-Adresse";
-$a->strings["Your old login password"] = "Dein altes Passwort";
-$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Egal welche Option Du wählst, bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige Red-Server diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein.";
-$a->strings["Make this hub my primary location"] = "Dieser Red-Server ist mein primärer Server.";
-$a->strings["Import existing posts if possible"] = "Existierende Beiträge importieren, falls möglich";
-$a->strings["invalid target signature"] = "Ungültige Signatur des Ziels";
+$a->strings["Hub not found."] = "Server nicht gefunden.";
+$a->strings["Total votes"] = "Stimmen gesamt";
+$a->strings["Average Rating"] = "Durchschnittliche Bewertung";
$a->strings["Unable to lookup recipient."] = "Konnte den Empfänger nicht finden.";
$a->strings["Unable to communicate with requested channel."] = "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen.";
$a->strings["Cannot verify requested channel."] = "Verifizierung des angeforderten Kanals fehlgeschlagen.";
@@ -1756,145 +1816,153 @@ $a->strings["Delete message"] = "Nachricht löschen";
$a->strings["Recall message"] = "Nachricht widerrufen";
$a->strings["Message has been recalled."] = "Die Nachricht wurde widerrufen.";
$a->strings["Private Conversation"] = "Private Unterhaltung";
+$a->strings["Delete conversation"] = "Unterhaltung löschen";
$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Keine sichere Kommunikation verfügbar. <strong>Eventuell</strong> kannst Du auf der Profilseite des Absenders antworten.";
$a->strings["Send Reply"] = "Antwort senden";
-$a->strings["You must be logged in to see this page."] = "Du musst angemeldet sein, um diese Seite betrachten zu können.";
-$a->strings["Insufficient permissions. Request redirected to profile page."] = "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet.";
-$a->strings["Profile not found."] = "Profil nicht gefunden.";
-$a->strings["Profile deleted."] = "Profil gelöscht.";
-$a->strings["Profile-"] = "Profil-";
-$a->strings["New profile created."] = "Neues Profil erstellt.";
-$a->strings["Profile unavailable to clone."] = "Profil kann nicht geklont werden.";
-$a->strings["Profile unavailable to export."] = "Dieses Profil kann nicht exportiert werden.";
-$a->strings["Profile Name is required."] = "Profil-Name erforderlich.";
-$a->strings["Marital Status"] = "Familienstand";
-$a->strings["Romantic Partner"] = "Romantische Partner";
-$a->strings["Likes"] = "Gefällt";
-$a->strings["Dislikes"] = "Gefällt nicht";
-$a->strings["Work/Employment"] = "Arbeit/Anstellung";
-$a->strings["Religion"] = "Religion";
-$a->strings["Political Views"] = "Politische Ansichten";
-$a->strings["Gender"] = "Geschlecht";
-$a->strings["Sexual Preference"] = "Sexuelle Orientierung";
-$a->strings["Homepage"] = "Webseite";
-$a->strings["Interests"] = "Hobbys/Interessen";
-$a->strings["Profile updated."] = "Profil aktualisiert.";
-$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Deine Kontaktliste vor Betrachtern dieses Profils verbergen?";
-$a->strings["Edit Profile Details"] = "Bearbeite Profil-Details";
-$a->strings["View this profile"] = "Dieses Profil ansehen";
-$a->strings["Change Profile Photo"] = "Profilfoto ändern";
-$a->strings["Create a new profile using these settings"] = "Neues Profil anlegen und diese Einstellungen übernehmen";
-$a->strings["Clone this profile"] = "Dieses Profil klonen";
-$a->strings["Delete this profile"] = "Dieses Profil löschen";
-$a->strings["Import profile from file"] = "Profil aus einer Datei importieren";
-$a->strings["Export profile to file"] = "Profil in eine Datei exportieren";
-$a->strings["Profile Name:"] = "Profilname:";
-$a->strings["Your Full Name:"] = "Dein voller Name:";
-$a->strings["Title/Description:"] = "Titel/Stellenbeschreibung:";
-$a->strings["Your Gender:"] = "Dein Geschlecht:";
-$a->strings["Birthday (%s):"] = "Geburtstag (%s):";
-$a->strings["Street Address:"] = "Straße und Hausnummer:";
-$a->strings["Locality/City:"] = "Wohnort:";
-$a->strings["Postal/Zip Code:"] = "Postleitzahl:";
-$a->strings["Country:"] = "Land:";
-$a->strings["Region/State:"] = "Region/Bundesstaat:";
-$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Beziehungsstatus:";
-$a->strings["Who: (if applicable)"] = "Wer: (falls anwendbar)";
-$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Beispiele: cathy123, Cathy Williams, cathy@example.com";
-$a->strings["Since [date]:"] = "Seit [Datum]:";
-$a->strings["Homepage URL:"] = "Homepage URL:";
-$a->strings["Religious Views:"] = "Religiöse Ansichten:";
-$a->strings["Keywords:"] = "Schlüsselwörter:";
-$a->strings["Example: fishing photography software"] = "Beispiel: Angeln Fotografie Software";
-$a->strings["Used in directory listings"] = "Wird in Verzeichnis-Auflistungen verwendet";
-$a->strings["Tell us about yourself..."] = "Erzähle uns ein wenig von Dir …";
-$a->strings["Hobbies/Interests"] = "Hobbys/Interessen";
-$a->strings["Contact information and Social Networks"] = "Kontaktinformation und soziale Netzwerke";
-$a->strings["My other channels"] = "Meine anderen Kanäle";
-$a->strings["Musical interests"] = "Musikalische Interessen";
-$a->strings["Books, literature"] = "Bücher, Literatur";
-$a->strings["Television"] = "Fernsehen";
-$a->strings["Film/dance/culture/entertainment"] = "Film/Tanz/Kultur/Unterhaltung";
-$a->strings["Love/romance"] = "Liebe/Romantik";
-$a->strings["Work/employment"] = "Arbeit/Anstellung";
-$a->strings["School/education"] = "Schule/Ausbildung";
-$a->strings["This is your default profile."] = "Das ist Dein Standardprofil";
-$a->strings["Edit/Manage Profiles"] = "Profile bearbeiten/verwalten";
-$a->strings["Add profile things"] = "Sachen zum Profil hinzufügen";
-$a->strings["Include desirable objects in your profile"] = "Binde begehrenswerte Dinge in Dein Profil ein";
-$a->strings["Bookmark added"] = "Lesezeichen hinzugefügt";
-$a->strings["My Bookmarks"] = "Meine Lesezeichen";
-$a->strings["My Connections Bookmarks"] = "Lesezeichen meiner Kontakte";
-$a->strings["No channel."] = "Kein Kanal.";
-$a->strings["Common connections"] = "Gemeinsame Verbindungen";
-$a->strings["No connections in common."] = "Keine gemeinsamen Verbindungen.";
-$a->strings["Like/Dislike"] = "Mögen/Nicht mögen";
-$a->strings["This action is restricted to members."] = "Diese Aktion kann nur von Mitgliedern ausgeführt werden.";
-$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "Bitte <a href=\"rmagic\">melde Dich mit Deiner RedMatrix-ID an</a> oder <a href=\"register\">registriere Dich als neues Mitglied der RedMatrix</a>, um fortzufahren.";
-$a->strings["Invalid request."] = "Ungültige Anfrage.";
-$a->strings["thing"] = "Sache";
-$a->strings["Channel unavailable."] = "Kanal nicht vorhanden.";
-$a->strings["Previous action reversed."] = "Die vorherige Aktion wurde rückgängig gemacht.";
-$a->strings["Action completed."] = "Aktion durchgeführt.";
-$a->strings["Thank you."] = "Vielen Dank.";
-$a->strings["No more system notifications."] = "Keine System-Benachrichtigungen mehr.";
-$a->strings["System Notifications"] = "System-Benachrichtigungen";
-$a->strings["Authorize application connection"] = "Zugriff für die Anwendung autorisieren";
-$a->strings["Return to your app and insert this Securty Code:"] = "Trage folgenden Sicherheitscode in der Anwendung ein:";
-$a->strings["Please login to continue."] = "Zum Weitermachen, bitte einloggen.";
-$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?";
-$a->strings["Room not found"] = "Chatraum nicht gefunden";
-$a->strings["Leave Room"] = "Raum verlassen";
-$a->strings["Delete This Room"] = "Diesen Raum löschen";
-$a->strings["I am away right now"] = "Ich bin gerade nicht da";
-$a->strings["I am online"] = "Ich bin online";
-$a->strings["Bookmark this room"] = "Lesezeichen für diesen Raum setzen";
-$a->strings["New Chatroom"] = "Neuer Chatraum";
-$a->strings["Chatroom Name"] = "Name des Chatraums";
-$a->strings["%1\$s's Chatrooms"] = "%1\$ss Chaträume";
-$a->strings["Event title and start time are required."] = "Veranstaltungs- Titel und Startzeit sind erforderlich.";
-$a->strings["Event not found."] = "Termin nicht gefunden.";
-$a->strings["l, F j"] = "l, j. F";
-$a->strings["Edit event"] = "Veranstaltung bearbeiten";
-$a->strings["Create New Event"] = "Neue Veranstaltung erstellen";
-$a->strings["Previous"] = "Voriges";
-$a->strings["hour:minute"] = "Stunde:Minute";
-$a->strings["Event details"] = "Veranstaltungs-Details";
-$a->strings["Format is %s %s."] = "Format ist %s %s.";
-$a->strings["Starting date and Title are required."] = "Startdatum und Titel sind erforderlich.";
-$a->strings["Event Starts:"] = "Veranstaltung startet:";
-$a->strings["Finish date/time is not known or not relevant"] = "Ende Datum/Zeit sind unbekannt oder unwichtig";
-$a->strings["Event Finishes:"] = "Veranstaltung endet:";
-$a->strings["Adjust for viewer timezone"] = "An die Zeitzone des Betrachters anpassen";
-$a->strings["Description:"] = "Beschreibung:";
-$a->strings["Title:"] = "Titel:";
-$a->strings["Share this event"] = "Die Veranstaltung teilen";
+$a->strings["Wall Photos"] = "Wall Fotos";
+$a->strings["Profile Match"] = "Profil-Ãœbereinstimmungen";
+$a->strings["No keywords to match. Please add keywords to your default profile."] = "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu.";
+$a->strings["is interested in:"] = "interessiert sich für:";
+$a->strings["No matches"] = "Keine Ãœbereinstimmungen";
+$a->strings["Menu updated."] = "Menü aktualisiert.";
+$a->strings["Unable to update menu."] = "Kann Menü nicht aktualisieren.";
+$a->strings["Menu created."] = "Menü erstellt.";
+$a->strings["Unable to create menu."] = "Kann Menü nicht erstellen.";
+$a->strings["Manage Menus"] = "Menüs verwalten";
+$a->strings["Drop"] = "Löschen";
+$a->strings["Bookmarks allowed"] = "Lesezeichen erlaubt";
+$a->strings["Create a new menu"] = "Neues Menü erstellen";
+$a->strings["Delete this menu"] = "Lösche dieses Menü";
+$a->strings["Edit menu contents"] = "Bearbeite Menü Inhalte";
+$a->strings["Edit this menu"] = "Dieses Menü bearbeiten";
+$a->strings["New Menu"] = "Neues Menü";
+$a->strings["Menu name"] = "Menü Name";
+$a->strings["Must be unique, only seen by you"] = "Muss eindeutig sein, ist aber nur für Dich sichtbar";
+$a->strings["Menu title"] = "Menü Titel";
+$a->strings["Menu title as seen by others"] = "Menü Titel wie er von anderen gesehen wird";
+$a->strings["Allow bookmarks"] = "Erlaube Lesezeichen";
+$a->strings["Menu may be used to store saved bookmarks"] = "Im Menü können gespeicherte Lesezeichen abgelegt werden";
+$a->strings["Menu deleted."] = "Menü gelöscht.";
+$a->strings["Menu could not be deleted."] = "Menü konnte nicht gelöscht werden.";
+$a->strings["Edit Menu"] = "Menü bearbeiten";
+$a->strings["Add or remove entries to this menu"] = "Einträge zu diesem Menü hinzufügen oder entfernen";
+$a->strings["Conversation removed."] = "Unterhaltung gelöscht.";
+$a->strings["No messages."] = "Keine Nachrichten.";
+$a->strings["D, d M Y - g:i A"] = "D, d. M Y - G:i";
+$a->strings["Add a Channel"] = "Kanal hinzufügen";
+$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Ein Kanal ist Deine eigene Sammlung von verbundenen Webseiten. Ein Kanal kann genutzt werden, um ein Social-Network-Profil, ein Blog, eine Gesprächsgruppe oder ein Forum, Promi-Seiten und vieles mehr zu erstellen. Du kannst so viele Kanäle erstellen, wie es der Betreiber Deiner Seite zulässt.";
+$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ ";
+$a->strings["Choose a short nickname"] = "Wähle einen kurzen Spitznamen";
+$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Dein Spitzname wird verwendet, um eine leicht zu merkende Kanal-Adresse (ähnlich einer E-Mail-Adresse) zu erzeugen, die Du mit anderen austauschen kannst.";
+$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server";
+$a->strings["Channel Type"] = "Kanaltyp";
+$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Wähle einen Kanaltyp (wie Soziales Netzwerk oder Forum) und Privatsphäre-Vorgaben, so dass wir die passenden Kanal-Zugriffsrechte für Dich setzen können";
+$a->strings["Red Matrix - &quot;The Network&quot;"] = "RedMatrix – &quot;Das Netzwerk&quot;";
+$a->strings["Welcome to %s"] = "Willkommen auf %s";
$a->strings["Invalid request identifier."] = "Ungültiger Anfrage-Identifikator.";
$a->strings["Discard"] = "Verwerfen";
-$a->strings["No valid account found."] = "Kein gültiges Konto gefunden.";
-$a->strings["Password reset request issued. Check your email."] = "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails.";
-$a->strings["Site Member (%s)"] = "Nutzer (%s)";
-$a->strings["Password reset requested at %s"] = "Passwort-Rücksetzung auf %s angefordert";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen.";
-$a->strings["Your password has been reset as requested."] = "Dein Passwort wurde wie angefordert neu erstellt.";
-$a->strings["Your new password is"] = "Dein neues Passwort lautet";
-$a->strings["Save or copy your new password - and then"] = "Speichere oder kopiere Dein neues Passwort – und dann";
-$a->strings["click here to login"] = "Klicke hier, um dich anzumelden";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden.";
-$a->strings["Your password has changed at %s"] = "Auf %s wurde Dein Passwort geändert";
-$a->strings["Forgot your Password?"] = "Kennwort vergessen?";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail.";
-$a->strings["Email Address"] = "E-Mail Adresse";
-$a->strings["Reset"] = "Zurücksetzen";
-$a->strings["Help with this feature"] = "Hilfe zu dieser Funktion";
-$a->strings["Layout Name"] = "Layout-Name";
-$a->strings["Edit Block"] = "Block bearbeiten";
-$a->strings["Delete block?"] = "Block löschen?";
-$a->strings["Delete Block"] = "Block löschen";
-$a->strings["Some blurb about what to do when you're new here"] = "Ein Hinweis, was man tun kann, wenn man neu hier ist";
-$a->strings["Edit Layout"] = "Layout bearbeiten";
-$a->strings["Delete layout?"] = "Layout löschen?";
-$a->strings["Delete Layout"] = "Layout löschen";
-$a->strings["Channel added."] = "Kanal hinzugefügt.";
-$a->strings["Location not found."] = "Klon nicht gefunden.";
-$a->strings["Primary location cannot be removed."] = "Der primäre Klon kann nicht gelöscht werden.";
+$a->strings["No more system notifications."] = "Keine System-Benachrichtigungen mehr.";
+$a->strings["System Notifications"] = "System-Benachrichtigungen";
+$a->strings["Xchan Lookup"] = "Xchan-Suche";
+$a->strings["Lookup xchan beginning with (or webbie): "] = "Nach xchans oder Webbies (Kanal-Adressen) suchen, die wie folgt beginnen:";
+$a->strings["Unable to find your hub."] = "Konnte Deinen Server nicht finden.";
+$a->strings["Post successful."] = "Veröffentlichung erfolgreich.";
+$a->strings["invalid target signature"] = "Ungültige Signatur des Ziels";
+$a->strings["App installed."] = "App installiert.";
+$a->strings["Malformed app."] = "Fehlerhafte App.";
+$a->strings["Embed code"] = "Code einbetten";
+$a->strings["Edit App"] = "App bearbeiten";
+$a->strings["Create App"] = "App erstellen";
+$a->strings["Name of app"] = "Name der App";
+$a->strings["Location (URL) of app"] = "Ort (URL) der App";
+$a->strings["Photo icon URL"] = "URL zum Icon";
+$a->strings["80 x 80 pixels - optional"] = "80 x 80 Pixel – optional";
+$a->strings["Version ID"] = "Versions-ID";
+$a->strings["Price of app"] = "Preis der App";
+$a->strings["Location (URL) to purchase app"] = "Ort (URL), um die App zu kaufen";
+$a->strings["Poll"] = "Umfrage";
+$a->strings["View Results"] = "Ergebnisse";
+$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Das Löschen von Konten innerhalb 48 Stunden nachdem deren Passwort geändert wurde ist nicht erlaubt.";
+$a->strings["Remove This Account"] = "Dieses Konto löschen";
+$a->strings["This will completely remove this account including all its channels from the network. Once this has been done it is not recoverable."] = "Hiermit wird dieses Nutzerkonto einschließlich all seiner Kanäle komplett aus dem Netzwerk entfernt. Dieser Vorgang kann nicht rückgängig gemacht werden.";
+$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Dieses Konto, all seine Kanäle sowie alle Kanal-Klone aus dem Netzwerk löschen";
+$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standardmäßig werden nur die Kanalklone auf diesem RedMatrix-Hub aus dem Netzwerk entfernt";
+$a->strings["No service class restrictions found."] = "Keine Dienstklassenbeschränkungen gefunden.";
+$a->strings["Schema Default"] = "Standard-Schema";
+$a->strings["Sans-Serif"] = "Sans-Serif";
+$a->strings["Monospace"] = "Monospace";
+$a->strings["Theme settings"] = "Theme-Einstellungen";
+$a->strings["Set scheme"] = "Schema";
+$a->strings["Set font-size for posts and comments"] = "Schriftgröße für Beiträge und Kommentare";
+$a->strings["Set font face"] = "Schriftart";
+$a->strings["Set iconset"] = "Iconset";
+$a->strings["Set big shadow size, default 15px 15px 15px"] = "Ausmaß der großen Schatten (Default 15px 15px 15px)";
+$a->strings["Set small shadow size, default 5px 5px 5px"] = "Ausmaß der kleinen Schatten (Default 5px 5px 5px)";
+$a->strings["Set shadow color, default #000"] = "Farbe der Schatten (Default #000)";
+$a->strings["Set radius size, default 5px"] = "Ecken-Radius (Default 5px)";
+$a->strings["Set line-height for posts and comments"] = "Zeilenhöhe in Beiträgen und Kommentaren";
+$a->strings["Set background image"] = "Hintergrundbild";
+$a->strings["Set background attachment"] = "Hintergrunddatei";
+$a->strings["Set background color"] = "Hintergrundfarbe";
+$a->strings["Set section background image"] = "Hintergrundbild für die Section";
+$a->strings["Set section background color"] = "Hintergrundfarbe für die Section";
+$a->strings["Set color of items - use hex"] = "Farbe für Beiträge – Hex benutzen";
+$a->strings["Set color of links - use hex"] = "Farbe für Links – Hex benutzen";
+$a->strings["Set max-width for items. Default 400px"] = "Maximale Breite von Beiträgen (Default 400px)";
+$a->strings["Set min-width for items. Default 240px"] = "Minimale Breite von Beiträgen (Default 240px)";
+$a->strings["Set the generic content wrapper width. Default 48%"] = "Breite des \"generic content wrapper\" (Default 48%)";
+$a->strings["Set color of fonts - use hex"] = "Schriftfarbe – Hex benutzen";
+$a->strings["Set background-size element"] = "Größe des Hintergrund-Elements";
+$a->strings["Item opacity"] = "Deckkraft der Beiträge";
+$a->strings["Display post previews only"] = "Nur Beitragsvorschau anzeigen";
+$a->strings["Display side bar on channel page"] = "Zeige die Seitenleiste auf der Kanal-Seite";
+$a->strings["Colour of the navigation bar"] = "Farbe der Navigationsleiste";
+$a->strings["Item float"] = "Beitragsfluss";
+$a->strings["Left offset of the section element"] = "Linker Rand des Section Elements";
+$a->strings["Right offset of the section element"] = "Rechter Rand des Section Elements";
+$a->strings["Section width"] = "Breite der Section";
+$a->strings["Left offset of the aside"] = "Linker Rand des Aside-Elements";
+$a->strings["Right offset of the aside element"] = "Rechter Rand des Aside-Elements";
+$a->strings["None"] = "Kein";
+$a->strings["Header image"] = "Titelbild";
+$a->strings["Header image only on profile pages"] = "Titelbild nur auf Profil-Seiten anzeigen";
+$a->strings["Light (Red Matrix default)"] = "Hell (RedMatrix-Voreinstellung)";
+$a->strings["Narrow navbar"] = "Schmale Navigationsleiste";
+$a->strings["Navigation bar background color"] = "Hintergrundfarbe der Navigationsleiste";
+$a->strings["Navigation bar gradient top color"] = "Farbverlauf der Navigationsleiste: Farbe oben";
+$a->strings["Navigation bar gradient bottom color"] = "Farbverlauf der Navigationsleiste: Farbe unten";
+$a->strings["Navigation active button gradient top color"] = "Navigations-Button aktiv: Farbe für Farbverlauf oben";
+$a->strings["Navigation active button gradient bottom color"] = "Navigations-Button aktiv: Farbe für Farbverlauf unten";
+$a->strings["Navigation bar border color "] = "Farbe für den Rand der Navigationsleiste";
+$a->strings["Navigation bar icon color "] = "Farbe für die Icons der Navigationsleiste";
+$a->strings["Navigation bar active icon color "] = "Farbe für aktive Icons der Navigationsleiste";
+$a->strings["link color"] = "Farbe für Links";
+$a->strings["Set font-color for banner"] = "Farbe der Schrift des Banners";
+$a->strings["Set the background color"] = "Hintergrundfarbe";
+$a->strings["Set the background image"] = "Hintergrundbild";
+$a->strings["Set the background color of items"] = "Hintergrundfarbe für Beiträge";
+$a->strings["Set the background color of comments"] = "Hintergrundfarbe für Kommentare";
+$a->strings["Set the border color of comments"] = "Farbe des Randes von Kommentaren";
+$a->strings["Set the indent for comments"] = "Einzug für Kommentare";
+$a->strings["Set the basic color for item icons"] = "Grundfarbe für Beitrags-Icons";
+$a->strings["Set the hover color for item icons"] = "Farbe für Beitrags-Icons unter dem Mauszeiger";
+$a->strings["Set font-size for the entire application"] = "Schriftgröße für die ganze Applikation";
+$a->strings["Set font-color for posts and comments"] = "Schriftfarbe für Posts und Kommentare";
+$a->strings["Set radius of corners"] = "Ecken-Radius";
+$a->strings["Set shadow depth of photos"] = "Schattentiefe von Fotos";
+$a->strings["Set maximum width of conversation regions"] = "Maximalbreite der Unterhaltungsbereiche";
+$a->strings["Center conversation regions"] = "Konversationsbereich zentrieren";
+$a->strings["Set minimum opacity of nav bar - to hide it"] = "Mindest-Deckkraft der Navigationsleiste ( - versteckt sie)";
+$a->strings["Set size of conversation author photo"] = "Größe der Avatare von Themenstartern";
+$a->strings["Set size of followup author photos"] = "Größe der Avatare von Kommentatoren";
+$a->strings["Sloppy photo albums"] = "Schräge Fotoalben";
+$a->strings["Are you a clean desk or a messy desk person?"] = "Bist Du jemand, der einen aufgeräumten Schreibtisch hat, oder eher einen chaotischen?";
+$a->strings["Update %s failed. See error logs."] = "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen.";
+$a->strings["Update Error at %s"] = "Aktualisierungsfehler auf %s";
+$a->strings["Create an account to access services and applications within the Red Matrix"] = "Erstelle einen Account, um Anwendungen und Dienste innerhalb der Red-Matrix verwenden zu können.";
+$a->strings["Password"] = "Kennwort";
+$a->strings["Remember me"] = "Angaben speichern";
+$a->strings["Forgot your password?"] = "Passwort vergessen?";
+$a->strings["permission denied"] = "Zugriff verweigert";
+$a->strings["Got Zot?"] = "Haste schon Zot?";
+$a->strings["toggle mobile"] = "auf/von mobile Ansicht wechseln";
diff --git a/view/en/htconfig.tpl b/view/en/htconfig.tpl
index 550b018fe..d06e5da49 100644
--- a/view/en/htconfig.tpl
+++ b/view/en/htconfig.tpl
@@ -1,6 +1,6 @@
<?php
-// Set the following for your MySQL installation
+// Set the following for your database installation
// Copy or rename this file to .htconfig.php
$db_host = '{{$dbhost}}';
@@ -8,6 +8,7 @@ $db_port = '{{$dbport}}';
$db_user = '{{$dbuser}}';
$db_pass = '{{$dbpass}}';
$db_data = '{{$dbdata}}';
+$db_type = '{{$dbtype}}'; // an integer. 0 or unset for mysql, 1 for postgres
/*
* Notice: Many of the following settings will be available in the admin panel
diff --git a/view/fr/lostpass_eml.tpl b/view/fr/lostpass_eml.tpl
index 04292dca8..0421d41a8 100644
--- a/view/fr/lostpass_eml.tpl
+++ b/view/fr/lostpass_eml.tpl
@@ -1,30 +1,30 @@
Cher {{$username}},
- Une demande pour réinitialiser votre mot de passe a récemment été reçu de {{$sitename}}
+ Une demande pour réinitialiser votre mot de passe a récemment été reçue par {{$sitename}}
Pour confirmer cette requête, veuillez suivre le lien de vérification
-suivant ou copier-coller le dans la barre d'adresse de votre navigateur.
+ci-dessous ou en faire un copier-coller dans la barre d'adresse de votre navigateur.
-Si vous N'AVEZ PAS demander ce changement, NE SUIVEZ PAS ce lien, ignorez simplement et/ou supprimer ce courriel.
+Si vous N'AVEZ PAS demandé ce changement, NE SUIVEZ PAS ce lien, ignorez-le simplement et/ou supprimez ce courriel.
Votre mot de passe ne sera pas changé à moins que nous puissions vérifier vos intentions.
-Suivez ce lien pour vérifier votre identité:
+Suivez ce lien pour confirmer votre identité:
{{$reset_link}}
Vous recevrez ensuite un second courriel avec votre nouveau mot de passe.
-Vous pouvez changez ce mot de passe à partir de la page des configurations de votre profil.
+Vous pouvez changer ce mot de passe à partir des réglages du profil après vous être connecté.
-Voici les détails de connections:
+Voici les détails de connexion:
Emplacement du site:⇥{{$siteurl}}
-Usager:⇥{{$email}}
+Utilisateur:⇥{{$email}}
Sincèrement,
- Administrateur {{$sitename}}
+ L'administrateur {{$sitename}}
\ No newline at end of file
diff --git a/view/fr/messages.po b/view/fr/messages.po
index 79a60534f..dfff156a2 100644
--- a/view/fr/messages.po
+++ b/view/fr/messages.po
@@ -23,7 +23,7 @@ msgstr ""
#: ../../include/dba/dba_driver.php:50
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Impossible de trouver les infos DNS du serveur de BD '%s'"
+msgstr "Impossible de trouver les infos DNS du serveur de base de données '%s'"
#: ../../include/photo/photo_driver.php:653 ../../include/photos.php:51
#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:301
@@ -91,7 +91,7 @@ msgstr "Favoris"
#: ../../include/apps.php:125
msgid "Address Book"
-msgstr "Carnet d'adresse"
+msgstr "Carnet d'adresses"
#: ../../include/apps.php:126 ../../include/nav.php:106 ../../boot.php:1498
msgid "Login"
@@ -183,7 +183,7 @@ msgstr "Suggérer"
#: ../../include/apps.php:145
msgid "Random Channel"
-msgstr "Un Canal au Hasard"
+msgstr "Un canal au hasard"
#: ../../include/apps.php:146
msgid "Invite"
@@ -203,12 +203,12 @@ msgstr "Envoyer"
#: ../../include/apps.php:150
msgid "Profile Photo"
-msgstr "Photo du Profil"
+msgstr "Photo du profil"
#: ../../include/apps.php:239 ../../mod/settings.php:79
#: ../../mod/settings.php:543
msgid "Update"
-msgstr "Mise-à-jour"
+msgstr "Mise à jour"
#: ../../include/apps.php:239
msgid "Install"
@@ -289,11 +289,11 @@ msgstr "Sauver"
#: ../../include/text.php:897
msgid "poke"
-msgstr "cogne"
+msgstr "cogner"
#: ../../include/text.php:897 ../../include/conversation.php:243
msgid "poked"
-msgstr "C'est fait cogner"
+msgstr "a cogné"
#: ../../include/text.php:898
msgid "ping"
@@ -301,23 +301,23 @@ msgstr "solliciter"
#: ../../include/text.php:898
msgid "pinged"
-msgstr "sollicité"
+msgstr "a sollicité"
#: ../../include/text.php:899
msgid "prod"
-msgstr "aiguillonner"
+msgstr "encourager"
#: ../../include/text.php:899
msgid "prodded"
-msgstr "aiguillonné"
+msgstr "a encouragé"
#: ../../include/text.php:900
msgid "slap"
-msgstr "giffle"
+msgstr "gifler"
#: ../../include/text.php:900
msgid "slapped"
-msgstr "gifflé"
+msgstr "a giflé"
#: ../../include/text.php:901
msgid "finger"
@@ -325,15 +325,15 @@ msgstr "pointer"
#: ../../include/text.php:901
msgid "fingered"
-msgstr "pointé"
+msgstr "a pointé"
#: ../../include/text.php:902
msgid "rebuff"
-msgstr "rejetter"
+msgstr "rejeter"
#: ../../include/text.php:902
msgid "rebuffed"
-msgstr "rejetté"
+msgstr "a rejeté"
#: ../../include/text.php:911
msgid "happy"
@@ -357,7 +357,7 @@ msgstr "impertinent"
#: ../../include/text.php:916
msgid "angry"
-msgstr "colèrique"
+msgstr "colérique"
#: ../../include/text.php:917
msgid "stupified"
@@ -377,7 +377,7 @@ msgstr "amer"
#: ../../include/text.php:921
msgid "cheerful"
-msgstr "entrain"
+msgstr "joyeux"
#: ../../include/text.php:922
msgid "alive"
@@ -385,7 +385,7 @@ msgstr "énergique"
#: ../../include/text.php:923
msgid "annoyed"
-msgstr "agaçé"
+msgstr "agacé"
#: ../../include/text.php:924
msgid "anxious"
@@ -517,7 +517,7 @@ msgstr "Cliquer pour ouvrir/fermer"
#: ../../include/text.php:1512 ../../mod/events.php:374
msgid "Link to Source"
-msgstr "Lien vers la Source"
+msgstr "Lien vers la source"
#: ../../include/text.php:1531
msgid "Select a page layout: "
@@ -563,7 +563,7 @@ msgstr "Menus"
#: ../../include/text.php:2008
msgid "Layouts"
-msgstr "Mises-en-page"
+msgstr "Mises en page"
#: ../../include/text.php:2009
msgid "Pages"
@@ -766,7 +766,7 @@ msgstr "Fermer"
#: ../../include/activities.php:39
msgid " and "
-msgstr "et"
+msgstr " et "
#: ../../include/activities.php:47
msgid "public profile"
@@ -780,12 +780,12 @@ msgstr "%1$s a changé %2$s en &ldquo;%3$s&rdquo;"
#: ../../include/activities.php:53
#, php-format
msgid "Visit %1$s's %2$s"
-msgstr "Visiter %1$s de %2$s"
+msgstr "Visiter %1$s sur %2$s"
#: ../../include/activities.php:56
#, php-format
msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s a mis-à-jour %2$s, modifiant %3$s."
+msgstr "%1$s a mis à jour %2$s, modifiant %3$s."
#: ../../include/api.php:1036
msgid "Public Timeline"
@@ -805,7 +805,7 @@ msgstr "Impossible de trouver le fichier à remplacer."
#: ../../include/attach.php:370
msgid "Cannot locate file to revise/update"
-msgstr "Impossible de trouver le fichier à corriger/mettre-à-jour"
+msgstr "Impossible de trouver le fichier à corriger/mettre à jour"
#: ../../include/attach.php:381
#, php-format
@@ -1490,7 +1490,7 @@ msgstr "Merci de visiter %s pour voir et/ou répondre sur cette conversation."
#: ../../include/enotify.php:182
#, php-format
msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[Matrice Rouge:Notification] %s a publié sur votre profil"
+msgstr "[Red:Notification] %s a publié sur votre profil"
#: ../../include/enotify.php:184
#, php-format
@@ -1525,7 +1525,7 @@ msgstr "[Red:Notification] %1$s vous a cogné"
#: ../../include/enotify.php:226
#, php-format
msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, vous avez été cogné/pointé/sollicité par %2$s sur %3$s"
+msgstr "%1$s, %2$s vous a cogné sur %3$s
#: ../../include/enotify.php:227
#, php-format
@@ -1535,7 +1535,7 @@ msgstr "%1$s, %2$s [zrl=%2$s]vous a cogné[/zrl]."
#: ../../include/enotify.php:243
#, php-format
msgid "[Red:Notify] %s tagged your post"
-msgstr "[Matrice Rouge:Notification] %s a étiqueté votre publication"
+msgstr "[Red:Notification] %s a étiqueté votre publication"
#: ../../include/enotify.php:244
#, php-format
@@ -1574,7 +1574,7 @@ msgstr "Merci de visiter %s avant d'approuver (ou non) cette demande de relation
#: ../../include/enotify.php:272
msgid "[Red:Notify] Friend suggestion received"
-msgstr "[Matrice Rouge:Notification] Nouvelle suggestion d'amitié"
+msgstr "[Red:Notification] Nouvelle suggestion d'amitié"
#: ../../include/enotify.php:273
#, php-format
@@ -1859,7 +1859,7 @@ msgstr "Merci d'entrer l'URL d'une video&nbsp;:"
#: ../../include/conversation.php:1077
msgid "Please enter an audio link/URL:"
-msgstr "Merci d'entrer l'URL d'un contenu audio&nsbp;:"
+msgstr "Merci d'entrer l'URL d'un contenu audio&nbsp;:"
#: ../../include/conversation.php:1078
msgid "Tag term:"
@@ -2408,7 +2408,7 @@ msgstr "Visible sur toute la Matrice."
#: ../../include/items.php:965
msgid "Visible to anybody authenticated."
-msgstr "Visible aux usagers authentifiés."
+msgstr "Visible aux utilisateurs authentifiés."
#: ../../include/items.php:967
#, php-format
@@ -2672,7 +2672,7 @@ msgstr "Ville natale&nbsp;:"
#: ../../include/identity.php:1042
msgid "Tags:"
-msgstr "Étiquettes:"
+msgstr "Étiquettes&nbsp;:"
#: ../../include/identity.php:1044 ../../mod/profiles.php:616
msgid "Political Views:"
@@ -2720,7 +2720,7 @@ msgstr "Télévision&nbsp;:"
#: ../../include/identity.php:1067
msgid "Film/dance/culture/entertainment:"
-msgstr "Cinéma/danse/culture/divertissement&nsbp;:"
+msgstr "Cinéma/danse/culture/divertissement&nbsp;:"
#: ../../include/identity.php:1069
msgid "Love/Romance:"
@@ -3126,7 +3126,7 @@ msgstr "Indice pour la phrase de passe"
#: ../../include/js_strings.php:16
msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Note&nbsp;: Les permissions ont changées, mais n'ont pas encore été sauvées."
+msgstr "Note&nbsp;: Les permissions ont changé, mais n'ont pas encore été soumises."
#: ../../include/js_strings.php:17
msgid "close all"
@@ -3134,7 +3134,7 @@ msgstr "fermer tout"
#: ../../include/js_strings.php:19
msgid "timeago.prefixAgo"
-msgstr "timeago.prefixAgo"
+msgstr "Il y a"
#: ../../include/js_strings.php:20
msgid "timeago.prefixFromNow"
@@ -3142,7 +3142,7 @@ msgstr "timeago.prefixFromNow"
#: ../../include/js_strings.php:21
msgid "ago"
-msgstr "auparavant"
+msgstr " "
#: ../../include/js_strings.php:22
msgid "from now"
@@ -3567,7 +3567,7 @@ msgstr "Menu introuvable."
#: ../../mod/mitem.php:47
msgid "Menu element updated."
-msgstr "Entrée de menu mis-à-jour."
+msgstr "Entrée de menu mis à jour."
#: ../../mod/mitem.php:51
msgid "Unable to update menu element."
@@ -3716,7 +3716,7 @@ msgstr "Le mot de passe a été changé."
#: ../../mod/settings.php:216
msgid "Password update failed. Please try again."
-msgstr "La mise-à-jour du mot de passe a échoué. Merci de recommencer."
+msgstr "La mise à jour du mot de passe a échoué. Merci de recommencer."
#: ../../mod/settings.php:230
msgid "Not valid email."
@@ -3872,7 +3872,7 @@ msgstr "Thème mobile&nbsp;:"
#: ../../mod/settings.php:760
msgid "Enable user zoom on mobile devices"
-msgstr "Permettre à l'usager d'un mobile d'agrandir le contenu"
+msgstr "Permettre à l'utilisateur d'un mobile d'agrandir le contenu"
#: ../../mod/settings.php:761
msgid "Update browser every xx seconds"
@@ -4122,7 +4122,7 @@ msgstr "Vous êtes étiqueté dans une publication"
#: ../../mod/settings.php:994
msgid "You are poked/prodded/etc. in a post"
-msgstr "Vous êtes cogné/pointé/etc. dans une publication"
+msgstr "Vous êtes cogné/encouragé/etc. dans une publication"
#: ../../mod/settings.php:997
msgid "Advanced Account/Page Type Settings"
@@ -4152,11 +4152,11 @@ msgstr "Supprimer ce canal"
#: ../../mod/poke.php:159
msgid "Poke/Prod"
-msgstr "Cogner/Solliciter"
+msgstr "Cogner/Encourager"
#: ../../mod/poke.php:160
msgid "poke, prod or do other things to somebody"
-msgstr "Cogner, pointer, et autres choses à faire à quelqu'un"
+msgstr "Cogner, encourager, et autres choses à faire à quelqu'un"
#: ../../mod/poke.php:161
msgid "Recipient"
@@ -4776,7 +4776,7 @@ msgstr "Merci de vous connecter."
#: ../../mod/cloud.php:126
msgid "Red Matrix - Guests: Username: {your email address}, Password: +++"
-msgstr "Matrice Rouge - Pour les invités: Usager = {votre courriel}, Mot de passe = +++"
+msgstr "Matrice Rouge - Pour les invités: Nom d'utilisateur = {votre courriel}, Mot de passe = +++"
#: ../../mod/removeme.php:29
msgid ""
@@ -4822,7 +4822,7 @@ msgstr "Relations communes"
#: ../../mod/common.php:44
msgid "No connections in common."
-msgstr "Pas de relations en commun."
+msgstr "Pas de relation en commun."
#: ../../mod/rmagic.php:38
msgid ""
@@ -5292,7 +5292,7 @@ msgstr "Supprimer le contact"
#: ../../mod/connedit.php:549
msgid "Last update:"
-msgstr "Dernière mise-à-jour&nbsp;:"
+msgstr "Dernière mise à jour&nbsp;:"
#: ../../mod/connedit.php:551
msgid "Update public posts"
@@ -5549,7 +5549,7 @@ msgstr "Impossible de trouver une version CLI de PHP dans le PATH du serveur web
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron."
-msgstr "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la mise-à-jour en arrière-plan via cron."
+msgstr "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la mise à jour en arrière-plan via cron."
#: ../../mod/setup.php:392
msgid "PHP executable path"
@@ -5802,7 +5802,7 @@ msgstr "<h1>Et maintenant</h1>"
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
-msgstr "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises-à-jour."
+msgstr "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises à jour."
#: ../../mod/editblock.php:8 ../../mod/editblock.php:27
#: ../../mod/editblock.php:53 ../../mod/editlayout.php:36
@@ -6279,7 +6279,7 @@ msgstr "Impossible de créer la collection."
#: ../../mod/group.php:54
msgid "Collection updated."
-msgstr "Collection mise-à-jour."
+msgstr "Collection mise à jour."
#: ../../mod/group.php:86
msgid "Create a collection of channels."
@@ -6936,7 +6936,7 @@ msgstr "Niveau de journalisation"
#: ../../mod/thing.php:98
msgid "Thing updated"
-msgstr "Chose mise-à-jour"
+msgstr "Chose mise à jour"
#: ../../mod/thing.php:158
msgid "Object store: failed"
@@ -7224,7 +7224,7 @@ msgstr "Visible par&nbsp;:"
#: ../../mod/viewconnections.php:58
msgid "No connections."
-msgstr "Pas de relations."
+msgstr "Pas de relation."
#: ../../mod/viewconnections.php:71
#, php-format
@@ -7675,7 +7675,7 @@ msgstr "URL vers le serveur Friendica"
#: ../../mod/frphotos.php:82
msgid "Friendica Login Username"
-msgstr "Nom d'usager Friendica"
+msgstr "Nom d'utilisateur Friendica"
#: ../../mod/frphotos.php:83
msgid "Friendica Login Password"
@@ -7997,12 +7997,12 @@ msgstr "Vous êtes plutôt \"bureau bien rangé\" ou \"gros foutoir\"?"
#: ../../boot.php:1296
#, php-format
msgid "Update %s failed. See error logs."
-msgstr "La mise-à-jour %s a échoué. Merci de consulter les journaux d'erreur."
+msgstr "La mise à jour %s a échoué. Merci de consulter les journaux d'erreur."
#: ../../boot.php:1299
#, php-format
msgid "Update Error at %s"
-msgstr "Erreur de mise-à-jour sur %s"
+msgstr "Erreur de mise à jour sur %s"
#: ../../boot.php:1473
msgid ""
diff --git a/view/fr/passchanged_eml.tpl b/view/fr/passchanged_eml.tpl
index bfbd7c5ef..7c4e3d7bb 100644
--- a/view/fr/passchanged_eml.tpl
+++ b/view/fr/passchanged_eml.tpl
@@ -4,16 +4,16 @@ Cher {{$username}},
Veuillez conserver cette information (ou changer immédiatement ce mot de passe temporaire).
-Voici les détails de connections:
+Voici les détails de connexion:
Emplacement du site:⇥{{$siteurl}}
-Usager:⇥{{$email}}
+Utilisateur:⇥{{$email}}
Mot de passe:⇥{{$new_password}}
-Vous pouvez changez ce mot de passe à partir des réglages du profil après vous être connecté.
+Vous pouvez changer ce mot de passe à partir des réglages du profil après vous être connecté.
Sincèrement,
- Administrateur {{$sitename}}
+ L'administrateur {{$sitename}}
\ No newline at end of file
diff --git a/view/fr/register_open_eml.tpl b/view/fr/register_open_eml.tpl
index 7bf52a261..46390bc9d 100644
--- a/view/fr/register_open_eml.tpl
+++ b/view/fr/register_open_eml.tpl
@@ -1,19 +1,18 @@
Un compte a été créé sur {{$sitename}} avec cette adresse de courriel.
-Voici les détails de connections:
+Voici les détails de connexion:
Emplacement du site:⇥{{$siteurl}}
-Usager:⇥{{$email}}
-Mot de passe: (le mot de passe tel qu'il a été spécifier lors de l'enregistrement)
+Utilisateur:⇥{{$email}}
+Mot de passe: (le mot de passe qui a été spécifié lors de l'enregistrement)
-Si ce compte a été créé sans votre accord, vous pouvez
-visiter ce site et réinitialiser le mot de passe.
+Si ce compte a été créé sans votre accord, vous pouvez visiter ce site et réinitialiser le mot de passe.
Ceci vous permettra de supprimer le compte à partir de la page des réglages du profil.
-Veuillez accepter nos excuses pour tous les inconvénients que cela a pu engendrer.
+Veuillez accepter nos excuses pour tous les désagréments engendrés.
-Merci et Bienvenu sur {{$sitename}}.
+Merci et bienvenue sur {{$sitename}}.
Sincèrement,
- Administrateur {{$sitename}}
+ L'administrateur {{$sitename}}
\ No newline at end of file
diff --git a/view/fr/register_verify_eml.tpl b/view/fr/register_verify_eml.tpl
index 09170079c..9d2be027c 100644
--- a/view/fr/register_verify_eml.tpl
+++ b/view/fr/register_verify_eml.tpl
@@ -1,15 +1,15 @@
-Une demande d'enregistrement pour un nouvel usager a été reçue de {{$sitename}} laquelle requiert
+Une demande d'enregistrement pour un nouvel utilisateur a été reçue par {{$sitename}} qui requiert
votre accord.
-Voici les détails de connections:
+Voici les détails de connexion:
Emplacement du site:⇥{{$siteurl}}
-Usager:⇥{{$email}}
+Utilisateur:⇥{{$email}}
Adresse IP: {{$details}}
-Pour confirmer votre accord, veuillez visiter le lien suivant:
+Pour confirmer votre accord, veuillez suivre le lien suivant:
{{$siteurl}}/regmod/allow/{{$hash}}
diff --git a/view/fr/register_verify_member.tpl b/view/fr/register_verify_member.tpl
index c7641d4f7..3461c56a0 100644
--- a/view/fr/register_verify_member.tpl
+++ b/view/fr/register_verify_member.tpl
@@ -1,16 +1,16 @@
Merci de vous être enregistré sur {{$sitename}}.
-Voici les détails de connections:
+Voici les détails de connexion:
Emplacement du site:⇥{{$siteurl}}
-Usager:⇥{{$email}}
+Utilisateur:⇥{{$email}}
Connectez-vous avec le mot de passe que vous avez choisi au moment de l'enregistrement.
-Nous avons besoin de vérifier votre adresse de courriel avant d’autoriser votre accès sur le réseau.
+Nous avons besoin de vérifier votre adresse de courriel avant d’autoriser votre accès au réseau.
-Si vous avez enregistré ce compte, veuillez visiter ce lien:
+Si vous avez enregistré ce compte, suivre ce lien:
{{$siteurl}}/regver/allow/{{$hash}}
diff --git a/view/fr/strings.php b/view/fr/strings.php
index 750a9f38f..03a6a0fee 100644
--- a/view/fr/strings.php
+++ b/view/fr/strings.php
@@ -5,7 +5,7 @@ function string_plural_select_fr($n){
return ($n > 1);;
}}
;
-$a->strings["Cannot locate DNS info for database server '%s'"] = "Impossible de trouver les infos DNS du serveur de BD '%s'";
+$a->strings["Cannot locate DNS info for database server '%s'"] = "Impossible de trouver les infos DNS du serveur de base de données '%s'";
$a->strings["Profile Photos"] = "Photos du profil";
$a->strings["%1\$s is now friends with %2\$s"] = "%1\$s et %2\$s sont maintenant amis.";
$a->strings["Sharing notification from Diaspora network"] = "Partage de vos notifications du réseau Diaspora";
@@ -19,7 +19,7 @@ $a->strings["created a new post"] = "a publié";
$a->strings["commented on %s's post"] = "a commenté la publication de %s";
$a->strings["Site Admin"] = "Administrateur";
$a->strings["Bookmarks"] = "Favoris";
-$a->strings["Address Book"] = "Carnet d'adresse";
+$a->strings["Address Book"] = "Carnet d'adresses";
$a->strings["Login"] = "Connexion";
$a->strings["Channel Select"] = "Changer de canal";
$a->strings["Matrix"] = "Matrice";
@@ -39,13 +39,13 @@ $a->strings["Chat"] = "Clavardage";
$a->strings["Search"] = "Recherche";
$a->strings["Probe"] = "Sonder";
$a->strings["Suggest"] = "Suggérer";
-$a->strings["Random Channel"] = "Un Canal au Hasard";
+$a->strings["Random Channel"] = "Un canal au hasard";
$a->strings["Invite"] = "Invitation";
$a->strings["Features"] = "Fonctionalités";
$a->strings["Language"] = "Langue";
$a->strings["Post"] = "Envoyer";
-$a->strings["Profile Photo"] = "Photo du Profil";
-$a->strings["Update"] = "Mise-à-jour";
+$a->strings["Profile Photo"] = "Photo du profil";
+$a->strings["Update"] = "Mise à jour";
$a->strings["Install"] = "Installer";
$a->strings["Purchase"] = "Acheter";
$a->strings["Edit"] = "Éditer";
@@ -64,31 +64,31 @@ $a->strings["%d Connection"] = array(
);
$a->strings["View Connections"] = "Voir les relations";
$a->strings["Save"] = "Sauver";
-$a->strings["poke"] = "cogne";
-$a->strings["poked"] = "C'est fait cogner";
+$a->strings["poke"] = "cogner";
+$a->strings["poked"] = "a cogné";
$a->strings["ping"] = "solliciter";
-$a->strings["pinged"] = "sollicité";
-$a->strings["prod"] = "aiguillonner";
-$a->strings["prodded"] = "aiguillonné";
-$a->strings["slap"] = "giffle";
-$a->strings["slapped"] = "gifflé";
+$a->strings["pinged"] = "a sollicité";
+$a->strings["prod"] = "encourager";
+$a->strings["prodded"] = "a encouragé";
+$a->strings["slap"] = "gifler";
+$a->strings["slapped"] = "a giflé";
$a->strings["finger"] = "pointer";
-$a->strings["fingered"] = "pointé";
-$a->strings["rebuff"] = "rejetter";
-$a->strings["rebuffed"] = "rejetté";
+$a->strings["fingered"] = "a pointé";
+$a->strings["rebuff"] = "rejeter";
+$a->strings["rebuffed"] = "a rejeté";
$a->strings["happy"] = "heureux";
$a->strings["sad"] = "triste";
$a->strings["mellow"] = "mélancolique";
$a->strings["tired"] = "fatigué";
$a->strings["perky"] = "impertinent";
-$a->strings["angry"] = "colèrique";
+$a->strings["angry"] = "colérique";
$a->strings["stupified"] = "stupéfié";
$a->strings["puzzled"] = "perplexe";
$a->strings["interested"] = "intéressé";
$a->strings["bitter"] = "amer";
-$a->strings["cheerful"] = "entrain";
+$a->strings["cheerful"] = "joyeux";
$a->strings["alive"] = "énergique";
-$a->strings["annoyed"] = "agaçé";
+$a->strings["annoyed"] = "agacé";
$a->strings["anxious"] = "anxieux";
$a->strings["cranky"] = "énervé";
$a->strings["disturbed"] = "perturbé";
@@ -121,7 +121,7 @@ $a->strings["bytes"] = "octets";
$a->strings["remove category"] = "supprimer la catégorie";
$a->strings["remove from file"] = "retirer du fichier";
$a->strings["Click to open/close"] = "Cliquer pour ouvrir/fermer";
-$a->strings["Link to Source"] = "Lien vers la Source";
+$a->strings["Link to Source"] = "Lien vers la source";
$a->strings["Select a page layout: "] = "Choisir une mise en page&nbsp;:";
$a->strings["default"] = "défaut";
$a->strings["Page content type: "] = "Type de contenu&nbsp;:";
@@ -170,16 +170,16 @@ $a->strings["Show"] = "Voir plus";
$a->strings["Don't show"] = "Cacher";
$a->strings["Permissions"] = "Permissions";
$a->strings["Close"] = "Fermer";
-$a->strings[" and "] = "et";
+$a->strings[" and "] = " et ";
$a->strings["public profile"] = "profil public";
$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s a changé %2\$s en &ldquo;%3\$s&rdquo;";
-$a->strings["Visit %1\$s's %2\$s"] = "Visiter %1\$s de %2\$s";
-$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s a mis-à-jour %2\$s, modifiant %3\$s.";
+$a->strings["Visit %1\$s's %2\$s"] = "Visiter %1\$s sur %2\$s";
+$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s a mis à jour %2\$s, modifiant %3\$s.";
$a->strings["Public Timeline"] = "Fil public";
$a->strings["Item was not found."] = "Élément introuvable.";
$a->strings["No source file."] = "Pas de fichier source.";
$a->strings["Cannot locate file to replace"] = "Impossible de trouver le fichier à remplacer.";
-$a->strings["Cannot locate file to revise/update"] = "Impossible de trouver le fichier à corriger/mettre-à-jour";
+$a->strings["Cannot locate file to revise/update"] = "Impossible de trouver le fichier à corriger/mettre à jour";
$a->strings["File exceeds size limit of %d"] = "Le fichier dépasse la taille limite de %d";
$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Vous avez atteint votre limite de %1$.0f méga-octets autorisés pour le stockage des pièces-jointes";
$a->strings["File upload failed. Possible system limit or action terminated."] = "Envoi du fichier impossible. Limite système ou action avortée.";
@@ -349,16 +349,16 @@ $a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %
$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Notification] Commentaire de %2\$s sur conversation #%1\$d";
$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s a commenté un élément de conversation que vous suivez.";
$a->strings["Please visit %s to view and/or reply to the conversation."] = "Merci de visiter %s pour voir et/ou répondre sur cette conversation.";
-$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Matrice Rouge:Notification] %s a publié sur votre profil";
+$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Notification] %s a publié sur votre profil";
$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s a publié sur votre profil à %3\$s";
$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s a publié sur [zrl=%3\$s]votre profil[/zrl]";
$a->strings["[Red:Notify] %s tagged you"] = "[Red:Notification] %s vous a étiqueté";
$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, vous avez été étiqueté sur %3\$s par %2\$s";
$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]vous a étiqueté[/zrl].";
$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Notification] %1\$s vous a cogné";
-$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, vous avez été cogné/pointé/sollicité par %2\$s sur %3\$s";
+$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s vous a cogné sur %3\$s";
$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]vous a cogné[/zrl].";
-$a->strings["[Red:Notify] %s tagged your post"] = "[Matrice Rouge:Notification] %s a étiqueté votre publication";
+$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Notification] %s a étiqueté votre publication";
$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s a étiqueté votre publication sur %3\$s";
$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s a étiqueté [zrl=%3\$s]votre publication[/zrl]";
$a->strings["[Red:Notify] Introduction received"] = "[Red:Notification] Nouvelle introduction";
@@ -366,7 +366,7 @@ $a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3
$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, vous avez reçu [zrl=%2\$s]une demande de mise en relation[/zrl] de %3\$s.";
$a->strings["You may visit their profile at %s"] = "Vous pouvez visiter leur profil sur %s";
$a->strings["Please visit %s to approve or reject the connection request."] = "Merci de visiter %s avant d'approuver (ou non) cette demande de relation.";
-$a->strings["[Red:Notify] Friend suggestion received"] = "[Matrice Rouge:Notification] Nouvelle suggestion d'amitié";
+$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Notification] Nouvelle suggestion d'amitié";
$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, vous avez reçu une suggestion de relation de '%2\$s' à %3\$s";
$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, avez reçu %3\$s comme [zrl=%2\$s]une suggestion de relation[/zrl] de %4\$s.";
$a->strings["Name:"] = "Nom&nbsp;:";
@@ -437,7 +437,7 @@ $a->strings["%s don't like this."] = "%s déteste ça.";
$a->strings["Visible to <strong>everybody</strong>"] = "Visible par <strong>tout le monde</strong>";
$a->strings["Please enter a link URL:"] = "Merci d'entrer l'URL d'un lien&nbsp;:";
$a->strings["Please enter a video link/URL:"] = "Merci d'entrer l'URL d'une video&nbsp;:";
-$a->strings["Please enter an audio link/URL:"] = "Merci d'entrer l'URL d'un contenu audio&nsbp;:";
+$a->strings["Please enter an audio link/URL:"] = "Merci d'entrer l'URL d'un contenu audio&nbsp;:";
$a->strings["Tag term:"] = "Étiquette&nbsp;:";
$a->strings["Save to Folder:"] = "Classer dans le dossier&nbsp;:";
$a->strings["Where are you right now?"] = "Où êtes-vous présentement?";
@@ -565,7 +565,7 @@ $a->strings["(Unknown)"] = "(Inconnu)";
$a->strings["Visible to anybody on the internet."] = "Visible à tout le monde sur internet.";
$a->strings["Visible to you only."] = "Visible pour vous seulement.";
$a->strings["Visible to anybody in this network."] = "Visible sur toute la Matrice.";
-$a->strings["Visible to anybody authenticated."] = "Visible aux usagers authentifiés.";
+$a->strings["Visible to anybody authenticated."] = "Visible aux utilisateurs authentifiés.";
$a->strings["Visible to anybody on %s."] = "Visible pour tous sur %s.";
$a->strings["Visible to all connections."] = "Visible pour tous les contacts.";
$a->strings["Visible to approved connections."] = "Visible aux contacts approuvés.";
@@ -625,7 +625,7 @@ $a->strings["Age:"] = "Age&nbsp;:";
$a->strings["for %1\$d %2\$s"] = "depuis %1\$d %2\$s";
$a->strings["Sexual Preference:"] = "Orientation sexuelle&nbsp;:";
$a->strings["Hometown:"] = "Ville natale&nbsp;:";
-$a->strings["Tags:"] = "Étiquettes:";
+$a->strings["Tags:"] = "Étiquettes&nbsp;:";
$a->strings["Political Views:"] = "Opinions politiques&nbsp;:";
$a->strings["Religion:"] = "Religion&nbsp;:";
$a->strings["About:"] = "À propos&nbsp;:";
@@ -637,7 +637,7 @@ $a->strings["My other channels:"] = "Mes autres canaux&nbsp;:";
$a->strings["Musical interests:"] = "Goûts musicaux&nbsp;:";
$a->strings["Books, literature:"] = "Lectures, goûts littéraires&nbsp;:";
$a->strings["Television:"] = "Télévision&nbsp;:";
-$a->strings["Film/dance/culture/entertainment:"] = "Cinéma/danse/culture/divertissement&nsbp;:";
+$a->strings["Film/dance/culture/entertainment:"] = "Cinéma/danse/culture/divertissement&nbsp;:";
$a->strings["Love/Romance:"] = "Vie sentimentale/amoureuse&nbsp;:";
$a->strings["Work/employment:"] = "Travail&nbsp;:";
$a->strings["School/education:"] = "Cursus&nbsp;:";
@@ -735,11 +735,11 @@ $a->strings["Passwords do not match"] = "Les mots de passe ne correspondent pas"
$a->strings["everybody"] = "tout le monde";
$a->strings["Secret Passphrase"] = "Phrase de passe secrète";
$a->strings["Passphrase hint"] = "Indice pour la phrase de passe";
-$a->strings["Notice: Permissions have changed but have not yet been submitted."] = "Note&nbsp;: Les permissions ont changées, mais n'ont pas encore été sauvées.";
+$a->strings["Notice: Permissions have changed but have not yet been submitted."] = "Note&nbsp;: Les permissions ont changé, mais n'ont pas encore été soumises.";
$a->strings["close all"] = "fermer tout";
-$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+$a->strings["timeago.prefixAgo"] = "Il y a";
$a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-$a->strings["ago"] = "auparavant";
+$a->strings["ago"] = " ";
$a->strings["from now"] = "de maintenant";
$a->strings["less than a minute"] = "moins d'une minute";
$a->strings["about a minute"] = "environ une minute";
@@ -840,7 +840,7 @@ $a->strings["Can administer my channel resources"] = "Peut administrer les resso
$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Très avancé. Ne pas toucher, sauf si vous savez VRAIMENT ce que vous faites";
$a->strings["Set your current mood and tell your friends"] = "Indiquez votre humeur du moment à vos amis";
$a->strings["Menu not found."] = "Menu introuvable.";
-$a->strings["Menu element updated."] = "Entrée de menu mis-à-jour.";
+$a->strings["Menu element updated."] = "Entrée de menu mis à jour.";
$a->strings["Unable to update menu element."] = "Impossible de mettre l'entrée de menu à jour.";
$a->strings["Menu element added."] = "Entrée de menu ajouté.";
$a->strings["Unable to add menu element."] = "Impossible d'ajouter l'entrée de menu.";
@@ -877,7 +877,7 @@ $a->strings["Key and Secret are required"] = "Clef et secret sont requis";
$a->strings["Passwords do not match. Password unchanged."] = "Les deux saisies du mot de passe ne correspondent pas. Il n'a donc pas été changé.";
$a->strings["Empty passwords are not allowed. Password unchanged."] = "Le mot de passe ne peut pas être vide. Il n'a donc pas été changé.";
$a->strings["Password changed."] = "Le mot de passe a été changé.";
-$a->strings["Password update failed. Please try again."] = "La mise-à-jour du mot de passe a échoué. Merci de recommencer.";
+$a->strings["Password update failed. Please try again."] = "La mise à jour du mot de passe a échoué. Merci de recommencer.";
$a->strings["Not valid email."] = "Adresse de courriel non-valide.";
$a->strings["Protected email address. Cannot change to that email."] = "Adresse de courriel protégée. Impossible de l'utiliser.";
$a->strings["System failure storing new email. Please try again."] = "Défaillance système lors du stockage de la nouvelle adresse de courriel. Merci de ré-essayer.";
@@ -915,7 +915,7 @@ $a->strings["%s - (Experimental)"] = "%s - (Expérimental)";
$a->strings["Display Settings"] = "Affichage";
$a->strings["Display Theme:"] = "Thème&nbsp;:";
$a->strings["Mobile Theme:"] = "Thème mobile&nbsp;:";
-$a->strings["Enable user zoom on mobile devices"] = "Permettre à l'usager d'un mobile d'agrandir le contenu";
+$a->strings["Enable user zoom on mobile devices"] = "Permettre à l'utilisateur d'un mobile d'agrandir le contenu";
$a->strings["Update browser every xx seconds"] = "Rafraîchir le navigateur toutes les xx secondes";
$a->strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 secondes, pas de maximum";
$a->strings["Maximum number of conversations to load at any time:"] = "Nombre maximal de conversations pouvant être chargées en même temps&nbsp;:";
@@ -938,13 +938,13 @@ $a->strings["or"] = "ou";
$a->strings["Your channel address is"] = "Voici l'adresse de votre canal";
$a->strings["Channel Settings"] = "Canal";
$a->strings["Basic Settings"] = "Basique";
-$a->strings["Your Timezone:"] = "Fureau Horaire&nbsp;:";
+$a->strings["Your Timezone:"] = "Fuseau horaire&nbsp;:";
$a->strings["Default Post Location:"] = "Emplacement géographique par défaut&nbsp;:";
$a->strings["Geographical location to display on your posts"] = "Emplacement géographique à afficher sur vos publications";
$a->strings["Use Browser Location:"] = "Utiliser la géolocalisation fournie par le navigateur&nbsp;:";
$a->strings["Adult Content"] = "Contenu \"adulte\"";
$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Ce canal publie plus ou moins fréquemment du contenu pour adultes. (Merci d'indiquer tout contenu pour adulte ou potentiellement choquant avec l'étiquette <em>#NSFW</em> - Not Safe For Work)";
-$a->strings["Security and Privacy Settings"] = "Réglages de Sécurité et vie privée";
+$a->strings["Security and Privacy Settings"] = "Réglages de sécurité et vie privée";
$a->strings["Hide my online presence"] = "Cacher ma présence en ligne";
$a->strings["Prevents displaying in your profile that you are online"] = "Cacher votre statut (en ligne/hors ligne) sur votre profil";
$a->strings["Simple Privacy Settings:"] = "Réglages simples&nbsp;:";
@@ -952,7 +952,7 @@ $a->strings["Very Public - <em>extremely permissive (should be used with caution
$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Classique - <em>public par défaut, privé en cas de besoin (comparable dans le principe aux réseaux sociaux centralisés, avec un mode privé plus efficace)</em>";
$a->strings["Private - <em>default private, never open or public</em>"] = "Privé - <em>privé par défaut, jamais ouvert ni public</em>";
$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloqué - <em>par défaut, bloqué de/vers tout le monde</em>";
-$a->strings["Allow others to tag your posts"] = "Autoriser les autres à \"étiqueté\" vos publications";
+$a->strings["Allow others to tag your posts"] = "Autoriser les autres à \"étiqueter\" vos publications";
$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Souvent utilisé par la communauté pour distinguer le contenu innaproprié";
$a->strings["Advanced Privacy Settings"] = "Réglages avancés";
$a->strings["Expire other channel content after this many days"] = "Faire expirer le contenu des autres canaux après n jours";
@@ -975,15 +975,15 @@ $a->strings["Someone writes a followup comment"] = "Quelqu'un a commenté sur vo
$a->strings["You receive a private message"] = "Vous recevez un message privé";
$a->strings["You receive a friend suggestion"] = "Vous recevez une suggestion d'amitié/relation";
$a->strings["You are tagged in a post"] = "Vous êtes étiqueté dans une publication";
-$a->strings["You are poked/prodded/etc. in a post"] = "Vous êtes cogné/pointé/etc. dans une publication";
+$a->strings["You are poked/prodded/etc. in a post"] = "Vous êtes cogné/encouragé/etc. dans une publication";
$a->strings["Advanced Account/Page Type Settings"] = "Type de page/Compte (avancé)";
$a->strings["Change the behaviour of this account for special situations"] = "Modifie le comportement de ce compte pour certains cas particuliers";
$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Mode expert requis (<a href=\"settings/features\">Réglages > Fonctions supplémentaires</a>) svp ajuster!";
$a->strings["Miscellaneous Settings"] = "Divers";
$a->strings["Personal menu to display in your channel pages"] = "Menu personnel tel qu'il apparaîtra sur les pages de votre canal";
$a->strings["Remove this channel"] = "Supprimer ce canal";
-$a->strings["Poke/Prod"] = "Cogner/Solliciter";
-$a->strings["poke, prod or do other things to somebody"] = "Cogner, pointer, et autres choses à faire à quelqu'un";
+$a->strings["Poke/Prod"] = "Cogner/Encourager";
+$a->strings["poke, prod or do other things to somebody"] = "Cogner, encourager, et autres choses à faire à quelqu'un";
$a->strings["Recipient"] = "Destinataire";
$a->strings["Choose what you wish to do to recipient"] = "Choisir quoi lui faire";
$a->strings["Make this post private"] = "Rendre cette contribution privée";
@@ -1116,7 +1116,7 @@ $a->strings["Passwords do not match."] = "Les mots de passe ne concordent pas.";
$a->strings["Registration successful. Please check your email for validation instructions."] = "Inscription réussie. Merci de vérifier vos courriels pour valider votre compte.";
$a->strings["Your registration is pending approval by the site owner."] = "Votre inscription est en attente de l'approbation d'un administrateur.";
$a->strings["Your registration can not be processed."] = "Votre inscription ne peut être traîtée.";
-$a->strings["Registration on this site/hub is by approval only."] = "L'inscription sur cette instance/ce site est soumis à une modération.";
+$a->strings["Registration on this site/hub is by approval only."] = "L'inscription sur cette instance/ce site est soumise à une modération.";
$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">S'inscrire sur un site/hub affilié</a>";
$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Ce site a dépassé le nombre de création de compte autorisé par jour. Merci de recommencer demain.";
$a->strings["Terms of Service"] = "Règles du Service";
@@ -1131,7 +1131,7 @@ $a->strings["Please re-enter your password"] = "Confirmez-le";
$a->strings["Away"] = "Absent";
$a->strings["Online"] = "En ligne";
$a->strings["Please login."] = "Merci de vous connecter.";
-$a->strings["Red Matrix - Guests: Username: {your email address}, Password: +++"] = "Matrice Rouge - Pour les invités: Usager = {votre courriel}, Mot de passe = +++";
+$a->strings["Red Matrix - Guests: Username: {your email address}, Password: +++"] = "Matrice Rouge - Pour les invités: Nom d'utilisateur = {votre courriel}, Mot de passe = +++";
$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Il est impossible de supprimer un canal à l'intérieur de 48 heures après avoir changé le mot de passe d'un compte.";
$a->strings["Remove This Channel"] = "Supprimer ce Canal";
$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Ceci effacera complètement le canal du réseau. Une fois effacé, un canal ne PEUT PAS être récupéré.";
@@ -1141,7 +1141,7 @@ $a->strings["By default only the instance of the channel located on this hub wil
$a->strings["Remove Channel"] = "Enlever le canal";
$a->strings["No channel."] = "Pas de canal.";
$a->strings["Common connections"] = "Relations communes";
-$a->strings["No connections in common."] = "Pas de relations en commun.";
+$a->strings["No connections in common."] = "Pas de relation en commun.";
$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Nous avons rencontré un problème avec l'OpenID que vous nous avez fourni. Merci de vérifier que l'ID est bien saisi.";
$a->strings["The error message was:"] = "Le message d'erreur était&nbsp;:";
$a->strings["Authentication failed."] = "Échec de l'authentification.";
@@ -1251,7 +1251,7 @@ $a->strings["Ignore contact"] = "Ignorer le contact";
$a->strings["Repair URL settings"] = "Réparer les réglages d'URL";
$a->strings["View conversations"] = "Voir les conversations";
$a->strings["Delete contact"] = "Supprimer le contact";
-$a->strings["Last update:"] = "Dernière mise-à-jour&nbsp;:";
+$a->strings["Last update:"] = "Dernière mise à jour&nbsp;:";
$a->strings["Update public posts"] = "Mettre à jour les publications";
$a->strings["Update now"] = "Mettre à jour maintenant";
$a->strings["Currently blocked"] = "Actuellement bloqué";
@@ -1310,7 +1310,7 @@ $a->strings["Please use SSL (https) URL if available."] = "Merci d'utiliser SSL/
$a->strings["Please select a default timezone for your website"] = "Merci de choisir une zone de temps (fuseau horaire) pour votre site";
$a->strings["Site settings"] = "Réglages du site";
$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Impossible de trouver une version CLI de PHP dans le PATH du serveur web.";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la mise-à-jour en arrière-plan via cron.";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "En l'absence de version CLI de PHP sur votre serveur, vous ne pourrez pas utiliser la mise à jour en arrière-plan via cron.";
$a->strings["PHP executable path"] = "Chemin vers l'éxecutable PHP";
$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Entrez le chemin complet vers l'exécutable php. Vous pouvez continuer l'installation sans.";
$a->strings["Command line PHP"] = "PHP en ligne de commande (CLI)";
@@ -1360,7 +1360,7 @@ $a->strings["Url rewrite is working"] = "La réécriture d'URL fonctionne";
$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Le fichier de configuration de la base de données - \".htconfig.php\" - ne peut être écrit. Merci de copier le texte généré dans un fichier à ce nom, à la racine de votre serveur web.";
$a->strings["Errors encountered creating database tables."] = "Erreurs rencontrées pendant la création de tables de BD.";
$a->strings["<h1>What next</h1>"] = "<h1>Et maintenant</h1>";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises-à-jour.";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT&nbsp;: Vous devez créer [manuellement] une tâche planifiée pour les mises à jour.";
$a->strings["Item not found"] = "Élément introuvable";
$a->strings["Edit Block"] = "Éditer bloc";
$a->strings["Delete block?"] = "Supprimer le bloc?";
@@ -1473,7 +1473,7 @@ $a->strings["Suggest a friend for %s"] = "Suggérer une relation à %s";
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Pas de suggestions pour l'instant. Si le site est récent, merci de re-tenter dans 24 heures.";
$a->strings["Collection created."] = "Collection créée.";
$a->strings["Could not create collection."] = "Impossible de créer la collection.";
-$a->strings["Collection updated."] = "Collection mise-à-jour.";
+$a->strings["Collection updated."] = "Collection mise à jour.";
$a->strings["Create a collection of channels."] = "Créez une collection de canaux.";
$a->strings["Collection Name: "] = "Nom de la collection&nbsp;:";
$a->strings["Members are visible to other channels"] = "Les membres sont visibles par les autres canaux";
@@ -1511,7 +1511,7 @@ $a->strings["Active plugins"] = "Extensions actives";
$a->strings["Site settings updated."] = "Réglages du site sauvegardés.";
$a->strings["No special theme for accessibility"] = "Pas de thème spécifique pour l'accessibilité";
$a->strings["Yes - with approval"] = "Oui - avec approbation";
-$a->strings["My site is not a public server"] = "Mon site n'est pas un serveur publique";
+$a->strings["My site is not a public server"] = "Mon site n'est pas un serveur public";
$a->strings["My site has paid access only"] = "Mon site est payant";
$a->strings["My site has free access only"] = "Mon site est gratuit";
$a->strings["My site offers free accounts with optional paid upgrades"] = "Mon site offre des comptes gratuits avec des ajouts payants";
@@ -1633,7 +1633,7 @@ $a->strings["Debugging"] = "Débogage";
$a->strings["Log file"] = "Fichier du journal";
$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "Doit être accessible en écriture par le serveur web. Chemin relatif à la racine de votre installation de la Matrice Rouge.";
$a->strings["Log level"] = "Niveau de journalisation";
-$a->strings["Thing updated"] = "Chose mise-à-jour";
+$a->strings["Thing updated"] = "Chose mise à jour";
$a->strings["Object store: failed"] = "Stockage de l'objet&nbsp;: échec";
$a->strings["Thing added"] = "Chose ajoutée";
$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
@@ -1703,7 +1703,7 @@ $a->strings["Action completed."] = "Action complétée.";
$a->strings["Thank you."] = "Merci.";
$a->strings["Remote privacy information not available."] = "Les informations de vie privée à distance ne sont pas disponibles.";
$a->strings["Visible to:"] = "Visible par&nbsp;:";
-$a->strings["No connections."] = "Pas de relations.";
+$a->strings["No connections."] = "Pas de relation.";
$a->strings["Visit %s's profile [%s]"] = "Visiter le profil de %s [%s]";
$a->strings["View Connnections"] = "Voir les relations";
$a->strings["No valid account found."] = "Aucun compte valide trouvé.";
@@ -1811,7 +1811,7 @@ $a->strings["View Results"] = "Voir les Résultats";
$a->strings["Friendica Photo Album Import"] = "Importer votre Album Photo Friendica";
$a->strings["This will import all your Friendica photo albums to this Red channel."] = "Cette fonction va importer tous vos albums photos Friendica dans ce canal de la Matrice Rouge.";
$a->strings["Friendica Server base URL"] = "URL vers le serveur Friendica";
-$a->strings["Friendica Login Username"] = "Nom d'usager Friendica";
+$a->strings["Friendica Login Username"] = "Nom d'utilisateur Friendica";
$a->strings["Friendica Login Password"] = "Mot de passe Friendica";
$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Il est impossible de supprimer un compte à l'intérieur de 48 heures après avoir changé le mot de passe d'un compte.";
$a->strings["Remove This Account"] = "Supprimer ce Compte";
@@ -1887,8 +1887,8 @@ $a->strings["Set size of conversation author photo"] = "Définir la taille de la
$a->strings["Set size of followup author photos"] = "Définir la taille de la photo de l'auteur d'une réponse";
$a->strings["Sloppy photo albums"] = "Albums photo \"en biais\"";
$a->strings["Are you a clean desk or a messy desk person?"] = "Vous êtes plutôt \"bureau bien rangé\" ou \"gros foutoir\"?";
-$a->strings["Update %s failed. See error logs."] = "La mise-à-jour %s a échoué. Merci de consulter les journaux d'erreur.";
-$a->strings["Update Error at %s"] = "Erreur de mise-à-jour sur %s";
+$a->strings["Update %s failed. See error logs."] = "La mise à jour %s a échoué. Merci de consulter les journaux d'erreur.";
+$a->strings["Update Error at %s"] = "Erreur de mise à jour sur %s";
$a->strings["Create an account to access services and applications within the Red Matrix"] = "Créez un compte pour pouvoir accéder aux services et applications de la Matrice Red";
$a->strings["Password"] = "Mot de passe";
$a->strings["Remember me"] = "Se souvenir de moi";
diff --git a/view/fr/update_fail_eml.tpl b/view/fr/update_fail_eml.tpl
index 39dc6fa03..5fbad2c8a 100644
--- a/view/fr/update_fail_eml.tpl
+++ b/view/fr/update_fail_eml.tpl
@@ -1,16 +1,16 @@
Bonjour,
Je suis le serveur web de {{$sitename}};
-Les développeurs de la Matrice Rouge viennent de lancer une mise-à-jour {{$update}} récemment,
+Les développeurs de la Matrice Rouge ont lancé une mise à jour {{$update}} récemment,
toutefois, lorsque j'ai essayé de l'installer, quelques choses d'inattendu s'est produit.
-
+
Nous devons corriger la situation et cela requiert votre intervention.
-Veuillez contacter un développeur de la Matrice Rouge si vous avez de la difficulté à déterminer
+Veuillez contacter un développeur de la Matrice Rouge si vous avez des difficultés à déterminer
la meilleure approche pour résoudre le problème. Ma base de donnée est peut-être corrompue.
Le message d'erreur est '{{$error}}'.
-Veuillez accepter mes plus humbles excuses pour les inconvénients,
+Veuillez accepter mes plus humbles excuses pour les désagréments,
votre serveur web a {{$siteurl}} \ No newline at end of file
diff --git a/view/it/messages.po b/view/it/messages.po
index 513758616..b270c5051 100644
--- a/view/it/messages.po
+++ b/view/it/messages.po
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Red Matrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-26 00:03-0700\n"
-"PO-Revision-Date: 2014-09-28 07:44+0000\n"
+"POT-Creation-Date: 2014-12-26 00:04-0800\n"
+"PO-Revision-Date: 2014-12-29 08:07+0000\n"
"Last-Translator: tuscanhobbit <pynolo@tarine.net>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/red-matrix/language/it/)\n"
"MIME-Version: 1.0\n"
@@ -23,347 +23,442 @@ msgstr ""
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../include/dba/dba_driver.php:50
+#: ../../include/dba/dba_driver.php:142
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Non trovo le informazioni DNS per il database server '%s'"
-#: ../../include/photo/photo_driver.php:653 ../../include/photos.php:51
+#: ../../include/photo/photo_driver.php:680 ../../include/photos.php:52
+#: ../../mod/photos.php:91 ../../mod/photos.php:654
#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:301
-#: ../../mod/profile_photo.php:421 ../../mod/photos.php:91
-#: ../../mod/photos.php:659 ../../mod/photos.php:681
+#: ../../mod/profile_photo.php:423
msgid "Profile Photos"
msgstr "Foto del profilo"
+#: ../../include/items.php:382 ../../mod/group.php:68
+#: ../../mod/subthread.php:49 ../../mod/profperm.php:23 ../../mod/like.php:246
+#: ../../index.php:389
+msgid "Permission denied"
+msgstr "Permesso negato"
+
+#: ../../include/items.php:969 ../../include/items.php:1014
+msgid "(Unknown)"
+msgstr "(Sconosciuto)"
+
+#: ../../include/items.php:1171
+msgid "Visible to anybody on the internet."
+msgstr "Visibile a chiunque su internet."
+
+#: ../../include/items.php:1173
+msgid "Visible to you only."
+msgstr "Visibile solo a te."
+
+#: ../../include/items.php:1175
+msgid "Visible to anybody in this network."
+msgstr "Visibile a tutti su questa rete."
+
+#: ../../include/items.php:1177
+msgid "Visible to anybody authenticated."
+msgstr "Visibile a chiunque sia autenticato."
+
+#: ../../include/items.php:1179
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Visibile a tutti in %s."
+
+#: ../../include/items.php:1181
+msgid "Visible to all connections."
+msgstr "Visibile a tutti coloro che ti seguono."
+
+#: ../../include/items.php:1183
+msgid "Visible to approved connections."
+msgstr "Visibile ai contatti approvati."
+
+#: ../../include/items.php:1185
+msgid "Visible to specific connections."
+msgstr "Visibile ad alcuni contatti scelti."
+
+#: ../../include/items.php:3952 ../../mod/display.php:32
+#: ../../mod/thing.php:76 ../../mod/filestorage.php:26 ../../mod/admin.php:168
+#: ../../mod/admin.php:896 ../../mod/admin.php:1099 ../../mod/viewsrc.php:20
+msgid "Item not found."
+msgstr "Elemento non trovato."
+
+#: ../../include/items.php:4019 ../../include/photos.php:15
+#: ../../include/attach.php:116 ../../include/attach.php:163
+#: ../../include/attach.php:226 ../../include/attach.php:240
+#: ../../include/attach.php:280 ../../include/attach.php:294
+#: ../../include/attach.php:318 ../../include/attach.php:511
+#: ../../include/attach.php:585 ../../include/chat.php:116
+#: ../../mod/mood.php:112 ../../mod/register.php:72 ../../mod/mitem.php:106
+#: ../../mod/achievements.php:30 ../../mod/settings.php:542
+#: ../../mod/group.php:9 ../../mod/poke.php:128 ../../mod/api.php:26
+#: ../../mod/api.php:31 ../../mod/setup.php:207 ../../mod/authtest.php:13
+#: ../../mod/profile.php:64 ../../mod/profile.php:72 ../../mod/block.php:22
+#: ../../mod/block.php:72 ../../mod/delegate.php:6 ../../mod/sources.php:66
+#: ../../mod/events.php:195 ../../mod/channel.php:90 ../../mod/channel.php:201
+#: ../../mod/channel.php:244 ../../mod/chat.php:90 ../../mod/chat.php:95
+#: ../../mod/regmod.php:17 ../../mod/editpost.php:13 ../../mod/common.php:35
+#: ../../mod/connections.php:169 ../../mod/connedit.php:266
+#: ../../mod/mail.php:111 ../../mod/photos.php:68 ../../mod/webpages.php:67
+#: ../../mod/bookmarks.php:46 ../../mod/blocks.php:67 ../../mod/blocks.php:75
+#: ../../mod/editblock.php:65 ../../mod/pdledit.php:21
+#: ../../mod/editlayout.php:64 ../../mod/editlayout.php:89
+#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
+#: ../../mod/editwebpage.php:118 ../../mod/profile_photo.php:263
+#: ../../mod/profile_photo.php:276 ../../mod/like.php:154
+#: ../../mod/thing.php:247 ../../mod/thing.php:264 ../../mod/thing.php:299
+#: ../../mod/fsuggest.php:78 ../../mod/filestorage.php:18
+#: ../../mod/filestorage.php:67 ../../mod/filestorage.php:82
+#: ../../mod/filestorage.php:109 ../../mod/locs.php:71 ../../mod/item.php:191
+#: ../../mod/item.php:199 ../../mod/item.php:972 ../../mod/suggest.php:26
+#: ../../mod/layouts.php:67 ../../mod/layouts.php:74 ../../mod/layouts.php:85
+#: ../../mod/profiles.php:179 ../../mod/profiles.php:550
+#: ../../mod/manage.php:6 ../../mod/menu.php:61 ../../mod/invite.php:13
+#: ../../mod/invite.php:104 ../../mod/network.php:12
+#: ../../mod/notifications.php:66 ../../mod/viewconnections.php:22
+#: ../../mod/viewconnections.php:27 ../../mod/viewsrc.php:14
+#: ../../mod/message.php:16 ../../mod/new_channel.php:68
+#: ../../mod/new_channel.php:99 ../../mod/page.php:28 ../../mod/page.php:78
+#: ../../mod/appman.php:66 ../../mod/service_limits.php:7 ../../index.php:190
+#: ../../index.php:390
+msgid "Permission denied."
+msgstr "Permesso negato."
+
+#: ../../include/items.php:4410 ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
+msgstr "Insieme di canali non trovato."
+
+#: ../../include/items.php:4425
+msgid "Collection is empty."
+msgstr "L'insieme di canali è vuoto."
+
+#: ../../include/items.php:4432
+#, php-format
+msgid "Collection: %s"
+msgstr "Insieme: %s"
+
+#: ../../include/items.php:4443
+#, php-format
+msgid "Connection: %s"
+msgstr "Contatto: %s"
+
+#: ../../include/items.php:4446
+msgid "Connection not found."
+msgstr "Contatto non trovato."
+
+#: ../../include/menu.php:42 ../../include/page_widgets.php:8
+#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:261
+#: ../../include/ItemObject.php:100 ../../include/apps.php:254
+#: ../../mod/settings.php:627 ../../mod/editpost.php:112
+#: ../../mod/connections.php:381 ../../mod/connections.php:394
+#: ../../mod/connections.php:413 ../../mod/webpages.php:162
+#: ../../mod/blocks.php:132 ../../mod/editblock.php:143
+#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:174
+#: ../../mod/thing.php:233 ../../mod/layouts.php:167 ../../mod/menu.php:78
+msgid "Edit"
+msgstr "Modifica"
+
+#: ../../include/message.php:18
+msgid "No recipient provided."
+msgstr "Devi scegliere un destinatario."
+
+#: ../../include/message.php:23
+msgid "[no subject]"
+msgstr "[nessun titolo]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Impossibile determinare il mittente."
+
+#: ../../include/message.php:200
+msgid "Stored post could not be verified."
+msgstr "Non è stato possibile verificare l'articolo inserito."
+
#: ../../include/network.php:590
msgid "view full size"
msgstr "guarda nelle dimensioni reali"
-#: ../../include/oembed.php:163
-msgid "Embedded content"
-msgstr "Contenuti incorporati"
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Può vedere i miei contenuti e articoli normali"
-#: ../../include/oembed.php:172
-msgid "Embedding disabled"
-msgstr "Contenuti incorporati - funzione disabilitata"
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Può vedere il profilo predefinito del canale"
-#: ../../include/notify.php:23
-msgid "created a new post"
-msgstr "Ha creato un nuovo articolo"
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
+msgstr "Può vedere i miei album fotografici"
-#: ../../include/notify.php:24
-#, php-format
-msgid "commented on %s's post"
-msgstr "ha commentato l'articolo di %s"
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
+msgstr "Può vedere i miei contatti"
-#: ../../include/apps.php:123
-msgid "Site Admin"
-msgstr "Amministrazione sito"
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
+msgstr "Può vedere i miei file condivisi"
-#: ../../include/apps.php:124 ../../include/conversation.php:1564
-#: ../../include/nav.php:116
-msgid "Bookmarks"
-msgstr "Segnalibri"
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
+msgstr "Può vedere le mie pagine web"
-#: ../../include/apps.php:125
-msgid "Address Book"
-msgstr "Rubrica"
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
+msgstr "È tra i canali che seguo"
-#: ../../include/apps.php:126 ../../include/nav.php:124 ../../boot.php:1497
-msgid "Login"
-msgstr "Accedi"
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Può scrivere sulla bacheca del mio canale"
-#: ../../include/apps.php:127 ../../include/nav.php:214
-#: ../../mod/manage.php:148
-msgid "Channel Manager"
-msgstr "Gestione canali"
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
+msgstr "Può commentare o aggiungere \"mi piace\" ai miei articoli"
-#: ../../include/apps.php:128 ../../include/nav.php:188
-msgid "Matrix"
-msgstr "RedMatrix"
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
+msgstr "Può inviarmi messaggi privati"
-#: ../../include/apps.php:129 ../../include/nav.php:216
-#: ../../include/widgets.php:521 ../../mod/admin.php:953
-#: ../../mod/admin.php:1158
-msgid "Settings"
-msgstr "Impostazioni"
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
+msgstr "Può aggiungere foto ai miei album"
-#: ../../include/apps.php:130 ../../include/conversation.php:1540
-#: ../../include/reddav.php:1280 ../../include/nav.php:105
-#: ../../mod/fbrowser.php:114
-msgid "Files"
-msgstr "Archivio file"
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
+msgstr "Può aggiungere \"mi piace\""
-#: ../../include/apps.php:131 ../../include/conversation.php:1575
-#: ../../include/nav.php:120 ../../mod/webpages.php:84
-msgid "Webpages"
-msgstr "Pagine web"
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
+msgstr "Profili e tutto ciò che non è articoli e commenti"
-#: ../../include/apps.php:132 ../../include/nav.php:191
-msgid "Channel Home"
-msgstr "Bacheca del canale"
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Può inoltrare articoli a tutti i contatti del canale tramite una @menzione"
-#: ../../include/apps.php:133 ../../include/identity.php:1064
-#: ../../include/identity.php:1182 ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Profilo"
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione"
-#: ../../include/apps.php:134 ../../include/conversation.php:1531
-#: ../../include/nav.php:104 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Foto"
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
+msgstr "Può aprire una chat con me (se disponibile)"
-#: ../../include/apps.php:135 ../../include/nav.php:210
-#: ../../mod/events.php:436
-msgid "Events"
-msgstr "Eventi"
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
+msgstr "Può scrivere sul mio archivio file"
-#: ../../include/apps.php:136 ../../include/nav.php:177
-#: ../../mod/directory.php:226
-msgid "Directory"
-msgstr "Tutti i canali"
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
+msgstr "Può modificare le mie pagine web"
-#: ../../include/apps.php:137 ../../include/nav.php:169 ../../mod/help.php:60
-#: ../../mod/help.php:65
-msgid "Help"
-msgstr "Guida"
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
+msgstr "Può usare i miei articoli pubblici per creare canali derivati"
-#: ../../include/apps.php:138 ../../include/nav.php:202
-msgid "Mail"
-msgstr "Messaggi"
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Piuttosto avanzato - molto utile nelle comunità aperte"
-#: ../../include/apps.php:139 ../../mod/mood.php:131
-msgid "Mood"
-msgstr "Umore"
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
+msgstr "Può amministrare i contenuti del mio canale"
-#: ../../include/apps.php:140 ../../include/conversation.php:947
-msgid "Poke"
-msgstr "Poke"
+#: ../../include/permissions.php:48
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
-#: ../../include/apps.php:141 ../../include/nav.php:110
-msgid "Chat"
-msgstr "Area chat"
+#: ../../include/permissions.php:814
+msgid "Social Networking"
+msgstr "Social network"
-#: ../../include/apps.php:142 ../../include/text.php:821
-#: ../../include/text.php:835 ../../include/nav.php:174
-#: ../../mod/search.php:30
-msgid "Search"
-msgstr "Cerca"
+#: ../../include/permissions.php:815 ../../include/permissions.php:817
+#: ../../include/permissions.php:819
+msgid "Mostly Public"
+msgstr "Quasi sempre pubblico"
-#: ../../include/apps.php:143
-msgid "Probe"
-msgstr "Diagnostica"
+#: ../../include/permissions.php:815 ../../include/permissions.php:817
+#: ../../include/permissions.php:819
+msgid "Restricted"
+msgstr "Con restrizioni"
-#: ../../include/apps.php:144
-msgid "Suggest"
-msgstr "Suggerisci"
+#: ../../include/permissions.php:815 ../../include/permissions.php:817
+msgid "Private"
+msgstr "Privato"
-#: ../../include/apps.php:145
-msgid "Random Channel"
-msgstr "Canale casuale"
+#: ../../include/permissions.php:816
+msgid "Community Forum"
+msgstr "Forum di discussione"
-#: ../../include/apps.php:146
-msgid "Invite"
-msgstr "Invita"
+#: ../../include/permissions.php:818
+msgid "Feed Republish"
+msgstr "Aggregatore di feed esterni"
-#: ../../include/apps.php:147
-msgid "Features"
-msgstr "Funzionalità"
+#: ../../include/permissions.php:820
+msgid "Special Purpose"
+msgstr "Per finalità speciali"
-#: ../../include/apps.php:148
-msgid "Language"
-msgstr "Lingua"
+#: ../../include/permissions.php:821
+msgid "Celebrity/Soapbox"
+msgstr "Pagina per fan"
-#: ../../include/apps.php:149
-msgid "Post"
-msgstr "Articolo"
+#: ../../include/permissions.php:821
+msgid "Group Repository"
+msgstr "Repository di gruppo"
-#: ../../include/apps.php:150
-msgid "Profile Photo"
-msgstr "Foto del profilo"
+#: ../../include/permissions.php:822 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr "Altro"
-#: ../../include/apps.php:239 ../../mod/settings.php:79
-#: ../../mod/settings.php:545
-msgid "Update"
-msgstr "Aggiorna"
+#: ../../include/permissions.php:823
+msgid "Custom/Expert Mode"
+msgstr "Personalizzazione per esperti"
-#: ../../include/apps.php:239
-msgid "Install"
-msgstr "Installa"
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr "Ha creato un nuovo articolo"
-#: ../../include/apps.php:244
-msgid "Purchase"
-msgstr "Acquista"
+#: ../../include/notify.php:24
+#, php-format
+msgid "commented on %s's post"
+msgstr "ha commentato l'articolo di %s"
-#: ../../include/apps.php:246 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/reddav.php:1289
-#: ../../include/menu.php:42 ../../include/ItemObject.php:100
-#: ../../mod/settings.php:581 ../../mod/blocks.php:99
-#: ../../mod/connections.php:381 ../../mod/connections.php:394
-#: ../../mod/connections.php:413 ../../mod/editblock.php:111
-#: ../../mod/editlayout.php:106 ../../mod/editpost.php:112
-#: ../../mod/editwebpage.php:143 ../../mod/thing.php:235
-#: ../../mod/layouts.php:121 ../../mod/menu.php:59 ../../mod/webpages.php:132
-msgid "Edit"
-msgstr "Modifica"
+#: ../../include/taxonomy.php:210 ../../include/taxonomy.php:229
+msgid "Tags"
+msgstr "Tag"
-#: ../../include/apps.php:247 ../../include/conversation.php:638
-#: ../../include/reddav.php:1290 ../../include/ItemObject.php:120
-#: ../../mod/settings.php:582 ../../mod/connedit.php:462
-#: ../../mod/photos.php:1077 ../../mod/group.php:176 ../../mod/admin.php:732
-#: ../../mod/admin.php:863 ../../mod/thing.php:236
-msgid "Delete"
-msgstr "Elimina"
+#: ../../include/taxonomy.php:250 ../../include/contact_widgets.php:92
+#: ../../include/widgets.php:35
+msgid "Categories"
+msgstr "Categorie"
-#: ../../include/apps.php:328 ../../include/apps.php:379
-#: ../../include/conversation.php:999 ../../include/reddav.php:1202
-#: ../../mod/connedit.php:498
-msgid "Unknown"
-msgstr "Sconosciuto"
+#: ../../include/taxonomy.php:269
+msgid "Keywords"
+msgstr "Parole chiave"
+
+#: ../../include/taxonomy.php:294
+msgid "have"
+msgstr "ho"
+
+#: ../../include/taxonomy.php:294
+msgid "has"
+msgstr "ha"
+
+#: ../../include/taxonomy.php:295
+msgid "want"
+msgstr "voglio"
+
+#: ../../include/taxonomy.php:295
+msgid "wants"
+msgstr "vuole"
+
+#: ../../include/taxonomy.php:296 ../../include/ItemObject.php:221
+msgid "like"
+msgstr "mi piace"
+
+#: ../../include/taxonomy.php:296
+msgid "likes"
+msgstr "gli piace"
+
+#: ../../include/taxonomy.php:297 ../../include/ItemObject.php:222
+msgid "dislike"
+msgstr "non mi piace"
+
+#: ../../include/taxonomy.php:297
+msgid "dislikes"
+msgstr "non gli piace"
+
+#: ../../include/taxonomy.php:380 ../../include/identity.php:1148
+#: ../../include/ItemObject.php:146 ../../mod/photos.php:1027
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Mi piace"
+msgstr[1] "Mi piace"
#: ../../include/page_widgets.php:6
msgid "New Page"
msgstr "Nuova pagina web"
-#: ../../include/page_widgets.php:39 ../../mod/blocks.php:102
-#: ../../mod/layouts.php:125 ../../mod/webpages.php:135
+#: ../../include/page_widgets.php:39 ../../mod/webpages.php:165
+#: ../../mod/blocks.php:135 ../../mod/layouts.php:171
msgid "View"
msgstr "Guarda"
-#: ../../include/page_widgets.php:40 ../../include/conversation.php:1110
-#: ../../include/ItemObject.php:606 ../../mod/editblock.php:141
-#: ../../mod/editlayout.php:135 ../../mod/editpost.php:140
-#: ../../mod/editwebpage.php:174 ../../mod/photos.php:1028
-#: ../../mod/webpages.php:136
+#: ../../include/page_widgets.php:40 ../../include/conversation.php:1102
+#: ../../include/ItemObject.php:638 ../../mod/photos.php:998
+#: ../../mod/webpages.php:166
msgid "Preview"
msgstr "Anteprima"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:137
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:167
msgid "Actions"
msgstr "Azioni"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:138
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:168
msgid "Page Link"
msgstr "Link alla pagina"
-#: ../../include/page_widgets.php:43 ../../mod/webpages.php:139
+#: ../../include/page_widgets.php:43 ../../mod/webpages.php:169
msgid "Title"
msgstr "Titolo"
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:140
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:170
msgid "Created"
msgstr "Creato"
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:141
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:171
msgid "Edited"
msgstr "Modificato"
-#: ../../include/security.php:320
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "L'identificativo di sicurezza del modulo che hai riempito non è corretto. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
+#: ../../include/oembed.php:171
+msgid "Embedded content"
+msgstr "Contenuti incorporati"
-#: ../../include/zot.php:654
-msgid "Invalid data packet"
-msgstr "Dati non validi"
+#: ../../include/oembed.php:180
+msgid "Embedding disabled"
+msgstr "Disabilita la creazione di contenuti incorporati"
-#: ../../include/zot.php:670
-msgid "Unable to verify channel signature"
-msgstr "Impossibile verificare la firma elettronica del canale"
+#: ../../include/auth.php:130
+msgid "Logged out."
+msgstr "Uscita effettuata."
-#: ../../include/zot.php:1703
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Impossibile verificare la firma elettronica del sito %s"
+#: ../../include/auth.php:271
+msgid "Failed authentication"
+msgstr "Autenticazione fallita"
-#: ../../include/photos.php:15 ../../include/attach.php:119
-#: ../../include/attach.php:166 ../../include/attach.php:229
-#: ../../include/attach.php:243 ../../include/attach.php:283
-#: ../../include/attach.php:297 ../../include/attach.php:322
-#: ../../include/attach.php:513 ../../include/attach.php:585
-#: ../../include/chat.php:116 ../../include/items.php:3998
-#: ../../mod/mood.php:112 ../../mod/mitem.php:73 ../../mod/achievements.php:30
-#: ../../mod/settings.php:496 ../../mod/poke.php:128 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/authtest.php:13 ../../mod/profile.php:64
-#: ../../mod/profile.php:72 ../../mod/block.php:22 ../../mod/block.php:72
-#: ../../mod/profile_photo.php:263 ../../mod/profile_photo.php:276
-#: ../../mod/blocks.php:29 ../../mod/blocks.php:44 ../../mod/profiles.php:179
-#: ../../mod/profiles.php:560 ../../mod/bookmarks.php:46
-#: ../../mod/channel.php:89 ../../mod/channel.php:193
-#: ../../mod/channel.php:236 ../../mod/chat.php:90 ../../mod/chat.php:95
-#: ../../mod/register.php:70 ../../mod/regmod.php:17 ../../mod/common.php:35
-#: ../../mod/network.php:12 ../../mod/connections.php:169
-#: ../../mod/connedit.php:254 ../../mod/delegate.php:6 ../../mod/page.php:30
-#: ../../mod/page.php:80 ../../mod/setup.php:203 ../../mod/editblock.php:34
-#: ../../mod/pdledit.php:21 ../../mod/editlayout.php:48
-#: ../../mod/editpost.php:13 ../../mod/editwebpage.php:44
-#: ../../mod/editwebpage.php:83 ../../mod/photos.php:68
-#: ../../mod/photos.php:526 ../../mod/sources.php:66 ../../mod/events.php:200
-#: ../../mod/filestorage.php:10 ../../mod/filestorage.php:59
-#: ../../mod/filestorage.php:75 ../../mod/filestorage.php:98
-#: ../../mod/fsuggest.php:78 ../../mod/suggest.php:26 ../../mod/group.php:9
-#: ../../mod/thing.php:249 ../../mod/thing.php:266 ../../mod/thing.php:301
-#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/item.php:178
-#: ../../mod/item.php:186 ../../mod/item.php:922 ../../mod/layouts.php:27
-#: ../../mod/layouts.php:39 ../../mod/like.php:154
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/viewsrc.php:14 ../../mod/mail.php:108 ../../mod/manage.php:6
-#: ../../mod/menu.php:44 ../../mod/webpages.php:40 ../../mod/message.php:16
-#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
-#: ../../mod/notifications.php:66 ../../mod/appman.php:66
-#: ../../mod/service_limits.php:7 ../../index.php:186 ../../index.php:361
-msgid "Permission denied."
-msgstr "Permesso negato."
+#: ../../include/auth.php:285 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "Accesso fallito."
-#: ../../include/photos.php:104
+#: ../../include/photos.php:105
#, php-format
msgid "Image exceeds website size limit of %lu bytes"
msgstr "L'immagine supera il limite massimo di %lu bytes"
-#: ../../include/photos.php:111
+#: ../../include/photos.php:112
msgid "Image file is empty."
msgstr "Il file dell'immagine è vuoto."
-#: ../../include/photos.php:140 ../../mod/profile_photo.php:216
+#: ../../include/photos.php:141 ../../mod/profile_photo.php:216
msgid "Unable to process image"
msgstr "Impossibile elaborare l'immagine"
-#: ../../include/photos.php:212
+#: ../../include/photos.php:213
msgid "Photo storage failed."
msgstr "Impossibile caricare la foto."
-#: ../../include/photos.php:340 ../../include/conversation.php:1534
+#: ../../include/photos.php:341 ../../include/conversation.php:1533
msgid "Photo Albums"
msgstr "Album foto"
-#: ../../include/photos.php:344 ../../mod/photos.php:697
-#: ../../mod/photos.php:1238
+#: ../../include/photos.php:345
msgid "Upload New Photos"
msgstr "Carica nuove foto"
-#: ../../include/acl_selectors.php:240
-msgid "Visible to your default audience"
-msgstr "Visibile secondo le impostazioni predefinite"
-
-#: ../../include/acl_selectors.php:241
-msgid "Show"
-msgstr "Mostra"
-
-#: ../../include/acl_selectors.php:242
-msgid "Don't show"
-msgstr "Non mostrare"
-
-#: ../../include/acl_selectors.php:248 ../../mod/chat.php:209
-#: ../../mod/photos.php:604 ../../mod/photos.php:983
-#: ../../mod/filestorage.php:128
-msgid "Permissions"
-msgstr "Permessi"
-
-#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:303
-msgid "Close"
-msgstr "Chiudi"
-
#: ../../include/activities.php:39
msgid " and "
msgstr "e"
@@ -372,986 +467,869 @@ msgstr "e"
msgid "public profile"
msgstr "profilo pubblico"
-#: ../../include/activities.php:52
+#: ../../include/activities.php:56
#, php-format
msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr "%1$s ha cambiato %2$s in &ldquo;%3$s&rdquo;"
-#: ../../include/activities.php:53
+#: ../../include/activities.php:57
#, php-format
msgid "Visit %1$s's %2$s"
msgstr "Guarda %2$s di %1$s "
-#: ../../include/activities.php:56
+#: ../../include/activities.php:60
#, php-format
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
-#: ../../include/api.php:1069
-msgid "Public Timeline"
-msgstr "Diario pubblico"
+#: ../../include/bb2diaspora.php:366
+msgid "Attachments:"
+msgstr "Allegati:"
-#: ../../include/attach.php:224 ../../include/attach.php:278
-msgid "Item was not found."
-msgstr "Elemento non trovato."
+#: ../../include/bb2diaspora.php:445 ../../include/event.php:11
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
-#: ../../include/attach.php:335
-msgid "No source file."
-msgstr "Nessun file di origine."
+#: ../../include/bb2diaspora.php:447
+msgid "Redmatrix event notification:"
+msgstr "Notifica eventi RedMatrix:"
-#: ../../include/attach.php:352
-msgid "Cannot locate file to replace"
-msgstr "Il file da sostituire non è stato trovato"
+#: ../../include/bb2diaspora.php:451 ../../include/event.php:20
+msgid "Starts:"
+msgstr "Inizio:"
-#: ../../include/attach.php:370
-msgid "Cannot locate file to revise/update"
-msgstr "Il file da aggiornare non è stato trovato"
+#: ../../include/bb2diaspora.php:459 ../../include/event.php:30
+msgid "Finishes:"
+msgstr "Fine:"
-#: ../../include/attach.php:381
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Il file supera la dimensione massima di %d"
+#: ../../include/bb2diaspora.php:467 ../../include/event.php:40
+#: ../../include/identity.php:891 ../../mod/events.php:590
+#: ../../mod/directory.php:199
+msgid "Location:"
+msgstr "Luogo:"
-#: ../../include/attach.php:393
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
+#: ../../include/features.php:23
+msgid "General Features"
+msgstr "Funzionalità di base"
-#: ../../include/attach.php:475
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Caricamento file fallito, potrebbe aver superato i limiti o l'azione potrebbe essere stata interrotta."
+#: ../../include/features.php:25
+msgid "Content Expiration"
+msgstr "Scadenza"
-#: ../../include/attach.php:487
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Il file non può essere verificato. Caricamento fallito."
+#: ../../include/features.php:25
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Elimina gli articoli, i commenti o i messaggi privati dopo un lasso di tempo"
-#: ../../include/attach.php:528 ../../include/attach.php:545
-msgid "Path not available."
-msgstr "Percorso non disponibile."
+#: ../../include/features.php:26
+msgid "Multiple Profiles"
+msgstr "Profili multipli"
-#: ../../include/attach.php:590
-msgid "Empty pathname"
-msgstr "Il percorso del file è vuoto"
+#: ../../include/features.php:26
+msgid "Ability to create multiple profiles"
+msgstr "Abilitazione a creare profili multipli"
-#: ../../include/attach.php:606
-msgid "duplicate filename or path"
-msgstr "il file o percorso del file è duplicato"
+#: ../../include/features.php:27
+msgid "Advanced Profiles"
+msgstr "Profili avanzati"
-#: ../../include/attach.php:630
-msgid "Path not found."
-msgstr "Percorso del file non trovato."
+#: ../../include/features.php:27
+msgid "Additional profile sections and selections"
+msgstr "Informazioni aggiuntive del profilo"
-#: ../../include/attach.php:681
-msgid "mkdir failed."
-msgstr "mkdir fallito."
+#: ../../include/features.php:28
+msgid "Profile Import/Export"
+msgstr "Importa/esporta il profilo"
-#: ../../include/attach.php:685
-msgid "database storage failed."
-msgstr "scrittura su database fallita."
+#: ../../include/features.php:28
+msgid "Save and load profile details across sites/channels"
+msgstr "Salva o ripristina le informazioni del profilo su canali o siti diversi"
-#: ../../include/conversation.php:120 ../../include/text.php:1745
-#: ../../include/diaspora.php:1898 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:174 ../../mod/tagger.php:45 ../../mod/like.php:294
-msgid "photo"
-msgstr "la foto"
+#: ../../include/features.php:29
+msgid "Web Pages"
+msgstr "Pagine web"
-#: ../../include/conversation.php:123 ../../include/text.php:1748
-#: ../../mod/tagger.php:49
-msgid "event"
-msgstr "l'evento"
+#: ../../include/features.php:29
+msgid "Provide managed web pages on your channel"
+msgstr "Attiva la creazione di pagine web sul tuo canale"
-#: ../../include/conversation.php:126 ../../mod/like.php:89
-msgid "channel"
-msgstr "canale"
+#: ../../include/features.php:30
+msgid "Private Notes"
+msgstr "Note private"
-#: ../../include/conversation.php:148 ../../include/text.php:1751
-#: ../../include/diaspora.php:1898 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:174 ../../mod/tagger.php:53 ../../mod/like.php:294
-msgid "status"
-msgstr "il messaggio di stato"
+#: ../../include/features.php:30
+msgid "Enables a tool to store notes and reminders"
+msgstr "Abilita il riquadro per scrivere annotazioni"
-#: ../../include/conversation.php:150 ../../include/text.php:1753
-#: ../../mod/tagger.php:55
-msgid "comment"
-msgstr "il commento"
+#: ../../include/features.php:34
+msgid "Navigation Channel Select"
+msgstr "Scegli il canale attivo dal menu"
-#: ../../include/conversation.php:164 ../../include/diaspora.php:1927
-#: ../../mod/like.php:331
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "A %1$s piace %3$s di %2$s"
+#: ../../include/features.php:34
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Scegli il canale attivo direttamente dal menu di navigazione"
-#: ../../include/conversation.php:167 ../../mod/like.php:333
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "A %1$s non piace %3$s di %2$s"
+#: ../../include/features.php:38
+msgid "Extended Identity Sharing"
+msgstr "Condivisione avanzata dell'identità"
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s adesso è connesso con %2$s"
+#: ../../include/features.php:38
+msgid ""
+"Share your identity with all websites on the internet. When disabled, "
+"identity is only shared with sites in the matrix."
+msgstr "Rendi nota la tua identità a tutti i siti internet. Se disabilitato, la tua identità sarà comunicata solo ai siti RedMatrix."
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s ha mandato un poke a %2$s"
+#: ../../include/features.php:39
+msgid "Expert Mode"
+msgstr "Modalità esperto"
-#: ../../include/conversation.php:243 ../../include/text.php:903
-msgid "poked"
-msgstr "ha ricevuto un poke"
+#: ../../include/features.php:39
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate"
-#: ../../include/conversation.php:261 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s è %2$s"
+#: ../../include/features.php:40
+msgid "Premium Channel"
+msgstr "Canale premium"
-#: ../../include/conversation.php:637 ../../include/ItemObject.php:126
-msgid "Select"
-msgstr "Seleziona"
+#: ../../include/features.php:40
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Ti permette di impostare delle restrizioni e dei termini d'uso a chi segue il canale"
-#: ../../include/conversation.php:645 ../../include/ItemObject.php:89
-#: ../../mod/photos.php:875
-msgid "Private Message"
-msgstr "Messaggio privato"
+#: ../../include/features.php:45
+msgid "Post Composition Features"
+msgstr "Modalità di scrittura articoli"
-#: ../../include/conversation.php:652 ../../include/ItemObject.php:194
-msgid "Message is verified"
-msgstr "Messaggio verificato"
+#: ../../include/features.php:47
+msgid "Use Markdown"
+msgstr "Usa il markdown"
-#: ../../include/conversation.php:671
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Vedi il profilo di %s @ %s"
+#: ../../include/features.php:47
+msgid "Allow use of \"Markdown\" to format posts"
+msgstr "Consenti l'uso del markdown per formattare gli articoli"
-#: ../../include/conversation.php:685
-msgid "Categories:"
-msgstr "Categorie:"
+#: ../../include/features.php:49 ../../include/widgets.php:527
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Sorgenti del canale"
-#: ../../include/conversation.php:686
-msgid "Filed under:"
-msgstr "Classificato come:"
+#: ../../include/features.php:49
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Importa automaticamente il contenuto del canale da altri canali o feed"
-#: ../../include/conversation.php:694 ../../include/ItemObject.php:264
-#, php-format
-msgid " from %s"
-msgstr " da %s"
+#: ../../include/features.php:50
+msgid "Even More Encryption"
+msgstr "Crittografia addizionale"
-#: ../../include/conversation.php:697 ../../include/ItemObject.php:267
-#, php-format
-msgid "last edited: %s"
-msgstr "ultima modifica: %s"
+#: ../../include/features.php:50
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Rendi possibile la crittografia tra mittente e destinatario che condividono una chiave segreta"
-#: ../../include/conversation.php:698 ../../include/ItemObject.php:268
-#, php-format
-msgid "Expires: %s"
-msgstr "Scadenza: %s"
+#: ../../include/features.php:51
+msgid "Flag Adult Photos"
+msgstr "Marca le foto per adulti"
-#: ../../include/conversation.php:713
-msgid "View in context"
-msgstr "Vedi nel contesto"
+#: ../../include/features.php:51
+msgid "Provide photo edit option to hide adult photos from default album view"
+msgstr "Permette di marcare e nascondere negli album le foto per adulti"
-#: ../../include/conversation.php:715 ../../include/conversation.php:1149
-#: ../../include/ItemObject.php:308 ../../mod/editblock.php:120
-#: ../../mod/editlayout.php:115 ../../mod/editpost.php:121
-#: ../../mod/editwebpage.php:152 ../../mod/photos.php:1008
-#: ../../mod/mail.php:231 ../../mod/mail.php:346
-msgid "Please wait"
-msgstr "Attendere"
+#: ../../include/features.php:56
+msgid "Network and Stream Filtering"
+msgstr "Filtraggio dei contenuti"
-#: ../../include/conversation.php:839
-msgid "remove"
-msgstr "rimuovi"
+#: ../../include/features.php:57
+msgid "Search by Date"
+msgstr "Ricerca per data"
-#: ../../include/conversation.php:843 ../../include/nav.php:249
-msgid "Loading..."
-msgstr "Caricamento in corso..."
+#: ../../include/features.php:57
+msgid "Ability to select posts by date ranges"
+msgstr "Per selezionare gli articoli in un intervallo tra date"
-#: ../../include/conversation.php:844
-msgid "Delete Selected Items"
-msgstr "Elimina gli oggetti selezionati"
+#: ../../include/features.php:58
+msgid "Collections Filter"
+msgstr "Filtra per insiemi di canali"
-#: ../../include/conversation.php:938
-msgid "View Source"
-msgstr "Vedi il sorgente"
+#: ../../include/features.php:58
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr "Mostra il riquadro per filtrare gli articoli di certi insiemi di canali"
-#: ../../include/conversation.php:939
-msgid "Follow Thread"
-msgstr "Segui la discussione"
+#: ../../include/features.php:59 ../../include/widgets.php:272
+msgid "Saved Searches"
+msgstr "Ricerche salvate"
-#: ../../include/conversation.php:940
-msgid "View Status"
-msgstr "Guarda il messaggio di stato"
+#: ../../include/features.php:59
+msgid "Save search terms for re-use"
+msgstr "Salva i termini delle ricerche per poterle ripetere"
-#: ../../include/conversation.php:941 ../../include/nav.php:98
-#: ../../mod/connedit.php:415 ../../mod/connedit.php:529
-msgid "View Profile"
-msgstr "Profilo"
+#: ../../include/features.php:60
+msgid "Network Personal Tab"
+msgstr "Attività personale"
-#: ../../include/conversation.php:942
-msgid "View Photos"
-msgstr "Guarda le foto"
+#: ../../include/features.php:60
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
-#: ../../include/conversation.php:943
-msgid "Matrix Activity"
-msgstr "Attività nella tua rete"
+#: ../../include/features.php:61
+msgid "Network New Tab"
+msgstr "Contenuti nuovi"
-#: ../../include/conversation.php:944 ../../include/identity.php:784
-#: ../../include/widgets.php:135 ../../include/widgets.php:175
-#: ../../include/Contact.php:107 ../../mod/directory.php:183
-#: ../../mod/dirprofile.php:164 ../../mod/suggest.php:51
-#: ../../mod/match.php:62
-msgid "Connect"
-msgstr "Aggiungi"
+#: ../../include/features.php:61
+msgid "Enable tab to display all new Network activity"
+msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
-#: ../../include/conversation.php:945
-msgid "Edit Contact"
-msgstr "Modifica il contatto"
+#: ../../include/features.php:62
+msgid "Affinity Tool"
+msgstr "Filtro per affinità"
-#: ../../include/conversation.php:946
-msgid "Send PM"
-msgstr "Invia messaggio privato"
+#: ../../include/features.php:62
+msgid "Filter stream activity by depth of relationships"
+msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
-#: ../../include/conversation.php:1020
-#, php-format
-msgid "%s likes this."
-msgstr "Piace a %s."
+#: ../../include/features.php:63
+msgid "Suggest Channels"
+msgstr "Suggerisci canali"
-#: ../../include/conversation.php:1020
-#, php-format
-msgid "%s doesn't like this."
-msgstr "Non piace a %s."
+#: ../../include/features.php:63
+msgid "Show channel suggestions"
+msgstr "Mostra alcuni canali che potrebbero interessarti"
-#: ../../include/conversation.php:1024
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] ""
-msgstr[1] "Piace a <span %1$s>%2$d persone</span>."
+#: ../../include/features.php:68
+msgid "Post/Comment Tools"
+msgstr "Gestione articoli e commenti"
-#: ../../include/conversation.php:1026
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] ""
-msgstr[1] "Non piace a <span %1$s>%2$d persone</span>."
+#: ../../include/features.php:71
+msgid "Tagging"
+msgstr "Tag"
-#: ../../include/conversation.php:1032
-msgid "and"
-msgstr "e"
+#: ../../include/features.php:71
+msgid "Ability to tag existing posts"
+msgstr "Permetti l'aggiunta di tag su articoli già esistenti"
-#: ../../include/conversation.php:1035
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] "e altre %d persone"
+#: ../../include/features.php:72
+msgid "Post Categories"
+msgstr "Categorie degli articoli"
-#: ../../include/conversation.php:1036
-#, php-format
-msgid "%s like this."
-msgstr "Piace a %s."
+#: ../../include/features.php:72
+msgid "Add categories to your posts"
+msgstr "Abilita le categorie per i tuoi articoli"
-#: ../../include/conversation.php:1036
-#, php-format
-msgid "%s don't like this."
-msgstr "Non piace a %s."
+#: ../../include/features.php:73 ../../include/contact_widgets.php:57
+#: ../../include/widgets.php:302
+msgid "Saved Folders"
+msgstr "Cartelle salvate"
-#: ../../include/conversation.php:1093
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Visibile a <strong>tutti</strong>"
+#: ../../include/features.php:73
+msgid "Ability to file posts under folders"
+msgstr "Abilita la raccolta dei tuoi articoli in cartelle"
-#: ../../include/conversation.php:1094 ../../mod/mail.php:167
-#: ../../mod/mail.php:279
-msgid "Please enter a link URL:"
-msgstr "Inserisci l'indirizzo del link:"
+#: ../../include/features.php:74
+msgid "Dislike Posts"
+msgstr "Non mi piace"
-#: ../../include/conversation.php:1095
-msgid "Please enter a video link/URL:"
-msgstr "Inserisci l'indirizzo del video:"
+#: ../../include/features.php:74
+msgid "Ability to dislike posts/comments"
+msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi articoli"
-#: ../../include/conversation.php:1096
-msgid "Please enter an audio link/URL:"
-msgstr "Inserisci l'indirizzo dell'audio:"
+#: ../../include/features.php:75
+msgid "Star Posts"
+msgstr "Articoli stella (preferiti)"
-#: ../../include/conversation.php:1097
-msgid "Tag term:"
-msgstr "Tag:"
+#: ../../include/features.php:75
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Mostra la stella per scegliere gli articoli preferiti"
-#: ../../include/conversation.php:1098 ../../mod/filer.php:49
-msgid "Save to Folder:"
-msgstr "Salva nella cartella:"
+#: ../../include/features.php:76
+msgid "Tag Cloud"
+msgstr "Nuvola di tag"
-#: ../../include/conversation.php:1099
-msgid "Where are you right now?"
-msgstr "Dove sei ora?"
+#: ../../include/features.php:76
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
-#: ../../include/conversation.php:1100 ../../mod/editpost.php:52
-#: ../../mod/mail.php:168 ../../mod/mail.php:280
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Scade il YYYY-MM-DD HH:MM"
+#: ../../include/RedDAV/RedBrowser.php:106
+#: ../../include/RedDAV/RedBrowser.php:260
+msgid "parent"
+msgstr "cartella superiore"
-#: ../../include/conversation.php:1124 ../../mod/photos.php:1007
-#: ../../mod/layouts.php:122
-msgid "Share"
-msgstr "Condividi"
+#: ../../include/RedDAV/RedBrowser.php:130
+msgid "Collection"
+msgstr "Cartella"
-#: ../../include/conversation.php:1126 ../../mod/editwebpage.php:139
-msgid "Page link title"
-msgstr "Link del titolo"
+#: ../../include/RedDAV/RedBrowser.php:133
+msgid "Principal"
+msgstr "Principale"
-#: ../../include/conversation.php:1129
-msgid "Post as"
-msgstr "Pubblica come "
+#: ../../include/RedDAV/RedBrowser.php:136
+msgid "Addressbook"
+msgstr "Rubrica"
-#: ../../include/conversation.php:1130 ../../mod/editblock.php:112
-#: ../../mod/editlayout.php:107 ../../mod/editpost.php:113
-#: ../../mod/editwebpage.php:144 ../../mod/mail.php:228 ../../mod/mail.php:342
-msgid "Upload photo"
-msgstr "Carica foto"
+#: ../../include/RedDAV/RedBrowser.php:139
+msgid "Calendar"
+msgstr "Calendario"
-#: ../../include/conversation.php:1131
-msgid "upload photo"
-msgstr "carica foto"
+#: ../../include/RedDAV/RedBrowser.php:142
+msgid "Schedule Inbox"
+msgstr "Appuntamenti ricevuti"
-#: ../../include/conversation.php:1132 ../../mod/editblock.php:113
-#: ../../mod/editlayout.php:108 ../../mod/editpost.php:114
-#: ../../mod/editwebpage.php:145 ../../mod/mail.php:229 ../../mod/mail.php:343
-msgid "Attach file"
-msgstr "Allega file"
+#: ../../include/RedDAV/RedBrowser.php:145
+msgid "Schedule Outbox"
+msgstr "Appuntamenti inviati"
-#: ../../include/conversation.php:1133
-msgid "attach file"
-msgstr "allega file"
+#: ../../include/RedDAV/RedBrowser.php:163 ../../include/conversation.php:992
+#: ../../include/apps.php:336 ../../include/apps.php:387
+#: ../../mod/connedit.php:513 ../../mod/photos.php:713
+#: ../../mod/photos.php:1132
+msgid "Unknown"
+msgstr "Sconosciuto"
-#: ../../include/conversation.php:1134 ../../mod/editblock.php:114
-#: ../../mod/editlayout.php:109 ../../mod/editpost.php:115
-#: ../../mod/editwebpage.php:146 ../../mod/mail.php:230 ../../mod/mail.php:344
-msgid "Insert web link"
-msgstr "Inserisci un indirizzo web"
+#: ../../include/RedDAV/RedBrowser.php:223
+#, php-format
+msgid "%1$s used"
+msgstr "%1$s occupati"
-#: ../../include/conversation.php:1135
-msgid "web link"
-msgstr "link web"
+#: ../../include/RedDAV/RedBrowser.php:228
+#, php-format
+msgid "%1$s used of %2$s (%3$s&#37;)"
+msgstr "%1$s occupati di %2$s (%3$s&#37;)"
-#: ../../include/conversation.php:1136
-msgid "Insert video link"
-msgstr "Inserisci l'indirizzo di un video"
+#: ../../include/RedDAV/RedBrowser.php:247 ../../include/conversation.php:1539
+#: ../../include/apps.php:135 ../../include/nav.php:106
+#: ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "Archivio file"
-#: ../../include/conversation.php:1137
-msgid "video link"
-msgstr "link video"
+#: ../../include/RedDAV/RedBrowser.php:249
+msgid "Total"
+msgstr "Totale"
-#: ../../include/conversation.php:1138
-msgid "Insert audio link"
-msgstr "Inserisci l'indirizzo di un audio"
+#: ../../include/RedDAV/RedBrowser.php:256 ../../mod/settings.php:567
+#: ../../mod/settings.php:593 ../../mod/admin.php:866
+msgid "Name"
+msgstr "Nome"
-#: ../../include/conversation.php:1139
-msgid "audio link"
-msgstr "link audio"
+#: ../../include/RedDAV/RedBrowser.php:257
+msgid "Type"
+msgstr "Tipo"
-#: ../../include/conversation.php:1140 ../../mod/editblock.php:118
-#: ../../mod/editlayout.php:113 ../../mod/editpost.php:119
-#: ../../mod/editwebpage.php:150
-msgid "Set your location"
-msgstr "La tua località"
+#: ../../include/RedDAV/RedBrowser.php:258
+msgid "Size"
+msgstr "Dimensione"
-#: ../../include/conversation.php:1141
-msgid "set location"
-msgstr "la tua località"
+#: ../../include/RedDAV/RedBrowser.php:259
+msgid "Last Modified"
+msgstr "Ultima modifica"
-#: ../../include/conversation.php:1142 ../../mod/editblock.php:119
-#: ../../mod/editlayout.php:114 ../../mod/editpost.php:120
-#: ../../mod/editwebpage.php:151
-msgid "Clear browser location"
-msgstr "Rimuovi la località data dal browser"
+#: ../../include/RedDAV/RedBrowser.php:262 ../../include/conversation.php:639
+#: ../../include/ItemObject.php:120 ../../include/apps.php:255
+#: ../../mod/settings.php:628 ../../mod/group.php:176
+#: ../../mod/connedit.php:476 ../../mod/photos.php:1070
+#: ../../mod/thing.php:234 ../../mod/admin.php:730 ../../mod/admin.php:861
+msgid "Delete"
+msgstr "Elimina"
-#: ../../include/conversation.php:1143
-msgid "clear location"
-msgstr "rimuovi la località"
+#: ../../include/RedDAV/RedBrowser.php:310
+msgid "Create new folder"
+msgstr "Crea una nuova cartella"
-#: ../../include/conversation.php:1145 ../../mod/editblock.php:132
-#: ../../mod/editlayout.php:126 ../../mod/editpost.php:132
-#: ../../mod/editwebpage.php:167
-msgid "Set title"
-msgstr "Scegli un titolo"
+#: ../../include/RedDAV/RedBrowser.php:311 ../../mod/mitem.php:169
+#: ../../mod/menu.php:100 ../../mod/new_channel.php:124
+msgid "Create"
+msgstr "Crea"
-#: ../../include/conversation.php:1148 ../../mod/editblock.php:135
-#: ../../mod/editlayout.php:129 ../../mod/editpost.php:134
-#: ../../mod/editwebpage.php:169 ../../mod/events.php:560
-msgid "Categories (comma-separated list)"
-msgstr "Categorie (separate da virgola)"
+#: ../../include/RedDAV/RedBrowser.php:312
+msgid "Upload file"
+msgstr "Carica un file"
-#: ../../include/conversation.php:1150 ../../mod/editblock.php:121
-#: ../../mod/editlayout.php:116 ../../mod/editpost.php:122
-#: ../../mod/editwebpage.php:153
-msgid "Permission settings"
-msgstr "Impostazioni permessi"
+#: ../../include/RedDAV/RedBrowser.php:313 ../../mod/photos.php:738
+#: ../../mod/photos.php:1246 ../../mod/profile_photo.php:361
+msgid "Upload"
+msgstr "Carica"
-#: ../../include/conversation.php:1151
-msgid "permissions"
-msgstr "permessi"
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "I segnalibri di %1$s"
-#: ../../include/conversation.php:1158 ../../mod/editblock.php:129
-#: ../../mod/editlayout.php:123 ../../mod/editpost.php:129
-#: ../../mod/editwebpage.php:162
-msgid "Public post"
-msgstr "Articolo pubblico"
+#: ../../include/dir_fns.php:68
+msgid "Directory Options"
+msgstr "Opzioni elenco pubblico"
-#: ../../include/conversation.php:1160 ../../mod/editblock.php:136
-#: ../../mod/editlayout.php:130 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:170
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Per esempio: mario@esempio.com, simona@esempio.com"
+#: ../../include/dir_fns.php:69
+msgid "Alphabetic"
+msgstr "Alfabetico"
-#: ../../include/conversation.php:1173 ../../mod/editblock.php:146
-#: ../../mod/editlayout.php:140 ../../mod/editpost.php:146
-#: ../../mod/editwebpage.php:179 ../../mod/mail.php:235 ../../mod/mail.php:349
-msgid "Set expiration date"
-msgstr "Data di scadenza"
+#: ../../include/dir_fns.php:70
+msgid "Reverse Alphabetic"
+msgstr "Alfabetico inverso"
-#: ../../include/conversation.php:1175 ../../include/ItemObject.php:609
-#: ../../mod/editpost.php:148 ../../mod/mail.php:237 ../../mod/mail.php:351
-msgid "Encrypt text"
-msgstr "Crittografia del testo"
+#: ../../include/dir_fns.php:71
+msgid "Newest to Oldest"
+msgstr "Prima i più recenti"
-#: ../../include/conversation.php:1177 ../../mod/editpost.php:150
-#: ../../mod/events.php:567
-msgid "OK"
-msgstr "OK"
+#: ../../include/dir_fns.php:72
+msgid "Oldest to Newest"
+msgstr "Prima i più vecchi"
-#: ../../include/conversation.php:1178 ../../mod/settings.php:520
-#: ../../mod/settings.php:546 ../../mod/editpost.php:151
-#: ../../mod/fbrowser.php:82 ../../mod/fbrowser.php:117
-#: ../../mod/events.php:566 ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
-msgid "Cancel"
-msgstr "Annulla"
+#: ../../include/dir_fns.php:73
+msgid "Public Forums Only"
+msgstr "Solo forum pubblici"
-#: ../../include/conversation.php:1420
-msgid "Discover"
-msgstr "Scopri"
+#: ../../include/dir_fns.php:75
+msgid "Sort"
+msgstr "Ordinamento"
-#: ../../include/conversation.php:1423
-msgid "Imported public streams"
-msgstr "Contenuti pubblici importati"
+#: ../../include/dir_fns.php:91
+msgid "Enable Safe Search"
+msgstr "Abilita SafeSearch"
-#: ../../include/conversation.php:1428
-msgid "Commented Order"
-msgstr "Ultimi commenti"
+#: ../../include/dir_fns.php:93
+msgid "Disable Safe Search"
+msgstr "Disabilita SafeSearch"
-#: ../../include/conversation.php:1431
-msgid "Sort by Comment Date"
-msgstr "Per data del commento"
+#: ../../include/dir_fns.php:95
+msgid "Safe Mode"
+msgstr "Modalità SafeSearch"
-#: ../../include/conversation.php:1435
-msgid "Posted Order"
-msgstr "Ultimi articoli"
+#: ../../include/comanche.php:35 ../../mod/admin.php:353
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
+msgstr "Predefinito"
-#: ../../include/conversation.php:1438
-msgid "Sort by Post Date"
-msgstr "Per data di creazione"
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
+msgstr "Frequentemente"
-#: ../../include/conversation.php:1443 ../../include/widgets.php:89
-msgid "Personal"
-msgstr "Personali"
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
+msgstr "Ogni ora"
-#: ../../include/conversation.php:1446
-msgid "Posts that mention or involve you"
-msgstr "Articoli che ti riguardano o ti menzionano"
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
+msgstr "Due volte al giorno"
-#: ../../include/conversation.php:1452 ../../mod/connections.php:211
-#: ../../mod/connections.php:224 ../../mod/menu.php:61
-msgid "New"
-msgstr "Novità"
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
+msgstr "Ogni giorno"
-#: ../../include/conversation.php:1455
-msgid "Activity Stream - by date"
-msgstr "Elenco attività - per data"
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "Ogni settimana"
-#: ../../include/conversation.php:1461
-msgid "Starred"
-msgstr "Preferiti"
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "Ogni mese"
-#: ../../include/conversation.php:1464
-msgid "Favourite Posts"
-msgstr "Articoli preferiti"
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../include/conversation.php:1471
-msgid "Spam"
-msgstr "Spam"
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../include/conversation.php:1474
-msgid "Posts flagged as SPAM"
-msgstr "Articoli marcati come spam"
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../include/conversation.php:1510 ../../mod/admin.php:867
-msgid "Channel"
-msgstr "Canale"
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:726
+#: ../../mod/admin.php:735 ../../boot.php:1542
+msgid "Email"
+msgstr "Email"
-#: ../../include/conversation.php:1513
-msgid "Status Messages and Posts"
-msgstr "Articoli e messaggi di stato"
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../include/conversation.php:1522
-msgid "About"
-msgstr "Informazioni"
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../include/conversation.php:1525
-msgid "Profile Details"
-msgstr "Dettagli del profilo"
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
-#: ../../include/conversation.php:1543
-msgid "Files and Storage"
-msgstr "Archivio file"
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../include/conversation.php:1552 ../../include/conversation.php:1555
-msgid "Chatrooms"
-msgstr "Area chat"
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../include/conversation.php:1567
-msgid "Saved Bookmarks"
-msgstr "Segnalibri salvati"
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "MySpace"
-#: ../../include/conversation.php:1578
-msgid "Manage Webpages"
-msgstr "Gestisci le pagine web"
+#: ../../include/acl_selectors.php:240
+msgid "Visible to your default audience"
+msgstr "Visibile secondo le impostazioni predefinite"
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr "I segnalibri di %1$s"
+#: ../../include/acl_selectors.php:241
+msgid "Show"
+msgstr "Mostra"
-#: ../../include/text.php:321
+#: ../../include/acl_selectors.php:242
+msgid "Don't show"
+msgstr "Non mostrare"
+
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:596
+#: ../../mod/chat.php:209 ../../mod/photos.php:588 ../../mod/photos.php:950
+#: ../../mod/filestorage.php:137
+msgid "Permissions"
+msgstr "Permessi"
+
+#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:320
+#: ../../mod/photos.php:1149
+msgid "Close"
+msgstr "Chiudi"
+
+#: ../../include/text.php:320
msgid "prev"
msgstr "prec"
-#: ../../include/text.php:323
+#: ../../include/text.php:322
msgid "first"
msgstr "inizio"
-#: ../../include/text.php:352
+#: ../../include/text.php:351
msgid "last"
msgstr "fine"
-#: ../../include/text.php:355
+#: ../../include/text.php:354
msgid "next"
msgstr "succ"
-#: ../../include/text.php:367
+#: ../../include/text.php:366
msgid "older"
msgstr "più recenti"
-#: ../../include/text.php:369
+#: ../../include/text.php:368
msgid "newer"
msgstr "più nuovi"
-#: ../../include/text.php:736
+#: ../../include/text.php:756
msgid "No connections"
msgstr "Nessun contatto"
-#: ../../include/text.php:749
+#: ../../include/text.php:772
#, php-format
msgid "%d Connection"
msgid_plural "%d Connections"
msgstr[0] "%d contatto"
msgstr[1] "%d contatti"
-#: ../../include/text.php:762
+#: ../../include/text.php:785
msgid "View Connections"
msgstr "Elenco contatti"
-#: ../../include/text.php:823 ../../include/text.php:837
-#: ../../include/widgets.php:193 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1341
-#: ../../mod/admin.php:1362
+#: ../../include/text.php:842 ../../include/text.php:854
+#: ../../include/apps.php:147 ../../include/nav.php:173
+#: ../../mod/search.php:30
+msgid "Search"
+msgstr "Cerca"
+
+#: ../../include/text.php:843 ../../include/text.php:855
+#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
+#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1339
+#: ../../mod/admin.php:1360
msgid "Save"
msgstr "Salva"
-#: ../../include/text.php:903
+#: ../../include/text.php:920
msgid "poke"
msgstr "poke"
-#: ../../include/text.php:904
+#: ../../include/text.php:920 ../../include/conversation.php:243
+msgid "poked"
+msgstr "ha ricevuto un poke"
+
+#: ../../include/text.php:921
msgid "ping"
msgstr "ping"
-#: ../../include/text.php:904
+#: ../../include/text.php:921
msgid "pinged"
msgstr "ha ricevuto un ping"
-#: ../../include/text.php:905
+#: ../../include/text.php:922
msgid "prod"
-msgstr "prod"
+msgstr "spintone"
-#: ../../include/text.php:905
+#: ../../include/text.php:922
msgid "prodded"
-msgstr "ha ricevuto un prod"
+msgstr "ha ricevuto uno spintone"
-#: ../../include/text.php:906
+#: ../../include/text.php:923
msgid "slap"
msgstr "schiaffo"
-#: ../../include/text.php:906
+#: ../../include/text.php:923
msgid "slapped"
msgstr "ha ricevuto uno schiaffo"
-#: ../../include/text.php:907
+#: ../../include/text.php:924
msgid "finger"
msgstr "finger"
-#: ../../include/text.php:907
+#: ../../include/text.php:924
msgid "fingered"
msgstr "ha ricevuto un finger"
-#: ../../include/text.php:908
+#: ../../include/text.php:925
msgid "rebuff"
msgstr "rifiuto"
-#: ../../include/text.php:908
+#: ../../include/text.php:925
msgid "rebuffed"
msgstr "ha ricevuto un rifiuto"
-#: ../../include/text.php:917
+#: ../../include/text.php:935
msgid "happy"
msgstr "felice"
-#: ../../include/text.php:918
+#: ../../include/text.php:936
msgid "sad"
msgstr "triste"
-#: ../../include/text.php:919
+#: ../../include/text.php:937
msgid "mellow"
msgstr "calmo"
-#: ../../include/text.php:920
+#: ../../include/text.php:938
msgid "tired"
msgstr "stanco"
-#: ../../include/text.php:921
+#: ../../include/text.php:939
msgid "perky"
msgstr "vivace"
-#: ../../include/text.php:922
+#: ../../include/text.php:940
msgid "angry"
msgstr "arrabbiato"
-#: ../../include/text.php:923
+#: ../../include/text.php:941
msgid "stupified"
msgstr "stordito"
-#: ../../include/text.php:924
+#: ../../include/text.php:942
msgid "puzzled"
msgstr "confuso"
-#: ../../include/text.php:925
+#: ../../include/text.php:943
msgid "interested"
msgstr "attento"
-#: ../../include/text.php:926
+#: ../../include/text.php:944
msgid "bitter"
msgstr "amaro"
-#: ../../include/text.php:927
+#: ../../include/text.php:945
msgid "cheerful"
msgstr "allegro"
-#: ../../include/text.php:928
+#: ../../include/text.php:946
msgid "alive"
msgstr "vivace"
-#: ../../include/text.php:929
+#: ../../include/text.php:947
msgid "annoyed"
msgstr "seccato"
-#: ../../include/text.php:930
+#: ../../include/text.php:948
msgid "anxious"
msgstr "ansioso"
-#: ../../include/text.php:931
+#: ../../include/text.php:949
msgid "cranky"
msgstr "irritabile"
-#: ../../include/text.php:932
+#: ../../include/text.php:950
msgid "disturbed"
msgstr "turbato"
-#: ../../include/text.php:933
+#: ../../include/text.php:951
msgid "frustrated"
msgstr "frustrato"
-#: ../../include/text.php:934
+#: ../../include/text.php:952
msgid "depressed"
msgstr "in depressione"
-#: ../../include/text.php:935
+#: ../../include/text.php:953
msgid "motivated"
msgstr "motivato"
-#: ../../include/text.php:936
+#: ../../include/text.php:954
msgid "relaxed"
msgstr "rilassato"
-#: ../../include/text.php:937
+#: ../../include/text.php:955
msgid "surprised"
msgstr "sorpreso"
-#: ../../include/text.php:1101
+#: ../../include/text.php:1121
msgid "Monday"
msgstr "lunedì"
-#: ../../include/text.php:1101
+#: ../../include/text.php:1121
msgid "Tuesday"
msgstr "martedì"
-#: ../../include/text.php:1101
+#: ../../include/text.php:1121
msgid "Wednesday"
msgstr "mercoledì"
-#: ../../include/text.php:1101
+#: ../../include/text.php:1121
msgid "Thursday"
msgstr "giovedì"
-#: ../../include/text.php:1101
+#: ../../include/text.php:1121
msgid "Friday"
msgstr "venerdì"
-#: ../../include/text.php:1101
+#: ../../include/text.php:1121
msgid "Saturday"
msgstr "sabato"
-#: ../../include/text.php:1101
+#: ../../include/text.php:1121
msgid "Sunday"
msgstr "domenica"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "January"
msgstr "gennaio"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "February"
msgstr "febbraio"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "March"
msgstr "marzo"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "April"
msgstr "aprile"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "May"
msgstr "maggio"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "June"
msgstr "giugno"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "July"
msgstr "luglio"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "August"
msgstr "agosto"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "September"
msgstr "settembre"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "October"
msgstr "ottobre"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "November"
msgstr "novembre"
-#: ../../include/text.php:1105
+#: ../../include/text.php:1125
msgid "December"
msgstr "dicembre"
-#: ../../include/text.php:1183
+#: ../../include/text.php:1203
msgid "unknown.???"
msgstr "sconosciuto???"
-#: ../../include/text.php:1184
+#: ../../include/text.php:1204
msgid "bytes"
msgstr "byte"
-#: ../../include/text.php:1223
+#: ../../include/text.php:1240
msgid "remove category"
msgstr "rimuovi la categoria"
-#: ../../include/text.php:1293
+#: ../../include/text.php:1309
msgid "remove from file"
msgstr "rimuovi dal file"
-#: ../../include/text.php:1358 ../../include/text.php:1370
+#: ../../include/text.php:1385 ../../include/text.php:1396
msgid "Click to open/close"
msgstr "Clicca per aprire/chiudere"
-#: ../../include/text.php:1525 ../../mod/events.php:414
+#: ../../include/text.php:1544 ../../mod/events.php:414
msgid "Link to Source"
msgstr "Link al sito d'origine"
-#: ../../include/text.php:1544
+#: ../../include/text.php:1563
msgid "Select a page layout: "
msgstr "Scegli il layout della pagina:"
-#: ../../include/text.php:1547 ../../include/text.php:1612
+#: ../../include/text.php:1566 ../../include/text.php:1626
msgid "default"
msgstr "predefinito"
-#: ../../include/text.php:1583
+#: ../../include/text.php:1599
msgid "Page content type: "
msgstr "Contenuto della pagina:"
-#: ../../include/text.php:1624
+#: ../../include/text.php:1638
msgid "Select an alternate language"
msgstr "Seleziona una lingua diversa"
-#: ../../include/text.php:1758
+#: ../../include/text.php:1757 ../../include/conversation.php:120
+#: ../../include/diaspora.php:1928 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/like.php:290 ../../mod/tagger.php:45
+msgid "photo"
+msgstr "la foto"
+
+#: ../../include/text.php:1760 ../../include/conversation.php:123
+#: ../../mod/tagger.php:49
+msgid "event"
+msgstr "l'evento"
+
+#: ../../include/text.php:1763 ../../include/conversation.php:148
+#: ../../include/diaspora.php:1928 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/like.php:290 ../../mod/tagger.php:53
+msgid "status"
+msgstr "il messaggio di stato"
+
+#: ../../include/text.php:1765 ../../include/conversation.php:150
+#: ../../mod/tagger.php:55
+msgid "comment"
+msgstr "il commento"
+
+#: ../../include/text.php:1770
msgid "activity"
msgstr "l'attività"
-#: ../../include/text.php:2030
+#: ../../include/text.php:2057
msgid "Design"
msgstr "Design"
-#: ../../include/text.php:2032
+#: ../../include/text.php:2060
msgid "Blocks"
msgstr "Riquadri"
-#: ../../include/text.php:2033
+#: ../../include/text.php:2061
msgid "Menus"
msgstr "Menù"
-#: ../../include/text.php:2034
+#: ../../include/text.php:2062
msgid "Layouts"
msgstr "Layout"
-#: ../../include/text.php:2035
+#: ../../include/text.php:2063
msgid "Pages"
msgstr "Pagine"
-#: ../../include/taxonomy.php:210
-msgid "Tags"
-msgstr "Tag"
-
-#: ../../include/taxonomy.php:227
-msgid "Keywords"
-msgstr "Parole chiave"
-
-#: ../../include/taxonomy.php:252
-msgid "have"
-msgstr "ho"
-
-#: ../../include/taxonomy.php:252
-msgid "has"
-msgstr "ha"
-
-#: ../../include/taxonomy.php:253
-msgid "want"
-msgstr "voglio"
-
-#: ../../include/taxonomy.php:253
-msgid "wants"
-msgstr "vuole"
-
-#: ../../include/taxonomy.php:254 ../../include/ItemObject.php:220
-msgid "like"
-msgstr "mi piace"
-
-#: ../../include/taxonomy.php:254
-msgid "likes"
-msgstr "mi piace"
-
-#: ../../include/taxonomy.php:255 ../../include/ItemObject.php:221
-msgid "dislike"
-msgstr "non mi piace"
-
-#: ../../include/taxonomy.php:255
-msgid "dislikes"
-msgstr "non mi piace"
-
-#: ../../include/taxonomy.php:338 ../../include/identity.php:1090
-#: ../../include/ItemObject.php:146
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Mi piace"
-msgstr[1] "Mi piace"
-
-#: ../../include/comanche.php:35 ../../view/theme/apw/php/config.php:185
-msgid "Default"
-msgstr "Predefinito"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Frequentemente"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Ogni ora"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Due volte al giorno"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Ogni giorno"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Ogni settimana"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Ogni mese"
-
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:728
-#: ../../mod/admin.php:737 ../../boot.php:1499
-msgid "Email"
-msgstr "Email"
-
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
-
#: ../../include/contact_widgets.php:14
#, php-format
msgid "%d invitation available"
@@ -1359,7 +1337,7 @@ msgid_plural "%d invitations available"
msgstr[0] "%d invito disponibile"
msgstr[1] "%d inviti disponibili"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:418
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:416
msgid "Advanced"
msgstr "Avanzate"
@@ -1380,11 +1358,12 @@ msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Per esempio: Mario Rossi, Pesca"
#: ../../include/contact_widgets.php:26 ../../mod/connections.php:412
-#: ../../mod/directory.php:222 ../../mod/directory.php:227
+#: ../../mod/directory.php:317 ../../mod/directory.php:322
msgid "Find"
msgstr "Cerca"
#: ../../include/contact_widgets.php:27 ../../mod/suggest.php:59
+#: ../../mod/directory.php:321
msgid "Channel Suggestions"
msgstr "Canali suggeriti"
@@ -1397,252 +1376,25 @@ msgid "Invite Friends"
msgstr "Invita amici"
#: ../../include/contact_widgets.php:32
-msgid "Exammple: name=fred and country=iceland"
+msgid "Advanced example: name=fred and country=iceland"
msgstr "Per esempio: name=mario e country=italy"
-#: ../../include/contact_widgets.php:33
-msgid "Advanced Find"
-msgstr "Ricerca avanzata"
-
-#: ../../include/contact_widgets.php:58 ../../include/features.php:72
-#: ../../include/widgets.php:303
-msgid "Saved Folders"
-msgstr "Cartelle salvate"
-
-#: ../../include/contact_widgets.php:61 ../../include/contact_widgets.php:96
-#: ../../include/widgets.php:306
+#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:95
+#: ../../include/widgets.php:305
msgid "Everything"
msgstr "Tutto"
-#: ../../include/contact_widgets.php:93 ../../include/widgets.php:29
-msgid "Categories"
-msgstr "Categorie"
-
-#: ../../include/contact_widgets.php:126
+#: ../../include/contact_widgets.php:125
#, php-format
msgid "%d connection in common"
msgid_plural "%d connections in common"
msgstr[0] "%d contatto in comune"
msgstr[1] "%d contatti in comune"
-#: ../../include/contact_widgets.php:131
+#: ../../include/contact_widgets.php:130
msgid "show more"
msgstr "mostra tutto"
-#: ../../include/event.php:11 ../../include/bb2diaspora.php:423
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
-
-#: ../../include/event.php:20 ../../include/bb2diaspora.php:429
-msgid "Starts:"
-msgstr "Inizio:"
-
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:437
-msgid "Finishes:"
-msgstr "Fine:"
-
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:445
-#: ../../include/identity.php:835 ../../mod/directory.php:156
-#: ../../mod/dirprofile.php:105 ../../mod/events.php:579
-msgid "Location:"
-msgstr "Luogo:"
-
-#: ../../include/event.php:326
-msgid "This event has been added to your calendar."
-msgstr "Questo evento è stato aggiunto al tuo calendario"
-
-#: ../../include/account.php:23
-msgid "Not a valid email address"
-msgstr "Email non valida"
-
-#: ../../include/account.php:25
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
-
-#: ../../include/account.php:31
-msgid "Your email address is already registered at this site."
-msgstr "La tua email è già registrata su questo sito."
-
-#: ../../include/account.php:64
-msgid "An invitation is required."
-msgstr "È necessario un invito."
-
-#: ../../include/account.php:68
-msgid "Invitation could not be verified."
-msgstr "L'invito non può essere verificato."
-
-#: ../../include/account.php:119
-msgid "Please enter the required information."
-msgstr "Inserisci le informazioni richieste."
-
-#: ../../include/account.php:187
-msgid "Failed to store account information."
-msgstr "Non è stato possibile salvare le informazioni del tuo account."
-
-#: ../../include/account.php:245
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registrazione di %s confermata"
-
-#: ../../include/account.php:313
-#, php-format
-msgid "Registration request at %s"
-msgstr "Richiesta di registrazione su %s"
-
-#: ../../include/account.php:315 ../../include/account.php:342
-#: ../../include/account.php:399
-msgid "Administrator"
-msgstr "Amministratore"
-
-#: ../../include/account.php:337
-msgid "your registration password"
-msgstr "la password di registrazione"
-
-#: ../../include/account.php:340 ../../include/account.php:397
-#, php-format
-msgid "Registration details for %s"
-msgstr "Dettagli della registrazione di %s"
-
-#: ../../include/account.php:406
-msgid "Account approved."
-msgstr "Account approvato."
-
-#: ../../include/account.php:440
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrazione revocata per %s"
-
-#: ../../include/account.php:486
-msgid "Account verified. Please login."
-msgstr "Registrazione verificata. Adesso puoi effettuare login."
-
-#: ../../include/account.php:647 ../../include/account.php:649
-msgid "Click here to upgrade."
-msgstr "Clicca qui per aggiornare."
-
-#: ../../include/account.php:655
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Questa operazione esce dai termini del tuo abbonamento."
-
-#: ../../include/account.php:660
-msgid "This action is not available under your subscription plan."
-msgstr "Questa operazione non è prevista dal tuo abbonamento."
-
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
-msgstr "Altro"
-
-#: ../../include/datetime.php:152 ../../include/datetime.php:284
-msgid "year"
-msgstr "anno"
-
-#: ../../include/datetime.php:157 ../../include/datetime.php:285
-msgid "month"
-msgstr "mese"
-
-#: ../../include/datetime.php:162 ../../include/datetime.php:287
-msgid "day"
-msgstr "giorno"
-
-#: ../../include/datetime.php:275
-msgid "never"
-msgstr "mai"
-
-#: ../../include/datetime.php:281
-msgid "less than a second ago"
-msgstr "meno di un secondo fa"
-
-#: ../../include/datetime.php:284
-msgid "years"
-msgstr "anni"
-
-#: ../../include/datetime.php:285
-msgid "months"
-msgstr "mesi"
-
-#: ../../include/datetime.php:286
-msgid "week"
-msgstr "settimana"
-
-#: ../../include/datetime.php:286
-msgid "weeks"
-msgstr "settimane"
-
-#: ../../include/datetime.php:287
-msgid "days"
-msgstr "giorni"
-
-#: ../../include/datetime.php:288
-msgid "hour"
-msgstr "ora"
-
-#: ../../include/datetime.php:288
-msgid "hours"
-msgstr "ore"
-
-#: ../../include/datetime.php:289
-msgid "minute"
-msgstr "minuto"
-
-#: ../../include/datetime.php:289
-msgid "minutes"
-msgstr "minuti"
-
-#: ../../include/datetime.php:290
-msgid "second"
-msgstr "secondo"
-
-#: ../../include/datetime.php:290
-msgid "seconds"
-msgstr "secondi"
-
-#: ../../include/datetime.php:299
-#, php-format
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s fa"
-
-#: ../../include/datetime.php:504
-#, php-format
-msgid "%1$s's birthday"
-msgstr "È il compleanno di %1$s"
-
-#: ../../include/datetime.php:505
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Buon compleanno %1$s"
-
-#: ../../include/dir_fns.php:56
-msgid "Sort Options"
-msgstr "Opzioni di ordinamento"
-
-#: ../../include/dir_fns.php:57
-msgid "Alphabetic"
-msgstr "Alfabetico"
-
-#: ../../include/dir_fns.php:58
-msgid "Reverse Alphabetic"
-msgstr "Alfabetico inverso"
-
-#: ../../include/dir_fns.php:59
-msgid "Newest to Oldest"
-msgstr "Dal più nuovo al più vecchio"
-
-#: ../../include/dir_fns.php:71
-msgid "Enable Safe Search"
-msgstr "Abilita SafeSearch"
-
-#: ../../include/dir_fns.php:73
-msgid "Disable Safe Search"
-msgstr "Disabilita SafeSearch"
-
-#: ../../include/dir_fns.php:75
-msgid "Safe Mode"
-msgstr "Modalità SafeSearch"
-
-#: ../../include/bb2diaspora.php:344
-msgid "Attachments:"
-msgstr "Allegati:"
-
#: ../../include/enotify.php:41
msgid "Red Matrix Notification"
msgstr "Notifica di RedMatrix"
@@ -1658,7 +1410,7 @@ msgstr "Grazie,"
#: ../../include/enotify.php:46
#, php-format
msgid "%s Administrator"
-msgstr "Amministratore %s"
+msgstr "L'amministratore di %s"
#: ../../include/enotify.php:81
#, php-format
@@ -1668,7 +1420,7 @@ msgstr "%s <!item_type!>"
#: ../../include/enotify.php:85
#, php-format
msgid "[Red:Notify] New mail received at %s"
-msgstr "[RedMatrix] Nuovo messaggio ricevuto su %s"
+msgstr "[RedMatrix] Nuovo messaggio su %s"
#: ../../include/enotify.php:87
#, php-format
@@ -1839,982 +1591,1011 @@ msgstr "Visita %s per approvare o rifiutare il suggerimento."
msgid "[Red:Notify]"
msgstr "[RedMatrix]"
-#: ../../include/reddav.php:1145 ../../include/reddav.php:1288
-msgid "parent"
-msgstr "cartella superiore"
-
-#: ../../include/reddav.php:1169
-msgid "Collection"
-msgstr "Cartella"
-
-#: ../../include/reddav.php:1172
-msgid "Principal"
-msgstr "Principale"
-
-#: ../../include/reddav.php:1175
-msgid "Addressbook"
-msgstr "Rubrica"
-
-#: ../../include/reddav.php:1178
-msgid "Calendar"
-msgstr "Calendario"
-
-#: ../../include/reddav.php:1181
-msgid "Schedule Inbox"
-msgstr "Appuntamenti ricevuti"
-
-#: ../../include/reddav.php:1184
-msgid "Schedule Outbox"
-msgstr "Appuntamenti inviati"
-
-#: ../../include/reddav.php:1262
-#, php-format
-msgid "%1$s used"
-msgstr "%1$s occupati"
-
-#: ../../include/reddav.php:1267
-#, php-format
-msgid "%1$s used of %2$s (%3$s&#37;)"
-msgstr "%1$s occupati di %2$s (%3$s&#37;)"
-
-#: ../../include/reddav.php:1284 ../../mod/settings.php:521
-#: ../../mod/settings.php:547 ../../mod/admin.php:868
-msgid "Name"
-msgstr "Nome"
-
-#: ../../include/reddav.php:1285
-msgid "Type"
-msgstr "Tipo"
-
-#: ../../include/reddav.php:1286
-msgid "Size"
-msgstr "Dimensione"
-
-#: ../../include/reddav.php:1287
-msgid "Last Modified"
-msgstr "Ultima modifica"
-
-#: ../../include/reddav.php:1291
-msgid "Total"
-msgstr "Totale"
-
-#: ../../include/reddav.php:1344
-msgid "Create new folder"
-msgstr "Crea una nuova cartella"
-
-#: ../../include/reddav.php:1345 ../../mod/mitem.php:142 ../../mod/menu.php:84
-#: ../../mod/new_channel.php:122
-msgid "Create"
-msgstr "Crea"
-
-#: ../../include/reddav.php:1346
-msgid "Upload file"
-msgstr "Carica un file"
-
-#: ../../include/reddav.php:1347 ../../mod/profile_photo.php:361
-msgid "Upload"
-msgstr "Carica"
-
-#: ../../include/chat.php:10
-msgid "Missing room name"
-msgstr "Area chat senza nome"
-
-#: ../../include/chat.php:19
-msgid "Duplicate room name"
-msgstr "Il nome dell'area chat è duplicato"
-
-#: ../../include/chat.php:68 ../../include/chat.php:76
-msgid "Invalid room specifier."
-msgstr "Il nome dell'area chat non è valido."
-
-#: ../../include/chat.php:105
-msgid "Room not found."
-msgstr "Area chat non trovata."
-
-#: ../../include/chat.php:126
-msgid "Room is full"
-msgstr "L'area chat è al completo"
-
-#: ../../include/features.php:23
-msgid "General Features"
-msgstr "Funzionalità di base"
-
-#: ../../include/features.php:25
-msgid "Content Expiration"
-msgstr "Scadenza"
-
-#: ../../include/features.php:25
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Elimina gli articoli, i commenti o i messaggi privati dopo che è trascorso del tempo"
-
-#: ../../include/features.php:26
-msgid "Multiple Profiles"
-msgstr "Profili multipli"
-
-#: ../../include/features.php:26
-msgid "Ability to create multiple profiles"
-msgstr "Abilitazione a creare profili multipli"
-
-#: ../../include/features.php:27
-msgid "Advanced Profiles"
-msgstr "Profili avanzati"
-
-#: ../../include/features.php:27
-msgid "Additional profile sections and selections"
-msgstr "Informazioni aggiuntive del profilo"
-
-#: ../../include/features.php:28
-msgid "Profile Import/Export"
-msgstr "Importa/esporta il profilo"
-
-#: ../../include/features.php:28
-msgid "Save and load profile details across sites/channels"
-msgstr "Salva o ripristina le informazioni del profilo su canali o siti diversi"
-
-#: ../../include/features.php:29
-msgid "Web Pages"
-msgstr "Pagine web"
-
-#: ../../include/features.php:29
-msgid "Provide managed web pages on your channel"
-msgstr "Attiva la creazione di pagine web sul tuo canale"
-
-#: ../../include/features.php:30
-msgid "Private Notes"
-msgstr "Note private"
-
-#: ../../include/features.php:30
-msgid "Enables a tool to store notes and reminders"
-msgstr "Abilita il riquadro per scrivere annotazioni"
-
-#: ../../include/features.php:34
-msgid "Navigation Channel Select"
-msgstr "Scegli il canale attivo dal menu"
-
-#: ../../include/features.php:34
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Scegli il canale attivo direttamente dal menu di navigazione"
-
-#: ../../include/features.php:38
-msgid "Extended Identity Sharing"
-msgstr "Condivisione avanzata dell'identità"
-
-#: ../../include/features.php:38
-msgid ""
-"Share your identity with all websites on the internet. When disabled, "
-"identity is only shared with sites in the matrix."
-msgstr "Rendi nota la tua identità a tutti i siti internet. Se disabilitato, la tua identità sarà comunicata solo ai siti RedMatrix."
-
-#: ../../include/features.php:39
-msgid "Expert Mode"
-msgstr "Modalità esperto"
-
-#: ../../include/features.php:39
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate"
-
-#: ../../include/features.php:40
-msgid "Premium Channel"
-msgstr "Canale premium"
-
-#: ../../include/features.php:40
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Ti permette di imporre delle restrizioni e dei termini d'uso a chi segue il canale"
-
-#: ../../include/features.php:45
-msgid "Post Composition Features"
-msgstr "Modalità di scrittura articoli"
-
-#: ../../include/features.php:47
-msgid "Use Markdown"
-msgstr "Usa il markdown"
-
-#: ../../include/features.php:47
-msgid "Allow use of \"Markdown\" to format posts"
-msgstr "Consenti l'uso del markdown per formattare gli articoli"
-
-#: ../../include/features.php:48
-msgid "Post Preview"
-msgstr "Anteprima articolo"
-
-#: ../../include/features.php:48
-msgid "Allow previewing posts and comments before publishing them"
-msgstr "Abilita l'anteprima degli articoli e dei commenti prima di pubblicarli"
-
-#: ../../include/features.php:49 ../../include/widgets.php:510
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Sorgenti del canale"
-
-#: ../../include/features.php:49
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Importa automaticamente il contenuto del canale da altri canali o feed"
-
-#: ../../include/features.php:50
-msgid "Even More Encryption"
-msgstr "Crittografia addizionale"
-
-#: ../../include/features.php:50
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Rendi possibile la crittografia dei contenuti tra mittente e destinatari con una chiave segreta"
-
-#: ../../include/features.php:55
-msgid "Network and Stream Filtering"
-msgstr "Filtraggio dei contenuti"
-
-#: ../../include/features.php:56
-msgid "Search by Date"
-msgstr "Ricerca per data"
-
-#: ../../include/features.php:56
-msgid "Ability to select posts by date ranges"
-msgstr "Per selezionare gli articoli in un intervallo tra date"
-
-#: ../../include/features.php:57
-msgid "Collections Filter"
-msgstr "Filtra per insiemi di canali"
-
-#: ../../include/features.php:57
-msgid "Enable widget to display Network posts only from selected collections"
-msgstr "Mostra il riquadro per filtrare gli articoli di certi insiemi di canali"
-
-#: ../../include/features.php:58 ../../include/widgets.php:272
-msgid "Saved Searches"
-msgstr "Ricerche salvate"
-
-#: ../../include/features.php:58
-msgid "Save search terms for re-use"
-msgstr "Salva i termini delle ricerche per poterle ripetere"
-
-#: ../../include/features.php:59
-msgid "Network Personal Tab"
-msgstr "Attività personale"
-
-#: ../../include/features.php:59
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
-
-#: ../../include/features.php:60
-msgid "Network New Tab"
-msgstr "Contenuti nuovi"
-
-#: ../../include/features.php:60
-msgid "Enable tab to display all new Network activity"
-msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
-
-#: ../../include/features.php:61
-msgid "Affinity Tool"
-msgstr "Filtro per affinità"
-
-#: ../../include/features.php:61
-msgid "Filter stream activity by depth of relationships"
-msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
-
-#: ../../include/features.php:62
-msgid "Suggest Channels"
-msgstr "Suggerisci canali"
-
-#: ../../include/features.php:62
-msgid "Show channel suggestions"
-msgstr "Mostra alcuni canali che potrebbero interessarti"
-
-#: ../../include/features.php:67
-msgid "Post/Comment Tools"
-msgstr "Gestione articoli e commenti"
-
-#: ../../include/features.php:69
-msgid "Edit Sent Posts"
-msgstr "Modifica gli articoli già inviati"
-
-#: ../../include/features.php:69
-msgid "Edit and correct posts and comments after sending"
-msgstr "Modifica e correggi gli articoli o i commenti anche dopo l'invio"
-
-#: ../../include/features.php:70
-msgid "Tagging"
-msgstr "Tag"
-
-#: ../../include/features.php:70
-msgid "Ability to tag existing posts"
-msgstr "Permetti l'aggiunta di tag su articoli già esistenti"
-
-#: ../../include/features.php:71
-msgid "Post Categories"
-msgstr "Categorie degli articoli"
-
-#: ../../include/features.php:71
-msgid "Add categories to your posts"
-msgstr "Abilita le categorie per i tuoi articoli"
-
-#: ../../include/features.php:72
-msgid "Ability to file posts under folders"
-msgstr "Abilita la raccolta dei tuoi articoli in cartelle"
-
-#: ../../include/features.php:73
-msgid "Dislike Posts"
-msgstr "Non mi piace"
-
-#: ../../include/features.php:73
-msgid "Ability to dislike posts/comments"
-msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi articoli"
-
-#: ../../include/features.php:74
-msgid "Star Posts"
-msgstr "Articoli stella (preferiti)"
-
-#: ../../include/features.php:74
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Mostra la stella per scegliere gli articoli preferiti"
-
-#: ../../include/features.php:75
-msgid "Tag Cloud"
-msgstr "Nuvola di tag"
-
-#: ../../include/features.php:75
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
-
-#: ../../include/follow.php:26
-msgid "Channel is blocked on this site."
-msgstr "Il canale è bloccato per questo sito."
-
-#: ../../include/follow.php:31
-msgid "Channel location missing."
-msgstr "Manca l'indirizzo del canale."
-
-#: ../../include/follow.php:80
-msgid "Response from remote channel was incomplete."
-msgstr "La risposta dal canale non è completa."
-
-#: ../../include/follow.php:97
-msgid "Channel was deleted and no longer exists."
-msgstr "Il canale è stato rimosso e non esiste più."
-
-#: ../../include/follow.php:133 ../../include/follow.php:202
-msgid "Protocol disabled."
-msgstr "Protocollo disabilitato."
-
-#: ../../include/follow.php:176
-msgid "Channel discovery failed."
-msgstr "La ricerca del canale non ha avuto successo."
-
-#: ../../include/follow.php:192
-msgid "local account not found."
-msgstr "l'account locale non è stato trovato."
-
-#: ../../include/follow.php:219
-msgid "Cannot connect to yourself."
-msgstr "Non puoi connetterti a te stesso."
-
-#: ../../include/items.php:375 ../../mod/profperm.php:23
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/like.php:242
-#: ../../index.php:360
-msgid "Permission denied"
-msgstr "Permesso negato"
-
-#: ../../include/items.php:962 ../../include/items.php:1007
-msgid "(Unknown)"
-msgstr "(Sconosciuto)"
-
-#: ../../include/items.php:1161
-msgid "Visible to anybody on the internet."
-msgstr "Visibile a chiunque su internet"
-
-#: ../../include/items.php:1163
-msgid "Visible to you only."
-msgstr "Visibile solo a te."
-
-#: ../../include/items.php:1165
-msgid "Visible to anybody in this network."
-msgstr "Visibile a tutti su questa rete."
-
-#: ../../include/items.php:1167
-msgid "Visible to anybody authenticated."
-msgstr "Visibile a chiunque sia autenticato."
-
-#: ../../include/items.php:1169
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visibile a tutti in %s."
-
-#: ../../include/items.php:1171
-msgid "Visible to all connections."
-msgstr "Visibile a tutti coloro che ti seguono."
-
-#: ../../include/items.php:1173
-msgid "Visible to approved connections."
-msgstr "Visibile ai contatti approvati."
-
-#: ../../include/items.php:1175
-msgid "Visible to specific connections."
-msgstr "Visibile ad alcuni contatti scelti."
-
-#: ../../include/items.php:3936 ../../mod/display.php:32
-#: ../../mod/filestorage.php:18 ../../mod/admin.php:168
-#: ../../mod/admin.php:898 ../../mod/admin.php:1101 ../../mod/thing.php:78
-#: ../../mod/viewsrc.php:20
-msgid "Item not found."
-msgstr "Elemento non trovato."
-
-#: ../../include/items.php:4369 ../../mod/group.php:38 ../../mod/group.php:140
-msgid "Collection not found."
-msgstr "Insieme non trovato."
-
-#: ../../include/items.php:4384
-msgid "Collection is empty."
-msgstr "L'insieme di canali è vuoto."
-
-#: ../../include/items.php:4391
-#, php-format
-msgid "Collection: %s"
-msgstr "Insieme: %s"
-
-#: ../../include/items.php:4402
-#, php-format
-msgid "Connection: %s"
-msgstr "Contatto: %s"
-
-#: ../../include/items.php:4405
-msgid "Connection not found."
-msgstr "Contatto non trovato."
+#: ../../include/event.php:376
+msgid "This event has been added to your calendar."
+msgstr "Questo evento è stato aggiunto al tuo calendario"
-#: ../../include/group.php:25
+#: ../../include/group.php:26
msgid ""
"A deleted group with this name was revived. Existing item permissions "
"<strong>may</strong> apply to this group and any future members. If this is "
"not what you intended, please create another group with a different name."
msgstr "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso."
-#: ../../include/group.php:234
+#: ../../include/group.php:235
msgid "Default privacy group for new contacts"
msgstr "Insieme predefinito per i canali che inizi a seguire"
-#: ../../include/group.php:253 ../../mod/admin.php:737
+#: ../../include/group.php:254 ../../mod/admin.php:735
msgid "All Channels"
msgstr "Tutti i canali"
-#: ../../include/group.php:275
+#: ../../include/group.php:276
msgid "edit"
msgstr "modifica"
-#: ../../include/group.php:297
+#: ../../include/group.php:298
msgid "Collections"
msgstr "Insiemi di canali"
-#: ../../include/group.php:298
+#: ../../include/group.php:299
msgid "Edit collection"
msgstr "Modifica l'insieme di canali"
-#: ../../include/group.php:299
+#: ../../include/group.php:300
msgid "Create a new collection"
msgstr "Crea un nuovo insieme"
-#: ../../include/group.php:300
+#: ../../include/group.php:301
msgid "Channels not in any collection"
msgstr "Canali che non sono in un insieme"
-#: ../../include/group.php:302 ../../include/widgets.php:273
+#: ../../include/group.php:303 ../../include/widgets.php:273
msgid "add"
msgstr "aggiungi"
-#: ../../include/identity.php:30 ../../mod/item.php:1312
+#: ../../include/identity.php:31 ../../mod/item.php:1112
msgid "Unable to obtain identity information from database"
msgstr "Impossibile ottenere le informazioni di identificazione dal database"
-#: ../../include/identity.php:63
+#: ../../include/identity.php:66
msgid "Empty name"
msgstr "Nome vuoto"
-#: ../../include/identity.php:65
+#: ../../include/identity.php:68
msgid "Name too long"
msgstr "Nome troppo lungo"
-#: ../../include/identity.php:166
+#: ../../include/identity.php:169
msgid "No account identifier"
msgstr "Account senza identificativo"
-#: ../../include/identity.php:176
+#: ../../include/identity.php:182
msgid "Nickname is required."
msgstr "Il nome dell'account è obbligatorio."
-#: ../../include/identity.php:190
+#: ../../include/identity.php:196
msgid "Reserved nickname. Please choose another."
msgstr "Nome utente riservato. Per favore scegline un altro."
-#: ../../include/identity.php:195
+#: ../../include/identity.php:201 ../../include/dimport.php:34
msgid ""
"Nickname has unsupported characters or is already being used on this site."
msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."
-#: ../../include/identity.php:276
+#: ../../include/identity.php:283
msgid "Unable to retrieve created identity"
msgstr "Impossibile caricare l'identità creata"
-#: ../../include/identity.php:335
+#: ../../include/identity.php:343
msgid "Default Profile"
msgstr "Profilo predefinito"
-#: ../../include/identity.php:374 ../../include/identity.php:375
-#: ../../include/identity.php:382 ../../include/widgets.php:407
-#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:495
+#: ../../include/identity.php:387 ../../include/identity.php:388
+#: ../../include/identity.php:395 ../../include/widgets.php:428
+#: ../../include/profile_selectors.php:80 ../../mod/settings.php:320
+#: ../../mod/settings.php:324 ../../mod/settings.php:325
+#: ../../mod/settings.php:328 ../../mod/settings.php:339
+#: ../../mod/connedit.php:510
msgid "Friends"
msgstr "Amici"
-#: ../../include/identity.php:587
+#: ../../include/identity.php:643
msgid "Requested channel is not available."
msgstr "Il canale che cerchi non è disponibile."
-#: ../../include/identity.php:635 ../../mod/achievements.php:11
-#: ../../mod/profile.php:16 ../../mod/blocks.php:10 ../../mod/connect.php:13
-#: ../../mod/filestorage.php:40 ../../mod/layouts.php:8
-#: ../../mod/webpages.php:8 ../../mod/hcard.php:8
+#: ../../include/identity.php:691 ../../mod/achievements.php:11
+#: ../../mod/profile.php:16 ../../mod/webpages.php:29 ../../mod/blocks.php:29
+#: ../../mod/editblock.php:29 ../../mod/editlayout.php:28
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:48
+#: ../../mod/connect.php:13 ../../mod/layouts.php:29 ../../mod/hcard.php:8
msgid "Requested profile is not available."
msgstr "Il profilo richiesto non è disponibile."
-#: ../../include/identity.php:798 ../../mod/profiles.php:750
+#: ../../include/identity.php:840 ../../include/conversation.php:937
+#: ../../include/widgets.php:136 ../../include/widgets.php:175
+#: ../../include/Contact.php:107 ../../mod/suggest.php:51
+#: ../../mod/match.php:62 ../../mod/directory.php:264
+msgid "Connect"
+msgstr "Aggiungi"
+
+#: ../../include/identity.php:854 ../../mod/profiles.php:740
msgid "Change profile photo"
msgstr "Cambia la foto del profilo"
-#: ../../include/identity.php:804
+#: ../../include/identity.php:860
msgid "Profiles"
msgstr "Profili"
-#: ../../include/identity.php:804
+#: ../../include/identity.php:860
msgid "Manage/edit profiles"
msgstr "Gestisci/modifica i profili"
-#: ../../include/identity.php:805 ../../mod/profiles.php:751
+#: ../../include/identity.php:861 ../../mod/profiles.php:741
msgid "Create New Profile"
msgstr "Crea un nuovo profilo"
-#: ../../include/identity.php:808 ../../include/nav.php:102
+#: ../../include/identity.php:864 ../../include/nav.php:103
msgid "Edit Profile"
msgstr "Modifica il profilo"
-#: ../../include/identity.php:819 ../../mod/profiles.php:762
+#: ../../include/identity.php:875 ../../mod/profiles.php:752
msgid "Profile Image"
msgstr "Immagine del profilo"
-#: ../../include/identity.php:822
+#: ../../include/identity.php:878
msgid "visible to everybody"
msgstr "visibile a tutti"
-#: ../../include/identity.php:823 ../../mod/profiles.php:645
-#: ../../mod/profiles.php:766
+#: ../../include/identity.php:879 ../../mod/profiles.php:635
+#: ../../mod/profiles.php:756
msgid "Edit visibility"
msgstr "Cambia la visibilità"
-#: ../../include/identity.php:837 ../../include/identity.php:1074
-#: ../../mod/directory.php:158
+#: ../../include/identity.php:895 ../../include/identity.php:1132
msgid "Gender:"
msgstr "Sesso:"
-#: ../../include/identity.php:838 ../../include/identity.php:1118
-#: ../../mod/directory.php:160
+#: ../../include/identity.php:896 ../../include/identity.php:1176
msgid "Status:"
msgstr "Stato:"
-#: ../../include/identity.php:839 ../../include/identity.php:1129
-#: ../../mod/directory.php:162
+#: ../../include/identity.php:897 ../../include/identity.php:1187
msgid "Homepage:"
msgstr "Home page:"
-#: ../../include/identity.php:840 ../../mod/dirprofile.php:151
+#: ../../include/identity.php:898
msgid "Online Now"
msgstr "Online adesso"
-#: ../../include/identity.php:918 ../../include/identity.php:998
-#: ../../mod/ping.php:298
+#: ../../include/identity.php:976 ../../include/identity.php:1056
+#: ../../mod/ping.php:326
msgid "g A l F d"
msgstr "g A l d F"
-#: ../../include/identity.php:919 ../../include/identity.php:999
+#: ../../include/identity.php:977 ../../include/identity.php:1057
msgid "F d"
msgstr "d F"
-#: ../../include/identity.php:964 ../../include/identity.php:1039
-#: ../../mod/ping.php:320
+#: ../../include/identity.php:1022 ../../include/identity.php:1097
+#: ../../mod/ping.php:348
msgid "[today]"
msgstr "[oggi]"
-#: ../../include/identity.php:976
+#: ../../include/identity.php:1034
msgid "Birthday Reminders"
msgstr "Promemoria compleanni"
-#: ../../include/identity.php:977
+#: ../../include/identity.php:1035
msgid "Birthdays this week:"
msgstr "Compleanni questa settimana:"
-#: ../../include/identity.php:1032
+#: ../../include/identity.php:1090
msgid "[No description]"
msgstr "[Nessuna descrizione]"
-#: ../../include/identity.php:1050
+#: ../../include/identity.php:1108
msgid "Event Reminders"
msgstr "Promemoria"
-#: ../../include/identity.php:1051
+#: ../../include/identity.php:1109
msgid "Events this week:"
msgstr "Eventi di questa settimana:"
-#: ../../include/identity.php:1072 ../../mod/settings.php:953
+#: ../../include/identity.php:1122 ../../include/identity.php:1251
+#: ../../include/apps.php:138 ../../mod/profperm.php:112
+msgid "Profile"
+msgstr "Profilo"
+
+#: ../../include/identity.php:1130 ../../mod/settings.php:1012
msgid "Full Name:"
msgstr "Nome completo:"
-#: ../../include/identity.php:1079
+#: ../../include/identity.php:1137
msgid "Like this channel"
msgstr "Mi piace questo canale"
-#: ../../include/identity.php:1103
+#: ../../include/identity.php:1161
msgid "j F, Y"
msgstr "j F Y"
-#: ../../include/identity.php:1104
+#: ../../include/identity.php:1162
msgid "j F"
msgstr "j F"
-#: ../../include/identity.php:1111
+#: ../../include/identity.php:1169
msgid "Birthday:"
msgstr "Compleanno:"
-#: ../../include/identity.php:1115
+#: ../../include/identity.php:1173
msgid "Age:"
msgstr "Età:"
-#: ../../include/identity.php:1124
+#: ../../include/identity.php:1182
#, php-format
msgid "for %1$d %2$s"
msgstr "per %1$d %2$s"
-#: ../../include/identity.php:1127 ../../mod/profiles.php:667
+#: ../../include/identity.php:1185 ../../mod/profiles.php:657
msgid "Sexual Preference:"
msgstr "Preferenze sessuali:"
-#: ../../include/identity.php:1131 ../../mod/profiles.php:669
+#: ../../include/identity.php:1189 ../../mod/profiles.php:659
msgid "Hometown:"
msgstr "Città dove vivo:"
-#: ../../include/identity.php:1133
+#: ../../include/identity.php:1191
msgid "Tags:"
msgstr "Tag:"
-#: ../../include/identity.php:1135 ../../mod/profiles.php:670
+#: ../../include/identity.php:1193 ../../mod/profiles.php:660
msgid "Political Views:"
msgstr "Orientamento politico:"
-#: ../../include/identity.php:1137
+#: ../../include/identity.php:1195
msgid "Religion:"
msgstr "Religione:"
-#: ../../include/identity.php:1139 ../../mod/directory.php:164
+#: ../../include/identity.php:1197
msgid "About:"
msgstr "Informazioni:"
-#: ../../include/identity.php:1141
+#: ../../include/identity.php:1199
msgid "Hobbies/Interests:"
msgstr "Interessi e hobby:"
-#: ../../include/identity.php:1143 ../../mod/profiles.php:673
+#: ../../include/identity.php:1201 ../../mod/profiles.php:663
msgid "Likes:"
msgstr "Mi piace:"
-#: ../../include/identity.php:1145 ../../mod/profiles.php:674
+#: ../../include/identity.php:1203 ../../mod/profiles.php:664
msgid "Dislikes:"
msgstr "Non mi piace:"
-#: ../../include/identity.php:1148
+#: ../../include/identity.php:1206
msgid "Contact information and Social Networks:"
msgstr "Contatti e social network:"
-#: ../../include/identity.php:1150
+#: ../../include/identity.php:1218
msgid "My other channels:"
msgstr "I miei altri canali:"
-#: ../../include/identity.php:1152
+#: ../../include/identity.php:1221
msgid "Musical interests:"
msgstr "Gusti musicali:"
-#: ../../include/identity.php:1154
+#: ../../include/identity.php:1223
msgid "Books, literature:"
msgstr "Libri, letteratura:"
-#: ../../include/identity.php:1156
+#: ../../include/identity.php:1225
msgid "Television:"
msgstr "Televisione:"
-#: ../../include/identity.php:1158
+#: ../../include/identity.php:1227
msgid "Film/dance/culture/entertainment:"
msgstr "Film, danza, cultura, intrattenimento:"
-#: ../../include/identity.php:1160
+#: ../../include/identity.php:1229
msgid "Love/Romance:"
msgstr "Amore:"
-#: ../../include/identity.php:1162
+#: ../../include/identity.php:1231
msgid "Work/employment:"
msgstr "Lavoro:"
-#: ../../include/identity.php:1164
+#: ../../include/identity.php:1233
msgid "School/education:"
msgstr "Scuola:"
-#: ../../include/identity.php:1184
+#: ../../include/identity.php:1253
msgid "Like this thing"
msgstr "Mi piace questo oggetto"
-#: ../../include/bbcode.php:112 ../../include/bbcode.php:645
-#: ../../include/bbcode.php:648 ../../include/bbcode.php:653
-#: ../../include/bbcode.php:656 ../../include/bbcode.php:659
-#: ../../include/bbcode.php:662 ../../include/bbcode.php:667
-#: ../../include/bbcode.php:670 ../../include/bbcode.php:675
-#: ../../include/bbcode.php:678 ../../include/bbcode.php:681
-#: ../../include/bbcode.php:684
+#: ../../include/account.php:23
+msgid "Not a valid email address"
+msgstr "Email non valida"
+
+#: ../../include/account.php:25
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
+
+#: ../../include/account.php:31
+msgid "Your email address is already registered at this site."
+msgstr "La tua email è già registrata su questo sito."
+
+#: ../../include/account.php:64
+msgid "An invitation is required."
+msgstr "È necessario un invito."
+
+#: ../../include/account.php:68
+msgid "Invitation could not be verified."
+msgstr "L'invito non può essere verificato."
+
+#: ../../include/account.php:119
+msgid "Please enter the required information."
+msgstr "Inserisci le informazioni richieste."
+
+#: ../../include/account.php:187
+msgid "Failed to store account information."
+msgstr "Non è stato possibile salvare le informazioni del tuo account."
+
+#: ../../include/account.php:245
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registrazione di %s confermata"
+
+#: ../../include/account.php:313
+#, php-format
+msgid "Registration request at %s"
+msgstr "Richiesta di registrazione su %s"
+
+#: ../../include/account.php:315 ../../include/account.php:342
+#: ../../include/account.php:399
+msgid "Administrator"
+msgstr "Amministratore"
+
+#: ../../include/account.php:337
+msgid "your registration password"
+msgstr "la password di registrazione"
+
+#: ../../include/account.php:340 ../../include/account.php:397
+#, php-format
+msgid "Registration details for %s"
+msgstr "Dettagli della registrazione di %s"
+
+#: ../../include/account.php:406
+msgid "Account approved."
+msgstr "Account approvato."
+
+#: ../../include/account.php:440
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrazione revocata per %s"
+
+#: ../../include/account.php:486
+msgid "Account verified. Please login."
+msgstr "Registrazione verificata. Adesso puoi effettuare login."
+
+#: ../../include/account.php:648 ../../include/account.php:650
+msgid "Click here to upgrade."
+msgstr "Clicca qui per aggiornare."
+
+#: ../../include/account.php:656
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Questa operazione supera i limiti del tuo abbonamento."
+
+#: ../../include/account.php:661
+msgid "This action is not available under your subscription plan."
+msgstr "Questa operazione non è prevista dal tuo abbonamento."
+
+#: ../../include/follow.php:28
+msgid "Channel is blocked on this site."
+msgstr "Il canale è bloccato per questo sito."
+
+#: ../../include/follow.php:33
+msgid "Channel location missing."
+msgstr "Manca l'indirizzo del canale."
+
+#: ../../include/follow.php:82
+msgid "Response from remote channel was incomplete."
+msgstr "La risposta dal canale non è completa."
+
+#: ../../include/follow.php:99
+msgid "Channel was deleted and no longer exists."
+msgstr "Il canale è stato rimosso e non esiste più."
+
+#: ../../include/follow.php:135 ../../include/follow.php:202
+msgid "Protocol disabled."
+msgstr "Protocollo disabilitato."
+
+#: ../../include/follow.php:176
+msgid "Channel discovery failed."
+msgstr "La ricerca del canale non ha avuto successo."
+
+#: ../../include/follow.php:192
+msgid "local account not found."
+msgstr "l'account locale non è stato trovato."
+
+#: ../../include/follow.php:220
+msgid "Cannot connect to yourself."
+msgstr "Non puoi connetterti a te stesso."
+
+#: ../../include/api.php:1084
+msgid "Public Timeline"
+msgstr "Diario pubblico"
+
+#: ../../include/attach.php:221 ../../include/attach.php:275
+msgid "Item was not found."
+msgstr "Elemento non trovato."
+
+#: ../../include/attach.php:331
+msgid "No source file."
+msgstr "Nessun file di origine."
+
+#: ../../include/attach.php:348
+msgid "Cannot locate file to replace"
+msgstr "Il file da sostituire non è stato trovato"
+
+#: ../../include/attach.php:366
+msgid "Cannot locate file to revise/update"
+msgstr "Il file da aggiornare non è stato trovato"
+
+#: ../../include/attach.php:377
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "Il file supera la dimensione massima di %d"
+
+#: ../../include/attach.php:389
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
+
+#: ../../include/attach.php:472
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."
+
+#: ../../include/attach.php:484
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Il file non può essere verificato. Caricamento fallito."
+
+#: ../../include/attach.php:526 ../../include/attach.php:543
+msgid "Path not available."
+msgstr "Percorso non disponibile."
+
+#: ../../include/attach.php:590
+msgid "Empty pathname"
+msgstr "Il percorso del file è vuoto"
+
+#: ../../include/attach.php:606
+msgid "duplicate filename or path"
+msgstr "il file o il percorso del file è duplicato"
+
+#: ../../include/attach.php:630
+msgid "Path not found."
+msgstr "Percorso del file non trovato."
+
+#: ../../include/attach.php:681
+msgid "mkdir failed."
+msgstr "mkdir fallito."
+
+#: ../../include/attach.php:685
+msgid "database storage failed."
+msgstr "scrittura su database fallita."
+
+#: ../../include/chat.php:10
+msgid "Missing room name"
+msgstr "Area chat senza nome"
+
+#: ../../include/chat.php:19
+msgid "Duplicate room name"
+msgstr "Il nome dell'area chat è duplicato"
+
+#: ../../include/chat.php:68 ../../include/chat.php:76
+msgid "Invalid room specifier."
+msgstr "Il nome dell'area chat non è valido."
+
+#: ../../include/chat.php:105
+msgid "Room not found."
+msgstr "Area chat non trovata."
+
+#: ../../include/chat.php:126
+msgid "Room is full"
+msgstr "L'area chat è al completo"
+
+#: ../../include/bbcode.php:112 ../../include/bbcode.php:677
+#: ../../include/bbcode.php:680 ../../include/bbcode.php:685
+#: ../../include/bbcode.php:688 ../../include/bbcode.php:691
+#: ../../include/bbcode.php:694 ../../include/bbcode.php:699
+#: ../../include/bbcode.php:702 ../../include/bbcode.php:707
+#: ../../include/bbcode.php:710 ../../include/bbcode.php:713
+#: ../../include/bbcode.php:716
msgid "Image/photo"
msgstr "Immagine"
-#: ../../include/bbcode.php:147 ../../include/bbcode.php:695
+#: ../../include/bbcode.php:147 ../../include/bbcode.php:727
msgid "Encrypted content"
msgstr "Contenuto crittografato"
-#: ../../include/bbcode.php:163
+#: ../../include/bbcode.php:165
+msgid "Install design element: "
+msgstr "Installa il componente di design:"
+
+#: ../../include/bbcode.php:171
msgid "QR code"
msgstr "QR code"
-#: ../../include/bbcode.php:212
+#: ../../include/bbcode.php:220
#, php-format
msgid "%1$s wrote the following %2$s %3$s"
msgstr "%1$s ha scritto %2$s %3$s"
-#: ../../include/bbcode.php:214
+#: ../../include/bbcode.php:222
msgid "post"
msgstr "l'articolo"
-#: ../../include/bbcode.php:613 ../../include/bbcode.php:633
+#: ../../include/bbcode.php:645
+msgid "$1 spoiler"
+msgstr "$1 spoiler"
+
+#: ../../include/bbcode.php:665
msgid "$1 wrote:"
msgstr "$1 ha scritto:"
-#: ../../include/nav.php:94 ../../include/nav.php:126 ../../boot.php:1496
-msgid "Logout"
-msgstr "Esci"
+#: ../../include/conversation.php:126 ../../mod/like.php:89
+msgid "channel"
+msgstr "canale"
-#: ../../include/nav.php:94 ../../include/nav.php:126
-msgid "End this session"
-msgstr "Chiudi questa sessione"
+#: ../../include/conversation.php:164 ../../include/diaspora.php:1957
+#: ../../mod/like.php:336
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "A %1$s piace %3$s di %2$s"
-#: ../../include/nav.php:97 ../../include/nav.php:160
-msgid "Home"
-msgstr "Bacheca"
+#: ../../include/conversation.php:167 ../../mod/like.php:338
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "A %1$s non piace %3$s di %2$s"
-#: ../../include/nav.php:97
-msgid "Your posts and conversations"
-msgstr "I tuoi articoli e conversazioni"
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s adesso è connesso con %2$s"
-#: ../../include/nav.php:98
-msgid "Your profile page"
-msgstr "Il tuo profilo"
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s ha mandato un poke a %2$s"
-#: ../../include/nav.php:100
-msgid "Edit Profiles"
-msgstr "Modifica i profili"
+#: ../../include/conversation.php:261 ../../mod/mood.php:63
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s è %2$s"
-#: ../../include/nav.php:100
-msgid "Manage/Edit profiles"
-msgstr "Gestisci/modifica i profili"
+#: ../../include/conversation.php:638 ../../include/ItemObject.php:126
+msgid "Select"
+msgstr "Seleziona"
-#: ../../include/nav.php:102
-msgid "Edit your profile"
-msgstr "Modifica il profilo"
+#: ../../include/conversation.php:646 ../../include/ItemObject.php:89
+msgid "Private Message"
+msgstr "Messaggio privato"
-#: ../../include/nav.php:104
-msgid "Your photos"
-msgstr "Le tue foto"
+#: ../../include/conversation.php:653 ../../include/ItemObject.php:194
+msgid "Message signature validated"
+msgstr "Messaggio con firma verificata"
-#: ../../include/nav.php:105
-msgid "Your files"
-msgstr "I tuoi file"
+#: ../../include/conversation.php:654 ../../include/ItemObject.php:195
+msgid "Message signature incorrect"
+msgstr "Massaggio con firma non corretta"
-#: ../../include/nav.php:110
-msgid "Your chatrooms"
-msgstr "Le tue aree chat"
+#: ../../include/conversation.php:674
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Vedi il profilo di %s @ %s"
-#: ../../include/nav.php:116
-msgid "Your bookmarks"
-msgstr "I tuoi segnalibri"
+#: ../../include/conversation.php:689
+msgid "Categories:"
+msgstr "Categorie:"
-#: ../../include/nav.php:120
-msgid "Your webpages"
-msgstr "Le tue pagine web"
+#: ../../include/conversation.php:690
+msgid "Filed under:"
+msgstr "Classificato come:"
-#: ../../include/nav.php:124
-msgid "Sign in"
-msgstr "Entra"
+#: ../../include/conversation.php:698 ../../include/ItemObject.php:274
+#, php-format
+msgid " from %s"
+msgstr " da %s"
-#: ../../include/nav.php:141
+#: ../../include/conversation.php:701 ../../include/ItemObject.php:277
#, php-format
-msgid "%s - click to logout"
-msgstr "%s - clicca per uscire"
+msgid "last edited: %s"
+msgstr "ultima modifica: %s"
-#: ../../include/nav.php:146
-msgid "Click to authenticate to your home hub"
-msgstr "Clicca per autenticarti sul tuo server principale"
+#: ../../include/conversation.php:702 ../../include/ItemObject.php:278
+#, php-format
+msgid "Expires: %s"
+msgstr "Scadenza: %s"
-#: ../../include/nav.php:160
-msgid "Home Page"
-msgstr "Bacheca"
+#: ../../include/conversation.php:717
+msgid "View in context"
+msgstr "Vedi nel contesto"
-#: ../../include/nav.php:164 ../../mod/register.php:220 ../../boot.php:1473
-msgid "Register"
-msgstr "Iscriviti"
+#: ../../include/conversation.php:719 ../../include/conversation.php:1142
+#: ../../include/ItemObject.php:325 ../../mod/editpost.php:121
+#: ../../mod/mail.php:238 ../../mod/mail.php:353 ../../mod/photos.php:978
+#: ../../mod/editblock.php:152 ../../mod/editlayout.php:148
+#: ../../mod/editwebpage.php:183
+msgid "Please wait"
+msgstr "Attendere"
-#: ../../include/nav.php:164
-msgid "Create an account"
-msgstr "Crea un account"
+#: ../../include/conversation.php:835
+msgid "remove"
+msgstr "rimuovi"
-#: ../../include/nav.php:169
-msgid "Help and documentation"
-msgstr "Guida e documentazione"
+#: ../../include/conversation.php:839 ../../include/nav.php:257
+msgid "Loading..."
+msgstr "Caricamento in corso..."
-#: ../../include/nav.php:172 ../../include/widgets.php:86
-#: ../../mod/apps.php:33
-msgid "Apps"
-msgstr "Apps"
+#: ../../include/conversation.php:840
+msgid "Delete Selected Items"
+msgstr "Elimina gli oggetti selezionati"
-#: ../../include/nav.php:172
-msgid "Applications, utilities, links, games"
-msgstr "Applicazioni, utilità, link, giochi"
+#: ../../include/conversation.php:931
+msgid "View Source"
+msgstr "Vedi il sorgente"
-#: ../../include/nav.php:174
-msgid "Search site content"
-msgstr "Cerca nel sito"
+#: ../../include/conversation.php:932
+msgid "Follow Thread"
+msgstr "Segui la discussione"
-#: ../../include/nav.php:177
-msgid "Channel Locator"
-msgstr "Ricerca canali"
+#: ../../include/conversation.php:933
+msgid "View Status"
+msgstr "Guarda il messaggio di stato"
-#: ../../include/nav.php:188
-msgid "Your matrix"
-msgstr "La tua rete"
+#: ../../include/conversation.php:934 ../../include/nav.php:99
+#: ../../mod/connedit.php:429 ../../mod/connedit.php:545
+msgid "View Profile"
+msgstr "Profilo"
-#: ../../include/nav.php:189
-msgid "Mark all matrix notifications seen"
-msgstr "Segna come lette le notifiche della tua rete"
+#: ../../include/conversation.php:935
+msgid "View Photos"
+msgstr "Guarda le foto"
-#: ../../include/nav.php:191
-msgid "Channel home"
-msgstr "Bacheca del canale"
+#: ../../include/conversation.php:936
+msgid "Matrix Activity"
+msgstr "Attività nella tua rete"
-#: ../../include/nav.php:192
-msgid "Mark all channel notifications seen"
-msgstr "Segna come lette le notifiche dei canali"
+#: ../../include/conversation.php:938
+msgid "Edit Contact"
+msgstr "Modifica il contatto"
-#: ../../include/nav.php:195 ../../mod/connections.php:406
-msgid "Connections"
-msgstr "Contatti"
+#: ../../include/conversation.php:939
+msgid "Send PM"
+msgstr "Invia messaggio privato"
-#: ../../include/nav.php:198
-msgid "Notices"
-msgstr "Notifiche"
+#: ../../include/conversation.php:940 ../../include/apps.php:145
+msgid "Poke"
+msgstr "Poke"
-#: ../../include/nav.php:198
-msgid "Notifications"
-msgstr "Notifiche"
+#: ../../include/conversation.php:1013
+#, php-format
+msgid "%s likes this."
+msgstr "Piace a %s."
-#: ../../include/nav.php:199
-msgid "See all notifications"
-msgstr "Vedi tutte le notifiche"
+#: ../../include/conversation.php:1013
+#, php-format
+msgid "%s doesn't like this."
+msgstr "Non piace a %s."
-#: ../../include/nav.php:200 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Segna come lette le notifiche di sistema"
+#: ../../include/conversation.php:1017
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] ""
+msgstr[1] "Piace a <span %1$s>%2$d persone</span>."
-#: ../../include/nav.php:202
-msgid "Private mail"
-msgstr "Messaggi privati"
+#: ../../include/conversation.php:1019
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] ""
+msgstr[1] "Non piace a <span %1$s>%2$d persone</span>."
-#: ../../include/nav.php:203
-msgid "See all private messages"
-msgstr "Guarda tutti i messaggi privati"
+#: ../../include/conversation.php:1025
+msgid "and"
+msgstr "e"
-#: ../../include/nav.php:204
-msgid "Mark all private messages seen"
-msgstr "Segna come letti tutti i messaggi privati"
+#: ../../include/conversation.php:1028
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] "e altre %d persone"
-#: ../../include/nav.php:205
-msgid "Inbox"
-msgstr "In arrivo"
+#: ../../include/conversation.php:1029
+#, php-format
+msgid "%s like this."
+msgstr "Piace a %s."
-#: ../../include/nav.php:206
-msgid "Outbox"
-msgstr "Inviati"
+#: ../../include/conversation.php:1029
+#, php-format
+msgid "%s don't like this."
+msgstr "Non piace a %s."
-#: ../../include/nav.php:207 ../../include/widgets.php:543
-msgid "New Message"
-msgstr "Nuovo messaggio"
+#: ../../include/conversation.php:1086
+msgid "Visible to <strong>everybody</strong>"
+msgstr "Visibile a <strong>tutti</strong>"
-#: ../../include/nav.php:210
-msgid "Event Calendar"
-msgstr "Calendario"
+#: ../../include/conversation.php:1087 ../../mod/mail.php:171
+#: ../../mod/mail.php:286
+msgid "Please enter a link URL:"
+msgstr "Inserisci l'indirizzo del link:"
-#: ../../include/nav.php:211
-msgid "See all events"
-msgstr "Guarda tutti gli eventi"
+#: ../../include/conversation.php:1088
+msgid "Please enter a video link/URL:"
+msgstr "Inserisci l'indirizzo del video:"
-#: ../../include/nav.php:212
-msgid "Mark all events seen"
-msgstr "Marca come letti tutti gli eventi"
+#: ../../include/conversation.php:1089
+msgid "Please enter an audio link/URL:"
+msgstr "Inserisci l'indirizzo dell'audio:"
-#: ../../include/nav.php:214
-msgid "Manage Your Channels"
-msgstr "Gestisci i contatti dei tuoi canali"
+#: ../../include/conversation.php:1090
+msgid "Tag term:"
+msgstr "Tag:"
-#: ../../include/nav.php:216
-msgid "Account/Channel Settings"
-msgstr "Impostazioni account e canali"
+#: ../../include/conversation.php:1091 ../../mod/filer.php:49
+msgid "Save to Folder:"
+msgstr "Salva nella cartella:"
-#: ../../include/nav.php:224 ../../mod/admin.php:123
-msgid "Admin"
-msgstr "Amministrazione"
+#: ../../include/conversation.php:1092
+msgid "Where are you right now?"
+msgstr "Dove sei ora?"
-#: ../../include/nav.php:224
-msgid "Site Setup and Configuration"
-msgstr "Configurazione del sito"
+#: ../../include/conversation.php:1093 ../../mod/editpost.php:52
+#: ../../mod/mail.php:172 ../../mod/mail.php:287
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Scade il YYYY-MM-DD HH:MM"
-#: ../../include/nav.php:253
-msgid "Please wait..."
-msgstr "Attendere..."
+#: ../../include/conversation.php:1117 ../../mod/photos.php:977
+#: ../../mod/editblock.php:198 ../../mod/editlayout.php:193
+#: ../../mod/editwebpage.php:230 ../../mod/layouts.php:168
+msgid "Share"
+msgstr "Condividi"
-#: ../../include/message.php:18
-msgid "No recipient provided."
-msgstr "Devi scegliere un destinatario."
+#: ../../include/conversation.php:1119 ../../mod/editwebpage.php:170
+msgid "Page link title"
+msgstr "Link del titolo"
-#: ../../include/message.php:23
-msgid "[no subject]"
-msgstr "[nessun titolo]"
+#: ../../include/conversation.php:1122
+msgid "Post as"
+msgstr "Pubblica come "
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Impossibile determinare il mittente."
+#: ../../include/conversation.php:1123 ../../mod/editpost.php:113
+#: ../../mod/mail.php:235 ../../mod/mail.php:349 ../../mod/editblock.php:144
+#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:175
+msgid "Upload photo"
+msgstr "Carica foto"
-#: ../../include/message.php:200
-msgid "Stored post could not be verified."
-msgstr "Non è stato possibile verificare l'articolo inserito."
+#: ../../include/conversation.php:1124
+msgid "upload photo"
+msgstr "carica foto"
+
+#: ../../include/conversation.php:1125 ../../mod/editpost.php:114
+#: ../../mod/mail.php:236 ../../mod/mail.php:350 ../../mod/editblock.php:145
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:176
+msgid "Attach file"
+msgstr "Allega file"
+
+#: ../../include/conversation.php:1126
+msgid "attach file"
+msgstr "allega file"
+
+#: ../../include/conversation.php:1127 ../../mod/editpost.php:115
+#: ../../mod/mail.php:237 ../../mod/mail.php:351 ../../mod/editblock.php:146
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:177
+msgid "Insert web link"
+msgstr "Inserisci un indirizzo web"
+
+#: ../../include/conversation.php:1128
+msgid "web link"
+msgstr "link web"
-#: ../../include/widgets.php:87
+#: ../../include/conversation.php:1129
+msgid "Insert video link"
+msgstr "Inserisci l'indirizzo di un video"
+
+#: ../../include/conversation.php:1130
+msgid "video link"
+msgstr "link video"
+
+#: ../../include/conversation.php:1131
+msgid "Insert audio link"
+msgstr "Inserisci l'indirizzo di un audio"
+
+#: ../../include/conversation.php:1132
+msgid "audio link"
+msgstr "link audio"
+
+#: ../../include/conversation.php:1133 ../../mod/editpost.php:119
+#: ../../mod/editblock.php:150 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:181
+msgid "Set your location"
+msgstr "La tua località"
+
+#: ../../include/conversation.php:1134
+msgid "set location"
+msgstr "la tua località"
+
+#: ../../include/conversation.php:1135 ../../mod/editpost.php:120
+#: ../../mod/editblock.php:151 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:182
+msgid "Clear browser location"
+msgstr "Rimuovi la località data dal browser"
+
+#: ../../include/conversation.php:1136
+msgid "clear location"
+msgstr "rimuovi la località"
+
+#: ../../include/conversation.php:1138 ../../mod/editpost.php:132
+#: ../../mod/editblock.php:164 ../../mod/editlayout.php:159
+#: ../../mod/editwebpage.php:198
+msgid "Title (optional)"
+msgstr "Titolo (opzionale)"
+
+#: ../../include/conversation.php:1141 ../../mod/editpost.php:134
+#: ../../mod/editblock.php:167 ../../mod/editlayout.php:162
+#: ../../mod/editwebpage.php:200
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categorie (lista separata da virgole)"
+
+#: ../../include/conversation.php:1143 ../../mod/editpost.php:122
+#: ../../mod/editblock.php:153 ../../mod/editlayout.php:149
+#: ../../mod/editwebpage.php:184
+msgid "Permission settings"
+msgstr "Impostazioni permessi"
+
+#: ../../include/conversation.php:1144
+msgid "permissions"
+msgstr "permessi"
+
+#: ../../include/conversation.php:1151 ../../mod/editpost.php:129
+#: ../../mod/editblock.php:161 ../../mod/editlayout.php:156
+#: ../../mod/editwebpage.php:193
+msgid "Public post"
+msgstr "Articolo pubblico"
+
+#: ../../include/conversation.php:1153 ../../mod/editpost.php:135
+#: ../../mod/editblock.php:168 ../../mod/editlayout.php:163
+#: ../../mod/editwebpage.php:201
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Per esempio: mario@esempio.com, simona@esempio.com"
+
+#: ../../include/conversation.php:1166 ../../mod/editpost.php:146
+#: ../../mod/mail.php:242 ../../mod/mail.php:356 ../../mod/editblock.php:178
+#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:210
+msgid "Set expiration date"
+msgstr "Data di scadenza"
+
+#: ../../include/conversation.php:1168 ../../include/ItemObject.php:641
+#: ../../mod/editpost.php:148 ../../mod/mail.php:244 ../../mod/mail.php:358
+msgid "Encrypt text"
+msgstr "Crittografia del testo"
+
+#: ../../include/conversation.php:1170 ../../mod/events.php:580
+#: ../../mod/editpost.php:150
+msgid "OK"
+msgstr "OK"
+
+#: ../../include/conversation.php:1171 ../../mod/settings.php:566
+#: ../../mod/settings.php:592 ../../mod/events.php:579
+#: ../../mod/editpost.php:151 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+msgid "Cancel"
+msgstr "Annulla"
+
+#: ../../include/conversation.php:1415
+msgid "Discover"
+msgstr "Scopri"
+
+#: ../../include/conversation.php:1418
+msgid "Imported public streams"
+msgstr "Contenuti pubblici importati"
+
+#: ../../include/conversation.php:1423
+msgid "Commented Order"
+msgstr "Ultimi commenti"
+
+#: ../../include/conversation.php:1426
+msgid "Sort by Comment Date"
+msgstr "Per data del commento"
+
+#: ../../include/conversation.php:1430
+msgid "Posted Order"
+msgstr "Ultimi articoli"
+
+#: ../../include/conversation.php:1433
+msgid "Sort by Post Date"
+msgstr "Per data di creazione"
+
+#: ../../include/conversation.php:1438 ../../include/widgets.php:94
+msgid "Personal"
+msgstr "Personali"
+
+#: ../../include/conversation.php:1441
+msgid "Posts that mention or involve you"
+msgstr "Articoli che ti riguardano o ti menzionano"
+
+#: ../../include/conversation.php:1447 ../../mod/connections.php:211
+#: ../../mod/connections.php:224 ../../mod/menu.php:80
+msgid "New"
+msgstr "Novità"
+
+#: ../../include/conversation.php:1450
+msgid "Activity Stream - by date"
+msgstr "Elenco attività - per data"
+
+#: ../../include/conversation.php:1456
+msgid "Starred"
+msgstr "Preferiti"
+
+#: ../../include/conversation.php:1459
+msgid "Favourite Posts"
+msgstr "Articoli preferiti"
+
+#: ../../include/conversation.php:1466
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1469
+msgid "Posts flagged as SPAM"
+msgstr "Articoli marcati come spam"
+
+#: ../../include/conversation.php:1509 ../../mod/admin.php:865
+msgid "Channel"
+msgstr "Canale"
+
+#: ../../include/conversation.php:1512
+msgid "Status Messages and Posts"
+msgstr "Articoli e messaggi di stato"
+
+#: ../../include/conversation.php:1521
+msgid "About"
+msgstr "Informazioni"
+
+#: ../../include/conversation.php:1524
+msgid "Profile Details"
+msgstr "Dettagli del profilo"
+
+#: ../../include/conversation.php:1530 ../../include/apps.php:139
+#: ../../include/nav.php:105 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Foto"
+
+#: ../../include/conversation.php:1542
+msgid "Files and Storage"
+msgstr "Archivio file"
+
+#: ../../include/conversation.php:1552 ../../include/conversation.php:1555
+msgid "Chatrooms"
+msgstr "Area chat"
+
+#: ../../include/conversation.php:1565 ../../include/apps.php:129
+#: ../../include/nav.php:117
+msgid "Bookmarks"
+msgstr "Segnalibri"
+
+#: ../../include/conversation.php:1568
+msgid "Saved Bookmarks"
+msgstr "Segnalibri salvati"
+
+#: ../../include/conversation.php:1576 ../../include/apps.php:136
+#: ../../include/nav.php:121 ../../mod/webpages.php:160
+msgid "Webpages"
+msgstr "Pagine web"
+
+#: ../../include/conversation.php:1579
+msgid "Manage Webpages"
+msgstr "Gestisci le pagine web"
+
+#: ../../include/widgets.php:91 ../../include/nav.php:171
+#: ../../mod/apps.php:34
+msgid "Apps"
+msgstr "Apps"
+
+#: ../../include/widgets.php:92
msgid "System"
msgstr "Sistema"
-#: ../../include/widgets.php:90
+#: ../../include/widgets.php:95
msgid "Create Personal App"
msgstr "Crea una app personale"
-#: ../../include/widgets.php:91
+#: ../../include/widgets.php:96
msgid "Edit Personal App"
msgstr "Modifica una app personale"
-#: ../../include/widgets.php:137 ../../mod/suggest.php:53
+#: ../../include/widgets.php:138 ../../mod/suggest.php:53
msgid "Ignore/Hide"
msgstr "Ignora/nascondi"
@@ -2843,111 +2624,139 @@ msgstr "Scrivi l'indirizzo del canale"
msgid "Example: bob@example.com, http://example.com/barbara"
msgstr "Per esempio: mario@pippo.it oppure http://pluto.com/barbara"
-#: ../../include/widgets.php:191
+#: ../../include/widgets.php:190
msgid "Notes"
msgstr "Note"
-#: ../../include/widgets.php:263
+#: ../../include/widgets.php:264
msgid "Remove term"
msgstr "Rimuovi termine"
-#: ../../include/widgets.php:342
+#: ../../include/widgets.php:347
msgid "Archives"
msgstr "Archivi"
-#: ../../include/widgets.php:404
+#: ../../include/widgets.php:425
msgid "Refresh"
msgstr "Aggiorna"
-#: ../../include/widgets.php:405 ../../mod/connedit.php:492
+#: ../../include/widgets.php:426 ../../mod/connedit.php:506
msgid "Me"
msgstr "Io"
-#: ../../include/widgets.php:406 ../../mod/connedit.php:494
+#: ../../include/widgets.php:427 ../../mod/connedit.php:509
msgid "Best Friends"
-msgstr "Buoni amici"
+msgstr "Migliori amici"
-#: ../../include/widgets.php:408
+#: ../../include/widgets.php:429
msgid "Co-workers"
msgstr "Colleghi"
-#: ../../include/widgets.php:409 ../../mod/connedit.php:496
+#: ../../include/widgets.php:430 ../../mod/connedit.php:511
msgid "Former Friends"
msgstr "Ex amici"
-#: ../../include/widgets.php:410 ../../mod/connedit.php:497
+#: ../../include/widgets.php:431 ../../mod/connedit.php:512
msgid "Acquaintances"
msgstr "Conoscenti"
-#: ../../include/widgets.php:411
+#: ../../include/widgets.php:432
msgid "Everybody"
msgstr "Tutti"
-#: ../../include/widgets.php:443
+#: ../../include/widgets.php:466
msgid "Account settings"
msgstr "Il tuo account"
-#: ../../include/widgets.php:449
+#: ../../include/widgets.php:472
msgid "Channel settings"
msgstr "Impostazioni del canale"
-#: ../../include/widgets.php:455
+#: ../../include/widgets.php:478
msgid "Additional features"
msgstr "Funzionalità opzionali"
-#: ../../include/widgets.php:461
+#: ../../include/widgets.php:484
msgid "Feature settings"
msgstr "Componenti aggiuntivi"
-#: ../../include/widgets.php:467
+#: ../../include/widgets.php:490
msgid "Display settings"
msgstr "Aspetto"
-#: ../../include/widgets.php:473
+#: ../../include/widgets.php:496
msgid "Connected apps"
msgstr "App connesse"
-#: ../../include/widgets.php:479
+#: ../../include/widgets.php:502
msgid "Export channel"
msgstr "Esporta il canale"
-#: ../../include/widgets.php:485
-msgid "Export content"
-msgstr "Esporta i contenuti"
-
-#: ../../include/widgets.php:491
-msgid "Automatic Permissions (Advanced)"
-msgstr "Permessi predefiniti (avanzato)"
+#: ../../include/widgets.php:511 ../../mod/connedit.php:539
+msgid "Connection Default Permissions"
+msgstr "Permessi predefiniti dei nuovi contatti"
-#: ../../include/widgets.php:501
+#: ../../include/widgets.php:519
msgid "Premium Channel Settings"
msgstr "Canale premium - impostazioni"
-#: ../../include/widgets.php:538
+#: ../../include/widgets.php:535 ../../include/apps.php:134
+#: ../../include/nav.php:218 ../../mod/admin.php:951 ../../mod/admin.php:1156
+msgid "Settings"
+msgstr "Impostazioni"
+
+#: ../../include/widgets.php:548 ../../mod/mail.php:125
+#: ../../mod/message.php:31
+msgid "Messages"
+msgstr "Messaggi"
+
+#: ../../include/widgets.php:551
msgid "Check Mail"
msgstr "Controlla i messaggi"
-#: ../../include/widgets.php:619
+#: ../../include/widgets.php:556 ../../include/nav.php:209
+msgid "New Message"
+msgstr "Nuovo messaggio"
+
+#: ../../include/widgets.php:634
msgid "Chat Rooms"
msgstr "Aree chat attive"
-#: ../../include/widgets.php:637
+#: ../../include/widgets.php:654
msgid "Bookmarked Chatrooms"
msgstr "Aree chat nei segnalibri"
-#: ../../include/widgets.php:655
+#: ../../include/widgets.php:674
msgid "Suggested Chatrooms"
msgstr "Aree chat suggerite"
+#: ../../include/widgets.php:801 ../../include/widgets.php:859
+msgid "photo/image"
+msgstr "foto/immagine"
+
+#: ../../include/zot.php:664
+msgid "Invalid data packet"
+msgstr "Dati non validi"
+
+#: ../../include/zot.php:680
+msgid "Unable to verify channel signature"
+msgstr "Impossibile verificare la firma elettronica del canale"
+
+#: ../../include/zot.php:1829
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Impossibile verificare la firma elettronica del sito %s"
+
#: ../../include/ItemObject.php:130
msgid "Save to Folder"
msgstr "Salva nella cartella"
#: ../../include/ItemObject.php:142 ../../include/ItemObject.php:154
+#: ../../mod/photos.php:1023 ../../mod/photos.php:1035
msgid "View all"
msgstr "Vedi tutto"
-#: ../../include/ItemObject.php:151
+#: ../../include/ItemObject.php:151 ../../mod/photos.php:1032
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
@@ -2970,141 +2779,340 @@ msgstr "Attiva/disattiva preferito"
msgid "starred"
msgstr "preferito"
-#: ../../include/ItemObject.php:202
+#: ../../include/ItemObject.php:203
msgid "Add Tag"
msgstr "Aggiungi un tag"
-#: ../../include/ItemObject.php:220 ../../mod/photos.php:1005
+#: ../../include/ItemObject.php:221 ../../mod/photos.php:975
msgid "I like this (toggle)"
msgstr "Attiva/disattiva Mi piace"
-#: ../../include/ItemObject.php:221 ../../mod/photos.php:1006
+#: ../../include/ItemObject.php:222 ../../mod/photos.php:976
msgid "I don't like this (toggle)"
msgstr "Attiva/disattiva Non mi piace"
-#: ../../include/ItemObject.php:225
+#: ../../include/ItemObject.php:226
msgid "Share This"
msgstr "Condividi"
-#: ../../include/ItemObject.php:225
+#: ../../include/ItemObject.php:226
msgid "share"
msgstr "condividi"
-#: ../../include/ItemObject.php:248 ../../include/ItemObject.php:249
+#: ../../include/ItemObject.php:243
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d commento"
+msgstr[1] "%d commenti"
+
+#: ../../include/ItemObject.php:256 ../../include/ItemObject.php:257
#, php-format
msgid "View %s's profile - %s"
msgstr "Guarda il profilo di %s - %s"
-#: ../../include/ItemObject.php:250
+#: ../../include/ItemObject.php:260
msgid "to"
msgstr "a"
-#: ../../include/ItemObject.php:251
+#: ../../include/ItemObject.php:261
msgid "via"
msgstr "via"
-#: ../../include/ItemObject.php:252
+#: ../../include/ItemObject.php:262
msgid "Wall-to-Wall"
msgstr "Da bacheca a bacheca"
-#: ../../include/ItemObject.php:253
+#: ../../include/ItemObject.php:263
msgid "via Wall-To-Wall:"
msgstr "da bacheca a bacheca:"
-#: ../../include/ItemObject.php:288
+#: ../../include/ItemObject.php:299
msgid "Save Bookmarks"
msgstr "Salva segnalibro"
-#: ../../include/ItemObject.php:289
+#: ../../include/ItemObject.php:300
msgid "Add to Calendar"
msgstr "Aggiungi al calendario"
-#: ../../include/ItemObject.php:297
+#: ../../include/ItemObject.php:309
+msgid "Mark all seen"
+msgstr "Marca tutto come letto"
+
+#: ../../include/ItemObject.php:314 ../../mod/photos.php:1143
msgctxt "noun"
msgid "Likes"
msgstr "Mi piace"
-#: ../../include/ItemObject.php:298
+#: ../../include/ItemObject.php:315 ../../mod/photos.php:1144
msgctxt "noun"
msgid "Dislikes"
msgstr "Non mi piace"
-#: ../../include/ItemObject.php:329
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d commento"
-msgstr[1] "%d commenti"
-
-#: ../../include/ItemObject.php:330 ../../include/js_strings.php:7
+#: ../../include/ItemObject.php:345 ../../include/js_strings.php:7
msgid "[+] show all"
msgstr "[+] mostra tutto"
-#: ../../include/ItemObject.php:594 ../../mod/photos.php:1024
-#: ../../mod/photos.php:1111
+#: ../../include/ItemObject.php:626 ../../mod/photos.php:994
+#: ../../mod/photos.php:1104
msgid "This is you"
msgstr "Questo sei tu"
-#: ../../include/ItemObject.php:596 ../../include/js_strings.php:6
-#: ../../mod/photos.php:1026 ../../mod/photos.php:1113
+#: ../../include/ItemObject.php:628 ../../include/js_strings.php:6
+#: ../../mod/photos.php:996 ../../mod/photos.php:1106
msgid "Comment"
msgstr "Commento"
-#: ../../include/ItemObject.php:597 ../../mod/mood.php:135
-#: ../../mod/settings.php:519 ../../mod/settings.php:631
-#: ../../mod/settings.php:660 ../../mod/settings.php:684
-#: ../../mod/settings.php:760 ../../mod/settings.php:945
-#: ../../mod/poke.php:166 ../../mod/profiles.php:643 ../../mod/chat.php:177
-#: ../../mod/chat.php:211 ../../mod/connect.php:92 ../../mod/connedit.php:540
-#: ../../mod/setup.php:307 ../../mod/setup.php:350 ../../mod/pdledit.php:58
-#: ../../mod/photos.php:563 ../../mod/photos.php:674 ../../mod/photos.php:987
-#: ../../mod/photos.php:1027 ../../mod/photos.php:1114
-#: ../../mod/sources.php:104 ../../mod/sources.php:138
-#: ../../mod/events.php:586 ../../mod/filestorage.php:137
-#: ../../mod/fsuggest.php:108 ../../mod/group.php:81 ../../mod/admin.php:414
-#: ../../mod/admin.php:725 ../../mod/admin.php:861 ../../mod/admin.php:994
-#: ../../mod/admin.php:1193 ../../mod/admin.php:1280 ../../mod/thing.php:286
-#: ../../mod/thing.php:329 ../../mod/import.php:475 ../../mod/invite.php:142
-#: ../../mod/mail.php:345 ../../mod/appman.php:99 ../../mod/poll.php:68
-#: ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/blogga/php/config.php:67
-#: ../../view/theme/blogga/view/theme/blog/config.php:67
+#: ../../include/ItemObject.php:629 ../../mod/mood.php:135
+#: ../../mod/settings.php:565 ../../mod/settings.php:677
+#: ../../mod/settings.php:706 ../../mod/settings.php:730
+#: ../../mod/settings.php:812 ../../mod/settings.php:1004
+#: ../../mod/group.php:81 ../../mod/poke.php:166 ../../mod/setup.php:313
+#: ../../mod/setup.php:358 ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/events.php:598 ../../mod/chat.php:177 ../../mod/chat.php:211
+#: ../../mod/connedit.php:556 ../../mod/mail.php:352 ../../mod/photos.php:594
+#: ../../mod/photos.php:671 ../../mod/photos.php:957 ../../mod/photos.php:997
+#: ../../mod/photos.php:1107 ../../mod/pdledit.php:58 ../../mod/thing.php:284
+#: ../../mod/thing.php:327 ../../mod/fsuggest.php:108
+#: ../../mod/filestorage.php:146 ../../mod/connect.php:93
+#: ../../mod/locs.php:99 ../../mod/import.php:504 ../../mod/profiles.php:633
+#: ../../mod/admin.php:412 ../../mod/admin.php:723 ../../mod/admin.php:859
+#: ../../mod/admin.php:992 ../../mod/admin.php:1191 ../../mod/admin.php:1278
+#: ../../mod/invite.php:142 ../../mod/xchan.php:11 ../../mod/appman.php:99
+#: ../../mod/poll.php:68 ../../view/theme/apw/php/config.php:256
#: ../../view/theme/redbasic/php/config.php:99
msgid "Submit"
msgstr "Salva"
-#: ../../include/ItemObject.php:598
+#: ../../include/ItemObject.php:630
msgid "Bold"
msgstr "Grassetto"
-#: ../../include/ItemObject.php:599
+#: ../../include/ItemObject.php:631
msgid "Italic"
msgstr "Corsivo"
-#: ../../include/ItemObject.php:600
+#: ../../include/ItemObject.php:632
msgid "Underline"
msgstr "Sottolineato"
-#: ../../include/ItemObject.php:601
+#: ../../include/ItemObject.php:633
msgid "Quote"
msgstr "Citazione"
-#: ../../include/ItemObject.php:602
+#: ../../include/ItemObject.php:634
msgid "Code"
msgstr "Codice"
-#: ../../include/ItemObject.php:603
+#: ../../include/ItemObject.php:635
msgid "Image"
msgstr "Immagine"
-#: ../../include/ItemObject.php:604
+#: ../../include/ItemObject.php:636
msgid "Link"
msgstr "Link"
-#: ../../include/ItemObject.php:605
+#: ../../include/ItemObject.php:637
msgid "Video"
msgstr "Video"
+#: ../../include/datetime.php:43 ../../include/datetime.php:45
+msgid "Miscellaneous"
+msgstr "Altro"
+
+#: ../../include/datetime.php:142
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "AAAA-MM-GG oppure MM-GG"
+
+#: ../../include/datetime.php:259
+msgid "never"
+msgstr "mai"
+
+#: ../../include/datetime.php:265
+msgid "less than a second ago"
+msgstr "meno di un secondo fa"
+
+#: ../../include/datetime.php:268
+msgid "year"
+msgstr "anno"
+
+#: ../../include/datetime.php:268
+msgid "years"
+msgstr "anni"
+
+#: ../../include/datetime.php:269
+msgid "month"
+msgstr "mese"
+
+#: ../../include/datetime.php:269
+msgid "months"
+msgstr "mesi"
+
+#: ../../include/datetime.php:270
+msgid "week"
+msgstr "settimana"
+
+#: ../../include/datetime.php:270
+msgid "weeks"
+msgstr "settimane"
+
+#: ../../include/datetime.php:271
+msgid "day"
+msgstr "giorno"
+
+#: ../../include/datetime.php:271
+msgid "days"
+msgstr "giorni"
+
+#: ../../include/datetime.php:272
+msgid "hour"
+msgstr "ora"
+
+#: ../../include/datetime.php:272
+msgid "hours"
+msgstr "ore"
+
+#: ../../include/datetime.php:273
+msgid "minute"
+msgstr "minuto"
+
+#: ../../include/datetime.php:273
+msgid "minutes"
+msgstr "minuti"
+
+#: ../../include/datetime.php:274
+msgid "second"
+msgstr "secondo"
+
+#: ../../include/datetime.php:274
+msgid "seconds"
+msgstr "secondi"
+
+#: ../../include/datetime.php:283
+#, php-format
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s fa"
+
+#: ../../include/datetime.php:491
+#, php-format
+msgid "%1$s's birthday"
+msgstr "Compleanno di %1$s"
+
+#: ../../include/datetime.php:492
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Buon compleanno %1$s"
+
+#: ../../include/apps.php:128
+msgid "Site Admin"
+msgstr "Amministrazione sito"
+
+#: ../../include/apps.php:130
+msgid "Address Book"
+msgstr "Rubrica"
+
+#: ../../include/apps.php:131 ../../include/nav.php:125 ../../boot.php:1540
+msgid "Login"
+msgstr "Accedi"
+
+#: ../../include/apps.php:132 ../../include/nav.php:216
+#: ../../mod/manage.php:148
+msgid "Channel Manager"
+msgstr "Gestione canali"
+
+#: ../../include/apps.php:133 ../../include/nav.php:190
+msgid "Matrix"
+msgstr "RedMatrix"
+
+#: ../../include/apps.php:137 ../../include/nav.php:193
+msgid "Channel Home"
+msgstr "Bacheca del canale"
+
+#: ../../include/apps.php:140 ../../include/nav.php:212
+#: ../../mod/events.php:442
+msgid "Events"
+msgstr "Eventi"
+
+#: ../../include/apps.php:141 ../../include/nav.php:176
+#: ../../mod/directory.php:321
+msgid "Directory"
+msgstr "Elenco pubblico"
+
+#: ../../include/apps.php:142 ../../include/nav.php:168 ../../mod/help.php:58
+#: ../../mod/help.php:63
+msgid "Help"
+msgstr "Guida"
+
+#: ../../include/apps.php:143 ../../include/nav.php:204
+msgid "Mail"
+msgstr "Messaggi"
+
+#: ../../include/apps.php:144 ../../mod/mood.php:131
+msgid "Mood"
+msgstr "Umore"
+
+#: ../../include/apps.php:146 ../../include/nav.php:111
+msgid "Chat"
+msgstr "Area chat"
+
+#: ../../include/apps.php:148
+msgid "Probe"
+msgstr "Diagnostica"
+
+#: ../../include/apps.php:149
+msgid "Suggest"
+msgstr "Suggerisci"
+
+#: ../../include/apps.php:150
+msgid "Random Channel"
+msgstr "Canale casuale"
+
+#: ../../include/apps.php:151
+msgid "Invite"
+msgstr "Invita"
+
+#: ../../include/apps.php:152
+msgid "Features"
+msgstr "Funzionalità"
+
+#: ../../include/apps.php:153
+msgid "Language"
+msgstr "Lingua"
+
+#: ../../include/apps.php:154
+msgid "Post"
+msgstr "Articolo"
+
+#: ../../include/apps.php:155
+msgid "Profile Photo"
+msgstr "Foto del profilo"
+
+#: ../../include/apps.php:247 ../../mod/settings.php:81
+#: ../../mod/settings.php:591
+msgid "Update"
+msgstr "Aggiorna"
+
+#: ../../include/apps.php:247
+msgid "Install"
+msgstr "Installa"
+
+#: ../../include/apps.php:252
+msgid "Purchase"
+msgstr "Acquista"
+
+#: ../../include/Contact.php:123
+msgid "New window"
+msgstr "Nuova finestra"
+
+#: ../../include/Contact.php:124
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
+
+#: ../../include/Contact.php:214 ../../mod/admin.php:646
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Utente '%s' eliminato"
+
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr "Eliminare questo elemento?"
@@ -3226,19 +3234,6 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/Contact.php:123
-msgid "New window"
-msgstr "Nuova finestra"
-
-#: ../../include/Contact.php:124
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
-
-#: ../../include/Contact.php:211 ../../mod/admin.php:649
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Utente '%s' eliminato"
-
#: ../../include/profile_selectors.php:6
#: ../../include/profile_selectors.php:23
msgid "Male"
@@ -3290,13 +3285,6 @@ msgid "Non-specific"
msgstr "Non specificato"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97 ../../include/permissions.php:741
-msgid "Other"
-msgstr "Altro"
-
-#: ../../include/profile_selectors.php:6
msgid "Undecided"
msgstr "Indeciso"
@@ -3394,7 +3382,7 @@ msgstr "Sesso-dipendente"
#: ../../include/profile_selectors.php:80
msgid "Friends/Benefits"
-msgstr "Amici piccanti"
+msgstr "Amici con qualcosa in più"
#: ../../include/profile_selectors.php:80
msgid "Casual"
@@ -3411,7 +3399,7 @@ msgstr "Sposato/a"
#: ../../include/profile_selectors.php:80
msgid "Imaginarily married"
-msgstr "Sogna il matrimonio"
+msgstr "Con matrimonio immaginario"
#: ../../include/profile_selectors.php:80
msgid "Partners"
@@ -3482,259 +3470,397 @@ msgstr "Chi se ne frega"
msgid "Ask me"
msgstr "Chiedimelo"
-#: ../../include/auth.php:103
-msgid "Logged out."
-msgstr "Uscita effettuata."
+#: ../../include/nav.php:95 ../../include/nav.php:128 ../../boot.php:1539
+msgid "Logout"
+msgstr "Esci"
-#: ../../include/auth.php:249
-msgid "Failed authentication"
-msgstr "Autenticazione fallita"
+#: ../../include/nav.php:95 ../../include/nav.php:128
+msgid "End this session"
+msgstr "Chiudi questa sessione"
-#: ../../include/auth.php:264 ../../mod/openid.php:188
-msgid "Login failed."
-msgstr "Accesso fallito."
+#: ../../include/nav.php:98 ../../include/nav.php:159
+msgid "Home"
+msgstr "Bacheca"
-#: ../../include/permissions.php:13
-msgid "Can view my normal stream and posts"
-msgstr "Può vedere i miei contenuti e articoli normali"
+#: ../../include/nav.php:98
+msgid "Your posts and conversations"
+msgstr "I tuoi articoli e conversazioni"
-#: ../../include/permissions.php:14
-msgid "Can view my default channel profile"
-msgstr "Può vedere il profilo predefinito del canale"
+#: ../../include/nav.php:99
+msgid "Your profile page"
+msgstr "Il tuo profilo"
-#: ../../include/permissions.php:15
-msgid "Can view my photo albums"
-msgstr "Può vedere i miei album fotografici"
+#: ../../include/nav.php:101
+msgid "Edit Profiles"
+msgstr "Modifica i profili"
-#: ../../include/permissions.php:16
-msgid "Can view my connections"
-msgstr "Può vedere i miei contatti"
+#: ../../include/nav.php:101
+msgid "Manage/Edit profiles"
+msgstr "Gestisci/modifica i profili"
-#: ../../include/permissions.php:17
-msgid "Can view my file storage"
-msgstr "Può vedere i miei file condivisi"
+#: ../../include/nav.php:103
+msgid "Edit your profile"
+msgstr "Modifica il profilo"
-#: ../../include/permissions.php:18
-msgid "Can view my webpages"
-msgstr "Può vedere le mie pagine web"
+#: ../../include/nav.php:105
+msgid "Your photos"
+msgstr "Le tue foto"
-#: ../../include/permissions.php:21
-msgid "Can send me their channel stream and posts"
-msgstr "È tra i canali che seguo"
+#: ../../include/nav.php:106
+msgid "Your files"
+msgstr "I tuoi file"
-#: ../../include/permissions.php:22
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Può scrivere sulla bacheca del mio canale"
+#: ../../include/nav.php:111
+msgid "Your chatrooms"
+msgstr "Le tue aree chat"
-#: ../../include/permissions.php:23
-msgid "Can comment on or like my posts"
-msgstr "Può commentare o aggiungere \"mi piace\" ai miei articoli"
+#: ../../include/nav.php:117
+msgid "Your bookmarks"
+msgstr "I tuoi segnalibri"
-#: ../../include/permissions.php:24
-msgid "Can send me private mail messages"
-msgstr "Può inviarmi messaggi privati"
+#: ../../include/nav.php:121
+msgid "Your webpages"
+msgstr "Le tue pagine web"
-#: ../../include/permissions.php:25
-msgid "Can post photos to my photo albums"
-msgstr "Può aggiungere foto ai miei album"
+#: ../../include/nav.php:125
+msgid "Sign in"
+msgstr "Accedi"
-#: ../../include/permissions.php:26
-msgid "Can like/dislike stuff"
-msgstr "Può aggiungere \"mi piace\""
+#: ../../include/nav.php:142
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - clicca per uscire"
-#: ../../include/permissions.php:26
-msgid "Profiles and things other than posts/comments"
-msgstr "Profili e tutto ciò che non è articoli e commenti"
+#: ../../include/nav.php:145
+msgid "Remote authentication"
+msgstr "Autenticazione magica dal tuo server"
-#: ../../include/permissions.php:28
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Può inoltrare articoli a tutti i contatti del canale tramite una @menzione"
+#: ../../include/nav.php:145
+msgid "Click to authenticate to your home hub"
+msgstr "Clicca per autenticarti sul tuo server principale"
-#: ../../include/permissions.php:28
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione"
+#: ../../include/nav.php:159
+msgid "Home Page"
+msgstr "Bacheca"
-#: ../../include/permissions.php:29
-msgid "Can chat with me (when available)"
-msgstr "Può aprire una chat con me (se disponibile)"
+#: ../../include/nav.php:163 ../../mod/register.php:224 ../../boot.php:1516
+msgid "Register"
+msgstr "Iscriviti"
-#: ../../include/permissions.php:30
-msgid "Can write to my file storage"
-msgstr "Può scrivere sul mio archivio file"
+#: ../../include/nav.php:163
+msgid "Create an account"
+msgstr "Crea un account"
-#: ../../include/permissions.php:31
-msgid "Can edit my webpages"
-msgstr "Può modificare le mie pagine web"
+#: ../../include/nav.php:168
+msgid "Help and documentation"
+msgstr "Guida e documentazione"
-#: ../../include/permissions.php:33
-msgid "Can source my public posts in derived channels"
-msgstr "Può usare i miei articoli pubblici per creare canali derivati"
+#: ../../include/nav.php:171
+msgid "Applications, utilities, links, games"
+msgstr "Applicazioni, utilità, link, giochi"
-#: ../../include/permissions.php:33
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Piuttosto avanzato - molto utile nelle comunità aperte"
+#: ../../include/nav.php:173
+msgid "Search site content"
+msgstr "Cerca nel sito"
-#: ../../include/permissions.php:35
-msgid "Can administer my channel resources"
-msgstr "Può amministrare i contenuti del mio canale"
+#: ../../include/nav.php:176
+msgid "Channel Directory"
+msgstr "Elenco pubblico canali"
-#: ../../include/permissions.php:35
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
+#: ../../include/nav.php:190
+msgid "Your matrix"
+msgstr "La tua rete"
-#: ../../include/permissions.php:733
-msgid "Social Networking"
-msgstr "Social network"
+#: ../../include/nav.php:191
+msgid "Mark all matrix notifications seen"
+msgstr "Segna come lette le notifiche della tua rete"
-#: ../../include/permissions.php:734 ../../include/permissions.php:736
-#: ../../include/permissions.php:738 ../../include/permissions.php:740
-msgid "Mostly Public"
-msgstr "Sempre pubblico, o quasi"
+#: ../../include/nav.php:193
+msgid "Channel home"
+msgstr "Bacheca del canale"
-#: ../../include/permissions.php:734 ../../include/permissions.php:736
-#: ../../include/permissions.php:738
-msgid "Restricted"
-msgstr "Con restrizioni sui follower"
+#: ../../include/nav.php:194
+msgid "Mark all channel notifications seen"
+msgstr "Segna come lette le notifiche del canale"
-#: ../../include/permissions.php:734 ../../include/permissions.php:736
-msgid "Private"
-msgstr "Privato"
+#: ../../include/nav.php:197 ../../mod/connections.php:406
+msgid "Connections"
+msgstr "Contatti"
-#: ../../include/permissions.php:735
-msgid "Community Forum"
-msgstr "Forum di discussione"
+#: ../../include/nav.php:200
+msgid "Notices"
+msgstr "Avvisi"
-#: ../../include/permissions.php:737
-msgid "Feed Republish"
-msgstr "Aggregatore di feed esterni"
+#: ../../include/nav.php:200
+msgid "Notifications"
+msgstr "Notifiche"
-#: ../../include/permissions.php:739
-msgid "Celebrity/Soapbox"
-msgstr "Pagina per fan"
+#: ../../include/nav.php:201
+msgid "See all notifications"
+msgstr "Vedi tutte le notifiche"
-#: ../../include/permissions.php:742
-msgid "Custom/Expert Mode"
-msgstr "Personalizzato - per esperti"
+#: ../../include/nav.php:202 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
+msgstr "Segna come lette le notifiche di sistema"
+
+#: ../../include/nav.php:204
+msgid "Private mail"
+msgstr "Messaggi privati"
+
+#: ../../include/nav.php:205
+msgid "See all private messages"
+msgstr "Guarda tutti i messaggi privati"
+
+#: ../../include/nav.php:206
+msgid "Mark all private messages seen"
+msgstr "Segna come letti tutti i messaggi privati"
+
+#: ../../include/nav.php:207
+msgid "Inbox"
+msgstr "In arrivo"
+
+#: ../../include/nav.php:208
+msgid "Outbox"
+msgstr "Inviati"
+
+#: ../../include/nav.php:212
+msgid "Event Calendar"
+msgstr "Calendario"
+
+#: ../../include/nav.php:213
+msgid "See all events"
+msgstr "Guarda tutti gli eventi"
+
+#: ../../include/nav.php:214
+msgid "Mark all events seen"
+msgstr "Marca come letti tutti gli eventi"
+
+#: ../../include/nav.php:216
+msgid "Manage Your Channels"
+msgstr "Gestisci i tuoi canali"
+
+#: ../../include/nav.php:218
+msgid "Account/Channel Settings"
+msgstr "Impostazioni dell'account e del canale"
+
+#: ../../include/nav.php:226 ../../mod/admin.php:123
+msgid "Admin"
+msgstr "Amministrazione"
+
+#: ../../include/nav.php:226
+msgid "Site Setup and Configuration"
+msgstr "Installazione e configurazione del sito"
+
+#: ../../include/nav.php:262
+msgid "@name, #tag, content"
+msgstr "@nome, #tag, testo"
+
+#: ../../include/nav.php:263
+msgid "Please wait..."
+msgstr "Attendere..."
+
+#: ../../include/security.php:357
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
#: ../../mod/mood.php:132
msgid "Set your current mood and tell your friends"
msgstr "Scegli il tuo umore attuale per mostrarlo agli amici"
-#: ../../mod/mitem.php:14 ../../mod/menu.php:92
+#: ../../mod/register.php:44
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!"
+
+#: ../../mod/register.php:50
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio."
+
+#: ../../mod/register.php:84
+msgid "Passwords do not match."
+msgstr "Le password non corrispondono."
+
+#: ../../mod/register.php:117
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata."
+
+#: ../../mod/register.php:123
+msgid "Your registration is pending approval by the site owner."
+msgstr "La tua richiesta è in attesa di approvazione da parte dell'amministratore del sito."
+
+#: ../../mod/register.php:126
+msgid "Your registration can not be processed."
+msgstr "La tua registrazione non puo' essere processata."
+
+#: ../../mod/register.php:163
+msgid "Registration on this site/hub is by approval only."
+msgstr "La registrazione su questo sito è soggetta ad approvazione."
+
+#: ../../mod/register.php:164
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr "<a href=\"pubsites\">Registrati su un altro server affiliato</a>"
+
+#: ../../mod/register.php:174
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Questo sito ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani."
+
+#: ../../mod/register.php:185
+msgid "Terms of Service"
+msgstr "Condizioni d'Uso"
+
+#: ../../mod/register.php:191
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "Accetto le %s di questo sito"
+
+#: ../../mod/register.php:193
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Ho più di 13 anni e accetto le %s di questo sito"
+
+#: ../../mod/register.php:207 ../../mod/admin.php:413
+msgid "Registration"
+msgstr "Registrazione"
+
+#: ../../mod/register.php:212
+msgid "Membership on this site is by invitation only."
+msgstr "Per registrarsi su questo sito è necessario un invito."
+
+#: ../../mod/register.php:213
+msgid "Please enter your invitation code"
+msgstr "Inserisci il codice dell'invito"
+
+#: ../../mod/register.php:216
+msgid "Your email address"
+msgstr "Il tuo indirizzo email"
+
+#: ../../mod/register.php:217
+msgid "Choose a password"
+msgstr "Scegli una password"
+
+#: ../../mod/register.php:218
+msgid "Please re-enter your password"
+msgstr "Ripeti la password per verifica"
+
+#: ../../mod/mitem.php:24 ../../mod/menu.php:108
msgid "Menu not found."
msgstr "Menù non trovato."
-#: ../../mod/mitem.php:47
+#: ../../mod/mitem.php:67
msgid "Menu element updated."
msgstr "L'elemento del menù è stato aggiornato."
-#: ../../mod/mitem.php:51
+#: ../../mod/mitem.php:71
msgid "Unable to update menu element."
msgstr "Non è possibile aggiornare l'elemento del menù."
-#: ../../mod/mitem.php:57
+#: ../../mod/mitem.php:77
msgid "Menu element added."
msgstr "Elemento aggiunto al menù."
-#: ../../mod/mitem.php:61
+#: ../../mod/mitem.php:81
msgid "Unable to add menu element."
msgstr "Impossibile aggiungere l'elemento al menù."
-#: ../../mod/mitem.php:78 ../../mod/dirprofile.php:175 ../../mod/menu.php:120
-#: ../../mod/xchan.php:38
+#: ../../mod/mitem.php:111 ../../mod/menu.php:136 ../../mod/xchan.php:37
msgid "Not found."
msgstr "Non trovato."
-#: ../../mod/mitem.php:96
+#: ../../mod/mitem.php:127
msgid "Manage Menu Elements"
msgstr "Gestione elementi del menù"
-#: ../../mod/mitem.php:99
+#: ../../mod/mitem.php:130
msgid "Edit menu"
msgstr "Modifica il menù"
-#: ../../mod/mitem.php:102
+#: ../../mod/mitem.php:133
msgid "Edit element"
msgstr "Modifica l'elemento"
-#: ../../mod/mitem.php:103
+#: ../../mod/mitem.php:134
msgid "Drop element"
msgstr "Elimina l'elemento"
-#: ../../mod/mitem.php:104
+#: ../../mod/mitem.php:135
msgid "New element"
msgstr "Nuovo elemento"
-#: ../../mod/mitem.php:105
+#: ../../mod/mitem.php:136
msgid "Edit this menu container"
msgstr "Modifica il contenitore del menù"
-#: ../../mod/mitem.php:106
+#: ../../mod/mitem.php:137
msgid "Add menu element"
msgstr "Aggiungi un elemento al menù"
-#: ../../mod/mitem.php:107
+#: ../../mod/mitem.php:138
msgid "Delete this menu item"
msgstr "Elimina questo elemento del menù"
-#: ../../mod/mitem.php:108
+#: ../../mod/mitem.php:139
msgid "Edit this menu item"
msgstr "Modifica questo elemento del menù"
-#: ../../mod/mitem.php:131
+#: ../../mod/mitem.php:158
msgid "New Menu Element"
msgstr "Nuovo elemento del menù"
-#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:203
msgid "Menu Item Permissions"
msgstr "Permessi del menu"
-#: ../../mod/mitem.php:134 ../../mod/mitem.php:177 ../../mod/settings.php:980
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:204 ../../mod/settings.php:1039
msgid "(click to open/close)"
msgstr "(clicca per aprire/chiudere)"
-#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
+#: ../../mod/mitem.php:163 ../../mod/mitem.php:207
msgid "Link text"
msgstr "Testo del link"
-#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
+#: ../../mod/mitem.php:164 ../../mod/mitem.php:208
msgid "URL of link"
msgstr "Indirizzo del link"
-#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
-msgid "Use Red magic-auth if available"
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
+msgid "Use RedMatrix magic-auth if available"
msgstr "Usa l'autenticazione magica di RedMatrix, se disponibile"
-#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
+#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
msgid "Open link in new window"
msgstr "Apri il link in una nuova finestra"
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
msgid "Order in list"
msgstr "Ordine dell'elenco"
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
msgid "Higher numbers will sink to bottom of listing"
msgstr "I numeri più alti andranno in fondo all'elenco"
-#: ../../mod/mitem.php:154
+#: ../../mod/mitem.php:181
msgid "Menu item not found."
msgstr "L'elemento del menù non è stato trovato."
-#: ../../mod/mitem.php:163
+#: ../../mod/mitem.php:190
msgid "Menu item deleted."
msgstr "L'elemento del menù è stato eliminato."
-#: ../../mod/mitem.php:165
+#: ../../mod/mitem.php:192
msgid "Menu item could not be deleted."
msgstr "L'elemento del menù non può essere eliminato."
-#: ../../mod/mitem.php:174
+#: ../../mod/mitem.php:201
msgid "Edit Menu Element"
msgstr "Modifica l'elemento del menù"
-#: ../../mod/mitem.php:186 ../../mod/menu.php:114
+#: ../../mod/mitem.php:213 ../../mod/menu.php:130
msgid "Modify"
msgstr "Modifica"
@@ -3742,490 +3868,629 @@ msgstr "Modifica"
msgid "Some blurb about what to do when you're new here"
msgstr "Qualche suggerimento per i nuovi utenti su cosa fare"
-#: ../../mod/ping.php:237
-msgid "sent you a private message"
-msgstr "ti ha inviato un messaggio privato"
-
-#: ../../mod/ping.php:288
-msgid "added your channel"
-msgstr "ha aggiunto il tuo canale"
-
-#: ../../mod/ping.php:329
-msgid "posted an event"
-msgstr "ha creato un evento"
-
-#: ../../mod/acl.php:244
-msgid "network"
-msgstr "rete"
-
-#: ../../mod/settings.php:71
+#: ../../mod/settings.php:73
msgid "Name is required"
msgstr "Il nome è obbligatorio"
-#: ../../mod/settings.php:75
+#: ../../mod/settings.php:77
msgid "Key and Secret are required"
-msgstr "Chiave e Segreto sono richiesti"
+msgstr "Key e Secret sono richiesti"
-#: ../../mod/settings.php:198
+#: ../../mod/settings.php:213
msgid "Passwords do not match. Password unchanged."
msgstr "Le password non corrispondono. Password non cambiata."
-#: ../../mod/settings.php:202
+#: ../../mod/settings.php:217
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "Le password non possono essere vuote. Password non cambiata."
-#: ../../mod/settings.php:216
+#: ../../mod/settings.php:231
msgid "Password changed."
msgstr "Password cambiata."
-#: ../../mod/settings.php:218
+#: ../../mod/settings.php:233
msgid "Password update failed. Please try again."
-msgstr "Aggiornamento password fallito. Prova ancora."
+msgstr "Modifica password fallita. Prova ancora."
-#: ../../mod/settings.php:232
+#: ../../mod/settings.php:247
msgid "Not valid email."
msgstr "Email non valida."
-#: ../../mod/settings.php:235
+#: ../../mod/settings.php:250
msgid "Protected email address. Cannot change to that email."
msgstr "È un indirizzo email riservato. Non puoi sceglierlo."
-#: ../../mod/settings.php:244
+#: ../../mod/settings.php:259
msgid "System failure storing new email. Please try again."
msgstr "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore."
-#: ../../mod/settings.php:447
+#: ../../mod/settings.php:495
msgid "Settings updated."
msgstr "Impostazioni aggiornate."
-#: ../../mod/settings.php:518 ../../mod/settings.php:544
-#: ../../mod/settings.php:580
+#: ../../mod/settings.php:564 ../../mod/settings.php:590
+#: ../../mod/settings.php:626
msgid "Add application"
msgstr "Aggiungi una app"
-#: ../../mod/settings.php:521
+#: ../../mod/settings.php:567
msgid "Name of application"
msgstr "Nome dell'applicazione"
-#: ../../mod/settings.php:522 ../../mod/settings.php:548
+#: ../../mod/settings.php:568 ../../mod/settings.php:594
msgid "Consumer Key"
msgstr "Consumer Key"
-#: ../../mod/settings.php:522 ../../mod/settings.php:523
+#: ../../mod/settings.php:568 ../../mod/settings.php:569
msgid "Automatically generated - change if desired. Max length 20"
msgstr "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20"
-#: ../../mod/settings.php:523 ../../mod/settings.php:549
+#: ../../mod/settings.php:569 ../../mod/settings.php:595
msgid "Consumer Secret"
msgstr "Consumer Secret"
-#: ../../mod/settings.php:524 ../../mod/settings.php:550
+#: ../../mod/settings.php:570 ../../mod/settings.php:596
msgid "Redirect"
msgstr "Redirect"
-#: ../../mod/settings.php:524
+#: ../../mod/settings.php:570
msgid ""
"Redirect URI - leave blank unless your application specifically requires "
"this"
msgstr "URI ridirezionato - lasciare bianco se non richiesto specificamente dall'applicazione."
-#: ../../mod/settings.php:525 ../../mod/settings.php:551
+#: ../../mod/settings.php:571 ../../mod/settings.php:597
msgid "Icon url"
msgstr "Url icona"
-#: ../../mod/settings.php:525
+#: ../../mod/settings.php:571
msgid "Optional"
msgstr "Opzionale"
-#: ../../mod/settings.php:536
+#: ../../mod/settings.php:582
msgid "You can't edit this application."
msgstr "Non puoi modificare questa applicazione."
-#: ../../mod/settings.php:579
+#: ../../mod/settings.php:625
msgid "Connected Apps"
msgstr "App connesse"
-#: ../../mod/settings.php:583
+#: ../../mod/settings.php:629
msgid "Client key starts with"
msgstr "La client key inizia con"
-#: ../../mod/settings.php:584
+#: ../../mod/settings.php:630
msgid "No name"
msgstr "Nessun nome"
-#: ../../mod/settings.php:585
+#: ../../mod/settings.php:631
msgid "Remove authorization"
msgstr "Revoca l'autorizzazione"
-#: ../../mod/settings.php:596
+#: ../../mod/settings.php:642
msgid "No feature settings configured"
msgstr "Non hai componenti aggiuntivi da personalizzare"
-#: ../../mod/settings.php:604
+#: ../../mod/settings.php:650
msgid "Feature Settings"
msgstr "Componenti aggiuntivi"
-#: ../../mod/settings.php:627
+#: ../../mod/settings.php:673
msgid "Account Settings"
msgstr "Il tuo account"
-#: ../../mod/settings.php:628
+#: ../../mod/settings.php:674
msgid "Password Settings"
msgstr "Impostazioni password"
-#: ../../mod/settings.php:629
+#: ../../mod/settings.php:675
msgid "New Password:"
msgstr "Nuova password:"
-#: ../../mod/settings.php:630
+#: ../../mod/settings.php:676
msgid "Confirm:"
msgstr "Conferma:"
-#: ../../mod/settings.php:630
+#: ../../mod/settings.php:676
msgid "Leave password fields blank unless changing"
msgstr "Lascia questi campi in bianco per non cambiare la password"
-#: ../../mod/settings.php:632 ../../mod/settings.php:954
+#: ../../mod/settings.php:678 ../../mod/settings.php:1013
msgid "Email Address:"
msgstr "Indirizzo email:"
-#: ../../mod/settings.php:633 ../../mod/removeaccount.php:61
+#: ../../mod/settings.php:679 ../../mod/removeaccount.php:61
msgid "Remove Account"
msgstr "Elimina l'account"
-#: ../../mod/settings.php:634
+#: ../../mod/settings.php:680
msgid "Remove this account from this server including all its channels"
-msgstr "Elimina questo account da questo server, inclusi tutti i canali."
+msgstr "Elimina l'account da questo server, inclusi tutti i canali"
-#: ../../mod/settings.php:635 ../../mod/settings.php:1019
+#: ../../mod/settings.php:681 ../../mod/settings.php:1095
msgid "Warning: This action is permanent and cannot be reversed."
msgstr "Attenzione: questa azione è permanente e non potrà più essere annullata."
-#: ../../mod/settings.php:651
+#: ../../mod/settings.php:697
msgid "Off"
msgstr "Off"
-#: ../../mod/settings.php:651
+#: ../../mod/settings.php:697
msgid "On"
msgstr "On"
-#: ../../mod/settings.php:658
+#: ../../mod/settings.php:704
msgid "Additional Features"
msgstr "Funzionalità opzionali"
-#: ../../mod/settings.php:683
+#: ../../mod/settings.php:729
msgid "Connector Settings"
msgstr "Impostazioni del connettore"
-#: ../../mod/settings.php:713 ../../mod/admin.php:362
+#: ../../mod/settings.php:768
msgid "No special theme for mobile devices"
msgstr "Nessun tema per dispositivi mobili"
-#: ../../mod/settings.php:722
+#: ../../mod/settings.php:771
#, php-format
msgid "%s - (Experimental)"
msgstr "%s - (Sperimentale)"
-#: ../../mod/settings.php:758
+#: ../../mod/settings.php:774 ../../mod/admin.php:363
+msgid "mobile"
+msgstr "mobile"
+
+#: ../../mod/settings.php:810
msgid "Display Settings"
msgstr "Aspetto"
-#: ../../mod/settings.php:764
+#: ../../mod/settings.php:816
msgid "Display Theme:"
-msgstr "Tema per monitor:"
+msgstr "Tema per schermi medio grandi:"
-#: ../../mod/settings.php:765
+#: ../../mod/settings.php:817
msgid "Mobile Theme:"
msgstr "Tema per dispositivi mobili:"
-#: ../../mod/settings.php:766
+#: ../../mod/settings.php:818
msgid "Enable user zoom on mobile devices"
msgstr "Attiva la possibilità di fare zoom sui dispositivi mobili"
-#: ../../mod/settings.php:767
+#: ../../mod/settings.php:819
msgid "Update browser every xx seconds"
msgstr "Aggiorna il browser ogni x secondi"
-#: ../../mod/settings.php:767
+#: ../../mod/settings.php:819
msgid "Minimum of 10 seconds, no maximum"
msgstr "Minimo 10 secondi, nessun limite massimo"
-#: ../../mod/settings.php:768
+#: ../../mod/settings.php:820
msgid "Maximum number of conversations to load at any time:"
msgstr "Massimo numero di conversazioni da mostrare ogni volta:"
-#: ../../mod/settings.php:768
+#: ../../mod/settings.php:820
msgid "Maximum of 100 items"
msgstr "Massimo 100"
-#: ../../mod/settings.php:769
+#: ../../mod/settings.php:821
msgid "Don't show emoticons"
msgstr "Non mostrare le emoticons"
-#: ../../mod/settings.php:770
+#: ../../mod/settings.php:822
msgid "Link post titles to source"
msgstr "Il link del titolo di un articolo porta al sito originale"
-#: ../../mod/settings.php:771
+#: ../../mod/settings.php:823
msgid "System Page Layout Editor - (advanced)"
-msgstr "Modifica i layout di sistema - (avanzato)"
+msgstr "Modifica i layout di sistema (avanzato)"
+
+#: ../../mod/settings.php:826
+msgid "Use blog/list mode on channel page"
+msgstr "Mostra il canale nella modalità blog"
+
+#: ../../mod/settings.php:826 ../../mod/settings.php:827
+msgid "(comments displayed separately)"
+msgstr "(i commenti sono mostrati separatamente)"
+
+#: ../../mod/settings.php:827
+msgid "Use blog/list mode on matrix page"
+msgstr "Mostra la tua rete in modalità blog"
+
+#: ../../mod/settings.php:828
+msgid "Channel page max height of content (in pixels)"
+msgstr "Altezza massima dei contenuti del canale (in pixel)"
-#: ../../mod/settings.php:807
+#: ../../mod/settings.php:828 ../../mod/settings.php:829
+msgid "click to expand content exceeding this height"
+msgstr "dovrai cliccare per mostrare i contenuti di dimensioni maggiori"
+
+#: ../../mod/settings.php:829
+msgid "Matrix page max height of content (in pixels)"
+msgstr "Altezza massima dei contenuti della tua rete (in pixel)"
+
+#: ../../mod/settings.php:863
msgid "Nobody except yourself"
msgstr "Nessuno tranne te"
-#: ../../mod/settings.php:808
+#: ../../mod/settings.php:864
msgid "Only those you specifically allow"
msgstr "Solo chi riceve il mio permesso"
-#: ../../mod/settings.php:809
+#: ../../mod/settings.php:865
msgid "Approved connections"
msgstr "Contatti approvati"
-#: ../../mod/settings.php:810
+#: ../../mod/settings.php:866
msgid "Any connections"
msgstr "Tutti i contatti"
-#: ../../mod/settings.php:811
+#: ../../mod/settings.php:867
msgid "Anybody on this website"
msgstr "Chiunque su questo sito"
-#: ../../mod/settings.php:812
+#: ../../mod/settings.php:868
msgid "Anybody in this network"
msgstr "Chiunque su Red"
-#: ../../mod/settings.php:813
+#: ../../mod/settings.php:869
msgid "Anybody authenticated"
msgstr "Chiunque sia autenticato"
-#: ../../mod/settings.php:814
+#: ../../mod/settings.php:870
msgid "Anybody on the internet"
msgstr "Chiunque su internet"
-#: ../../mod/settings.php:891
+#: ../../mod/settings.php:944
msgid "Publish your default profile in the network directory"
-msgstr "Pubblica il mio profilo predefinito sull'elenco pubblico dei canali"
+msgstr "Mostra il mio profilo predefinito nell'elenco pubblico dei canali"
-#: ../../mod/settings.php:891 ../../mod/settings.php:896
-#: ../../mod/settings.php:973 ../../mod/api.php:106 ../../mod/profiles.php:602
-#: ../../mod/admin.php:392
+#: ../../mod/settings.php:944 ../../mod/settings.php:949
+#: ../../mod/settings.php:1032 ../../mod/api.php:106
+#: ../../mod/profiles.php:592 ../../mod/admin.php:390
msgid "No"
msgstr "No"
-#: ../../mod/settings.php:891 ../../mod/settings.php:896
-#: ../../mod/settings.php:973 ../../mod/api.php:105 ../../mod/profiles.php:601
-#: ../../mod/admin.php:394
+#: ../../mod/settings.php:944 ../../mod/settings.php:949
+#: ../../mod/settings.php:1032 ../../mod/api.php:105
+#: ../../mod/profiles.php:591 ../../mod/admin.php:392
msgid "Yes"
msgstr "Si"
-#: ../../mod/settings.php:896
+#: ../../mod/settings.php:949
msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Vuoi essere suggerito come potenziale amico ai nuovi membri?"
+msgstr "Vuoi essere suggerito come amico ai nuovi membri?"
-#: ../../mod/settings.php:900 ../../mod/profile_photo.php:365
+#: ../../mod/settings.php:953 ../../mod/profile_photo.php:365
msgid "or"
msgstr "o"
-#: ../../mod/settings.php:905
+#: ../../mod/settings.php:958
msgid "Your channel address is"
msgstr "L'indirizzo del tuo canale è"
-#: ../../mod/settings.php:943
+#: ../../mod/settings.php:1002
msgid "Channel Settings"
msgstr "Impostazioni del canale"
-#: ../../mod/settings.php:952
+#: ../../mod/settings.php:1011
msgid "Basic Settings"
msgstr "Impostazioni di base"
-#: ../../mod/settings.php:955
+#: ../../mod/settings.php:1014
msgid "Your Timezone:"
msgstr "Il tuo fuso orario:"
-#: ../../mod/settings.php:956
+#: ../../mod/settings.php:1015
msgid "Default Post Location:"
msgstr "Località predefinita:"
-#: ../../mod/settings.php:956
+#: ../../mod/settings.php:1015
msgid "Geographical location to display on your posts"
msgstr "Posizione geografica da mostrare sui tuoi post"
-#: ../../mod/settings.php:957
+#: ../../mod/settings.php:1016
msgid "Use Browser Location:"
msgstr "Usa la località rilevata dal browser:"
-#: ../../mod/settings.php:959
+#: ../../mod/settings.php:1018
msgid "Adult Content"
msgstr "Contenuto per adulti"
-#: ../../mod/settings.php:959
+#: ../../mod/settings.php:1018
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)"
-#: ../../mod/settings.php:961
+#: ../../mod/settings.php:1020
msgid "Security and Privacy Settings"
msgstr "Impostazioni di sicurezza e privacy"
-#: ../../mod/settings.php:963
+#: ../../mod/settings.php:1022
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli"
-#: ../../mod/settings.php:965
+#: ../../mod/settings.php:1024
msgid "Hide my online presence"
msgstr "Non mostrare la mia presenza online"
-#: ../../mod/settings.php:965
+#: ../../mod/settings.php:1024
msgid "Prevents displaying in your profile that you are online"
msgstr "Non mostra sul tuo profilo che sei online"
-#: ../../mod/settings.php:967
+#: ../../mod/settings.php:1026
msgid "Simple Privacy Settings:"
msgstr "Impostazioni di privacy semplificate"
-#: ../../mod/settings.php:968
+#: ../../mod/settings.php:1027
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>"
-#: ../../mod/settings.php:969
+#: ../../mod/settings.php:1028
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>"
-#: ../../mod/settings.php:970
+#: ../../mod/settings.php:1029
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>"
-#: ../../mod/settings.php:971
+#: ../../mod/settings.php:1030
msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Bloccato - <em>bloccato in ricezione e invio</em>"
+msgstr "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>"
-#: ../../mod/settings.php:973
+#: ../../mod/settings.php:1032
msgid "Allow others to tag your posts"
msgstr "Permetti ad altri di taggare i tuoi articoli"
-#: ../../mod/settings.php:973
+#: ../../mod/settings.php:1032
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti"
-#: ../../mod/settings.php:975
+#: ../../mod/settings.php:1034
msgid "Advanced Privacy Settings"
msgstr "Impostazioni di privacy avanzate"
-#: ../../mod/settings.php:977
+#: ../../mod/settings.php:1036
msgid "Expire other channel content after this many days"
msgstr "Giorni dopo cui mettere in scadenza gli altri contenuti del canale"
-#: ../../mod/settings.php:977
+#: ../../mod/settings.php:1036
msgid "0 or blank prevents expiration"
msgstr "Lascia vuoto oppure 0 per non impostare scadenze"
-#: ../../mod/settings.php:978
+#: ../../mod/settings.php:1037
msgid "Maximum Friend Requests/Day:"
msgstr "Numero massimo giornaliero di richieste di amicizia:"
-#: ../../mod/settings.php:978
+#: ../../mod/settings.php:1037
msgid "May reduce spam activity"
msgstr "Serve e ridurre lo spam"
-#: ../../mod/settings.php:979
+#: ../../mod/settings.php:1038
msgid "Default Post Permissions"
msgstr "Permessi predefiniti per gli articoli"
-#: ../../mod/settings.php:991
+#: ../../mod/settings.php:1043
+msgid "Channel permissions category:"
+msgstr "Categorie di permessi dei canali:"
+
+#: ../../mod/settings.php:1051
msgid "Maximum private messages per day from unknown people:"
msgstr "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:"
-#: ../../mod/settings.php:991
+#: ../../mod/settings.php:1051
msgid "Useful to reduce spamming"
msgstr "Serve e ridurre lo spam"
-#: ../../mod/settings.php:994
+#: ../../mod/settings.php:1054
msgid "Notification Settings"
msgstr "Impostazioni di notifica"
-#: ../../mod/settings.php:995
+#: ../../mod/settings.php:1055
msgid "By default post a status message when:"
msgstr "Pubblica un messaggio di stato quando:"
-#: ../../mod/settings.php:996
+#: ../../mod/settings.php:1056
msgid "accepting a friend request"
msgstr "accetto una nuova amicizia"
-#: ../../mod/settings.php:997
+#: ../../mod/settings.php:1057
msgid "joining a forum/community"
msgstr "entro a far parte di un forum"
-#: ../../mod/settings.php:998
+#: ../../mod/settings.php:1058
msgid "making an <em>interesting</em> profile change"
msgstr "faccio un cambiamento <em>interessante</em> al mio profilo"
-#: ../../mod/settings.php:999
+#: ../../mod/settings.php:1059
msgid "Send a notification email when:"
msgstr "Invia una email di notifica quando:"
-#: ../../mod/settings.php:1000
+#: ../../mod/settings.php:1060
msgid "You receive a connection request"
msgstr "Ricevi una richiesta di entrare in contatto"
-#: ../../mod/settings.php:1001
+#: ../../mod/settings.php:1061
msgid "Your connections are confirmed"
msgstr "I tuoi contatti sono confermati"
-#: ../../mod/settings.php:1002
+#: ../../mod/settings.php:1062
msgid "Someone writes on your profile wall"
msgstr "Qualcuno scrive sulla tua bacheca"
-#: ../../mod/settings.php:1003
+#: ../../mod/settings.php:1063
msgid "Someone writes a followup comment"
msgstr "Qualcuno scrive un commento a un tuo articolo"
-#: ../../mod/settings.php:1004
+#: ../../mod/settings.php:1064
msgid "You receive a private message"
msgstr "Ricevi un messaggio privato"
-#: ../../mod/settings.php:1005
+#: ../../mod/settings.php:1065
msgid "You receive a friend suggestion"
msgstr "Ti viene suggerito un amico"
-#: ../../mod/settings.php:1006
+#: ../../mod/settings.php:1066
msgid "You are tagged in a post"
msgstr "Sei taggato in un articolo"
-#: ../../mod/settings.php:1007
+#: ../../mod/settings.php:1067
msgid "You are poked/prodded/etc. in a post"
msgstr "Ricevi un poke in un articolo"
-#: ../../mod/settings.php:1010
+#: ../../mod/settings.php:1070
+msgid "Show visual notifications including:"
+msgstr "Mostra queste notifiche a schermo:"
+
+#: ../../mod/settings.php:1072
+msgid "Unseen matrix activity"
+msgstr "Nuove attività nella rete"
+
+#: ../../mod/settings.php:1073
+msgid "Unseen channel activity"
+msgstr "Novità nei canali"
+
+#: ../../mod/settings.php:1074
+msgid "Unseen private messages"
+msgstr "Nuovi messaggi privati"
+
+#: ../../mod/settings.php:1074 ../../mod/settings.php:1079
+#: ../../mod/settings.php:1080 ../../mod/settings.php:1081
+msgid "Recommended"
+msgstr "Consigliato"
+
+#: ../../mod/settings.php:1075
+msgid "Upcoming events"
+msgstr "Prossimi eventi"
+
+#: ../../mod/settings.php:1076
+msgid "Events today"
+msgstr "Eventi di oggi"
+
+#: ../../mod/settings.php:1077
+msgid "Upcoming birthdays"
+msgstr "Prossimi compleanni"
+
+#: ../../mod/settings.php:1077
+msgid "Not available in all themes"
+msgstr "Non disponibile in tutti i temi"
+
+#: ../../mod/settings.php:1078
+msgid "System (personal) notifications"
+msgstr "Notifiche personali dal sistema"
+
+#: ../../mod/settings.php:1079
+msgid "System info messages"
+msgstr "Notifiche di sistema"
+
+#: ../../mod/settings.php:1080
+msgid "System critical alerts"
+msgstr "Avvisi critici di sistema"
+
+#: ../../mod/settings.php:1081
+msgid "New connections"
+msgstr "Nuovi contatti"
+
+#: ../../mod/settings.php:1082
+msgid "System Registrations"
+msgstr "Registrazioni"
+
+#: ../../mod/settings.php:1084
+msgid "Notify me of events this many days in advance"
+msgstr "Giorni di anticipo per notificare gli eventi"
+
+#: ../../mod/settings.php:1084
+msgid "Must be greater than 0"
+msgstr "Maggiore di 0"
+
+#: ../../mod/settings.php:1086
msgid "Advanced Account/Page Type Settings"
msgstr "Impostazioni avanzate"
-#: ../../mod/settings.php:1011
+#: ../../mod/settings.php:1087
msgid "Change the behaviour of this account for special situations"
-msgstr "Cambia il funzionamento di questo account in situazioni particolari"
+msgstr "Cambia il funzionamento di questo account per necessità particolari"
-#: ../../mod/settings.php:1014
+#: ../../mod/settings.php:1090
msgid ""
"Please enable expert mode (in <a href=\"settings/features\">Settings > "
"Additional features</a>) to adjust!"
msgstr "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)"
-#: ../../mod/settings.php:1015
+#: ../../mod/settings.php:1091
msgid "Miscellaneous Settings"
msgstr "Impostazioni varie"
-#: ../../mod/settings.php:1017
+#: ../../mod/settings.php:1093
msgid "Personal menu to display in your channel pages"
msgstr "Menu personale da mostrare sulle pagine del tuo canale"
-#: ../../mod/settings.php:1018
+#: ../../mod/settings.php:1094
msgid "Remove this channel"
msgstr "Elimina questo canale"
+#: ../../mod/group.php:20
+msgid "Collection created."
+msgstr "L'insieme di canali è stato creato."
+
+#: ../../mod/group.php:26
+msgid "Could not create collection."
+msgstr "Impossibile creare l'insieme."
+
+#: ../../mod/group.php:54
+msgid "Collection updated."
+msgstr "Insieme aggiornato."
+
+#: ../../mod/group.php:86
+msgid "Create a collection of channels."
+msgstr "Crea un insieme di canali."
+
+#: ../../mod/group.php:87 ../../mod/group.php:183
+msgid "Collection Name: "
+msgstr "Nome dell'insieme:"
+
+#: ../../mod/group.php:89 ../../mod/group.php:186
+msgid "Members are visible to other channels"
+msgstr "I membri potranno vedere gli altri canali dell'insieme"
+
+#: ../../mod/group.php:107
+msgid "Collection removed."
+msgstr "Insieme rimosso."
+
+#: ../../mod/group.php:109
+msgid "Unable to remove collection."
+msgstr "Impossibile rimuovere l'insieme."
+
+#: ../../mod/group.php:182
+msgid "Collection Editor"
+msgstr "Modifica l'insieme"
+
+#: ../../mod/group.php:196
+msgid "Members"
+msgstr "Membri"
+
+#: ../../mod/group.php:198
+msgid "All Connected Channels"
+msgstr "Tutti i canali connessi"
+
+#: ../../mod/group.php:233
+msgid "Click on a channel to add or remove."
+msgstr "Clicca su un canale per aggiungerlo o rimuoverlo."
+
+#: ../../mod/search.php:13 ../../mod/photos.php:458 ../../mod/display.php:9
+#: ../../mod/viewconnections.php:17 ../../mod/directory.php:22
+msgid "Public access denied."
+msgstr "Accesso pubblico negato."
+
+#: ../../mod/subthread.php:103
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s sta seguendo %3$s di %2$s"
+
#: ../../mod/poke.php:159
msgid "Poke/Prod"
msgstr "Poke/Prod"
@@ -4264,389 +4529,598 @@ msgid ""
" and/or create new posts for you?"
msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
-#: ../../mod/post.php:229
+#: ../../mod/setup.php:166
+msgid "Red Matrix Server - Setup"
+msgstr "RedMatrix Server - Installazione"
+
+#: ../../mod/setup.php:172
+msgid "Could not connect to database."
+msgstr " Impossibile connettersi al database."
+
+#: ../../mod/setup.php:176
msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "L'autenticazione remota non è disponibile. Hai accesso solamente a questo sito. Puoi provare ad uscire per tentare di nuovo."
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
-#: ../../mod/post.php:261 ../../mod/openid.php:72 ../../mod/openid.php:178
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Ciao %s. La tua autenticazione da remoto è avvenuta con successo."
+#: ../../mod/setup.php:183
+msgid "Could not create table."
+msgstr "Impossibile creare le tabelle."
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Elemento non disponibile."
+#: ../../mod/setup.php:189
+msgid "Your site database has been installed."
+msgstr "Il database del sito è stato installato."
-#: ../../mod/probe.php:23 ../../mod/probe.php:29
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "La chiamata all'URL restituisce questo errore: %1$s"
+#: ../../mod/setup.php:194
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."
-#: ../../mod/block.php:27 ../../mod/page.php:35
-msgid "Invalid item."
-msgstr "Elemento non valido."
+#: ../../mod/setup.php:195 ../../mod/setup.php:264 ../../mod/setup.php:663
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Leggi il file 'install/INSTALL.txt'."
-#: ../../mod/block.php:39 ../../mod/page.php:47 ../../mod/wall_upload.php:28
-msgid "Channel not found."
-msgstr "Canale non trovato."
+#: ../../mod/setup.php:261
+msgid "System check"
+msgstr "Verifica del sistema"
-#: ../../mod/block.php:75 ../../mod/page.php:83 ../../mod/display.php:102
-#: ../../mod/help.php:72 ../../index.php:236
-msgid "Page not found."
-msgstr "Pagina non trovata."
+#: ../../mod/setup.php:265 ../../mod/events.php:445 ../../mod/photos.php:868
+msgid "Next"
+msgstr "Successivo"
-#: ../../mod/profile_photo.php:108
-msgid "Image uploaded but image cropping failed."
-msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."
+#: ../../mod/setup.php:266
+msgid "Check again"
+msgstr "Verifica di nuovo"
-#: ../../mod/profile_photo.php:161
-msgid "Image resize failed."
-msgstr "Il ridimensionamento dell'immagine è fallito."
+#: ../../mod/setup.php:289
+msgid "Database connection"
+msgstr "Connessione al database"
-#: ../../mod/profile_photo.php:205
+#: ../../mod/setup.php:290
msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente."
+"In order to install Red Matrix we need to know how to connect to your "
+"database."
+msgstr "Per installare RedMatrix è necessario conoscere i parametri di connessione al database."
-#: ../../mod/profile_photo.php:232
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "La dimensione dell'immagine supera il limite di %d"
+#: ../../mod/setup.php:291
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
-#: ../../mod/profile_photo.php:241
-msgid "Unable to process image."
-msgstr "Impossibile elaborare l'immagine."
+#: ../../mod/setup.php:292
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
-#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
-msgid "Photo not available."
-msgstr "Foto non disponibile."
+#: ../../mod/setup.php:296
+msgid "Database Server Name"
+msgstr "Server del database"
-#: ../../mod/profile_photo.php:358
-msgid "Upload File:"
-msgstr "Carica un file:"
+#: ../../mod/setup.php:296
+msgid "Default is localhost"
+msgstr "'localhost' è il predefinito"
-#: ../../mod/profile_photo.php:359
-msgid "Select a profile:"
-msgstr "Seleziona un profilo:"
+#: ../../mod/setup.php:297
+msgid "Database Port"
+msgstr "Port del database"
-#: ../../mod/profile_photo.php:360
-msgid "Upload Profile Photo"
-msgstr "Carica la foto del profilo"
+#: ../../mod/setup.php:297
+msgid "Communication port number - use 0 for default"
+msgstr "Scrivi 0 per usare il valore standard"
-#: ../../mod/profile_photo.php:365
-msgid "skip this step"
-msgstr "salta questo passaggio"
+#: ../../mod/setup.php:298
+msgid "Database Login Name"
+msgstr "Utente database"
-#: ../../mod/profile_photo.php:365
-msgid "select a photo from your photo albums"
-msgstr "seleziona una foto dai tuoi album"
+#: ../../mod/setup.php:299
+msgid "Database Login Password"
+msgstr "Password utente database"
-#: ../../mod/profile_photo.php:379
-msgid "Crop Image"
-msgstr "Ritaglia immagine"
+#: ../../mod/setup.php:300
+msgid "Database Name"
+msgstr "Nome database"
-#: ../../mod/profile_photo.php:380
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Ritaglia l'immagine per migliorarne la visualizzazione."
+#: ../../mod/setup.php:301
+msgid "Database Type"
+msgstr "Tipo database"
-#: ../../mod/profile_photo.php:382
-msgid "Done Editing"
-msgstr "Modifica terminata"
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid "Site administrator email address"
+msgstr "Indirizzo email dell'amministratore del sito"
-#: ../../mod/profile_photo.php:425
-msgid "Image uploaded successfully."
-msgstr "Immagine caricata con successo."
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web."
-#: ../../mod/profile_photo.php:427
-msgid "Image upload failed."
-msgstr "Il caricamento dell'immagine è fallito."
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Website URL"
+msgstr "URL completo del sito"
-#: ../../mod/profile_photo.php:436
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Il ridimensionamento del'immagine [%s] è fallito."
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Please use SSL (https) URL if available."
+msgstr "Se disponibile, usa l'indirizzo SSL (https)."
-#: ../../mod/blocks.php:62
-msgid "Block Name"
-msgstr "Nome del riquadro"
+#: ../../mod/setup.php:307 ../../mod/setup.php:352
+msgid "Please select a default timezone for your website"
+msgstr "Seleziona il fuso orario predefinito per il tuo sito web"
-#: ../../mod/profiles.php:18 ../../mod/profiles.php:165
-#: ../../mod/profiles.php:222 ../../mod/profiles.php:575
-msgid "Profile not found."
-msgstr "Profilo non trovato."
+#: ../../mod/setup.php:335
+msgid "Site settings"
+msgstr "Impostazioni del sito"
-#: ../../mod/profiles.php:38
-msgid "Profile deleted."
-msgstr "Profilo eliminato."
+#: ../../mod/setup.php:395
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
-#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
-msgid "Profile-"
-msgstr "Profilo-"
+#: ../../mod/setup.php:396
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
-#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
-msgid "New profile created."
-msgstr "Il nuovo profilo è stato creato."
+#: ../../mod/setup.php:400
+msgid "PHP executable path"
+msgstr "Path del comando PHP"
-#: ../../mod/profiles.php:98
-msgid "Profile unavailable to clone."
-msgstr "Impossibile duplicare il profilo."
+#: ../../mod/setup.php:400
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
-#: ../../mod/profiles.php:136
-msgid "Profile unavailable to export."
-msgstr "Il profilo non è disponibile per l'export."
+#: ../../mod/setup.php:405
+msgid "Command line PHP"
+msgstr "PHP da riga di comando"
-#: ../../mod/profiles.php:232
-msgid "Profile Name is required."
-msgstr "Il nome del profilo è obbligatorio ."
+#: ../../mod/setup.php:414
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
-#: ../../mod/profiles.php:390
-msgid "Marital Status"
-msgstr "Stato sentimentale"
+#: ../../mod/setup.php:415
+msgid "This is required for message delivery to work."
+msgstr "E' necessario perché funzioni la consegna dei messaggi."
-#: ../../mod/profiles.php:394
-msgid "Romantic Partner"
-msgstr "Partner affettivo"
+#: ../../mod/setup.php:417
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
-#: ../../mod/profiles.php:398
-msgid "Likes"
-msgstr "Mi piace"
+#: ../../mod/setup.php:438
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione"
-#: ../../mod/profiles.php:402
-msgid "Dislikes"
-msgstr "Non mi piace"
+#: ../../mod/setup.php:439
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/profiles.php:406
-msgid "Work/Employment"
-msgstr "Lavoro/impiego"
+#: ../../mod/setup.php:441
+msgid "Generate encryption keys"
+msgstr "Genera chiavi di criptazione"
-#: ../../mod/profiles.php:409
-msgid "Religion"
-msgstr "Religione"
+#: ../../mod/setup.php:448
+msgid "libCurl PHP module"
+msgstr "modulo PHP libCurl"
-#: ../../mod/profiles.php:413
-msgid "Political Views"
-msgstr "Orientamento politico"
+#: ../../mod/setup.php:449
+msgid "GD graphics PHP module"
+msgstr "modulo PHP GD graphics"
-#: ../../mod/profiles.php:417
-msgid "Gender"
-msgstr "Sesso"
+#: ../../mod/setup.php:450
+msgid "OpenSSL PHP module"
+msgstr "modulo PHP OpenSSL"
-#: ../../mod/profiles.php:421
-msgid "Sexual Preference"
-msgstr "Preferenze sessuali"
+#: ../../mod/setup.php:451
+msgid "mysqli or postgres PHP module"
+msgstr "modulo PHP per mysqli oppure prostgres"
-#: ../../mod/profiles.php:425
-msgid "Homepage"
-msgstr "Home page"
+#: ../../mod/setup.php:452
+msgid "mb_string PHP module"
+msgstr "modulo PHP mb_string"
-#: ../../mod/profiles.php:429
-msgid "Interests"
-msgstr "Interessi"
+#: ../../mod/setup.php:453
+msgid "mcrypt PHP module"
+msgstr "modulo PHP mcrypt"
-#: ../../mod/profiles.php:433 ../../mod/admin.php:868
-msgid "Address"
-msgstr "Indirizzo"
+#: ../../mod/setup.php:458 ../../mod/setup.php:460
+msgid "Apache mod_rewrite module"
+msgstr "modulo Apache mod_rewrite"
-#: ../../mod/profiles.php:440 ../../mod/pubsites.php:25
-msgid "Location"
-msgstr "Posizione geografica"
+#: ../../mod/setup.php:458
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
-#: ../../mod/profiles.php:523
-msgid "Profile updated."
-msgstr "Profilo aggiornato."
+#: ../../mod/setup.php:464 ../../mod/setup.php:467
+msgid "proc_open"
+msgstr "proc_open"
-#: ../../mod/profiles.php:600
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?"
+#: ../../mod/setup.php:464
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
-#: ../../mod/profiles.php:642
-msgid "Edit Profile Details"
-msgstr "Modifica i dettagli del profilo"
+#: ../../mod/setup.php:472
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
-#: ../../mod/profiles.php:644
-msgid "View this profile"
-msgstr "Guarda questo profilo"
+#: ../../mod/setup.php:476
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
-#: ../../mod/profiles.php:646
-msgid "Change Profile Photo"
-msgstr "Cambia la foto del profilo"
+#: ../../mod/setup.php:480
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
-#: ../../mod/profiles.php:647
-msgid "Create a new profile using these settings"
-msgstr "Crea un nuovo profilo usando queste impostazioni"
+#: ../../mod/setup.php:484
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"
-#: ../../mod/profiles.php:648
-msgid "Clone this profile"
-msgstr "Clona questo profilo"
+#: ../../mod/setup.php:488
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
-#: ../../mod/profiles.php:649
-msgid "Delete this profile"
-msgstr "Elimina questo profilo"
+#: ../../mod/setup.php:492
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr "Errore: il modulo PHP mcrypt è richiesto ma non installato."
-#: ../../mod/profiles.php:651
-msgid "Import profile from file"
-msgstr "Importa il profilo da un file"
+#: ../../mod/setup.php:508
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di RedMatrix ma non è in grado di farlo."
-#: ../../mod/profiles.php:652
-msgid "Export profile to file"
-msgstr "Esporta il profilo in un file"
+#: ../../mod/setup.php:509
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
-#: ../../mod/profiles.php:653
-msgid "Profile Name:"
-msgstr "Nome del profilo:"
+#: ../../mod/setup.php:510
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di RedMatrix."
-#: ../../mod/profiles.php:654
-msgid "Your Full Name:"
-msgstr "Il tuo nome completo:"
+#: ../../mod/setup.php:511
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
-#: ../../mod/profiles.php:655
-msgid "Title/Description:"
-msgstr "Titolo/descrizione:"
+#: ../../mod/setup.php:514
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php è scrivibile"
-#: ../../mod/profiles.php:656
-msgid "Your Gender:"
-msgstr "Sesso:"
+#: ../../mod/setup.php:524
+msgid ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
-#: ../../mod/profiles.php:657
+#: ../../mod/setup.php:525
#, php-format
-msgid "Birthday (%s):"
-msgstr "Compleanno (%s):"
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the Red top level folder."
+msgstr "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di RedMatrix."
-#: ../../mod/profiles.php:658
-msgid "Street Address:"
-msgstr "Indirizzo (via/piazza):"
+#: ../../mod/setup.php:526 ../../mod/setup.php:544
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Assicurati che il tuo web server sia in esecuzione da parte di un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
-#: ../../mod/profiles.php:659
-msgid "Locality/City:"
-msgstr "Località:"
+#: ../../mod/setup.php:527
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
-#: ../../mod/profiles.php:660
-msgid "Postal/Zip Code:"
-msgstr "CAP:"
+#: ../../mod/setup.php:530
+#, php-format
+msgid "%s is writable"
+msgstr "%s è scrivibile"
-#: ../../mod/profiles.php:661
-msgid "Country:"
-msgstr "Nazione:"
+#: ../../mod/setup.php:543
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr "RedMatrix salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix"
-#: ../../mod/profiles.php:662
-msgid "Region/State:"
-msgstr "Regione/stato:"
+#: ../../mod/setup.php:547
+msgid "store is writable"
+msgstr "l'archivio è scrivibile"
-#: ../../mod/profiles.php:663
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Stato sentimentale:"
+#: ../../mod/setup.php:577
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
-#: ../../mod/profiles.php:664
-msgid "Who: (if applicable)"
-msgstr "Con chi: (se possibile)"
+#: ../../mod/setup.php:578
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!"
-#: ../../mod/profiles.php:665
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Per esempio: cathy123, Cathy Williams, cathy@example.com"
+#: ../../mod/setup.php:579
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
-#: ../../mod/profiles.php:666
-msgid "Since [date]:"
-msgstr "dal [data]:"
+#: ../../mod/setup.php:580
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
-#: ../../mod/profiles.php:668
-msgid "Homepage URL:"
-msgstr "Indirizzo home page:"
+#: ../../mod/setup.php:581
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
-#: ../../mod/profiles.php:671
-msgid "Religious Views:"
-msgstr "Orientamento religioso:"
+#: ../../mod/setup.php:582
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
-#: ../../mod/profiles.php:672
-msgid "Keywords:"
-msgstr "Parole chiave, tag:"
+#: ../../mod/setup.php:584
+msgid "SSL certificate validation"
+msgstr "Validazione del certificato SSL"
-#: ../../mod/profiles.php:675
-msgid "Example: fishing photography software"
-msgstr "Per esempio: pesca fotografia programmazione"
+#: ../../mod/setup.php:590
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"
-#: ../../mod/profiles.php:676
-msgid "Used in directory listings"
-msgstr "Visibile nell'elenco pubblico di canali"
+#: ../../mod/setup.php:592
+msgid "Url rewrite is working"
+msgstr "Url rewrite funziona correttamente"
-#: ../../mod/profiles.php:677
-msgid "Tell us about yourself..."
-msgstr "Raccontaci di te..."
+#: ../../mod/setup.php:602
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
-#: ../../mod/profiles.php:678
-msgid "Hobbies/Interests"
-msgstr "Hobby/interessi"
+#: ../../mod/setup.php:626
+msgid "Errors encountered creating database tables."
+msgstr "La creazione delle tabelle del database ha generato errori."
-#: ../../mod/profiles.php:679
-msgid "Contact information and Social Networks"
-msgstr "Contatti personali e i tuoi social network"
+#: ../../mod/setup.php:661
+msgid "<h1>What next</h1>"
+msgstr "<h1>I prossimi passi</h1>"
-#: ../../mod/profiles.php:680
-msgid "My other channels"
-msgstr "I miei altri canali"
+#: ../../mod/setup.php:662
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
-#: ../../mod/profiles.php:681
-msgid "Musical interests"
-msgstr "Interessi musicali"
+#: ../../mod/attach.php:9
+msgid "Item not available."
+msgstr "Elemento non disponibile."
-#: ../../mod/profiles.php:682
-msgid "Books, literature"
-msgstr "Libri, letteratura"
+#: ../../mod/probe.php:23 ../../mod/probe.php:29
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr "La chiamata all'URL restituisce questo errore: %1$s"
-#: ../../mod/profiles.php:683
-msgid "Television"
-msgstr "Televisione"
+#: ../../mod/block.php:27 ../../mod/page.php:33
+msgid "Invalid item."
+msgstr "Elemento non valido."
-#: ../../mod/profiles.php:684
-msgid "Film/dance/culture/entertainment"
-msgstr "Film/danza/cultura/intrattenimento"
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:45
+msgid "Channel not found."
+msgstr "Canale non trovato."
-#: ../../mod/profiles.php:685
-msgid "Love/romance"
-msgstr "Amore"
+#: ../../mod/block.php:75 ../../mod/display.php:102 ../../mod/help.php:70
+#: ../../mod/page.php:81 ../../index.php:241
+msgid "Page not found."
+msgstr "Pagina non trovata."
-#: ../../mod/profiles.php:686
-msgid "Work/employment"
-msgstr "Lavoro/impiego"
+#: ../../mod/uexport.php:33 ../../mod/uexport.php:34
+msgid "Export Channel"
+msgstr "Esporta il canale"
-#: ../../mod/profiles.php:687
-msgid "School/education"
-msgstr "Scuola/educazione"
+#: ../../mod/uexport.php:35
+msgid ""
+"Export your basic channel information to a small file. This acts as a "
+"backup of your connections, permissions, profile and basic data, which can "
+"be used to import your data to a new hub, but\tdoes not contain your "
+"content."
+msgstr "Esporta le informazioni di base del tuo canale in un piccolo file. E' utile per avere un salvataggio di sicurezza dei tuoi contatti, del tuo profilo ed altri dati di base. Può essere usato per importare il tuo canale su un nuovo server, ma\tnon include i contenuti, per esempio articoli e foto."
+
+#: ../../mod/uexport.php:36
+msgid "Export Content"
+msgstr "Esporta i contenuti"
-#: ../../mod/profiles.php:693
-msgid "This is your default profile."
-msgstr "Questo è il tuo profilo predefinito."
+#: ../../mod/uexport.php:37
+msgid ""
+"Export your channel information and all the content to a JSON backup. This "
+"backs up all of your connections, permissions, profile data and all of your "
+"content, but is generally not suitable for importing a channel to a new hub "
+"as this file may be VERY large. Please be patient - it may take several "
+"minutes for this download to begin."
+msgstr "Esporta i dati del canale e i contenuti in un file in formato JSON. E' un salvataggio dei tuoi contatti, dei dati del profilo e anche di tutti i contenuti. Questa non è la soluzione opportuna per importare il tuo canale su un nuovo server, visto che il file potrebbe avere dimensioni NOTEVOLI. Devi pazientare - ci vorranno alcuni minuti per raccogliere i dati prima che inizi lo scaricamento."
-#: ../../mod/profiles.php:704 ../../mod/directory.php:143
-#: ../../mod/dirprofile.php:92
-msgid "Age: "
-msgstr "Età:"
+#: ../../mod/delegate.php:95
+msgid "No potential page delegates located."
+msgstr "Impossibile trovare delegati per questa pagina."
-#: ../../mod/profiles.php:747
-msgid "Edit/Manage Profiles"
-msgstr "Modifica/gestisci i profili"
+#: ../../mod/delegate.php:121
+msgid "Delegate Page Management"
+msgstr "Gestione delegati per la pagina"
-#: ../../mod/profiles.php:748
-msgid "Add profile things"
-msgstr "Aggiungi oggetti al profilo"
+#: ../../mod/delegate.php:123
+msgid ""
+"Delegates are able to manage all aspects of this account/page except for "
+"basic account settings. Please do not delegate your personal account to "
+"anybody that you do not trust completely."
+msgstr "I Delegati sono in grando di gestire tutti gli aspetti di questa pagina, tranne per i settaggi di base dell'account. Non delegare il tuo account personale a nessuno di cui non ti fidi ciecamente."
-#: ../../mod/profiles.php:749
-msgid "Include desirable objects in your profile"
-msgstr "Aggiungi oggetti interessanti al tuo profilo"
+#: ../../mod/delegate.php:124
+msgid "Existing Page Managers"
+msgstr "Gestori attuali della pagina"
-#: ../../mod/bookmarks.php:38
-msgid "Bookmark added"
-msgstr "Segnalibro aggiunto"
+#: ../../mod/delegate.php:126
+msgid "Existing Page Delegates"
+msgstr "Delegati attuali della pagina"
-#: ../../mod/bookmarks.php:58
-msgid "My Bookmarks"
-msgstr "I miei segnalibri"
+#: ../../mod/delegate.php:128
+msgid "Potential Delegates"
+msgstr "Delegati potenziali"
-#: ../../mod/bookmarks.php:69
-msgid "My Connections Bookmarks"
-msgstr "I segnalibri dei miei contatti"
+#: ../../mod/delegate.php:130 ../../mod/photos.php:905 ../../mod/tagrm.php:133
+msgid "Remove"
+msgstr "Rimuovi"
+
+#: ../../mod/delegate.php:131
+msgid "Add"
+msgstr "Aggiungi"
+
+#: ../../mod/delegate.php:132
+msgid "No entries."
+msgstr "Nessun risultato."
+
+#: ../../mod/siteinfo.php:93
+#, php-format
+msgid "Version %s"
+msgstr "Versione %s"
+
+#: ../../mod/siteinfo.php:114
+msgid "Installed plugins/addons/apps:"
+msgstr "App e componenti installati:"
+
+#: ../../mod/siteinfo.php:127
+msgid "No installed plugins/addons/apps"
+msgstr "Nessuna app o componente installato"
+
+#: ../../mod/siteinfo.php:135
+msgid "Red"
+msgstr "RedMatrix"
+
+#: ../../mod/siteinfo.php:136
+msgid ""
+"This is a hub of the Red Matrix - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Questo è un hub di RedMatrix - una rete cooperativa e decentralizzata di siti ad elevata privacy. "
+
+#: ../../mod/siteinfo.php:138
+msgid "Tag: "
+msgstr "Tag: "
+
+#: ../../mod/siteinfo.php:140
+msgid "Last background fetch: "
+msgstr "Ultima acquisizione:"
+
+#: ../../mod/siteinfo.php:143
+msgid "Running at web location"
+msgstr "In esecuzione sull'indirizzo web"
+
+#: ../../mod/siteinfo.php:144
+msgid ""
+"Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more"
+" about the Red Matrix."
+msgstr "Visita <a href=\"https://redmatrix.me\">RedMatrix.me</a> per scoprire di più su Red Matrix."
+
+#: ../../mod/siteinfo.php:145
+msgid "Bug reports and issues: please visit"
+msgstr "Per segnalare bug e problemi: visita"
+
+#: ../../mod/siteinfo.php:148
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com"
+
+#: ../../mod/siteinfo.php:150
+msgid "Site Administrators"
+msgstr "Amministratori del sito"
+
+#: ../../mod/sources.php:32
+msgid "Failed to create source. No channel selected."
+msgstr "Impossibile creare la sorgente. Nessun canale selezionato."
+
+#: ../../mod/sources.php:45
+msgid "Source created."
+msgstr "Sorgente creata."
+
+#: ../../mod/sources.php:57
+msgid "Source updated."
+msgstr "Sorgente aggiornata."
+
+#: ../../mod/sources.php:82
+msgid "*"
+msgstr "*"
+
+#: ../../mod/sources.php:89
+msgid "Manage remote sources of content for your channel."
+msgstr "Gestisci le sorgenti dei contenuti del tuo canale."
+
+#: ../../mod/sources.php:90 ../../mod/sources.php:100
+msgid "New Source"
+msgstr "Nuova sorgente"
+
+#: ../../mod/sources.php:101 ../../mod/sources.php:133
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."
+
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Only import content with these words (one per line)"
+msgstr "Importa solo i contenuti che hanno queste parole (una per riga)"
+
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Leave blank to import all public content"
+msgstr "Lascia vuoto per importare tutti i contenuti pubblici"
+
+#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../mod/new_channel.php:112
+msgid "Channel Name"
+msgstr "Nome del canale"
+
+#: ../../mod/sources.php:123 ../../mod/sources.php:150
+msgid "Source not found."
+msgstr "Sorgente non trovata."
+
+#: ../../mod/sources.php:130
+msgid "Edit Source"
+msgstr "Modifica la sorgente"
+
+#: ../../mod/sources.php:131
+msgid "Delete Source"
+msgstr "Elimina la sorgente"
+
+#: ../../mod/sources.php:158
+msgid "Source removed"
+msgstr "Sorgente eliminata"
+
+#: ../../mod/sources.php:160
+msgid "Unable to remove source."
+msgstr "Impossibile rimuovere la sorgente."
#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
msgid "Invalid profile identifier."
@@ -4668,6 +5142,83 @@ msgstr "Visibile a"
msgid "All Connections"
msgstr "Tutti i contatti"
+#: ../../mod/events.php:81
+msgid "Event can not end before it has started."
+msgstr "Un evento non può terminare prima del suo inizio."
+
+#: ../../mod/events.php:86
+msgid "Event title and start time are required."
+msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
+
+#: ../../mod/events.php:100
+msgid "Event not found."
+msgstr "Evento non trovato."
+
+#: ../../mod/events.php:369
+msgid "l, F j"
+msgstr "l j F"
+
+#: ../../mod/events.php:391
+msgid "Edit event"
+msgstr "Modifica l'evento"
+
+#: ../../mod/events.php:443
+msgid "Create New Event"
+msgstr "Crea un nuovo evento"
+
+#: ../../mod/events.php:444 ../../mod/photos.php:859
+msgid "Previous"
+msgstr "Precendente"
+
+#: ../../mod/events.php:446
+msgid "Export"
+msgstr "Esporta"
+
+#: ../../mod/events.php:571
+msgid "Event details"
+msgstr "Dettagli evento"
+
+#: ../../mod/events.php:572
+msgid "Starting date and Title are required."
+msgstr "Titolo e data d'inizio sono obbligatori."
+
+#: ../../mod/events.php:574
+msgid "Categories (comma-separated list)"
+msgstr "Categorie (separate da virgola)"
+
+#: ../../mod/events.php:576
+msgid "Event Starts:"
+msgstr "Inizio:"
+
+#: ../../mod/events.php:576 ../../mod/events.php:592 ../../mod/appman.php:91
+#: ../../mod/appman.php:92
+msgid "Required"
+msgstr "Obbligatorio"
+
+#: ../../mod/events.php:582
+msgid "Finish date/time is not known or not relevant"
+msgstr "La data/ora di fine non è rilevante"
+
+#: ../../mod/events.php:584
+msgid "Event Finishes:"
+msgstr "Fine:"
+
+#: ../../mod/events.php:586
+msgid "Adjust for viewer timezone"
+msgstr "Adatta al fuso orario di chi legge"
+
+#: ../../mod/events.php:588
+msgid "Description:"
+msgstr "Descrizione:"
+
+#: ../../mod/events.php:592
+msgid "Title:"
+msgstr "Titolo:"
+
+#: ../../mod/events.php:594
+msgid "Share this event"
+msgstr "Condividi questo evento"
+
#: ../../mod/pubsites.php:16
msgid "Public Sites"
msgstr "Siti pubblici"
@@ -4679,7 +5230,7 @@ msgid ""
"in the matrix as a whole. Some sites may require subscription or provide "
"tiered service plans. The provider links <strong>may</strong> provide "
"additional details."
-msgstr "Gli indirizzi elencati permettono la registrazione su RedMatrix. Tutti i siti di questa rete sono interconnessi, quindi essere registrati su uno è come essere registrati ovunque. Alcuni potrebbero richiedere un'iscrizione a pagamento o prevedere tipi diversi di abbonamento. Potrai trovare maggiori informazioni al riguardo visitando ciascun sito."
+msgstr "Gli indirizzi elencati permettono la registrazione su RedMatrix. Tutti i siti di questa rete sono interconnessi, quindi essere registrati su uno è come essere registrati ovunque. Alcuni potrebbero richiedere un'iscrizione a pagamento o prevedere diverse tipologie di abbonamento. Eventualmente potrai trovare maggiori informazioni visitando ciascun sito."
#: ../../mod/pubsites.php:25
msgid "Site URL"
@@ -4693,11 +5244,15 @@ msgstr "Tipo di accesso"
msgid "Registration Policy"
msgstr "Politica di registrazione"
+#: ../../mod/pubsites.php:25 ../../mod/profiles.php:428
+msgid "Location"
+msgstr "Posizione geografica"
+
#: ../../mod/channel.php:25 ../../mod/chat.php:19
msgid "You must be logged in to see this page."
msgstr "Devi aver effettuato l'accesso per vedere questa pagina."
-#: ../../mod/channel.php:86
+#: ../../mod/channel.php:87
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Permessi insufficienti. Sarà visualizzata la pagina del profilo."
@@ -4735,7 +5290,7 @@ msgstr "Elimina questa area chat"
#: ../../mod/chat.php:180
msgid "I am away right now"
-msgstr "Non sono presente al momento"
+msgstr "Non sono presente"
#: ../../mod/chat.php:181
msgid "I am online"
@@ -4758,85 +5313,6 @@ msgstr "Nome dell'area chat"
msgid "%1$s's Chatrooms"
msgstr "Le aree chat di %1$s"
-#: ../../mod/register.php:42
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!"
-
-#: ../../mod/register.php:48
-msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio."
-
-#: ../../mod/register.php:82
-msgid "Passwords do not match."
-msgstr "Le password non corrispondono."
-
-#: ../../mod/register.php:115
-msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata."
-
-#: ../../mod/register.php:121
-msgid "Your registration is pending approval by the site owner."
-msgstr "La tua richiesta è in attesa di approvazione da parte dell'amministratore del sito."
-
-#: ../../mod/register.php:124
-msgid "Your registration can not be processed."
-msgstr "La tua registrazione non puo' essere acquisita."
-
-#: ../../mod/register.php:161
-msgid "Registration on this site/hub is by approval only."
-msgstr "La registrazione su questo sito è soggetta ad approvazione."
-
-#: ../../mod/register.php:162
-msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
-msgstr "<a href=\"pubsites\">Registrati su un altro server affiliato</a>"
-
-#: ../../mod/register.php:170
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Questo sito ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani."
-
-#: ../../mod/register.php:181
-msgid "Terms of Service"
-msgstr "Condizioni d'Uso"
-
-#: ../../mod/register.php:187
-#, php-format
-msgid "I accept the %s for this website"
-msgstr "Accetto le %s di questo sito"
-
-#: ../../mod/register.php:189
-#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Ho più di 13 anni e accetto le %s di questo sito"
-
-#: ../../mod/register.php:203 ../../mod/admin.php:415
-msgid "Registration"
-msgstr "Registrazione"
-
-#: ../../mod/register.php:208
-msgid "Membership on this site is by invitation only."
-msgstr "Per registrarsi su questo sito è necessario un invito."
-
-#: ../../mod/register.php:209
-msgid "Please enter your invitation code"
-msgstr "Inserisci il codice dell'invito"
-
-#: ../../mod/register.php:212
-msgid "Your email address"
-msgstr "Il tuo indirizzo email"
-
-#: ../../mod/register.php:213
-msgid "Choose a password"
-msgstr "Scegli una password"
-
-#: ../../mod/register.php:214
-msgid "Please re-enter your password"
-msgstr "Ripeti la password per verifica"
-
#: ../../mod/chatsvc.php:111
msgid "Away"
msgstr "Assente"
@@ -4847,11 +5323,40 @@ msgstr "Online"
#: ../../mod/regmod.php:11
msgid "Please login."
-msgstr "Accedi."
+msgstr "Effettua l'accesso."
-#: ../../mod/cloud.php:126
-msgid "Red Matrix - Guests: Username: {your email address}, Password: +++"
-msgstr "Accesso a RedMatrix. Inserisci l'email con cui sei registrato e la password."
+#: ../../mod/editpost.php:20 ../../mod/editblock.php:79
+#: ../../mod/editblock.php:95 ../../mod/editlayout.php:78
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
+msgstr "Elemento non trovato"
+
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "L'elemento non è modificabile"
+
+#: ../../mod/editpost.php:42 ../../mod/rpost.php:97
+msgid "Edit post"
+msgstr "Modifica articolo"
+
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
+msgstr "Eliminare questo elemento?"
+
+#: ../../mod/editpost.php:116 ../../mod/editblock.php:147
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:178
+msgid "Insert YouTube video"
+msgstr "Inserisci video da YouTube"
+
+#: ../../mod/editpost.php:117 ../../mod/editblock.php:148
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:179
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Inserisci video Vorbis [.ogg]"
+
+#: ../../mod/editpost.php:118 ../../mod/editblock.php:149
+#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:180
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Inserisci audio Vorbis [.ogg]"
#: ../../mod/removeme.php:29
msgid ""
@@ -4925,86 +5430,92 @@ msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"
msgid "Authenticate"
msgstr "Autenticazione"
-#: ../../mod/connect.php:55 ../../mod/connect.php:103
-msgid "Continue"
-msgstr "Continua"
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr "Nessun account valido trovato."
-#: ../../mod/connect.php:84
-msgid "Premium Channel Setup"
-msgstr "Canale premium - installazione"
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."
-#: ../../mod/connect.php:86
-msgid "Enable premium channel connection restrictions"
-msgstr "Abilita le restrizioni del canale premium"
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Utente del sito (%s)"
-#: ../../mod/connect.php:87
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida o il sistema di pagamento ecc."
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "È stato richiesto di reimpostare password su %s"
-#: ../../mod/connect.php:89 ../../mod/connect.php:109
+#: ../../mod/lostpass.php:63
msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata."
-#: ../../mod/connect.php:90
-msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Il testo seguente comparirà a chi vorrà connettersi:"
+#: ../../mod/lostpass.php:85 ../../boot.php:1548
+msgid "Password Reset"
+msgstr "Reimposta la password"
-#: ../../mod/connect.php:91 ../../mod/connect.php:112
-msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."
+#: ../../mod/lostpass.php:86
+msgid "Your password has been reset as requested."
+msgstr "La password è stata reimpostata come richiesto."
-#: ../../mod/connect.php:100
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)"
+#: ../../mod/lostpass.php:87
+msgid "Your new password is"
+msgstr "La tua nuova password è"
-#: ../../mod/connect.php:108
-msgid "Restricted or Premium Channel"
-msgstr "Canale premium - con restrizioni"
+#: ../../mod/lostpass.php:88
+msgid "Save or copy your new password - and then"
+msgstr "Salva o copia la tua nuova password, quindi"
-#: ../../mod/network.php:79
-msgid "No such group"
-msgstr "Impossibile trovare l'insieme"
+#: ../../mod/lostpass.php:89
+msgid "click here to login"
+msgstr "clicca qui per accedere"
-#: ../../mod/network.php:118
-msgid "Search Results For:"
-msgstr "Cerca risultati con:"
+#: ../../mod/lostpass.php:90
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso."
-#: ../../mod/network.php:172
-msgid "Collection is empty"
-msgstr "L'insieme di canali è vuoto"
+#: ../../mod/lostpass.php:107
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "La tua password su %s è cambiata"
-#: ../../mod/network.php:180
-msgid "Collection: "
-msgstr "Insieme:"
+#: ../../mod/lostpass.php:122
+msgid "Forgot your Password?"
+msgstr "Hai dimenticato la password?"
-#: ../../mod/network.php:193
-msgid "Connection: "
-msgstr "Connessione:"
+#: ../../mod/lostpass.php:123
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare."
-#: ../../mod/network.php:196
-msgid "Invalid connection."
-msgstr "Connessione non valida."
+#: ../../mod/lostpass.php:124
+msgid "Email Address"
+msgstr "Indirizzo email"
+
+#: ../../mod/lostpass.php:125
+msgid "Reset"
+msgstr "Reimposta"
#: ../../mod/connections.php:37 ../../mod/connedit.php:64
msgid "Could not access contact record."
msgstr "Non è possibile accedere alle informazioni sul contatto."
-#: ../../mod/connections.php:51 ../../mod/connedit.php:78
+#: ../../mod/connections.php:51 ../../mod/connedit.php:86
msgid "Could not locate selected profile."
msgstr "Non riesco a trovare il profilo selezionato."
-#: ../../mod/connections.php:94 ../../mod/connedit.php:132
+#: ../../mod/connections.php:94 ../../mod/connedit.php:140
msgid "Connection updated."
msgstr "Contatto aggiornato."
-#: ../../mod/connections.php:96 ../../mod/connedit.php:134
+#: ../../mod/connections.php:96 ../../mod/connedit.php:142
msgid "Failed to update connection record."
msgstr "Impossibile aggiornare le informazioni del contatto."
@@ -5085,246 +5596,251 @@ msgstr "Cerca tra i contatti"
msgid "Finding: "
msgstr "Ricerca: "
-#: ../../mod/rpost.php:97 ../../mod/editpost.php:42
-msgid "Edit post"
-msgstr "Modifica articolo"
+#: ../../mod/ping.php:265
+msgid "sent you a private message"
+msgstr "ti ha inviato un messaggio privato"
-#: ../../mod/connedit.php:181
+#: ../../mod/ping.php:316
+msgid "added your channel"
+msgstr "ha aggiunto il tuo canale"
+
+#: ../../mod/ping.php:357
+msgid "posted an event"
+msgstr "ha creato un evento"
+
+#: ../../mod/connedit.php:189
msgid "is now connected to"
-msgstr "adesso è in contatto con"
+msgstr "ha come nuovo contatto"
-#: ../../mod/connedit.php:296
+#: ../../mod/connedit.php:310
msgid "Could not access address book record."
msgstr "Impossibile accedere alle informazioni della rubrica."
-#: ../../mod/connedit.php:310
+#: ../../mod/connedit.php:324
msgid "Refresh failed - channel is currently unavailable."
msgstr "Il canale non è disponibile - impossibile aggiornare."
-#: ../../mod/connedit.php:317
+#: ../../mod/connedit.php:331
msgid "Channel has been unblocked"
msgstr "Il canale è stato sbloccato"
-#: ../../mod/connedit.php:318
+#: ../../mod/connedit.php:332
msgid "Channel has been blocked"
msgstr "Il canale è stato bloccato"
-#: ../../mod/connedit.php:322 ../../mod/connedit.php:334
-#: ../../mod/connedit.php:346 ../../mod/connedit.php:358
-#: ../../mod/connedit.php:374
+#: ../../mod/connedit.php:336 ../../mod/connedit.php:348
+#: ../../mod/connedit.php:360 ../../mod/connedit.php:372
+#: ../../mod/connedit.php:388
msgid "Unable to set address book parameters."
msgstr "Impossibile impostare i parametri della rubrica."
-#: ../../mod/connedit.php:329
+#: ../../mod/connedit.php:343
msgid "Channel has been unignored"
msgstr "Il canale non sarà più ignorato"
-#: ../../mod/connedit.php:330
+#: ../../mod/connedit.php:344
msgid "Channel has been ignored"
msgstr "Il canale sarà ignorato"
-#: ../../mod/connedit.php:341
+#: ../../mod/connedit.php:355
msgid "Channel has been unarchived"
msgstr "Il canale non è più archiviato"
-#: ../../mod/connedit.php:342
+#: ../../mod/connedit.php:356
msgid "Channel has been archived"
msgstr "Il canale è stato archiviato"
-#: ../../mod/connedit.php:353
+#: ../../mod/connedit.php:367
msgid "Channel has been unhidden"
msgstr "Il canale non è più nascosto"
-#: ../../mod/connedit.php:354
+#: ../../mod/connedit.php:368
msgid "Channel has been hidden"
msgstr "Il canale è stato nascosto"
-#: ../../mod/connedit.php:369
+#: ../../mod/connedit.php:383
msgid "Channel has been approved"
msgstr "Il canale è stato approvato"
-#: ../../mod/connedit.php:370
+#: ../../mod/connedit.php:384
msgid "Channel has been unapproved"
msgstr "Il canale non è più approvato"
-#: ../../mod/connedit.php:398
+#: ../../mod/connedit.php:412
msgid "Connection has been removed."
msgstr "Il contatto è stato rimosso."
-#: ../../mod/connedit.php:418
+#: ../../mod/connedit.php:432
#, php-format
msgid "View %s's profile"
msgstr "Guarda il profilo di %s"
-#: ../../mod/connedit.php:422
+#: ../../mod/connedit.php:436
msgid "Refresh Permissions"
msgstr "Aggiorna i permessi"
-#: ../../mod/connedit.php:425
+#: ../../mod/connedit.php:439
msgid "Fetch updated permissions"
msgstr "Scarica i permessi aggiornati"
-#: ../../mod/connedit.php:429
+#: ../../mod/connedit.php:443
msgid "Recent Activity"
msgstr "Attività recenti"
-#: ../../mod/connedit.php:432
+#: ../../mod/connedit.php:446
msgid "View recent posts and comments"
msgstr "Leggi i post recenti e i commenti"
-#: ../../mod/connedit.php:436 ../../mod/connedit.php:579
-#: ../../mod/admin.php:734
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:595
+#: ../../mod/admin.php:732
msgid "Unblock"
msgstr "Sblocca"
-#: ../../mod/connedit.php:436 ../../mod/connedit.php:579
-#: ../../mod/admin.php:733
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:595
+#: ../../mod/admin.php:731
msgid "Block"
msgstr "Blocca"
-#: ../../mod/connedit.php:439
+#: ../../mod/connedit.php:453
msgid "Block or Unblock this connection"
msgstr "Per bloccare o meno questo contatto"
-#: ../../mod/connedit.php:443 ../../mod/connedit.php:580
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:596
msgid "Unignore"
msgstr "Non ignorare"
-#: ../../mod/connedit.php:443 ../../mod/connedit.php:580
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:596
#: ../../mod/notifications.php:51
msgid "Ignore"
msgstr "Ignora"
-#: ../../mod/connedit.php:446
+#: ../../mod/connedit.php:460
msgid "Ignore or Unignore this connection"
msgstr "Per ignorare o meno questo contatto"
-#: ../../mod/connedit.php:449
+#: ../../mod/connedit.php:463
msgid "Unarchive"
msgstr "Non archiviare"
-#: ../../mod/connedit.php:449
+#: ../../mod/connedit.php:463
msgid "Archive"
msgstr "Archivia"
-#: ../../mod/connedit.php:452
+#: ../../mod/connedit.php:466
msgid "Archive or Unarchive this connection"
msgstr "Per archiviare o meno questo contatto"
-#: ../../mod/connedit.php:455
+#: ../../mod/connedit.php:469
msgid "Unhide"
msgstr "Non nascondere"
-#: ../../mod/connedit.php:455
+#: ../../mod/connedit.php:469
msgid "Hide"
msgstr "Nascondi"
-#: ../../mod/connedit.php:458
+#: ../../mod/connedit.php:472
msgid "Hide or Unhide this connection"
msgstr "Per nascondere o meno questo contatto"
-#: ../../mod/connedit.php:465
+#: ../../mod/connedit.php:479
msgid "Delete this connection"
msgstr "Elimina questo contatto"
-#: ../../mod/connedit.php:508 ../../mod/connedit.php:537
+#: ../../mod/connedit.php:523 ../../mod/connedit.php:553
msgid "Approve this connection"
msgstr "Approva questo contatto"
-#: ../../mod/connedit.php:508
+#: ../../mod/connedit.php:523
msgid "Accept connection to allow communication"
msgstr "Entra in contatto per poter comunicare"
-#: ../../mod/connedit.php:524
-msgid "Automatic Permissions Settings"
-msgstr "Permessi predefiniti"
-
-#: ../../mod/connedit.php:524
+#: ../../mod/connedit.php:539
#, php-format
msgid "Connections: settings for %s"
msgstr "Contatti: impostazioni per %s"
-#: ../../mod/connedit.php:528
-msgid ""
-"When receiving a channel introduction, any permissions provided here will be"
-" applied to the new connection automatically and the introduction approved. "
-"Leave this page if you do not wish to use this feature."
-msgstr "Hai ricevuto da un canale una richiesta di entrare in contatto, se prosegui la richiesta sarà approvata e saranno applicati i permessi mostrati. Lascia questa pagina se non vuoi proseguire."
+#: ../../mod/connedit.php:540
+msgid "Apply these permissions automatically"
+msgstr "Applica automaticamente questi permessi"
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:544
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr "Applica i permessi indicati su questa pagina a tutti i nuovi contatti."
+
+#: ../../mod/connedit.php:546
msgid "Slide to adjust your degree of friendship"
msgstr "Trascina per restringere il grado di amicizia da mostrare"
-#: ../../mod/connedit.php:536
+#: ../../mod/connedit.php:552
msgid "inherited"
msgstr "derivato"
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:554
msgid "Connection has no individual permissions!"
msgstr "Non hai assegnato permessi individuali a questo contatto!"
-#: ../../mod/connedit.php:539
+#: ../../mod/connedit.php:555
msgid ""
"This may be appropriate based on your <a href=\"settings\">privacy "
"settings</a>, though you may wish to review the \"Advanced Permissions\"."
msgstr "Questo corrisponde alle tue <a href='settings'>impostazioni di privacy</a>, ma puoi anche dare un'occhiata ai 'Permessi avanzati' per opzioni più dettagliate."
-#: ../../mod/connedit.php:541
+#: ../../mod/connedit.php:557
msgid "Profile Visibility"
msgstr "Visibilità del profilo"
-#: ../../mod/connedit.php:542
+#: ../../mod/connedit.php:558
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro."
-#: ../../mod/connedit.php:543
+#: ../../mod/connedit.php:559
msgid "Contact Information / Notes"
msgstr "Informazioni e annotazioni sul contatto"
-#: ../../mod/connedit.php:544
+#: ../../mod/connedit.php:560
msgid "Edit contact notes"
msgstr "Modifica le informazioni sul contatto"
-#: ../../mod/connedit.php:546
+#: ../../mod/connedit.php:562
msgid "Their Settings"
msgstr "Permessi concessi a te"
-#: ../../mod/connedit.php:547
+#: ../../mod/connedit.php:563
msgid "My Settings"
msgstr "I permessi che concedo"
-#: ../../mod/connedit.php:549
+#: ../../mod/connedit.php:565
msgid "Clear/Disable Automatic Permissions"
msgstr "Rimuovi/disabilita i permessi automatici"
-#: ../../mod/connedit.php:550
+#: ../../mod/connedit.php:566
msgid "Forum Members"
msgstr "Membro di un forum"
-#: ../../mod/connedit.php:551
+#: ../../mod/connedit.php:567
msgid "Soapbox"
msgstr "Comunicati e annunci"
-#: ../../mod/connedit.php:552
+#: ../../mod/connedit.php:568
msgid "Full Sharing (typical social network permissions)"
msgstr "Condivisione completa (permessi tipici dei social network)"
-#: ../../mod/connedit.php:553
+#: ../../mod/connedit.php:569
msgid "Cautious Sharing "
msgstr "Condivisione prudente"
-#: ../../mod/connedit.php:554
+#: ../../mod/connedit.php:570
msgid "Follow Only"
msgstr "Follower"
-#: ../../mod/connedit.php:555
+#: ../../mod/connedit.php:571
msgid "Individual Permissions"
msgstr "Permessi individuali"
-#: ../../mod/connedit.php:556
+#: ../../mod/connedit.php:572
msgid ""
"Some permissions may be inherited from your channel <a "
"href=\"settings\">privacy settings</a>, which have higher priority than "
@@ -5332,1091 +5848,1103 @@ msgid ""
"have no effect."
msgstr "I permessi nelle <a href=\"settings\">impostazioni di privacy</a> hanno priorità su quelli mostrati in questa pagina. Non avrà alcun effetto cambiarli qui, se sono indicati come derivati."
-#: ../../mod/connedit.php:557
+#: ../../mod/connedit.php:573
msgid "Advanced Permissions"
msgstr "Permessi avanzati"
-#: ../../mod/connedit.php:558
+#: ../../mod/connedit.php:574
msgid "Simple Permissions (select one and submit)"
msgstr "Permessi semplificati (seleziona e salva)"
-#: ../../mod/connedit.php:562
+#: ../../mod/connedit.php:578
#, php-format
msgid "Visit %s's profile - %s"
msgstr "Guarda il profilo di %s - %s"
-#: ../../mod/connedit.php:563
+#: ../../mod/connedit.php:579
msgid "Block/Unblock contact"
msgstr "Blocca/sblocca contatto"
-#: ../../mod/connedit.php:564
+#: ../../mod/connedit.php:580
msgid "Ignore contact"
msgstr "Ignora il contatto"
-#: ../../mod/connedit.php:565
+#: ../../mod/connedit.php:581
msgid "Repair URL settings"
msgstr "Ripara le impostazioni URL"
-#: ../../mod/connedit.php:566
+#: ../../mod/connedit.php:582
msgid "View conversations"
msgstr "Leggi le conversazioni"
-#: ../../mod/connedit.php:568
+#: ../../mod/connedit.php:584
msgid "Delete contact"
msgstr "Elimina contatto"
-#: ../../mod/connedit.php:571
+#: ../../mod/connedit.php:587
msgid "Last update:"
msgstr "Ultimo aggiornamento:"
-#: ../../mod/connedit.php:573
+#: ../../mod/connedit.php:589
msgid "Update public posts"
msgstr "Aggiorna gli articoli pubblici"
-#: ../../mod/connedit.php:575
+#: ../../mod/connedit.php:591
msgid "Update now"
msgstr "Aggiorna adesso"
-#: ../../mod/connedit.php:581
+#: ../../mod/connedit.php:597
msgid "Currently blocked"
msgstr "Attualmente bloccato"
-#: ../../mod/connedit.php:582
+#: ../../mod/connedit.php:598
msgid "Currently ignored"
msgstr "Attualmente ignorato"
-#: ../../mod/connedit.php:583
+#: ../../mod/connedit.php:599
msgid "Currently archived"
msgstr "Attualmente archiviato"
-#: ../../mod/connedit.php:584
+#: ../../mod/connedit.php:600
msgid "Currently pending"
msgstr "Attualmente da approvare"
-#: ../../mod/connedit.php:585
+#: ../../mod/connedit.php:601
msgid "Hide this contact from others"
msgstr "Nascondi questo contatto agli altri"
-#: ../../mod/connedit.php:585
+#: ../../mod/connedit.php:601
msgid ""
"Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr "Le risposte ai tuoi articoli pubblici <strong>potrebbero</strong> restare comunque visibili"
-#: ../../mod/delegate.php:95
-msgid "No potential page delegates located."
-msgstr "Impossibile trovare delegati per questa pagina."
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr "Impossibile associare un destinatario."
-#: ../../mod/delegate.php:121
-msgid "Delegate Page Management"
-msgstr "Gestione delegati per la pagina"
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr "Impossibile comunicare con il canale richiesto."
-#: ../../mod/delegate.php:123
-msgid ""
-"Delegates are able to manage all aspects of this account/page except for "
-"basic account settings. Please do not delegate your personal account to "
-"anybody that you do not trust completely."
-msgstr "I Delegati sono in grando di gestire tutti gli aspetti di questa pagina, tranne per i settaggi di base dell'account. Non delegare il tuo account personale a nessuno di cui non ti fidi ciecamente."
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr "Impossibile verificare il canale richiesto."
-#: ../../mod/delegate.php:124
-msgid "Existing Page Managers"
-msgstr "Gestori attuali della pagina"
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."
-#: ../../mod/delegate.php:126
-msgid "Existing Page Delegates"
-msgstr "Delegati attuali della pagina"
+#: ../../mod/mail.php:136
+msgid "Message deleted."
+msgstr "Messaggio eliminato."
-#: ../../mod/delegate.php:128
-msgid "Potential Delegates"
-msgstr "Delegati potenziali"
+#: ../../mod/mail.php:153
+msgid "Message recalled."
+msgstr "Messaggio revocato."
-#: ../../mod/delegate.php:130 ../../mod/photos.php:937 ../../mod/tagrm.php:93
-msgid "Remove"
-msgstr "Rimuovi"
+#: ../../mod/mail.php:222
+msgid "Send Private Message"
+msgstr "Invia un messaggio privato"
-#: ../../mod/delegate.php:131
-msgid "Add"
-msgstr "Aggiungi"
+#: ../../mod/mail.php:223 ../../mod/mail.php:340
+msgid "To:"
+msgstr "A:"
-#: ../../mod/delegate.php:132
-msgid "No entries."
-msgstr "Nessun risultato."
+#: ../../mod/mail.php:228 ../../mod/mail.php:342
+msgid "Subject:"
+msgstr "Oggetto:"
-#: ../../mod/search.php:13 ../../mod/directory.php:15
-#: ../../mod/dirprofile.php:9 ../../mod/display.php:9 ../../mod/photos.php:443
-#: ../../mod/viewconnections.php:17
-msgid "Public access denied."
-msgstr "Accesso pubblico negato."
+#: ../../mod/mail.php:232 ../../mod/mail.php:345 ../../mod/invite.php:131
+msgid "Your message:"
+msgstr "Il tuo messaggio:"
-#: ../../mod/directory.php:146 ../../mod/dirprofile.php:95
-msgid "Gender: "
-msgstr "Sesso:"
+#: ../../mod/mail.php:239
+msgid "Send"
+msgstr "Invia"
-#: ../../mod/directory.php:223
-msgid "Finding:"
-msgstr "Ricerca:"
+#: ../../mod/mail.php:266
+msgid "Message not found."
+msgstr "Messaggio non trovato."
-#: ../../mod/directory.php:228
-msgid "next page"
-msgstr "pagina successiva"
+#: ../../mod/mail.php:309
+msgid "Delete message"
+msgstr "Elimina il messaggio"
-#: ../../mod/directory.php:228
-msgid "previous page"
-msgstr "pagina precedente"
+#: ../../mod/mail.php:310
+msgid "Recall message"
+msgstr "Revoca il messaggio"
-#: ../../mod/directory.php:245
-msgid "No entries (some entries may be hidden)."
-msgstr "Nessun risultato (qualcosa potrebbe essere nascosto)."
+#: ../../mod/mail.php:312
+msgid "Message has been recalled."
+msgstr "Il messaggio è stato revocato."
-#: ../../mod/dirprofile.php:108
-msgid "Status: "
-msgstr "Stato:"
+#: ../../mod/mail.php:329
+msgid "Private Conversation"
+msgstr "Conversazione privata"
-#: ../../mod/dirprofile.php:109
-msgid "Sexual Preference: "
-msgstr "Preferenza sessuale:"
+#: ../../mod/mail.php:333 ../../mod/message.php:72
+msgid "Delete conversation"
+msgstr "Elimina la conversazione"
-#: ../../mod/dirprofile.php:111
-msgid "Homepage: "
-msgstr "Homepage:"
+#: ../../mod/mail.php:335
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Non è disponibile alcuna tecnologia per comunicare in modo sicuro. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente."
-#: ../../mod/dirprofile.php:112
-msgid "Hometown: "
-msgstr "Città dove vivo:"
+#: ../../mod/mail.php:339
+msgid "Send Reply"
+msgstr "Invia la risposta"
-#: ../../mod/dirprofile.php:114
-msgid "About: "
-msgstr "Informazioni:"
+#: ../../mod/photos.php:77
+msgid "Page owner information could not be retrieved."
+msgstr "Impossibile ottenere informazioni sul proprietario della pagina."
-#: ../../mod/dirprofile.php:162
-msgid "Keywords: "
-msgstr "Parole chiave:"
+#: ../../mod/photos.php:97
+msgid "Album not found."
+msgstr "Album non trovato."
-#: ../../mod/dirsearch.php:21
-msgid "This site is not a directory server"
-msgstr "Questo sito non fornisce l'elenco generale dei canali"
+#: ../../mod/photos.php:119 ../../mod/photos.php:672
+msgid "Delete Album"
+msgstr "Elimina album"
-#: ../../mod/setup.php:162
-msgid "Red Matrix Server - Setup"
-msgstr "RedMatrix Server - Installazione"
+#: ../../mod/photos.php:159 ../../mod/photos.php:958
+msgid "Delete Photo"
+msgstr "Elimina foto"
-#: ../../mod/setup.php:168
-msgid "Could not connect to database."
-msgstr " Impossibile connettersi al database."
+#: ../../mod/photos.php:469
+msgid "No photos selected"
+msgstr "Nessuna foto selezionata"
-#: ../../mod/setup.php:172
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
+#: ../../mod/photos.php:513
+msgid "Access to this item is restricted."
+msgstr "Questo elemento non è visibile a tutti."
-#: ../../mod/setup.php:179
-msgid "Could not create table."
-msgstr "Impossibile creare le tabelle."
+#: ../../mod/photos.php:552
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile."
-#: ../../mod/setup.php:185
-msgid "Your site database has been installed."
-msgstr "Il database del sito è stato installato."
+#: ../../mod/photos.php:555
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr "Hai usato %1$.2f Mb del tuo spazio disponibile."
-#: ../../mod/setup.php:190
-msgid ""
-"You may need to import the file \"install/database.sql\" manually using "
-"phpmyadmin or mysql."
-msgstr "Potresti dover importare il file 'install/database.sql' manualmente usando phpmyadmin o mysql."
+#: ../../mod/photos.php:579
+msgid "Upload Photos"
+msgstr "Carica foto"
-#: ../../mod/setup.php:191 ../../mod/setup.php:260 ../../mod/setup.php:655
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Leggi il file 'install/INSTALL.txt'."
+#: ../../mod/photos.php:583 ../../mod/photos.php:665 ../../mod/photos.php:943
+msgid "Enter a new album name"
+msgstr "Inserisci il nome di un nuovo album"
-#: ../../mod/setup.php:257
-msgid "System check"
-msgstr "Verifica del sistema"
+#: ../../mod/photos.php:584 ../../mod/photos.php:666 ../../mod/photos.php:944
+msgid "or select an existing one (doubleclick)"
+msgstr "o seleziona uno esistente (doppio click)"
-#: ../../mod/setup.php:261 ../../mod/events.php:439
-msgid "Next"
-msgstr "Successivo"
+#: ../../mod/photos.php:585
+msgid "Do not show a status post for this upload"
+msgstr "Non creare un messaggio di stato per questo caricamento"
-#: ../../mod/setup.php:262
-msgid "Check again"
-msgstr "Verifica di nuovo"
+#: ../../mod/photos.php:613
+msgid "Album name could not be decoded"
+msgstr "Non è stato possibile leggere il nome dell'album"
-#: ../../mod/setup.php:284
-msgid "Database connection"
-msgstr "Connessione al database"
+#: ../../mod/photos.php:654 ../../mod/photos.php:1167
+#: ../../mod/photos.php:1183
+msgid "Contact Photos"
+msgstr "Foto dei contatti"
-#: ../../mod/setup.php:285
-msgid ""
-"In order to install Red Matrix we need to know how to connect to your "
-"database."
-msgstr "Per installare RedMatrix è necessario conoscere i parametri di connessione al database."
+#: ../../mod/photos.php:678
+msgid "Show Newest First"
+msgstr "Prima i più recenti"
-#: ../../mod/setup.php:286
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
+#: ../../mod/photos.php:680
+msgid "Show Oldest First"
+msgstr "Prima i più vecchi"
-#: ../../mod/setup.php:287
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
+#: ../../mod/photos.php:707 ../../mod/photos.php:1215
+msgid "View Photo"
+msgstr "Guarda la foto"
-#: ../../mod/setup.php:291
-msgid "Database Server Name"
-msgstr "Server del database"
+#: ../../mod/photos.php:736
+msgid "Edit Album"
+msgstr "Modifica album"
-#: ../../mod/setup.php:291
-msgid "Default is localhost"
-msgstr "'localhost' è il predefinito"
+#: ../../mod/photos.php:781
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Permesso negato. L'accesso a questo elemento può essere stato limitato."
-#: ../../mod/setup.php:292
-msgid "Database Port"
-msgstr "Port del database"
+#: ../../mod/photos.php:783
+msgid "Photo not available"
+msgstr "Foto non disponibile"
-#: ../../mod/setup.php:292
-msgid "Communication port number - use 0 for default"
-msgstr "Scrivi 0 per usare il valore standard"
+#: ../../mod/photos.php:841
+msgid "Use as profile photo"
+msgstr "Usa come foto del profilo"
-#: ../../mod/setup.php:293
-msgid "Database Login Name"
-msgstr "Utente database"
+#: ../../mod/photos.php:848
+msgid "Private Photo"
+msgstr "Foto privata"
-#: ../../mod/setup.php:294
-msgid "Database Login Password"
-msgstr "Password utente database"
+#: ../../mod/photos.php:863
+msgid "View Full Size"
+msgstr "Vedi nelle dimensioni originali"
-#: ../../mod/setup.php:295
-msgid "Database Name"
-msgstr "Nome database"
+#: ../../mod/photos.php:937
+msgid "Edit photo"
+msgstr "Modifica la foto"
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
-msgid "Site administrator email address"
-msgstr "Indirizzo email dell'amministratore del sito"
+#: ../../mod/photos.php:939
+msgid "Rotate CW (right)"
+msgstr "Ruota (senso orario)"
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web."
+#: ../../mod/photos.php:940
+msgid "Rotate CCW (left)"
+msgstr "Ruota (senso antiorario)"
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
-msgid "Website URL"
-msgstr "URL completo del sito"
+#: ../../mod/photos.php:947
+msgid "Caption"
+msgstr "Titolo"
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
-msgid "Please use SSL (https) URL if available."
-msgstr "Se disponibile, usa l'indirizzo SSL (https)."
+#: ../../mod/photos.php:949
+msgid "Add a Tag"
+msgstr "Aggiungi tag"
-#: ../../mod/setup.php:301 ../../mod/setup.php:344
-msgid "Please select a default timezone for your website"
-msgstr "Seleziona il fuso orario predefinito per il tuo sito web"
+#: ../../mod/photos.php:953
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Esempio: @bob, @Barbara_Jensen, @jim@example.com"
-#: ../../mod/setup.php:328
-msgid "Site settings"
-msgstr "Impostazioni del sito"
+#: ../../mod/photos.php:956
+msgid "Flag as adult in album view"
+msgstr "Marca come 'per adulti'"
-#: ../../mod/setup.php:387
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
+#: ../../mod/photos.php:1133
+msgid "In This Photo:"
+msgstr "In questa foto:"
-#: ../../mod/setup.php:388
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
+#: ../../mod/photos.php:1221
+msgid "View Album"
+msgstr "Guarda l'album"
-#: ../../mod/setup.php:392
-msgid "PHP executable path"
-msgstr "Path del comando PHP"
+#: ../../mod/photos.php:1244
+msgid "Recent Photos"
+msgstr "Foto recenti"
-#: ../../mod/setup.php:392
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr "Segnalibro aggiunto"
-#: ../../mod/setup.php:397
-msgid "Command line PHP"
-msgstr "PHP da riga di comando"
+#: ../../mod/bookmarks.php:60
+msgid "My Bookmarks"
+msgstr "I miei segnalibri"
-#: ../../mod/setup.php:406
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
+#: ../../mod/bookmarks.php:71
+msgid "My Connections Bookmarks"
+msgstr "I segnalibri dei miei contatti"
-#: ../../mod/setup.php:407
-msgid "This is required for message delivery to work."
-msgstr "E' necessario perché funzioni la consegna dei messaggi."
+#: ../../mod/dirsearch.php:21
+msgid "This site is not a directory server"
+msgstr "Questo sito non è un server di elenchi pubblici"
-#: ../../mod/setup.php:409
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
+#: ../../mod/cloud.php:130
+msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
+msgstr "Accesso a Red Matrix. {Inserisci l'email con cui sei registrato e la password.}"
-#: ../../mod/setup.php:430
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione"
+#: ../../mod/acl.php:245
+msgid "network"
+msgstr "rete"
-#: ../../mod/setup.php:431
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
+#: ../../mod/blocks.php:99
+msgid "Block Name"
+msgstr "Nome del riquadro"
-#: ../../mod/setup.php:433
-msgid "Generate encryption keys"
-msgstr "Genera chiavi di criptazione"
+#: ../../mod/editblock.php:115
+msgid "Edit Block"
+msgstr "Modifica il riquadro"
-#: ../../mod/setup.php:440
-msgid "libCurl PHP module"
-msgstr "modulo PHP libCurl"
+#: ../../mod/editblock.php:125
+msgid "Delete block?"
+msgstr "Vuoi eliminare questo riquadro?"
-#: ../../mod/setup.php:441
-msgid "GD graphics PHP module"
-msgstr "modulo PHP GD graphics"
+#: ../../mod/editblock.php:183
+msgid "Delete Block"
+msgstr "Elimina il riquadro"
-#: ../../mod/setup.php:442
-msgid "OpenSSL PHP module"
-msgstr "modulo PHP OpenSSL"
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
+msgstr "Layout aggiornato."
-#: ../../mod/setup.php:443
-msgid "mysqli PHP module"
-msgstr "modulo PHP mysqli"
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
+msgstr "Modifica i layout di sistema"
-#: ../../mod/setup.php:444
-msgid "mb_string PHP module"
-msgstr "modulo PHP mb_string"
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
+msgstr "Layout non trovato."
-#: ../../mod/setup.php:445
-msgid "mcrypt PHP module"
-msgstr "modulo PHP mcrypt"
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
+msgstr "Nome del modulo:"
-#: ../../mod/setup.php:450 ../../mod/setup.php:452
-msgid "Apache mod_rewrite module"
-msgstr "modulo Apache mod_rewrite"
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:107
+msgid "Layout Help"
+msgstr "Guida al layout"
-#: ../../mod/setup.php:450
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
+#: ../../mod/editlayout.php:108
+msgid "Edit Layout"
+msgstr "Modifica il layout"
-#: ../../mod/setup.php:456 ../../mod/setup.php:459
-msgid "proc_open"
-msgstr "proc_open"
+#: ../../mod/editlayout.php:117
+msgid "Delete layout?"
+msgstr "Vuoi eliminare questo layout?"
-#: ../../mod/setup.php:456
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
+#: ../../mod/editlayout.php:178
+msgid "Delete Layout"
+msgstr "Elimina il layout"
-#: ../../mod/setup.php:464
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
+#: ../../mod/home.php:48
+msgid "Red Matrix - &quot;The Network&quot;"
+msgstr "RedMatrix - &quot;La tua rete&quot;"
-#: ../../mod/setup.php:468
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
+#: ../../mod/home.php:101
+#, php-format
+msgid "Welcome to %s"
+msgstr "%s ti dà il benvenuto"
-#: ../../mod/setup.php:472
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
+#: ../../mod/editwebpage.php:140
+msgid "Edit Webpage"
+msgstr "Modifica la pagina web"
-#: ../../mod/setup.php:476
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Errore: il modulo mysqli di PHP è richiesto ma non installato."
+#: ../../mod/editwebpage.php:150
+msgid "Delete webpage?"
+msgstr "Vuoi eliminare questa pagina web?"
-#: ../../mod/setup.php:480
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
+#: ../../mod/editwebpage.php:215
+msgid "Delete Webpage"
+msgstr "Elimina la pagina web"
-#: ../../mod/setup.php:484
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr "Errore: il modulo PHP mcrypt è richiesto ma non installato."
+#: ../../mod/impel.php:33
+msgid "webpage"
+msgstr "pagina web"
-#: ../../mod/setup.php:500
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella principale del tuo web server ma non è in grado di farlo."
+#: ../../mod/impel.php:38
+msgid "block"
+msgstr "riquadro"
-#: ../../mod/setup.php:501
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
+#: ../../mod/impel.php:43
+msgid "layout"
+msgstr "layout"
-#: ../../mod/setup.php:502
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di RedMatrix."
+#: ../../mod/impel.php:117
+#, php-format
+msgid "%s element installed"
+msgstr "%s elemento installato"
-#: ../../mod/setup.php:503
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
+#: ../../mod/profile_photo.php:108
+msgid "Image uploaded but image cropping failed."
+msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."
-#: ../../mod/setup.php:506
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php è scrivibile"
+#: ../../mod/profile_photo.php:161
+msgid "Image resize failed."
+msgstr "Il ridimensionamento dell'immagine è fallito."
-#: ../../mod/setup.php:516
+#: ../../mod/profile_photo.php:205
msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente."
-#: ../../mod/setup.php:517
+#: ../../mod/profile_photo.php:232
#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di RedMatrix."
+msgid "Image exceeds size limit of %d"
+msgstr "La dimensione dell'immagine supera il limite di %d"
-#: ../../mod/setup.php:518 ../../mod/setup.php:536
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Assicurati che il tuo web server sia in esecuzione come un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
+#: ../../mod/profile_photo.php:241
+msgid "Unable to process image."
+msgstr "Impossibile elaborare l'immagine."
-#: ../../mod/setup.php:519
-#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
-msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
+#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
+msgid "Photo not available."
+msgstr "Foto non disponibile."
-#: ../../mod/setup.php:522
-#, php-format
-msgid "%s is writable"
-msgstr "%s è scrivibile"
+#: ../../mod/profile_photo.php:358
+msgid "Upload File:"
+msgstr "Carica un file:"
-#: ../../mod/setup.php:535
-msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to"
-" have write access to the store directory under the Red top level folder"
-msgstr "RedMatrix usa un archivio per salvare i file caricati. Il server deve avere i diritti di scrittura sulla cartella dell'archivio che si trova dentro la cartella principale di RedMatrix"
+#: ../../mod/profile_photo.php:359
+msgid "Select a profile:"
+msgstr "Seleziona un profilo:"
-#: ../../mod/setup.php:539
-msgid "store is writable"
-msgstr "l'archivio è scrivibile"
+#: ../../mod/profile_photo.php:360
+msgid "Upload Profile Photo"
+msgstr "Carica la foto del profilo"
-#: ../../mod/setup.php:569
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
+#: ../../mod/profile_photo.php:365
+msgid "skip this step"
+msgstr "salta questo passaggio"
-#: ../../mod/setup.php:570
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!"
+#: ../../mod/profile_photo.php:365
+msgid "select a photo from your photo albums"
+msgstr "seleziona una foto dai tuoi album"
-#: ../../mod/setup.php:571
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
+#: ../../mod/profile_photo.php:381
+msgid "Crop Image"
+msgstr "Ritaglia immagine"
-#: ../../mod/setup.php:572
-msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
+#: ../../mod/profile_photo.php:382
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Ritaglia l'immagine per migliorarne la visualizzazione."
-#: ../../mod/setup.php:573
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Ciò può creare problemi di usabilità molto gravi (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
+#: ../../mod/profile_photo.php:384
+msgid "Done Editing"
+msgstr "Modifica terminata"
-#: ../../mod/setup.php:574
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
+#: ../../mod/profile_photo.php:427
+msgid "Image uploaded successfully."
+msgstr "Immagine caricata con successo."
-#: ../../mod/setup.php:576
-msgid "SSL certificate validation"
-msgstr "Validazione del certificato SSL"
+#: ../../mod/profile_photo.php:429
+msgid "Image upload failed."
+msgstr "Il caricamento dell'immagine è fallito."
-#: ../../mod/setup.php:582
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server."
+#: ../../mod/profile_photo.php:438
+#, php-format
+msgid "Image size reduction [%s] failed."
+msgstr "Il ridimensionamento del'immagine [%s] è fallito."
-#: ../../mod/setup.php:584
-msgid "Url rewrite is working"
-msgstr "Url rewrite funziona correttamente"
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr "Mi piace/Non mi piace"
-#: ../../mod/setup.php:594
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr "Questa funzionalità è riservata agli iscritti."
+
+#: ../../mod/like.php:21
msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
+"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
+"href=\"register\">register as a new RedMatrix member</a> to continue."
+msgstr "Per favore <a href=\"rmagic\">accedi con il tuo identificativo RedMatrix</a> o <a href=\"register\">registrati su RedMatrix</a> per continuare."
-#: ../../mod/setup.php:618
-msgid "Errors encountered creating database tables."
-msgstr "La creazione delle tabelle del database ha generato errori."
+#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
+msgid "Invalid request."
+msgstr "Richiesta non valida."
-#: ../../mod/setup.php:653
-msgid "<h1>What next</h1>"
-msgstr "<h1>I prossimi passi</h1>"
+#: ../../mod/like.php:119
+msgid "thing"
+msgstr "oggetto"
-#: ../../mod/setup.php:654
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
+#: ../../mod/like.php:165
+msgid "Channel unavailable."
+msgstr "Canale non trovato."
-#: ../../mod/editblock.php:8 ../../mod/editblock.php:27
-#: ../../mod/editblock.php:53 ../../mod/editlayout.php:36
-#: ../../mod/editpost.php:20 ../../mod/editwebpage.php:32
-msgid "Item not found"
-msgstr "Elemento non trovato"
+#: ../../mod/like.php:204
+msgid "Previous action reversed."
+msgstr "Il comando precedente è stato annullato."
-#: ../../mod/editblock.php:77
-msgid "Edit Block"
-msgstr "Modifica il riquadro"
+#: ../../mod/like.php:422
+msgid "Action completed."
+msgstr "Comando completato."
-#: ../../mod/editblock.php:87
-msgid "Delete block?"
-msgstr "Vuoi eliminare questo riquadro?"
+#: ../../mod/like.php:423
+msgid "Thank you."
+msgstr "Grazie."
-#: ../../mod/editblock.php:115 ../../mod/editlayout.php:110
-#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:147
-msgid "Insert YouTube video"
-msgstr "Inserisci video da YouTube"
+#: ../../mod/help.php:41 ../../mod/help.php:47 ../../mod/help.php:53
+msgid "Help:"
+msgstr "Guida:"
-#: ../../mod/editblock.php:116 ../../mod/editlayout.php:111
-#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:148
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Inserisci video Vorbis [.ogg]"
+#: ../../mod/help.php:67 ../../index.php:238
+msgid "Not Found"
+msgstr "Non disponibile"
-#: ../../mod/editblock.php:117 ../../mod/editlayout.php:112
-#: ../../mod/editpost.php:118 ../../mod/editwebpage.php:149
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Inserisci audio Vorbis [.ogg]"
+#: ../../mod/thing.php:96
+msgid "Thing updated"
+msgstr "L'oggetto è stato aggiornato"
-#: ../../mod/editblock.php:153
-msgid "Delete Block"
-msgstr "Elimina il riquadro"
+#: ../../mod/thing.php:156
+msgid "Object store: failed"
+msgstr "Impossibile memorizzare l'oggetto."
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
-msgstr "Layout aggiornato."
+#: ../../mod/thing.php:160
+msgid "Thing added"
+msgstr "L'oggetto è stato aggiunto"
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
-msgstr "Modifica i layout di sistema"
+#: ../../mod/thing.php:180
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
-msgstr "Layout non trovato."
+#: ../../mod/thing.php:232
+msgid "Show Thing"
+msgstr "Mostra l'oggetto"
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
-msgstr "Nome del modulo:"
+#: ../../mod/thing.php:239
+msgid "item not found."
+msgstr "non trovato."
-#: ../../mod/pdledit.php:55 ../../mod/layouts.php:59
-msgid "Layout Help"
-msgstr "Guida al layout"
+#: ../../mod/thing.php:270
+msgid "Edit Thing"
+msgstr "Modifica l'oggetto"
-#: ../../mod/editlayout.php:72
-msgid "Edit Layout"
-msgstr "Modifica il layout"
+#: ../../mod/thing.php:272 ../../mod/thing.php:319
+msgid "Select a profile"
+msgstr "Scegli un profilo"
-#: ../../mod/editlayout.php:82
-msgid "Delete layout?"
-msgstr "Vuoi eliminare questo layout?"
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Post an activity"
+msgstr "Pubblica un'attività"
-#: ../../mod/editlayout.php:146
-msgid "Delete Layout"
-msgstr "Elimina il layout"
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Invia solo a chi segue il relativo canale"
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "L'elemento non è modificabile"
+#: ../../mod/thing.php:278 ../../mod/thing.php:324
+msgid "Name of thing e.g. something"
+msgstr "Nome dell'oggetto"
-#: ../../mod/editpost.php:53
-msgid "Delete item?"
-msgstr "Eliminare questo elemento?"
+#: ../../mod/thing.php:280 ../../mod/thing.php:325
+msgid "URL of thing (optional)"
+msgstr "Indirizzo web dell'oggetto (opzionale)"
-#: ../../mod/editwebpage.php:106
-msgid "Edit Webpage"
-msgstr "Modifica la pagina web"
+#: ../../mod/thing.php:282 ../../mod/thing.php:326
+msgid "URL for photo of thing (optional)"
+msgstr "Indirizzo di un'immagine dell'oggetto (facoltativo)"
-#: ../../mod/editwebpage.php:116
-msgid "Delete webpage?"
-msgstr "Vuoi eliminare questa pagina web?"
+#: ../../mod/thing.php:317
+msgid "Add Thing to your Profile"
+msgstr "Aggiungi l'oggetto al tuo profilo"
-#: ../../mod/editwebpage.php:186
-msgid "Delete Webpage"
-msgstr "Elimina la pagina web"
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Contatto non trovato."
+
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr "Suggerimento di amicizia inviato."
-#: ../../mod/siteinfo.php:76
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr "Suggerisci amici"
+
+#: ../../mod/fsuggest.php:99
#, php-format
-msgid "Version %s"
-msgstr "Versione %s"
+msgid "Suggest a friend for %s"
+msgstr "Suggerisci un amico a %s"
-#: ../../mod/siteinfo.php:95
-msgid "Installed plugins/addons/apps:"
-msgstr "App e componenti installati:"
+#: ../../mod/filestorage.php:76
+msgid "Permission Denied."
+msgstr "Permesso negato."
-#: ../../mod/siteinfo.php:108
-msgid "No installed plugins/addons/apps"
-msgstr "Nessuna app o componente installato"
+#: ../../mod/filestorage.php:92
+msgid "File not found."
+msgstr "File non trovato."
-#: ../../mod/siteinfo.php:116
-msgid "Red"
-msgstr "RedMatrix"
+#: ../../mod/filestorage.php:131
+msgid "Edit file permissions"
+msgstr "Modifica i permessi del file"
-#: ../../mod/siteinfo.php:117
-msgid ""
-"This is a hub of the Red Matrix - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Questo è un hub di RedMatrix - una rete cooperativa e decentralizzata di siti ad elevata privacy. "
+#: ../../mod/filestorage.php:140
+msgid "Set/edit permissions"
+msgstr "Modifica i permessi"
-#: ../../mod/siteinfo.php:120
-msgid "Running at web location"
-msgstr "In esecuzione sull'indirizzo web"
+#: ../../mod/filestorage.php:141
+msgid "Include all files and sub folders"
+msgstr "Includi tutti i file e le sottocartelle"
+
+#: ../../mod/filestorage.php:142
+msgid "Return to file list"
+msgstr "Torna all'elenco dei file"
+
+#: ../../mod/filestorage.php:144
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Copia/incolla questo codice per far comparire il file in un articolo"
+
+#: ../../mod/filestorage.php:145
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file"
+
+#: ../../mod/connect.php:56 ../../mod/connect.php:104
+msgid "Continue"
+msgstr "Continua"
+
+#: ../../mod/connect.php:85
+msgid "Premium Channel Setup"
+msgstr "Canale premium - installazione"
-#: ../../mod/siteinfo.php:121
+#: ../../mod/connect.php:87
+msgid "Enable premium channel connection restrictions"
+msgstr "Abilita le restrizioni del canale premium"
+
+#: ../../mod/connect.php:88
msgid ""
-"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
-"about the Red Matrix."
-msgstr "Visita <a href=\"http://getzot.com\">GetZot.com</a> per scoprire il progetto RedMatrix."
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc."
-#: ../../mod/siteinfo.php:122
-msgid "Bug reports and issues: please visit"
-msgstr "Per segnalare bug e problemi: visita"
+#: ../../mod/connect.php:90 ../../mod/connect.php:110
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"
-#: ../../mod/siteinfo.php:125
+#: ../../mod/connect.php:91
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com"
+"Potential connections will then see the following text before proceeding:"
+msgstr "Il testo seguente comparirà a chi vorrà seguire il canale:"
-#: ../../mod/siteinfo.php:127
-msgid "Site Administrators"
-msgstr "Amministratori del sito"
+#: ../../mod/connect.php:92 ../../mod/connect.php:113
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."
-#: ../../mod/photos.php:77
-msgid "Page owner information could not be retrieved."
-msgstr "Impossibile ottenere informazioni sul proprietario della pagina."
+#: ../../mod/connect.php:101
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)"
-#: ../../mod/photos.php:97
-msgid "Album not found."
-msgstr "Album non trovato."
+#: ../../mod/connect.php:109
+msgid "Restricted or Premium Channel"
+msgstr "Canale premium - con restrizioni"
-#: ../../mod/photos.php:119 ../../mod/photos.php:675
-msgid "Delete Album"
-msgstr "Elimina album"
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr "- scegli -"
-#: ../../mod/photos.php:159 ../../mod/photos.php:988
-msgid "Delete Photo"
-msgstr "Elimina foto"
+#: ../../mod/locs.php:19 ../../mod/locs.php:46
+msgid "Location not found."
+msgstr "Indirizzo non trovato."
-#: ../../mod/photos.php:453
-msgid "No photos selected"
-msgstr "Nessuna foto selezionata"
+#: ../../mod/locs.php:50
+msgid "Primary location cannot be removed."
+msgstr "L'indirizzo principale non può essere rimosso."
-#: ../../mod/photos.php:500
-msgid "Access to this item is restricted."
-msgstr "Questo elemento non è visibile a tutti."
+#: ../../mod/locs.php:82
+msgid "No locations found."
+msgstr "Nessun indirizzo trovato."
-#: ../../mod/photos.php:574
-#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
-msgstr "Hai usato %1$.2f Mb di %2$.2f Mb disponibili per le foto."
+#: ../../mod/locs.php:95
+msgid "Manage Channel Locations"
+msgstr "Modifica gli indirizzi del canale"
+
+#: ../../mod/locs.php:96
+msgid "Location (address)"
+msgstr "Indirizzo"
+
+#: ../../mod/locs.php:97
+msgid "Primary Location"
+msgstr "Indirizzo primario"
+
+#: ../../mod/locs.php:98
+msgid "Drop location"
+msgstr "Elimina un indirizzo"
+
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "Canale aggiunto."
-#: ../../mod/photos.php:577
+#: ../../mod/import.php:25
#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
-msgstr "Hai usato %1$.2f Mb di spazio per le foto."
+msgid "Your service plan only allows %d channels."
+msgstr "Il tuo account permette di creare al massimo %d canali."
-#: ../../mod/photos.php:596
-msgid "Upload Photos"
-msgstr "Carica foto"
+#: ../../mod/import.php:51
+msgid "Nothing to import."
+msgstr "Non c'è niente da importare."
-#: ../../mod/photos.php:600 ../../mod/photos.php:670
-msgid "New album name: "
-msgstr "Nome del nuovo album: "
+#: ../../mod/import.php:75
+msgid "Unable to download data from old server"
+msgstr "Impossibile importare i dati dal vecchio server"
-#: ../../mod/photos.php:601
-msgid "or existing album name: "
-msgstr "o nome di un album esistente: "
+#: ../../mod/import.php:81
+msgid "Imported file is empty."
+msgstr "Il file da importare è vuoto."
-#: ../../mod/photos.php:602
-msgid "Do not show a status post for this upload"
-msgstr "Non creare un messaggio di stato per questo caricamento"
+#: ../../mod/import.php:106
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
-#: ../../mod/photos.php:622
-msgid "Album name could not be decoded"
-msgstr "Non è stato possibile leggere il nome dell'album"
+#: ../../mod/import.php:127
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Impossibile creare un indirizzo univoco per il canale. L'import è fallito."
-#: ../../mod/photos.php:659 ../../mod/photos.php:681 ../../mod/photos.php:1160
-#: ../../mod/photos.php:1175
-msgid "Contact Photos"
-msgstr "Foto dei contatti"
+#: ../../mod/import.php:147
+msgid "Channel clone failed. Import failed."
+msgstr "Impossibile clonare il canale. L'importazione è fallita."
-#: ../../mod/photos.php:685
-msgid "Edit Album"
-msgstr "Modifica album"
+#: ../../mod/import.php:157
+msgid "Cloned channel not found. Import failed."
+msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
-#: ../../mod/photos.php:691
-msgid "Show Newest First"
-msgstr "Prima i più recenti"
+#: ../../mod/import.php:475
+msgid "Import completed."
+msgstr "L'importazione è terminata con successo!"
-#: ../../mod/photos.php:693
-msgid "Show Oldest First"
-msgstr "Prima i più vecchi"
+#: ../../mod/import.php:487
+msgid "You must be logged in to use this feature."
+msgstr "Per questa funzionalità devi aver effettuato l'accesso."
-#: ../../mod/photos.php:742 ../../mod/photos.php:1207
-msgid "View Photo"
-msgstr "Guarda la foto"
+#: ../../mod/import.php:492
+msgid "Import Channel"
+msgstr "Importa un canale"
-#: ../../mod/photos.php:807
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Permesso negato. L'accesso a questo elemento può essere stato limitato."
+#: ../../mod/import.php:493
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file. Only identity and connections/relationships will "
+"be imported. Importation of content is not yet available."
+msgstr "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi scaricare i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file che hai esportato. Saranno importati solamente l'identità e i contatti. L'importazione dei contenuti non è ancora disponibile."
-#: ../../mod/photos.php:809
-msgid "Photo not available"
-msgstr "Foto non disponibile"
+#: ../../mod/import.php:494
+msgid "File to Upload"
+msgstr "File da caricare"
-#: ../../mod/photos.php:869
-msgid "Use as profile photo"
-msgstr "Usa come foto del profilo"
+#: ../../mod/import.php:495
+msgid "Or provide the old server/hub details"
+msgstr "Oppure fornisci i dettagli del vecchio server/hub"
-#: ../../mod/photos.php:893
-msgid "View Full Size"
-msgstr "Vedi nelle dimensioni originali"
+#: ../../mod/import.php:496
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
-#: ../../mod/photos.php:971
-msgid "Edit photo"
-msgstr "Modifica la foto"
+#: ../../mod/import.php:497
+msgid "Your old login email address"
+msgstr "L'email che usavi per accedere sul vecchio server"
-#: ../../mod/photos.php:973
-msgid "Rotate CW (right)"
-msgstr "Ruota (senso orario)"
+#: ../../mod/import.php:498
+msgid "Your old login password"
+msgstr "La password per il vecchio server"
-#: ../../mod/photos.php:974
-msgid "Rotate CCW (left)"
-msgstr "Ruota (senso antiorario)"
+#: ../../mod/import.php:499
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Scegli se vuoi spostare il tuo indirizzo primario su questo server, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i server, ma solamente uno sarà indicato come posizione in cui risiedono i tuoi file, foto, ecc."
-#: ../../mod/photos.php:977
-msgid "New album name"
-msgstr "Nuovo nome dell'album"
+#: ../../mod/import.php:500
+msgid "Make this hub my primary location"
+msgstr "Rendi questo server il mio indirizzo primario"
-#: ../../mod/photos.php:980
-msgid "Caption"
-msgstr "Titolo"
+#: ../../mod/import.php:501
+msgid "Import existing posts if possible"
+msgstr "Importazione dei post esistenti, se possibile"
-#: ../../mod/photos.php:982
-msgid "Add a Tag"
-msgstr "Aggiungi tag"
+#: ../../mod/item.php:159
+msgid "Unable to locate original post."
+msgstr "Impossibile trovare il messaggio originale."
+
+#: ../../mod/item.php:418
+msgid "Empty post discarded."
+msgstr "L'articolo vuoto è stato ignorato."
+
+#: ../../mod/item.php:460
+msgid "Executable content type not permitted to this channel."
+msgstr "I contenuti eseguibili non sono permessi su questo canale."
+
+#: ../../mod/item.php:899
+msgid "System error. Post not saved."
+msgstr "Errore di sistema. Articolo non salvato."
-#: ../../mod/photos.php:985
+#: ../../mod/item.php:1117
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Hai raggiunto il limite massimo di %1$.0f articoli sulla pagina principale."
+
+#: ../../mod/item.php:1123
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
+
+#: ../../mod/suggest.php:35
msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr "Per esempio: @luca, @Maria_Bianchi, @bob@example.com, #California, #camping"
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore."
-#: ../../mod/photos.php:1138
-msgid "In This Photo:"
-msgstr "In questa foto:"
+#: ../../mod/layouts.php:110
+msgid "Help with this feature"
+msgstr "La guida per questa funzionalità"
-#: ../../mod/photos.php:1213
-msgid "View Album"
-msgstr "Guarda l'album"
+#: ../../mod/layouts.php:130
+msgid "Layout Name"
+msgstr "Nome layout"
-#: ../../mod/photos.php:1236
-msgid "Recent Photos"
-msgstr "Foto recenti"
+#: ../../mod/tagger.php:98
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
-#: ../../mod/sources.php:32
-msgid "Failed to create source. No channel selected."
-msgstr "Impossibile creare la sorgente. Nessun canale selezionato."
+#: ../../mod/profiles.php:18 ../../mod/profiles.php:165
+#: ../../mod/profiles.php:222 ../../mod/profiles.php:565
+msgid "Profile not found."
+msgstr "Profilo non trovato."
-#: ../../mod/sources.php:45
-msgid "Source created."
-msgstr "Sorgente creata."
+#: ../../mod/profiles.php:38
+msgid "Profile deleted."
+msgstr "Profilo eliminato."
-#: ../../mod/sources.php:57
-msgid "Source updated."
-msgstr "Sorgente aggiornata."
+#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
+msgid "Profile-"
+msgstr "Profilo-"
-#: ../../mod/sources.php:82
-msgid "*"
-msgstr "*"
+#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
+msgid "New profile created."
+msgstr "Il nuovo profilo è stato creato."
-#: ../../mod/sources.php:89
-msgid "Manage remote sources of content for your channel."
-msgstr "Gestisci le sorgenti dei contenuti del tuo canale."
+#: ../../mod/profiles.php:98
+msgid "Profile unavailable to clone."
+msgstr "Impossibile duplicare il profilo."
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
-msgid "New Source"
-msgstr "Nuova sorgente"
+#: ../../mod/profiles.php:136
+msgid "Profile unavailable to export."
+msgstr "Il profilo non è disponibile per l'export."
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
-msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."
+#: ../../mod/profiles.php:232
+msgid "Profile Name is required."
+msgstr "Il nome del profilo è obbligatorio ."
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Only import content with these words (one per line)"
-msgstr "Importa solo i contenuti che hanno queste parole (una per riga)"
+#: ../../mod/profiles.php:378
+msgid "Marital Status"
+msgstr "Stato sentimentale"
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Leave blank to import all public content"
-msgstr "Lascia vuoto per importare tutti i contenuti pubblici"
+#: ../../mod/profiles.php:382
+msgid "Romantic Partner"
+msgstr "Partner affettivo"
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
-#: ../../mod/new_channel.php:112
-msgid "Channel Name"
-msgstr "Nome del canale"
+#: ../../mod/profiles.php:386
+msgid "Likes"
+msgstr "Mi piace"
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
-msgid "Source not found."
-msgstr "Sorgente non trovata."
+#: ../../mod/profiles.php:390
+msgid "Dislikes"
+msgstr "Non mi piace"
-#: ../../mod/sources.php:130
-msgid "Edit Source"
-msgstr "Modifica la sorgente"
+#: ../../mod/profiles.php:394
+msgid "Work/Employment"
+msgstr "Lavoro/impiego"
-#: ../../mod/sources.php:131
-msgid "Delete Source"
-msgstr "Elimina la sorgente"
+#: ../../mod/profiles.php:397
+msgid "Religion"
+msgstr "Religione"
-#: ../../mod/sources.php:158
-msgid "Source removed"
-msgstr "Sorgente eliminata"
+#: ../../mod/profiles.php:401
+msgid "Political Views"
+msgstr "Orientamento politico"
-#: ../../mod/sources.php:160
-msgid "Unable to remove source."
-msgstr "Impossibile rimuovere la sorgente."
+#: ../../mod/profiles.php:405
+msgid "Gender"
+msgstr "Sesso"
-#: ../../mod/filer.php:49
-msgid "- select -"
-msgstr "- scegli -"
+#: ../../mod/profiles.php:409
+msgid "Sexual Preference"
+msgstr "Preferenze sessuali"
-#: ../../mod/events.php:91
-msgid "Event title and start time are required."
-msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
+#: ../../mod/profiles.php:413
+msgid "Homepage"
+msgstr "Home page"
-#: ../../mod/events.php:105
-msgid "Event not found."
-msgstr "Evento non trovato."
+#: ../../mod/profiles.php:417
+msgid "Interests"
+msgstr "Interessi"
-#: ../../mod/events.php:369
-msgid "l, F j"
-msgstr "l j F"
+#: ../../mod/profiles.php:421 ../../mod/admin.php:866
+msgid "Address"
+msgstr "Indirizzo"
-#: ../../mod/events.php:391
-msgid "Edit event"
-msgstr "Modifica l'evento"
+#: ../../mod/profiles.php:511
+msgid "Profile updated."
+msgstr "Profilo aggiornato."
-#: ../../mod/events.php:437
-msgid "Create New Event"
-msgstr "Crea un nuovo evento"
+#: ../../mod/profiles.php:590
+msgid "Hide your contact/friend list from viewers of this profile?"
+msgstr "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?"
-#: ../../mod/events.php:438
-msgid "Previous"
-msgstr "Precendente"
+#: ../../mod/profiles.php:632
+msgid "Edit Profile Details"
+msgstr "Modifica i dettagli del profilo"
-#: ../../mod/events.php:536
-msgid "hour:minute"
-msgstr "ora:minuti"
+#: ../../mod/profiles.php:634
+msgid "View this profile"
+msgstr "Guarda questo profilo"
-#: ../../mod/events.php:556
-msgid "Event details"
-msgstr "Dettagli evento"
+#: ../../mod/profiles.php:636
+msgid "Change Profile Photo"
+msgstr "Cambia la foto del profilo"
-#: ../../mod/events.php:557
-#, php-format
-msgid "Format is %s %s."
-msgstr "Il formato è %s %s"
+#: ../../mod/profiles.php:637
+msgid "Create a new profile using these settings"
+msgstr "Crea un nuovo profilo usando queste impostazioni"
-#: ../../mod/events.php:558
-msgid "Starting date and Title are required."
-msgstr "Titolo e data d'inizio sono obbligatori."
+#: ../../mod/profiles.php:638
+msgid "Clone this profile"
+msgstr "Clona questo profilo"
-#: ../../mod/events.php:562
-msgid "Event Starts:"
-msgstr "Inizio:"
+#: ../../mod/profiles.php:639
+msgid "Delete this profile"
+msgstr "Elimina questo profilo"
-#: ../../mod/events.php:562 ../../mod/events.php:581 ../../mod/appman.php:91
-#: ../../mod/appman.php:92
-msgid "Required"
-msgstr "Obbligatorio"
+#: ../../mod/profiles.php:641
+msgid "Import profile from file"
+msgstr "Importa il profilo da un file"
-#: ../../mod/events.php:570
-msgid "Finish date/time is not known or not relevant"
-msgstr "La data/ora di fine non è rilevante"
+#: ../../mod/profiles.php:642
+msgid "Export profile to file"
+msgstr "Esporta il profilo in un file"
-#: ../../mod/events.php:572
-msgid "Event Finishes:"
-msgstr "Fine:"
+#: ../../mod/profiles.php:643
+msgid "Profile Name:"
+msgstr "Nome del profilo:"
-#: ../../mod/events.php:575
-msgid "Adjust for viewer timezone"
-msgstr "Adatta al fuso orario di chi legge"
+#: ../../mod/profiles.php:644
+msgid "Your Full Name:"
+msgstr "Il tuo nome completo:"
-#: ../../mod/events.php:577
-msgid "Description:"
-msgstr "Descrizione:"
+#: ../../mod/profiles.php:645
+msgid "Title/Description:"
+msgstr "Titolo/descrizione:"
-#: ../../mod/events.php:581
-msgid "Title:"
-msgstr "Titolo:"
+#: ../../mod/profiles.php:646
+msgid "Your Gender:"
+msgstr "Sesso:"
-#: ../../mod/events.php:583
-msgid "Share this event"
-msgstr "Condividi questo evento"
+#: ../../mod/profiles.php:647
+msgid "Birthday :"
+msgstr "Compleanno:"
-#: ../../mod/filestorage.php:68
-msgid "Permission Denied."
-msgstr "Permesso negato."
+#: ../../mod/profiles.php:648
+msgid "Street Address:"
+msgstr "Indirizzo (via/piazza):"
-#: ../../mod/filestorage.php:85
-msgid "File not found."
-msgstr "File non trovato."
+#: ../../mod/profiles.php:649
+msgid "Locality/City:"
+msgstr "Località:"
-#: ../../mod/filestorage.php:122
-msgid "Edit file permissions"
-msgstr "Modifica i permessi del file"
+#: ../../mod/profiles.php:650
+msgid "Postal/Zip Code:"
+msgstr "CAP:"
-#: ../../mod/filestorage.php:131
-msgid "Set/edit permissions"
-msgstr "Modifica i permessi"
+#: ../../mod/profiles.php:651
+msgid "Country:"
+msgstr "Nazione:"
-#: ../../mod/filestorage.php:132
-msgid "Include all files and sub folders"
-msgstr "Includi tutti i file e le sottocartelle"
+#: ../../mod/profiles.php:652
+msgid "Region/State:"
+msgstr "Regione/stato:"
-#: ../../mod/filestorage.php:133
-msgid "Return to file list"
-msgstr "Torna all'elenco dei file"
+#: ../../mod/profiles.php:653
+msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
+msgstr "<span class=\"heart\">&hearts;</span> Stato sentimentale:"
-#: ../../mod/filestorage.php:135
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copia/incolla questo codice per far comparire il file in un articolo"
+#: ../../mod/profiles.php:654
+msgid "Who: (if applicable)"
+msgstr "Con chi: (se possibile)"
-#: ../../mod/filestorage.php:136
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file"
+#: ../../mod/profiles.php:655
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Per esempio: cathy123, Cathy Williams, cathy@example.com"
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Canale aggiunto."
+#: ../../mod/profiles.php:656
+msgid "Since [date]:"
+msgstr "dal [data]:"
-#: ../../mod/subthread.php:103
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s sta seguendo %3$s di %2$s"
+#: ../../mod/profiles.php:658
+msgid "Homepage URL:"
+msgstr "Indirizzo home page:"
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Contatto non trovato."
+#: ../../mod/profiles.php:661
+msgid "Religious Views:"
+msgstr "Orientamento religioso:"
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Suggerimento di amicizia inviato."
+#: ../../mod/profiles.php:662
+msgid "Keywords:"
+msgstr "Parole chiave, tag:"
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Suggerisci amici"
+#: ../../mod/profiles.php:665
+msgid "Example: fishing photography software"
+msgstr "Per esempio: pesca fotografia programmazione"
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Suggerisci un amico a %s"
+#: ../../mod/profiles.php:666
+msgid "Used in directory listings"
+msgstr "Visibile nell'elenco pubblico di canali"
-#: ../../mod/suggest.php:35
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Nessun suggerimento disponibile. Se questo è un sito nuovo, riprova tra 24 ore."
+#: ../../mod/profiles.php:667
+msgid "Tell us about yourself..."
+msgstr "Raccontaci di te..."
-#: ../../mod/group.php:20
-msgid "Collection created."
-msgstr "L'insieme di canali è stato creato."
+#: ../../mod/profiles.php:668
+msgid "Hobbies/Interests"
+msgstr "Hobby/interessi"
-#: ../../mod/group.php:26
-msgid "Could not create collection."
-msgstr "Impossibile creare l'insieme."
+#: ../../mod/profiles.php:669
+msgid "Contact information and Social Networks"
+msgstr "Contatti personali e i tuoi social network"
-#: ../../mod/group.php:54
-msgid "Collection updated."
-msgstr "Insieme aggiornato."
+#: ../../mod/profiles.php:670
+msgid "My other channels"
+msgstr "I miei altri canali"
-#: ../../mod/group.php:86
-msgid "Create a collection of channels."
-msgstr "Crea un insieme di canali."
+#: ../../mod/profiles.php:671
+msgid "Musical interests"
+msgstr "Interessi musicali"
-#: ../../mod/group.php:87 ../../mod/group.php:183
-msgid "Collection Name: "
-msgstr "Nome dell'insieme:"
+#: ../../mod/profiles.php:672
+msgid "Books, literature"
+msgstr "Libri, letteratura"
-#: ../../mod/group.php:89 ../../mod/group.php:186
-msgid "Members are visible to other channels"
-msgstr "I membri saranno visibili agli altri canali"
+#: ../../mod/profiles.php:673
+msgid "Television"
+msgstr "Televisione"
-#: ../../mod/group.php:107
-msgid "Collection removed."
-msgstr "Insieme rimosso."
+#: ../../mod/profiles.php:674
+msgid "Film/dance/culture/entertainment"
+msgstr "Film/danza/cultura/intrattenimento"
-#: ../../mod/group.php:109
-msgid "Unable to remove collection."
-msgstr "Impossibile rimuovere l'insieme."
+#: ../../mod/profiles.php:675
+msgid "Love/romance"
+msgstr "Amore"
-#: ../../mod/group.php:182
-msgid "Collection Editor"
-msgstr "Modifica l'insieme"
+#: ../../mod/profiles.php:676
+msgid "Work/employment"
+msgstr "Lavoro/impiego"
-#: ../../mod/group.php:196
-msgid "Members"
-msgstr "Membri"
+#: ../../mod/profiles.php:677
+msgid "School/education"
+msgstr "Scuola/educazione"
-#: ../../mod/group.php:198
-msgid "All Connected Channels"
-msgstr "Tutti i canali connessi"
+#: ../../mod/profiles.php:683
+msgid "This is your default profile."
+msgstr "Questo è il tuo profilo predefinito."
-#: ../../mod/group.php:233
-msgid "Click on a channel to add or remove."
-msgstr "Clicca su un canale per aggiungerlo o rimuoverlo."
+#: ../../mod/profiles.php:694 ../../mod/directory.php:188
+msgid "Age: "
+msgstr "Età:"
-#: ../../mod/tagger.php:98
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
+#: ../../mod/profiles.php:737
+msgid "Edit/Manage Profiles"
+msgstr "Modifica/gestisci i profili"
-#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
-msgid "Help:"
-msgstr "Guida:"
+#: ../../mod/profiles.php:738
+msgid "Add profile things"
+msgstr "Aggiungi oggetti al profilo"
-#: ../../mod/help.php:69 ../../index.php:233
-msgid "Not Found"
-msgstr "Non disponibile"
+#: ../../mod/profiles.php:739
+msgid "Include desirable objects in your profile"
+msgstr "Aggiungi oggetti interessanti al tuo profilo"
-#: ../../mod/tagrm.php:41
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
msgid "Tag removed"
msgstr "Tag rimosso"
-#: ../../mod/tagrm.php:79
+#: ../../mod/tagrm.php:119
msgid "Remove Item Tag"
msgstr "Rimuovi il tag"
-#: ../../mod/tagrm.php:81
+#: ../../mod/tagrm.php:121
msgid "Select a tag to remove: "
msgstr "Seleziona un tag da rimuovere: "
@@ -6424,7 +6952,7 @@ msgstr "Seleziona un tag da rimuovere: "
msgid "Theme settings updated."
msgstr "Le impostazioni del tema sono state aggiornate."
-#: ../../mod/admin.php:97 ../../mod/admin.php:413
+#: ../../mod/admin.php:97 ../../mod/admin.php:411
msgid "Site"
msgstr "Sito"
@@ -6432,19 +6960,19 @@ msgstr "Sito"
msgid "Accounts"
msgstr "Account"
-#: ../../mod/admin.php:99 ../../mod/admin.php:860
+#: ../../mod/admin.php:99 ../../mod/admin.php:858
msgid "Channels"
msgstr "Canali"
-#: ../../mod/admin.php:100 ../../mod/admin.php:951 ../../mod/admin.php:993
+#: ../../mod/admin.php:100 ../../mod/admin.php:949 ../../mod/admin.php:991
msgid "Plugins"
msgstr "Plugin"
-#: ../../mod/admin.php:101 ../../mod/admin.php:1156 ../../mod/admin.php:1192
+#: ../../mod/admin.php:101 ../../mod/admin.php:1154 ../../mod/admin.php:1190
msgid "Themes"
msgstr "Temi"
-#: ../../mod/admin.php:102 ../../mod/admin.php:515
+#: ../../mod/admin.php:102 ../../mod/admin.php:512
msgid "Server"
msgstr "Server"
@@ -6456,7 +6984,7 @@ msgstr "Configurazione del profilo"
msgid "DB updates"
msgstr "Aggiornamenti al DB"
-#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1279
+#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1277
msgid "Logs"
msgstr "Log"
@@ -6472,10 +7000,10 @@ msgstr "Registrazioni in attesa"
msgid "Message queues"
msgstr "Messaggi in attesa di recapito"
-#: ../../mod/admin.php:211 ../../mod/admin.php:412 ../../mod/admin.php:514
-#: ../../mod/admin.php:723 ../../mod/admin.php:859 ../../mod/admin.php:950
-#: ../../mod/admin.php:992 ../../mod/admin.php:1155 ../../mod/admin.php:1191
-#: ../../mod/admin.php:1278
+#: ../../mod/admin.php:211 ../../mod/admin.php:410 ../../mod/admin.php:511
+#: ../../mod/admin.php:721 ../../mod/admin.php:857 ../../mod/admin.php:948
+#: ../../mod/admin.php:990 ../../mod/admin.php:1153 ../../mod/admin.php:1189
+#: ../../mod/admin.php:1276
msgid "Administration"
msgstr "Amministrazione"
@@ -6487,7 +7015,7 @@ msgstr "Riepilogo"
msgid "Registered users"
msgstr "Utenti registrati"
-#: ../../mod/admin.php:216 ../../mod/admin.php:518
+#: ../../mod/admin.php:216 ../../mod/admin.php:515
msgid "Pending registrations"
msgstr "Registrazioni da approvare"
@@ -6495,717 +7023,683 @@ msgstr "Registrazioni da approvare"
msgid "Version"
msgstr "Versione"
-#: ../../mod/admin.php:219 ../../mod/admin.php:519
+#: ../../mod/admin.php:219 ../../mod/admin.php:516
msgid "Active plugins"
msgstr "Plugin attivi"
-#: ../../mod/admin.php:333
+#: ../../mod/admin.php:326
msgid "Site settings updated."
-msgstr "Impostazioni del sito aggiornate."
+msgstr "Impostazioni del sito salvate correttamente."
+
+#: ../../mod/admin.php:365
+msgid "experimental"
+msgstr "sperimentale"
-#: ../../mod/admin.php:364
-msgid "No special theme for accessibility"
-msgstr "Nessun tema speciale per l'accessibilità"
+#: ../../mod/admin.php:367
+msgid "unsupported"
+msgstr "non supportato"
-#: ../../mod/admin.php:393
+#: ../../mod/admin.php:391
msgid "Yes - with approval"
msgstr "Sì - con approvazione"
-#: ../../mod/admin.php:399
+#: ../../mod/admin.php:397
msgid "My site is not a public server"
msgstr "Non è un server pubblico"
-#: ../../mod/admin.php:400
+#: ../../mod/admin.php:398
msgid "My site has paid access only"
msgstr "È un servizio a pagamento"
-#: ../../mod/admin.php:401
+#: ../../mod/admin.php:399
msgid "My site has free access only"
msgstr "È un servizio gratuito"
-#: ../../mod/admin.php:402
+#: ../../mod/admin.php:400
msgid "My site offers free accounts with optional paid upgrades"
msgstr "È un servizio gratuito con opzioni aggiuntive a pagamento"
-#: ../../mod/admin.php:416
+#: ../../mod/admin.php:414
msgid "File upload"
msgstr "Caricamento file"
-#: ../../mod/admin.php:417
+#: ../../mod/admin.php:415
msgid "Policies"
msgstr "Politiche"
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:420
msgid "Site name"
msgstr "Nome del sito"
-#: ../../mod/admin.php:423
+#: ../../mod/admin.php:421
msgid "Banner/Logo"
msgstr "Banner o logo"
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:422
msgid "Administrator Information"
-msgstr "Informazioni sull'amministrazione"
+msgstr "Informazioni sull'amministratore"
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:422
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode"
-#: ../../mod/admin.php:425
+#: ../../mod/admin.php:423
msgid "System language"
msgstr "Lingua di sistema"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:424
msgid "System theme"
msgstr "Tema di sistema"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:424
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:425
msgid "Mobile system theme"
msgstr "Tema di sistema per dispositivi mobili"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:425
msgid "Theme for mobile devices"
msgstr "Tema per i dispositivi mobili"
-#: ../../mod/admin.php:428
-msgid "Accessibility system theme"
-msgstr "Tema di sistema ad alta accessibilità"
-
-#: ../../mod/admin.php:428
-msgid "Accessibility theme"
-msgstr "Tema ad alta accessibilità"
-
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:427
msgid "Enable Diaspora Protocol"
msgstr "Abilita la comunicazione con Diaspora"
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:427
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr "Sperimentale - per comunicare con Diaspora e Friendica"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:428
msgid "Allow Feeds as Connections"
msgstr "Permetti di aggiungere i feed come contatti"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:428
msgid "(Heavy system resource usage)"
msgstr "(Uso intenso delle risorse di sistema!)"
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:429
msgid "Maximum image size"
msgstr "Dimensione massima immagini"
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:429
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:430
msgid "Does this site allow new member registration?"
msgstr "Questo sito permette a nuovi utenti di registrarsi?"
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:431
msgid "Which best describes the types of account offered by this hub?"
msgstr "Come descriveresti il tipo di servizio proposto da questo server?"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:432
msgid "Register text"
-msgstr "Testo diregistrazione"
+msgstr "Testo di registrazione"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:432
msgid "Will be displayed prominently on the registration page."
msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:433
msgid "Accounts abandoned after x days"
msgstr "Account abbandonati dopo X giorni"
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:433
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo."
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:434
msgid "Allowed friend domains"
msgstr "Domini fidati e consentiti"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:434
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio."
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:435
msgid "Allowed email domains"
msgstr "Domini email consentiti"
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:435
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
-msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio."
+msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email"
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:436
msgid "Block public"
msgstr "Blocca pagine pubbliche"
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:436
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso."
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:437
msgid "Verify Email Addresses"
msgstr "Verifica l'indirizzo email"
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:437
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato)."
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:438
msgid "Force publish"
msgstr "Forza la publicazione del profilo"
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:438
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Seleziona per mostrare nell'elenco dei canali del sito <strong>tutti</strong> i profili registrati."
+msgstr "Seleziona per mostrare nell'elenco pubblico <strong>tutti</strong> i profili registrati su questo sito."
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:439
msgid "Disable discovery tab"
msgstr "Disabilita la funzione 'scopri'"
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:439
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr "Nell'area della rete personale non comparirà più la scheda con i contenuti acquisiti da altri siti."
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:440
msgid "No login on Homepage"
msgstr "Non mostrare il login sulla homepage"
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:440
msgid ""
"Check to hide the login form from your sites homepage when visitors arrive "
"who are not logged in (e.g. when you put the content of the homepage in via "
"the site channel)."
-msgstr "Per nascondere la possibilità di fare login ai visitatori (per esempio, quando il contenuto della homepage del sito è alimentato dal canale)."
+msgstr "Per nascondere la possibilità di fare login ai visitatori (per esempio, quando il contenuto della homepage del sito è alimentato da un canale)."
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:442
msgid "Proxy user"
msgstr "Utente proxy"
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:443
msgid "Proxy URL"
msgstr "URL proxy"
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:444
msgid "Network timeout"
msgstr "Timeout rete"
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:444
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Valore in secondi. Imposta a 0 per illimitato (sconsigliato)."
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:445
msgid "Delivery interval"
msgstr "Recapito ritardato"
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:445
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
-msgstr "RItarda il processo di recapito di questo numero di secondi per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
+msgstr "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:446
msgid "Poll interval"
msgstr "Intervallo di polling"
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:446
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
-msgstr "Ritarda i processi di polling in background di questo numero di secondi per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
+msgstr "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:447
msgid "Maximum Load Average"
msgstr "Carico massimo medio"
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:447
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50."
-#: ../../mod/admin.php:506
+#: ../../mod/admin.php:503
msgid "No server found"
msgstr "Server non trovato"
-#: ../../mod/admin.php:513 ../../mod/admin.php:737
+#: ../../mod/admin.php:510 ../../mod/admin.php:735
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "for channel"
msgstr "per canale"
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "on server"
msgstr "sul server"
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "Status"
msgstr "Stato"
-#: ../../mod/admin.php:534
+#: ../../mod/admin.php:531
msgid "Update has been marked successful"
msgstr "L'aggiornamento è stato marcato come eseguito."
-#: ../../mod/admin.php:544
+#: ../../mod/admin.php:541
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema."
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:544
#, php-format
msgid "Update %s was successfully applied."
msgstr "L'aggiornamento %s è terminato correttamente."
-#: ../../mod/admin.php:551
+#: ../../mod/admin.php:548
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente."
-#: ../../mod/admin.php:554
+#: ../../mod/admin.php:551
#, php-format
msgid "Update function %s could not be found."
msgstr "Impossibile trovare la funzione di aggiornamento %s"
-#: ../../mod/admin.php:569
+#: ../../mod/admin.php:566
msgid "No failed updates."
msgstr "Nessun aggiornamento fallito."
-#: ../../mod/admin.php:573
+#: ../../mod/admin.php:570
msgid "Failed Updates"
msgstr "Aggiornamenti falliti."
-#: ../../mod/admin.php:575
+#: ../../mod/admin.php:572
msgid "Mark success (if update was manually applied)"
msgstr "Marca come eseguito (se applicato manualmente)."
-#: ../../mod/admin.php:576
+#: ../../mod/admin.php:573
msgid "Attempt to execute this update step automatically"
msgstr "Tenta di eseguire in automatico questo passaggio dell'aggiornamento."
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:599
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s utente bloccato/sbloccato"
msgstr[1] "%s utenti bloccati/sbloccati"
-#: ../../mod/admin.php:609
+#: ../../mod/admin.php:606
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] "%s utente cancellato"
msgstr[1] "%s utenti cancellati"
-#: ../../mod/admin.php:638
+#: ../../mod/admin.php:635
msgid "Account not found"
msgstr "Account non trovato"
-#: ../../mod/admin.php:658
+#: ../../mod/admin.php:655
#, php-format
msgid "User '%s' unblocked"
msgstr "Utente '%s' sbloccato"
-#: ../../mod/admin.php:658
+#: ../../mod/admin.php:655
#, php-format
msgid "User '%s' blocked"
msgstr "Utente '%s' bloccato"
-#: ../../mod/admin.php:724 ../../mod/admin.php:736
+#: ../../mod/admin.php:722 ../../mod/admin.php:734
msgid "Users"
msgstr "Utenti"
-#: ../../mod/admin.php:726 ../../mod/admin.php:862
+#: ../../mod/admin.php:724 ../../mod/admin.php:860
msgid "select all"
msgstr "seleziona tutti"
-#: ../../mod/admin.php:727
+#: ../../mod/admin.php:725
msgid "User registrations waiting for confirm"
msgstr "Richieste di registrazione in attesa di conferma"
-#: ../../mod/admin.php:728
+#: ../../mod/admin.php:726
msgid "Request date"
msgstr "Data richiesta"
-#: ../../mod/admin.php:729
+#: ../../mod/admin.php:727
msgid "No registrations."
msgstr "Nessuna registrazione."
-#: ../../mod/admin.php:730
+#: ../../mod/admin.php:728
msgid "Approve"
msgstr "Approva"
-#: ../../mod/admin.php:731
+#: ../../mod/admin.php:729
msgid "Deny"
msgstr "Nega"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Register date"
msgstr "Data registrazione"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Last login"
msgstr "Ultimo accesso"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Expires"
msgstr "Con scadenza"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Service Class"
msgstr "Classe dell'account"
-#: ../../mod/admin.php:739
+#: ../../mod/admin.php:737
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Gli utenti selezionati saranno eliminati!\\n\\nTutto quello che gli utenti hanno pubblicato su questo sito sarà permanentemente eliminato!\\n\\nConfermi?"
-#: ../../mod/admin.php:740
+#: ../../mod/admin.php:738
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "L'utente {0} sarà eliminato!\\n\\nTutto quello che ha pubblicato su questo sito sarà permanentemente eliminato!\\n\\nConfermi?"
-#: ../../mod/admin.php:773
+#: ../../mod/admin.php:771
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "Censura modificata per %s canale"
msgstr[1] "Censura modificata per %s canali"
-#: ../../mod/admin.php:780
+#: ../../mod/admin.php:778
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s canale è stato rimosso"
msgstr[1] "%s canali sono stati rimossi"
-#: ../../mod/admin.php:799
+#: ../../mod/admin.php:797
msgid "Channel not found"
msgstr "Canale non trovato"
-#: ../../mod/admin.php:810
+#: ../../mod/admin.php:808
#, php-format
msgid "Channel '%s' deleted"
msgstr "Il canale '%s' è stato rimosso"
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:819
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Rimossa la censura dal canale '%s'"
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:819
#, php-format
msgid "Channel '%s' censored"
msgstr "Applicata una censura al canale '%s'"
-#: ../../mod/admin.php:864
+#: ../../mod/admin.php:862
msgid "Censor"
msgstr "Applica una censura"
-#: ../../mod/admin.php:865
+#: ../../mod/admin.php:863
msgid "Uncensor"
msgstr "Rimuovi la censura"
-#: ../../mod/admin.php:868
+#: ../../mod/admin.php:866
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:870
+#: ../../mod/admin.php:868
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../mod/admin.php:871
+#: ../../mod/admin.php:869
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../mod/admin.php:910
+#: ../../mod/admin.php:908
#, php-format
msgid "Plugin %s disabled."
msgstr "Plugin %s non attivo."
-#: ../../mod/admin.php:914
+#: ../../mod/admin.php:912
#, php-format
msgid "Plugin %s enabled."
msgstr "Plugin %s attivo."
-#: ../../mod/admin.php:924 ../../mod/admin.php:1126
+#: ../../mod/admin.php:922 ../../mod/admin.php:1124
msgid "Disable"
msgstr "Disattiva"
-#: ../../mod/admin.php:926 ../../mod/admin.php:1128
+#: ../../mod/admin.php:924 ../../mod/admin.php:1126
msgid "Enable"
msgstr "Attiva"
-#: ../../mod/admin.php:952 ../../mod/admin.php:1157
+#: ../../mod/admin.php:950 ../../mod/admin.php:1155
msgid "Toggle"
msgstr "Attiva/disattiva"
-#: ../../mod/admin.php:960 ../../mod/admin.php:1167
+#: ../../mod/admin.php:958 ../../mod/admin.php:1165
msgid "Author: "
msgstr "Autore:"
-#: ../../mod/admin.php:961 ../../mod/admin.php:1168
+#: ../../mod/admin.php:959 ../../mod/admin.php:1166
msgid "Maintainer: "
msgstr "Gestore:"
-#: ../../mod/admin.php:1090
+#: ../../mod/admin.php:1088
msgid "No themes found."
msgstr "Nessun tema trovato."
-#: ../../mod/admin.php:1149
+#: ../../mod/admin.php:1147
msgid "Screenshot"
msgstr "Istantanea dello schermo"
-#: ../../mod/admin.php:1197
+#: ../../mod/admin.php:1195
msgid "[Experimental]"
msgstr "[Sperimentale]"
-#: ../../mod/admin.php:1198
+#: ../../mod/admin.php:1196
msgid "[Unsupported]"
msgstr "[Non supportato]"
-#: ../../mod/admin.php:1225
+#: ../../mod/admin.php:1223
msgid "Log settings updated."
msgstr "Impostazioni di log aggiornate."
-#: ../../mod/admin.php:1281
+#: ../../mod/admin.php:1279
msgid "Clear"
msgstr "Pulisci"
-#: ../../mod/admin.php:1287
+#: ../../mod/admin.php:1285
msgid "Debugging"
msgstr "Debugging"
-#: ../../mod/admin.php:1288
+#: ../../mod/admin.php:1286
msgid "Log file"
msgstr "File di log"
-#: ../../mod/admin.php:1288
+#: ../../mod/admin.php:1286
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Deve essere scrivibile dal web server. È relativa alla cartella dove è installato RedMatrix."
+msgstr "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato RedMatrix."
-#: ../../mod/admin.php:1289
+#: ../../mod/admin.php:1287
msgid "Log level"
msgstr "Livello di log"
-#: ../../mod/admin.php:1336
+#: ../../mod/admin.php:1334
msgid "New Profile Field"
msgstr "Nuovo campo del profilo"
-#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
msgid "Field nickname"
msgstr "Nome breve del campo"
-#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
msgid "System name of field"
msgstr "Nome di sistema del campo"
-#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
+#: ../../mod/admin.php:1336 ../../mod/admin.php:1357
msgid "Input type"
msgstr "Tipo di dati"
-#: ../../mod/admin.php:1339 ../../mod/admin.php:1360
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
msgid "Field Name"
msgstr "Nome del campo"
-#: ../../mod/admin.php:1339 ../../mod/admin.php:1360
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
msgid "Label on profile pages"
msgstr "Etichetta da mostrare sulla pagina del profilo"
-#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
msgid "Help text"
msgstr "Testo di aiuto"
-#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
msgid "Additional info (optional)"
msgstr "Informazioni aggiuntive (opzionali)"
-#: ../../mod/admin.php:1351
+#: ../../mod/admin.php:1349
msgid "Field definition not found"
msgstr "Impossibile trovare la definizione del campo"
-#: ../../mod/admin.php:1357
+#: ../../mod/admin.php:1355
msgid "Edit Profile Field"
msgstr "Modifica campo del profilo"
-#: ../../mod/thing.php:98
-msgid "Thing updated"
-msgstr "L'oggetto è stato aggiornato"
-
-#: ../../mod/thing.php:158
-msgid "Object store: failed"
-msgstr "Impossibile memorizzare l'oggetto."
-
-#: ../../mod/thing.php:162
-msgid "Thing added"
-msgstr "L'oggetto è stato aggiunto"
-
-#: ../../mod/thing.php:182
+#: ../../mod/manage.php:136
#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
-
-#: ../../mod/thing.php:234
-msgid "Show Thing"
-msgstr "Mostra l'oggetto"
-
-#: ../../mod/thing.php:241
-msgid "item not found."
-msgstr "non trovato."
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Hai creato %1$.0f dei %2$.0f canali permessi."
-#: ../../mod/thing.php:272
-msgid "Edit Thing"
-msgstr "Modifica l'oggetto"
+#: ../../mod/manage.php:144
+msgid "Create a new channel"
+msgstr "Crea un nuovo canale"
-#: ../../mod/thing.php:274 ../../mod/thing.php:321
-msgid "Select a profile"
-msgstr "Scegli un profilo"
+#: ../../mod/manage.php:149
+msgid "Current Channel"
+msgstr "Canale attuale"
-#: ../../mod/thing.php:278 ../../mod/thing.php:324
-msgid "Post an activity"
-msgstr "Pubblica un'attività"
+#: ../../mod/manage.php:151
+msgid "Attach to one of your channels by selecting it."
+msgstr "Seleziona il canale a cui vuoi passare."
-#: ../../mod/thing.php:278 ../../mod/thing.php:324
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Invia solo a chi segue il relativo canale"
+#: ../../mod/manage.php:152
+msgid "Default Channel"
+msgstr "Canale predefinito"
-#: ../../mod/thing.php:280 ../../mod/thing.php:326
-msgid "Name of thing e.g. something"
-msgstr "Nome dell'oggetto"
+#: ../../mod/manage.php:153
+msgid "Make Default"
+msgstr "Rendi predefinito"
-#: ../../mod/thing.php:282 ../../mod/thing.php:327
-msgid "URL of thing (optional)"
-msgstr "Indirizzo web dell'oggetto"
+#: ../../mod/menu.php:31
+msgid "Menu updated."
+msgstr "Menù aggiornato."
-#: ../../mod/thing.php:284 ../../mod/thing.php:328
-msgid "URL for photo of thing (optional)"
-msgstr "Indirizzo di un'immagine dell'oggetto (facoltativo)"
+#: ../../mod/menu.php:35
+msgid "Unable to update menu."
+msgstr "Impossibile aggiornare il menù."
-#: ../../mod/thing.php:319
-msgid "Add Thing to your Profile"
-msgstr "Aggiungi l'oggetto al tuo profilo"
+#: ../../mod/menu.php:40
+msgid "Menu created."
+msgstr "Menù creato."
-#: ../../mod/import.php:25
-#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "Il tuo account permette di creare al massimo %d canali."
+#: ../../mod/menu.php:44
+msgid "Unable to create menu."
+msgstr "Impossibile creare il menù."
-#: ../../mod/import.php:51
-msgid "Nothing to import."
-msgstr "Non c'è niente da importare."
+#: ../../mod/menu.php:76
+msgid "Manage Menus"
+msgstr "Gestione menù"
-#: ../../mod/import.php:75
-msgid "Unable to download data from old server"
-msgstr "Impossibile importare i dati dal vecchio server"
+#: ../../mod/menu.php:79
+msgid "Drop"
+msgstr "Elimina"
-#: ../../mod/import.php:81
-msgid "Imported file is empty."
-msgstr "Il file da importare è vuoto."
+#: ../../mod/menu.php:81
+msgid "Bookmarks allowed"
+msgstr "Permetti segnalibri"
-#: ../../mod/import.php:105
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
+#: ../../mod/menu.php:82
+msgid "Create a new menu"
+msgstr "Crea un nuovo menù"
-#: ../../mod/import.php:123
-msgid "Channel clone failed. Import failed."
-msgstr "Impossibile clonare il canale. L'importazione è fallita."
+#: ../../mod/menu.php:83
+msgid "Delete this menu"
+msgstr "Elimina questo menù"
-#: ../../mod/import.php:133
-msgid "Cloned channel not found. Import failed."
-msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
+#: ../../mod/menu.php:84 ../../mod/menu.php:125
+msgid "Edit menu contents"
+msgstr "Modifica i contenuti del menù"
-#: ../../mod/import.php:446
-msgid "Import completed."
-msgstr "L'importazione è terminata con successo!"
+#: ../../mod/menu.php:85
+msgid "Edit this menu"
+msgstr "Modifica questo menù"
-#: ../../mod/import.php:458
-msgid "You must be logged in to use this feature."
-msgstr "Per questa funzionalità devi aver effettuato l'accesso."
+#: ../../mod/menu.php:96
+msgid "New Menu"
+msgstr "Nuovo menù"
-#: ../../mod/import.php:463
-msgid "Import Channel"
-msgstr "Importa un canale"
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
+msgid "Menu name"
+msgstr "Nome del menù"
-#: ../../mod/import.php:464
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file. Only identity and connections/relationships will "
-"be imported. Importation of content is not yet available."
-msgstr "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi scaricare i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file che hai esportato. Saranno importati solamente l'identità e i contatti. L'importazione dei contenuti non è ancora disponibile."
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
+msgid "Must be unique, only seen by you"
+msgstr "Deve essere unico, lo vedrai solo tu"
-#: ../../mod/import.php:465
-msgid "File to Upload"
-msgstr "File da caricare"
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
+msgid "Menu title"
+msgstr "Titolo del menù"
-#: ../../mod/import.php:466
-msgid "Or provide the old server/hub details"
-msgstr "Oppure fornisci i dettagli del vecchio server/hub"
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
+msgid "Menu title as seen by others"
+msgstr "Titolo del menù come comparirà a tutti"
-#: ../../mod/import.php:467
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Allow bookmarks"
+msgstr "Permetti l'invio di segnalibri"
-#: ../../mod/import.php:468
-msgid "Your old login email address"
-msgstr "L'email che usavi per accedere sul vecchio server"
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Puoi salvare i segnalibri nei menù"
-#: ../../mod/import.php:469
-msgid "Your old login password"
-msgstr "La password per il vecchio server"
+#: ../../mod/menu.php:114
+msgid "Menu deleted."
+msgstr "Menù eliminato."
-#: ../../mod/import.php:470
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Per ciascuna opzione, scegli se vuoi rendere questo server il tuo indirizzo primario, oppure se preferisci che lo rimanga il vecchio. Potrai pubblicare da entrambi i server, ma solamente uno sarà marcato come primario per i tuoi file, foto, ecc."
+#: ../../mod/menu.php:116
+msgid "Menu could not be deleted."
+msgstr "Il menù non può essere eliminato."
-#: ../../mod/import.php:471
-msgid "Make this hub my primary location"
-msgstr "Rendi questo server il mio indirizzo primario"
+#: ../../mod/menu.php:122
+msgid "Edit Menu"
+msgstr "Modifica menù"
-#: ../../mod/import.php:472
-msgid "Import existing posts if possible"
-msgstr "Importazione dei post esistenti, se possibile"
+#: ../../mod/menu.php:124
+msgid "Add or remove entries to this menu"
+msgstr "Aggiungi o rimuovi elementi di questo menù"
#: ../../mod/invite.php:25
msgid "Total invitation limit exceeded."
@@ -7248,10 +7742,6 @@ msgstr "Spedisci inviti"
msgid "Enter email addresses, one per line:"
msgstr "Inserisci gli indirizzi email, uno per riga:"
-#: ../../mod/invite.php:131 ../../mod/mail.php:225 ../../mod/mail.php:338
-msgid "Your message:"
-msgstr "Il tuo messaggio:"
-
#: ../../mod/invite.php:132
msgid "Please join my community on RedMatrix."
msgstr "Entra a far parte della mia comunità su RedMatrix."
@@ -7270,88 +7760,57 @@ msgstr "2. Inserisci il mio indirizzo RedMatrix nella barra di ricerca che compa
#: ../../mod/invite.php:138
msgid "or visit "
-msgstr "oppure visita"
+msgstr "oppure visita "
#: ../../mod/invite.php:140
msgid "3. Click [Connect]"
msgstr "3. Clicca su [Aggiungi]"
-#: ../../mod/item.php:146
-msgid "Unable to locate original post."
-msgstr "Impossibile trovare il messaggio originale."
-
-#: ../../mod/item.php:379
-msgid "Empty post discarded."
-msgstr "L'articolo vuoto è stato ignorato."
-
-#: ../../mod/item.php:421
-msgid "Executable content type not permitted to this channel."
-msgstr "I contenuti eseguibili non sono permessi su questo canale."
-
-#: ../../mod/item.php:849
-msgid "System error. Post not saved."
-msgstr "Errore di sistema. Articolo non salvato."
-
-#: ../../mod/item.php:1317
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Hai raggiunto il limite massimo di %1$.0f articoli sulla pagina principale."
-
-#: ../../mod/item.php:1323
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
-
-#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
-#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-msgid "[Embedded content - reload page to view]"
-msgstr "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]"
-
-#: ../../mod/layouts.php:62
-msgid "Help with this feature"
-msgstr "La guida per questa funzionalità"
+#: ../../mod/network.php:84
+msgid "No such group"
+msgstr "Impossibile trovare l'insieme"
-#: ../../mod/layouts.php:85
-msgid "Layout Name"
-msgstr "Nome layout"
+#: ../../mod/network.php:122
+msgid "Search Results For:"
+msgstr "Cerca risultati con:"
-#: ../../mod/like.php:15
-msgid "Like/Dislike"
-msgstr "Mi piace/Non mi piace"
+#: ../../mod/network.php:176
+msgid "Collection is empty"
+msgstr "L'insieme di canali è vuoto"
-#: ../../mod/like.php:20
-msgid "This action is restricted to members."
-msgstr "Questa funzionalità è riservata agli iscritti."
+#: ../../mod/network.php:184
+msgid "Collection: "
+msgstr "Insieme:"
-#: ../../mod/like.php:21
-msgid ""
-"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
-"href=\"register\">register as a new RedMatrix member</a> to continue."
-msgstr "Per favore <a href=\"rmagic\">accedi con il tuo identificativo RedMatrix</a> o <a href=\"register\">registrati su RedMatrix</a> per continuare."
+#: ../../mod/network.php:197
+msgid "Connection: "
+msgstr "Contatto:"
-#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
-msgid "Invalid request."
-msgstr "Richiesta non valida."
+#: ../../mod/network.php:200
+msgid "Invalid connection."
+msgstr "Contatto non valido."
-#: ../../mod/like.php:119
-msgid "thing"
-msgstr "oggetto"
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
+msgstr "L'identificativo della richiesta non è valido."
-#: ../../mod/like.php:165
-msgid "Channel unavailable."
-msgstr "Canale non trovato."
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr "Rifiuta"
-#: ../../mod/like.php:204
-msgid "Previous action reversed."
-msgstr "Il comando precedente è stato annullato."
+#: ../../mod/notifications.php:94 ../../mod/notify.php:53
+msgid "No more system notifications."
+msgstr "Non ci sono nuove notifiche di sistema."
-#: ../../mod/like.php:417
-msgid "Action completed."
-msgstr "Comando completato."
+#: ../../mod/notifications.php:98 ../../mod/notify.php:57
+msgid "System Notifications"
+msgstr "Notifiche di sistema"
-#: ../../mod/like.php:418
-msgid "Thank you."
-msgstr "Grazie."
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
+#: ../../mod/update_home.php:21
+msgid "[Embedded content - reload page to view]"
+msgstr "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]"
#: ../../mod/lockview.php:31
msgid "Remote privacy information not available."
@@ -7374,195 +7833,28 @@ msgstr "Visita il profilo di %s [%s]"
msgid "View Connnections"
msgstr "Guarda i contatti"
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Nessun account valido trovato."
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "La richiesta per reimpostare la password è stata inviata. Controlla la tua email."
-
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Utente del sito (%s)"
-
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "È stato richiesto di reimpostare password su %s"
-
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non può essere reimpostata."
-
-#: ../../mod/lostpass.php:85 ../../boot.php:1507
-msgid "Password Reset"
-msgstr "Reimposta la password"
-
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
-msgstr "La password è stata reimpostata come richiesto."
-
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
-msgstr "La tua nuova password è"
-
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
-msgstr "Salva o copia la tua nuova password, quindi"
-
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
-msgstr "clicca qui per accedere"
-
-#: ../../mod/lostpass.php:90
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso."
-
-#: ../../mod/lostpass.php:107
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "La tua password su %s è cambiata"
-
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
-msgstr "Hai dimenticato la password?"
-
-#: ../../mod/lostpass.php:123
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare."
-
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
-msgstr "Indirizzo email"
-
-#: ../../mod/lostpass.php:125
-msgid "Reset"
-msgstr "Reimposta"
-
#: ../../mod/magic.php:70
msgid "Hub not found."
msgstr "Server non trovato."
#: ../../mod/vote.php:97
msgid "Total votes"
-msgstr "Totale voti"
+msgstr "Voti totali"
#: ../../mod/vote.php:98
msgid "Average Rating"
-msgstr "Media"
-
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr "Impossibile associare un destinatario."
-
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr "Impossibile comunicare con il canale richiesto."
-
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
-msgstr "Impossibile verificare il canale richiesto."
-
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."
-
-#: ../../mod/mail.php:121 ../../mod/message.php:31
-msgid "Messages"
-msgstr "Messaggi"
-
-#: ../../mod/mail.php:132
-msgid "Message deleted."
-msgstr "Messaggio eliminato."
-
-#: ../../mod/mail.php:149
-msgid "Message recalled."
-msgstr "Messaggio revocato."
-
-#: ../../mod/mail.php:215
-msgid "Send Private Message"
-msgstr "Invia un messaggio privato"
-
-#: ../../mod/mail.php:216 ../../mod/mail.php:333
-msgid "To:"
-msgstr "A:"
-
-#: ../../mod/mail.php:221 ../../mod/mail.php:335
-msgid "Subject:"
-msgstr "Oggetto:"
-
-#: ../../mod/mail.php:232
-msgid "Send"
-msgstr "Invia"
+msgstr "Valutazione media"
-#: ../../mod/mail.php:259
-msgid "Message not found."
-msgstr "Messaggio non trovato."
-
-#: ../../mod/mail.php:302 ../../mod/message.php:72
-msgid "Delete message"
-msgstr "Elimina il messaggio"
-
-#: ../../mod/mail.php:303
-msgid "Recall message"
-msgstr "Revoca il messaggio"
-
-#: ../../mod/mail.php:305
-msgid "Message has been recalled."
-msgstr "Il messaggio è stato revocato."
-
-#: ../../mod/mail.php:322
-msgid "Private Conversation"
-msgstr "Conversazione privata"
-
-#: ../../mod/mail.php:326
-msgid "Delete conversation"
-msgstr "Elimina la conversazione"
-
-#: ../../mod/mail.php:328
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Non è disponibile alcun sistema per comunicare in modo sicuro. Puoi verificare se <strong>eventualmente</strong> è possibile rispondere dalla pagina del profilo del mittente."
-
-#: ../../mod/mail.php:332
-msgid "Send Reply"
-msgstr "Invia la risposta"
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "Errore del protocollo OpenID. Nessun ID ricevuto in risposta."
-#: ../../mod/manage.php:136
+#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:261
#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Hai creato %1$.0f dei %2$.0f canali permessi."
-
-#: ../../mod/manage.php:144
-msgid "Create a new channel"
-msgstr "Crea un nuovo canale"
-
-#: ../../mod/manage.php:149
-msgid "Current Channel"
-msgstr "Canale attuale"
-
-#: ../../mod/manage.php:151
-msgid "Attach to one of your channels by selecting it."
-msgstr "Seleziona il canale a cui vuoi passare."
-
-#: ../../mod/manage.php:152
-msgid "Default Channel"
-msgstr "Canale predefinito"
-
-#: ../../mod/manage.php:153
-msgid "Make Default"
-msgstr "Rendi predefinito"
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Ciao %s. L'autenticazione magica è avvenuta con successo."
-#: ../../mod/wall_upload.php:34
+#: ../../mod/wall_upload.php:35
msgid "Wall Photos"
msgstr "Foto della bacheca"
@@ -7572,7 +7864,7 @@ msgstr "Profili corrispondenti"
#: ../../mod/match.php:24
msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Nessuna parola chiave per le ricerche. Aggiungi parole chiave al tuo profilo predefinito."
+msgstr "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche."
#: ../../mod/match.php:61
msgid "is interested in:"
@@ -7582,90 +7874,6 @@ msgstr "interessi personali:"
msgid "No matches"
msgstr "Nessun risultato"
-#: ../../mod/menu.php:21
-msgid "Menu updated."
-msgstr "Menù aggiornato."
-
-#: ../../mod/menu.php:25
-msgid "Unable to update menu."
-msgstr "Impossibile aggiornare il menù."
-
-#: ../../mod/menu.php:30
-msgid "Menu created."
-msgstr "Menù creato."
-
-#: ../../mod/menu.php:34
-msgid "Unable to create menu."
-msgstr "Impossibile creare il menù."
-
-#: ../../mod/menu.php:57
-msgid "Manage Menus"
-msgstr "Gestione menù"
-
-#: ../../mod/menu.php:60
-msgid "Drop"
-msgstr "Elimina"
-
-#: ../../mod/menu.php:62
-msgid "Create a new menu"
-msgstr "Crea un nuovo menù"
-
-#: ../../mod/menu.php:63
-msgid "Delete this menu"
-msgstr "Elimina questo menù"
-
-#: ../../mod/menu.php:64 ../../mod/menu.php:109
-msgid "Edit menu contents"
-msgstr "Modifica i contenuti del menù"
-
-#: ../../mod/menu.php:65
-msgid "Edit this menu"
-msgstr "Modifica questo menù"
-
-#: ../../mod/menu.php:80
-msgid "New Menu"
-msgstr "Nuovo menù"
-
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Menu name"
-msgstr "Nome del menù"
-
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Must be unique, only seen by you"
-msgstr "Deve essere unico, lo vedrai solo tu"
-
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title"
-msgstr "Titolo del menù"
-
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title as seen by others"
-msgstr "Titolo del menù come comparirà a tutti"
-
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Allow bookmarks"
-msgstr "Permetti l'invio di segnalibri"
-
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Puoi salvare i segnalibri nei menu"
-
-#: ../../mod/menu.php:98
-msgid "Menu deleted."
-msgstr "Menù eliminato."
-
-#: ../../mod/menu.php:100
-msgid "Menu could not be deleted."
-msgstr "Il menù non può essere eliminato."
-
-#: ../../mod/menu.php:106
-msgid "Edit Menu"
-msgstr "Modifica menù"
-
-#: ../../mod/menu.php:108
-msgid "Add or remove entries to this menu"
-msgstr "Aggiungi o rimuovi elementi di questo menù"
-
#: ../../mod/message.php:41
msgid "Conversation removed."
msgstr "Conversazione rimossa."
@@ -7688,7 +7896,7 @@ msgid ""
" to hold social network profiles, blogs, conversation groups and forums, "
"celebrity pages, and much more. You may create as many channels as your "
"service provider allows."
-msgstr "I contenuti che pubblichi finiscono in un \"canale\". Un canale può essere usato per mantenere un tuo profilo personale, per avere un blog, per creare forum di discussione o gruppi di interesse, per pagine di celebrità e molto altro. Puoi creare quanti canali vuoi a meno di limiti dati dal gestore del sito."
+msgstr "I contenuti che pubblichi sono mostrati nel tuo \"canale\". Un canale può essere usato come bacheca personale, come blog, oppure può essere un forum di discussione, un gruppo di interesse, una pagina di celebrità e molto altro. Puoi creare tanti canali quanti ne permette il tuo sito."
#: ../../mod/new_channel.php:113
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
@@ -7713,35 +7921,30 @@ msgid "Channel Type"
msgstr "Tipo di canale"
#: ../../mod/new_channel.php:119
+msgid "?"
+msgstr "?"
+
+#: ../../mod/new_channel.php:120
+msgid "What is this?"
+msgstr "Questo cos'è?"
+
+#: ../../mod/new_channel.php:121
msgid ""
"Please choose a channel type (such as social networking or community forum) "
"and privacy requirements so we can select the best permissions for you"
-msgstr "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. RedMatrix sceglierà i permessi più adatti."
+msgstr "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. RedMatrix sceglierà per te i permessi più adatti."
-#: ../../mod/home.php:46
-msgid "Red Matrix - &quot;The Network&quot;"
-msgstr "RedMatrix - &quot;La Rete&quot;"
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
+msgstr "Ricerca canale"
-#: ../../mod/home.php:101
-#, php-format
-msgid "Welcome to %s"
-msgstr "%s ti dà il benvenuto"
+#: ../../mod/xchan.php:9
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Cerca un canale (o un webbie) che inizia per:"
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "L'identificativo della richiesta non è valido."
-
-#: ../../mod/notifications.php:35
-msgid "Discard"
-msgstr "Rifiuta"
-
-#: ../../mod/notifications.php:94 ../../mod/notify.php:53
-msgid "No more system notifications."
-msgstr "Non ci sono nuove notifiche di sistema."
-
-#: ../../mod/notifications.php:98 ../../mod/notify.php:57
-msgid "System Notifications"
-msgstr "Notifiche di sistema"
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
+msgstr "la firma ricevuta non è valida"
#: ../../mod/oexchange.php:23
msgid "Unable to find your hub."
@@ -7751,13 +7954,55 @@ msgstr "Impossibile raggiungere il tuo hub."
msgid "Post successful."
msgstr "Inviato!"
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
-msgstr "la firma riscontrata non è valida"
+#: ../../mod/directory.php:201
+msgid "Gender: "
+msgstr "Sesso:"
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "Errore del protocollo OpenID. Nessun ID ricevuto in risposta."
+#: ../../mod/directory.php:203
+msgid "Status: "
+msgstr "Stato:"
+
+#: ../../mod/directory.php:205
+msgid "Homepage: "
+msgstr "Homepage:"
+
+#: ../../mod/directory.php:208
+msgid "Hometown: "
+msgstr "Città dove vivo:"
+
+#: ../../mod/directory.php:210
+msgid "About: "
+msgstr "Informazioni:"
+
+#: ../../mod/directory.php:265
+msgid "Public Forum:"
+msgstr "Forum pubblico:"
+
+#: ../../mod/directory.php:268
+msgid "Keywords: "
+msgstr "Parole chiave:"
+
+#: ../../mod/directory.php:318
+msgid "Finding:"
+msgstr "Ricerca:"
+
+#: ../../mod/directory.php:323
+msgid "next page"
+msgstr "pagina successiva"
+
+#: ../../mod/directory.php:323
+msgid "previous page"
+msgstr "pagina precedente"
+
+#: ../../mod/directory.php:340
+msgid "No entries (some entries may be hidden)."
+msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)."
+
+#: ../../mod/post.php:229
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "L'autenticazione magica dal tuo sito non è disponibile. Hai accesso solamente a questo sito. Puoi provare a disconnetterti per tentare di nuovo."
#: ../../mod/appman.php:28 ../../mod/appman.php:44
msgid "App installed."
@@ -7854,15 +8099,13 @@ msgstr "Schema predefinito"
#: ../../view/theme/apw/php/config.php:203
msgid "Sans-Serif"
-msgstr "Sans-Serif"
+msgstr "Sans-serif"
#: ../../view/theme/apw/php/config.php:204
msgid "Monospace"
msgstr "Monospace"
#: ../../view/theme/apw/php/config.php:259
-#: ../../view/theme/blogga/php/config.php:69
-#: ../../view/theme/blogga/view/theme/blog/config.php:69
#: ../../view/theme/redbasic/php/config.php:102
msgid "Theme settings"
msgstr "Impostazioni del tema"
@@ -7919,11 +8162,11 @@ msgstr "Colore di sfondo"
#: ../../view/theme/apw/php/config.php:272
msgid "Set section background image"
-msgstr "Immagine di sfondo dei contenuti"
+msgstr "Immagine di sfondo della sezione"
#: ../../view/theme/apw/php/config.php:273
msgid "Set section background color"
-msgstr "Colore di sfondo dei contenuti"
+msgstr "Colore di sfondo dell'area principale"
#: ../../view/theme/apw/php/config.php:274
msgid "Set color of items - use hex"
@@ -7975,38 +8218,23 @@ msgstr "Float degli oggetti della pagina"
#: ../../view/theme/apw/php/config.php:286
msgid "Left offset of the section element"
-msgstr "Spostamento a sinistra dei contenuti"
+msgstr "Margine sinistro dell'area principale"
#: ../../view/theme/apw/php/config.php:287
msgid "Right offset of the section element"
-msgstr "Spostamento a destra dei contenuti"
+msgstr "Margine destro dell'area principale"
#: ../../view/theme/apw/php/config.php:288
msgid "Section width"
-msgstr "Larghezza dei contenuti"
+msgstr "Larghezza dell'area principale"
#: ../../view/theme/apw/php/config.php:289
msgid "Left offset of the aside"
-msgstr "Spostamento a sinistra della colonna laterale"
+msgstr "Margine sinistro della colonna laterale"
#: ../../view/theme/apw/php/config.php:290
msgid "Right offset of the aside element"
-msgstr "Spostamento a destra della colonna laterale"
-
-#: ../../view/theme/blogga/php/config.php:47
-#: ../../view/theme/blogga/view/theme/blog/config.php:47
-msgid "None"
-msgstr "Nessuno"
-
-#: ../../view/theme/blogga/php/config.php:70
-#: ../../view/theme/blogga/view/theme/blog/config.php:70
-msgid "Header image"
-msgstr "Immagine dell'intestazione"
-
-#: ../../view/theme/blogga/php/config.php:71
-#: ../../view/theme/blogga/view/theme/blog/config.php:71
-msgid "Header image only on profile pages"
-msgstr "Metti un'immagine solo nell'intestazione dei profili"
+msgstr "Margine destro della colonna laterale"
#: ../../view/theme/redbasic/php/config.php:84
msgid "Light (Red Matrix default)"
@@ -8132,41 +8360,41 @@ msgstr "Album con foto storte"
msgid "Are you a clean desk or a messy desk person?"
msgstr "La tua scrivania è sempre a posto? Sei una persona disordinata?"
-#: ../../boot.php:1295
+#: ../../boot.php:1345
#, php-format
msgid "Update %s failed. See error logs."
msgstr "%s: aggiornamento fallito. Controlla i log di errore."
-#: ../../boot.php:1298
+#: ../../boot.php:1348
#, php-format
msgid "Update Error at %s"
msgstr "Errore di aggiornamento su %s"
-#: ../../boot.php:1472
+#: ../../boot.php:1515
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr "Registrati per accedere ai servizi e alle applicazioni di RedMatrix"
-#: ../../boot.php:1500
+#: ../../boot.php:1543
msgid "Password"
msgstr "Password"
-#: ../../boot.php:1501
+#: ../../boot.php:1544
msgid "Remember me"
msgstr "Resta connesso"
-#: ../../boot.php:1506
+#: ../../boot.php:1547
msgid "Forgot your password?"
msgstr "Hai dimenticato la password?"
-#: ../../boot.php:1571
+#: ../../boot.php:1628
msgid "permission denied"
msgstr "permesso negato"
-#: ../../boot.php:1572
+#: ../../boot.php:1629
msgid "Got Zot?"
msgstr "Hai Zot?"
-#: ../../boot.php:2002
+#: ../../boot.php:2112
msgid "toggle mobile"
msgstr "attiva/disattiva versione mobile"
diff --git a/view/it/strings.php b/view/it/strings.php
index e5688ecf1..115962dfc 100644
--- a/view/it/strings.php
+++ b/view/it/strings.php
@@ -7,45 +7,79 @@ function string_plural_select_it($n){
;
$a->strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
$a->strings["Profile Photos"] = "Foto del profilo";
+$a->strings["Permission denied"] = "Permesso negato";
+$a->strings["(Unknown)"] = "(Sconosciuto)";
+$a->strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
+$a->strings["Visible to you only."] = "Visibile solo a te.";
+$a->strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
+$a->strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
+$a->strings["Visible to anybody on %s."] = "Visibile a tutti in %s.";
+$a->strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
+$a->strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
+$a->strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
+$a->strings["Item not found."] = "Elemento non trovato.";
+$a->strings["Permission denied."] = "Permesso negato.";
+$a->strings["Collection not found."] = "Insieme di canali non trovato.";
+$a->strings["Collection is empty."] = "L'insieme di canali è vuoto.";
+$a->strings["Collection: %s"] = "Insieme: %s";
+$a->strings["Connection: %s"] = "Contatto: %s";
+$a->strings["Connection not found."] = "Contatto non trovato.";
+$a->strings["Edit"] = "Modifica";
+$a->strings["No recipient provided."] = "Devi scegliere un destinatario.";
+$a->strings["[no subject]"] = "[nessun titolo]";
+$a->strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
+$a->strings["Stored post could not be verified."] = "Non è stato possibile verificare l'articolo inserito.";
$a->strings["view full size"] = "guarda nelle dimensioni reali";
-$a->strings["Embedded content"] = "Contenuti incorporati";
-$a->strings["Embedding disabled"] = "Contenuti incorporati - funzione disabilitata";
+$a->strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e articoli normali";
+$a->strings["Can view my default channel profile"] = "Può vedere il profilo predefinito del canale";
+$a->strings["Can view my photo albums"] = "Può vedere i miei album fotografici";
+$a->strings["Can view my connections"] = "Può vedere i miei contatti";
+$a->strings["Can view my file storage"] = "Può vedere i miei file condivisi";
+$a->strings["Can view my webpages"] = "Può vedere le mie pagine web";
+$a->strings["Can send me their channel stream and posts"] = "È tra i canali che seguo";
+$a->strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
+$a->strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei articoli";
+$a->strings["Can send me private mail messages"] = "Può inviarmi messaggi privati";
+$a->strings["Can post photos to my photo albums"] = "Può aggiungere foto ai miei album";
+$a->strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\"";
+$a->strings["Profiles and things other than posts/comments"] = "Profili e tutto ciò che non è articoli e commenti";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare articoli a tutti i contatti del canale tramite una @menzione";
+$a->strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
+$a->strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
+$a->strings["Can write to my file storage"] = "Può scrivere sul mio archivio file";
+$a->strings["Can edit my webpages"] = "Può modificare le mie pagine web";
+$a->strings["Can source my public posts in derived channels"] = "Può usare i miei articoli pubblici per creare canali derivati";
+$a->strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
+$a->strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
+$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
+$a->strings["Social Networking"] = "Social network";
+$a->strings["Mostly Public"] = "Quasi sempre pubblico";
+$a->strings["Restricted"] = "Con restrizioni";
+$a->strings["Private"] = "Privato";
+$a->strings["Community Forum"] = "Forum di discussione";
+$a->strings["Feed Republish"] = "Aggregatore di feed esterni";
+$a->strings["Special Purpose"] = "Per finalità speciali";
+$a->strings["Celebrity/Soapbox"] = "Pagina per fan";
+$a->strings["Group Repository"] = "Repository di gruppo";
+$a->strings["Other"] = "Altro";
+$a->strings["Custom/Expert Mode"] = "Personalizzazione per esperti";
$a->strings["created a new post"] = "Ha creato un nuovo articolo";
$a->strings["commented on %s's post"] = "ha commentato l'articolo di %s";
-$a->strings["Site Admin"] = "Amministrazione sito";
-$a->strings["Bookmarks"] = "Segnalibri";
-$a->strings["Address Book"] = "Rubrica";
-$a->strings["Login"] = "Accedi";
-$a->strings["Channel Manager"] = "Gestione canali";
-$a->strings["Matrix"] = "RedMatrix";
-$a->strings["Settings"] = "Impostazioni";
-$a->strings["Files"] = "Archivio file";
-$a->strings["Webpages"] = "Pagine web";
-$a->strings["Channel Home"] = "Bacheca del canale";
-$a->strings["Profile"] = "Profilo";
-$a->strings["Photos"] = "Foto";
-$a->strings["Events"] = "Eventi";
-$a->strings["Directory"] = "Tutti i canali";
-$a->strings["Help"] = "Guida";
-$a->strings["Mail"] = "Messaggi";
-$a->strings["Mood"] = "Umore";
-$a->strings["Poke"] = "Poke";
-$a->strings["Chat"] = "Area chat";
-$a->strings["Search"] = "Cerca";
-$a->strings["Probe"] = "Diagnostica";
-$a->strings["Suggest"] = "Suggerisci";
-$a->strings["Random Channel"] = "Canale casuale";
-$a->strings["Invite"] = "Invita";
-$a->strings["Features"] = "Funzionalità";
-$a->strings["Language"] = "Lingua";
-$a->strings["Post"] = "Articolo";
-$a->strings["Profile Photo"] = "Foto del profilo";
-$a->strings["Update"] = "Aggiorna";
-$a->strings["Install"] = "Installa";
-$a->strings["Purchase"] = "Acquista";
-$a->strings["Edit"] = "Modifica";
-$a->strings["Delete"] = "Elimina";
-$a->strings["Unknown"] = "Sconosciuto";
+$a->strings["Tags"] = "Tag";
+$a->strings["Categories"] = "Categorie";
+$a->strings["Keywords"] = "Parole chiave";
+$a->strings["have"] = "ho";
+$a->strings["has"] = "ha";
+$a->strings["want"] = "voglio";
+$a->strings["wants"] = "vuole";
+$a->strings["like"] = "mi piace";
+$a->strings["likes"] = "gli piace";
+$a->strings["dislike"] = "non mi piace";
+$a->strings["dislikes"] = "non gli piace";
+$a->strings["__ctx:noun__ Like"] = array(
+ 0 => "Mi piace",
+ 1 => "Mi piace",
+);
$a->strings["New Page"] = "Nuova pagina web";
$a->strings["View"] = "Guarda";
$a->strings["Preview"] = "Anteprima";
@@ -54,151 +88,140 @@ $a->strings["Page Link"] = "Link alla pagina";
$a->strings["Title"] = "Titolo";
$a->strings["Created"] = "Creato";
$a->strings["Edited"] = "Modificato";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "L'identificativo di sicurezza del modulo che hai riempito non è corretto. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
-$a->strings["Invalid data packet"] = "Dati non validi";
-$a->strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
-$a->strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
-$a->strings["Permission denied."] = "Permesso negato.";
+$a->strings["Embedded content"] = "Contenuti incorporati";
+$a->strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati";
+$a->strings["Logged out."] = "Uscita effettuata.";
+$a->strings["Failed authentication"] = "Autenticazione fallita";
+$a->strings["Login failed."] = "Accesso fallito.";
$a->strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
$a->strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
$a->strings["Unable to process image"] = "Impossibile elaborare l'immagine";
$a->strings["Photo storage failed."] = "Impossibile caricare la foto.";
$a->strings["Photo Albums"] = "Album foto";
$a->strings["Upload New Photos"] = "Carica nuove foto";
-$a->strings["Visible to your default audience"] = "Visibile secondo le impostazioni predefinite";
-$a->strings["Show"] = "Mostra";
-$a->strings["Don't show"] = "Non mostrare";
-$a->strings["Permissions"] = "Permessi";
-$a->strings["Close"] = "Chiudi";
$a->strings[" and "] = "e";
$a->strings["public profile"] = "profilo pubblico";
$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiato %2\$s in &ldquo;%3\$s&rdquo;";
$a->strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s ";
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s.";
-$a->strings["Public Timeline"] = "Diario pubblico";
-$a->strings["Item was not found."] = "Elemento non trovato.";
-$a->strings["No source file."] = "Nessun file di origine.";
-$a->strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
-$a->strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
-$a->strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
-$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati.";
-$a->strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe aver superato i limiti o l'azione potrebbe essere stata interrotta.";
-$a->strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
-$a->strings["Path not available."] = "Percorso non disponibile.";
-$a->strings["Empty pathname"] = "Il percorso del file è vuoto";
-$a->strings["duplicate filename or path"] = "il file o percorso del file è duplicato";
-$a->strings["Path not found."] = "Percorso del file non trovato.";
-$a->strings["mkdir failed."] = "mkdir fallito.";
-$a->strings["database storage failed."] = "scrittura su database fallita.";
-$a->strings["photo"] = "la foto";
-$a->strings["event"] = "l'evento";
-$a->strings["channel"] = "canale";
-$a->strings["status"] = "il messaggio di stato";
-$a->strings["comment"] = "il commento";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
-$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s adesso è connesso con %2\$s";
-$a->strings["%1\$s poked %2\$s"] = "%1\$s ha mandato un poke a %2\$s";
-$a->strings["poked"] = "ha ricevuto un poke";
-$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s è %2\$s";
-$a->strings["Select"] = "Seleziona";
-$a->strings["Private Message"] = "Messaggio privato";
-$a->strings["Message is verified"] = "Messaggio verificato";
-$a->strings["View %s's profile @ %s"] = "Vedi il profilo di %s @ %s";
-$a->strings["Categories:"] = "Categorie:";
-$a->strings["Filed under:"] = "Classificato come:";
-$a->strings[" from %s"] = " da %s";
-$a->strings["last edited: %s"] = "ultima modifica: %s";
-$a->strings["Expires: %s"] = "Scadenza: %s";
-$a->strings["View in context"] = "Vedi nel contesto";
-$a->strings["Please wait"] = "Attendere";
-$a->strings["remove"] = "rimuovi";
-$a->strings["Loading..."] = "Caricamento in corso...";
-$a->strings["Delete Selected Items"] = "Elimina gli oggetti selezionati";
-$a->strings["View Source"] = "Vedi il sorgente";
-$a->strings["Follow Thread"] = "Segui la discussione";
-$a->strings["View Status"] = "Guarda il messaggio di stato";
-$a->strings["View Profile"] = "Profilo";
-$a->strings["View Photos"] = "Guarda le foto";
-$a->strings["Matrix Activity"] = "Attività nella tua rete";
-$a->strings["Connect"] = "Aggiungi";
-$a->strings["Edit Contact"] = "Modifica il contatto";
-$a->strings["Send PM"] = "Invia messaggio privato";
-$a->strings["%s likes this."] = "Piace a %s.";
-$a->strings["%s doesn't like this."] = "Non piace a %s.";
-$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "",
- 1 => "Piace a <span %1\$s>%2\$d persone</span>.",
-);
-$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "",
- 1 => "Non piace a <span %1\$s>%2\$d persone</span>.",
-);
-$a->strings["and"] = "e";
-$a->strings[", and %d other people"] = array(
- 0 => "",
- 1 => "e altre %d persone",
-);
-$a->strings["%s like this."] = "Piace a %s.";
-$a->strings["%s don't like this."] = "Non piace a %s.";
-$a->strings["Visible to <strong>everybody</strong>"] = "Visibile a <strong>tutti</strong>";
-$a->strings["Please enter a link URL:"] = "Inserisci l'indirizzo del link:";
-$a->strings["Please enter a video link/URL:"] = "Inserisci l'indirizzo del video:";
-$a->strings["Please enter an audio link/URL:"] = "Inserisci l'indirizzo dell'audio:";
-$a->strings["Tag term:"] = "Tag:";
-$a->strings["Save to Folder:"] = "Salva nella cartella:";
-$a->strings["Where are you right now?"] = "Dove sei ora?";
-$a->strings["Expires YYYY-MM-DD HH:MM"] = "Scade il YYYY-MM-DD HH:MM";
-$a->strings["Share"] = "Condividi";
-$a->strings["Page link title"] = "Link del titolo";
-$a->strings["Post as"] = "Pubblica come ";
-$a->strings["Upload photo"] = "Carica foto";
-$a->strings["upload photo"] = "carica foto";
-$a->strings["Attach file"] = "Allega file";
-$a->strings["attach file"] = "allega file";
-$a->strings["Insert web link"] = "Inserisci un indirizzo web";
-$a->strings["web link"] = "link web";
-$a->strings["Insert video link"] = "Inserisci l'indirizzo di un video";
-$a->strings["video link"] = "link video";
-$a->strings["Insert audio link"] = "Inserisci l'indirizzo di un audio";
-$a->strings["audio link"] = "link audio";
-$a->strings["Set your location"] = "La tua località";
-$a->strings["set location"] = "la tua località";
-$a->strings["Clear browser location"] = "Rimuovi la località data dal browser";
-$a->strings["clear location"] = "rimuovi la località";
-$a->strings["Set title"] = "Scegli un titolo";
-$a->strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)";
-$a->strings["Permission settings"] = "Impostazioni permessi";
-$a->strings["permissions"] = "permessi";
-$a->strings["Public post"] = "Articolo pubblico";
-$a->strings["Example: bob@example.com, mary@example.com"] = "Per esempio: mario@esempio.com, simona@esempio.com";
-$a->strings["Set expiration date"] = "Data di scadenza";
-$a->strings["Encrypt text"] = "Crittografia del testo";
-$a->strings["OK"] = "OK";
-$a->strings["Cancel"] = "Annulla";
-$a->strings["Discover"] = "Scopri";
-$a->strings["Imported public streams"] = "Contenuti pubblici importati";
-$a->strings["Commented Order"] = "Ultimi commenti";
-$a->strings["Sort by Comment Date"] = "Per data del commento";
-$a->strings["Posted Order"] = "Ultimi articoli";
-$a->strings["Sort by Post Date"] = "Per data di creazione";
-$a->strings["Personal"] = "Personali";
-$a->strings["Posts that mention or involve you"] = "Articoli che ti riguardano o ti menzionano";
-$a->strings["New"] = "Novità";
-$a->strings["Activity Stream - by date"] = "Elenco attività - per data";
-$a->strings["Starred"] = "Preferiti";
-$a->strings["Favourite Posts"] = "Articoli preferiti";
-$a->strings["Spam"] = "Spam";
-$a->strings["Posts flagged as SPAM"] = "Articoli marcati come spam";
-$a->strings["Channel"] = "Canale";
-$a->strings["Status Messages and Posts"] = "Articoli e messaggi di stato";
-$a->strings["About"] = "Informazioni";
-$a->strings["Profile Details"] = "Dettagli del profilo";
-$a->strings["Files and Storage"] = "Archivio file";
-$a->strings["Chatrooms"] = "Area chat";
-$a->strings["Saved Bookmarks"] = "Segnalibri salvati";
-$a->strings["Manage Webpages"] = "Gestisci le pagine web";
+$a->strings["Attachments:"] = "Allegati:";
+$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
+$a->strings["Redmatrix event notification:"] = "Notifica eventi RedMatrix:";
+$a->strings["Starts:"] = "Inizio:";
+$a->strings["Finishes:"] = "Fine:";
+$a->strings["Location:"] = "Luogo:";
+$a->strings["General Features"] = "Funzionalità di base";
+$a->strings["Content Expiration"] = "Scadenza";
+$a->strings["Remove posts/comments and/or private messages at a future time"] = "Elimina gli articoli, i commenti o i messaggi privati dopo un lasso di tempo";
+$a->strings["Multiple Profiles"] = "Profili multipli";
+$a->strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
+$a->strings["Advanced Profiles"] = "Profili avanzati";
+$a->strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo";
+$a->strings["Profile Import/Export"] = "Importa/esporta il profilo";
+$a->strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su canali o siti diversi";
+$a->strings["Web Pages"] = "Pagine web";
+$a->strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
+$a->strings["Private Notes"] = "Note private";
+$a->strings["Enables a tool to store notes and reminders"] = "Abilita il riquadro per scrivere annotazioni";
+$a->strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu";
+$a->strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione";
+$a->strings["Extended Identity Sharing"] = "Condivisione avanzata dell'identità";
+$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Rendi nota la tua identità a tutti i siti internet. Se disabilitato, la tua identità sarà comunicata solo ai siti RedMatrix.";
+$a->strings["Expert Mode"] = "Modalità esperto";
+$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate";
+$a->strings["Premium Channel"] = "Canale premium";
+$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare delle restrizioni e dei termini d'uso a chi segue il canale";
+$a->strings["Post Composition Features"] = "Modalità di scrittura articoli";
+$a->strings["Use Markdown"] = "Usa il markdown";
+$a->strings["Allow use of \"Markdown\" to format posts"] = "Consenti l'uso del markdown per formattare gli articoli";
+$a->strings["Channel Sources"] = "Sorgenti del canale";
+$a->strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed";
+$a->strings["Even More Encryption"] = "Crittografia addizionale";
+$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crittografia tra mittente e destinatario che condividono una chiave segreta";
+$a->strings["Flag Adult Photos"] = "Marca le foto per adulti";
+$a->strings["Provide photo edit option to hide adult photos from default album view"] = "Permette di marcare e nascondere negli album le foto per adulti";
+$a->strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
+$a->strings["Search by Date"] = "Ricerca per data";
+$a->strings["Ability to select posts by date ranges"] = "Per selezionare gli articoli in un intervallo tra date";
+$a->strings["Collections Filter"] = "Filtra per insiemi di canali";
+$a->strings["Enable widget to display Network posts only from selected collections"] = "Mostra il riquadro per filtrare gli articoli di certi insiemi di canali";
+$a->strings["Saved Searches"] = "Ricerche salvate";
+$a->strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
+$a->strings["Network Personal Tab"] = "Attività personale";
+$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
+$a->strings["Network New Tab"] = "Contenuti nuovi";
+$a->strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
+$a->strings["Affinity Tool"] = "Filtro per affinità";
+$a->strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
+$a->strings["Suggest Channels"] = "Suggerisci canali";
+$a->strings["Show channel suggestions"] = "Mostra alcuni canali che potrebbero interessarti";
+$a->strings["Post/Comment Tools"] = "Gestione articoli e commenti";
+$a->strings["Tagging"] = "Tag";
+$a->strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su articoli già esistenti";
+$a->strings["Post Categories"] = "Categorie degli articoli";
+$a->strings["Add categories to your posts"] = "Abilita le categorie per i tuoi articoli";
+$a->strings["Saved Folders"] = "Cartelle salvate";
+$a->strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
+$a->strings["Dislike Posts"] = "Non mi piace";
+$a->strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi articoli";
+$a->strings["Star Posts"] = "Articoli stella (preferiti)";
+$a->strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per scegliere gli articoli preferiti";
+$a->strings["Tag Cloud"] = "Nuvola di tag";
+$a->strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
+$a->strings["parent"] = "cartella superiore";
+$a->strings["Collection"] = "Cartella";
+$a->strings["Principal"] = "Principale";
+$a->strings["Addressbook"] = "Rubrica";
+$a->strings["Calendar"] = "Calendario";
+$a->strings["Schedule Inbox"] = "Appuntamenti ricevuti";
+$a->strings["Schedule Outbox"] = "Appuntamenti inviati";
+$a->strings["Unknown"] = "Sconosciuto";
+$a->strings["%1\$s used"] = "%1\$s occupati";
+$a->strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s occupati di %2\$s (%3\$s&#37;)";
+$a->strings["Files"] = "Archivio file";
+$a->strings["Total"] = "Totale";
+$a->strings["Name"] = "Nome";
+$a->strings["Type"] = "Tipo";
+$a->strings["Size"] = "Dimensione";
+$a->strings["Last Modified"] = "Ultima modifica";
+$a->strings["Delete"] = "Elimina";
+$a->strings["Create new folder"] = "Crea una nuova cartella";
+$a->strings["Create"] = "Crea";
+$a->strings["Upload file"] = "Carica un file";
+$a->strings["Upload"] = "Carica";
$a->strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
+$a->strings["Directory Options"] = "Opzioni elenco pubblico";
+$a->strings["Alphabetic"] = "Alfabetico";
+$a->strings["Reverse Alphabetic"] = "Alfabetico inverso";
+$a->strings["Newest to Oldest"] = "Prima i più recenti";
+$a->strings["Oldest to Newest"] = "Prima i più vecchi";
+$a->strings["Public Forums Only"] = "Solo forum pubblici";
+$a->strings["Sort"] = "Ordinamento";
+$a->strings["Enable Safe Search"] = "Abilita SafeSearch";
+$a->strings["Disable Safe Search"] = "Disabilita SafeSearch";
+$a->strings["Safe Mode"] = "Modalità SafeSearch";
+$a->strings["Default"] = "Predefinito";
+$a->strings["Frequently"] = "Frequentemente";
+$a->strings["Hourly"] = "Ogni ora";
+$a->strings["Twice daily"] = "Due volte al giorno";
+$a->strings["Daily"] = "Ogni giorno";
+$a->strings["Weekly"] = "Ogni settimana";
+$a->strings["Monthly"] = "Ogni mese";
+$a->strings["Friendica"] = "Friendica";
+$a->strings["OStatus"] = "OStatus";
+$a->strings["RSS/Atom"] = "RSS/Atom";
+$a->strings["Email"] = "Email";
+$a->strings["Diaspora"] = "Diaspora";
+$a->strings["Facebook"] = "Facebook";
+$a->strings["Zot!"] = "Zot!";
+$a->strings["LinkedIn"] = "LinkedIn";
+$a->strings["XMPP/IM"] = "XMPP/IM";
+$a->strings["MySpace"] = "MySpace";
+$a->strings["Visible to your default audience"] = "Visibile secondo le impostazioni predefinite";
+$a->strings["Show"] = "Mostra";
+$a->strings["Don't show"] = "Non mostrare";
+$a->strings["Permissions"] = "Permessi";
+$a->strings["Close"] = "Chiudi";
$a->strings["prev"] = "prec";
$a->strings["first"] = "inizio";
$a->strings["last"] = "fine";
@@ -211,12 +234,14 @@ $a->strings["%d Connection"] = array(
1 => "%d contatti",
);
$a->strings["View Connections"] = "Elenco contatti";
+$a->strings["Search"] = "Cerca";
$a->strings["Save"] = "Salva";
$a->strings["poke"] = "poke";
+$a->strings["poked"] = "ha ricevuto un poke";
$a->strings["ping"] = "ping";
$a->strings["pinged"] = "ha ricevuto un ping";
-$a->strings["prod"] = "prod";
-$a->strings["prodded"] = "ha ricevuto un prod";
+$a->strings["prod"] = "spintone";
+$a->strings["prodded"] = "ha ricevuto uno spintone";
$a->strings["slap"] = "schiaffo";
$a->strings["slapped"] = "ha ricevuto uno schiaffo";
$a->strings["finger"] = "finger";
@@ -273,43 +298,16 @@ $a->strings["Select a page layout: "] = "Scegli il layout della pagina:";
$a->strings["default"] = "predefinito";
$a->strings["Page content type: "] = "Contenuto della pagina:";
$a->strings["Select an alternate language"] = "Seleziona una lingua diversa";
+$a->strings["photo"] = "la foto";
+$a->strings["event"] = "l'evento";
+$a->strings["status"] = "il messaggio di stato";
+$a->strings["comment"] = "il commento";
$a->strings["activity"] = "l'attività";
$a->strings["Design"] = "Design";
$a->strings["Blocks"] = "Riquadri";
$a->strings["Menus"] = "Menù";
$a->strings["Layouts"] = "Layout";
$a->strings["Pages"] = "Pagine";
-$a->strings["Tags"] = "Tag";
-$a->strings["Keywords"] = "Parole chiave";
-$a->strings["have"] = "ho";
-$a->strings["has"] = "ha";
-$a->strings["want"] = "voglio";
-$a->strings["wants"] = "vuole";
-$a->strings["like"] = "mi piace";
-$a->strings["likes"] = "mi piace";
-$a->strings["dislike"] = "non mi piace";
-$a->strings["dislikes"] = "non mi piace";
-$a->strings["__ctx:noun__ Like"] = array(
- 0 => "Mi piace",
- 1 => "Mi piace",
-);
-$a->strings["Default"] = "Predefinito";
-$a->strings["Frequently"] = "Frequentemente";
-$a->strings["Hourly"] = "Ogni ora";
-$a->strings["Twice daily"] = "Due volte al giorno";
-$a->strings["Daily"] = "Ogni giorno";
-$a->strings["Weekly"] = "Ogni settimana";
-$a->strings["Monthly"] = "Ogni mese";
-$a->strings["Friendica"] = "Friendica";
-$a->strings["OStatus"] = "OStatus";
-$a->strings["RSS/Atom"] = "RSS/Atom";
-$a->strings["Email"] = "Email";
-$a->strings["Diaspora"] = "Diaspora";
-$a->strings["Facebook"] = "Facebook";
-$a->strings["Zot!"] = "Zot!";
-$a->strings["LinkedIn"] = "LinkedIn";
-$a->strings["XMPP/IM"] = "XMPP/IM";
-$a->strings["MySpace"] = "MySpace";
$a->strings["%d invitation available"] = array(
0 => "%d invito disponibile",
1 => "%d inviti disponibili",
@@ -323,73 +321,19 @@ $a->strings["Find"] = "Cerca";
$a->strings["Channel Suggestions"] = "Canali suggeriti";
$a->strings["Random Profile"] = "Profilo casuale";
$a->strings["Invite Friends"] = "Invita amici";
-$a->strings["Exammple: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy";
-$a->strings["Advanced Find"] = "Ricerca avanzata";
-$a->strings["Saved Folders"] = "Cartelle salvate";
+$a->strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy";
$a->strings["Everything"] = "Tutto";
-$a->strings["Categories"] = "Categorie";
$a->strings["%d connection in common"] = array(
0 => "%d contatto in comune",
1 => "%d contatti in comune",
);
$a->strings["show more"] = "mostra tutto";
-$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
-$a->strings["Starts:"] = "Inizio:";
-$a->strings["Finishes:"] = "Fine:";
-$a->strings["Location:"] = "Luogo:";
-$a->strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
-$a->strings["Not a valid email address"] = "Email non valida";
-$a->strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito";
-$a->strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito.";
-$a->strings["An invitation is required."] = "È necessario un invito.";
-$a->strings["Invitation could not be verified."] = "L'invito non può essere verificato.";
-$a->strings["Please enter the required information."] = "Inserisci le informazioni richieste.";
-$a->strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account.";
-$a->strings["Registration confirmation for %s"] = "Registrazione di %s confermata";
-$a->strings["Registration request at %s"] = "Richiesta di registrazione su %s";
-$a->strings["Administrator"] = "Amministratore";
-$a->strings["your registration password"] = "la password di registrazione";
-$a->strings["Registration details for %s"] = "Dettagli della registrazione di %s";
-$a->strings["Account approved."] = "Account approvato.";
-$a->strings["Registration revoked for %s"] = "Registrazione revocata per %s";
-$a->strings["Account verified. Please login."] = "Registrazione verificata. Adesso puoi effettuare login.";
-$a->strings["Click here to upgrade."] = "Clicca qui per aggiornare.";
-$a->strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione esce dai termini del tuo abbonamento.";
-$a->strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento.";
-$a->strings["Miscellaneous"] = "Altro";
-$a->strings["year"] = "anno";
-$a->strings["month"] = "mese";
-$a->strings["day"] = "giorno";
-$a->strings["never"] = "mai";
-$a->strings["less than a second ago"] = "meno di un secondo fa";
-$a->strings["years"] = "anni";
-$a->strings["months"] = "mesi";
-$a->strings["week"] = "settimana";
-$a->strings["weeks"] = "settimane";
-$a->strings["days"] = "giorni";
-$a->strings["hour"] = "ora";
-$a->strings["hours"] = "ore";
-$a->strings["minute"] = "minuto";
-$a->strings["minutes"] = "minuti";
-$a->strings["second"] = "secondo";
-$a->strings["seconds"] = "secondi";
-$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s fa";
-$a->strings["%1\$s's birthday"] = "È il compleanno di %1\$s";
-$a->strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s";
-$a->strings["Sort Options"] = "Opzioni di ordinamento";
-$a->strings["Alphabetic"] = "Alfabetico";
-$a->strings["Reverse Alphabetic"] = "Alfabetico inverso";
-$a->strings["Newest to Oldest"] = "Dal più nuovo al più vecchio";
-$a->strings["Enable Safe Search"] = "Abilita SafeSearch";
-$a->strings["Disable Safe Search"] = "Disabilita SafeSearch";
-$a->strings["Safe Mode"] = "Modalità SafeSearch";
-$a->strings["Attachments:"] = "Allegati:";
$a->strings["Red Matrix Notification"] = "Notifica di RedMatrix";
$a->strings["redmatrix"] = "RedMatrix";
$a->strings["Thank You,"] = "Grazie,";
-$a->strings["%s Administrator"] = "Amministratore %s";
+$a->strings["%s Administrator"] = "L'amministratore di %s";
$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
-$a->strings["[Red:Notify] New mail received at %s"] = "[RedMatrix] Nuovo messaggio ricevuto su %s";
+$a->strings["[Red:Notify] New mail received at %s"] = "[RedMatrix] Nuovo messaggio su %s";
$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s ti ha mandato un messaggio privato su %3\$s.";
$a->strings["%1\$s sent you %2\$s."] = "%1\$s ti ha mandato %2\$s.";
$a->strings["a private message"] = "un messaggio privato";
@@ -424,112 +368,7 @@ $a->strings["Name:"] = "Nome:";
$a->strings["Photo:"] = "Foto:";
$a->strings["Please visit %s to approve or reject the suggestion."] = "Visita %s per approvare o rifiutare il suggerimento.";
$a->strings["[Red:Notify]"] = "[RedMatrix]";
-$a->strings["parent"] = "cartella superiore";
-$a->strings["Collection"] = "Cartella";
-$a->strings["Principal"] = "Principale";
-$a->strings["Addressbook"] = "Rubrica";
-$a->strings["Calendar"] = "Calendario";
-$a->strings["Schedule Inbox"] = "Appuntamenti ricevuti";
-$a->strings["Schedule Outbox"] = "Appuntamenti inviati";
-$a->strings["%1\$s used"] = "%1\$s occupati";
-$a->strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s occupati di %2\$s (%3\$s&#37;)";
-$a->strings["Name"] = "Nome";
-$a->strings["Type"] = "Tipo";
-$a->strings["Size"] = "Dimensione";
-$a->strings["Last Modified"] = "Ultima modifica";
-$a->strings["Total"] = "Totale";
-$a->strings["Create new folder"] = "Crea una nuova cartella";
-$a->strings["Create"] = "Crea";
-$a->strings["Upload file"] = "Carica un file";
-$a->strings["Upload"] = "Carica";
-$a->strings["Missing room name"] = "Area chat senza nome";
-$a->strings["Duplicate room name"] = "Il nome dell'area chat è duplicato";
-$a->strings["Invalid room specifier."] = "Il nome dell'area chat non è valido.";
-$a->strings["Room not found."] = "Area chat non trovata.";
-$a->strings["Room is full"] = "L'area chat è al completo";
-$a->strings["General Features"] = "Funzionalità di base";
-$a->strings["Content Expiration"] = "Scadenza";
-$a->strings["Remove posts/comments and/or private messages at a future time"] = "Elimina gli articoli, i commenti o i messaggi privati dopo che è trascorso del tempo";
-$a->strings["Multiple Profiles"] = "Profili multipli";
-$a->strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
-$a->strings["Advanced Profiles"] = "Profili avanzati";
-$a->strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo";
-$a->strings["Profile Import/Export"] = "Importa/esporta il profilo";
-$a->strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su canali o siti diversi";
-$a->strings["Web Pages"] = "Pagine web";
-$a->strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
-$a->strings["Private Notes"] = "Note private";
-$a->strings["Enables a tool to store notes and reminders"] = "Abilita il riquadro per scrivere annotazioni";
-$a->strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu";
-$a->strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione";
-$a->strings["Extended Identity Sharing"] = "Condivisione avanzata dell'identità";
-$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Rendi nota la tua identità a tutti i siti internet. Se disabilitato, la tua identità sarà comunicata solo ai siti RedMatrix.";
-$a->strings["Expert Mode"] = "Modalità esperto";
-$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate";
-$a->strings["Premium Channel"] = "Canale premium";
-$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di imporre delle restrizioni e dei termini d'uso a chi segue il canale";
-$a->strings["Post Composition Features"] = "Modalità di scrittura articoli";
-$a->strings["Use Markdown"] = "Usa il markdown";
-$a->strings["Allow use of \"Markdown\" to format posts"] = "Consenti l'uso del markdown per formattare gli articoli";
-$a->strings["Post Preview"] = "Anteprima articolo";
-$a->strings["Allow previewing posts and comments before publishing them"] = "Abilita l'anteprima degli articoli e dei commenti prima di pubblicarli";
-$a->strings["Channel Sources"] = "Sorgenti del canale";
-$a->strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed";
-$a->strings["Even More Encryption"] = "Crittografia addizionale";
-$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crittografia dei contenuti tra mittente e destinatari con una chiave segreta";
-$a->strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
-$a->strings["Search by Date"] = "Ricerca per data";
-$a->strings["Ability to select posts by date ranges"] = "Per selezionare gli articoli in un intervallo tra date";
-$a->strings["Collections Filter"] = "Filtra per insiemi di canali";
-$a->strings["Enable widget to display Network posts only from selected collections"] = "Mostra il riquadro per filtrare gli articoli di certi insiemi di canali";
-$a->strings["Saved Searches"] = "Ricerche salvate";
-$a->strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
-$a->strings["Network Personal Tab"] = "Attività personale";
-$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
-$a->strings["Network New Tab"] = "Contenuti nuovi";
-$a->strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
-$a->strings["Affinity Tool"] = "Filtro per affinità";
-$a->strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
-$a->strings["Suggest Channels"] = "Suggerisci canali";
-$a->strings["Show channel suggestions"] = "Mostra alcuni canali che potrebbero interessarti";
-$a->strings["Post/Comment Tools"] = "Gestione articoli e commenti";
-$a->strings["Edit Sent Posts"] = "Modifica gli articoli già inviati";
-$a->strings["Edit and correct posts and comments after sending"] = "Modifica e correggi gli articoli o i commenti anche dopo l'invio";
-$a->strings["Tagging"] = "Tag";
-$a->strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su articoli già esistenti";
-$a->strings["Post Categories"] = "Categorie degli articoli";
-$a->strings["Add categories to your posts"] = "Abilita le categorie per i tuoi articoli";
-$a->strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
-$a->strings["Dislike Posts"] = "Non mi piace";
-$a->strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi articoli";
-$a->strings["Star Posts"] = "Articoli stella (preferiti)";
-$a->strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per scegliere gli articoli preferiti";
-$a->strings["Tag Cloud"] = "Nuvola di tag";
-$a->strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
-$a->strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
-$a->strings["Channel location missing."] = "Manca l'indirizzo del canale.";
-$a->strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
-$a->strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
-$a->strings["Protocol disabled."] = "Protocollo disabilitato.";
-$a->strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
-$a->strings["local account not found."] = "l'account locale non è stato trovato.";
-$a->strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
-$a->strings["Permission denied"] = "Permesso negato";
-$a->strings["(Unknown)"] = "(Sconosciuto)";
-$a->strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet";
-$a->strings["Visible to you only."] = "Visibile solo a te.";
-$a->strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
-$a->strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
-$a->strings["Visible to anybody on %s."] = "Visibile a tutti in %s.";
-$a->strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
-$a->strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
-$a->strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
-$a->strings["Item not found."] = "Elemento non trovato.";
-$a->strings["Collection not found."] = "Insieme non trovato.";
-$a->strings["Collection is empty."] = "L'insieme di canali è vuoto.";
-$a->strings["Collection: %s"] = "Insieme: %s";
-$a->strings["Connection: %s"] = "Contatto: %s";
-$a->strings["Connection not found."] = "Contatto non trovato.";
+$a->strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso.";
$a->strings["Default privacy group for new contacts"] = "Insieme predefinito per i canali che inizi a seguire";
$a->strings["All Channels"] = "Tutti i canali";
@@ -551,6 +390,7 @@ $a->strings["Default Profile"] = "Profilo predefinito";
$a->strings["Friends"] = "Amici";
$a->strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile.";
$a->strings["Requested profile is not available."] = "Il profilo richiesto non è disponibile.";
+$a->strings["Connect"] = "Aggiungi";
$a->strings["Change profile photo"] = "Cambia la foto del profilo";
$a->strings["Profiles"] = "Profili";
$a->strings["Manage/edit profiles"] = "Gestisci/modifica i profili";
@@ -571,6 +411,7 @@ $a->strings["Birthdays this week:"] = "Compleanni questa settimana:";
$a->strings["[No description]"] = "[Nessuna descrizione]";
$a->strings["Event Reminders"] = "Promemoria";
$a->strings["Events this week:"] = "Eventi di questa settimana:";
+$a->strings["Profile"] = "Profilo";
$a->strings["Full Name:"] = "Nome completo:";
$a->strings["Like this channel"] = "Mi piace questo canale";
$a->strings["j F, Y"] = "j F Y";
@@ -597,63 +438,168 @@ $a->strings["Love/Romance:"] = "Amore:";
$a->strings["Work/employment:"] = "Lavoro:";
$a->strings["School/education:"] = "Scuola:";
$a->strings["Like this thing"] = "Mi piace questo oggetto";
+$a->strings["Not a valid email address"] = "Email non valida";
+$a->strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito";
+$a->strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito.";
+$a->strings["An invitation is required."] = "È necessario un invito.";
+$a->strings["Invitation could not be verified."] = "L'invito non può essere verificato.";
+$a->strings["Please enter the required information."] = "Inserisci le informazioni richieste.";
+$a->strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account.";
+$a->strings["Registration confirmation for %s"] = "Registrazione di %s confermata";
+$a->strings["Registration request at %s"] = "Richiesta di registrazione su %s";
+$a->strings["Administrator"] = "Amministratore";
+$a->strings["your registration password"] = "la password di registrazione";
+$a->strings["Registration details for %s"] = "Dettagli della registrazione di %s";
+$a->strings["Account approved."] = "Account approvato.";
+$a->strings["Registration revoked for %s"] = "Registrazione revocata per %s";
+$a->strings["Account verified. Please login."] = "Registrazione verificata. Adesso puoi effettuare login.";
+$a->strings["Click here to upgrade."] = "Clicca qui per aggiornare.";
+$a->strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione supera i limiti del tuo abbonamento.";
+$a->strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento.";
+$a->strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
+$a->strings["Channel location missing."] = "Manca l'indirizzo del canale.";
+$a->strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
+$a->strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
+$a->strings["Protocol disabled."] = "Protocollo disabilitato.";
+$a->strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
+$a->strings["local account not found."] = "l'account locale non è stato trovato.";
+$a->strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
+$a->strings["Public Timeline"] = "Diario pubblico";
+$a->strings["Item was not found."] = "Elemento non trovato.";
+$a->strings["No source file."] = "Nessun file di origine.";
+$a->strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
+$a->strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
+$a->strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
+$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati.";
+$a->strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato.";
+$a->strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
+$a->strings["Path not available."] = "Percorso non disponibile.";
+$a->strings["Empty pathname"] = "Il percorso del file è vuoto";
+$a->strings["duplicate filename or path"] = "il file o il percorso del file è duplicato";
+$a->strings["Path not found."] = "Percorso del file non trovato.";
+$a->strings["mkdir failed."] = "mkdir fallito.";
+$a->strings["database storage failed."] = "scrittura su database fallita.";
+$a->strings["Missing room name"] = "Area chat senza nome";
+$a->strings["Duplicate room name"] = "Il nome dell'area chat è duplicato";
+$a->strings["Invalid room specifier."] = "Il nome dell'area chat non è valido.";
+$a->strings["Room not found."] = "Area chat non trovata.";
+$a->strings["Room is full"] = "L'area chat è al completo";
$a->strings["Image/photo"] = "Immagine";
$a->strings["Encrypted content"] = "Contenuto crittografato";
+$a->strings["Install design element: "] = "Installa il componente di design:";
$a->strings["QR code"] = "QR code";
$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s";
$a->strings["post"] = "l'articolo";
+$a->strings["$1 spoiler"] = "$1 spoiler";
$a->strings["$1 wrote:"] = "$1 ha scritto:";
-$a->strings["Logout"] = "Esci";
-$a->strings["End this session"] = "Chiudi questa sessione";
-$a->strings["Home"] = "Bacheca";
-$a->strings["Your posts and conversations"] = "I tuoi articoli e conversazioni";
-$a->strings["Your profile page"] = "Il tuo profilo";
-$a->strings["Edit Profiles"] = "Modifica i profili";
-$a->strings["Manage/Edit profiles"] = "Gestisci/modifica i profili";
-$a->strings["Edit your profile"] = "Modifica il profilo";
-$a->strings["Your photos"] = "Le tue foto";
-$a->strings["Your files"] = "I tuoi file";
-$a->strings["Your chatrooms"] = "Le tue aree chat";
-$a->strings["Your bookmarks"] = "I tuoi segnalibri";
-$a->strings["Your webpages"] = "Le tue pagine web";
-$a->strings["Sign in"] = "Entra";
-$a->strings["%s - click to logout"] = "%s - clicca per uscire";
-$a->strings["Click to authenticate to your home hub"] = "Clicca per autenticarti sul tuo server principale";
-$a->strings["Home Page"] = "Bacheca";
-$a->strings["Register"] = "Iscriviti";
-$a->strings["Create an account"] = "Crea un account";
-$a->strings["Help and documentation"] = "Guida e documentazione";
+$a->strings["channel"] = "canale";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
+$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
+$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s adesso è connesso con %2\$s";
+$a->strings["%1\$s poked %2\$s"] = "%1\$s ha mandato un poke a %2\$s";
+$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s è %2\$s";
+$a->strings["Select"] = "Seleziona";
+$a->strings["Private Message"] = "Messaggio privato";
+$a->strings["Message signature validated"] = "Messaggio con firma verificata";
+$a->strings["Message signature incorrect"] = "Massaggio con firma non corretta";
+$a->strings["View %s's profile @ %s"] = "Vedi il profilo di %s @ %s";
+$a->strings["Categories:"] = "Categorie:";
+$a->strings["Filed under:"] = "Classificato come:";
+$a->strings[" from %s"] = " da %s";
+$a->strings["last edited: %s"] = "ultima modifica: %s";
+$a->strings["Expires: %s"] = "Scadenza: %s";
+$a->strings["View in context"] = "Vedi nel contesto";
+$a->strings["Please wait"] = "Attendere";
+$a->strings["remove"] = "rimuovi";
+$a->strings["Loading..."] = "Caricamento in corso...";
+$a->strings["Delete Selected Items"] = "Elimina gli oggetti selezionati";
+$a->strings["View Source"] = "Vedi il sorgente";
+$a->strings["Follow Thread"] = "Segui la discussione";
+$a->strings["View Status"] = "Guarda il messaggio di stato";
+$a->strings["View Profile"] = "Profilo";
+$a->strings["View Photos"] = "Guarda le foto";
+$a->strings["Matrix Activity"] = "Attività nella tua rete";
+$a->strings["Edit Contact"] = "Modifica il contatto";
+$a->strings["Send PM"] = "Invia messaggio privato";
+$a->strings["Poke"] = "Poke";
+$a->strings["%s likes this."] = "Piace a %s.";
+$a->strings["%s doesn't like this."] = "Non piace a %s.";
+$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "",
+ 1 => "Piace a <span %1\$s>%2\$d persone</span>.",
+);
+$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "",
+ 1 => "Non piace a <span %1\$s>%2\$d persone</span>.",
+);
+$a->strings["and"] = "e";
+$a->strings[", and %d other people"] = array(
+ 0 => "",
+ 1 => "e altre %d persone",
+);
+$a->strings["%s like this."] = "Piace a %s.";
+$a->strings["%s don't like this."] = "Non piace a %s.";
+$a->strings["Visible to <strong>everybody</strong>"] = "Visibile a <strong>tutti</strong>";
+$a->strings["Please enter a link URL:"] = "Inserisci l'indirizzo del link:";
+$a->strings["Please enter a video link/URL:"] = "Inserisci l'indirizzo del video:";
+$a->strings["Please enter an audio link/URL:"] = "Inserisci l'indirizzo dell'audio:";
+$a->strings["Tag term:"] = "Tag:";
+$a->strings["Save to Folder:"] = "Salva nella cartella:";
+$a->strings["Where are you right now?"] = "Dove sei ora?";
+$a->strings["Expires YYYY-MM-DD HH:MM"] = "Scade il YYYY-MM-DD HH:MM";
+$a->strings["Share"] = "Condividi";
+$a->strings["Page link title"] = "Link del titolo";
+$a->strings["Post as"] = "Pubblica come ";
+$a->strings["Upload photo"] = "Carica foto";
+$a->strings["upload photo"] = "carica foto";
+$a->strings["Attach file"] = "Allega file";
+$a->strings["attach file"] = "allega file";
+$a->strings["Insert web link"] = "Inserisci un indirizzo web";
+$a->strings["web link"] = "link web";
+$a->strings["Insert video link"] = "Inserisci l'indirizzo di un video";
+$a->strings["video link"] = "link video";
+$a->strings["Insert audio link"] = "Inserisci l'indirizzo di un audio";
+$a->strings["audio link"] = "link audio";
+$a->strings["Set your location"] = "La tua località";
+$a->strings["set location"] = "la tua località";
+$a->strings["Clear browser location"] = "Rimuovi la località data dal browser";
+$a->strings["clear location"] = "rimuovi la località";
+$a->strings["Title (optional)"] = "Titolo (opzionale)";
+$a->strings["Categories (optional, comma-separated list)"] = "Categorie (lista separata da virgole)";
+$a->strings["Permission settings"] = "Impostazioni permessi";
+$a->strings["permissions"] = "permessi";
+$a->strings["Public post"] = "Articolo pubblico";
+$a->strings["Example: bob@example.com, mary@example.com"] = "Per esempio: mario@esempio.com, simona@esempio.com";
+$a->strings["Set expiration date"] = "Data di scadenza";
+$a->strings["Encrypt text"] = "Crittografia del testo";
+$a->strings["OK"] = "OK";
+$a->strings["Cancel"] = "Annulla";
+$a->strings["Discover"] = "Scopri";
+$a->strings["Imported public streams"] = "Contenuti pubblici importati";
+$a->strings["Commented Order"] = "Ultimi commenti";
+$a->strings["Sort by Comment Date"] = "Per data del commento";
+$a->strings["Posted Order"] = "Ultimi articoli";
+$a->strings["Sort by Post Date"] = "Per data di creazione";
+$a->strings["Personal"] = "Personali";
+$a->strings["Posts that mention or involve you"] = "Articoli che ti riguardano o ti menzionano";
+$a->strings["New"] = "Novità";
+$a->strings["Activity Stream - by date"] = "Elenco attività - per data";
+$a->strings["Starred"] = "Preferiti";
+$a->strings["Favourite Posts"] = "Articoli preferiti";
+$a->strings["Spam"] = "Spam";
+$a->strings["Posts flagged as SPAM"] = "Articoli marcati come spam";
+$a->strings["Channel"] = "Canale";
+$a->strings["Status Messages and Posts"] = "Articoli e messaggi di stato";
+$a->strings["About"] = "Informazioni";
+$a->strings["Profile Details"] = "Dettagli del profilo";
+$a->strings["Photos"] = "Foto";
+$a->strings["Files and Storage"] = "Archivio file";
+$a->strings["Chatrooms"] = "Area chat";
+$a->strings["Bookmarks"] = "Segnalibri";
+$a->strings["Saved Bookmarks"] = "Segnalibri salvati";
+$a->strings["Webpages"] = "Pagine web";
+$a->strings["Manage Webpages"] = "Gestisci le pagine web";
$a->strings["Apps"] = "Apps";
-$a->strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi";
-$a->strings["Search site content"] = "Cerca nel sito";
-$a->strings["Channel Locator"] = "Ricerca canali";
-$a->strings["Your matrix"] = "La tua rete";
-$a->strings["Mark all matrix notifications seen"] = "Segna come lette le notifiche della tua rete";
-$a->strings["Channel home"] = "Bacheca del canale";
-$a->strings["Mark all channel notifications seen"] = "Segna come lette le notifiche dei canali";
-$a->strings["Connections"] = "Contatti";
-$a->strings["Notices"] = "Notifiche";
-$a->strings["Notifications"] = "Notifiche";
-$a->strings["See all notifications"] = "Vedi tutte le notifiche";
-$a->strings["Mark all system notifications seen"] = "Segna come lette le notifiche di sistema";
-$a->strings["Private mail"] = "Messaggi privati";
-$a->strings["See all private messages"] = "Guarda tutti i messaggi privati";
-$a->strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
-$a->strings["Inbox"] = "In arrivo";
-$a->strings["Outbox"] = "Inviati";
-$a->strings["New Message"] = "Nuovo messaggio";
-$a->strings["Event Calendar"] = "Calendario";
-$a->strings["See all events"] = "Guarda tutti gli eventi";
-$a->strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
-$a->strings["Manage Your Channels"] = "Gestisci i contatti dei tuoi canali";
-$a->strings["Account/Channel Settings"] = "Impostazioni account e canali";
-$a->strings["Admin"] = "Amministrazione";
-$a->strings["Site Setup and Configuration"] = "Configurazione del sito";
-$a->strings["Please wait..."] = "Attendere...";
-$a->strings["No recipient provided."] = "Devi scegliere un destinatario.";
-$a->strings["[no subject]"] = "[nessun titolo]";
-$a->strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
-$a->strings["Stored post could not be verified."] = "Non è stato possibile verificare l'articolo inserito.";
$a->strings["System"] = "Sistema";
$a->strings["Create Personal App"] = "Crea una app personale";
$a->strings["Edit Personal App"] = "Modifica una app personale";
@@ -669,7 +615,7 @@ $a->strings["Remove term"] = "Rimuovi termine";
$a->strings["Archives"] = "Archivi";
$a->strings["Refresh"] = "Aggiorna";
$a->strings["Me"] = "Io";
-$a->strings["Best Friends"] = "Buoni amici";
+$a->strings["Best Friends"] = "Migliori amici";
$a->strings["Co-workers"] = "Colleghi";
$a->strings["Former Friends"] = "Ex amici";
$a->strings["Acquaintances"] = "Conoscenti";
@@ -681,13 +627,19 @@ $a->strings["Feature settings"] = "Componenti aggiuntivi";
$a->strings["Display settings"] = "Aspetto";
$a->strings["Connected apps"] = "App connesse";
$a->strings["Export channel"] = "Esporta il canale";
-$a->strings["Export content"] = "Esporta i contenuti";
-$a->strings["Automatic Permissions (Advanced)"] = "Permessi predefiniti (avanzato)";
+$a->strings["Connection Default Permissions"] = "Permessi predefiniti dei nuovi contatti";
$a->strings["Premium Channel Settings"] = "Canale premium - impostazioni";
+$a->strings["Settings"] = "Impostazioni";
+$a->strings["Messages"] = "Messaggi";
$a->strings["Check Mail"] = "Controlla i messaggi";
+$a->strings["New Message"] = "Nuovo messaggio";
$a->strings["Chat Rooms"] = "Aree chat attive";
$a->strings["Bookmarked Chatrooms"] = "Aree chat nei segnalibri";
$a->strings["Suggested Chatrooms"] = "Aree chat suggerite";
+$a->strings["photo/image"] = "foto/immagine";
+$a->strings["Invalid data packet"] = "Dati non validi";
+$a->strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
+$a->strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
$a->strings["Save to Folder"] = "Salva nella cartella";
$a->strings["View all"] = "Vedi tutto";
$a->strings["__ctx:noun__ Dislike"] = array(
@@ -703,6 +655,10 @@ $a->strings["I like this (toggle)"] = "Attiva/disattiva Mi piace";
$a->strings["I don't like this (toggle)"] = "Attiva/disattiva Non mi piace";
$a->strings["Share This"] = "Condividi";
$a->strings["share"] = "condividi";
+$a->strings["%d comment"] = array(
+ 0 => "%d commento",
+ 1 => "%d commenti",
+);
$a->strings["View %s's profile - %s"] = "Guarda il profilo di %s - %s";
$a->strings["to"] = "a";
$a->strings["via"] = "via";
@@ -710,12 +666,9 @@ $a->strings["Wall-to-Wall"] = "Da bacheca a bacheca";
$a->strings["via Wall-To-Wall:"] = "da bacheca a bacheca:";
$a->strings["Save Bookmarks"] = "Salva segnalibro";
$a->strings["Add to Calendar"] = "Aggiungi al calendario";
+$a->strings["Mark all seen"] = "Marca tutto come letto";
$a->strings["__ctx:noun__ Likes"] = "Mi piace";
$a->strings["__ctx:noun__ Dislikes"] = "Non mi piace";
-$a->strings["%d comment"] = array(
- 0 => "%d commento",
- 1 => "%d commenti",
-);
$a->strings["[+] show all"] = "[+] mostra tutto";
$a->strings["This is you"] = "Questo sei tu";
$a->strings["Comment"] = "Commento";
@@ -728,6 +681,53 @@ $a->strings["Code"] = "Codice";
$a->strings["Image"] = "Immagine";
$a->strings["Link"] = "Link";
$a->strings["Video"] = "Video";
+$a->strings["Miscellaneous"] = "Altro";
+$a->strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-GG oppure MM-GG";
+$a->strings["never"] = "mai";
+$a->strings["less than a second ago"] = "meno di un secondo fa";
+$a->strings["year"] = "anno";
+$a->strings["years"] = "anni";
+$a->strings["month"] = "mese";
+$a->strings["months"] = "mesi";
+$a->strings["week"] = "settimana";
+$a->strings["weeks"] = "settimane";
+$a->strings["day"] = "giorno";
+$a->strings["days"] = "giorni";
+$a->strings["hour"] = "ora";
+$a->strings["hours"] = "ore";
+$a->strings["minute"] = "minuto";
+$a->strings["minutes"] = "minuti";
+$a->strings["second"] = "secondo";
+$a->strings["seconds"] = "secondi";
+$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s fa";
+$a->strings["%1\$s's birthday"] = "Compleanno di %1\$s";
+$a->strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s";
+$a->strings["Site Admin"] = "Amministrazione sito";
+$a->strings["Address Book"] = "Rubrica";
+$a->strings["Login"] = "Accedi";
+$a->strings["Channel Manager"] = "Gestione canali";
+$a->strings["Matrix"] = "RedMatrix";
+$a->strings["Channel Home"] = "Bacheca del canale";
+$a->strings["Events"] = "Eventi";
+$a->strings["Directory"] = "Elenco pubblico";
+$a->strings["Help"] = "Guida";
+$a->strings["Mail"] = "Messaggi";
+$a->strings["Mood"] = "Umore";
+$a->strings["Chat"] = "Area chat";
+$a->strings["Probe"] = "Diagnostica";
+$a->strings["Suggest"] = "Suggerisci";
+$a->strings["Random Channel"] = "Canale casuale";
+$a->strings["Invite"] = "Invita";
+$a->strings["Features"] = "Funzionalità";
+$a->strings["Language"] = "Lingua";
+$a->strings["Post"] = "Articolo";
+$a->strings["Profile Photo"] = "Foto del profilo";
+$a->strings["Update"] = "Aggiorna";
+$a->strings["Install"] = "Installa";
+$a->strings["Purchase"] = "Acquista";
+$a->strings["New window"] = "Nuova finestra";
+$a->strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
+$a->strings["User '%s' deleted"] = "Utente '%s' eliminato";
$a->strings["Delete this item?"] = "Eliminare questo elemento?";
$a->strings["[-] show less"] = "[-] riduci";
$a->strings["[+] expand"] = "[+] mostra tutto";
@@ -757,9 +757,6 @@ $a->strings["about a year"] = "circa un anno";
$a->strings["%d years"] = "%d anni";
$a->strings[" "] = " ";
$a->strings["timeago.numbers"] = "timeago.numbers";
-$a->strings["New window"] = "Nuova finestra";
-$a->strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
-$a->strings["User '%s' deleted"] = "Utente '%s' eliminato";
$a->strings["Male"] = "Maschio";
$a->strings["Female"] = "Femmina";
$a->strings["Currently Male"] = "Al momento maschio";
@@ -772,7 +769,6 @@ $a->strings["Transsexual"] = "Transessuale";
$a->strings["Hermaphrodite"] = "Ermafrodito";
$a->strings["Neuter"] = "Neutro";
$a->strings["Non-specific"] = "Non specificato";
-$a->strings["Other"] = "Altro";
$a->strings["Undecided"] = "Indeciso";
$a->strings["Males"] = "Maschi";
$a->strings["Females"] = "Femmine";
@@ -796,11 +792,11 @@ $a->strings["Infatuated"] = "Infatuato/a";
$a->strings["Dating"] = "Disponibile a un incontro";
$a->strings["Unfaithful"] = "Infedele";
$a->strings["Sex Addict"] = "Sesso-dipendente";
-$a->strings["Friends/Benefits"] = "Amici piccanti";
+$a->strings["Friends/Benefits"] = "Amici con qualcosa in più";
$a->strings["Casual"] = "Casual";
$a->strings["Engaged"] = "Impegnato";
$a->strings["Married"] = "Sposato/a";
-$a->strings["Imaginarily married"] = "Sogna il matrimonio";
+$a->strings["Imaginarily married"] = "Con matrimonio immaginario";
$a->strings["Partners"] = "Partner";
$a->strings["Cohabiting"] = "Convivente";
$a->strings["Common law"] = "Matrimonio regolare";
@@ -817,40 +813,73 @@ $a->strings["Uncertain"] = "Incerto/a";
$a->strings["It's complicated"] = "Relazione complicata";
$a->strings["Don't care"] = "Chi se ne frega";
$a->strings["Ask me"] = "Chiedimelo";
-$a->strings["Logged out."] = "Uscita effettuata.";
-$a->strings["Failed authentication"] = "Autenticazione fallita";
-$a->strings["Login failed."] = "Accesso fallito.";
-$a->strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e articoli normali";
-$a->strings["Can view my default channel profile"] = "Può vedere il profilo predefinito del canale";
-$a->strings["Can view my photo albums"] = "Può vedere i miei album fotografici";
-$a->strings["Can view my connections"] = "Può vedere i miei contatti";
-$a->strings["Can view my file storage"] = "Può vedere i miei file condivisi";
-$a->strings["Can view my webpages"] = "Può vedere le mie pagine web";
-$a->strings["Can send me their channel stream and posts"] = "È tra i canali che seguo";
-$a->strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
-$a->strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei articoli";
-$a->strings["Can send me private mail messages"] = "Può inviarmi messaggi privati";
-$a->strings["Can post photos to my photo albums"] = "Può aggiungere foto ai miei album";
-$a->strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\"";
-$a->strings["Profiles and things other than posts/comments"] = "Profili e tutto ciò che non è articoli e commenti";
-$a->strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare articoli a tutti i contatti del canale tramite una @menzione";
-$a->strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
-$a->strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
-$a->strings["Can write to my file storage"] = "Può scrivere sul mio archivio file";
-$a->strings["Can edit my webpages"] = "Può modificare le mie pagine web";
-$a->strings["Can source my public posts in derived channels"] = "Può usare i miei articoli pubblici per creare canali derivati";
-$a->strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
-$a->strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
-$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
-$a->strings["Social Networking"] = "Social network";
-$a->strings["Mostly Public"] = "Sempre pubblico, o quasi";
-$a->strings["Restricted"] = "Con restrizioni sui follower";
-$a->strings["Private"] = "Privato";
-$a->strings["Community Forum"] = "Forum di discussione";
-$a->strings["Feed Republish"] = "Aggregatore di feed esterni";
-$a->strings["Celebrity/Soapbox"] = "Pagina per fan";
-$a->strings["Custom/Expert Mode"] = "Personalizzato - per esperti";
+$a->strings["Logout"] = "Esci";
+$a->strings["End this session"] = "Chiudi questa sessione";
+$a->strings["Home"] = "Bacheca";
+$a->strings["Your posts and conversations"] = "I tuoi articoli e conversazioni";
+$a->strings["Your profile page"] = "Il tuo profilo";
+$a->strings["Edit Profiles"] = "Modifica i profili";
+$a->strings["Manage/Edit profiles"] = "Gestisci/modifica i profili";
+$a->strings["Edit your profile"] = "Modifica il profilo";
+$a->strings["Your photos"] = "Le tue foto";
+$a->strings["Your files"] = "I tuoi file";
+$a->strings["Your chatrooms"] = "Le tue aree chat";
+$a->strings["Your bookmarks"] = "I tuoi segnalibri";
+$a->strings["Your webpages"] = "Le tue pagine web";
+$a->strings["Sign in"] = "Accedi";
+$a->strings["%s - click to logout"] = "%s - clicca per uscire";
+$a->strings["Remote authentication"] = "Autenticazione magica dal tuo server";
+$a->strings["Click to authenticate to your home hub"] = "Clicca per autenticarti sul tuo server principale";
+$a->strings["Home Page"] = "Bacheca";
+$a->strings["Register"] = "Iscriviti";
+$a->strings["Create an account"] = "Crea un account";
+$a->strings["Help and documentation"] = "Guida e documentazione";
+$a->strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi";
+$a->strings["Search site content"] = "Cerca nel sito";
+$a->strings["Channel Directory"] = "Elenco pubblico canali";
+$a->strings["Your matrix"] = "La tua rete";
+$a->strings["Mark all matrix notifications seen"] = "Segna come lette le notifiche della tua rete";
+$a->strings["Channel home"] = "Bacheca del canale";
+$a->strings["Mark all channel notifications seen"] = "Segna come lette le notifiche del canale";
+$a->strings["Connections"] = "Contatti";
+$a->strings["Notices"] = "Avvisi";
+$a->strings["Notifications"] = "Notifiche";
+$a->strings["See all notifications"] = "Vedi tutte le notifiche";
+$a->strings["Mark all system notifications seen"] = "Segna come lette le notifiche di sistema";
+$a->strings["Private mail"] = "Messaggi privati";
+$a->strings["See all private messages"] = "Guarda tutti i messaggi privati";
+$a->strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
+$a->strings["Inbox"] = "In arrivo";
+$a->strings["Outbox"] = "Inviati";
+$a->strings["Event Calendar"] = "Calendario";
+$a->strings["See all events"] = "Guarda tutti gli eventi";
+$a->strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
+$a->strings["Manage Your Channels"] = "Gestisci i tuoi canali";
+$a->strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale";
+$a->strings["Admin"] = "Amministrazione";
+$a->strings["Site Setup and Configuration"] = "Installazione e configurazione del sito";
+$a->strings["@name, #tag, content"] = "@nome, #tag, testo";
+$a->strings["Please wait..."] = "Attendere...";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
$a->strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici";
+$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!";
+$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio.";
+$a->strings["Passwords do not match."] = "Le password non corrispondono.";
+$a->strings["Registration successful. Please check your email for validation instructions."] = "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata.";
+$a->strings["Your registration is pending approval by the site owner."] = "La tua richiesta è in attesa di approvazione da parte dell'amministratore del sito.";
+$a->strings["Your registration can not be processed."] = "La tua registrazione non puo' essere processata.";
+$a->strings["Registration on this site/hub is by approval only."] = "La registrazione su questo sito è soggetta ad approvazione.";
+$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrati su un altro server affiliato</a>";
+$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Questo sito ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani.";
+$a->strings["Terms of Service"] = "Condizioni d'Uso";
+$a->strings["I accept the %s for this website"] = "Accetto le %s di questo sito";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ho più di 13 anni e accetto le %s di questo sito";
+$a->strings["Registration"] = "Registrazione";
+$a->strings["Membership on this site is by invitation only."] = "Per registrarsi su questo sito è necessario un invito.";
+$a->strings["Please enter your invitation code"] = "Inserisci il codice dell'invito";
+$a->strings["Your email address"] = "Il tuo indirizzo email";
+$a->strings["Choose a password"] = "Scegli una password";
+$a->strings["Please re-enter your password"] = "Ripeti la password per verifica";
$a->strings["Menu not found."] = "Menù non trovato.";
$a->strings["Menu element updated."] = "L'elemento del menù è stato aggiornato.";
$a->strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù.";
@@ -871,7 +900,7 @@ $a->strings["Menu Item Permissions"] = "Permessi del menu";
$a->strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
$a->strings["Link text"] = "Testo del link";
$a->strings["URL of link"] = "Indirizzo del link";
-$a->strings["Use Red magic-auth if available"] = "Usa l'autenticazione magica di RedMatrix, se disponibile";
+$a->strings["Use RedMatrix magic-auth if available"] = "Usa l'autenticazione magica di RedMatrix, se disponibile";
$a->strings["Open link in new window"] = "Apri il link in una nuova finestra";
$a->strings["Order in list"] = "Ordine dell'elenco";
$a->strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco";
@@ -881,16 +910,12 @@ $a->strings["Menu item could not be deleted."] = "L'elemento del menù non può
$a->strings["Edit Menu Element"] = "Modifica l'elemento del menù";
$a->strings["Modify"] = "Modifica";
$a->strings["Some blurb about what to do when you're new here"] = "Qualche suggerimento per i nuovi utenti su cosa fare";
-$a->strings["sent you a private message"] = "ti ha inviato un messaggio privato";
-$a->strings["added your channel"] = "ha aggiunto il tuo canale";
-$a->strings["posted an event"] = "ha creato un evento";
-$a->strings["network"] = "rete";
$a->strings["Name is required"] = "Il nome è obbligatorio";
-$a->strings["Key and Secret are required"] = "Chiave e Segreto sono richiesti";
+$a->strings["Key and Secret are required"] = "Key e Secret sono richiesti";
$a->strings["Passwords do not match. Password unchanged."] = "Le password non corrispondono. Password non cambiata.";
$a->strings["Empty passwords are not allowed. Password unchanged."] = "Le password non possono essere vuote. Password non cambiata.";
$a->strings["Password changed."] = "Password cambiata.";
-$a->strings["Password update failed. Please try again."] = "Aggiornamento password fallito. Prova ancora.";
+$a->strings["Password update failed. Please try again."] = "Modifica password fallita. Prova ancora.";
$a->strings["Not valid email."] = "Email non valida.";
$a->strings["Protected email address. Cannot change to that email."] = "È un indirizzo email riservato. Non puoi sceglierlo.";
$a->strings["System failure storing new email. Please try again."] = "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore.";
@@ -918,7 +943,7 @@ $a->strings["Confirm:"] = "Conferma:";
$a->strings["Leave password fields blank unless changing"] = "Lascia questi campi in bianco per non cambiare la password";
$a->strings["Email Address:"] = "Indirizzo email:";
$a->strings["Remove Account"] = "Elimina l'account";
-$a->strings["Remove this account from this server including all its channels"] = "Elimina questo account da questo server, inclusi tutti i canali.";
+$a->strings["Remove this account from this server including all its channels"] = "Elimina l'account da questo server, inclusi tutti i canali";
$a->strings["Warning: This action is permanent and cannot be reversed."] = "Attenzione: questa azione è permanente e non potrà più essere annullata.";
$a->strings["Off"] = "Off";
$a->strings["On"] = "On";
@@ -926,8 +951,9 @@ $a->strings["Additional Features"] = "Funzionalità opzionali";
$a->strings["Connector Settings"] = "Impostazioni del connettore";
$a->strings["No special theme for mobile devices"] = "Nessun tema per dispositivi mobili";
$a->strings["%s - (Experimental)"] = "%s - (Sperimentale)";
+$a->strings["mobile"] = "mobile";
$a->strings["Display Settings"] = "Aspetto";
-$a->strings["Display Theme:"] = "Tema per monitor:";
+$a->strings["Display Theme:"] = "Tema per schermi medio grandi:";
$a->strings["Mobile Theme:"] = "Tema per dispositivi mobili:";
$a->strings["Enable user zoom on mobile devices"] = "Attiva la possibilità di fare zoom sui dispositivi mobili";
$a->strings["Update browser every xx seconds"] = "Aggiorna il browser ogni x secondi";
@@ -936,7 +962,13 @@ $a->strings["Maximum number of conversations to load at any time:"] = "Massimo n
$a->strings["Maximum of 100 items"] = "Massimo 100";
$a->strings["Don't show emoticons"] = "Non mostrare le emoticons";
$a->strings["Link post titles to source"] = "Il link del titolo di un articolo porta al sito originale";
-$a->strings["System Page Layout Editor - (advanced)"] = "Modifica i layout di sistema - (avanzato)";
+$a->strings["System Page Layout Editor - (advanced)"] = "Modifica i layout di sistema (avanzato)";
+$a->strings["Use blog/list mode on channel page"] = "Mostra il canale nella modalità blog";
+$a->strings["(comments displayed separately)"] = "(i commenti sono mostrati separatamente)";
+$a->strings["Use blog/list mode on matrix page"] = "Mostra la tua rete in modalità blog";
+$a->strings["Channel page max height of content (in pixels)"] = "Altezza massima dei contenuti del canale (in pixel)";
+$a->strings["click to expand content exceeding this height"] = "dovrai cliccare per mostrare i contenuti di dimensioni maggiori";
+$a->strings["Matrix page max height of content (in pixels)"] = "Altezza massima dei contenuti della tua rete (in pixel)";
$a->strings["Nobody except yourself"] = "Nessuno tranne te";
$a->strings["Only those you specifically allow"] = "Solo chi riceve il mio permesso";
$a->strings["Approved connections"] = "Contatti approvati";
@@ -945,10 +977,10 @@ $a->strings["Anybody on this website"] = "Chiunque su questo sito";
$a->strings["Anybody in this network"] = "Chiunque su Red";
$a->strings["Anybody authenticated"] = "Chiunque sia autenticato";
$a->strings["Anybody on the internet"] = "Chiunque su internet";
-$a->strings["Publish your default profile in the network directory"] = "Pubblica il mio profilo predefinito sull'elenco pubblico dei canali";
+$a->strings["Publish your default profile in the network directory"] = "Mostra il mio profilo predefinito nell'elenco pubblico dei canali";
$a->strings["No"] = "No";
$a->strings["Yes"] = "Si";
-$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Vuoi essere suggerito come potenziale amico ai nuovi membri?";
+$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Vuoi essere suggerito come amico ai nuovi membri?";
$a->strings["or"] = "o";
$a->strings["Your channel address is"] = "L'indirizzo del tuo canale è";
$a->strings["Channel Settings"] = "Impostazioni del canale";
@@ -967,7 +999,7 @@ $a->strings["Simple Privacy Settings:"] = "Impostazioni di privacy semplificate"
$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>";
$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>";
$a->strings["Private - <em>default private, never open or public</em>"] = "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>";
-$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloccato - <em>bloccato in ricezione e invio</em>";
+$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>";
$a->strings["Allow others to tag your posts"] = "Permetti ad altri di taggare i tuoi articoli";
$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti";
$a->strings["Advanced Privacy Settings"] = "Impostazioni di privacy avanzate";
@@ -976,6 +1008,7 @@ $a->strings["0 or blank prevents expiration"] = "Lascia vuoto oppure 0 per non i
$a->strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
$a->strings["May reduce spam activity"] = "Serve e ridurre lo spam";
$a->strings["Default Post Permissions"] = "Permessi predefiniti per gli articoli";
+$a->strings["Channel permissions category:"] = "Categorie di permessi dei canali:";
$a->strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
$a->strings["Useful to reduce spamming"] = "Serve e ridurre lo spam";
$a->strings["Notification Settings"] = "Impostazioni di notifica";
@@ -992,12 +1025,42 @@ $a->strings["You receive a private message"] = "Ricevi un messaggio privato";
$a->strings["You receive a friend suggestion"] = "Ti viene suggerito un amico";
$a->strings["You are tagged in a post"] = "Sei taggato in un articolo";
$a->strings["You are poked/prodded/etc. in a post"] = "Ricevi un poke in un articolo";
+$a->strings["Show visual notifications including:"] = "Mostra queste notifiche a schermo:";
+$a->strings["Unseen matrix activity"] = "Nuove attività nella rete";
+$a->strings["Unseen channel activity"] = "Novità nei canali";
+$a->strings["Unseen private messages"] = "Nuovi messaggi privati";
+$a->strings["Recommended"] = "Consigliato";
+$a->strings["Upcoming events"] = "Prossimi eventi";
+$a->strings["Events today"] = "Eventi di oggi";
+$a->strings["Upcoming birthdays"] = "Prossimi compleanni";
+$a->strings["Not available in all themes"] = "Non disponibile in tutti i temi";
+$a->strings["System (personal) notifications"] = "Notifiche personali dal sistema";
+$a->strings["System info messages"] = "Notifiche di sistema";
+$a->strings["System critical alerts"] = "Avvisi critici di sistema";
+$a->strings["New connections"] = "Nuovi contatti";
+$a->strings["System Registrations"] = "Registrazioni";
+$a->strings["Notify me of events this many days in advance"] = "Giorni di anticipo per notificare gli eventi";
+$a->strings["Must be greater than 0"] = "Maggiore di 0";
$a->strings["Advanced Account/Page Type Settings"] = "Impostazioni avanzate";
-$a->strings["Change the behaviour of this account for special situations"] = "Cambia il funzionamento di questo account in situazioni particolari";
+$a->strings["Change the behaviour of this account for special situations"] = "Cambia il funzionamento di questo account per necessità particolari";
$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)";
$a->strings["Miscellaneous Settings"] = "Impostazioni varie";
$a->strings["Personal menu to display in your channel pages"] = "Menu personale da mostrare sulle pagine del tuo canale";
$a->strings["Remove this channel"] = "Elimina questo canale";
+$a->strings["Collection created."] = "L'insieme di canali è stato creato.";
+$a->strings["Could not create collection."] = "Impossibile creare l'insieme.";
+$a->strings["Collection updated."] = "Insieme aggiornato.";
+$a->strings["Create a collection of channels."] = "Crea un insieme di canali.";
+$a->strings["Collection Name: "] = "Nome dell'insieme:";
+$a->strings["Members are visible to other channels"] = "I membri potranno vedere gli altri canali dell'insieme";
+$a->strings["Collection removed."] = "Insieme rimosso.";
+$a->strings["Unable to remove collection."] = "Impossibile rimuovere l'insieme.";
+$a->strings["Collection Editor"] = "Modifica l'insieme";
+$a->strings["Members"] = "Membri";
+$a->strings["All Connected Channels"] = "Tutti i canali connessi";
+$a->strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo.";
+$a->strings["Public access denied."] = "Accesso pubblico negato.";
+$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
$a->strings["Poke/Prod"] = "Poke/Prod";
$a->strings["poke, prod or do other things to somebody"] = "Manda un poke, un prod o altro";
$a->strings["Recipient"] = "Destinatario";
@@ -1007,109 +1070,161 @@ $a->strings["Authorize application connection"] = "Autorizza la app";
$a->strings["Return to your app and insert this Securty Code:"] = "Torna alla app e inserisci questo codice di sicurezza:";
$a->strings["Please login to continue."] = "Accedi al sito per continuare.";
$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
-$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione remota non è disponibile. Hai accesso solamente a questo sito. Puoi provare ad uscire per tentare di nuovo.";
-$a->strings["Welcome %s. Remote authentication successful."] = "Ciao %s. La tua autenticazione da remoto è avvenuta con successo.";
+$a->strings["Red Matrix Server - Setup"] = "RedMatrix Server - Installazione";
+$a->strings["Could not connect to database."] = " Impossibile connettersi al database.";
+$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS.";
+$a->strings["Could not create table."] = "Impossibile creare le tabelle.";
+$a->strings["Your site database has been installed."] = "Il database del sito è stato installato.";
+$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db.";
+$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'.";
+$a->strings["System check"] = "Verifica del sistema";
+$a->strings["Next"] = "Successivo";
+$a->strings["Check again"] = "Verifica di nuovo";
+$a->strings["Database connection"] = "Connessione al database";
+$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "Per installare RedMatrix è necessario conoscere i parametri di connessione al database.";
+$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni.";
+$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare.";
+$a->strings["Database Server Name"] = "Server del database";
+$a->strings["Default is localhost"] = "'localhost' è il predefinito";
+$a->strings["Database Port"] = "Port del database";
+$a->strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard";
+$a->strings["Database Login Name"] = "Utente database";
+$a->strings["Database Login Password"] = "Password utente database";
+$a->strings["Database Name"] = "Nome database";
+$a->strings["Database Type"] = "Tipo database";
+$a->strings["Site administrator email address"] = "Indirizzo email dell'amministratore del sito";
+$a->strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web.";
+$a->strings["Website URL"] = "URL completo del sito";
+$a->strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https).";
+$a->strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo sito web";
+$a->strings["Site settings"] = "Impostazioni del sito";
+$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron.";
+$a->strings["PHP executable path"] = "Path del comando PHP";
+$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione.";
+$a->strings["Command line PHP"] = "PHP da riga di comando";
+$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".";
+$a->strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi.";
+$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione";
+$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
+$a->strings["Generate encryption keys"] = "Genera chiavi di criptazione";
+$a->strings["libCurl PHP module"] = "modulo PHP libCurl";
+$a->strings["GD graphics PHP module"] = "modulo PHP GD graphics";
+$a->strings["OpenSSL PHP module"] = "modulo PHP OpenSSL";
+$a->strings["mysqli or postgres PHP module"] = "modulo PHP per mysqli oppure prostgres";
+$a->strings["mb_string PHP module"] = "modulo PHP mb_string";
+$a->strings["mcrypt PHP module"] = "modulo PHP mcrypt";
+$a->strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite";
+$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato";
+$a->strings["proc_open"] = "proc_open";
+$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini";
+$a->strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato.";
+$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.";
+$a->strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato.";
+$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato";
+$a->strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato.";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "Errore: il modulo PHP mcrypt è richiesto ma non installato.";
+$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di RedMatrix ma non è in grado di farlo.";
+$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi.";
+$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di RedMatrix.";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
+$a->strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
+$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP.";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di RedMatrix.";
+$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione da parte di un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
+$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene.";
+$a->strings["%s is writable"] = "%s è scrivibile";
+$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "RedMatrix salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix";
+$a->strings["store is writable"] = "l'archivio è scrivibile";
+$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito.";
+$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!";
+$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server.";
+$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser.";
+$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto.";
+$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser.";
+$a->strings["SSL certificate validation"] = "Validazione del certificato SSL";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:";
+$a->strings["Url rewrite is working"] = "Url rewrite funziona correttamente";
+$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito.";
+$a->strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
+$a->strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
$a->strings["Item not available."] = "Elemento non disponibile.";
$a->strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s";
$a->strings["Invalid item."] = "Elemento non valido.";
$a->strings["Channel not found."] = "Canale non trovato.";
$a->strings["Page not found."] = "Pagina non trovata.";
-$a->strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
-$a->strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
-$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente.";
-$a->strings["Image exceeds size limit of %d"] = "La dimensione dell'immagine supera il limite di %d";
-$a->strings["Unable to process image."] = "Impossibile elaborare l'immagine.";
-$a->strings["Photo not available."] = "Foto non disponibile.";
-$a->strings["Upload File:"] = "Carica un file:";
-$a->strings["Select a profile:"] = "Seleziona un profilo:";
-$a->strings["Upload Profile Photo"] = "Carica la foto del profilo";
-$a->strings["skip this step"] = "salta questo passaggio";
-$a->strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
-$a->strings["Crop Image"] = "Ritaglia immagine";
-$a->strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione.";
-$a->strings["Done Editing"] = "Modifica terminata";
-$a->strings["Image uploaded successfully."] = "Immagine caricata con successo.";
-$a->strings["Image upload failed."] = "Il caricamento dell'immagine è fallito.";
-$a->strings["Image size reduction [%s] failed."] = "Il ridimensionamento del'immagine [%s] è fallito.";
-$a->strings["Block Name"] = "Nome del riquadro";
-$a->strings["Profile not found."] = "Profilo non trovato.";
-$a->strings["Profile deleted."] = "Profilo eliminato.";
-$a->strings["Profile-"] = "Profilo-";
-$a->strings["New profile created."] = "Il nuovo profilo è stato creato.";
-$a->strings["Profile unavailable to clone."] = "Impossibile duplicare il profilo.";
-$a->strings["Profile unavailable to export."] = "Il profilo non è disponibile per l'export.";
-$a->strings["Profile Name is required."] = "Il nome del profilo è obbligatorio .";
-$a->strings["Marital Status"] = "Stato sentimentale";
-$a->strings["Romantic Partner"] = "Partner affettivo";
-$a->strings["Likes"] = "Mi piace";
-$a->strings["Dislikes"] = "Non mi piace";
-$a->strings["Work/Employment"] = "Lavoro/impiego";
-$a->strings["Religion"] = "Religione";
-$a->strings["Political Views"] = "Orientamento politico";
-$a->strings["Gender"] = "Sesso";
-$a->strings["Sexual Preference"] = "Preferenze sessuali";
-$a->strings["Homepage"] = "Home page";
-$a->strings["Interests"] = "Interessi";
-$a->strings["Address"] = "Indirizzo";
-$a->strings["Location"] = "Posizione geografica";
-$a->strings["Profile updated."] = "Profilo aggiornato.";
-$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?";
-$a->strings["Edit Profile Details"] = "Modifica i dettagli del profilo";
-$a->strings["View this profile"] = "Guarda questo profilo";
-$a->strings["Change Profile Photo"] = "Cambia la foto del profilo";
-$a->strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni";
-$a->strings["Clone this profile"] = "Clona questo profilo";
-$a->strings["Delete this profile"] = "Elimina questo profilo";
-$a->strings["Import profile from file"] = "Importa il profilo da un file";
-$a->strings["Export profile to file"] = "Esporta il profilo in un file";
-$a->strings["Profile Name:"] = "Nome del profilo:";
-$a->strings["Your Full Name:"] = "Il tuo nome completo:";
-$a->strings["Title/Description:"] = "Titolo/descrizione:";
-$a->strings["Your Gender:"] = "Sesso:";
-$a->strings["Birthday (%s):"] = "Compleanno (%s):";
-$a->strings["Street Address:"] = "Indirizzo (via/piazza):";
-$a->strings["Locality/City:"] = "Località:";
-$a->strings["Postal/Zip Code:"] = "CAP:";
-$a->strings["Country:"] = "Nazione:";
-$a->strings["Region/State:"] = "Regione/stato:";
-$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Stato sentimentale:";
-$a->strings["Who: (if applicable)"] = "Con chi: (se possibile)";
-$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com";
-$a->strings["Since [date]:"] = "dal [data]:";
-$a->strings["Homepage URL:"] = "Indirizzo home page:";
-$a->strings["Religious Views:"] = "Orientamento religioso:";
-$a->strings["Keywords:"] = "Parole chiave, tag:";
-$a->strings["Example: fishing photography software"] = "Per esempio: pesca fotografia programmazione";
-$a->strings["Used in directory listings"] = "Visibile nell'elenco pubblico di canali";
-$a->strings["Tell us about yourself..."] = "Raccontaci di te...";
-$a->strings["Hobbies/Interests"] = "Hobby/interessi";
-$a->strings["Contact information and Social Networks"] = "Contatti personali e i tuoi social network";
-$a->strings["My other channels"] = "I miei altri canali";
-$a->strings["Musical interests"] = "Interessi musicali";
-$a->strings["Books, literature"] = "Libri, letteratura";
-$a->strings["Television"] = "Televisione";
-$a->strings["Film/dance/culture/entertainment"] = "Film/danza/cultura/intrattenimento";
-$a->strings["Love/romance"] = "Amore";
-$a->strings["Work/employment"] = "Lavoro/impiego";
-$a->strings["School/education"] = "Scuola/educazione";
-$a->strings["This is your default profile."] = "Questo è il tuo profilo predefinito.";
-$a->strings["Age: "] = "Età:";
-$a->strings["Edit/Manage Profiles"] = "Modifica/gestisci i profili";
-$a->strings["Add profile things"] = "Aggiungi oggetti al profilo";
-$a->strings["Include desirable objects in your profile"] = "Aggiungi oggetti interessanti al tuo profilo";
-$a->strings["Bookmark added"] = "Segnalibro aggiunto";
-$a->strings["My Bookmarks"] = "I miei segnalibri";
-$a->strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
+$a->strings["Export Channel"] = "Esporta il canale";
+$a->strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Esporta le informazioni di base del tuo canale in un piccolo file. E' utile per avere un salvataggio di sicurezza dei tuoi contatti, del tuo profilo ed altri dati di base. Può essere usato per importare il tuo canale su un nuovo server, ma\tnon include i contenuti, per esempio articoli e foto.";
+$a->strings["Export Content"] = "Esporta i contenuti";
+$a->strings["Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Esporta i dati del canale e i contenuti in un file in formato JSON. E' un salvataggio dei tuoi contatti, dei dati del profilo e anche di tutti i contenuti. Questa non è la soluzione opportuna per importare il tuo canale su un nuovo server, visto che il file potrebbe avere dimensioni NOTEVOLI. Devi pazientare - ci vorranno alcuni minuti per raccogliere i dati prima che inizi lo scaricamento.";
+$a->strings["No potential page delegates located."] = "Impossibile trovare delegati per questa pagina.";
+$a->strings["Delegate Page Management"] = "Gestione delegati per la pagina";
+$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "I Delegati sono in grando di gestire tutti gli aspetti di questa pagina, tranne per i settaggi di base dell'account. Non delegare il tuo account personale a nessuno di cui non ti fidi ciecamente.";
+$a->strings["Existing Page Managers"] = "Gestori attuali della pagina";
+$a->strings["Existing Page Delegates"] = "Delegati attuali della pagina";
+$a->strings["Potential Delegates"] = "Delegati potenziali";
+$a->strings["Remove"] = "Rimuovi";
+$a->strings["Add"] = "Aggiungi";
+$a->strings["No entries."] = "Nessun risultato.";
+$a->strings["Version %s"] = "Versione %s";
+$a->strings["Installed plugins/addons/apps:"] = "App e componenti installati:";
+$a->strings["No installed plugins/addons/apps"] = "Nessuna app o componente installato";
+$a->strings["Red"] = "RedMatrix";
+$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Questo è un hub di RedMatrix - una rete cooperativa e decentralizzata di siti ad elevata privacy. ";
+$a->strings["Tag: "] = "Tag: ";
+$a->strings["Last background fetch: "] = "Ultima acquisizione:";
+$a->strings["Running at web location"] = "In esecuzione sull'indirizzo web";
+$a->strings["Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more about the Red Matrix."] = "Visita <a href=\"https://redmatrix.me\">RedMatrix.me</a> per scoprire di più su Red Matrix.";
+$a->strings["Bug reports and issues: please visit"] = "Per segnalare bug e problemi: visita";
+$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com";
+$a->strings["Site Administrators"] = "Amministratori del sito";
+$a->strings["Failed to create source. No channel selected."] = "Impossibile creare la sorgente. Nessun canale selezionato.";
+$a->strings["Source created."] = "Sorgente creata.";
+$a->strings["Source updated."] = "Sorgente aggiornata.";
+$a->strings["*"] = "*";
+$a->strings["Manage remote sources of content for your channel."] = "Gestisci le sorgenti dei contenuti del tuo canale.";
+$a->strings["New Source"] = "Nuova sorgente";
+$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente.";
+$a->strings["Only import content with these words (one per line)"] = "Importa solo i contenuti che hanno queste parole (una per riga)";
+$a->strings["Leave blank to import all public content"] = "Lascia vuoto per importare tutti i contenuti pubblici";
+$a->strings["Channel Name"] = "Nome del canale";
+$a->strings["Source not found."] = "Sorgente non trovata.";
+$a->strings["Edit Source"] = "Modifica la sorgente";
+$a->strings["Delete Source"] = "Elimina la sorgente";
+$a->strings["Source removed"] = "Sorgente eliminata";
+$a->strings["Unable to remove source."] = "Impossibile rimuovere la sorgente.";
$a->strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
$a->strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
$a->strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
$a->strings["Visible To"] = "Visibile a";
$a->strings["All Connections"] = "Tutti i contatti";
+$a->strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio.";
+$a->strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
+$a->strings["Event not found."] = "Evento non trovato.";
+$a->strings["l, F j"] = "l j F";
+$a->strings["Edit event"] = "Modifica l'evento";
+$a->strings["Create New Event"] = "Crea un nuovo evento";
+$a->strings["Previous"] = "Precendente";
+$a->strings["Export"] = "Esporta";
+$a->strings["Event details"] = "Dettagli evento";
+$a->strings["Starting date and Title are required."] = "Titolo e data d'inizio sono obbligatori.";
+$a->strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)";
+$a->strings["Event Starts:"] = "Inizio:";
+$a->strings["Required"] = "Obbligatorio";
+$a->strings["Finish date/time is not known or not relevant"] = "La data/ora di fine non è rilevante";
+$a->strings["Event Finishes:"] = "Fine:";
+$a->strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
+$a->strings["Description:"] = "Descrizione:";
+$a->strings["Title:"] = "Titolo:";
+$a->strings["Share this event"] = "Condividi questo evento";
$a->strings["Public Sites"] = "Siti pubblici";
-$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Gli indirizzi elencati permettono la registrazione su RedMatrix. Tutti i siti di questa rete sono interconnessi, quindi essere registrati su uno è come essere registrati ovunque. Alcuni potrebbero richiedere un'iscrizione a pagamento o prevedere tipi diversi di abbonamento. Potrai trovare maggiori informazioni al riguardo visitando ciascun sito.";
+$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Gli indirizzi elencati permettono la registrazione su RedMatrix. Tutti i siti di questa rete sono interconnessi, quindi essere registrati su uno è come essere registrati ovunque. Alcuni potrebbero richiedere un'iscrizione a pagamento o prevedere diverse tipologie di abbonamento. Eventualmente potrai trovare maggiori informazioni visitando ciascun sito.";
$a->strings["Site URL"] = "URL del sito";
$a->strings["Access Type"] = "Tipo di accesso";
$a->strings["Registration Policy"] = "Politica di registrazione";
+$a->strings["Location"] = "Posizione geografica";
$a->strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina.";
$a->strings["Insufficient permissions. Request redirected to profile page."] = "Permessi insufficienti. Sarà visualizzata la pagina del profilo.";
$a->strings["Select a bookmark folder"] = "Scegli una cartella di segnalibri";
@@ -1120,34 +1235,22 @@ $a->strings["Or enter new bookmark folder name"] = "O inserisci il nome di una n
$a->strings["Room not found"] = "Area chat non trovata";
$a->strings["Leave Room"] = "Lascia l'area chat";
$a->strings["Delete This Room"] = "Elimina questa area chat";
-$a->strings["I am away right now"] = "Non sono presente al momento";
+$a->strings["I am away right now"] = "Non sono presente";
$a->strings["I am online"] = "Sono online";
$a->strings["Bookmark this room"] = "Aggiungi l'area chat ai segnalibri";
$a->strings["New Chatroom"] = "Nuova area chat";
$a->strings["Chatroom Name"] = "Nome dell'area chat";
$a->strings["%1\$s's Chatrooms"] = "Le aree chat di %1\$s";
-$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!";
-$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio.";
-$a->strings["Passwords do not match."] = "Le password non corrispondono.";
-$a->strings["Registration successful. Please check your email for validation instructions."] = "La registrazione è terminata correttamente. Per continuare controlla l'email che ti è stata inviata.";
-$a->strings["Your registration is pending approval by the site owner."] = "La tua richiesta è in attesa di approvazione da parte dell'amministratore del sito.";
-$a->strings["Your registration can not be processed."] = "La tua registrazione non puo' essere acquisita.";
-$a->strings["Registration on this site/hub is by approval only."] = "La registrazione su questo sito è soggetta ad approvazione.";
-$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrati su un altro server affiliato</a>";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Questo sito ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani.";
-$a->strings["Terms of Service"] = "Condizioni d'Uso";
-$a->strings["I accept the %s for this website"] = "Accetto le %s di questo sito";
-$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ho più di 13 anni e accetto le %s di questo sito";
-$a->strings["Registration"] = "Registrazione";
-$a->strings["Membership on this site is by invitation only."] = "Per registrarsi su questo sito è necessario un invito.";
-$a->strings["Please enter your invitation code"] = "Inserisci il codice dell'invito";
-$a->strings["Your email address"] = "Il tuo indirizzo email";
-$a->strings["Choose a password"] = "Scegli una password";
-$a->strings["Please re-enter your password"] = "Ripeti la password per verifica";
$a->strings["Away"] = "Assente";
$a->strings["Online"] = "Online";
-$a->strings["Please login."] = "Accedi.";
-$a->strings["Red Matrix - Guests: Username: {your email address}, Password: +++"] = "Accesso a RedMatrix. Inserisci l'email con cui sei registrato e la password.";
+$a->strings["Please login."] = "Effettua l'accesso.";
+$a->strings["Item not found"] = "Elemento non trovato";
+$a->strings["Item is not editable"] = "L'elemento non è modificabile";
+$a->strings["Edit post"] = "Modifica articolo";
+$a->strings["Delete item?"] = "Eliminare questo elemento?";
+$a->strings["Insert YouTube video"] = "Inserisci video da YouTube";
+$a->strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]";
+$a->strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]";
$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password.";
$a->strings["Remove This Channel"] = "Elimina questo canale";
$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Questo comando rimuoverà completamente il canale che stai usando. Una volta fatto non sarà più possibile ripristinarlo.";
@@ -1164,21 +1267,22 @@ $a->strings["Authentication failed."] = "Autenticazione fallita.";
$a->strings["Remote Authentication"] = "Autenticazione a distanza";
$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)";
$a->strings["Authenticate"] = "Autenticazione";
-$a->strings["Continue"] = "Continua";
-$a->strings["Premium Channel Setup"] = "Canale premium - installazione";
-$a->strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium";
-$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida o il sistema di pagamento ecc.";
-$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:";
-$a->strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà connettersi:";
-$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina.";
-$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)";
-$a->strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni";
-$a->strings["No such group"] = "Impossibile trovare l'insieme";
-$a->strings["Search Results For:"] = "Cerca risultati con:";
-$a->strings["Collection is empty"] = "L'insieme di canali è vuoto";
-$a->strings["Collection: "] = "Insieme:";
-$a->strings["Connection: "] = "Connessione:";
-$a->strings["Invalid connection."] = "Connessione non valida.";
+$a->strings["No valid account found."] = "Nessun account valido trovato.";
+$a->strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
+$a->strings["Site Member (%s)"] = "Utente del sito (%s)";
+$a->strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
+$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata.";
+$a->strings["Password Reset"] = "Reimposta la password";
+$a->strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
+$a->strings["Your new password is"] = "La tua nuova password è";
+$a->strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
+$a->strings["click here to login"] = "clicca qui per accedere";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
+$a->strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
+$a->strings["Forgot your Password?"] = "Hai dimenticato la password?";
+$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
+$a->strings["Email Address"] = "Indirizzo email";
+$a->strings["Reset"] = "Reimposta";
$a->strings["Could not access contact record."] = "Non è possibile accedere alle informazioni sul contatto.";
$a->strings["Could not locate selected profile."] = "Non riesco a trovare il profilo selezionato.";
$a->strings["Connection updated."] = "Contatto aggiornato.";
@@ -1202,8 +1306,10 @@ $a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
$a->strings["Edit connection"] = "Modifica il contatto";
$a->strings["Search your connections"] = "Cerca tra i contatti";
$a->strings["Finding: "] = "Ricerca: ";
-$a->strings["Edit post"] = "Modifica articolo";
-$a->strings["is now connected to"] = "adesso è in contatto con";
+$a->strings["sent you a private message"] = "ti ha inviato un messaggio privato";
+$a->strings["added your channel"] = "ha aggiunto il tuo canale";
+$a->strings["posted an event"] = "ha creato un evento";
+$a->strings["is now connected to"] = "ha come nuovo contatto";
$a->strings["Could not access address book record."] = "Impossibile accedere alle informazioni della rubrica.";
$a->strings["Refresh failed - channel is currently unavailable."] = "Il canale non è disponibile - impossibile aggiornare.";
$a->strings["Channel has been unblocked"] = "Il canale è stato sbloccato";
@@ -1238,9 +1344,9 @@ $a->strings["Hide or Unhide this connection"] = "Per nascondere o meno questo co
$a->strings["Delete this connection"] = "Elimina questo contatto";
$a->strings["Approve this connection"] = "Approva questo contatto";
$a->strings["Accept connection to allow communication"] = "Entra in contatto per poter comunicare";
-$a->strings["Automatic Permissions Settings"] = "Permessi predefiniti";
$a->strings["Connections: settings for %s"] = "Contatti: impostazioni per %s";
-$a->strings["When receiving a channel introduction, any permissions provided here will be applied to the new connection automatically and the introduction approved. Leave this page if you do not wish to use this feature."] = "Hai ricevuto da un canale una richiesta di entrare in contatto, se prosegui la richiesta sarà approvata e saranno applicati i permessi mostrati. Lascia questa pagina se non vuoi proseguire.";
+$a->strings["Apply these permissions automatically"] = "Applica automaticamente questi permessi";
+$a->strings["Apply the permissions indicated on this page to all new connections."] = "Applica i permessi indicati su questa pagina a tutti i nuovi contatti.";
$a->strings["Slide to adjust your degree of friendship"] = "Trascina per restringere il grado di amicizia da mostrare";
$a->strings["inherited"] = "derivato";
$a->strings["Connection has no individual permissions!"] = "Non hai assegnato permessi individuali a questo contatto!";
@@ -1276,203 +1382,131 @@ $a->strings["Currently archived"] = "Attualmente archiviato";
$a->strings["Currently pending"] = "Attualmente da approvare";
$a->strings["Hide this contact from others"] = "Nascondi questo contatto agli altri";
$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Le risposte ai tuoi articoli pubblici <strong>potrebbero</strong> restare comunque visibili";
-$a->strings["No potential page delegates located."] = "Impossibile trovare delegati per questa pagina.";
-$a->strings["Delegate Page Management"] = "Gestione delegati per la pagina";
-$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "I Delegati sono in grando di gestire tutti gli aspetti di questa pagina, tranne per i settaggi di base dell'account. Non delegare il tuo account personale a nessuno di cui non ti fidi ciecamente.";
-$a->strings["Existing Page Managers"] = "Gestori attuali della pagina";
-$a->strings["Existing Page Delegates"] = "Delegati attuali della pagina";
-$a->strings["Potential Delegates"] = "Delegati potenziali";
-$a->strings["Remove"] = "Rimuovi";
-$a->strings["Add"] = "Aggiungi";
-$a->strings["No entries."] = "Nessun risultato.";
-$a->strings["Public access denied."] = "Accesso pubblico negato.";
-$a->strings["Gender: "] = "Sesso:";
-$a->strings["Finding:"] = "Ricerca:";
-$a->strings["next page"] = "pagina successiva";
-$a->strings["previous page"] = "pagina precedente";
-$a->strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualcosa potrebbe essere nascosto).";
-$a->strings["Status: "] = "Stato:";
-$a->strings["Sexual Preference: "] = "Preferenza sessuale:";
-$a->strings["Homepage: "] = "Homepage:";
-$a->strings["Hometown: "] = "Città dove vivo:";
-$a->strings["About: "] = "Informazioni:";
-$a->strings["Keywords: "] = "Parole chiave:";
-$a->strings["This site is not a directory server"] = "Questo sito non fornisce l'elenco generale dei canali";
-$a->strings["Red Matrix Server - Setup"] = "RedMatrix Server - Installazione";
-$a->strings["Could not connect to database."] = " Impossibile connettersi al database.";
-$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS.";
-$a->strings["Could not create table."] = "Impossibile creare le tabelle.";
-$a->strings["Your site database has been installed."] = "Il database del sito è stato installato.";
-$a->strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "Potresti dover importare il file 'install/database.sql' manualmente usando phpmyadmin o mysql.";
-$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'.";
-$a->strings["System check"] = "Verifica del sistema";
-$a->strings["Next"] = "Successivo";
-$a->strings["Check again"] = "Verifica di nuovo";
-$a->strings["Database connection"] = "Connessione al database";
-$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "Per installare RedMatrix è necessario conoscere i parametri di connessione al database.";
-$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni.";
-$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare.";
-$a->strings["Database Server Name"] = "Server del database";
-$a->strings["Default is localhost"] = "'localhost' è il predefinito";
-$a->strings["Database Port"] = "Port del database";
-$a->strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard";
-$a->strings["Database Login Name"] = "Utente database";
-$a->strings["Database Login Password"] = "Password utente database";
-$a->strings["Database Name"] = "Nome database";
-$a->strings["Site administrator email address"] = "Indirizzo email dell'amministratore del sito";
-$a->strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web.";
-$a->strings["Website URL"] = "URL completo del sito";
-$a->strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https).";
-$a->strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo sito web";
-$a->strings["Site settings"] = "Impostazioni del sito";
-$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron.";
-$a->strings["PHP executable path"] = "Path del comando PHP";
-$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione.";
-$a->strings["Command line PHP"] = "PHP da riga di comando";
-$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".";
-$a->strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi.";
-$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione";
-$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
-$a->strings["Generate encryption keys"] = "Genera chiavi di criptazione";
-$a->strings["libCurl PHP module"] = "modulo PHP libCurl";
-$a->strings["GD graphics PHP module"] = "modulo PHP GD graphics";
-$a->strings["OpenSSL PHP module"] = "modulo PHP OpenSSL";
-$a->strings["mysqli PHP module"] = "modulo PHP mysqli";
-$a->strings["mb_string PHP module"] = "modulo PHP mb_string";
-$a->strings["mcrypt PHP module"] = "modulo PHP mcrypt";
-$a->strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite";
-$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato";
-$a->strings["proc_open"] = "proc_open";
-$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini";
-$a->strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato.";
-$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.";
-$a->strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato.";
-$a->strings["Error: mysqli PHP module required but not installed."] = "Errore: il modulo mysqli di PHP è richiesto ma non installato.";
-$a->strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato.";
-$a->strings["Error: mcrypt PHP module required but not installed."] = "Errore: il modulo PHP mcrypt è richiesto ma non installato.";
-$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella principale del tuo web server ma non è in grado di farlo.";
-$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi.";
-$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di RedMatrix.";
-$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
-$a->strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
-$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP.";
-$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di RedMatrix.";
-$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione come un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
-$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene.";
-$a->strings["%s is writable"] = "%s è scrivibile";
-$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "RedMatrix usa un archivio per salvare i file caricati. Il server deve avere i diritti di scrittura sulla cartella dell'archivio che si trova dentro la cartella principale di RedMatrix";
-$a->strings["store is writable"] = "l'archivio è scrivibile";
-$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito.";
-$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!";
-$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server.";
-$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser.";
-$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ciò può creare problemi di usabilità molto gravi (non solo sul tuo sito), quindi dobbiamo insistere su questo punto.";
-$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser.";
-$a->strings["SSL certificate validation"] = "Validazione del certificato SSL";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server.";
-$a->strings["Url rewrite is working"] = "Url rewrite funziona correttamente";
-$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito.";
-$a->strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
-$a->strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
-$a->strings["Item not found"] = "Elemento non trovato";
-$a->strings["Edit Block"] = "Modifica il riquadro";
-$a->strings["Delete block?"] = "Vuoi eliminare questo riquadro?";
-$a->strings["Insert YouTube video"] = "Inserisci video da YouTube";
-$a->strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]";
-$a->strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]";
-$a->strings["Delete Block"] = "Elimina il riquadro";
-$a->strings["Layout updated."] = "Layout aggiornato.";
-$a->strings["Edit System Page Description"] = "Modifica i layout di sistema";
-$a->strings["Layout not found."] = "Layout non trovato.";
-$a->strings["Module Name:"] = "Nome del modulo:";
-$a->strings["Layout Help"] = "Guida al layout";
-$a->strings["Edit Layout"] = "Modifica il layout";
-$a->strings["Delete layout?"] = "Vuoi eliminare questo layout?";
-$a->strings["Delete Layout"] = "Elimina il layout";
-$a->strings["Item is not editable"] = "L'elemento non è modificabile";
-$a->strings["Delete item?"] = "Eliminare questo elemento?";
-$a->strings["Edit Webpage"] = "Modifica la pagina web";
-$a->strings["Delete webpage?"] = "Vuoi eliminare questa pagina web?";
-$a->strings["Delete Webpage"] = "Elimina la pagina web";
-$a->strings["Version %s"] = "Versione %s";
-$a->strings["Installed plugins/addons/apps:"] = "App e componenti installati:";
-$a->strings["No installed plugins/addons/apps"] = "Nessuna app o componente installato";
-$a->strings["Red"] = "RedMatrix";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Questo è un hub di RedMatrix - una rete cooperativa e decentralizzata di siti ad elevata privacy. ";
-$a->strings["Running at web location"] = "In esecuzione sull'indirizzo web";
-$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Red Matrix."] = "Visita <a href=\"http://getzot.com\">GetZot.com</a> per scoprire il progetto RedMatrix.";
-$a->strings["Bug reports and issues: please visit"] = "Per segnalare bug e problemi: visita";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com";
-$a->strings["Site Administrators"] = "Amministratori del sito";
+$a->strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
+$a->strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
+$a->strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto.";
+$a->strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito.";
+$a->strings["Message deleted."] = "Messaggio eliminato.";
+$a->strings["Message recalled."] = "Messaggio revocato.";
+$a->strings["Send Private Message"] = "Invia un messaggio privato";
+$a->strings["To:"] = "A:";
+$a->strings["Subject:"] = "Oggetto:";
+$a->strings["Your message:"] = "Il tuo messaggio:";
+$a->strings["Send"] = "Invia";
+$a->strings["Message not found."] = "Messaggio non trovato.";
+$a->strings["Delete message"] = "Elimina il messaggio";
+$a->strings["Recall message"] = "Revoca il messaggio";
+$a->strings["Message has been recalled."] = "Il messaggio è stato revocato.";
+$a->strings["Private Conversation"] = "Conversazione privata";
+$a->strings["Delete conversation"] = "Elimina la conversazione";
+$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcuna tecnologia per comunicare in modo sicuro. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente.";
+$a->strings["Send Reply"] = "Invia la risposta";
$a->strings["Page owner information could not be retrieved."] = "Impossibile ottenere informazioni sul proprietario della pagina.";
$a->strings["Album not found."] = "Album non trovato.";
$a->strings["Delete Album"] = "Elimina album";
$a->strings["Delete Photo"] = "Elimina foto";
$a->strings["No photos selected"] = "Nessuna foto selezionata";
$a->strings["Access to this item is restricted."] = "Questo elemento non è visibile a tutti.";
-$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Hai usato %1$.2f Mb di %2$.2f Mb disponibili per le foto.";
-$a->strings["You have used %1$.2f Mbytes of photo storage."] = "Hai usato %1$.2f Mb di spazio per le foto.";
+$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile.";
+$a->strings["%1$.2f MB photo storage used."] = "Hai usato %1$.2f Mb del tuo spazio disponibile.";
$a->strings["Upload Photos"] = "Carica foto";
-$a->strings["New album name: "] = "Nome del nuovo album: ";
-$a->strings["or existing album name: "] = "o nome di un album esistente: ";
+$a->strings["Enter a new album name"] = "Inserisci il nome di un nuovo album";
+$a->strings["or select an existing one (doubleclick)"] = "o seleziona uno esistente (doppio click)";
$a->strings["Do not show a status post for this upload"] = "Non creare un messaggio di stato per questo caricamento";
$a->strings["Album name could not be decoded"] = "Non è stato possibile leggere il nome dell'album";
$a->strings["Contact Photos"] = "Foto dei contatti";
-$a->strings["Edit Album"] = "Modifica album";
$a->strings["Show Newest First"] = "Prima i più recenti";
$a->strings["Show Oldest First"] = "Prima i più vecchi";
$a->strings["View Photo"] = "Guarda la foto";
+$a->strings["Edit Album"] = "Modifica album";
$a->strings["Permission denied. Access to this item may be restricted."] = "Permesso negato. L'accesso a questo elemento può essere stato limitato.";
$a->strings["Photo not available"] = "Foto non disponibile";
$a->strings["Use as profile photo"] = "Usa come foto del profilo";
+$a->strings["Private Photo"] = "Foto privata";
$a->strings["View Full Size"] = "Vedi nelle dimensioni originali";
$a->strings["Edit photo"] = "Modifica la foto";
$a->strings["Rotate CW (right)"] = "Ruota (senso orario)";
$a->strings["Rotate CCW (left)"] = "Ruota (senso antiorario)";
-$a->strings["New album name"] = "Nuovo nome dell'album";
$a->strings["Caption"] = "Titolo";
$a->strings["Add a Tag"] = "Aggiungi tag";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Per esempio: @luca, @Maria_Bianchi, @bob@example.com, #California, #camping";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Esempio: @bob, @Barbara_Jensen, @jim@example.com";
+$a->strings["Flag as adult in album view"] = "Marca come 'per adulti'";
$a->strings["In This Photo:"] = "In questa foto:";
$a->strings["View Album"] = "Guarda l'album";
$a->strings["Recent Photos"] = "Foto recenti";
-$a->strings["Failed to create source. No channel selected."] = "Impossibile creare la sorgente. Nessun canale selezionato.";
-$a->strings["Source created."] = "Sorgente creata.";
-$a->strings["Source updated."] = "Sorgente aggiornata.";
-$a->strings["*"] = "*";
-$a->strings["Manage remote sources of content for your channel."] = "Gestisci le sorgenti dei contenuti del tuo canale.";
-$a->strings["New Source"] = "Nuova sorgente";
-$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente.";
-$a->strings["Only import content with these words (one per line)"] = "Importa solo i contenuti che hanno queste parole (una per riga)";
-$a->strings["Leave blank to import all public content"] = "Lascia vuoto per importare tutti i contenuti pubblici";
-$a->strings["Channel Name"] = "Nome del canale";
-$a->strings["Source not found."] = "Sorgente non trovata.";
-$a->strings["Edit Source"] = "Modifica la sorgente";
-$a->strings["Delete Source"] = "Elimina la sorgente";
-$a->strings["Source removed"] = "Sorgente eliminata";
-$a->strings["Unable to remove source."] = "Impossibile rimuovere la sorgente.";
-$a->strings["- select -"] = "- scegli -";
-$a->strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
-$a->strings["Event not found."] = "Evento non trovato.";
-$a->strings["l, F j"] = "l j F";
-$a->strings["Edit event"] = "Modifica l'evento";
-$a->strings["Create New Event"] = "Crea un nuovo evento";
-$a->strings["Previous"] = "Precendente";
-$a->strings["hour:minute"] = "ora:minuti";
-$a->strings["Event details"] = "Dettagli evento";
-$a->strings["Format is %s %s."] = "Il formato è %s %s";
-$a->strings["Starting date and Title are required."] = "Titolo e data d'inizio sono obbligatori.";
-$a->strings["Event Starts:"] = "Inizio:";
-$a->strings["Required"] = "Obbligatorio";
-$a->strings["Finish date/time is not known or not relevant"] = "La data/ora di fine non è rilevante";
-$a->strings["Event Finishes:"] = "Fine:";
-$a->strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
-$a->strings["Description:"] = "Descrizione:";
-$a->strings["Title:"] = "Titolo:";
-$a->strings["Share this event"] = "Condividi questo evento";
+$a->strings["Bookmark added"] = "Segnalibro aggiunto";
+$a->strings["My Bookmarks"] = "I miei segnalibri";
+$a->strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
+$a->strings["This site is not a directory server"] = "Questo sito non è un server di elenchi pubblici";
+$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "Accesso a Red Matrix. {Inserisci l'email con cui sei registrato e la password.}";
+$a->strings["network"] = "rete";
+$a->strings["Block Name"] = "Nome del riquadro";
+$a->strings["Edit Block"] = "Modifica il riquadro";
+$a->strings["Delete block?"] = "Vuoi eliminare questo riquadro?";
+$a->strings["Delete Block"] = "Elimina il riquadro";
+$a->strings["Layout updated."] = "Layout aggiornato.";
+$a->strings["Edit System Page Description"] = "Modifica i layout di sistema";
+$a->strings["Layout not found."] = "Layout non trovato.";
+$a->strings["Module Name:"] = "Nome del modulo:";
+$a->strings["Layout Help"] = "Guida al layout";
+$a->strings["Edit Layout"] = "Modifica il layout";
+$a->strings["Delete layout?"] = "Vuoi eliminare questo layout?";
+$a->strings["Delete Layout"] = "Elimina il layout";
+$a->strings["Red Matrix - &quot;The Network&quot;"] = "RedMatrix - &quot;La tua rete&quot;";
+$a->strings["Welcome to %s"] = "%s ti dà il benvenuto";
+$a->strings["Edit Webpage"] = "Modifica la pagina web";
+$a->strings["Delete webpage?"] = "Vuoi eliminare questa pagina web?";
+$a->strings["Delete Webpage"] = "Elimina la pagina web";
+$a->strings["webpage"] = "pagina web";
+$a->strings["block"] = "riquadro";
+$a->strings["layout"] = "layout";
+$a->strings["%s element installed"] = "%s elemento installato";
+$a->strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
+$a->strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
+$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente.";
+$a->strings["Image exceeds size limit of %d"] = "La dimensione dell'immagine supera il limite di %d";
+$a->strings["Unable to process image."] = "Impossibile elaborare l'immagine.";
+$a->strings["Photo not available."] = "Foto non disponibile.";
+$a->strings["Upload File:"] = "Carica un file:";
+$a->strings["Select a profile:"] = "Seleziona un profilo:";
+$a->strings["Upload Profile Photo"] = "Carica la foto del profilo";
+$a->strings["skip this step"] = "salta questo passaggio";
+$a->strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
+$a->strings["Crop Image"] = "Ritaglia immagine";
+$a->strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione.";
+$a->strings["Done Editing"] = "Modifica terminata";
+$a->strings["Image uploaded successfully."] = "Immagine caricata con successo.";
+$a->strings["Image upload failed."] = "Il caricamento dell'immagine è fallito.";
+$a->strings["Image size reduction [%s] failed."] = "Il ridimensionamento del'immagine [%s] è fallito.";
+$a->strings["Like/Dislike"] = "Mi piace/Non mi piace";
+$a->strings["This action is restricted to members."] = "Questa funzionalità è riservata agli iscritti.";
+$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "Per favore <a href=\"rmagic\">accedi con il tuo identificativo RedMatrix</a> o <a href=\"register\">registrati su RedMatrix</a> per continuare.";
+$a->strings["Invalid request."] = "Richiesta non valida.";
+$a->strings["thing"] = "oggetto";
+$a->strings["Channel unavailable."] = "Canale non trovato.";
+$a->strings["Previous action reversed."] = "Il comando precedente è stato annullato.";
+$a->strings["Action completed."] = "Comando completato.";
+$a->strings["Thank you."] = "Grazie.";
+$a->strings["Help:"] = "Guida:";
+$a->strings["Not Found"] = "Non disponibile";
+$a->strings["Thing updated"] = "L'oggetto è stato aggiornato";
+$a->strings["Object store: failed"] = "Impossibile memorizzare l'oggetto.";
+$a->strings["Thing added"] = "L'oggetto è stato aggiunto";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+$a->strings["Show Thing"] = "Mostra l'oggetto";
+$a->strings["item not found."] = "non trovato.";
+$a->strings["Edit Thing"] = "Modifica l'oggetto";
+$a->strings["Select a profile"] = "Scegli un profilo";
+$a->strings["Post an activity"] = "Pubblica un'attività";
+$a->strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi segue il relativo canale";
+$a->strings["Name of thing e.g. something"] = "Nome dell'oggetto";
+$a->strings["URL of thing (optional)"] = "Indirizzo web dell'oggetto (opzionale)";
+$a->strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'oggetto (facoltativo)";
+$a->strings["Add Thing to your Profile"] = "Aggiungi l'oggetto al tuo profilo";
+$a->strings["Contact not found."] = "Contatto non trovato.";
+$a->strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato.";
+$a->strings["Suggest Friends"] = "Suggerisci amici";
+$a->strings["Suggest a friend for %s"] = "Suggerisci un amico a %s";
$a->strings["Permission Denied."] = "Permesso negato.";
$a->strings["File not found."] = "File non trovato.";
$a->strings["Edit file permissions"] = "Modifica i permessi del file";
@@ -1481,28 +1515,118 @@ $a->strings["Include all files and sub folders"] = "Includi tutti i file e le so
$a->strings["Return to file list"] = "Torna all'elenco dei file";
$a->strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un articolo";
$a->strings["Copy/paste this URL to link file from a web page"] = "Copia/incolla questo indirizzo in una pagina web per avere un link al file";
+$a->strings["Continue"] = "Continua";
+$a->strings["Premium Channel Setup"] = "Canale premium - installazione";
+$a->strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium";
+$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc.";
+$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:";
+$a->strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà seguire il canale:";
+$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina.";
+$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)";
+$a->strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni";
+$a->strings["- select -"] = "- scegli -";
+$a->strings["Location not found."] = "Indirizzo non trovato.";
+$a->strings["Primary location cannot be removed."] = "L'indirizzo principale non può essere rimosso.";
+$a->strings["No locations found."] = "Nessun indirizzo trovato.";
+$a->strings["Manage Channel Locations"] = "Modifica gli indirizzi del canale";
+$a->strings["Location (address)"] = "Indirizzo";
+$a->strings["Primary Location"] = "Indirizzo primario";
+$a->strings["Drop location"] = "Elimina un indirizzo";
$a->strings["Channel added."] = "Canale aggiunto.";
-$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
-$a->strings["Contact not found."] = "Contatto non trovato.";
-$a->strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato.";
-$a->strings["Suggest Friends"] = "Suggerisci amici";
-$a->strings["Suggest a friend for %s"] = "Suggerisci un amico a %s";
-$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo è un sito nuovo, riprova tra 24 ore.";
-$a->strings["Collection created."] = "L'insieme di canali è stato creato.";
-$a->strings["Could not create collection."] = "Impossibile creare l'insieme.";
-$a->strings["Collection updated."] = "Insieme aggiornato.";
-$a->strings["Create a collection of channels."] = "Crea un insieme di canali.";
-$a->strings["Collection Name: "] = "Nome dell'insieme:";
-$a->strings["Members are visible to other channels"] = "I membri saranno visibili agli altri canali";
-$a->strings["Collection removed."] = "Insieme rimosso.";
-$a->strings["Unable to remove collection."] = "Impossibile rimuovere l'insieme.";
-$a->strings["Collection Editor"] = "Modifica l'insieme";
-$a->strings["Members"] = "Membri";
-$a->strings["All Connected Channels"] = "Tutti i canali connessi";
-$a->strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo.";
+$a->strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali.";
+$a->strings["Nothing to import."] = "Non c'è niente da importare.";
+$a->strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio server";
+$a->strings["Imported file is empty."] = "Il file da importare è vuoto.";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
+$a->strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito.";
+$a->strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
+$a->strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
+$a->strings["Import completed."] = "L'importazione è terminata con successo!";
+$a->strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
+$a->strings["Import Channel"] = "Importa un canale";
+$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi scaricare i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file che hai esportato. Saranno importati solamente l'identità e i contatti. L'importazione dei contenuti non è ancora disponibile.";
+$a->strings["File to Upload"] = "File da caricare";
+$a->strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio server/hub";
+$a->strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)";
+$a->strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio server";
+$a->strings["Your old login password"] = "La password per il vecchio server";
+$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Scegli se vuoi spostare il tuo indirizzo primario su questo server, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i server, ma solamente uno sarà indicato come posizione in cui risiedono i tuoi file, foto, ecc.";
+$a->strings["Make this hub my primary location"] = "Rendi questo server il mio indirizzo primario";
+$a->strings["Import existing posts if possible"] = "Importazione dei post esistenti, se possibile";
+$a->strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
+$a->strings["Empty post discarded."] = "L'articolo vuoto è stato ignorato.";
+$a->strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale.";
+$a->strings["System error. Post not saved."] = "Errore di sistema. Articolo non salvato.";
+$a->strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f articoli sulla pagina principale.";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
+$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore.";
+$a->strings["Help with this feature"] = "La guida per questa funzionalità";
+$a->strings["Layout Name"] = "Nome layout";
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
-$a->strings["Help:"] = "Guida:";
-$a->strings["Not Found"] = "Non disponibile";
+$a->strings["Profile not found."] = "Profilo non trovato.";
+$a->strings["Profile deleted."] = "Profilo eliminato.";
+$a->strings["Profile-"] = "Profilo-";
+$a->strings["New profile created."] = "Il nuovo profilo è stato creato.";
+$a->strings["Profile unavailable to clone."] = "Impossibile duplicare il profilo.";
+$a->strings["Profile unavailable to export."] = "Il profilo non è disponibile per l'export.";
+$a->strings["Profile Name is required."] = "Il nome del profilo è obbligatorio .";
+$a->strings["Marital Status"] = "Stato sentimentale";
+$a->strings["Romantic Partner"] = "Partner affettivo";
+$a->strings["Likes"] = "Mi piace";
+$a->strings["Dislikes"] = "Non mi piace";
+$a->strings["Work/Employment"] = "Lavoro/impiego";
+$a->strings["Religion"] = "Religione";
+$a->strings["Political Views"] = "Orientamento politico";
+$a->strings["Gender"] = "Sesso";
+$a->strings["Sexual Preference"] = "Preferenze sessuali";
+$a->strings["Homepage"] = "Home page";
+$a->strings["Interests"] = "Interessi";
+$a->strings["Address"] = "Indirizzo";
+$a->strings["Profile updated."] = "Profilo aggiornato.";
+$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Nascondi la tua lista di contatti/amici ai visitatori di questo profilo?";
+$a->strings["Edit Profile Details"] = "Modifica i dettagli del profilo";
+$a->strings["View this profile"] = "Guarda questo profilo";
+$a->strings["Change Profile Photo"] = "Cambia la foto del profilo";
+$a->strings["Create a new profile using these settings"] = "Crea un nuovo profilo usando queste impostazioni";
+$a->strings["Clone this profile"] = "Clona questo profilo";
+$a->strings["Delete this profile"] = "Elimina questo profilo";
+$a->strings["Import profile from file"] = "Importa il profilo da un file";
+$a->strings["Export profile to file"] = "Esporta il profilo in un file";
+$a->strings["Profile Name:"] = "Nome del profilo:";
+$a->strings["Your Full Name:"] = "Il tuo nome completo:";
+$a->strings["Title/Description:"] = "Titolo/descrizione:";
+$a->strings["Your Gender:"] = "Sesso:";
+$a->strings["Birthday :"] = "Compleanno:";
+$a->strings["Street Address:"] = "Indirizzo (via/piazza):";
+$a->strings["Locality/City:"] = "Località:";
+$a->strings["Postal/Zip Code:"] = "CAP:";
+$a->strings["Country:"] = "Nazione:";
+$a->strings["Region/State:"] = "Regione/stato:";
+$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Stato sentimentale:";
+$a->strings["Who: (if applicable)"] = "Con chi: (se possibile)";
+$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com";
+$a->strings["Since [date]:"] = "dal [data]:";
+$a->strings["Homepage URL:"] = "Indirizzo home page:";
+$a->strings["Religious Views:"] = "Orientamento religioso:";
+$a->strings["Keywords:"] = "Parole chiave, tag:";
+$a->strings["Example: fishing photography software"] = "Per esempio: pesca fotografia programmazione";
+$a->strings["Used in directory listings"] = "Visibile nell'elenco pubblico di canali";
+$a->strings["Tell us about yourself..."] = "Raccontaci di te...";
+$a->strings["Hobbies/Interests"] = "Hobby/interessi";
+$a->strings["Contact information and Social Networks"] = "Contatti personali e i tuoi social network";
+$a->strings["My other channels"] = "I miei altri canali";
+$a->strings["Musical interests"] = "Interessi musicali";
+$a->strings["Books, literature"] = "Libri, letteratura";
+$a->strings["Television"] = "Televisione";
+$a->strings["Film/dance/culture/entertainment"] = "Film/danza/cultura/intrattenimento";
+$a->strings["Love/romance"] = "Amore";
+$a->strings["Work/employment"] = "Lavoro/impiego";
+$a->strings["School/education"] = "Scuola/educazione";
+$a->strings["This is your default profile."] = "Questo è il tuo profilo predefinito.";
+$a->strings["Age: "] = "Età:";
+$a->strings["Edit/Manage Profiles"] = "Modifica/gestisci i profili";
+$a->strings["Add profile things"] = "Aggiungi oggetti al profilo";
+$a->strings["Include desirable objects in your profile"] = "Aggiungi oggetti interessanti al tuo profilo";
$a->strings["Tag removed"] = "Tag rimosso";
$a->strings["Remove Item Tag"] = "Rimuovi il tag";
$a->strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: ";
@@ -1525,8 +1649,9 @@ $a->strings["Registered users"] = "Utenti registrati";
$a->strings["Pending registrations"] = "Registrazioni da approvare";
$a->strings["Version"] = "Versione";
$a->strings["Active plugins"] = "Plugin attivi";
-$a->strings["Site settings updated."] = "Impostazioni del sito aggiornate.";
-$a->strings["No special theme for accessibility"] = "Nessun tema speciale per l'accessibilità";
+$a->strings["Site settings updated."] = "Impostazioni del sito salvate correttamente.";
+$a->strings["experimental"] = "sperimentale";
+$a->strings["unsupported"] = "non supportato";
$a->strings["Yes - with approval"] = "Sì - con approvazione";
$a->strings["My site is not a public server"] = "Non è un server pubblico";
$a->strings["My site has paid access only"] = "È un servizio a pagamento";
@@ -1536,15 +1661,13 @@ $a->strings["File upload"] = "Caricamento file";
$a->strings["Policies"] = "Politiche";
$a->strings["Site name"] = "Nome del sito";
$a->strings["Banner/Logo"] = "Banner o logo";
-$a->strings["Administrator Information"] = "Informazioni sull'amministrazione";
+$a->strings["Administrator Information"] = "Informazioni sull'amministratore";
$a->strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode";
$a->strings["System language"] = "Lingua di sistema";
$a->strings["System theme"] = "Tema di sistema";
$a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>";
$a->strings["Mobile system theme"] = "Tema di sistema per dispositivi mobili";
$a->strings["Theme for mobile devices"] = "Tema per i dispositivi mobili";
-$a->strings["Accessibility system theme"] = "Tema di sistema ad alta accessibilità";
-$a->strings["Accessibility theme"] = "Tema ad alta accessibilità";
$a->strings["Enable Diaspora Protocol"] = "Abilita la comunicazione con Diaspora";
$a->strings["Communicate with Diaspora and Friendica - experimental"] = "Sperimentale - per comunicare con Diaspora e Friendica";
$a->strings["Allow Feeds as Connections"] = "Permetti di aggiungere i feed come contatti";
@@ -1553,32 +1676,32 @@ $a->strings["Maximum image size"] = "Dimensione massima immagini";
$a->strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite.";
$a->strings["Does this site allow new member registration?"] = "Questo sito permette a nuovi utenti di registrarsi?";
$a->strings["Which best describes the types of account offered by this hub?"] = "Come descriveresti il tipo di servizio proposto da questo server?";
-$a->strings["Register text"] = "Testo diregistrazione";
+$a->strings["Register text"] = "Testo di registrazione";
$a->strings["Will be displayed prominently on the registration page."] = "Sarà mostrato ben visibile nella pagina di registrazione.";
$a->strings["Accounts abandoned after x days"] = "Account abbandonati dopo X giorni";
$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo.";
$a->strings["Allowed friend domains"] = "Domini fidati e consentiti";
$a->strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio.";
$a->strings["Allowed email domains"] = "Domini email consentiti";
-$a->strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio.";
+$a->strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email";
$a->strings["Block public"] = "Blocca pagine pubbliche";
$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso.";
$a->strings["Verify Email Addresses"] = "Verifica l'indirizzo email";
$a->strings["Check to verify email addresses used in account registration (recommended)."] = "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato).";
$a->strings["Force publish"] = "Forza la publicazione del profilo";
-$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per mostrare nell'elenco dei canali del sito <strong>tutti</strong> i profili registrati.";
+$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per mostrare nell'elenco pubblico <strong>tutti</strong> i profili registrati su questo sito.";
$a->strings["Disable discovery tab"] = "Disabilita la funzione 'scopri'";
$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Nell'area della rete personale non comparirà più la scheda con i contenuti acquisiti da altri siti.";
$a->strings["No login on Homepage"] = "Non mostrare il login sulla homepage";
-$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Per nascondere la possibilità di fare login ai visitatori (per esempio, quando il contenuto della homepage del sito è alimentato dal canale).";
+$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Per nascondere la possibilità di fare login ai visitatori (per esempio, quando il contenuto della homepage del sito è alimentato da un canale).";
$a->strings["Proxy user"] = "Utente proxy";
$a->strings["Proxy URL"] = "URL proxy";
$a->strings["Network timeout"] = "Timeout rete";
$a->strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valore in secondi. Imposta a 0 per illimitato (sconsigliato).";
$a->strings["Delivery interval"] = "Recapito ritardato";
-$a->strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "RItarda il processo di recapito di questo numero di secondi per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati.";
+$a->strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati.";
$a->strings["Poll interval"] = "Intervallo di polling";
-$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Ritarda i processi di polling in background di questo numero di secondi per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'.";
+$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'.";
$a->strings["Maximum Load Average"] = "Carico massimo medio";
$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50.";
$a->strings["No server found"] = "Server non trovato";
@@ -1651,7 +1774,7 @@ $a->strings["Log settings updated."] = "Impostazioni di log aggiornate.";
$a->strings["Clear"] = "Pulisci";
$a->strings["Debugging"] = "Debugging";
$a->strings["Log file"] = "File di log";
-$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "Deve essere scrivibile dal web server. È relativa alla cartella dove è installato RedMatrix.";
+$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato RedMatrix.";
$a->strings["Log level"] = "Livello di log";
$a->strings["New Profile Field"] = "Nuovo campo del profilo";
$a->strings["Field nickname"] = "Nome breve del campo";
@@ -1663,39 +1786,34 @@ $a->strings["Help text"] = "Testo di aiuto";
$a->strings["Additional info (optional)"] = "Informazioni aggiuntive (opzionali)";
$a->strings["Field definition not found"] = "Impossibile trovare la definizione del campo";
$a->strings["Edit Profile Field"] = "Modifica campo del profilo";
-$a->strings["Thing updated"] = "L'oggetto è stato aggiornato";
-$a->strings["Object store: failed"] = "Impossibile memorizzare l'oggetto.";
-$a->strings["Thing added"] = "L'oggetto è stato aggiunto";
-$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-$a->strings["Show Thing"] = "Mostra l'oggetto";
-$a->strings["item not found."] = "non trovato.";
-$a->strings["Edit Thing"] = "Modifica l'oggetto";
-$a->strings["Select a profile"] = "Scegli un profilo";
-$a->strings["Post an activity"] = "Pubblica un'attività";
-$a->strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi segue il relativo canale";
-$a->strings["Name of thing e.g. something"] = "Nome dell'oggetto";
-$a->strings["URL of thing (optional)"] = "Indirizzo web dell'oggetto";
-$a->strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'oggetto (facoltativo)";
-$a->strings["Add Thing to your Profile"] = "Aggiungi l'oggetto al tuo profilo";
-$a->strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali.";
-$a->strings["Nothing to import."] = "Non c'è niente da importare.";
-$a->strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio server";
-$a->strings["Imported file is empty."] = "Il file da importare è vuoto.";
-$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
-$a->strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
-$a->strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
-$a->strings["Import completed."] = "L'importazione è terminata con successo!";
-$a->strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
-$a->strings["Import Channel"] = "Importa un canale";
-$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi scaricare i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file che hai esportato. Saranno importati solamente l'identità e i contatti. L'importazione dei contenuti non è ancora disponibile.";
-$a->strings["File to Upload"] = "File da caricare";
-$a->strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio server/hub";
-$a->strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)";
-$a->strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio server";
-$a->strings["Your old login password"] = "La password per il vecchio server";
-$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Per ciascuna opzione, scegli se vuoi rendere questo server il tuo indirizzo primario, oppure se preferisci che lo rimanga il vecchio. Potrai pubblicare da entrambi i server, ma solamente uno sarà marcato come primario per i tuoi file, foto, ecc.";
-$a->strings["Make this hub my primary location"] = "Rendi questo server il mio indirizzo primario";
-$a->strings["Import existing posts if possible"] = "Importazione dei post esistenti, se possibile";
+$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi.";
+$a->strings["Create a new channel"] = "Crea un nuovo canale";
+$a->strings["Current Channel"] = "Canale attuale";
+$a->strings["Attach to one of your channels by selecting it."] = "Seleziona il canale a cui vuoi passare.";
+$a->strings["Default Channel"] = "Canale predefinito";
+$a->strings["Make Default"] = "Rendi predefinito";
+$a->strings["Menu updated."] = "Menù aggiornato.";
+$a->strings["Unable to update menu."] = "Impossibile aggiornare il menù.";
+$a->strings["Menu created."] = "Menù creato.";
+$a->strings["Unable to create menu."] = "Impossibile creare il menù.";
+$a->strings["Manage Menus"] = "Gestione menù";
+$a->strings["Drop"] = "Elimina";
+$a->strings["Bookmarks allowed"] = "Permetti segnalibri";
+$a->strings["Create a new menu"] = "Crea un nuovo menù";
+$a->strings["Delete this menu"] = "Elimina questo menù";
+$a->strings["Edit menu contents"] = "Modifica i contenuti del menù";
+$a->strings["Edit this menu"] = "Modifica questo menù";
+$a->strings["New Menu"] = "Nuovo menù";
+$a->strings["Menu name"] = "Nome del menù";
+$a->strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedrai solo tu";
+$a->strings["Menu title"] = "Titolo del menù";
+$a->strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti";
+$a->strings["Allow bookmarks"] = "Permetti l'invio di segnalibri";
+$a->strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menù";
+$a->strings["Menu deleted."] = "Menù eliminato.";
+$a->strings["Menu could not be deleted."] = "Il menù non può essere eliminato.";
+$a->strings["Edit Menu"] = "Modifica menù";
+$a->strings["Add or remove entries to this menu"] = "Aggiungi o rimuovi elementi di questo menù";
$a->strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
$a->strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
$a->strings["Please join us on Red"] = "Vieni con noi su RedMatrix";
@@ -1708,127 +1826,68 @@ $a->strings["%d message sent."] = array(
$a->strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
$a->strings["Send invitations"] = "Spedisci inviti";
$a->strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
-$a->strings["Your message:"] = "Il tuo messaggio:";
$a->strings["Please join my community on RedMatrix."] = "Entra a far parte della mia comunità su RedMatrix.";
$a->strings["You will need to supply this invitation code: "] = "Dovrai fornire questo codice di invito:";
$a->strings["1. Register at any RedMatrix location (they are all inter-connected)"] = "1. Registrati su un qualsiasi sito RedMatrix (sono tutti interconnessi)";
$a->strings["2. Enter my RedMatrix network address into the site searchbar."] = "2. Inserisci il mio indirizzo RedMatrix nella barra di ricerca che compare nella pagina.";
-$a->strings["or visit "] = "oppure visita";
+$a->strings["or visit "] = "oppure visita ";
$a->strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]";
-$a->strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
-$a->strings["Empty post discarded."] = "L'articolo vuoto è stato ignorato.";
-$a->strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale.";
-$a->strings["System error. Post not saved."] = "Errore di sistema. Articolo non salvato.";
-$a->strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f articoli sulla pagina principale.";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
+$a->strings["No such group"] = "Impossibile trovare l'insieme";
+$a->strings["Search Results For:"] = "Cerca risultati con:";
+$a->strings["Collection is empty"] = "L'insieme di canali è vuoto";
+$a->strings["Collection: "] = "Insieme:";
+$a->strings["Connection: "] = "Contatto:";
+$a->strings["Invalid connection."] = "Contatto non valido.";
+$a->strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido.";
+$a->strings["Discard"] = "Rifiuta";
+$a->strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
+$a->strings["System Notifications"] = "Notifiche di sistema";
$a->strings["[Embedded content - reload page to view]"] = "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]";
-$a->strings["Help with this feature"] = "La guida per questa funzionalità";
-$a->strings["Layout Name"] = "Nome layout";
-$a->strings["Like/Dislike"] = "Mi piace/Non mi piace";
-$a->strings["This action is restricted to members."] = "Questa funzionalità è riservata agli iscritti.";
-$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "Per favore <a href=\"rmagic\">accedi con il tuo identificativo RedMatrix</a> o <a href=\"register\">registrati su RedMatrix</a> per continuare.";
-$a->strings["Invalid request."] = "Richiesta non valida.";
-$a->strings["thing"] = "oggetto";
-$a->strings["Channel unavailable."] = "Canale non trovato.";
-$a->strings["Previous action reversed."] = "Il comando precedente è stato annullato.";
-$a->strings["Action completed."] = "Comando completato.";
-$a->strings["Thank you."] = "Grazie.";
$a->strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili.";
$a->strings["Visible to:"] = "Visibile a:";
$a->strings["No connections."] = "Nessun contatto.";
$a->strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]";
$a->strings["View Connnections"] = "Guarda i contatti";
-$a->strings["No valid account found."] = "Nessun account valido trovato.";
-$a->strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
-$a->strings["Site Member (%s)"] = "Utente del sito (%s)";
-$a->strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non può essere reimpostata.";
-$a->strings["Password Reset"] = "Reimposta la password";
-$a->strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
-$a->strings["Your new password is"] = "La tua nuova password è";
-$a->strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
-$a->strings["click here to login"] = "clicca qui per accedere";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
-$a->strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
-$a->strings["Forgot your Password?"] = "Hai dimenticato la password?";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
-$a->strings["Email Address"] = "Indirizzo email";
-$a->strings["Reset"] = "Reimposta";
$a->strings["Hub not found."] = "Server non trovato.";
-$a->strings["Total votes"] = "Totale voti";
-$a->strings["Average Rating"] = "Media";
-$a->strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
-$a->strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
-$a->strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto.";
-$a->strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito.";
-$a->strings["Messages"] = "Messaggi";
-$a->strings["Message deleted."] = "Messaggio eliminato.";
-$a->strings["Message recalled."] = "Messaggio revocato.";
-$a->strings["Send Private Message"] = "Invia un messaggio privato";
-$a->strings["To:"] = "A:";
-$a->strings["Subject:"] = "Oggetto:";
-$a->strings["Send"] = "Invia";
-$a->strings["Message not found."] = "Messaggio non trovato.";
-$a->strings["Delete message"] = "Elimina il messaggio";
-$a->strings["Recall message"] = "Revoca il messaggio";
-$a->strings["Message has been recalled."] = "Il messaggio è stato revocato.";
-$a->strings["Private Conversation"] = "Conversazione privata";
-$a->strings["Delete conversation"] = "Elimina la conversazione";
-$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcun sistema per comunicare in modo sicuro. Puoi verificare se <strong>eventualmente</strong> è possibile rispondere dalla pagina del profilo del mittente.";
-$a->strings["Send Reply"] = "Invia la risposta";
-$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi.";
-$a->strings["Create a new channel"] = "Crea un nuovo canale";
-$a->strings["Current Channel"] = "Canale attuale";
-$a->strings["Attach to one of your channels by selecting it."] = "Seleziona il canale a cui vuoi passare.";
-$a->strings["Default Channel"] = "Canale predefinito";
-$a->strings["Make Default"] = "Rendi predefinito";
+$a->strings["Total votes"] = "Voti totali";
+$a->strings["Average Rating"] = "Valutazione media";
+$a->strings["OpenID protocol error. No ID returned."] = "Errore del protocollo OpenID. Nessun ID ricevuto in risposta.";
+$a->strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'autenticazione magica è avvenuta con successo.";
$a->strings["Wall Photos"] = "Foto della bacheca";
$a->strings["Profile Match"] = "Profili corrispondenti";
-$a->strings["No keywords to match. Please add keywords to your default profile."] = "Nessuna parola chiave per le ricerche. Aggiungi parole chiave al tuo profilo predefinito.";
+$a->strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche.";
$a->strings["is interested in:"] = "interessi personali:";
$a->strings["No matches"] = "Nessun risultato";
-$a->strings["Menu updated."] = "Menù aggiornato.";
-$a->strings["Unable to update menu."] = "Impossibile aggiornare il menù.";
-$a->strings["Menu created."] = "Menù creato.";
-$a->strings["Unable to create menu."] = "Impossibile creare il menù.";
-$a->strings["Manage Menus"] = "Gestione menù";
-$a->strings["Drop"] = "Elimina";
-$a->strings["Create a new menu"] = "Crea un nuovo menù";
-$a->strings["Delete this menu"] = "Elimina questo menù";
-$a->strings["Edit menu contents"] = "Modifica i contenuti del menù";
-$a->strings["Edit this menu"] = "Modifica questo menù";
-$a->strings["New Menu"] = "Nuovo menù";
-$a->strings["Menu name"] = "Nome del menù";
-$a->strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedrai solo tu";
-$a->strings["Menu title"] = "Titolo del menù";
-$a->strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti";
-$a->strings["Allow bookmarks"] = "Permetti l'invio di segnalibri";
-$a->strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menu";
-$a->strings["Menu deleted."] = "Menù eliminato.";
-$a->strings["Menu could not be deleted."] = "Il menù non può essere eliminato.";
-$a->strings["Edit Menu"] = "Modifica menù";
-$a->strings["Add or remove entries to this menu"] = "Aggiungi o rimuovi elementi di questo menù";
$a->strings["Conversation removed."] = "Conversazione rimossa.";
$a->strings["No messages."] = "Nessun messaggio.";
$a->strings["D, d M Y - g:i A"] = "D d M Y - G:i";
$a->strings["Add a Channel"] = "Aggiungi un canale";
-$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "I contenuti che pubblichi finiscono in un \"canale\". Un canale può essere usato per mantenere un tuo profilo personale, per avere un blog, per creare forum di discussione o gruppi di interesse, per pagine di celebrità e molto altro. Puoi creare quanti canali vuoi a meno di limiti dati dal gestore del sito.";
+$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "I contenuti che pubblichi sono mostrati nel tuo \"canale\". Un canale può essere usato come bacheca personale, come blog, oppure può essere un forum di discussione, un gruppo di interesse, una pagina di celebrità e molto altro. Puoi creare tanti canali quanti ne permette il tuo sito.";
$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\"";
$a->strings["Choose a short nickname"] = "Scegli un nome breve";
$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale (simile a una email). Così potrai condividerlo e gli altri potranno trovarti.";
$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Oppure <a href=\"import\">importa un tuo canale esistente</a> da un altro server/hub";
$a->strings["Channel Type"] = "Tipo di canale";
-$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. RedMatrix sceglierà i permessi più adatti.";
-$a->strings["Red Matrix - &quot;The Network&quot;"] = "RedMatrix - &quot;La Rete&quot;";
-$a->strings["Welcome to %s"] = "%s ti dà il benvenuto";
-$a->strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido.";
-$a->strings["Discard"] = "Rifiuta";
-$a->strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
-$a->strings["System Notifications"] = "Notifiche di sistema";
+$a->strings["?"] = "?";
+$a->strings["What is this?"] = "Questo cos'è?";
+$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. RedMatrix sceglierà per te i permessi più adatti.";
+$a->strings["Xchan Lookup"] = "Ricerca canale";
+$a->strings["Lookup xchan beginning with (or webbie): "] = "Cerca un canale (o un webbie) che inizia per:";
+$a->strings["invalid target signature"] = "la firma ricevuta non è valida";
$a->strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub.";
$a->strings["Post successful."] = "Inviato!";
-$a->strings["invalid target signature"] = "la firma riscontrata non è valida";
-$a->strings["OpenID protocol error. No ID returned."] = "Errore del protocollo OpenID. Nessun ID ricevuto in risposta.";
+$a->strings["Gender: "] = "Sesso:";
+$a->strings["Status: "] = "Stato:";
+$a->strings["Homepage: "] = "Homepage:";
+$a->strings["Hometown: "] = "Città dove vivo:";
+$a->strings["About: "] = "Informazioni:";
+$a->strings["Public Forum:"] = "Forum pubblico:";
+$a->strings["Keywords: "] = "Parole chiave:";
+$a->strings["Finding:"] = "Ricerca:";
+$a->strings["next page"] = "pagina successiva";
+$a->strings["previous page"] = "pagina precedente";
+$a->strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto).";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione magica dal tuo sito non è disponibile. Hai accesso solamente a questo sito. Puoi provare a disconnetterti per tentare di nuovo.";
$a->strings["App installed."] = "App installata";
$a->strings["Malformed app."] = "App non corretta";
$a->strings["Embed code"] = "Inserisci del codice";
@@ -1850,7 +1909,7 @@ $a->strings["Remove this account, all its channels and all its channel clones fr
$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "A meno che tu non lo richieda espressamente, solo i canali presenti su questo server saranno rimossi dalla rete.";
$a->strings["No service class restrictions found."] = "Non esistono restrizioni su questa classe di account.";
$a->strings["Schema Default"] = "Schema predefinito";
-$a->strings["Sans-Serif"] = "Sans-Serif";
+$a->strings["Sans-Serif"] = "Sans-serif";
$a->strings["Monospace"] = "Monospace";
$a->strings["Theme settings"] = "Impostazioni del tema";
$a->strings["Set scheme"] = "Schema";
@@ -1865,8 +1924,8 @@ $a->strings["Set line-height for posts and comments"] = "Altezza della riga per
$a->strings["Set background image"] = "Immagine di sfondo";
$a->strings["Set background attachment"] = "Allega uno sfondo";
$a->strings["Set background color"] = "Colore di sfondo";
-$a->strings["Set section background image"] = "Immagine di sfondo dei contenuti";
-$a->strings["Set section background color"] = "Colore di sfondo dei contenuti";
+$a->strings["Set section background image"] = "Immagine di sfondo della sezione";
+$a->strings["Set section background color"] = "Colore di sfondo dell'area principale";
$a->strings["Set color of items - use hex"] = "Colore degli elementi della pagina - esadecimale";
$a->strings["Set color of links - use hex"] = "Colore dei link - esadecimale";
$a->strings["Set max-width for items. Default 400px"] = "Larghezza massima degli elementi della pagina. Predefinita: 400px";
@@ -1879,14 +1938,11 @@ $a->strings["Display post previews only"] = "Mostra le anteprime solo degli arti
$a->strings["Display side bar on channel page"] = "Mostra la colonna laterale sulla pagina del canale";
$a->strings["Colour of the navigation bar"] = "Colore della barra di navigazione";
$a->strings["Item float"] = "Float degli oggetti della pagina";
-$a->strings["Left offset of the section element"] = "Spostamento a sinistra dei contenuti";
-$a->strings["Right offset of the section element"] = "Spostamento a destra dei contenuti";
-$a->strings["Section width"] = "Larghezza dei contenuti";
-$a->strings["Left offset of the aside"] = "Spostamento a sinistra della colonna laterale";
-$a->strings["Right offset of the aside element"] = "Spostamento a destra della colonna laterale";
-$a->strings["None"] = "Nessuno";
-$a->strings["Header image"] = "Immagine dell'intestazione";
-$a->strings["Header image only on profile pages"] = "Metti un'immagine solo nell'intestazione dei profili";
+$a->strings["Left offset of the section element"] = "Margine sinistro dell'area principale";
+$a->strings["Right offset of the section element"] = "Margine destro dell'area principale";
+$a->strings["Section width"] = "Larghezza dell'area principale";
+$a->strings["Left offset of the aside"] = "Margine sinistro della colonna laterale";
+$a->strings["Right offset of the aside element"] = "Margine destro della colonna laterale";
$a->strings["Light (Red Matrix default)"] = "Light (predefinito)";
$a->strings["Narrow navbar"] = "Barra di navigazione ristretta";
$a->strings["Navigation bar background color"] = "Barra di navigazione: Colore di sfondo";
diff --git a/view/js/acl.js b/view/js/acl.js
index c129634a0..77c65e21d 100644
--- a/view/js/acl.js
+++ b/view/js/acl.js
@@ -17,20 +17,24 @@ function ACL(backend_url, preset){
that.item_tpl = unescape($(".acl-list-item[rel=acl-template]").html());
that.showall = $("#acl-showall");
+ // set the initial ACL lists in case the enclosing form gets submitted before the ajax loader completes.
+ that.on_submit();
+
if (preset.length==0) that.showall.removeClass("btn-default").addClass("btn-warning");
/*events*/
$(document).ready(function() {
- that.showall.click(that.on_showall);
- $(document).on('click','.acl-button-show',that.on_button_show);
- $(document).on('click','.acl-button-hide',that.on_button_hide);
- $("#acl-search").keypress(that.on_search);
-// $("#acl-wrapper").parents("form").submit(that.on_submit);
+// setTimeout( function() {
+ that.showall.click(that.on_showall);
+ $(document).on('click','.acl-button-show',that.on_button_show);
+ $(document).on('click','.acl-button-hide',that.on_button_hide);
+ $("#acl-search").keypress(that.on_search);
- /* startup! */
- that.get(0,100);
- that.on_submit();
+ /* startup! */
+ that.get(0,100);
+ that.on_submit();
+// }, 5000 );
});
}
@@ -254,7 +258,7 @@ ACL.prototype.get = function(start,count, search){
}
ACL.prototype.populate = function(data){
- var height = Math.ceil(data.tot / that.nw) * 42;
+ var height = Math.ceil(data.items.length / that.nw) * 42;
that.list_content.height(height);
$(data.items).each(function(){
html = "<div class='acl-list-item {4} {7} {5}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>";
diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js
index c01ba6990..e68356057 100644
--- a/view/js/autocomplete.js
+++ b/view/js/autocomplete.js
@@ -1,200 +1,67 @@
/**
- * Friendica people autocomplete
+ * Red people autocomplete
*
- * require jQuery, jquery.textareas
+ * require jQuery, jquery.textcomplete
*/
-
-
-
-function ACPopup(elm,backend_url){
- this.idsel=-1;
- this.element = elm;
- this.searchText="";
- this.ready=true;
- this.kp_timer = false;
- this.url = backend_url;
-
- var w = 530;
- var h = 130;
-
-
- if(typeof elm.editorId == "undefined") {
- style = $(elm).offset();
- w = $(elm).width();
- h = $(elm).height();
- }
- else {
- var container = elm.getContainer();
- if(typeof container != "undefined") {
- style = $(container).offset();
- w = $(container).width();
- h = $(container).height();
- }
- }
-
- if(! w)
- w = 530;
-
- if(! h)
- h = 130;
-
- style.top=style.top+h;
- style.width = w;
- style.position = 'absolute';
- /* style['max-height'] = '150px';
- style.border = '1px solid red';
- style.background = '#cccccc';
-
- style.overflow = 'auto';
- style['z-index'] = '100000';
- */
- style.display = 'none';
-
- this.cont = $("<div class='acpopup'></div>");
- this.cont.css(style);
-
- $("body").append(this.cont);
-}
-ACPopup.prototype.close = function(){
- $(this.cont).remove();
- this.ready=false;
-}
-ACPopup.prototype.search = function(text){
- var that = this;
- this.searchText=text;
- if (this.kp_timer) clearTimeout(this.kp_timer);
- this.kp_timer = setTimeout( function(){that._search();}, 500);
-}
-ACPopup.prototype._search = function(){
- console.log("_search");
- var that = this;
+function mysearch(term, callback, backend_url, extra_channels) {
var postdata = {
start:0,
count:100,
- search:this.searchText,
+ search:term,
type:'c',
}
+
+ if(extra_channels)
+ postdata['extra_channels[]'] = extra_channels;
$.ajax({
type:'POST',
- url: this.url,
+ url: backend_url,
data: postdata,
dataType: 'json',
success:function(data){
- that.cont.html("");
- if (data.tot>0){
- that.cont.show();
- $(data.items).each(function(){
- html = "<img src='{0}' height='16px' width='16px'>{1} ({2})".format(this.photo, this.name, ((this.label) ? this.nick + ' ' + this.label : this.nick) )
- that.add(this.taggable, html, this.nick.replace(' ','') + '+' + this.id + ' - ' + this.link);
- });
- } else {
- that.cont.hide();
- }
- }
- });
-
-}
-ACPopup.prototype.add = function(taggable, label, value){
- var that=this;
- var elm = $("<div class='acpopupitem " + taggable +"' title='"+value+"'>"+label+"</div>");
- elm.click(function(e){
- t = $(this).attr('title').replace(new RegExp(' \- .*'),'');
- if(typeof(that.element.container) === "undefined") {
- el=$(that.element);
- sel = el.getSelection();
- sel.start = sel.start- that.searchText.length;
- el.setSelection(sel.start,sel.end).replaceSelectedText(t+' ').collapseSelection(false);
- that.close();
- }
- else {
- txt = tinyMCE.activeEditor.getContent();
- // alert(that.searchText + ':' + t);
- newtxt = txt.replace('@' + that.searchText, '@' + t + ' ');
- tinyMCE.activeEditor.setContent(newtxt);
- tinyMCE.activeEditor.focus();
- that.close();
- }
- });
- $(this.cont).append(elm);
-}
-ACPopup.prototype.onkey = function(event){
- if (event.keyCode == '13') {
- if(this.idsel>-1) {
- this.cont.children()[this.idsel].click();
- event.preventDefault();
- }
- else
- this.close();
- }
- if (event.keyCode == '38') { //cursor up
- cmax = this.cont.children().size()-1;
- this.idsel--;
- if (this.idsel<0) this.idsel=cmax;
- event.preventDefault();
- }
- if (event.keyCode == '40' || event.keyCode == '9') { //cursor down
- cmax = this.cont.children().size()-1;
- this.idsel++;
- if (this.idsel>cmax) this.idsel=0;
- event.preventDefault();
- }
-
- if (event.keyCode == '38' || event.keyCode == '40' || event.keyCode == '9') {
- this.cont.children().removeClass('selected');
- $(this.cont.children()[this.idsel]).addClass('selected');
- }
-
- if (event.keyCode == '27') { //ESC
- this.close();
- }
+ callback(data.items);
+ },
+ }).fail(function () {callback([]); }); // Callback must be invoked even if something went wrong.
}
-function ContactAutocomplete(element,backend_url){
- this.pattern=/@(\!*)([^ \n]+)$/;
- this.popup=null;
- var that = this;
-
- $(element).unbind('keydown');
- $(element).unbind('keyup');
-
- $(element).keydown(function(event){
- if (that.popup!==null) that.popup.onkey(event);
- });
-
- $(element).keyup(function(event){
- cpos = $(this).getSelection();
- if (cpos.start==cpos.end){
- match = $(this).val().substring(0,cpos.start).match(that.pattern);
- if (match!==null){
- if (that.popup===null){
- that.popup = new ACPopup(this, backend_url);
- }
- if (that.popup.ready && match[2]!==that.popup.searchText) that.popup.search(match[2]);
- if (!that.popup.ready) that.popup=null;
-
- } else {
- if (that.popup!==null) {that.popup.close(); that.popup=null;}
- }
-
-
- }
- });
-
+function format(item) {
+ return "<div class='{0}' title='{4}'><img src='{1}'>{2} ({3})</div>".format(item.taggable, item.photo, item.name, ((item.label) ? item.nick + ' ' + item.label : item.nick), item.link )
}
+function replace(item) {
+ // $2 ensures that prefix (@,@!) is preserved
+ var id = item.id;
+ // 16 chars of hash should be enough. Full hash could be used if it can be done in a visually appealing way.
+ // 16 chars is also the minimum length in the backend (otherwise it's interpreted as a local id).
+ if(id.length > 16)
+ id = item.id.substring(0,16);
+ return '$1$2'+item.nick.replace(' ','') + '+' + id;
+}
/**
* jQuery plugin 'contact_autocomplete'
*/
(function( $ ){
- $.fn.contact_autocomplete = function(backend_url) {
- this.each(function(){
- new ContactAutocomplete(this, backend_url);
- });
- };
-})( jQuery );
-
+ $.fn.contact_autocomplete = function(backend_url, extra_channels) {
+ if (typeof extra_channels === 'undefined') extra_channels = false;
+ // Autocomplete contacts
+ contacts = {
+ match: /(^|\s)(@\!*)([^ \n]+)$/,
+ index: 3,
+ search: function(term, callback) { mysearch(term, callback, backend_url, extra_channels); },
+ replace: replace,
+ template: format,
+ }
-
+ smilies = {
+ match: /(^|\s)(:[a-z]{2,})$/,
+ index: 2,
+ search: function(term, callback) { $.getJSON('/smilies/json').done(function(data) { callback($.map(data, function(entry) { return entry['text'].indexOf(term) === 0 ? entry : null })) }) },
+ template: function(item) { return item['icon'] + item['text'] },
+ replace: function(item) { return "$1"+item['text'] + ' '; },
+ }
+ this.textcomplete([contacts,smilies],{className:'acpopup'});
+ };
+})( jQuery );
diff --git a/view/js/jquery-compat.js b/view/js/jquery-compat.js
deleted file mode 100644
index 7bf912542..000000000
--- a/view/js/jquery-compat.js
+++ /dev/null
@@ -1,71 +0,0 @@
-
-// provide jquery.browser so we can get rid of the migration toolkit
-
-jQuery.uaMatch = function( ua ) {
- ua = ua.toLowerCase();
-
- var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
- /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
- /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
- /(msie) ([\w.]+)/.exec( ua ) ||
- ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
- [];
-
- return {
- browser: match[ 1 ] || "",
- version: match[ 2 ] || "0"
- };
-};
-
-
-// Don't clobber any existing jQuery.browser in case it's different
-if ( !jQuery.browser ) {
- matched = jQuery.uaMatch( navigator.userAgent );
- browser = {};
-
- if ( matched.browser ) {
- browser[ matched.browser ] = true;
- browser.version = matched.version;
- }
-
- // Chrome is Webkit, but Webkit is also Safari.
- if ( browser.chrome ) {
- browser.webkit = true;
- } else if ( browser.webkit ) {
- browser.safari = true;
- }
-
- jQuery.browser = browser;
-}
-
-jQuery.fn.toggle = function( fn, fn2 ) {
-
- // Don't mess with animation or css toggles
- if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
- return oldToggle.apply( this, arguments );
- }
-
- // Save reference to arguments for access in closure
- var args = arguments,
- guid = fn.guid || jQuery.guid++,
- i = 0,
- toggler = function( event ) {
- // Figure out which function to execute
- var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
- jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
- // Make sure that clicks stop
- event.preventDefault();
-
- // and execute the function
- return args[ lastToggle ].apply( this, arguments ) || false;
- };
-
- // link all the functions, so any of them can unbind this click handler
- toggler.guid = guid;
- while ( i < args.length ) {
- args[ i++ ].guid = guid;
- }
-
- return this.click( toggler );
-};
diff --git a/view/js/main.js b/view/js/main.js
index beedb7f01..85aea9875 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -180,6 +180,13 @@
timer = setTimeout(NavUpdate,2000);
}
+ function markItemRead(itemId) {
+ $.get('ping?f=&markItemRead='+itemId);
+ $('.unseen-wall-indicator-'+itemId).hide();
+ }
+
+
+
var src = null;
var prev = null;
var livetime = null;
@@ -200,6 +207,8 @@
var loadingPage = true;
var pageHasMoreContent = true;
var updateCountsOnly = false;
+ var divmore_height = 400;
+ var last_filestorage_id = null;
$(function() {
$.ajaxSetup({cache: false});
@@ -260,9 +269,9 @@
}
// fancyboxes
- $("a.popupbox").fancybox({
- 'transitionIn' : 'elastic',
- 'transitionOut' : 'elastic'
+ // Is this actually used anywhere?
+ $("a.popupbox").colorbox({
+ 'transition' : 'elastic'
});
@@ -335,7 +344,7 @@
if($('#live-network').length) { src = 'network'; liveUpdate(); }
if($('#live-channel').length) { src = 'channel'; liveUpdate(); }
- if($('#live-community').length) { src = 'community'; liveUpdate(); }
+ if($('#live-home').length) { src = 'home'; liveUpdate(); }
if($('#live-display').length) { src = 'display'; liveUpdate(); }
if($('#live-search').length) { src = 'search'; liveUpdate(); }
@@ -429,6 +438,8 @@ function updatePageItems(mode,data) {
pageHasMoreContent = false;
}
+ collapseHeight();
+
}
@@ -457,26 +468,18 @@ function updateConvItems(mode,data) {
$('#' + prev).after($(this));
if(isVisible)
showHideComments(itmId);
- $(".autotime").timeago();
- // divgrow doesn't prevent itself from attaching a second (or 500th)
- // "show more" div to a content region - it also has a few other
- // issues related to how we're trying to use it.
- // disable for now.
- // $("div.wall-item-body").divgrow({ initialHeight: 400 });
+ $(".autotime",this).timeago();
}
else {
$('img',this).each(function() {
$(this).attr('src',$(this).attr('dst'));
});
- // more FIXME related to expanded comments
if($('#collapsed-comments-'+itmId).is(':visible'))
isVisible = true;
$('#' + ident).replaceWith($(this));
if(isVisible)
showHideComments(itmId);
- $(".autotime").timeago();
- // $("div.wall-item-body").divgrow({ initialHeight: 400 });
-
+ $(".autotime",this).timeago();
}
prev = ident;
});
@@ -507,9 +510,7 @@ function updateConvItems(mode,data) {
$('#threads-end').before($(this));
if(isVisible)
showHideComments(itmId);
- $(".autotime").timeago();
- // $("div.wall-item-body").divgrow({ initialHeight: 400 });
-
+ $(".autotime",this).timeago();
}
else {
$('img',this).each(function() {
@@ -520,8 +521,7 @@ function updateConvItems(mode,data) {
$('#' + ident).replaceWith($(this));
if(isVisible)
showHideComments(itmId);
- $(".autotime").timeago();
- // $("div.wall-item-body").divgrow({ initialHeight: 400 });
+ $(".autotime",this).timeago();
}
});
@@ -555,9 +555,8 @@ function updateConvItems(mode,data) {
$('#' + prev).after($(this));
if(isVisible)
showHideComments(itmId);
- $(".autotime").timeago();
+ $(".autotime",this).timeago();
- // $("div.wall-item-body").divgrow({ initialHeight: 400 });
}
prev = ident;
});
@@ -596,19 +595,18 @@ function updateConvItems(mode,data) {
function collapseHeight() {
- $(".wall-item-body").each(function() {
- if($(this).height() > 410) {
+ $(".wall-item-body, .contact-info").each(function() {
+ if($(this).height() > divmore_height + 10) {
if(! $(this).hasClass('divmore')) {
- $(this).divgrow({ initialHeight: 400, moreText: aStr['divgrowmore'], lessText: aStr['divgrowless'], showBrackets: false });
+ $(this).readmore({collapsedHeight: divmore_height, moreLink: '<a href="#">'+aStr['divgrowmore']+'</a>', lessLink: '<a href="#">'+aStr['divgrowless']+'</a>'});
$(this).addClass('divmore');
}
- }
+ }
});
}
-
-
function liveUpdate() {
+ if(typeof profile_uid === 'undefined') profile_uid = false; /* Should probably be unified with channelId defined in head.tpl */
if((src == null) || (stopped) || (! profile_uid)) { $('.like-rotator').spin(false); return; }
if(($('.comment-edit-text-full').length) || (in_progress)) {
if(livetime) {
@@ -749,7 +747,7 @@ function updateConvItems(mode,data) {
$("#nav-" + notifyType + "-menu").html(notifications_all + notifications_mark);
$(data.notify).each(function() {
- html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.class);
+ html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass);
$("#nav-" + notifyType + "-menu").append(html);
});
$(".dropdown-menu img[data-src]").each(function(i, el){
@@ -846,6 +844,19 @@ function updateConvItems(mode,data) {
});
}
+ function filestorage(event,nick,id) {
+ $('#cloud-index-' + last_filestorage_id).removeClass('cloud-index-active');
+ $('#perms-panel-' + last_filestorage_id).hide().html('');
+ $('#file-edit-' + id).spin('tiny');
+ delete acl;
+ $.get('filestorage/' + nick + '/' + id + '/edit', function(data) {
+ $('#cloud-index-' + id).addClass('cloud-index-active');
+ $('#perms-panel-' + id).html(data).show();
+ $('#file-edit-' + id).spin(false);
+ last_filestorage_id = id;
+ });
+ }
+
function post_comment(id) {
unpause();
commentBusy = true;
@@ -909,7 +920,7 @@ function updateConvItems(mode,data) {
function preview_post() {
$("#jot-preview").val("1");
$("#jot-preview-content").show();
- tinyMCE.triggerSave();
+// tinyMCE.triggerSave();
$.post(
"item",
$("#profile-jot-form").serialize(),
@@ -1026,6 +1037,8 @@ function fcFileBrowser (field_name, url, type, win) {
}
function setupFieldRichtext(){
+ return;
+/*
tinyMCE.init({
theme : "advanced",
mode : "specific_textareas",
@@ -1049,6 +1062,7 @@ function setupFieldRichtext(){
theme_advanced_path : false,
file_browser_callback : "fcFileBrowser",
});
+*/
}
diff --git a/view/js/mod_admin.js b/view/js/mod_admin.js
new file mode 100644
index 000000000..aad2ca902
--- /dev/null
+++ b/view/js/mod_admin.js
@@ -0,0 +1,3 @@
+$(document).ready(function() {
+ $('form').areYouSure(); // Warn user about unsaved settings
+});
diff --git a/view/js/mod_connedit.js b/view/js/mod_connedit.js
index fabf24e95..15b768929 100644
--- a/view/js/mod_connedit.js
+++ b/view/js/mod_connedit.js
@@ -1,7 +1,7 @@
function abook_perms_msg() {
$('.abook-permschange').show();
- $('.abook-permschange').html(aStr['permschange']);
+// $('.abook-permschange').html(aStr['permschange']);
$('.abook-permssave').show();
}
diff --git a/view/js/mod_directory.js b/view/js/mod_directory.js
index 291734b4f..74c8b414d 100644
--- a/view/js/mod_directory.js
+++ b/view/js/mod_directory.js
@@ -6,3 +6,6 @@ function dirdetails(hash) {
}
+$(document).ready(function() {
+ collapseHeight();
+}); \ No newline at end of file
diff --git a/view/js/mod_filestorage.js b/view/js/mod_filestorage.js
index 88c1cf7d8..bee37767f 100644
--- a/view/js/mod_filestorage.js
+++ b/view/js/mod_filestorage.js
@@ -13,4 +13,5 @@ $(document).ready(function() {
}
}).trigger('change');
+
});
diff --git a/view/js/mod_new_channel.js b/view/js/mod_new_channel.js
index 492267ff9..c4d5408f2 100644
--- a/view/js/mod_new_channel.js
+++ b/view/js/mod_new_channel.js
@@ -1,5 +1,5 @@
$(document).ready(function() {
-// $("#privacy-role-select").sSelect();
+// $("#id_permissions_role").sSelect();
$("#newchannel-name").blur(function() {
$("#name-spinner").spin('small');
var zreg_name = $("#newchannel-name").val();
diff --git a/view/js/mod_photos.js b/view/js/mod_photos.js
index 8b7706f16..0a64f8102 100644
--- a/view/js/mod_photos.js
+++ b/view/js/mod_photos.js
@@ -3,16 +3,6 @@ var ispublic = aStr['everybody'];
$(document).ready(function() {
- $("a#photos-upload-perms-menu").colorbox({
- 'inline' : true,
- 'transition' : 'elastic'
- });
-
- $("a#settings-default-perms-menu").colorbox({
- 'inline' : true,
- 'transition' : 'elastic'
- });
-
var a;
a = $("#photo-edit-newtag").autocomplete({
serviceUrl: baseurl + '/acl',
diff --git a/view/js/mod_profiles.js b/view/js/mod_profiles.js
new file mode 100644
index 000000000..aad2ca902
--- /dev/null
+++ b/view/js/mod_profiles.js
@@ -0,0 +1,3 @@
+$(document).ready(function() {
+ $('form').areYouSure(); // Warn user about unsaved settings
+});
diff --git a/view/js/mod_settings.js b/view/js/mod_settings.js
index 87c8c3a2b..0db0dd165 100644
--- a/view/js/mod_settings.js
+++ b/view/js/mod_settings.js
@@ -2,14 +2,15 @@
var ispublic = aStr['everybody'] ;
$(document).ready(function() {
+ $('form').areYouSure(); // Warn user about unsaved settings
$("a#settings-default-perms-menu").colorbox({
'inline' : true,
'transition' : 'elastic'
});
- $("#privacy-role-select").change(function() {
- var role = $("#privacy-role-select").val();
+ $("#id_permissions_role").change(function() {
+ var role = $("#id_permissions_role").val();
if(role == 'custom')
$('#advanced-perm').show();
else
diff --git a/view/nb-no/messages.po b/view/nb-no/messages.po
index d5d325345..a2f67253f 100644
--- a/view/nb-no/messages.po
+++ b/view/nb-no/messages.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Red Matrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-20 00:03-0700\n"
-"PO-Revision-Date: 2014-06-22 12:27+0000\n"
+"POT-Creation-Date: 2014-11-14 00:04-0800\n"
+"PO-Revision-Date: 2014-11-22 11:05+0000\n"
"Last-Translator: Haakon Meland Eriksen <haakon.eriksen@far.no>\n"
"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/red-matrix/language/nb_NO/)\n"
"MIME-Version: 1.0\n"
@@ -18,1252 +18,1131 @@ msgstr ""
"Language: nb_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../include/dba/dba_driver.php:50
+#: ../../include/dba/dba_driver.php:132
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Kan ikke finne DNS-informasjon om databasetjener '%s'"
-#: ../../include/photo/photo_driver.php:643 ../../include/photos.php:51
+#: ../../include/photo/photo_driver.php:680 ../../include/photos.php:52
+#: ../../mod/photos.php:91 ../../mod/photos.php:654
#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:301
-#: ../../mod/profile_photo.php:421 ../../mod/photos.php:91
-#: ../../mod/photos.php:653 ../../mod/photos.php:675
+#: ../../mod/profile_photo.php:423
msgid "Profile Photos"
msgstr "Profilbilder"
-#: ../../include/bbcode.php:128 ../../include/bbcode.php:648
-#: ../../include/bbcode.php:651 ../../include/bbcode.php:656
-#: ../../include/bbcode.php:659 ../../include/bbcode.php:662
-#: ../../include/bbcode.php:665 ../../include/bbcode.php:670
-#: ../../include/bbcode.php:673 ../../include/bbcode.php:678
-#: ../../include/bbcode.php:681 ../../include/bbcode.php:684
-#: ../../include/bbcode.php:687
-msgid "Image/photo"
-msgstr "Bilde/fotografi"
-
-#: ../../include/bbcode.php:163 ../../include/bbcode.php:698
-msgid "Encrypted content"
-msgstr "Kryptert innhold"
-
-#: ../../include/bbcode.php:179
-msgid "QR code"
-msgstr "QR-kode"
-
-#: ../../include/bbcode.php:228
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s skrev følgende %2$s %3$s"
-
-#: ../../include/bbcode.php:230
-msgid "post"
-msgstr "innlegg"
-
-#: ../../include/bbcode.php:616 ../../include/bbcode.php:636
-msgid "$1 wrote:"
-msgstr "$1 skrev:"
-
-#: ../../include/oembed.php:171
-msgid "Embedded content"
-msgstr "Innebygget innhold"
-
-#: ../../include/oembed.php:180
-msgid "Embedding disabled"
-msgstr "Innbygging avskrudd"
-
-#: ../../include/notify.php:23
-msgid "created a new post"
-msgstr "laget et nytt innlegg"
-
-#: ../../include/notify.php:24
-#, php-format
-msgid "commented on %s's post"
-msgstr "kommenterte på %s sitt innlegg"
-
-#: ../../include/conversation.php:117 ../../include/text.php:1705
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:45 ../../mod/like.php:111
+#: ../../include/conversation.php:120 ../../include/diaspora.php:1923
+#: ../../include/text.php:1747 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/tagger.php:45 ../../mod/like.php:298
msgid "photo"
msgstr "foto"
-#: ../../include/conversation.php:120 ../../include/text.php:1708
+#: ../../include/conversation.php:123 ../../include/text.php:1750
#: ../../mod/tagger.php:49
msgid "event"
msgstr "hendelse"
-#: ../../include/conversation.php:123
+#: ../../include/conversation.php:126 ../../mod/like.php:89
msgid "channel"
msgstr "kanal"
-#: ../../include/conversation.php:145 ../../include/text.php:1711
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:53 ../../mod/like.php:111
+#: ../../include/conversation.php:148 ../../include/diaspora.php:1923
+#: ../../include/text.php:1753 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/tagger.php:53 ../../mod/like.php:298
msgid "status"
msgstr "status"
-#: ../../include/conversation.php:147 ../../include/text.php:1713
+#: ../../include/conversation.php:150 ../../include/text.php:1755
#: ../../mod/tagger.php:55
msgid "comment"
msgstr "kommentar"
-#: ../../include/conversation.php:161 ../../mod/like.php:142
+#: ../../include/conversation.php:164 ../../include/diaspora.php:1952
+#: ../../mod/like.php:344
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr "%1$s liker %2$s sin %3$s"
-#: ../../include/conversation.php:164 ../../mod/like.php:144
+#: ../../include/conversation.php:167 ../../mod/like.php:346
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr "%1$s liker ikke %2$s sin %3$s"
-#: ../../include/conversation.php:201
+#: ../../include/conversation.php:204
#, php-format
msgid "%1$s is now connected with %2$s"
msgstr "%1$s er nå forbundet med %2$s"
-#: ../../include/conversation.php:236
+#: ../../include/conversation.php:239
#, php-format
msgid "%1$s poked %2$s"
msgstr "%1$s prikket %2$s"
-#: ../../include/conversation.php:240 ../../include/text.php:895
+#: ../../include/conversation.php:243 ../../include/text.php:905
msgid "poked"
msgstr "prikket"
-#: ../../include/conversation.php:258 ../../mod/mood.php:63
+#: ../../include/conversation.php:261 ../../mod/mood.php:63
#, php-format
msgctxt "mood"
msgid "%1$s is %2$s"
msgstr "%1$s er %2$s"
-#: ../../include/conversation.php:631 ../../include/ItemObject.php:114
+#: ../../include/conversation.php:637 ../../include/ItemObject.php:126
msgid "Select"
msgstr "Velg"
-#: ../../include/conversation.php:632 ../../include/apps.php:232
-#: ../../include/ItemObject.php:108 ../../mod/settings.php:578
-#: ../../mod/connedit.php:398 ../../mod/filestorage.php:175
-#: ../../mod/group.php:176 ../../mod/admin.php:758 ../../mod/admin.php:887
-#: ../../mod/thing.php:236 ../../mod/photos.php:1041
+#: ../../include/conversation.php:638 ../../include/RedDAV/RedBrowser.php:251
+#: ../../include/apps.php:250 ../../include/ItemObject.php:120
+#: ../../mod/photos.php:1069 ../../mod/connedit.php:476
+#: ../../mod/thing.php:234 ../../mod/settings.php:612 ../../mod/group.php:176
+#: ../../mod/admin.php:730 ../../mod/admin.php:861
msgid "Delete"
msgstr "Slett"
-#: ../../include/conversation.php:639 ../../include/ItemObject.php:89
-#: ../../mod/photos.php:844
+#: ../../include/conversation.php:645 ../../include/ItemObject.php:89
msgid "Private Message"
msgstr "Privat melding"
-#: ../../include/conversation.php:646 ../../include/ItemObject.php:182
-msgid "Message is verified"
-msgstr "Innlegg er bekreftet"
+#: ../../include/conversation.php:652 ../../include/ItemObject.php:194
+msgid "Message signature validated"
+msgstr "Innleggets signatur er bekreftet"
+
+#: ../../include/conversation.php:653 ../../include/ItemObject.php:195
+msgid "Message signature incorrect"
+msgstr "Innleggets signatur er feil"
-#: ../../include/conversation.php:666
+#: ../../include/conversation.php:674
#, php-format
msgid "View %s's profile @ %s"
msgstr "Vis %s sin profile @ %s"
-#: ../../include/conversation.php:680
+#: ../../include/conversation.php:689
msgid "Categories:"
msgstr "Kategorier:"
-#: ../../include/conversation.php:681
+#: ../../include/conversation.php:690
msgid "Filed under:"
msgstr "Sortert under:"
-#: ../../include/conversation.php:690 ../../include/ItemObject.php:250
+#: ../../include/conversation.php:698 ../../include/ItemObject.php:265
#, php-format
msgid " from %s"
msgstr "fra %s"
-#: ../../include/conversation.php:693 ../../include/ItemObject.php:253
+#: ../../include/conversation.php:701 ../../include/ItemObject.php:268
#, php-format
msgid "last edited: %s"
msgstr "sist endret: %s"
-#: ../../include/conversation.php:694 ../../include/ItemObject.php:254
+#: ../../include/conversation.php:702 ../../include/ItemObject.php:269
#, php-format
msgid "Expires: %s"
msgstr "Utløper: %s"
-#: ../../include/conversation.php:709
+#: ../../include/conversation.php:717
msgid "View in context"
msgstr "Vis i sammenheng"
-#: ../../include/conversation.php:711 ../../include/conversation.php:1127
-#: ../../include/ItemObject.php:294 ../../mod/editblock.php:120
-#: ../../mod/editlayout.php:115 ../../mod/editpost.php:121
-#: ../../mod/editwebpage.php:152 ../../mod/mail.php:222 ../../mod/mail.php:336
-#: ../../mod/photos.php:972
+#: ../../include/conversation.php:719 ../../include/conversation.php:1153
+#: ../../include/ItemObject.php:310 ../../mod/photos.php:977
+#: ../../mod/editblock.php:152 ../../mod/editlayout.php:148
+#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:183
+#: ../../mod/mail.php:234 ../../mod/mail.php:349
msgid "Please wait"
msgstr "Vennligst vent"
-#: ../../include/conversation.php:838
+#: ../../include/conversation.php:843
msgid "remove"
msgstr "fjern"
-#: ../../include/conversation.php:842
+#: ../../include/conversation.php:847 ../../include/nav.php:257
msgid "Loading..."
msgstr "Laster..."
-#: ../../include/conversation.php:843
+#: ../../include/conversation.php:848
msgid "Delete Selected Items"
msgstr "Slett valgte elementer"
-#: ../../include/conversation.php:934
+#: ../../include/conversation.php:942
msgid "View Source"
msgstr "Vis kilde"
-#: ../../include/conversation.php:935
+#: ../../include/conversation.php:943
msgid "Follow Thread"
msgstr "Følg tråd"
-#: ../../include/conversation.php:936
+#: ../../include/conversation.php:944
msgid "View Status"
msgstr "Vis status"
-#: ../../include/conversation.php:937 ../../include/nav.php:81
-#: ../../mod/connedit.php:351 ../../mod/connedit.php:465
+#: ../../include/conversation.php:945 ../../include/nav.php:99
+#: ../../mod/connedit.php:429 ../../mod/connedit.php:544
msgid "View Profile"
msgstr "Vis profil"
-#: ../../include/conversation.php:938
+#: ../../include/conversation.php:946
msgid "View Photos"
msgstr "Vis bilder"
-#: ../../include/conversation.php:939
+#: ../../include/conversation.php:947
msgid "Matrix Activity"
msgstr "Matrix-aktivitet"
-#: ../../include/conversation.php:940
+#: ../../include/conversation.php:948 ../../include/widgets.php:135
+#: ../../include/widgets.php:175 ../../include/Contact.php:107
+#: ../../include/identity.php:840 ../../mod/directory.php:224
+#: ../../mod/suggest.php:51 ../../mod/match.php:62
+msgid "Connect"
+msgstr "Koble"
+
+#: ../../include/conversation.php:949
msgid "Edit Contact"
msgstr "Endre kontakt"
-#: ../../include/conversation.php:941
+#: ../../include/conversation.php:950
msgid "Send PM"
msgstr "Send privat melding"
-#: ../../include/conversation.php:942 ../../include/apps.php:135
+#: ../../include/conversation.php:951 ../../include/apps.php:143
msgid "Poke"
msgstr "Prikk"
-#: ../../include/conversation.php:998
+#: ../../include/conversation.php:1003 ../../include/RedDAV/RedBrowser.php:163
+#: ../../include/apps.php:331 ../../include/apps.php:382
+#: ../../mod/photos.php:713 ../../mod/photos.php:1131
+#: ../../mod/connedit.php:512
+msgid "Unknown"
+msgstr "Ukjent"
+
+#: ../../include/conversation.php:1024
#, php-format
msgid "%s likes this."
msgstr "%s liker dette."
-#: ../../include/conversation.php:998
+#: ../../include/conversation.php:1024
#, php-format
msgid "%s doesn't like this."
msgstr "%s liker ikke dette."
-#: ../../include/conversation.php:1002
+#: ../../include/conversation.php:1028
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgid_plural "<span %1$s>%2$d people</span> like this."
msgstr[0] "<span %1$s>%2$d person</span> liker dette."
msgstr[1] "<span %1$s>%2$d personer</span> liker dette."
-#: ../../include/conversation.php:1004
+#: ../../include/conversation.php:1030
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgid_plural "<span %1$s>%2$d people</span> don't like this."
msgstr[0] "<span %1$s>%2$d person</span> liker ikke dette."
msgstr[1] "<span %1$s>%2$d personer</span> liker ikke dette."
-#: ../../include/conversation.php:1010
+#: ../../include/conversation.php:1036
msgid "and"
msgstr "og"
-#: ../../include/conversation.php:1013
+#: ../../include/conversation.php:1039
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ", og %d annen person"
msgstr[1] ", og %d andre personer"
-#: ../../include/conversation.php:1014
+#: ../../include/conversation.php:1040
#, php-format
msgid "%s like this."
msgstr "%s liker dette."
-#: ../../include/conversation.php:1014
+#: ../../include/conversation.php:1040
#, php-format
msgid "%s don't like this."
msgstr "%s liker ikke dette."
-#: ../../include/conversation.php:1071
+#: ../../include/conversation.php:1097
msgid "Visible to <strong>everybody</strong>"
msgstr "Synlig for <strong>alle</strong>"
-#: ../../include/conversation.php:1072 ../../mod/mail.php:171
-#: ../../mod/mail.php:269
+#: ../../include/conversation.php:1098 ../../mod/mail.php:170
+#: ../../mod/mail.php:282
msgid "Please enter a link URL:"
msgstr "Vennligst skriv inn en lenke URL:"
-#: ../../include/conversation.php:1073
+#: ../../include/conversation.php:1099
msgid "Please enter a video link/URL:"
msgstr "Vennligst skriv en videolenke/URL:"
-#: ../../include/conversation.php:1074
+#: ../../include/conversation.php:1100
msgid "Please enter an audio link/URL:"
msgstr "Vennligst skriv en lydlenke/URL:"
-#: ../../include/conversation.php:1075
+#: ../../include/conversation.php:1101
msgid "Tag term:"
msgstr "Merkelapp:"
-#: ../../include/conversation.php:1076 ../../mod/filer.php:49
+#: ../../include/conversation.php:1102 ../../mod/filer.php:49
msgid "Save to Folder:"
msgstr "Lagre til mappe:"
-#: ../../include/conversation.php:1077
+#: ../../include/conversation.php:1103
msgid "Where are you right now?"
msgstr "Hvor er du akkurat nå?"
-#: ../../include/conversation.php:1078 ../../mod/editpost.php:52
-#: ../../mod/mail.php:172 ../../mod/mail.php:270
+#: ../../include/conversation.php:1104 ../../mod/editpost.php:52
+#: ../../mod/mail.php:171 ../../mod/mail.php:283
msgid "Expires YYYY-MM-DD HH:MM"
msgstr "Utløper YYYY-MM-DD HH:MM"
-#: ../../include/conversation.php:1088 ../../include/page_widgets.php:40
-#: ../../include/ItemObject.php:592 ../../mod/editblock.php:141
-#: ../../mod/editlayout.php:135 ../../mod/editpost.php:140
-#: ../../mod/editwebpage.php:174 ../../mod/webpages.php:124
-#: ../../mod/photos.php:992
+#: ../../include/conversation.php:1114 ../../include/page_widgets.php:40
+#: ../../include/ItemObject.php:608 ../../mod/photos.php:997
+#: ../../mod/webpages.php:166 ../../mod/editblock.php:173
+#: ../../mod/editlayout.php:168 ../../mod/editpost.php:140
+#: ../../mod/editwebpage.php:205
msgid "Preview"
msgstr "Forhåndsvisning"
-#: ../../include/conversation.php:1102 ../../mod/layouts.php:113
-#: ../../mod/photos.php:971
+#: ../../include/conversation.php:1128 ../../mod/photos.php:976
+#: ../../mod/editblock.php:198 ../../mod/editlayout.php:193
+#: ../../mod/editwebpage.php:230 ../../mod/layouts.php:168
msgid "Share"
msgstr "Del"
-#: ../../include/conversation.php:1104 ../../mod/editwebpage.php:139
+#: ../../include/conversation.php:1130 ../../mod/editwebpage.php:170
msgid "Page link title"
msgstr "Sidens lenketittel"
-#: ../../include/conversation.php:1107
+#: ../../include/conversation.php:1133
msgid "Post as"
msgstr "Lag innlegg som"
-#: ../../include/conversation.php:1108 ../../mod/editblock.php:112
-#: ../../mod/editlayout.php:107 ../../mod/editpost.php:113
-#: ../../mod/editwebpage.php:144 ../../mod/mail.php:219 ../../mod/mail.php:332
+#: ../../include/conversation.php:1134 ../../mod/editblock.php:144
+#: ../../mod/editlayout.php:140 ../../mod/editpost.php:113
+#: ../../mod/editwebpage.php:175 ../../mod/mail.php:231 ../../mod/mail.php:345
msgid "Upload photo"
msgstr "Last opp bilde"
-#: ../../include/conversation.php:1109
+#: ../../include/conversation.php:1135
msgid "upload photo"
msgstr "last opp bilde"
-#: ../../include/conversation.php:1110 ../../mod/editblock.php:113
-#: ../../mod/editlayout.php:108 ../../mod/editpost.php:114
-#: ../../mod/editwebpage.php:145 ../../mod/mail.php:220 ../../mod/mail.php:333
+#: ../../include/conversation.php:1136 ../../mod/editblock.php:145
+#: ../../mod/editlayout.php:141 ../../mod/editpost.php:114
+#: ../../mod/editwebpage.php:176 ../../mod/mail.php:232 ../../mod/mail.php:346
msgid "Attach file"
msgstr "Legg ved fil"
-#: ../../include/conversation.php:1111
+#: ../../include/conversation.php:1137
msgid "attach file"
msgstr "legg ved fil"
-#: ../../include/conversation.php:1112 ../../mod/editblock.php:114
-#: ../../mod/editlayout.php:109 ../../mod/editpost.php:115
-#: ../../mod/editwebpage.php:146 ../../mod/mail.php:221 ../../mod/mail.php:334
+#: ../../include/conversation.php:1138 ../../mod/editblock.php:146
+#: ../../mod/editlayout.php:142 ../../mod/editpost.php:115
+#: ../../mod/editwebpage.php:177 ../../mod/mail.php:233 ../../mod/mail.php:347
msgid "Insert web link"
msgstr "Sett inn web-lenke"
-#: ../../include/conversation.php:1113
+#: ../../include/conversation.php:1139
msgid "web link"
msgstr "web-lenke"
-#: ../../include/conversation.php:1114
+#: ../../include/conversation.php:1140
msgid "Insert video link"
msgstr "Sett inn videolenke"
-#: ../../include/conversation.php:1115
+#: ../../include/conversation.php:1141
msgid "video link"
msgstr "videolenke"
-#: ../../include/conversation.php:1116
+#: ../../include/conversation.php:1142
msgid "Insert audio link"
msgstr "Sett inn lenke til lyd"
-#: ../../include/conversation.php:1117
+#: ../../include/conversation.php:1143
msgid "audio link"
msgstr "lenke til lyd"
-#: ../../include/conversation.php:1118 ../../mod/editblock.php:118
-#: ../../mod/editlayout.php:113 ../../mod/editpost.php:119
-#: ../../mod/editwebpage.php:150
+#: ../../include/conversation.php:1144 ../../mod/editblock.php:150
+#: ../../mod/editlayout.php:146 ../../mod/editpost.php:119
+#: ../../mod/editwebpage.php:181
msgid "Set your location"
msgstr "Angi din plassering"
-#: ../../include/conversation.php:1119
+#: ../../include/conversation.php:1145
msgid "set location"
msgstr "angi plassering"
-#: ../../include/conversation.php:1120 ../../mod/editblock.php:119
-#: ../../mod/editlayout.php:114 ../../mod/editpost.php:120
-#: ../../mod/editwebpage.php:151
+#: ../../include/conversation.php:1146 ../../mod/editblock.php:151
+#: ../../mod/editlayout.php:147 ../../mod/editpost.php:120
+#: ../../mod/editwebpage.php:182
msgid "Clear browser location"
msgstr "Fjern nettleserplassering"
-#: ../../include/conversation.php:1121
+#: ../../include/conversation.php:1147
msgid "clear location"
msgstr "fjern plassering"
-#: ../../include/conversation.php:1123 ../../mod/editblock.php:132
-#: ../../mod/editlayout.php:126 ../../mod/editpost.php:132
-#: ../../mod/editwebpage.php:167
+#: ../../include/conversation.php:1149 ../../mod/editblock.php:164
+#: ../../mod/editlayout.php:159 ../../mod/editpost.php:132
+#: ../../mod/editwebpage.php:198
msgid "Set title"
msgstr "Angi tittel"
-#: ../../include/conversation.php:1126 ../../mod/editblock.php:135
-#: ../../mod/editlayout.php:129 ../../mod/editpost.php:134
-#: ../../mod/editwebpage.php:169
+#: ../../include/conversation.php:1152 ../../mod/events.php:563
+#: ../../mod/editblock.php:167 ../../mod/editlayout.php:162
+#: ../../mod/editpost.php:134 ../../mod/editwebpage.php:200
msgid "Categories (comma-separated list)"
msgstr "Kategorier (kommaseparert liste)"
-#: ../../include/conversation.php:1128 ../../mod/editblock.php:121
-#: ../../mod/editlayout.php:116 ../../mod/editpost.php:122
-#: ../../mod/editwebpage.php:153
+#: ../../include/conversation.php:1154 ../../mod/editblock.php:153
+#: ../../mod/editlayout.php:149 ../../mod/editpost.php:122
+#: ../../mod/editwebpage.php:184
msgid "Permission settings"
msgstr "Tillatelser - innstillinger"
-#: ../../include/conversation.php:1129
+#: ../../include/conversation.php:1155
msgid "permissions"
msgstr "tillatelser"
-#: ../../include/conversation.php:1136 ../../mod/editblock.php:129
-#: ../../mod/editlayout.php:123 ../../mod/editpost.php:129
-#: ../../mod/editwebpage.php:162
+#: ../../include/conversation.php:1162 ../../mod/editblock.php:161
+#: ../../mod/editlayout.php:156 ../../mod/editpost.php:129
+#: ../../mod/editwebpage.php:193
msgid "Public post"
msgstr "Offentlig innlegg"
-#: ../../include/conversation.php:1138 ../../mod/editblock.php:136
-#: ../../mod/editlayout.php:130 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:170
+#: ../../include/conversation.php:1164 ../../mod/editblock.php:168
+#: ../../mod/editlayout.php:163 ../../mod/editpost.php:135
+#: ../../mod/editwebpage.php:201
msgid "Example: bob@example.com, mary@example.com"
msgstr "Eksempel: ola@eksempel.no, kari@eksempel.no"
-#: ../../include/conversation.php:1151 ../../mod/editblock.php:146
-#: ../../mod/editlayout.php:140 ../../mod/editpost.php:146
-#: ../../mod/editwebpage.php:179 ../../mod/mail.php:226 ../../mod/mail.php:339
+#: ../../include/conversation.php:1177 ../../mod/editblock.php:178
+#: ../../mod/editlayout.php:173 ../../mod/editpost.php:146
+#: ../../mod/editwebpage.php:210 ../../mod/mail.php:238 ../../mod/mail.php:352
msgid "Set expiration date"
msgstr "Angi utløpsdato"
-#: ../../include/conversation.php:1153 ../../include/ItemObject.php:595
-#: ../../mod/editpost.php:148 ../../mod/mail.php:228 ../../mod/mail.php:341
+#: ../../include/conversation.php:1179 ../../include/ItemObject.php:611
+#: ../../mod/editpost.php:148 ../../mod/mail.php:240 ../../mod/mail.php:354
msgid "Encrypt text"
msgstr "Krypter tekst"
-#: ../../include/conversation.php:1155 ../../mod/editpost.php:150
+#: ../../include/conversation.php:1181 ../../mod/events.php:569
+#: ../../mod/editpost.php:150
msgid "OK"
msgstr "OK"
-#: ../../include/conversation.php:1156 ../../mod/settings.php:516
-#: ../../mod/settings.php:542 ../../mod/editpost.php:151
-#: ../../mod/fbrowser.php:82 ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11
-#: ../../mod/tagrm.php:94
+#: ../../include/conversation.php:1182 ../../mod/events.php:568
+#: ../../mod/editpost.php:151 ../../mod/settings.php:550
+#: ../../mod/settings.php:576 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
msgid "Cancel"
msgstr "Avbryt"
-#: ../../include/conversation.php:1398
+#: ../../include/conversation.php:1426
msgid "Discover"
msgstr "Oppdage"
-#: ../../include/conversation.php:1401
+#: ../../include/conversation.php:1429
msgid "Imported public streams"
msgstr "Importerte offentlige strømmer"
-#: ../../include/conversation.php:1406
+#: ../../include/conversation.php:1434
msgid "Commented Order"
msgstr "Kommentert"
-#: ../../include/conversation.php:1409
+#: ../../include/conversation.php:1437
msgid "Sort by Comment Date"
msgstr "Sorter etter kommentert dato"
-#: ../../include/conversation.php:1413
+#: ../../include/conversation.php:1441
msgid "Posted Order"
msgstr "Lagt inn"
-#: ../../include/conversation.php:1416
+#: ../../include/conversation.php:1444
msgid "Sort by Post Date"
msgstr "Sorter etter innleggsdato"
-#: ../../include/conversation.php:1421 ../../include/widgets.php:82
+#: ../../include/conversation.php:1449 ../../include/widgets.php:89
msgid "Personal"
msgstr "Personlig"
-#: ../../include/conversation.php:1424
+#: ../../include/conversation.php:1452
msgid "Posts that mention or involve you"
msgstr "Innlegg som nevner eller involverer deg"
-#: ../../include/conversation.php:1430 ../../mod/connections.php:211
-#: ../../mod/connections.php:224 ../../mod/menu.php:61
+#: ../../include/conversation.php:1458 ../../mod/connections.php:211
+#: ../../mod/connections.php:224 ../../mod/menu.php:80
msgid "New"
msgstr "Nye"
-#: ../../include/conversation.php:1433
+#: ../../include/conversation.php:1461
msgid "Activity Stream - by date"
msgstr "Aktivitetsstrøm - etter dato"
-#: ../../include/conversation.php:1439
+#: ../../include/conversation.php:1467
msgid "Starred"
msgstr "Stjerne"
-#: ../../include/conversation.php:1442
+#: ../../include/conversation.php:1470
msgid "Favourite Posts"
msgstr "Favorittinnlegg"
-#: ../../include/conversation.php:1449
+#: ../../include/conversation.php:1477
msgid "Spam"
msgstr "Søppel"
-#: ../../include/conversation.php:1452
+#: ../../include/conversation.php:1480
msgid "Posts flagged as SPAM"
msgstr "Innlegg merket som SØPPEL"
-#: ../../include/conversation.php:1486 ../../mod/admin.php:891
+#: ../../include/conversation.php:1520 ../../mod/admin.php:865
msgid "Channel"
msgstr "Kanal"
-#: ../../include/conversation.php:1489
+#: ../../include/conversation.php:1523
msgid "Status Messages and Posts"
msgstr "Statusmeldinger og -innlegg"
-#: ../../include/conversation.php:1498
+#: ../../include/conversation.php:1532
msgid "About"
msgstr "Om"
-#: ../../include/conversation.php:1501
+#: ../../include/conversation.php:1535
msgid "Profile Details"
msgstr "Profildetaljer"
-#: ../../include/conversation.php:1507 ../../include/nav.php:84
-#: ../../include/apps.php:129 ../../mod/fbrowser.php:25
+#: ../../include/conversation.php:1541 ../../include/nav.php:105
+#: ../../include/apps.php:137 ../../mod/fbrowser.php:25
msgid "Photos"
msgstr "Bilder"
-#: ../../include/conversation.php:1510 ../../include/photos.php:313
+#: ../../include/conversation.php:1544 ../../include/photos.php:341
msgid "Photo Albums"
msgstr "Fotoalbum"
-#: ../../include/conversation.php:1516 ../../include/nav.php:85
-#: ../../include/apps.php:125 ../../mod/fbrowser.php:114
+#: ../../include/conversation.php:1550 ../../include/RedDAV/RedBrowser.php:241
+#: ../../include/nav.php:106 ../../include/apps.php:133
+#: ../../mod/fbrowser.php:114
msgid "Files"
msgstr "Filer"
-#: ../../include/conversation.php:1519
+#: ../../include/conversation.php:1553
msgid "Files and Storage"
msgstr "Filer og lagring"
-#: ../../include/conversation.php:1528 ../../include/conversation.php:1531
+#: ../../include/conversation.php:1563 ../../include/conversation.php:1566
msgid "Chatrooms"
msgstr "Chatrom"
-#: ../../include/conversation.php:1538 ../../include/nav.php:93
-#: ../../include/apps.php:119
+#: ../../include/conversation.php:1576 ../../include/nav.php:117
+#: ../../include/apps.php:127
msgid "Bookmarks"
msgstr "Bokmerker"
-#: ../../include/conversation.php:1541
+#: ../../include/conversation.php:1579
msgid "Saved Bookmarks"
msgstr "Lagrede bokmerker"
-#: ../../include/conversation.php:1549 ../../include/nav.php:95
-#: ../../include/apps.php:126 ../../mod/webpages.php:79
+#: ../../include/conversation.php:1587 ../../include/nav.php:121
+#: ../../include/apps.php:134 ../../mod/webpages.php:160
msgid "Webpages"
msgstr "Websider"
-#: ../../include/conversation.php:1552
+#: ../../include/conversation.php:1590
msgid "Manage Webpages"
msgstr "HÃ¥ndtere websider"
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr "laget et nytt innlegg"
+
+#: ../../include/notify.php:24
+#, php-format
+msgid "commented on %s's post"
+msgstr "kommenterte på %s sitt innlegg"
+
+#: ../../include/dir_fns.php:56
+msgid "Sort Options"
+msgstr "Sorteringsmuligheter"
+
+#: ../../include/dir_fns.php:57
+msgid "Alphabetic"
+msgstr "Alfabetisk"
+
+#: ../../include/dir_fns.php:58
+msgid "Reverse Alphabetic"
+msgstr "Omvendt alfabetisk"
+
+#: ../../include/dir_fns.php:59
+msgid "Newest to Oldest"
+msgstr "Nyest til eldst"
+
+#: ../../include/dir_fns.php:71
+msgid "Enable Safe Search"
+msgstr "Skru på Trygt søk"
+
+#: ../../include/dir_fns.php:73
+msgid "Disable Safe Search"
+msgstr "Skru av Trygt søk"
+
+#: ../../include/dir_fns.php:75
+msgid "Safe Mode"
+msgstr "Trygt modus"
+
#: ../../include/page_widgets.php:6
msgid "New Page"
msgstr "Ny side"
#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
-#: ../../include/apps.php:231 ../../include/menu.php:42
-#: ../../include/ItemObject.php:96 ../../mod/settings.php:577
-#: ../../mod/blocks.php:94 ../../mod/connections.php:393
-#: ../../mod/editblock.php:111 ../../mod/editlayout.php:106
-#: ../../mod/editpost.php:112 ../../mod/editwebpage.php:143
-#: ../../mod/filestorage.php:174 ../../mod/thing.php:235
-#: ../../mod/layouts.php:112 ../../mod/menu.php:59 ../../mod/webpages.php:120
+#: ../../include/RedDAV/RedBrowser.php:250 ../../include/menu.php:42
+#: ../../include/apps.php:249 ../../include/ItemObject.php:100
+#: ../../mod/blocks.php:132 ../../mod/connections.php:381
+#: ../../mod/connections.php:394 ../../mod/connections.php:413
+#: ../../mod/thing.php:233 ../../mod/webpages.php:162
+#: ../../mod/editblock.php:143 ../../mod/editlayout.php:139
+#: ../../mod/editpost.php:112 ../../mod/settings.php:611
+#: ../../mod/editwebpage.php:174 ../../mod/layouts.php:167
+#: ../../mod/menu.php:78
msgid "Edit"
msgstr "Endre"
-#: ../../include/page_widgets.php:39 ../../mod/blocks.php:97
-#: ../../mod/layouts.php:116 ../../mod/webpages.php:123
+#: ../../include/page_widgets.php:39 ../../mod/blocks.php:135
+#: ../../mod/webpages.php:165 ../../mod/layouts.php:171
msgid "View"
msgstr "Vis"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:125
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:167
msgid "Actions"
msgstr "Handlinger"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:126
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:168
msgid "Page Link"
msgstr "Sidelenke"
-#: ../../include/page_widgets.php:43 ../../mod/webpages.php:127
+#: ../../include/page_widgets.php:43 ../../mod/webpages.php:169
msgid "Title"
msgstr "Tittel"
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:128
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:170
msgid "Created"
msgstr "Laget"
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:129
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:171
msgid "Edited"
msgstr "Endret"
-#: ../../include/security.php:301
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn."
-
-#: ../../include/account.php:23
-msgid "Not a valid email address"
-msgstr "Ikke en gyldig e-postadresse"
-
-#: ../../include/account.php:25
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet"
-
-#: ../../include/account.php:31
-msgid "Your email address is already registered at this site."
-msgstr "Din e-postadresse er allerede registrert på dette nettstedet."
-
-#: ../../include/account.php:64
-msgid "An invitation is required."
-msgstr "En invitasjon er påkrevd."
-
-#: ../../include/account.php:68
-msgid "Invitation could not be verified."
-msgstr "Invitasjon kunne ikke bekreftes."
-
-#: ../../include/account.php:119
-msgid "Please enter the required information."
-msgstr "Vennligst skriv inn nødvendig informasjon."
-
-#: ../../include/account.php:187
-msgid "Failed to store account information."
-msgstr "Mislyktes med å lagre kontoinformasjon."
-
-#: ../../include/account.php:273
-#, php-format
-msgid "Registration request at %s"
-msgstr "Registreringsforespørsel hos %s"
-
-#: ../../include/account.php:275 ../../include/account.php:302
-#: ../../include/account.php:359
-msgid "Administrator"
-msgstr "Administrator"
-
-#: ../../include/account.php:297
-msgid "your registration password"
-msgstr "ditt registreringspassord"
+#: ../../include/chat.php:10
+msgid "Missing room name"
+msgstr "Mangler romnavn"
-#: ../../include/account.php:300 ../../include/account.php:357
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registreringsdetaljer for %s"
+#: ../../include/chat.php:19
+msgid "Duplicate room name"
+msgstr "Duplikat romnavn"
-#: ../../include/account.php:366
-msgid "Account approved."
-msgstr "Konto godkjent."
+#: ../../include/chat.php:68 ../../include/chat.php:76
+msgid "Invalid room specifier."
+msgstr "Ugyldig rom-spesifisering"
-#: ../../include/account.php:400
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrering trukket tilbake for %s"
+#: ../../include/chat.php:105
+msgid "Room not found."
+msgstr "Rommet ble ikke funnet."
-#: ../../include/photos.php:15 ../../include/attach.php:119
-#: ../../include/attach.php:166 ../../include/attach.php:229
-#: ../../include/attach.php:243 ../../include/attach.php:283
-#: ../../include/attach.php:297 ../../include/attach.php:322
-#: ../../include/attach.php:513 ../../include/attach.php:585
-#: ../../include/chat.php:116 ../../include/items.php:3679
-#: ../../mod/mood.php:112 ../../mod/mitem.php:73 ../../mod/achievements.php:27
-#: ../../mod/settings.php:492 ../../mod/poke.php:128 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/authtest.php:13 ../../mod/profile.php:64
-#: ../../mod/profile.php:72 ../../mod/block.php:22 ../../mod/block.php:72
-#: ../../mod/profile_photo.php:263 ../../mod/profile_photo.php:276
-#: ../../mod/blocks.php:29 ../../mod/blocks.php:44 ../../mod/profiles.php:152
-#: ../../mod/profiles.php:462 ../../mod/bookmarks.php:46
+#: ../../include/chat.php:116 ../../include/items.php:4013
+#: ../../include/attach.php:116 ../../include/attach.php:163
+#: ../../include/attach.php:226 ../../include/attach.php:240
+#: ../../include/attach.php:280 ../../include/attach.php:294
+#: ../../include/attach.php:318 ../../include/attach.php:511
+#: ../../include/attach.php:584 ../../include/photos.php:15
+#: ../../mod/mood.php:112 ../../mod/mitem.php:106
+#: ../../mod/achievements.php:30 ../../mod/profiles.php:179
+#: ../../mod/profiles.php:550 ../../mod/setup.php:207 ../../mod/poke.php:128
+#: ../../mod/api.php:26 ../../mod/api.php:31 ../../mod/authtest.php:13
+#: ../../mod/profile.php:64 ../../mod/profile.php:72 ../../mod/block.php:22
+#: ../../mod/block.php:72 ../../mod/sources.php:66 ../../mod/blocks.php:67
+#: ../../mod/blocks.php:75 ../../mod/register.php:72 ../../mod/events.php:195
#: ../../mod/channel.php:89 ../../mod/channel.php:193
#: ../../mod/channel.php:236 ../../mod/chat.php:90 ../../mod/chat.php:95
-#: ../../mod/register.php:68 ../../mod/regmod.php:18 ../../mod/common.php:35
-#: ../../mod/network.php:12 ../../mod/connections.php:169
-#: ../../mod/connedit.php:221 ../../mod/delegate.php:6 ../../mod/page.php:30
-#: ../../mod/page.php:80 ../../mod/setup.php:203 ../../mod/editblock.php:34
-#: ../../mod/pdledit.php:21 ../../mod/editlayout.php:48
-#: ../../mod/editpost.php:13 ../../mod/editwebpage.php:44
-#: ../../mod/editwebpage.php:83 ../../mod/sources.php:66
-#: ../../mod/events.php:141 ../../mod/filestorage.php:10
-#: ../../mod/filestorage.php:59 ../../mod/filestorage.php:75
-#: ../../mod/filestorage.php:98 ../../mod/fsuggest.php:78
-#: ../../mod/suggest.php:26 ../../mod/group.php:9 ../../mod/thing.php:247
-#: ../../mod/thing.php:263 ../../mod/thing.php:298 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/item.php:179 ../../mod/item.php:187
-#: ../../mod/item.php:894 ../../mod/layouts.php:27 ../../mod/layouts.php:39
+#: ../../mod/regmod.php:17 ../../mod/network.php:12 ../../mod/common.php:35
+#: ../../mod/photos.php:68 ../../mod/connections.php:169
+#: ../../mod/manage.php:6 ../../mod/connedit.php:266 ../../mod/thing.php:247
+#: ../../mod/thing.php:264 ../../mod/thing.php:299 ../../mod/webpages.php:67
+#: ../../mod/bookmarks.php:46 ../../mod/editblock.php:65
+#: ../../mod/pdledit.php:21 ../../mod/editlayout.php:64
+#: ../../mod/editlayout.php:89 ../../mod/editpost.php:13
+#: ../../mod/settings.php:526 ../../mod/editwebpage.php:64
+#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:118
+#: ../../mod/profile_photo.php:263 ../../mod/profile_photo.php:276
+#: ../../mod/fsuggest.php:78 ../../mod/filestorage.php:18
+#: ../../mod/filestorage.php:67 ../../mod/filestorage.php:82
+#: ../../mod/filestorage.php:109 ../../mod/delegate.php:6
+#: ../../mod/group.php:9 ../../mod/suggest.php:26 ../../mod/item.php:191
+#: ../../mod/item.php:199 ../../mod/item.php:971 ../../mod/like.php:154
+#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/locs.php:71
+#: ../../mod/layouts.php:67 ../../mod/layouts.php:74 ../../mod/layouts.php:85
#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/viewsrc.php:12 ../../mod/mail.php:108 ../../mod/manage.php:6
-#: ../../mod/menu.php:44 ../../mod/webpages.php:40 ../../mod/message.php:16
-#: ../../mod/new_channel.php:66 ../../mod/new_channel.php:97
-#: ../../mod/photos.php:68 ../../mod/photos.php:526
-#: ../../mod/notifications.php:66 ../../mod/appman.php:66 ../../index.php:186
-#: ../../index.php:361
+#: ../../mod/viewsrc.php:14 ../../mod/mail.php:111 ../../mod/menu.php:61
+#: ../../mod/message.php:16 ../../mod/new_channel.php:68
+#: ../../mod/new_channel.php:99 ../../mod/notifications.php:66
+#: ../../mod/page.php:28 ../../mod/page.php:78 ../../mod/appman.php:66
+#: ../../mod/service_limits.php:7 ../../index.php:190 ../../index.php:390
msgid "Permission denied."
msgstr "Tillatelse avslått."
-#: ../../include/photos.php:89
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes"
-
-#: ../../include/photos.php:96
-msgid "Image file is empty."
-msgstr "Bildefilen er tom."
-
-#: ../../include/photos.php:123 ../../mod/profile_photo.php:216
-msgid "Unable to process image"
-msgstr "Kan ikke behandle bildet"
-
-#: ../../include/photos.php:186
-msgid "Photo storage failed."
-msgstr "Bildelagring mislyktes."
-
-#: ../../include/photos.php:317 ../../mod/photos.php:691
-#: ../../mod/photos.php:1188
-msgid "Upload New Photos"
-msgstr "Last opp nye bilder"
-
-#: ../../include/acl_selectors.php:240
-msgid "Visible to everybody"
-msgstr "Synlig for alle"
-
-#: ../../include/acl_selectors.php:241
-msgid "Show"
-msgstr "Vis"
-
-#: ../../include/acl_selectors.php:242
-msgid "Don't show"
-msgstr "Ikke vis"
-
-#: ../../include/acl_selectors.php:248 ../../mod/chat.php:209
-#: ../../mod/filestorage.php:126 ../../mod/photos.php:604
-#: ../../mod/photos.php:947
-msgid "Permissions"
-msgstr "Tillatelser"
-
-#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:289
-msgid "Close"
-msgstr "Lukk"
-
-#: ../../include/activities.php:39
-msgid " and "
-msgstr "og"
+#: ../../include/chat.php:126
+msgid "Room is full"
+msgstr "Rommet er fullt"
-#: ../../include/activities.php:47
-msgid "public profile"
-msgstr "offentlig profil"
+#: ../../include/oembed.php:171
+msgid "Embedded content"
+msgstr "Innebygget innhold"
-#: ../../include/activities.php:52
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s endret %2$s til &ldquo;%3$s&rdquo;"
+#: ../../include/oembed.php:180
+msgid "Embedding disabled"
+msgstr "Innbygging avskrudd"
-#: ../../include/activities.php:53
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Besøk %1$s sitt %2$s"
+#: ../../include/widgets.php:29 ../../include/contact_widgets.php:92
+#: ../../include/taxonomy.php:230
+msgid "Categories"
+msgstr "Kategorier"
-#: ../../include/activities.php:56
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s har oppdatert %2$s, endret %3$s."
+#: ../../include/widgets.php:86 ../../include/nav.php:171
+#: ../../mod/apps.php:33
+msgid "Apps"
+msgstr "Apper"
-#: ../../include/api.php:1016
-msgid "Public Timeline"
-msgstr "Offentlig tidslinje"
+#: ../../include/widgets.php:87
+msgid "System"
+msgstr "System"
-#: ../../include/attach.php:224 ../../include/attach.php:278
-msgid "Item was not found."
-msgstr "Elementet ble ikke funnet."
+#: ../../include/widgets.php:90
+msgid "Create Personal App"
+msgstr "Lag personlig app"
-#: ../../include/attach.php:335
-msgid "No source file."
-msgstr "Ingen kildefil."
+#: ../../include/widgets.php:91
+msgid "Edit Personal App"
+msgstr "Endre personlig app"
-#: ../../include/attach.php:352
-msgid "Cannot locate file to replace"
-msgstr "Kan ikke finne filen som skal byttes ut"
+#: ../../include/widgets.php:137 ../../mod/suggest.php:53
+msgid "Ignore/Hide"
+msgstr "Ignorer/Skjul"
-#: ../../include/attach.php:370
-msgid "Cannot locate file to revise/update"
-msgstr "Finner ikke filen som skal revideres/oppdateres"
+#: ../../include/widgets.php:143 ../../mod/connections.php:267
+msgid "Suggestions"
+msgstr "Forslag"
-#: ../../include/attach.php:381
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Filens størrelse overgår grensen på %d"
+#: ../../include/widgets.php:144
+msgid "See more..."
+msgstr "Se mer..."
-#: ../../include/attach.php:393
+#: ../../include/widgets.php:166
#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes."
-
-#: ../../include/attach.php:475
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt."
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Du har %1$.0f av %2$.0f tillate forbindelser."
-#: ../../include/attach.php:487
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Lagret fil kunne ikke bekreftes. Opplasting mislyktes."
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr "Legg til ny forbindelse"
-#: ../../include/attach.php:528 ../../include/attach.php:545
-msgid "Path not available."
-msgstr "Stien er ikke tilgjengelig."
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr "Skriv kanal-adressen"
-#: ../../include/attach.php:590
-msgid "Empty pathname"
-msgstr "Tomt sti-navn"
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Eksempel: ola.nordmann@eksempel.no, http://eksempel.no/karinordmann"
-#: ../../include/attach.php:606
-msgid "duplicate filename or path"
-msgstr "duplikat av filnavn eller sti"
+#: ../../include/widgets.php:191
+msgid "Notes"
+msgstr "Merknader"
-#: ../../include/attach.php:630
-msgid "Path not found."
-msgstr "Stien ble ikke funnet."
+#: ../../include/widgets.php:193 ../../include/text.php:827
+#: ../../include/text.php:839 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50 ../../mod/admin.php:1339 ../../mod/admin.php:1360
+msgid "Save"
+msgstr "Lagre"
-#: ../../include/attach.php:674
-msgid "mkdir failed."
-msgstr "mkdir mislyktes."
+#: ../../include/widgets.php:263
+msgid "Remove term"
+msgstr "Fjern begrep"
-#: ../../include/attach.php:678
-msgid "database storage failed."
-msgstr "databaselagring mislyktes."
+#: ../../include/widgets.php:272 ../../include/features.php:58
+msgid "Saved Searches"
+msgstr "Lagrede søk"
-#: ../../include/bb2diaspora.php:441 ../../include/event.php:11
-msgid "l F d, Y \\@ g:i A"
-msgstr "l F d, Y \\@ g:i A"
+#: ../../include/widgets.php:273 ../../include/group.php:303
+msgid "add"
+msgstr "legg til"
-#: ../../include/bb2diaspora.php:447 ../../include/event.php:20
-msgid "Starts:"
-msgstr "Starter:"
+#: ../../include/widgets.php:303 ../../include/contact_widgets.php:57
+#: ../../include/features.php:72
+msgid "Saved Folders"
+msgstr "Lagrede mapper"
-#: ../../include/bb2diaspora.php:455 ../../include/event.php:30
-msgid "Finishes:"
-msgstr "Slutter:"
+#: ../../include/widgets.php:306 ../../include/contact_widgets.php:60
+#: ../../include/contact_widgets.php:95
+msgid "Everything"
+msgstr "Alt"
-#: ../../include/bb2diaspora.php:463 ../../include/event.php:40
-#: ../../include/identity.php:726 ../../mod/directory.php:156
-#: ../../mod/dirprofile.php:105 ../../mod/events.php:485
-msgid "Location:"
-msgstr "Plassering:"
+#: ../../include/widgets.php:352
+msgid "Archives"
+msgstr "Arkiv"
-#: ../../include/nav.php:77 ../../include/nav.php:101 ../../boot.php:1456
-msgid "Logout"
-msgstr "Logg ut"
+#: ../../include/widgets.php:428
+msgid "Refresh"
+msgstr "Forny"
-#: ../../include/nav.php:77 ../../include/nav.php:101
-msgid "End this session"
-msgstr "Avslutt denne økten"
+#: ../../include/widgets.php:429 ../../mod/connedit.php:506
+msgid "Me"
+msgstr "Meg"
-#: ../../include/nav.php:80 ../../include/nav.php:135
-msgid "Home"
-msgstr "Hjem"
+#: ../../include/widgets.php:430 ../../mod/connedit.php:508
+msgid "Best Friends"
+msgstr "Bestevenner"
-#: ../../include/nav.php:80
-msgid "Your posts and conversations"
-msgstr "Dine innlegg og samtaler"
+#: ../../include/widgets.php:431 ../../include/identity.php:387
+#: ../../include/identity.php:388 ../../include/identity.php:395
+#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:509
+#: ../../mod/settings.php:304 ../../mod/settings.php:308
+#: ../../mod/settings.php:309 ../../mod/settings.php:312
+#: ../../mod/settings.php:323
+msgid "Friends"
+msgstr "Venner"
-#: ../../include/nav.php:81
-msgid "Your profile page"
-msgstr "Din profilside"
+#: ../../include/widgets.php:432
+msgid "Co-workers"
+msgstr "Medarbeidere"
-#: ../../include/nav.php:83
-msgid "Edit Profiles"
-msgstr "Endre profiler"
+#: ../../include/widgets.php:433 ../../mod/connedit.php:510
+msgid "Former Friends"
+msgstr "Tidligere venner"
-#: ../../include/nav.php:83
-msgid "Manage/Edit profiles"
-msgstr "HÃ¥ndter/endre profiler"
+#: ../../include/widgets.php:434 ../../mod/connedit.php:511
+msgid "Acquaintances"
+msgstr "Bekjente"
-#: ../../include/nav.php:84
-msgid "Your photos"
-msgstr "Dine bilder"
+#: ../../include/widgets.php:435
+msgid "Everybody"
+msgstr "Alle"
-#: ../../include/nav.php:85
-msgid "Your files"
-msgstr "Dine filer"
+#: ../../include/widgets.php:469
+msgid "Account settings"
+msgstr "Kontoinnstillinger"
-#: ../../include/nav.php:90 ../../include/apps.php:136
-msgid "Chat"
-msgstr "Chat"
+#: ../../include/widgets.php:475
+msgid "Channel settings"
+msgstr "Kanalinnstillinger"
-#: ../../include/nav.php:90
-msgid "Your chatrooms"
-msgstr "Dine chatterom"
+#: ../../include/widgets.php:481
+msgid "Additional features"
+msgstr "Tilleggsfunksjoner"
-#: ../../include/nav.php:93
-msgid "Your bookmarks"
-msgstr "Dine bokmerker"
+#: ../../include/widgets.php:487
+msgid "Feature settings"
+msgstr "Funksjonsinnstillinger"
-#: ../../include/nav.php:95
-msgid "Your webpages"
-msgstr "Dine websider"
+#: ../../include/widgets.php:493
+msgid "Display settings"
+msgstr "Visningsinnstillinger"
-#: ../../include/nav.php:99 ../../include/apps.php:121 ../../boot.php:1457
-msgid "Login"
-msgstr "Logg inn"
+#: ../../include/widgets.php:499
+msgid "Connected apps"
+msgstr "Tilkoblede app-er"
-#: ../../include/nav.php:99
-msgid "Sign in"
-msgstr "Logg på"
+#: ../../include/widgets.php:505
+msgid "Export channel"
+msgstr "Eksporter kanal"
-#: ../../include/nav.php:116
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - klikk for å logge ut"
+#: ../../include/widgets.php:511
+msgid "Export content"
+msgstr "Eksporter innhold"
-#: ../../include/nav.php:121
-msgid "Click to authenticate to your home hub"
-msgstr "Klikk for å godkjennes mot din hjemme-hub"
+#: ../../include/widgets.php:520 ../../mod/connedit.php:538
+msgid "Connection Default Permissions"
+msgstr "Forbindelsens standard tillatelser"
-#: ../../include/nav.php:135
-msgid "Home Page"
-msgstr "Hjemmeside"
+#: ../../include/widgets.php:528
+msgid "Premium Channel Settings"
+msgstr "Premiumkanal-innstillinger"
-#: ../../include/nav.php:139 ../../mod/register.php:206 ../../boot.php:1433
-msgid "Register"
-msgstr "Registrer"
+#: ../../include/widgets.php:537 ../../include/features.php:49
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Kanalkilder"
-#: ../../include/nav.php:139
-msgid "Create an account"
-msgstr "Lag en konto"
+#: ../../include/widgets.php:548 ../../include/nav.php:218
+#: ../../include/apps.php:132 ../../mod/admin.php:951 ../../mod/admin.php:1156
+msgid "Settings"
+msgstr "Innstillinger"
-#: ../../include/nav.php:144 ../../include/apps.php:132 ../../mod/help.php:60
-#: ../../mod/help.php:65
-msgid "Help"
-msgstr "Hjelp"
+#: ../../include/widgets.php:562 ../../mod/mail.php:124
+#: ../../mod/message.php:31
+msgid "Messages"
+msgstr "Meldinger"
-#: ../../include/nav.php:144
-msgid "Help and documentation"
-msgstr "Hjelp og dokumentasjon"
+#: ../../include/widgets.php:567
+msgid "Check Mail"
+msgstr "Sjekk meldinger"
-#: ../../include/nav.php:147 ../../include/widgets.php:79
-#: ../../mod/apps.php:33
-msgid "Apps"
-msgstr "Apper"
+#: ../../include/widgets.php:572 ../../include/nav.php:209
+msgid "New Message"
+msgstr "Ny melding"
-#: ../../include/nav.php:147
-msgid "Applications, utilities, links, games"
-msgstr "Programmer, verktøy, lenker, spill"
+#: ../../include/widgets.php:648
+msgid "Chat Rooms"
+msgstr "Chatrom"
-#: ../../include/nav.php:149 ../../include/text.php:813
-#: ../../include/text.php:827 ../../include/apps.php:137
-#: ../../mod/search.php:29
-msgid "Search"
-msgstr "Søk"
+#: ../../include/widgets.php:666
+msgid "Bookmarked Chatrooms"
+msgstr "Bokmerkede chatrom"
-#: ../../include/nav.php:149
-msgid "Search site content"
-msgstr "Søk stedets innhold"
+#: ../../include/widgets.php:684
+msgid "Suggested Chatrooms"
+msgstr "Foreslåtte chatrom"
-#: ../../include/nav.php:152 ../../include/apps.php:131
-#: ../../mod/directory.php:210
-msgid "Directory"
-msgstr "Katalog"
+#: ../../include/zot.php:664
+msgid "Invalid data packet"
+msgstr "Ugyldig datapakke"
-#: ../../include/nav.php:152
-msgid "Channel Locator"
-msgstr "Kanal-finner"
+#: ../../include/zot.php:680
+msgid "Unable to verify channel signature"
+msgstr "Ikke i stand til å sjekke kanalsignaturen"
-#: ../../include/nav.php:163 ../../include/apps.php:123
-msgid "Matrix"
-msgstr "Matrix"
+#: ../../include/zot.php:1799
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Ikke i stand til å bekrefte signaturen til %s"
-#: ../../include/nav.php:163
-msgid "Your matrix"
-msgstr "Din matrix"
+#: ../../include/activities.php:39
+msgid " and "
+msgstr "og"
-#: ../../include/nav.php:164
-msgid "Mark all matrix notifications seen"
-msgstr "Merk alle matrix-varsler som sett"
+#: ../../include/activities.php:47
+msgid "public profile"
+msgstr "offentlig profil"
-#: ../../include/nav.php:166 ../../include/apps.php:127
-msgid "Channel Home"
-msgstr "Kanalhjem"
+#: ../../include/activities.php:52
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s endret %2$s til &ldquo;%3$s&rdquo;"
-#: ../../include/nav.php:166
-msgid "Channel home"
-msgstr "Kanalhjem"
+#: ../../include/activities.php:53
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Besøk %1$s sitt %2$s"
-#: ../../include/nav.php:167
-msgid "Mark all channel notifications seen"
-msgstr "Merk alle kanalvarsler som sett"
+#: ../../include/activities.php:56
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s har oppdatert %2$s, endret %3$s."
-#: ../../include/nav.php:170 ../../mod/connections.php:386
-msgid "Connections"
-msgstr "Forbindelser"
+#: ../../include/bb2diaspora.php:384
+msgid "Attachments:"
+msgstr "Vedlegg:"
-#: ../../include/nav.php:173
-msgid "Notices"
-msgstr "Varsel"
+#: ../../include/bb2diaspora.php:463 ../../include/event.php:11
+msgid "l F d, Y \\@ g:i A"
+msgstr "l F d, Y \\@ g:i A"
-#: ../../include/nav.php:173
-msgid "Notifications"
-msgstr "Varsler"
+#: ../../include/bb2diaspora.php:465
+msgid "Redmatrix event notification:"
+msgstr "RedMatrix hendelsesvarsling:"
-#: ../../include/nav.php:174
-msgid "See all notifications"
-msgstr "Se alle varsler"
+#: ../../include/bb2diaspora.php:469 ../../include/event.php:20
+msgid "Starts:"
+msgstr "Starter:"
-#: ../../include/nav.php:175 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Merk alle systemvarsler som sett"
+#: ../../include/bb2diaspora.php:477 ../../include/event.php:30
+msgid "Finishes:"
+msgstr "Slutter:"
-#: ../../include/nav.php:177 ../../include/apps.php:133
-msgid "Mail"
-msgstr "Melding"
+#: ../../include/bb2diaspora.php:485 ../../include/event.php:40
+#: ../../include/identity.php:891 ../../mod/directory.php:159
+#: ../../mod/events.php:579
+msgid "Location:"
+msgstr "Plassering:"
-#: ../../include/nav.php:177
-msgid "Private mail"
-msgstr "Privat post"
+#: ../../include/RedDAV/RedBrowser.php:106
+#: ../../include/RedDAV/RedBrowser.php:249
+msgid "parent"
+msgstr "opp et nivå"
-#: ../../include/nav.php:178
-msgid "See all private messages"
-msgstr "Se alle private meldinger"
+#: ../../include/RedDAV/RedBrowser.php:130
+msgid "Collection"
+msgstr "Samling"
-#: ../../include/nav.php:179
-msgid "Mark all private messages seen"
-msgstr "Merk alle private meldinger som sett"
+#: ../../include/RedDAV/RedBrowser.php:133
+msgid "Principal"
+msgstr "Viktigste"
-#: ../../include/nav.php:180
-msgid "Inbox"
-msgstr "Innboks"
+#: ../../include/RedDAV/RedBrowser.php:136
+msgid "Addressbook"
+msgstr "Adressebok"
-#: ../../include/nav.php:181
-msgid "Outbox"
-msgstr "Utboks"
+#: ../../include/RedDAV/RedBrowser.php:139
+msgid "Calendar"
+msgstr "Kalender"
-#: ../../include/nav.php:182 ../../include/widgets.php:536
-msgid "New Message"
-msgstr "Ny melding"
+#: ../../include/RedDAV/RedBrowser.php:142
+msgid "Schedule Inbox"
+msgstr "Tidsplan innboks"
-#: ../../include/nav.php:185 ../../include/apps.php:130
-#: ../../mod/events.php:377
-msgid "Events"
-msgstr "Hendelser"
+#: ../../include/RedDAV/RedBrowser.php:145
+msgid "Schedule Outbox"
+msgstr "Tidsplan utboks"
-#: ../../include/nav.php:185
-msgid "Event Calendar"
-msgstr "Kalender"
+#: ../../include/RedDAV/RedBrowser.php:223
+#, php-format
+msgid "%1$s used"
+msgstr "%1$s brukt"
-#: ../../include/nav.php:186
-msgid "See all events"
-msgstr "Se alle hendelser"
+#: ../../include/RedDAV/RedBrowser.php:228
+#, php-format
+msgid "%1$s used of %2$s (%3$s&#37;)"
+msgstr "%1$s brukt av %2$s (%3$s&#37;)"
-#: ../../include/nav.php:187
-msgid "Mark all events seen"
-msgstr "Merk alle hendelser som sett"
+#: ../../include/RedDAV/RedBrowser.php:245 ../../mod/settings.php:551
+#: ../../mod/settings.php:577 ../../mod/admin.php:866
+msgid "Name"
+msgstr "Navn"
-#: ../../include/nav.php:189 ../../include/apps.php:122
-msgid "Channel Select"
-msgstr "Kanaler"
+#: ../../include/RedDAV/RedBrowser.php:246
+msgid "Type"
+msgstr "Type"
-#: ../../include/nav.php:189
-msgid "Manage Your Channels"
-msgstr "HÃ¥ndter dine kanaler"
+#: ../../include/RedDAV/RedBrowser.php:247
+msgid "Size"
+msgstr "Størrelse"
-#: ../../include/nav.php:191 ../../include/apps.php:124
-#: ../../include/widgets.php:514 ../../mod/admin.php:977
-#: ../../mod/admin.php:1182
-msgid "Settings"
-msgstr "Innstillinger"
+#: ../../include/RedDAV/RedBrowser.php:248
+msgid "Last Modified"
+msgstr "Sist endret"
-#: ../../include/nav.php:191
-msgid "Account/Channel Settings"
-msgstr "Konto-/kanal-innstillinger"
+#: ../../include/RedDAV/RedBrowser.php:252
+msgid "Total"
+msgstr "Totalt"
-#: ../../include/nav.php:199 ../../mod/admin.php:117
-msgid "Admin"
-msgstr "Administrator"
+#: ../../include/RedDAV/RedBrowser.php:305
+msgid "Create new folder"
+msgstr "Lag ny mappe"
-#: ../../include/nav.php:199
-msgid "Site Setup and Configuration"
-msgstr "Nettstedsoppsett og -konfigurasjon"
+#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/mitem.php:169
+#: ../../mod/menu.php:100 ../../mod/new_channel.php:122
+msgid "Create"
+msgstr "Lag"
-#: ../../include/nav.php:224
-msgid "Nothing new here"
-msgstr "Ikke noe nytt her"
+#: ../../include/RedDAV/RedBrowser.php:307
+msgid "Upload file"
+msgstr "Last opp fil"
-#: ../../include/nav.php:228
-msgid "Please wait..."
-msgstr "Vennligst vent..."
+#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/photos.php:738
+#: ../../mod/photos.php:1245 ../../mod/profile_photo.php:361
+msgid "Upload"
+msgstr "Last opp"
-#: ../../include/bookmarks.php:42
+#: ../../include/bookmarks.php:35
#, php-format
msgid "%1$s's bookmarks"
msgstr "%1$s sine bokmerker"
-#: ../../include/chat.php:10
-msgid "Missing room name"
-msgstr "Mangler romnavn"
-
-#: ../../include/chat.php:19
-msgid "Duplicate room name"
-msgstr "Duplikat romnavn"
-
-#: ../../include/chat.php:68 ../../include/chat.php:76
-msgid "Invalid room specifier."
-msgstr "Ugyldig rom-spesifisering"
-
-#: ../../include/chat.php:105
-msgid "Room not found."
-msgstr "Rommet ble ikke funnet."
-
-#: ../../include/chat.php:126
-msgid "Room is full"
-msgstr "Rommet er fullt"
-
-#: ../../include/taxonomy.php:210
-msgid "Tags"
-msgstr "Merkelapper"
-
-#: ../../include/taxonomy.php:227
-msgid "Keywords"
-msgstr "Nøkkelord"
-
-#: ../../include/taxonomy.php:252
-msgid "have"
-msgstr "har"
+#: ../../include/follow.php:28
+msgid "Channel is blocked on this site."
+msgstr "Kanalen er blokkert på dette nettstedet."
-#: ../../include/taxonomy.php:252
-msgid "has"
-msgstr "har"
+#: ../../include/follow.php:33
+msgid "Channel location missing."
+msgstr "Kanalplassering mangler."
-#: ../../include/taxonomy.php:253
-msgid "want"
-msgstr "ønsker"
+#: ../../include/follow.php:82
+msgid "Response from remote channel was incomplete."
+msgstr "Svaret fra den andre kanalen var ikke komplett."
-#: ../../include/taxonomy.php:253
-msgid "wants"
-msgstr "ønsker"
+#: ../../include/follow.php:99
+msgid "Channel was deleted and no longer exists."
+msgstr "Kanalen er slettet og finnes ikke lenger."
-#: ../../include/taxonomy.php:254 ../../include/ItemObject.php:208
-msgid "like"
-msgstr "liker"
+#: ../../include/follow.php:135 ../../include/follow.php:202
+msgid "Protocol disabled."
+msgstr "Protokollen er avskrudd."
-#: ../../include/taxonomy.php:254
-msgid "likes"
-msgstr "liker"
+#: ../../include/follow.php:176
+msgid "Channel discovery failed."
+msgstr "Kanaloppdagelse mislyktes."
-#: ../../include/taxonomy.php:255 ../../include/ItemObject.php:209
-msgid "dislike"
-msgstr "misliker"
+#: ../../include/follow.php:192
+msgid "local account not found."
+msgstr "lokal konto ble ikke funnet."
-#: ../../include/taxonomy.php:255
-msgid "dislikes"
-msgstr "misliker"
+#: ../../include/follow.php:220
+msgid "Cannot connect to yourself."
+msgstr "Kan ikke lage forbindelse med deg selv."
-#: ../../include/comanche.php:35 ../../view/theme/apw/php/config.php:185
-#: ../../view/theme/redbasic/php/config.php:84
+#: ../../include/comanche.php:35 ../../mod/admin.php:353
+#: ../../view/theme/apw/php/config.php:185
msgid "Default"
msgstr "Standard"
-#: ../../include/contact_selectors.php:30
-msgid "Unknown | Not categorised"
-msgstr "Ukjent | Ikke kategorisert"
-
-#: ../../include/contact_selectors.php:31
-msgid "Block immediately"
-msgstr "Blokker umiddelbart"
-
-#: ../../include/contact_selectors.php:32
-msgid "Shady, spammer, self-marketer"
-msgstr "Lyssky, utsender av søppelpost, egenkampanje"
-
-#: ../../include/contact_selectors.php:33
-msgid "Known to me, but no opinion"
-msgstr "Bekjent av meg, men jeg er uten mening"
-
-#: ../../include/contact_selectors.php:34
-msgid "OK, probably harmless"
-msgstr "OK, antakelig harmløs"
-
-#: ../../include/contact_selectors.php:35
-msgid "Reputable, has my trust"
-msgstr "Hederlig, har min tillit"
-
-#: ../../include/contact_selectors.php:54
+#: ../../include/contact_selectors.php:56
msgid "Frequently"
msgstr "Ofte"
-#: ../../include/contact_selectors.php:55
+#: ../../include/contact_selectors.php:57
msgid "Hourly"
msgstr "Hver time"
-#: ../../include/contact_selectors.php:56
+#: ../../include/contact_selectors.php:58
msgid "Twice daily"
msgstr "To ganger daglig"
-#: ../../include/contact_selectors.php:57
+#: ../../include/contact_selectors.php:59
msgid "Daily"
msgstr "Daglig"
-#: ../../include/contact_selectors.php:58
+#: ../../include/contact_selectors.php:60
msgid "Weekly"
msgstr "Ukentlig"
-#: ../../include/contact_selectors.php:59
+#: ../../include/contact_selectors.php:61
msgid "Monthly"
msgstr "MÃ¥nedlig"
-#: ../../include/contact_selectors.php:74
+#: ../../include/contact_selectors.php:76
msgid "Friendica"
msgstr "Friendica"
-#: ../../include/contact_selectors.php:75
+#: ../../include/contact_selectors.php:77
msgid "OStatus"
msgstr "OStatus"
-#: ../../include/contact_selectors.php:76
+#: ../../include/contact_selectors.php:78
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/contact_selectors.php:77 ../../mod/admin.php:754
-#: ../../mod/admin.php:763 ../../boot.php:1459
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:726
+#: ../../mod/admin.php:735 ../../boot.php:1488
msgid "Email"
msgstr "E-post"
-#: ../../include/contact_selectors.php:78
+#: ../../include/contact_selectors.php:80
msgid "Diaspora"
msgstr "Diaspora"
-#: ../../include/contact_selectors.php:79
+#: ../../include/contact_selectors.php:81
msgid "Facebook"
msgstr "Facebook"
-#: ../../include/contact_selectors.php:80
+#: ../../include/contact_selectors.php:82
msgid "Zot!"
msgstr "Zot!"
-#: ../../include/contact_selectors.php:81
+#: ../../include/contact_selectors.php:83
msgid "LinkedIn"
msgstr "LinkedIn"
-#: ../../include/contact_selectors.php:82
+#: ../../include/contact_selectors.php:84
msgid "XMPP/IM"
msgstr "XMPP/IM"
-#: ../../include/contact_selectors.php:83
+#: ../../include/contact_selectors.php:85
msgid "MySpace"
msgstr "MySpace"
@@ -1274,7 +1153,7 @@ msgid_plural "%d invitations available"
msgstr[0] "%d invitasjon tilgjengelig"
msgstr[1] "%d invitasjoner tilgjengelig"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:446
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:416
msgid "Advanced"
msgstr "Avansert"
@@ -1294,8 +1173,8 @@ msgstr "Forbindelse/Følg"
msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Eksempler: Ola Nordmann, fisking"
-#: ../../include/contact_widgets.php:26 ../../mod/connections.php:392
-#: ../../mod/directory.php:206 ../../mod/directory.php:211
+#: ../../include/contact_widgets.php:26 ../../mod/directory.php:267
+#: ../../mod/directory.php:272 ../../mod/connections.php:412
msgid "Find"
msgstr "Finn"
@@ -1312,26 +1191,8 @@ msgid "Invite Friends"
msgstr "Inviter venner"
#: ../../include/contact_widgets.php:32
-msgid "Exammple: name=fred and country=iceland"
-msgstr "Eksempel: name=fred og country=iceland"
-
-#: ../../include/contact_widgets.php:33
-msgid "Advanced Find"
-msgstr "Avansert finn"
-
-#: ../../include/contact_widgets.php:58 ../../include/features.php:66
-#: ../../include/widgets.php:296
-msgid "Saved Folders"
-msgstr "Lagrede mapper"
-
-#: ../../include/contact_widgets.php:61 ../../include/contact_widgets.php:95
-#: ../../include/widgets.php:299
-msgid "Everything"
-msgstr "Alt"
-
-#: ../../include/contact_widgets.php:92 ../../include/widgets.php:29
-msgid "Categories"
-msgstr "Kategorier"
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Avansert eksempel: navn=fred og land=island"
#: ../../include/contact_widgets.php:125
#, php-format
@@ -1344,125 +1205,6 @@ msgstr[1] "%d forbindelser felles"
msgid "show more"
msgstr "vis mer"
-#: ../../include/event.php:326
-msgid "This event has been added to your calendar."
-msgstr "Denne hendelsen er lagt til i din kalender."
-
-#: ../../include/reddav.php:1045
-msgid "Edit File properties"
-msgstr "Endre filegenskaper"
-
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
-msgstr "Forskjellig"
-
-#: ../../include/datetime.php:152 ../../include/datetime.php:284
-msgid "year"
-msgstr "Ã¥r"
-
-#: ../../include/datetime.php:157 ../../include/datetime.php:285
-msgid "month"
-msgstr "måned"
-
-#: ../../include/datetime.php:162 ../../include/datetime.php:287
-msgid "day"
-msgstr "dag"
-
-#: ../../include/datetime.php:275
-msgid "never"
-msgstr "aldri"
-
-#: ../../include/datetime.php:281
-msgid "less than a second ago"
-msgstr "for mindre enn ett sekund siden"
-
-#: ../../include/datetime.php:284
-msgid "years"
-msgstr "Ã¥r"
-
-#: ../../include/datetime.php:285
-msgid "months"
-msgstr "måneder"
-
-#: ../../include/datetime.php:286
-msgid "week"
-msgstr "uke"
-
-#: ../../include/datetime.php:286
-msgid "weeks"
-msgstr "uker"
-
-#: ../../include/datetime.php:287
-msgid "days"
-msgstr "dager"
-
-#: ../../include/datetime.php:288
-msgid "hour"
-msgstr "time"
-
-#: ../../include/datetime.php:288
-msgid "hours"
-msgstr "timer"
-
-#: ../../include/datetime.php:289
-msgid "minute"
-msgstr "minutt"
-
-#: ../../include/datetime.php:289
-msgid "minutes"
-msgstr "minutter"
-
-#: ../../include/datetime.php:290
-msgid "second"
-msgstr "sekund"
-
-#: ../../include/datetime.php:290
-msgid "seconds"
-msgstr "sekunder"
-
-#: ../../include/datetime.php:299
-#, php-format
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s siden"
-
-#: ../../include/datetime.php:504
-#, php-format
-msgid "%1$s's birthday"
-msgstr "%1$s sin fødselsdag"
-
-#: ../../include/datetime.php:505
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Gratulerer med dagen, %1$s !"
-
-#: ../../include/dir_fns.php:36
-msgid "Sort Options"
-msgstr "Sorteringsmuligheter"
-
-#: ../../include/dir_fns.php:37
-msgid "Alphabetic"
-msgstr "Alfabetisk"
-
-#: ../../include/dir_fns.php:38
-msgid "Reverse Alphabetic"
-msgstr "Omvendt alfabetisk"
-
-#: ../../include/dir_fns.php:39
-msgid "Newest to Oldest"
-msgstr "Nyest til eldst"
-
-#: ../../include/dir_fns.php:51
-msgid "Enable Safe Search"
-msgstr "Skru på Trygt søk"
-
-#: ../../include/dir_fns.php:53
-msgid "Disable Safe Search"
-msgstr "Skru av Trygt søk"
-
-#: ../../include/dir_fns.php:55
-msgid "Safe Mode"
-msgstr "Trygt modus"
-
#: ../../include/enotify.php:41
msgid "Red Matrix Notification"
msgstr "Red Matrix-varsling"
@@ -1655,6 +1397,522 @@ msgstr "Bilde:"
msgid "Please visit %s to approve or reject the suggestion."
msgstr "Vennligst besøk %s for å godkjenne eller avslå dette forslaget."
+#: ../../include/enotify.php:477
+msgid "[Red:Notify]"
+msgstr "[Red:Notify]"
+
+#: ../../include/event.php:326
+msgid "This event has been added to your calendar."
+msgstr "Denne hendelsen er lagt til i din kalender."
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "En slettet gruppe med dette navnet ble gjenopprettet. Eksisterende tillatelser for elementet <strong>kan</strong> gjelde for denne gruppen og fremtidige medlemmer. Hvis du ønsket noe annet, vennligst lag en ny gruppe med et annet navn."
+
+#: ../../include/group.php:235
+msgid "Default privacy group for new contacts"
+msgstr "Standard personverngruppe for nye kontakter"
+
+#: ../../include/group.php:254 ../../mod/admin.php:735
+msgid "All Channels"
+msgstr "Alle kanaler"
+
+#: ../../include/group.php:276
+msgid "edit"
+msgstr "endre"
+
+#: ../../include/group.php:298
+msgid "Collections"
+msgstr "Samlinger"
+
+#: ../../include/group.php:299
+msgid "Edit collection"
+msgstr "Endre samling"
+
+#: ../../include/group.php:300
+msgid "Create a new collection"
+msgstr "Lag en ny samling"
+
+#: ../../include/group.php:301
+msgid "Channels not in any collection"
+msgstr "Kanaler som ikke er i noen samling"
+
+#: ../../include/bbcode.php:112 ../../include/bbcode.php:653
+#: ../../include/bbcode.php:656 ../../include/bbcode.php:661
+#: ../../include/bbcode.php:664 ../../include/bbcode.php:667
+#: ../../include/bbcode.php:670 ../../include/bbcode.php:675
+#: ../../include/bbcode.php:678 ../../include/bbcode.php:683
+#: ../../include/bbcode.php:686 ../../include/bbcode.php:689
+#: ../../include/bbcode.php:692
+msgid "Image/photo"
+msgstr "Bilde/fotografi"
+
+#: ../../include/bbcode.php:147 ../../include/bbcode.php:703
+msgid "Encrypted content"
+msgstr "Kryptert innhold"
+
+#: ../../include/bbcode.php:165
+msgid "Install design element: "
+msgstr "Installer designelement:"
+
+#: ../../include/bbcode.php:171
+msgid "QR code"
+msgstr "QR-kode"
+
+#: ../../include/bbcode.php:220
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s skrev følgende %2$s %3$s"
+
+#: ../../include/bbcode.php:222
+msgid "post"
+msgstr "innlegg"
+
+#: ../../include/bbcode.php:621
+msgid "$1 spoiler"
+msgstr "$1 avsløring"
+
+#: ../../include/bbcode.php:641
+msgid "$1 wrote:"
+msgstr "$1 skrev:"
+
+#: ../../include/taxonomy.php:210
+msgid "Tags"
+msgstr "Merkelapper"
+
+#: ../../include/taxonomy.php:249
+msgid "Keywords"
+msgstr "Nøkkelord"
+
+#: ../../include/taxonomy.php:274
+msgid "have"
+msgstr "har"
+
+#: ../../include/taxonomy.php:274
+msgid "has"
+msgstr "har"
+
+#: ../../include/taxonomy.php:275
+msgid "want"
+msgstr "ønsker"
+
+#: ../../include/taxonomy.php:275
+msgid "wants"
+msgstr "ønsker"
+
+#: ../../include/taxonomy.php:276 ../../include/ItemObject.php:221
+msgid "like"
+msgstr "liker"
+
+#: ../../include/taxonomy.php:276
+msgid "likes"
+msgstr "liker"
+
+#: ../../include/taxonomy.php:277 ../../include/ItemObject.php:222
+msgid "dislike"
+msgstr "misliker"
+
+#: ../../include/taxonomy.php:277
+msgid "dislikes"
+msgstr "misliker"
+
+#: ../../include/taxonomy.php:360 ../../include/identity.php:1148
+#: ../../include/ItemObject.php:146 ../../mod/photos.php:1026
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Liker"
+msgstr[1] "Liker"
+
+#: ../../include/nav.php:95 ../../include/nav.php:128 ../../boot.php:1485
+msgid "Logout"
+msgstr "Logg ut"
+
+#: ../../include/nav.php:95 ../../include/nav.php:128
+msgid "End this session"
+msgstr "Avslutt denne økten"
+
+#: ../../include/nav.php:98 ../../include/nav.php:159
+msgid "Home"
+msgstr "Hjem"
+
+#: ../../include/nav.php:98
+msgid "Your posts and conversations"
+msgstr "Dine innlegg og samtaler"
+
+#: ../../include/nav.php:99
+msgid "Your profile page"
+msgstr "Din profilside"
+
+#: ../../include/nav.php:101
+msgid "Edit Profiles"
+msgstr "Endre profiler"
+
+#: ../../include/nav.php:101
+msgid "Manage/Edit profiles"
+msgstr "HÃ¥ndter/endre profiler"
+
+#: ../../include/nav.php:103 ../../include/identity.php:864
+msgid "Edit Profile"
+msgstr "Endre profil"
+
+#: ../../include/nav.php:103
+msgid "Edit your profile"
+msgstr "Endre din profil"
+
+#: ../../include/nav.php:105
+msgid "Your photos"
+msgstr "Dine bilder"
+
+#: ../../include/nav.php:106
+msgid "Your files"
+msgstr "Dine filer"
+
+#: ../../include/nav.php:111 ../../include/apps.php:144
+msgid "Chat"
+msgstr "Chat"
+
+#: ../../include/nav.php:111
+msgid "Your chatrooms"
+msgstr "Dine chatterom"
+
+#: ../../include/nav.php:117
+msgid "Your bookmarks"
+msgstr "Dine bokmerker"
+
+#: ../../include/nav.php:121
+msgid "Your webpages"
+msgstr "Dine websider"
+
+#: ../../include/nav.php:125 ../../include/apps.php:129 ../../boot.php:1486
+msgid "Login"
+msgstr "Logg inn"
+
+#: ../../include/nav.php:125
+msgid "Sign in"
+msgstr "Logg på"
+
+#: ../../include/nav.php:142
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - klikk for å logge ut"
+
+#: ../../include/nav.php:145
+msgid "Remote authentication"
+msgstr "Fjernautentisering"
+
+#: ../../include/nav.php:145
+msgid "Click to authenticate to your home hub"
+msgstr "Klikk for å godkjennes mot din hjemme-hub"
+
+#: ../../include/nav.php:159
+msgid "Home Page"
+msgstr "Hjemmeside"
+
+#: ../../include/nav.php:163 ../../mod/register.php:224 ../../boot.php:1464
+msgid "Register"
+msgstr "Registrer"
+
+#: ../../include/nav.php:163
+msgid "Create an account"
+msgstr "Lag en konto"
+
+#: ../../include/nav.php:168 ../../include/apps.php:140 ../../mod/help.php:58
+#: ../../mod/help.php:63
+msgid "Help"
+msgstr "Hjelp"
+
+#: ../../include/nav.php:168
+msgid "Help and documentation"
+msgstr "Hjelp og dokumentasjon"
+
+#: ../../include/nav.php:171
+msgid "Applications, utilities, links, games"
+msgstr "Programmer, verktøy, lenker, spill"
+
+#: ../../include/nav.php:173 ../../include/text.php:826
+#: ../../include/text.php:838 ../../include/apps.php:145
+#: ../../mod/search.php:30
+msgid "Search"
+msgstr "Søk"
+
+#: ../../include/nav.php:173
+msgid "Search site content"
+msgstr "Søk stedets innhold"
+
+#: ../../include/nav.php:176 ../../include/apps.php:139
+#: ../../mod/directory.php:271
+msgid "Directory"
+msgstr "Katalog"
+
+#: ../../include/nav.php:176
+msgid "Channel Directory"
+msgstr "Kanalkatalog"
+
+#: ../../include/nav.php:190 ../../include/apps.php:131
+msgid "Matrix"
+msgstr "Matrix"
+
+#: ../../include/nav.php:190
+msgid "Your matrix"
+msgstr "Din matrix"
+
+#: ../../include/nav.php:191
+msgid "Mark all matrix notifications seen"
+msgstr "Merk alle matrix-varsler som sett"
+
+#: ../../include/nav.php:193 ../../include/apps.php:135
+msgid "Channel Home"
+msgstr "Kanalhjem"
+
+#: ../../include/nav.php:193
+msgid "Channel home"
+msgstr "Kanalhjem"
+
+#: ../../include/nav.php:194
+msgid "Mark all channel notifications seen"
+msgstr "Merk alle kanalvarsler som sett"
+
+#: ../../include/nav.php:197 ../../mod/connections.php:406
+msgid "Connections"
+msgstr "Forbindelser"
+
+#: ../../include/nav.php:200
+msgid "Notices"
+msgstr "Varsel"
+
+#: ../../include/nav.php:200
+msgid "Notifications"
+msgstr "Varsler"
+
+#: ../../include/nav.php:201
+msgid "See all notifications"
+msgstr "Se alle varsler"
+
+#: ../../include/nav.php:202 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
+msgstr "Merk alle systemvarsler som sett"
+
+#: ../../include/nav.php:204 ../../include/apps.php:141
+msgid "Mail"
+msgstr "Melding"
+
+#: ../../include/nav.php:204
+msgid "Private mail"
+msgstr "Privat post"
+
+#: ../../include/nav.php:205
+msgid "See all private messages"
+msgstr "Se alle private meldinger"
+
+#: ../../include/nav.php:206
+msgid "Mark all private messages seen"
+msgstr "Merk alle private meldinger som sett"
+
+#: ../../include/nav.php:207
+msgid "Inbox"
+msgstr "Innboks"
+
+#: ../../include/nav.php:208
+msgid "Outbox"
+msgstr "Utboks"
+
+#: ../../include/nav.php:212 ../../include/apps.php:138
+#: ../../mod/events.php:431
+msgid "Events"
+msgstr "Hendelser"
+
+#: ../../include/nav.php:212
+msgid "Event Calendar"
+msgstr "Kalender"
+
+#: ../../include/nav.php:213
+msgid "See all events"
+msgstr "Se alle hendelser"
+
+#: ../../include/nav.php:214
+msgid "Mark all events seen"
+msgstr "Merk alle hendelser som sett"
+
+#: ../../include/nav.php:216 ../../include/apps.php:130
+#: ../../mod/manage.php:148
+msgid "Channel Manager"
+msgstr "Kanalstyring"
+
+#: ../../include/nav.php:216
+msgid "Manage Your Channels"
+msgstr "HÃ¥ndter dine kanaler"
+
+#: ../../include/nav.php:218
+msgid "Account/Channel Settings"
+msgstr "Konto-/kanal-innstillinger"
+
+#: ../../include/nav.php:226 ../../mod/admin.php:123
+msgid "Admin"
+msgstr "Administrator"
+
+#: ../../include/nav.php:226
+msgid "Site Setup and Configuration"
+msgstr "Nettstedsoppsett og -konfigurasjon"
+
+#: ../../include/nav.php:262
+msgid "Please wait..."
+msgstr "Vennligst vent..."
+
+#: ../../include/permissions.php:13
+msgid "Can view my normal stream and posts"
+msgstr "Kan se min normale strøm og innlegg"
+
+#: ../../include/permissions.php:14
+msgid "Can view my default channel profile"
+msgstr "Kan se min standard kanalprofil"
+
+#: ../../include/permissions.php:15
+msgid "Can view my photo albums"
+msgstr "Kan se mine fotoalbum"
+
+#: ../../include/permissions.php:16
+msgid "Can view my connections"
+msgstr "Kan se mine forbindelser"
+
+#: ../../include/permissions.php:17
+msgid "Can view my file storage"
+msgstr "Kan se mitt fillager"
+
+#: ../../include/permissions.php:18
+msgid "Can view my webpages"
+msgstr "Kan se mine websider"
+
+#: ../../include/permissions.php:21
+msgid "Can send me their channel stream and posts"
+msgstr "Kan sende meg deres kanalstrøm og innlegg"
+
+#: ../../include/permissions.php:22
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Kan lage innlegg på min kanalside (\"vegg\")"
+
+#: ../../include/permissions.php:23
+msgid "Can comment on or like my posts"
+msgstr "Kan kommentere på eller like mine innlegg"
+
+#: ../../include/permissions.php:24
+msgid "Can send me private mail messages"
+msgstr "Kan sende meg private meldinger"
+
+#: ../../include/permissions.php:25
+msgid "Can post photos to my photo albums"
+msgstr "Kan legge inn bilder i mine fotoalbum"
+
+#: ../../include/permissions.php:26
+msgid "Can like/dislike stuff"
+msgstr "Kan like/ikke like forskjellige greier"
+
+#: ../../include/permissions.php:26
+msgid "Profiles and things other than posts/comments"
+msgstr "Profiler og andre ting enn innlegg/kommentarer"
+
+#: ../../include/permissions.php:28
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Kan videresende til alle mine kanalkontakter via @navn i innlegg"
+
+#: ../../include/permissions.php:28
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Avansert - nyttig for å lage forumkanaler for grupper"
+
+#: ../../include/permissions.php:29
+msgid "Can chat with me (when available)"
+msgstr "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)"
+
+#: ../../include/permissions.php:30
+msgid "Can write to my file storage"
+msgstr "Kan skrive til mitt fillager"
+
+#: ../../include/permissions.php:31
+msgid "Can edit my webpages"
+msgstr "Kan endre mine websider"
+
+#: ../../include/permissions.php:33
+msgid "Can source my public posts in derived channels"
+msgstr "Kan bruke mine offentlige innlegg som kanalkilde i egne kanaler"
+
+#: ../../include/permissions.php:33
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Litt avansert - svært nyttig i åpne fellesskap"
+
+#: ../../include/permissions.php:35
+msgid "Can administer my channel resources"
+msgstr "Kan administrere mine kanalressurser"
+
+#: ../../include/permissions.php:35
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Ekstremt avansert. La dette være med mindre du vet hva du gjør"
+
+#: ../../include/permissions.php:785
+msgid "Social Networking"
+msgstr "Sosialt nettverk"
+
+#: ../../include/permissions.php:786 ../../include/permissions.php:788
+#: ../../include/permissions.php:790
+msgid "Mostly Public"
+msgstr "Ganske offentlig"
+
+#: ../../include/permissions.php:786 ../../include/permissions.php:788
+#: ../../include/permissions.php:790
+msgid "Restricted"
+msgstr "Begrenset"
+
+#: ../../include/permissions.php:786 ../../include/permissions.php:788
+msgid "Private"
+msgstr "Privat"
+
+#: ../../include/permissions.php:787
+msgid "Community Forum"
+msgstr "Forum for fellesskap"
+
+#: ../../include/permissions.php:789
+msgid "Feed Republish"
+msgstr "Republisering av strømmet innhold"
+
+#: ../../include/permissions.php:791
+msgid "Special Purpose"
+msgstr "Spesiell bruk"
+
+#: ../../include/permissions.php:792
+msgid "Celebrity/Soapbox"
+msgstr "Kjendis/Talerstol"
+
+#: ../../include/permissions.php:792
+msgid "Group Repository"
+msgstr "Gruppelager"
+
+#: ../../include/permissions.php:793 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr "Annen"
+
+#: ../../include/permissions.php:794
+msgid "Custom/Expert Mode"
+msgstr "Tilpasset/Ekspertmodus"
+
+#: ../../include/Contact.php:123
+msgid "New window"
+msgstr "Nytt vindu"
+
+#: ../../include/Contact.php:124
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Ã…pne det valgte stedet i et annet vindu eller nettleser-fane"
+
+#: ../../include/Contact.php:211 ../../mod/admin.php:646
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Brukeren '%s' er slettet"
+
#: ../../include/features.php:23
msgid "General Features"
msgstr "Generelle funksjoner"
@@ -1676,884 +1934,604 @@ msgid "Ability to create multiple profiles"
msgstr "Mulig å lage flere profiler"
#: ../../include/features.php:27
+msgid "Advanced Profiles"
+msgstr "Avanserte profiler"
+
+#: ../../include/features.php:27
+msgid "Additional profile sections and selections"
+msgstr "Ytterlige seksjoner og utvalg til profilen"
+
+#: ../../include/features.php:28
+msgid "Profile Import/Export"
+msgstr "Profil-import/-eksport"
+
+#: ../../include/features.php:28
+msgid "Save and load profile details across sites/channels"
+msgstr "Lagre og åpne profildetaljer på tvers av nettsteder/kanaler"
+
+#: ../../include/features.php:29
msgid "Web Pages"
msgstr "Web-sider"
-#: ../../include/features.php:27
+#: ../../include/features.php:29
msgid "Provide managed web pages on your channel"
msgstr "Tilby kontrollerte web-sider på din kanal"
-#: ../../include/features.php:28
+#: ../../include/features.php:30
msgid "Private Notes"
msgstr "Private merknader"
-#: ../../include/features.php:28
+#: ../../include/features.php:30
msgid "Enables a tool to store notes and reminders"
msgstr "Skrur på et verktøy for lagre merknader og påminnelser"
-#: ../../include/features.php:33
+#: ../../include/features.php:34
+msgid "Navigation Channel Select"
+msgstr "Navigasjon kanalvalg"
+
+#: ../../include/features.php:34
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Endre kanaler direkte fra navigasjonsmenyen"
+
+#: ../../include/features.php:38
msgid "Extended Identity Sharing"
msgstr "Utvidet identitetsdeling"
-#: ../../include/features.php:33
+#: ../../include/features.php:38
msgid ""
"Share your identity with all websites on the internet. When disabled, "
"identity is only shared with sites in the matrix."
msgstr "Del din identiet med alle nettsteder på Internett. Når denne er avskrudd, deles identiteten bare med nettsteder i matrix."
-#: ../../include/features.php:34
+#: ../../include/features.php:39
msgid "Expert Mode"
msgstr "Ekspertmodus"
-#: ../../include/features.php:34
+#: ../../include/features.php:39
msgid "Enable Expert Mode to provide advanced configuration options"
msgstr "Skru på Ekspertmodus for å tilby avanserte konfigurasjonsvalg"
-#: ../../include/features.php:35
+#: ../../include/features.php:40
msgid "Premium Channel"
msgstr "Premiumkanal"
-#: ../../include/features.php:35
+#: ../../include/features.php:40
msgid ""
"Allows you to set restrictions and terms on those that connect with your "
"channel"
msgstr "Lar deg angi restriksjoner og betingelser for de som kobler seg til din kanal"
-#: ../../include/features.php:40
+#: ../../include/features.php:45
msgid "Post Composition Features"
msgstr "Funksjoner for å lage innlegg"
-#: ../../include/features.php:41
-msgid "Richtext Editor"
-msgstr "Riktekst redigeringsverktøy"
+#: ../../include/features.php:47
+msgid "Use Markdown"
+msgstr "Bruk Markdown"
-#: ../../include/features.php:41
-msgid "Enable richtext editor"
-msgstr "Skru på redigeringverktøy for riktekst"
+#: ../../include/features.php:47
+msgid "Allow use of \"Markdown\" to format posts"
+msgstr "Tillat bruk av \"Markdown\" til formatering av innlegg"
-#: ../../include/features.php:42
+#: ../../include/features.php:48
msgid "Post Preview"
msgstr "Forhåndsvisning av innlegg"
-#: ../../include/features.php:42
+#: ../../include/features.php:48
msgid "Allow previewing posts and comments before publishing them"
msgstr "Tillat forhåndsvisning av innlegg og kommentarer før publisering"
-#: ../../include/features.php:43 ../../include/widgets.php:503
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Kanalkilder"
-
-#: ../../include/features.php:43
+#: ../../include/features.php:49
msgid "Automatically import channel content from other channels or feeds"
msgstr "Automatisk import av kanalinnhold fra andre kanaler eller strømmer"
-#: ../../include/features.php:44
+#: ../../include/features.php:50
msgid "Even More Encryption"
msgstr "Enda mer kryptering"
-#: ../../include/features.php:44
+#: ../../include/features.php:50
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr "Tillat valgfri kryptering av innhold ende-til-ende via en delt hemmelig nøkkel"
-#: ../../include/features.php:49
+#: ../../include/features.php:55
msgid "Network and Stream Filtering"
msgstr "Nettverk- og strømfiltrering"
-#: ../../include/features.php:50
+#: ../../include/features.php:56
msgid "Search by Date"
msgstr "Søk etter dato"
-#: ../../include/features.php:50
+#: ../../include/features.php:56
msgid "Ability to select posts by date ranges"
msgstr "Mulighet for å velge innlegg etter datoområde"
-#: ../../include/features.php:51
+#: ../../include/features.php:57
msgid "Collections Filter"
msgstr "Filter for samlinger"
-#: ../../include/features.php:51
+#: ../../include/features.php:57
msgid "Enable widget to display Network posts only from selected collections"
msgstr "Skru på miniprogram for å vise Nettverksinnlegg bare fra valgte samlinger"
-#: ../../include/features.php:52 ../../include/widgets.php:265
-msgid "Saved Searches"
-msgstr "Lagrede søk"
-
-#: ../../include/features.php:52
+#: ../../include/features.php:58
msgid "Save search terms for re-use"
msgstr "Lagre søkeuttrykk for senere bruk"
-#: ../../include/features.php:53
+#: ../../include/features.php:59
msgid "Network Personal Tab"
msgstr "Nettverk personlig fane"
-#: ../../include/features.php:53
+#: ../../include/features.php:59
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Skru på fane for å bare vise Nettverksinnlegg som du har deltatt i"
-#: ../../include/features.php:54
+#: ../../include/features.php:60
msgid "Network New Tab"
msgstr "Nettverk Ny fane"
-#: ../../include/features.php:54
+#: ../../include/features.php:60
msgid "Enable tab to display all new Network activity"
msgstr "Skru på fane for å vise all ny nettverksaktivitet"
-#: ../../include/features.php:55
+#: ../../include/features.php:61
msgid "Affinity Tool"
msgstr "Nærhetsverktøy"
-#: ../../include/features.php:55
+#: ../../include/features.php:61
msgid "Filter stream activity by depth of relationships"
msgstr "Filtrer strømaktiviteten etter releasjonsdybde"
-#: ../../include/features.php:56
+#: ../../include/features.php:62
msgid "Suggest Channels"
msgstr "Foreslå kanaler"
-#: ../../include/features.php:56
+#: ../../include/features.php:62
msgid "Show channel suggestions"
msgstr "Vis kanalforslag"
-#: ../../include/features.php:61
+#: ../../include/features.php:67
msgid "Post/Comment Tools"
msgstr "Innlegg-/Kommentar-verktøy"
-#: ../../include/features.php:63
+#: ../../include/features.php:69
msgid "Edit Sent Posts"
msgstr "Endre publiserte innlegg"
-#: ../../include/features.php:63
+#: ../../include/features.php:69
msgid "Edit and correct posts and comments after sending"
msgstr "Endre og korrigere innlegg og kommentarer etter sending"
-#: ../../include/features.php:64
+#: ../../include/features.php:70
msgid "Tagging"
msgstr "Merking"
-#: ../../include/features.php:64
+#: ../../include/features.php:70
msgid "Ability to tag existing posts"
msgstr "Mulighet til å merke eksisterende meldinger"
-#: ../../include/features.php:65
+#: ../../include/features.php:71
msgid "Post Categories"
msgstr "Innleggskategorier"
-#: ../../include/features.php:65
+#: ../../include/features.php:71
msgid "Add categories to your posts"
msgstr "Legg kategorier til dine innlegg"
-#: ../../include/features.php:66
+#: ../../include/features.php:72
msgid "Ability to file posts under folders"
msgstr "Mulighet til å sortere innlegg i mapper"
-#: ../../include/features.php:67
+#: ../../include/features.php:73
msgid "Dislike Posts"
msgstr "Mislik innlegg"
-#: ../../include/features.php:67
+#: ../../include/features.php:73
msgid "Ability to dislike posts/comments"
msgstr "Mulighet til å mislike innlegg/kommentarer"
-#: ../../include/features.php:68
+#: ../../include/features.php:74
msgid "Star Posts"
msgstr "Stjerneinnlegg"
-#: ../../include/features.php:68
+#: ../../include/features.php:74
msgid "Ability to mark special posts with a star indicator"
msgstr "Mulighet til å merke spesielle innlegg med en stjerne"
-#: ../../include/features.php:69
+#: ../../include/features.php:75
msgid "Tag Cloud"
msgstr "Merkelappsky"
-#: ../../include/features.php:69
+#: ../../include/features.php:75
msgid "Provide a personal tag cloud on your channel page"
msgstr "Tilby en personlig merkelappsky på din kanalside"
-#: ../../include/follow.php:23
-msgid "Channel is blocked on this site."
-msgstr "Kanalen er blokkert på dette nettstedet."
+#: ../../include/account.php:23
+msgid "Not a valid email address"
+msgstr "Ikke en gyldig e-postadresse"
-#: ../../include/follow.php:28
-msgid "Channel location missing."
-msgstr "Kanalplassering mangler."
+#: ../../include/account.php:25
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet"
-#: ../../include/follow.php:54
-msgid "Response from remote channel was incomplete."
-msgstr "Svaret fra den andre kanalen var ikke komplett."
+#: ../../include/account.php:31
+msgid "Your email address is already registered at this site."
+msgstr "Din e-postadresse er allerede registrert på dette nettstedet."
-#: ../../include/follow.php:85
-msgid "Channel was deleted and no longer exists."
-msgstr "Kanalen er slettet og finnes ikke lenger."
+#: ../../include/account.php:64
+msgid "An invitation is required."
+msgstr "En invitasjon er påkrevd."
-#: ../../include/follow.php:132
-msgid "Channel discovery failed."
-msgstr "Kanaloppdagelse mislyktes."
+#: ../../include/account.php:68
+msgid "Invitation could not be verified."
+msgstr "Invitasjon kunne ikke bekreftes."
-#: ../../include/follow.php:149
-msgid "local account not found."
-msgstr "lokal konto ble ikke funnet."
+#: ../../include/account.php:119
+msgid "Please enter the required information."
+msgstr "Vennligst skriv inn nødvendig informasjon."
-#: ../../include/follow.php:158
-msgid "Cannot connect to yourself."
-msgstr "Kan ikke lage forbindelse med deg selv."
+#: ../../include/account.php:187
+msgid "Failed to store account information."
+msgstr "Mislyktes med å lagre kontoinformasjon."
-#: ../../include/group.php:25
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "En slettet gruppe med dette navnet ble gjenopprettet. Eksisterende tillatelser for elementet <strong>kan</strong> gjelde for denne gruppen og fremtidige medlemmer. Hvis du ønsket noe annet, vennligst lag en ny gruppe med et annet navn."
+#: ../../include/account.php:245
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registreringsbekreftelse for %s"
-#: ../../include/group.php:223
-msgid "Default privacy group for new contacts"
-msgstr "Standard personverngruppe for nye kontakter"
+#: ../../include/account.php:313
+#, php-format
+msgid "Registration request at %s"
+msgstr "Registreringsforespørsel hos %s"
-#: ../../include/group.php:242 ../../mod/admin.php:763
-msgid "All Channels"
-msgstr "Alle kanaler"
+#: ../../include/account.php:315 ../../include/account.php:342
+#: ../../include/account.php:399
+msgid "Administrator"
+msgstr "Administrator"
-#: ../../include/group.php:264
-msgid "edit"
-msgstr "endre"
+#: ../../include/account.php:337
+msgid "your registration password"
+msgstr "ditt registreringspassord"
-#: ../../include/group.php:285
-msgid "Collections"
-msgstr "Samlinger"
+#: ../../include/account.php:340 ../../include/account.php:397
+#, php-format
+msgid "Registration details for %s"
+msgstr "Registreringsdetaljer for %s"
-#: ../../include/group.php:286
-msgid "Edit collection"
-msgstr "Endre samling"
+#: ../../include/account.php:406
+msgid "Account approved."
+msgstr "Konto godkjent."
-#: ../../include/group.php:287
-msgid "Create a new collection"
-msgstr "Lag en ny samling"
+#: ../../include/account.php:440
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrering trukket tilbake for %s"
-#: ../../include/group.php:288
-msgid "Channels not in any collection"
-msgstr "Kanaler som ikke er i noen samling"
+#: ../../include/account.php:486
+msgid "Account verified. Please login."
+msgstr "Konto bekreftet. Vennligst logg inn."
-#: ../../include/group.php:290 ../../include/widgets.php:266
-msgid "add"
-msgstr "legg til"
+#: ../../include/account.php:648 ../../include/account.php:650
+msgid "Click here to upgrade."
+msgstr "Klikk her for å oppgradere."
+
+#: ../../include/account.php:656
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Denne handlingen går utenfor grensene satt i din abonnementsplan."
+
+#: ../../include/account.php:661
+msgid "This action is not available under your subscription plan."
+msgstr "Denne handlingen er ikke tilgjengelig i din abonnementsplan."
-#: ../../include/identity.php:30 ../../mod/item.php:1266
+#: ../../include/identity.php:31 ../../mod/item.php:1368
msgid "Unable to obtain identity information from database"
msgstr "Klarer ikke å få tak i identitetsinformasjon fra databasen"
-#: ../../include/identity.php:63
+#: ../../include/identity.php:66
msgid "Empty name"
msgstr "Mangler navn"
-#: ../../include/identity.php:65
+#: ../../include/identity.php:68
msgid "Name too long"
msgstr "Navnet er for langt"
-#: ../../include/identity.php:166
+#: ../../include/identity.php:169
msgid "No account identifier"
msgstr "Ingen kontoidentifikator"
-#: ../../include/identity.php:176
+#: ../../include/identity.php:182
msgid "Nickname is required."
msgstr "Kallenavn er påkrevd."
-#: ../../include/identity.php:190
+#: ../../include/identity.php:196
msgid "Reserved nickname. Please choose another."
msgstr "Reservert kallenavn. Vennligst velg et annet."
-#: ../../include/identity.php:195
+#: ../../include/identity.php:201 ../../include/dimport.php:34
msgid ""
"Nickname has unsupported characters or is already being used on this site."
msgstr "Kallenavnet inneholder tegn som ikke er støttet eller det er allerede i bruk på dette nettstedet."
-#: ../../include/identity.php:258
+#: ../../include/identity.php:283
msgid "Unable to retrieve created identity"
msgstr "Klarer ikke å hente den lagede identiteten"
-#: ../../include/identity.php:317
+#: ../../include/identity.php:343
msgid "Default Profile"
msgstr "Standardprofil"
-#: ../../include/identity.php:342 ../../include/widgets.php:400
-#: ../../include/profile_selectors.php:42 ../../mod/connedit.php:431
-msgid "Friends"
-msgstr "Venner"
-
-#: ../../include/identity.php:509
+#: ../../include/identity.php:643
msgid "Requested channel is not available."
msgstr "Forespurt kanal er ikke tilgjengelig."
-#: ../../include/identity.php:557 ../../mod/achievements.php:8
-#: ../../mod/profile.php:16 ../../mod/blocks.php:10 ../../mod/connect.php:13
-#: ../../mod/filestorage.php:40 ../../mod/layouts.php:8
-#: ../../mod/webpages.php:8
+#: ../../include/identity.php:691 ../../mod/achievements.php:11
+#: ../../mod/connect.php:13 ../../mod/profile.php:16 ../../mod/blocks.php:29
+#: ../../mod/webpages.php:29 ../../mod/editblock.php:29
+#: ../../mod/editlayout.php:28 ../../mod/editwebpage.php:28
+#: ../../mod/filestorage.php:48 ../../mod/layouts.php:29 ../../mod/hcard.php:8
msgid "Requested profile is not available."
msgstr "Forespurt profil er ikke tilgjengelig."
-#: ../../include/identity.php:675 ../../include/widgets.php:128
-#: ../../include/widgets.php:168 ../../include/Contact.php:107
-#: ../../mod/directory.php:183 ../../mod/dirprofile.php:164
-#: ../../mod/suggest.php:51 ../../mod/match.php:62
-msgid "Connect"
-msgstr "Koble"
-
-#: ../../include/identity.php:689 ../../mod/profiles.php:612
+#: ../../include/identity.php:854 ../../mod/profiles.php:740
msgid "Change profile photo"
msgstr "Endre profilbilde"
-#: ../../include/identity.php:695
+#: ../../include/identity.php:860
msgid "Profiles"
msgstr "Profiler"
-#: ../../include/identity.php:695
+#: ../../include/identity.php:860
msgid "Manage/edit profiles"
msgstr "HÃ¥ndtere/endre profiler"
-#: ../../include/identity.php:696 ../../mod/profiles.php:613
+#: ../../include/identity.php:861 ../../mod/profiles.php:741
msgid "Create New Profile"
msgstr "Lag ny profil"
-#: ../../include/identity.php:699
-msgid "Edit Profile"
-msgstr "Endre profil"
-
-#: ../../include/identity.php:710 ../../mod/profiles.php:624
+#: ../../include/identity.php:875 ../../mod/profiles.php:752
msgid "Profile Image"
msgstr "Profilbilde"
-#: ../../include/identity.php:713 ../../mod/profiles.php:627
+#: ../../include/identity.php:878
msgid "visible to everybody"
msgstr "synlig for alle"
-#: ../../include/identity.php:714 ../../mod/profiles.php:628
+#: ../../include/identity.php:879 ../../mod/profiles.php:635
+#: ../../mod/profiles.php:756
msgid "Edit visibility"
msgstr "Endre synlighet"
-#: ../../include/identity.php:728 ../../include/identity.php:952
-#: ../../mod/directory.php:158
+#: ../../include/identity.php:895 ../../include/identity.php:1132
msgid "Gender:"
msgstr "Kjønn:"
-#: ../../include/identity.php:729 ../../include/identity.php:977
-#: ../../mod/directory.php:160
+#: ../../include/identity.php:896 ../../include/identity.php:1176
msgid "Status:"
msgstr "Status:"
-#: ../../include/identity.php:730 ../../include/identity.php:988
-#: ../../mod/directory.php:162
+#: ../../include/identity.php:897 ../../include/identity.php:1187
msgid "Homepage:"
msgstr "Hjemmeside:"
-#: ../../include/identity.php:731 ../../mod/dirprofile.php:151
+#: ../../include/identity.php:898
msgid "Online Now"
msgstr "Online nå"
-#: ../../include/identity.php:796 ../../include/identity.php:876
-#: ../../mod/ping.php:262
+#: ../../include/identity.php:976 ../../include/identity.php:1056
+#: ../../mod/ping.php:318
msgid "g A l F d"
msgstr "g A l F d"
-#: ../../include/identity.php:797 ../../include/identity.php:877
+#: ../../include/identity.php:977 ../../include/identity.php:1057
msgid "F d"
msgstr "F d"
-#: ../../include/identity.php:842 ../../include/identity.php:917
-#: ../../mod/ping.php:284
+#: ../../include/identity.php:1022 ../../include/identity.php:1097
+#: ../../mod/ping.php:340
msgid "[today]"
msgstr "[idag]"
-#: ../../include/identity.php:854
+#: ../../include/identity.php:1034
msgid "Birthday Reminders"
msgstr "Fødselsdagspåminnnelser"
-#: ../../include/identity.php:855
+#: ../../include/identity.php:1035
msgid "Birthdays this week:"
msgstr "Fødselsdager denne uken:"
-#: ../../include/identity.php:910
+#: ../../include/identity.php:1090
msgid "[No description]"
msgstr "[Ingen beskrivelse]"
-#: ../../include/identity.php:928
+#: ../../include/identity.php:1108
msgid "Event Reminders"
msgstr "Hendelsespåminnelser"
-#: ../../include/identity.php:929
+#: ../../include/identity.php:1109
msgid "Events this week:"
msgstr "Hendelser denne uken:"
-#: ../../include/identity.php:942 ../../include/identity.php:1031
-#: ../../include/apps.php:128 ../../mod/profperm.php:112
+#: ../../include/identity.php:1122 ../../include/identity.php:1240
+#: ../../include/apps.php:136 ../../mod/profperm.php:112
msgid "Profile"
msgstr "Profil"
-#: ../../include/identity.php:950 ../../mod/settings.php:935
+#: ../../include/identity.php:1130 ../../mod/settings.php:984
msgid "Full Name:"
msgstr "Fullt navn:"
-#: ../../include/identity.php:962
+#: ../../include/identity.php:1137
+msgid "Like this channel"
+msgstr "Lik denne kanalen"
+
+#: ../../include/identity.php:1161
msgid "j F, Y"
msgstr "j F, Y"
-#: ../../include/identity.php:963
+#: ../../include/identity.php:1162
msgid "j F"
msgstr "j F"
-#: ../../include/identity.php:970
+#: ../../include/identity.php:1169
msgid "Birthday:"
msgstr "Fødselsdag:"
-#: ../../include/identity.php:974
+#: ../../include/identity.php:1173
msgid "Age:"
msgstr "Alder:"
-#: ../../include/identity.php:983
+#: ../../include/identity.php:1182
#, php-format
msgid "for %1$d %2$s"
msgstr "for %1$d %2$s"
-#: ../../include/identity.php:986 ../../mod/profiles.php:535
+#: ../../include/identity.php:1185 ../../mod/profiles.php:657
msgid "Sexual Preference:"
msgstr "Seksuell preferanse:"
-#: ../../include/identity.php:990 ../../mod/profiles.php:537
+#: ../../include/identity.php:1189 ../../mod/profiles.php:659
msgid "Hometown:"
msgstr "Hjemby:"
-#: ../../include/identity.php:992
+#: ../../include/identity.php:1191
msgid "Tags:"
msgstr "Merkelapper:"
-#: ../../include/identity.php:994 ../../mod/profiles.php:538
+#: ../../include/identity.php:1193 ../../mod/profiles.php:660
msgid "Political Views:"
msgstr "Politiske synspunkter:"
-#: ../../include/identity.php:996
+#: ../../include/identity.php:1195
msgid "Religion:"
msgstr "Religion:"
-#: ../../include/identity.php:998 ../../mod/directory.php:164
+#: ../../include/identity.php:1197
msgid "About:"
msgstr "Om:"
-#: ../../include/identity.php:1000
+#: ../../include/identity.php:1199
msgid "Hobbies/Interests:"
msgstr "Hobbyer/interesser:"
-#: ../../include/identity.php:1002 ../../mod/profiles.php:541
+#: ../../include/identity.php:1201 ../../mod/profiles.php:663
msgid "Likes:"
msgstr "Liker:"
-#: ../../include/identity.php:1004 ../../mod/profiles.php:542
+#: ../../include/identity.php:1203 ../../mod/profiles.php:664
msgid "Dislikes:"
msgstr "Misliker:"
-#: ../../include/identity.php:1007
+#: ../../include/identity.php:1206
msgid "Contact information and Social Networks:"
msgstr "Kontaktinformasjon og sosiale nettverk:"
-#: ../../include/identity.php:1009
+#: ../../include/identity.php:1208
msgid "My other channels:"
msgstr "Mine andre kanaler:"
-#: ../../include/identity.php:1011
+#: ../../include/identity.php:1210
msgid "Musical interests:"
msgstr "Musikkinteresse:"
-#: ../../include/identity.php:1013
+#: ../../include/identity.php:1212
msgid "Books, literature:"
msgstr "Bøker, litteratur:"
-#: ../../include/identity.php:1015
+#: ../../include/identity.php:1214
msgid "Television:"
msgstr "TV:"
-#: ../../include/identity.php:1017
+#: ../../include/identity.php:1216
msgid "Film/dance/culture/entertainment:"
msgstr "Film/dans/kultur/underholdning:"
-#: ../../include/identity.php:1019
+#: ../../include/identity.php:1218
msgid "Love/Romance:"
msgstr "Kjærlighet/romantikk:"
-#: ../../include/identity.php:1021
+#: ../../include/identity.php:1220
msgid "Work/employment:"
msgstr "Arbeid/sysselsetting:"
-#: ../../include/identity.php:1023
+#: ../../include/identity.php:1222
msgid "School/education:"
msgstr "Skole/utdannelse:"
-#: ../../include/network.php:652
-msgid "view full size"
-msgstr "vis full størrelse"
+#: ../../include/identity.php:1242
+msgid "Like this thing"
+msgstr "Lik denne tingen"
-#: ../../include/text.php:320
-msgid "prev"
-msgstr "forrige"
+#: ../../include/items.php:377 ../../mod/profperm.php:23
+#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/like.php:246
+#: ../../index.php:389
+msgid "Permission denied"
+msgstr "Tillatelse avvist"
-#: ../../include/text.php:322
-msgid "first"
-msgstr "første"
+#: ../../include/items.php:964 ../../include/items.php:1009
+msgid "(Unknown)"
+msgstr "(Ukjent)"
-#: ../../include/text.php:351
-msgid "last"
-msgstr "siste"
+#: ../../include/items.php:1165
+msgid "Visible to anybody on the internet."
+msgstr "Synlig for enhver på Internett."
-#: ../../include/text.php:354
-msgid "next"
-msgstr "neste"
+#: ../../include/items.php:1167
+msgid "Visible to you only."
+msgstr "Synlig bare for deg."
-#: ../../include/text.php:366
-msgid "older"
-msgstr "eldre"
+#: ../../include/items.php:1169
+msgid "Visible to anybody in this network."
+msgstr "Synlig for enhver i dette nettverket."
-#: ../../include/text.php:368
-msgid "newer"
-msgstr "nyere"
+#: ../../include/items.php:1171
+msgid "Visible to anybody authenticated."
+msgstr "Synlig for enhver som er autentisert."
-#: ../../include/text.php:729
-msgid "No connections"
-msgstr "Ingen forbindelser"
-
-#: ../../include/text.php:742
+#: ../../include/items.php:1173
#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d forbindelse"
-msgstr[1] "%d forbindelser"
-
-#: ../../include/text.php:754
-msgid "View Connections"
-msgstr "Vis forbindelser"
-
-#: ../../include/text.php:815 ../../include/text.php:829
-#: ../../include/widgets.php:186 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50
-msgid "Save"
-msgstr "Lagre"
-
-#: ../../include/text.php:895
-msgid "poke"
-msgstr "prikk"
-
-#: ../../include/text.php:896
-msgid "ping"
-msgstr "varsle"
-
-#: ../../include/text.php:896
-msgid "pinged"
-msgstr "varslet"
-
-#: ../../include/text.php:897
-msgid "prod"
-msgstr "oppildne"
-
-#: ../../include/text.php:897
-msgid "prodded"
-msgstr "oppildnet"
-
-#: ../../include/text.php:898
-msgid "slap"
-msgstr "daske"
+msgid "Visible to anybody on %s."
+msgstr "Synlig for alle på %s."
-#: ../../include/text.php:898
-msgid "slapped"
-msgstr "dasket"
-
-#: ../../include/text.php:899
-msgid "finger"
-msgstr "fingre"
+#: ../../include/items.php:1175
+msgid "Visible to all connections."
+msgstr "Synlig for alle forbindelser."
-#: ../../include/text.php:899
-msgid "fingered"
-msgstr "fingret"
+#: ../../include/items.php:1177
+msgid "Visible to approved connections."
+msgstr "Synlig for godkjente forbindelser."
-#: ../../include/text.php:900
-msgid "rebuff"
-msgstr "tilbakevise"
-
-#: ../../include/text.php:900
-msgid "rebuffed"
-msgstr "tilbakeviste"
-
-#: ../../include/text.php:909
-msgid "happy"
-msgstr "glad"
-
-#: ../../include/text.php:910
-msgid "sad"
-msgstr "trist"
-
-#: ../../include/text.php:911
-msgid "mellow"
-msgstr "dempet"
-
-#: ../../include/text.php:912
-msgid "tired"
-msgstr "trøtt"
-
-#: ../../include/text.php:913
-msgid "perky"
-msgstr "oppkvikket"
-
-#: ../../include/text.php:914
-msgid "angry"
-msgstr "sint"
-
-#: ../../include/text.php:915
-msgid "stupified"
-msgstr "sløvet"
-
-#: ../../include/text.php:916
-msgid "puzzled"
-msgstr "forundret"
-
-#: ../../include/text.php:917
-msgid "interested"
-msgstr "interessert"
-
-#: ../../include/text.php:918
-msgid "bitter"
-msgstr "bitter"
-
-#: ../../include/text.php:919
-msgid "cheerful"
-msgstr "munter"
+#: ../../include/items.php:1179
+msgid "Visible to specific connections."
+msgstr "Synlig for spesifikke forbindelser."
-#: ../../include/text.php:920
-msgid "alive"
-msgstr "levende"
-
-#: ../../include/text.php:921
-msgid "annoyed"
-msgstr "irritert"
-
-#: ../../include/text.php:922
-msgid "anxious"
-msgstr "nervøs"
-
-#: ../../include/text.php:923
-msgid "cranky"
-msgstr "gretten"
-
-#: ../../include/text.php:924
-msgid "disturbed"
-msgstr "foruroliget"
-
-#: ../../include/text.php:925
-msgid "frustrated"
-msgstr "frustrert"
-
-#: ../../include/text.php:926
-msgid "depressed"
-msgstr "lei seg"
-
-#: ../../include/text.php:927
-msgid "motivated"
-msgstr "motivert"
-
-#: ../../include/text.php:928
-msgid "relaxed"
-msgstr "avslappet"
-
-#: ../../include/text.php:929
-msgid "surprised"
-msgstr "overrasket"
-
-#: ../../include/text.php:1090
-msgid "Monday"
-msgstr "mandag"
-
-#: ../../include/text.php:1090
-msgid "Tuesday"
-msgstr "tirsdag"
-
-#: ../../include/text.php:1090
-msgid "Wednesday"
-msgstr "onsdag"
-
-#: ../../include/text.php:1090
-msgid "Thursday"
-msgstr "torsdag"
-
-#: ../../include/text.php:1090
-msgid "Friday"
-msgstr "fredag"
-
-#: ../../include/text.php:1090
-msgid "Saturday"
-msgstr "lørdag"
-
-#: ../../include/text.php:1090
-msgid "Sunday"
-msgstr "søndag"
-
-#: ../../include/text.php:1094
-msgid "January"
-msgstr "januar"
-
-#: ../../include/text.php:1094
-msgid "February"
-msgstr "februar"
-
-#: ../../include/text.php:1094
-msgid "March"
-msgstr "mars"
-
-#: ../../include/text.php:1094
-msgid "April"
-msgstr "april"
-
-#: ../../include/text.php:1094
-msgid "May"
-msgstr "mai"
-
-#: ../../include/text.php:1094
-msgid "June"
-msgstr "juni"
-
-#: ../../include/text.php:1094
-msgid "July"
-msgstr "juli"
-
-#: ../../include/text.php:1094
-msgid "August"
-msgstr "august"
-
-#: ../../include/text.php:1094
-msgid "September"
-msgstr "september"
-
-#: ../../include/text.php:1094
-msgid "October"
-msgstr "oktober"
-
-#: ../../include/text.php:1094
-msgid "November"
-msgstr "november"
-
-#: ../../include/text.php:1094
-msgid "December"
-msgstr "desember"
-
-#: ../../include/text.php:1172
-msgid "unknown.???"
-msgstr "ukjent.???"
-
-#: ../../include/text.php:1173
-msgid "bytes"
-msgstr "bytes"
-
-#: ../../include/text.php:1208
-msgid "remove category"
-msgstr "fjern kategori"
-
-#: ../../include/text.php:1257
-msgid "remove from file"
-msgstr "fjern fra fil"
-
-#: ../../include/text.php:1318 ../../include/text.php:1330
-msgid "Click to open/close"
-msgstr "Klikk for å åpne/lukke"
-
-#: ../../include/text.php:1485 ../../mod/events.php:355
-msgid "Link to Source"
-msgstr "Lenke til kilde"
-
-#: ../../include/text.php:1504
-msgid "Select a page layout: "
-msgstr "Velg en side-layout:"
-
-#: ../../include/text.php:1507 ../../include/text.php:1572
-msgid "default"
-msgstr "standard"
-
-#: ../../include/text.php:1543
-msgid "Page content type: "
-msgstr "Sidens innholdstype:"
-
-#: ../../include/text.php:1584
-msgid "Select an alternate language"
-msgstr "Velg et annet språk"
-
-#: ../../include/text.php:1718
-msgid "activity"
-msgstr "aktivitet"
-
-#: ../../include/text.php:1977
-msgid "Design"
-msgstr "Formgivning"
-
-#: ../../include/text.php:1979
-msgid "Blocks"
-msgstr "Byggeklosser"
-
-#: ../../include/text.php:1980
-msgid "Menus"
-msgstr "Menyer"
-
-#: ../../include/text.php:1981
-msgid "Layouts"
-msgstr "Layout"
-
-#: ../../include/text.php:1982
-msgid "Pages"
-msgstr "Sider"
-
-#: ../../include/apps.php:118
-msgid "Site Admin"
-msgstr "Nettstedsadministrator"
-
-#: ../../include/apps.php:120
-msgid "Address Book"
-msgstr "Adressebok"
-
-#: ../../include/apps.php:134 ../../mod/mood.php:131
-msgid "Mood"
-msgstr "Stemning"
-
-#: ../../include/apps.php:138
-msgid "Probe"
-msgstr "Undersøk"
-
-#: ../../include/apps.php:139
-msgid "Suggest"
-msgstr "Forreslå"
-
-#: ../../include/apps.php:224 ../../mod/settings.php:79
-#: ../../mod/settings.php:541
-msgid "Update"
-msgstr "Oppdater"
-
-#: ../../include/apps.php:224
-msgid "Install"
-msgstr "Installer"
-
-#: ../../include/apps.php:229
-msgid "Purchase"
-msgstr "Kjøp"
+#: ../../include/items.php:3946 ../../mod/thing.php:76
+#: ../../mod/display.php:32 ../../mod/filestorage.php:26
+#: ../../mod/admin.php:168 ../../mod/admin.php:896 ../../mod/admin.php:1099
+#: ../../mod/viewsrc.php:20
+msgid "Item not found."
+msgstr "Elementet ble ikke funnet."
-#: ../../include/apps.php:313 ../../include/apps.php:364
-#: ../../mod/connedit.php:434
-msgid "Unknown"
-msgstr "Ukjent"
+#: ../../include/items.php:4402 ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
+msgstr "Samlingen ble ikke funnet."
-#: ../../include/zot.php:607
-msgid "Invalid data packet"
-msgstr "Ugyldig datapakke"
+#: ../../include/items.php:4417
+msgid "Collection is empty."
+msgstr "Samlingen er tom."
-#: ../../include/zot.php:617
-msgid "Unable to verify channel signature"
-msgstr "Ikke i stand til å sjekke kanalsignaturen"
+#: ../../include/items.php:4424
+#, php-format
+msgid "Collection: %s"
+msgstr "Samling: %s"
-#: ../../include/zot.php:814
+#: ../../include/items.php:4435
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Ikke i stand til å bekrefte signaturen til %s"
+msgid "Connection: %s"
+msgstr "Forbindelse: %s"
+
+#: ../../include/items.php:4438
+msgid "Connection not found."
+msgstr "Forbindelsen ble ikke funnet."
#: ../../include/message.php:18
msgid "No recipient provided."
@@ -2563,336 +2541,215 @@ msgstr "Ingen mottaker angitt."
msgid "[no subject]"
msgstr "[ikke noe emne]"
-#: ../../include/message.php:42
+#: ../../include/message.php:45
msgid "Unable to determine sender."
msgstr "Kan ikke avgjøre avsender."
-#: ../../include/message.php:143
+#: ../../include/message.php:200
msgid "Stored post could not be verified."
msgstr "Lagret innlegg kunne ikke bekreftes."
-#: ../../include/plugin.php:486 ../../include/plugin.php:488
-msgid "Click here to upgrade."
-msgstr "Klikk her for å oppgradere."
-
-#: ../../include/plugin.php:494
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Denne handlingen går utenfor grensene satt i din abonnementsplan."
-
-#: ../../include/plugin.php:499
-msgid "This action is not available under your subscription plan."
-msgstr "Denne handlingen er ikke tilgjengelig i din abonnementsplan."
-
-#: ../../include/widgets.php:80
-msgid "System"
-msgstr "System"
-
-#: ../../include/widgets.php:83
-msgid "Create Personal App"
-msgstr "Lag personlig app"
+#: ../../include/network.php:590
+msgid "view full size"
+msgstr "vis full størrelse"
-#: ../../include/widgets.php:84
-msgid "Edit Personal App"
-msgstr "Endre personlig app"
+#: ../../include/attach.php:221 ../../include/attach.php:275
+msgid "Item was not found."
+msgstr "Elementet ble ikke funnet."
-#: ../../include/widgets.php:130 ../../mod/suggest.php:53
-msgid "Ignore/Hide"
-msgstr "Ignorer/Skjul"
+#: ../../include/attach.php:331
+msgid "No source file."
+msgstr "Ingen kildefil."
-#: ../../include/widgets.php:136 ../../mod/connections.php:267
-msgid "Suggestions"
-msgstr "Forslag"
+#: ../../include/attach.php:348
+msgid "Cannot locate file to replace"
+msgstr "Kan ikke finne filen som skal byttes ut"
-#: ../../include/widgets.php:137
-msgid "See more..."
-msgstr "Se mer..."
+#: ../../include/attach.php:366
+msgid "Cannot locate file to revise/update"
+msgstr "Finner ikke filen som skal revideres/oppdateres"
-#: ../../include/widgets.php:159
+#: ../../include/attach.php:377
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Du har %1$.0f av %2$.0f tillate forbindelser."
-
-#: ../../include/widgets.php:165
-msgid "Add New Connection"
-msgstr "Legg til ny forbindelse"
-
-#: ../../include/widgets.php:166
-msgid "Enter the channel address"
-msgstr "Skriv kanal-adressen"
-
-#: ../../include/widgets.php:167
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Eksempel: ola.nordmann@eksempel.no, http://eksempel.no/karinordmann"
-
-#: ../../include/widgets.php:184
-msgid "Notes"
-msgstr "Merknader"
-
-#: ../../include/widgets.php:256
-msgid "Remove term"
-msgstr "Fjern begrep"
-
-#: ../../include/widgets.php:335
-msgid "Archives"
-msgstr "Arkiv"
-
-#: ../../include/widgets.php:397
-msgid "Refresh"
-msgstr "Forny"
-
-#: ../../include/widgets.php:398 ../../mod/connedit.php:428
-msgid "Me"
-msgstr "Meg"
-
-#: ../../include/widgets.php:399 ../../mod/connedit.php:430
-msgid "Best Friends"
-msgstr "Bestevenner"
+msgid "File exceeds size limit of %d"
+msgstr "Filens størrelse overgår grensen på %d"
-#: ../../include/widgets.php:401
-msgid "Co-workers"
-msgstr "Medarbeidere"
+#: ../../include/attach.php:389
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes."
-#: ../../include/widgets.php:402 ../../mod/connedit.php:432
-msgid "Former Friends"
-msgstr "Tidligere venner"
+#: ../../include/attach.php:472
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt."
-#: ../../include/widgets.php:403 ../../mod/connedit.php:433
-msgid "Acquaintances"
-msgstr "Bekjente"
+#: ../../include/attach.php:484
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Lagret fil kunne ikke bekreftes. Opplasting mislyktes."
-#: ../../include/widgets.php:404
-msgid "Everybody"
-msgstr "Alle"
+#: ../../include/attach.php:526 ../../include/attach.php:543
+msgid "Path not available."
+msgstr "Stien er ikke tilgjengelig."
-#: ../../include/widgets.php:436
-msgid "Account settings"
-msgstr "Kontoinnstillinger"
+#: ../../include/attach.php:589
+msgid "Empty pathname"
+msgstr "Tomt sti-navn"
-#: ../../include/widgets.php:442
-msgid "Channel settings"
-msgstr "Kanalinnstillinger"
+#: ../../include/attach.php:605
+msgid "duplicate filename or path"
+msgstr "duplikat av filnavn eller sti"
-#: ../../include/widgets.php:448
-msgid "Additional features"
-msgstr "Tilleggsfunksjoner"
+#: ../../include/attach.php:629
+msgid "Path not found."
+msgstr "Stien ble ikke funnet."
-#: ../../include/widgets.php:454
-msgid "Feature settings"
-msgstr "Funksjonsinnstillinger"
+#: ../../include/attach.php:680
+msgid "mkdir failed."
+msgstr "mkdir mislyktes."
-#: ../../include/widgets.php:460
-msgid "Display settings"
-msgstr "Visningsinnstillinger"
+#: ../../include/attach.php:684
+msgid "database storage failed."
+msgstr "databaselagring mislyktes."
-#: ../../include/widgets.php:466
-msgid "Connected apps"
-msgstr "Tilkoblede app-er"
+#: ../../include/auth.php:116
+msgid "Logged out."
+msgstr "Logget ut."
-#: ../../include/widgets.php:472
-msgid "Export channel"
-msgstr "Eksporter kanal"
+#: ../../include/auth.php:257
+msgid "Failed authentication"
+msgstr "Mislykket autentisering"
-#: ../../include/widgets.php:484
-msgid "Automatic Permissions (Advanced)"
-msgstr "Automatiske tillatelser (avansert)"
+#: ../../include/auth.php:271 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "Innlogging mislyktes."
-#: ../../include/widgets.php:494
-msgid "Premium Channel Settings"
-msgstr "Premiumkanal-innstillinger"
+#: ../../include/datetime.php:43 ../../include/datetime.php:45
+msgid "Miscellaneous"
+msgstr "Forskjellig"
-#: ../../include/widgets.php:531
-msgid "Check Mail"
-msgstr "Sjekk meldinger"
+#: ../../include/datetime.php:142
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "YYYY-MM-DD eller MM-DD"
-#: ../../include/widgets.php:612
-msgid "Chat Rooms"
-msgstr "Chatrom"
+#: ../../include/datetime.php:248
+msgid "never"
+msgstr "aldri"
-#: ../../include/widgets.php:630
-msgid "Bookmarked Chatrooms"
-msgstr "Bokmerkede chatrom"
+#: ../../include/datetime.php:254
+msgid "less than a second ago"
+msgstr "for mindre enn ett sekund siden"
-#: ../../include/widgets.php:648
-msgid "Suggested Chatrooms"
-msgstr "Foreslåtte chatrom"
+#: ../../include/datetime.php:257
+msgid "year"
+msgstr "Ã¥r"
-#: ../../include/ItemObject.php:118
-msgid "Save to Folder"
-msgstr "Lagre i mappe"
+#: ../../include/datetime.php:257
+msgid "years"
+msgstr "Ã¥r"
-#: ../../include/ItemObject.php:130 ../../include/ItemObject.php:142
-msgid "View all"
-msgstr "Vis alle"
+#: ../../include/datetime.php:258
+msgid "month"
+msgstr "måned"
-#: ../../include/ItemObject.php:134
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Liker"
-msgstr[1] "Liker"
+#: ../../include/datetime.php:258
+msgid "months"
+msgstr "måneder"
-#: ../../include/ItemObject.php:139
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "Liker ikke"
-msgstr[1] "Liker ikke"
+#: ../../include/datetime.php:259
+msgid "week"
+msgstr "uke"
-#: ../../include/ItemObject.php:167
-msgid "Add Star"
-msgstr "Legg til stjerne"
+#: ../../include/datetime.php:259
+msgid "weeks"
+msgstr "uker"
-#: ../../include/ItemObject.php:168
-msgid "Remove Star"
-msgstr "Fjern stjerne"
+#: ../../include/datetime.php:260
+msgid "day"
+msgstr "dag"
-#: ../../include/ItemObject.php:169
-msgid "Toggle Star Status"
-msgstr "Skru av og på stjernestatus"
+#: ../../include/datetime.php:260
+msgid "days"
+msgstr "dager"
-#: ../../include/ItemObject.php:173
-msgid "starred"
-msgstr "stjernemerket"
+#: ../../include/datetime.php:261
+msgid "hour"
+msgstr "time"
-#: ../../include/ItemObject.php:190
-msgid "Add Tag"
-msgstr "Legg til merkelapp"
+#: ../../include/datetime.php:261
+msgid "hours"
+msgstr "timer"
-#: ../../include/ItemObject.php:208 ../../mod/photos.php:969
-msgid "I like this (toggle)"
-msgstr "Jeg liker dette (skru av og på)"
+#: ../../include/datetime.php:262
+msgid "minute"
+msgstr "minutt"
-#: ../../include/ItemObject.php:209 ../../mod/photos.php:970
-msgid "I don't like this (toggle)"
-msgstr "Jeg liker ikke dette (skru av og på)"
+#: ../../include/datetime.php:262
+msgid "minutes"
+msgstr "minutter"
-#: ../../include/ItemObject.php:211
-msgid "Share This"
-msgstr "Del dette"
+#: ../../include/datetime.php:263
+msgid "second"
+msgstr "sekund"
-#: ../../include/ItemObject.php:211
-msgid "share"
-msgstr "del"
+#: ../../include/datetime.php:263
+msgid "seconds"
+msgstr "sekunder"
-#: ../../include/ItemObject.php:235 ../../include/ItemObject.php:236
+#: ../../include/datetime.php:272
#, php-format
-msgid "View %s's profile - %s"
-msgstr "Vis %s sin profil - %s"
-
-#: ../../include/ItemObject.php:237
-msgid "to"
-msgstr "til"
-
-#: ../../include/ItemObject.php:238
-msgid "via"
-msgstr "via"
-
-#: ../../include/ItemObject.php:239
-msgid "Wall-to-Wall"
-msgstr "vegg-til-vegg"
-
-#: ../../include/ItemObject.php:240
-msgid "via Wall-To-Wall:"
-msgstr "via vegg-til-vegg:"
-
-#: ../../include/ItemObject.php:274
-msgid "Save Bookmarks"
-msgstr "Lagre bokmerker"
-
-#: ../../include/ItemObject.php:275
-msgid "Add to Calendar"
-msgstr "Legg til i kalender"
-
-#: ../../include/ItemObject.php:283
-msgctxt "noun"
-msgid "Likes"
-msgstr "Liker"
-
-#: ../../include/ItemObject.php:284
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "Liker ikke"
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s siden"
-#: ../../include/ItemObject.php:315
+#: ../../include/datetime.php:480
#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d kommentar"
-msgstr[1] "%d kommentarer"
-
-#: ../../include/ItemObject.php:316 ../../include/js_strings.php:7
-msgid "[+] show all"
-msgstr "[+] Vis alle"
-
-#: ../../include/ItemObject.php:580 ../../mod/photos.php:988
-#: ../../mod/photos.php:1075
-msgid "This is you"
-msgstr "Dette er deg"
-
-#: ../../include/ItemObject.php:582 ../../include/js_strings.php:6
-#: ../../mod/photos.php:990 ../../mod/photos.php:1077
-msgid "Comment"
-msgstr "Kommentar"
-
-#: ../../include/ItemObject.php:583 ../../mod/mood.php:135
-#: ../../mod/settings.php:515 ../../mod/settings.php:627
-#: ../../mod/settings.php:655 ../../mod/settings.php:679
-#: ../../mod/settings.php:749 ../../mod/settings.php:927
-#: ../../mod/poke.php:166 ../../mod/profiles.php:515 ../../mod/chat.php:177
-#: ../../mod/chat.php:211 ../../mod/connect.php:92 ../../mod/connedit.php:476
-#: ../../mod/setup.php:307 ../../mod/setup.php:350 ../../mod/pdledit.php:58
-#: ../../mod/sources.php:104 ../../mod/sources.php:138
-#: ../../mod/events.php:492 ../../mod/filestorage.php:135
-#: ../../mod/fsuggest.php:108 ../../mod/group.php:81 ../../mod/admin.php:442
-#: ../../mod/admin.php:751 ../../mod/admin.php:885 ../../mod/admin.php:1018
-#: ../../mod/admin.php:1217 ../../mod/admin.php:1304 ../../mod/thing.php:283
-#: ../../mod/thing.php:326 ../../mod/import.php:393 ../../mod/invite.php:156
-#: ../../mod/mail.php:223 ../../mod/mail.php:335 ../../mod/photos.php:563
-#: ../../mod/photos.php:668 ../../mod/photos.php:951 ../../mod/photos.php:991
-#: ../../mod/photos.php:1078 ../../mod/appman.php:99
-#: ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/blogga/php/config.php:67
-#: ../../view/theme/blogga/view/theme/blog/config.php:67
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Send"
-
-#: ../../include/ItemObject.php:584
-msgid "Bold"
-msgstr "Uthevet"
+msgid "%1$s's birthday"
+msgstr "%1$s sin fødselsdag"
-#: ../../include/ItemObject.php:585
-msgid "Italic"
-msgstr "Kursiv"
+#: ../../include/datetime.php:481
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Gratulerer med dagen, %1$s !"
-#: ../../include/ItemObject.php:586
-msgid "Underline"
-msgstr "Understreket"
+#: ../../include/photos.php:105
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes"
-#: ../../include/ItemObject.php:587
-msgid "Quote"
-msgstr "Sitat"
+#: ../../include/photos.php:112
+msgid "Image file is empty."
+msgstr "Bildefilen er tom."
-#: ../../include/ItemObject.php:588
-msgid "Code"
-msgstr "Kode"
+#: ../../include/photos.php:141 ../../mod/profile_photo.php:216
+msgid "Unable to process image"
+msgstr "Kan ikke behandle bildet"
-#: ../../include/ItemObject.php:589
-msgid "Image"
-msgstr "Bilde"
+#: ../../include/photos.php:213
+msgid "Photo storage failed."
+msgstr "Bildelagring mislyktes."
-#: ../../include/ItemObject.php:590
-msgid "Link"
-msgstr "Lenke"
+#: ../../include/photos.php:345
+msgid "Upload New Photos"
+msgstr "Last opp nye bilder"
-#: ../../include/ItemObject.php:591
-msgid "Video"
-msgstr "Video"
+#: ../../include/security.php:323
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn."
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr "Slett dette elementet?"
+#: ../../include/js_strings.php:6 ../../include/ItemObject.php:598
+#: ../../mod/photos.php:995 ../../mod/photos.php:1105
+msgid "Comment"
+msgstr "Kommentar"
+
+#: ../../include/js_strings.php:7 ../../include/ItemObject.php:332
+msgid "[+] show all"
+msgstr "[+] Vis alle"
+
#: ../../include/js_strings.php:8
msgid "[-] show less"
msgstr "[-] Vis mindre"
@@ -2933,92 +2790,90 @@ msgstr "Varsel: Tillatelser har blitt endret, men de har ennå ikke blitt sendt
msgid "close all"
msgstr "Lukk alle"
-#: ../../include/js_strings.php:19
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Ikke noe nytt her"
+
+#: ../../include/js_strings.php:20
msgid "timeago.prefixAgo"
msgstr "timeago.prefixAgo"
-#: ../../include/js_strings.php:20
+#: ../../include/js_strings.php:21
msgid "timeago.prefixFromNow"
msgstr "timeago.prefixFromNow"
-#: ../../include/js_strings.php:21
+#: ../../include/js_strings.php:22
msgid "ago"
msgstr "siden"
-#: ../../include/js_strings.php:22
+#: ../../include/js_strings.php:23
msgid "from now"
msgstr "fra nå"
-#: ../../include/js_strings.php:23
+#: ../../include/js_strings.php:24
msgid "less than a minute"
msgstr "mindre enn ett minutt"
-#: ../../include/js_strings.php:24
+#: ../../include/js_strings.php:25
msgid "about a minute"
msgstr "omtrent et minutt"
-#: ../../include/js_strings.php:25
+#: ../../include/js_strings.php:26
#, php-format
msgid "%d minutes"
msgstr "%d minutter"
-#: ../../include/js_strings.php:26
+#: ../../include/js_strings.php:27
msgid "about an hour"
msgstr "omtrent en time"
-#: ../../include/js_strings.php:27
+#: ../../include/js_strings.php:28
#, php-format
msgid "about %d hours"
msgstr "omtrent %d timer"
-#: ../../include/js_strings.php:28
+#: ../../include/js_strings.php:29
msgid "a day"
msgstr "en dag"
-#: ../../include/js_strings.php:29
+#: ../../include/js_strings.php:30
#, php-format
msgid "%d days"
msgstr "%d dager"
-#: ../../include/js_strings.php:30
+#: ../../include/js_strings.php:31
msgid "about a month"
msgstr "omtrent en måned"
-#: ../../include/js_strings.php:31
+#: ../../include/js_strings.php:32
#, php-format
msgid "%d months"
msgstr "%d måneder"
-#: ../../include/js_strings.php:32
+#: ../../include/js_strings.php:33
msgid "about a year"
msgstr "omtrent et år"
-#: ../../include/js_strings.php:33
+#: ../../include/js_strings.php:34
#, php-format
msgid "%d years"
msgstr "%d år"
-#: ../../include/js_strings.php:34
+#: ../../include/js_strings.php:35
msgid " "
msgstr " "
-#: ../../include/js_strings.php:35
+#: ../../include/js_strings.php:36
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/Contact.php:123
-msgid "New window"
-msgstr "Nytt vindu"
-
-#: ../../include/Contact.php:124
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Ã…pne det valgte stedet i et annet vindu eller nettleser-fane"
-
#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
msgid "Male"
msgstr "Mannlig"
#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
msgid "Female"
msgstr "Kvinnelig"
@@ -3063,910 +2918,1646 @@ msgid "Non-specific"
msgstr "Ubestemt"
#: ../../include/profile_selectors.php:6
-msgid "Other"
-msgstr "Annen"
-
-#: ../../include/profile_selectors.php:6
msgid "Undecided"
msgstr "Ubestemt"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:61
msgid "Males"
msgstr "Menn"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:61
msgid "Females"
msgstr "Kvinner"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Gay"
msgstr "Homo"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Lesbian"
msgstr "Lesbisk"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "No Preference"
msgstr "Ingen preferanse"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Bisexual"
msgstr "Biseksuell"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Autosexual"
msgstr "Autoseksuell"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Abstinent"
msgstr "Avholdende"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Virgin"
msgstr "Jomfru"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Deviant"
msgstr "Avviker"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Fetish"
msgstr "Fetisj"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Oodles"
msgstr "Masse"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Nonsexual"
msgstr "Ikke-seksuell"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Single"
msgstr "Enslig"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Lonely"
msgstr "Ensom"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Available"
msgstr "Tilgjengelig"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Unavailable"
msgstr "Ikke tilgjengelig"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Has crush"
msgstr "Er forelsket"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Infatuated"
msgstr "Betatt"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Dating"
msgstr "Sammen med"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Unfaithful"
msgstr "Utro"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Sex Addict"
msgstr "Sexavhengig"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Friends/Benefits"
msgstr "Venner med frynsegoder"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Casual"
msgstr "Tilfeldig"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Engaged"
msgstr "Forlovet"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Married"
msgstr "Gift"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Imaginarily married"
msgstr "Gift i fantasien"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Partners"
msgstr "Partnere"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Cohabiting"
msgstr "Samboer"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Common law"
msgstr "Samboer"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Happy"
msgstr "Lykkelig"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Not looking"
msgstr "Ikke på utkikk"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Swinger"
msgstr "Partnerbytte"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Betrayed"
msgstr "Bedratt"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Separated"
msgstr "Separert"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Unstable"
msgstr "Ustabilt"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Divorced"
msgstr "Skilt"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Imaginarily divorced"
msgstr "Skilt i fantasien"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Widowed"
msgstr "Enke"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Uncertain"
msgstr "Usikkert"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "It's complicated"
msgstr "Det er komplisert"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Don't care"
msgstr "Bryr meg ikke"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Ask me"
msgstr "Spør meg"
-#: ../../include/auth.php:79
-msgid "Logged out."
-msgstr "Logget ut."
-
-#: ../../include/auth.php:198
-msgid "Failed authentication"
-msgstr "Mislykket autentisering"
+#: ../../include/text.php:321
+msgid "prev"
+msgstr "forrige"
-#: ../../include/auth.php:213 ../../mod/openid.php:188
-msgid "Login failed."
-msgstr "Innlogging mislyktes."
+#: ../../include/text.php:323
+msgid "first"
+msgstr "første"
-#: ../../include/items.php:306 ../../mod/profperm.php:23
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/like.php:63
-#: ../../index.php:360
-msgid "Permission denied"
-msgstr "Tillatelse avvist"
+#: ../../include/text.php:352
+msgid "last"
+msgstr "siste"
-#: ../../include/items.php:830
-msgid "(Unknown)"
-msgstr "(Ukjent)"
+#: ../../include/text.php:355
+msgid "next"
+msgstr "neste"
-#: ../../include/items.php:3617 ../../mod/display.php:32
-#: ../../mod/filestorage.php:18 ../../mod/home.php:65 ../../mod/admin.php:159
-#: ../../mod/admin.php:922 ../../mod/admin.php:1125 ../../mod/thing.php:78
-#: ../../mod/viewsrc.php:18
-msgid "Item not found."
-msgstr "Elementet ble ikke funnet."
+#: ../../include/text.php:367
+msgid "older"
+msgstr "eldre"
-#: ../../include/items.php:4041 ../../mod/group.php:38 ../../mod/group.php:140
-msgid "Collection not found."
-msgstr "Samlingen ble ikke funnet."
+#: ../../include/text.php:369
+msgid "newer"
+msgstr "nyere"
-#: ../../include/items.php:4056
-msgid "Collection is empty."
-msgstr "Samlingen er tom."
+#: ../../include/text.php:736
+msgid "No connections"
+msgstr "Ingen forbindelser"
-#: ../../include/items.php:4063
+#: ../../include/text.php:753
#, php-format
-msgid "Collection: %s"
-msgstr "Samling: %s"
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d forbindelse"
+msgstr[1] "%d forbindelser"
-#: ../../include/items.php:4074
-#, php-format
-msgid "Connection: %s"
-msgstr "Forbindelse: %s"
+#: ../../include/text.php:766
+msgid "View Connections"
+msgstr "Vis forbindelser"
-#: ../../include/items.php:4077
-msgid "Connection not found."
-msgstr "Forbindelsen ble ikke funnet."
+#: ../../include/text.php:905
+msgid "poke"
+msgstr "prikk"
-#: ../../include/permissions.php:13
-msgid "Can view my \"public\" stream and posts"
-msgstr "Kan se min \"offentlige\" strøm og innlegg"
+#: ../../include/text.php:906
+msgid "ping"
+msgstr "varsle"
-#: ../../include/permissions.php:14
-msgid "Can view my \"public\" channel profile"
-msgstr "Kan se min \"offentlige\" kanalprofil"
+#: ../../include/text.php:906
+msgid "pinged"
+msgstr "varslet"
-#: ../../include/permissions.php:15
-msgid "Can view my \"public\" photo albums"
-msgstr "Kan se mine \"offentlige\" fotoalbum"
+#: ../../include/text.php:907
+msgid "prod"
+msgstr "oppildne"
-#: ../../include/permissions.php:16
-msgid "Can view my \"public\" address book"
-msgstr "Kan se min \"offentlige\" adressebok"
+#: ../../include/text.php:907
+msgid "prodded"
+msgstr "oppildnet"
-#: ../../include/permissions.php:17
-msgid "Can view my \"public\" file storage"
-msgstr "Kan se mitt \"offentlige\" fillager"
+#: ../../include/text.php:908
+msgid "slap"
+msgstr "daske"
-#: ../../include/permissions.php:18
-msgid "Can view my \"public\" pages"
-msgstr "Kan se mine \"offentlige\" sider"
+#: ../../include/text.php:908
+msgid "slapped"
+msgstr "dasket"
-#: ../../include/permissions.php:21
-msgid "Can send me their channel stream and posts"
-msgstr "Kan sende meg deres kanalstrøm og innlegg"
+#: ../../include/text.php:909
+msgid "finger"
+msgstr "fingre"
-#: ../../include/permissions.php:22
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Kan lage innlegg på min kanalside (\"vegg\")"
+#: ../../include/text.php:909
+msgid "fingered"
+msgstr "fingret"
-#: ../../include/permissions.php:23
-msgid "Can comment on my posts"
-msgstr "Kan kommentere på mine innlegg"
+#: ../../include/text.php:910
+msgid "rebuff"
+msgstr "tilbakevise"
-#: ../../include/permissions.php:24
-msgid "Can send me private mail messages"
-msgstr "Kan sende meg private meldinger"
+#: ../../include/text.php:910
+msgid "rebuffed"
+msgstr "tilbakeviste"
-#: ../../include/permissions.php:25
-msgid "Can post photos to my photo albums"
-msgstr "Kan legge inn bilder i mine fotoalbum"
+#: ../../include/text.php:919
+msgid "happy"
+msgstr "glad"
-#: ../../include/permissions.php:26
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Kan videresende til alle mine kanalkontakter via @navn i innlegg"
+#: ../../include/text.php:920
+msgid "sad"
+msgstr "trist"
-#: ../../include/permissions.php:26
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Avansert - nyttig for å lage forumkanaler for grupper"
+#: ../../include/text.php:921
+msgid "mellow"
+msgstr "dempet"
-#: ../../include/permissions.php:27
-msgid "Can chat with me (when available)"
-msgstr "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)"
+#: ../../include/text.php:922
+msgid "tired"
+msgstr "trøtt"
-#: ../../include/permissions.php:28
-msgid "Can write to my \"public\" file storage"
-msgstr "Kan skrive til mitt \"offentlige\" fillager"
+#: ../../include/text.php:923
+msgid "perky"
+msgstr "oppkvikket"
-#: ../../include/permissions.php:29
-msgid "Can edit my \"public\" pages"
-msgstr "Kan endre mine \"offentlige\" sider"
+#: ../../include/text.php:924
+msgid "angry"
+msgstr "sint"
-#: ../../include/permissions.php:31
-msgid "Can source my \"public\" posts in derived channels"
-msgstr "Kan bruke mine \"offentlige\" innlegg som kanalkilde i egne kanaler"
+#: ../../include/text.php:925
+msgid "stupified"
+msgstr "sløvet"
-#: ../../include/permissions.php:31
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Litt avansert - svært nyttig i åpne fellesskap"
+#: ../../include/text.php:926
+msgid "puzzled"
+msgstr "forundret"
-#: ../../include/permissions.php:33
-msgid "Can administer my channel resources"
-msgstr "Kan administrere mine kanalressurser"
+#: ../../include/text.php:927
+msgid "interested"
+msgstr "interessert"
-#: ../../include/permissions.php:33
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Ekstremt avansert. La dette være med mindre du vet hva du gjør"
+#: ../../include/text.php:928
+msgid "bitter"
+msgstr "bitter"
+
+#: ../../include/text.php:929
+msgid "cheerful"
+msgstr "munter"
+
+#: ../../include/text.php:930
+msgid "alive"
+msgstr "levende"
+
+#: ../../include/text.php:931
+msgid "annoyed"
+msgstr "irritert"
+
+#: ../../include/text.php:932
+msgid "anxious"
+msgstr "nervøs"
+
+#: ../../include/text.php:933
+msgid "cranky"
+msgstr "gretten"
+
+#: ../../include/text.php:934
+msgid "disturbed"
+msgstr "foruroliget"
+
+#: ../../include/text.php:935
+msgid "frustrated"
+msgstr "frustrert"
+
+#: ../../include/text.php:936
+msgid "depressed"
+msgstr "lei seg"
+
+#: ../../include/text.php:937
+msgid "motivated"
+msgstr "motivert"
+
+#: ../../include/text.php:938
+msgid "relaxed"
+msgstr "avslappet"
+
+#: ../../include/text.php:939
+msgid "surprised"
+msgstr "overrasket"
+
+#: ../../include/text.php:1103
+msgid "Monday"
+msgstr "mandag"
+
+#: ../../include/text.php:1103
+msgid "Tuesday"
+msgstr "tirsdag"
+
+#: ../../include/text.php:1103
+msgid "Wednesday"
+msgstr "onsdag"
+
+#: ../../include/text.php:1103
+msgid "Thursday"
+msgstr "torsdag"
+
+#: ../../include/text.php:1103
+msgid "Friday"
+msgstr "fredag"
+
+#: ../../include/text.php:1103
+msgid "Saturday"
+msgstr "lørdag"
+
+#: ../../include/text.php:1103
+msgid "Sunday"
+msgstr "søndag"
+
+#: ../../include/text.php:1107
+msgid "January"
+msgstr "januar"
+
+#: ../../include/text.php:1107
+msgid "February"
+msgstr "februar"
+
+#: ../../include/text.php:1107
+msgid "March"
+msgstr "mars"
+
+#: ../../include/text.php:1107
+msgid "April"
+msgstr "april"
+
+#: ../../include/text.php:1107
+msgid "May"
+msgstr "mai"
+
+#: ../../include/text.php:1107
+msgid "June"
+msgstr "juni"
+
+#: ../../include/text.php:1107
+msgid "July"
+msgstr "juli"
+
+#: ../../include/text.php:1107
+msgid "August"
+msgstr "august"
+
+#: ../../include/text.php:1107
+msgid "September"
+msgstr "september"
+
+#: ../../include/text.php:1107
+msgid "October"
+msgstr "oktober"
+
+#: ../../include/text.php:1107
+msgid "November"
+msgstr "november"
+
+#: ../../include/text.php:1107
+msgid "December"
+msgstr "desember"
+
+#: ../../include/text.php:1185
+msgid "unknown.???"
+msgstr "ukjent.???"
+
+#: ../../include/text.php:1186
+msgid "bytes"
+msgstr "bytes"
+
+#: ../../include/text.php:1225
+msgid "remove category"
+msgstr "fjern kategori"
+
+#: ../../include/text.php:1295
+msgid "remove from file"
+msgstr "fjern fra fil"
+
+#: ../../include/text.php:1360 ../../include/text.php:1372
+msgid "Click to open/close"
+msgstr "Klikk for å åpne/lukke"
+
+#: ../../include/text.php:1527 ../../mod/events.php:409
+msgid "Link to Source"
+msgstr "Lenke til kilde"
+
+#: ../../include/text.php:1546
+msgid "Select a page layout: "
+msgstr "Velg en side-layout:"
+
+#: ../../include/text.php:1549 ../../include/text.php:1614
+msgid "default"
+msgstr "standard"
+
+#: ../../include/text.php:1585
+msgid "Page content type: "
+msgstr "Sidens innholdstype:"
+
+#: ../../include/text.php:1626
+msgid "Select an alternate language"
+msgstr "Velg et annet språk"
+
+#: ../../include/text.php:1760
+msgid "activity"
+msgstr "aktivitet"
+
+#: ../../include/text.php:2041
+msgid "Design"
+msgstr "Formgivning"
+
+#: ../../include/text.php:2044
+msgid "Blocks"
+msgstr "Byggeklosser"
+
+#: ../../include/text.php:2045
+msgid "Menus"
+msgstr "Menyer"
+
+#: ../../include/text.php:2046
+msgid "Layouts"
+msgstr "Layout"
+
+#: ../../include/text.php:2047
+msgid "Pages"
+msgstr "Sider"
+
+#: ../../include/acl_selectors.php:240
+msgid "Visible to your default audience"
+msgstr "Synlig for ditt standard publikum"
+
+#: ../../include/acl_selectors.php:241
+msgid "Show"
+msgstr "Vis"
+
+#: ../../include/acl_selectors.php:242
+msgid "Don't show"
+msgstr "Ikke vis"
+
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:585
+#: ../../mod/chat.php:209 ../../mod/photos.php:588 ../../mod/photos.php:950
+#: ../../mod/filestorage.php:137
+msgid "Permissions"
+msgstr "Tillatelser"
+
+#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:305
+#: ../../mod/photos.php:1148
+msgid "Close"
+msgstr "Lukk"
+
+#: ../../include/api.php:1084
+msgid "Public Timeline"
+msgstr "Offentlig tidslinje"
+
+#: ../../include/apps.php:126
+msgid "Site Admin"
+msgstr "Nettstedsadministrator"
+
+#: ../../include/apps.php:128
+msgid "Address Book"
+msgstr "Adressebok"
+
+#: ../../include/apps.php:142 ../../mod/mood.php:131
+msgid "Mood"
+msgstr "Stemning"
+
+#: ../../include/apps.php:146
+msgid "Probe"
+msgstr "Undersøk"
+
+#: ../../include/apps.php:147
+msgid "Suggest"
+msgstr "Forreslå"
+
+#: ../../include/apps.php:148
+msgid "Random Channel"
+msgstr "Tilfeldig kanal"
+
+#: ../../include/apps.php:149
+msgid "Invite"
+msgstr "Inviter"
+
+#: ../../include/apps.php:150
+msgid "Features"
+msgstr "Funksjoner"
+
+#: ../../include/apps.php:151
+msgid "Language"
+msgstr "Språk"
+
+#: ../../include/apps.php:152
+msgid "Post"
+msgstr "Innlegg"
+
+#: ../../include/apps.php:153
+msgid "Profile Photo"
+msgstr "Profilbilde"
+
+#: ../../include/apps.php:242 ../../mod/settings.php:81
+#: ../../mod/settings.php:575
+msgid "Update"
+msgstr "Oppdater"
+
+#: ../../include/apps.php:242
+msgid "Install"
+msgstr "Installer"
+
+#: ../../include/apps.php:247
+msgid "Purchase"
+msgstr "Kjøp"
+
+#: ../../include/ItemObject.php:130
+msgid "Save to Folder"
+msgstr "Lagre i mappe"
+
+#: ../../include/ItemObject.php:142 ../../include/ItemObject.php:154
+#: ../../mod/photos.php:1022 ../../mod/photos.php:1034
+msgid "View all"
+msgstr "Vis alle"
+
+#: ../../include/ItemObject.php:151 ../../mod/photos.php:1031
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "Liker ikke"
+msgstr[1] "Liker ikke"
+
+#: ../../include/ItemObject.php:179
+msgid "Add Star"
+msgstr "Legg til stjerne"
+
+#: ../../include/ItemObject.php:180
+msgid "Remove Star"
+msgstr "Fjern stjerne"
+
+#: ../../include/ItemObject.php:181
+msgid "Toggle Star Status"
+msgstr "Skru av og på stjernestatus"
+
+#: ../../include/ItemObject.php:185
+msgid "starred"
+msgstr "stjernemerket"
+
+#: ../../include/ItemObject.php:203
+msgid "Add Tag"
+msgstr "Legg til merkelapp"
+
+#: ../../include/ItemObject.php:221 ../../mod/photos.php:974
+msgid "I like this (toggle)"
+msgstr "Jeg liker dette (skru av og på)"
+
+#: ../../include/ItemObject.php:222 ../../mod/photos.php:975
+msgid "I don't like this (toggle)"
+msgstr "Jeg liker ikke dette (skru av og på)"
+
+#: ../../include/ItemObject.php:226
+msgid "Share This"
+msgstr "Del dette"
+
+#: ../../include/ItemObject.php:226
+msgid "share"
+msgstr "del"
+
+#: ../../include/ItemObject.php:249 ../../include/ItemObject.php:250
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Vis %s sin profil - %s"
+
+#: ../../include/ItemObject.php:251
+msgid "to"
+msgstr "til"
+
+#: ../../include/ItemObject.php:252
+msgid "via"
+msgstr "via"
+
+#: ../../include/ItemObject.php:253
+msgid "Wall-to-Wall"
+msgstr "vegg-til-vegg"
+
+#: ../../include/ItemObject.php:254
+msgid "via Wall-To-Wall:"
+msgstr "via vegg-til-vegg:"
+
+#: ../../include/ItemObject.php:290
+msgid "Save Bookmarks"
+msgstr "Lagre bokmerker"
+
+#: ../../include/ItemObject.php:291
+msgid "Add to Calendar"
+msgstr "Legg til i kalender"
+
+#: ../../include/ItemObject.php:299 ../../mod/photos.php:1142
+msgctxt "noun"
+msgid "Likes"
+msgstr "Liker"
+
+#: ../../include/ItemObject.php:300 ../../mod/photos.php:1143
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "Liker ikke"
+
+#: ../../include/ItemObject.php:331
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d kommentar"
+msgstr[1] "%d kommentarer"
+
+#: ../../include/ItemObject.php:596 ../../mod/photos.php:993
+#: ../../mod/photos.php:1103
+msgid "This is you"
+msgstr "Dette er deg"
+
+#: ../../include/ItemObject.php:599 ../../mod/mood.php:135
+#: ../../mod/profiles.php:633 ../../mod/connect.php:92 ../../mod/setup.php:313
+#: ../../mod/setup.php:358 ../../mod/poke.php:166 ../../mod/sources.php:104
+#: ../../mod/sources.php:138 ../../mod/events.php:587 ../../mod/chat.php:177
+#: ../../mod/chat.php:211 ../../mod/photos.php:594 ../../mod/photos.php:671
+#: ../../mod/photos.php:956 ../../mod/photos.php:996 ../../mod/photos.php:1106
+#: ../../mod/connedit.php:555 ../../mod/thing.php:284 ../../mod/thing.php:327
+#: ../../mod/pdledit.php:58 ../../mod/settings.php:549
+#: ../../mod/settings.php:661 ../../mod/settings.php:690
+#: ../../mod/settings.php:714 ../../mod/settings.php:790
+#: ../../mod/settings.php:976 ../../mod/fsuggest.php:108
+#: ../../mod/filestorage.php:146 ../../mod/group.php:81
+#: ../../mod/import.php:480 ../../mod/admin.php:412 ../../mod/admin.php:723
+#: ../../mod/admin.php:859 ../../mod/admin.php:992 ../../mod/admin.php:1191
+#: ../../mod/admin.php:1278 ../../mod/invite.php:142 ../../mod/locs.php:99
+#: ../../mod/mail.php:348 ../../mod/xchan.php:11 ../../mod/appman.php:99
+#: ../../mod/poll.php:68 ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/blogga/php/config.php:67
+#: ../../view/theme/blogga/view/theme/blog/config.php:67
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Send"
+
+#: ../../include/ItemObject.php:600
+msgid "Bold"
+msgstr "Uthevet"
+
+#: ../../include/ItemObject.php:601
+msgid "Italic"
+msgstr "Kursiv"
+
+#: ../../include/ItemObject.php:602
+msgid "Underline"
+msgstr "Understreket"
+
+#: ../../include/ItemObject.php:603
+msgid "Quote"
+msgstr "Sitat"
+
+#: ../../include/ItemObject.php:604
+msgid "Code"
+msgstr "Kode"
+
+#: ../../include/ItemObject.php:605
+msgid "Image"
+msgstr "Bilde"
+
+#: ../../include/ItemObject.php:606
+msgid "Link"
+msgstr "Lenke"
+
+#: ../../include/ItemObject.php:607
+msgid "Video"
+msgstr "Video"
#: ../../mod/mood.php:132
msgid "Set your current mood and tell your friends"
msgstr "Angi ditt nåværende humør og fortell dine venner"
-#: ../../mod/mitem.php:14 ../../mod/menu.php:92
+#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
+msgid "Invalid profile identifier."
+msgstr "Ugyldig profil-identifikator."
+
+#: ../../mod/profperm.php:110
+msgid "Profile Visibility Editor"
+msgstr "Endre profilsynlighet"
+
+#: ../../mod/profperm.php:114
+msgid "Click on a contact to add or remove."
+msgstr "Klikk på en kontakt for å legge til eller fjerne."
+
+#: ../../mod/profperm.php:123
+msgid "Visible To"
+msgstr "Synlig for"
+
+#: ../../mod/profperm.php:139 ../../mod/connections.php:279
+msgid "All Connections"
+msgstr "Alle forbindelser"
+
+#: ../../mod/mitem.php:24 ../../mod/menu.php:108
msgid "Menu not found."
msgstr "Menyen ble ikke funnet."
-#: ../../mod/mitem.php:47
+#: ../../mod/mitem.php:67
msgid "Menu element updated."
msgstr "Menyelement er oppdatert."
-#: ../../mod/mitem.php:51
+#: ../../mod/mitem.php:71
msgid "Unable to update menu element."
msgstr "Ikke i stand til å oppdatere menyelement."
-#: ../../mod/mitem.php:57
+#: ../../mod/mitem.php:77
msgid "Menu element added."
msgstr "Menyelement lagt til."
-#: ../../mod/mitem.php:61
+#: ../../mod/mitem.php:81
msgid "Unable to add menu element."
msgstr "Ikke i stand til å legge til menyelement."
-#: ../../mod/mitem.php:78 ../../mod/dirprofile.php:175 ../../mod/menu.php:120
-#: ../../mod/xchan.php:27
+#: ../../mod/mitem.php:111 ../../mod/menu.php:136 ../../mod/xchan.php:37
msgid "Not found."
msgstr "Ikke funnet."
-#: ../../mod/mitem.php:96
+#: ../../mod/mitem.php:127
msgid "Manage Menu Elements"
msgstr "HÃ¥ndtere menyelementer"
-#: ../../mod/mitem.php:99
+#: ../../mod/mitem.php:130
msgid "Edit menu"
msgstr "Endre meny"
-#: ../../mod/mitem.php:102
+#: ../../mod/mitem.php:133
msgid "Edit element"
msgstr "Endre element"
-#: ../../mod/mitem.php:103
+#: ../../mod/mitem.php:134
msgid "Drop element"
msgstr "Slett element"
-#: ../../mod/mitem.php:104
+#: ../../mod/mitem.php:135
msgid "New element"
msgstr "Nytt element"
-#: ../../mod/mitem.php:105
+#: ../../mod/mitem.php:136
msgid "Edit this menu container"
msgstr "Endre denne menybeholderen"
-#: ../../mod/mitem.php:106
+#: ../../mod/mitem.php:137
msgid "Add menu element"
msgstr "Legg til menyelement"
-#: ../../mod/mitem.php:107
+#: ../../mod/mitem.php:138
msgid "Delete this menu item"
msgstr "Slett dette menyelementet"
-#: ../../mod/mitem.php:108
+#: ../../mod/mitem.php:139
msgid "Edit this menu item"
msgstr "Endre dette menyelementet"
-#: ../../mod/mitem.php:131
+#: ../../mod/mitem.php:158
msgid "New Menu Element"
msgstr "Nytt menyelement"
-#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:203
msgid "Menu Item Permissions"
msgstr "Menyelement Tillatelser"
-#: ../../mod/mitem.php:134 ../../mod/mitem.php:177 ../../mod/settings.php:960
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:204 ../../mod/settings.php:1011
msgid "(click to open/close)"
msgstr "(klikk for å åpne/lukke)"
-#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
+#: ../../mod/mitem.php:163 ../../mod/mitem.php:207
msgid "Link text"
msgstr "Lenketekst"
-#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
+#: ../../mod/mitem.php:164 ../../mod/mitem.php:208
msgid "URL of link"
msgstr "URL-en til lenken"
-#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
-msgid "Use Red magic-auth if available"
-msgstr "Bruk Red sin magiske-autent hvis mulig"
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
+msgid "Use RedMatrix magic-auth if available"
+msgstr "Bruk RedMatrixs magiske-autentisering hvis tilgjengelig"
-#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
+#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
msgid "Open link in new window"
msgstr "Ã…pne lenke i nytt vindu"
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
msgid "Order in list"
msgstr "Ordne i liste"
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
msgid "Higher numbers will sink to bottom of listing"
msgstr "Høyere tall vil synke mot bunnen av listen"
-#: ../../mod/mitem.php:142 ../../mod/menu.php:84 ../../mod/new_channel.php:117
-msgid "Create"
-msgstr "Lag"
-
-#: ../../mod/mitem.php:154
+#: ../../mod/mitem.php:181
msgid "Menu item not found."
msgstr "Menyelement ble ikke funnet."
-#: ../../mod/mitem.php:163
+#: ../../mod/mitem.php:190
msgid "Menu item deleted."
msgstr "Menyelement slettet."
-#: ../../mod/mitem.php:165
+#: ../../mod/mitem.php:192
msgid "Menu item could not be deleted."
msgstr "Menyelement kunne ikke bli slettet."
-#: ../../mod/mitem.php:174
+#: ../../mod/mitem.php:201
msgid "Edit Menu Element"
msgstr "Endre menyelement"
-#: ../../mod/mitem.php:186 ../../mod/menu.php:114
+#: ../../mod/mitem.php:213 ../../mod/menu.php:130
msgid "Modify"
msgstr "Endre"
-#: ../../mod/ping.php:192
-msgid "sent you a private message"
-msgstr "sendte deg en privat melding"
+#: ../../mod/achievements.php:34
+msgid "Some blurb about what to do when you're new here"
+msgstr "En standardtekst om hva du bør gjøre som ny her"
-#: ../../mod/ping.php:250
-msgid "added your channel"
-msgstr "la til din kanal"
+#: ../../mod/profiles.php:18 ../../mod/profiles.php:165
+#: ../../mod/profiles.php:222 ../../mod/profiles.php:565
+msgid "Profile not found."
+msgstr "Profilen ble ikke funnet."
-#: ../../mod/ping.php:294
-msgid "posted an event"
-msgstr "la ut en hendelse"
+#: ../../mod/profiles.php:38
+msgid "Profile deleted."
+msgstr "Profilen er slettet."
-#: ../../mod/acl.php:239
-msgid "network"
-msgstr "nettverk"
+#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
+msgid "Profile-"
+msgstr "Profil-"
-#: ../../mod/settings.php:71
-msgid "Name is required"
-msgstr "Navn er påkrevd"
+#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
+msgid "New profile created."
+msgstr "Ny profil opprettet."
-#: ../../mod/settings.php:75
-msgid "Key and Secret are required"
-msgstr "Nøkkel og hemmelighet er påkrevd"
+#: ../../mod/profiles.php:98
+msgid "Profile unavailable to clone."
+msgstr "Profilen er utilgjengelig for klonen."
-#: ../../mod/settings.php:195
-msgid "Passwords do not match. Password unchanged."
-msgstr "Passordene stemmer ikke overens. Passord uforandret."
+#: ../../mod/profiles.php:136
+msgid "Profile unavailable to export."
+msgstr "Profilen er utilgjengelig for eksport."
-#: ../../mod/settings.php:199
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Tomme passord er ikke tillatt. Passord uforandret."
+#: ../../mod/profiles.php:232
+msgid "Profile Name is required."
+msgstr "Profilnavn er påkrevd."
-#: ../../mod/settings.php:212
-msgid "Password changed."
-msgstr "Passord endret."
+#: ../../mod/profiles.php:378
+msgid "Marital Status"
+msgstr "Sivilstand"
-#: ../../mod/settings.php:214
-msgid "Password update failed. Please try again."
-msgstr "Passord oppdatering mislyktes. Vennligst prøv igjen."
+#: ../../mod/profiles.php:382
+msgid "Romantic Partner"
+msgstr "Romantisk partner"
-#: ../../mod/settings.php:228
-msgid "Not valid email."
-msgstr "Ikke gyldig e-post."
+#: ../../mod/profiles.php:386
+msgid "Likes"
+msgstr "Liker"
-#: ../../mod/settings.php:231
-msgid "Protected email address. Cannot change to that email."
-msgstr "Beskyttet e-postadresse. Kan ikke endre til den e-postadressen."
+#: ../../mod/profiles.php:390
+msgid "Dislikes"
+msgstr "Liker ikke"
-#: ../../mod/settings.php:240
-msgid "System failure storing new email. Please try again."
-msgstr "Systemfeil ved lagring av ny e-post. Vennligst prøv igjen."
+#: ../../mod/profiles.php:394
+msgid "Work/Employment"
+msgstr "Arbeid/sysselsetting"
-#: ../../mod/settings.php:443
-msgid "Settings updated."
-msgstr "Innstillinger oppdatert."
+#: ../../mod/profiles.php:397
+msgid "Religion"
+msgstr "Religion"
-#: ../../mod/settings.php:514 ../../mod/settings.php:540
-#: ../../mod/settings.php:576
-msgid "Add application"
-msgstr "Legg til program"
+#: ../../mod/profiles.php:401
+msgid "Political Views"
+msgstr "Politiske synspunkter"
-#: ../../mod/settings.php:517 ../../mod/settings.php:543
-#: ../../mod/admin.php:892
-msgid "Name"
-msgstr "Navn"
+#: ../../mod/profiles.php:405
+msgid "Gender"
+msgstr "Kjønn"
-#: ../../mod/settings.php:517
-msgid "Name of application"
-msgstr "Navn på program"
+#: ../../mod/profiles.php:409
+msgid "Sexual Preference"
+msgstr "Seksuelle preferanser"
-#: ../../mod/settings.php:518 ../../mod/settings.php:544
-msgid "Consumer Key"
-msgstr "Consumer Key"
+#: ../../mod/profiles.php:413
+msgid "Homepage"
+msgstr "Hjemmeside"
-#: ../../mod/settings.php:518 ../../mod/settings.php:519
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Automatisk laget - kan endres om du vil. Største lengde 20"
+#: ../../mod/profiles.php:417
+msgid "Interests"
+msgstr "Interesser"
-#: ../../mod/settings.php:519 ../../mod/settings.php:545
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
+#: ../../mod/profiles.php:421 ../../mod/admin.php:866
+msgid "Address"
+msgstr "Adresse"
-#: ../../mod/settings.php:520 ../../mod/settings.php:546
-msgid "Redirect"
-msgstr "Omdirigering"
+#: ../../mod/profiles.php:428 ../../mod/pubsites.php:25
+msgid "Location"
+msgstr "Plassering"
-#: ../../mod/settings.php:520
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "Omdirigerings-URI - la stå tomt hvis ikke ditt program spesifikt krever dette"
+#: ../../mod/profiles.php:511
+msgid "Profile updated."
+msgstr "Profilen er oppdatert."
-#: ../../mod/settings.php:521 ../../mod/settings.php:547
-msgid "Icon url"
-msgstr "Ikon-URL"
+#: ../../mod/profiles.php:590
+msgid "Hide your contact/friend list from viewers of this profile?"
+msgstr "Skjul kontakt-/vennelisten din fra de som ser på denne profilen?"
-#: ../../mod/settings.php:521
-msgid "Optional"
-msgstr "Valgfritt"
+#: ../../mod/profiles.php:591 ../../mod/api.php:105 ../../mod/settings.php:916
+#: ../../mod/settings.php:921 ../../mod/settings.php:1004
+#: ../../mod/admin.php:392
+msgid "Yes"
+msgstr "Ja"
-#: ../../mod/settings.php:532
-msgid "You can't edit this application."
-msgstr "Du kan ikke endre dette programmet."
+#: ../../mod/profiles.php:592 ../../mod/api.php:106 ../../mod/settings.php:916
+#: ../../mod/settings.php:921 ../../mod/settings.php:1004
+#: ../../mod/admin.php:390
+msgid "No"
+msgstr "Nei"
-#: ../../mod/settings.php:575
-msgid "Connected Apps"
-msgstr "Tilkoblede app-er"
+#: ../../mod/profiles.php:632
+msgid "Edit Profile Details"
+msgstr "Endre profildetaljer"
-#: ../../mod/settings.php:579
-msgid "Client key starts with"
-msgstr "Klientnøkkel starter med"
+#: ../../mod/profiles.php:634
+msgid "View this profile"
+msgstr "Vis denne profilen"
-#: ../../mod/settings.php:580
-msgid "No name"
-msgstr "Ikke noe navn"
+#: ../../mod/profiles.php:636
+msgid "Change Profile Photo"
+msgstr "Endre profilbilde"
-#: ../../mod/settings.php:581
-msgid "Remove authorization"
-msgstr "Fjern tillatelse"
+#: ../../mod/profiles.php:637
+msgid "Create a new profile using these settings"
+msgstr "Lag en ny profil ved å bruke disse innstillingene"
-#: ../../mod/settings.php:592
-msgid "No feature settings configured"
-msgstr "Ingen funksjonsinnstillinger er konfigurert"
+#: ../../mod/profiles.php:638
+msgid "Clone this profile"
+msgstr "Klon denne profilen"
-#: ../../mod/settings.php:600
-msgid "Feature Settings"
-msgstr "Funksjonsinnstillinger"
+#: ../../mod/profiles.php:639
+msgid "Delete this profile"
+msgstr "Slett denne profilen"
-#: ../../mod/settings.php:623
-msgid "Account Settings"
-msgstr "Kontoinnstillinger"
+#: ../../mod/profiles.php:641
+msgid "Import profile from file"
+msgstr "Importer profil fra fil"
-#: ../../mod/settings.php:624
-msgid "Password Settings"
-msgstr "Passordinnstillinger"
+#: ../../mod/profiles.php:642
+msgid "Export profile to file"
+msgstr "Eksporter profil til fil"
-#: ../../mod/settings.php:625
-msgid "New Password:"
-msgstr "Nytt passord:"
+#: ../../mod/profiles.php:643
+msgid "Profile Name:"
+msgstr "Profilnavn:"
-#: ../../mod/settings.php:626
-msgid "Confirm:"
-msgstr "Bekreft:"
+#: ../../mod/profiles.php:644
+msgid "Your Full Name:"
+msgstr "Ditt fulle navn:"
-#: ../../mod/settings.php:626
-msgid "Leave password fields blank unless changing"
-msgstr "La passordfeltene stå blanke om det ikke skal endres"
+#: ../../mod/profiles.php:645
+msgid "Title/Description:"
+msgstr "Tittel/Beskrivelse:"
-#: ../../mod/settings.php:628 ../../mod/settings.php:936
-msgid "Email Address:"
-msgstr "E-postadresse:"
+#: ../../mod/profiles.php:646
+msgid "Your Gender:"
+msgstr "Ditt kjønn:"
-#: ../../mod/settings.php:629
-msgid "Remove Account"
-msgstr "Slett konto"
+#: ../../mod/profiles.php:647
+msgid "Birthday :"
+msgstr "Fødselsdag:"
-#: ../../mod/settings.php:630
-msgid "Warning: This action is permanent and cannot be reversed."
-msgstr "Advarsel: Denne handlingen er permanent og kan ikke angres."
+#: ../../mod/profiles.php:648
+msgid "Street Address:"
+msgstr "Gateadresse:"
-#: ../../mod/settings.php:646
-msgid "Off"
-msgstr "Av"
+#: ../../mod/profiles.php:649
+msgid "Locality/City:"
+msgstr "Sted/By:"
-#: ../../mod/settings.php:646
-msgid "On"
-msgstr "PÃ¥"
+#: ../../mod/profiles.php:650
+msgid "Postal/Zip Code:"
+msgstr "Postnummer/ZIP-kode:"
-#: ../../mod/settings.php:653
-msgid "Additional Features"
-msgstr "Ekstra funksjoner"
+#: ../../mod/profiles.php:651
+msgid "Country:"
+msgstr "Land:"
-#: ../../mod/settings.php:678
-msgid "Connector Settings"
-msgstr "Koblingsinnstillinger"
+#: ../../mod/profiles.php:652
+msgid "Region/State:"
+msgstr "Region/fylke:"
-#: ../../mod/settings.php:708 ../../mod/admin.php:390
-msgid "No special theme for mobile devices"
-msgstr "Ikke noe spesielt tema for mobile enheter"
+#: ../../mod/profiles.php:653
+msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
+msgstr "<span class=\"heart\">&hearts;</span> Sivilstand:"
+
+#: ../../mod/profiles.php:654
+msgid "Who: (if applicable)"
+msgstr "Hvem: (hvis det er aktuelt) "
+
+#: ../../mod/profiles.php:655
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Eksempler: kari123, Kari Villiamsen, kari@example.com"
+
+#: ../../mod/profiles.php:656
+msgid "Since [date]:"
+msgstr "Siden [dato]:"
+
+#: ../../mod/profiles.php:658
+msgid "Homepage URL:"
+msgstr "Hjemmeside URL:"
+
+#: ../../mod/profiles.php:661
+msgid "Religious Views:"
+msgstr "Religiøse synspunkter:"
+
+#: ../../mod/profiles.php:662
+msgid "Keywords:"
+msgstr "Nøkkelord:"
+
+#: ../../mod/profiles.php:665
+msgid "Example: fishing photography software"
+msgstr "Eksempel: fisking fotografering programvare"
+
+#: ../../mod/profiles.php:666
+msgid "Used in directory listings"
+msgstr "Brukt i katalogoppføringer"
+
+#: ../../mod/profiles.php:667
+msgid "Tell us about yourself..."
+msgstr "Fortell oss om deg selv..."
+
+#: ../../mod/profiles.php:668
+msgid "Hobbies/Interests"
+msgstr "Hobbier/Interesser"
+
+#: ../../mod/profiles.php:669
+msgid "Contact information and Social Networks"
+msgstr "Kontaktinformasjon og sosiale nettverk"
+
+#: ../../mod/profiles.php:670
+msgid "My other channels"
+msgstr "Mine andre kanaler"
+
+#: ../../mod/profiles.php:671
+msgid "Musical interests"
+msgstr "Musikkinteresser"
+
+#: ../../mod/profiles.php:672
+msgid "Books, literature"
+msgstr "Bøker, litteratur"
+
+#: ../../mod/profiles.php:673
+msgid "Television"
+msgstr "TV/fjernsyn"
+
+#: ../../mod/profiles.php:674
+msgid "Film/dance/culture/entertainment"
+msgstr "Film/dans/kultur/underholdning"
+
+#: ../../mod/profiles.php:675
+msgid "Love/romance"
+msgstr "Kjærlighet/romantikk"
+
+#: ../../mod/profiles.php:676
+msgid "Work/employment"
+msgstr "Arbeid/sysselsetting"
+
+#: ../../mod/profiles.php:677
+msgid "School/education"
+msgstr "Skole/utdanning"
-#: ../../mod/settings.php:717
+#: ../../mod/profiles.php:683
+msgid "This is your default profile."
+msgstr "Dette er din standardprofil."
+
+#: ../../mod/profiles.php:694 ../../mod/directory.php:148
+msgid "Age: "
+msgstr "Alder:"
+
+#: ../../mod/profiles.php:737
+msgid "Edit/Manage Profiles"
+msgstr "Endre/håndter profiler"
+
+#: ../../mod/profiles.php:738
+msgid "Add profile things"
+msgstr "Legg til profilting"
+
+#: ../../mod/profiles.php:739
+msgid "Include desirable objects in your profile"
+msgstr "Inkluder ønskverdige objekter i din profil"
+
+#: ../../mod/connect.php:55 ../../mod/connect.php:103
+msgid "Continue"
+msgstr "Fortsett"
+
+#: ../../mod/connect.php:84
+msgid "Premium Channel Setup"
+msgstr "Premiumkanal-oppsett"
+
+#: ../../mod/connect.php:86
+msgid "Enable premium channel connection restrictions"
+msgstr "Slå på restriksjoner for forbindelse med premiumkanal"
+
+#: ../../mod/connect.php:87
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Vennligst skriv dine restriksjoner og betingelser, slik som PayPal-kvittering, retningslinjer for bruk, og så videre."
+
+#: ../../mod/connect.php:89 ../../mod/connect.php:109
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Denne kanalen kan kreve ytterligere steg og bekreftelse av følgende betingelser før tilkobling:"
+
+#: ../../mod/connect.php:90
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Potensielle forbindelser vil da se følgende tekst før de går videre:"
+
+#: ../../mod/connect.php:91 ../../mod/connect.php:112
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Ved å fortsette bekrefter jeg at jeg har oppfylt alle instruksjoner gitt på denne siden."
+
+#: ../../mod/connect.php:100
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Ingen spesifikke instruksjoner er gitt av kanaleieren.)"
+
+#: ../../mod/connect.php:108
+msgid "Restricted or Premium Channel"
+msgstr "Begrenset kanal eller premiumkanal"
+
+#: ../../mod/post.php:229
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt."
+
+#: ../../mod/post.php:261 ../../mod/openid.php:72 ../../mod/openid.php:180
#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (Eksperimentelt)"
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Velkommen %s. Ekstern autentisering er vellykket."
-#: ../../mod/settings.php:747
-msgid "Display Settings"
-msgstr "Visningsinnstillinger"
+#: ../../mod/setup.php:166
+msgid "Red Matrix Server - Setup"
+msgstr "Red Matrix tjener - oppsett"
-#: ../../mod/settings.php:753
-msgid "Display Theme:"
-msgstr "Visningstema:"
+#: ../../mod/setup.php:172
+msgid "Could not connect to database."
+msgstr "Fikk ikke kontakt med databasen."
-#: ../../mod/settings.php:754
-msgid "Mobile Theme:"
-msgstr "Mobiltema:"
+#: ../../mod/setup.php:176
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Fikk ikke kontakt med det angitte nettstedets URL. Problemet kan muligens skyldes SSL-sertifikatet eller DNS."
-#: ../../mod/settings.php:755
-msgid "Update browser every xx seconds"
-msgstr "Oppdater nettleser hvert xx sekunder"
+#: ../../mod/setup.php:183
+msgid "Could not create table."
+msgstr "Kunne ikke lage tabellen."
-#: ../../mod/settings.php:755
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimum 10 sekunder, ikke noe maksimum"
+#: ../../mod/setup.php:189
+msgid "Your site database has been installed."
+msgstr "Databasen til ditt nettsted har blitt installert."
-#: ../../mod/settings.php:756
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Maksimalt antall samtaler å laste samtidig:"
+#: ../../mod/setup.php:194
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Du må kanskje importere filen \"install/schmea_xxx.sql\" manuelt ved å bruke en databaseklient."
-#: ../../mod/settings.php:756
-msgid "Maximum of 100 items"
-msgstr "Maksimum 100 elementer"
+#: ../../mod/setup.php:195 ../../mod/setup.php:264 ../../mod/setup.php:663
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Vennligst les filen \"install/INSTALL.txt\"."
-#: ../../mod/settings.php:757
-msgid "Don't show emoticons"
-msgstr "Ikke vis følelsesikoner"
+#: ../../mod/setup.php:261
+msgid "System check"
+msgstr "Systemsjekk"
-#: ../../mod/settings.php:758
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Systemsidens layoutbehandler - (avansert)"
+#: ../../mod/setup.php:265 ../../mod/events.php:434 ../../mod/photos.php:868
+msgid "Next"
+msgstr "Neste"
-#: ../../mod/settings.php:793
-msgid "Nobody except yourself"
-msgstr "Ingen unntatt deg selv"
+#: ../../mod/setup.php:266
+msgid "Check again"
+msgstr "Sjekk igjen"
-#: ../../mod/settings.php:794
-msgid "Only those you specifically allow"
-msgstr "Bare de du spesifikt tillater"
+#: ../../mod/setup.php:289
+msgid "Database connection"
+msgstr "Databaseforbindelse"
-#: ../../mod/settings.php:795
-msgid "Approved connections"
-msgstr "Godkjente forbindelser"
+#: ../../mod/setup.php:290
+msgid ""
+"In order to install Red Matrix we need to know how to connect to your "
+"database."
+msgstr "For å installere Red Matrix må du oppgi hvordan din database kan kontaktes."
-#: ../../mod/settings.php:796
-msgid "Any connections"
-msgstr "Enhver forbindelse"
+#: ../../mod/setup.php:291
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Vennligst kontakt din nettstedstilbyder eller nettstedsadministrator hvis du har spørsmål om disse innstillingene."
-#: ../../mod/settings.php:797
-msgid "Anybody on this website"
-msgstr "Enhver ved dette nettstedet"
+#: ../../mod/setup.php:292
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "Databasen du oppgir nedenfor må finnes på forhånd. Hvis den ikke finnes, vennligst lag den før du fortsetter."
-#: ../../mod/settings.php:798
-msgid "Anybody in this network"
-msgstr "Enhver i dette nettverket"
+#: ../../mod/setup.php:296
+msgid "Database Server Name"
+msgstr "Navn på databasetjener"
-#: ../../mod/settings.php:799
-msgid "Anybody authenticated"
-msgstr "Enhver som er autentisert"
+#: ../../mod/setup.php:296
+msgid "Default is localhost"
+msgstr "Standard er localhost"
-#: ../../mod/settings.php:800
-msgid "Anybody on the internet"
-msgstr "Enhver på Internett"
+#: ../../mod/setup.php:297
+msgid "Database Port"
+msgstr "Databaseport"
-#: ../../mod/settings.php:877
-msgid "Publish your default profile in the network directory"
-msgstr "Publiser din standardprofil i nettverkskatalogen"
+#: ../../mod/setup.php:297
+msgid "Communication port number - use 0 for default"
+msgstr "Kommunikasjonsportnummer - bruk 0 for standard"
-#: ../../mod/settings.php:877 ../../mod/settings.php:882
-#: ../../mod/settings.php:953 ../../mod/api.php:106 ../../mod/profiles.php:493
-#: ../../mod/admin.php:420
-msgid "No"
-msgstr "Nei"
+#: ../../mod/setup.php:298
+msgid "Database Login Name"
+msgstr "Database innloggingsnavn"
-#: ../../mod/settings.php:877 ../../mod/settings.php:882
-#: ../../mod/settings.php:953 ../../mod/api.php:105 ../../mod/profiles.php:492
-#: ../../mod/admin.php:422
-msgid "Yes"
-msgstr "Ja"
+#: ../../mod/setup.php:299
+msgid "Database Login Password"
+msgstr "Database innloggingspassord"
-#: ../../mod/settings.php:882
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Tillat oss å foreslå deg som en mulig venn til nye medlemmer?"
+#: ../../mod/setup.php:300
+msgid "Database Name"
+msgstr "Databasenavn"
-#: ../../mod/settings.php:886 ../../mod/profile_photo.php:365
-msgid "or"
-msgstr "eller"
+#: ../../mod/setup.php:301
+msgid "Database Type"
+msgstr "Databasetype"
-#: ../../mod/settings.php:891
-msgid "Your channel address is"
-msgstr "Din kanaladresse er"
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid "Site administrator email address"
+msgstr "E-postadressen til administrator ved nettstedet"
-#: ../../mod/settings.php:925
-msgid "Channel Settings"
-msgstr "Kanalinnstillinger"
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Din konto sin e-postadresse må være lik denne for å kunne bruke web-administrasjonspanelet."
-#: ../../mod/settings.php:934
-msgid "Basic Settings"
-msgstr "Grunninnstillinger"
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Website URL"
+msgstr "Nettstedets URL"
-#: ../../mod/settings.php:937
-msgid "Your Timezone:"
-msgstr "Din tidssone:"
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Please use SSL (https) URL if available."
+msgstr "Vennligst bruk SSL (https) URL hvis tilgjengelig."
-#: ../../mod/settings.php:938
-msgid "Default Post Location:"
-msgstr "Standard plassering ved innlegg:"
+#: ../../mod/setup.php:307 ../../mod/setup.php:352
+msgid "Please select a default timezone for your website"
+msgstr "Vennligst velg en standard tidssone for ditt nettsted"
-#: ../../mod/settings.php:938
-msgid "Geographical location to display on your posts"
-msgstr "Geografisk plassering som vises på dine innlegg"
+#: ../../mod/setup.php:335
+msgid "Site settings"
+msgstr "Nettstedets innstillinger"
-#: ../../mod/settings.php:939
-msgid "Use Browser Location:"
-msgstr "Bruk nettleseren sin plassering:"
+#: ../../mod/setup.php:395
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Fant ikke en kommandolinjeversjon av PHP i webtjenerens sti (PATH)."
-#: ../../mod/settings.php:941
-msgid "Adult Content"
-msgstr "Voksent innhold"
+#: ../../mod/setup.php:396
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Hvis du ikke har en kommandolinjeversjon av PHP installert på tjeneren, så vil du ikke kunne kjøre bakgrunnshenting via cron."
-#: ../../mod/settings.php:941
+#: ../../mod/setup.php:400
+msgid "PHP executable path"
+msgstr "PHP-kjørefilens sti"
+
+#: ../../mod/setup.php:400
msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Denne kanalen vil ofte eller jevnlig publisere voksent innhold. (Vennligst merk alt voksent materiale og/eller nakenhet med #NSFW)"
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Skriv full sti til kjørefilen for PHP. Du kan la denne stå blank for å fortsette installasjonen."
-#: ../../mod/settings.php:943
-msgid "Security and Privacy Settings"
-msgstr "Sikkerhets- og personverninnstillinger"
+#: ../../mod/setup.php:405
+msgid "Command line PHP"
+msgstr "Kommandolinje PHP"
-#: ../../mod/settings.php:945
-msgid "Hide my online presence"
-msgstr "Skjul min tilstedeværelse online"
+#: ../../mod/setup.php:414
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "Kommandolinjeversjonen av PHP på ditt system har ikke \"register_argc_argv\" påskrudd."
-#: ../../mod/settings.php:945
-msgid "Prevents displaying in your profile that you are online"
-msgstr "Forhindrer visning på din profil av at du er online "
+#: ../../mod/setup.php:415
+msgid "This is required for message delivery to work."
+msgstr "Dette er påkrevd for at meldingslevering skal virke."
-#: ../../mod/settings.php:947
-msgid "Simple Privacy Settings:"
-msgstr "Enkle personverninnstillinger:"
+#: ../../mod/setup.php:417
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
-#: ../../mod/settings.php:948
+#: ../../mod/setup.php:438
msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr "Svært offentlig - <em>ekstremt åpent (bør brukes med varsomhet)</em>"
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Feil: \"openssl_pkey_new\"-funksjonen på dette systemet er ikke i stand til å lage krypteringsnøkler"
-#: ../../mod/settings.php:949
+#: ../../mod/setup.php:439
msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Typisk - <em>standard er offentlig, personvern når ønsket (likner på tillatelser i sosiale nettverk, men med forbedret personvern)</em>"
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Ved kjøring på Windows, vennligst se \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/settings.php:950
-msgid "Private - <em>default private, never open or public</em>"
-msgstr "Privat - <em>standard er privat, aldri åpen eller offentlig</em>"
+#: ../../mod/setup.php:441
+msgid "Generate encryption keys"
+msgstr "Lag krypteringsnøkler"
-#: ../../mod/settings.php:951
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Blokkert - <em>standard blokkert til/fra alle</em>"
+#: ../../mod/setup.php:448
+msgid "libCurl PHP module"
+msgstr "libCurl PHP-modul"
-#: ../../mod/settings.php:953
-msgid "Allow others to tag your posts"
-msgstr "Tillat andre å merke dine innlegg"
+#: ../../mod/setup.php:449
+msgid "GD graphics PHP module"
+msgstr "GD graphics PHP-modul"
+
+#: ../../mod/setup.php:450
+msgid "OpenSSL PHP module"
+msgstr "OpenSSL PHP-modul"
+
+#: ../../mod/setup.php:451
+msgid "mysqli or postgres PHP module"
+msgstr "MySQLi eller Postgres PHP modul"
+
+#: ../../mod/setup.php:452
+msgid "mb_string PHP module"
+msgstr "mb_string PHP-modul"
+
+#: ../../mod/setup.php:453
+msgid "mcrypt PHP module"
+msgstr "mcrypt PHP-modul"
+
+#: ../../mod/setup.php:458 ../../mod/setup.php:460
+msgid "Apache mod_rewrite module"
+msgstr "Apache mod_rewrite-modul"
-#: ../../mod/settings.php:953
+#: ../../mod/setup.php:458
msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr "Ofte brukt av fellesskapet for å merke upassende innhold i etterkant"
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Feil: Apache web-tjenerens mod-rewrite-modul er påkrevd, men ikke installert."
-#: ../../mod/settings.php:955
-msgid "Advanced Privacy Settings"
-msgstr "Avanserte personverninnstillinger"
+#: ../../mod/setup.php:464 ../../mod/setup.php:467
+msgid "proc_open"
+msgstr "proc_open"
-#: ../../mod/settings.php:957
-msgid "Expire other channel content after this many days"
-msgstr "Annet kanal innhold utløper etter så mange dager"
+#: ../../mod/setup.php:464
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Feil: proc_open er påkrevd, men er enten ikke installert eller har blitt avskrudd i php.ini"
-#: ../../mod/settings.php:957
-msgid "0 or blank prevents expiration"
-msgstr "0 eller blankt forhindrer utløp"
+#: ../../mod/setup.php:472
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Feil: libCURL PHP-modul er påkrevd, men er ikke installert."
-#: ../../mod/settings.php:958
-msgid "Maximum Friend Requests/Day:"
-msgstr "Maksimalt antall venneforespørsler per dag:"
+#: ../../mod/setup.php:476
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Feil: GD graphics PHP-modul med JPEG-støtte er påkrevd, men er ikke installert."
-#: ../../mod/settings.php:958
-msgid "May reduce spam activity"
-msgstr "Kan redusere søppelpostaktivitet"
+#: ../../mod/setup.php:480
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Feil: openssl PHP-modul er påkrevd, men er ikke installert."
-#: ../../mod/settings.php:959
-msgid "Default Post Permissions"
-msgstr "Standard innleggstillatelser"
+#: ../../mod/setup.php:484
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Feil: mysqli eller postgres PHP modul er påkrevd, men ingen av dem er installert."
-#: ../../mod/settings.php:971
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Maksimalt antall private meldinger per dag fra ukjente personer:"
+#: ../../mod/setup.php:488
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Feil: mb_string PHP-modul er påkrevd, men er ikke installert."
-#: ../../mod/settings.php:971
-msgid "Useful to reduce spamming"
-msgstr "Nyttig for å redusere søppelpost"
+#: ../../mod/setup.php:492
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr "Feil: mcrypt PHP-modul er påkrevd, men er ikke installert."
-#: ../../mod/settings.php:974
-msgid "Notification Settings"
-msgstr "Varslingsinnstillinger"
+#: ../../mod/setup.php:508
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "Web-installasjonen må kunne lage en fil kalt \".htconfig.php\" i toppkatalogen til web-tjeneren din, men dette får den ikke til."
-#: ../../mod/settings.php:975
-msgid "By default post a status message when:"
-msgstr "Legg inn en statusmelding når du:"
+#: ../../mod/setup.php:509
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Dette er oftest tillatelsesinnstilling, ettersom webtjeneren kanskje kan skrive til filer i din mappe - selv om du kan."
-#: ../../mod/settings.php:976
-msgid "accepting a friend request"
-msgstr "aksepterer en venneforespørsel"
+#: ../../mod/setup.php:510
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "På slutten av denne prosedyren vil vi gi deg en tekst til å lagre i en fil kalt .htconfig.php i toppkatalogen til din Red."
-#: ../../mod/settings.php:977
-msgid "joining a forum/community"
-msgstr "blir med i et forum/miljø"
+#: ../../mod/setup.php:511
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Alternativt, så kan du hoppe over denne prosedyren og gjennomføre en manuell installasjon. Vennligst se filen \"install/INSTALL.txt\" for instruksjoner."
-#: ../../mod/settings.php:978
-msgid "making an <em>interesting</em> profile change"
-msgstr "gjør en <em>interessant</em> profilendring"
+#: ../../mod/setup.php:514
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php kan skrives til"
-#: ../../mod/settings.php:979
-msgid "Send a notification email when:"
-msgstr "Send en varsel-e-post når:"
+#: ../../mod/setup.php:524
+msgid ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Red bruker malmotoren Smarty3 for å gjengi sine webvisninger. Smarty3 kompilerer malene om til PHP for å framskynde gjengivelsen."
-#: ../../mod/settings.php:980
-msgid "You receive a connection request"
-msgstr "Du har mottatt en forespørsel om forbindelse"
+#: ../../mod/setup.php:525
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the Red top level folder."
+msgstr "For å kunne lagre disse kompilerte malene, så må webtjeneren ha skrivetilgang til katalogen %s under Red sin hovedmappe."
-#: ../../mod/settings.php:981
-msgid "Your connections are confirmed"
-msgstr "Dine forbindelser er bekreftet"
+#: ../../mod/setup.php:526 ../../mod/setup.php:544
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Vennligst sikre at brukeren som din web-tjeneste kjører som (for eksempel www-data) har skrivetilgang til denne katalogen."
-#: ../../mod/settings.php:982
-msgid "Someone writes on your profile wall"
-msgstr "Noen skriver på din profilvegg"
+#: ../../mod/setup.php:527
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Merknad: som et sikkerhetstiltak bør du bare gi webtjerenn skrivetilgang til %s - ikke til malfilene (.tpl) som den inneholder."
-#: ../../mod/settings.php:983
-msgid "Someone writes a followup comment"
-msgstr "Noen skriver en oppfølgende kommentar"
+#: ../../mod/setup.php:530
+#, php-format
+msgid "%s is writable"
+msgstr "%s kan skrives til"
-#: ../../mod/settings.php:984
-msgid "You receive a private message"
-msgstr "Du mottar en privat melding"
+#: ../../mod/setup.php:543
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr "Red bruker lagringsmappen for å lagre opplastede filer. Webtjeneren trenger å ha skrivetilgang til lagringsmappen under Red sin toppnivåmappe."
-#: ../../mod/settings.php:985
-msgid "You receive a friend suggestion"
-msgstr "Du mottok et venneforslag"
+#: ../../mod/setup.php:547
+msgid "store is writable"
+msgstr "lageret kan skrives til"
-#: ../../mod/settings.php:986
-msgid "You are tagged in a post"
-msgstr "Du merkes i et innlegg"
+#: ../../mod/setup.php:577
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "SSL-sertifikatet kan ikke kontrolleres. Fiks sertifikatet eller skru av https tilgang til dette nettstedet."
-#: ../../mod/settings.php:987
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Du ble prikket/oppildnet/og så vider i et innlegg"
+#: ../../mod/setup.php:578
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Hvis du har HTTPS-tilgang til ditt nettsted eller tillater forbindelser til TCP port 443 (HTTPS-porten), så MÅ du bruke nettlesergodkjent sertifkater. Du MÅ IKKE bruke egensignert sertifikater!"
-#: ../../mod/settings.php:990
-msgid "Advanced Account/Page Type Settings"
-msgstr "Avanserte innstillinger for konto/sidetype"
+#: ../../mod/setup.php:579
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "Denne begrensningen er tatt inn fordi offentlige innlegg fra deg kan for eksempel inneholde referanser til bilder på din egen hub."
-#: ../../mod/settings.php:991
-msgid "Change the behaviour of this account for special situations"
-msgstr "Endre oppførselen til denne kontoen i spesielle situasjoner"
+#: ../../mod/setup.php:580
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Hvis sertifikatet ditt ikke gjenkjennes, så vil medlemmer på andre nettsteder (som selv kan ha godkjente sertifikater) få en beskjed med en advarsel på deres eget nettsted som klager over sikkerhetsproblemer."
-#: ../../mod/settings.php:994
+#: ../../mod/setup.php:581
msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Vennligst skru på ekspertmodus (under <a href=\"settings/features\">Innstillinger > Ekstra funksjoner</a>) for å justere!"
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Dette kan gi problemer med brukervennlighet (ikke bare på ditt eget nettsted), så vi må insistere på dette kravet."
-#: ../../mod/settings.php:995
-msgid "Miscellaneous Settings"
-msgstr "Diverse innstillinger"
+#: ../../mod/setup.php:582
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Det finnes tilbydere som utsteder gratis sertifikater som er gyldige i nettlesere."
-#: ../../mod/settings.php:997
-msgid "Personal menu to display in your channel pages"
-msgstr "Personlig meny som kan vises på dine kanalsider"
+#: ../../mod/setup.php:584
+msgid "SSL certificate validation"
+msgstr "SSL sertifikat-kontroll"
+
+#: ../../mod/setup.php:590
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "URL omskriving (rewrite) i .htaccess virker ikke. Sjekk konfigurasjonen til tjeneren din. Test:"
+
+#: ../../mod/setup.php:592
+msgid "Url rewrite is working"
+msgstr "URL rewrite virker"
+
+#: ../../mod/setup.php:602
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "Databasekonfigurasjonsfilen \".htconfig.php\" kunne ikke skrives. Vennligst bruk den medfølgende teksten for å lage en konfigurasjonsfil i toppkatalogen av din web-tjener."
+
+#: ../../mod/setup.php:626
+msgid "Errors encountered creating database tables."
+msgstr "Feil oppstod under opprettelsen av databasetabeller."
+
+#: ../../mod/setup.php:661
+msgid "<h1>What next</h1>"
+msgstr "<h1>Hva gjenstår</h1>"
+
+#: ../../mod/setup.php:662
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "VIKTIG: Du må [manuelt] sette opp en automatisert tidfestet oppgave til bakgrunnshenteren."
+
+#: ../../mod/siteinfo.php:90
+#, php-format
+msgid "Version %s"
+msgstr "Versjon %s"
+
+#: ../../mod/siteinfo.php:111
+msgid "Installed plugins/addons/apps:"
+msgstr "Installerte tilleggsfunksjoner/tillegg/apper:"
+
+#: ../../mod/siteinfo.php:124
+msgid "No installed plugins/addons/apps"
+msgstr "Ingen installerte tilleggsfunksjoner/tillegg/apper"
+
+#: ../../mod/siteinfo.php:132
+msgid "Red"
+msgstr "Red"
+
+#: ../../mod/siteinfo.php:133
+msgid ""
+"This is a hub of the Red Matrix - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Dette er en hub i Red Matrix - et globalt kooperativt nettverk av desentraliserte personvernforsterkede nettsteder."
+
+#: ../../mod/siteinfo.php:137
+msgid "Running at web location"
+msgstr "Kjører på webplasseringen"
+
+#: ../../mod/siteinfo.php:138
+msgid ""
+"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
+"about the Red Matrix."
+msgstr "Vennligst besøk <a href=\"http://getzot.com\">GetZot.com</a> for å lære mer om Red Matrix."
+
+#: ../../mod/siteinfo.php:139
+msgid "Bug reports and issues: please visit"
+msgstr "Feilmeldinger og feilretting: vennligst besøk"
+
+#: ../../mod/siteinfo.php:142
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com"
+
+#: ../../mod/siteinfo.php:144
+msgid "Site Administrators"
+msgstr "Nettstedsadministratorer"
#: ../../mod/poke.php:159
msgid "Poke/Prod"
@@ -4006,17 +4597,6 @@ msgid ""
" and/or create new posts for you?"
msgstr "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?"
-#: ../../mod/post.php:226
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt."
-
-#: ../../mod/post.php:257 ../../mod/openid.php:72 ../../mod/openid.php:178
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Velkommen %s. Ekstern autentisering er vellykket."
-
#: ../../mod/attach.php:9
msgid "Item not available."
msgstr "Elementet er ikke tilgjengelig."
@@ -4026,384 +4606,282 @@ msgstr "Elementet er ikke tilgjengelig."
msgid "Fetching URL returns error: %1$s"
msgstr "Henting av URL gir følgende feil: %1$s"
-#: ../../mod/block.php:27 ../../mod/page.php:35
+#: ../../mod/block.php:27 ../../mod/page.php:33
msgid "Invalid item."
msgstr "Ugyldig element."
-#: ../../mod/block.php:39 ../../mod/chanview.php:77 ../../mod/page.php:47
-#: ../../mod/home.php:52 ../../mod/wall_upload.php:28
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:28 ../../mod/page.php:45
msgid "Channel not found."
msgstr "Kanalen ble ikke funnet."
-#: ../../mod/block.php:75 ../../mod/page.php:83 ../../mod/display.php:100
-#: ../../mod/help.php:72 ../../index.php:236
+#: ../../mod/block.php:75 ../../mod/display.php:102 ../../mod/help.php:70
+#: ../../mod/page.php:81 ../../index.php:241
msgid "Page not found."
msgstr "Siden ikke funnet."
-#: ../../mod/profile_photo.php:108
-msgid "Image uploaded but image cropping failed."
-msgstr "Bildet ble lastet opp, men beskjæring av bildet mislyktes."
-
-#: ../../mod/profile_photo.php:161
-msgid "Image resize failed."
-msgstr "Endring av bildestørrelse mislyktes."
-
-#: ../../mod/profile_photo.php:205
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart."
-
-#: ../../mod/profile_photo.php:232
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "Bildet overstiger størrelsesbegrensningen på %d"
+#: ../../mod/sources.php:32
+msgid "Failed to create source. No channel selected."
+msgstr "Mislyktes med å lage kilde. Ingen kanal er valgt."
-#: ../../mod/profile_photo.php:241
-msgid "Unable to process image."
-msgstr "Kan ikke behandle bildet."
+#: ../../mod/sources.php:45
+msgid "Source created."
+msgstr "Kilden er laget."
-#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
-msgid "Photo not available."
-msgstr "Bildet er ikke tilgjengelig."
+#: ../../mod/sources.php:57
+msgid "Source updated."
+msgstr "Kilden er oppdatert."
-#: ../../mod/profile_photo.php:358
-msgid "Upload File:"
-msgstr "Last opp fil:"
+#: ../../mod/sources.php:82
+msgid "*"
+msgstr "*"
-#: ../../mod/profile_photo.php:359
-msgid "Select a profile:"
-msgstr "Velg en profil:"
+#: ../../mod/sources.php:89
+msgid "Manage remote sources of content for your channel."
+msgstr "HÃ¥ndtere eksterne innholdskilder til din kanal."
-#: ../../mod/profile_photo.php:360
-msgid "Upload Profile Photo"
-msgstr "Last opp profilbilde:"
+#: ../../mod/sources.php:90 ../../mod/sources.php:100
+msgid "New Source"
+msgstr "Ny kilde"
-#: ../../mod/profile_photo.php:361
-msgid "Upload"
-msgstr "Last opp"
+#: ../../mod/sources.php:101 ../../mod/sources.php:133
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importer alt eller et utvalgt av innhold fra følgende kanal inn i denne kanalen og distribuer det i henhold til dine egne kanalinnstillinger."
-#: ../../mod/profile_photo.php:365
-msgid "skip this step"
-msgstr "hopp over dette steget"
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Only import content with these words (one per line)"
+msgstr "Bare importer innhold med disse ordene (ett ord per linje)"
-#: ../../mod/profile_photo.php:365
-msgid "select a photo from your photo albums"
-msgstr "velg et bilde fra dine fotoalbum"
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Leave blank to import all public content"
+msgstr "La stå tomt for å importere alt offentlig innhold"
-#: ../../mod/profile_photo.php:379
-msgid "Crop Image"
-msgstr "Beskjær bildet"
+#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../mod/new_channel.php:112
+msgid "Channel Name"
+msgstr "Kanalnavn"
-#: ../../mod/profile_photo.php:380
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Vennligst juster bildebeskjæringen for optimal visning."
+#: ../../mod/sources.php:123 ../../mod/sources.php:150
+msgid "Source not found."
+msgstr "Kilden ble ikke funnet."
-#: ../../mod/profile_photo.php:382
-msgid "Done Editing"
-msgstr "Avslutt redigering"
+#: ../../mod/sources.php:130
+msgid "Edit Source"
+msgstr "Endre kilde"
-#: ../../mod/profile_photo.php:425
-msgid "Image uploaded successfully."
-msgstr "Opplasting av bildet var vellykket."
+#: ../../mod/sources.php:131
+msgid "Delete Source"
+msgstr "Slett kilde"
-#: ../../mod/profile_photo.php:427
-msgid "Image upload failed."
-msgstr "Opplasting av bildet mislyktes."
+#: ../../mod/sources.php:158
+msgid "Source removed"
+msgstr "Kilden er fjernet"
-#: ../../mod/profile_photo.php:436
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Forminsking av bildet [%s] mislyktes."
+#: ../../mod/sources.php:160
+msgid "Unable to remove source."
+msgstr "Ikke i stand til å fjerne kilde."
-#: ../../mod/blocks.php:66
+#: ../../mod/blocks.php:99
msgid "Block Name"
msgstr "Byggeklossens navn"
-#: ../../mod/profiles.php:18 ../../mod/profiles.php:138
-#: ../../mod/profiles.php:168 ../../mod/profiles.php:472
-msgid "Profile not found."
-msgstr "Profilen ble ikke funnet."
-
-#: ../../mod/profiles.php:38
-msgid "Profile deleted."
-msgstr "Profilen er slettet."
-
-#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
-msgid "Profile-"
-msgstr "Profil-"
-
-#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
-msgid "New profile created."
-msgstr "Ny profil opprettet."
-
-#: ../../mod/profiles.php:98
-msgid "Profile unavailable to clone."
-msgstr "Profilen er utilgjengelig for klonen."
-
-#: ../../mod/profiles.php:178
-msgid "Profile Name is required."
-msgstr "Profilnavn er påkrevd."
-
-#: ../../mod/profiles.php:294
-msgid "Marital Status"
-msgstr "Sivilstand"
-
-#: ../../mod/profiles.php:298
-msgid "Romantic Partner"
-msgstr "Romantisk partner"
-
-#: ../../mod/profiles.php:302
-msgid "Likes"
-msgstr "Liker"
-
-#: ../../mod/profiles.php:306
-msgid "Dislikes"
-msgstr "Liker ikke"
+#: ../../mod/search.php:13 ../../mod/directory.php:15 ../../mod/photos.php:458
+#: ../../mod/display.php:9 ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr "Offentlig tilgang avvist."
-#: ../../mod/profiles.php:310
-msgid "Work/Employment"
-msgstr "Arbeid/sysselsetting"
+#: ../../mod/directory.php:161
+msgid "Gender: "
+msgstr "Kjønn:"
-#: ../../mod/profiles.php:313
-msgid "Religion"
-msgstr "Religion"
+#: ../../mod/directory.php:163
+msgid "Status: "
+msgstr "Status:"
-#: ../../mod/profiles.php:317
-msgid "Political Views"
-msgstr "Politiske synspunkter"
+#: ../../mod/directory.php:165
+msgid "Homepage: "
+msgstr "Hjemmeside:"
-#: ../../mod/profiles.php:321
-msgid "Gender"
-msgstr "Kjønn"
+#: ../../mod/directory.php:168
+msgid "Hometown: "
+msgstr "Hjemby:"
-#: ../../mod/profiles.php:325
-msgid "Sexual Preference"
-msgstr "Seksuelle preferanser"
+#: ../../mod/directory.php:170
+msgid "About: "
+msgstr "Om:"
-#: ../../mod/profiles.php:329
-msgid "Homepage"
-msgstr "Hjemmeside"
+#: ../../mod/directory.php:225
+msgid "Public Forum:"
+msgstr "Offentlig forum:"
-#: ../../mod/profiles.php:333
-msgid "Interests"
-msgstr "Interesser"
+#: ../../mod/directory.php:228
+msgid "Keywords: "
+msgstr "Nøkkelord:"
-#: ../../mod/profiles.php:337 ../../mod/admin.php:892
-msgid "Address"
-msgstr "Adresse"
+#: ../../mod/directory.php:268
+msgid "Finding:"
+msgstr "Finner:"
-#: ../../mod/profiles.php:344 ../../mod/pubsites.php:25
-msgid "Location"
-msgstr "Plassering"
+#: ../../mod/directory.php:273
+msgid "next page"
+msgstr "Neste side"
-#: ../../mod/profiles.php:427
-msgid "Profile updated."
-msgstr "Profilen er oppdatert."
+#: ../../mod/directory.php:273
+msgid "previous page"
+msgstr "Forrige side"
-#: ../../mod/profiles.php:491
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Skjul kontakt-/vennelisten din fra de som ser på denne profilen?"
+#: ../../mod/directory.php:290
+msgid "No entries (some entries may be hidden)."
+msgstr "Ingen oppføringer (noen oppføringer kan være skjult)."
-#: ../../mod/profiles.php:514
-msgid "Edit Profile Details"
-msgstr "Endre profildetaljer"
+#: ../../mod/register.php:44
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "Antallet daglige registreringer ved nettstedet er overskredet. Vær vennlig å prøve igjen imorgen."
-#: ../../mod/profiles.php:516
-msgid "View this profile"
-msgstr "Vis denne profilen"
+#: ../../mod/register.php:50
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Vennligst angi at tjenesteavtalen er akseptert. Registrering mislyktes."
-#: ../../mod/profiles.php:517
-msgid "Change Profile Photo"
-msgstr "Endre profilbilde"
+#: ../../mod/register.php:84
+msgid "Passwords do not match."
+msgstr "Passordene er ikke like."
-#: ../../mod/profiles.php:518
-msgid "Create a new profile using these settings"
-msgstr "Lag en ny profil ved å bruke disse innstillingene"
+#: ../../mod/register.php:117
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "Registreringen er vellykket. Vennligst sjekk e-posten din for å bekrefte opprettelsen."
-#: ../../mod/profiles.php:519
-msgid "Clone this profile"
-msgstr "Klon denne profilen"
+#: ../../mod/register.php:123
+msgid "Your registration is pending approval by the site owner."
+msgstr "Din registrering venter på godkjenning av nettstedets eier."
-#: ../../mod/profiles.php:520
-msgid "Delete this profile"
-msgstr "Slett denne profilen"
+#: ../../mod/register.php:126
+msgid "Your registration can not be processed."
+msgstr "Din registrering kan ikke behandles."
-#: ../../mod/profiles.php:521
-msgid "Profile Name:"
-msgstr "Profilnavn:"
+#: ../../mod/register.php:163
+msgid "Registration on this site/hub is by approval only."
+msgstr "Registrering på dette nettstedet/denne hubben skjer bare gjennom godkjenning."
-#: ../../mod/profiles.php:522
-msgid "Your Full Name:"
-msgstr "Ditt fulle navn:"
+#: ../../mod/register.php:164
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr "<a href=\"pubsites\">Registrer på et annet tilknyttet nettsted/hub</a>"
-#: ../../mod/profiles.php:523
-msgid "Title/Description:"
-msgstr "Tittel/Beskrivelse:"
+#: ../../mod/register.php:174
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Dette nettstedet har overskredet antallet tillate kontoregistreringer per dag. Vennligst prøv igjen imorgen."
-#: ../../mod/profiles.php:524
-msgid "Your Gender:"
-msgstr "Ditt kjønn:"
+#: ../../mod/register.php:185
+msgid "Terms of Service"
+msgstr "Tjenesteavtale"
-#: ../../mod/profiles.php:525
+#: ../../mod/register.php:191
#, php-format
-msgid "Birthday (%s):"
-msgstr "Fødselsdag (%s):"
-
-#: ../../mod/profiles.php:526
-msgid "Street Address:"
-msgstr "Gateadresse:"
-
-#: ../../mod/profiles.php:527
-msgid "Locality/City:"
-msgstr "Sted/By:"
-
-#: ../../mod/profiles.php:528
-msgid "Postal/Zip Code:"
-msgstr "Postnummer/ZIP-kode:"
-
-#: ../../mod/profiles.php:529
-msgid "Country:"
-msgstr "Land:"
-
-#: ../../mod/profiles.php:530
-msgid "Region/State:"
-msgstr "Region/fylke:"
-
-#: ../../mod/profiles.php:531
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "<span class=\"heart\">&hearts;</span> Sivilstand:"
-
-#: ../../mod/profiles.php:532
-msgid "Who: (if applicable)"
-msgstr "Hvem: (hvis det er aktuelt) "
-
-#: ../../mod/profiles.php:533
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Eksempler: kari123, Kari Villiamsen, kari@example.com"
-
-#: ../../mod/profiles.php:534
-msgid "Since [date]:"
-msgstr "Siden [dato]:"
-
-#: ../../mod/profiles.php:536
-msgid "Homepage URL:"
-msgstr "Hjemmeside URL:"
-
-#: ../../mod/profiles.php:539
-msgid "Religious Views:"
-msgstr "Religiøse synspunkter:"
-
-#: ../../mod/profiles.php:540
-msgid "Keywords:"
-msgstr "Nøkkelord:"
-
-#: ../../mod/profiles.php:543
-msgid "Example: fishing photography software"
-msgstr "Eksempel: fisking fotografering programvare"
-
-#: ../../mod/profiles.php:544
-msgid "Used in directory listings"
-msgstr "Brukt i katalogoppføringer"
+msgid "I accept the %s for this website"
+msgstr "Jeg godtar %s for dette nettstedet"
-#: ../../mod/profiles.php:545
-msgid "Tell us about yourself..."
-msgstr "Fortell oss om deg selv..."
+#: ../../mod/register.php:193
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Jeg er over 13 år gammel og aksepterer %s for dette nettstedet."
-#: ../../mod/profiles.php:546
-msgid "Hobbies/Interests"
-msgstr "Hobbier/Interesser"
+#: ../../mod/register.php:207 ../../mod/admin.php:413
+msgid "Registration"
+msgstr "Registrering"
-#: ../../mod/profiles.php:547
-msgid "Contact information and Social Networks"
-msgstr "Kontaktinformasjon og sosiale nettverk"
+#: ../../mod/register.php:212
+msgid "Membership on this site is by invitation only."
+msgstr "Medlemskap ved dette nettstedet skjer kun via invitasjon."
-#: ../../mod/profiles.php:548
-msgid "My other channels"
-msgstr "Mine andre kanaler"
+#: ../../mod/register.php:213
+msgid "Please enter your invitation code"
+msgstr "Vennligst skriv din invitasjonskode"
-#: ../../mod/profiles.php:549
-msgid "Musical interests"
-msgstr "Musikkinteresser"
+#: ../../mod/register.php:216
+msgid "Your email address"
+msgstr "Din e-postadresse"
-#: ../../mod/profiles.php:550
-msgid "Books, literature"
-msgstr "Bøker, litteratur"
+#: ../../mod/register.php:217
+msgid "Choose a password"
+msgstr "Velg et passord"
-#: ../../mod/profiles.php:551
-msgid "Television"
-msgstr "TV/fjernsyn"
+#: ../../mod/register.php:218
+msgid "Please re-enter your password"
+msgstr "Vennligst skriv ditt passord en gang til"
-#: ../../mod/profiles.php:552
-msgid "Film/dance/culture/entertainment"
-msgstr "Film/dans/kultur/underholdning"
+#: ../../mod/events.php:81
+msgid "Event can not end before it has started."
+msgstr "Hendelsen kan ikke slutte før den starter."
-#: ../../mod/profiles.php:553
-msgid "Love/romance"
-msgstr "Kjærlighet/romantikk"
+#: ../../mod/events.php:86
+msgid "Event title and start time are required."
+msgstr "Hendelsestittel og starttidspunkt er påkrevd."
-#: ../../mod/profiles.php:554
-msgid "Work/employment"
-msgstr "Arbeid/sysselsetting"
+#: ../../mod/events.php:100
+msgid "Event not found."
+msgstr "Hendelsen ble ikke funnet."
-#: ../../mod/profiles.php:555
-msgid "School/education"
-msgstr "Skole/utdanning"
+#: ../../mod/events.php:364
+msgid "l, F j"
+msgstr "l, F j"
-#: ../../mod/profiles.php:560
-msgid ""
-"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
-"be visible to anybody using the internet."
-msgstr "Dette er din <strong>offentlige</strong> profil.<br />Den <strong>kan</strong> være synlig for alle på Internett."
+#: ../../mod/events.php:386
+msgid "Edit event"
+msgstr "Endre hendelse"
-#: ../../mod/profiles.php:570 ../../mod/directory.php:143
-#: ../../mod/dirprofile.php:92
-msgid "Age: "
-msgstr "Alder:"
+#: ../../mod/events.php:432
+msgid "Create New Event"
+msgstr "Lag ny hendelse"
-#: ../../mod/profiles.php:609
-msgid "Edit/Manage Profiles"
-msgstr "Endre/håndter profiler"
+#: ../../mod/events.php:433 ../../mod/photos.php:859
+msgid "Previous"
+msgstr "Forrige"
-#: ../../mod/profiles.php:610
-msgid "Add profile things"
-msgstr "Legg til profilting"
+#: ../../mod/events.php:560
+msgid "Event details"
+msgstr "Hendelsesdetaljer"
-#: ../../mod/profiles.php:611
-msgid "Include desirable objects in your profile"
-msgstr "Inkluder ønskverdige objekter i din profil"
+#: ../../mod/events.php:561
+msgid "Starting date and Title are required."
+msgstr "Startdato og Tittel er påkrevd."
-#: ../../mod/bookmarks.php:38
-msgid "Bookmark added"
-msgstr "Bokmerke lagt til"
+#: ../../mod/events.php:565
+msgid "Event Starts:"
+msgstr "Hendelsen starter:"
-#: ../../mod/bookmarks.php:58
-msgid "My Bookmarks"
-msgstr "Mine bokmerker"
+#: ../../mod/events.php:565 ../../mod/events.php:581 ../../mod/appman.php:91
+#: ../../mod/appman.php:92
+msgid "Required"
+msgstr "PÃ¥krevd"
-#: ../../mod/bookmarks.php:69
-msgid "My Connections Bookmarks"
-msgstr "Mine forbindelsers bokmerker"
+#: ../../mod/events.php:571
+msgid "Finish date/time is not known or not relevant"
+msgstr "Sluttdato/-tidspunkt er ikke kjent eller ikke relevant"
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
-msgstr "Ugyldig profil-identifikator."
+#: ../../mod/events.php:573
+msgid "Event Finishes:"
+msgstr "Hendelsen slutter:"
-#: ../../mod/profperm.php:110
-msgid "Profile Visibility Editor"
-msgstr "Endre profilsynlighet"
+#: ../../mod/events.php:575
+msgid "Adjust for viewer timezone"
+msgstr "Juster i forhold til tilskuerens tidssone"
-#: ../../mod/profperm.php:114
-msgid "Click on a contact to add or remove."
-msgstr "Klikk på en kontakt for å legge til eller fjerne."
+#: ../../mod/events.php:577
+msgid "Description:"
+msgstr "Beskrivelse:"
-#: ../../mod/profperm.php:123
-msgid "Visible To"
-msgstr "Synlig for"
+#: ../../mod/events.php:581
+msgid "Title:"
+msgstr "Tittel:"
-#: ../../mod/profperm.php:139 ../../mod/connections.php:279
-msgid "All Connections"
-msgstr "Alle forbindelser"
+#: ../../mod/events.php:583
+msgid "Share this event"
+msgstr "Del denne hendelsen"
#: ../../mod/pubsites.php:16
msgid "Public Sites"
@@ -4495,84 +4973,10 @@ msgstr "Navn på chatrom"
msgid "%1$s's Chatrooms"
msgstr "%1$s sine chatrom"
-#: ../../mod/register.php:43
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "Antallet daglige registreringer ved nettstedet er overskredet. Vær vennlig å prøve igjen imorgen."
-
-#: ../../mod/register.php:49
-msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "Vennligst angi at tjenesteavtalen er akseptert. Registrering mislyktes."
-
-#: ../../mod/register.php:77
-msgid "Passwords do not match."
-msgstr "Passordene er ikke like."
-
-#: ../../mod/register.php:105
-msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "Registreringen er vellykket. Vennligst sjekk e-posten din for å bekrefte opprettelsen."
-
-#: ../../mod/register.php:111
-msgid "Your registration is pending approval by the site owner."
-msgstr "Din registrering venter på godkjenning av nettstedets eier."
-
-#: ../../mod/register.php:114
-msgid "Your registration can not be processed."
-msgstr "Din registrering kan ikke behandles."
-
-#: ../../mod/register.php:147
-msgid "Registration on this site/hub is by approval only."
-msgstr "Registrering på dette nettstedet/denne hubben skjer bare gjennom godkjenning."
-
-#: ../../mod/register.php:148
-msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
-msgstr "<a href=\"pubsites\">Registrer på et annet tilknyttet nettsted/hub</a>"
-
-#: ../../mod/register.php:156
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Dette nettstedet har overskredet antallet tillate kontoregistreringer per dag. Vennligst prøv igjen imorgen."
-
-#: ../../mod/register.php:167
-msgid "Terms of Service"
-msgstr "Tjenesteavtale"
-
-#: ../../mod/register.php:173
-#, php-format
-msgid "I accept the %s for this website"
-msgstr "Jeg godtar %s for dette nettstedet"
-
-#: ../../mod/register.php:175
+#: ../../mod/subthread.php:103
#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Jeg er over 13 år gammel og aksepterer %s for dette nettstedet."
-
-#: ../../mod/register.php:189 ../../mod/admin.php:443
-msgid "Registration"
-msgstr "Registrering"
-
-#: ../../mod/register.php:194
-msgid "Membership on this site is by invitation only."
-msgstr "Medlemskap ved dette nettstedet skjer kun via invitasjon."
-
-#: ../../mod/register.php:195
-msgid "Please enter your invitation code"
-msgstr "Vennligst skriv din invitasjonskode"
-
-#: ../../mod/register.php:198
-msgid "Your email address"
-msgstr "Din e-postadresse"
-
-#: ../../mod/register.php:199
-msgid "Choose a password"
-msgstr "Velg et passord"
-
-#: ../../mod/register.php:200
-msgid "Please re-enter your password"
-msgstr "Vennligst skriv ditt passord en gang til"
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s følger %2$s sin %3$s"
#: ../../mod/chatsvc.php:111
msgid "Away"
@@ -4582,39 +4986,65 @@ msgstr "Borte"
msgid "Online"
msgstr "Online"
-#: ../../mod/regmod.php:12
+#: ../../mod/regmod.php:11
msgid "Please login."
msgstr "Vennligst logg inn."
-#: ../../mod/cloud.php:112
-msgid "Red Matrix - Guests: Username: {your email address}, Password: +++"
-msgstr "Red Matrix - gjester: brukernavn: {din e-postadresse}, passord: +++"
+#: ../../mod/network.php:79
+msgid "No such group"
+msgstr "Gruppen finnes ikke"
+
+#: ../../mod/network.php:118
+msgid "Search Results For:"
+msgstr "Søkeresultat for:"
+
+#: ../../mod/network.php:172
+msgid "Collection is empty"
+msgstr "Samlingen er tom"
+
+#: ../../mod/network.php:180
+msgid "Collection: "
+msgstr "Samling:"
-#: ../../mod/removeme.php:49
+#: ../../mod/network.php:193
+msgid "Connection: "
+msgstr "Forbindelse:"
+
+#: ../../mod/network.php:196
+msgid "Invalid connection."
+msgstr "Ugyldig forbindelse."
+
+#: ../../mod/removeme.php:29
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Fjerning av kanaler er ikke tillatt innen 48 timer etter endring av kontopassordet."
+
+#: ../../mod/removeme.php:57
msgid "Remove This Channel"
msgstr "Fjern denne kanalen"
-#: ../../mod/removeme.php:50
+#: ../../mod/removeme.php:58
msgid ""
"This will completely remove this channel from the network. Once this has "
"been done it is not recoverable."
msgstr "Dette vil fullstendig fjerne kanalen fra nettverket. NÃ¥r det er gjort kan det ikke angres."
-#: ../../mod/removeme.php:51
+#: ../../mod/removeme.php:59 ../../mod/removeaccount.php:59
msgid "Please enter your password for verification:"
msgstr "Vennligst skriv ditt passord for å få bekreftelse:"
-#: ../../mod/removeme.php:52
+#: ../../mod/removeme.php:60
msgid "Remove this channel and all its clones from the network"
msgstr "Fjern denne kanalen og alle dens kloner fra nettverket"
-#: ../../mod/removeme.php:52
+#: ../../mod/removeme.php:60
msgid ""
"By default only the instance of the channel located on this hub will be "
"removed from the network"
msgstr "Som standard vil bare forekomsten av denne kanalen lokalisert på denne hubben bli fjernet fra nettverket"
-#: ../../mod/removeme.php:53
+#: ../../mod/removeme.php:61
msgid "Remove Channel"
msgstr "Fjern kanal"
@@ -4644,98 +5074,174 @@ msgstr "Feilmeldingen var:"
msgid "Authentication failed."
msgstr "Autentisering mislyktes."
-#: ../../mod/rmagic.php:78
+#: ../../mod/rmagic.php:82
msgid "Remote Authentication"
msgstr "Fjernautentisering"
-#: ../../mod/rmagic.php:79
+#: ../../mod/rmagic.php:83
msgid "Enter your channel address (e.g. channel@example.com)"
msgstr "Skriv din kanaladresse (for eksempel channel@exampel.com)"
-#: ../../mod/rmagic.php:80
+#: ../../mod/rmagic.php:84
msgid "Authenticate"
msgstr "Autentiser"
-#: ../../mod/connect.php:55 ../../mod/connect.php:103
-msgid "Continue"
-msgstr "Fortsett"
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr "- velg -"
-#: ../../mod/connect.php:84
-msgid "Premium Channel Setup"
-msgstr "Premiumkanal-oppsett"
+#: ../../mod/photos.php:77
+msgid "Page owner information could not be retrieved."
+msgstr "Informasjon om sideeier kunne ikke hentes."
-#: ../../mod/connect.php:86
-msgid "Enable premium channel connection restrictions"
-msgstr "Slå på restriksjoner for forbindelse med premiumkanal"
+#: ../../mod/photos.php:97
+msgid "Album not found."
+msgstr "Albumet ble ikke funnet."
-#: ../../mod/connect.php:87
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Vennligst skriv dine restriksjoner og betingelser, slik som PayPal-kvittering, retningslinjer for bruk, og så videre."
+#: ../../mod/photos.php:119 ../../mod/photos.php:672
+msgid "Delete Album"
+msgstr "Slett album"
-#: ../../mod/connect.php:89 ../../mod/connect.php:109
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Denne kanalen kan kreve ytterligere steg og bekreftelse av følgende betingelser før tilkobling:"
+#: ../../mod/photos.php:159 ../../mod/photos.php:957
+msgid "Delete Photo"
+msgstr "Slett bilde"
-#: ../../mod/connect.php:90
-msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Potensielle forbindelser vil da se følgende tekst før de går videre:"
+#: ../../mod/photos.php:469
+msgid "No photos selected"
+msgstr "Ingen bilder valgt"
-#: ../../mod/connect.php:91 ../../mod/connect.php:112
-msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "Ved å fortsette bekrefter jeg at jeg har oppfylt alle instruksjoner gitt på denne siden."
+#: ../../mod/photos.php:513
+msgid "Access to this item is restricted."
+msgstr "Tilgang til dette elementet er begrenset."
-#: ../../mod/connect.php:100
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Ingen spesifikke instruksjoner er gitt av kanaleieren.)"
+#: ../../mod/photos.php:552
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "%1$.2f MB av %2$.2f MB lagringsplass til bilder er brukt."
-#: ../../mod/connect.php:108
-msgid "Restricted or Premium Channel"
-msgstr "Begrenset kanal eller premiumkanal"
+#: ../../mod/photos.php:555
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr "%1$.2f MB lagringsplass til bilder er brukt."
-#: ../../mod/network.php:79
-msgid "No such group"
-msgstr "Gruppen finnes ikke"
+#: ../../mod/photos.php:579
+msgid "Upload Photos"
+msgstr "Last opp bilder"
-#: ../../mod/network.php:118
-msgid "Search Results For:"
-msgstr "Søkeresultat for:"
+#: ../../mod/photos.php:583 ../../mod/photos.php:665 ../../mod/photos.php:943
+msgid "Enter a new album name"
+msgstr "Skriv et nytt albumnavn"
-#: ../../mod/network.php:172
-msgid "Collection is empty"
-msgstr "Samlingen er tom"
+#: ../../mod/photos.php:584 ../../mod/photos.php:666 ../../mod/photos.php:944
+msgid "or select an existing one (doubleclick)"
+msgstr "eller velg et eksisterende album (dobbeltklikk)"
-#: ../../mod/network.php:180
-msgid "Collection: "
-msgstr "Samling:"
+#: ../../mod/photos.php:585
+msgid "Do not show a status post for this upload"
+msgstr "Ikke lag et statusinnlegg for denne oppdateringen"
-#: ../../mod/network.php:193
-msgid "Connection: "
-msgstr "Forbindelse:"
+#: ../../mod/photos.php:613
+msgid "Album name could not be decoded"
+msgstr "Albumnavnet kunne ikke dekodes"
-#: ../../mod/network.php:196
-msgid "Invalid connection."
-msgstr "Ugyldig forbindelse."
+#: ../../mod/photos.php:654 ../../mod/photos.php:1166
+#: ../../mod/photos.php:1182
+msgid "Contact Photos"
+msgstr "Kontaktbilder"
+
+#: ../../mod/photos.php:678
+msgid "Show Newest First"
+msgstr "Vis nyeste først"
+
+#: ../../mod/photos.php:680
+msgid "Show Oldest First"
+msgstr "Vis eldste først"
+
+#: ../../mod/photos.php:707 ../../mod/photos.php:1214
+msgid "View Photo"
+msgstr "Vis foto"
+
+#: ../../mod/photos.php:736
+msgid "Edit Album"
+msgstr "Endre album"
+
+#: ../../mod/photos.php:781
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Tillatelse avvist. Tilgang til dette elementet kan være begrenset."
+
+#: ../../mod/photos.php:783
+msgid "Photo not available"
+msgstr "Bilde er utilgjengelig"
+
+#: ../../mod/photos.php:841
+msgid "Use as profile photo"
+msgstr "Bruk som profilbilde"
+
+#: ../../mod/photos.php:848
+msgid "Private Photo"
+msgstr "Privat bilde"
+
+#: ../../mod/photos.php:863
+msgid "View Full Size"
+msgstr "Vis i full størrelse"
+
+#: ../../mod/photos.php:905 ../../mod/delegate.php:130 ../../mod/tagrm.php:133
+msgid "Remove"
+msgstr "Fjern"
+
+#: ../../mod/photos.php:937
+msgid "Edit photo"
+msgstr "Endre bilde"
+
+#: ../../mod/photos.php:939
+msgid "Rotate CW (right)"
+msgstr "Roter med klokka (mot høyre)"
+
+#: ../../mod/photos.php:940
+msgid "Rotate CCW (left)"
+msgstr "Roter mot klokka (venstre)"
+
+#: ../../mod/photos.php:947
+msgid "Caption"
+msgstr "Overskrift"
+
+#: ../../mod/photos.php:949
+msgid "Add a Tag"
+msgstr "Legg til merkelapp"
+
+#: ../../mod/photos.php:953
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Eksempel: @bob, @Barbara_Jensen, @jim@example.com"
+
+#: ../../mod/photos.php:955
+msgid "Flag as adult in album view"
+msgstr "Flag som voksent i albumvisning"
+
+#: ../../mod/photos.php:1132
+msgid "In This Photo:"
+msgstr "I dette bildet:"
+
+#: ../../mod/photos.php:1220
+msgid "View Album"
+msgstr "Vis album"
+
+#: ../../mod/photos.php:1243
+msgid "Recent Photos"
+msgstr "Nye bilder"
#: ../../mod/connections.php:37 ../../mod/connedit.php:64
msgid "Could not access contact record."
msgstr "Fikk ikke tilgang til kontaktinformasjonen."
-#: ../../mod/connections.php:51 ../../mod/connedit.php:78
+#: ../../mod/connections.php:51 ../../mod/connedit.php:86
msgid "Could not locate selected profile."
msgstr "Fant ikke valgt profil."
-#: ../../mod/connections.php:94 ../../mod/connedit.php:131
+#: ../../mod/connections.php:94 ../../mod/connedit.php:140
msgid "Connection updated."
msgstr "Forbindelsen er oppdatert."
-#: ../../mod/connections.php:96 ../../mod/connedit.php:133
+#: ../../mod/connections.php:96 ../../mod/connedit.php:142
msgid "Failed to update connection record."
msgstr "Mislyktes med å oppdatere forbindelsesinformasjonen."
@@ -4759,10 +5265,6 @@ msgstr "Arkivert"
msgid "All"
msgstr "Alle"
-#: ../../mod/connections.php:240 ../../mod/connections.php:320
-msgid "Unconnected"
-msgstr "Ikke tilkoblet"
-
#: ../../mod/connections.php:270
msgid "Suggest new connections"
msgstr "Foreslå nye forbindelser"
@@ -4803,263 +5305,285 @@ msgstr "Vis bare arkiverte forbindelser"
msgid "Only show hidden connections"
msgstr "Vis bare skjulte forbindelser"
-#: ../../mod/connections.php:323
-msgid "Only show one-way connections"
-msgstr "Vis bare en-veis-forbindelser"
-
-#: ../../mod/connections.php:368
+#: ../../mod/connections.php:371
#, php-format
msgid "%1$s [%2$s]"
msgstr "%1$s [%2$s]"
-#: ../../mod/connections.php:369
-msgid "Edit contact"
-msgstr "Endre kontakt"
+#: ../../mod/connections.php:372
+msgid "Edit connection"
+msgstr "Endre forbindelse"
-#: ../../mod/connections.php:390
+#: ../../mod/connections.php:410
msgid "Search your connections"
msgstr "Søk blant dine forbindelser"
-#: ../../mod/connections.php:391
+#: ../../mod/connections.php:411
msgid "Finding: "
msgstr "Fant:"
+#: ../../mod/manage.php:136
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Du har laget %1$.0f av %2$.0f tillatte kanaler."
+
+#: ../../mod/manage.php:144
+msgid "Create a new channel"
+msgstr "Lag en ny kanal"
+
+#: ../../mod/manage.php:149
+msgid "Current Channel"
+msgstr "Gjeldende kanal"
+
+#: ../../mod/manage.php:151
+msgid "Attach to one of your channels by selecting it."
+msgstr "Bytt til en av dine kanaler ved å velge den."
+
+#: ../../mod/manage.php:152
+msgid "Default Channel"
+msgstr "Standardkanal"
+
+#: ../../mod/manage.php:153
+msgid "Make Default"
+msgstr "Gjør til standard"
+
#: ../../mod/rpost.php:97 ../../mod/editpost.php:42
msgid "Edit post"
msgstr "Endre innlegg"
-#: ../../mod/connedit.php:243
+#: ../../mod/connedit.php:189
+msgid "is now connected to"
+msgstr "er nå forbundet til"
+
+#: ../../mod/connedit.php:310
msgid "Could not access address book record."
msgstr "Fikk ikke tilgang til informasjonen i adresseboken."
-#: ../../mod/connedit.php:257
+#: ../../mod/connedit.php:324
msgid "Refresh failed - channel is currently unavailable."
msgstr "Oppfrisking mislyktes - kanalen er for øyeblikket utilgjengelig."
-#: ../../mod/connedit.php:264
+#: ../../mod/connedit.php:331
msgid "Channel has been unblocked"
msgstr "Kanalen er ikke blokkert lenger"
-#: ../../mod/connedit.php:265
+#: ../../mod/connedit.php:332
msgid "Channel has been blocked"
msgstr "Kanalen har blitt blokkert"
-#: ../../mod/connedit.php:269 ../../mod/connedit.php:281
-#: ../../mod/connedit.php:293 ../../mod/connedit.php:305
-#: ../../mod/connedit.php:320
+#: ../../mod/connedit.php:336 ../../mod/connedit.php:348
+#: ../../mod/connedit.php:360 ../../mod/connedit.php:372
+#: ../../mod/connedit.php:388
msgid "Unable to set address book parameters."
msgstr "Ikke i stand til å angi parametre for adresseboken."
-#: ../../mod/connedit.php:276
+#: ../../mod/connedit.php:343
msgid "Channel has been unignored"
msgstr "Kanalen er ikke lenger ignorert"
-#: ../../mod/connedit.php:277
+#: ../../mod/connedit.php:344
msgid "Channel has been ignored"
msgstr "Kanalen blir ignorert"
-#: ../../mod/connedit.php:288
+#: ../../mod/connedit.php:355
msgid "Channel has been unarchived"
msgstr "Kanalen er ikke lenger arkivert"
-#: ../../mod/connedit.php:289
+#: ../../mod/connedit.php:356
msgid "Channel has been archived"
msgstr "Kanalen er arkivert"
-#: ../../mod/connedit.php:300
+#: ../../mod/connedit.php:367
msgid "Channel has been unhidden"
msgstr "Kanalen er ikke lenger skjult"
-#: ../../mod/connedit.php:301
+#: ../../mod/connedit.php:368
msgid "Channel has been hidden"
msgstr "Kanalen er blitt skjult"
-#: ../../mod/connedit.php:315
+#: ../../mod/connedit.php:383
msgid "Channel has been approved"
msgstr "Kanalen har blitt godkjent"
-#: ../../mod/connedit.php:316
+#: ../../mod/connedit.php:384
msgid "Channel has been unapproved"
msgstr "Kanalen er ikke lenger godkjent"
-#: ../../mod/connedit.php:334
+#: ../../mod/connedit.php:412
msgid "Connection has been removed."
msgstr "Forbindelsen har blitt fjernet."
-#: ../../mod/connedit.php:354
+#: ../../mod/connedit.php:432
#, php-format
msgid "View %s's profile"
msgstr "Vis %s sin profil"
-#: ../../mod/connedit.php:358
+#: ../../mod/connedit.php:436
msgid "Refresh Permissions"
msgstr "Oppfrisk tillatelser"
-#: ../../mod/connedit.php:361
+#: ../../mod/connedit.php:439
msgid "Fetch updated permissions"
msgstr "Hent oppdaterte tillatelser"
-#: ../../mod/connedit.php:365
+#: ../../mod/connedit.php:443
msgid "Recent Activity"
msgstr "Nylig aktivitet"
-#: ../../mod/connedit.php:368
+#: ../../mod/connedit.php:446
msgid "View recent posts and comments"
msgstr "Vis nylige innlegg og kommentarer"
-#: ../../mod/connedit.php:372 ../../mod/connedit.php:515
-#: ../../mod/admin.php:760
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:594
+#: ../../mod/admin.php:732
msgid "Unblock"
msgstr "Ikke blokker lenger"
-#: ../../mod/connedit.php:372 ../../mod/connedit.php:515
-#: ../../mod/admin.php:759
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:594
+#: ../../mod/admin.php:731
msgid "Block"
msgstr "Blokker"
-#: ../../mod/connedit.php:375
+#: ../../mod/connedit.php:453
msgid "Block or Unblock this connection"
msgstr "Blokker eller fjern blokkering av denne forbindelsen "
-#: ../../mod/connedit.php:379 ../../mod/connedit.php:516
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:595
msgid "Unignore"
msgstr "Ikke ignorer lenger"
-#: ../../mod/connedit.php:379 ../../mod/connedit.php:516
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:595
#: ../../mod/notifications.php:51
msgid "Ignore"
msgstr "Ignorer"
-#: ../../mod/connedit.php:382
+#: ../../mod/connedit.php:460
msgid "Ignore or Unignore this connection"
msgstr "Ignorer eller fjern ignorering av denne forbindelsen"
-#: ../../mod/connedit.php:385
+#: ../../mod/connedit.php:463
msgid "Unarchive"
msgstr "Ikke arkiver lenger"
-#: ../../mod/connedit.php:385
+#: ../../mod/connedit.php:463
msgid "Archive"
msgstr "Arkiver"
-#: ../../mod/connedit.php:388
+#: ../../mod/connedit.php:466
msgid "Archive or Unarchive this connection"
msgstr "Arkiver eller fjern arkivering av denne forbindelsen"
-#: ../../mod/connedit.php:391
+#: ../../mod/connedit.php:469
msgid "Unhide"
msgstr "Ikke skjul lenger"
-#: ../../mod/connedit.php:391
+#: ../../mod/connedit.php:469
msgid "Hide"
msgstr "Skjul"
-#: ../../mod/connedit.php:394
+#: ../../mod/connedit.php:472
msgid "Hide or Unhide this connection"
msgstr "Skjul eller fjern skjuling av denne forbindelsen"
-#: ../../mod/connedit.php:401
+#: ../../mod/connedit.php:479
msgid "Delete this connection"
msgstr "Slett denne forbindelsen"
-#: ../../mod/connedit.php:444 ../../mod/connedit.php:473
+#: ../../mod/connedit.php:522 ../../mod/connedit.php:552
msgid "Approve this connection"
msgstr "Godta denne forbindelsen"
-#: ../../mod/connedit.php:444
+#: ../../mod/connedit.php:522
msgid "Accept connection to allow communication"
msgstr "Godta denne forbindelsen for å tillate kommunikasjon"
-#: ../../mod/connedit.php:460
-msgid "Automatic Permissions Settings"
-msgstr "Automatiske innstillinger for tillatelser"
-
-#: ../../mod/connedit.php:460
+#: ../../mod/connedit.php:538
#, php-format
msgid "Connections: settings for %s"
msgstr "Forbindelser: innstillinger for %s"
-#: ../../mod/connedit.php:464
-msgid ""
-"When receiving a channel introduction, any permissions provided here will be"
-" applied to the new connection automatically and the introduction approved. "
-"Leave this page if you do not wish to use this feature."
-msgstr "Når du mottar en kanal-introduksjon, så vil alle tillatelser gitt her gjelde for den nye forbindelsen automatisk og introduksjonen godkjennes. Forlat denne siden hvis du ikke ønsker å bruke denne egenskapen."
+#: ../../mod/connedit.php:539
+msgid "Apply these permissions automatically"
+msgstr "Bruk disse tillatelsene automatisk"
-#: ../../mod/connedit.php:466
+#: ../../mod/connedit.php:543
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr "Bruk tillatelsene angitt på denne siden på alle nye forbindelser."
+
+#: ../../mod/connedit.php:545
msgid "Slide to adjust your degree of friendship"
msgstr "Flytt for å justere din grad av vennskap"
-#: ../../mod/connedit.php:472
+#: ../../mod/connedit.php:551
msgid "inherited"
msgstr "arvet"
-#: ../../mod/connedit.php:474
+#: ../../mod/connedit.php:553
msgid "Connection has no individual permissions!"
msgstr "Forbindelsen har ingen individuelle tillatelser!"
-#: ../../mod/connedit.php:475
+#: ../../mod/connedit.php:554
msgid ""
"This may be appropriate based on your <a href=\"settings\">privacy "
"settings</a>, though you may wish to review the \"Advanced Permissions\"."
msgstr "Dette kan være riktig basert på dine <a href=\"settings\">personverninnstillinger</a>, men kanskje du bør se over \"Avanserte tillatelser\"."
-#: ../../mod/connedit.php:477
+#: ../../mod/connedit.php:556
msgid "Profile Visibility"
msgstr "Profilens synlighet"
-#: ../../mod/connedit.php:478
+#: ../../mod/connedit.php:557
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Vennligst velg profilen du ønsker å vise %s når profilen din ses på en sikret måte. "
-#: ../../mod/connedit.php:479
+#: ../../mod/connedit.php:558
msgid "Contact Information / Notes"
msgstr "Kontaktinformasjon / Merknader"
-#: ../../mod/connedit.php:480
+#: ../../mod/connedit.php:559
msgid "Edit contact notes"
msgstr "Endre kontaktmerknader"
-#: ../../mod/connedit.php:482
+#: ../../mod/connedit.php:561
msgid "Their Settings"
msgstr "Deres innstillinger"
-#: ../../mod/connedit.php:483
+#: ../../mod/connedit.php:562
msgid "My Settings"
msgstr "Mine innstillinger"
-#: ../../mod/connedit.php:485
+#: ../../mod/connedit.php:564
msgid "Clear/Disable Automatic Permissions"
msgstr "Tøm/Skru av Automatiske tillatelser"
-#: ../../mod/connedit.php:486
+#: ../../mod/connedit.php:565
msgid "Forum Members"
msgstr "Forummedlemmer"
-#: ../../mod/connedit.php:487
+#: ../../mod/connedit.php:566
msgid "Soapbox"
msgstr "Talerstol"
-#: ../../mod/connedit.php:488
+#: ../../mod/connedit.php:567
msgid "Full Sharing (typical social network permissions)"
msgstr "Full deling (typiske tillatelser i sosiale nettverk)"
-#: ../../mod/connedit.php:489
+#: ../../mod/connedit.php:568
msgid "Cautious Sharing "
msgstr "Forsiktig deling"
-#: ../../mod/connedit.php:490
+#: ../../mod/connedit.php:569
msgid "Follow Only"
msgstr "Bare følg"
-#: ../../mod/connedit.php:491
+#: ../../mod/connedit.php:570
msgid "Individual Permissions"
msgstr "Individuelle tillatelser"
-#: ../../mod/connedit.php:492
+#: ../../mod/connedit.php:571
msgid ""
"Some permissions may be inherited from your channel <a "
"href=\"settings\">privacy settings</a>, which have higher priority than "
@@ -5067,894 +5591,1040 @@ msgid ""
"have no effect."
msgstr "Noen tillatelser kan være arvet fra din kanals <a ref=\"settings\">personverninnstillinger</a>, som har høyere prioritet enn individuelle innstillinger. Å endre arvede innstillinger på denne siden vil ikke ha noen effekt."
-#: ../../mod/connedit.php:493
+#: ../../mod/connedit.php:572
msgid "Advanced Permissions"
msgstr "Avanserte tillatelser"
-#: ../../mod/connedit.php:494
+#: ../../mod/connedit.php:573
msgid "Simple Permissions (select one and submit)"
msgstr "Enkle tillatelser (velg en og lagre)"
-#: ../../mod/connedit.php:498
+#: ../../mod/connedit.php:577
#, php-format
msgid "Visit %s's profile - %s"
msgstr "Besøk %s sin profil - %s"
-#: ../../mod/connedit.php:499
+#: ../../mod/connedit.php:578
msgid "Block/Unblock contact"
msgstr "Blokker/Ikke blokker kontakt"
-#: ../../mod/connedit.php:500
+#: ../../mod/connedit.php:579
msgid "Ignore contact"
msgstr "Ignorer kontakt"
-#: ../../mod/connedit.php:501
+#: ../../mod/connedit.php:580
msgid "Repair URL settings"
msgstr "Reparer URL-innstillinger"
-#: ../../mod/connedit.php:502
+#: ../../mod/connedit.php:581
msgid "View conversations"
msgstr "Vis samtaler"
-#: ../../mod/connedit.php:504
+#: ../../mod/connedit.php:583
msgid "Delete contact"
msgstr "Slett kontakt"
-#: ../../mod/connedit.php:507
+#: ../../mod/connedit.php:586
msgid "Last update:"
msgstr "Siste oppdatering:"
-#: ../../mod/connedit.php:509
+#: ../../mod/connedit.php:588
msgid "Update public posts"
msgstr "Oppdater offentlige innlegg"
-#: ../../mod/connedit.php:511
+#: ../../mod/connedit.php:590
msgid "Update now"
msgstr "Oppdater nå"
-#: ../../mod/connedit.php:517
+#: ../../mod/connedit.php:596
msgid "Currently blocked"
msgstr "For øyeblikket blokkert"
-#: ../../mod/connedit.php:518
+#: ../../mod/connedit.php:597
msgid "Currently ignored"
msgstr "For øyeblikket ignorert"
-#: ../../mod/connedit.php:519
+#: ../../mod/connedit.php:598
msgid "Currently archived"
msgstr "For øyeblikket arkivert"
-#: ../../mod/connedit.php:520
+#: ../../mod/connedit.php:599
msgid "Currently pending"
msgstr "For øyeblikket ventende"
-#: ../../mod/connedit.php:521
+#: ../../mod/connedit.php:600
msgid "Hide this contact from others"
msgstr "Skjul denne kontakten for andre"
-#: ../../mod/connedit.php:521
+#: ../../mod/connedit.php:600
msgid ""
"Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr "Svar/likes på dine offentlige innlegg <strong>kan</strong> fortsatt være synlige"
-#: ../../mod/delegate.php:95
-msgid "No potential page delegates located."
-msgstr "Ingen potensielle sidedelegater er funnet."
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "OpenID protokollfeil. Ingen ID ble returnert."
-#: ../../mod/delegate.php:121
-msgid "Delegate Page Management"
-msgstr "Deleger sidehåndtering"
+#: ../../mod/thing.php:96
+msgid "Thing updated"
+msgstr "Tingen er oppdatert"
-#: ../../mod/delegate.php:123
-msgid ""
-"Delegates are able to manage all aspects of this account/page except for "
-"basic account settings. Please do not delegate your personal account to "
-"anybody that you do not trust completely."
-msgstr "Delegater kan håndtere alle sider ved denne kontoen/siden unntatt grunnleggende kontoinformasjon. Vennligst ikke deleger din personlige konto til noen du ikke stoler fullstendig på."
+#: ../../mod/thing.php:156
+msgid "Object store: failed"
+msgstr "Objektlagring: mislyktes"
-#: ../../mod/delegate.php:124
-msgid "Existing Page Managers"
-msgstr "Eksisterende sidehåndterere"
+#: ../../mod/thing.php:160
+msgid "Thing added"
+msgstr "Ting lagt til"
-#: ../../mod/delegate.php:126
-msgid "Existing Page Delegates"
-msgstr "Eksisterende sidedelegater"
+#: ../../mod/thing.php:180
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../mod/delegate.php:128
-msgid "Potential Delegates"
-msgstr "Potensielle sidedelegater"
+#: ../../mod/thing.php:232
+msgid "Show Thing"
+msgstr "Vis ting"
-#: ../../mod/delegate.php:130 ../../mod/tagrm.php:93 ../../mod/photos.php:906
-msgid "Remove"
-msgstr "Fjern"
+#: ../../mod/thing.php:239
+msgid "item not found."
+msgstr "element ble ikke funnet."
-#: ../../mod/delegate.php:131
-msgid "Add"
-msgstr "Legg til"
+#: ../../mod/thing.php:270
+msgid "Edit Thing"
+msgstr "Endre ting"
-#: ../../mod/delegate.php:132
-msgid "No entries."
-msgstr "Ingen oppføringer."
+#: ../../mod/thing.php:272 ../../mod/thing.php:319
+msgid "Select a profile"
+msgstr "Velg en profil"
-#: ../../mod/search.php:13 ../../mod/directory.php:15
-#: ../../mod/dirprofile.php:9 ../../mod/display.php:9
-#: ../../mod/viewconnections.php:17 ../../mod/photos.php:443
-msgid "Public access denied."
-msgstr "Offentlig tilgang avvist."
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Post an activity"
+msgstr "Legg inn en aktivitet"
-#: ../../mod/directory.php:146 ../../mod/dirprofile.php:95
-msgid "Gender: "
-msgstr "Kjønn:"
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Sender bare til seere av den aktuelle profilen"
-#: ../../mod/directory.php:207
-msgid "Finding:"
-msgstr "Finner:"
+#: ../../mod/thing.php:278 ../../mod/thing.php:324
+msgid "Name of thing e.g. something"
+msgstr "Navn på ting for eksempel noe"
-#: ../../mod/directory.php:215
-msgid "next page"
-msgstr "neste side"
+#: ../../mod/thing.php:280 ../../mod/thing.php:325
+msgid "URL of thing (optional)"
+msgstr "URL til ting (valgfritt)"
-#: ../../mod/directory.php:215
-msgid "previous page"
-msgstr "forrige side"
+#: ../../mod/thing.php:282 ../../mod/thing.php:326
+msgid "URL for photo of thing (optional)"
+msgstr "URL til bilde av ting (valgfritt)"
-#: ../../mod/directory.php:222
-msgid "No entries (some entries may be hidden)."
-msgstr "Ingen oppføringer (noen oppføringer kan være skjult)."
+#: ../../mod/thing.php:317
+msgid "Add Thing to your Profile"
+msgstr "Legg til ting i din profil"
-#: ../../mod/dirprofile.php:108
-msgid "Status: "
-msgstr "Status:"
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr "Ingen gyldig konto funnet."
-#: ../../mod/dirprofile.php:109
-msgid "Sexual Preference: "
-msgstr "Seksuelle preferanser:"
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din."
-#: ../../mod/dirprofile.php:111
-msgid "Homepage: "
-msgstr "Hjemmeside:"
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Nettstedsmedlem (%s)"
-#: ../../mod/dirprofile.php:112
-msgid "Hometown: "
-msgstr "Hjemby:"
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Forespurt om å tilbakestille passord hos %s"
-#: ../../mod/dirprofile.php:114
-msgid "About: "
-msgstr "Om:"
+#: ../../mod/lostpass.php:63
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes."
-#: ../../mod/dirprofile.php:162
-msgid "Keywords: "
-msgstr "Nøkkelord:"
+#: ../../mod/lostpass.php:85 ../../boot.php:1494
+msgid "Password Reset"
+msgstr "Tilbakestill passord"
+
+#: ../../mod/lostpass.php:86
+msgid "Your password has been reset as requested."
+msgstr "Ditt passord har blitt tilbakestilt som forespurt."
+
+#: ../../mod/lostpass.php:87
+msgid "Your new password is"
+msgstr "Ditt nye passord er"
+
+#: ../../mod/lostpass.php:88
+msgid "Save or copy your new password - and then"
+msgstr "Lagre eller kopier ditt nye passord, og deretter kan du"
+
+#: ../../mod/lostpass.php:89
+msgid "click here to login"
+msgstr "klikke her for å logge inn"
+
+#: ../../mod/lostpass.php:90
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging."
+
+#: ../../mod/lostpass.php:107
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Ditt passord er endret hos %s"
+
+#: ../../mod/lostpass.php:122
+msgid "Forgot your Password?"
+msgstr "Glemt passord ditt?"
+
+#: ../../mod/lostpass.php:123
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner."
+
+#: ../../mod/lostpass.php:124
+msgid "Email Address"
+msgstr "E-postadresse"
+
+#: ../../mod/lostpass.php:125
+msgid "Reset"
+msgstr "Tilbakestill"
+
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr "Bokmerke lagt til"
+
+#: ../../mod/bookmarks.php:60
+msgid "My Bookmarks"
+msgstr "Mine bokmerker"
+
+#: ../../mod/bookmarks.php:71
+msgid "My Connections Bookmarks"
+msgstr "Mine forbindelsers bokmerker"
#: ../../mod/dirsearch.php:21
msgid "This site is not a directory server"
msgstr "Dette nettstedet er ikke en katalogtjener"
-#: ../../mod/setup.php:162
-msgid "Red Matrix Server - Setup"
-msgstr "Red Matrix tjener - oppsett"
+#: ../../mod/cloud.php:130
+msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
+msgstr "RedMatrix - gjester: brukernavn: {din e-postadresse}, passord: +++"
-#: ../../mod/setup.php:168
-msgid "Could not connect to database."
-msgstr "Fikk ikke kontakt med databasen."
+#: ../../mod/ping.php:257
+msgid "sent you a private message"
+msgstr "sendte deg en privat melding"
-#: ../../mod/setup.php:172
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "Fikk ikke kontakt med det angitte nettstedets URL. Problemet kan muligens skyldes SSL-sertifikatet eller DNS."
+#: ../../mod/ping.php:308
+msgid "added your channel"
+msgstr "la til din kanal"
-#: ../../mod/setup.php:179
-msgid "Could not create table."
-msgstr "Kunne ikke lage tabellen."
+#: ../../mod/ping.php:349
+msgid "posted an event"
+msgstr "la ut en hendelse"
-#: ../../mod/setup.php:185
-msgid "Your site database has been installed."
-msgstr "Databasen til ditt nettsted har blitt installert."
+#: ../../mod/editblock.php:79 ../../mod/editblock.php:95
+#: ../../mod/editlayout.php:78 ../../mod/editpost.php:20
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
+msgstr "Elementet ble ikke funnet."
-#: ../../mod/setup.php:190
-msgid ""
-"You may need to import the file \"install/database.sql\" manually using "
-"phpmyadmin or mysql."
-msgstr "Du må kanskje importere filen \"install/database.sql\" manuelt ved hjelp av phpmyadmin eller mysql."
+#: ../../mod/editblock.php:115
+msgid "Edit Block"
+msgstr "Endre byggekloss"
-#: ../../mod/setup.php:191 ../../mod/setup.php:260 ../../mod/setup.php:655
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Vennligst les filen \"install/INSTALL.txt\"."
+#: ../../mod/editblock.php:125
+msgid "Delete block?"
+msgstr "Slett byggeklossen?"
-#: ../../mod/setup.php:257
-msgid "System check"
-msgstr "Systemsjekk"
+#: ../../mod/editblock.php:147 ../../mod/editlayout.php:143
+#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:178
+msgid "Insert YouTube video"
+msgstr "Sett inn YouTube-video"
-#: ../../mod/setup.php:261 ../../mod/events.php:380
-msgid "Next"
-msgstr "Neste"
+#: ../../mod/editblock.php:148 ../../mod/editlayout.php:144
+#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:179
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Sett inn Vorbis [.ogg] video"
-#: ../../mod/setup.php:262
-msgid "Check again"
-msgstr "Sjekk igjen"
+#: ../../mod/editblock.php:149 ../../mod/editlayout.php:145
+#: ../../mod/editpost.php:118 ../../mod/editwebpage.php:180
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Legg i"
-#: ../../mod/setup.php:284
-msgid "Database connection"
-msgstr "Databaseforbindelse"
+#: ../../mod/editblock.php:183
+msgid "Delete Block"
+msgstr "Slett byggekloss"
-#: ../../mod/setup.php:285
-msgid ""
-"In order to install Red Matrix we need to know how to connect to your "
-"database."
-msgstr "For å installere Red Matrix må du oppgi hvordan din database kan kontaktes."
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
+msgstr "Layout er oppdatert."
-#: ../../mod/setup.php:286
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Vennligst kontakt din nettstedstilbyder eller nettstedsadministrator hvis du har spørsmål om disse innstillingene."
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
+msgstr "Endre beskrivelsen av systemsiden"
-#: ../../mod/setup.php:287
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "Databasen du oppgir nedenfor må finnes på forhånd. Hvis den ikke finnes, vennligst lag den før du fortsetter."
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
+msgstr "Layouten ble ikke funnet."
-#: ../../mod/setup.php:291
-msgid "Database Server Name"
-msgstr "Navn på databasetjener"
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
+msgstr "Modulnavn:"
-#: ../../mod/setup.php:291
-msgid "Default is localhost"
-msgstr "Standard er localhost"
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:107
+msgid "Layout Help"
+msgstr "Layout-hjelp"
-#: ../../mod/setup.php:292
-msgid "Database Port"
-msgstr "Databaseport"
+#: ../../mod/editlayout.php:108
+msgid "Edit Layout"
+msgstr "Endre layout"
-#: ../../mod/setup.php:292
-msgid "Communication port number - use 0 for default"
-msgstr "Kommunikasjonsportnummer - bruk 0 for standard"
+#: ../../mod/editlayout.php:117
+msgid "Delete layout?"
+msgstr "Slett layout?"
-#: ../../mod/setup.php:293
-msgid "Database Login Name"
-msgstr "Database innloggingsnavn"
+#: ../../mod/editlayout.php:178
+msgid "Delete Layout"
+msgstr "Slett layout"
-#: ../../mod/setup.php:294
-msgid "Database Login Password"
-msgstr "Database innloggingspassord"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "Elementet kan ikke endres"
-#: ../../mod/setup.php:295
-msgid "Database Name"
-msgstr "Databasenavn"
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
+msgstr "Slett element?"
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
-msgid "Site administrator email address"
-msgstr "E-postadressen til administrator ved nettstedet"
+#: ../../mod/settings.php:73
+msgid "Name is required"
+msgstr "Navn er påkrevd"
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Din konto sin e-postadresse må være lik denne for å kunne bruke web-administrasjonspanelet."
+#: ../../mod/settings.php:77
+msgid "Key and Secret are required"
+msgstr "Nøkkel og hemmelighet er påkrevd"
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
-msgid "Website URL"
-msgstr "Nettstedets URL"
+#: ../../mod/settings.php:197
+msgid "Passwords do not match. Password unchanged."
+msgstr "Passordene stemmer ikke overens. Passord uforandret."
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
-msgid "Please use SSL (https) URL if available."
-msgstr "Vennligst bruk SSL (https) URL hvis tilgjengelig."
+#: ../../mod/settings.php:201
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Tomme passord er ikke tillatt. Passord uforandret."
-#: ../../mod/setup.php:301 ../../mod/setup.php:344
-msgid "Please select a default timezone for your website"
-msgstr "Vennligst velg en standard tidssone for ditt nettsted"
+#: ../../mod/settings.php:215
+msgid "Password changed."
+msgstr "Passord endret."
-#: ../../mod/setup.php:328
-msgid "Site settings"
-msgstr "Nettstedets innstillinger"
+#: ../../mod/settings.php:217
+msgid "Password update failed. Please try again."
+msgstr "Passord oppdatering mislyktes. Vennligst prøv igjen."
-#: ../../mod/setup.php:387
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Fant ikke en kommandolinjeversjon av PHP i webtjenerens sti (PATH)."
+#: ../../mod/settings.php:231
+msgid "Not valid email."
+msgstr "Ikke gyldig e-post."
-#: ../../mod/setup.php:388
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "Hvis du ikke har en kommandolinjeversjon av PHP installert på tjeneren, så vil du ikke kunne kjøre bakgrunnshenting via cron."
+#: ../../mod/settings.php:234
+msgid "Protected email address. Cannot change to that email."
+msgstr "Beskyttet e-postadresse. Kan ikke endre til den e-postadressen."
-#: ../../mod/setup.php:392
-msgid "PHP executable path"
-msgstr "PHP-kjørefilens sti"
+#: ../../mod/settings.php:243
+msgid "System failure storing new email. Please try again."
+msgstr "Systemfeil ved lagring av ny e-post. Vennligst prøv igjen."
-#: ../../mod/setup.php:392
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Skriv full sti til kjørefilen for PHP. Du kan la denne stå blank for å fortsette installasjonen."
+#: ../../mod/settings.php:479
+msgid "Settings updated."
+msgstr "Innstillinger oppdatert."
-#: ../../mod/setup.php:397
-msgid "Command line PHP"
-msgstr "Kommandolinje PHP"
+#: ../../mod/settings.php:548 ../../mod/settings.php:574
+#: ../../mod/settings.php:610
+msgid "Add application"
+msgstr "Legg til program"
-#: ../../mod/setup.php:406
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "Kommandolinjeversjonen av PHP på ditt system har ikke \"register_argc_argv\" påskrudd."
+#: ../../mod/settings.php:551
+msgid "Name of application"
+msgstr "Navn på program"
-#: ../../mod/setup.php:407
-msgid "This is required for message delivery to work."
-msgstr "Dette er påkrevd for at meldingslevering skal virke."
+#: ../../mod/settings.php:552 ../../mod/settings.php:578
+msgid "Consumer Key"
+msgstr "Consumer Key"
-#: ../../mod/setup.php:409
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
+#: ../../mod/settings.php:552 ../../mod/settings.php:553
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Automatisk laget - kan endres om du vil. Største lengde 20"
-#: ../../mod/setup.php:430
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Feil: \"openssl_pkey_new\"-funksjonen på dette systemet er ikke i stand til å lage krypteringsnøkler"
+#: ../../mod/settings.php:553 ../../mod/settings.php:579
+msgid "Consumer Secret"
+msgstr "Consumer Secret"
+
+#: ../../mod/settings.php:554 ../../mod/settings.php:580
+msgid "Redirect"
+msgstr "Omdirigering"
-#: ../../mod/setup.php:431
+#: ../../mod/settings.php:554
msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Ved kjøring på Windows, vennligst se \"http://www.php.net/manual/en/openssl.installation.php\"."
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "Omdirigerings-URI - la stå tomt hvis ikke ditt program spesifikt krever dette"
-#: ../../mod/setup.php:433
-msgid "Generate encryption keys"
-msgstr "Lag krypteringsnøkler"
+#: ../../mod/settings.php:555 ../../mod/settings.php:581
+msgid "Icon url"
+msgstr "Ikon-URL"
-#: ../../mod/setup.php:440
-msgid "libCurl PHP module"
-msgstr "libCurl PHP-modul"
+#: ../../mod/settings.php:555
+msgid "Optional"
+msgstr "Valgfritt"
-#: ../../mod/setup.php:441
-msgid "GD graphics PHP module"
-msgstr "GD graphics PHP-modul"
+#: ../../mod/settings.php:566
+msgid "You can't edit this application."
+msgstr "Du kan ikke endre dette programmet."
-#: ../../mod/setup.php:442
-msgid "OpenSSL PHP module"
-msgstr "OpenSSL PHP-modul"
+#: ../../mod/settings.php:609
+msgid "Connected Apps"
+msgstr "Tilkoblede app-er"
-#: ../../mod/setup.php:443
-msgid "mysqli PHP module"
-msgstr "mysqli PHP-modul"
+#: ../../mod/settings.php:613
+msgid "Client key starts with"
+msgstr "Klientnøkkel starter med"
-#: ../../mod/setup.php:444
-msgid "mb_string PHP module"
-msgstr "mb_string PHP-modul"
+#: ../../mod/settings.php:614
+msgid "No name"
+msgstr "Ikke noe navn"
-#: ../../mod/setup.php:445
-msgid "mcrypt PHP module"
-msgstr "mcrypt PHP-modul"
+#: ../../mod/settings.php:615
+msgid "Remove authorization"
+msgstr "Fjern tillatelse"
-#: ../../mod/setup.php:450 ../../mod/setup.php:452
-msgid "Apache mod_rewrite module"
-msgstr "Apache mod_rewrite-modul"
+#: ../../mod/settings.php:626
+msgid "No feature settings configured"
+msgstr "Ingen funksjonsinnstillinger er konfigurert"
-#: ../../mod/setup.php:450
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Feil: Apache web-tjenerens mod-rewrite-modul er påkrevd, men ikke installert."
+#: ../../mod/settings.php:634
+msgid "Feature Settings"
+msgstr "Funksjonsinnstillinger"
-#: ../../mod/setup.php:456 ../../mod/setup.php:459
-msgid "proc_open"
-msgstr "proc_open"
+#: ../../mod/settings.php:657
+msgid "Account Settings"
+msgstr "Kontoinnstillinger"
-#: ../../mod/setup.php:456
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Feil: proc_open er påkrevd, men er enten ikke installert eller har blitt avskrudd i php.ini"
+#: ../../mod/settings.php:658
+msgid "Password Settings"
+msgstr "Passordinnstillinger"
-#: ../../mod/setup.php:464
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Feil: libCURL PHP-modul er påkrevd, men er ikke installert."
+#: ../../mod/settings.php:659
+msgid "New Password:"
+msgstr "Nytt passord:"
-#: ../../mod/setup.php:468
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Feil: GD graphics PHP-modul med JPEG-støtte er påkrevd, men er ikke installert."
+#: ../../mod/settings.php:660
+msgid "Confirm:"
+msgstr "Bekreft:"
-#: ../../mod/setup.php:472
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Feil: openssl PHP-modul er påkrevd, men er ikke installert."
+#: ../../mod/settings.php:660
+msgid "Leave password fields blank unless changing"
+msgstr "La passordfeltene stå blanke om det ikke skal endres"
-#: ../../mod/setup.php:476
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Feil: mysqli PHP-modul er påkrevd, men er ikke installert."
+#: ../../mod/settings.php:662 ../../mod/settings.php:985
+msgid "Email Address:"
+msgstr "E-postadresse:"
-#: ../../mod/setup.php:480
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Feil: mb_string PHP-modul er påkrevd, men er ikke installert."
+#: ../../mod/settings.php:663 ../../mod/removeaccount.php:61
+msgid "Remove Account"
+msgstr "Slett konto"
-#: ../../mod/setup.php:484
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr "Feil: mcrypt PHP-modul er påkrevd, men er ikke installert."
+#: ../../mod/settings.php:664
+msgid "Remove this account from this server including all its channels"
+msgstr "Slett denne kontoen inkludert alle dens kanaler fra denne tjeneren"
-#: ../../mod/setup.php:500
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "Web-installasjonen må kunne lage en fil kalt \".htconfig.php\" i toppkatalogen til web-tjeneren din, men dette får den ikke til."
+#: ../../mod/settings.php:665 ../../mod/settings.php:1067
+msgid "Warning: This action is permanent and cannot be reversed."
+msgstr "Advarsel: Denne handlingen er permanent og kan ikke angres."
-#: ../../mod/setup.php:501
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Dette er oftest tillatelsesinnstilling, ettersom webtjeneren kanskje kan skrive til filer i din mappe - selv om du kan."
+#: ../../mod/settings.php:681
+msgid "Off"
+msgstr "Av"
-#: ../../mod/setup.php:502
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "På slutten av denne prosedyren vil vi gi deg en tekst til å lagre i en fil kalt .htconfig.php i toppkatalogen til din Red."
+#: ../../mod/settings.php:681
+msgid "On"
+msgstr "PÃ¥"
-#: ../../mod/setup.php:503
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Alternativt, så kan du hoppe over denne prosedyren og gjennomføre en manuell installasjon. Vennligst se filen \"install/INSTALL.txt\" for instruksjoner."
+#: ../../mod/settings.php:688
+msgid "Additional Features"
+msgstr "Ekstra funksjoner"
-#: ../../mod/setup.php:506
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php kan skrives til"
+#: ../../mod/settings.php:713
+msgid "Connector Settings"
+msgstr "Koblingsinnstillinger"
-#: ../../mod/setup.php:516
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Red bruker malmotoren Smarty3 for å gjengi sine webvisninger. Smarty3 kompilerer malene om til PHP for å framskynde gjengivelsen."
+#: ../../mod/settings.php:743
+msgid "No special theme for mobile devices"
+msgstr "Ikke noe spesielt tema for mobile enheter"
-#: ../../mod/setup.php:517
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory view/tpl/smarty3/ under the Red top level "
-"folder."
-msgstr "For å kunne lagre disse kompilerte malene, så må webtjeneren ha skrivetilgang til katalogen view/tpl/smarty3/ under Red sin hovedmappe."
+#: ../../mod/settings.php:752
+#, php-format
+msgid "%s - (Experimental)"
+msgstr "%s - (Eksperimentelt)"
-#: ../../mod/setup.php:518 ../../mod/setup.php:536
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Vennligst sikre at brukeren som din web-tjeneste kjører som (for eksempel www-data) har skrivetilgang til denne katalogen."
+#: ../../mod/settings.php:788
+msgid "Display Settings"
+msgstr "Visningsinnstillinger"
-#: ../../mod/setup.php:519
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"view/tpl/smarty3/ only--not the template files (.tpl) that it contains."
-msgstr "Merknad: som et sikkerhetstiltak bør du bare gi webtjerenn skrivetilgang til view/tpl/smarty3/ - ikke til malfilene (.tpl) som den inneholder."
+#: ../../mod/settings.php:794
+msgid "Display Theme:"
+msgstr "Visningstema:"
-#: ../../mod/setup.php:522
-msgid "view/tpl/smarty3 is writable"
-msgstr "view/tpl/smarty3 er skrivbar"
+#: ../../mod/settings.php:795
+msgid "Mobile Theme:"
+msgstr "Mobiltema:"
-#: ../../mod/setup.php:535
-msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to"
-" have write access to the store directory under the Red top level folder"
-msgstr "Red bruker lagringsmappen for å lagre opplastede filer. Webtjeneren trenger å ha skrivetilgang til lagringsmappen under Red sin toppnivåmappe."
+#: ../../mod/settings.php:796
+msgid "Enable user zoom on mobile devices"
+msgstr "Skru på brukerstyrt zoom på mobile enheter"
-#: ../../mod/setup.php:539
-msgid "store is writable"
-msgstr "lageret kan skrives til"
+#: ../../mod/settings.php:797
+msgid "Update browser every xx seconds"
+msgstr "Oppdater nettleser hvert xx sekunder"
-#: ../../mod/setup.php:569
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "SSL-sertifikatet kan ikke kontrolleres. Fiks sertifikatet eller skru av https tilgang til dette nettstedet."
+#: ../../mod/settings.php:797
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimum 10 sekunder, ikke noe maksimum"
-#: ../../mod/setup.php:570
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "Hvis du har HTTPS-tilgang til ditt nettsted eller tillater forbindelser til TCP port 443 (HTTPS-porten), så MÅ du bruke nettlesergodkjent sertifkater. Du MÅ IKKE bruke egensignert sertifikater!"
+#: ../../mod/settings.php:798
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Maksimalt antall samtaler å laste samtidig:"
-#: ../../mod/setup.php:571
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "Denne begrensningen er tatt inn fordi offentlige innlegg fra deg kan for eksempel inneholde referanser til bilder på din egen hub."
+#: ../../mod/settings.php:798
+msgid "Maximum of 100 items"
+msgstr "Maksimum 100 elementer"
+
+#: ../../mod/settings.php:799
+msgid "Don't show emoticons"
+msgstr "Ikke vis følelsesikoner"
+
+#: ../../mod/settings.php:800
+msgid "Link post titles to source"
+msgstr "Lenk innleggets tittel til kilden"
+
+#: ../../mod/settings.php:801
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Systemsidens layoutbehandler - (avansert)"
+
+#: ../../mod/settings.php:835
+msgid "Nobody except yourself"
+msgstr "Ingen unntatt deg selv"
+
+#: ../../mod/settings.php:836
+msgid "Only those you specifically allow"
+msgstr "Bare de du spesifikt tillater"
+
+#: ../../mod/settings.php:837
+msgid "Approved connections"
+msgstr "Godkjente forbindelser"
+
+#: ../../mod/settings.php:838
+msgid "Any connections"
+msgstr "Enhver forbindelse"
+
+#: ../../mod/settings.php:839
+msgid "Anybody on this website"
+msgstr "Enhver ved dette nettstedet"
+
+#: ../../mod/settings.php:840
+msgid "Anybody in this network"
+msgstr "Enhver i dette nettverket"
+
+#: ../../mod/settings.php:841
+msgid "Anybody authenticated"
+msgstr "Enhver som er autentisert"
+
+#: ../../mod/settings.php:842
+msgid "Anybody on the internet"
+msgstr "Enhver på Internett"
+
+#: ../../mod/settings.php:916
+msgid "Publish your default profile in the network directory"
+msgstr "Publiser din standardprofil i nettverkskatalogen"
+
+#: ../../mod/settings.php:921
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Tillat oss å foreslå deg som en mulig venn til nye medlemmer?"
+
+#: ../../mod/settings.php:925 ../../mod/profile_photo.php:365
+msgid "or"
+msgstr "eller"
+
+#: ../../mod/settings.php:930
+msgid "Your channel address is"
+msgstr "Din kanaladresse er"
+
+#: ../../mod/settings.php:974
+msgid "Channel Settings"
+msgstr "Kanalinnstillinger"
+
+#: ../../mod/settings.php:983
+msgid "Basic Settings"
+msgstr "Grunninnstillinger"
+
+#: ../../mod/settings.php:986
+msgid "Your Timezone:"
+msgstr "Din tidssone:"
-#: ../../mod/setup.php:572
+#: ../../mod/settings.php:987
+msgid "Default Post Location:"
+msgstr "Standard plassering ved innlegg:"
+
+#: ../../mod/settings.php:987
+msgid "Geographical location to display on your posts"
+msgstr "Geografisk plassering som vises på dine innlegg"
+
+#: ../../mod/settings.php:988
+msgid "Use Browser Location:"
+msgstr "Bruk nettleseren sin plassering:"
+
+#: ../../mod/settings.php:990
+msgid "Adult Content"
+msgstr "Voksent innhold"
+
+#: ../../mod/settings.php:990
msgid ""
-"If your certificate is not recognised, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "Hvis sertifikatet ditt ikke gjenkjennes, så vil medlemmer på andre nettsteder (som selv kan ha godkjente sertifikater) få en beskjed med en advarsel på deres eget nettsted som klager over sikkerhetsproblemer."
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "Denne kanalen vil ofte eller jevnlig publisere voksent innhold. (Vennligst merk alt voksent materiale og/eller nakenhet med #NSFW)"
+
+#: ../../mod/settings.php:992
+msgid "Security and Privacy Settings"
+msgstr "Sikkerhets- og personverninnstillinger"
+
+#: ../../mod/settings.php:994
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "Dine tillatelser er allerede satt. Klikk for å se/justere."
+
+#: ../../mod/settings.php:996
+msgid "Hide my online presence"
+msgstr "Skjul min tilstedeværelse online"
-#: ../../mod/setup.php:573
+#: ../../mod/settings.php:996
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Forhindrer visning på din profil av at du er online "
+
+#: ../../mod/settings.php:998
+msgid "Simple Privacy Settings:"
+msgstr "Enkle personverninnstillinger:"
+
+#: ../../mod/settings.php:999
msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Dette kan gi problemer med brukervennlighet (ikke bare på ditt eget nettsted), så vi må insistere på dette kravet."
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "Svært offentlig - <em>ekstremt åpent (bør brukes med varsomhet)</em>"
-#: ../../mod/setup.php:574
+#: ../../mod/settings.php:1000
msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Det finnes tilbydere som utsteder gratis sertifikater som er gyldige i nettlesere."
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "Typisk - <em>standard er offentlig, personvern når ønsket (likner på tillatelser i sosiale nettverk, men med forbedret personvern)</em>"
-#: ../../mod/setup.php:576
-msgid "SSL certificate validation"
-msgstr "SSL sertifikat-kontroll"
+#: ../../mod/settings.php:1001
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Privat - <em>standard er privat, aldri åpen eller offentlig</em>"
-#: ../../mod/setup.php:582
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-msgstr "URL rewrite i .htaccess virker ikke. Sjekk konfigurasjonen på tjeneren."
+#: ../../mod/settings.php:1002
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Blokkert - <em>standard blokkert til/fra alle</em>"
-#: ../../mod/setup.php:584
-msgid "Url rewrite is working"
-msgstr "URL rewrite virker"
+#: ../../mod/settings.php:1004
+msgid "Allow others to tag your posts"
+msgstr "Tillat andre å merke dine innlegg"
-#: ../../mod/setup.php:594
+#: ../../mod/settings.php:1004
msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Databasekonfigurasjonsfilen \".htconfig.php\" kunne ikke skrives. Vennligst bruk den medfølgende teksten for å lage en konfigurasjonsfil i toppkatalogen av din web-tjener."
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr "Ofte brukt av fellesskapet for å merke upassende innhold i etterkant"
-#: ../../mod/setup.php:618
-msgid "Errors encountered creating database tables."
-msgstr "Feil oppstod under opprettelsen av databasetabeller."
+#: ../../mod/settings.php:1006
+msgid "Advanced Privacy Settings"
+msgstr "Avanserte personverninnstillinger"
-#: ../../mod/setup.php:653
-msgid "<h1>What next</h1>"
-msgstr "<h1>Hva gjenstår</h1>"
+#: ../../mod/settings.php:1008
+msgid "Expire other channel content after this many days"
+msgstr "Annet kanal innhold utløper etter så mange dager"
-#: ../../mod/setup.php:654
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "VIKTIG: Du må [manuelt] sette opp en automatisert tidfestet oppgave til bakgrunnshenteren."
+#: ../../mod/settings.php:1008
+msgid "0 or blank prevents expiration"
+msgstr "0 eller blankt forhindrer utløp"
-#: ../../mod/editblock.php:8 ../../mod/editblock.php:27
-#: ../../mod/editblock.php:53 ../../mod/editlayout.php:36
-#: ../../mod/editpost.php:20 ../../mod/editwebpage.php:32
-msgid "Item not found"
-msgstr "Elementet ble ikke funnet."
+#: ../../mod/settings.php:1009
+msgid "Maximum Friend Requests/Day:"
+msgstr "Maksimalt antall venneforespørsler per dag:"
-#: ../../mod/editblock.php:77
-msgid "Edit Block"
-msgstr "Endre byggekloss"
+#: ../../mod/settings.php:1009
+msgid "May reduce spam activity"
+msgstr "Kan redusere søppelpostaktivitet"
-#: ../../mod/editblock.php:87
-msgid "Delete block?"
-msgstr "Slett byggeklossen?"
+#: ../../mod/settings.php:1010
+msgid "Default Post Permissions"
+msgstr "Standard innleggstillatelser"
-#: ../../mod/editblock.php:115 ../../mod/editlayout.php:110
-#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:147
-msgid "Insert YouTube video"
-msgstr "Sett inn YouTube-video"
+#: ../../mod/settings.php:1015
+msgid "Channel permissions category:"
+msgstr "Kategori med kanaltillatelser:"
-#: ../../mod/editblock.php:116 ../../mod/editlayout.php:111
-#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:148
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Sett inn Vorbis [.ogg] video"
+#: ../../mod/settings.php:1023
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Maksimalt antall private meldinger per dag fra ukjente personer:"
-#: ../../mod/editblock.php:117 ../../mod/editlayout.php:112
-#: ../../mod/editpost.php:118 ../../mod/editwebpage.php:149
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Legg i"
+#: ../../mod/settings.php:1023
+msgid "Useful to reduce spamming"
+msgstr "Nyttig for å redusere søppelpost"
-#: ../../mod/editblock.php:153
-msgid "Delete Block"
-msgstr "Slett byggekloss"
+#: ../../mod/settings.php:1026
+msgid "Notification Settings"
+msgstr "Varslingsinnstillinger"
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
-msgstr "Layout er oppdatert."
+#: ../../mod/settings.php:1027
+msgid "By default post a status message when:"
+msgstr "Legg inn en statusmelding når du:"
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
-msgstr "Endre beskrivelsen av systemsiden"
+#: ../../mod/settings.php:1028
+msgid "accepting a friend request"
+msgstr "aksepterer en venneforespørsel"
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
-msgstr "Layouten ble ikke funnet."
+#: ../../mod/settings.php:1029
+msgid "joining a forum/community"
+msgstr "blir med i et forum/miljø"
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
-msgstr "Modulnavn:"
+#: ../../mod/settings.php:1030
+msgid "making an <em>interesting</em> profile change"
+msgstr "gjør en <em>interessant</em> profilendring"
-#: ../../mod/pdledit.php:55 ../../mod/layouts.php:59
-msgid "Layout Help"
-msgstr "Layout-hjelp"
+#: ../../mod/settings.php:1031
+msgid "Send a notification email when:"
+msgstr "Send en varsel-e-post når:"
-#: ../../mod/editlayout.php:72
-msgid "Edit Layout"
-msgstr "Endre layout"
+#: ../../mod/settings.php:1032
+msgid "You receive a connection request"
+msgstr "Du har mottatt en forespørsel om forbindelse"
-#: ../../mod/editlayout.php:82
-msgid "Delete layout?"
-msgstr "Slett layout?"
+#: ../../mod/settings.php:1033
+msgid "Your connections are confirmed"
+msgstr "Dine forbindelser er bekreftet"
-#: ../../mod/editlayout.php:146
-msgid "Delete Layout"
-msgstr "Slett layout"
+#: ../../mod/settings.php:1034
+msgid "Someone writes on your profile wall"
+msgstr "Noen skriver på din profilvegg"
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Elementet kan ikke endres"
+#: ../../mod/settings.php:1035
+msgid "Someone writes a followup comment"
+msgstr "Noen skriver en oppfølgende kommentar"
-#: ../../mod/editpost.php:53
-msgid "Delete item?"
-msgstr "Slett element?"
+#: ../../mod/settings.php:1036
+msgid "You receive a private message"
+msgstr "Du mottar en privat melding"
-#: ../../mod/editwebpage.php:106
-msgid "Edit Webpage"
-msgstr "Endre webside"
+#: ../../mod/settings.php:1037
+msgid "You receive a friend suggestion"
+msgstr "Du mottok et venneforslag"
-#: ../../mod/editwebpage.php:116
-msgid "Delete webpage?"
-msgstr "Slett webside?"
+#: ../../mod/settings.php:1038
+msgid "You are tagged in a post"
+msgstr "Du merkes i et innlegg"
-#: ../../mod/editwebpage.php:186
-msgid "Delete Webpage"
-msgstr "Slett webside"
+#: ../../mod/settings.php:1039
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Du ble prikket/oppildnet/og så vider i et innlegg"
-#: ../../mod/siteinfo.php:57
-#, php-format
-msgid "Version %s"
-msgstr "Versjon %s"
+#: ../../mod/settings.php:1042
+msgid "Show visual notifications including:"
+msgstr "Vis visuelle varslinger om:"
-#: ../../mod/siteinfo.php:76
-msgid "Installed plugins/addons/apps:"
-msgstr "Installerte tilleggsfunksjoner/tillegg/apper:"
+#: ../../mod/settings.php:1044
+msgid "Unseen matrix activity"
+msgstr "Usett matrixaktivitet"
-#: ../../mod/siteinfo.php:89
-msgid "No installed plugins/addons/apps"
-msgstr "Ingen installerte tilleggsfunksjoner/tillegg/apper"
+#: ../../mod/settings.php:1045
+msgid "Unseen channel activity"
+msgstr "Usett kanalaktivitet"
-#: ../../mod/siteinfo.php:97
-msgid "Red"
-msgstr "Red"
+#: ../../mod/settings.php:1046
+msgid "Unseen private messages"
+msgstr "Usette private meldinger"
-#: ../../mod/siteinfo.php:98
-msgid ""
-"This is a hub of the Red Matrix - a global cooperative network of "
-"decentralised privacy enhanced websites."
-msgstr "Dette er en hub i Red Matrix - et globalt kooperativt nettverk av desentraliserte personvernforsterkede nettsteder."
+#: ../../mod/settings.php:1046 ../../mod/settings.php:1051
+#: ../../mod/settings.php:1052 ../../mod/settings.php:1053
+msgid "Recommended"
+msgstr "Anbefalt"
-#: ../../mod/siteinfo.php:101
-msgid "Running at web location"
-msgstr "Kjører på webplasseringen"
+#: ../../mod/settings.php:1047
+msgid "Upcoming events"
+msgstr "Kommende hendelser"
-#: ../../mod/siteinfo.php:102
-msgid ""
-"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
-"about the Red Matrix."
-msgstr "Vennligst besøk <a href=\"http://getzot.com\">GetZot.com</a> for å lære mer om Red Matrix."
+#: ../../mod/settings.php:1048
+msgid "Events today"
+msgstr "Hendelser idag"
-#: ../../mod/siteinfo.php:103
-msgid "Bug reports and issues: please visit"
-msgstr "Feilmeldinger og feilretting: vennligst besøk"
+#: ../../mod/settings.php:1049
+msgid "Upcoming birthdays"
+msgstr "Kommende fødselsdager"
-#: ../../mod/siteinfo.php:106
-msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com"
+#: ../../mod/settings.php:1049
+msgid "Not available in all themes"
+msgstr "Ikke tilgjengelig i alle temaer"
-#: ../../mod/siteinfo.php:108
-msgid "Site Administrators"
-msgstr "Nettstedsadministratorer"
+#: ../../mod/settings.php:1050
+msgid "System (personal) notifications"
+msgstr "System (personlige) varslinger"
-#: ../../mod/sources.php:32
-msgid "Failed to create source. No channel selected."
-msgstr "Mislyktes med å lage kilde. Ingen kanal er valgt."
+#: ../../mod/settings.php:1051
+msgid "System info messages"
+msgstr "System infomeldinger"
-#: ../../mod/sources.php:45
-msgid "Source created."
-msgstr "Kilden er laget."
+#: ../../mod/settings.php:1052
+msgid "System critical alerts"
+msgstr "System kritiske varsel"
-#: ../../mod/sources.php:57
-msgid "Source updated."
-msgstr "Kilden er oppdatert."
+#: ../../mod/settings.php:1053
+msgid "New connections"
+msgstr "Nye forbindelser"
-#: ../../mod/sources.php:82
-msgid "*"
-msgstr "*"
+#: ../../mod/settings.php:1054
+msgid "System Registrations"
+msgstr "Systemregistreringer"
-#: ../../mod/sources.php:89
-msgid "Manage remote sources of content for your channel."
-msgstr "HÃ¥ndtere eksterne innholdskilder til din kanal."
+#: ../../mod/settings.php:1056
+msgid "Notify me of events this many days in advance"
+msgstr "Varsle meg om hendelser dette antall dager på forhånd"
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
-msgid "New Source"
-msgstr "Ny kilde"
+#: ../../mod/settings.php:1056
+msgid "Must be greater than 0"
+msgstr "Må være større enn 0"
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
+#: ../../mod/settings.php:1058
+msgid "Advanced Account/Page Type Settings"
+msgstr "Avanserte innstillinger for konto/sidetype"
+
+#: ../../mod/settings.php:1059
+msgid "Change the behaviour of this account for special situations"
+msgstr "Endre oppførselen til denne kontoen i spesielle situasjoner"
+
+#: ../../mod/settings.php:1062
msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importer alt eller et utvalgt av innhold fra følgende kanal inn i denne kanalen og distribuer det i henhold til dine egne kanalinnstillinger."
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr "Vennligst skru på ekspertmodus (under <a href=\"settings/features\">Innstillinger > Ekstra funksjoner</a>) for å justere!"
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Only import content with these words (one per line)"
-msgstr "Bare importer innhold med disse ordene (ett ord per linje)"
+#: ../../mod/settings.php:1063
+msgid "Miscellaneous Settings"
+msgstr "Diverse innstillinger"
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Leave blank to import all public content"
-msgstr "La stå tomt for å importere alt offentlig innhold"
+#: ../../mod/settings.php:1065
+msgid "Personal menu to display in your channel pages"
+msgstr "Personlig meny som kan vises på dine kanalsider"
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
-#: ../../mod/new_channel.php:110
-msgid "Channel Name"
-msgstr "Kanalnavn"
+#: ../../mod/settings.php:1066
+msgid "Remove this channel"
+msgstr "Fjern denne kanalen"
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
-msgid "Source not found."
-msgstr "Kilden ble ikke funnet."
+#: ../../mod/editwebpage.php:140
+msgid "Edit Webpage"
+msgstr "Endre webside"
-#: ../../mod/sources.php:130
-msgid "Edit Source"
-msgstr "Endre kilde"
+#: ../../mod/editwebpage.php:150
+msgid "Delete webpage?"
+msgstr "Slett webside?"
-#: ../../mod/sources.php:131
-msgid "Delete Source"
-msgstr "Slett kilde"
+#: ../../mod/editwebpage.php:215
+msgid "Delete Webpage"
+msgstr "Slett webside"
-#: ../../mod/sources.php:158
-msgid "Source removed"
-msgstr "Kilden er fjernet"
+#: ../../mod/impel.php:33
+msgid "webpage"
+msgstr "nettside"
-#: ../../mod/sources.php:160
-msgid "Unable to remove source."
-msgstr "Ikke i stand til å fjerne kilde."
+#: ../../mod/impel.php:38
+msgid "block"
+msgstr "byggekloss"
-#: ../../mod/filer.php:49
-msgid "- select -"
-msgstr "- velg -"
+#: ../../mod/impel.php:43
+msgid "layout"
+msgstr "layout"
-#: ../../mod/events.php:72
-msgid "Event title and start time are required."
-msgstr "Hendelsestittel og starttidspunkt er påkrevd."
+#: ../../mod/impel.php:117
+#, php-format
+msgid "%s element installed"
+msgstr "%s element installert"
-#: ../../mod/events.php:310
-msgid "l, F j"
-msgstr "l, F j"
+#: ../../mod/profile_photo.php:108
+msgid "Image uploaded but image cropping failed."
+msgstr "Bildet ble lastet opp, men beskjæring av bildet mislyktes."
-#: ../../mod/events.php:332
-msgid "Edit event"
-msgstr "Endre hendelse"
+#: ../../mod/profile_photo.php:161
+msgid "Image resize failed."
+msgstr "Endring av bildestørrelse mislyktes."
-#: ../../mod/events.php:378
-msgid "Create New Event"
-msgstr "Lag ny hendelse"
+#: ../../mod/profile_photo.php:205
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart."
-#: ../../mod/events.php:379
-msgid "Previous"
-msgstr "Forrige"
+#: ../../mod/profile_photo.php:232
+#, php-format
+msgid "Image exceeds size limit of %d"
+msgstr "Bildet overstiger størrelsesbegrensningen på %d"
-#: ../../mod/events.php:450
-msgid "hour:minute"
-msgstr "time:minutt"
+#: ../../mod/profile_photo.php:241
+msgid "Unable to process image."
+msgstr "Kan ikke behandle bildet."
-#: ../../mod/events.php:470
-msgid "Event details"
-msgstr "Hendelsesdetaljer"
+#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
+msgid "Photo not available."
+msgstr "Bildet er ikke tilgjengelig."
-#: ../../mod/events.php:471
-#, php-format
-msgid "Format is %s %s. Starting date and Title are required."
-msgstr "Formatet er %s %s. Startdato og tittel er påkrevd."
+#: ../../mod/profile_photo.php:358
+msgid "Upload File:"
+msgstr "Last opp fil:"
-#: ../../mod/events.php:473
-msgid "Event Starts:"
-msgstr "Hendelsen starter:"
+#: ../../mod/profile_photo.php:359
+msgid "Select a profile:"
+msgstr "Velg en profil:"
-#: ../../mod/events.php:473 ../../mod/events.php:487 ../../mod/appman.php:91
-#: ../../mod/appman.php:92
-msgid "Required"
-msgstr "PÃ¥krevd"
+#: ../../mod/profile_photo.php:360
+msgid "Upload Profile Photo"
+msgstr "Last opp profilbilde:"
-#: ../../mod/events.php:476
-msgid "Finish date/time is not known or not relevant"
-msgstr "Sluttdato/-tidspunkt er ikke kjent eller ikke relevant"
+#: ../../mod/profile_photo.php:365
+msgid "skip this step"
+msgstr "hopp over dette steget"
-#: ../../mod/events.php:478
-msgid "Event Finishes:"
-msgstr "Hendelsen slutter:"
+#: ../../mod/profile_photo.php:365
+msgid "select a photo from your photo albums"
+msgstr "velg et bilde fra dine fotoalbum"
-#: ../../mod/events.php:481
-msgid "Adjust for viewer timezone"
-msgstr "Juster i forhold til tilskuerens tidssone"
+#: ../../mod/profile_photo.php:381
+msgid "Crop Image"
+msgstr "Beskjær bildet"
-#: ../../mod/events.php:483
-msgid "Description:"
-msgstr "Beskrivelse:"
+#: ../../mod/profile_photo.php:382
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Vennligst juster bildebeskjæringen for optimal visning."
-#: ../../mod/events.php:487
-msgid "Title:"
-msgstr "Tittel:"
+#: ../../mod/profile_photo.php:384
+msgid "Done Editing"
+msgstr "Avslutt redigering"
-#: ../../mod/events.php:489
-msgid "Share this event"
-msgstr "Del denne hendelsen"
+#: ../../mod/profile_photo.php:427
+msgid "Image uploaded successfully."
+msgstr "Opplasting av bildet var vellykket."
+
+#: ../../mod/profile_photo.php:429
+msgid "Image upload failed."
+msgstr "Opplasting av bildet mislyktes."
+
+#: ../../mod/profile_photo.php:438
+#, php-format
+msgid "Image size reduction [%s] failed."
+msgstr "Forminsking av bildet [%s] mislyktes."
+
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Kontakten ble ikke funnet."
+
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr "Venneforespørsel sendt."
+
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr "Foreslå venner"
-#: ../../mod/filestorage.php:68
+#: ../../mod/fsuggest.php:99
+#, php-format
+msgid "Suggest a friend for %s"
+msgstr "Foreslå en venn for %s"
+
+#: ../../mod/filestorage.php:76
msgid "Permission Denied."
msgstr "Tillatelse avvist."
-#: ../../mod/filestorage.php:85
+#: ../../mod/filestorage.php:92
msgid "File not found."
msgstr "Filen ble ikke funnet."
-#: ../../mod/filestorage.php:121
+#: ../../mod/filestorage.php:131
msgid "Edit file permissions"
msgstr "Endre filtillatelser"
-#: ../../mod/filestorage.php:129
+#: ../../mod/filestorage.php:140
msgid "Set/edit permissions"
msgstr "Angi/endre tillatelser"
-#: ../../mod/filestorage.php:130
+#: ../../mod/filestorage.php:141
msgid "Include all files and sub folders"
msgstr "Inkluder alle filer og undermapper"
-#: ../../mod/filestorage.php:131
+#: ../../mod/filestorage.php:142
msgid "Return to file list"
msgstr "GÃ¥ tilbake til filoversikten"
-#: ../../mod/filestorage.php:133
+#: ../../mod/filestorage.php:144
msgid "Copy/paste this code to attach file to a post"
msgstr "Kopier og lim inn denne koden for å legge til filen i et innlegg"
-#: ../../mod/filestorage.php:134
+#: ../../mod/filestorage.php:145
msgid "Copy/paste this URL to link file from a web page"
msgstr "Kopier og lim inn denne URL-en for å lenke til filen fra en webside"
-#: ../../mod/filestorage.php:171
-msgid "Download"
-msgstr "Last ned"
-
-#: ../../mod/filestorage.php:177
-msgid "Used: "
-msgstr "Brukt:"
+#: ../../mod/help.php:41 ../../mod/help.php:47 ../../mod/help.php:53
+msgid "Help:"
+msgstr "Hjelp:"
-#: ../../mod/filestorage.php:178
-msgid "[directory]"
-msgstr "[mappe]"
+#: ../../mod/help.php:67 ../../index.php:238
+msgid "Not Found"
+msgstr "Ikke funnet"
-#: ../../mod/filestorage.php:180
-msgid "Limit: "
-msgstr "Grense:"
+#: ../../mod/acl.php:245
+msgid "network"
+msgstr "nettverk"
#: ../../mod/follow.php:25
msgid "Channel added."
msgstr "Kanal lagt til."
-#: ../../mod/subthread.php:103
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s følger %2$s sin %3$s"
+#: ../../mod/delegate.php:95
+msgid "No potential page delegates located."
+msgstr "Ingen potensielle sidedelegater er funnet."
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Kontakten ble ikke funnet."
+#: ../../mod/delegate.php:121
+msgid "Delegate Page Management"
+msgstr "Deleger sidehåndtering"
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Venneforespørsel sendt."
+#: ../../mod/delegate.php:123
+msgid ""
+"Delegates are able to manage all aspects of this account/page except for "
+"basic account settings. Please do not delegate your personal account to "
+"anybody that you do not trust completely."
+msgstr "Delegater kan håndtere alle sider ved denne kontoen/siden unntatt grunnleggende kontoinformasjon. Vennligst ikke deleger din personlige konto til noen du ikke stoler fullstendig på."
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Foreslå venner"
+#: ../../mod/delegate.php:124
+msgid "Existing Page Managers"
+msgstr "Eksisterende sidehåndterere"
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Foreslå en venn for %s"
+#: ../../mod/delegate.php:126
+msgid "Existing Page Delegates"
+msgstr "Eksisterende sidedelegater"
-#: ../../mod/suggest.php:35
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Ingen forslag tilgjengelige. Hvis dette er et nytt nettsted, vennligst prøv igjen om 24 timer."
+#: ../../mod/delegate.php:128
+msgid "Potential Delegates"
+msgstr "Potensielle sidedelegater"
+
+#: ../../mod/delegate.php:131
+msgid "Add"
+msgstr "Legg til"
+
+#: ../../mod/delegate.php:132
+msgid "No entries."
+msgstr "Ingen oppføringer."
#: ../../mod/group.php:20
msgid "Collection created."
@@ -6000,769 +6670,826 @@ msgstr "Medlemmer"
msgid "All Connected Channels"
msgstr "Alle tilkoblede kanaler"
-#: ../../mod/group.php:231
+#: ../../mod/group.php:233
msgid "Click on a channel to add or remove."
msgstr "Klikk på en kanal for å legge til eller fjerne."
+#: ../../mod/suggest.php:35
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Ingen forslag tilgjengelige. Hvis dette er et nytt nettsted, vennligst prøv igjen om 24 timer."
+
+#: ../../mod/import.php:25
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Din tjenesteplan tillater bare %d kanaler."
+
+#: ../../mod/import.php:51
+msgid "Nothing to import."
+msgstr "Ingenting å importere."
+
+#: ../../mod/import.php:75
+msgid "Unable to download data from old server"
+msgstr "Ikke i stand til å laste ned data fra gammel tjener"
+
+#: ../../mod/import.php:81
+msgid "Imported file is empty."
+msgstr "Importert fil er tom."
+
+#: ../../mod/import.php:105
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes."
+
+#: ../../mod/import.php:123
+msgid "Channel clone failed. Import failed."
+msgstr "Kanalkloning mislyktes. Import mislyktes."
+
+#: ../../mod/import.php:133
+msgid "Cloned channel not found. Import failed."
+msgstr "Klonet kanal ble ikke funnet. Import mislyktes."
+
+#: ../../mod/import.php:451
+msgid "Import completed."
+msgstr "Import ferdig."
+
+#: ../../mod/import.php:463
+msgid "You must be logged in to use this feature."
+msgstr "Du må være innlogget for å bruke denne funksjonen."
+
+#: ../../mod/import.php:468
+msgid "Import Channel"
+msgstr "Importer kanal"
+
+#: ../../mod/import.php:469
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file. Only identity and connections/relationships will "
+"be imported. Importation of content is not yet available."
+msgstr "Bruk dette skjemaet til å importere en eksisterende kanal fra en annen tjener/hub. Du kan hente kanalidentiteten fra den gamle tjeneren/hubben via nettverket eller bruke en eksportert fil. Bare identiteten og forbindelser/relasjoner vil bli importert. Importering av innhold er ennå ikke tilgjengelig."
+
+#: ../../mod/import.php:470
+msgid "File to Upload"
+msgstr "Fil som skal lastes opp"
+
+#: ../../mod/import.php:471
+msgid "Or provide the old server/hub details"
+msgstr "Eller oppgi detaljene fra den gamle tjeneren/hub-en"
+
+#: ../../mod/import.php:472
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Din gamle identitetsadresse (xyz@example.com)"
+
+#: ../../mod/import.php:473
+msgid "Your old login email address"
+msgstr "Din gamle innloggings e-postadresse"
+
+#: ../../mod/import.php:474
+msgid "Your old login password"
+msgstr "Ditt gamle innloggingspassord"
+
+#: ../../mod/import.php:475
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Enten du tar det ene eller det andre valget, vennligst angi om du vil at denne hubben skal være din nye primære adresse, eller om din gamle plassering skal fortsette å ha denne rollen. Du kan lage innlegg fra den ene eller den andre plasseringen, men bare en av dem kan markeres som den primære plasseringen for filer, bilder og media."
+
+#: ../../mod/import.php:476
+msgid "Make this hub my primary location"
+msgstr "Gjør dette nettstedet til min primære plassering"
+
+#: ../../mod/import.php:477
+msgid "Import existing posts if possible"
+msgstr "Importerer eksisterende innlegg hvis mulig."
+
#: ../../mod/tagger.php:98
#, php-format
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr "%1$s merket %3$s til %2$s med %4$s"
-#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
-msgid "Help:"
-msgstr "Hjelp:"
-
-#: ../../mod/help.php:69 ../../index.php:233
-msgid "Not Found"
-msgstr "Ikke funnet"
-
-#: ../../mod/tagrm.php:41
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
msgid "Tag removed"
msgstr "Merkelapp fjernet"
-#: ../../mod/tagrm.php:79
+#: ../../mod/tagrm.php:119
msgid "Remove Item Tag"
msgstr "Fjern merkelapp fra element"
-#: ../../mod/tagrm.php:81
+#: ../../mod/tagrm.php:121
msgid "Select a tag to remove: "
msgstr "Velg merkelapp å fjerne:"
-#: ../../mod/home.php:79
-msgid "Red Matrix - &quot;The Network&quot;"
-msgstr "Red Matrix - &quot;Nettverket&quot;"
-
-#: ../../mod/home.php:92
-#, php-format
-msgid "Welcome to %s"
-msgstr "Velkommen til %s"
-
#: ../../mod/admin.php:52
msgid "Theme settings updated."
msgstr "Temainnstillinger er oppdatert."
-#: ../../mod/admin.php:92 ../../mod/admin.php:441
+#: ../../mod/admin.php:97 ../../mod/admin.php:411
msgid "Site"
msgstr "Nettsted"
-#: ../../mod/admin.php:93
+#: ../../mod/admin.php:98
msgid "Accounts"
msgstr "Kontoer"
-#: ../../mod/admin.php:94 ../../mod/admin.php:884
+#: ../../mod/admin.php:99 ../../mod/admin.php:858
msgid "Channels"
msgstr "Kanaler"
-#: ../../mod/admin.php:95 ../../mod/admin.php:975 ../../mod/admin.php:1017
+#: ../../mod/admin.php:100 ../../mod/admin.php:949 ../../mod/admin.php:991
msgid "Plugins"
msgstr "Tilleggsfunksjoner"
-#: ../../mod/admin.php:96 ../../mod/admin.php:1180 ../../mod/admin.php:1216
+#: ../../mod/admin.php:101 ../../mod/admin.php:1154 ../../mod/admin.php:1190
msgid "Themes"
msgstr "Temaer"
-#: ../../mod/admin.php:97 ../../mod/admin.php:541
+#: ../../mod/admin.php:102 ../../mod/admin.php:512
msgid "Server"
msgstr "Tjener"
-#: ../../mod/admin.php:98
+#: ../../mod/admin.php:103
+msgid "Profile Config"
+msgstr "Profilinnstillinger"
+
+#: ../../mod/admin.php:104
msgid "DB updates"
msgstr "Databaseoppdateringer"
-#: ../../mod/admin.php:112 ../../mod/admin.php:119 ../../mod/admin.php:1303
+#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1277
msgid "Logs"
msgstr "Logger"
-#: ../../mod/admin.php:118
+#: ../../mod/admin.php:124
msgid "Plugin Features"
msgstr "Tilleggsfunksjoner"
-#: ../../mod/admin.php:120
+#: ../../mod/admin.php:126
msgid "User registrations waiting for confirmation"
msgstr "Brukerregistreringer som venter på bekreftelse"
-#: ../../mod/admin.php:197
+#: ../../mod/admin.php:206
msgid "Message queues"
msgstr "Meldingskøer"
-#: ../../mod/admin.php:202 ../../mod/admin.php:440 ../../mod/admin.php:540
-#: ../../mod/admin.php:749 ../../mod/admin.php:883 ../../mod/admin.php:974
-#: ../../mod/admin.php:1016 ../../mod/admin.php:1179 ../../mod/admin.php:1215
-#: ../../mod/admin.php:1302
+#: ../../mod/admin.php:211 ../../mod/admin.php:410 ../../mod/admin.php:511
+#: ../../mod/admin.php:721 ../../mod/admin.php:857 ../../mod/admin.php:948
+#: ../../mod/admin.php:990 ../../mod/admin.php:1153 ../../mod/admin.php:1189
+#: ../../mod/admin.php:1276
msgid "Administration"
msgstr "Administrasjon"
-#: ../../mod/admin.php:203
+#: ../../mod/admin.php:212
msgid "Summary"
msgstr "Sammendrag"
-#: ../../mod/admin.php:205
+#: ../../mod/admin.php:214
msgid "Registered users"
msgstr "Registrerte brukere"
-#: ../../mod/admin.php:207 ../../mod/admin.php:544
+#: ../../mod/admin.php:216 ../../mod/admin.php:515
msgid "Pending registrations"
msgstr "Ventende registreringer"
-#: ../../mod/admin.php:208
+#: ../../mod/admin.php:217
msgid "Version"
msgstr "Versjon"
-#: ../../mod/admin.php:210 ../../mod/admin.php:545
+#: ../../mod/admin.php:219 ../../mod/admin.php:516
msgid "Active plugins"
msgstr "Aktive tilleggsfunksjoner"
-#: ../../mod/admin.php:361
+#: ../../mod/admin.php:326
msgid "Site settings updated."
msgstr "Nettstedsinnstillinger er oppdatert."
-#: ../../mod/admin.php:392
-msgid "No special theme for accessibility"
-msgstr "Ikke noe spesielt tema for universell utforming"
+#: ../../mod/admin.php:363
+msgid "mobile"
+msgstr "mobil"
-#: ../../mod/admin.php:421
+#: ../../mod/admin.php:365
+msgid "experimental"
+msgstr "eksperimentell"
+
+#: ../../mod/admin.php:367
+msgid "unsupported"
+msgstr "ikke støttet"
+
+#: ../../mod/admin.php:391
msgid "Yes - with approval"
msgstr "Ja - med godkjenning"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:397
msgid "My site is not a public server"
msgstr "Mitt nettsted er ikke en offentlig tjeneste"
-#: ../../mod/admin.php:428
+#: ../../mod/admin.php:398
msgid "My site has paid access only"
msgstr "Mitt nettsted gir kun tilgang mot betaling"
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:399
msgid "My site has free access only"
msgstr "Mitt nettsted har kun gratis tilgang"
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:400
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mitt nettsted tilbyr gratis konto med valgfri oppgradering til betalt tjeneste"
-#: ../../mod/admin.php:444
+#: ../../mod/admin.php:414
msgid "File upload"
msgstr "Last opp fil"
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:415
msgid "Policies"
msgstr "Retningslinjer"
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:420
msgid "Site name"
msgstr "Nettstedets navn"
-#: ../../mod/admin.php:451
+#: ../../mod/admin.php:421
msgid "Banner/Logo"
msgstr "Banner/Logo"
-#: ../../mod/admin.php:452
+#: ../../mod/admin.php:422
msgid "Administrator Information"
msgstr "Administratorinformasjon"
-#: ../../mod/admin.php:452
+#: ../../mod/admin.php:422
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Kontaktinformasjon til nettstedsadministratorer. Vises på siteinfo-siden. BBCode kan brukes her"
-#: ../../mod/admin.php:453
+#: ../../mod/admin.php:423
msgid "System language"
msgstr "Systemspråk"
-#: ../../mod/admin.php:454
+#: ../../mod/admin.php:424
msgid "System theme"
msgstr "Systemtema"
-#: ../../mod/admin.php:454
+#: ../../mod/admin.php:424
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Standard systemtema - kan overstyres av brukerprofiler - <a href='#' id='cnftheme'>endre temainnstillinger</a>"
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:425
msgid "Mobile system theme"
msgstr "Mobilt systemtema"
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:425
msgid "Theme for mobile devices"
msgstr "Tema for mobile enheter"
-#: ../../mod/admin.php:456
-msgid "Accessibility system theme"
-msgstr "Universelt utformet systemtema"
+#: ../../mod/admin.php:427
+msgid "Enable Diaspora Protocol"
+msgstr "Skru på Diaspora-protokollen"
-#: ../../mod/admin.php:456
-msgid "Accessibility theme"
-msgstr "Universelt utformet tema"
+#: ../../mod/admin.php:427
+msgid "Communicate with Diaspora and Friendica - experimental"
+msgstr "Samhandling med Diaspora og Friendica - eksperimentell"
-#: ../../mod/admin.php:457
-msgid "Channel to use for this website's static pages"
-msgstr "Kanal å bruke for dette nettstedets statiske sider"
+#: ../../mod/admin.php:428
+msgid "Allow Feeds as Connections"
+msgstr "Tillat strømmer som forbindelser"
-#: ../../mod/admin.php:457
-msgid "Site Channel"
-msgstr "Nettstedets kanal"
+#: ../../mod/admin.php:428
+msgid "(Heavy system resource usage)"
+msgstr "(Tung bruk av systemressurser)"
-#: ../../mod/admin.php:459
+#: ../../mod/admin.php:429
msgid "Maximum image size"
msgstr "Største bildestørrelse"
-#: ../../mod/admin.php:459
+#: ../../mod/admin.php:429
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Største størrelse i bytes for opplastede bilder. Standard er 0, som betyr ubegrenset."
-#: ../../mod/admin.php:460
+#: ../../mod/admin.php:430
msgid "Does this site allow new member registration?"
msgstr "Tillater dette nettstedet registrering av nye medlemmer?"
-#: ../../mod/admin.php:461
+#: ../../mod/admin.php:431
msgid "Which best describes the types of account offered by this hub?"
msgstr "Hvilket alternativ beskriver best hva slags kontotype som tilbys av dette nettstedet/denne hubben?"
-#: ../../mod/admin.php:462
+#: ../../mod/admin.php:432
msgid "Register text"
msgstr "Registreringstekst"
-#: ../../mod/admin.php:462
+#: ../../mod/admin.php:432
msgid "Will be displayed prominently on the registration page."
msgstr "Vil bli vist på en fremtredende måte på registreringssiden."
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:433
msgid "Accounts abandoned after x days"
msgstr "Kontoer forlatt etter x dager"
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:433
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Vil ikke kaste bort systemressurser på å spørre eksterne nettsteder etter forlatte kontoer. Skriv 0 for å ikke sette noen tidsgrense."
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:434
msgid "Allowed friend domains"
msgstr "Tillatte vennedomener"
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:434
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Kommaseparert liste over domener som har lov til å etablere vennskap med dette nettstedet. Jokertegn er akseptert. Tøm for å tillate alle domener."
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:435
msgid "Allowed email domains"
msgstr "Tillate e-postdomener"
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:435
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Kommaseparert liste med domener som er tillatt i e-postadresser ved registrering på dette nettstedet. Jokertegn er akseptert. Tomt betyr at alle domener er tillatt"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:436
msgid "Block public"
msgstr "Blokker offentlig tilgang"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:436
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Kryss av for å blokkere tilgang til alle personlige sider som ellers ville vært offentlig tilgjengelige på dette nettstedet med mindre du er logget inn."
-#: ../../mod/admin.php:467
+#: ../../mod/admin.php:437
+msgid "Verify Email Addresses"
+msgstr "Bekreft e-postadresser"
+
+#: ../../mod/admin.php:437
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Sett hake for å sjekke e-postadresser brukt ved kontoregistrering (anbefales)."
+
+#: ../../mod/admin.php:438
msgid "Force publish"
msgstr "Tving publisering"
-#: ../../mod/admin.php:467
+#: ../../mod/admin.php:438
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Kryss av for å tvinge alle profiler på dette nettstedet til å bli oppført i nettstedet sin katalog."
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:439
msgid "Disable discovery tab"
msgstr "Skru av oppdagelsesfanen"
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:439
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr "Fjern fanen fra nettverksvisningen med offentlig innhold trukket inn fra kilder valg for dette nettstedet."
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:440
msgid "No login on Homepage"
msgstr "Ingen innlogging på hjemmesiden"
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:440
msgid ""
"Check to hide the login form from your sites homepage when visitors arrive "
"who are not logged in (e.g. when you put the content of the homepage in via "
"the site channel)."
msgstr "Sett hake for å skjule innloggingsskjemaet fra ditt nettsteds hjemmeside for besøkende som ikke er innlogget (for eksempel når du legger inn innhold på hjemmesiden via nettstedskanalen)."
-#: ../../mod/admin.php:471
+#: ../../mod/admin.php:442
msgid "Proxy user"
msgstr "Brukernavn mellomtjener"
-#: ../../mod/admin.php:472
+#: ../../mod/admin.php:443
msgid "Proxy URL"
msgstr "Mellomtjener URL"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:444
msgid "Network timeout"
msgstr "Nettverk tidsavbrudd"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:444
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Verdien i sekunder. Skriv 0 for ubegrenset (ikke anbefalt)."
-#: ../../mod/admin.php:474
+#: ../../mod/admin.php:445
msgid "Delivery interval"
msgstr "Leveringsinterval"
-#: ../../mod/admin.php:474
+#: ../../mod/admin.php:445
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Forsink leveringsprosessene i bakgrunnen med dette antall sekunder for å redusere systembelastningen. Anbefaling: 4-5 for delte tjenere, 2-3 for virtuelle tjenere, 0-1 for større dedikerte tjenere."
-#: ../../mod/admin.php:475
+#: ../../mod/admin.php:446
msgid "Poll interval"
msgstr "Spørreintervall"
-#: ../../mod/admin.php:475
+#: ../../mod/admin.php:446
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Forsink spørreprosessene i bakgrunnen med dette antall sekunder for å redusere systembelastningen. Hvis 0, bruk dette leveringsintervallet."
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:447
msgid "Maximum Load Average"
msgstr "Største belastningsgjennomsnitt"
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:447
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Største systembelastning før leverings- og spørreprosesser blir utsatt - standard 50."
-#: ../../mod/admin.php:532
+#: ../../mod/admin.php:503
msgid "No server found"
msgstr "Ingen tjener funnet"
-#: ../../mod/admin.php:539 ../../mod/admin.php:763
+#: ../../mod/admin.php:510 ../../mod/admin.php:735
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:539
+#: ../../mod/admin.php:510
msgid "for channel"
msgstr "for kanalen"
-#: ../../mod/admin.php:539
+#: ../../mod/admin.php:510
msgid "on server"
msgstr "på tjener"
-#: ../../mod/admin.php:539
+#: ../../mod/admin.php:510
msgid "Status"
msgstr "Status"
-#: ../../mod/admin.php:560
+#: ../../mod/admin.php:531
msgid "Update has been marked successful"
msgstr "Oppdateringen har blitt merket som en suksess"
-#: ../../mod/admin.php:570
+#: ../../mod/admin.php:541
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Utføring av %s feilet. Sjekk systemlogger."
-#: ../../mod/admin.php:573
+#: ../../mod/admin.php:544
#, php-format
msgid "Update %s was successfully applied."
msgstr "Oppdatering %s ble gjennomført med suksess."
-#: ../../mod/admin.php:577
+#: ../../mod/admin.php:548
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Oppdatering %s returnerte ingen status. Det er ukjent om den ble vellykket."
-#: ../../mod/admin.php:580
+#: ../../mod/admin.php:551
#, php-format
msgid "Update function %s could not be found."
msgstr "Oppdatering av funksjon %s kunne ikke finnes."
-#: ../../mod/admin.php:595
+#: ../../mod/admin.php:566
msgid "No failed updates."
msgstr "Ingen mislykkede oppdateringer."
-#: ../../mod/admin.php:599
+#: ../../mod/admin.php:570
msgid "Failed Updates"
msgstr "Mislykkede oppdateringer"
-#: ../../mod/admin.php:601
+#: ../../mod/admin.php:572
msgid "Mark success (if update was manually applied)"
msgstr "Marker suksess (hvis oppdateringen ble gjennomført manuelt)"
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:573
msgid "Attempt to execute this update step automatically"
msgstr "Prøv å gjennomføre dette oppdateringstrinnet automatisk"
-#: ../../mod/admin.php:628
+#: ../../mod/admin.php:599
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s bruker blokkert/ikke blokkert lenger"
msgstr[1] "%s brukere blokkert/ikke blokkert lenger"
-#: ../../mod/admin.php:635
+#: ../../mod/admin.php:606
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] "%s bruker slettet"
msgstr[1] "%s brukere slettet"
-#: ../../mod/admin.php:666
+#: ../../mod/admin.php:635
msgid "Account not found"
msgstr "Kontoen ble ikke funnet"
-#: ../../mod/admin.php:677
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Brukeren '%s' er slettet"
-
-#: ../../mod/admin.php:686
+#: ../../mod/admin.php:655
#, php-format
msgid "User '%s' unblocked"
msgstr "Brukeren '%s' er ikke blokkert lenger"
-#: ../../mod/admin.php:686
+#: ../../mod/admin.php:655
#, php-format
msgid "User '%s' blocked"
msgstr "Brukeren '%s' er blokkert"
-#: ../../mod/admin.php:750 ../../mod/admin.php:762
+#: ../../mod/admin.php:722 ../../mod/admin.php:734
msgid "Users"
msgstr "Brukere"
-#: ../../mod/admin.php:752 ../../mod/admin.php:886
+#: ../../mod/admin.php:724 ../../mod/admin.php:860
msgid "select all"
msgstr "velg alle"
-#: ../../mod/admin.php:753
+#: ../../mod/admin.php:725
msgid "User registrations waiting for confirm"
msgstr "Brukerregistreringer som venter på bekreftelse"
-#: ../../mod/admin.php:754
+#: ../../mod/admin.php:726
msgid "Request date"
msgstr "Dato for forespørsel"
-#: ../../mod/admin.php:755
+#: ../../mod/admin.php:727
msgid "No registrations."
msgstr "Ingen registreringer."
-#: ../../mod/admin.php:756
+#: ../../mod/admin.php:728
msgid "Approve"
msgstr "Godkjenn"
-#: ../../mod/admin.php:757
+#: ../../mod/admin.php:729
msgid "Deny"
msgstr "Avslå"
-#: ../../mod/admin.php:763
+#: ../../mod/admin.php:735
msgid "Register date"
msgstr "Registreringsdato"
-#: ../../mod/admin.php:763
+#: ../../mod/admin.php:735
msgid "Last login"
msgstr "Siste innlogging"
-#: ../../mod/admin.php:763
+#: ../../mod/admin.php:735
msgid "Expires"
msgstr "Utløper"
-#: ../../mod/admin.php:763
+#: ../../mod/admin.php:735
msgid "Service Class"
msgstr "Tjenesteklasse"
-#: ../../mod/admin.php:765
+#: ../../mod/admin.php:737
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Valgte brukere vil bli slettet!\\n\\nAlt som disse brukerne har lagt inn på dette nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette valgte brukere og deres innhold?"
-#: ../../mod/admin.php:766
+#: ../../mod/admin.php:738
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Brukeren {0} vil bli slettet!\\n\\nAlt denne brukeren har lagt inn på dette nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette denne brukeren og alt innholdet til denne brukeren?"
-#: ../../mod/admin.php:798
+#: ../../mod/admin.php:771
#, php-format
msgid "%s channel censored/uncensored"
-msgid_plural "%s channelss censored/uncensored"
-msgstr[0] "%s kanal sensurert/ikke sensurert lenger"
-msgstr[1] "%s kanaler sensurert/ikke sensurert lenger"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s kanal er sensurert/ikke sensurert lenger"
+msgstr[1] "%s kanaler er sensurert/ikke sensurert lenger"
-#: ../../mod/admin.php:805
+#: ../../mod/admin.php:778
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s kanal slettet"
msgstr[1] "%s kanaler slettet"
-#: ../../mod/admin.php:824
+#: ../../mod/admin.php:797
msgid "Channel not found"
msgstr "Kanalen ble ikke funnet"
-#: ../../mod/admin.php:835
+#: ../../mod/admin.php:808
#, php-format
msgid "Channel '%s' deleted"
msgstr "Kanalen '%s' er slettet"
-#: ../../mod/admin.php:845
+#: ../../mod/admin.php:819
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Kanalen '%s' er ikke sensurert lenger"
-#: ../../mod/admin.php:845
+#: ../../mod/admin.php:819
#, php-format
msgid "Channel '%s' censored"
msgstr "Kanalen '%s' er sensurert"
-#: ../../mod/admin.php:888
+#: ../../mod/admin.php:862
msgid "Censor"
msgstr "Sensurer"
-#: ../../mod/admin.php:889
+#: ../../mod/admin.php:863
msgid "Uncensor"
msgstr "Ikke sensurer lenger"
-#: ../../mod/admin.php:892
+#: ../../mod/admin.php:866
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:894
+#: ../../mod/admin.php:868
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Valgte kanaler vil bli slettet!\\n\\nAlt innhold som er lagt inn i disse kanalene på dette nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette disse kanalene med alt innhold?"
-#: ../../mod/admin.php:895
+#: ../../mod/admin.php:869
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Kanalen {0} vil bli slettet!\\n\\nAlt innhold som er lagt inn i denne kanalen på dettet nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette denne kanalen med alt innhold?"
-#: ../../mod/admin.php:934
+#: ../../mod/admin.php:908
#, php-format
msgid "Plugin %s disabled."
msgstr "Tilleggsfunksjonen %s er avskrudd."
-#: ../../mod/admin.php:938
+#: ../../mod/admin.php:912
#, php-format
msgid "Plugin %s enabled."
msgstr "Tilleggsfunksjonen %s er påskrudd."
-#: ../../mod/admin.php:948 ../../mod/admin.php:1150
+#: ../../mod/admin.php:922 ../../mod/admin.php:1124
msgid "Disable"
msgstr "Skru av"
-#: ../../mod/admin.php:950 ../../mod/admin.php:1152
+#: ../../mod/admin.php:924 ../../mod/admin.php:1126
msgid "Enable"
msgstr "Skru på"
-#: ../../mod/admin.php:976 ../../mod/admin.php:1181
+#: ../../mod/admin.php:950 ../../mod/admin.php:1155
msgid "Toggle"
msgstr "Skru av og på"
-#: ../../mod/admin.php:984 ../../mod/admin.php:1191
+#: ../../mod/admin.php:958 ../../mod/admin.php:1165
msgid "Author: "
msgstr "Forfatter:"
-#: ../../mod/admin.php:985 ../../mod/admin.php:1192
+#: ../../mod/admin.php:959 ../../mod/admin.php:1166
msgid "Maintainer: "
msgstr "Vedlikeholder:"
-#: ../../mod/admin.php:1114
+#: ../../mod/admin.php:1088
msgid "No themes found."
msgstr "Ingen temaer er funnet."
-#: ../../mod/admin.php:1173
+#: ../../mod/admin.php:1147
msgid "Screenshot"
msgstr "Skjermbilde"
-#: ../../mod/admin.php:1221
+#: ../../mod/admin.php:1195
msgid "[Experimental]"
msgstr "[Eksperimentelt]"
-#: ../../mod/admin.php:1222
+#: ../../mod/admin.php:1196
msgid "[Unsupported]"
msgstr "[Ingen støtte]"
-#: ../../mod/admin.php:1249
+#: ../../mod/admin.php:1223
msgid "Log settings updated."
msgstr "Logginnstillinger er oppdatert."
-#: ../../mod/admin.php:1305
+#: ../../mod/admin.php:1279
msgid "Clear"
msgstr "Tøm"
-#: ../../mod/admin.php:1311
+#: ../../mod/admin.php:1285
msgid "Debugging"
msgstr "Feilsøking"
-#: ../../mod/admin.php:1312
+#: ../../mod/admin.php:1286
msgid "Log file"
msgstr "Loggfil"
-#: ../../mod/admin.php:1312
+#: ../../mod/admin.php:1286
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr "Må kunne skrives til av webtjenesten. Relativ til din Red sin toppnivåkatalog."
-#: ../../mod/admin.php:1313
+#: ../../mod/admin.php:1287
msgid "Log level"
msgstr "Loggnivå"
-#: ../../mod/thing.php:98
-msgid "Thing updated"
-msgstr "Tingen er oppdatert"
-
-#: ../../mod/thing.php:158
-msgid "Object store: failed"
-msgstr "Objektlagring: mislyktes"
-
-#: ../../mod/thing.php:162
-msgid "Thing added"
-msgstr "Ting lagt til"
-
-#: ../../mod/thing.php:182
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
-
-#: ../../mod/thing.php:234
-msgid "Show Thing"
-msgstr "Vis ting"
-
-#: ../../mod/thing.php:241
-msgid "item not found."
-msgstr "element ble ikke funnet."
-
-#: ../../mod/thing.php:269
-msgid "Edit Thing"
-msgstr "Endre ting"
+#: ../../mod/admin.php:1334
+msgid "New Profile Field"
+msgstr "Nytt profilfelt"
-#: ../../mod/thing.php:271 ../../mod/thing.php:318
-msgid "Select a profile"
-msgstr "Velg en profil"
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
+msgid "Field nickname"
+msgstr "Feltets kallenavn"
-#: ../../mod/thing.php:273 ../../mod/thing.php:320
-msgid "Select a category of stuff. e.g. I ______ something"
-msgstr "Velg en kategori med ting, for eksempel l_____ noe"
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
+msgid "System name of field"
+msgstr "Systemnavnet til feltet"
-#: ../../mod/thing.php:275 ../../mod/thing.php:321
-msgid "Post an activity"
-msgstr "Legg inn en aktivitet"
+#: ../../mod/admin.php:1336 ../../mod/admin.php:1357
+msgid "Input type"
+msgstr "Inndata-type"
-#: ../../mod/thing.php:275 ../../mod/thing.php:321
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Sender bare til seere av den aktuelle profilen"
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+msgid "Field Name"
+msgstr "Feltnavn"
-#: ../../mod/thing.php:277 ../../mod/thing.php:323
-msgid "Name of thing e.g. something"
-msgstr "Navn på ting for eksempel noe"
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+msgid "Label on profile pages"
+msgstr "Merkelapp på profilsider"
-#: ../../mod/thing.php:279 ../../mod/thing.php:324
-msgid "URL of thing (optional)"
-msgstr "URL til ting (valgfritt)"
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
+msgid "Help text"
+msgstr "Hjelpetekst"
-#: ../../mod/thing.php:281 ../../mod/thing.php:325
-msgid "URL for photo of thing (optional)"
-msgstr "URL til bilde av ting (valgfritt)"
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
+msgid "Additional info (optional)"
+msgstr "Tilleggsinformasjon (valgfritt)"
-#: ../../mod/thing.php:316
-msgid "Add Thing to your Profile"
-msgstr "Legg til ting i din profil"
+#: ../../mod/admin.php:1349
+msgid "Field definition not found"
+msgstr "Feltdefinisjonen ble ikke funnet"
-#: ../../mod/import.php:36
-msgid "Nothing to import."
-msgstr "Ingenting å importere."
+#: ../../mod/admin.php:1355
+msgid "Edit Profile Field"
+msgstr "Endre profilfelt"
-#: ../../mod/import.php:58
-msgid "Unable to download data from old server"
-msgstr "Ikke i stand til å laste ned data fra gammel tjener"
+#: ../../mod/item.php:159
+msgid "Unable to locate original post."
+msgstr "Ikke i stand til å finne opprinnelig innlegg."
-#: ../../mod/import.php:64
-msgid "Imported file is empty."
-msgstr "Importert fil er tom."
+#: ../../mod/item.php:418
+msgid "Empty post discarded."
+msgstr "Tomt innlegg forkastet."
-#: ../../mod/import.php:88
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes."
+#: ../../mod/item.php:460
+msgid "Executable content type not permitted to this channel."
+msgstr "Kjørbar innholdstype er ikke tillat for denne kanalen."
-#: ../../mod/import.php:106
-msgid "Channel clone failed. Import failed."
-msgstr "Kanalkloning mislyktes. Import mislyktes."
+#: ../../mod/item.php:898
+msgid "System error. Post not saved."
+msgstr "Systemfeil. Innlegg ble ikke lagret."
-#: ../../mod/import.php:116
-msgid "Cloned channel not found. Import failed."
-msgstr "Klonet kanal ble ikke funnet. Import mislyktes."
+#: ../../mod/item.php:1373
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Du har nådd din grense på %1$.0f startinnlegg."
-#: ../../mod/import.php:364
-msgid "Import completed."
-msgstr "Import ferdig."
+#: ../../mod/item.php:1379
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Du har nådd din grense på %1$.0f websider."
-#: ../../mod/import.php:377
-msgid "You must be logged in to use this feature."
-msgstr "Du må være innlogget for å bruke denne funksjonen."
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr "Liker/Liker ikke"
-#: ../../mod/import.php:382
-msgid "Import Channel"
-msgstr "Importer kanal"
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr "Denne handlingen er begrenset til medlemmer."
-#: ../../mod/import.php:383
+#: ../../mod/like.php:21
msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file. Only identity and connections/relationships will "
-"be imported. Importation of content is not yet available."
-msgstr "Bruk dette skjemaet til å importere en eksisterende kanal fra en annen tjener/hub. Du kan hente kanalidentiteten fra den gamle tjeneren/hubben via nettverket eller bruke en eksportert fil. Bare identiteten og forbindelser/relasjoner vil bli importert. Importering av innhold er ennå ikke tilgjengelig."
+"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
+"href=\"register\">register as a new RedMatrix member</a> to continue."
+msgstr "Vennligst <a href=\"rmagic\">logg inn med din RedMatrix ID</a> eller <a href=\"register\">registrer deg som et nytt RedMatrix-medlem</a> for å fortsette"
-#: ../../mod/import.php:384
-msgid "File to Upload"
-msgstr "Fil som skal lastes opp"
+#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
+msgid "Invalid request."
+msgstr "Ugyldig forespørsel."
-#: ../../mod/import.php:385
-msgid "Or provide the old server/hub details"
-msgstr "Eller oppgi detaljene fra den gamle tjeneren/hub-en"
+#: ../../mod/like.php:119
+msgid "thing"
+msgstr "ting"
-#: ../../mod/import.php:386
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Din gamle identitetsadresse (xyz@example.com)"
+#: ../../mod/like.php:165
+msgid "Channel unavailable."
+msgstr "Kanalen er utilgjengelig."
-#: ../../mod/import.php:387
-msgid "Your old login email address"
-msgstr "Din gamle innloggings e-postadresse"
+#: ../../mod/like.php:204
+msgid "Previous action reversed."
+msgstr "Forrige handling er omgjort."
-#: ../../mod/import.php:388
-msgid "Your old login password"
-msgstr "Ditt gamle innloggingspassord"
+#: ../../mod/like.php:430
+msgid "Action completed."
+msgstr "Handling ferdig."
-#: ../../mod/import.php:389
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Enten du tar det ene eller det andre valget, vennligst angi om du vil at denne hubben skal være din nye primære adresse, eller om din gamle plassering skal fortsette å ha denne rollen. Du kan lage innlegg fra den ene eller den andre plasseringen, men bare en av dem kan markeres som den primære plasseringen for filer, bilder og media."
-
-#: ../../mod/import.php:390
-msgid "Make this hub my primary location"
-msgstr "Gjør dette nettstedet til min primære plassering"
+#: ../../mod/like.php:431
+msgid "Thank you."
+msgstr "Tusen takk."
#: ../../mod/invite.php:25
msgid "Total invitation limit exceeded."
@@ -6797,94 +7524,88 @@ msgstr[1] "%d meldinger sendt."
msgid "You have no more invitations available"
msgstr "Du har ikke flere invitasjoner tilgjengelig"
-#: ../../mod/invite.php:141
+#: ../../mod/invite.php:129
msgid "Send invitations"
msgstr "Send invitasjoner"
-#: ../../mod/invite.php:142
+#: ../../mod/invite.php:130
msgid "Enter email addresses, one per line:"
msgstr "Skriv e-postadresser, en per linje:"
-#: ../../mod/invite.php:143 ../../mod/mail.php:216 ../../mod/mail.php:328
+#: ../../mod/invite.php:131 ../../mod/mail.php:228 ../../mod/mail.php:341
msgid "Your message:"
msgstr "Din melding:"
-#: ../../mod/invite.php:144
-msgid ""
-"You are cordially invited to join me and some other close friends on the Red"
-" Matrix - a revolutionary new decentralised communication and information "
-"tool."
-msgstr "Du er hjertelig invitert til å være med meg og noen andre nære venner i Red Matrix - et nytt og revolusjonerende desentralisert kommunikasjons- og informasjonsverktøy."
+#: ../../mod/invite.php:132
+msgid "Please join my community on RedMatrix."
+msgstr "Du er velkommen til å bli med i mitt fellesskap på RedMatrix."
-#: ../../mod/invite.php:146
-msgid "You will need to supply this invitation code: $invite_code"
-msgstr "Du må oppgi denne invitasjonskoden: $invite_code"
+#: ../../mod/invite.php:134
+msgid "You will need to supply this invitation code: "
+msgstr "Du må oppgi denne invitasjonskoden:"
-#: ../../mod/invite.php:147
-msgid "Please visit my channel at"
-msgstr "Vennligst besøk min kanal hos"
+#: ../../mod/invite.php:135
+msgid "1. Register at any RedMatrix location (they are all inter-connected)"
+msgstr "1. Registrer ved enhver RedMatrix-lokasjon (de er alle forbundet med hverandre)"
-#: ../../mod/invite.php:151
-msgid ""
-"Once you have registered (on ANY Red Matrix site - they are all inter-"
-"connected), please connect with my Red Matrix channel address:"
-msgstr "Når du har registrert (på et HVILKET SOM HELST Red Matrix-nettsted - de er alle forbundet med hverandre), vennligst opprett kobling med min Red Matrix-kanaladresse:"
+#: ../../mod/invite.php:137
+msgid "2. Enter my RedMatrix network address into the site searchbar."
+msgstr "2. Skriv inn min RedMatrix-adresse i nettstedets søkefelt."
-#: ../../mod/invite.php:153
-msgid "Click the [Register] link on the following page to join."
-msgstr "Klikk på [Registering]-lenken på følgende side for å bli med."
+#: ../../mod/invite.php:138
+msgid "or visit "
+msgstr "eller besøk"
-#: ../../mod/invite.php:155
-msgid ""
-"For more information about the Red Matrix Project and why it has the "
-"potential to change the internet as we know it, please visit "
-"http://getzot.com"
-msgstr "For mer informasjon om Red Matrix-prosjektet og hvorfor det har potensialet til å forandre Internett som vi kjenner det, vær vennlig å besøke http://getzot.com"
+#: ../../mod/invite.php:140
+msgid "3. Click [Connect]"
+msgstr "3. Klikk [Forbindelse]"
-#: ../../mod/item.php:147
-msgid "Unable to locate original post."
-msgstr "Ikke i stand til å finne opprinnelig innlegg."
+#: ../../mod/locs.php:19 ../../mod/locs.php:46
+msgid "Location not found."
+msgstr "Plassering er ikke funnet."
-#: ../../mod/item.php:372
-msgid "Empty post discarded."
-msgstr "Tomt innlegg forkastet."
+#: ../../mod/locs.php:50
+msgid "Primary location cannot be removed."
+msgstr "Primær plassering kan ikke fjernes."
-#: ../../mod/item.php:414
-msgid "Executable content type not permitted to this channel."
-msgstr "Kjørbar innholdstype er ikke tillat for denne kanalen."
+#: ../../mod/locs.php:82
+msgid "No locations found."
+msgstr "Ingen plasseringer ble funnet."
-#: ../../mod/item.php:828
-msgid "System error. Post not saved."
-msgstr "Systemfeil. Innlegg ble ikke lagret."
+#: ../../mod/locs.php:95
+msgid "Manage Channel Locations"
+msgstr "HÃ¥ndter kanalplasseringer"
-#: ../../mod/item.php:1271
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Du har nådd din grense på %1$.0f startinnlegg."
+#: ../../mod/locs.php:96
+msgid "Location (address)"
+msgstr "Plassering (adresse)"
-#: ../../mod/item.php:1277
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Du har nådd din grense på %1$.0f websider."
+#: ../../mod/locs.php:97
+msgid "Primary Location"
+msgstr "Hovedplassering"
+
+#: ../../mod/locs.php:98
+msgid "Drop location"
+msgstr "Slett plassering"
#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
msgid "[Embedded content - reload page to view]"
msgstr "[Innebygget innhold - last siden på nytt for å se]"
-#: ../../mod/layouts.php:62
+#: ../../mod/layouts.php:110
msgid "Help with this feature"
msgstr "Hjelp med denne funksjonen"
-#: ../../mod/layouts.php:84
+#: ../../mod/layouts.php:130
msgid "Layout Name"
msgstr "Layout-navn"
-#: ../../mod/lockview.php:30 ../../mod/lockview.php:36
+#: ../../mod/lockview.php:31
msgid "Remote privacy information not available."
msgstr "Ekstern personverninformasjon er ikke tilgjengelig."
-#: ../../mod/lockview.php:45
+#: ../../mod/lockview.php:52
msgid "Visible to:"
msgstr "Synlig for:"
@@ -6892,88 +7613,15 @@ msgstr "Synlig for:"
msgid "No connections."
msgstr "Ingen forbindelser."
-#: ../../mod/viewconnections.php:70
+#: ../../mod/viewconnections.php:71
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "Besøk %s sin profil [%s]"
-#: ../../mod/viewconnections.php:85
+#: ../../mod/viewconnections.php:86
msgid "View Connnections"
msgstr "Vis forbindelser"
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Ingen gyldig konto funnet."
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din."
-
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Nettstedsmedlem (%s)"
-
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Forespurt om å tilbakestille passord hos %s"
-
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes."
-
-#: ../../mod/lostpass.php:85 ../../boot.php:1467
-msgid "Password Reset"
-msgstr "Tilbakestill passord"
-
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
-msgstr "Ditt passord har blitt tilbakestilt som forespurt."
-
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
-msgstr "Ditt nye passord er"
-
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
-msgstr "Lagre eller kopier ditt nye passord, og deretter kan du"
-
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
-msgstr "klikke her for å logge inn"
-
-#: ../../mod/lostpass.php:90
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging."
-
-#: ../../mod/lostpass.php:107
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Ditt passord er endret hos %s"
-
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
-msgstr "Glemt passord ditt?"
-
-#: ../../mod/lostpass.php:123
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner."
-
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
-msgstr "E-postadresse"
-
-#: ../../mod/lostpass.php:125
-msgid "Reset"
-msgstr "Tilbakestill"
-
#: ../../mod/magic.php:70
msgid "Hub not found."
msgstr "Hubben ble ikke funnet."
@@ -7002,93 +7650,64 @@ msgstr "Kan ikke bekrefte forespurt kanal."
msgid "Selected channel has private message restrictions. Send failed."
msgstr "Valgt kanal har restriksjoner for private meldinger. Sending feilet."
-#: ../../mod/mail.php:121 ../../mod/message.php:31
-msgid "Messages"
-msgstr "Meldinger"
-
-#: ../../mod/mail.php:132
+#: ../../mod/mail.php:135
msgid "Message deleted."
msgstr "Melding slettet."
-#: ../../mod/mail.php:149
+#: ../../mod/mail.php:152
msgid "Message recalled."
msgstr "Innlegg tilbakekalt."
-#: ../../mod/mail.php:206
+#: ../../mod/mail.php:218
msgid "Send Private Message"
msgstr "Send privat melding"
-#: ../../mod/mail.php:207 ../../mod/mail.php:323
+#: ../../mod/mail.php:219 ../../mod/mail.php:336
msgid "To:"
msgstr "Til:"
-#: ../../mod/mail.php:212 ../../mod/mail.php:325
+#: ../../mod/mail.php:224 ../../mod/mail.php:338
msgid "Subject:"
msgstr "Emne:"
-#: ../../mod/mail.php:249
+#: ../../mod/mail.php:235
+msgid "Send"
+msgstr "Send"
+
+#: ../../mod/mail.php:262
msgid "Message not found."
msgstr "Melding ikke funnet."
-#: ../../mod/mail.php:292 ../../mod/message.php:72
+#: ../../mod/mail.php:305
msgid "Delete message"
msgstr "Slett melding"
-#: ../../mod/mail.php:293
+#: ../../mod/mail.php:306
msgid "Recall message"
msgstr "Tilbakekall innlegg"
-#: ../../mod/mail.php:295
+#: ../../mod/mail.php:308
msgid "Message has been recalled."
msgstr "Innlegget har blitt tilbakekalt."
-#: ../../mod/mail.php:312
+#: ../../mod/mail.php:325
msgid "Private Conversation"
msgstr "Privat samtale"
-#: ../../mod/mail.php:316
+#: ../../mod/mail.php:329 ../../mod/message.php:72
msgid "Delete conversation"
msgstr "Slett samtale"
-#: ../../mod/mail.php:318
+#: ../../mod/mail.php:331
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
"respond from the sender's profile page."
msgstr "Ingen sikret kommunikasjon tilgjengelig. Du kan <strong>muligens</strong> greie å svare via senderens profilside."
-#: ../../mod/mail.php:322
+#: ../../mod/mail.php:335
msgid "Send Reply"
msgstr "Send svar"
-#: ../../mod/manage.php:64
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Du har laget %1$.0f av %2$.0f tillatte kanaler."
-
-#: ../../mod/manage.php:72
-msgid "Create a new channel"
-msgstr "Lag en ny kanal"
-
-#: ../../mod/manage.php:77
-msgid "Channel Manager"
-msgstr "Kanalstyring"
-
-#: ../../mod/manage.php:78
-msgid "Current Channel"
-msgstr "Gjeldende kanal"
-
-#: ../../mod/manage.php:80
-msgid "Attach to one of your channels by selecting it."
-msgstr "Bytt til en av dine kanaler ved å velge den."
-
-#: ../../mod/manage.php:81
-msgid "Default Channel"
-msgstr "Standardkanal"
-
-#: ../../mod/manage.php:82
-msgid "Make Default"
-msgstr "Gjør til standard"
-
#: ../../mod/wall_upload.php:34
msgid "Wall Photos"
msgstr "Veggbilder"
@@ -7109,87 +7728,91 @@ msgstr "er interessert i:"
msgid "No matches"
msgstr "Ingen treff"
-#: ../../mod/menu.php:21
+#: ../../mod/menu.php:31
msgid "Menu updated."
msgstr "Menyen er oppdatert."
-#: ../../mod/menu.php:25
+#: ../../mod/menu.php:35
msgid "Unable to update menu."
msgstr "Ikke i stand til å oppdatere meny."
-#: ../../mod/menu.php:30
+#: ../../mod/menu.php:40
msgid "Menu created."
msgstr "Meny laget."
-#: ../../mod/menu.php:34
+#: ../../mod/menu.php:44
msgid "Unable to create menu."
msgstr "Ikke i stand til å lage meny."
-#: ../../mod/menu.php:57
+#: ../../mod/menu.php:76
msgid "Manage Menus"
msgstr "HÃ¥ndtere menyer"
-#: ../../mod/menu.php:60
+#: ../../mod/menu.php:79
msgid "Drop"
msgstr "Slett"
-#: ../../mod/menu.php:62
+#: ../../mod/menu.php:81
+msgid "Bookmarks allowed"
+msgstr "Bokmerker tillatt"
+
+#: ../../mod/menu.php:82
msgid "Create a new menu"
msgstr "Lag en ny meny"
-#: ../../mod/menu.php:63
+#: ../../mod/menu.php:83
msgid "Delete this menu"
msgstr "Slett denne menyen"
-#: ../../mod/menu.php:64 ../../mod/menu.php:109
+#: ../../mod/menu.php:84 ../../mod/menu.php:125
msgid "Edit menu contents"
msgstr "Endre menyinnholdet"
-#: ../../mod/menu.php:65
+#: ../../mod/menu.php:85
msgid "Edit this menu"
msgstr "Endre denne menyen"
-#: ../../mod/menu.php:80
+#: ../../mod/menu.php:96
msgid "New Menu"
msgstr "Ny meny"
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
msgid "Menu name"
msgstr "Menynavn"
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
msgid "Must be unique, only seen by you"
msgstr "Må være unik, ses bare av deg"
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
msgid "Menu title"
msgstr "Menytittel"
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
msgid "Menu title as seen by others"
msgstr "Menytittelen andre ser"
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
msgid "Allow bookmarks"
msgstr "Tillat bokmerker"
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
msgid "Menu may be used to store saved bookmarks"
msgstr "Menyen kan brukes til å lagre lagrede bokmerker"
-#: ../../mod/menu.php:98
+#: ../../mod/menu.php:114
msgid "Menu deleted."
msgstr "Meny slettet."
-#: ../../mod/menu.php:100
+#: ../../mod/menu.php:116
msgid "Menu could not be deleted."
msgstr "Menyen kunne ikke bli slettet."
-#: ../../mod/menu.php:106
+#: ../../mod/menu.php:122
msgid "Edit Menu"
msgstr "Endre meny"
-#: ../../mod/menu.php:108
+#: ../../mod/menu.php:124
msgid "Add or remove entries to this menu"
msgstr "Legg til eller fjern punkter i denne menyen"
@@ -7205,11 +7828,11 @@ msgstr "Ingen meldinger."
msgid "D, d M Y - g:i A"
msgstr "D, d M Y - g:i A"
-#: ../../mod/new_channel.php:107
+#: ../../mod/new_channel.php:109
msgid "Add a Channel"
msgstr "Legg til en kanal"
-#: ../../mod/new_channel.php:108
+#: ../../mod/new_channel.php:110
msgid ""
"A channel is your own collection of related web pages. A channel can be used"
" to hold social network profiles, blogs, conversation groups and forums, "
@@ -7217,151 +7840,42 @@ msgid ""
"service provider allows."
msgstr "En kanal er din egen samling av relaterte web-sider. En kanal kan brukes til å samle sosiale nettverksprofiler, blogger, samtalegrupper og forum, kjendissider og mye mer. Du kan lage så mange kanaler som din tjenestetilbyder tillater."
-#: ../../mod/new_channel.php:111
+#: ../../mod/new_channel.php:113
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
msgstr "Eksempel: \"Ola Nordmann\", \"Lisa og hestene hennes\", \"Fotball\", \"Sykkelgruppa\""
-#: ../../mod/new_channel.php:112
+#: ../../mod/new_channel.php:114
msgid "Choose a short nickname"
msgstr "Velg et kort kallenavn"
-#: ../../mod/new_channel.php:113
+#: ../../mod/new_channel.php:115
msgid ""
"Your nickname will be used to create an easily remembered channel address "
"(like an email address) which you can share with others."
msgstr "Ditt kallenavn brukes til å lage en kanaladresse som er enkel å huske (minner om en e-postadresse) og som du kan dele med andre."
-#: ../../mod/new_channel.php:114
+#: ../../mod/new_channel.php:116
msgid "Or <a href=\"import\">import an existing channel</a> from another location"
msgstr "Eller <a href=\"import\">importerer en eksisterende kanal</a> fra et annet sted."
-#: ../../mod/photos.php:77
-msgid "Page owner information could not be retrieved."
-msgstr "Informasjon om sideeier kunne ikke hentes."
-
-#: ../../mod/photos.php:97
-msgid "Album not found."
-msgstr "Albumet ble ikke funnet."
-
-#: ../../mod/photos.php:119 ../../mod/photos.php:669
-msgid "Delete Album"
-msgstr "Slett album"
-
-#: ../../mod/photos.php:159 ../../mod/photos.php:952
-msgid "Delete Photo"
-msgstr "Slett bilde"
-
-#: ../../mod/photos.php:453
-msgid "No photos selected"
-msgstr "Ingen bilder valgt"
-
-#: ../../mod/photos.php:500
-msgid "Access to this item is restricted."
-msgstr "Tilgang til dette elementet er begrenset."
-
-#: ../../mod/photos.php:574
-#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
-msgstr "Du har brukt %1$.2f Mbytes av %2$.2f Mbytes i bildelageret."
-
-#: ../../mod/photos.php:577
-#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
-msgstr "Du har brukt %1$.2f Mbytes av bildelageret."
-
-#: ../../mod/photos.php:596
-msgid "Upload Photos"
-msgstr "Last opp bilder"
-
-#: ../../mod/photos.php:600 ../../mod/photos.php:664
-msgid "New album name: "
-msgstr "Nytt albumnavn:"
-
-#: ../../mod/photos.php:601
-msgid "or existing album name: "
-msgstr "eller eksisterende albumnavn:"
-
-#: ../../mod/photos.php:602
-msgid "Do not show a status post for this upload"
-msgstr "Ikke lag et statusinnlegg for denne oppdateringen"
+#: ../../mod/new_channel.php:118
+msgid "Channel Type"
+msgstr "Kanaltype"
-#: ../../mod/photos.php:653 ../../mod/photos.php:675 ../../mod/photos.php:1124
-#: ../../mod/photos.php:1139
-msgid "Contact Photos"
-msgstr "Kontaktbilder"
-
-#: ../../mod/photos.php:679
-msgid "Edit Album"
-msgstr "Endre album"
-
-#: ../../mod/photos.php:685
-msgid "Show Newest First"
-msgstr "Vis nyeste først"
-
-#: ../../mod/photos.php:687
-msgid "Show Oldest First"
-msgstr "Vis eldste først"
-
-#: ../../mod/photos.php:730 ../../mod/photos.php:1171
-msgid "View Photo"
-msgstr "Vis foto"
-
-#: ../../mod/photos.php:776
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Tillatelse avvist. Tilgang til dette elementet kan være begrenset."
-
-#: ../../mod/photos.php:778
-msgid "Photo not available"
-msgstr "Bilde er utilgjengelig"
-
-#: ../../mod/photos.php:838
-msgid "Use as profile photo"
-msgstr "Bruk som profilbilde"
-
-#: ../../mod/photos.php:862
-msgid "View Full Size"
-msgstr "Vis i full størrelse"
-
-#: ../../mod/photos.php:936
-msgid "Edit photo"
-msgstr "Endre bilde"
-
-#: ../../mod/photos.php:938
-msgid "Rotate CW (right)"
-msgstr "Roter med klokka (mot høyre)"
-
-#: ../../mod/photos.php:939
-msgid "Rotate CCW (left)"
-msgstr "Roter mot klokka (venstre)"
-
-#: ../../mod/photos.php:941
-msgid "New album name"
-msgstr "Nytt albumnavn"
-
-#: ../../mod/photos.php:944
-msgid "Caption"
-msgstr "Overskrift"
-
-#: ../../mod/photos.php:946
-msgid "Add a Tag"
-msgstr "Legg til merkelapp"
-
-#: ../../mod/photos.php:949
+#: ../../mod/new_channel.php:119
msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr "Eksempel: @ola, @Kari_Nordmann, @jim@example.com, #Norge, #telttur"
+"Please choose a channel type (such as social networking or community forum) "
+"and privacy requirements so we can select the best permissions for you"
+msgstr "Vennligst velg en kanaltype (for eksempel sosialt nettverk eller forum for felleskap) og krav til personvern slik at vi kan velge de beste tillatelsene for deg."
-#: ../../mod/photos.php:1102
-msgid "In This Photo:"
-msgstr "I dette bildet:"
-
-#: ../../mod/photos.php:1177
-msgid "View Album"
-msgstr "Vis album"
+#: ../../mod/home.php:46
+msgid "Red Matrix - &quot;The Network&quot;"
+msgstr "Red Matrix - &quot;Nettverket&quot;"
-#: ../../mod/photos.php:1186
-msgid "Recent Photos"
-msgstr "Nye bilder"
+#: ../../mod/home.php:101
+#, php-format
+msgid "Welcome to %s"
+msgstr "Velkommen til %s"
#: ../../mod/notifications.php:26
msgid "Invalid request identifier."
@@ -7379,6 +7893,14 @@ msgstr "Ingen flere systemvarsler."
msgid "System Notifications"
msgstr "Systemvarsler"
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
+msgstr "Xchan oppslag"
+
+#: ../../mod/xchan.php:9
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Slå opp xchan som begynner med (eller webbie):"
+
#: ../../mod/oexchange.php:23
msgid "Unable to find your hub."
msgstr "Ikke i stand til å finne hubben din."
@@ -7391,10 +7913,6 @@ msgstr "Innlegg vellykket."
msgid "invalid target signature"
msgstr "MÃ¥lets signatur er ugyldig"
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "OpenID protokollfeil. Ingen ID ble returnert."
-
#: ../../mod/appman.php:28 ../../mod/appman.php:44
msgid "App installed."
msgstr "App installert."
@@ -7443,10 +7961,50 @@ msgstr "Pris på app"
msgid "Location (URL) to purchase app"
msgstr "Plassering (URL) for å kjøpe app"
+#: ../../mod/poll.php:64
+msgid "Poll"
+msgstr "Spørring"
+
+#: ../../mod/poll.php:69
+msgid "View Results"
+msgstr "Vis resultater"
+
+#: ../../mod/removeaccount.php:30
+msgid ""
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Sletting av kontoer er ikke tillatt innen 48 timer etter endring av kontopassordet."
+
+#: ../../mod/removeaccount.php:57
+msgid "Remove This Account"
+msgstr "Slett denne kontoen"
+
+#: ../../mod/removeaccount.php:58
+msgid ""
+"This will completely remove this account including all its channels from the"
+" network. Once this has been done it is not recoverable."
+msgstr "Dette vil fullstendig slette denne kontoen inkludert alle dens kanaler fra nettverket. NÃ¥r dette er gjort kan det ikke angres."
+
+#: ../../mod/removeaccount.php:60
+msgid ""
+"Remove this account, all its channels and all its channel clones from the "
+"network"
+msgstr "Slett denne kontoen, alle dens kanaler og alle dens kanalkloner fra dette nettverket"
+
+#: ../../mod/removeaccount.php:60
+msgid ""
+"By default only the instances of the channels located on this hub will be "
+"removed from the network"
+msgstr "Som standard vil bare forekomster av kanalene lokalisert på denne hubben bli slettet fra nettverket"
+
+#: ../../mod/service_limits.php:19
+msgid "No service class restrictions found."
+msgstr "Ingen restriksjoner er funnet i tjenesteklasse."
+
#: ../../view/theme/apw/php/config.php:202
#: ../../view/theme/apw/php/config.php:236
msgid "Schema Default"
-msgstr "Standardskjema"
+msgstr "Standard skjema"
#: ../../view/theme/apw/php/config.php:203
msgid "Sans-Serif"
@@ -7479,7 +8037,7 @@ msgstr "Angi skrifttype"
#: ../../view/theme/apw/php/config.php:263
msgid "Set iconset"
-msgstr "Angi ikonsett"
+msgstr "Angi ikonutvalg"
#: ../../view/theme/apw/php/config.php:264
msgid "Set big shadow size, default 15px 15px 15px"
@@ -7490,12 +8048,12 @@ msgid "Set small shadow size, default 5px 5px 5px"
msgstr "Angi liten skyggestørrelse, standard 5px 5px 5px"
#: ../../view/theme/apw/php/config.php:266
-msgid "Set shadow colour, default #000"
+msgid "Set shadow color, default #000"
msgstr "Angi skyggefarge, standard #000"
#: ../../view/theme/apw/php/config.php:267
msgid "Set radius size, default 5px"
-msgstr "Angi størrelsen på radius, standard 5px"
+msgstr "Angi radiusstørrelse, standard 5px"
#: ../../view/theme/apw/php/config.php:268
msgid "Set line-height for posts and comments"
@@ -7510,39 +8068,39 @@ msgid "Set background attachment"
msgstr "Angi bakgrunnsvedlegg"
#: ../../view/theme/apw/php/config.php:271
-msgid "Set background colour"
-msgstr "Angi bakgrunnsbilde"
+msgid "Set background color"
+msgstr "Angi bakgrunnsfarge"
#: ../../view/theme/apw/php/config.php:272
msgid "Set section background image"
msgstr "Angi seksjonens bakgrunnsbilde"
#: ../../view/theme/apw/php/config.php:273
-msgid "Set section background colour"
+msgid "Set section background color"
msgstr "Angi seksjonens bakgrunnsfarge"
#: ../../view/theme/apw/php/config.php:274
-msgid "Set colour of items - use hex"
+msgid "Set color of items - use hex"
msgstr "Angi fargen til elementer - bruk hex"
#: ../../view/theme/apw/php/config.php:275
-msgid "Set colour of links - use hex"
+msgid "Set color of links - use hex"
msgstr "Angi fargen til lenker - bruk hex"
#: ../../view/theme/apw/php/config.php:276
msgid "Set max-width for items. Default 400px"
-msgstr "Angi største bredde for elementer. Standard 400px."
+msgstr "Angi maksimal bredde for elementer. Standard 400px"
#: ../../view/theme/apw/php/config.php:277
msgid "Set min-width for items. Default 240px"
-msgstr "Angi minste bredde for elementer. Standard 240px."
+msgstr "Angi minimumsbredde for elementer. Standard 240px"
#: ../../view/theme/apw/php/config.php:278
msgid "Set the generic content wrapper width. Default 48%"
-msgstr "Angi bredden til den generelle innholdsinnpakningen. Standard 48%"
+msgstr "Angi den generelle bredden for innpakking av innhold. Standard 48%"
#: ../../view/theme/apw/php/config.php:279
-msgid "Set colour of fonts - use hex"
+msgid "Set color of fonts - use hex"
msgstr "Angi skriftfargen - bruk hex"
#: ../../view/theme/apw/php/config.php:280
@@ -7551,7 +8109,7 @@ msgstr "Angi størrelsen på bakgrunnselementet"
#: ../../view/theme/apw/php/config.php:281
msgid "Item opacity"
-msgstr "Elementets dekkevne"
+msgstr "Elementers dekkevne"
#: ../../view/theme/apw/php/config.php:282
msgid "Display post previews only"
@@ -7563,7 +8121,7 @@ msgstr "Vis sidestolpe på kanalsiden"
#: ../../view/theme/apw/php/config.php:284
msgid "Colour of the navigation bar"
-msgstr "Fargen til navigasjonslinjen"
+msgstr "Fargen på navigasjonslinjen"
#: ../../view/theme/apw/php/config.php:285
msgid "Item float"
@@ -7604,52 +8162,56 @@ msgstr "Topptekstbilde"
msgid "Header image only on profile pages"
msgstr "Topptekstbilde bare på profilsider"
+#: ../../view/theme/redbasic/php/config.php:84
+msgid "Light (Red Matrix default)"
+msgstr "Lys (Red Matrix standard)"
+
#: ../../view/theme/redbasic/php/config.php:104
msgid "Narrow navbar"
msgstr "Smal navigasjonslinje"
#: ../../view/theme/redbasic/php/config.php:105
-msgid "Navigation bar background colour"
+msgid "Navigation bar background color"
msgstr "Navigasjonslinjens bakgrunnsfarge"
#: ../../view/theme/redbasic/php/config.php:106
-msgid "Navigation bar gradient top colour"
+msgid "Navigation bar gradient top color"
msgstr "Navigasjonslinjens graderte toppfarge"
#: ../../view/theme/redbasic/php/config.php:107
-msgid "Navigation bar gradient bottom colour"
+msgid "Navigation bar gradient bottom color"
msgstr "Navigasjonslinjens graderte bunnfarge"
#: ../../view/theme/redbasic/php/config.php:108
-msgid "Navigation active button gradient top colour"
+msgid "Navigation active button gradient top color"
msgstr "Aktiv navigasjonsknapp sin graderte toppfarge"
#: ../../view/theme/redbasic/php/config.php:109
-msgid "Navigation active button gradient bottom colour"
+msgid "Navigation active button gradient bottom color"
msgstr "Aktiv navigasjonsknapp sin graderte bunnfarge"
#: ../../view/theme/redbasic/php/config.php:110
-msgid "Navigation bar border colour "
+msgid "Navigation bar border color "
msgstr "Navigasjonslinjens kantfarge"
#: ../../view/theme/redbasic/php/config.php:111
-msgid "Navigation bar icon colour "
+msgid "Navigation bar icon color "
msgstr "Navigasjonslinjens ikonfarge"
#: ../../view/theme/redbasic/php/config.php:112
-msgid "Navigation bar active icon colour "
+msgid "Navigation bar active icon color "
msgstr "Navigasjonslinjens aktive ikoners farge"
#: ../../view/theme/redbasic/php/config.php:113
-msgid "link colour"
+msgid "link color"
msgstr "lenkefarge"
#: ../../view/theme/redbasic/php/config.php:114
-msgid "Set font-colour for banner"
+msgid "Set font-color for banner"
msgstr "Angi skriftfargen for banneret"
#: ../../view/theme/redbasic/php/config.php:115
-msgid "Set the background colour"
+msgid "Set the background color"
msgstr "Angi bakgrunnsfargen"
#: ../../view/theme/redbasic/php/config.php:116
@@ -7657,15 +8219,15 @@ msgid "Set the background image"
msgstr "Angi bakgrunnsbilde"
#: ../../view/theme/redbasic/php/config.php:117
-msgid "Set the background colour of items"
+msgid "Set the background color of items"
msgstr "Angi bakgrunnsfargen til elementer"
#: ../../view/theme/redbasic/php/config.php:118
-msgid "Set the background colour of comments"
+msgid "Set the background color of comments"
msgstr "Angi bakgrunnsfargen til kommentarer"
#: ../../view/theme/redbasic/php/config.php:119
-msgid "Set the border colour of comments"
+msgid "Set the border color of comments"
msgstr "Angi kantfargen til kommentarer"
#: ../../view/theme/redbasic/php/config.php:120
@@ -7673,11 +8235,11 @@ msgid "Set the indent for comments"
msgstr "Angi innrykket til kommentarer"
#: ../../view/theme/redbasic/php/config.php:121
-msgid "Set the basic colour for item icons"
+msgid "Set the basic color for item icons"
msgstr "Angi grunnfargen for elementikoner"
#: ../../view/theme/redbasic/php/config.php:122
-msgid "Set the hover colour for item icons"
+msgid "Set the hover color for item icons"
msgstr "Angi fargen til elementikoner ved berøring"
#: ../../view/theme/redbasic/php/config.php:123
@@ -7685,7 +8247,7 @@ msgid "Set font-size for the entire application"
msgstr "Angi skriftstørrelsen for hele programmet"
#: ../../view/theme/redbasic/php/config.php:125
-msgid "Set font-colour for posts and comments"
+msgid "Set font-color for posts and comments"
msgstr "Angi skriftfargen for innlegg og kommentarer"
#: ../../view/theme/redbasic/php/config.php:126
@@ -7724,41 +8286,41 @@ msgstr "Slurvete fotoalbum"
msgid "Are you a clean desk or a messy desk person?"
msgstr "Er du en person med ryddig arbeidsbord eller et rotete arbeidsbord?"
-#: ../../boot.php:1265
+#: ../../boot.php:1293
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Oppdatering %s mislyktes. Se feilloggen."
-#: ../../boot.php:1268
+#: ../../boot.php:1296
#, php-format
msgid "Update Error at %s"
msgstr "Oppdateringsfeil ved %s"
-#: ../../boot.php:1432
+#: ../../boot.php:1463
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr "Lag en konto for å få tilgang til tjenester og programmer i Red Matrix"
-#: ../../boot.php:1460
+#: ../../boot.php:1489
msgid "Password"
msgstr "Passord"
-#: ../../boot.php:1461
+#: ../../boot.php:1490
msgid "Remember me"
msgstr "Husk meg"
-#: ../../boot.php:1466
+#: ../../boot.php:1493
msgid "Forgot your password?"
msgstr "Glemt passordet ditt?"
-#: ../../boot.php:1531
+#: ../../boot.php:1567
msgid "permission denied"
msgstr "tillatelse avvist"
-#: ../../boot.php:1532
+#: ../../boot.php:1568
msgid "Got Zot?"
msgstr "Har du Zot?"
-#: ../../boot.php:1962
+#: ../../boot.php:2030
msgid "toggle mobile"
msgstr "Skru på mobil"
diff --git a/view/nb-no/strings.php b/view/nb-no/strings.php
index fe770c326..45172963c 100644
--- a/view/nb-no/strings.php
+++ b/view/nb-no/strings.php
@@ -7,16 +7,6 @@ function string_plural_select_nb_no($n){
;
$a->strings["Cannot locate DNS info for database server '%s'"] = "Kan ikke finne DNS-informasjon om databasetjener '%s'";
$a->strings["Profile Photos"] = "Profilbilder";
-$a->strings["Image/photo"] = "Bilde/fotografi";
-$a->strings["Encrypted content"] = "Kryptert innhold";
-$a->strings["QR code"] = "QR-kode";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s skrev følgende %2\$s %3\$s";
-$a->strings["post"] = "innlegg";
-$a->strings["$1 wrote:"] = "$1 skrev:";
-$a->strings["Embedded content"] = "Innebygget innhold";
-$a->strings["Embedding disabled"] = "Innbygging avskrudd";
-$a->strings["created a new post"] = "laget et nytt innlegg";
-$a->strings["commented on %s's post"] = "kommenterte på %s sitt innlegg";
$a->strings["photo"] = "foto";
$a->strings["event"] = "hendelse";
$a->strings["channel"] = "kanal";
@@ -31,7 +21,8 @@ $a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s er %2\$s";
$a->strings["Select"] = "Velg";
$a->strings["Delete"] = "Slett";
$a->strings["Private Message"] = "Privat melding";
-$a->strings["Message is verified"] = "Innlegg er bekreftet";
+$a->strings["Message signature validated"] = "Innleggets signatur er bekreftet";
+$a->strings["Message signature incorrect"] = "Innleggets signatur er feil";
$a->strings["View %s's profile @ %s"] = "Vis %s sin profile @ %s";
$a->strings["Categories:"] = "Kategorier:";
$a->strings["Filed under:"] = "Sortert under:";
@@ -49,9 +40,11 @@ $a->strings["View Status"] = "Vis status";
$a->strings["View Profile"] = "Vis profil";
$a->strings["View Photos"] = "Vis bilder";
$a->strings["Matrix Activity"] = "Matrix-aktivitet";
+$a->strings["Connect"] = "Koble";
$a->strings["Edit Contact"] = "Endre kontakt";
$a->strings["Send PM"] = "Send privat melding";
$a->strings["Poke"] = "Prikk";
+$a->strings["Unknown"] = "Ukjent";
$a->strings["%s likes this."] = "%s liker dette.";
$a->strings["%s doesn't like this."] = "%s liker ikke dette.";
$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
@@ -132,6 +125,15 @@ $a->strings["Bookmarks"] = "Bokmerker";
$a->strings["Saved Bookmarks"] = "Lagrede bokmerker";
$a->strings["Webpages"] = "Websider";
$a->strings["Manage Webpages"] = "HÃ¥ndtere websider";
+$a->strings["created a new post"] = "laget et nytt innlegg";
+$a->strings["commented on %s's post"] = "kommenterte på %s sitt innlegg";
+$a->strings["Sort Options"] = "Sorteringsmuligheter";
+$a->strings["Alphabetic"] = "Alfabetisk";
+$a->strings["Reverse Alphabetic"] = "Omvendt alfabetisk";
+$a->strings["Newest to Oldest"] = "Nyest til eldst";
+$a->strings["Enable Safe Search"] = "Skru på Trygt søk";
+$a->strings["Disable Safe Search"] = "Skru av Trygt søk";
+$a->strings["Safe Mode"] = "Trygt modus";
$a->strings["New Page"] = "Ny side";
$a->strings["Edit"] = "Endre";
$a->strings["View"] = "Vis";
@@ -140,136 +142,102 @@ $a->strings["Page Link"] = "Sidelenke";
$a->strings["Title"] = "Tittel";
$a->strings["Created"] = "Laget";
$a->strings["Edited"] = "Endret";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn.";
-$a->strings["Not a valid email address"] = "Ikke en gyldig e-postadresse";
-$a->strings["Your email domain is not among those allowed on this site"] = "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet";
-$a->strings["Your email address is already registered at this site."] = "Din e-postadresse er allerede registrert på dette nettstedet.";
-$a->strings["An invitation is required."] = "En invitasjon er påkrevd.";
-$a->strings["Invitation could not be verified."] = "Invitasjon kunne ikke bekreftes.";
-$a->strings["Please enter the required information."] = "Vennligst skriv inn nødvendig informasjon.";
-$a->strings["Failed to store account information."] = "Mislyktes med å lagre kontoinformasjon.";
-$a->strings["Registration request at %s"] = "Registreringsforespørsel hos %s";
-$a->strings["Administrator"] = "Administrator";
-$a->strings["your registration password"] = "ditt registreringspassord";
-$a->strings["Registration details for %s"] = "Registreringsdetaljer for %s";
-$a->strings["Account approved."] = "Konto godkjent.";
-$a->strings["Registration revoked for %s"] = "Registrering trukket tilbake for %s";
+$a->strings["Missing room name"] = "Mangler romnavn";
+$a->strings["Duplicate room name"] = "Duplikat romnavn";
+$a->strings["Invalid room specifier."] = "Ugyldig rom-spesifisering";
+$a->strings["Room not found."] = "Rommet ble ikke funnet.";
$a->strings["Permission denied."] = "Tillatelse avslått.";
-$a->strings["Image exceeds website size limit of %lu bytes"] = "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes";
-$a->strings["Image file is empty."] = "Bildefilen er tom.";
-$a->strings["Unable to process image"] = "Kan ikke behandle bildet";
-$a->strings["Photo storage failed."] = "Bildelagring mislyktes.";
-$a->strings["Upload New Photos"] = "Last opp nye bilder";
-$a->strings["Visible to everybody"] = "Synlig for alle";
-$a->strings["Show"] = "Vis";
-$a->strings["Don't show"] = "Ikke vis";
-$a->strings["Permissions"] = "Tillatelser";
-$a->strings["Close"] = "Lukk";
+$a->strings["Room is full"] = "Rommet er fullt";
+$a->strings["Embedded content"] = "Innebygget innhold";
+$a->strings["Embedding disabled"] = "Innbygging avskrudd";
+$a->strings["Categories"] = "Kategorier";
+$a->strings["Apps"] = "Apper";
+$a->strings["System"] = "System";
+$a->strings["Create Personal App"] = "Lag personlig app";
+$a->strings["Edit Personal App"] = "Endre personlig app";
+$a->strings["Ignore/Hide"] = "Ignorer/Skjul";
+$a->strings["Suggestions"] = "Forslag";
+$a->strings["See more..."] = "Se mer...";
+$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du har %1$.0f av %2$.0f tillate forbindelser.";
+$a->strings["Add New Connection"] = "Legg til ny forbindelse";
+$a->strings["Enter the channel address"] = "Skriv kanal-adressen";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Eksempel: ola.nordmann@eksempel.no, http://eksempel.no/karinordmann";
+$a->strings["Notes"] = "Merknader";
+$a->strings["Save"] = "Lagre";
+$a->strings["Remove term"] = "Fjern begrep";
+$a->strings["Saved Searches"] = "Lagrede søk";
+$a->strings["add"] = "legg til";
+$a->strings["Saved Folders"] = "Lagrede mapper";
+$a->strings["Everything"] = "Alt";
+$a->strings["Archives"] = "Arkiv";
+$a->strings["Refresh"] = "Forny";
+$a->strings["Me"] = "Meg";
+$a->strings["Best Friends"] = "Bestevenner";
+$a->strings["Friends"] = "Venner";
+$a->strings["Co-workers"] = "Medarbeidere";
+$a->strings["Former Friends"] = "Tidligere venner";
+$a->strings["Acquaintances"] = "Bekjente";
+$a->strings["Everybody"] = "Alle";
+$a->strings["Account settings"] = "Kontoinnstillinger";
+$a->strings["Channel settings"] = "Kanalinnstillinger";
+$a->strings["Additional features"] = "Tilleggsfunksjoner";
+$a->strings["Feature settings"] = "Funksjonsinnstillinger";
+$a->strings["Display settings"] = "Visningsinnstillinger";
+$a->strings["Connected apps"] = "Tilkoblede app-er";
+$a->strings["Export channel"] = "Eksporter kanal";
+$a->strings["Export content"] = "Eksporter innhold";
+$a->strings["Connection Default Permissions"] = "Forbindelsens standard tillatelser";
+$a->strings["Premium Channel Settings"] = "Premiumkanal-innstillinger";
+$a->strings["Channel Sources"] = "Kanalkilder";
+$a->strings["Settings"] = "Innstillinger";
+$a->strings["Messages"] = "Meldinger";
+$a->strings["Check Mail"] = "Sjekk meldinger";
+$a->strings["New Message"] = "Ny melding";
+$a->strings["Chat Rooms"] = "Chatrom";
+$a->strings["Bookmarked Chatrooms"] = "Bokmerkede chatrom";
+$a->strings["Suggested Chatrooms"] = "Foreslåtte chatrom";
+$a->strings["Invalid data packet"] = "Ugyldig datapakke";
+$a->strings["Unable to verify channel signature"] = "Ikke i stand til å sjekke kanalsignaturen";
+$a->strings["Unable to verify site signature for %s"] = "Ikke i stand til å bekrefte signaturen til %s";
$a->strings[" and "] = "og";
$a->strings["public profile"] = "offentlig profil";
$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s endret %2\$s til &ldquo;%3\$s&rdquo;";
$a->strings["Visit %1\$s's %2\$s"] = "Besøk %1\$s sitt %2\$s";
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s har oppdatert %2\$s, endret %3\$s.";
-$a->strings["Public Timeline"] = "Offentlig tidslinje";
-$a->strings["Item was not found."] = "Elementet ble ikke funnet.";
-$a->strings["No source file."] = "Ingen kildefil.";
-$a->strings["Cannot locate file to replace"] = "Kan ikke finne filen som skal byttes ut";
-$a->strings["Cannot locate file to revise/update"] = "Finner ikke filen som skal revideres/oppdateres";
-$a->strings["File exceeds size limit of %d"] = "Filens størrelse overgår grensen på %d";
-$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes.";
-$a->strings["File upload failed. Possible system limit or action terminated."] = "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt.";
-$a->strings["Stored file could not be verified. Upload failed."] = "Lagret fil kunne ikke bekreftes. Opplasting mislyktes.";
-$a->strings["Path not available."] = "Stien er ikke tilgjengelig.";
-$a->strings["Empty pathname"] = "Tomt sti-navn";
-$a->strings["duplicate filename or path"] = "duplikat av filnavn eller sti";
-$a->strings["Path not found."] = "Stien ble ikke funnet.";
-$a->strings["mkdir failed."] = "mkdir mislyktes.";
-$a->strings["database storage failed."] = "databaselagring mislyktes.";
+$a->strings["Attachments:"] = "Vedlegg:";
$a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
+$a->strings["Redmatrix event notification:"] = "RedMatrix hendelsesvarsling:";
$a->strings["Starts:"] = "Starter:";
$a->strings["Finishes:"] = "Slutter:";
$a->strings["Location:"] = "Plassering:";
-$a->strings["Logout"] = "Logg ut";
-$a->strings["End this session"] = "Avslutt denne økten";
-$a->strings["Home"] = "Hjem";
-$a->strings["Your posts and conversations"] = "Dine innlegg og samtaler";
-$a->strings["Your profile page"] = "Din profilside";
-$a->strings["Edit Profiles"] = "Endre profiler";
-$a->strings["Manage/Edit profiles"] = "HÃ¥ndter/endre profiler";
-$a->strings["Your photos"] = "Dine bilder";
-$a->strings["Your files"] = "Dine filer";
-$a->strings["Chat"] = "Chat";
-$a->strings["Your chatrooms"] = "Dine chatterom";
-$a->strings["Your bookmarks"] = "Dine bokmerker";
-$a->strings["Your webpages"] = "Dine websider";
-$a->strings["Login"] = "Logg inn";
-$a->strings["Sign in"] = "Logg på";
-$a->strings["%s - click to logout"] = "%s - klikk for å logge ut";
-$a->strings["Click to authenticate to your home hub"] = "Klikk for å godkjennes mot din hjemme-hub";
-$a->strings["Home Page"] = "Hjemmeside";
-$a->strings["Register"] = "Registrer";
-$a->strings["Create an account"] = "Lag en konto";
-$a->strings["Help"] = "Hjelp";
-$a->strings["Help and documentation"] = "Hjelp og dokumentasjon";
-$a->strings["Apps"] = "Apper";
-$a->strings["Applications, utilities, links, games"] = "Programmer, verktøy, lenker, spill";
-$a->strings["Search"] = "Søk";
-$a->strings["Search site content"] = "Søk stedets innhold";
-$a->strings["Directory"] = "Katalog";
-$a->strings["Channel Locator"] = "Kanal-finner";
-$a->strings["Matrix"] = "Matrix";
-$a->strings["Your matrix"] = "Din matrix";
-$a->strings["Mark all matrix notifications seen"] = "Merk alle matrix-varsler som sett";
-$a->strings["Channel Home"] = "Kanalhjem";
-$a->strings["Channel home"] = "Kanalhjem";
-$a->strings["Mark all channel notifications seen"] = "Merk alle kanalvarsler som sett";
-$a->strings["Connections"] = "Forbindelser";
-$a->strings["Notices"] = "Varsel";
-$a->strings["Notifications"] = "Varsler";
-$a->strings["See all notifications"] = "Se alle varsler";
-$a->strings["Mark all system notifications seen"] = "Merk alle systemvarsler som sett";
-$a->strings["Mail"] = "Melding";
-$a->strings["Private mail"] = "Privat post";
-$a->strings["See all private messages"] = "Se alle private meldinger";
-$a->strings["Mark all private messages seen"] = "Merk alle private meldinger som sett";
-$a->strings["Inbox"] = "Innboks";
-$a->strings["Outbox"] = "Utboks";
-$a->strings["New Message"] = "Ny melding";
-$a->strings["Events"] = "Hendelser";
-$a->strings["Event Calendar"] = "Kalender";
-$a->strings["See all events"] = "Se alle hendelser";
-$a->strings["Mark all events seen"] = "Merk alle hendelser som sett";
-$a->strings["Channel Select"] = "Kanaler";
-$a->strings["Manage Your Channels"] = "HÃ¥ndter dine kanaler";
-$a->strings["Settings"] = "Innstillinger";
-$a->strings["Account/Channel Settings"] = "Konto-/kanal-innstillinger";
-$a->strings["Admin"] = "Administrator";
-$a->strings["Site Setup and Configuration"] = "Nettstedsoppsett og -konfigurasjon";
-$a->strings["Nothing new here"] = "Ikke noe nytt her";
-$a->strings["Please wait..."] = "Vennligst vent...";
+$a->strings["parent"] = "opp et nivå";
+$a->strings["Collection"] = "Samling";
+$a->strings["Principal"] = "Viktigste";
+$a->strings["Addressbook"] = "Adressebok";
+$a->strings["Calendar"] = "Kalender";
+$a->strings["Schedule Inbox"] = "Tidsplan innboks";
+$a->strings["Schedule Outbox"] = "Tidsplan utboks";
+$a->strings["%1\$s used"] = "%1\$s brukt";
+$a->strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s brukt av %2\$s (%3\$s&#37;)";
+$a->strings["Name"] = "Navn";
+$a->strings["Type"] = "Type";
+$a->strings["Size"] = "Størrelse";
+$a->strings["Last Modified"] = "Sist endret";
+$a->strings["Total"] = "Totalt";
+$a->strings["Create new folder"] = "Lag ny mappe";
+$a->strings["Create"] = "Lag";
+$a->strings["Upload file"] = "Last opp fil";
+$a->strings["Upload"] = "Last opp";
$a->strings["%1\$s's bookmarks"] = "%1\$s sine bokmerker";
-$a->strings["Missing room name"] = "Mangler romnavn";
-$a->strings["Duplicate room name"] = "Duplikat romnavn";
-$a->strings["Invalid room specifier."] = "Ugyldig rom-spesifisering";
-$a->strings["Room not found."] = "Rommet ble ikke funnet.";
-$a->strings["Room is full"] = "Rommet er fullt";
-$a->strings["Tags"] = "Merkelapper";
-$a->strings["Keywords"] = "Nøkkelord";
-$a->strings["have"] = "har";
-$a->strings["has"] = "har";
-$a->strings["want"] = "ønsker";
-$a->strings["wants"] = "ønsker";
-$a->strings["like"] = "liker";
-$a->strings["likes"] = "liker";
-$a->strings["dislike"] = "misliker";
-$a->strings["dislikes"] = "misliker";
+$a->strings["Channel is blocked on this site."] = "Kanalen er blokkert på dette nettstedet.";
+$a->strings["Channel location missing."] = "Kanalplassering mangler.";
+$a->strings["Response from remote channel was incomplete."] = "Svaret fra den andre kanalen var ikke komplett.";
+$a->strings["Channel was deleted and no longer exists."] = "Kanalen er slettet og finnes ikke lenger.";
+$a->strings["Protocol disabled."] = "Protokollen er avskrudd.";
+$a->strings["Channel discovery failed."] = "Kanaloppdagelse mislyktes.";
+$a->strings["local account not found."] = "lokal konto ble ikke funnet.";
+$a->strings["Cannot connect to yourself."] = "Kan ikke lage forbindelse med deg selv.";
$a->strings["Default"] = "Standard";
-$a->strings["Unknown | Not categorised"] = "Ukjent | Ikke kategorisert";
-$a->strings["Block immediately"] = "Blokker umiddelbart";
-$a->strings["Shady, spammer, self-marketer"] = "Lyssky, utsender av søppelpost, egenkampanje";
-$a->strings["Known to me, but no opinion"] = "Bekjent av meg, men jeg er uten mening";
-$a->strings["OK, probably harmless"] = "OK, antakelig harmløs";
-$a->strings["Reputable, has my trust"] = "Hederlig, har min tillit";
$a->strings["Frequently"] = "Ofte";
$a->strings["Hourly"] = "Hver time";
$a->strings["Twice daily"] = "To ganger daglig";
@@ -299,45 +267,12 @@ $a->strings["Find"] = "Finn";
$a->strings["Channel Suggestions"] = "Kanalforslag";
$a->strings["Random Profile"] = "Tilfeldig profil";
$a->strings["Invite Friends"] = "Inviter venner";
-$a->strings["Exammple: name=fred and country=iceland"] = "Eksempel: name=fred og country=iceland";
-$a->strings["Advanced Find"] = "Avansert finn";
-$a->strings["Saved Folders"] = "Lagrede mapper";
-$a->strings["Everything"] = "Alt";
-$a->strings["Categories"] = "Kategorier";
+$a->strings["Advanced example: name=fred and country=iceland"] = "Avansert eksempel: navn=fred og land=island";
$a->strings["%d connection in common"] = array(
0 => "%d forbindelse felles",
1 => "%d forbindelser felles",
);
$a->strings["show more"] = "vis mer";
-$a->strings["This event has been added to your calendar."] = "Denne hendelsen er lagt til i din kalender.";
-$a->strings["Edit File properties"] = "Endre filegenskaper";
-$a->strings["Miscellaneous"] = "Forskjellig";
-$a->strings["year"] = "Ã¥r";
-$a->strings["month"] = "måned";
-$a->strings["day"] = "dag";
-$a->strings["never"] = "aldri";
-$a->strings["less than a second ago"] = "for mindre enn ett sekund siden";
-$a->strings["years"] = "Ã¥r";
-$a->strings["months"] = "måneder";
-$a->strings["week"] = "uke";
-$a->strings["weeks"] = "uker";
-$a->strings["days"] = "dager";
-$a->strings["hour"] = "time";
-$a->strings["hours"] = "timer";
-$a->strings["minute"] = "minutt";
-$a->strings["minutes"] = "minutter";
-$a->strings["second"] = "sekund";
-$a->strings["seconds"] = "sekunder";
-$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s siden";
-$a->strings["%1\$s's birthday"] = "%1\$s sin fødselsdag";
-$a->strings["Happy Birthday %1\$s"] = "Gratulerer med dagen, %1\$s !";
-$a->strings["Sort Options"] = "Sorteringsmuligheter";
-$a->strings["Alphabetic"] = "Alfabetisk";
-$a->strings["Reverse Alphabetic"] = "Omvendt alfabetisk";
-$a->strings["Newest to Oldest"] = "Nyest til eldst";
-$a->strings["Enable Safe Search"] = "Skru på Trygt søk";
-$a->strings["Disable Safe Search"] = "Skru av Trygt søk";
-$a->strings["Safe Mode"] = "Trygt modus";
$a->strings["Red Matrix Notification"] = "Red Matrix-varsling";
$a->strings["redmatrix"] = "redmatrix";
$a->strings["Thank You,"] = "Tusen takk,";
@@ -377,15 +312,146 @@ $a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\
$a->strings["Name:"] = "Navn:";
$a->strings["Photo:"] = "Bilde:";
$a->strings["Please visit %s to approve or reject the suggestion."] = "Vennligst besøk %s for å godkjenne eller avslå dette forslaget.";
+$a->strings["[Red:Notify]"] = "[Red:Notify]";
+$a->strings["This event has been added to your calendar."] = "Denne hendelsen er lagt til i din kalender.";
+$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "En slettet gruppe med dette navnet ble gjenopprettet. Eksisterende tillatelser for elementet <strong>kan</strong> gjelde for denne gruppen og fremtidige medlemmer. Hvis du ønsket noe annet, vennligst lag en ny gruppe med et annet navn.";
+$a->strings["Default privacy group for new contacts"] = "Standard personverngruppe for nye kontakter";
+$a->strings["All Channels"] = "Alle kanaler";
+$a->strings["edit"] = "endre";
+$a->strings["Collections"] = "Samlinger";
+$a->strings["Edit collection"] = "Endre samling";
+$a->strings["Create a new collection"] = "Lag en ny samling";
+$a->strings["Channels not in any collection"] = "Kanaler som ikke er i noen samling";
+$a->strings["Image/photo"] = "Bilde/fotografi";
+$a->strings["Encrypted content"] = "Kryptert innhold";
+$a->strings["Install design element: "] = "Installer designelement:";
+$a->strings["QR code"] = "QR-kode";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s skrev følgende %2\$s %3\$s";
+$a->strings["post"] = "innlegg";
+$a->strings["$1 spoiler"] = "$1 avsløring";
+$a->strings["$1 wrote:"] = "$1 skrev:";
+$a->strings["Tags"] = "Merkelapper";
+$a->strings["Keywords"] = "Nøkkelord";
+$a->strings["have"] = "har";
+$a->strings["has"] = "har";
+$a->strings["want"] = "ønsker";
+$a->strings["wants"] = "ønsker";
+$a->strings["like"] = "liker";
+$a->strings["likes"] = "liker";
+$a->strings["dislike"] = "misliker";
+$a->strings["dislikes"] = "misliker";
+$a->strings["__ctx:noun__ Like"] = array(
+ 0 => "Liker",
+ 1 => "Liker",
+);
+$a->strings["Logout"] = "Logg ut";
+$a->strings["End this session"] = "Avslutt denne økten";
+$a->strings["Home"] = "Hjem";
+$a->strings["Your posts and conversations"] = "Dine innlegg og samtaler";
+$a->strings["Your profile page"] = "Din profilside";
+$a->strings["Edit Profiles"] = "Endre profiler";
+$a->strings["Manage/Edit profiles"] = "HÃ¥ndter/endre profiler";
+$a->strings["Edit Profile"] = "Endre profil";
+$a->strings["Edit your profile"] = "Endre din profil";
+$a->strings["Your photos"] = "Dine bilder";
+$a->strings["Your files"] = "Dine filer";
+$a->strings["Chat"] = "Chat";
+$a->strings["Your chatrooms"] = "Dine chatterom";
+$a->strings["Your bookmarks"] = "Dine bokmerker";
+$a->strings["Your webpages"] = "Dine websider";
+$a->strings["Login"] = "Logg inn";
+$a->strings["Sign in"] = "Logg på";
+$a->strings["%s - click to logout"] = "%s - klikk for å logge ut";
+$a->strings["Remote authentication"] = "Fjernautentisering";
+$a->strings["Click to authenticate to your home hub"] = "Klikk for å godkjennes mot din hjemme-hub";
+$a->strings["Home Page"] = "Hjemmeside";
+$a->strings["Register"] = "Registrer";
+$a->strings["Create an account"] = "Lag en konto";
+$a->strings["Help"] = "Hjelp";
+$a->strings["Help and documentation"] = "Hjelp og dokumentasjon";
+$a->strings["Applications, utilities, links, games"] = "Programmer, verktøy, lenker, spill";
+$a->strings["Search"] = "Søk";
+$a->strings["Search site content"] = "Søk stedets innhold";
+$a->strings["Directory"] = "Katalog";
+$a->strings["Channel Directory"] = "Kanalkatalog";
+$a->strings["Matrix"] = "Matrix";
+$a->strings["Your matrix"] = "Din matrix";
+$a->strings["Mark all matrix notifications seen"] = "Merk alle matrix-varsler som sett";
+$a->strings["Channel Home"] = "Kanalhjem";
+$a->strings["Channel home"] = "Kanalhjem";
+$a->strings["Mark all channel notifications seen"] = "Merk alle kanalvarsler som sett";
+$a->strings["Connections"] = "Forbindelser";
+$a->strings["Notices"] = "Varsel";
+$a->strings["Notifications"] = "Varsler";
+$a->strings["See all notifications"] = "Se alle varsler";
+$a->strings["Mark all system notifications seen"] = "Merk alle systemvarsler som sett";
+$a->strings["Mail"] = "Melding";
+$a->strings["Private mail"] = "Privat post";
+$a->strings["See all private messages"] = "Se alle private meldinger";
+$a->strings["Mark all private messages seen"] = "Merk alle private meldinger som sett";
+$a->strings["Inbox"] = "Innboks";
+$a->strings["Outbox"] = "Utboks";
+$a->strings["Events"] = "Hendelser";
+$a->strings["Event Calendar"] = "Kalender";
+$a->strings["See all events"] = "Se alle hendelser";
+$a->strings["Mark all events seen"] = "Merk alle hendelser som sett";
+$a->strings["Channel Manager"] = "Kanalstyring";
+$a->strings["Manage Your Channels"] = "HÃ¥ndter dine kanaler";
+$a->strings["Account/Channel Settings"] = "Konto-/kanal-innstillinger";
+$a->strings["Admin"] = "Administrator";
+$a->strings["Site Setup and Configuration"] = "Nettstedsoppsett og -konfigurasjon";
+$a->strings["Please wait..."] = "Vennligst vent...";
+$a->strings["Can view my normal stream and posts"] = "Kan se min normale strøm og innlegg";
+$a->strings["Can view my default channel profile"] = "Kan se min standard kanalprofil";
+$a->strings["Can view my photo albums"] = "Kan se mine fotoalbum";
+$a->strings["Can view my connections"] = "Kan se mine forbindelser";
+$a->strings["Can view my file storage"] = "Kan se mitt fillager";
+$a->strings["Can view my webpages"] = "Kan se mine websider";
+$a->strings["Can send me their channel stream and posts"] = "Kan sende meg deres kanalstrøm og innlegg";
+$a->strings["Can post on my channel page (\"wall\")"] = "Kan lage innlegg på min kanalside (\"vegg\")";
+$a->strings["Can comment on or like my posts"] = "Kan kommentere på eller like mine innlegg";
+$a->strings["Can send me private mail messages"] = "Kan sende meg private meldinger";
+$a->strings["Can post photos to my photo albums"] = "Kan legge inn bilder i mine fotoalbum";
+$a->strings["Can like/dislike stuff"] = "Kan like/ikke like forskjellige greier";
+$a->strings["Profiles and things other than posts/comments"] = "Profiler og andre ting enn innlegg/kommentarer";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan videresende til alle mine kanalkontakter via @navn i innlegg";
+$a->strings["Advanced - useful for creating group forum channels"] = "Avansert - nyttig for å lage forumkanaler for grupper";
+$a->strings["Can chat with me (when available)"] = "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)";
+$a->strings["Can write to my file storage"] = "Kan skrive til mitt fillager";
+$a->strings["Can edit my webpages"] = "Kan endre mine websider";
+$a->strings["Can source my public posts in derived channels"] = "Kan bruke mine offentlige innlegg som kanalkilde i egne kanaler";
+$a->strings["Somewhat advanced - very useful in open communities"] = "Litt avansert - svært nyttig i åpne fellesskap";
+$a->strings["Can administer my channel resources"] = "Kan administrere mine kanalressurser";
+$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Ekstremt avansert. La dette være med mindre du vet hva du gjør";
+$a->strings["Social Networking"] = "Sosialt nettverk";
+$a->strings["Mostly Public"] = "Ganske offentlig";
+$a->strings["Restricted"] = "Begrenset";
+$a->strings["Private"] = "Privat";
+$a->strings["Community Forum"] = "Forum for fellesskap";
+$a->strings["Feed Republish"] = "Republisering av strømmet innhold";
+$a->strings["Special Purpose"] = "Spesiell bruk";
+$a->strings["Celebrity/Soapbox"] = "Kjendis/Talerstol";
+$a->strings["Group Repository"] = "Gruppelager";
+$a->strings["Other"] = "Annen";
+$a->strings["Custom/Expert Mode"] = "Tilpasset/Ekspertmodus";
+$a->strings["New window"] = "Nytt vindu";
+$a->strings["Open the selected location in a different window or browser tab"] = "Ã…pne det valgte stedet i et annet vindu eller nettleser-fane";
+$a->strings["User '%s' deleted"] = "Brukeren '%s' er slettet";
$a->strings["General Features"] = "Generelle funksjoner";
$a->strings["Content Expiration"] = "Innholdet utløper";
$a->strings["Remove posts/comments and/or private messages at a future time"] = "Fjern innlegg/kommentarer og/eller private meldinger på et angitt tidspunkt i fremtiden";
$a->strings["Multiple Profiles"] = "Flere profiler";
$a->strings["Ability to create multiple profiles"] = "Mulig å lage flere profiler";
+$a->strings["Advanced Profiles"] = "Avanserte profiler";
+$a->strings["Additional profile sections and selections"] = "Ytterlige seksjoner og utvalg til profilen";
+$a->strings["Profile Import/Export"] = "Profil-import/-eksport";
+$a->strings["Save and load profile details across sites/channels"] = "Lagre og åpne profildetaljer på tvers av nettsteder/kanaler";
$a->strings["Web Pages"] = "Web-sider";
$a->strings["Provide managed web pages on your channel"] = "Tilby kontrollerte web-sider på din kanal";
$a->strings["Private Notes"] = "Private merknader";
$a->strings["Enables a tool to store notes and reminders"] = "Skrur på et verktøy for lagre merknader og påminnelser";
+$a->strings["Navigation Channel Select"] = "Navigasjon kanalvalg";
+$a->strings["Change channels directly from within the navigation dropdown menu"] = "Endre kanaler direkte fra navigasjonsmenyen";
$a->strings["Extended Identity Sharing"] = "Utvidet identitetsdeling";
$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Del din identiet med alle nettsteder på Internett. Når denne er avskrudd, deles identiteten bare med nettsteder i matrix.";
$a->strings["Expert Mode"] = "Ekspertmodus";
@@ -393,11 +459,10 @@ $a->strings["Enable Expert Mode to provide advanced configuration options"] = "S
$a->strings["Premium Channel"] = "Premiumkanal";
$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Lar deg angi restriksjoner og betingelser for de som kobler seg til din kanal";
$a->strings["Post Composition Features"] = "Funksjoner for å lage innlegg";
-$a->strings["Richtext Editor"] = "Riktekst redigeringsverktøy";
-$a->strings["Enable richtext editor"] = "Skru på redigeringverktøy for riktekst";
+$a->strings["Use Markdown"] = "Bruk Markdown";
+$a->strings["Allow use of \"Markdown\" to format posts"] = "Tillat bruk av \"Markdown\" til formatering av innlegg";
$a->strings["Post Preview"] = "Forhåndsvisning av innlegg";
$a->strings["Allow previewing posts and comments before publishing them"] = "Tillat forhåndsvisning av innlegg og kommentarer før publisering";
-$a->strings["Channel Sources"] = "Kanalkilder";
$a->strings["Automatically import channel content from other channels or feeds"] = "Automatisk import av kanalinnhold fra andre kanaler eller strømmer";
$a->strings["Even More Encryption"] = "Enda mer kryptering";
$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Tillat valgfri kryptering av innhold ende-til-ende via en delt hemmelig nøkkel";
@@ -406,7 +471,6 @@ $a->strings["Search by Date"] = "Søk etter dato";
$a->strings["Ability to select posts by date ranges"] = "Mulighet for å velge innlegg etter datoområde";
$a->strings["Collections Filter"] = "Filter for samlinger";
$a->strings["Enable widget to display Network posts only from selected collections"] = "Skru på miniprogram for å vise Nettverksinnlegg bare fra valgte samlinger";
-$a->strings["Saved Searches"] = "Lagrede søk";
$a->strings["Save search terms for re-use"] = "Lagre søkeuttrykk for senere bruk";
$a->strings["Network Personal Tab"] = "Nettverk personlig fane";
$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Skru på fane for å bare vise Nettverksinnlegg som du har deltatt i";
@@ -430,22 +494,24 @@ $a->strings["Star Posts"] = "Stjerneinnlegg";
$a->strings["Ability to mark special posts with a star indicator"] = "Mulighet til å merke spesielle innlegg med en stjerne";
$a->strings["Tag Cloud"] = "Merkelappsky";
$a->strings["Provide a personal tag cloud on your channel page"] = "Tilby en personlig merkelappsky på din kanalside";
-$a->strings["Channel is blocked on this site."] = "Kanalen er blokkert på dette nettstedet.";
-$a->strings["Channel location missing."] = "Kanalplassering mangler.";
-$a->strings["Response from remote channel was incomplete."] = "Svaret fra den andre kanalen var ikke komplett.";
-$a->strings["Channel was deleted and no longer exists."] = "Kanalen er slettet og finnes ikke lenger.";
-$a->strings["Channel discovery failed."] = "Kanaloppdagelse mislyktes.";
-$a->strings["local account not found."] = "lokal konto ble ikke funnet.";
-$a->strings["Cannot connect to yourself."] = "Kan ikke lage forbindelse med deg selv.";
-$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "En slettet gruppe med dette navnet ble gjenopprettet. Eksisterende tillatelser for elementet <strong>kan</strong> gjelde for denne gruppen og fremtidige medlemmer. Hvis du ønsket noe annet, vennligst lag en ny gruppe med et annet navn.";
-$a->strings["Default privacy group for new contacts"] = "Standard personverngruppe for nye kontakter";
-$a->strings["All Channels"] = "Alle kanaler";
-$a->strings["edit"] = "endre";
-$a->strings["Collections"] = "Samlinger";
-$a->strings["Edit collection"] = "Endre samling";
-$a->strings["Create a new collection"] = "Lag en ny samling";
-$a->strings["Channels not in any collection"] = "Kanaler som ikke er i noen samling";
-$a->strings["add"] = "legg til";
+$a->strings["Not a valid email address"] = "Ikke en gyldig e-postadresse";
+$a->strings["Your email domain is not among those allowed on this site"] = "Ditt e-postdomene er ikke blant de som er tillatt på dette stedet";
+$a->strings["Your email address is already registered at this site."] = "Din e-postadresse er allerede registrert på dette nettstedet.";
+$a->strings["An invitation is required."] = "En invitasjon er påkrevd.";
+$a->strings["Invitation could not be verified."] = "Invitasjon kunne ikke bekreftes.";
+$a->strings["Please enter the required information."] = "Vennligst skriv inn nødvendig informasjon.";
+$a->strings["Failed to store account information."] = "Mislyktes med å lagre kontoinformasjon.";
+$a->strings["Registration confirmation for %s"] = "Registreringsbekreftelse for %s";
+$a->strings["Registration request at %s"] = "Registreringsforespørsel hos %s";
+$a->strings["Administrator"] = "Administrator";
+$a->strings["your registration password"] = "ditt registreringspassord";
+$a->strings["Registration details for %s"] = "Registreringsdetaljer for %s";
+$a->strings["Account approved."] = "Konto godkjent.";
+$a->strings["Registration revoked for %s"] = "Registrering trukket tilbake for %s";
+$a->strings["Account verified. Please login."] = "Konto bekreftet. Vennligst logg inn.";
+$a->strings["Click here to upgrade."] = "Klikk her for å oppgradere.";
+$a->strings["This action exceeds the limits set by your subscription plan."] = "Denne handlingen går utenfor grensene satt i din abonnementsplan.";
+$a->strings["This action is not available under your subscription plan."] = "Denne handlingen er ikke tilgjengelig i din abonnementsplan.";
$a->strings["Unable to obtain identity information from database"] = "Klarer ikke å få tak i identitetsinformasjon fra databasen";
$a->strings["Empty name"] = "Mangler navn";
$a->strings["Name too long"] = "Navnet er for langt";
@@ -455,15 +521,12 @@ $a->strings["Reserved nickname. Please choose another."] = "Reservert kallenavn.
$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Kallenavnet inneholder tegn som ikke er støttet eller det er allerede i bruk på dette nettstedet.";
$a->strings["Unable to retrieve created identity"] = "Klarer ikke å hente den lagede identiteten";
$a->strings["Default Profile"] = "Standardprofil";
-$a->strings["Friends"] = "Venner";
$a->strings["Requested channel is not available."] = "Forespurt kanal er ikke tilgjengelig.";
$a->strings["Requested profile is not available."] = "Forespurt profil er ikke tilgjengelig.";
-$a->strings["Connect"] = "Koble";
$a->strings["Change profile photo"] = "Endre profilbilde";
$a->strings["Profiles"] = "Profiler";
$a->strings["Manage/edit profiles"] = "HÃ¥ndtere/endre profiler";
$a->strings["Create New Profile"] = "Lag ny profil";
-$a->strings["Edit Profile"] = "Endre profil";
$a->strings["Profile Image"] = "Profilbilde";
$a->strings["visible to everybody"] = "synlig for alle";
$a->strings["Edit visibility"] = "Endre synlighet";
@@ -481,6 +544,7 @@ $a->strings["Event Reminders"] = "Hendelsespåminnelser";
$a->strings["Events this week:"] = "Hendelser denne uken:";
$a->strings["Profile"] = "Profil";
$a->strings["Full Name:"] = "Fullt navn:";
+$a->strings["Like this channel"] = "Lik denne kanalen";
$a->strings["j F, Y"] = "j F, Y";
$a->strings["j F"] = "j F";
$a->strings["Birthday:"] = "Fødselsdag:";
@@ -504,7 +568,159 @@ $a->strings["Film/dance/culture/entertainment:"] = "Film/dans/kultur/underholdni
$a->strings["Love/Romance:"] = "Kjærlighet/romantikk:";
$a->strings["Work/employment:"] = "Arbeid/sysselsetting:";
$a->strings["School/education:"] = "Skole/utdannelse:";
+$a->strings["Like this thing"] = "Lik denne tingen";
+$a->strings["Permission denied"] = "Tillatelse avvist";
+$a->strings["(Unknown)"] = "(Ukjent)";
+$a->strings["Visible to anybody on the internet."] = "Synlig for enhver på Internett.";
+$a->strings["Visible to you only."] = "Synlig bare for deg.";
+$a->strings["Visible to anybody in this network."] = "Synlig for enhver i dette nettverket.";
+$a->strings["Visible to anybody authenticated."] = "Synlig for enhver som er autentisert.";
+$a->strings["Visible to anybody on %s."] = "Synlig for alle på %s.";
+$a->strings["Visible to all connections."] = "Synlig for alle forbindelser.";
+$a->strings["Visible to approved connections."] = "Synlig for godkjente forbindelser.";
+$a->strings["Visible to specific connections."] = "Synlig for spesifikke forbindelser.";
+$a->strings["Item not found."] = "Elementet ble ikke funnet.";
+$a->strings["Collection not found."] = "Samlingen ble ikke funnet.";
+$a->strings["Collection is empty."] = "Samlingen er tom.";
+$a->strings["Collection: %s"] = "Samling: %s";
+$a->strings["Connection: %s"] = "Forbindelse: %s";
+$a->strings["Connection not found."] = "Forbindelsen ble ikke funnet.";
+$a->strings["No recipient provided."] = "Ingen mottaker angitt.";
+$a->strings["[no subject]"] = "[ikke noe emne]";
+$a->strings["Unable to determine sender."] = "Kan ikke avgjøre avsender.";
+$a->strings["Stored post could not be verified."] = "Lagret innlegg kunne ikke bekreftes.";
$a->strings["view full size"] = "vis full størrelse";
+$a->strings["Item was not found."] = "Elementet ble ikke funnet.";
+$a->strings["No source file."] = "Ingen kildefil.";
+$a->strings["Cannot locate file to replace"] = "Kan ikke finne filen som skal byttes ut";
+$a->strings["Cannot locate file to revise/update"] = "Finner ikke filen som skal revideres/oppdateres";
+$a->strings["File exceeds size limit of %d"] = "Filens størrelse overgår grensen på %d";
+$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Du har nådd din lagringsgrense for vedlegg på %1$.0f Mbytes.";
+$a->strings["File upload failed. Possible system limit or action terminated."] = "Mislyktes med å laste opp filen. Mulig systemgrense eller handling avbrutt.";
+$a->strings["Stored file could not be verified. Upload failed."] = "Lagret fil kunne ikke bekreftes. Opplasting mislyktes.";
+$a->strings["Path not available."] = "Stien er ikke tilgjengelig.";
+$a->strings["Empty pathname"] = "Tomt sti-navn";
+$a->strings["duplicate filename or path"] = "duplikat av filnavn eller sti";
+$a->strings["Path not found."] = "Stien ble ikke funnet.";
+$a->strings["mkdir failed."] = "mkdir mislyktes.";
+$a->strings["database storage failed."] = "databaselagring mislyktes.";
+$a->strings["Logged out."] = "Logget ut.";
+$a->strings["Failed authentication"] = "Mislykket autentisering";
+$a->strings["Login failed."] = "Innlogging mislyktes.";
+$a->strings["Miscellaneous"] = "Forskjellig";
+$a->strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD eller MM-DD";
+$a->strings["never"] = "aldri";
+$a->strings["less than a second ago"] = "for mindre enn ett sekund siden";
+$a->strings["year"] = "Ã¥r";
+$a->strings["years"] = "Ã¥r";
+$a->strings["month"] = "måned";
+$a->strings["months"] = "måneder";
+$a->strings["week"] = "uke";
+$a->strings["weeks"] = "uker";
+$a->strings["day"] = "dag";
+$a->strings["days"] = "dager";
+$a->strings["hour"] = "time";
+$a->strings["hours"] = "timer";
+$a->strings["minute"] = "minutt";
+$a->strings["minutes"] = "minutter";
+$a->strings["second"] = "sekund";
+$a->strings["seconds"] = "sekunder";
+$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s siden";
+$a->strings["%1\$s's birthday"] = "%1\$s sin fødselsdag";
+$a->strings["Happy Birthday %1\$s"] = "Gratulerer med dagen, %1\$s !";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "Bilde overstiger nettstedets størrelsesbegrensning på %lu bytes";
+$a->strings["Image file is empty."] = "Bildefilen er tom.";
+$a->strings["Unable to process image"] = "Kan ikke behandle bildet";
+$a->strings["Photo storage failed."] = "Bildelagring mislyktes.";
+$a->strings["Upload New Photos"] = "Last opp nye bilder";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Skjemaets sikkerhetspollett var ikke gyldig. Dette skjedde antakelig fordi skjemaet har vært åpnet for lenge (>3 timer) før det ble sendt inn.";
+$a->strings["Delete this item?"] = "Slett dette elementet?";
+$a->strings["Comment"] = "Kommentar";
+$a->strings["[+] show all"] = "[+] Vis alle";
+$a->strings["[-] show less"] = "[-] Vis mindre";
+$a->strings["[+] expand"] = "[+] Utvid";
+$a->strings["[-] collapse"] = "[-] Lukk";
+$a->strings["Password too short"] = "Passordet er for kort";
+$a->strings["Passwords do not match"] = "Passordene er ikke like";
+$a->strings["everybody"] = "alle";
+$a->strings["Secret Passphrase"] = "Hemmelig passordsetning";
+$a->strings["Passphrase hint"] = "Hint om passordsetning";
+$a->strings["Notice: Permissions have changed but have not yet been submitted."] = "Varsel: Tillatelser har blitt endret, men de har ennå ikke blitt sendt inn.";
+$a->strings["close all"] = "Lukk alle";
+$a->strings["Nothing new here"] = "Ikke noe nytt her";
+$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+$a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+$a->strings["ago"] = "siden";
+$a->strings["from now"] = "fra nå";
+$a->strings["less than a minute"] = "mindre enn ett minutt";
+$a->strings["about a minute"] = "omtrent et minutt";
+$a->strings["%d minutes"] = "%d minutter";
+$a->strings["about an hour"] = "omtrent en time";
+$a->strings["about %d hours"] = "omtrent %d timer";
+$a->strings["a day"] = "en dag";
+$a->strings["%d days"] = "%d dager";
+$a->strings["about a month"] = "omtrent en måned";
+$a->strings["%d months"] = "%d måneder";
+$a->strings["about a year"] = "omtrent et år";
+$a->strings["%d years"] = "%d år";
+$a->strings[" "] = " ";
+$a->strings["timeago.numbers"] = "timeago.numbers";
+$a->strings["Male"] = "Mannlig";
+$a->strings["Female"] = "Kvinnelig";
+$a->strings["Currently Male"] = "For tiden mann";
+$a->strings["Currently Female"] = "For tiden kvinne";
+$a->strings["Mostly Male"] = "For det meste mann";
+$a->strings["Mostly Female"] = "For det meste kvinne";
+$a->strings["Transgender"] = "Transkjønnet";
+$a->strings["Intersex"] = "interkjønnet";
+$a->strings["Transsexual"] = "Transseksuell";
+$a->strings["Hermaphrodite"] = "Hermafroditt";
+$a->strings["Neuter"] = "Intetkjønn";
+$a->strings["Non-specific"] = "Ubestemt";
+$a->strings["Undecided"] = "Ubestemt";
+$a->strings["Males"] = "Menn";
+$a->strings["Females"] = "Kvinner";
+$a->strings["Gay"] = "Homo";
+$a->strings["Lesbian"] = "Lesbisk";
+$a->strings["No Preference"] = "Ingen preferanse";
+$a->strings["Bisexual"] = "Biseksuell";
+$a->strings["Autosexual"] = "Autoseksuell";
+$a->strings["Abstinent"] = "Avholdende";
+$a->strings["Virgin"] = "Jomfru";
+$a->strings["Deviant"] = "Avviker";
+$a->strings["Fetish"] = "Fetisj";
+$a->strings["Oodles"] = "Masse";
+$a->strings["Nonsexual"] = "Ikke-seksuell";
+$a->strings["Single"] = "Enslig";
+$a->strings["Lonely"] = "Ensom";
+$a->strings["Available"] = "Tilgjengelig";
+$a->strings["Unavailable"] = "Ikke tilgjengelig";
+$a->strings["Has crush"] = "Er forelsket";
+$a->strings["Infatuated"] = "Betatt";
+$a->strings["Dating"] = "Sammen med";
+$a->strings["Unfaithful"] = "Utro";
+$a->strings["Sex Addict"] = "Sexavhengig";
+$a->strings["Friends/Benefits"] = "Venner med frynsegoder";
+$a->strings["Casual"] = "Tilfeldig";
+$a->strings["Engaged"] = "Forlovet";
+$a->strings["Married"] = "Gift";
+$a->strings["Imaginarily married"] = "Gift i fantasien";
+$a->strings["Partners"] = "Partnere";
+$a->strings["Cohabiting"] = "Samboer";
+$a->strings["Common law"] = "Samboer";
+$a->strings["Happy"] = "Lykkelig";
+$a->strings["Not looking"] = "Ikke på utkikk";
+$a->strings["Swinger"] = "Partnerbytte";
+$a->strings["Betrayed"] = "Bedratt";
+$a->strings["Separated"] = "Separert";
+$a->strings["Unstable"] = "Ustabilt";
+$a->strings["Divorced"] = "Skilt";
+$a->strings["Imaginarily divorced"] = "Skilt i fantasien";
+$a->strings["Widowed"] = "Enke";
+$a->strings["Uncertain"] = "Usikkert";
+$a->strings["It's complicated"] = "Det er komplisert";
+$a->strings["Don't care"] = "Bryr meg ikke";
+$a->strings["Ask me"] = "Spør meg";
$a->strings["prev"] = "forrige";
$a->strings["first"] = "første";
$a->strings["last"] = "siste";
@@ -517,7 +733,6 @@ $a->strings["%d Connection"] = array(
1 => "%d forbindelser",
);
$a->strings["View Connections"] = "Vis forbindelser";
-$a->strings["Save"] = "Lagre";
$a->strings["poke"] = "prikk";
$a->strings["ping"] = "varsle";
$a->strings["pinged"] = "varslet";
@@ -585,64 +800,28 @@ $a->strings["Blocks"] = "Byggeklosser";
$a->strings["Menus"] = "Menyer";
$a->strings["Layouts"] = "Layout";
$a->strings["Pages"] = "Sider";
+$a->strings["Visible to your default audience"] = "Synlig for ditt standard publikum";
+$a->strings["Show"] = "Vis";
+$a->strings["Don't show"] = "Ikke vis";
+$a->strings["Permissions"] = "Tillatelser";
+$a->strings["Close"] = "Lukk";
+$a->strings["Public Timeline"] = "Offentlig tidslinje";
$a->strings["Site Admin"] = "Nettstedsadministrator";
$a->strings["Address Book"] = "Adressebok";
$a->strings["Mood"] = "Stemning";
$a->strings["Probe"] = "Undersøk";
$a->strings["Suggest"] = "Forreslå";
+$a->strings["Random Channel"] = "Tilfeldig kanal";
+$a->strings["Invite"] = "Inviter";
+$a->strings["Features"] = "Funksjoner";
+$a->strings["Language"] = "Språk";
+$a->strings["Post"] = "Innlegg";
+$a->strings["Profile Photo"] = "Profilbilde";
$a->strings["Update"] = "Oppdater";
$a->strings["Install"] = "Installer";
$a->strings["Purchase"] = "Kjøp";
-$a->strings["Unknown"] = "Ukjent";
-$a->strings["Invalid data packet"] = "Ugyldig datapakke";
-$a->strings["Unable to verify channel signature"] = "Ikke i stand til å sjekke kanalsignaturen";
-$a->strings["Unable to verify site signature for %s"] = "Ikke i stand til å bekrefte signaturen til %s";
-$a->strings["No recipient provided."] = "Ingen mottaker angitt.";
-$a->strings["[no subject]"] = "[ikke noe emne]";
-$a->strings["Unable to determine sender."] = "Kan ikke avgjøre avsender.";
-$a->strings["Stored post could not be verified."] = "Lagret innlegg kunne ikke bekreftes.";
-$a->strings["Click here to upgrade."] = "Klikk her for å oppgradere.";
-$a->strings["This action exceeds the limits set by your subscription plan."] = "Denne handlingen går utenfor grensene satt i din abonnementsplan.";
-$a->strings["This action is not available under your subscription plan."] = "Denne handlingen er ikke tilgjengelig i din abonnementsplan.";
-$a->strings["System"] = "System";
-$a->strings["Create Personal App"] = "Lag personlig app";
-$a->strings["Edit Personal App"] = "Endre personlig app";
-$a->strings["Ignore/Hide"] = "Ignorer/Skjul";
-$a->strings["Suggestions"] = "Forslag";
-$a->strings["See more..."] = "Se mer...";
-$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du har %1$.0f av %2$.0f tillate forbindelser.";
-$a->strings["Add New Connection"] = "Legg til ny forbindelse";
-$a->strings["Enter the channel address"] = "Skriv kanal-adressen";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Eksempel: ola.nordmann@eksempel.no, http://eksempel.no/karinordmann";
-$a->strings["Notes"] = "Merknader";
-$a->strings["Remove term"] = "Fjern begrep";
-$a->strings["Archives"] = "Arkiv";
-$a->strings["Refresh"] = "Forny";
-$a->strings["Me"] = "Meg";
-$a->strings["Best Friends"] = "Bestevenner";
-$a->strings["Co-workers"] = "Medarbeidere";
-$a->strings["Former Friends"] = "Tidligere venner";
-$a->strings["Acquaintances"] = "Bekjente";
-$a->strings["Everybody"] = "Alle";
-$a->strings["Account settings"] = "Kontoinnstillinger";
-$a->strings["Channel settings"] = "Kanalinnstillinger";
-$a->strings["Additional features"] = "Tilleggsfunksjoner";
-$a->strings["Feature settings"] = "Funksjonsinnstillinger";
-$a->strings["Display settings"] = "Visningsinnstillinger";
-$a->strings["Connected apps"] = "Tilkoblede app-er";
-$a->strings["Export channel"] = "Eksporter kanal";
-$a->strings["Automatic Permissions (Advanced)"] = "Automatiske tillatelser (avansert)";
-$a->strings["Premium Channel Settings"] = "Premiumkanal-innstillinger";
-$a->strings["Check Mail"] = "Sjekk meldinger";
-$a->strings["Chat Rooms"] = "Chatrom";
-$a->strings["Bookmarked Chatrooms"] = "Bokmerkede chatrom";
-$a->strings["Suggested Chatrooms"] = "Foreslåtte chatrom";
$a->strings["Save to Folder"] = "Lagre i mappe";
$a->strings["View all"] = "Vis alle";
-$a->strings["__ctx:noun__ Like"] = array(
- 0 => "Liker",
- 1 => "Liker",
-);
$a->strings["__ctx:noun__ Dislike"] = array(
0 => "Liker ikke",
1 => "Liker ikke",
@@ -669,9 +848,7 @@ $a->strings["%d comment"] = array(
0 => "%d kommentar",
1 => "%d kommentarer",
);
-$a->strings["[+] show all"] = "[+] Vis alle";
$a->strings["This is you"] = "Dette er deg";
-$a->strings["Comment"] = "Kommentar";
$a->strings["Submit"] = "Send";
$a->strings["Bold"] = "Uthevet";
$a->strings["Italic"] = "Kursiv";
@@ -681,125 +858,12 @@ $a->strings["Code"] = "Kode";
$a->strings["Image"] = "Bilde";
$a->strings["Link"] = "Lenke";
$a->strings["Video"] = "Video";
-$a->strings["Delete this item?"] = "Slett dette elementet?";
-$a->strings["[-] show less"] = "[-] Vis mindre";
-$a->strings["[+] expand"] = "[+] Utvid";
-$a->strings["[-] collapse"] = "[-] Lukk";
-$a->strings["Password too short"] = "Passordet er for kort";
-$a->strings["Passwords do not match"] = "Passordene er ikke like";
-$a->strings["everybody"] = "alle";
-$a->strings["Secret Passphrase"] = "Hemmelig passordsetning";
-$a->strings["Passphrase hint"] = "Hint om passordsetning";
-$a->strings["Notice: Permissions have changed but have not yet been submitted."] = "Varsel: Tillatelser har blitt endret, men de har ennå ikke blitt sendt inn.";
-$a->strings["close all"] = "Lukk alle";
-$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
-$a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-$a->strings["ago"] = "siden";
-$a->strings["from now"] = "fra nå";
-$a->strings["less than a minute"] = "mindre enn ett minutt";
-$a->strings["about a minute"] = "omtrent et minutt";
-$a->strings["%d minutes"] = "%d minutter";
-$a->strings["about an hour"] = "omtrent en time";
-$a->strings["about %d hours"] = "omtrent %d timer";
-$a->strings["a day"] = "en dag";
-$a->strings["%d days"] = "%d dager";
-$a->strings["about a month"] = "omtrent en måned";
-$a->strings["%d months"] = "%d måneder";
-$a->strings["about a year"] = "omtrent et år";
-$a->strings["%d years"] = "%d år";
-$a->strings[" "] = " ";
-$a->strings["timeago.numbers"] = "timeago.numbers";
-$a->strings["New window"] = "Nytt vindu";
-$a->strings["Open the selected location in a different window or browser tab"] = "Ã…pne det valgte stedet i et annet vindu eller nettleser-fane";
-$a->strings["Male"] = "Mannlig";
-$a->strings["Female"] = "Kvinnelig";
-$a->strings["Currently Male"] = "For tiden mann";
-$a->strings["Currently Female"] = "For tiden kvinne";
-$a->strings["Mostly Male"] = "For det meste mann";
-$a->strings["Mostly Female"] = "For det meste kvinne";
-$a->strings["Transgender"] = "Transkjønnet";
-$a->strings["Intersex"] = "interkjønnet";
-$a->strings["Transsexual"] = "Transseksuell";
-$a->strings["Hermaphrodite"] = "Hermafroditt";
-$a->strings["Neuter"] = "Intetkjønn";
-$a->strings["Non-specific"] = "Ubestemt";
-$a->strings["Other"] = "Annen";
-$a->strings["Undecided"] = "Ubestemt";
-$a->strings["Males"] = "Menn";
-$a->strings["Females"] = "Kvinner";
-$a->strings["Gay"] = "Homo";
-$a->strings["Lesbian"] = "Lesbisk";
-$a->strings["No Preference"] = "Ingen preferanse";
-$a->strings["Bisexual"] = "Biseksuell";
-$a->strings["Autosexual"] = "Autoseksuell";
-$a->strings["Abstinent"] = "Avholdende";
-$a->strings["Virgin"] = "Jomfru";
-$a->strings["Deviant"] = "Avviker";
-$a->strings["Fetish"] = "Fetisj";
-$a->strings["Oodles"] = "Masse";
-$a->strings["Nonsexual"] = "Ikke-seksuell";
-$a->strings["Single"] = "Enslig";
-$a->strings["Lonely"] = "Ensom";
-$a->strings["Available"] = "Tilgjengelig";
-$a->strings["Unavailable"] = "Ikke tilgjengelig";
-$a->strings["Has crush"] = "Er forelsket";
-$a->strings["Infatuated"] = "Betatt";
-$a->strings["Dating"] = "Sammen med";
-$a->strings["Unfaithful"] = "Utro";
-$a->strings["Sex Addict"] = "Sexavhengig";
-$a->strings["Friends/Benefits"] = "Venner med frynsegoder";
-$a->strings["Casual"] = "Tilfeldig";
-$a->strings["Engaged"] = "Forlovet";
-$a->strings["Married"] = "Gift";
-$a->strings["Imaginarily married"] = "Gift i fantasien";
-$a->strings["Partners"] = "Partnere";
-$a->strings["Cohabiting"] = "Samboer";
-$a->strings["Common law"] = "Samboer";
-$a->strings["Happy"] = "Lykkelig";
-$a->strings["Not looking"] = "Ikke på utkikk";
-$a->strings["Swinger"] = "Partnerbytte";
-$a->strings["Betrayed"] = "Bedratt";
-$a->strings["Separated"] = "Separert";
-$a->strings["Unstable"] = "Ustabilt";
-$a->strings["Divorced"] = "Skilt";
-$a->strings["Imaginarily divorced"] = "Skilt i fantasien";
-$a->strings["Widowed"] = "Enke";
-$a->strings["Uncertain"] = "Usikkert";
-$a->strings["It's complicated"] = "Det er komplisert";
-$a->strings["Don't care"] = "Bryr meg ikke";
-$a->strings["Ask me"] = "Spør meg";
-$a->strings["Logged out."] = "Logget ut.";
-$a->strings["Failed authentication"] = "Mislykket autentisering";
-$a->strings["Login failed."] = "Innlogging mislyktes.";
-$a->strings["Permission denied"] = "Tillatelse avvist";
-$a->strings["(Unknown)"] = "(Ukjent)";
-$a->strings["Item not found."] = "Elementet ble ikke funnet.";
-$a->strings["Collection not found."] = "Samlingen ble ikke funnet.";
-$a->strings["Collection is empty."] = "Samlingen er tom.";
-$a->strings["Collection: %s"] = "Samling: %s";
-$a->strings["Connection: %s"] = "Forbindelse: %s";
-$a->strings["Connection not found."] = "Forbindelsen ble ikke funnet.";
-$a->strings["Can view my \"public\" stream and posts"] = "Kan se min \"offentlige\" strøm og innlegg";
-$a->strings["Can view my \"public\" channel profile"] = "Kan se min \"offentlige\" kanalprofil";
-$a->strings["Can view my \"public\" photo albums"] = "Kan se mine \"offentlige\" fotoalbum";
-$a->strings["Can view my \"public\" address book"] = "Kan se min \"offentlige\" adressebok";
-$a->strings["Can view my \"public\" file storage"] = "Kan se mitt \"offentlige\" fillager";
-$a->strings["Can view my \"public\" pages"] = "Kan se mine \"offentlige\" sider";
-$a->strings["Can send me their channel stream and posts"] = "Kan sende meg deres kanalstrøm og innlegg";
-$a->strings["Can post on my channel page (\"wall\")"] = "Kan lage innlegg på min kanalside (\"vegg\")";
-$a->strings["Can comment on my posts"] = "Kan kommentere på mine innlegg";
-$a->strings["Can send me private mail messages"] = "Kan sende meg private meldinger";
-$a->strings["Can post photos to my photo albums"] = "Kan legge inn bilder i mine fotoalbum";
-$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan videresende til alle mine kanalkontakter via @navn i innlegg";
-$a->strings["Advanced - useful for creating group forum channels"] = "Avansert - nyttig for å lage forumkanaler for grupper";
-$a->strings["Can chat with me (when available)"] = "Kan chatte/sende lynmeldinger til meg (når tilgjengelig)";
-$a->strings["Can write to my \"public\" file storage"] = "Kan skrive til mitt \"offentlige\" fillager";
-$a->strings["Can edit my \"public\" pages"] = "Kan endre mine \"offentlige\" sider";
-$a->strings["Can source my \"public\" posts in derived channels"] = "Kan bruke mine \"offentlige\" innlegg som kanalkilde i egne kanaler";
-$a->strings["Somewhat advanced - very useful in open communities"] = "Litt avansert - svært nyttig i åpne fellesskap";
-$a->strings["Can administer my channel resources"] = "Kan administrere mine kanalressurser";
-$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Ekstremt avansert. La dette være med mindre du vet hva du gjør";
$a->strings["Set your current mood and tell your friends"] = "Angi ditt nåværende humør og fortell dine venner";
+$a->strings["Invalid profile identifier."] = "Ugyldig profil-identifikator.";
+$a->strings["Profile Visibility Editor"] = "Endre profilsynlighet";
+$a->strings["Click on a contact to add or remove."] = "Klikk på en kontakt for å legge til eller fjerne.";
+$a->strings["Visible To"] = "Synlig for";
+$a->strings["All Connections"] = "Alle forbindelser";
$a->strings["Menu not found."] = "Menyen ble ikke funnet.";
$a->strings["Menu element updated."] = "Menyelement er oppdatert.";
$a->strings["Unable to update menu element."] = "Ikke i stand til å oppdatere menyelement.";
@@ -820,169 +884,22 @@ $a->strings["Menu Item Permissions"] = "Menyelement Tillatelser";
$a->strings["(click to open/close)"] = "(klikk for å åpne/lukke)";
$a->strings["Link text"] = "Lenketekst";
$a->strings["URL of link"] = "URL-en til lenken";
-$a->strings["Use Red magic-auth if available"] = "Bruk Red sin magiske-autent hvis mulig";
+$a->strings["Use RedMatrix magic-auth if available"] = "Bruk RedMatrixs magiske-autentisering hvis tilgjengelig";
$a->strings["Open link in new window"] = "Ã…pne lenke i nytt vindu";
$a->strings["Order in list"] = "Ordne i liste";
$a->strings["Higher numbers will sink to bottom of listing"] = "Høyere tall vil synke mot bunnen av listen";
-$a->strings["Create"] = "Lag";
$a->strings["Menu item not found."] = "Menyelement ble ikke funnet.";
$a->strings["Menu item deleted."] = "Menyelement slettet.";
$a->strings["Menu item could not be deleted."] = "Menyelement kunne ikke bli slettet.";
$a->strings["Edit Menu Element"] = "Endre menyelement";
$a->strings["Modify"] = "Endre";
-$a->strings["sent you a private message"] = "sendte deg en privat melding";
-$a->strings["added your channel"] = "la til din kanal";
-$a->strings["posted an event"] = "la ut en hendelse";
-$a->strings["network"] = "nettverk";
-$a->strings["Name is required"] = "Navn er påkrevd";
-$a->strings["Key and Secret are required"] = "Nøkkel og hemmelighet er påkrevd";
-$a->strings["Passwords do not match. Password unchanged."] = "Passordene stemmer ikke overens. Passord uforandret.";
-$a->strings["Empty passwords are not allowed. Password unchanged."] = "Tomme passord er ikke tillatt. Passord uforandret.";
-$a->strings["Password changed."] = "Passord endret.";
-$a->strings["Password update failed. Please try again."] = "Passord oppdatering mislyktes. Vennligst prøv igjen.";
-$a->strings["Not valid email."] = "Ikke gyldig e-post.";
-$a->strings["Protected email address. Cannot change to that email."] = "Beskyttet e-postadresse. Kan ikke endre til den e-postadressen.";
-$a->strings["System failure storing new email. Please try again."] = "Systemfeil ved lagring av ny e-post. Vennligst prøv igjen.";
-$a->strings["Settings updated."] = "Innstillinger oppdatert.";
-$a->strings["Add application"] = "Legg til program";
-$a->strings["Name"] = "Navn";
-$a->strings["Name of application"] = "Navn på program";
-$a->strings["Consumer Key"] = "Consumer Key";
-$a->strings["Automatically generated - change if desired. Max length 20"] = "Automatisk laget - kan endres om du vil. Største lengde 20";
-$a->strings["Consumer Secret"] = "Consumer Secret";
-$a->strings["Redirect"] = "Omdirigering";
-$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "Omdirigerings-URI - la stå tomt hvis ikke ditt program spesifikt krever dette";
-$a->strings["Icon url"] = "Ikon-URL";
-$a->strings["Optional"] = "Valgfritt";
-$a->strings["You can't edit this application."] = "Du kan ikke endre dette programmet.";
-$a->strings["Connected Apps"] = "Tilkoblede app-er";
-$a->strings["Client key starts with"] = "Klientnøkkel starter med";
-$a->strings["No name"] = "Ikke noe navn";
-$a->strings["Remove authorization"] = "Fjern tillatelse";
-$a->strings["No feature settings configured"] = "Ingen funksjonsinnstillinger er konfigurert";
-$a->strings["Feature Settings"] = "Funksjonsinnstillinger";
-$a->strings["Account Settings"] = "Kontoinnstillinger";
-$a->strings["Password Settings"] = "Passordinnstillinger";
-$a->strings["New Password:"] = "Nytt passord:";
-$a->strings["Confirm:"] = "Bekreft:";
-$a->strings["Leave password fields blank unless changing"] = "La passordfeltene stå blanke om det ikke skal endres";
-$a->strings["Email Address:"] = "E-postadresse:";
-$a->strings["Remove Account"] = "Slett konto";
-$a->strings["Warning: This action is permanent and cannot be reversed."] = "Advarsel: Denne handlingen er permanent og kan ikke angres.";
-$a->strings["Off"] = "Av";
-$a->strings["On"] = "PÃ¥";
-$a->strings["Additional Features"] = "Ekstra funksjoner";
-$a->strings["Connector Settings"] = "Koblingsinnstillinger";
-$a->strings["No special theme for mobile devices"] = "Ikke noe spesielt tema for mobile enheter";
-$a->strings["%s - (Experimental)"] = "%s - (Eksperimentelt)";
-$a->strings["Display Settings"] = "Visningsinnstillinger";
-$a->strings["Display Theme:"] = "Visningstema:";
-$a->strings["Mobile Theme:"] = "Mobiltema:";
-$a->strings["Update browser every xx seconds"] = "Oppdater nettleser hvert xx sekunder";
-$a->strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 sekunder, ikke noe maksimum";
-$a->strings["Maximum number of conversations to load at any time:"] = "Maksimalt antall samtaler å laste samtidig:";
-$a->strings["Maximum of 100 items"] = "Maksimum 100 elementer";
-$a->strings["Don't show emoticons"] = "Ikke vis følelsesikoner";
-$a->strings["System Page Layout Editor - (advanced)"] = "Systemsidens layoutbehandler - (avansert)";
-$a->strings["Nobody except yourself"] = "Ingen unntatt deg selv";
-$a->strings["Only those you specifically allow"] = "Bare de du spesifikt tillater";
-$a->strings["Approved connections"] = "Godkjente forbindelser";
-$a->strings["Any connections"] = "Enhver forbindelse";
-$a->strings["Anybody on this website"] = "Enhver ved dette nettstedet";
-$a->strings["Anybody in this network"] = "Enhver i dette nettverket";
-$a->strings["Anybody authenticated"] = "Enhver som er autentisert";
-$a->strings["Anybody on the internet"] = "Enhver på Internett";
-$a->strings["Publish your default profile in the network directory"] = "Publiser din standardprofil i nettverkskatalogen";
-$a->strings["No"] = "Nei";
-$a->strings["Yes"] = "Ja";
-$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Tillat oss å foreslå deg som en mulig venn til nye medlemmer?";
-$a->strings["or"] = "eller";
-$a->strings["Your channel address is"] = "Din kanaladresse er";
-$a->strings["Channel Settings"] = "Kanalinnstillinger";
-$a->strings["Basic Settings"] = "Grunninnstillinger";
-$a->strings["Your Timezone:"] = "Din tidssone:";
-$a->strings["Default Post Location:"] = "Standard plassering ved innlegg:";
-$a->strings["Geographical location to display on your posts"] = "Geografisk plassering som vises på dine innlegg";
-$a->strings["Use Browser Location:"] = "Bruk nettleseren sin plassering:";
-$a->strings["Adult Content"] = "Voksent innhold";
-$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Denne kanalen vil ofte eller jevnlig publisere voksent innhold. (Vennligst merk alt voksent materiale og/eller nakenhet med #NSFW)";
-$a->strings["Security and Privacy Settings"] = "Sikkerhets- og personverninnstillinger";
-$a->strings["Hide my online presence"] = "Skjul min tilstedeværelse online";
-$a->strings["Prevents displaying in your profile that you are online"] = "Forhindrer visning på din profil av at du er online ";
-$a->strings["Simple Privacy Settings:"] = "Enkle personverninnstillinger:";
-$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Svært offentlig - <em>ekstremt åpent (bør brukes med varsomhet)</em>";
-$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Typisk - <em>standard er offentlig, personvern når ønsket (likner på tillatelser i sosiale nettverk, men med forbedret personvern)</em>";
-$a->strings["Private - <em>default private, never open or public</em>"] = "Privat - <em>standard er privat, aldri åpen eller offentlig</em>";
-$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Blokkert - <em>standard blokkert til/fra alle</em>";
-$a->strings["Allow others to tag your posts"] = "Tillat andre å merke dine innlegg";
-$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Ofte brukt av fellesskapet for å merke upassende innhold i etterkant";
-$a->strings["Advanced Privacy Settings"] = "Avanserte personverninnstillinger";
-$a->strings["Expire other channel content after this many days"] = "Annet kanal innhold utløper etter så mange dager";
-$a->strings["0 or blank prevents expiration"] = "0 eller blankt forhindrer utløp";
-$a->strings["Maximum Friend Requests/Day:"] = "Maksimalt antall venneforespørsler per dag:";
-$a->strings["May reduce spam activity"] = "Kan redusere søppelpostaktivitet";
-$a->strings["Default Post Permissions"] = "Standard innleggstillatelser";
-$a->strings["Maximum private messages per day from unknown people:"] = "Maksimalt antall private meldinger per dag fra ukjente personer:";
-$a->strings["Useful to reduce spamming"] = "Nyttig for å redusere søppelpost";
-$a->strings["Notification Settings"] = "Varslingsinnstillinger";
-$a->strings["By default post a status message when:"] = "Legg inn en statusmelding når du:";
-$a->strings["accepting a friend request"] = "aksepterer en venneforespørsel";
-$a->strings["joining a forum/community"] = "blir med i et forum/miljø";
-$a->strings["making an <em>interesting</em> profile change"] = "gjør en <em>interessant</em> profilendring";
-$a->strings["Send a notification email when:"] = "Send en varsel-e-post når:";
-$a->strings["You receive a connection request"] = "Du har mottatt en forespørsel om forbindelse";
-$a->strings["Your connections are confirmed"] = "Dine forbindelser er bekreftet";
-$a->strings["Someone writes on your profile wall"] = "Noen skriver på din profilvegg";
-$a->strings["Someone writes a followup comment"] = "Noen skriver en oppfølgende kommentar";
-$a->strings["You receive a private message"] = "Du mottar en privat melding";
-$a->strings["You receive a friend suggestion"] = "Du mottok et venneforslag";
-$a->strings["You are tagged in a post"] = "Du merkes i et innlegg";
-$a->strings["You are poked/prodded/etc. in a post"] = "Du ble prikket/oppildnet/og så vider i et innlegg";
-$a->strings["Advanced Account/Page Type Settings"] = "Avanserte innstillinger for konto/sidetype";
-$a->strings["Change the behaviour of this account for special situations"] = "Endre oppførselen til denne kontoen i spesielle situasjoner";
-$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Vennligst skru på ekspertmodus (under <a href=\"settings/features\">Innstillinger > Ekstra funksjoner</a>) for å justere!";
-$a->strings["Miscellaneous Settings"] = "Diverse innstillinger";
-$a->strings["Personal menu to display in your channel pages"] = "Personlig meny som kan vises på dine kanalsider";
-$a->strings["Poke/Prod"] = "Prikke/oppildne";
-$a->strings["poke, prod or do other things to somebody"] = "prikke, oppildne eller gjør andre ting med noen";
-$a->strings["Recipient"] = "Mottaker";
-$a->strings["Choose what you wish to do to recipient"] = "Velg hva du ønsker å gjøre med mottakeren";
-$a->strings["Make this post private"] = "Gjør dette innlegget privat";
-$a->strings["Authorize application connection"] = "Tillat programforbindelse";
-$a->strings["Return to your app and insert this Securty Code:"] = "GÃ¥ tilbake til din app og legg inn denne sikkerhetskoden:";
-$a->strings["Please login to continue."] = "Vennligst logg inn for å fortsette.";
-$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?";
-$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt.";
-$a->strings["Welcome %s. Remote authentication successful."] = "Velkommen %s. Ekstern autentisering er vellykket.";
-$a->strings["Item not available."] = "Elementet er ikke tilgjengelig.";
-$a->strings["Fetching URL returns error: %1\$s"] = "Henting av URL gir følgende feil: %1\$s";
-$a->strings["Invalid item."] = "Ugyldig element.";
-$a->strings["Channel not found."] = "Kanalen ble ikke funnet.";
-$a->strings["Page not found."] = "Siden ikke funnet.";
-$a->strings["Image uploaded but image cropping failed."] = "Bildet ble lastet opp, men beskjæring av bildet mislyktes.";
-$a->strings["Image resize failed."] = "Endring av bildestørrelse mislyktes.";
-$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart.";
-$a->strings["Image exceeds size limit of %d"] = "Bildet overstiger størrelsesbegrensningen på %d";
-$a->strings["Unable to process image."] = "Kan ikke behandle bildet.";
-$a->strings["Photo not available."] = "Bildet er ikke tilgjengelig.";
-$a->strings["Upload File:"] = "Last opp fil:";
-$a->strings["Select a profile:"] = "Velg en profil:";
-$a->strings["Upload Profile Photo"] = "Last opp profilbilde:";
-$a->strings["Upload"] = "Last opp";
-$a->strings["skip this step"] = "hopp over dette steget";
-$a->strings["select a photo from your photo albums"] = "velg et bilde fra dine fotoalbum";
-$a->strings["Crop Image"] = "Beskjær bildet";
-$a->strings["Please adjust the image cropping for optimum viewing."] = "Vennligst juster bildebeskjæringen for optimal visning.";
-$a->strings["Done Editing"] = "Avslutt redigering";
-$a->strings["Image uploaded successfully."] = "Opplasting av bildet var vellykket.";
-$a->strings["Image upload failed."] = "Opplasting av bildet mislyktes.";
-$a->strings["Image size reduction [%s] failed."] = "Forminsking av bildet [%s] mislyktes.";
-$a->strings["Block Name"] = "Byggeklossens navn";
+$a->strings["Some blurb about what to do when you're new here"] = "En standardtekst om hva du bør gjøre som ny her";
$a->strings["Profile not found."] = "Profilen ble ikke funnet.";
$a->strings["Profile deleted."] = "Profilen er slettet.";
$a->strings["Profile-"] = "Profil-";
$a->strings["New profile created."] = "Ny profil opprettet.";
$a->strings["Profile unavailable to clone."] = "Profilen er utilgjengelig for klonen.";
+$a->strings["Profile unavailable to export."] = "Profilen er utilgjengelig for eksport.";
$a->strings["Profile Name is required."] = "Profilnavn er påkrevd.";
$a->strings["Marital Status"] = "Sivilstand";
$a->strings["Romantic Partner"] = "Romantisk partner";
@@ -999,17 +916,21 @@ $a->strings["Address"] = "Adresse";
$a->strings["Location"] = "Plassering";
$a->strings["Profile updated."] = "Profilen er oppdatert.";
$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Skjul kontakt-/vennelisten din fra de som ser på denne profilen?";
+$a->strings["Yes"] = "Ja";
+$a->strings["No"] = "Nei";
$a->strings["Edit Profile Details"] = "Endre profildetaljer";
$a->strings["View this profile"] = "Vis denne profilen";
$a->strings["Change Profile Photo"] = "Endre profilbilde";
$a->strings["Create a new profile using these settings"] = "Lag en ny profil ved å bruke disse innstillingene";
$a->strings["Clone this profile"] = "Klon denne profilen";
$a->strings["Delete this profile"] = "Slett denne profilen";
+$a->strings["Import profile from file"] = "Importer profil fra fil";
+$a->strings["Export profile to file"] = "Eksporter profil til fil";
$a->strings["Profile Name:"] = "Profilnavn:";
$a->strings["Your Full Name:"] = "Ditt fulle navn:";
$a->strings["Title/Description:"] = "Tittel/Beskrivelse:";
$a->strings["Your Gender:"] = "Ditt kjønn:";
-$a->strings["Birthday (%s):"] = "Fødselsdag (%s):";
+$a->strings["Birthday :"] = "Fødselsdag:";
$a->strings["Street Address:"] = "Gateadresse:";
$a->strings["Locality/City:"] = "Sted/By:";
$a->strings["Postal/Zip Code:"] = "Postnummer/ZIP-kode:";
@@ -1035,19 +956,189 @@ $a->strings["Film/dance/culture/entertainment"] = "Film/dans/kultur/underholdnin
$a->strings["Love/romance"] = "Kjærlighet/romantikk";
$a->strings["Work/employment"] = "Arbeid/sysselsetting";
$a->strings["School/education"] = "Skole/utdanning";
-$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Dette er din <strong>offentlige</strong> profil.<br />Den <strong>kan</strong> være synlig for alle på Internett.";
+$a->strings["This is your default profile."] = "Dette er din standardprofil.";
$a->strings["Age: "] = "Alder:";
$a->strings["Edit/Manage Profiles"] = "Endre/håndter profiler";
$a->strings["Add profile things"] = "Legg til profilting";
$a->strings["Include desirable objects in your profile"] = "Inkluder ønskverdige objekter i din profil";
-$a->strings["Bookmark added"] = "Bokmerke lagt til";
-$a->strings["My Bookmarks"] = "Mine bokmerker";
-$a->strings["My Connections Bookmarks"] = "Mine forbindelsers bokmerker";
-$a->strings["Invalid profile identifier."] = "Ugyldig profil-identifikator.";
-$a->strings["Profile Visibility Editor"] = "Endre profilsynlighet";
-$a->strings["Click on a contact to add or remove."] = "Klikk på en kontakt for å legge til eller fjerne.";
-$a->strings["Visible To"] = "Synlig for";
-$a->strings["All Connections"] = "Alle forbindelser";
+$a->strings["Continue"] = "Fortsett";
+$a->strings["Premium Channel Setup"] = "Premiumkanal-oppsett";
+$a->strings["Enable premium channel connection restrictions"] = "Slå på restriksjoner for forbindelse med premiumkanal";
+$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Vennligst skriv dine restriksjoner og betingelser, slik som PayPal-kvittering, retningslinjer for bruk, og så videre.";
+$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Denne kanalen kan kreve ytterligere steg og bekreftelse av følgende betingelser før tilkobling:";
+$a->strings["Potential connections will then see the following text before proceeding:"] = "Potensielle forbindelser vil da se følgende tekst før de går videre:";
+$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Ved å fortsette bekrefter jeg at jeg har oppfylt alle instruksjoner gitt på denne siden.";
+$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Ingen spesifikke instruksjoner er gitt av kanaleieren.)";
+$a->strings["Restricted or Premium Channel"] = "Begrenset kanal eller premiumkanal";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fjernautentisering blokkert. Du er logget inn på dette nettstedet lokalt. Vennligst logg ut og prøv på nytt.";
+$a->strings["Welcome %s. Remote authentication successful."] = "Velkommen %s. Ekstern autentisering er vellykket.";
+$a->strings["Red Matrix Server - Setup"] = "Red Matrix tjener - oppsett";
+$a->strings["Could not connect to database."] = "Fikk ikke kontakt med databasen.";
+$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Fikk ikke kontakt med det angitte nettstedets URL. Problemet kan muligens skyldes SSL-sertifikatet eller DNS.";
+$a->strings["Could not create table."] = "Kunne ikke lage tabellen.";
+$a->strings["Your site database has been installed."] = "Databasen til ditt nettsted har blitt installert.";
+$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Du må kanskje importere filen \"install/schmea_xxx.sql\" manuelt ved å bruke en databaseklient.";
+$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Vennligst les filen \"install/INSTALL.txt\".";
+$a->strings["System check"] = "Systemsjekk";
+$a->strings["Next"] = "Neste";
+$a->strings["Check again"] = "Sjekk igjen";
+$a->strings["Database connection"] = "Databaseforbindelse";
+$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "For å installere Red Matrix må du oppgi hvordan din database kan kontaktes.";
+$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Vennligst kontakt din nettstedstilbyder eller nettstedsadministrator hvis du har spørsmål om disse innstillingene.";
+$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Databasen du oppgir nedenfor må finnes på forhånd. Hvis den ikke finnes, vennligst lag den før du fortsetter.";
+$a->strings["Database Server Name"] = "Navn på databasetjener";
+$a->strings["Default is localhost"] = "Standard er localhost";
+$a->strings["Database Port"] = "Databaseport";
+$a->strings["Communication port number - use 0 for default"] = "Kommunikasjonsportnummer - bruk 0 for standard";
+$a->strings["Database Login Name"] = "Database innloggingsnavn";
+$a->strings["Database Login Password"] = "Database innloggingspassord";
+$a->strings["Database Name"] = "Databasenavn";
+$a->strings["Database Type"] = "Databasetype";
+$a->strings["Site administrator email address"] = "E-postadressen til administrator ved nettstedet";
+$a->strings["Your account email address must match this in order to use the web admin panel."] = "Din konto sin e-postadresse må være lik denne for å kunne bruke web-administrasjonspanelet.";
+$a->strings["Website URL"] = "Nettstedets URL";
+$a->strings["Please use SSL (https) URL if available."] = "Vennligst bruk SSL (https) URL hvis tilgjengelig.";
+$a->strings["Please select a default timezone for your website"] = "Vennligst velg en standard tidssone for ditt nettsted";
+$a->strings["Site settings"] = "Nettstedets innstillinger";
+$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Fant ikke en kommandolinjeversjon av PHP i webtjenerens sti (PATH).";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Hvis du ikke har en kommandolinjeversjon av PHP installert på tjeneren, så vil du ikke kunne kjøre bakgrunnshenting via cron.";
+$a->strings["PHP executable path"] = "PHP-kjørefilens sti";
+$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Skriv full sti til kjørefilen for PHP. Du kan la denne stå blank for å fortsette installasjonen.";
+$a->strings["Command line PHP"] = "Kommandolinje PHP";
+$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Kommandolinjeversjonen av PHP på ditt system har ikke \"register_argc_argv\" påskrudd.";
+$a->strings["This is required for message delivery to work."] = "Dette er påkrevd for at meldingslevering skal virke.";
+$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Feil: \"openssl_pkey_new\"-funksjonen på dette systemet er ikke i stand til å lage krypteringsnøkler";
+$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Ved kjøring på Windows, vennligst se \"http://www.php.net/manual/en/openssl.installation.php\".";
+$a->strings["Generate encryption keys"] = "Lag krypteringsnøkler";
+$a->strings["libCurl PHP module"] = "libCurl PHP-modul";
+$a->strings["GD graphics PHP module"] = "GD graphics PHP-modul";
+$a->strings["OpenSSL PHP module"] = "OpenSSL PHP-modul";
+$a->strings["mysqli or postgres PHP module"] = "MySQLi eller Postgres PHP modul";
+$a->strings["mb_string PHP module"] = "mb_string PHP-modul";
+$a->strings["mcrypt PHP module"] = "mcrypt PHP-modul";
+$a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite-modul";
+$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Feil: Apache web-tjenerens mod-rewrite-modul er påkrevd, men ikke installert.";
+$a->strings["proc_open"] = "proc_open";
+$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Feil: proc_open er påkrevd, men er enten ikke installert eller har blitt avskrudd i php.ini";
+$a->strings["Error: libCURL PHP module required but not installed."] = "Feil: libCURL PHP-modul er påkrevd, men er ikke installert.";
+$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Feil: GD graphics PHP-modul med JPEG-støtte er påkrevd, men er ikke installert.";
+$a->strings["Error: openssl PHP module required but not installed."] = "Feil: openssl PHP-modul er påkrevd, men er ikke installert.";
+$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Feil: mysqli eller postgres PHP modul er påkrevd, men ingen av dem er installert.";
+$a->strings["Error: mb_string PHP module required but not installed."] = "Feil: mb_string PHP-modul er påkrevd, men er ikke installert.";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "Feil: mcrypt PHP-modul er påkrevd, men er ikke installert.";
+$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "Web-installasjonen må kunne lage en fil kalt \".htconfig.php\" i toppkatalogen til web-tjeneren din, men dette får den ikke til.";
+$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Dette er oftest tillatelsesinnstilling, ettersom webtjeneren kanskje kan skrive til filer i din mappe - selv om du kan.";
+$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "På slutten av denne prosedyren vil vi gi deg en tekst til å lagre i en fil kalt .htconfig.php i toppkatalogen til din Red.";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativt, så kan du hoppe over denne prosedyren og gjennomføre en manuell installasjon. Vennligst se filen \"install/INSTALL.txt\" for instruksjoner.";
+$a->strings[".htconfig.php is writable"] = ".htconfig.php kan skrives til";
+$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red bruker malmotoren Smarty3 for å gjengi sine webvisninger. Smarty3 kompilerer malene om til PHP for å framskynde gjengivelsen.";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "For å kunne lagre disse kompilerte malene, så må webtjeneren ha skrivetilgang til katalogen %s under Red sin hovedmappe.";
+$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Vennligst sikre at brukeren som din web-tjeneste kjører som (for eksempel www-data) har skrivetilgang til denne katalogen.";
+$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Merknad: som et sikkerhetstiltak bør du bare gi webtjerenn skrivetilgang til %s - ikke til malfilene (.tpl) som den inneholder.";
+$a->strings["%s is writable"] = "%s kan skrives til";
+$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red bruker lagringsmappen for å lagre opplastede filer. Webtjeneren trenger å ha skrivetilgang til lagringsmappen under Red sin toppnivåmappe.";
+$a->strings["store is writable"] = "lageret kan skrives til";
+$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "SSL-sertifikatet kan ikke kontrolleres. Fiks sertifikatet eller skru av https tilgang til dette nettstedet.";
+$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Hvis du har HTTPS-tilgang til ditt nettsted eller tillater forbindelser til TCP port 443 (HTTPS-porten), så MÅ du bruke nettlesergodkjent sertifkater. Du MÅ IKKE bruke egensignert sertifikater!";
+$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Denne begrensningen er tatt inn fordi offentlige innlegg fra deg kan for eksempel inneholde referanser til bilder på din egen hub.";
+$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Hvis sertifikatet ditt ikke gjenkjennes, så vil medlemmer på andre nettsteder (som selv kan ha godkjente sertifikater) få en beskjed med en advarsel på deres eget nettsted som klager over sikkerhetsproblemer.";
+$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Dette kan gi problemer med brukervennlighet (ikke bare på ditt eget nettsted), så vi må insistere på dette kravet.";
+$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Det finnes tilbydere som utsteder gratis sertifikater som er gyldige i nettlesere.";
+$a->strings["SSL certificate validation"] = "SSL sertifikat-kontroll";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "URL omskriving (rewrite) i .htaccess virker ikke. Sjekk konfigurasjonen til tjeneren din. Test:";
+$a->strings["Url rewrite is working"] = "URL rewrite virker";
+$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Databasekonfigurasjonsfilen \".htconfig.php\" kunne ikke skrives. Vennligst bruk den medfølgende teksten for å lage en konfigurasjonsfil i toppkatalogen av din web-tjener.";
+$a->strings["Errors encountered creating database tables."] = "Feil oppstod under opprettelsen av databasetabeller.";
+$a->strings["<h1>What next</h1>"] = "<h1>Hva gjenstår</h1>";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "VIKTIG: Du må [manuelt] sette opp en automatisert tidfestet oppgave til bakgrunnshenteren.";
+$a->strings["Version %s"] = "Versjon %s";
+$a->strings["Installed plugins/addons/apps:"] = "Installerte tilleggsfunksjoner/tillegg/apper:";
+$a->strings["No installed plugins/addons/apps"] = "Ingen installerte tilleggsfunksjoner/tillegg/apper";
+$a->strings["Red"] = "Red";
+$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Dette er en hub i Red Matrix - et globalt kooperativt nettverk av desentraliserte personvernforsterkede nettsteder.";
+$a->strings["Running at web location"] = "Kjører på webplasseringen";
+$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Red Matrix."] = "Vennligst besøk <a href=\"http://getzot.com\">GetZot.com</a> for å lære mer om Red Matrix.";
+$a->strings["Bug reports and issues: please visit"] = "Feilmeldinger og feilretting: vennligst besøk";
+$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com";
+$a->strings["Site Administrators"] = "Nettstedsadministratorer";
+$a->strings["Poke/Prod"] = "Prikke/oppildne";
+$a->strings["poke, prod or do other things to somebody"] = "prikke, oppildne eller gjør andre ting med noen";
+$a->strings["Recipient"] = "Mottaker";
+$a->strings["Choose what you wish to do to recipient"] = "Velg hva du ønsker å gjøre med mottakeren";
+$a->strings["Make this post private"] = "Gjør dette innlegget privat";
+$a->strings["Authorize application connection"] = "Tillat programforbindelse";
+$a->strings["Return to your app and insert this Securty Code:"] = "GÃ¥ tilbake til din app og legg inn denne sikkerhetskoden:";
+$a->strings["Please login to continue."] = "Vennligst logg inn for å fortsette.";
+$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vil du tillate dette programmet å få tilgang til dine innlegg og kontakter, og/eller lage nye innlegg for deg?";
+$a->strings["Item not available."] = "Elementet er ikke tilgjengelig.";
+$a->strings["Fetching URL returns error: %1\$s"] = "Henting av URL gir følgende feil: %1\$s";
+$a->strings["Invalid item."] = "Ugyldig element.";
+$a->strings["Channel not found."] = "Kanalen ble ikke funnet.";
+$a->strings["Page not found."] = "Siden ikke funnet.";
+$a->strings["Failed to create source. No channel selected."] = "Mislyktes med å lage kilde. Ingen kanal er valgt.";
+$a->strings["Source created."] = "Kilden er laget.";
+$a->strings["Source updated."] = "Kilden er oppdatert.";
+$a->strings["*"] = "*";
+$a->strings["Manage remote sources of content for your channel."] = "HÃ¥ndtere eksterne innholdskilder til din kanal.";
+$a->strings["New Source"] = "Ny kilde";
+$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importer alt eller et utvalgt av innhold fra følgende kanal inn i denne kanalen og distribuer det i henhold til dine egne kanalinnstillinger.";
+$a->strings["Only import content with these words (one per line)"] = "Bare importer innhold med disse ordene (ett ord per linje)";
+$a->strings["Leave blank to import all public content"] = "La stå tomt for å importere alt offentlig innhold";
+$a->strings["Channel Name"] = "Kanalnavn";
+$a->strings["Source not found."] = "Kilden ble ikke funnet.";
+$a->strings["Edit Source"] = "Endre kilde";
+$a->strings["Delete Source"] = "Slett kilde";
+$a->strings["Source removed"] = "Kilden er fjernet";
+$a->strings["Unable to remove source."] = "Ikke i stand til å fjerne kilde.";
+$a->strings["Block Name"] = "Byggeklossens navn";
+$a->strings["Public access denied."] = "Offentlig tilgang avvist.";
+$a->strings["Gender: "] = "Kjønn:";
+$a->strings["Status: "] = "Status:";
+$a->strings["Homepage: "] = "Hjemmeside:";
+$a->strings["Hometown: "] = "Hjemby:";
+$a->strings["About: "] = "Om:";
+$a->strings["Public Forum:"] = "Offentlig forum:";
+$a->strings["Keywords: "] = "Nøkkelord:";
+$a->strings["Finding:"] = "Finner:";
+$a->strings["next page"] = "Neste side";
+$a->strings["previous page"] = "Forrige side";
+$a->strings["No entries (some entries may be hidden)."] = "Ingen oppføringer (noen oppføringer kan være skjult).";
+$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Antallet daglige registreringer ved nettstedet er overskredet. Vær vennlig å prøve igjen imorgen.";
+$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Vennligst angi at tjenesteavtalen er akseptert. Registrering mislyktes.";
+$a->strings["Passwords do not match."] = "Passordene er ikke like.";
+$a->strings["Registration successful. Please check your email for validation instructions."] = "Registreringen er vellykket. Vennligst sjekk e-posten din for å bekrefte opprettelsen.";
+$a->strings["Your registration is pending approval by the site owner."] = "Din registrering venter på godkjenning av nettstedets eier.";
+$a->strings["Your registration can not be processed."] = "Din registrering kan ikke behandles.";
+$a->strings["Registration on this site/hub is by approval only."] = "Registrering på dette nettstedet/denne hubben skjer bare gjennom godkjenning.";
+$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrer på et annet tilknyttet nettsted/hub</a>";
+$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Dette nettstedet har overskredet antallet tillate kontoregistreringer per dag. Vennligst prøv igjen imorgen.";
+$a->strings["Terms of Service"] = "Tjenesteavtale";
+$a->strings["I accept the %s for this website"] = "Jeg godtar %s for dette nettstedet";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "Jeg er over 13 år gammel og aksepterer %s for dette nettstedet.";
+$a->strings["Registration"] = "Registrering";
+$a->strings["Membership on this site is by invitation only."] = "Medlemskap ved dette nettstedet skjer kun via invitasjon.";
+$a->strings["Please enter your invitation code"] = "Vennligst skriv din invitasjonskode";
+$a->strings["Your email address"] = "Din e-postadresse";
+$a->strings["Choose a password"] = "Velg et passord";
+$a->strings["Please re-enter your password"] = "Vennligst skriv ditt passord en gang til";
+$a->strings["Event can not end before it has started."] = "Hendelsen kan ikke slutte før den starter.";
+$a->strings["Event title and start time are required."] = "Hendelsestittel og starttidspunkt er påkrevd.";
+$a->strings["Event not found."] = "Hendelsen ble ikke funnet.";
+$a->strings["l, F j"] = "l, F j";
+$a->strings["Edit event"] = "Endre hendelse";
+$a->strings["Create New Event"] = "Lag ny hendelse";
+$a->strings["Previous"] = "Forrige";
+$a->strings["Event details"] = "Hendelsesdetaljer";
+$a->strings["Starting date and Title are required."] = "Startdato og Tittel er påkrevd.";
+$a->strings["Event Starts:"] = "Hendelsen starter:";
+$a->strings["Required"] = "PÃ¥krevd";
+$a->strings["Finish date/time is not known or not relevant"] = "Sluttdato/-tidspunkt er ikke kjent eller ikke relevant";
+$a->strings["Event Finishes:"] = "Hendelsen slutter:";
+$a->strings["Adjust for viewer timezone"] = "Juster i forhold til tilskuerens tidssone";
+$a->strings["Description:"] = "Beskrivelse:";
+$a->strings["Title:"] = "Tittel:";
+$a->strings["Share this event"] = "Del denne hendelsen";
$a->strings["Public Sites"] = "Offentlige nettsteder";
$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Nettstedene på listen tillater offentlig registrering i Red Matrix. Alle nettsteder i matrix er forbundet så medlemskap på enhver av dem formidler medlemskap i hele matrix. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Tilbyderlenkene <strong>kan</strong> gi tilleggsopplysninger.";
$a->strings["Site URL"] = "Nettstedets URL";
@@ -1069,28 +1160,17 @@ $a->strings["Bookmark this room"] = "Bokmerk dette rommet";
$a->strings["New Chatroom"] = "Nytt chatrom";
$a->strings["Chatroom Name"] = "Navn på chatrom";
$a->strings["%1\$s's Chatrooms"] = "%1\$s sine chatrom";
-$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Antallet daglige registreringer ved nettstedet er overskredet. Vær vennlig å prøve igjen imorgen.";
-$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Vennligst angi at tjenesteavtalen er akseptert. Registrering mislyktes.";
-$a->strings["Passwords do not match."] = "Passordene er ikke like.";
-$a->strings["Registration successful. Please check your email for validation instructions."] = "Registreringen er vellykket. Vennligst sjekk e-posten din for å bekrefte opprettelsen.";
-$a->strings["Your registration is pending approval by the site owner."] = "Din registrering venter på godkjenning av nettstedets eier.";
-$a->strings["Your registration can not be processed."] = "Din registrering kan ikke behandles.";
-$a->strings["Registration on this site/hub is by approval only."] = "Registrering på dette nettstedet/denne hubben skjer bare gjennom godkjenning.";
-$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrer på et annet tilknyttet nettsted/hub</a>";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Dette nettstedet har overskredet antallet tillate kontoregistreringer per dag. Vennligst prøv igjen imorgen.";
-$a->strings["Terms of Service"] = "Tjenesteavtale";
-$a->strings["I accept the %s for this website"] = "Jeg godtar %s for dette nettstedet";
-$a->strings["I am over 13 years of age and accept the %s for this website"] = "Jeg er over 13 år gammel og aksepterer %s for dette nettstedet.";
-$a->strings["Registration"] = "Registrering";
-$a->strings["Membership on this site is by invitation only."] = "Medlemskap ved dette nettstedet skjer kun via invitasjon.";
-$a->strings["Please enter your invitation code"] = "Vennligst skriv din invitasjonskode";
-$a->strings["Your email address"] = "Din e-postadresse";
-$a->strings["Choose a password"] = "Velg et passord";
-$a->strings["Please re-enter your password"] = "Vennligst skriv ditt passord en gang til";
+$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s følger %2\$s sin %3\$s";
$a->strings["Away"] = "Borte";
$a->strings["Online"] = "Online";
$a->strings["Please login."] = "Vennligst logg inn.";
-$a->strings["Red Matrix - Guests: Username: {your email address}, Password: +++"] = "Red Matrix - gjester: brukernavn: {din e-postadresse}, passord: +++";
+$a->strings["No such group"] = "Gruppen finnes ikke";
+$a->strings["Search Results For:"] = "Søkeresultat for:";
+$a->strings["Collection is empty"] = "Samlingen er tom";
+$a->strings["Collection: "] = "Samling:";
+$a->strings["Connection: "] = "Forbindelse:";
+$a->strings["Invalid connection."] = "Ugyldig forbindelse.";
+$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Fjerning av kanaler er ikke tillatt innen 48 timer etter endring av kontopassordet.";
$a->strings["Remove This Channel"] = "Fjern denne kanalen";
$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Dette vil fullstendig fjerne kanalen fra nettverket. NÃ¥r det er gjort kan det ikke angres.";
$a->strings["Please enter your password for verification:"] = "Vennligst skriv ditt passord for å få bekreftelse:";
@@ -1106,21 +1186,41 @@ $a->strings["Authentication failed."] = "Autentisering mislyktes.";
$a->strings["Remote Authentication"] = "Fjernautentisering";
$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Skriv din kanaladresse (for eksempel channel@exampel.com)";
$a->strings["Authenticate"] = "Autentiser";
-$a->strings["Continue"] = "Fortsett";
-$a->strings["Premium Channel Setup"] = "Premiumkanal-oppsett";
-$a->strings["Enable premium channel connection restrictions"] = "Slå på restriksjoner for forbindelse med premiumkanal";
-$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Vennligst skriv dine restriksjoner og betingelser, slik som PayPal-kvittering, retningslinjer for bruk, og så videre.";
-$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Denne kanalen kan kreve ytterligere steg og bekreftelse av følgende betingelser før tilkobling:";
-$a->strings["Potential connections will then see the following text before proceeding:"] = "Potensielle forbindelser vil da se følgende tekst før de går videre:";
-$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Ved å fortsette bekrefter jeg at jeg har oppfylt alle instruksjoner gitt på denne siden.";
-$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Ingen spesifikke instruksjoner er gitt av kanaleieren.)";
-$a->strings["Restricted or Premium Channel"] = "Begrenset kanal eller premiumkanal";
-$a->strings["No such group"] = "Gruppen finnes ikke";
-$a->strings["Search Results For:"] = "Søkeresultat for:";
-$a->strings["Collection is empty"] = "Samlingen er tom";
-$a->strings["Collection: "] = "Samling:";
-$a->strings["Connection: "] = "Forbindelse:";
-$a->strings["Invalid connection."] = "Ugyldig forbindelse.";
+$a->strings["- select -"] = "- velg -";
+$a->strings["Page owner information could not be retrieved."] = "Informasjon om sideeier kunne ikke hentes.";
+$a->strings["Album not found."] = "Albumet ble ikke funnet.";
+$a->strings["Delete Album"] = "Slett album";
+$a->strings["Delete Photo"] = "Slett bilde";
+$a->strings["No photos selected"] = "Ingen bilder valgt";
+$a->strings["Access to this item is restricted."] = "Tilgang til dette elementet er begrenset.";
+$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB av %2$.2f MB lagringsplass til bilder er brukt.";
+$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB lagringsplass til bilder er brukt.";
+$a->strings["Upload Photos"] = "Last opp bilder";
+$a->strings["Enter a new album name"] = "Skriv et nytt albumnavn";
+$a->strings["or select an existing one (doubleclick)"] = "eller velg et eksisterende album (dobbeltklikk)";
+$a->strings["Do not show a status post for this upload"] = "Ikke lag et statusinnlegg for denne oppdateringen";
+$a->strings["Album name could not be decoded"] = "Albumnavnet kunne ikke dekodes";
+$a->strings["Contact Photos"] = "Kontaktbilder";
+$a->strings["Show Newest First"] = "Vis nyeste først";
+$a->strings["Show Oldest First"] = "Vis eldste først";
+$a->strings["View Photo"] = "Vis foto";
+$a->strings["Edit Album"] = "Endre album";
+$a->strings["Permission denied. Access to this item may be restricted."] = "Tillatelse avvist. Tilgang til dette elementet kan være begrenset.";
+$a->strings["Photo not available"] = "Bilde er utilgjengelig";
+$a->strings["Use as profile photo"] = "Bruk som profilbilde";
+$a->strings["Private Photo"] = "Privat bilde";
+$a->strings["View Full Size"] = "Vis i full størrelse";
+$a->strings["Remove"] = "Fjern";
+$a->strings["Edit photo"] = "Endre bilde";
+$a->strings["Rotate CW (right)"] = "Roter med klokka (mot høyre)";
+$a->strings["Rotate CCW (left)"] = "Roter mot klokka (venstre)";
+$a->strings["Caption"] = "Overskrift";
+$a->strings["Add a Tag"] = "Legg til merkelapp";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Eksempel: @bob, @Barbara_Jensen, @jim@example.com";
+$a->strings["Flag as adult in album view"] = "Flag som voksent i albumvisning";
+$a->strings["In This Photo:"] = "I dette bildet:";
+$a->strings["View Album"] = "Vis album";
+$a->strings["Recent Photos"] = "Nye bilder";
$a->strings["Could not access contact record."] = "Fikk ikke tilgang til kontaktinformasjonen.";
$a->strings["Could not locate selected profile."] = "Fant ikke valgt profil.";
$a->strings["Connection updated."] = "Forbindelsen er oppdatert.";
@@ -1130,7 +1230,6 @@ $a->strings["Ignored"] = "Ignorert";
$a->strings["Hidden"] = "Skjult";
$a->strings["Archived"] = "Arkivert";
$a->strings["All"] = "Alle";
-$a->strings["Unconnected"] = "Ikke tilkoblet";
$a->strings["Suggest new connections"] = "Foreslå nye forbindelser";
$a->strings["New Connections"] = "Nye forbindelser";
$a->strings["Show pending (new) connections"] = "Vis ventende (nye) forbindelser";
@@ -1141,12 +1240,18 @@ $a->strings["Only show blocked connections"] = "Vis bare forbindelser som er blo
$a->strings["Only show ignored connections"] = "Vis bare ignorerte forbindelser";
$a->strings["Only show archived connections"] = "Vis bare arkiverte forbindelser";
$a->strings["Only show hidden connections"] = "Vis bare skjulte forbindelser";
-$a->strings["Only show one-way connections"] = "Vis bare en-veis-forbindelser";
$a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-$a->strings["Edit contact"] = "Endre kontakt";
+$a->strings["Edit connection"] = "Endre forbindelse";
$a->strings["Search your connections"] = "Søk blant dine forbindelser";
$a->strings["Finding: "] = "Fant:";
+$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du har laget %1$.0f av %2$.0f tillatte kanaler.";
+$a->strings["Create a new channel"] = "Lag en ny kanal";
+$a->strings["Current Channel"] = "Gjeldende kanal";
+$a->strings["Attach to one of your channels by selecting it."] = "Bytt til en av dine kanaler ved å velge den.";
+$a->strings["Default Channel"] = "Standardkanal";
+$a->strings["Make Default"] = "Gjør til standard";
$a->strings["Edit post"] = "Endre innlegg";
+$a->strings["is now connected to"] = "er nå forbundet til";
$a->strings["Could not access address book record."] = "Fikk ikke tilgang til informasjonen i adresseboken.";
$a->strings["Refresh failed - channel is currently unavailable."] = "Oppfrisking mislyktes - kanalen er for øyeblikket utilgjengelig.";
$a->strings["Channel has been unblocked"] = "Kanalen er ikke blokkert lenger";
@@ -1181,9 +1286,9 @@ $a->strings["Hide or Unhide this connection"] = "Skjul eller fjern skjuling av d
$a->strings["Delete this connection"] = "Slett denne forbindelsen";
$a->strings["Approve this connection"] = "Godta denne forbindelsen";
$a->strings["Accept connection to allow communication"] = "Godta denne forbindelsen for å tillate kommunikasjon";
-$a->strings["Automatic Permissions Settings"] = "Automatiske innstillinger for tillatelser";
$a->strings["Connections: settings for %s"] = "Forbindelser: innstillinger for %s";
-$a->strings["When receiving a channel introduction, any permissions provided here will be applied to the new connection automatically and the introduction approved. Leave this page if you do not wish to use this feature."] = "Når du mottar en kanal-introduksjon, så vil alle tillatelser gitt her gjelde for den nye forbindelsen automatisk og introduksjonen godkjennes. Forlat denne siden hvis du ikke ønsker å bruke denne egenskapen.";
+$a->strings["Apply these permissions automatically"] = "Bruk disse tillatelsene automatisk";
+$a->strings["Apply the permissions indicated on this page to all new connections."] = "Bruk tillatelsene angitt på denne siden på alle nye forbindelser.";
$a->strings["Slide to adjust your degree of friendship"] = "Flytt for å justere din grad av vennskap";
$a->strings["inherited"] = "arvet";
$a->strings["Connection has no individual permissions!"] = "Forbindelsen har ingen individuelle tillatelser!";
@@ -1219,107 +1324,45 @@ $a->strings["Currently archived"] = "For øyeblikket arkivert";
$a->strings["Currently pending"] = "For øyeblikket ventende";
$a->strings["Hide this contact from others"] = "Skjul denne kontakten for andre";
$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Svar/likes på dine offentlige innlegg <strong>kan</strong> fortsatt være synlige";
-$a->strings["No potential page delegates located."] = "Ingen potensielle sidedelegater er funnet.";
-$a->strings["Delegate Page Management"] = "Deleger sidehåndtering";
-$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Delegater kan håndtere alle sider ved denne kontoen/siden unntatt grunnleggende kontoinformasjon. Vennligst ikke deleger din personlige konto til noen du ikke stoler fullstendig på.";
-$a->strings["Existing Page Managers"] = "Eksisterende sidehåndterere";
-$a->strings["Existing Page Delegates"] = "Eksisterende sidedelegater";
-$a->strings["Potential Delegates"] = "Potensielle sidedelegater";
-$a->strings["Remove"] = "Fjern";
-$a->strings["Add"] = "Legg til";
-$a->strings["No entries."] = "Ingen oppføringer.";
-$a->strings["Public access denied."] = "Offentlig tilgang avvist.";
-$a->strings["Gender: "] = "Kjønn:";
-$a->strings["Finding:"] = "Finner:";
-$a->strings["next page"] = "neste side";
-$a->strings["previous page"] = "forrige side";
-$a->strings["No entries (some entries may be hidden)."] = "Ingen oppføringer (noen oppføringer kan være skjult).";
-$a->strings["Status: "] = "Status:";
-$a->strings["Sexual Preference: "] = "Seksuelle preferanser:";
-$a->strings["Homepage: "] = "Hjemmeside:";
-$a->strings["Hometown: "] = "Hjemby:";
-$a->strings["About: "] = "Om:";
-$a->strings["Keywords: "] = "Nøkkelord:";
+$a->strings["OpenID protocol error. No ID returned."] = "OpenID protokollfeil. Ingen ID ble returnert.";
+$a->strings["Thing updated"] = "Tingen er oppdatert";
+$a->strings["Object store: failed"] = "Objektlagring: mislyktes";
+$a->strings["Thing added"] = "Ting lagt til";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+$a->strings["Show Thing"] = "Vis ting";
+$a->strings["item not found."] = "element ble ikke funnet.";
+$a->strings["Edit Thing"] = "Endre ting";
+$a->strings["Select a profile"] = "Velg en profil";
+$a->strings["Post an activity"] = "Legg inn en aktivitet";
+$a->strings["Only sends to viewers of the applicable profile"] = "Sender bare til seere av den aktuelle profilen";
+$a->strings["Name of thing e.g. something"] = "Navn på ting for eksempel noe";
+$a->strings["URL of thing (optional)"] = "URL til ting (valgfritt)";
+$a->strings["URL for photo of thing (optional)"] = "URL til bilde av ting (valgfritt)";
+$a->strings["Add Thing to your Profile"] = "Legg til ting i din profil";
+$a->strings["No valid account found."] = "Ingen gyldig konto funnet.";
+$a->strings["Password reset request issued. Check your email."] = "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din.";
+$a->strings["Site Member (%s)"] = "Nettstedsmedlem (%s)";
+$a->strings["Password reset requested at %s"] = "Forespurt om å tilbakestille passord hos %s";
+$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes.";
+$a->strings["Password Reset"] = "Tilbakestill passord";
+$a->strings["Your password has been reset as requested."] = "Ditt passord har blitt tilbakestilt som forespurt.";
+$a->strings["Your new password is"] = "Ditt nye passord er";
+$a->strings["Save or copy your new password - and then"] = "Lagre eller kopier ditt nye passord, og deretter kan du";
+$a->strings["click here to login"] = "klikke her for å logge inn";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging.";
+$a->strings["Your password has changed at %s"] = "Ditt passord er endret hos %s";
+$a->strings["Forgot your Password?"] = "Glemt passord ditt?";
+$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner.";
+$a->strings["Email Address"] = "E-postadresse";
+$a->strings["Reset"] = "Tilbakestill";
+$a->strings["Bookmark added"] = "Bokmerke lagt til";
+$a->strings["My Bookmarks"] = "Mine bokmerker";
+$a->strings["My Connections Bookmarks"] = "Mine forbindelsers bokmerker";
$a->strings["This site is not a directory server"] = "Dette nettstedet er ikke en katalogtjener";
-$a->strings["Red Matrix Server - Setup"] = "Red Matrix tjener - oppsett";
-$a->strings["Could not connect to database."] = "Fikk ikke kontakt med databasen.";
-$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Fikk ikke kontakt med det angitte nettstedets URL. Problemet kan muligens skyldes SSL-sertifikatet eller DNS.";
-$a->strings["Could not create table."] = "Kunne ikke lage tabellen.";
-$a->strings["Your site database has been installed."] = "Databasen til ditt nettsted har blitt installert.";
-$a->strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "Du må kanskje importere filen \"install/database.sql\" manuelt ved hjelp av phpmyadmin eller mysql.";
-$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Vennligst les filen \"install/INSTALL.txt\".";
-$a->strings["System check"] = "Systemsjekk";
-$a->strings["Next"] = "Neste";
-$a->strings["Check again"] = "Sjekk igjen";
-$a->strings["Database connection"] = "Databaseforbindelse";
-$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "For å installere Red Matrix må du oppgi hvordan din database kan kontaktes.";
-$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Vennligst kontakt din nettstedstilbyder eller nettstedsadministrator hvis du har spørsmål om disse innstillingene.";
-$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Databasen du oppgir nedenfor må finnes på forhånd. Hvis den ikke finnes, vennligst lag den før du fortsetter.";
-$a->strings["Database Server Name"] = "Navn på databasetjener";
-$a->strings["Default is localhost"] = "Standard er localhost";
-$a->strings["Database Port"] = "Databaseport";
-$a->strings["Communication port number - use 0 for default"] = "Kommunikasjonsportnummer - bruk 0 for standard";
-$a->strings["Database Login Name"] = "Database innloggingsnavn";
-$a->strings["Database Login Password"] = "Database innloggingspassord";
-$a->strings["Database Name"] = "Databasenavn";
-$a->strings["Site administrator email address"] = "E-postadressen til administrator ved nettstedet";
-$a->strings["Your account email address must match this in order to use the web admin panel."] = "Din konto sin e-postadresse må være lik denne for å kunne bruke web-administrasjonspanelet.";
-$a->strings["Website URL"] = "Nettstedets URL";
-$a->strings["Please use SSL (https) URL if available."] = "Vennligst bruk SSL (https) URL hvis tilgjengelig.";
-$a->strings["Please select a default timezone for your website"] = "Vennligst velg en standard tidssone for ditt nettsted";
-$a->strings["Site settings"] = "Nettstedets innstillinger";
-$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Fant ikke en kommandolinjeversjon av PHP i webtjenerens sti (PATH).";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Hvis du ikke har en kommandolinjeversjon av PHP installert på tjeneren, så vil du ikke kunne kjøre bakgrunnshenting via cron.";
-$a->strings["PHP executable path"] = "PHP-kjørefilens sti";
-$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Skriv full sti til kjørefilen for PHP. Du kan la denne stå blank for å fortsette installasjonen.";
-$a->strings["Command line PHP"] = "Kommandolinje PHP";
-$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Kommandolinjeversjonen av PHP på ditt system har ikke \"register_argc_argv\" påskrudd.";
-$a->strings["This is required for message delivery to work."] = "Dette er påkrevd for at meldingslevering skal virke.";
-$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Feil: \"openssl_pkey_new\"-funksjonen på dette systemet er ikke i stand til å lage krypteringsnøkler";
-$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Ved kjøring på Windows, vennligst se \"http://www.php.net/manual/en/openssl.installation.php\".";
-$a->strings["Generate encryption keys"] = "Lag krypteringsnøkler";
-$a->strings["libCurl PHP module"] = "libCurl PHP-modul";
-$a->strings["GD graphics PHP module"] = "GD graphics PHP-modul";
-$a->strings["OpenSSL PHP module"] = "OpenSSL PHP-modul";
-$a->strings["mysqli PHP module"] = "mysqli PHP-modul";
-$a->strings["mb_string PHP module"] = "mb_string PHP-modul";
-$a->strings["mcrypt PHP module"] = "mcrypt PHP-modul";
-$a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite-modul";
-$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Feil: Apache web-tjenerens mod-rewrite-modul er påkrevd, men ikke installert.";
-$a->strings["proc_open"] = "proc_open";
-$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Feil: proc_open er påkrevd, men er enten ikke installert eller har blitt avskrudd i php.ini";
-$a->strings["Error: libCURL PHP module required but not installed."] = "Feil: libCURL PHP-modul er påkrevd, men er ikke installert.";
-$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Feil: GD graphics PHP-modul med JPEG-støtte er påkrevd, men er ikke installert.";
-$a->strings["Error: openssl PHP module required but not installed."] = "Feil: openssl PHP-modul er påkrevd, men er ikke installert.";
-$a->strings["Error: mysqli PHP module required but not installed."] = "Feil: mysqli PHP-modul er påkrevd, men er ikke installert.";
-$a->strings["Error: mb_string PHP module required but not installed."] = "Feil: mb_string PHP-modul er påkrevd, men er ikke installert.";
-$a->strings["Error: mcrypt PHP module required but not installed."] = "Feil: mcrypt PHP-modul er påkrevd, men er ikke installert.";
-$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "Web-installasjonen må kunne lage en fil kalt \".htconfig.php\" i toppkatalogen til web-tjeneren din, men dette får den ikke til.";
-$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Dette er oftest tillatelsesinnstilling, ettersom webtjeneren kanskje kan skrive til filer i din mappe - selv om du kan.";
-$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "På slutten av denne prosedyren vil vi gi deg en tekst til å lagre i en fil kalt .htconfig.php i toppkatalogen til din Red.";
-$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativt, så kan du hoppe over denne prosedyren og gjennomføre en manuell installasjon. Vennligst se filen \"install/INSTALL.txt\" for instruksjoner.";
-$a->strings[".htconfig.php is writable"] = ".htconfig.php kan skrives til";
-$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red bruker malmotoren Smarty3 for å gjengi sine webvisninger. Smarty3 kompilerer malene om til PHP for å framskynde gjengivelsen.";
-$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory view/tpl/smarty3/ under the Red top level folder."] = "For å kunne lagre disse kompilerte malene, så må webtjeneren ha skrivetilgang til katalogen view/tpl/smarty3/ under Red sin hovedmappe.";
-$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Vennligst sikre at brukeren som din web-tjeneste kjører som (for eksempel www-data) har skrivetilgang til denne katalogen.";
-$a->strings["Note: as a security measure, you should give the web server write access to view/tpl/smarty3/ only--not the template files (.tpl) that it contains."] = "Merknad: som et sikkerhetstiltak bør du bare gi webtjerenn skrivetilgang til view/tpl/smarty3/ - ikke til malfilene (.tpl) som den inneholder.";
-$a->strings["view/tpl/smarty3 is writable"] = "view/tpl/smarty3 er skrivbar";
-$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red bruker lagringsmappen for å lagre opplastede filer. Webtjeneren trenger å ha skrivetilgang til lagringsmappen under Red sin toppnivåmappe.";
-$a->strings["store is writable"] = "lageret kan skrives til";
-$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "SSL-sertifikatet kan ikke kontrolleres. Fiks sertifikatet eller skru av https tilgang til dette nettstedet.";
-$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Hvis du har HTTPS-tilgang til ditt nettsted eller tillater forbindelser til TCP port 443 (HTTPS-porten), så MÅ du bruke nettlesergodkjent sertifkater. Du MÅ IKKE bruke egensignert sertifikater!";
-$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Denne begrensningen er tatt inn fordi offentlige innlegg fra deg kan for eksempel inneholde referanser til bilder på din egen hub.";
-$a->strings["If your certificate is not recognised, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Hvis sertifikatet ditt ikke gjenkjennes, så vil medlemmer på andre nettsteder (som selv kan ha godkjente sertifikater) få en beskjed med en advarsel på deres eget nettsted som klager over sikkerhetsproblemer.";
-$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Dette kan gi problemer med brukervennlighet (ikke bare på ditt eget nettsted), så vi må insistere på dette kravet.";
-$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Det finnes tilbydere som utsteder gratis sertifikater som er gyldige i nettlesere.";
-$a->strings["SSL certificate validation"] = "SSL sertifikat-kontroll";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "URL rewrite i .htaccess virker ikke. Sjekk konfigurasjonen på tjeneren.";
-$a->strings["Url rewrite is working"] = "URL rewrite virker";
-$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Databasekonfigurasjonsfilen \".htconfig.php\" kunne ikke skrives. Vennligst bruk den medfølgende teksten for å lage en konfigurasjonsfil i toppkatalogen av din web-tjener.";
-$a->strings["Errors encountered creating database tables."] = "Feil oppstod under opprettelsen av databasetabeller.";
-$a->strings["<h1>What next</h1>"] = "<h1>Hva gjenstår</h1>";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "VIKTIG: Du må [manuelt] sette opp en automatisert tidfestet oppgave til bakgrunnshenteren.";
+$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "RedMatrix - gjester: brukernavn: {din e-postadresse}, passord: +++";
+$a->strings["sent you a private message"] = "sendte deg en privat melding";
+$a->strings["added your channel"] = "la til din kanal";
+$a->strings["posted an event"] = "la ut en hendelse";
$a->strings["Item not found"] = "Elementet ble ikke funnet.";
$a->strings["Edit Block"] = "Endre byggekloss";
$a->strings["Delete block?"] = "Slett byggeklossen?";
@@ -1337,51 +1380,162 @@ $a->strings["Delete layout?"] = "Slett layout?";
$a->strings["Delete Layout"] = "Slett layout";
$a->strings["Item is not editable"] = "Elementet kan ikke endres";
$a->strings["Delete item?"] = "Slett element?";
+$a->strings["Name is required"] = "Navn er påkrevd";
+$a->strings["Key and Secret are required"] = "Nøkkel og hemmelighet er påkrevd";
+$a->strings["Passwords do not match. Password unchanged."] = "Passordene stemmer ikke overens. Passord uforandret.";
+$a->strings["Empty passwords are not allowed. Password unchanged."] = "Tomme passord er ikke tillatt. Passord uforandret.";
+$a->strings["Password changed."] = "Passord endret.";
+$a->strings["Password update failed. Please try again."] = "Passord oppdatering mislyktes. Vennligst prøv igjen.";
+$a->strings["Not valid email."] = "Ikke gyldig e-post.";
+$a->strings["Protected email address. Cannot change to that email."] = "Beskyttet e-postadresse. Kan ikke endre til den e-postadressen.";
+$a->strings["System failure storing new email. Please try again."] = "Systemfeil ved lagring av ny e-post. Vennligst prøv igjen.";
+$a->strings["Settings updated."] = "Innstillinger oppdatert.";
+$a->strings["Add application"] = "Legg til program";
+$a->strings["Name of application"] = "Navn på program";
+$a->strings["Consumer Key"] = "Consumer Key";
+$a->strings["Automatically generated - change if desired. Max length 20"] = "Automatisk laget - kan endres om du vil. Største lengde 20";
+$a->strings["Consumer Secret"] = "Consumer Secret";
+$a->strings["Redirect"] = "Omdirigering";
+$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "Omdirigerings-URI - la stå tomt hvis ikke ditt program spesifikt krever dette";
+$a->strings["Icon url"] = "Ikon-URL";
+$a->strings["Optional"] = "Valgfritt";
+$a->strings["You can't edit this application."] = "Du kan ikke endre dette programmet.";
+$a->strings["Connected Apps"] = "Tilkoblede app-er";
+$a->strings["Client key starts with"] = "Klientnøkkel starter med";
+$a->strings["No name"] = "Ikke noe navn";
+$a->strings["Remove authorization"] = "Fjern tillatelse";
+$a->strings["No feature settings configured"] = "Ingen funksjonsinnstillinger er konfigurert";
+$a->strings["Feature Settings"] = "Funksjonsinnstillinger";
+$a->strings["Account Settings"] = "Kontoinnstillinger";
+$a->strings["Password Settings"] = "Passordinnstillinger";
+$a->strings["New Password:"] = "Nytt passord:";
+$a->strings["Confirm:"] = "Bekreft:";
+$a->strings["Leave password fields blank unless changing"] = "La passordfeltene stå blanke om det ikke skal endres";
+$a->strings["Email Address:"] = "E-postadresse:";
+$a->strings["Remove Account"] = "Slett konto";
+$a->strings["Remove this account from this server including all its channels"] = "Slett denne kontoen inkludert alle dens kanaler fra denne tjeneren";
+$a->strings["Warning: This action is permanent and cannot be reversed."] = "Advarsel: Denne handlingen er permanent og kan ikke angres.";
+$a->strings["Off"] = "Av";
+$a->strings["On"] = "PÃ¥";
+$a->strings["Additional Features"] = "Ekstra funksjoner";
+$a->strings["Connector Settings"] = "Koblingsinnstillinger";
+$a->strings["No special theme for mobile devices"] = "Ikke noe spesielt tema for mobile enheter";
+$a->strings["%s - (Experimental)"] = "%s - (Eksperimentelt)";
+$a->strings["Display Settings"] = "Visningsinnstillinger";
+$a->strings["Display Theme:"] = "Visningstema:";
+$a->strings["Mobile Theme:"] = "Mobiltema:";
+$a->strings["Enable user zoom on mobile devices"] = "Skru på brukerstyrt zoom på mobile enheter";
+$a->strings["Update browser every xx seconds"] = "Oppdater nettleser hvert xx sekunder";
+$a->strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 sekunder, ikke noe maksimum";
+$a->strings["Maximum number of conversations to load at any time:"] = "Maksimalt antall samtaler å laste samtidig:";
+$a->strings["Maximum of 100 items"] = "Maksimum 100 elementer";
+$a->strings["Don't show emoticons"] = "Ikke vis følelsesikoner";
+$a->strings["Link post titles to source"] = "Lenk innleggets tittel til kilden";
+$a->strings["System Page Layout Editor - (advanced)"] = "Systemsidens layoutbehandler - (avansert)";
+$a->strings["Nobody except yourself"] = "Ingen unntatt deg selv";
+$a->strings["Only those you specifically allow"] = "Bare de du spesifikt tillater";
+$a->strings["Approved connections"] = "Godkjente forbindelser";
+$a->strings["Any connections"] = "Enhver forbindelse";
+$a->strings["Anybody on this website"] = "Enhver ved dette nettstedet";
+$a->strings["Anybody in this network"] = "Enhver i dette nettverket";
+$a->strings["Anybody authenticated"] = "Enhver som er autentisert";
+$a->strings["Anybody on the internet"] = "Enhver på Internett";
+$a->strings["Publish your default profile in the network directory"] = "Publiser din standardprofil i nettverkskatalogen";
+$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Tillat oss å foreslå deg som en mulig venn til nye medlemmer?";
+$a->strings["or"] = "eller";
+$a->strings["Your channel address is"] = "Din kanaladresse er";
+$a->strings["Channel Settings"] = "Kanalinnstillinger";
+$a->strings["Basic Settings"] = "Grunninnstillinger";
+$a->strings["Your Timezone:"] = "Din tidssone:";
+$a->strings["Default Post Location:"] = "Standard plassering ved innlegg:";
+$a->strings["Geographical location to display on your posts"] = "Geografisk plassering som vises på dine innlegg";
+$a->strings["Use Browser Location:"] = "Bruk nettleseren sin plassering:";
+$a->strings["Adult Content"] = "Voksent innhold";
+$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Denne kanalen vil ofte eller jevnlig publisere voksent innhold. (Vennligst merk alt voksent materiale og/eller nakenhet med #NSFW)";
+$a->strings["Security and Privacy Settings"] = "Sikkerhets- og personverninnstillinger";
+$a->strings["Your permissions are already configured. Click to view/adjust"] = "Dine tillatelser er allerede satt. Klikk for å se/justere.";
+$a->strings["Hide my online presence"] = "Skjul min tilstedeværelse online";
+$a->strings["Prevents displaying in your profile that you are online"] = "Forhindrer visning på din profil av at du er online ";
+$a->strings["Simple Privacy Settings:"] = "Enkle personverninnstillinger:";
+$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Svært offentlig - <em>ekstremt åpent (bør brukes med varsomhet)</em>";
+$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Typisk - <em>standard er offentlig, personvern når ønsket (likner på tillatelser i sosiale nettverk, men med forbedret personvern)</em>";
+$a->strings["Private - <em>default private, never open or public</em>"] = "Privat - <em>standard er privat, aldri åpen eller offentlig</em>";
+$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Blokkert - <em>standard blokkert til/fra alle</em>";
+$a->strings["Allow others to tag your posts"] = "Tillat andre å merke dine innlegg";
+$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Ofte brukt av fellesskapet for å merke upassende innhold i etterkant";
+$a->strings["Advanced Privacy Settings"] = "Avanserte personverninnstillinger";
+$a->strings["Expire other channel content after this many days"] = "Annet kanal innhold utløper etter så mange dager";
+$a->strings["0 or blank prevents expiration"] = "0 eller blankt forhindrer utløp";
+$a->strings["Maximum Friend Requests/Day:"] = "Maksimalt antall venneforespørsler per dag:";
+$a->strings["May reduce spam activity"] = "Kan redusere søppelpostaktivitet";
+$a->strings["Default Post Permissions"] = "Standard innleggstillatelser";
+$a->strings["Channel permissions category:"] = "Kategori med kanaltillatelser:";
+$a->strings["Maximum private messages per day from unknown people:"] = "Maksimalt antall private meldinger per dag fra ukjente personer:";
+$a->strings["Useful to reduce spamming"] = "Nyttig for å redusere søppelpost";
+$a->strings["Notification Settings"] = "Varslingsinnstillinger";
+$a->strings["By default post a status message when:"] = "Legg inn en statusmelding når du:";
+$a->strings["accepting a friend request"] = "aksepterer en venneforespørsel";
+$a->strings["joining a forum/community"] = "blir med i et forum/miljø";
+$a->strings["making an <em>interesting</em> profile change"] = "gjør en <em>interessant</em> profilendring";
+$a->strings["Send a notification email when:"] = "Send en varsel-e-post når:";
+$a->strings["You receive a connection request"] = "Du har mottatt en forespørsel om forbindelse";
+$a->strings["Your connections are confirmed"] = "Dine forbindelser er bekreftet";
+$a->strings["Someone writes on your profile wall"] = "Noen skriver på din profilvegg";
+$a->strings["Someone writes a followup comment"] = "Noen skriver en oppfølgende kommentar";
+$a->strings["You receive a private message"] = "Du mottar en privat melding";
+$a->strings["You receive a friend suggestion"] = "Du mottok et venneforslag";
+$a->strings["You are tagged in a post"] = "Du merkes i et innlegg";
+$a->strings["You are poked/prodded/etc. in a post"] = "Du ble prikket/oppildnet/og så vider i et innlegg";
+$a->strings["Show visual notifications including:"] = "Vis visuelle varslinger om:";
+$a->strings["Unseen matrix activity"] = "Usett matrixaktivitet";
+$a->strings["Unseen channel activity"] = "Usett kanalaktivitet";
+$a->strings["Unseen private messages"] = "Usette private meldinger";
+$a->strings["Recommended"] = "Anbefalt";
+$a->strings["Upcoming events"] = "Kommende hendelser";
+$a->strings["Events today"] = "Hendelser idag";
+$a->strings["Upcoming birthdays"] = "Kommende fødselsdager";
+$a->strings["Not available in all themes"] = "Ikke tilgjengelig i alle temaer";
+$a->strings["System (personal) notifications"] = "System (personlige) varslinger";
+$a->strings["System info messages"] = "System infomeldinger";
+$a->strings["System critical alerts"] = "System kritiske varsel";
+$a->strings["New connections"] = "Nye forbindelser";
+$a->strings["System Registrations"] = "Systemregistreringer";
+$a->strings["Notify me of events this many days in advance"] = "Varsle meg om hendelser dette antall dager på forhånd";
+$a->strings["Must be greater than 0"] = "Må være større enn 0";
+$a->strings["Advanced Account/Page Type Settings"] = "Avanserte innstillinger for konto/sidetype";
+$a->strings["Change the behaviour of this account for special situations"] = "Endre oppførselen til denne kontoen i spesielle situasjoner";
+$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Vennligst skru på ekspertmodus (under <a href=\"settings/features\">Innstillinger > Ekstra funksjoner</a>) for å justere!";
+$a->strings["Miscellaneous Settings"] = "Diverse innstillinger";
+$a->strings["Personal menu to display in your channel pages"] = "Personlig meny som kan vises på dine kanalsider";
+$a->strings["Remove this channel"] = "Fjern denne kanalen";
$a->strings["Edit Webpage"] = "Endre webside";
$a->strings["Delete webpage?"] = "Slett webside?";
$a->strings["Delete Webpage"] = "Slett webside";
-$a->strings["Version %s"] = "Versjon %s";
-$a->strings["Installed plugins/addons/apps:"] = "Installerte tilleggsfunksjoner/tillegg/apper:";
-$a->strings["No installed plugins/addons/apps"] = "Ingen installerte tilleggsfunksjoner/tillegg/apper";
-$a->strings["Red"] = "Red";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralised privacy enhanced websites."] = "Dette er en hub i Red Matrix - et globalt kooperativt nettverk av desentraliserte personvernforsterkede nettsteder.";
-$a->strings["Running at web location"] = "Kjører på webplasseringen";
-$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Red Matrix."] = "Vennligst besøk <a href=\"http://getzot.com\">GetZot.com</a> for å lære mer om Red Matrix.";
-$a->strings["Bug reports and issues: please visit"] = "Feilmeldinger og feilretting: vennligst besøk";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com";
-$a->strings["Site Administrators"] = "Nettstedsadministratorer";
-$a->strings["Failed to create source. No channel selected."] = "Mislyktes med å lage kilde. Ingen kanal er valgt.";
-$a->strings["Source created."] = "Kilden er laget.";
-$a->strings["Source updated."] = "Kilden er oppdatert.";
-$a->strings["*"] = "*";
-$a->strings["Manage remote sources of content for your channel."] = "HÃ¥ndtere eksterne innholdskilder til din kanal.";
-$a->strings["New Source"] = "Ny kilde";
-$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importer alt eller et utvalgt av innhold fra følgende kanal inn i denne kanalen og distribuer det i henhold til dine egne kanalinnstillinger.";
-$a->strings["Only import content with these words (one per line)"] = "Bare importer innhold med disse ordene (ett ord per linje)";
-$a->strings["Leave blank to import all public content"] = "La stå tomt for å importere alt offentlig innhold";
-$a->strings["Channel Name"] = "Kanalnavn";
-$a->strings["Source not found."] = "Kilden ble ikke funnet.";
-$a->strings["Edit Source"] = "Endre kilde";
-$a->strings["Delete Source"] = "Slett kilde";
-$a->strings["Source removed"] = "Kilden er fjernet";
-$a->strings["Unable to remove source."] = "Ikke i stand til å fjerne kilde.";
-$a->strings["- select -"] = "- velg -";
-$a->strings["Event title and start time are required."] = "Hendelsestittel og starttidspunkt er påkrevd.";
-$a->strings["l, F j"] = "l, F j";
-$a->strings["Edit event"] = "Endre hendelse";
-$a->strings["Create New Event"] = "Lag ny hendelse";
-$a->strings["Previous"] = "Forrige";
-$a->strings["hour:minute"] = "time:minutt";
-$a->strings["Event details"] = "Hendelsesdetaljer";
-$a->strings["Format is %s %s. Starting date and Title are required."] = "Formatet er %s %s. Startdato og tittel er påkrevd.";
-$a->strings["Event Starts:"] = "Hendelsen starter:";
-$a->strings["Required"] = "PÃ¥krevd";
-$a->strings["Finish date/time is not known or not relevant"] = "Sluttdato/-tidspunkt er ikke kjent eller ikke relevant";
-$a->strings["Event Finishes:"] = "Hendelsen slutter:";
-$a->strings["Adjust for viewer timezone"] = "Juster i forhold til tilskuerens tidssone";
-$a->strings["Description:"] = "Beskrivelse:";
-$a->strings["Title:"] = "Tittel:";
-$a->strings["Share this event"] = "Del denne hendelsen";
+$a->strings["webpage"] = "nettside";
+$a->strings["block"] = "byggekloss";
+$a->strings["layout"] = "layout";
+$a->strings["%s element installed"] = "%s element installert";
+$a->strings["Image uploaded but image cropping failed."] = "Bildet ble lastet opp, men beskjæring av bildet mislyktes.";
+$a->strings["Image resize failed."] = "Endring av bildestørrelse mislyktes.";
+$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Hold nede Shift-knappen og last siden på nytt eller tøm nettleserens mellomlager hvis det nye bildet ikke vises umiddelbart.";
+$a->strings["Image exceeds size limit of %d"] = "Bildet overstiger størrelsesbegrensningen på %d";
+$a->strings["Unable to process image."] = "Kan ikke behandle bildet.";
+$a->strings["Photo not available."] = "Bildet er ikke tilgjengelig.";
+$a->strings["Upload File:"] = "Last opp fil:";
+$a->strings["Select a profile:"] = "Velg en profil:";
+$a->strings["Upload Profile Photo"] = "Last opp profilbilde:";
+$a->strings["skip this step"] = "hopp over dette steget";
+$a->strings["select a photo from your photo albums"] = "velg et bilde fra dine fotoalbum";
+$a->strings["Crop Image"] = "Beskjær bildet";
+$a->strings["Please adjust the image cropping for optimum viewing."] = "Vennligst juster bildebeskjæringen for optimal visning.";
+$a->strings["Done Editing"] = "Avslutt redigering";
+$a->strings["Image uploaded successfully."] = "Opplasting av bildet var vellykket.";
+$a->strings["Image upload failed."] = "Opplasting av bildet mislyktes.";
+$a->strings["Image size reduction [%s] failed."] = "Forminsking av bildet [%s] mislyktes.";
+$a->strings["Contact not found."] = "Kontakten ble ikke funnet.";
+$a->strings["Friend suggestion sent."] = "Venneforespørsel sendt.";
+$a->strings["Suggest Friends"] = "Foreslå venner";
+$a->strings["Suggest a friend for %s"] = "Foreslå en venn for %s";
$a->strings["Permission Denied."] = "Tillatelse avvist.";
$a->strings["File not found."] = "Filen ble ikke funnet.";
$a->strings["Edit file permissions"] = "Endre filtillatelser";
@@ -1390,17 +1544,18 @@ $a->strings["Include all files and sub folders"] = "Inkluder alle filer og under
$a->strings["Return to file list"] = "GÃ¥ tilbake til filoversikten";
$a->strings["Copy/paste this code to attach file to a post"] = "Kopier og lim inn denne koden for å legge til filen i et innlegg";
$a->strings["Copy/paste this URL to link file from a web page"] = "Kopier og lim inn denne URL-en for å lenke til filen fra en webside";
-$a->strings["Download"] = "Last ned";
-$a->strings["Used: "] = "Brukt:";
-$a->strings["[directory]"] = "[mappe]";
-$a->strings["Limit: "] = "Grense:";
+$a->strings["Help:"] = "Hjelp:";
+$a->strings["Not Found"] = "Ikke funnet";
+$a->strings["network"] = "nettverk";
$a->strings["Channel added."] = "Kanal lagt til.";
-$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s følger %2\$s sin %3\$s";
-$a->strings["Contact not found."] = "Kontakten ble ikke funnet.";
-$a->strings["Friend suggestion sent."] = "Venneforespørsel sendt.";
-$a->strings["Suggest Friends"] = "Foreslå venner";
-$a->strings["Suggest a friend for %s"] = "Foreslå en venn for %s";
-$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Ingen forslag tilgjengelige. Hvis dette er et nytt nettsted, vennligst prøv igjen om 24 timer.";
+$a->strings["No potential page delegates located."] = "Ingen potensielle sidedelegater er funnet.";
+$a->strings["Delegate Page Management"] = "Deleger sidehåndtering";
+$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Delegater kan håndtere alle sider ved denne kontoen/siden unntatt grunnleggende kontoinformasjon. Vennligst ikke deleger din personlige konto til noen du ikke stoler fullstendig på.";
+$a->strings["Existing Page Managers"] = "Eksisterende sidehåndterere";
+$a->strings["Existing Page Delegates"] = "Eksisterende sidedelegater";
+$a->strings["Potential Delegates"] = "Potensielle sidedelegater";
+$a->strings["Add"] = "Legg til";
+$a->strings["No entries."] = "Ingen oppføringer.";
$a->strings["Collection created."] = "Samling opprettet.";
$a->strings["Could not create collection."] = "Kunne ikke lage samling.";
$a->strings["Collection updated."] = "Samlingen er oppdatert.";
@@ -1413,14 +1568,30 @@ $a->strings["Collection Editor"] = "Samlingsbehandler";
$a->strings["Members"] = "Medlemmer";
$a->strings["All Connected Channels"] = "Alle tilkoblede kanaler";
$a->strings["Click on a channel to add or remove."] = "Klikk på en kanal for å legge til eller fjerne.";
+$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Ingen forslag tilgjengelige. Hvis dette er et nytt nettsted, vennligst prøv igjen om 24 timer.";
+$a->strings["Your service plan only allows %d channels."] = "Din tjenesteplan tillater bare %d kanaler.";
+$a->strings["Nothing to import."] = "Ingenting å importere.";
+$a->strings["Unable to download data from old server"] = "Ikke i stand til å laste ned data fra gammel tjener";
+$a->strings["Imported file is empty."] = "Importert fil er tom.";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes.";
+$a->strings["Channel clone failed. Import failed."] = "Kanalkloning mislyktes. Import mislyktes.";
+$a->strings["Cloned channel not found. Import failed."] = "Klonet kanal ble ikke funnet. Import mislyktes.";
+$a->strings["Import completed."] = "Import ferdig.";
+$a->strings["You must be logged in to use this feature."] = "Du må være innlogget for å bruke denne funksjonen.";
+$a->strings["Import Channel"] = "Importer kanal";
+$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Bruk dette skjemaet til å importere en eksisterende kanal fra en annen tjener/hub. Du kan hente kanalidentiteten fra den gamle tjeneren/hubben via nettverket eller bruke en eksportert fil. Bare identiteten og forbindelser/relasjoner vil bli importert. Importering av innhold er ennå ikke tilgjengelig.";
+$a->strings["File to Upload"] = "Fil som skal lastes opp";
+$a->strings["Or provide the old server/hub details"] = "Eller oppgi detaljene fra den gamle tjeneren/hub-en";
+$a->strings["Your old identity address (xyz@example.com)"] = "Din gamle identitetsadresse (xyz@example.com)";
+$a->strings["Your old login email address"] = "Din gamle innloggings e-postadresse";
+$a->strings["Your old login password"] = "Ditt gamle innloggingspassord";
+$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Enten du tar det ene eller det andre valget, vennligst angi om du vil at denne hubben skal være din nye primære adresse, eller om din gamle plassering skal fortsette å ha denne rollen. Du kan lage innlegg fra den ene eller den andre plasseringen, men bare en av dem kan markeres som den primære plasseringen for filer, bilder og media.";
+$a->strings["Make this hub my primary location"] = "Gjør dette nettstedet til min primære plassering";
+$a->strings["Import existing posts if possible"] = "Importerer eksisterende innlegg hvis mulig.";
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s merket %3\$s til %2\$s med %4\$s";
-$a->strings["Help:"] = "Hjelp:";
-$a->strings["Not Found"] = "Ikke funnet";
$a->strings["Tag removed"] = "Merkelapp fjernet";
$a->strings["Remove Item Tag"] = "Fjern merkelapp fra element";
$a->strings["Select a tag to remove: "] = "Velg merkelapp å fjerne:";
-$a->strings["Red Matrix - &quot;The Network&quot;"] = "Red Matrix - &quot;Nettverket&quot;";
-$a->strings["Welcome to %s"] = "Velkommen til %s";
$a->strings["Theme settings updated."] = "Temainnstillinger er oppdatert.";
$a->strings["Site"] = "Nettsted";
$a->strings["Accounts"] = "Kontoer";
@@ -1428,6 +1599,7 @@ $a->strings["Channels"] = "Kanaler";
$a->strings["Plugins"] = "Tilleggsfunksjoner";
$a->strings["Themes"] = "Temaer";
$a->strings["Server"] = "Tjener";
+$a->strings["Profile Config"] = "Profilinnstillinger";
$a->strings["DB updates"] = "Databaseoppdateringer";
$a->strings["Logs"] = "Logger";
$a->strings["Plugin Features"] = "Tilleggsfunksjoner";
@@ -1440,7 +1612,9 @@ $a->strings["Pending registrations"] = "Ventende registreringer";
$a->strings["Version"] = "Versjon";
$a->strings["Active plugins"] = "Aktive tilleggsfunksjoner";
$a->strings["Site settings updated."] = "Nettstedsinnstillinger er oppdatert.";
-$a->strings["No special theme for accessibility"] = "Ikke noe spesielt tema for universell utforming";
+$a->strings["mobile"] = "mobil";
+$a->strings["experimental"] = "eksperimentell";
+$a->strings["unsupported"] = "ikke støttet";
$a->strings["Yes - with approval"] = "Ja - med godkjenning";
$a->strings["My site is not a public server"] = "Mitt nettsted er ikke en offentlig tjeneste";
$a->strings["My site has paid access only"] = "Mitt nettsted gir kun tilgang mot betaling";
@@ -1457,10 +1631,10 @@ $a->strings["System theme"] = "Systemtema";
$a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standard systemtema - kan overstyres av brukerprofiler - <a href='#' id='cnftheme'>endre temainnstillinger</a>";
$a->strings["Mobile system theme"] = "Mobilt systemtema";
$a->strings["Theme for mobile devices"] = "Tema for mobile enheter";
-$a->strings["Accessibility system theme"] = "Universelt utformet systemtema";
-$a->strings["Accessibility theme"] = "Universelt utformet tema";
-$a->strings["Channel to use for this website's static pages"] = "Kanal å bruke for dette nettstedets statiske sider";
-$a->strings["Site Channel"] = "Nettstedets kanal";
+$a->strings["Enable Diaspora Protocol"] = "Skru på Diaspora-protokollen";
+$a->strings["Communicate with Diaspora and Friendica - experimental"] = "Samhandling med Diaspora og Friendica - eksperimentell";
+$a->strings["Allow Feeds as Connections"] = "Tillat strømmer som forbindelser";
+$a->strings["(Heavy system resource usage)"] = "(Tung bruk av systemressurser)";
$a->strings["Maximum image size"] = "Største bildestørrelse";
$a->strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Største størrelse i bytes for opplastede bilder. Standard er 0, som betyr ubegrenset.";
$a->strings["Does this site allow new member registration?"] = "Tillater dette nettstedet registrering av nye medlemmer?";
@@ -1475,6 +1649,8 @@ $a->strings["Allowed email domains"] = "Tillate e-postdomener";
$a->strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Kommaseparert liste med domener som er tillatt i e-postadresser ved registrering på dette nettstedet. Jokertegn er akseptert. Tomt betyr at alle domener er tillatt";
$a->strings["Block public"] = "Blokker offentlig tilgang";
$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Kryss av for å blokkere tilgang til alle personlige sider som ellers ville vært offentlig tilgjengelige på dette nettstedet med mindre du er logget inn.";
+$a->strings["Verify Email Addresses"] = "Bekreft e-postadresser";
+$a->strings["Check to verify email addresses used in account registration (recommended)."] = "Sett hake for å sjekke e-postadresser brukt ved kontoregistrering (anbefales).";
$a->strings["Force publish"] = "Tving publisering";
$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Kryss av for å tvinge alle profiler på dette nettstedet til å bli oppført i nettstedet sin katalog.";
$a->strings["Disable discovery tab"] = "Skru av oppdagelsesfanen";
@@ -1514,7 +1690,6 @@ $a->strings["%s user deleted"] = array(
1 => "%s brukere slettet",
);
$a->strings["Account not found"] = "Kontoen ble ikke funnet";
-$a->strings["User '%s' deleted"] = "Brukeren '%s' er slettet";
$a->strings["User '%s' unblocked"] = "Brukeren '%s' er ikke blokkert lenger";
$a->strings["User '%s' blocked"] = "Brukeren '%s' er blokkert";
$a->strings["Users"] = "Brukere";
@@ -1531,8 +1706,8 @@ $a->strings["Service Class"] = "Tjenesteklasse";
$a->strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Valgte brukere vil bli slettet!\\n\\nAlt som disse brukerne har lagt inn på dette nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette valgte brukere og deres innhold?";
$a->strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Brukeren {0} vil bli slettet!\\n\\nAlt denne brukeren har lagt inn på dette nettstedet vil bli slettet for alltid!\\n\\nEr du sikker på at du vil slette denne brukeren og alt innholdet til denne brukeren?";
$a->strings["%s channel censored/uncensored"] = array(
- 0 => "%s kanal sensurert/ikke sensurert lenger",
- 1 => "%s kanaler sensurert/ikke sensurert lenger",
+ 0 => "%s kanal er sensurert/ikke sensurert lenger",
+ 1 => "%s kanaler er sensurert/ikke sensurert lenger",
);
$a->strings["%s channel deleted"] = array(
0 => "%s kanal slettet",
@@ -1564,38 +1739,31 @@ $a->strings["Debugging"] = "Feilsøking";
$a->strings["Log file"] = "Loggfil";
$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "Må kunne skrives til av webtjenesten. Relativ til din Red sin toppnivåkatalog.";
$a->strings["Log level"] = "Loggnivå";
-$a->strings["Thing updated"] = "Tingen er oppdatert";
-$a->strings["Object store: failed"] = "Objektlagring: mislyktes";
-$a->strings["Thing added"] = "Ting lagt til";
-$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-$a->strings["Show Thing"] = "Vis ting";
-$a->strings["item not found."] = "element ble ikke funnet.";
-$a->strings["Edit Thing"] = "Endre ting";
-$a->strings["Select a profile"] = "Velg en profil";
-$a->strings["Select a category of stuff. e.g. I ______ something"] = "Velg en kategori med ting, for eksempel l_____ noe";
-$a->strings["Post an activity"] = "Legg inn en aktivitet";
-$a->strings["Only sends to viewers of the applicable profile"] = "Sender bare til seere av den aktuelle profilen";
-$a->strings["Name of thing e.g. something"] = "Navn på ting for eksempel noe";
-$a->strings["URL of thing (optional)"] = "URL til ting (valgfritt)";
-$a->strings["URL for photo of thing (optional)"] = "URL til bilde av ting (valgfritt)";
-$a->strings["Add Thing to your Profile"] = "Legg til ting i din profil";
-$a->strings["Nothing to import."] = "Ingenting å importere.";
-$a->strings["Unable to download data from old server"] = "Ikke i stand til å laste ned data fra gammel tjener";
-$a->strings["Imported file is empty."] = "Importert fil er tom.";
-$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan ikke lage en kopi av kanal-identifikatoren på dette systemet. Import mislyktes.";
-$a->strings["Channel clone failed. Import failed."] = "Kanalkloning mislyktes. Import mislyktes.";
-$a->strings["Cloned channel not found. Import failed."] = "Klonet kanal ble ikke funnet. Import mislyktes.";
-$a->strings["Import completed."] = "Import ferdig.";
-$a->strings["You must be logged in to use this feature."] = "Du må være innlogget for å bruke denne funksjonen.";
-$a->strings["Import Channel"] = "Importer kanal";
-$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Bruk dette skjemaet til å importere en eksisterende kanal fra en annen tjener/hub. Du kan hente kanalidentiteten fra den gamle tjeneren/hubben via nettverket eller bruke en eksportert fil. Bare identiteten og forbindelser/relasjoner vil bli importert. Importering av innhold er ennå ikke tilgjengelig.";
-$a->strings["File to Upload"] = "Fil som skal lastes opp";
-$a->strings["Or provide the old server/hub details"] = "Eller oppgi detaljene fra den gamle tjeneren/hub-en";
-$a->strings["Your old identity address (xyz@example.com)"] = "Din gamle identitetsadresse (xyz@example.com)";
-$a->strings["Your old login email address"] = "Din gamle innloggings e-postadresse";
-$a->strings["Your old login password"] = "Ditt gamle innloggingspassord";
-$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Enten du tar det ene eller det andre valget, vennligst angi om du vil at denne hubben skal være din nye primære adresse, eller om din gamle plassering skal fortsette å ha denne rollen. Du kan lage innlegg fra den ene eller den andre plasseringen, men bare en av dem kan markeres som den primære plasseringen for filer, bilder og media.";
-$a->strings["Make this hub my primary location"] = "Gjør dette nettstedet til min primære plassering";
+$a->strings["New Profile Field"] = "Nytt profilfelt";
+$a->strings["Field nickname"] = "Feltets kallenavn";
+$a->strings["System name of field"] = "Systemnavnet til feltet";
+$a->strings["Input type"] = "Inndata-type";
+$a->strings["Field Name"] = "Feltnavn";
+$a->strings["Label on profile pages"] = "Merkelapp på profilsider";
+$a->strings["Help text"] = "Hjelpetekst";
+$a->strings["Additional info (optional)"] = "Tilleggsinformasjon (valgfritt)";
+$a->strings["Field definition not found"] = "Feltdefinisjonen ble ikke funnet";
+$a->strings["Edit Profile Field"] = "Endre profilfelt";
+$a->strings["Unable to locate original post."] = "Ikke i stand til å finne opprinnelig innlegg.";
+$a->strings["Empty post discarded."] = "Tomt innlegg forkastet.";
+$a->strings["Executable content type not permitted to this channel."] = "Kjørbar innholdstype er ikke tillat for denne kanalen.";
+$a->strings["System error. Post not saved."] = "Systemfeil. Innlegg ble ikke lagret.";
+$a->strings["You have reached your limit of %1$.0f top level posts."] = "Du har nådd din grense på %1$.0f startinnlegg.";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "Du har nådd din grense på %1$.0f websider.";
+$a->strings["Like/Dislike"] = "Liker/Liker ikke";
+$a->strings["This action is restricted to members."] = "Denne handlingen er begrenset til medlemmer.";
+$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "Vennligst <a href=\"rmagic\">logg inn med din RedMatrix ID</a> eller <a href=\"register\">registrer deg som et nytt RedMatrix-medlem</a> for å fortsette";
+$a->strings["Invalid request."] = "Ugyldig forespørsel.";
+$a->strings["thing"] = "ting";
+$a->strings["Channel unavailable."] = "Kanalen er utilgjengelig.";
+$a->strings["Previous action reversed."] = "Forrige handling er omgjort.";
+$a->strings["Action completed."] = "Handling ferdig.";
+$a->strings["Thank you."] = "Tusen takk.";
$a->strings["Total invitation limit exceeded."] = "Grensen for totalt antall invitasjoner er overskredet.";
$a->strings["%s : Not a valid email address."] = "%s : ikke en gyldig e-postadresse.";
$a->strings["Please join us on Red"] = "Bli med oss på Red";
@@ -1609,18 +1777,19 @@ $a->strings["You have no more invitations available"] = "Du har ikke flere invit
$a->strings["Send invitations"] = "Send invitasjoner";
$a->strings["Enter email addresses, one per line:"] = "Skriv e-postadresser, en per linje:";
$a->strings["Your message:"] = "Din melding:";
-$a->strings["You are cordially invited to join me and some other close friends on the Red Matrix - a revolutionary new decentralised communication and information tool."] = "Du er hjertelig invitert til å være med meg og noen andre nære venner i Red Matrix - et nytt og revolusjonerende desentralisert kommunikasjons- og informasjonsverktøy.";
-$a->strings["You will need to supply this invitation code: \$invite_code"] = "Du må oppgi denne invitasjonskoden: \$invite_code";
-$a->strings["Please visit my channel at"] = "Vennligst besøk min kanal hos";
-$a->strings["Once you have registered (on ANY Red Matrix site - they are all inter-connected), please connect with my Red Matrix channel address:"] = "Når du har registrert (på et HVILKET SOM HELST Red Matrix-nettsted - de er alle forbundet med hverandre), vennligst opprett kobling med min Red Matrix-kanaladresse:";
-$a->strings["Click the [Register] link on the following page to join."] = "Klikk på [Registering]-lenken på følgende side for å bli med.";
-$a->strings["For more information about the Red Matrix Project and why it has the potential to change the internet as we know it, please visit http://getzot.com"] = "For mer informasjon om Red Matrix-prosjektet og hvorfor det har potensialet til å forandre Internett som vi kjenner det, vær vennlig å besøke http://getzot.com";
-$a->strings["Unable to locate original post."] = "Ikke i stand til å finne opprinnelig innlegg.";
-$a->strings["Empty post discarded."] = "Tomt innlegg forkastet.";
-$a->strings["Executable content type not permitted to this channel."] = "Kjørbar innholdstype er ikke tillat for denne kanalen.";
-$a->strings["System error. Post not saved."] = "Systemfeil. Innlegg ble ikke lagret.";
-$a->strings["You have reached your limit of %1$.0f top level posts."] = "Du har nådd din grense på %1$.0f startinnlegg.";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "Du har nådd din grense på %1$.0f websider.";
+$a->strings["Please join my community on RedMatrix."] = "Du er velkommen til å bli med i mitt fellesskap på RedMatrix.";
+$a->strings["You will need to supply this invitation code: "] = "Du må oppgi denne invitasjonskoden:";
+$a->strings["1. Register at any RedMatrix location (they are all inter-connected)"] = "1. Registrer ved enhver RedMatrix-lokasjon (de er alle forbundet med hverandre)";
+$a->strings["2. Enter my RedMatrix network address into the site searchbar."] = "2. Skriv inn min RedMatrix-adresse i nettstedets søkefelt.";
+$a->strings["or visit "] = "eller besøk";
+$a->strings["3. Click [Connect]"] = "3. Klikk [Forbindelse]";
+$a->strings["Location not found."] = "Plassering er ikke funnet.";
+$a->strings["Primary location cannot be removed."] = "Primær plassering kan ikke fjernes.";
+$a->strings["No locations found."] = "Ingen plasseringer ble funnet.";
+$a->strings["Manage Channel Locations"] = "HÃ¥ndter kanalplasseringer";
+$a->strings["Location (address)"] = "Plassering (adresse)";
+$a->strings["Primary Location"] = "Hovedplassering";
+$a->strings["Drop location"] = "Slett plassering";
$a->strings["[Embedded content - reload page to view]"] = "[Innebygget innhold - last siden på nytt for å se]";
$a->strings["Help with this feature"] = "Hjelp med denne funksjonen";
$a->strings["Layout Name"] = "Layout-navn";
@@ -1629,22 +1798,6 @@ $a->strings["Visible to:"] = "Synlig for:";
$a->strings["No connections."] = "Ingen forbindelser.";
$a->strings["Visit %s's profile [%s]"] = "Besøk %s sin profil [%s]";
$a->strings["View Connnections"] = "Vis forbindelser";
-$a->strings["No valid account found."] = "Ingen gyldig konto funnet.";
-$a->strings["Password reset request issued. Check your email."] = "Forespørsel om å tilbakestille passord er mottatt. Sjekk e-posten din.";
-$a->strings["Site Member (%s)"] = "Nettstedsmedlem (%s)";
-$a->strings["Password reset requested at %s"] = "Forespurt om å tilbakestille passord hos %s";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Forespørsel kunne ikke bekreftes. (Du kan ha sendt den inn tidligere.) Tilbakestilling av passord mislyktes.";
-$a->strings["Password Reset"] = "Tilbakestill passord";
-$a->strings["Your password has been reset as requested."] = "Ditt passord har blitt tilbakestilt som forespurt.";
-$a->strings["Your new password is"] = "Ditt nye passord er";
-$a->strings["Save or copy your new password - and then"] = "Lagre eller kopier ditt nye passord, og deretter kan du";
-$a->strings["click here to login"] = "klikke her for å logge inn";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Ditt passord kan endres på siden <em>Innstillinger</em> etter vellykket innlogging.";
-$a->strings["Your password has changed at %s"] = "Ditt passord er endret hos %s";
-$a->strings["Forgot your Password?"] = "Glemt passord ditt?";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Skriv e-postadressen din og send inn for å tilbakestille passordet ditt. Sjekk deretter din e-post for videre instruksjoner.";
-$a->strings["Email Address"] = "E-postadresse";
-$a->strings["Reset"] = "Tilbakestill";
$a->strings["Hub not found."] = "Hubben ble ikke funnet.";
$a->strings["Total votes"] = "Totalt antall stemmer";
$a->strings["Average Rating"] = "Gjennomsnittlig vurdering";
@@ -1652,12 +1805,12 @@ $a->strings["Unable to lookup recipient."] = "Ikke i stand til å slå opp motta
$a->strings["Unable to communicate with requested channel."] = "Ikke i stand til å kommunisere med forespurt kanal.";
$a->strings["Cannot verify requested channel."] = "Kan ikke bekrefte forespurt kanal.";
$a->strings["Selected channel has private message restrictions. Send failed."] = "Valgt kanal har restriksjoner for private meldinger. Sending feilet.";
-$a->strings["Messages"] = "Meldinger";
$a->strings["Message deleted."] = "Melding slettet.";
$a->strings["Message recalled."] = "Innlegg tilbakekalt.";
$a->strings["Send Private Message"] = "Send privat melding";
$a->strings["To:"] = "Til:";
$a->strings["Subject:"] = "Emne:";
+$a->strings["Send"] = "Send";
$a->strings["Message not found."] = "Melding ikke funnet.";
$a->strings["Delete message"] = "Slett melding";
$a->strings["Recall message"] = "Tilbakekall innlegg";
@@ -1666,13 +1819,6 @@ $a->strings["Private Conversation"] = "Privat samtale";
$a->strings["Delete conversation"] = "Slett samtale";
$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Ingen sikret kommunikasjon tilgjengelig. Du kan <strong>muligens</strong> greie å svare via senderens profilside.";
$a->strings["Send Reply"] = "Send svar";
-$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du har laget %1$.0f av %2$.0f tillatte kanaler.";
-$a->strings["Create a new channel"] = "Lag en ny kanal";
-$a->strings["Channel Manager"] = "Kanalstyring";
-$a->strings["Current Channel"] = "Gjeldende kanal";
-$a->strings["Attach to one of your channels by selecting it."] = "Bytt til en av dine kanaler ved å velge den.";
-$a->strings["Default Channel"] = "Standardkanal";
-$a->strings["Make Default"] = "Gjør til standard";
$a->strings["Wall Photos"] = "Veggbilder";
$a->strings["Profile Match"] = "Profiltreff";
$a->strings["No keywords to match. Please add keywords to your default profile."] = "Ingen nøkkelord å sammenlikne. Vennligst legg til nøkkelord til din standardprofil.";
@@ -1684,6 +1830,7 @@ $a->strings["Menu created."] = "Meny laget.";
$a->strings["Unable to create menu."] = "Ikke i stand til å lage meny.";
$a->strings["Manage Menus"] = "HÃ¥ndtere menyer";
$a->strings["Drop"] = "Slett";
+$a->strings["Bookmarks allowed"] = "Bokmerker tillatt";
$a->strings["Create a new menu"] = "Lag en ny meny";
$a->strings["Delete this menu"] = "Slett denne menyen";
$a->strings["Edit menu contents"] = "Endre menyinnholdet";
@@ -1708,45 +1855,19 @@ $a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"A
$a->strings["Choose a short nickname"] = "Velg et kort kallenavn";
$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Ditt kallenavn brukes til å lage en kanaladresse som er enkel å huske (minner om en e-postadresse) og som du kan dele med andre.";
$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Eller <a href=\"import\">importerer en eksisterende kanal</a> fra et annet sted.";
-$a->strings["Page owner information could not be retrieved."] = "Informasjon om sideeier kunne ikke hentes.";
-$a->strings["Album not found."] = "Albumet ble ikke funnet.";
-$a->strings["Delete Album"] = "Slett album";
-$a->strings["Delete Photo"] = "Slett bilde";
-$a->strings["No photos selected"] = "Ingen bilder valgt";
-$a->strings["Access to this item is restricted."] = "Tilgang til dette elementet er begrenset.";
-$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Du har brukt %1$.2f Mbytes av %2$.2f Mbytes i bildelageret.";
-$a->strings["You have used %1$.2f Mbytes of photo storage."] = "Du har brukt %1$.2f Mbytes av bildelageret.";
-$a->strings["Upload Photos"] = "Last opp bilder";
-$a->strings["New album name: "] = "Nytt albumnavn:";
-$a->strings["or existing album name: "] = "eller eksisterende albumnavn:";
-$a->strings["Do not show a status post for this upload"] = "Ikke lag et statusinnlegg for denne oppdateringen";
-$a->strings["Contact Photos"] = "Kontaktbilder";
-$a->strings["Edit Album"] = "Endre album";
-$a->strings["Show Newest First"] = "Vis nyeste først";
-$a->strings["Show Oldest First"] = "Vis eldste først";
-$a->strings["View Photo"] = "Vis foto";
-$a->strings["Permission denied. Access to this item may be restricted."] = "Tillatelse avvist. Tilgang til dette elementet kan være begrenset.";
-$a->strings["Photo not available"] = "Bilde er utilgjengelig";
-$a->strings["Use as profile photo"] = "Bruk som profilbilde";
-$a->strings["View Full Size"] = "Vis i full størrelse";
-$a->strings["Edit photo"] = "Endre bilde";
-$a->strings["Rotate CW (right)"] = "Roter med klokka (mot høyre)";
-$a->strings["Rotate CCW (left)"] = "Roter mot klokka (venstre)";
-$a->strings["New album name"] = "Nytt albumnavn";
-$a->strings["Caption"] = "Overskrift";
-$a->strings["Add a Tag"] = "Legg til merkelapp";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Eksempel: @ola, @Kari_Nordmann, @jim@example.com, #Norge, #telttur";
-$a->strings["In This Photo:"] = "I dette bildet:";
-$a->strings["View Album"] = "Vis album";
-$a->strings["Recent Photos"] = "Nye bilder";
+$a->strings["Channel Type"] = "Kanaltype";
+$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Vennligst velg en kanaltype (for eksempel sosialt nettverk eller forum for felleskap) og krav til personvern slik at vi kan velge de beste tillatelsene for deg.";
+$a->strings["Red Matrix - &quot;The Network&quot;"] = "Red Matrix - &quot;Nettverket&quot;";
+$a->strings["Welcome to %s"] = "Velkommen til %s";
$a->strings["Invalid request identifier."] = "Ugyldig forespørselsidentifikator.";
$a->strings["Discard"] = "Forkast";
$a->strings["No more system notifications."] = "Ingen flere systemvarsler.";
$a->strings["System Notifications"] = "Systemvarsler";
+$a->strings["Xchan Lookup"] = "Xchan oppslag";
+$a->strings["Lookup xchan beginning with (or webbie): "] = "Slå opp xchan som begynner med (eller webbie):";
$a->strings["Unable to find your hub."] = "Ikke i stand til å finne hubben din.";
$a->strings["Post successful."] = "Innlegg vellykket.";
$a->strings["invalid target signature"] = "MÃ¥lets signatur er ugyldig";
-$a->strings["OpenID protocol error. No ID returned."] = "OpenID protokollfeil. Ingen ID ble returnert.";
$a->strings["App installed."] = "App installert.";
$a->strings["Malformed app."] = "Feil oppsett for app-en.";
$a->strings["Embed code"] = "Innbyggingskode";
@@ -1759,35 +1880,43 @@ $a->strings["80 x 80 pixels - optional"] = "80 x80 pixler - valgfritt";
$a->strings["Version ID"] = "Versjons-ID";
$a->strings["Price of app"] = "Pris på app";
$a->strings["Location (URL) to purchase app"] = "Plassering (URL) for å kjøpe app";
-$a->strings["Schema Default"] = "Standardskjema";
+$a->strings["Poll"] = "Spørring";
+$a->strings["View Results"] = "Vis resultater";
+$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Sletting av kontoer er ikke tillatt innen 48 timer etter endring av kontopassordet.";
+$a->strings["Remove This Account"] = "Slett denne kontoen";
+$a->strings["This will completely remove this account including all its channels from the network. Once this has been done it is not recoverable."] = "Dette vil fullstendig slette denne kontoen inkludert alle dens kanaler fra nettverket. NÃ¥r dette er gjort kan det ikke angres.";
+$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Slett denne kontoen, alle dens kanaler og alle dens kanalkloner fra dette nettverket";
+$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Som standard vil bare forekomster av kanalene lokalisert på denne hubben bli slettet fra nettverket";
+$a->strings["No service class restrictions found."] = "Ingen restriksjoner er funnet i tjenesteklasse.";
+$a->strings["Schema Default"] = "Standard skjema";
$a->strings["Sans-Serif"] = "Sans-Serif";
$a->strings["Monospace"] = "Monospace";
$a->strings["Theme settings"] = "Temainnstillinger";
$a->strings["Set scheme"] = "Angi skjema";
$a->strings["Set font-size for posts and comments"] = "Angi skriftstørrelse for innlegg og kommentarer";
$a->strings["Set font face"] = "Angi skrifttype";
-$a->strings["Set iconset"] = "Angi ikonsett";
+$a->strings["Set iconset"] = "Angi ikonutvalg";
$a->strings["Set big shadow size, default 15px 15px 15px"] = "Angi stor skyggestørrelse, standard 15px 15px 15px";
$a->strings["Set small shadow size, default 5px 5px 5px"] = "Angi liten skyggestørrelse, standard 5px 5px 5px";
-$a->strings["Set shadow colour, default #000"] = "Angi skyggefarge, standard #000";
-$a->strings["Set radius size, default 5px"] = "Angi størrelsen på radius, standard 5px";
+$a->strings["Set shadow color, default #000"] = "Angi skyggefarge, standard #000";
+$a->strings["Set radius size, default 5px"] = "Angi radiusstørrelse, standard 5px";
$a->strings["Set line-height for posts and comments"] = "Angi linjeavstand for innlegg og kommentarer";
$a->strings["Set background image"] = "Angi bakgrunnsbilde";
$a->strings["Set background attachment"] = "Angi bakgrunnsvedlegg";
-$a->strings["Set background colour"] = "Angi bakgrunnsbilde";
+$a->strings["Set background color"] = "Angi bakgrunnsfarge";
$a->strings["Set section background image"] = "Angi seksjonens bakgrunnsbilde";
-$a->strings["Set section background colour"] = "Angi seksjonens bakgrunnsfarge";
-$a->strings["Set colour of items - use hex"] = "Angi fargen til elementer - bruk hex";
-$a->strings["Set colour of links - use hex"] = "Angi fargen til lenker - bruk hex";
-$a->strings["Set max-width for items. Default 400px"] = "Angi største bredde for elementer. Standard 400px.";
-$a->strings["Set min-width for items. Default 240px"] = "Angi minste bredde for elementer. Standard 240px.";
-$a->strings["Set the generic content wrapper width. Default 48%"] = "Angi bredden til den generelle innholdsinnpakningen. Standard 48%";
-$a->strings["Set colour of fonts - use hex"] = "Angi skriftfargen - bruk hex";
+$a->strings["Set section background color"] = "Angi seksjonens bakgrunnsfarge";
+$a->strings["Set color of items - use hex"] = "Angi fargen til elementer - bruk hex";
+$a->strings["Set color of links - use hex"] = "Angi fargen til lenker - bruk hex";
+$a->strings["Set max-width for items. Default 400px"] = "Angi maksimal bredde for elementer. Standard 400px";
+$a->strings["Set min-width for items. Default 240px"] = "Angi minimumsbredde for elementer. Standard 240px";
+$a->strings["Set the generic content wrapper width. Default 48%"] = "Angi den generelle bredden for innpakking av innhold. Standard 48%";
+$a->strings["Set color of fonts - use hex"] = "Angi skriftfargen - bruk hex";
$a->strings["Set background-size element"] = "Angi størrelsen på bakgrunnselementet";
-$a->strings["Item opacity"] = "Elementets dekkevne";
+$a->strings["Item opacity"] = "Elementers dekkevne";
$a->strings["Display post previews only"] = "Vis kun forhåndsvisning av innlegg";
$a->strings["Display side bar on channel page"] = "Vis sidestolpe på kanalsiden";
-$a->strings["Colour of the navigation bar"] = "Fargen til navigasjonslinjen";
+$a->strings["Colour of the navigation bar"] = "Fargen på navigasjonslinjen";
$a->strings["Item float"] = "Elementflyt";
$a->strings["Left offset of the section element"] = "Til venstre for seksjonselementet";
$a->strings["Right offset of the section element"] = "Til høyre for seksjonselementet";
@@ -1797,27 +1926,28 @@ $a->strings["Right offset of the aside element"] = "Til høyre for sidestolpen";
$a->strings["None"] = "Ingen";
$a->strings["Header image"] = "Topptekstbilde";
$a->strings["Header image only on profile pages"] = "Topptekstbilde bare på profilsider";
+$a->strings["Light (Red Matrix default)"] = "Lys (Red Matrix standard)";
$a->strings["Narrow navbar"] = "Smal navigasjonslinje";
-$a->strings["Navigation bar background colour"] = "Navigasjonslinjens bakgrunnsfarge";
-$a->strings["Navigation bar gradient top colour"] = "Navigasjonslinjens graderte toppfarge";
-$a->strings["Navigation bar gradient bottom colour"] = "Navigasjonslinjens graderte bunnfarge";
-$a->strings["Navigation active button gradient top colour"] = "Aktiv navigasjonsknapp sin graderte toppfarge";
-$a->strings["Navigation active button gradient bottom colour"] = "Aktiv navigasjonsknapp sin graderte bunnfarge";
-$a->strings["Navigation bar border colour "] = "Navigasjonslinjens kantfarge";
-$a->strings["Navigation bar icon colour "] = "Navigasjonslinjens ikonfarge";
-$a->strings["Navigation bar active icon colour "] = "Navigasjonslinjens aktive ikoners farge";
-$a->strings["link colour"] = "lenkefarge";
-$a->strings["Set font-colour for banner"] = "Angi skriftfargen for banneret";
-$a->strings["Set the background colour"] = "Angi bakgrunnsfargen";
+$a->strings["Navigation bar background color"] = "Navigasjonslinjens bakgrunnsfarge";
+$a->strings["Navigation bar gradient top color"] = "Navigasjonslinjens graderte toppfarge";
+$a->strings["Navigation bar gradient bottom color"] = "Navigasjonslinjens graderte bunnfarge";
+$a->strings["Navigation active button gradient top color"] = "Aktiv navigasjonsknapp sin graderte toppfarge";
+$a->strings["Navigation active button gradient bottom color"] = "Aktiv navigasjonsknapp sin graderte bunnfarge";
+$a->strings["Navigation bar border color "] = "Navigasjonslinjens kantfarge";
+$a->strings["Navigation bar icon color "] = "Navigasjonslinjens ikonfarge";
+$a->strings["Navigation bar active icon color "] = "Navigasjonslinjens aktive ikoners farge";
+$a->strings["link color"] = "lenkefarge";
+$a->strings["Set font-color for banner"] = "Angi skriftfargen for banneret";
+$a->strings["Set the background color"] = "Angi bakgrunnsfargen";
$a->strings["Set the background image"] = "Angi bakgrunnsbilde";
-$a->strings["Set the background colour of items"] = "Angi bakgrunnsfargen til elementer";
-$a->strings["Set the background colour of comments"] = "Angi bakgrunnsfargen til kommentarer";
-$a->strings["Set the border colour of comments"] = "Angi kantfargen til kommentarer";
+$a->strings["Set the background color of items"] = "Angi bakgrunnsfargen til elementer";
+$a->strings["Set the background color of comments"] = "Angi bakgrunnsfargen til kommentarer";
+$a->strings["Set the border color of comments"] = "Angi kantfargen til kommentarer";
$a->strings["Set the indent for comments"] = "Angi innrykket til kommentarer";
-$a->strings["Set the basic colour for item icons"] = "Angi grunnfargen for elementikoner";
-$a->strings["Set the hover colour for item icons"] = "Angi fargen til elementikoner ved berøring";
+$a->strings["Set the basic color for item icons"] = "Angi grunnfargen for elementikoner";
+$a->strings["Set the hover color for item icons"] = "Angi fargen til elementikoner ved berøring";
$a->strings["Set font-size for the entire application"] = "Angi skriftstørrelsen for hele programmet";
-$a->strings["Set font-colour for posts and comments"] = "Angi skriftfargen for innlegg og kommentarer";
+$a->strings["Set font-color for posts and comments"] = "Angi skriftfargen for innlegg og kommentarer";
$a->strings["Set radius of corners"] = "Angi hjørneradius";
$a->strings["Set shadow depth of photos"] = "Angi skyggedybden til bilder";
$a->strings["Set maximum width of conversation regions"] = "Angi største bredde for samtaleregioner";
diff --git a/view/nl/messages.po b/view/nl/messages.po
index 550b18e50..e18f7b719 100644
--- a/view/nl/messages.po
+++ b/view/nl/messages.po
@@ -4,13 +4,13 @@
#
# Translators:
# jeroenpraat <jeroenpraat@xs4all.nl>, 2013-2014
-# jeroenpraat <jeroenpraat@xs4all.nl>, 2014
+# jeroenpraat <jeroenpraat@xs4all.nl>, 2014-2015
msgid ""
msgstr ""
"Project-Id-Version: Red Matrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-10-24 00:04-0700\n"
-"PO-Revision-Date: 2014-10-27 13:39+0000\n"
+"POT-Creation-Date: 2015-01-02 00:04-0800\n"
+"PO-Revision-Date: 2015-01-03 15:35+0000\n"
"Last-Translator: jeroenpraat <jeroenpraat@xs4all.nl>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/red-matrix/language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -19,141 +19,300 @@ msgstr ""
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../include/dba/dba_driver.php:50
+#: ../../include/dba/dba_driver.php:142
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Kan DNS-informatie voor databaseserver '%s' niet vinden"
-#: ../../include/photo/photo_driver.php:680 ../../include/photos.php:51
-#: ../../mod/photos.php:91 ../../mod/photos.php:657 ../../mod/photos.php:679
+#: ../../include/photo/photo_driver.php:680 ../../include/photos.php:52
#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:301
-#: ../../mod/profile_photo.php:423
+#: ../../mod/profile_photo.php:423 ../../mod/photos.php:91
+#: ../../mod/photos.php:654
msgid "Profile Photos"
msgstr "Profielfoto's"
-#: ../../include/network.php:590
-msgid "view full size"
-msgstr "volledige grootte tonen"
-
-#: ../../include/oembed.php:171
-msgid "Embedded content"
-msgstr "Ingesloten inhoud"
-
-#: ../../include/oembed.php:180
-msgid "Embedding disabled"
-msgstr "Insluiten uitgeschakeld"
-
-#: ../../include/items.php:377 ../../mod/profperm.php:23
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/like.php:242
-#: ../../index.php:388
+#: ../../include/items.php:382 ../../mod/group.php:68
+#: ../../mod/subthread.php:49 ../../mod/profperm.php:23 ../../mod/like.php:246
+#: ../../index.php:389
msgid "Permission denied"
msgstr "Toegang geweigerd"
-#: ../../include/items.php:964 ../../include/items.php:1009
+#: ../../include/items.php:969 ../../include/items.php:1014
msgid "(Unknown)"
msgstr "(Onbekend)"
-#: ../../include/items.php:1165
+#: ../../include/items.php:1171
msgid "Visible to anybody on the internet."
msgstr "Voor iedereen op het internet zichtbaar."
-#: ../../include/items.php:1167
+#: ../../include/items.php:1173
msgid "Visible to you only."
msgstr "Alleen voor jou zichtbaar."
-#: ../../include/items.php:1169
+#: ../../include/items.php:1175
msgid "Visible to anybody in this network."
msgstr "Voor iedereen in dit netwerk zichtbaar."
-#: ../../include/items.php:1171
+#: ../../include/items.php:1177
msgid "Visible to anybody authenticated."
msgstr "Voor iedereen die geauthenticeerd is zichtbaar."
-#: ../../include/items.php:1173
+#: ../../include/items.php:1179
#, php-format
msgid "Visible to anybody on %s."
msgstr "Voor iedereen op %s zichtbaar."
-#: ../../include/items.php:1175
+#: ../../include/items.php:1181
msgid "Visible to all connections."
msgstr "Voor alle connecties zichtbaar."
-#: ../../include/items.php:1177
+#: ../../include/items.php:1183
msgid "Visible to approved connections."
msgstr "Voor alle goedgekeurde connecties zichtbaar."
-#: ../../include/items.php:1179
+#: ../../include/items.php:1185
msgid "Visible to specific connections."
msgstr "Voor specifieke connecties zichtbaar."
-#: ../../include/items.php:3938 ../../mod/display.php:32
-#: ../../mod/filestorage.php:26 ../../mod/admin.php:168
-#: ../../mod/admin.php:898 ../../mod/admin.php:1101 ../../mod/thing.php:76
-#: ../../mod/viewsrc.php:20
+#: ../../include/items.php:3952 ../../mod/display.php:32
+#: ../../mod/thing.php:76 ../../mod/filestorage.php:26 ../../mod/admin.php:168
+#: ../../mod/admin.php:896 ../../mod/admin.php:1099 ../../mod/viewsrc.php:20
msgid "Item not found."
msgstr "Item niet gevonden."
-#: ../../include/items.php:4005 ../../include/attach.php:116
-#: ../../include/attach.php:163 ../../include/attach.php:226
-#: ../../include/attach.php:240 ../../include/attach.php:280
-#: ../../include/attach.php:294 ../../include/attach.php:318
-#: ../../include/attach.php:511 ../../include/attach.php:584
-#: ../../include/photos.php:15 ../../include/chat.php:116
-#: ../../mod/mood.php:112 ../../mod/photos.php:68 ../../mod/photos.php:526
-#: ../../mod/mitem.php:73 ../../mod/achievements.php:30
-#: ../../mod/settings.php:496 ../../mod/poke.php:128 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/authtest.php:13 ../../mod/profile.php:64
-#: ../../mod/profile.php:72 ../../mod/block.php:22 ../../mod/block.php:72
-#: ../../mod/blocks.php:29 ../../mod/blocks.php:44 ../../mod/bookmarks.php:46
-#: ../../mod/profiles.php:179 ../../mod/profiles.php:532
-#: ../../mod/events.php:195 ../../mod/channel.php:89 ../../mod/channel.php:193
-#: ../../mod/channel.php:236 ../../mod/chat.php:90 ../../mod/chat.php:95
-#: ../../mod/register.php:70 ../../mod/regmod.php:17 ../../mod/common.php:35
-#: ../../mod/network.php:12 ../../mod/connections.php:169
-#: ../../mod/connedit.php:254 ../../mod/delegate.php:6 ../../mod/page.php:28
-#: ../../mod/page.php:78 ../../mod/setup.php:203 ../../mod/editblock.php:34
-#: ../../mod/pdledit.php:21 ../../mod/editlayout.php:48
-#: ../../mod/editpost.php:13 ../../mod/editwebpage.php:44
-#: ../../mod/editwebpage.php:83 ../../mod/profile_photo.php:263
-#: ../../mod/profile_photo.php:276 ../../mod/sources.php:66
+#: ../../include/items.php:4019 ../../include/photos.php:15
+#: ../../include/attach.php:116 ../../include/attach.php:163
+#: ../../include/attach.php:226 ../../include/attach.php:240
+#: ../../include/attach.php:280 ../../include/attach.php:294
+#: ../../include/attach.php:318 ../../include/attach.php:511
+#: ../../include/attach.php:585 ../../include/chat.php:116
+#: ../../mod/mood.php:112 ../../mod/register.php:72 ../../mod/mitem.php:106
+#: ../../mod/achievements.php:30 ../../mod/group.php:9 ../../mod/poke.php:128
+#: ../../mod/api.php:26 ../../mod/api.php:31 ../../mod/profiles.php:188
+#: ../../mod/profiles.php:559 ../../mod/authtest.php:13
+#: ../../mod/profile.php:64 ../../mod/profile.php:72 ../../mod/block.php:22
+#: ../../mod/block.php:72 ../../mod/delegate.php:6 ../../mod/sources.php:66
+#: ../../mod/events.php:195 ../../mod/channel.php:90 ../../mod/channel.php:201
+#: ../../mod/channel.php:244 ../../mod/chat.php:90 ../../mod/chat.php:95
+#: ../../mod/regmod.php:17 ../../mod/editpost.php:13 ../../mod/common.php:35
+#: ../../mod/settings.php:554 ../../mod/connections.php:169
+#: ../../mod/manage.php:6 ../../mod/connedit.php:266 ../../mod/mail.php:111
+#: ../../mod/webpages.php:67 ../../mod/bookmarks.php:46
+#: ../../mod/blocks.php:67 ../../mod/blocks.php:75 ../../mod/editblock.php:65
+#: ../../mod/pdledit.php:21 ../../mod/editlayout.php:64
+#: ../../mod/editlayout.php:89 ../../mod/editwebpage.php:64
+#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:118
+#: ../../mod/profile_photo.php:263 ../../mod/profile_photo.php:276
+#: ../../mod/like.php:154 ../../mod/thing.php:247 ../../mod/thing.php:264
+#: ../../mod/thing.php:299 ../../mod/fsuggest.php:78
#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:67
#: ../../mod/filestorage.php:82 ../../mod/filestorage.php:109
-#: ../../mod/fsuggest.php:78 ../../mod/suggest.php:26 ../../mod/group.php:9
-#: ../../mod/thing.php:247 ../../mod/thing.php:264 ../../mod/thing.php:299
-#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/item.php:182
-#: ../../mod/item.php:190 ../../mod/item.php:954 ../../mod/layouts.php:27
-#: ../../mod/layouts.php:39 ../../mod/like.php:154
+#: ../../mod/locs.php:71 ../../mod/item.php:191 ../../mod/item.php:199
+#: ../../mod/item.php:975 ../../mod/suggest.php:26 ../../mod/layouts.php:67
+#: ../../mod/layouts.php:74 ../../mod/layouts.php:85 ../../mod/setup.php:207
+#: ../../mod/menu.php:61 ../../mod/invite.php:13 ../../mod/invite.php:104
+#: ../../mod/network.php:12 ../../mod/notifications.php:66
#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/viewsrc.php:14 ../../mod/mail.php:111 ../../mod/manage.php:6
-#: ../../mod/menu.php:44 ../../mod/webpages.php:40 ../../mod/message.php:16
+#: ../../mod/viewsrc.php:14 ../../mod/message.php:16
#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
-#: ../../mod/notifications.php:66 ../../mod/appman.php:66
-#: ../../mod/service_limits.php:7 ../../index.php:190 ../../index.php:389
+#: ../../mod/photos.php:68 ../../mod/page.php:28 ../../mod/page.php:78
+#: ../../mod/appman.php:66 ../../mod/service_limits.php:7 ../../index.php:190
+#: ../../index.php:390
msgid "Permission denied."
msgstr "Toegang geweigerd"
-#: ../../include/items.php:4376 ../../mod/group.php:38 ../../mod/group.php:140
+#: ../../include/items.php:4410 ../../mod/group.php:38 ../../mod/group.php:140
msgid "Collection not found."
msgstr "Collectie niet gevonden."
-#: ../../include/items.php:4391
+#: ../../include/items.php:4425
msgid "Collection is empty."
msgstr "Collectie is leeg"
-#: ../../include/items.php:4398
+#: ../../include/items.php:4432
#, php-format
msgid "Collection: %s"
msgstr "Collectie: %s"
-#: ../../include/items.php:4409
+#: ../../include/items.php:4443
#, php-format
msgid "Connection: %s"
msgstr "Connectie: %s"
-#: ../../include/items.php:4412
+#: ../../include/items.php:4446
msgid "Connection not found."
msgstr "Connectie niet gevonden."
+#: ../../include/menu.php:42 ../../include/page_widgets.php:8
+#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:263
+#: ../../include/ItemObject.php:100 ../../include/apps.php:254
+#: ../../mod/editpost.php:112 ../../mod/settings.php:639
+#: ../../mod/connections.php:381 ../../mod/connections.php:394
+#: ../../mod/connections.php:413 ../../mod/webpages.php:162
+#: ../../mod/blocks.php:132 ../../mod/editblock.php:143
+#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:174
+#: ../../mod/thing.php:233 ../../mod/layouts.php:167 ../../mod/menu.php:78
+msgid "Edit"
+msgstr "Bewerken"
+
+#: ../../include/message.php:18
+msgid "No recipient provided."
+msgstr "Geen ontvanger opgegeven."
+
+#: ../../include/message.php:23
+msgid "[no subject]"
+msgstr "[geen onderwerp]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Afzender kan niet bepaald worden."
+
+#: ../../include/message.php:200
+msgid "Stored post could not be verified."
+msgstr "Opgeslagen bericht kon niet worden geverifieerd."
+
+#: ../../include/network.php:590
+msgid "view full size"
+msgstr "volledige grootte tonen"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Kan mijn normale kanaalstream en berichten bekijken"
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Kan mijn standaard kanaalprofiel bekijken"
+
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
+msgstr "Kan mijn fotoalbums bekijken"
+
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
+msgstr "Kan een lijst met mijn connecties bekijken"
+
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
+msgstr "Kan mijn bestanden bekijken"
+
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
+msgstr "Kan mijn pagina's bekijken"
+
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
+msgstr "Kan mij de inhoud van hun kanaal en berichten sturen"
+
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Kan een bericht in mijn kanaal plaatsen"
+
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
+msgstr "Kan op mijn berichten reageren of deze (niet) leuk vinden"
+
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
+msgstr "Kan mij privéberichten sturen"
+
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
+msgstr "Kan foto's aan mijn fotoalbums toevoegen"
+
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
+msgstr "Kan dingen leuk of niet leuk vinden"
+
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
+msgstr "Profielen en dingen, buiten berichten en reacties"
+
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+"
+
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Geavanceerd - nuttig voor groepforums"
+
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
+msgstr "Kan met mij chatten (wanneer beschikbaar)"
+
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
+msgstr "Kan bestanden aan mijn bestandsopslag toevoegen"
+
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
+msgstr "Kan mijn pagina's bewerken"
+
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
+msgstr "Kan mijn openbare berichten als bron voor andere kanalen gebruiken"
+
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)"
+
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
+msgstr "Kan mijn kanaal beheren"
+
+#: ../../include/permissions.php:48
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet."
+
+#: ../../include/permissions.php:810
+msgid "Social Networking"
+msgstr "Sociaal netwerk"
+
+#: ../../include/permissions.php:810 ../../include/permissions.php:811
+#: ../../include/permissions.php:812
+msgid "Mostly Public"
+msgstr "Vrijwel alles openbaar"
+
+#: ../../include/permissions.php:810 ../../include/permissions.php:811
+#: ../../include/permissions.php:812
+msgid "Restricted"
+msgstr "Beperkt zichtbaar"
+
+#: ../../include/permissions.php:810 ../../include/permissions.php:811
+msgid "Private"
+msgstr "Verborgen kanaal"
+
+#: ../../include/permissions.php:811
+msgid "Community Forum"
+msgstr "Groepsforum"
+
+#: ../../include/permissions.php:812
+msgid "Feed Republish"
+msgstr "Feed herpubliceren"
+
+#: ../../include/permissions.php:813
+msgid "Special Purpose"
+msgstr "Speciaal doel"
+
+#: ../../include/permissions.php:813
+msgid "Celebrity/Soapbox"
+msgstr "Beroemdheid/alleen volgen"
+
+#: ../../include/permissions.php:813
+msgid "Group Repository"
+msgstr "Groepsopslag"
+
+#: ../../include/permissions.php:814 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr "Anders"
+
+#: ../../include/permissions.php:814
+msgid "Custom/Expert Mode"
+msgstr "Expertmodus/handmatig aanpassen"
+
#: ../../include/notify.php:23
msgid "created a new post"
msgstr "maakte een nieuw bericht aan"
@@ -163,169 +322,175 @@ msgstr "maakte een nieuw bericht aan"
msgid "commented on %s's post"
msgstr "gaf een reactie op een bericht van %s"
-#: ../../include/apps.php:126
-msgid "Site Admin"
-msgstr "Hubbeheerder"
+#: ../../include/taxonomy.php:210 ../../include/taxonomy.php:229
+msgid "Tags"
+msgstr "Tags"
-#: ../../include/apps.php:127 ../../include/conversation.php:1570
-#: ../../include/nav.php:117
-msgid "Bookmarks"
-msgstr "Bladwijzers"
+#: ../../include/taxonomy.php:250 ../../include/contact_widgets.php:92
+#: ../../include/widgets.php:35
+msgid "Categories"
+msgstr "Categorieën"
-#: ../../include/apps.php:128
-msgid "Address Book"
-msgstr "Connecties"
+#: ../../include/taxonomy.php:269
+msgid "Keywords"
+msgstr "Trefwoorden"
-#: ../../include/apps.php:129 ../../include/nav.php:125 ../../boot.php:1496
-msgid "Login"
-msgstr "Inloggen"
+#: ../../include/taxonomy.php:294
+msgid "have"
+msgstr "heb"
-#: ../../include/apps.php:130 ../../include/nav.php:216
-#: ../../mod/manage.php:148
-msgid "Channel Manager"
-msgstr "Kanaalbeheer"
+#: ../../include/taxonomy.php:294
+msgid "has"
+msgstr "heeft"
-#: ../../include/apps.php:131 ../../include/nav.php:190
-msgid "Matrix"
-msgstr "Matrix"
+#: ../../include/taxonomy.php:295
+msgid "want"
+msgstr "wil"
-#: ../../include/apps.php:132 ../../include/widgets.php:521
-#: ../../include/nav.php:218 ../../mod/admin.php:953 ../../mod/admin.php:1158
-msgid "Settings"
-msgstr "Instellingen"
+#: ../../include/taxonomy.php:295
+msgid "wants"
+msgstr "wil"
-#: ../../include/apps.php:133 ../../include/conversation.php:1546
-#: ../../include/nav.php:106 ../../include/RedDAV/RedBrowser.php:241
-#: ../../mod/fbrowser.php:114
-msgid "Files"
-msgstr "Bestanden"
+#: ../../include/taxonomy.php:296 ../../include/ItemObject.php:221
+msgid "like"
+msgstr "vind dit leuk"
-#: ../../include/apps.php:134 ../../include/conversation.php:1581
-#: ../../include/nav.php:121 ../../mod/webpages.php:129
-msgid "Webpages"
-msgstr "Webpagina's"
+#: ../../include/taxonomy.php:296
+msgid "likes"
+msgstr "vindt dit leuk"
-#: ../../include/apps.php:135 ../../include/nav.php:193
-msgid "Channel Home"
-msgstr "Tijdlijn kanaal"
+#: ../../include/taxonomy.php:297 ../../include/ItemObject.php:222
+msgid "dislike"
+msgstr "vind dit niet leuk"
-#: ../../include/apps.php:136 ../../include/identity.php:1113
-#: ../../include/identity.php:1231 ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Profiel"
+#: ../../include/taxonomy.php:297
+msgid "dislikes"
+msgstr "vindt dit niet leuk"
-#: ../../include/apps.php:137 ../../include/conversation.php:1537
-#: ../../include/nav.php:105 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Foto's"
+#: ../../include/taxonomy.php:380 ../../include/identity.php:1151
+#: ../../include/ItemObject.php:146 ../../mod/photos.php:1024
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "vindt dit leuk"
+msgstr[1] "vinden dit leuk"
-#: ../../include/apps.php:138 ../../include/nav.php:212
-#: ../../mod/events.php:431
-msgid "Events"
-msgstr "Agenda"
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Nieuwe pagina"
-#: ../../include/apps.php:139 ../../include/nav.php:176
-#: ../../mod/directory.php:226
-msgid "Directory"
-msgstr "Gids"
+#: ../../include/page_widgets.php:39 ../../mod/webpages.php:165
+#: ../../mod/blocks.php:135 ../../mod/layouts.php:171
+msgid "View"
+msgstr "Weergeven"
-#: ../../include/apps.php:140 ../../include/nav.php:168 ../../mod/help.php:60
-#: ../../mod/help.php:65
-msgid "Help"
-msgstr "Hulp"
+#: ../../include/page_widgets.php:40 ../../include/conversation.php:1102
+#: ../../include/ItemObject.php:638 ../../mod/webpages.php:166
+#: ../../mod/photos.php:995
+msgid "Preview"
+msgstr "Voorvertoning"
-#: ../../include/apps.php:141 ../../include/nav.php:204
-msgid "Mail"
-msgstr "Privéberichten"
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:167
+msgid "Actions"
+msgstr "Acties"
-#: ../../include/apps.php:142 ../../mod/mood.php:131
-msgid "Mood"
-msgstr "Stemming"
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:168
+msgid "Page Link"
+msgstr "Paginalink"
-#: ../../include/apps.php:143 ../../include/conversation.php:951
-msgid "Poke"
-msgstr "Aanstoten"
+#: ../../include/page_widgets.php:43 ../../mod/webpages.php:169
+msgid "Title"
+msgstr "Titel"
-#: ../../include/apps.php:144 ../../include/nav.php:111
-msgid "Chat"
-msgstr "Chatten"
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:170
+msgid "Created"
+msgstr "Aangemaakt"
-#: ../../include/apps.php:145 ../../include/text.php:822
-#: ../../include/text.php:834 ../../include/nav.php:173
-#: ../../mod/search.php:30
-msgid "Search"
-msgstr "Zoeken"
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:171
+msgid "Edited"
+msgstr "Bewerkt"
-#: ../../include/apps.php:146
-msgid "Probe"
-msgstr "Onderzoeken"
+#: ../../include/oembed.php:171
+msgid "Embedded content"
+msgstr "Ingesloten inhoud"
-#: ../../include/apps.php:147
-msgid "Suggest"
-msgstr "Voorstellen"
+#: ../../include/oembed.php:180
+msgid "Embedding disabled"
+msgstr "Insluiten uitgeschakeld"
-#: ../../include/apps.php:148
-msgid "Random Channel"
-msgstr "Willekeurig kanaal"
+#: ../../include/photos.php:105
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"
-#: ../../include/apps.php:149
-msgid "Invite"
-msgstr "Uitnodigen "
+#: ../../include/photos.php:112
+msgid "Image file is empty."
+msgstr "Afbeeldingsbestand is leeg"
-#: ../../include/apps.php:150
-msgid "Features"
-msgstr "Extra functies"
+#: ../../include/photos.php:141 ../../mod/profile_photo.php:216
+msgid "Unable to process image"
+msgstr "Afbeelding kan niet verwerkt worden"
-#: ../../include/apps.php:151
-msgid "Language"
-msgstr "Taal"
+#: ../../include/photos.php:213
+msgid "Photo storage failed."
+msgstr "Foto kan niet worden opgeslagen"
-#: ../../include/apps.php:152
-msgid "Post"
-msgstr "Bericht"
+#: ../../include/photos.php:341 ../../include/conversation.php:1533
+msgid "Photo Albums"
+msgstr "Fotoalbums"
-#: ../../include/apps.php:153
-msgid "Profile Photo"
-msgstr "Profielfoto"
+#: ../../include/photos.php:345
+msgid "Upload New Photos"
+msgstr "Nieuwe foto's uploaden"
-#: ../../include/apps.php:242 ../../mod/settings.php:79
-#: ../../mod/settings.php:545
-msgid "Update"
-msgstr "Bijwerken"
+#: ../../include/activities.php:39
+msgid " and "
+msgstr " en "
-#: ../../include/apps.php:242
-msgid "Install"
-msgstr "Installeren"
+#: ../../include/activities.php:47
+msgid "public profile"
+msgstr "openbaar profiel"
-#: ../../include/apps.php:247
-msgid "Purchase"
-msgstr "Aanschaffen"
+#: ../../include/activities.php:56
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s veranderde %2$s naar &ldquo;%3$s&rdquo;"
-#: ../../include/apps.php:249 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:250
-#: ../../include/menu.php:42 ../../include/ItemObject.php:100
-#: ../../mod/settings.php:581 ../../mod/blocks.php:99
-#: ../../mod/connections.php:381 ../../mod/connections.php:394
-#: ../../mod/connections.php:413 ../../mod/editblock.php:111
-#: ../../mod/editlayout.php:106 ../../mod/editpost.php:112
-#: ../../mod/editwebpage.php:143 ../../mod/thing.php:233
-#: ../../mod/layouts.php:121 ../../mod/menu.php:59 ../../mod/webpages.php:131
-msgid "Edit"
-msgstr "Bewerken"
+#: ../../include/activities.php:57
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Bezoek het %2$s van %1$s"
-#: ../../include/apps.php:250 ../../include/conversation.php:638
-#: ../../include/RedDAV/RedBrowser.php:251 ../../include/ItemObject.php:120
-#: ../../mod/photos.php:1062 ../../mod/settings.php:582
-#: ../../mod/connedit.php:462 ../../mod/group.php:176 ../../mod/admin.php:732
-#: ../../mod/admin.php:863 ../../mod/thing.php:234
-msgid "Delete"
-msgstr "Verwijderen"
+#: ../../include/activities.php:60
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s heeft een aangepaste %2$s, %3$s veranderd."
-#: ../../include/apps.php:331 ../../include/apps.php:382
-#: ../../include/conversation.php:1003 ../../include/RedDAV/RedBrowser.php:163
-#: ../../mod/photos.php:1124 ../../mod/connedit.php:498
-msgid "Unknown"
-msgstr "Onbekend"
+#: ../../include/bb2diaspora.php:366
+msgid "Attachments:"
+msgstr "Bijlagen:"
+
+#: ../../include/bb2diaspora.php:445 ../../include/event.php:11
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
+
+#: ../../include/bb2diaspora.php:447
+msgid "Redmatrix event notification:"
+msgstr "Notificatie RedMatrix-gebeurtenis:"
+
+#: ../../include/bb2diaspora.php:451 ../../include/event.php:20
+msgid "Starts:"
+msgstr "Start:"
+
+#: ../../include/bb2diaspora.php:459 ../../include/event.php:30
+msgid "Finishes:"
+msgstr "Einde:"
+
+#: ../../include/bb2diaspora.php:467 ../../include/identity.php:894
+#: ../../include/event.php:40 ../../mod/events.php:590
+#: ../../mod/directory.php:199
+msgid "Location:"
+msgstr "Plaats:"
#: ../../include/attach.php:221 ../../include/attach.php:275
msgid "Item was not found."
@@ -365,308 +530,491 @@ msgstr "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt."
msgid "Path not available."
msgstr "Pad niet beschikbaar."
-#: ../../include/attach.php:589
+#: ../../include/attach.php:590
msgid "Empty pathname"
msgstr "Padnaam leeg"
-#: ../../include/attach.php:605
+#: ../../include/attach.php:606
msgid "duplicate filename or path"
msgstr "dubbele bestandsnaam of pad"
-#: ../../include/attach.php:629
+#: ../../include/attach.php:630
msgid "Path not found."
msgstr "Pad niet gevonden"
-#: ../../include/attach.php:680
+#: ../../include/attach.php:681
msgid "mkdir failed."
msgstr "directory aanmaken (mkdir) mislukt."
-#: ../../include/attach.php:684
+#: ../../include/attach.php:685
msgid "database storage failed."
msgstr "opslag in database mislukt."
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Nieuwe pagina"
+#: ../../include/features.php:23
+msgid "General Features"
+msgstr "Algemene functies"
-#: ../../include/page_widgets.php:39 ../../mod/blocks.php:102
-#: ../../mod/layouts.php:125 ../../mod/webpages.php:134
-msgid "View"
-msgstr "Weergeven"
+#: ../../include/features.php:25
+msgid "Content Expiration"
+msgstr "Inhoud laten verlopen"
-#: ../../include/page_widgets.php:40 ../../include/conversation.php:1114
-#: ../../include/ItemObject.php:608 ../../mod/photos.php:1013
-#: ../../mod/editblock.php:141 ../../mod/editlayout.php:135
-#: ../../mod/editpost.php:140 ../../mod/editwebpage.php:174
-#: ../../mod/webpages.php:135
-msgid "Preview"
-msgstr "Voorvertoning"
+#: ../../include/features.php:25
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:136
-msgid "Actions"
-msgstr "Acties"
+#: ../../include/features.php:26
+msgid "Multiple Profiles"
+msgstr "Meerdere profielen"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:137
-msgid "Page Link"
-msgstr "Paginalink"
+#: ../../include/features.php:26
+msgid "Ability to create multiple profiles"
+msgstr "Mogelijkheid om meerdere profielen aan te maken"
-#: ../../include/page_widgets.php:43 ../../mod/webpages.php:138
-msgid "Title"
-msgstr "Titel"
+#: ../../include/features.php:27
+msgid "Advanced Profiles"
+msgstr "Geavanceerde profielen"
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:139
-msgid "Created"
-msgstr "Aangemaakt"
+#: ../../include/features.php:27
+msgid "Additional profile sections and selections"
+msgstr "Extra onderdelen en keuzes voor je profiel"
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:140
-msgid "Edited"
-msgstr "Bewerkt"
+#: ../../include/features.php:28
+msgid "Profile Import/Export"
+msgstr "Profiel importen/exporteren"
+
+#: ../../include/features.php:28
+msgid "Save and load profile details across sites/channels"
+msgstr "Profielgegevens opslaan en in andere hubs/kanalen gebruiken."
+
+#: ../../include/features.php:29
+msgid "Web Pages"
+msgstr "Webpagina's"
+
+#: ../../include/features.php:29
+msgid "Provide managed web pages on your channel"
+msgstr "Sta beheerde webpagina's op jouw kanaal toe"
+
+#: ../../include/features.php:30
+msgid "Private Notes"
+msgstr "Privé-aantekeningen"
+
+#: ../../include/features.php:30
+msgid "Enables a tool to store notes and reminders"
+msgstr "Schakelt een eenvoudige toepassing in om aantekeningen en herinneringen in op te slaan"
+
+#: ../../include/features.php:34
+msgid "Navigation Channel Select"
+msgstr "Kanaal kiezen in navigatiemenu"
+
+#: ../../include/features.php:34
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Kies een ander kanaal direct vanuit het dropdown-menu op de navigatiebalk"
+
+#: ../../include/features.php:38
+msgid "Extended Identity Sharing"
+msgstr "Uitgebreid identiteit delen"
-#: ../../include/security.php:320
+#: ../../include/features.php:38
msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. "
+"Share your identity with all websites on the internet. When disabled, "
+"identity is only shared with sites in the matrix."
+msgstr "Deel jouw RedMatrix-identiteit met alle websites op het internet. Wanneer dit is uitgeschakeld wordt je identiteit alleen binnen het RedMatrix-netwerk gedeeld. Schakel dit alleen als je weet wat je doet."
-#: ../../include/widgets.php:29 ../../include/contact_widgets.php:93
-msgid "Categories"
-msgstr "Categorieën"
+#: ../../include/features.php:39
+msgid "Expert Mode"
+msgstr "Expertmodus"
-#: ../../include/widgets.php:86 ../../include/nav.php:171
-#: ../../mod/apps.php:33
-msgid "Apps"
-msgstr "Apps"
+#: ../../include/features.php:39
+msgid "Enable Expert Mode to provide advanced configuration options"
+msgstr "Schakel de expertmodus in voor geavanceerde instellingen"
-#: ../../include/widgets.php:87
-msgid "System"
-msgstr "Systeem"
+#: ../../include/features.php:40
+msgid "Premium Channel"
+msgstr "Premiumkanaal"
-#: ../../include/widgets.php:89 ../../include/conversation.php:1449
-msgid "Personal"
-msgstr "Persoonlijk"
+#: ../../include/features.php:40
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal"
-#: ../../include/widgets.php:90
-msgid "Create Personal App"
-msgstr "Persoonlijke app maken"
+#: ../../include/features.php:45
+msgid "Post Composition Features"
+msgstr "Functies voor het opstellen van berichten"
-#: ../../include/widgets.php:91
-msgid "Edit Personal App"
-msgstr "Persoonlijke app bewerken"
+#: ../../include/features.php:47
+msgid "Use Markdown"
+msgstr "Markdown gebruiken"
-#: ../../include/widgets.php:135 ../../include/widgets.php:175
-#: ../../include/identity.php:833 ../../include/conversation.php:948
-#: ../../include/Contact.php:107 ../../mod/directory.php:183
-#: ../../mod/dirprofile.php:164 ../../mod/suggest.php:51
-#: ../../mod/match.php:62
-msgid "Connect"
-msgstr "Verbinden"
+#: ../../include/features.php:47
+msgid "Allow use of \"Markdown\" to format posts"
+msgstr "Sta het gebruik van \"markdown\" toe om berichten mee op te maken."
-#: ../../include/widgets.php:137 ../../mod/suggest.php:53
-msgid "Ignore/Hide"
-msgstr "Negeren/Verbergen"
+#: ../../include/features.php:49 ../../include/widgets.php:527
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Kanaalbronnen"
-#: ../../include/widgets.php:143 ../../mod/connections.php:267
-msgid "Suggestions"
-msgstr "Voorgestelde kanalen"
+#: ../../include/features.php:49
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Automatisch inhoud uit andere kanalen of feeds importeren."
-#: ../../include/widgets.php:144
-msgid "See more..."
-msgstr "Meer..."
+#: ../../include/features.php:50
+msgid "Even More Encryption"
+msgstr "Extra encryptie"
-#: ../../include/widgets.php:166
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties."
+#: ../../include/features.php:50
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Sta toe dat inhoud extra end-to-end wordt versleuteld met een gedeelde geheime sleutel."
-#: ../../include/widgets.php:172
-msgid "Add New Connection"
-msgstr "Nieuwe connectie toevoegen"
+#: ../../include/features.php:51
+msgid "Flag Adult Photos"
+msgstr "Markeer foto's als voor volwassenen"
-#: ../../include/widgets.php:173
-msgid "Enter the channel address"
-msgstr "Vul het adres van het nieuwe kanaal in"
+#: ../../include/features.php:51
+msgid "Provide photo edit option to hide adult photos from default album view"
+msgstr "Zorgt voor een optie om foto's met inhoud voor volwassenen in de standaard albumweergave te verbergen"
-#: ../../include/widgets.php:174
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Voorbeeld: bob@example.com, http://example.com/barbara"
+#: ../../include/features.php:56
+msgid "Network and Stream Filtering"
+msgstr "Netwerk- en streamfilter"
-#: ../../include/widgets.php:191
-msgid "Notes"
-msgstr "Aantekeningen"
+#: ../../include/features.php:57
+msgid "Search by Date"
+msgstr "Zoek op datum"
-#: ../../include/widgets.php:193 ../../include/text.php:823
-#: ../../include/text.php:835 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
-#: ../../mod/filer.php:50 ../../mod/admin.php:1341 ../../mod/admin.php:1362
-msgid "Save"
-msgstr "Opslaan"
+#: ../../include/features.php:57
+msgid "Ability to select posts by date ranges"
+msgstr "Mogelijkheid om berichten op datum te filteren "
-#: ../../include/widgets.php:263
-msgid "Remove term"
-msgstr "Verwijder zoekterm"
+#: ../../include/features.php:58
+msgid "Collections Filter"
+msgstr "Filter op collecties"
-#: ../../include/widgets.php:272 ../../include/features.php:58
+#: ../../include/features.php:58
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr "Sta de widget toe om netwerkberichten te tonen van bepaalde collecties"
+
+#: ../../include/features.php:59 ../../include/widgets.php:272
msgid "Saved Searches"
msgstr "Opgeslagen zoekopdrachten"
-#: ../../include/widgets.php:273 ../../include/group.php:302
-msgid "add"
-msgstr "toevoegen"
+#: ../../include/features.php:59
+msgid "Save search terms for re-use"
+msgstr "Sla zoekopdrachten op voor hergebruik"
+
+#: ../../include/features.php:60
+msgid "Network Personal Tab"
+msgstr "Persoonlijke netwerktab"
+
+#: ../../include/features.php:60
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had"
+
+#: ../../include/features.php:61
+msgid "Network New Tab"
+msgstr "Nieuwe netwerktab"
+
+#: ../../include/features.php:61
+msgid "Enable tab to display all new Network activity"
+msgstr "Laat de tab alle nieuwe netwerkactiviteit tonen"
+
+#: ../../include/features.php:62
+msgid "Affinity Tool"
+msgstr "Verwantschapsfilter"
+
+#: ../../include/features.php:62
+msgid "Filter stream activity by depth of relationships"
+msgstr "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag"
+
+#: ../../include/features.php:63
+msgid "Suggest Channels"
+msgstr "Kanalen voorstellen"
+
+#: ../../include/features.php:63
+msgid "Show channel suggestions"
+msgstr "Voor jou mogelijk interessante kanalen voorstellen"
+
+#: ../../include/features.php:68
+msgid "Post/Comment Tools"
+msgstr "Bericht- en reactiehulpmiddelen"
+
+#: ../../include/features.php:71
+msgid "Tagging"
+msgstr "Taggen"
+
+#: ../../include/features.php:71
+msgid "Ability to tag existing posts"
+msgstr "Mogelijkheid om bestaande berichten te taggen"
-#: ../../include/widgets.php:303 ../../include/contact_widgets.php:58
#: ../../include/features.php:72
+msgid "Post Categories"
+msgstr "Categorieën berichten"
+
+#: ../../include/features.php:72
+msgid "Add categories to your posts"
+msgstr "Voeg categorieën toe aan je berichten"
+
+#: ../../include/features.php:73 ../../include/contact_widgets.php:57
+#: ../../include/widgets.php:302
msgid "Saved Folders"
msgstr "Bewaarde mappen"
-#: ../../include/widgets.php:306 ../../include/contact_widgets.php:61
-#: ../../include/contact_widgets.php:96
-msgid "Everything"
-msgstr "Alles"
-
-#: ../../include/widgets.php:342
-msgid "Archives"
-msgstr "Archieven"
+#: ../../include/features.php:73
+msgid "Ability to file posts under folders"
+msgstr "Mogelijkheid om berichten in mappen op te slaan"
-#: ../../include/widgets.php:404
-msgid "Refresh"
-msgstr "Vernieuwen"
+#: ../../include/features.php:74
+msgid "Dislike Posts"
+msgstr "Vind berichten niet leuk"
-#: ../../include/widgets.php:405 ../../mod/connedit.php:492
-msgid "Me"
-msgstr "Ik"
+#: ../../include/features.php:74
+msgid "Ability to dislike posts/comments"
+msgstr "Mogelijkheid om berichten en reacties niet leuk te vinden"
-#: ../../include/widgets.php:406 ../../mod/connedit.php:494
-msgid "Best Friends"
-msgstr "Goede vrienden"
+#: ../../include/features.php:75
+msgid "Star Posts"
+msgstr "Geef berichten een ster"
-#: ../../include/widgets.php:407 ../../include/identity.php:381
-#: ../../include/identity.php:382 ../../include/identity.php:389
-#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:495
-msgid "Friends"
-msgstr "Vrienden"
+#: ../../include/features.php:75
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Mogelijkheid om speciale berichten met een ster te markeren"
-#: ../../include/widgets.php:408
-msgid "Co-workers"
-msgstr "Collega's"
+#: ../../include/features.php:76
+msgid "Tag Cloud"
+msgstr "Tagwolk"
-#: ../../include/widgets.php:409 ../../mod/connedit.php:496
-msgid "Former Friends"
-msgstr "Oude vrienden"
+#: ../../include/features.php:76
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina"
-#: ../../include/widgets.php:410 ../../mod/connedit.php:497
-msgid "Acquaintances"
-msgstr "Kennissen"
+#: ../../include/RedDAV/RedBrowser.php:106
+#: ../../include/RedDAV/RedBrowser.php:262
+msgid "parent"
+msgstr "omhoog"
-#: ../../include/widgets.php:411
-msgid "Everybody"
-msgstr "Iedereen"
+#: ../../include/RedDAV/RedBrowser.php:130
+#: ../../include/RedDAV/RedBrowser.php:339
+msgid "Collection"
+msgstr "map"
-#: ../../include/widgets.php:443
-msgid "Account settings"
-msgstr "Account"
+#: ../../include/RedDAV/RedBrowser.php:133
+msgid "Principal"
+msgstr "principal"
-#: ../../include/widgets.php:449
-msgid "Channel settings"
-msgstr "Kanaal"
+#: ../../include/RedDAV/RedBrowser.php:136
+msgid "Addressbook"
+msgstr "Adresboek"
-#: ../../include/widgets.php:455
-msgid "Additional features"
-msgstr "Extra functies"
+#: ../../include/RedDAV/RedBrowser.php:139
+msgid "Calendar"
+msgstr "Agenda"
-#: ../../include/widgets.php:461
-msgid "Feature settings"
-msgstr "Plug-ins"
+#: ../../include/RedDAV/RedBrowser.php:142
+msgid "Schedule Inbox"
+msgstr "Planning-postvak IN"
-#: ../../include/widgets.php:467
-msgid "Display settings"
-msgstr "Weergave"
+#: ../../include/RedDAV/RedBrowser.php:145
+msgid "Schedule Outbox"
+msgstr "Planning-postvak UIT"
-#: ../../include/widgets.php:473
-msgid "Connected apps"
-msgstr "Verbonden applicaties"
+#: ../../include/RedDAV/RedBrowser.php:163 ../../include/conversation.php:992
+#: ../../include/apps.php:336 ../../include/apps.php:387
+#: ../../mod/connedit.php:513 ../../mod/photos.php:710
+#: ../../mod/photos.php:1129
+msgid "Unknown"
+msgstr "Onbekend"
-#: ../../include/widgets.php:479
-msgid "Export channel"
-msgstr "Kanaal exporteren"
+#: ../../include/RedDAV/RedBrowser.php:225
+#, php-format
+msgid "%1$s used"
+msgstr "%1$s gebruikt"
-#: ../../include/widgets.php:485
-msgid "Export content"
-msgstr "Inhoud exporteren"
+#: ../../include/RedDAV/RedBrowser.php:230
+#, php-format
+msgid "%1$s used of %2$s (%3$s&#37;)"
+msgstr "%1$s van %2$s gebruikt (%3$s&#37;)"
-#: ../../include/widgets.php:491
-msgid "Automatic Permissions (Advanced)"
-msgstr "Automatische permissies (geavanceerd)"
+#: ../../include/RedDAV/RedBrowser.php:249 ../../include/conversation.php:1539
+#: ../../include/apps.php:135 ../../include/nav.php:106
+#: ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "Bestanden"
-#: ../../include/widgets.php:501
-msgid "Premium Channel Settings"
-msgstr "Instellingen premiumkanaal"
+#: ../../include/RedDAV/RedBrowser.php:251
+msgid "Total"
+msgstr "Totaal"
-#: ../../include/widgets.php:510 ../../include/features.php:49
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Kanaalbronnen"
+#: ../../include/RedDAV/RedBrowser.php:258 ../../mod/settings.php:579
+#: ../../mod/settings.php:605 ../../mod/admin.php:866
+msgid "Name"
+msgstr "Naam"
-#: ../../include/widgets.php:535 ../../mod/mail.php:124
-#: ../../mod/message.php:31
-msgid "Messages"
-msgstr "Berichten"
+#: ../../include/RedDAV/RedBrowser.php:259
+msgid "Type"
+msgstr "Type"
-#: ../../include/widgets.php:540
-msgid "Check Mail"
-msgstr "Controleer op nieuwe berichten"
+#: ../../include/RedDAV/RedBrowser.php:260
+msgid "Size"
+msgstr "Grootte"
-#: ../../include/widgets.php:545 ../../include/nav.php:209
-msgid "New Message"
-msgstr "Nieuw bericht"
+#: ../../include/RedDAV/RedBrowser.php:261
+msgid "Last Modified"
+msgstr "Laatst gewijzigd"
-#: ../../include/widgets.php:621
-msgid "Chat Rooms"
-msgstr "Chatkanalen"
+#: ../../include/RedDAV/RedBrowser.php:264 ../../include/conversation.php:639
+#: ../../include/ItemObject.php:120 ../../include/apps.php:255
+#: ../../mod/group.php:176 ../../mod/settings.php:640
+#: ../../mod/connedit.php:476 ../../mod/thing.php:234 ../../mod/admin.php:730
+#: ../../mod/admin.php:861 ../../mod/photos.php:1067
+msgid "Delete"
+msgstr "Verwijderen"
-#: ../../include/widgets.php:639
-msgid "Bookmarked Chatrooms"
-msgstr "Bladwijzers van chatkanalen"
+#: ../../include/RedDAV/RedBrowser.php:312
+msgid "Create new folder"
+msgstr "Nieuwe map aanmaken"
-#: ../../include/widgets.php:657
-msgid "Suggested Chatrooms"
-msgstr "Voorgestelde chatkanalen"
+#: ../../include/RedDAV/RedBrowser.php:313 ../../mod/mitem.php:169
+#: ../../mod/menu.php:100 ../../mod/new_channel.php:121
+msgid "Create"
+msgstr "Aanmaken"
-#: ../../include/zot.php:655
-msgid "Invalid data packet"
-msgstr "Datapakket ongeldig"
+#: ../../include/RedDAV/RedBrowser.php:314
+msgid "Upload file"
+msgstr "Bestand uploaden"
-#: ../../include/zot.php:671
-msgid "Unable to verify channel signature"
-msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
+#: ../../include/RedDAV/RedBrowser.php:315 ../../mod/profile_photo.php:361
+#: ../../mod/photos.php:735 ../../mod/photos.php:1243
+msgid "Upload"
+msgstr "Uploaden"
-#: ../../include/zot.php:1763
+#: ../../include/bookmarks.php:35
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
+msgid "%1$s's bookmarks"
+msgstr "Bladwijzers van %1$s"
-#: ../../include/photos.php:104
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"
+#: ../../include/dir_fns.php:68
+msgid "Directory Options"
+msgstr "Opties kanalengids"
-#: ../../include/photos.php:111
-msgid "Image file is empty."
-msgstr "Afbeeldingsbestand is leeg"
+#: ../../include/dir_fns.php:69
+msgid "Alphabetic"
+msgstr "Alfabetisch"
-#: ../../include/photos.php:140 ../../mod/profile_photo.php:216
-msgid "Unable to process image"
-msgstr "Afbeelding kan niet verwerkt worden"
+#: ../../include/dir_fns.php:70
+msgid "Reverse Alphabetic"
+msgstr "Omgekeerd alfabetisch"
-#: ../../include/photos.php:212
-msgid "Photo storage failed."
-msgstr "Foto kan niet worden opgeslagen"
+#: ../../include/dir_fns.php:71
+msgid "Newest to Oldest"
+msgstr "Nieuw naar oud"
-#: ../../include/photos.php:340 ../../include/conversation.php:1540
-msgid "Photo Albums"
-msgstr "Fotoalbums"
+#: ../../include/dir_fns.php:72
+msgid "Oldest to Newest"
+msgstr "Oud naar nieuw"
-#: ../../include/photos.php:344
-msgid "Upload New Photos"
-msgstr "Nieuwe foto's uploaden"
+#: ../../include/dir_fns.php:73
+msgid "Public Forums Only"
+msgstr "Alleen openbare forums"
+
+#: ../../include/dir_fns.php:75
+msgid "Sort"
+msgstr "Sorteren"
+
+#: ../../include/dir_fns.php:91
+msgid "Enable Safe Search"
+msgstr "Veilig zoeken inschakelen"
+
+#: ../../include/dir_fns.php:93
+msgid "Disable Safe Search"
+msgstr "Veilig zoeken uitschakelen"
+
+#: ../../include/dir_fns.php:95
+msgid "Safe Mode"
+msgstr "Veilig zoeken"
+
+#: ../../include/comanche.php:35 ../../mod/admin.php:353
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
+msgstr "Standaard"
+
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
+msgstr "Regelmatig"
+
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
+msgstr "Elk uur"
+
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
+msgstr "Twee keer per dag"
+
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
+msgstr "Dagelijks"
+
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "Wekelijks"
+
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "Maandelijks"
+
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:726
+#: ../../mod/admin.php:735 ../../boot.php:1544
+msgid "Email"
+msgstr "E-mail"
+
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
+
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "MySpace"
+
+#: ../../include/auth.php:130
+msgid "Logged out."
+msgstr "Uitgelogd."
+
+#: ../../include/auth.php:271
+msgid "Failed authentication"
+msgstr "Mislukte authenticatie"
+
+#: ../../include/auth.php:285 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "Inloggen mislukt."
#: ../../include/acl_selectors.php:240
msgid "Visible to your default audience"
@@ -680,44 +1028,18 @@ msgstr "Tonen"
msgid "Don't show"
msgstr "Niet tonen"
-#: ../../include/acl_selectors.php:248 ../../mod/photos.php:604
-#: ../../mod/photos.php:968 ../../mod/events.php:585 ../../mod/chat.php:209
-#: ../../mod/filestorage.php:137
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:596
+#: ../../mod/chat.php:209 ../../mod/filestorage.php:141
+#: ../../mod/photos.php:588 ../../mod/photos.php:947
msgid "Permissions"
msgstr "Permissies"
-#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:305
+#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:320
+#: ../../mod/photos.php:1146
msgid "Close"
msgstr "Sluiten"
-#: ../../include/activities.php:39
-msgid " and "
-msgstr " en "
-
-#: ../../include/activities.php:47
-msgid "public profile"
-msgstr "openbaar profiel"
-
-#: ../../include/activities.php:52
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s veranderde %2$s naar &ldquo;%3$s&rdquo;"
-
-#: ../../include/activities.php:53
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Bezoek het %2$s van %1$s"
-
-#: ../../include/activities.php:56
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s heeft een aangepaste %2$s, %3$s veranderd."
-
-#: ../../include/api.php:1084
-msgid "Public Timeline"
-msgstr "Openbare tijdlijn"
-
-#: ../../include/identity.php:31 ../../mod/item.php:1344
+#: ../../include/identity.php:31 ../../mod/item.php:1115
msgid "Unable to obtain identity information from database"
msgstr "Niet in staat om identiteitsinformatie uit de database te verkrijgen"
@@ -733,276 +1055,846 @@ msgstr "Naam te lang"
msgid "No account identifier"
msgstr "Geen account-identificator"
-#: ../../include/identity.php:181
+#: ../../include/identity.php:182
msgid "Nickname is required."
msgstr "Bijnaam is verplicht"
-#: ../../include/identity.php:195
+#: ../../include/identity.php:196
msgid "Reserved nickname. Please choose another."
msgstr "Deze naam is gereserveerd. Kies een andere."
-#: ../../include/identity.php:200 ../../include/dimport.php:34
+#: ../../include/identity.php:201 ../../include/dimport.php:34
msgid ""
"Nickname has unsupported characters or is already being used on this site."
msgstr "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik."
-#: ../../include/identity.php:282
+#: ../../include/identity.php:283
msgid "Unable to retrieve created identity"
msgstr "Niet in staat om aangemaakte identiteit te vinden"
-#: ../../include/identity.php:342
+#: ../../include/identity.php:343
msgid "Default Profile"
msgstr "Standaardprofiel"
-#: ../../include/identity.php:636
+#: ../../include/identity.php:387 ../../include/identity.php:388
+#: ../../include/identity.php:395 ../../include/widgets.php:428
+#: ../../include/profile_selectors.php:80 ../../mod/settings.php:329
+#: ../../mod/settings.php:333 ../../mod/settings.php:334
+#: ../../mod/settings.php:337 ../../mod/settings.php:348
+#: ../../mod/connedit.php:510
+msgid "Friends"
+msgstr "Vrienden"
+
+#: ../../include/identity.php:643
msgid "Requested channel is not available."
msgstr "Opgevraagd kanaal is niet beschikbaar."
-#: ../../include/identity.php:684 ../../mod/achievements.php:11
-#: ../../mod/profile.php:16 ../../mod/blocks.php:10 ../../mod/connect.php:13
-#: ../../mod/filestorage.php:48 ../../mod/layouts.php:8
-#: ../../mod/webpages.php:8 ../../mod/hcard.php:8
+#: ../../include/identity.php:691 ../../mod/achievements.php:11
+#: ../../mod/profile.php:16 ../../mod/webpages.php:29 ../../mod/blocks.php:29
+#: ../../mod/editblock.php:29 ../../mod/editlayout.php:28
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:48
+#: ../../mod/connect.php:13 ../../mod/layouts.php:29 ../../mod/hcard.php:8
msgid "Requested profile is not available."
msgstr "Opgevraagd profiel is niet beschikbaar"
-#: ../../include/identity.php:847 ../../mod/profiles.php:722
+#: ../../include/identity.php:840 ../../include/conversation.php:937
+#: ../../include/widgets.php:136 ../../include/widgets.php:175
+#: ../../include/Contact.php:107 ../../mod/suggest.php:51
+#: ../../mod/match.php:62 ../../mod/directory.php:264
+msgid "Connect"
+msgstr "Verbinden"
+
+#: ../../include/identity.php:854 ../../mod/profiles.php:757
msgid "Change profile photo"
msgstr "Profielfoto veranderen"
-#: ../../include/identity.php:853
+#: ../../include/identity.php:861
msgid "Profiles"
msgstr "Profielen"
-#: ../../include/identity.php:853
+#: ../../include/identity.php:861
msgid "Manage/edit profiles"
msgstr "Profielen beheren/bewerken"
-#: ../../include/identity.php:854 ../../mod/profiles.php:723
+#: ../../include/identity.php:862 ../../mod/profiles.php:758
msgid "Create New Profile"
msgstr "Nieuw profiel aanmaken"
-#: ../../include/identity.php:857 ../../include/nav.php:103
+#: ../../include/identity.php:865 ../../include/nav.php:103
msgid "Edit Profile"
msgstr "Profiel bewerken"
-#: ../../include/identity.php:868 ../../mod/profiles.php:734
+#: ../../include/identity.php:878 ../../mod/profiles.php:769
msgid "Profile Image"
msgstr "Profielfoto"
-#: ../../include/identity.php:871
+#: ../../include/identity.php:881
msgid "visible to everybody"
msgstr "Voor iedereen zichtbaar"
-#: ../../include/identity.php:872 ../../mod/profiles.php:617
-#: ../../mod/profiles.php:738
+#: ../../include/identity.php:882 ../../mod/profiles.php:652
+#: ../../mod/profiles.php:773
msgid "Edit visibility"
msgstr "Zichtbaarheid bewerken"
-#: ../../include/identity.php:884 ../../include/event.php:40
-#: ../../include/bb2diaspora.php:480 ../../mod/events.php:579
-#: ../../mod/directory.php:156 ../../mod/dirprofile.php:105
-msgid "Location:"
-msgstr "Plaats:"
-
-#: ../../include/identity.php:886 ../../include/identity.php:1123
-#: ../../mod/directory.php:158
+#: ../../include/identity.php:898 ../../include/identity.php:1135
msgid "Gender:"
msgstr "Geslacht:"
-#: ../../include/identity.php:887 ../../include/identity.php:1167
-#: ../../mod/directory.php:160
+#: ../../include/identity.php:899 ../../include/identity.php:1179
msgid "Status:"
msgstr "Status:"
-#: ../../include/identity.php:888 ../../include/identity.php:1178
-#: ../../mod/directory.php:162
+#: ../../include/identity.php:900 ../../include/identity.php:1190
msgid "Homepage:"
msgstr "Homepagina:"
-#: ../../include/identity.php:889 ../../mod/dirprofile.php:151
+#: ../../include/identity.php:901
msgid "Online Now"
msgstr "Nu online"
-#: ../../include/identity.php:967 ../../include/identity.php:1047
-#: ../../mod/ping.php:298
+#: ../../include/identity.php:979 ../../include/identity.php:1059
+#: ../../mod/ping.php:329
msgid "g A l F d"
msgstr "G:i, l d F"
-#: ../../include/identity.php:968 ../../include/identity.php:1048
+#: ../../include/identity.php:980 ../../include/identity.php:1060
msgid "F d"
msgstr "d F"
-#: ../../include/identity.php:1013 ../../include/identity.php:1088
-#: ../../mod/ping.php:320
+#: ../../include/identity.php:1025 ../../include/identity.php:1100
+#: ../../mod/ping.php:351
msgid "[today]"
msgstr "[vandaag]"
-#: ../../include/identity.php:1025
+#: ../../include/identity.php:1037
msgid "Birthday Reminders"
msgstr "Verjaardagsherinneringen"
-#: ../../include/identity.php:1026
+#: ../../include/identity.php:1038
msgid "Birthdays this week:"
msgstr "Verjaardagen deze week:"
-#: ../../include/identity.php:1081
+#: ../../include/identity.php:1093
msgid "[No description]"
msgstr "[Geen omschrijving]"
-#: ../../include/identity.php:1099
+#: ../../include/identity.php:1111
msgid "Event Reminders"
msgstr "Herinneringen"
-#: ../../include/identity.php:1100
+#: ../../include/identity.php:1112
msgid "Events this week:"
msgstr "Gebeurtenissen deze week:"
-#: ../../include/identity.php:1121 ../../mod/settings.php:953
+#: ../../include/identity.php:1125 ../../include/identity.php:1254
+#: ../../include/apps.php:138 ../../mod/profperm.php:112
+msgid "Profile"
+msgstr "Profiel"
+
+#: ../../include/identity.php:1133 ../../mod/settings.php:1022
msgid "Full Name:"
msgstr "Volledige naam:"
-#: ../../include/identity.php:1128
+#: ../../include/identity.php:1140
msgid "Like this channel"
msgstr "Vind dit kanaal leuk"
-#: ../../include/identity.php:1139 ../../include/taxonomy.php:338
-#: ../../include/ItemObject.php:146
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "vindt dit leuk"
-msgstr[1] "vinden dit leuk"
-
-#: ../../include/identity.php:1152
+#: ../../include/identity.php:1164
msgid "j F, Y"
msgstr "F j Y"
-#: ../../include/identity.php:1153
+#: ../../include/identity.php:1165
msgid "j F"
msgstr "F j"
-#: ../../include/identity.php:1160
+#: ../../include/identity.php:1172
msgid "Birthday:"
msgstr "Geboortedatum:"
-#: ../../include/identity.php:1164
+#: ../../include/identity.php:1176
msgid "Age:"
msgstr "Leeftijd:"
-#: ../../include/identity.php:1173
+#: ../../include/identity.php:1185
#, php-format
msgid "for %1$d %2$s"
msgstr "voor %1$d %2$s"
-#: ../../include/identity.php:1176 ../../mod/profiles.php:639
+#: ../../include/identity.php:1188 ../../mod/profiles.php:674
msgid "Sexual Preference:"
msgstr "Seksuele voorkeur:"
-#: ../../include/identity.php:1180 ../../mod/profiles.php:641
+#: ../../include/identity.php:1192 ../../mod/profiles.php:676
msgid "Hometown:"
msgstr "Oorspronkelijk uit:"
-#: ../../include/identity.php:1182
+#: ../../include/identity.php:1194
msgid "Tags:"
-msgstr "Trefwoorden:"
+msgstr "Tags:"
-#: ../../include/identity.php:1184 ../../mod/profiles.php:642
+#: ../../include/identity.php:1196 ../../mod/profiles.php:677
msgid "Political Views:"
msgstr "Politieke overtuigingen:"
-#: ../../include/identity.php:1186
+#: ../../include/identity.php:1198
msgid "Religion:"
msgstr "Religie:"
-#: ../../include/identity.php:1188 ../../mod/directory.php:164
+#: ../../include/identity.php:1200
msgid "About:"
msgstr "Over:"
-#: ../../include/identity.php:1190
+#: ../../include/identity.php:1202
msgid "Hobbies/Interests:"
msgstr "Hobby's/interesses:"
-#: ../../include/identity.php:1192 ../../mod/profiles.php:645
+#: ../../include/identity.php:1204 ../../mod/profiles.php:680
msgid "Likes:"
msgstr "Houdt van:"
-#: ../../include/identity.php:1194 ../../mod/profiles.php:646
+#: ../../include/identity.php:1206 ../../mod/profiles.php:681
msgid "Dislikes:"
msgstr "Houdt niet van:"
-#: ../../include/identity.php:1197
+#: ../../include/identity.php:1209
msgid "Contact information and Social Networks:"
msgstr "Contactinformatie en sociale netwerken:"
-#: ../../include/identity.php:1199
+#: ../../include/identity.php:1221
msgid "My other channels:"
msgstr "Mijn andere kanalen"
-#: ../../include/identity.php:1201
+#: ../../include/identity.php:1224
msgid "Musical interests:"
msgstr "Muzikale interesses:"
-#: ../../include/identity.php:1203
+#: ../../include/identity.php:1226
msgid "Books, literature:"
msgstr "Boeken, literatuur:"
-#: ../../include/identity.php:1205
+#: ../../include/identity.php:1228
msgid "Television:"
msgstr "Televisie:"
-#: ../../include/identity.php:1207
+#: ../../include/identity.php:1230
msgid "Film/dance/culture/entertainment:"
msgstr "Films/dansen/cultuur/vermaak:"
-#: ../../include/identity.php:1209
+#: ../../include/identity.php:1232
msgid "Love/Romance:"
msgstr "Liefde/romantiek:"
-#: ../../include/identity.php:1211
+#: ../../include/identity.php:1234
msgid "Work/employment:"
msgstr "Werk/beroep:"
-#: ../../include/identity.php:1213
+#: ../../include/identity.php:1236
msgid "School/education:"
msgstr "School/opleiding:"
-#: ../../include/identity.php:1233
+#: ../../include/identity.php:1256
msgid "Like this thing"
msgstr "Vind dit ding leuk"
-#: ../../include/conversation.php:120 ../../include/text.php:1743
-#: ../../include/diaspora.php:1924 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:174 ../../mod/tagger.php:45 ../../mod/like.php:294
+#: ../../include/contact_widgets.php:14
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d uitnodiging beschikbaar"
+msgstr[1] "%d uitnodigingen beschikbaar"
+
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:416
+msgid "Advanced"
+msgstr "Geavanceerd"
+
+#: ../../include/contact_widgets.php:22
+msgid "Find Channels"
+msgstr "Kanalen vinden"
+
+#: ../../include/contact_widgets.php:23
+msgid "Enter name or interest"
+msgstr "Vul naam of interesse in"
+
+#: ../../include/contact_widgets.php:24
+msgid "Connect/Follow"
+msgstr "Verbinden/volgen"
+
+#: ../../include/contact_widgets.php:25
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Voorbeeld: Robert Morgenstein, vissen"
+
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:412
+#: ../../mod/directory.php:317 ../../mod/directory.php:322
+msgid "Find"
+msgstr "Vinden"
+
+#: ../../include/contact_widgets.php:27 ../../mod/suggest.php:59
+#: ../../mod/directory.php:321
+msgid "Channel Suggestions"
+msgstr "Voorgestelde kanalen"
+
+#: ../../include/contact_widgets.php:29
+msgid "Random Profile"
+msgstr "Willekeurig profiel"
+
+#: ../../include/contact_widgets.php:30
+msgid "Invite Friends"
+msgstr "Vrienden uitnodigen"
+
+#: ../../include/contact_widgets.php:32
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Geavanceerd voorbeeld (Engels): name=jan en country=nederland"
+
+#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:95
+#: ../../include/widgets.php:305
+msgid "Everything"
+msgstr "Alles"
+
+#: ../../include/contact_widgets.php:125
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d gemeenschappelijke connectie"
+msgstr[1] "%d gemeenschappelijke connecties"
+
+#: ../../include/contact_widgets.php:130
+msgid "show more"
+msgstr "meer connecties weergeven"
+
+#: ../../include/event.php:376
+msgid "This event has been added to your calendar."
+msgstr "Dit evenement is aan jouw agenda toegevoegd."
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken."
+
+#: ../../include/group.php:235
+msgid "Default privacy group for new contacts"
+msgstr "Standaard privacy-collectie voor nieuwe kanalen"
+
+#: ../../include/group.php:254 ../../mod/admin.php:735
+msgid "All Channels"
+msgstr "Alle kanalen"
+
+#: ../../include/group.php:276
+msgid "edit"
+msgstr "bewerken"
+
+#: ../../include/group.php:298
+msgid "Collections"
+msgstr "Collecties"
+
+#: ../../include/group.php:299
+msgid "Edit collection"
+msgstr "Collectie bewerken"
+
+#: ../../include/group.php:300
+msgid "Create a new collection"
+msgstr "Nieuwe collectie aanmaken"
+
+#: ../../include/group.php:301
+msgid "Channels not in any collection"
+msgstr "Kanalen die zich in geen enkele collectie bevinden"
+
+#: ../../include/group.php:303 ../../include/widgets.php:273
+msgid "add"
+msgstr "toevoegen"
+
+#: ../../include/account.php:23
+msgid "Not a valid email address"
+msgstr "Geen geldig e-mailadres"
+
+#: ../../include/account.php:25
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Jouw e-maildomein is op deze RedMatrix-hub niet toegestaan"
+
+#: ../../include/account.php:31
+msgid "Your email address is already registered at this site."
+msgstr "Jouw e-mailadres is al op deze RedMatrix-hub geregistreerd."
+
+#: ../../include/account.php:64
+msgid "An invitation is required."
+msgstr "Een uitnodiging is vereist"
+
+#: ../../include/account.php:68
+msgid "Invitation could not be verified."
+msgstr "Uitnodiging kon niet geverifieerd worden"
+
+#: ../../include/account.php:119
+msgid "Please enter the required information."
+msgstr "Vul de vereiste informatie in."
+
+#: ../../include/account.php:187
+msgid "Failed to store account information."
+msgstr "Account-informatie kon niet opgeslagen worden."
+
+#: ../../include/account.php:245
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registratiebevestiging voor %s"
+
+#: ../../include/account.php:313
+#, php-format
+msgid "Registration request at %s"
+msgstr "Registratiebevestiging voor %s"
+
+#: ../../include/account.php:315 ../../include/account.php:342
+#: ../../include/account.php:399
+msgid "Administrator"
+msgstr "Beheerder"
+
+#: ../../include/account.php:337
+msgid "your registration password"
+msgstr "jouw registratiewachtwoord"
+
+#: ../../include/account.php:340 ../../include/account.php:397
+#, php-format
+msgid "Registration details for %s"
+msgstr "Registratiegegevens voor %s"
+
+#: ../../include/account.php:406
+msgid "Account approved."
+msgstr "Account goedgekeurd"
+
+#: ../../include/account.php:440
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registratie ingetrokken voor %s"
+
+#: ../../include/account.php:486
+msgid "Account verified. Please login."
+msgstr "Account is geverifieerd. Je kan inloggen."
+
+#: ../../include/account.php:648 ../../include/account.php:650
+msgid "Click here to upgrade."
+msgstr "Klik hier om te upgraden."
+
+#: ../../include/account.php:656
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden."
+
+#: ../../include/account.php:661
+msgid "This action is not available under your subscription plan."
+msgstr "Deze handeling is niet mogelijk met jouw abonnement."
+
+#: ../../include/text.php:320
+msgid "prev"
+msgstr "vorige"
+
+#: ../../include/text.php:322
+msgid "first"
+msgstr "eerste"
+
+#: ../../include/text.php:351
+msgid "last"
+msgstr "laatste"
+
+#: ../../include/text.php:354
+msgid "next"
+msgstr "volgende"
+
+#: ../../include/text.php:366
+msgid "older"
+msgstr "ouder"
+
+#: ../../include/text.php:368
+msgid "newer"
+msgstr "nieuwer"
+
+#: ../../include/text.php:756
+msgid "No connections"
+msgstr "Geen connecties"
+
+#: ../../include/text.php:772
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d connectie"
+msgstr[1] "%d connecties"
+
+#: ../../include/text.php:785
+msgid "View Connections"
+msgstr "Connecties weergeven"
+
+#: ../../include/text.php:842 ../../include/text.php:854
+#: ../../include/apps.php:147 ../../include/nav.php:173
+#: ../../mod/search.php:30
+msgid "Search"
+msgstr "Zoeken"
+
+#: ../../include/text.php:843 ../../include/text.php:855
+#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
+#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1339
+#: ../../mod/admin.php:1360
+msgid "Save"
+msgstr "Opslaan"
+
+#: ../../include/text.php:920
+msgid "poke"
+msgstr "aanstoten"
+
+#: ../../include/text.php:920 ../../include/conversation.php:243
+msgid "poked"
+msgstr "aangestoten"
+
+#: ../../include/text.php:921
+msgid "ping"
+msgstr "ping"
+
+#: ../../include/text.php:921
+msgid "pinged"
+msgstr "gepingd"
+
+#: ../../include/text.php:922
+msgid "prod"
+msgstr "por"
+
+#: ../../include/text.php:922
+msgid "prodded"
+msgstr "gepord"
+
+#: ../../include/text.php:923
+msgid "slap"
+msgstr "slaan"
+
+#: ../../include/text.php:923
+msgid "slapped"
+msgstr "sloeg"
+
+#: ../../include/text.php:924
+msgid "finger"
+msgstr "finger"
+
+#: ../../include/text.php:924
+msgid "fingered"
+msgstr "gefingerd"
+
+#: ../../include/text.php:925
+msgid "rebuff"
+msgstr "afpoeieren"
+
+#: ../../include/text.php:925
+msgid "rebuffed"
+msgstr "afgepoeierd"
+
+#: ../../include/text.php:935
+msgid "happy"
+msgstr "gelukkig"
+
+#: ../../include/text.php:936
+msgid "sad"
+msgstr "bedroefd"
+
+#: ../../include/text.php:937
+msgid "mellow"
+msgstr "mellow"
+
+#: ../../include/text.php:938
+msgid "tired"
+msgstr "moe"
+
+#: ../../include/text.php:939
+msgid "perky"
+msgstr "parmantig"
+
+#: ../../include/text.php:940
+msgid "angry"
+msgstr "boos"
+
+#: ../../include/text.php:941
+msgid "stupified"
+msgstr "beteuterd"
+
+#: ../../include/text.php:942
+msgid "puzzled"
+msgstr "verward"
+
+#: ../../include/text.php:943
+msgid "interested"
+msgstr "geïnteresseerd"
+
+#: ../../include/text.php:944
+msgid "bitter"
+msgstr "verbitterd"
+
+#: ../../include/text.php:945
+msgid "cheerful"
+msgstr "vrolijk"
+
+#: ../../include/text.php:946
+msgid "alive"
+msgstr "levendig"
+
+#: ../../include/text.php:947
+msgid "annoyed"
+msgstr "geërgerd"
+
+#: ../../include/text.php:948
+msgid "anxious"
+msgstr "bezorgd"
+
+#: ../../include/text.php:949
+msgid "cranky"
+msgstr "humeurig"
+
+#: ../../include/text.php:950
+msgid "disturbed"
+msgstr "verontrust"
+
+#: ../../include/text.php:951
+msgid "frustrated"
+msgstr "gefrustreerd "
+
+#: ../../include/text.php:952
+msgid "depressed"
+msgstr "gedeprimeerd"
+
+#: ../../include/text.php:953
+msgid "motivated"
+msgstr "gemotiveerd"
+
+#: ../../include/text.php:954
+msgid "relaxed"
+msgstr "ontspannen"
+
+#: ../../include/text.php:955
+msgid "surprised"
+msgstr "verrast"
+
+#: ../../include/text.php:1121
+msgid "Monday"
+msgstr "maandag"
+
+#: ../../include/text.php:1121
+msgid "Tuesday"
+msgstr "dinsdag"
+
+#: ../../include/text.php:1121
+msgid "Wednesday"
+msgstr "woensdag"
+
+#: ../../include/text.php:1121
+msgid "Thursday"
+msgstr "donderdag"
+
+#: ../../include/text.php:1121
+msgid "Friday"
+msgstr "vrijdag"
+
+#: ../../include/text.php:1121
+msgid "Saturday"
+msgstr "zaterdag"
+
+#: ../../include/text.php:1121
+msgid "Sunday"
+msgstr "zondag"
+
+#: ../../include/text.php:1125
+msgid "January"
+msgstr "januari"
+
+#: ../../include/text.php:1125
+msgid "February"
+msgstr "februari"
+
+#: ../../include/text.php:1125
+msgid "March"
+msgstr "maart"
+
+#: ../../include/text.php:1125
+msgid "April"
+msgstr "april"
+
+#: ../../include/text.php:1125
+msgid "May"
+msgstr "mei"
+
+#: ../../include/text.php:1125
+msgid "June"
+msgstr "juni"
+
+#: ../../include/text.php:1125
+msgid "July"
+msgstr "juli"
+
+#: ../../include/text.php:1125
+msgid "August"
+msgstr "augustus"
+
+#: ../../include/text.php:1125
+msgid "September"
+msgstr "september"
+
+#: ../../include/text.php:1125
+msgid "October"
+msgstr "oktober"
+
+#: ../../include/text.php:1125
+msgid "November"
+msgstr "november"
+
+#: ../../include/text.php:1125
+msgid "December"
+msgstr "december"
+
+#: ../../include/text.php:1203
+msgid "unknown.???"
+msgstr "onbekend.???"
+
+#: ../../include/text.php:1204
+msgid "bytes"
+msgstr "bytes"
+
+#: ../../include/text.php:1240
+msgid "remove category"
+msgstr "categorie verwijderen"
+
+#: ../../include/text.php:1309
+msgid "remove from file"
+msgstr "uit map verwijderen"
+
+#: ../../include/text.php:1385 ../../include/text.php:1396
+msgid "Click to open/close"
+msgstr "Klik om te openen of te sluiten"
+
+#: ../../include/text.php:1544 ../../mod/events.php:414
+msgid "Link to Source"
+msgstr "Originele locatie"
+
+#: ../../include/text.php:1563
+msgid "Select a page layout: "
+msgstr "Kies een paginalay-out: "
+
+#: ../../include/text.php:1566 ../../include/text.php:1626
+msgid "default"
+msgstr "standaard"
+
+#: ../../include/text.php:1599
+msgid "Page content type: "
+msgstr "Opmaakcode pagina"
+
+#: ../../include/text.php:1638
+msgid "Select an alternate language"
+msgstr "Kies een andere taal"
+
+#: ../../include/text.php:1757 ../../include/conversation.php:120
+#: ../../include/diaspora.php:1928 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/like.php:290 ../../mod/tagger.php:45
msgid "photo"
msgstr "foto"
-#: ../../include/conversation.php:123 ../../include/text.php:1746
+#: ../../include/text.php:1760 ../../include/conversation.php:123
#: ../../mod/tagger.php:49
msgid "event"
msgstr "gebeurtenis"
-#: ../../include/conversation.php:126 ../../mod/like.php:89
-msgid "channel"
-msgstr "kanaal"
-
-#: ../../include/conversation.php:148 ../../include/text.php:1749
-#: ../../include/diaspora.php:1924 ../../mod/subthread.php:72
-#: ../../mod/subthread.php:174 ../../mod/tagger.php:53 ../../mod/like.php:294
+#: ../../include/text.php:1763 ../../include/conversation.php:148
+#: ../../include/diaspora.php:1928 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/like.php:290 ../../mod/tagger.php:53
msgid "status"
msgstr "bericht"
-#: ../../include/conversation.php:150 ../../include/text.php:1751
+#: ../../include/text.php:1765 ../../include/conversation.php:150
#: ../../mod/tagger.php:55
msgid "comment"
msgstr "reactie"
-#: ../../include/conversation.php:164 ../../include/diaspora.php:1953
-#: ../../mod/like.php:331
+#: ../../include/text.php:1770
+msgid "activity"
+msgstr "activiteit"
+
+#: ../../include/text.php:2057
+msgid "Design"
+msgstr "Ontwerp"
+
+#: ../../include/text.php:2060
+msgid "Blocks"
+msgstr "Blokken"
+
+#: ../../include/text.php:2061
+msgid "Menus"
+msgstr "Menu's"
+
+#: ../../include/text.php:2062
+msgid "Layouts"
+msgstr "Lay-outs"
+
+#: ../../include/text.php:2063
+msgid "Pages"
+msgstr "Pagina's"
+
+#: ../../include/api.php:1084
+msgid "Public Timeline"
+msgstr "Openbare tijdlijn"
+
+#: ../../include/chat.php:10
+msgid "Missing room name"
+msgstr "Naam chatkanaal ontbreekt"
+
+#: ../../include/chat.php:19
+msgid "Duplicate room name"
+msgstr "Naam chatkanaal bestaat al"
+
+#: ../../include/chat.php:68 ../../include/chat.php:76
+msgid "Invalid room specifier."
+msgstr "Ongeldige omschrijving chatkanaal"
+
+#: ../../include/chat.php:105
+msgid "Room not found."
+msgstr "Chatkanaal niet gevonden"
+
+#: ../../include/chat.php:126
+msgid "Room is full"
+msgstr "Chatkanaal is vol"
+
+#: ../../include/follow.php:28
+msgid "Channel is blocked on this site."
+msgstr "Kanaal is op deze hub geblokkeerd."
+
+#: ../../include/follow.php:33
+msgid "Channel location missing."
+msgstr "Ontbrekende kanaallocatie."
+
+#: ../../include/follow.php:82
+msgid "Response from remote channel was incomplete."
+msgstr "Antwoord van het kanaal op afstand was niet volledig."
+
+#: ../../include/follow.php:99
+msgid "Channel was deleted and no longer exists."
+msgstr "Kanaal is verwijderd en bestaat niet meer."
+
+#: ../../include/follow.php:135 ../../include/follow.php:202
+msgid "Protocol disabled."
+msgstr "Protocol uitgeschakeld."
+
+#: ../../include/follow.php:176
+msgid "Channel discovery failed."
+msgstr "Kanaal ontdekken mislukt."
+
+#: ../../include/follow.php:192
+msgid "local account not found."
+msgstr "lokale account niet gevonden."
+
+#: ../../include/follow.php:220
+msgid "Cannot connect to yourself."
+msgstr "Kan niet met jezelf verbinden"
+
+#: ../../include/conversation.php:126 ../../mod/like.php:89
+msgid "channel"
+msgstr "kanaal"
+
+#: ../../include/conversation.php:164 ../../include/diaspora.php:1957
+#: ../../mod/like.php:336
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr "%1$s vindt %3$s van %2$s leuk"
-#: ../../include/conversation.php:167 ../../mod/like.php:333
+#: ../../include/conversation.php:167 ../../mod/like.php:338
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr "%1$s vindt %3$s van %2$s niet leuk"
@@ -1017,29 +1909,25 @@ msgstr "%1$s is nu met %2$s verbonden"
msgid "%1$s poked %2$s"
msgstr "%1$s heeft %2$s aangestoten"
-#: ../../include/conversation.php:243 ../../include/text.php:901
-msgid "poked"
-msgstr "aangestoten"
-
#: ../../include/conversation.php:261 ../../mod/mood.php:63
#, php-format
msgctxt "mood"
msgid "%1$s is %2$s"
msgstr "%1$s is %2$s"
-#: ../../include/conversation.php:637 ../../include/ItemObject.php:126
+#: ../../include/conversation.php:638 ../../include/ItemObject.php:126
msgid "Select"
msgstr "Kies"
-#: ../../include/conversation.php:645 ../../include/ItemObject.php:89
+#: ../../include/conversation.php:646 ../../include/ItemObject.php:89
msgid "Private Message"
msgstr "Privébericht"
-#: ../../include/conversation.php:652 ../../include/ItemObject.php:194
+#: ../../include/conversation.php:653 ../../include/ItemObject.php:194
msgid "Message signature validated"
msgstr "Berichtkenmerk gevalideerd"
-#: ../../include/conversation.php:653 ../../include/ItemObject.php:195
+#: ../../include/conversation.php:654 ../../include/ItemObject.php:195
msgid "Message signature incorrect"
msgstr "Berichtkenmerk onjuist"
@@ -1056,17 +1944,17 @@ msgstr "Categorieën:"
msgid "Filed under:"
msgstr "Bewaard onder:"
-#: ../../include/conversation.php:698 ../../include/ItemObject.php:265
+#: ../../include/conversation.php:698 ../../include/ItemObject.php:274
#, php-format
msgid " from %s"
msgstr " van %s"
-#: ../../include/conversation.php:701 ../../include/ItemObject.php:268
+#: ../../include/conversation.php:701 ../../include/ItemObject.php:277
#, php-format
msgid "last edited: %s"
msgstr "laatst bewerkt: %s"
-#: ../../include/conversation.php:702 ../../include/ItemObject.php:269
+#: ../../include/conversation.php:702 ../../include/ItemObject.php:278
#, php-format
msgid "Expires: %s"
msgstr "Verloopt: %s"
@@ -1075,1165 +1963,956 @@ msgstr "Verloopt: %s"
msgid "View in context"
msgstr "In context bekijken"
-#: ../../include/conversation.php:719 ../../include/conversation.php:1153
-#: ../../include/ItemObject.php:310 ../../mod/photos.php:993
-#: ../../mod/editblock.php:120 ../../mod/editlayout.php:115
-#: ../../mod/editpost.php:121 ../../mod/editwebpage.php:152
-#: ../../mod/mail.php:234 ../../mod/mail.php:349
+#: ../../include/conversation.php:719 ../../include/conversation.php:1142
+#: ../../include/ItemObject.php:325 ../../mod/editpost.php:121
+#: ../../mod/mail.php:238 ../../mod/mail.php:353 ../../mod/editblock.php:152
+#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:183
+#: ../../mod/photos.php:975
msgid "Please wait"
msgstr "Even wachten"
-#: ../../include/conversation.php:843
+#: ../../include/conversation.php:835
msgid "remove"
msgstr "verwijderen"
-#: ../../include/conversation.php:847 ../../include/nav.php:257
+#: ../../include/conversation.php:839 ../../include/nav.php:257
msgid "Loading..."
msgstr "Aan het laden..."
-#: ../../include/conversation.php:848
+#: ../../include/conversation.php:840
msgid "Delete Selected Items"
msgstr "Verwijder de geselecteerde items"
-#: ../../include/conversation.php:942
+#: ../../include/conversation.php:931
msgid "View Source"
msgstr "Bron weergeven"
-#: ../../include/conversation.php:943
+#: ../../include/conversation.php:932
msgid "Follow Thread"
msgstr "Conversatie volgen"
-#: ../../include/conversation.php:944
+#: ../../include/conversation.php:933
msgid "View Status"
msgstr "Status weergeven"
-#: ../../include/conversation.php:945 ../../include/nav.php:99
-#: ../../mod/connedit.php:415 ../../mod/connedit.php:529
+#: ../../include/conversation.php:934 ../../include/nav.php:99
+#: ../../mod/connedit.php:429 ../../mod/connedit.php:545
msgid "View Profile"
msgstr "Profiel weergeven"
-#: ../../include/conversation.php:946
+#: ../../include/conversation.php:935
msgid "View Photos"
msgstr "Foto's weergeven"
-#: ../../include/conversation.php:947
+#: ../../include/conversation.php:936
msgid "Matrix Activity"
msgstr "Activiteit in de RedMatrix"
-#: ../../include/conversation.php:949
+#: ../../include/conversation.php:938
msgid "Edit Contact"
msgstr "Contact bewerken"
-#: ../../include/conversation.php:950
+#: ../../include/conversation.php:939
msgid "Send PM"
msgstr "Privébericht verzenden"
-#: ../../include/conversation.php:1024
+#: ../../include/conversation.php:940 ../../include/apps.php:145
+msgid "Poke"
+msgstr "Aanstoten"
+
+#: ../../include/conversation.php:1013
#, php-format
msgid "%s likes this."
msgstr "%s vindt dit leuk."
-#: ../../include/conversation.php:1024
+#: ../../include/conversation.php:1013
#, php-format
msgid "%s doesn't like this."
msgstr "%s vindt dit niet leuk."
-#: ../../include/conversation.php:1028
+#: ../../include/conversation.php:1017
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgid_plural "<span %1$s>%2$d people</span> like this."
msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit leuk."
msgstr[1] "<span %1$s>%2$d personen</span> vinden dit leuk."
-#: ../../include/conversation.php:1030
+#: ../../include/conversation.php:1019
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgid_plural "<span %1$s>%2$d people</span> don't like this."
msgstr[0] "<span %1$s>%2$d persoon</span> vindt dit niet leuk."
msgstr[1] "<span %1$s>%2$d personen</span> vinden dit niet leuk."
-#: ../../include/conversation.php:1036
+#: ../../include/conversation.php:1025
msgid "and"
msgstr "en"
-#: ../../include/conversation.php:1039
+#: ../../include/conversation.php:1028
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ", en %d ander persoon"
msgstr[1] ", en %d andere personen"
-#: ../../include/conversation.php:1040
+#: ../../include/conversation.php:1029
#, php-format
msgid "%s like this."
msgstr "%s vinden dit leuk."
-#: ../../include/conversation.php:1040
+#: ../../include/conversation.php:1029
#, php-format
msgid "%s don't like this."
msgstr "%s vinden dit niet leuk."
-#: ../../include/conversation.php:1097
+#: ../../include/conversation.php:1086
msgid "Visible to <strong>everybody</strong>"
msgstr "Voor <strong>iedereen</strong> zichtbaar"
-#: ../../include/conversation.php:1098 ../../mod/mail.php:170
-#: ../../mod/mail.php:282
+#: ../../include/conversation.php:1087 ../../mod/mail.php:171
+#: ../../mod/mail.php:286
msgid "Please enter a link URL:"
msgstr "Vul een internetadres/URL in:"
-#: ../../include/conversation.php:1099
+#: ../../include/conversation.php:1088
msgid "Please enter a video link/URL:"
msgstr "Vul een videolink/URL in:"
-#: ../../include/conversation.php:1100
+#: ../../include/conversation.php:1089
msgid "Please enter an audio link/URL:"
msgstr "Vul een audiolink/URL in:"
-#: ../../include/conversation.php:1101
+#: ../../include/conversation.php:1090
msgid "Tag term:"
-msgstr "Label:"
+msgstr "Tag:"
-#: ../../include/conversation.php:1102 ../../mod/filer.php:49
+#: ../../include/conversation.php:1091 ../../mod/filer.php:49
msgid "Save to Folder:"
msgstr "Bewaar in map: "
-#: ../../include/conversation.php:1103
+#: ../../include/conversation.php:1092
msgid "Where are you right now?"
msgstr "Waar bevind je je op dit moment?"
-#: ../../include/conversation.php:1104 ../../mod/editpost.php:52
-#: ../../mod/mail.php:171 ../../mod/mail.php:283
+#: ../../include/conversation.php:1093 ../../mod/editpost.php:52
+#: ../../mod/mail.php:172 ../../mod/mail.php:287
msgid "Expires YYYY-MM-DD HH:MM"
msgstr "Verloopt op DD-MM-YYYY om HH:MM"
-#: ../../include/conversation.php:1128 ../../mod/photos.php:992
-#: ../../mod/editblock.php:168 ../../mod/editlayout.php:161
-#: ../../mod/editwebpage.php:201 ../../mod/layouts.php:122
+#: ../../include/conversation.php:1117 ../../mod/editblock.php:198
+#: ../../mod/editlayout.php:193 ../../mod/editwebpage.php:230
+#: ../../mod/layouts.php:168 ../../mod/photos.php:974
msgid "Share"
msgstr "Delen"
-#: ../../include/conversation.php:1130 ../../mod/editwebpage.php:139
+#: ../../include/conversation.php:1119 ../../mod/editwebpage.php:170
msgid "Page link title"
msgstr "Titel van paginalink"
-#: ../../include/conversation.php:1133
+#: ../../include/conversation.php:1122
msgid "Post as"
msgstr "Bericht plaatsen als"
-#: ../../include/conversation.php:1134 ../../mod/editblock.php:112
-#: ../../mod/editlayout.php:107 ../../mod/editpost.php:113
-#: ../../mod/editwebpage.php:144 ../../mod/mail.php:231 ../../mod/mail.php:345
+#: ../../include/conversation.php:1123 ../../mod/editpost.php:113
+#: ../../mod/mail.php:235 ../../mod/mail.php:349 ../../mod/editblock.php:144
+#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:175
msgid "Upload photo"
msgstr "Foto uploaden"
-#: ../../include/conversation.php:1135
+#: ../../include/conversation.php:1124
msgid "upload photo"
msgstr "foto uploaden"
-#: ../../include/conversation.php:1136 ../../mod/editblock.php:113
-#: ../../mod/editlayout.php:108 ../../mod/editpost.php:114
-#: ../../mod/editwebpage.php:145 ../../mod/mail.php:232 ../../mod/mail.php:346
+#: ../../include/conversation.php:1125 ../../mod/editpost.php:114
+#: ../../mod/mail.php:236 ../../mod/mail.php:350 ../../mod/editblock.php:145
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:176
msgid "Attach file"
msgstr "Bestand toevoegen"
-#: ../../include/conversation.php:1137
+#: ../../include/conversation.php:1126
msgid "attach file"
msgstr "bestand toevoegen"
-#: ../../include/conversation.php:1138 ../../mod/editblock.php:114
-#: ../../mod/editlayout.php:109 ../../mod/editpost.php:115
-#: ../../mod/editwebpage.php:146 ../../mod/mail.php:233 ../../mod/mail.php:347
+#: ../../include/conversation.php:1127 ../../mod/editpost.php:115
+#: ../../mod/mail.php:237 ../../mod/mail.php:351 ../../mod/editblock.php:146
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:177
msgid "Insert web link"
msgstr "Weblink invoegen"
-#: ../../include/conversation.php:1139
+#: ../../include/conversation.php:1128
msgid "web link"
msgstr "Weblink"
-#: ../../include/conversation.php:1140
+#: ../../include/conversation.php:1129
msgid "Insert video link"
msgstr "Videolink invoegen"
-#: ../../include/conversation.php:1141
+#: ../../include/conversation.php:1130
msgid "video link"
msgstr "videolink"
-#: ../../include/conversation.php:1142
+#: ../../include/conversation.php:1131
msgid "Insert audio link"
msgstr "Audiolink invoegen"
-#: ../../include/conversation.php:1143
+#: ../../include/conversation.php:1132
msgid "audio link"
msgstr "audiolink"
-#: ../../include/conversation.php:1144 ../../mod/editblock.php:118
-#: ../../mod/editlayout.php:113 ../../mod/editpost.php:119
-#: ../../mod/editwebpage.php:150
+#: ../../include/conversation.php:1133 ../../mod/editpost.php:119
+#: ../../mod/editblock.php:150 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:181
msgid "Set your location"
msgstr "Locatie instellen"
-#: ../../include/conversation.php:1145
+#: ../../include/conversation.php:1134
msgid "set location"
msgstr "locatie instellen"
-#: ../../include/conversation.php:1146 ../../mod/editblock.php:119
-#: ../../mod/editlayout.php:114 ../../mod/editpost.php:120
-#: ../../mod/editwebpage.php:151
+#: ../../include/conversation.php:1135 ../../mod/editpost.php:120
+#: ../../mod/editblock.php:151 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:182
msgid "Clear browser location"
msgstr "Locatie van webbrowser wissen"
-#: ../../include/conversation.php:1147
+#: ../../include/conversation.php:1136
msgid "clear location"
msgstr "locatie wissen"
-#: ../../include/conversation.php:1149 ../../mod/editblock.php:132
-#: ../../mod/editlayout.php:126 ../../mod/editpost.php:132
-#: ../../mod/editwebpage.php:167
-msgid "Set title"
-msgstr "Titel instellen"
-
-#: ../../include/conversation.php:1152 ../../mod/events.php:563
-#: ../../mod/editblock.php:135 ../../mod/editlayout.php:129
-#: ../../mod/editpost.php:134 ../../mod/editwebpage.php:169
-msgid "Categories (comma-separated list)"
-msgstr "Categorieën (door komma's gescheiden lijst)"
-
-#: ../../include/conversation.php:1154 ../../mod/editblock.php:121
-#: ../../mod/editlayout.php:116 ../../mod/editpost.php:122
-#: ../../mod/editwebpage.php:153
+#: ../../include/conversation.php:1138 ../../mod/editpost.php:132
+#: ../../mod/editblock.php:164 ../../mod/editlayout.php:159
+#: ../../mod/editwebpage.php:198
+msgid "Title (optional)"
+msgstr "Titel (optioneel)"
+
+#: ../../include/conversation.php:1141 ../../mod/editpost.php:134
+#: ../../mod/editblock.php:167 ../../mod/editlayout.php:162
+#: ../../mod/editwebpage.php:200
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categorieën (optioneel, door komma's gescheiden lijst)"
+
+#: ../../include/conversation.php:1143 ../../mod/editpost.php:122
+#: ../../mod/editblock.php:153 ../../mod/editlayout.php:149
+#: ../../mod/editwebpage.php:184
msgid "Permission settings"
msgstr "Permissies"
-#: ../../include/conversation.php:1155
+#: ../../include/conversation.php:1144
msgid "permissions"
msgstr "permissies"
-#: ../../include/conversation.php:1162 ../../mod/editblock.php:129
-#: ../../mod/editlayout.php:123 ../../mod/editpost.php:129
-#: ../../mod/editwebpage.php:162
+#: ../../include/conversation.php:1151 ../../mod/editpost.php:129
+#: ../../mod/editblock.php:161 ../../mod/editlayout.php:156
+#: ../../mod/editwebpage.php:193
msgid "Public post"
msgstr "Openbaar bericht"
-#: ../../include/conversation.php:1164 ../../mod/editblock.php:136
-#: ../../mod/editlayout.php:130 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:170
+#: ../../include/conversation.php:1153 ../../mod/editpost.php:135
+#: ../../mod/editblock.php:168 ../../mod/editlayout.php:163
+#: ../../mod/editwebpage.php:201
msgid "Example: bob@example.com, mary@example.com"
msgstr "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be"
-#: ../../include/conversation.php:1177 ../../mod/editblock.php:146
-#: ../../mod/editlayout.php:140 ../../mod/editpost.php:146
-#: ../../mod/editwebpage.php:179 ../../mod/mail.php:238 ../../mod/mail.php:352
+#: ../../include/conversation.php:1166 ../../mod/editpost.php:146
+#: ../../mod/mail.php:242 ../../mod/mail.php:356 ../../mod/editblock.php:178
+#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:210
msgid "Set expiration date"
msgstr "Verloopdatum instellen"
-#: ../../include/conversation.php:1179 ../../include/ItemObject.php:611
-#: ../../mod/editpost.php:148 ../../mod/mail.php:240 ../../mod/mail.php:354
+#: ../../include/conversation.php:1168 ../../include/ItemObject.php:641
+#: ../../mod/editpost.php:148 ../../mod/mail.php:244 ../../mod/mail.php:358
msgid "Encrypt text"
msgstr "Tekst versleutelen"
-#: ../../include/conversation.php:1181 ../../mod/events.php:569
+#: ../../include/conversation.php:1170 ../../mod/events.php:580
#: ../../mod/editpost.php:150
msgid "OK"
msgstr "OK"
-#: ../../include/conversation.php:1182 ../../mod/settings.php:520
-#: ../../mod/settings.php:546 ../../mod/events.php:568
-#: ../../mod/editpost.php:151 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
+#: ../../include/conversation.php:1171 ../../mod/events.php:579
+#: ../../mod/editpost.php:151 ../../mod/settings.php:578
+#: ../../mod/settings.php:604 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
msgid "Cancel"
msgstr "Annuleren"
-#: ../../include/conversation.php:1426
+#: ../../include/conversation.php:1415
msgid "Discover"
msgstr "Ontdekken"
-#: ../../include/conversation.php:1429
+#: ../../include/conversation.php:1418
msgid "Imported public streams"
msgstr "Openbare streams importeren"
-#: ../../include/conversation.php:1434
+#: ../../include/conversation.php:1423
msgid "Commented Order"
msgstr "Nieuwe reacties bovenaan"
-#: ../../include/conversation.php:1437
+#: ../../include/conversation.php:1426
msgid "Sort by Comment Date"
msgstr "Berichten met nieuwe reacties bovenaan"
-#: ../../include/conversation.php:1441
+#: ../../include/conversation.php:1430
msgid "Posted Order"
msgstr "Nieuwe berichten bovenaan"
-#: ../../include/conversation.php:1444
+#: ../../include/conversation.php:1433
msgid "Sort by Post Date"
msgstr "Nieuwe berichten bovenaan"
-#: ../../include/conversation.php:1452
+#: ../../include/conversation.php:1438 ../../include/widgets.php:94
+msgid "Personal"
+msgstr "Persoonlijk"
+
+#: ../../include/conversation.php:1441
msgid "Posts that mention or involve you"
msgstr "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent"
-#: ../../include/conversation.php:1458 ../../mod/connections.php:211
-#: ../../mod/connections.php:224 ../../mod/menu.php:61
+#: ../../include/conversation.php:1447 ../../mod/connections.php:211
+#: ../../mod/connections.php:224 ../../mod/menu.php:80
msgid "New"
msgstr "Nieuw"
-#: ../../include/conversation.php:1461
+#: ../../include/conversation.php:1450
msgid "Activity Stream - by date"
msgstr "Activiteitenstroom - volgens datum"
-#: ../../include/conversation.php:1467
+#: ../../include/conversation.php:1456
msgid "Starred"
msgstr "Met ster"
-#: ../../include/conversation.php:1470
+#: ../../include/conversation.php:1459
msgid "Favourite Posts"
msgstr "Favoriete berichten"
-#: ../../include/conversation.php:1477
+#: ../../include/conversation.php:1466
msgid "Spam"
msgstr "Spam"
-#: ../../include/conversation.php:1480
+#: ../../include/conversation.php:1469
msgid "Posts flagged as SPAM"
msgstr "Berichten gemarkeerd als SPAM"
-#: ../../include/conversation.php:1516 ../../mod/admin.php:867
+#: ../../include/conversation.php:1509 ../../mod/admin.php:865
msgid "Channel"
msgstr "Kanaal"
-#: ../../include/conversation.php:1519
+#: ../../include/conversation.php:1512
msgid "Status Messages and Posts"
msgstr "Berichten in dit kanaal"
-#: ../../include/conversation.php:1528
+#: ../../include/conversation.php:1521
msgid "About"
msgstr "Over"
-#: ../../include/conversation.php:1531
+#: ../../include/conversation.php:1524
msgid "Profile Details"
msgstr "Profiel"
-#: ../../include/conversation.php:1549
+#: ../../include/conversation.php:1530 ../../include/apps.php:139
+#: ../../include/nav.php:105 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Foto's"
+
+#: ../../include/conversation.php:1542
msgid "Files and Storage"
msgstr "Bestanden en opslagruimte"
-#: ../../include/conversation.php:1558 ../../include/conversation.php:1561
+#: ../../include/conversation.php:1552 ../../include/conversation.php:1555
msgid "Chatrooms"
msgstr "Chatkanalen"
-#: ../../include/conversation.php:1573
+#: ../../include/conversation.php:1565 ../../include/apps.php:129
+#: ../../include/nav.php:117
+msgid "Bookmarks"
+msgstr "Bladwijzers"
+
+#: ../../include/conversation.php:1568
msgid "Saved Bookmarks"
msgstr "Opgeslagen bladwijzers"
-#: ../../include/conversation.php:1584
+#: ../../include/conversation.php:1576 ../../include/apps.php:136
+#: ../../include/nav.php:121 ../../mod/webpages.php:160
+msgid "Webpages"
+msgstr "Webpagina's"
+
+#: ../../include/conversation.php:1579
msgid "Manage Webpages"
msgstr "Webpagina's beheren"
-#: ../../include/auth.php:116
-msgid "Logged out."
-msgstr "Uitgelogd."
-
-#: ../../include/auth.php:257
-msgid "Failed authentication"
-msgstr "Mislukte authenticatie"
-
-#: ../../include/auth.php:271 ../../mod/openid.php:190
-msgid "Login failed."
-msgstr "Inloggen mislukt."
-
-#: ../../include/text.php:321
-msgid "prev"
-msgstr "vorige"
+#: ../../include/widgets.php:91 ../../include/nav.php:171
+#: ../../mod/apps.php:34
+msgid "Apps"
+msgstr "Apps"
-#: ../../include/text.php:323
-msgid "first"
-msgstr "eerste"
+#: ../../include/widgets.php:92
+msgid "System"
+msgstr "Systeem"
-#: ../../include/text.php:352
-msgid "last"
-msgstr "laatste"
+#: ../../include/widgets.php:95
+msgid "Create Personal App"
+msgstr "Persoonlijke app maken"
-#: ../../include/text.php:355
-msgid "next"
-msgstr "volgende"
+#: ../../include/widgets.php:96
+msgid "Edit Personal App"
+msgstr "Persoonlijke app bewerken"
-#: ../../include/text.php:367
-msgid "older"
-msgstr "ouder"
+#: ../../include/widgets.php:138 ../../mod/suggest.php:53
+msgid "Ignore/Hide"
+msgstr "Negeren/Verbergen"
-#: ../../include/text.php:369
-msgid "newer"
-msgstr "nieuwer"
+#: ../../include/widgets.php:143 ../../mod/connections.php:267
+msgid "Suggestions"
+msgstr "Voorgestelde kanalen"
-#: ../../include/text.php:736
-msgid "No connections"
-msgstr "Geen connecties"
+#: ../../include/widgets.php:144
+msgid "See more..."
+msgstr "Meer..."
-#: ../../include/text.php:749
+#: ../../include/widgets.php:166
#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d connectie"
-msgstr[1] "%d connecties"
-
-#: ../../include/text.php:762
-msgid "View Connections"
-msgstr "Connecties weergeven"
-
-#: ../../include/text.php:901
-msgid "poke"
-msgstr "aanstoten"
-
-#: ../../include/text.php:902
-msgid "ping"
-msgstr "ping"
-
-#: ../../include/text.php:902
-msgid "pinged"
-msgstr "gepingd"
-
-#: ../../include/text.php:903
-msgid "prod"
-msgstr "por"
-
-#: ../../include/text.php:903
-msgid "prodded"
-msgstr "gepord"
-
-#: ../../include/text.php:904
-msgid "slap"
-msgstr "slaan"
-
-#: ../../include/text.php:904
-msgid "slapped"
-msgstr "sloeg"
-
-#: ../../include/text.php:905
-msgid "finger"
-msgstr "finger"
-
-#: ../../include/text.php:905
-msgid "fingered"
-msgstr "gefingerd"
-
-#: ../../include/text.php:906
-msgid "rebuff"
-msgstr "afpoeieren"
-
-#: ../../include/text.php:906
-msgid "rebuffed"
-msgstr "afgepoeierd"
-
-#: ../../include/text.php:915
-msgid "happy"
-msgstr "gelukkig"
-
-#: ../../include/text.php:916
-msgid "sad"
-msgstr "bedroefd"
-
-#: ../../include/text.php:917
-msgid "mellow"
-msgstr "mellow"
-
-#: ../../include/text.php:918
-msgid "tired"
-msgstr "moe"
-
-#: ../../include/text.php:919
-msgid "perky"
-msgstr "parmantig"
-
-#: ../../include/text.php:920
-msgid "angry"
-msgstr "boos"
-
-#: ../../include/text.php:921
-msgid "stupified"
-msgstr "beteuterd"
-
-#: ../../include/text.php:922
-msgid "puzzled"
-msgstr "verward"
-
-#: ../../include/text.php:923
-msgid "interested"
-msgstr "geïnteresseerd"
-
-#: ../../include/text.php:924
-msgid "bitter"
-msgstr "verbitterd"
-
-#: ../../include/text.php:925
-msgid "cheerful"
-msgstr "vrolijk"
-
-#: ../../include/text.php:926
-msgid "alive"
-msgstr "levendig"
-
-#: ../../include/text.php:927
-msgid "annoyed"
-msgstr "geërgerd"
-
-#: ../../include/text.php:928
-msgid "anxious"
-msgstr "bezorgd"
-
-#: ../../include/text.php:929
-msgid "cranky"
-msgstr "humeurig"
-
-#: ../../include/text.php:930
-msgid "disturbed"
-msgstr "verontrust"
-
-#: ../../include/text.php:931
-msgid "frustrated"
-msgstr "gefrustreerd "
-
-#: ../../include/text.php:932
-msgid "depressed"
-msgstr "gedeprimeerd"
-
-#: ../../include/text.php:933
-msgid "motivated"
-msgstr "gemotiveerd"
-
-#: ../../include/text.php:934
-msgid "relaxed"
-msgstr "ontspannen"
-
-#: ../../include/text.php:935
-msgid "surprised"
-msgstr "verrast"
-
-#: ../../include/text.php:1099
-msgid "Monday"
-msgstr "maandag"
-
-#: ../../include/text.php:1099
-msgid "Tuesday"
-msgstr "dinsdag"
-
-#: ../../include/text.php:1099
-msgid "Wednesday"
-msgstr "woensdag"
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties."
-#: ../../include/text.php:1099
-msgid "Thursday"
-msgstr "donderdag"
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr "Nieuwe connectie toevoegen"
-#: ../../include/text.php:1099
-msgid "Friday"
-msgstr "vrijdag"
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr "Vul het adres van het nieuwe kanaal in"
-#: ../../include/text.php:1099
-msgid "Saturday"
-msgstr "zaterdag"
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Voorbeeld: bob@example.com, http://example.com/barbara"
-#: ../../include/text.php:1099
-msgid "Sunday"
-msgstr "zondag"
+#: ../../include/widgets.php:190
+msgid "Notes"
+msgstr "Aantekeningen"
-#: ../../include/text.php:1103
-msgid "January"
-msgstr "januari"
+#: ../../include/widgets.php:264
+msgid "Remove term"
+msgstr "Verwijder zoekterm"
-#: ../../include/text.php:1103
-msgid "February"
-msgstr "februari"
+#: ../../include/widgets.php:347
+msgid "Archives"
+msgstr "Archieven"
-#: ../../include/text.php:1103
-msgid "March"
-msgstr "maart"
+#: ../../include/widgets.php:425
+msgid "Refresh"
+msgstr "Vernieuwen"
-#: ../../include/text.php:1103
-msgid "April"
-msgstr "april"
+#: ../../include/widgets.php:426 ../../mod/connedit.php:506
+msgid "Me"
+msgstr "Ik"
-#: ../../include/text.php:1103
-msgid "May"
-msgstr "mei"
+#: ../../include/widgets.php:427 ../../mod/connedit.php:509
+msgid "Best Friends"
+msgstr "Goede vrienden"
-#: ../../include/text.php:1103
-msgid "June"
-msgstr "juni"
+#: ../../include/widgets.php:429
+msgid "Co-workers"
+msgstr "Collega's"
-#: ../../include/text.php:1103
-msgid "July"
-msgstr "juli"
+#: ../../include/widgets.php:430 ../../mod/connedit.php:511
+msgid "Former Friends"
+msgstr "Oude vrienden"
-#: ../../include/text.php:1103
-msgid "August"
-msgstr "augustus"
+#: ../../include/widgets.php:431 ../../mod/connedit.php:512
+msgid "Acquaintances"
+msgstr "Kennissen"
-#: ../../include/text.php:1103
-msgid "September"
-msgstr "september"
+#: ../../include/widgets.php:432
+msgid "Everybody"
+msgstr "Iedereen"
-#: ../../include/text.php:1103
-msgid "October"
-msgstr "oktober"
+#: ../../include/widgets.php:466
+msgid "Account settings"
+msgstr "Account"
-#: ../../include/text.php:1103
-msgid "November"
-msgstr "november"
+#: ../../include/widgets.php:472
+msgid "Channel settings"
+msgstr "Kanaal"
-#: ../../include/text.php:1103
-msgid "December"
-msgstr "december"
+#: ../../include/widgets.php:478
+msgid "Additional features"
+msgstr "Extra functies"
-#: ../../include/text.php:1181
-msgid "unknown.???"
-msgstr "onbekend.???"
+#: ../../include/widgets.php:484
+msgid "Feature settings"
+msgstr "Plug-ins"
-#: ../../include/text.php:1182
-msgid "bytes"
-msgstr "bytes"
+#: ../../include/widgets.php:490
+msgid "Display settings"
+msgstr "Weergave"
-#: ../../include/text.php:1221
-msgid "remove category"
-msgstr "categorie verwijderen"
+#: ../../include/widgets.php:496
+msgid "Connected apps"
+msgstr "Verbonden applicaties"
-#: ../../include/text.php:1291
-msgid "remove from file"
-msgstr "uit map verwijderen"
+#: ../../include/widgets.php:502
+msgid "Export channel"
+msgstr "Kanaal exporteren"
-#: ../../include/text.php:1356 ../../include/text.php:1368
-msgid "Click to open/close"
-msgstr "Klik om te openen of te sluiten"
+#: ../../include/widgets.php:511 ../../mod/connedit.php:539
+msgid "Connection Default Permissions"
+msgstr "Standaard permissies voor connecties"
-#: ../../include/text.php:1523 ../../mod/events.php:409
-msgid "Link to Source"
-msgstr "Originele locatie"
+#: ../../include/widgets.php:519
+msgid "Premium Channel Settings"
+msgstr "Instellingen premiumkanaal"
-#: ../../include/text.php:1542
-msgid "Select a page layout: "
-msgstr "Kies een paginalay-out: "
+#: ../../include/widgets.php:535 ../../include/apps.php:134
+#: ../../include/nav.php:218 ../../mod/admin.php:951 ../../mod/admin.php:1156
+msgid "Settings"
+msgstr "Instellingen"
-#: ../../include/text.php:1545 ../../include/text.php:1610
-msgid "default"
-msgstr "standaard"
+#: ../../include/widgets.php:548 ../../mod/mail.php:125
+#: ../../mod/message.php:31
+msgid "Messages"
+msgstr "Berichten"
-#: ../../include/text.php:1581
-msgid "Page content type: "
-msgstr "Opmaakcode pagina"
+#: ../../include/widgets.php:551
+msgid "Check Mail"
+msgstr "Controleer op nieuwe berichten"
-#: ../../include/text.php:1622
-msgid "Select an alternate language"
-msgstr "Kies een andere taal"
+#: ../../include/widgets.php:556 ../../include/nav.php:209
+msgid "New Message"
+msgstr "Nieuw bericht"
-#: ../../include/text.php:1756
-msgid "activity"
-msgstr "activiteit"
+#: ../../include/widgets.php:634
+msgid "Chat Rooms"
+msgstr "Chatkanalen"
-#: ../../include/text.php:2028
-msgid "Design"
-msgstr "Ontwerp"
+#: ../../include/widgets.php:654
+msgid "Bookmarked Chatrooms"
+msgstr "Bladwijzers van chatkanalen"
-#: ../../include/text.php:2030
-msgid "Blocks"
-msgstr "Blokken"
+#: ../../include/widgets.php:674
+msgid "Suggested Chatrooms"
+msgstr "Voorgestelde chatkanalen"
-#: ../../include/text.php:2031
-msgid "Menus"
-msgstr "Menu's"
+#: ../../include/widgets.php:801 ../../include/widgets.php:859
+msgid "photo/image"
+msgstr "foto/afbeelding"
-#: ../../include/text.php:2032
-msgid "Layouts"
-msgstr "Lay-outs"
+#: ../../include/zot.php:664
+msgid "Invalid data packet"
+msgstr "Datapakket ongeldig"
-#: ../../include/text.php:2033
-msgid "Pages"
-msgstr "Pagina's"
+#: ../../include/zot.php:680
+msgid "Unable to verify channel signature"
+msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
-#: ../../include/bookmarks.php:35
+#: ../../include/zot.php:1829
#, php-format
-msgid "%1$s's bookmarks"
-msgstr "Bladwijzers van %1$s"
+msgid "Unable to verify site signature for %s"
+msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
-#: ../../include/taxonomy.php:210
-msgid "Tags"
-msgstr "Labels"
+#: ../../include/ItemObject.php:130
+msgid "Save to Folder"
+msgstr "In map opslaan"
-#: ../../include/taxonomy.php:227
-msgid "Keywords"
-msgstr "Trefwoorden"
+#: ../../include/ItemObject.php:142 ../../include/ItemObject.php:154
+#: ../../mod/photos.php:1020 ../../mod/photos.php:1032
+msgid "View all"
+msgstr "Toon alles"
-#: ../../include/taxonomy.php:252
-msgid "have"
-msgstr "heb"
+#: ../../include/ItemObject.php:151 ../../mod/photos.php:1029
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "vindt dit niet leuk"
+msgstr[1] "vinden dit niet leuk"
-#: ../../include/taxonomy.php:252
-msgid "has"
-msgstr "heeft"
+#: ../../include/ItemObject.php:179
+msgid "Add Star"
+msgstr "Ster toevoegen"
-#: ../../include/taxonomy.php:253
-msgid "want"
-msgstr "wil"
+#: ../../include/ItemObject.php:180
+msgid "Remove Star"
+msgstr "Ster verwijderen"
-#: ../../include/taxonomy.php:253
-msgid "wants"
-msgstr "wil"
+#: ../../include/ItemObject.php:181
+msgid "Toggle Star Status"
+msgstr "Ster toevoegen of verwijderen"
-#: ../../include/taxonomy.php:254 ../../include/ItemObject.php:221
-msgid "like"
-msgstr "vind dit leuk"
+#: ../../include/ItemObject.php:185
+msgid "starred"
+msgstr "met ster"
-#: ../../include/taxonomy.php:254
-msgid "likes"
-msgstr "vindt dit leuk"
+#: ../../include/ItemObject.php:203
+msgid "Add Tag"
+msgstr "Tag toevoegen"
-#: ../../include/taxonomy.php:255 ../../include/ItemObject.php:222
-msgid "dislike"
-msgstr "vind dit niet leuk"
+#: ../../include/ItemObject.php:221 ../../mod/photos.php:972
+msgid "I like this (toggle)"
+msgstr "Vind ik leuk"
-#: ../../include/taxonomy.php:255
-msgid "dislikes"
-msgstr "vindt dit niet leuk"
+#: ../../include/ItemObject.php:222 ../../mod/photos.php:973
+msgid "I don't like this (toggle)"
+msgstr "Vind ik niet leuk"
-#: ../../include/comanche.php:35 ../../view/theme/apw/php/config.php:185
-msgid "Default"
-msgstr "Standaard"
+#: ../../include/ItemObject.php:226
+msgid "Share This"
+msgstr "Delen"
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Regelmatig"
+#: ../../include/ItemObject.php:226
+msgid "share"
+msgstr "delen"
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Elk uur"
+#: ../../include/ItemObject.php:243
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d reactie"
+msgstr[1] "%d reacties weergeven"
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Twee keer per dag"
+#: ../../include/ItemObject.php:256 ../../include/ItemObject.php:257
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Profiel van %s bekijken - %s"
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Dagelijks"
+#: ../../include/ItemObject.php:260
+msgid "to"
+msgstr "aan"
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Wekelijks"
+#: ../../include/ItemObject.php:261
+msgid "via"
+msgstr "via"
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Maandelijks"
+#: ../../include/ItemObject.php:262
+msgid "Wall-to-Wall"
+msgstr "Kanaal-naar-kanaal"
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/ItemObject.php:263
+msgid "via Wall-To-Wall:"
+msgstr "via kanaal-naar-kanaal"
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
+#: ../../include/ItemObject.php:299
+msgid "Save Bookmarks"
+msgstr "Bladwijzers opslaan"
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/ItemObject.php:300
+msgid "Add to Calendar"
+msgstr "Aan agenda toevoegen"
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:728
-#: ../../mod/admin.php:737 ../../boot.php:1498
-msgid "Email"
-msgstr "E-mail"
+#: ../../include/ItemObject.php:309
+msgid "Mark all seen"
+msgstr "Markeer alles als bekeken"
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/ItemObject.php:314 ../../mod/photos.php:1140
+msgctxt "noun"
+msgid "Likes"
+msgstr "vinden dit leuk"
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/ItemObject.php:315 ../../mod/photos.php:1141
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "vinden dit niet leuk"
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
+#: ../../include/ItemObject.php:345 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] alle"
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
+#: ../../include/ItemObject.php:626 ../../mod/photos.php:991
+#: ../../mod/photos.php:1101
+msgid "This is you"
+msgstr "Dit ben jij"
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
+#: ../../include/ItemObject.php:628 ../../include/js_strings.php:6
+#: ../../mod/photos.php:993 ../../mod/photos.php:1103
+msgid "Comment"
+msgstr "Reactie"
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/ItemObject.php:629 ../../mod/mood.php:135
+#: ../../mod/group.php:81 ../../mod/poke.php:166 ../../mod/profiles.php:650
+#: ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/events.php:598 ../../mod/chat.php:177 ../../mod/chat.php:211
+#: ../../mod/settings.php:577 ../../mod/settings.php:689
+#: ../../mod/settings.php:718 ../../mod/settings.php:741
+#: ../../mod/settings.php:823 ../../mod/settings.php:1016
+#: ../../mod/connedit.php:556 ../../mod/mail.php:352 ../../mod/pdledit.php:58
+#: ../../mod/thing.php:284 ../../mod/thing.php:327 ../../mod/fsuggest.php:108
+#: ../../mod/filestorage.php:150 ../../mod/connect.php:93
+#: ../../mod/locs.php:99 ../../mod/import.php:504 ../../mod/setup.php:313
+#: ../../mod/setup.php:358 ../../mod/admin.php:412 ../../mod/admin.php:723
+#: ../../mod/admin.php:859 ../../mod/admin.php:992 ../../mod/admin.php:1191
+#: ../../mod/admin.php:1278 ../../mod/invite.php:142 ../../mod/xchan.php:11
+#: ../../mod/photos.php:594 ../../mod/photos.php:671 ../../mod/photos.php:954
+#: ../../mod/photos.php:994 ../../mod/photos.php:1104 ../../mod/appman.php:99
+#: ../../mod/poll.php:68 ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Opslaan"
-#: ../../include/contact_widgets.php:14
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d uitnodiging beschikbaar"
-msgstr[1] "%d uitnodigingen beschikbaar"
+#: ../../include/ItemObject.php:630
+msgid "Bold"
+msgstr "Vet"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:418
-msgid "Advanced"
-msgstr "Geavanceerd"
+#: ../../include/ItemObject.php:631
+msgid "Italic"
+msgstr "Cursief"
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
-msgstr "Kanalen vinden"
+#: ../../include/ItemObject.php:632
+msgid "Underline"
+msgstr "Onderstrepen"
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
-msgstr "Vul naam of interesse in"
+#: ../../include/ItemObject.php:633
+msgid "Quote"
+msgstr "Citeren"
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
-msgstr "Verbinden/volgen"
+#: ../../include/ItemObject.php:634
+msgid "Code"
+msgstr "Broncode"
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Voorbeeld: Robert Morgenstein, vissen"
+#: ../../include/ItemObject.php:635
+msgid "Image"
+msgstr "Afbeelding"
-#: ../../include/contact_widgets.php:26 ../../mod/connections.php:412
-#: ../../mod/directory.php:222 ../../mod/directory.php:227
-msgid "Find"
-msgstr "Vinden"
+#: ../../include/ItemObject.php:636
+msgid "Link"
+msgstr "Link"
-#: ../../include/contact_widgets.php:27 ../../mod/suggest.php:59
-msgid "Channel Suggestions"
-msgstr "Voorgestelde kanalen"
+#: ../../include/ItemObject.php:637
+msgid "Video"
+msgstr "Video"
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
-msgstr "Willekeurig profiel"
+#: ../../include/datetime.php:35
+msgid "Miscellaneous"
+msgstr "Diversen"
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
-msgstr "Vrienden uitnodigen"
+#: ../../include/datetime.php:113
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "JJJJ-MM-DD of MM-DD"
-#: ../../include/contact_widgets.php:32
-msgid "Exammple: name=fred and country=iceland"
-msgstr "Voorbeeld: (voor naam) name=herman en (voor land) country=nederland"
+#: ../../include/datetime.php:230
+msgid "never"
+msgstr "nooit"
-#: ../../include/contact_widgets.php:33
-msgid "Advanced Find"
-msgstr "Geavanceerd zoeken"
+#: ../../include/datetime.php:236
+msgid "less than a second ago"
+msgstr "minder dan een seconde geleden"
-#: ../../include/contact_widgets.php:126
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d gemeenschappelijke connectie"
-msgstr[1] "%d gemeenschappelijke connecties"
+#: ../../include/datetime.php:239
+msgid "year"
+msgstr "jaar"
-#: ../../include/contact_widgets.php:131
-msgid "show more"
-msgstr "meer connecties weergeven"
+#: ../../include/datetime.php:239
+msgid "years"
+msgstr "jaren"
-#: ../../include/event.php:11 ../../include/bb2diaspora.php:458
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
+#: ../../include/datetime.php:240
+msgid "month"
+msgstr "maand"
-#: ../../include/event.php:20 ../../include/bb2diaspora.php:464
-msgid "Starts:"
-msgstr "Start:"
+#: ../../include/datetime.php:240
+msgid "months"
+msgstr "maanden"
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:472
-msgid "Finishes:"
-msgstr "Einde:"
+#: ../../include/datetime.php:241
+msgid "week"
+msgstr "week"
-#: ../../include/event.php:326
-msgid "This event has been added to your calendar."
-msgstr "Dit evenement is aan jouw agenda toegevoegd."
+#: ../../include/datetime.php:241
+msgid "weeks"
+msgstr "weken"
-#: ../../include/account.php:23
-msgid "Not a valid email address"
-msgstr "Geen geldig e-mailadres"
+#: ../../include/datetime.php:242
+msgid "day"
+msgstr "dag"
-#: ../../include/account.php:25
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Jouw e-maildomein is op deze RedMatrix-hub niet toegestaan"
+#: ../../include/datetime.php:242
+msgid "days"
+msgstr "dagen"
-#: ../../include/account.php:31
-msgid "Your email address is already registered at this site."
-msgstr "Jouw e-mailadres is al op deze RedMatrix-hub geregistreerd."
+#: ../../include/datetime.php:243
+msgid "hour"
+msgstr "uur"
-#: ../../include/account.php:64
-msgid "An invitation is required."
-msgstr "Een uitnodiging is vereist"
+#: ../../include/datetime.php:243
+msgid "hours"
+msgstr "uren"
-#: ../../include/account.php:68
-msgid "Invitation could not be verified."
-msgstr "Uitnodiging kon niet geverifieerd worden"
+#: ../../include/datetime.php:244
+msgid "minute"
+msgstr "minuut"
-#: ../../include/account.php:119
-msgid "Please enter the required information."
-msgstr "Vul de vereiste informatie in."
+#: ../../include/datetime.php:244
+msgid "minutes"
+msgstr "minuten"
-#: ../../include/account.php:187
-msgid "Failed to store account information."
-msgstr "Account-informatie kon niet opgeslagen worden."
+#: ../../include/datetime.php:245
+msgid "second"
+msgstr "seconde"
-#: ../../include/account.php:245
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registratiebevestiging voor %s"
+#: ../../include/datetime.php:245
+msgid "seconds"
+msgstr "seconden"
-#: ../../include/account.php:313
+#: ../../include/datetime.php:254
#, php-format
-msgid "Registration request at %s"
-msgstr "Registratiebevestiging voor %s"
-
-#: ../../include/account.php:315 ../../include/account.php:342
-#: ../../include/account.php:399
-msgid "Administrator"
-msgstr "Beheerder"
-
-#: ../../include/account.php:337
-msgid "your registration password"
-msgstr "jouw registratiewachtwoord"
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s geleden"
-#: ../../include/account.php:340 ../../include/account.php:397
+#: ../../include/datetime.php:462
#, php-format
-msgid "Registration details for %s"
-msgstr "Registratiegegevens voor %s"
-
-#: ../../include/account.php:406
-msgid "Account approved."
-msgstr "Account goedgekeurd"
+msgid "%1$s's birthday"
+msgstr "Verjaardag van %1$s"
-#: ../../include/account.php:440
+#: ../../include/datetime.php:463
#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registratie ingetrokken voor %s"
-
-#: ../../include/account.php:486
-msgid "Account verified. Please login."
-msgstr "Account is geverifieerd. Je kan inloggen."
-
-#: ../../include/account.php:647 ../../include/account.php:649
-msgid "Click here to upgrade."
-msgstr "Klik hier om te upgraden."
-
-#: ../../include/account.php:655
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden."
-
-#: ../../include/account.php:660
-msgid "This action is not available under your subscription plan."
-msgstr "Deze handeling is niet mogelijk met jouw abonnement."
-
-#: ../../include/nav.php:95 ../../include/nav.php:128 ../../boot.php:1495
-msgid "Logout"
-msgstr "Uitloggen"
-
-#: ../../include/nav.php:95 ../../include/nav.php:128
-msgid "End this session"
-msgstr "Beëindig deze sessie"
-
-#: ../../include/nav.php:98 ../../include/nav.php:159
-msgid "Home"
-msgstr "Home"
-
-#: ../../include/nav.php:98
-msgid "Your posts and conversations"
-msgstr "Jouw berichten en conversaties"
-
-#: ../../include/nav.php:99
-msgid "Your profile page"
-msgstr "Jouw profielpagina"
-
-#: ../../include/nav.php:101
-msgid "Edit Profiles"
-msgstr "Bewerk profielen"
-
-#: ../../include/nav.php:101
-msgid "Manage/Edit profiles"
-msgstr "Beheer/wijzig profielen"
-
-#: ../../include/nav.php:103
-msgid "Edit your profile"
-msgstr "Jouw profiel bewerken"
-
-#: ../../include/nav.php:105
-msgid "Your photos"
-msgstr "Jouw foto's"
-
-#: ../../include/nav.php:106
-msgid "Your files"
-msgstr "Jouw bestanden"
-
-#: ../../include/nav.php:111
-msgid "Your chatrooms"
-msgstr "Jouw chatkanalen"
+msgid "Happy Birthday %1$s"
+msgstr "Gefeliciteerd met je verjaardag %1$s"
-#: ../../include/nav.php:117
-msgid "Your bookmarks"
-msgstr "Jouw bladwijzers"
+#: ../../include/apps.php:128
+msgid "Site Admin"
+msgstr "Hubbeheerder"
-#: ../../include/nav.php:121
-msgid "Your webpages"
-msgstr "Jouw webpagina's"
+#: ../../include/apps.php:130
+msgid "Address Book"
+msgstr "Connecties"
-#: ../../include/nav.php:125
-msgid "Sign in"
+#: ../../include/apps.php:131 ../../include/nav.php:125 ../../boot.php:1542
+msgid "Login"
msgstr "Inloggen"
-#: ../../include/nav.php:142
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - klik om uit te loggen"
-
-#: ../../include/nav.php:145
-msgid "Remote authentication"
-msgstr "Authenticatie op afstand"
-
-#: ../../include/nav.php:145
-msgid "Click to authenticate to your home hub"
-msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw RedMatrix-hub"
-
-#: ../../include/nav.php:159
-msgid "Home Page"
-msgstr "Homepage"
-
-#: ../../include/nav.php:163 ../../mod/register.php:220 ../../boot.php:1472
-msgid "Register"
-msgstr "Registreren"
-
-#: ../../include/nav.php:163
-msgid "Create an account"
-msgstr "Maak een account aan"
+#: ../../include/apps.php:132 ../../include/nav.php:216
+#: ../../mod/manage.php:150
+msgid "Channel Manager"
+msgstr "Kanaalbeheer"
-#: ../../include/nav.php:168
-msgid "Help and documentation"
-msgstr "Hulp en documentatie"
+#: ../../include/apps.php:133 ../../include/nav.php:190
+msgid "Matrix"
+msgstr "Matrix"
-#: ../../include/nav.php:171
-msgid "Applications, utilities, links, games"
-msgstr "Apps"
+#: ../../include/apps.php:137 ../../include/nav.php:193
+msgid "Channel Home"
+msgstr "Tijdlijn kanaal"
-#: ../../include/nav.php:173
-msgid "Search site content"
-msgstr "Inhoud van deze RedMatrix-hub doorzoeken"
+#: ../../include/apps.php:140 ../../include/nav.php:212
+#: ../../mod/events.php:442
+msgid "Events"
+msgstr "Agenda"
-#: ../../include/nav.php:176
-msgid "Channel Locator"
+#: ../../include/apps.php:141 ../../include/nav.php:176
+#: ../../mod/directory.php:321
+msgid "Directory"
msgstr "Kanalengids"
-#: ../../include/nav.php:190
-msgid "Your matrix"
-msgstr "Jouw matrix"
-
-#: ../../include/nav.php:191
-msgid "Mark all matrix notifications seen"
-msgstr "Markeer alle matrixnotificaties als bekeken"
-
-#: ../../include/nav.php:193
-msgid "Channel home"
-msgstr "Tijdlijn kanaal"
-
-#: ../../include/nav.php:194
-msgid "Mark all channel notifications seen"
-msgstr "Alle kanaalnotificaties als gelezen markeren"
-
-#: ../../include/nav.php:197 ../../mod/connections.php:406
-msgid "Connections"
-msgstr "Connecties"
+#: ../../include/apps.php:142 ../../include/nav.php:168 ../../mod/help.php:58
+#: ../../mod/help.php:63
+msgid "Help"
+msgstr "Hulp"
-#: ../../include/nav.php:200
-msgid "Notices"
-msgstr "Notificaties"
+#: ../../include/apps.php:143 ../../include/nav.php:204
+msgid "Mail"
+msgstr "Privéberichten"
-#: ../../include/nav.php:200
-msgid "Notifications"
-msgstr "Notificaties"
+#: ../../include/apps.php:144 ../../mod/mood.php:131
+msgid "Mood"
+msgstr "Stemming"
-#: ../../include/nav.php:201
-msgid "See all notifications"
-msgstr "Alle notificaties weergeven"
+#: ../../include/apps.php:146 ../../include/nav.php:111
+msgid "Chat"
+msgstr "Chatten"
-#: ../../include/nav.php:202 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Markeer alle systeemnotificaties als bekeken"
+#: ../../include/apps.php:148
+msgid "Probe"
+msgstr "Onderzoeken"
-#: ../../include/nav.php:204
-msgid "Private mail"
-msgstr "Privéberichten"
+#: ../../include/apps.php:149
+msgid "Suggest"
+msgstr "Voorstellen"
-#: ../../include/nav.php:205
-msgid "See all private messages"
-msgstr "Alle privéberichten weergeven"
+#: ../../include/apps.php:150
+msgid "Random Channel"
+msgstr "Willekeurig kanaal"
-#: ../../include/nav.php:206
-msgid "Mark all private messages seen"
-msgstr "Markeer alle privéberichten als bekeken"
+#: ../../include/apps.php:151
+msgid "Invite"
+msgstr "Uitnodigen "
-#: ../../include/nav.php:207
-msgid "Inbox"
-msgstr "Postvak IN"
+#: ../../include/apps.php:152
+msgid "Features"
+msgstr "Extra functies"
-#: ../../include/nav.php:208
-msgid "Outbox"
-msgstr "Postvak UIT"
+#: ../../include/apps.php:153
+msgid "Language"
+msgstr "Taal"
-#: ../../include/nav.php:212
-msgid "Event Calendar"
-msgstr "Agenda"
+#: ../../include/apps.php:154
+msgid "Post"
+msgstr "Bericht"
-#: ../../include/nav.php:213
-msgid "See all events"
-msgstr "Alle gebeurtenissen weergeven"
+#: ../../include/apps.php:155
+msgid "Profile Photo"
+msgstr "Profielfoto"
-#: ../../include/nav.php:214
-msgid "Mark all events seen"
-msgstr "Markeer alle gebeurtenissen als bekeken"
+#: ../../include/apps.php:247 ../../mod/settings.php:81
+#: ../../mod/settings.php:603
+msgid "Update"
+msgstr "Bijwerken"
-#: ../../include/nav.php:216
-msgid "Manage Your Channels"
-msgstr "Beheer je kanalen"
+#: ../../include/apps.php:247
+msgid "Install"
+msgstr "Installeren"
-#: ../../include/nav.php:218
-msgid "Account/Channel Settings"
-msgstr "Account-/kanaal-instellingen"
+#: ../../include/apps.php:252
+msgid "Purchase"
+msgstr "Aanschaffen"
-#: ../../include/nav.php:226 ../../mod/admin.php:123
-msgid "Admin"
-msgstr "Beheer"
+#: ../../include/Contact.php:123
+msgid "New window"
+msgstr "Nieuw venster"
-#: ../../include/nav.php:226
-msgid "Site Setup and Configuration"
-msgstr "Hub instellen en beheren"
+#: ../../include/Contact.php:124
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Open de geselecteerde locatie in een ander venster of tab"
-#: ../../include/nav.php:262
-msgid "Please wait..."
-msgstr "Wachten aub..."
+#: ../../include/Contact.php:214 ../../mod/admin.php:646
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Account '%s' verwijderd"
-#: ../../include/dir_fns.php:56
-msgid "Sort Options"
-msgstr "Sorteeropties"
+#: ../../include/bbcode.php:112 ../../include/bbcode.php:677
+#: ../../include/bbcode.php:680 ../../include/bbcode.php:685
+#: ../../include/bbcode.php:688 ../../include/bbcode.php:691
+#: ../../include/bbcode.php:694 ../../include/bbcode.php:699
+#: ../../include/bbcode.php:702 ../../include/bbcode.php:707
+#: ../../include/bbcode.php:710 ../../include/bbcode.php:713
+#: ../../include/bbcode.php:716
+msgid "Image/photo"
+msgstr "Afbeelding/foto"
-#: ../../include/dir_fns.php:57
-msgid "Alphabetic"
-msgstr "Alfabetisch"
+#: ../../include/bbcode.php:147 ../../include/bbcode.php:727
+msgid "Encrypted content"
+msgstr "Versleutelde inhoud"
-#: ../../include/dir_fns.php:58
-msgid "Reverse Alphabetic"
-msgstr "Omgekeerd alfabetisch"
+#: ../../include/bbcode.php:165
+msgid "Install design element: "
+msgstr "Installeer ontwerp-onderdeel"
-#: ../../include/dir_fns.php:59
-msgid "Newest to Oldest"
-msgstr "Nieuw naar oud"
+#: ../../include/bbcode.php:171
+msgid "QR code"
+msgstr "QR-code"
-#: ../../include/dir_fns.php:71
-msgid "Enable Safe Search"
-msgstr "Veilig zoeken inschakelen"
+#: ../../include/bbcode.php:220
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s schreef het volgende %2$s %3$s"
-#: ../../include/dir_fns.php:73
-msgid "Disable Safe Search"
-msgstr "Veilig zoeken uitschakelen"
+#: ../../include/bbcode.php:222
+msgid "post"
+msgstr "bericht"
-#: ../../include/dir_fns.php:75
-msgid "Safe Mode"
-msgstr "Veilig zoeken"
+#: ../../include/bbcode.php:645
+msgid "$1 spoiler"
+msgstr "$1 spoiler"
-#: ../../include/bb2diaspora.php:379
-msgid "Attachments:"
-msgstr "Bijlagen:"
+#: ../../include/bbcode.php:665
+msgid "$1 wrote:"
+msgstr "$1 schreef:"
#: ../../include/enotify.php:41
msgid "Red Matrix Notification"
@@ -2361,17 +3040,17 @@ msgstr "%1$s, %2$s [zrl=%2$s]heeft je aangestoten[/zrl]."
#: ../../include/enotify.php:243
#, php-format
msgid "[Red:Notify] %s tagged your post"
-msgstr "[Red:Notificatie] %s heeft jouw bericht gelabeld"
+msgstr "[Red:Notificatie] %s heeft jouw bericht getagd"
#: ../../include/enotify.php:244
#, php-format
msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s labelde jouw bericht om %3$s"
+msgstr "%1$s, %2$s heeft jouw bericht om %3$s getagd"
#: ../../include/enotify.php:245
#, php-format
msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s labelde [zrl=%3$s]jouw bericht[/zrl]"
+msgstr "%1$s, %2$s heeft [zrl=%3$s]jouw bericht[/zrl] getagd"
#: ../../include/enotify.php:257
msgid "[Red:Notify] Introduction received"
@@ -2427,629 +3106,10 @@ msgstr "Foto:"
msgid "Please visit %s to approve or reject the suggestion."
msgstr "Bezoek %s om het voorstel te accepteren of af te wijzen."
-#: ../../include/enotify.php:477
+#: ../../include/enotify.php:490
msgid "[Red:Notify]"
msgstr "[Red:Notificatie]"
-#: ../../include/chat.php:10
-msgid "Missing room name"
-msgstr "Naam chatkanaal ontbreekt"
-
-#: ../../include/chat.php:19
-msgid "Duplicate room name"
-msgstr "Naam chatkanaal bestaat al"
-
-#: ../../include/chat.php:68 ../../include/chat.php:76
-msgid "Invalid room specifier."
-msgstr "Ongeldige omschrijving chatkanaal"
-
-#: ../../include/chat.php:105
-msgid "Room not found."
-msgstr "Chatkanaal niet gevonden"
-
-#: ../../include/chat.php:126
-msgid "Room is full"
-msgstr "Chatkanaal is vol"
-
-#: ../../include/features.php:23
-msgid "General Features"
-msgstr "Algemene functies"
-
-#: ../../include/features.php:25
-msgid "Content Expiration"
-msgstr "Inhoud laten verlopen"
-
-#: ../../include/features.php:25
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen"
-
-#: ../../include/features.php:26
-msgid "Multiple Profiles"
-msgstr "Meerdere profielen"
-
-#: ../../include/features.php:26
-msgid "Ability to create multiple profiles"
-msgstr "Mogelijkheid om meerdere profielen aan te maken"
-
-#: ../../include/features.php:27
-msgid "Advanced Profiles"
-msgstr "Geavanceerde profielen"
-
-#: ../../include/features.php:27
-msgid "Additional profile sections and selections"
-msgstr "Extra onderdelen en keuzes voor je profiel"
-
-#: ../../include/features.php:28
-msgid "Profile Import/Export"
-msgstr "Profiel importen/exporteren"
-
-#: ../../include/features.php:28
-msgid "Save and load profile details across sites/channels"
-msgstr "Profielgegevens opslaan en in andere hubs/kanalen gebruiken."
-
-#: ../../include/features.php:29
-msgid "Web Pages"
-msgstr "Webpagina's"
-
-#: ../../include/features.php:29
-msgid "Provide managed web pages on your channel"
-msgstr "Sta beheerde webpagina's op jouw kanaal toe"
-
-#: ../../include/features.php:30
-msgid "Private Notes"
-msgstr "Privé-aantekeningen"
-
-#: ../../include/features.php:30
-msgid "Enables a tool to store notes and reminders"
-msgstr "Schakelt een eenvoudige toepassing in om aantekeningen en herinneringen in op te slaan"
-
-#: ../../include/features.php:34
-msgid "Navigation Channel Select"
-msgstr "Kanaal kiezen in navigatiemenu"
-
-#: ../../include/features.php:34
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Kies een ander kanaal direct vanuit het dropdown-menu op de navigatiebalk"
-
-#: ../../include/features.php:38
-msgid "Extended Identity Sharing"
-msgstr "Uitgebreid identiteit delen"
-
-#: ../../include/features.php:38
-msgid ""
-"Share your identity with all websites on the internet. When disabled, "
-"identity is only shared with sites in the matrix."
-msgstr "Deel jouw RedMatrix-identiteit met alle websites op het internet. Wanneer dit is uitgeschakeld wordt je identiteit alleen binnen het RedMatrix-netwerk gedeeld. Schakel dit alleen als je weet wat je doet."
-
-#: ../../include/features.php:39
-msgid "Expert Mode"
-msgstr "Expertmodus"
-
-#: ../../include/features.php:39
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Schakel de expertmodus in voor geavanceerde instellingen"
-
-#: ../../include/features.php:40
-msgid "Premium Channel"
-msgstr "Premiumkanaal"
-
-#: ../../include/features.php:40
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal"
-
-#: ../../include/features.php:45
-msgid "Post Composition Features"
-msgstr "Functies voor het opstellen van berichten"
-
-#: ../../include/features.php:47
-msgid "Use Markdown"
-msgstr "Markdown gebruiken"
-
-#: ../../include/features.php:47
-msgid "Allow use of \"Markdown\" to format posts"
-msgstr "Sta het gebruik van \"markdown\" toe om berichten mee op te maken."
-
-#: ../../include/features.php:48
-msgid "Post Preview"
-msgstr "Voorvertoning"
-
-#: ../../include/features.php:48
-msgid "Allow previewing posts and comments before publishing them"
-msgstr "Een optie om je berichten en reacties voor het definitief publiceren voor te vertonen"
-
-#: ../../include/features.php:49
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Automatisch inhoud uit andere kanalen of feeds importeren."
-
-#: ../../include/features.php:50
-msgid "Even More Encryption"
-msgstr "Extra encryptie"
-
-#: ../../include/features.php:50
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Sta toe dat inhoud extra end-to-end wordt versleuteld met een gedeelde geheime sleutel."
-
-#: ../../include/features.php:55
-msgid "Network and Stream Filtering"
-msgstr "Netwerk- en streamfilter"
-
-#: ../../include/features.php:56
-msgid "Search by Date"
-msgstr "Zoek op datum"
-
-#: ../../include/features.php:56
-msgid "Ability to select posts by date ranges"
-msgstr "Mogelijkheid om berichten op datum te filteren "
-
-#: ../../include/features.php:57
-msgid "Collections Filter"
-msgstr "Filter op collecties"
-
-#: ../../include/features.php:57
-msgid "Enable widget to display Network posts only from selected collections"
-msgstr "Sta de widget toe om netwerkberichten te tonen van bepaalde collecties"
-
-#: ../../include/features.php:58
-msgid "Save search terms for re-use"
-msgstr "Sla zoekopdrachten op voor hergebruik"
-
-#: ../../include/features.php:59
-msgid "Network Personal Tab"
-msgstr "Persoonlijke netwerktab"
-
-#: ../../include/features.php:59
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had"
-
-#: ../../include/features.php:60
-msgid "Network New Tab"
-msgstr "Nieuwe netwerktab"
-
-#: ../../include/features.php:60
-msgid "Enable tab to display all new Network activity"
-msgstr "Laat de tab alle nieuwe netwerkactiviteit tonen"
-
-#: ../../include/features.php:61
-msgid "Affinity Tool"
-msgstr "Verwantschapsfilter"
-
-#: ../../include/features.php:61
-msgid "Filter stream activity by depth of relationships"
-msgstr "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag"
-
-#: ../../include/features.php:62
-msgid "Suggest Channels"
-msgstr "Kanalen voorstellen"
-
-#: ../../include/features.php:62
-msgid "Show channel suggestions"
-msgstr "Voor jou mogelijk interessante kanalen voorstellen"
-
-#: ../../include/features.php:67
-msgid "Post/Comment Tools"
-msgstr "Bericht- en reactiehulpmiddelen"
-
-#: ../../include/features.php:69
-msgid "Edit Sent Posts"
-msgstr "Bewerk verzonden berichten"
-
-#: ../../include/features.php:69
-msgid "Edit and correct posts and comments after sending"
-msgstr "Bewerk en corrigeer berichten en reacties nadat deze zijn verzonden"
-
-#: ../../include/features.php:70
-msgid "Tagging"
-msgstr "Labelen"
-
-#: ../../include/features.php:70
-msgid "Ability to tag existing posts"
-msgstr "Mogelijkheid om bestaande berichten te labelen"
-
-#: ../../include/features.php:71
-msgid "Post Categories"
-msgstr "Categorieën berichten"
-
-#: ../../include/features.php:71
-msgid "Add categories to your posts"
-msgstr "Voeg categorieën toe aan je berichten"
-
-#: ../../include/features.php:72
-msgid "Ability to file posts under folders"
-msgstr "Mogelijkheid om berichten in mappen op te slaan"
-
-#: ../../include/features.php:73
-msgid "Dislike Posts"
-msgstr "Vind berichten niet leuk"
-
-#: ../../include/features.php:73
-msgid "Ability to dislike posts/comments"
-msgstr "Mogelijkheid om berichten en reacties niet leuk te vinden"
-
-#: ../../include/features.php:74
-msgid "Star Posts"
-msgstr "Geef berichten een ster"
-
-#: ../../include/features.php:74
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Mogelijkheid om speciale berichten met een ster te markeren"
-
-#: ../../include/features.php:75
-msgid "Tag Cloud"
-msgstr "Wolk met trefwoorden/labels"
-
-#: ../../include/features.php:75
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Zorgt voor een persoonlijke wolk met trefwoorden of labels op jouw kanaalpagina"
-
-#: ../../include/follow.php:26
-msgid "Channel is blocked on this site."
-msgstr "Kanaal is op deze hub geblokkeerd."
-
-#: ../../include/follow.php:31
-msgid "Channel location missing."
-msgstr "Ontbrekende kanaallocatie."
-
-#: ../../include/follow.php:80
-msgid "Response from remote channel was incomplete."
-msgstr "Antwoord van het kanaal op afstand was niet volledig."
-
-#: ../../include/follow.php:97
-msgid "Channel was deleted and no longer exists."
-msgstr "Kanaal is verwijderd en bestaat niet meer."
-
-#: ../../include/follow.php:133 ../../include/follow.php:202
-msgid "Protocol disabled."
-msgstr "Protocol uitgeschakeld."
-
-#: ../../include/follow.php:176
-msgid "Channel discovery failed."
-msgstr "Kanaal ontdekken mislukt."
-
-#: ../../include/follow.php:192
-msgid "local account not found."
-msgstr "lokale account niet gevonden."
-
-#: ../../include/follow.php:219
-msgid "Cannot connect to yourself."
-msgstr "Kan niet met jezelf verbinden"
-
-#: ../../include/group.php:25
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken."
-
-#: ../../include/group.php:234
-msgid "Default privacy group for new contacts"
-msgstr "Standaard privacy-collectie voor nieuwe kanalen"
-
-#: ../../include/group.php:253 ../../mod/admin.php:737
-msgid "All Channels"
-msgstr "Alle kanalen"
-
-#: ../../include/group.php:275
-msgid "edit"
-msgstr "bewerken"
-
-#: ../../include/group.php:297
-msgid "Collections"
-msgstr "Collecties"
-
-#: ../../include/group.php:298
-msgid "Edit collection"
-msgstr "Collectie bewerken"
-
-#: ../../include/group.php:299
-msgid "Create a new collection"
-msgstr "Nieuwe collectie aanmaken"
-
-#: ../../include/group.php:300
-msgid "Channels not in any collection"
-msgstr "Kanalen die zich in geen enkele collectie bevinden"
-
-#: ../../include/bbcode.php:112 ../../include/bbcode.php:653
-#: ../../include/bbcode.php:656 ../../include/bbcode.php:661
-#: ../../include/bbcode.php:664 ../../include/bbcode.php:667
-#: ../../include/bbcode.php:670 ../../include/bbcode.php:675
-#: ../../include/bbcode.php:678 ../../include/bbcode.php:683
-#: ../../include/bbcode.php:686 ../../include/bbcode.php:689
-#: ../../include/bbcode.php:692
-msgid "Image/photo"
-msgstr "Afbeelding/foto"
-
-#: ../../include/bbcode.php:147 ../../include/bbcode.php:703
-msgid "Encrypted content"
-msgstr "Versleutelde inhoud"
-
-#: ../../include/bbcode.php:165
-msgid "Install design element: "
-msgstr "Installeer ontwerp-onderdeel"
-
-#: ../../include/bbcode.php:171
-msgid "QR code"
-msgstr "QR-code"
-
-#: ../../include/bbcode.php:220
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s schreef het volgende %2$s %3$s"
-
-#: ../../include/bbcode.php:222
-msgid "post"
-msgstr "bericht"
-
-#: ../../include/bbcode.php:621
-msgid "$1 spoiler"
-msgstr "$1 spoiler"
-
-#: ../../include/bbcode.php:641
-msgid "$1 wrote:"
-msgstr "$1 schreef:"
-
-#: ../../include/RedDAV/RedBrowser.php:106
-#: ../../include/RedDAV/RedBrowser.php:249
-msgid "parent"
-msgstr "omhoog"
-
-#: ../../include/RedDAV/RedBrowser.php:130
-msgid "Collection"
-msgstr "map"
-
-#: ../../include/RedDAV/RedBrowser.php:133
-msgid "Principal"
-msgstr "principal"
-
-#: ../../include/RedDAV/RedBrowser.php:136
-msgid "Addressbook"
-msgstr "Adresboek"
-
-#: ../../include/RedDAV/RedBrowser.php:139
-msgid "Calendar"
-msgstr "Agenda"
-
-#: ../../include/RedDAV/RedBrowser.php:142
-msgid "Schedule Inbox"
-msgstr "Planning-postvak IN"
-
-#: ../../include/RedDAV/RedBrowser.php:145
-msgid "Schedule Outbox"
-msgstr "Planning-postvak UIT"
-
-#: ../../include/RedDAV/RedBrowser.php:223
-#, php-format
-msgid "%1$s used"
-msgstr "%1$s gebruikt"
-
-#: ../../include/RedDAV/RedBrowser.php:228
-#, php-format
-msgid "%1$s used of %2$s (%3$s&#37;)"
-msgstr "%1$s van %2$s gebruikt (%3$s&#37;)"
-
-#: ../../include/RedDAV/RedBrowser.php:245 ../../mod/settings.php:521
-#: ../../mod/settings.php:547 ../../mod/admin.php:868
-msgid "Name"
-msgstr "Naam"
-
-#: ../../include/RedDAV/RedBrowser.php:246
-msgid "Type"
-msgstr "Type"
-
-#: ../../include/RedDAV/RedBrowser.php:247
-msgid "Size"
-msgstr "Grootte"
-
-#: ../../include/RedDAV/RedBrowser.php:248
-msgid "Last Modified"
-msgstr "Laatst gewijzigd"
-
-#: ../../include/RedDAV/RedBrowser.php:252
-msgid "Total"
-msgstr "Totaal"
-
-#: ../../include/RedDAV/RedBrowser.php:305
-msgid "Create new folder"
-msgstr "Nieuwe map aanmaken"
-
-#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/mitem.php:142
-#: ../../mod/menu.php:84 ../../mod/new_channel.php:122
-msgid "Create"
-msgstr "Aanmaken"
-
-#: ../../include/RedDAV/RedBrowser.php:307
-msgid "Upload file"
-msgstr "Bestand uploaden"
-
-#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/photos.php:745
-#: ../../mod/photos.php:1226 ../../mod/profile_photo.php:361
-msgid "Upload"
-msgstr "Uploaden"
-
-#: ../../include/message.php:18
-msgid "No recipient provided."
-msgstr "Geen ontvanger opgegeven."
-
-#: ../../include/message.php:23
-msgid "[no subject]"
-msgstr "[geen onderwerp]"
-
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Afzender kan niet bepaald worden."
-
-#: ../../include/message.php:200
-msgid "Stored post could not be verified."
-msgstr "Opgeslagen bericht kon niet worden geverifieerd."
-
-#: ../../include/ItemObject.php:130
-msgid "Save to Folder"
-msgstr "In map opslaan"
-
-#: ../../include/ItemObject.php:142 ../../include/ItemObject.php:154
-msgid "View all"
-msgstr "Toon alles"
-
-#: ../../include/ItemObject.php:151
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "vindt dit niet leuk"
-msgstr[1] "vinden dit niet leuk"
-
-#: ../../include/ItemObject.php:179
-msgid "Add Star"
-msgstr "Ster toevoegen"
-
-#: ../../include/ItemObject.php:180
-msgid "Remove Star"
-msgstr "Ster verwijderen"
-
-#: ../../include/ItemObject.php:181
-msgid "Toggle Star Status"
-msgstr "Ster toevoegen of verwijderen"
-
-#: ../../include/ItemObject.php:185
-msgid "starred"
-msgstr "met ster"
-
-#: ../../include/ItemObject.php:203
-msgid "Add Tag"
-msgstr "Label toevoegen"
-
-#: ../../include/ItemObject.php:221 ../../mod/photos.php:990
-msgid "I like this (toggle)"
-msgstr "Vind ik leuk"
-
-#: ../../include/ItemObject.php:222 ../../mod/photos.php:991
-msgid "I don't like this (toggle)"
-msgstr "Vind ik niet leuk"
-
-#: ../../include/ItemObject.php:226
-msgid "Share This"
-msgstr "Delen"
-
-#: ../../include/ItemObject.php:226
-msgid "share"
-msgstr "delen"
-
-#: ../../include/ItemObject.php:249 ../../include/ItemObject.php:250
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Profiel van %s bekijken - %s"
-
-#: ../../include/ItemObject.php:251
-msgid "to"
-msgstr "aan"
-
-#: ../../include/ItemObject.php:252
-msgid "via"
-msgstr "via"
-
-#: ../../include/ItemObject.php:253
-msgid "Wall-to-Wall"
-msgstr "Kanaal-naar-kanaal"
-
-#: ../../include/ItemObject.php:254
-msgid "via Wall-To-Wall:"
-msgstr "via kanaal-naar-kanaal"
-
-#: ../../include/ItemObject.php:290
-msgid "Save Bookmarks"
-msgstr "Bladwijzers opslaan"
-
-#: ../../include/ItemObject.php:291
-msgid "Add to Calendar"
-msgstr "Aan agenda toevoegen"
-
-#: ../../include/ItemObject.php:299
-msgctxt "noun"
-msgid "Likes"
-msgstr "vinden dit leuk"
-
-#: ../../include/ItemObject.php:300
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "vinden dit niet leuk"
-
-#: ../../include/ItemObject.php:331
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d reactie"
-msgstr[1] "%d reacties weergeven"
-
-#: ../../include/ItemObject.php:332 ../../include/js_strings.php:7
-msgid "[+] show all"
-msgstr "[+] alle"
-
-#: ../../include/ItemObject.php:596 ../../mod/photos.php:1009
-#: ../../mod/photos.php:1096
-msgid "This is you"
-msgstr "Dit ben jij"
-
-#: ../../include/ItemObject.php:598 ../../include/js_strings.php:6
-#: ../../mod/photos.php:1011 ../../mod/photos.php:1098
-msgid "Comment"
-msgstr "Reactie"
-
-#: ../../include/ItemObject.php:599 ../../mod/mood.php:135
-#: ../../mod/photos.php:563 ../../mod/photos.php:672 ../../mod/photos.php:972
-#: ../../mod/photos.php:1012 ../../mod/photos.php:1099
-#: ../../mod/settings.php:519 ../../mod/settings.php:631
-#: ../../mod/settings.php:660 ../../mod/settings.php:684
-#: ../../mod/settings.php:760 ../../mod/settings.php:945
-#: ../../mod/poke.php:166 ../../mod/profiles.php:615 ../../mod/events.php:587
-#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/connect.php:92
-#: ../../mod/connedit.php:540 ../../mod/setup.php:307 ../../mod/setup.php:350
-#: ../../mod/pdledit.php:58 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/filestorage.php:146
-#: ../../mod/fsuggest.php:108 ../../mod/group.php:81 ../../mod/admin.php:414
-#: ../../mod/admin.php:725 ../../mod/admin.php:861 ../../mod/admin.php:994
-#: ../../mod/admin.php:1193 ../../mod/admin.php:1280 ../../mod/thing.php:284
-#: ../../mod/thing.php:327 ../../mod/import.php:480 ../../mod/invite.php:142
-#: ../../mod/mail.php:348 ../../mod/appman.php:99 ../../mod/poll.php:68
-#: ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/blogga/php/config.php:67
-#: ../../view/theme/blogga/view/theme/blog/config.php:67
-#: ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Opslaan"
-
-#: ../../include/ItemObject.php:600
-msgid "Bold"
-msgstr "Vet"
-
-#: ../../include/ItemObject.php:601
-msgid "Italic"
-msgstr "Cursief"
-
-#: ../../include/ItemObject.php:602
-msgid "Underline"
-msgstr "Onderstrepen"
-
-#: ../../include/ItemObject.php:603
-msgid "Quote"
-msgstr "Citeren"
-
-#: ../../include/ItemObject.php:604
-msgid "Code"
-msgstr "Broncode"
-
-#: ../../include/ItemObject.php:605
-msgid "Image"
-msgstr "Afbeelding"
-
-#: ../../include/ItemObject.php:606
-msgid "Link"
-msgstr "Link"
-
-#: ../../include/ItemObject.php:607
-msgid "Video"
-msgstr "Video"
-
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr "Dit item verwijderen?"
@@ -3171,19 +3231,6 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/Contact.php:123
-msgid "New window"
-msgstr "Nieuw venster"
-
-#: ../../include/Contact.php:124
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Open de geselecteerde locatie in een ander venster of tab"
-
-#: ../../include/Contact.php:211 ../../mod/admin.php:649
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Account '%s' verwijderd"
-
#: ../../include/profile_selectors.php:6
#: ../../include/profile_selectors.php:23
msgid "Male"
@@ -3235,13 +3282,6 @@ msgid "Non-specific"
msgstr "Niet gespecificeerd"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97 ../../include/permissions.php:746
-msgid "Other"
-msgstr "Anders"
-
-#: ../../include/profile_selectors.php:6
msgid "Undecided"
msgstr "Nog niet beslist"
@@ -3427,484 +3467,397 @@ msgstr "Maakt mij niks uit"
msgid "Ask me"
msgstr "Vraag het me"
-#: ../../include/permissions.php:13
-msgid "Can view my normal stream and posts"
-msgstr "Kan mijn normale kanaalstream en berichten bekijken"
-
-#: ../../include/permissions.php:14
-msgid "Can view my default channel profile"
-msgstr "Kan mijn standaard kanaalprofiel bekijken"
-
-#: ../../include/permissions.php:15
-msgid "Can view my photo albums"
-msgstr "Kan mijn fotoalbums bekijken"
+#: ../../include/nav.php:95 ../../include/nav.php:128 ../../boot.php:1541
+msgid "Logout"
+msgstr "Uitloggen"
-#: ../../include/permissions.php:16
-msgid "Can view my connections"
-msgstr "Kan een lijst met mijn connecties bekijken"
+#: ../../include/nav.php:95 ../../include/nav.php:128
+msgid "End this session"
+msgstr "Beëindig deze sessie"
-#: ../../include/permissions.php:17
-msgid "Can view my file storage"
-msgstr "Kan mijn bestanden bekijken"
+#: ../../include/nav.php:98 ../../include/nav.php:159
+msgid "Home"
+msgstr "Home"
-#: ../../include/permissions.php:18
-msgid "Can view my webpages"
-msgstr "Kan mijn pagina's bekijken"
+#: ../../include/nav.php:98
+msgid "Your posts and conversations"
+msgstr "Jouw berichten en conversaties"
-#: ../../include/permissions.php:21
-msgid "Can send me their channel stream and posts"
-msgstr "Kan mij de inhoud van hun kanaal en berichten sturen"
+#: ../../include/nav.php:99
+msgid "Your profile page"
+msgstr "Jouw profielpagina"
-#: ../../include/permissions.php:22
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Kan een bericht in mijn kanaal plaatsen"
+#: ../../include/nav.php:101
+msgid "Edit Profiles"
+msgstr "Bewerk profielen"
-#: ../../include/permissions.php:23
-msgid "Can comment on or like my posts"
-msgstr "Kan op mijn berichten reageren of deze (niet) leuk vinden"
+#: ../../include/nav.php:101
+msgid "Manage/Edit profiles"
+msgstr "Beheer/wijzig profielen"
-#: ../../include/permissions.php:24
-msgid "Can send me private mail messages"
-msgstr "Kan mij privéberichten sturen"
+#: ../../include/nav.php:103
+msgid "Edit your profile"
+msgstr "Jouw profiel bewerken"
-#: ../../include/permissions.php:25
-msgid "Can post photos to my photo albums"
-msgstr "Kan foto's aan mijn fotoalbums toevoegen"
+#: ../../include/nav.php:105
+msgid "Your photos"
+msgstr "Jouw foto's"
-#: ../../include/permissions.php:26
-msgid "Can like/dislike stuff"
-msgstr "Kan dingen leuk of niet leuk vinden"
+#: ../../include/nav.php:106
+msgid "Your files"
+msgstr "Jouw bestanden"
-#: ../../include/permissions.php:26
-msgid "Profiles and things other than posts/comments"
-msgstr "Profielen en dingen, buiten berichten en reacties"
+#: ../../include/nav.php:111
+msgid "Your chatrooms"
+msgstr "Jouw chatkanalen"
-#: ../../include/permissions.php:28
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+"
+#: ../../include/nav.php:117
+msgid "Your bookmarks"
+msgstr "Jouw bladwijzers"
-#: ../../include/permissions.php:28
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Geavanceerd - nuttig voor kanalen met een groep- cq. forumfunctie"
+#: ../../include/nav.php:121
+msgid "Your webpages"
+msgstr "Jouw webpagina's"
-#: ../../include/permissions.php:29
-msgid "Can chat with me (when available)"
-msgstr "Kan met mij chatten (wanneer beschikbaar)"
+#: ../../include/nav.php:125
+msgid "Sign in"
+msgstr "Inloggen"
-#: ../../include/permissions.php:30
-msgid "Can write to my file storage"
-msgstr "Kan bestanden aan mijn bestandsopslag toevoegen"
+#: ../../include/nav.php:142
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - klik om uit te loggen"
-#: ../../include/permissions.php:31
-msgid "Can edit my webpages"
-msgstr "Kan mijn pagina's bewerken"
+#: ../../include/nav.php:145
+msgid "Remote authentication"
+msgstr "Authenticatie op afstand"
-#: ../../include/permissions.php:33
-msgid "Can source my public posts in derived channels"
-msgstr "Kan mijn openbare berichten als bron voor andere kanalen gebruiken"
+#: ../../include/nav.php:145
+msgid "Click to authenticate to your home hub"
+msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw RedMatrix-hub"
-#: ../../include/permissions.php:33
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)"
+#: ../../include/nav.php:159
+msgid "Home Page"
+msgstr "Homepage"
-#: ../../include/permissions.php:35
-msgid "Can administer my channel resources"
-msgstr "Kan mijn kanaal beheren"
+#: ../../include/nav.php:163 ../../mod/register.php:224 ../../boot.php:1518
+msgid "Register"
+msgstr "Registreren"
-#: ../../include/permissions.php:35
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet."
+#: ../../include/nav.php:163
+msgid "Create an account"
+msgstr "Maak een account aan"
-#: ../../include/permissions.php:738
-msgid "Social Networking"
-msgstr "Sociaal netwerk"
+#: ../../include/nav.php:168
+msgid "Help and documentation"
+msgstr "Hulp en documentatie"
-#: ../../include/permissions.php:739 ../../include/permissions.php:741
-#: ../../include/permissions.php:743 ../../include/permissions.php:745
-msgid "Mostly Public"
-msgstr "Vrijwel alles openbaar"
+#: ../../include/nav.php:171
+msgid "Applications, utilities, links, games"
+msgstr "Apps"
-#: ../../include/permissions.php:739 ../../include/permissions.php:741
-#: ../../include/permissions.php:743
-msgid "Restricted"
-msgstr "Beperkt zichtbaar"
+#: ../../include/nav.php:173
+msgid "Search site content"
+msgstr "Inhoud van deze RedMatrix-hub doorzoeken"
-#: ../../include/permissions.php:739 ../../include/permissions.php:741
-msgid "Private"
-msgstr "Verborgen kanaal"
+#: ../../include/nav.php:176
+msgid "Channel Directory"
+msgstr "Kanalengids"
-#: ../../include/permissions.php:740
-msgid "Community Forum"
-msgstr "Groepsforum"
+#: ../../include/nav.php:190
+msgid "Your matrix"
+msgstr "Jouw matrix"
-#: ../../include/permissions.php:742
-msgid "Feed Republish"
-msgstr "Feed herpubliceren"
+#: ../../include/nav.php:191
+msgid "Mark all matrix notifications seen"
+msgstr "Markeer alle matrixnotificaties als bekeken"
-#: ../../include/permissions.php:744
-msgid "Celebrity/Soapbox"
-msgstr "Beroemdheid/alleen volgen"
+#: ../../include/nav.php:193
+msgid "Channel home"
+msgstr "Tijdlijn kanaal"
-#: ../../include/permissions.php:747
-msgid "Custom/Expert Mode"
-msgstr "Expertmodus/handmatig aanpassen"
+#: ../../include/nav.php:194
+msgid "Mark all channel notifications seen"
+msgstr "Alle kanaalnotificaties als gelezen markeren"
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
-msgstr "Diversen"
+#: ../../include/nav.php:197 ../../mod/connections.php:406
+msgid "Connections"
+msgstr "Connecties"
-#: ../../include/datetime.php:238
-msgid "never"
-msgstr "nooit"
+#: ../../include/nav.php:200
+msgid "Notices"
+msgstr "Notificaties"
-#: ../../include/datetime.php:244
-msgid "less than a second ago"
-msgstr "minder dan een seconde geleden"
+#: ../../include/nav.php:200
+msgid "Notifications"
+msgstr "Notificaties"
-#: ../../include/datetime.php:247
-msgid "year"
-msgstr "jaar"
+#: ../../include/nav.php:201
+msgid "See all notifications"
+msgstr "Alle notificaties weergeven"
-#: ../../include/datetime.php:247
-msgid "years"
-msgstr "jaren"
+#: ../../include/nav.php:202 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
+msgstr "Markeer alle systeemnotificaties als bekeken"
-#: ../../include/datetime.php:248
-msgid "month"
-msgstr "maand"
+#: ../../include/nav.php:204
+msgid "Private mail"
+msgstr "Privéberichten"
-#: ../../include/datetime.php:248
-msgid "months"
-msgstr "maanden"
+#: ../../include/nav.php:205
+msgid "See all private messages"
+msgstr "Alle privéberichten weergeven"
-#: ../../include/datetime.php:249
-msgid "week"
-msgstr "week"
+#: ../../include/nav.php:206
+msgid "Mark all private messages seen"
+msgstr "Markeer alle privéberichten als bekeken"
-#: ../../include/datetime.php:249
-msgid "weeks"
-msgstr "weken"
+#: ../../include/nav.php:207
+msgid "Inbox"
+msgstr "Postvak IN"
-#: ../../include/datetime.php:250
-msgid "day"
-msgstr "dag"
+#: ../../include/nav.php:208
+msgid "Outbox"
+msgstr "Postvak UIT"
-#: ../../include/datetime.php:250
-msgid "days"
-msgstr "dagen"
+#: ../../include/nav.php:212
+msgid "Event Calendar"
+msgstr "Agenda"
-#: ../../include/datetime.php:251
-msgid "hour"
-msgstr "uur"
+#: ../../include/nav.php:213
+msgid "See all events"
+msgstr "Alle gebeurtenissen weergeven"
-#: ../../include/datetime.php:251
-msgid "hours"
-msgstr "uren"
+#: ../../include/nav.php:214
+msgid "Mark all events seen"
+msgstr "Markeer alle gebeurtenissen als bekeken"
-#: ../../include/datetime.php:252
-msgid "minute"
-msgstr "minuut"
+#: ../../include/nav.php:216
+msgid "Manage Your Channels"
+msgstr "Beheer je kanalen"
-#: ../../include/datetime.php:252
-msgid "minutes"
-msgstr "minuten"
+#: ../../include/nav.php:218
+msgid "Account/Channel Settings"
+msgstr "Account-/kanaal-instellingen"
-#: ../../include/datetime.php:253
-msgid "second"
-msgstr "seconde"
+#: ../../include/nav.php:226 ../../mod/admin.php:123
+msgid "Admin"
+msgstr "Beheer"
-#: ../../include/datetime.php:253
-msgid "seconds"
-msgstr "seconden"
+#: ../../include/nav.php:226
+msgid "Site Setup and Configuration"
+msgstr "Hub instellen en beheren"
-#: ../../include/datetime.php:262
-#, php-format
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s geleden"
+#: ../../include/nav.php:262
+msgid "@name, #tag, content"
+msgstr "@kanaal, #label, inhoud"
-#: ../../include/datetime.php:467
-#, php-format
-msgid "%1$s's birthday"
-msgstr "Verjaardag van %1$s"
+#: ../../include/nav.php:263
+msgid "Please wait..."
+msgstr "Wachten aub..."
-#: ../../include/datetime.php:468
-#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Gefeliciteerd met je verjaardag %1$s"
+#: ../../include/security.php:357
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. "
#: ../../mod/mood.php:132
msgid "Set your current mood and tell your friends"
msgstr "Noteer je huidige stemming en toon het aan je connecties"
-#: ../../mod/photos.php:77
-msgid "Page owner information could not be retrieved."
-msgstr "Informatie over de pagina-eigenaar werd niet ontvangen."
-
-#: ../../mod/photos.php:97
-msgid "Album not found."
-msgstr "Album niet gevonden."
-
-#: ../../mod/photos.php:119 ../../mod/photos.php:673
-msgid "Delete Album"
-msgstr "Verwijder album"
-
-#: ../../mod/photos.php:159 ../../mod/photos.php:973
-msgid "Delete Photo"
-msgstr "Verwijder foto"
-
-#: ../../mod/photos.php:443 ../../mod/search.php:13 ../../mod/directory.php:15
-#: ../../mod/dirprofile.php:9 ../../mod/display.php:9
-#: ../../mod/viewconnections.php:17
-msgid "Public access denied."
-msgstr "Openbare toegang geweigerd."
-
-#: ../../mod/photos.php:453
-msgid "No photos selected"
-msgstr "Geen foto's geselecteerd"
-
-#: ../../mod/photos.php:500
-msgid "Access to this item is restricted."
-msgstr "Toegang tot dit item is beperkt."
-
-#: ../../mod/photos.php:574
-#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
-msgstr "Je gebruiker %1$.2f MB van totaal %2$.2f MB foto-opslagruimte."
-
-#: ../../mod/photos.php:577
-#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
-msgstr "Je gebruikt %1$.2f MB aan foto-opslagruimte."
-
-#: ../../mod/photos.php:596
-msgid "Upload Photos"
-msgstr "Foto's uploaden"
-
-#: ../../mod/photos.php:600 ../../mod/photos.php:668
-msgid "New album name: "
-msgstr "Nieuwe albumnaam: "
-
-#: ../../mod/photos.php:601
-msgid "or existing album name: "
-msgstr "of een bestaande albumnaam: "
-
-#: ../../mod/photos.php:602
-msgid "Do not show a status post for this upload"
-msgstr "Plaats geen bericht voor deze upload."
-
-#: ../../mod/photos.php:622
-msgid "Album name could not be decoded"
-msgstr "Albumnaam kon niet gedecodeerd worden"
-
-#: ../../mod/photos.php:657 ../../mod/photos.php:679 ../../mod/photos.php:1148
-#: ../../mod/photos.php:1163
-msgid "Contact Photos"
-msgstr "Connectiefoto's"
-
-#: ../../mod/photos.php:681
-msgid "Edit Album"
-msgstr "Album bewerken"
-
-#: ../../mod/photos.php:687
-msgid "Show Newest First"
-msgstr "Nieuwste eerst weergeven"
-
-#: ../../mod/photos.php:689
-msgid "Show Oldest First"
-msgstr "Oudste eerst weergeven"
-
-#: ../../mod/photos.php:716 ../../mod/photos.php:1195
-msgid "View Photo"
-msgstr "Foto weergeven"
-
-#: ../../mod/photos.php:794
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Toegang geweigerd. Toegang tot dit item kan zijn beperkt."
+#: ../../mod/register.php:44
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "Maximum toegestane dagelijkse registraties op deze RedMatrix-hub bereikt. Probeer het morgen (UTC) nogmaals."
-#: ../../mod/photos.php:796
-msgid "Photo not available"
-msgstr "Foto niet aanwezig"
+#: ../../mod/register.php:50
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden."
-#: ../../mod/photos.php:856
-msgid "Use as profile photo"
-msgstr "Als profielfoto gebruiken"
+#: ../../mod/register.php:84
+msgid "Passwords do not match."
+msgstr "Wachtwoorden komen niet met elkaar overeen."
-#: ../../mod/photos.php:863
-msgid "Private Photo"
-msgstr "Privéfoto"
+#: ../../mod/register.php:117
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "Registratie geslaagd. Controleer je e-mail voor instructies."
-#: ../../mod/photos.php:874 ../../mod/events.php:433
-msgid "Previous"
-msgstr "Vorige"
+#: ../../mod/register.php:123
+msgid "Your registration is pending approval by the site owner."
+msgstr "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze RedMatrix-hub."
-#: ../../mod/photos.php:878
-msgid "View Full Size"
-msgstr "Volledige grootte weergeven"
+#: ../../mod/register.php:126
+msgid "Your registration can not be processed."
+msgstr "Jouw registratie kan niet verwerkt worden."
-#: ../../mod/photos.php:883 ../../mod/events.php:434 ../../mod/setup.php:261
-msgid "Next"
-msgstr "Volgende"
+#: ../../mod/register.php:163
+msgid "Registration on this site/hub is by approval only."
+msgstr "Registraties op deze RedMatrix-hub moeten eerst worden goedgekeurd."
-#: ../../mod/photos.php:922 ../../mod/delegate.php:130 ../../mod/tagrm.php:93
-msgid "Remove"
-msgstr "Verwijderen"
+#: ../../mod/register.php:164
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr "<a href=\"pubsites\">Registreer op een andere RedMatrix-hub</a>"
-#: ../../mod/photos.php:956
-msgid "Edit photo"
-msgstr "Foto bewerken"
+#: ../../mod/register.php:174
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Deze RedMatrix-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals."
-#: ../../mod/photos.php:958
-msgid "Rotate CW (right)"
-msgstr "Draai met de klok mee (naar rechts)"
+#: ../../mod/register.php:185
+msgid "Terms of Service"
+msgstr "Gebruiksvoorwaarden"
-#: ../../mod/photos.php:959
-msgid "Rotate CCW (left)"
-msgstr "Draai tegen de klok in (naar links)"
+#: ../../mod/register.php:191
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "Ik accepteer de %s van deze RedMatrix-hub"
-#: ../../mod/photos.php:962
-msgid "New album name"
-msgstr "Nieuwe albumnaam"
+#: ../../mod/register.php:193
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Ik accepteer de %s van deze RedMatrix-hub"
-#: ../../mod/photos.php:965
-msgid "Caption"
-msgstr "Bijschrift"
+#: ../../mod/register.php:207 ../../mod/admin.php:413
+msgid "Registration"
+msgstr "Registratie"
-#: ../../mod/photos.php:967
-msgid "Add a Tag"
-msgstr "Label toevoegen"
+#: ../../mod/register.php:212
+msgid "Membership on this site is by invitation only."
+msgstr "Registreren op deze RedMatrix-hub kan alleen op uitnodiging."
-#: ../../mod/photos.php:970
-msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@example.com, #Friesland, #camping"
+#: ../../mod/register.php:213
+msgid "Please enter your invitation code"
+msgstr "Vul jouw uitnodigingscode in"
-#: ../../mod/photos.php:1125
-msgid "In This Photo:"
-msgstr "Op deze foto:"
+#: ../../mod/register.php:216
+msgid "Your email address"
+msgstr "Jouw e-mailadres"
-#: ../../mod/photos.php:1201
-msgid "View Album"
-msgstr "Album weergeven"
+#: ../../mod/register.php:217
+msgid "Choose a password"
+msgstr "Geef een wachtwoord op"
-#: ../../mod/photos.php:1224
-msgid "Recent Photos"
-msgstr "Recente foto's"
+#: ../../mod/register.php:218
+msgid "Please re-enter your password"
+msgstr "Geef het wachtwoord opnieuw op"
-#: ../../mod/mitem.php:14 ../../mod/menu.php:92
+#: ../../mod/mitem.php:24 ../../mod/menu.php:108
msgid "Menu not found."
msgstr "Menu niet gevonden."
-#: ../../mod/mitem.php:47
+#: ../../mod/mitem.php:67
msgid "Menu element updated."
msgstr "Menu-onderdeel geüpdatet."
-#: ../../mod/mitem.php:51
+#: ../../mod/mitem.php:71
msgid "Unable to update menu element."
msgstr "Menu-onderdeel kan niet worden geüpdatet."
-#: ../../mod/mitem.php:57
+#: ../../mod/mitem.php:77
msgid "Menu element added."
msgstr "Menu-onderdeel toegevoegd"
-#: ../../mod/mitem.php:61
+#: ../../mod/mitem.php:81
msgid "Unable to add menu element."
msgstr "Menu-onderdeel kan niet worden toegevoegd."
-#: ../../mod/mitem.php:78 ../../mod/dirprofile.php:175 ../../mod/menu.php:120
-#: ../../mod/xchan.php:38
+#: ../../mod/mitem.php:111 ../../mod/menu.php:136 ../../mod/xchan.php:37
msgid "Not found."
msgstr "Niet gevonden."
-#: ../../mod/mitem.php:96
+#: ../../mod/mitem.php:127
msgid "Manage Menu Elements"
msgstr "Menu-onderdelen beheren"
-#: ../../mod/mitem.php:99
+#: ../../mod/mitem.php:130
msgid "Edit menu"
msgstr "Menu bewerken"
-#: ../../mod/mitem.php:102
+#: ../../mod/mitem.php:133
msgid "Edit element"
msgstr "Onderdeel bewerken"
-#: ../../mod/mitem.php:103
+#: ../../mod/mitem.php:134
msgid "Drop element"
msgstr "Onderdeel verwijderen"
-#: ../../mod/mitem.php:104
+#: ../../mod/mitem.php:135
msgid "New element"
msgstr "Nieuw element"
-#: ../../mod/mitem.php:105
+#: ../../mod/mitem.php:136
msgid "Edit this menu container"
msgstr "Deze menu-container bewerken"
-#: ../../mod/mitem.php:106
+#: ../../mod/mitem.php:137
msgid "Add menu element"
msgstr "Menu-element toevoegen"
-#: ../../mod/mitem.php:107
+#: ../../mod/mitem.php:138
msgid "Delete this menu item"
msgstr "Dit menu-item verwijderen"
-#: ../../mod/mitem.php:108
+#: ../../mod/mitem.php:139
msgid "Edit this menu item"
msgstr "Dit menu-item bewerken"
-#: ../../mod/mitem.php:131
+#: ../../mod/mitem.php:158
msgid "New Menu Element"
msgstr "Nieuw menu-element"
-#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:203
msgid "Menu Item Permissions"
msgstr "Permissies menu-item"
-#: ../../mod/mitem.php:134 ../../mod/mitem.php:177 ../../mod/settings.php:980
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:204 ../../mod/settings.php:1049
msgid "(click to open/close)"
msgstr "(klik om te openen/sluiten)"
-#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
+#: ../../mod/mitem.php:163 ../../mod/mitem.php:207
msgid "Link text"
msgstr "Linktekst"
-#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
+#: ../../mod/mitem.php:164 ../../mod/mitem.php:208
msgid "URL of link"
msgstr "URL of link"
-#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
-msgid "Use Red magic-auth if available"
-msgstr "Gebruik Reds magische authenticatie wanneer aanwezig"
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
+msgid "Use RedMatrix magic-auth if available"
+msgstr "Gebruik RedMatrix' magic-auth wanneer beschikbaar"
-#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
+#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
msgid "Open link in new window"
msgstr "Open link in nieuw venster"
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
msgid "Order in list"
msgstr "Volgorde in lijst"
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
msgid "Higher numbers will sink to bottom of listing"
msgstr "Hogere nummers komen onderaan de lijst terecht"
-#: ../../mod/mitem.php:154
+#: ../../mod/mitem.php:181
msgid "Menu item not found."
msgstr "Menu-item niet gevonden."
-#: ../../mod/mitem.php:163
+#: ../../mod/mitem.php:190
msgid "Menu item deleted."
msgstr "Menu-item verwijderd."
-#: ../../mod/mitem.php:165
+#: ../../mod/mitem.php:192
msgid "Menu item could not be deleted."
msgstr "Menu-item kon niet worden verwijderd."
-#: ../../mod/mitem.php:174
+#: ../../mod/mitem.php:201
msgid "Edit Menu Element"
msgstr "Menu-element bewerken"
-#: ../../mod/mitem.php:186 ../../mod/menu.php:114
+#: ../../mod/mitem.php:213 ../../mod/menu.php:130
msgid "Modify"
msgstr "Wijzigen"
@@ -3912,489 +3865,76 @@ msgstr "Wijzigen"
msgid "Some blurb about what to do when you're new here"
msgstr "Welkom op de RedMatrix. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook onze <a href=\"directory\">apps</a>, waar je vrijwel alles van de RedMatrix kan vinden. Voor <a href=\"directory\">hulp</a> met de RedMatrix klik je op het vraagteken of als je meer vragen hebt stel je die in het <a href=\"https://zothost.me/channel/support\">supportkanaal</a> (liefst in het Engels)."
-#: ../../mod/ping.php:237
+#: ../../mod/ping.php:266
msgid "sent you a private message"
msgstr "stuurde jou een privébericht"
-#: ../../mod/ping.php:288
+#: ../../mod/ping.php:319
msgid "added your channel"
msgstr "voegde jouw kanaal toe"
-#: ../../mod/ping.php:329
+#: ../../mod/ping.php:360
msgid "posted an event"
msgstr "plaatste een gebeurtenis"
-#: ../../mod/acl.php:244
-msgid "network"
-msgstr "netwerk"
-
-#: ../../mod/settings.php:71
-msgid "Name is required"
-msgstr "Naam is vereist"
-
-#: ../../mod/settings.php:75
-msgid "Key and Secret are required"
-msgstr "Key en secret zijn vereist"
-
-#: ../../mod/settings.php:198
-msgid "Passwords do not match. Password unchanged."
-msgstr "Wachtwoorden komen niet overeen. Wachtwoord onveranderd."
-
-#: ../../mod/settings.php:202
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd."
-
-#: ../../mod/settings.php:216
-msgid "Password changed."
-msgstr "Wachtwoord veranderd."
-
-#: ../../mod/settings.php:218
-msgid "Password update failed. Please try again."
-msgstr "Bijwerken wachtwoord mislukt. Probeer opnieuw."
-
-#: ../../mod/settings.php:232
-msgid "Not valid email."
-msgstr "Geen geldig e-mailadres."
-
-#: ../../mod/settings.php:235
-msgid "Protected email address. Cannot change to that email."
-msgstr "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken."
-
-#: ../../mod/settings.php:244
-msgid "System failure storing new email. Please try again."
-msgstr "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer."
-
-#: ../../mod/settings.php:447
-msgid "Settings updated."
-msgstr "Instellingen bijgewerkt."
-
-#: ../../mod/settings.php:518 ../../mod/settings.php:544
-#: ../../mod/settings.php:580
-msgid "Add application"
-msgstr "Applicatie toevoegen"
-
-#: ../../mod/settings.php:521
-msgid "Name of application"
-msgstr "Naam van applicatie"
-
-#: ../../mod/settings.php:522 ../../mod/settings.php:548
-msgid "Consumer Key"
-msgstr "Consumer key"
-
-#: ../../mod/settings.php:522 ../../mod/settings.php:523
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20"
-
-#: ../../mod/settings.php:523 ../../mod/settings.php:549
-msgid "Consumer Secret"
-msgstr "Consumer secret"
-
-#: ../../mod/settings.php:524 ../../mod/settings.php:550
-msgid "Redirect"
-msgstr "Redirect/doorverwijzing"
-
-#: ../../mod/settings.php:524
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist"
-
-#: ../../mod/settings.php:525 ../../mod/settings.php:551
-msgid "Icon url"
-msgstr "URL van pictogram"
-
-#: ../../mod/settings.php:525
-msgid "Optional"
-msgstr "Optioneel"
-
-#: ../../mod/settings.php:536
-msgid "You can't edit this application."
-msgstr "Je kan deze applicatie niet bewerken"
-
-#: ../../mod/settings.php:579
-msgid "Connected Apps"
-msgstr "Verbonden applicaties"
-
-#: ../../mod/settings.php:583
-msgid "Client key starts with"
-msgstr "Client key begint met"
-
-#: ../../mod/settings.php:584
-msgid "No name"
-msgstr "Geen naam"
-
-#: ../../mod/settings.php:585
-msgid "Remove authorization"
-msgstr "Autorisatie verwijderen"
-
-#: ../../mod/settings.php:596
-msgid "No feature settings configured"
-msgstr "Geen plugin-instellingen ingesteld"
-
-#: ../../mod/settings.php:604
-msgid "Feature Settings"
-msgstr "Plugin-instellingen"
-
-#: ../../mod/settings.php:627
-msgid "Account Settings"
-msgstr "Account-instellingen"
-
-#: ../../mod/settings.php:628
-msgid "Password Settings"
-msgstr "Wachtwoord-instellingen"
+#: ../../mod/group.php:20
+msgid "Collection created."
+msgstr "Collectie aangemaakt"
-#: ../../mod/settings.php:629
-msgid "New Password:"
-msgstr "Nieuw wachtwoord:"
+#: ../../mod/group.php:26
+msgid "Could not create collection."
+msgstr "Collectie kon niet aangemaakt worden"
-#: ../../mod/settings.php:630
-msgid "Confirm:"
-msgstr "Bevestigen:"
+#: ../../mod/group.php:54
+msgid "Collection updated."
+msgstr "Collectie bijgewerkt."
-#: ../../mod/settings.php:630
-msgid "Leave password fields blank unless changing"
-msgstr "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen"
+#: ../../mod/group.php:86
+msgid "Create a collection of channels."
+msgstr "Kanaalcollectie aanmaken"
-#: ../../mod/settings.php:632 ../../mod/settings.php:954
-msgid "Email Address:"
-msgstr "E-mailadres:"
+#: ../../mod/group.php:87 ../../mod/group.php:183
+msgid "Collection Name: "
+msgstr "Naam collectie:"
-#: ../../mod/settings.php:633 ../../mod/removeaccount.php:61
-msgid "Remove Account"
-msgstr "Account verwijderen"
+#: ../../mod/group.php:89 ../../mod/group.php:186
+msgid "Members are visible to other channels"
+msgstr "Kanalen in deze collectie zijn zichtbaar voor andere kanalen"
-#: ../../mod/settings.php:634
-msgid "Remove this account from this server including all its channels"
-msgstr "Dit account en al zijn kanalen van deze RedMatrix-hub verwijderen"
+#: ../../mod/group.php:107
+msgid "Collection removed."
+msgstr "Collectie verwijderd"
-#: ../../mod/settings.php:635 ../../mod/settings.php:1019
-msgid "Warning: This action is permanent and cannot be reversed."
-msgstr "Waarschuwing: Deze handeling is van permanente aard en kan niet meer worden teruggedraaid."
+#: ../../mod/group.php:109
+msgid "Unable to remove collection."
+msgstr "Verwijderen collectie mislukt"
-#: ../../mod/settings.php:651
-msgid "Off"
-msgstr "Uit"
+#: ../../mod/group.php:182
+msgid "Collection Editor"
+msgstr "Collectiebewerker"
-#: ../../mod/settings.php:651
-msgid "On"
-msgstr "Aan"
+#: ../../mod/group.php:196
+msgid "Members"
+msgstr "Kanalen"
-#: ../../mod/settings.php:658
-msgid "Additional Features"
-msgstr "Extra functies"
+#: ../../mod/group.php:198
+msgid "All Connected Channels"
+msgstr "Alle kanaalconnecties"
-#: ../../mod/settings.php:683
-msgid "Connector Settings"
-msgstr "Instellingen externe koppelingen"
+#: ../../mod/group.php:233
+msgid "Click on a channel to add or remove."
+msgstr "Klik op een kanaal om deze toe te voegen of te verwijderen."
-#: ../../mod/settings.php:713 ../../mod/admin.php:362
-msgid "No special theme for mobile devices"
-msgstr "Geen speciaal thema voor mobiele apparaten"
+#: ../../mod/search.php:13 ../../mod/display.php:9
+#: ../../mod/viewconnections.php:17 ../../mod/photos.php:458
+#: ../../mod/directory.php:22
+msgid "Public access denied."
+msgstr "Openbare toegang geweigerd."
-#: ../../mod/settings.php:722
+#: ../../mod/subthread.php:103
#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (experimenteel)"
-
-#: ../../mod/settings.php:758
-msgid "Display Settings"
-msgstr "Weergave-instellingen"
-
-#: ../../mod/settings.php:764
-msgid "Display Theme:"
-msgstr "Gebruik thema:"
-
-#: ../../mod/settings.php:765
-msgid "Mobile Theme:"
-msgstr "Mobiel thema:"
-
-#: ../../mod/settings.php:766
-msgid "Enable user zoom on mobile devices"
-msgstr "Inzoomen op smartphones en tablets toestaan"
-
-#: ../../mod/settings.php:767
-msgid "Update browser every xx seconds"
-msgstr "Ververs de webbrowser om de zoveel seconde"
-
-#: ../../mod/settings.php:767
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimaal 10 seconde, geen maximum"
-
-#: ../../mod/settings.php:768
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Maximaal aantal conversaties die per keer geladen worden:"
-
-#: ../../mod/settings.php:768
-msgid "Maximum of 100 items"
-msgstr "Maximaal 100 conversaties"
-
-#: ../../mod/settings.php:769
-msgid "Don't show emoticons"
-msgstr "Geen emoticons weergeven"
-
-#: ../../mod/settings.php:770
-msgid "Link post titles to source"
-msgstr "Berichtkoppen naar originele locatie linken"
-
-#: ../../mod/settings.php:771
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Lay-out bewerken van systeempagina's (geavanceerd)"
-
-#: ../../mod/settings.php:807
-msgid "Nobody except yourself"
-msgstr "Niemand, behalve jezelf"
-
-#: ../../mod/settings.php:808
-msgid "Only those you specifically allow"
-msgstr "Alleen connecties met uitdrukkelijke toestemming"
-
-#: ../../mod/settings.php:809
-msgid "Approved connections"
-msgstr "Geaccepteerde connecties"
-
-#: ../../mod/settings.php:810
-msgid "Any connections"
-msgstr "Alle connecties"
-
-#: ../../mod/settings.php:811
-msgid "Anybody on this website"
-msgstr "Iedereen op deze hub"
-
-#: ../../mod/settings.php:812
-msgid "Anybody in this network"
-msgstr "Iedereen in dit netwerk"
-
-#: ../../mod/settings.php:813
-msgid "Anybody authenticated"
-msgstr "Geauthenticeerd"
-
-#: ../../mod/settings.php:814
-msgid "Anybody on the internet"
-msgstr "Iedereen op het internet"
-
-#: ../../mod/settings.php:891
-msgid "Publish your default profile in the network directory"
-msgstr "Publiceer je standaardprofiel in de kanalengids"
-
-#: ../../mod/settings.php:891 ../../mod/settings.php:896
-#: ../../mod/settings.php:973 ../../mod/api.php:106 ../../mod/profiles.php:574
-#: ../../mod/admin.php:392
-msgid "No"
-msgstr "Nee"
-
-#: ../../mod/settings.php:891 ../../mod/settings.php:896
-#: ../../mod/settings.php:973 ../../mod/api.php:105 ../../mod/profiles.php:573
-#: ../../mod/admin.php:394
-msgid "Yes"
-msgstr "Ja"
-
-#: ../../mod/settings.php:896
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen"
-
-#: ../../mod/settings.php:900 ../../mod/profile_photo.php:365
-msgid "or"
-msgstr "of"
-
-#: ../../mod/settings.php:905
-msgid "Your channel address is"
-msgstr "Jouw kanaaladres is"
-
-#: ../../mod/settings.php:943
-msgid "Channel Settings"
-msgstr "Kanaal-instellingen"
-
-#: ../../mod/settings.php:952
-msgid "Basic Settings"
-msgstr "Basis-instellingen"
-
-#: ../../mod/settings.php:955
-msgid "Your Timezone:"
-msgstr "Jouw tijdzone:"
-
-#: ../../mod/settings.php:956
-msgid "Default Post Location:"
-msgstr "Standaardlocatie bericht:"
-
-#: ../../mod/settings.php:956
-msgid "Geographical location to display on your posts"
-msgstr "Geografische locatie die bij het bericht moet worden vermeld"
-
-#: ../../mod/settings.php:957
-msgid "Use Browser Location:"
-msgstr "Locatie van webbrowser gebruiken:"
-
-#: ../../mod/settings.php:959
-msgid "Adult Content"
-msgstr "Inhoud voor volwassenen"
-
-#: ../../mod/settings.php:959
-msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassen. (Gebruik de hashtag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)"
-
-#: ../../mod/settings.php:961
-msgid "Security and Privacy Settings"
-msgstr "Veiligheids- privacy-instellingen"
-
-#: ../../mod/settings.php:963
-msgid "Your permissions are already configured. Click to view/adjust"
-msgstr "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen."
-
-#: ../../mod/settings.php:965
-msgid "Hide my online presence"
-msgstr "Verberg mijn aanwezigheid"
-
-#: ../../mod/settings.php:965
-msgid "Prevents displaying in your profile that you are online"
-msgstr "Voorkomt dat op je kanaal te zien valt dat je momenteel op de RedMatrix aanwezig bent"
-
-#: ../../mod/settings.php:967
-msgid "Simple Privacy Settings:"
-msgstr "Eenvoudige privacy-instellingen:"
-
-#: ../../mod/settings.php:968
-msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>"
-
-#: ../../mod/settings.php:969
-msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>"
-
-#: ../../mod/settings.php:970
-msgid "Private - <em>default private, never open or public</em>"
-msgstr "Privé <em>(standaard privé en nooit openbaar)</em>"
-
-#: ../../mod/settings.php:971
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>"
-
-#: ../../mod/settings.php:973
-msgid "Allow others to tag your posts"
-msgstr "Anderen toestaan om je berichten te labelen"
-
-#: ../../mod/settings.php:973
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren"
-
-#: ../../mod/settings.php:975
-msgid "Advanced Privacy Settings"
-msgstr "Geavanceerde privacy-instellingen"
-
-#: ../../mod/settings.php:977
-msgid "Expire other channel content after this many days"
-msgstr "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:"
-
-#: ../../mod/settings.php:977
-msgid "0 or blank prevents expiration"
-msgstr "0 of leeg voorkomt het verlopen"
-
-#: ../../mod/settings.php:978
-msgid "Maximum Friend Requests/Day:"
-msgstr "Maximum aantal connectieverzoeken per dag:"
-
-#: ../../mod/settings.php:978
-msgid "May reduce spam activity"
-msgstr "Kan eventuele spam verminderen"
-
-#: ../../mod/settings.php:979
-msgid "Default Post Permissions"
-msgstr "Standaard permissies voor nieuwe berichten"
-
-#: ../../mod/settings.php:991
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Maximum aantal privé-berichten per dag van onbekende personen:"
-
-#: ../../mod/settings.php:991
-msgid "Useful to reduce spamming"
-msgstr "Kan eventuele spam verminderen"
-
-#: ../../mod/settings.php:994
-msgid "Notification Settings"
-msgstr "Notificatie-instellingen"
-
-#: ../../mod/settings.php:995
-msgid "By default post a status message when:"
-msgstr "Plaats automatisch een statusbericht wanneer:"
-
-#: ../../mod/settings.php:996
-msgid "accepting a friend request"
-msgstr "Een connectieverzoek wordt geaccepteerd"
-
-#: ../../mod/settings.php:997
-msgid "joining a forum/community"
-msgstr "Je lid wordt van een groep/forum"
-
-#: ../../mod/settings.php:998
-msgid "making an <em>interesting</em> profile change"
-msgstr "Er sprake is van een <em>interessante</em> profielwijziging"
-
-#: ../../mod/settings.php:999
-msgid "Send a notification email when:"
-msgstr "Verzend een notificatie per e-mail wanneer:"
-
-#: ../../mod/settings.php:1000
-msgid "You receive a connection request"
-msgstr "Je een connectieverzoek ontvangt"
-
-#: ../../mod/settings.php:1001
-msgid "Your connections are confirmed"
-msgstr "Jouw connecties zijn bevestigd"
-
-#: ../../mod/settings.php:1002
-msgid "Someone writes on your profile wall"
-msgstr "Iemand iets op jouw kanaal heeft geschreven"
-
-#: ../../mod/settings.php:1003
-msgid "Someone writes a followup comment"
-msgstr "Iemand een reactie schrijft"
-
-#: ../../mod/settings.php:1004
-msgid "You receive a private message"
-msgstr "Je een privé-bericht ontvangt"
-
-#: ../../mod/settings.php:1005
-msgid "You receive a friend suggestion"
-msgstr "Je een kanaalvoorstel ontvangt"
-
-#: ../../mod/settings.php:1006
-msgid "You are tagged in a post"
-msgstr "Je expliciet in een bericht bent genoemd"
-
-#: ../../mod/settings.php:1007
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Je bent in een bericht aangestoten/gepord/etc."
-
-#: ../../mod/settings.php:1010
-msgid "Advanced Account/Page Type Settings"
-msgstr "Instellingen geavanceerd account/paginatype"
-
-#: ../../mod/settings.php:1011
-msgid "Change the behaviour of this account for special situations"
-msgstr "Verander het gedrag van dit account voor speciale situaties"
-
-#: ../../mod/settings.php:1014
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!"
-
-#: ../../mod/settings.php:1015
-msgid "Miscellaneous Settings"
-msgstr "Diverse instellingen"
-
-#: ../../mod/settings.php:1017
-msgid "Personal menu to display in your channel pages"
-msgstr "Persoonlijk menu om op je kanaalpagina's weer te geven"
-
-#: ../../mod/settings.php:1018
-msgid "Remove this channel"
-msgstr "Verwijder dit kanaal"
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s volgt het %3$s van %2$s"
#: ../../mod/poke.php:159
msgid "Poke/Prod"
@@ -4434,104 +3974,18 @@ msgid ""
" and/or create new posts for you?"
msgstr "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?"
-#: ../../mod/post.php:229
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen."
-
-#: ../../mod/post.php:261 ../../mod/openid.php:72 ../../mod/openid.php:180
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Welkom %s. Authenticatie op afstand geslaagd."
-
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Item is niet aanwezig."
-
-#: ../../mod/probe.php:23 ../../mod/probe.php:29
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "Ophalen URL gaf een foutmelding terug: %1$s"
-
-#: ../../mod/block.php:27 ../../mod/page.php:33
-msgid "Invalid item."
-msgstr "Ongeldig item."
-
-#: ../../mod/block.php:39 ../../mod/page.php:45 ../../mod/wall_upload.php:28
-msgid "Channel not found."
-msgstr "Kanaal niet gevonden."
-
-#: ../../mod/block.php:75 ../../mod/page.php:81 ../../mod/display.php:102
-#: ../../mod/help.php:72 ../../index.php:240
-msgid "Page not found."
-msgstr "Pagina niet gevonden."
-
-#: ../../mod/siteinfo.php:90
-#, php-format
-msgid "Version %s"
-msgstr "Versie %s"
-
-#: ../../mod/siteinfo.php:111
-msgid "Installed plugins/addons/apps:"
-msgstr "Ingeschakelde plug-ins/add-ons/apps:"
-
-#: ../../mod/siteinfo.php:124
-msgid "No installed plugins/addons/apps"
-msgstr "Geen ingeschakelde plug-ins/add-ons/apps"
-
-#: ../../mod/siteinfo.php:132
-msgid "Red"
-msgstr "Red"
-
-#: ../../mod/siteinfo.php:133
-msgid ""
-"This is a hub of the Red Matrix - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Dit is een hub van de RedMatrix - een wereldwijd coöperatief netwerk van gedecentraliseerde websites met verbeterde privacy."
-
-#: ../../mod/siteinfo.php:137
-msgid "Running at web location"
-msgstr "Draaiend op weblocatie"
-
-#: ../../mod/siteinfo.php:138
-msgid ""
-"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
-"about the Red Matrix."
-msgstr "Bezoek <a href=\"http://redmatrix.me\">RedMatrix.me</a> om meer te leren over de RedMatrix."
-
-#: ../../mod/siteinfo.php:139
-msgid "Bug reports and issues: please visit"
-msgstr "Bugrapporten en andere kwesties: bezoek"
-
-#: ../../mod/siteinfo.php:142
-msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com"
-
-#: ../../mod/siteinfo.php:144
-msgid "Site Administrators"
-msgstr "Hubbeheerders: "
-
-#: ../../mod/blocks.php:62
-msgid "Block Name"
-msgstr "Bloknaam"
-
-#: ../../mod/bookmarks.php:38
-msgid "Bookmark added"
-msgstr "Bladwijzer toegevoegd"
-
-#: ../../mod/bookmarks.php:60
-msgid "My Bookmarks"
-msgstr "Mijn bladwijzers"
+#: ../../mod/api.php:105 ../../mod/settings.php:955 ../../mod/settings.php:960
+#: ../../mod/settings.php:1042 ../../mod/admin.php:392
+msgid "Yes"
+msgstr "Ja"
-#: ../../mod/bookmarks.php:71
-msgid "My Connections Bookmarks"
-msgstr "Bladwijzers van mijn connecties"
+#: ../../mod/api.php:106 ../../mod/settings.php:955 ../../mod/settings.php:960
+#: ../../mod/settings.php:1042 ../../mod/admin.php:390
+msgid "No"
+msgstr "Nee"
-#: ../../mod/profiles.php:18 ../../mod/profiles.php:165
-#: ../../mod/profiles.php:222 ../../mod/profiles.php:547
+#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
+#: ../../mod/profiles.php:231 ../../mod/profiles.php:583
msgid "Profile not found."
msgstr "Profiel niet gevonden."
@@ -4555,243 +4009,446 @@ msgstr "Profiel niet beschikbaar om te klonen"
msgid "Profile unavailable to export."
msgstr "Geen profiel beschikbaar om te exporteren"
-#: ../../mod/profiles.php:232
+#: ../../mod/profiles.php:241
msgid "Profile Name is required."
msgstr "Profielnaam is vereist"
-#: ../../mod/profiles.php:362
+#: ../../mod/profiles.php:387
msgid "Marital Status"
msgstr "Huwelijke status"
-#: ../../mod/profiles.php:366
+#: ../../mod/profiles.php:391
msgid "Romantic Partner"
msgstr "Romantische partner"
-#: ../../mod/profiles.php:370
+#: ../../mod/profiles.php:395
msgid "Likes"
msgstr "Houdt van"
-#: ../../mod/profiles.php:374
+#: ../../mod/profiles.php:399
msgid "Dislikes"
msgstr "Houdt niet van"
-#: ../../mod/profiles.php:378
+#: ../../mod/profiles.php:403
msgid "Work/Employment"
msgstr "Werk/arbeid"
-#: ../../mod/profiles.php:381
+#: ../../mod/profiles.php:406
msgid "Religion"
msgstr "Religie"
-#: ../../mod/profiles.php:385
+#: ../../mod/profiles.php:410
msgid "Political Views"
msgstr "Politieke overtuigingen"
-#: ../../mod/profiles.php:389
+#: ../../mod/profiles.php:414
msgid "Gender"
msgstr "Geslacht"
-#: ../../mod/profiles.php:393
+#: ../../mod/profiles.php:418
msgid "Sexual Preference"
msgstr "Seksuele voorkeur"
-#: ../../mod/profiles.php:397
+#: ../../mod/profiles.php:422
msgid "Homepage"
msgstr "Homepage"
-#: ../../mod/profiles.php:401
+#: ../../mod/profiles.php:426
msgid "Interests"
msgstr "Interesses"
-#: ../../mod/profiles.php:405 ../../mod/admin.php:868
+#: ../../mod/profiles.php:430 ../../mod/admin.php:866
msgid "Address"
msgstr "Kanaaladres"
-#: ../../mod/profiles.php:412 ../../mod/pubsites.php:25
+#: ../../mod/profiles.php:437 ../../mod/pubsites.php:25
msgid "Location"
msgstr "Locatie"
-#: ../../mod/profiles.php:495
+#: ../../mod/profiles.php:520
msgid "Profile updated."
msgstr "Profiel bijgewerkt"
-#: ../../mod/profiles.php:572
+#: ../../mod/profiles.php:609
msgid "Hide your contact/friend list from viewers of this profile?"
msgstr "Laat de lijst met connecties niet aan bezoekers van dit profiel zien."
-#: ../../mod/profiles.php:614
+#: ../../mod/profiles.php:649
msgid "Edit Profile Details"
msgstr "Profiel bewerken"
-#: ../../mod/profiles.php:616
+#: ../../mod/profiles.php:651
msgid "View this profile"
msgstr "Profiel weergeven"
-#: ../../mod/profiles.php:618
+#: ../../mod/profiles.php:653
msgid "Change Profile Photo"
msgstr "Profielfoto wijzigen"
-#: ../../mod/profiles.php:619
+#: ../../mod/profiles.php:654
msgid "Create a new profile using these settings"
msgstr "Een nieuw profiel aanmaken met dit profiel als basis"
-#: ../../mod/profiles.php:620
+#: ../../mod/profiles.php:655
msgid "Clone this profile"
msgstr "Dit profiel klonen"
-#: ../../mod/profiles.php:621
+#: ../../mod/profiles.php:656
msgid "Delete this profile"
msgstr "Dit profiel verwijderen"
-#: ../../mod/profiles.php:623
+#: ../../mod/profiles.php:658
msgid "Import profile from file"
msgstr "Profiel vanuit bestand importeren"
-#: ../../mod/profiles.php:624
+#: ../../mod/profiles.php:659
msgid "Export profile to file"
msgstr "Profiel naar bestand exporteren"
-#: ../../mod/profiles.php:625
+#: ../../mod/profiles.php:660
msgid "Profile Name:"
msgstr "Profielnaam:"
-#: ../../mod/profiles.php:626
+#: ../../mod/profiles.php:661
msgid "Your Full Name:"
msgstr "Jouw volledige naam:"
-#: ../../mod/profiles.php:627
+#: ../../mod/profiles.php:662
msgid "Title/Description:"
msgstr "Titel/omschrijving:"
-#: ../../mod/profiles.php:628
+#: ../../mod/profiles.php:663
msgid "Your Gender:"
msgstr "Jouw geslacht"
-#: ../../mod/profiles.php:629
+#: ../../mod/profiles.php:664
msgid "Birthday :"
msgstr "Verjaardag: "
-#: ../../mod/profiles.php:630
+#: ../../mod/profiles.php:665
msgid "Street Address:"
msgstr "Straat en huisnummer:"
-#: ../../mod/profiles.php:631
+#: ../../mod/profiles.php:666
msgid "Locality/City:"
msgstr "Woonplaats:"
-#: ../../mod/profiles.php:632
+#: ../../mod/profiles.php:667
msgid "Postal/Zip Code:"
msgstr "Postcode:"
-#: ../../mod/profiles.php:633
+#: ../../mod/profiles.php:668
msgid "Country:"
msgstr "Land:"
-#: ../../mod/profiles.php:634
+#: ../../mod/profiles.php:669
msgid "Region/State:"
msgstr "Provincie/gewest/deelstaat:"
-#: ../../mod/profiles.php:635
+#: ../../mod/profiles.php:670
msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr "<span class=\"heart\">&hearts;</span> Huwelijkse staat:"
-#: ../../mod/profiles.php:636
+#: ../../mod/profiles.php:671
msgid "Who: (if applicable)"
msgstr "Wie (wanneer toepasselijk):"
-#: ../../mod/profiles.php:637
+#: ../../mod/profiles.php:672
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "Voorbeelden: karin123, Karin Jansen, cathy@voorbeeld.nl"
-#: ../../mod/profiles.php:638
+#: ../../mod/profiles.php:673
msgid "Since [date]:"
msgstr "Sinds [datum]:"
-#: ../../mod/profiles.php:640
+#: ../../mod/profiles.php:675
msgid "Homepage URL:"
msgstr "Adres homepage:"
-#: ../../mod/profiles.php:643
+#: ../../mod/profiles.php:678
msgid "Religious Views:"
msgstr "Religieuze overtuigingen"
-#: ../../mod/profiles.php:644
+#: ../../mod/profiles.php:679
msgid "Keywords:"
msgstr "Trefwoorden"
-#: ../../mod/profiles.php:647
+#: ../../mod/profiles.php:682
msgid "Example: fishing photography software"
msgstr "Voorbeeld: muziek, fotografie, software"
-#: ../../mod/profiles.php:648
+#: ../../mod/profiles.php:683
msgid "Used in directory listings"
msgstr "Wordt in de kanalengids gebruikt"
-#: ../../mod/profiles.php:649
+#: ../../mod/profiles.php:684
msgid "Tell us about yourself..."
msgstr "Vertel ons iets over jezelf..."
-#: ../../mod/profiles.php:650
+#: ../../mod/profiles.php:685
msgid "Hobbies/Interests"
msgstr "Hobby's/interesses"
-#: ../../mod/profiles.php:651
+#: ../../mod/profiles.php:686
msgid "Contact information and Social Networks"
msgstr "Contactinformatie en sociale netwerken"
-#: ../../mod/profiles.php:652
+#: ../../mod/profiles.php:687
msgid "My other channels"
msgstr "Mijn andere kanalen"
-#: ../../mod/profiles.php:653
+#: ../../mod/profiles.php:688
msgid "Musical interests"
msgstr "Muzikale interesses"
-#: ../../mod/profiles.php:654
+#: ../../mod/profiles.php:689
msgid "Books, literature"
msgstr "Boeken/literatuur"
-#: ../../mod/profiles.php:655
+#: ../../mod/profiles.php:690
msgid "Television"
msgstr "Televisie"
-#: ../../mod/profiles.php:656
+#: ../../mod/profiles.php:691
msgid "Film/dance/culture/entertainment"
msgstr "Film/dans/cultuur/entertainment"
-#: ../../mod/profiles.php:657
+#: ../../mod/profiles.php:692
msgid "Love/romance"
msgstr "Liefde/romantiek"
-#: ../../mod/profiles.php:658
+#: ../../mod/profiles.php:693
msgid "Work/employment"
msgstr "Werk/arbeid"
-#: ../../mod/profiles.php:659
+#: ../../mod/profiles.php:694
msgid "School/education"
msgstr "School/onderwijs"
-#: ../../mod/profiles.php:665
+#: ../../mod/profiles.php:700
msgid "This is your default profile."
msgstr "Dit is jouw standaardprofiel"
-#: ../../mod/profiles.php:676 ../../mod/directory.php:143
-#: ../../mod/dirprofile.php:92
+#: ../../mod/profiles.php:711 ../../mod/directory.php:188
msgid "Age: "
msgstr "Leeftijd:"
-#: ../../mod/profiles.php:719
+#: ../../mod/profiles.php:754
msgid "Edit/Manage Profiles"
msgstr "Profielen bewerken/beheren"
-#: ../../mod/profiles.php:720
+#: ../../mod/profiles.php:755
msgid "Add profile things"
msgstr "Dingen aan je profiel toevoegen"
-#: ../../mod/profiles.php:721
+#: ../../mod/profiles.php:756
msgid "Include desirable objects in your profile"
msgstr "Voeg door jou gewenste dingen aan jouw profiel toe"
+#: ../../mod/attach.php:9
+msgid "Item not available."
+msgstr "Item is niet aanwezig."
+
+#: ../../mod/probe.php:23 ../../mod/probe.php:29
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr "Ophalen URL gaf een foutmelding terug: %1$s"
+
+#: ../../mod/block.php:27 ../../mod/page.php:33
+msgid "Invalid item."
+msgstr "Ongeldig item."
+
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:45
+msgid "Channel not found."
+msgstr "Kanaal niet gevonden."
+
+#: ../../mod/block.php:75 ../../mod/display.php:102 ../../mod/help.php:70
+#: ../../mod/page.php:81 ../../index.php:241
+msgid "Page not found."
+msgstr "Pagina niet gevonden."
+
+#: ../../mod/uexport.php:33 ../../mod/uexport.php:34
+msgid "Export Channel"
+msgstr "Kanaal exporteren"
+
+#: ../../mod/uexport.php:35
+msgid ""
+"Export your basic channel information to a small file. This acts as a "
+"backup of your connections, permissions, profile and basic data, which can "
+"be used to import your data to a new hub, but\tdoes not contain your "
+"content."
+msgstr "Exporteer de basisinformatie van jouw kanaal naar een klein bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal."
+
+#: ../../mod/uexport.php:36
+msgid "Export Content"
+msgstr "Inhoud exporteren"
+
+#: ../../mod/uexport.php:37
+msgid ""
+"Export your channel information and all the content to a JSON backup. This "
+"backs up all of your connections, permissions, profile data and all of your "
+"content, but is generally not suitable for importing a channel to a new hub "
+"as this file may be VERY large. Please be patient - it may take several "
+"minutes for this download to begin."
+msgstr "Exporteer informatie en alle inhoud van jouw kanaal naar een JSON-back-up. Dit slaat al jouw connecties, permissies, profielgegevens en de volledige inhoud van jouw kanaal op, maar is in het algemeen niet geschikt om op een nieuwe hub te importeren, omdat dit bestand ZEER groot kan worden. Wees geduldig - het kan enkele minuten duren voordat de download begint."
+
+#: ../../mod/delegate.php:95
+msgid "No potential page delegates located."
+msgstr "Geen gevolmachtigde personen gevonden waaraan mogelijk het accountbeheer kan worden uitbesteed."
+
+#: ../../mod/delegate.php:121
+msgid "Delegate Page Management"
+msgstr "Accountbeheer uitbesteden"
+
+#: ../../mod/delegate.php:123
+msgid ""
+"Delegates are able to manage all aspects of this account/page except for "
+"basic account settings. Please do not delegate your personal account to "
+"anybody that you do not trust completely."
+msgstr "Gevolmachtigde personen zijn in staat om alle aspecten van dit account te beheren, behalve enkele basisinstellingen. Besteed het beheer van je persoonlijke account niet aan iemand uit die je niet volledig vertrouwd."
+
+#: ../../mod/delegate.php:124
+msgid "Existing Page Managers"
+msgstr "Bestaande accountbeheerders"
+
+#: ../../mod/delegate.php:126
+msgid "Existing Page Delegates"
+msgstr "Bestaande gevolmachtigde accountbeheerders"
+
+#: ../../mod/delegate.php:128
+msgid "Potential Delegates"
+msgstr "Gevolmachtigde personen waaraan mogelijk het accountbeheer kan worden uitbesteed."
+
+#: ../../mod/delegate.php:130 ../../mod/tagrm.php:133 ../../mod/photos.php:902
+msgid "Remove"
+msgstr "Verwijderen"
+
+#: ../../mod/delegate.php:131
+msgid "Add"
+msgstr "Toevoegen"
+
+#: ../../mod/delegate.php:132
+msgid "No entries."
+msgstr "Geen"
+
+#: ../../mod/siteinfo.php:93
+#, php-format
+msgid "Version %s"
+msgstr "Versie %s"
+
+#: ../../mod/siteinfo.php:114
+msgid "Installed plugins/addons/apps:"
+msgstr "Ingeschakelde plug-ins/add-ons/apps:"
+
+#: ../../mod/siteinfo.php:127
+msgid "No installed plugins/addons/apps"
+msgstr "Geen ingeschakelde plug-ins/add-ons/apps"
+
+#: ../../mod/siteinfo.php:135
+msgid "Red"
+msgstr "Red"
+
+#: ../../mod/siteinfo.php:136
+msgid ""
+"This is a hub of the Red Matrix - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Dit is een hub van de RedMatrix - een wereldwijd coöperatief netwerk van gedecentraliseerde websites met verbeterde privacy."
+
+#: ../../mod/siteinfo.php:138
+msgid "Tag: "
+msgstr "Tag: "
+
+#: ../../mod/siteinfo.php:140
+msgid "Last background fetch: "
+msgstr "Meest recente achtergrond-fetch:"
+
+#: ../../mod/siteinfo.php:143
+msgid "Running at web location"
+msgstr "Draaiend op weblocatie"
+
+#: ../../mod/siteinfo.php:144
+msgid ""
+"Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more"
+" about the Red Matrix."
+msgstr "Bezoek <a href=\"https://redmatrix.me\">RedMatrix.me</a> om meer te leren over de RedMatrix."
+
+#: ../../mod/siteinfo.php:145
+msgid "Bug reports and issues: please visit"
+msgstr "Bugrapporten en andere kwesties: bezoek"
+
+#: ../../mod/siteinfo.php:148
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com"
+
+#: ../../mod/siteinfo.php:150
+msgid "Site Administrators"
+msgstr "Hubbeheerders: "
+
+#: ../../mod/sources.php:32
+msgid "Failed to create source. No channel selected."
+msgstr "Aanmaken bron mislukt. Geen kanaal geselecteerd."
+
+#: ../../mod/sources.php:45
+msgid "Source created."
+msgstr "Bron aangemaakt."
+
+#: ../../mod/sources.php:57
+msgid "Source updated."
+msgstr "Bron aangemaakt."
+
+#: ../../mod/sources.php:82
+msgid "*"
+msgstr "*"
+
+#: ../../mod/sources.php:89
+msgid "Manage remote sources of content for your channel."
+msgstr "Beheer externe bronnen met inhoud voor jouw kanaal"
+
+#: ../../mod/sources.php:90 ../../mod/sources.php:100
+msgid "New Source"
+msgstr "Nieuwe bron"
+
+#: ../../mod/sources.php:101 ../../mod/sources.php:133
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importeer complete of gedeelde inhoud vanuit het volgende kanaal naar dit kanaal, en verdeel het vervolgens volgens jouw kanaalinstellingen."
+
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Only import content with these words (one per line)"
+msgstr "Importeer alleen inhoud met deze woorden (één per regel)"
+
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Leave blank to import all public content"
+msgstr "Laat leeg om alle openbare inhoud te importeren"
+
+#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../mod/new_channel.php:112
+msgid "Channel Name"
+msgstr "Kanaalnaam"
+
+#: ../../mod/sources.php:123 ../../mod/sources.php:150
+msgid "Source not found."
+msgstr "Bron niet gevonden"
+
+#: ../../mod/sources.php:130
+msgid "Edit Source"
+msgstr "Bron bewerken"
+
+#: ../../mod/sources.php:131
+msgid "Delete Source"
+msgstr "Bron verwijderen"
+
+#: ../../mod/sources.php:158
+msgid "Source removed"
+msgstr "Bron verwijderd"
+
+#: ../../mod/sources.php:160
+msgid "Unable to remove source."
+msgstr "Verwijderen bron mislukt."
+
#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
msgid "Invalid profile identifier."
msgstr "Ongeldige profiel-identificator"
@@ -4824,56 +4481,72 @@ msgstr "Titel en begintijd van gebeurtenis zijn vereist."
msgid "Event not found."
msgstr "Gebeurtenis niet gevonden"
-#: ../../mod/events.php:364
+#: ../../mod/events.php:369
msgid "l, F j"
msgstr "l j F"
-#: ../../mod/events.php:386
+#: ../../mod/events.php:391
msgid "Edit event"
msgstr "Gebeurtenis bewerken"
-#: ../../mod/events.php:432
+#: ../../mod/events.php:443
msgid "Create New Event"
msgstr "Nieuwe gebeurtenis aanmaken"
-#: ../../mod/events.php:560
+#: ../../mod/events.php:444 ../../mod/photos.php:856
+msgid "Previous"
+msgstr "Vorige"
+
+#: ../../mod/events.php:445 ../../mod/setup.php:265 ../../mod/photos.php:865
+msgid "Next"
+msgstr "Volgende"
+
+#: ../../mod/events.php:446
+msgid "Export"
+msgstr "Exporteren"
+
+#: ../../mod/events.php:571
msgid "Event details"
msgstr "Details van gebeurtenis"
-#: ../../mod/events.php:561
+#: ../../mod/events.php:572
msgid "Starting date and Title are required."
msgstr "Begintijd en titel zijn vereist."
-#: ../../mod/events.php:565
+#: ../../mod/events.php:574
+msgid "Categories (comma-separated list)"
+msgstr "Categorieën (door komma's gescheiden lijst)"
+
+#: ../../mod/events.php:576
msgid "Event Starts:"
msgstr "Begin gebeurtenis:"
-#: ../../mod/events.php:565 ../../mod/events.php:581 ../../mod/appman.php:91
+#: ../../mod/events.php:576 ../../mod/events.php:592 ../../mod/appman.php:91
#: ../../mod/appman.php:92
msgid "Required"
msgstr "Vereist"
-#: ../../mod/events.php:571
+#: ../../mod/events.php:582
msgid "Finish date/time is not known or not relevant"
msgstr "Einddatum/-tijd is niet bekend of niet relevant"
-#: ../../mod/events.php:573
+#: ../../mod/events.php:584
msgid "Event Finishes:"
msgstr "Einde gebeurtenis:"
-#: ../../mod/events.php:575
+#: ../../mod/events.php:586
msgid "Adjust for viewer timezone"
msgstr "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt"
-#: ../../mod/events.php:577
+#: ../../mod/events.php:588
msgid "Description:"
msgstr "Omschrijving:"
-#: ../../mod/events.php:581
+#: ../../mod/events.php:592
msgid "Title:"
msgstr "Titel:"
-#: ../../mod/events.php:583
+#: ../../mod/events.php:594
msgid "Share this event"
msgstr "Deel deze gebeurtenis"
@@ -4906,7 +4579,7 @@ msgstr "Registratiebeleid"
msgid "You must be logged in to see this page."
msgstr "Je moet zijn ingelogd om deze pagina te kunnen bekijken."
-#: ../../mod/channel.php:86
+#: ../../mod/channel.php:87
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Onvoldoende permissies. Doorgestuurd naar profielpagina."
@@ -4967,85 +4640,6 @@ msgstr "Naam chatkanaal"
msgid "%1$s's Chatrooms"
msgstr "Chatkanalen van %1$s"
-#: ../../mod/register.php:42
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "Maximum toegestane dagelijkse registraties op deze RedMatrix-hub bereikt. Probeer het morgen (UTC) nogmaals."
-
-#: ../../mod/register.php:48
-msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden."
-
-#: ../../mod/register.php:82
-msgid "Passwords do not match."
-msgstr "Wachtwoorden komen niet met elkaar overeen."
-
-#: ../../mod/register.php:115
-msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "Registratie geslaagd. Controleer je e-mail voor instructies."
-
-#: ../../mod/register.php:121
-msgid "Your registration is pending approval by the site owner."
-msgstr "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze RedMatrix-hub."
-
-#: ../../mod/register.php:124
-msgid "Your registration can not be processed."
-msgstr "Jouw registratie kan niet verwerkt worden."
-
-#: ../../mod/register.php:161
-msgid "Registration on this site/hub is by approval only."
-msgstr "Registraties op deze RedMatrix-hub moeten eerst worden goedgekeurd."
-
-#: ../../mod/register.php:162
-msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
-msgstr "<a href=\"pubsites\">Registreer op een andere RedMatrix-hub</a>"
-
-#: ../../mod/register.php:170
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Deze RedMatrix-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals."
-
-#: ../../mod/register.php:181
-msgid "Terms of Service"
-msgstr "Gebruiksvoorwaarden"
-
-#: ../../mod/register.php:187
-#, php-format
-msgid "I accept the %s for this website"
-msgstr "Ik accepteer de %s van deze RedMatrix-hub"
-
-#: ../../mod/register.php:189
-#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Ik accepteer de %s van deze RedMatrix-hub"
-
-#: ../../mod/register.php:203 ../../mod/admin.php:415
-msgid "Registration"
-msgstr "Registratie"
-
-#: ../../mod/register.php:208
-msgid "Membership on this site is by invitation only."
-msgstr "Registreren op deze RedMatrix-hub kan alleen op uitnodiging."
-
-#: ../../mod/register.php:209
-msgid "Please enter your invitation code"
-msgstr "Vul jouw uitnodigingscode in"
-
-#: ../../mod/register.php:212
-msgid "Your email address"
-msgstr "Jouw e-mailadres"
-
-#: ../../mod/register.php:213
-msgid "Choose a password"
-msgstr "Geef een wachtwoord op"
-
-#: ../../mod/register.php:214
-msgid "Please re-enter your password"
-msgstr "Geef het wachtwoord opnieuw op"
-
#: ../../mod/chatsvc.php:111
msgid "Away"
msgstr "Afwezig"
@@ -5058,6 +4652,39 @@ msgstr "Online"
msgid "Please login."
msgstr "Inloggen."
+#: ../../mod/editpost.php:20 ../../mod/editblock.php:79
+#: ../../mod/editblock.php:95 ../../mod/editlayout.php:78
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
+msgstr "Item niet gevonden"
+
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "Item is niet te bewerken"
+
+#: ../../mod/editpost.php:42 ../../mod/rpost.php:97
+msgid "Edit post"
+msgstr "Bericht bewerken"
+
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
+msgstr "Item verwijderen?"
+
+#: ../../mod/editpost.php:116 ../../mod/editblock.php:147
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:178
+msgid "Insert YouTube video"
+msgstr "YouTube-video invoegen"
+
+#: ../../mod/editpost.php:117 ../../mod/editblock.php:148
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:179
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Vorbis-video [.ogg] invoegen"
+
+#: ../../mod/editpost.php:118 ../../mod/editblock.php:149
+#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:180
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Vorbis-audio [.ogg] invoegen"
+
#: ../../mod/removeme.php:29
msgid ""
"Channel removals are not allowed within 48 hours of changing the account "
@@ -5130,86 +4757,650 @@ msgstr "Vul jouw kanaaladres in (bijv. channel@example.com)"
msgid "Authenticate"
msgstr "Authenticeren"
-#: ../../mod/connect.php:55 ../../mod/connect.php:103
-msgid "Continue"
-msgstr "Ga verder"
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr "Geen geldige account gevonden."
-#: ../../mod/connect.php:84
-msgid "Premium Channel Setup"
-msgstr "Instellen premiumkanaal "
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail."
-#: ../../mod/connect.php:86
-msgid "Enable premium channel connection restrictions"
-msgstr "Restricties voor connecties van premiumkanaal toestaan"
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Lid van hub (%s)"
-#: ../../mod/connect.php:87
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend"
+
+#: ../../mod/lostpass.php:63
msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, gebruikersvoorschriften, enz."
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."
+
+#: ../../mod/lostpass.php:85 ../../boot.php:1550
+msgid "Password Reset"
+msgstr "Wachtwoord vergeten?"
+
+#: ../../mod/lostpass.php:86
+msgid "Your password has been reset as requested."
+msgstr "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht."
+
+#: ../../mod/lostpass.php:87
+msgid "Your new password is"
+msgstr "Jouw nieuwe wachtwoord is"
+
+#: ../../mod/lostpass.php:88
+msgid "Save or copy your new password - and then"
+msgstr "Kopieer of sla je nieuwe wachtwoord op - en"
+
+#: ../../mod/lostpass.php:89
+msgid "click here to login"
+msgstr "klik dan hier om in te loggen"
-#: ../../mod/connect.php:89 ../../mod/connect.php:109
+#: ../../mod/lostpass.php:90
msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:"
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd."
+
+#: ../../mod/lostpass.php:107
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Jouw wachtwoord op %s is veranderd"
+
+#: ../../mod/lostpass.php:122
+msgid "Forgot your Password?"
+msgstr "Wachtwoord vergeten?"
-#: ../../mod/connect.php:90
+#: ../../mod/lostpass.php:123
msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:"
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies."
-#: ../../mod/connect.php:91 ../../mod/connect.php:112
+#: ../../mod/lostpass.php:124
+msgid "Email Address"
+msgstr "E-mailadres"
+
+#: ../../mod/lostpass.php:125
+msgid "Reset"
+msgstr "Opnieuw instellen"
+
+#: ../../mod/settings.php:73
+msgid "Name is required"
+msgstr "Naam is vereist"
+
+#: ../../mod/settings.php:77
+msgid "Key and Secret are required"
+msgstr "Key en secret zijn vereist"
+
+#: ../../mod/settings.php:222
+msgid "Passwords do not match. Password unchanged."
+msgstr "Wachtwoorden komen niet overeen. Wachtwoord onveranderd."
+
+#: ../../mod/settings.php:226
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd."
+
+#: ../../mod/settings.php:240
+msgid "Password changed."
+msgstr "Wachtwoord veranderd."
+
+#: ../../mod/settings.php:242
+msgid "Password update failed. Please try again."
+msgstr "Bijwerken wachtwoord mislukt. Probeer opnieuw."
+
+#: ../../mod/settings.php:256
+msgid "Not valid email."
+msgstr "Geen geldig e-mailadres."
+
+#: ../../mod/settings.php:259
+msgid "Protected email address. Cannot change to that email."
+msgstr "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken."
+
+#: ../../mod/settings.php:268
+msgid "System failure storing new email. Please try again."
+msgstr "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer."
+
+#: ../../mod/settings.php:507
+msgid "Settings updated."
+msgstr "Instellingen bijgewerkt."
+
+#: ../../mod/settings.php:576 ../../mod/settings.php:602
+#: ../../mod/settings.php:638
+msgid "Add application"
+msgstr "Applicatie toevoegen"
+
+#: ../../mod/settings.php:579
+msgid "Name of application"
+msgstr "Naam van applicatie"
+
+#: ../../mod/settings.php:580 ../../mod/settings.php:606
+msgid "Consumer Key"
+msgstr "Consumer key"
+
+#: ../../mod/settings.php:580 ../../mod/settings.php:581
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20"
+
+#: ../../mod/settings.php:581 ../../mod/settings.php:607
+msgid "Consumer Secret"
+msgstr "Consumer secret"
+
+#: ../../mod/settings.php:582 ../../mod/settings.php:608
+msgid "Redirect"
+msgstr "Redirect/doorverwijzing"
+
+#: ../../mod/settings.php:582
msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina."
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist"
-#: ../../mod/connect.php:100
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) "
+#: ../../mod/settings.php:583 ../../mod/settings.php:609
+msgid "Icon url"
+msgstr "URL van pictogram"
-#: ../../mod/connect.php:108
-msgid "Restricted or Premium Channel"
-msgstr "Beperkt of premiumkanaal"
+#: ../../mod/settings.php:583
+msgid "Optional"
+msgstr "Optioneel"
-#: ../../mod/network.php:79
-msgid "No such group"
-msgstr "Collectie niet gevonden"
+#: ../../mod/settings.php:594
+msgid "You can't edit this application."
+msgstr "Je kan deze applicatie niet bewerken"
-#: ../../mod/network.php:118
-msgid "Search Results For:"
-msgstr "Zoekresultaten voor:"
+#: ../../mod/settings.php:637
+msgid "Connected Apps"
+msgstr "Verbonden applicaties"
-#: ../../mod/network.php:172
-msgid "Collection is empty"
-msgstr "Collectie is leeg"
+#: ../../mod/settings.php:641
+msgid "Client key starts with"
+msgstr "Client key begint met"
-#: ../../mod/network.php:180
-msgid "Collection: "
-msgstr "Collectie: "
+#: ../../mod/settings.php:642
+msgid "No name"
+msgstr "Geen naam"
-#: ../../mod/network.php:193
-msgid "Connection: "
-msgstr "Connectie: "
+#: ../../mod/settings.php:643
+msgid "Remove authorization"
+msgstr "Autorisatie verwijderen"
-#: ../../mod/network.php:196
-msgid "Invalid connection."
-msgstr "Ongeldige connectie."
+#: ../../mod/settings.php:654
+msgid "No feature settings configured"
+msgstr "Geen plugin-instellingen ingesteld"
+
+#: ../../mod/settings.php:662
+msgid "Feature Settings"
+msgstr "Plugin-instellingen"
+
+#: ../../mod/settings.php:685
+msgid "Account Settings"
+msgstr "Account-instellingen"
+
+#: ../../mod/settings.php:686
+msgid "Password Settings"
+msgstr "Wachtwoord-instellingen"
+
+#: ../../mod/settings.php:687
+msgid "New Password:"
+msgstr "Nieuw wachtwoord:"
+
+#: ../../mod/settings.php:688
+msgid "Confirm:"
+msgstr "Bevestigen:"
+
+#: ../../mod/settings.php:688
+msgid "Leave password fields blank unless changing"
+msgstr "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen"
+
+#: ../../mod/settings.php:690 ../../mod/settings.php:1023
+msgid "Email Address:"
+msgstr "E-mailadres:"
+
+#: ../../mod/settings.php:691 ../../mod/removeaccount.php:61
+msgid "Remove Account"
+msgstr "Account verwijderen"
+
+#: ../../mod/settings.php:692
+msgid "Remove this account from this server including all its channels"
+msgstr "Dit account en al zijn kanalen van deze RedMatrix-hub verwijderen"
+
+#: ../../mod/settings.php:693 ../../mod/settings.php:1104
+msgid "Warning: This action is permanent and cannot be reversed."
+msgstr "Waarschuwing: Deze handeling is van permanente aard en kan niet meer worden teruggedraaid."
+
+#: ../../mod/settings.php:709
+msgid "Off"
+msgstr "Uit"
+
+#: ../../mod/settings.php:709
+msgid "On"
+msgstr "Aan"
+
+#: ../../mod/settings.php:716
+msgid "Additional Features"
+msgstr "Extra functies"
+
+#: ../../mod/settings.php:740
+msgid "Connector Settings"
+msgstr "Instellingen externe koppelingen"
+
+#: ../../mod/settings.php:779
+msgid "No special theme for mobile devices"
+msgstr "Geen speciaal thema voor mobiele apparaten"
+
+#: ../../mod/settings.php:782
+#, php-format
+msgid "%s - (Experimental)"
+msgstr "%s - (experimenteel)"
+
+#: ../../mod/settings.php:785 ../../mod/admin.php:363
+msgid "mobile"
+msgstr "mobiel"
+
+#: ../../mod/settings.php:821
+msgid "Display Settings"
+msgstr "Weergave-instellingen"
+
+#: ../../mod/settings.php:827
+msgid "Display Theme:"
+msgstr "Gebruik thema:"
+
+#: ../../mod/settings.php:828
+msgid "Mobile Theme:"
+msgstr "Mobiel thema:"
+
+#: ../../mod/settings.php:829
+msgid "Enable user zoom on mobile devices"
+msgstr "Inzoomen op smartphones en tablets toestaan"
+
+#: ../../mod/settings.php:830
+msgid "Update browser every xx seconds"
+msgstr "Ververs de webbrowser om de zoveel seconde"
+
+#: ../../mod/settings.php:830
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimaal 10 seconde, geen maximum"
+
+#: ../../mod/settings.php:831
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Maximaal aantal conversaties die per keer geladen worden:"
+
+#: ../../mod/settings.php:831
+msgid "Maximum of 100 items"
+msgstr "Maximaal 100 conversaties"
+
+#: ../../mod/settings.php:832
+msgid "Don't show emoticons"
+msgstr "Geen emoticons weergeven"
+
+#: ../../mod/settings.php:833
+msgid "Link post titles to source"
+msgstr "Berichtkoppen naar originele locatie linken"
+
+#: ../../mod/settings.php:834
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Lay-out bewerken van systeempagina's (geavanceerd)"
+
+#: ../../mod/settings.php:837
+msgid "Use blog/list mode on channel page"
+msgstr "Gebruik blog/lijst-modus op kanaalpagina"
+
+#: ../../mod/settings.php:837 ../../mod/settings.php:838
+msgid "(comments displayed separately)"
+msgstr "(reacties worden afzonderlijk weergeven)"
+
+#: ../../mod/settings.php:838
+msgid "Use blog/list mode on matrix page"
+msgstr "Gebruik blog/lijst-modus op matrixpagina"
+
+#: ../../mod/settings.php:839
+msgid "Channel page max height of content (in pixels)"
+msgstr "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)"
+
+#: ../../mod/settings.php:839 ../../mod/settings.php:840
+msgid "click to expand content exceeding this height"
+msgstr "klik om inhoud uit te klappen die deze hoogte overschrijdt"
+
+#: ../../mod/settings.php:840
+msgid "Matrix page max height of content (in pixels)"
+msgstr "Maximale hoogte berichtinhoud op matrixpagina (in pixels)"
+
+#: ../../mod/settings.php:874
+msgid "Nobody except yourself"
+msgstr "Niemand, behalve jezelf"
+
+#: ../../mod/settings.php:875
+msgid "Only those you specifically allow"
+msgstr "Alleen connecties met uitdrukkelijke toestemming"
+
+#: ../../mod/settings.php:876
+msgid "Approved connections"
+msgstr "Geaccepteerde connecties"
+
+#: ../../mod/settings.php:877
+msgid "Any connections"
+msgstr "Alle connecties"
+
+#: ../../mod/settings.php:878
+msgid "Anybody on this website"
+msgstr "Iedereen op deze hub"
+
+#: ../../mod/settings.php:879
+msgid "Anybody in this network"
+msgstr "Iedereen in dit netwerk"
+
+#: ../../mod/settings.php:880
+msgid "Anybody authenticated"
+msgstr "Geauthenticeerd"
+
+#: ../../mod/settings.php:881
+msgid "Anybody on the internet"
+msgstr "Iedereen op het internet"
+
+#: ../../mod/settings.php:955
+msgid "Publish your default profile in the network directory"
+msgstr "Publiceer je standaardprofiel in de kanalengids"
+
+#: ../../mod/settings.php:960
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen"
+
+#: ../../mod/settings.php:964 ../../mod/profile_photo.php:365
+msgid "or"
+msgstr "of"
+
+#: ../../mod/settings.php:969
+msgid "Your channel address is"
+msgstr "Jouw kanaaladres is"
+
+#: ../../mod/settings.php:1014
+msgid "Channel Settings"
+msgstr "Kanaal-instellingen"
+
+#: ../../mod/settings.php:1021
+msgid "Basic Settings"
+msgstr "Basis-instellingen"
+
+#: ../../mod/settings.php:1024
+msgid "Your Timezone:"
+msgstr "Jouw tijdzone:"
+
+#: ../../mod/settings.php:1025
+msgid "Default Post Location:"
+msgstr "Standaardlocatie bericht:"
+
+#: ../../mod/settings.php:1025
+msgid "Geographical location to display on your posts"
+msgstr "Geografische locatie die bij het bericht moet worden vermeld"
+
+#: ../../mod/settings.php:1026
+msgid "Use Browser Location:"
+msgstr "Locatie van webbrowser gebruiken:"
+
+#: ../../mod/settings.php:1028
+msgid "Adult Content"
+msgstr "Inhoud voor volwassenen"
+
+#: ../../mod/settings.php:1028
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassenen. (Gebruik de tag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)"
+
+#: ../../mod/settings.php:1030
+msgid "Security and Privacy Settings"
+msgstr "Veiligheids- en privacy-instellingen"
+
+#: ../../mod/settings.php:1032
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen."
+
+#: ../../mod/settings.php:1034
+msgid "Hide my online presence"
+msgstr "Verberg mijn aanwezigheid"
+
+#: ../../mod/settings.php:1034
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Voorkomt dat op je kanaal te zien valt dat je momenteel op de RedMatrix aanwezig bent"
+
+#: ../../mod/settings.php:1036
+msgid "Simple Privacy Settings:"
+msgstr "Eenvoudige privacy-instellingen:"
+
+#: ../../mod/settings.php:1037
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>"
+
+#: ../../mod/settings.php:1038
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>"
+
+#: ../../mod/settings.php:1039
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Privé <em>(standaard privé en nooit openbaar)</em>"
+
+#: ../../mod/settings.php:1040
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>"
+
+#: ../../mod/settings.php:1042
+msgid "Allow others to tag your posts"
+msgstr "Anderen toestaan om je berichten te taggen"
+
+#: ../../mod/settings.php:1042
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren"
+
+#: ../../mod/settings.php:1044
+msgid "Advanced Privacy Settings"
+msgstr "Geavanceerde privacy-instellingen"
+
+#: ../../mod/settings.php:1046
+msgid "Expire other channel content after this many days"
+msgstr "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:"
+
+#: ../../mod/settings.php:1046
+msgid "0 or blank prevents expiration"
+msgstr "0 of leeg voorkomt het verlopen"
+
+#: ../../mod/settings.php:1047
+msgid "Maximum Friend Requests/Day:"
+msgstr "Maximum aantal connectieverzoeken per dag:"
+
+#: ../../mod/settings.php:1047
+msgid "May reduce spam activity"
+msgstr "Kan eventuele spam verminderen"
+
+#: ../../mod/settings.php:1048
+msgid "Default Post Permissions"
+msgstr "Standaard permissies voor nieuwe berichten"
+
+#: ../../mod/settings.php:1053
+msgid "Channel permissions category:"
+msgstr "Kanaaltype en -permissies:"
+
+#: ../../mod/settings.php:1059
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Maximum aantal privé-berichten per dag van onbekende personen:"
+
+#: ../../mod/settings.php:1059
+msgid "Useful to reduce spamming"
+msgstr "Kan eventuele spam verminderen"
+
+#: ../../mod/settings.php:1062
+msgid "Notification Settings"
+msgstr "Notificatie-instellingen"
+
+#: ../../mod/settings.php:1063
+msgid "By default post a status message when:"
+msgstr "Plaats automatisch een statusbericht wanneer:"
+
+#: ../../mod/settings.php:1064
+msgid "accepting a friend request"
+msgstr "Een connectieverzoek wordt geaccepteerd"
+
+#: ../../mod/settings.php:1065
+msgid "joining a forum/community"
+msgstr "Je lid wordt van een forum/groep"
+
+#: ../../mod/settings.php:1066
+msgid "making an <em>interesting</em> profile change"
+msgstr "Er sprake is van een <em>interessante</em> profielwijziging"
+
+#: ../../mod/settings.php:1067
+msgid "Send a notification email when:"
+msgstr "Verzend een notificatie per e-mail wanneer:"
+
+#: ../../mod/settings.php:1068
+msgid "You receive a connection request"
+msgstr "Je een connectieverzoek ontvangt"
+
+#: ../../mod/settings.php:1069
+msgid "Your connections are confirmed"
+msgstr "Jouw connecties zijn bevestigd"
+
+#: ../../mod/settings.php:1070
+msgid "Someone writes on your profile wall"
+msgstr "Iemand iets op jouw kanaal heeft geschreven"
+
+#: ../../mod/settings.php:1071
+msgid "Someone writes a followup comment"
+msgstr "Iemand een reactie schrijft"
+
+#: ../../mod/settings.php:1072
+msgid "You receive a private message"
+msgstr "Je een privé-bericht ontvangt"
+
+#: ../../mod/settings.php:1073
+msgid "You receive a friend suggestion"
+msgstr "Je een kanaalvoorstel ontvangt"
+
+#: ../../mod/settings.php:1074
+msgid "You are tagged in a post"
+msgstr "Je expliciet in een bericht bent genoemd"
+
+#: ../../mod/settings.php:1075
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Je bent in een bericht aangestoten/gepord/etc."
+
+#: ../../mod/settings.php:1078
+msgid "Show visual notifications including:"
+msgstr "Toon de volgende zichtbare notificaties:"
+
+#: ../../mod/settings.php:1080
+msgid "Unseen matrix activity"
+msgstr "Niet bekeken matrix-activiteit"
+
+#: ../../mod/settings.php:1081
+msgid "Unseen channel activity"
+msgstr "Niet bekeken kanaal-activiteit"
+
+#: ../../mod/settings.php:1082
+msgid "Unseen private messages"
+msgstr "Niet bekeken privéberichten"
+
+#: ../../mod/settings.php:1082 ../../mod/settings.php:1087
+#: ../../mod/settings.php:1088 ../../mod/settings.php:1089
+msgid "Recommended"
+msgstr "Aanbevolen"
+
+#: ../../mod/settings.php:1083
+msgid "Upcoming events"
+msgstr "Aankomende gebeurtenissen"
+
+#: ../../mod/settings.php:1084
+msgid "Events today"
+msgstr "Gebeurtissen van vandaag"
+
+#: ../../mod/settings.php:1085
+msgid "Upcoming birthdays"
+msgstr "Aankomende verjaardagen"
+
+#: ../../mod/settings.php:1085
+msgid "Not available in all themes"
+msgstr "Niet in alle thema's beschikbaar"
+
+#: ../../mod/settings.php:1086
+msgid "System (personal) notifications"
+msgstr "(Persoonlijke) systeemnotificaties"
+
+#: ../../mod/settings.php:1087
+msgid "System info messages"
+msgstr "Systeemmededelingen"
+
+#: ../../mod/settings.php:1088
+msgid "System critical alerts"
+msgstr "Kritische systeemwaarschuwingen"
+
+#: ../../mod/settings.php:1089
+msgid "New connections"
+msgstr "Nieuwe connecties"
+
+#: ../../mod/settings.php:1090
+msgid "System Registrations"
+msgstr "Nieuwe accountregistraties op deze hub"
+
+#: ../../mod/settings.php:1091
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr "Toon tevens nieuwe kanaalberichten, privéberichten en connecties onder Notificaties"
+
+#: ../../mod/settings.php:1093
+msgid "Notify me of events this many days in advance"
+msgstr "Herinner mij zoveel dagen van te voren aan gebeurtenissen"
+
+#: ../../mod/settings.php:1093
+msgid "Must be greater than 0"
+msgstr "Moet hoger dan 0 zijn"
+
+#: ../../mod/settings.php:1095
+msgid "Advanced Account/Page Type Settings"
+msgstr "Instellingen geavanceerd account/paginatype"
+
+#: ../../mod/settings.php:1096
+msgid "Change the behaviour of this account for special situations"
+msgstr "Verander het gedrag van dit account voor speciale situaties"
+
+#: ../../mod/settings.php:1099
+msgid ""
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!"
+
+#: ../../mod/settings.php:1100
+msgid "Miscellaneous Settings"
+msgstr "Diverse instellingen"
+
+#: ../../mod/settings.php:1102
+msgid "Personal menu to display in your channel pages"
+msgstr "Persoonlijk menu om op je kanaalpagina's weer te geven"
+
+#: ../../mod/settings.php:1103
+msgid "Remove this channel"
+msgstr "Verwijder dit kanaal"
#: ../../mod/connections.php:37 ../../mod/connedit.php:64
msgid "Could not access contact record."
msgstr "Kon geen toegang krijgen tot de connectie-gegevens."
-#: ../../mod/connections.php:51 ../../mod/connedit.php:78
+#: ../../mod/connections.php:51 ../../mod/connedit.php:86
msgid "Could not locate selected profile."
msgstr "Kon het gekozen profiel niet vinden."
-#: ../../mod/connections.php:94 ../../mod/connedit.php:132
+#: ../../mod/connections.php:94 ../../mod/connedit.php:140
msgid "Connection updated."
msgstr "Connectie bijgewerkt."
-#: ../../mod/connections.php:96 ../../mod/connedit.php:134
+#: ../../mod/connections.php:96 ../../mod/connedit.php:142
msgid "Failed to update connection record."
msgstr "Bijwerken van connectie-gegevens mislukt."
@@ -5290,246 +5481,274 @@ msgstr "Doorzoek jouw connecties"
msgid "Finding: "
msgstr "Zoeken naar: "
-#: ../../mod/rpost.php:97 ../../mod/editpost.php:42
-msgid "Edit post"
-msgstr "Bericht bewerken"
+#: ../../mod/manage.php:138
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt."
+
+#: ../../mod/manage.php:146
+msgid "Create a new channel"
+msgstr "Nieuw kanaal aanmaken"
+
+#: ../../mod/manage.php:151
+msgid "Current Channel"
+msgstr "Huidig kanaal"
-#: ../../mod/connedit.php:181
+#: ../../mod/manage.php:153
+msgid "Switch to one of your channels by selecting it."
+msgstr "Activeer een van jouw andere kanalen door er op te klikken."
+
+#: ../../mod/manage.php:154
+msgid "Default Channel"
+msgstr "Standaardkanaal"
+
+#: ../../mod/manage.php:155
+msgid "Make Default"
+msgstr "Als standaard instellen"
+
+#: ../../mod/manage.php:158
+#, php-format
+msgid "%d new messages"
+msgstr "%d nieuwe berichten"
+
+#: ../../mod/manage.php:159
+#, php-format
+msgid "%d new introductions"
+msgstr "%d nieuwe connectieverzoeken"
+
+#: ../../mod/connedit.php:189
msgid "is now connected to"
msgstr "is nu verbonden met"
-#: ../../mod/connedit.php:296
+#: ../../mod/connedit.php:310
msgid "Could not access address book record."
msgstr "Kon geen toegang krijgen tot de record van de connectie."
-#: ../../mod/connedit.php:310
+#: ../../mod/connedit.php:324
msgid "Refresh failed - channel is currently unavailable."
msgstr "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar"
-#: ../../mod/connedit.php:317
+#: ../../mod/connedit.php:331
msgid "Channel has been unblocked"
msgstr "Kanaal is gedeblokkeerd"
-#: ../../mod/connedit.php:318
+#: ../../mod/connedit.php:332
msgid "Channel has been blocked"
msgstr "Kanaal is geblokkeerd"
-#: ../../mod/connedit.php:322 ../../mod/connedit.php:334
-#: ../../mod/connedit.php:346 ../../mod/connedit.php:358
-#: ../../mod/connedit.php:374
+#: ../../mod/connedit.php:336 ../../mod/connedit.php:348
+#: ../../mod/connedit.php:360 ../../mod/connedit.php:372
+#: ../../mod/connedit.php:388
msgid "Unable to set address book parameters."
msgstr "Niet in staat om de parameters van connecties in te stellen."
-#: ../../mod/connedit.php:329
+#: ../../mod/connedit.php:343
msgid "Channel has been unignored"
msgstr "Kanaal wordt niet meer genegeerd"
-#: ../../mod/connedit.php:330
+#: ../../mod/connedit.php:344
msgid "Channel has been ignored"
msgstr "Kanaal wordt genegeerd"
-#: ../../mod/connedit.php:341
+#: ../../mod/connedit.php:355
msgid "Channel has been unarchived"
msgstr "Kanaal is niet meer gearchiveerd"
-#: ../../mod/connedit.php:342
+#: ../../mod/connedit.php:356
msgid "Channel has been archived"
msgstr "Kanaal is gearchiveerd"
-#: ../../mod/connedit.php:353
+#: ../../mod/connedit.php:367
msgid "Channel has been unhidden"
msgstr "Kanaal is niet meer verborgen"
-#: ../../mod/connedit.php:354
+#: ../../mod/connedit.php:368
msgid "Channel has been hidden"
msgstr "Kanaal is verborgen"
-#: ../../mod/connedit.php:369
+#: ../../mod/connedit.php:383
msgid "Channel has been approved"
msgstr "Connectie/kanaal is geaccepteerd"
-#: ../../mod/connedit.php:370
+#: ../../mod/connedit.php:384
msgid "Channel has been unapproved"
msgstr "Connectie/kanaal is afgewezen"
-#: ../../mod/connedit.php:398
+#: ../../mod/connedit.php:412
msgid "Connection has been removed."
msgstr "Connectie is verwijderd"
-#: ../../mod/connedit.php:418
+#: ../../mod/connedit.php:432
#, php-format
msgid "View %s's profile"
msgstr "Profiel van %s weergeven"
-#: ../../mod/connedit.php:422
+#: ../../mod/connedit.php:436
msgid "Refresh Permissions"
msgstr "Permissies vernieuwen"
-#: ../../mod/connedit.php:425
+#: ../../mod/connedit.php:439
msgid "Fetch updated permissions"
msgstr "Aangepaste permissies ophalen"
-#: ../../mod/connedit.php:429
+#: ../../mod/connedit.php:443
msgid "Recent Activity"
msgstr "Recente activiteit"
-#: ../../mod/connedit.php:432
+#: ../../mod/connedit.php:446
msgid "View recent posts and comments"
msgstr "Recente berichten en reacties weergeven"
-#: ../../mod/connedit.php:436 ../../mod/connedit.php:579
-#: ../../mod/admin.php:734
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:595
+#: ../../mod/admin.php:732
msgid "Unblock"
msgstr "Deblokkeren"
-#: ../../mod/connedit.php:436 ../../mod/connedit.php:579
-#: ../../mod/admin.php:733
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:595
+#: ../../mod/admin.php:731
msgid "Block"
msgstr "Blokkeren"
-#: ../../mod/connedit.php:439
+#: ../../mod/connedit.php:453
msgid "Block or Unblock this connection"
msgstr "Deze connectie blokkeren of deblokkeren"
-#: ../../mod/connedit.php:443 ../../mod/connedit.php:580
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:596
msgid "Unignore"
msgstr "Niet meer negeren"
-#: ../../mod/connedit.php:443 ../../mod/connedit.php:580
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:596
#: ../../mod/notifications.php:51
msgid "Ignore"
msgstr "Negeren"
-#: ../../mod/connedit.php:446
+#: ../../mod/connedit.php:460
msgid "Ignore or Unignore this connection"
msgstr "Deze connectie negeren of niet meer negeren"
-#: ../../mod/connedit.php:449
+#: ../../mod/connedit.php:463
msgid "Unarchive"
msgstr "Niet meer archiveren"
-#: ../../mod/connedit.php:449
+#: ../../mod/connedit.php:463
msgid "Archive"
msgstr "Archiveren"
-#: ../../mod/connedit.php:452
+#: ../../mod/connedit.php:466
msgid "Archive or Unarchive this connection"
msgstr "Deze connectie archiveren of niet meer archiveren"
-#: ../../mod/connedit.php:455
+#: ../../mod/connedit.php:469
msgid "Unhide"
msgstr "Niet meer verbergen"
-#: ../../mod/connedit.php:455
+#: ../../mod/connedit.php:469
msgid "Hide"
msgstr "Verbergen"
-#: ../../mod/connedit.php:458
+#: ../../mod/connedit.php:472
msgid "Hide or Unhide this connection"
msgstr "Deze connectie verbergen of niet meer verbergen"
-#: ../../mod/connedit.php:465
+#: ../../mod/connedit.php:479
msgid "Delete this connection"
msgstr "Deze connectie verwijderen"
-#: ../../mod/connedit.php:508 ../../mod/connedit.php:537
+#: ../../mod/connedit.php:523 ../../mod/connedit.php:553
msgid "Approve this connection"
msgstr "Deze connectie accepteren"
-#: ../../mod/connedit.php:508
+#: ../../mod/connedit.php:523
msgid "Accept connection to allow communication"
msgstr "Keur deze connectie goed om communicatie toe te staan"
-#: ../../mod/connedit.php:524
-msgid "Automatic Permissions Settings"
-msgstr "Automatische permissies"
-
-#: ../../mod/connedit.php:524
+#: ../../mod/connedit.php:539
#, php-format
msgid "Connections: settings for %s"
msgstr "Connecties: instellingen voor %s"
-#: ../../mod/connedit.php:528
-msgid ""
-"When receiving a channel introduction, any permissions provided here will be"
-" applied to the new connection automatically and the introduction approved. "
-"Leave this page if you do not wish to use this feature."
-msgstr "Wanneer je een connectieverzoek voor een kanaal ontvangt, zullen alle permissies hier automatisch op de nieuwe connectie worden toegepast en het connectieverzoek worden geaccepteerd. Verlaat deze pagina wanneer je geen gebruik wil maken van deze functie."
+#: ../../mod/connedit.php:540
+msgid "Apply these permissions automatically"
+msgstr "Deze permissies automatisch toepassen"
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:544
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr "Permissies die op deze pagina staan vermeldt op alle nieuwe connecties toepassen."
+
+#: ../../mod/connedit.php:546
msgid "Slide to adjust your degree of friendship"
msgstr "Schuif om te bepalen hoe goed je iemand kent en/of mag"
-#: ../../mod/connedit.php:536
+#: ../../mod/connedit.php:552
msgid "inherited"
msgstr "geërfd"
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:554
msgid "Connection has no individual permissions!"
msgstr "Connectie heeft geen individuele permissies!"
-#: ../../mod/connedit.php:539
+#: ../../mod/connedit.php:555
msgid ""
"This may be appropriate based on your <a href=\"settings\">privacy "
"settings</a>, though you may wish to review the \"Advanced Permissions\"."
msgstr "Dit is mogelijk voldoende, wanneer er naar jouw <a href=\"settings\">privacy-instellingen</a> wordt gekeken. Hoewel je wellicht de geavanceerde rechten wil nagaan."
-#: ../../mod/connedit.php:541
+#: ../../mod/connedit.php:557
msgid "Profile Visibility"
msgstr "Zichtbaarheid profiel"
-#: ../../mod/connedit.php:542
+#: ../../mod/connedit.php:558
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken."
-#: ../../mod/connedit.php:543
+#: ../../mod/connedit.php:559
msgid "Contact Information / Notes"
msgstr "Informatie/aantekeningen over connectie"
-#: ../../mod/connedit.php:544
+#: ../../mod/connedit.php:560
msgid "Edit contact notes"
msgstr "Bewerk aantekeningen over contact"
-#: ../../mod/connedit.php:546
+#: ../../mod/connedit.php:562
msgid "Their Settings"
msgstr "Hun instellingen"
-#: ../../mod/connedit.php:547
+#: ../../mod/connedit.php:563
msgid "My Settings"
msgstr "Mijn instellingen"
-#: ../../mod/connedit.php:549
+#: ../../mod/connedit.php:565
msgid "Clear/Disable Automatic Permissions"
msgstr "Verwijderen/uitschakelen automatische permissies"
-#: ../../mod/connedit.php:550
+#: ../../mod/connedit.php:566
msgid "Forum Members"
-msgstr "Forum/groepsleden"
+msgstr "Forumleden"
-#: ../../mod/connedit.php:551
+#: ../../mod/connedit.php:567
msgid "Soapbox"
msgstr "Zeepkist"
-#: ../../mod/connedit.php:552
+#: ../../mod/connedit.php:568
msgid "Full Sharing (typical social network permissions)"
msgstr "Voluit delen (vergelijkbaar met die van sociale netwerken)"
-#: ../../mod/connedit.php:553
+#: ../../mod/connedit.php:569
msgid "Cautious Sharing "
msgstr "Voorzichtig delen"
-#: ../../mod/connedit.php:554
+#: ../../mod/connedit.php:570
msgid "Follow Only"
msgstr "Alleen volgen"
-#: ../../mod/connedit.php:555
+#: ../../mod/connedit.php:571
msgid "Individual Permissions"
msgstr "Individuele permissies"
-#: ../../mod/connedit.php:556
+#: ../../mod/connedit.php:572
msgid ""
"Some permissions may be inherited from your channel <a "
"href=\"settings\">privacy settings</a>, which have higher priority than "
@@ -5537,908 +5756,1104 @@ msgid ""
"have no effect."
msgstr "Sommige permissies kunnen worden overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal. Wanneer je deze geërfde instellingen op deze pagina veranderd heeft dat geen effect."
-#: ../../mod/connedit.php:557
+#: ../../mod/connedit.php:573
msgid "Advanced Permissions"
msgstr "Geavanceerde permissies"
-#: ../../mod/connedit.php:558
+#: ../../mod/connedit.php:574
msgid "Simple Permissions (select one and submit)"
msgstr "Eenvoudige permissies (selecteer er één en opslaan)"
-#: ../../mod/connedit.php:562
+#: ../../mod/connedit.php:578
#, php-format
msgid "Visit %s's profile - %s"
msgstr "Profiel van %s bezoeken - %s"
-#: ../../mod/connedit.php:563
+#: ../../mod/connedit.php:579
msgid "Block/Unblock contact"
msgstr "Connectie blokkeren/deblokkeren"
-#: ../../mod/connedit.php:564
+#: ../../mod/connedit.php:580
msgid "Ignore contact"
msgstr "Connectie negeren"
-#: ../../mod/connedit.php:565
+#: ../../mod/connedit.php:581
msgid "Repair URL settings"
msgstr "URL-instellingen repareren"
-#: ../../mod/connedit.php:566
+#: ../../mod/connedit.php:582
msgid "View conversations"
msgstr "Conversaties weergeven"
-#: ../../mod/connedit.php:568
+#: ../../mod/connedit.php:584
msgid "Delete contact"
msgstr "Connectie verwijderen"
-#: ../../mod/connedit.php:571
+#: ../../mod/connedit.php:587
msgid "Last update:"
msgstr "Laatste wijziging:"
-#: ../../mod/connedit.php:573
+#: ../../mod/connedit.php:589
msgid "Update public posts"
msgstr "Openbare berichten updaten"
-#: ../../mod/connedit.php:575
+#: ../../mod/connedit.php:591
msgid "Update now"
msgstr "Nu updaten"
-#: ../../mod/connedit.php:581
+#: ../../mod/connedit.php:597
msgid "Currently blocked"
msgstr "Momenteel geblokkeerd"
-#: ../../mod/connedit.php:582
+#: ../../mod/connedit.php:598
msgid "Currently ignored"
msgstr "Momenteel genegeerd"
-#: ../../mod/connedit.php:583
+#: ../../mod/connedit.php:599
msgid "Currently archived"
msgstr "Momenteel gearchiveerd"
-#: ../../mod/connedit.php:584
+#: ../../mod/connedit.php:600
msgid "Currently pending"
msgstr "Moeten nog geaccepteerd of afgewezen worden"
-#: ../../mod/connedit.php:585
+#: ../../mod/connedit.php:601
msgid "Hide this contact from others"
msgstr "Verberg deze connectie voor anderen"
-#: ../../mod/connedit.php:585
+#: ../../mod/connedit.php:601
msgid ""
"Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr "Reacties/vind-ik-leuks op jouw openbare berichten <strong>kunnen</strong> zichtbaar blijven"
-#: ../../mod/delegate.php:95
-msgid "No potential page delegates located."
-msgstr "Geen gevolmachtigde personen gevonden waaraan mogelijk het accountbeheer kan worden uitbesteed."
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr "Niet in staat om ontvanger op te zoeken."
-#: ../../mod/delegate.php:121
-msgid "Delegate Page Management"
-msgstr "Accountbeheer uitbesteden"
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr "Niet in staat om met het aangevraagde kanaal te communiceren."
-#: ../../mod/delegate.php:123
-msgid ""
-"Delegates are able to manage all aspects of this account/page except for "
-"basic account settings. Please do not delegate your personal account to "
-"anybody that you do not trust completely."
-msgstr "Gevolmachtigde personen zijn in staat om alle aspecten van dit account te beheren, behalve enkele basisinstellingen. Besteed het beheer van je persoonlijke account niet aan iemand uit die je niet volledig vertrouwd."
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr "Kan opgevraagd kanaal niet verifieren"
-#: ../../mod/delegate.php:124
-msgid "Existing Page Managers"
-msgstr "Bestaande accountbeheerders"
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt."
-#: ../../mod/delegate.php:126
-msgid "Existing Page Delegates"
-msgstr "Bestaande gevolmachtigde accountbeheerders"
+#: ../../mod/mail.php:136
+msgid "Message deleted."
+msgstr "Bericht verwijderd."
-#: ../../mod/delegate.php:128
-msgid "Potential Delegates"
-msgstr "Gevolmachtigde personen waaraan mogelijk het accountbeheer kan worden uitbesteed."
+#: ../../mod/mail.php:153
+msgid "Message recalled."
+msgstr "Bericht ingetrokken."
-#: ../../mod/delegate.php:131
-msgid "Add"
-msgstr "Toevoegen"
+#: ../../mod/mail.php:222
+msgid "Send Private Message"
+msgstr "Privébericht versturen"
-#: ../../mod/delegate.php:132
-msgid "No entries."
-msgstr "Geen"
+#: ../../mod/mail.php:223 ../../mod/mail.php:340
+msgid "To:"
+msgstr "Aan:"
-#: ../../mod/directory.php:146 ../../mod/dirprofile.php:95
-msgid "Gender: "
-msgstr "Geslacht:"
+#: ../../mod/mail.php:228 ../../mod/mail.php:342
+msgid "Subject:"
+msgstr "Onderwerp:"
-#: ../../mod/directory.php:223
-msgid "Finding:"
-msgstr "Gezocht naar:"
+#: ../../mod/mail.php:232 ../../mod/mail.php:345 ../../mod/invite.php:131
+msgid "Your message:"
+msgstr "Jouw bericht:"
-#: ../../mod/directory.php:228
-msgid "next page"
-msgstr "volgende pagina"
+#: ../../mod/mail.php:239
+msgid "Send"
+msgstr "Verzenden"
-#: ../../mod/directory.php:228
-msgid "previous page"
-msgstr "vorige pagina"
+#: ../../mod/mail.php:266
+msgid "Message not found."
+msgstr "Bericht niet gevonden"
-#: ../../mod/directory.php:245
-msgid "No entries (some entries may be hidden)."
-msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)."
+#: ../../mod/mail.php:309
+msgid "Delete message"
+msgstr "Bericht verwijderen"
-#: ../../mod/dirprofile.php:108
-msgid "Status: "
-msgstr "Status: "
+#: ../../mod/mail.php:310
+msgid "Recall message"
+msgstr "Bericht intrekken"
-#: ../../mod/dirprofile.php:109
-msgid "Sexual Preference: "
-msgstr "Seksuele voorkeur: "
+#: ../../mod/mail.php:312
+msgid "Message has been recalled."
+msgstr "Bericht is ingetrokken."
-#: ../../mod/dirprofile.php:111
-msgid "Homepage: "
-msgstr "Homepage: "
+#: ../../mod/mail.php:329
+msgid "Private Conversation"
+msgstr "Privéconversatie"
-#: ../../mod/dirprofile.php:112
-msgid "Hometown: "
-msgstr "Oorspronkelijk uit: "
+#: ../../mod/mail.php:333 ../../mod/message.php:72
+msgid "Delete conversation"
+msgstr "Verwijder conversatie"
-#: ../../mod/dirprofile.php:114
-msgid "About: "
-msgstr "Over: "
+#: ../../mod/mail.php:335
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender."
-#: ../../mod/dirprofile.php:162
-msgid "Keywords: "
-msgstr "Trefwoorden: "
+#: ../../mod/mail.php:339
+msgid "Send Reply"
+msgstr "Antwoord versturen"
+
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr "Bladwijzer toegevoegd"
+
+#: ../../mod/bookmarks.php:60
+msgid "My Bookmarks"
+msgstr "Mijn bladwijzers"
+
+#: ../../mod/bookmarks.php:71
+msgid "My Connections Bookmarks"
+msgstr "Bladwijzers van mijn connecties"
#: ../../mod/dirsearch.php:21
msgid "This site is not a directory server"
msgstr "Deze hub is geen kanalengidshub (directoryserver)"
-#: ../../mod/setup.php:162
+#: ../../mod/cloud.php:130
+msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
+msgstr "RedMatrix - gasttoegang: Toegangsnaam: {jouw e-mailadres}, wachtwoord: +++"
+
+#: ../../mod/acl.php:245
+msgid "network"
+msgstr "netwerk"
+
+#: ../../mod/blocks.php:99
+msgid "Block Name"
+msgstr "Bloknaam"
+
+#: ../../mod/editblock.php:115
+msgid "Edit Block"
+msgstr "Blok bewerken"
+
+#: ../../mod/editblock.php:125
+msgid "Delete block?"
+msgstr "Blok verwijderen"
+
+#: ../../mod/editblock.php:183
+msgid "Delete Block"
+msgstr "Blok verwijderen"
+
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
+msgstr "Lay-out bijgewerkt."
+
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
+msgstr "Systeempagina's bewerken"
+
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
+msgstr "Lay-out niet gevonden."
+
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
+msgstr "Modulenaam:"
+
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:107
+msgid "Layout Help"
+msgstr "Lay-out-hulp"
+
+#: ../../mod/editlayout.php:108
+msgid "Edit Layout"
+msgstr "Lay-out bewerken"
+
+#: ../../mod/editlayout.php:117
+msgid "Delete layout?"
+msgstr "Lay-out verwijderen?"
+
+#: ../../mod/editlayout.php:178
+msgid "Delete Layout"
+msgstr "Lay-out verwijderen"
+
+#: ../../mod/home.php:48
+msgid "Red Matrix - &quot;The Network&quot;"
+msgstr "RedMatrix - &quot;The Network&quot;"
+
+#: ../../mod/home.php:101
+#, php-format
+msgid "Welcome to %s"
+msgstr "Welkom op %s"
+
+#: ../../mod/editwebpage.php:140
+msgid "Edit Webpage"
+msgstr "Webpagina bewerken"
+
+#: ../../mod/editwebpage.php:150
+msgid "Delete webpage?"
+msgstr "Webpagina verwijderen?"
+
+#: ../../mod/editwebpage.php:215
+msgid "Delete Webpage"
+msgstr "Webpagina verwijderen"
+
+#: ../../mod/impel.php:33
+msgid "webpage"
+msgstr "Webpagina"
+
+#: ../../mod/impel.php:38
+msgid "block"
+msgstr "blok"
+
+#: ../../mod/impel.php:43
+msgid "layout"
+msgstr "lay-out"
+
+#: ../../mod/impel.php:117
+#, php-format
+msgid "%s element installed"
+msgstr "%s onderdeel geïnstalleerd"
+
+#: ../../mod/profile_photo.php:108
+msgid "Image uploaded but image cropping failed."
+msgstr "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. "
+
+#: ../../mod/profile_photo.php:161
+msgid "Image resize failed."
+msgstr "Afbeelding kon niet van grootte veranderd worden."
+
+#: ../../mod/profile_photo.php:205
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven."
+
+#: ../../mod/profile_photo.php:232
+#, php-format
+msgid "Image exceeds size limit of %d"
+msgstr "Afbeeldingsgrootte overschrijdt het limiet van %d"
+
+#: ../../mod/profile_photo.php:241
+msgid "Unable to process image."
+msgstr "Niet in staat om afbeelding te verwerken."
+
+#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
+msgid "Photo not available."
+msgstr "Foto niet beschikbaar."
+
+#: ../../mod/profile_photo.php:358
+msgid "Upload File:"
+msgstr "Bestand uploaden:"
+
+#: ../../mod/profile_photo.php:359
+msgid "Select a profile:"
+msgstr "Kies een profiel:"
+
+#: ../../mod/profile_photo.php:360
+msgid "Upload Profile Photo"
+msgstr "Profielfoto uploaden"
+
+#: ../../mod/profile_photo.php:365
+msgid "skip this step"
+msgstr "sla deze stap over"
+
+#: ../../mod/profile_photo.php:365
+msgid "select a photo from your photo albums"
+msgstr "Kies een foto uit jouw fotoalbums"
+
+#: ../../mod/profile_photo.php:381
+msgid "Crop Image"
+msgstr "Afbeelding bijsnijden"
+
+#: ../../mod/profile_photo.php:382
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven."
+
+#: ../../mod/profile_photo.php:384
+msgid "Done Editing"
+msgstr "Klaar met bewerken"
+
+#: ../../mod/profile_photo.php:427
+msgid "Image uploaded successfully."
+msgstr "Uploaden afbeelding geslaagd"
+
+#: ../../mod/profile_photo.php:429
+msgid "Image upload failed."
+msgstr "Uploaden afbeelding mislukt"
+
+#: ../../mod/profile_photo.php:438
+#, php-format
+msgid "Image size reduction [%s] failed."
+msgstr "Verkleinen [%s] van afbeelding mislukt."
+
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr "Leuk/niet leuk"
+
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr "Deze actie kan alleen door mensen met een RedMatrix-account worden uitgevoerd."
+
+#: ../../mod/like.php:21
+msgid ""
+"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
+"href=\"register\">register as a new RedMatrix member</a> to continue."
+msgstr "Je dient <a href=\"rmagic\">in te loggen met je RedMatrix-account</a> of <a href=\"register\">een nieuw RedMatrix-account te registreren</a> om verder te kunnen gaan."
+
+#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
+msgid "Invalid request."
+msgstr "Ongeldig verzoek"
+
+#: ../../mod/like.php:119
+msgid "thing"
+msgstr "ding"
+
+#: ../../mod/like.php:165
+msgid "Channel unavailable."
+msgstr "Kanaal niet beschikbaar."
+
+#: ../../mod/like.php:204
+msgid "Previous action reversed."
+msgstr "Vorige actie omgedraaid"
+
+#: ../../mod/like.php:422
+msgid "Action completed."
+msgstr "Actie voltooid"
+
+#: ../../mod/like.php:423
+msgid "Thank you."
+msgstr "Bedankt"
+
+#: ../../mod/help.php:41 ../../mod/help.php:47 ../../mod/help.php:53
+msgid "Help:"
+msgstr "Hulp:"
+
+#: ../../mod/help.php:67 ../../index.php:238
+msgid "Not Found"
+msgstr "Niet gevonden"
+
+#: ../../mod/thing.php:96
+msgid "Thing updated"
+msgstr "Ding bijgewerkt"
+
+#: ../../mod/thing.php:156
+msgid "Object store: failed"
+msgstr "Opslaan van ding mislukt"
+
+#: ../../mod/thing.php:160
+msgid "Thing added"
+msgstr "Ding toegevoegd"
+
+#: ../../mod/thing.php:180
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
+
+#: ../../mod/thing.php:232
+msgid "Show Thing"
+msgstr "Ding weergeven"
+
+#: ../../mod/thing.php:239
+msgid "item not found."
+msgstr "Item niet gevonden"
+
+#: ../../mod/thing.php:270
+msgid "Edit Thing"
+msgstr "Ding bewerken"
+
+#: ../../mod/thing.php:272 ../../mod/thing.php:319
+msgid "Select a profile"
+msgstr "Kies een profiel"
+
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Post an activity"
+msgstr "Plaats een bericht"
+
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Toont dit alleen aan diegene die het gekozen profiel mogen zien."
+
+#: ../../mod/thing.php:278 ../../mod/thing.php:324
+msgid "Name of thing e.g. something"
+msgstr "Naam van ding"
+
+#: ../../mod/thing.php:280 ../../mod/thing.php:325
+msgid "URL of thing (optional)"
+msgstr "URL van ding (optioneel)"
+
+#: ../../mod/thing.php:282 ../../mod/thing.php:326
+msgid "URL for photo of thing (optional)"
+msgstr "URL van foto van ding (optioneel)"
+
+#: ../../mod/thing.php:317
+msgid "Add Thing to your Profile"
+msgstr "Ding aan je profiel toevoegen"
+
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Contact niet gevonden"
+
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr "Kanaalvoorstel verzonden."
+
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr "Kanalen voorstellen"
+
+#: ../../mod/fsuggest.php:99
+#, php-format
+msgid "Suggest a friend for %s"
+msgstr "Stel een kanaal voor aan %s"
+
+#: ../../mod/filestorage.php:76
+msgid "Permission Denied."
+msgstr "Toegang geweigerd"
+
+#: ../../mod/filestorage.php:92
+msgid "File not found."
+msgstr "Bestand niet gevonden."
+
+#: ../../mod/filestorage.php:135
+msgid "Edit file permissions"
+msgstr "Bestandsrechten bewerken"
+
+#: ../../mod/filestorage.php:144
+msgid "Set/edit permissions"
+msgstr "Rechten instellen/bewerken"
+
+#: ../../mod/filestorage.php:145
+msgid "Include all files and sub folders"
+msgstr "Toepassen op alle bestanden en submappen"
+
+#: ../../mod/filestorage.php:146
+msgid "Return to file list"
+msgstr "Terugkeren naar bestandlijst "
+
+#: ../../mod/filestorage.php:148
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Kopieer/plak deze code om het bestand aan een bericht te koppelen"
+
+#: ../../mod/filestorage.php:149
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen"
+
+#: ../../mod/connect.php:56 ../../mod/connect.php:104
+msgid "Continue"
+msgstr "Ga verder"
+
+#: ../../mod/connect.php:85
+msgid "Premium Channel Setup"
+msgstr "Instellen premiumkanaal "
+
+#: ../../mod/connect.php:87
+msgid "Enable premium channel connection restrictions"
+msgstr "Restricties voor connecties van premiumkanaal toestaan"
+
+#: ../../mod/connect.php:88
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, voorschriften voor leden, enz."
+
+#: ../../mod/connect.php:90 ../../mod/connect.php:110
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:"
+
+#: ../../mod/connect.php:91
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:"
+
+#: ../../mod/connect.php:92 ../../mod/connect.php:113
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina."
+
+#: ../../mod/connect.php:101
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) "
+
+#: ../../mod/connect.php:109
+msgid "Restricted or Premium Channel"
+msgstr "Beperkt of premiumkanaal"
+
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr "- kies map -"
+
+#: ../../mod/locs.php:19 ../../mod/locs.php:46
+msgid "Location not found."
+msgstr "Locatie niet gevonden."
+
+#: ../../mod/locs.php:50
+msgid "Primary location cannot be removed."
+msgstr "Primaire locatie kan niet worden verwijderd."
+
+#: ../../mod/locs.php:82
+msgid "No locations found."
+msgstr "Geen locaties gevonden."
+
+#: ../../mod/locs.php:95
+msgid "Manage Channel Locations"
+msgstr "Kanaallocaties beheren"
+
+#: ../../mod/locs.php:96
+msgid "Location (address)"
+msgstr "Locatie (adres)"
+
+#: ../../mod/locs.php:97
+msgid "Primary Location"
+msgstr "Primaire locatie"
+
+#: ../../mod/locs.php:98
+msgid "Drop location"
+msgstr "Locatie verwijderen"
+
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "Kanaal toegevoegd."
+
+#: ../../mod/import.php:25
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Jouw abonnement staat maar %d kanalen toe."
+
+#: ../../mod/import.php:51
+msgid "Nothing to import."
+msgstr "Niets gevonden om te importeren"
+
+#: ../../mod/import.php:75
+msgid "Unable to download data from old server"
+msgstr "Niet in staat om gegevens van de oude hub te downloaden"
+
+#: ../../mod/import.php:81
+msgid "Imported file is empty."
+msgstr "Geïmporteerde bestand is leeg"
+
+#: ../../mod/import.php:106
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."
+
+#: ../../mod/import.php:127
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt."
+
+#: ../../mod/import.php:147
+msgid "Channel clone failed. Import failed."
+msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt."
+
+#: ../../mod/import.php:157
+msgid "Cloned channel not found. Import failed."
+msgstr "Gekloond kanaal niet gevonden. Importeren mislukt."
+
+#: ../../mod/import.php:475
+msgid "Import completed."
+msgstr "Import voltooid."
+
+#: ../../mod/import.php:487
+msgid "You must be logged in to use this feature."
+msgstr "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken."
+
+#: ../../mod/import.php:492
+msgid "Import Channel"
+msgstr "Kanaal importeren"
+
+#: ../../mod/import.php:493
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file. Only identity and connections/relationships will "
+"be imported. Importation of content is not yet available."
+msgstr "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken. Alleen de identiteit en de connecties zullen geïmporteerd worden. Het importeren van inhoud is nog niet beschikbaar."
+
+#: ../../mod/import.php:494
+msgid "File to Upload"
+msgstr "Bestand om te uploaden"
+
+#: ../../mod/import.php:495
+msgid "Or provide the old server/hub details"
+msgstr "Of vul de gegevens van de oude hub in"
+
+#: ../../mod/import.php:496
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Jouw oude kanaaladres (xyz@example.com)"
+
+#: ../../mod/import.php:497
+msgid "Your old login email address"
+msgstr "Het e-mailadres van je oude account"
+
+#: ../../mod/import.php:498
+msgid "Your old login password"
+msgstr "Wachtwoord van jouw oude account"
+
+#: ../../mod/import.php:499
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen."
+
+#: ../../mod/import.php:500
+msgid "Make this hub my primary location"
+msgstr "Stel deze hub als mijn primaire locatie in"
+
+#: ../../mod/import.php:501
+msgid "Import existing posts if possible"
+msgstr "Importeer bestaande berichten (wanneer mogelijk)"
+
+#: ../../mod/item.php:159
+msgid "Unable to locate original post."
+msgstr "Niet in staat om de originele locatie van het bericht te vinden. "
+
+#: ../../mod/item.php:418
+msgid "Empty post discarded."
+msgstr "Leeg bericht geannuleerd"
+
+#: ../../mod/item.php:460
+msgid "Executable content type not permitted to this channel."
+msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."
+
+#: ../../mod/item.php:902
+msgid "System error. Post not saved."
+msgstr "Systeemfout. Bericht niet opgeslagen."
+
+#: ../../mod/item.php:1120
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt."
+
+#: ../../mod/item.php:1126
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt."
+
+#: ../../mod/suggest.php:35
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probeer het dan over 24 uur weer."
+
+#: ../../mod/layouts.php:110
+msgid "Help with this feature"
+msgstr "Hulp voor dit onderdeel"
+
+#: ../../mod/layouts.php:130
+msgid "Layout Name"
+msgstr "Naam lay-out"
+
+#: ../../mod/tagger.php:98
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s heeft het %3$s van %2$s getagd met %4$s"
+
+#: ../../mod/setup.php:166
msgid "Red Matrix Server - Setup"
msgstr "RedMatrix Server - Setup"
-#: ../../mod/setup.php:168
+#: ../../mod/setup.php:172
msgid "Could not connect to database."
msgstr "Could not connect to database."
-#: ../../mod/setup.php:172
+#: ../../mod/setup.php:176
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "Could not connect to specified hub URL. Possible SSL certificate or DNS issue."
-#: ../../mod/setup.php:179
+#: ../../mod/setup.php:183
msgid "Could not create table."
msgstr "Could not create table."
-#: ../../mod/setup.php:185
+#: ../../mod/setup.php:189
msgid "Your site database has been installed."
msgstr "Your hub database has been installed."
-#: ../../mod/setup.php:190
+#: ../../mod/setup.php:194
msgid ""
-"You may need to import the file \"install/database.sql\" manually using "
-"phpmyadmin or mysql."
-msgstr "You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "You may need to import the file \"install/schema_xxx.sql\" manually using a database client."
-#: ../../mod/setup.php:191 ../../mod/setup.php:260 ../../mod/setup.php:655
+#: ../../mod/setup.php:195 ../../mod/setup.php:264 ../../mod/setup.php:663
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Please see the file \"install/INSTALL.txt\"."
-#: ../../mod/setup.php:257
+#: ../../mod/setup.php:261
msgid "System check"
msgstr "System check"
-#: ../../mod/setup.php:262
+#: ../../mod/setup.php:266
msgid "Check again"
msgstr "Check again"
-#: ../../mod/setup.php:284
+#: ../../mod/setup.php:289
msgid "Database connection"
msgstr "Database connection"
-#: ../../mod/setup.php:285
+#: ../../mod/setup.php:290
msgid ""
"In order to install Red Matrix we need to know how to connect to your "
"database."
msgstr "In order to install RedMatrix we need to know how to connect to your database."
-#: ../../mod/setup.php:286
+#: ../../mod/setup.php:291
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Please contact your hosting provider or site administrator if you have questions about these settings."
-#: ../../mod/setup.php:287
+#: ../../mod/setup.php:292
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "The database you specify below should already exist. If it does not, please create it before continuing."
-#: ../../mod/setup.php:291
+#: ../../mod/setup.php:296
msgid "Database Server Name"
msgstr "Database Server Name"
-#: ../../mod/setup.php:291
+#: ../../mod/setup.php:296
msgid "Default is localhost"
msgstr "Default is localhost"
-#: ../../mod/setup.php:292
+#: ../../mod/setup.php:297
msgid "Database Port"
msgstr "Database Port"
-#: ../../mod/setup.php:292
+#: ../../mod/setup.php:297
msgid "Communication port number - use 0 for default"
msgstr "Communication port number - use 0 for default"
-#: ../../mod/setup.php:293
+#: ../../mod/setup.php:298
msgid "Database Login Name"
msgstr "Database Login Name"
-#: ../../mod/setup.php:294
+#: ../../mod/setup.php:299
msgid "Database Login Password"
msgstr "Database Login Password"
-#: ../../mod/setup.php:295
+#: ../../mod/setup.php:300
msgid "Database Name"
msgstr "Database Name"
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
+#: ../../mod/setup.php:301
+msgid "Database Type"
+msgstr "Database Type"
+
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
msgid "Site administrator email address"
msgstr "Hub administrator email address"
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Your account email address must match this in order to use the web admin panel."
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
msgid "Website URL"
msgstr "Hub URL"
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
msgid "Please use SSL (https) URL if available."
msgstr "Please use SSL (https) URL if available."
-#: ../../mod/setup.php:301 ../../mod/setup.php:344
+#: ../../mod/setup.php:307 ../../mod/setup.php:352
msgid "Please select a default timezone for your website"
msgstr "Please select a default timezone for your hub"
-#: ../../mod/setup.php:328
+#: ../../mod/setup.php:335
msgid "Site settings"
msgstr "Hub settings"
-#: ../../mod/setup.php:387
+#: ../../mod/setup.php:395
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Could not find a command line version of PHP in the web server PATH."
-#: ../../mod/setup.php:388
+#: ../../mod/setup.php:396
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron."
msgstr "If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."
-#: ../../mod/setup.php:392
+#: ../../mod/setup.php:400
msgid "PHP executable path"
msgstr "PHP executable path"
-#: ../../mod/setup.php:392
+#: ../../mod/setup.php:400
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Enter full path to php executable. You can leave this blank to continue the installation."
-#: ../../mod/setup.php:397
+#: ../../mod/setup.php:405
msgid "Command line PHP"
msgstr "Command line PHP"
-#: ../../mod/setup.php:406
+#: ../../mod/setup.php:414
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "The command line version of PHP on your system does not have \"register_argc_argv\" enabled."
-#: ../../mod/setup.php:407
+#: ../../mod/setup.php:415
msgid "This is required for message delivery to work."
msgstr "This is required for message delivery to work."
-#: ../../mod/setup.php:409
+#: ../../mod/setup.php:417
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../mod/setup.php:430
+#: ../../mod/setup.php:438
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"
-#: ../../mod/setup.php:431
+#: ../../mod/setup.php:439
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/setup.php:433
+#: ../../mod/setup.php:441
msgid "Generate encryption keys"
msgstr "Generate encryption keys"
-#: ../../mod/setup.php:440
+#: ../../mod/setup.php:448
msgid "libCurl PHP module"
msgstr "libCurl PHP module"
-#: ../../mod/setup.php:441
+#: ../../mod/setup.php:449
msgid "GD graphics PHP module"
msgstr "GD graphics PHP module"
-#: ../../mod/setup.php:442
+#: ../../mod/setup.php:450
msgid "OpenSSL PHP module"
msgstr "OpenSSL PHP module"
-#: ../../mod/setup.php:443
-msgid "mysqli PHP module"
-msgstr "mysqli PHP module"
+#: ../../mod/setup.php:451
+msgid "mysqli or postgres PHP module"
+msgstr "mysqli or postgres PHP module"
-#: ../../mod/setup.php:444
+#: ../../mod/setup.php:452
msgid "mb_string PHP module"
msgstr "mb_string PHP module"
-#: ../../mod/setup.php:445
+#: ../../mod/setup.php:453
msgid "mcrypt PHP module"
msgstr "mcrypt PHP module"
-#: ../../mod/setup.php:450 ../../mod/setup.php:452
+#: ../../mod/setup.php:458 ../../mod/setup.php:460
msgid "Apache mod_rewrite module"
msgstr "Apache mod_rewrite module"
-#: ../../mod/setup.php:450
+#: ../../mod/setup.php:458
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Error: Apache webserver mod-rewrite module is required but not installed."
-#: ../../mod/setup.php:456 ../../mod/setup.php:459
+#: ../../mod/setup.php:464 ../../mod/setup.php:467
msgid "proc_open"
msgstr "proc_open"
-#: ../../mod/setup.php:456
+#: ../../mod/setup.php:464
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Error: proc_open is required but is either not installed or has been disabled in php.ini"
-#: ../../mod/setup.php:464
+#: ../../mod/setup.php:472
msgid "Error: libCURL PHP module required but not installed."
msgstr "Error: libCURL PHP module required but not installed."
-#: ../../mod/setup.php:468
+#: ../../mod/setup.php:476
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Error: GD graphics PHP module with JPEG support required but not installed."
-#: ../../mod/setup.php:472
+#: ../../mod/setup.php:480
msgid "Error: openssl PHP module required but not installed."
msgstr "Error: openssl PHP module required but not installed."
-#: ../../mod/setup.php:476
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Error: mysqli PHP module required but not installed."
+#: ../../mod/setup.php:484
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Error: mysqli or postgres PHP module required but neither are installed."
-#: ../../mod/setup.php:480
+#: ../../mod/setup.php:488
msgid "Error: mb_string PHP module required but not installed."
msgstr "Error: mb_string PHP module required but not installed."
-#: ../../mod/setup.php:484
+#: ../../mod/setup.php:492
msgid "Error: mcrypt PHP module required but not installed."
msgstr "Error: mcrypt PHP module required but not installed."
-#: ../../mod/setup.php:500
+#: ../../mod/setup.php:508
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\""
" in the top folder of your web server and it is unable to do so."
msgstr "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."
-#: ../../mod/setup.php:501
+#: ../../mod/setup.php:509
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."
-#: ../../mod/setup.php:502
+#: ../../mod/setup.php:510
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr "At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."
-#: ../../mod/setup.php:503
+#: ../../mod/setup.php:511
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."
-#: ../../mod/setup.php:506
+#: ../../mod/setup.php:514
msgid ".htconfig.php is writable"
msgstr ".htconfig.php is writable"
-#: ../../mod/setup.php:516
+#: ../../mod/setup.php:524
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."
-#: ../../mod/setup.php:517
+#: ../../mod/setup.php:525
#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
"write access to the directory %s under the Red top level folder."
msgstr "In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."
-#: ../../mod/setup.php:518 ../../mod/setup.php:536
+#: ../../mod/setup.php:526 ../../mod/setup.php:544
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."
-#: ../../mod/setup.php:519
+#: ../../mod/setup.php:527
#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
"%s only--not the template files (.tpl) that it contains."
msgstr "Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."
-#: ../../mod/setup.php:522
+#: ../../mod/setup.php:530
#, php-format
msgid "%s is writable"
msgstr "%s is writable"
-#: ../../mod/setup.php:535
+#: ../../mod/setup.php:543
msgid ""
"Red uses the store directory to save uploaded files. The web server needs to"
" have write access to the store directory under the Red top level folder"
msgstr "Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"
-#: ../../mod/setup.php:539
+#: ../../mod/setup.php:547
msgid "store is writable"
msgstr "store is writable"
-#: ../../mod/setup.php:569
+#: ../../mod/setup.php:577
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "SSL certificate cannot be validated. Fix certificate or disable https access to this hub."
-#: ../../mod/setup.php:570
+#: ../../mod/setup.php:578
msgid ""
"If you have https access to your website or allow connections to TCP port "
"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
"NOT use self-signed certificates!"
msgstr "If you have https access to your hub or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"
-#: ../../mod/setup.php:571
+#: ../../mod/setup.php:579
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr "This restriction is incorporated because public posts from you may for example contain references to images on your own hub."
-#: ../../mod/setup.php:572
+#: ../../mod/setup.php:580
msgid ""
"If your certificate is not recognized, members of other sites (who may "
"themselves have valid certificates) will get a warning message on their own "
"site complaining about security issues."
msgstr "If your certificate is not recognized, members of other hubs (who may themselves have valid certificates) will get a warning message on their own hub complaining about security issues."
-#: ../../mod/setup.php:573
+#: ../../mod/setup.php:581
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement."
-#: ../../mod/setup.php:574
+#: ../../mod/setup.php:582
msgid ""
"Providers are available that issue free certificates which are browser-"
"valid."
msgstr "Providers are available that issue free certificates which are browser-valid."
-#: ../../mod/setup.php:576
+#: ../../mod/setup.php:584
msgid "SSL certificate validation"
msgstr "SSL certificate validation"
-#: ../../mod/setup.php:582
+#: ../../mod/setup.php:590
msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-msgstr "Url rewrite in .htaccess is not working. Check your server configuration."
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "Url rewrite in .htaccess is not working. Check your server configuration.Test: "
-#: ../../mod/setup.php:584
+#: ../../mod/setup.php:592
msgid "Url rewrite is working"
msgstr "Url rewrite is working"
-#: ../../mod/setup.php:594
+#: ../../mod/setup.php:602
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."
-#: ../../mod/setup.php:618
+#: ../../mod/setup.php:626
msgid "Errors encountered creating database tables."
msgstr "Errors encountered creating database tables."
-#: ../../mod/setup.php:653
+#: ../../mod/setup.php:661
msgid "<h1>What next</h1>"
msgstr "<h1>Wat nu</h1>"
-#: ../../mod/setup.php:654
+#: ../../mod/setup.php:662
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
msgstr "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
-#: ../../mod/editblock.php:8 ../../mod/editblock.php:27
-#: ../../mod/editblock.php:53 ../../mod/editlayout.php:36
-#: ../../mod/editpost.php:20 ../../mod/editwebpage.php:32
-msgid "Item not found"
-msgstr "Item niet gevonden"
-
-#: ../../mod/editblock.php:77
-msgid "Edit Block"
-msgstr "Blok bewerken"
-
-#: ../../mod/editblock.php:87
-msgid "Delete block?"
-msgstr "Blok verwijderen"
-
-#: ../../mod/editblock.php:115 ../../mod/editlayout.php:110
-#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:147
-msgid "Insert YouTube video"
-msgstr "YouTube-video invoegen"
-
-#: ../../mod/editblock.php:116 ../../mod/editlayout.php:111
-#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:148
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Vorbis-video [.ogg] invoegen"
-
-#: ../../mod/editblock.php:117 ../../mod/editlayout.php:112
-#: ../../mod/editpost.php:118 ../../mod/editwebpage.php:149
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Vorbis-audio [.ogg] invoegen"
-
-#: ../../mod/editblock.php:153
-msgid "Delete Block"
-msgstr "Blok verwijderen"
-
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
-msgstr "Lay-out bijgewerkt."
-
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
-msgstr "Systeempagina's bewerken"
-
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
-msgstr "Lay-out niet gevonden."
-
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
-msgstr "Modulenaam:"
-
-#: ../../mod/pdledit.php:55 ../../mod/layouts.php:59
-msgid "Layout Help"
-msgstr "Lay-out-hulp"
-
-#: ../../mod/editlayout.php:72
-msgid "Edit Layout"
-msgstr "Lay-out bewerken"
-
-#: ../../mod/editlayout.php:82
-msgid "Delete layout?"
-msgstr "Lay-out verwijderen?"
-
-#: ../../mod/editlayout.php:146
-msgid "Delete Layout"
-msgstr "Lay-out verwijderen"
-
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Item is niet te bewerken"
-
-#: ../../mod/editpost.php:53
-msgid "Delete item?"
-msgstr "Item verwijderen?"
-
-#: ../../mod/editwebpage.php:106
-msgid "Edit Webpage"
-msgstr "Webpagina bewerken"
-
-#: ../../mod/editwebpage.php:116
-msgid "Delete webpage?"
-msgstr "Webpagina verwijderen?"
-
-#: ../../mod/editwebpage.php:186
-msgid "Delete Webpage"
-msgstr "Webpagina verwijderen"
-
-#: ../../mod/cloud.php:130
-msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
-msgstr "RedMatrix - gasttoegang: Gebruikersnaam: {jouw e-mailadres}, wachtwoord: +++"
-
-#: ../../mod/profile_photo.php:108
-msgid "Image uploaded but image cropping failed."
-msgstr "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. "
-
-#: ../../mod/profile_photo.php:161
-msgid "Image resize failed."
-msgstr "Afbeelding kon niet van grootte veranderd worden."
-
-#: ../../mod/profile_photo.php:205
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven."
-
-#: ../../mod/profile_photo.php:232
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "Afbeeldingsgrootte overschrijdt het limiet van %d"
-
-#: ../../mod/profile_photo.php:241
-msgid "Unable to process image."
-msgstr "Niet in staat om afbeelding te verwerken."
-
-#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
-msgid "Photo not available."
-msgstr "Foto niet beschikbaar."
-
-#: ../../mod/profile_photo.php:358
-msgid "Upload File:"
-msgstr "Bestand uploaden:"
-
-#: ../../mod/profile_photo.php:359
-msgid "Select a profile:"
-msgstr "Kies een profiel:"
-
-#: ../../mod/profile_photo.php:360
-msgid "Upload Profile Photo"
-msgstr "Profielfoto uploaden"
-
-#: ../../mod/profile_photo.php:365
-msgid "skip this step"
-msgstr "sla deze stap over"
-
-#: ../../mod/profile_photo.php:365
-msgid "select a photo from your photo albums"
-msgstr "Kies een foto uit jouw fotoalbums"
-
-#: ../../mod/profile_photo.php:381
-msgid "Crop Image"
-msgstr "Afbeelding bijsnijden"
-
-#: ../../mod/profile_photo.php:382
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven."
-
-#: ../../mod/profile_photo.php:384
-msgid "Done Editing"
-msgstr "Klaar met bewerken"
-
-#: ../../mod/profile_photo.php:427
-msgid "Image uploaded successfully."
-msgstr "Uploaden afbeelding geslaagd"
-
-#: ../../mod/profile_photo.php:429
-msgid "Image upload failed."
-msgstr "Uploaden afbeelding mislukt"
-
-#: ../../mod/profile_photo.php:438
-#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Verkleinen [%s] van afbeelding mislukt."
-
-#: ../../mod/sources.php:32
-msgid "Failed to create source. No channel selected."
-msgstr "Aanmaken bron mislukt. Geen kanaal geselecteerd."
-
-#: ../../mod/sources.php:45
-msgid "Source created."
-msgstr "Bron aangemaakt."
-
-#: ../../mod/sources.php:57
-msgid "Source updated."
-msgstr "Bron aangemaakt."
-
-#: ../../mod/sources.php:82
-msgid "*"
-msgstr "*"
-
-#: ../../mod/sources.php:89
-msgid "Manage remote sources of content for your channel."
-msgstr "Beheer externe bronnen met inhoud voor jouw kanaal"
-
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
-msgid "New Source"
-msgstr "Nieuwe bron"
-
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
-msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importeer complete of gedeelde inhoud vanuit het volgende kanaal naar dit kanaal, en verdeel het vervolgens volgens jouw kanaalinstellingen."
-
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Only import content with these words (one per line)"
-msgstr "Importeer alleen inhoud met deze woorden (één per regel)"
-
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Leave blank to import all public content"
-msgstr "Laat leeg om alle openbare inhoud te importeren"
-
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
-#: ../../mod/new_channel.php:112
-msgid "Channel Name"
-msgstr "Kanaalnaam"
-
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
-msgid "Source not found."
-msgstr "Bron niet gevonden"
-
-#: ../../mod/sources.php:130
-msgid "Edit Source"
-msgstr "Bron bewerken"
-
-#: ../../mod/sources.php:131
-msgid "Delete Source"
-msgstr "Bron verwijderen"
-
-#: ../../mod/sources.php:158
-msgid "Source removed"
-msgstr "Bron verwijderd"
-
-#: ../../mod/sources.php:160
-msgid "Unable to remove source."
-msgstr "Verwijderen bron mislukt."
-
-#: ../../mod/filer.php:49
-msgid "- select -"
-msgstr "- kies map -"
-
-#: ../../mod/filestorage.php:76
-msgid "Permission Denied."
-msgstr "Toegang geweigerd"
-
-#: ../../mod/filestorage.php:92
-msgid "File not found."
-msgstr "Bestand niet gevonden."
-
-#: ../../mod/filestorage.php:131
-msgid "Edit file permissions"
-msgstr "Bestandsrechten bewerken"
-
-#: ../../mod/filestorage.php:140
-msgid "Set/edit permissions"
-msgstr "Rechten instellen/bewerken"
-
-#: ../../mod/filestorage.php:141
-msgid "Include all files and sub folders"
-msgstr "Toepassen op alle bestanden en submappen"
-
-#: ../../mod/filestorage.php:142
-msgid "Return to file list"
-msgstr "Terugkeren naar bestandlijst "
-
-#: ../../mod/filestorage.php:144
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Kopieer/plak deze code om het bestand aan een bericht te koppelen"
-
-#: ../../mod/filestorage.php:145
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen"
-
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Kanaal toegevoegd."
-
-#: ../../mod/subthread.php:103
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s volgt het %3$s van %2$s"
-
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Contact niet gevonden"
-
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Kanaalvoorstel verzonden."
-
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Kanalen voorstellen"
-
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Stel een kanaal voor aan %s"
-
-#: ../../mod/suggest.php:35
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probeer het dan over 24 uur weer."
-
-#: ../../mod/group.php:20
-msgid "Collection created."
-msgstr "Collectie aangemaakt"
-
-#: ../../mod/group.php:26
-msgid "Could not create collection."
-msgstr "Collectie kon niet aangemaakt worden"
-
-#: ../../mod/group.php:54
-msgid "Collection updated."
-msgstr "Collectie bijgewerkt."
-
-#: ../../mod/group.php:86
-msgid "Create a collection of channels."
-msgstr "Kanaalcollectie aanmaken"
-
-#: ../../mod/group.php:87 ../../mod/group.php:183
-msgid "Collection Name: "
-msgstr "Naam collectie:"
-
-#: ../../mod/group.php:89 ../../mod/group.php:186
-msgid "Members are visible to other channels"
-msgstr "Kanalen in deze collectie zijn zichtbaar voor andere kanalen"
-
-#: ../../mod/group.php:107
-msgid "Collection removed."
-msgstr "Collectie verwijderd"
-
-#: ../../mod/group.php:109
-msgid "Unable to remove collection."
-msgstr "Verwijderen collectie mislukt"
-
-#: ../../mod/group.php:182
-msgid "Collection Editor"
-msgstr "Collectiebewerker"
-
-#: ../../mod/group.php:196
-msgid "Members"
-msgstr "Kanalen"
-
-#: ../../mod/group.php:198
-msgid "All Connected Channels"
-msgstr "Alle kanaalconnecties"
-
-#: ../../mod/group.php:233
-msgid "Click on a channel to add or remove."
-msgstr "Klik op een kanaal om deze toe te voegen of te verwijderen."
-
-#: ../../mod/tagger.php:98
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s labelde het %3$s van %2$s met %4$s"
-
-#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
-msgid "Help:"
-msgstr "Hulp:"
-
-#: ../../mod/help.php:69 ../../index.php:237
-msgid "Not Found"
-msgstr "Niet gevonden"
-
-#: ../../mod/tagrm.php:41
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
msgid "Tag removed"
-msgstr "Label verwijderd"
+msgstr "Tag verwijderd"
-#: ../../mod/tagrm.php:79
+#: ../../mod/tagrm.php:119
msgid "Remove Item Tag"
-msgstr "Verwijder itemlabel"
+msgstr "Verwijder item-tag"
-#: ../../mod/tagrm.php:81
+#: ../../mod/tagrm.php:121
msgid "Select a tag to remove: "
-msgstr "Kies een label om te verwijderen"
+msgstr "Kies een tag om te verwijderen"
#: ../../mod/admin.php:52
msgid "Theme settings updated."
msgstr "Thema-instellingen bijgewerkt."
-#: ../../mod/admin.php:97 ../../mod/admin.php:413
+#: ../../mod/admin.php:97 ../../mod/admin.php:411
msgid "Site"
msgstr "Hub-instellingen"
@@ -6446,19 +6861,19 @@ msgstr "Hub-instellingen"
msgid "Accounts"
msgstr "Accounts"
-#: ../../mod/admin.php:99 ../../mod/admin.php:860
+#: ../../mod/admin.php:99 ../../mod/admin.php:858
msgid "Channels"
msgstr "Kanalen"
-#: ../../mod/admin.php:100 ../../mod/admin.php:951 ../../mod/admin.php:993
+#: ../../mod/admin.php:100 ../../mod/admin.php:949 ../../mod/admin.php:991
msgid "Plugins"
msgstr "Plug-ins"
-#: ../../mod/admin.php:101 ../../mod/admin.php:1156 ../../mod/admin.php:1192
+#: ../../mod/admin.php:101 ../../mod/admin.php:1154 ../../mod/admin.php:1190
msgid "Themes"
msgstr "Thema's"
-#: ../../mod/admin.php:102 ../../mod/admin.php:515
+#: ../../mod/admin.php:102 ../../mod/admin.php:512
msgid "Server"
msgstr "Hubbeheer"
@@ -6470,7 +6885,7 @@ msgstr "Profielconfiguratie"
msgid "DB updates"
msgstr "Database-updates"
-#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1279
+#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1277
msgid "Logs"
msgstr "Logboeken"
@@ -6486,10 +6901,10 @@ msgstr "Accounts die op goedkeuring wachten"
msgid "Message queues"
msgstr "Berichtenwachtrij"
-#: ../../mod/admin.php:211 ../../mod/admin.php:412 ../../mod/admin.php:514
-#: ../../mod/admin.php:723 ../../mod/admin.php:859 ../../mod/admin.php:950
-#: ../../mod/admin.php:992 ../../mod/admin.php:1155 ../../mod/admin.php:1191
-#: ../../mod/admin.php:1278
+#: ../../mod/admin.php:211 ../../mod/admin.php:410 ../../mod/admin.php:511
+#: ../../mod/admin.php:721 ../../mod/admin.php:857 ../../mod/admin.php:948
+#: ../../mod/admin.php:990 ../../mod/admin.php:1153 ../../mod/admin.php:1189
+#: ../../mod/admin.php:1276
msgid "Administration"
msgstr "Beheer"
@@ -6501,7 +6916,7 @@ msgstr "Samenvatting"
msgid "Registered users"
msgstr "Geregistreerde accounts"
-#: ../../mod/admin.php:216 ../../mod/admin.php:518
+#: ../../mod/admin.php:216 ../../mod/admin.php:515
msgid "Pending registrations"
msgstr "Accounts die op goedkeuring wachten"
@@ -6509,717 +6924,658 @@ msgstr "Accounts die op goedkeuring wachten"
msgid "Version"
msgstr "Versie"
-#: ../../mod/admin.php:219 ../../mod/admin.php:519
+#: ../../mod/admin.php:219 ../../mod/admin.php:516
msgid "Active plugins"
msgstr "Ingeschakelde plug-ins"
-#: ../../mod/admin.php:333
+#: ../../mod/admin.php:326
msgid "Site settings updated."
msgstr "Hub-instellingen bijgewerkt."
-#: ../../mod/admin.php:364
-msgid "No special theme for accessibility"
-msgstr "Geen speciaal thema voor universele toegang"
+#: ../../mod/admin.php:365
+msgid "experimental"
+msgstr "experimenteel"
-#: ../../mod/admin.php:393
+#: ../../mod/admin.php:367
+msgid "unsupported"
+msgstr "Niet ondersteund"
+
+#: ../../mod/admin.php:391
msgid "Yes - with approval"
msgstr "Ja - met goedkeuring"
-#: ../../mod/admin.php:399
+#: ../../mod/admin.php:397
msgid "My site is not a public server"
msgstr "Mijn RedMatrix-hub is niet openbaar"
-#: ../../mod/admin.php:400
+#: ../../mod/admin.php:398
msgid "My site has paid access only"
msgstr "Mijn RedMatrix-hub kent alleen betaalde toegang"
-#: ../../mod/admin.php:401
+#: ../../mod/admin.php:399
msgid "My site has free access only"
msgstr "Mijn RedMatrix-hub kent alleen gratis toegang"
-#: ../../mod/admin.php:402
+#: ../../mod/admin.php:400
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mijn RedMatrix-hub biedt gratis accounts aan met betaalde uitbreidingen als optie"
-#: ../../mod/admin.php:416
+#: ../../mod/admin.php:414
msgid "File upload"
msgstr "Bestand uploaden"
-#: ../../mod/admin.php:417
+#: ../../mod/admin.php:415
msgid "Policies"
msgstr "Beleid"
-#: ../../mod/admin.php:422
+#: ../../mod/admin.php:420
msgid "Site name"
msgstr "Naam van deze RedMatrix-hub"
-#: ../../mod/admin.php:423
+#: ../../mod/admin.php:421
msgid "Banner/Logo"
msgstr "Banner/logo"
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:422
msgid "Administrator Information"
msgstr "Informatie over de beheerder van deze hub"
-#: ../../mod/admin.php:424
+#: ../../mod/admin.php:422
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden."
-#: ../../mod/admin.php:425
+#: ../../mod/admin.php:423
msgid "System language"
msgstr "Standaardtaal"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:424
msgid "System theme"
msgstr "Standaardthema"
-#: ../../mod/admin.php:426
+#: ../../mod/admin.php:424
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
-msgstr "Standaardthema voor RedMatrix-hub (kan door gebruiker veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>"
+msgstr "Standaardthema voor RedMatrix-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:425
msgid "Mobile system theme"
msgstr "Standaardthema voor mobiel"
-#: ../../mod/admin.php:427
+#: ../../mod/admin.php:425
msgid "Theme for mobile devices"
msgstr "Thema voor mobiele apparaten"
-#: ../../mod/admin.php:428
-msgid "Accessibility system theme"
-msgstr "Standaardthema voor universele toegang"
-
-#: ../../mod/admin.php:428
-msgid "Accessibility theme"
-msgstr "Thema voor universele toegang"
-
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:427
msgid "Enable Diaspora Protocol"
msgstr "Diaspora-protocol inschakelen"
-#: ../../mod/admin.php:430
+#: ../../mod/admin.php:427
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr "Communiceer met Diaspora en Friendica (experimenteel)"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:428
msgid "Allow Feeds as Connections"
msgstr "Sta feeds toe als connecties"
-#: ../../mod/admin.php:431
+#: ../../mod/admin.php:428
msgid "(Heavy system resource usage)"
msgstr "(sterk negatieve invloed op systeembronnen hub)"
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:429
msgid "Maximum image size"
msgstr "Maximale grootte van afbeeldingen"
-#: ../../mod/admin.php:432
+#: ../../mod/admin.php:429
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend."
-#: ../../mod/admin.php:433
+#: ../../mod/admin.php:430
msgid "Does this site allow new member registration?"
msgstr "Staat deze hub nieuwe accounts toe?"
-#: ../../mod/admin.php:434
+#: ../../mod/admin.php:431
msgid "Which best describes the types of account offered by this hub?"
msgstr "Wat voor soort accounts biedt deze RedMatrix-hub aan? Kies wat het meest in de buurt komt."
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:432
msgid "Register text"
msgstr "Tekst tijdens registratie"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:432
msgid "Will be displayed prominently on the registration page."
msgstr "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond."
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:433
msgid "Accounts abandoned after x days"
msgstr "Accounts als verlaten beschouwen na zoveel aantal dagen:"
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:433
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet."
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:434
msgid "Allowed friend domains"
msgstr "Toegestane domeinen"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:434
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze RedMatrix-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten."
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:435
msgid "Allowed email domains"
msgstr "Toegestane e-maildomeinen"
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:435
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Door komma's gescheiden lijst met e-maildomeinen die op deze hub mogen registeren. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten."
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:436
msgid "Block public"
msgstr "Openbare toegang blokkeren"
-#: ../../mod/admin.php:439
+#: ../../mod/admin.php:436
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
-msgstr "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor ingelogde gebruikers."
+msgstr "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor ingelogde leden."
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:437
msgid "Verify Email Addresses"
msgstr "E-mailadres verifieren"
-#: ../../mod/admin.php:440
+#: ../../mod/admin.php:437
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen)."
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:438
msgid "Force publish"
msgstr "Dwing kanaalvermelding af"
-#: ../../mod/admin.php:441
+#: ../../mod/admin.php:438
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld."
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:439
msgid "Disable discovery tab"
msgstr "Ontdekkingstab"
-#: ../../mod/admin.php:442
+#: ../../mod/admin.php:439
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr "Verwijder de tab in de matrix-weergave waarin zich een selectie aan openbare berichten bevindt, die automatisch voor deze hub zijn uitgekozen."
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:440
msgid "No login on Homepage"
msgstr "Geen inlogformulier op de homepage"
-#: ../../mod/admin.php:443
+#: ../../mod/admin.php:440
msgid ""
"Check to hide the login form from your sites homepage when visitors arrive "
"who are not logged in (e.g. when you put the content of the homepage in via "
"the site channel)."
-msgstr "Vink dit aan om het inlogformulier op de homepage van deze hub, die niet-ingelogde gebruikers te zien krijgen, te verbergen. (bijvoorbeeld wanneer je een kanaal op deze RedMatrix-hub als homepage gebruikt)"
+msgstr "Vink dit aan om het inlogformulier op de homepage van deze hub, die niet-ingelogde bezoekers te zien krijgen, te verbergen. (bijvoorbeeld wanneer je een kanaal op deze RedMatrix-hub als homepage gebruikt)"
-#: ../../mod/admin.php:445
+#: ../../mod/admin.php:442
msgid "Proxy user"
-msgstr "Proxy-gebruiker"
+msgstr "Gebruikersnaam proxy"
-#: ../../mod/admin.php:446
+#: ../../mod/admin.php:443
msgid "Proxy URL"
-msgstr "Proxy-URL"
+msgstr "URL proxy"
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:444
msgid "Network timeout"
msgstr "Netwerktimeout"
-#: ../../mod/admin.php:447
+#: ../../mod/admin.php:444
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)"
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:445
msgid "Delivery interval"
msgstr "Afleveringsinterval"
-#: ../../mod/admin.php:448
+#: ../../mod/admin.php:445
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers."
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:446
msgid "Poll interval"
msgstr "Poll-interval"
-#: ../../mod/admin.php:449
+#: ../../mod/admin.php:446
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken."
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:447
msgid "Maximum Load Average"
msgstr "Maximaal gemiddelde systeembelasting"
-#: ../../mod/admin.php:450
+#: ../../mod/admin.php:447
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50."
-#: ../../mod/admin.php:506
+#: ../../mod/admin.php:503
msgid "No server found"
msgstr "Geen hub gevonden"
-#: ../../mod/admin.php:513 ../../mod/admin.php:737
+#: ../../mod/admin.php:510 ../../mod/admin.php:735
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "for channel"
msgstr "voor kanaal"
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "on server"
msgstr "op hub"
-#: ../../mod/admin.php:513
+#: ../../mod/admin.php:510
msgid "Status"
msgstr "Status"
-#: ../../mod/admin.php:534
+#: ../../mod/admin.php:531
msgid "Update has been marked successful"
msgstr "Update is als succesvol gemarkeerd"
-#: ../../mod/admin.php:544
+#: ../../mod/admin.php:541
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Uitvoeren van %s is mislukt. Controleer systeemlogboek."
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:544
#, php-format
msgid "Update %s was successfully applied."
msgstr "Update %s was geslaagd."
-#: ../../mod/admin.php:551
+#: ../../mod/admin.php:548
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is."
-#: ../../mod/admin.php:554
+#: ../../mod/admin.php:551
#, php-format
msgid "Update function %s could not be found."
msgstr "Update-functie %s kon niet gevonden worden."
-#: ../../mod/admin.php:569
+#: ../../mod/admin.php:566
msgid "No failed updates."
msgstr "Geen mislukte updates."
-#: ../../mod/admin.php:573
+#: ../../mod/admin.php:570
msgid "Failed Updates"
msgstr "Mislukte updates"
-#: ../../mod/admin.php:575
+#: ../../mod/admin.php:572
msgid "Mark success (if update was manually applied)"
msgstr "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)"
-#: ../../mod/admin.php:576
+#: ../../mod/admin.php:573
msgid "Attempt to execute this update step automatically"
msgstr "Poging om deze stap van de update automatisch uit te voeren."
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:599
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s account geblokkeerd/gedeblokkeerd"
msgstr[1] "%s accounts geblokkeerd/gedeblokkeerd"
-#: ../../mod/admin.php:609
+#: ../../mod/admin.php:606
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] "%s account verwijderd"
msgstr[1] "%s accounts verwijderd"
-#: ../../mod/admin.php:638
+#: ../../mod/admin.php:635
msgid "Account not found"
msgstr "Account niet gevonden"
-#: ../../mod/admin.php:658
+#: ../../mod/admin.php:655
#, php-format
msgid "User '%s' unblocked"
msgstr "Account '%s' gedeblokkeerd"
-#: ../../mod/admin.php:658
+#: ../../mod/admin.php:655
#, php-format
msgid "User '%s' blocked"
-msgstr "Gebruiker '%s' geblokkeerd"
+msgstr "Lid '%s' geblokkeerd"
-#: ../../mod/admin.php:724 ../../mod/admin.php:736
+#: ../../mod/admin.php:722 ../../mod/admin.php:734
msgid "Users"
msgstr "Accounts"
-#: ../../mod/admin.php:726 ../../mod/admin.php:862
+#: ../../mod/admin.php:724 ../../mod/admin.php:860
msgid "select all"
msgstr "alles selecteren"
-#: ../../mod/admin.php:727
+#: ../../mod/admin.php:725
msgid "User registrations waiting for confirm"
msgstr "Accounts die op goedkeuring wachten"
-#: ../../mod/admin.php:728
+#: ../../mod/admin.php:726
msgid "Request date"
msgstr "Tijd/datum verzoek"
-#: ../../mod/admin.php:729
+#: ../../mod/admin.php:727
msgid "No registrations."
msgstr "Geen verzoeken."
-#: ../../mod/admin.php:730
+#: ../../mod/admin.php:728
msgid "Approve"
msgstr "Goedkeuren"
-#: ../../mod/admin.php:731
+#: ../../mod/admin.php:729
msgid "Deny"
msgstr "Afkeuren"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Register date"
msgstr "Geregistreerd"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Last login"
msgstr "Laatste keer ingelogd"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Expires"
msgstr "Verloopt"
-#: ../../mod/admin.php:737
+#: ../../mod/admin.php:735
msgid "Service Class"
msgstr "Abonnementen"
-#: ../../mod/admin.php:739
+#: ../../mod/admin.php:737
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?"
-#: ../../mod/admin.php:740
+#: ../../mod/admin.php:738
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../mod/admin.php:773
+#: ../../mod/admin.php:771
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s kanaal gecensureerd/ongecensureerd"
msgstr[1] "%s kanalen gecensureerd/ongecensureerd"
-#: ../../mod/admin.php:780
+#: ../../mod/admin.php:778
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s kanaal verwijderd"
msgstr[1] "%s kanalen verwijderd"
-#: ../../mod/admin.php:799
+#: ../../mod/admin.php:797
msgid "Channel not found"
msgstr "Kanaal niet gevonden"
-#: ../../mod/admin.php:810
+#: ../../mod/admin.php:808
#, php-format
msgid "Channel '%s' deleted"
msgstr "Kanaal '%s' verwijderd"
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:819
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Kanaal '%s' ongecensureerd"
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:819
#, php-format
msgid "Channel '%s' censored"
msgstr "Kanaal '%s' gecensureerd"
-#: ../../mod/admin.php:864
+#: ../../mod/admin.php:862
msgid "Censor"
msgstr "Censureren"
-#: ../../mod/admin.php:865
+#: ../../mod/admin.php:863
msgid "Uncensor"
msgstr "Niet censureren"
-#: ../../mod/admin.php:868
+#: ../../mod/admin.php:866
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:870
+#: ../../mod/admin.php:868
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../mod/admin.php:871
+#: ../../mod/admin.php:869
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../mod/admin.php:910
+#: ../../mod/admin.php:908
#, php-format
msgid "Plugin %s disabled."
msgstr "Plug-in %s uitgeschakeld."
-#: ../../mod/admin.php:914
+#: ../../mod/admin.php:912
#, php-format
msgid "Plugin %s enabled."
msgstr "Plug-in %s ingeschakeld"
-#: ../../mod/admin.php:924 ../../mod/admin.php:1126
+#: ../../mod/admin.php:922 ../../mod/admin.php:1124
msgid "Disable"
msgstr "Uitschakelen"
-#: ../../mod/admin.php:926 ../../mod/admin.php:1128
+#: ../../mod/admin.php:924 ../../mod/admin.php:1126
msgid "Enable"
msgstr "Inschakelen"
-#: ../../mod/admin.php:952 ../../mod/admin.php:1157
+#: ../../mod/admin.php:950 ../../mod/admin.php:1155
msgid "Toggle"
msgstr "Omschakelen"
-#: ../../mod/admin.php:960 ../../mod/admin.php:1167
+#: ../../mod/admin.php:958 ../../mod/admin.php:1165
msgid "Author: "
msgstr "Auteur: "
-#: ../../mod/admin.php:961 ../../mod/admin.php:1168
+#: ../../mod/admin.php:959 ../../mod/admin.php:1166
msgid "Maintainer: "
msgstr "Beheerder: "
-#: ../../mod/admin.php:1090
+#: ../../mod/admin.php:1088
msgid "No themes found."
msgstr "Geen thema's gevonden"
-#: ../../mod/admin.php:1149
+#: ../../mod/admin.php:1147
msgid "Screenshot"
msgstr "Schermafdruk"
-#: ../../mod/admin.php:1197
+#: ../../mod/admin.php:1195
msgid "[Experimental]"
msgstr "[Experimenteel]"
-#: ../../mod/admin.php:1198
+#: ../../mod/admin.php:1196
msgid "[Unsupported]"
msgstr "[Niet ondersteund]"
-#: ../../mod/admin.php:1225
+#: ../../mod/admin.php:1223
msgid "Log settings updated."
msgstr "Logboek-instellingen bijgewerkt."
-#: ../../mod/admin.php:1281
+#: ../../mod/admin.php:1279
msgid "Clear"
msgstr "Leegmaken"
-#: ../../mod/admin.php:1287
+#: ../../mod/admin.php:1285
msgid "Debugging"
msgstr "Debuggen"
-#: ../../mod/admin.php:1288
+#: ../../mod/admin.php:1286
msgid "Log file"
msgstr "Logbestand"
-#: ../../mod/admin.php:1288
+#: ../../mod/admin.php:1286
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je RedMatrix-installatie."
-#: ../../mod/admin.php:1289
+#: ../../mod/admin.php:1287
msgid "Log level"
msgstr "Logniveau"
-#: ../../mod/admin.php:1336
+#: ../../mod/admin.php:1334
msgid "New Profile Field"
msgstr "Nieuw profielveld"
-#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
msgid "Field nickname"
msgstr "Bijnaam voor veld"
-#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
msgid "System name of field"
msgstr "Systeemnaam voor veld"
-#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
+#: ../../mod/admin.php:1336 ../../mod/admin.php:1357
msgid "Input type"
msgstr "Invoertype"
-#: ../../mod/admin.php:1339 ../../mod/admin.php:1360
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
msgid "Field Name"
msgstr "Veldnaam"
-#: ../../mod/admin.php:1339 ../../mod/admin.php:1360
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
msgid "Label on profile pages"
msgstr "Tekstlabel voor op profielpagina's"
-#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
msgid "Help text"
msgstr "Helptekst"
-#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
msgid "Additional info (optional)"
msgstr "Extra informatie (optioneel)"
-#: ../../mod/admin.php:1351
+#: ../../mod/admin.php:1349
msgid "Field definition not found"
msgstr "Velddefinitie niet gevonden"
-#: ../../mod/admin.php:1357
+#: ../../mod/admin.php:1355
msgid "Edit Profile Field"
msgstr "Profielveld bewerken"
-#: ../../mod/thing.php:96
-msgid "Thing updated"
-msgstr "Ding bijgewerkt"
-
-#: ../../mod/thing.php:156
-msgid "Object store: failed"
-msgstr "Opslaan van ding mislukt"
-
-#: ../../mod/thing.php:160
-msgid "Thing added"
-msgstr "Ding toegevoegd"
-
-#: ../../mod/thing.php:180
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
-
-#: ../../mod/thing.php:232
-msgid "Show Thing"
-msgstr "Ding weergeven"
-
-#: ../../mod/thing.php:239
-msgid "item not found."
-msgstr "Item niet gevonden"
-
-#: ../../mod/thing.php:270
-msgid "Edit Thing"
-msgstr "Ding bewerken"
-
-#: ../../mod/thing.php:272 ../../mod/thing.php:319
-msgid "Select a profile"
-msgstr "Kies een profiel"
-
-#: ../../mod/thing.php:276 ../../mod/thing.php:322
-msgid "Post an activity"
-msgstr "Plaats een bericht"
-
-#: ../../mod/thing.php:276 ../../mod/thing.php:322
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Toont dit alleen aan diegene die het gekozen profiel mogen zien."
-
-#: ../../mod/thing.php:278 ../../mod/thing.php:324
-msgid "Name of thing e.g. something"
-msgstr "Naam van ding"
-
-#: ../../mod/thing.php:280 ../../mod/thing.php:325
-msgid "URL of thing (optional)"
-msgstr "URL van ding (optioneel)"
+#: ../../mod/menu.php:31
+msgid "Menu updated."
+msgstr "Menu aangepast. "
-#: ../../mod/thing.php:282 ../../mod/thing.php:326
-msgid "URL for photo of thing (optional)"
-msgstr "URL van foto van ding (optioneel)"
+#: ../../mod/menu.php:35
+msgid "Unable to update menu."
+msgstr "Niet in staat om menu aan te passen"
-#: ../../mod/thing.php:317
-msgid "Add Thing to your Profile"
-msgstr "Ding aan je profiel toevoegen"
+#: ../../mod/menu.php:40
+msgid "Menu created."
+msgstr "Menu aangemaakt."
-#: ../../mod/import.php:25
-#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "Jouw abonnement staat maar %d kanalen toe."
+#: ../../mod/menu.php:44
+msgid "Unable to create menu."
+msgstr "Niet in staat om menu aan te maken."
-#: ../../mod/import.php:51
-msgid "Nothing to import."
-msgstr "Niets gevonden om te importeren"
+#: ../../mod/menu.php:76
+msgid "Manage Menus"
+msgstr "Menu's beheren"
-#: ../../mod/import.php:75
-msgid "Unable to download data from old server"
-msgstr "Niet in staat om gegevens van de oude hub te downloaden"
+#: ../../mod/menu.php:79
+msgid "Drop"
+msgstr "Verwijderen"
-#: ../../mod/import.php:81
-msgid "Imported file is empty."
-msgstr "Geïmporteerde bestand is leeg"
+#: ../../mod/menu.php:81
+msgid "Bookmarks allowed"
+msgstr "Bladwijzers toegestaan"
-#: ../../mod/import.php:105
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."
+#: ../../mod/menu.php:82
+msgid "Create a new menu"
+msgstr "Een nieuwe menu aanmaken"
-#: ../../mod/import.php:123
-msgid "Channel clone failed. Import failed."
-msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt."
+#: ../../mod/menu.php:83
+msgid "Delete this menu"
+msgstr "Menu verwijderen"
-#: ../../mod/import.php:133
-msgid "Cloned channel not found. Import failed."
-msgstr "Gekloond kanaal niet gevonden. Importeren mislukt."
+#: ../../mod/menu.php:84 ../../mod/menu.php:125
+msgid "Edit menu contents"
+msgstr "Bewerk de inhoud van het menu"
-#: ../../mod/import.php:451
-msgid "Import completed."
-msgstr "Import voltooid."
+#: ../../mod/menu.php:85
+msgid "Edit this menu"
+msgstr "Dit menu bewerken"
-#: ../../mod/import.php:463
-msgid "You must be logged in to use this feature."
-msgstr "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken."
+#: ../../mod/menu.php:96
+msgid "New Menu"
+msgstr "Nieuw menu"
-#: ../../mod/import.php:468
-msgid "Import Channel"
-msgstr "Kanaal importeren"
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
+msgid "Menu name"
+msgstr "Naam van menu"
-#: ../../mod/import.php:469
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file. Only identity and connections/relationships will "
-"be imported. Importation of content is not yet available."
-msgstr "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken. Alleen de identiteit en de connecties zullen geïmporteerd worden. Het importeren van inhoud is nog niet beschikbaar."
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
+msgid "Must be unique, only seen by you"
+msgstr "Moet uniek zijn en is alleen zichtbaar voor jou."
-#: ../../mod/import.php:470
-msgid "File to Upload"
-msgstr "Bestand om te uploaden"
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
+msgid "Menu title"
+msgstr "Titel van menu"
-#: ../../mod/import.php:471
-msgid "Or provide the old server/hub details"
-msgstr "Of vul de gegevens van de oude hub in"
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
+msgid "Menu title as seen by others"
+msgstr "Titel van menu zoals anderen dat zien."
-#: ../../mod/import.php:472
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Jouw oude kanaaladres (xyz@example.com)"
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Allow bookmarks"
+msgstr "Bladwijzers toestaan"
-#: ../../mod/import.php:473
-msgid "Your old login email address"
-msgstr "Het e-mailadres van je oude account"
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Menu kan gebruikt worden om bladwijzers in op te slaan"
-#: ../../mod/import.php:474
-msgid "Your old login password"
-msgstr "Wachtwoord van jouw oude account"
+#: ../../mod/menu.php:114
+msgid "Menu deleted."
+msgstr "Menu verwijderd."
-#: ../../mod/import.php:475
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen."
+#: ../../mod/menu.php:116
+msgid "Menu could not be deleted."
+msgstr "Menu kon niet verwijderd worden."
-#: ../../mod/import.php:476
-msgid "Make this hub my primary location"
-msgstr "Stel deze hub als mijn primaire locatie in"
+#: ../../mod/menu.php:122
+msgid "Edit Menu"
+msgstr "Menu bewerken"
-#: ../../mod/import.php:477
-msgid "Import existing posts if possible"
-msgstr "Importeer bestaande berichten (wanneer mogelijk)"
+#: ../../mod/menu.php:124
+msgid "Add or remove entries to this menu"
+msgstr "Items aan dit menu toevoegen of verwijder"
#: ../../mod/invite.php:25
msgid "Total invitation limit exceeded."
@@ -7262,10 +7618,6 @@ msgstr "Uitnodigingen verzenden"
msgid "Enter email addresses, one per line:"
msgstr "Voer e-mailadressen in, één per regel:"
-#: ../../mod/invite.php:131 ../../mod/mail.php:228 ../../mod/mail.php:341
-msgid "Your message:"
-msgstr "Jouw bericht:"
-
#: ../../mod/invite.php:132
msgid "Please join my community on RedMatrix."
msgstr "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op de RedMatrix te vergezellen. Lees meer over de RedMatrix op https://redmatrix.me."
@@ -7290,82 +7642,51 @@ msgstr "of bezoek "
msgid "3. Click [Connect]"
msgstr "3. Klik op [+ Verbinden]"
-#: ../../mod/item.php:150
-msgid "Unable to locate original post."
-msgstr "Niet in staat om de originele locatie van het bericht te vinden. "
-
-#: ../../mod/item.php:409
-msgid "Empty post discarded."
-msgstr "Leeg bericht geannuleerd"
-
-#: ../../mod/item.php:451
-msgid "Executable content type not permitted to this channel."
-msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."
-
-#: ../../mod/item.php:881
-msgid "System error. Post not saved."
-msgstr "Systeemfout. Bericht niet opgeslagen."
-
-#: ../../mod/item.php:1349
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt."
-
-#: ../../mod/item.php:1355
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt."
-
-#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
-#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-msgid "[Embedded content - reload page to view]"
-msgstr "[Ingesloten inhoud - ververs pagina om te bekijken] "
-
-#: ../../mod/layouts.php:62
-msgid "Help with this feature"
-msgstr "Hulp voor dit onderdeel"
+#: ../../mod/network.php:84
+msgid "No such group"
+msgstr "Collectie niet gevonden"
-#: ../../mod/layouts.php:85
-msgid "Layout Name"
-msgstr "Naam lay-out"
+#: ../../mod/network.php:122
+msgid "Search Results For:"
+msgstr "Zoekresultaten voor:"
-#: ../../mod/like.php:15
-msgid "Like/Dislike"
-msgstr "Leuk/niet leuk"
+#: ../../mod/network.php:176
+msgid "Collection is empty"
+msgstr "Collectie is leeg"
-#: ../../mod/like.php:20
-msgid "This action is restricted to members."
-msgstr "Deze actie kan alleen door mensen met een RedMatrix-account worden uitgevoerd."
+#: ../../mod/network.php:184
+msgid "Collection: "
+msgstr "Collectie: "
-#: ../../mod/like.php:21
-msgid ""
-"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
-"href=\"register\">register as a new RedMatrix member</a> to continue."
-msgstr "Je dient <a href=\"rmagic\">in te loggen met je RedMatrix-account</a> of <a href=\"register\">een nieuw RedMatrix-account te registreren</a> om verder te kunnen gaan."
+#: ../../mod/network.php:197
+msgid "Connection: "
+msgstr "Connectie: "
-#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
-msgid "Invalid request."
-msgstr "Ongeldig verzoek"
+#: ../../mod/network.php:200
+msgid "Invalid connection."
+msgstr "Ongeldige connectie."
-#: ../../mod/like.php:119
-msgid "thing"
-msgstr "ding"
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
+msgstr "Ongeldige verzoek identificator (request identifier)"
-#: ../../mod/like.php:165
-msgid "Channel unavailable."
-msgstr "Kanaal niet beschikbaar."
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr "Annuleren"
-#: ../../mod/like.php:204
-msgid "Previous action reversed."
-msgstr "Vorige actie omgedraaid"
+#: ../../mod/notifications.php:94 ../../mod/notify.php:53
+msgid "No more system notifications."
+msgstr "Geen systeemnotificaties meer."
-#: ../../mod/like.php:417
-msgid "Action completed."
-msgstr "Actie voltooid"
+#: ../../mod/notifications.php:98 ../../mod/notify.php:57
+msgid "System Notifications"
+msgstr "Systeemnotificaties"
-#: ../../mod/like.php:418
-msgid "Thank you."
-msgstr "Bedankt"
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
+#: ../../mod/update_home.php:21
+msgid "[Embedded content - reload page to view]"
+msgstr "[Ingesloten inhoud - ververs pagina om te bekijken] "
#: ../../mod/lockview.php:31
msgid "Remote privacy information not available."
@@ -7388,79 +7709,6 @@ msgstr "Bezoek het profiel van %s [%s]"
msgid "View Connnections"
msgstr "Connecties weergeven"
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Geen geldige account gevonden."
-
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail."
-
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Lid van hub (%s)"
-
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend"
-
-#: ../../mod/lostpass.php:63
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."
-
-#: ../../mod/lostpass.php:85 ../../boot.php:1506
-msgid "Password Reset"
-msgstr "Wachtwoord vergeten?"
-
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
-msgstr "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht."
-
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
-msgstr "Jouw nieuwe wachtwoord is"
-
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
-msgstr "Kopieer of sla je nieuwe wachtwoord op - en"
-
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
-msgstr "klik dan hier om in te loggen"
-
-#: ../../mod/lostpass.php:90
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd."
-
-#: ../../mod/lostpass.php:107
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Jouw wachtwoord op %s is veranderd"
-
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
-msgstr "Wachtwoord vergeten?"
-
-#: ../../mod/lostpass.php:123
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies."
-
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
-msgstr "E-mailadres"
-
-#: ../../mod/lostpass.php:125
-msgid "Reset"
-msgstr "Opnieuw instellen"
-
#: ../../mod/magic.php:70
msgid "Hub not found."
msgstr "Hub niet gevonden."
@@ -7473,106 +7721,16 @@ msgstr "Totaal aantal stemmen"
msgid "Average Rating"
msgstr "Gemiddelde waardering"
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr "Niet in staat om ontvanger op te zoeken."
-
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr "Niet in staat om met het aangevraagde kanaal te communiceren."
-
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
-msgstr "Kan opgevraagd kanaal niet verifieren"
-
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt."
-
-#: ../../mod/mail.php:135
-msgid "Message deleted."
-msgstr "Bericht verwijderd."
-
-#: ../../mod/mail.php:152
-msgid "Message recalled."
-msgstr "Bericht ingetrokken."
-
-#: ../../mod/mail.php:218
-msgid "Send Private Message"
-msgstr "Privébericht versturen"
-
-#: ../../mod/mail.php:219 ../../mod/mail.php:336
-msgid "To:"
-msgstr "Aan:"
-
-#: ../../mod/mail.php:224 ../../mod/mail.php:338
-msgid "Subject:"
-msgstr "Onderwerp:"
-
-#: ../../mod/mail.php:235
-msgid "Send"
-msgstr "Verzenden"
-
-#: ../../mod/mail.php:262
-msgid "Message not found."
-msgstr "Bericht niet gevonden"
-
-#: ../../mod/mail.php:305
-msgid "Delete message"
-msgstr "Bericht verwijderen"
-
-#: ../../mod/mail.php:306
-msgid "Recall message"
-msgstr "Bericht intrekken"
-
-#: ../../mod/mail.php:308
-msgid "Message has been recalled."
-msgstr "Bericht is ingetrokken."
-
-#: ../../mod/mail.php:325
-msgid "Private Conversation"
-msgstr "Privéconversatie"
-
-#: ../../mod/mail.php:329 ../../mod/message.php:72
-msgid "Delete conversation"
-msgstr "Verwijder conversatie"
-
-#: ../../mod/mail.php:331
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender."
-
-#: ../../mod/mail.php:335
-msgid "Send Reply"
-msgstr "Antwoord versturen"
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "OpenID-protocolfout. Geen ID terugontvangen."
-#: ../../mod/manage.php:136
+#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:261
#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt."
-
-#: ../../mod/manage.php:144
-msgid "Create a new channel"
-msgstr "Nieuw kanaal aanmaken"
-
-#: ../../mod/manage.php:149
-msgid "Current Channel"
-msgstr "Huidig kanaal"
-
-#: ../../mod/manage.php:151
-msgid "Attach to one of your channels by selecting it."
-msgstr "Gebruik een van jouw kanalen door op een te klikken."
-
-#: ../../mod/manage.php:152
-msgid "Default Channel"
-msgstr "Standaardkanaal"
-
-#: ../../mod/manage.php:153
-msgid "Make Default"
-msgstr "Als standaard instellen"
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Welkom %s. Authenticatie op afstand geslaagd."
-#: ../../mod/wall_upload.php:34
+#: ../../mod/wall_upload.php:35
msgid "Wall Photos"
msgstr "Kanaalfoto's"
@@ -7592,90 +7750,6 @@ msgstr "is geïnteresseerd in:"
msgid "No matches"
msgstr "Geen overeenkomsten"
-#: ../../mod/menu.php:21
-msgid "Menu updated."
-msgstr "Menu aangepast. "
-
-#: ../../mod/menu.php:25
-msgid "Unable to update menu."
-msgstr "Niet in staat om menu aan te passen"
-
-#: ../../mod/menu.php:30
-msgid "Menu created."
-msgstr "Menu aangemaakt."
-
-#: ../../mod/menu.php:34
-msgid "Unable to create menu."
-msgstr "Niet in staat om menu aan te maken."
-
-#: ../../mod/menu.php:57
-msgid "Manage Menus"
-msgstr "Menu's beheren"
-
-#: ../../mod/menu.php:60
-msgid "Drop"
-msgstr "Verwijderen"
-
-#: ../../mod/menu.php:62
-msgid "Create a new menu"
-msgstr "Een nieuwe menu aanmaken"
-
-#: ../../mod/menu.php:63
-msgid "Delete this menu"
-msgstr "Menu verwijderen"
-
-#: ../../mod/menu.php:64 ../../mod/menu.php:109
-msgid "Edit menu contents"
-msgstr "Bewerk de inhoud van het menu"
-
-#: ../../mod/menu.php:65
-msgid "Edit this menu"
-msgstr "Dit menu bewerken"
-
-#: ../../mod/menu.php:80
-msgid "New Menu"
-msgstr "Nieuw menu"
-
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Menu name"
-msgstr "Naam van menu"
-
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Must be unique, only seen by you"
-msgstr "Moet uniek zijn en is alleen zichtbaar voor jou."
-
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title"
-msgstr "Titel van menu"
-
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title as seen by others"
-msgstr "Titel van menu zoals anderen dat zien."
-
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Allow bookmarks"
-msgstr "Bladwijzers toestaan"
-
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Menu kan gebruikt worden om bladwijzers in op te slaan"
-
-#: ../../mod/menu.php:98
-msgid "Menu deleted."
-msgstr "Menu verwijderd."
-
-#: ../../mod/menu.php:100
-msgid "Menu could not be deleted."
-msgstr "Menu kon niet verwijderd worden."
-
-#: ../../mod/menu.php:106
-msgid "Edit Menu"
-msgstr "Menu bewerken"
-
-#: ../../mod/menu.php:108
-msgid "Add or remove entries to this menu"
-msgstr "Items aan dit menu toevoegen of verwijder"
-
#: ../../mod/message.php:41
msgid "Conversation removed."
msgstr "Conversatie verwijderd"
@@ -7698,7 +7772,7 @@ msgid ""
" to hold social network profiles, blogs, conversation groups and forums, "
"celebrity pages, and much more. You may create as many channels as your "
"service provider allows."
-msgstr "Een kanaal is jouw eigen verzameling gerelateerde webpagina's. Een kanaal kan gebruikt worden voor een sociaal netwerk, weblog, discussiegroep of forum, een pagina over een beroemdheid, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat."
+msgstr "Een kanaal is jouw eigen verzameling gerelateerde webpagina's. Een kanaal kan gebruikt worden voor een sociaal netwerk, weblog, discussiegroep of forum, een pagina over een beroemdheid, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat."
#: ../../mod/new_channel.php:113
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
@@ -7719,39 +7793,165 @@ msgid "Or <a href=\"import\">import an existing channel</a> from another locatio
msgstr "Of <a href=\"import\">importeer een bestaand kanaal</a> vanaf een andere locatie."
#: ../../mod/new_channel.php:118
-msgid "Channel Type"
-msgstr "Kanaaltype"
-
-#: ../../mod/new_channel.php:119
msgid ""
"Please choose a channel type (such as social networking or community forum) "
"and privacy requirements so we can select the best permissions for you"
msgstr "Kies een kanaaltype (bijv. een persoonlijk kanaal voor een sociaal netwerk of eentje voor een groepsforum) en jouw behoefte aan privacy, zodat wij voor jou de beste permissies kunnen kiezen."
-#: ../../mod/home.php:46
-msgid "Red Matrix - &quot;The Network&quot;"
-msgstr "RedMatrix - &quot;The Network&quot;"
+#: ../../mod/new_channel.php:119
+msgid "Channel Type"
+msgstr "Kanaaltype"
-#: ../../mod/home.php:101
+#: ../../mod/new_channel.php:119
+msgid "Read more about roles"
+msgstr "Lees meer over kanaaltypes"
+
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
+msgstr "Xchan opzoeken"
+
+#: ../../mod/xchan.php:9
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Zoek een xchan (of webbie) die begint met:"
+
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
+msgstr "ongeldig doelkenmerk"
+
+#: ../../mod/photos.php:77
+msgid "Page owner information could not be retrieved."
+msgstr "Informatie over de pagina-eigenaar werd niet ontvangen."
+
+#: ../../mod/photos.php:97
+msgid "Album not found."
+msgstr "Album niet gevonden."
+
+#: ../../mod/photos.php:119 ../../mod/photos.php:672
+msgid "Delete Album"
+msgstr "Verwijder album"
+
+#: ../../mod/photos.php:159 ../../mod/photos.php:955
+msgid "Delete Photo"
+msgstr "Verwijder foto"
+
+#: ../../mod/photos.php:469
+msgid "No photos selected"
+msgstr "Geen foto's geselecteerd"
+
+#: ../../mod/photos.php:513
+msgid "Access to this item is restricted."
+msgstr "Toegang tot dit item is beperkt."
+
+#: ../../mod/photos.php:552
#, php-format
-msgid "Welcome to %s"
-msgstr "Welkom op %s"
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt."
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Ongeldige verzoek identificator (request identifier)"
+#: ../../mod/photos.php:555
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr "%1$.2f MB aan foto-opslag gebruikt."
-#: ../../mod/notifications.php:35
-msgid "Discard"
-msgstr "Annuleren"
+#: ../../mod/photos.php:579
+msgid "Upload Photos"
+msgstr "Foto's uploaden"
-#: ../../mod/notifications.php:94 ../../mod/notify.php:53
-msgid "No more system notifications."
-msgstr "Geen systeemnotificaties meer."
+#: ../../mod/photos.php:583 ../../mod/photos.php:665 ../../mod/photos.php:940
+msgid "Enter a new album name"
+msgstr "Vul een nieuwe albumnaam in"
-#: ../../mod/notifications.php:98 ../../mod/notify.php:57
-msgid "System Notifications"
-msgstr "Systeemnotificaties"
+#: ../../mod/photos.php:584 ../../mod/photos.php:666 ../../mod/photos.php:941
+msgid "or select an existing one (doubleclick)"
+msgstr "of kies een bestaand album (dubbelklikken)"
+
+#: ../../mod/photos.php:585
+msgid "Do not show a status post for this upload"
+msgstr "Plaats geen bericht voor deze upload."
+
+#: ../../mod/photos.php:613
+msgid "Album name could not be decoded"
+msgstr "Albumnaam kon niet gedecodeerd worden"
+
+#: ../../mod/photos.php:654 ../../mod/photos.php:1164
+#: ../../mod/photos.php:1180
+msgid "Contact Photos"
+msgstr "Connectiefoto's"
+
+#: ../../mod/photos.php:678
+msgid "Show Newest First"
+msgstr "Nieuwste eerst weergeven"
+
+#: ../../mod/photos.php:680
+msgid "Show Oldest First"
+msgstr "Oudste eerst weergeven"
+
+#: ../../mod/photos.php:704 ../../mod/photos.php:1212
+msgid "View Photo"
+msgstr "Foto weergeven"
+
+#: ../../mod/photos.php:733
+msgid "Edit Album"
+msgstr "Album bewerken"
+
+#: ../../mod/photos.php:778
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Toegang geweigerd. Toegang tot dit item kan zijn beperkt."
+
+#: ../../mod/photos.php:780
+msgid "Photo not available"
+msgstr "Foto niet aanwezig"
+
+#: ../../mod/photos.php:838
+msgid "Use as profile photo"
+msgstr "Als profielfoto gebruiken"
+
+#: ../../mod/photos.php:845
+msgid "Private Photo"
+msgstr "Privéfoto"
+
+#: ../../mod/photos.php:860
+msgid "View Full Size"
+msgstr "Volledige grootte weergeven"
+
+#: ../../mod/photos.php:934
+msgid "Edit photo"
+msgstr "Foto bewerken"
+
+#: ../../mod/photos.php:936
+msgid "Rotate CW (right)"
+msgstr "Draai met de klok mee (naar rechts)"
+
+#: ../../mod/photos.php:937
+msgid "Rotate CCW (left)"
+msgstr "Draai tegen de klok in (naar links)"
+
+#: ../../mod/photos.php:944
+msgid "Caption"
+msgstr "Bijschrift"
+
+#: ../../mod/photos.php:946
+msgid "Add a Tag"
+msgstr "Tag toevoegen"
+
+#: ../../mod/photos.php:950
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl"
+
+#: ../../mod/photos.php:953
+msgid "Flag as adult in album view"
+msgstr "Markeer als voor volwassenen in albumweergave"
+
+#: ../../mod/photos.php:1130
+msgid "In This Photo:"
+msgstr "Op deze foto:"
+
+#: ../../mod/photos.php:1218
+msgid "View Album"
+msgstr "Album weergeven"
+
+#: ../../mod/photos.php:1241
+msgid "Recent Photos"
+msgstr "Recente foto's"
#: ../../mod/oexchange.php:23
msgid "Unable to find your hub."
@@ -7761,13 +7961,55 @@ msgstr "Niet in staat om je hub te vinden"
msgid "Post successful."
msgstr "Verzenden bericht geslaagd."
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
-msgstr "ongeldig doelkenmerk"
+#: ../../mod/directory.php:201
+msgid "Gender: "
+msgstr "Geslacht:"
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "OpenID-protocolfout. Geen ID terugontvangen."
+#: ../../mod/directory.php:203
+msgid "Status: "
+msgstr "Status: "
+
+#: ../../mod/directory.php:205
+msgid "Homepage: "
+msgstr "Homepage: "
+
+#: ../../mod/directory.php:208
+msgid "Hometown: "
+msgstr "Oorspronkelijk uit: "
+
+#: ../../mod/directory.php:210
+msgid "About: "
+msgstr "Over: "
+
+#: ../../mod/directory.php:265
+msgid "Public Forum:"
+msgstr "Openbaar forum:"
+
+#: ../../mod/directory.php:268
+msgid "Keywords: "
+msgstr "Trefwoorden: "
+
+#: ../../mod/directory.php:318
+msgid "Finding:"
+msgstr "Gezocht naar:"
+
+#: ../../mod/directory.php:323
+msgid "next page"
+msgstr "volgende pagina"
+
+#: ../../mod/directory.php:323
+msgid "previous page"
+msgstr "vorige pagina"
+
+#: ../../mod/directory.php:340
+msgid "No entries (some entries may be hidden)."
+msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)."
+
+#: ../../mod/post.php:229
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen."
#: ../../mod/appman.php:28 ../../mod/appman.php:44
msgid "App installed."
@@ -7857,31 +8099,6 @@ msgstr "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het
msgid "No service class restrictions found."
msgstr "Geen abonnementsbeperkingen gevonden."
-#: ../../mod/impel.php:33
-msgid "webpage"
-msgstr "Webpagina"
-
-#: ../../mod/impel.php:38
-msgid "block"
-msgstr "blok"
-
-#: ../../mod/impel.php:43
-msgid "layout"
-msgstr "lay-out"
-
-#: ../../mod/impel.php:117
-#, php-format
-msgid "%s element installed"
-msgstr "%s onderdeel geïnstalleerd"
-
-#: ../../mod/locs.php:47 ../../mod/locs.php:74
-msgid "Location not found."
-msgstr "Locatie niet gevonden."
-
-#: ../../mod/locs.php:78
-msgid "Primary location cannot be removed."
-msgstr "Primaire locatie kan niet worden verwijderd."
-
#: ../../view/theme/apw/php/config.php:202
#: ../../view/theme/apw/php/config.php:236
msgid "Schema Default"
@@ -7896,8 +8113,6 @@ msgid "Monospace"
msgstr "Monospace"
#: ../../view/theme/apw/php/config.php:259
-#: ../../view/theme/blogga/php/config.php:69
-#: ../../view/theme/blogga/view/theme/blog/config.php:69
#: ../../view/theme/redbasic/php/config.php:102
msgid "Theme settings"
msgstr "Thema-instellingen"
@@ -8028,21 +8243,6 @@ msgstr "Rechter offset van aside (zijbalk)"
msgid "Right offset of the aside element"
msgstr "Rechter offset van het aside-element"
-#: ../../view/theme/blogga/php/config.php:47
-#: ../../view/theme/blogga/view/theme/blog/config.php:47
-msgid "None"
-msgstr "Geen"
-
-#: ../../view/theme/blogga/php/config.php:70
-#: ../../view/theme/blogga/view/theme/blog/config.php:70
-msgid "Header image"
-msgstr "Header-afbeelding"
-
-#: ../../view/theme/blogga/php/config.php:71
-#: ../../view/theme/blogga/view/theme/blog/config.php:71
-msgid "Header image only on profile pages"
-msgstr "Header-afbeelding alleen op profielpagina's weergeven"
-
#: ../../view/theme/redbasic/php/config.php:84
msgid "Light (Red Matrix default)"
msgstr "Light (RedMatrix-standaard)"
@@ -8167,41 +8367,41 @@ msgstr "Rommelig vormgegeven fotoalbums"
msgid "Are you a clean desk or a messy desk person?"
msgstr "Ben je iemand die van een opgeruimd bureau houdt of van een rommelig bureau?"
-#: ../../boot.php:1294
+#: ../../boot.php:1347
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Update %s mislukt. Zie foutenlogboek."
-#: ../../boot.php:1297
+#: ../../boot.php:1350
#, php-format
msgid "Update Error at %s"
msgstr "Update-fout op %s"
-#: ../../boot.php:1471
+#: ../../boot.php:1517
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr "Maak een account aan om toegang te krijgen tot diensten en toepassingen van de RedMatrix"
-#: ../../boot.php:1499
+#: ../../boot.php:1545
msgid "Password"
msgstr "Wachtwoord"
-#: ../../boot.php:1500
+#: ../../boot.php:1546
msgid "Remember me"
msgstr "Aangemeld blijven"
-#: ../../boot.php:1505
+#: ../../boot.php:1549
msgid "Forgot your password?"
msgstr "Wachtwoord vergeten?"
-#: ../../boot.php:1570
+#: ../../boot.php:1630
msgid "permission denied"
msgstr "toegang geweigerd"
-#: ../../boot.php:1571
+#: ../../boot.php:1631
msgid "Got Zot?"
msgstr "Heb je Zot?"
-#: ../../boot.php:2005
+#: ../../boot.php:2114
msgid "toggle mobile"
msgstr "mobiele weergave omschakelen"
diff --git a/view/nl/strings.php b/view/nl/strings.php
index ead04a495..8632c2e2b 100644
--- a/view/nl/strings.php
+++ b/view/nl/strings.php
@@ -7,9 +7,6 @@ function string_plural_select_nl($n){
;
$a->strings["Cannot locate DNS info for database server '%s'"] = "Kan DNS-informatie voor databaseserver '%s' niet vinden";
$a->strings["Profile Photos"] = "Profielfoto's";
-$a->strings["view full size"] = "volledige grootte tonen";
-$a->strings["Embedded content"] = "Ingesloten inhoud";
-$a->strings["Embedding disabled"] = "Insluiten uitgeschakeld";
$a->strings["Permission denied"] = "Toegang geweigerd";
$a->strings["(Unknown)"] = "(Onbekend)";
$a->strings["Visible to anybody on the internet."] = "Voor iedereen op het internet zichtbaar.";
@@ -27,42 +24,89 @@ $a->strings["Collection is empty."] = "Collectie is leeg";
$a->strings["Collection: %s"] = "Collectie: %s";
$a->strings["Connection: %s"] = "Connectie: %s";
$a->strings["Connection not found."] = "Connectie niet gevonden.";
+$a->strings["Edit"] = "Bewerken";
+$a->strings["No recipient provided."] = "Geen ontvanger opgegeven.";
+$a->strings["[no subject]"] = "[geen onderwerp]";
+$a->strings["Unable to determine sender."] = "Afzender kan niet bepaald worden.";
+$a->strings["Stored post could not be verified."] = "Opgeslagen bericht kon niet worden geverifieerd.";
+$a->strings["view full size"] = "volledige grootte tonen";
+$a->strings["Can view my normal stream and posts"] = "Kan mijn normale kanaalstream en berichten bekijken";
+$a->strings["Can view my default channel profile"] = "Kan mijn standaard kanaalprofiel bekijken";
+$a->strings["Can view my photo albums"] = "Kan mijn fotoalbums bekijken";
+$a->strings["Can view my connections"] = "Kan een lijst met mijn connecties bekijken";
+$a->strings["Can view my file storage"] = "Kan mijn bestanden bekijken";
+$a->strings["Can view my webpages"] = "Kan mijn pagina's bekijken";
+$a->strings["Can send me their channel stream and posts"] = "Kan mij de inhoud van hun kanaal en berichten sturen";
+$a->strings["Can post on my channel page (\"wall\")"] = "Kan een bericht in mijn kanaal plaatsen";
+$a->strings["Can comment on or like my posts"] = "Kan op mijn berichten reageren of deze (niet) leuk vinden";
+$a->strings["Can send me private mail messages"] = "Kan mij privéberichten sturen";
+$a->strings["Can post photos to my photo albums"] = "Kan foto's aan mijn fotoalbums toevoegen";
+$a->strings["Can like/dislike stuff"] = "Kan dingen leuk of niet leuk vinden";
+$a->strings["Profiles and things other than posts/comments"] = "Profielen en dingen, buiten berichten en reacties";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+";
+$a->strings["Advanced - useful for creating group forum channels"] = "Geavanceerd - nuttig voor groepforums";
+$a->strings["Can chat with me (when available)"] = "Kan met mij chatten (wanneer beschikbaar)";
+$a->strings["Can write to my file storage"] = "Kan bestanden aan mijn bestandsopslag toevoegen";
+$a->strings["Can edit my webpages"] = "Kan mijn pagina's bewerken";
+$a->strings["Can source my public posts in derived channels"] = "Kan mijn openbare berichten als bron voor andere kanalen gebruiken";
+$a->strings["Somewhat advanced - very useful in open communities"] = "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)";
+$a->strings["Can administer my channel resources"] = "Kan mijn kanaal beheren";
+$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet.";
+$a->strings["Social Networking"] = "Sociaal netwerk";
+$a->strings["Mostly Public"] = "Vrijwel alles openbaar";
+$a->strings["Restricted"] = "Beperkt zichtbaar";
+$a->strings["Private"] = "Verborgen kanaal";
+$a->strings["Community Forum"] = "Groepsforum";
+$a->strings["Feed Republish"] = "Feed herpubliceren";
+$a->strings["Special Purpose"] = "Speciaal doel";
+$a->strings["Celebrity/Soapbox"] = "Beroemdheid/alleen volgen";
+$a->strings["Group Repository"] = "Groepsopslag";
+$a->strings["Other"] = "Anders";
+$a->strings["Custom/Expert Mode"] = "Expertmodus/handmatig aanpassen";
$a->strings["created a new post"] = "maakte een nieuw bericht aan";
$a->strings["commented on %s's post"] = "gaf een reactie op een bericht van %s";
-$a->strings["Site Admin"] = "Hubbeheerder";
-$a->strings["Bookmarks"] = "Bladwijzers";
-$a->strings["Address Book"] = "Connecties";
-$a->strings["Login"] = "Inloggen";
-$a->strings["Channel Manager"] = "Kanaalbeheer";
-$a->strings["Matrix"] = "Matrix";
-$a->strings["Settings"] = "Instellingen";
-$a->strings["Files"] = "Bestanden";
-$a->strings["Webpages"] = "Webpagina's";
-$a->strings["Channel Home"] = "Tijdlijn kanaal";
-$a->strings["Profile"] = "Profiel";
-$a->strings["Photos"] = "Foto's";
-$a->strings["Events"] = "Agenda";
-$a->strings["Directory"] = "Gids";
-$a->strings["Help"] = "Hulp";
-$a->strings["Mail"] = "Privéberichten";
-$a->strings["Mood"] = "Stemming";
-$a->strings["Poke"] = "Aanstoten";
-$a->strings["Chat"] = "Chatten";
-$a->strings["Search"] = "Zoeken";
-$a->strings["Probe"] = "Onderzoeken";
-$a->strings["Suggest"] = "Voorstellen";
-$a->strings["Random Channel"] = "Willekeurig kanaal";
-$a->strings["Invite"] = "Uitnodigen ";
-$a->strings["Features"] = "Extra functies";
-$a->strings["Language"] = "Taal";
-$a->strings["Post"] = "Bericht";
-$a->strings["Profile Photo"] = "Profielfoto";
-$a->strings["Update"] = "Bijwerken";
-$a->strings["Install"] = "Installeren";
-$a->strings["Purchase"] = "Aanschaffen";
-$a->strings["Edit"] = "Bewerken";
-$a->strings["Delete"] = "Verwijderen";
-$a->strings["Unknown"] = "Onbekend";
+$a->strings["Tags"] = "Tags";
+$a->strings["Categories"] = "Categorieën";
+$a->strings["Keywords"] = "Trefwoorden";
+$a->strings["have"] = "heb";
+$a->strings["has"] = "heeft";
+$a->strings["want"] = "wil";
+$a->strings["wants"] = "wil";
+$a->strings["like"] = "vind dit leuk";
+$a->strings["likes"] = "vindt dit leuk";
+$a->strings["dislike"] = "vind dit niet leuk";
+$a->strings["dislikes"] = "vindt dit niet leuk";
+$a->strings["__ctx:noun__ Like"] = array(
+ 0 => "vindt dit leuk",
+ 1 => "vinden dit leuk",
+);
+$a->strings["New Page"] = "Nieuwe pagina";
+$a->strings["View"] = "Weergeven";
+$a->strings["Preview"] = "Voorvertoning";
+$a->strings["Actions"] = "Acties";
+$a->strings["Page Link"] = "Paginalink";
+$a->strings["Title"] = "Titel";
+$a->strings["Created"] = "Aangemaakt";
+$a->strings["Edited"] = "Bewerkt";
+$a->strings["Embedded content"] = "Ingesloten inhoud";
+$a->strings["Embedding disabled"] = "Insluiten uitgeschakeld";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
+$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
+$a->strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
+$a->strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
+$a->strings["Photo Albums"] = "Fotoalbums";
+$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden";
+$a->strings[" and "] = " en ";
+$a->strings["public profile"] = "openbaar profiel";
+$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s veranderde %2\$s naar &ldquo;%3\$s&rdquo;";
+$a->strings["Visit %1\$s's %2\$s"] = "Bezoek het %2\$s van %1\$s";
+$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepaste %2\$s, %3\$s veranderd.";
+$a->strings["Attachments:"] = "Bijlagen:";
+$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
+$a->strings["Redmatrix event notification:"] = "Notificatie RedMatrix-gebeurtenis:";
+$a->strings["Starts:"] = "Start:";
+$a->strings["Finishes:"] = "Einde:";
+$a->strings["Location:"] = "Plaats:";
$a->strings["Item was not found."] = "Item niet gevonden";
$a->strings["No source file."] = "Geen bronbestand.";
$a->strings["Cannot locate file to replace"] = "Kan het te vervangen bestand niet vinden";
@@ -77,82 +121,121 @@ $a->strings["duplicate filename or path"] = "dubbele bestandsnaam of pad";
$a->strings["Path not found."] = "Pad niet gevonden";
$a->strings["mkdir failed."] = "directory aanmaken (mkdir) mislukt.";
$a->strings["database storage failed."] = "opslag in database mislukt.";
-$a->strings["New Page"] = "Nieuwe pagina";
-$a->strings["View"] = "Weergeven";
-$a->strings["Preview"] = "Voorvertoning";
-$a->strings["Actions"] = "Acties";
-$a->strings["Page Link"] = "Paginalink";
-$a->strings["Title"] = "Titel";
-$a->strings["Created"] = "Aangemaakt";
-$a->strings["Edited"] = "Bewerkt";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. ";
-$a->strings["Categories"] = "Categorieën";
-$a->strings["Apps"] = "Apps";
-$a->strings["System"] = "Systeem";
-$a->strings["Personal"] = "Persoonlijk";
-$a->strings["Create Personal App"] = "Persoonlijke app maken";
-$a->strings["Edit Personal App"] = "Persoonlijke app bewerken";
-$a->strings["Connect"] = "Verbinden";
-$a->strings["Ignore/Hide"] = "Negeren/Verbergen";
-$a->strings["Suggestions"] = "Voorgestelde kanalen";
-$a->strings["See more..."] = "Meer...";
-$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
-$a->strings["Add New Connection"] = "Nieuwe connectie toevoegen";
-$a->strings["Enter the channel address"] = "Vul het adres van het nieuwe kanaal in";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: bob@example.com, http://example.com/barbara";
-$a->strings["Notes"] = "Aantekeningen";
-$a->strings["Save"] = "Opslaan";
-$a->strings["Remove term"] = "Verwijder zoekterm";
+$a->strings["General Features"] = "Algemene functies";
+$a->strings["Content Expiration"] = "Inhoud laten verlopen";
+$a->strings["Remove posts/comments and/or private messages at a future time"] = "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen";
+$a->strings["Multiple Profiles"] = "Meerdere profielen";
+$a->strings["Ability to create multiple profiles"] = "Mogelijkheid om meerdere profielen aan te maken";
+$a->strings["Advanced Profiles"] = "Geavanceerde profielen";
+$a->strings["Additional profile sections and selections"] = "Extra onderdelen en keuzes voor je profiel";
+$a->strings["Profile Import/Export"] = "Profiel importen/exporteren";
+$a->strings["Save and load profile details across sites/channels"] = "Profielgegevens opslaan en in andere hubs/kanalen gebruiken.";
+$a->strings["Web Pages"] = "Webpagina's";
+$a->strings["Provide managed web pages on your channel"] = "Sta beheerde webpagina's op jouw kanaal toe";
+$a->strings["Private Notes"] = "Privé-aantekeningen";
+$a->strings["Enables a tool to store notes and reminders"] = "Schakelt een eenvoudige toepassing in om aantekeningen en herinneringen in op te slaan";
+$a->strings["Navigation Channel Select"] = "Kanaal kiezen in navigatiemenu";
+$a->strings["Change channels directly from within the navigation dropdown menu"] = "Kies een ander kanaal direct vanuit het dropdown-menu op de navigatiebalk";
+$a->strings["Extended Identity Sharing"] = "Uitgebreid identiteit delen";
+$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Deel jouw RedMatrix-identiteit met alle websites op het internet. Wanneer dit is uitgeschakeld wordt je identiteit alleen binnen het RedMatrix-netwerk gedeeld. Schakel dit alleen als je weet wat je doet.";
+$a->strings["Expert Mode"] = "Expertmodus";
+$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Schakel de expertmodus in voor geavanceerde instellingen";
+$a->strings["Premium Channel"] = "Premiumkanaal";
+$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal";
+$a->strings["Post Composition Features"] = "Functies voor het opstellen van berichten";
+$a->strings["Use Markdown"] = "Markdown gebruiken";
+$a->strings["Allow use of \"Markdown\" to format posts"] = "Sta het gebruik van \"markdown\" toe om berichten mee op te maken.";
+$a->strings["Channel Sources"] = "Kanaalbronnen";
+$a->strings["Automatically import channel content from other channels or feeds"] = "Automatisch inhoud uit andere kanalen of feeds importeren.";
+$a->strings["Even More Encryption"] = "Extra encryptie";
+$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Sta toe dat inhoud extra end-to-end wordt versleuteld met een gedeelde geheime sleutel.";
+$a->strings["Flag Adult Photos"] = "Markeer foto's als voor volwassenen";
+$a->strings["Provide photo edit option to hide adult photos from default album view"] = "Zorgt voor een optie om foto's met inhoud voor volwassenen in de standaard albumweergave te verbergen";
+$a->strings["Network and Stream Filtering"] = "Netwerk- en streamfilter";
+$a->strings["Search by Date"] = "Zoek op datum";
+$a->strings["Ability to select posts by date ranges"] = "Mogelijkheid om berichten op datum te filteren ";
+$a->strings["Collections Filter"] = "Filter op collecties";
+$a->strings["Enable widget to display Network posts only from selected collections"] = "Sta de widget toe om netwerkberichten te tonen van bepaalde collecties";
$a->strings["Saved Searches"] = "Opgeslagen zoekopdrachten";
-$a->strings["add"] = "toevoegen";
+$a->strings["Save search terms for re-use"] = "Sla zoekopdrachten op voor hergebruik";
+$a->strings["Network Personal Tab"] = "Persoonlijke netwerktab";
+$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had";
+$a->strings["Network New Tab"] = "Nieuwe netwerktab";
+$a->strings["Enable tab to display all new Network activity"] = "Laat de tab alle nieuwe netwerkactiviteit tonen";
+$a->strings["Affinity Tool"] = "Verwantschapsfilter";
+$a->strings["Filter stream activity by depth of relationships"] = "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag";
+$a->strings["Suggest Channels"] = "Kanalen voorstellen";
+$a->strings["Show channel suggestions"] = "Voor jou mogelijk interessante kanalen voorstellen";
+$a->strings["Post/Comment Tools"] = "Bericht- en reactiehulpmiddelen";
+$a->strings["Tagging"] = "Taggen";
+$a->strings["Ability to tag existing posts"] = "Mogelijkheid om bestaande berichten te taggen";
+$a->strings["Post Categories"] = "Categorieën berichten";
+$a->strings["Add categories to your posts"] = "Voeg categorieën toe aan je berichten";
$a->strings["Saved Folders"] = "Bewaarde mappen";
-$a->strings["Everything"] = "Alles";
-$a->strings["Archives"] = "Archieven";
-$a->strings["Refresh"] = "Vernieuwen";
-$a->strings["Me"] = "Ik";
-$a->strings["Best Friends"] = "Goede vrienden";
-$a->strings["Friends"] = "Vrienden";
-$a->strings["Co-workers"] = "Collega's";
-$a->strings["Former Friends"] = "Oude vrienden";
-$a->strings["Acquaintances"] = "Kennissen";
-$a->strings["Everybody"] = "Iedereen";
-$a->strings["Account settings"] = "Account";
-$a->strings["Channel settings"] = "Kanaal";
-$a->strings["Additional features"] = "Extra functies";
-$a->strings["Feature settings"] = "Plug-ins";
-$a->strings["Display settings"] = "Weergave";
-$a->strings["Connected apps"] = "Verbonden applicaties";
-$a->strings["Export channel"] = "Kanaal exporteren";
-$a->strings["Export content"] = "Inhoud exporteren";
-$a->strings["Automatic Permissions (Advanced)"] = "Automatische permissies (geavanceerd)";
-$a->strings["Premium Channel Settings"] = "Instellingen premiumkanaal";
-$a->strings["Channel Sources"] = "Kanaalbronnen";
-$a->strings["Messages"] = "Berichten";
-$a->strings["Check Mail"] = "Controleer op nieuwe berichten";
-$a->strings["New Message"] = "Nieuw bericht";
-$a->strings["Chat Rooms"] = "Chatkanalen";
-$a->strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen";
-$a->strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen";
-$a->strings["Invalid data packet"] = "Datapakket ongeldig";
-$a->strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
-$a->strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
-$a->strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
-$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
-$a->strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
-$a->strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
-$a->strings["Photo Albums"] = "Fotoalbums";
-$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden";
+$a->strings["Ability to file posts under folders"] = "Mogelijkheid om berichten in mappen op te slaan";
+$a->strings["Dislike Posts"] = "Vind berichten niet leuk";
+$a->strings["Ability to dislike posts/comments"] = "Mogelijkheid om berichten en reacties niet leuk te vinden";
+$a->strings["Star Posts"] = "Geef berichten een ster";
+$a->strings["Ability to mark special posts with a star indicator"] = "Mogelijkheid om speciale berichten met een ster te markeren";
+$a->strings["Tag Cloud"] = "Tagwolk";
+$a->strings["Provide a personal tag cloud on your channel page"] = "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina";
+$a->strings["parent"] = "omhoog";
+$a->strings["Collection"] = "map";
+$a->strings["Principal"] = "principal";
+$a->strings["Addressbook"] = "Adresboek";
+$a->strings["Calendar"] = "Agenda";
+$a->strings["Schedule Inbox"] = "Planning-postvak IN";
+$a->strings["Schedule Outbox"] = "Planning-postvak UIT";
+$a->strings["Unknown"] = "Onbekend";
+$a->strings["%1\$s used"] = "%1\$s gebruikt";
+$a->strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s van %2\$s gebruikt (%3\$s&#37;)";
+$a->strings["Files"] = "Bestanden";
+$a->strings["Total"] = "Totaal";
+$a->strings["Name"] = "Naam";
+$a->strings["Type"] = "Type";
+$a->strings["Size"] = "Grootte";
+$a->strings["Last Modified"] = "Laatst gewijzigd";
+$a->strings["Delete"] = "Verwijderen";
+$a->strings["Create new folder"] = "Nieuwe map aanmaken";
+$a->strings["Create"] = "Aanmaken";
+$a->strings["Upload file"] = "Bestand uploaden";
+$a->strings["Upload"] = "Uploaden";
+$a->strings["%1\$s's bookmarks"] = "Bladwijzers van %1\$s";
+$a->strings["Directory Options"] = "Opties kanalengids";
+$a->strings["Alphabetic"] = "Alfabetisch";
+$a->strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch";
+$a->strings["Newest to Oldest"] = "Nieuw naar oud";
+$a->strings["Oldest to Newest"] = "Oud naar nieuw";
+$a->strings["Public Forums Only"] = "Alleen openbare forums";
+$a->strings["Sort"] = "Sorteren";
+$a->strings["Enable Safe Search"] = "Veilig zoeken inschakelen";
+$a->strings["Disable Safe Search"] = "Veilig zoeken uitschakelen";
+$a->strings["Safe Mode"] = "Veilig zoeken";
+$a->strings["Default"] = "Standaard";
+$a->strings["Frequently"] = "Regelmatig";
+$a->strings["Hourly"] = "Elk uur";
+$a->strings["Twice daily"] = "Twee keer per dag";
+$a->strings["Daily"] = "Dagelijks";
+$a->strings["Weekly"] = "Wekelijks";
+$a->strings["Monthly"] = "Maandelijks";
+$a->strings["Friendica"] = "Friendica";
+$a->strings["OStatus"] = "OStatus";
+$a->strings["RSS/Atom"] = "RSS/Atom";
+$a->strings["Email"] = "E-mail";
+$a->strings["Diaspora"] = "Diaspora";
+$a->strings["Facebook"] = "Facebook";
+$a->strings["Zot!"] = "Zot!";
+$a->strings["LinkedIn"] = "LinkedIn";
+$a->strings["XMPP/IM"] = "XMPP/IM";
+$a->strings["MySpace"] = "MySpace";
+$a->strings["Logged out."] = "Uitgelogd.";
+$a->strings["Failed authentication"] = "Mislukte authenticatie";
+$a->strings["Login failed."] = "Inloggen mislukt.";
$a->strings["Visible to your default audience"] = "Voor iedereen zichtbaar, mits niet anders ingesteld";
$a->strings["Show"] = "Tonen";
$a->strings["Don't show"] = "Niet tonen";
$a->strings["Permissions"] = "Permissies";
$a->strings["Close"] = "Sluiten";
-$a->strings[" and "] = " en ";
-$a->strings["public profile"] = "openbaar profiel";
-$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s veranderde %2\$s naar &ldquo;%3\$s&rdquo;";
-$a->strings["Visit %1\$s's %2\$s"] = "Bezoek het %2\$s van %1\$s";
-$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepaste %2\$s, %3\$s veranderd.";
-$a->strings["Public Timeline"] = "Openbare tijdlijn";
$a->strings["Unable to obtain identity information from database"] = "Niet in staat om identiteitsinformatie uit de database te verkrijgen";
$a->strings["Empty name"] = "Ontbrekende naam";
$a->strings["Name too long"] = "Naam te lang";
@@ -162,8 +245,10 @@ $a->strings["Reserved nickname. Please choose another."] = "Deze naam is gereser
$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik.";
$a->strings["Unable to retrieve created identity"] = "Niet in staat om aangemaakte identiteit te vinden";
$a->strings["Default Profile"] = "Standaardprofiel";
+$a->strings["Friends"] = "Vrienden";
$a->strings["Requested channel is not available."] = "Opgevraagd kanaal is niet beschikbaar.";
$a->strings["Requested profile is not available."] = "Opgevraagd profiel is niet beschikbaar";
+$a->strings["Connect"] = "Verbinden";
$a->strings["Change profile photo"] = "Profielfoto veranderen";
$a->strings["Profiles"] = "Profielen";
$a->strings["Manage/edit profiles"] = "Profielen beheren/bewerken";
@@ -172,7 +257,6 @@ $a->strings["Edit Profile"] = "Profiel bewerken";
$a->strings["Profile Image"] = "Profielfoto";
$a->strings["visible to everybody"] = "Voor iedereen zichtbaar";
$a->strings["Edit visibility"] = "Zichtbaarheid bewerken";
-$a->strings["Location:"] = "Plaats:";
$a->strings["Gender:"] = "Geslacht:";
$a->strings["Status:"] = "Status:";
$a->strings["Homepage:"] = "Homepagina:";
@@ -185,12 +269,9 @@ $a->strings["Birthdays this week:"] = "Verjaardagen deze week:";
$a->strings["[No description]"] = "[Geen omschrijving]";
$a->strings["Event Reminders"] = "Herinneringen";
$a->strings["Events this week:"] = "Gebeurtenissen deze week:";
+$a->strings["Profile"] = "Profiel";
$a->strings["Full Name:"] = "Volledige naam:";
$a->strings["Like this channel"] = "Vind dit kanaal leuk";
-$a->strings["__ctx:noun__ Like"] = array(
- 0 => "vindt dit leuk",
- 1 => "vinden dit leuk",
-);
$a->strings["j F, Y"] = "F j Y";
$a->strings["j F"] = "F j";
$a->strings["Birthday:"] = "Geboortedatum:";
@@ -198,7 +279,7 @@ $a->strings["Age:"] = "Leeftijd:";
$a->strings["for %1\$d %2\$s"] = "voor %1\$d %2\$s";
$a->strings["Sexual Preference:"] = "Seksuele voorkeur:";
$a->strings["Hometown:"] = "Oorspronkelijk uit:";
-$a->strings["Tags:"] = "Trefwoorden:";
+$a->strings["Tags:"] = "Tags:";
$a->strings["Political Views:"] = "Politieke overtuigingen:";
$a->strings["Religion:"] = "Religie:";
$a->strings["About:"] = "Over:";
@@ -215,16 +296,159 @@ $a->strings["Love/Romance:"] = "Liefde/romantiek:";
$a->strings["Work/employment:"] = "Werk/beroep:";
$a->strings["School/education:"] = "School/opleiding:";
$a->strings["Like this thing"] = "Vind dit ding leuk";
+$a->strings["%d invitation available"] = array(
+ 0 => "%d uitnodiging beschikbaar",
+ 1 => "%d uitnodigingen beschikbaar",
+);
+$a->strings["Advanced"] = "Geavanceerd";
+$a->strings["Find Channels"] = "Kanalen vinden";
+$a->strings["Enter name or interest"] = "Vul naam of interesse in";
+$a->strings["Connect/Follow"] = "Verbinden/volgen";
+$a->strings["Examples: Robert Morgenstein, Fishing"] = "Voorbeeld: Robert Morgenstein, vissen";
+$a->strings["Find"] = "Vinden";
+$a->strings["Channel Suggestions"] = "Voorgestelde kanalen";
+$a->strings["Random Profile"] = "Willekeurig profiel";
+$a->strings["Invite Friends"] = "Vrienden uitnodigen";
+$a->strings["Advanced example: name=fred and country=iceland"] = "Geavanceerd voorbeeld (Engels): name=jan en country=nederland";
+$a->strings["Everything"] = "Alles";
+$a->strings["%d connection in common"] = array(
+ 0 => "%d gemeenschappelijke connectie",
+ 1 => "%d gemeenschappelijke connecties",
+);
+$a->strings["show more"] = "meer connecties weergeven";
+$a->strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
+$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken.";
+$a->strings["Default privacy group for new contacts"] = "Standaard privacy-collectie voor nieuwe kanalen";
+$a->strings["All Channels"] = "Alle kanalen";
+$a->strings["edit"] = "bewerken";
+$a->strings["Collections"] = "Collecties";
+$a->strings["Edit collection"] = "Collectie bewerken";
+$a->strings["Create a new collection"] = "Nieuwe collectie aanmaken";
+$a->strings["Channels not in any collection"] = "Kanalen die zich in geen enkele collectie bevinden";
+$a->strings["add"] = "toevoegen";
+$a->strings["Not a valid email address"] = "Geen geldig e-mailadres";
+$a->strings["Your email domain is not among those allowed on this site"] = "Jouw e-maildomein is op deze RedMatrix-hub niet toegestaan";
+$a->strings["Your email address is already registered at this site."] = "Jouw e-mailadres is al op deze RedMatrix-hub geregistreerd.";
+$a->strings["An invitation is required."] = "Een uitnodiging is vereist";
+$a->strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden";
+$a->strings["Please enter the required information."] = "Vul de vereiste informatie in.";
+$a->strings["Failed to store account information."] = "Account-informatie kon niet opgeslagen worden.";
+$a->strings["Registration confirmation for %s"] = "Registratiebevestiging voor %s";
+$a->strings["Registration request at %s"] = "Registratiebevestiging voor %s";
+$a->strings["Administrator"] = "Beheerder";
+$a->strings["your registration password"] = "jouw registratiewachtwoord";
+$a->strings["Registration details for %s"] = "Registratiegegevens voor %s";
+$a->strings["Account approved."] = "Account goedgekeurd";
+$a->strings["Registration revoked for %s"] = "Registratie ingetrokken voor %s";
+$a->strings["Account verified. Please login."] = "Account is geverifieerd. Je kan inloggen.";
+$a->strings["Click here to upgrade."] = "Klik hier om te upgraden.";
+$a->strings["This action exceeds the limits set by your subscription plan."] = "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden.";
+$a->strings["This action is not available under your subscription plan."] = "Deze handeling is niet mogelijk met jouw abonnement.";
+$a->strings["prev"] = "vorige";
+$a->strings["first"] = "eerste";
+$a->strings["last"] = "laatste";
+$a->strings["next"] = "volgende";
+$a->strings["older"] = "ouder";
+$a->strings["newer"] = "nieuwer";
+$a->strings["No connections"] = "Geen connecties";
+$a->strings["%d Connection"] = array(
+ 0 => "%d connectie",
+ 1 => "%d connecties",
+);
+$a->strings["View Connections"] = "Connecties weergeven";
+$a->strings["Search"] = "Zoeken";
+$a->strings["Save"] = "Opslaan";
+$a->strings["poke"] = "aanstoten";
+$a->strings["poked"] = "aangestoten";
+$a->strings["ping"] = "ping";
+$a->strings["pinged"] = "gepingd";
+$a->strings["prod"] = "por";
+$a->strings["prodded"] = "gepord";
+$a->strings["slap"] = "slaan";
+$a->strings["slapped"] = "sloeg";
+$a->strings["finger"] = "finger";
+$a->strings["fingered"] = "gefingerd";
+$a->strings["rebuff"] = "afpoeieren";
+$a->strings["rebuffed"] = "afgepoeierd";
+$a->strings["happy"] = "gelukkig";
+$a->strings["sad"] = "bedroefd";
+$a->strings["mellow"] = "mellow";
+$a->strings["tired"] = "moe";
+$a->strings["perky"] = "parmantig";
+$a->strings["angry"] = "boos";
+$a->strings["stupified"] = "beteuterd";
+$a->strings["puzzled"] = "verward";
+$a->strings["interested"] = "geïnteresseerd";
+$a->strings["bitter"] = "verbitterd";
+$a->strings["cheerful"] = "vrolijk";
+$a->strings["alive"] = "levendig";
+$a->strings["annoyed"] = "geërgerd";
+$a->strings["anxious"] = "bezorgd";
+$a->strings["cranky"] = "humeurig";
+$a->strings["disturbed"] = "verontrust";
+$a->strings["frustrated"] = "gefrustreerd ";
+$a->strings["depressed"] = "gedeprimeerd";
+$a->strings["motivated"] = "gemotiveerd";
+$a->strings["relaxed"] = "ontspannen";
+$a->strings["surprised"] = "verrast";
+$a->strings["Monday"] = "maandag";
+$a->strings["Tuesday"] = "dinsdag";
+$a->strings["Wednesday"] = "woensdag";
+$a->strings["Thursday"] = "donderdag";
+$a->strings["Friday"] = "vrijdag";
+$a->strings["Saturday"] = "zaterdag";
+$a->strings["Sunday"] = "zondag";
+$a->strings["January"] = "januari";
+$a->strings["February"] = "februari";
+$a->strings["March"] = "maart";
+$a->strings["April"] = "april";
+$a->strings["May"] = "mei";
+$a->strings["June"] = "juni";
+$a->strings["July"] = "juli";
+$a->strings["August"] = "augustus";
+$a->strings["September"] = "september";
+$a->strings["October"] = "oktober";
+$a->strings["November"] = "november";
+$a->strings["December"] = "december";
+$a->strings["unknown.???"] = "onbekend.???";
+$a->strings["bytes"] = "bytes";
+$a->strings["remove category"] = "categorie verwijderen";
+$a->strings["remove from file"] = "uit map verwijderen";
+$a->strings["Click to open/close"] = "Klik om te openen of te sluiten";
+$a->strings["Link to Source"] = "Originele locatie";
+$a->strings["Select a page layout: "] = "Kies een paginalay-out: ";
+$a->strings["default"] = "standaard";
+$a->strings["Page content type: "] = "Opmaakcode pagina";
+$a->strings["Select an alternate language"] = "Kies een andere taal";
$a->strings["photo"] = "foto";
$a->strings["event"] = "gebeurtenis";
-$a->strings["channel"] = "kanaal";
$a->strings["status"] = "bericht";
$a->strings["comment"] = "reactie";
+$a->strings["activity"] = "activiteit";
+$a->strings["Design"] = "Ontwerp";
+$a->strings["Blocks"] = "Blokken";
+$a->strings["Menus"] = "Menu's";
+$a->strings["Layouts"] = "Lay-outs";
+$a->strings["Pages"] = "Pagina's";
+$a->strings["Public Timeline"] = "Openbare tijdlijn";
+$a->strings["Missing room name"] = "Naam chatkanaal ontbreekt";
+$a->strings["Duplicate room name"] = "Naam chatkanaal bestaat al";
+$a->strings["Invalid room specifier."] = "Ongeldige omschrijving chatkanaal";
+$a->strings["Room not found."] = "Chatkanaal niet gevonden";
+$a->strings["Room is full"] = "Chatkanaal is vol";
+$a->strings["Channel is blocked on this site."] = "Kanaal is op deze hub geblokkeerd.";
+$a->strings["Channel location missing."] = "Ontbrekende kanaallocatie.";
+$a->strings["Response from remote channel was incomplete."] = "Antwoord van het kanaal op afstand was niet volledig.";
+$a->strings["Channel was deleted and no longer exists."] = "Kanaal is verwijderd en bestaat niet meer.";
+$a->strings["Protocol disabled."] = "Protocol uitgeschakeld.";
+$a->strings["Channel discovery failed."] = "Kanaal ontdekken mislukt.";
+$a->strings["local account not found."] = "lokale account niet gevonden.";
+$a->strings["Cannot connect to yourself."] = "Kan niet met jezelf verbinden";
+$a->strings["channel"] = "kanaal";
$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s leuk";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s niet leuk";
$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s is nu met %2\$s verbonden";
$a->strings["%1\$s poked %2\$s"] = "%1\$s heeft %2\$s aangestoten";
-$a->strings["poked"] = "aangestoten";
$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s is %2\$s";
$a->strings["Select"] = "Kies";
$a->strings["Private Message"] = "Privébericht";
@@ -249,6 +473,7 @@ $a->strings["View Photos"] = "Foto's weergeven";
$a->strings["Matrix Activity"] = "Activiteit in de RedMatrix";
$a->strings["Edit Contact"] = "Contact bewerken";
$a->strings["Send PM"] = "Privébericht verzenden";
+$a->strings["Poke"] = "Aanstoten";
$a->strings["%s likes this."] = "%s vindt dit leuk.";
$a->strings["%s doesn't like this."] = "%s vindt dit niet leuk.";
$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
@@ -270,7 +495,7 @@ $a->strings["Visible to <strong>everybody</strong>"] = "Voor <strong>iedereen</s
$a->strings["Please enter a link URL:"] = "Vul een internetadres/URL in:";
$a->strings["Please enter a video link/URL:"] = "Vul een videolink/URL in:";
$a->strings["Please enter an audio link/URL:"] = "Vul een audiolink/URL in:";
-$a->strings["Tag term:"] = "Label:";
+$a->strings["Tag term:"] = "Tag:";
$a->strings["Save to Folder:"] = "Bewaar in map: ";
$a->strings["Where are you right now?"] = "Waar bevind je je op dit moment?";
$a->strings["Expires YYYY-MM-DD HH:MM"] = "Verloopt op DD-MM-YYYY om HH:MM";
@@ -291,8 +516,8 @@ $a->strings["Set your location"] = "Locatie instellen";
$a->strings["set location"] = "locatie instellen";
$a->strings["Clear browser location"] = "Locatie van webbrowser wissen";
$a->strings["clear location"] = "locatie wissen";
-$a->strings["Set title"] = "Titel instellen";
-$a->strings["Categories (comma-separated list)"] = "Categorieën (door komma's gescheiden lijst)";
+$a->strings["Title (optional)"] = "Titel (optioneel)";
+$a->strings["Categories (optional, comma-separated list)"] = "Categorieën (optioneel, door komma's gescheiden lijst)";
$a->strings["Permission settings"] = "Permissies";
$a->strings["permissions"] = "permissies";
$a->strings["Public post"] = "Openbaar bericht";
@@ -307,6 +532,7 @@ $a->strings["Commented Order"] = "Nieuwe reacties bovenaan";
$a->strings["Sort by Comment Date"] = "Berichten met nieuwe reacties bovenaan";
$a->strings["Posted Order"] = "Nieuwe berichten bovenaan";
$a->strings["Sort by Post Date"] = "Nieuwe berichten bovenaan";
+$a->strings["Personal"] = "Persoonlijk";
$a->strings["Posts that mention or involve you"] = "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent";
$a->strings["New"] = "Nieuw";
$a->strings["Activity Stream - by date"] = "Activiteitenstroom - volgens datum";
@@ -318,216 +544,150 @@ $a->strings["Channel"] = "Kanaal";
$a->strings["Status Messages and Posts"] = "Berichten in dit kanaal";
$a->strings["About"] = "Over";
$a->strings["Profile Details"] = "Profiel";
+$a->strings["Photos"] = "Foto's";
$a->strings["Files and Storage"] = "Bestanden en opslagruimte";
$a->strings["Chatrooms"] = "Chatkanalen";
+$a->strings["Bookmarks"] = "Bladwijzers";
$a->strings["Saved Bookmarks"] = "Opgeslagen bladwijzers";
+$a->strings["Webpages"] = "Webpagina's";
$a->strings["Manage Webpages"] = "Webpagina's beheren";
-$a->strings["Logged out."] = "Uitgelogd.";
-$a->strings["Failed authentication"] = "Mislukte authenticatie";
-$a->strings["Login failed."] = "Inloggen mislukt.";
-$a->strings["prev"] = "vorige";
-$a->strings["first"] = "eerste";
-$a->strings["last"] = "laatste";
-$a->strings["next"] = "volgende";
-$a->strings["older"] = "ouder";
-$a->strings["newer"] = "nieuwer";
-$a->strings["No connections"] = "Geen connecties";
-$a->strings["%d Connection"] = array(
- 0 => "%d connectie",
- 1 => "%d connecties",
-);
-$a->strings["View Connections"] = "Connecties weergeven";
-$a->strings["poke"] = "aanstoten";
-$a->strings["ping"] = "ping";
-$a->strings["pinged"] = "gepingd";
-$a->strings["prod"] = "por";
-$a->strings["prodded"] = "gepord";
-$a->strings["slap"] = "slaan";
-$a->strings["slapped"] = "sloeg";
-$a->strings["finger"] = "finger";
-$a->strings["fingered"] = "gefingerd";
-$a->strings["rebuff"] = "afpoeieren";
-$a->strings["rebuffed"] = "afgepoeierd";
-$a->strings["happy"] = "gelukkig";
-$a->strings["sad"] = "bedroefd";
-$a->strings["mellow"] = "mellow";
-$a->strings["tired"] = "moe";
-$a->strings["perky"] = "parmantig";
-$a->strings["angry"] = "boos";
-$a->strings["stupified"] = "beteuterd";
-$a->strings["puzzled"] = "verward";
-$a->strings["interested"] = "geïnteresseerd";
-$a->strings["bitter"] = "verbitterd";
-$a->strings["cheerful"] = "vrolijk";
-$a->strings["alive"] = "levendig";
-$a->strings["annoyed"] = "geërgerd";
-$a->strings["anxious"] = "bezorgd";
-$a->strings["cranky"] = "humeurig";
-$a->strings["disturbed"] = "verontrust";
-$a->strings["frustrated"] = "gefrustreerd ";
-$a->strings["depressed"] = "gedeprimeerd";
-$a->strings["motivated"] = "gemotiveerd";
-$a->strings["relaxed"] = "ontspannen";
-$a->strings["surprised"] = "verrast";
-$a->strings["Monday"] = "maandag";
-$a->strings["Tuesday"] = "dinsdag";
-$a->strings["Wednesday"] = "woensdag";
-$a->strings["Thursday"] = "donderdag";
-$a->strings["Friday"] = "vrijdag";
-$a->strings["Saturday"] = "zaterdag";
-$a->strings["Sunday"] = "zondag";
-$a->strings["January"] = "januari";
-$a->strings["February"] = "februari";
-$a->strings["March"] = "maart";
-$a->strings["April"] = "april";
-$a->strings["May"] = "mei";
-$a->strings["June"] = "juni";
-$a->strings["July"] = "juli";
-$a->strings["August"] = "augustus";
-$a->strings["September"] = "september";
-$a->strings["October"] = "oktober";
-$a->strings["November"] = "november";
-$a->strings["December"] = "december";
-$a->strings["unknown.???"] = "onbekend.???";
-$a->strings["bytes"] = "bytes";
-$a->strings["remove category"] = "categorie verwijderen";
-$a->strings["remove from file"] = "uit map verwijderen";
-$a->strings["Click to open/close"] = "Klik om te openen of te sluiten";
-$a->strings["Link to Source"] = "Originele locatie";
-$a->strings["Select a page layout: "] = "Kies een paginalay-out: ";
-$a->strings["default"] = "standaard";
-$a->strings["Page content type: "] = "Opmaakcode pagina";
-$a->strings["Select an alternate language"] = "Kies een andere taal";
-$a->strings["activity"] = "activiteit";
-$a->strings["Design"] = "Ontwerp";
-$a->strings["Blocks"] = "Blokken";
-$a->strings["Menus"] = "Menu's";
-$a->strings["Layouts"] = "Lay-outs";
-$a->strings["Pages"] = "Pagina's";
-$a->strings["%1\$s's bookmarks"] = "Bladwijzers van %1\$s";
-$a->strings["Tags"] = "Labels";
-$a->strings["Keywords"] = "Trefwoorden";
-$a->strings["have"] = "heb";
-$a->strings["has"] = "heeft";
-$a->strings["want"] = "wil";
-$a->strings["wants"] = "wil";
-$a->strings["like"] = "vind dit leuk";
-$a->strings["likes"] = "vindt dit leuk";
-$a->strings["dislike"] = "vind dit niet leuk";
-$a->strings["dislikes"] = "vindt dit niet leuk";
-$a->strings["Default"] = "Standaard";
-$a->strings["Frequently"] = "Regelmatig";
-$a->strings["Hourly"] = "Elk uur";
-$a->strings["Twice daily"] = "Twee keer per dag";
-$a->strings["Daily"] = "Dagelijks";
-$a->strings["Weekly"] = "Wekelijks";
-$a->strings["Monthly"] = "Maandelijks";
-$a->strings["Friendica"] = "Friendica";
-$a->strings["OStatus"] = "OStatus";
-$a->strings["RSS/Atom"] = "RSS/Atom";
-$a->strings["Email"] = "E-mail";
-$a->strings["Diaspora"] = "Diaspora";
-$a->strings["Facebook"] = "Facebook";
-$a->strings["Zot!"] = "Zot!";
-$a->strings["LinkedIn"] = "LinkedIn";
-$a->strings["XMPP/IM"] = "XMPP/IM";
-$a->strings["MySpace"] = "MySpace";
-$a->strings["%d invitation available"] = array(
- 0 => "%d uitnodiging beschikbaar",
- 1 => "%d uitnodigingen beschikbaar",
+$a->strings["Apps"] = "Apps";
+$a->strings["System"] = "Systeem";
+$a->strings["Create Personal App"] = "Persoonlijke app maken";
+$a->strings["Edit Personal App"] = "Persoonlijke app bewerken";
+$a->strings["Ignore/Hide"] = "Negeren/Verbergen";
+$a->strings["Suggestions"] = "Voorgestelde kanalen";
+$a->strings["See more..."] = "Meer...";
+$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
+$a->strings["Add New Connection"] = "Nieuwe connectie toevoegen";
+$a->strings["Enter the channel address"] = "Vul het adres van het nieuwe kanaal in";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: bob@example.com, http://example.com/barbara";
+$a->strings["Notes"] = "Aantekeningen";
+$a->strings["Remove term"] = "Verwijder zoekterm";
+$a->strings["Archives"] = "Archieven";
+$a->strings["Refresh"] = "Vernieuwen";
+$a->strings["Me"] = "Ik";
+$a->strings["Best Friends"] = "Goede vrienden";
+$a->strings["Co-workers"] = "Collega's";
+$a->strings["Former Friends"] = "Oude vrienden";
+$a->strings["Acquaintances"] = "Kennissen";
+$a->strings["Everybody"] = "Iedereen";
+$a->strings["Account settings"] = "Account";
+$a->strings["Channel settings"] = "Kanaal";
+$a->strings["Additional features"] = "Extra functies";
+$a->strings["Feature settings"] = "Plug-ins";
+$a->strings["Display settings"] = "Weergave";
+$a->strings["Connected apps"] = "Verbonden applicaties";
+$a->strings["Export channel"] = "Kanaal exporteren";
+$a->strings["Connection Default Permissions"] = "Standaard permissies voor connecties";
+$a->strings["Premium Channel Settings"] = "Instellingen premiumkanaal";
+$a->strings["Settings"] = "Instellingen";
+$a->strings["Messages"] = "Berichten";
+$a->strings["Check Mail"] = "Controleer op nieuwe berichten";
+$a->strings["New Message"] = "Nieuw bericht";
+$a->strings["Chat Rooms"] = "Chatkanalen";
+$a->strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen";
+$a->strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen";
+$a->strings["photo/image"] = "foto/afbeelding";
+$a->strings["Invalid data packet"] = "Datapakket ongeldig";
+$a->strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
+$a->strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
+$a->strings["Save to Folder"] = "In map opslaan";
+$a->strings["View all"] = "Toon alles";
+$a->strings["__ctx:noun__ Dislike"] = array(
+ 0 => "vindt dit niet leuk",
+ 1 => "vinden dit niet leuk",
);
-$a->strings["Advanced"] = "Geavanceerd";
-$a->strings["Find Channels"] = "Kanalen vinden";
-$a->strings["Enter name or interest"] = "Vul naam of interesse in";
-$a->strings["Connect/Follow"] = "Verbinden/volgen";
-$a->strings["Examples: Robert Morgenstein, Fishing"] = "Voorbeeld: Robert Morgenstein, vissen";
-$a->strings["Find"] = "Vinden";
-$a->strings["Channel Suggestions"] = "Voorgestelde kanalen";
-$a->strings["Random Profile"] = "Willekeurig profiel";
-$a->strings["Invite Friends"] = "Vrienden uitnodigen";
-$a->strings["Exammple: name=fred and country=iceland"] = "Voorbeeld: (voor naam) name=herman en (voor land) country=nederland";
-$a->strings["Advanced Find"] = "Geavanceerd zoeken";
-$a->strings["%d connection in common"] = array(
- 0 => "%d gemeenschappelijke connectie",
- 1 => "%d gemeenschappelijke connecties",
+$a->strings["Add Star"] = "Ster toevoegen";
+$a->strings["Remove Star"] = "Ster verwijderen";
+$a->strings["Toggle Star Status"] = "Ster toevoegen of verwijderen";
+$a->strings["starred"] = "met ster";
+$a->strings["Add Tag"] = "Tag toevoegen";
+$a->strings["I like this (toggle)"] = "Vind ik leuk";
+$a->strings["I don't like this (toggle)"] = "Vind ik niet leuk";
+$a->strings["Share This"] = "Delen";
+$a->strings["share"] = "delen";
+$a->strings["%d comment"] = array(
+ 0 => "%d reactie",
+ 1 => "%d reacties weergeven",
);
-$a->strings["show more"] = "meer connecties weergeven";
-$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
-$a->strings["Starts:"] = "Start:";
-$a->strings["Finishes:"] = "Einde:";
-$a->strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
-$a->strings["Not a valid email address"] = "Geen geldig e-mailadres";
-$a->strings["Your email domain is not among those allowed on this site"] = "Jouw e-maildomein is op deze RedMatrix-hub niet toegestaan";
-$a->strings["Your email address is already registered at this site."] = "Jouw e-mailadres is al op deze RedMatrix-hub geregistreerd.";
-$a->strings["An invitation is required."] = "Een uitnodiging is vereist";
-$a->strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden";
-$a->strings["Please enter the required information."] = "Vul de vereiste informatie in.";
-$a->strings["Failed to store account information."] = "Account-informatie kon niet opgeslagen worden.";
-$a->strings["Registration confirmation for %s"] = "Registratiebevestiging voor %s";
-$a->strings["Registration request at %s"] = "Registratiebevestiging voor %s";
-$a->strings["Administrator"] = "Beheerder";
-$a->strings["your registration password"] = "jouw registratiewachtwoord";
-$a->strings["Registration details for %s"] = "Registratiegegevens voor %s";
-$a->strings["Account approved."] = "Account goedgekeurd";
-$a->strings["Registration revoked for %s"] = "Registratie ingetrokken voor %s";
-$a->strings["Account verified. Please login."] = "Account is geverifieerd. Je kan inloggen.";
-$a->strings["Click here to upgrade."] = "Klik hier om te upgraden.";
-$a->strings["This action exceeds the limits set by your subscription plan."] = "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden.";
-$a->strings["This action is not available under your subscription plan."] = "Deze handeling is niet mogelijk met jouw abonnement.";
-$a->strings["Logout"] = "Uitloggen";
-$a->strings["End this session"] = "Beëindig deze sessie";
-$a->strings["Home"] = "Home";
-$a->strings["Your posts and conversations"] = "Jouw berichten en conversaties";
-$a->strings["Your profile page"] = "Jouw profielpagina";
-$a->strings["Edit Profiles"] = "Bewerk profielen";
-$a->strings["Manage/Edit profiles"] = "Beheer/wijzig profielen";
-$a->strings["Edit your profile"] = "Jouw profiel bewerken";
-$a->strings["Your photos"] = "Jouw foto's";
-$a->strings["Your files"] = "Jouw bestanden";
-$a->strings["Your chatrooms"] = "Jouw chatkanalen";
-$a->strings["Your bookmarks"] = "Jouw bladwijzers";
-$a->strings["Your webpages"] = "Jouw webpagina's";
-$a->strings["Sign in"] = "Inloggen";
-$a->strings["%s - click to logout"] = "%s - klik om uit te loggen";
-$a->strings["Remote authentication"] = "Authenticatie op afstand";
-$a->strings["Click to authenticate to your home hub"] = "Authenticeer jezelf via (bijvoorbeeld) jouw RedMatrix-hub";
-$a->strings["Home Page"] = "Homepage";
-$a->strings["Register"] = "Registreren";
-$a->strings["Create an account"] = "Maak een account aan";
-$a->strings["Help and documentation"] = "Hulp en documentatie";
-$a->strings["Applications, utilities, links, games"] = "Apps";
-$a->strings["Search site content"] = "Inhoud van deze RedMatrix-hub doorzoeken";
-$a->strings["Channel Locator"] = "Kanalengids";
-$a->strings["Your matrix"] = "Jouw matrix";
-$a->strings["Mark all matrix notifications seen"] = "Markeer alle matrixnotificaties als bekeken";
-$a->strings["Channel home"] = "Tijdlijn kanaal";
-$a->strings["Mark all channel notifications seen"] = "Alle kanaalnotificaties als gelezen markeren";
-$a->strings["Connections"] = "Connecties";
-$a->strings["Notices"] = "Notificaties";
-$a->strings["Notifications"] = "Notificaties";
-$a->strings["See all notifications"] = "Alle notificaties weergeven";
-$a->strings["Mark all system notifications seen"] = "Markeer alle systeemnotificaties als bekeken";
-$a->strings["Private mail"] = "Privéberichten";
-$a->strings["See all private messages"] = "Alle privéberichten weergeven";
-$a->strings["Mark all private messages seen"] = "Markeer alle privéberichten als bekeken";
-$a->strings["Inbox"] = "Postvak IN";
-$a->strings["Outbox"] = "Postvak UIT";
-$a->strings["Event Calendar"] = "Agenda";
-$a->strings["See all events"] = "Alle gebeurtenissen weergeven";
-$a->strings["Mark all events seen"] = "Markeer alle gebeurtenissen als bekeken";
-$a->strings["Manage Your Channels"] = "Beheer je kanalen";
-$a->strings["Account/Channel Settings"] = "Account-/kanaal-instellingen";
-$a->strings["Admin"] = "Beheer";
-$a->strings["Site Setup and Configuration"] = "Hub instellen en beheren";
-$a->strings["Please wait..."] = "Wachten aub...";
-$a->strings["Sort Options"] = "Sorteeropties";
-$a->strings["Alphabetic"] = "Alfabetisch";
-$a->strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch";
-$a->strings["Newest to Oldest"] = "Nieuw naar oud";
-$a->strings["Enable Safe Search"] = "Veilig zoeken inschakelen";
-$a->strings["Disable Safe Search"] = "Veilig zoeken uitschakelen";
-$a->strings["Safe Mode"] = "Veilig zoeken";
-$a->strings["Attachments:"] = "Bijlagen:";
+$a->strings["View %s's profile - %s"] = "Profiel van %s bekijken - %s";
+$a->strings["to"] = "aan";
+$a->strings["via"] = "via";
+$a->strings["Wall-to-Wall"] = "Kanaal-naar-kanaal";
+$a->strings["via Wall-To-Wall:"] = "via kanaal-naar-kanaal";
+$a->strings["Save Bookmarks"] = "Bladwijzers opslaan";
+$a->strings["Add to Calendar"] = "Aan agenda toevoegen";
+$a->strings["Mark all seen"] = "Markeer alles als bekeken";
+$a->strings["__ctx:noun__ Likes"] = "vinden dit leuk";
+$a->strings["__ctx:noun__ Dislikes"] = "vinden dit niet leuk";
+$a->strings["[+] show all"] = "[+] alle";
+$a->strings["This is you"] = "Dit ben jij";
+$a->strings["Comment"] = "Reactie";
+$a->strings["Submit"] = "Opslaan";
+$a->strings["Bold"] = "Vet";
+$a->strings["Italic"] = "Cursief";
+$a->strings["Underline"] = "Onderstrepen";
+$a->strings["Quote"] = "Citeren";
+$a->strings["Code"] = "Broncode";
+$a->strings["Image"] = "Afbeelding";
+$a->strings["Link"] = "Link";
+$a->strings["Video"] = "Video";
+$a->strings["Miscellaneous"] = "Diversen";
+$a->strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-DD of MM-DD";
+$a->strings["never"] = "nooit";
+$a->strings["less than a second ago"] = "minder dan een seconde geleden";
+$a->strings["year"] = "jaar";
+$a->strings["years"] = "jaren";
+$a->strings["month"] = "maand";
+$a->strings["months"] = "maanden";
+$a->strings["week"] = "week";
+$a->strings["weeks"] = "weken";
+$a->strings["day"] = "dag";
+$a->strings["days"] = "dagen";
+$a->strings["hour"] = "uur";
+$a->strings["hours"] = "uren";
+$a->strings["minute"] = "minuut";
+$a->strings["minutes"] = "minuten";
+$a->strings["second"] = "seconde";
+$a->strings["seconds"] = "seconden";
+$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
+$a->strings["%1\$s's birthday"] = "Verjaardag van %1\$s";
+$a->strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s";
+$a->strings["Site Admin"] = "Hubbeheerder";
+$a->strings["Address Book"] = "Connecties";
+$a->strings["Login"] = "Inloggen";
+$a->strings["Channel Manager"] = "Kanaalbeheer";
+$a->strings["Matrix"] = "Matrix";
+$a->strings["Channel Home"] = "Tijdlijn kanaal";
+$a->strings["Events"] = "Agenda";
+$a->strings["Directory"] = "Kanalengids";
+$a->strings["Help"] = "Hulp";
+$a->strings["Mail"] = "Privéberichten";
+$a->strings["Mood"] = "Stemming";
+$a->strings["Chat"] = "Chatten";
+$a->strings["Probe"] = "Onderzoeken";
+$a->strings["Suggest"] = "Voorstellen";
+$a->strings["Random Channel"] = "Willekeurig kanaal";
+$a->strings["Invite"] = "Uitnodigen ";
+$a->strings["Features"] = "Extra functies";
+$a->strings["Language"] = "Taal";
+$a->strings["Post"] = "Bericht";
+$a->strings["Profile Photo"] = "Profielfoto";
+$a->strings["Update"] = "Bijwerken";
+$a->strings["Install"] = "Installeren";
+$a->strings["Purchase"] = "Aanschaffen";
+$a->strings["New window"] = "Nieuw venster";
+$a->strings["Open the selected location in a different window or browser tab"] = "Open de geselecteerde locatie in een ander venster of tab";
+$a->strings["User '%s' deleted"] = "Account '%s' verwijderd";
+$a->strings["Image/photo"] = "Afbeelding/foto";
+$a->strings["Encrypted content"] = "Versleutelde inhoud";
+$a->strings["Install design element: "] = "Installeer ontwerp-onderdeel";
+$a->strings["QR code"] = "QR-code";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s";
+$a->strings["post"] = "bericht";
+$a->strings["$1 spoiler"] = "$1 spoiler";
+$a->strings["$1 wrote:"] = "$1 schreef:";
$a->strings["Red Matrix Notification"] = "RedMatrix-notificatie";
$a->strings["redmatrix"] = "RedMatrix";
$a->strings["Thank You,"] = "Bedankt,";
@@ -553,9 +713,9 @@ $a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3
$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Notificatie] %1\$s heeft je aangestoten";
$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s heeft je aangestoten op %3\$s";
$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]heeft je aangestoten[/zrl].";
-$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Notificatie] %s heeft jouw bericht gelabeld";
-$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s labelde jouw bericht om %3\$s";
-$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s labelde [zrl=%3\$s]jouw bericht[/zrl]";
+$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Notificatie] %s heeft jouw bericht getagd";
+$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s heeft jouw bericht om %3\$s getagd";
+$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s heeft [zrl=%3\$s]jouw bericht[/zrl] getagd";
$a->strings["[Red:Notify] Introduction received"] = "[Red:Notificatie] Connectieverzoek ontvangen";
$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, je hebt een nieuw connectieverzoek ontvangen van '%2\$s' op %3\$s";
$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, je hebt een [zrl=%2\$s]nieuw connectieverzoek[/zrl] ontvangen van %3\$s.";
@@ -568,154 +728,6 @@ $a->strings["Name:"] = "Naam:";
$a->strings["Photo:"] = "Foto:";
$a->strings["Please visit %s to approve or reject the suggestion."] = "Bezoek %s om het voorstel te accepteren of af te wijzen.";
$a->strings["[Red:Notify]"] = "[Red:Notificatie]";
-$a->strings["Missing room name"] = "Naam chatkanaal ontbreekt";
-$a->strings["Duplicate room name"] = "Naam chatkanaal bestaat al";
-$a->strings["Invalid room specifier."] = "Ongeldige omschrijving chatkanaal";
-$a->strings["Room not found."] = "Chatkanaal niet gevonden";
-$a->strings["Room is full"] = "Chatkanaal is vol";
-$a->strings["General Features"] = "Algemene functies";
-$a->strings["Content Expiration"] = "Inhoud laten verlopen";
-$a->strings["Remove posts/comments and/or private messages at a future time"] = "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen";
-$a->strings["Multiple Profiles"] = "Meerdere profielen";
-$a->strings["Ability to create multiple profiles"] = "Mogelijkheid om meerdere profielen aan te maken";
-$a->strings["Advanced Profiles"] = "Geavanceerde profielen";
-$a->strings["Additional profile sections and selections"] = "Extra onderdelen en keuzes voor je profiel";
-$a->strings["Profile Import/Export"] = "Profiel importen/exporteren";
-$a->strings["Save and load profile details across sites/channels"] = "Profielgegevens opslaan en in andere hubs/kanalen gebruiken.";
-$a->strings["Web Pages"] = "Webpagina's";
-$a->strings["Provide managed web pages on your channel"] = "Sta beheerde webpagina's op jouw kanaal toe";
-$a->strings["Private Notes"] = "Privé-aantekeningen";
-$a->strings["Enables a tool to store notes and reminders"] = "Schakelt een eenvoudige toepassing in om aantekeningen en herinneringen in op te slaan";
-$a->strings["Navigation Channel Select"] = "Kanaal kiezen in navigatiemenu";
-$a->strings["Change channels directly from within the navigation dropdown menu"] = "Kies een ander kanaal direct vanuit het dropdown-menu op de navigatiebalk";
-$a->strings["Extended Identity Sharing"] = "Uitgebreid identiteit delen";
-$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Deel jouw RedMatrix-identiteit met alle websites op het internet. Wanneer dit is uitgeschakeld wordt je identiteit alleen binnen het RedMatrix-netwerk gedeeld. Schakel dit alleen als je weet wat je doet.";
-$a->strings["Expert Mode"] = "Expertmodus";
-$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Schakel de expertmodus in voor geavanceerde instellingen";
-$a->strings["Premium Channel"] = "Premiumkanaal";
-$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal";
-$a->strings["Post Composition Features"] = "Functies voor het opstellen van berichten";
-$a->strings["Use Markdown"] = "Markdown gebruiken";
-$a->strings["Allow use of \"Markdown\" to format posts"] = "Sta het gebruik van \"markdown\" toe om berichten mee op te maken.";
-$a->strings["Post Preview"] = "Voorvertoning";
-$a->strings["Allow previewing posts and comments before publishing them"] = "Een optie om je berichten en reacties voor het definitief publiceren voor te vertonen";
-$a->strings["Automatically import channel content from other channels or feeds"] = "Automatisch inhoud uit andere kanalen of feeds importeren.";
-$a->strings["Even More Encryption"] = "Extra encryptie";
-$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Sta toe dat inhoud extra end-to-end wordt versleuteld met een gedeelde geheime sleutel.";
-$a->strings["Network and Stream Filtering"] = "Netwerk- en streamfilter";
-$a->strings["Search by Date"] = "Zoek op datum";
-$a->strings["Ability to select posts by date ranges"] = "Mogelijkheid om berichten op datum te filteren ";
-$a->strings["Collections Filter"] = "Filter op collecties";
-$a->strings["Enable widget to display Network posts only from selected collections"] = "Sta de widget toe om netwerkberichten te tonen van bepaalde collecties";
-$a->strings["Save search terms for re-use"] = "Sla zoekopdrachten op voor hergebruik";
-$a->strings["Network Personal Tab"] = "Persoonlijke netwerktab";
-$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had";
-$a->strings["Network New Tab"] = "Nieuwe netwerktab";
-$a->strings["Enable tab to display all new Network activity"] = "Laat de tab alle nieuwe netwerkactiviteit tonen";
-$a->strings["Affinity Tool"] = "Verwantschapsfilter";
-$a->strings["Filter stream activity by depth of relationships"] = "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag";
-$a->strings["Suggest Channels"] = "Kanalen voorstellen";
-$a->strings["Show channel suggestions"] = "Voor jou mogelijk interessante kanalen voorstellen";
-$a->strings["Post/Comment Tools"] = "Bericht- en reactiehulpmiddelen";
-$a->strings["Edit Sent Posts"] = "Bewerk verzonden berichten";
-$a->strings["Edit and correct posts and comments after sending"] = "Bewerk en corrigeer berichten en reacties nadat deze zijn verzonden";
-$a->strings["Tagging"] = "Labelen";
-$a->strings["Ability to tag existing posts"] = "Mogelijkheid om bestaande berichten te labelen";
-$a->strings["Post Categories"] = "Categorieën berichten";
-$a->strings["Add categories to your posts"] = "Voeg categorieën toe aan je berichten";
-$a->strings["Ability to file posts under folders"] = "Mogelijkheid om berichten in mappen op te slaan";
-$a->strings["Dislike Posts"] = "Vind berichten niet leuk";
-$a->strings["Ability to dislike posts/comments"] = "Mogelijkheid om berichten en reacties niet leuk te vinden";
-$a->strings["Star Posts"] = "Geef berichten een ster";
-$a->strings["Ability to mark special posts with a star indicator"] = "Mogelijkheid om speciale berichten met een ster te markeren";
-$a->strings["Tag Cloud"] = "Wolk met trefwoorden/labels";
-$a->strings["Provide a personal tag cloud on your channel page"] = "Zorgt voor een persoonlijke wolk met trefwoorden of labels op jouw kanaalpagina";
-$a->strings["Channel is blocked on this site."] = "Kanaal is op deze hub geblokkeerd.";
-$a->strings["Channel location missing."] = "Ontbrekende kanaallocatie.";
-$a->strings["Response from remote channel was incomplete."] = "Antwoord van het kanaal op afstand was niet volledig.";
-$a->strings["Channel was deleted and no longer exists."] = "Kanaal is verwijderd en bestaat niet meer.";
-$a->strings["Protocol disabled."] = "Protocol uitgeschakeld.";
-$a->strings["Channel discovery failed."] = "Kanaal ontdekken mislukt.";
-$a->strings["local account not found."] = "lokale account niet gevonden.";
-$a->strings["Cannot connect to yourself."] = "Kan niet met jezelf verbinden";
-$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken.";
-$a->strings["Default privacy group for new contacts"] = "Standaard privacy-collectie voor nieuwe kanalen";
-$a->strings["All Channels"] = "Alle kanalen";
-$a->strings["edit"] = "bewerken";
-$a->strings["Collections"] = "Collecties";
-$a->strings["Edit collection"] = "Collectie bewerken";
-$a->strings["Create a new collection"] = "Nieuwe collectie aanmaken";
-$a->strings["Channels not in any collection"] = "Kanalen die zich in geen enkele collectie bevinden";
-$a->strings["Image/photo"] = "Afbeelding/foto";
-$a->strings["Encrypted content"] = "Versleutelde inhoud";
-$a->strings["Install design element: "] = "Installeer ontwerp-onderdeel";
-$a->strings["QR code"] = "QR-code";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s";
-$a->strings["post"] = "bericht";
-$a->strings["$1 spoiler"] = "$1 spoiler";
-$a->strings["$1 wrote:"] = "$1 schreef:";
-$a->strings["parent"] = "omhoog";
-$a->strings["Collection"] = "map";
-$a->strings["Principal"] = "principal";
-$a->strings["Addressbook"] = "Adresboek";
-$a->strings["Calendar"] = "Agenda";
-$a->strings["Schedule Inbox"] = "Planning-postvak IN";
-$a->strings["Schedule Outbox"] = "Planning-postvak UIT";
-$a->strings["%1\$s used"] = "%1\$s gebruikt";
-$a->strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s van %2\$s gebruikt (%3\$s&#37;)";
-$a->strings["Name"] = "Naam";
-$a->strings["Type"] = "Type";
-$a->strings["Size"] = "Grootte";
-$a->strings["Last Modified"] = "Laatst gewijzigd";
-$a->strings["Total"] = "Totaal";
-$a->strings["Create new folder"] = "Nieuwe map aanmaken";
-$a->strings["Create"] = "Aanmaken";
-$a->strings["Upload file"] = "Bestand uploaden";
-$a->strings["Upload"] = "Uploaden";
-$a->strings["No recipient provided."] = "Geen ontvanger opgegeven.";
-$a->strings["[no subject]"] = "[geen onderwerp]";
-$a->strings["Unable to determine sender."] = "Afzender kan niet bepaald worden.";
-$a->strings["Stored post could not be verified."] = "Opgeslagen bericht kon niet worden geverifieerd.";
-$a->strings["Save to Folder"] = "In map opslaan";
-$a->strings["View all"] = "Toon alles";
-$a->strings["__ctx:noun__ Dislike"] = array(
- 0 => "vindt dit niet leuk",
- 1 => "vinden dit niet leuk",
-);
-$a->strings["Add Star"] = "Ster toevoegen";
-$a->strings["Remove Star"] = "Ster verwijderen";
-$a->strings["Toggle Star Status"] = "Ster toevoegen of verwijderen";
-$a->strings["starred"] = "met ster";
-$a->strings["Add Tag"] = "Label toevoegen";
-$a->strings["I like this (toggle)"] = "Vind ik leuk";
-$a->strings["I don't like this (toggle)"] = "Vind ik niet leuk";
-$a->strings["Share This"] = "Delen";
-$a->strings["share"] = "delen";
-$a->strings["View %s's profile - %s"] = "Profiel van %s bekijken - %s";
-$a->strings["to"] = "aan";
-$a->strings["via"] = "via";
-$a->strings["Wall-to-Wall"] = "Kanaal-naar-kanaal";
-$a->strings["via Wall-To-Wall:"] = "via kanaal-naar-kanaal";
-$a->strings["Save Bookmarks"] = "Bladwijzers opslaan";
-$a->strings["Add to Calendar"] = "Aan agenda toevoegen";
-$a->strings["__ctx:noun__ Likes"] = "vinden dit leuk";
-$a->strings["__ctx:noun__ Dislikes"] = "vinden dit niet leuk";
-$a->strings["%d comment"] = array(
- 0 => "%d reactie",
- 1 => "%d reacties weergeven",
-);
-$a->strings["[+] show all"] = "[+] alle";
-$a->strings["This is you"] = "Dit ben jij";
-$a->strings["Comment"] = "Reactie";
-$a->strings["Submit"] = "Opslaan";
-$a->strings["Bold"] = "Vet";
-$a->strings["Italic"] = "Cursief";
-$a->strings["Underline"] = "Onderstrepen";
-$a->strings["Quote"] = "Citeren";
-$a->strings["Code"] = "Broncode";
-$a->strings["Image"] = "Afbeelding";
-$a->strings["Link"] = "Link";
-$a->strings["Video"] = "Video";
$a->strings["Delete this item?"] = "Dit item verwijderen?";
$a->strings["[-] show less"] = "[-] minder reacties weergeven";
$a->strings["[+] expand"] = "[+] uitklappen";
@@ -745,9 +757,6 @@ $a->strings["about a year"] = "ongeveer een jaar";
$a->strings["%d years"] = "%d jaren";
$a->strings[" "] = " ";
$a->strings["timeago.numbers"] = "timeago.numbers";
-$a->strings["New window"] = "Nieuw venster";
-$a->strings["Open the selected location in a different window or browser tab"] = "Open de geselecteerde locatie in een ander venster of tab";
-$a->strings["User '%s' deleted"] = "Account '%s' verwijderd";
$a->strings["Male"] = "Man";
$a->strings["Female"] = "Vrouw";
$a->strings["Currently Male"] = "Momenteel man";
@@ -760,7 +769,6 @@ $a->strings["Transsexual"] = "Transseksueel";
$a->strings["Hermaphrodite"] = "Hermafrodiet";
$a->strings["Neuter"] = "Genderneutraal";
$a->strings["Non-specific"] = "Niet gespecificeerd";
-$a->strings["Other"] = "Anders";
$a->strings["Undecided"] = "Nog niet beslist";
$a->strings["Males"] = "Mannen";
$a->strings["Females"] = "Vrouwen";
@@ -805,94 +813,73 @@ $a->strings["Uncertain"] = "Onzeker";
$a->strings["It's complicated"] = "Het is ingewikkeld";
$a->strings["Don't care"] = "Maakt mij niks uit";
$a->strings["Ask me"] = "Vraag het me";
-$a->strings["Can view my normal stream and posts"] = "Kan mijn normale kanaalstream en berichten bekijken";
-$a->strings["Can view my default channel profile"] = "Kan mijn standaard kanaalprofiel bekijken";
-$a->strings["Can view my photo albums"] = "Kan mijn fotoalbums bekijken";
-$a->strings["Can view my connections"] = "Kan een lijst met mijn connecties bekijken";
-$a->strings["Can view my file storage"] = "Kan mijn bestanden bekijken";
-$a->strings["Can view my webpages"] = "Kan mijn pagina's bekijken";
-$a->strings["Can send me their channel stream and posts"] = "Kan mij de inhoud van hun kanaal en berichten sturen";
-$a->strings["Can post on my channel page (\"wall\")"] = "Kan een bericht in mijn kanaal plaatsen";
-$a->strings["Can comment on or like my posts"] = "Kan op mijn berichten reageren of deze (niet) leuk vinden";
-$a->strings["Can send me private mail messages"] = "Kan mij privéberichten sturen";
-$a->strings["Can post photos to my photo albums"] = "Kan foto's aan mijn fotoalbums toevoegen";
-$a->strings["Can like/dislike stuff"] = "Kan dingen leuk of niet leuk vinden";
-$a->strings["Profiles and things other than posts/comments"] = "Profielen en dingen, buiten berichten en reacties";
-$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+";
-$a->strings["Advanced - useful for creating group forum channels"] = "Geavanceerd - nuttig voor kanalen met een groep- cq. forumfunctie";
-$a->strings["Can chat with me (when available)"] = "Kan met mij chatten (wanneer beschikbaar)";
-$a->strings["Can write to my file storage"] = "Kan bestanden aan mijn bestandsopslag toevoegen";
-$a->strings["Can edit my webpages"] = "Kan mijn pagina's bewerken";
-$a->strings["Can source my public posts in derived channels"] = "Kan mijn openbare berichten als bron voor andere kanalen gebruiken";
-$a->strings["Somewhat advanced - very useful in open communities"] = "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)";
-$a->strings["Can administer my channel resources"] = "Kan mijn kanaal beheren";
-$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet.";
-$a->strings["Social Networking"] = "Sociaal netwerk";
-$a->strings["Mostly Public"] = "Vrijwel alles openbaar";
-$a->strings["Restricted"] = "Beperkt zichtbaar";
-$a->strings["Private"] = "Verborgen kanaal";
-$a->strings["Community Forum"] = "Groepsforum";
-$a->strings["Feed Republish"] = "Feed herpubliceren";
-$a->strings["Celebrity/Soapbox"] = "Beroemdheid/alleen volgen";
-$a->strings["Custom/Expert Mode"] = "Expertmodus/handmatig aanpassen";
-$a->strings["Miscellaneous"] = "Diversen";
-$a->strings["never"] = "nooit";
-$a->strings["less than a second ago"] = "minder dan een seconde geleden";
-$a->strings["year"] = "jaar";
-$a->strings["years"] = "jaren";
-$a->strings["month"] = "maand";
-$a->strings["months"] = "maanden";
-$a->strings["week"] = "week";
-$a->strings["weeks"] = "weken";
-$a->strings["day"] = "dag";
-$a->strings["days"] = "dagen";
-$a->strings["hour"] = "uur";
-$a->strings["hours"] = "uren";
-$a->strings["minute"] = "minuut";
-$a->strings["minutes"] = "minuten";
-$a->strings["second"] = "seconde";
-$a->strings["seconds"] = "seconden";
-$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
-$a->strings["%1\$s's birthday"] = "Verjaardag van %1\$s";
-$a->strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s";
+$a->strings["Logout"] = "Uitloggen";
+$a->strings["End this session"] = "Beëindig deze sessie";
+$a->strings["Home"] = "Home";
+$a->strings["Your posts and conversations"] = "Jouw berichten en conversaties";
+$a->strings["Your profile page"] = "Jouw profielpagina";
+$a->strings["Edit Profiles"] = "Bewerk profielen";
+$a->strings["Manage/Edit profiles"] = "Beheer/wijzig profielen";
+$a->strings["Edit your profile"] = "Jouw profiel bewerken";
+$a->strings["Your photos"] = "Jouw foto's";
+$a->strings["Your files"] = "Jouw bestanden";
+$a->strings["Your chatrooms"] = "Jouw chatkanalen";
+$a->strings["Your bookmarks"] = "Jouw bladwijzers";
+$a->strings["Your webpages"] = "Jouw webpagina's";
+$a->strings["Sign in"] = "Inloggen";
+$a->strings["%s - click to logout"] = "%s - klik om uit te loggen";
+$a->strings["Remote authentication"] = "Authenticatie op afstand";
+$a->strings["Click to authenticate to your home hub"] = "Authenticeer jezelf via (bijvoorbeeld) jouw RedMatrix-hub";
+$a->strings["Home Page"] = "Homepage";
+$a->strings["Register"] = "Registreren";
+$a->strings["Create an account"] = "Maak een account aan";
+$a->strings["Help and documentation"] = "Hulp en documentatie";
+$a->strings["Applications, utilities, links, games"] = "Apps";
+$a->strings["Search site content"] = "Inhoud van deze RedMatrix-hub doorzoeken";
+$a->strings["Channel Directory"] = "Kanalengids";
+$a->strings["Your matrix"] = "Jouw matrix";
+$a->strings["Mark all matrix notifications seen"] = "Markeer alle matrixnotificaties als bekeken";
+$a->strings["Channel home"] = "Tijdlijn kanaal";
+$a->strings["Mark all channel notifications seen"] = "Alle kanaalnotificaties als gelezen markeren";
+$a->strings["Connections"] = "Connecties";
+$a->strings["Notices"] = "Notificaties";
+$a->strings["Notifications"] = "Notificaties";
+$a->strings["See all notifications"] = "Alle notificaties weergeven";
+$a->strings["Mark all system notifications seen"] = "Markeer alle systeemnotificaties als bekeken";
+$a->strings["Private mail"] = "Privéberichten";
+$a->strings["See all private messages"] = "Alle privéberichten weergeven";
+$a->strings["Mark all private messages seen"] = "Markeer alle privéberichten als bekeken";
+$a->strings["Inbox"] = "Postvak IN";
+$a->strings["Outbox"] = "Postvak UIT";
+$a->strings["Event Calendar"] = "Agenda";
+$a->strings["See all events"] = "Alle gebeurtenissen weergeven";
+$a->strings["Mark all events seen"] = "Markeer alle gebeurtenissen als bekeken";
+$a->strings["Manage Your Channels"] = "Beheer je kanalen";
+$a->strings["Account/Channel Settings"] = "Account-/kanaal-instellingen";
+$a->strings["Admin"] = "Beheer";
+$a->strings["Site Setup and Configuration"] = "Hub instellen en beheren";
+$a->strings["@name, #tag, content"] = "@kanaal, #label, inhoud";
+$a->strings["Please wait..."] = "Wachten aub...";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. ";
$a->strings["Set your current mood and tell your friends"] = "Noteer je huidige stemming en toon het aan je connecties";
-$a->strings["Page owner information could not be retrieved."] = "Informatie over de pagina-eigenaar werd niet ontvangen.";
-$a->strings["Album not found."] = "Album niet gevonden.";
-$a->strings["Delete Album"] = "Verwijder album";
-$a->strings["Delete Photo"] = "Verwijder foto";
-$a->strings["Public access denied."] = "Openbare toegang geweigerd.";
-$a->strings["No photos selected"] = "Geen foto's geselecteerd";
-$a->strings["Access to this item is restricted."] = "Toegang tot dit item is beperkt.";
-$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Je gebruiker %1$.2f MB van totaal %2$.2f MB foto-opslagruimte.";
-$a->strings["You have used %1$.2f Mbytes of photo storage."] = "Je gebruikt %1$.2f MB aan foto-opslagruimte.";
-$a->strings["Upload Photos"] = "Foto's uploaden";
-$a->strings["New album name: "] = "Nieuwe albumnaam: ";
-$a->strings["or existing album name: "] = "of een bestaande albumnaam: ";
-$a->strings["Do not show a status post for this upload"] = "Plaats geen bericht voor deze upload.";
-$a->strings["Album name could not be decoded"] = "Albumnaam kon niet gedecodeerd worden";
-$a->strings["Contact Photos"] = "Connectiefoto's";
-$a->strings["Edit Album"] = "Album bewerken";
-$a->strings["Show Newest First"] = "Nieuwste eerst weergeven";
-$a->strings["Show Oldest First"] = "Oudste eerst weergeven";
-$a->strings["View Photo"] = "Foto weergeven";
-$a->strings["Permission denied. Access to this item may be restricted."] = "Toegang geweigerd. Toegang tot dit item kan zijn beperkt.";
-$a->strings["Photo not available"] = "Foto niet aanwezig";
-$a->strings["Use as profile photo"] = "Als profielfoto gebruiken";
-$a->strings["Private Photo"] = "Privéfoto";
-$a->strings["Previous"] = "Vorige";
-$a->strings["View Full Size"] = "Volledige grootte weergeven";
-$a->strings["Next"] = "Volgende";
-$a->strings["Remove"] = "Verwijderen";
-$a->strings["Edit photo"] = "Foto bewerken";
-$a->strings["Rotate CW (right)"] = "Draai met de klok mee (naar rechts)";
-$a->strings["Rotate CCW (left)"] = "Draai tegen de klok in (naar links)";
-$a->strings["New album name"] = "Nieuwe albumnaam";
-$a->strings["Caption"] = "Bijschrift";
-$a->strings["Add a Tag"] = "Label toevoegen";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Voorbeeld: @bob, @Barbara_Jansen, @jan@example.com, #Friesland, #camping";
-$a->strings["In This Photo:"] = "Op deze foto:";
-$a->strings["View Album"] = "Album weergeven";
-$a->strings["Recent Photos"] = "Recente foto's";
+$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximum toegestane dagelijkse registraties op deze RedMatrix-hub bereikt. Probeer het morgen (UTC) nogmaals.";
+$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden.";
+$a->strings["Passwords do not match."] = "Wachtwoorden komen niet met elkaar overeen.";
+$a->strings["Registration successful. Please check your email for validation instructions."] = "Registratie geslaagd. Controleer je e-mail voor instructies.";
+$a->strings["Your registration is pending approval by the site owner."] = "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze RedMatrix-hub.";
+$a->strings["Your registration can not be processed."] = "Jouw registratie kan niet verwerkt worden.";
+$a->strings["Registration on this site/hub is by approval only."] = "Registraties op deze RedMatrix-hub moeten eerst worden goedgekeurd.";
+$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registreer op een andere RedMatrix-hub</a>";
+$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Deze RedMatrix-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals.";
+$a->strings["Terms of Service"] = "Gebruiksvoorwaarden";
+$a->strings["I accept the %s for this website"] = "Ik accepteer de %s van deze RedMatrix-hub";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ik accepteer de %s van deze RedMatrix-hub";
+$a->strings["Registration"] = "Registratie";
+$a->strings["Membership on this site is by invitation only."] = "Registreren op deze RedMatrix-hub kan alleen op uitnodiging.";
+$a->strings["Please enter your invitation code"] = "Vul jouw uitnodigingscode in";
+$a->strings["Your email address"] = "Jouw e-mailadres";
+$a->strings["Choose a password"] = "Geef een wachtwoord op";
+$a->strings["Please re-enter your password"] = "Geef het wachtwoord opnieuw op";
$a->strings["Menu not found."] = "Menu niet gevonden.";
$a->strings["Menu element updated."] = "Menu-onderdeel geüpdatet.";
$a->strings["Unable to update menu element."] = "Menu-onderdeel kan niet worden geüpdatet.";
@@ -913,7 +900,7 @@ $a->strings["Menu Item Permissions"] = "Permissies menu-item";
$a->strings["(click to open/close)"] = "(klik om te openen/sluiten)";
$a->strings["Link text"] = "Linktekst";
$a->strings["URL of link"] = "URL of link";
-$a->strings["Use Red magic-auth if available"] = "Gebruik Reds magische authenticatie wanneer aanwezig";
+$a->strings["Use RedMatrix magic-auth if available"] = "Gebruik RedMatrix' magic-auth wanneer beschikbaar";
$a->strings["Open link in new window"] = "Open link in nieuw venster";
$a->strings["Order in list"] = "Volgorde in lijst";
$a->strings["Higher numbers will sink to bottom of listing"] = "Hogere nummers komen onderaan de lijst terecht";
@@ -926,120 +913,20 @@ $a->strings["Some blurb about what to do when you're new here"] = "Welkom op de
$a->strings["sent you a private message"] = "stuurde jou een privébericht";
$a->strings["added your channel"] = "voegde jouw kanaal toe";
$a->strings["posted an event"] = "plaatste een gebeurtenis";
-$a->strings["network"] = "netwerk";
-$a->strings["Name is required"] = "Naam is vereist";
-$a->strings["Key and Secret are required"] = "Key en secret zijn vereist";
-$a->strings["Passwords do not match. Password unchanged."] = "Wachtwoorden komen niet overeen. Wachtwoord onveranderd.";
-$a->strings["Empty passwords are not allowed. Password unchanged."] = "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd.";
-$a->strings["Password changed."] = "Wachtwoord veranderd.";
-$a->strings["Password update failed. Please try again."] = "Bijwerken wachtwoord mislukt. Probeer opnieuw.";
-$a->strings["Not valid email."] = "Geen geldig e-mailadres.";
-$a->strings["Protected email address. Cannot change to that email."] = "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken.";
-$a->strings["System failure storing new email. Please try again."] = "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer.";
-$a->strings["Settings updated."] = "Instellingen bijgewerkt.";
-$a->strings["Add application"] = "Applicatie toevoegen";
-$a->strings["Name of application"] = "Naam van applicatie";
-$a->strings["Consumer Key"] = "Consumer key";
-$a->strings["Automatically generated - change if desired. Max length 20"] = "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20";
-$a->strings["Consumer Secret"] = "Consumer secret";
-$a->strings["Redirect"] = "Redirect/doorverwijzing";
-$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist";
-$a->strings["Icon url"] = "URL van pictogram";
-$a->strings["Optional"] = "Optioneel";
-$a->strings["You can't edit this application."] = "Je kan deze applicatie niet bewerken";
-$a->strings["Connected Apps"] = "Verbonden applicaties";
-$a->strings["Client key starts with"] = "Client key begint met";
-$a->strings["No name"] = "Geen naam";
-$a->strings["Remove authorization"] = "Autorisatie verwijderen";
-$a->strings["No feature settings configured"] = "Geen plugin-instellingen ingesteld";
-$a->strings["Feature Settings"] = "Plugin-instellingen";
-$a->strings["Account Settings"] = "Account-instellingen";
-$a->strings["Password Settings"] = "Wachtwoord-instellingen";
-$a->strings["New Password:"] = "Nieuw wachtwoord:";
-$a->strings["Confirm:"] = "Bevestigen:";
-$a->strings["Leave password fields blank unless changing"] = "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen";
-$a->strings["Email Address:"] = "E-mailadres:";
-$a->strings["Remove Account"] = "Account verwijderen";
-$a->strings["Remove this account from this server including all its channels"] = "Dit account en al zijn kanalen van deze RedMatrix-hub verwijderen";
-$a->strings["Warning: This action is permanent and cannot be reversed."] = "Waarschuwing: Deze handeling is van permanente aard en kan niet meer worden teruggedraaid.";
-$a->strings["Off"] = "Uit";
-$a->strings["On"] = "Aan";
-$a->strings["Additional Features"] = "Extra functies";
-$a->strings["Connector Settings"] = "Instellingen externe koppelingen";
-$a->strings["No special theme for mobile devices"] = "Geen speciaal thema voor mobiele apparaten";
-$a->strings["%s - (Experimental)"] = "%s - (experimenteel)";
-$a->strings["Display Settings"] = "Weergave-instellingen";
-$a->strings["Display Theme:"] = "Gebruik thema:";
-$a->strings["Mobile Theme:"] = "Mobiel thema:";
-$a->strings["Enable user zoom on mobile devices"] = "Inzoomen op smartphones en tablets toestaan";
-$a->strings["Update browser every xx seconds"] = "Ververs de webbrowser om de zoveel seconde";
-$a->strings["Minimum of 10 seconds, no maximum"] = "Minimaal 10 seconde, geen maximum";
-$a->strings["Maximum number of conversations to load at any time:"] = "Maximaal aantal conversaties die per keer geladen worden:";
-$a->strings["Maximum of 100 items"] = "Maximaal 100 conversaties";
-$a->strings["Don't show emoticons"] = "Geen emoticons weergeven";
-$a->strings["Link post titles to source"] = "Berichtkoppen naar originele locatie linken";
-$a->strings["System Page Layout Editor - (advanced)"] = "Lay-out bewerken van systeempagina's (geavanceerd)";
-$a->strings["Nobody except yourself"] = "Niemand, behalve jezelf";
-$a->strings["Only those you specifically allow"] = "Alleen connecties met uitdrukkelijke toestemming";
-$a->strings["Approved connections"] = "Geaccepteerde connecties";
-$a->strings["Any connections"] = "Alle connecties";
-$a->strings["Anybody on this website"] = "Iedereen op deze hub";
-$a->strings["Anybody in this network"] = "Iedereen in dit netwerk";
-$a->strings["Anybody authenticated"] = "Geauthenticeerd";
-$a->strings["Anybody on the internet"] = "Iedereen op het internet";
-$a->strings["Publish your default profile in the network directory"] = "Publiceer je standaardprofiel in de kanalengids";
-$a->strings["No"] = "Nee";
-$a->strings["Yes"] = "Ja";
-$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen";
-$a->strings["or"] = "of";
-$a->strings["Your channel address is"] = "Jouw kanaaladres is";
-$a->strings["Channel Settings"] = "Kanaal-instellingen";
-$a->strings["Basic Settings"] = "Basis-instellingen";
-$a->strings["Your Timezone:"] = "Jouw tijdzone:";
-$a->strings["Default Post Location:"] = "Standaardlocatie bericht:";
-$a->strings["Geographical location to display on your posts"] = "Geografische locatie die bij het bericht moet worden vermeld";
-$a->strings["Use Browser Location:"] = "Locatie van webbrowser gebruiken:";
-$a->strings["Adult Content"] = "Inhoud voor volwassenen";
-$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassen. (Gebruik de hashtag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)";
-$a->strings["Security and Privacy Settings"] = "Veiligheids- privacy-instellingen";
-$a->strings["Your permissions are already configured. Click to view/adjust"] = "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen.";
-$a->strings["Hide my online presence"] = "Verberg mijn aanwezigheid";
-$a->strings["Prevents displaying in your profile that you are online"] = "Voorkomt dat op je kanaal te zien valt dat je momenteel op de RedMatrix aanwezig bent";
-$a->strings["Simple Privacy Settings:"] = "Eenvoudige privacy-instellingen:";
-$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>";
-$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>";
-$a->strings["Private - <em>default private, never open or public</em>"] = "Privé <em>(standaard privé en nooit openbaar)</em>";
-$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>";
-$a->strings["Allow others to tag your posts"] = "Anderen toestaan om je berichten te labelen";
-$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren";
-$a->strings["Advanced Privacy Settings"] = "Geavanceerde privacy-instellingen";
-$a->strings["Expire other channel content after this many days"] = "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:";
-$a->strings["0 or blank prevents expiration"] = "0 of leeg voorkomt het verlopen";
-$a->strings["Maximum Friend Requests/Day:"] = "Maximum aantal connectieverzoeken per dag:";
-$a->strings["May reduce spam activity"] = "Kan eventuele spam verminderen";
-$a->strings["Default Post Permissions"] = "Standaard permissies voor nieuwe berichten";
-$a->strings["Maximum private messages per day from unknown people:"] = "Maximum aantal privé-berichten per dag van onbekende personen:";
-$a->strings["Useful to reduce spamming"] = "Kan eventuele spam verminderen";
-$a->strings["Notification Settings"] = "Notificatie-instellingen";
-$a->strings["By default post a status message when:"] = "Plaats automatisch een statusbericht wanneer:";
-$a->strings["accepting a friend request"] = "Een connectieverzoek wordt geaccepteerd";
-$a->strings["joining a forum/community"] = "Je lid wordt van een groep/forum";
-$a->strings["making an <em>interesting</em> profile change"] = "Er sprake is van een <em>interessante</em> profielwijziging";
-$a->strings["Send a notification email when:"] = "Verzend een notificatie per e-mail wanneer:";
-$a->strings["You receive a connection request"] = "Je een connectieverzoek ontvangt";
-$a->strings["Your connections are confirmed"] = "Jouw connecties zijn bevestigd";
-$a->strings["Someone writes on your profile wall"] = "Iemand iets op jouw kanaal heeft geschreven";
-$a->strings["Someone writes a followup comment"] = "Iemand een reactie schrijft";
-$a->strings["You receive a private message"] = "Je een privé-bericht ontvangt";
-$a->strings["You receive a friend suggestion"] = "Je een kanaalvoorstel ontvangt";
-$a->strings["You are tagged in a post"] = "Je expliciet in een bericht bent genoemd";
-$a->strings["You are poked/prodded/etc. in a post"] = "Je bent in een bericht aangestoten/gepord/etc.";
-$a->strings["Advanced Account/Page Type Settings"] = "Instellingen geavanceerd account/paginatype";
-$a->strings["Change the behaviour of this account for special situations"] = "Verander het gedrag van dit account voor speciale situaties";
-$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!";
-$a->strings["Miscellaneous Settings"] = "Diverse instellingen";
-$a->strings["Personal menu to display in your channel pages"] = "Persoonlijk menu om op je kanaalpagina's weer te geven";
-$a->strings["Remove this channel"] = "Verwijder dit kanaal";
+$a->strings["Collection created."] = "Collectie aangemaakt";
+$a->strings["Could not create collection."] = "Collectie kon niet aangemaakt worden";
+$a->strings["Collection updated."] = "Collectie bijgewerkt.";
+$a->strings["Create a collection of channels."] = "Kanaalcollectie aanmaken";
+$a->strings["Collection Name: "] = "Naam collectie:";
+$a->strings["Members are visible to other channels"] = "Kanalen in deze collectie zijn zichtbaar voor andere kanalen";
+$a->strings["Collection removed."] = "Collectie verwijderd";
+$a->strings["Unable to remove collection."] = "Verwijderen collectie mislukt";
+$a->strings["Collection Editor"] = "Collectiebewerker";
+$a->strings["Members"] = "Kanalen";
+$a->strings["All Connected Channels"] = "Alle kanaalconnecties";
+$a->strings["Click on a channel to add or remove."] = "Klik op een kanaal om deze toe te voegen of te verwijderen.";
+$a->strings["Public access denied."] = "Openbare toegang geweigerd.";
+$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %2\$s";
$a->strings["Poke/Prod"] = "Aanstoten/porren";
$a->strings["poke, prod or do other things to somebody"] = "aanstoten, porren of andere dingen met iemand doen";
$a->strings["Recipient"] = "Ontvanger";
@@ -1049,27 +936,8 @@ $a->strings["Authorize application connection"] = "Geef toestemming voor applica
$a->strings["Return to your app and insert this Securty Code:"] = "Ga terug naar je app en voeg deze beveiligingscode in:";
$a->strings["Please login to continue."] = "Inloggen om verder te kunnen gaan.";
$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?";
-$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen.";
-$a->strings["Welcome %s. Remote authentication successful."] = "Welkom %s. Authenticatie op afstand geslaagd.";
-$a->strings["Item not available."] = "Item is niet aanwezig.";
-$a->strings["Fetching URL returns error: %1\$s"] = "Ophalen URL gaf een foutmelding terug: %1\$s";
-$a->strings["Invalid item."] = "Ongeldig item.";
-$a->strings["Channel not found."] = "Kanaal niet gevonden.";
-$a->strings["Page not found."] = "Pagina niet gevonden.";
-$a->strings["Version %s"] = "Versie %s";
-$a->strings["Installed plugins/addons/apps:"] = "Ingeschakelde plug-ins/add-ons/apps:";
-$a->strings["No installed plugins/addons/apps"] = "Geen ingeschakelde plug-ins/add-ons/apps";
-$a->strings["Red"] = "Red";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Dit is een hub van de RedMatrix - een wereldwijd coöperatief netwerk van gedecentraliseerde websites met verbeterde privacy.";
-$a->strings["Running at web location"] = "Draaiend op weblocatie";
-$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Red Matrix."] = "Bezoek <a href=\"http://redmatrix.me\">RedMatrix.me</a> om meer te leren over de RedMatrix.";
-$a->strings["Bug reports and issues: please visit"] = "Bugrapporten en andere kwesties: bezoek";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com";
-$a->strings["Site Administrators"] = "Hubbeheerders: ";
-$a->strings["Block Name"] = "Bloknaam";
-$a->strings["Bookmark added"] = "Bladwijzer toegevoegd";
-$a->strings["My Bookmarks"] = "Mijn bladwijzers";
-$a->strings["My Connections Bookmarks"] = "Bladwijzers van mijn connecties";
+$a->strings["Yes"] = "Ja";
+$a->strings["No"] = "Nee";
$a->strings["Profile not found."] = "Profiel niet gevonden.";
$a->strings["Profile deleted."] = "Profiel verwijderd.";
$a->strings["Profile-"] = "Profiel-";
@@ -1135,6 +1003,51 @@ $a->strings["Age: "] = "Leeftijd:";
$a->strings["Edit/Manage Profiles"] = "Profielen bewerken/beheren";
$a->strings["Add profile things"] = "Dingen aan je profiel toevoegen";
$a->strings["Include desirable objects in your profile"] = "Voeg door jou gewenste dingen aan jouw profiel toe";
+$a->strings["Item not available."] = "Item is niet aanwezig.";
+$a->strings["Fetching URL returns error: %1\$s"] = "Ophalen URL gaf een foutmelding terug: %1\$s";
+$a->strings["Invalid item."] = "Ongeldig item.";
+$a->strings["Channel not found."] = "Kanaal niet gevonden.";
+$a->strings["Page not found."] = "Pagina niet gevonden.";
+$a->strings["Export Channel"] = "Kanaal exporteren";
+$a->strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Exporteer de basisinformatie van jouw kanaal naar een klein bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal.";
+$a->strings["Export Content"] = "Inhoud exporteren";
+$a->strings["Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exporteer informatie en alle inhoud van jouw kanaal naar een JSON-back-up. Dit slaat al jouw connecties, permissies, profielgegevens en de volledige inhoud van jouw kanaal op, maar is in het algemeen niet geschikt om op een nieuwe hub te importeren, omdat dit bestand ZEER groot kan worden. Wees geduldig - het kan enkele minuten duren voordat de download begint.";
+$a->strings["No potential page delegates located."] = "Geen gevolmachtigde personen gevonden waaraan mogelijk het accountbeheer kan worden uitbesteed.";
+$a->strings["Delegate Page Management"] = "Accountbeheer uitbesteden";
+$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Gevolmachtigde personen zijn in staat om alle aspecten van dit account te beheren, behalve enkele basisinstellingen. Besteed het beheer van je persoonlijke account niet aan iemand uit die je niet volledig vertrouwd.";
+$a->strings["Existing Page Managers"] = "Bestaande accountbeheerders";
+$a->strings["Existing Page Delegates"] = "Bestaande gevolmachtigde accountbeheerders";
+$a->strings["Potential Delegates"] = "Gevolmachtigde personen waaraan mogelijk het accountbeheer kan worden uitbesteed.";
+$a->strings["Remove"] = "Verwijderen";
+$a->strings["Add"] = "Toevoegen";
+$a->strings["No entries."] = "Geen";
+$a->strings["Version %s"] = "Versie %s";
+$a->strings["Installed plugins/addons/apps:"] = "Ingeschakelde plug-ins/add-ons/apps:";
+$a->strings["No installed plugins/addons/apps"] = "Geen ingeschakelde plug-ins/add-ons/apps";
+$a->strings["Red"] = "Red";
+$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Dit is een hub van de RedMatrix - een wereldwijd coöperatief netwerk van gedecentraliseerde websites met verbeterde privacy.";
+$a->strings["Tag: "] = "Tag: ";
+$a->strings["Last background fetch: "] = "Meest recente achtergrond-fetch:";
+$a->strings["Running at web location"] = "Draaiend op weblocatie";
+$a->strings["Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more about the Red Matrix."] = "Bezoek <a href=\"https://redmatrix.me\">RedMatrix.me</a> om meer te leren over de RedMatrix.";
+$a->strings["Bug reports and issues: please visit"] = "Bugrapporten en andere kwesties: bezoek";
+$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com";
+$a->strings["Site Administrators"] = "Hubbeheerders: ";
+$a->strings["Failed to create source. No channel selected."] = "Aanmaken bron mislukt. Geen kanaal geselecteerd.";
+$a->strings["Source created."] = "Bron aangemaakt.";
+$a->strings["Source updated."] = "Bron aangemaakt.";
+$a->strings["*"] = "*";
+$a->strings["Manage remote sources of content for your channel."] = "Beheer externe bronnen met inhoud voor jouw kanaal";
+$a->strings["New Source"] = "Nieuwe bron";
+$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importeer complete of gedeelde inhoud vanuit het volgende kanaal naar dit kanaal, en verdeel het vervolgens volgens jouw kanaalinstellingen.";
+$a->strings["Only import content with these words (one per line)"] = "Importeer alleen inhoud met deze woorden (één per regel)";
+$a->strings["Leave blank to import all public content"] = "Laat leeg om alle openbare inhoud te importeren";
+$a->strings["Channel Name"] = "Kanaalnaam";
+$a->strings["Source not found."] = "Bron niet gevonden";
+$a->strings["Edit Source"] = "Bron bewerken";
+$a->strings["Delete Source"] = "Bron verwijderen";
+$a->strings["Source removed"] = "Bron verwijderd";
+$a->strings["Unable to remove source."] = "Verwijderen bron mislukt.";
$a->strings["Invalid profile identifier."] = "Ongeldige profiel-identificator";
$a->strings["Profile Visibility Editor"] = "Zichtbaarheid profiel ";
$a->strings["Click on a contact to add or remove."] = "Klik op een connectie om deze toe te voegen of te verwijderen";
@@ -1146,8 +1059,12 @@ $a->strings["Event not found."] = "Gebeurtenis niet gevonden";
$a->strings["l, F j"] = "l j F";
$a->strings["Edit event"] = "Gebeurtenis bewerken";
$a->strings["Create New Event"] = "Nieuwe gebeurtenis aanmaken";
+$a->strings["Previous"] = "Vorige";
+$a->strings["Next"] = "Volgende";
+$a->strings["Export"] = "Exporteren";
$a->strings["Event details"] = "Details van gebeurtenis";
$a->strings["Starting date and Title are required."] = "Begintijd en titel zijn vereist.";
+$a->strings["Categories (comma-separated list)"] = "Categorieën (door komma's gescheiden lijst)";
$a->strings["Event Starts:"] = "Begin gebeurtenis:";
$a->strings["Required"] = "Vereist";
$a->strings["Finish date/time is not known or not relevant"] = "Einddatum/-tijd is niet bekend of niet relevant";
@@ -1177,27 +1094,16 @@ $a->strings["Bookmark this room"] = "Chatkanaal aan bladwijzers toevoegen";
$a->strings["New Chatroom"] = "Nieuw chatkanaal";
$a->strings["Chatroom Name"] = "Naam chatkanaal";
$a->strings["%1\$s's Chatrooms"] = "Chatkanalen van %1\$s";
-$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximum toegestane dagelijkse registraties op deze RedMatrix-hub bereikt. Probeer het morgen (UTC) nogmaals.";
-$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden.";
-$a->strings["Passwords do not match."] = "Wachtwoorden komen niet met elkaar overeen.";
-$a->strings["Registration successful. Please check your email for validation instructions."] = "Registratie geslaagd. Controleer je e-mail voor instructies.";
-$a->strings["Your registration is pending approval by the site owner."] = "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze RedMatrix-hub.";
-$a->strings["Your registration can not be processed."] = "Jouw registratie kan niet verwerkt worden.";
-$a->strings["Registration on this site/hub is by approval only."] = "Registraties op deze RedMatrix-hub moeten eerst worden goedgekeurd.";
-$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registreer op een andere RedMatrix-hub</a>";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Deze RedMatrix-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals.";
-$a->strings["Terms of Service"] = "Gebruiksvoorwaarden";
-$a->strings["I accept the %s for this website"] = "Ik accepteer de %s van deze RedMatrix-hub";
-$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ik accepteer de %s van deze RedMatrix-hub";
-$a->strings["Registration"] = "Registratie";
-$a->strings["Membership on this site is by invitation only."] = "Registreren op deze RedMatrix-hub kan alleen op uitnodiging.";
-$a->strings["Please enter your invitation code"] = "Vul jouw uitnodigingscode in";
-$a->strings["Your email address"] = "Jouw e-mailadres";
-$a->strings["Choose a password"] = "Geef een wachtwoord op";
-$a->strings["Please re-enter your password"] = "Geef het wachtwoord opnieuw op";
$a->strings["Away"] = "Afwezig";
$a->strings["Online"] = "Online";
$a->strings["Please login."] = "Inloggen.";
+$a->strings["Item not found"] = "Item niet gevonden";
+$a->strings["Item is not editable"] = "Item is niet te bewerken";
+$a->strings["Edit post"] = "Bericht bewerken";
+$a->strings["Delete item?"] = "Item verwijderen?";
+$a->strings["Insert YouTube video"] = "YouTube-video invoegen";
+$a->strings["Insert Vorbis [.ogg] video"] = "Vorbis-video [.ogg] invoegen";
+$a->strings["Insert Vorbis [.ogg] audio"] = "Vorbis-audio [.ogg] invoegen";
$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Het verwijderen van een kanaal is niet toegestaan binnen 48 uur nadat het wachtwoord van het account is veranderd.";
$a->strings["Remove This Channel"] = "Verwijder dit kanaal";
$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Dit zal dit kanaal compleet van deze hub en uit het RedMatrix-netwerk verwijderen. Dit kan hierna niet meer te ongedaan gemaakt worden.";
@@ -1214,21 +1120,158 @@ $a->strings["Authentication failed."] = "Authenticatie mislukt.";
$a->strings["Remote Authentication"] = "Authenticatie op afstand";
$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Vul jouw kanaaladres in (bijv. channel@example.com)";
$a->strings["Authenticate"] = "Authenticeren";
-$a->strings["Continue"] = "Ga verder";
-$a->strings["Premium Channel Setup"] = "Instellen premiumkanaal ";
-$a->strings["Enable premium channel connection restrictions"] = "Restricties voor connecties van premiumkanaal toestaan";
-$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, gebruikersvoorschriften, enz.";
-$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:";
-$a->strings["Potential connections will then see the following text before proceeding:"] = "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:";
-$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina.";
-$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) ";
-$a->strings["Restricted or Premium Channel"] = "Beperkt of premiumkanaal";
-$a->strings["No such group"] = "Collectie niet gevonden";
-$a->strings["Search Results For:"] = "Zoekresultaten voor:";
-$a->strings["Collection is empty"] = "Collectie is leeg";
-$a->strings["Collection: "] = "Collectie: ";
-$a->strings["Connection: "] = "Connectie: ";
-$a->strings["Invalid connection."] = "Ongeldige connectie.";
+$a->strings["No valid account found."] = "Geen geldige account gevonden.";
+$a->strings["Password reset request issued. Check your email."] = "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail.";
+$a->strings["Site Member (%s)"] = "Lid van hub (%s)";
+$a->strings["Password reset requested at %s"] = "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend";
+$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt.";
+$a->strings["Password Reset"] = "Wachtwoord vergeten?";
+$a->strings["Your password has been reset as requested."] = "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht.";
+$a->strings["Your new password is"] = "Jouw nieuwe wachtwoord is";
+$a->strings["Save or copy your new password - and then"] = "Kopieer of sla je nieuwe wachtwoord op - en";
+$a->strings["click here to login"] = "klik dan hier om in te loggen";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd.";
+$a->strings["Your password has changed at %s"] = "Jouw wachtwoord op %s is veranderd";
+$a->strings["Forgot your Password?"] = "Wachtwoord vergeten?";
+$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies.";
+$a->strings["Email Address"] = "E-mailadres";
+$a->strings["Reset"] = "Opnieuw instellen";
+$a->strings["Name is required"] = "Naam is vereist";
+$a->strings["Key and Secret are required"] = "Key en secret zijn vereist";
+$a->strings["Passwords do not match. Password unchanged."] = "Wachtwoorden komen niet overeen. Wachtwoord onveranderd.";
+$a->strings["Empty passwords are not allowed. Password unchanged."] = "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd.";
+$a->strings["Password changed."] = "Wachtwoord veranderd.";
+$a->strings["Password update failed. Please try again."] = "Bijwerken wachtwoord mislukt. Probeer opnieuw.";
+$a->strings["Not valid email."] = "Geen geldig e-mailadres.";
+$a->strings["Protected email address. Cannot change to that email."] = "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken.";
+$a->strings["System failure storing new email. Please try again."] = "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer.";
+$a->strings["Settings updated."] = "Instellingen bijgewerkt.";
+$a->strings["Add application"] = "Applicatie toevoegen";
+$a->strings["Name of application"] = "Naam van applicatie";
+$a->strings["Consumer Key"] = "Consumer key";
+$a->strings["Automatically generated - change if desired. Max length 20"] = "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20";
+$a->strings["Consumer Secret"] = "Consumer secret";
+$a->strings["Redirect"] = "Redirect/doorverwijzing";
+$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist";
+$a->strings["Icon url"] = "URL van pictogram";
+$a->strings["Optional"] = "Optioneel";
+$a->strings["You can't edit this application."] = "Je kan deze applicatie niet bewerken";
+$a->strings["Connected Apps"] = "Verbonden applicaties";
+$a->strings["Client key starts with"] = "Client key begint met";
+$a->strings["No name"] = "Geen naam";
+$a->strings["Remove authorization"] = "Autorisatie verwijderen";
+$a->strings["No feature settings configured"] = "Geen plugin-instellingen ingesteld";
+$a->strings["Feature Settings"] = "Plugin-instellingen";
+$a->strings["Account Settings"] = "Account-instellingen";
+$a->strings["Password Settings"] = "Wachtwoord-instellingen";
+$a->strings["New Password:"] = "Nieuw wachtwoord:";
+$a->strings["Confirm:"] = "Bevestigen:";
+$a->strings["Leave password fields blank unless changing"] = "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen";
+$a->strings["Email Address:"] = "E-mailadres:";
+$a->strings["Remove Account"] = "Account verwijderen";
+$a->strings["Remove this account from this server including all its channels"] = "Dit account en al zijn kanalen van deze RedMatrix-hub verwijderen";
+$a->strings["Warning: This action is permanent and cannot be reversed."] = "Waarschuwing: Deze handeling is van permanente aard en kan niet meer worden teruggedraaid.";
+$a->strings["Off"] = "Uit";
+$a->strings["On"] = "Aan";
+$a->strings["Additional Features"] = "Extra functies";
+$a->strings["Connector Settings"] = "Instellingen externe koppelingen";
+$a->strings["No special theme for mobile devices"] = "Geen speciaal thema voor mobiele apparaten";
+$a->strings["%s - (Experimental)"] = "%s - (experimenteel)";
+$a->strings["mobile"] = "mobiel";
+$a->strings["Display Settings"] = "Weergave-instellingen";
+$a->strings["Display Theme:"] = "Gebruik thema:";
+$a->strings["Mobile Theme:"] = "Mobiel thema:";
+$a->strings["Enable user zoom on mobile devices"] = "Inzoomen op smartphones en tablets toestaan";
+$a->strings["Update browser every xx seconds"] = "Ververs de webbrowser om de zoveel seconde";
+$a->strings["Minimum of 10 seconds, no maximum"] = "Minimaal 10 seconde, geen maximum";
+$a->strings["Maximum number of conversations to load at any time:"] = "Maximaal aantal conversaties die per keer geladen worden:";
+$a->strings["Maximum of 100 items"] = "Maximaal 100 conversaties";
+$a->strings["Don't show emoticons"] = "Geen emoticons weergeven";
+$a->strings["Link post titles to source"] = "Berichtkoppen naar originele locatie linken";
+$a->strings["System Page Layout Editor - (advanced)"] = "Lay-out bewerken van systeempagina's (geavanceerd)";
+$a->strings["Use blog/list mode on channel page"] = "Gebruik blog/lijst-modus op kanaalpagina";
+$a->strings["(comments displayed separately)"] = "(reacties worden afzonderlijk weergeven)";
+$a->strings["Use blog/list mode on matrix page"] = "Gebruik blog/lijst-modus op matrixpagina";
+$a->strings["Channel page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)";
+$a->strings["click to expand content exceeding this height"] = "klik om inhoud uit te klappen die deze hoogte overschrijdt";
+$a->strings["Matrix page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op matrixpagina (in pixels)";
+$a->strings["Nobody except yourself"] = "Niemand, behalve jezelf";
+$a->strings["Only those you specifically allow"] = "Alleen connecties met uitdrukkelijke toestemming";
+$a->strings["Approved connections"] = "Geaccepteerde connecties";
+$a->strings["Any connections"] = "Alle connecties";
+$a->strings["Anybody on this website"] = "Iedereen op deze hub";
+$a->strings["Anybody in this network"] = "Iedereen in dit netwerk";
+$a->strings["Anybody authenticated"] = "Geauthenticeerd";
+$a->strings["Anybody on the internet"] = "Iedereen op het internet";
+$a->strings["Publish your default profile in the network directory"] = "Publiceer je standaardprofiel in de kanalengids";
+$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen";
+$a->strings["or"] = "of";
+$a->strings["Your channel address is"] = "Jouw kanaaladres is";
+$a->strings["Channel Settings"] = "Kanaal-instellingen";
+$a->strings["Basic Settings"] = "Basis-instellingen";
+$a->strings["Your Timezone:"] = "Jouw tijdzone:";
+$a->strings["Default Post Location:"] = "Standaardlocatie bericht:";
+$a->strings["Geographical location to display on your posts"] = "Geografische locatie die bij het bericht moet worden vermeld";
+$a->strings["Use Browser Location:"] = "Locatie van webbrowser gebruiken:";
+$a->strings["Adult Content"] = "Inhoud voor volwassenen";
+$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassenen. (Gebruik de tag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)";
+$a->strings["Security and Privacy Settings"] = "Veiligheids- en privacy-instellingen";
+$a->strings["Your permissions are already configured. Click to view/adjust"] = "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen.";
+$a->strings["Hide my online presence"] = "Verberg mijn aanwezigheid";
+$a->strings["Prevents displaying in your profile that you are online"] = "Voorkomt dat op je kanaal te zien valt dat je momenteel op de RedMatrix aanwezig bent";
+$a->strings["Simple Privacy Settings:"] = "Eenvoudige privacy-instellingen:";
+$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>";
+$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>";
+$a->strings["Private - <em>default private, never open or public</em>"] = "Privé <em>(standaard privé en nooit openbaar)</em>";
+$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>";
+$a->strings["Allow others to tag your posts"] = "Anderen toestaan om je berichten te taggen";
+$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren";
+$a->strings["Advanced Privacy Settings"] = "Geavanceerde privacy-instellingen";
+$a->strings["Expire other channel content after this many days"] = "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:";
+$a->strings["0 or blank prevents expiration"] = "0 of leeg voorkomt het verlopen";
+$a->strings["Maximum Friend Requests/Day:"] = "Maximum aantal connectieverzoeken per dag:";
+$a->strings["May reduce spam activity"] = "Kan eventuele spam verminderen";
+$a->strings["Default Post Permissions"] = "Standaard permissies voor nieuwe berichten";
+$a->strings["Channel permissions category:"] = "Kanaaltype en -permissies:";
+$a->strings["Maximum private messages per day from unknown people:"] = "Maximum aantal privé-berichten per dag van onbekende personen:";
+$a->strings["Useful to reduce spamming"] = "Kan eventuele spam verminderen";
+$a->strings["Notification Settings"] = "Notificatie-instellingen";
+$a->strings["By default post a status message when:"] = "Plaats automatisch een statusbericht wanneer:";
+$a->strings["accepting a friend request"] = "Een connectieverzoek wordt geaccepteerd";
+$a->strings["joining a forum/community"] = "Je lid wordt van een forum/groep";
+$a->strings["making an <em>interesting</em> profile change"] = "Er sprake is van een <em>interessante</em> profielwijziging";
+$a->strings["Send a notification email when:"] = "Verzend een notificatie per e-mail wanneer:";
+$a->strings["You receive a connection request"] = "Je een connectieverzoek ontvangt";
+$a->strings["Your connections are confirmed"] = "Jouw connecties zijn bevestigd";
+$a->strings["Someone writes on your profile wall"] = "Iemand iets op jouw kanaal heeft geschreven";
+$a->strings["Someone writes a followup comment"] = "Iemand een reactie schrijft";
+$a->strings["You receive a private message"] = "Je een privé-bericht ontvangt";
+$a->strings["You receive a friend suggestion"] = "Je een kanaalvoorstel ontvangt";
+$a->strings["You are tagged in a post"] = "Je expliciet in een bericht bent genoemd";
+$a->strings["You are poked/prodded/etc. in a post"] = "Je bent in een bericht aangestoten/gepord/etc.";
+$a->strings["Show visual notifications including:"] = "Toon de volgende zichtbare notificaties:";
+$a->strings["Unseen matrix activity"] = "Niet bekeken matrix-activiteit";
+$a->strings["Unseen channel activity"] = "Niet bekeken kanaal-activiteit";
+$a->strings["Unseen private messages"] = "Niet bekeken privéberichten";
+$a->strings["Recommended"] = "Aanbevolen";
+$a->strings["Upcoming events"] = "Aankomende gebeurtenissen";
+$a->strings["Events today"] = "Gebeurtissen van vandaag";
+$a->strings["Upcoming birthdays"] = "Aankomende verjaardagen";
+$a->strings["Not available in all themes"] = "Niet in alle thema's beschikbaar";
+$a->strings["System (personal) notifications"] = "(Persoonlijke) systeemnotificaties";
+$a->strings["System info messages"] = "Systeemmededelingen";
+$a->strings["System critical alerts"] = "Kritische systeemwaarschuwingen";
+$a->strings["New connections"] = "Nieuwe connecties";
+$a->strings["System Registrations"] = "Nieuwe accountregistraties op deze hub";
+$a->strings["Also show new wall posts, private messages and connections under Notices"] = "Toon tevens nieuwe kanaalberichten, privéberichten en connecties onder Notificaties";
+$a->strings["Notify me of events this many days in advance"] = "Herinner mij zoveel dagen van te voren aan gebeurtenissen";
+$a->strings["Must be greater than 0"] = "Moet hoger dan 0 zijn";
+$a->strings["Advanced Account/Page Type Settings"] = "Instellingen geavanceerd account/paginatype";
+$a->strings["Change the behaviour of this account for special situations"] = "Verander het gedrag van dit account voor speciale situaties";
+$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!";
+$a->strings["Miscellaneous Settings"] = "Diverse instellingen";
+$a->strings["Personal menu to display in your channel pages"] = "Persoonlijk menu om op je kanaalpagina's weer te geven";
+$a->strings["Remove this channel"] = "Verwijder dit kanaal";
$a->strings["Could not access contact record."] = "Kon geen toegang krijgen tot de connectie-gegevens.";
$a->strings["Could not locate selected profile."] = "Kon het gekozen profiel niet vinden.";
$a->strings["Connection updated."] = "Connectie bijgewerkt.";
@@ -1252,7 +1295,14 @@ $a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
$a->strings["Edit connection"] = "Connectie bewerken";
$a->strings["Search your connections"] = "Doorzoek jouw connecties";
$a->strings["Finding: "] = "Zoeken naar: ";
-$a->strings["Edit post"] = "Bericht bewerken";
+$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt.";
+$a->strings["Create a new channel"] = "Nieuw kanaal aanmaken";
+$a->strings["Current Channel"] = "Huidig kanaal";
+$a->strings["Switch to one of your channels by selecting it."] = "Activeer een van jouw andere kanalen door er op te klikken.";
+$a->strings["Default Channel"] = "Standaardkanaal";
+$a->strings["Make Default"] = "Als standaard instellen";
+$a->strings["%d new messages"] = "%d nieuwe berichten";
+$a->strings["%d new introductions"] = "%d nieuwe connectieverzoeken";
$a->strings["is now connected to"] = "is nu verbonden met";
$a->strings["Could not access address book record."] = "Kon geen toegang krijgen tot de record van de connectie.";
$a->strings["Refresh failed - channel is currently unavailable."] = "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar";
@@ -1288,9 +1338,9 @@ $a->strings["Hide or Unhide this connection"] = "Deze connectie verbergen of nie
$a->strings["Delete this connection"] = "Deze connectie verwijderen";
$a->strings["Approve this connection"] = "Deze connectie accepteren";
$a->strings["Accept connection to allow communication"] = "Keur deze connectie goed om communicatie toe te staan";
-$a->strings["Automatic Permissions Settings"] = "Automatische permissies";
$a->strings["Connections: settings for %s"] = "Connecties: instellingen voor %s";
-$a->strings["When receiving a channel introduction, any permissions provided here will be applied to the new connection automatically and the introduction approved. Leave this page if you do not wish to use this feature."] = "Wanneer je een connectieverzoek voor een kanaal ontvangt, zullen alle permissies hier automatisch op de nieuwe connectie worden toegepast en het connectieverzoek worden geaccepteerd. Verlaat deze pagina wanneer je geen gebruik wil maken van deze functie.";
+$a->strings["Apply these permissions automatically"] = "Deze permissies automatisch toepassen";
+$a->strings["Apply the permissions indicated on this page to all new connections."] = "Permissies die op deze pagina staan vermeldt op alle nieuwe connecties toepassen.";
$a->strings["Slide to adjust your degree of friendship"] = "Schuif om te bepalen hoe goed je iemand kent en/of mag";
$a->strings["inherited"] = "geërfd";
$a->strings["Connection has no individual permissions!"] = "Connectie heeft geen individuele permissies!";
@@ -1302,7 +1352,7 @@ $a->strings["Edit contact notes"] = "Bewerk aantekeningen over contact";
$a->strings["Their Settings"] = "Hun instellingen";
$a->strings["My Settings"] = "Mijn instellingen";
$a->strings["Clear/Disable Automatic Permissions"] = "Verwijderen/uitschakelen automatische permissies";
-$a->strings["Forum Members"] = "Forum/groepsleden";
+$a->strings["Forum Members"] = "Forumleden";
$a->strings["Soapbox"] = "Zeepkist";
$a->strings["Full Sharing (typical social network permissions)"] = "Voluit delen (vergelijkbaar met die van sociale netwerken)";
$a->strings["Cautious Sharing "] = "Voorzichtig delen";
@@ -1326,32 +1376,160 @@ $a->strings["Currently archived"] = "Momenteel gearchiveerd";
$a->strings["Currently pending"] = "Moeten nog geaccepteerd of afgewezen worden";
$a->strings["Hide this contact from others"] = "Verberg deze connectie voor anderen";
$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Reacties/vind-ik-leuks op jouw openbare berichten <strong>kunnen</strong> zichtbaar blijven";
-$a->strings["No potential page delegates located."] = "Geen gevolmachtigde personen gevonden waaraan mogelijk het accountbeheer kan worden uitbesteed.";
-$a->strings["Delegate Page Management"] = "Accountbeheer uitbesteden";
-$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Gevolmachtigde personen zijn in staat om alle aspecten van dit account te beheren, behalve enkele basisinstellingen. Besteed het beheer van je persoonlijke account niet aan iemand uit die je niet volledig vertrouwd.";
-$a->strings["Existing Page Managers"] = "Bestaande accountbeheerders";
-$a->strings["Existing Page Delegates"] = "Bestaande gevolmachtigde accountbeheerders";
-$a->strings["Potential Delegates"] = "Gevolmachtigde personen waaraan mogelijk het accountbeheer kan worden uitbesteed.";
-$a->strings["Add"] = "Toevoegen";
-$a->strings["No entries."] = "Geen";
-$a->strings["Gender: "] = "Geslacht:";
-$a->strings["Finding:"] = "Gezocht naar:";
-$a->strings["next page"] = "volgende pagina";
-$a->strings["previous page"] = "vorige pagina";
-$a->strings["No entries (some entries may be hidden)."] = "Niets gevonden (sommige kanalen kunnen verborgen zijn).";
-$a->strings["Status: "] = "Status: ";
-$a->strings["Sexual Preference: "] = "Seksuele voorkeur: ";
-$a->strings["Homepage: "] = "Homepage: ";
-$a->strings["Hometown: "] = "Oorspronkelijk uit: ";
-$a->strings["About: "] = "Over: ";
-$a->strings["Keywords: "] = "Trefwoorden: ";
+$a->strings["Unable to lookup recipient."] = "Niet in staat om ontvanger op te zoeken.";
+$a->strings["Unable to communicate with requested channel."] = "Niet in staat om met het aangevraagde kanaal te communiceren.";
+$a->strings["Cannot verify requested channel."] = "Kan opgevraagd kanaal niet verifieren";
+$a->strings["Selected channel has private message restrictions. Send failed."] = "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt.";
+$a->strings["Message deleted."] = "Bericht verwijderd.";
+$a->strings["Message recalled."] = "Bericht ingetrokken.";
+$a->strings["Send Private Message"] = "Privébericht versturen";
+$a->strings["To:"] = "Aan:";
+$a->strings["Subject:"] = "Onderwerp:";
+$a->strings["Your message:"] = "Jouw bericht:";
+$a->strings["Send"] = "Verzenden";
+$a->strings["Message not found."] = "Bericht niet gevonden";
+$a->strings["Delete message"] = "Bericht verwijderen";
+$a->strings["Recall message"] = "Bericht intrekken";
+$a->strings["Message has been recalled."] = "Bericht is ingetrokken.";
+$a->strings["Private Conversation"] = "Privéconversatie";
+$a->strings["Delete conversation"] = "Verwijder conversatie";
+$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender.";
+$a->strings["Send Reply"] = "Antwoord versturen";
+$a->strings["Bookmark added"] = "Bladwijzer toegevoegd";
+$a->strings["My Bookmarks"] = "Mijn bladwijzers";
+$a->strings["My Connections Bookmarks"] = "Bladwijzers van mijn connecties";
$a->strings["This site is not a directory server"] = "Deze hub is geen kanalengidshub (directoryserver)";
+$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "RedMatrix - gasttoegang: Toegangsnaam: {jouw e-mailadres}, wachtwoord: +++";
+$a->strings["network"] = "netwerk";
+$a->strings["Block Name"] = "Bloknaam";
+$a->strings["Edit Block"] = "Blok bewerken";
+$a->strings["Delete block?"] = "Blok verwijderen";
+$a->strings["Delete Block"] = "Blok verwijderen";
+$a->strings["Layout updated."] = "Lay-out bijgewerkt.";
+$a->strings["Edit System Page Description"] = "Systeempagina's bewerken";
+$a->strings["Layout not found."] = "Lay-out niet gevonden.";
+$a->strings["Module Name:"] = "Modulenaam:";
+$a->strings["Layout Help"] = "Lay-out-hulp";
+$a->strings["Edit Layout"] = "Lay-out bewerken";
+$a->strings["Delete layout?"] = "Lay-out verwijderen?";
+$a->strings["Delete Layout"] = "Lay-out verwijderen";
+$a->strings["Red Matrix - &quot;The Network&quot;"] = "RedMatrix - &quot;The Network&quot;";
+$a->strings["Welcome to %s"] = "Welkom op %s";
+$a->strings["Edit Webpage"] = "Webpagina bewerken";
+$a->strings["Delete webpage?"] = "Webpagina verwijderen?";
+$a->strings["Delete Webpage"] = "Webpagina verwijderen";
+$a->strings["webpage"] = "Webpagina";
+$a->strings["block"] = "blok";
+$a->strings["layout"] = "lay-out";
+$a->strings["%s element installed"] = "%s onderdeel geïnstalleerd";
+$a->strings["Image uploaded but image cropping failed."] = "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. ";
+$a->strings["Image resize failed."] = "Afbeelding kon niet van grootte veranderd worden.";
+$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven.";
+$a->strings["Image exceeds size limit of %d"] = "Afbeeldingsgrootte overschrijdt het limiet van %d";
+$a->strings["Unable to process image."] = "Niet in staat om afbeelding te verwerken.";
+$a->strings["Photo not available."] = "Foto niet beschikbaar.";
+$a->strings["Upload File:"] = "Bestand uploaden:";
+$a->strings["Select a profile:"] = "Kies een profiel:";
+$a->strings["Upload Profile Photo"] = "Profielfoto uploaden";
+$a->strings["skip this step"] = "sla deze stap over";
+$a->strings["select a photo from your photo albums"] = "Kies een foto uit jouw fotoalbums";
+$a->strings["Crop Image"] = "Afbeelding bijsnijden";
+$a->strings["Please adjust the image cropping for optimum viewing."] = "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven.";
+$a->strings["Done Editing"] = "Klaar met bewerken";
+$a->strings["Image uploaded successfully."] = "Uploaden afbeelding geslaagd";
+$a->strings["Image upload failed."] = "Uploaden afbeelding mislukt";
+$a->strings["Image size reduction [%s] failed."] = "Verkleinen [%s] van afbeelding mislukt.";
+$a->strings["Like/Dislike"] = "Leuk/niet leuk";
+$a->strings["This action is restricted to members."] = "Deze actie kan alleen door mensen met een RedMatrix-account worden uitgevoerd.";
+$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "Je dient <a href=\"rmagic\">in te loggen met je RedMatrix-account</a> of <a href=\"register\">een nieuw RedMatrix-account te registreren</a> om verder te kunnen gaan.";
+$a->strings["Invalid request."] = "Ongeldig verzoek";
+$a->strings["thing"] = "ding";
+$a->strings["Channel unavailable."] = "Kanaal niet beschikbaar.";
+$a->strings["Previous action reversed."] = "Vorige actie omgedraaid";
+$a->strings["Action completed."] = "Actie voltooid";
+$a->strings["Thank you."] = "Bedankt";
+$a->strings["Help:"] = "Hulp:";
+$a->strings["Not Found"] = "Niet gevonden";
+$a->strings["Thing updated"] = "Ding bijgewerkt";
+$a->strings["Object store: failed"] = "Opslaan van ding mislukt";
+$a->strings["Thing added"] = "Ding toegevoegd";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+$a->strings["Show Thing"] = "Ding weergeven";
+$a->strings["item not found."] = "Item niet gevonden";
+$a->strings["Edit Thing"] = "Ding bewerken";
+$a->strings["Select a profile"] = "Kies een profiel";
+$a->strings["Post an activity"] = "Plaats een bericht";
+$a->strings["Only sends to viewers of the applicable profile"] = "Toont dit alleen aan diegene die het gekozen profiel mogen zien.";
+$a->strings["Name of thing e.g. something"] = "Naam van ding";
+$a->strings["URL of thing (optional)"] = "URL van ding (optioneel)";
+$a->strings["URL for photo of thing (optional)"] = "URL van foto van ding (optioneel)";
+$a->strings["Add Thing to your Profile"] = "Ding aan je profiel toevoegen";
+$a->strings["Contact not found."] = "Contact niet gevonden";
+$a->strings["Friend suggestion sent."] = "Kanaalvoorstel verzonden.";
+$a->strings["Suggest Friends"] = "Kanalen voorstellen";
+$a->strings["Suggest a friend for %s"] = "Stel een kanaal voor aan %s";
+$a->strings["Permission Denied."] = "Toegang geweigerd";
+$a->strings["File not found."] = "Bestand niet gevonden.";
+$a->strings["Edit file permissions"] = "Bestandsrechten bewerken";
+$a->strings["Set/edit permissions"] = "Rechten instellen/bewerken";
+$a->strings["Include all files and sub folders"] = "Toepassen op alle bestanden en submappen";
+$a->strings["Return to file list"] = "Terugkeren naar bestandlijst ";
+$a->strings["Copy/paste this code to attach file to a post"] = "Kopieer/plak deze code om het bestand aan een bericht te koppelen";
+$a->strings["Copy/paste this URL to link file from a web page"] = "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen";
+$a->strings["Continue"] = "Ga verder";
+$a->strings["Premium Channel Setup"] = "Instellen premiumkanaal ";
+$a->strings["Enable premium channel connection restrictions"] = "Restricties voor connecties van premiumkanaal toestaan";
+$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, voorschriften voor leden, enz.";
+$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:";
+$a->strings["Potential connections will then see the following text before proceeding:"] = "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:";
+$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina.";
+$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) ";
+$a->strings["Restricted or Premium Channel"] = "Beperkt of premiumkanaal";
+$a->strings["- select -"] = "- kies map -";
+$a->strings["Location not found."] = "Locatie niet gevonden.";
+$a->strings["Primary location cannot be removed."] = "Primaire locatie kan niet worden verwijderd.";
+$a->strings["No locations found."] = "Geen locaties gevonden.";
+$a->strings["Manage Channel Locations"] = "Kanaallocaties beheren";
+$a->strings["Location (address)"] = "Locatie (adres)";
+$a->strings["Primary Location"] = "Primaire locatie";
+$a->strings["Drop location"] = "Locatie verwijderen";
+$a->strings["Channel added."] = "Kanaal toegevoegd.";
+$a->strings["Your service plan only allows %d channels."] = "Jouw abonnement staat maar %d kanalen toe.";
+$a->strings["Nothing to import."] = "Niets gevonden om te importeren";
+$a->strings["Unable to download data from old server"] = "Niet in staat om gegevens van de oude hub te downloaden";
+$a->strings["Imported file is empty."] = "Geïmporteerde bestand is leeg";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt.";
+$a->strings["Unable to create a unique channel address. Import failed."] = "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt.";
+$a->strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt.";
+$a->strings["Cloned channel not found. Import failed."] = "Gekloond kanaal niet gevonden. Importeren mislukt.";
+$a->strings["Import completed."] = "Import voltooid.";
+$a->strings["You must be logged in to use this feature."] = "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken.";
+$a->strings["Import Channel"] = "Kanaal importeren";
+$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken. Alleen de identiteit en de connecties zullen geïmporteerd worden. Het importeren van inhoud is nog niet beschikbaar.";
+$a->strings["File to Upload"] = "Bestand om te uploaden";
+$a->strings["Or provide the old server/hub details"] = "Of vul de gegevens van de oude hub in";
+$a->strings["Your old identity address (xyz@example.com)"] = "Jouw oude kanaaladres (xyz@example.com)";
+$a->strings["Your old login email address"] = "Het e-mailadres van je oude account";
+$a->strings["Your old login password"] = "Wachtwoord van jouw oude account";
+$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen.";
+$a->strings["Make this hub my primary location"] = "Stel deze hub als mijn primaire locatie in";
+$a->strings["Import existing posts if possible"] = "Importeer bestaande berichten (wanneer mogelijk)";
+$a->strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. ";
+$a->strings["Empty post discarded."] = "Leeg bericht geannuleerd";
+$a->strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal.";
+$a->strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen.";
+$a->strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt.";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "Je hebt jouw limiet van %1$.0f webpagina's bereikt.";
+$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probeer het dan over 24 uur weer.";
+$a->strings["Help with this feature"] = "Hulp voor dit onderdeel";
+$a->strings["Layout Name"] = "Naam lay-out";
+$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s heeft het %3\$s van %2\$s getagd met %4\$s";
$a->strings["Red Matrix Server - Setup"] = "RedMatrix Server - Setup";
$a->strings["Could not connect to database."] = "Could not connect to database.";
$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Could not connect to specified hub URL. Possible SSL certificate or DNS issue.";
$a->strings["Could not create table."] = "Could not create table.";
$a->strings["Your site database has been installed."] = "Your hub database has been installed.";
-$a->strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql.";
+$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "You may need to import the file \"install/schema_xxx.sql\" manually using a database client.";
$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Please see the file \"install/INSTALL.txt\".";
$a->strings["System check"] = "System check";
$a->strings["Check again"] = "Check again";
@@ -1366,6 +1544,7 @@ $a->strings["Communication port number - use 0 for default"] = "Communication po
$a->strings["Database Login Name"] = "Database Login Name";
$a->strings["Database Login Password"] = "Database Login Password";
$a->strings["Database Name"] = "Database Name";
+$a->strings["Database Type"] = "Database Type";
$a->strings["Site administrator email address"] = "Hub administrator email address";
$a->strings["Your account email address must match this in order to use the web admin panel."] = "Your account email address must match this in order to use the web admin panel.";
$a->strings["Website URL"] = "Hub URL";
@@ -1386,7 +1565,7 @@ $a->strings["Generate encryption keys"] = "Generate encryption keys";
$a->strings["libCurl PHP module"] = "libCurl PHP module";
$a->strings["GD graphics PHP module"] = "GD graphics PHP module";
$a->strings["OpenSSL PHP module"] = "OpenSSL PHP module";
-$a->strings["mysqli PHP module"] = "mysqli PHP module";
+$a->strings["mysqli or postgres PHP module"] = "mysqli or postgres PHP module";
$a->strings["mb_string PHP module"] = "mb_string PHP module";
$a->strings["mcrypt PHP module"] = "mcrypt PHP module";
$a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite module";
@@ -1396,10 +1575,10 @@ $a->strings["Error: proc_open is required but is either not installed or has bee
$a->strings["Error: libCURL PHP module required but not installed."] = "Error: libCURL PHP module required but not installed.";
$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: GD graphics PHP module with JPEG support required but not installed.";
$a->strings["Error: openssl PHP module required but not installed."] = "Error: openssl PHP module required but not installed.";
-$a->strings["Error: mysqli PHP module required but not installed."] = "Error: mysqli PHP module required but not installed.";
+$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: mysqli or postgres PHP module required but neither are installed.";
$a->strings["Error: mb_string PHP module required but not installed."] = "Error: mb_string PHP module required but not installed.";
$a->strings["Error: mcrypt PHP module required but not installed."] = "Error: mcrypt PHP module required but not installed.";
-$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so.";
+$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so.";
$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.";
$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder.";
$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions.";
@@ -1418,99 +1597,15 @@ $a->strings["If your certificate is not recognized, members of other sites (who
$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement.";
$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Providers are available that issue free certificates which are browser-valid.";
$a->strings["SSL certificate validation"] = "SSL certificate validation";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "Url rewrite in .htaccess is not working. Check your server configuration.";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Url rewrite in .htaccess is not working. Check your server configuration.Test: ";
$a->strings["Url rewrite is working"] = "Url rewrite is working";
$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root.";
$a->strings["Errors encountered creating database tables."] = "Errors encountered creating database tables.";
$a->strings["<h1>What next</h1>"] = "<h1>Wat nu</h1>";
$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT: You will need to [manually] setup a scheduled task for the poller.";
-$a->strings["Item not found"] = "Item niet gevonden";
-$a->strings["Edit Block"] = "Blok bewerken";
-$a->strings["Delete block?"] = "Blok verwijderen";
-$a->strings["Insert YouTube video"] = "YouTube-video invoegen";
-$a->strings["Insert Vorbis [.ogg] video"] = "Vorbis-video [.ogg] invoegen";
-$a->strings["Insert Vorbis [.ogg] audio"] = "Vorbis-audio [.ogg] invoegen";
-$a->strings["Delete Block"] = "Blok verwijderen";
-$a->strings["Layout updated."] = "Lay-out bijgewerkt.";
-$a->strings["Edit System Page Description"] = "Systeempagina's bewerken";
-$a->strings["Layout not found."] = "Lay-out niet gevonden.";
-$a->strings["Module Name:"] = "Modulenaam:";
-$a->strings["Layout Help"] = "Lay-out-hulp";
-$a->strings["Edit Layout"] = "Lay-out bewerken";
-$a->strings["Delete layout?"] = "Lay-out verwijderen?";
-$a->strings["Delete Layout"] = "Lay-out verwijderen";
-$a->strings["Item is not editable"] = "Item is niet te bewerken";
-$a->strings["Delete item?"] = "Item verwijderen?";
-$a->strings["Edit Webpage"] = "Webpagina bewerken";
-$a->strings["Delete webpage?"] = "Webpagina verwijderen?";
-$a->strings["Delete Webpage"] = "Webpagina verwijderen";
-$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "RedMatrix - gasttoegang: Gebruikersnaam: {jouw e-mailadres}, wachtwoord: +++";
-$a->strings["Image uploaded but image cropping failed."] = "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. ";
-$a->strings["Image resize failed."] = "Afbeelding kon niet van grootte veranderd worden.";
-$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven.";
-$a->strings["Image exceeds size limit of %d"] = "Afbeeldingsgrootte overschrijdt het limiet van %d";
-$a->strings["Unable to process image."] = "Niet in staat om afbeelding te verwerken.";
-$a->strings["Photo not available."] = "Foto niet beschikbaar.";
-$a->strings["Upload File:"] = "Bestand uploaden:";
-$a->strings["Select a profile:"] = "Kies een profiel:";
-$a->strings["Upload Profile Photo"] = "Profielfoto uploaden";
-$a->strings["skip this step"] = "sla deze stap over";
-$a->strings["select a photo from your photo albums"] = "Kies een foto uit jouw fotoalbums";
-$a->strings["Crop Image"] = "Afbeelding bijsnijden";
-$a->strings["Please adjust the image cropping for optimum viewing."] = "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven.";
-$a->strings["Done Editing"] = "Klaar met bewerken";
-$a->strings["Image uploaded successfully."] = "Uploaden afbeelding geslaagd";
-$a->strings["Image upload failed."] = "Uploaden afbeelding mislukt";
-$a->strings["Image size reduction [%s] failed."] = "Verkleinen [%s] van afbeelding mislukt.";
-$a->strings["Failed to create source. No channel selected."] = "Aanmaken bron mislukt. Geen kanaal geselecteerd.";
-$a->strings["Source created."] = "Bron aangemaakt.";
-$a->strings["Source updated."] = "Bron aangemaakt.";
-$a->strings["*"] = "*";
-$a->strings["Manage remote sources of content for your channel."] = "Beheer externe bronnen met inhoud voor jouw kanaal";
-$a->strings["New Source"] = "Nieuwe bron";
-$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importeer complete of gedeelde inhoud vanuit het volgende kanaal naar dit kanaal, en verdeel het vervolgens volgens jouw kanaalinstellingen.";
-$a->strings["Only import content with these words (one per line)"] = "Importeer alleen inhoud met deze woorden (één per regel)";
-$a->strings["Leave blank to import all public content"] = "Laat leeg om alle openbare inhoud te importeren";
-$a->strings["Channel Name"] = "Kanaalnaam";
-$a->strings["Source not found."] = "Bron niet gevonden";
-$a->strings["Edit Source"] = "Bron bewerken";
-$a->strings["Delete Source"] = "Bron verwijderen";
-$a->strings["Source removed"] = "Bron verwijderd";
-$a->strings["Unable to remove source."] = "Verwijderen bron mislukt.";
-$a->strings["- select -"] = "- kies map -";
-$a->strings["Permission Denied."] = "Toegang geweigerd";
-$a->strings["File not found."] = "Bestand niet gevonden.";
-$a->strings["Edit file permissions"] = "Bestandsrechten bewerken";
-$a->strings["Set/edit permissions"] = "Rechten instellen/bewerken";
-$a->strings["Include all files and sub folders"] = "Toepassen op alle bestanden en submappen";
-$a->strings["Return to file list"] = "Terugkeren naar bestandlijst ";
-$a->strings["Copy/paste this code to attach file to a post"] = "Kopieer/plak deze code om het bestand aan een bericht te koppelen";
-$a->strings["Copy/paste this URL to link file from a web page"] = "Kopieer/plak deze URL om het bestand aan een externe webpagina te koppelen";
-$a->strings["Channel added."] = "Kanaal toegevoegd.";
-$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %2\$s";
-$a->strings["Contact not found."] = "Contact niet gevonden";
-$a->strings["Friend suggestion sent."] = "Kanaalvoorstel verzonden.";
-$a->strings["Suggest Friends"] = "Kanalen voorstellen";
-$a->strings["Suggest a friend for %s"] = "Stel een kanaal voor aan %s";
-$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probeer het dan over 24 uur weer.";
-$a->strings["Collection created."] = "Collectie aangemaakt";
-$a->strings["Could not create collection."] = "Collectie kon niet aangemaakt worden";
-$a->strings["Collection updated."] = "Collectie bijgewerkt.";
-$a->strings["Create a collection of channels."] = "Kanaalcollectie aanmaken";
-$a->strings["Collection Name: "] = "Naam collectie:";
-$a->strings["Members are visible to other channels"] = "Kanalen in deze collectie zijn zichtbaar voor andere kanalen";
-$a->strings["Collection removed."] = "Collectie verwijderd";
-$a->strings["Unable to remove collection."] = "Verwijderen collectie mislukt";
-$a->strings["Collection Editor"] = "Collectiebewerker";
-$a->strings["Members"] = "Kanalen";
-$a->strings["All Connected Channels"] = "Alle kanaalconnecties";
-$a->strings["Click on a channel to add or remove."] = "Klik op een kanaal om deze toe te voegen of te verwijderen.";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s labelde het %3\$s van %2\$s met %4\$s";
-$a->strings["Help:"] = "Hulp:";
-$a->strings["Not Found"] = "Niet gevonden";
-$a->strings["Tag removed"] = "Label verwijderd";
-$a->strings["Remove Item Tag"] = "Verwijder itemlabel";
-$a->strings["Select a tag to remove: "] = "Kies een label om te verwijderen";
+$a->strings["Tag removed"] = "Tag verwijderd";
+$a->strings["Remove Item Tag"] = "Verwijder item-tag";
+$a->strings["Select a tag to remove: "] = "Kies een tag om te verwijderen";
$a->strings["Theme settings updated."] = "Thema-instellingen bijgewerkt.";
$a->strings["Site"] = "Hub-instellingen";
$a->strings["Accounts"] = "Accounts";
@@ -1531,7 +1626,8 @@ $a->strings["Pending registrations"] = "Accounts die op goedkeuring wachten";
$a->strings["Version"] = "Versie";
$a->strings["Active plugins"] = "Ingeschakelde plug-ins";
$a->strings["Site settings updated."] = "Hub-instellingen bijgewerkt.";
-$a->strings["No special theme for accessibility"] = "Geen speciaal thema voor universele toegang";
+$a->strings["experimental"] = "experimenteel";
+$a->strings["unsupported"] = "Niet ondersteund";
$a->strings["Yes - with approval"] = "Ja - met goedkeuring";
$a->strings["My site is not a public server"] = "Mijn RedMatrix-hub is niet openbaar";
$a->strings["My site has paid access only"] = "Mijn RedMatrix-hub kent alleen betaalde toegang";
@@ -1545,11 +1641,9 @@ $a->strings["Administrator Information"] = "Informatie over de beheerder van dez
$a->strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden.";
$a->strings["System language"] = "Standaardtaal";
$a->strings["System theme"] = "Standaardthema";
-$a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standaardthema voor RedMatrix-hub (kan door gebruiker veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>";
+$a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standaardthema voor RedMatrix-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>";
$a->strings["Mobile system theme"] = "Standaardthema voor mobiel";
$a->strings["Theme for mobile devices"] = "Thema voor mobiele apparaten";
-$a->strings["Accessibility system theme"] = "Standaardthema voor universele toegang";
-$a->strings["Accessibility theme"] = "Thema voor universele toegang";
$a->strings["Enable Diaspora Protocol"] = "Diaspora-protocol inschakelen";
$a->strings["Communicate with Diaspora and Friendica - experimental"] = "Communiceer met Diaspora en Friendica (experimenteel)";
$a->strings["Allow Feeds as Connections"] = "Sta feeds toe als connecties";
@@ -1567,7 +1661,7 @@ $a->strings["Comma separated list of domains which are allowed to establish frie
$a->strings["Allowed email domains"] = "Toegestane e-maildomeinen";
$a->strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Door komma's gescheiden lijst met e-maildomeinen die op deze hub mogen registeren. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten.";
$a->strings["Block public"] = "Openbare toegang blokkeren";
-$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor ingelogde gebruikers.";
+$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor ingelogde leden.";
$a->strings["Verify Email Addresses"] = "E-mailadres verifieren";
$a->strings["Check to verify email addresses used in account registration (recommended)."] = "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen).";
$a->strings["Force publish"] = "Dwing kanaalvermelding af";
@@ -1575,9 +1669,9 @@ $a->strings["Check to force all profiles on this site to be listed in the site d
$a->strings["Disable discovery tab"] = "Ontdekkingstab";
$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Verwijder de tab in de matrix-weergave waarin zich een selectie aan openbare berichten bevindt, die automatisch voor deze hub zijn uitgekozen.";
$a->strings["No login on Homepage"] = "Geen inlogformulier op de homepage";
-$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Vink dit aan om het inlogformulier op de homepage van deze hub, die niet-ingelogde gebruikers te zien krijgen, te verbergen. (bijvoorbeeld wanneer je een kanaal op deze RedMatrix-hub als homepage gebruikt)";
-$a->strings["Proxy user"] = "Proxy-gebruiker";
-$a->strings["Proxy URL"] = "Proxy-URL";
+$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Vink dit aan om het inlogformulier op de homepage van deze hub, die niet-ingelogde bezoekers te zien krijgen, te verbergen. (bijvoorbeeld wanneer je een kanaal op deze RedMatrix-hub als homepage gebruikt)";
+$a->strings["Proxy user"] = "Gebruikersnaam proxy";
+$a->strings["Proxy URL"] = "URL proxy";
$a->strings["Network timeout"] = "Netwerktimeout";
$a->strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)";
$a->strings["Delivery interval"] = "Afleveringsinterval";
@@ -1610,7 +1704,7 @@ $a->strings["%s user deleted"] = array(
);
$a->strings["Account not found"] = "Account niet gevonden";
$a->strings["User '%s' unblocked"] = "Account '%s' gedeblokkeerd";
-$a->strings["User '%s' blocked"] = "Gebruiker '%s' geblokkeerd";
+$a->strings["User '%s' blocked"] = "Lid '%s' geblokkeerd";
$a->strings["Users"] = "Accounts";
$a->strings["select all"] = "alles selecteren";
$a->strings["User registrations waiting for confirm"] = "Accounts die op goedkeuring wachten";
@@ -1668,39 +1762,28 @@ $a->strings["Help text"] = "Helptekst";
$a->strings["Additional info (optional)"] = "Extra informatie (optioneel)";
$a->strings["Field definition not found"] = "Velddefinitie niet gevonden";
$a->strings["Edit Profile Field"] = "Profielveld bewerken";
-$a->strings["Thing updated"] = "Ding bijgewerkt";
-$a->strings["Object store: failed"] = "Opslaan van ding mislukt";
-$a->strings["Thing added"] = "Ding toegevoegd";
-$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-$a->strings["Show Thing"] = "Ding weergeven";
-$a->strings["item not found."] = "Item niet gevonden";
-$a->strings["Edit Thing"] = "Ding bewerken";
-$a->strings["Select a profile"] = "Kies een profiel";
-$a->strings["Post an activity"] = "Plaats een bericht";
-$a->strings["Only sends to viewers of the applicable profile"] = "Toont dit alleen aan diegene die het gekozen profiel mogen zien.";
-$a->strings["Name of thing e.g. something"] = "Naam van ding";
-$a->strings["URL of thing (optional)"] = "URL van ding (optioneel)";
-$a->strings["URL for photo of thing (optional)"] = "URL van foto van ding (optioneel)";
-$a->strings["Add Thing to your Profile"] = "Ding aan je profiel toevoegen";
-$a->strings["Your service plan only allows %d channels."] = "Jouw abonnement staat maar %d kanalen toe.";
-$a->strings["Nothing to import."] = "Niets gevonden om te importeren";
-$a->strings["Unable to download data from old server"] = "Niet in staat om gegevens van de oude hub te downloaden";
-$a->strings["Imported file is empty."] = "Geïmporteerde bestand is leeg";
-$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt.";
-$a->strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt.";
-$a->strings["Cloned channel not found. Import failed."] = "Gekloond kanaal niet gevonden. Importeren mislukt.";
-$a->strings["Import completed."] = "Import voltooid.";
-$a->strings["You must be logged in to use this feature."] = "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken.";
-$a->strings["Import Channel"] = "Kanaal importeren";
-$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken. Alleen de identiteit en de connecties zullen geïmporteerd worden. Het importeren van inhoud is nog niet beschikbaar.";
-$a->strings["File to Upload"] = "Bestand om te uploaden";
-$a->strings["Or provide the old server/hub details"] = "Of vul de gegevens van de oude hub in";
-$a->strings["Your old identity address (xyz@example.com)"] = "Jouw oude kanaaladres (xyz@example.com)";
-$a->strings["Your old login email address"] = "Het e-mailadres van je oude account";
-$a->strings["Your old login password"] = "Wachtwoord van jouw oude account";
-$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen.";
-$a->strings["Make this hub my primary location"] = "Stel deze hub als mijn primaire locatie in";
-$a->strings["Import existing posts if possible"] = "Importeer bestaande berichten (wanneer mogelijk)";
+$a->strings["Menu updated."] = "Menu aangepast. ";
+$a->strings["Unable to update menu."] = "Niet in staat om menu aan te passen";
+$a->strings["Menu created."] = "Menu aangemaakt.";
+$a->strings["Unable to create menu."] = "Niet in staat om menu aan te maken.";
+$a->strings["Manage Menus"] = "Menu's beheren";
+$a->strings["Drop"] = "Verwijderen";
+$a->strings["Bookmarks allowed"] = "Bladwijzers toegestaan";
+$a->strings["Create a new menu"] = "Een nieuwe menu aanmaken";
+$a->strings["Delete this menu"] = "Menu verwijderen";
+$a->strings["Edit menu contents"] = "Bewerk de inhoud van het menu";
+$a->strings["Edit this menu"] = "Dit menu bewerken";
+$a->strings["New Menu"] = "Nieuw menu";
+$a->strings["Menu name"] = "Naam van menu";
+$a->strings["Must be unique, only seen by you"] = "Moet uniek zijn en is alleen zichtbaar voor jou.";
+$a->strings["Menu title"] = "Titel van menu";
+$a->strings["Menu title as seen by others"] = "Titel van menu zoals anderen dat zien.";
+$a->strings["Allow bookmarks"] = "Bladwijzers toestaan";
+$a->strings["Menu may be used to store saved bookmarks"] = "Menu kan gebruikt worden om bladwijzers in op te slaan";
+$a->strings["Menu deleted."] = "Menu verwijderd.";
+$a->strings["Menu could not be deleted."] = "Menu kon niet verwijderd worden.";
+$a->strings["Edit Menu"] = "Menu bewerken";
+$a->strings["Add or remove entries to this menu"] = "Items aan dit menu toevoegen of verwijder";
$a->strings["Total invitation limit exceeded."] = "Limiet voor aantal uitnodigingen overschreden.";
$a->strings["%s : Not a valid email address."] = "%s : Geen geldig e-mailadres.";
$a->strings["Please join us on Red"] = "Uitnodiging voor de RedMatrix";
@@ -1713,126 +1796,100 @@ $a->strings["%d message sent."] = array(
$a->strings["You have no more invitations available"] = "Je hebt geen uitnodigingen meer beschikbaar";
$a->strings["Send invitations"] = "Uitnodigingen verzenden";
$a->strings["Enter email addresses, one per line:"] = "Voer e-mailadressen in, één per regel:";
-$a->strings["Your message:"] = "Jouw bericht:";
$a->strings["Please join my community on RedMatrix."] = "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op de RedMatrix te vergezellen. Lees meer over de RedMatrix op https://redmatrix.me.";
$a->strings["You will need to supply this invitation code: "] = "Je moet deze uitnodigingscode opgeven:";
$a->strings["1. Register at any RedMatrix location (they are all inter-connected)"] = "1. Registreer je op een willekeurige RedMatrix-hub (ze zijn allemaal onderling met elkaar verbonden):";
$a->strings["2. Enter my RedMatrix network address into the site searchbar."] = "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn kanaaladres in het zoekveld invullen:";
$a->strings["or visit "] = "of bezoek ";
$a->strings["3. Click [Connect]"] = "3. Klik op [+ Verbinden]";
-$a->strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. ";
-$a->strings["Empty post discarded."] = "Leeg bericht geannuleerd";
-$a->strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal.";
-$a->strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen.";
-$a->strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt.";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "Je hebt jouw limiet van %1$.0f webpagina's bereikt.";
+$a->strings["No such group"] = "Collectie niet gevonden";
+$a->strings["Search Results For:"] = "Zoekresultaten voor:";
+$a->strings["Collection is empty"] = "Collectie is leeg";
+$a->strings["Collection: "] = "Collectie: ";
+$a->strings["Connection: "] = "Connectie: ";
+$a->strings["Invalid connection."] = "Ongeldige connectie.";
+$a->strings["Invalid request identifier."] = "Ongeldige verzoek identificator (request identifier)";
+$a->strings["Discard"] = "Annuleren";
+$a->strings["No more system notifications."] = "Geen systeemnotificaties meer.";
+$a->strings["System Notifications"] = "Systeemnotificaties";
$a->strings["[Embedded content - reload page to view]"] = "[Ingesloten inhoud - ververs pagina om te bekijken] ";
-$a->strings["Help with this feature"] = "Hulp voor dit onderdeel";
-$a->strings["Layout Name"] = "Naam lay-out";
-$a->strings["Like/Dislike"] = "Leuk/niet leuk";
-$a->strings["This action is restricted to members."] = "Deze actie kan alleen door mensen met een RedMatrix-account worden uitgevoerd.";
-$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "Je dient <a href=\"rmagic\">in te loggen met je RedMatrix-account</a> of <a href=\"register\">een nieuw RedMatrix-account te registreren</a> om verder te kunnen gaan.";
-$a->strings["Invalid request."] = "Ongeldig verzoek";
-$a->strings["thing"] = "ding";
-$a->strings["Channel unavailable."] = "Kanaal niet beschikbaar.";
-$a->strings["Previous action reversed."] = "Vorige actie omgedraaid";
-$a->strings["Action completed."] = "Actie voltooid";
-$a->strings["Thank you."] = "Bedankt";
$a->strings["Remote privacy information not available."] = "Privacy-informatie op afstand niet beschikbaar.";
$a->strings["Visible to:"] = "Zichtbaar voor:";
$a->strings["No connections."] = "Geen connecties.";
$a->strings["Visit %s's profile [%s]"] = "Bezoek het profiel van %s [%s]";
$a->strings["View Connnections"] = "Connecties weergeven";
-$a->strings["No valid account found."] = "Geen geldige account gevonden.";
-$a->strings["Password reset request issued. Check your email."] = "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail.";
-$a->strings["Site Member (%s)"] = "Lid van hub (%s)";
-$a->strings["Password reset requested at %s"] = "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt.";
-$a->strings["Password Reset"] = "Wachtwoord vergeten?";
-$a->strings["Your password has been reset as requested."] = "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht.";
-$a->strings["Your new password is"] = "Jouw nieuwe wachtwoord is";
-$a->strings["Save or copy your new password - and then"] = "Kopieer of sla je nieuwe wachtwoord op - en";
-$a->strings["click here to login"] = "klik dan hier om in te loggen";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd.";
-$a->strings["Your password has changed at %s"] = "Jouw wachtwoord op %s is veranderd";
-$a->strings["Forgot your Password?"] = "Wachtwoord vergeten?";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies.";
-$a->strings["Email Address"] = "E-mailadres";
-$a->strings["Reset"] = "Opnieuw instellen";
$a->strings["Hub not found."] = "Hub niet gevonden.";
$a->strings["Total votes"] = "Totaal aantal stemmen";
$a->strings["Average Rating"] = "Gemiddelde waardering";
-$a->strings["Unable to lookup recipient."] = "Niet in staat om ontvanger op te zoeken.";
-$a->strings["Unable to communicate with requested channel."] = "Niet in staat om met het aangevraagde kanaal te communiceren.";
-$a->strings["Cannot verify requested channel."] = "Kan opgevraagd kanaal niet verifieren";
-$a->strings["Selected channel has private message restrictions. Send failed."] = "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt.";
-$a->strings["Message deleted."] = "Bericht verwijderd.";
-$a->strings["Message recalled."] = "Bericht ingetrokken.";
-$a->strings["Send Private Message"] = "Privébericht versturen";
-$a->strings["To:"] = "Aan:";
-$a->strings["Subject:"] = "Onderwerp:";
-$a->strings["Send"] = "Verzenden";
-$a->strings["Message not found."] = "Bericht niet gevonden";
-$a->strings["Delete message"] = "Bericht verwijderen";
-$a->strings["Recall message"] = "Bericht intrekken";
-$a->strings["Message has been recalled."] = "Bericht is ingetrokken.";
-$a->strings["Private Conversation"] = "Privéconversatie";
-$a->strings["Delete conversation"] = "Verwijder conversatie";
-$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender.";
-$a->strings["Send Reply"] = "Antwoord versturen";
-$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt.";
-$a->strings["Create a new channel"] = "Nieuw kanaal aanmaken";
-$a->strings["Current Channel"] = "Huidig kanaal";
-$a->strings["Attach to one of your channels by selecting it."] = "Gebruik een van jouw kanalen door op een te klikken.";
-$a->strings["Default Channel"] = "Standaardkanaal";
-$a->strings["Make Default"] = "Als standaard instellen";
+$a->strings["OpenID protocol error. No ID returned."] = "OpenID-protocolfout. Geen ID terugontvangen.";
+$a->strings["Welcome %s. Remote authentication successful."] = "Welkom %s. Authenticatie op afstand geslaagd.";
$a->strings["Wall Photos"] = "Kanaalfoto's";
$a->strings["Profile Match"] = "Profielovereenkomst";
$a->strings["No keywords to match. Please add keywords to your default profile."] = "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe.";
$a->strings["is interested in:"] = "is geïnteresseerd in:";
$a->strings["No matches"] = "Geen overeenkomsten";
-$a->strings["Menu updated."] = "Menu aangepast. ";
-$a->strings["Unable to update menu."] = "Niet in staat om menu aan te passen";
-$a->strings["Menu created."] = "Menu aangemaakt.";
-$a->strings["Unable to create menu."] = "Niet in staat om menu aan te maken.";
-$a->strings["Manage Menus"] = "Menu's beheren";
-$a->strings["Drop"] = "Verwijderen";
-$a->strings["Create a new menu"] = "Een nieuwe menu aanmaken";
-$a->strings["Delete this menu"] = "Menu verwijderen";
-$a->strings["Edit menu contents"] = "Bewerk de inhoud van het menu";
-$a->strings["Edit this menu"] = "Dit menu bewerken";
-$a->strings["New Menu"] = "Nieuw menu";
-$a->strings["Menu name"] = "Naam van menu";
-$a->strings["Must be unique, only seen by you"] = "Moet uniek zijn en is alleen zichtbaar voor jou.";
-$a->strings["Menu title"] = "Titel van menu";
-$a->strings["Menu title as seen by others"] = "Titel van menu zoals anderen dat zien.";
-$a->strings["Allow bookmarks"] = "Bladwijzers toestaan";
-$a->strings["Menu may be used to store saved bookmarks"] = "Menu kan gebruikt worden om bladwijzers in op te slaan";
-$a->strings["Menu deleted."] = "Menu verwijderd.";
-$a->strings["Menu could not be deleted."] = "Menu kon niet verwijderd worden.";
-$a->strings["Edit Menu"] = "Menu bewerken";
-$a->strings["Add or remove entries to this menu"] = "Items aan dit menu toevoegen of verwijder";
$a->strings["Conversation removed."] = "Conversatie verwijderd";
$a->strings["No messages."] = "Geen berichten";
$a->strings["D, d M Y - g:i A"] = "D, j M Y - G:i";
$a->strings["Add a Channel"] = "Kanaal toevoegen";
-$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Een kanaal is jouw eigen verzameling gerelateerde webpagina's. Een kanaal kan gebruikt worden voor een sociaal netwerk, weblog, discussiegroep of forum, een pagina over een beroemdheid, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat.";
+$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Een kanaal is jouw eigen verzameling gerelateerde webpagina's. Een kanaal kan gebruikt worden voor een sociaal netwerk, weblog, discussiegroep of forum, een pagina over een beroemdheid, en voor veel meer. Je kan net zoveel kanalen aanmaken als dat de eigenaar/beheerder van jouw hub toestaat.";
$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Voorbeelden: \"Bruce Springsteen\", \"Familiefoto's\", \"Voetbal\", \"Astronomie\"";
$a->strings["Choose a short nickname"] = "Kies een korte bijnaam";
$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Jouw bijnaam wordt gebruikt om een makkelijk te onthouden kanaaladres (zoals een e-mailadres) aan te maken, die je dan kan delen met anderen.";
$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Of <a href=\"import\">importeer een bestaand kanaal</a> vanaf een andere locatie.";
-$a->strings["Channel Type"] = "Kanaaltype";
$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Kies een kanaaltype (bijv. een persoonlijk kanaal voor een sociaal netwerk of eentje voor een groepsforum) en jouw behoefte aan privacy, zodat wij voor jou de beste permissies kunnen kiezen.";
-$a->strings["Red Matrix - &quot;The Network&quot;"] = "RedMatrix - &quot;The Network&quot;";
-$a->strings["Welcome to %s"] = "Welkom op %s";
-$a->strings["Invalid request identifier."] = "Ongeldige verzoek identificator (request identifier)";
-$a->strings["Discard"] = "Annuleren";
-$a->strings["No more system notifications."] = "Geen systeemnotificaties meer.";
-$a->strings["System Notifications"] = "Systeemnotificaties";
+$a->strings["Channel Type"] = "Kanaaltype";
+$a->strings["Read more about roles"] = "Lees meer over kanaaltypes";
+$a->strings["Xchan Lookup"] = "Xchan opzoeken";
+$a->strings["Lookup xchan beginning with (or webbie): "] = "Zoek een xchan (of webbie) die begint met:";
+$a->strings["invalid target signature"] = "ongeldig doelkenmerk";
+$a->strings["Page owner information could not be retrieved."] = "Informatie over de pagina-eigenaar werd niet ontvangen.";
+$a->strings["Album not found."] = "Album niet gevonden.";
+$a->strings["Delete Album"] = "Verwijder album";
+$a->strings["Delete Photo"] = "Verwijder foto";
+$a->strings["No photos selected"] = "Geen foto's geselecteerd";
+$a->strings["Access to this item is restricted."] = "Toegang tot dit item is beperkt.";
+$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt.";
+$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB aan foto-opslag gebruikt.";
+$a->strings["Upload Photos"] = "Foto's uploaden";
+$a->strings["Enter a new album name"] = "Vul een nieuwe albumnaam in";
+$a->strings["or select an existing one (doubleclick)"] = "of kies een bestaand album (dubbelklikken)";
+$a->strings["Do not show a status post for this upload"] = "Plaats geen bericht voor deze upload.";
+$a->strings["Album name could not be decoded"] = "Albumnaam kon niet gedecodeerd worden";
+$a->strings["Contact Photos"] = "Connectiefoto's";
+$a->strings["Show Newest First"] = "Nieuwste eerst weergeven";
+$a->strings["Show Oldest First"] = "Oudste eerst weergeven";
+$a->strings["View Photo"] = "Foto weergeven";
+$a->strings["Edit Album"] = "Album bewerken";
+$a->strings["Permission denied. Access to this item may be restricted."] = "Toegang geweigerd. Toegang tot dit item kan zijn beperkt.";
+$a->strings["Photo not available"] = "Foto niet aanwezig";
+$a->strings["Use as profile photo"] = "Als profielfoto gebruiken";
+$a->strings["Private Photo"] = "Privéfoto";
+$a->strings["View Full Size"] = "Volledige grootte weergeven";
+$a->strings["Edit photo"] = "Foto bewerken";
+$a->strings["Rotate CW (right)"] = "Draai met de klok mee (naar rechts)";
+$a->strings["Rotate CCW (left)"] = "Draai tegen de klok in (naar links)";
+$a->strings["Caption"] = "Bijschrift";
+$a->strings["Add a Tag"] = "Tag toevoegen";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl";
+$a->strings["Flag as adult in album view"] = "Markeer als voor volwassenen in albumweergave";
+$a->strings["In This Photo:"] = "Op deze foto:";
+$a->strings["View Album"] = "Album weergeven";
+$a->strings["Recent Photos"] = "Recente foto's";
$a->strings["Unable to find your hub."] = "Niet in staat om je hub te vinden";
$a->strings["Post successful."] = "Verzenden bericht geslaagd.";
-$a->strings["invalid target signature"] = "ongeldig doelkenmerk";
-$a->strings["OpenID protocol error. No ID returned."] = "OpenID-protocolfout. Geen ID terugontvangen.";
+$a->strings["Gender: "] = "Geslacht:";
+$a->strings["Status: "] = "Status: ";
+$a->strings["Homepage: "] = "Homepage: ";
+$a->strings["Hometown: "] = "Oorspronkelijk uit: ";
+$a->strings["About: "] = "Over: ";
+$a->strings["Public Forum:"] = "Openbaar forum:";
+$a->strings["Keywords: "] = "Trefwoorden: ";
+$a->strings["Finding:"] = "Gezocht naar:";
+$a->strings["next page"] = "volgende pagina";
+$a->strings["previous page"] = "vorige pagina";
+$a->strings["No entries (some entries may be hidden)."] = "Niets gevonden (sommige kanalen kunnen verborgen zijn).";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen.";
$a->strings["App installed."] = "App geïnstalleerd";
$a->strings["Malformed app."] = "Misvormde app.";
$a->strings["Embed code"] = "Insluitcode";
@@ -1853,12 +1910,6 @@ $a->strings["This will completely remove this account including all its channels
$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Dit account, al zijn kanalen en alle klonen van zijn kanalen uit het RedMatrix-netwerk verwijderen";
$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het RedMatrix-netwerk verwijderd.";
$a->strings["No service class restrictions found."] = "Geen abonnementsbeperkingen gevonden.";
-$a->strings["webpage"] = "Webpagina";
-$a->strings["block"] = "blok";
-$a->strings["layout"] = "lay-out";
-$a->strings["%s element installed"] = "%s onderdeel geïnstalleerd";
-$a->strings["Location not found."] = "Locatie niet gevonden.";
-$a->strings["Primary location cannot be removed."] = "Primaire locatie kan niet worden verwijderd.";
$a->strings["Schema Default"] = "Standaardschema";
$a->strings["Sans-Serif"] = "Schreefloos";
$a->strings["Monospace"] = "Monospace";
@@ -1894,9 +1945,6 @@ $a->strings["Right offset of the section element"] = "Rechter offset van het sec
$a->strings["Section width"] = "Breedte van sectie";
$a->strings["Left offset of the aside"] = "Rechter offset van aside (zijbalk)";
$a->strings["Right offset of the aside element"] = "Rechter offset van het aside-element";
-$a->strings["None"] = "Geen";
-$a->strings["Header image"] = "Header-afbeelding";
-$a->strings["Header image only on profile pages"] = "Header-afbeelding alleen op profielpagina's weergeven";
$a->strings["Light (Red Matrix default)"] = "Light (RedMatrix-standaard)";
$a->strings["Narrow navbar"] = "Smalle navigatiebalk";
$a->strings["Navigation bar background color"] = "Achtergrondkleur navigatiebalk";
diff --git a/view/php/theme_init.php b/view/php/theme_init.php
index f1eaded6a..d43a87046 100644
--- a/view/php/theme_init.php
+++ b/view/php/theme_init.php
@@ -2,16 +2,14 @@
require_once('include/plugin.php');
-head_add_css('library/fancybox/jquery.fancybox-1.3.4.css');
head_add_css('library/tiptip/tipTip.css');
head_add_css('library/jgrowl/jquery.jgrowl.css');
-head_add_css('library/jslider/css/jslider.css');
-head_add_css('library/colorbox/colorbox.css');
+head_add_css('library/jRange/jquery.range.css');
head_add_css('view/css/conversation.css');
head_add_css('view/css/widgets.css');
head_add_css('library/justifiedGallery/dist/css/justifiedGallery.css');
-
+head_add_css('library/bootstrap-tagsinput/bootstrap-tagsinput.css');
head_add_js('jquery.js');
head_add_js('jquery-migrate-1.1.1.js');
@@ -22,9 +20,10 @@ head_add_js('spin.js');
head_add_js('jquery.spin.js');
head_add_js('jquery.textinputs.js');
head_add_js('autocomplete.js');
-head_add_js('library/fancybox/jquery.fancybox-1.3.4.js');
+head_add_js('library/jquery-textcomplete/jquery.textcomplete.js');
+head_add_js('library/colorbox/jquery.colorbox.js');
head_add_js('library/jquery.timeago.js');
-head_add_js('library/jquery.divgrow/jquery.divgrow-1.3.1.js');
+head_add_js('library/readmore.js/readmore.js');
head_add_js('library/jquery_ac/friendica.complete.js');
head_add_js('library/tiptip/jquery.tipTip.minified.js');
head_add_js('library/jgrowl/jquery.jgrowl_minimized.js');
@@ -38,10 +37,12 @@ head_add_js('acl.js');
head_add_js('webtoolkit.base64.js');
head_add_js('main.js');
head_add_js('crypto.js');
-head_add_js('library/jslider/bin/jquery.slider.min.js');
+head_add_js('library/jRange/jquery.range.js');
head_add_js('docready.js');
head_add_js('library/colorbox/jquery.colorbox-min.js');
+head_add_js('library/bootstrap-tagsinput/bootstrap-tagsinput.js');
+head_add_js('library/jquery.AreYouSure/jquery.are-you-sure.js');
/**
* Those who require this feature will know what to do with it.
* Those who don't, won't.
diff --git a/view/sv/lostpass_eml.tpl b/view/sv/lostpass_eml.tpl
index f33eccfa0..923a60d7e 100644
--- a/view/sv/lostpass_eml.tpl
+++ b/view/sv/lostpass_eml.tpl
@@ -1,14 +1,14 @@
Hej {{$username}},
- En begäran mottogs nyligen på {{$sitename}} om att återställa ditt
+ En begäran mottogs nyligen på {{$sitename}} om att återställa ditt
kontolösenord. För att bekräfta begäran, följ länken nedan eller klistra
-in den i din webbläsares adressfält.
+in den i din webbläsares adressfält.
Om du INTE begärde den här ändringen, följ INTE länken och ignorera och/eller
-radera det här mailet.
+radera det här mailet.
Ditt lösenord kommer inte att ändras om vi inte kan verifiera att det
-var du som gjorde begäran.
+var du som gjorde begäran.
Följ den här länken för att bekräfta din identitet:
@@ -29,4 +29,4 @@ Användarnamn: {{$email}}
Hälsningar,
{{$sitename}}-administratören
-
+ \ No newline at end of file
diff --git a/view/sv/messages.po b/view/sv/messages.po
index 096a0334a..3cafa9809 100644
--- a/view/sv/messages.po
+++ b/view/sv/messages.po
@@ -3,13 +3,15 @@
# This file is distributed under the same license as the Red package.
#
# Translators:
+# pafcu <pafcu@iki.fi>, 2014
+# pafcu <pafcu@iki.fi>, 2014
msgid ""
msgstr ""
"Project-Id-Version: Red Matrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-04-18 00:04-0700\n"
-"PO-Revision-Date: 2014-04-19 11:55+0000\n"
-"Last-Translator: Erik Lundin <erik.lundin@aol.se>\n"
+"POT-Creation-Date: 2014-12-26 00:04-0800\n"
+"PO-Revision-Date: 2014-12-29 22:54+0000\n"
+"Last-Translator: Erik Lundin <sby8zrm8v1@asdf.asdfasdf.eu>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/red-matrix/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,494 +19,491 @@ msgstr ""
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../include/widgets.php:29 ../../include/contact_widgets.php:92
-msgid "Categories"
-msgstr "Kategorier"
-
-#: ../../include/widgets.php:115 ../../include/widgets.php:155
-#: ../../include/Contact.php:107 ../../include/identity.php:675
-#: ../../mod/directory.php:188 ../../mod/match.php:62
-#: ../../mod/dirprofile.php:170 ../../mod/suggest.php:51
-msgid "Connect"
-msgstr "Ta kontakt"
-
-#: ../../include/widgets.php:117 ../../mod/suggest.php:53
-msgid "Ignore/Hide"
-msgstr "Ignorera/göm"
-
-#: ../../include/widgets.php:123 ../../mod/connections.php:265
-msgid "Suggestions"
-msgstr "Förslag"
-
-#: ../../include/widgets.php:124
-msgid "See more..."
-msgstr "Se fler..."
-
-#: ../../include/widgets.php:146
+#: ../../include/dba/dba_driver.php:142
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Du har %1$.0f av %2$.0f tillåtna kontakter."
-
-#: ../../include/widgets.php:152
-msgid "Add New Connection"
-msgstr "Lägg till ny kontakt"
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Kan inte hitta DNS-information för databasserver '%s'"
-#: ../../include/widgets.php:153
-msgid "Enter the channel address"
-msgstr "Ange kanaladressen"
+#: ../../include/photo/photo_driver.php:680 ../../include/photos.php:52
+#: ../../mod/photos.php:91 ../../mod/photos.php:654
+#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:301
+#: ../../mod/profile_photo.php:423
+msgid "Profile Photos"
+msgstr "Profilfoton"
-#: ../../include/widgets.php:154
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Exempel: bob@example.com, http://example.com/barbara"
+#: ../../include/items.php:382 ../../mod/group.php:68
+#: ../../mod/subthread.php:49 ../../mod/profperm.php:23 ../../mod/like.php:246
+#: ../../index.php:389
+msgid "Permission denied"
+msgstr "Behörighet saknas"
-#: ../../include/widgets.php:171
-msgid "Notes"
-msgstr "Anteckningar"
+#: ../../include/items.php:969 ../../include/items.php:1014
+msgid "(Unknown)"
+msgstr "(Okänt)"
-#: ../../include/widgets.php:173 ../../include/text.php:805
-#: ../../include/text.php:819 ../../mod/filer.php:50 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98
-msgid "Save"
-msgstr "Spara"
+#: ../../include/items.php:1171
+msgid "Visible to anybody on the internet."
+msgstr "Kan ses av vem som helst på Internet."
-#: ../../include/widgets.php:243
-msgid "Remove term"
-msgstr "Ta bort uttryck"
+#: ../../include/items.php:1173
+msgid "Visible to you only."
+msgstr "Kan bara ses av dig."
-#: ../../include/widgets.php:252 ../../include/features.php:52
-msgid "Saved Searches"
-msgstr "Sparade sökningar"
+#: ../../include/items.php:1175
+msgid "Visible to anybody in this network."
+msgstr "Kan ses av alla på det här nätverket."
-#: ../../include/widgets.php:253 ../../include/group.php:290
-msgid "add"
-msgstr "lägg till"
+#: ../../include/items.php:1177
+msgid "Visible to anybody authenticated."
+msgstr "Kan ses av alla inloggade."
-#: ../../include/widgets.php:283 ../../include/features.php:66
-#: ../../include/contact_widgets.php:58
-msgid "Saved Folders"
-msgstr "Sparade mappar"
+#: ../../include/items.php:1179
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Kan ses av alla på %s."
-#: ../../include/widgets.php:286 ../../include/contact_widgets.php:61
-#: ../../include/contact_widgets.php:95
-msgid "Everything"
-msgstr "Allt"
+#: ../../include/items.php:1181
+msgid "Visible to all connections."
+msgstr "Kan ses av alla kontakter."
-#: ../../include/widgets.php:322
-msgid "Archives"
-msgstr "Arkiv"
+#: ../../include/items.php:1183
+msgid "Visible to approved connections."
+msgstr "Kan ses av godkända kontakter."
-#: ../../include/widgets.php:384
-msgid "Refresh"
-msgstr "Ladda om"
+#: ../../include/items.php:1185
+msgid "Visible to specific connections."
+msgstr "Kan ses av valda kontakter."
-#: ../../include/widgets.php:385 ../../mod/connedit.php:395
-msgid "Me"
-msgstr "Mig själv"
-
-#: ../../include/widgets.php:386 ../../mod/connedit.php:397
-msgid "Best Friends"
-msgstr "Bästa vänner"
-
-#: ../../include/widgets.php:387 ../../include/identity.php:342
-#: ../../include/profile_selectors.php:42 ../../mod/connedit.php:398
-msgid "Friends"
-msgstr "Vänner"
+#: ../../include/items.php:3952 ../../mod/display.php:32
+#: ../../mod/thing.php:76 ../../mod/filestorage.php:26 ../../mod/admin.php:168
+#: ../../mod/admin.php:896 ../../mod/admin.php:1099 ../../mod/viewsrc.php:20
+msgid "Item not found."
+msgstr "Posten hittades inte."
-#: ../../include/widgets.php:388
-msgid "Co-workers"
-msgstr "Kollegor"
+#: ../../include/items.php:4019 ../../include/photos.php:15
+#: ../../include/attach.php:116 ../../include/attach.php:163
+#: ../../include/attach.php:226 ../../include/attach.php:240
+#: ../../include/attach.php:280 ../../include/attach.php:294
+#: ../../include/attach.php:318 ../../include/attach.php:511
+#: ../../include/attach.php:585 ../../include/chat.php:116
+#: ../../mod/mood.php:112 ../../mod/register.php:72 ../../mod/mitem.php:106
+#: ../../mod/achievements.php:30 ../../mod/settings.php:542
+#: ../../mod/group.php:9 ../../mod/poke.php:128 ../../mod/api.php:26
+#: ../../mod/api.php:31 ../../mod/setup.php:207 ../../mod/authtest.php:13
+#: ../../mod/profile.php:64 ../../mod/profile.php:72 ../../mod/block.php:22
+#: ../../mod/block.php:72 ../../mod/delegate.php:6 ../../mod/sources.php:66
+#: ../../mod/events.php:195 ../../mod/channel.php:90 ../../mod/channel.php:201
+#: ../../mod/channel.php:244 ../../mod/chat.php:90 ../../mod/chat.php:95
+#: ../../mod/regmod.php:17 ../../mod/editpost.php:13 ../../mod/common.php:35
+#: ../../mod/connections.php:169 ../../mod/connedit.php:266
+#: ../../mod/mail.php:111 ../../mod/photos.php:68 ../../mod/webpages.php:67
+#: ../../mod/bookmarks.php:46 ../../mod/blocks.php:67 ../../mod/blocks.php:75
+#: ../../mod/editblock.php:65 ../../mod/pdledit.php:21
+#: ../../mod/editlayout.php:64 ../../mod/editlayout.php:89
+#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
+#: ../../mod/editwebpage.php:118 ../../mod/profile_photo.php:263
+#: ../../mod/profile_photo.php:276 ../../mod/like.php:154
+#: ../../mod/thing.php:247 ../../mod/thing.php:264 ../../mod/thing.php:299
+#: ../../mod/fsuggest.php:78 ../../mod/filestorage.php:18
+#: ../../mod/filestorage.php:67 ../../mod/filestorage.php:82
+#: ../../mod/filestorage.php:109 ../../mod/locs.php:71 ../../mod/item.php:191
+#: ../../mod/item.php:199 ../../mod/item.php:972 ../../mod/suggest.php:26
+#: ../../mod/layouts.php:67 ../../mod/layouts.php:74 ../../mod/layouts.php:85
+#: ../../mod/profiles.php:179 ../../mod/profiles.php:550
+#: ../../mod/manage.php:6 ../../mod/menu.php:61 ../../mod/invite.php:13
+#: ../../mod/invite.php:104 ../../mod/network.php:12
+#: ../../mod/notifications.php:66 ../../mod/viewconnections.php:22
+#: ../../mod/viewconnections.php:27 ../../mod/viewsrc.php:14
+#: ../../mod/message.php:16 ../../mod/new_channel.php:68
+#: ../../mod/new_channel.php:99 ../../mod/page.php:28 ../../mod/page.php:78
+#: ../../mod/appman.php:66 ../../mod/service_limits.php:7 ../../index.php:190
+#: ../../index.php:390
+msgid "Permission denied."
+msgstr "Behörighet saknas."
-#: ../../include/widgets.php:389 ../../mod/connedit.php:399
-msgid "Former Friends"
-msgstr "Tidigare vänner"
+#: ../../include/items.php:4410 ../../mod/group.php:38 ../../mod/group.php:140
+msgid "Collection not found."
+msgstr "Kretsen hittades inte."
-#: ../../include/widgets.php:390 ../../mod/connedit.php:400
-msgid "Acquaintances"
-msgstr "Bekanta"
+#: ../../include/items.php:4425
+msgid "Collection is empty."
+msgstr "Kretsen är tom."
-#: ../../include/widgets.php:391
-msgid "Everybody"
-msgstr "Alla"
+#: ../../include/items.php:4432
+#, php-format
+msgid "Collection: %s"
+msgstr "Krets: %s"
-#: ../../include/widgets.php:423
-msgid "Account settings"
-msgstr "Kontoinställningar"
+#: ../../include/items.php:4443
+#, php-format
+msgid "Connection: %s"
+msgstr "Kontakt: %s"
-#: ../../include/widgets.php:429
-msgid "Channel settings"
-msgstr "Kanalinställningar"
+#: ../../include/items.php:4446
+msgid "Connection not found."
+msgstr "Kontakten hittades inte."
-#: ../../include/widgets.php:435
-msgid "Additional features"
-msgstr "Tilläggsfunktioner"
+#: ../../include/menu.php:42 ../../include/page_widgets.php:8
+#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:261
+#: ../../include/ItemObject.php:100 ../../include/apps.php:254
+#: ../../mod/settings.php:627 ../../mod/editpost.php:112
+#: ../../mod/connections.php:381 ../../mod/connections.php:394
+#: ../../mod/connections.php:413 ../../mod/webpages.php:162
+#: ../../mod/blocks.php:132 ../../mod/editblock.php:143
+#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:174
+#: ../../mod/thing.php:233 ../../mod/layouts.php:167 ../../mod/menu.php:78
+msgid "Edit"
+msgstr "Redigera"
-#: ../../include/widgets.php:441
-msgid "Feature settings"
-msgstr "Funktionsinställningar"
+#: ../../include/message.php:18
+msgid "No recipient provided."
+msgstr "Ingen mottagare angiven."
-#: ../../include/widgets.php:447
-msgid "Display settings"
-msgstr "Utseende"
+#: ../../include/message.php:23
+msgid "[no subject]"
+msgstr "[inget ämne]"
-#: ../../include/widgets.php:453
-msgid "Connected apps"
-msgstr "Anslutna appar"
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Kunde inte avgöra vem som är avsändare."
-#: ../../include/widgets.php:459
-msgid "Export channel"
-msgstr "Exportera kanal"
+#: ../../include/message.php:200
+msgid "Stored post could not be verified."
+msgstr "Den sparade posten kunde inte verifieras."
-#: ../../include/widgets.php:471
-msgid "Automatic Permissions (Advanced)"
-msgstr "Automatiska rättigheter (avancerat)"
+#: ../../include/network.php:590
+msgid "view full size"
+msgstr "visa full storlek"
-#: ../../include/widgets.php:481
-msgid "Premium Channel Settings"
-msgstr "Inställningar för premiumkanal"
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Kan se mina normala strömmar och inlägg"
-#: ../../include/widgets.php:490 ../../include/features.php:43
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Kanalkällor"
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Kan se min standardkanalprofil"
-#: ../../include/widgets.php:501 ../../include/nav.php:186
-#: ../../mod/admin.php:976 ../../mod/admin.php:1181
-msgid "Settings"
-msgstr "Inställningar"
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
+msgstr "Kan se mina fotoalbum"
-#: ../../include/widgets.php:518
-msgid "Check Mail"
-msgstr "Hämta meddelanden"
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
+msgstr "Kan se mina kontakter"
-#: ../../include/widgets.php:523 ../../include/nav.php:177
-msgid "New Message"
-msgstr "Nytt meddelande"
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
+msgstr "Kan se mitt filutrymme"
-#: ../../include/widgets.php:599
-msgid "Chat Rooms"
-msgstr "Chattrum"
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
+msgstr "Kan se mina webbsidor"
-#: ../../include/widgets.php:617
-msgid "Bookmarked Chatrooms"
-msgstr "Bokmärkta chattrum"
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
+msgstr "Kan skicka sina kanalströmmar och inlägg till mig"
-#: ../../include/widgets.php:635
-msgid "Suggested Chatrooms"
-msgstr "Föreslagna chattrum"
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Kan posta inlägg på min kanalsida (\"vägg\")"
-#: ../../include/activities.php:39
-msgid " and "
-msgstr " och "
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
+msgstr "Kan kommentera eller gilla mina inlägg"
-#: ../../include/activities.php:47
-msgid "public profile"
-msgstr "offentlig profil"
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
+msgstr "Kan skicka privata meddelanden till mig"
-#: ../../include/activities.php:52
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s ändrade %2$s till &quot;%3$s&quot;"
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
+msgstr "Kan lägga till foton i mitt fotoalbum"
-#: ../../include/activities.php:53
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Besök %1$ss %2$s"
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
+msgstr "Kan gilla/ogilla saker"
-#: ../../include/activities.php:56
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s har en uppdaterad %2$s (har ändrat %3$s)."
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
+msgstr "Profiler och annat än inlägg/kommentarer"
-#: ../../include/nav.php:77 ../../include/nav.php:96 ../../boot.php:1443
-msgid "Logout"
-msgstr "Logga ut"
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Kan vidarebefordra till alla mina kanalkontakter genom @omnämnanden"
-#: ../../include/nav.php:77 ../../include/nav.php:96
-msgid "End this session"
-msgstr "Avsluta sessionen"
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Avancerat - användbart för att skapa kanaler för gruppforum"
-#: ../../include/nav.php:80 ../../include/nav.php:130
-msgid "Home"
-msgstr "Hem"
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
+msgstr "Kan chatta med mig (när tillgänglig)"
-#: ../../include/nav.php:80
-msgid "Your posts and conversations"
-msgstr "Dina inlägg och konversationer"
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
+msgstr "Har skrivrättigheter i mitt filutrymme"
-#: ../../include/nav.php:81 ../../include/conversation.php:937
-#: ../../mod/connedit.php:318 ../../mod/connedit.php:432
-msgid "View Profile"
-msgstr "Visa profil"
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
+msgstr "Kan redigera mina webbsidor"
-#: ../../include/nav.php:81
-msgid "Your profile page"
-msgstr "Din profilsida"
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
+msgstr "Kan använda mina offentliga inlägg i kanaler nedströms"
-#: ../../include/nav.php:83
-msgid "Edit Profiles"
-msgstr "Redigera profiler"
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Ganska avancerat - väldigt användbart i öppna gemenskaper"
-#: ../../include/nav.php:83
-msgid "Manage/Edit profiles"
-msgstr "Hantera/redigera profiler"
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
+msgstr "Kan administrera mina kanalresurser"
-#: ../../include/nav.php:84 ../../include/conversation.php:1504
-#: ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Foton"
+#: ../../include/permissions.php:48
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Extremt avancerat. Låt detta vara om du inte vet vad du gör"
-#: ../../include/nav.php:84
-msgid "Your photos"
-msgstr "Dina foton"
+#: ../../include/permissions.php:814
+msgid "Social Networking"
+msgstr "Socialt nätverkande"
-#: ../../include/nav.php:85 ../../include/conversation.php:1513
-#: ../../mod/fbrowser.php:114
-msgid "Files"
-msgstr "Filer"
+#: ../../include/permissions.php:815 ../../include/permissions.php:817
+#: ../../include/permissions.php:819
+msgid "Mostly Public"
+msgstr "Mestadels offentligt"
-#: ../../include/nav.php:85
-msgid "Your files"
-msgstr "Dina filer"
+#: ../../include/permissions.php:815 ../../include/permissions.php:817
+#: ../../include/permissions.php:819
+msgid "Restricted"
+msgstr "Begränsat"
-#: ../../include/nav.php:86
-msgid "Chat"
-msgstr "Chatt"
+#: ../../include/permissions.php:815 ../../include/permissions.php:817
+msgid "Private"
+msgstr "Privat"
-#: ../../include/nav.php:86
-msgid "Your chatrooms"
-msgstr "Dina chattrum"
+#: ../../include/permissions.php:816
+msgid "Community Forum"
+msgstr "Gemenskapsforum"
-#: ../../include/nav.php:87 ../../include/nav.php:180
-#: ../../include/conversation.php:1535 ../../mod/events.php:357
-msgid "Events"
-msgstr "Händelser"
+#: ../../include/permissions.php:818
+msgid "Feed Republish"
+msgstr "Vidarepublicering av flöde"
-#: ../../include/nav.php:87
-msgid "Your events"
-msgstr "Dina händelser"
+#: ../../include/permissions.php:820
+msgid "Special Purpose"
+msgstr "Särskilt syfte"
-#: ../../include/nav.php:88 ../../include/conversation.php:1543
-msgid "Bookmarks"
-msgstr "Bokmärken"
+#: ../../include/permissions.php:821
+msgid "Celebrity/Soapbox"
+msgstr "Kändis/talarstol"
-#: ../../include/nav.php:88
-msgid "Your bookmarks"
-msgstr "Dina bokmärken"
+#: ../../include/permissions.php:821
+msgid "Group Repository"
+msgstr "Gruppförråd"
-#: ../../include/nav.php:90 ../../include/conversation.php:1554
-#: ../../mod/webpages.php:79
-msgid "Webpages"
-msgstr "Webbsidor"
+#: ../../include/permissions.php:822 ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97
+msgid "Other"
+msgstr "Annat"
-#: ../../include/nav.php:90
-msgid "Your webpages"
-msgstr "Dina webbsidor"
+#: ../../include/permissions.php:823
+msgid "Custom/Expert Mode"
+msgstr "Anpassat/expertläge"
-#: ../../include/nav.php:94 ../../boot.php:1444
-msgid "Login"
-msgstr "Logga in"
-
-#: ../../include/nav.php:94
-msgid "Sign in"
-msgstr "Logga in"
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr "skapade ett nytt inlägg"
-#: ../../include/nav.php:111
+#: ../../include/notify.php:24
#, php-format
-msgid "%s - click to logout"
-msgstr "%s - klicka för att logga ut"
-
-#: ../../include/nav.php:116
-msgid "Click to authenticate to your home hub"
-msgstr "Klicka för att autentisera mot din hemmahubb"
-
-#: ../../include/nav.php:130
-msgid "Home Page"
-msgstr "Hemsida"
-
-#: ../../include/nav.php:134 ../../mod/register.php:206 ../../boot.php:1420
-msgid "Register"
-msgstr "Registrera"
+msgid "commented on %s's post"
+msgstr "kommenterade %ss inlägg"
-#: ../../include/nav.php:134
-msgid "Create an account"
-msgstr "Skapa ett konto"
+#: ../../include/taxonomy.php:210 ../../include/taxonomy.php:229
+msgid "Tags"
+msgstr "Taggar"
-#: ../../include/nav.php:139 ../../mod/help.php:60 ../../mod/help.php:65
-msgid "Help"
-msgstr "Hjälp"
+#: ../../include/taxonomy.php:250 ../../include/contact_widgets.php:92
+#: ../../include/widgets.php:35
+msgid "Categories"
+msgstr "Kategorier"
-#: ../../include/nav.php:139
-msgid "Help and documentation"
-msgstr "Hjälp och dokumentation"
+#: ../../include/taxonomy.php:269
+msgid "Keywords"
+msgstr "Nyckelord"
-#: ../../include/nav.php:142
-msgid "Apps"
-msgstr "Appar"
+#: ../../include/taxonomy.php:294
+msgid "have"
+msgstr "har"
-#: ../../include/nav.php:142
-msgid "Addon applications, utilities, games"
-msgstr "Tilläggsapplikationer, verktyg, spel"
+#: ../../include/taxonomy.php:294
+msgid "has"
+msgstr "har"
-#: ../../include/nav.php:144 ../../include/text.php:803
-#: ../../include/text.php:817 ../../mod/search.php:29
-msgid "Search"
-msgstr "Sök"
+#: ../../include/taxonomy.php:295
+msgid "want"
+msgstr "vill ha"
-#: ../../include/nav.php:144
-msgid "Search site content"
-msgstr "Sök innehåll"
+#: ../../include/taxonomy.php:295
+msgid "wants"
+msgstr "vill ha"
-#: ../../include/nav.php:147 ../../mod/directory.php:215
-msgid "Directory"
-msgstr "Katalog"
+#: ../../include/taxonomy.php:296 ../../include/ItemObject.php:221
+msgid "like"
+msgstr "gilla"
-#: ../../include/nav.php:147
-msgid "Channel Locator"
-msgstr "Kanalfinnare"
+#: ../../include/taxonomy.php:296
+msgid "likes"
+msgstr "gillar"
-#: ../../include/nav.php:158
-msgid "Matrix"
-msgstr "Matris"
+#: ../../include/taxonomy.php:297 ../../include/ItemObject.php:222
+msgid "dislike"
+msgstr "ogilla"
-#: ../../include/nav.php:158
-msgid "Your matrix"
-msgstr "Din matris"
+#: ../../include/taxonomy.php:297
+msgid "dislikes"
+msgstr "ogillar"
-#: ../../include/nav.php:159
-msgid "Mark all matrix notifications seen"
-msgstr "Märk alla matrisnotifieringar som lästa"
+#: ../../include/taxonomy.php:380 ../../include/identity.php:1148
+#: ../../include/ItemObject.php:146 ../../mod/photos.php:1027
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "gillar detta"
+msgstr[1] "gillar detta"
-#: ../../include/nav.php:161
-msgid "Channel Home"
-msgstr "Kanalhem"
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Ny sida"
-#: ../../include/nav.php:161
-msgid "Channel home"
-msgstr "Kanalhem"
+#: ../../include/page_widgets.php:39 ../../mod/webpages.php:165
+#: ../../mod/blocks.php:135 ../../mod/layouts.php:171
+msgid "View"
+msgstr "Visa"
-#: ../../include/nav.php:162
-msgid "Mark all channel notifications seen"
-msgstr "Märk alla kanalnotifieringar som lästa"
+#: ../../include/page_widgets.php:40 ../../include/conversation.php:1102
+#: ../../include/ItemObject.php:638 ../../mod/photos.php:998
+#: ../../mod/webpages.php:166
+msgid "Preview"
+msgstr "Förhandsgranska"
-#: ../../include/nav.php:165 ../../include/nav.php:188
-#: ../../mod/connections.php:384
-msgid "Connections"
-msgstr "Kontakter"
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:167
+msgid "Actions"
+msgstr "Åtgärder"
-#: ../../include/nav.php:168
-msgid "Notices"
-msgstr "Meddelanden"
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:168
+msgid "Page Link"
+msgstr "Länk"
-#: ../../include/nav.php:168
-msgid "Notifications"
-msgstr "Notifieringar"
+#: ../../include/page_widgets.php:43 ../../mod/webpages.php:169
+msgid "Title"
+msgstr "Titel"
-#: ../../include/nav.php:169
-msgid "See all notifications"
-msgstr "Se alla notifieringar"
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:170
+msgid "Created"
+msgstr "Skapad"
-#: ../../include/nav.php:170
-msgid "Mark all system notifications seen"
-msgstr "Märk alla systemnotifieringar som lästa"
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:171
+msgid "Edited"
+msgstr "Ändrad"
-#: ../../include/nav.php:172
-msgid "Mail"
-msgstr "Privat meddelande"
+#: ../../include/oembed.php:171
+msgid "Embedded content"
+msgstr "Inbäddat innehåll"
-#: ../../include/nav.php:172
-msgid "Private mail"
-msgstr "Privat meddelande"
+#: ../../include/oembed.php:180
+msgid "Embedding disabled"
+msgstr "Inbäddning inaktiverat"
-#: ../../include/nav.php:173
-msgid "See all private messages"
-msgstr "Se alla privata meddelanden"
+#: ../../include/auth.php:130
+msgid "Logged out."
+msgstr "Utloggad."
-#: ../../include/nav.php:174
-msgid "Mark all private messages seen"
-msgstr "Märk alla privata meddelanden som lästa"
+#: ../../include/auth.php:271
+msgid "Failed authentication"
+msgstr "Inloggning misslyckades"
-#: ../../include/nav.php:175
-msgid "Inbox"
-msgstr "Inkorg"
+#: ../../include/auth.php:285 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "Inloggning misslyckades."
-#: ../../include/nav.php:176
-msgid "Outbox"
-msgstr "Utkorg"
+#: ../../include/photos.php:105
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Bild överskrider webbplatsens storleksbegränsning på %lu byte"
-#: ../../include/nav.php:180
-msgid "Event Calendar"
-msgstr "Kalender"
+#: ../../include/photos.php:112
+msgid "Image file is empty."
+msgstr "Bildfil är tom."
-#: ../../include/nav.php:181
-msgid "See all events"
-msgstr "Se alla händelser"
+#: ../../include/photos.php:141 ../../mod/profile_photo.php:216
+msgid "Unable to process image"
+msgstr "Kunde inte bearbeta bild"
-#: ../../include/nav.php:182
-msgid "Mark all events seen"
-msgstr "Märk alla händelser som lästa"
+#: ../../include/photos.php:213
+msgid "Photo storage failed."
+msgstr "Fotolagring misslyckades."
-#: ../../include/nav.php:184
-msgid "Channel Select"
-msgstr "Välj kanal"
+#: ../../include/photos.php:341 ../../include/conversation.php:1533
+msgid "Photo Albums"
+msgstr "Fotoalbum"
-#: ../../include/nav.php:184
-msgid "Manage Your Channels"
-msgstr "Hantera dina kanaler"
+#: ../../include/photos.php:345
+msgid "Upload New Photos"
+msgstr "Ladda upp nya foton"
-#: ../../include/nav.php:186
-msgid "Account/Channel Settings"
-msgstr "Konto-/kanalinställningar"
+#: ../../include/activities.php:39
+msgid " and "
+msgstr " och "
-#: ../../include/nav.php:188
-msgid "Manage/Edit Friends and Connections"
-msgstr "Hantera/redigera vänner och kontakter"
+#: ../../include/activities.php:47
+msgid "public profile"
+msgstr "offentlig profil"
-#: ../../include/nav.php:195 ../../mod/admin.php:117
-msgid "Admin"
-msgstr "Administration"
+#: ../../include/activities.php:56
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s ändrade %2$s till &quot;%3$s&quot;"
-#: ../../include/nav.php:195
-msgid "Site Setup and Configuration"
-msgstr "Serverinställning och -konfiguration"
+#: ../../include/activities.php:57
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Besök %1$ss %2$s"
-#: ../../include/nav.php:220
-msgid "Nothing new here"
-msgstr "Inget nytt här"
+#: ../../include/activities.php:60
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s har en uppdaterad %2$s (har ändrat %3$s)."
-#: ../../include/nav.php:225
-msgid "Please wait..."
-msgstr "Vänta..."
+#: ../../include/bb2diaspora.php:366
+msgid "Attachments:"
+msgstr "Bilagor:"
-#: ../../include/event.php:11 ../../include/bb2diaspora.php:433
+#: ../../include/bb2diaspora.php:445 ../../include/event.php:11
msgid "l F d, Y \\@ g:i A"
msgstr "l j F Y \\k\\l. H.i"
-#: ../../include/event.php:20 ../../include/bb2diaspora.php:439
+#: ../../include/bb2diaspora.php:447
+msgid "Redmatrix event notification:"
+msgstr "Händelsenotifiering från Redmatrix:"
+
+#: ../../include/bb2diaspora.php:451 ../../include/event.php:20
msgid "Starts:"
msgstr "Börjar:"
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:447
+#: ../../include/bb2diaspora.php:459 ../../include/event.php:30
msgid "Finishes:"
msgstr "Slutar:"
-#: ../../include/event.php:40 ../../include/identity.php:726
-#: ../../include/bb2diaspora.php:455 ../../mod/events.php:465
-#: ../../mod/directory.php:161 ../../mod/dirprofile.php:111
+#: ../../include/bb2diaspora.php:467 ../../include/event.php:40
+#: ../../include/identity.php:891 ../../mod/events.php:590
+#: ../../mod/directory.php:199
msgid "Location:"
msgstr "Plats:"
-#: ../../include/api.php:1016
-msgid "Public Timeline"
-msgstr "Offentlig tidslinje"
-
-#: ../../include/Contact.php:123
-msgid "New window"
-msgstr "Nytt fönster"
-
-#: ../../include/Contact.php:124
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Öppna den valda platsen i ett annat fönster eller en annan webbläsarflik"
-
#: ../../include/features.php:23
msgid "General Features"
msgstr "Allmänna funktioner"
@@ -526,1885 +525,2718 @@ msgid "Ability to create multiple profiles"
msgstr "Möjlighet att skapa flera profiler"
#: ../../include/features.php:27
+msgid "Advanced Profiles"
+msgstr "Avancerade profiler"
+
+#: ../../include/features.php:27
+msgid "Additional profile sections and selections"
+msgstr "Fler profilinställningar"
+
+#: ../../include/features.php:28
+msgid "Profile Import/Export"
+msgstr "Profilimport/-export"
+
+#: ../../include/features.php:28
+msgid "Save and load profile details across sites/channels"
+msgstr "Spara och ladda profiluppgifter mellan webbplatser/kanaler"
+
+#: ../../include/features.php:29
msgid "Web Pages"
msgstr "Webbsidor"
-#: ../../include/features.php:27
+#: ../../include/features.php:29
msgid "Provide managed web pages on your channel"
msgstr "Tillhandahåll ordnade webbsidor i din kanal"
-#: ../../include/features.php:28
+#: ../../include/features.php:30
msgid "Private Notes"
msgstr "Privata anteckningar"
-#: ../../include/features.php:28
+#: ../../include/features.php:30
msgid "Enables a tool to store notes and reminders"
msgstr "Aktivera ett verktyg för att spara anteckningar och påminnelser"
-#: ../../include/features.php:33
+#: ../../include/features.php:34
+msgid "Navigation Channel Select"
+msgstr "Kanalväljare i navigation"
+
+#: ../../include/features.php:34
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Välj kanal direkt från navigationslistens rullgardinsmeny"
+
+#: ../../include/features.php:38
msgid "Extended Identity Sharing"
msgstr "Utökad identitetsdelning"
-#: ../../include/features.php:33
+#: ../../include/features.php:38
msgid ""
"Share your identity with all websites on the internet. When disabled, "
"identity is only shared with sites in the matrix."
msgstr "Dela din identitet med alla webbplatser på Internet. Om inaktiverat är identiteten bara delad med platser i matrisen."
-#: ../../include/features.php:34
+#: ../../include/features.php:39
msgid "Expert Mode"
msgstr "Expertläge"
-#: ../../include/features.php:34
+#: ../../include/features.php:39
msgid "Enable Expert Mode to provide advanced configuration options"
msgstr "Aktivera expertläge för att tillåta avancerade inställningar"
-#: ../../include/features.php:35
+#: ../../include/features.php:40
msgid "Premium Channel"
msgstr "Premiumkanal"
-#: ../../include/features.php:35
+#: ../../include/features.php:40
msgid ""
"Allows you to set restrictions and terms on those that connect with your "
"channel"
msgstr "Låter dig ange begränsningar och villkor för dem som vill ansluta till din kanal"
-#: ../../include/features.php:40
+#: ../../include/features.php:45
msgid "Post Composition Features"
msgstr "Skrivfunktioner"
-#: ../../include/features.php:41
-msgid "Richtext Editor"
-msgstr "Richtext-editor"
+#: ../../include/features.php:47
+msgid "Use Markdown"
+msgstr "Använd Markdown"
-#: ../../include/features.php:41
-msgid "Enable richtext editor"
-msgstr "Aktivera richtext-editor"
+#: ../../include/features.php:47
+msgid "Allow use of \"Markdown\" to format posts"
+msgstr "Tillåt att \"Markdown\" används för att formatera inlägg"
-#: ../../include/features.php:42
-msgid "Post Preview"
-msgstr "Förhandsgranskning"
-
-#: ../../include/features.php:42
-msgid "Allow previewing posts and comments before publishing them"
-msgstr "Tillåt förhandsgranskning av inlägg och kommentarer innan de publiceras"
+#: ../../include/features.php:49 ../../include/widgets.php:527
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Kanalkällor"
-#: ../../include/features.php:43
+#: ../../include/features.php:49
msgid "Automatically import channel content from other channels or feeds"
-msgstr "Importera kanalinnehåll från andra kanaler eller strömmar automatiskt"
+msgstr "Importera kanalinnehåll från andra kanaler eller flöden automatiskt"
-#: ../../include/features.php:44
+#: ../../include/features.php:50
msgid "Even More Encryption"
msgstr "Ytterligare kryptering"
-#: ../../include/features.php:44
+#: ../../include/features.php:50
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr "Tillåt änd-till-änd-kryptering av innehåll med en delad hemlig nyckel"
-#: ../../include/features.php:49
+#: ../../include/features.php:51
+msgid "Flag Adult Photos"
+msgstr "Flagga vuxenfoton"
+
+#: ../../include/features.php:51
+msgid "Provide photo edit option to hide adult photos from default album view"
+msgstr "Gör det möjligt att inte visa foton som är olämpliga för barn i albums standardvy"
+
+#: ../../include/features.php:56
msgid "Network and Stream Filtering"
msgstr "Nätverk och strömfiltrering"
-#: ../../include/features.php:50
+#: ../../include/features.php:57
msgid "Search by Date"
msgstr "Sök på datum"
-#: ../../include/features.php:50
+#: ../../include/features.php:57
msgid "Ability to select posts by date ranges"
msgstr "Tillåter urval av inlägg baserat på datum"
-#: ../../include/features.php:51
+#: ../../include/features.php:58
msgid "Collections Filter"
-msgstr "Sammanhangsfilter"
+msgstr "Kretsfilter"
-#: ../../include/features.php:51
+#: ../../include/features.php:58
msgid "Enable widget to display Network posts only from selected collections"
-msgstr "Aktivera en väljare för att visa nätverksinlägg från enbart valda sammanhang"
+msgstr "Aktivera en väljare för att visa nätverksinlägg från enbart valda kretsar"
+
+#: ../../include/features.php:59 ../../include/widgets.php:272
+msgid "Saved Searches"
+msgstr "Sparade sökningar"
-#: ../../include/features.php:52
+#: ../../include/features.php:59
msgid "Save search terms for re-use"
msgstr "Spara sökuttryck för återanvändning"
-#: ../../include/features.php:53
+#: ../../include/features.php:60
msgid "Network Personal Tab"
msgstr "Personlig nätverksflik"
-#: ../../include/features.php:53
+#: ../../include/features.php:60
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Aktivera en flik som visar endast de nätverksinlägg som du har deltagit i"
-#: ../../include/features.php:54
+#: ../../include/features.php:61
msgid "Network New Tab"
msgstr "Flik för nytt på nätverket"
-#: ../../include/features.php:54
+#: ../../include/features.php:61
msgid "Enable tab to display all new Network activity"
msgstr "Aktivera en flik som visar all ny nätverksaktivitet"
-#: ../../include/features.php:55
+#: ../../include/features.php:62
msgid "Affinity Tool"
msgstr "Samhörighetsverktyg"
-#: ../../include/features.php:55
+#: ../../include/features.php:62
msgid "Filter stream activity by depth of relationships"
msgstr "Filtrera strömaktivitet efter hur nära relationen är"
-#: ../../include/features.php:56
+#: ../../include/features.php:63
msgid "Suggest Channels"
msgstr "Föreslå kanaler"
-#: ../../include/features.php:56
+#: ../../include/features.php:63
msgid "Show channel suggestions"
msgstr "Visa förslag på kanaler"
-#: ../../include/features.php:61
+#: ../../include/features.php:68
msgid "Post/Comment Tools"
msgstr "Inläggs-/kommentarsverktyg"
-#: ../../include/features.php:63
-msgid "Edit Sent Posts"
-msgstr "Redigera sända inlägg"
-
-#: ../../include/features.php:63
-msgid "Edit and correct posts and comments after sending"
-msgstr "Redigera och korrigera inlägg och kommentarer efter att de skickats"
-
-#: ../../include/features.php:64
+#: ../../include/features.php:71
msgid "Tagging"
msgstr "Taggning"
-#: ../../include/features.php:64
+#: ../../include/features.php:71
msgid "Ability to tag existing posts"
msgstr "Möjlighet att tagga befintliga inlägg"
-#: ../../include/features.php:65
+#: ../../include/features.php:72
msgid "Post Categories"
msgstr "Inläggskategorier"
-#: ../../include/features.php:65
+#: ../../include/features.php:72
msgid "Add categories to your posts"
msgstr "Lägg till kategorier till dina inlägg"
-#: ../../include/features.php:66
+#: ../../include/features.php:73 ../../include/contact_widgets.php:57
+#: ../../include/widgets.php:302
+msgid "Saved Folders"
+msgstr "Sparade mappar"
+
+#: ../../include/features.php:73
msgid "Ability to file posts under folders"
msgstr "Möjlighet att lägga inlägg i mappar"
-#: ../../include/features.php:67
+#: ../../include/features.php:74
msgid "Dislike Posts"
msgstr "Ogilla inlägg"
-#: ../../include/features.php:67
+#: ../../include/features.php:74
msgid "Ability to dislike posts/comments"
msgstr "Möjlighet att ogilla inlägg/kommentarer"
-#: ../../include/features.php:68
+#: ../../include/features.php:75
msgid "Star Posts"
msgstr "Märk inlägg"
-#: ../../include/features.php:68
+#: ../../include/features.php:75
msgid "Ability to mark special posts with a star indicator"
msgstr "Möjlighet att märka speciella inlägg med en stjärna"
-#: ../../include/features.php:69
+#: ../../include/features.php:76
msgid "Tag Cloud"
msgstr "Taggmoln"
-#: ../../include/features.php:69
+#: ../../include/features.php:76
msgid "Provide a personal tag cloud on your channel page"
msgstr "Tillhandahåll ett personligt taggmoln på din kanalsida"
-#: ../../include/contact_selectors.php:30
-msgid "Unknown | Not categorised"
-msgstr "Okänd | Inte kategoriserad"
+#: ../../include/RedDAV/RedBrowser.php:106
+#: ../../include/RedDAV/RedBrowser.php:260
+msgid "parent"
+msgstr "en nivå upp"
+
+#: ../../include/RedDAV/RedBrowser.php:130
+msgid "Collection"
+msgstr "Samling"
+
+#: ../../include/RedDAV/RedBrowser.php:133
+msgid "Principal"
+msgstr "Bas"
+
+#: ../../include/RedDAV/RedBrowser.php:136
+msgid "Addressbook"
+msgstr "Adressbok"
+
+#: ../../include/RedDAV/RedBrowser.php:139
+msgid "Calendar"
+msgstr "Kalender"
+
+#: ../../include/RedDAV/RedBrowser.php:142
+msgid "Schedule Inbox"
+msgstr "Schemainkorg"
-#: ../../include/contact_selectors.php:31
-msgid "Block immediately"
-msgstr "Blockera genast"
+#: ../../include/RedDAV/RedBrowser.php:145
+msgid "Schedule Outbox"
+msgstr "Schemautkorg"
-#: ../../include/contact_selectors.php:32
-msgid "Shady, spammer, self-marketer"
-msgstr "Skum, spammare, självförhärligande"
+#: ../../include/RedDAV/RedBrowser.php:163 ../../include/conversation.php:992
+#: ../../include/apps.php:336 ../../include/apps.php:387
+#: ../../mod/connedit.php:513 ../../mod/photos.php:713
+#: ../../mod/photos.php:1132
+msgid "Unknown"
+msgstr "Okända"
-#: ../../include/contact_selectors.php:33
-msgid "Known to me, but no opinion"
-msgstr "Känner till, men ingen åsikt"
+#: ../../include/RedDAV/RedBrowser.php:223
+#, php-format
+msgid "%1$s used"
+msgstr "%1$s använt"
-#: ../../include/contact_selectors.php:34
-msgid "OK, probably harmless"
-msgstr "OK, antagligen harmlös"
+#: ../../include/RedDAV/RedBrowser.php:228
+#, php-format
+msgid "%1$s used of %2$s (%3$s&#37;)"
+msgstr "%1$s använt av %2$s (%3$s&#37;)"
+
+#: ../../include/RedDAV/RedBrowser.php:247 ../../include/conversation.php:1539
+#: ../../include/apps.php:135 ../../include/nav.php:106
+#: ../../mod/fbrowser.php:114
+msgid "Files"
+msgstr "Filer"
+
+#: ../../include/RedDAV/RedBrowser.php:249
+msgid "Total"
+msgstr "Totalt"
+
+#: ../../include/RedDAV/RedBrowser.php:256 ../../mod/settings.php:567
+#: ../../mod/settings.php:593 ../../mod/admin.php:866
+msgid "Name"
+msgstr "Namn"
-#: ../../include/contact_selectors.php:35
-msgid "Reputable, has my trust"
-msgstr "Ansedd, har mitt förtroende"
+#: ../../include/RedDAV/RedBrowser.php:257
+msgid "Type"
+msgstr "Typ"
-#: ../../include/contact_selectors.php:54
+#: ../../include/RedDAV/RedBrowser.php:258
+msgid "Size"
+msgstr "Storlek"
+
+#: ../../include/RedDAV/RedBrowser.php:259
+msgid "Last Modified"
+msgstr "Senast ändrad"
+
+#: ../../include/RedDAV/RedBrowser.php:262 ../../include/conversation.php:639
+#: ../../include/ItemObject.php:120 ../../include/apps.php:255
+#: ../../mod/settings.php:628 ../../mod/group.php:176
+#: ../../mod/connedit.php:476 ../../mod/photos.php:1070
+#: ../../mod/thing.php:234 ../../mod/admin.php:730 ../../mod/admin.php:861
+msgid "Delete"
+msgstr "Ta bort"
+
+#: ../../include/RedDAV/RedBrowser.php:310
+msgid "Create new folder"
+msgstr "Skapa ny mapp"
+
+#: ../../include/RedDAV/RedBrowser.php:311 ../../mod/mitem.php:169
+#: ../../mod/menu.php:100 ../../mod/new_channel.php:124
+msgid "Create"
+msgstr "Skapa"
+
+#: ../../include/RedDAV/RedBrowser.php:312
+msgid "Upload file"
+msgstr "Ladda upp fil"
+
+#: ../../include/RedDAV/RedBrowser.php:313 ../../mod/photos.php:738
+#: ../../mod/photos.php:1246 ../../mod/profile_photo.php:361
+msgid "Upload"
+msgstr "Ladda upp"
+
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "%1$ss bokmärken"
+
+#: ../../include/dir_fns.php:68
+msgid "Directory Options"
+msgstr "Katalogalternativ"
+
+#: ../../include/dir_fns.php:69
+msgid "Alphabetic"
+msgstr "Alfabetisk"
+
+#: ../../include/dir_fns.php:70
+msgid "Reverse Alphabetic"
+msgstr "Omvänd alfabetisk"
+
+#: ../../include/dir_fns.php:71
+msgid "Newest to Oldest"
+msgstr "Nyast till äldst"
+
+#: ../../include/dir_fns.php:72
+msgid "Oldest to Newest"
+msgstr "Äldst till nyast"
+
+#: ../../include/dir_fns.php:73
+msgid "Public Forums Only"
+msgstr "Endast offentliga forum"
+
+#: ../../include/dir_fns.php:75
+msgid "Sort"
+msgstr "Ordning"
+
+#: ../../include/dir_fns.php:91
+msgid "Enable Safe Search"
+msgstr "Aktivera säker sökning"
+
+#: ../../include/dir_fns.php:93
+msgid "Disable Safe Search"
+msgstr "Avaktivera säker sökning"
+
+#: ../../include/dir_fns.php:95
+msgid "Safe Mode"
+msgstr "Säkert läge"
+
+#: ../../include/comanche.php:35 ../../mod/admin.php:353
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
+msgstr "Standard"
+
+#: ../../include/contact_selectors.php:56
msgid "Frequently"
msgstr "Ofta"
-#: ../../include/contact_selectors.php:55
+#: ../../include/contact_selectors.php:57
msgid "Hourly"
msgstr "Varje timme"
-#: ../../include/contact_selectors.php:56
+#: ../../include/contact_selectors.php:58
msgid "Twice daily"
msgstr "Två gånger dagligen"
-#: ../../include/contact_selectors.php:57
+#: ../../include/contact_selectors.php:59
msgid "Daily"
msgstr "Dagligen"
-#: ../../include/contact_selectors.php:58
+#: ../../include/contact_selectors.php:60
msgid "Weekly"
msgstr "Varje vecka"
-#: ../../include/contact_selectors.php:59
+#: ../../include/contact_selectors.php:61
msgid "Monthly"
msgstr "Varje månad"
-#: ../../include/contact_selectors.php:74
+#: ../../include/contact_selectors.php:76
msgid "Friendica"
msgstr "Friendica"
-#: ../../include/contact_selectors.php:75
+#: ../../include/contact_selectors.php:77
msgid "OStatus"
msgstr "OStatus"
-#: ../../include/contact_selectors.php:76
+#: ../../include/contact_selectors.php:78
msgid "RSS/Atom"
msgstr "RSS/Atom"
-#: ../../include/contact_selectors.php:77 ../../mod/admin.php:753
-#: ../../mod/admin.php:762 ../../boot.php:1446
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:726
+#: ../../mod/admin.php:735 ../../boot.php:1542
msgid "Email"
msgstr "E-post"
-#: ../../include/contact_selectors.php:78
+#: ../../include/contact_selectors.php:80
msgid "Diaspora"
msgstr "Diaspora"
-#: ../../include/contact_selectors.php:79
+#: ../../include/contact_selectors.php:81
msgid "Facebook"
msgstr "Facebook"
-#: ../../include/contact_selectors.php:80
+#: ../../include/contact_selectors.php:82
msgid "Zot!"
msgstr "Zot!"
-#: ../../include/contact_selectors.php:81
+#: ../../include/contact_selectors.php:83
msgid "LinkedIn"
msgstr "LinkedIn"
-#: ../../include/contact_selectors.php:82
+#: ../../include/contact_selectors.php:84
msgid "XMPP/IM"
msgstr "XMPP/IM"
-#: ../../include/contact_selectors.php:83
+#: ../../include/contact_selectors.php:85
msgid "MySpace"
msgstr "MySpace"
-#: ../../include/conversation.php:117 ../../include/text.php:1697
-#: ../../mod/like.php:111 ../../mod/subthread.php:89 ../../mod/tagger.php:45
+#: ../../include/acl_selectors.php:240
+msgid "Visible to your default audience"
+msgstr "Kan ses av förinställda mottagare"
+
+#: ../../include/acl_selectors.php:241
+msgid "Show"
+msgstr "Visa"
+
+#: ../../include/acl_selectors.php:242
+msgid "Don't show"
+msgstr "Visa inte"
+
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:596
+#: ../../mod/chat.php:209 ../../mod/photos.php:588 ../../mod/photos.php:950
+#: ../../mod/filestorage.php:137
+msgid "Permissions"
+msgstr "Behörighet"
+
+#: ../../include/acl_selectors.php:249 ../../include/ItemObject.php:320
+#: ../../mod/photos.php:1149
+msgid "Close"
+msgstr "Stäng"
+
+#: ../../include/text.php:320
+msgid "prev"
+msgstr "föregående"
+
+#: ../../include/text.php:322
+msgid "first"
+msgstr "första"
+
+#: ../../include/text.php:351
+msgid "last"
+msgstr "sista"
+
+#: ../../include/text.php:354
+msgid "next"
+msgstr "nästa"
+
+#: ../../include/text.php:366
+msgid "older"
+msgstr "äldre"
+
+#: ../../include/text.php:368
+msgid "newer"
+msgstr "nyare"
+
+#: ../../include/text.php:756
+msgid "No connections"
+msgstr "Inga kontakter"
+
+#: ../../include/text.php:772
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d kontakt"
+msgstr[1] "%d kontakter"
+
+#: ../../include/text.php:785
+msgid "View Connections"
+msgstr "Visa kontakter"
+
+#: ../../include/text.php:842 ../../include/text.php:854
+#: ../../include/apps.php:147 ../../include/nav.php:173
+#: ../../mod/search.php:30
+msgid "Search"
+msgstr "Sök"
+
+#: ../../include/text.php:843 ../../include/text.php:855
+#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
+#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1339
+#: ../../mod/admin.php:1360
+msgid "Save"
+msgstr "Spara"
+
+#: ../../include/text.php:920
+msgid "poke"
+msgstr "puffa"
+
+#: ../../include/text.php:920 ../../include/conversation.php:243
+msgid "poked"
+msgstr "puffade"
+
+#: ../../include/text.php:921
+msgid "ping"
+msgstr "pinga"
+
+#: ../../include/text.php:921
+msgid "pinged"
+msgstr "pingade"
+
+#: ../../include/text.php:922
+msgid "prod"
+msgstr "stöt till"
+
+#: ../../include/text.php:922
+msgid "prodded"
+msgstr "stötte till"
+
+#: ../../include/text.php:923
+msgid "slap"
+msgstr "daska till"
+
+#: ../../include/text.php:923
+msgid "slapped"
+msgstr "daskade till"
+
+#: ../../include/text.php:924
+msgid "finger"
+msgstr "fingra på"
+
+#: ../../include/text.php:924
+msgid "fingered"
+msgstr "fingrade på"
+
+#: ../../include/text.php:925
+msgid "rebuff"
+msgstr "stöt tillbaka"
+
+#: ../../include/text.php:925
+msgid "rebuffed"
+msgstr "stötte tillbaks"
+
+#: ../../include/text.php:935
+msgid "happy"
+msgstr "glad"
+
+#: ../../include/text.php:936
+msgid "sad"
+msgstr "ledsen"
+
+#: ../../include/text.php:937
+msgid "mellow"
+msgstr "lugn"
+
+#: ../../include/text.php:938
+msgid "tired"
+msgstr "trött"
+
+#: ../../include/text.php:939
+msgid "perky"
+msgstr "uppåt"
+
+#: ../../include/text.php:940
+msgid "angry"
+msgstr "arg"
+
+#: ../../include/text.php:941
+msgid "stupified"
+msgstr "virrig"
+
+#: ../../include/text.php:942
+msgid "puzzled"
+msgstr "förbryllad"
+
+#: ../../include/text.php:943
+msgid "interested"
+msgstr "intresserad"
+
+#: ../../include/text.php:944
+msgid "bitter"
+msgstr "bitter"
+
+#: ../../include/text.php:945
+msgid "cheerful"
+msgstr "munter"
+
+#: ../../include/text.php:946
+msgid "alive"
+msgstr "pigg"
+
+#: ../../include/text.php:947
+msgid "annoyed"
+msgstr "irriterad"
+
+#: ../../include/text.php:948
+msgid "anxious"
+msgstr "bekymrad"
+
+#: ../../include/text.php:949
+msgid "cranky"
+msgstr "grinig"
+
+#: ../../include/text.php:950
+msgid "disturbed"
+msgstr "besvärad"
+
+#: ../../include/text.php:951
+msgid "frustrated"
+msgstr "frustrerad"
+
+#: ../../include/text.php:952
+msgid "depressed"
+msgstr "deprimerad"
+
+#: ../../include/text.php:953
+msgid "motivated"
+msgstr "motiverad"
+
+#: ../../include/text.php:954
+msgid "relaxed"
+msgstr "avslappnad"
+
+#: ../../include/text.php:955
+msgid "surprised"
+msgstr "förvånad"
+
+#: ../../include/text.php:1121
+msgid "Monday"
+msgstr "måndag"
+
+#: ../../include/text.php:1121
+msgid "Tuesday"
+msgstr "tisdag"
+
+#: ../../include/text.php:1121
+msgid "Wednesday"
+msgstr "onsdag"
+
+#: ../../include/text.php:1121
+msgid "Thursday"
+msgstr "torsdag"
+
+#: ../../include/text.php:1121
+msgid "Friday"
+msgstr "fredag"
+
+#: ../../include/text.php:1121
+msgid "Saturday"
+msgstr "lördag"
+
+#: ../../include/text.php:1121
+msgid "Sunday"
+msgstr "söndag"
+
+#: ../../include/text.php:1125
+msgid "January"
+msgstr "januari"
+
+#: ../../include/text.php:1125
+msgid "February"
+msgstr "februari"
+
+#: ../../include/text.php:1125
+msgid "March"
+msgstr "mars"
+
+#: ../../include/text.php:1125
+msgid "April"
+msgstr "april"
+
+#: ../../include/text.php:1125
+msgid "May"
+msgstr "maj"
+
+#: ../../include/text.php:1125
+msgid "June"
+msgstr "juni"
+
+#: ../../include/text.php:1125
+msgid "July"
+msgstr "juli"
+
+#: ../../include/text.php:1125
+msgid "August"
+msgstr "augusti"
+
+#: ../../include/text.php:1125
+msgid "September"
+msgstr "september"
+
+#: ../../include/text.php:1125
+msgid "October"
+msgstr "oktober"
+
+#: ../../include/text.php:1125
+msgid "November"
+msgstr "november"
+
+#: ../../include/text.php:1125
+msgid "December"
+msgstr "december"
+
+#: ../../include/text.php:1203
+msgid "unknown.???"
+msgstr "okänt.???"
+
+#: ../../include/text.php:1204
+msgid "bytes"
+msgstr "byte"
+
+#: ../../include/text.php:1240
+msgid "remove category"
+msgstr "ta bort kategori"
+
+#: ../../include/text.php:1309
+msgid "remove from file"
+msgstr "ta bort från fil"
+
+#: ../../include/text.php:1385 ../../include/text.php:1396
+msgid "Click to open/close"
+msgstr "Klicka för att öppna/stänga"
+
+#: ../../include/text.php:1544 ../../mod/events.php:414
+msgid "Link to Source"
+msgstr "Länk till källa"
+
+#: ../../include/text.php:1563
+msgid "Select a page layout: "
+msgstr "Välj en sidlayout: "
+
+#: ../../include/text.php:1566 ../../include/text.php:1626
+msgid "default"
+msgstr "standard"
+
+#: ../../include/text.php:1599
+msgid "Page content type: "
+msgstr "Typ av sidinnehåll: "
+
+#: ../../include/text.php:1638
+msgid "Select an alternate language"
+msgstr "Välj ett alternativt språk"
+
+#: ../../include/text.php:1757 ../../include/conversation.php:120
+#: ../../include/diaspora.php:1928 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/like.php:290 ../../mod/tagger.php:45
msgid "photo"
msgstr "foto"
-#: ../../include/conversation.php:120 ../../include/text.php:1700
+#: ../../include/text.php:1760 ../../include/conversation.php:123
#: ../../mod/tagger.php:49
msgid "event"
msgstr "händelse"
-#: ../../include/conversation.php:123
-msgid "channel"
-msgstr "kanal"
-
-#: ../../include/conversation.php:145 ../../include/text.php:1703
-#: ../../mod/like.php:111 ../../mod/subthread.php:89 ../../mod/tagger.php:53
+#: ../../include/text.php:1763 ../../include/conversation.php:148
+#: ../../include/diaspora.php:1928 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/like.php:290 ../../mod/tagger.php:53
msgid "status"
msgstr "status"
-#: ../../include/conversation.php:147 ../../include/text.php:1705
+#: ../../include/text.php:1765 ../../include/conversation.php:150
#: ../../mod/tagger.php:55
msgid "comment"
msgstr "kommentar"
-#: ../../include/conversation.php:161 ../../mod/like.php:142
+#: ../../include/text.php:1770
+msgid "activity"
+msgstr "aktivitet"
+
+#: ../../include/text.php:2057
+msgid "Design"
+msgstr "Design"
+
+#: ../../include/text.php:2060
+msgid "Blocks"
+msgstr "Block"
+
+#: ../../include/text.php:2061
+msgid "Menus"
+msgstr "Menyer"
+
+#: ../../include/text.php:2062
+msgid "Layouts"
+msgstr "Layouter"
+
+#: ../../include/text.php:2063
+msgid "Pages"
+msgstr "Sidor"
+
+#: ../../include/contact_widgets.php:14
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d inbjudan tillgänglig"
+msgstr[1] "%d inbjudningar tillgängliga"
+
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:416
+msgid "Advanced"
+msgstr "Avancerat"
+
+#: ../../include/contact_widgets.php:22
+msgid "Find Channels"
+msgstr "Hitta kanaler"
+
+#: ../../include/contact_widgets.php:23
+msgid "Enter name or interest"
+msgstr "Ange namn eller intresse"
+
+#: ../../include/contact_widgets.php:24
+msgid "Connect/Follow"
+msgstr "Ta kontakt/följ"
+
+#: ../../include/contact_widgets.php:25
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Exempel: Robert Morgenstein, Fiske"
+
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:412
+#: ../../mod/directory.php:317 ../../mod/directory.php:322
+msgid "Find"
+msgstr "Sök"
+
+#: ../../include/contact_widgets.php:27 ../../mod/suggest.php:59
+#: ../../mod/directory.php:321
+msgid "Channel Suggestions"
+msgstr "Kanalförslag"
+
+#: ../../include/contact_widgets.php:29
+msgid "Random Profile"
+msgstr "Slumpvald profil"
+
+#: ../../include/contact_widgets.php:30
+msgid "Invite Friends"
+msgstr "Bjud in vänner"
+
+#: ../../include/contact_widgets.php:32
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Avancerat exempel: name=fred and country=iceland"
+
+#: ../../include/contact_widgets.php:60 ../../include/contact_widgets.php:95
+#: ../../include/widgets.php:305
+msgid "Everything"
+msgstr "Allt"
+
+#: ../../include/contact_widgets.php:125
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d gemensam kontakt"
+msgstr[1] "%d gemensamma kontakter"
+
+#: ../../include/contact_widgets.php:130
+msgid "show more"
+msgstr "visa fler"
+
+#: ../../include/enotify.php:41
+msgid "Red Matrix Notification"
+msgstr "Red Matrix-meddelande"
+
+#: ../../include/enotify.php:42
+msgid "redmatrix"
+msgstr "redmatrix"
+
+#: ../../include/enotify.php:44
+msgid "Thank You,"
+msgstr "Tack,"
+
+#: ../../include/enotify.php:46
+#, php-format
+msgid "%s Administrator"
+msgstr "Administratören för %s"
+
+#: ../../include/enotify.php:81
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
+
+#: ../../include/enotify.php:85
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
+msgstr "[Red:Meddelande] Nytt meddelande på %s"
+
+#: ../../include/enotify.php:87
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s skickade ett nytt privat meddelande till dig på %3$s."
+
+#: ../../include/enotify.php:88
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s skickade %2$s till dig."
+
+#: ../../include/enotify.php:88
+msgid "a private message"
+msgstr "ett privat meddelande"
+
+#: ../../include/enotify.php:89
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Besök %s för att visa och/eller svara på dina privata meddelanden."
+
+#: ../../include/enotify.php:144
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s kommenterade [zrl=%3$s]ett %4$s[/zrl]"
+
+#: ../../include/enotify.php:152
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s kommenterade [zrl=%3$s]%4$ss %5$s[/zrl]"
+
+#: ../../include/enotify.php:161
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s kommenterade [zrl=%3$s]ditt %4$s[/zrl]"
+
+#: ../../include/enotify.php:172
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Red:Meddelande] Kommentar till konversation #%1$d av %2$s"
+
+#: ../../include/enotify.php:173
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s kommenterade en sak/konversation du har följt."
+
+#: ../../include/enotify.php:176 ../../include/enotify.php:191
+#: ../../include/enotify.php:217 ../../include/enotify.php:236
+#: ../../include/enotify.php:250
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Besök %s för att visa och/eller svara på konversationen."
+
+#: ../../include/enotify.php:182
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr "[Red:Meddelande] %s postade till din profilvägg"
+
+#: ../../include/enotify.php:184
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s postade till din profilvägg på %3$s"
+
+#: ../../include/enotify.php:186
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s postade till [zrl=%3$s]din vägg[/zrl]"
+
+#: ../../include/enotify.php:210
+#, php-format
+msgid "[Red:Notify] %s tagged you"
+msgstr "[Red:Meddelande] %s taggade dig"
+
+#: ../../include/enotify.php:211
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s taggade dig på %3$s"
+
+#: ../../include/enotify.php:212
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]taggade dig[/zrl]."
+
+#: ../../include/enotify.php:225
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
+msgstr "[Red:Meddelande] %1$s puffade dig"
+
+#: ../../include/enotify.php:226
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s puffade dig på %3$s"
+
+#: ../../include/enotify.php:227
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]puffade dig[/zrl]."
+
+#: ../../include/enotify.php:243
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
+msgstr "[Red:Meddelande] %s taggade ditt inlägg"
+
+#: ../../include/enotify.php:244
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s taggade ditt inlägg på %3$s"
+
+#: ../../include/enotify.php:245
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s taggade [zrl=%3$s]ditt inlägg[/zrl]"
+
+#: ../../include/enotify.php:257
+msgid "[Red:Notify] Introduction received"
+msgstr "[Red:Meddelande] Presentation mottagen"
+
+#: ../../include/enotify.php:258
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, du har fått en ny kontaktförfrågan från '%2$s' på %3$s"
+
+#: ../../include/enotify.php:259
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, du har fått [zrl=%2$s]en ny kontaktförfrågan[/zrl] från %3$s."
+
+#: ../../include/enotify.php:263 ../../include/enotify.php:282
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Du kan besöka deras profil på %s"
+
+#: ../../include/enotify.php:265
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Besök %s för att bevilja eller avslå kontaktförfrågan."
+
+#: ../../include/enotify.php:272
+msgid "[Red:Notify] Friend suggestion received"
+msgstr "[Red:Meddelande] Vänförslag mottaget"
+
+#: ../../include/enotify.php:273
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, du har fått ett vänförslag från '%2$s' på %3$s"
+
+#: ../../include/enotify.php:274
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, du har fått [zrl=%2$s]ett vänförslag[/zrl] angående %3$s från %4$s."
+
+#: ../../include/enotify.php:280
+msgid "Name:"
+msgstr "Namn:"
+
+#: ../../include/enotify.php:281
+msgid "Photo:"
+msgstr "Foto:"
+
+#: ../../include/enotify.php:284
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Besök %s för att bevilja eller avslå förslaget."
+
+#: ../../include/enotify.php:477
+msgid "[Red:Notify]"
+msgstr "[Red:Notifiering]"
+
+#: ../../include/event.php:376
+msgid "This event has been added to your calendar."
+msgstr "Händelsen har lagts till i din kalender."
+
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "En borttagen grupp med det här namnet återskapades. Befintliga rättigheter till saker <strong>kan</strong> gälla för den här gruppen och alla framtida medlemmar. Om det här inte är vad du avsåg, skapa i stället en annan grupp med ett annat namn."
+
+#: ../../include/group.php:235
+msgid "Default privacy group for new contacts"
+msgstr "Förvald integritetsgrupp för nya kontakter"
+
+#: ../../include/group.php:254 ../../mod/admin.php:735
+msgid "All Channels"
+msgstr "Alla kanaler"
+
+#: ../../include/group.php:276
+msgid "edit"
+msgstr "redigera"
+
+#: ../../include/group.php:298
+msgid "Collections"
+msgstr "Kretsar"
+
+#: ../../include/group.php:299
+msgid "Edit collection"
+msgstr "Redigera krets"
+
+#: ../../include/group.php:300
+msgid "Create a new collection"
+msgstr "Skapa en ny krets"
+
+#: ../../include/group.php:301
+msgid "Channels not in any collection"
+msgstr "Kanaler inte i någon krets"
+
+#: ../../include/group.php:303 ../../include/widgets.php:273
+msgid "add"
+msgstr "lägg till"
+
+#: ../../include/identity.php:31 ../../mod/item.php:1112
+msgid "Unable to obtain identity information from database"
+msgstr "Kunde inte hämta från databasen"
+
+#: ../../include/identity.php:66
+msgid "Empty name"
+msgstr "Tomt namn"
+
+#: ../../include/identity.php:68
+msgid "Name too long"
+msgstr "För långt namn"
+
+#: ../../include/identity.php:169
+msgid "No account identifier"
+msgstr "Ingen kontoidentifierare"
+
+#: ../../include/identity.php:182
+msgid "Nickname is required."
+msgstr "Smeknamn måste anges."
+
+#: ../../include/identity.php:196
+msgid "Reserved nickname. Please choose another."
+msgstr "Reserverat smeknamn. Välj ett annat."
+
+#: ../../include/identity.php:201 ../../include/dimport.php:34
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Smeknamnet innehåller otillåtna tecken eller är redan upptaget på den här servern."
+
+#: ../../include/identity.php:283
+msgid "Unable to retrieve created identity"
+msgstr "Kunde inte hämta den skapade identiteten"
+
+#: ../../include/identity.php:343
+msgid "Default Profile"
+msgstr "Standardprofil"
+
+#: ../../include/identity.php:387 ../../include/identity.php:388
+#: ../../include/identity.php:395 ../../include/widgets.php:428
+#: ../../include/profile_selectors.php:80 ../../mod/settings.php:320
+#: ../../mod/settings.php:324 ../../mod/settings.php:325
+#: ../../mod/settings.php:328 ../../mod/settings.php:339
+#: ../../mod/connedit.php:510
+msgid "Friends"
+msgstr "Vänner"
+
+#: ../../include/identity.php:643
+msgid "Requested channel is not available."
+msgstr "Den begärda kanalen är inte tillgänglig"
+
+#: ../../include/identity.php:691 ../../mod/achievements.php:11
+#: ../../mod/profile.php:16 ../../mod/webpages.php:29 ../../mod/blocks.php:29
+#: ../../mod/editblock.php:29 ../../mod/editlayout.php:28
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:48
+#: ../../mod/connect.php:13 ../../mod/layouts.php:29 ../../mod/hcard.php:8
+msgid "Requested profile is not available."
+msgstr "Begärd profil är inte tillgänglig."
+
+#: ../../include/identity.php:840 ../../include/conversation.php:937
+#: ../../include/widgets.php:136 ../../include/widgets.php:175
+#: ../../include/Contact.php:107 ../../mod/suggest.php:51
+#: ../../mod/match.php:62 ../../mod/directory.php:264
+msgid "Connect"
+msgstr "Ta kontakt"
+
+#: ../../include/identity.php:854 ../../mod/profiles.php:740
+msgid "Change profile photo"
+msgstr "Bytprofilfoto"
+
+#: ../../include/identity.php:860
+msgid "Profiles"
+msgstr "Profiler"
+
+#: ../../include/identity.php:860
+msgid "Manage/edit profiles"
+msgstr "Hantera/redigera profiler"
+
+#: ../../include/identity.php:861 ../../mod/profiles.php:741
+msgid "Create New Profile"
+msgstr "Skapa ny profil"
+
+#: ../../include/identity.php:864 ../../include/nav.php:103
+msgid "Edit Profile"
+msgstr "Redigera profil"
+
+#: ../../include/identity.php:875 ../../mod/profiles.php:752
+msgid "Profile Image"
+msgstr "Profilbild"
+
+#: ../../include/identity.php:878
+msgid "visible to everybody"
+msgstr "synlig för alla"
+
+#: ../../include/identity.php:879 ../../mod/profiles.php:635
+#: ../../mod/profiles.php:756
+msgid "Edit visibility"
+msgstr "Redigera synlighet"
+
+#: ../../include/identity.php:895 ../../include/identity.php:1132
+msgid "Gender:"
+msgstr "Kön:"
+
+#: ../../include/identity.php:896 ../../include/identity.php:1176
+msgid "Status:"
+msgstr "Status:"
+
+#: ../../include/identity.php:897 ../../include/identity.php:1187
+msgid "Homepage:"
+msgstr "Hemsida:"
+
+#: ../../include/identity.php:898
+msgid "Online Now"
+msgstr "Online nu"
+
+#: ../../include/identity.php:976 ../../include/identity.php:1056
+#: ../../mod/ping.php:326
+msgid "g A l F d"
+msgstr "l j F \\k\\l G"
+
+#: ../../include/identity.php:977 ../../include/identity.php:1057
+msgid "F d"
+msgstr "j F"
+
+#: ../../include/identity.php:1022 ../../include/identity.php:1097
+#: ../../mod/ping.php:348
+msgid "[today]"
+msgstr "[i dag]"
+
+#: ../../include/identity.php:1034
+msgid "Birthday Reminders"
+msgstr "Födelsedagspåminnelser"
+
+#: ../../include/identity.php:1035
+msgid "Birthdays this week:"
+msgstr "Födelsedagar den här veckan:"
+
+#: ../../include/identity.php:1090
+msgid "[No description]"
+msgstr "[Ingen beskrivning]"
+
+#: ../../include/identity.php:1108
+msgid "Event Reminders"
+msgstr "Händelsepåminnelser"
+
+#: ../../include/identity.php:1109
+msgid "Events this week:"
+msgstr "Händelser den här veckan:"
+
+#: ../../include/identity.php:1122 ../../include/identity.php:1251
+#: ../../include/apps.php:138 ../../mod/profperm.php:112
+msgid "Profile"
+msgstr "Profil"
+
+#: ../../include/identity.php:1130 ../../mod/settings.php:1012
+msgid "Full Name:"
+msgstr "Fullständigt namn:"
+
+#: ../../include/identity.php:1137
+msgid "Like this channel"
+msgstr "Gilla den här kanalen"
+
+#: ../../include/identity.php:1161
+msgid "j F, Y"
+msgstr "j F Y"
+
+#: ../../include/identity.php:1162
+msgid "j F"
+msgstr "j F"
+
+#: ../../include/identity.php:1169
+msgid "Birthday:"
+msgstr "Födelsedag:"
+
+#: ../../include/identity.php:1173
+msgid "Age:"
+msgstr "Ã…lder:"
+
+#: ../../include/identity.php:1182
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "i %1$d %2$s"
+
+#: ../../include/identity.php:1185 ../../mod/profiles.php:657
+msgid "Sexual Preference:"
+msgstr "Sexuell preferens:"
+
+#: ../../include/identity.php:1189 ../../mod/profiles.php:659
+msgid "Hometown:"
+msgstr "Hemort:"
+
+#: ../../include/identity.php:1191
+msgid "Tags:"
+msgstr "Taggar:"
+
+#: ../../include/identity.php:1193 ../../mod/profiles.php:660
+msgid "Political Views:"
+msgstr "Politisk åskådning:"
+
+#: ../../include/identity.php:1195
+msgid "Religion:"
+msgstr "Religion:"
+
+#: ../../include/identity.php:1197
+msgid "About:"
+msgstr "Om:"
+
+#: ../../include/identity.php:1199
+msgid "Hobbies/Interests:"
+msgstr "Fritidssysselsättning/intressen:"
+
+#: ../../include/identity.php:1201 ../../mod/profiles.php:663
+msgid "Likes:"
+msgstr "Gillar:"
+
+#: ../../include/identity.php:1203 ../../mod/profiles.php:664
+msgid "Dislikes:"
+msgstr "Ogillar:"
+
+#: ../../include/identity.php:1206
+msgid "Contact information and Social Networks:"
+msgstr "Kontaktinformation och sociala nätverk:"
+
+#: ../../include/identity.php:1218
+msgid "My other channels:"
+msgstr "Mina andra kanaler:"
+
+#: ../../include/identity.php:1221
+msgid "Musical interests:"
+msgstr "Musikintressen:"
+
+#: ../../include/identity.php:1223
+msgid "Books, literature:"
+msgstr "Böcker, litteratur:"
+
+#: ../../include/identity.php:1225
+msgid "Television:"
+msgstr "Tv:"
+
+#: ../../include/identity.php:1227
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film/dans/kultur/underhållning:"
+
+#: ../../include/identity.php:1229
+msgid "Love/Romance:"
+msgstr "Kärlek/romantik:"
+
+#: ../../include/identity.php:1231
+msgid "Work/employment:"
+msgstr "Arbete/sysselsättning:"
+
+#: ../../include/identity.php:1233
+msgid "School/education:"
+msgstr "Skola/utbildning:"
+
+#: ../../include/identity.php:1253
+msgid "Like this thing"
+msgstr "Gilla den här saken"
+
+#: ../../include/account.php:23
+msgid "Not a valid email address"
+msgstr "Inte en giltig e-postadress"
+
+#: ../../include/account.php:25
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Din e-postdomän är inte bland de som tillåts på den här servern"
+
+#: ../../include/account.php:31
+msgid "Your email address is already registered at this site."
+msgstr "Din e-postadress är redan registrerad på den här servern."
+
+#: ../../include/account.php:64
+msgid "An invitation is required."
+msgstr "En inbjudan behövs."
+
+#: ../../include/account.php:68
+msgid "Invitation could not be verified."
+msgstr "Inbjudningen kunde inte bekräftas."
+
+#: ../../include/account.php:119
+msgid "Please enter the required information."
+msgstr "Ange den begärda informationen."
+
+#: ../../include/account.php:187
+msgid "Failed to store account information."
+msgstr "Misslyckades att spara kontoinformation."
+
+#: ../../include/account.php:245
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registreringsbekräftelse för %s"
+
+#: ../../include/account.php:313
+#, php-format
+msgid "Registration request at %s"
+msgstr "Registreringsförfrågan på %s"
+
+#: ../../include/account.php:315 ../../include/account.php:342
+#: ../../include/account.php:399
+msgid "Administrator"
+msgstr "Administratör"
+
+#: ../../include/account.php:337
+msgid "your registration password"
+msgstr "ditt registreringslösenord"
+
+#: ../../include/account.php:340 ../../include/account.php:397
+#, php-format
+msgid "Registration details for %s"
+msgstr "Registreringsdetaljer för %s"
+
+#: ../../include/account.php:406
+msgid "Account approved."
+msgstr "Konto godkänt."
+
+#: ../../include/account.php:440
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrering avslagen för %s"
+
+#: ../../include/account.php:486
+msgid "Account verified. Please login."
+msgstr "Konto bekräftat. Du kan nu logga in."
+
+#: ../../include/account.php:648 ../../include/account.php:650
+msgid "Click here to upgrade."
+msgstr "Klicka här för att uppgradera."
+
+#: ../../include/account.php:656
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Den här funktionen går utanför vad som anges i ditt avtal."
+
+#: ../../include/account.php:661
+msgid "This action is not available under your subscription plan."
+msgstr "Den här funktionen är inte tillgänglig med ditt avtal."
+
+#: ../../include/follow.php:28
+msgid "Channel is blocked on this site."
+msgstr "Kanalen är blockerad på den här servern."
+
+#: ../../include/follow.php:33
+msgid "Channel location missing."
+msgstr "Kanalplats saknas."
+
+#: ../../include/follow.php:82
+msgid "Response from remote channel was incomplete."
+msgstr "Svar från den andra kanalen var ofullständigt."
+
+#: ../../include/follow.php:99
+msgid "Channel was deleted and no longer exists."
+msgstr "Kanalen har tagits bort och finns inte längre."
+
+#: ../../include/follow.php:135 ../../include/follow.php:202
+msgid "Protocol disabled."
+msgstr "Protokoll inaktiverat."
+
+#: ../../include/follow.php:176
+msgid "Channel discovery failed."
+msgstr "Kanalsökning misslyckades."
+
+#: ../../include/follow.php:192
+msgid "local account not found."
+msgstr "hittade inte lokalt konto."
+
+#: ../../include/follow.php:220
+msgid "Cannot connect to yourself."
+msgstr "Du kan inte kontakta dig själv."
+
+#: ../../include/api.php:1084
+msgid "Public Timeline"
+msgstr "Offentlig tidslinje"
+
+#: ../../include/attach.php:221 ../../include/attach.php:275
+msgid "Item was not found."
+msgstr "Posten hittades inte."
+
+#: ../../include/attach.php:331
+msgid "No source file."
+msgstr "Ingen källfil."
+
+#: ../../include/attach.php:348
+msgid "Cannot locate file to replace"
+msgstr "Kan inte hitta fil att ersätta"
+
+#: ../../include/attach.php:366
+msgid "Cannot locate file to revise/update"
+msgstr "Kan inte hitta fil att revidera/uppdatera"
+
+#: ../../include/attach.php:377
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "Filen överskrider storleksbegränsningen %d"
+
+#: ../../include/attach.php:389
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Du har nått begränsningen %1$.0f megabyte utrymme för bilagor."
+
+#: ../../include/attach.php:472
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Filuppladdning misslyckades. Möjlig systembegränsning eller avbruten åtgärd."
+
+#: ../../include/attach.php:484
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Den lagrade filen kunde inte verifieras. Uppladdning misslyckad."
+
+#: ../../include/attach.php:526 ../../include/attach.php:543
+msgid "Path not available."
+msgstr "Sökväg inte tillgänglig."
+
+#: ../../include/attach.php:590
+msgid "Empty pathname"
+msgstr "Tom sökväg"
+
+#: ../../include/attach.php:606
+msgid "duplicate filename or path"
+msgstr "filnamn eller sökväg finns redan"
+
+#: ../../include/attach.php:630
+msgid "Path not found."
+msgstr "Sökväg hittas inte."
+
+#: ../../include/attach.php:681
+msgid "mkdir failed."
+msgstr "mkdir misslyckades."
+
+#: ../../include/attach.php:685
+msgid "database storage failed."
+msgstr "databaslagring misslyckades."
+
+#: ../../include/chat.php:10
+msgid "Missing room name"
+msgstr "Rumsnamn saknas"
+
+#: ../../include/chat.php:19
+msgid "Duplicate room name"
+msgstr "Rumsnamnet finns redan"
+
+#: ../../include/chat.php:68 ../../include/chat.php:76
+msgid "Invalid room specifier."
+msgstr "Ogiltig rumsbeskrivning."
+
+#: ../../include/chat.php:105
+msgid "Room not found."
+msgstr "Rummet hittades inte."
+
+#: ../../include/chat.php:126
+msgid "Room is full"
+msgstr "Rummet är fullt"
+
+#: ../../include/bbcode.php:112 ../../include/bbcode.php:677
+#: ../../include/bbcode.php:680 ../../include/bbcode.php:685
+#: ../../include/bbcode.php:688 ../../include/bbcode.php:691
+#: ../../include/bbcode.php:694 ../../include/bbcode.php:699
+#: ../../include/bbcode.php:702 ../../include/bbcode.php:707
+#: ../../include/bbcode.php:710 ../../include/bbcode.php:713
+#: ../../include/bbcode.php:716
+msgid "Image/photo"
+msgstr "Bild/foto"
+
+#: ../../include/bbcode.php:147 ../../include/bbcode.php:727
+msgid "Encrypted content"
+msgstr "Krypterat innehåll"
+
+#: ../../include/bbcode.php:165
+msgid "Install design element: "
+msgstr "Installera designelement: "
+
+#: ../../include/bbcode.php:171
+msgid "QR code"
+msgstr "QR-kod"
+
+#: ../../include/bbcode.php:220
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s skrev följande %2$s %3$s"
+
+#: ../../include/bbcode.php:222
+msgid "post"
+msgstr "post"
+
+#: ../../include/bbcode.php:645
+msgid "$1 spoiler"
+msgstr "$1 spoiler"
+
+#: ../../include/bbcode.php:665
+msgid "$1 wrote:"
+msgstr "$1 skrev:"
+
+#: ../../include/conversation.php:126 ../../mod/like.php:89
+msgid "channel"
+msgstr "kanal"
+
+#: ../../include/conversation.php:164 ../../include/diaspora.php:1957
+#: ../../mod/like.php:336
#, php-format
msgid "%1$s likes %2$s's %3$s"
msgstr "%1$s gillar %2$ss %3$s"
-#: ../../include/conversation.php:164 ../../mod/like.php:144
+#: ../../include/conversation.php:167 ../../mod/like.php:338
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
msgstr "%1$s gillar inte %2$ss %3$s"
-#: ../../include/conversation.php:201
+#: ../../include/conversation.php:204
#, php-format
msgid "%1$s is now connected with %2$s"
msgstr "%1$s har nu kontakt med %2$s"
-#: ../../include/conversation.php:236
+#: ../../include/conversation.php:239
#, php-format
msgid "%1$s poked %2$s"
msgstr "%1$s puffade %2$s"
-#: ../../include/conversation.php:240 ../../include/text.php:885
-msgid "poked"
-msgstr "puffade"
-
-#: ../../include/conversation.php:258 ../../mod/mood.php:63
+#: ../../include/conversation.php:261 ../../mod/mood.php:63
#, php-format
-msgid "%1$s is currently %2$s"
-msgstr "%1$s är för tillfället %2$s"
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s är %2$s"
-#: ../../include/conversation.php:631 ../../include/ItemObject.php:114
+#: ../../include/conversation.php:638 ../../include/ItemObject.php:126
msgid "Select"
msgstr "Välj"
-#: ../../include/conversation.php:632 ../../include/ItemObject.php:108
-#: ../../mod/thing.php:236 ../../mod/settings.php:578 ../../mod/group.php:176
-#: ../../mod/admin.php:757 ../../mod/admin.php:886 ../../mod/connedit.php:365
-#: ../../mod/filestorage.php:171 ../../mod/photos.php:1043
-msgid "Delete"
-msgstr "Ta bort"
-
-#: ../../include/conversation.php:639 ../../include/ItemObject.php:89
-#: ../../mod/photos.php:846
+#: ../../include/conversation.php:646 ../../include/ItemObject.php:89
msgid "Private Message"
msgstr "Privat meddelande"
-#: ../../include/conversation.php:646 ../../include/ItemObject.php:161
-msgid "Message is verified"
-msgstr "Meddelandet är bekräftat"
+#: ../../include/conversation.php:653 ../../include/ItemObject.php:194
+msgid "Message signature validated"
+msgstr "Meddelandesignatur bekräftad"
-#: ../../include/conversation.php:666
+#: ../../include/conversation.php:654 ../../include/ItemObject.php:195
+msgid "Message signature incorrect"
+msgstr "Meddelandesignatur felaktig"
+
+#: ../../include/conversation.php:674
#, php-format
msgid "View %s's profile @ %s"
msgstr "Visa %ss profil på %s"
-#: ../../include/conversation.php:680
+#: ../../include/conversation.php:689
msgid "Categories:"
msgstr "Kategorier:"
-#: ../../include/conversation.php:681
+#: ../../include/conversation.php:690
msgid "Filed under:"
msgstr "Postat under:"
-#: ../../include/conversation.php:690 ../../include/ItemObject.php:226
+#: ../../include/conversation.php:698 ../../include/ItemObject.php:274
#, php-format
msgid " from %s"
msgstr "från %s"
-#: ../../include/conversation.php:693 ../../include/ItemObject.php:229
+#: ../../include/conversation.php:701 ../../include/ItemObject.php:277
#, php-format
msgid "last edited: %s"
msgstr "senast redigerat: %s"
-#: ../../include/conversation.php:694 ../../include/ItemObject.php:230
+#: ../../include/conversation.php:702 ../../include/ItemObject.php:278
#, php-format
msgid "Expires: %s"
msgstr "Upphör: %s"
-#: ../../include/conversation.php:709
+#: ../../include/conversation.php:717
msgid "View in context"
msgstr "Visa sammanhang"
-#: ../../include/conversation.php:711 ../../include/conversation.php:1127
-#: ../../include/ItemObject.php:259 ../../mod/mail.php:222
-#: ../../mod/mail.php:336 ../../mod/editpost.php:121
-#: ../../mod/editblock.php:120 ../../mod/editlayout.php:115
-#: ../../mod/editwebpage.php:152 ../../mod/photos.php:974
+#: ../../include/conversation.php:719 ../../include/conversation.php:1142
+#: ../../include/ItemObject.php:325 ../../mod/editpost.php:121
+#: ../../mod/mail.php:238 ../../mod/mail.php:353 ../../mod/photos.php:978
+#: ../../mod/editblock.php:152 ../../mod/editlayout.php:148
+#: ../../mod/editwebpage.php:183
msgid "Please wait"
msgstr "Vänta"
-#: ../../include/conversation.php:838
+#: ../../include/conversation.php:835
msgid "remove"
msgstr "ta bort"
-#: ../../include/conversation.php:842
+#: ../../include/conversation.php:839 ../../include/nav.php:257
msgid "Loading..."
msgstr "Laddar..."
-#: ../../include/conversation.php:843
+#: ../../include/conversation.php:840
msgid "Delete Selected Items"
msgstr "Ta bort valda poster"
-#: ../../include/conversation.php:934
+#: ../../include/conversation.php:931
msgid "View Source"
msgstr "Visa källa"
-#: ../../include/conversation.php:935
+#: ../../include/conversation.php:932
msgid "Follow Thread"
msgstr "Följ tråd"
-#: ../../include/conversation.php:936
+#: ../../include/conversation.php:933
msgid "View Status"
msgstr "Visa status"
-#: ../../include/conversation.php:938
+#: ../../include/conversation.php:934 ../../include/nav.php:99
+#: ../../mod/connedit.php:429 ../../mod/connedit.php:545
+msgid "View Profile"
+msgstr "Visa profil"
+
+#: ../../include/conversation.php:935
msgid "View Photos"
msgstr "Visa foton"
-#: ../../include/conversation.php:939
+#: ../../include/conversation.php:936
msgid "Matrix Activity"
msgstr "Matrisaktivitet"
-#: ../../include/conversation.php:940
+#: ../../include/conversation.php:938
msgid "Edit Contact"
msgstr "Redigera kontakt"
-#: ../../include/conversation.php:941
+#: ../../include/conversation.php:939
msgid "Send PM"
msgstr "Skicka meddelande"
-#: ../../include/conversation.php:942
+#: ../../include/conversation.php:940 ../../include/apps.php:145
msgid "Poke"
msgstr "Puffa"
-#: ../../include/conversation.php:998
+#: ../../include/conversation.php:1013
#, php-format
msgid "%s likes this."
msgstr "%s gillar det här."
-#: ../../include/conversation.php:998
+#: ../../include/conversation.php:1013
#, php-format
msgid "%s doesn't like this."
msgstr "%s gillar inte det här."
-#: ../../include/conversation.php:1002
+#: ../../include/conversation.php:1017
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgid_plural "<span %1$s>%2$d people</span> like this."
msgstr[0] "<span %1$s>%2$d person</span> gillar det här."
msgstr[1] "<span %1$s>%2$d personer</span> gillar det här."
-#: ../../include/conversation.php:1004
+#: ../../include/conversation.php:1019
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgid_plural "<span %1$s>%2$d people</span> don't like this."
msgstr[0] "<span %1$s>%2$d person</span> gillar inte det här."
msgstr[1] "<span %1$s>%2$d personer</span> gillar inte det här."
-#: ../../include/conversation.php:1010
+#: ../../include/conversation.php:1025
msgid "and"
msgstr "och"
-#: ../../include/conversation.php:1013
+#: ../../include/conversation.php:1028
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ", och %d annan person"
msgstr[1] ", och %d andra personer"
-#: ../../include/conversation.php:1014
+#: ../../include/conversation.php:1029
#, php-format
msgid "%s like this."
msgstr "%s gillar det här."
-#: ../../include/conversation.php:1014
+#: ../../include/conversation.php:1029
#, php-format
msgid "%s don't like this."
msgstr "%s gillar inte det här."
-#: ../../include/conversation.php:1071
+#: ../../include/conversation.php:1086
msgid "Visible to <strong>everybody</strong>"
-msgstr "Synlig för <strong>alla</strong>"
+msgstr "Kan ses av <strong>alla</strong>"
-#: ../../include/conversation.php:1072 ../../mod/mail.php:171
-#: ../../mod/mail.php:269
+#: ../../include/conversation.php:1087 ../../mod/mail.php:171
+#: ../../mod/mail.php:286
msgid "Please enter a link URL:"
msgstr "Ange en länkadress:"
-#: ../../include/conversation.php:1073
+#: ../../include/conversation.php:1088
msgid "Please enter a video link/URL:"
msgstr "Ange en videolänkadress:"
-#: ../../include/conversation.php:1074
+#: ../../include/conversation.php:1089
msgid "Please enter an audio link/URL:"
msgstr "Ange en ljudlänkadress"
-#: ../../include/conversation.php:1075
+#: ../../include/conversation.php:1090
msgid "Tag term:"
msgstr "Tagguttryck"
-#: ../../include/conversation.php:1076 ../../mod/filer.php:49
+#: ../../include/conversation.php:1091 ../../mod/filer.php:49
msgid "Save to Folder:"
msgstr "Spara i mapp:"
-#: ../../include/conversation.php:1077
+#: ../../include/conversation.php:1092
msgid "Where are you right now?"
msgstr "Var är du just nu?"
-#: ../../include/conversation.php:1078 ../../mod/mail.php:172
-#: ../../mod/mail.php:270 ../../mod/editpost.php:52
+#: ../../include/conversation.php:1093 ../../mod/editpost.php:52
+#: ../../mod/mail.php:172 ../../mod/mail.php:287
msgid "Expires YYYY-MM-DD HH:MM"
msgstr "Upphör YYYY-MM-DD HH:MM"
-#: ../../include/conversation.php:1088 ../../include/ItemObject.php:557
-#: ../../mod/webpages.php:123 ../../mod/editpost.php:140
-#: ../../mod/editblock.php:141 ../../mod/editlayout.php:135
-#: ../../mod/editwebpage.php:175 ../../mod/photos.php:994
-msgid "Preview"
-msgstr "Förhandsgranska"
-
-#: ../../include/conversation.php:1102 ../../mod/layouts.php:113
-#: ../../mod/photos.php:973
+#: ../../include/conversation.php:1117 ../../mod/photos.php:977
+#: ../../mod/editblock.php:198 ../../mod/editlayout.php:193
+#: ../../mod/editwebpage.php:230 ../../mod/layouts.php:168
msgid "Share"
msgstr "Dela"
-#: ../../include/conversation.php:1104 ../../mod/editwebpage.php:139
+#: ../../include/conversation.php:1119 ../../mod/editwebpage.php:170
msgid "Page link title"
msgstr "Titel på sidlänk"
-#: ../../include/conversation.php:1107
+#: ../../include/conversation.php:1122
msgid "Post as"
msgstr "Posta som"
-#: ../../include/conversation.php:1108 ../../mod/mail.php:219
-#: ../../mod/mail.php:332 ../../mod/editpost.php:113
-#: ../../mod/editblock.php:112 ../../mod/editlayout.php:107
-#: ../../mod/editwebpage.php:144
+#: ../../include/conversation.php:1123 ../../mod/editpost.php:113
+#: ../../mod/mail.php:235 ../../mod/mail.php:349 ../../mod/editblock.php:144
+#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:175
msgid "Upload photo"
msgstr "Ladda upp foto"
-#: ../../include/conversation.php:1109
+#: ../../include/conversation.php:1124
msgid "upload photo"
msgstr "ladda upp foto"
-#: ../../include/conversation.php:1110 ../../mod/mail.php:220
-#: ../../mod/mail.php:333 ../../mod/editpost.php:114
-#: ../../mod/editblock.php:113 ../../mod/editlayout.php:108
-#: ../../mod/editwebpage.php:145
+#: ../../include/conversation.php:1125 ../../mod/editpost.php:114
+#: ../../mod/mail.php:236 ../../mod/mail.php:350 ../../mod/editblock.php:145
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:176
msgid "Attach file"
msgstr "Bifoga fil"
-#: ../../include/conversation.php:1111
+#: ../../include/conversation.php:1126
msgid "attach file"
msgstr "bifoga fil"
-#: ../../include/conversation.php:1112 ../../mod/mail.php:221
-#: ../../mod/mail.php:334 ../../mod/editpost.php:115
-#: ../../mod/editblock.php:114 ../../mod/editlayout.php:109
-#: ../../mod/editwebpage.php:146
+#: ../../include/conversation.php:1127 ../../mod/editpost.php:115
+#: ../../mod/mail.php:237 ../../mod/mail.php:351 ../../mod/editblock.php:146
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:177
msgid "Insert web link"
msgstr "Infoga webblänk"
-#: ../../include/conversation.php:1113
+#: ../../include/conversation.php:1128
msgid "web link"
msgstr "webblänk"
-#: ../../include/conversation.php:1114
+#: ../../include/conversation.php:1129
msgid "Insert video link"
msgstr "Infoga videolänk"
-#: ../../include/conversation.php:1115
+#: ../../include/conversation.php:1130
msgid "video link"
msgstr "videolänk"
-#: ../../include/conversation.php:1116
+#: ../../include/conversation.php:1131
msgid "Insert audio link"
msgstr "Infoga ljudlänk"
-#: ../../include/conversation.php:1117
+#: ../../include/conversation.php:1132
msgid "audio link"
msgstr "ljudlänk"
-#: ../../include/conversation.php:1118 ../../mod/editpost.php:119
-#: ../../mod/editblock.php:118 ../../mod/editlayout.php:113
-#: ../../mod/editwebpage.php:150
+#: ../../include/conversation.php:1133 ../../mod/editpost.php:119
+#: ../../mod/editblock.php:150 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:181
msgid "Set your location"
msgstr "Ange din plats"
-#: ../../include/conversation.php:1119
+#: ../../include/conversation.php:1134
msgid "set location"
msgstr "ange plats"
-#: ../../include/conversation.php:1120 ../../mod/editpost.php:120
-#: ../../mod/editblock.php:119 ../../mod/editlayout.php:114
-#: ../../mod/editwebpage.php:151
+#: ../../include/conversation.php:1135 ../../mod/editpost.php:120
+#: ../../mod/editblock.php:151 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:182
msgid "Clear browser location"
msgstr "Rensa webbläsarplats"
-#: ../../include/conversation.php:1121
+#: ../../include/conversation.php:1136
msgid "clear location"
msgstr "rensa plats"
-#: ../../include/conversation.php:1123 ../../mod/editpost.php:132
-#: ../../mod/editblock.php:132 ../../mod/editlayout.php:126
-#: ../../mod/editwebpage.php:167
-msgid "Set title"
-msgstr "Ange titel"
-
-#: ../../include/conversation.php:1126 ../../mod/editpost.php:134
-#: ../../mod/editblock.php:135 ../../mod/editlayout.php:129
-#: ../../mod/editwebpage.php:169
-msgid "Categories (comma-separated list)"
-msgstr "Kategorier (kommaseparerad lista)"
-
-#: ../../include/conversation.php:1128 ../../mod/editpost.php:122
-#: ../../mod/editblock.php:121 ../../mod/editlayout.php:116
-#: ../../mod/editwebpage.php:153
+#: ../../include/conversation.php:1138 ../../mod/editpost.php:132
+#: ../../mod/editblock.php:164 ../../mod/editlayout.php:159
+#: ../../mod/editwebpage.php:198
+msgid "Title (optional)"
+msgstr "Titel (frivilligt)"
+
+#: ../../include/conversation.php:1141 ../../mod/editpost.php:134
+#: ../../mod/editblock.php:167 ../../mod/editlayout.php:162
+#: ../../mod/editwebpage.php:200
+msgid "Categories (optional, comma-separated list)"
+msgstr "Kategorier (frivilligt, kommaseparerad lista)"
+
+#: ../../include/conversation.php:1143 ../../mod/editpost.php:122
+#: ../../mod/editblock.php:153 ../../mod/editlayout.php:149
+#: ../../mod/editwebpage.php:184
msgid "Permission settings"
msgstr "Behörighetsinställningar"
-#: ../../include/conversation.php:1129
+#: ../../include/conversation.php:1144
msgid "permissions"
msgstr "behörighet"
-#: ../../include/conversation.php:1136 ../../mod/editpost.php:129
-#: ../../mod/editblock.php:129 ../../mod/editlayout.php:123
-#: ../../mod/editwebpage.php:162
+#: ../../include/conversation.php:1151 ../../mod/editpost.php:129
+#: ../../mod/editblock.php:161 ../../mod/editlayout.php:156
+#: ../../mod/editwebpage.php:193
msgid "Public post"
msgstr "Offentligt inlägg"
-#: ../../include/conversation.php:1138 ../../mod/editpost.php:135
-#: ../../mod/editblock.php:136 ../../mod/editlayout.php:130
-#: ../../mod/editwebpage.php:170
+#: ../../include/conversation.php:1153 ../../mod/editpost.php:135
+#: ../../mod/editblock.php:168 ../../mod/editlayout.php:163
+#: ../../mod/editwebpage.php:201
msgid "Example: bob@example.com, mary@example.com"
msgstr "Exempel: bob@example.com, mary@example.com"
-#: ../../include/conversation.php:1151 ../../mod/mail.php:226
-#: ../../mod/mail.php:339 ../../mod/editpost.php:146
-#: ../../mod/editblock.php:146 ../../mod/editlayout.php:140
-#: ../../mod/editwebpage.php:180
+#: ../../include/conversation.php:1166 ../../mod/editpost.php:146
+#: ../../mod/mail.php:242 ../../mod/mail.php:356 ../../mod/editblock.php:178
+#: ../../mod/editlayout.php:173 ../../mod/editwebpage.php:210
msgid "Set expiration date"
msgstr "Ange utgångsdatum"
-#: ../../include/conversation.php:1153 ../../include/ItemObject.php:560
-#: ../../mod/mail.php:228 ../../mod/mail.php:341 ../../mod/editpost.php:148
+#: ../../include/conversation.php:1168 ../../include/ItemObject.php:641
+#: ../../mod/editpost.php:148 ../../mod/mail.php:244 ../../mod/mail.php:358
msgid "Encrypt text"
msgstr "Kryptera text"
-#: ../../include/conversation.php:1155 ../../mod/editpost.php:150
+#: ../../include/conversation.php:1170 ../../mod/events.php:580
+#: ../../mod/editpost.php:150
msgid "OK"
msgstr "OK"
-#: ../../include/conversation.php:1156 ../../mod/settings.php:516
-#: ../../mod/settings.php:542 ../../mod/editpost.php:151
-#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117
+#: ../../include/conversation.php:1171 ../../mod/settings.php:566
+#: ../../mod/settings.php:592 ../../mod/events.php:579
+#: ../../mod/editpost.php:151 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
msgid "Cancel"
msgstr "Avbryt"
-#: ../../include/conversation.php:1395
+#: ../../include/conversation.php:1415
msgid "Discover"
msgstr "Upptäck"
-#: ../../include/conversation.php:1398
+#: ../../include/conversation.php:1418
msgid "Imported public streams"
msgstr "Importerade offentliga strömmar"
-#: ../../include/conversation.php:1403
+#: ../../include/conversation.php:1423
msgid "Commented Order"
msgstr "Kommentarsordning"
-#: ../../include/conversation.php:1406
+#: ../../include/conversation.php:1426
msgid "Sort by Comment Date"
msgstr "Ordna efter kommentarsdatum"
-#: ../../include/conversation.php:1410
+#: ../../include/conversation.php:1430
msgid "Posted Order"
msgstr "Inläggsordning"
-#: ../../include/conversation.php:1413
+#: ../../include/conversation.php:1433
msgid "Sort by Post Date"
msgstr "Ordna efter när inlägget skrevs"
-#: ../../include/conversation.php:1418
+#: ../../include/conversation.php:1438 ../../include/widgets.php:94
msgid "Personal"
msgstr "Personligt"
-#: ../../include/conversation.php:1421
+#: ../../include/conversation.php:1441
msgid "Posts that mention or involve you"
msgstr "Inlägg som nämner eller berör dig"
-#: ../../include/conversation.php:1427 ../../mod/menu.php:61
-#: ../../mod/connections.php:211 ../../mod/connections.php:223
+#: ../../include/conversation.php:1447 ../../mod/connections.php:211
+#: ../../mod/connections.php:224 ../../mod/menu.php:80
msgid "New"
msgstr "Nytt"
-#: ../../include/conversation.php:1430
+#: ../../include/conversation.php:1450
msgid "Activity Stream - by date"
msgstr "Aktivitetsström - efter datum"
-#: ../../include/conversation.php:1436
+#: ../../include/conversation.php:1456
msgid "Starred"
msgstr "Märkt"
-#: ../../include/conversation.php:1439
+#: ../../include/conversation.php:1459
msgid "Favourite Posts"
msgstr "Favoritinlägg"
-#: ../../include/conversation.php:1446
+#: ../../include/conversation.php:1466
msgid "Spam"
msgstr "Skräp"
-#: ../../include/conversation.php:1449
+#: ../../include/conversation.php:1469
msgid "Posts flagged as SPAM"
msgstr "Inlägg markerade som SKRÄP"
-#: ../../include/conversation.php:1483 ../../mod/admin.php:890
+#: ../../include/conversation.php:1509 ../../mod/admin.php:865
msgid "Channel"
msgstr "Kanal"
-#: ../../include/conversation.php:1486
+#: ../../include/conversation.php:1512
msgid "Status Messages and Posts"
msgstr "Statusmeddelanden och inlägg"
-#: ../../include/conversation.php:1495
+#: ../../include/conversation.php:1521
msgid "About"
msgstr "Om"
-#: ../../include/conversation.php:1498
+#: ../../include/conversation.php:1524
msgid "Profile Details"
msgstr "Profildetaljer"
-#: ../../include/conversation.php:1507 ../../include/photos.php:311
-msgid "Photo Albums"
-msgstr "Fotoalbum"
+#: ../../include/conversation.php:1530 ../../include/apps.php:139
+#: ../../include/nav.php:105 ../../mod/fbrowser.php:25
+msgid "Photos"
+msgstr "Foton"
-#: ../../include/conversation.php:1516
+#: ../../include/conversation.php:1542
msgid "Files and Storage"
msgstr "Filer och lagring"
-#: ../../include/conversation.php:1525 ../../include/conversation.php:1528
+#: ../../include/conversation.php:1552 ../../include/conversation.php:1555
msgid "Chatrooms"
msgstr "Chattrum"
-#: ../../include/conversation.php:1538
-msgid "Events and Calendar"
-msgstr "Händelser och kalender"
+#: ../../include/conversation.php:1565 ../../include/apps.php:129
+#: ../../include/nav.php:117
+msgid "Bookmarks"
+msgstr "Bokmärken"
-#: ../../include/conversation.php:1546
+#: ../../include/conversation.php:1568
msgid "Saved Bookmarks"
msgstr "Sparade bokmärken"
-#: ../../include/conversation.php:1557
+#: ../../include/conversation.php:1576 ../../include/apps.php:136
+#: ../../include/nav.php:121 ../../mod/webpages.php:160
+msgid "Webpages"
+msgstr "Webbsidor"
+
+#: ../../include/conversation.php:1579
msgid "Manage Webpages"
msgstr "Hantera webbsidor"
-#: ../../include/datetime.php:43 ../../include/datetime.php:45
-msgid "Miscellaneous"
-msgstr "Övrigt"
-
-#: ../../include/datetime.php:152 ../../include/datetime.php:284
-msgid "year"
-msgstr "Ã¥r"
-
-#: ../../include/datetime.php:157 ../../include/datetime.php:285
-msgid "month"
-msgstr "månad"
-
-#: ../../include/datetime.php:162 ../../include/datetime.php:287
-msgid "day"
-msgstr "dag"
-
-#: ../../include/datetime.php:275
-msgid "never"
-msgstr "aldrig"
-
-#: ../../include/datetime.php:281
-msgid "less than a second ago"
-msgstr "mindre än en sekund sedan"
-
-#: ../../include/datetime.php:284
-msgid "years"
-msgstr "Ã¥r"
-
-#: ../../include/datetime.php:285
-msgid "months"
-msgstr "månader"
-
-#: ../../include/datetime.php:286
-msgid "week"
-msgstr "vecka"
-
-#: ../../include/datetime.php:286
-msgid "weeks"
-msgstr "veckor"
-
-#: ../../include/datetime.php:287
-msgid "days"
-msgstr "dagar"
-
-#: ../../include/datetime.php:288
-msgid "hour"
-msgstr "timme"
-
-#: ../../include/datetime.php:288
-msgid "hours"
-msgstr "timmar"
-
-#: ../../include/datetime.php:289
-msgid "minute"
-msgstr "minut"
-
-#: ../../include/datetime.php:289
-msgid "minutes"
-msgstr "minuter"
-
-#: ../../include/datetime.php:290
-msgid "second"
-msgstr "sekund"
-
-#: ../../include/datetime.php:290
-msgid "seconds"
-msgstr "sekunder"
-
-#: ../../include/datetime.php:299
-#, php-format
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s sedan"
-
-#: ../../include/dba/dba_driver.php:50
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Kan inte hitta DNS-information för databasserver '%s'"
-
-#: ../../include/bbcode.php:128 ../../include/bbcode.php:603
-#: ../../include/bbcode.php:606 ../../include/bbcode.php:611
-#: ../../include/bbcode.php:614 ../../include/bbcode.php:617
-#: ../../include/bbcode.php:620 ../../include/bbcode.php:625
-#: ../../include/bbcode.php:628 ../../include/bbcode.php:633
-#: ../../include/bbcode.php:636 ../../include/bbcode.php:639
-#: ../../include/bbcode.php:642
-msgid "Image/photo"
-msgstr "Bild/foto"
-
-#: ../../include/bbcode.php:163 ../../include/bbcode.php:653
-msgid "Encrypted content"
-msgstr "Krypterat innehåll"
-
-#: ../../include/bbcode.php:170
-msgid "QR code"
-msgstr "QR-kod"
-
-#: ../../include/bbcode.php:213
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s skrev följande %2$s %3$s"
-
-#: ../../include/bbcode.php:215
-msgid "post"
-msgstr "post"
-
-#: ../../include/bbcode.php:571 ../../include/bbcode.php:591
-msgid "$1 wrote:"
-msgstr "$1 skrev:"
-
-#: ../../include/group.php:25
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "En borttagen grupp med det här namnet återskapades. Befintliga rättigheter till saker <strong>kan</strong> gälla för den här gruppen och alla framtida medlemmar. Om det här inte är vad du avsåg, skapa i stället en annan grupp med ett annat namn."
-
-#: ../../include/group.php:223
-msgid "Default privacy group for new contacts"
-msgstr "Förvald integritetsgrupp för nya kontakter"
-
-#: ../../include/group.php:242 ../../mod/admin.php:762
-msgid "All Channels"
-msgstr "Alla kanaler"
-
-#: ../../include/group.php:264
-msgid "edit"
-msgstr "redigera"
-
-#: ../../include/group.php:285
-msgid "Collections"
-msgstr "Sammanhang"
-
-#: ../../include/group.php:286
-msgid "Edit collection"
-msgstr "Redigera sammanhang"
-
-#: ../../include/group.php:287
-msgid "Create a new collection"
-msgstr "Skapa ett nytt sammanhang"
-
-#: ../../include/group.php:288
-msgid "Channels not in any collection"
-msgstr "Kanaler utan sammanhang"
-
-#: ../../include/js_strings.php:5
-msgid "Delete this item?"
-msgstr "Ta bort den här posten?"
-
-#: ../../include/js_strings.php:6 ../../include/ItemObject.php:547
-#: ../../mod/photos.php:992 ../../mod/photos.php:1079
-msgid "Comment"
-msgstr "Kommentar"
-
-#: ../../include/js_strings.php:7 ../../include/ItemObject.php:281
-#: ../../include/contact_widgets.php:130
-msgid "show more"
-msgstr "visa fler"
-
-#: ../../include/js_strings.php:8
-msgid "show fewer"
-msgstr "visa färre"
-
-#: ../../include/js_strings.php:9
-msgid "+ Show More"
-msgstr "+ Visa fler"
-
-#: ../../include/js_strings.php:10
-msgid "- Show Less"
-msgstr "- Visa färre"
-
-#: ../../include/js_strings.php:11
-msgid "Password too short"
-msgstr "Lösenord för kort"
-
-#: ../../include/js_strings.php:12
-msgid "Passwords do not match"
-msgstr "Lösenorden stämmer inte överens"
-
-#: ../../include/js_strings.php:13 ../../mod/photos.php:39
-msgid "everybody"
-msgstr "alla"
-
-#: ../../include/js_strings.php:14
-msgid "Secret Passphrase"
-msgstr "Hemligt lösenord"
-
-#: ../../include/js_strings.php:15
-msgid "Passphrase hint"
-msgstr "Lösenordsledtråd"
-
-#: ../../include/js_strings.php:16
-msgid "Notice: Permissions have changed but have not yet been submitted."
-msgstr "Observera: Rättigheter har ändrats men har ännu inte skickats in"
-
-#: ../../include/js_strings.php:18
-msgid "timeago.prefixAgo"
-msgstr "för"
-
-#: ../../include/js_strings.php:19
-msgid "timeago.prefixFromNow"
-msgstr "om"
-
-#: ../../include/js_strings.php:20
-msgid "ago"
-msgstr "sedan"
-
-#: ../../include/js_strings.php:21
-msgid "from now"
-msgstr " "
-
-#: ../../include/js_strings.php:22
-msgid "less than a minute"
-msgstr "mindre än en minut"
-
-#: ../../include/js_strings.php:23
-msgid "about a minute"
-msgstr "ungefär en minut"
-
-#: ../../include/js_strings.php:24
-#, php-format
-msgid "%d minutes"
-msgstr "%d minuter"
-
-#: ../../include/js_strings.php:25
-msgid "about an hour"
-msgstr "ungefär en timme"
-
-#: ../../include/js_strings.php:26
-#, php-format
-msgid "about %d hours"
-msgstr "ungefär %d timmar"
-
-#: ../../include/js_strings.php:27
-msgid "a day"
-msgstr "en dag"
-
-#: ../../include/js_strings.php:28
-#, php-format
-msgid "%d days"
-msgstr "%d dagar"
-
-#: ../../include/js_strings.php:29
-msgid "about a month"
-msgstr "ungefär en månad"
-
-#: ../../include/js_strings.php:30
-#, php-format
-msgid "%d months"
-msgstr "%d månader"
-
-#: ../../include/js_strings.php:31
-msgid "about a year"
-msgstr "ungefär ett år"
-
-#: ../../include/js_strings.php:32
-#, php-format
-msgid "%d years"
-msgstr "%d år"
-
-#: ../../include/js_strings.php:33
-msgid " "
-msgstr " "
-
-#: ../../include/js_strings.php:34
-msgid "timeago.numbers"
-msgstr "timeago.numbers"
-
-#: ../../include/message.php:18
-msgid "No recipient provided."
-msgstr "Ingen mottagare angiven."
-
-#: ../../include/message.php:23
-msgid "[no subject]"
-msgstr "[inget ämne]"
-
-#: ../../include/message.php:42
-msgid "Unable to determine sender."
-msgstr "Kunde inte avgöra vem som är avsändare."
-
-#: ../../include/message.php:143
-msgid "Stored post could not be verified."
-msgstr "Den sparade posten kunde inte verifieras."
-
-#: ../../include/photo/photo_driver.php:643 ../../include/photos.php:51
-#: ../../mod/profile_photo.php:78 ../../mod/profile_photo.php:225
-#: ../../mod/profile_photo.php:336 ../../mod/photos.php:91
-#: ../../mod/photos.php:655 ../../mod/photos.php:677
-msgid "Profile Photos"
-msgstr "Profilfoton"
-
-#: ../../include/attach.php:119 ../../include/attach.php:166
-#: ../../include/attach.php:229 ../../include/attach.php:243
-#: ../../include/attach.php:283 ../../include/attach.php:297
-#: ../../include/attach.php:322 ../../include/attach.php:513
-#: ../../include/attach.php:585 ../../include/chat.php:113
-#: ../../include/photos.php:15 ../../include/items.php:3606
-#: ../../mod/common.php:35 ../../mod/events.php:140 ../../mod/thing.php:247
-#: ../../mod/thing.php:263 ../../mod/thing.php:298 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/mail.php:108 ../../mod/settings.php:492
-#: ../../mod/menu.php:44 ../../mod/webpages.php:40 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/editpost.php:13 ../../mod/bookmarks.php:46
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/delegate.php:6 ../../mod/pdledit.php:21 ../../mod/item.php:179
-#: ../../mod/item.php:187 ../../mod/item.php:860 ../../mod/mitem.php:73
-#: ../../mod/group.php:9 ../../mod/viewsrc.php:12 ../../mod/setup.php:203
-#: ../../mod/connedit.php:188 ../../mod/layouts.php:27
-#: ../../mod/layouts.php:39 ../../mod/page.php:30 ../../mod/page.php:80
-#: ../../mod/network.php:12 ../../mod/profiles.php:152
-#: ../../mod/profiles.php:453 ../../mod/sources.php:66 ../../mod/blocks.php:29
-#: ../../mod/blocks.php:44 ../../mod/chat.php:89 ../../mod/chat.php:94
-#: ../../mod/new_channel.php:66 ../../mod/new_channel.php:97
-#: ../../mod/achievements.php:27 ../../mod/editblock.php:34
-#: ../../mod/manage.php:6 ../../mod/editlayout.php:48
-#: ../../mod/profile_photo.php:187 ../../mod/profile_photo.php:200
-#: ../../mod/connections.php:169 ../../mod/notifications.php:66
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/editwebpage.php:44
-#: ../../mod/editwebpage.php:83 ../../mod/profile.php:64
-#: ../../mod/profile.php:72 ../../mod/poke.php:128 ../../mod/channel.php:89
-#: ../../mod/channel.php:193 ../../mod/channel.php:236
-#: ../../mod/fsuggest.php:78 ../../mod/filestorage.php:10
-#: ../../mod/filestorage.php:59 ../../mod/filestorage.php:75
-#: ../../mod/filestorage.php:98 ../../mod/suggest.php:26
-#: ../../mod/message.php:16 ../../mod/register.php:68 ../../mod/regmod.php:18
-#: ../../mod/authtest.php:13 ../../mod/photos.php:68 ../../mod/photos.php:526
-#: ../../mod/mood.php:119 ../../index.php:176 ../../index.php:351
-msgid "Permission denied."
-msgstr "Behörighet saknas."
-
-#: ../../include/attach.php:224 ../../include/attach.php:278
-msgid "Item was not found."
-msgstr "Posten hittades inte."
-
-#: ../../include/attach.php:335
-msgid "No source file."
-msgstr "Ingen källfil."
-
-#: ../../include/attach.php:352
-msgid "Cannot locate file to replace"
-msgstr "Kan inte hitta fil att ersätta"
-
-#: ../../include/attach.php:370
-msgid "Cannot locate file to revise/update"
-msgstr "Kan inte hitta fil att revidera/uppdatera"
-
-#: ../../include/attach.php:381
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Filen överskrider storleksbegränsningen %d"
-
-#: ../../include/attach.php:393
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Du har nått begränsningen %1$.0f megabyte utrymme för bilagor."
-
-#: ../../include/attach.php:475
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Filuppladdning misslyckades. Möjlig systembegränsning eller avbruten åtgärd."
-
-#: ../../include/attach.php:487
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Den lagrade filen kunde inte verifieras. Uppladdning misslyckad."
+#: ../../include/widgets.php:91 ../../include/nav.php:171
+#: ../../mod/apps.php:34
+msgid "Apps"
+msgstr "Appar"
-#: ../../include/attach.php:528 ../../include/attach.php:545
-msgid "Path not available."
-msgstr "Sökväg inte tillgänglig."
+#: ../../include/widgets.php:92
+msgid "System"
+msgstr "System"
-#: ../../include/attach.php:590
-msgid "Empty pathname"
-msgstr "Tom sökväg"
+#: ../../include/widgets.php:95
+msgid "Create Personal App"
+msgstr "Skapa personlig app"
-#: ../../include/attach.php:606
-msgid "duplicate filename or path"
-msgstr "filnamn eller sökväg finns redan"
+#: ../../include/widgets.php:96
+msgid "Edit Personal App"
+msgstr "Redigera personlig app"
-#: ../../include/attach.php:630
-msgid "Path not found."
-msgstr "Sökväg hittas inte."
+#: ../../include/widgets.php:138 ../../mod/suggest.php:53
+msgid "Ignore/Hide"
+msgstr "Ignorera/göm"
-#: ../../include/attach.php:674
-msgid "mkdir failed."
-msgstr "mkdir misslyckades."
+#: ../../include/widgets.php:143 ../../mod/connections.php:267
+msgid "Suggestions"
+msgstr "Förslag"
-#: ../../include/attach.php:678
-msgid "database storage failed."
-msgstr "databaslagring misslyckades."
+#: ../../include/widgets.php:144
+msgid "See more..."
+msgstr "Se fler..."
-#: ../../include/bookmarks.php:42
+#: ../../include/widgets.php:166
#, php-format
-msgid "%1$s's bookmarks"
-msgstr "%1$ss bokmärken"
-
-#: ../../include/acl_selectors.php:238
-msgid "Visible to everybody"
-msgstr "Synlig för alla"
-
-#: ../../include/acl_selectors.php:239
-msgid "Show"
-msgstr "Visa"
-
-#: ../../include/acl_selectors.php:240
-msgid "Don't show"
-msgstr "Visa inte"
-
-#: ../../include/acl_selectors.php:246 ../../mod/chat.php:206
-#: ../../mod/filestorage.php:124 ../../mod/photos.php:606
-#: ../../mod/photos.php:949
-msgid "Permissions"
-msgstr "Behörighet"
-
-#: ../../include/acl_selectors.php:247
-msgid "Close"
-msgstr "Stäng"
-
-#: ../../include/identity.php:30 ../../mod/item.php:1232
-msgid "Unable to obtain identity information from database"
-msgstr "Kunde inte hämta från databasen"
-
-#: ../../include/identity.php:63
-msgid "Empty name"
-msgstr "Tomt namn"
-
-#: ../../include/identity.php:65
-msgid "Name too long"
-msgstr "För långt namn"
-
-#: ../../include/identity.php:166
-msgid "No account identifier"
-msgstr "Ingen kontoidentifierare"
-
-#: ../../include/identity.php:176
-msgid "Nickname is required."
-msgstr "Smeknamn måste anges."
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Du har %1$.0f av %2$.0f tillåtna kontakter."
-#: ../../include/identity.php:190
-msgid "Reserved nickname. Please choose another."
-msgstr "Reserverat smeknamn. Välj ett annat."
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr "Lägg till ny kontakt"
-#: ../../include/identity.php:195
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Smeknamnet innehåller otillåtna tecken eller är redan upptaget på den här servern."
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr "Ange kanaladressen"
-#: ../../include/identity.php:258
-msgid "Unable to retrieve created identity"
-msgstr "Kunde inte hämta den skapade identiteten"
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Exempel: bob@example.com, http://example.com/barbara"
-#: ../../include/identity.php:317
-msgid "Default Profile"
-msgstr "Standardprofil"
+#: ../../include/widgets.php:190
+msgid "Notes"
+msgstr "Anteckningar"
-#: ../../include/identity.php:509
-msgid "Requested channel is not available."
-msgstr "Den begärda kanalen är inte tillgänglig"
+#: ../../include/widgets.php:264
+msgid "Remove term"
+msgstr "Ta bort uttryck"
-#: ../../include/identity.php:557 ../../mod/webpages.php:8
-#: ../../mod/connect.php:13 ../../mod/layouts.php:8 ../../mod/blocks.php:10
-#: ../../mod/achievements.php:8 ../../mod/profile.php:16
-#: ../../mod/filestorage.php:40
-msgid "Requested profile is not available."
-msgstr "Begärd profil är inte tillgänglig."
+#: ../../include/widgets.php:347
+msgid "Archives"
+msgstr "Arkiv"
-#: ../../include/identity.php:689 ../../mod/profiles.php:603
-msgid "Change profile photo"
-msgstr "Bytprofilfoto"
+#: ../../include/widgets.php:425
+msgid "Refresh"
+msgstr "Ladda om"
-#: ../../include/identity.php:695
-msgid "Profiles"
-msgstr "Profiler"
+#: ../../include/widgets.php:426 ../../mod/connedit.php:506
+msgid "Me"
+msgstr "Mig själv"
-#: ../../include/identity.php:695
-msgid "Manage/edit profiles"
-msgstr "Hantera/redigera profiler"
+#: ../../include/widgets.php:427 ../../mod/connedit.php:509
+msgid "Best Friends"
+msgstr "Bästa vänner"
-#: ../../include/identity.php:696 ../../mod/profiles.php:604
-msgid "Create New Profile"
-msgstr "Skapa ny profil"
+#: ../../include/widgets.php:429
+msgid "Co-workers"
+msgstr "Kollegor"
-#: ../../include/identity.php:699
-msgid "Edit Profile"
-msgstr "Redigera profil"
+#: ../../include/widgets.php:430 ../../mod/connedit.php:511
+msgid "Former Friends"
+msgstr "Tidigare vänner"
-#: ../../include/identity.php:710 ../../mod/profiles.php:615
-msgid "Profile Image"
-msgstr "Profilbild"
+#: ../../include/widgets.php:431 ../../mod/connedit.php:512
+msgid "Acquaintances"
+msgstr "Bekanta"
-#: ../../include/identity.php:713 ../../mod/profiles.php:618
-msgid "visible to everybody"
-msgstr "synlig för alla"
+#: ../../include/widgets.php:432
+msgid "Everybody"
+msgstr "Alla"
-#: ../../include/identity.php:714 ../../mod/profiles.php:619
-msgid "Edit visibility"
-msgstr "Redigera synlighet"
+#: ../../include/widgets.php:466
+msgid "Account settings"
+msgstr "Kontoinställningar"
-#: ../../include/identity.php:728 ../../include/identity.php:952
-#: ../../mod/directory.php:163
-msgid "Gender:"
-msgstr "Kön:"
+#: ../../include/widgets.php:472
+msgid "Channel settings"
+msgstr "Kanalinställningar"
-#: ../../include/identity.php:729 ../../include/identity.php:972
-#: ../../mod/directory.php:165
-msgid "Status:"
-msgstr "Status:"
+#: ../../include/widgets.php:478
+msgid "Additional features"
+msgstr "Tilläggsfunktioner"
-#: ../../include/identity.php:730 ../../include/identity.php:983
-#: ../../mod/directory.php:167
-msgid "Homepage:"
-msgstr "Hemsida:"
+#: ../../include/widgets.php:484
+msgid "Feature settings"
+msgstr "Funktionsinställningar"
-#: ../../include/identity.php:731 ../../mod/dirprofile.php:157
-msgid "Online Now"
-msgstr "Online nu"
+#: ../../include/widgets.php:490
+msgid "Display settings"
+msgstr "Utseende"
-#: ../../include/identity.php:796 ../../include/identity.php:876
-#: ../../mod/ping.php:262
-msgid "g A l F d"
-msgstr "l j F \\k\\l G"
+#: ../../include/widgets.php:496
+msgid "Connected apps"
+msgstr "Anslutna appar"
-#: ../../include/identity.php:797 ../../include/identity.php:877
-msgid "F d"
-msgstr "j F"
+#: ../../include/widgets.php:502
+msgid "Export channel"
+msgstr "Exportera kanal"
-#: ../../include/identity.php:842 ../../include/identity.php:917
-#: ../../mod/ping.php:284
-msgid "[today]"
-msgstr "[i dag]"
+#: ../../include/widgets.php:511 ../../mod/connedit.php:539
+msgid "Connection Default Permissions"
+msgstr "Standardbehörighet för kontakt"
-#: ../../include/identity.php:854
-msgid "Birthday Reminders"
-msgstr "Födelsedagspåminnelser"
+#: ../../include/widgets.php:519
+msgid "Premium Channel Settings"
+msgstr "Inställningar för premiumkanal"
-#: ../../include/identity.php:855
-msgid "Birthdays this week:"
-msgstr "Födelsedagar den här veckan:"
+#: ../../include/widgets.php:535 ../../include/apps.php:134
+#: ../../include/nav.php:218 ../../mod/admin.php:951 ../../mod/admin.php:1156
+msgid "Settings"
+msgstr "Inställningar"
-#: ../../include/identity.php:910
-msgid "[No description]"
-msgstr "[Ingen beskrivning]"
+#: ../../include/widgets.php:548 ../../mod/mail.php:125
+#: ../../mod/message.php:31
+msgid "Messages"
+msgstr "Meddelanden"
-#: ../../include/identity.php:928
-msgid "Event Reminders"
-msgstr "Händelsepåminnelser"
+#: ../../include/widgets.php:551
+msgid "Check Mail"
+msgstr "Hämta meddelanden"
-#: ../../include/identity.php:929
-msgid "Events this week:"
-msgstr "Händelser den här veckan:"
+#: ../../include/widgets.php:556 ../../include/nav.php:209
+msgid "New Message"
+msgstr "Nytt meddelande"
-#: ../../include/identity.php:942 ../../include/identity.php:1026
-#: ../../mod/profperm.php:107
-msgid "Profile"
-msgstr "Profil"
+#: ../../include/widgets.php:634
+msgid "Chat Rooms"
+msgstr "Chattrum"
-#: ../../include/identity.php:950 ../../mod/settings.php:937
-msgid "Full Name:"
-msgstr "Fullständigt namn:"
+#: ../../include/widgets.php:654
+msgid "Bookmarked Chatrooms"
+msgstr "Bokmärkta chattrum"
-#: ../../include/identity.php:957
-msgid "j F, Y"
-msgstr "j F Y"
+#: ../../include/widgets.php:674
+msgid "Suggested Chatrooms"
+msgstr "Föreslagna chattrum"
-#: ../../include/identity.php:958
-msgid "j F"
-msgstr "j F"
+#: ../../include/widgets.php:801 ../../include/widgets.php:859
+msgid "photo/image"
+msgstr "foto/bild"
-#: ../../include/identity.php:965
-msgid "Birthday:"
-msgstr "Födelsedag:"
+#: ../../include/zot.php:664
+msgid "Invalid data packet"
+msgstr "Ogiltigt datapaket"
-#: ../../include/identity.php:969
-msgid "Age:"
-msgstr "Ã…lder:"
+#: ../../include/zot.php:680
+msgid "Unable to verify channel signature"
+msgstr "Kunde inte bekräfta kanalsignatur"
-#: ../../include/identity.php:978
+#: ../../include/zot.php:1829
#, php-format
-msgid "for %1$d %2$s"
-msgstr "i %1$d %2$s"
-
-#: ../../include/identity.php:981 ../../mod/profiles.php:526
-msgid "Sexual Preference:"
-msgstr "Sexuell preferens:"
-
-#: ../../include/identity.php:985 ../../mod/profiles.php:528
-msgid "Hometown:"
-msgstr "Hemort:"
-
-#: ../../include/identity.php:987
-msgid "Tags:"
-msgstr "Taggar:"
-
-#: ../../include/identity.php:989 ../../mod/profiles.php:529
-msgid "Political Views:"
-msgstr "Politisk åskådning:"
-
-#: ../../include/identity.php:991
-msgid "Religion:"
-msgstr "Religion:"
-
-#: ../../include/identity.php:993 ../../mod/directory.php:169
-msgid "About:"
-msgstr "Om:"
-
-#: ../../include/identity.php:995
-msgid "Hobbies/Interests:"
-msgstr "Fritidssysselsättning/intressen:"
-
-#: ../../include/identity.php:997 ../../mod/profiles.php:532
-msgid "Likes:"
-msgstr "Gillar:"
-
-#: ../../include/identity.php:999 ../../mod/profiles.php:533
-msgid "Dislikes:"
-msgstr "Ogillar:"
-
-#: ../../include/identity.php:1002
-msgid "Contact information and Social Networks:"
-msgstr "Kontaktinformation och sociala nätverk:"
-
-#: ../../include/identity.php:1004
-msgid "My other channels:"
-msgstr "Mina andra kanaler:"
-
-#: ../../include/identity.php:1006
-msgid "Musical interests:"
-msgstr "Musikintressen:"
-
-#: ../../include/identity.php:1008
-msgid "Books, literature:"
-msgstr "Böcker, litteratur:"
-
-#: ../../include/identity.php:1010
-msgid "Television:"
-msgstr "Tv:"
-
-#: ../../include/identity.php:1012
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film/dans/kultur/underhållning:"
-
-#: ../../include/identity.php:1014
-msgid "Love/Romance:"
-msgstr "Kärlek/romantik:"
-
-#: ../../include/identity.php:1016
-msgid "Work/employment:"
-msgstr "Arbete/sysselsättning:"
+msgid "Unable to verify site signature for %s"
+msgstr "Kunde inte bekräfta signatur för servern %s"
-#: ../../include/identity.php:1018
-msgid "School/education:"
-msgstr "Skola/utbildning:"
+#: ../../include/ItemObject.php:130
+msgid "Save to Folder"
+msgstr "Spara i mapp"
-#: ../../include/ItemObject.php:96 ../../include/page_widgets.php:8
-#: ../../include/menu.php:42 ../../mod/thing.php:235
-#: ../../mod/settings.php:577 ../../mod/menu.php:59 ../../mod/webpages.php:119
-#: ../../mod/editpost.php:112 ../../mod/layouts.php:112
-#: ../../mod/blocks.php:94 ../../mod/editblock.php:111
-#: ../../mod/editlayout.php:106 ../../mod/connections.php:391
-#: ../../mod/editwebpage.php:143 ../../mod/filestorage.php:170
-msgid "Edit"
-msgstr "Redigera"
+#: ../../include/ItemObject.php:142 ../../include/ItemObject.php:154
+#: ../../mod/photos.php:1023 ../../mod/photos.php:1035
+msgid "View all"
+msgstr "Visa alla"
-#: ../../include/ItemObject.php:118
-msgid "save to folder"
-msgstr "spara i mapp"
+#: ../../include/ItemObject.php:151 ../../mod/photos.php:1032
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "ogillar detta"
+msgstr[1] "ogillar detta"
-#: ../../include/ItemObject.php:146
-msgid "add star"
-msgstr "lägg till märke"
+#: ../../include/ItemObject.php:179
+msgid "Add Star"
+msgstr "Märk"
-#: ../../include/ItemObject.php:147
-msgid "remove star"
-msgstr "ta bort märke"
+#: ../../include/ItemObject.php:180
+msgid "Remove Star"
+msgstr "Ta bort märkning"
-#: ../../include/ItemObject.php:148
-msgid "toggle star status"
-msgstr "växla märke på/av"
+#: ../../include/ItemObject.php:181
+msgid "Toggle Star Status"
+msgstr "Växla märkning"
-#: ../../include/ItemObject.php:152
+#: ../../include/ItemObject.php:185
msgid "starred"
msgstr "märkt"
-#: ../../include/ItemObject.php:169
-msgid "add tag"
-msgstr "lägg till tagg"
+#: ../../include/ItemObject.php:203
+msgid "Add Tag"
+msgstr "Lägg till en tagg"
-#: ../../include/ItemObject.php:184 ../../mod/photos.php:971
+#: ../../include/ItemObject.php:221 ../../mod/photos.php:975
msgid "I like this (toggle)"
msgstr "Jag gillar det här (växla)"
-#: ../../include/ItemObject.php:184 ../../include/taxonomy.php:254
-msgid "like"
-msgstr "gilla"
-
-#: ../../include/ItemObject.php:185 ../../mod/photos.php:972
+#: ../../include/ItemObject.php:222 ../../mod/photos.php:976
msgid "I don't like this (toggle)"
msgstr "Jag gillar inte det här (växla)"
-#: ../../include/ItemObject.php:185 ../../include/taxonomy.php:255
-msgid "dislike"
-msgstr "ogilla"
-
-#: ../../include/ItemObject.php:187
-msgid "Share this"
+#: ../../include/ItemObject.php:226
+msgid "Share This"
msgstr "Dela det här"
-#: ../../include/ItemObject.php:187
+#: ../../include/ItemObject.php:226
msgid "share"
msgstr "dela"
-#: ../../include/ItemObject.php:211 ../../include/ItemObject.php:212
+#: ../../include/ItemObject.php:243
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d kommentar"
+msgstr[1] "%d kommentarer"
+
+#: ../../include/ItemObject.php:256 ../../include/ItemObject.php:257
#, php-format
msgid "View %s's profile - %s"
msgstr "Visa %ss profil - %s"
-#: ../../include/ItemObject.php:213
+#: ../../include/ItemObject.php:260
msgid "to"
msgstr "till"
-#: ../../include/ItemObject.php:214
+#: ../../include/ItemObject.php:261
msgid "via"
msgstr "via"
-#: ../../include/ItemObject.php:215
+#: ../../include/ItemObject.php:262
msgid "Wall-to-Wall"
msgstr "Vägg-till-vägg"
-#: ../../include/ItemObject.php:216
+#: ../../include/ItemObject.php:263
msgid "via Wall-To-Wall:"
msgstr "via vägg-till-vägg"
-#: ../../include/ItemObject.php:250
-msgid "Bookmark Links"
-msgstr "Bokmärk länkar"
+#: ../../include/ItemObject.php:299
+msgid "Save Bookmarks"
+msgstr "Spara bokmärken"
-#: ../../include/ItemObject.php:280
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d kommentar"
-msgstr[1] "%d kommentarer"
+#: ../../include/ItemObject.php:300
+msgid "Add to Calendar"
+msgstr "Lägg till kalendern"
+
+#: ../../include/ItemObject.php:309
+msgid "Mark all seen"
+msgstr "Märk alla som lästa"
-#: ../../include/ItemObject.php:545 ../../mod/photos.php:990
-#: ../../mod/photos.php:1077
+#: ../../include/ItemObject.php:314 ../../mod/photos.php:1143
+msgctxt "noun"
+msgid "Likes"
+msgstr "gillar detta"
+
+#: ../../include/ItemObject.php:315 ../../mod/photos.php:1144
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "ogillar detta"
+
+#: ../../include/ItemObject.php:345 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] visa alla"
+
+#: ../../include/ItemObject.php:626 ../../mod/photos.php:994
+#: ../../mod/photos.php:1104
msgid "This is you"
msgstr "Det här är du"
-#: ../../include/ItemObject.php:548 ../../mod/events.php:472
-#: ../../mod/thing.php:283 ../../mod/thing.php:326 ../../mod/invite.php:156
-#: ../../mod/mail.php:223 ../../mod/mail.php:335 ../../mod/settings.php:515
-#: ../../mod/settings.php:627 ../../mod/settings.php:655
-#: ../../mod/settings.php:679 ../../mod/settings.php:751
-#: ../../mod/settings.php:929 ../../mod/connect.php:92
-#: ../../mod/pdledit.php:58 ../../mod/group.php:81 ../../mod/admin.php:441
-#: ../../mod/admin.php:750 ../../mod/admin.php:884 ../../mod/admin.php:1017
-#: ../../mod/admin.php:1216 ../../mod/admin.php:1303 ../../mod/setup.php:307
-#: ../../mod/setup.php:350 ../../mod/connedit.php:443
-#: ../../mod/profiles.php:506 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/chat.php:175 ../../mod/chat.php:208
-#: ../../mod/import.php:387 ../../mod/poke.php:166 ../../mod/fsuggest.php:108
-#: ../../mod/filestorage.php:131 ../../mod/photos.php:565
-#: ../../mod/photos.php:670 ../../mod/photos.php:953 ../../mod/photos.php:993
-#: ../../mod/photos.php:1080 ../../mod/mood.php:142
-#: ../../view/theme/redbasic/php/config.php:95
-#: ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/blogga/view/theme/blog/config.php:67
-#: ../../view/theme/blogga/php/config.php:67
+#: ../../include/ItemObject.php:628 ../../include/js_strings.php:6
+#: ../../mod/photos.php:996 ../../mod/photos.php:1106
+msgid "Comment"
+msgstr "Kommentera"
+
+#: ../../include/ItemObject.php:629 ../../mod/mood.php:135
+#: ../../mod/settings.php:565 ../../mod/settings.php:677
+#: ../../mod/settings.php:706 ../../mod/settings.php:730
+#: ../../mod/settings.php:812 ../../mod/settings.php:1004
+#: ../../mod/group.php:81 ../../mod/poke.php:166 ../../mod/setup.php:313
+#: ../../mod/setup.php:358 ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/events.php:598 ../../mod/chat.php:177 ../../mod/chat.php:211
+#: ../../mod/connedit.php:556 ../../mod/mail.php:352 ../../mod/photos.php:594
+#: ../../mod/photos.php:671 ../../mod/photos.php:957 ../../mod/photos.php:997
+#: ../../mod/photos.php:1107 ../../mod/pdledit.php:58 ../../mod/thing.php:284
+#: ../../mod/thing.php:327 ../../mod/fsuggest.php:108
+#: ../../mod/filestorage.php:146 ../../mod/connect.php:93
+#: ../../mod/locs.php:99 ../../mod/import.php:504 ../../mod/profiles.php:633
+#: ../../mod/admin.php:412 ../../mod/admin.php:723 ../../mod/admin.php:859
+#: ../../mod/admin.php:992 ../../mod/admin.php:1191 ../../mod/admin.php:1278
+#: ../../mod/invite.php:142 ../../mod/xchan.php:11 ../../mod/appman.php:99
+#: ../../mod/poll.php:68 ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:99
msgid "Submit"
msgstr "Skicka"
-#: ../../include/ItemObject.php:549
+#: ../../include/ItemObject.php:630
msgid "Bold"
msgstr "Fet"
-#: ../../include/ItemObject.php:550
+#: ../../include/ItemObject.php:631
msgid "Italic"
msgstr "Kursiv"
-#: ../../include/ItemObject.php:551
+#: ../../include/ItemObject.php:632
msgid "Underline"
msgstr "Understruken"
-#: ../../include/ItemObject.php:552
+#: ../../include/ItemObject.php:633
msgid "Quote"
msgstr "Citat"
-#: ../../include/ItemObject.php:553
+#: ../../include/ItemObject.php:634
msgid "Code"
msgstr "Kod"
-#: ../../include/ItemObject.php:554
+#: ../../include/ItemObject.php:635
msgid "Image"
msgstr "Bild"
-#: ../../include/ItemObject.php:555
+#: ../../include/ItemObject.php:636
msgid "Link"
msgstr "Länk"
-#: ../../include/ItemObject.php:556
+#: ../../include/ItemObject.php:637
msgid "Video"
msgstr "Video"
-#: ../../include/reddav.php:1069
-msgid "Edit File properties"
-msgstr "Redigera filegenskaper"
-
-#: ../../include/network.php:652
-msgid "view full size"
-msgstr "visa full storlek"
-
-#: ../../include/text.php:320
-msgid "prev"
-msgstr "föregående"
-
-#: ../../include/text.php:322
-msgid "first"
-msgstr "första"
+#: ../../include/datetime.php:43 ../../include/datetime.php:45
+msgid "Miscellaneous"
+msgstr "Övrigt"
-#: ../../include/text.php:351
-msgid "last"
-msgstr "sista"
+#: ../../include/datetime.php:142
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "Ã…Ã…Ã…Ã…-MM-DD eller MM-DD"
-#: ../../include/text.php:354
-msgid "next"
-msgstr "nästa"
+#: ../../include/datetime.php:259
+msgid "never"
+msgstr "aldrig"
-#: ../../include/text.php:366
-msgid "older"
-msgstr "äldre"
+#: ../../include/datetime.php:265
+msgid "less than a second ago"
+msgstr "mindre än en sekund sedan"
-#: ../../include/text.php:368
-msgid "newer"
-msgstr "nyare"
+#: ../../include/datetime.php:268
+msgid "year"
+msgstr "Ã¥r"
-#: ../../include/text.php:719
-msgid "No connections"
-msgstr "Inga kontakter"
+#: ../../include/datetime.php:268
+msgid "years"
+msgstr "Ã¥r"
-#: ../../include/text.php:732
-#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d kontakt"
-msgstr[1] "%d kontakter"
+#: ../../include/datetime.php:269
+msgid "month"
+msgstr "månad"
-#: ../../include/text.php:744
-msgid "View Connections"
-msgstr "Visa kontakter"
+#: ../../include/datetime.php:269
+msgid "months"
+msgstr "månader"
-#: ../../include/text.php:885
-msgid "poke"
-msgstr "puffa"
+#: ../../include/datetime.php:270
+msgid "week"
+msgstr "vecka"
-#: ../../include/text.php:886
-msgid "ping"
-msgstr "pinga"
+#: ../../include/datetime.php:270
+msgid "weeks"
+msgstr "veckor"
-#: ../../include/text.php:886
-msgid "pinged"
-msgstr "pingade"
+#: ../../include/datetime.php:271
+msgid "day"
+msgstr "dag"
-#: ../../include/text.php:887
-msgid "prod"
-msgstr "stöt till"
+#: ../../include/datetime.php:271
+msgid "days"
+msgstr "dagar"
-#: ../../include/text.php:887
-msgid "prodded"
-msgstr "stötte till"
+#: ../../include/datetime.php:272
+msgid "hour"
+msgstr "timme"
-#: ../../include/text.php:888
-msgid "slap"
-msgstr "daska till"
+#: ../../include/datetime.php:272
+msgid "hours"
+msgstr "timmar"
-#: ../../include/text.php:888
-msgid "slapped"
-msgstr "daskade till"
+#: ../../include/datetime.php:273
+msgid "minute"
+msgstr "minut"
-#: ../../include/text.php:889
-msgid "finger"
-msgstr "fingra på"
+#: ../../include/datetime.php:273
+msgid "minutes"
+msgstr "minuter"
-#: ../../include/text.php:889
-msgid "fingered"
-msgstr "fingrade på"
+#: ../../include/datetime.php:274
+msgid "second"
+msgstr "sekund"
-#: ../../include/text.php:890
-msgid "rebuff"
-msgstr "stöt tillbaka"
+#: ../../include/datetime.php:274
+msgid "seconds"
+msgstr "sekunder"
-#: ../../include/text.php:890
-msgid "rebuffed"
-msgstr "stötte tillbaks"
+#: ../../include/datetime.php:283
+#, php-format
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s sedan"
-#: ../../include/text.php:902
-msgid "happy"
-msgstr "glad"
+#: ../../include/datetime.php:491
+#, php-format
+msgid "%1$s's birthday"
+msgstr "%1$ss födelsedag"
-#: ../../include/text.php:903
-msgid "sad"
-msgstr "ledsen"
+#: ../../include/datetime.php:492
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Grattis på födelsedagen %1$s"
-#: ../../include/text.php:904
-msgid "mellow"
-msgstr "lugn"
+#: ../../include/apps.php:128
+msgid "Site Admin"
+msgstr "Serveradministrator"
-#: ../../include/text.php:905
-msgid "tired"
-msgstr "trött"
+#: ../../include/apps.php:130
+msgid "Address Book"
+msgstr "Adressbok"
-#: ../../include/text.php:906
-msgid "perky"
-msgstr "uppåt"
+#: ../../include/apps.php:131 ../../include/nav.php:125 ../../boot.php:1540
+msgid "Login"
+msgstr "Logga in"
-#: ../../include/text.php:907
-msgid "angry"
-msgstr "arg"
+#: ../../include/apps.php:132 ../../include/nav.php:216
+#: ../../mod/manage.php:148
+msgid "Channel Manager"
+msgstr "Kanalhanterare"
-#: ../../include/text.php:908
-msgid "stupified"
-msgstr "virrig"
+#: ../../include/apps.php:133 ../../include/nav.php:190
+msgid "Matrix"
+msgstr "Matris"
-#: ../../include/text.php:909
-msgid "puzzled"
-msgstr "förbryllad"
+#: ../../include/apps.php:137 ../../include/nav.php:193
+msgid "Channel Home"
+msgstr "Kanalhem"
-#: ../../include/text.php:910
-msgid "interested"
-msgstr "intresserad"
+#: ../../include/apps.php:140 ../../include/nav.php:212
+#: ../../mod/events.php:442
+msgid "Events"
+msgstr "Händelser"
-#: ../../include/text.php:911
-msgid "bitter"
-msgstr "bitter"
+#: ../../include/apps.php:141 ../../include/nav.php:176
+#: ../../mod/directory.php:321
+msgid "Directory"
+msgstr "Katalog"
-#: ../../include/text.php:912
-msgid "cheerful"
-msgstr "munter"
+#: ../../include/apps.php:142 ../../include/nav.php:168 ../../mod/help.php:58
+#: ../../mod/help.php:63
+msgid "Help"
+msgstr "Hjälp"
-#: ../../include/text.php:913
-msgid "alive"
-msgstr "pigg"
+#: ../../include/apps.php:143 ../../include/nav.php:204
+msgid "Mail"
+msgstr "Privat meddelande"
-#: ../../include/text.php:914
-msgid "annoyed"
-msgstr "irriterad"
+#: ../../include/apps.php:144 ../../mod/mood.php:131
+msgid "Mood"
+msgstr "Sinnesstämning"
-#: ../../include/text.php:915
-msgid "anxious"
-msgstr "bekymrad"
+#: ../../include/apps.php:146 ../../include/nav.php:111
+msgid "Chat"
+msgstr "Chatt"
-#: ../../include/text.php:916
-msgid "cranky"
-msgstr "grinig"
+#: ../../include/apps.php:148
+msgid "Probe"
+msgstr "Sond"
-#: ../../include/text.php:917
-msgid "disturbed"
-msgstr "besvärad"
+#: ../../include/apps.php:149
+msgid "Suggest"
+msgstr "Föreslå"
-#: ../../include/text.php:918
-msgid "frustrated"
-msgstr "frustrerad"
+#: ../../include/apps.php:150
+msgid "Random Channel"
+msgstr "Slumpvald kanal"
-#: ../../include/text.php:919
-msgid "motivated"
-msgstr "motiverad"
+#: ../../include/apps.php:151
+msgid "Invite"
+msgstr "Bjud in"
-#: ../../include/text.php:920
-msgid "relaxed"
-msgstr "avslappnad"
+#: ../../include/apps.php:152
+msgid "Features"
+msgstr "Funktioner"
-#: ../../include/text.php:921
-msgid "surprised"
-msgstr "förvånad"
+#: ../../include/apps.php:153
+msgid "Language"
+msgstr "Språk"
-#: ../../include/text.php:1082
-msgid "Monday"
-msgstr "måndag"
+#: ../../include/apps.php:154
+msgid "Post"
+msgstr "Inlägg"
-#: ../../include/text.php:1082
-msgid "Tuesday"
-msgstr "tisdag"
+#: ../../include/apps.php:155
+msgid "Profile Photo"
+msgstr "Profilfoto"
-#: ../../include/text.php:1082
-msgid "Wednesday"
-msgstr "onsdag"
+#: ../../include/apps.php:247 ../../mod/settings.php:81
+#: ../../mod/settings.php:591
+msgid "Update"
+msgstr "Uppdatera"
-#: ../../include/text.php:1082
-msgid "Thursday"
-msgstr "torsdag"
+#: ../../include/apps.php:247
+msgid "Install"
+msgstr "Installera"
-#: ../../include/text.php:1082
-msgid "Friday"
-msgstr "fredag"
+#: ../../include/apps.php:252
+msgid "Purchase"
+msgstr "Köp"
-#: ../../include/text.php:1082
-msgid "Saturday"
-msgstr "lördag"
+#: ../../include/Contact.php:123
+msgid "New window"
+msgstr "Nytt fönster"
-#: ../../include/text.php:1082
-msgid "Sunday"
-msgstr "söndag"
+#: ../../include/Contact.php:124
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Öppna den valda platsen i ett annat fönster eller en annan webbläsarflik"
-#: ../../include/text.php:1086
-msgid "January"
-msgstr "januari"
+#: ../../include/Contact.php:214 ../../mod/admin.php:646
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Användare '%s' borttagen"
-#: ../../include/text.php:1086
-msgid "February"
-msgstr "februari"
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Ta bort den här posten?"
-#: ../../include/text.php:1086
-msgid "March"
-msgstr "mars"
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
+msgstr "[-] visa färre"
-#: ../../include/text.php:1086
-msgid "April"
-msgstr "april"
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
+msgstr "[+] fäll ut"
-#: ../../include/text.php:1086
-msgid "May"
-msgstr "maj"
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
+msgstr "[-] fäll ihop"
-#: ../../include/text.php:1086
-msgid "June"
-msgstr "juni"
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "Lösenord för kort"
-#: ../../include/text.php:1086
-msgid "July"
-msgstr "juli"
+#: ../../include/js_strings.php:12
+msgid "Passwords do not match"
+msgstr "Lösenorden stämmer inte överens"
-#: ../../include/text.php:1086
-msgid "August"
-msgstr "augusti"
+#: ../../include/js_strings.php:13 ../../mod/photos.php:39
+msgid "everybody"
+msgstr "alla"
-#: ../../include/text.php:1086
-msgid "September"
-msgstr "september"
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "Hemligt lösenord"
-#: ../../include/text.php:1086
-msgid "October"
-msgstr "oktober"
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr "Lösenordsledtråd"
-#: ../../include/text.php:1086
-msgid "November"
-msgstr "november"
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr "Observera: Rättigheter har ändrats men har ännu inte skickats in"
-#: ../../include/text.php:1086
-msgid "December"
-msgstr "december"
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "stäng alla"
-#: ../../include/text.php:1164
-msgid "unknown.???"
-msgstr "okänt.???"
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Inget nytt här"
-#: ../../include/text.php:1165
-msgid "bytes"
-msgstr "byte"
+#: ../../include/js_strings.php:20
+msgid "timeago.prefixAgo"
+msgstr "för"
-#: ../../include/text.php:1200
-msgid "remove category"
-msgstr "ta bort kategori"
+#: ../../include/js_strings.php:21
+msgid "timeago.prefixFromNow"
+msgstr "om"
-#: ../../include/text.php:1249
-msgid "remove from file"
-msgstr "ta bort från fil"
+#: ../../include/js_strings.php:22
+msgid "ago"
+msgstr "sedan"
-#: ../../include/text.php:1310 ../../include/text.php:1322
-msgid "Click to open/close"
-msgstr "Klicka för att öppna/stänga"
+#: ../../include/js_strings.php:23
+msgid "from now"
+msgstr " "
-#: ../../include/text.php:1477 ../../mod/events.php:335
-msgid "link to source"
-msgstr "länk till källa"
+#: ../../include/js_strings.php:24
+msgid "less than a minute"
+msgstr "mindre än en minut"
-#: ../../include/text.php:1496
-msgid "Select a page layout: "
-msgstr "Välj en sidlayout: "
+#: ../../include/js_strings.php:25
+msgid "about a minute"
+msgstr "ungefär en minut"
-#: ../../include/text.php:1499 ../../include/text.php:1564
-msgid "default"
-msgstr "standard"
+#: ../../include/js_strings.php:26
+#, php-format
+msgid "%d minutes"
+msgstr "%d minuter"
-#: ../../include/text.php:1535
-msgid "Page content type: "
-msgstr "Typ av sidinnehåll: "
+#: ../../include/js_strings.php:27
+msgid "about an hour"
+msgstr "ungefär en timme"
-#: ../../include/text.php:1576
-msgid "Select an alternate language"
-msgstr "Välj ett alternativt språk"
+#: ../../include/js_strings.php:28
+#, php-format
+msgid "about %d hours"
+msgstr "ungefär %d timmar"
-#: ../../include/text.php:1710
-msgid "activity"
-msgstr "aktivitet"
+#: ../../include/js_strings.php:29
+msgid "a day"
+msgstr "en dag"
-#: ../../include/text.php:1969
-msgid "Design"
-msgstr "Design"
+#: ../../include/js_strings.php:30
+#, php-format
+msgid "%d days"
+msgstr "%d dagar"
-#: ../../include/text.php:1971
-msgid "Blocks"
-msgstr "Block"
+#: ../../include/js_strings.php:31
+msgid "about a month"
+msgstr "ungefär en månad"
-#: ../../include/text.php:1972
-msgid "Menus"
-msgstr "Menyer"
+#: ../../include/js_strings.php:32
+#, php-format
+msgid "%d months"
+msgstr "%d månader"
-#: ../../include/text.php:1973
-msgid "Layouts"
-msgstr "Layouter"
+#: ../../include/js_strings.php:33
+msgid "about a year"
+msgstr "ungefär ett år"
-#: ../../include/text.php:1974
-msgid "Pages"
-msgstr "Sidor"
+#: ../../include/js_strings.php:34
+#, php-format
+msgid "%d years"
+msgstr "%d år"
-#: ../../include/notify.php:23
-msgid "created a new post"
-msgstr "skapade ett nytt inlägg"
+#: ../../include/js_strings.php:35
+msgid " "
+msgstr " "
-#: ../../include/notify.php:24
-#, php-format
-msgid "commented on %s's post"
-msgstr "kommenterade %ss inlägg"
+#: ../../include/js_strings.php:36
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
msgid "Male"
msgstr "Man"
#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
msgid "Female"
msgstr "Kvinna"
@@ -2449,2086 +3281,1189 @@ msgid "Non-specific"
msgstr "Ospecificerat"
#: ../../include/profile_selectors.php:6
-msgid "Other"
-msgstr "Annat"
-
-#: ../../include/profile_selectors.php:6
msgid "Undecided"
msgstr "Obestämt"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:61
msgid "Males"
msgstr "Män"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:61
msgid "Females"
msgstr "Kvinnor"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Gay"
msgstr "Bög"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Lesbian"
msgstr "Lesbisk"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "No Preference"
msgstr "Ingen preferens"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Bisexual"
msgstr "Bisexuell"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Autosexual"
msgstr "Autosexuell"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Abstinent"
msgstr "Avhållsam"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Virgin"
msgstr "Oskuld"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Deviant"
msgstr "Avvikande"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Fetish"
msgstr "Fetisch"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Oodles"
msgstr "Massor"
-#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:42
msgid "Nonsexual"
msgstr "Ickesexuell"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Single"
msgstr "Singel"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Lonely"
msgstr "Ensam"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Available"
msgstr "Ledig"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Unavailable"
msgstr "Upptagen"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Has crush"
msgstr "Förälskad"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Infatuated"
msgstr "Förtrollad"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Dating"
msgstr "Dejtar"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Unfaithful"
msgstr "Otrogen"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Sex Addict"
msgstr "Sexmissbrukare"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Friends/Benefits"
msgstr "Kompisförhållande"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Casual"
msgstr "Vardaglig"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Engaged"
msgstr "Förlovad"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Married"
msgstr "Gift"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Imaginarily married"
msgstr "Inbillat gift"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Partners"
msgstr "Partner"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Cohabiting"
msgstr "Bor ihop"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Common law"
msgstr "Sambo"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Happy"
msgstr "Lycklig"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Not looking"
msgstr "Letar inte"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Swinger"
msgstr "Swinger"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Betrayed"
msgstr "Bedragen"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Separated"
msgstr "Separerad"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Unstable"
msgstr "Instabilt"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Divorced"
msgstr "Skild"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Imaginarily divorced"
msgstr "Inbillat skild"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "Widowed"
msgstr "Änka"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Uncertain"
msgstr "Osäkert"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
+#: ../../include/profile_selectors.php:97
msgid "It's complicated"
msgstr "Det är komplicerat"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Don't care"
msgstr "Bryr mig inte"
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:80
msgid "Ask me"
msgstr "Fråga mig"
-#: ../../include/chat.php:10
-msgid "Missing room name"
-msgstr "Rumsnamn saknas"
-
-#: ../../include/chat.php:19
-msgid "Duplicate room name"
-msgstr "Rumsnamnet finns redan"
-
-#: ../../include/chat.php:68 ../../include/chat.php:76
-msgid "Invalid room specifier."
-msgstr "Ogiltig rumsbeskrivning."
-
-#: ../../include/chat.php:102
-msgid "Room not found."
-msgstr "Rummet hittades inte."
-
-#: ../../include/chat.php:123
-msgid "Room is full"
-msgstr "Rummet är fullt"
-
-#: ../../include/comanche.php:35 ../../view/theme/redbasic/php/config.php:80
-#: ../../view/theme/apw/php/config.php:185
-msgid "Default"
-msgstr "Standard"
-
-#: ../../include/taxonomy.php:210
-msgid "Tags"
-msgstr "Taggar"
-
-#: ../../include/taxonomy.php:227
-msgid "Keywords"
-msgstr "Nyckelord"
-
-#: ../../include/taxonomy.php:252
-msgid "have"
-msgstr "har"
-
-#: ../../include/taxonomy.php:252
-msgid "has"
-msgstr "har"
-
-#: ../../include/taxonomy.php:253
-msgid "want"
-msgstr "vill ha"
-
-#: ../../include/taxonomy.php:253
-msgid "wants"
-msgstr "vill ha"
-
-#: ../../include/taxonomy.php:254
-msgid "likes"
-msgstr "gillar"
-
-#: ../../include/taxonomy.php:255
-msgid "dislikes"
-msgstr "ogillar"
-
-#: ../../include/auth.php:79
-msgid "Logged out."
-msgstr "Utloggad."
-
-#: ../../include/auth.php:197
-msgid "Failed authentication"
-msgstr "Autentisering misslyckades"
-
-#: ../../include/auth.php:212 ../../mod/openid.php:188
-msgid "Login failed."
-msgstr "Inloggning misslyckades."
-
-#: ../../include/account.php:23
-msgid "Not a valid email address"
-msgstr "Inte en giltig e-postadress"
-
-#: ../../include/account.php:25
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Din e-postdomän är inte bland de som tillåts på den här servern"
-
-#: ../../include/account.php:31
-msgid "Your email address is already registered at this site."
-msgstr "Din e-postadress är redan registrerad på den här servern."
-
-#: ../../include/account.php:64
-msgid "An invitation is required."
-msgstr "En inbjudan behövs."
-
-#: ../../include/account.php:68
-msgid "Invitation could not be verified."
-msgstr "Inbjudningen kunde inte bekräftas."
-
-#: ../../include/account.php:119
-msgid "Please enter the required information."
-msgstr "Ange den begärda informationen."
-
-#: ../../include/account.php:187
-msgid "Failed to store account information."
-msgstr "Misslyckades att spara kontoinformation."
-
-#: ../../include/account.php:273
-#, php-format
-msgid "Registration request at %s"
-msgstr "Registreringsförfrågan på %s"
-
-#: ../../include/account.php:275 ../../include/account.php:302
-#: ../../include/account.php:359
-msgid "Administrator"
-msgstr "Administratör"
-
-#: ../../include/account.php:297
-msgid "your registration password"
-msgstr "ditt registreringslösenord"
-
-#: ../../include/account.php:300 ../../include/account.php:357
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registreringsdetaljer för %s"
-
-#: ../../include/account.php:366
-msgid "Account approved."
-msgstr "Konto godkänt."
-
-#: ../../include/account.php:400
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrering avslagen för %s"
-
-#: ../../include/dir_fns.php:15
-msgid "Sort Options"
-msgstr "Sorteringsalternativ"
-
-#: ../../include/dir_fns.php:16
-msgid "Alphabetic"
-msgstr "Alfabetisk"
-
-#: ../../include/dir_fns.php:17
-msgid "Reverse Alphabetic"
-msgstr "Omvänd alfabetisk"
-
-#: ../../include/dir_fns.php:18
-msgid "Newest to Oldest"
-msgstr "Nyast till äldst"
-
-#: ../../include/dir_fns.php:30
-msgid "Enable Safe Search"
-msgstr "Aktivera säker sökning"
-
-#: ../../include/dir_fns.php:32
-msgid "Disable Safe Search"
-msgstr "Avaktivera säker sökning"
-
-#: ../../include/dir_fns.php:34
-msgid "Safe Mode"
-msgstr "Säkert läge"
-
-#: ../../include/enotify.php:41
-msgid "Red Matrix Notification"
-msgstr "Red Matrix-meddelande"
-
-#: ../../include/enotify.php:42
-msgid "redmatrix"
-msgstr "redmatrix"
-
-#: ../../include/enotify.php:44
-msgid "Thank You,"
-msgstr "Tack,"
-
-#: ../../include/enotify.php:46
-#, php-format
-msgid "%s Administrator"
-msgstr "Administratören för %s"
-
-#: ../../include/enotify.php:81
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
-
-#: ../../include/enotify.php:85
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr "[Red:Meddelande] Nytt meddelande på %s"
-
-#: ../../include/enotify.php:87
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s skickade ett nytt privat meddelande till dig på %3$s."
-
-#: ../../include/enotify.php:88
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s skickade %2$s till dig."
-
-#: ../../include/enotify.php:88
-msgid "a private message"
-msgstr "ett privat meddelande"
-
-#: ../../include/enotify.php:89
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Besök %s för att visa och/eller svara på dina privata meddelanden."
-
-#: ../../include/enotify.php:144
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s kommenterade [zrl=%3$s]ett %4$s[/zrl]"
-
-#: ../../include/enotify.php:152
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s kommenterade [zrl=%3$s]%4$ss %5$s[/zrl]"
-
-#: ../../include/enotify.php:161
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s kommenterade [zrl=%3$s]ditt %4$s[/zrl]"
-
-#: ../../include/enotify.php:172
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Red:Meddelande] Kommentar till konversation #%1$d av %2$s"
-
-#: ../../include/enotify.php:173
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s kommenterade en sak/konversation du har följt."
-
-#: ../../include/enotify.php:176 ../../include/enotify.php:191
-#: ../../include/enotify.php:217 ../../include/enotify.php:236
-#: ../../include/enotify.php:250
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Besök %s för att visa och/eller svara på konversationen."
-
-#: ../../include/enotify.php:182
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[Red:Meddelande] %s postade till din profilvägg"
-
-#: ../../include/enotify.php:184
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s postade till din profilvägg på %3$s"
-
-#: ../../include/enotify.php:186
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s postade till [zrl=%3$s]din vägg[/zrl]"
-
-#: ../../include/enotify.php:210
-#, php-format
-msgid "[Red:Notify] %s tagged you"
-msgstr "[Red:Meddelande] %s taggade dig"
-
-#: ../../include/enotify.php:211
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s taggade dig på %3$s"
-
-#: ../../include/enotify.php:212
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]taggade dig[/zrl]."
-
-#: ../../include/enotify.php:225
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
-msgstr "[Red:Meddelande] %1$s puffade dig"
-
-#: ../../include/enotify.php:226
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s puffade dig på %3$s"
-
-#: ../../include/enotify.php:227
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]puffade dig[/zrl]."
-
-#: ../../include/enotify.php:243
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
-msgstr "[Red:Meddelande] %s taggade ditt inlägg"
+#: ../../include/nav.php:95 ../../include/nav.php:128 ../../boot.php:1539
+msgid "Logout"
+msgstr "Logga ut"
-#: ../../include/enotify.php:244
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s taggade ditt inlägg på %3$s"
+#: ../../include/nav.php:95 ../../include/nav.php:128
+msgid "End this session"
+msgstr "Avsluta sessionen"
-#: ../../include/enotify.php:245
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s taggade [zrl=%3$s]ditt inlägg[/zrl]"
+#: ../../include/nav.php:98 ../../include/nav.php:159
+msgid "Home"
+msgstr "Hem"
-#: ../../include/enotify.php:257
-msgid "[Red:Notify] Introduction received"
-msgstr "[Red:Meddelande] Presentation mottagen"
+#: ../../include/nav.php:98
+msgid "Your posts and conversations"
+msgstr "Dina inlägg och konversationer"
-#: ../../include/enotify.php:258
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, du har fått en ny kontaktförfrågan från '%2$s' på %3$s"
+#: ../../include/nav.php:99
+msgid "Your profile page"
+msgstr "Din profilsida"
-#: ../../include/enotify.php:259
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, du har fått [zrl=%2$s]en ny kontaktförfrågan[/zrl] från %3$s."
+#: ../../include/nav.php:101
+msgid "Edit Profiles"
+msgstr "Redigera profiler"
-#: ../../include/enotify.php:263 ../../include/enotify.php:282
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Du kan besöka deras profil på %s"
+#: ../../include/nav.php:101
+msgid "Manage/Edit profiles"
+msgstr "Hantera/redigera profiler"
-#: ../../include/enotify.php:265
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Besök %s för att bevilja eller avslå kontaktförfrågan."
+#: ../../include/nav.php:103
+msgid "Edit your profile"
+msgstr "Redigera din profil"
-#: ../../include/enotify.php:272
-msgid "[Red:Notify] Friend suggestion received"
-msgstr "[Red:Meddelande] Vänförslag mottaget"
+#: ../../include/nav.php:105
+msgid "Your photos"
+msgstr "Dina foton"
-#: ../../include/enotify.php:273
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, du har fått ett vänförslag från '%2$s' på %3$s"
+#: ../../include/nav.php:106
+msgid "Your files"
+msgstr "Dina filer"
-#: ../../include/enotify.php:274
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, du har fått [zrl=%2$s]ett vänförslag[/zrl] angående %3$s från %4$s."
+#: ../../include/nav.php:111
+msgid "Your chatrooms"
+msgstr "Dina chattrum"
-#: ../../include/enotify.php:280
-msgid "Name:"
-msgstr "Namn:"
+#: ../../include/nav.php:117
+msgid "Your bookmarks"
+msgstr "Dina bokmärken"
-#: ../../include/enotify.php:281
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../include/nav.php:121
+msgid "Your webpages"
+msgstr "Dina webbsidor"
-#: ../../include/enotify.php:284
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Besök %s för att bevilja eller avslå förslaget."
+#: ../../include/nav.php:125
+msgid "Sign in"
+msgstr "Logga in"
-#: ../../include/photos.php:89
+#: ../../include/nav.php:142
#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Bild överskrider webbplatsens storleksbegränsning på %lu byte"
-
-#: ../../include/photos.php:96
-msgid "Image file is empty."
-msgstr "Bildfil är tom."
-
-#: ../../include/photos.php:123 ../../mod/profile_photo.php:147
-msgid "Unable to process image"
-msgstr "Kunde inte bearbeta bild"
-
-#: ../../include/photos.php:186
-msgid "Photo storage failed."
-msgstr "Fotolagring misslyckades."
+msgid "%s - click to logout"
+msgstr "%s - klicka för att logga ut"
-#: ../../include/photos.php:315 ../../mod/photos.php:693
-#: ../../mod/photos.php:1190
-msgid "Upload New Photos"
-msgstr "Ladda upp nya foton"
+#: ../../include/nav.php:145
+msgid "Remote authentication"
+msgstr "Fjärrinloggning"
-#: ../../include/contact_widgets.php:14
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d inbjudan tillgänglig"
-msgstr[1] "%d inbjudningar tillgängliga"
-
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:445
-msgid "Advanced"
-msgstr "Avancerat"
+#: ../../include/nav.php:145
+msgid "Click to authenticate to your home hub"
+msgstr "Klicka för att autentisera mot din hemmahubb"
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
-msgstr "Hitta kanaler"
+#: ../../include/nav.php:159
+msgid "Home Page"
+msgstr "Hemsida"
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
-msgstr "Ange namn eller intresse"
+#: ../../include/nav.php:163 ../../mod/register.php:224 ../../boot.php:1516
+msgid "Register"
+msgstr "Skapa konto"
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
-msgstr "Ta kontakt/följ"
+#: ../../include/nav.php:163
+msgid "Create an account"
+msgstr "Skapa ett konto"
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Exempel: Robert Morgenstein, Fiske"
+#: ../../include/nav.php:168
+msgid "Help and documentation"
+msgstr "Hjälp och dokumentation"
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:211
-#: ../../mod/directory.php:216 ../../mod/connections.php:390
-msgid "Find"
-msgstr "Sök"
+#: ../../include/nav.php:171
+msgid "Applications, utilities, links, games"
+msgstr "Applikationer, verktyg, länkar, spel"
-#: ../../include/contact_widgets.php:27 ../../mod/suggest.php:59
-msgid "Channel Suggestions"
-msgstr "Kanalförslag"
+#: ../../include/nav.php:173
+msgid "Search site content"
+msgstr "Sök innehåll"
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
-msgstr "Slumpvald profil"
+#: ../../include/nav.php:176
+msgid "Channel Directory"
+msgstr "Kanalkatalog"
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
-msgstr "Bjud in vänner"
+#: ../../include/nav.php:190
+msgid "Your matrix"
+msgstr "Din matris"
-#: ../../include/contact_widgets.php:32
-msgid "Exammple: name=fred and country=iceland"
-msgstr "Exempel: name=fred and country=iceland"
+#: ../../include/nav.php:191
+msgid "Mark all matrix notifications seen"
+msgstr "Märk alla matrisnotifieringar som lästa"
-#: ../../include/contact_widgets.php:33
-msgid "Advanced Find"
-msgstr "Sök avancerat"
+#: ../../include/nav.php:193
+msgid "Channel home"
+msgstr "Kanalhem"
-#: ../../include/contact_widgets.php:125
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d gemensam kontakt"
-msgstr[1] "%d gemensamma kontakter"
+#: ../../include/nav.php:194
+msgid "Mark all channel notifications seen"
+msgstr "Märk alla kanalnotifieringar som lästa"
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Ny sida"
+#: ../../include/nav.php:197 ../../mod/connections.php:406
+msgid "Connections"
+msgstr "Kontakter"
-#: ../../include/plugin.php:475 ../../include/plugin.php:477
-msgid "Click here to upgrade."
-msgstr "Klicka här för att uppgradera."
+#: ../../include/nav.php:200
+msgid "Notices"
+msgstr "Meddelanden"
-#: ../../include/plugin.php:483
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Den här funktionen går utanför vad som anges i ditt avtal."
+#: ../../include/nav.php:200
+msgid "Notifications"
+msgstr "Notifieringar"
-#: ../../include/plugin.php:488
-msgid "This action is not available under your subscription plan."
-msgstr "Den här funktionen är inte tillgänglig med ditt avtal."
+#: ../../include/nav.php:201
+msgid "See all notifications"
+msgstr "Se alla notifieringar"
-#: ../../include/items.php:272 ../../mod/like.php:63 ../../mod/profperm.php:23
-#: ../../mod/group.php:68 ../../index.php:350
-msgid "Permission denied"
-msgstr "Behörighet saknas"
+#: ../../include/nav.php:202 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
+msgstr "Märk alla systemnotifieringar som lästa"
-#: ../../include/items.php:789
-msgid "(Unknown)"
-msgstr "(Okänt)"
+#: ../../include/nav.php:204
+msgid "Private mail"
+msgstr "Privat meddelande"
-#: ../../include/items.php:3544 ../../mod/thing.php:78 ../../mod/admin.php:159
-#: ../../mod/admin.php:921 ../../mod/admin.php:1124 ../../mod/viewsrc.php:18
-#: ../../mod/home.php:63 ../../mod/display.php:32 ../../mod/filestorage.php:18
-msgid "Item not found."
-msgstr "Posten hittades inte."
+#: ../../include/nav.php:205
+msgid "See all private messages"
+msgstr "Se alla privata meddelanden"
-#: ../../include/items.php:3928 ../../mod/group.php:38 ../../mod/group.php:140
-msgid "Collection not found."
-msgstr "Sammanhanget hittades inte."
+#: ../../include/nav.php:206
+msgid "Mark all private messages seen"
+msgstr "Märk alla privata meddelanden som lästa"
-#: ../../include/items.php:3943
-msgid "Collection is empty."
-msgstr "Sammanhanget är tomt."
+#: ../../include/nav.php:207
+msgid "Inbox"
+msgstr "Inkorg"
-#: ../../include/items.php:3950
-#, php-format
-msgid "Collection: %s"
-msgstr "Sammanhang: %s"
+#: ../../include/nav.php:208
+msgid "Outbox"
+msgstr "Utkorg"
-#: ../../include/items.php:3961
-#, php-format
-msgid "Connection: %s"
-msgstr "Kontakt: %s"
+#: ../../include/nav.php:212
+msgid "Event Calendar"
+msgstr "Kalender"
-#: ../../include/items.php:3964
-msgid "Connection not found."
-msgstr "Kontakten hittades inte."
+#: ../../include/nav.php:213
+msgid "See all events"
+msgstr "Se alla händelser"
-#: ../../include/follow.php:23
-msgid "Channel is blocked on this site."
-msgstr "Kanalen är blockerad på den här servern."
+#: ../../include/nav.php:214
+msgid "Mark all events seen"
+msgstr "Märk alla händelser som lästa"
-#: ../../include/follow.php:28
-msgid "Channel location missing."
-msgstr "Kanalplats saknas."
+#: ../../include/nav.php:216
+msgid "Manage Your Channels"
+msgstr "Hantera dina kanaler"
-#: ../../include/follow.php:54
-msgid "Response from remote channel was incomplete."
-msgstr "Svar från den andra kanalen var ofullständigt."
+#: ../../include/nav.php:218
+msgid "Account/Channel Settings"
+msgstr "Konto-/kanalinställningar"
-#: ../../include/follow.php:85
-msgid "Channel was deleted and no longer exists."
-msgstr "Kanalen har tagits bort och finns inte längre."
+#: ../../include/nav.php:226 ../../mod/admin.php:123
+msgid "Admin"
+msgstr "Administration"
-#: ../../include/follow.php:132
-msgid "Channel discovery failed."
-msgstr "Kanalsökning misslyckades."
+#: ../../include/nav.php:226
+msgid "Site Setup and Configuration"
+msgstr "Serverinställning och -konfiguration"
-#: ../../include/follow.php:149
-msgid "local account not found."
-msgstr "hittade inte lokalt konto."
+#: ../../include/nav.php:262
+msgid "@name, #tag, content"
+msgstr "@namn, #tagg, innehåll"
-#: ../../include/follow.php:158
-msgid "Cannot connect to yourself."
-msgstr "Du kan inte kontakta dig själv."
+#: ../../include/nav.php:263
+msgid "Please wait..."
+msgstr "Vänta..."
-#: ../../include/security.php:295
+#: ../../include/security.php:357
msgid ""
"The form security token was not correct. This probably happened because the "
"form has been opened for too long (>3 hours) before submitting it."
msgstr "Formulärets kontrollkod var inte korrekt. Antagligen beror det på att formuläret har varit öppet för länge (> 3 timmar) innan det skickades."
-#: ../../include/oembed.php:171
-msgid "Embedded content"
-msgstr "Inbäddat innehåll"
-
-#: ../../include/oembed.php:180
-msgid "Embedding disabled"
-msgstr "Inbäddning inaktiverat"
-
-#: ../../include/permissions.php:13
-msgid "Can view my \"public\" stream and posts"
-msgstr "Kan se mina \"offentliga\" strömmar och inlägg"
-
-#: ../../include/permissions.php:14
-msgid "Can view my \"public\" channel profile"
-msgstr "Kan se min \"offentliga\" kanalprofil"
-
-#: ../../include/permissions.php:15
-msgid "Can view my \"public\" photo albums"
-msgstr "Kan se mina \"offentliga\" fotoalbum"
-
-#: ../../include/permissions.php:16
-msgid "Can view my \"public\" address book"
-msgstr "Kan se min \"offentliga\" adressbok"
-
-#: ../../include/permissions.php:17
-msgid "Can view my \"public\" file storage"
-msgstr "Kan se mitt \"offentliga\" filutrymme"
-
-#: ../../include/permissions.php:18
-msgid "Can view my \"public\" pages"
-msgstr "Kan se mina \"offentliga\" sidor"
-
-#: ../../include/permissions.php:21
-msgid "Can send me their channel stream and posts"
-msgstr "Kan skicka sina kanalströmmar och inlägg till mig"
-
-#: ../../include/permissions.php:22
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Kan posta inlägg på min kanalsida (\"vägg\")"
-
-#: ../../include/permissions.php:23
-msgid "Can comment on my posts"
-msgstr "Kan kommentera mina inlägg"
-
-#: ../../include/permissions.php:24
-msgid "Can send me private mail messages"
-msgstr "Kan skicka privata meddelanden till mig"
-
-#: ../../include/permissions.php:25
-msgid "Can post photos to my photo albums"
-msgstr "Kan lägga till foton i mitt fotoalbum"
-
-#: ../../include/permissions.php:26
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Kan vidarebefordra till alla mina kanalkontakter genom @omnämnanden"
-
-#: ../../include/permissions.php:26
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Avancerat - användbart för att skapa kanaler för gruppforum"
-
-#: ../../include/permissions.php:27
-msgid "Can chat with me (when available)"
-msgstr "Kan chatta med mig (när tillgänglig)"
-
-#: ../../include/permissions.php:28
-msgid "Can write to my \"public\" file storage"
-msgstr "Har skrivrättigheter i mitt \"offentliga\" filutrymme"
-
-#: ../../include/permissions.php:29
-msgid "Can edit my \"public\" pages"
-msgstr "Kan redigera mina \"offentliga\" sidor"
-
-#: ../../include/permissions.php:31
-msgid "Can source my \"public\" posts in derived channels"
-msgstr "Kan använda mina \"offentliga\" inlägg i kanaler nedströms"
-
-#: ../../include/permissions.php:31
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Ganska avancerat - väldigt användbart i öppna gemenskaper"
-
-#: ../../include/permissions.php:32
-msgid "Can send me bookmarks"
-msgstr "Kan skicka bokmärken till mig"
+#: ../../mod/mood.php:132
+msgid "Set your current mood and tell your friends"
+msgstr "Ange din nuvarande sinnesstämning och visa för dina vänner"
-#: ../../include/permissions.php:33
-msgid "Can administer my channel resources"
-msgstr "Kan administrera mina kanalresurser"
+#: ../../mod/register.php:44
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "Maximalt antal dagliga serverregistreringar överskridet. Försök igen i morgon."
-#: ../../include/permissions.php:33
+#: ../../mod/register.php:50
msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Extremt avancerat. Låt detta vara om du inte vet vad du gör"
-
-#: ../../include/zot.php:583
-msgid "Invalid data packet"
-msgstr "Ogiltigt datapaket"
-
-#: ../../include/zot.php:593
-msgid "Unable to verify channel signature"
-msgstr "Kunde inte bekräfta kanalsignatur"
-
-#: ../../include/zot.php:790
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Kunde inte bekräfta signatur för servern %s"
-
-#: ../../mod/common.php:10
-msgid "No channel."
-msgstr "Ingen kanal."
-
-#: ../../mod/common.php:39
-msgid "Common connections"
-msgstr "Gemensamma kontakter"
-
-#: ../../mod/common.php:44
-msgid "No connections in common."
-msgstr "Inga gemensamma kontakter."
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Välj huruvida du accepterar användarvillkoren. Registrering misslyckades."
-#: ../../mod/events.php:72
-msgid "Event title and start time are required."
-msgstr "Händelsen behöver titel och starttid."
+#: ../../mod/register.php:84
+msgid "Passwords do not match."
+msgstr "Lösenorden stämmer inte överens."
-#: ../../mod/events.php:290
-msgid "l, F j"
-msgstr "l, j F"
+#: ../../mod/register.php:117
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "Registrering lyckades. Kontrollera din e-post för valideringsinstruktioner."
-#: ../../mod/events.php:312
-msgid "Edit event"
-msgstr "Redigera händelse"
+#: ../../mod/register.php:123
+msgid "Your registration is pending approval by the site owner."
+msgstr "Din registrering väntar på att bli godkänd av serverägaren."
-#: ../../mod/events.php:358
-msgid "Create New Event"
-msgstr "Skapa ny händelse"
+#: ../../mod/register.php:126
+msgid "Your registration can not be processed."
+msgstr "Din registrering kan inte behandlas."
-#: ../../mod/events.php:359
-msgid "Previous"
-msgstr "Föregående"
+#: ../../mod/register.php:163
+msgid "Registration on this site/hub is by approval only."
+msgstr "Registrering på den här servern/hubben måste godkännas."
-#: ../../mod/events.php:360 ../../mod/setup.php:261
-msgid "Next"
-msgstr "Nästa"
+#: ../../mod/register.php:164
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr "<a href=\"pubsites\">Skapa konto på en annan ansluten server/hubb</a>"
-#: ../../mod/events.php:431
-msgid "hour:minute"
-msgstr "timme:minut"
+#: ../../mod/register.php:174
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Antal dagliga registreringar som tillåts på den här servern har överskridits. Försök igen i morgon."
-#: ../../mod/events.php:450
-msgid "Event details"
-msgstr "Detaljer för händelse"
+#: ../../mod/register.php:185
+msgid "Terms of Service"
+msgstr "användarvillkor"
-#: ../../mod/events.php:451
+#: ../../mod/register.php:191
#, php-format
-msgid "Format is %s %s. Starting date and Title are required."
-msgstr "Formatet är %s %s. Startdatum och titel behövs."
-
-#: ../../mod/events.php:453
-msgid "Event Starts:"
-msgstr "Händelsen börjar:"
-
-#: ../../mod/events.php:453 ../../mod/events.php:467
-msgid "Required"
-msgstr "Behövs"
-
-#: ../../mod/events.php:456
-msgid "Finish date/time is not known or not relevant"
-msgstr "Slutdatum/tid är okänt eller inte relevant"
-
-#: ../../mod/events.php:458
-msgid "Event Finishes:"
-msgstr "Händelsen slutar:"
-
-#: ../../mod/events.php:461
-msgid "Adjust for viewer timezone"
-msgstr "Justera för betraktarens tidszon"
-
-#: ../../mod/events.php:463
-msgid "Description:"
-msgstr "Beskrivning:"
-
-#: ../../mod/events.php:467
-msgid "Title:"
-msgstr "Titel:"
-
-#: ../../mod/events.php:469
-msgid "Share this event"
-msgstr "Dela den här händelsen"
-
-#: ../../mod/thing.php:98
-msgid "Thing updated"
-msgstr "Föremål uppdaterat"
-
-#: ../../mod/thing.php:158
-msgid "Object store: failed"
-msgstr "Objektlagring: misslyckades"
-
-#: ../../mod/thing.php:162
-msgid "Thing added"
-msgstr "Föremål tillagt"
+msgid "I accept the %s for this website"
+msgstr "Jag accepterar den här webbplatsens %s"
-#: ../../mod/thing.php:182
+#: ../../mod/register.php:193
#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
-
-#: ../../mod/thing.php:234
-msgid "Show Thing"
-msgstr "Visa föremål"
-
-#: ../../mod/thing.php:241
-msgid "item not found."
-msgstr "föremål hittades inte."
-
-#: ../../mod/thing.php:269
-msgid "Edit Thing"
-msgstr "Redigera föremål"
-
-#: ../../mod/thing.php:271 ../../mod/thing.php:318
-msgid "Select a profile"
-msgstr "Välj en profil"
-
-#: ../../mod/thing.php:273 ../../mod/thing.php:320
-msgid "Select a category of stuff. e.g. I ______ something"
-msgstr "Välj en kategori, t.ex. Jag ______ någonting"
-
-#: ../../mod/thing.php:275 ../../mod/thing.php:321
-msgid "Post an activity"
-msgstr "Posta en aktivitet"
-
-#: ../../mod/thing.php:275 ../../mod/thing.php:321
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Skickar bara till de som tittar på den aktuella profilen"
-
-#: ../../mod/thing.php:277 ../../mod/thing.php:323
-msgid "Name of thing e.g. something"
-msgstr "Namn på föremål, t.ex. någonting"
-
-#: ../../mod/thing.php:279 ../../mod/thing.php:324
-msgid "URL of thing (optional)"
-msgstr "URL för föremål (frivilligt)"
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Jag är över 13 år och accepterar den här webbplatsens %s"
-#: ../../mod/thing.php:281 ../../mod/thing.php:325
-msgid "URL for photo of thing (optional)"
-msgstr "URL för foto på föremål (frivilligt)"
+#: ../../mod/register.php:207 ../../mod/admin.php:413
+msgid "Registration"
+msgstr "Registrering"
-#: ../../mod/thing.php:316
-msgid "Add Thing to your Profile"
-msgstr "Lägg till föremål till din profil"
+#: ../../mod/register.php:212
+msgid "Membership on this site is by invitation only."
+msgstr "Medlemskap på den här servern kan endast fås genom inbjudan."
-#: ../../mod/invite.php:25
-msgid "Total invitation limit exceeded."
-msgstr "Gränsen för totalt antal inbjudningar överskriden."
+#: ../../mod/register.php:213
+msgid "Please enter your invitation code"
+msgstr "Ange din inbjudningskod"
-#: ../../mod/invite.php:49
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: Inte en giltig e-postadress."
+#: ../../mod/register.php:216
+msgid "Your email address"
+msgstr "Din e-postadress"
-#: ../../mod/invite.php:76
-msgid "Please join us on Red"
-msgstr "GÃ¥ med oss i Red"
+#: ../../mod/register.php:217
+msgid "Choose a password"
+msgstr "Välj ett lösenord"
-#: ../../mod/invite.php:87
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Inbjudningsgränsen överskriden. Kontakta din serveradministratör."
+#: ../../mod/register.php:218
+msgid "Please re-enter your password"
+msgstr "Ange lösenordet igen"
-#: ../../mod/invite.php:92
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Leverans av meddelande misslyckades."
+#: ../../mod/mitem.php:24 ../../mod/menu.php:108
+msgid "Menu not found."
+msgstr "Menyn hittades inte."
-#: ../../mod/invite.php:96
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d meddelande sänt."
-msgstr[1] "%d meddelanden sända."
+#: ../../mod/mitem.php:67
+msgid "Menu element updated."
+msgstr "Menyval uppdaterat."
-#: ../../mod/invite.php:115
-msgid "You have no more invitations available"
-msgstr "Du har inga fler inbjudningar kvar"
+#: ../../mod/mitem.php:71
+msgid "Unable to update menu element."
+msgstr "Kunde inte uppdatera menyval."
-#: ../../mod/invite.php:141
-msgid "Send invitations"
-msgstr "Skicka inbjudan"
+#: ../../mod/mitem.php:77
+msgid "Menu element added."
+msgstr "Menyval tillagt."
-#: ../../mod/invite.php:142
-msgid "Enter email addresses, one per line:"
-msgstr "Ange e-postadresser, en per rad:"
+#: ../../mod/mitem.php:81
+msgid "Unable to add menu element."
+msgstr "Kunde inte lägga till menyval."
-#: ../../mod/invite.php:143 ../../mod/mail.php:216 ../../mod/mail.php:328
-msgid "Your message:"
-msgstr "Ditt meddelande:"
+#: ../../mod/mitem.php:111 ../../mod/menu.php:136 ../../mod/xchan.php:37
+msgid "Not found."
+msgstr "Hittades inte."
-#: ../../mod/invite.php:144
-msgid ""
-"You are cordially invited to join me and some other close friends on the Red"
-" Matrix - a revolutionary new decentralised communication and information "
-"tool."
-msgstr "Du är hjärtligt inbjuden att gå med mig och några andra nära vänner i Red Matrix - ett revolutionärt nytt decentraliserat kommunikations- och informationsverktyg."
+#: ../../mod/mitem.php:127
+msgid "Manage Menu Elements"
+msgstr "Hantera menyval"
-#: ../../mod/invite.php:146
-msgid "You will need to supply this invitation code: $invite_code"
-msgstr "Du kommer att behöva ange den här inbjudningskoden: $invite_code"
+#: ../../mod/mitem.php:130
+msgid "Edit menu"
+msgstr "Redigera meny"
-#: ../../mod/invite.php:147
-msgid "Please visit my channel at"
-msgstr "Besök min kanal på"
+#: ../../mod/mitem.php:133
+msgid "Edit element"
+msgstr "Redigera menyval"
-#: ../../mod/invite.php:151
-msgid ""
-"Once you have registered (on ANY Red Matrix site - they are all inter-"
-"connected), please connect with my Red Matrix channel address:"
-msgstr "När du har registrerat dig (på NÅGON Red Matrix-server - alla sitter ihop), så lägg till min Red Matrix-kanaladress:"
+#: ../../mod/mitem.php:134
+msgid "Drop element"
+msgstr "Ta bort menyval"
-#: ../../mod/invite.php:153
-msgid "Click the [Register] link on the following page to join."
-msgstr "Klicka på [Registrera]-länken på följande sida för att gå med."
+#: ../../mod/mitem.php:135
+msgid "New element"
+msgstr "Nytt menyval"
-#: ../../mod/invite.php:155
-msgid ""
-"For more information about the Red Matrix Project and why it has the "
-"potential to change the internet as we know it, please visit "
-"http://getzot.com"
-msgstr "För mer information om Red Matrix-projektet och varför det har potential att förändra Internet som vi känner det, besök http://getzot.com"
+#: ../../mod/mitem.php:136
+msgid "Edit this menu container"
+msgstr "Redigera den här menysamlaren"
-#: ../../mod/mail.php:33
-msgid "Unable to lookup recipient."
-msgstr "Kunde inte hitta mottagare."
+#: ../../mod/mitem.php:137
+msgid "Add menu element"
+msgstr "Lägg till menyval"
-#: ../../mod/mail.php:41
-msgid "Unable to communicate with requested channel."
-msgstr "Kunde inte kommunicera med den begärda kanalen."
+#: ../../mod/mitem.php:138
+msgid "Delete this menu item"
+msgstr "Ta bort det här menyvalet"
-#: ../../mod/mail.php:48
-msgid "Cannot verify requested channel."
-msgstr "Kan inte bekräfta den begärda kanalen."
+#: ../../mod/mitem.php:139
+msgid "Edit this menu item"
+msgstr "Redigera det här menyvalet"
-#: ../../mod/mail.php:74
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Den valda kanalen har restriktioner för privata meddelanden. Misslyckades att skicka."
+#: ../../mod/mitem.php:158
+msgid "New Menu Element"
+msgstr "Nytt menyval"
-#: ../../mod/mail.php:121 ../../mod/message.php:31
-msgid "Messages"
-msgstr "Meddelanden"
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:203
+msgid "Menu Item Permissions"
+msgstr "Behörighet för menyval"
-#: ../../mod/mail.php:132
-msgid "Message deleted."
-msgstr "Meddelande borttaget."
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:204 ../../mod/settings.php:1039
+msgid "(click to open/close)"
+msgstr "(klicka för att öppna/stänga)"
-#: ../../mod/mail.php:149
-msgid "Message recalled."
-msgstr "Meddelande återkallat."
+#: ../../mod/mitem.php:163 ../../mod/mitem.php:207
+msgid "Link text"
+msgstr "Länktext"
-#: ../../mod/mail.php:206
-msgid "Send Private Message"
-msgstr "Skicka privat meddelande."
+#: ../../mod/mitem.php:164 ../../mod/mitem.php:208
+msgid "URL of link"
+msgstr "Länkens URL"
-#: ../../mod/mail.php:207 ../../mod/mail.php:323
-msgid "To:"
-msgstr "Till:"
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
+msgid "Use RedMatrix magic-auth if available"
+msgstr "Använd RedMatrix magic-auth om tillgängligt"
-#: ../../mod/mail.php:212 ../../mod/mail.php:325
-msgid "Subject:"
-msgstr "Ämne:"
+#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
+msgid "Open link in new window"
+msgstr "Öppna länk i nytt fönster"
-#: ../../mod/mail.php:249
-msgid "Message not found."
-msgstr "Meddelandet hittades inte."
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
+msgid "Order in list"
+msgstr "Ordningstal i listan"
-#: ../../mod/mail.php:292 ../../mod/message.php:72
-msgid "Delete message"
-msgstr "Ta bort meddelande"
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Större tal sjunker till botten av listan"
-#: ../../mod/mail.php:293
-msgid "Recall message"
-msgstr "Ã…terkalla meddelande"
+#: ../../mod/mitem.php:181
+msgid "Menu item not found."
+msgstr "Menyval hittas inte."
-#: ../../mod/mail.php:295
-msgid "Message has been recalled."
-msgstr "Meddelandet har återkallats."
+#: ../../mod/mitem.php:190
+msgid "Menu item deleted."
+msgstr "Menyval borttaget."
-#: ../../mod/mail.php:312
-msgid "Private Conversation"
-msgstr "Privat konversation"
+#: ../../mod/mitem.php:192
+msgid "Menu item could not be deleted."
+msgstr "Menyval kunde inte tas bort."
-#: ../../mod/mail.php:316
-msgid "Delete conversation"
-msgstr "Ta bort konversation"
+#: ../../mod/mitem.php:201
+msgid "Edit Menu Element"
+msgstr "Redigera menyval"
-#: ../../mod/mail.php:318
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Ingen säker kommunikationskanal tillgänglig. Du kan <strong>möjligtvis</strong> svara från avsändarens profilsida."
+#: ../../mod/mitem.php:213 ../../mod/menu.php:130
+msgid "Modify"
+msgstr "Ändra"
-#: ../../mod/mail.php:322
-msgid "Send Reply"
-msgstr "Skicka svar"
+#: ../../mod/achievements.php:34
+msgid "Some blurb about what to do when you're new here"
+msgstr "Lite text om vad man kan göra som ny här"
-#: ../../mod/settings.php:71
+#: ../../mod/settings.php:73
msgid "Name is required"
msgstr "Namn är obligatoriskt"
-#: ../../mod/settings.php:75
+#: ../../mod/settings.php:77
msgid "Key and Secret are required"
msgstr "Nyckel och kod är obligatoriska"
-#: ../../mod/settings.php:79 ../../mod/settings.php:541
-msgid "Update"
-msgstr "Uppdatera"
-
-#: ../../mod/settings.php:195
+#: ../../mod/settings.php:213
msgid "Passwords do not match. Password unchanged."
msgstr "Lösenorden stämmer inte överens. Lösenordet har inte ändrats."
-#: ../../mod/settings.php:199
+#: ../../mod/settings.php:217
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "Tomma lösenord tillåts inte. Lösenordet har inte ändrats."
-#: ../../mod/settings.php:212
+#: ../../mod/settings.php:231
msgid "Password changed."
msgstr "Lösenordet ändrat."
-#: ../../mod/settings.php:214
+#: ../../mod/settings.php:233
msgid "Password update failed. Please try again."
msgstr "Lösenordsuppdatering misslyckades. Försök igen."
-#: ../../mod/settings.php:228
+#: ../../mod/settings.php:247
msgid "Not valid email."
msgstr "Inte en giltig e-postadress."
-#: ../../mod/settings.php:231
+#: ../../mod/settings.php:250
msgid "Protected email address. Cannot change to that email."
msgstr "Skyddad e-postadress. Kan inte ändra till den."
-#: ../../mod/settings.php:240
+#: ../../mod/settings.php:259
msgid "System failure storing new email. Please try again."
msgstr "Systemfel när ny e-postadress skulle sparas. Försök igen."
-#: ../../mod/settings.php:443
+#: ../../mod/settings.php:495
msgid "Settings updated."
msgstr "Inställningar uppdaterade."
-#: ../../mod/settings.php:514 ../../mod/settings.php:540
-#: ../../mod/settings.php:576
+#: ../../mod/settings.php:564 ../../mod/settings.php:590
+#: ../../mod/settings.php:626
msgid "Add application"
msgstr "Lägg till applikation"
-#: ../../mod/settings.php:517 ../../mod/settings.php:543
-#: ../../mod/admin.php:891
-msgid "Name"
-msgstr "Namn"
-
-#: ../../mod/settings.php:517
+#: ../../mod/settings.php:567
msgid "Name of application"
msgstr "Applikationens namn"
-#: ../../mod/settings.php:518 ../../mod/settings.php:544
+#: ../../mod/settings.php:568 ../../mod/settings.php:594
msgid "Consumer Key"
msgstr "Nyckel för konsument"
-#: ../../mod/settings.php:518 ../../mod/settings.php:519
+#: ../../mod/settings.php:568 ../../mod/settings.php:569
msgid "Automatically generated - change if desired. Max length 20"
msgstr "Automatiskt genererad - ändra om så önskas. Maxlängd 20"
-#: ../../mod/settings.php:519 ../../mod/settings.php:545
+#: ../../mod/settings.php:569 ../../mod/settings.php:595
msgid "Consumer Secret"
msgstr "Kod för konsument"
-#: ../../mod/settings.php:520 ../../mod/settings.php:546
+#: ../../mod/settings.php:570 ../../mod/settings.php:596
msgid "Redirect"
msgstr "Omdirigering"
-#: ../../mod/settings.php:520
+#: ../../mod/settings.php:570
msgid ""
"Redirect URI - leave blank unless your application specifically requires "
"this"
msgstr "Omdirigerings-URI - lämna blankt om inte din applikation specifikt behöver det"
-#: ../../mod/settings.php:521 ../../mod/settings.php:547
+#: ../../mod/settings.php:571 ../../mod/settings.php:597
msgid "Icon url"
msgstr "Ikon-URL"
-#: ../../mod/settings.php:521
+#: ../../mod/settings.php:571
msgid "Optional"
msgstr "Frivillig"
-#: ../../mod/settings.php:532
+#: ../../mod/settings.php:582
msgid "You can't edit this application."
msgstr "Du kan inte redigera den här applikationen."
-#: ../../mod/settings.php:575
+#: ../../mod/settings.php:625
msgid "Connected Apps"
msgstr "Anslutna appar"
-#: ../../mod/settings.php:579
+#: ../../mod/settings.php:629
msgid "Client key starts with"
msgstr "Klientnyckel börjar med"
-#: ../../mod/settings.php:580
+#: ../../mod/settings.php:630
msgid "No name"
msgstr "Inget namn"
-#: ../../mod/settings.php:581
+#: ../../mod/settings.php:631
msgid "Remove authorization"
msgstr "Ta bort behörighet"
-#: ../../mod/settings.php:592
+#: ../../mod/settings.php:642
msgid "No feature settings configured"
msgstr "Inga funktionsinställningar konfigurerade"
-#: ../../mod/settings.php:600
+#: ../../mod/settings.php:650
msgid "Feature Settings"
msgstr "Funktionsinställningar"
-#: ../../mod/settings.php:623
+#: ../../mod/settings.php:673
msgid "Account Settings"
msgstr "Kontoinställningar"
-#: ../../mod/settings.php:624
+#: ../../mod/settings.php:674
msgid "Password Settings"
msgstr "Lösenordsinställningar"
-#: ../../mod/settings.php:625
+#: ../../mod/settings.php:675
msgid "New Password:"
msgstr "Nytt lösenord:"
-#: ../../mod/settings.php:626
+#: ../../mod/settings.php:676
msgid "Confirm:"
msgstr "Bekräfta:"
-#: ../../mod/settings.php:626
+#: ../../mod/settings.php:676
msgid "Leave password fields blank unless changing"
msgstr "Lämna lösenordsfälten blanka om lösenordet inte ska ändras"
-#: ../../mod/settings.php:628 ../../mod/settings.php:938
+#: ../../mod/settings.php:678 ../../mod/settings.php:1013
msgid "Email Address:"
msgstr "E-postadress"
-#: ../../mod/settings.php:629
+#: ../../mod/settings.php:679 ../../mod/removeaccount.php:61
msgid "Remove Account"
msgstr "Ta bort konto"
-#: ../../mod/settings.php:630
+#: ../../mod/settings.php:680
+msgid "Remove this account from this server including all its channels"
+msgstr "Ta bort det här kontot från servern, inklusive alla dess kanaler"
+
+#: ../../mod/settings.php:681 ../../mod/settings.php:1095
msgid "Warning: This action is permanent and cannot be reversed."
msgstr "Varning: Den här handlingen är permanent och kan inte återställas."
-#: ../../mod/settings.php:646
+#: ../../mod/settings.php:697
msgid "Off"
msgstr "Av"
-#: ../../mod/settings.php:646
+#: ../../mod/settings.php:697
msgid "On"
msgstr "PÃ¥"
-#: ../../mod/settings.php:653
+#: ../../mod/settings.php:704
msgid "Additional Features"
msgstr "Ytterligare funktioner"
-#: ../../mod/settings.php:678
+#: ../../mod/settings.php:729
msgid "Connector Settings"
msgstr "Anslutningsinställningar"
-#: ../../mod/settings.php:708 ../../mod/admin.php:389
+#: ../../mod/settings.php:768
msgid "No special theme for mobile devices"
msgstr "Inget särskilt tema för mobila enheter"
-#: ../../mod/settings.php:749
+#: ../../mod/settings.php:771
+#, php-format
+msgid "%s - (Experimental)"
+msgstr "%s - (experimentellt)"
+
+#: ../../mod/settings.php:774 ../../mod/admin.php:363
+msgid "mobile"
+msgstr "mobilt"
+
+#: ../../mod/settings.php:810
msgid "Display Settings"
msgstr "Utseende"
-#: ../../mod/settings.php:755
+#: ../../mod/settings.php:816
msgid "Display Theme:"
msgstr "Tema för utseende:"
-#: ../../mod/settings.php:756
+#: ../../mod/settings.php:817
msgid "Mobile Theme:"
msgstr "Mobilt tema:"
-#: ../../mod/settings.php:757
+#: ../../mod/settings.php:818
+msgid "Enable user zoom on mobile devices"
+msgstr "Tillåt användare att zooma på mobila enheter"
+
+#: ../../mod/settings.php:819
msgid "Update browser every xx seconds"
msgstr "Uppdatera webbläsaren var xx sekund"
-#: ../../mod/settings.php:757
+#: ../../mod/settings.php:819
msgid "Minimum of 10 seconds, no maximum"
msgstr "Minst 10 sekunder, inget maximum"
-#: ../../mod/settings.php:758
+#: ../../mod/settings.php:820
msgid "Maximum number of conversations to load at any time:"
msgstr "Högsta antal konversationer att ladda åt gången:"
-#: ../../mod/settings.php:758
+#: ../../mod/settings.php:820
msgid "Maximum of 100 items"
msgstr "Maximalt 100 poster"
-#: ../../mod/settings.php:759
+#: ../../mod/settings.php:821
msgid "Don't show emoticons"
msgstr "Visa inte känsloikoner"
-#: ../../mod/settings.php:760
-msgid "Do not view remote profiles in frames"
-msgstr "Visa inte profiler på andra servrar i ramar"
-
-#: ../../mod/settings.php:760
-msgid "By default open in a sub-window of your own site"
-msgstr "Som standard öppnas de i ett underfönster på din lokala server"
+#: ../../mod/settings.php:822
+msgid "Link post titles to source"
+msgstr "Länka inläggstitlar till källan"
-#: ../../mod/settings.php:761
+#: ../../mod/settings.php:823
msgid "System Page Layout Editor - (advanced)"
msgstr "Redigera systemets sidlayout (avancerat)"
-#: ../../mod/settings.php:796
+#: ../../mod/settings.php:826
+msgid "Use blog/list mode on channel page"
+msgstr "Använd blogg-/listläge på kanalsida"
+
+#: ../../mod/settings.php:826 ../../mod/settings.php:827
+msgid "(comments displayed separately)"
+msgstr "(kommentarer visas separat)"
+
+#: ../../mod/settings.php:827
+msgid "Use blog/list mode on matrix page"
+msgstr "Använd blogg-/listläge på matrissida"
+
+#: ../../mod/settings.php:828
+msgid "Channel page max height of content (in pixels)"
+msgstr "Maxhöjd för innehåll på kanalsidor (i pixels)"
+
+#: ../../mod/settings.php:828 ../../mod/settings.php:829
+msgid "click to expand content exceeding this height"
+msgstr "klicka för att fälla ut innehåll som överskrider den här höjden"
+
+#: ../../mod/settings.php:829
+msgid "Matrix page max height of content (in pixels)"
+msgstr "Maxhöjd för innehåll på matrissidan (i pixels)"
+
+#: ../../mod/settings.php:863
msgid "Nobody except yourself"
msgstr "Ingen utom dig själv"
-#: ../../mod/settings.php:797
+#: ../../mod/settings.php:864
msgid "Only those you specifically allow"
msgstr "Endast utvalda"
-#: ../../mod/settings.php:798
-msgid "Anybody in your address book"
-msgstr "Vem som helst i din adressbok"
+#: ../../mod/settings.php:865
+msgid "Approved connections"
+msgstr "Godkända kontakter"
+
+#: ../../mod/settings.php:866
+msgid "Any connections"
+msgstr "Alla kontakter"
-#: ../../mod/settings.php:799
+#: ../../mod/settings.php:867
msgid "Anybody on this website"
msgstr "Vem som helst på den här servern"
-#: ../../mod/settings.php:800
+#: ../../mod/settings.php:868
msgid "Anybody in this network"
msgstr "Vem som helst i det här nätverket"
-#: ../../mod/settings.php:801
+#: ../../mod/settings.php:869
msgid "Anybody authenticated"
msgstr "Vem som helst som har autentiserat sig"
-#: ../../mod/settings.php:802
+#: ../../mod/settings.php:870
msgid "Anybody on the internet"
msgstr "Vem som helst på Internet"
-#: ../../mod/settings.php:879
+#: ../../mod/settings.php:944
msgid "Publish your default profile in the network directory"
msgstr "Publicera din standardprofil i nätverkskatalogen"
-#: ../../mod/settings.php:879 ../../mod/settings.php:884
-#: ../../mod/settings.php:955 ../../mod/api.php:106 ../../mod/profiles.php:484
+#: ../../mod/settings.php:944 ../../mod/settings.php:949
+#: ../../mod/settings.php:1032 ../../mod/api.php:106
+#: ../../mod/profiles.php:592 ../../mod/admin.php:390
msgid "No"
msgstr "Nej"
-#: ../../mod/settings.php:879 ../../mod/settings.php:884
-#: ../../mod/settings.php:955 ../../mod/api.php:105 ../../mod/profiles.php:483
+#: ../../mod/settings.php:944 ../../mod/settings.php:949
+#: ../../mod/settings.php:1032 ../../mod/api.php:105
+#: ../../mod/profiles.php:591 ../../mod/admin.php:392
msgid "Yes"
msgstr "Ja"
-#: ../../mod/settings.php:884
+#: ../../mod/settings.php:949
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Tillåt oss att föreslå dig som möjlig vän för nya medlemmar"
-#: ../../mod/settings.php:888 ../../mod/profile_photo.php:288
+#: ../../mod/settings.php:953 ../../mod/profile_photo.php:365
msgid "or"
msgstr "eller"
-#: ../../mod/settings.php:893
+#: ../../mod/settings.php:958
msgid "Your channel address is"
msgstr "Din kanaladress är"
-#: ../../mod/settings.php:927
+#: ../../mod/settings.php:1002
msgid "Channel Settings"
msgstr "Kanalinställningar"
-#: ../../mod/settings.php:936
+#: ../../mod/settings.php:1011
msgid "Basic Settings"
msgstr "Grundläggande inställningar"
-#: ../../mod/settings.php:939
+#: ../../mod/settings.php:1014
msgid "Your Timezone:"
msgstr "Din tidszon:"
-#: ../../mod/settings.php:940
+#: ../../mod/settings.php:1015
msgid "Default Post Location:"
msgstr "Standardplats:"
-#: ../../mod/settings.php:940
+#: ../../mod/settings.php:1015
msgid "Geographical location to display on your posts"
msgstr "Geografisk plats att visa för dina inlägg"
-#: ../../mod/settings.php:941
+#: ../../mod/settings.php:1016
msgid "Use Browser Location:"
msgstr "Använd webbläsarens position:"
-#: ../../mod/settings.php:943
+#: ../../mod/settings.php:1018
msgid "Adult Content"
-msgstr "Pornografiskt innehåll"
+msgstr "Innehåll olämpligt för barn"
-#: ../../mod/settings.php:943
+#: ../../mod/settings.php:1018
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
-msgstr "Den här kanalen publicerar ofta eller regelbundet pornografiskt innehåll. (Tagga allt pornografiskt material och/eller nakenhet med #NSFW, tack)"
+msgstr "Den här kanalen publicerar ofta eller regelbundet innehåll som är olämpligt för barn. (Tagga allt pornografiskt material och/eller nakenhet med #NSFW, tack)"
-#: ../../mod/settings.php:945
+#: ../../mod/settings.php:1020
msgid "Security and Privacy Settings"
msgstr "Säkerhets- och integritetsinställningar"
-#: ../../mod/settings.php:947
+#: ../../mod/settings.php:1022
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "Dina behörigheter har redan ställts in. Klicka för att visa/ändra"
+
+#: ../../mod/settings.php:1024
msgid "Hide my online presence"
msgstr "Visa inte min online-närvaro"
-#: ../../mod/settings.php:947
+#: ../../mod/settings.php:1024
msgid "Prevents displaying in your profile that you are online"
msgstr "Förhindrar att det syns i din profil att du är online"
-#: ../../mod/settings.php:949
+#: ../../mod/settings.php:1026
msgid "Simple Privacy Settings:"
msgstr "Enkla integritetsinställningar:"
-#: ../../mod/settings.php:950
+#: ../../mod/settings.php:1027
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Väldigt offentligt - <em>extremt tillåtande (bör användas försiktigt)</em>"
-#: ../../mod/settings.php:951
+#: ../../mod/settings.php:1028
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Typiskt - <em>offentligt som standard, privat när så önskas (liknande behörigheter som på sociala nätverk men med förbättrad integritet)</em>"
-#: ../../mod/settings.php:952
+#: ../../mod/settings.php:1029
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privat - <em>privat som standard, aldrig öppet eller offentligt</em>"
-#: ../../mod/settings.php:953
+#: ../../mod/settings.php:1030
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Blockera - <em>som standard blockerat till/från alla</em>"
-#: ../../mod/settings.php:955
+#: ../../mod/settings.php:1032
msgid "Allow others to tag your posts"
msgstr "Låt andra tagga dina inlägg"
-#: ../../mod/settings.php:955
+#: ../../mod/settings.php:1032
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Ofta använt av gemenskapen för att i efterhand flagga olämpligt innehåll"
-#: ../../mod/settings.php:957
+#: ../../mod/settings.php:1034
msgid "Advanced Privacy Settings"
msgstr "Avancerade integritetsinställningar"
-#: ../../mod/settings.php:959
+#: ../../mod/settings.php:1036
msgid "Expire other channel content after this many days"
msgstr "Låt annat kanalinnehåll upphöra efter efter så här många dagar"
-#: ../../mod/settings.php:959
+#: ../../mod/settings.php:1036
msgid "0 or blank prevents expiration"
msgstr "0 eller blankt förhindrar upphörande"
-#: ../../mod/settings.php:960
+#: ../../mod/settings.php:1037
msgid "Maximum Friend Requests/Day:"
msgstr "Högsta antal vänförfrågningar per dag:"
-#: ../../mod/settings.php:960
+#: ../../mod/settings.php:1037
msgid "May reduce spam activity"
msgstr "Kan reducera spamaktivitet"
-#: ../../mod/settings.php:961
+#: ../../mod/settings.php:1038
msgid "Default Post Permissions"
msgstr "Standardbehörighet för inlägg"
-#: ../../mod/settings.php:962 ../../mod/mitem.php:134 ../../mod/mitem.php:177
-msgid "(click to open/close)"
-msgstr "(klicka för att öppna/stänga)"
+#: ../../mod/settings.php:1043
+msgid "Channel permissions category:"
+msgstr "Kanalens behörighetskategori:"
-#: ../../mod/settings.php:973
+#: ../../mod/settings.php:1051
msgid "Maximum private messages per day from unknown people:"
msgstr "Högsta antal privata meddelanden per dag från okända personer:"
-#: ../../mod/settings.php:973
+#: ../../mod/settings.php:1051
msgid "Useful to reduce spamming"
msgstr "Användbart för att minska skräputskick"
-#: ../../mod/settings.php:976
+#: ../../mod/settings.php:1054
msgid "Notification Settings"
msgstr "Notifieringsinställningar"
-#: ../../mod/settings.php:977
+#: ../../mod/settings.php:1055
msgid "By default post a status message when:"
msgstr "Skicka som standard ett statusmeddelande när:"
-#: ../../mod/settings.php:978
+#: ../../mod/settings.php:1056
msgid "accepting a friend request"
msgstr "du accepterar en vänförfrågan"
-#: ../../mod/settings.php:979
+#: ../../mod/settings.php:1057
msgid "joining a forum/community"
msgstr "du går med i ett forum/en gemenskap"
-#: ../../mod/settings.php:980
+#: ../../mod/settings.php:1058
msgid "making an <em>interesting</em> profile change"
msgstr "du gör en <em>intressant</em> ändring av profilen"
-#: ../../mod/settings.php:981
+#: ../../mod/settings.php:1059
msgid "Send a notification email when:"
-msgstr "Skicka en notifiering via e-post med när:"
+msgstr "Skicka en notifiering via e-post när:"
-#: ../../mod/settings.php:982
+#: ../../mod/settings.php:1060
msgid "You receive a connection request"
msgstr "Du får en kontaktförfrågan"
-#: ../../mod/settings.php:983
+#: ../../mod/settings.php:1061
msgid "Your connections are confirmed"
msgstr "Dina kontakter bekräftas"
-#: ../../mod/settings.php:984
+#: ../../mod/settings.php:1062
msgid "Someone writes on your profile wall"
msgstr "Någon skriver på din profilvägg"
-#: ../../mod/settings.php:985
+#: ../../mod/settings.php:1063
msgid "Someone writes a followup comment"
msgstr "Någon skriver en uppföljande kommentar"
-#: ../../mod/settings.php:986
+#: ../../mod/settings.php:1064
msgid "You receive a private message"
msgstr "Du tar emot ett privat meddelande"
-#: ../../mod/settings.php:987
+#: ../../mod/settings.php:1065
msgid "You receive a friend suggestion"
msgstr "Du tar emot ett vänförslag"
-#: ../../mod/settings.php:988
+#: ../../mod/settings.php:1066
msgid "You are tagged in a post"
msgstr "Du taggas i ett inlägg"
-#: ../../mod/settings.php:989
+#: ../../mod/settings.php:1067
msgid "You are poked/prodded/etc. in a post"
msgstr "Du puffas/stöts till/etc. i ett inlägg"
-#: ../../mod/settings.php:992
-msgid "Advanced Account/Page Type Settings"
-msgstr "Avancerade konto-/sidtypsinställningar"
-
-#: ../../mod/settings.php:993
-msgid "Change the behaviour of this account for special situations"
-msgstr "Ändra det här kontots beteende i särskilda situationer"
-
-#: ../../mod/settings.php:996
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Aktivera expertläge (i <a href=\"settings/features\">Inställningar > Ytterligare funktioner</a>) för att göra ändringar!"
-
-#: ../../mod/settings.php:997
-msgid "Miscellaneous Settings"
-msgstr "Diverse inställningar"
-
-#: ../../mod/settings.php:999
-msgid "Personal menu to display in your channel pages"
-msgstr "Personlig meny att visa i dina kanalsidor"
-
-#: ../../mod/menu.php:21
-msgid "Menu updated."
-msgstr "Meny uppdaterad."
-
-#: ../../mod/menu.php:25
-msgid "Unable to update menu."
-msgstr "Kunde inte uppdatera meny."
-
-#: ../../mod/menu.php:30
-msgid "Menu created."
-msgstr "Meny skapad."
-
-#: ../../mod/menu.php:34
-msgid "Unable to create menu."
-msgstr "Kunde inte skapa meny."
-
-#: ../../mod/menu.php:57
-msgid "Manage Menus"
-msgstr "Hantera menyer"
-
-#: ../../mod/menu.php:60
-msgid "Drop"
-msgstr "Ta bort"
-
-#: ../../mod/menu.php:62
-msgid "Create a new menu"
-msgstr "Skapa en ny meny"
-
-#: ../../mod/menu.php:63
-msgid "Delete this menu"
-msgstr "Ta bort den här menyn"
-
-#: ../../mod/menu.php:64 ../../mod/menu.php:109
-msgid "Edit menu contents"
-msgstr "Redigera menyinnehåll"
-
-#: ../../mod/menu.php:65
-msgid "Edit this menu"
-msgstr "Redigera den här menyn"
-
-#: ../../mod/menu.php:80
-msgid "New Menu"
-msgstr "Ny meny"
-
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Menu name"
-msgstr "Menynamn"
-
-#: ../../mod/menu.php:81 ../../mod/menu.php:110
-msgid "Must be unique, only seen by you"
-msgstr "MÃ¥ste vara unikt, ses endast av dig"
-
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title"
-msgstr "Menytitel"
-
-#: ../../mod/menu.php:82 ../../mod/menu.php:111
-msgid "Menu title as seen by others"
-msgstr "Menytitel som andra ser den"
-
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Allow bookmarks"
-msgstr "Tillåt bokmärken"
-
-#: ../../mod/menu.php:83 ../../mod/menu.php:112
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Menyn kan användas för att spara bokmärken"
-
-#: ../../mod/menu.php:84 ../../mod/mitem.php:142 ../../mod/new_channel.php:117
-msgid "Create"
-msgstr "Skapa"
-
-#: ../../mod/menu.php:92 ../../mod/mitem.php:14
-msgid "Menu not found."
-msgstr "Menyn hittades inte."
-
-#: ../../mod/menu.php:98
-msgid "Menu deleted."
-msgstr "Meny borttagen."
-
-#: ../../mod/menu.php:100
-msgid "Menu could not be deleted."
-msgstr "Menyn kunde inte tas bort."
-
-#: ../../mod/menu.php:106
-msgid "Edit Menu"
-msgstr "Redigera meny"
-
-#: ../../mod/menu.php:108
-msgid "Add or remove entries to this menu"
-msgstr "Lägg till eller ta bort menyval"
-
-#: ../../mod/menu.php:114 ../../mod/mitem.php:186
-msgid "Modify"
-msgstr "Ändra"
-
-#: ../../mod/menu.php:120 ../../mod/mitem.php:78 ../../mod/xchan.php:27
-#: ../../mod/dirprofile.php:181
-msgid "Not found."
-msgstr "Hittades inte."
-
-#: ../../mod/webpages.php:122 ../../mod/layouts.php:116
-#: ../../mod/blocks.php:97
-msgid "View"
-msgstr "Visa"
-
-#: ../../mod/api.php:76 ../../mod/api.php:102
-msgid "Authorize application connection"
-msgstr "Tillåt anslutning av applikation"
-
-#: ../../mod/api.php:77
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Återgå till din applikation och ange den här säkerhetskoden:"
-
-#: ../../mod/api.php:89
-msgid "Please login to continue."
-msgstr "Logga in för att fortsätta."
-
-#: ../../mod/api.php:104
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Vill du låta den här applikationen få tillgång till dina inlägg och kontakter, och/eller skapa nya inlägg åt dig?"
-
-#: ../../mod/apps.php:8
-msgid "No installed applications."
-msgstr "Inga installerade applikationer"
-
-#: ../../mod/apps.php:13
-msgid "Applications"
-msgstr "Applikationer"
-
-#: ../../mod/editpost.php:20 ../../mod/editblock.php:8
-#: ../../mod/editblock.php:27 ../../mod/editblock.php:53
-#: ../../mod/editlayout.php:36 ../../mod/editwebpage.php:32
-msgid "Item not found"
-msgstr "Posten hittas inte"
-
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Posten går ej att redigera"
-
-#: ../../mod/editpost.php:42 ../../mod/rpost.php:86
-msgid "Edit post"
-msgstr "Redigera inlägg"
-
-#: ../../mod/editpost.php:53
-msgid "Delete item?"
-msgstr "Ta bort posten?"
-
-#: ../../mod/editpost.php:116 ../../mod/editblock.php:115
-#: ../../mod/editlayout.php:110 ../../mod/editwebpage.php:147
-msgid "Insert YouTube video"
-msgstr "Infoga Youtube-video"
-
-#: ../../mod/editpost.php:117 ../../mod/editblock.php:116
-#: ../../mod/editlayout.php:111 ../../mod/editwebpage.php:148
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Infoga Vorbis [.ogg]-video"
-
-#: ../../mod/editpost.php:118 ../../mod/editblock.php:117
-#: ../../mod/editlayout.php:112 ../../mod/editwebpage.php:149
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Infoga Vorbis [.ogg]-ljud"
-
-#: ../../mod/cloud.php:112
-msgid "Red Matrix - Guests: Username: {your email address}, Password: +++"
-msgstr "Red Matrix - Gäster: Användarnamn: {din e-postadress}, Lösenord: +++"
-
-#: ../../mod/bookmarks.php:38
-msgid "Bookmark added"
-msgstr "Bokmärke tillagt"
-
-#: ../../mod/bookmarks.php:58
-msgid "My Bookmarks"
-msgstr "Mina bokmärken"
-
-#: ../../mod/bookmarks.php:69
-msgid "My Connections Bookmarks"
-msgstr "Mina kontakters bokmärken"
-
-#: ../../mod/subthread.php:105
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s följer %2$ss %3$s"
-
-#: ../../mod/update_network.php:23 ../../mod/update_channel.php:43
-#: ../../mod/update_search.php:46 ../../mod/update_display.php:25
-msgid "[Embedded content - reload page to view]"
-msgstr "[Inbäddat innehåll - ladda om sidan för att visa]"
-
-#: ../../mod/chanview.php:77 ../../mod/home.php:50 ../../mod/page.php:47
-#: ../../mod/block.php:39 ../../mod/wall_upload.php:28
-msgid "Channel not found."
-msgstr "Kanalen hittas inte."
-
-#: ../../mod/chanview.php:93
-msgid "toggle full screen mode"
-msgstr "växla helskärmsläge"
-
-#: ../../mod/tagger.php:98
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s taggade%2$ss %3$s med %4$s"
-
-#: ../../mod/acl.php:239
-msgid "network"
-msgstr "nätverk"
-
-#: ../../mod/viewconnections.php:17 ../../mod/search.php:13
-#: ../../mod/directory.php:15 ../../mod/display.php:9
-#: ../../mod/dirprofile.php:9 ../../mod/photos.php:443
-msgid "Public access denied."
-msgstr "Offentlig behörighet saknas."
+#: ../../mod/settings.php:1070
+msgid "Show visual notifications including:"
+msgstr "Visa visuella notifieringar vid:"
-#: ../../mod/viewconnections.php:50
-msgid "No connections."
-msgstr "Inga kontakter."
+#: ../../mod/settings.php:1072
+msgid "Unseen matrix activity"
+msgstr "Oläst matrisaktivitet"
-#: ../../mod/viewconnections.php:62
-#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Besök %ss profil [%s]"
-
-#: ../../mod/viewconnections.php:77
-msgid "View Connnections"
-msgstr "Visa kontakter"
+#: ../../mod/settings.php:1073
+msgid "Unseen channel activity"
+msgstr "Oläst kanalaktivitet"
-#: ../../mod/tagrm.php:41
-msgid "Tag removed"
-msgstr "Tagg borttagen"
+#: ../../mod/settings.php:1074
+msgid "Unseen private messages"
+msgstr "Olästa privata meddelanden"
-#: ../../mod/tagrm.php:79
-msgid "Remove Item Tag"
-msgstr "Ta bort innehållstagg"
+#: ../../mod/settings.php:1074 ../../mod/settings.php:1079
+#: ../../mod/settings.php:1080 ../../mod/settings.php:1081
+msgid "Recommended"
+msgstr "Rekommenderas"
-#: ../../mod/tagrm.php:81
-msgid "Select a tag to remove: "
-msgstr "Välj en tagg att ta bort: "
+#: ../../mod/settings.php:1075
+msgid "Upcoming events"
+msgstr "Kommande händelser"
-#: ../../mod/tagrm.php:93 ../../mod/delegate.php:130 ../../mod/photos.php:908
-msgid "Remove"
-msgstr "Ta bort"
+#: ../../mod/settings.php:1076
+msgid "Events today"
+msgstr "Dagens händelser"
-#: ../../mod/connect.php:55 ../../mod/connect.php:103
-msgid "Continue"
-msgstr "Fortsätt"
+#: ../../mod/settings.php:1077
+msgid "Upcoming birthdays"
+msgstr "Kommande födelsedagar"
-#: ../../mod/connect.php:84
-msgid "Premium Channel Setup"
-msgstr "Inställning av premiumkanal"
+#: ../../mod/settings.php:1077
+msgid "Not available in all themes"
+msgstr "Inte tillgänglig i alla teman"
-#: ../../mod/connect.php:86
-msgid "Enable premium channel connection restrictions"
-msgstr "Aktivera kontaktrestriktioner för premiumkanal"
+#: ../../mod/settings.php:1078
+msgid "System (personal) notifications"
+msgstr "Systemmeddelanden (personliga)"
-#: ../../mod/connect.php:87
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Ange dina restriktioner och villkor, som Paypal-kvitto, användarriktlinjer, etc."
+#: ../../mod/settings.php:1079
+msgid "System info messages"
+msgstr "Systemmeddelanden"
-#: ../../mod/connect.php:89 ../../mod/connect.php:109
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Den här kanalen kan kräva ytterligare steg eller godkännande av följande villkor innan anslutning:"
+#: ../../mod/settings.php:1080
+msgid "System critical alerts"
+msgstr "Systemkritiska varningar"
-#: ../../mod/connect.php:90
-msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Potentiella kontakter kommer sedan att se följande text innan de går vidare:"
+#: ../../mod/settings.php:1081
+msgid "New connections"
+msgstr "Nya kontakter"
-#: ../../mod/connect.php:91 ../../mod/connect.php:112
-msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "Genom att fortsätta intygar jag att jag har följt alla instruktioner som ges på den här sidan."
+#: ../../mod/settings.php:1082
+msgid "System Registrations"
+msgstr "Systemregistreringar"
-#: ../../mod/connect.php:100
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Inga specifika instruktioner har givits av kanalägaren.)"
+#: ../../mod/settings.php:1084
+msgid "Notify me of events this many days in advance"
+msgstr "Meddela mig om händelser så här många dagar i förväg"
-#: ../../mod/connect.php:108
-msgid "Restricted or Premium Channel"
-msgstr "Begränsad kanal eller premiumkanal"
+#: ../../mod/settings.php:1084
+msgid "Must be greater than 0"
+msgstr "Måste vara större än 0"
-#: ../../mod/delegate.php:95
-msgid "No potential page delegates located."
-msgstr "Inga potentiella sid-ombud funna."
+#: ../../mod/settings.php:1086
+msgid "Advanced Account/Page Type Settings"
+msgstr "Avancerade konto-/sidtypsinställningar"
-#: ../../mod/delegate.php:121
-msgid "Delegate Page Management"
-msgstr "Delegera sidhantering"
+#: ../../mod/settings.php:1087
+msgid "Change the behaviour of this account for special situations"
+msgstr "Ändra det här kontots beteende i särskilda situationer"
-#: ../../mod/delegate.php:123
+#: ../../mod/settings.php:1090
msgid ""
-"Delegates are able to manage all aspects of this account/page except for "
-"basic account settings. Please do not delegate your personal account to "
-"anybody that you do not trust completely."
-msgstr "Ombud kan hantera alla aspekter av det här kontot/den här sidan förutom grundläggande kontoinställningar. Delegera inte ditt personliga konto till någon som du inte litar fullständigt på."
-
-#: ../../mod/delegate.php:124
-msgid "Existing Page Managers"
-msgstr "Befintliga sid-ansvariga"
-
-#: ../../mod/delegate.php:126
-msgid "Existing Page Delegates"
-msgstr "Befintliga sid-ombud"
-
-#: ../../mod/delegate.php:128
-msgid "Potential Delegates"
-msgstr "Potentiella ombud"
-
-#: ../../mod/delegate.php:131
-msgid "Add"
-msgstr "Lägg till"
-
-#: ../../mod/delegate.php:132
-msgid "No entries."
-msgstr "Inga poster."
-
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
-msgstr "Layout uppdaterad."
-
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
-msgstr "Redigera systemsidbeskrivning"
-
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
-msgstr "Layout hittas inte."
-
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
-msgstr "Modulnamn:"
-
-#: ../../mod/pdledit.php:55 ../../mod/layouts.php:59
-msgid "Layout Help"
-msgstr "Layouthjälp"
-
-#: ../../mod/attach.php:9
-msgid "Item not available."
-msgstr "Post inte tillgänglig."
-
-#: ../../mod/item.php:147
-msgid "Unable to locate original post."
-msgstr "Kunde inte hitta originalinlägget."
-
-#: ../../mod/item.php:345
-msgid "Empty post discarded."
-msgstr "Tomt inlägg förkastat."
-
-#: ../../mod/item.php:385
-msgid "Executable content type not permitted to this channel."
-msgstr "Körbart innehåll tillåts inte i den här kanalen."
-
-#: ../../mod/item.php:794
-msgid "System error. Post not saved."
-msgstr "Systemfel. Inlägget inte sparat."
-
-#: ../../mod/item.php:1237
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Du har nått din gräns på %1$.0f toppnivåinlägg."
-
-#: ../../mod/item.php:1243
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Du har nått din gräns på %1$.0f webbsidor."
-
-#: ../../mod/mitem.php:47
-msgid "Menu element updated."
-msgstr "Menyval uppdaterat."
-
-#: ../../mod/mitem.php:51
-msgid "Unable to update menu element."
-msgstr "Kunde inte uppdatera menyval."
-
-#: ../../mod/mitem.php:57
-msgid "Menu element added."
-msgstr "Menyval tillagt."
-
-#: ../../mod/mitem.php:61
-msgid "Unable to add menu element."
-msgstr "Kunde inte lägga till menyval."
-
-#: ../../mod/mitem.php:96
-msgid "Manage Menu Elements"
-msgstr "Hantera menyval"
-
-#: ../../mod/mitem.php:99
-msgid "Edit menu"
-msgstr "Redigera meny"
-
-#: ../../mod/mitem.php:102
-msgid "Edit element"
-msgstr "Redigera menyval"
-
-#: ../../mod/mitem.php:103
-msgid "Drop element"
-msgstr "Ta bort menyval"
-
-#: ../../mod/mitem.php:104
-msgid "New element"
-msgstr "Nytt menyval"
-
-#: ../../mod/mitem.php:105
-msgid "Edit this menu container"
-msgstr "Redigera den här menysamlaren"
-
-#: ../../mod/mitem.php:106
-msgid "Add menu element"
-msgstr "Lägg till menyval"
-
-#: ../../mod/mitem.php:107
-msgid "Delete this menu item"
-msgstr "Ta bort det här menyvalet"
-
-#: ../../mod/mitem.php:108
-msgid "Edit this menu item"
-msgstr "Redigera det här menyvalet"
-
-#: ../../mod/mitem.php:131
-msgid "New Menu Element"
-msgstr "Nytt menyval"
-
-#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
-msgid "Menu Item Permissions"
-msgstr "Behörighet för menyval"
-
-#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
-msgid "Link text"
-msgstr "Länktext"
-
-#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
-msgid "URL of link"
-msgstr "Länkens URL"
-
-#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
-msgid "Use Red magic-auth if available"
-msgstr "Använd Red magic-auth om tillgängligt"
-
-#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
-msgid "Open link in new window"
-msgstr "Öppna länk i nytt fönster"
-
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
-msgid "Order in list"
-msgstr "Ordningstal i listan"
-
-#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "Större tal sjunker till botten av listan"
-
-#: ../../mod/mitem.php:154
-msgid "Menu item not found."
-msgstr "Menyval hittas inte."
-
-#: ../../mod/mitem.php:163
-msgid "Menu item deleted."
-msgstr "Menyval borttaget."
-
-#: ../../mod/mitem.php:165
-msgid "Menu item could not be deleted."
-msgstr "Menyval kunde inte tas bort."
-
-#: ../../mod/mitem.php:174
-msgid "Edit Menu Element"
-msgstr "Redigera menyval"
-
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
-msgstr "ogiltig målsignatur"
-
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
-msgstr "Ogiltigt profil-ID."
-
-#: ../../mod/profperm.php:105
-msgid "Profile Visibility Editor"
-msgstr "Redigera profilsynlighet"
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr "Aktivera expertläge (i <a href=\"settings/features\">Inställningar > Ytterligare funktioner</a>) för att göra ändringar!"
-#: ../../mod/profperm.php:109
-msgid "Click on a contact to add or remove."
-msgstr "Klicka på en kontakt för att lägga till eller ta bort."
+#: ../../mod/settings.php:1091
+msgid "Miscellaneous Settings"
+msgstr "Diverse inställningar"
-#: ../../mod/profperm.php:118
-msgid "Visible To"
-msgstr "Synlig för"
+#: ../../mod/settings.php:1093
+msgid "Personal menu to display in your channel pages"
+msgstr "Personlig meny att visa i dina kanalsidor"
-#: ../../mod/profperm.php:134 ../../mod/connections.php:277
-msgid "All Connections"
-msgstr "Alla kontakter"
+#: ../../mod/settings.php:1094
+msgid "Remove this channel"
+msgstr "Ta bort den här kanalen"
#: ../../mod/group.php:20
msgid "Collection created."
-msgstr "Sammanhang skapat"
+msgstr "Krets skapad."
#: ../../mod/group.php:26
msgid "Could not create collection."
-msgstr "Kunde inte skapa sammanhanget."
+msgstr "Kunde inte skapa krets."
#: ../../mod/group.php:54
msgid "Collection updated."
-msgstr "Sammanhanget uppdatarat."
+msgstr "Kretsen uppdaterad."
#: ../../mod/group.php:86
msgid "Create a collection of channels."
-msgstr "Skapa ett sammanhang av kanaler."
+msgstr "Skapa en krets av kanaler."
#: ../../mod/group.php:87 ../../mod/group.php:183
msgid "Collection Name: "
-msgstr "Namn på sammanhang: "
+msgstr "Namn på krets: "
#: ../../mod/group.php:89 ../../mod/group.php:186
msgid "Members are visible to other channels"
-msgstr "Medlemmar är synliga för andra kanaler"
+msgstr "Medlemmar kan ses av andra kanaler"
#: ../../mod/group.php:107
msgid "Collection removed."
-msgstr "Sammanhang borttaget."
+msgstr "Krets borttagen."
#: ../../mod/group.php:109
msgid "Unable to remove collection."
-msgstr "Kunde inte ta bort sammanhang."
+msgstr "Kunde inte ta bort krets."
#: ../../mod/group.php:182
msgid "Collection Editor"
-msgstr "Sammanhangsredigering"
+msgstr "Redigera krets"
#: ../../mod/group.php:196
msgid "Members"
@@ -4538,1279 +4473,1370 @@ msgstr "Medlemmar"
msgid "All Connected Channels"
msgstr "Alla anslutna kanaler"
-#: ../../mod/group.php:231
+#: ../../mod/group.php:233
msgid "Click on a channel to add or remove."
msgstr "Klicka på en kanal för att lägga till eller ta bort."
-#: ../../mod/admin.php:52
-msgid "Theme settings updated."
-msgstr "Temainställningar uppdaterade."
-
-#: ../../mod/admin.php:92 ../../mod/admin.php:440
-msgid "Site"
-msgstr "Server"
-
-#: ../../mod/admin.php:93
-msgid "Accounts"
-msgstr "Konton"
-
-#: ../../mod/admin.php:94 ../../mod/admin.php:883
-msgid "Channels"
-msgstr "Kanaler"
-
-#: ../../mod/admin.php:95 ../../mod/admin.php:974 ../../mod/admin.php:1016
-msgid "Plugins"
-msgstr "Tillägg"
-
-#: ../../mod/admin.php:96 ../../mod/admin.php:1179 ../../mod/admin.php:1215
-msgid "Themes"
-msgstr "Teman"
-
-#: ../../mod/admin.php:97 ../../mod/admin.php:540
-msgid "Server"
-msgstr "Server"
-
-#: ../../mod/admin.php:98
-msgid "DB updates"
-msgstr "Databasuppdateringar"
-
-#: ../../mod/admin.php:112 ../../mod/admin.php:119 ../../mod/admin.php:1302
-msgid "Logs"
-msgstr "Loggar"
-
-#: ../../mod/admin.php:118
-msgid "Plugin Features"
-msgstr "Tilläggsfunktioner"
-
-#: ../../mod/admin.php:120
-msgid "User registrations waiting for confirmation"
-msgstr "Användarregistreringar som behöver bekräftas"
-
-#: ../../mod/admin.php:197
-msgid "Message queues"
-msgstr "Meddelandeköer"
-
-#: ../../mod/admin.php:202 ../../mod/admin.php:439 ../../mod/admin.php:539
-#: ../../mod/admin.php:748 ../../mod/admin.php:882 ../../mod/admin.php:973
-#: ../../mod/admin.php:1015 ../../mod/admin.php:1178 ../../mod/admin.php:1214
-#: ../../mod/admin.php:1301
-msgid "Administration"
-msgstr "Administration"
-
-#: ../../mod/admin.php:203
-msgid "Summary"
-msgstr "Sammanfattning"
-
-#: ../../mod/admin.php:205
-msgid "Registered users"
-msgstr "Registrerade användare"
-
-#: ../../mod/admin.php:207 ../../mod/admin.php:543
-msgid "Pending registrations"
-msgstr "Pågående registreringar"
-
-#: ../../mod/admin.php:208
-msgid "Version"
-msgstr "Version"
-
-#: ../../mod/admin.php:210 ../../mod/admin.php:544
-msgid "Active plugins"
-msgstr "Aktiva tillägg"
-
-#: ../../mod/admin.php:360
-msgid "Site settings updated."
-msgstr "Serverinställningar uppdaterade."
-
-#: ../../mod/admin.php:391
-msgid "No special theme for accessibility"
-msgstr "Inget speciellt tema för tillgänglighet"
-
-#: ../../mod/admin.php:419
-msgid "Closed"
-msgstr "Stängd"
-
-#: ../../mod/admin.php:420
-msgid "Requires approval"
-msgstr "Kräver godkännande"
-
-#: ../../mod/admin.php:421
-msgid "Open"
-msgstr "Öppen"
-
-#: ../../mod/admin.php:426
-msgid "Private"
-msgstr "Privat"
-
-#: ../../mod/admin.php:427
-msgid "Paid Access"
-msgstr "Betald åtkomst"
-
-#: ../../mod/admin.php:428
-msgid "Free Access"
-msgstr "Fri åtkomst"
-
-#: ../../mod/admin.php:429
-msgid "Tiered Access"
-msgstr "Uppdelad åtkomst"
-
-#: ../../mod/admin.php:442 ../../mod/register.php:189
-msgid "Registration"
-msgstr "Registrering"
-
-#: ../../mod/admin.php:443
-msgid "File upload"
-msgstr "Filuppladdning"
-
-#: ../../mod/admin.php:444
-msgid "Policies"
-msgstr "Policyer"
-
-#: ../../mod/admin.php:449
-msgid "Site name"
-msgstr "Servernamn"
-
-#: ../../mod/admin.php:450
-msgid "Banner/Logo"
-msgstr "Banner/logga"
-
-#: ../../mod/admin.php:451
-msgid "Administrator Information"
-msgstr "Administratörsinformation"
-
-#: ../../mod/admin.php:451
-msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Kontaktinfo till sidadministratörer. Visas på sidinfosidan. BBCode kan användas här"
-
-#: ../../mod/admin.php:452
-msgid "System language"
-msgstr "Systemspråk"
-
-#: ../../mod/admin.php:453
-msgid "System theme"
-msgstr "Systemtema"
-
-#: ../../mod/admin.php:453
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Förvalt systemtema - kan åsidosättas i användarprofiler - <a href='#' id='cnftheme'>ändra temainställningar</a>"
-
-#: ../../mod/admin.php:454
-msgid "Mobile system theme"
-msgstr "Mobilt systemtema"
-
-#: ../../mod/admin.php:454
-msgid "Theme for mobile devices"
-msgstr "Tema för mobila enheter"
-
-#: ../../mod/admin.php:455
-msgid "Accessibility system theme"
-msgstr "Systemtema för ökad tillgänglighet"
-
-#: ../../mod/admin.php:455
-msgid "Accessibility theme"
-msgstr "Tillgänglighetstema"
-
-#: ../../mod/admin.php:456
-msgid "Channel to use for this website's static pages"
-msgstr "Kanal att använda för den här webbplatsens statiska sidor"
-
-#: ../../mod/admin.php:456
-msgid "Site Channel"
-msgstr "Sidkanal"
-
-#: ../../mod/admin.php:458
-msgid "Maximum image size"
-msgstr "Maximal bildstorlek"
-
-#: ../../mod/admin.php:458
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Maximal storlek i byte för uppladdade bilder. Standard är 0, vilket innebär ingen storleksbegränsning."
-
-#: ../../mod/admin.php:459
-msgid "Register policy"
-msgstr "Registreringspolicy"
-
-#: ../../mod/admin.php:460
-msgid "Access policy"
-msgstr "Ã…tkomstpolicy"
-
-#: ../../mod/admin.php:461
-msgid "Register text"
-msgstr "Registreringstext"
-
-#: ../../mod/admin.php:461
-msgid "Will be displayed prominently on the registration page."
-msgstr "Visas tydligt på registreringssidan."
-
-#: ../../mod/admin.php:462
-msgid "Accounts abandoned after x days"
-msgstr "Konto övergivet efter x dagar"
-
-#: ../../mod/admin.php:462
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Slösar inte systemresurser genom att fråga externa servrar efter övergivna konton. 0 innebär ingen tidsbegränsning."
-
-#: ../../mod/admin.php:463
-msgid "Allowed friend domains"
-msgstr "Tillåtna vändomäner"
-
-#: ../../mod/admin.php:463
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Kommaseparerad lista med domäner som tillåts att upprätta ett vänförhållande med den här servern. Jokertecken är tillåtna. Töm för att tillåta alla domäner."
-
-#: ../../mod/admin.php:464
-msgid "Allowed email domains"
-msgstr "Tillåtna e-postdomäner"
-
-#: ../../mod/admin.php:464
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Kommaseparerad lista med domäner som tillåts i e-postadresser för registreringar på den här servern. Jokertecken är tillåtna. Töm för att tillåta alla domäner."
-
-#: ../../mod/admin.php:465
-msgid "Block public"
-msgstr "Blockera offentlig åtkomst"
-
-#: ../../mod/admin.php:465
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently logged in."
-msgstr "Välj för att blockera åtkomst till alla personliga sidor som annars skulle vara offentliga på den här servern om man inte är inloggad."
-
-#: ../../mod/admin.php:466
-msgid "Force publish"
-msgstr "Tvinga publicering"
-
-#: ../../mod/admin.php:466
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Välj för att tvinga alla profiler på den här servern att listas i serverkatalogen."
-
-#: ../../mod/admin.php:467
-msgid "Disable discovery tab"
-msgstr "Inaktivera upptäck-fliken"
-
-#: ../../mod/admin.php:467
-msgid ""
-"Remove the tab in the network view with public content pulled from sources "
-"chosen for this site."
-msgstr "Ta bort fliken i nätverksvyn med offentligt innehåll som hämtas från källor valda för den här servern."
-
-#: ../../mod/admin.php:468
-msgid "No login on Homepage"
-msgstr "Ingen inloggning på hemsidan"
-
-#: ../../mod/admin.php:468
-msgid ""
-"Check to hide the login form from your sites homepage when visitors arrive "
-"who are not logged in (e.g. when you put the content of the homepage in via "
-"the site channel)."
-msgstr "Välj för att gömma inloggningsformuläret från serverns hemsida för oinloggade besökare (t.ex. när du lägger in hemsideinnehållet via serverkanalen)."
-
-#: ../../mod/admin.php:470
-msgid "Proxy user"
-msgstr "Proxyanvändare"
-
-#: ../../mod/admin.php:471
-msgid "Proxy URL"
-msgstr "Proxy-URL"
-
-#: ../../mod/admin.php:472
-msgid "Network timeout"
-msgstr "Nätverkstimeout"
-
-#: ../../mod/admin.php:472
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Värde i sekunder. Sätt till 0 för obegränsat (ej rekommenderat)."
-
-#: ../../mod/admin.php:473
-msgid "Delivery interval"
-msgstr "Leveransintervall"
-
-#: ../../mod/admin.php:473
-msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr "Fördröj leveransprocesser som görs i bakgrunden så här många sekunder för att reducera systembelastningen. Rekommenderat: 4-5 för delade värdar, 2-3 för virtuella privata servrar. 0-1 för stora dedikerade servrar."
-
-#: ../../mod/admin.php:474
-msgid "Poll interval"
-msgstr "Hämtningsintervall"
-
-#: ../../mod/admin.php:474
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Fördröj hämtningsprocesser som görs i bakgrunden så här många sekunder för att reducera systembelastningen. Om 0 används leveransintervallet."
-
-#: ../../mod/admin.php:475
-msgid "Maximum Load Average"
-msgstr "Maximal genomsnittsbelastning"
-
-#: ../../mod/admin.php:475
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Maximal systembelastning innan leverans- och hämtningsprocesser skjuts upp - standard är 50."
-
-#: ../../mod/admin.php:531
-msgid "No server found"
-msgstr "Ingen server hittad"
-
-#: ../../mod/admin.php:538 ../../mod/admin.php:762
-msgid "ID"
-msgstr "ID"
-
-#: ../../mod/admin.php:538
-msgid "for channel"
-msgstr "för kanal"
-
-#: ../../mod/admin.php:538
-msgid "on server"
-msgstr "på server"
-
-#: ../../mod/admin.php:538
-msgid "Status"
-msgstr "Status"
-
-#: ../../mod/admin.php:559
-msgid "Update has been marked successful"
-msgstr "Uppdatering har markerats som genomförd"
-
-#: ../../mod/admin.php:569
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Körning av %s misslyckades. Kontrollera systemloggarna."
-
-#: ../../mod/admin.php:572
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "Uppdatering %s genomfördes utan problem."
-
-#: ../../mod/admin.php:576
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "Uppdatering %s returnerade ingen status. Oklart om den lyckades."
-
-#: ../../mod/admin.php:579
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "Uppdateringsfunktion %s kunde inte hittas."
-
-#: ../../mod/admin.php:594
-msgid "No failed updates."
-msgstr "Inga misslyckade uppdateringar."
-
-#: ../../mod/admin.php:598
-msgid "Failed Updates"
-msgstr "Misslyckade uppdateringar"
-
-#: ../../mod/admin.php:600
-msgid "Mark success (if update was manually applied)"
-msgstr "Markera som genomförd (om uppdateringen gjordes manuellt)"
-
-#: ../../mod/admin.php:601
-msgid "Attempt to execute this update step automatically"
-msgstr "Försök att köra den här uppdateringen automatiskt"
-
-#: ../../mod/admin.php:627
-#, php-format
-msgid "%s user blocked/unblocked"
-msgid_plural "%s users blocked/unblocked"
-msgstr[0] "%s användare blockerad/avblockerad"
-msgstr[1] "%s användare blockerade/avblockerade"
-
-#: ../../mod/admin.php:634
-#, php-format
-msgid "%s user deleted"
-msgid_plural "%s users deleted"
-msgstr[0] "%s användare borttagen"
-msgstr[1] "%s användare borttagna"
-
-#: ../../mod/admin.php:665
-msgid "Account not found"
-msgstr "Konto hittas inte"
-
-#: ../../mod/admin.php:676
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Användare '%s' borttagen"
-
-#: ../../mod/admin.php:685
-#, php-format
-msgid "User '%s' unblocked"
-msgstr "Användare '%s' avblockerad"
-
-#: ../../mod/admin.php:685
-#, php-format
-msgid "User '%s' blocked"
-msgstr "Användare '%s' blockerad"
-
-#: ../../mod/admin.php:749 ../../mod/admin.php:761
-msgid "Users"
-msgstr "Användare"
-
-#: ../../mod/admin.php:751 ../../mod/admin.php:885
-msgid "select all"
-msgstr "välj alla"
-
-#: ../../mod/admin.php:752
-msgid "User registrations waiting for confirm"
-msgstr "Användarregistreringar som inväntar bekräftelse"
-
-#: ../../mod/admin.php:753
-msgid "Request date"
-msgstr "Ansökningsdatum"
-
-#: ../../mod/admin.php:754
-msgid "No registrations."
-msgstr "Inga registreringar."
-
-#: ../../mod/admin.php:755
-msgid "Approve"
-msgstr "Godkänn"
-
-#: ../../mod/admin.php:756
-msgid "Deny"
-msgstr "Avslå"
-
-#: ../../mod/admin.php:758 ../../mod/connedit.php:339
-#: ../../mod/connedit.php:481
-msgid "Block"
-msgstr "Blockera"
-
-#: ../../mod/admin.php:759 ../../mod/connedit.php:339
-#: ../../mod/connedit.php:481
-msgid "Unblock"
-msgstr "Avblockera"
-
-#: ../../mod/admin.php:762
-msgid "Register date"
-msgstr "Registreringsdatum"
-
-#: ../../mod/admin.php:762
-msgid "Last login"
-msgstr "Senaste inloggning"
-
-#: ../../mod/admin.php:762
-msgid "Expires"
-msgstr "Upphör att gälla"
-
-#: ../../mod/admin.php:762
-msgid "Service Class"
-msgstr "Tjänsteklass"
-
-#: ../../mod/admin.php:764
-msgid ""
-"Selected users will be deleted!\\n\\nEverything these users had posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Valda användare kommer att tas bort!\\n\\nAllt dessa användare har postat på den här servern kommer att raderas permanent!\\n\\nÄr du säker?"
-
-#: ../../mod/admin.php:765
-msgid ""
-"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
-"site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Användaren {0} kommer att tas bort!\\n\\nAllt den här användaren har postat på den här servern kommer att raderas permanent!\\n\\nÄr du säker?"
-
-#: ../../mod/admin.php:797
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channelss censored/uncensored"
-msgstr[0] "%s kanal censurerad/avcensurerad"
-msgstr[1] "%s kanaler censurerade/avcensurerade"
-
-#: ../../mod/admin.php:804
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s kanal borttagen"
-msgstr[1] "%s kanaler borttagna"
-
-#: ../../mod/admin.php:823
-msgid "Channel not found"
-msgstr "Kanal hittas inte"
-
-#: ../../mod/admin.php:834
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Kanalen '%s' togs bort"
-
-#: ../../mod/admin.php:844
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Kanal '%s' avcensurerad"
-
-#: ../../mod/admin.php:844
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Kanal '%s' censurerad"
-
-#: ../../mod/admin.php:887
-msgid "Censor"
-msgstr "Censurera"
-
-#: ../../mod/admin.php:888
-msgid "Uncensor"
-msgstr "Avcensurera"
-
-#: ../../mod/admin.php:891
-msgid "UID"
-msgstr "UID"
-
-#: ../../mod/admin.php:891 ../../mod/profiles.php:337
-msgid "Address"
-msgstr "Adress"
-
-#: ../../mod/admin.php:893
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Valda kanaler kommer att tas bort!\\n\\nAllt som har postats i de kanalerna på den här servern kommer att raderas permanent!\\n\\nÄr du säker?"
-
-#: ../../mod/admin.php:894
-msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Kanalen {0} kommer att tas bort!\\n\\nAllt som har postats i den här kanalen på den här servern kommer att raderas permanent!\\n\\nÄr du säker?"
-
-#: ../../mod/admin.php:933
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Tillägg %s inaktiverat."
+#: ../../mod/search.php:13 ../../mod/photos.php:458 ../../mod/display.php:9
+#: ../../mod/viewconnections.php:17 ../../mod/directory.php:22
+msgid "Public access denied."
+msgstr "Offentlig behörighet saknas."
-#: ../../mod/admin.php:937
+#: ../../mod/subthread.php:103
#, php-format
-msgid "Plugin %s enabled."
-msgstr "Tillägg %s aktiverat."
-
-#: ../../mod/admin.php:947 ../../mod/admin.php:1149
-msgid "Disable"
-msgstr "Inaktivera"
-
-#: ../../mod/admin.php:949 ../../mod/admin.php:1151
-msgid "Enable"
-msgstr "Aktivera"
-
-#: ../../mod/admin.php:975 ../../mod/admin.php:1180
-msgid "Toggle"
-msgstr "Växla"
-
-#: ../../mod/admin.php:983 ../../mod/admin.php:1190
-msgid "Author: "
-msgstr "Författare:"
-
-#: ../../mod/admin.php:984 ../../mod/admin.php:1191
-msgid "Maintainer: "
-msgstr "Underhållare:"
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s följer %2$ss %3$s"
-#: ../../mod/admin.php:1113
-msgid "No themes found."
-msgstr "Inga teman funna."
+#: ../../mod/poke.php:159
+msgid "Poke/Prod"
+msgstr "Puffa/stöt till"
-#: ../../mod/admin.php:1172
-msgid "Screenshot"
-msgstr "Skärmdump"
+#: ../../mod/poke.php:160
+msgid "poke, prod or do other things to somebody"
+msgstr "puffa, stöt till eller gör andra saker mot någon"
-#: ../../mod/admin.php:1220
-msgid "[Experimental]"
-msgstr "[Experimentellt]"
+#: ../../mod/poke.php:161
+msgid "Recipient"
+msgstr "Mottagare"
-#: ../../mod/admin.php:1221
-msgid "[Unsupported]"
-msgstr "[Utan support]"
+#: ../../mod/poke.php:162
+msgid "Choose what you wish to do to recipient"
+msgstr "Välj vad du önskar göra med mottagaren"
-#: ../../mod/admin.php:1248
-msgid "Log settings updated."
-msgstr "Logginställningar uppdaterade."
+#: ../../mod/poke.php:165
+msgid "Make this post private"
+msgstr "Gör det här inlägget privat"
-#: ../../mod/admin.php:1304
-msgid "Clear"
-msgstr "Rensa"
+#: ../../mod/api.php:76 ../../mod/api.php:102
+msgid "Authorize application connection"
+msgstr "Tillåt anslutning av applikation"
-#: ../../mod/admin.php:1310
-msgid "Debugging"
-msgstr "Avlusning"
+#: ../../mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Återgå till din applikation och ange den här säkerhetskoden:"
-#: ../../mod/admin.php:1311
-msgid "Log file"
-msgstr "Loggfil"
+#: ../../mod/api.php:89
+msgid "Please login to continue."
+msgstr "Logga in för att fortsätta."
-#: ../../mod/admin.php:1311
+#: ../../mod/api.php:104
msgid ""
-"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Måste vara skrivbar för webbservern. Anges relativt Reds toppkatalog."
-
-#: ../../mod/admin.php:1312
-msgid "Log level"
-msgstr "Loggnivå"
-
-#: ../../mod/filer.php:49
-msgid "- select -"
-msgstr "- välj -"
-
-#: ../../mod/home.php:89
-#, php-format
-msgid "Welcome to %s"
-msgstr "Välkommen till %s"
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Vill du låta den här applikationen få tillgång till dina inlägg och kontakter, och/eller skapa nya inlägg åt dig?"
-#: ../../mod/setup.php:162
+#: ../../mod/setup.php:166
msgid "Red Matrix Server - Setup"
msgstr "Red Matrix-server - inställningar"
-#: ../../mod/setup.php:168
+#: ../../mod/setup.php:172
msgid "Could not connect to database."
msgstr "Kunde inte ansluta till databasen."
-#: ../../mod/setup.php:172
+#: ../../mod/setup.php:176
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "Kunde inte ansluta till den angivna server-URL:en. Möjligt problem med SSL-certifikat eller DNS."
-#: ../../mod/setup.php:179
+#: ../../mod/setup.php:183
msgid "Could not create table."
msgstr "Kunde inte skapa tabell."
-#: ../../mod/setup.php:185
+#: ../../mod/setup.php:189
msgid "Your site database has been installed."
msgstr "Din serverdatabas har installerats."
-#: ../../mod/setup.php:190
+#: ../../mod/setup.php:194
msgid ""
-"You may need to import the file \"install/database.sql\" manually using "
-"phpmyadmin or mysql."
-msgstr "Du kan behöva importera filen \"install/database.sql\" manuellt med phpmyadmin eller mysql."
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Du kan behöva importera filen \"install/schema_xxx.sql\" manuellt med en databasklient."
-#: ../../mod/setup.php:191 ../../mod/setup.php:260 ../../mod/setup.php:641
+#: ../../mod/setup.php:195 ../../mod/setup.php:264 ../../mod/setup.php:663
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Se filen \"install/INSTALL.txt\"."
-#: ../../mod/setup.php:257
+#: ../../mod/setup.php:261
msgid "System check"
msgstr "Systemkontroll"
-#: ../../mod/setup.php:262
+#: ../../mod/setup.php:265 ../../mod/events.php:445 ../../mod/photos.php:868
+msgid "Next"
+msgstr "Nästa"
+
+#: ../../mod/setup.php:266
msgid "Check again"
msgstr "Kontrollera igen"
-#: ../../mod/setup.php:284
+#: ../../mod/setup.php:289
msgid "Database connection"
msgstr "Databasanslutning"
-#: ../../mod/setup.php:285
+#: ../../mod/setup.php:290
msgid ""
"In order to install Red Matrix we need to know how to connect to your "
"database."
msgstr "För att kunna installera Red Matrix behöver vi veta hur databasen ska anslutas."
-#: ../../mod/setup.php:286
+#: ../../mod/setup.php:291
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Kontakta din servervärd eller administratör om du har frågor om de här inställningarna."
-#: ../../mod/setup.php:287
+#: ../../mod/setup.php:292
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "Databasen du anger nedan måste finnas. Om den inte gör det, skapa den innan du fortsätter."
-#: ../../mod/setup.php:291
+#: ../../mod/setup.php:296
msgid "Database Server Name"
msgstr "Databasserver"
-#: ../../mod/setup.php:291
+#: ../../mod/setup.php:296
msgid "Default is localhost"
msgstr "Standard är localhost"
-#: ../../mod/setup.php:292
+#: ../../mod/setup.php:297
msgid "Database Port"
msgstr "Databasport"
-#: ../../mod/setup.php:292
+#: ../../mod/setup.php:297
msgid "Communication port number - use 0 for default"
msgstr "Kommunikationsportnummer - använd 0 för standardinställning"
-#: ../../mod/setup.php:293
+#: ../../mod/setup.php:298
msgid "Database Login Name"
msgstr "Loginnamn till databas"
-#: ../../mod/setup.php:294
+#: ../../mod/setup.php:299
msgid "Database Login Password"
msgstr "Lösenord till databas"
-#: ../../mod/setup.php:295
+#: ../../mod/setup.php:300
msgid "Database Name"
msgstr "Databasnamn"
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
+#: ../../mod/setup.php:301
+msgid "Database Type"
+msgstr "Databastyp"
+
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
msgid "Site administrator email address"
msgstr "Serveradministratörens e-postadress"
-#: ../../mod/setup.php:297 ../../mod/setup.php:339
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Ditt kontos e-postadress måste stämma med den här för att webbgränssnittet för administration ska kunna användas."
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
msgid "Website URL"
msgstr "Webbplatsens URL"
-#: ../../mod/setup.php:298 ../../mod/setup.php:341
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
msgid "Please use SSL (https) URL if available."
msgstr "Ange en URL med SSL (https) om tillgängligt"
-#: ../../mod/setup.php:301 ../../mod/setup.php:344
+#: ../../mod/setup.php:307 ../../mod/setup.php:352
msgid "Please select a default timezone for your website"
msgstr "Välj en standardtidszon för din webbplats"
-#: ../../mod/setup.php:328
+#: ../../mod/setup.php:335
msgid "Site settings"
msgstr "Serverinställningar"
-#: ../../mod/setup.php:387
+#: ../../mod/setup.php:395
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Kunde inte hitta en kommandoradsversion av PHP i webbserverns PATH."
-#: ../../mod/setup.php:388
+#: ../../mod/setup.php:396
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron."
msgstr "Om du inte har en kommandoradsversion av PHP installerad på servern kommer du inte att kunna köra bakgrundshämtning via cron."
-#: ../../mod/setup.php:392
+#: ../../mod/setup.php:400
msgid "PHP executable path"
msgstr "Sökväg till PHP-programmet"
-#: ../../mod/setup.php:392
+#: ../../mod/setup.php:400
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Ange hela sökvägen till php-programfilen. Du kan lämna det här blankt för att fortsätta installationen."
-#: ../../mod/setup.php:397
+#: ../../mod/setup.php:405
msgid "Command line PHP"
msgstr "Kommandorads-PHP"
-#: ../../mod/setup.php:406
+#: ../../mod/setup.php:414
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "Kommandoradsversionen av PHP på ditt system har inte \"register_argc_argv\" aktiverat."
-#: ../../mod/setup.php:407
+#: ../../mod/setup.php:415
msgid "This is required for message delivery to work."
msgstr "Det här behövs för att meddelandeleverans ska fungera."
-#: ../../mod/setup.php:409
+#: ../../mod/setup.php:417
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../mod/setup.php:430
+#: ../../mod/setup.php:438
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Fel: \"openssl_pkey_new\"-funktionen på det här systemet kan inte generera kryptonycklar"
-#: ../../mod/setup.php:431
+#: ../../mod/setup.php:439
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Om systemet kör Windows, se \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/setup.php:433
+#: ../../mod/setup.php:441
msgid "Generate encryption keys"
msgstr "Generera kryptonycklar"
-#: ../../mod/setup.php:440
+#: ../../mod/setup.php:448
msgid "libCurl PHP module"
msgstr "PHP-modulen libCurl"
-#: ../../mod/setup.php:441
+#: ../../mod/setup.php:449
msgid "GD graphics PHP module"
msgstr "PHP-modulen GD graphics"
-#: ../../mod/setup.php:442
+#: ../../mod/setup.php:450
msgid "OpenSSL PHP module"
msgstr "PHP-modulen OpenSSL"
-#: ../../mod/setup.php:443
-msgid "mysqli PHP module"
-msgstr "PHP-modulen mysqli"
+#: ../../mod/setup.php:451
+msgid "mysqli or postgres PHP module"
+msgstr "PHP-modulen mysqli eller postgres"
-#: ../../mod/setup.php:444
+#: ../../mod/setup.php:452
msgid "mb_string PHP module"
msgstr "PHP-modulen mb_string"
-#: ../../mod/setup.php:445
+#: ../../mod/setup.php:453
msgid "mcrypt PHP module"
msgstr "PHP-modulen mcrypt"
-#: ../../mod/setup.php:450 ../../mod/setup.php:452
+#: ../../mod/setup.php:458 ../../mod/setup.php:460
msgid "Apache mod_rewrite module"
msgstr "Apache-modulen mod_rewrite"
-#: ../../mod/setup.php:450
+#: ../../mod/setup.php:458
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Fel: Apache-webbserverns mod-rewrite-modul krävs men är inte installerad."
-#: ../../mod/setup.php:456 ../../mod/setup.php:459
+#: ../../mod/setup.php:464 ../../mod/setup.php:467
msgid "proc_open"
msgstr "proc_open"
-#: ../../mod/setup.php:456
+#: ../../mod/setup.php:464
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Fel: proc_open krävs men är antingen inte installerad eller har inaktiverats i php.ini"
-#: ../../mod/setup.php:464
+#: ../../mod/setup.php:472
msgid "Error: libCURL PHP module required but not installed."
msgstr "Fel: PHP-modulen libCURL krävs men är inte installerad."
-#: ../../mod/setup.php:468
+#: ../../mod/setup.php:476
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Fel: PHP-modulen GD graphics med JPEG-stöd krävs men är inte installerad."
-#: ../../mod/setup.php:472
+#: ../../mod/setup.php:480
msgid "Error: openssl PHP module required but not installed."
msgstr "Fel: PHP-modulen openssl krävs men är inte installerad."
-#: ../../mod/setup.php:476
-msgid "Error: mysqli PHP module required but not installed."
-msgstr "Fel: PHP-modulen mysqli krävs men är inte installerad."
+#: ../../mod/setup.php:484
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Fel: en av PHP-modulerna mysqli eller postgres krävs men är inte installerad."
-#: ../../mod/setup.php:480
+#: ../../mod/setup.php:488
msgid "Error: mb_string PHP module required but not installed."
msgstr "Fel: PHP-modulen mb_string krävs men är inte installerad."
-#: ../../mod/setup.php:484
+#: ../../mod/setup.php:492
msgid "Error: mcrypt PHP module required but not installed."
msgstr "Fel: PHP-modulen mcrypt krävs men är inte installerad."
-#: ../../mod/setup.php:500
+#: ../../mod/setup.php:508
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\""
" in the top folder of your web server and it is unable to do so."
msgstr "Webbinstallationen måste kunna skapa filen \".htconfig.php\" i toppkatalogen på din webbserver men kan inte göra det."
-#: ../../mod/setup.php:501
+#: ../../mod/setup.php:509
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr "Det är ofta en behörighetsinställning som gör att webbservern inte kan skriva filer i din katalog - även om du kan."
-#: ../../mod/setup.php:502
+#: ../../mod/setup.php:510
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr "Efter den här proceduren kommer vi att ge dig en text att spara i filen .htconfig.php i Reds toppkatalog."
-#: ../../mod/setup.php:503
+#: ../../mod/setup.php:511
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr "Alternativt kan du hoppa över den här proceduren och göra en manuell installation. För instruktioner, se filen \"install/INSTALL.txt\"."
-#: ../../mod/setup.php:506
+#: ../../mod/setup.php:514
msgid ".htconfig.php is writable"
msgstr ".htconfig.php är skrivbar"
-#: ../../mod/setup.php:516
+#: ../../mod/setup.php:524
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "Red använder mallmotorn Smarty3 för att rendera webbvyerna. Smarty3 kompilerar mallar till PHP för att snabba upp renderingen."
-#: ../../mod/setup.php:517
+#: ../../mod/setup.php:525
+#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
-"write access to the directory view/tpl/smarty3/ under the Red top level "
-"folder."
-msgstr "För att kunna spara de här kompilerade mallarna behöver webbservern ha skrivrättigheter i katalogen view/tpl/smarty3/ under Reds toppkatalog."
+"write access to the directory %s under the Red top level folder."
+msgstr "För att spara de här kompilerade mallarna behöver webbservern ha skrivrättigheter till katalogen %s under Reds toppkatalog."
-#: ../../mod/setup.php:518 ../../mod/setup.php:536
+#: ../../mod/setup.php:526 ../../mod/setup.php:544
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Försäkra dig om att användaren som din webbserver kör som (t.ex. www-data) har skrivrättigheter till den här katalogen."
-#: ../../mod/setup.php:519
+#: ../../mod/setup.php:527
+#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
-"view/tpl/smarty3/ only--not the template files (.tpl) that it contains."
-msgstr "Observera: som en säkerhetsåtgärd bör du ge webbservern skrivrättigheter endast till view/tpl/smarty3 - inte till mallfilerna (.tpl) som den innehåller."
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Observera: som en säkerhetsåtgärd bör du ge webbservern skrivrättighet endast för %s - inte för mallfilerna (.tpl) som finns där."
-#: ../../mod/setup.php:522
-msgid "view/tpl/smarty3 is writable"
-msgstr "view/tpl/smarty3 är skrivbar"
+#: ../../mod/setup.php:530
+#, php-format
+msgid "%s is writable"
+msgstr "%s är skrivbar"
-#: ../../mod/setup.php:535
+#: ../../mod/setup.php:543
msgid ""
"Red uses the store directory to save uploaded files. The web server needs to"
" have write access to the store directory under the Red top level folder"
msgstr "Red använder katalogen store för att spara uppladdade filer. Webbservern behöver ha skrivrättigheter till katalogen store under Reds toppkatalog."
-#: ../../mod/setup.php:539
+#: ../../mod/setup.php:547
msgid "store is writable"
msgstr "store är skrivbar"
-#: ../../mod/setup.php:554
+#: ../../mod/setup.php:577
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "SSL-certifikatet kan inte valideras. Fixa certifikatet eller inaktivera https-åtkomst till den här servern."
-#: ../../mod/setup.php:555
+#: ../../mod/setup.php:578
msgid ""
-"If you use https access, you MUST use a certification instance known by all "
-"internet browsers. You MUST NOT use self-signed certificates!"
-msgstr "Om du använder https-åtkomst MÅSTE du använda ett certifikat som känns igen av alla webbläsare. Du FÅR INTE använda självsignerade certifikat!"
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Om du har https-åtkomst till din webbplats eller tillåter anslutningar till TCP-port 443 (https-porten) MÅSTE du använda ett certifikat som kan verifieras av webbläsare. Du FÅR INTE använda självsignerade certifikat!"
-#: ../../mod/setup.php:556
+#: ../../mod/setup.php:579
msgid ""
"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub. If your"
-msgstr "Den här restriktionen finns för att offentliga inlägg från dig till exempel kan innehålla referenser till bilder på din egen hubb. Om ditt"
+"example contain references to images on your own hub."
+msgstr "Restriktionen finns eftersom offentliga inlägg från dig kan innehålla till exempel referenser till bilder på din egen hubb."
-#: ../../mod/setup.php:557
+#: ../../mod/setup.php:580
msgid ""
-"certificate is not known by the internet browser of users they get a warning"
-" message complaining about some security issues. Although"
-msgstr "certifikat inte känns igen av användares webbläsare får de ett varningsmeddelande om säkerhetsproblem. Även om"
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Om ditt certifikat inte känns igen kommer medlemmar på andra webbplatser (som själv kan ha giltiga certifikat) att få en varning på sin egen webbplats om säkerhetsproblem."
-#: ../../mod/setup.php:558
+#: ../../mod/setup.php:581
msgid ""
-"these complains are not the real truth - there are no security issues with "
-"your encryption! - the users may be confused, nerved or even"
-msgstr "de här varningarna inte är helt sanna - det är inga säkerhetsproblem med din kryptering! - så kan användare bli förvirrade, nervösa eller"
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Detta kan orsaka problem med användbarheten (inte bara på din egen server) så vi måste trycka på det här kravet."
-#: ../../mod/setup.php:559
+#: ../../mod/setup.php:582
msgid ""
-"worse may become scared about redmatrix having security issues. Use one of "
-"the free certification instances!"
-msgstr "ännu värre, bli skrämda att redmatrix skulle ha säkerhetsproblem. Använd en av utfärdarna av gratis certifikat."
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Det finns leverantörer som utfärdar gratis certifikat som känns igen av webbläsare."
-#: ../../mod/setup.php:561
+#: ../../mod/setup.php:584
msgid "SSL certificate validation"
msgstr "SSL-certifikatvalidering"
-#: ../../mod/setup.php:568
+#: ../../mod/setup.php:590
msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-msgstr "URL rewrite i .htaccess fungerar inte. Kontrollera din serverkonfiguration."
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "Url rewrite i .htaccess fungerar inte. Kolla din serverkonfiguration. Test: "
-#: ../../mod/setup.php:570
+#: ../../mod/setup.php:592
msgid "Url rewrite is working"
msgstr "URL rewrite fungerar"
-#: ../../mod/setup.php:580
+#: ../../mod/setup.php:602
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr "Databaskonfigurationsfilen \".htconfig.php\" kunde inte skrivas. Använd den bifogade texten för att skapa en konfigurationsfil i din webbservers rot."
-#: ../../mod/setup.php:604
+#: ../../mod/setup.php:626
msgid "Errors encountered creating database tables."
msgstr "Fel inträffade när databastabeller skulle skapas."
-#: ../../mod/setup.php:639
+#: ../../mod/setup.php:661
msgid "<h1>What next</h1>"
msgstr "<h1>Nästa steg</h1>"
-#: ../../mod/setup.php:640
+#: ../../mod/setup.php:662
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
msgstr "VIKTIGT: Du behöver ställa in en schemalagd för hämtningsrutinen [manuellt]"
-#: ../../mod/directory.php:148 ../../mod/profiles.php:561
-#: ../../mod/dirprofile.php:98
-msgid "Age: "
-msgstr "Ã…lder:"
+#: ../../mod/attach.php:9
+msgid "Item not available."
+msgstr "Post inte tillgänglig."
-#: ../../mod/directory.php:151 ../../mod/dirprofile.php:101
-msgid "Gender: "
-msgstr "Kön:"
+#: ../../mod/probe.php:23 ../../mod/probe.php:29
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr "Hämtning av URL returnerade fel: %1$s"
-#: ../../mod/directory.php:212
-msgid "Finding:"
-msgstr "Sökning efter:"
+#: ../../mod/block.php:27 ../../mod/page.php:33
+msgid "Invalid item."
+msgstr "Ogiltig post."
-#: ../../mod/directory.php:220
-msgid "next page"
-msgstr "nästa sida"
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:45
+msgid "Channel not found."
+msgstr "Kanalen hittas inte."
-#: ../../mod/directory.php:220
-msgid "previous page"
-msgstr "föregående sida"
+#: ../../mod/block.php:75 ../../mod/display.php:102 ../../mod/help.php:70
+#: ../../mod/page.php:81 ../../index.php:241
+msgid "Page not found."
+msgstr "Sidan hittas inte."
-#: ../../mod/directory.php:227
-msgid "No entries (some entries may be hidden)."
-msgstr "Inga resultat (vissa resultat kan vara dolda)."
+#: ../../mod/uexport.php:33 ../../mod/uexport.php:34
+msgid "Export Channel"
+msgstr "Exportera kanal"
-#: ../../mod/lockview.php:30 ../../mod/lockview.php:36
-msgid "Remote privacy information not available."
-msgstr "Icke-lokal integritetsinformation är inte tillgänglig"
+#: ../../mod/uexport.php:35
+msgid ""
+"Export your basic channel information to a small file. This acts as a "
+"backup of your connections, permissions, profile and basic data, which can "
+"be used to import your data to a new hub, but\tdoes not contain your "
+"content."
+msgstr "Exportera kanalens basinformation till en liten fil. Denna fungerar som en säkerhetskopia av dina anslutningar, behörigheter, profil, och grundläggande data, och kan användas för att importera dina data till en ny hubb, men tar inte med ditt innehåll."
-#: ../../mod/lockview.php:45
-msgid "Visible to:"
-msgstr "Synlig för:"
+#: ../../mod/uexport.php:36
+msgid "Export Content"
+msgstr "Exportera innehåll"
+
+#: ../../mod/uexport.php:37
+msgid ""
+"Export your channel information and all the content to a JSON backup. This "
+"backs up all of your connections, permissions, profile data and all of your "
+"content, but is generally not suitable for importing a channel to a new hub "
+"as this file may be VERY large. Please be patient - it may take several "
+"minutes for this download to begin."
+msgstr "Exportera din kanalinformation och allt innehåll till en säkerhetskopia i JSON-format. Detta kopierar alla dina anslutningar, behörigheter, profildata och allt ditt innehåll, men är generellt inte lämpligt för att importera en kanal till en ny hubb, eftersom filen kan vara VÄLDIGT stor. Ha tålamod - det kan ta flera minuter innan nedladdningen börjar."
+
+#: ../../mod/delegate.php:95
+msgid "No potential page delegates located."
+msgstr "Inga potentiella sid-ombud funna."
+
+#: ../../mod/delegate.php:121
+msgid "Delegate Page Management"
+msgstr "Delegera sidhantering"
+
+#: ../../mod/delegate.php:123
+msgid ""
+"Delegates are able to manage all aspects of this account/page except for "
+"basic account settings. Please do not delegate your personal account to "
+"anybody that you do not trust completely."
+msgstr "Ombud kan hantera alla aspekter av det här kontot/den här sidan förutom grundläggande kontoinställningar. Delegera inte ditt personliga konto till någon som du inte litar fullständigt på."
+
+#: ../../mod/delegate.php:124
+msgid "Existing Page Managers"
+msgstr "Befintliga sid-ansvariga"
+
+#: ../../mod/delegate.php:126
+msgid "Existing Page Delegates"
+msgstr "Befintliga sid-ombud"
+
+#: ../../mod/delegate.php:128
+msgid "Potential Delegates"
+msgstr "Potentiella ombud"
+
+#: ../../mod/delegate.php:130 ../../mod/photos.php:905 ../../mod/tagrm.php:133
+msgid "Remove"
+msgstr "Ta bort"
+
+#: ../../mod/delegate.php:131
+msgid "Add"
+msgstr "Lägg till"
+
+#: ../../mod/delegate.php:132
+msgid "No entries."
+msgstr "Inga poster."
+
+#: ../../mod/siteinfo.php:93
+#, php-format
+msgid "Version %s"
+msgstr "Version %s"
+
+#: ../../mod/siteinfo.php:114
+msgid "Installed plugins/addons/apps:"
+msgstr "Installerade tillägg/moduler/appar:"
+
+#: ../../mod/siteinfo.php:127
+msgid "No installed plugins/addons/apps"
+msgstr "Inga installerade tillägg/moduler/appar"
+
+#: ../../mod/siteinfo.php:135
+msgid "Red"
+msgstr "Red"
+
+#: ../../mod/siteinfo.php:136
+msgid ""
+"This is a hub of the Red Matrix - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Det här är en hubb som ingår i Red Matrix - ett globalt samverkande nätverk av decentraliserade webbplatser med bättre integritetskydd."
+
+#: ../../mod/siteinfo.php:138
+msgid "Tag: "
+msgstr "Tagg: "
+
+#: ../../mod/siteinfo.php:140
+msgid "Last background fetch: "
+msgstr "Senaste bakgrundshämtning: "
+
+#: ../../mod/siteinfo.php:143
+msgid "Running at web location"
+msgstr "Kör på webbutrymmet"
+
+#: ../../mod/siteinfo.php:144
+msgid ""
+"Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more"
+" about the Red Matrix."
+msgstr "Besök <a href=\"https://redmatrix.me\">RedMatrix.me</a> för att lära dig mer om Red Matrix."
+
+#: ../../mod/siteinfo.php:145
+msgid "Bug reports and issues: please visit"
+msgstr "Buggrapporter och problem: besök"
+
+#: ../../mod/siteinfo.php:148
+msgid ""
+"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"com"
+msgstr "Förslag, uppskattning, etc. - maila \"redmatrix\" at librelist - dot com"
+
+#: ../../mod/siteinfo.php:150
+msgid "Site Administrators"
+msgstr "Serveradministratörer"
+
+#: ../../mod/sources.php:32
+msgid "Failed to create source. No channel selected."
+msgstr "Misslyckades att skapa källa. Ingen kanal vald."
+
+#: ../../mod/sources.php:45
+msgid "Source created."
+msgstr "Källa skapad."
+
+#: ../../mod/sources.php:57
+msgid "Source updated."
+msgstr "Källa uppdaterad."
+
+#: ../../mod/sources.php:82
+msgid "*"
+msgstr "*"
+
+#: ../../mod/sources.php:89
+msgid "Manage remote sources of content for your channel."
+msgstr "Hantera fjärrkällor med innehåll för din kanal."
+
+#: ../../mod/sources.php:90 ../../mod/sources.php:100
+msgid "New Source"
+msgstr "Ny källa"
+
+#: ../../mod/sources.php:101 ../../mod/sources.php:133
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importera allt eller valt innehåll från följande kanal till den här kanalen och distribuera det enligt dina kanalinställningar."
-#: ../../mod/connedit.php:49 ../../mod/connections.php:37
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Only import content with these words (one per line)"
+msgstr "Importera endast innehåll med de här orden (ett per rad)"
+
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Leave blank to import all public content"
+msgstr "Lämna blankt för att importera allt offentligt innehåll"
+
+#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../mod/new_channel.php:112
+msgid "Channel Name"
+msgstr "Kanalnamn"
+
+#: ../../mod/sources.php:123 ../../mod/sources.php:150
+msgid "Source not found."
+msgstr "Källa hittades inte."
+
+#: ../../mod/sources.php:130
+msgid "Edit Source"
+msgstr "Redigera källa"
+
+#: ../../mod/sources.php:131
+msgid "Delete Source"
+msgstr "Ta bort källa"
+
+#: ../../mod/sources.php:158
+msgid "Source removed"
+msgstr "Källa borttagen"
+
+#: ../../mod/sources.php:160
+msgid "Unable to remove source."
+msgstr "Kunde inte ta bort källa."
+
+#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
+msgid "Invalid profile identifier."
+msgstr "Ogiltigt profil-ID."
+
+#: ../../mod/profperm.php:110
+msgid "Profile Visibility Editor"
+msgstr "Redigera profilsynlighet"
+
+#: ../../mod/profperm.php:114
+msgid "Click on a contact to add or remove."
+msgstr "Klicka på en kontakt för att lägga till eller ta bort."
+
+#: ../../mod/profperm.php:123
+msgid "Visible To"
+msgstr "Kan ses av"
+
+#: ../../mod/profperm.php:139 ../../mod/connections.php:279
+msgid "All Connections"
+msgstr "Alla kontakter"
+
+#: ../../mod/events.php:81
+msgid "Event can not end before it has started."
+msgstr "Händelser kan inte sluta innan de börjat."
+
+#: ../../mod/events.php:86
+msgid "Event title and start time are required."
+msgstr "Händelsen behöver titel och starttid."
+
+#: ../../mod/events.php:100
+msgid "Event not found."
+msgstr "Händelsen hittades inte."
+
+#: ../../mod/events.php:369
+msgid "l, F j"
+msgstr "l, j F"
+
+#: ../../mod/events.php:391
+msgid "Edit event"
+msgstr "Redigera händelse"
+
+#: ../../mod/events.php:443
+msgid "Create New Event"
+msgstr "Skapa ny händelse"
+
+#: ../../mod/events.php:444 ../../mod/photos.php:859
+msgid "Previous"
+msgstr "Föregående"
+
+#: ../../mod/events.php:446
+msgid "Export"
+msgstr "Exportera"
+
+#: ../../mod/events.php:571
+msgid "Event details"
+msgstr "Detaljer för händelse"
+
+#: ../../mod/events.php:572
+msgid "Starting date and Title are required."
+msgstr "Startdatum och titel är obligatoriska."
+
+#: ../../mod/events.php:574
+msgid "Categories (comma-separated list)"
+msgstr "Kategorier (kommaseparerad lista)"
+
+#: ../../mod/events.php:576
+msgid "Event Starts:"
+msgstr "Händelsen börjar:"
+
+#: ../../mod/events.php:576 ../../mod/events.php:592 ../../mod/appman.php:91
+#: ../../mod/appman.php:92
+msgid "Required"
+msgstr "Behövs"
+
+#: ../../mod/events.php:582
+msgid "Finish date/time is not known or not relevant"
+msgstr "Slutdatum/tid är okänt eller inte relevant"
+
+#: ../../mod/events.php:584
+msgid "Event Finishes:"
+msgstr "Händelsen slutar:"
+
+#: ../../mod/events.php:586
+msgid "Adjust for viewer timezone"
+msgstr "Justera för betraktarens tidszon"
+
+#: ../../mod/events.php:588
+msgid "Description:"
+msgstr "Beskrivning:"
+
+#: ../../mod/events.php:592
+msgid "Title:"
+msgstr "Titel:"
+
+#: ../../mod/events.php:594
+msgid "Share this event"
+msgstr "Dela den här händelsen"
+
+#: ../../mod/pubsites.php:16
+msgid "Public Sites"
+msgstr "Offentliga servrar"
+
+#: ../../mod/pubsites.php:19
+msgid ""
+"The listed sites allow public registration into the Red Matrix. All sites in"
+" the matrix are interlinked so membership on any of them conveys membership "
+"in the matrix as a whole. Some sites may require subscription or provide "
+"tiered service plans. The provider links <strong>may</strong> provide "
+"additional details."
+msgstr "De listade servrarna tillåter offentlig registrering i Red Matrix. Alla servrar i matrisen är sammankopplade, så medlemskap i en av dem medför medlemskap i matrisen som helhet. Vissa servrar kan kräva abonnemang eller erbjuda uppdelade tjänstenivåer. Leverantörslänkarna <strong>kan</strong> ge ytterligare detaljer."
+
+#: ../../mod/pubsites.php:25
+msgid "Site URL"
+msgstr "Server-URL"
+
+#: ../../mod/pubsites.php:25
+msgid "Access Type"
+msgstr "Ã…tkomsttyp"
+
+#: ../../mod/pubsites.php:25
+msgid "Registration Policy"
+msgstr "Registreringspolicy"
+
+#: ../../mod/pubsites.php:25 ../../mod/profiles.php:428
+msgid "Location"
+msgstr "Plats"
+
+#: ../../mod/channel.php:25 ../../mod/chat.php:19
+msgid "You must be logged in to see this page."
+msgstr "Du måste vara inloggad för att se den här sidan."
+
+#: ../../mod/channel.php:87
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Otillräckliga behörigheter. Förfrågan omdirigerad till profilsidan."
+
+#: ../../mod/rbmark.php:88
+msgid "Select a bookmark folder"
+msgstr "Välj en bokmärkeskatalog"
+
+#: ../../mod/rbmark.php:93
+msgid "Save Bookmark"
+msgstr "Spara bokmärke"
+
+#: ../../mod/rbmark.php:94
+msgid "URL of bookmark"
+msgstr "Bokmärkets URL"
+
+#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
+msgid "Description"
+msgstr "Beskrivning"
+
+#: ../../mod/rbmark.php:99
+msgid "Or enter new bookmark folder name"
+msgstr "Eller ange nytt namn på bokmärkeskatalog"
+
+#: ../../mod/chat.php:167
+msgid "Room not found"
+msgstr "Rum hittas inte"
+
+#: ../../mod/chat.php:178
+msgid "Leave Room"
+msgstr "Lämna rummet"
+
+#: ../../mod/chat.php:179
+msgid "Delete This Room"
+msgstr "Ta bort det här rummet"
+
+#: ../../mod/chat.php:180
+msgid "I am away right now"
+msgstr "Jag är borta för tillfället"
+
+#: ../../mod/chat.php:181
+msgid "I am online"
+msgstr "Jag är online"
+
+#: ../../mod/chat.php:183
+msgid "Bookmark this room"
+msgstr "Bokmärk det här rummet"
+
+#: ../../mod/chat.php:207 ../../mod/chat.php:229
+msgid "New Chatroom"
+msgstr "Nytt chattrum"
+
+#: ../../mod/chat.php:208
+msgid "Chatroom Name"
+msgstr "Namn på chattrum"
+
+#: ../../mod/chat.php:225
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr "%1$ss chattrum"
+
+#: ../../mod/chatsvc.php:111
+msgid "Away"
+msgstr "Borta"
+
+#: ../../mod/chatsvc.php:115
+msgid "Online"
+msgstr "Online"
+
+#: ../../mod/regmod.php:11
+msgid "Please login."
+msgstr "Logga in."
+
+#: ../../mod/editpost.php:20 ../../mod/editblock.php:79
+#: ../../mod/editblock.php:95 ../../mod/editlayout.php:78
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
+msgstr "Posten hittas inte"
+
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "Posten går ej att redigera"
+
+#: ../../mod/editpost.php:42 ../../mod/rpost.php:97
+msgid "Edit post"
+msgstr "Redigera inlägg"
+
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
+msgstr "Ta bort posten?"
+
+#: ../../mod/editpost.php:116 ../../mod/editblock.php:147
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:178
+msgid "Insert YouTube video"
+msgstr "Infoga Youtube-video"
+
+#: ../../mod/editpost.php:117 ../../mod/editblock.php:148
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:179
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Infoga Vorbis [.ogg]-video"
+
+#: ../../mod/editpost.php:118 ../../mod/editblock.php:149
+#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:180
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Infoga Vorbis [.ogg]-ljud"
+
+#: ../../mod/removeme.php:29
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Borttagning av kanal tillåts inte inom 48 timmar efter att kontolösenordet har ändrats."
+
+#: ../../mod/removeme.php:57
+msgid "Remove This Channel"
+msgstr "Ta bort den här kanalen"
+
+#: ../../mod/removeme.php:58
+msgid ""
+"This will completely remove this channel from the network. Once this has "
+"been done it is not recoverable."
+msgstr "Det här kommer att ta bort den här kanalen helt från nätverket. När det är gjort går det inte att återställa den."
+
+#: ../../mod/removeme.php:59 ../../mod/removeaccount.php:59
+msgid "Please enter your password for verification:"
+msgstr "Ange ditt lösenord för att bekräfta:"
+
+#: ../../mod/removeme.php:60
+msgid "Remove this channel and all its clones from the network"
+msgstr "Ta bort den här kanalen och alla dess kloner från nätverket"
+
+#: ../../mod/removeme.php:60
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "Som standard kommer bara den här hubbens instans av kanalen att tas bort från nätverket"
+
+#: ../../mod/removeme.php:61
+msgid "Remove Channel"
+msgstr "Ta bort kanal"
+
+#: ../../mod/common.php:10
+msgid "No channel."
+msgstr "Ingen kanal."
+
+#: ../../mod/common.php:39
+msgid "Common connections"
+msgstr "Gemensamma kontakter"
+
+#: ../../mod/common.php:44
+msgid "No connections in common."
+msgstr "Inga gemensamma kontakter."
+
+#: ../../mod/rmagic.php:38
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr "Vi drabbades av ett problem vid inloggningen med OpenID:t du uppgav. Kontrollera att ID:t är korrekt stavat."
+
+#: ../../mod/rmagic.php:38
+msgid "The error message was:"
+msgstr "Felmeddelandet var:"
+
+#: ../../mod/rmagic.php:42
+msgid "Authentication failed."
+msgstr "Inloggning misslyckades."
+
+#: ../../mod/rmagic.php:82
+msgid "Remote Authentication"
+msgstr "Fjärrinloggning"
+
+#: ../../mod/rmagic.php:83
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Ange din kanaladress (t.ex. kanal@example.com)"
+
+#: ../../mod/rmagic.php:84
+msgid "Authenticate"
+msgstr "Autentisera"
+
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr "Inget giltigt konto hittades."
+
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr "Lösenordsåterställning har skickats. Kontrollera din e-post."
+
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Servermedlem (%s)"
+
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Lösenordsåterställning begärd på %s"
+
+#: ../../mod/lostpass.php:63
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Begäran kunde inte bekräftas. (Du kan ha skickat den tidigare.) Lösenordsåterställningen misslyckades."
+
+#: ../../mod/lostpass.php:85 ../../boot.php:1548
+msgid "Password Reset"
+msgstr "Lösenordsåterställning"
+
+#: ../../mod/lostpass.php:86
+msgid "Your password has been reset as requested."
+msgstr "Ditt lösenord har återställts som begärt."
+
+#: ../../mod/lostpass.php:87
+msgid "Your new password is"
+msgstr "Ditt nya lösenord är"
+
+#: ../../mod/lostpass.php:88
+msgid "Save or copy your new password - and then"
+msgstr "Spara eller kopiera ditt nya lösenord - "
+
+#: ../../mod/lostpass.php:89
+msgid "click here to login"
+msgstr "klicka sedan här för att logga in"
+
+#: ../../mod/lostpass.php:90
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Ditt lösenord kan bytas från sidan <em>Inställningar</em> när du är inloggad."
+
+#: ../../mod/lostpass.php:107
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Ditt lösenord byttes på %s"
+
+#: ../../mod/lostpass.php:122
+msgid "Forgot your Password?"
+msgstr "Glömt lösenordet?"
+
+#: ../../mod/lostpass.php:123
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Ange din e-postadress och skicka för att återställa ditt lösenord. Kontrollera sedan din e-post för vidare instruktioner."
+
+#: ../../mod/lostpass.php:124
+msgid "Email Address"
+msgstr "E-postadress"
+
+#: ../../mod/lostpass.php:125
+msgid "Reset"
+msgstr "Återställ"
+
+#: ../../mod/connections.php:37 ../../mod/connedit.php:64
msgid "Could not access contact record."
msgstr "Kunde inte komma åt kontaktuppgifter."
-#: ../../mod/connedit.php:63 ../../mod/connections.php:51
+#: ../../mod/connections.php:51 ../../mod/connedit.php:86
msgid "Could not locate selected profile."
msgstr "Kunde inte hitta vald profil."
-#: ../../mod/connedit.php:107 ../../mod/connections.php:94
+#: ../../mod/connections.php:94 ../../mod/connedit.php:140
msgid "Connection updated."
msgstr "Kontakt uppdaterad."
-#: ../../mod/connedit.php:109 ../../mod/connections.php:96
+#: ../../mod/connections.php:96 ../../mod/connedit.php:142
msgid "Failed to update connection record."
msgstr "Misslyckades att uppdatera kontaktuppgifter."
-#: ../../mod/connedit.php:210
+#: ../../mod/connections.php:191 ../../mod/connections.php:292
+msgid "Blocked"
+msgstr "Blockerade"
+
+#: ../../mod/connections.php:196 ../../mod/connections.php:299
+msgid "Ignored"
+msgstr "Ignorerade"
+
+#: ../../mod/connections.php:201 ../../mod/connections.php:313
+msgid "Hidden"
+msgstr "Dolda"
+
+#: ../../mod/connections.php:206 ../../mod/connections.php:306
+msgid "Archived"
+msgstr "Arkiverade"
+
+#: ../../mod/connections.php:230 ../../mod/connections.php:245
+msgid "All"
+msgstr "Alla"
+
+#: ../../mod/connections.php:270
+msgid "Suggest new connections"
+msgstr "Föreslå nya kontakter"
+
+#: ../../mod/connections.php:273
+msgid "New Connections"
+msgstr "Nya kontakter"
+
+#: ../../mod/connections.php:276
+msgid "Show pending (new) connections"
+msgstr "Visa väntande (nya) kontakter"
+
+#: ../../mod/connections.php:282
+msgid "Show all connections"
+msgstr "Visa alla kontakter"
+
+#: ../../mod/connections.php:285
+msgid "Unblocked"
+msgstr "Ej blockerade"
+
+#: ../../mod/connections.php:288
+msgid "Only show unblocked connections"
+msgstr "Visa endast ej blockerade kontakter"
+
+#: ../../mod/connections.php:295
+msgid "Only show blocked connections"
+msgstr "Visa endast blockerade kontakter"
+
+#: ../../mod/connections.php:302
+msgid "Only show ignored connections"
+msgstr "Visa endast ignorerade kontakter"
+
+#: ../../mod/connections.php:309
+msgid "Only show archived connections"
+msgstr "Visa endast arkiverade kontakter"
+
+#: ../../mod/connections.php:316
+msgid "Only show hidden connections"
+msgstr "Visa endast dolda kontakter"
+
+#: ../../mod/connections.php:371
+#, php-format
+msgid "%1$s [%2$s]"
+msgstr "%1$s [%2$s]"
+
+#: ../../mod/connections.php:372
+msgid "Edit connection"
+msgstr "Redigera kontakt"
+
+#: ../../mod/connections.php:410
+msgid "Search your connections"
+msgstr "Sök bland dina kontakter"
+
+#: ../../mod/connections.php:411
+msgid "Finding: "
+msgstr "Sökning efter: "
+
+#: ../../mod/ping.php:265
+msgid "sent you a private message"
+msgstr "skickade ett privat meddelande till dig"
+
+#: ../../mod/ping.php:316
+msgid "added your channel"
+msgstr "lade till din kanal"
+
+#: ../../mod/ping.php:357
+msgid "posted an event"
+msgstr "skapade en händelse"
+
+#: ../../mod/connedit.php:189
+msgid "is now connected to"
+msgstr "har nu kontakt med"
+
+#: ../../mod/connedit.php:310
msgid "Could not access address book record."
msgstr "Kunde inte komma åt adressboksuppgifter."
-#: ../../mod/connedit.php:224
+#: ../../mod/connedit.php:324
msgid "Refresh failed - channel is currently unavailable."
msgstr "Uppdatering misslyckades - kanalen är inte tillgänglig."
-#: ../../mod/connedit.php:231
+#: ../../mod/connedit.php:331
msgid "Channel has been unblocked"
msgstr "Kanalen är inte längre blockerad"
-#: ../../mod/connedit.php:232
+#: ../../mod/connedit.php:332
msgid "Channel has been blocked"
msgstr "Kanalen har blockerats"
-#: ../../mod/connedit.php:236 ../../mod/connedit.php:248
-#: ../../mod/connedit.php:260 ../../mod/connedit.php:272
-#: ../../mod/connedit.php:287
+#: ../../mod/connedit.php:336 ../../mod/connedit.php:348
+#: ../../mod/connedit.php:360 ../../mod/connedit.php:372
+#: ../../mod/connedit.php:388
msgid "Unable to set address book parameters."
msgstr "Kunde inte ställa in adressboksparametrar."
-#: ../../mod/connedit.php:243
+#: ../../mod/connedit.php:343
msgid "Channel has been unignored"
msgstr "Kanalen ignoreras inte längre"
-#: ../../mod/connedit.php:244
+#: ../../mod/connedit.php:344
msgid "Channel has been ignored"
msgstr "Kanalen har ignorerats"
-#: ../../mod/connedit.php:255
+#: ../../mod/connedit.php:355
msgid "Channel has been unarchived"
msgstr "Kanalen arkiveras inte längre"
-#: ../../mod/connedit.php:256
+#: ../../mod/connedit.php:356
msgid "Channel has been archived"
msgstr "Kanalen har arkiverats"
-#: ../../mod/connedit.php:267
+#: ../../mod/connedit.php:367
msgid "Channel has been unhidden"
msgstr "Kanalen döljs inte längre"
-#: ../../mod/connedit.php:268
+#: ../../mod/connedit.php:368
msgid "Channel has been hidden"
msgstr "Kanalen har dolts"
-#: ../../mod/connedit.php:282
+#: ../../mod/connedit.php:383
msgid "Channel has been approved"
msgstr "Kanalen har godkänts"
-#: ../../mod/connedit.php:283
+#: ../../mod/connedit.php:384
msgid "Channel has been unapproved"
msgstr "Kanalen är inte godkänd längre"
-#: ../../mod/connedit.php:301
+#: ../../mod/connedit.php:412
msgid "Connection has been removed."
msgstr "Kontakten har tagits bort."
-#: ../../mod/connedit.php:321
+#: ../../mod/connedit.php:432
#, php-format
msgid "View %s's profile"
msgstr "Visa %ss profil"
-#: ../../mod/connedit.php:325
+#: ../../mod/connedit.php:436
msgid "Refresh Permissions"
msgstr "Uppdatera behörigheter"
-#: ../../mod/connedit.php:328
+#: ../../mod/connedit.php:439
msgid "Fetch updated permissions"
msgstr "Hämta uppdaterade behörigheter"
-#: ../../mod/connedit.php:332
+#: ../../mod/connedit.php:443
msgid "Recent Activity"
msgstr "Senaste aktiviteten"
-#: ../../mod/connedit.php:335
+#: ../../mod/connedit.php:446
msgid "View recent posts and comments"
msgstr "Visa de senaste inläggen och kommentarerna"
-#: ../../mod/connedit.php:342
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:595
+#: ../../mod/admin.php:732
+msgid "Unblock"
+msgstr "Avblockera"
+
+#: ../../mod/connedit.php:450 ../../mod/connedit.php:595
+#: ../../mod/admin.php:731
+msgid "Block"
+msgstr "Blockera"
+
+#: ../../mod/connedit.php:453
msgid "Block or Unblock this connection"
msgstr "Blockera eller häv blockering av den här kontakten"
-#: ../../mod/connedit.php:346 ../../mod/connedit.php:482
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:596
msgid "Unignore"
msgstr "Sluta att ignorera"
-#: ../../mod/connedit.php:346 ../../mod/connedit.php:482
+#: ../../mod/connedit.php:457 ../../mod/connedit.php:596
#: ../../mod/notifications.php:51
msgid "Ignore"
msgstr "Ignorera"
-#: ../../mod/connedit.php:349
+#: ../../mod/connedit.php:460
msgid "Ignore or Unignore this connection"
msgstr "Ignorera eller sluta att ignorera den här kontakten"
-#: ../../mod/connedit.php:352
+#: ../../mod/connedit.php:463
msgid "Unarchive"
msgstr "Sluta att arkivera"
-#: ../../mod/connedit.php:352
+#: ../../mod/connedit.php:463
msgid "Archive"
msgstr "Arkivera"
-#: ../../mod/connedit.php:355
+#: ../../mod/connedit.php:466
msgid "Archive or Unarchive this connection"
msgstr "Arkivera eller sluta att arkivera den här kontakten"
-#: ../../mod/connedit.php:358
+#: ../../mod/connedit.php:469
msgid "Unhide"
msgstr "Sluta att dölja"
-#: ../../mod/connedit.php:358
+#: ../../mod/connedit.php:469
msgid "Hide"
msgstr "Dölj"
-#: ../../mod/connedit.php:361
+#: ../../mod/connedit.php:472
msgid "Hide or Unhide this connection"
msgstr "Dölj eller sluta att dölja den här kontakten"
-#: ../../mod/connedit.php:368
+#: ../../mod/connedit.php:479
msgid "Delete this connection"
msgstr "Ta bort den här kontakten"
-#: ../../mod/connedit.php:401
-msgid "Unknown"
-msgstr "Okända"
-
-#: ../../mod/connedit.php:411 ../../mod/connedit.php:440
+#: ../../mod/connedit.php:523 ../../mod/connedit.php:553
msgid "Approve this connection"
msgstr "Godkänn den här kontakten"
-#: ../../mod/connedit.php:411
+#: ../../mod/connedit.php:523
msgid "Accept connection to allow communication"
msgstr "Acceptera kontakten för att tillåta kommunikation"
-#: ../../mod/connedit.php:427
-msgid "Automatic Permissions Settings"
-msgstr "Automatiska behörighetsinställningar"
-
-#: ../../mod/connedit.php:427
+#: ../../mod/connedit.php:539
#, php-format
msgid "Connections: settings for %s"
msgstr "Kontakter: inställningar för %s"
-#: ../../mod/connedit.php:431
-msgid ""
-"When receiving a channel introduction, any permissions provided here will be"
-" applied to the new connection automatically and the introduction approved. "
-"Leave this page if you do not wish to use this feature."
-msgstr "När en kanal presenterar sig för dig kommer alla behörigheter här att gälla för den nya kontakten automatiskt och presentationen att godkännas. Lämna den här sidan om du inte önskar använda den här funktionen."
+#: ../../mod/connedit.php:540
+msgid "Apply these permissions automatically"
+msgstr "Använd de här rättigheterna automatiskt"
-#: ../../mod/connedit.php:433
+#: ../../mod/connedit.php:544
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr "Använd rättigheterna angivna på den här sidan för alla nya kontakter."
+
+#: ../../mod/connedit.php:546
msgid "Slide to adjust your degree of friendship"
msgstr "Dra för att justera er vänskapsnivå"
-#: ../../mod/connedit.php:439
+#: ../../mod/connedit.php:552
msgid "inherited"
msgstr "ärvd"
-#: ../../mod/connedit.php:441
+#: ../../mod/connedit.php:554
msgid "Connection has no individual permissions!"
msgstr "Kontakten har inga individuella behörigheter!"
-#: ../../mod/connedit.php:442
+#: ../../mod/connedit.php:555
msgid ""
"This may be appropriate based on your <a href=\"settings\">privacy "
"settings</a>, though you may wish to review the \"Advanced Permissions\"."
msgstr "Det här kan vara lämpligt beroende på dina <a href=\"settings\">integritetsinställningar</a>, men du vill kanske se över de \"Avancerade inställningarna\"."
-#: ../../mod/connedit.php:444
+#: ../../mod/connedit.php:557
msgid "Profile Visibility"
msgstr "Profilsynlighet"
-#: ../../mod/connedit.php:445
+#: ../../mod/connedit.php:558
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Välj profilen som du vill ska synas när %s ser din profil på ett säkert sätt."
-#: ../../mod/connedit.php:446
+#: ../../mod/connedit.php:559
msgid "Contact Information / Notes"
msgstr "Kontaktinformation / anteckningar"
-#: ../../mod/connedit.php:447
+#: ../../mod/connedit.php:560
msgid "Edit contact notes"
msgstr "Redigera anteckningar för kontakten"
-#: ../../mod/connedit.php:449
+#: ../../mod/connedit.php:562
msgid "Their Settings"
msgstr "Deras inställningar"
-#: ../../mod/connedit.php:450
+#: ../../mod/connedit.php:563
msgid "My Settings"
msgstr "Mina inställningar"
-#: ../../mod/connedit.php:452
+#: ../../mod/connedit.php:565
+msgid "Clear/Disable Automatic Permissions"
+msgstr "Rensa/inaktivera automatiska behörigheter"
+
+#: ../../mod/connedit.php:566
msgid "Forum Members"
msgstr "Forummedlemmar"
-#: ../../mod/connedit.php:453
+#: ../../mod/connedit.php:567
msgid "Soapbox"
msgstr "Talarstol"
-#: ../../mod/connedit.php:454
+#: ../../mod/connedit.php:568
msgid "Full Sharing (typical social network permissions)"
msgstr "Full delning (typiska behörigheter för sociala nätverk)"
-#: ../../mod/connedit.php:455
+#: ../../mod/connedit.php:569
msgid "Cautious Sharing "
msgstr "Försiktig delning"
-#: ../../mod/connedit.php:456
+#: ../../mod/connedit.php:570
msgid "Follow Only"
msgstr "Följ endast"
-#: ../../mod/connedit.php:457
+#: ../../mod/connedit.php:571
msgid "Individual Permissions"
msgstr "Individuella behörigheter"
-#: ../../mod/connedit.php:458
+#: ../../mod/connedit.php:572
msgid ""
"Some permissions may be inherited from your channel <a "
"href=\"settings\">privacy settings</a>, which have higher priority than "
@@ -5818,153 +5844,839 @@ msgid ""
"have no effect."
msgstr "Vissa behörigheter kan ärvas från din kanals <a href=\"settings\">integritetsinställningar</a>, vilka har högre prioritet än individuella inställningar. Ändring av de ärvda inställningarna på den här sidan har ingen effekt."
-#: ../../mod/connedit.php:459
+#: ../../mod/connedit.php:573
msgid "Advanced Permissions"
msgstr "Avancerade behörighetsinställningar"
-#: ../../mod/connedit.php:460
+#: ../../mod/connedit.php:574
msgid "Simple Permissions (select one and submit)"
msgstr "Enkla behörighetsinställningar (välj en och spara)"
-#: ../../mod/connedit.php:464
+#: ../../mod/connedit.php:578
#, php-format
msgid "Visit %s's profile - %s"
msgstr "Besök %ss profil - %s"
-#: ../../mod/connedit.php:465
+#: ../../mod/connedit.php:579
msgid "Block/Unblock contact"
msgstr "Blockera/häv blockering av kontakt"
-#: ../../mod/connedit.php:466
+#: ../../mod/connedit.php:580
msgid "Ignore contact"
msgstr "Ignorera kontakt"
-#: ../../mod/connedit.php:467
+#: ../../mod/connedit.php:581
msgid "Repair URL settings"
msgstr "Reparera URL-inställningar"
-#: ../../mod/connedit.php:468
+#: ../../mod/connedit.php:582
msgid "View conversations"
msgstr "Visa konversationer"
-#: ../../mod/connedit.php:470
+#: ../../mod/connedit.php:584
msgid "Delete contact"
msgstr "Ta bort kontakt"
-#: ../../mod/connedit.php:473
+#: ../../mod/connedit.php:587
msgid "Last update:"
msgstr "Senaste uppdatering:"
-#: ../../mod/connedit.php:475
+#: ../../mod/connedit.php:589
msgid "Update public posts"
msgstr "Uppdatera offentliga inlägg"
-#: ../../mod/connedit.php:477
+#: ../../mod/connedit.php:591
msgid "Update now"
msgstr "Uppdatera nu"
-#: ../../mod/connedit.php:483
+#: ../../mod/connedit.php:597
msgid "Currently blocked"
msgstr "Blockerad"
-#: ../../mod/connedit.php:484
+#: ../../mod/connedit.php:598
msgid "Currently ignored"
msgstr "Ignorerad"
-#: ../../mod/connedit.php:485
+#: ../../mod/connedit.php:599
msgid "Currently archived"
msgstr "Arkiverad"
-#: ../../mod/connedit.php:486
+#: ../../mod/connedit.php:600
msgid "Currently pending"
msgstr "Inväntar svar"
-#: ../../mod/connedit.php:487
+#: ../../mod/connedit.php:601
msgid "Hide this contact from others"
msgstr "Dölj den här kontakten för andra"
-#: ../../mod/connedit.php:487
+#: ../../mod/connedit.php:601
msgid ""
"Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr "Svar/gilla-reaktioner på dina offentliga inlägg <strong>kan</strong> fortfarande synas"
-#: ../../mod/layouts.php:62
-msgid "Help with this feature"
-msgstr "Hjälp för den här funktionen"
+#: ../../mod/mail.php:33
+msgid "Unable to lookup recipient."
+msgstr "Kunde inte hitta mottagare."
-#: ../../mod/layouts.php:84
-msgid "Layout Name"
-msgstr "Layoutnamn"
+#: ../../mod/mail.php:41
+msgid "Unable to communicate with requested channel."
+msgstr "Kunde inte kommunicera med den begärda kanalen."
+
+#: ../../mod/mail.php:48
+msgid "Cannot verify requested channel."
+msgstr "Kan inte bekräfta den begärda kanalen."
+
+#: ../../mod/mail.php:74
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Den valda kanalen har restriktioner för privata meddelanden. Misslyckades att skicka."
+
+#: ../../mod/mail.php:136
+msgid "Message deleted."
+msgstr "Meddelande borttaget."
+
+#: ../../mod/mail.php:153
+msgid "Message recalled."
+msgstr "Meddelande återkallat."
+
+#: ../../mod/mail.php:222
+msgid "Send Private Message"
+msgstr "Skicka privat meddelande."
+
+#: ../../mod/mail.php:223 ../../mod/mail.php:340
+msgid "To:"
+msgstr "Till:"
+
+#: ../../mod/mail.php:228 ../../mod/mail.php:342
+msgid "Subject:"
+msgstr "Ämne:"
+
+#: ../../mod/mail.php:232 ../../mod/mail.php:345 ../../mod/invite.php:131
+msgid "Your message:"
+msgstr "Ditt meddelande:"
+
+#: ../../mod/mail.php:239
+msgid "Send"
+msgstr "Skicka"
+
+#: ../../mod/mail.php:266
+msgid "Message not found."
+msgstr "Meddelandet hittades inte."
+
+#: ../../mod/mail.php:309
+msgid "Delete message"
+msgstr "Ta bort meddelande"
+
+#: ../../mod/mail.php:310
+msgid "Recall message"
+msgstr "Ã…terkalla meddelande"
+
+#: ../../mod/mail.php:312
+msgid "Message has been recalled."
+msgstr "Meddelandet har återkallats."
+
+#: ../../mod/mail.php:329
+msgid "Private Conversation"
+msgstr "Privat konversation"
+
+#: ../../mod/mail.php:333 ../../mod/message.php:72
+msgid "Delete conversation"
+msgstr "Ta bort konversation"
+
+#: ../../mod/mail.php:335
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Ingen säker kommunikationskanal tillgänglig. Du kan <strong>möjligtvis</strong> svara från avsändarens profilsida."
+
+#: ../../mod/mail.php:339
+msgid "Send Reply"
+msgstr "Skicka svar"
+
+#: ../../mod/photos.php:77
+msgid "Page owner information could not be retrieved."
+msgstr "Information om sidans ägare kunde inte hittas."
+
+#: ../../mod/photos.php:97
+msgid "Album not found."
+msgstr "Albumet hittades inte."
+
+#: ../../mod/photos.php:119 ../../mod/photos.php:672
+msgid "Delete Album"
+msgstr "Ta bort album"
+
+#: ../../mod/photos.php:159 ../../mod/photos.php:958
+msgid "Delete Photo"
+msgstr "Ta bort foto"
+
+#: ../../mod/photos.php:469
+msgid "No photos selected"
+msgstr "Inga foton valda"
+
+#: ../../mod/photos.php:513
+msgid "Access to this item is restricted."
+msgstr "Åtkomst till den här posten är begränsat."
+
+#: ../../mod/photos.php:552
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "%1$.2f MB av %2$.2f MB fotolagring använt."
+
+#: ../../mod/photos.php:555
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr "%1$.2f MB fotolagring använt."
+
+#: ../../mod/photos.php:579
+msgid "Upload Photos"
+msgstr "Ladda upp foton"
+
+#: ../../mod/photos.php:583 ../../mod/photos.php:665 ../../mod/photos.php:943
+msgid "Enter a new album name"
+msgstr "Ange ett nytt albumnamn"
+
+#: ../../mod/photos.php:584 ../../mod/photos.php:666 ../../mod/photos.php:944
+msgid "or select an existing one (doubleclick)"
+msgstr "eller välj ett befintligt (dubbelklicka)"
+
+#: ../../mod/photos.php:585
+msgid "Do not show a status post for this upload"
+msgstr "Visa inte en statusuppdatering för den här uppladdningen"
+
+#: ../../mod/photos.php:613
+msgid "Album name could not be decoded"
+msgstr "Albumnamn kunde inte tolkas"
+
+#: ../../mod/photos.php:654 ../../mod/photos.php:1167
+#: ../../mod/photos.php:1183
+msgid "Contact Photos"
+msgstr "Kontaktfoton"
+
+#: ../../mod/photos.php:678
+msgid "Show Newest First"
+msgstr "Visa nyast först"
+
+#: ../../mod/photos.php:680
+msgid "Show Oldest First"
+msgstr "Visa äldst först"
+
+#: ../../mod/photos.php:707 ../../mod/photos.php:1215
+msgid "View Photo"
+msgstr "Visa foto"
+
+#: ../../mod/photos.php:736
+msgid "Edit Album"
+msgstr "Redigera album"
+
+#: ../../mod/photos.php:781
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Behörighet saknas. Åtkomst till den här posten kan vara begränsat."
+
+#: ../../mod/photos.php:783
+msgid "Photo not available"
+msgstr "Foto inte tillgängligt"
+
+#: ../../mod/photos.php:841
+msgid "Use as profile photo"
+msgstr "Använd som profilfoto"
+
+#: ../../mod/photos.php:848
+msgid "Private Photo"
+msgstr "Privat foto"
+
+#: ../../mod/photos.php:863
+msgid "View Full Size"
+msgstr "Visa fullstorlek"
+
+#: ../../mod/photos.php:937
+msgid "Edit photo"
+msgstr "Redigera foto"
+
+#: ../../mod/photos.php:939
+msgid "Rotate CW (right)"
+msgstr "Rotera medurs (höger)"
+
+#: ../../mod/photos.php:940
+msgid "Rotate CCW (left)"
+msgstr "Rotera moturs (vänster)"
+
+#: ../../mod/photos.php:947
+msgid "Caption"
+msgstr "Bildtext"
+
+#: ../../mod/photos.php:949
+msgid "Add a Tag"
+msgstr "Lägg till en tagg"
+
+#: ../../mod/photos.php:953
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Exempel: @bob, @Barbara_Jensen, @jim@example.com"
+
+#: ../../mod/photos.php:956
+msgid "Flag as adult in album view"
+msgstr "Flagga som olämpligt för barn i albumvyn"
+
+#: ../../mod/photos.php:1133
+msgid "In This Photo:"
+msgstr "PÃ¥ fotot:"
+
+#: ../../mod/photos.php:1221
+msgid "View Album"
+msgstr "Visa album"
+
+#: ../../mod/photos.php:1244
+msgid "Recent Photos"
+msgstr "Nya foton"
+
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr "Bokmärke tillagt"
+
+#: ../../mod/bookmarks.php:60
+msgid "My Bookmarks"
+msgstr "Mina bokmärken"
+
+#: ../../mod/bookmarks.php:71
+msgid "My Connections Bookmarks"
+msgstr "Mina kontakters bokmärken"
+
+#: ../../mod/dirsearch.php:21
+msgid "This site is not a directory server"
+msgstr "Den här servern är inte en katalogserver"
+
+#: ../../mod/cloud.php:130
+msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
+msgstr "RedMatrix - Gäster: Användarnamn {din e-postadress}, Lösenord: +++"
+
+#: ../../mod/acl.php:245
+msgid "network"
+msgstr "nätverk"
+
+#: ../../mod/blocks.php:99
+msgid "Block Name"
+msgstr "Blocknamn"
+
+#: ../../mod/editblock.php:115
+msgid "Edit Block"
+msgstr "Redigera block"
+
+#: ../../mod/editblock.php:125
+msgid "Delete block?"
+msgstr "Ta bort block?"
+
+#: ../../mod/editblock.php:183
+msgid "Delete Block"
+msgstr "Ta bort block"
+
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
+msgstr "Layout uppdaterad."
+
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
+msgstr "Redigera systemsidbeskrivning"
+
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
+msgstr "Layout hittas inte."
+
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
+msgstr "Modulnamn:"
+
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:107
+msgid "Layout Help"
+msgstr "Layouthjälp"
+
+#: ../../mod/editlayout.php:108
+msgid "Edit Layout"
+msgstr "Redigera layout"
+
+#: ../../mod/editlayout.php:117
+msgid "Delete layout?"
+msgstr "Ta bort layout?"
+
+#: ../../mod/editlayout.php:178
+msgid "Delete Layout"
+msgstr "Ta bort layout"
+
+#: ../../mod/home.php:48
+msgid "Red Matrix - &quot;The Network&quot;"
+msgstr "Red Matrix - &quot;Nätverket&quot;"
+
+#: ../../mod/home.php:101
+#, php-format
+msgid "Welcome to %s"
+msgstr "Välkommen till %s"
+
+#: ../../mod/editwebpage.php:140
+msgid "Edit Webpage"
+msgstr "Redigera webbsida"
+
+#: ../../mod/editwebpage.php:150
+msgid "Delete webpage?"
+msgstr "Ta bort webbsida?"
+
+#: ../../mod/editwebpage.php:215
+msgid "Delete Webpage"
+msgstr "Ta bort webbsida"
+
+#: ../../mod/impel.php:33
+msgid "webpage"
+msgstr "webbsida"
+
+#: ../../mod/impel.php:38
+msgid "block"
+msgstr "block"
+
+#: ../../mod/impel.php:43
+msgid "layout"
+msgstr "layout"
+
+#: ../../mod/impel.php:117
+#, php-format
+msgid "%s element installed"
+msgstr "%selement installerat"
+
+#: ../../mod/profile_photo.php:108
+msgid "Image uploaded but image cropping failed."
+msgstr "Bilden laddades upp men beskärning misslyckades."
+
+#: ../../mod/profile_photo.php:161
+msgid "Image resize failed."
+msgstr "Ändring av bildstorlek misslyckades."
+
+#: ../../mod/profile_photo.php:205
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Shift-uppdatera sidan eller rensa webbläsarcachen om det nya fotot inte visas direkt."
+
+#: ../../mod/profile_photo.php:232
+#, php-format
+msgid "Image exceeds size limit of %d"
+msgstr "Bilden överskrider storleksbegränsningen %d"
+
+#: ../../mod/profile_photo.php:241
+msgid "Unable to process image."
+msgstr "Kunde inte behandla bilden."
+
+#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
+msgid "Photo not available."
+msgstr "Fotot är inte tillgängligt."
+
+#: ../../mod/profile_photo.php:358
+msgid "Upload File:"
+msgstr "Ladda upp fil:"
+
+#: ../../mod/profile_photo.php:359
+msgid "Select a profile:"
+msgstr "Välj en profil:"
+
+#: ../../mod/profile_photo.php:360
+msgid "Upload Profile Photo"
+msgstr "Ladda upp profilfoto"
+
+#: ../../mod/profile_photo.php:365
+msgid "skip this step"
+msgstr "hoppa över det här steget"
+
+#: ../../mod/profile_photo.php:365
+msgid "select a photo from your photo albums"
+msgstr "välj ett foto från dina fotoalbum"
+
+#: ../../mod/profile_photo.php:381
+msgid "Crop Image"
+msgstr "Beskär bild"
+
+#: ../../mod/profile_photo.php:382
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Justera bildens beskärning för bästa utseende."
+
+#: ../../mod/profile_photo.php:384
+msgid "Done Editing"
+msgstr "Klar med redigering"
+
+#: ../../mod/profile_photo.php:427
+msgid "Image uploaded successfully."
+msgstr "Bilduppladdning lyckades."
+
+#: ../../mod/profile_photo.php:429
+msgid "Image upload failed."
+msgstr "Bilduppladdning misslyckades."
-#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
+#: ../../mod/profile_photo.php:438
+#, php-format
+msgid "Image size reduction [%s] failed."
+msgstr "Krympning av bilden [%s] misslyckades."
+
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr "Gilla/ogilla"
+
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr "Den här åtgärden fungerar bara för medlemmar."
+
+#: ../../mod/like.php:21
+msgid ""
+"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
+"href=\"register\">register as a new RedMatrix member</a> to continue."
+msgstr "<a href=\"rmagic\">Logga in med ditt RedMatrix-ID</a> eller <a href=\"register\">registrera dig som ny RedMatrix medlem</a> för att fortsätta."
+
+#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
+msgid "Invalid request."
+msgstr "Ogiltig begäran."
+
+#: ../../mod/like.php:119
+msgid "thing"
+msgstr "sak"
+
+#: ../../mod/like.php:165
+msgid "Channel unavailable."
+msgstr "Kanalen kan ej nås."
+
+#: ../../mod/like.php:204
+msgid "Previous action reversed."
+msgstr "Föregående åtgärd återställdes."
+
+#: ../../mod/like.php:422
+msgid "Action completed."
+msgstr "Åtgärden slutfördes."
+
+#: ../../mod/like.php:423
+msgid "Thank you."
+msgstr "Tack."
+
+#: ../../mod/help.php:41 ../../mod/help.php:47 ../../mod/help.php:53
msgid "Help:"
msgstr "Hjälp:"
-#: ../../mod/help.php:69 ../../index.php:223
+#: ../../mod/help.php:67 ../../index.php:238
msgid "Not Found"
msgstr "Hittas inte"
-#: ../../mod/help.php:72 ../../mod/page.php:83 ../../mod/display.php:100
-#: ../../mod/block.php:75 ../../index.php:226
-msgid "Page not found."
-msgstr "Sidan hittas inte."
+#: ../../mod/thing.php:96
+msgid "Thing updated"
+msgstr "Föremål uppdaterat"
-#: ../../mod/rmagic.php:38
+#: ../../mod/thing.php:156
+msgid "Object store: failed"
+msgstr "Objektlagring: misslyckades"
+
+#: ../../mod/thing.php:160
+msgid "Thing added"
+msgstr "Föremål tillagt"
+
+#: ../../mod/thing.php:180
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
+
+#: ../../mod/thing.php:232
+msgid "Show Thing"
+msgstr "Visa föremål"
+
+#: ../../mod/thing.php:239
+msgid "item not found."
+msgstr "föremål hittades inte."
+
+#: ../../mod/thing.php:270
+msgid "Edit Thing"
+msgstr "Redigera föremål"
+
+#: ../../mod/thing.php:272 ../../mod/thing.php:319
+msgid "Select a profile"
+msgstr "Välj en profil"
+
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Post an activity"
+msgstr "Posta en aktivitet"
+
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Skickar bara till de som tittar på den aktuella profilen"
+
+#: ../../mod/thing.php:278 ../../mod/thing.php:324
+msgid "Name of thing e.g. something"
+msgstr "Namn på föremål, t.ex. någonting"
+
+#: ../../mod/thing.php:280 ../../mod/thing.php:325
+msgid "URL of thing (optional)"
+msgstr "URL för föremål (frivilligt)"
+
+#: ../../mod/thing.php:282 ../../mod/thing.php:326
+msgid "URL for photo of thing (optional)"
+msgstr "URL för foto på föremål (frivilligt)"
+
+#: ../../mod/thing.php:317
+msgid "Add Thing to your Profile"
+msgstr "Lägg till föremål till din profil"
+
+#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
+msgid "Contact not found."
+msgstr "Kontakten hittades inte."
+
+#: ../../mod/fsuggest.php:63
+msgid "Friend suggestion sent."
+msgstr "Vänförfrågan skickad."
+
+#: ../../mod/fsuggest.php:97
+msgid "Suggest Friends"
+msgstr "Föreslå vänner"
+
+#: ../../mod/fsuggest.php:99
+#, php-format
+msgid "Suggest a friend for %s"
+msgstr "Föreslå en vän för %s"
+
+#: ../../mod/filestorage.php:76
+msgid "Permission Denied."
+msgstr "Behörighet saknas."
+
+#: ../../mod/filestorage.php:92
+msgid "File not found."
+msgstr "Filen hittas inte."
+
+#: ../../mod/filestorage.php:131
+msgid "Edit file permissions"
+msgstr "Redigera filrättigheter"
+
+#: ../../mod/filestorage.php:140
+msgid "Set/edit permissions"
+msgstr "Ställ in/ändra behörigheter"
+
+#: ../../mod/filestorage.php:141
+msgid "Include all files and sub folders"
+msgstr "Inkludera alla filer och underkataloger"
+
+#: ../../mod/filestorage.php:142
+msgid "Return to file list"
+msgstr "Återgå till fillistan"
+
+#: ../../mod/filestorage.php:144
+msgid "Copy/paste this code to attach file to a post"
+msgstr "Kopiera/klistra in den här koden för att bifoga filen i ett inlägg"
+
+#: ../../mod/filestorage.php:145
+msgid "Copy/paste this URL to link file from a web page"
+msgstr "Kopiera/klistra in den här URL:en för att länka till filen från en webbsida"
+
+#: ../../mod/connect.php:56 ../../mod/connect.php:104
+msgid "Continue"
+msgstr "Fortsätt"
+
+#: ../../mod/connect.php:85
+msgid "Premium Channel Setup"
+msgstr "Inställning av premiumkanal"
+
+#: ../../mod/connect.php:87
+msgid "Enable premium channel connection restrictions"
+msgstr "Aktivera kontaktrestriktioner för premiumkanal"
+
+#: ../../mod/connect.php:88
msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Vi drabbades av ett problem vid inloggningen med OpenID:t du uppgav. Kontrollera att ID:t är korrekt stavat."
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Ange dina restriktioner och villkor, som Paypal-kvitto, användarriktlinjer, etc."
-#: ../../mod/rmagic.php:38
-msgid "The error message was:"
-msgstr "Felmeddelandet var:"
+#: ../../mod/connect.php:90 ../../mod/connect.php:110
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Den här kanalen kan kräva ytterligare steg eller godkännande av följande villkor innan anslutning:"
-#: ../../mod/rmagic.php:42
-msgid "Authentication failed."
-msgstr "Autentisering misslyckades."
+#: ../../mod/connect.php:91
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Potentiella kontakter kommer sedan att se följande text innan de går vidare:"
-#: ../../mod/rmagic.php:78
-msgid "Remote Authentication"
-msgstr "Fjärrautentisering."
+#: ../../mod/connect.php:92 ../../mod/connect.php:113
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Genom att fortsätta intygar jag att jag har följt alla instruktioner som ges på den här sidan."
-#: ../../mod/rmagic.php:79
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Ange din kanaladress (t.ex. kanal@example.com)"
+#: ../../mod/connect.php:101
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Inga specifika instruktioner har givits av kanalägaren.)"
-#: ../../mod/rmagic.php:80
-msgid "Authenticate"
-msgstr "Autentisera"
+#: ../../mod/connect.php:109
+msgid "Restricted or Premium Channel"
+msgstr "Begränsad kanal eller premiumkanal"
-#: ../../mod/page.php:35 ../../mod/block.php:27
-msgid "Invalid item."
-msgstr "Ogiltig post."
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr "- välj -"
-#: ../../mod/network.php:79
-msgid "No such group"
-msgstr "Ingen sådan grupp"
+#: ../../mod/locs.php:19 ../../mod/locs.php:46
+msgid "Location not found."
+msgstr "Platsen hittades inte."
-#: ../../mod/network.php:119
-msgid "Search Results For:"
-msgstr "Sökresultat för:"
+#: ../../mod/locs.php:50
+msgid "Primary location cannot be removed."
+msgstr "Huvudplatsen kan inte tas bort."
-#: ../../mod/network.php:173
-msgid "Collection is empty"
-msgstr "Sammanhanget är tomt"
+#: ../../mod/locs.php:82
+msgid "No locations found."
+msgstr "Inga platser hittades."
-#: ../../mod/network.php:181
-msgid "Collection: "
-msgstr "Sammanhang: "
+#: ../../mod/locs.php:95
+msgid "Manage Channel Locations"
+msgstr "Hantera kanalplatser"
-#: ../../mod/network.php:194
-msgid "Connection: "
-msgstr "Kontakt:"
+#: ../../mod/locs.php:96
+msgid "Location (address)"
+msgstr "Plats (adress)"
-#: ../../mod/network.php:197
-msgid "Invalid connection."
-msgstr "Ogiltig kontakt."
+#: ../../mod/locs.php:97
+msgid "Primary Location"
+msgstr "Huvudplats"
+
+#: ../../mod/locs.php:98
+msgid "Drop location"
+msgstr "Ta bort plats"
+
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "Kanal tillagd."
+
+#: ../../mod/import.php:25
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Din tjänstenivå tillåter bara %d kanaler."
+
+#: ../../mod/import.php:51
+msgid "Nothing to import."
+msgstr "Inget att importera."
+
+#: ../../mod/import.php:75
+msgid "Unable to download data from old server"
+msgstr "Kunde inte ladda ner data från den gamla servern"
+
+#: ../../mod/import.php:81
+msgid "Imported file is empty."
+msgstr "Den importerade filen är tom."
+
+#: ../../mod/import.php:106
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Kan inte skapa ett dubblerat kanal-ID på det här systemet. Import misslyckades."
+
+#: ../../mod/import.php:127
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Kan inte skapa en unik kanaladress. Import misslyckades."
+
+#: ../../mod/import.php:147
+msgid "Channel clone failed. Import failed."
+msgstr "Kloning av kanalen misslyckades. Import misslyckades."
+
+#: ../../mod/import.php:157
+msgid "Cloned channel not found. Import failed."
+msgstr "Den klonade kanalen hittas inte. Import misslyckades."
+
+#: ../../mod/import.php:475
+msgid "Import completed."
+msgstr "Import slutförd."
+
+#: ../../mod/import.php:487
+msgid "You must be logged in to use this feature."
+msgstr "Du måste vara inloggad för att kunna använda den här funktionen."
+
+#: ../../mod/import.php:492
+msgid "Import Channel"
+msgstr "Importera kanal"
+
+#: ../../mod/import.php:493
+msgid ""
+"Use this form to import an existing channel from a different server/hub. You"
+" may retrieve the channel identity from the old server/hub via the network "
+"or provide an export file. Only identity and connections/relationships will "
+"be imported. Importation of content is not yet available."
+msgstr "Använd det här formuläret för att importera en befintlig kanal från en annan server/hubb. Du kan få kanal-ID:t från den gamla servern/hubben över nätverket eller tillhandahålla en exportfil. Endast identitet och kontakter/relationer kommer att importeras. Import av innehåll stöds ännu inte."
+
+#: ../../mod/import.php:494
+msgid "File to Upload"
+msgstr "Fil att ladda upp"
+
+#: ../../mod/import.php:495
+msgid "Or provide the old server/hub details"
+msgstr "Eller ge uppgifter om den gamla servern/hubben"
+
+#: ../../mod/import.php:496
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Din gamla identitetsadress (xyz@example.com)"
+
+#: ../../mod/import.php:497
+msgid "Your old login email address"
+msgstr "Din gamla e-postadress för inloggning"
+
+#: ../../mod/import.php:498
+msgid "Your old login password"
+msgstr "Ditt gamla inloggningslösenord"
+
+#: ../../mod/import.php:499
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Ange i bägge fallen om den här hubben ska vara din nya primära adress eller om den gamla platsen ska fortsätta att ha den rollen. Du kommer att kunna posta från båda platser, men bara en kan vara primärt utrymme för filer, foton och media."
+
+#: ../../mod/import.php:500
+msgid "Make this hub my primary location"
+msgstr "Gör den här hubben till min primära plats"
+
+#: ../../mod/import.php:501
+msgid "Import existing posts if possible"
+msgstr "Importera befintliga inlägg om möjligt"
+
+#: ../../mod/item.php:159
+msgid "Unable to locate original post."
+msgstr "Kunde inte hitta originalinlägget."
+
+#: ../../mod/item.php:418
+msgid "Empty post discarded."
+msgstr "Tomt inlägg förkastat."
+
+#: ../../mod/item.php:460
+msgid "Executable content type not permitted to this channel."
+msgstr "Körbart innehåll tillåts inte i den här kanalen."
+
+#: ../../mod/item.php:899
+msgid "System error. Post not saved."
+msgstr "Systemfel. Inlägget inte sparat."
+
+#: ../../mod/item.php:1117
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Du har nått din gräns på %1$.0f toppnivåinlägg."
+
+#: ../../mod/item.php:1123
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Du har nått din gräns på %1$.0f webbsidor."
+
+#: ../../mod/suggest.php:35
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Inga förslag tillgängliga. Om det här är en ny server, försök igen om 24 timmar."
+
+#: ../../mod/layouts.php:110
+msgid "Help with this feature"
+msgstr "Hjälp för den här funktionen"
+
+#: ../../mod/layouts.php:130
+msgid "Layout Name"
+msgstr "Layoutnamn"
-#: ../../mod/profiles.php:18 ../../mod/profiles.php:138
-#: ../../mod/profiles.php:168 ../../mod/profiles.php:463
+#: ../../mod/tagger.php:98
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s taggade%2$ss %3$s med %4$s"
+
+#: ../../mod/profiles.php:18 ../../mod/profiles.php:165
+#: ../../mod/profiles.php:222 ../../mod/profiles.php:565
msgid "Profile not found."
msgstr "Profil hittades inte."
@@ -5984,1438 +6696,1402 @@ msgstr "Ny profil skapad."
msgid "Profile unavailable to clone."
msgstr "Profil inte tillgänglig för kloning."
-#: ../../mod/profiles.php:178
+#: ../../mod/profiles.php:136
+msgid "Profile unavailable to export."
+msgstr "Profil inte tillgänglig för export."
+
+#: ../../mod/profiles.php:232
msgid "Profile Name is required."
msgstr "Profilnamn krävs."
-#: ../../mod/profiles.php:294
+#: ../../mod/profiles.php:378
msgid "Marital Status"
msgstr "Civilstånd"
-#: ../../mod/profiles.php:298
+#: ../../mod/profiles.php:382
msgid "Romantic Partner"
msgstr "Romantisk partner"
-#: ../../mod/profiles.php:302
+#: ../../mod/profiles.php:386
msgid "Likes"
msgstr "Gillar"
-#: ../../mod/profiles.php:306
+#: ../../mod/profiles.php:390
msgid "Dislikes"
msgstr "Ogillar"
-#: ../../mod/profiles.php:310
+#: ../../mod/profiles.php:394
msgid "Work/Employment"
msgstr "Arbete/sysselsättning"
-#: ../../mod/profiles.php:313
+#: ../../mod/profiles.php:397
msgid "Religion"
msgstr "Religion"
-#: ../../mod/profiles.php:317
+#: ../../mod/profiles.php:401
msgid "Political Views"
msgstr "Politisk åskådning"
-#: ../../mod/profiles.php:321
+#: ../../mod/profiles.php:405
msgid "Gender"
msgstr "Kön"
-#: ../../mod/profiles.php:325
+#: ../../mod/profiles.php:409
msgid "Sexual Preference"
msgstr "Sexuell preferens"
-#: ../../mod/profiles.php:329
+#: ../../mod/profiles.php:413
msgid "Homepage"
msgstr "Hemsida"
-#: ../../mod/profiles.php:333
+#: ../../mod/profiles.php:417
msgid "Interests"
msgstr "Intressen"
-#: ../../mod/profiles.php:344 ../../mod/pubsites.php:31
-msgid "Location"
-msgstr "Plats"
+#: ../../mod/profiles.php:421 ../../mod/admin.php:866
+msgid "Address"
+msgstr "Adress"
-#: ../../mod/profiles.php:427
+#: ../../mod/profiles.php:511
msgid "Profile updated."
msgstr "Profil uppdaterad."
-#: ../../mod/profiles.php:482
+#: ../../mod/profiles.php:590
msgid "Hide your contact/friend list from viewers of this profile?"
msgstr "Dölj din kontakt-/vänlista för de som ser den här profilen"
-#: ../../mod/profiles.php:505
+#: ../../mod/profiles.php:632
msgid "Edit Profile Details"
msgstr "Redigera profildetaljer"
-#: ../../mod/profiles.php:507
+#: ../../mod/profiles.php:634
msgid "View this profile"
msgstr "Visa den här profilen"
-#: ../../mod/profiles.php:508
+#: ../../mod/profiles.php:636
msgid "Change Profile Photo"
msgstr "Byt profilfoto"
-#: ../../mod/profiles.php:509
+#: ../../mod/profiles.php:637
msgid "Create a new profile using these settings"
msgstr "Skapa en ny profil utifrån de här inställningarna"
-#: ../../mod/profiles.php:510
+#: ../../mod/profiles.php:638
msgid "Clone this profile"
msgstr "Klona den här profilen"
-#: ../../mod/profiles.php:511
+#: ../../mod/profiles.php:639
msgid "Delete this profile"
msgstr "Ta bort den här profilen"
-#: ../../mod/profiles.php:512
+#: ../../mod/profiles.php:641
+msgid "Import profile from file"
+msgstr "Importera profil från fil"
+
+#: ../../mod/profiles.php:642
+msgid "Export profile to file"
+msgstr "Exportera profil som fil"
+
+#: ../../mod/profiles.php:643
msgid "Profile Name:"
msgstr "Profilnamn:"
-#: ../../mod/profiles.php:513
+#: ../../mod/profiles.php:644
msgid "Your Full Name:"
msgstr "Ditt fulllständiga namn:"
-#: ../../mod/profiles.php:514
+#: ../../mod/profiles.php:645
msgid "Title/Description:"
msgstr "Titel/beskrivning:"
-#: ../../mod/profiles.php:515
+#: ../../mod/profiles.php:646
msgid "Your Gender:"
msgstr "Ditt kön:"
-#: ../../mod/profiles.php:516
-#, php-format
-msgid "Birthday (%s):"
-msgstr "Födelsedag (%s):"
+#: ../../mod/profiles.php:647
+msgid "Birthday :"
+msgstr "Födelsedag:"
-#: ../../mod/profiles.php:517
+#: ../../mod/profiles.php:648
msgid "Street Address:"
msgstr "Gatuadress:"
-#: ../../mod/profiles.php:518
+#: ../../mod/profiles.php:649
msgid "Locality/City:"
msgstr "Ort:"
-#: ../../mod/profiles.php:519
+#: ../../mod/profiles.php:650
msgid "Postal/Zip Code:"
msgstr "Postnummer:"
-#: ../../mod/profiles.php:520
+#: ../../mod/profiles.php:651
msgid "Country:"
msgstr "Land:"
-#: ../../mod/profiles.php:521
+#: ../../mod/profiles.php:652
msgid "Region/State:"
msgstr "Region:"
-#: ../../mod/profiles.php:522
+#: ../../mod/profiles.php:653
msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr "<span class=\"heart\">&hearts;</span> Civilstånd:"
-#: ../../mod/profiles.php:523
+#: ../../mod/profiles.php:654
msgid "Who: (if applicable)"
msgstr "Vem: (om tillämpligt)"
-#: ../../mod/profiles.php:524
+#: ../../mod/profiles.php:655
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "Exempel: cathy123, Cathy Williams, cathy@example.com"
-#: ../../mod/profiles.php:525
+#: ../../mod/profiles.php:656
msgid "Since [date]:"
msgstr "Sedan [datum]"
-#: ../../mod/profiles.php:527
+#: ../../mod/profiles.php:658
msgid "Homepage URL:"
msgstr "Hemsideadress:"
-#: ../../mod/profiles.php:530
+#: ../../mod/profiles.php:661
msgid "Religious Views:"
msgstr "Religion/livsåskådning:"
-#: ../../mod/profiles.php:531
+#: ../../mod/profiles.php:662
msgid "Keywords:"
msgstr "Nyckelord:"
-#: ../../mod/profiles.php:534
+#: ../../mod/profiles.php:665
msgid "Example: fishing photography software"
msgstr "Exempel: fiske fotografering mjukvara"
-#: ../../mod/profiles.php:535
+#: ../../mod/profiles.php:666
msgid "Used in directory listings"
msgstr "Används i kataloglistningar"
-#: ../../mod/profiles.php:536
+#: ../../mod/profiles.php:667
msgid "Tell us about yourself..."
msgstr "Beskriv dig själv..."
-#: ../../mod/profiles.php:537
+#: ../../mod/profiles.php:668
msgid "Hobbies/Interests"
msgstr "Fritidssysselsättning/intressen"
-#: ../../mod/profiles.php:538
+#: ../../mod/profiles.php:669
msgid "Contact information and Social Networks"
msgstr "Kontaktinformation och sociala nätverk"
-#: ../../mod/profiles.php:539
+#: ../../mod/profiles.php:670
msgid "My other channels"
msgstr "Mina andra kanaler"
-#: ../../mod/profiles.php:540
+#: ../../mod/profiles.php:671
msgid "Musical interests"
msgstr "Musikintressen"
-#: ../../mod/profiles.php:541
+#: ../../mod/profiles.php:672
msgid "Books, literature"
msgstr "Böcker, litteratur"
-#: ../../mod/profiles.php:542
+#: ../../mod/profiles.php:673
msgid "Television"
msgstr "Tv"
-#: ../../mod/profiles.php:543
+#: ../../mod/profiles.php:674
msgid "Film/dance/culture/entertainment"
msgstr "Film/dans/kultur/underhållning"
-#: ../../mod/profiles.php:544
+#: ../../mod/profiles.php:675
msgid "Love/romance"
msgstr "Kärlek/romantik"
-#: ../../mod/profiles.php:545
+#: ../../mod/profiles.php:676
msgid "Work/employment"
msgstr "Arbete/sysselsättning"
-#: ../../mod/profiles.php:546
+#: ../../mod/profiles.php:677
msgid "School/education"
msgstr "Skola/utbildning"
-#: ../../mod/profiles.php:551
-msgid ""
-"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
-"be visible to anybody using the internet."
-msgstr "Det här är din <strong>offentliga</strong> profil.<br />Den <strong>kan</strong> ses av vem som helst med tillgång till Internet."
+#: ../../mod/profiles.php:683
+msgid "This is your default profile."
+msgstr "Det här är din standardprofil."
+
+#: ../../mod/profiles.php:694 ../../mod/directory.php:188
+msgid "Age: "
+msgstr "Ã…lder:"
-#: ../../mod/profiles.php:600
+#: ../../mod/profiles.php:737
msgid "Edit/Manage Profiles"
msgstr "Redigera/hantera profiler"
-#: ../../mod/profiles.php:601
+#: ../../mod/profiles.php:738
msgid "Add profile things"
msgstr "Lägg till profilsaker"
-#: ../../mod/profiles.php:602
+#: ../../mod/profiles.php:739
msgid "Include desirable objects in your profile"
msgstr "Inkludera fina prylar i din profil"
-#: ../../mod/dirsearch.php:21
-msgid "This site is not a directory server"
-msgstr "Den här servern är inte en katalogserver"
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
+msgid "Tag removed"
+msgstr "Tagg borttagen"
-#: ../../mod/sources.php:32
-msgid "Failed to create source. No channel selected."
-msgstr "Misslyckades att skapa källa. Ingen kanal vald."
+#: ../../mod/tagrm.php:119
+msgid "Remove Item Tag"
+msgstr "Ta bort innehållstagg"
-#: ../../mod/sources.php:45
-msgid "Source created."
-msgstr "Källa skapad."
+#: ../../mod/tagrm.php:121
+msgid "Select a tag to remove: "
+msgstr "Välj en tagg att ta bort: "
-#: ../../mod/sources.php:57
-msgid "Source updated."
-msgstr "Källa uppdaterad."
+#: ../../mod/admin.php:52
+msgid "Theme settings updated."
+msgstr "Temainställningar uppdaterade."
-#: ../../mod/sources.php:82
-msgid "*"
-msgstr "*"
+#: ../../mod/admin.php:97 ../../mod/admin.php:411
+msgid "Site"
+msgstr "Server"
-#: ../../mod/sources.php:89
-msgid "Manage remote sources of content for your channel."
-msgstr "Hantera fjärrkällor med innehåll för din kanal."
+#: ../../mod/admin.php:98
+msgid "Accounts"
+msgstr "Konton"
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
-msgid "New Source"
-msgstr "Ny källa"
+#: ../../mod/admin.php:99 ../../mod/admin.php:858
+msgid "Channels"
+msgstr "Kanaler"
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
-msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importera allt eller valt innehåll från följande kanal till den här kanalen och distribuera det enligt dina kanalinställningar."
+#: ../../mod/admin.php:100 ../../mod/admin.php:949 ../../mod/admin.php:991
+msgid "Plugins"
+msgstr "Tillägg"
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Only import content with these words (one per line)"
-msgstr "Importera endast innehåll med de här orden (ett per rad)"
+#: ../../mod/admin.php:101 ../../mod/admin.php:1154 ../../mod/admin.php:1190
+msgid "Themes"
+msgstr "Teman"
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Leave blank to import all public content"
-msgstr "Lämna blankt för att importera allt offentligt innehåll"
+#: ../../mod/admin.php:102 ../../mod/admin.php:512
+msgid "Server"
+msgstr "Server"
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
-#: ../../mod/new_channel.php:110
-msgid "Channel Name"
-msgstr "Kanalnamn"
+#: ../../mod/admin.php:103
+msgid "Profile Config"
+msgstr "Profilkonfiguration"
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
-msgid "Source not found."
-msgstr "Källa hittades inte."
+#: ../../mod/admin.php:104
+msgid "DB updates"
+msgstr "Databasuppdateringar"
-#: ../../mod/sources.php:130
-msgid "Edit Source"
-msgstr "Redigera källa"
+#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1277
+msgid "Logs"
+msgstr "Loggar"
-#: ../../mod/sources.php:131
-msgid "Delete Source"
-msgstr "Ta bort källa"
+#: ../../mod/admin.php:124
+msgid "Plugin Features"
+msgstr "Tilläggsfunktioner"
-#: ../../mod/sources.php:158
-msgid "Source removed"
-msgstr "Källa borttagen"
+#: ../../mod/admin.php:126
+msgid "User registrations waiting for confirmation"
+msgstr "Användarregistreringar som behöver bekräftas"
-#: ../../mod/sources.php:160
-msgid "Unable to remove source."
-msgstr "Kunde inte ta bort källa."
+#: ../../mod/admin.php:206
+msgid "Message queues"
+msgstr "Meddelandeköer"
-#: ../../mod/blocks.php:66
-msgid "Block Name"
-msgstr "Blocknamn"
+#: ../../mod/admin.php:211 ../../mod/admin.php:410 ../../mod/admin.php:511
+#: ../../mod/admin.php:721 ../../mod/admin.php:857 ../../mod/admin.php:948
+#: ../../mod/admin.php:990 ../../mod/admin.php:1153 ../../mod/admin.php:1189
+#: ../../mod/admin.php:1276
+msgid "Administration"
+msgstr "Administration"
-#: ../../mod/magic.php:70
-msgid "Hub not found."
-msgstr "Hubb hittades inte."
+#: ../../mod/admin.php:212
+msgid "Summary"
+msgstr "Sammanfattning"
-#: ../../mod/chat.php:19 ../../mod/channel.php:25
-msgid "You must be logged in to see this page."
-msgstr "Du måste vara inloggad för att se den här sidan."
+#: ../../mod/admin.php:214
+msgid "Registered users"
+msgstr "Registrerade användare"
-#: ../../mod/chat.php:166
-msgid "Room not found"
-msgstr "Rum hittas inte"
+#: ../../mod/admin.php:216 ../../mod/admin.php:515
+msgid "Pending registrations"
+msgstr "Pågående registreringar"
-#: ../../mod/chat.php:176
-msgid "Leave Room"
-msgstr "Lämna rummet"
+#: ../../mod/admin.php:217
+msgid "Version"
+msgstr "Version"
-#: ../../mod/chat.php:177
-msgid "I am away right now"
-msgstr "Jag är borta för tillfället"
+#: ../../mod/admin.php:219 ../../mod/admin.php:516
+msgid "Active plugins"
+msgstr "Aktiva tillägg"
-#: ../../mod/chat.php:178
-msgid "I am online"
-msgstr "Jag är online"
+#: ../../mod/admin.php:326
+msgid "Site settings updated."
+msgstr "Serverinställningar uppdaterade."
-#: ../../mod/chat.php:180
-msgid "Bookmark this room"
-msgstr "Bokmärk det här rummet"
+#: ../../mod/admin.php:365
+msgid "experimental"
+msgstr "experimentellt"
-#: ../../mod/chat.php:204 ../../mod/chat.php:226
-msgid "New Chatroom"
-msgstr "Nytt chattrum"
+#: ../../mod/admin.php:367
+msgid "unsupported"
+msgstr "stöds ej"
-#: ../../mod/chat.php:205
-msgid "Chatroom Name"
-msgstr "Namn på chattrum"
+#: ../../mod/admin.php:391
+msgid "Yes - with approval"
+msgstr "Ja - med godkännande"
-#: ../../mod/chat.php:222
-#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "%1$ss chattrum"
+#: ../../mod/admin.php:397
+msgid "My site is not a public server"
+msgstr "Min server är inte offentlig"
-#: ../../mod/siteinfo.php:57
-#, php-format
-msgid "Version %s"
-msgstr "Version %s"
+#: ../../mod/admin.php:398
+msgid "My site has paid access only"
+msgstr "Min server har endast åtkomst mot betalning"
-#: ../../mod/siteinfo.php:76
-msgid "Installed plugins/addons/apps:"
-msgstr "Installerade tillägg/moduler/appar:"
+#: ../../mod/admin.php:399
+msgid "My site has free access only"
+msgstr "Min server har endast gratis åtkomst"
-#: ../../mod/siteinfo.php:89
-msgid "No installed plugins/addons/apps"
-msgstr "Inga installerade tillägg/moduler/appar"
+#: ../../mod/admin.php:400
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "Min server erbjuder gratis konton med uppgradering mot betalning"
-#: ../../mod/siteinfo.php:97
-msgid "Red"
-msgstr "Red"
+#: ../../mod/admin.php:414
+msgid "File upload"
+msgstr "Filuppladdning"
-#: ../../mod/siteinfo.php:98
-msgid ""
-"This is a hub of the Red Matrix - a global cooperative network of "
-"decentralised privacy enhanced websites."
-msgstr "Det här är en hubb som hör till Red Matrix - ett globalt samverkande nätverk av decentraliserade integritetsstärkta webbplatser."
+#: ../../mod/admin.php:415
+msgid "Policies"
+msgstr "Policyer"
-#: ../../mod/siteinfo.php:101
-msgid "Running at web location"
-msgstr "Kör på webbutrymmet"
+#: ../../mod/admin.php:420
+msgid "Site name"
+msgstr "Servernamn"
-#: ../../mod/siteinfo.php:102
-msgid ""
-"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
-"about the Red Matrix."
-msgstr "Besök <a href=\"http://getzot.com\">GetZot.com</a> lära dig mer om Red Matrix."
+#: ../../mod/admin.php:421
+msgid "Banner/Logo"
+msgstr "Banner/logga"
-#: ../../mod/siteinfo.php:103
-msgid "Bug reports and issues: please visit"
-msgstr "Buggrapporter och problem: besök"
+#: ../../mod/admin.php:422
+msgid "Administrator Information"
+msgstr "Administratörsinformation"
-#: ../../mod/siteinfo.php:106
+#: ../../mod/admin.php:422
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Förslag, uppskattning, etc. - maila \"redmatrix\" at librelist - dot com"
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Kontaktinfo till sidadministratörer. Visas på sidinfosidan. BBCode kan användas här"
-#: ../../mod/siteinfo.php:108
-msgid "Site Administrators"
-msgstr "Serveradministratörer"
+#: ../../mod/admin.php:423
+msgid "System language"
+msgstr "Systemspråk"
-#: ../../mod/new_channel.php:107
-msgid "Add a Channel"
-msgstr "Lägg till en kanal"
+#: ../../mod/admin.php:424
+msgid "System theme"
+msgstr "Systemtema"
-#: ../../mod/new_channel.php:108
+#: ../../mod/admin.php:424
msgid ""
-"A channel is your own collection of related web pages. A channel can be used"
-" to hold social network profiles, blogs, conversation groups and forums, "
-"celebrity pages, and much more. You may create as many channels as your "
-"service provider allows."
-msgstr "En kanal är din egen samling av relaterade webbsidor. En kanal kan användas för att innehålla sociala nätverksprofiler, bloggar, konversationsgrupper och forum, fansidor, och mycket mer. Du kan skapa så många kanaler som din tjänsteleverantör tillåter."
-
-#: ../../mod/new_channel.php:111
-msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
-msgstr "Exempel: \"Bob Jameson\", \"Lisa och hennes hästar\", \"Fotboll\", \"Flyggruppen\" "
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Förvalt systemtema - kan åsidosättas i användarprofiler - <a href='#' id='cnftheme'>ändra temainställningar</a>"
-#: ../../mod/new_channel.php:112
-msgid "Choose a short nickname"
-msgstr "Välj ett kort smeknamn"
+#: ../../mod/admin.php:425
+msgid "Mobile system theme"
+msgstr "Mobilt systemtema"
-#: ../../mod/new_channel.php:113
-msgid ""
-"Your nickname will be used to create an easily remembered channel address "
-"(like an email address) which you can share with others."
-msgstr "Ditt smeknamn används för att skapa en kanaladress som är lätt att komma ihåg (som en e-postadress) som du kan dela med andra."
+#: ../../mod/admin.php:425
+msgid "Theme for mobile devices"
+msgstr "Tema för mobila enheter"
-#: ../../mod/new_channel.php:114
-msgid "Or <a href=\"import\">import an existing channel</a> from another location"
-msgstr "Eller <a href=\"import\">importera en befintlig kanal</a> från en annan plats"
+#: ../../mod/admin.php:427
+msgid "Enable Diaspora Protocol"
+msgstr "Aktivera protokoll för Diaspora"
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Inget giltigt konto hittades."
+#: ../../mod/admin.php:427
+msgid "Communicate with Diaspora and Friendica - experimental"
+msgstr "Kommunicera med Diaspora och Friendica - experimentellt"
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "Lösenordsåterställning har skickats. Kontrollera din e-post."
+#: ../../mod/admin.php:428
+msgid "Allow Feeds as Connections"
+msgstr "Tillåt flöden som kontakter"
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Servermedlem (%s)"
+#: ../../mod/admin.php:428
+msgid "(Heavy system resource usage)"
+msgstr "(systemresurskrävande)"
-#: ../../mod/lostpass.php:40
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Lösenordsåterställning begärd på %s"
+#: ../../mod/admin.php:429
+msgid "Maximum image size"
+msgstr "Maximal bildstorlek"
-#: ../../mod/lostpass.php:63
+#: ../../mod/admin.php:429
msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Begäran kunde inte bekräftas. (Du kan ha skickat den tidigare.) Lösenordsåterställningen misslyckades."
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Maximal storlek i byte för uppladdade bilder. Standard är 0, vilket innebär ingen storleksbegränsning."
-#: ../../mod/lostpass.php:85 ../../boot.php:1454
-msgid "Password Reset"
-msgstr "Lösenordsåterställning"
+#: ../../mod/admin.php:430
+msgid "Does this site allow new member registration?"
+msgstr "Tillåter den här servern nya medlemmar att registrera sig?"
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
-msgstr "Ditt lösenord har återställts som begärt."
+#: ../../mod/admin.php:431
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Vilket beskriver bäst kontotypen som erbjuds på den här hubben?"
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
-msgstr "Ditt nya lösenord är"
+#: ../../mod/admin.php:432
+msgid "Register text"
+msgstr "Registreringstext"
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
-msgstr "Spara eller kopiera ditt nya lösenord - "
+#: ../../mod/admin.php:432
+msgid "Will be displayed prominently on the registration page."
+msgstr "Visas tydligt på registreringssidan."
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
-msgstr "klicka sedan här för att logga in"
+#: ../../mod/admin.php:433
+msgid "Accounts abandoned after x days"
+msgstr "Konto övergivet efter x dagar"
-#: ../../mod/lostpass.php:90
+#: ../../mod/admin.php:433
msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Ditt lösenord kan bytas från sidan <em>Inställningar</em> när du är inloggad."
-
-#: ../../mod/lostpass.php:107
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Ditt lösenord byttes på %s"
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Slösar inte systemresurser genom att fråga externa servrar efter övergivna konton. 0 innebär ingen tidsbegränsning."
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
-msgstr "Glömt lösenordet?"
+#: ../../mod/admin.php:434
+msgid "Allowed friend domains"
+msgstr "Tillåtna vändomäner"
-#: ../../mod/lostpass.php:123
+#: ../../mod/admin.php:434
msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Ange din e-postadress och skicka för att återställa ditt lösenord. Kontrollera sedan din e-post för vidare instruktioner."
-
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
-msgstr "E-postadress"
-
-#: ../../mod/lostpass.php:125
-msgid "Reset"
-msgstr "Återställ"
-
-#: ../../mod/editblock.php:77
-msgid "Edit Block"
-msgstr "Redigera block"
-
-#: ../../mod/editblock.php:87
-msgid "Delete block?"
-msgstr "Ta bort block?"
-
-#: ../../mod/editblock.php:153
-msgid "Delete Block"
-msgstr "Ta bort block"
-
-#: ../../mod/rbmark.php:88
-msgid "Select a bookmark folder"
-msgstr "Välj en bokmärkeskatalog"
-
-#: ../../mod/rbmark.php:93
-msgid "Save Bookmark"
-msgstr "Spara bokmärke"
-
-#: ../../mod/rbmark.php:94
-msgid "URL of bookmark"
-msgstr "Bokmärkets URL"
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Kommaseparerad lista med domäner som tillåts att upprätta ett vänförhållande med den här servern. Jokertecken är tillåtna. Töm för att tillåta alla domäner."
-#: ../../mod/rbmark.php:95
-msgid "Description"
-msgstr "Beskrivning"
+#: ../../mod/admin.php:435
+msgid "Allowed email domains"
+msgstr "Tillåtna e-postdomäner"
-#: ../../mod/rbmark.php:99
-msgid "Or enter new bookmark folder name"
-msgstr "Eller ange nytt namn på bokmärkeskatalog"
+#: ../../mod/admin.php:435
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "Kommaseparerad lista med domäner som tillåts i e-postadresser för registreringar på den här servern. Jokertecken är tillåtna. Töm för att tillåta alla domäner."
-#: ../../mod/import.php:36
-msgid "Nothing to import."
-msgstr "Inget att importera."
+#: ../../mod/admin.php:436
+msgid "Block public"
+msgstr "Blockera offentlig åtkomst"
-#: ../../mod/import.php:58
-msgid "Unable to download data from old server"
-msgstr "Kunde inte ladda ner data från den gamla servern"
+#: ../../mod/admin.php:436
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently logged in."
+msgstr "Välj för att blockera åtkomst till alla personliga sidor som annars skulle vara offentliga på den här servern om man inte är inloggad."
-#: ../../mod/import.php:64
-msgid "Imported file is empty."
-msgstr "Den importerade filen är tom."
+#: ../../mod/admin.php:437
+msgid "Verify Email Addresses"
+msgstr "Bekräfta e-postadress"
-#: ../../mod/import.php:88
+#: ../../mod/admin.php:437
msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Kan inte skapa ett dubblerat kanal-ID på det här systemet. Import misslyckades."
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Välj för att bekräfta e-postadresser som används för kontoregistrering (rekommenderas)."
-#: ../../mod/import.php:106
-msgid "Channel clone failed. Import failed."
-msgstr "Kloning av kanalen misslyckades. Import misslyckades."
+#: ../../mod/admin.php:438
+msgid "Force publish"
+msgstr "Tvinga publicering"
-#: ../../mod/import.php:116
-msgid "Cloned channel not found. Import failed."
-msgstr "Den klonade kanalen hittas inte. Import misslyckades."
+#: ../../mod/admin.php:438
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Välj för att tvinga alla profiler på den här servern att listas i serverkatalogen."
-#: ../../mod/import.php:358
-msgid "Import completed."
-msgstr "Import slutförd."
+#: ../../mod/admin.php:439
+msgid "Disable discovery tab"
+msgstr "Inaktivera upptäck-fliken"
-#: ../../mod/import.php:371
-msgid "You must be logged in to use this feature."
-msgstr "Du måste vara inloggad för att kunna använda den här funktionen."
+#: ../../mod/admin.php:439
+msgid ""
+"Remove the tab in the network view with public content pulled from sources "
+"chosen for this site."
+msgstr "Ta bort fliken i nätverksvyn med offentligt innehåll som hämtas från källor valda för den här servern."
-#: ../../mod/import.php:376
-msgid "Import Channel"
-msgstr "Importera kanal"
+#: ../../mod/admin.php:440
+msgid "No login on Homepage"
+msgstr "Ingen inloggning på hemsidan"
-#: ../../mod/import.php:377
+#: ../../mod/admin.php:440
msgid ""
-"Use this form to import an existing channel from a different server/hub. You"
-" may retrieve the channel identity from the old server/hub via the network "
-"or provide an export file. Only identity and connections/relationships will "
-"be imported. Importation of content is not yet available."
-msgstr "Använd det här formuläret för att importera en befintlig kanal från en annan server/hubb. Du kan få kanal-ID:t från den gamla servern/hubben över nätverket eller tillhandahålla en exportfil. Endast identitet och kontakter/relationer kommer att importeras. Import av innehåll stöds ännu inte."
+"Check to hide the login form from your sites homepage when visitors arrive "
+"who are not logged in (e.g. when you put the content of the homepage in via "
+"the site channel)."
+msgstr "Välj för att gömma inloggningsformuläret från serverns hemsida för oinloggade besökare (t.ex. när du lägger in hemsideinnehållet via serverkanalen)."
-#: ../../mod/import.php:378
-msgid "File to Upload"
-msgstr "Fil att ladda upp"
+#: ../../mod/admin.php:442
+msgid "Proxy user"
+msgstr "Proxyanvändare"
-#: ../../mod/import.php:379
-msgid "Or provide the old server/hub details"
-msgstr "Eller ge uppgifter om den gamla servern/hubben"
+#: ../../mod/admin.php:443
+msgid "Proxy URL"
+msgstr "Proxy-URL"
-#: ../../mod/import.php:380
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Din gamla identitetsadress (xyz@example.com)"
+#: ../../mod/admin.php:444
+msgid "Network timeout"
+msgstr "Nätverkstimeout"
-#: ../../mod/import.php:381
-msgid "Your old login email address"
-msgstr "Din gamla e-postadress för inloggning"
+#: ../../mod/admin.php:444
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Värde i sekunder. Sätt till 0 för obegränsat (ej rekommenderat)."
-#: ../../mod/import.php:382
-msgid "Your old login password"
-msgstr "Ditt gamla inloggningslösenord"
+#: ../../mod/admin.php:445
+msgid "Delivery interval"
+msgstr "Leveransintervall"
-#: ../../mod/import.php:383
+#: ../../mod/admin.php:445
msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Ange i bägge fallen om den här hubben ska vara din nya primära adress eller om den gamla platsen ska fortsätta att ha den rollen. Du kommer att kunna posta från båda platser, men bara en kan vara primärt utrymme för filer, foton och media."
-
-#: ../../mod/import.php:384
-msgid "Make this hub my primary location"
-msgstr "Gör den här hubben till min primära plats"
-
-#: ../../mod/manage.php:64
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Du har skapat %1$.0f av %2$.0f tillåtna kanaler."
-
-#: ../../mod/manage.php:72
-msgid "Create a new channel"
-msgstr "Skapa en ny kanal"
-
-#: ../../mod/manage.php:77
-msgid "Channel Manager"
-msgstr "Kanalhanterare"
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
+msgstr "Fördröj leveransprocesser som görs i bakgrunden så här många sekunder för att reducera systembelastningen. Rekommenderat: 4-5 för delade värdar, 2-3 för virtuella privata servrar. 0-1 för stora dedikerade servrar."
-#: ../../mod/manage.php:78
-msgid "Current Channel"
-msgstr "Nuvarande kanal"
+#: ../../mod/admin.php:446
+msgid "Poll interval"
+msgstr "Hämtningsintervall"
-#: ../../mod/manage.php:80
-msgid "Attach to one of your channels by selecting it."
-msgstr "Anslut till en av dina kanaler genom att välja den."
+#: ../../mod/admin.php:446
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Fördröj hämtningsprocesser som görs i bakgrunden så här många sekunder för att reducera systembelastningen. Om 0 används leveransintervallet."
-#: ../../mod/manage.php:81
-msgid "Default Channel"
-msgstr "Standardkanal"
+#: ../../mod/admin.php:447
+msgid "Maximum Load Average"
+msgstr "Maximal genomsnittsbelastning"
-#: ../../mod/manage.php:82
-msgid "Make Default"
-msgstr "Gör till standard"
+#: ../../mod/admin.php:447
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Maximal systembelastning innan leverans- och hämtningsprocesser skjuts upp - standard är 50."
-#: ../../mod/vote.php:97
-msgid "Total votes"
-msgstr "Totala röster"
+#: ../../mod/admin.php:503
+msgid "No server found"
+msgstr "Ingen server hittad"
-#: ../../mod/vote.php:98
-msgid "Average Rating"
-msgstr "Genomsnittsbetyg"
+#: ../../mod/admin.php:510 ../../mod/admin.php:735
+msgid "ID"
+msgstr "ID"
-#: ../../mod/match.php:16
-msgid "Profile Match"
-msgstr "Profilträff"
+#: ../../mod/admin.php:510
+msgid "for channel"
+msgstr "för kanal"
-#: ../../mod/match.php:24
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Inga nyckelord att matcha mot. Lägg till några nyckelord i din standardprofil."
+#: ../../mod/admin.php:510
+msgid "on server"
+msgstr "på server"
-#: ../../mod/match.php:61
-msgid "is interested in:"
-msgstr "är intresserad av:"
+#: ../../mod/admin.php:510
+msgid "Status"
+msgstr "Status"
-#: ../../mod/match.php:69
-msgid "No matches"
-msgstr "Inga träffar"
+#: ../../mod/admin.php:531
+msgid "Update has been marked successful"
+msgstr "Uppdatering har markerats som genomförd"
-#: ../../mod/chatsvc.php:102
-msgid "Away"
-msgstr "Borta"
+#: ../../mod/admin.php:541
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr "Körning av %s misslyckades. Kontrollera systemloggarna."
-#: ../../mod/chatsvc.php:106
-msgid "Online"
-msgstr "Online"
+#: ../../mod/admin.php:544
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "Uppdatering %s genomfördes utan problem."
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "Protokollfel för OpenID. Inget ID returnerades."
+#: ../../mod/admin.php:548
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "Uppdatering %s returnerade ingen status. Oklart om den lyckades."
-#: ../../mod/openid.php:72 ../../mod/openid.php:178 ../../mod/post.php:257
+#: ../../mod/admin.php:551
#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Välkommen %s. Fjärrautentisering lyckades."
+msgid "Update function %s could not be found."
+msgstr "Uppdateringsfunktion %s kunde inte hittas."
-#: ../../mod/editlayout.php:72
-msgid "Edit Layout"
-msgstr "Redigera layout"
+#: ../../mod/admin.php:566
+msgid "No failed updates."
+msgstr "Inga misslyckade uppdateringar."
-#: ../../mod/editlayout.php:82
-msgid "Delete layout?"
-msgstr "Ta bort layout?"
+#: ../../mod/admin.php:570
+msgid "Failed Updates"
+msgstr "Misslyckade uppdateringar"
-#: ../../mod/editlayout.php:146
-msgid "Delete Layout"
-msgstr "Ta bort layout"
+#: ../../mod/admin.php:572
+msgid "Mark success (if update was manually applied)"
+msgstr "Markera som genomförd (om uppdateringen gjordes manuellt)"
-#: ../../mod/post.php:226
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Fjärrautentisering blockerades. Du är inloggad på den här servern lokalt. Logga ut och försök igen."
+#: ../../mod/admin.php:573
+msgid "Attempt to execute this update step automatically"
+msgstr "Försök att köra den här uppdateringen automatiskt"
-#: ../../mod/probe.php:23 ../../mod/probe.php:29
+#: ../../mod/admin.php:599
#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "Hämtning av URL returnerade fel: %1$s"
+msgid "%s user blocked/unblocked"
+msgid_plural "%s users blocked/unblocked"
+msgstr[0] "%s användare blockerad/avblockerad"
+msgstr[1] "%s användare blockerade/avblockerade"
-#: ../../mod/profile_photo.php:44
-msgid "Image uploaded but image cropping failed."
-msgstr "Bilden laddades upp men beskärning misslyckades."
+#: ../../mod/admin.php:606
+#, php-format
+msgid "%s user deleted"
+msgid_plural "%s users deleted"
+msgstr[0] "%s användare borttagen"
+msgstr[1] "%s användare borttagna"
-#: ../../mod/profile_photo.php:97
-msgid "Image resize failed."
-msgstr "Ändring av bildstorlek misslyckades."
+#: ../../mod/admin.php:635
+msgid "Account not found"
+msgstr "Konto hittas inte"
-#: ../../mod/profile_photo.php:141
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Shift-uppdatera sidan eller rensa webbläsarcachen om det nya fotot inte visas direkt."
+#: ../../mod/admin.php:655
+#, php-format
+msgid "User '%s' unblocked"
+msgstr "Användare '%s' avblockerad"
-#: ../../mod/profile_photo.php:163
+#: ../../mod/admin.php:655
#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "Bilden överskrider storleksbegränsningen %d"
+msgid "User '%s' blocked"
+msgstr "Användare '%s' blockerad"
-#: ../../mod/profile_photo.php:172
-msgid "Unable to process image."
-msgstr "Kunde inte behandla bilden."
+#: ../../mod/admin.php:722 ../../mod/admin.php:734
+msgid "Users"
+msgstr "Användare"
-#: ../../mod/profile_photo.php:214 ../../mod/profile_photo.php:262
-msgid "Photo not available."
-msgstr "Fotot är inte tillgängligt."
+#: ../../mod/admin.php:724 ../../mod/admin.php:860
+msgid "select all"
+msgstr "välj alla"
-#: ../../mod/profile_photo.php:281
-msgid "Upload File:"
-msgstr "Ladda upp fil:"
+#: ../../mod/admin.php:725
+msgid "User registrations waiting for confirm"
+msgstr "Användarregistreringar som inväntar bekräftelse"
-#: ../../mod/profile_photo.php:282
-msgid "Select a profile:"
-msgstr "Välj en profil:"
+#: ../../mod/admin.php:726
+msgid "Request date"
+msgstr "Ansökningsdatum"
-#: ../../mod/profile_photo.php:283
-msgid "Upload Profile Photo"
-msgstr "Ladda upp profilfoto"
+#: ../../mod/admin.php:727
+msgid "No registrations."
+msgstr "Inga registreringar."
-#: ../../mod/profile_photo.php:284
-msgid "Upload"
-msgstr "Ladda upp"
+#: ../../mod/admin.php:728
+msgid "Approve"
+msgstr "Godkänn"
-#: ../../mod/profile_photo.php:288
-msgid "skip this step"
-msgstr "hoppa över det här steget"
+#: ../../mod/admin.php:729
+msgid "Deny"
+msgstr "Avslå"
-#: ../../mod/profile_photo.php:288
-msgid "select a photo from your photo albums"
-msgstr "välj ett foto från dina fotoalbum"
+#: ../../mod/admin.php:735
+msgid "Register date"
+msgstr "Registreringsdatum"
-#: ../../mod/profile_photo.php:302
-msgid "Crop Image"
-msgstr "Beskär bild"
+#: ../../mod/admin.php:735
+msgid "Last login"
+msgstr "Senaste inloggning"
-#: ../../mod/profile_photo.php:303
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Justera bildens beskärning för bästa utseende."
+#: ../../mod/admin.php:735
+msgid "Expires"
+msgstr "Upphör att gälla"
-#: ../../mod/profile_photo.php:305
-msgid "Done Editing"
-msgstr "Klar med redigering"
+#: ../../mod/admin.php:735
+msgid "Service Class"
+msgstr "Tjänsteklass"
-#: ../../mod/profile_photo.php:340
-msgid "Image uploaded successfully."
-msgstr "Bilduppladdning lyckades."
+#: ../../mod/admin.php:737
+msgid ""
+"Selected users will be deleted!\\n\\nEverything these users had posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Valda användare kommer att tas bort!\\n\\nAllt dessa användare har postat på den här servern kommer att raderas permanent!\\n\\nÄr du säker?"
-#: ../../mod/profile_photo.php:342
-msgid "Image upload failed."
-msgstr "Bilduppladdning misslyckades."
+#: ../../mod/admin.php:738
+msgid ""
+"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
+"site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Användaren {0} kommer att tas bort!\\n\\nAllt den här användaren har postat på den här servern kommer att raderas permanent!\\n\\nÄr du säker?"
-#: ../../mod/profile_photo.php:351
+#: ../../mod/admin.php:771
#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Krympning av bilden [%s] misslyckades."
-
-#: ../../mod/connections.php:191 ../../mod/connections.php:290
-msgid "Blocked"
-msgstr "Blockerade"
-
-#: ../../mod/connections.php:196 ../../mod/connections.php:297
-msgid "Ignored"
-msgstr "Ignorerade"
-
-#: ../../mod/connections.php:201 ../../mod/connections.php:311
-msgid "Hidden"
-msgstr "Dolda"
-
-#: ../../mod/connections.php:206 ../../mod/connections.php:304
-msgid "Archived"
-msgstr "Arkiverade"
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s kanal censurerad/avcensurerad"
+msgstr[1] "%s kanaler censurerade/avcensurerade"
-#: ../../mod/connections.php:229 ../../mod/connections.php:243
-msgid "All"
-msgstr "Alla"
+#: ../../mod/admin.php:778
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s kanal borttagen"
+msgstr[1] "%s kanaler borttagna"
-#: ../../mod/connections.php:238 ../../mod/connections.php:318
-msgid "Unconnected"
-msgstr "Ej anslutna"
+#: ../../mod/admin.php:797
+msgid "Channel not found"
+msgstr "Kanal hittas inte"
-#: ../../mod/connections.php:268
-msgid "Suggest new connections"
-msgstr "Föreslå nya kontakter"
+#: ../../mod/admin.php:808
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "Kanalen '%s' togs bort"
-#: ../../mod/connections.php:271
-msgid "New Connections"
-msgstr "Nya kontakter"
+#: ../../mod/admin.php:819
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "Kanal '%s' avcensurerad"
-#: ../../mod/connections.php:274
-msgid "Show pending (new) connections"
-msgstr "Visa väntande (nya) kontakter"
+#: ../../mod/admin.php:819
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "Kanal '%s' censurerad"
-#: ../../mod/connections.php:280
-msgid "Show all connections"
-msgstr "Visa alla kontakter"
+#: ../../mod/admin.php:862
+msgid "Censor"
+msgstr "Censurera"
-#: ../../mod/connections.php:283
-msgid "Unblocked"
-msgstr "Ej blockerade"
+#: ../../mod/admin.php:863
+msgid "Uncensor"
+msgstr "Avcensurera"
-#: ../../mod/connections.php:286
-msgid "Only show unblocked connections"
-msgstr "Visa endast ej blockerade kontakter"
+#: ../../mod/admin.php:866
+msgid "UID"
+msgstr "UID"
-#: ../../mod/connections.php:293
-msgid "Only show blocked connections"
-msgstr "Visa endast blockerade kontakter"
+#: ../../mod/admin.php:868
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Valda kanaler kommer att tas bort!\\n\\nAllt som har postats i de kanalerna på den här servern kommer att raderas permanent!\\n\\nÄr du säker?"
-#: ../../mod/connections.php:300
-msgid "Only show ignored connections"
-msgstr "Visa endast ignorerade kontakter"
+#: ../../mod/admin.php:869
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Kanalen {0} kommer att tas bort!\\n\\nAllt som har postats i den här kanalen på den här servern kommer att raderas permanent!\\n\\nÄr du säker?"
-#: ../../mod/connections.php:307
-msgid "Only show archived connections"
-msgstr "Visa endast arkiverade kontakter"
+#: ../../mod/admin.php:908
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Tillägg %s inaktiverat."
-#: ../../mod/connections.php:314
-msgid "Only show hidden connections"
-msgstr "Visa endast dolda kontakter"
+#: ../../mod/admin.php:912
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Tillägg %s aktiverat."
-#: ../../mod/connections.php:321
-msgid "Only show one-way connections"
-msgstr "Visa endast enkelriktade kontakter"
+#: ../../mod/admin.php:922 ../../mod/admin.php:1124
+msgid "Disable"
+msgstr "Inaktivera"
-#: ../../mod/connections.php:366
-#, php-format
-msgid "%1$s [%2$s]"
-msgstr "%1$s [%2$s]"
+#: ../../mod/admin.php:924 ../../mod/admin.php:1126
+msgid "Enable"
+msgstr "Aktivera"
-#: ../../mod/connections.php:367
-msgid "Edit contact"
-msgstr "Redigera kontakt"
+#: ../../mod/admin.php:950 ../../mod/admin.php:1155
+msgid "Toggle"
+msgstr "Växla"
-#: ../../mod/connections.php:388
-msgid "Search your connections"
-msgstr "Sök bland dina kontakter"
+#: ../../mod/admin.php:958 ../../mod/admin.php:1165
+msgid "Author: "
+msgstr "Författare:"
-#: ../../mod/connections.php:389
-msgid "Finding: "
-msgstr "Sökning efter: "
+#: ../../mod/admin.php:959 ../../mod/admin.php:1166
+msgid "Maintainer: "
+msgstr "Underhållare:"
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Ogiltigt ID på förfrågan."
+#: ../../mod/admin.php:1088
+msgid "No themes found."
+msgstr "Inga teman funna."
-#: ../../mod/notifications.php:35
-msgid "Discard"
-msgstr "Förkasta"
+#: ../../mod/admin.php:1147
+msgid "Screenshot"
+msgstr "Skärmdump"
-#: ../../mod/notifications.php:93 ../../mod/notify.php:54
-msgid "No more system notifications."
-msgstr "Inga fler systemnotifieringar."
+#: ../../mod/admin.php:1195
+msgid "[Experimental]"
+msgstr "[Experimentellt]"
-#: ../../mod/notifications.php:97 ../../mod/notify.php:58
-msgid "System Notifications"
-msgstr "Systemnotifieringar"
+#: ../../mod/admin.php:1196
+msgid "[Unsupported]"
+msgstr "[Utan support]"
-#: ../../mod/oexchange.php:23
-msgid "Unable to find your hub."
-msgstr "Kunde inte hitta din hubb."
+#: ../../mod/admin.php:1223
+msgid "Log settings updated."
+msgstr "Logginställningar uppdaterade."
-#: ../../mod/oexchange.php:37
-msgid "Post successful."
-msgstr "Sändning lyckades."
+#: ../../mod/admin.php:1279
+msgid "Clear"
+msgstr "Rensa"
-#: ../../mod/editwebpage.php:106
-msgid "Edit Webpage"
-msgstr "Redigera webbsida"
+#: ../../mod/admin.php:1285
+msgid "Debugging"
+msgstr "Avlusning"
-#: ../../mod/editwebpage.php:116
-msgid "Delete webpage?"
-msgstr "Ta bort webbsida?"
+#: ../../mod/admin.php:1286
+msgid "Log file"
+msgstr "Loggfil"
-#: ../../mod/editwebpage.php:187
-msgid "Delete Webpage"
-msgstr "Ta bort webbsida"
+#: ../../mod/admin.php:1286
+msgid ""
+"Must be writable by web server. Relative to your Red top-level directory."
+msgstr "Måste vara skrivbar för webbservern. Anges relativt Reds toppkatalog."
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Kanal tillagd."
+#: ../../mod/admin.php:1287
+msgid "Log level"
+msgstr "Loggnivå"
-#: ../../mod/poke.php:159
-msgid "Poke/Prod"
-msgstr "Puffa/stöt till"
+#: ../../mod/admin.php:1334
+msgid "New Profile Field"
+msgstr "Nytt profilfält"
-#: ../../mod/poke.php:160
-msgid "poke, prod or do other things to somebody"
-msgstr "puffa, stöt till eller gör andra saker mot någon"
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
+msgid "Field nickname"
+msgstr "Smeknamn på fält"
-#: ../../mod/poke.php:161
-msgid "Recipient"
-msgstr "Mottagare"
+#: ../../mod/admin.php:1335 ../../mod/admin.php:1356
+msgid "System name of field"
+msgstr "Systemnamn på fält"
-#: ../../mod/poke.php:162
-msgid "Choose what you wish to do to recipient"
-msgstr "Välj vad du önskar göra med mottagaren"
+#: ../../mod/admin.php:1336 ../../mod/admin.php:1357
+msgid "Input type"
+msgstr "Datatyp"
-#: ../../mod/poke.php:165
-msgid "Make this post private"
-msgstr "Gör det här inlägget privat"
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+msgid "Field Name"
+msgstr "Fältnamn"
-#: ../../mod/wall_upload.php:34
-msgid "Wall Photos"
-msgstr "Väggfoton"
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
+msgid "Label on profile pages"
+msgstr "Beteckning på profilsidor"
-#: ../../mod/channel.php:86
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Otillräckliga behörigheter. Förfrågan omdirigerad till profilsidan."
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
+msgid "Help text"
+msgstr "Hjälptext"
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "Kontakten hittades inte."
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
+msgid "Additional info (optional)"
+msgstr "Ytterligare info (frivilligt)"
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Vänförfrågan skickad."
+#: ../../mod/admin.php:1349
+msgid "Field definition not found"
+msgstr "Fältdefinition hittades inte"
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Föreslå vänner"
+#: ../../mod/admin.php:1355
+msgid "Edit Profile Field"
+msgstr "Redigera profilfält"
-#: ../../mod/fsuggest.php:99
+#: ../../mod/manage.php:136
#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Föreslå en vän för %s"
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Du har skapat %1$.0f av %2$.0f tillåtna kanaler."
-#: ../../mod/dirprofile.php:114
-msgid "Status: "
-msgstr "Status: "
+#: ../../mod/manage.php:144
+msgid "Create a new channel"
+msgstr "Skapa en ny kanal"
-#: ../../mod/dirprofile.php:115
-msgid "Sexual Preference: "
-msgstr "Sexuell preferens: "
+#: ../../mod/manage.php:149
+msgid "Current Channel"
+msgstr "Nuvarande kanal"
-#: ../../mod/dirprofile.php:117
-msgid "Homepage: "
-msgstr "Hemsida: "
+#: ../../mod/manage.php:151
+msgid "Attach to one of your channels by selecting it."
+msgstr "Anslut till en av dina kanaler genom att välja den."
-#: ../../mod/dirprofile.php:118
-msgid "Hometown: "
-msgstr "Hemort: "
+#: ../../mod/manage.php:152
+msgid "Default Channel"
+msgstr "Standardkanal"
-#: ../../mod/dirprofile.php:120
-msgid "About: "
-msgstr "Om: "
+#: ../../mod/manage.php:153
+msgid "Make Default"
+msgstr "Gör till standard"
-#: ../../mod/dirprofile.php:168
-msgid "Keywords: "
-msgstr "Nyckelord: "
+#: ../../mod/menu.php:31
+msgid "Menu updated."
+msgstr "Meny uppdaterad."
-#: ../../mod/filestorage.php:68
-msgid "Permission Denied."
-msgstr "Behörighet saknas."
+#: ../../mod/menu.php:35
+msgid "Unable to update menu."
+msgstr "Kunde inte uppdatera meny."
-#: ../../mod/filestorage.php:85
-msgid "File not found."
-msgstr "Filen hittas inte."
+#: ../../mod/menu.php:40
+msgid "Menu created."
+msgstr "Meny skapad."
-#: ../../mod/filestorage.php:119
-msgid "Edit file permissions"
-msgstr "Redigera filrättigheter"
+#: ../../mod/menu.php:44
+msgid "Unable to create menu."
+msgstr "Kunde inte skapa meny."
-#: ../../mod/filestorage.php:126
-msgid "Include all files and sub folders"
-msgstr "Inkludera alla filer och underkataloger"
+#: ../../mod/menu.php:76
+msgid "Manage Menus"
+msgstr "Hantera menyer"
-#: ../../mod/filestorage.php:127
-msgid "Return to file list"
-msgstr "Återgå till fillistan"
+#: ../../mod/menu.php:79
+msgid "Drop"
+msgstr "Ta bort"
-#: ../../mod/filestorage.php:129
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Kopiera/klistra in den här koden för att bifoga filen i ett inlägg"
+#: ../../mod/menu.php:81
+msgid "Bookmarks allowed"
+msgstr "Bokmärken tillåtna"
-#: ../../mod/filestorage.php:130
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Kopiera/klistra in den här URL:en för att länka till filen från en webbsida"
+#: ../../mod/menu.php:82
+msgid "Create a new menu"
+msgstr "Skapa en ny meny"
-#: ../../mod/filestorage.php:167
-msgid "Download"
-msgstr "Ladda ner"
+#: ../../mod/menu.php:83
+msgid "Delete this menu"
+msgstr "Ta bort den här menyn"
-#: ../../mod/filestorage.php:173
-msgid "Used: "
-msgstr "Använt: "
+#: ../../mod/menu.php:84 ../../mod/menu.php:125
+msgid "Edit menu contents"
+msgstr "Redigera menyinnehåll"
-#: ../../mod/filestorage.php:174
-msgid "[directory]"
-msgstr "[katalog]"
+#: ../../mod/menu.php:85
+msgid "Edit this menu"
+msgstr "Redigera den här menyn"
-#: ../../mod/filestorage.php:176
-msgid "Limit: "
-msgstr "Gräns: "
+#: ../../mod/menu.php:96
+msgid "New Menu"
+msgstr "Ny meny"
-#: ../../mod/suggest.php:35
-msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Inga förslag tillgängliga. Om det här är en ny server, försök igen om 24 timmar."
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
+msgid "Menu name"
+msgstr "Menynamn"
-#: ../../mod/message.php:41
-msgid "Conversation removed."
-msgstr "Konversation borttagen."
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
+msgid "Must be unique, only seen by you"
+msgstr "MÃ¥ste vara unikt, ses endast av dig"
-#: ../../mod/message.php:56
-msgid "No messages."
-msgstr "Inga meddelanden."
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
+msgid "Menu title"
+msgstr "Menytitel"
-#: ../../mod/message.php:74
-msgid "D, d M Y - g:i A"
-msgstr "D, j M Y - H:i"
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
+msgid "Menu title as seen by others"
+msgstr "Menytitel som andra ser den"
-#: ../../mod/pubsites.php:22
-msgid "Public Sites"
-msgstr "Offentliga servrar"
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Allow bookmarks"
+msgstr "Tillåt bokmärken"
-#: ../../mod/pubsites.php:25
-msgid ""
-"The listed sites allow public registration into the Red Matrix. All sites in"
-" the matrix are interlinked so membership on any of them conveys membership "
-"in the matrix as a whole. Some sites may require subscription or provide "
-"tiered service plans. The provider links <strong>may</strong> provide "
-"additional details."
-msgstr "De listade servrarna tillåter offentlig registrering i Red Matrix. Alla servrar i matrisen är sammankopplade, så medlemskap i en av dem medför medlemskap i matrisen som helhet. Vissa servrar kan kräva abonnemang eller erbjuda uppdelade tjänstenivåer. Leverantörslänkarna <strong>kan</strong> ge ytterligare detaljer."
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Menyn kan användas för att spara bokmärken"
-#: ../../mod/pubsites.php:31
-msgid "Site URL"
-msgstr "Server-URL"
+#: ../../mod/menu.php:114
+msgid "Menu deleted."
+msgstr "Meny borttagen."
-#: ../../mod/pubsites.php:31
-msgid "Access Type"
-msgstr "Ã…tkomsttyp"
+#: ../../mod/menu.php:116
+msgid "Menu could not be deleted."
+msgstr "Menyn kunde inte tas bort."
-#: ../../mod/pubsites.php:31
-msgid "Registration Policy"
-msgstr "Registreringspolicy"
+#: ../../mod/menu.php:122
+msgid "Edit Menu"
+msgstr "Redigera meny"
-#: ../../mod/register.php:43
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "Maximalt antal dagliga serverregistreringar överskridet. Försök igen i morgon."
+#: ../../mod/menu.php:124
+msgid "Add or remove entries to this menu"
+msgstr "Lägg till eller ta bort menyval"
-#: ../../mod/register.php:49
-msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "Välj huruvida du accepterar användarvillkoren. Registrering misslyckades."
+#: ../../mod/invite.php:25
+msgid "Total invitation limit exceeded."
+msgstr "Gränsen för totalt antal inbjudningar överskriden."
-#: ../../mod/register.php:77
-msgid "Passwords do not match."
-msgstr "Lösenorden stämmer inte överens."
+#: ../../mod/invite.php:49
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s: Inte en giltig e-postadress."
-#: ../../mod/register.php:105
-msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "Registrering lyckades. Kontrollera din e-post för valideringsinstruktioner."
+#: ../../mod/invite.php:76
+msgid "Please join us on Red"
+msgstr "GÃ¥ med oss i Red"
-#: ../../mod/register.php:111
-msgid "Your registration is pending approval by the site owner."
-msgstr "Din registrering väntar på att bli godkänd av serverägaren."
+#: ../../mod/invite.php:87
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Inbjudningsgränsen överskriden. Kontakta din serveradministratör."
-#: ../../mod/register.php:114
-msgid "Your registration can not be processed."
-msgstr "Din registrering kan inte behandlas."
+#: ../../mod/invite.php:92
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : Leverans av meddelande misslyckades."
-#: ../../mod/register.php:147
-msgid "Registration on this site/hub is by approval only."
-msgstr "Registrering på den här servern/hubben måste godkännas."
+#: ../../mod/invite.php:96
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d meddelande sänt."
+msgstr[1] "%d meddelanden sända."
-#: ../../mod/register.php:148
-msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
-msgstr "<a href=\"pubsites\">Registrera dig på en annan ansluten server/hubb</a>"
+#: ../../mod/invite.php:115
+msgid "You have no more invitations available"
+msgstr "Du har inga fler inbjudningar kvar"
-#: ../../mod/register.php:156
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Antal dagliga registreringar som tillåts på den här servern har överskridits. Försök igen i morgon."
+#: ../../mod/invite.php:129
+msgid "Send invitations"
+msgstr "Skicka inbjudan"
-#: ../../mod/register.php:167
-msgid "Terms of Service"
-msgstr "användarvillkor"
+#: ../../mod/invite.php:130
+msgid "Enter email addresses, one per line:"
+msgstr "Ange e-postadresser, en per rad:"
-#: ../../mod/register.php:173
-#, php-format
-msgid "I accept the %s for this website"
-msgstr "Jag accepterar den här webbplatsens %s"
+#: ../../mod/invite.php:132
+msgid "Please join my community on RedMatrix."
+msgstr "Gå med mig i gemenskapen på RedMatrix."
-#: ../../mod/register.php:175
-#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Jag är över 13 år och accepterar den här webbplatsens %s"
+#: ../../mod/invite.php:134
+msgid "You will need to supply this invitation code: "
+msgstr "Du kommer att behöva den här inbjudningskoden: "
-#: ../../mod/register.php:194
-msgid "Membership on this site is by invitation only."
-msgstr "Medlemskap på den här servern kan endast fås genom inbjudan."
+#: ../../mod/invite.php:135
+msgid "1. Register at any RedMatrix location (they are all inter-connected)"
+msgstr "1. Skapa konto på en RedMatrix-server (alla är ihopkopplade)"
-#: ../../mod/register.php:195
-msgid "Please enter your invitation code"
-msgstr "Ange din inbjudningskod"
+#: ../../mod/invite.php:137
+msgid "2. Enter my RedMatrix network address into the site searchbar."
+msgstr "2. Ange min RedMatrix-adress i webbplatsens sökruta."
-#: ../../mod/register.php:198
-msgid "Your email address"
-msgstr "Din e-postadress"
+#: ../../mod/invite.php:138
+msgid "or visit "
+msgstr "eller besök "
-#: ../../mod/register.php:199
-msgid "Choose a password"
-msgstr "Välj ett lösenord"
+#: ../../mod/invite.php:140
+msgid "3. Click [Connect]"
+msgstr "3. Klicka [Ta kontakt]"
-#: ../../mod/register.php:200
-msgid "Please re-enter your password"
-msgstr "Ange lösenordet igen"
+#: ../../mod/network.php:84
+msgid "No such group"
+msgstr "Ingen sådan grupp"
-#: ../../mod/regmod.php:12
-msgid "Please login."
-msgstr "Logga in."
+#: ../../mod/network.php:122
+msgid "Search Results For:"
+msgstr "Sökresultat för:"
-#: ../../mod/removeme.php:49
-msgid "Remove This Channel"
-msgstr "Ta bort den här kanalen"
+#: ../../mod/network.php:176
+msgid "Collection is empty"
+msgstr "Kretsen är tom"
-#: ../../mod/removeme.php:50
-msgid ""
-"This will completely remove this channel from the network. Once this has "
-"been done it is not recoverable."
-msgstr "Det här kommer att ta bort den här kanalen helt från nätverket. När det är gjort går det inte att återställa den."
+#: ../../mod/network.php:184
+msgid "Collection: "
+msgstr "Krets: "
-#: ../../mod/removeme.php:51
-msgid "Please enter your password for verification:"
-msgstr "Ange ditt lösenord för att bekräfta:"
+#: ../../mod/network.php:197
+msgid "Connection: "
+msgstr "Kontakt:"
-#: ../../mod/removeme.php:52
-msgid "Remove this channel and all its clones from the network"
-msgstr "Ta bort den här kanalen och alla dess kloner från nätverket"
+#: ../../mod/network.php:200
+msgid "Invalid connection."
+msgstr "Ogiltig kontakt."
-#: ../../mod/removeme.php:52
-msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "Som standard kommer bara den här hubbens instans av kanalen att tas bort från nätverket"
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
+msgstr "Ogiltigt ID på förfrågan."
-#: ../../mod/removeme.php:53
-msgid "Remove Channel"
-msgstr "Ta bort kanal"
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr "Förkasta"
-#: ../../mod/photos.php:77
-msgid "Page owner information could not be retrieved."
-msgstr "Information om sidans ägare kunde inte hittas."
+#: ../../mod/notifications.php:94 ../../mod/notify.php:53
+msgid "No more system notifications."
+msgstr "Inga fler systemnotifieringar."
-#: ../../mod/photos.php:97
-msgid "Album not found."
-msgstr "Albumet hittades inte."
+#: ../../mod/notifications.php:98 ../../mod/notify.php:57
+msgid "System Notifications"
+msgstr "Systemnotifieringar"
-#: ../../mod/photos.php:119 ../../mod/photos.php:671
-msgid "Delete Album"
-msgstr "Ta bort album"
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
+#: ../../mod/update_home.php:21
+msgid "[Embedded content - reload page to view]"
+msgstr "[Inbäddat innehåll - ladda om sidan för att visa]"
-#: ../../mod/photos.php:159 ../../mod/photos.php:954
-msgid "Delete Photo"
-msgstr "Ta bort foto"
+#: ../../mod/lockview.php:31
+msgid "Remote privacy information not available."
+msgstr "Icke-lokal integritetsinformation är inte tillgänglig"
-#: ../../mod/photos.php:453
-msgid "No photos selected"
-msgstr "Inga foton valda"
+#: ../../mod/lockview.php:52
+msgid "Visible to:"
+msgstr "Kan ses av:"
-#: ../../mod/photos.php:500
-msgid "Access to this item is restricted."
-msgstr "Åtkomst till den här posten är begränsat."
+#: ../../mod/viewconnections.php:58
+msgid "No connections."
+msgstr "Inga kontakter."
-#: ../../mod/photos.php:576
+#: ../../mod/viewconnections.php:71
#, php-format
-msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
-msgstr "Du har använt %1$.2f MB av %2$.2f MB fotoutrymme."
+msgid "Visit %s's profile [%s]"
+msgstr "Besök %ss profil [%s]"
-#: ../../mod/photos.php:579
-#, php-format
-msgid "You have used %1$.2f Mbytes of photo storage."
-msgstr "Du har använt %1$.2f MB fotoutrymme."
+#: ../../mod/viewconnections.php:86
+msgid "View Connnections"
+msgstr "Visa kontakter"
-#: ../../mod/photos.php:598
-msgid "Upload Photos"
-msgstr "Ladda upp foton"
+#: ../../mod/magic.php:70
+msgid "Hub not found."
+msgstr "Hubb hittades inte."
-#: ../../mod/photos.php:602 ../../mod/photos.php:666
-msgid "New album name: "
-msgstr "Namn på nytt album: "
+#: ../../mod/vote.php:97
+msgid "Total votes"
+msgstr "Totalt antal röster"
-#: ../../mod/photos.php:603
-msgid "or existing album name: "
-msgstr "eller befintligt albumnamn: "
+#: ../../mod/vote.php:98
+msgid "Average Rating"
+msgstr "Genomsnittsbetyg"
-#: ../../mod/photos.php:604
-msgid "Do not show a status post for this upload"
-msgstr "Visa inte en statusuppdatering för den här uppladdningen"
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "Protokollfel för OpenID. Inget ID returnerades."
-#: ../../mod/photos.php:655 ../../mod/photos.php:677 ../../mod/photos.php:1126
-#: ../../mod/photos.php:1141
-msgid "Contact Photos"
-msgstr "Kontaktfoton"
+#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:261
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Välkommen %s. Fjärrinloggning lyckades."
-#: ../../mod/photos.php:681
-msgid "Edit Album"
-msgstr "Redigera album"
+#: ../../mod/wall_upload.php:35
+msgid "Wall Photos"
+msgstr "Väggfoton"
-#: ../../mod/photos.php:687
-msgid "Show Newest First"
-msgstr "Visa nyast först"
+#: ../../mod/match.php:16
+msgid "Profile Match"
+msgstr "Profilträff"
-#: ../../mod/photos.php:689
-msgid "Show Oldest First"
-msgstr "Visa äldst först"
+#: ../../mod/match.php:24
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Inga nyckelord att matcha mot. Lägg till några nyckelord i din standardprofil."
-#: ../../mod/photos.php:732 ../../mod/photos.php:1173
-msgid "View Photo"
-msgstr "Visa foto"
+#: ../../mod/match.php:61
+msgid "is interested in:"
+msgstr "är intresserad av:"
-#: ../../mod/photos.php:778
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Behörighet saknas. Åtkomst till den här posten kan vara begränsat."
+#: ../../mod/match.php:69
+msgid "No matches"
+msgstr "Inga träffar"
-#: ../../mod/photos.php:780
-msgid "Photo not available"
-msgstr "Foto inte tillgängligt"
+#: ../../mod/message.php:41
+msgid "Conversation removed."
+msgstr "Konversation borttagen."
-#: ../../mod/photos.php:840
-msgid "Use as profile photo"
-msgstr "Använd som profilfoto"
+#: ../../mod/message.php:56
+msgid "No messages."
+msgstr "Inga meddelanden."
-#: ../../mod/photos.php:864
-msgid "View Full Size"
-msgstr "Visa fullstorlek"
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
+msgstr "D, j M Y - H:i"
-#: ../../mod/photos.php:938
-msgid "Edit photo"
-msgstr "Redigera foto"
+#: ../../mod/new_channel.php:109
+msgid "Add a Channel"
+msgstr "Lägg till en kanal"
-#: ../../mod/photos.php:940
-msgid "Rotate CW (right)"
-msgstr "Rotera medurs (höger)"
+#: ../../mod/new_channel.php:110
+msgid ""
+"A channel is your own collection of related web pages. A channel can be used"
+" to hold social network profiles, blogs, conversation groups and forums, "
+"celebrity pages, and much more. You may create as many channels as your "
+"service provider allows."
+msgstr "En kanal är din egen samling av relaterade webbsidor. En kanal kan användas för att innehålla sociala nätverksprofiler, bloggar, konversationsgrupper och forum, fansidor, och mycket mer. Du kan skapa så många kanaler som din tjänsteleverantör tillåter."
-#: ../../mod/photos.php:941
-msgid "Rotate CCW (left)"
-msgstr "Rotera moturs (vänster)"
+#: ../../mod/new_channel.php:113
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "
+msgstr "Exempel: \"Bob Jameson\", \"Lisa och hennes hästar\", \"Fotboll\", \"Flyggruppen\" "
-#: ../../mod/photos.php:943
-msgid "New album name"
-msgstr "Nytt albumnamn"
+#: ../../mod/new_channel.php:114
+msgid "Choose a short nickname"
+msgstr "Välj ett kort smeknamn"
-#: ../../mod/photos.php:946
-msgid "Caption"
-msgstr "Bildtext"
+#: ../../mod/new_channel.php:115
+msgid ""
+"Your nickname will be used to create an easily remembered channel address "
+"(like an email address) which you can share with others."
+msgstr "Ditt smeknamn används för att skapa en kanaladress som är lätt att komma ihåg (som en e-postadress) som du kan dela med andra."
-#: ../../mod/photos.php:948
-msgid "Add a Tag"
-msgstr "Lägg till en tagg"
+#: ../../mod/new_channel.php:116
+msgid "Or <a href=\"import\">import an existing channel</a> from another location"
+msgstr "Eller <a href=\"import\">importera en befintlig kanal</a> från en annan plats"
-#: ../../mod/photos.php:951
-msgid ""
-"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-msgstr "Exempel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
+#: ../../mod/new_channel.php:118
+msgid "Channel Type"
+msgstr "Kanaltyp"
-#: ../../mod/photos.php:1104
-msgid "In This Photo:"
-msgstr "PÃ¥ fotot:"
+#: ../../mod/new_channel.php:119
+msgid "?"
+msgstr "?"
-#: ../../mod/photos.php:1179
-msgid "View Album"
-msgstr "Visa album"
+#: ../../mod/new_channel.php:120
+msgid "What is this?"
+msgstr "Vad är detta?"
-#: ../../mod/photos.php:1188
-msgid "Recent Photos"
-msgstr "Nya foton"
+#: ../../mod/new_channel.php:121
+msgid ""
+"Please choose a channel type (such as social networking or community forum) "
+"and privacy requirements so we can select the best permissions for you"
+msgstr "Välj en kanaltyp (som till exempel socialt nätverkande eller gemenskapsforum) och integritetskrav, så kan vi välja de bästa behörigheterna åt dig"
-#: ../../mod/mood.php:138
-msgid "Mood"
-msgstr "Sinnesstämning"
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
+msgstr "Xchan-sökning"
-#: ../../mod/mood.php:139
-msgid "Set your current mood and tell your friends"
-msgstr "Ange din nuvarande sinnesstämning och visa för dina vänner"
+#: ../../mod/xchan.php:9
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Sök efter xchan som börjar med (eller webbie): "
-#: ../../mod/ping.php:192
-msgid "sent you a private message"
-msgstr "skickade ett privat meddelande till dig"
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
+msgstr "ogiltig målsignatur"
-#: ../../mod/ping.php:250
-msgid "added your channel"
-msgstr "lade till din kanal"
+#: ../../mod/oexchange.php:23
+msgid "Unable to find your hub."
+msgstr "Kunde inte hitta din hubb."
-#: ../../mod/ping.php:294
-msgid "posted an event"
-msgstr "skapade en händelse"
+#: ../../mod/oexchange.php:37
+msgid "Post successful."
+msgstr "Sändning lyckades."
-#: ../../view/theme/redbasic/php/config.php:98
-#: ../../view/theme/apw/php/config.php:259
-#: ../../view/theme/blogga/view/theme/blog/config.php:69
-#: ../../view/theme/blogga/php/config.php:69
-msgid "Theme settings"
-msgstr "Temainställningar"
+#: ../../mod/directory.php:201
+msgid "Gender: "
+msgstr "Kön:"
-#: ../../view/theme/redbasic/php/config.php:99
-#: ../../view/theme/apw/php/config.php:260
-msgid "Set scheme"
-msgstr "Välj variant"
+#: ../../mod/directory.php:203
+msgid "Status: "
+msgstr "Status: "
-#: ../../view/theme/redbasic/php/config.php:100
-msgid "Narrow navbar"
-msgstr "Smal navigeringslist"
+#: ../../mod/directory.php:205
+msgid "Homepage: "
+msgstr "Hemsida: "
-#: ../../view/theme/redbasic/php/config.php:101
-msgid "Navigation bar background colour"
-msgstr "Navigeringslistens bakgrundsfärg"
+#: ../../mod/directory.php:208
+msgid "Hometown: "
+msgstr "Hemort: "
-#: ../../view/theme/redbasic/php/config.php:102
-msgid "Navigation bar gradient top colour"
-msgstr "Övre gradientfärg i navigeringslisten"
+#: ../../mod/directory.php:210
+msgid "About: "
+msgstr "Om: "
-#: ../../view/theme/redbasic/php/config.php:103
-msgid "Navigation bar gradient bottom colour"
-msgstr "Undre gradientfärg i navigeringslisten"
+#: ../../mod/directory.php:265
+msgid "Public Forum:"
+msgstr "Offentligt forum:"
-#: ../../view/theme/redbasic/php/config.php:104
-msgid "Navigation active button gradient top colour"
-msgstr "Övre gradientfärg på aktiv knapp i navigeringslisten"
+#: ../../mod/directory.php:268
+msgid "Keywords: "
+msgstr "Nyckelord: "
-#: ../../view/theme/redbasic/php/config.php:105
-msgid "Navigation active button gradient bottom colour"
-msgstr "Undre gradientfärg på aktiv knapp i navigeringslisten"
+#: ../../mod/directory.php:318
+msgid "Finding:"
+msgstr "Sökning efter:"
-#: ../../view/theme/redbasic/php/config.php:106
-msgid "Navigation bar border colour "
-msgstr "Färg på navigeringslistens kant"
+#: ../../mod/directory.php:323
+msgid "next page"
+msgstr "nästa sida"
-#: ../../view/theme/redbasic/php/config.php:107
-msgid "Navigation bar icon colour "
-msgstr "Färg på ikoner i navigeringslisten"
+#: ../../mod/directory.php:323
+msgid "previous page"
+msgstr "föregående sida"
-#: ../../view/theme/redbasic/php/config.php:108
-msgid "Navigation bar active icon colour "
-msgstr "Färg på aktiv ikon i navigeringslisten"
+#: ../../mod/directory.php:340
+msgid "No entries (some entries may be hidden)."
+msgstr "Inga resultat (vissa resultat kan vara dolda)."
-#: ../../view/theme/redbasic/php/config.php:109
-msgid "link colour"
-msgstr "Länkfärg"
+#: ../../mod/post.php:229
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Fjärrinloggning blockerades. Du är inloggad på den här servern lokalt. Logga ut och försök igen."
-#: ../../view/theme/redbasic/php/config.php:110
-msgid "Set font-colour for banner"
-msgstr "Välj textfärg för sidhuvudet"
+#: ../../mod/appman.php:28 ../../mod/appman.php:44
+msgid "App installed."
+msgstr "App installerad."
-#: ../../view/theme/redbasic/php/config.php:111
-msgid "Set the background colour"
-msgstr "Välj bakgrundsfärg"
+#: ../../mod/appman.php:37
+msgid "Malformed app."
+msgstr "Felaktig app."
-#: ../../view/theme/redbasic/php/config.php:112
-msgid "Set the background image"
-msgstr "Välj bakgrundsbild"
+#: ../../mod/appman.php:80
+msgid "Embed code"
+msgstr "Bädda in kod"
-#: ../../view/theme/redbasic/php/config.php:113
-msgid "Set the background colour of items"
-msgstr "Välj bakgrundsfärg för inlägg"
+#: ../../mod/appman.php:86
+msgid "Edit App"
+msgstr "Redigera app"
-#: ../../view/theme/redbasic/php/config.php:114
-msgid "Set the opacity of items"
-msgstr "Välj opacitet för inlägg"
+#: ../../mod/appman.php:86
+msgid "Create App"
+msgstr "Skapa app"
-#: ../../view/theme/redbasic/php/config.php:115
-msgid "Set the basic colour for item icons"
-msgstr "Välj basfärg för inläggsikoner"
+#: ../../mod/appman.php:91
+msgid "Name of app"
+msgstr "Namn på app"
-#: ../../view/theme/redbasic/php/config.php:116
-msgid "Set the hover colour for item icons"
-msgstr "Välj färg på inläggsikon under muspekare"
+#: ../../mod/appman.php:92
+msgid "Location (URL) of app"
+msgstr "Adress (URL) för app"
-#: ../../view/theme/redbasic/php/config.php:117
-msgid "Set font-size for the entire application"
-msgstr "Välj textstorlek för hela applikationen"
+#: ../../mod/appman.php:94
+msgid "Photo icon URL"
+msgstr "Fotoikon URL"
-#: ../../view/theme/redbasic/php/config.php:118
-#: ../../view/theme/apw/php/config.php:261
-msgid "Set font-size for posts and comments"
-msgstr "Välj textstorlek för inlägg och kommentarer"
+#: ../../mod/appman.php:94
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 pixlar - valfri"
-#: ../../view/theme/redbasic/php/config.php:119
-msgid "Set font-colour for posts and comments"
-msgstr "Välj textfärg för inlägg och kommentarer"
+#: ../../mod/appman.php:95
+msgid "Version ID"
+msgstr "Versions-ID"
-#: ../../view/theme/redbasic/php/config.php:120
-msgid "Set radius of corners"
-msgstr "Välj hörnradie"
+#: ../../mod/appman.php:96
+msgid "Price of app"
+msgstr "Pris på app"
-#: ../../view/theme/redbasic/php/config.php:121
-msgid "Set shadow depth of photos"
-msgstr "Välj skuggdjup för foton"
+#: ../../mod/appman.php:97
+msgid "Location (URL) to purchase app"
+msgstr "Adress (URL) för att köpa app"
-#: ../../view/theme/redbasic/php/config.php:122
-msgid "Set maximum width of conversation regions"
-msgstr "Välj maxbredd på konversationsfält"
+#: ../../mod/poll.php:64
+msgid "Poll"
+msgstr "Opinionsundersökning"
-#: ../../view/theme/redbasic/php/config.php:123
-msgid "Center conversation regions"
-msgstr "Centrera konversationsfält"
+#: ../../mod/poll.php:69
+msgid "View Results"
+msgstr "Visa resultat"
-#: ../../view/theme/redbasic/php/config.php:124
-msgid "Set minimum opacity of nav bar - to hide it"
-msgstr "Välj lägsta opacitet för navigeringslisten - för att dölja den"
+#: ../../mod/removeaccount.php:30
+msgid ""
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Borttagning av konto tillåts inte inom 48 timmar efter att kontolösenordet har ändrats."
-#: ../../view/theme/redbasic/php/config.php:125
-msgid "Set size of conversation author photo"
-msgstr "Välj storlek på foto för trådskapare"
+#: ../../mod/removeaccount.php:57
+msgid "Remove This Account"
+msgstr "Ta bort kontot"
-#: ../../view/theme/redbasic/php/config.php:126
-msgid "Set size of followup author photos"
-msgstr "Välj storlek på svarande personers foton"
+#: ../../mod/removeaccount.php:58
+msgid ""
+"This will completely remove this account including all its channels from the"
+" network. Once this has been done it is not recoverable."
+msgstr "Det här kommer att ta bort kontot fullständigt från nätverket, inklusive alla dess kanaler. När detta har gjorts går det inte att ångra."
-#: ../../view/theme/redbasic/php/config.php:127
-msgid "Sloppy photo albums"
-msgstr "Oordnade fotoalbum"
+#: ../../mod/removeaccount.php:60
+msgid ""
+"Remove this account, all its channels and all its channel clones from the "
+"network"
+msgstr "Ta bort kontot, alla dess kanaler och alla kanalkopior från nätverket"
-#: ../../view/theme/redbasic/php/config.php:127
-msgid "Are you a clean desk or a messy desk person?"
-msgstr "Föredrar du ett tomt eller stökigt skrivbord?"
+#: ../../mod/removeaccount.php:60
+msgid ""
+"By default only the instances of the channels located on this hub will be "
+"removed from the network"
+msgstr "Som standard tas bara instanser av kanaler som finns på den här servern bort från nätverket"
+
+#: ../../mod/service_limits.php:19
+msgid "No service class restrictions found."
+msgstr "Inga tjänsteklassbegränsningar hittades."
#: ../../view/theme/apw/php/config.php:202
#: ../../view/theme/apw/php/config.php:236
msgid "Schema Default"
-msgstr "Temavariantens standard"
+msgstr "Schemats standard"
#: ../../view/theme/apw/php/config.php:203
msgid "Sans-Serif"
@@ -7423,7 +8099,22 @@ msgstr "Sans-serif"
#: ../../view/theme/apw/php/config.php:204
msgid "Monospace"
-msgstr "Fast bredd"
+msgstr "Monospace"
+
+#: ../../view/theme/apw/php/config.php:259
+#: ../../view/theme/redbasic/php/config.php:102
+msgid "Theme settings"
+msgstr "Temainställningar"
+
+#: ../../view/theme/apw/php/config.php:260
+#: ../../view/theme/redbasic/php/config.php:103
+msgid "Set scheme"
+msgstr "Välj variant"
+
+#: ../../view/theme/apw/php/config.php:261
+#: ../../view/theme/redbasic/php/config.php:124
+msgid "Set font-size for posts and comments"
+msgstr "Välj textstorlek för inlägg och kommentarer"
#: ../../view/theme/apw/php/config.php:262
msgid "Set font face"
@@ -7435,14 +8126,14 @@ msgstr "Välj ikontema"
#: ../../view/theme/apw/php/config.php:264
msgid "Set big shadow size, default 15px 15px 15px"
-msgstr "Välj stor skuggstorlek, standard 15px 15px 15px"
+msgstr "Välj stor skuggstorlek, standard 15px 15px 15px "
#: ../../view/theme/apw/php/config.php:265
msgid "Set small shadow size, default 5px 5px 5px"
msgstr "Välj liten skuggstorlek, standard 5px 5px 5px"
#: ../../view/theme/apw/php/config.php:266
-msgid "Set shadow colour, default #000"
+msgid "Set shadow color, default #000"
msgstr "Välj skuggfärg, standard #000"
#: ../../view/theme/apw/php/config.php:267
@@ -7459,10 +8150,10 @@ msgstr "Välj bakgrundsbild"
#: ../../view/theme/apw/php/config.php:270
msgid "Set background attachment"
-msgstr "Välj bakgrundsfixering"
+msgstr "Välj fixerad bakgrund"
#: ../../view/theme/apw/php/config.php:271
-msgid "Set background colour"
+msgid "Set background color"
msgstr "Välj bakgrundsfärg"
#: ../../view/theme/apw/php/config.php:272
@@ -7470,31 +8161,31 @@ msgid "Set section background image"
msgstr "Välj bakgrundsbild för avsnitt"
#: ../../view/theme/apw/php/config.php:273
-msgid "Set section background colour"
+msgid "Set section background color"
msgstr "Välj bakgrundsfärg för avsnitt"
#: ../../view/theme/apw/php/config.php:274
-msgid "Set colour of items - use hex"
+msgid "Set color of items - use hex"
msgstr "Välj färg på inlägg - använd hex"
#: ../../view/theme/apw/php/config.php:275
-msgid "Set colour of links - use hex"
+msgid "Set color of links - use hex"
msgstr "Välj färg på länkar - använd hex"
#: ../../view/theme/apw/php/config.php:276
msgid "Set max-width for items. Default 400px"
-msgstr "Välj maxbredd för inlägg. Standard 400px"
+msgstr "Välj största bredd för inlägg. Standard 400px"
#: ../../view/theme/apw/php/config.php:277
msgid "Set min-width for items. Default 240px"
-msgstr "Välj minbredd för inlägg. Standard 240px"
+msgstr "Välj minsta bredd för inlägg. Standard 240px"
#: ../../view/theme/apw/php/config.php:278
msgid "Set the generic content wrapper width. Default 48%"
msgstr "Välj bredd på fältet för allmänt innehåll. Standard 48%"
#: ../../view/theme/apw/php/config.php:279
-msgid "Set colour of fonts - use hex"
+msgid "Set color of fonts - use hex"
msgstr "Välj textfärg - använd hex"
#: ../../view/theme/apw/php/config.php:280
@@ -7541,56 +8232,165 @@ msgstr "Vänster offset för sidoelement"
msgid "Right offset of the aside element"
msgstr "Höger offset för sidoelement"
-#: ../../view/theme/blogga/view/theme/blog/config.php:47
-#: ../../view/theme/blogga/php/config.php:47
-msgid "None"
-msgstr "Inget"
+#: ../../view/theme/redbasic/php/config.php:84
+msgid "Light (Red Matrix default)"
+msgstr "Light (standard för Red Matrix)"
+
+#: ../../view/theme/redbasic/php/config.php:104
+msgid "Narrow navbar"
+msgstr "Smal navigeringslist"
+
+#: ../../view/theme/redbasic/php/config.php:105
+msgid "Navigation bar background color"
+msgstr "Navigeringslistens bakgrundsfärg"
+
+#: ../../view/theme/redbasic/php/config.php:106
+msgid "Navigation bar gradient top color"
+msgstr "Övre gradientfärg i navigeringslisten"
+
+#: ../../view/theme/redbasic/php/config.php:107
+msgid "Navigation bar gradient bottom color"
+msgstr "Undre gradientfärg i navigeringslisten"
+
+#: ../../view/theme/redbasic/php/config.php:108
+msgid "Navigation active button gradient top color"
+msgstr "Övre gradientfärg på aktiv knapp i navigeringslisten"
+
+#: ../../view/theme/redbasic/php/config.php:109
+msgid "Navigation active button gradient bottom color"
+msgstr "Undre gradientfärg på aktiv knapp i navigeringslisten"
+
+#: ../../view/theme/redbasic/php/config.php:110
+msgid "Navigation bar border color "
+msgstr "Färg på navigeringslistens kant"
+
+#: ../../view/theme/redbasic/php/config.php:111
+msgid "Navigation bar icon color "
+msgstr "Färg på ikoner i navigeringslisten"
+
+#: ../../view/theme/redbasic/php/config.php:112
+msgid "Navigation bar active icon color "
+msgstr "Färg på aktiv ikon i navigeringslisten"
+
+#: ../../view/theme/redbasic/php/config.php:113
+msgid "link color"
+msgstr "Länkfärg"
+
+#: ../../view/theme/redbasic/php/config.php:114
+msgid "Set font-color for banner"
+msgstr "Välj textfärg för sidhuvudet"
+
+#: ../../view/theme/redbasic/php/config.php:115
+msgid "Set the background color"
+msgstr "Välj bakgrundsfärg"
+
+#: ../../view/theme/redbasic/php/config.php:116
+msgid "Set the background image"
+msgstr "Välj bakgrundsbild"
+
+#: ../../view/theme/redbasic/php/config.php:117
+msgid "Set the background color of items"
+msgstr "Välj bakgrundsfärg för inlägg"
+
+#: ../../view/theme/redbasic/php/config.php:118
+msgid "Set the background color of comments"
+msgstr "Välj bakgrundsfärg för kommentarer"
+
+#: ../../view/theme/redbasic/php/config.php:119
+msgid "Set the border color of comments"
+msgstr "Välj kantfärg för kommentarer"
+
+#: ../../view/theme/redbasic/php/config.php:120
+msgid "Set the indent for comments"
+msgstr "Välj indrag för kommentarer"
+
+#: ../../view/theme/redbasic/php/config.php:121
+msgid "Set the basic color for item icons"
+msgstr "Välj basfärg för inläggsikoner"
+
+#: ../../view/theme/redbasic/php/config.php:122
+msgid "Set the hover color for item icons"
+msgstr "Välj färg på inläggsikon under muspekare"
-#: ../../view/theme/blogga/view/theme/blog/config.php:70
-#: ../../view/theme/blogga/php/config.php:70
-msgid "Header image"
-msgstr "Rubrikbild"
+#: ../../view/theme/redbasic/php/config.php:123
+msgid "Set font-size for the entire application"
+msgstr "Välj textstorlek för hela applikationen"
-#: ../../view/theme/blogga/view/theme/blog/config.php:71
-#: ../../view/theme/blogga/php/config.php:71
-msgid "Header image only on profile pages"
-msgstr "Rubrikbild endast på profilsidor"
+#: ../../view/theme/redbasic/php/config.php:125
+msgid "Set font-color for posts and comments"
+msgstr "Välj textfärg för inlägg och kommentarer"
+
+#: ../../view/theme/redbasic/php/config.php:126
+msgid "Set radius of corners"
+msgstr "Välj hörnradie"
+
+#: ../../view/theme/redbasic/php/config.php:127
+msgid "Set shadow depth of photos"
+msgstr "Välj skuggdjup för foton"
+
+#: ../../view/theme/redbasic/php/config.php:128
+msgid "Set maximum width of conversation regions"
+msgstr "Välj maxbredd på konversationsfält"
+
+#: ../../view/theme/redbasic/php/config.php:129
+msgid "Center conversation regions"
+msgstr "Centrera konversationsfält"
+
+#: ../../view/theme/redbasic/php/config.php:130
+msgid "Set minimum opacity of nav bar - to hide it"
+msgstr "Välj lägsta opacitet för navigeringslisten - för att dölja den"
+
+#: ../../view/theme/redbasic/php/config.php:131
+msgid "Set size of conversation author photo"
+msgstr "Välj storlek på foto för trådskapare"
+
+#: ../../view/theme/redbasic/php/config.php:132
+msgid "Set size of followup author photos"
+msgstr "Välj storlek på svarande personers foton"
+
+#: ../../view/theme/redbasic/php/config.php:133
+msgid "Sloppy photo albums"
+msgstr "Oordnade fotoalbum"
+
+#: ../../view/theme/redbasic/php/config.php:133
+msgid "Are you a clean desk or a messy desk person?"
+msgstr "Föredrar du ett tomt eller stökigt skrivbord?"
-#: ../../boot.php:1252
+#: ../../boot.php:1345
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Uppdatering %s misslyckades. Se felloggar."
-#: ../../boot.php:1255
+#: ../../boot.php:1348
#, php-format
msgid "Update Error at %s"
msgstr "Uppdateringsfel på %s"
-#: ../../boot.php:1419
+#: ../../boot.php:1515
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr "Skapa ett konto för att komma åt tjänster och applikationer inom Red Matrix"
-#: ../../boot.php:1447
+#: ../../boot.php:1543
msgid "Password"
msgstr "Lösenord"
-#: ../../boot.php:1448
+#: ../../boot.php:1544
msgid "Remember me"
msgstr "Kom ihåg mig"
-#: ../../boot.php:1453
+#: ../../boot.php:1547
msgid "Forgot your password?"
msgstr "Glömt lösenordet?"
-#: ../../boot.php:1518
+#: ../../boot.php:1628
msgid "permission denied"
msgstr "behörighet saknas"
-#: ../../boot.php:1519
+#: ../../boot.php:1629
msgid "Got Zot?"
msgstr "Got Zot?"
-#: ../../boot.php:1949
+#: ../../boot.php:2112
msgid "toggle mobile"
msgstr "växla mobil"
diff --git a/view/sv/passchanged_eml.tpl b/view/sv/passchanged_eml.tpl
index f0ef1a755..222a6a40a 100644
--- a/view/sv/passchanged_eml.tpl
+++ b/view/sv/passchanged_eml.tpl
@@ -1,7 +1,8 @@
Hej {{$username}},
- Ditt lösenord har bytts enligt begäran. Spara den här informationen
-(eller byt genast lösenordet till något du kan komma ihåg).
+ Ditt lösenord har bytts enligt begäran. Spara den här
+informationen (eller byt genast lösenordet till något du
+kan komma ihåg).
Dina inloggningsuppgifter är:
@@ -16,4 +17,4 @@ Du kan ändra lösenordet från kontoinställningarna när du har loggat in.
Hälsningar,
{{$sitename}}-administratören
-
+ \ No newline at end of file
diff --git a/view/sv/register_open_eml.tpl b/view/sv/register_open_eml.tpl
index 248b45246..e0446c700 100644
--- a/view/sv/register_open_eml.tpl
+++ b/view/sv/register_open_eml.tpl
@@ -1,19 +1,19 @@
-Ett konto för den här e-postadressen har skapats på {{$sitename}}.
+Ett konto för den här e-postadressen har skapats på {{$sitename}}.
Inloggningsuppgifterna är:
Serveradress: {{$siteurl}}
Användarnamn: {{$email}}
Lösenord: (lösenordet som angavs vid registreringen)
-Om kontot skapades utan din vetskap och inte är önskat kan du besöka
-webbplatsen och återställa lösenordet. Det låter dig ta bort kontot via
-länkarna på sidan Inställningar, och vi ber om ursäkt om detta har lett
-till besvär.
+Om kontot skapades utan din vetskap och inte är önskat kan du besöka
+webbplatsen och återställa lösenordet. Det låter dig ta bort kontot via
+länkarna på sidan Inställningar, och vi ber om ursäkt om detta har lett
+till besvär.
Tack och välkommen till {{$sitename}}.
Hälsningar,
{{$sitename}}-administratören
-
+ \ No newline at end of file
diff --git a/view/sv/register_verify_eml.tpl b/view/sv/register_verify_eml.tpl
index beb4f3ad6..a2d319c4e 100644
--- a/view/sv/register_verify_eml.tpl
+++ b/view/sv/register_verify_eml.tpl
@@ -1,6 +1,6 @@
-En begäran om registrering av en ny användare har mottagits på
-{{$sitename}} och behöver ditt godkännande.
+En begäran om registrering av en ny användare har mottagits på
+{{$sitename}} och behöver ditt godkännande.
Inloggningsuppgifterna är:
@@ -22,4 +22,3 @@ För att avslå begäran och ta bort kontot, besök:
Tack.
-
diff --git a/view/sv/register_verify_member.tpl b/view/sv/register_verify_member.tpl
new file mode 100644
index 000000000..0e9dbb651
--- /dev/null
+++ b/view/sv/register_verify_member.tpl
@@ -0,0 +1,24 @@
+
+Tack för att du har skapat ett konto på {{$sitename}}.
+
+Dina inloggningsuppgifter är:
+
+Serveradress: {{$siteurl}}
+Användarnamn: {{$email}}
+
+Logga in med lösenordet som du valde vid registreringen.
+
+Vi behöver bekräfta din e-postadress för att ge dig full åtkomst.
+
+Om du registrerade det här kontot, följ den här länken:
+
+{{$siteurl}}/regver/allow/{{$hash}}
+
+
+För att avbryta registreringen och ta bort kontot, gå till:
+
+
+{{$siteurl}}/regver/deny/{{$hash}}
+
+
+Tack.
diff --git a/view/sv/strings.php b/view/sv/strings.php
index 99dde6bed..7cfc355ea 100644
--- a/view/sv/strings.php
+++ b/view/sv/strings.php
@@ -5,131 +5,126 @@ function string_plural_select_sv($n){
return ($n != 1);;
}}
;
+$a->strings["Cannot locate DNS info for database server '%s'"] = "Kan inte hitta DNS-information för databasserver '%s'";
+$a->strings["Profile Photos"] = "Profilfoton";
+$a->strings["Permission denied"] = "Behörighet saknas";
+$a->strings["(Unknown)"] = "(Okänt)";
+$a->strings["Visible to anybody on the internet."] = "Kan ses av vem som helst på Internet.";
+$a->strings["Visible to you only."] = "Kan bara ses av dig.";
+$a->strings["Visible to anybody in this network."] = "Kan ses av alla på det här nätverket.";
+$a->strings["Visible to anybody authenticated."] = "Kan ses av alla inloggade.";
+$a->strings["Visible to anybody on %s."] = "Kan ses av alla på %s.";
+$a->strings["Visible to all connections."] = "Kan ses av alla kontakter.";
+$a->strings["Visible to approved connections."] = "Kan ses av godkända kontakter.";
+$a->strings["Visible to specific connections."] = "Kan ses av valda kontakter.";
+$a->strings["Item not found."] = "Posten hittades inte.";
+$a->strings["Permission denied."] = "Behörighet saknas.";
+$a->strings["Collection not found."] = "Kretsen hittades inte.";
+$a->strings["Collection is empty."] = "Kretsen är tom.";
+$a->strings["Collection: %s"] = "Krets: %s";
+$a->strings["Connection: %s"] = "Kontakt: %s";
+$a->strings["Connection not found."] = "Kontakten hittades inte.";
+$a->strings["Edit"] = "Redigera";
+$a->strings["No recipient provided."] = "Ingen mottagare angiven.";
+$a->strings["[no subject]"] = "[inget ämne]";
+$a->strings["Unable to determine sender."] = "Kunde inte avgöra vem som är avsändare.";
+$a->strings["Stored post could not be verified."] = "Den sparade posten kunde inte verifieras.";
+$a->strings["view full size"] = "visa full storlek";
+$a->strings["Can view my normal stream and posts"] = "Kan se mina normala strömmar och inlägg";
+$a->strings["Can view my default channel profile"] = "Kan se min standardkanalprofil";
+$a->strings["Can view my photo albums"] = "Kan se mina fotoalbum";
+$a->strings["Can view my connections"] = "Kan se mina kontakter";
+$a->strings["Can view my file storage"] = "Kan se mitt filutrymme";
+$a->strings["Can view my webpages"] = "Kan se mina webbsidor";
+$a->strings["Can send me their channel stream and posts"] = "Kan skicka sina kanalströmmar och inlägg till mig";
+$a->strings["Can post on my channel page (\"wall\")"] = "Kan posta inlägg på min kanalsida (\"vägg\")";
+$a->strings["Can comment on or like my posts"] = "Kan kommentera eller gilla mina inlägg";
+$a->strings["Can send me private mail messages"] = "Kan skicka privata meddelanden till mig";
+$a->strings["Can post photos to my photo albums"] = "Kan lägga till foton i mitt fotoalbum";
+$a->strings["Can like/dislike stuff"] = "Kan gilla/ogilla saker";
+$a->strings["Profiles and things other than posts/comments"] = "Profiler och annat än inlägg/kommentarer";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan vidarebefordra till alla mina kanalkontakter genom @omnämnanden";
+$a->strings["Advanced - useful for creating group forum channels"] = "Avancerat - användbart för att skapa kanaler för gruppforum";
+$a->strings["Can chat with me (when available)"] = "Kan chatta med mig (när tillgänglig)";
+$a->strings["Can write to my file storage"] = "Har skrivrättigheter i mitt filutrymme";
+$a->strings["Can edit my webpages"] = "Kan redigera mina webbsidor";
+$a->strings["Can source my public posts in derived channels"] = "Kan använda mina offentliga inlägg i kanaler nedströms";
+$a->strings["Somewhat advanced - very useful in open communities"] = "Ganska avancerat - väldigt användbart i öppna gemenskaper";
+$a->strings["Can administer my channel resources"] = "Kan administrera mina kanalresurser";
+$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Extremt avancerat. Låt detta vara om du inte vet vad du gör";
+$a->strings["Social Networking"] = "Socialt nätverkande";
+$a->strings["Mostly Public"] = "Mestadels offentligt";
+$a->strings["Restricted"] = "Begränsat";
+$a->strings["Private"] = "Privat";
+$a->strings["Community Forum"] = "Gemenskapsforum";
+$a->strings["Feed Republish"] = "Vidarepublicering av flöde";
+$a->strings["Special Purpose"] = "Särskilt syfte";
+$a->strings["Celebrity/Soapbox"] = "Kändis/talarstol";
+$a->strings["Group Repository"] = "Gruppförråd";
+$a->strings["Other"] = "Annat";
+$a->strings["Custom/Expert Mode"] = "Anpassat/expertläge";
+$a->strings["created a new post"] = "skapade ett nytt inlägg";
+$a->strings["commented on %s's post"] = "kommenterade %ss inlägg";
+$a->strings["Tags"] = "Taggar";
$a->strings["Categories"] = "Kategorier";
-$a->strings["Connect"] = "Ta kontakt";
-$a->strings["Ignore/Hide"] = "Ignorera/göm";
-$a->strings["Suggestions"] = "Förslag";
-$a->strings["See more..."] = "Se fler...";
-$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du har %1$.0f av %2$.0f tillåtna kontakter.";
-$a->strings["Add New Connection"] = "Lägg till ny kontakt";
-$a->strings["Enter the channel address"] = "Ange kanaladressen";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Exempel: bob@example.com, http://example.com/barbara";
-$a->strings["Notes"] = "Anteckningar";
-$a->strings["Save"] = "Spara";
-$a->strings["Remove term"] = "Ta bort uttryck";
-$a->strings["Saved Searches"] = "Sparade sökningar";
-$a->strings["add"] = "lägg till";
-$a->strings["Saved Folders"] = "Sparade mappar";
-$a->strings["Everything"] = "Allt";
-$a->strings["Archives"] = "Arkiv";
-$a->strings["Refresh"] = "Ladda om";
-$a->strings["Me"] = "Mig själv";
-$a->strings["Best Friends"] = "Bästa vänner";
-$a->strings["Friends"] = "Vänner";
-$a->strings["Co-workers"] = "Kollegor";
-$a->strings["Former Friends"] = "Tidigare vänner";
-$a->strings["Acquaintances"] = "Bekanta";
-$a->strings["Everybody"] = "Alla";
-$a->strings["Account settings"] = "Kontoinställningar";
-$a->strings["Channel settings"] = "Kanalinställningar";
-$a->strings["Additional features"] = "Tilläggsfunktioner";
-$a->strings["Feature settings"] = "Funktionsinställningar";
-$a->strings["Display settings"] = "Utseende";
-$a->strings["Connected apps"] = "Anslutna appar";
-$a->strings["Export channel"] = "Exportera kanal";
-$a->strings["Automatic Permissions (Advanced)"] = "Automatiska rättigheter (avancerat)";
-$a->strings["Premium Channel Settings"] = "Inställningar för premiumkanal";
-$a->strings["Channel Sources"] = "Kanalkällor";
-$a->strings["Settings"] = "Inställningar";
-$a->strings["Check Mail"] = "Hämta meddelanden";
-$a->strings["New Message"] = "Nytt meddelande";
-$a->strings["Chat Rooms"] = "Chattrum";
-$a->strings["Bookmarked Chatrooms"] = "Bokmärkta chattrum";
-$a->strings["Suggested Chatrooms"] = "Föreslagna chattrum";
+$a->strings["Keywords"] = "Nyckelord";
+$a->strings["have"] = "har";
+$a->strings["has"] = "har";
+$a->strings["want"] = "vill ha";
+$a->strings["wants"] = "vill ha";
+$a->strings["like"] = "gilla";
+$a->strings["likes"] = "gillar";
+$a->strings["dislike"] = "ogilla";
+$a->strings["dislikes"] = "ogillar";
+$a->strings["__ctx:noun__ Like"] = array(
+ 0 => "gillar detta",
+ 1 => "gillar detta",
+);
+$a->strings["New Page"] = "Ny sida";
+$a->strings["View"] = "Visa";
+$a->strings["Preview"] = "Förhandsgranska";
+$a->strings["Actions"] = "Åtgärder";
+$a->strings["Page Link"] = "Länk";
+$a->strings["Title"] = "Titel";
+$a->strings["Created"] = "Skapad";
+$a->strings["Edited"] = "Ändrad";
+$a->strings["Embedded content"] = "Inbäddat innehåll";
+$a->strings["Embedding disabled"] = "Inbäddning inaktiverat";
+$a->strings["Logged out."] = "Utloggad.";
+$a->strings["Failed authentication"] = "Inloggning misslyckades";
+$a->strings["Login failed."] = "Inloggning misslyckades.";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "Bild överskrider webbplatsens storleksbegränsning på %lu byte";
+$a->strings["Image file is empty."] = "Bildfil är tom.";
+$a->strings["Unable to process image"] = "Kunde inte bearbeta bild";
+$a->strings["Photo storage failed."] = "Fotolagring misslyckades.";
+$a->strings["Photo Albums"] = "Fotoalbum";
+$a->strings["Upload New Photos"] = "Ladda upp nya foton";
$a->strings[" and "] = " och ";
$a->strings["public profile"] = "offentlig profil";
$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ändrade %2\$s till &quot;%3\$s&quot;";
$a->strings["Visit %1\$s's %2\$s"] = "Besök %1\$ss %2\$s";
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s har en uppdaterad %2\$s (har ändrat %3\$s).";
-$a->strings["Logout"] = "Logga ut";
-$a->strings["End this session"] = "Avsluta sessionen";
-$a->strings["Home"] = "Hem";
-$a->strings["Your posts and conversations"] = "Dina inlägg och konversationer";
-$a->strings["View Profile"] = "Visa profil";
-$a->strings["Your profile page"] = "Din profilsida";
-$a->strings["Edit Profiles"] = "Redigera profiler";
-$a->strings["Manage/Edit profiles"] = "Hantera/redigera profiler";
-$a->strings["Photos"] = "Foton";
-$a->strings["Your photos"] = "Dina foton";
-$a->strings["Files"] = "Filer";
-$a->strings["Your files"] = "Dina filer";
-$a->strings["Chat"] = "Chatt";
-$a->strings["Your chatrooms"] = "Dina chattrum";
-$a->strings["Events"] = "Händelser";
-$a->strings["Your events"] = "Dina händelser";
-$a->strings["Bookmarks"] = "Bokmärken";
-$a->strings["Your bookmarks"] = "Dina bokmärken";
-$a->strings["Webpages"] = "Webbsidor";
-$a->strings["Your webpages"] = "Dina webbsidor";
-$a->strings["Login"] = "Logga in";
-$a->strings["Sign in"] = "Logga in";
-$a->strings["%s - click to logout"] = "%s - klicka för att logga ut";
-$a->strings["Click to authenticate to your home hub"] = "Klicka för att autentisera mot din hemmahubb";
-$a->strings["Home Page"] = "Hemsida";
-$a->strings["Register"] = "Registrera";
-$a->strings["Create an account"] = "Skapa ett konto";
-$a->strings["Help"] = "Hjälp";
-$a->strings["Help and documentation"] = "Hjälp och dokumentation";
-$a->strings["Apps"] = "Appar";
-$a->strings["Addon applications, utilities, games"] = "Tilläggsapplikationer, verktyg, spel";
-$a->strings["Search"] = "Sök";
-$a->strings["Search site content"] = "Sök innehåll";
-$a->strings["Directory"] = "Katalog";
-$a->strings["Channel Locator"] = "Kanalfinnare";
-$a->strings["Matrix"] = "Matris";
-$a->strings["Your matrix"] = "Din matris";
-$a->strings["Mark all matrix notifications seen"] = "Märk alla matrisnotifieringar som lästa";
-$a->strings["Channel Home"] = "Kanalhem";
-$a->strings["Channel home"] = "Kanalhem";
-$a->strings["Mark all channel notifications seen"] = "Märk alla kanalnotifieringar som lästa";
-$a->strings["Connections"] = "Kontakter";
-$a->strings["Notices"] = "Meddelanden";
-$a->strings["Notifications"] = "Notifieringar";
-$a->strings["See all notifications"] = "Se alla notifieringar";
-$a->strings["Mark all system notifications seen"] = "Märk alla systemnotifieringar som lästa";
-$a->strings["Mail"] = "Privat meddelande";
-$a->strings["Private mail"] = "Privat meddelande";
-$a->strings["See all private messages"] = "Se alla privata meddelanden";
-$a->strings["Mark all private messages seen"] = "Märk alla privata meddelanden som lästa";
-$a->strings["Inbox"] = "Inkorg";
-$a->strings["Outbox"] = "Utkorg";
-$a->strings["Event Calendar"] = "Kalender";
-$a->strings["See all events"] = "Se alla händelser";
-$a->strings["Mark all events seen"] = "Märk alla händelser som lästa";
-$a->strings["Channel Select"] = "Välj kanal";
-$a->strings["Manage Your Channels"] = "Hantera dina kanaler";
-$a->strings["Account/Channel Settings"] = "Konto-/kanalinställningar";
-$a->strings["Manage/Edit Friends and Connections"] = "Hantera/redigera vänner och kontakter";
-$a->strings["Admin"] = "Administration";
-$a->strings["Site Setup and Configuration"] = "Serverinställning och -konfiguration";
-$a->strings["Nothing new here"] = "Inget nytt här";
-$a->strings["Please wait..."] = "Vänta...";
+$a->strings["Attachments:"] = "Bilagor:";
$a->strings["l F d, Y \\@ g:i A"] = "l j F Y \\k\\l. H.i";
+$a->strings["Redmatrix event notification:"] = "Händelsenotifiering från Redmatrix:";
$a->strings["Starts:"] = "Börjar:";
$a->strings["Finishes:"] = "Slutar:";
$a->strings["Location:"] = "Plats:";
-$a->strings["Public Timeline"] = "Offentlig tidslinje";
-$a->strings["New window"] = "Nytt fönster";
-$a->strings["Open the selected location in a different window or browser tab"] = "Öppna den valda platsen i ett annat fönster eller en annan webbläsarflik";
$a->strings["General Features"] = "Allmänna funktioner";
$a->strings["Content Expiration"] = "Tidsbegränsat innehåll";
$a->strings["Remove posts/comments and/or private messages at a future time"] = "Ta bort inlägg/kommentarer och/eller privata meddelanden efter en tid";
$a->strings["Multiple Profiles"] = "Flera profiler";
$a->strings["Ability to create multiple profiles"] = "Möjlighet att skapa flera profiler";
+$a->strings["Advanced Profiles"] = "Avancerade profiler";
+$a->strings["Additional profile sections and selections"] = "Fler profilinställningar";
+$a->strings["Profile Import/Export"] = "Profilimport/-export";
+$a->strings["Save and load profile details across sites/channels"] = "Spara och ladda profiluppgifter mellan webbplatser/kanaler";
$a->strings["Web Pages"] = "Webbsidor";
$a->strings["Provide managed web pages on your channel"] = "Tillhandahåll ordnade webbsidor i din kanal";
$a->strings["Private Notes"] = "Privata anteckningar";
$a->strings["Enables a tool to store notes and reminders"] = "Aktivera ett verktyg för att spara anteckningar och påminnelser";
+$a->strings["Navigation Channel Select"] = "Kanalväljare i navigation";
+$a->strings["Change channels directly from within the navigation dropdown menu"] = "Välj kanal direkt från navigationslistens rullgardinsmeny";
$a->strings["Extended Identity Sharing"] = "Utökad identitetsdelning";
$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Dela din identitet med alla webbplatser på Internet. Om inaktiverat är identiteten bara delad med platser i matrisen.";
$a->strings["Expert Mode"] = "Expertläge";
@@ -137,18 +132,20 @@ $a->strings["Enable Expert Mode to provide advanced configuration options"] = "A
$a->strings["Premium Channel"] = "Premiumkanal";
$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Låter dig ange begränsningar och villkor för dem som vill ansluta till din kanal";
$a->strings["Post Composition Features"] = "Skrivfunktioner";
-$a->strings["Richtext Editor"] = "Richtext-editor";
-$a->strings["Enable richtext editor"] = "Aktivera richtext-editor";
-$a->strings["Post Preview"] = "Förhandsgranskning";
-$a->strings["Allow previewing posts and comments before publishing them"] = "Tillåt förhandsgranskning av inlägg och kommentarer innan de publiceras";
-$a->strings["Automatically import channel content from other channels or feeds"] = "Importera kanalinnehåll från andra kanaler eller strömmar automatiskt";
+$a->strings["Use Markdown"] = "Använd Markdown";
+$a->strings["Allow use of \"Markdown\" to format posts"] = "Tillåt att \"Markdown\" används för att formatera inlägg";
+$a->strings["Channel Sources"] = "Kanalkällor";
+$a->strings["Automatically import channel content from other channels or feeds"] = "Importera kanalinnehåll från andra kanaler eller flöden automatiskt";
$a->strings["Even More Encryption"] = "Ytterligare kryptering";
$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Tillåt änd-till-änd-kryptering av innehåll med en delad hemlig nyckel";
+$a->strings["Flag Adult Photos"] = "Flagga vuxenfoton";
+$a->strings["Provide photo edit option to hide adult photos from default album view"] = "Gör det möjligt att inte visa foton som är olämpliga för barn i albums standardvy";
$a->strings["Network and Stream Filtering"] = "Nätverk och strömfiltrering";
$a->strings["Search by Date"] = "Sök på datum";
$a->strings["Ability to select posts by date ranges"] = "Tillåter urval av inlägg baserat på datum";
-$a->strings["Collections Filter"] = "Sammanhangsfilter";
-$a->strings["Enable widget to display Network posts only from selected collections"] = "Aktivera en väljare för att visa nätverksinlägg från enbart valda sammanhang";
+$a->strings["Collections Filter"] = "Kretsfilter";
+$a->strings["Enable widget to display Network posts only from selected collections"] = "Aktivera en väljare för att visa nätverksinlägg från enbart valda kretsar";
+$a->strings["Saved Searches"] = "Sparade sökningar";
$a->strings["Save search terms for re-use"] = "Spara sökuttryck för återanvändning";
$a->strings["Network Personal Tab"] = "Personlig nätverksflik";
$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Aktivera en flik som visar endast de nätverksinlägg som du har deltagit i";
@@ -159,12 +156,11 @@ $a->strings["Filter stream activity by depth of relationships"] = "Filtrera strÃ
$a->strings["Suggest Channels"] = "Föreslå kanaler";
$a->strings["Show channel suggestions"] = "Visa förslag på kanaler";
$a->strings["Post/Comment Tools"] = "Inläggs-/kommentarsverktyg";
-$a->strings["Edit Sent Posts"] = "Redigera sända inlägg";
-$a->strings["Edit and correct posts and comments after sending"] = "Redigera och korrigera inlägg och kommentarer efter att de skickats";
$a->strings["Tagging"] = "Taggning";
$a->strings["Ability to tag existing posts"] = "Möjlighet att tagga befintliga inlägg";
$a->strings["Post Categories"] = "Inläggskategorier";
$a->strings["Add categories to your posts"] = "Lägg till kategorier till dina inlägg";
+$a->strings["Saved Folders"] = "Sparade mappar";
$a->strings["Ability to file posts under folders"] = "Möjlighet att lägga inlägg i mappar";
$a->strings["Dislike Posts"] = "Ogilla inlägg";
$a->strings["Ability to dislike posts/comments"] = "Möjlighet att ogilla inlägg/kommentarer";
@@ -172,12 +168,39 @@ $a->strings["Star Posts"] = "Märk inlägg";
$a->strings["Ability to mark special posts with a star indicator"] = "Möjlighet att märka speciella inlägg med en stjärna";
$a->strings["Tag Cloud"] = "Taggmoln";
$a->strings["Provide a personal tag cloud on your channel page"] = "Tillhandahåll ett personligt taggmoln på din kanalsida";
-$a->strings["Unknown | Not categorised"] = "Okänd | Inte kategoriserad";
-$a->strings["Block immediately"] = "Blockera genast";
-$a->strings["Shady, spammer, self-marketer"] = "Skum, spammare, självförhärligande";
-$a->strings["Known to me, but no opinion"] = "Känner till, men ingen åsikt";
-$a->strings["OK, probably harmless"] = "OK, antagligen harmlös";
-$a->strings["Reputable, has my trust"] = "Ansedd, har mitt förtroende";
+$a->strings["parent"] = "en nivå upp";
+$a->strings["Collection"] = "Samling";
+$a->strings["Principal"] = "Bas";
+$a->strings["Addressbook"] = "Adressbok";
+$a->strings["Calendar"] = "Kalender";
+$a->strings["Schedule Inbox"] = "Schemainkorg";
+$a->strings["Schedule Outbox"] = "Schemautkorg";
+$a->strings["Unknown"] = "Okända";
+$a->strings["%1\$s used"] = "%1\$s använt";
+$a->strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "%1\$s använt av %2\$s (%3\$s&#37;)";
+$a->strings["Files"] = "Filer";
+$a->strings["Total"] = "Totalt";
+$a->strings["Name"] = "Namn";
+$a->strings["Type"] = "Typ";
+$a->strings["Size"] = "Storlek";
+$a->strings["Last Modified"] = "Senast ändrad";
+$a->strings["Delete"] = "Ta bort";
+$a->strings["Create new folder"] = "Skapa ny mapp";
+$a->strings["Create"] = "Skapa";
+$a->strings["Upload file"] = "Ladda upp fil";
+$a->strings["Upload"] = "Ladda upp";
+$a->strings["%1\$s's bookmarks"] = "%1\$ss bokmärken";
+$a->strings["Directory Options"] = "Katalogalternativ";
+$a->strings["Alphabetic"] = "Alfabetisk";
+$a->strings["Reverse Alphabetic"] = "Omvänd alfabetisk";
+$a->strings["Newest to Oldest"] = "Nyast till äldst";
+$a->strings["Oldest to Newest"] = "Äldst till nyast";
+$a->strings["Public Forums Only"] = "Endast offentliga forum";
+$a->strings["Sort"] = "Ordning";
+$a->strings["Enable Safe Search"] = "Aktivera säker sökning";
+$a->strings["Disable Safe Search"] = "Avaktivera säker sökning";
+$a->strings["Safe Mode"] = "Säkert läge";
+$a->strings["Default"] = "Standard";
$a->strings["Frequently"] = "Ofta";
$a->strings["Hourly"] = "Varje timme";
$a->strings["Twice daily"] = "Två gånger dagligen";
@@ -194,21 +217,291 @@ $a->strings["Zot!"] = "Zot!";
$a->strings["LinkedIn"] = "LinkedIn";
$a->strings["XMPP/IM"] = "XMPP/IM";
$a->strings["MySpace"] = "MySpace";
+$a->strings["Visible to your default audience"] = "Kan ses av förinställda mottagare";
+$a->strings["Show"] = "Visa";
+$a->strings["Don't show"] = "Visa inte";
+$a->strings["Permissions"] = "Behörighet";
+$a->strings["Close"] = "Stäng";
+$a->strings["prev"] = "föregående";
+$a->strings["first"] = "första";
+$a->strings["last"] = "sista";
+$a->strings["next"] = "nästa";
+$a->strings["older"] = "äldre";
+$a->strings["newer"] = "nyare";
+$a->strings["No connections"] = "Inga kontakter";
+$a->strings["%d Connection"] = array(
+ 0 => "%d kontakt",
+ 1 => "%d kontakter",
+);
+$a->strings["View Connections"] = "Visa kontakter";
+$a->strings["Search"] = "Sök";
+$a->strings["Save"] = "Spara";
+$a->strings["poke"] = "puffa";
+$a->strings["poked"] = "puffade";
+$a->strings["ping"] = "pinga";
+$a->strings["pinged"] = "pingade";
+$a->strings["prod"] = "stöt till";
+$a->strings["prodded"] = "stötte till";
+$a->strings["slap"] = "daska till";
+$a->strings["slapped"] = "daskade till";
+$a->strings["finger"] = "fingra på";
+$a->strings["fingered"] = "fingrade på";
+$a->strings["rebuff"] = "stöt tillbaka";
+$a->strings["rebuffed"] = "stötte tillbaks";
+$a->strings["happy"] = "glad";
+$a->strings["sad"] = "ledsen";
+$a->strings["mellow"] = "lugn";
+$a->strings["tired"] = "trött";
+$a->strings["perky"] = "uppåt";
+$a->strings["angry"] = "arg";
+$a->strings["stupified"] = "virrig";
+$a->strings["puzzled"] = "förbryllad";
+$a->strings["interested"] = "intresserad";
+$a->strings["bitter"] = "bitter";
+$a->strings["cheerful"] = "munter";
+$a->strings["alive"] = "pigg";
+$a->strings["annoyed"] = "irriterad";
+$a->strings["anxious"] = "bekymrad";
+$a->strings["cranky"] = "grinig";
+$a->strings["disturbed"] = "besvärad";
+$a->strings["frustrated"] = "frustrerad";
+$a->strings["depressed"] = "deprimerad";
+$a->strings["motivated"] = "motiverad";
+$a->strings["relaxed"] = "avslappnad";
+$a->strings["surprised"] = "förvånad";
+$a->strings["Monday"] = "måndag";
+$a->strings["Tuesday"] = "tisdag";
+$a->strings["Wednesday"] = "onsdag";
+$a->strings["Thursday"] = "torsdag";
+$a->strings["Friday"] = "fredag";
+$a->strings["Saturday"] = "lördag";
+$a->strings["Sunday"] = "söndag";
+$a->strings["January"] = "januari";
+$a->strings["February"] = "februari";
+$a->strings["March"] = "mars";
+$a->strings["April"] = "april";
+$a->strings["May"] = "maj";
+$a->strings["June"] = "juni";
+$a->strings["July"] = "juli";
+$a->strings["August"] = "augusti";
+$a->strings["September"] = "september";
+$a->strings["October"] = "oktober";
+$a->strings["November"] = "november";
+$a->strings["December"] = "december";
+$a->strings["unknown.???"] = "okänt.???";
+$a->strings["bytes"] = "byte";
+$a->strings["remove category"] = "ta bort kategori";
+$a->strings["remove from file"] = "ta bort från fil";
+$a->strings["Click to open/close"] = "Klicka för att öppna/stänga";
+$a->strings["Link to Source"] = "Länk till källa";
+$a->strings["Select a page layout: "] = "Välj en sidlayout: ";
+$a->strings["default"] = "standard";
+$a->strings["Page content type: "] = "Typ av sidinnehåll: ";
+$a->strings["Select an alternate language"] = "Välj ett alternativt språk";
$a->strings["photo"] = "foto";
$a->strings["event"] = "händelse";
-$a->strings["channel"] = "kanal";
$a->strings["status"] = "status";
$a->strings["comment"] = "kommentar";
+$a->strings["activity"] = "aktivitet";
+$a->strings["Design"] = "Design";
+$a->strings["Blocks"] = "Block";
+$a->strings["Menus"] = "Menyer";
+$a->strings["Layouts"] = "Layouter";
+$a->strings["Pages"] = "Sidor";
+$a->strings["%d invitation available"] = array(
+ 0 => "%d inbjudan tillgänglig",
+ 1 => "%d inbjudningar tillgängliga",
+);
+$a->strings["Advanced"] = "Avancerat";
+$a->strings["Find Channels"] = "Hitta kanaler";
+$a->strings["Enter name or interest"] = "Ange namn eller intresse";
+$a->strings["Connect/Follow"] = "Ta kontakt/följ";
+$a->strings["Examples: Robert Morgenstein, Fishing"] = "Exempel: Robert Morgenstein, Fiske";
+$a->strings["Find"] = "Sök";
+$a->strings["Channel Suggestions"] = "Kanalförslag";
+$a->strings["Random Profile"] = "Slumpvald profil";
+$a->strings["Invite Friends"] = "Bjud in vänner";
+$a->strings["Advanced example: name=fred and country=iceland"] = "Avancerat exempel: name=fred and country=iceland";
+$a->strings["Everything"] = "Allt";
+$a->strings["%d connection in common"] = array(
+ 0 => "%d gemensam kontakt",
+ 1 => "%d gemensamma kontakter",
+);
+$a->strings["show more"] = "visa fler";
+$a->strings["Red Matrix Notification"] = "Red Matrix-meddelande";
+$a->strings["redmatrix"] = "redmatrix";
+$a->strings["Thank You,"] = "Tack,";
+$a->strings["%s Administrator"] = "Administratören för %s";
+$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
+$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Meddelande] Nytt meddelande på %s";
+$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s skickade ett nytt privat meddelande till dig på %3\$s.";
+$a->strings["%1\$s sent you %2\$s."] = "%1\$s skickade %2\$s till dig.";
+$a->strings["a private message"] = "ett privat meddelande";
+$a->strings["Please visit %s to view and/or reply to your private messages."] = "Besök %s för att visa och/eller svara på dina privata meddelanden.";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s kommenterade [zrl=%3\$s]ett %4\$s[/zrl]";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s kommenterade [zrl=%3\$s]%4\$ss %5\$s[/zrl]";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s kommenterade [zrl=%3\$s]ditt %4\$s[/zrl]";
+$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Meddelande] Kommentar till konversation #%1\$d av %2\$s";
+$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s kommenterade en sak/konversation du har följt.";
+$a->strings["Please visit %s to view and/or reply to the conversation."] = "Besök %s för att visa och/eller svara på konversationen.";
+$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Meddelande] %s postade till din profilvägg";
+$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s postade till din profilvägg på %3\$s";
+$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s postade till [zrl=%3\$s]din vägg[/zrl]";
+$a->strings["[Red:Notify] %s tagged you"] = "[Red:Meddelande] %s taggade dig";
+$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s taggade dig på %3\$s";
+$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]taggade dig[/zrl].";
+$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Meddelande] %1\$s puffade dig";
+$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s puffade dig på %3\$s";
+$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]puffade dig[/zrl].";
+$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Meddelande] %s taggade ditt inlägg";
+$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s taggade ditt inlägg på %3\$s";
+$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s taggade [zrl=%3\$s]ditt inlägg[/zrl]";
+$a->strings["[Red:Notify] Introduction received"] = "[Red:Meddelande] Presentation mottagen";
+$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, du har fått en ny kontaktförfrågan från '%2\$s' på %3\$s";
+$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, du har fått [zrl=%2\$s]en ny kontaktförfrågan[/zrl] från %3\$s.";
+$a->strings["You may visit their profile at %s"] = "Du kan besöka deras profil på %s";
+$a->strings["Please visit %s to approve or reject the connection request."] = "Besök %s för att bevilja eller avslå kontaktförfrågan.";
+$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Meddelande] Vänförslag mottaget";
+$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, du har fått ett vänförslag från '%2\$s' på %3\$s";
+$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, du har fått [zrl=%2\$s]ett vänförslag[/zrl] angående %3\$s från %4\$s.";
+$a->strings["Name:"] = "Namn:";
+$a->strings["Photo:"] = "Foto:";
+$a->strings["Please visit %s to approve or reject the suggestion."] = "Besök %s för att bevilja eller avslå förslaget.";
+$a->strings["[Red:Notify]"] = "[Red:Notifiering]";
+$a->strings["This event has been added to your calendar."] = "Händelsen har lagts till i din kalender.";
+$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "En borttagen grupp med det här namnet återskapades. Befintliga rättigheter till saker <strong>kan</strong> gälla för den här gruppen och alla framtida medlemmar. Om det här inte är vad du avsåg, skapa i stället en annan grupp med ett annat namn.";
+$a->strings["Default privacy group for new contacts"] = "Förvald integritetsgrupp för nya kontakter";
+$a->strings["All Channels"] = "Alla kanaler";
+$a->strings["edit"] = "redigera";
+$a->strings["Collections"] = "Kretsar";
+$a->strings["Edit collection"] = "Redigera krets";
+$a->strings["Create a new collection"] = "Skapa en ny krets";
+$a->strings["Channels not in any collection"] = "Kanaler inte i någon krets";
+$a->strings["add"] = "lägg till";
+$a->strings["Unable to obtain identity information from database"] = "Kunde inte hämta från databasen";
+$a->strings["Empty name"] = "Tomt namn";
+$a->strings["Name too long"] = "För långt namn";
+$a->strings["No account identifier"] = "Ingen kontoidentifierare";
+$a->strings["Nickname is required."] = "Smeknamn måste anges.";
+$a->strings["Reserved nickname. Please choose another."] = "Reserverat smeknamn. Välj ett annat.";
+$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Smeknamnet innehåller otillåtna tecken eller är redan upptaget på den här servern.";
+$a->strings["Unable to retrieve created identity"] = "Kunde inte hämta den skapade identiteten";
+$a->strings["Default Profile"] = "Standardprofil";
+$a->strings["Friends"] = "Vänner";
+$a->strings["Requested channel is not available."] = "Den begärda kanalen är inte tillgänglig";
+$a->strings["Requested profile is not available."] = "Begärd profil är inte tillgänglig.";
+$a->strings["Connect"] = "Ta kontakt";
+$a->strings["Change profile photo"] = "Bytprofilfoto";
+$a->strings["Profiles"] = "Profiler";
+$a->strings["Manage/edit profiles"] = "Hantera/redigera profiler";
+$a->strings["Create New Profile"] = "Skapa ny profil";
+$a->strings["Edit Profile"] = "Redigera profil";
+$a->strings["Profile Image"] = "Profilbild";
+$a->strings["visible to everybody"] = "synlig för alla";
+$a->strings["Edit visibility"] = "Redigera synlighet";
+$a->strings["Gender:"] = "Kön:";
+$a->strings["Status:"] = "Status:";
+$a->strings["Homepage:"] = "Hemsida:";
+$a->strings["Online Now"] = "Online nu";
+$a->strings["g A l F d"] = "l j F \\k\\l G";
+$a->strings["F d"] = "j F";
+$a->strings["[today]"] = "[i dag]";
+$a->strings["Birthday Reminders"] = "Födelsedagspåminnelser";
+$a->strings["Birthdays this week:"] = "Födelsedagar den här veckan:";
+$a->strings["[No description]"] = "[Ingen beskrivning]";
+$a->strings["Event Reminders"] = "Händelsepåminnelser";
+$a->strings["Events this week:"] = "Händelser den här veckan:";
+$a->strings["Profile"] = "Profil";
+$a->strings["Full Name:"] = "Fullständigt namn:";
+$a->strings["Like this channel"] = "Gilla den här kanalen";
+$a->strings["j F, Y"] = "j F Y";
+$a->strings["j F"] = "j F";
+$a->strings["Birthday:"] = "Födelsedag:";
+$a->strings["Age:"] = "Ã…lder:";
+$a->strings["for %1\$d %2\$s"] = "i %1\$d %2\$s";
+$a->strings["Sexual Preference:"] = "Sexuell preferens:";
+$a->strings["Hometown:"] = "Hemort:";
+$a->strings["Tags:"] = "Taggar:";
+$a->strings["Political Views:"] = "Politisk åskådning:";
+$a->strings["Religion:"] = "Religion:";
+$a->strings["About:"] = "Om:";
+$a->strings["Hobbies/Interests:"] = "Fritidssysselsättning/intressen:";
+$a->strings["Likes:"] = "Gillar:";
+$a->strings["Dislikes:"] = "Ogillar:";
+$a->strings["Contact information and Social Networks:"] = "Kontaktinformation och sociala nätverk:";
+$a->strings["My other channels:"] = "Mina andra kanaler:";
+$a->strings["Musical interests:"] = "Musikintressen:";
+$a->strings["Books, literature:"] = "Böcker, litteratur:";
+$a->strings["Television:"] = "Tv:";
+$a->strings["Film/dance/culture/entertainment:"] = "Film/dans/kultur/underhållning:";
+$a->strings["Love/Romance:"] = "Kärlek/romantik:";
+$a->strings["Work/employment:"] = "Arbete/sysselsättning:";
+$a->strings["School/education:"] = "Skola/utbildning:";
+$a->strings["Like this thing"] = "Gilla den här saken";
+$a->strings["Not a valid email address"] = "Inte en giltig e-postadress";
+$a->strings["Your email domain is not among those allowed on this site"] = "Din e-postdomän är inte bland de som tillåts på den här servern";
+$a->strings["Your email address is already registered at this site."] = "Din e-postadress är redan registrerad på den här servern.";
+$a->strings["An invitation is required."] = "En inbjudan behövs.";
+$a->strings["Invitation could not be verified."] = "Inbjudningen kunde inte bekräftas.";
+$a->strings["Please enter the required information."] = "Ange den begärda informationen.";
+$a->strings["Failed to store account information."] = "Misslyckades att spara kontoinformation.";
+$a->strings["Registration confirmation for %s"] = "Registreringsbekräftelse för %s";
+$a->strings["Registration request at %s"] = "Registreringsförfrågan på %s";
+$a->strings["Administrator"] = "Administratör";
+$a->strings["your registration password"] = "ditt registreringslösenord";
+$a->strings["Registration details for %s"] = "Registreringsdetaljer för %s";
+$a->strings["Account approved."] = "Konto godkänt.";
+$a->strings["Registration revoked for %s"] = "Registrering avslagen för %s";
+$a->strings["Account verified. Please login."] = "Konto bekräftat. Du kan nu logga in.";
+$a->strings["Click here to upgrade."] = "Klicka här för att uppgradera.";
+$a->strings["This action exceeds the limits set by your subscription plan."] = "Den här funktionen går utanför vad som anges i ditt avtal.";
+$a->strings["This action is not available under your subscription plan."] = "Den här funktionen är inte tillgänglig med ditt avtal.";
+$a->strings["Channel is blocked on this site."] = "Kanalen är blockerad på den här servern.";
+$a->strings["Channel location missing."] = "Kanalplats saknas.";
+$a->strings["Response from remote channel was incomplete."] = "Svar från den andra kanalen var ofullständigt.";
+$a->strings["Channel was deleted and no longer exists."] = "Kanalen har tagits bort och finns inte längre.";
+$a->strings["Protocol disabled."] = "Protokoll inaktiverat.";
+$a->strings["Channel discovery failed."] = "Kanalsökning misslyckades.";
+$a->strings["local account not found."] = "hittade inte lokalt konto.";
+$a->strings["Cannot connect to yourself."] = "Du kan inte kontakta dig själv.";
+$a->strings["Public Timeline"] = "Offentlig tidslinje";
+$a->strings["Item was not found."] = "Posten hittades inte.";
+$a->strings["No source file."] = "Ingen källfil.";
+$a->strings["Cannot locate file to replace"] = "Kan inte hitta fil att ersätta";
+$a->strings["Cannot locate file to revise/update"] = "Kan inte hitta fil att revidera/uppdatera";
+$a->strings["File exceeds size limit of %d"] = "Filen överskrider storleksbegränsningen %d";
+$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Du har nått begränsningen %1$.0f megabyte utrymme för bilagor.";
+$a->strings["File upload failed. Possible system limit or action terminated."] = "Filuppladdning misslyckades. Möjlig systembegränsning eller avbruten åtgärd.";
+$a->strings["Stored file could not be verified. Upload failed."] = "Den lagrade filen kunde inte verifieras. Uppladdning misslyckad.";
+$a->strings["Path not available."] = "Sökväg inte tillgänglig.";
+$a->strings["Empty pathname"] = "Tom sökväg";
+$a->strings["duplicate filename or path"] = "filnamn eller sökväg finns redan";
+$a->strings["Path not found."] = "Sökväg hittas inte.";
+$a->strings["mkdir failed."] = "mkdir misslyckades.";
+$a->strings["database storage failed."] = "databaslagring misslyckades.";
+$a->strings["Missing room name"] = "Rumsnamn saknas";
+$a->strings["Duplicate room name"] = "Rumsnamnet finns redan";
+$a->strings["Invalid room specifier."] = "Ogiltig rumsbeskrivning.";
+$a->strings["Room not found."] = "Rummet hittades inte.";
+$a->strings["Room is full"] = "Rummet är fullt";
+$a->strings["Image/photo"] = "Bild/foto";
+$a->strings["Encrypted content"] = "Krypterat innehåll";
+$a->strings["Install design element: "] = "Installera designelement: ";
+$a->strings["QR code"] = "QR-kod";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s skrev följande %2\$s %3\$s";
+$a->strings["post"] = "post";
+$a->strings["$1 spoiler"] = "$1 spoiler";
+$a->strings["$1 wrote:"] = "$1 skrev:";
+$a->strings["channel"] = "kanal";
$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s gillar %2\$ss %3\$s";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s gillar inte %2\$ss %3\$s";
$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s har nu kontakt med %2\$s";
$a->strings["%1\$s poked %2\$s"] = "%1\$s puffade %2\$s";
-$a->strings["poked"] = "puffade";
-$a->strings["%1\$s is currently %2\$s"] = "%1\$s är för tillfället %2\$s";
+$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s är %2\$s";
$a->strings["Select"] = "Välj";
-$a->strings["Delete"] = "Ta bort";
$a->strings["Private Message"] = "Privat meddelande";
-$a->strings["Message is verified"] = "Meddelandet är bekräftat";
+$a->strings["Message signature validated"] = "Meddelandesignatur bekräftad";
+$a->strings["Message signature incorrect"] = "Meddelandesignatur felaktig";
$a->strings["View %s's profile @ %s"] = "Visa %ss profil på %s";
$a->strings["Categories:"] = "Kategorier:";
$a->strings["Filed under:"] = "Postat under:";
@@ -223,6 +516,7 @@ $a->strings["Delete Selected Items"] = "Ta bort valda poster";
$a->strings["View Source"] = "Visa källa";
$a->strings["Follow Thread"] = "Följ tråd";
$a->strings["View Status"] = "Visa status";
+$a->strings["View Profile"] = "Visa profil";
$a->strings["View Photos"] = "Visa foton";
$a->strings["Matrix Activity"] = "Matrisaktivitet";
$a->strings["Edit Contact"] = "Redigera kontakt";
@@ -245,7 +539,7 @@ $a->strings[", and %d other people"] = array(
);
$a->strings["%s like this."] = "%s gillar det här.";
$a->strings["%s don't like this."] = "%s gillar inte det här.";
-$a->strings["Visible to <strong>everybody</strong>"] = "Synlig för <strong>alla</strong>";
+$a->strings["Visible to <strong>everybody</strong>"] = "Kan ses av <strong>alla</strong>";
$a->strings["Please enter a link URL:"] = "Ange en länkadress:";
$a->strings["Please enter a video link/URL:"] = "Ange en videolänkadress:";
$a->strings["Please enter an audio link/URL:"] = "Ange en ljudlänkadress";
@@ -253,7 +547,6 @@ $a->strings["Tag term:"] = "Tagguttryck";
$a->strings["Save to Folder:"] = "Spara i mapp:";
$a->strings["Where are you right now?"] = "Var är du just nu?";
$a->strings["Expires YYYY-MM-DD HH:MM"] = "Upphör YYYY-MM-DD HH:MM";
-$a->strings["Preview"] = "Förhandsgranska";
$a->strings["Share"] = "Dela";
$a->strings["Page link title"] = "Titel på sidlänk";
$a->strings["Post as"] = "Posta som";
@@ -271,8 +564,8 @@ $a->strings["Set your location"] = "Ange din plats";
$a->strings["set location"] = "ange plats";
$a->strings["Clear browser location"] = "Rensa webbläsarplats";
$a->strings["clear location"] = "rensa plats";
-$a->strings["Set title"] = "Ange titel";
-$a->strings["Categories (comma-separated list)"] = "Kategorier (kommaseparerad lista)";
+$a->strings["Title (optional)"] = "Titel (frivilligt)";
+$a->strings["Categories (optional, comma-separated list)"] = "Kategorier (frivilligt, kommaseparerad lista)";
$a->strings["Permission settings"] = "Behörighetsinställningar";
$a->strings["permissions"] = "behörighet";
$a->strings["Public post"] = "Offentligt inlägg";
@@ -299,22 +592,106 @@ $a->strings["Channel"] = "Kanal";
$a->strings["Status Messages and Posts"] = "Statusmeddelanden och inlägg";
$a->strings["About"] = "Om";
$a->strings["Profile Details"] = "Profildetaljer";
-$a->strings["Photo Albums"] = "Fotoalbum";
+$a->strings["Photos"] = "Foton";
$a->strings["Files and Storage"] = "Filer och lagring";
$a->strings["Chatrooms"] = "Chattrum";
-$a->strings["Events and Calendar"] = "Händelser och kalender";
+$a->strings["Bookmarks"] = "Bokmärken";
$a->strings["Saved Bookmarks"] = "Sparade bokmärken";
+$a->strings["Webpages"] = "Webbsidor";
$a->strings["Manage Webpages"] = "Hantera webbsidor";
+$a->strings["Apps"] = "Appar";
+$a->strings["System"] = "System";
+$a->strings["Create Personal App"] = "Skapa personlig app";
+$a->strings["Edit Personal App"] = "Redigera personlig app";
+$a->strings["Ignore/Hide"] = "Ignorera/göm";
+$a->strings["Suggestions"] = "Förslag";
+$a->strings["See more..."] = "Se fler...";
+$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du har %1$.0f av %2$.0f tillåtna kontakter.";
+$a->strings["Add New Connection"] = "Lägg till ny kontakt";
+$a->strings["Enter the channel address"] = "Ange kanaladressen";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Exempel: bob@example.com, http://example.com/barbara";
+$a->strings["Notes"] = "Anteckningar";
+$a->strings["Remove term"] = "Ta bort uttryck";
+$a->strings["Archives"] = "Arkiv";
+$a->strings["Refresh"] = "Ladda om";
+$a->strings["Me"] = "Mig själv";
+$a->strings["Best Friends"] = "Bästa vänner";
+$a->strings["Co-workers"] = "Kollegor";
+$a->strings["Former Friends"] = "Tidigare vänner";
+$a->strings["Acquaintances"] = "Bekanta";
+$a->strings["Everybody"] = "Alla";
+$a->strings["Account settings"] = "Kontoinställningar";
+$a->strings["Channel settings"] = "Kanalinställningar";
+$a->strings["Additional features"] = "Tilläggsfunktioner";
+$a->strings["Feature settings"] = "Funktionsinställningar";
+$a->strings["Display settings"] = "Utseende";
+$a->strings["Connected apps"] = "Anslutna appar";
+$a->strings["Export channel"] = "Exportera kanal";
+$a->strings["Connection Default Permissions"] = "Standardbehörighet för kontakt";
+$a->strings["Premium Channel Settings"] = "Inställningar för premiumkanal";
+$a->strings["Settings"] = "Inställningar";
+$a->strings["Messages"] = "Meddelanden";
+$a->strings["Check Mail"] = "Hämta meddelanden";
+$a->strings["New Message"] = "Nytt meddelande";
+$a->strings["Chat Rooms"] = "Chattrum";
+$a->strings["Bookmarked Chatrooms"] = "Bokmärkta chattrum";
+$a->strings["Suggested Chatrooms"] = "Föreslagna chattrum";
+$a->strings["photo/image"] = "foto/bild";
+$a->strings["Invalid data packet"] = "Ogiltigt datapaket";
+$a->strings["Unable to verify channel signature"] = "Kunde inte bekräfta kanalsignatur";
+$a->strings["Unable to verify site signature for %s"] = "Kunde inte bekräfta signatur för servern %s";
+$a->strings["Save to Folder"] = "Spara i mapp";
+$a->strings["View all"] = "Visa alla";
+$a->strings["__ctx:noun__ Dislike"] = array(
+ 0 => "ogillar detta",
+ 1 => "ogillar detta",
+);
+$a->strings["Add Star"] = "Märk";
+$a->strings["Remove Star"] = "Ta bort märkning";
+$a->strings["Toggle Star Status"] = "Växla märkning";
+$a->strings["starred"] = "märkt";
+$a->strings["Add Tag"] = "Lägg till en tagg";
+$a->strings["I like this (toggle)"] = "Jag gillar det här (växla)";
+$a->strings["I don't like this (toggle)"] = "Jag gillar inte det här (växla)";
+$a->strings["Share This"] = "Dela det här";
+$a->strings["share"] = "dela";
+$a->strings["%d comment"] = array(
+ 0 => "%d kommentar",
+ 1 => "%d kommentarer",
+);
+$a->strings["View %s's profile - %s"] = "Visa %ss profil - %s";
+$a->strings["to"] = "till";
+$a->strings["via"] = "via";
+$a->strings["Wall-to-Wall"] = "Vägg-till-vägg";
+$a->strings["via Wall-To-Wall:"] = "via vägg-till-vägg";
+$a->strings["Save Bookmarks"] = "Spara bokmärken";
+$a->strings["Add to Calendar"] = "Lägg till kalendern";
+$a->strings["Mark all seen"] = "Märk alla som lästa";
+$a->strings["__ctx:noun__ Likes"] = "gillar detta";
+$a->strings["__ctx:noun__ Dislikes"] = "ogillar detta";
+$a->strings["[+] show all"] = "[+] visa alla";
+$a->strings["This is you"] = "Det här är du";
+$a->strings["Comment"] = "Kommentera";
+$a->strings["Submit"] = "Skicka";
+$a->strings["Bold"] = "Fet";
+$a->strings["Italic"] = "Kursiv";
+$a->strings["Underline"] = "Understruken";
+$a->strings["Quote"] = "Citat";
+$a->strings["Code"] = "Kod";
+$a->strings["Image"] = "Bild";
+$a->strings["Link"] = "Länk";
+$a->strings["Video"] = "Video";
$a->strings["Miscellaneous"] = "Övrigt";
-$a->strings["year"] = "Ã¥r";
-$a->strings["month"] = "månad";
-$a->strings["day"] = "dag";
+$a->strings["YYYY-MM-DD or MM-DD"] = "Ã…Ã…Ã…Ã…-MM-DD eller MM-DD";
$a->strings["never"] = "aldrig";
$a->strings["less than a second ago"] = "mindre än en sekund sedan";
+$a->strings["year"] = "Ã¥r";
$a->strings["years"] = "Ã¥r";
+$a->strings["month"] = "månad";
$a->strings["months"] = "månader";
$a->strings["week"] = "vecka";
$a->strings["weeks"] = "veckor";
+$a->strings["day"] = "dag";
$a->strings["days"] = "dagar";
$a->strings["hour"] = "timme";
$a->strings["hours"] = "timmar";
@@ -323,33 +700,46 @@ $a->strings["minutes"] = "minuter";
$a->strings["second"] = "sekund";
$a->strings["seconds"] = "sekunder";
$a->strings["%1\$d %2\$s ago"] = "%1\$d %2\$s sedan";
-$a->strings["Cannot locate DNS info for database server '%s'"] = "Kan inte hitta DNS-information för databasserver '%s'";
-$a->strings["Image/photo"] = "Bild/foto";
-$a->strings["Encrypted content"] = "Krypterat innehåll";
-$a->strings["QR code"] = "QR-kod";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s skrev följande %2\$s %3\$s";
-$a->strings["post"] = "post";
-$a->strings["$1 wrote:"] = "$1 skrev:";
-$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "En borttagen grupp med det här namnet återskapades. Befintliga rättigheter till saker <strong>kan</strong> gälla för den här gruppen och alla framtida medlemmar. Om det här inte är vad du avsåg, skapa i stället en annan grupp med ett annat namn.";
-$a->strings["Default privacy group for new contacts"] = "Förvald integritetsgrupp för nya kontakter";
-$a->strings["All Channels"] = "Alla kanaler";
-$a->strings["edit"] = "redigera";
-$a->strings["Collections"] = "Sammanhang";
-$a->strings["Edit collection"] = "Redigera sammanhang";
-$a->strings["Create a new collection"] = "Skapa ett nytt sammanhang";
-$a->strings["Channels not in any collection"] = "Kanaler utan sammanhang";
+$a->strings["%1\$s's birthday"] = "%1\$ss födelsedag";
+$a->strings["Happy Birthday %1\$s"] = "Grattis på födelsedagen %1\$s";
+$a->strings["Site Admin"] = "Serveradministrator";
+$a->strings["Address Book"] = "Adressbok";
+$a->strings["Login"] = "Logga in";
+$a->strings["Channel Manager"] = "Kanalhanterare";
+$a->strings["Matrix"] = "Matris";
+$a->strings["Channel Home"] = "Kanalhem";
+$a->strings["Events"] = "Händelser";
+$a->strings["Directory"] = "Katalog";
+$a->strings["Help"] = "Hjälp";
+$a->strings["Mail"] = "Privat meddelande";
+$a->strings["Mood"] = "Sinnesstämning";
+$a->strings["Chat"] = "Chatt";
+$a->strings["Probe"] = "Sond";
+$a->strings["Suggest"] = "Föreslå";
+$a->strings["Random Channel"] = "Slumpvald kanal";
+$a->strings["Invite"] = "Bjud in";
+$a->strings["Features"] = "Funktioner";
+$a->strings["Language"] = "Språk";
+$a->strings["Post"] = "Inlägg";
+$a->strings["Profile Photo"] = "Profilfoto";
+$a->strings["Update"] = "Uppdatera";
+$a->strings["Install"] = "Installera";
+$a->strings["Purchase"] = "Köp";
+$a->strings["New window"] = "Nytt fönster";
+$a->strings["Open the selected location in a different window or browser tab"] = "Öppna den valda platsen i ett annat fönster eller en annan webbläsarflik";
+$a->strings["User '%s' deleted"] = "Användare '%s' borttagen";
$a->strings["Delete this item?"] = "Ta bort den här posten?";
-$a->strings["Comment"] = "Kommentar";
-$a->strings["show more"] = "visa fler";
-$a->strings["show fewer"] = "visa färre";
-$a->strings["+ Show More"] = "+ Visa fler";
-$a->strings["- Show Less"] = "- Visa färre";
+$a->strings["[-] show less"] = "[-] visa färre";
+$a->strings["[+] expand"] = "[+] fäll ut";
+$a->strings["[-] collapse"] = "[-] fäll ihop";
$a->strings["Password too short"] = "Lösenord för kort";
$a->strings["Passwords do not match"] = "Lösenorden stämmer inte överens";
$a->strings["everybody"] = "alla";
$a->strings["Secret Passphrase"] = "Hemligt lösenord";
$a->strings["Passphrase hint"] = "Lösenordsledtråd";
$a->strings["Notice: Permissions have changed but have not yet been submitted."] = "Observera: Rättigheter har ändrats men har ännu inte skickats in";
+$a->strings["close all"] = "stäng alla";
+$a->strings["Nothing new here"] = "Inget nytt här";
$a->strings["timeago.prefixAgo"] = "för";
$a->strings["timeago.prefixFromNow"] = "om";
$a->strings["ago"] = "sedan";
@@ -367,203 +757,6 @@ $a->strings["about a year"] = "ungefär ett år";
$a->strings["%d years"] = "%d år";
$a->strings[" "] = " ";
$a->strings["timeago.numbers"] = "timeago.numbers";
-$a->strings["No recipient provided."] = "Ingen mottagare angiven.";
-$a->strings["[no subject]"] = "[inget ämne]";
-$a->strings["Unable to determine sender."] = "Kunde inte avgöra vem som är avsändare.";
-$a->strings["Stored post could not be verified."] = "Den sparade posten kunde inte verifieras.";
-$a->strings["Profile Photos"] = "Profilfoton";
-$a->strings["Permission denied."] = "Behörighet saknas.";
-$a->strings["Item was not found."] = "Posten hittades inte.";
-$a->strings["No source file."] = "Ingen källfil.";
-$a->strings["Cannot locate file to replace"] = "Kan inte hitta fil att ersätta";
-$a->strings["Cannot locate file to revise/update"] = "Kan inte hitta fil att revidera/uppdatera";
-$a->strings["File exceeds size limit of %d"] = "Filen överskrider storleksbegränsningen %d";
-$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Du har nått begränsningen %1$.0f megabyte utrymme för bilagor.";
-$a->strings["File upload failed. Possible system limit or action terminated."] = "Filuppladdning misslyckades. Möjlig systembegränsning eller avbruten åtgärd.";
-$a->strings["Stored file could not be verified. Upload failed."] = "Den lagrade filen kunde inte verifieras. Uppladdning misslyckad.";
-$a->strings["Path not available."] = "Sökväg inte tillgänglig.";
-$a->strings["Empty pathname"] = "Tom sökväg";
-$a->strings["duplicate filename or path"] = "filnamn eller sökväg finns redan";
-$a->strings["Path not found."] = "Sökväg hittas inte.";
-$a->strings["mkdir failed."] = "mkdir misslyckades.";
-$a->strings["database storage failed."] = "databaslagring misslyckades.";
-$a->strings["%1\$s's bookmarks"] = "%1\$ss bokmärken";
-$a->strings["Visible to everybody"] = "Synlig för alla";
-$a->strings["Show"] = "Visa";
-$a->strings["Don't show"] = "Visa inte";
-$a->strings["Permissions"] = "Behörighet";
-$a->strings["Close"] = "Stäng";
-$a->strings["Unable to obtain identity information from database"] = "Kunde inte hämta från databasen";
-$a->strings["Empty name"] = "Tomt namn";
-$a->strings["Name too long"] = "För långt namn";
-$a->strings["No account identifier"] = "Ingen kontoidentifierare";
-$a->strings["Nickname is required."] = "Smeknamn måste anges.";
-$a->strings["Reserved nickname. Please choose another."] = "Reserverat smeknamn. Välj ett annat.";
-$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Smeknamnet innehåller otillåtna tecken eller är redan upptaget på den här servern.";
-$a->strings["Unable to retrieve created identity"] = "Kunde inte hämta den skapade identiteten";
-$a->strings["Default Profile"] = "Standardprofil";
-$a->strings["Requested channel is not available."] = "Den begärda kanalen är inte tillgänglig";
-$a->strings["Requested profile is not available."] = "Begärd profil är inte tillgänglig.";
-$a->strings["Change profile photo"] = "Bytprofilfoto";
-$a->strings["Profiles"] = "Profiler";
-$a->strings["Manage/edit profiles"] = "Hantera/redigera profiler";
-$a->strings["Create New Profile"] = "Skapa ny profil";
-$a->strings["Edit Profile"] = "Redigera profil";
-$a->strings["Profile Image"] = "Profilbild";
-$a->strings["visible to everybody"] = "synlig för alla";
-$a->strings["Edit visibility"] = "Redigera synlighet";
-$a->strings["Gender:"] = "Kön:";
-$a->strings["Status:"] = "Status:";
-$a->strings["Homepage:"] = "Hemsida:";
-$a->strings["Online Now"] = "Online nu";
-$a->strings["g A l F d"] = "l j F \\k\\l G";
-$a->strings["F d"] = "j F";
-$a->strings["[today]"] = "[i dag]";
-$a->strings["Birthday Reminders"] = "Födelsedagspåminnelser";
-$a->strings["Birthdays this week:"] = "Födelsedagar den här veckan:";
-$a->strings["[No description]"] = "[Ingen beskrivning]";
-$a->strings["Event Reminders"] = "Händelsepåminnelser";
-$a->strings["Events this week:"] = "Händelser den här veckan:";
-$a->strings["Profile"] = "Profil";
-$a->strings["Full Name:"] = "Fullständigt namn:";
-$a->strings["j F, Y"] = "j F Y";
-$a->strings["j F"] = "j F";
-$a->strings["Birthday:"] = "Födelsedag:";
-$a->strings["Age:"] = "Ã…lder:";
-$a->strings["for %1\$d %2\$s"] = "i %1\$d %2\$s";
-$a->strings["Sexual Preference:"] = "Sexuell preferens:";
-$a->strings["Hometown:"] = "Hemort:";
-$a->strings["Tags:"] = "Taggar:";
-$a->strings["Political Views:"] = "Politisk åskådning:";
-$a->strings["Religion:"] = "Religion:";
-$a->strings["About:"] = "Om:";
-$a->strings["Hobbies/Interests:"] = "Fritidssysselsättning/intressen:";
-$a->strings["Likes:"] = "Gillar:";
-$a->strings["Dislikes:"] = "Ogillar:";
-$a->strings["Contact information and Social Networks:"] = "Kontaktinformation och sociala nätverk:";
-$a->strings["My other channels:"] = "Mina andra kanaler:";
-$a->strings["Musical interests:"] = "Musikintressen:";
-$a->strings["Books, literature:"] = "Böcker, litteratur:";
-$a->strings["Television:"] = "Tv:";
-$a->strings["Film/dance/culture/entertainment:"] = "Film/dans/kultur/underhållning:";
-$a->strings["Love/Romance:"] = "Kärlek/romantik:";
-$a->strings["Work/employment:"] = "Arbete/sysselsättning:";
-$a->strings["School/education:"] = "Skola/utbildning:";
-$a->strings["Edit"] = "Redigera";
-$a->strings["save to folder"] = "spara i mapp";
-$a->strings["add star"] = "lägg till märke";
-$a->strings["remove star"] = "ta bort märke";
-$a->strings["toggle star status"] = "växla märke på/av";
-$a->strings["starred"] = "märkt";
-$a->strings["add tag"] = "lägg till tagg";
-$a->strings["I like this (toggle)"] = "Jag gillar det här (växla)";
-$a->strings["like"] = "gilla";
-$a->strings["I don't like this (toggle)"] = "Jag gillar inte det här (växla)";
-$a->strings["dislike"] = "ogilla";
-$a->strings["Share this"] = "Dela det här";
-$a->strings["share"] = "dela";
-$a->strings["View %s's profile - %s"] = "Visa %ss profil - %s";
-$a->strings["to"] = "till";
-$a->strings["via"] = "via";
-$a->strings["Wall-to-Wall"] = "Vägg-till-vägg";
-$a->strings["via Wall-To-Wall:"] = "via vägg-till-vägg";
-$a->strings["Bookmark Links"] = "Bokmärk länkar";
-$a->strings["%d comment"] = array(
- 0 => "%d kommentar",
- 1 => "%d kommentarer",
-);
-$a->strings["This is you"] = "Det här är du";
-$a->strings["Submit"] = "Skicka";
-$a->strings["Bold"] = "Fet";
-$a->strings["Italic"] = "Kursiv";
-$a->strings["Underline"] = "Understruken";
-$a->strings["Quote"] = "Citat";
-$a->strings["Code"] = "Kod";
-$a->strings["Image"] = "Bild";
-$a->strings["Link"] = "Länk";
-$a->strings["Video"] = "Video";
-$a->strings["Edit File properties"] = "Redigera filegenskaper";
-$a->strings["view full size"] = "visa full storlek";
-$a->strings["prev"] = "föregående";
-$a->strings["first"] = "första";
-$a->strings["last"] = "sista";
-$a->strings["next"] = "nästa";
-$a->strings["older"] = "äldre";
-$a->strings["newer"] = "nyare";
-$a->strings["No connections"] = "Inga kontakter";
-$a->strings["%d Connection"] = array(
- 0 => "%d kontakt",
- 1 => "%d kontakter",
-);
-$a->strings["View Connections"] = "Visa kontakter";
-$a->strings["poke"] = "puffa";
-$a->strings["ping"] = "pinga";
-$a->strings["pinged"] = "pingade";
-$a->strings["prod"] = "stöt till";
-$a->strings["prodded"] = "stötte till";
-$a->strings["slap"] = "daska till";
-$a->strings["slapped"] = "daskade till";
-$a->strings["finger"] = "fingra på";
-$a->strings["fingered"] = "fingrade på";
-$a->strings["rebuff"] = "stöt tillbaka";
-$a->strings["rebuffed"] = "stötte tillbaks";
-$a->strings["happy"] = "glad";
-$a->strings["sad"] = "ledsen";
-$a->strings["mellow"] = "lugn";
-$a->strings["tired"] = "trött";
-$a->strings["perky"] = "uppåt";
-$a->strings["angry"] = "arg";
-$a->strings["stupified"] = "virrig";
-$a->strings["puzzled"] = "förbryllad";
-$a->strings["interested"] = "intresserad";
-$a->strings["bitter"] = "bitter";
-$a->strings["cheerful"] = "munter";
-$a->strings["alive"] = "pigg";
-$a->strings["annoyed"] = "irriterad";
-$a->strings["anxious"] = "bekymrad";
-$a->strings["cranky"] = "grinig";
-$a->strings["disturbed"] = "besvärad";
-$a->strings["frustrated"] = "frustrerad";
-$a->strings["motivated"] = "motiverad";
-$a->strings["relaxed"] = "avslappnad";
-$a->strings["surprised"] = "förvånad";
-$a->strings["Monday"] = "måndag";
-$a->strings["Tuesday"] = "tisdag";
-$a->strings["Wednesday"] = "onsdag";
-$a->strings["Thursday"] = "torsdag";
-$a->strings["Friday"] = "fredag";
-$a->strings["Saturday"] = "lördag";
-$a->strings["Sunday"] = "söndag";
-$a->strings["January"] = "januari";
-$a->strings["February"] = "februari";
-$a->strings["March"] = "mars";
-$a->strings["April"] = "april";
-$a->strings["May"] = "maj";
-$a->strings["June"] = "juni";
-$a->strings["July"] = "juli";
-$a->strings["August"] = "augusti";
-$a->strings["September"] = "september";
-$a->strings["October"] = "oktober";
-$a->strings["November"] = "november";
-$a->strings["December"] = "december";
-$a->strings["unknown.???"] = "okänt.???";
-$a->strings["bytes"] = "byte";
-$a->strings["remove category"] = "ta bort kategori";
-$a->strings["remove from file"] = "ta bort från fil";
-$a->strings["Click to open/close"] = "Klicka för att öppna/stänga";
-$a->strings["link to source"] = "länk till källa";
-$a->strings["Select a page layout: "] = "Välj en sidlayout: ";
-$a->strings["default"] = "standard";
-$a->strings["Page content type: "] = "Typ av sidinnehåll: ";
-$a->strings["Select an alternate language"] = "Välj ett alternativt språk";
-$a->strings["activity"] = "aktivitet";
-$a->strings["Design"] = "Design";
-$a->strings["Blocks"] = "Block";
-$a->strings["Menus"] = "Menyer";
-$a->strings["Layouts"] = "Layouter";
-$a->strings["Pages"] = "Sidor";
-$a->strings["created a new post"] = "skapade ett nytt inlägg";
-$a->strings["commented on %s's post"] = "kommenterade %ss inlägg";
$a->strings["Male"] = "Man";
$a->strings["Female"] = "Kvinna";
$a->strings["Currently Male"] = "Just nu man";
@@ -576,7 +769,6 @@ $a->strings["Transsexual"] = "Transsexuell";
$a->strings["Hermaphrodite"] = "Hermafrodit";
$a->strings["Neuter"] = "Könlös";
$a->strings["Non-specific"] = "Ospecificerat";
-$a->strings["Other"] = "Annat";
$a->strings["Undecided"] = "Obestämt";
$a->strings["Males"] = "Män";
$a->strings["Females"] = "Kvinnor";
@@ -621,227 +813,105 @@ $a->strings["Uncertain"] = "Osäkert";
$a->strings["It's complicated"] = "Det är komplicerat";
$a->strings["Don't care"] = "Bryr mig inte";
$a->strings["Ask me"] = "Fråga mig";
-$a->strings["Missing room name"] = "Rumsnamn saknas";
-$a->strings["Duplicate room name"] = "Rumsnamnet finns redan";
-$a->strings["Invalid room specifier."] = "Ogiltig rumsbeskrivning.";
-$a->strings["Room not found."] = "Rummet hittades inte.";
-$a->strings["Room is full"] = "Rummet är fullt";
-$a->strings["Default"] = "Standard";
-$a->strings["Tags"] = "Taggar";
-$a->strings["Keywords"] = "Nyckelord";
-$a->strings["have"] = "har";
-$a->strings["has"] = "har";
-$a->strings["want"] = "vill ha";
-$a->strings["wants"] = "vill ha";
-$a->strings["likes"] = "gillar";
-$a->strings["dislikes"] = "ogillar";
-$a->strings["Logged out."] = "Utloggad.";
-$a->strings["Failed authentication"] = "Autentisering misslyckades";
-$a->strings["Login failed."] = "Inloggning misslyckades.";
-$a->strings["Not a valid email address"] = "Inte en giltig e-postadress";
-$a->strings["Your email domain is not among those allowed on this site"] = "Din e-postdomän är inte bland de som tillåts på den här servern";
-$a->strings["Your email address is already registered at this site."] = "Din e-postadress är redan registrerad på den här servern.";
-$a->strings["An invitation is required."] = "En inbjudan behövs.";
-$a->strings["Invitation could not be verified."] = "Inbjudningen kunde inte bekräftas.";
-$a->strings["Please enter the required information."] = "Ange den begärda informationen.";
-$a->strings["Failed to store account information."] = "Misslyckades att spara kontoinformation.";
-$a->strings["Registration request at %s"] = "Registreringsförfrågan på %s";
-$a->strings["Administrator"] = "Administratör";
-$a->strings["your registration password"] = "ditt registreringslösenord";
-$a->strings["Registration details for %s"] = "Registreringsdetaljer för %s";
-$a->strings["Account approved."] = "Konto godkänt.";
-$a->strings["Registration revoked for %s"] = "Registrering avslagen för %s";
-$a->strings["Sort Options"] = "Sorteringsalternativ";
-$a->strings["Alphabetic"] = "Alfabetisk";
-$a->strings["Reverse Alphabetic"] = "Omvänd alfabetisk";
-$a->strings["Newest to Oldest"] = "Nyast till äldst";
-$a->strings["Enable Safe Search"] = "Aktivera säker sökning";
-$a->strings["Disable Safe Search"] = "Avaktivera säker sökning";
-$a->strings["Safe Mode"] = "Säkert läge";
-$a->strings["Red Matrix Notification"] = "Red Matrix-meddelande";
-$a->strings["redmatrix"] = "redmatrix";
-$a->strings["Thank You,"] = "Tack,";
-$a->strings["%s Administrator"] = "Administratören för %s";
-$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
-$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Meddelande] Nytt meddelande på %s";
-$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s skickade ett nytt privat meddelande till dig på %3\$s.";
-$a->strings["%1\$s sent you %2\$s."] = "%1\$s skickade %2\$s till dig.";
-$a->strings["a private message"] = "ett privat meddelande";
-$a->strings["Please visit %s to view and/or reply to your private messages."] = "Besök %s för att visa och/eller svara på dina privata meddelanden.";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s kommenterade [zrl=%3\$s]ett %4\$s[/zrl]";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s kommenterade [zrl=%3\$s]%4\$ss %5\$s[/zrl]";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s kommenterade [zrl=%3\$s]ditt %4\$s[/zrl]";
-$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Meddelande] Kommentar till konversation #%1\$d av %2\$s";
-$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s kommenterade en sak/konversation du har följt.";
-$a->strings["Please visit %s to view and/or reply to the conversation."] = "Besök %s för att visa och/eller svara på konversationen.";
-$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Meddelande] %s postade till din profilvägg";
-$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s postade till din profilvägg på %3\$s";
-$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s postade till [zrl=%3\$s]din vägg[/zrl]";
-$a->strings["[Red:Notify] %s tagged you"] = "[Red:Meddelande] %s taggade dig";
-$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s taggade dig på %3\$s";
-$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]taggade dig[/zrl].";
-$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Meddelande] %1\$s puffade dig";
-$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s puffade dig på %3\$s";
-$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]puffade dig[/zrl].";
-$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Meddelande] %s taggade ditt inlägg";
-$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s taggade ditt inlägg på %3\$s";
-$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s taggade [zrl=%3\$s]ditt inlägg[/zrl]";
-$a->strings["[Red:Notify] Introduction received"] = "[Red:Meddelande] Presentation mottagen";
-$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, du har fått en ny kontaktförfrågan från '%2\$s' på %3\$s";
-$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, du har fått [zrl=%2\$s]en ny kontaktförfrågan[/zrl] från %3\$s.";
-$a->strings["You may visit their profile at %s"] = "Du kan besöka deras profil på %s";
-$a->strings["Please visit %s to approve or reject the connection request."] = "Besök %s för att bevilja eller avslå kontaktförfrågan.";
-$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Meddelande] Vänförslag mottaget";
-$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, du har fått ett vänförslag från '%2\$s' på %3\$s";
-$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, du har fått [zrl=%2\$s]ett vänförslag[/zrl] angående %3\$s från %4\$s.";
-$a->strings["Name:"] = "Namn:";
-$a->strings["Photo:"] = "Foto:";
-$a->strings["Please visit %s to approve or reject the suggestion."] = "Besök %s för att bevilja eller avslå förslaget.";
-$a->strings["Image exceeds website size limit of %lu bytes"] = "Bild överskrider webbplatsens storleksbegränsning på %lu byte";
-$a->strings["Image file is empty."] = "Bildfil är tom.";
-$a->strings["Unable to process image"] = "Kunde inte bearbeta bild";
-$a->strings["Photo storage failed."] = "Fotolagring misslyckades.";
-$a->strings["Upload New Photos"] = "Ladda upp nya foton";
-$a->strings["%d invitation available"] = array(
- 0 => "%d inbjudan tillgänglig",
- 1 => "%d inbjudningar tillgängliga",
-);
-$a->strings["Advanced"] = "Avancerat";
-$a->strings["Find Channels"] = "Hitta kanaler";
-$a->strings["Enter name or interest"] = "Ange namn eller intresse";
-$a->strings["Connect/Follow"] = "Ta kontakt/följ";
-$a->strings["Examples: Robert Morgenstein, Fishing"] = "Exempel: Robert Morgenstein, Fiske";
-$a->strings["Find"] = "Sök";
-$a->strings["Channel Suggestions"] = "Kanalförslag";
-$a->strings["Random Profile"] = "Slumpvald profil";
-$a->strings["Invite Friends"] = "Bjud in vänner";
-$a->strings["Exammple: name=fred and country=iceland"] = "Exempel: name=fred and country=iceland";
-$a->strings["Advanced Find"] = "Sök avancerat";
-$a->strings["%d connection in common"] = array(
- 0 => "%d gemensam kontakt",
- 1 => "%d gemensamma kontakter",
-);
-$a->strings["New Page"] = "Ny sida";
-$a->strings["Click here to upgrade."] = "Klicka här för att uppgradera.";
-$a->strings["This action exceeds the limits set by your subscription plan."] = "Den här funktionen går utanför vad som anges i ditt avtal.";
-$a->strings["This action is not available under your subscription plan."] = "Den här funktionen är inte tillgänglig med ditt avtal.";
-$a->strings["Permission denied"] = "Behörighet saknas";
-$a->strings["(Unknown)"] = "(Okänt)";
-$a->strings["Item not found."] = "Posten hittades inte.";
-$a->strings["Collection not found."] = "Sammanhanget hittades inte.";
-$a->strings["Collection is empty."] = "Sammanhanget är tomt.";
-$a->strings["Collection: %s"] = "Sammanhang: %s";
-$a->strings["Connection: %s"] = "Kontakt: %s";
-$a->strings["Connection not found."] = "Kontakten hittades inte.";
-$a->strings["Channel is blocked on this site."] = "Kanalen är blockerad på den här servern.";
-$a->strings["Channel location missing."] = "Kanalplats saknas.";
-$a->strings["Response from remote channel was incomplete."] = "Svar från den andra kanalen var ofullständigt.";
-$a->strings["Channel was deleted and no longer exists."] = "Kanalen har tagits bort och finns inte längre.";
-$a->strings["Channel discovery failed."] = "Kanalsökning misslyckades.";
-$a->strings["local account not found."] = "hittade inte lokalt konto.";
-$a->strings["Cannot connect to yourself."] = "Du kan inte kontakta dig själv.";
+$a->strings["Logout"] = "Logga ut";
+$a->strings["End this session"] = "Avsluta sessionen";
+$a->strings["Home"] = "Hem";
+$a->strings["Your posts and conversations"] = "Dina inlägg och konversationer";
+$a->strings["Your profile page"] = "Din profilsida";
+$a->strings["Edit Profiles"] = "Redigera profiler";
+$a->strings["Manage/Edit profiles"] = "Hantera/redigera profiler";
+$a->strings["Edit your profile"] = "Redigera din profil";
+$a->strings["Your photos"] = "Dina foton";
+$a->strings["Your files"] = "Dina filer";
+$a->strings["Your chatrooms"] = "Dina chattrum";
+$a->strings["Your bookmarks"] = "Dina bokmärken";
+$a->strings["Your webpages"] = "Dina webbsidor";
+$a->strings["Sign in"] = "Logga in";
+$a->strings["%s - click to logout"] = "%s - klicka för att logga ut";
+$a->strings["Remote authentication"] = "Fjärrinloggning";
+$a->strings["Click to authenticate to your home hub"] = "Klicka för att autentisera mot din hemmahubb";
+$a->strings["Home Page"] = "Hemsida";
+$a->strings["Register"] = "Skapa konto";
+$a->strings["Create an account"] = "Skapa ett konto";
+$a->strings["Help and documentation"] = "Hjälp och dokumentation";
+$a->strings["Applications, utilities, links, games"] = "Applikationer, verktyg, länkar, spel";
+$a->strings["Search site content"] = "Sök innehåll";
+$a->strings["Channel Directory"] = "Kanalkatalog";
+$a->strings["Your matrix"] = "Din matris";
+$a->strings["Mark all matrix notifications seen"] = "Märk alla matrisnotifieringar som lästa";
+$a->strings["Channel home"] = "Kanalhem";
+$a->strings["Mark all channel notifications seen"] = "Märk alla kanalnotifieringar som lästa";
+$a->strings["Connections"] = "Kontakter";
+$a->strings["Notices"] = "Meddelanden";
+$a->strings["Notifications"] = "Notifieringar";
+$a->strings["See all notifications"] = "Se alla notifieringar";
+$a->strings["Mark all system notifications seen"] = "Märk alla systemnotifieringar som lästa";
+$a->strings["Private mail"] = "Privat meddelande";
+$a->strings["See all private messages"] = "Se alla privata meddelanden";
+$a->strings["Mark all private messages seen"] = "Märk alla privata meddelanden som lästa";
+$a->strings["Inbox"] = "Inkorg";
+$a->strings["Outbox"] = "Utkorg";
+$a->strings["Event Calendar"] = "Kalender";
+$a->strings["See all events"] = "Se alla händelser";
+$a->strings["Mark all events seen"] = "Märk alla händelser som lästa";
+$a->strings["Manage Your Channels"] = "Hantera dina kanaler";
+$a->strings["Account/Channel Settings"] = "Konto-/kanalinställningar";
+$a->strings["Admin"] = "Administration";
+$a->strings["Site Setup and Configuration"] = "Serverinställning och -konfiguration";
+$a->strings["@name, #tag, content"] = "@namn, #tagg, innehåll";
+$a->strings["Please wait..."] = "Vänta...";
$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Formulärets kontrollkod var inte korrekt. Antagligen beror det på att formuläret har varit öppet för länge (> 3 timmar) innan det skickades.";
-$a->strings["Embedded content"] = "Inbäddat innehåll";
-$a->strings["Embedding disabled"] = "Inbäddning inaktiverat";
-$a->strings["Can view my \"public\" stream and posts"] = "Kan se mina \"offentliga\" strömmar och inlägg";
-$a->strings["Can view my \"public\" channel profile"] = "Kan se min \"offentliga\" kanalprofil";
-$a->strings["Can view my \"public\" photo albums"] = "Kan se mina \"offentliga\" fotoalbum";
-$a->strings["Can view my \"public\" address book"] = "Kan se min \"offentliga\" adressbok";
-$a->strings["Can view my \"public\" file storage"] = "Kan se mitt \"offentliga\" filutrymme";
-$a->strings["Can view my \"public\" pages"] = "Kan se mina \"offentliga\" sidor";
-$a->strings["Can send me their channel stream and posts"] = "Kan skicka sina kanalströmmar och inlägg till mig";
-$a->strings["Can post on my channel page (\"wall\")"] = "Kan posta inlägg på min kanalsida (\"vägg\")";
-$a->strings["Can comment on my posts"] = "Kan kommentera mina inlägg";
-$a->strings["Can send me private mail messages"] = "Kan skicka privata meddelanden till mig";
-$a->strings["Can post photos to my photo albums"] = "Kan lägga till foton i mitt fotoalbum";
-$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kan vidarebefordra till alla mina kanalkontakter genom @omnämnanden";
-$a->strings["Advanced - useful for creating group forum channels"] = "Avancerat - användbart för att skapa kanaler för gruppforum";
-$a->strings["Can chat with me (when available)"] = "Kan chatta med mig (när tillgänglig)";
-$a->strings["Can write to my \"public\" file storage"] = "Har skrivrättigheter i mitt \"offentliga\" filutrymme";
-$a->strings["Can edit my \"public\" pages"] = "Kan redigera mina \"offentliga\" sidor";
-$a->strings["Can source my \"public\" posts in derived channels"] = "Kan använda mina \"offentliga\" inlägg i kanaler nedströms";
-$a->strings["Somewhat advanced - very useful in open communities"] = "Ganska avancerat - väldigt användbart i öppna gemenskaper";
-$a->strings["Can send me bookmarks"] = "Kan skicka bokmärken till mig";
-$a->strings["Can administer my channel resources"] = "Kan administrera mina kanalresurser";
-$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Extremt avancerat. Låt detta vara om du inte vet vad du gör";
-$a->strings["Invalid data packet"] = "Ogiltigt datapaket";
-$a->strings["Unable to verify channel signature"] = "Kunde inte bekräfta kanalsignatur";
-$a->strings["Unable to verify site signature for %s"] = "Kunde inte bekräfta signatur för servern %s";
-$a->strings["No channel."] = "Ingen kanal.";
-$a->strings["Common connections"] = "Gemensamma kontakter";
-$a->strings["No connections in common."] = "Inga gemensamma kontakter.";
-$a->strings["Event title and start time are required."] = "Händelsen behöver titel och starttid.";
-$a->strings["l, F j"] = "l, j F";
-$a->strings["Edit event"] = "Redigera händelse";
-$a->strings["Create New Event"] = "Skapa ny händelse";
-$a->strings["Previous"] = "Föregående";
-$a->strings["Next"] = "Nästa";
-$a->strings["hour:minute"] = "timme:minut";
-$a->strings["Event details"] = "Detaljer för händelse";
-$a->strings["Format is %s %s. Starting date and Title are required."] = "Formatet är %s %s. Startdatum och titel behövs.";
-$a->strings["Event Starts:"] = "Händelsen börjar:";
-$a->strings["Required"] = "Behövs";
-$a->strings["Finish date/time is not known or not relevant"] = "Slutdatum/tid är okänt eller inte relevant";
-$a->strings["Event Finishes:"] = "Händelsen slutar:";
-$a->strings["Adjust for viewer timezone"] = "Justera för betraktarens tidszon";
-$a->strings["Description:"] = "Beskrivning:";
-$a->strings["Title:"] = "Titel:";
-$a->strings["Share this event"] = "Dela den här händelsen";
-$a->strings["Thing updated"] = "Föremål uppdaterat";
-$a->strings["Object store: failed"] = "Objektlagring: misslyckades";
-$a->strings["Thing added"] = "Föremål tillagt";
-$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-$a->strings["Show Thing"] = "Visa föremål";
-$a->strings["item not found."] = "föremål hittades inte.";
-$a->strings["Edit Thing"] = "Redigera föremål";
-$a->strings["Select a profile"] = "Välj en profil";
-$a->strings["Select a category of stuff. e.g. I ______ something"] = "Välj en kategori, t.ex. Jag ______ någonting";
-$a->strings["Post an activity"] = "Posta en aktivitet";
-$a->strings["Only sends to viewers of the applicable profile"] = "Skickar bara till de som tittar på den aktuella profilen";
-$a->strings["Name of thing e.g. something"] = "Namn på föremål, t.ex. någonting";
-$a->strings["URL of thing (optional)"] = "URL för föremål (frivilligt)";
-$a->strings["URL for photo of thing (optional)"] = "URL för foto på föremål (frivilligt)";
-$a->strings["Add Thing to your Profile"] = "Lägg till föremål till din profil";
-$a->strings["Total invitation limit exceeded."] = "Gränsen för totalt antal inbjudningar överskriden.";
-$a->strings["%s : Not a valid email address."] = "%s: Inte en giltig e-postadress.";
-$a->strings["Please join us on Red"] = "GÃ¥ med oss i Red";
-$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Inbjudningsgränsen överskriden. Kontakta din serveradministratör.";
-$a->strings["%s : Message delivery failed."] = "%s : Leverans av meddelande misslyckades.";
-$a->strings["%d message sent."] = array(
- 0 => "%d meddelande sänt.",
- 1 => "%d meddelanden sända.",
-);
-$a->strings["You have no more invitations available"] = "Du har inga fler inbjudningar kvar";
-$a->strings["Send invitations"] = "Skicka inbjudan";
-$a->strings["Enter email addresses, one per line:"] = "Ange e-postadresser, en per rad:";
-$a->strings["Your message:"] = "Ditt meddelande:";
-$a->strings["You are cordially invited to join me and some other close friends on the Red Matrix - a revolutionary new decentralised communication and information tool."] = "Du är hjärtligt inbjuden att gå med mig och några andra nära vänner i Red Matrix - ett revolutionärt nytt decentraliserat kommunikations- och informationsverktyg.";
-$a->strings["You will need to supply this invitation code: \$invite_code"] = "Du kommer att behöva ange den här inbjudningskoden: \$invite_code";
-$a->strings["Please visit my channel at"] = "Besök min kanal på";
-$a->strings["Once you have registered (on ANY Red Matrix site - they are all inter-connected), please connect with my Red Matrix channel address:"] = "När du har registrerat dig (på NÅGON Red Matrix-server - alla sitter ihop), så lägg till min Red Matrix-kanaladress:";
-$a->strings["Click the [Register] link on the following page to join."] = "Klicka på [Registrera]-länken på följande sida för att gå med.";
-$a->strings["For more information about the Red Matrix Project and why it has the potential to change the internet as we know it, please visit http://getzot.com"] = "För mer information om Red Matrix-projektet och varför det har potential att förändra Internet som vi känner det, besök http://getzot.com";
-$a->strings["Unable to lookup recipient."] = "Kunde inte hitta mottagare.";
-$a->strings["Unable to communicate with requested channel."] = "Kunde inte kommunicera med den begärda kanalen.";
-$a->strings["Cannot verify requested channel."] = "Kan inte bekräfta den begärda kanalen.";
-$a->strings["Selected channel has private message restrictions. Send failed."] = "Den valda kanalen har restriktioner för privata meddelanden. Misslyckades att skicka.";
-$a->strings["Messages"] = "Meddelanden";
-$a->strings["Message deleted."] = "Meddelande borttaget.";
-$a->strings["Message recalled."] = "Meddelande återkallat.";
-$a->strings["Send Private Message"] = "Skicka privat meddelande.";
-$a->strings["To:"] = "Till:";
-$a->strings["Subject:"] = "Ämne:";
-$a->strings["Message not found."] = "Meddelandet hittades inte.";
-$a->strings["Delete message"] = "Ta bort meddelande";
-$a->strings["Recall message"] = "Ã…terkalla meddelande";
-$a->strings["Message has been recalled."] = "Meddelandet har återkallats.";
-$a->strings["Private Conversation"] = "Privat konversation";
-$a->strings["Delete conversation"] = "Ta bort konversation";
-$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Ingen säker kommunikationskanal tillgänglig. Du kan <strong>möjligtvis</strong> svara från avsändarens profilsida.";
-$a->strings["Send Reply"] = "Skicka svar";
+$a->strings["Set your current mood and tell your friends"] = "Ange din nuvarande sinnesstämning och visa för dina vänner";
+$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximalt antal dagliga serverregistreringar överskridet. Försök igen i morgon.";
+$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Välj huruvida du accepterar användarvillkoren. Registrering misslyckades.";
+$a->strings["Passwords do not match."] = "Lösenorden stämmer inte överens.";
+$a->strings["Registration successful. Please check your email for validation instructions."] = "Registrering lyckades. Kontrollera din e-post för valideringsinstruktioner.";
+$a->strings["Your registration is pending approval by the site owner."] = "Din registrering väntar på att bli godkänd av serverägaren.";
+$a->strings["Your registration can not be processed."] = "Din registrering kan inte behandlas.";
+$a->strings["Registration on this site/hub is by approval only."] = "Registrering på den här servern/hubben måste godkännas.";
+$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Skapa konto på en annan ansluten server/hubb</a>";
+$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Antal dagliga registreringar som tillåts på den här servern har överskridits. Försök igen i morgon.";
+$a->strings["Terms of Service"] = "användarvillkor";
+$a->strings["I accept the %s for this website"] = "Jag accepterar den här webbplatsens %s";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "Jag är över 13 år och accepterar den här webbplatsens %s";
+$a->strings["Registration"] = "Registrering";
+$a->strings["Membership on this site is by invitation only."] = "Medlemskap på den här servern kan endast fås genom inbjudan.";
+$a->strings["Please enter your invitation code"] = "Ange din inbjudningskod";
+$a->strings["Your email address"] = "Din e-postadress";
+$a->strings["Choose a password"] = "Välj ett lösenord";
+$a->strings["Please re-enter your password"] = "Ange lösenordet igen";
+$a->strings["Menu not found."] = "Menyn hittades inte.";
+$a->strings["Menu element updated."] = "Menyval uppdaterat.";
+$a->strings["Unable to update menu element."] = "Kunde inte uppdatera menyval.";
+$a->strings["Menu element added."] = "Menyval tillagt.";
+$a->strings["Unable to add menu element."] = "Kunde inte lägga till menyval.";
+$a->strings["Not found."] = "Hittades inte.";
+$a->strings["Manage Menu Elements"] = "Hantera menyval";
+$a->strings["Edit menu"] = "Redigera meny";
+$a->strings["Edit element"] = "Redigera menyval";
+$a->strings["Drop element"] = "Ta bort menyval";
+$a->strings["New element"] = "Nytt menyval";
+$a->strings["Edit this menu container"] = "Redigera den här menysamlaren";
+$a->strings["Add menu element"] = "Lägg till menyval";
+$a->strings["Delete this menu item"] = "Ta bort det här menyvalet";
+$a->strings["Edit this menu item"] = "Redigera det här menyvalet";
+$a->strings["New Menu Element"] = "Nytt menyval";
+$a->strings["Menu Item Permissions"] = "Behörighet för menyval";
+$a->strings["(click to open/close)"] = "(klicka för att öppna/stänga)";
+$a->strings["Link text"] = "Länktext";
+$a->strings["URL of link"] = "Länkens URL";
+$a->strings["Use RedMatrix magic-auth if available"] = "Använd RedMatrix magic-auth om tillgängligt";
+$a->strings["Open link in new window"] = "Öppna länk i nytt fönster";
+$a->strings["Order in list"] = "Ordningstal i listan";
+$a->strings["Higher numbers will sink to bottom of listing"] = "Större tal sjunker till botten av listan";
+$a->strings["Menu item not found."] = "Menyval hittas inte.";
+$a->strings["Menu item deleted."] = "Menyval borttaget.";
+$a->strings["Menu item could not be deleted."] = "Menyval kunde inte tas bort.";
+$a->strings["Edit Menu Element"] = "Redigera menyval";
+$a->strings["Modify"] = "Ändra";
+$a->strings["Some blurb about what to do when you're new here"] = "Lite text om vad man kan göra som ny här";
$a->strings["Name is required"] = "Namn är obligatoriskt";
$a->strings["Key and Secret are required"] = "Nyckel och kod är obligatoriska";
-$a->strings["Update"] = "Uppdatera";
$a->strings["Passwords do not match. Password unchanged."] = "Lösenorden stämmer inte överens. Lösenordet har inte ändrats.";
$a->strings["Empty passwords are not allowed. Password unchanged."] = "Tomma lösenord tillåts inte. Lösenordet har inte ändrats.";
$a->strings["Password changed."] = "Lösenordet ändrat.";
@@ -851,7 +921,6 @@ $a->strings["Protected email address. Cannot change to that email."] = "Skyddad
$a->strings["System failure storing new email. Please try again."] = "Systemfel när ny e-postadress skulle sparas. Försök igen.";
$a->strings["Settings updated."] = "Inställningar uppdaterade.";
$a->strings["Add application"] = "Lägg till applikation";
-$a->strings["Name"] = "Namn";
$a->strings["Name of application"] = "Applikationens namn";
$a->strings["Consumer Key"] = "Nyckel för konsument";
$a->strings["Automatically generated - change if desired. Max length 20"] = "Automatiskt genererad - ändra om så önskas. Maxlängd 20";
@@ -874,26 +943,36 @@ $a->strings["Confirm:"] = "Bekräfta:";
$a->strings["Leave password fields blank unless changing"] = "Lämna lösenordsfälten blanka om lösenordet inte ska ändras";
$a->strings["Email Address:"] = "E-postadress";
$a->strings["Remove Account"] = "Ta bort konto";
+$a->strings["Remove this account from this server including all its channels"] = "Ta bort det här kontot från servern, inklusive alla dess kanaler";
$a->strings["Warning: This action is permanent and cannot be reversed."] = "Varning: Den här handlingen är permanent och kan inte återställas.";
$a->strings["Off"] = "Av";
$a->strings["On"] = "PÃ¥";
$a->strings["Additional Features"] = "Ytterligare funktioner";
$a->strings["Connector Settings"] = "Anslutningsinställningar";
$a->strings["No special theme for mobile devices"] = "Inget särskilt tema för mobila enheter";
+$a->strings["%s - (Experimental)"] = "%s - (experimentellt)";
+$a->strings["mobile"] = "mobilt";
$a->strings["Display Settings"] = "Utseende";
$a->strings["Display Theme:"] = "Tema för utseende:";
$a->strings["Mobile Theme:"] = "Mobilt tema:";
+$a->strings["Enable user zoom on mobile devices"] = "Tillåt användare att zooma på mobila enheter";
$a->strings["Update browser every xx seconds"] = "Uppdatera webbläsaren var xx sekund";
$a->strings["Minimum of 10 seconds, no maximum"] = "Minst 10 sekunder, inget maximum";
$a->strings["Maximum number of conversations to load at any time:"] = "Högsta antal konversationer att ladda åt gången:";
$a->strings["Maximum of 100 items"] = "Maximalt 100 poster";
$a->strings["Don't show emoticons"] = "Visa inte känsloikoner";
-$a->strings["Do not view remote profiles in frames"] = "Visa inte profiler på andra servrar i ramar";
-$a->strings["By default open in a sub-window of your own site"] = "Som standard öppnas de i ett underfönster på din lokala server";
+$a->strings["Link post titles to source"] = "Länka inläggstitlar till källan";
$a->strings["System Page Layout Editor - (advanced)"] = "Redigera systemets sidlayout (avancerat)";
+$a->strings["Use blog/list mode on channel page"] = "Använd blogg-/listläge på kanalsida";
+$a->strings["(comments displayed separately)"] = "(kommentarer visas separat)";
+$a->strings["Use blog/list mode on matrix page"] = "Använd blogg-/listläge på matrissida";
+$a->strings["Channel page max height of content (in pixels)"] = "Maxhöjd för innehåll på kanalsidor (i pixels)";
+$a->strings["click to expand content exceeding this height"] = "klicka för att fälla ut innehåll som överskrider den här höjden";
+$a->strings["Matrix page max height of content (in pixels)"] = "Maxhöjd för innehåll på matrissidan (i pixels)";
$a->strings["Nobody except yourself"] = "Ingen utom dig själv";
$a->strings["Only those you specifically allow"] = "Endast utvalda";
-$a->strings["Anybody in your address book"] = "Vem som helst i din adressbok";
+$a->strings["Approved connections"] = "Godkända kontakter";
+$a->strings["Any connections"] = "Alla kontakter";
$a->strings["Anybody on this website"] = "Vem som helst på den här servern";
$a->strings["Anybody in this network"] = "Vem som helst i det här nätverket";
$a->strings["Anybody authenticated"] = "Vem som helst som har autentiserat sig";
@@ -910,9 +989,10 @@ $a->strings["Your Timezone:"] = "Din tidszon:";
$a->strings["Default Post Location:"] = "Standardplats:";
$a->strings["Geographical location to display on your posts"] = "Geografisk plats att visa för dina inlägg";
$a->strings["Use Browser Location:"] = "Använd webbläsarens position:";
-$a->strings["Adult Content"] = "Pornografiskt innehåll";
-$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Den här kanalen publicerar ofta eller regelbundet pornografiskt innehåll. (Tagga allt pornografiskt material och/eller nakenhet med #NSFW, tack)";
+$a->strings["Adult Content"] = "Innehåll olämpligt för barn";
+$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Den här kanalen publicerar ofta eller regelbundet innehåll som är olämpligt för barn. (Tagga allt pornografiskt material och/eller nakenhet med #NSFW, tack)";
$a->strings["Security and Privacy Settings"] = "Säkerhets- och integritetsinställningar";
+$a->strings["Your permissions are already configured. Click to view/adjust"] = "Dina behörigheter har redan ställts in. Klicka för att visa/ändra";
$a->strings["Hide my online presence"] = "Visa inte min online-närvaro";
$a->strings["Prevents displaying in your profile that you are online"] = "Förhindrar att det syns i din profil att du är online";
$a->strings["Simple Privacy Settings:"] = "Enkla integritetsinställningar:";
@@ -928,7 +1008,7 @@ $a->strings["0 or blank prevents expiration"] = "0 eller blankt förhindrar upph
$a->strings["Maximum Friend Requests/Day:"] = "Högsta antal vänförfrågningar per dag:";
$a->strings["May reduce spam activity"] = "Kan reducera spamaktivitet";
$a->strings["Default Post Permissions"] = "Standardbehörighet för inlägg";
-$a->strings["(click to open/close)"] = "(klicka för att öppna/stänga)";
+$a->strings["Channel permissions category:"] = "Kanalens behörighetskategori:";
$a->strings["Maximum private messages per day from unknown people:"] = "Högsta antal privata meddelanden per dag från okända personer:";
$a->strings["Useful to reduce spamming"] = "Användbart för att minska skräputskick";
$a->strings["Notification Settings"] = "Notifieringsinställningar";
@@ -936,7 +1016,7 @@ $a->strings["By default post a status message when:"] = "Skicka som standard ett
$a->strings["accepting a friend request"] = "du accepterar en vänförfrågan";
$a->strings["joining a forum/community"] = "du går med i ett forum/en gemenskap";
$a->strings["making an <em>interesting</em> profile change"] = "du gör en <em>intressant</em> ändring av profilen";
-$a->strings["Send a notification email when:"] = "Skicka en notifiering via e-post med när:";
+$a->strings["Send a notification email when:"] = "Skicka en notifiering via e-post när:";
$a->strings["You receive a connection request"] = "Du får en kontaktförfrågan";
$a->strings["Your connections are confirmed"] = "Dina kontakter bekräftas";
$a->strings["Someone writes on your profile wall"] = "Någon skriver på din profilvägg";
@@ -945,299 +1025,60 @@ $a->strings["You receive a private message"] = "Du tar emot ett privat meddeland
$a->strings["You receive a friend suggestion"] = "Du tar emot ett vänförslag";
$a->strings["You are tagged in a post"] = "Du taggas i ett inlägg";
$a->strings["You are poked/prodded/etc. in a post"] = "Du puffas/stöts till/etc. i ett inlägg";
+$a->strings["Show visual notifications including:"] = "Visa visuella notifieringar vid:";
+$a->strings["Unseen matrix activity"] = "Oläst matrisaktivitet";
+$a->strings["Unseen channel activity"] = "Oläst kanalaktivitet";
+$a->strings["Unseen private messages"] = "Olästa privata meddelanden";
+$a->strings["Recommended"] = "Rekommenderas";
+$a->strings["Upcoming events"] = "Kommande händelser";
+$a->strings["Events today"] = "Dagens händelser";
+$a->strings["Upcoming birthdays"] = "Kommande födelsedagar";
+$a->strings["Not available in all themes"] = "Inte tillgänglig i alla teman";
+$a->strings["System (personal) notifications"] = "Systemmeddelanden (personliga)";
+$a->strings["System info messages"] = "Systemmeddelanden";
+$a->strings["System critical alerts"] = "Systemkritiska varningar";
+$a->strings["New connections"] = "Nya kontakter";
+$a->strings["System Registrations"] = "Systemregistreringar";
+$a->strings["Notify me of events this many days in advance"] = "Meddela mig om händelser så här många dagar i förväg";
+$a->strings["Must be greater than 0"] = "Måste vara större än 0";
$a->strings["Advanced Account/Page Type Settings"] = "Avancerade konto-/sidtypsinställningar";
$a->strings["Change the behaviour of this account for special situations"] = "Ändra det här kontots beteende i särskilda situationer";
$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Aktivera expertläge (i <a href=\"settings/features\">Inställningar > Ytterligare funktioner</a>) för att göra ändringar!";
$a->strings["Miscellaneous Settings"] = "Diverse inställningar";
$a->strings["Personal menu to display in your channel pages"] = "Personlig meny att visa i dina kanalsidor";
-$a->strings["Menu updated."] = "Meny uppdaterad.";
-$a->strings["Unable to update menu."] = "Kunde inte uppdatera meny.";
-$a->strings["Menu created."] = "Meny skapad.";
-$a->strings["Unable to create menu."] = "Kunde inte skapa meny.";
-$a->strings["Manage Menus"] = "Hantera menyer";
-$a->strings["Drop"] = "Ta bort";
-$a->strings["Create a new menu"] = "Skapa en ny meny";
-$a->strings["Delete this menu"] = "Ta bort den här menyn";
-$a->strings["Edit menu contents"] = "Redigera menyinnehåll";
-$a->strings["Edit this menu"] = "Redigera den här menyn";
-$a->strings["New Menu"] = "Ny meny";
-$a->strings["Menu name"] = "Menynamn";
-$a->strings["Must be unique, only seen by you"] = "MÃ¥ste vara unikt, ses endast av dig";
-$a->strings["Menu title"] = "Menytitel";
-$a->strings["Menu title as seen by others"] = "Menytitel som andra ser den";
-$a->strings["Allow bookmarks"] = "Tillåt bokmärken";
-$a->strings["Menu may be used to store saved bookmarks"] = "Menyn kan användas för att spara bokmärken";
-$a->strings["Create"] = "Skapa";
-$a->strings["Menu not found."] = "Menyn hittades inte.";
-$a->strings["Menu deleted."] = "Meny borttagen.";
-$a->strings["Menu could not be deleted."] = "Menyn kunde inte tas bort.";
-$a->strings["Edit Menu"] = "Redigera meny";
-$a->strings["Add or remove entries to this menu"] = "Lägg till eller ta bort menyval";
-$a->strings["Modify"] = "Ändra";
-$a->strings["Not found."] = "Hittades inte.";
-$a->strings["View"] = "Visa";
+$a->strings["Remove this channel"] = "Ta bort den här kanalen";
+$a->strings["Collection created."] = "Krets skapad.";
+$a->strings["Could not create collection."] = "Kunde inte skapa krets.";
+$a->strings["Collection updated."] = "Kretsen uppdaterad.";
+$a->strings["Create a collection of channels."] = "Skapa en krets av kanaler.";
+$a->strings["Collection Name: "] = "Namn på krets: ";
+$a->strings["Members are visible to other channels"] = "Medlemmar kan ses av andra kanaler";
+$a->strings["Collection removed."] = "Krets borttagen.";
+$a->strings["Unable to remove collection."] = "Kunde inte ta bort krets.";
+$a->strings["Collection Editor"] = "Redigera krets";
+$a->strings["Members"] = "Medlemmar";
+$a->strings["All Connected Channels"] = "Alla anslutna kanaler";
+$a->strings["Click on a channel to add or remove."] = "Klicka på en kanal för att lägga till eller ta bort.";
+$a->strings["Public access denied."] = "Offentlig behörighet saknas.";
+$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s följer %2\$ss %3\$s";
+$a->strings["Poke/Prod"] = "Puffa/stöt till";
+$a->strings["poke, prod or do other things to somebody"] = "puffa, stöt till eller gör andra saker mot någon";
+$a->strings["Recipient"] = "Mottagare";
+$a->strings["Choose what you wish to do to recipient"] = "Välj vad du önskar göra med mottagaren";
+$a->strings["Make this post private"] = "Gör det här inlägget privat";
$a->strings["Authorize application connection"] = "Tillåt anslutning av applikation";
$a->strings["Return to your app and insert this Securty Code:"] = "Återgå till din applikation och ange den här säkerhetskoden:";
$a->strings["Please login to continue."] = "Logga in för att fortsätta.";
$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vill du låta den här applikationen få tillgång till dina inlägg och kontakter, och/eller skapa nya inlägg åt dig?";
-$a->strings["No installed applications."] = "Inga installerade applikationer";
-$a->strings["Applications"] = "Applikationer";
-$a->strings["Item not found"] = "Posten hittas inte";
-$a->strings["Item is not editable"] = "Posten går ej att redigera";
-$a->strings["Edit post"] = "Redigera inlägg";
-$a->strings["Delete item?"] = "Ta bort posten?";
-$a->strings["Insert YouTube video"] = "Infoga Youtube-video";
-$a->strings["Insert Vorbis [.ogg] video"] = "Infoga Vorbis [.ogg]-video";
-$a->strings["Insert Vorbis [.ogg] audio"] = "Infoga Vorbis [.ogg]-ljud";
-$a->strings["Red Matrix - Guests: Username: {your email address}, Password: +++"] = "Red Matrix - Gäster: Användarnamn: {din e-postadress}, Lösenord: +++";
-$a->strings["Bookmark added"] = "Bokmärke tillagt";
-$a->strings["My Bookmarks"] = "Mina bokmärken";
-$a->strings["My Connections Bookmarks"] = "Mina kontakters bokmärken";
-$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s följer %2\$ss %3\$s";
-$a->strings["[Embedded content - reload page to view]"] = "[Inbäddat innehåll - ladda om sidan för att visa]";
-$a->strings["Channel not found."] = "Kanalen hittas inte.";
-$a->strings["toggle full screen mode"] = "växla helskärmsläge";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s taggade%2\$ss %3\$s med %4\$s";
-$a->strings["network"] = "nätverk";
-$a->strings["Public access denied."] = "Offentlig behörighet saknas.";
-$a->strings["No connections."] = "Inga kontakter.";
-$a->strings["Visit %s's profile [%s]"] = "Besök %ss profil [%s]";
-$a->strings["View Connnections"] = "Visa kontakter";
-$a->strings["Tag removed"] = "Tagg borttagen";
-$a->strings["Remove Item Tag"] = "Ta bort innehållstagg";
-$a->strings["Select a tag to remove: "] = "Välj en tagg att ta bort: ";
-$a->strings["Remove"] = "Ta bort";
-$a->strings["Continue"] = "Fortsätt";
-$a->strings["Premium Channel Setup"] = "Inställning av premiumkanal";
-$a->strings["Enable premium channel connection restrictions"] = "Aktivera kontaktrestriktioner för premiumkanal";
-$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Ange dina restriktioner och villkor, som Paypal-kvitto, användarriktlinjer, etc.";
-$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Den här kanalen kan kräva ytterligare steg eller godkännande av följande villkor innan anslutning:";
-$a->strings["Potential connections will then see the following text before proceeding:"] = "Potentiella kontakter kommer sedan att se följande text innan de går vidare:";
-$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Genom att fortsätta intygar jag att jag har följt alla instruktioner som ges på den här sidan.";
-$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Inga specifika instruktioner har givits av kanalägaren.)";
-$a->strings["Restricted or Premium Channel"] = "Begränsad kanal eller premiumkanal";
-$a->strings["No potential page delegates located."] = "Inga potentiella sid-ombud funna.";
-$a->strings["Delegate Page Management"] = "Delegera sidhantering";
-$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Ombud kan hantera alla aspekter av det här kontot/den här sidan förutom grundläggande kontoinställningar. Delegera inte ditt personliga konto till någon som du inte litar fullständigt på.";
-$a->strings["Existing Page Managers"] = "Befintliga sid-ansvariga";
-$a->strings["Existing Page Delegates"] = "Befintliga sid-ombud";
-$a->strings["Potential Delegates"] = "Potentiella ombud";
-$a->strings["Add"] = "Lägg till";
-$a->strings["No entries."] = "Inga poster.";
-$a->strings["Layout updated."] = "Layout uppdaterad.";
-$a->strings["Edit System Page Description"] = "Redigera systemsidbeskrivning";
-$a->strings["Layout not found."] = "Layout hittas inte.";
-$a->strings["Module Name:"] = "Modulnamn:";
-$a->strings["Layout Help"] = "Layouthjälp";
-$a->strings["Item not available."] = "Post inte tillgänglig.";
-$a->strings["Unable to locate original post."] = "Kunde inte hitta originalinlägget.";
-$a->strings["Empty post discarded."] = "Tomt inlägg förkastat.";
-$a->strings["Executable content type not permitted to this channel."] = "Körbart innehåll tillåts inte i den här kanalen.";
-$a->strings["System error. Post not saved."] = "Systemfel. Inlägget inte sparat.";
-$a->strings["You have reached your limit of %1$.0f top level posts."] = "Du har nått din gräns på %1$.0f toppnivåinlägg.";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "Du har nått din gräns på %1$.0f webbsidor.";
-$a->strings["Menu element updated."] = "Menyval uppdaterat.";
-$a->strings["Unable to update menu element."] = "Kunde inte uppdatera menyval.";
-$a->strings["Menu element added."] = "Menyval tillagt.";
-$a->strings["Unable to add menu element."] = "Kunde inte lägga till menyval.";
-$a->strings["Manage Menu Elements"] = "Hantera menyval";
-$a->strings["Edit menu"] = "Redigera meny";
-$a->strings["Edit element"] = "Redigera menyval";
-$a->strings["Drop element"] = "Ta bort menyval";
-$a->strings["New element"] = "Nytt menyval";
-$a->strings["Edit this menu container"] = "Redigera den här menysamlaren";
-$a->strings["Add menu element"] = "Lägg till menyval";
-$a->strings["Delete this menu item"] = "Ta bort det här menyvalet";
-$a->strings["Edit this menu item"] = "Redigera det här menyvalet";
-$a->strings["New Menu Element"] = "Nytt menyval";
-$a->strings["Menu Item Permissions"] = "Behörighet för menyval";
-$a->strings["Link text"] = "Länktext";
-$a->strings["URL of link"] = "Länkens URL";
-$a->strings["Use Red magic-auth if available"] = "Använd Red magic-auth om tillgängligt";
-$a->strings["Open link in new window"] = "Öppna länk i nytt fönster";
-$a->strings["Order in list"] = "Ordningstal i listan";
-$a->strings["Higher numbers will sink to bottom of listing"] = "Större tal sjunker till botten av listan";
-$a->strings["Menu item not found."] = "Menyval hittas inte.";
-$a->strings["Menu item deleted."] = "Menyval borttaget.";
-$a->strings["Menu item could not be deleted."] = "Menyval kunde inte tas bort.";
-$a->strings["Edit Menu Element"] = "Redigera menyval";
-$a->strings["invalid target signature"] = "ogiltig målsignatur";
-$a->strings["Invalid profile identifier."] = "Ogiltigt profil-ID.";
-$a->strings["Profile Visibility Editor"] = "Redigera profilsynlighet";
-$a->strings["Click on a contact to add or remove."] = "Klicka på en kontakt för att lägga till eller ta bort.";
-$a->strings["Visible To"] = "Synlig för";
-$a->strings["All Connections"] = "Alla kontakter";
-$a->strings["Collection created."] = "Sammanhang skapat";
-$a->strings["Could not create collection."] = "Kunde inte skapa sammanhanget.";
-$a->strings["Collection updated."] = "Sammanhanget uppdatarat.";
-$a->strings["Create a collection of channels."] = "Skapa ett sammanhang av kanaler.";
-$a->strings["Collection Name: "] = "Namn på sammanhang: ";
-$a->strings["Members are visible to other channels"] = "Medlemmar är synliga för andra kanaler";
-$a->strings["Collection removed."] = "Sammanhang borttaget.";
-$a->strings["Unable to remove collection."] = "Kunde inte ta bort sammanhang.";
-$a->strings["Collection Editor"] = "Sammanhangsredigering";
-$a->strings["Members"] = "Medlemmar";
-$a->strings["All Connected Channels"] = "Alla anslutna kanaler";
-$a->strings["Click on a channel to add or remove."] = "Klicka på en kanal för att lägga till eller ta bort.";
-$a->strings["Theme settings updated."] = "Temainställningar uppdaterade.";
-$a->strings["Site"] = "Server";
-$a->strings["Accounts"] = "Konton";
-$a->strings["Channels"] = "Kanaler";
-$a->strings["Plugins"] = "Tillägg";
-$a->strings["Themes"] = "Teman";
-$a->strings["Server"] = "Server";
-$a->strings["DB updates"] = "Databasuppdateringar";
-$a->strings["Logs"] = "Loggar";
-$a->strings["Plugin Features"] = "Tilläggsfunktioner";
-$a->strings["User registrations waiting for confirmation"] = "Användarregistreringar som behöver bekräftas";
-$a->strings["Message queues"] = "Meddelandeköer";
-$a->strings["Administration"] = "Administration";
-$a->strings["Summary"] = "Sammanfattning";
-$a->strings["Registered users"] = "Registrerade användare";
-$a->strings["Pending registrations"] = "Pågående registreringar";
-$a->strings["Version"] = "Version";
-$a->strings["Active plugins"] = "Aktiva tillägg";
-$a->strings["Site settings updated."] = "Serverinställningar uppdaterade.";
-$a->strings["No special theme for accessibility"] = "Inget speciellt tema för tillgänglighet";
-$a->strings["Closed"] = "Stängd";
-$a->strings["Requires approval"] = "Kräver godkännande";
-$a->strings["Open"] = "Öppen";
-$a->strings["Private"] = "Privat";
-$a->strings["Paid Access"] = "Betald åtkomst";
-$a->strings["Free Access"] = "Fri åtkomst";
-$a->strings["Tiered Access"] = "Uppdelad åtkomst";
-$a->strings["Registration"] = "Registrering";
-$a->strings["File upload"] = "Filuppladdning";
-$a->strings["Policies"] = "Policyer";
-$a->strings["Site name"] = "Servernamn";
-$a->strings["Banner/Logo"] = "Banner/logga";
-$a->strings["Administrator Information"] = "Administratörsinformation";
-$a->strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Kontaktinfo till sidadministratörer. Visas på sidinfosidan. BBCode kan användas här";
-$a->strings["System language"] = "Systemspråk";
-$a->strings["System theme"] = "Systemtema";
-$a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Förvalt systemtema - kan åsidosättas i användarprofiler - <a href='#' id='cnftheme'>ändra temainställningar</a>";
-$a->strings["Mobile system theme"] = "Mobilt systemtema";
-$a->strings["Theme for mobile devices"] = "Tema för mobila enheter";
-$a->strings["Accessibility system theme"] = "Systemtema för ökad tillgänglighet";
-$a->strings["Accessibility theme"] = "Tillgänglighetstema";
-$a->strings["Channel to use for this website's static pages"] = "Kanal att använda för den här webbplatsens statiska sidor";
-$a->strings["Site Channel"] = "Sidkanal";
-$a->strings["Maximum image size"] = "Maximal bildstorlek";
-$a->strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maximal storlek i byte för uppladdade bilder. Standard är 0, vilket innebär ingen storleksbegränsning.";
-$a->strings["Register policy"] = "Registreringspolicy";
-$a->strings["Access policy"] = "Ã…tkomstpolicy";
-$a->strings["Register text"] = "Registreringstext";
-$a->strings["Will be displayed prominently on the registration page."] = "Visas tydligt på registreringssidan.";
-$a->strings["Accounts abandoned after x days"] = "Konto övergivet efter x dagar";
-$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Slösar inte systemresurser genom att fråga externa servrar efter övergivna konton. 0 innebär ingen tidsbegränsning.";
-$a->strings["Allowed friend domains"] = "Tillåtna vändomäner";
-$a->strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Kommaseparerad lista med domäner som tillåts att upprätta ett vänförhållande med den här servern. Jokertecken är tillåtna. Töm för att tillåta alla domäner.";
-$a->strings["Allowed email domains"] = "Tillåtna e-postdomäner";
-$a->strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Kommaseparerad lista med domäner som tillåts i e-postadresser för registreringar på den här servern. Jokertecken är tillåtna. Töm för att tillåta alla domäner.";
-$a->strings["Block public"] = "Blockera offentlig åtkomst";
-$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Välj för att blockera åtkomst till alla personliga sidor som annars skulle vara offentliga på den här servern om man inte är inloggad.";
-$a->strings["Force publish"] = "Tvinga publicering";
-$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Välj för att tvinga alla profiler på den här servern att listas i serverkatalogen.";
-$a->strings["Disable discovery tab"] = "Inaktivera upptäck-fliken";
-$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Ta bort fliken i nätverksvyn med offentligt innehåll som hämtas från källor valda för den här servern.";
-$a->strings["No login on Homepage"] = "Ingen inloggning på hemsidan";
-$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Välj för att gömma inloggningsformuläret från serverns hemsida för oinloggade besökare (t.ex. när du lägger in hemsideinnehållet via serverkanalen).";
-$a->strings["Proxy user"] = "Proxyanvändare";
-$a->strings["Proxy URL"] = "Proxy-URL";
-$a->strings["Network timeout"] = "Nätverkstimeout";
-$a->strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Värde i sekunder. Sätt till 0 för obegränsat (ej rekommenderat).";
-$a->strings["Delivery interval"] = "Leveransintervall";
-$a->strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Fördröj leveransprocesser som görs i bakgrunden så här många sekunder för att reducera systembelastningen. Rekommenderat: 4-5 för delade värdar, 2-3 för virtuella privata servrar. 0-1 för stora dedikerade servrar.";
-$a->strings["Poll interval"] = "Hämtningsintervall";
-$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Fördröj hämtningsprocesser som görs i bakgrunden så här många sekunder för att reducera systembelastningen. Om 0 används leveransintervallet.";
-$a->strings["Maximum Load Average"] = "Maximal genomsnittsbelastning";
-$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximal systembelastning innan leverans- och hämtningsprocesser skjuts upp - standard är 50.";
-$a->strings["No server found"] = "Ingen server hittad";
-$a->strings["ID"] = "ID";
-$a->strings["for channel"] = "för kanal";
-$a->strings["on server"] = "på server";
-$a->strings["Status"] = "Status";
-$a->strings["Update has been marked successful"] = "Uppdatering har markerats som genomförd";
-$a->strings["Executing %s failed. Check system logs."] = "Körning av %s misslyckades. Kontrollera systemloggarna.";
-$a->strings["Update %s was successfully applied."] = "Uppdatering %s genomfördes utan problem.";
-$a->strings["Update %s did not return a status. Unknown if it succeeded."] = "Uppdatering %s returnerade ingen status. Oklart om den lyckades.";
-$a->strings["Update function %s could not be found."] = "Uppdateringsfunktion %s kunde inte hittas.";
-$a->strings["No failed updates."] = "Inga misslyckade uppdateringar.";
-$a->strings["Failed Updates"] = "Misslyckade uppdateringar";
-$a->strings["Mark success (if update was manually applied)"] = "Markera som genomförd (om uppdateringen gjordes manuellt)";
-$a->strings["Attempt to execute this update step automatically"] = "Försök att köra den här uppdateringen automatiskt";
-$a->strings["%s user blocked/unblocked"] = array(
- 0 => "%s användare blockerad/avblockerad",
- 1 => "%s användare blockerade/avblockerade",
-);
-$a->strings["%s user deleted"] = array(
- 0 => "%s användare borttagen",
- 1 => "%s användare borttagna",
-);
-$a->strings["Account not found"] = "Konto hittas inte";
-$a->strings["User '%s' deleted"] = "Användare '%s' borttagen";
-$a->strings["User '%s' unblocked"] = "Användare '%s' avblockerad";
-$a->strings["User '%s' blocked"] = "Användare '%s' blockerad";
-$a->strings["Users"] = "Användare";
-$a->strings["select all"] = "välj alla";
-$a->strings["User registrations waiting for confirm"] = "Användarregistreringar som inväntar bekräftelse";
-$a->strings["Request date"] = "Ansökningsdatum";
-$a->strings["No registrations."] = "Inga registreringar.";
-$a->strings["Approve"] = "Godkänn";
-$a->strings["Deny"] = "Avslå";
-$a->strings["Block"] = "Blockera";
-$a->strings["Unblock"] = "Avblockera";
-$a->strings["Register date"] = "Registreringsdatum";
-$a->strings["Last login"] = "Senaste inloggning";
-$a->strings["Expires"] = "Upphör att gälla";
-$a->strings["Service Class"] = "Tjänsteklass";
-$a->strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Valda användare kommer att tas bort!\\n\\nAllt dessa användare har postat på den här servern kommer att raderas permanent!\\n\\nÄr du säker?";
-$a->strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Användaren {0} kommer att tas bort!\\n\\nAllt den här användaren har postat på den här servern kommer att raderas permanent!\\n\\nÄr du säker?";
-$a->strings["%s channel censored/uncensored"] = array(
- 0 => "%s kanal censurerad/avcensurerad",
- 1 => "%s kanaler censurerade/avcensurerade",
-);
-$a->strings["%s channel deleted"] = array(
- 0 => "%s kanal borttagen",
- 1 => "%s kanaler borttagna",
-);
-$a->strings["Channel not found"] = "Kanal hittas inte";
-$a->strings["Channel '%s' deleted"] = "Kanalen '%s' togs bort";
-$a->strings["Channel '%s' uncensored"] = "Kanal '%s' avcensurerad";
-$a->strings["Channel '%s' censored"] = "Kanal '%s' censurerad";
-$a->strings["Censor"] = "Censurera";
-$a->strings["Uncensor"] = "Avcensurera";
-$a->strings["UID"] = "UID";
-$a->strings["Address"] = "Adress";
-$a->strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Valda kanaler kommer att tas bort!\\n\\nAllt som har postats i de kanalerna på den här servern kommer att raderas permanent!\\n\\nÄr du säker?";
-$a->strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Kanalen {0} kommer att tas bort!\\n\\nAllt som har postats i den här kanalen på den här servern kommer att raderas permanent!\\n\\nÄr du säker?";
-$a->strings["Plugin %s disabled."] = "Tillägg %s inaktiverat.";
-$a->strings["Plugin %s enabled."] = "Tillägg %s aktiverat.";
-$a->strings["Disable"] = "Inaktivera";
-$a->strings["Enable"] = "Aktivera";
-$a->strings["Toggle"] = "Växla";
-$a->strings["Author: "] = "Författare:";
-$a->strings["Maintainer: "] = "Underhållare:";
-$a->strings["No themes found."] = "Inga teman funna.";
-$a->strings["Screenshot"] = "Skärmdump";
-$a->strings["[Experimental]"] = "[Experimentellt]";
-$a->strings["[Unsupported]"] = "[Utan support]";
-$a->strings["Log settings updated."] = "Logginställningar uppdaterade.";
-$a->strings["Clear"] = "Rensa";
-$a->strings["Debugging"] = "Avlusning";
-$a->strings["Log file"] = "Loggfil";
-$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "Måste vara skrivbar för webbservern. Anges relativt Reds toppkatalog.";
-$a->strings["Log level"] = "Loggnivå";
-$a->strings["- select -"] = "- välj -";
-$a->strings["Welcome to %s"] = "Välkommen till %s";
$a->strings["Red Matrix Server - Setup"] = "Red Matrix-server - inställningar";
$a->strings["Could not connect to database."] = "Kunde inte ansluta till databasen.";
$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Kunde inte ansluta till den angivna server-URL:en. Möjligt problem med SSL-certifikat eller DNS.";
$a->strings["Could not create table."] = "Kunde inte skapa tabell.";
$a->strings["Your site database has been installed."] = "Din serverdatabas har installerats.";
-$a->strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "Du kan behöva importera filen \"install/database.sql\" manuellt med phpmyadmin eller mysql.";
+$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Du kan behöva importera filen \"install/schema_xxx.sql\" manuellt med en databasklient.";
$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Se filen \"install/INSTALL.txt\".";
$a->strings["System check"] = "Systemkontroll";
+$a->strings["Next"] = "Nästa";
$a->strings["Check again"] = "Kontrollera igen";
$a->strings["Database connection"] = "Databasanslutning";
$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "För att kunna installera Red Matrix behöver vi veta hur databasen ska anslutas.";
@@ -1250,6 +1091,7 @@ $a->strings["Communication port number - use 0 for default"] = "Kommunikationspo
$a->strings["Database Login Name"] = "Loginnamn till databas";
$a->strings["Database Login Password"] = "Lösenord till databas";
$a->strings["Database Name"] = "Databasnamn";
+$a->strings["Database Type"] = "Databastyp";
$a->strings["Site administrator email address"] = "Serveradministratörens e-postadress";
$a->strings["Your account email address must match this in order to use the web admin panel."] = "Ditt kontos e-postadress måste stämma med den här för att webbgränssnittet för administration ska kunna användas.";
$a->strings["Website URL"] = "Webbplatsens URL";
@@ -1270,7 +1112,7 @@ $a->strings["Generate encryption keys"] = "Generera kryptonycklar";
$a->strings["libCurl PHP module"] = "PHP-modulen libCurl";
$a->strings["GD graphics PHP module"] = "PHP-modulen GD graphics";
$a->strings["OpenSSL PHP module"] = "PHP-modulen OpenSSL";
-$a->strings["mysqli PHP module"] = "PHP-modulen mysqli";
+$a->strings["mysqli or postgres PHP module"] = "PHP-modulen mysqli eller postgres";
$a->strings["mb_string PHP module"] = "PHP-modulen mb_string";
$a->strings["mcrypt PHP module"] = "PHP-modulen mcrypt";
$a->strings["Apache mod_rewrite module"] = "Apache-modulen mod_rewrite";
@@ -1280,46 +1122,194 @@ $a->strings["Error: proc_open is required but is either not installed or has bee
$a->strings["Error: libCURL PHP module required but not installed."] = "Fel: PHP-modulen libCURL krävs men är inte installerad.";
$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Fel: PHP-modulen GD graphics med JPEG-stöd krävs men är inte installerad.";
$a->strings["Error: openssl PHP module required but not installed."] = "Fel: PHP-modulen openssl krävs men är inte installerad.";
-$a->strings["Error: mysqli PHP module required but not installed."] = "Fel: PHP-modulen mysqli krävs men är inte installerad.";
+$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Fel: en av PHP-modulerna mysqli eller postgres krävs men är inte installerad.";
$a->strings["Error: mb_string PHP module required but not installed."] = "Fel: PHP-modulen mb_string krävs men är inte installerad.";
$a->strings["Error: mcrypt PHP module required but not installed."] = "Fel: PHP-modulen mcrypt krävs men är inte installerad.";
-$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "Webbinstallationen måste kunna skapa filen \".htconfig.php\" i toppkatalogen på din webbserver men kan inte göra det.";
+$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "Webbinstallationen måste kunna skapa filen \".htconfig.php\" i toppkatalogen på din webbserver men kan inte göra det.";
$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Det är ofta en behörighetsinställning som gör att webbservern inte kan skriva filer i din katalog - även om du kan.";
$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Efter den här proceduren kommer vi att ge dig en text att spara i filen .htconfig.php i Reds toppkatalog.";
$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativt kan du hoppa över den här proceduren och göra en manuell installation. För instruktioner, se filen \"install/INSTALL.txt\".";
$a->strings[".htconfig.php is writable"] = ".htconfig.php är skrivbar";
$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red använder mallmotorn Smarty3 för att rendera webbvyerna. Smarty3 kompilerar mallar till PHP för att snabba upp renderingen.";
-$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory view/tpl/smarty3/ under the Red top level folder."] = "För att kunna spara de här kompilerade mallarna behöver webbservern ha skrivrättigheter i katalogen view/tpl/smarty3/ under Reds toppkatalog.";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "För att spara de här kompilerade mallarna behöver webbservern ha skrivrättigheter till katalogen %s under Reds toppkatalog.";
$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Försäkra dig om att användaren som din webbserver kör som (t.ex. www-data) har skrivrättigheter till den här katalogen.";
-$a->strings["Note: as a security measure, you should give the web server write access to view/tpl/smarty3/ only--not the template files (.tpl) that it contains."] = "Observera: som en säkerhetsåtgärd bör du ge webbservern skrivrättigheter endast till view/tpl/smarty3 - inte till mallfilerna (.tpl) som den innehåller.";
-$a->strings["view/tpl/smarty3 is writable"] = "view/tpl/smarty3 är skrivbar";
+$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Observera: som en säkerhetsåtgärd bör du ge webbservern skrivrättighet endast för %s - inte för mallfilerna (.tpl) som finns där.";
+$a->strings["%s is writable"] = "%s är skrivbar";
$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red använder katalogen store för att spara uppladdade filer. Webbservern behöver ha skrivrättigheter till katalogen store under Reds toppkatalog.";
$a->strings["store is writable"] = "store är skrivbar";
$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "SSL-certifikatet kan inte valideras. Fixa certifikatet eller inaktivera https-åtkomst till den här servern.";
-$a->strings["If you use https access, you MUST use a certification instance known by all internet browsers. You MUST NOT use self-signed certificates!"] = "Om du använder https-åtkomst MÅSTE du använda ett certifikat som känns igen av alla webbläsare. Du FÅR INTE använda självsignerade certifikat!";
-$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub. If your"] = "Den här restriktionen finns för att offentliga inlägg från dig till exempel kan innehålla referenser till bilder på din egen hubb. Om ditt";
-$a->strings["certificate is not known by the internet browser of users they get a warning message complaining about some security issues. Although"] = "certifikat inte känns igen av användares webbläsare får de ett varningsmeddelande om säkerhetsproblem. Även om";
-$a->strings["these complains are not the real truth - there are no security issues with your encryption! - the users may be confused, nerved or even"] = "de här varningarna inte är helt sanna - det är inga säkerhetsproblem med din kryptering! - så kan användare bli förvirrade, nervösa eller";
-$a->strings["worse may become scared about redmatrix having security issues. Use one of the free certification instances!"] = "ännu värre, bli skrämda att redmatrix skulle ha säkerhetsproblem. Använd en av utfärdarna av gratis certifikat.";
+$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Om du har https-åtkomst till din webbplats eller tillåter anslutningar till TCP-port 443 (https-porten) MÅSTE du använda ett certifikat som kan verifieras av webbläsare. Du FÅR INTE använda självsignerade certifikat!";
+$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Restriktionen finns eftersom offentliga inlägg från dig kan innehålla till exempel referenser till bilder på din egen hubb.";
+$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Om ditt certifikat inte känns igen kommer medlemmar på andra webbplatser (som själv kan ha giltiga certifikat) att få en varning på sin egen webbplats om säkerhetsproblem.";
+$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Detta kan orsaka problem med användbarheten (inte bara på din egen server) så vi måste trycka på det här kravet.";
+$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Det finns leverantörer som utfärdar gratis certifikat som känns igen av webbläsare.";
$a->strings["SSL certificate validation"] = "SSL-certifikatvalidering";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "URL rewrite i .htaccess fungerar inte. Kontrollera din serverkonfiguration.";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Url rewrite i .htaccess fungerar inte. Kolla din serverkonfiguration. Test: ";
$a->strings["Url rewrite is working"] = "URL rewrite fungerar";
$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Databaskonfigurationsfilen \".htconfig.php\" kunde inte skrivas. Använd den bifogade texten för att skapa en konfigurationsfil i din webbservers rot.";
$a->strings["Errors encountered creating database tables."] = "Fel inträffade när databastabeller skulle skapas.";
$a->strings["<h1>What next</h1>"] = "<h1>Nästa steg</h1>";
$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "VIKTIGT: Du behöver ställa in en schemalagd för hämtningsrutinen [manuellt]";
-$a->strings["Age: "] = "Ã…lder:";
-$a->strings["Gender: "] = "Kön:";
-$a->strings["Finding:"] = "Sökning efter:";
-$a->strings["next page"] = "nästa sida";
-$a->strings["previous page"] = "föregående sida";
-$a->strings["No entries (some entries may be hidden)."] = "Inga resultat (vissa resultat kan vara dolda).";
-$a->strings["Remote privacy information not available."] = "Icke-lokal integritetsinformation är inte tillgänglig";
-$a->strings["Visible to:"] = "Synlig för:";
+$a->strings["Item not available."] = "Post inte tillgänglig.";
+$a->strings["Fetching URL returns error: %1\$s"] = "Hämtning av URL returnerade fel: %1\$s";
+$a->strings["Invalid item."] = "Ogiltig post.";
+$a->strings["Channel not found."] = "Kanalen hittas inte.";
+$a->strings["Page not found."] = "Sidan hittas inte.";
+$a->strings["Export Channel"] = "Exportera kanal";
+$a->strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Exportera kanalens basinformation till en liten fil. Denna fungerar som en säkerhetskopia av dina anslutningar, behörigheter, profil, och grundläggande data, och kan användas för att importera dina data till en ny hubb, men tar inte med ditt innehåll.";
+$a->strings["Export Content"] = "Exportera innehåll";
+$a->strings["Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Exportera din kanalinformation och allt innehåll till en säkerhetskopia i JSON-format. Detta kopierar alla dina anslutningar, behörigheter, profildata och allt ditt innehåll, men är generellt inte lämpligt för att importera en kanal till en ny hubb, eftersom filen kan vara VÄLDIGT stor. Ha tålamod - det kan ta flera minuter innan nedladdningen börjar.";
+$a->strings["No potential page delegates located."] = "Inga potentiella sid-ombud funna.";
+$a->strings["Delegate Page Management"] = "Delegera sidhantering";
+$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Ombud kan hantera alla aspekter av det här kontot/den här sidan förutom grundläggande kontoinställningar. Delegera inte ditt personliga konto till någon som du inte litar fullständigt på.";
+$a->strings["Existing Page Managers"] = "Befintliga sid-ansvariga";
+$a->strings["Existing Page Delegates"] = "Befintliga sid-ombud";
+$a->strings["Potential Delegates"] = "Potentiella ombud";
+$a->strings["Remove"] = "Ta bort";
+$a->strings["Add"] = "Lägg till";
+$a->strings["No entries."] = "Inga poster.";
+$a->strings["Version %s"] = "Version %s";
+$a->strings["Installed plugins/addons/apps:"] = "Installerade tillägg/moduler/appar:";
+$a->strings["No installed plugins/addons/apps"] = "Inga installerade tillägg/moduler/appar";
+$a->strings["Red"] = "Red";
+$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Det här är en hubb som ingår i Red Matrix - ett globalt samverkande nätverk av decentraliserade webbplatser med bättre integritetskydd.";
+$a->strings["Tag: "] = "Tagg: ";
+$a->strings["Last background fetch: "] = "Senaste bakgrundshämtning: ";
+$a->strings["Running at web location"] = "Kör på webbutrymmet";
+$a->strings["Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more about the Red Matrix."] = "Besök <a href=\"https://redmatrix.me\">RedMatrix.me</a> för att lära dig mer om Red Matrix.";
+$a->strings["Bug reports and issues: please visit"] = "Buggrapporter och problem: besök";
+$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Förslag, uppskattning, etc. - maila \"redmatrix\" at librelist - dot com";
+$a->strings["Site Administrators"] = "Serveradministratörer";
+$a->strings["Failed to create source. No channel selected."] = "Misslyckades att skapa källa. Ingen kanal vald.";
+$a->strings["Source created."] = "Källa skapad.";
+$a->strings["Source updated."] = "Källa uppdaterad.";
+$a->strings["*"] = "*";
+$a->strings["Manage remote sources of content for your channel."] = "Hantera fjärrkällor med innehåll för din kanal.";
+$a->strings["New Source"] = "Ny källa";
+$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importera allt eller valt innehåll från följande kanal till den här kanalen och distribuera det enligt dina kanalinställningar.";
+$a->strings["Only import content with these words (one per line)"] = "Importera endast innehåll med de här orden (ett per rad)";
+$a->strings["Leave blank to import all public content"] = "Lämna blankt för att importera allt offentligt innehåll";
+$a->strings["Channel Name"] = "Kanalnamn";
+$a->strings["Source not found."] = "Källa hittades inte.";
+$a->strings["Edit Source"] = "Redigera källa";
+$a->strings["Delete Source"] = "Ta bort källa";
+$a->strings["Source removed"] = "Källa borttagen";
+$a->strings["Unable to remove source."] = "Kunde inte ta bort källa.";
+$a->strings["Invalid profile identifier."] = "Ogiltigt profil-ID.";
+$a->strings["Profile Visibility Editor"] = "Redigera profilsynlighet";
+$a->strings["Click on a contact to add or remove."] = "Klicka på en kontakt för att lägga till eller ta bort.";
+$a->strings["Visible To"] = "Kan ses av";
+$a->strings["All Connections"] = "Alla kontakter";
+$a->strings["Event can not end before it has started."] = "Händelser kan inte sluta innan de börjat.";
+$a->strings["Event title and start time are required."] = "Händelsen behöver titel och starttid.";
+$a->strings["Event not found."] = "Händelsen hittades inte.";
+$a->strings["l, F j"] = "l, j F";
+$a->strings["Edit event"] = "Redigera händelse";
+$a->strings["Create New Event"] = "Skapa ny händelse";
+$a->strings["Previous"] = "Föregående";
+$a->strings["Export"] = "Exportera";
+$a->strings["Event details"] = "Detaljer för händelse";
+$a->strings["Starting date and Title are required."] = "Startdatum och titel är obligatoriska.";
+$a->strings["Categories (comma-separated list)"] = "Kategorier (kommaseparerad lista)";
+$a->strings["Event Starts:"] = "Händelsen börjar:";
+$a->strings["Required"] = "Behövs";
+$a->strings["Finish date/time is not known or not relevant"] = "Slutdatum/tid är okänt eller inte relevant";
+$a->strings["Event Finishes:"] = "Händelsen slutar:";
+$a->strings["Adjust for viewer timezone"] = "Justera för betraktarens tidszon";
+$a->strings["Description:"] = "Beskrivning:";
+$a->strings["Title:"] = "Titel:";
+$a->strings["Share this event"] = "Dela den här händelsen";
+$a->strings["Public Sites"] = "Offentliga servrar";
+$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "De listade servrarna tillåter offentlig registrering i Red Matrix. Alla servrar i matrisen är sammankopplade, så medlemskap i en av dem medför medlemskap i matrisen som helhet. Vissa servrar kan kräva abonnemang eller erbjuda uppdelade tjänstenivåer. Leverantörslänkarna <strong>kan</strong> ge ytterligare detaljer.";
+$a->strings["Site URL"] = "Server-URL";
+$a->strings["Access Type"] = "Ã…tkomsttyp";
+$a->strings["Registration Policy"] = "Registreringspolicy";
+$a->strings["Location"] = "Plats";
+$a->strings["You must be logged in to see this page."] = "Du måste vara inloggad för att se den här sidan.";
+$a->strings["Insufficient permissions. Request redirected to profile page."] = "Otillräckliga behörigheter. Förfrågan omdirigerad till profilsidan.";
+$a->strings["Select a bookmark folder"] = "Välj en bokmärkeskatalog";
+$a->strings["Save Bookmark"] = "Spara bokmärke";
+$a->strings["URL of bookmark"] = "Bokmärkets URL";
+$a->strings["Description"] = "Beskrivning";
+$a->strings["Or enter new bookmark folder name"] = "Eller ange nytt namn på bokmärkeskatalog";
+$a->strings["Room not found"] = "Rum hittas inte";
+$a->strings["Leave Room"] = "Lämna rummet";
+$a->strings["Delete This Room"] = "Ta bort det här rummet";
+$a->strings["I am away right now"] = "Jag är borta för tillfället";
+$a->strings["I am online"] = "Jag är online";
+$a->strings["Bookmark this room"] = "Bokmärk det här rummet";
+$a->strings["New Chatroom"] = "Nytt chattrum";
+$a->strings["Chatroom Name"] = "Namn på chattrum";
+$a->strings["%1\$s's Chatrooms"] = "%1\$ss chattrum";
+$a->strings["Away"] = "Borta";
+$a->strings["Online"] = "Online";
+$a->strings["Please login."] = "Logga in.";
+$a->strings["Item not found"] = "Posten hittas inte";
+$a->strings["Item is not editable"] = "Posten går ej att redigera";
+$a->strings["Edit post"] = "Redigera inlägg";
+$a->strings["Delete item?"] = "Ta bort posten?";
+$a->strings["Insert YouTube video"] = "Infoga Youtube-video";
+$a->strings["Insert Vorbis [.ogg] video"] = "Infoga Vorbis [.ogg]-video";
+$a->strings["Insert Vorbis [.ogg] audio"] = "Infoga Vorbis [.ogg]-ljud";
+$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Borttagning av kanal tillåts inte inom 48 timmar efter att kontolösenordet har ändrats.";
+$a->strings["Remove This Channel"] = "Ta bort den här kanalen";
+$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Det här kommer att ta bort den här kanalen helt från nätverket. När det är gjort går det inte att återställa den.";
+$a->strings["Please enter your password for verification:"] = "Ange ditt lösenord för att bekräfta:";
+$a->strings["Remove this channel and all its clones from the network"] = "Ta bort den här kanalen och alla dess kloner från nätverket";
+$a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Som standard kommer bara den här hubbens instans av kanalen att tas bort från nätverket";
+$a->strings["Remove Channel"] = "Ta bort kanal";
+$a->strings["No channel."] = "Ingen kanal.";
+$a->strings["Common connections"] = "Gemensamma kontakter";
+$a->strings["No connections in common."] = "Inga gemensamma kontakter.";
+$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Vi drabbades av ett problem vid inloggningen med OpenID:t du uppgav. Kontrollera att ID:t är korrekt stavat.";
+$a->strings["The error message was:"] = "Felmeddelandet var:";
+$a->strings["Authentication failed."] = "Inloggning misslyckades.";
+$a->strings["Remote Authentication"] = "Fjärrinloggning";
+$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Ange din kanaladress (t.ex. kanal@example.com)";
+$a->strings["Authenticate"] = "Autentisera";
+$a->strings["No valid account found."] = "Inget giltigt konto hittades.";
+$a->strings["Password reset request issued. Check your email."] = "Lösenordsåterställning har skickats. Kontrollera din e-post.";
+$a->strings["Site Member (%s)"] = "Servermedlem (%s)";
+$a->strings["Password reset requested at %s"] = "Lösenordsåterställning begärd på %s";
+$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Begäran kunde inte bekräftas. (Du kan ha skickat den tidigare.) Lösenordsåterställningen misslyckades.";
+$a->strings["Password Reset"] = "Lösenordsåterställning";
+$a->strings["Your password has been reset as requested."] = "Ditt lösenord har återställts som begärt.";
+$a->strings["Your new password is"] = "Ditt nya lösenord är";
+$a->strings["Save or copy your new password - and then"] = "Spara eller kopiera ditt nya lösenord - ";
+$a->strings["click here to login"] = "klicka sedan här för att logga in";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Ditt lösenord kan bytas från sidan <em>Inställningar</em> när du är inloggad.";
+$a->strings["Your password has changed at %s"] = "Ditt lösenord byttes på %s";
+$a->strings["Forgot your Password?"] = "Glömt lösenordet?";
+$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Ange din e-postadress och skicka för att återställa ditt lösenord. Kontrollera sedan din e-post för vidare instruktioner.";
+$a->strings["Email Address"] = "E-postadress";
+$a->strings["Reset"] = "Återställ";
$a->strings["Could not access contact record."] = "Kunde inte komma åt kontaktuppgifter.";
$a->strings["Could not locate selected profile."] = "Kunde inte hitta vald profil.";
$a->strings["Connection updated."] = "Kontakt uppdaterad.";
$a->strings["Failed to update connection record."] = "Misslyckades att uppdatera kontaktuppgifter.";
+$a->strings["Blocked"] = "Blockerade";
+$a->strings["Ignored"] = "Ignorerade";
+$a->strings["Hidden"] = "Dolda";
+$a->strings["Archived"] = "Arkiverade";
+$a->strings["All"] = "Alla";
+$a->strings["Suggest new connections"] = "Föreslå nya kontakter";
+$a->strings["New Connections"] = "Nya kontakter";
+$a->strings["Show pending (new) connections"] = "Visa väntande (nya) kontakter";
+$a->strings["Show all connections"] = "Visa alla kontakter";
+$a->strings["Unblocked"] = "Ej blockerade";
+$a->strings["Only show unblocked connections"] = "Visa endast ej blockerade kontakter";
+$a->strings["Only show blocked connections"] = "Visa endast blockerade kontakter";
+$a->strings["Only show ignored connections"] = "Visa endast ignorerade kontakter";
+$a->strings["Only show archived connections"] = "Visa endast arkiverade kontakter";
+$a->strings["Only show hidden connections"] = "Visa endast dolda kontakter";
+$a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+$a->strings["Edit connection"] = "Redigera kontakt";
+$a->strings["Search your connections"] = "Sök bland dina kontakter";
+$a->strings["Finding: "] = "Sökning efter: ";
+$a->strings["sent you a private message"] = "skickade ett privat meddelande till dig";
+$a->strings["added your channel"] = "lade till din kanal";
+$a->strings["posted an event"] = "skapade en händelse";
+$a->strings["is now connected to"] = "har nu kontakt med";
$a->strings["Could not access address book record."] = "Kunde inte komma åt adressboksuppgifter.";
$a->strings["Refresh failed - channel is currently unavailable."] = "Uppdatering misslyckades - kanalen är inte tillgänglig.";
$a->strings["Channel has been unblocked"] = "Kanalen är inte längre blockerad";
@@ -1339,6 +1329,8 @@ $a->strings["Refresh Permissions"] = "Uppdatera behörigheter";
$a->strings["Fetch updated permissions"] = "Hämta uppdaterade behörigheter";
$a->strings["Recent Activity"] = "Senaste aktiviteten";
$a->strings["View recent posts and comments"] = "Visa de senaste inläggen och kommentarerna";
+$a->strings["Unblock"] = "Avblockera";
+$a->strings["Block"] = "Blockera";
$a->strings["Block or Unblock this connection"] = "Blockera eller häv blockering av den här kontakten";
$a->strings["Unignore"] = "Sluta att ignorera";
$a->strings["Ignore"] = "Ignorera";
@@ -1350,12 +1342,11 @@ $a->strings["Unhide"] = "Sluta att dölja";
$a->strings["Hide"] = "Dölj";
$a->strings["Hide or Unhide this connection"] = "Dölj eller sluta att dölja den här kontakten";
$a->strings["Delete this connection"] = "Ta bort den här kontakten";
-$a->strings["Unknown"] = "Okända";
$a->strings["Approve this connection"] = "Godkänn den här kontakten";
$a->strings["Accept connection to allow communication"] = "Acceptera kontakten för att tillåta kommunikation";
-$a->strings["Automatic Permissions Settings"] = "Automatiska behörighetsinställningar";
$a->strings["Connections: settings for %s"] = "Kontakter: inställningar för %s";
-$a->strings["When receiving a channel introduction, any permissions provided here will be applied to the new connection automatically and the introduction approved. Leave this page if you do not wish to use this feature."] = "När en kanal presenterar sig för dig kommer alla behörigheter här att gälla för den nya kontakten automatiskt och presentationen att godkännas. Lämna den här sidan om du inte önskar använda den här funktionen.";
+$a->strings["Apply these permissions automatically"] = "Använd de här rättigheterna automatiskt";
+$a->strings["Apply the permissions indicated on this page to all new connections."] = "Använd rättigheterna angivna på den här sidan för alla nya kontakter.";
$a->strings["Slide to adjust your degree of friendship"] = "Dra för att justera er vänskapsnivå";
$a->strings["inherited"] = "ärvd";
$a->strings["Connection has no individual permissions!"] = "Kontakten har inga individuella behörigheter!";
@@ -1366,6 +1357,7 @@ $a->strings["Contact Information / Notes"] = "Kontaktinformation / anteckningar"
$a->strings["Edit contact notes"] = "Redigera anteckningar för kontakten";
$a->strings["Their Settings"] = "Deras inställningar";
$a->strings["My Settings"] = "Mina inställningar";
+$a->strings["Clear/Disable Automatic Permissions"] = "Rensa/inaktivera automatiska behörigheter";
$a->strings["Forum Members"] = "Forummedlemmar";
$a->strings["Soapbox"] = "Talarstol";
$a->strings["Full Sharing (typical social network permissions)"] = "Full delning (typiska behörigheter för sociala nätverk)";
@@ -1390,29 +1382,193 @@ $a->strings["Currently archived"] = "Arkiverad";
$a->strings["Currently pending"] = "Inväntar svar";
$a->strings["Hide this contact from others"] = "Dölj den här kontakten för andra";
$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "Svar/gilla-reaktioner på dina offentliga inlägg <strong>kan</strong> fortfarande synas";
-$a->strings["Help with this feature"] = "Hjälp för den här funktionen";
-$a->strings["Layout Name"] = "Layoutnamn";
+$a->strings["Unable to lookup recipient."] = "Kunde inte hitta mottagare.";
+$a->strings["Unable to communicate with requested channel."] = "Kunde inte kommunicera med den begärda kanalen.";
+$a->strings["Cannot verify requested channel."] = "Kan inte bekräfta den begärda kanalen.";
+$a->strings["Selected channel has private message restrictions. Send failed."] = "Den valda kanalen har restriktioner för privata meddelanden. Misslyckades att skicka.";
+$a->strings["Message deleted."] = "Meddelande borttaget.";
+$a->strings["Message recalled."] = "Meddelande återkallat.";
+$a->strings["Send Private Message"] = "Skicka privat meddelande.";
+$a->strings["To:"] = "Till:";
+$a->strings["Subject:"] = "Ämne:";
+$a->strings["Your message:"] = "Ditt meddelande:";
+$a->strings["Send"] = "Skicka";
+$a->strings["Message not found."] = "Meddelandet hittades inte.";
+$a->strings["Delete message"] = "Ta bort meddelande";
+$a->strings["Recall message"] = "Ã…terkalla meddelande";
+$a->strings["Message has been recalled."] = "Meddelandet har återkallats.";
+$a->strings["Private Conversation"] = "Privat konversation";
+$a->strings["Delete conversation"] = "Ta bort konversation";
+$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Ingen säker kommunikationskanal tillgänglig. Du kan <strong>möjligtvis</strong> svara från avsändarens profilsida.";
+$a->strings["Send Reply"] = "Skicka svar";
+$a->strings["Page owner information could not be retrieved."] = "Information om sidans ägare kunde inte hittas.";
+$a->strings["Album not found."] = "Albumet hittades inte.";
+$a->strings["Delete Album"] = "Ta bort album";
+$a->strings["Delete Photo"] = "Ta bort foto";
+$a->strings["No photos selected"] = "Inga foton valda";
+$a->strings["Access to this item is restricted."] = "Åtkomst till den här posten är begränsat.";
+$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB av %2$.2f MB fotolagring använt.";
+$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB fotolagring använt.";
+$a->strings["Upload Photos"] = "Ladda upp foton";
+$a->strings["Enter a new album name"] = "Ange ett nytt albumnamn";
+$a->strings["or select an existing one (doubleclick)"] = "eller välj ett befintligt (dubbelklicka)";
+$a->strings["Do not show a status post for this upload"] = "Visa inte en statusuppdatering för den här uppladdningen";
+$a->strings["Album name could not be decoded"] = "Albumnamn kunde inte tolkas";
+$a->strings["Contact Photos"] = "Kontaktfoton";
+$a->strings["Show Newest First"] = "Visa nyast först";
+$a->strings["Show Oldest First"] = "Visa äldst först";
+$a->strings["View Photo"] = "Visa foto";
+$a->strings["Edit Album"] = "Redigera album";
+$a->strings["Permission denied. Access to this item may be restricted."] = "Behörighet saknas. Åtkomst till den här posten kan vara begränsat.";
+$a->strings["Photo not available"] = "Foto inte tillgängligt";
+$a->strings["Use as profile photo"] = "Använd som profilfoto";
+$a->strings["Private Photo"] = "Privat foto";
+$a->strings["View Full Size"] = "Visa fullstorlek";
+$a->strings["Edit photo"] = "Redigera foto";
+$a->strings["Rotate CW (right)"] = "Rotera medurs (höger)";
+$a->strings["Rotate CCW (left)"] = "Rotera moturs (vänster)";
+$a->strings["Caption"] = "Bildtext";
+$a->strings["Add a Tag"] = "Lägg till en tagg";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Exempel: @bob, @Barbara_Jensen, @jim@example.com";
+$a->strings["Flag as adult in album view"] = "Flagga som olämpligt för barn i albumvyn";
+$a->strings["In This Photo:"] = "PÃ¥ fotot:";
+$a->strings["View Album"] = "Visa album";
+$a->strings["Recent Photos"] = "Nya foton";
+$a->strings["Bookmark added"] = "Bokmärke tillagt";
+$a->strings["My Bookmarks"] = "Mina bokmärken";
+$a->strings["My Connections Bookmarks"] = "Mina kontakters bokmärken";
+$a->strings["This site is not a directory server"] = "Den här servern är inte en katalogserver";
+$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "RedMatrix - Gäster: Användarnamn {din e-postadress}, Lösenord: +++";
+$a->strings["network"] = "nätverk";
+$a->strings["Block Name"] = "Blocknamn";
+$a->strings["Edit Block"] = "Redigera block";
+$a->strings["Delete block?"] = "Ta bort block?";
+$a->strings["Delete Block"] = "Ta bort block";
+$a->strings["Layout updated."] = "Layout uppdaterad.";
+$a->strings["Edit System Page Description"] = "Redigera systemsidbeskrivning";
+$a->strings["Layout not found."] = "Layout hittas inte.";
+$a->strings["Module Name:"] = "Modulnamn:";
+$a->strings["Layout Help"] = "Layouthjälp";
+$a->strings["Edit Layout"] = "Redigera layout";
+$a->strings["Delete layout?"] = "Ta bort layout?";
+$a->strings["Delete Layout"] = "Ta bort layout";
+$a->strings["Red Matrix - &quot;The Network&quot;"] = "Red Matrix - &quot;Nätverket&quot;";
+$a->strings["Welcome to %s"] = "Välkommen till %s";
+$a->strings["Edit Webpage"] = "Redigera webbsida";
+$a->strings["Delete webpage?"] = "Ta bort webbsida?";
+$a->strings["Delete Webpage"] = "Ta bort webbsida";
+$a->strings["webpage"] = "webbsida";
+$a->strings["block"] = "block";
+$a->strings["layout"] = "layout";
+$a->strings["%s element installed"] = "%selement installerat";
+$a->strings["Image uploaded but image cropping failed."] = "Bilden laddades upp men beskärning misslyckades.";
+$a->strings["Image resize failed."] = "Ändring av bildstorlek misslyckades.";
+$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Shift-uppdatera sidan eller rensa webbläsarcachen om det nya fotot inte visas direkt.";
+$a->strings["Image exceeds size limit of %d"] = "Bilden överskrider storleksbegränsningen %d";
+$a->strings["Unable to process image."] = "Kunde inte behandla bilden.";
+$a->strings["Photo not available."] = "Fotot är inte tillgängligt.";
+$a->strings["Upload File:"] = "Ladda upp fil:";
+$a->strings["Select a profile:"] = "Välj en profil:";
+$a->strings["Upload Profile Photo"] = "Ladda upp profilfoto";
+$a->strings["skip this step"] = "hoppa över det här steget";
+$a->strings["select a photo from your photo albums"] = "välj ett foto från dina fotoalbum";
+$a->strings["Crop Image"] = "Beskär bild";
+$a->strings["Please adjust the image cropping for optimum viewing."] = "Justera bildens beskärning för bästa utseende.";
+$a->strings["Done Editing"] = "Klar med redigering";
+$a->strings["Image uploaded successfully."] = "Bilduppladdning lyckades.";
+$a->strings["Image upload failed."] = "Bilduppladdning misslyckades.";
+$a->strings["Image size reduction [%s] failed."] = "Krympning av bilden [%s] misslyckades.";
+$a->strings["Like/Dislike"] = "Gilla/ogilla";
+$a->strings["This action is restricted to members."] = "Den här åtgärden fungerar bara för medlemmar.";
+$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "<a href=\"rmagic\">Logga in med ditt RedMatrix-ID</a> eller <a href=\"register\">registrera dig som ny RedMatrix medlem</a> för att fortsätta.";
+$a->strings["Invalid request."] = "Ogiltig begäran.";
+$a->strings["thing"] = "sak";
+$a->strings["Channel unavailable."] = "Kanalen kan ej nås.";
+$a->strings["Previous action reversed."] = "Föregående åtgärd återställdes.";
+$a->strings["Action completed."] = "Åtgärden slutfördes.";
+$a->strings["Thank you."] = "Tack.";
$a->strings["Help:"] = "Hjälp:";
$a->strings["Not Found"] = "Hittas inte";
-$a->strings["Page not found."] = "Sidan hittas inte.";
-$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Vi drabbades av ett problem vid inloggningen med OpenID:t du uppgav. Kontrollera att ID:t är korrekt stavat.";
-$a->strings["The error message was:"] = "Felmeddelandet var:";
-$a->strings["Authentication failed."] = "Autentisering misslyckades.";
-$a->strings["Remote Authentication"] = "Fjärrautentisering.";
-$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Ange din kanaladress (t.ex. kanal@example.com)";
-$a->strings["Authenticate"] = "Autentisera";
-$a->strings["Invalid item."] = "Ogiltig post.";
-$a->strings["No such group"] = "Ingen sådan grupp";
-$a->strings["Search Results For:"] = "Sökresultat för:";
-$a->strings["Collection is empty"] = "Sammanhanget är tomt";
-$a->strings["Collection: "] = "Sammanhang: ";
-$a->strings["Connection: "] = "Kontakt:";
-$a->strings["Invalid connection."] = "Ogiltig kontakt.";
+$a->strings["Thing updated"] = "Föremål uppdaterat";
+$a->strings["Object store: failed"] = "Objektlagring: misslyckades";
+$a->strings["Thing added"] = "Föremål tillagt";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+$a->strings["Show Thing"] = "Visa föremål";
+$a->strings["item not found."] = "föremål hittades inte.";
+$a->strings["Edit Thing"] = "Redigera föremål";
+$a->strings["Select a profile"] = "Välj en profil";
+$a->strings["Post an activity"] = "Posta en aktivitet";
+$a->strings["Only sends to viewers of the applicable profile"] = "Skickar bara till de som tittar på den aktuella profilen";
+$a->strings["Name of thing e.g. something"] = "Namn på föremål, t.ex. någonting";
+$a->strings["URL of thing (optional)"] = "URL för föremål (frivilligt)";
+$a->strings["URL for photo of thing (optional)"] = "URL för foto på föremål (frivilligt)";
+$a->strings["Add Thing to your Profile"] = "Lägg till föremål till din profil";
+$a->strings["Contact not found."] = "Kontakten hittades inte.";
+$a->strings["Friend suggestion sent."] = "Vänförfrågan skickad.";
+$a->strings["Suggest Friends"] = "Föreslå vänner";
+$a->strings["Suggest a friend for %s"] = "Föreslå en vän för %s";
+$a->strings["Permission Denied."] = "Behörighet saknas.";
+$a->strings["File not found."] = "Filen hittas inte.";
+$a->strings["Edit file permissions"] = "Redigera filrättigheter";
+$a->strings["Set/edit permissions"] = "Ställ in/ändra behörigheter";
+$a->strings["Include all files and sub folders"] = "Inkludera alla filer och underkataloger";
+$a->strings["Return to file list"] = "Återgå till fillistan";
+$a->strings["Copy/paste this code to attach file to a post"] = "Kopiera/klistra in den här koden för att bifoga filen i ett inlägg";
+$a->strings["Copy/paste this URL to link file from a web page"] = "Kopiera/klistra in den här URL:en för att länka till filen från en webbsida";
+$a->strings["Continue"] = "Fortsätt";
+$a->strings["Premium Channel Setup"] = "Inställning av premiumkanal";
+$a->strings["Enable premium channel connection restrictions"] = "Aktivera kontaktrestriktioner för premiumkanal";
+$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Ange dina restriktioner och villkor, som Paypal-kvitto, användarriktlinjer, etc.";
+$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Den här kanalen kan kräva ytterligare steg eller godkännande av följande villkor innan anslutning:";
+$a->strings["Potential connections will then see the following text before proceeding:"] = "Potentiella kontakter kommer sedan att se följande text innan de går vidare:";
+$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Genom att fortsätta intygar jag att jag har följt alla instruktioner som ges på den här sidan.";
+$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Inga specifika instruktioner har givits av kanalägaren.)";
+$a->strings["Restricted or Premium Channel"] = "Begränsad kanal eller premiumkanal";
+$a->strings["- select -"] = "- välj -";
+$a->strings["Location not found."] = "Platsen hittades inte.";
+$a->strings["Primary location cannot be removed."] = "Huvudplatsen kan inte tas bort.";
+$a->strings["No locations found."] = "Inga platser hittades.";
+$a->strings["Manage Channel Locations"] = "Hantera kanalplatser";
+$a->strings["Location (address)"] = "Plats (adress)";
+$a->strings["Primary Location"] = "Huvudplats";
+$a->strings["Drop location"] = "Ta bort plats";
+$a->strings["Channel added."] = "Kanal tillagd.";
+$a->strings["Your service plan only allows %d channels."] = "Din tjänstenivå tillåter bara %d kanaler.";
+$a->strings["Nothing to import."] = "Inget att importera.";
+$a->strings["Unable to download data from old server"] = "Kunde inte ladda ner data från den gamla servern";
+$a->strings["Imported file is empty."] = "Den importerade filen är tom.";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan inte skapa ett dubblerat kanal-ID på det här systemet. Import misslyckades.";
+$a->strings["Unable to create a unique channel address. Import failed."] = "Kan inte skapa en unik kanaladress. Import misslyckades.";
+$a->strings["Channel clone failed. Import failed."] = "Kloning av kanalen misslyckades. Import misslyckades.";
+$a->strings["Cloned channel not found. Import failed."] = "Den klonade kanalen hittas inte. Import misslyckades.";
+$a->strings["Import completed."] = "Import slutförd.";
+$a->strings["You must be logged in to use this feature."] = "Du måste vara inloggad för att kunna använda den här funktionen.";
+$a->strings["Import Channel"] = "Importera kanal";
+$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Använd det här formuläret för att importera en befintlig kanal från en annan server/hubb. Du kan få kanal-ID:t från den gamla servern/hubben över nätverket eller tillhandahålla en exportfil. Endast identitet och kontakter/relationer kommer att importeras. Import av innehåll stöds ännu inte.";
+$a->strings["File to Upload"] = "Fil att ladda upp";
+$a->strings["Or provide the old server/hub details"] = "Eller ge uppgifter om den gamla servern/hubben";
+$a->strings["Your old identity address (xyz@example.com)"] = "Din gamla identitetsadress (xyz@example.com)";
+$a->strings["Your old login email address"] = "Din gamla e-postadress för inloggning";
+$a->strings["Your old login password"] = "Ditt gamla inloggningslösenord";
+$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Ange i bägge fallen om den här hubben ska vara din nya primära adress eller om den gamla platsen ska fortsätta att ha den rollen. Du kommer att kunna posta från båda platser, men bara en kan vara primärt utrymme för filer, foton och media.";
+$a->strings["Make this hub my primary location"] = "Gör den här hubben till min primära plats";
+$a->strings["Import existing posts if possible"] = "Importera befintliga inlägg om möjligt";
+$a->strings["Unable to locate original post."] = "Kunde inte hitta originalinlägget.";
+$a->strings["Empty post discarded."] = "Tomt inlägg förkastat.";
+$a->strings["Executable content type not permitted to this channel."] = "Körbart innehåll tillåts inte i den här kanalen.";
+$a->strings["System error. Post not saved."] = "Systemfel. Inlägget inte sparat.";
+$a->strings["You have reached your limit of %1$.0f top level posts."] = "Du har nått din gräns på %1$.0f toppnivåinlägg.";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "Du har nått din gräns på %1$.0f webbsidor.";
+$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Inga förslag tillgängliga. Om det här är en ny server, försök igen om 24 timmar.";
+$a->strings["Help with this feature"] = "Hjälp för den här funktionen";
+$a->strings["Layout Name"] = "Layoutnamn";
+$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s taggade%2\$ss %3\$s med %4\$s";
$a->strings["Profile not found."] = "Profil hittades inte.";
$a->strings["Profile deleted."] = "Profil borttagen.";
$a->strings["Profile-"] = "Profil-";
$a->strings["New profile created."] = "Ny profil skapad.";
$a->strings["Profile unavailable to clone."] = "Profil inte tillgänglig för kloning.";
+$a->strings["Profile unavailable to export."] = "Profil inte tillgänglig för export.";
$a->strings["Profile Name is required."] = "Profilnamn krävs.";
$a->strings["Marital Status"] = "Civilstånd";
$a->strings["Romantic Partner"] = "Romantisk partner";
@@ -1425,7 +1581,7 @@ $a->strings["Gender"] = "Kön";
$a->strings["Sexual Preference"] = "Sexuell preferens";
$a->strings["Homepage"] = "Hemsida";
$a->strings["Interests"] = "Intressen";
-$a->strings["Location"] = "Plats";
+$a->strings["Address"] = "Adress";
$a->strings["Profile updated."] = "Profil uppdaterad.";
$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Dölj din kontakt-/vänlista för de som ser den här profilen";
$a->strings["Edit Profile Details"] = "Redigera profildetaljer";
@@ -1434,11 +1590,13 @@ $a->strings["Change Profile Photo"] = "Byt profilfoto";
$a->strings["Create a new profile using these settings"] = "Skapa en ny profil utifrån de här inställningarna";
$a->strings["Clone this profile"] = "Klona den här profilen";
$a->strings["Delete this profile"] = "Ta bort den här profilen";
+$a->strings["Import profile from file"] = "Importera profil från fil";
+$a->strings["Export profile to file"] = "Exportera profil som fil";
$a->strings["Profile Name:"] = "Profilnamn:";
$a->strings["Your Full Name:"] = "Ditt fulllständiga namn:";
$a->strings["Title/Description:"] = "Titel/beskrivning:";
$a->strings["Your Gender:"] = "Ditt kön:";
-$a->strings["Birthday (%s):"] = "Födelsedag (%s):";
+$a->strings["Birthday :"] = "Födelsedag:";
$a->strings["Street Address:"] = "Gatuadress:";
$a->strings["Locality/City:"] = "Ort:";
$a->strings["Postal/Zip Code:"] = "Postnummer:";
@@ -1464,314 +1622,316 @@ $a->strings["Film/dance/culture/entertainment"] = "Film/dans/kultur/underhållni
$a->strings["Love/romance"] = "Kärlek/romantik";
$a->strings["Work/employment"] = "Arbete/sysselsättning";
$a->strings["School/education"] = "Skola/utbildning";
-$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "Det här är din <strong>offentliga</strong> profil.<br />Den <strong>kan</strong> ses av vem som helst med tillgång till Internet.";
+$a->strings["This is your default profile."] = "Det här är din standardprofil.";
+$a->strings["Age: "] = "Ã…lder:";
$a->strings["Edit/Manage Profiles"] = "Redigera/hantera profiler";
$a->strings["Add profile things"] = "Lägg till profilsaker";
$a->strings["Include desirable objects in your profile"] = "Inkludera fina prylar i din profil";
-$a->strings["This site is not a directory server"] = "Den här servern är inte en katalogserver";
-$a->strings["Failed to create source. No channel selected."] = "Misslyckades att skapa källa. Ingen kanal vald.";
-$a->strings["Source created."] = "Källa skapad.";
-$a->strings["Source updated."] = "Källa uppdaterad.";
-$a->strings["*"] = "*";
-$a->strings["Manage remote sources of content for your channel."] = "Hantera fjärrkällor med innehåll för din kanal.";
-$a->strings["New Source"] = "Ny källa";
-$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importera allt eller valt innehåll från följande kanal till den här kanalen och distribuera det enligt dina kanalinställningar.";
-$a->strings["Only import content with these words (one per line)"] = "Importera endast innehåll med de här orden (ett per rad)";
-$a->strings["Leave blank to import all public content"] = "Lämna blankt för att importera allt offentligt innehåll";
-$a->strings["Channel Name"] = "Kanalnamn";
-$a->strings["Source not found."] = "Källa hittades inte.";
-$a->strings["Edit Source"] = "Redigera källa";
-$a->strings["Delete Source"] = "Ta bort källa";
-$a->strings["Source removed"] = "Källa borttagen";
-$a->strings["Unable to remove source."] = "Kunde inte ta bort källa.";
-$a->strings["Block Name"] = "Blocknamn";
-$a->strings["Hub not found."] = "Hubb hittades inte.";
-$a->strings["You must be logged in to see this page."] = "Du måste vara inloggad för att se den här sidan.";
-$a->strings["Room not found"] = "Rum hittas inte";
-$a->strings["Leave Room"] = "Lämna rummet";
-$a->strings["I am away right now"] = "Jag är borta för tillfället";
-$a->strings["I am online"] = "Jag är online";
-$a->strings["Bookmark this room"] = "Bokmärk det här rummet";
-$a->strings["New Chatroom"] = "Nytt chattrum";
-$a->strings["Chatroom Name"] = "Namn på chattrum";
-$a->strings["%1\$s's Chatrooms"] = "%1\$ss chattrum";
-$a->strings["Version %s"] = "Version %s";
-$a->strings["Installed plugins/addons/apps:"] = "Installerade tillägg/moduler/appar:";
-$a->strings["No installed plugins/addons/apps"] = "Inga installerade tillägg/moduler/appar";
-$a->strings["Red"] = "Red";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralised privacy enhanced websites."] = "Det här är en hubb som hör till Red Matrix - ett globalt samverkande nätverk av decentraliserade integritetsstärkta webbplatser.";
-$a->strings["Running at web location"] = "Kör på webbutrymmet";
-$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Red Matrix."] = "Besök <a href=\"http://getzot.com\">GetZot.com</a> lära dig mer om Red Matrix.";
-$a->strings["Bug reports and issues: please visit"] = "Buggrapporter och problem: besök";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Förslag, uppskattning, etc. - maila \"redmatrix\" at librelist - dot com";
-$a->strings["Site Administrators"] = "Serveradministratörer";
-$a->strings["Add a Channel"] = "Lägg till en kanal";
-$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "En kanal är din egen samling av relaterade webbsidor. En kanal kan användas för att innehålla sociala nätverksprofiler, bloggar, konversationsgrupper och forum, fansidor, och mycket mer. Du kan skapa så många kanaler som din tjänsteleverantör tillåter.";
-$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Exempel: \"Bob Jameson\", \"Lisa och hennes hästar\", \"Fotboll\", \"Flyggruppen\" ";
-$a->strings["Choose a short nickname"] = "Välj ett kort smeknamn";
-$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Ditt smeknamn används för att skapa en kanaladress som är lätt att komma ihåg (som en e-postadress) som du kan dela med andra.";
-$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Eller <a href=\"import\">importera en befintlig kanal</a> från en annan plats";
-$a->strings["No valid account found."] = "Inget giltigt konto hittades.";
-$a->strings["Password reset request issued. Check your email."] = "Lösenordsåterställning har skickats. Kontrollera din e-post.";
-$a->strings["Site Member (%s)"] = "Servermedlem (%s)";
-$a->strings["Password reset requested at %s"] = "Lösenordsåterställning begärd på %s";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Begäran kunde inte bekräftas. (Du kan ha skickat den tidigare.) Lösenordsåterställningen misslyckades.";
-$a->strings["Password Reset"] = "Lösenordsåterställning";
-$a->strings["Your password has been reset as requested."] = "Ditt lösenord har återställts som begärt.";
-$a->strings["Your new password is"] = "Ditt nya lösenord är";
-$a->strings["Save or copy your new password - and then"] = "Spara eller kopiera ditt nya lösenord - ";
-$a->strings["click here to login"] = "klicka sedan här för att logga in";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Ditt lösenord kan bytas från sidan <em>Inställningar</em> när du är inloggad.";
-$a->strings["Your password has changed at %s"] = "Ditt lösenord byttes på %s";
-$a->strings["Forgot your Password?"] = "Glömt lösenordet?";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Ange din e-postadress och skicka för att återställa ditt lösenord. Kontrollera sedan din e-post för vidare instruktioner.";
-$a->strings["Email Address"] = "E-postadress";
-$a->strings["Reset"] = "Återställ";
-$a->strings["Edit Block"] = "Redigera block";
-$a->strings["Delete block?"] = "Ta bort block?";
-$a->strings["Delete Block"] = "Ta bort block";
-$a->strings["Select a bookmark folder"] = "Välj en bokmärkeskatalog";
-$a->strings["Save Bookmark"] = "Spara bokmärke";
-$a->strings["URL of bookmark"] = "Bokmärkets URL";
-$a->strings["Description"] = "Beskrivning";
-$a->strings["Or enter new bookmark folder name"] = "Eller ange nytt namn på bokmärkeskatalog";
-$a->strings["Nothing to import."] = "Inget att importera.";
-$a->strings["Unable to download data from old server"] = "Kunde inte ladda ner data från den gamla servern";
-$a->strings["Imported file is empty."] = "Den importerade filen är tom.";
-$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan inte skapa ett dubblerat kanal-ID på det här systemet. Import misslyckades.";
-$a->strings["Channel clone failed. Import failed."] = "Kloning av kanalen misslyckades. Import misslyckades.";
-$a->strings["Cloned channel not found. Import failed."] = "Den klonade kanalen hittas inte. Import misslyckades.";
-$a->strings["Import completed."] = "Import slutförd.";
-$a->strings["You must be logged in to use this feature."] = "Du måste vara inloggad för att kunna använda den här funktionen.";
-$a->strings["Import Channel"] = "Importera kanal";
-$a->strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Använd det här formuläret för att importera en befintlig kanal från en annan server/hubb. Du kan få kanal-ID:t från den gamla servern/hubben över nätverket eller tillhandahålla en exportfil. Endast identitet och kontakter/relationer kommer att importeras. Import av innehåll stöds ännu inte.";
-$a->strings["File to Upload"] = "Fil att ladda upp";
-$a->strings["Or provide the old server/hub details"] = "Eller ge uppgifter om den gamla servern/hubben";
-$a->strings["Your old identity address (xyz@example.com)"] = "Din gamla identitetsadress (xyz@example.com)";
-$a->strings["Your old login email address"] = "Din gamla e-postadress för inloggning";
-$a->strings["Your old login password"] = "Ditt gamla inloggningslösenord";
-$a->strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Ange i bägge fallen om den här hubben ska vara din nya primära adress eller om den gamla platsen ska fortsätta att ha den rollen. Du kommer att kunna posta från båda platser, men bara en kan vara primärt utrymme för filer, foton och media.";
-$a->strings["Make this hub my primary location"] = "Gör den här hubben till min primära plats";
+$a->strings["Tag removed"] = "Tagg borttagen";
+$a->strings["Remove Item Tag"] = "Ta bort innehållstagg";
+$a->strings["Select a tag to remove: "] = "Välj en tagg att ta bort: ";
+$a->strings["Theme settings updated."] = "Temainställningar uppdaterade.";
+$a->strings["Site"] = "Server";
+$a->strings["Accounts"] = "Konton";
+$a->strings["Channels"] = "Kanaler";
+$a->strings["Plugins"] = "Tillägg";
+$a->strings["Themes"] = "Teman";
+$a->strings["Server"] = "Server";
+$a->strings["Profile Config"] = "Profilkonfiguration";
+$a->strings["DB updates"] = "Databasuppdateringar";
+$a->strings["Logs"] = "Loggar";
+$a->strings["Plugin Features"] = "Tilläggsfunktioner";
+$a->strings["User registrations waiting for confirmation"] = "Användarregistreringar som behöver bekräftas";
+$a->strings["Message queues"] = "Meddelandeköer";
+$a->strings["Administration"] = "Administration";
+$a->strings["Summary"] = "Sammanfattning";
+$a->strings["Registered users"] = "Registrerade användare";
+$a->strings["Pending registrations"] = "Pågående registreringar";
+$a->strings["Version"] = "Version";
+$a->strings["Active plugins"] = "Aktiva tillägg";
+$a->strings["Site settings updated."] = "Serverinställningar uppdaterade.";
+$a->strings["experimental"] = "experimentellt";
+$a->strings["unsupported"] = "stöds ej";
+$a->strings["Yes - with approval"] = "Ja - med godkännande";
+$a->strings["My site is not a public server"] = "Min server är inte offentlig";
+$a->strings["My site has paid access only"] = "Min server har endast åtkomst mot betalning";
+$a->strings["My site has free access only"] = "Min server har endast gratis åtkomst";
+$a->strings["My site offers free accounts with optional paid upgrades"] = "Min server erbjuder gratis konton med uppgradering mot betalning";
+$a->strings["File upload"] = "Filuppladdning";
+$a->strings["Policies"] = "Policyer";
+$a->strings["Site name"] = "Servernamn";
+$a->strings["Banner/Logo"] = "Banner/logga";
+$a->strings["Administrator Information"] = "Administratörsinformation";
+$a->strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Kontaktinfo till sidadministratörer. Visas på sidinfosidan. BBCode kan användas här";
+$a->strings["System language"] = "Systemspråk";
+$a->strings["System theme"] = "Systemtema";
+$a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Förvalt systemtema - kan åsidosättas i användarprofiler - <a href='#' id='cnftheme'>ändra temainställningar</a>";
+$a->strings["Mobile system theme"] = "Mobilt systemtema";
+$a->strings["Theme for mobile devices"] = "Tema för mobila enheter";
+$a->strings["Enable Diaspora Protocol"] = "Aktivera protokoll för Diaspora";
+$a->strings["Communicate with Diaspora and Friendica - experimental"] = "Kommunicera med Diaspora och Friendica - experimentellt";
+$a->strings["Allow Feeds as Connections"] = "Tillåt flöden som kontakter";
+$a->strings["(Heavy system resource usage)"] = "(systemresurskrävande)";
+$a->strings["Maximum image size"] = "Maximal bildstorlek";
+$a->strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maximal storlek i byte för uppladdade bilder. Standard är 0, vilket innebär ingen storleksbegränsning.";
+$a->strings["Does this site allow new member registration?"] = "Tillåter den här servern nya medlemmar att registrera sig?";
+$a->strings["Which best describes the types of account offered by this hub?"] = "Vilket beskriver bäst kontotypen som erbjuds på den här hubben?";
+$a->strings["Register text"] = "Registreringstext";
+$a->strings["Will be displayed prominently on the registration page."] = "Visas tydligt på registreringssidan.";
+$a->strings["Accounts abandoned after x days"] = "Konto övergivet efter x dagar";
+$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Slösar inte systemresurser genom att fråga externa servrar efter övergivna konton. 0 innebär ingen tidsbegränsning.";
+$a->strings["Allowed friend domains"] = "Tillåtna vändomäner";
+$a->strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Kommaseparerad lista med domäner som tillåts att upprätta ett vänförhållande med den här servern. Jokertecken är tillåtna. Töm för att tillåta alla domäner.";
+$a->strings["Allowed email domains"] = "Tillåtna e-postdomäner";
+$a->strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Kommaseparerad lista med domäner som tillåts i e-postadresser för registreringar på den här servern. Jokertecken är tillåtna. Töm för att tillåta alla domäner.";
+$a->strings["Block public"] = "Blockera offentlig åtkomst";
+$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Välj för att blockera åtkomst till alla personliga sidor som annars skulle vara offentliga på den här servern om man inte är inloggad.";
+$a->strings["Verify Email Addresses"] = "Bekräfta e-postadress";
+$a->strings["Check to verify email addresses used in account registration (recommended)."] = "Välj för att bekräfta e-postadresser som används för kontoregistrering (rekommenderas).";
+$a->strings["Force publish"] = "Tvinga publicering";
+$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Välj för att tvinga alla profiler på den här servern att listas i serverkatalogen.";
+$a->strings["Disable discovery tab"] = "Inaktivera upptäck-fliken";
+$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Ta bort fliken i nätverksvyn med offentligt innehåll som hämtas från källor valda för den här servern.";
+$a->strings["No login on Homepage"] = "Ingen inloggning på hemsidan";
+$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Välj för att gömma inloggningsformuläret från serverns hemsida för oinloggade besökare (t.ex. när du lägger in hemsideinnehållet via serverkanalen).";
+$a->strings["Proxy user"] = "Proxyanvändare";
+$a->strings["Proxy URL"] = "Proxy-URL";
+$a->strings["Network timeout"] = "Nätverkstimeout";
+$a->strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Värde i sekunder. Sätt till 0 för obegränsat (ej rekommenderat).";
+$a->strings["Delivery interval"] = "Leveransintervall";
+$a->strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Fördröj leveransprocesser som görs i bakgrunden så här många sekunder för att reducera systembelastningen. Rekommenderat: 4-5 för delade värdar, 2-3 för virtuella privata servrar. 0-1 för stora dedikerade servrar.";
+$a->strings["Poll interval"] = "Hämtningsintervall";
+$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Fördröj hämtningsprocesser som görs i bakgrunden så här många sekunder för att reducera systembelastningen. Om 0 används leveransintervallet.";
+$a->strings["Maximum Load Average"] = "Maximal genomsnittsbelastning";
+$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximal systembelastning innan leverans- och hämtningsprocesser skjuts upp - standard är 50.";
+$a->strings["No server found"] = "Ingen server hittad";
+$a->strings["ID"] = "ID";
+$a->strings["for channel"] = "för kanal";
+$a->strings["on server"] = "på server";
+$a->strings["Status"] = "Status";
+$a->strings["Update has been marked successful"] = "Uppdatering har markerats som genomförd";
+$a->strings["Executing %s failed. Check system logs."] = "Körning av %s misslyckades. Kontrollera systemloggarna.";
+$a->strings["Update %s was successfully applied."] = "Uppdatering %s genomfördes utan problem.";
+$a->strings["Update %s did not return a status. Unknown if it succeeded."] = "Uppdatering %s returnerade ingen status. Oklart om den lyckades.";
+$a->strings["Update function %s could not be found."] = "Uppdateringsfunktion %s kunde inte hittas.";
+$a->strings["No failed updates."] = "Inga misslyckade uppdateringar.";
+$a->strings["Failed Updates"] = "Misslyckade uppdateringar";
+$a->strings["Mark success (if update was manually applied)"] = "Markera som genomförd (om uppdateringen gjordes manuellt)";
+$a->strings["Attempt to execute this update step automatically"] = "Försök att köra den här uppdateringen automatiskt";
+$a->strings["%s user blocked/unblocked"] = array(
+ 0 => "%s användare blockerad/avblockerad",
+ 1 => "%s användare blockerade/avblockerade",
+);
+$a->strings["%s user deleted"] = array(
+ 0 => "%s användare borttagen",
+ 1 => "%s användare borttagna",
+);
+$a->strings["Account not found"] = "Konto hittas inte";
+$a->strings["User '%s' unblocked"] = "Användare '%s' avblockerad";
+$a->strings["User '%s' blocked"] = "Användare '%s' blockerad";
+$a->strings["Users"] = "Användare";
+$a->strings["select all"] = "välj alla";
+$a->strings["User registrations waiting for confirm"] = "Användarregistreringar som inväntar bekräftelse";
+$a->strings["Request date"] = "Ansökningsdatum";
+$a->strings["No registrations."] = "Inga registreringar.";
+$a->strings["Approve"] = "Godkänn";
+$a->strings["Deny"] = "Avslå";
+$a->strings["Register date"] = "Registreringsdatum";
+$a->strings["Last login"] = "Senaste inloggning";
+$a->strings["Expires"] = "Upphör att gälla";
+$a->strings["Service Class"] = "Tjänsteklass";
+$a->strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Valda användare kommer att tas bort!\\n\\nAllt dessa användare har postat på den här servern kommer att raderas permanent!\\n\\nÄr du säker?";
+$a->strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Användaren {0} kommer att tas bort!\\n\\nAllt den här användaren har postat på den här servern kommer att raderas permanent!\\n\\nÄr du säker?";
+$a->strings["%s channel censored/uncensored"] = array(
+ 0 => "%s kanal censurerad/avcensurerad",
+ 1 => "%s kanaler censurerade/avcensurerade",
+);
+$a->strings["%s channel deleted"] = array(
+ 0 => "%s kanal borttagen",
+ 1 => "%s kanaler borttagna",
+);
+$a->strings["Channel not found"] = "Kanal hittas inte";
+$a->strings["Channel '%s' deleted"] = "Kanalen '%s' togs bort";
+$a->strings["Channel '%s' uncensored"] = "Kanal '%s' avcensurerad";
+$a->strings["Channel '%s' censored"] = "Kanal '%s' censurerad";
+$a->strings["Censor"] = "Censurera";
+$a->strings["Uncensor"] = "Avcensurera";
+$a->strings["UID"] = "UID";
+$a->strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Valda kanaler kommer att tas bort!\\n\\nAllt som har postats i de kanalerna på den här servern kommer att raderas permanent!\\n\\nÄr du säker?";
+$a->strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Kanalen {0} kommer att tas bort!\\n\\nAllt som har postats i den här kanalen på den här servern kommer att raderas permanent!\\n\\nÄr du säker?";
+$a->strings["Plugin %s disabled."] = "Tillägg %s inaktiverat.";
+$a->strings["Plugin %s enabled."] = "Tillägg %s aktiverat.";
+$a->strings["Disable"] = "Inaktivera";
+$a->strings["Enable"] = "Aktivera";
+$a->strings["Toggle"] = "Växla";
+$a->strings["Author: "] = "Författare:";
+$a->strings["Maintainer: "] = "Underhållare:";
+$a->strings["No themes found."] = "Inga teman funna.";
+$a->strings["Screenshot"] = "Skärmdump";
+$a->strings["[Experimental]"] = "[Experimentellt]";
+$a->strings["[Unsupported]"] = "[Utan support]";
+$a->strings["Log settings updated."] = "Logginställningar uppdaterade.";
+$a->strings["Clear"] = "Rensa";
+$a->strings["Debugging"] = "Avlusning";
+$a->strings["Log file"] = "Loggfil";
+$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "Måste vara skrivbar för webbservern. Anges relativt Reds toppkatalog.";
+$a->strings["Log level"] = "Loggnivå";
+$a->strings["New Profile Field"] = "Nytt profilfält";
+$a->strings["Field nickname"] = "Smeknamn på fält";
+$a->strings["System name of field"] = "Systemnamn på fält";
+$a->strings["Input type"] = "Datatyp";
+$a->strings["Field Name"] = "Fältnamn";
+$a->strings["Label on profile pages"] = "Beteckning på profilsidor";
+$a->strings["Help text"] = "Hjälptext";
+$a->strings["Additional info (optional)"] = "Ytterligare info (frivilligt)";
+$a->strings["Field definition not found"] = "Fältdefinition hittades inte";
+$a->strings["Edit Profile Field"] = "Redigera profilfält";
$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du har skapat %1$.0f av %2$.0f tillåtna kanaler.";
$a->strings["Create a new channel"] = "Skapa en ny kanal";
-$a->strings["Channel Manager"] = "Kanalhanterare";
$a->strings["Current Channel"] = "Nuvarande kanal";
$a->strings["Attach to one of your channels by selecting it."] = "Anslut till en av dina kanaler genom att välja den.";
$a->strings["Default Channel"] = "Standardkanal";
$a->strings["Make Default"] = "Gör till standard";
-$a->strings["Total votes"] = "Totala röster";
+$a->strings["Menu updated."] = "Meny uppdaterad.";
+$a->strings["Unable to update menu."] = "Kunde inte uppdatera meny.";
+$a->strings["Menu created."] = "Meny skapad.";
+$a->strings["Unable to create menu."] = "Kunde inte skapa meny.";
+$a->strings["Manage Menus"] = "Hantera menyer";
+$a->strings["Drop"] = "Ta bort";
+$a->strings["Bookmarks allowed"] = "Bokmärken tillåtna";
+$a->strings["Create a new menu"] = "Skapa en ny meny";
+$a->strings["Delete this menu"] = "Ta bort den här menyn";
+$a->strings["Edit menu contents"] = "Redigera menyinnehåll";
+$a->strings["Edit this menu"] = "Redigera den här menyn";
+$a->strings["New Menu"] = "Ny meny";
+$a->strings["Menu name"] = "Menynamn";
+$a->strings["Must be unique, only seen by you"] = "MÃ¥ste vara unikt, ses endast av dig";
+$a->strings["Menu title"] = "Menytitel";
+$a->strings["Menu title as seen by others"] = "Menytitel som andra ser den";
+$a->strings["Allow bookmarks"] = "Tillåt bokmärken";
+$a->strings["Menu may be used to store saved bookmarks"] = "Menyn kan användas för att spara bokmärken";
+$a->strings["Menu deleted."] = "Meny borttagen.";
+$a->strings["Menu could not be deleted."] = "Menyn kunde inte tas bort.";
+$a->strings["Edit Menu"] = "Redigera meny";
+$a->strings["Add or remove entries to this menu"] = "Lägg till eller ta bort menyval";
+$a->strings["Total invitation limit exceeded."] = "Gränsen för totalt antal inbjudningar överskriden.";
+$a->strings["%s : Not a valid email address."] = "%s: Inte en giltig e-postadress.";
+$a->strings["Please join us on Red"] = "GÃ¥ med oss i Red";
+$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Inbjudningsgränsen överskriden. Kontakta din serveradministratör.";
+$a->strings["%s : Message delivery failed."] = "%s : Leverans av meddelande misslyckades.";
+$a->strings["%d message sent."] = array(
+ 0 => "%d meddelande sänt.",
+ 1 => "%d meddelanden sända.",
+);
+$a->strings["You have no more invitations available"] = "Du har inga fler inbjudningar kvar";
+$a->strings["Send invitations"] = "Skicka inbjudan";
+$a->strings["Enter email addresses, one per line:"] = "Ange e-postadresser, en per rad:";
+$a->strings["Please join my community on RedMatrix."] = "Gå med mig i gemenskapen på RedMatrix.";
+$a->strings["You will need to supply this invitation code: "] = "Du kommer att behöva den här inbjudningskoden: ";
+$a->strings["1. Register at any RedMatrix location (they are all inter-connected)"] = "1. Skapa konto på en RedMatrix-server (alla är ihopkopplade)";
+$a->strings["2. Enter my RedMatrix network address into the site searchbar."] = "2. Ange min RedMatrix-adress i webbplatsens sökruta.";
+$a->strings["or visit "] = "eller besök ";
+$a->strings["3. Click [Connect]"] = "3. Klicka [Ta kontakt]";
+$a->strings["No such group"] = "Ingen sådan grupp";
+$a->strings["Search Results For:"] = "Sökresultat för:";
+$a->strings["Collection is empty"] = "Kretsen är tom";
+$a->strings["Collection: "] = "Krets: ";
+$a->strings["Connection: "] = "Kontakt:";
+$a->strings["Invalid connection."] = "Ogiltig kontakt.";
+$a->strings["Invalid request identifier."] = "Ogiltigt ID på förfrågan.";
+$a->strings["Discard"] = "Förkasta";
+$a->strings["No more system notifications."] = "Inga fler systemnotifieringar.";
+$a->strings["System Notifications"] = "Systemnotifieringar";
+$a->strings["[Embedded content - reload page to view]"] = "[Inbäddat innehåll - ladda om sidan för att visa]";
+$a->strings["Remote privacy information not available."] = "Icke-lokal integritetsinformation är inte tillgänglig";
+$a->strings["Visible to:"] = "Kan ses av:";
+$a->strings["No connections."] = "Inga kontakter.";
+$a->strings["Visit %s's profile [%s]"] = "Besök %ss profil [%s]";
+$a->strings["View Connnections"] = "Visa kontakter";
+$a->strings["Hub not found."] = "Hubb hittades inte.";
+$a->strings["Total votes"] = "Totalt antal röster";
$a->strings["Average Rating"] = "Genomsnittsbetyg";
+$a->strings["OpenID protocol error. No ID returned."] = "Protokollfel för OpenID. Inget ID returnerades.";
+$a->strings["Welcome %s. Remote authentication successful."] = "Välkommen %s. Fjärrinloggning lyckades.";
+$a->strings["Wall Photos"] = "Väggfoton";
$a->strings["Profile Match"] = "Profilträff";
$a->strings["No keywords to match. Please add keywords to your default profile."] = "Inga nyckelord att matcha mot. Lägg till några nyckelord i din standardprofil.";
$a->strings["is interested in:"] = "är intresserad av:";
$a->strings["No matches"] = "Inga träffar";
-$a->strings["Away"] = "Borta";
-$a->strings["Online"] = "Online";
-$a->strings["OpenID protocol error. No ID returned."] = "Protokollfel för OpenID. Inget ID returnerades.";
-$a->strings["Welcome %s. Remote authentication successful."] = "Välkommen %s. Fjärrautentisering lyckades.";
-$a->strings["Edit Layout"] = "Redigera layout";
-$a->strings["Delete layout?"] = "Ta bort layout?";
-$a->strings["Delete Layout"] = "Ta bort layout";
-$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fjärrautentisering blockerades. Du är inloggad på den här servern lokalt. Logga ut och försök igen.";
-$a->strings["Fetching URL returns error: %1\$s"] = "Hämtning av URL returnerade fel: %1\$s";
-$a->strings["Image uploaded but image cropping failed."] = "Bilden laddades upp men beskärning misslyckades.";
-$a->strings["Image resize failed."] = "Ändring av bildstorlek misslyckades.";
-$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Shift-uppdatera sidan eller rensa webbläsarcachen om det nya fotot inte visas direkt.";
-$a->strings["Image exceeds size limit of %d"] = "Bilden överskrider storleksbegränsningen %d";
-$a->strings["Unable to process image."] = "Kunde inte behandla bilden.";
-$a->strings["Photo not available."] = "Fotot är inte tillgängligt.";
-$a->strings["Upload File:"] = "Ladda upp fil:";
-$a->strings["Select a profile:"] = "Välj en profil:";
-$a->strings["Upload Profile Photo"] = "Ladda upp profilfoto";
-$a->strings["Upload"] = "Ladda upp";
-$a->strings["skip this step"] = "hoppa över det här steget";
-$a->strings["select a photo from your photo albums"] = "välj ett foto från dina fotoalbum";
-$a->strings["Crop Image"] = "Beskär bild";
-$a->strings["Please adjust the image cropping for optimum viewing."] = "Justera bildens beskärning för bästa utseende.";
-$a->strings["Done Editing"] = "Klar med redigering";
-$a->strings["Image uploaded successfully."] = "Bilduppladdning lyckades.";
-$a->strings["Image upload failed."] = "Bilduppladdning misslyckades.";
-$a->strings["Image size reduction [%s] failed."] = "Krympning av bilden [%s] misslyckades.";
-$a->strings["Blocked"] = "Blockerade";
-$a->strings["Ignored"] = "Ignorerade";
-$a->strings["Hidden"] = "Dolda";
-$a->strings["Archived"] = "Arkiverade";
-$a->strings["All"] = "Alla";
-$a->strings["Unconnected"] = "Ej anslutna";
-$a->strings["Suggest new connections"] = "Föreslå nya kontakter";
-$a->strings["New Connections"] = "Nya kontakter";
-$a->strings["Show pending (new) connections"] = "Visa väntande (nya) kontakter";
-$a->strings["Show all connections"] = "Visa alla kontakter";
-$a->strings["Unblocked"] = "Ej blockerade";
-$a->strings["Only show unblocked connections"] = "Visa endast ej blockerade kontakter";
-$a->strings["Only show blocked connections"] = "Visa endast blockerade kontakter";
-$a->strings["Only show ignored connections"] = "Visa endast ignorerade kontakter";
-$a->strings["Only show archived connections"] = "Visa endast arkiverade kontakter";
-$a->strings["Only show hidden connections"] = "Visa endast dolda kontakter";
-$a->strings["Only show one-way connections"] = "Visa endast enkelriktade kontakter";
-$a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-$a->strings["Edit contact"] = "Redigera kontakt";
-$a->strings["Search your connections"] = "Sök bland dina kontakter";
-$a->strings["Finding: "] = "Sökning efter: ";
-$a->strings["Invalid request identifier."] = "Ogiltigt ID på förfrågan.";
-$a->strings["Discard"] = "Förkasta";
-$a->strings["No more system notifications."] = "Inga fler systemnotifieringar.";
-$a->strings["System Notifications"] = "Systemnotifieringar";
+$a->strings["Conversation removed."] = "Konversation borttagen.";
+$a->strings["No messages."] = "Inga meddelanden.";
+$a->strings["D, d M Y - g:i A"] = "D, j M Y - H:i";
+$a->strings["Add a Channel"] = "Lägg till en kanal";
+$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "En kanal är din egen samling av relaterade webbsidor. En kanal kan användas för att innehålla sociala nätverksprofiler, bloggar, konversationsgrupper och forum, fansidor, och mycket mer. Du kan skapa så många kanaler som din tjänsteleverantör tillåter.";
+$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Exempel: \"Bob Jameson\", \"Lisa och hennes hästar\", \"Fotboll\", \"Flyggruppen\" ";
+$a->strings["Choose a short nickname"] = "Välj ett kort smeknamn";
+$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Ditt smeknamn används för att skapa en kanaladress som är lätt att komma ihåg (som en e-postadress) som du kan dela med andra.";
+$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Eller <a href=\"import\">importera en befintlig kanal</a> från en annan plats";
+$a->strings["Channel Type"] = "Kanaltyp";
+$a->strings["?"] = "?";
+$a->strings["What is this?"] = "Vad är detta?";
+$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Välj en kanaltyp (som till exempel socialt nätverkande eller gemenskapsforum) och integritetskrav, så kan vi välja de bästa behörigheterna åt dig";
+$a->strings["Xchan Lookup"] = "Xchan-sökning";
+$a->strings["Lookup xchan beginning with (or webbie): "] = "Sök efter xchan som börjar med (eller webbie): ";
+$a->strings["invalid target signature"] = "ogiltig målsignatur";
$a->strings["Unable to find your hub."] = "Kunde inte hitta din hubb.";
$a->strings["Post successful."] = "Sändning lyckades.";
-$a->strings["Edit Webpage"] = "Redigera webbsida";
-$a->strings["Delete webpage?"] = "Ta bort webbsida?";
-$a->strings["Delete Webpage"] = "Ta bort webbsida";
-$a->strings["Channel added."] = "Kanal tillagd.";
-$a->strings["Poke/Prod"] = "Puffa/stöt till";
-$a->strings["poke, prod or do other things to somebody"] = "puffa, stöt till eller gör andra saker mot någon";
-$a->strings["Recipient"] = "Mottagare";
-$a->strings["Choose what you wish to do to recipient"] = "Välj vad du önskar göra med mottagaren";
-$a->strings["Make this post private"] = "Gör det här inlägget privat";
-$a->strings["Wall Photos"] = "Väggfoton";
-$a->strings["Insufficient permissions. Request redirected to profile page."] = "Otillräckliga behörigheter. Förfrågan omdirigerad till profilsidan.";
-$a->strings["Contact not found."] = "Kontakten hittades inte.";
-$a->strings["Friend suggestion sent."] = "Vänförfrågan skickad.";
-$a->strings["Suggest Friends"] = "Föreslå vänner";
-$a->strings["Suggest a friend for %s"] = "Föreslå en vän för %s";
+$a->strings["Gender: "] = "Kön:";
$a->strings["Status: "] = "Status: ";
-$a->strings["Sexual Preference: "] = "Sexuell preferens: ";
$a->strings["Homepage: "] = "Hemsida: ";
$a->strings["Hometown: "] = "Hemort: ";
$a->strings["About: "] = "Om: ";
+$a->strings["Public Forum:"] = "Offentligt forum:";
$a->strings["Keywords: "] = "Nyckelord: ";
-$a->strings["Permission Denied."] = "Behörighet saknas.";
-$a->strings["File not found."] = "Filen hittas inte.";
-$a->strings["Edit file permissions"] = "Redigera filrättigheter";
-$a->strings["Include all files and sub folders"] = "Inkludera alla filer och underkataloger";
-$a->strings["Return to file list"] = "Återgå till fillistan";
-$a->strings["Copy/paste this code to attach file to a post"] = "Kopiera/klistra in den här koden för att bifoga filen i ett inlägg";
-$a->strings["Copy/paste this URL to link file from a web page"] = "Kopiera/klistra in den här URL:en för att länka till filen från en webbsida";
-$a->strings["Download"] = "Ladda ner";
-$a->strings["Used: "] = "Använt: ";
-$a->strings["[directory]"] = "[katalog]";
-$a->strings["Limit: "] = "Gräns: ";
-$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Inga förslag tillgängliga. Om det här är en ny server, försök igen om 24 timmar.";
-$a->strings["Conversation removed."] = "Konversation borttagen.";
-$a->strings["No messages."] = "Inga meddelanden.";
-$a->strings["D, d M Y - g:i A"] = "D, j M Y - H:i";
-$a->strings["Public Sites"] = "Offentliga servrar";
-$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "De listade servrarna tillåter offentlig registrering i Red Matrix. Alla servrar i matrisen är sammankopplade, så medlemskap i en av dem medför medlemskap i matrisen som helhet. Vissa servrar kan kräva abonnemang eller erbjuda uppdelade tjänstenivåer. Leverantörslänkarna <strong>kan</strong> ge ytterligare detaljer.";
-$a->strings["Site URL"] = "Server-URL";
-$a->strings["Access Type"] = "Ã…tkomsttyp";
-$a->strings["Registration Policy"] = "Registreringspolicy";
-$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximalt antal dagliga serverregistreringar överskridet. Försök igen i morgon.";
-$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Välj huruvida du accepterar användarvillkoren. Registrering misslyckades.";
-$a->strings["Passwords do not match."] = "Lösenorden stämmer inte överens.";
-$a->strings["Registration successful. Please check your email for validation instructions."] = "Registrering lyckades. Kontrollera din e-post för valideringsinstruktioner.";
-$a->strings["Your registration is pending approval by the site owner."] = "Din registrering väntar på att bli godkänd av serverägaren.";
-$a->strings["Your registration can not be processed."] = "Din registrering kan inte behandlas.";
-$a->strings["Registration on this site/hub is by approval only."] = "Registrering på den här servern/hubben måste godkännas.";
-$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrera dig på en annan ansluten server/hubb</a>";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Antal dagliga registreringar som tillåts på den här servern har överskridits. Försök igen i morgon.";
-$a->strings["Terms of Service"] = "användarvillkor";
-$a->strings["I accept the %s for this website"] = "Jag accepterar den här webbplatsens %s";
-$a->strings["I am over 13 years of age and accept the %s for this website"] = "Jag är över 13 år och accepterar den här webbplatsens %s";
-$a->strings["Membership on this site is by invitation only."] = "Medlemskap på den här servern kan endast fås genom inbjudan.";
-$a->strings["Please enter your invitation code"] = "Ange din inbjudningskod";
-$a->strings["Your email address"] = "Din e-postadress";
-$a->strings["Choose a password"] = "Välj ett lösenord";
-$a->strings["Please re-enter your password"] = "Ange lösenordet igen";
-$a->strings["Please login."] = "Logga in.";
-$a->strings["Remove This Channel"] = "Ta bort den här kanalen";
-$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Det här kommer att ta bort den här kanalen helt från nätverket. När det är gjort går det inte att återställa den.";
-$a->strings["Please enter your password for verification:"] = "Ange ditt lösenord för att bekräfta:";
-$a->strings["Remove this channel and all its clones from the network"] = "Ta bort den här kanalen och alla dess kloner från nätverket";
-$a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Som standard kommer bara den här hubbens instans av kanalen att tas bort från nätverket";
-$a->strings["Remove Channel"] = "Ta bort kanal";
-$a->strings["Page owner information could not be retrieved."] = "Information om sidans ägare kunde inte hittas.";
-$a->strings["Album not found."] = "Albumet hittades inte.";
-$a->strings["Delete Album"] = "Ta bort album";
-$a->strings["Delete Photo"] = "Ta bort foto";
-$a->strings["No photos selected"] = "Inga foton valda";
-$a->strings["Access to this item is restricted."] = "Åtkomst till den här posten är begränsat.";
-$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "Du har använt %1$.2f MB av %2$.2f MB fotoutrymme.";
-$a->strings["You have used %1$.2f Mbytes of photo storage."] = "Du har använt %1$.2f MB fotoutrymme.";
-$a->strings["Upload Photos"] = "Ladda upp foton";
-$a->strings["New album name: "] = "Namn på nytt album: ";
-$a->strings["or existing album name: "] = "eller befintligt albumnamn: ";
-$a->strings["Do not show a status post for this upload"] = "Visa inte en statusuppdatering för den här uppladdningen";
-$a->strings["Contact Photos"] = "Kontaktfoton";
-$a->strings["Edit Album"] = "Redigera album";
-$a->strings["Show Newest First"] = "Visa nyast först";
-$a->strings["Show Oldest First"] = "Visa äldst först";
-$a->strings["View Photo"] = "Visa foto";
-$a->strings["Permission denied. Access to this item may be restricted."] = "Behörighet saknas. Åtkomst till den här posten kan vara begränsat.";
-$a->strings["Photo not available"] = "Foto inte tillgängligt";
-$a->strings["Use as profile photo"] = "Använd som profilfoto";
-$a->strings["View Full Size"] = "Visa fullstorlek";
-$a->strings["Edit photo"] = "Redigera foto";
-$a->strings["Rotate CW (right)"] = "Rotera medurs (höger)";
-$a->strings["Rotate CCW (left)"] = "Rotera moturs (vänster)";
-$a->strings["New album name"] = "Nytt albumnamn";
-$a->strings["Caption"] = "Bildtext";
-$a->strings["Add a Tag"] = "Lägg till en tagg";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "Exempel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping";
-$a->strings["In This Photo:"] = "PÃ¥ fotot:";
-$a->strings["View Album"] = "Visa album";
-$a->strings["Recent Photos"] = "Nya foton";
-$a->strings["Mood"] = "Sinnesstämning";
-$a->strings["Set your current mood and tell your friends"] = "Ange din nuvarande sinnesstämning och visa för dina vänner";
-$a->strings["sent you a private message"] = "skickade ett privat meddelande till dig";
-$a->strings["added your channel"] = "lade till din kanal";
-$a->strings["posted an event"] = "skapade en händelse";
+$a->strings["Finding:"] = "Sökning efter:";
+$a->strings["next page"] = "nästa sida";
+$a->strings["previous page"] = "föregående sida";
+$a->strings["No entries (some entries may be hidden)."] = "Inga resultat (vissa resultat kan vara dolda).";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fjärrinloggning blockerades. Du är inloggad på den här servern lokalt. Logga ut och försök igen.";
+$a->strings["App installed."] = "App installerad.";
+$a->strings["Malformed app."] = "Felaktig app.";
+$a->strings["Embed code"] = "Bädda in kod";
+$a->strings["Edit App"] = "Redigera app";
+$a->strings["Create App"] = "Skapa app";
+$a->strings["Name of app"] = "Namn på app";
+$a->strings["Location (URL) of app"] = "Adress (URL) för app";
+$a->strings["Photo icon URL"] = "Fotoikon URL";
+$a->strings["80 x 80 pixels - optional"] = "80 x 80 pixlar - valfri";
+$a->strings["Version ID"] = "Versions-ID";
+$a->strings["Price of app"] = "Pris på app";
+$a->strings["Location (URL) to purchase app"] = "Adress (URL) för att köpa app";
+$a->strings["Poll"] = "Opinionsundersökning";
+$a->strings["View Results"] = "Visa resultat";
+$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Borttagning av konto tillåts inte inom 48 timmar efter att kontolösenordet har ändrats.";
+$a->strings["Remove This Account"] = "Ta bort kontot";
+$a->strings["This will completely remove this account including all its channels from the network. Once this has been done it is not recoverable."] = "Det här kommer att ta bort kontot fullständigt från nätverket, inklusive alla dess kanaler. När detta har gjorts går det inte att ångra.";
+$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Ta bort kontot, alla dess kanaler och alla kanalkopior från nätverket";
+$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Som standard tas bara instanser av kanaler som finns på den här servern bort från nätverket";
+$a->strings["No service class restrictions found."] = "Inga tjänsteklassbegränsningar hittades.";
+$a->strings["Schema Default"] = "Schemats standard";
+$a->strings["Sans-Serif"] = "Sans-serif";
+$a->strings["Monospace"] = "Monospace";
$a->strings["Theme settings"] = "Temainställningar";
$a->strings["Set scheme"] = "Välj variant";
-$a->strings["Narrow navbar"] = "Smal navigeringslist";
-$a->strings["Navigation bar background colour"] = "Navigeringslistens bakgrundsfärg";
-$a->strings["Navigation bar gradient top colour"] = "Övre gradientfärg i navigeringslisten";
-$a->strings["Navigation bar gradient bottom colour"] = "Undre gradientfärg i navigeringslisten";
-$a->strings["Navigation active button gradient top colour"] = "Övre gradientfärg på aktiv knapp i navigeringslisten";
-$a->strings["Navigation active button gradient bottom colour"] = "Undre gradientfärg på aktiv knapp i navigeringslisten";
-$a->strings["Navigation bar border colour "] = "Färg på navigeringslistens kant";
-$a->strings["Navigation bar icon colour "] = "Färg på ikoner i navigeringslisten";
-$a->strings["Navigation bar active icon colour "] = "Färg på aktiv ikon i navigeringslisten";
-$a->strings["link colour"] = "Länkfärg";
-$a->strings["Set font-colour for banner"] = "Välj textfärg för sidhuvudet";
-$a->strings["Set the background colour"] = "Välj bakgrundsfärg";
-$a->strings["Set the background image"] = "Välj bakgrundsbild";
-$a->strings["Set the background colour of items"] = "Välj bakgrundsfärg för inlägg";
-$a->strings["Set the opacity of items"] = "Välj opacitet för inlägg";
-$a->strings["Set the basic colour for item icons"] = "Välj basfärg för inläggsikoner";
-$a->strings["Set the hover colour for item icons"] = "Välj färg på inläggsikon under muspekare";
-$a->strings["Set font-size for the entire application"] = "Välj textstorlek för hela applikationen";
$a->strings["Set font-size for posts and comments"] = "Välj textstorlek för inlägg och kommentarer";
-$a->strings["Set font-colour for posts and comments"] = "Välj textfärg för inlägg och kommentarer";
-$a->strings["Set radius of corners"] = "Välj hörnradie";
-$a->strings["Set shadow depth of photos"] = "Välj skuggdjup för foton";
-$a->strings["Set maximum width of conversation regions"] = "Välj maxbredd på konversationsfält";
-$a->strings["Center conversation regions"] = "Centrera konversationsfält";
-$a->strings["Set minimum opacity of nav bar - to hide it"] = "Välj lägsta opacitet för navigeringslisten - för att dölja den";
-$a->strings["Set size of conversation author photo"] = "Välj storlek på foto för trådskapare";
-$a->strings["Set size of followup author photos"] = "Välj storlek på svarande personers foton";
-$a->strings["Sloppy photo albums"] = "Oordnade fotoalbum";
-$a->strings["Are you a clean desk or a messy desk person?"] = "Föredrar du ett tomt eller stökigt skrivbord?";
-$a->strings["Schema Default"] = "Temavariantens standard";
-$a->strings["Sans-Serif"] = "Sans-serif";
-$a->strings["Monospace"] = "Fast bredd";
$a->strings["Set font face"] = "Välj teckensnitt";
$a->strings["Set iconset"] = "Välj ikontema";
-$a->strings["Set big shadow size, default 15px 15px 15px"] = "Välj stor skuggstorlek, standard 15px 15px 15px";
+$a->strings["Set big shadow size, default 15px 15px 15px"] = "Välj stor skuggstorlek, standard 15px 15px 15px ";
$a->strings["Set small shadow size, default 5px 5px 5px"] = "Välj liten skuggstorlek, standard 5px 5px 5px";
-$a->strings["Set shadow colour, default #000"] = "Välj skuggfärg, standard #000";
+$a->strings["Set shadow color, default #000"] = "Välj skuggfärg, standard #000";
$a->strings["Set radius size, default 5px"] = "Välj radie, standard 5px";
$a->strings["Set line-height for posts and comments"] = "Välj radhöjd för inlägg och kommentarer";
$a->strings["Set background image"] = "Välj bakgrundsbild";
-$a->strings["Set background attachment"] = "Välj bakgrundsfixering";
-$a->strings["Set background colour"] = "Välj bakgrundsfärg";
+$a->strings["Set background attachment"] = "Välj fixerad bakgrund";
+$a->strings["Set background color"] = "Välj bakgrundsfärg";
$a->strings["Set section background image"] = "Välj bakgrundsbild för avsnitt";
-$a->strings["Set section background colour"] = "Välj bakgrundsfärg för avsnitt";
-$a->strings["Set colour of items - use hex"] = "Välj färg på inlägg - använd hex";
-$a->strings["Set colour of links - use hex"] = "Välj färg på länkar - använd hex";
-$a->strings["Set max-width for items. Default 400px"] = "Välj maxbredd för inlägg. Standard 400px";
-$a->strings["Set min-width for items. Default 240px"] = "Välj minbredd för inlägg. Standard 240px";
+$a->strings["Set section background color"] = "Välj bakgrundsfärg för avsnitt";
+$a->strings["Set color of items - use hex"] = "Välj färg på inlägg - använd hex";
+$a->strings["Set color of links - use hex"] = "Välj färg på länkar - använd hex";
+$a->strings["Set max-width for items. Default 400px"] = "Välj största bredd för inlägg. Standard 400px";
+$a->strings["Set min-width for items. Default 240px"] = "Välj minsta bredd för inlägg. Standard 240px";
$a->strings["Set the generic content wrapper width. Default 48%"] = "Välj bredd på fältet för allmänt innehåll. Standard 48%";
-$a->strings["Set colour of fonts - use hex"] = "Välj textfärg - använd hex";
+$a->strings["Set color of fonts - use hex"] = "Välj textfärg - använd hex";
$a->strings["Set background-size element"] = "Välj bakgrundsskala";
$a->strings["Item opacity"] = "Inläggsopacitet";
$a->strings["Display post previews only"] = "Visa endast förhandsgranskning av inlägg";
@@ -1783,9 +1943,37 @@ $a->strings["Right offset of the section element"] = "Höger offset för avsnitt
$a->strings["Section width"] = "Avsnittsbredd";
$a->strings["Left offset of the aside"] = "Vänster offset för sidoelement";
$a->strings["Right offset of the aside element"] = "Höger offset för sidoelement";
-$a->strings["None"] = "Inget";
-$a->strings["Header image"] = "Rubrikbild";
-$a->strings["Header image only on profile pages"] = "Rubrikbild endast på profilsidor";
+$a->strings["Light (Red Matrix default)"] = "Light (standard för Red Matrix)";
+$a->strings["Narrow navbar"] = "Smal navigeringslist";
+$a->strings["Navigation bar background color"] = "Navigeringslistens bakgrundsfärg";
+$a->strings["Navigation bar gradient top color"] = "Övre gradientfärg i navigeringslisten";
+$a->strings["Navigation bar gradient bottom color"] = "Undre gradientfärg i navigeringslisten";
+$a->strings["Navigation active button gradient top color"] = "Övre gradientfärg på aktiv knapp i navigeringslisten";
+$a->strings["Navigation active button gradient bottom color"] = "Undre gradientfärg på aktiv knapp i navigeringslisten";
+$a->strings["Navigation bar border color "] = "Färg på navigeringslistens kant";
+$a->strings["Navigation bar icon color "] = "Färg på ikoner i navigeringslisten";
+$a->strings["Navigation bar active icon color "] = "Färg på aktiv ikon i navigeringslisten";
+$a->strings["link color"] = "Länkfärg";
+$a->strings["Set font-color for banner"] = "Välj textfärg för sidhuvudet";
+$a->strings["Set the background color"] = "Välj bakgrundsfärg";
+$a->strings["Set the background image"] = "Välj bakgrundsbild";
+$a->strings["Set the background color of items"] = "Välj bakgrundsfärg för inlägg";
+$a->strings["Set the background color of comments"] = "Välj bakgrundsfärg för kommentarer";
+$a->strings["Set the border color of comments"] = "Välj kantfärg för kommentarer";
+$a->strings["Set the indent for comments"] = "Välj indrag för kommentarer";
+$a->strings["Set the basic color for item icons"] = "Välj basfärg för inläggsikoner";
+$a->strings["Set the hover color for item icons"] = "Välj färg på inläggsikon under muspekare";
+$a->strings["Set font-size for the entire application"] = "Välj textstorlek för hela applikationen";
+$a->strings["Set font-color for posts and comments"] = "Välj textfärg för inlägg och kommentarer";
+$a->strings["Set radius of corners"] = "Välj hörnradie";
+$a->strings["Set shadow depth of photos"] = "Välj skuggdjup för foton";
+$a->strings["Set maximum width of conversation regions"] = "Välj maxbredd på konversationsfält";
+$a->strings["Center conversation regions"] = "Centrera konversationsfält";
+$a->strings["Set minimum opacity of nav bar - to hide it"] = "Välj lägsta opacitet för navigeringslisten - för att dölja den";
+$a->strings["Set size of conversation author photo"] = "Välj storlek på foto för trådskapare";
+$a->strings["Set size of followup author photos"] = "Välj storlek på svarande personers foton";
+$a->strings["Sloppy photo albums"] = "Oordnade fotoalbum";
+$a->strings["Are you a clean desk or a messy desk person?"] = "Föredrar du ett tomt eller stökigt skrivbord?";
$a->strings["Update %s failed. See error logs."] = "Uppdatering %s misslyckades. Se felloggar.";
$a->strings["Update Error at %s"] = "Uppdateringsfel på %s";
$a->strings["Create an account to access services and applications within the Red Matrix"] = "Skapa ett konto för att komma åt tjänster och applikationer inom Red Matrix";
diff --git a/view/sv/update_fail_eml.tpl b/view/sv/update_fail_eml.tpl
index 26fc33db0..0abbf2cfa 100644
--- a/view/sv/update_fail_eml.tpl
+++ b/view/sv/update_fail_eml.tpl
@@ -1,13 +1,13 @@
Hej,
Jag är webbservern på {{$sitename}};
-Red Matrix-utvecklarna släppte nyligen uppdateringen {{$update}},
-men när jag försökte installera den gick något fruktansvärt fel.
-Detta behöver fixas snart och kräver en människas ingripande.
-Kontakta en Red-utvecklare om du inte kan lösa problemet själv.
-Min databas kan ha gått sönder.
+Red Matrix-utvecklarna släppte nyligen uppdateringen {{$update}},
+men när jag försökte installera den gick något fruktansvärt fel.
+Detta behöver fixas snart och kräver en människas ingripande.
+Kontakta en Red-utvecklare om du inte kan lösa problemet själv.
+Min databas kan ha gått sönder.
-Felmeddelandet är '{{$error}}'.
+Felmeddelandet är '{{$error}}'.
-Ursäkta besväret,
- din webbserver på {{$siteurl}}
+Ursäkta besväret,
+ din webbserver på {{$siteurl}} \ No newline at end of file
diff --git a/view/theme/redbasic/css/blockmode.css b/view/theme/redbasic/css/blockmode.css
new file mode 100644
index 000000000..cc1db209e
--- /dev/null
+++ b/view/theme/redbasic/css/blockmode.css
@@ -0,0 +1,15 @@
+
+.wall-item-content.conv-list-mode {
+ max-width: 280px;
+ height:200px;
+ min-height: 200px;
+ overflow: hidden;
+}
+
+.thread-wrapper.toplevel_item.conv-list-mode {
+ width: 300px;
+ height: 300px;
+ float: left;
+ margin-left: 5px;
+ margin-bottom: 35px;
+}
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index e62949520..842e7063a 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -13,7 +13,7 @@ html {
}
body {
- font-family: arial,freesans,sans-serif;
+ font-family: sans-serif, arial, freesans;
font-size: $body_font_size;
background-color: $bgcolour;
background-image: url('$background_image');
@@ -37,7 +37,7 @@ h5, .h5, h6, .h6 {
}
.jslider {
- font-family: arial,freesans,sans-serif;
+ font-family: sans-serif, arial, freesans;
}
abbr {
@@ -45,6 +45,10 @@ abbr {
}
/* icons */
+.tool-icons {
+ color: $toolicon_colour;
+}
+
.icon {
background-color: transparent ;
background-repeat: no-repeat;
@@ -84,17 +88,19 @@ a.btn-success {
input[type="text"],
input[type="password"],
input[type="submit"],
+input[type="file"],
select,
textarea {
- font-family: arial,freesans,sans-serif;
+ font-family: sans-serif, arial, freesans;
font-size: $body_font_size;
}
input {
+ padding: 5px;
+ line-height: 1.5;
border: 1px solid $input_border;
-moz-border-radius: $radiuspx;
border-radius: $radiuspx;
- padding: 3px;
}
input[type="submit"] {
@@ -105,10 +111,6 @@ input[type="submit"] {
padding: 6px 12px;
}
-input[type="submit"]:hover {
- text-decoration: underline;
-}
-
button, input, optgroup, select, textarea {
color: #000;
}
@@ -299,14 +301,12 @@ footer {
#main-login #id_remember {
float: left;
padding: 0;
- margin-top: 15px;
margin-bottom: 0;
margin-left: 0;
width: 20px;
}
-#main-login .field.checkbox label {
- margin-top: 15px;
+#main-login .field.checkbox > label {
margin-bottom: 0;
float: left;
width: 100px;
@@ -367,21 +367,18 @@ footer {
clear: both;
}
-
-.aprofile dt {
- font-weight: bold;
-}
#page-profile .title {
font-weight: bold;
}
-#profile-edit-wrapper .field label {
+#profile-edit-wrapper .field {
margin-top: 20px;
+}
+#profile-edit-wrapper .field > label {
width: 175px;
}
#profile-edit-wrapper .field input[type="text"] {
- margin-top: 20px;
width: 220px;
}
@@ -415,14 +412,6 @@ footer {
font-weight: normal;
}
-#profile-like {
- margin-left: 15px;
-}
-
-#profile-like-wrapper {
- margin-bottom: 15px;
-}
-
.fn {
font-weight: bold;
font-size: 16px;
@@ -593,10 +582,17 @@ footer {
}
.app-name {
- width: 125px;
overflow: none;
}
+.app-container img {
+ margin-left: auto;
+ margin-right: auto;
+ width: 80px;
+ height: 80px;
+ display: block;
+}
+
.pager {
padding: 10px;
@@ -692,21 +688,7 @@ footer {
overflow: hidden;
}
-#photos-upload-perms-menu, #photos-upload-perms-menu:visited, #photos-upload-perms-menu:link {
- color: #8888FF;
- text-decoration: none;
- cursor: pointer;
-}
-
-#photos-upload-perms-menu:hover {
- color: #0000FF;
- text-decoration: underline;
- cursor: pointer;
-}
-
-#photo-album-edit-wrapper,
-#photo-view-wrapper,
-#photo-edit-edit {
+#photo-view-wrapper {
background-color: $item_colour;
}
@@ -850,6 +832,11 @@ footer {
margin-bottom: 25px;
}
+
+#conversation-end {
+ clear: both;
+}
+
#nav-searchbar {
float: right;
margin-top: 2px;
@@ -869,6 +856,7 @@ footer {
}
#nav-search-text {
+ font-size: 12px;
height: 20px;
margin: 15px;
padding: 0px 5px 0px 5px;
@@ -1040,7 +1028,7 @@ footer {
background: none repeat scroll 0% 0% $cal_bgcolour !important;
}
-#fancybox-content {
+#colorbox {
border: 0px solid $fancybox_bgcolour;
background-color: $fancybox_bgcolour;
}
@@ -1233,10 +1221,6 @@ footer {
margin-bottom: 15px;
}
-#cloud-index td {
- padding:5px;
-}
-
/**
* Plugins settings
*/
@@ -1257,7 +1241,7 @@ footer {
width: 100%
}
-.field label {
+.field > label {
float: left;
width: 350px;
}
@@ -1311,6 +1295,8 @@ footer {
.hidden { display: none!important; }
.field.radio .field_help { margin-left: 0px; }
+.field.checkbox .field_help { display: inline; margin-left: 10px; }
+
/**
* OAuth
@@ -1344,35 +1330,8 @@ footer {
margin-top: 10px;
}
-
-
-/* autocomplete popup */
-.acpopup {
- max-height:150px;
- background-color:$acpopup_bgcolour;
- overflow:auto;
- border:1px solid $acpopup_bordercolour;
-}
-.acpopupitem {
- background-color:$acpopup_bgcolour;
- clear:left;
-}
-.acpopupitem.taggable {
- background-color: $acpopup_tgbl_bgcolour;
-}
-.acpopupitem img {
- float: left;
- margin-right: 4px;
-}
-
-.acpopupitem:hover {
- text-decoration: underline;
- color: $acpopup_hovercolour;
- cursor:pointer;
-}
-
-.acpopupitem.selected {
- color: #FFFFFF; background: #3465A4;
+.acpopup li div.taggable {
+ color:#cc0000;
}
/* popup notifications */
@@ -1404,7 +1363,7 @@ div.jGrowl div.jGrowl-notification {
#nav-search-text-ac .autocomplete {
position: fixed;
- top: 51px;
+ top: 50px;
border: 1px solid $nav_bd;
border-top: none;
}
@@ -1657,17 +1616,6 @@ header {
font-size : 2.8em !important;
}
-.profile-thing-list {
- list-style-type: none;
-}
-
-.profile-thing-list img {
- margin-bottom: 5px;
-}
-
-.profile-thing-list li {
- margin-bottom: 15px;
-}
div.page-list-item {
margin: 20px;
@@ -1763,44 +1711,23 @@ img.mail-list-sender-photo {
max-width: $converse_width;
}
-#jot-title,
-#jot-category,
-#jot-pagetitle {
+.jothidden {
font-weight: bold;
- border: solid 1px #ffffff;
border-radius: $radiuspx;
}
-#jot-category::-webkit-input-placeholder {
- font-weight: bold;
-}
-
-#jot-category:-moz-placeholder {
- font-weight: bold;
-}
-
-#jot-title::-webkit-input-placeholder {
- font-weight: bold;
-}
-
-#jot-title:-moz-placeholder {
+.jothidden input::-webkit-input-placeholder {
font-weight: bold;
}
-#jot-pagetitle::-webkit-input-placeholder {
+.jothidden input::-moz-placeholder {
font-weight: bold;
}
-#jot-pagetitle:-moz-placeholder {
- font-weight: bold;
+.jothidden >input, .jothidden >input {
+ border: 1px solid #fff;
}
-
-#jot-title:hover,
-#jot-title:focus,
-#jot-pagetitle:hover,
-#jot-pagetitle:focus,
-#jot-category:hover,
-#jot-category:focus {
+.jothidden >input:hover, .jothidden >input:focus {
border: 1px solid #cccccc;
}
@@ -1836,7 +1763,6 @@ img.mail-list-sender-photo {
color: #777;
}
-#jot-perms-icon,
.jot-icons {
color: $toolicon_colour;
}
@@ -2018,10 +1944,6 @@ img.mail-list-sender-photo {
-moz-border-radius: $radiuspx;
}
-#saved-search-ul {
- list-style-type: none;
-}
-
.fileas-ul {
list-style-type: none;
}
@@ -2031,15 +1953,6 @@ img.mail-list-sender-photo {
border-radius: $radiuspx;
-moz-border-radius: $radiuspx;
}
-/*
-.categories-ul {
- list-style-type: none;
-}
-
-#sidebar-group-list ul, #posted-date-selector {
- list-style-type: none;
-}
-*/
.profile-thing-list img, .thing-show img, .thing-edit-links a {
margin-top: 8px;
@@ -2065,26 +1978,16 @@ img.mail-list-sender-photo {
.chat-item-text {
border-radius: $radiuspx;
- background-color: #eee;
+ background-color: $chat_txtbgcol;
}
/* nav bootstrap */
-nav i {
- font-size: 14px;
-}
nav img {
- height: 47px;
- width: 47px;
- margin-top: 2px;
border-radius: $radiuspx;
}
-nav ul li {
- max-height: 50px
-}
-
nav .dropdown-menu {
font-size: $body_font_size;
border-top-right-radius: 0px;
@@ -2116,17 +2019,44 @@ nav .dropdown-menu>li>a:hover,nav .dropdown-menu>li>a:focus{
color: $nav_active_icon_colour;
}
-/* Files */
+.section-title-wrapper {
+ padding: 7px 10px;
+ background-color: $item_colour;
+ border-top-left-radius: $radiuspx;
+ border-top-right-radius: $radiuspx;
+ margin-bottom: 3px;
+}
-#attach-edit-perms {
- margin-top: 25px;
- margin-bottom: 20px;
- font-weight: bold;
- font-size: 17px;
+.section-title-wrapper h2 {
+ margin-top: 0px;
+ margin-bottom: 0px;
}
-/* bootstrap overrides */
+.section-content-tools-wrapper {
+ padding: 7px 10px;
+ background-color: $comment_item_colour;
+ margin-bottom: 3px;
+}
+
+.section-content-wrapper {
+ padding: 7px 10px;
+ background-color: $comment_item_colour;
+ border-bottom-left-radius: $radiuspx;
+ border-bottom-right-radius: $radiuspx;
+}
+
+.section-content-wrapper-np {
+ background-color: $comment_item_colour;
+ border-bottom-left-radius: $radiuspx;
+ border-bottom-right-radius: $radiuspx;
+}
+
+[id^="cloud-index-"]:hover,
+.cloud-index-active {
+ background-color: $item_colour;
+}
+/* bootstrap overrides */
blockquote {
font-size: $font_size;
@@ -2142,6 +2072,24 @@ blockquote {
border-radius: $radiuspx;
}
+nav .badge:hover {
+ background-color: #999;
+}
+
+nav .badge.home-update,
+nav .badge.notify-update,
+nav .badge.intro-update,
+nav .badge.mail-update {
+ background-color:#C9302C;
+}
+
+nav .badge.home-update:hover,
+nav .badge.notify-update:hover,
+nav .badge.intro-update:hover,
+nav .badge.mail-update:hover {
+ background-color:#D9534F;
+}
+
.dropdown-menu {
font-size: $body_font_size;
border-radius: $radiuspx;
@@ -2164,10 +2112,6 @@ aside .nav > li > a:hover, aside .nav > li > a:focus {
background-color: $navaside_bghover;
}
-aside .nav-pills > li > a {
- padding: 6px 10px;
-}
-
.dropdown-menu img {
border-radius: $radiuspx;
}
@@ -2198,6 +2142,7 @@ aside .nav-pills > li > a {
.navbar-inverse .navbar-nav > li > a {
+ font-size: 12px;
color: $nav_icon_colour;
text-shadow: 0px 0px 0px;
}
@@ -2320,28 +2265,6 @@ aside .nav-pills > li > a {
background-image: linear-gradient(to bottom, $advperm_gradientcol 0px, $advperm_bgcolour 100%);
}
-.section-title-wrapper {
- padding: 7px 10px;
- background-color: $item_colour;
- border-top-left-radius: $radiuspx;
- border-top-right-radius: $radiuspx;
- margin-bottom: 3px;
-}
-
-.section-title-wrapper h2 {
- margin-top: 0px;
- margin-bottom: 0px;
-}
-
-.section-title-submenu {
- margin-top: 10px;
-}
-
-.section-title-submenu a {
- margin-right: 10px;
-}
-
-
@media screen and (max-width: 767px) {
aside#region_1 {
background: rgba(0, 0, 0, .1);
@@ -2384,7 +2307,112 @@ aside .nav-pills > li > a {
}
+/* release the navbar in landscape view on small devices */
+@media screen and (max-height: 320px) {
+ .navbar-fixed-top {
+ position: absolute;
+ }
+}
+
.shareable_element_text {
height: 300px;
width: 300px;
}
+
+.bb_observer {
+ color: red;
+}
+
+.bb_observer img {
+ border: 3px solid red !important;
+}
+
+.bootstrap-tagsinput .tag:before {
+ /* Copied from icon-asterisk, is there a better way to do it? */
+ font-family: FontAwesome;
+ font-weight: normal;
+ font-style: normal;
+ text-decoration: inherit;
+ content:"\f069";
+}
+
+/* Modified original CSS to match input in Redbasic */
+.bootstrap-tagsinput {
+ border-color:#fff;
+ background-color: #fff;
+ box-shadow: none;
+ display: inline-block;
+ border-radius: $radiuspx;
+ cursor: text;
+ padding: 0 6px;
+ width: 70% !important;
+}
+
+.jothidden .bootstrap-tagsinput:hover, .jothidden .bootstrap-tagsinput:focus {
+ border: 1px solid #cccccc;
+}
+
+/* Abusing theme-green is less work than makeing a new new one */
+.theme-green .back-bar .selected-bar { background-color: #000000; background-image: none; !important }
+
+
+/* Turn checkboxes into switches */
+.field.checkbox .fieldhelp { vertical-align:top; }
+.field.checkbox > div {
+ position: relative; width: 70px;
+ -webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
+ display:inline-block;
+}
+
+.field.checkbox input {
+ display: none;
+}
+
+.field.checkbox > div label {
+ display: block; overflow: hidden; cursor: pointer;
+ border: 2px solid #999999;
+ border-radius: 20px;
+ margin:0px;
+}
+
+.onoffswitch-inner {
+ display: block; width: 200%; margin-left: -100%;
+ -moz-transition: margin 0.3s ease-in 0s; -webkit-transition: margin 0.3s ease-in 0s;
+ -o-transition: margin 0.3s ease-in 0s; transition: margin 0.3s ease-in 0s;
+}
+
+.onoffswitch-inner:before, .onoffswitch-inner:after {
+ display: block; float: left; width: 50%; height: 20px; padding: 0; line-height:20px;
+ -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
+}
+
+.onoffswitch-inner:before {
+ content: attr(data-on);
+ padding-left: 10px;
+ background-color: #EEEEEE;
+}
+
+.onoffswitch-inner:after {
+ content: attr(data-off);
+ padding-right: 10px;
+ background-color: #EEEEEE; color: #999999;
+ text-align: right;
+}
+
+.onoffswitch-switch {
+ display: block; width: 25px; margin-left: 6px; margin-right: 6px; margin-top:5%; margin-bottom:5%;
+ background: #A1A1A1;
+ border: 2px solid #999999; border-radius: 20px;
+ position: absolute; top: 0; bottom: 0; right: 36px;
+ -moz-transition: all 0.3s ease-in 0s; -webkit-transition: all 0.3s ease-in 0s;
+ -o-transition: all 0.3s ease-in 0s; transition: all 0.3s ease-in 0s;
+}
+
+.field.checkbox > div > input:checked + label .onoffswitch-inner {
+ margin-left: 0;
+}
+
+.field.checkbox > div > input:checked + label .onoffswitch-switch {
+ right: -2px;
+ background-color: #27A1CA;
+}
diff --git a/view/theme/redbasic/php/style.php b/view/theme/redbasic/php/style.php
index 045ddc309..5d44a9b9d 100644
--- a/view/theme/redbasic/php/style.php
+++ b/view/theme/redbasic/php/style.php
@@ -108,7 +108,7 @@ if(! $a->install) {
if (! $navtabs_bgchover)
$navtabs_bgchover = "rgba(238,238,238,0.8)";
if (! $link_colour)
- $link_colour = "#428BCA";
+ $link_colour = "#337AB7";
if (! $navaside_bghover)
$navaside_bghover = "#eee";
if (! $link_font_weight)
@@ -226,7 +226,7 @@ if(! $a->install) {
if (! $input_linksubmit)
$input_linksubmit = "#0080FF";
if (! $input_border)
- $input_border = "#666";
+ $input_border = "#ccc";
if (! $input_colourhover)
$input_colourhover = "#333";
if (! $input_decohover)
@@ -272,6 +272,8 @@ if(! $a->install) {
$advperm_gradientcol = "#E8E8E8";
if(! $cal_bgcolour)
$cal_bgcolour = "#FCF8E3";
+ if(! $chat_txtbgcol)
+ $chat_txtbgcol = "#EEE";
if(! $fancybox_bgcolour)
$fancybox_bgcolour = "#FFF";
if (!$comment_padding)
@@ -409,6 +411,7 @@ $options = array (
'$advperm_bordercol' => $advperm_bordercol,
'$advperm_gradientcol' => $advperm_gradientcol,
'$cal_bgcolour' => $cal_bgcolour,
+'$chat_txtbgcol' => $chat_txtbgcol,
'$fancybox_bgcolour' => $fancybox_bgcolour,
'$pmenu_top' => $pmenu_top,
'$pmenu_reply' => $pmenu_reply,
diff --git a/view/theme/redbasic/php/theme_init.php b/view/theme/redbasic/php/theme_init.php
index 2fbca2ef0..dd4542e8a 100644
--- a/view/theme/redbasic/php/theme_init.php
+++ b/view/theme/redbasic/php/theme_init.php
@@ -4,15 +4,14 @@ head_add_css('library/font_awesome/css/font-awesome.min.css');
head_add_css('library/bootstrap/css/bootstrap-theme.min.css');
head_add_css('library/bootstrap/css/bootstrap.min.css');
head_add_css('view/css/bootstrap-red.css');
-head_add_css('library/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css');
+head_add_css('library/datetimepicker/jquery.datetimepicker.css');
//head_add_css('library/colorpicker/css/colorpicker.css');
head_add_css('library/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css');
require_once('view/php/theme_init.php');
head_add_js('library/bootstrap/js/bootstrap.min.js');
head_add_js('library/bootstrap/js/bootbox.min.js');
-head_add_js('library/bootstrap-datetimepicker/js/moment.min.js');
-head_add_js('library/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js');
+head_add_js('library/datetimepicker/jquery.datetimepicker.js');
//head_add_js('library/colorpicker/js/colorpicker.js');
head_add_js('library/bootstrap-colorpicker/dist/js/bootstrap-colorpicker.js');
//head_add_js('library/bootstrap-colorpicker/src/js/docs.js');
diff --git a/view/theme/redbasic/schema/dark.php b/view/theme/redbasic/schema/dark.php
index 51a6d23a4..0203d30cd 100644
--- a/view/theme/redbasic/schema/dark.php
+++ b/view/theme/redbasic/schema/dark.php
@@ -176,6 +176,8 @@
$advperm_gradientcol = "#1E1E1E";
if(! $cal_bgcolour)
$cal_bgcolour = "#333";
+ if(! $chat_txtbgcol)
+ $chat_txtbgcol = "#222";
if(! $fancybox_bgcolour)
$fancybox_bgcolour = "#1E1E1E";
if (!$admintable_hoverbgcol)
diff --git a/view/theme/redbasic/schema/simple_black_on_white.php b/view/theme/redbasic/schema/simple_black_on_white.php
index 2bf002bca..ddbcae495 100644
--- a/view/theme/redbasic/schema/simple_black_on_white.php
+++ b/view/theme/redbasic/schema/simple_black_on_white.php
@@ -176,6 +176,8 @@
$advperm_gradientcol = "#fff";
if(! $cal_bgcolour)
$cal_bgcolour = "#fff";
+ if(! $chat_txtbgcol)
+ $chat_txtbgcol = "#fff";
if(! $fancybox_bgcolour)
$fancybox_bgcolour = "#fff";
if (!$admintable_hoverbgcol)
diff --git a/view/theme/redbasic/schema/simple_green_on_black.php b/view/theme/redbasic/schema/simple_green_on_black.php
index 15adcf198..f034185f7 100644
--- a/view/theme/redbasic/schema/simple_green_on_black.php
+++ b/view/theme/redbasic/schema/simple_green_on_black.php
@@ -176,6 +176,8 @@ if (! $navaside_bghover)
$advperm_gradientcol = "#000";
if(! $cal_bgcolour)
$cal_bgcolour = "#000";
+ if(! $chat_txtbgcol)
+ $chat_txtbgcol = "#000";
if(! $fancybox_bgcolour)
$fancybox_bgcolour = "#000";
if (!$admintable_hoverbgcol)
diff --git a/view/theme/redbasic/schema/simple_white_on_black.php b/view/theme/redbasic/schema/simple_white_on_black.php
index 96450d835..95ede29ed 100644
--- a/view/theme/redbasic/schema/simple_white_on_black.php
+++ b/view/theme/redbasic/schema/simple_white_on_black.php
@@ -176,6 +176,8 @@
$advperm_gradientcol = "#000";
if(! $cal_bgcolour)
$cal_bgcolour = "#000";
+ if(! $chat_txtbgcol)
+ $chat_txtbgcol = "#000";
if(! $fancybox_bgcolour)
$fancybox_bgcolour = "#000";
if (!$admintable_hoverbgcol)
diff --git a/view/theme/redbasic/tpl/theme_settings.tpl b/view/theme/redbasic/tpl/theme_settings.tpl
index 70b42b6cd..adf2e632d 100644
--- a/view/theme/redbasic/tpl/theme_settings.tpl
+++ b/view/theme/redbasic/tpl/theme_settings.tpl
@@ -34,7 +34,7 @@
{{include file="field_input.tpl" field=$nav_min_opacity}}
{{include file="field_input.tpl" field=$top_photo}}
{{include file="field_input.tpl" field=$reply_photo}}
-{{include file="field_checkbox.tpl" field=$sloppy_photos}}
+{{*include file="field_checkbox.tpl" field=$sloppy_photos*}}
<script>
$(function(){
$('#id_redbasic_nav_bg,#id_redbasic_nav_gradient_top,#id_redbasic_nav_gradient_bottom,#id_redbasic_nav_active_gradient_top,#id_redbasic_nav_active_gradient_bottom').colorpicker();
diff --git a/view/tpl/abook_edit.tpl b/view/tpl/abook_edit.tpl
index 078eb4df4..bb20312fa 100755
--- a/view/tpl/abook_edit.tpl
+++ b/view/tpl/abook_edit.tpl
@@ -7,14 +7,27 @@
<div id="connection-flag-tabs">
{{$tabs}}
</div>
-{{/if}}
-
-{{if $self}}
-<div id="autoperm-desc" class="descriptive-paragraph">{{$autolbl}}</div>
+<div id="connection-edit-buttons">
+{{foreach $buttons as $b }}
+<button class="btn btn-sm btn-default" title="{{$b.title}}" onclick="window.location.href='{{$b.url}}'; return false;">{{$b.label}}</button>
+{{/foreach}}
{{/if}}
<div id="contact-edit-wrapper">
+<form id="abook-edit-form" action="connedit/{{$contact_id}}" method="post" >
+
+<div class="abook-permschange" style="display: none;">
+<div class="abook-perms-steps"><i class="icon-check"></i><br />{{$perms_step1}}</div>
+<div class="abook-perms-steps"><i class="icon-check-empty"></i><br />{{$perms_step2}}</div>
+<div class="abook-perms-steps"><i class="icon-check-empty"></i><br />{{$perms_step3}}</div>
+</div>
+
+<div class="abook-permssave" style="display: none;">
+<input class="contact-edit-submit" type="submit" name="done" value="{{$submit}}" />
+</div>
+
+
{{if $last_update}}
{{$lastupdtext}} {{$last_update}}
@@ -30,14 +43,18 @@
{{/if}}
-<form id="abook-edit-form" action="connedit/{{$contact_id}}" method="post" >
+
+{{if $self}}
+<div class="abook-autotext">
+<div id="autoperm-desc" class="descriptive-paragraph">{{$autolbl}}</div>
+{{include file="field_checkbox.tpl" field=$autoperms}}
+</div>
+{{/if}}
+
+
<input type="hidden" name="contact_id" value="{{$contact_id}}">
<input id="contact-closeness-mirror" type="hidden" name="closeness" value="{{$close}}" />
-<div class="abook-permschange" style="display: none;"></div>
-<div class="abook-permssave" style="display: none;">
-<input class="contact-edit-submit" type="submit" name="done" value="{{$submit}}" />
-</div>
{{if $is_pending}}
@@ -57,15 +74,6 @@
<h3>{{$permlbl}}</h3>
<div id="perm-desc" class="descriptive-text">{{$permnote}}</div>
-
-<br />
-
-<input class="contact-edit-submit" type="submit" name="done" value="{{$submit}}" />
-
-<div id="abook-advanced" class="fakelink" onclick="openClose('abook-advanced-panel');">{{$advanced}}</div>
-
-<div id="abook-advanced-panel" style="display: block;">
-
<table>
<tr><td></td><td class="abook-them">{{$them}}</td><td colspan="2" class="abook-me">{{$me}}</td><td></td></tr>
<tr><td colspan="5"><hr /></td></tr>
diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl
index 4babf5669..e8b779622 100755
--- a/view/tpl/acl_selector.tpl
+++ b/view/tpl/acl_selector.tpl
@@ -31,14 +31,14 @@
</div><!-- /.modal -->
<script>
-$(document).ready(function() {
- setTimeout( function () {
+//$(document).ready(function() {
+// setTimeout( function () {
if(typeof acl=="undefined"){
acl = new ACL(
baseurl+"/acl",
[ {{$allowcid}},{{$allowgid}},{{$denycid}},{{$denygid}} ]
);
}
- }, 5000 );
-});
+// }, 5000 );
+//});
</script>
diff --git a/view/tpl/admin_aside.tpl b/view/tpl/admin_aside.tpl
index 2ab3edcc2..013b72d50 100755
--- a/view/tpl/admin_aside.tpl
+++ b/view/tpl/admin_aside.tpl
@@ -18,7 +18,6 @@
<li><a href='{{$admin.channels.0}}'>{{$admin.channels.1}}</a></li>
<li><a href='{{$admin.plugins.0}}'>{{$admin.plugins.1}}</a></li>
<li><a href='{{$admin.themes.0}}'>{{$admin.themes.1}}</a></li>
- <li><a href='{{$admin.hubloc.0}}'>{{$admin.hubloc.1}}</a></li>
<li><a href='{{$admin.dbsync.0}}'>{{$admin.dbsync.1}}</a></li>
</ul>
</div>
diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl
index 8c62cb80f..caeddeecb 100755
--- a/view/tpl/admin_site.tpl
+++ b/view/tpl/admin_site.tpl
@@ -1,15 +1,15 @@
<script>
$(function(){
- $("#cnftheme").fancybox({
+ $("#cnftheme").colorbox({
width: 800,
- autoDimensions: false,
- onStart: function(){
+ onLoad: function(){
var theme = $("#id_theme :selected").val();
$("#cnftheme").attr('href',"{{$baseurl}}/admin/themes/"+theme);
},
onComplete: function(){
- $("div#fancybox-content form").submit(function(e){
+ $(this).colorbox.resize();
+ $("#colorbox form").submit(function(e){
var url = $(this).attr('action');
// can't get .serialize() to work...
var data={};
@@ -46,7 +46,6 @@
{{include file="field_select.tpl" field=$language}}
{{include file="field_select.tpl" field=$theme}}
{{include file="field_select.tpl" field=$theme_mobile}}
- {{include file="field_select.tpl" field=$theme_accessibility}}
{{include file="field_checkbox.tpl" field=$no_login_on_homepage}}
diff --git a/view/tpl/album_edit.tpl b/view/tpl/album_edit.tpl
index 84a47378b..f5495f149 100755
--- a/view/tpl/album_edit.tpl
+++ b/view/tpl/album_edit.tpl
@@ -1,15 +1,22 @@
-<div id="photo-album-edit-wrapper">
-<form name="photo-album-edit-form" id="photo-album-edit-form" action="photos/{{$nickname}}/album/{{$hexalbum}}" method="post" >
-
-
-<label id="photo-album-edit-name-label" for="photo-album-edit-name" >{{$nametext}}</label>
-<input type="text" name="albumname" value="{{$album}}" >
-
-<div id="photo-album-edit-name-end"></div>
+<div id="photo-album-edit-wrapper" class="section-content-tools-wrapper">
+ <form name="photo-album-edit-form" id="photo-album-edit-form" action="photos/{{$nickname}}/album/{{$hexalbum}}" method="post" >
+ <div class="form-group">
+ <label id="photo-album-edit-name-label" for="photo-album-edit-name">{{$nametext}}</label>
+ <input type="text" name="albumname" placeholder="{{$name_placeholder}}" value="{{$album}}" class="form-control" list="dl-album-edit" />
+ <datalist id="dl-album-edit">
+ {{foreach $albums as $al}}
+ {{if $al.text}}
+ <option value="{{$al.text}}">
+ {{/if}}
+ {{/foreach}}
+ </datalist>
+ </div>
+ <div class="form-group">
+ <button id="photo-album-edit-submit" type="submit" name="submit" class="btn btn-primary btn-sm pull-right" />{{$submit}}</button>
+ <button id="photo-album-edit-drop" type="submit" name="dropalbum" value="{{$dropsubmit}}" class="btn btn-danger btn-sm pull-left" onclick="return confirmDelete();" />{{$dropsubmit}}</button>
+ </div>
+ </form>
+ <div id="photo-album-edit-end" class="clear"></div>
+</div>
-<input id="photo-album-edit-submit" type="submit" name="submit" value="{{$submit}}" />
-<input id="photo-album-edit-drop" type="submit" name="dropalbum" value="{{$dropsubmit}}" onclick="return confirmDelete();" />
-</form>
-</div>
-<div id="photo-album-edit-end" ></div>
diff --git a/view/tpl/app.tpl b/view/tpl/app.tpl
index 4719f7f96..9f0b1746b 100644
--- a/view/tpl/app.tpl
+++ b/view/tpl/app.tpl
@@ -1,6 +1,6 @@
<div class="app-container">
<a href="{{$app.url}}" {{if $ap.target}}target="{{$ap.target}}" {{/if}}{{if $app.desc}}title="{{$app.desc}}{{if $app.price}} ({{$app.price}}){{/if}}"{{else}}title="{{$app.name}}"{{/if}}><img src="{{$app.photo}}" width="80" height="80" />
-<div class="app-name">{{$app.name}}</div>
+<div class="app-name" style="text-align:center;">{{$app.name}}</div>
</a>
{{if $app.type !== 'system'}}
{{if $purchase}}
diff --git a/view/tpl/apps.tpl b/view/tpl/apps.tpl
deleted file mode 100755
index d8e538cb7..000000000
--- a/view/tpl/apps.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-<h3>{{$title}}</h3>
-
-{{foreach $apps as $ap}}
-<div class="app-container">
-<a href="{{$ap.url}}" {{if $ap.target}}target="{{$ap.target}}" {{/if}}{{if $ap.hover}}title="{{$ap.hover}}"{{/if}}><img src="{{$ap.photo}}" width="80" height="80" />
-<div class="app-name">{{$ap.name}}</div>
-</a>
-</div>
-{{/foreach}}
-<div class="clear"></div>
-
diff --git a/view/tpl/atom_feed_dfrn.tpl b/view/tpl/atom_feed_dfrn.tpl
deleted file mode 100755
index 307001fbe..000000000
--- a/view/tpl/atom_feed_dfrn.tpl
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<feed xmlns="http://www.w3.org/2005/Atom"
- xmlns:thr="http://purl.org/syndication/thread/1.0"
- xmlns:at="http://purl.org/atompub/tombstones/1.0"
- xmlns:media="http://purl.org/syndication/atommedia"
- xmlns:dfrn="http://purl.org/macgirvin/dfrn/1.0"
- xmlns:as="http://activitystrea.ms/spec/1.0/"
- xmlns:georss="http://www.georss.org/georss"
- xmlns:poco="http://portablecontacts.net/spec/1.0"
- xmlns:ostatus="http://ostatus.org/schema/1.0"
- xmlns:statusnet="http://status.net/schema/api/1/" >
-
- <id>{{$feed_id}}</id>
- <title>{{$feed_title}}</title>
- <generator uri="http://friendica.com" version="{{$version}}">Friendica</generator>
- <link rel="license" href="http://creativecommons.org/licenses/by/3.0/" />
- {{$hub}}
- {{$salmon}}
- {{$community}}
-
- <updated>{{$feed_updated}}</updated>
-
- <author>
- <name dfrn:updated="{{$namdate}}" >{{$name}}</name>
- <uri dfrn:updated="{{$uridate}}" >{{$profile_page}}</uri>
- <link rel="photo" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" />
- <link rel="avatar" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" />
- {{$birthday}}
- </author>
diff --git a/view/tpl/attach_edit.tpl b/view/tpl/attach_edit.tpl
index e91b4c0c6..0147d35ba 100644
--- a/view/tpl/attach_edit.tpl
+++ b/view/tpl/attach_edit.tpl
@@ -1,36 +1,42 @@
-<div id="attach-edit-backlink">< <a href="{{$parentpath}}">{{$backlink}}</a></div>
-
-<h1>{{$header}}</h1>
-
<form action="filestorage/{{$channelnick}}/{{$file.id}}/edit" method="post" >
-
-<div id="attach-edit-perms" >
-<button class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" onclick="return false;">
- <i id="jot-perms-icon" class="icon-{{$lockstate}} jot-icons"></i>
-</button>
-{{$aclselect}} {{$file.filename}}
-</div>
-
-<input type="hidden" name="channelnick" value="{{$channelnick}}" />
-<input type="hidden" name="filehash" value="{{$file.hash}}" />
-<input type="hidden" name="uid" value="{{$uid}}" />
-<input type="hidden" name="fileid" value="{{$file.id}}" />
-
-{{if $isadir}}
-<div id="attach-edit-recurse" >
- <label id="attach-edit-recurse-text" for="attach-recurse-input" >{{$recurse}}</label>
- <input id="attach-recurse-input" type="checkbox" name="recurse" value="1" />
-</div>
-{{else}}
-<div class="cut-paste-desc">{{$cpdesc}}</div>
-<input type="text" id="cutpasteinput" name="cutpastelink" value="[attachment]{{$file.hash}},{{$file.revision}}[/attachment]" onclick="this.select();" /><br />
-{{/if}}
-
-<div class="cut-paste-desc">{{$cpldesc}}</div>
-<input type="text" id="linkpasteinput" name="cutpasteextlink" value="{{$cloudpath}}" onclick="this.select();"/><br />
-
-<div class="clear"></div>
-<input id="attach-edit-submit" type="submit" name="submit" value="{{$submit}}" />
+ <input type="hidden" name="channelnick" value="{{$channelnick}}" />
+ <input type="hidden" name="filehash" value="{{$file.hash}}" />
+ <input type="hidden" name="uid" value="{{$uid}}" />
+ <input type="hidden" name="fileid" value="{{$file.id}}" />
+
+ <div id="attach-edit-tools-share" class="btn-group form-group">
+ {{if !$isadir}}
+ <a href="/rpost?body=[attachment]{{$file.hash}},{{$file.revision}}[/attachment]" id="attach-btn" class="btn btn-default btn-xs" title="{{$attach_btn_title}}">
+ <i class="icon-paperclip jot-icons"></i>
+ </a>
+ {{/if}}
+ <button id="link-btn" class="btn btn-default btn-xs" type="button" onclick="openClose('link-code');" title="{{$link_btn_title}}">
+ <i class="icon-share jot-icons"></i>
+ </button>
+ </div>
+ <div id="attach-edit-tools-perms" class="form-group pull-right{{if $isadir}} btn-group{{/if}}">
+ {{if $isadir}}
+ <div id="attach-edit-perms-recurse" class="btn-group" data-toggle="buttons">
+ <label class="btn btn-default btn-xs" title="{{$recurse}}">
+ <input type="checkbox" autocomplete="off" name="recurse" value="1"><i class="icon-level-down jot-icons"></i>
+ </label>
+ </div>
+ {{/if}}
+ <div id="attach-edit-perms" class="btn-group">
+ <button id="dbtn-acl" class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" onclick="return false;">
+ <i id="jot-perms-icon" class="icon-{{$lockstate}} jot-icons"></i>
+ </button>
+ <button id="dbtn-submit" class="btn btn-primary btn-xs" type="submit" name="submit">
+ {{$submit}}
+ </button>
+ </div>
+ </div>
+
+ {{$aclselect}}
+
+ <div id="link-code" class="form-group">
+ <label for="">{{$cpldesc}}</label>
+ <input type="text" class="form-control" id="linkpasteinput" name="cutpasteextlink" value="{{$cloudpath}}" onclick="this.select();"/>
+ </div>
</form>
-
diff --git a/view/tpl/blocklist.tpl b/view/tpl/blocklist.tpl
index adf61f788..4068375cb 100644
--- a/view/tpl/blocklist.tpl
+++ b/view/tpl/blocklist.tpl
@@ -4,9 +4,9 @@
{{foreach $pages as $key => $items}}
{{foreach $items as $item}}
<div class="page-list-item">
- {{if $edit}}<a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil design-icons design-edit-icon"></i></a> {{/if}}
- {{if $view}}<a href="block/{{$channel}}/{{$item.title}}" title="{{$view}}"><i class="icon-external-link design-icons design-view-icon"></i></a> {{/if}}
- {{if $preview}}<a href="block/{{$channel}}/{{$item.title}}?iframe=true&width=80%&height=80%" title="{{$preview}}" class="webpage-preview" ><i class="icon-eye-open design-icons design-preview-icon"></i></a> {{/if}}
+ {{if $edit}}<a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil design-icons design-edit-icon btn btn-default"></i></a> {{/if}}
+ {{if $view}}<a href="block/{{$channel}}/{{$item.title}}" title="{{$view}}"><i class="icon-external-link design-icons design-view-icon btn btn-default"></i></a> {{/if}}
+ {{*if $preview}}<a href="block/{{$channel}}/{{$item.title}}?iframe=true&width=80%&height=80%" title="{{$preview}}" class="webpage-preview" ><i class="icon-eye-open design-icons design-preview-icon btn-btn-default"></i></a> {{/if*}}
{{$item.title}}
</div>
{{/foreach}}
diff --git a/view/tpl/build_query.tpl b/view/tpl/build_query.tpl
index 204b5114a..8110b70b1 100755
--- a/view/tpl/build_query.tpl
+++ b/view/tpl/build_query.tpl
@@ -22,6 +22,7 @@
var bParam_order = "{{$order}}";
var bParam_file = "{{$file}}";
var bParam_cats = "{{$cats}}";
+ var bParam_tags = "{{$tags}}";
var bParam_dend = "{{$dend}}";
var bParam_dbegin = "{{$dbegin}}";
var bParam_mid = "{{$mid}}";
@@ -46,6 +47,7 @@
if(bParam_order != "") bCmd = bCmd + "&order=" + bParam_order;
if(bParam_file != "") bCmd = bCmd + "&file=" + bParam_file;
if(bParam_cats != "") bCmd = bCmd + "&cat=" + bParam_cats;
+ if(bParam_tags != "") bCmd = bCmd + "&tag=" + bParam_tags;
if(bParam_dend != "") bCmd = bCmd + "&dend=" + bParam_dend;
if(bParam_dbegin != "") bCmd = bCmd + "&dbegin=" + bParam_dbegin;
if(bParam_mid != "") bCmd = bCmd + "&mid=" + bParam_mid;
diff --git a/view/tpl/channel.tpl b/view/tpl/channel.tpl
index 55b122d9b..af80e7b4d 100755
--- a/view/tpl/channel.tpl
+++ b/view/tpl/channel.tpl
@@ -1,4 +1,4 @@
-<div class="channel-selection">
+<div class='channel-selection {{if $selected == $channel.channel_id}}selected-channel{{/if}}'>
{{if $channel.default_links}}
{{if $channel.default}}
<div class="channel-selection-default default"><i class="icon-check"></i> {{$msg_default}}</div>
@@ -7,8 +7,6 @@
{{/if}}
{{/if}}
<a href="{{$channel.link}}" class="channel-selection-photo-link" title="{{$channel.channel_name}}"><img class="channel-photo" src="{{$channel.xchan_photo_m}}" alt="{{$channel.channel_name}}" /></a>
-<div class="channels-notifications-wrapper">{{if $channel.mail != 0}}<span style="color:#c60032;"><i class="icon-envelope"></i> {{$channel.mail}}</span>{{else}}<i class="icon-envelope"></i> &nbsp;{{/if}} {{if $channel.intros != 0}}<span style="color:#c60032;"><i class="icon-user"></i> {{$channel.intros}}</span>{{else}}<i class="icon-user"></i> &nbsp;{{/if}}</div>
+<div class="channels-notifications-wrapper"><a href='manage/{{$channel.channel_id}}/message' style="{{if $channel.mail != 0}}color:#c60032;{{/if}}" title='{{$channel.mail|string_format:$mail_format}}'><i class="icon-envelope"></i> {{$channel.mail}}</a>&nbsp;<a href='manage/{{$channel.channel_id}}/connections/ifpending' style="{{if $channel.intros != 0}}color:#c60032;{{/if}}" title='{{$channel.intros|string_format:$intros_format}}'><i class="icon-user"></i> {{$channel.intros}}</a></div>
<a href="{{$channel.link}}" class="channel-selection-name-link" title="{{$channel.channel_name}}"><div class="channel-name">{{$channel.channel_name}}</div></a>
</div>
-
-<div class="channel-selection-end"></div>
diff --git a/view/tpl/channels.tpl b/view/tpl/channels.tpl
index 0dec68a53..26d0e14d2 100755
--- a/view/tpl/channels.tpl
+++ b/view/tpl/channels.tpl
@@ -13,14 +13,6 @@
{{$channel_usage_message}}
</div>
{{/if}}
-{{if $selected}}
-<div id="selected-channel">
-<div id="channels-selected">{{$msg_selected}}</div>
-{{include file="channel.tpl" channel=$selected}}
-</div>
-<div class="channels-end selected"></div>
-{{/if}}
-<br />
<div id="channels-desc" class="descriptive-text">{{$desc}}</div>
<div id="all-channels">
diff --git a/view/tpl/chatroom_new.tpl b/view/tpl/chatroom_new.tpl
index 287f95cc0..a559dba54 100644
--- a/view/tpl/chatroom_new.tpl
+++ b/view/tpl/chatroom_new.tpl
@@ -2,12 +2,12 @@
<form action="chat" method="post" >
{{include file="field_input.tpl" field=$name}}
-<button class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" onclick="return false;">{{$permissions}}</button>
+<button id="dbtn-acl" class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" onclick="return false;" >{{$permissions}}</button>
{{$acl}}
<div class="clear"></div>
<br />
<br />
-<input type="submit" name="submit" value="{{$submit}}" />
+<input id="dbtn-submit" type="submit" name="submit" value="{{$submit}}" />
</form>
diff --git a/view/tpl/cloud_actionspanel.tpl b/view/tpl/cloud_actionspanel.tpl
index 00f243c1e..da708a98c 100644
--- a/view/tpl/cloud_actionspanel.tpl
+++ b/view/tpl/cloud_actionspanel.tpl
@@ -1,27 +1,19 @@
-<div class="generic-content-wrapper-styled">
-
-<table>
- <tr>
- <td><strong>{{$folder_header}}</strong>&nbsp;&nbsp;&nbsp;</td>
- <td>
- <form method="post" action="">
- <input type="hidden" name="sabreAction" value="mkcol">
- <input type="text" name="name">
- <input type="submit" value="{{$folder_submit}}">
- </form>
- </td>
- </tr>
- <tr>
- <td><strong>{{$upload_header}}</strong>&nbsp;&nbsp;&nbsp;</td>
- <td>
- <form method="post" action="" enctype="multipart/form-data">
- <input type="hidden" name="sabreAction" value="put">
- <input type="file" name="file" style="display: inline;">
- <input type="submit" value="{{$upload_submit}}">
- <!-- Name (optional): <input type="text" name="name"> we should rather provide a rename action in edit form-->
- </form>
- </td>
- </tr>
-</table>
-
+<div id="files-mkdir-tools" class="section-content-tools-wrapper form-group">
+ <label for="files-mkdir">{{$folder_header}}</label>
+ <form method="post" action="">
+ <input type="hidden" name="sabreAction" value="mkcol">
+ <input id="files-mkdir" type="text" name="name" class="form-control form-group">
+ <button class="btn btn-primary btn-sm pull-right" type="submit" value="{{$folder_submit}}">{{$folder_submit}}</button>
+ </form>
+ <div class="clear"></div>
+</div>
+<div id="files-upload-tools" class="section-content-tools-wrapper form-group">
+ <label for="files-upload">{{$upload_header}}</label>
+ <form method="post" action="" enctype="multipart/form-data">
+ <input type="hidden" name="sabreAction" value="put">
+ <input class="form-group" id="files-upload" type="file" name="file">
+ <button class="btn btn-primary btn-sm pull-right" type="submit" value="{{$upload_submit}}">{{$upload_submit}}</button>
+ <!-- Name (optional): <input type="text" name="name"> we should rather provide a rename action in edit form-->
+ </form>
+ <div class="clear"></div>
</div>
diff --git a/view/tpl/cloud_directory.tpl b/view/tpl/cloud_directory.tpl
index 639a6bf61..77d861224 100644
--- a/view/tpl/cloud_directory.tpl
+++ b/view/tpl/cloud_directory.tpl
@@ -1,45 +1,43 @@
-<div class="generic-content-wrapper-styled">
-<h1>{{$header}}</h1>
-<table id="cloud-index">
- <tr>
- <th></th>
- <th>{{$name}}&nbsp;&nbsp;&nbsp;</th>
- <th></th><th></th><th></th>
- <th>{{$type}}&nbsp;&nbsp;&nbsp;</th>
- <th>{{$size}}&nbsp;&nbsp;&nbsp;</th>
- <th>{{$lastmod}}</th>
- </tr>
- <tr><td colspan="8"><hr></td></tr>
-{{if $parentpath}}
- <tr>
- <td>{{$parentpath.icon}}</td>
- <td><a href="{{$parentpath.path}}" title="{{$parent}}">..</a></td>
- <td></td><td></td><th></td>
- <td>[{{$parent}}]</td>
- <td></td>
- <td></td>
- </tr>
-{{/if}}
-{{foreach $entries as $item}}
- <tr>
- <td>{{$item.icon}}</td>
- <td style="min-width: 15em"><a href="{{$item.fullPath}}">{{$item.displayName}}</a></td>
-{{if $item.is_owner}}
- <td>{{$item.attachIcon}}</td>
- <td style="position:relative;"><a href="{{$item.fileStorageUrl}}/{{$item.attachId}}/edit" title="{{$edit}}"><i class="icon-pencil btn btn-default"></i></a></td>
- <td><a href="{{$item.fileStorageUrl}}/{{$item.attachId}}/delete" title="{{$delete}}" onclick="return confirmDelete();"><i class="icon-remove btn btn-default drop-icons"></i></a></td>
-{{else}}
- <td></td><td></td><td></td>
-{{/if}}
- <td>{{$item.type}}</td>
- <td>{{$item.sizeFormatted}}</td>
- <td>{{$item.lastmodified}}</td>
- </tr>
-{{/foreach}}
- <tr><td colspan="8"><hr></td></tr>
-</table>
+<div class="generic-content-wrapper section-content-wrapper-np">
+ <table id="cloud-index">
+ <tr>
+ <th width="1%"></th>
+ <th width="92%">{{$name}}</th>
+ <th width="1%"></th><th width="1%"></th><th width="1%"></th><th width="1%"></th>
+ <th width="1%">{{*{{$type}}*}}</th>
+ <th width="1%" class="hidden-xs">{{$size}}</th>
+ <th width="1%" class="hidden-xs">{{$lastmod}}</th>
+ </tr>
+ {{if $parentpath}}
+ <tr>
+ <td><i class="icon-level-up"></i>{{*{{$parentpath.icon}}*}}</td>
+ <td><a href="{{$parentpath.path}}" title="{{$parent}}">..</a></td>
+ <td></td><td></td><td></td><td></td>
+ <td>{{*[{{$parent}}]*}}</td>
+ <td class="hidden-xs"></td>
+ <td class="hidden-xs"></td>
+ </tr>
+ {{/if}}
+ {{foreach $entries as $item}}
+ <tr id="cloud-index-{{$item.attachId}}">
+ <td><i class="{{$item.iconFromType}}" title="{{$item.type}}"></i></td>
+ <td><a href="{{$item.fullPath}}">{{$item.displayName}}</a></td>
+ {{if $item.is_owner}}
+ <td class="cloud-index-tool">{{$item.attachIcon}}</td>
+ <td id="file-edit-{{$item.attachId}}" class="cloud-index-tool"></td>
+ <td class="cloud-index-tool"><i class="fakelink icon-pencil" onclick="filestorage(event, '{{$nick}}', {{$item.attachId}});"></i></td>
+ <td class="cloud-index-tool"><a href="{{$item.fileStorageUrl}}/{{$item.attachId}}/delete" title="{{$delete}}" onclick="return confirmDelete();"><i class="icon-trash drop-icons"></i></a></td>
-{{if $quota.limit || $quota.used}}
- <p><strong>{{$total}}</strong> {{$quota.desc}}</p>
-{{/if}}
+ {{else}}
+ <td></td><td></td><td></td><td></td>
+ {{/if}}
+ <td>{{*{{$item.type}}*}}</td>
+ <td class="hidden-xs">{{$item.sizeFormatted}}</td>
+ <td class="hidden-xs">{{$item.lastmodified}}</td>
+ </tr>
+ <tr>
+ <td id="perms-panel-{{$item.attachId}}" colspan="9"></td>
+ </tr>
+ {{/foreach}}
+ </table>
</div>
diff --git a/view/tpl/cloud_header.tpl b/view/tpl/cloud_header.tpl
new file mode 100644
index 000000000..f5f123edb
--- /dev/null
+++ b/view/tpl/cloud_header.tpl
@@ -0,0 +1,13 @@
+<div class="section-title-wrapper">
+ {{if $actionspanel}}
+ <div class="pull-right">
+ <button id="files-create-btn"class="btn btn-xs btn-primary" title="{{if $quota.limit || $quota.used}}{{$quota.desc}}{{/if}}" onclick="openClose('files-mkdir-tools'); closeMenu('files-upload-tools');"><i class="icon-folder-close-alt"></i>&nbsp;Create</button>
+ <button id="files-upload-btn" class="btn btn-xs btn-success" title="{{if $quota.limit || $quota.used}}{{$quota.desc}}{{/if}}" onclick="openClose('files-upload-tools'); closeMenu('files-mkdir-tools');"><i class="icon-upload"></i>&nbsp;Upload</button>
+ </div>
+ {{/if}}
+ <h2>{{$header}}</h2>
+ <div class="clear"></div>
+</div>
+{{if $actionspanel}}
+ {{$actionspanel}}
+{{/if}}
diff --git a/view/tpl/comment_item.tpl b/view/tpl/comment_item.tpl
index e68314797..ab67bc196 100755
--- a/view/tpl/comment_item.tpl
+++ b/view/tpl/comment_item.tpl
@@ -21,35 +21,41 @@
{{/if}}
<div class="clear"></div>
<div id="comment-tools-{{$id}}" class="comment-tools">
- <div id="comment-edit-bb-{{$id}}" class="btn-group pull-left">
- <button class="btn btn-default btn-xs" title="{{$edbold}}" onclick="insertbbcomment('{{$comment}}','b', {{$id}}); return false;">
- <i class="icon-bold comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$editalic}}" onclick="insertbbcomment('{{$comment}}','i', {{$id}}); return false;">
- <i class="icon-italic comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$eduline}}" onclick="insertbbcomment('{{$comment}}','u', {{$id}}); return false;">
- <i class="icon-underline comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edquote}}" onclick="insertbbcomment('{{$comment}}','quote', {{$id}}); return false;">
- <i class="icon-quote-left comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edcode}}" onclick="insertbbcomment('{{$comment}}','code', {{$id}}); return false;">
- <i class="icon-terminal comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edimg}}" onclick="insertbbcomment('{{$comment}}','img', {{$id}}); return false;">
- <i class="icon-camera comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edurl}}" onclick="insertbbcomment('{{$comment}}','url', {{$id}}); return false;">
- <i class="icon-link comment-icon"></i>
- </button>
- <button class="btn btn-default btn-xs" title="{{$edvideo}}" onclick="insertbbcomment('{{$comment}}','video', {{$id}}); return false;">
- <i class="icon-facetime-video comment-icon"></i>
- </button>
+ <div id="comment-edit-bb-{{$id}}" class="btn-toolbar pull-left">
+ <div class='btn-group'>
+ <button class="btn btn-default btn-xs" title="{{$edbold}}" onclick="insertbbcomment('{{$comment}}','b', {{$id}}); return false;">
+ <i class="icon-bold comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$editalic}}" onclick="insertbbcomment('{{$comment}}','i', {{$id}}); return false;">
+ <i class="icon-italic comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$eduline}}" onclick="insertbbcomment('{{$comment}}','u', {{$id}}); return false;">
+ <i class="icon-underline comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edquote}}" onclick="insertbbcomment('{{$comment}}','quote', {{$id}}); return false;">
+ <i class="icon-quote-left comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edcode}}" onclick="insertbbcomment('{{$comment}}','code', {{$id}}); return false;">
+ <i class="icon-terminal comment-icon"></i>
+ </button>
+ </div>
+ <div class='btn-group'>
+ <button class="btn btn-default btn-xs" title="{{$edimg}}" onclick="insertbbcomment('{{$comment}}','img', {{$id}}); return false;">
+ <i class="icon-camera comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edurl}}" onclick="insertbbcomment('{{$comment}}','url', {{$id}}); return false;">
+ <i class="icon-link comment-icon"></i>
+ </button>
+ <button class="btn btn-default btn-xs" title="{{$edvideo}}" onclick="insertbbcomment('{{$comment}}','video', {{$id}}); return false;">
+ <i class="icon-facetime-video comment-icon"></i>
+ </button>
+ </div>
{{if $feature_encrypt}}
- <button class="btn btn-default btn-xs" title="{{$encrypt}}" onclick="red_encrypt('{{$cipher}}','#comment-edit-text-' + '{{$id}}',''); return false;">
- <i class="icon-key comment-icon"></i>
- </button>
+ <div class='btn-group'>
+ <button class="btn btn-default btn-xs" title="{{$encrypt}}" onclick="red_encrypt('{{$cipher}}','#comment-edit-text-' + '{{$id}}',''); return false;">
+ <i class="icon-key comment-icon"></i>
+ </button>
+ </div>
{{/if}}
</div>
<div class="btn-group pull-right" id="comment-edit-submit-wrapper-{{$id}}">
diff --git a/view/tpl/contact_slider.tpl b/view/tpl/contact_slider.tpl
index 33cd3fb71..09a79edd8 100755
--- a/view/tpl/contact_slider.tpl
+++ b/view/tpl/contact_slider.tpl
@@ -1,4 +1,4 @@
<div id="contact-slider" class="slider" style="height: 32px; position: relative; left: 5%; width: 90%;"><input id="contact-range" type="text" name="fake-closeness" value="{{$val}}" /></div>
<script>
- $("#contact-range").slider({ from: 0, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], onstatechange: function(v) { $("#contact-closeness-mirror").val(v); } });
+ $("#contact-range").jRange({ from: {{$min|default:'0'}}, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], width:'100%', showLabels: false, onstatechange: function(v) { $("#contact-closeness-mirror").val(v); } });
</script>
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index 00b3b6ced..f30ca7fc0 100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -28,7 +28,7 @@
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}}&nbsp;{{$item.via}}&nbsp;<a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}
</div>
<div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">
- {{if $item.verified}}<i class="icon-ok" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="icon-remove item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="icon-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
+ {{if $item.verified}}<i class="icon-ok item-verified" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="icon-remove item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="icon-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
</div>
<div class="wall-item-content" id="wall-item-content-{{$item.id}}">
<div class="wall-item-title-end"></div>
diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl
new file mode 100755
index 000000000..59bb8f918
--- /dev/null
+++ b/view/tpl/conv_list.tpl
@@ -0,0 +1,179 @@
+{{if $item.comment_firstcollapsed}}
+<div class="hide-comments-outer fakelink" onclick="showHideComments({{$item.id}});">
+ <span id="hide-comments-{{$item.id}}" class="hide-comments">{{$item.hide_text}}</span>&nbsp;<span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span>
+</div>
+<div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;">
+{{/if}}
+ <div id="thread-wrapper-{{$item.id}}" class="thread-wrapper {{$item.toplevel}} conv-list-mode">
+ <a name="{{$item.id}}" ></a>
+ <div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}" id="wall-item-outside-wrapper-{{$item.id}}" >
+ <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" style="clear:both;">
+ <div class="wall-item-info" id="wall-item-info-{{$item.id}}" >
+ <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}">
+ <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"><img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" /></a>
+ </div>
+ <div class="wall-item-photo-end" style="clear:both"></div>
+ </div>
+ {{if $item.title}}
+ <div class="wall-item-title" id="wall-item-title-{{$item.id}}">
+ <h3>{{if $item.title_tosource}}{{if $item.plink}}<a href="{{$item.plink.href}}" title="{{$item.title}} ({{$item.plink.title}})">{{/if}}{{/if}}{{$item.title}}{{if $item.title_tosource}}{{if $item.plink}}</a>{{/if}}{{/if}}</h3>
+ </div>
+ {{/if}}
+ {{if $item.lock}}
+ <div class="wall-item-lock dropdown">
+ <i class="icon-lock lockview dropdown-toggle" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
+ </div>
+ {{/if}}
+ <div class="wall-item-author">
+ <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}}&nbsp;{{$item.via}}&nbsp;<a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}
+ </div>
+ <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">
+ {{if $item.verified}}<i class="icon-ok item-verified" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="icon-remove item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="icon-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
+ </div>
+ <div class="wall-item-content conv-list-mode" id="wall-item-content-{{$item.id}}">
+ <div class="wall-item-title-end"></div>
+ <div class="wall-item-body wall-item-listbody" id="wall-item-body-{{$item.id}}" >
+ {{$item.body}}
+ {{if $item.tags}}
+ <div class="body-tag">
+ {{foreach $item.tags as $tag}}
+ <span class='tag'>{{$tag}}</span>
+ {{/foreach}}
+ </div>
+ {{/if}}
+ {{if $item.has_cats}}
+ <div class="categorytags">
+ <span>{{$item.txt_cats}} {{foreach $item.categories as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
+ </div>
+ {{/if}}
+ {{if $item.has_folders}}
+ <div class="filesavetags">
+ <span>{{$item.txt_folders}} {{foreach $item.folders as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
+ </div>
+ {{/if}}
+ </div>
+ </div>
+ <div class="wall-item-tools">
+ <div class="wall-item-tools-right btn-group pull-right">
+ {{if $item.like}}
+ <button type="button" class="btn btn-default btn-sm" onclick="dolike({{$item.id}},'like'); return false">
+ <i class="icon-thumbs-up-alt" title="{{$item.like.0}}"></i>
+ </button>
+ {{/if}}
+ {{if $item.dislike}}
+ <button type="button" class="btn btn-default btn-sm" onclick="dolike({{$item.id}},'dislike'); return false">
+ <i class="icon-thumbs-down-alt" title="{{$item.dislike.0}}"></i>
+ </button>
+ {{/if}}
+ <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" id="wall-item-menu-{{$item.id}}">
+ <i class="icon-caret-down"></i>
+ </button>
+ <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-menu-{{$item.id}}">
+ {{if $item.share}}
+ <li role="presentation"><a role="menuitem" href="#" onclick="jotShare({{$item.id}}); return false"><i class="icon-retweet" title="{{$item.share.0}}"></i> {{$item.share.0}}</a></li>
+ {{/if}}
+ {{if $item.plink}}
+ <li role="presentation"><a role="menuitem" href="{{$item.plink.href}}" title="{{$item.plink.title}}" ><i class="icon-external-link"></i> {{$item.plink.title}}</a></li>
+ {{/if}}
+ {{if $item.edpost}}
+ <li role="presentation"><a role="menuitem" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="editpost icon-pencil"></i> {{$item.edpost.1}}</a></li>
+ {{/if}}
+ {{if $item.tagger}}
+ <li role="presentation"><a role="menuitem" href="#" onclick="itemTag({{$item.id}}); return false;"><i id="tagger-{{$item.id}}" class="icon-tag" title="{{$item.tagger.tagit}}"></i> {{$item.tagger.tagit}}</a></li>
+ {{/if}}
+ {{if $item.filer}}
+ <li role="presentation"><a role="menuitem" href="#" onclick="itemFiler({{$item.id}}); return false;"><i id="filer-{{$item.id}}" class="icon-folder-open" title="{{$item.filer}}"></i> {{$item.filer}}</a></li>
+ {{/if}}
+ {{if $item.bookmark}}
+ <li role="presentation"><a role="menuitem" href="#" onclick="itemBookmark({{$item.id}}); return false;"><i id="bookmarker-{{$item.id}}" class="icon-bookmark" title="{{$item.bookmark}}"></i> {{$item.bookmark}}</a></li>
+ {{/if}}
+ {{if $item.addtocal}}
+ <li role="presentation"><a role="menuitem" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="icon-calendar" title="{{$item.addtocal}}"></i> {{$item.addtocal}}</a></li>
+ {{/if}}
+ {{if $item.star}}
+ <li role="presentation"><a role="menuitem" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="icon-star {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></i> {{$item.star.toggle}}</a></li>
+ {{/if}}
+ {{if $item.item_photo_menu}}
+ <li role="presentation" class="divider"></li>
+ {{$item.item_photo_menu}}
+ {{/if}}
+ {{if $item.drop.dropping}}
+ <li role="presentation" class="divider"></li>
+ <li role="presentation"><a role="menuitem" href="item/drop/{{$item.id}}" onclick="return confirmDelete();" title="{{$item.drop.delete}}" ><i class="icon-remove"></i> {{$item.drop.delete}}</a></li>
+ {{/if}}
+ </ul>
+ </div>
+ <div id="like-rotator-{{$item.id}}" class="like-rotator"></div>
+ <div class="wall-item-tools-left{{if $item.unseen_comments || $item.like_count || $item.dislike_count}} btn-group{{/if}}">
+
+
+ <div class="wall-item-list-comments btn-group"><button class="btn btn-default btn-sm" onclick="window.location.href='{{$item.viewthread}}'; return false;">{{$item.comment_count_txt}}{{if $item.unseen_comments}}
+<span class="unseen-wall-indicator-{{$item.id}}">, {{$item.list_unseen_txt}}{{/if}}</span></button></div>{{if $item.unseen_comments}}<div class="unseen-wall-indicator-{{$item.id}} btn-group"><button class="btn btn-default btn-sm" title="{{$item.markseen}}" onclick="markItemRead({{$item.id}}); return false;"><i class="icon-check"></i></div>{{/if}}
+
+ {{if $item.like_count}}
+ <div class="btn-group">
+ <button type="button" class="btn btn-default btn-sm wall-item-like dropdown-toggle" data-toggle="dropdown" id="wall-item-like-{{$item.id}}">{{$item.like_count}} {{$item.like_button_label}}</button>
+ {{if $item.like_list_part}}
+ <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-like-{{$item.id}}">{{foreach $item.like_list_part as $liker}}<li role="presentation">{{$liker}}</li>{{/foreach}}</ul>
+ {{else}}
+ <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-like-{{$item.id}}">{{foreach $item.like_list as $liker}}<li role="presentation">{{$liker}}</li>{{/foreach}}</ul>
+ {{/if}}
+ </div>
+ {{/if}}
+ {{if $item.dislike_count}}
+ <div class="btn-group">
+ <button type="button" class="btn btn-default btn-sm wall-item-dislike dropdown-toggle" data-toggle="dropdown" id="wall-item-dislike-{{$item.id}}">{{$item.dislike_count}} {{$item.dislike_button_label}}</button>
+ {{if $item.dislike_list_part}}
+ <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-dislike-{{$item.id}}">{{foreach $item.dislike_list_part as $disliker}}<li role="presentation">{{$disliker}}</li>{{/foreach}}</ul>
+ {{else}}
+ <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-dislike-{{$item.id}}">{{foreach $item.dislike_list as $disliker}}<li role="presentation">{{$disliker}}</li>{{/foreach}}</ul>
+ {{/if}}
+ </div>
+ {{/if}}
+ </div>
+ {{if $item.like_list_part}}
+ <div class="modal" id="likeModal-{{$item.id}}">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title">{{$item.like_modal_title}}</h4>
+ </div>
+ <div class="modal-body">
+ <ul>{{foreach $item.like_list as $liker}}<li role="presentation">{{$liker}}</li>{{/foreach}}</ul>
+ </div>
+ <div class="modal-footer clear">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{$item.modal_dismiss}}</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
+ </div><!-- /.modal -->
+ {{/if}}
+ {{if $item.dislike_list_part}}
+ <div class="modal" id="dislikeModal-{{$item.id}}">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title">{{$item.dislike_modal_title}}</h4>
+ </div>
+ <div class="modal-body">
+ <ul>{{foreach $item.dislike_list as $disliker}}<li role="presentation">{{$disliker}}</li>{{/foreach}}</ul>
+ </div>
+ <div class="modal-footer clear">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{$item.modal_dismiss}}</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
+ </div><!-- /.modal -->
+ {{/if}}
+ </div>
+ <div class="clear"></div>
+ </div>
+ <div class="wall-item-wrapper-end"></div>
+ <div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>
+ </div>
+ </div>
+{{if $item.comment_lastcollapsed}}
+</div>
+{{/if}}
diff --git a/view/tpl/crepair.tpl b/view/tpl/crepair.tpl
deleted file mode 100755
index 1a5a019db..000000000
--- a/view/tpl/crepair.tpl
+++ /dev/null
@@ -1,45 +0,0 @@
-<form id="crepair-form" action="crepair/{{$contact_id}}" method="post" >
-
-<h4>{{$contact_name}}</h4>
-
-<label id="crepair-name-label" class="crepair-label" for="crepair-name">{{$label_name}}</label>
-<input type="text" id="crepair-name" class="crepair-input" name="name" value="{{$contact_name}}" />
-<div class="clear"></div>
-
-<label id="crepair-nick-label" class="crepair-label" for="crepair-nick">{{$label_nick}}</label>
-<input type="text" id="crepair-nick" class="crepair-input" name="nick" value="{{$contact_nick}}" />
-<div class="clear"></div>
-
-<label id="crepair-attag-label" class="crepair-label" for="crepair-attag">{{$label_attag}}</label>
-<input type="text" id="crepair-attag" class="crepair-input" name="attag" value="{{$contact_attag}}" />
-<div class="clear"></div>
-
-<label id="crepair-url-label" class="crepair-label" for="crepair-url">{{$label_url}}</label>
-<input type="text" id="crepair-url" class="crepair-input" name="url" value="{{$contact_url}}" />
-<div class="clear"></div>
-
-<label id="crepair-request-label" class="crepair-label" for="crepair-request">{{$label_request}}</label>
-<input type="text" id="crepair-request" class="crepair-input" name="request" value="{{$request}}" />
-<div class="clear"></div>
-
-<label id="crepair-confirm-label" class="crepair-label" for="crepair-confirm">{{$label_confirm}}</label>
-<input type="text" id="crepair-confirm" class="crepair-input" name="confirm" value="{{$confirm}}" />
-<div class="clear"></div>
-
-<label id="crepair-notify-label" class="crepair-label" for="crepair-notify">{{$label_notify}}</label>
-<input type="text" id="crepair-notify" class="crepair-input" name="notify" value="{{$notify}}" />
-<div class="clear"></div>
-
-<label id="crepair-poll-label" class="crepair-label" for="crepair-poll">{{$label_poll}}</label>
-<input type="text" id="crepair-poll" class="crepair-input" name="poll" value="{{$poll}}" />
-<div class="clear"></div>
-
-<label id="crepair-photo-label" class="crepair-label" for="crepair-photo">{{$label_photo}}</label>
-<input type="text" id="crepair-photo" class="crepair-input" name="photo" value="" />
-<div class="clear"></div>
-
-<input type="submit" name="submit" value="{{$lbl_submit}}" />
-
-</form>
-
-
diff --git a/view/tpl/design_tools.tpl b/view/tpl/design_tools.tpl
index 80a538231..53d90be74 100644
--- a/view/tpl/design_tools.tpl
+++ b/view/tpl/design_tools.tpl
@@ -2,7 +2,7 @@
<h3>{{$title}}</h3>
<ul>
<li><a href="blocks/{{$who}}">{{$blocks}}</a></li>
-<li><a href="menu">{{$menus}}</a></li>
+<li><a href="menu{{if $sys}}?f=&sys=1{{/if}}">{{$menus}}</a></li>
<li><a href="layouts/{{$who}}">{{$layout}}</a></li>
<li><a href="webpages/{{$who}}">{{$pages}}</a></li>
</ul>
diff --git a/view/tpl/diaspora_profile.tpl b/view/tpl/diaspora_profile.tpl
deleted file mode 100644
index cf53f51c0..000000000
--- a/view/tpl/diaspora_profile.tpl
+++ /dev/null
@@ -1,16 +0,0 @@
-<XML>
- <post><profile>
- <diaspora_handle>{{$handle}}</diaspora_handle>
- <first_name>{{$first}}</first_name>
- <last_name>{{$last}}</last_name>
- <image_url>{{$large}}</image_url>
- <image_url_medium>{{$medium}}</image_url_medium>
- <image_url_small>{{$small}}</image_url_small>
- <birthday>{{$dob}}</birthday>
- <gender>{{$gender}}</gender>
- <bio>{{$about}}</bio>
- <location>{{$location}}</location>
- <searchable>{{$searchable}}</searchable>
- <tag_string>{{$tags}}</tag_string>
- </profile></post>
-</XML>
diff --git a/view/tpl/dir_sort_links.tpl b/view/tpl/dir_sort_links.tpl
index d78aec1f5..d9ecd22c6 100644
--- a/view/tpl/dir_sort_links.tpl
+++ b/view/tpl/dir_sort_links.tpl
@@ -1,6 +1,10 @@
<div class="widget" id="dir_sort_links">
<h3>{{$header}}</h3>
-<a href="directory?f=&order=normal">{{$normal}}</a><br />
-<a href="directory?f=&order=reverse">{{$reverse}}</a><br />
-<a href="directory?f=&order=date">{{$date}}</a><br />
+{{$sort}}: <select onchange='window.location.href="{{$sorturl}}&order="+this.value'>
+<option value='normal' {{if $selected_sort == 'normal'}}selected='selected'{{/if}}>{{$normal}}</option>
+<option value='reverse' {{if $selected_sort == 'reverse'}}selected='selected'{{/if}}>{{$reverse}}</option>
+<option value='date' {{if $selected_sort == 'date'}}selected='selected'{{/if}}>{{$date}}</option>
+<option value='reversedate' {{if $selected_sort == 'reversedate'}}selected='selected'{{/if}}>{{$reversedate}}</option>
+</select><br />
+<input type='checkbox' {{if $pubforumsonly}}checked='checked'{{/if}} onchange='window.location.href="{{$forumsurl}}&pubforums="+(this.checked ? 1 : 0)'/> {{$pubforums}}<br />
</div>
diff --git a/view/tpl/direntry.tpl b/view/tpl/direntry.tpl
index a6252bb9a..cdc6f1f97 100755
--- a/view/tpl/direntry.tpl
+++ b/view/tpl/direntry.tpl
@@ -3,12 +3,36 @@
<div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$entry.id}}" >
<div class="contact-photo" id="directory-photo-{{$entry.id}}" >
<a href="{{$entry.profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$entry.id}}" ><img class="directory-photo-img" src="{{$entry.photo}}" alt="{{$entry.alttext}}" title="{{$entry.alttext}}" /></a>
+{{if $entry.connect}}
+<div class="directory-connect btn btn-default"><a href="{{$entry.connect}}"><i class="icon-plus connect-icon"></i> {{$entry.conn_label}}</a></div>
+{{/if}}
+{{if $entry.ignlink}}
+<div class="directory-ignore btn btn-default"><a href="{{$entry.ignlink}}"> {{$entry.ignore_label}}</a></div>
+{{/if}}
</div>
</div>
-<div class="contact-name" id="directory-name-{{$entry.id}}" ><span onclick="dirdetails('{{$entry.hash}}');" class="fakelink" >{{$entry.name}}</span></div>
-{{if $entry.connect}}
-<div class="directory-connect btn btn-default"><a href="{{$entry.connect}}"><i class="icon-plus connect-icon"></i> {{$entry.conn_label}}</a></div>
+<div class='contact-info'>
+<div class="contact-name" id="directory-name-{{$entry.id}}" ><a href='{{$entry.profile_link}}' >{{$entry.name}}</a>{{if $entry.online}} <i class="icon-asterisk online-now" title="{{$entry.online}}"></i>{{/if}}</div>
+
+{{if $entry.public_forum}}
+<div class="contact-forum">
+{{$entry.forum_label}} @{{$entry.nickname}}+
+</div>
{{/if}}
+
<div class="contact-details">{{$entry.details}}</div>
+{{if $entry.hometown}}
+<div class="directory-hometown">{{$entry.hometown}} </div>
+{{/if}}
+{{if $entry.about}}
+<div class="directory-about">{{$entry.about}} </div>
+{{/if}}
+{{if $entry.homepage}}
+<div class="directory-homepage">{{$entry.homepage}}{{$entry.homepageurl}} </div>
+{{/if}}
+{{if $entry.kw}}
+<div class="directory-keywords">{{$entry.kw}} {{$entry.keywords}}</div>
+{{/if}}
+</div>
</div>
diff --git a/view/tpl/direntry_large.tpl b/view/tpl/direntry_large.tpl
deleted file mode 100755
index da6ea1a44..000000000
--- a/view/tpl/direntry_large.tpl
+++ /dev/null
@@ -1,43 +0,0 @@
-<div class="directory-popup-item lframe" id="directory-item-{{$id}}" >
-<div class="generic-content-wrapper">
-
-<div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$id}}" >
- <div class="contact-photo dirpopup" id="directory-photo-{{$id}}" >
- <a href="{{$profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$id}}" ><img class="directory-photo-img" style="height:175px; width:175px;" src="{{$photo}}" alt="{{$alttext}}" title="{{$alttext}}" /></a>
- </div>
- <div class="contact-photo dirpopup" id="directory-qr-{{$id}}" >
- <img class="directory-photo-img" style="height:175px; width:175px;" src="photo/qr?f=&qr={{$qrlink}}" alt="QR" title="{{$qrlink}}" />
- </div>
-</div>
-
-<div class="clear"></div>
-
-
-<div class="contact-name" id="directory-name-{{$id}}" >{{$name}}{{if $online}} <i class="icon-asterisk online-now" title="{{$online}}"></i>{{/if}}</div>
-{{if $connect}}
-<div class="directory-connect btn btn-default"><a href="{{$connect}}"><i class="icon-plus connect-icon"></i> {{$conn_label}}</a></div>
-{{/if}}
-
-<div class="contact-webbie">{{$address}}</div>
-
-<div class="contact-details">{{$details}}</div>
-{{if $marital}}
-<div class="directory-marital">{{$marital}} </div>
-{{/if}}
-{{if $sexual}}
-<div class="directory-sexual">{{$sexual}} </div>
-{{/if}}
-{{if $homepage}}
-<div class="directory-homepage">{{$homepage}} </div>
-{{/if}}
-{{if $hometown}}
-<div class="directory-hometown">{{$hometown}} </div>
-{{/if}}
-{{if $about}}
-<div class="directory-about">{{$about}} </div>
-{{/if}}
-{{if $kw}}
-<div class="directory-keywords">{{$kw}} {{$keywords}}</div>
-{{/if}}
-</div>
-</div>
diff --git a/view/tpl/edpage_head.tpl b/view/tpl/edpage_head.tpl
deleted file mode 100755
index 890b746bf..000000000
--- a/view/tpl/edpage_head.tpl
+++ /dev/null
@@ -1 +0,0 @@
-<h2>{{$title}}</h2>
diff --git a/view/tpl/event_head.tpl b/view/tpl/event_head.tpl
index 6f1d2f22c..830347555 100755
--- a/view/tpl/event_head.tpl
+++ b/view/tpl/event_head.tpl
@@ -24,10 +24,16 @@
eventClick: function(calEvent, jsEvent, view) {
showEvent(calEvent.id);
},
-
+ loading: function(isLoading, view) {
+ if(!isLoading) {
+ $('td.fc-day').dblclick(function() { window.location.href='/events/new?start='+$(this).data('date'); });
+ }
+ },
+
eventRender: function(event, element, view) {
//console.log(view.name);
if (event.item['author']['xchan_name']==null) return;
+
switch(view.name){
case "month":
element.find(".fc-event-title").html(
diff --git a/view/tpl/events-js.tpl b/view/tpl/events-js.tpl
index 69a248512..9812291bf 100755
--- a/view/tpl/events-js.tpl
+++ b/view/tpl/events-js.tpl
@@ -2,7 +2,17 @@
<div class="generic-content-wrapper-styled">
<h2>{{$title}}</h2>
-<div id="new-event-link"><a href="{{$new_event.0}}" >{{$new_event.1}}</a></div>
+
+<div id="export-event-link"><button class="btn btn-default btn-sm" onclick="exportDate(); return false;" >{{$export.1}}</button></div>
+<div id="new-event-link"><button class="btn btn-default btn-sm" onclick="window.location.href='{{$new_event.0}}'; return false;" >{{$new_event.1}}</button></div>
+
+<script>
+function exportDate() {
+ var moment = $('#events-calendar').fullCalendar('getDate');
+ var sT = 'events/' + moment.getFullYear() + '/' + (moment.getMonth() + 1) + '/export';
+ window.location.href=sT;
+}
+</script>
<div id="events-calendar"></div>
</div>
diff --git a/view/tpl/field_acheckbox.tpl b/view/tpl/field_acheckbox.tpl
index 89de170b7..816af2a65 100755
--- a/view/tpl/field_acheckbox.tpl
+++ b/view/tpl/field_acheckbox.tpl
@@ -1,6 +1,6 @@
<tr>
<td>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}'>{{$field.1}}</label>
</td>
<td class="abook-them">
<input type="checkbox" name='them_{{$field.0}}' id='them_id_{{$field.0}}' value="1" disabled="disabled" {{if $field.2}}checked="checked"{{/if}} />
diff --git a/view/tpl/field_checkbox.tpl b/view/tpl/field_checkbox.tpl
index 51d56f69c..7a2781be0 100755
--- a/view/tpl/field_checkbox.tpl
+++ b/view/tpl/field_checkbox.tpl
@@ -1,5 +1,4 @@
<div class='field checkbox'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="1" {{if $field.2}}checked="checked"{{/if}}>
- <span class='field_help'>{{$field.3}}</span>
+ <label class="mainlabel" for='id_{{$field.0}}'>{{$field.1}}</label>
+ <div><input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="1" {{if $field.2}}checked="checked"{{/if}}><label class="switchlabel" for='id_{{$field.0}}'> <span class="onoffswitch-inner" data-on='{{if $field.4}}{{$field.4.1}}{{/if}}' data-off='{{if $field.4}}{{$field.4.0}}{{/if}}'></span><span class="onoffswitch-switch"></span> </label></div><span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_colorinput.tpl b/view/tpl/field_colorinput.tpl
index a68781698..a1e912186 100644
--- a/view/tpl/field_colorinput.tpl
+++ b/view/tpl/field_colorinput.tpl
@@ -1,5 +1,5 @@
<div class='field input color'>
- <label for='id_{{$field.0}}' id='label_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}' id='label_{{$field.0}}'>{{$field.1}}</label>
<input class='color' name='{{$field.0}}' id='id_{{$field.0}}' type="text" value="{{$field.2}}">{{if $field.4}} <span class="required">{{$field.4}}</span> {{/if}}
<span id='help_{{$field.0}}' class='field_help'>{{$field.3}}</span>
<div id='end_{{$field.0}}' class='field_end'></div>
diff --git a/view/tpl/field_combobox.tpl b/view/tpl/field_combobox.tpl
index 1f9218954..337c60673 100755
--- a/view/tpl/field_combobox.tpl
+++ b/view/tpl/field_combobox.tpl
@@ -1,5 +1,5 @@
<div class='field combobox'>
- <label for='id_{{$field.0}}' id='id_{{$field.0}}_label'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}' id='id_{{$field.0}}_label'>{{$field.1}}</label>
{{* html5 don't work on Chrome, Safari and IE9 see https://github.com/thgreasi/datalist-polyfill
<input id="id_{{$field.0}}" type="text" list="data_{{$field.0}}" >
<datalist id="data_{{$field.0}}" >
diff --git a/view/tpl/field_custom.tpl b/view/tpl/field_custom.tpl
index a6b49f6da..754f5b2f4 100755
--- a/view/tpl/field_custom.tpl
+++ b/view/tpl/field_custom.tpl
@@ -1,5 +1,5 @@
<div class='field custom'>
- <label for='{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='{{$field.0}}'>{{$field.1}}</label>
{{$field.2}}
<span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_input.tpl b/view/tpl/field_input.tpl
index a584f95e7..be6e3f047 100755
--- a/view/tpl/field_input.tpl
+++ b/view/tpl/field_input.tpl
@@ -1,5 +1,5 @@
<div class='field input'>
- <label for='id_{{$field.0}}' id='label_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}' id='label_{{$field.0}}'>{{$field.1}}</label>
<input name='{{$field.0}}' id='id_{{$field.0}}' type="text" value="{{$field.2}}">{{if $field.4}} <span class="required">{{$field.4}}</span> {{/if}}
<span id='help_{{$field.0}}' class='field_help'>{{$field.3}}</span>
<div id='end_{{$field.0}}' class='field_end'></div>
diff --git a/view/tpl/field_intcheckbox.tpl b/view/tpl/field_intcheckbox.tpl
index d9a8d7289..847783518 100755
--- a/view/tpl/field_intcheckbox.tpl
+++ b/view/tpl/field_intcheckbox.tpl
@@ -1,5 +1,4 @@
<div class='field checkbox'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
- <input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.3}}" {{if $field.2}}checked="true"{{/if}}>
- <span class='field_help'>{{$field.4}}</span>
+ <label class="mainlabel" for='id_{{$field.0}}'>{{$field.1}}</label>
+ <div><input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.3}}" {{if $field.2}}checked="checked"{{/if}}><label class="switchlabel" for='id_{{$field.0}}'> <span class="onoffswitch-inner" data-on='{{if $field.5}}{{$field.5.1}}{{/if}}' data-off='{{if $field.5}}{{$field.5.0}}{{/if}}'></span><span class="onoffswitch-switch"></span> </label></div><span class='field_help'>{{$field.4}}</span>
</div>
diff --git a/view/tpl/field_password.tpl b/view/tpl/field_password.tpl
index 23058f8a6..38ecf3d07 100755
--- a/view/tpl/field_password.tpl
+++ b/view/tpl/field_password.tpl
@@ -1,5 +1,5 @@
<div class='field password'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}'>{{$field.1}}</label>
<input type='password' name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}">
<span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_radio.tpl b/view/tpl/field_radio.tpl
index 147b6b834..a92324cad 100755
--- a/view/tpl/field_radio.tpl
+++ b/view/tpl/field_radio.tpl
@@ -1,5 +1,5 @@
<div class='field radio'>
- <label for='id_{{$field.0}}_{{$field.2}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}_{{$field.2}}'>{{$field.1}}</label>
<input type="radio" name='{{$field.0}}' id='id_{{$field.0}}_{{$field.2}}' value="{{$field.2}}" {{if $field.4}}checked="true"{{/if}}>
<span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_richtext.tpl b/view/tpl/field_richtext.tpl
index c8639cf10..378e02a62 100755
--- a/view/tpl/field_richtext.tpl
+++ b/view/tpl/field_richtext.tpl
@@ -1,5 +1,5 @@
<div class='field richtext'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}'>{{$field.1}}</label>
<textarea name='{{$field.0}}' id='id_{{$field.0}}' class="fieldRichtext">{{$field.2}}</textarea>
<span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_select.tpl b/view/tpl/field_select.tpl
index 9aca26e7b..95d1855d6 100755
--- a/view/tpl/field_select.tpl
+++ b/view/tpl/field_select.tpl
@@ -1,5 +1,5 @@
<div class='field select'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}'>{{$field.1}}</label>
<select name='{{$field.0}}' id='id_{{$field.0}}'>
{{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
</select>
diff --git a/view/tpl/field_select_disabled.tpl b/view/tpl/field_select_disabled.tpl
index f0090cf98..e241be895 100644
--- a/view/tpl/field_select_disabled.tpl
+++ b/view/tpl/field_select_disabled.tpl
@@ -1,5 +1,5 @@
<div class='field select'>
- <label style="font-weight: normal;" for='id_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" style="font-weight: normal;" for='id_{{$field.0}}'>{{$field.1}}</label>
<select disabled="true" name='{{$field.0}}' id='id_{{$field.0}}'>
{{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
</select>
diff --git a/view/tpl/field_select_grouped.tpl b/view/tpl/field_select_grouped.tpl
new file mode 100644
index 000000000..c7fb4f322
--- /dev/null
+++ b/view/tpl/field_select_grouped.tpl
@@ -0,0 +1,12 @@
+ <div class='field select'>
+ <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <select name='{{$field.0}}' id='id_{{$field.0}}'>
+ {{foreach $field.4 as $group=>$opts}}
+ <optgroup label='{{$group}}'>
+ {{foreach $opts as $opt=>$val}}
+ <option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
+ {{/foreach}}
+ </optgroup>
+ </select>
+ <span class='field_help'>{{$field.3}}</span>
+ </div>
diff --git a/view/tpl/field_select_raw.tpl b/view/tpl/field_select_raw.tpl
index 861be3201..74d575bd0 100755
--- a/view/tpl/field_select_raw.tpl
+++ b/view/tpl/field_select_raw.tpl
@@ -1,5 +1,5 @@
<div class='field select'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}'>{{$field.1}}</label>
<select name='{{$field.0}}' id='id_{{$field.0}}'>
{{$field.4}}
</select>
diff --git a/view/tpl/field_textarea.tpl b/view/tpl/field_textarea.tpl
index b454045c0..dad89a145 100755
--- a/view/tpl/field_textarea.tpl
+++ b/view/tpl/field_textarea.tpl
@@ -1,5 +1,5 @@
<div class='field textarea'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}'>{{$field.1}}</label>
<textarea name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.4}}{{$field.4}}{{/if}} >{{$field.2}}</textarea>
<span class='field_help'>{{$field.3}}</span>
</div>
diff --git a/view/tpl/field_themeselect.tpl b/view/tpl/field_themeselect.tpl
index a0e454bf5..120727478 100755
--- a/view/tpl/field_themeselect.tpl
+++ b/view/tpl/field_themeselect.tpl
@@ -1,6 +1,6 @@
<script>$(document).ready(function(){ previewTheme($("#id_{{$field.0}}")[0]); });</script>
<div class='field select'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}'>{{$field.1}}</label>
<select name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.5=='preview'}}onchange="previewTheme(this);"{{/if}} >
{{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
</select>
diff --git a/view/tpl/field_yesno.tpl b/view/tpl/field_yesno.tpl
index e36e775c7..f5a909833 100755
--- a/view/tpl/field_yesno.tpl
+++ b/view/tpl/field_yesno.tpl
@@ -1,5 +1,5 @@
<div class='field yesno'>
- <label for='id_{{$field.0}}'>{{$field.1}}</label>
+ <label class="mainlabel" for='id_{{$field.0}}'>{{$field.1}}</label>
<div class='onoff' id="id_{{$field.0}}_onoff">
<input type="hidden" name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}">
<a href="#" class='off'>
diff --git a/view/tpl/head.tpl b/view/tpl/head.tpl
index 9c9e7b970..8a32bd7f6 100755
--- a/view/tpl/head.tpl
+++ b/view/tpl/head.tpl
@@ -26,6 +26,8 @@
var localUser = {{if $local_user}}{{$local_user}}{{else}}false{{/if}};
var zid = {{if $zid}}'{{$zid}}'{{else}}null{{/if}};
var justifiedGalleryActive = false;
+ {{if $channel_hash}}var channelHash = '{{$channel_hash}}';{{/if}}
+ {{if $channel_id}}var channelId = '{{$channel_id}}';{{/if}}{{* Used in e.g. autocomplete *}}
</script>
diff --git a/view/tpl/hide_comments.tpl b/view/tpl/hide_comments.tpl
deleted file mode 100755
index f4ed9c552..000000000
--- a/view/tpl/hide_comments.tpl
+++ /dev/null
@@ -1,4 +0,0 @@
-<div class="hide-comments-outer">
-<span id="hide-comments-total-{{$id}}" class="hide-comments-total">{{$num_comments}}</span> <span id="hide-comments-{{$id}}" class="hide-comments fakelink" onclick="showHideComments({{$id}});">{{$hide_text}}</span>
-</div>
-<div id="collapsed-comments-{{$id}}" class="collapsed-comments" style="display: {{$display}};">
diff --git a/view/tpl/install_db.tpl b/view/tpl/install_db.tpl
index 3968d2a54..1a58de129 100755
--- a/view/tpl/install_db.tpl
+++ b/view/tpl/install_db.tpl
@@ -22,7 +22,7 @@
{{include file="field_input.tpl" field=$dbuser}}
{{include file="field_password.tpl" field=$dbpass}}
{{include file="field_input.tpl" field=$dbdata}}
-
+{{include file="field_select.tpl" field=$dbtype}}
<input id="install-submit" type="submit" name="submit" value="{{$submit}}" />
diff --git a/view/tpl/install_settings.tpl b/view/tpl/install_settings.tpl
index d6fc66c87..62dcbb8b3 100755
--- a/view/tpl/install_settings.tpl
+++ b/view/tpl/install_settings.tpl
@@ -14,12 +14,13 @@
<input type="hidden" name="dbuser" value="{{$dbuser}}" />
<input type="hidden" name="dbpass" value="{{$dbpass}}" />
<input type="hidden" name="dbdata" value="{{$dbdata}}" />
+<input type="hidden" name="dbtype" value="{{$dbtype}}" />
<input type="hidden" name="pass" value="4" />
{{include file="field_input.tpl" field=$adminmail}}
{{include file="field_input.tpl" field=$siteurl}}
-{{$timezone}}
+{{include file="field_select_grouped.tpl" field=$timezone}}
<input id="install-submit" type="submit" name="submit" value="{{$submit}}" />
diff --git a/view/tpl/intros.tpl b/view/tpl/intros.tpl
deleted file mode 100755
index a4aed3bb8..000000000
--- a/view/tpl/intros.tpl
+++ /dev/null
@@ -1,17 +0,0 @@
-<div class="intro-wrapper" id="intro-{{$contact_id}}" >
-
-<div class="intro-fullname" id="intro-fullname-{{$contact_id}}" >{{$fullname}}</div>
-<a class="intro-url-link" id="intro-url-link-{{$contact_id}}" href="{{$url}}" ><img id="photo-{{$contact_id}}" class="intro-photo" src="{{$photo}}" width="175" height=175" title="{{$fullname}}" alt="{{$fullname}}" /></a>
-<div class="intro-wrapper-end" id="intro-wrapper-end-{{$contact_id}}"></div>
-<form class="intro-form" action="intro" method="post">
-<input class="intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}" />
-<input class="intro-submit-block" type="submit" name="submit" value="{{$block}}" />
-<input class="intro-submit-discard" type="submit" name="submit" value="{{$discard}}" />
-{{include file="field_checkbox.tpl" field=$hidden}}
-{{* {{include file="field_checkbox.tpl" field=$activity}} *}}
-<input type="hidden" name="contact_id" value="{{$contact_id}}" >
-
-<input class="intro-submit-approve" type="submit" name="submit" value="{{$approve}}" />
-</form>
-</div>
-<div class="intro-end"></div>
diff --git a/view/tpl/intros_header.tpl b/view/tpl/intros_header.tpl
deleted file mode 100755
index 15096c7f8..000000000
--- a/view/tpl/intros_header.tpl
+++ /dev/null
@@ -1 +0,0 @@
-<h3>{{$title}}</h3>
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index abf446ba9..8d26fc653 100755
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
@@ -10,7 +10,10 @@ function initEditor(cb){
if(plaintext == 'none') {
$("#profile-jot-text-loading").spin(false).hide();
$("#profile-jot-text").css({ 'height': 200, 'color': '#000' });
- $("#profile-jot-text").contact_autocomplete(baseurl+"/acl");
+ if(typeof channelId === 'undefined')
+ $("#profile-jot-text").contact_autocomplete(baseurl+"/acl");
+ else
+ $("#profile-jot-text").contact_autocomplete(baseurl+"/acl",[channelId]); // Also gives suggestions from current channel's connections
editor = true;
$("a#jot-perms-icon").colorbox({
'inline' : true,
@@ -309,7 +312,7 @@ function enableOnUser(){
function jotClearLocation() {
$('#jot-coord').val('');
- $('#profile-nolocation-wrapper').hide();
+ $('#profile-nolocation-wrapper').attr('disabled', true);
}
diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl
index be896adb5..00ef77d93 100755
--- a/view/tpl/jot.tpl
+++ b/view/tpl/jot.tpl
@@ -19,64 +19,72 @@
<span class="channel-id-select-desc">{{$id_seltext}}</span> {{$id_select}}
</div>
{{/if}}
- <div id="jot-title-wrap">
- <input name="title" id="jot-title" type="text" placeholder="{{$placeholdertitle}}" value="{{$title}}" class="jothidden" style="display:none">
+ <div id="jot-title-wrap" class="jothidden" style="display:none">
+ <input name="title" id="jot-title" type="text" placeholder="{{$placeholdertitle}}" value="{{$title}}">
</div>
{{if $catsenabled}}
- <div id="jot-category-wrap">
- <input name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" class="jothidden" style="display:none" />
+ <div id="jot-category-wrap" class="jothidden" style="display:none">
+ <input name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" data-role="tagsinput"/>
</div>
{{/if}}
{{if $webpage}}
- <div id="jot-pagetitle-wrap">
- <input name="pagetitle" id="jot-pagetitle" type="text" placeholder="{{$placeholdpagetitle}}" value="{{$pagetitle}}" class="jothidden" style="display:none" />
+ <div id="jot-pagetitle-wrap" class="jothidden" style="display:none">
+ <input name="pagetitle" id="jot-pagetitle" type="text" placeholder="{{$placeholdpagetitle}}" value="{{$pagetitle}}" />
</div>
{{/if}}
<div id="jot-text-wrap">
<textarea class="profile-jot-text" id="profile-jot-text" name="body" placeholder="{{$share}}">{{$content}}</textarea>
</div>
<div id="profile-jot-submit-wrapper" class="jothidden">
- <div id="profile-jot-submit-left" class="btn-group pull-left">
+ <div id="profile-jot-submit-left" class="btn-toolbar pull-left">
{{if $visitor}}
- <button id="wall-image-upload" class="btn btn-default btn-sm" title="{{$upload}}" >
- <i class="icon-camera jot-icons"></i>
- </button>
- <button id="wall-file-upload" class="btn btn-default btn-sm" title="{{$attach}}" >
- <i id="wall-file-upload" class="icon-paper-clip jot-icons"></i>
- </button>
- <button id="profile-link-wrapper" class="btn btn-default btn-sm" title="{{$weblink}}" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;">
- <i id="profile-link" class="icon-link jot-icons"></i>
- </button>
- <button id="profile-video-wrapper" class="btn btn-default btn-sm" title="{{$video}}" onclick="jotVideoURL();return false;">
- <i id="profile-video" class="icon-facetime-video jot-icons"></i>
- </button>
- <button id="profile-audio-wrapper" class="btn btn-default btn-sm" title="{{$audio}}" onclick="jotAudioURL();return false;">
- <i id="profile-audio" class="icon-volume-up jot-icons"></i>
- </button>
- <button id="profile-nolocation-wrapper" class="btn btn-default btn-sm" style="display: none;" title="{{$noloc}}" onclick="jotClearLocation();return false;">
- <i id="profile-nolocation" class="icon-circle-blank jot-icons"></i>
- </button>
- <button id="profile-location-wrapper" class="btn btn-default btn-sm" title="{{$setloc}}" onclick="jotGetLocation();return false;">
- <i id="profile-location" class="icon-globe jot-icons"></i>
- </button>
+ <div class='btn-group'>
+ <button id="wall-image-upload" class="btn btn-default btn-sm" title="{{$upload}}" >
+ <i class="icon-camera jot-icons"></i>
+ </button>
+ <button id="wall-file-upload" class="btn btn-default btn-sm" title="{{$attach}}" >
+ <i id="wall-file-upload-icon" class="icon-paper-clip jot-icons"></i>
+ </button>
+ <button id="profile-link-wrapper" class="btn btn-default btn-sm" title="{{$weblink}}" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;">
+ <i id="profile-link" class="icon-link jot-icons"></i>
+ </button>
+ <button id="profile-video-wrapper" class="btn btn-default btn-sm" title="{{$video}}" onclick="jotVideoURL();return false;">
+ <i id="profile-video" class="icon-facetime-video jot-icons"></i>
+ </button>
+ <button id="profile-audio-wrapper" class="btn btn-default btn-sm" title="{{$audio}}" onclick="jotAudioURL();return false;">
+ <i id="profile-audio" class="icon-volume-up jot-icons"></i>
+ </button>
+ </div>
+ <div class='btn-group'>
+ <button id="profile-location-wrapper" class="btn btn-default btn-sm" title="{{$setloc}}" onclick="jotGetLocation();return false;">
+ <i id="profile-location" class="icon-globe jot-icons"></i>
+ </button>
+ {{if $noloc}}
+ <button id="profile-nolocation-wrapper" class="btn btn-default btn-sm" title="{{$noloc}}" onclick="jotClearLocation();return false;" disabled="disabled">
+ <i id="profile-nolocation" class="icon-circle-blank jot-icons"></i>
+ </button>
+ {{/if}}
+ {{else}}
+ <div class='btn-group'>
{{/if}}
{{if $feature_expire}}
- <button id="profile-expire-wrapper" class="btn btn-default btn-sm" title="{{$expires}}" onclick="jotGetExpiry();return false;">
- <i id="profile-expires" class="icon-eraser jot-icons"></i>
- </button>
+ <button id="profile-expire-wrapper" class="btn btn-default btn-sm" title="{{$expires}}" onclick="jotGetExpiry();return false;">
+ <i id="profile-expires" class="icon-eraser jot-icons"></i>
+ </button>
{{/if}}
{{if $feature_encrypt}}
- <button id="profile-encrypt-wrapper" class="btn btn-default btn-sm" title="{{$encrypt}}" onclick="red_encrypt('{{$cipher}}','#profile-jot-text',$('#profile-jot-text').val());return false;">
- <i id="profile-encrypt" class="icon-key jot-icons"></i>
- </button>
+ <button id="profile-encrypt-wrapper" class="btn btn-default btn-sm" title="{{$encrypt}}" onclick="red_encrypt('{{$cipher}}','#profile-jot-text',$('#profile-jot-text').val());return false;">
+ <i id="profile-encrypt" class="icon-key jot-icons"></i>
+ </button>
{{/if}}
+ </div>
</div>
<div id="profile-rotator-wrapper">
<div id="profile-rotator"></div>
</div>
<div id="profile-jot-submit-right" class="btn-group pull-right">
{{if $showacl}}
- <button class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" onclick="return false;">
+ <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" onclick="return false;">
<i id="jot-perms-icon" class="icon-{{$lockstate}} jot-icons">{{$bang}}</i>
</button>
{{/if}}
@@ -85,7 +93,7 @@
<i class="icon-eye-open jot-icons" ></i>
</button>
{{/if}}
- <button class="btn btn-primary btn-sm" type="submit" name="button-submit">{{$share}}</button>
+ <button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" name="button-submit" >{{$share}}</button>
</div>
<div id="profile-jot-perms-end"></div>
<div id="profile-jot-plugin-wrapper">
@@ -108,12 +116,7 @@
</div>
<!-- <div class="modal-body"> -->
<div class="modal-body form-group" style="width:90%">
- <div class="input-group input-group-sm date" id="datetimepicker1">
- <span class="input-group-addon"><!-- <span class="glyphicon glyphicon-calendar"></span> -->
- <span class="icon-calendar"></span>
- </span>
- <input id="expiration-date" type='text' class="form-control" data-date-format="YYYY-MM-DD HH:mm" size="20"/>
- </div>
+ <div class='date'><input type='text' placeholder='yyyy-mm-dd HH:MM' name='start_text' id='expiration-date' class="form-control" /></div><script type='text/javascript'>$(function () {var picker = $('#expiration-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); })</script>
</div>
<!-- </div> -->
<div class="modal-footer">
diff --git a/view/tpl/jot_geotag.tpl b/view/tpl/jot_geotag.tpl
index 7a398b612..60f128850 100755
--- a/view/tpl/jot_geotag.tpl
+++ b/view/tpl/jot_geotag.tpl
@@ -1,7 +1,7 @@
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
$('#jot-coord').val(position.coords.latitude + ' ' + position.coords.longitude);
- $('#profile-nolocation-wrapper').show();
+ $('#profile-nolocation-wrapper').attr('disabled', false);
});
}
diff --git a/view/tpl/layoutlist.tpl b/view/tpl/layoutlist.tpl
index 96c692c1c..0a0085497 100644
--- a/view/tpl/layoutlist.tpl
+++ b/view/tpl/layoutlist.tpl
@@ -4,10 +4,10 @@
{{foreach $pages as $key => $items}}
{{foreach $items as $item}}
<div class="page-list-item">
- {{if $edit}}<a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil design-icons design-edit-icon"></i></a> {{/if}}
- {{if $view}}<a href="page/{{$channel}}/{{$item.title}}" title="{{$view}}"><i class="icon-external-link design-icons design-view-icon"></i></a> {{/if}}
- {{if $share}}<a href="layouts/{{$channel}}/share/{{$item.mid}}" title="{{$share}}"><i class="icon-share design-icons"></i></a> {{/if}}
- {{if $preview}}<a href="page/{{$channel}}/{{$item.title}}?iframe=true&width=80%&height=80%" title="{{$preview}}" class="webpage-preview" ><i class="icon-eye-open design-icons design-preview-icon"></i></a> {{/if}}
+ {{if $edit}}<a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil design-icons design-edit-icon btn btn-default"></i></a> {{/if}}
+ {{if $view}}<a href="page/{{$channel}}/{{$item.title}}" title="{{$view}}"><i class="icon-external-link design-icons design-view-icon btn btn-default"></i></a> {{/if}}
+ {{if $share}}<a href="layouts/{{$channel}}/share/{{$item.mid}}" title="{{$share}}"><i class="icon-share design-icons btn btn-default"></i></a> {{/if}}
+ {{*if $preview}}<a href="page/{{$channel}}/{{$item.title}}?iframe=true&width=80%&height=80%" title="{{$preview}}" class="webpage-preview" ><i class="icon-eye-open design-icons design-preview-icon"></i></a> {{/if*}}
{{$item.title}}
</div>
{{/foreach}}
diff --git a/view/tpl/list_things.tpl b/view/tpl/list_things.tpl
deleted file mode 100644
index fb8935d82..000000000
--- a/view/tpl/list_things.tpl
+++ /dev/null
@@ -1,13 +0,0 @@
-{{if $things}}
-{{foreach $things as $key => $items}}
-<b>{{$items.profile}} {{$key}}</b>
-<ul class="profile-thing-list">
-{{foreach $items as $item}}
-<li>{{if $item.img}}<img src="{{$item.img}}" width="100" height="100" alt="{{$item.term}}" />{{/if}}
-<a href="{{$item.url}}" >{{$item.term}}</a>
-</li>
-{{/foreach}}
-</ul>
-<div class="clear"></div>
-{{/foreach}}
-{{/if}}
diff --git a/view/tpl/locmanage.tpl b/view/tpl/locmanage.tpl
new file mode 100644
index 000000000..5a25850a1
--- /dev/null
+++ b/view/tpl/locmanage.tpl
@@ -0,0 +1,26 @@
+<h2>{{$header}}</h2>
+
+<script>
+function primehub(id) {
+ $.post('locs','primary='+id,function(data) { window.location.href=window.location.href; });
+}
+function drophub(id) {
+ $.post('locs','drop='+id,function(data) { window.location.href=window.location.href; });
+}
+</script>
+
+<table>
+<tr><td>{{$loc}}</td><td>{{$mkprm}}</td><td>{{$drop}}</td></tr>
+{{foreach $hubs as $hub}}
+<tr><td>
+{{if $hub.deleted}}<strike>{{/if}}
+{{$hub.hubloc_url}} ({{$hub.hubloc_addr}}){{if $hub.deleted}}</strike>{{/if}}</td>
+<td>
+
+{{if $hub.primary}}<i class="icon-check"></i>{{else}}<button class="btn btn-std"><i class="icon-check-empty" onclick="primehub({{$hub.hubloc_id}}); return false;" ></i></button>{{/if}}
+</td>
+<td>{{if $hub.primary}}{{else}}{{if ! $hub.deleted}}<button class="btn btn-std" onclick="drophub({{$hub.hubloc_id}}); return false;"><i class="icon-remove"></i></button>{{/if}}{{/if}}</td>
+</tr>
+{{/foreach}}
+</table>
+
diff --git a/view/tpl/main_slider.tpl b/view/tpl/main_slider.tpl
index fbc290df1..c8f3d2e06 100755
--- a/view/tpl/main_slider.tpl
+++ b/view/tpl/main_slider.tpl
@@ -2,8 +2,8 @@
<script>
var old_cmin = 0;
var old_cmax = 99;
- $("#main-range").slider({ from: 0, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], onstatechange: function(v) {
- var carr = v.split(";");
+ $("#main-range").jRange({ isRange: true, from: 0, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], width:'100%', showLabels: false, onstatechange: function(v) {
+ var carr = v.split(",");
if(carr[0] != bParam_cmin) {
old_cmin = bParam_cmin;
bParam_cmin = carr[0];
diff --git a/view/tpl/menulist.tpl b/view/tpl/menulist.tpl
index 2feb75d90..bb862fef0 100644
--- a/view/tpl/menulist.tpl
+++ b/view/tpl/menulist.tpl
@@ -9,7 +9,7 @@
{{if $menus }}
<ul id="menulist">
{{foreach $menus as $m }}
-<li><a href="menu/{{$m.menu_id}}" title="{{$hintedit}}"><i class="icon-pencil design-icons design-edit-icon"></i></a> <a href="menu/{{$m.menu_id}}/drop" title={{$hintdrop}}><i class="icon-remove drop-icons design-icons design-remove-icon"></i></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="mitem/{{$m.menu_id}}/new" title="{{$hintcontent}}">{{$m.menu_name}}</a></li>
+<li><a href="menu/{{$m.menu_id}}" title="{{$hintedit}}"><i class="icon-pencil design-icons design-edit-icon btn btn-default"></i></a> <a href="menu/{{$m.menu_id}}/drop" title="{{$hintdrop}}"><i class="icon-remove drop-icons design-icons design-remove-icon btn btn-default"></i></a>&nbsp;&nbsp;&nbsp;&nbsp;{{if $m.bookmark}}<i class="icon-bookmark" title="{{$bmark}}" ></i>&nbsp;{{/if}}<a href="mitem/{{$m.menu_id}}/new" title="{{$hintcontent}}">{{$m.menu_name}}</a></li>
{{/foreach}}
</ul>
{{/if}}
diff --git a/view/tpl/mitemedit.tpl b/view/tpl/mitemedit.tpl
index 482005e44..a18fbb0ef 100644
--- a/view/tpl/mitemedit.tpl
+++ b/view/tpl/mitemedit.tpl
@@ -26,7 +26,7 @@
<div class="mitemedit-submit-wrapper" >
-<input type="submit" name="submit" class="mitemedit-submit" value="{{$submit}}" />
+<input id="dbtn-submit" type="submit" name="submit" class="mitemedit-submit" value="{{$submit}}" />
</div>
</form>
diff --git a/view/tpl/msg-header.tpl b/view/tpl/msg-header.tpl
index 503e4c8cc..85fa51b0a 100755
--- a/view/tpl/msg-header.tpl
+++ b/view/tpl/msg-header.tpl
@@ -52,10 +52,10 @@ else
'prvmail-upload-wrapper',
{ action: 'wall_upload/{{$nickname}}',
name: 'userfile',
- onSubmit: function(file,ext) { $('#profile-rotator').spin('tiny'); },
+ onSubmit: function(file,ext) { $('#prvmail-rotator').spin('tiny'); },
onComplete: function(file,response) {
- addeditortext(response);
- $('#profile-rotator').spin(false);
+ addmailtext(response);
+ $('#prvmail-rotator').spin(false);
}
}
);
@@ -64,23 +64,23 @@ else
'prvmail-attach-wrapper',
{ action: 'wall_attach/{{$nickname}}',
name: 'userfile',
- onSubmit: function(file,ext) { $('#profile-rotator').spin('tiny'); },
+ onSubmit: function(file,ext) { $('#prvmail-rotator').spin('tiny'); },
onComplete: function(file,response) {
- addeditortext(response);
- $('#profile-rotator').spin(false);
+ addmailtext(response);
+ $('#prvmail-rotator').spin(false);
}
}
);
});
- function jotGetLink() {
+ function prvmailJotGetLink() {
reply = prompt("{{$linkurl}}");
if(reply && reply.length) {
- $('#profile-rotator').spin('tiny');
+ $('#prvmail-rotator').spin('tiny');
$.get('parse_url?url=' + reply, function(data) {
- addeditortext(response);
- $('#profile-rotator').spin(false);
+ addmailtext(data);
+ $('#prvmail-rotator').spin(false);
});
}
}
@@ -103,15 +103,15 @@ else
event.target.textContent = reply;
event.preventDefault();
if(reply && reply.length) {
- $('#profile-rotator').spin('tiny');
+ $('#prvmail-rotator').spin('tiny');
$.get('parse_url?url=' + reply, function(data) {
- addeditortext(response);
- $('#profile-rotator').spin(false);
+ addmailtext(data);
+ $('#prvmail-rotator').spin(false);
});
}
}
- function addeditortext(data) {
+ function addmailtext(data) {
if(plaintext == 'none') {
var currentText = $("#prvmail-text").val();
$("#prvmail-text").val(currentText + data);
diff --git a/view/tpl/nav.tpl b/view/tpl/nav.tpl
index a8a7a7da7..4241c0a92 100755
--- a/view/tpl/nav.tpl
+++ b/view/tpl/nav.tpl
@@ -16,12 +16,12 @@
{{if $localuser}}
<ul class="dropdown-menu" role="menu" aria-labelledby="avatar">
{{foreach $nav.usermenu as $usermenu}}
- <li role="presentation"><a href="{{$usermenu.0}}" title="{{$usermenu.3}}" role="menuitem">{{$usermenu.1}}</a></li>
+ <li role="presentation"><a href="{{$usermenu.0}}" title="{{$usermenu.3}}" role="menuitem" id="{{$usermenu.4}}">{{$usermenu.1}}</a></li>
{{/foreach}}
<li role="presentation" class="divider"></li>
- {{if $nav.profiles}}<li role="presentation"><a href="{{$nav.profiles.0}}" title="{{$nav.profiles.3}}" role="menuitem">{{$nav.profiles.1}}</a></li>{{/if}}
- {{if $nav.settings}}<li role="presentation"><a href="{{$nav.settings.0}}" title="{{$nav.settings.3}}" role="menuitem">{{$nav.settings.1}}</a></li>{{/if}}
- {{if $nav.manage}}<li role="presentation"><a href="{{$nav.manage.0}}" title="{{$nav.manage.3}}" role="menuitem">{{$nav.manage.1}}</a></li>{{/if}}
+ {{if $nav.profiles}}<li role="presentation"><a href="{{$nav.profiles.0}}" title="{{$nav.profiles.3}}" role="menuitem" id="{{$nav.profiles.4}}">{{$nav.profiles.1}}</a></li>{{/if}}
+ {{if $nav.settings}}<li role="presentation"><a href="{{$nav.settings.0}}" title="{{$nav.settings.3}}" role="menuitem" id="{{$nav.settings.4}}">{{$nav.settings.1}}</a></li>{{/if}}
+ {{if $nav.manage}}<li role="presentation"><a href="{{$nav.manage.0}}" title="{{$nav.manage.3}}" role="menuitem" id="{{$nav.manage.4}}">{{$nav.manage.1}}</a></li>{{/if}}
{{if $nav.channels}}
{{foreach $nav.channels as $chan}}
<li role="presentation" class="nav-channel-select"><a href="manage/{{$chan.channel_id}}" title="{{$chan.channel_name}}" role="menuitem">{{$chan.channel_name}}</a></li>
@@ -29,11 +29,11 @@
{{/if}}
{{if $nav.admin}}
<li role="presentation" class="divider"></li>
- <li role="presentation"><a href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" role="menuitem">{{$nav.admin.1}}</a></li>
+ <li role="presentation"><a href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" role="menuitem" id="{{$nav.admin.4}}">{{$nav.admin.1}}</a></li>
{{/if}}
{{if $nav.logout}}
<li role="presentation" class="divider"></li>
- <li role="presentation"><a href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" role="menuitem">{{$nav.logout.1}}</a></li>
+ <li role="presentation"><a href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" role="menuitem" id="{{$nav.logout.4}}">{{$nav.logout.1}}</a></li>
{{/if}}
</ul>
{{else}}
@@ -47,14 +47,14 @@
</div>
<div class="collapse navbar-collapse" id="navbar-collapse-1">
<ul class="nav navbar-nav navbar-left">
- {{if $nav.register}}<li class="{{$nav.register.2}}"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" >{{$nav.register.1}}</a><li>{{/if}}
+ {{if $nav.register}}<li class="{{$nav.register.2}}"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a></li>{{/if}}
{{if !$userinfo}}
{{if $nav.loginmenu}}
<li class="{{$nav.loginmenu.0.2}} hidden-xs">
- <a data-toggle="dropdown" data-target="#" href="{{$nav.loginmenu.0.0}}" title="{{$nav.loginmenu.0.3}}" >{{$nav.loginmenu.0.1}} <span class="caret" id="usermenu-caret"></span></a>
+ <a data-toggle="dropdown" data-target="#" href="{{$nav.loginmenu.0.0}}" title="{{$nav.loginmenu.0.3}}" id="{{$nav.loginmenu.0.4}}">{{$nav.loginmenu.0.1}} <span class="caret" id="loginmenu-caret"></span></a>
<ul class="dropdown-menu" role="menu">
{{foreach $nav.loginmenu as $loginmenu}}
- <li role="presentation"><a class="{{$loginmenu.2}}" href="{{$loginmenu.0}}" title="{{$loginmenu.3}}" role="menuitem">{{$loginmenu.1}}</a></li>
+ <li role="presentation"><a class="{{$loginmenu.2}}" href="{{$loginmenu.0}}" title="{{$loginmenu.3}}" role="menuitem" id="{{$loginmenu.4}}">{{$loginmenu.1}}</a></li>
{{/foreach}}
</ul>
</li>
@@ -64,11 +64,11 @@
{{/if}}
{{/if}}
- {{if $nav.alogout}}<li class="{{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" >{{$nav.alogout.1}}</a></li>{{/if}}
+ {{if $nav.alogout}}<li class="{{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a></li>{{/if}}
{{if $nav.network}}
<li class="{{$sel.network}} hidden-xs">
- <a href="{{$nav.network.0}}" title="{{$nav.network.3}}" ><i class="icon-th"></i></a>
+ <a href="{{$nav.network.0}}" title="{{$nav.network.3}}" id="{{$nav.network.4}}"><i class="icon-th"></i></a>
<span class="net-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-network-menu"></span>
<ul id="nav-network-menu" role="menu" class="dropdown-menu" rel="network">
{{* <li id="nav-network-see-all"><a href="{{$nav.network.all.0}}">{{$nav.network.all.1}}</a></li> *}}
@@ -84,7 +84,7 @@
{{if $nav.home}}
<li class="{{$sel.home}} hidden-xs">
- <a class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" ><i class="icon-home"></i></a>
+ <a class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" id="{{$nav.home.4}}"><i class="icon-home"></i></a>
<span class="home-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-home-menu"></span>
<ul id="nav-home-menu" class="dropdown-menu" rel="home">
{{* <li id="nav-home-see-all"><a href="{{$nav.home.all.0}}">{{$nav.home.all.1}}</a></li> *}}
@@ -101,7 +101,7 @@
{{if $nav.messages}}
<li class="{{$sel.messages}} hidden-xs">
- <a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" ><i class="icon-envelope"></i></a>
+ <a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" id="{{$nav.messages.4}}"><i class="icon-envelope"></i></a>
<span class="mail-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-messages-menu"></span>
<ul id="nav-messages-menu" class="dropdown-menu" rel="messages">
<li id="nav-messages-see-all"><a href="{{$nav.messages.all.0}}">{{$nav.messages.all.1}}</a></li>
@@ -117,7 +117,7 @@
{{if $nav.all_events}}
<li class="{{$sel.all_events}} hidden-xs">
- <a class="{{$nav.all_events.2}}" href="{{$nav.all_events.0}}" title="{{$nav.all_events.3}}" ><i class="icon-calendar"></i></a>
+ <a class="{{$nav.all_events.2}}" href="{{$nav.all_events.0}}" title="{{$nav.all_events.3}}" id='{{$nav.all_events.4}}'><i class="icon-calendar"></i></a>
<span class="all_events-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-all_events-menu"></span>
<ul id="nav-all_events-menu" class="dropdown-menu" rel="all_events">
<li id="nav-all_events-see-all"><a href="{{$nav.all_events.all.0}}">{{$nav.all_events.all.1}}</a></li>
@@ -133,7 +133,7 @@
{{if $nav.intros}}
<li class="{{$sel.intros}} hidden-xs">
- <a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" ><i class="icon-user"></i></a>
+ <a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" id="{{$nav.intros.4}}"><i class="icon-user"></i></a>
<span class="intro-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-intros-menu"></span>
<ul id="nav-intros-menu" class="dropdown-menu" rel="intros">
<li id="nav-intros-see-all"><a href="{{$nav.intros.all.0}}">{{$nav.intros.all.1}}</a></li>
@@ -148,7 +148,7 @@
{{if $nav.notifications}}
<li class="{{$sel.notifications}} hidden-xs">
- <a href="{{$nav.notifications.0}}" title="{{$nav.notifications.1}}"><i class="icon-exclamation"></i></a>
+ <a href="{{$nav.notifications.0}}" title="{{$nav.notifications.1}}" id="{{$nav.notifications.4}}"><i class="icon-exclamation"></i></a>
<span class="notify-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-notify-menu"></span>
<ul id="nav-notify-menu" class="dropdown-menu" rel="notify">
<li id="nav-notify-see-all"><a href="{{$nav.notifications.all.0}}">{{$nav.notifications.all.1}}</a></li>
@@ -165,7 +165,7 @@
<ul class="nav navbar-nav navbar-right">
<li class="hidden-xs">
<form method="get" action="search" role="search">
- <div id="nav-search-spinner"></div><input class="icon-search" id="nav-search-text" type="text" value="" placeholder="&#xf002;" name="search" title="{{$nav.search.3}}" onclick="this.submit();" />
+ <div id="nav-search-spinner"></div><input class="icon-search" id="nav-search-text" type="text" value="" placeholder="&#xf002; {{$help}}" name="search" title="{{$nav.search.3}}" onclick="this.submit();"/>
</form>
</li>
<li class="visible-xs">
@@ -177,19 +177,19 @@
{{/if}}
{{if $nav.directory}}
<li class="{{$sel.directory}}">
- <a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}"><i class="icon-sitemap"></i></a>
+ <a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}" id="{{$nav.directory.4}}"><i class="icon-sitemap"></i></a>
</li>
{{/if}}
{{if $nav.apps}}
<li class="{{$sel.apps}}">
- <a class="{{$nav.apps.2}}" href="{{$nav.apps.0}}" title="{{$nav.apps.3}}" ><i class="icon-cogs"></i></a>
+ <a class="{{$nav.apps.2}}" href="{{$nav.apps.0}}" title="{{$nav.apps.3}}" id="{{$nav.apps.4}}"><i class="icon-cogs"></i></a>
</li>
{{/if}}
{{if $nav.help}}
<li class="{{$sel.help}}">
- <a class="{{$nav.help.2}}" target="redmatrix-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" ><i class="icon-question"></i></a>
+ <a class="{{$nav.help.2}}" target="redmatrix-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" id="{{$nav.help.4}}"><i class="icon-question"></i></a>
</li>
{{/if}}
</ul>
diff --git a/view/tpl/netfriend.tpl b/view/tpl/netfriend.tpl
deleted file mode 100755
index ec6b3b6cc..000000000
--- a/view/tpl/netfriend.tpl
+++ /dev/null
@@ -1,14 +0,0 @@
-<div class="intro-approve-as-friend-desc">{{$approve_as}}</div>
-
-<div class="intro-approve-as-friend-wrapper">
- <label class="intro-approve-as-friend-label" for="intro-approve-as-friend-{{$intro_id}}">{{$as_friend}}</label>
- <input type="radio" name="duplex" id="intro-approve-as-friend-{{$intro_id}}" class="intro-approve-as-friend" {{$friend_selected}} value="1" />
- <div class="intro-approve-friend-break" ></div>
-</div>
-<div class="intro-approve-as-friend-end"></div>
-<div class="intro-approve-as-fan-wrapper">
- <label class="intro-approve-as-fan-label" for="intro-approve-as-fan-{{$intro_id}}">{{$as_fan}}</label>
- <input type="radio" name="duplex" id="intro-approve-as-fan-{{$intro_id}}" class="intro-approve-as-fan" {{$fan_selected}} value="0" />
- <div class="intro-approve-fan-break"></div>
-</div>
-<div class="intro-approve-as-end"></div>
diff --git a/view/tpl/new_channel.tpl b/view/tpl/new_channel.tpl
index ee07ce1df..ff2011181 100755
--- a/view/tpl/new_channel.tpl
+++ b/view/tpl/new_channel.tpl
@@ -5,9 +5,7 @@
<div id="newchannel-desc" class="descriptive-paragraph">{{$desc}}</div>
<div id="newchannel-role-help" class="descriptive-paragraph">{{$help_role}}</div>
-
- <label for="newchannel-role" id="label-newchannel-role" class="newchannel-label" >{{$label_role}}</label>
- {{$role_select}}
+ {{include file="field_select_grouped.tpl" field=$role}}
<div id="newchannel-role-end" class="newchannel-field-end"></div>
diff --git a/view/tpl/nogroup-template.tpl b/view/tpl/nogroup-template.tpl
deleted file mode 100755
index 15094b2d6..000000000
--- a/view/tpl/nogroup-template.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-<h1>{{$header}}</h1>
-
-{{foreach $contacts as $contact}}
- {{include file="contact_template.tpl"}}
-{{/foreach}}
-<div id="contact-edit-end"></div>
-
-{{$paginate}}
-
-
-
-
diff --git a/view/tpl/notifications_comments_item.tpl b/view/tpl/notifications_comments_item.tpl
deleted file mode 100755
index d3c79be82..000000000
--- a/view/tpl/notifications_comments_item.tpl
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="notif-item">
- <a href="{{$item_link}}"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div>
diff --git a/view/tpl/notifications_dislikes_item.tpl b/view/tpl/notifications_dislikes_item.tpl
deleted file mode 100755
index d3c79be82..000000000
--- a/view/tpl/notifications_dislikes_item.tpl
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="notif-item">
- <a href="{{$item_link}}"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div>
diff --git a/view/tpl/notifications_friends_item.tpl b/view/tpl/notifications_friends_item.tpl
deleted file mode 100755
index d3c79be82..000000000
--- a/view/tpl/notifications_friends_item.tpl
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="notif-item">
- <a href="{{$item_link}}"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div>
diff --git a/view/tpl/notifications_likes_item.tpl b/view/tpl/notifications_likes_item.tpl
deleted file mode 100755
index d3c79be82..000000000
--- a/view/tpl/notifications_likes_item.tpl
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="notif-item">
- <a href="{{$item_link}}"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div>
diff --git a/view/tpl/notifications_posts_item.tpl b/view/tpl/notifications_posts_item.tpl
deleted file mode 100755
index d3c79be82..000000000
--- a/view/tpl/notifications_posts_item.tpl
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="notif-item">
- <a href="{{$item_link}}"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a>
-</div>
diff --git a/view/tpl/peoplefind.tpl b/view/tpl/peoplefind.tpl
index 55bf1575f..ba71c1e80 100755
--- a/view/tpl/peoplefind.tpl
+++ b/view/tpl/peoplefind.tpl
@@ -1,22 +1,19 @@
<div id="peoplefind-sidebar" class="widget">
<h3>{{$findpeople}}</h3>
- <div class="descriptive-text">{{$desc}}</div>
<form action="directory" method="post" />
- <input class="icon-search" id="side-peoplefind-url" type="text" name="search" size="24" title="{{$hint}}" placeholder="&#xf002;"/>
- <input id="side-peoplefind-submit" class="btn btn-default" type="submit" name="submit" value="{{$findthem}}" />
- <br />
- {{if $advanced_search}}
- <a href="#" onclick="openClose('advanced-people-search-div'); return false;">{{$advanced_search}}</a>
- <div id="advanced-people-search-div" style="display: none;">
- <input class="icon-search" id="side-advanced-peoplefind-url" type="text" name="query" size="24" title="{{$advanced_hint}}" placeholder="&#xf002;"/>
- <input id="side-advanced-peoplefind-submit" class="btn btn-default" type="submit" name="submit" value="{{$find_advanced}}" />
+ <div class="form-group">
+ <div class="input-group">
+ <input class="widget-input" type="text" name="search" title="{{$hint}}{{if $advanced_search}}{{$advanced_hint}}{{/if}}" placeholder="{{$desc}}" />
+ <div class="input-group-btn">
+ <button class="btn btn-default btn-sm" type="submit" name="submit"><i class="icon-search"></i></button>
+ </div>
+ </div>
</div>
- <br />
- {{/if}}
</form>
- {{if $similar}}<a href="match" >{{$similar}}</a><br />{{/if}}
- {{if $loggedin}}<a href="suggest" >{{$suggest}}</a><br />{{/if}}
- <a href="randprof" >{{$random}}</a><br />
- {{if $loggedin}}{{if $inv}}<a href="invite" >{{$inv}}</a>{{/if}}{{/if}}
+ <ul class="nav nav-pills nav-stacked">
+ {{if $similar}}<li><a href="match" >{{$similar}}</a></li>{{/if}}
+ {{if $loggedin}}<li><a href="directory?suggest=1" >{{$suggest}}</a></li>{{/if}}
+ <li><a href="randprof" >{{$random}}</a></li>
+ {{if $loggedin}}{{if $inv}}<li><a href="invite" >{{$inv}}</a></li>{{/if}}{{/if}}
+ </ul>
</div>
-
diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl
index 0a26fc367..5506b01f2 100755
--- a/view/tpl/photo_album.tpl
+++ b/view/tpl/photo_album.tpl
@@ -1,17 +1,21 @@
<div class="section-title-wrapper">
- <div class="btn-group btn-group-xs pull-right">
- {{if $album_edit.1}}
- <i class="icon-pencil btn btn-default" title="{{$album_edit.0}}" onclick="openClose('photo-album-edit-wrapper');"></i>
- {{/if}}
- <a class="btn btn-default" href="{{$order.1}}" title="{{$order.0}}"><i class="icon-sort"></i></a>
- {{if $can_post}}
- <a class="btn btn-xs btn-success" href="{{$upload.1}}"><i class="icon-upload"></i>&nbsp;{{$upload.0}}</a>
- {{/if}}
+ <div class="pull-right">
+ <a class="btn btn-default btn-xs" href="{{$order.1}}" title="{{$order.0}}"><i class="icon-sort"></i></a>
+ <div class="btn-group btn-group">
+ {{if $album_edit.1}}
+ <i class="icon-pencil btn btn-default btn-xs" title="{{$album_edit.0}}" onclick="openClose('photo-album-edit-wrapper'); closeMenu('photo-upload-form');"></i>
+ {{/if}}
+ {{if $can_post}}
+ <button class="btn btn-xs btn-success btn-xs" title="{{$usage}}" onclick="openClose('photo-upload-form'); closeMenu('photo-album-edit-wrapper');"><i class="icon-upload"></i>&nbsp;{{$upload.0}}</button>
+ {{/if}}
+ </div>
</div>
+
<h2>{{$album}}</h2>
<div class="clear"></div>
</div>
+{{$upload_form}}
{{$album_edit.1}}
<div id="photo-album-contents" class="generic-content-wrapper">
{{foreach $photos as $photo}}
diff --git a/view/tpl/photo_albums.tpl b/view/tpl/photo_albums.tpl
index 0f8b809ac..de1105bbc 100755
--- a/view/tpl/photo_albums.tpl
+++ b/view/tpl/photo_albums.tpl
@@ -1,17 +1,13 @@
<div id="side-bar-photos-albums" class="widget">
<h3>{{$title}}</h3>
<ul class="nav nav-pills nav-stacked">
- {{if $upload}}
- <li><a href="{{$baseurl}}/photos/{{$nick}}/upload" title="{{$upload}}">{{$upload}}</a></li>
- {{/if}}
<li><a href="{{$baseurl}}/photos/{{$nick}}" title="{{$title}}" >Recent Photos</a></li>
- {{if $albums}}
+ {{if $albums}}
{{foreach $albums as $al}}
{{if $al.text}}
<li><a href="{{$baseurl}}/photos/{{$nick}}/album/{{$al.bin2hex}}"><span class="badge pull-right">{{$al.total}}</span>{{$al.text}}</a></li>
{{/if}}
{{/foreach}}
-
- {{/if}}
+ {{/if}}
</ul>
</div>
diff --git a/view/tpl/photo_view.tpl b/view/tpl/photo_view.tpl
index c79cd7d56..45a7cd7e5 100755
--- a/view/tpl/photo_view.tpl
+++ b/view/tpl/photo_view.tpl
@@ -2,28 +2,28 @@
<div class="generic-content-wrapper">
<div class="section-title-wrapper">
+ <div class="pull-right">
- <div class="btn-group btn-group-xs pull-right">
- {{if $prevlink}}
- <a href="{{$prevlink.0}}" class="btn btn-default" title="{{$prevlink.1}}"><i class="icon-backward"></i></a>
- {{/if}}
- {{if $nextlink}}
- <a href="{{$nextlink.0}}" class="btn btn-default" title="{{$nextlink.1}}"><i class="icon-forward"></i></a>
- {{/if}}
- </div>
- <div class="btn-group btn-group-xs pull-right dropdown">
{{if $tools}}
- <a class="btn btn-default" title="{{$tools.profile.1}}" href="{{$tools.profile.0}}"><i class="icon-user"></i></a>
+ <a class="btn btn-default btn-xs" title="{{$tools.profile.1}}" href="{{$tools.profile.0}}"><i class="icon-user"></i></a>
{{/if}}
- {{if $edit}}
- <i class="icon-pencil btn btn-default" title="{{$edit.edit}}" onclick="openClose('photo-edit-edit');"></i>
- {{/if}}
-
- {{if $lock}}
- <i class="icon-lock btn btn-default dropdown-toggle" data-toggle="dropdown" title="{{$lock}}" onclick="lockview(event,{{$id}});" ></i><ul id="panel-{{$id}}" class="lockview-panel dropdown-menu"></ul>
- {{/if}}
- &nbsp;
+ <div class="btn-group btn-group dropdown">
+ {{if $edit}}
+ <i class="icon-pencil btn btn-default btn-xs" title="{{$edit.edit}}" onclick="openClose('photo-edit');"></i>
+ {{/if}}
+ {{if $lock}}
+ <i id="lockview" class="icon-lock btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown" title="{{$lock}}" onclick="lockview(event,{{$id}});" ></i><ul id="panel-{{$id}}" class="lockview-panel dropdown-menu"></ul>
+ {{/if}}
+ </div>
+ <div class="btn-group btn-group">
+ {{if $prevlink}}
+ <a href="{{$prevlink.0}}" class="btn btn-default btn-xs" title="{{$prevlink.1}}"><i class="icon-backward"></i></a>
+ {{/if}}
+ {{if $nextlink}}
+ <a href="{{$nextlink.0}}" class="btn btn-default btn-xs" title="{{$nextlink.1}}"><i class="icon-forward"></i></a>
+ {{/if}}
+ </div>
</div>
<h2>{{if $desc}}{{$desc}}{{elseif $filename}}{{$filename}}{{else}}{{$unknown}}{{/if}}</h2>
@@ -31,55 +31,59 @@
<div class="clear"></div>
</div>
- <div id="photo-edit-edit">
+ <div id="photo-edit" class="section-content-tools-wrapper">
<form action="photos/{{$edit.nickname}}/{{$edit.resource_id}}" method="post" id="photo_edit_form">
<input type="hidden" name="item_id" value="{{$edit.item_id}}" />
- <label id="photo-edit-albumname-label" for="photo-edit-albumname">{{$edit.newalbum}}</label>
- <input id="photo-edit-albumname" type="text" name="albname" value="{{$edit.album}}" list="dl-albums" />
- {{if $edit.albums}}
- <datalist id="dl-albums">
- {{foreach $edit.albums as $al}}
- {{if $al.text}}
- <option value="{{$al.text}}">
+ <div class="form-group">
+ <label id="photo-edit-albumname-label" for="photo-edit-albumname">{{$edit.newalbum_label}}</label>
+ <input id="photo-edit-albumname" class="form-control" type="text" name="albname" value="{{$edit.album}}" placeholder="{{$edit.newalbum_placeholder}}" list="dl-albums" />
+ {{if $edit.albums}}
+ <datalist id="dl-albums">
+ {{foreach $edit.albums as $al}}
+ {{if $al.text}}
+ <option value="{{$al.text}}">
+ {{/if}}
+ {{/foreach}}
+ </datalist>
{{/if}}
- {{/foreach}}
- </datalist>
- {{/if}}
- <div id="photo-edit-albumname-end"></div>
+ </div>
+ <div class="form-group">
<label id="photo-edit-caption-label" for="photo-edit-caption">{{$edit.capt_label}}</label>
- <input id="photo-edit-caption" type="text" name="desc" value="{{$edit.caption}}" />
- <div id="photo-edit-caption-end"></div>
- <label id="photo-edit-tags-label" for="photo-edit-newtag" >{{$edit.tag_label}}</label>
- <input name="newtag" id="photo-edit-newtag" title="{{$edit.help_tags}}" type="text" />
- <div id="photo-edit-tags-end"></div>
- <div id="photo-edit-rotate-wrapper">
- <div id="photo-edit-rotate-label">
- {{$edit.rotatecw}}<br>
- {{$edit.rotateccw}}
- </div>
- <input type="radio" name="rotate" value="1" /><br>
- <input type="radio" name="rotate" value="2" />
+ <input id="photo-edit-caption" class="form-control" type="text" name="desc" value="{{$edit.caption}}" />
+ </div>
+ <div class="form-group">
+ <label id="photo-edit-tags-label" for="photo-edit-newtag">{{$edit.tag_label}}</label>
+ <input name="newtag" id="photo-edit-newtag" class="form-control" title="{{$edit.help_tags}}" type="text" />
+ </div>
+ <div class="form-group">
+ <label class="radio-inline" id="photo-edit-rotate-cw-label" for="photo-edit-rotate-cw"><input id="photo-edit-rotate-cw" type="radio" name="rotate" value="1" />{{$edit.rotatecw}}</label>
+ <label class="radio-inline" id="photo-edit-rotate-ccw-label" for="photo-edit-rotate-ccw"><input id="photo-edit-rotate-ccw" type="radio" name="rotate" value="2" />{{$edit.rotateccw}}</label>
+ </div>
+ {{if $edit.adult_enabled}}
+ <div class="form-group">
+ {{include file="field_checkbox.tpl" field=$edit.adult}}
+ </div>
+ {{/if}}
+
+ {{$edit.aclselect}}
+
+ <div class="form-group pull-left">
+ <button class="btn btn-danger btn-sm" id="photo-edit-delete-button" type="submit" name="delete" value="{{$edit.delete}}" onclick="return confirmDelete();" />{{$edit.delete}}</button>
</div>
- <div id="photo-edit-rotate-end"></div>
- <div id="settings-default-perms" class="settings-default-perms">
- <span id="jot-perms-icon" class="{{$edit.lockstate}}"></span>
- <button class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" onclick="return false;">{{$edit.permissions}}</button>
- {{$edit.aclselect}}
- <div id="settings-default-perms-menu-end"></div>
+ <div class="form-group btn-group pull-right">
+ <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" onclick="return false;">
+ <i id="jot-perms-icon" class="icon-{{$edit.lockstate}}"></i>
+ </button>
+ <button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" name="submit" >{{$edit.submit}}</button>
</div>
- <br/>
- <div id="settings-default-perms-end"></div>
- <input id="photo-edit-submit-button" type="submit" name="submit" value="{{$edit.submit}}" />
- <input id="photo-edit-delete-button" type="submit" name="delete" value="{{$edit.delete}}" onclick="return confirmDelete();" />
- <div id="photo-edit-end"></div>
</form>
+ <div id="photo-edit-end" class="clear"></div>
</div>
<div id="photo-view-wrapper">
-
<div id="photo-photo"><a href="{{$photo.href}}" title="{{$photo.title}}" onclick="$.colorbox({href: '{{$photo.href}}'}); return false;"><img style="width: 100%;" src="{{$photo.src}}"></a></div>
- <div id="photo-photo-end"></div>
+ <div id="photo-photo-end" class="clear"></div>
{{if $tags}}
<div class="photo-item-tools-left" id="in-this-photo">
@@ -93,97 +97,92 @@
<div class="photo-item-tools">
{{if $like_count || $dislike_count}}
<div class="photo-item-tools-left pull-left">
- <div class="{{if $like_count && $dislike_count}}btn-group{{/if}}">
- {{if $like_count}}
- <div class="btn-group">
- <button type="button" class="btn btn-default btn-sm wall-item-like dropdown-toggle" data-toggle="dropdown" id="wall-item-like-{{$id}}">{{$like_count}} {{$like_button_label}}</button>
- {{if $like_list_part}}
- <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-like-{{$id}}">{{foreach $like_list_part as $liker}}<li role="presentation">{{$liker}}</li>{{/foreach}}</ul>
- {{else}}
- <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-like-{{$id}}">{{foreach $like_list as $liker}}<li role="presentation">{{$liker}}</li>{{/foreach}}</ul>
- {{/if}}
- </div>
- {{/if}}
- {{if $dislike_count}}
- <div class="btn-group">
- <button type="button" class="btn btn-default btn-sm wall-item-dislike dropdown-toggle" data-toggle="dropdown" id="wall-item-dislike-{{$id}}">{{$dislike_count}} {{$dislike_button_label}}</button>
- {{if $dislike_list_part}}
- <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-dislike-{{$id}}">{{foreach $dislike_list_part as $disliker}}<li role="presentation">{{$disliker}}</li>{{/foreach}}</ul>
- {{else}}
- <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-dislike-{{$id}}">{{foreach $dislike_list as $disliker}}<li role="presentation">{{$disliker}}</li>{{/foreach}}</ul>
- {{/if}}
- </div>
+ <div class="{{if $like_count && $dislike_count}}btn-group{{/if}}">
+ {{if $like_count}}
+ <div class="btn-group">
+ <button type="button" class="btn btn-default btn-sm wall-item-like dropdown-toggle" data-toggle="dropdown" id="wall-item-like-{{$id}}">{{$like_count}} {{$like_button_label}}</button>
+ {{if $like_list_part}}
+ <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-like-{{$id}}">{{foreach $like_list_part as $liker}}<li role="presentation">{{$liker}}</li>{{/foreach}}</ul>
+ {{else}}
+ <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-like-{{$id}}">{{foreach $like_list as $liker}}<li role="presentation">{{$liker}}</li>{{/foreach}}</ul>
{{/if}}
</div>
- {{if $like_list_part}}
- <div class="modal" id="likeModal-{{$id}}">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
- <h4 class="modal-title">{{$like_modal_title}}</h4>
- </div>
- <div class="modal-body">
- <ul>{{foreach $like_list as $liker}}<li role="presentation">{{$liker}}</li>{{/foreach}}</ul>
- </div>
- <div class="modal-footer clear">
- <button type="button" class="btn btn-default" data-dismiss="modal">{{$modal_dismiss}}</button>
- </div>
- </div><!-- /.modal-content -->
- </div><!-- /.modal-dialog -->
- </div><!-- /.modal -->
{{/if}}
- {{if $dislike_list_part}}
- <div class="modal" id="dislikeModal-{{$id}}">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
- <h4 class="modal-title">{{$dislike_modal_title}}</h4>
- </div>
- <div class="modal-body">
- <ul>{{foreach $dislike_list as $disliker}}<li role="presentation">{{$disliker}}</li>{{/foreach}}</ul>
- </div>
- <div class="modal-footer clear">
- <button type="button" class="btn btn-default" data-dismiss="modal">{{$modal_dismiss}}</button>
- </div>
- </div><!-- /.modal-content -->
- </div><!-- /.modal-dialog -->
- </div><!-- /.modal -->
+ {{if $dislike_count}}
+ <div class="btn-group">
+ <button type="button" class="btn btn-default btn-sm wall-item-dislike dropdown-toggle" data-toggle="dropdown" id="wall-item-dislike-{{$id}}">{{$dislike_count}} {{$dislike_button_label}}</button>
+ {{if $dislike_list_part}}
+ <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-dislike-{{$id}}">{{foreach $dislike_list_part as $disliker}}<li role="presentation">{{$disliker}}</li>{{/foreach}}</ul>
+ {{else}}
+ <ul class="dropdown-menu" role="menu" aria-labelledby="wall-item-dislike-{{$id}}">{{foreach $dislike_list as $disliker}}<li role="presentation">{{$disliker}}</li>{{/foreach}}</ul>
+ {{/if}}
+ </div>
{{/if}}
</div>
+ {{if $like_list_part}}
+ <div class="modal" id="likeModal-{{$id}}">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title">{{$like_modal_title}}</h4>
+ </div>
+ <div class="modal-body">
+ <ul>{{foreach $like_list as $liker}}<li role="presentation">{{$liker}}</li>{{/foreach}}</ul>
+ </div>
+ <div class="modal-footer clear">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{$modal_dismiss}}</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
+ </div><!-- /.modal -->
+ {{/if}}
+ {{if $dislike_list_part}}
+ <div class="modal" id="dislikeModal-{{$id}}">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title">{{$dislike_modal_title}}</h4>
+ </div>
+ <div class="modal-body">
+ <ul>{{foreach $dislike_list as $disliker}}<li role="presentation">{{$disliker}}</li>{{/foreach}}</ul>
+ </div>
+ <div class="modal-footer clear">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{$modal_dismiss}}</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
+ </div><!-- /.modal -->
+ {{/if}}
</div>
- {{/if}}
-
- {{if $likebuttons}}
- <div class="photo-item-tools-right btn-group pull-right">
- <button type="button" class="btn btn-default btn-sm" onclick="dolike({{$id}},'like'); return false">
- <i class="icon-thumbs-up-alt" title="{{$likethis}}"></i>
- </button>
- <button type="button" class="btn btn-default btn-sm" onclick="dolike({{$id}},'dislike'); return false">
- <i class="icon-thumbs-down-alt" title="{{$nolike}}"></i>
- </button>
- </div>
- <div id="like-rotator-{{$id}}" class="like-rotator pull-right"></div>
- {{/if}}
-
- <div class="clear"></div>
</div>
+ {{/if}}
+ {{if $likebuttons}}
+ <div class="photo-item-tools-right btn-group pull-right">
+ <button type="button" class="btn btn-default btn-sm" onclick="dolike({{$id}},'like'); return false">
+ <i class="icon-thumbs-up-alt" title="{{$likethis}}"></i>
+ </button>
+ <button type="button" class="btn btn-default btn-sm" onclick="dolike({{$id}},'dislike'); return false">
+ <i class="icon-thumbs-down-alt" title="{{$nolike}}"></i>
+ </button>
+ </div>
+ <div id="like-rotator-{{$id}}" class="photo-like-rotator pull-right"></div>
+ {{/if}}
+ <div class="clear"></div>
</div>
+</div>
- {{$comments}}
-
- {{if $commentbox}}
- <div class="wall-item-comment-wrapper{{if $comments}} wall-item-comment-wrapper-wc{{/if}}" >
- {{$commentbox}}
- </div>
- {{/if}}
-
-
- <div class="clear"></div>
+{{$comments}}
+{{if $commentbox}}
+<div class="wall-item-comment-wrapper{{if $comments}} wall-item-comment-wrapper-wc{{/if}}" >
+ {{$commentbox}}
</div>
+{{/if}}
+
+<div class="clear"></div>
{{$paginate}}
diff --git a/view/tpl/photos_recent.tpl b/view/tpl/photos_recent.tpl
index 91b088c93..7727abcea 100755
--- a/view/tpl/photos_recent.tpl
+++ b/view/tpl/photos_recent.tpl
@@ -1,10 +1,11 @@
<div class="section-title-wrapper">
{{if $can_post}}
- <a class="btn btn-xs btn-success pull-right" href="{{$upload.1}}"><i class="icon-upload"></i>&nbsp;{{$upload.0}}</a>
+ <button class="btn btn-xs btn-success pull-right" title="{{$usage}}" onclick="openClose('photo-upload-form');"><i class="icon-upload"></i>&nbsp;{{$upload.0}}</button>
{{/if}}
<h2>{{$title}}</h2>
<div class="clear"></div>
</div>
+{{$upload_form}}
<div id="photo-album-contents" class="generic-content-wrapper">
{{foreach $photos as $photo}}
{{include file="photo_top.tpl"}}
diff --git a/view/tpl/photos_upload.tpl b/view/tpl/photos_upload.tpl
index 81d7b6dc0..6cd7e3eb9 100755
--- a/view/tpl/photos_upload.tpl
+++ b/view/tpl/photos_upload.tpl
@@ -1,44 +1,63 @@
-<div class="section-title-wrapper">
- <div id="photos-usage-message" class="pull-right">{{$usage}}</div>
- <h2>{{$pagename}}</h2>
- <div class="clear"></div>
-</div>
-
-<div class="generic-content-wrapper-styled">
-<form action="photos/{{$nickname}}" enctype="multipart/form-data" method="post" name="photos-upload-form" id="photos-upload-form">
- <input type="hidden" id="photos-upload-source" name="source" value="photos" />
- <div id="photos-upload-new-wrapper" >
- <div id="photos-upload-newalbum-div">
- <label id="photos-upload-newalbum-text" for="photos-upload-newalbum" >{{$newalbum}}</label>
- </div>
- <input id="photos-upload-newalbum" type="text" name="newalbum" />
- </div>
- <div id="photos-upload-new-end"></div>
- <div id="photos-upload-exist-wrapper">
- <div id="photos-upload-existing-album-text">{{$existalbumtext}}</div>
- {{$albumselect}}
- </div>
- <div id="photos-upload-exist-end"></div>
-
- <div id="photos-upload-noshare-div" class="photos-upload-noshare-div" >
- <input id="photos-upload-noshare" type="checkbox" name="not_visible" value="1" />
- <label id="photos-upload-noshare-text" for="photos-upload-noshare" >{{$nosharetext}}</label>
- </div>
-
-
- <div id="photos-upload-perms" class="photos-upload-perms" >
- <span id="jot-perms-icon" class="icon-{{$lockstate}}" ></span>
- <button class="btn btn-default btn-xs" data-toggle="modal" data-target="#aclModal" onclick="return false;">{{$permissions}}</button>
+<div id="photo-upload-form" class="generic-content-wrapper">
+ <div class="section-content-tools-wrapper">
+ <form action="photos/{{$nickname}}" enctype="multipart/form-data" method="post" name="photos-upload-form" id="photos-upload-form">
+ <input type="hidden" id="photos-upload-source" name="source" value="photos" />
+
+ <div class="form-group">
+ <label for="photos-upload-album">{{$newalbum_label}}</label>
+ <input type="text" class="form-control" id="photos-upload-album" name="newalbum" placeholder="{{$newalbum_placeholder}}" value="{{$selname}}" list="dl-photo-upload">
+ <datalist id="dl-photo-upload">
+ {{foreach $albums as $al}}
+ {{if $al.text}}
+ <option value="{{$al.text}}">
+ {{/if}}
+ {{/foreach}}
+ </datalist>
+ </div>
+
+ {{$aclselect}}
+
+ {{if $default}}
+ <div class="form-group">
+ <input id="photos-upload-choose" type="file" name="userfile" />
+ </div>
+ <div class="pull-right btn-group form-group">
+ <div class="btn-group" data-toggle="buttons">
+ <label class="btn btn-default btn-sm" title="{{$nosharetext}}">
+ <input class="checkbox-inline" id="photos-upload-noshare" type="checkbox" name="not_visible" value="1" /><i class="icon-ban-circle"></i>
+ </label>
+ </div>
+ <div class="btn-group">
+ {{if $lockstate}}
+ <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" onclick="return false;">
+ <i id="jot-perms-icon" class="icon-{{$lockstate}}"></i>
+ </button>
+ {{/if}}
+ <button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" name="submit" >{{$submit}}</button>
+ </div>
+
+ </div>
+ {{/if}}
+ <div class="clear"></div>
+
+ {{if $uploader}}
+ <div id="photos-upload-perms" class="btn-group pull-right">
+ <div class="btn-group" data-toggle="buttons">
+ <label class="btn btn-default btn-sm" title="{{$nosharetext}}">
+ <input class="checkbox-inline" id="photos-upload-noshare" type="checkbox" name="not_visible" value="1" /><i class="icon-ban-circle"></i>
+ </label>
+ </div>
+ {{if $lockstate}}
+ <button class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" onclick="return false;">
+ <i id="jot-perms-icon" class="icon-{{$lockstate}}"></i>
+ </button>
+ {{/if}}
+ <div class="pull-right">
+ {{$uploader}}
+ </div>
+ </div>
+ {{/if}}
+ </form>
</div>
- {{$aclselect}}
- <div id="photos-upload-perms-end"></div>
-
- <div id="photos-upload-spacer"></div>
-
- {{$uploader}}
-
- {{$default}}
-
- <div class="photos-upload-end" ></div>
-</form>
+ <div id="photos-upload-end" class="clear"></div>
</div>
diff --git a/view/tpl/posted_date_widget.tpl b/view/tpl/posted_date_widget.tpl
index 1104d61bb..6298ca0aa 100755
--- a/view/tpl/posted_date_widget.tpl
+++ b/view/tpl/posted_date_widget.tpl
@@ -1,8 +1,30 @@
+<script>
+
+function toggle_posted_date_button() {
+ if($('#posted-date-dropdown').is(':visible')) {
+ $('#posted-date-icon').removeClass('icon-caret-up');
+ $('#posted-date-icon').addClass('icon-caret-down');
+ $('#posted-date-dropdown').hide();
+ }
+ else {
+ $('#posted-date-icon').addClass('icon-caret-up');
+ $('#posted-date-icon').removeClass('icon-caret-down');
+ $('#posted-date-dropdown').show();
+ }
+}
+</script>
+
+
<div id="datebrowse-sidebar" class="widget">
<h3>{{$title}}</h3>
<script>function dateSubmit(dateurl) { window.location.href = dateurl; } </script>
<ul id="posted-date-selector" class="nav nav-pills nav-stacked">
{{foreach $dates as $y => $arr}}
+ {{if $y == $cutoff_year}}
+ </ul>
+ <div id="posted-date-dropdown" style="display: none;">
+ <ul id="posted-date-selector-drop" class="nav nav-pills nav-stacked">
+ {{/if}}
<li id="posted-date-selector-year-{{$y}}">
<a href="#" onclick="openClose('posted-date-selector-{{$y}}'); return false;">{{$y}}</a>
</li>
@@ -10,11 +32,15 @@
<ul class="posted-date-selector-months nav nav-pills nav-stacked">
{{foreach $arr as $d}}
<li>
- <a href="#" onclick="dateSubmit('{{$url}}?f=&dend={{$d.1}}&dbegin={{$d.2}}'); return false;">{{$d.0}}</a>
+ <a href="#" onclick="dateSubmit('{{$url}}?f=&dend={{$d.1}}{{if $showend}}&dbegin={{$d.2}}{{/if}}'); return false;">{{$d.0}}</a>
</li>
{{/foreach}}
</ul>
</div>
{{/foreach}}
+ {{if $cutoff}}
+ </div>
+ <button class="btn btn-default btn-sm" onclick="toggle_posted_date_button(); return false;"><i id="posted-date-icon" class="icon-caret-down"></i></button>
+ {{/if}}
</ul>
</div>
diff --git a/view/tpl/profile_advanced.tpl b/view/tpl/profile_advanced.tpl
index aa169e6c0..1f99bf1ad 100755
--- a/view/tpl/profile_advanced.tpl
+++ b/view/tpl/profile_advanced.tpl
@@ -1,233 +1,229 @@
-<div id="profile-content-wrapper" class="generic-content-wrapper-styled">
-<h2>{{$title}}</h2>
-
-{{if $profile.canlike || $profile.like_count}}
-<div id="profile-like-wrapper">
-{{if $profile.canlike}}
- <button type="button" class="btn btn-default btn-sm" onclick="doprofilelike('profile/' + '{{$profile.profile_guid}}','like'); return false;" title="{{$profile.likethis}}" >
- <i class="icon-thumbs-up-alt" title="{{$profile.likethis}}"></i>
- </button>
-{{/if}}
-
-
-{{if $profile.like_count}}
-<div class="btn-group">
-<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" id="profile-like">{{$profile.like_count}} {{$profile.like_button_label}}</button>
-{{if $profile.likers}}
-<ul class="dropdown-menu" role="menu" aria-labelledby="profile-like">{{foreach $profile.likers as $liker}}<li role="presentation"><a href="{{$liker.url}}">{{$liker.name}}</a></li>{{/foreach}}</ul>
-{{/if}}
-</div>
-{{/if}}
-</div>
-{{/if}}
-
-<dl id="aprofile-fullname" class="aprofile">
- <dt>{{$profile.fullname.0}}</dt>
- <dd>{{$profile.fullname.1}}</dd>
-</dl>
-
-{{if $profile.gender}}
-<dl id="aprofile-gender" class="aprofile">
- <dt>{{$profile.gender.0}}</dt>
- <dd>{{$profile.gender.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.birthday}}
-<dl id="aprofile-birthday" class="aprofile">
- <dt>{{$profile.birthday.0}}</dt>
- <dd>{{$profile.birthday.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.age}}
-<dl id="aprofile-age" class="aprofile">
- <dt>{{$profile.age.0}}</dt>
- <dd>{{$profile.age.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.marital}}
-<dl id="aprofile-marital" class="aprofile">
- <dt><span class="heart">&hearts;</span> {{$profile.marital.0}}</dt>
- <dd>{{$profile.marital.1}}{{if $profile.marital.with}} ({{$profile.marital.with}}){{/if}}{{if $profile.howlong}} {{$profile.howlong}}{{/if}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.sexual}}
-<dl id="aprofile-sexual" class="aprofile">
- <dt>{{$profile.sexual.0}}</dt>
- <dd>{{$profile.sexual.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.keywords}}
-<dl id="aprofile-tags" class="aprofile">
- <dt>{{$profile.keywords.0}}</dt>
- <dd>{{$profile.keywords.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.homepage}}
-<dl id="aprofile-homepage" class="aprofile">
- <dt>{{$profile.homepage.0}}</dt>
- <dd>{{$profile.homepage.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.hometown}}
-<dl id="aprofile-hometown" class="aprofile">
- <dt>{{$profile.hometown.0}}</dt>
- <dd>{{$profile.hometown.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.politic}}
-<dl id="aprofile-politic" class="aprofile">
- <dt>{{$profile.politic.0}}</dt>
- <dd>{{$profile.politic.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.religion}}
-<dl id="aprofile-religion" class="aprofile">
- <dt>{{$profile.religion.0}}</dt>
- <dd>{{$profile.religion.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.about}}
-<dl id="aprofile-about" class="aprofile">
- <dt>{{$profile.about.0}}</dt>
- <dd>{{$profile.about.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.interest}}
-<dl id="aprofile-interest" class="aprofile">
- <dt>{{$profile.interest.0}}</dt>
- <dd>{{$profile.interest.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.likes}}
-<dl id="aprofile-likes" class="aprofile">
- <dt>{{$profile.likes.0}}</dt>
- <dd>{{$profile.likes.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.dislikes}}
-<dl id="aprofile-dislikes" class="aprofile">
- <dt>{{$profile.dislikes.0}}</dt>
- <dd>{{$profile.dislikes.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.contact}}
-<dl id="aprofile-contact" class="aprofile">
- <dt>{{$profile.contact.0}}</dt>
- <dd>{{$profile.contact.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.channels}}
-<dl id="aprofile-channels" class="aprofile">
- <dt>{{$profile.channels.0}}</dt>
- <dd>{{$profile.channels.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.music}}
-<dl id="aprofile-music" class="aprofile">
- <dt>{{$profile.music.0}}</dt>
- <dd>{{$profile.music.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.book}}
-<dl id="aprofile-book" class="aprofile">
- <dt>{{$profile.book.0}}</dt>
- <dd>{{$profile.book.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.tv}}
-<dl id="aprofile-tv" class="aprofile">
- <dt>{{$profile.tv.0}}</dt>
- <dd>{{$profile.tv.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.film}}
-<dl id="aprofile-film" class="aprofile">
- <dt>{{$profile.film.0}}</dt>
- <dd>{{$profile.film.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.romance}}
-<dl id="aprofile-romance" class="aprofile">
- <dt>{{$profile.romance.0}}</dt>
- <dd>{{$profile.romance.1}}</dd>
-</dl>
-{{/if}}
-
-
-{{if $profile.work}}
-<dl id="aprofile-work" class="aprofile">
- <dt>{{$profile.work.0}}</dt>
- <dd>{{$profile.work.1}}</dd>
-</dl>
-{{/if}}
-
-{{if $profile.education}}
-<dl id="aprofile-education" class="aprofile">
- <dt>{{$profile.education.0}}</dt>
- <dd>{{$profile.education.1}}</dd>
-</dl>
-{{/if}}
-
-{{foreach $profile.extra_fields as $f}}
-{{if $profile.$f}}
-<dl id="aprofile-{{$f}}" class="aprofile">
- <dt>{{$profile.$f.0}}</dt>
- <dd>{{$profile.$f.1}}</dd>
-</dl>
-{{/if}}
-{{/foreach}}
-
-
-{{if $things}}
-{{foreach $things as $key => $items}}
-<b>{{$profile.fullname.1}} {{$key}}</b>
-<ul class="profile-thing-list">
-{{foreach $items as $item}}
-<li>{{if $item.img}}<img src="{{$item.img}}" width="100" height="100" alt="{{$item.term}}" />{{/if}}
-<a href="{{$item.url}}" >{{$item.term}}</a>
-{{if $profile.canlike}}<br />
-<button type="button" class="btn btn-default btn-sm" onclick="doprofilelike('thing/' + '{{$item.term_hash}}','like'); return false;" title="{{$likethis}}" >
-<i class="icon-thumbs-up-alt" title="{{$likethis}}"></i>
-</button>
-{{/if}}
-{{if $item.like_count}}
-<div class="btn-group">
-<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" id="thing-like-{{$item.term_hash}}">{{$item.like_count}} {{$item.like_label}}</button>
-{{if $item.likes}}
-<ul class="dropdown-menu" role="menu" aria-labelledby="thing-like-{{$item.term_hash}}">{{foreach $item.likes as $liker}}<li role="presentation"><a href="{{$liker.xchan_url}}">{{$liker.xchan_name}}</a></li>{{/foreach}}</ul>
-{{/if}}
-</div>
-{{/if}}
-</li>
-{{/foreach}}
-</ul>
-<div class="clear"></div>
-{{/foreach}}
-{{/if}}
-
+<div id="profile-content-wrapper" class="generic-content-wrapper">
+ <div class="section-title-wrapper">
+ <div class="pull-right dropdown">
+ {{if $profile.like_count}}
+ <button type="button" class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown" id="profile-like">{{$profile.like_count}} {{$profile.like_button_label}}</button>
+ {{if $profile.likers}}
+ <ul class="dropdown-menu" role="menu" aria-labelledby="profile-like">{{foreach $profile.likers as $liker}}<li role="presentation"><a href="{{$liker.url}}">{{$liker.name}}</a></li>{{/foreach}}</ul>
+ {{/if}}
+ {{/if}}
+ {{if $profile.canlike}}
+ <button type="button" class="btn btn-success btn-xs" onclick="doprofilelike('profile/' + '{{$profile.profile_guid}}','like'); return false;" title="{{$profile.likethis}}" >
+ <i class="icon-thumbs-up-alt" title="{{$profile.likethis}}"></i>
+ </button>
+ {{/if}}
+ </div>
+ <h2>{{$title}}</h2>
+ <div class="clear"></div>
+ </div>
+ <div class="section-content-wrapper">
+ <dl id="aprofile-fullname" class="aprofile">
+ <dt>{{$profile.fullname.0}}</dt>
+ <dd>{{$profile.fullname.1}}</dd>
+ </dl>
+
+ {{if $profile.gender}}
+ <dl id="aprofile-gender" class="aprofile">
+ <dt>{{$profile.gender.0}}</dt>
+ <dd>{{$profile.gender.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.birthday}}
+ <dl id="aprofile-birthday" class="aprofile">
+ <dt>{{$profile.birthday.0}}</dt>
+ <dd>{{$profile.birthday.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.age}}
+ <dl id="aprofile-age" class="aprofile">
+ <dt>{{$profile.age.0}}</dt>
+ <dd>{{$profile.age.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.marital}}
+ <dl id="aprofile-marital" class="aprofile">
+ <dt><span class="heart">&hearts;</span> {{$profile.marital.0}}</dt>
+ <dd>{{$profile.marital.1}}{{if $profile.marital.with}} ({{$profile.marital.with}}){{/if}}{{if $profile.howlong}} {{$profile.howlong}}{{/if}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.sexual}}
+ <dl id="aprofile-sexual" class="aprofile">
+ <dt>{{$profile.sexual.0}}</dt>
+ <dd>{{$profile.sexual.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.keywords}}
+ <dl id="aprofile-tags" class="aprofile">
+ <dt>{{$profile.keywords.0}}</dt>
+ <dd>{{$profile.keywords.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.homepage}}
+ <dl id="aprofile-homepage" class="aprofile">
+ <dt>{{$profile.homepage.0}}</dt>
+ <dd>{{$profile.homepage.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.hometown}}
+ <dl id="aprofile-hometown" class="aprofile">
+ <dt>{{$profile.hometown.0}}</dt>
+ <dd>{{$profile.hometown.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.politic}}
+ <dl id="aprofile-politic" class="aprofile">
+ <dt>{{$profile.politic.0}}</dt>
+ <dd>{{$profile.politic.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.religion}}
+ <dl id="aprofile-religion" class="aprofile">
+ <dt>{{$profile.religion.0}}</dt>
+ <dd>{{$profile.religion.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.about}}
+ <dl id="aprofile-about" class="aprofile">
+ <dt>{{$profile.about.0}}</dt>
+ <dd>{{$profile.about.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.interest}}
+ <dl id="aprofile-interest" class="aprofile">
+ <dt>{{$profile.interest.0}}</dt>
+ <dd>{{$profile.interest.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.likes}}
+ <dl id="aprofile-likes" class="aprofile">
+ <dt>{{$profile.likes.0}}</dt>
+ <dd>{{$profile.likes.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.dislikes}}
+ <dl id="aprofile-dislikes" class="aprofile">
+ <dt>{{$profile.dislikes.0}}</dt>
+ <dd>{{$profile.dislikes.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.contact}}
+ <dl id="aprofile-contact" class="aprofile">
+ <dt>{{$profile.contact.0}}</dt>
+ <dd>{{$profile.contact.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.channels}}
+ <dl id="aprofile-channels" class="aprofile">
+ <dt>{{$profile.channels.0}}</dt>
+ <dd>{{$profile.channels.1}}</dd>
+ </dl>
+ {{/if}}
+
+
+ {{if $profile.music}}
+ <dl id="aprofile-music" class="aprofile">
+ <dt>{{$profile.music.0}}</dt>
+ <dd>{{$profile.music.1}}</dd>
+ </dl>
+ {{/if}}
+
+
+ {{if $profile.book}}
+ <dl id="aprofile-book" class="aprofile">
+ <dt>{{$profile.book.0}}</dt>
+ <dd>{{$profile.book.1}}</dd>
+ </dl>
+ {{/if}}
+
+
+ {{if $profile.tv}}
+ <dl id="aprofile-tv" class="aprofile">
+ <dt>{{$profile.tv.0}}</dt>
+ <dd>{{$profile.tv.1}}</dd>
+ </dl>
+ {{/if}}
+
+
+ {{if $profile.film}}
+ <dl id="aprofile-film" class="aprofile">
+ <dt>{{$profile.film.0}}</dt>
+ <dd>{{$profile.film.1}}</dd>
+ </dl>
+ {{/if}}
+
+
+ {{if $profile.romance}}
+ <dl id="aprofile-romance" class="aprofile">
+ <dt>{{$profile.romance.0}}</dt>
+ <dd>{{$profile.romance.1}}</dd>
+ </dl>
+ {{/if}}
+
+
+ {{if $profile.work}}
+ <dl id="aprofile-work" class="aprofile">
+ <dt>{{$profile.work.0}}</dt>
+ <dd>{{$profile.work.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{if $profile.education}}
+ <dl id="aprofile-education" class="aprofile">
+ <dt>{{$profile.education.0}}</dt>
+ <dd>{{$profile.education.1}}</dd>
+ </dl>
+ {{/if}}
+
+ {{foreach $profile.extra_fields as $f}}
+ {{if $profile.$f}}
+ <dl id="aprofile-{{$f}}" class="aprofile">
+ <dt>{{$profile.$f.0}}</dt>
+ <dd>{{$profile.$f.1}}</dd>
+ </dl>
+ {{/if}}
+ {{/foreach}}
+
+
+ {{if $things}}
+ {{foreach $things as $key => $items}}
+ <b>{{$profile.fullname.1}} {{$key}}</b>
+ <ul class="profile-thing-list">
+ {{foreach $items as $item}}
+ <li>{{if $item.img}}<img src="{{$item.img}}" width="100" height="100" alt="{{$item.term}}" />{{/if}}
+ <a href="{{$item.url}}" >{{$item.term}}</a>
+ {{if $profile.canlike}}<br />
+ <button type="button" class="btn btn-default btn-sm" onclick="doprofilelike('thing/' + '{{$item.term_hash}}','like'); return false;" title="{{$likethis}}" >
+ <i class="icon-thumbs-up-alt" title="{{$likethis}}"></i>
+ </button>
+ {{/if}}
+ {{if $item.like_count}}
+ <div class="btn-group">
+ <button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" id="thing-like-{{$item.term_hash}}">{{$item.like_count}} {{$item.like_label}}</button>
+ {{if $item.likes}}
+ <ul class="dropdown-menu" role="menu" aria-labelledby="thing-like-{{$item.term_hash}}">{{foreach $item.likes as $liker}}<li role="presentation"><a href="{{$liker.xchan_url}}">{{$liker.xchan_name}}</a></li>{{/foreach}}</ul>
+ {{/if}}
+ </div>
+ {{/if}}
+ </li>
+ {{/foreach}}
+ </ul>
+ <div class="clear"></div>
+ {{/foreach}}
+ {{/if}}
+ </div>
</div>
diff --git a/view/tpl/profile_hide_friends.tpl b/view/tpl/profile_hide_friends.tpl
new file mode 100644
index 000000000..4ed6782bb
--- /dev/null
+++ b/view/tpl/profile_hide_friends.tpl
@@ -0,0 +1,20 @@
+{{include file="field_checkbox.tpl"}}
+
+{{*
+<p id="hide-friends-text">
+{{$desc}}
+</p>
+ <div id="hide-friends-yes-wrapper">
+ <label id="hide-friends-yes-label" for="hide-friends-yes">{{$yes_str}}</label>
+ <input type="radio" name="hide-friends" id="hide-friends-yes" {{$yes_selected}} value="1" />
+
+ <div id="hide-friends-break" ></div>
+ </div>
+
+ <div id="hide-friends-no-wrapper">
+ <label id="hide-friends-no-label" for="hide-friends-no">{{$no_str}}</label>
+ <input type="radio" name="hide-friends" id="hide-friends-no" {{$no_selected}} value="0" />
+
+ <div id="hide-friends-end"></div>
+ </div>
+*}}
diff --git a/view/tpl/profile_vcard.tpl b/view/tpl/profile_vcard.tpl
index 3c83cd685..6904c2fec 100755
--- a/view/tpl/profile_vcard.tpl
+++ b/view/tpl/profile_vcard.tpl
@@ -41,7 +41,7 @@
{{if $marital}}<dl class="marital"><dt class="marital-label"><span class="heart">&hearts;</span>{{$marital}}</dt><dd class="marital-text">{{$profile.marital}}</dd></dl>{{/if}}
- {{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url"><a href="{{$profile.homepage}}" >{{$profile.homepage}}</a></dd></dl>{{/if}}
+ {{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url">{{$profile.homepage}}</dd></dl>{{/if}}
{{if $diaspora}}
{{include file="diaspora_vcard.tpl"}}
diff --git a/view/tpl/prv_message.tpl b/view/tpl/prv_message.tpl
index 709943541..c6f393aa4 100755
--- a/view/tpl/prv_message.tpl
+++ b/view/tpl/prv_message.tpl
@@ -34,21 +34,21 @@
<i id="prvmail-attach" class="icon-paper-clip jot-icons" title="{{$attach}}"></i>
</button>
- <button id="prvmail-link-wrapper" class="btn btn-default btn-sm" >
- <i id="prvmail-link" class="icon-link jot-icons" title="{{$insert}}" onclick="jotGetLink(); return false;"></i>
+ <button id="prvmail-link-wrapper" class="btn btn-default btn-sm" onclick="prvmailJotGetLink(); return false;" >
+ <i id="prvmail-link" class="icon-link jot-icons" title="{{$insert}}" ></i>
</button>
{{if $feature_expire}}
- <button id="prvmail-expire-wrapper" class="btn btn-default btn-sm" >
- <i id="prvmail-expires" class="icon-eraser jot-icons" title="{{$expires}}" onclick="prvmailGetExpiry();return false;"></i>
+ <button id="prvmail-expire-wrapper" class="btn btn-default btn-sm" onclick="prvmailGetExpiry();return false;" >
+ <i id="prvmail-expires" class="icon-eraser jot-icons" title="{{$expires}}" ></i>
</button>
{{/if}}
{{if $feature_encrypt}}
- <button id="prvmail-encrypt-wrapper" class="btn btn-default btn-sm" >
- <i id="prvmail-encrypt" class="icon-key jot-icons" title="{{$encrypt}}" onclick="red_encrypt('{{$cipher}}','#prvmail-text',$('#prvmail-text').val());return false;"></i>
+ <button id="prvmail-encrypt-wrapper" class="btn btn-default btn-sm" onclick="red_encrypt('{{$cipher}}','#prvmail-text',$('#prvmail-text').val());return false;">
+ <i id="prvmail-encrypt" class="icon-key jot-icons" title="{{$encrypt}}" ></i>
</button>
{{/if}}
<div id="prvmail-rotator-wrapper" >
- <img id="prvmail-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" />
+ <div id="prvmail-rotator"></div>
</div>
</div>
<div id="prvmail-end"></div>
diff --git a/view/tpl/safesearch.tpl b/view/tpl/safesearch.tpl
index e0b2ab538..58ce22741 100644
--- a/view/tpl/safesearch.tpl
+++ b/view/tpl/safesearch.tpl
@@ -1,4 +1,6 @@
<div id="directory_safemode" class="widget">
<h3>{{$safemode}}</h3>
-<a href="toggle_safesearch">{{$toggle}}</a>
+<ul class="nav nav-pills nav-stacked">
+ <li><a href="toggle_safesearch">{{$toggle}}</a></li>
+</ul>
</div>
diff --git a/view/tpl/saved_searches.tpl b/view/tpl/saved_searches.tpl
index ee797ea9d..73987f192 100644
--- a/view/tpl/saved_searches.tpl
+++ b/view/tpl/saved_searches.tpl
@@ -1,4 +1,4 @@
-<div class="widget">
+<div class="widget saved-search-widget">
<h3 id="search">{{$title}}</h3>
{{$searchbox}}
diff --git a/view/tpl/saved_searches_aside.tpl b/view/tpl/saved_searches_aside.tpl
deleted file mode 100755
index e0983f0dd..000000000
--- a/view/tpl/saved_searches_aside.tpl
+++ /dev/null
@@ -1,14 +0,0 @@
-<div class="widget" id="saved-search-list">
- <h3 id="search">{{$title}}</h3>
- {{$searchbox}}
-
- <ul id="saved-search-ul" class="nav nav-pills nav-stacked" >
- {{foreach $saved as $search}}
- <li id="search-term-{{$search.id}}" class="saved-search-li clear">
- <a title="{{$search.delete}}" class="pull-right" onclick="return confirmDelete();" id="drop-saved-search-term-{{$search.id}}" href="network/?f=&amp;remove=1&amp;search={{$search.encodedterm}}"><i id="dropicon-saved-search-term-{{$search.id}}" class="icon-remove drop-icons iconspacer savedsearchdrop saved-search-icon" ></i></a>
- <a id="saved-search-term-{{$search.id}}" class="savedsearchterm{{if $search.selected}} search-selected{{/if}}" href="network/?f=&amp;search={{$search.encodedterm}}">{{$search.displayterm}}</a>
- </li>
- {{/foreach}}
- </ul>
- <div class="clear"></div>
-</div>
diff --git a/view/tpl/search_item.tpl b/view/tpl/search_item.tpl
index fe683b91a..014cf4192 100755
--- a/view/tpl/search_item.tpl
+++ b/view/tpl/search_item.tpl
@@ -20,7 +20,7 @@
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}}&nbsp;{{$item.via}}&nbsp;<a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}
</div>
<div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">
- {{if $item.verified}}<i class="icon-ok" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="icon-remove item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="icon-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
+ {{if $item.verified}}<i class="icon-ok item-verified" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="icon-remove item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="icon-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
</div>
<div class="wall-item-content" id="wall-item-content-{{$item.id}}">
<div class="wall-item-title-end"></div>
diff --git a/view/tpl/searchbox.tpl b/view/tpl/searchbox.tpl
index 02b2d4a50..f4301f0f5 100644
--- a/view/tpl/searchbox.tpl
+++ b/view/tpl/searchbox.tpl
@@ -1,7 +1,7 @@
<form action="{{$action_url}}" method="get" >
<input type="hidden" name="f" value="" />
<div id="{{$id}}" class="input-group">
- <input type="text" name="search" id="search-text" value="{{$s}}" onclick="this.submit();" />
+ <input class="widget-input" type="text" name="search" id="search-text" value="{{$s}}" onclick="this.submit();" />
<div class="input-group-btn">
<button type="submit" name="submit" class="btn btn-default btn-sm" id="search-submit" value="{{$search_label}}"><i class="icon-search"></i></button>
{{if $savedsearch}}
diff --git a/view/tpl/select_timezone.tpl b/view/tpl/select_timezone.tpl
new file mode 100644
index 000000000..2820a54f4
--- /dev/null
+++ b/view/tpl/select_timezone.tpl
@@ -0,0 +1,11 @@
+{{* TODO: Make id configurabel *}}
+<select id='timezone_select' name='timezone'>
+{{foreach $continents as $continent => $cities}}
+<optgroup label="{{$continent}}">
+{{foreach $cities as $city => $value}}
+<option value='{{$value}}' {{if $value == $selected}}selected='selected'{{/if}}>{{$city}}</option>
+{{/foreach}}
+</optgroup>
+{{/foreach}}
+</select>
+
diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl
index 4c1b8eb8f..894f0fe83 100755
--- a/view/tpl/settings.tpl
+++ b/view/tpl/settings.tpl
@@ -9,7 +9,7 @@
<h3 class="settings-heading">{{$h_basic}}</h3>
{{include file="field_input.tpl" field=$username}}
-{{include file="field_custom.tpl" field=$timezone}}
+{{include file="field_select_grouped.tpl" field=$timezone}}
{{include file="field_input.tpl" field=$defloc}}
{{include file="field_checkbox.tpl" field=$allowloc}}
@@ -22,10 +22,7 @@
<h3 class="settings-heading">{{$h_prv}}</h3>
-<div class="field custom">
-<label for="privacy-role-select">{{$role_lbl}}</label>
-{{$role_select}}
-</div>
+{{include file="field_select_grouped.tpl" field=$role}}
<div id="advanced-perm" style="display:{{if $permissions_set}}none{{else}}block{{/if}};">
{{include file="field_checkbox.tpl" field=$hide_presence}}
@@ -62,7 +59,7 @@
{{$suggestme}}
-{{include file="field_yesno.tpl" field=$blocktags}}
+{{include file="field_checkbox.tpl" field=$blocktags}}
{{include file="field_input.tpl" field=$expire}}
@@ -100,6 +97,29 @@
{{include file="field_intcheckbox.tpl" field=$notify8}}
</div>
+<div id="settings-vnotify-desc">{{$lbl_vnot}}</div>
+
+<div class="group">
+{{include file="field_intcheckbox.tpl" field=$vnotify1}}
+{{include file="field_intcheckbox.tpl" field=$vnotify2}}
+{{include file="field_intcheckbox.tpl" field=$vnotify3}}
+{{include file="field_intcheckbox.tpl" field=$vnotify4}}
+{{include file="field_intcheckbox.tpl" field=$vnotify5}}
+{{include file="field_intcheckbox.tpl" field=$vnotify6}}
+{{include file="field_intcheckbox.tpl" field=$vnotify10}}
+{{include file="field_intcheckbox.tpl" field=$vnotify7}}
+{{include file="field_intcheckbox.tpl" field=$vnotify8}}
+{{include file="field_intcheckbox.tpl" field=$vnotify9}}
+{{include file="field_intcheckbox.tpl" field=$vnotify11}}
+{{include file="field_intcheckbox.tpl" field=$always_show_in_notices}}
+
+{{*include file="field_intcheckbox.tpl" field=$vnotify11*}}
+</div>
+
+{{include file="field_input.tpl" field=$evdays}}
+
+
+
</div>
<div class="settings-submit-wrapper" >
@@ -110,6 +130,8 @@
{{if $menus}}
<h3 class="settings-heading">{{$lbl_misc}}</h3>
+
+
<div id="settings-menu-desc">{{$menu_desc}}</div>
<div class="settings-channel-menu-div">
<select name="channel_menu" class="settings-channel-menu-sel">
diff --git a/view/tpl/settings_display.tpl b/view/tpl/settings_display.tpl
index d3134ea88..8bf4dc0cc 100755
--- a/view/tpl/settings_display.tpl
+++ b/view/tpl/settings_display.tpl
@@ -11,8 +11,12 @@
{{/if}}
{{include file="field_input.tpl" field=$ajaxint}}
{{include file="field_input.tpl" field=$itemspage}}
+{{include file="field_input.tpl" field=$channel_divmore_height}}
+{{include file="field_input.tpl" field=$network_divmore_height}}
{{include file="field_checkbox.tpl" field=$nosmile}}
{{include file="field_checkbox.tpl" field=$title_tosource}}
+{{include file="field_checkbox.tpl" field=$channel_list_mode}}
+{{include file="field_checkbox.tpl" field=$network_list_mode}}
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" />
diff --git a/view/tpl/settings_features.tpl b/view/tpl/settings_features.tpl
index 3291162fa..3ede4c76d 100755
--- a/view/tpl/settings_features.tpl
+++ b/view/tpl/settings_features.tpl
@@ -9,7 +9,7 @@
<h3 class="settings-heading">{{$f.0}}</h3>
{{foreach $f.1 as $fcat}}
- {{include file="{{$field_yesno}}" field=$fcat}}
+ {{include file="field_checkbox.tpl" field=$fcat}}
{{/foreach}}
{{/foreach}}
diff --git a/view/tpl/siteinfo.tpl b/view/tpl/siteinfo.tpl
index a6105227e..3b0c8841c 100755
--- a/view/tpl/siteinfo.tpl
+++ b/view/tpl/siteinfo.tpl
@@ -5,7 +5,10 @@
<p>{{$version}}{{if $commit}}+{{$commit}}{{/if}}</p>
{{/if}}
{{if $tag}}
-<p>Tag: {{$tag}}</p>
+<p>{{$tag_txt}} {{$tag}}</p>
+{{/if}}
+{{if $polled}}
+<p>{{$polled}} {{$lastpoll}}</p>
{{/if}}
<p>{{$web_location}}</p>
<p>{{$visit}}</p>
diff --git a/view/tpl/smarty3/README b/view/tpl/smarty3/README
deleted file mode 100644
index 78ff8d9a1..000000000
--- a/view/tpl/smarty3/README
+++ /dev/null
@@ -1,4 +0,0 @@
-view/tpl/smarty3
-
-This directory must exist and be writeable by the webserver in order to store compiled template files, which are created dynamically. Please see the installation instructions.
-
diff --git a/view/tpl/suggest_widget.tpl b/view/tpl/suggest_widget.tpl
index eba8b496e..7b9afa668 100644
--- a/view/tpl/suggest_widget.tpl
+++ b/view/tpl/suggest_widget.tpl
@@ -1,4 +1,4 @@
-<div class="widget">
+<div class="widget suggestions-widget">
<h3>{{$title}}</h3>
{{if $entries}}
{{foreach $entries as $child}}
@@ -7,4 +7,4 @@
{{/if}}
<div class="clear"></div>
<div class="suggest-widget-more"><a href="suggest">{{$more}}</a></div>
-</div> \ No newline at end of file
+</div>
diff --git a/view/tpl/suggestions.tpl b/view/tpl/suggestions.tpl
deleted file mode 100755
index 2d9cba325..000000000
--- a/view/tpl/suggestions.tpl
+++ /dev/null
@@ -1,20 +0,0 @@
-<div class="intro-wrapper" >
-
-<p class="intro-desc">{{$str_notifytype}} {{$notify_type}}</p>
-<div class="intro-madeby">{{$madeby}}</div>
-<div class="intro-fullname" >{{$fullname}}</div>
-<a class="intro-url-link" href="{{$url}}" ><img class="intro-photo lframe" src="{{$photo}}" width="175" height=175" title="{{$fullname}}" alt="{{$fullname}}" /></a>
-<div class="intro-note" >{{$note}}</div>
-<div class="intro-wrapper-end"></div>
-<form class="intro-form" action="notifications/{{$intro_id}}" method="post">
-<input class="intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}" />
-<input class="intro-submit-discard" type="submit" name="submit" value="{{$discard}}" />
-</form>
-<div class="intro-form-end"></div>
-
-<form class="intro-approve-form" action="{{$request}}" method="get">
-{{include file="field_checkbox.tpl" field=$hidden}}
-<input class="intro-submit-approve" type="submit" name="submit" value="{{$approve}}" />
-</form>
-</div>
-<div class="intro-end"></div>
diff --git a/view/tpl/uexport.tpl b/view/tpl/uexport.tpl
new file mode 100644
index 000000000..5de995ba0
--- /dev/null
+++ b/view/tpl/uexport.tpl
@@ -0,0 +1,9 @@
+<div class="generic-content-wrapper">
+<h1>{{$title}}</h1>
+<b><a href="uexport/basic">{{$basictitle}}</a></b></p>
+<p>{{$basic}}</p>
+
+<p><b><a href="uexport/complete">{{$fulltitle}}</a></b></p>
+<p>{{$full}}</p>
+
+</div>